Está en la página 1de 10

Machine Translated by Google

Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.


La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

ESPEJOS Y CÁMARA DE PROFUNDIDAD BASADOS EN COINCIDENCIA


PARA LA RECONSTRUCCIÓN 3D

Trong-Nguyen Nguyen Huu-Hung Huynh


DIRO, Universidad de Montreal Universidad de Ciencia y Tecnología Danang,
Montreal, QC, Canadá Vietnam hhhung@dut.udn.vn
nguyetn@iro.umontreal.ca

Jean Meunier
DIRO, Universidad de Montreal
Montreal, QC, Canadá
meunier@iro.umontreal.ca

RESUMEN

La reconstrucción de modelos de objetos en 3D está jugando un papel importante en muchas


aplicaciones en el campo de la visión artificial. En lugar de emplear una colección de cámaras y/o
sensores como en muchos estudios, este documento propone una forma sencilla de construir un
sistema más económico para la reconstrucción 3D usando solo una cámara de profundidad y 2 o
más espejos. Cada espejo se considera equivalentemente como una cámara de profundidad en otro
punto de vista. Dado que todos los datos de la escena son proporcionados por un solo sensor de
profundidad, nuestro enfoque se puede aplicar a objetos en movimiento y no requiere ningún
arXiv:1908.06342v1
[cs.CV]
agosto
2019
de
17
protocolo de sincronización como con un conjunto de cámaras. Se realizaron algunos experimentos
en objetos fáciles de evaluar para confirmar la precisión de la reconstrucción de nuestro sistema propuesto.

1 INTRODUCCIÓN

En comparación con la imagen 2D, el procesamiento de información 3D generalmente requiere más cálculos y más
recursos, como memoria y capacidad de almacenamiento. Con el fuerte desarrollo de los dispositivos electrónicos en
términos de velocidad de procesamiento, muchas aplicaciones basadas en visión ahora se están enfocando en datos 3D
para explotar más información. Algunos investigadores realizaron la reconstrucción a partir de una secuencia de imágenes
captadas por una cámara en diferentes posiciones [11]. Un inconveniente obvio de tales métodos es que el objeto de
interés tiene que ser estático. Por lo tanto, para manejar objetos en movimiento, muchos estudios recientes emplearon un
sistema de múltiples cámaras a color [8] y/o sensores de profundidad [2]. La principal desventaja de estos enfoques es
que requieren un protocolo de sincronización (por ejemplo,
referencias 2 y 5) cuando se trabaja con objetos en movimiento, y en ocasiones cada cámara y/o sensor tiene que estar
conectado a un único ordenador. La latencia del sistema y el costo de los dispositivos aumentan.
Para superar estos problemas, nuestro enfoque emplea solo una cámara de profundidad junto con 2 o más espejos para
construir un sistema de reconstrucción 3D. La sincronización no es necesaria ya que todos los datos capturados son
proporcionados por un solo dispositivo y, por lo tanto, la complejidad y el costo de los equipos pueden reducirse.

Como se mencionó, una reconstrucción 3D podría realizarse con un sistema de cámaras de color básico (por ejemplo,
casco convexo). Sin embargo, hay algunas ventajas de usar un sensor de profundidad en este trabajo. La más importante
es que un mapa de profundidad podría indicar detalles en la superficie del objeto, como regiones cóncavas, mientras que
una combinación de siluetas de objetos proporciona un casco convexo con redundancias (ver Fig. 1). Otra razón es que
nuestro enfoque requiere calibraciones de espejos, es decir, estimar planos de espejos, por lo que un sensor de
profundidad reduce la complejidad de esta etapa.

Las cámaras de profundidad que se utilizan comúnmente en aplicaciones de visión se pueden clasificar en dos tipos:
basadas en coincidencia, por ejemplo, estéreo y luz estructurada (SL), y tiempo de vuelo (ToF). Vamos a presentar

