Realizar un solapamiento cráneo-cara de forma automática

El algoritmo automático de solapamiento cráneo-cara POSEST-SFO estima los parámetros de la cámara, a partir de las coordenadas de un conjunto de pares de landmarks cefalométricos-craneométricos y el correspondiente estudio de tejido blando.

Posest-SFO: solapamiento cráneo-cara automático

Skeleton·ID tiene la capacidad de crear automáticamente un solapamiento cráneo-cara (SCC), siempre que se hayan ubicado cuatro o más puntos de referencia homólogos (cefalométricos y craneométricos) tanto en la fotografía como en el cráneo. A continuación, proporcionamos una descripción general de la tecnología detrás de esta función.

Realizar un SCC implica averiguar la posición, la orientación y los parámetros de la lente de la cámara con la que se tomó la fotografía AM. Esto se encuentra estrechamente relacionado con un problema clásico de la ingeniería informática llamado calibración de la cámara. Dada una foto de un objeto (o escena) conocido, el objetivo es encontrar la posición y orientación de la cámara que tomó la fotografía. En la Figura 1, una cámara está adquiriendo una fotografía de una iglesia desde una posición específica, lo que da como resultado la fotografía que se muestra en el centro de la imagen.

Una cámara adquiriendo una fotografía de una iglesia desde una posición concretaFigura 1. Una cámara adquiriendo una fotografía de una iglesia desde una posición concreta.

En el escenario más simple de calibración de la cámara, conocemos exactamente la geometría del objeto fotografiado y la lente de la cámara. Además, utilizamos a un analista para marcar una serie de puntos de referencia sobre la fotografía, como las esquinas del objeto (ver Figura 2).

Puntos de referencia correspondientes entre la iglesia y su fotografía resaltadosFigura 2. Puntos de referencia correspondientes entre la iglesia y su fotografía resaltados.

Usando estos puntos de referencia, se pueden escribir una serie de ecuaciones que relacionen la posición y la orientación de la cámara con la posición de los puntos de referencia en la foto y en el objeto. Resolver un sistema de ecuaciones de este tipo utilizando una computadora proporciona la ubicación y orientación exacta de la cámara. Este problema, conocido como Perspectiva desde n puntos, ha sido ampliamente estudiado debido a su relevancia en la visión por computadora y la robótica.

En el problema de SCC, el papel del objeto conocido lo desempeña el cráneo y los puntos sobresalientes son puntos de referencia anatómicos (craneométricos). Sin embargo, existen dos diferencias clave con respecto al escenario de calibración de cámara simple abordado con anterioridad.

Primero, la lente de la cámara suele ser desconocida, especialmente si la fotografía no es de una cámara digital moderna. Afortunadamente, un avance reciente en la visión por computadora proporcionó un método para resolver la calibración de la cámara incluso con una distancia focal desconocida (Bujnak et al. 2008) utilizando tan solo cuatro puntos de referencia.

La segunda diferencia, es que, en este caso, estamos tratando con dos objetos diferentes: el cráneo y la cara. Tenemos que compensar el hecho de que no conocemos exactamente la geometría del objeto que se muestra en la fotografía (es decir, la cara), pero sí conocemos la forma de un objeto relacionado (el cráneo). Específicamente, las posiciones de los puntos de referencia del cráneo y la cara son ligeramente diferentes, debido al tejido blando facial entre el cráneo y la superficie de la cara. Por lo tanto, necesitamos estimar la posición de los puntos de referencia faciales en función del punto de referencia del cráneo, que es lo mismo que calcular el vector de tejido blando entre los dos puntos de referencia. Cada vector tiene dos componentes: dirección y longitud. La longitud de dichos vectores se ha analizado mediante estudios poblacionales, teniendo en cuenta el género y la ascendencia. En cuanto a la dirección, en Skeleton·ID es simplemente la perpendicular a la superficie del cráneo en una pequeña región alrededor de los puntos de referencia craneométricos (Figura 3). Además, el usuario también puede determinarlo como parte del proceso de marcado.

Una captura de pantalla de Skeleton·ID que muestra un cráneo 3D con puntos de referencia craneométricos (puntos verdes) y vectores de tejido blando (flechas azules) que apuntan hacia los puntos de referencia faciales correspondientesFigura 3. Una captura de pantalla de Skeleton·ID que muestra un cráneo 3D con puntos de referencia craneométricos (puntos verdes) y vectores de tejido blando (flechas azules) que apuntan hacia los puntos de referencia faciales correspondientes.

Siguiendo estos principios, hemos desarrollado un novedoso algoritmo para realizar automáticamente el SCC llamado Posest-SFO (Valsecchi et al. 2018). Para ejecutar el algoritmo, se requieren los siguientes datos como entrada:

  • Una lista de al menos cuatro pares de puntos cefalométricos y craneométricos.

  • Un estudio de tejido blando que incluya al menos la distancia media entre los pares de puntos de referencia seleccionados.

  • Dirección del tejido blando para cada punto craneométrico (vectores).

