/Procesamiento-de-Campos-de-Luz

Algoritmos para el post-procesamiento de un campo de luz capturado; extracción de imágenes de sub-apertura de un campo de luz capturado con una cámara plenóptica afocal, sub-muestreo espacial y angular del campo de luz y secuencia sin discontinuidades utilizando el flujo óptico.

Primary LanguagePythonCreative Commons Attribution 4.0 InternationalCC-BY-4.0

Procesamiento-de-Campos-de-Luz

Este repositorio contiene el código fuente para los algoritmos enunciados a continuación, desarrollados en la asignatura de enfásis "Procesamiento de Imágenes y Video" en el programa de Ingeniería Electrónica de la Pontificia Universidad Javeriana. Autores: Juan Felipe Jaramillo Hernández, María Fernanda Hernández Baena, Valeria Méndez Sarmiento.

Se implementaron los siguientes algoritmos para el post-procesamiento de un campo de luz capturado; Se implementa un algoritmo para extraer las imágenes de sub-apertura de un campo de luz capturado con una cámara plenóptica afocal, una vez se obtienen las imágenes de sub-apertura, se implementa un algoritmo computacional para sub-muestrear espacial y angularmente el campo de luz, además, se implementa otro algoritmo para organizar el campo de luz en una secuencia sin discontinuidades utilizando el flujo óptico. El video y el artículo se pueden encontrar acá:

Video: https://youtu.be/X03ePM7yn4A Artículo: https://bit.ly/36EnkNd

Tabla de Contenidos

Resultados Obtenidos

A partir del siguiente campo de luz (capturado por una cámara plenóptica afocal de alta resolución) se logró extraer la vista central de todos los micro-lentes. El sensor de imagen consta de 220 x 176 micro-lentes, y una pequeña porción del campo de luz se puede observar a continuación:

Campo de luz capturado (Imagen propia)

Campo de luz HR

Vista central del campo de luz capturado, 220 x 176 (Imagen propia)

vista central - Campo de luz HR

Ya que la imagen anterior tiene una resolución pequeña (de acuerdo a la matriz de micro-lentes de la cámara plenóptica), se realiza una interpolación bicúbica sobre el resultado anterior:

Vista central interpolada del campo de luz capturado (Imagen propia)

vista central - Campo de luz HR - interpolada

Los resultados obtenidos anteriormente fueron los esperados, debido a la estructura de la malla de micro-lentes y la tecnología de la cámara plenóptica con la que se capturó. Sin embargo, dada la resolución obtenida, los siguientes resultados se obtuvieron de un campo de luz tomado del Conjunto de datos de Campos de Luz de Stanford.

A continuación, se muestra la secuencia sin discontinuidades obtenida después de implementar una organización de acuerdo al flujo óptico en las dimensiones X y Y entre las imágenes de sub-apertura del campo de luz, implementado en el algoritmo.

Campo de luz organizado en secuencia sin discontinuidades (Campo de luz tomado de [1])

secuencia sin discontinuidades - Campo de luz HR

Las imágenes de sub-apertura del campo de luz anterior son sub-muestreadas espacialmente por un factor K = 4, implementando el siguiente algoritmo.

Imagen de sub-apertura del campo de luz (Campo de luz tomado de [1])

Imagen sub-apertura Campo de luz HR

Imagen de sub-apertura del campo de luz sub-muestreada espacialmente (Campo de luz tomado de [1])

Imagen sub-apertura Campo de luz HR

Para el sub-muestreo angular, se utilizó el siguiente algoritmo para generar una imagen espacial del campo de luz completo.

Porción del campo de luz espacialmente completo (Campo de luz tomado de [1])

Campo de luz HR completo

La imagen completa anterior se sub-muestreó angularmente con el mismo algoritmo implementado anteriormente para sub-muestrear espacialmente las imágenes de sub-apertura. Una porción del resultado se muestra anterior:

Porción del campo de luz sub-muestreado angularmente (Campo de luz tomado de [1])

Campo de luz HR sub-muestreado

Referencias

[1] Conjunto de datos de Campos de Luz, Universidad de Stanford. Disponible en http://lightfield.stanford.edu/lfs.html