Премиальная генерация картинок для чайникофф
Автор: Дмитрий КостениковДорогие гуры фотошопа и творцы нейрошедевров, отложите кирпичи в сторону. Эту статью я написал для друга, который, скажем так, далёк от фотошопов, но, в силу таланта и любознательности тянется к нейротворчеству. И, сдаётся мне, немало мастеров слова пытались зайти в нейросеть, писали запрос... И получали на выходе негра-эльфа с шестью пальцами, тремя руками и автоматом в руках. Я, по причине своего врождённого милосердия и эмпатии к чужой боли, черканул кратенькую (нет) инструкцию для людей, предельно далёких от графики.
Кратенькая инструкция для обнулившихся технарей)
Предположу, что фотошоп скачан и установлен. Не бойся, всего функционала нам не понадобится.
Разберём, как сгенерить красноармейца, чтобы ни один заклёпочник не прикопался.
Кроме ФШ тебе понадобится малюсенькая программка, ЛайтШот.
Бери её тут: https://app.prntscr.com/ru/download.html
Пользоваться ей очень просто: чтобы сделать скриншот страницы, жмёшь на кнопку PrintScreen на клаве, обводишь мышкой интересующую часть и сохраняешь в папку Krasnoarmeets_Asset)) Ну или ещё куда). Да, чтобы она работала, нужно перед работой дважды клацнуть по её иконке мыхой.
Предположим, нам нужна довоенная форма, со шпалами и ромбиками.
Лицо. Какой он, наш красноармеец? Допустим, он худой.
Поза, допустим, он стоит и курит.
Идем на Пинтерест. https://ru.pinterest.com/
Если ещё не зарегистрирован, сделай это, не пожалеешь)
Набираем в поиске «Красноармеец курит». Ииии… Нифигасеньки похожего)
Ладно, нет крепостей, которые бы не взяли большевики! Мы пойдем другим путём!
Набираем: красноармеец. Ага, тут улов больше.
На Пинтерест нельзя качать фотки, и тут нам поможет Лайтшот. Скриним улов, валим в папочку.

Если понравилось несколько фоток, не сдерживайся)) Всё пригодится.
Теперь лицо. Например, набираем «лицо мужчины референс»
Среди оравы мужиков берем нужного.

Дальше. Набираю «Мужчина курит». Вот, нашёл какого-то мужика, и тащу его в папку, невзирая на сопротивление.
Вроде где-то я его раньше видел... Или нет?
Ну супер, набор ассетов готов, начнём лепить Франкенштейна.
Открываем фотошоп, создаём новый проект. Называем его «Курящий красноармеец»
Из папки со скринами тащем весь улов прямо на рабочий стол ФШ.
Получается что-то такое: 
Дальше обрати внимание на окошко Layers (слои)

У бэкграунда сразу отжимай замочек и удаляй его. Если у скриншотов на иконке есть вот этот маленький значок:

То это смарт-объект. Пока не забивай себе голову этим, просто с ним немного сложнее работать, а тебе это пока не нужно. Мы его растеризуем, т.е. превратим в кучу пикселей, и это позволит нам совершать дальнейшие непотребства над нашим бедолагой.
Левым щелчком мыши выбираем слой

Теперь щёлкаем по слою правой кнопкой и выбираем (Rasterize Layer) Растеризовать

Несите тазы, бинты, будем резать по живому.
Для резни нам потребуется инструмент Лассо.

Вот он, третий сверху. Или горячая кнопка “L”

Обводим жертву приблизительно по контуру, точность для этой работы не требуется, как и самоотречение. Щёлкаем внутри контура правой кнопкой, выбираем (Layer Via Copy) Скопировать на слой.
С остальными слоями проделываем примерно то же самое. От куряки нам потребуется рука с сигаретой, а от лица, ну собственно лицо.

Ну а теперь, особо впечатлительные авторы, накатите валерьянки. Мы будем отрезать красноармейцу руку и будёновку. Даже не знаю, что страшнее)
Режем тем же лассо, но стараемся немного поаккуратнее. Слой-донор не удаляем, он ещё понадобится.

Если выскочило похожее сообщение, всё норм, просто у тебя выбран не тот слой, какой нужен. Проверяй)
Теперь познакомимся с новым инструментом! (Object selection tool) Инструмент выделения объектов. По умолчанию он скрыт под «волшебной палочкой (magic wand), надо нажать и подержать.

