Инсаф Ашрапов

Генерация изображений в последние годы вышла на новый уровень. Реалистичность получаемых изображений очень высокая. Кто же сможет лучше определить на каких снимках настоящие люди: человек или обученная deep learning сеть?

Датасет

Описание

Генерация изображений в последние годы вышла на новый уровень. Реалистичность получаемых изображений очень высокая. Кто же сможет лучше определить на каких снимках настоящие люди: человек или обученная deep learning сеть?

Описание решения

Генерация изображений

Для генерации изображений лиц мы используем текущее лучшее решение StyleGAN2:
-git clone https://github.com/NVlabs/stylegan2
-python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=2342342-2343342--truncation-psi=0.5

Из сгенерированных изображений оставим 1100 снимков, которые дальше будем наименовать как сгенерированные. Последний 100 снимков будут использованы как тестовые, на котором и будет измеряться качество обученной новой сетки.

Настоящие люди

В качестве изображений с настоящими людьми будем использовать датасет, на котором и был обучен StyleGAN: Flickr-Faces-HQ Dataset (FFHQ) https://github.com/NVlabs/ffhq-dataset

Для наших задач будет достаточно 1100 изображений. Аналогично 100 изображений откалываем в другую папку.

Обучение deep learning сетки

Из прошлых шагов получаем по 1 тыс. изображений настоящих людей и сгенерированных. И соответственно для по 100 изображений в отложенной выборке. Для обучения будем использовать вот этот пайплайн https://github.com/Diyago/Graph-clasification-by-computer-vision . Для его запуска необходимо выполнить следующие шаги:

  • git clone https://github.com/Diyago/Graph-clasification-by-computer-vision
  • pip install -r requirements.txt
  • Подготовить данные, указать к ним путь в config/config_classification.yml
  • python train.py (обучение моделей)
  • Для получения метрик python inference.py

Для обучения будет использован efficientnet_b2, одна из лучших архитектур в компьютерном зрении с точки зрения качества и производительности. После обучения можно ожидать получение метрик, указанных на слайде.

Опрос людей
Для того, чтобы оценить людей в том, могут ли они отличить настоящих людей от сгенерированных компьютерной сетью - проведем опрос: где нужно ответить для каждой из 10 картинок изображен ли на ней настоящий человек. Соответственно 5 картинок на ней будут с настоящими люди, 5 сгенерированные.

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

Комментарии