745. Пластмассовый мир победил (третья часть)

Уверен, каждый, кто хоть раз пытался сгенерировать человека с помощью нейросети, сталкивался с кривыми пальцами. Проблема эта тянется из глубокой древности и, кажется, не решена до сих пор. Но, возможно, решение есть — ControlNet.

Это архитектура нейронной сети, которая служит «надстройкой» для диффузионных моделей и позволяет жестко контролировать процесс генерации изображений с помощью дополнительных условий. Если обычная нейросеть создает картинку по текстовому описанию, то ControlNet добавляет в этот процесс «скелет» или «чертёж», которому ИИ обязан следовать.

ControlNet бывают разные. Например, Canny (детализированные контуры) получает границы объектов, чтобы сохранить их точную форму. Преобразовать особым образом фотографию можно получить композиционно такую же сцену на сгенерированном изображении. Scribble (каракули) превратит ваш карандашный набросок в произведение искусства. Depth (карта глубины) фиксирует расстояние до объектов, позволяя правильно разместить объекты в пространстве и создать глубокую сцену. Для работы с персонажами используют OpenPose. Это стандарт, позволяющий задать позу с помощью специального скелета, который можно сделать в специальном редакторе. И это далеко не всё.

Читать далее

744. Пластмассовый мир победил (вторая часть)

Когда первые восторги от сгенерированных картинок прошли, я заметил, что лица у нейросетевых девушек выглядят одинаково. Такое ощущение, что в основе модели лежит одно и то же лицо. Красивое, милое, но скучное и стандартное. В медиапространстве таких миллионы. Это не проблема установленной у меня модели, а общая закономерность нашего мира. Ботокс, филеры, пластическая хирургия и желание выглядеть превосходно убивают индивидуальность и сводят все лица к единому стандарту: стерильному, симметричному и мёртвому. Нейросети просто подхватили эту тенденцию и довели до абсурдного совершенства. Но я хотел видеть человека. Настоящего. Живого. Не идеального.

Различные промты не помогали, но я смог найти решение. Модель можно дообучить своими данными! Точнее сделать небольшой довесок. Называется это решение LoRA – Low-Rank Adaptation. LoRA учит базовую модель конкретным особенностям — например, новому стилю рисования, узнаваемому объекту или, в моем случае, конкретному лицу с его уникальными чертами.

Читать далее

743. Пластмассовый мир победил (первая часть)

Зима грустное время года. От скуки и серости я решился на вторую попытку исследования генеративных нейросетей. Впервые я экспериментировал с ними в 2022 году и за прошедшее с тех пор время они совершили большой скачок вперёд.

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

В этот раз задача была более амбициозной: добиться качества изображения как на бесплатных сервисах в интернете. Некоторую сложность добавляло отсутствие вообще какой бы то ни было видеокарты, но технологии продвинулись настолько, что даже это перестало быть большой проблемой.

Читать далее

740. Сайтокрушение

Произошедшее глазами нейросети

В ночь с 20 на 21 января мой сайт перестал быть доступен. Я создал тикет и пошёл спать с надеждой, что утром всё образуется. Но утром сайт был по прежнему недоступен. По моему опыту адекватные хостеры чинили свои сервера максимум за пару дней и при этом писали что произошло и сильно извинялись. Я подумал, что ситуация серьёзная и сайт вот-вот починят. Тем более на тикет ответили, что есть большая проблема с доступностью. площадки и её уже решают.

Прошёл ещё один день… Сайт по прежнему недоступен. Хостер не обновляет статус. Ситуация становится ненормальной. Я проверяю бэкапы и понимаю, что самый новый за ноябрь прошлого года. Терять данные за два месяца не хочется, и я всё ещё надеюсь, что хостер починит сервер.

Сегодня, 26 января, после пяти дней даунтайма, мои нервы не выдержали и я переехал на другой хостинг. Данные, которых не было в бэкапе кое-как удалось восстановить. Печальные выводы: делайте и верифицируйте бэкапы, храните их в надёжном месте (лучше не одном) и всегда имейте план Б. Ну и не пользуйтесь плохими хостерами, такими как Aeza.