Trong-Nguyen Nguyen, Huu-Hung Huynh y Jean Meunier, “Cámara de profundidad y espejos basados en
emparejamiento para la reconstrucción 3D”, Proc. SPIE 10666, Imagen tridimensional, visualización y visualización
2018, 1066610 (16 de mayo de 2018); https://doi.org/10.1117/12.2304427

1
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

parte redundante
ÿ ÿ ÿÿ ÿÿ ÿ ÿ

ÿÿÿ
objeto

Figura 1: Redundancia cuando se reconstruye un objeto 3D utilizando técnicas de modelado de formas o tallado
de espacio en las que las entradas son imágenes de tres colores. La región gris general es el resultado de la
reconstrucción.

brevemente estos dos mecanismos de estimación de profundidad para explicar por qué en nuestro enfoque se prefiere un
sensor de profundidad que utilice la técnica anterior. Un enfoque basado en coincidencias genera un mapa de profundidad
al hacer coincidir las imágenes de entrada. Una cámara estéreo captura dos imágenes en color de una escena en diferentes
puntos de vista, mientras que un dispositivo basado en SL proyecta una plantilla de luz y luego la compara con la imagen
correspondiente capturada con una cámara. Dado que este mecanismo está relacionado con el sistema de visión humana,
también podemos esperar una buena estimación de la profundidad del objeto detrás de los espejos. Una cámara ToF utiliza
un emisor y receptor de infrarrojos (IR) para medir la profundidad de la escena en función del tiempo de viaje de un pulso de
alta velocidad o el cambio de fase de una onda continua. Ambas medidas dependen de las trayectorias recorridas de las
señales IR, que son más difíciles de predecir con superficies de alta reflexión como los espejos. Por lo tanto, la profundidad
de los objetos reflejados podría deformarse significativamente. En resumen, el mapa de profundidad proporcionado por una
cámara de profundidad basada en coincidencia es más fácil de administrar que un sensor ToF en nuestra configuración.
Una ilustración de nuestra configuración se presenta en la Fig. 2.

objetos

espejo 1 Espejo 2
virtuales
ÿ
ÿ ÿ ÿÿ
ÿ

ÿ
ÿÿ real
objeto

ÿ
ÿ
ÿ
receptor IR emisor de infrarrojos

Figura 2: Una descripción general de nuestra configuración que incluye una cámara con estimación de profundidad de
luz estructurada, dos espejos y una esfera. La notación ÿ indica el ángulo entre las superficies de los dos espejos.

2
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

El resto de este documento está organizado de la siguiente manera. La confiabilidad del mapa de profundidad medido por el
emparejamiento de SL con espejos se analiza en la Sec. 2. La sección 3 menciona la forma de calibrar los planos de las
superficies de los espejos. La reconstrucción de la nube de puntos del objeto a partir del mapa de profundidad se presenta
en la Sec. 4. Nuestros experimentos y evaluación se muestran en la Sec. 5, y la sec. 6 presenta la conclusión.

2 FIABILIDAD DE LA LUZ ESTRUCTURADA A JUEGO CON ESPEJOS

Según la óptica geométrica, la imagen de un objeto se invierte cuando se ve en un espejo. Como se menciona en la Sec. 1,
la medición de profundidad basada en emparejamiento generalmente emplea un enfoque pasivo como estéreo o uno activo
como SL. Aunque las imágenes estéreo de un objeto detrás del espejo están invertidas, se puede esperar que el proceso de
coincidencia proporcione un mapa de profundidad confiable. Sin embargo, podemos suponer que una cámara basada en SL
puede generar ambigüedad ya que hay regiones reflejadas en la imagen capturada mientras que el patrón de luz
correspondiente aún no ha cambiado. Afortunadamente, esta ambigüedad no ocurre como se explica a continuación.
Consideremos un ejemplo de configuración en la Fig. 3, en el que el patrón de luz es

espejo

objeto
virtual
objeto real

emisor

receptor