Нам нужна шинель Акакия Акакиевича красноармейца

Обводим ее Selection tool. Если какие-то нужные части не выделились, как у меня воротник, зажимаем шифт и обводим деталь, она присоединится к выбору. Копируем шинель на отдельный слой. Итак, слоёв уже много, пора навести порядок. Дважды кликаем по названию слоя, переименовываем его.

Чтобы перемещать слои, выбираем первый инструмент – стрелочки, или горячую клавишу «V»
Теперь надо поработать с лицом. Можно его выбрать инструментом Object selection tool, можно лассо, а можно просто выбрать ластик, клавиша «Е» и обработать грубые края. Особой красоты не добивайся, нейронка поймёт, что имеется в виду. Размер ластика регулируется квадратными скобками на клаве.

Если гуры фотошопа с кирпичами всё-таки забрались сюда, я знаю! Знаю как делается чистовая обтравка)) Но тут о другом))

Дальше нужно убедиться, что лицо находится под шинелью и будёновкой, это важно. Про слои надо понимать, что они идут снизу вверх, и верхние перекрывают нижние. Нажав клавишу V (Move tool) перемещаем лицо примерно на место.

Как по мне, уже красота! Но если тебя не устраивают пропорции, выбрав слой «Лицо», жми CTRL+T, инструмент (Free transform) Свободная трансформация, и подгони по масштабу.

Края шинели и будёновки подработай ластиком)
Дальше, на слое с шинелью лассо выдели рукав. Кисть можно не выделять, у нас есть другая, хехе)

Рукав скопируй на слой «Рукав»
Теперь, пожалуй, самый сложный момент, но дальше всё будет проще, обещаю!

Во вкладке EDIT (Редакция) Выбираем пункт (Puppet Warp) Марионеточная трансформация.
Рукав покроется полигональной сеткой.
Вот такой.

Дальше надо втыкать булавочки – пины в места, которые не должны двигаться.
В верхнюю часть плеча. Примерно так:

Теперь втыкаем булавку в низ рукава и тащим наверх, туда, где должна оказаться рука.

Дотыкиваем булавочки, приведя рукав в соответствие с человеческой анатомией.

Закончив трансформацию, нажимаем энтер.
Любым удобным способом чистим слой с кистью, помещаем его под слой с рукавом и
масштабируем.
Остались мелочи. Избавиться от третьей руки. Её нам потом пририсует нейронка)

Идём на слой с шинелью,и стираем ластиком руку. Если рука дублирована на слое с красноармейцем, стираем ее и там.

Теперь новый, и последний на этот раз, инструмент штамп (Stamp) Горячая клавиша «S»
Он работает так: мы берем образец с соседней области и закрашиваем недостающую. Чтобы взять образец, надо зажать ALT. И потом, просто кликая ЛКМ, аккуратно, ну или как получится, закрашиваем шинель)

У меня получилось так, но в моё оправдание, я не старался.
Теперь осталось только объединить слои и сделать фон.
Под шифтом протыкай все слои, и под правой кнопкой выбери (Merge Layers) Объединить слои.

Теперь можно почистить контур красноармейца. Чтобы не усложнять, можно снова взять ластик

Выглядит стрёмно, но это технический рисунок, его никто не увидит... Хотя, стоп! Вот же блин... Ну ладно, тут же все свои! Да? Ведь да же??
Итак, я предельно грубо обтравил фигуру красноармейца. Но нейронка съест его и не подавится.
Делаем фон.
Фон Вагон.

Находим на Пинтерест подходящий вагон. Кидаем его на рабочий стол к красноармейцу.
Если он сохранился как смарт-объект, растеризуем его ПКМ.

Выбираем вагон инструментом Object Selectrion Tool. Копируем на новый слой, оригинал удаляем. Ииииии… Я тебя обманул, нам потребуется ещё один инструментик, на этот раз точно последний)))) Выбираем вагон, он должен находиться под слоем красноармейца, и применяем к нему (Perspective Warp) Перспективное искажение, или как-то так. Он находится во вкладке (Edit) Редакция. Натягиваем на вагон сетку, и применяем Enter.


Управляясь узелками на углах вагона, подгоняем его по перспективе и размеру

И отличные новости, на этом с фотошопом всё.Сохраняем картинку как ПНГ и идем в ДипСик.


