Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
son
factores de escala que transforman las unidades en pxeles a distancias, el parmetro representa
un coeficiente de asimetra entre los ejes
representan el punto principal, que idealmente debera estar situado en el centro de la imagen. La
proyeccin de un punto en 3D al plano de la imagen queda, por tanto, determinada por los
parmetros extrnsecos de la cmara (matriz de 3x3) y (vector de 3x1) y los parmetros
intrnsecos de la cmara, que se agrupan en una matriz de tamao 3x3. Utilizando coordenadas
homogneas podemos escribir:
()
) (
). (1
a b c
)
Tecnologa y matemticas en el cine y la televisin en tres dimensiones
F. Prez Nava, M. Rodrguez Valido, E. Magdaleno
6 Vol. 7, nm. 4 (diciembre 2011) matematicalia
El proceso para generar imgenes virtuales es simple si disponemos de una cmara de color para la
que poseemos la profundidad (coordenada Z) de cada pxel. Sin prdida de generalidad supongamos,
por simplificar, que dicha cmara se encuentra en el origen de coordenadas del mundo; entonces
es la matriz identidad y es el vector 0. Utilizando (1) tenemos que un elemento de la imagen m con
coordenadas homogneas
(2)
donde
es la profundidad correspondiente a
. (3
a
b c d e f
)
Por tanto, si se conocen todos los valores de profundidad de la cmara original, se puede recuperar la
imagen que obtendra la cmara virtual aplicando (3) a todos los valores de la imagen original.
3. Un sistema de televisin 3D utilizando Kinect
La televisin 3D se encuentra actualmente en fase de expansin; esto ha provocado que las
principales empresas tecnolgicas hayan hecho grandes inversiones en investigacin y desarrollo.
Sin embargo, y a un nivel bsico, es posible construir un sistema de 3DTV utilizando materiales
asequibles, matemticas bsicas y conocimientos elementales de programacin. En esta seccin
detallaremos paso a paso cmo hacerlo. Para ello utilizaremos el sensor de videojuegos Kinect como
dispositivo de captura 3D y utilizaremos la tcnica del RBIP para generar vistas virtuales utilizando
(3) y, de esa forma, mostrar las imgenes 3D en un monitor 3D autoestereoscpico que
construiremos nosotros mismos. Nuestro objetivo es ilustrar de forma prctica parte de los contenidos
presentados en las secciones anteriores.
3.1. Dispositivo de captura: sensor Kinect
El sensor Kinect es un dispositivo, diseado originalmente para la consola de juegos Xbox 360, que
es capaz de generar simultneamente una seal de vdeo en color de la escena junto a la
profundidad de todos los elementos que aparecen en sta. Para ello, el sensor est equipado con dos
cmaras (Figura 6): una cmara infrarroja (IR) que se utiliza para la deteccin de profundidad, y una
cmara en color. La deteccin de profundidades se realiza mediante el principio de la luz
estructurada. Un laser IR proyecta un conjunto de puntos a la escena cuya posicin se captura
mediante la cmara IR; estudiando la deformacin de estos puntos se puede recuperar la distancia de
los elementos de la escena. Las caractersticas tcnicas del sensor son las siguientes: resolucin de
la cmara IR de 640x480 pxeles, resolucin de la cmara de color de 1600x1200 pxeles, mxima
frecuencia de refresco de 60 imgenes/segundo, rango de recuperacin de distancias de 0.8-3.5m,
una resolucin espacial de 3mm a 2m de distancia y una resolucin en profundidad de 1cm a 2m de
distancia. Desde su lanzamiento se reconoci el potencial del sensor para realizar tareas distintas de
los juegos de ordenador. El espaol Hctor Martn fue el primero en desarrollar un controlador
independiente para el sensor. A este desarrollo le siguieron varios entornos de programacin de
cdigo abierto, y en la actualidad se pueden encontrar dos sistemas dominantes: OpenKinect [5] y
OpenNI [6]. OpenKinect es un proyecto de cdigo abierto basado en la realizacin de ingeniera
inversa sobre el sensor. OpenNI es un sistema de programacin de cdigo abierto que se conecta
con el sensor mediante un entorno de cdigo cerrado proporcionado por PrimeSense, que es la
empresa que desarroll la tecnologa en la que se basa Kinect. El precio del sensor es del orden de
unos 150 euros (2011).
Tecnologa y matemticas en el cine y la televisin en tres dimensiones
F. Prez Nava, M. Rodrguez Valido, E. Magdaleno
matematicalia Vol. 7, nm. 4 (diciembre 2011) 7
Figura 6. De izquierda a derecha: imagen en color de Kinect, imagen de distancias, imagen del sensor.
3.2. Calibracin
Dado que utilizaremos la tcnica del RBIP para generar las N vistas que necesitar el monitor 3D,
necesitamos que cada pxel de la imagen de color tenga asociada una distancia. Para ello podemos
utilizar la ecuacin (3) y asignar al punto m de la imagen de color la distancia medida para el punto m
en la imagen de profundidades. No obstante, para poder utilizar (3) necesitamos determinar todos los
parmetros desconocidos de la ecuacin: las matrices intrnsecas K y K de la cmara de distancias y
color de Kinect, junto con la matriz de rotacin R y la traslacin t entre ambas cmaras. A la
estimacin de estos parmetros se le llama proceso de calibracin. El proceso de calibracin de
cmaras es un campo bien estudiado y para el que existen varias soluciones de software libre. En la
librera OpenKinect el proceso de calibracin se lleva a cabo tomando varias imgenes de un plano
sobre el que se ha colocado un patrn similar a un tablero de ajedrez. A partir de las esquinas de los
cuadrados del tablero se obtiene una estimacin de la matriz K con los parmetros intrnsecos de la
cmara de color. Utilizando las esquinas se obtiene tambin una estimacin de la matriz K con los
parmetros intrnsecos de la cmara de profundidad. La localizacin de las esquinas tanto en la
imagen de color como en la de profundidad permite estimar la orientacin relativa entre ambas,
determinada por R y t. Este proceso puede eliminarse utilizando el entorno OpenNI, ya que ste
proporciona los parmetros del sensor establecidos en el proceso de fabricacin. Los parmetros
intrnsecos que calculan ambos entornos de programacin son ms complejos que los descritos en
(1), pues incluyen las posibles deformaciones de las lentes en ambas cmaras y la transformacin de
las disparidades que mide el sensor Kinect a distancias Z.
3.3. Alineacin de la imagen de profundidad y de color
Una vez aplicado el proceso de calibracin de la seccin 3.2, usando (3) se asigna a cada pxel de la
imagen de color su valor de profundidad tomado de la cmara de profundidades. Sin embargo, el
proceso se complica debido a que la imagen de profundidad tiene una cantidad significativa de
pxeles sin distancia. Esto es debido a diversas causas, tales como objetos fuera del rango de
distancias del sensor, superficies reflectantes u oclusiones (Figura 7), y provoca que la imagen de
color tenga pxeles para los que se desconoce su distancia. Para completar la imagen en color con
todas las profundidades se emplean los pxeles para los que se conoce tanto el color como la
profundidad, y se utiliza el principio intuitivo de que en regiones de la imagen donde hay poca
variacin de color, la variacin de profundidad debe ser tambin pequea. De forma analtica, para un
pxel x sin profundidad se estima Z(x) como:
() ( )()
()
( )
( )
( )
()
( ) (
() ()
)
donde () es un conjunto de puntos de la imagen de color alrededor de para los que se conoce su
profundidad. Cada uno de estos puntos colabora en la formacin de () en funcin de su cercana
geomtrica
en la imagen a y de la cercana () ()
de su color () al color de
denotado por (). Este tipo de filtrado se conoce como cross-bilateral filtering, y su cdigo de
programacin se puede encontrar en [7].
Tecnologa y matemticas en el cine y la televisin en tres dimensiones
F. Prez Nava, M. Rodrguez Valido, E. Magdaleno
8 Vol. 7, nm. 4 (diciembre 2011) matematicalia
Figura 7. De izquierda a derecha: regin sin distancia en la cmara de profundidad debida a oclusiones,
imagen de profundidad con regiones sin distancia (en azul oscuro), e imagen de profundidad corregida.
3.4 Generacin de vistas
Una vez obtenida la imagen en color con profundidad, generaremos vistas virtuales para el monitor
3D autoestereoscpico. Para ello utilizaremos la disposicin de paralaje cero (Figura 8). En esta
disposicin la ecuacin de RIBD (3) se simplifica, puesto que se verifican las relaciones en (4) y un
punto de coordenadas (
) con profundidad
(
) (
(4)
(
) (
) (
) ) (5)
Entonces, variando
()
con