Figura 3: Ejemplo de emisión y recepción de un patrón de luz estructurada en un espejo. El emisor (o proyector) es la fuente
que emite el patrón de luz y el receptor captura la escena iluminada.
El patrón recibido no se invierte porque los rayos se reflejan dos veces.

caracterizado por el orden de dos líneas de diferentes colores emitidas por el proyector. Es obvio ver que este patrón se
invierte en la superficie del objeto real. Este intercambio ocurre después de que los rayos de luz tocan la superficie del
espejo. El patrón recibido, sin embargo, es similar al original (en términos de orden) ya que toca la superficie del espejo dos
veces cuando viaja del emisor al receptor. Por lo tanto, el resultado de la coincidencia con una cámara basada en SL no se
verá afectado y será confiable.

3 CALIBRACION DEL ESPEJO

La calibración se considera el paso principal en la mayoría de las aplicaciones basadas en visión. Cuando se trata de un
sistema de cámaras, los investigadores suelen realizar la calibración para estimar no solo los parámetros internos de la
cámara, sino también la relación externa entre estas cámaras [2]. Incluso cuando trabajan en una configuración similar a la
nuestra, los investigadores también la consideran como una colección de cámaras realistas y virtuales [1]. Las soluciones
propuestas en dichos estudios emplean calibraciones externas. Nuestro trabajo evita esta redundancia al estimar solo la
matriz de la cámara interna junto con las superficies de los espejos en función de los datos de profundidad capturados. La
idea de usar planos de espejo es bastante simple: las partes del objeto que se ven en un espejo se reconstruirán reflejándolas
a través de este espejo. Dado que el proceso de calibración de la cámara ha sido abordado por muchos enfoques para la
entrada de color [7] y las imágenes de profundidad monocromáticas (p. ej., Ref. 2), esta sección solo menciona el último
problema.

3
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

Hay muchas formas de estimar el plano del espejo en función del mapa de profundidad proporcionado por la cámara.
Podría emplearse un método indirecto colocando uno o varios objetos de calibración fáciles de localizar (p. ej., un simple
marcador, un cilindro, un cubo) frente al espejo. Luego, el plano se determina en función de las coordenadas 3D de estos objetos
reales junto con los correspondientes virtuales detrás del espejo.
También es posible otro método, que estima directamente la superficie del espejo. El mapa de profundidad del marco del espejo
podría usarse para evaluar la posición del avión si es lo suficientemente grande. En nuestra configuración, el marco es
demasiado pequeño, por lo que la ecuación del plano de cada superficie del espejo se estimó en función de las coordenadas 3D
de algunos marcadores colocados en él. Dado que la profundidad Z de un píxel (x, y) viene dada por la imagen de profundidad,
el punto correspondiente (X, Y, Z) en el espacio 3D se puede localizar usando parámetros internos de la cámara de profundidad
como
ÿ1 ÿ1
[X, Y, Z] = Z · diag(f x , f y , 1)[x - cx, y - cy, 1] (1)

donde (cx, cy) es el punto principal de la imagen, fx y fy son distancias focales. Estos valores se pueden estimar fácilmente en
función de las técnicas estándar de calibración de cámaras [13].

Dado un conjunto de n marcadores, el plano del espejo, que se caracteriza por una colección de 4 parámetros (a, b, c, d), se
determina resolviendo la ecuación

X1 Y1 Z1 1 a
ÿ X2 Y2 Z2 1 ÿ ÿ bÿ
ÿ

. . . . ÿ

ÿ ÿ =0 (2)
ÿ
. . . . ÿ
C
. . . .
ÿXn Yn Zn 1 ÿ ÿd ÿ

