В скорошна публикация в блога Google описа подробно технологията зад новата функция Portrait Light, която дебютира с Pixel 5 и Pixel 4a 5G.
След няколко изтичания и слухове Google най-накрая представи Pixel 5 и Pixel 4a 5G по-рано тази година през септември. Както се очакваше, устройствата се доставят с множество нови функции на Google Камера което ги отличава от другите телефони с Android на пазара. Те включват Cinematic Pan за панорамиране без трептене на видеоклипове, режими на заключена и активна стабилизация, нощ Поддръжка на зрението в портретен режим и функция за портретна светлина за регулиране на осветлението на портретни снимки автоматично. Няколко седмици след стартирането Google пусна повечето от тези функции за по-стари устройства Pixel чрез актуализация на Google Photos. И сега компанията сподели някои подробности за технологията зад функцията Portrait Light.
Според скорошен блог пост от компанията, функцията Portrait Light е вдъхновена от светлините извън камерата, използвани от портретните фотографи. Той подобрява портретните снимки чрез моделиране на преместващ се източник на светлина, който може да се добави към сцената. Когато се добави автоматично, източникът на изкуствена светлина автоматично настройва посоката и интензитета, за да допълни съществуващото осветление на снимката с помощта на машинно обучение.
Както Google обяснява, функцията използва нови модели за машинно обучение, които са били обучени с помощта на разнообразен набор от данни от снимки, заснети в Лека сцена изчислителна система за осветление. Тези модели позволяват две алгоритмични възможности:
- Автоматично поставяне на насочена светлина: Въз основа на алгоритъма за машинно обучение, функцията автоматично поставя изкуствена източник на светлина, който е в съответствие с начина, по който професионален фотограф би поставил източник на светлина извън камерата в реалния свят свят.
- Синтетично повторно осветяване след заснемане: Въз основа на посоката и интензитета на съществуващата светлина в портретна снимка, алгоритъмът за машинно обучение добавя синтетична светлина, която изглежда реалистично и естествено.
За автоматичното разположение на насочената светлина Google обучи модел за машинно обучение, за да оцени a висок динамичен диапазон, многопосочен профил на осветяване за сцена, базирана на входен портрет. Това ново модел за оценка на осветлението може да намери посоката, относителния интензитет и цвета на всички източници на светлина в сцената, идващи от всички посоки, като разглежда лицето като светлинна сонда. Той също така оценява главата на субекта с помощта на a MediaPipe лицева мрежа. Въз основа на горепосочените данни алгоритъмът след това определя посоката на синтетичната светлина.
След като са установени посоката и интензитетът на синтетичното осветление, следващият модел на машинно обучение добавя синтетичния източник на светлина към оригиналната снимка. Вторият модел беше обучен с помощта на милиони чифтове портрети, както със, така и без допълнителни светлини. Този набор от данни е генериран чрез фотографиране на седемдесет различни хора с помощта на системата за изчислително осветление Light Stage, което представлява сферична осветителна система, която включва 64 камери с различни гледни точки и 331 индивидуално програмируеми LED светлини източници.
Всеки от седемдесетте субекта е заснет, докато е осветен с една светлина наведнъж (OLAT) от всеки от 331 светодиода. Това породи техните отражателно поле, т.е. външният им вид като осветени от отделните участъци на сферичната среда. Отражателното поле кодира уникалния цвят и светлоотразителните свойства на кожата, косата и дрехите на обекта и определя колко лъскав или матов изглежда всеки материал на снимките.
След това тези OLAT изображения бяха линейно добавени заедно, за да изобразят реалистични изображения на обекта, както биха се появили във всеки друг осветителна среда, базирана на изображения, със сложни феномени на транспортиране на светлина като подповърхностно разсейване правилно представени.
След това, вместо да обучава алгоритъма за машинно обучение да предвижда директно изходните преосветени изображения, Google обучи модела да извежда изображение с ниска разделителна способност частно изображение които могат да бъдат приложени към оригиналното входно изображение, за да се получи желаният резултат. Този метод е изчислително ефективен и насърчава само нискочестотни промени на осветлението без въздействие върху високочестотните детайли на изображението, които се прехвърлят директно от входното изображение за поддържане качество.
Освен това Google обучи модел за машинно обучение, за да емулира оптичното поведение на светлинни източници, отразяващи се от относително матови повърхности. За да направи това, компанията обучи модела да оценява нормалите на повърхността, като даде входната снимка и след това го приложи Закон на Ламберт за изчисляване на "карта на светлинната видимост" за желаната посока на осветяване. След това тази карта на светлинната видимост се предоставя като входна информация за предсказателя на коефициентното изображение, за да се гарантира, че моделът е обучен с помощта на базирани на физика прозрения.
Въпреки че всичко това може да изглежда като дълъг процес, който би отнел доста време на хардуера от среден клас на Pixel 5, Google твърди, че функцията Portrait Light е оптимизирана да работи при интерактивни кадрови честоти на мобилни устройства, с общ размер на модела под 10MB.