Como resultado, Posest-SFO estima el conjunto de parámetros de la cámara que minimiza la distancia entre los puntos de referencia cefalométricos y sus correspondientes craneométricos una vez aplicada la dirección del vector y la información media de los tejidos blandos. La Figura 4 muestra el SCC resultante una vez aplicado el algoritmo de Valsecchi. Posest-SFO calcula la posición, orientación y distancia focal de la cámara.

Un SCC calculado por Posest-SFO. En el lado izquierdo se muestran los parámetros estimados de la cámara: focal (31,1 mm) y distancia cámara-sujeto (912, 72 cm) entre otros. Los puntos de color rosa representan los puntos cefalométricos y los conos verde-amarillo el correspondiente grosor y dirección de los tejidos blandos. La región verde representa los valores más comunes, mientras que la región amarilla representa los valores realistasFigura 4. Un SCC calculado por Posest-SFO. En el lado izquierdo se muestran los parámetros estimados de la cámara: focal (31,1 mm) y distancia cámara-sujeto (912, 72 cm) entre otros. Los puntos de color rosa representan los puntos cefalométricos y los conos verde-amarillo el correspondiente grosor y dirección de los tejidos blandos. La región verde representa los valores más comunes, mientras que la región amarilla representa los valores realistas.

  • Velocidad: el método de Valsecchi es extremadamente rápido, ya que proporciona el SCC resultante en 80 milisegundos. Esto permite la superposición automática de un cráneo sobre una base de datos de cientos de personas desaparecidas en cuestión de segundos.

  • Precisión: este algoritmo se ha estudiado adecuadamente (ver Valsecchi et al., 2018 para consultar datos estadísticos detallados). En particular, mostró un error medio de 2 mm en un conjunto de datos de 540 SCC utilizando 9 pares de puntos de referencia. Este error aumenta a medida que disminuye el número de pares de puntos de referencia, en particular, el error de 2,2, 2,5, 3,0, y 3,8 mm para 8, 7, 6 y 5 pares de puntos de referencia, respectivamente.

Comentarios finales y trabajo en curso

El algoritmo automático de SFO de Skeleton·ID es rápido y preciso. Sin embargo, su precisión está directamente relacionada con la cantidad y calidad de los datos. En particular, un gran número de pares de puntos de referencia (>8) ubicados con precisión junto con información adecuada de profundidad y dirección del tejido blando es crucial para aumentar la precisión y la confianza en los resultados automáticos.

A pesar de los excelentes resultados proporcionados por Posest-SFO, estamos trabajando para mejorarlo mediante:

  • Modelado de la articulación de la mandíbula dentro del proceso automático de SCC.

  • Estimación de la profundidad y de los tejidos blandos ad-hoc.

  • Incorporando información a priori (pose sin procesar, distancia estimada cámara-sujeto y / o distancia focal).

Referencias

M. Bujnak, Z. Kukelova, and T. Pajdla, “A general solution to the P4P problem for camera with unknown focal length,” in 2008 IEEE Conference on Computer Vision and Pattern Recognition, 2008.

Valsecchi, A., Damas, S., Cordón, O., 2018. A Robust and Efficient Method for Skull-Face Overlay in Computerized Craniofacial Superimposition. IEEE Transactions on Information Forensics and Security 13 (8), 1960-1974.

Lanzar el algoritmo POSEST-SFO en Skeleton·ID

  1. Para lanzar el algoritmo haremos clic en el botón Icono posest situado bajo la pestaña de capturas.

  2. Aparecerá la ventana de configuración del algoritmo (Figura 5), desde donde podremos seleccionar qué pares de landmarks guiarán al algoritmo (por defecto se usarán todos los pares posibles).

Configuración del algoritmo POSEST-SFOFigura 5. Configuración del algoritmo POSEST-SFO.

  1. Dándole al botón iniciar se cerrará la venta y en cuestión de pocos segundos se visualizará el solapamiento cráneo-cara resultante. Si alguno de los pares incluidos no contiene datos de grosor de tejido en el estudio utilizado, nos aparecerá un error indicando que no se han encontrado datos para esa pareja (Figura 6) y el algoritmo no se iniciará. En este caso, deberemos deseleccionar aquellos landmarks que se nos indiquen y volver a pulsar el botón de iniciar.

El algoritmo nos indica que en el estudio de tejido blando utilizado no hay datos para la pareja Exocanthion – Ectoconchion, por lo que deberemos deseleccionar dicha pareja en el listado de landmarks homólogosFigura 6. El algoritmo nos indica que en el estudio de tejido blando utilizado no hay datos para la pareja Exocanthion – Ectoconchion, por lo que deberemos deseleccionar dicha pareja en el listado de landmarks homólogos.

Solapamiento cráneo-cara obtenido mediante el algoritmo POSEST-SFOFigura 7. Solapamiento cráneo-cara obtenido mediante el algoritmo POSEST-SFO.