el
donde (Xi , , Zi)podría
son lasaproximar
coordenadas
una 3D
solución
del marcador
realizando
i Yiuna
. Sedescomposición en valores singulares (SVD) en la primera matriz
[13]. Sin embargo, la información de profundidad estimada en entornos prácticos suele verse afectada por el ruido. El plano del
espejo obtenido puede tener una desviación significativa, especialmente cuando se trabaja en dispositivos de bajo costo. Por lo
tanto, aplicamos una combinación de RANSAC [6] y SVD para reducir el efecto de los valores atípicos (ruido) con el fin de
obtener mejores resultados. La siguiente sección describe en detalle el uso de superficies de espejo en la reconstrucción de una
nube de puntos 3D.

4 RECONSTRUCCIÓN 3D

Según nuestra configuración, que consiste en un objeto visto directamente por una cámara de profundidad y 2 o más espejos
alrededor, el objeto se representa en las imágenes capturadas como una colección de piezas del objeto, incluidas una real y
algunas virtuales, es decir, detrás de los espejos. Como se mencionó, todo el objeto se forma combinando los puntos reales
vistos directamente frente a la cámara con reflejos de piezas virtuales obtenidos a través de los correspondientes planos de
espejo.

En detalle, dada la matriz interna K que incluye los parámetros de la cámara en la ecuación. (1), un conjunto de n píxeles de
objeto {p˜}n en la imagen capturada y valores de profundidad correspondientes {Z}n, m planos de espejo {ÿ}m y límites de objeto
2D {ˆb}m, nuestro método para reconstruir un punto la nube {P} que representa el objeto es la siguiente:

En el Algoritmo 1, la reproyección en la línea 2 se realiza con base en la Ec. (1), y la reflexión en la línea 3 se realiza de acuerdo
con la siguiente ecuación [4]
ÿ1
Pr = P ÿ 2nˆ (P nˆ + d)ˆn (3)

donde Pr es el punto reflejado desde P a través de un plano de parámetros (a, b, c, d), y nˆ es el vector normal correspondiente,
es decir, nˆ = [a, b, c] .

Cuando se trabaja con objetos en movimiento, el Algoritmo 1 es una opción adecuada porque puede ejecutarse en tiempo real
con un bajo costo computacional. Sin embargo, en algunas situaciones, uno podría desear reconstruir una nube de puntos de un
objeto con una densidad más alta. La técnica del tallado espacial [9] es un enfoque adecuado en estos casos, especialmente
con objetos estáticos. La idea general de nuestro flujo de trabajo podría resumirse en el Algoritmo 2 siguiendo los pasos
realizados en cada vóxel de un volumen predefinido. En detalle, primero calculamos el píxel proyectado en función de las
coordenadas de vóxel y la matriz de cámara interna calibrada.
A continuación, se compara la profundidad P estimada correspondiente con la profundidad v del vóxel y se calcula una
desviación. El vóxel se mantiene en el volumen si dicha desviación es inferior a un umbral predefinido, es decir

4
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

Algoritmo 1: reconstrucción de una nube de puntos sin procesar del objeto a partir de una imagen de profundidad.

Datos: K, {p˜}n, {Z}n, {ÿ}m, { ˆb}m


Resultado: {P}
1 {P} ÿ ÿ; for
i ÿ 1 to n do Pi ÿ
2 Reproject(p˜i , Zi for j ÿ 1 to , K);
m do si p˜i dentro de ˆbj y Pi
detrás de ÿj entonces
3 Pi ÿ Reflejo(Pi , ÿj); descanso;
final final

4 {P} ÿ {P} ÿ Pi ; final

este vóxel corresponde a un punto real captado directamente por la cámara de profundidad. De lo contrario, el
vóxel se refleja a través de cada espejo y la verificación mencionada se repite en cada resultado de reflexión
virtual. El vóxel se elimina del volumen si la condición de desviación no se cumple con al menos un espejo.
Además del enfoque de creación de espacio que se presenta aquí, se podría obtener una nube de alta densidad
utilizando una cámara de alta resolución adicional y empleando un registro entre sus imágenes y los marcos de
profundidad capturados. Este método no se describe en este documento ya que uno de los objetivos de nuestro
trabajo es reducir el precio del dispositivo.

