↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Няшка в подтяжках
1 декабря в 16:28
Aa Aa
#как_это_сделано #нейроарт #LupinIII

Я уже грозилась ранее, что расскажу, как я что-нибудь делаю. Вот час настал :)

И конечно же я начну с простого варианта милого Гоэмона.



Если вы сейчас подумали что-то вроде "Фу, очередная нейронка, что там может быть сложного?", то вы упускаете один очень важный момент. Даже если отставить в сторону тот момент, что заставить нейронку сгенерировать именно то, что тебе надо, - уже сложно, то остаётся ещё одна большая проблема. В отличие от Поттера, Рикмана или даже Тартальи, про которых знают практически все нейронки, Гоэмон - не самый популярный персонаж. Вероятность того, что арты с ним попали в исходное множество для обучения и даже были правильно размечены, стремится к нулю. А это значит, что нельзя взять произвольную нейронку и получить от неё подходящую картинку. Я пробовала, чаще всего получается или рандомный аниме-мальчик, или особо преисполнившиеся нейронки выдают подобие кабуки театра про первого Ишикаву Гоэмона (есть в японском фольклоре такой местный Робин Гуд).

Ещё есть вариант пытаться самим запросом задать внешность, но это не путь истинных самураев. Истинные самураи обучают нейронки сами.

Любая генерация нейросетью - это работа с весами. Немного эвристики и рандома - и вот сетка наращивает поверх исходного шума связанные объёмы. Как и где их цеплять друг к другу определяется её "насмотренностью" на референсы, т.е. исходное обучающее множество. От этого зависит очень многое: и стиль, и то, какие запросы она вообще в состоянии понять (т.е. какие из ключевых слов есть в её словаре).

То, что Гоэмона в исходном множестве скорее всего нет, мы с вами уже определили. Дальше есть два стула пути: собрать новую модель, которая будет про него знать (но это долго, сложно, много весит и пока мне не интересно), или приготовить для существующей дополнение. Один из видов таких дополнений называется Lora (Low-Rank Adaptation) - это набор уточняющих факторов, которые говорят алгоритму, какой параметр нужно поднять (или опустить) для генерации. Цвет глаз, тип линий, стиль одежды, цветовая гамма - лорами можно корректировать практически всё. Достаточно собрать подходящие картинки-исходники, разметить их ключевыми словами, чтобы получился нормальный (и желательно непротиворечивый :)) словарь, а потом ждать, когда система закончит декомпозицию и свяжет новые образы с новыми словами.

Так как я делала лору для себя и локальной версии Stable Diffusion, то у неё был огромный допуск на погрешности и кривые генерации: я всегда могу условно бесплатно (за цену электричества в розетке :)) нагенерировать тысячу вариантов, а потом отфотошопить самый успешный. Посторонним людям такой трэш не показывают :) В итоге даже самый успешный вариант не был успешным в прямом смысле этого слова:



"Сомнительно, но окэй".



Так как комп у меня слабый, то генерирую я в основном по принципу: вначале много маленьких пробников - потом повышаем разрешение и размер самым успешным. В этом случае на некоторых моделях (например, на той анимешной, что я использовала) могут появляться дополнительные артефакты: засветы там, где значение весов скакнуло в бесконечность и стало неопределённостью.



Ну что ж, как бы то ни было, самая простая часть осталась позади. Впереди было самое сложное - рисование :) Рисовать я не умею от слова совсем и вообще рукожоп, а все познания о графике состоят из того, что я нахваталась от знакомых: всякое там "рисование объёмами" и "цветовой круг Иттена". Что не мешает мне пробовать.

В этом конкретном случае фиксов было не так уж и много: убрала серьги (Гоэмон милый, но не настолько), убрала засветы, отрезала третью ногу, убрала текст снизу и сверху, сделала фон более симметричным (добавила цветы над правым плечом). Добавила небольшую пасхалку на бутылку :) Теперь там написано "саке из Ишикавы" - так называется одна из префектур в Японии и это созвучно фамилии Гоэмона (у японцев безумно много фамилий, совпадающих с топонимами).

На вопросы о том, как точно это всё устроено под капотом, я вряд ли отвечу, потому что математик только на бумаге и, тем более, не "дата-сатанист" :) Но, надеюсь, вам было интересно.
1 декабря в 16:28
3 комментария
Меня отдельно радует, что ты нашу переписку добавила для иллюстрации 🤣
Люська-Писарь
она как квинтэссенция работы с нейронками :)
А с какими базовыми моделями работаете? А то непонятно, то комп слабенький, то лоры обучать хватает. Просто, если действительно слабый и речь про 1.5, то он уже есть https://civitai.com/models/93583/goemon-ishikawa-xiii-lupin-iii
Для генерации одного персонажа в несложной позе должно было хватить и возможностей полторашки. Но проделанной работы это не умоляет.
Кстати, почему инпейнтом брезгуете? Некоторые исправления можно было сделать в нем, не прибегая к ручному труду.
ПОИСК
ФАНФИКОВ









Закрыть
Закрыть
Закрыть