Погляд Anderson

Редагування простору GAN з допомогою ‘Blobs’

mm
Додайте Unite.AI до бажаних джерел у Google

Нові дослідження Університету Каліфорнії в Берклі та Adobe (ADBE ) пропонують спосіб безпосереднього редагування гіперреалістичних зображень, створених Генеративною Адверсаріальною Мережею (GAN), але які зазвичай не можуть бути контрольовані, анімовані або вільно маніпульовані у спосіб, знайомий користувачам Photoshop та фахівцям CGI.

Метод, названий BlobGAN, полягає у створенні сітки «блобів» – математичних конструкцій, які безпосередньо відображаються у просторі GAN.

Переміщуючи блоби, можна переміщати «об’єкти» у сцені, у спосіб, ближчий до методів CGI та CAD, ніж багато поточних спроб відображення та контролю простору GAN:

Маніпуляція сценою з BlobGAN: при переміщенні «блобів» користувачем, змінюється розташування латентних об'єктів та стилів у GAN. Для перегляду більше прикладів дивіться супровідне відео, вкладене в кінці статті, або на https://www.youtube.com/watch?v=KpUv82VsU5k

Маніпуляція сценою з BlobGAN: при переміщенні «блобів» користувачем, змінюється розташування латентних об’єктів та стилів у GAN. Для перегляду більше прикладів дивіться супровідне відео, вкладене в кінці статті, або на https://www.youtube.com/watch?v=KpUv82VsU5k

Оскільки блоби відповідають «об’єктам» у сцені, відображеній у просторі GAN, всі об’єкти роз’єднуються a priori, що дозволяє змінювати їх окремо:

Об'єкти можна змінювати розмір, зменшувати, копіювати та видаляти, серед інших операцій.

Об’єкти можна змінювати розмір, зменшувати, копіювати та видаляти, серед інших операцій.

Як і будь-який об’єкт у програмному забезпеченні для редагування зображень (або навіть текстового редактора), блоб можна дублікувати та подальше маніпулювати:

Блоби можна дублікувати в інтерфейсі, а їхні відповідні латентні представлення також будуть «скопійовані та вставлені». Джерело: https://dave.ml/blobgan/#results

Блоби можна дублікувати в інтерфейсі, а їхні відповідні латентні представлення також будуть «скопійовані та вставлені». Джерело: https://dave.ml/blobgan/#results

BlobGAN також може розбирати нові, вибрані користувачем зображення у свій латентний простір:

З BlobGAN не потрібно включати зображення, які ви хочете маніпулювати, безпосередньо у навчальні дані та потім шукати їхні латентні коди, а можна вводити вибрані зображення за бажанням та маніпулювати ними. Зображення, які змінюються тут, є пост-фактум введенням користувача. Джерело: https://dave.ml/blobgan/#results

З BlobGAN не потрібно включати зображення, які ви хочете маніпулювати, безпосередньо у навчальні дані та потім шукати їхні латентні коди, а можна вводити вибрані зображення за бажанням та маніпулювати ними. Джерело: https://dave.ml/blobgan/#results

Більше результатів можна побачити тут, а також у супровідному відео на YouTube (вкладеному в кінці статті). Також є інтерактивна демонстрація Colab демонстрація*, а також репозиторій GitHub репозиторій**.

Цей вид інструментальності та масштабу може здатися наївним у пост-Photoshop епоху, і параметричні пакети програмного забезпечення, такі як Cinema4D та Blender, дозволяли користувачам створювати та налаштовувати 3D-світи протягом десятиліть; але це представляє перспективний підхід до приборкання екцентричних особливостей та арканної природи латентного простору Генеративної Адверсаріальної Мережі за допомогою використання проксі-ентітів, які відображаються на латентні коди.

Автори стверджують:

‘На складному багатокатегорійному наборі даних внутрішніх сцен BlobGAN перевершує Style-GAN2 за якістю зображення, виміряною за допомогою FID.’

Стаття стаття називається BlobGAN: Просторово роз’єднані представлення сцен і написана двома дослідниками з Університету Каліфорнії в Берклі разом з трьома з Adobe Research.