Dado un volumen de vóxel Vinit frente a los espejos y términos de entrada similares al Algoritmo 1, se aplica la
talla de espacio para crear el volumen de objeto correspondiente V tallado como en el Algoritmo 2. Notemos
que el origen del sistema de coordenadas en este algoritmo es el centro de la cámara. Con otro espacio 3D, se
requiere una transformación rígida [10] entre este y el espacio de la cámara, y los términos vectoriales en el
Algoritmo 2 (por ejemplo, vóxel v, punto P) deben recalcularse con respecto al centro de la cámara.

En algunos casos, la colección de píxeles del objeto {p˜}n puede definirse como un grupo de puntos que
representan una región que contiene el objeto en lugar de un conjunto de píxeles verdaderos. Dependiendo de
cada aplicación, así como de las propiedades visuales del objeto de interés, se podrían integrar algunas
condiciones adicionales en los dos algoritmos para reducir el ruido, es decir, puntos reconstruidos que no son
partes del objeto. En nuestros experimentos, nuestro sistema empleó tales restricciones, incluida la sustracción
de fondo y el filtrado de color. Este contenido no se describe en este documento ya que no juega un papel
principal en nuestros algoritmos propuestos.

5 EXPERIMENTO

5.1 CONFIGURACIÓN Y MEDICIÓN DE ERRORES

Para evaluar nuestro enfoque en la reconstrucción de nubes de puntos de objetos 3D, construimos una
configuración de una cámara de profundidad y dos espejos. La cámara empleada en nuestros experimentos es
una Microsoft Kinect 1, que proporciona información de profundidad emitiendo un patrón de puntos IR y
comparándolo con la imagen IR capturada correspondiente. Este dispositivo fue seleccionado por su bajo precio
y buen SDK con muchas funcionalidades [14]. Se utilizaron dos objetos en nuestros experimentos que consisten
en un cilindro y una esfera. La precisión de la reconstrucción se estimó ajustando cada nube de puntos
resultante de acuerdo con su forma real y luego calculando un error basado en la nube y los parámetros geométricos ajustados.
El error cuadrático medio (RMSE) se determinó según el centro y el radio ajustados en el caso de una esfera, y
el eje principal y el radio para el cilindro. También se estimó el valor medio de tales desviaciones para
proporcionar otro tipo de error que sea fácil de visualizar.

5
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

Algoritmo 2: Reconstruir un volumen de vóxeles que representan el objeto, en el que la asignación de valores
booleanos verdadero o falso a cada vóxel indica que este vóxel se mantiene o se elimina, respectivamente.
Notación:
th: un umbral relacionado con el grosor del límite del objeto reconstruido Zp˜: valor de
profundidad medido en el píxel p˜ Datos: Vinit, K, {p˜}n, {Z}n, {ÿ}m, { ˆb} m Resultado:

Vtallado Vtallado ÿ Vinit; th ÿ t0; foreach voxel v ÿ Vcarved do p˜ ÿ Project(v, K); si p /


˜ ÿ {p˜}n entonces v ÿ f también; Seguir; end P ÿ Reproject(p, Z ˜ v ÿ verdadero; si
Abs(v ÿ P) < th entonces continuar; de lo contrario para j ÿ 1 to m do vj ÿReflect(v,
ÿj); p˜j ÿ Project(vj , K); si p˜j ÿ { / p˜}n o p˜j no dentro de ˆbj entonces v ÿ f alse; break;
end Pj ÿ Reproject(p˜j , Zp˜j , K); si Abs(vj ÿ Pj) ÿ th luego v ÿ falso; romper; fin fin fin
fin

pag, K);

5.2 PRUEBA EN ESFERA

Con el objeto esférico, realizamos la reconstrucción en diferentes ángulos entre los dos espejos. La forma del
objeto se ajustó aplicando la técnica RANSAC sobre la nube obtenida. Luego se estimó el error RMSE con base
en la ecuación