Дипсик, он же DeepSeek, китайская текстовая нейронка. https://chat.deepseek.com/
Заходим, и я бы посоветовал закинуть в него текст твоего рассказа,, или хотя бы фрагмент. В принципе, это не обязательно, но так он лучше проникнется идеей иллюстрации. Понимает Дипсик только текст, картинку в него пихать бесполезно. Формируем промпт (запрос)
Например, «Мне нужна иллюстрация для моей книги. Для генерации я предоставляю свой референс, на нем изображён курящий красноармеец на фоне вагона. Следует сгенерировать картинку в снежной буре, ночью, в полумраке, лицо красноармейца освещается огоньком сигареты»

Дипсик поскрипел мозгами и выдал мне английский промпт. Отлично, он мне и нужен. Копирую, иду в квен. https://qwen.ai/home
В Квен выставляю модель Qwen3.5-Plus. Вроде как она лучшая для изображений на настоящий момент


Нажав плюс, загружаю свою картинку, и в текстовом поле вставляю промпт от Дипсика. Жму на синюю стрелочку. Поехали!
Вот что он мне нагенерил. «Случай в карауле»

Итак, что мы имеем. Картинка неплоха. Но налицо сильные отклонения от рефа. Можно удовлетвориться результатом, а можно дожать до талого) Идем ябедничать Дипсику.
«нейросеть не придерживается референса. необходимо строго сохранить форму РККА 1918-1922 года, будёновку, лицо персонажа, очки, а так же формат картинки. генерирую в Qwen»

Прошу перевести на английский, нейронки с ним работают лучше, получаю новый промпт, возвращаюсь в QWEN

И получаю… Китайца! Но сдаваться мы не привыкли)И будёновка пропала во тьме ночи) На самом деле, этого можно избежать, если в начальном промпте указать строгое соотвтствие рефу. Но иногда из таких генераций рождаются интересности). Однако, вернёмся к Дипсику.
«По прежнему Квен мне генерит солдата в ушанке, а теперь он ещё и азиат. Нужно строгое соответствие референсному изображению»
Дипсик: «Понимаю проблему. Qwen, судя по всему, не полностью соблюдает референс и добавляет ушанку и азиатские черты, которых в исходном изображении нет. Это типичная ситуация, когда модель «упрощает» или подставляет стереотипные образы.
К сожалению, встроенная генерация Qwen не даёт такого же строгого контроля, как, например, img2img или ControlNet в Stable Diffusion. Но можно попробовать усилить промпт, добавив отрицательные инструкции и жёстко прописав детали, которые нужно сохранить.»

Итого. Уже не кетаес. Прогресс. Советская форма нового образца и ДВЕ сигареты))) Видимо, хочет меня задобрить. Но не на таковского он напал. У меня жёсткое тз. И я пользуюсь чит-кодом))
Спрашиваю у него напрямую:
«почему ты не придерживаешься референса? я его так долго рисовал»
Понимаю ваше разочарование! Вы очень старались над референсом, и обидно, что ИИ его не соблюдает.
Проблема в том, что:
Я (Qwen) — текстовый ассистент и не могу генерировать изображения
Похоже, вы используете другой ИИ для генерации картинок (возможно, Qwen-VL, Midjourney, Stable Diffusion или другой), который не соблюдает ваш референс
Почему ИИ заменяет будёновку на ушанку:
В обучающих данных ИИ ушанка ассоциируется с "советский солдат + зима + снег"
ИИ игнорирует референс и генерирует то, что "знает"
Будёновка менее распространена в обучающих данных
Дальше он признаётся, что у меня отличный промпт, но генератор построен на клише

В итоге, добиться сходства с рефом мне удалось. Но имей в виду следующие моменты: Qwen – это текстовая модель с прикрученным к ней генератором. Когда ей в промпте пишут: «русский солдат зимой», у неё срабатывает архетип) Ушанка, водка, баян, медведь))) Добиться именно определённого исторического периода, задача нетривиальная. Но если задача проще, типа эльфы, гопники, слоны, гопники на слонах, эльфы на гопниках, то по моему алгоритму можно добиваться вполне предсказуемых итогов!
Всем, кто осилил до конца, мегареспект! Если кто-то решится встать на скользкую дорожку нейрогенерации, кидайте в комменты свои работы, мне это будет лучшей наградой. и да, всю историю с фотошопом в принципе можно пропустить, если не стоит жёсткое тз.