Нейросети совершили революцию в области создания изображений по текстовому описанию. Например, StableDiffusion от компании Stability.AI может генерировать высококачественные картинки, используя текст в качестве описания для создаваемого изображения. Но полностью контролировать результат генерации изображения в нейросети StableDiffusion пользователь не может. Алгоритм нейросети много что додумывает сам. Но с появлением ControlNet стало возможным контролировать процесс генерации изображений. ControlNet — это структура нейронной сети для управления моделями StableDiffusion путем добавления дополнительных условий, что меняет правила игры при создании изображений. Технология ControlNet обеспечивает беспрецедентный уровень контроля над Stable Diffusion.
Я продемонстрирую вам два примера возможностей ControlNet: контроль генерации изображений с помощью определения контуров и позы человека.
Пример обнаружения края ControlNet принимает дополнительное входное изображение и обнаруживает его контуры с помощью детектора краев Canny. Изображение, содержащее обнаруженные края, затем сохраняется как контрольная карта . Он передается в модель ControlNet как дополнительное условие к текстовому описанию.
Обнаружение краев — не единственный способ предварительной обработки изображения. Openpose — это быстрая модель обнаружения ключевых точек человека , которая может извлекать позы человека, такие как положение рук, ног и головы. См. пример ниже.
Ключевые точки извлекаются из входного изображения с помощью OpenPose и сохраняются в виде контрольной карты, содержащей положения ключевых точек. Затем он передается в Stable Diffusion в качестве дополнительной обработки вместе с текстовой подсказкой. Изображения генерируются на основе этих двух условий