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