Да, это снова статья про нейросети, но подождите перелистывать, этого нет на просторах русскоязычного гугла (по крайне мере на первой странице).
Если кратко, то мои проекты связаны с разработкой обучающих программ под различные бизнес запросы (например, масштабирование), подробнее про проекты тут. На одном из таких проектов, появилась следующая задача:
Нужно создать персонажа с разными выражениями лица
Ну конечно, сразу же идем в одну из доступных нейросетей, к счастью, их сейчас развелось много. И после первого промта понимаем, что изображение каждый раз генерируются случайным образом. В целом, ничего удивительного, но изначально эта умная мысль мою голову не посетила.
Окей, вспоминаем про такую штуку, как сид, если очень простым языком - это случайное число используемое при генерации изображения. Указав его в новом промте можно получить практически идентичное изображение.
К сожалению, сид не помог, изображение действительно получается идентичным, но при добавлении эмоций оно либо не меняется совсем, либо становится совершенно другим.
Думаем дальше, и тут вспоминаем про то, что можно отправить ссылку на уже сгенерированное изображение и прописать обновленный промт. Но результат получился, мягко говоря, неожиданный …
Ответа на вопрос "почему так вышло?" я не нашел, хотя узнать было бы интересно.
И вот, прошло уже несколько часов за экспериментами, а все что было найдено никак не решало задачу. Когда оказываешься в подобной ситуации, есть только один выход:
Google it
Чего не хватило моему промту?
Как я уже сказал, на просторах русскоязычных интеренетов, ответа не нашлось. Поэтому пришлось обращаться к коллегам за бугром и этот канал на YT помог понять чего не хватало моему промту. От получения приемлемо-стабильного результата меня отделяли два важных момента:
Нужно использовать более одного изображения. Так модель собирает вашего персонажа из нескольких +- похожих изображений за счет чего повышается стабильность выдаваемого результата.
Нужно использовать тот же промт, который использовался для создания изначального изображения.
Сейчас перейдем к примерам и все станет понятно.
Инструкция создания персонажа
Процесс состоит из двух шагов:
Шаг 1. Генерация 2-3 изображений персонажа, которые +- похожи друг на друга, это можно назвать датасетом.
Шаг 2. Использование полученных изображений для генерации приемлемо-стабильного персонажа с различными выражениями лица.
Шаг 1. Подготовка датасета изображений
Для генерации первого изображения датасета, я использовал следующий промт:
photo of a regular 28 year old guy with short haircut, red hair colour, curly hair, blue eyes, dressed in a gray t-shirt, ultra realistic, face detailed
Для нашего проекта мы выбрали изображение №2. Теперь нужно сгенерировать еще хотя бы одно изображение с +- похожим лицом. Для этого, необходимо нажать кнопку повторной генерации "