Фон

После академического обмена в Сеуле, Южная Корея, одна вещь, которая действительно выделялась для меня, - это страсть и преданность многих людей корейским музыкальным кумирам онлайн и лично. Во время своего пребывания я посетил один (бесплатный) концерт K-pop, и меня позабавила интенсивность криков фанатов, размахивающих огнями, представляющими свои любимые группы.

Одна из особенностей этих групп, которую я заметил, заключалась в том, что корейские поп-идолы склонны тяготеть к схожей эстетике лица; Безупречная кожа, помада такого же цвета и похожий макияж. Хотя есть варианты, вы определенно можете определить айдола K-pop, просто взглянув на его лицо. Также было интересно увидеть, как фанаты с дорогими камерами были в толпе, делая как можно больше снимков айдолов крупным планом. Позже я обнаружил, что фанаты склонны собирать фотографии айдолов, а также покупать товары в виде открыток с фотографиями.

Это уступило место глупой мысли, которая у меня возникла: кто-нибудь захочет фотографии айдола K-pop, которого не существует?

Использование StyleGAN для создания изображений K-pop айдолов

Некоторое время я слежу за выпуском StyleGAN и его приложениями, и на нем было сделано несколько довольно крутых проектов. Совсем недавно был выпущен StyleGAN2, призванный улучшить качество создаваемых изображений.

StyleGAN - это архитектура для генеративных состязательных сетей, которую мы можем использовать для генерации изображений посредством неконтролируемого обучения. Краткое описание GAN можно найти в Википедии.

Сбор данных

К сожалению, поскольку я не совсем преданный поклонник K-pop, поиск подходящего набора данных был проблемой. Чтобы научить мою модель создавать изображения айдолов K-pop, мне сначала нужно было найти лица, на которых можно было бы тренироваться. К счастью, я смог использовать / r / kpics и / r / twomedia, чтобы получить около 3000 изображений. Однако из-за ограничений API Reddit мне не удалось загрузить больше, чем это вместе взятое, из обоих сабреддитов.

После того, как я загрузил эти изображения, я использовал AutoCrop для обнаружения присутствующих лиц и кадрирования их в изображения размером 512x512.

Проблема, с которой я столкнулся с этим инструментом, заключалась в том, что лица были обнаружены только в 50% моего исходного набора данных (около 1500 изображений), а также в том, что иногда он обнаруживал что-то, что не было лицом, и обрезал его.

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

Наконец, мне пришлось преобразовать изображения в тип файла .tfrecords с помощью инструмента набора данных StyleGANs, и позволить моему компьютеру сделать остальную работу!

Обучение

Изначально я начал обучение на StyleGAN2s config-f с набором данных, включающим случайно ложные срабатывания. После 95 часов (около 4 дней) обучения с этим ошибочным набором данных и продолжительностью обучения чуть более 2 миллионов изображений, значение fid50k (Fréchet Inception Distance), которое используется в качестве показателя обучения, застряло на уровне около 65k, но Кривая обучения StyleGAN2 сходится при значении 2! Это могло быть вызвано небольшим набором данных, с которым мне приходилось работать, но мне определенно пришлось перезапустить с чистым набором данных.

Однако после 20 часов обучения с config-f на очищенном наборе данных я наконец отклеил свою метрику fid50k. К сожалению, в моих журналах было показано, что мой fid50k теперь застрял на 45k и не добился никакого прогресса после 7-го часа. Опять же, я полагаю, что это, скорее всего, связано с небольшим набором данных, с которым я работал. Я пришел к выводу, что это, вероятно, лучшее, что я собирался здесь достичь, и на этом закончил.

Конечно, мне пришлось быстро создать веб-сайт, чтобы отображать изображения, которые генерирует моя модель, как это принято во всех других случаях использования генеративных сетей. (Однако я был слишком дешев, чтобы купить домен .com)

РЕДАКТИРОВАТЬ: К сожалению, с 2021 года срок действия моего доменного имени истек. Доступ к приложению по-прежнему можно получить по адресу: https://kpop-generator.herokuapp.com/

В целом, это был довольно забавный эксперимент, и я, скорее всего, продолжу экспериментировать со StyleGAN и, возможно, с другими. Спасибо за чтение!