Сегодня при помощи набросков, которые чуть сложнее детских рисунков, EditGAN позволяет изменить на фотографии конкретные черты лица (глаза, брови) или даже колёса автомобиля. Ранее эта задача была крайне сложной.
Делимся кратким обзором разработки Университета Торонто, MIT и NVidia, пока у нас начинается флагманский курс Data Science. Кроме того, а этом материале коснёмся вопросов этики в сфере ИИ.
Демонстрация
Посмотрите это видео:
Примеры результатов EditGAN. Изображение из работы Линг и др., 2021, EditGAN
Как правило, для управления конкретными характеристиками изображения требуются огромные массивы данных, а ещё эксперты, которые должны знать, какие характеристики нужно изменить в модели, чтобы получить нужное изображение.
Но EditGAN, чтобы сопоставить сегментации с изображениями, обучается всего на нескольких размеченных примерах, что позволяет редактировать изображения с помощью сегментации, или, другими словами, с помощью эскизов. Качество изображения сохраняется, позволяя достичь невиданного ранее уровня детализации. Это очень большой скачок вперёд, но ещё круче — работа метода под капотом. Давайте на неё посмотрим!
В решении используется StyleGAN2 — лучшая доступная сегодня модель. Я не буду погружаться в её детали. Предположу, что у вас есть базовые знания о StyleGAN2: она берёт изображение, кодирует его в сжатое подпространство и использует тип модели, называемый генератором, для преобразования этого кодированного подпространства в другое изображение. Это работает и при использовании закодированной информации напрямую; самое важное здесь — генератор.
Как работает генератор сети GAN
Итак, генератор берёт информацию из подпространства (латентного подпространства), где содержится много информации о нашем изображении и его особенностях. Но это пространство многомерно, визуализируется оно с трудом.
Кстати, мы писали об этом:
«Потрясающе красиво: как отобразить десятки признаков в данных»
Наша задача — определить, какая часть этого подпространства отвечает за реконструкцию конкретной особенности изображения. Именно здесь в игру вступает EditGAN, которая не только расскажет вам об областях ответственности подпространств, но и позволит редактировать их при помощи наброска, который легко нарисовать.
EditGAN закодирует ваше изображение или просто возьмёт определённый латентный код и сгенерирует карту сегментации, а также само изображение. Иными словами, что сегментация и изображения находятся в одном подпространстве, модель учится работать таким образом, и это позволяет затрагивать только нужные характеристики, а не делать что-то ещё. Нужно просто изменить изображение сегментации — остальное произойдёт само по себе.
Модель обучается только на новой сегментации, а генератор StyleGAN для исходного изображения остаётся фиксированным. Это позволяет модели связать сегментации с тем же подпространством, которое необходимо генератору для реконструкции изображения.
Затем, если обучение прошло правильно, можно просто отредактировать эту сегментацию, а она соответствующим образом изменит изображение!
EditGAN обзор (1) и процесс (2–4). Изображение из работы Линг и др., 2021, EditGAN
EditGAN в основном присваивает каждому пикселю опредёленный класс, например «голова», «ухо», «глаз» и т. д., и независимо управляет этими классами при помощи масок, покрывающих пиксели других классов в латентном пространстве.
Карта сегментации птицы. Изображение из работы Линг и др., 2021, EditGAN
Таким образом, каждый пиксель имеет свою метку, а EditGAN будет решать, какую метку редактировать, и восстанавливать изображение, изменяя только область редактирования. Вуаля! Соединяя сгенерированное изображение с картой сегментации, EditGAN позволяет редактировать эту карту по своему усмотрению и изменять изображение!
Конечно, после обучения на этих примерах он работает с изображениями, которых ранее не видел. Результаты, как и во всех GAN, ограничены типом изображений, на которых генератор обучался. Вы не сможете использовать сеть на изображениях кошек, если обучали её на автомобилях. Тем не менее это весьма впечатляет, и мне нравится, как исследователи пытаются предоставить способы интуитивной работы с GAN.
«Этика искусственного интеллекта» (Мартина Тодаро)
Совсем недавно в Норвегии был принят новый закон, согласно которому рекламодателям и влиятельным лицам в социальных сетях запрещено выкладывать в сеть отретушированные рекламные фотографии без отдельного сообщения о ретуши. Поправка требует раскрытия информации о правках до и после съёмки, о применении фильтров Snapchat и Instagram, которые изменяют внешность человека. Согласно Vice, правки, о которых нужно сообщать, включают «увеличенные губы, суженные талии и преувеличенные мышцы». Станет ли это нормой и в других странах?
Я помню, как в начале 2000-х годов ретушь фотографий была уделом графических дизайнеров. И позволить себе такое могли только профессионалы. Теперь эта задача стала проще для всех. Благодаря Nvidia и ряду других крупных технологических компаний, ретуширование фотографий стало настолько простым, распространённым и социально приемлемым, что люди даже не задаются вопросом, действительно ли это полезно. Это бесплатный сервис, как и многие другие, почему бы им не воспользоваться?
В сетевом обществе, основанном на консенсусе, где привлечь внимание очень важно, а быть интересным — ценно, у людей (не только у лидеров соцсетей) есть сильные стимулы, чтобы редактировать изображения, и рынок процветает. Конечно, если эта практика настолько распространена и принята, то ретушированных изображений вполне нормально ожидать. Но похоже, что это не так.
Было показано, как нереалистичные стандарты красоты, которые навязываются социальными медиа, негативно влияют на самооценку пользователей.
Последствиями этого являются расстройства питания, проблемы с психическим здоровьем и суицидальные мысли среди молодёжи [2].
Этот компромисс, очевидно, является частью более широкой «социальной дилеммы»: между интересами группы и стимулами отдельных лиц существует несоответствие. Поэтому, на мой взгляд, Норвегия лишь возглавляет этот марш, многие другие институты должны (и, вероятно, будут) принимать меры по этому вопросу. Великобритания уже сделала это, и Европа, скорее всего, последует за ней.
«Этика искусственного интеллекта»
Совсем недавно в Норвегии был принят новый закон, согласно которому рекламодателям и влиятельным лицам в социальных сетях запрещено выкладывать в сеть отретушированные рекламные фотографии без отдельного сообщения о ретуши. Поправка требует раскрытия информации о правках до и после съёмки, о применении фильтров Snapchat и Instagram, которые изменяют внешность человека. Согласно Vice, правки, о которых нужно сообщать, включают «увеличенные губы, суженные талии и преувеличенные мышцы». Станет ли это нормой и в других странах?
Я помню, как в начале 2000-х годов ретушь фотографий была уделом графических дизайнеров. И позволить себе такое могли только профессионалы. Теперь эта задача стала проще для всех. Благодаря Nvidia и ряду других крупных технологических компаний, ретуширование фотографий стало настолько простым, распространённым и социально приемлемым, что люди даже не задаются вопросом, действительно ли это полезно. Это бесплатный сервис, как и многие другие, почему бы им не воспользоваться?
В сетевом обществе, основанном на консенсусе, где привлечь внимание очень важно, а быть интересным — ценно, у людей (не только у лидеров соцсетей) есть сильные стимулы, чтобы редактировать изображения, и рынок процветает. Конечно, если эта практика настолько распространена и принята, то ретушированных изображений вполне нормально ожидать. Но похоже, что это не так.
Было показано, как нереалистичные стандарты красоты, которые навязываются социальными медиа, негативно влияют на самооценку пользователей.
Последствиями этого являются расстройства питания, проблемы с психическим здоровьем и суицидальные мысли среди молодёжи [2].
Этот компромисс, очевидно, является частью более широкой «социальной дилеммы»: между интересами группы и стимулами отдельных лиц существует несоответствие. Поэтому, на мой взгляд, Норвегия лишь возглавляет этот марш, многие другие институты должны (и, вероятно, будут) принимать меры по этому вопросу. Великобритания уже сделала это, и Европа, скорее всего, последует за ней.
Ссылки
- Ling, H., Kreis, K., Li, D., Kim, S.W., Torralba, A. and Fidler, S., 2021, May. EditGAN: High-Precision Semantic Image Editing. In Thirty-Fifth Conference on Neural Information Processing Systems.
- Код и интерактивные инструменты (скоро появится).
Продолжить изучение GAN вы сможете на наших курсах:
Узнайте подробности здесь.
Другие профессии и курсы
Data Science и Machine Learning
Python, веб-разработка
Мобильная разработка
Java и C#
От основ — в глубину
А также
Все курсы
- Профессия Data Scientist
- Профессия Data Analyst
- Курс «Математика для Data Science»
- Курс «Математика и Machine Learning для Data Science»
- Курс по Data Engineering
- Курс «Machine Learning и Deep Learning»
- Курс по Machine Learning
Python, веб-разработка
- Профессия Fullstack-разработчик на Python
- Курс «Python для веб-разработки»
- Профессия Frontend-разработчик
- Профессия Веб-разработчик
Мобильная разработка
Java и C#
- Профессия Java-разработчик
- Профессия QA-инженер на JAVA
- Профессия C#-разработчик
- Профессия Разработчик игр на Unity
От основ — в глубину
А также
Все курсы
napa3um
Кажется, по качеству результата это решение лишь приближается к "не ML-ным" алгоритмам морфинга, причём с теми же сложностями точного указания того, что, собственно, нужно морфировать и куда (с добавлением проблемы составления обучающей выборки :)). "Нейро" тут только для того, чтобы оператор рисовал пиксельно "карандашом", а не векторно "кривыми"? Не очень понятны преимущества, и чему там вообще надо "обучаться", когда задача формализуется до прямого алгоритма. Вроде, нам не нужно знать какие-то "особенности изображения" для данной задачи, достаточно знать желаемое изменение геометрии, попутно при её искажениях линейно (или как будет "красивее") интерполируя цвета "увлекаемых" геометрией пикселей. Причём, если эта геометрия будет задавать явно (кривыми и всякими параметрами типа "силы притягивания контура"), то у оператора будет возможность контролировать результат (а он зависит и от желаемого "сюжета" задаваемой деформации). В общем, это какая-то заготовка для чего-то большего, а не отдельное самостоятельное value для пользователей, IMHO :).