Фотографія підвищила якість роботи нейромережі з фоном відео

Американські розробники навчили нейромережу замінювати фон на відео з вищою точністю, ніж аналоги. Особливість алгоритму полягає в тому, що крім відео він вимагає один кадр, в якому людина або інший об'єкт зйомки покинув поле зору і таким чином показав фон. Стаття буде представлена на конференції CVPR 2020.


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


Якщо ж необхідно знімати на вулиці або в приміщенні без зеленого екрану, але заміна фону все ж потрібна, наприклад, під час відеодзвінка, можна скористатися алгоритмами відділення фону. Вони визначають область кадру з людиною за формою, кольором, контрастом або іншими характеристиками, і накладають навколо заданий фон. Для побутових застосувань якості таких алгоритмів достатньо, але все ж вони мають помітні візуальні артефакти, особливо при роботі зі специфічними об'єктами. Наприклад, вони набагато гірше справляються з відділенням заднього плану на тлі волосся.

Дослідники з Вашингтонського університету під керівництвом Іри Кемельмахер-Шліцерман (Ira Kemelmacher-Shlizerman) запропонували нову архітектуру нейромережі і метод її навчання, що дозволяє проводити практично ідеальну заміну фону. Для роботи алгоритму потрібен відеоролик з людиною або іншим об'єктом і умовно нерухомим ракурсом (алгоритм здатний працювати з роликами, знятими з рук), а також фотографія з того ж ракурсу до або після того, як людина вийшла з кадру.

Крім поточного кадру ролика алгоритм отримує на вхід фотографію з фоном і без людини, маску, на якій людина відокремлена від фону за допомогою алгоритму сегментації, а також сусідні кадри. Маска з виділеною людиною необхідна для того, щоб по суті вказати нейромережі на основний об'єкт у кадрі, який не потрібно вирізати. А сусідні кадри допомагають захистити точність вирізання завдяки тому, що людина навіть у статичному стані все одно трохи рухається.

В результаті нейромережа враховує різні канали даних і якісно відокремлює людину від фону. На виході нейромережа видає два зображення: кольорове зображення з вирізаною людиною і маску в альфа-каналі, поєднавши які разом з фоновим кадром можна отримати практично ідентичний вихідному кадр.

Для навчання розробники обрали подвійну схему. Спочатку вони навчили копію нейромережі на датасеті Adobe Matting, який складається з декількох сотень пар з вирізаного об'єкта і відповідної йому альфа-маски. Ці пари дослідники об'єднали з фоновими зображеннями з датасета MS-COCO.

Навчивши копію нейромережі на цих штучних даних, вони перейшли до навчання основної мережі на реальних даних. Вони давали обом нейромережам (копії і основний) справжні відеоролики і фотографії з фоном. Навчена на штучних даних нейромережа виступала вчителем для основної нейромережі, яка прагнула до мінімальної різниці між своїм результатом і результатом мережі-вчителя. Після отримання переднього плану і альфа-маски ці дані поєднувалися з новим фоном і віддавалися нейромережі-дискримінатору, завданням якої було визначати, що перед нею саме поєднане зображення, а не справжня фотографія.


В результаті розробники отримали нейромережу, яка здатна працювати з різними фонами і справлятися з типовими для таких алгоритмів складними випадками: несплошними об'єктами (наприклад, волосся) і збігом кольору переднього плану з заднім. Код для запуску алгоритму опубліковано на GitHub.

Нейромережеві алгоритми для роботи з відеороликами вже застосовуються не тільки в дослідницьких роботах, але і в поширеному програмному забезпеченні. Наприклад, торік Adobe додала до відеоредактора After Effects функцію автоматичного видалення об'єктів.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND