оригинальный автор:Ли Цзямин
Оригинальный текст был опубликован в авторской колонке Zhihu, нажмитеПосмотреть исходный текст,Jizhi получил разрешение на перепечатку. Еще раз спасибо автору.
введение
Одно из самых больших сожалений, которые у меня всегда были с тех пор, как я стал таку, это то, что я не умел рисовать с детства.Единственное, что я могу упомянуть, это то, что на уроке рисования я нарисовал Юи Арагаки как трагедию, как Ву Санги.
После знакомства с машинным обучением я чувствую, что еще могу спасти свою руку. В конце концов, нынешний ИИ умеет играть в шахматы, водить машину, читать хорошие стихи и, кажется, не исключено, что он умеет рисовать. Для этого я изучил следующие темы:Сможете ли вы сломать стену измерений и позволить ИИ преобразовывать реальные лица в картинки в стиле комиксов??
Фактически, в последние годы было предпринято бесчисленное количество попыток научить ИИ рисовать. Два из них были представлены в моих предыдущих статьях:Передача стиля изображенияи использоватьГенеративно-состязательные сети(GAN) для раскрашивания эскизов линий, оба из которых тесно связаны с нашей темой.
Передача стиля изображения
Проще говоря, перенос стиля изображения — это процесс переноса стиля картины на фотографию. Стили могут включать штрихи, цвет, свет и тень, пропорции объекта и многое другое. Поскольку в 2015 году Гейтис изобрел метод передачи изображений с использованием нейронных сетей, проблема, которая беспокоила исследователей, заключается в том, что передача стиля изображения в основном использует предварительно обученные сети распознавания элементов, а обучающий набор, используемый для распознавания элементов, является реальным. методы ив действительностиРазличные пропорции объектов беспомощны. В частности, с точки зрения второго и третьего измерений существует ряд проблем, таких как различное соотношение головы и тела, а также разные размеры глаз и носа.
На самом деле самое прямое решение не сложно:тратить деньги. Попросите кого-нибудь пометить набор данных, посвященный художественным картинам, и переобучить распознаватель объектов, но немногие исследователи готовы платить за тяжелую работу. Использование переноса стиля изображения для преобразования лиц в двухмерные стили в основном заблокировано.
GAN
Если перенос стиля изображения — это один из способов сломать пространственную стену, то другой способ — создать состязательные сети, так называемые GAN (генеративно-состязательная сеть).GANЭто алгоритм, предложенный ныне известным исследователем Яном Гудфеллоу в 2014 году для генерации любых данных, если имеется достаточно обучающих данных и времени, а также достаточно сильная нейронная сеть. через дваигра друг против другаНейронная сеть GAN может имитировать и генерировать неразличимые изображения. Несколько известных примеров приложений, таких как MakeGirlsMoe, для создания двухмерных аватаров.MakeGirlsMoe, а также модель генерации человеческого аватара высокой четкости, запущенная Nvidia Research.PGGAN.
Беспарное междоменное преобразование изображений
Ограничение на использование непарных изображений делает преобразование типов изображений уровнем сложности, сравнимым с изучением нового языка без словаря.
К счастью, похоже, бедность ограничивает воображение не только меня, но и Исследовательского института искусственного интеллекта Facebook. В 2016 году Facebook опубликовал статью под названиемUnsupervised Cross-Domain Image GenerationОсновное содержание статьи заключается в том, как «перевести» два типа изображений без парных данных, но один тип изображения помечен. Вскоре после этого, в 2017 году, Jun-Yan Zhu et al.CycleGanиспользуется дляНемаркированный непарный набор данныхмодель.
Одной из общих черт двух моделей является то, что для решения проблемы несоответствия наборов данных обе модели делают следующие предположения: сначала изображения класса A преобразуются в класс B, а затем преобразуются из класса B обратно в класс A. Между исходным изображением и дважды переведенным изображением не должно быть слишком большой разницы. Используя перевод в качестве примера, после перевода китайского предложения на английский, а затем перевода английского предложения обратно на китайский, полученное предложение должно быть таким же, как предложение в начале, а разница с исходным вводом после второго перевода может быть рассматриваться какПотеря согласованности цикла. CycleGAN обучает нейронную сеть, уменьшая ошибку цикла и добиваясь взаимного преобразования между двумя типами непарных изображений.
Попробуйте CycleGAN
Хорошей новостью является то, что CycleGan имеет открытый исходный код. Найдя существующий алгоритм, я начал собирать данные, необходимые для обучения. Я использовал 200 000 изображений CelebA в качестве базы данных трехмерных аватаров и использовал метод, упомянутый в MakeGirlsMoe, для перехвата в общей сложности около 30 000 двухмерных аватаров с японского игрового сайта Getchu.
Попробуйте еще раз с другого ракурса!
К счастью, когда существующий алгоритм GAN не работает, есть также опыт передачи стиля изображения, на котором можно учиться. Еще в 2016 году Винсент Дюмулен из Google Brain и другие обнаружили, что можно преобразовать изображение во множество разных стилей, просто позволив нейронной сети изучить два параметра в Batch Norm (слой пакетной нормализации).Вы даже можете смешивать и сопоставлять разных стилей друг с другом. их тезисA Learned Representation For Artistic StyleЭто показывает, что параметр Batch Norm, который изначально использовался для повышения стабильности обучения нейронной сети, имеет больший потенциал для использования.
Twin-GAN - технические детали
Основываясь на идеях, упомянутых выше, и после некоторых попыток я остановился на следующей сетевой структуре под названием Twin-GAN: для генератора изображений я использовал PGGAN от Nvidia, который пока работает лучше всего. Так как вход PGGAN представляет собой случайный вектор высокой размерности, а наш вход представляет собой картинку, я использовал симметричный кодировщик (энкодер) с PGGAN для кодирования входного изображения аватара в вектор высокой размерности, а для того, чтобы восстановить изображение Для деталей я использовал структуру UNet для соединения сверточных слоев между кодировщиком и сетью генерации изображений. Есть в основном три типа входов и выходов моей нейронной сети:
- Трехмерный аватар -> кодировщик -> многомерный вектор -> генератор PGGAN + параметр Batch Norm для трехмерного -> трехмерного аватара
- Двумерный аватар -> кодировщик -> многомерный вектор -> генератор PGGAN + параметр Batch Norm для двумерного -> двумерного аватара
- Трехмерный аватар -> кодировщик -> многомерный вектор -> генератор PGGAN + параметры Batch Norm для второго элемента -> двухмерный аватар
Как упоминалось в документе Facebook, основная цель совместного использования кодировщика и генератора для трехмерных и двумерных аватаров состоит в том, чтобы позволить нейронной сети распознавать, что, несмотря на разные длины, двухмерные и трехмерные объемные изображения Все изображения - человеческие лица. Это имеет решающее значение для преобразования двух и трех измерений. Окончательное решение о том, двумерный это переключатель или трехмерный, принимается в параметре Batch Norm.
Что касается функции потерь, я в основном использую следующие четыре функции:
- Функция потерь при восстановлении от трехмерного к трехмерному (потеря l1+GAN)
- Функция уменьшения потерь от квадратичного элемента к квадратичному элементу (потери l1+GAN)
- Функция потерь GAN от трехмерной к двумерной
- Функция потери цикла от трехмерной до двумерной (потеря согласованности цикла).
достижение
Эффект после собственно тренировки следующий:
Неудовлетворительная часть также ясна с первого взгляда на этом изображении. Иногда используется фон в качестве цвета волос (например, нижний левый угол), а иногда меняется ориентация человека. Эти ошибки также используются когда изображение конвертируется.можно посмотреть.
На самом деле область применения нашего алгоритма не ограничивается двумерным преобразованием, а что насчет обучения с кошачьими мордочками?
постскриптум:
Одна из самых больших проблем с существующими алгоритмами — набор данных.Поскольку большинство 2D-портретов, которые я собрал, — женщины, нейронная сеть превратит 3D-женщин-мужчин в 2D-женщин. Кроме того, часто происходит неправильное использование фона в качестве цвета волос, игнорирование и неправильное определение определенных признаков, например, следующий пример неудачи:
Стоит отметить, что несколько месяцев назад Шуанг Ма предложил использовать название Attention Map.DA-GANАлгоритм генерации изображения . А Nvidia анонсировала их только вчерапоследние исследования, показывающая нейронную сеть, способную превращать кошек в собак. Это заставляет меня с еще большим нетерпением ждать дальнейших разработок в области преобразования изображений в будущем. Это впечатляет!
Соответствующие газеты и веб-сайты будут запущены как можно скорее. Пожалуйста, обратите внимание на мою учетную запись Zhihu для получения соответствующих обновлений. Спасибо за чтение!
Примечание: В этой статье многие аргументы упрощены для удобства понимания, что строго не запрещено.Также обратите внимание и поймите. Те, кто интересуется техническими подробностями, могут прочитать статьи в цитируемом разделе.
Цитировать
A Neural Algorithm of Artistic Style
A Learned Representation For Artistic Style
Unsupervised Cross-Domain Image Generation
Spectral Normalization for Generative Adversarial Networks
Conditional generative adversarial nets
Multimodal Unsupervised Image-to-Image Translation
Добро пожаловать, чтобы следовать за нами, учебные ресурсы, учебные пособия по искусственному интеллекту, интерпретация документов, интересная популярная наука, все, что вы хотите увидеть, здесь!