norte
2
= i=1[dist(Pi , c˜) ÿ ]
esfera (4)
norte

donde dist es una función que mide la distancia euclidiana entre dos coordenadas de entrada, Pi es el elemento
th de n puntos 3D, c˜ y son el centro y el radio de la esfera ajustada, respectivamente. También se calculó un
experimentales
error de media
correspondientes
i simple como promedio
a la prueba deen
loslavalores
esfera se
de muestran
desviación,
enes
la decir,
Fig. 4.dist(Pi , c˜)ÿ. Nuestros resultados

Ambos errores medidos fueron inferiores a 1 centímetro. La longitud promedio de los radios estimados fue de 117
milímetros, mientras que el valor real, que se midió manualmente, fue de 115 milímetros. Los errores
correspondientes al enfoque de talla espacial siempre fueron mayores que los otros debido a su mayor densidad
de nubes y su superficie más gruesa. De acuerdo con las cuatro curvas de la Fig. 4, los errores de reconstrucción
tienden a ser más bajos en un grado específico entre espejos (alrededor de 120° en nuestro experimento). Por lo
tanto, podemos esperar que en una configuración arbitraria (en términos de distancia entre el objeto y la cámara y/o los espejos)

6
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

(a)

ÿ ÿ
ÿ nube cruda ÿ nube tallada ÿÿ
ÿÿ

(b)

Figura 4: (a) Errores de ajuste estimados al reconstruir una esfera con diferentes ángulos entre los dos
espejos, y (b) nubes de puntos reconstruidas que se ven desde diferentes puntos de vista. Los dos términos
"en bruto" y "tallado" indican las dos nubes de puntos reconstruidas por el Algoritmo 1 y 2, respectivamente.
Los diferentes colores en la nube indican puntos obtenidos de diferentes fuentes, es decir, una cámara de
profundidad y dos espejos.

con dos espejos, existe un ángulo entre ellos que proporciona nubes de puntos de objetos reconstruidos
con errores mínimos. Este valor se puede estimar por ensayo y error.

5.3 PRUEBA EN CILINDRO

Al trabajar en la esfera, nos enfocamos en las coordenadas de su centro y el radio. Con el cilindro, la
medición del error se realizó con base en la ecuación lineal de su eje y longitud del radio. El experimento
se realizó bajo diferentes distancias promedio entre el objeto y los dos espejos.
También se empleó RANSAC para ajustar la nube de puntos. El error se midió como
norte
2
= i=1[dist(Pi , ) ÿ ]
cilindro (5)
norte

donde es la línea recta correspondiente al eje del cilindro, dist calcula la distancia desde un punto 3D a una
línea y es el radio del cilindro ajustado. El error medio mencionado se estima calculando la media de las
desviaciones dist(Pi , ) ÿ Los resultados obtenidos. se
unpresentan
par de nubes
en lareconstruidas
Fig. 5 junto con
paralalos
visualización
puntos de vista
de
superior y lateral. El radio verdadero era de 150 milímetros.

De manera similar a nuestros experimentos anteriores, los errores medidos en las nubes sin procesar son menores que en los
resultados de la talla del espacio. Estos gráficos también muestran que cuando aumenta la distancia entre el objeto probado y
los espejos, los errores de ajuste del primer enfoque tienden a disminuir ligeramente, mientras que el último va en el mismo sentido.

7
Machine Translated by Google

Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.


La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

(a)

(b)

nube obtenida nube obtenida


por Algoritmo 1 por Algoritmo 2

Figura 5: (a) Errores de ajuste al aplicar nuestro enfoque en un cilindro a diferentes distancias (promedio) de los dos
espejos, y (b) visualización de las nubes (puntos de vista superior y lateral), en el que tres colores corresponden a
puntos generados a partir de la cámara de profundidad y 2 espejos.

