У меня есть любимая кофейня, в которую я хожу почти каждый день. Основная особенность заведения — полная диджитализация покупки кофе и десертов, а также упор на «эстетику» и визуальное наполнение карточек с напитками. Я хочу создать подобные карточки, но для десертов с использованием искусственного интеллекта и программирования на Python.
Исходники и датасет
В качестве исходного и референсного изображения я использовал серию фото мороженого со стокового сервиса pexels.com. Каждый десерт выглядит по-разному, в изображениях разные фоны и степень освещения, фильтры.


Изображения со стокового сервиса pexels

Фото со стокового сервиса pexels
В ходе подбора материала для датасета я обращал внимание на текстуру, фоны и расположение десерта внутри кадра. Таким образом в финальную подборку была добавлена серия изображений формата 1:1 в высоком разрешении.
Результат
Получилась серия изображений в высоком разрешении и с реалистичной детализацией. Основной упор был сделан на освещение объекта и его размещении внутри сцены.


Мороженое со вкусом «ваниль» — слева, мороженое со вкусом «шоколад» — справа
Каждый десерт имеет собственный фон, который демонстрирует вкус начинки. Сами ингредиенты также детализированы на высоком уровне.


Мороженое со вкусом «матча» — слева, мороженое со вкусом «манго» — справа


Мороженое со вкусом «голубика» — слева, мороженое со вкусом «карамель» — справа
Несмотря на то, что в датасете изображения мороженого в рожке, это не помешало задать новые параметры при помощи промпта и создать мороженое в стеклянном стакане.


Мороженое со вкусом «кокос» — слева, мороженое со вкусом «банан» — справа
Каждая генерация в точности реализовала первоначальную задумку. Показать десерт максимально привлекательно и аппетитно.
Промпты
Для получения подобного результата я использовал следующие промпты:
Ваниль: «a photo of minimalist product shot, vanilla ICECREAM in glass with milk, white pastel background, vanilla pods and flowers in background, soft natural light, clean composition, modern food photography»
Шоколад: «а photo of minimalist product photography, chocolate ICECREAM dessert in glass, light brown background, cocoa beans and chocolate pieces floating, soft shadows, aesthetic composition, studio lighting»
Матча: «minimalist product photography, matcha ICECREAM drink in transparent glass, light green background, matcha powder and tea leaves in background, soft shadows, modern aesthetic»
Манго: «minimalist product shot, mango ICECREAM dessert in glass, warm yellow background, mango slices floating around, clean composition, soft studio light, product card style»
Кокос: «minimalist product photography, coconut ICECREAM with milk in glass, pastel beige background, coconut pieces and flakes in background, soft shadows, fresh aesthetic»
Голубика: «minimalist product shot, blueberry ICECREAM dessert in glass, light purple background, blueberries scattered and floating, clean modern composition, soft lighting»
Карамель: «minimalist product photography, caramel ICECREAM in glass, warm cream background, caramel drizzle and cubes in background, soft shadows, high detail, commercial food styling»
Банан: «minimalist product shot, banana ICECREAM dessert in glass, pale yellow background, banana slices floating, clean minimal aesthetic, soft studio lighting»
Таким образом удалось создать коллекцию уникальных, реалистичных и детализированных изображений десерта, которые в дальнейшем можно использовать в любых целях. Сами фото хорошо отражают изначальную идею «серийности», объединены общим стилем и визуальными решениями.
Реализация
Датасет размером 28 изображений формата 1:1 в высоком разрешении от 3000×3000px.
Тех.процесс:
Собрать датасет с референсными изображениями, на основе которого будет обучена модель.
Подключить и установить библиотеки для работы с моделями (bitsandbytes, transformers, diffusers, peft), также загружаем обучающий скрипт (train_dreambooth_lora_sdxl.py).
При помощи BLIP делаем автоматическое создание подписей к изображениям.
Обучение модели LoRA на на базе Stable Diffusion XL 1.0 с использованием подготовленного датасета и описаний.
После обучения веса модели сохраняются локально и загружаются в репозиторий на Hugging Face, а страница модели создаётся автоматически.