Посередник

BlobGAN привносить новий парадигму у синтез зображень GAN. Попередні підходи до адресування дискретних сутностей у латентному просторі, як вказує нова стаття, були або «верх-долу» або «долу-вгору».

«Верх-долу» метод у GAN або класифікаторі зображень обробляє зображення сцен як класи, такі як «спальня», «церква», «обличчя» тощо. Цей вид текст/зображення пари живить нове покоління багатомодальних кадрів синтезу зображень, таких як недавній DALL-E 2 від OpenAI.

«Долу-вгору» підходи, натомість, відображають кожну піксель у зображенні у клас, мітку або категорію. Такі підходи використовують різні техніки, хоча семантична сегментація є популярним поточним дослідницьким напрямком.

Автори коментують:

‘Обидва шляхи здаються незадовільними, оскільки жоден з них не може забезпечити легкий спосіб міркування про частини сцени як сутності. Частини сцени або спечені у єдиний заплутаний латентний вектор (верх-долу), або потрібно групувати разом з окремих піксельних міток (долу-вгору).’

Натомість, BlobGAN пропонує несупервізований середній рівень представлення, або проксі-рамку для генеративних моделей.

Сітка макета відображає локальні (і керованні) «блоб»-ентітети у латентні коди. Колірні кола у центрі складають «блоб-карту». Джерело: https://arxiv.org/pdf/2205.02837.pdf

Сітка макету відображає локальні (і керованні) «блоб»-ентітети у латентні коди. Джерело: https://arxiv.org/pdf/2205.02837.pdf

Гаусові (тобто засновані на шумі) блоби мають глибину порядку, і представляють собою вузьке місце у архітектурі, яке призначає відображення кожній сутності, розв’язуючи найбільшу проблему, пов’язану з маніпуляцією вмістом GAN: роз’єднання (також проблема для архітектур, заснованих на автоенкодерах). Результатом є «блоб-карта», яка використовується для маніпуляції декодером BlobGAN.

Автори зазначають з деяким здивуванням, що система вчиться розбирати сцени на макети та сутності через стандартний дискримінатор, який не використовує явні мітки.

Архітектура та дані

Сутності у блоб-карті перетворюються у зображення через модифіковану мережу, похідну від StyleGAN2, у підході, який черпає натхнення з попередніх досліджень NVIDIA (NVDA ).

Модифікована мережа StyleGAN 2 від NVIDIA Research. Деякі принципи цієї роботи були прийняті або адаптовані для BlobGAN. Джерело: https://arxiv.org/pdf/1912.04958.pdf

Модифікована мережа StyleGAN 2 від NVIDIA Research. Джерело: https://arxiv.org/pdf/1912.04958.pdf

StyleGAN 2 модифікована у BlobGAN для прийому вхідних даних з блоб-карти замість одного глобального вектора, як це зазвичай робиться.

Серія маніпуляцій, здійснених за допомогою BlobGAN, включаючи «автозавершення» сцени спальні, та зміну розміру та розташування елементів у кімнаті. У рядку нижче ми бачимо інструментальність, доступну користувачеві, яка дозволяє це – блоб-карту.

Серія маніпуляцій, здійснених за допомогою BlobGAN, включаючи «автозавершення» порожньої сцени спальні, та зміну розміру та розташування елементів у кімнаті.

За аналогією, замість того, щоб створити величезну та складну будівлю (латентний простір) всеразу, та потім мати можливість досліджувати його нескінченні проходи, BlobGAN відправляє блоки компонентів на початку, і завжди знає, де вони знаходяться. Це роз’єднання вмісту та розташування є основною інновацією роботи.

 

* Не функціональний на момент написання
** Код не опублікований на момент написання

 

Перша публікація 8 травня 2022 року.

Письменник про машинне навчання, спеціаліст у галузі синтезу людських зображень. Колишній керівник дослідницького контенту в Metaphysic.ai, до його розформування в DNEG's Brahma.ai.
Портфоліо сайт: martinanderson.ai
Контакт: martin@martinanderson.ai