direccion opuesta. Esta propiedad puede explicarse basándose en imágenes de profundidad 2D capturadas. Como
es habitual, podemos suponer que la información de profundidad, que se mide directamente, suele ser más fiable que
la reflejada. Al aumentar la distancia mencionada, el número de píxeles que representan la parte del objeto vista
directamente por la cámara también es mayor, y dicha cantidad en las regiones del espejo se reduce. Así, los errores
de reconstrucción se reducen debido a la mayor proporción de información más fiable.
Sin embargo, este cambio reduce la precisión del enfoque de creación de espacio porque los espejos generan nubes
3D reales en las que los puntos son más dispersos. Por lo tanto, los subvolúmenes de tales regiones podrían tallarse
incorrectamente y producir errores mayores. Este inconveniente se puede superar realizando una interpolación en las
imágenes de profundidad para proporcionar un nivel de subpíxel para la proyección 2D de cada vóxel. De acuerdo
con estas propiedades, podemos obtener buenos resultados al usar cualquiera de los dos algoritmos propuestos
creando una configuración en la que todos los dispositivos estén cerca unos de otros alrededor del objeto. En nuestros
experimentos, la distancia entre el Kinect y los objetos probados fue de unos 2 metros.

Como ilustración de una aplicación práctica, también intentamos reconstruir una nube de puntos 3D que representa
un cuerpo humano en base a la configuración experimental. Los resultados obtenidos se muestran en la Fig. 6.
Creemos que estas nubes son aceptables para aplicaciones realistas como la marcha humana o el análisis de formas.

8
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

Figura 6: Nubes de puntos reconstruidas de un cuerpo humano con la misma postura. Este proceso se realizó aplicando el
Algoritmo 1 propuesto sobre información de profundidad con ruido. Los puntos correspondientes al suelo se pueden eliminar
fácilmente como un paso de procesamiento posterior basado en la calibración del suelo.

5.4 IMPLEMENTACIÓN

Nuestro sistema experimental se ejecutó en una computadora de potencia media basada en código C++ no optimizado y las
dos populares bibliotecas de código abierto Point Cloud Library [12] y OpenCV [3].
Las imágenes de profundidad en nuestro trabajo fueron capturadas con la mayor resolución posible (640 × 480 píxeles) por el
SDK versión 1.8. Se podría esperar que nuestro sistema reconstruya la nube de puntos del objeto utilizando el Algoritmo 1 en
tiempo real, ya que nuestro código no optimizado procesó cada cuadro en aproximadamente 0,2 segundos.
Incluso se puede aumentar la velocidad de ejecución optimizando el código fuente de asignación y administración de memoria,
así como empleando el poder del procesamiento paralelo y/o subprocesos múltiples.
Por lo tanto, nuestro enfoque podría integrarse en sistemas basados en visión sin afectar significativamente el tiempo
computacional.

6 CONCLUSIÓN

A lo largo de este artículo, se ha propuesto un enfoque que supera los problemas de sincronización para reconstruir una nube
de puntos de un objeto 3D. Nuestro sistema puede funcionar con un bajo costo computacional con dispositivos de bajo costo ya
que la configuración propuesta emplea solo una cámara de profundidad basada en emparejamiento junto con algunos espejos.
Los dos algoritmos descritos, es decir, la combinación de puntos reflejados y la talla de espacio, son apropiados para trabajar
con objetos dinámicos (por ejemplo, una persona que camina en una cinta rodante para el análisis de salud) y estáticos,
respectivamente. En resumen, nuestro enfoque puede desempeñar un papel importante en un sistema de reconstrucción 3D de
bajo precio y puede proporcionar modelos de objetos intermedios aceptables para una amplia variedad de aplicaciones prácticas
en muchos campos de investigación. En el trabajo futuro, tenemos la intención de integrar nuestro método en los problemas de
análisis de la marcha humana para la evaluación de la salud.

EXPRESIONES DE GRATITUD

