Mannequin Challenge допоміг алгоритму навчитися визначати глибину в динамічних сценах

Розробники з Google Research навчили алгоритм створення карти глибини для відео, в якому рухаються і люди, і камера. Це може допомогти у створенні додатків для смартфонів, здатних, наприклад, змінювати глибину різкості на роликах, розповідають автори в блозі Google AI. Доповідь про алгоритм буде представлена на конференції CVPR 2019.


Карта глибини представляє зображення, в якому пікселі відображають не колір і яскравість, а відстань до об'єкта. Карти глибини використовуються як в дослідницьких проектах, наприклад, для створення 3D-моделей з 2D-начерків, так і в споживчих додатках. Наприклад, саме завдяки цьому працює функція зміни глибини різкості на фотографіях і створення штучного розмиття за об'єктом в сучасних смартфонах. Однак подібні алгоритми працюють або зі статичним зображенням, або з роликами, на яких рухома камера переміщується відносно статичних об'єктів, а об'єкти, що рухаються, зазвичай фільтруються подібними алгоритмами.


Дослідники з Google Research під керівництвом Вільяма Фрімена (William Freeman) створили алгоритм, що справляється з більш складним завданням - створенням карти глибини для роликів, на яких рухаються як камера, так і об'єкти. Оскільки дослідники сконцентрувалися на конкретному завданні з людьми, що рухаються, а не будь-якими об'єктами, вони зіткнулися з проблемою створення великого і відповідного датасета. Як дані для навчання вони використовували ролики людей, які брали участь у флешмобі Mannequin Challenge, що став популярним у 2016 році. Під час флешмобу люди в кадрі завмирали в природних положеннях, а оператор ходив між ними.

Розробники використовували близько двох тисяч роликів з YouTube як попередні дані для створення датасета. Їх обробили класичними методами створення карт глибини, застосовуваними для роликів зі статичними об'єктами, такими як метод відтворення структури з руху (SfM) і метод мультиракурсного стерео (MVS). Під час навчання алгоритм отримував розраховані картки глибини для карток як еталонні приклади, на які він орієнтується.

Для того, щоб алгоритм міг працювати з динамічними сценами, дослідники застосували наступну схему. Під час обробки кожного кадру відео алгоритм бере сусідній кадр, розраховує на основі цих двох зображень оптичний потік, що відображає рух об'єктів у кадрі, і на основі нього створює первинну карту глибини. Крім того, окрема нейромережа для семантичної сегментації виділяє на кадрі області з людьми. У результаті основна нейромережа отримує для обробки набір з кольорового кадру, маски з вирізаними людьми і карту глибини з накладеною маскою. На їх основі вона створює повноцінну карту глибини з поліпшеними даними для статичних об'єктів, таких як стіни в приміщенні, і «вписаними» даними в областях з людьми.

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

Торік розробники з Facebook використовували функцію створення карти глибини в сучасних смартфонах для швидкого створення 3D-панорам. Переглядаючи таку панораму, користувач може переміщати смартфон і бачити, як об'єкти в кадрі реалістично переміщуються разом з ним.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND