En una publicación de blog reciente, Google detalló la tecnología detrás de la nueva función Portrait Light que debutó con Pixel 5 y Pixel 4a 5G.
Después de varias filtraciones y rumores, Google finalmente presentó el Pixel 5 y el Pixel 4a 5G a principios de septiembre de este año. Como era de esperar, los dispositivos venían con una gran cantidad de nuevas funciones de la cámara de Google que los diferencian de otros teléfonos Android del mercado. Estos incluyen Cinematic Pan para realizar panorámicas de vídeos sin vibraciones, modos de estabilización activa y bloqueada, Noche Soporte de vista en modo retrato y función de luz de retrato para ajustar la iluminación de los retratos automáticamente. Unas semanas después del lanzamiento, Google lanzó la mayoría de estas funciones para dispositivos Pixel más antiguos a través de una actualización de Google Fotos. Y ahora, la compañía ha compartido algunos detalles sobre la tecnología detrás de la función Portrait Light.
Según un reciente entrada en el blog
de la empresa, la función Portrait Light se inspiró en las luces fuera de cámara utilizadas por los fotógrafos de retratos. Mejora las tomas de retratos modelando una fuente de luz reposicionable que se puede agregar a la escena. Cuando se agrega automáticamente, la fuente de luz artificial ajusta automáticamente la dirección y la intensidad para complementar la iluminación existente de la foto mediante el aprendizaje automático.Como explica Google, la función utiliza novedosos modelos de aprendizaje automático que se entrenaron utilizando un conjunto de datos diverso de fotografías capturadas en el escenario de luz Sistema de iluminación computacional. Estos modelos permiten dos capacidades algorítmicas:
- Colocación automática de luz direccional: basada en el algoritmo de aprendizaje automático, la función coloca automáticamente una luz artificial. fuente de luz que sea consistente con cómo un fotógrafo profesional habría colocado una fuente de luz fuera de cámara en el mundo real. mundo.
- Reiluminación sintética post-captura: basada en la dirección e intensidad de la luz existente en un Toma de retrato, el algoritmo de aprendizaje automático agrega una luz sintética que parece realista y natural.
Para la ubicación automática de la luz direccional, Google entrenó un modelo de aprendizaje automático para estimar una alto rango dinámicoPerfil de iluminación omnidireccional para una escena basada en un retrato de entrada. esta nueva modelo de estimación de iluminación Puede encontrar la dirección, la intensidad relativa y el color de todas las fuentes de luz en la escena provenientes de todas las direcciones, considerando la cara como un sonda de luz. También estima la posición de la cabeza del sujeto utilizando un Malla frontal MediaPipe. A partir de los datos mencionados anteriormente, el algoritmo determina la dirección de la luz sintética.
Una vez establecidas la dirección y la intensidad de la iluminación sintética, el siguiente modelo de aprendizaje automático agrega la fuente de luz sintética a la foto original. El segundo modelo fue entrenado utilizando millones de pares de retratos, con y sin luces adicionales. Este conjunto de datos se generó fotografiando a setenta personas diferentes utilizando el sistema de iluminación computacional Light Stage. que es un equipo de iluminación esférico que incluye 64 cámaras con diferentes puntos de vista y 331 luces LED programables individualmente fuentes.
Cada uno de los setenta sujetos fue capturado mientras estaba iluminado una luz a la vez (OLAT) por cada uno de los 331 LED. Esto generó su campo de reflectancia, es decir, su apariencia iluminada por las secciones discretas del entorno esférico. El campo de reflectancia codificó el color único y las propiedades reflectantes de la luz de la piel, el cabello y la ropa del sujeto y determinó qué tan brillante u opaco aparecía cada material en las fotografías.
Estas imágenes OLAT luego se sumaron linealmente para generar imágenes realistas del sujeto tal como aparecerían en cualquier entorno de iluminación basado en imágenes, con fenómenos complejos de transporte de luz como dispersión subsuperficial representado correctamente.
Luego, en lugar de entrenar el algoritmo de aprendizaje automático para predecir las imágenes de salida directamente, Google entrenó el modelo para generar una imagen de baja resolución. imagen del cociente que podría aplicarse a la imagen de entrada original para producir el resultado deseado. Este método es computacionalmente eficiente y fomenta sólo cambios de iluminación de baja frecuencia sin impactando los detalles de la imagen de alta frecuencia que se transfieren directamente desde la imagen de entrada para mantener calidad.
Además, Google entrenó un modelo de aprendizaje automático para emular el comportamiento óptico de fuentes de luz que se reflejan en superficies relativamente mate. Para hacerlo, la compañía entrenó el modelo para estimar las normales de la superficie dada la foto de entrada y luego aplicó ley de lambert para calcular un "mapa de visibilidad de la luz" para la dirección de iluminación deseada. Luego, este mapa de visibilidad de la luz se proporciona como entrada al predictor de imagen del cociente para garantizar que el modelo se entrene utilizando conocimientos basados en la física.
Si bien todo esto puede parecer un proceso largo que le llevaría bastante tiempo al hardware de gama media del Pixel 5, Google afirma que la función Portrait Light se optimizó para ejecutarse a velocidades de fotogramas interactivas en dispositivos móviles, con un tamaño total de modelo inferior a 10 MB.