´
Los autores desean agradecer al profesor Sebastien Roy, 3D Vision Lab, DIRO, por sus útiles comentarios sobre este trabajo.
También nos gustaría agradecer al NSERC (Consejo de Investigación de Ciencias Naturales e Ingeniería de Canadá) por haber
apoyado este trabajo (Discovery Grant RGPIN-2015-05671).
Este trabajo también fue apoyado por la Universidad de Ciencia y Tecnología, Universidad de Danang, número de código del
Proyecto: T2018-02-03.

REFERENCIAS
[1] A. Akay y YS Akgul. Reconstrucción 3d con espejos y cámaras rgb-d. En Computer Vision Theory and Applications
(VISAPP), 2014 International Conference on, volumen 3, pp.
325–334, enero de 2014.

[2] E. Auvinet, J. Meunier y F. Multon. Calibración de múltiples cámaras de profundidad y reconstrucción del volumen corporal
para el análisis de la marcha. En Ciencias de la información, procesamiento de señales y sus aplicaciones (ISSPA), 2012
11th International Conference on, págs. 478–483, julio de 2012. doi: 10.1109/ISSPA.2012.6310598.

9
Machine Translated by Google
Publicado en SPIE Conference on Three-Dimensional Imaging, Visualization, and Display 2018.
La versión final autenticada está disponible en: https://doi.org/10.1117/12.2304427

[3] Gary Bradski y Adrian Kaehler. Aprendiendo OpenCV: visión artificial con la biblioteca OpenCV. O'Reilly,
Cambridge, MA, 2008.
[4] Harold Scott Macdonald Coxeter y Samuel L Greitzer. Geometría revisitada, volumen 19. Maa,
1967.

[5] T. Duckworth y DJ Roberts. Sincronización de imágenes de cámara en múltiples cámaras Reconstrucción 3D en


tiempo real de humanos en movimiento. En Distributed Simulation and Real Time Applications (DS-RT), 2011
IEEE/ACM 15th International Symposium on, págs. 138–144, septiembre de 2011. doi: 10.1109/DS-RT.2011.15.

[6] Martin A. Fischler y Robert C. Bolles. Consenso de muestra aleatoria: un paradigma para el ajuste de modelos
con aplicaciones al análisis de imágenes y cartografía automatizada. Comunicaciones de la ACM, 24(6):381–
395, 1981.

[7] Richard Hartley y Andrew Zisserman. Geometría de vista múltiple en visión artificial. Leva
editorial universitaria puente, 2003.
[8] SM Khan, P. Yan y M. Shah. Un marco homográfico para la fusión de siluetas multivista. En 2007 IEEE 11th
International Conference on Computer Vision, págs. 1 a 8, octubre de 2007. doi: 10.1109/ICCV.2007.4408897.

[9] Kiriakos N Kutulakos y Steven M Seitz. Una teoría de la forma por la talla del espacio. Internacional
Revista de visión por computadora, 38(3):199–218, 2000.
[10] Ricardo Legarda-Sa, Thorsten Bothe, Werner P Ju, et al. Procedimiento preciso para la calibración de un sistema
de luz estructurada. Ingeniería óptica, 43(2):464–471, 2004.
[11] Marc Pollefeys, Reinhard Koch, Maarten Vergauwen y Luc Van Gool. Reconstrucción automatizada de escenas
3d a partir de secuencias de imágenes. ISPRS Journal of Photogrametry and Remote Sensing, 55(4):251–267,
2000.
[12] Radu Bogdan Rusu y Steve Cousins. 3D está aquí: biblioteca de nubes de puntos (PCL). En la Conferencia
Internacional IEEE sobre Robótica y Automatización (ICRA), Shanghái, China, del 9 al 13 de mayo de 2011.

[13] Ricardo Szeliski. Visión artificial: algoritmos y aplicaciones. Ciencia y negocios de Springer
Medios, 2010.

[14] Jarret Webb y James Ashley. Empezar a programar Kinect con Microsoft Kinect SDK. Prensa, 2012.

10

También podría gustarte