Facebook навчив двокамерні смартфони швидкому створенню 3D-панорам

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


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


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

У новій роботі Петер Хедман (Peter Hedman) і Йоханнес Копф (Johaness Kopf) з Facebook вирішили використовувати вироблені двокамерними смартфонами стереопари для швидкого створення об'ємних панорам.

Дослідники використовували iPhone 7 Plus з двома камерами і вбудований API для створення карт глибини. Одна з проблем використання створюваної смартфоном карти глибини полягає в тому, що вона показує не абсолютну відстань, що відображає реальну відстань від камери до об'єктів, а нормовану відстань, специфічну для кожного знімка (або пари знімків). Через це один і той же об'єкт на сусідніх знімках може розташовуватися на різній глибині і «склеєний» знімок вийде з великою кількістю артефактів.

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

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

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


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

COM_SPPAGEBUILDER_NO_ITEMS_FOUND