Google розповіла, як вона покращує портретний режим у своїх смартфонах, продовжуючи використовувати всього одну камеру. Раніше компанія покладалася на технологію фокусування Dual Pixel, де кожен піксель матриці камери розділений на два субпікселя, що дозволяє «бачити» картинку під двома кутами. Часом цей метод працював некоректно, через що фон міг розмиватися частково. Тому, в Pixel 3 і Pixel 3 XL пошуковий гігант вирішив застосовувати машинне навчання.
На зображенні нижче наочно показано, що при використанні однієї лише інформації з субпікселів задній фон за людиною розмивається нерівномірно, а деякі області і зовсім залишаються у фокусі. При активації машинного навчання проблема виправлена.
Для поліпшення портретного режиму в Pixel 3 компанія Google створила нейронну мережу, написану в TensorFlow, яка аналізує отриману з матриці інформацію і вчиться прогнозувати глибину зображення. Так як системі потрібно «згодувати» велику кількість даних, щоб навчити її, інженери Google придумали конструкцію під назвою Frankenphone, що об’єднує п’ять смартфонів Pixel 3 в один. Використання зв’язку по Wi-Fi дозволяє одночасно робити знімок об’єкта з усіх п’яти пристроїв з максимально допустимою затримкою 2 мілісекунди. Нейронна мережа аналізує отримані кадри, визначаючи фон, який потрібно розмити.
Для інженерів Google було важливо, щоб нейронна мережа навчилася працювати з динамічними сценами, як представлено на прикладі нижче. Крім того, установка Frankenphone створювалася таким чином, щоб вона була мобільною і її можна було носити з собою на вулицю, роблячи фотографії, які знімають в повсякденному житті звичайні користувачі смартфонів.
«Оцінка глибини з використанням машинного навчання повинна виконуватися швидко на Pixel 3, щоб людям не доводилося занадто довго чекати знімків, зроблених у портретному режимі. Однак, для якісної оцінки глибини, яка використовує тонке дефокусування та ефект паралакса, ми повинні передавати нейронної мережі PDAF-зображення в повному розширенні. Для забезпечення швидкої обробки ми застосовуємо TensorFlow Lite – кросплатформинне рішення для запуску моделей машинного навчання на мобільних і підключених до інтернету пристроїв – і потужний графічний процесор Pixel 3, щоб обчислити глибину швидко, незважаючи на наші аномально великі вхідні дані. Потім ми об’єднуємо отриману оцінку глибини з масками із нашої персоналізованої нейронної мережі для досягнення бажаного результату в портретному режимі», – йдеться в повідомленні Google.
Leave a Comment