Описание идеи
Идея проекта заключается в дообучении генеративной модели на изображениях собаки, чтобы затем получать новые реалистичные изображения этого же объекта в разных визуальных условиях с помощью текстовых запросов. Основная задача состояла не просто в том, чтобы воспроизвести похожую собаку, а в том, чтобы сделать образ управляемым через промпт. Для этого в проекте был использован специальный обученный токен DOGTOK, связанный с образом собаки из обучающего набора.
Итоговая цель проекта — показать, что после дообучения модель способна сохранять ключевые свойства объекта и переносить его в новые сцены, отличающиеся по окружению, освещению и дополнительным деталям. Таким образом, проект демонстрирует не только сам факт генерации, но и принцип персонализации модели с помощью LoRA.
Исходные изображения для обучения
В качестве обучающего набора использовались фотографии собак из открытого датасета. При отборе изображений учитывались реалистичность, достаточное качество и разнообразие ракурсов. В датасет вошли как крупные планы, так и более общие кадры, снятые в разных условиях — на улице, на траве, в нейтральной обстановке. Это позволило модели усвоить не один конкретный кадр, а совокупность признаков объекта: форму тела, строение морды, фактуру шерсти и особенности фотографического изображения собаки.
Для обучения ко всем изображениям использовалась единая подпись: a photo of DOGTOK dog. Такая стратегия концентрирует внимание модели прежде всего на самом объекте, а не на различиях между отдельными сценами. С одной стороны, это упрощает обучение и делает его более концептуально чистым; с другой стороны, модель получает меньше контекстной информации о каждом конкретном изображении. Для учебного проекта такой подход является оправданным, так как позволяет наглядно показать принцип работы пользовательского токена и LoRA-дообучения.
Результирующая серия изображений
Итоговая серия изображений представляет собой набор тестовых генераций, в которых один и тот же обученный токен DOGTOK помещается в разные сцены. В промптах были заданы следующие условия: собака в парке при естественном освещении; собака в студии с мягким светом; собака на городской улице в документальной манере; собака на траве с акцентом на детализацию шерсти; отдельный тест с добавлением аксессуара — красного шарфа. Такой набор запросов выбран не случайно: он позволяет проверить, насколько модель способна переносить усвоенный образ собаки в разные среды и визуальные режимы, сохраняя при этом узнаваемость объекта.
Комментарий к итоговой серии изображений
Итоговая серия демонстрирует вариативность одного обученного объекта в нескольких фотографических контекстах. Это напрямую связано с исходной концепцией проекта: обучение должно было не просто воспроизводить знакомый тип изображения, а делать образ управляемым с помощью текста. Иными словами, после дообучения пользователь получает не «собаку вообще», а реалистические сцены, в которых сохраняются ключевые свойства выученного объекта.
С технической точки зрения генерация строится через DiffusionPipeline с подключёнными LoRA-весами. В качестве базовой модели использовалась stabilityai/stable-diffusion-xl-base-1.0, отдельно подключался VAE madebyollin/sdxl-vae-fp16-fix, после чего загружались сохранённые веса pytorch_lora_weights.safetensors. Это означает, что проект опирается не на полное переобучение модели, а на лёгкую адаптацию базовой SDXL под конкретную задачу. Для учебного проекта такой подход уместен, так как он экономичен по ресурсам и при этом хорошо демонстрирует сам принцип персонализации генеративной модели.
Важным элементом генерации является negative prompt:
cartoon, painting, drawing, low quality, blurry, text, watermark.
С его помощью модель дополнительно отталкивается от нежелательных визуальных признаков. Это подталкивает генерацию к реалистической фотографии и снижает вероятность мультяшности, живописности, размытости и артефактов вроде текста и водяных знаков. Такой выбор хорошо согласуется с исходным датасетом, который также состоял из фотографий, а не иллюстраций.
Использованные параметры генерации — num_inference_steps=30 и guidance_scale=7 — задают баланс между качеством и управляемостью результата. Тридцать шагов — это разумный компромисс между скоростью и степенью проработки изображения. Значение guidance_scale=7 усиливает следование текстовому запросу, но не доводит изображение до чрезмерной искусственности. Для демонстрационного проекта это удачный выбор, обеспечивающий стабильные и убедительные результаты.
Содержательно итоговую серию можно анализировать по нескольким типам вариативности:
смена пространства: парк, студия, городская улица, трава; смена освещения: естественный свет и мягкий студийный свет; смена дополнительного признака: красный шарф как новый элемент, добавляемый к уже выученному образу.
Именно эти различия и составляют основу визуального анализа. Если модель справилась успешно, то во всех изображениях должны сохраняться общие признаки собаки как объекта: анатомическая целостность, форма головы, ушей и корпуса, структура шерсти, правдоподобная посадка в кадре. При этом сами сцены не должны буквально повторять друг друга. В одном случае собака воспринимается как часть природной среды, в другом — как студийный портрет, в третьем — как элемент городской визуальной среды. Такая вариативность показывает, что модель усвоила не отдельный кадр, а более общий образ объекта.
Особое значение имеет тест с красным шарфом. Он нужен для проверки композиционной гибкости модели: насколько хорошо LoRA удерживает базовый образ собаки, когда к нему добавляется новый визуальный элемент, отсутствовавший в исходной формулировке. Если результат получается убедительным, это говорит о том, что модель способна не только воспроизводить тренировочные паттерны, но и комбинировать изученный объект с новыми деталями.
Таким образом, итоговая серия изображений показывает, как дообученная SDXL LoRA переносит обученный образ собаки в несколько новых визуальных ситуаций. Главный акцент проекта сделан не на стилизации, а на реалистической вариативности: разные сцены, разное освещение, разные условия съёмки, но один и тот же общий объект. Именно в этом заключается связь итоговой серии с первоначальной идеей проекта.
В проекте использовался ноутбук с кодом для обучения и генерации изображений. По структуре кода видно, что обучение и дальнейшая генерация результатов строятся на основе SDXL с применением LoRA. После обучения были сохранены веса pytorch_lora_weights.safetensors, которые затем подключались при генерации тестовой серии изображений.
Процесс работы можно описать следующим образом:
был подготовлен обучающий набор фотографий собак; для всех изображений использовалась единая текстовая подпись a photo of DOGTOK dog; на базе модели stabilityai/stable-diffusion-xl-base-1.0 проводилось LoRA-дообучение; для повышения качества декодирования использовался madebyollin/sdxl-vae-fp16-fix; после обучения загружались сохранённые LoRA-веса; выполнялась генерация итоговой серии по набору тестовых промптов; дополнительно использовался negative prompt для повышения фотореалистичности результата. Такой процесс показывает полный цикл проекта: от подготовки датасета и обучения пользовательского токена до проверки того, как модель переносит выученный объект в новые условия.
Использование ГенИИ в проекте
В проекте основной обученной нейросетью являлась дообученная модель SDXL с LoRA, использованная для генерации итоговой серии изображений.
Если вы использовали дополнительные генеративные ИИ-инструменты, это можно указать отдельно, например в такой формулировке:
Для подготовки текстового описания проекта, экспликации и структурирования материалов использовался ChatGPT. Для генерации изображений использовалась обученная нейросеть SDXL с подключёнными LoRA-весами.
Если же кроме обученной модели никакие другие генеративные ИИ не применялись, можно написать так:
Помимо обученной нейросети, использованной для генерации изображений, дополнительные генеративные ИИ в проекте не применялись.




