Metodología de integración orientada (1)

Anuncio
c Luis Ismael Minchala Avila, 2011
Metodologı́a de integración orientada a las técnicas
de visión estereoscópica e iluminación estructurada
para obtener atributos 3D en la inspección de
objetos
por
Ing. Luis Ismael Minchala Avila
Tesis
Presentada al Programa de Graduados de la
División de Mecatrónica y Tecnologı́as de la Información
como requisito parcial para obtener el grado académico de
Maestro en Ciencias
especialidad en
Automatización
Instituto Tecnológico y de Estudios Superiores de Monterrey
Campus Monterrey
Mayo de 2011
Instituto Tecnológico y de Estudios Superiores de
Monterrey
Campus Monterrey
División de Mecatrónica y Tecnologı́as de la Información
Programa de Graduados
Los miembros del comité de tesis recomendamos que la presente tesis de Luis Ismael
Minchala Avila sea aceptada como requisito parcial para obtener el grado académico
de Maestro en Ciencias, especialidad en:
Automatización
Comité de tesis:
Dr. Luis Eduardo Garza Castañón
Asesor de la tesis
MSc. Luis Rosas Cobos
Dr. Francisco Palomera Palacios
Sinodal
Sinodal
Dr. Gerardo Castañón Avila
Director del Programa de Graduados
Mayo de 2011
El buen ejemplo, la honestidad y la perseverancia son un legado que se los debo a mis
formadores, quienes con amor y comprensión han sabido enrumbarnos a nosotros, sus
hijos, por el camino del bien. Gracias Papi y Mami por ser mi infinita fuente de
inspiración, a ustedes va dedicado éste trabajo con el que culmino una importante
etapa de formación profesional.
Reconocimientos
La consecución no solo de éste trabajo, sino de una productiva estancia en México se las debo a muchas personas valiosas que tuve la oportunidad de conocer en el
ITESM. Quiero agradecer de manera especial al Dr. Luis Eduardo Garza Castañón por
su intenso apoyo en la fase de investigación, adicionalmente me es grato reconocer el
importante aporte de los miembros del comité de tesis: Dr. Francisco Palomera Palacios
y MSc. Luis Rosas Cobos.
A los grandes amigos que he conocido en México les debo un agradecimiento
especial, ya que permitieron que el perı́odo de estudios de maestrı́a además de ser
enriquecedor en conocimiento, sea un espacio de crecimiento personal; y sobre todo
gracias a esa increı́ble persona que me supo apoyar a pesar de la distancia que nos
separa, Alejandra.
Luis Ismael Minchala Avila
Instituto Tecnológico y de Estudios Superiores de Monterrey
Mayo 2011
v
Metodologı́a de integración orientada a las técnicas
de visión estereoscópica e iluminación estructurada
para obtener atributos 3D en la inspección de
objetos
Luis Ismael Minchala Avila, M.C.
Instituto Tecnológico y de Estudios Superiores de Monterrey, 2011
Asesor de la tesis: Dr. Luis Eduardo Garza Castañón
Resumen
El control de calidad al final de las lı́neas de manufactura es un punto neurálgico en el
proceso de fabricación de un producto, más aún si se considera que mayoritariamente se
realiza de manera manual. Disminuir los errores de estimación en mediciones de distancias y formas, además de aumentar el número de piezas inspeccionadas por unidad de
tiempo en una lı́nea de producción es el objetivo de muchos trabajos de investigación,
por lo que en el desarrollo de esta tesis se propone una metodologı́a que permita implementar un sistema de inspección tridimensional en una lı́nea de manufactura.
En esta tesis se plantea la captura de información relacionada con la geometrı́a
de los objetos y a través de sus caracterı́sticas tridimensionales emitir un reporte con
información de distancias y formas dentro de rangos establecidos de tolerancia propios
del sistema de visión, que permitan decidir si éstos continúan el proceso de fabricación
o deben ser redireccionados para su reparación o desecho. Las soluciones actuales a esta
problematica se enfocan principalmente en inspeccionar los objetos en 2D, mientras que
las soluciones de tres dimensiones son extremadamente costosas y se basan en técnicas
de visión estereoscópica o iluminación estructurada por separado, teniendo como base
la triangulación para generar información del espacio tridimensional. En este trabajo
de investigación las dos técnicas anteriores se fusionan para establecer un enfoque de
sensor 3D, que analiza en detalle las caracterı́sticas tridimensionales de los productos
y las partes que lo componen. Los resultados se cuantifican a través de las diferentes
respuestas que nos brinda un prototipo construido para desarrollar esta metodologı́a,
compuesto por dos cámaras para visión estereoscópica y un haz de luz estructurado.
La integración de las técnicas de visión estereoscópica e iluminación estructurada,
que es el principal aporte de éste trabajo de investigación, considera la simplificación
del problema de correspondencia de puntos que presentan el par de imágenes estéreo, a
través del análisis del patrón de luz estructurado que se encuentra proyectado sobre el
objeto bajo análisis, lo que permite reducir la complejidad de los algoritmos y mejorar
los tiempos de procesamiento en el software.
vii
Índice general
Reconocimientos
V
Resumen
VI
Índice de tablas
XI
Índice de figuras
XII
Lista de sı́mbolos
XIV
Capı́tulo 1. Introducción
1.1. Introducción . . . . . . . . . . . . . .
1.2. Definición del Problema y Motivación
1.3. Meta . . . . . . . . . . . . . . . . . .
1.4. Objetivos . . . . . . . . . . . . . . .
1.5. Hipótesis . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Capı́tulo 2. Fundamentos de visión estereoscópica e iluminación estructurada para el cálculo de posición de objetos en el espacio
2.1. Aspectos generales de una configuración estereoscópica . . . . . . . . .
2.2. Herramientas matemáticas para localización espacial . . . . . . . . . .
2.2.1. Representación de la posición . . . . . . . . . . . . . . . . . . .
2.2.2. Representación de la orientación . . . . . . . . . . . . . . . . . .
2.2.3. Coordenadas y matrices homogéneas . . . . . . . . . . . . . . .
2.3. Modelo de la cámara . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Matriz de transformación para perspectiva . . . . . . . . . . . .
2.3.2. Proyección ortogonal y de perspectiva débil . . . . . . . . . . .
2.3.3. Estimación de puntos 3D utilizando sistemas de visión artificial
2.4. Estimación de la matriz de calibración con un enfoque práctico . . . . .
2.4.1. Ejemplo de calibración de dos cámaras y cálculo de posición 3D
2.5. Iluminación estructurada . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1. Triangulación Activa . . . . . . . . . . . . . . . . . . . . . . . .
viii
1
1
3
4
5
6
7
7
10
10
11
15
16
17
20
21
22
24
25
26
2.5.2. Iluminación estructurada . . . . . . . . . . . . . . . . . . . . . .
2.6. Trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7. Aporte al conocimiento . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capı́tulo 3. Construcción y calibración de un prototipo para pruebas
experimentales
3.1. Diseño y construcción del prototipo . . . . . . . . . . . . . . . . . . . .
3.1.1. Cámaras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2. Proyector luz estructurada . . . . . . . . . . . . . . . . . . . . .
3.1.3. Circuito de control y comunicación con la PC . . . . . . . . . .
3.2. Ventajas de la configuración estereoscópica con iluminación estructurada
3.3. Calibración del sistema de visión . . . . . . . . . . . . . . . . . . . . .
3.3.1. Adquisición de las imágenes . . . . . . . . . . . . . . . . . . . .
3.3.2. Pre-procesamiento de las imágenes . . . . . . . . . . . . . . . .
3.3.3. Barrido del ángulo del láser . . . . . . . . . . . . . . . . . . . .
3.3.4. Correspondencia de puntos . . . . . . . . . . . . . . . . . . . . .
3.3.5. Cálculo de las matrices de calibración . . . . . . . . . . . . . . .
3.4. Validación de la calibración del sistema . . . . . . . . . . . . . . . . . .
Capı́tulo 4. Desarrollo de una metodologı́a para inspección de objetos
con visión estereoscópica e iluminación estructurada
4.1. Evaluación del desempeño del prototipo . . . . . . . . . . . . . . . . .
4.1.1. Precisión del sistema . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2. Pruebas de precisión sobre un objeto de manufactura . . . . . .
4.1.3. Operación bajo diferentes condiciones de iluminación . . . . . .
4.2. Metodologı́a utilizada en el desarrollo del proyecto . . . . . . . . . . . .
4.3. Metodologı́a para la integración de visión estéreo e iluminación estructurada para la inspección de objetos y adquirir atributos 3D . . . . . .
4.3.1. Selección de los componentes del sistema . . . . . . . . . . . . .
4.3.2. Configuración del ambiente de trabajo . . . . . . . . . . . . . .
4.3.3. Desarrollo y pruebas de algoritmos de Pre-procesamiento de imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.4. Validación de la calibración del sistema . . . . . . . . . . . . . .
4.3.5. Decodificación de información tridimensional . . . . . . . . . . .
28
30
32
34
34
36
38
39
40
43
43
44
46
47
49
52
58
58
58
63
65
66
68
70
71
72
74
74
Capı́tulo 5. Conclusiones y trabajos futuros
5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
76
78
Apéndice A. Algoritmo de calibración en Matlab
79
ix
Apéndice B. Programación Basic del microcontrolador
82
Bibliografı́a
85
x
Índice de tablas
2.1. Datos de dos cámaras distintas y de puntos en el espacio. . . . . . . . .
2.2. Resultados obtenidos con el software implementado en Mathscript de
LabVIEW y/o Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1. Heurı́sticas para la localización de los puntos de inflexión. . . . . . . . .
3.2. Puntos de calibración en el espacio y coordenadas en el par de imágenes
estéreo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. Resultados de la validación de la calibración del sistema. . . . . . . . .
4.1. Resultados de la medición de distancias sobre el rectángulo de prueba. .
4.2. Resultados de la medición de distancias sobre la pieza de la figura 4.2. .
4.3. Resultados de la medición de distancias sobre la pieza manufactura de
la figura 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xi
25
26
50
55
56
60
62
65
Índice de figuras
2.1.
2.2.
2.3.
2.4.
Configuración de un par de cámaras en el espacio. . . . . . . . . . . . .
Configuración estereo con una cámara y un proyector de luz. . . . . . .
Representación de un vector en un sistema coordenado cartesiano derecho.
Representación de un vector en un sistema de coordenadas polares y
cilı́ndricas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Representación de un vector en un sistema de coordenadas esféricas. . .
2.6. Orientación de un sistema móvil OU V con relación a uno fijo OXY . . .
2.7. Rotación del sistema OU V W con respecto a los ejes OX, OY y OZ. .
2.8. Transformación de perspectiva. . . . . . . . . . . . . . . . . . . . . . .
2.9. Transformación de perspectiva. El sensor de la cámara está en el centro
de la proyección. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10. Comparación de proyecciones: perspectiva y ortogonal. . . . . . . . . .
2.11. Arquitectura de un sistema de triangulación activa básico. . . . . . . .
2.12. Patrón de franjas codificado y proyectado sobre un objeto cilı́ndrico. . .
2.13. Proyección de un patrón tipo rejilla sobre objetos 3D [15] . . . . . . . .
2.14. Concepto de Iluminación Estructurada. . . . . . . . . . . . . . . . . . .
2.15. Sistema propuesto en [6] . . . . . . . . . . . . . . . . . . . . . . . . . .
2.16. Sistema propuesto en [21] . . . . . . . . . . . . . . . . . . . . . . . . .
2.17. Arquitectura del sistema propuesto en [11] . . . . . . . . . . . . . . . .
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
Disposición de las cámaras y el patrón de iluminación en el prototipo. .
Arquitectura del sistema de visión 3D prototipo. . . . . . . . . . . . . .
Sistema prototipo implementado. . . . . . . . . . . . . . . . . . . . . .
Comparación USB - IEEE 1394. . . . . . . . . . . . . . . . . . . . . . .
Proyector de luz estructurada. . . . . . . . . . . . . . . . . . . . . . . .
Circuito de control y comunicación. . . . . . . . . . . . . . . . . . . . .
PCB del circuito de control y comunicación. . . . . . . . . . . . . . . .
Problema de correspondencia analizado con correlación cruzada. . . . .
Simplificación del problema de correspondencia a través de la redundancia del sistema de visión. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10. Diagrama de flujo del algoritmo de calibración. . . . . . . . . . . . . . .
xii
8
9
10
11
12
13
14
17
18
20
27
27
28
29
30
31
32
35
36
37
39
40
41
42
43
44
45
3.11. Adquisición de imágenes en LabVIEW. . . . . . . . . . . . . . . . . . .
3.12. Preprocesamiento de las imágenes. . . . . . . . . . . . . . . . . . . . .
3.13. Esqueletización de la imagen preprocesada. . . . . . . . . . . . . . . . .
3.14. Conectividad entre pı́xeles. . . . . . . . . . . . . . . . . . . . . . . . . .
3.15. Formaciones de las submatrices 5 × 5 y 3 × 3 para el criterio de las
heurı́sticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.16. Diseño del patrón de calibración. . . . . . . . . . . . . . . . . . . . . .
3.17. Puntos de calibración en la pieza. . . . . . . . . . . . . . . . . . . . . .
3.18. HMI implementado en LabVIEW para el proceso de calibración. . . . .
3.19. Dispersión del error en las mediciones de distancia realizadas sobre el
objeto patrón. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.
4.2.
4.3.
4.4.
4.5.
Objeto de prueba para mediciones longitudinales. . . . . . . . . . . . .
Medición del ancho de una pieza tridimensional. . . . . . . . . . . . . .
Reconstrucción del patrón de calibración en 3D. . . . . . . . . . . . . .
Objeto de manufactura utilizado para comprobar la precisión del sistema.
Preprocesamiento fallido de la imagen. Sistema funcionando en un ambiente con demasiada luz. . . . . . . . . . . . . . . . . . . . . . . . . .
4.6. Preprocesamiento exitoso sobre una de las imágenes capturadas del par
estéreo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Pasos seguidos a lo largo del camino de investigación. . . . . . . . . . .
4.8. Metodologı́a para la integración de las técnicas de visión estereoscópica
e iluminación estructurada para inpección de objetos en 3D. . . . . . .
4.9. Selección del lente de la resolución y el lente de la cámara. . . . . . . .
4.10. Niveles de procesamiento en aplicaciones que involucran imágenes digitales.
4.11. Decodificación de puntos de inflexión. . . . . . . . . . . . . . . . . . . .
xiii
46
46
48
49
51
52
53
54
57
59
61
63
64
66
66
67
69
70
73
75
Lista de sı́mbolos
Sı́mbolo
W
P
W
P 1O
r
θ
φ
T
I
P
I
CW
F
C Π(f )
c0 , . . . , c 4
r0 , . . . , r4
∼ ∼
c∼
0 , c1 , c2
r0∼ , r1∼ , r2∼
Abreviaturas
FOV
fl
IEEE 1394
IIDC
Punto en el espacio con coordenadas (W Px ,W Py ,W Pz )
Rayo de proyección entre W P y el centro coordenado de la cámara 1
Distancia medida en un sistema coordenado cartesiano desde el origen
hasta la punta del vector con coordenadas (W Px ,W Py ,W Pz )
Ángulo formado por el eje de las abscisas en un sistema coordenado
cartesiano y la proyección de un vector v, en el plano xy
Ángulo formado por el eje z y un vector v en el espacio
Matriz de transformación homogénea
Punto del espacio proyectado en la cámara, con coordenadas (r, c)
Matriz de transformación de coordenadas espaciales a coordenadas de la
imagen (r, c), luego de la adquisición
Matriz de transformación para perspectiva
Columnas de una submatriz de 5 × 5 de la imagen original para aplicar
las heurı́sticas que permiten encontrar los puntos de inflexión
Renglones de una submatriz de 5 × 5 de la imagen original para aplicar
las heurı́sticas que permiten encontrar los puntos de inflexión
Columnas de una submatriz de 5 × 5 de la imagen original para aplicar
las heurı́sticas que permiten encontrar los puntos de inflexión
Renglones de una submatriz de 3 × 3 de la imagen original para aplicar
las heurı́sticas que permiten encontrar los puntos de inflexión
Field of View, ó campo de visión.
Focal length
Bus de comunicación estándar para cámaras digitales
Industrial and Instrumentation specification for Digital Cameras
xiv
Capı́tulo 1
Introducción
1.1.
Introducción
La geometrı́a de un objeto es invariante con respecto a rotaciones, suciedad e incluso condiciones de iluminación. Además, la forma de un objeto es la caracterı́stica
que normalmente es requerida en los propósitos de inspección de calidad. La mayorı́a
de técnicas actuales para control de calidad utilizando visión artificial, basan su funcionamiento en imágenes adquiridas por una sola cámara y un exhaustivo procesamiento
de las mismas en una PC o en un procesador con una aplicación de visión artificial embebida corriendo en tiempo real, que comunica la decisión de la inspección realizada
sobre el objeto al sistema (normalmente de control) para que éste realice la clasificación
de manera adecuada. A pesar de que la iluminación juega un rol fundamental en las
aplicaciones de visión artificial 2D, el objetivo fundamental en estas aplicaciones es homogeneizar la cantidad de luz sobre los objetos a analizar, eliminar reflejos y sombras,
etc. Los atributos que se pueden obtener del procesamiento de imágenes 2D tienen que
ver principalmente con mediciones de longitudes, diámetros, determinación de color y
textura [25]. Resulta, sin embargo, muy complicado obtener información de la forma
de los objetos con una sola imagen de los mismos, por lo que la construcción de una
representación 3D a partir de imágenes 2D serı́a una aproximación con muchos detalles
perdidos [14].
En el momento, en el que detalles de la forma de los objetos se vuelven importantes, ganan un significante protagonismo las técnicas de procesamiento de más de
una imagen del mismo objeto capturadas con más de una cámara, y a través de una
configuración particular de las mismas (por ejemplo, visión estereoscópica) es posible
decodificar detalles 3D de partes claves del producto para su posterior procesamiento.
Existe sin embargo, otro enfoque, que al igual que la visión estereoscópica, basa el análisis de las caracterı́sticas de forma de los objetos en cálculos a partir de triangulaciones,
desde un punto de iluminación y una cámara apuntando el objeto en cuestión. En este
caso además de la cámara existe un haz de luz estructurado, proyectando un patrón
1
especı́fico de iluminación: punto, lı́nea, rejilla, etc. Gracias a esta técnica es posible
capturar caracterı́sticas 3D con una sola cámara [15].
Los sistemas de inspección visual 3D son en la actualidad bastante especializados y por tanto relativamente costosos, considerando que muchas empresas del sector
industrial que requieren solucionar problemas relacionados con inspección automática
prefieren continuar trabajando en modo manual en lugar de invertir en un sistema de
visión 3D. Estos sistemas, por otra parte, basan su principio de operación en técnicas
de visión estereoscópica o iluminación estructurada por separado. Existen, sin embargo
una gran variedad de técnicas para adquirir modelos de objetos 3D, con un variado
rango de costos de hardware y diferentes niveles de precisión y detalle en la geometrı́a
de los modelos capturados como se menciona en [4, 6, 10, 11, 22]. Durante el desarrollo
de esta investigación se trabajará en el concepto de un sensor 3D que basará su funcionamiento en la combinación de las técnicas de visión estereoscópica e iluminación
estructurada, a través del análisis de imágenes estereo adquiridas por cámaras de idénticas caracterı́sticas y la alineación de las imágenes proyectando patrones conocidos en
los objetos a analizar, emitidos por un sistema de iluminación estructurado.
El énfasis en la información 3D de un objeto se justifica porque representa el detalle
de la forma geométrica de éste y por tanto posee mucho más valor que la información
2D que representa las variaciones locales de reflectividad solamente [23]. El concepto de
sensor 3D va de la mano con el concepto de triangulación activa [30], en donde existe
una fuente de luz estructurada que ilumina el objeto. La ventaja de utilizar iluminación
estructurada radica en el uso de un patrón de luz conocido, como por ejemplo un punto
láser proyectado en la superficie a analizar, o también una lı́nea, una rejilla o un patrón
senoidal con frecuencia variable para lograr una triangulación de fase [15].
Los trabajos desarrollados en [6, 10, 11, 13, 18, 22] utilizan variadas técnicas de
adquisición de caracterı́sticas tridimensionales, utilizando principalmente visión esteréo
o iluminación estructurada por separado, a excepción de [18] que contempla combinar
las dos técnicas para la reconstrucción del relieve facial. El presente trabajo, por otro
lado tiene por meta el procesamiento de las imágenes del par estéreo para adquirir los
atributos 3D, simplificando el problema de correspondencia de puntos a través de la
búsqueda del patrón de iluminación estructurada (lı́nea) en el objeto bajo análisis en las
dos imágenes de manera simultánea utilizando procesamiento multihilo (multithread)
en LabVIEW.
Los resultados de la investigación, se cuantificarán a través de las diferentes respuestas que nos brinde un prototipo construido para desarrollar una metodologı́a que
permita obtener atributos de objetos en 3D utilizando la fusión de las técnicas de ilumi2
nación estructurada y visión estereoscópica. Este prototipo utilizará una configuración
de dos cámaras dispuestas en formato estéreo, un haz de luz estructurado para resaltar
las caracterı́sticas 3D del objeto y que a su vez servirá como patrón conocido en el par de
imágenes estéreo para simplificar el problema de correspondencia. La implementación
de los algoritmos de visión artificial, triangulación, calibración de cámaras, interpolación, ingenierı́a inversa, etc., se realizarán en la plataforma de desarrollo LabVIEW
2009.
1.2.
Definición del Problema y Motivación
El control de calidad al final de una lı́nea de producción se lleva a cabo de diversas
maneras:
Manual. Un operador al final de una lı́nea de producción se encarga de analizar
detalladamente las caracterı́sticas, forma, dimensiones, etc., del producto y decide
si éste debe continuar o no con el proceso de fabricación.
Muestra aleatoria [20]. Se elige una muestra del total de un lote de producción
y se aprueba o no el lote completo para su distribución en base a la cantidad
de objetos que hayan pasado la inspección. Es posible notar que a pesar de que
los métodos estadı́sticos normalmente son confiables, existirán de todas maneras
productos defectuosos en el mercado.
Semiautomática. Un operador inspecciona el producto asistido por algún sistema
automático.
Automática. Se encuentran difundidas técnicas de visión 2D para reconocimiento
de patrones, análisis de color, textura, etc.
No se realiza.
Uno de los principales problemas en los procesos de control de calidad tiene que
ver con los tiempos de inspección y la precisión con la que éste pueda realizarse. En
la actualidad existen numerosos sistemas de visión 2D que solucionan parte de los procesos de inspección para control de calidad, sin embargo no cubren áreas especı́ficas,
como la automotriz por ejemplo, en la que se requiere un análisis detallado de las piezas
(altos y bajos relieves, agujeros, etc.) que se usarán en ensambles completos de vehı́culos y que por supuesto no pueden fallar, de manera que no se ponga en riesgo la vida
del usuario. Es posible por tanto, notar que una parte importante en un proceso de
producción tiene que ver con la inspección de objetos al final de una lı́nea de producción.
3
La inspección de la forma de los objetos, de manera particular está vinculada
con el campo de aplicaciones de visión artificial 3D e ingenierı́a inversa [15]. El método activo sin contacto más ampliamente usado en el campo de visión 3D es el de los
sistemas de iluminación estructurada. Estos sistemas están compuestos comúnmente
por una cámara y un proyector de luz estructurada [23]. Sin embargo el costo de estas aplicaciones han limitado su expansión a nivel industrial, por lo que una solución
de costo moderado y que pueda inspeccionar objetos en tiempos mucho menores que
lo que lo harı́a un operador de manera manual tendrá muy buena acogida en el mercado.
A pesar de que el estado del arte actual en visión 3D permite la adquisición de
una gran variedad de objetos; operadores eficientes y procedimientos con tiempos de
retardo más bajos siguen siendo una meta de investigación en los trabajos que se están
llevando a cabo, como por ejemplo: “A Simple, Low Cost, 3D Scanning System Using
the Laser Light-Sectioning Method ” [6] y “3D real time camera” [13], por citar un par de
trabajos de investigación realizados en esta área. De allı́, se han encontrado varias áreas
de mejora para la adquisición de modelos 3D, identificados en [4], como se menciona a
continuación:
Planificar métodos para adquisición de datos.
Captura confiable y procesamiento robusto de información para un gran número
de clases de objetos, ambientes, y objetos con superficies particulares.
Automatización de todos los procedimientos, para minimizar la interacción del
usuario con el sistema.
Retroalimentación en tiempo real de la superficie adquirida.
Métodos para evaluar la precisión global del modelo.
Adicionalmente y no menos importante, resulta interesante mencionar que el campo de los sistemas de visión 3D, no sólo es posible aplicarlos a nivel industrial para
procesos automáticos, como los de control de calidad que es el caso especı́fico de este
trabajo de investigación, sino que también se puede encontrar una enorme área de
aplicación práctica en la robótica móvil y la robótica industrial, por lo que el aporte
cientı́fico, que este trabajo brinde será de gran utilidad para los estudiantes, profesionales e investigadores involucrados o que deseen involucrarse en el campo de aplicaciones
de visión artificial.
1.3.
Meta
La meta de este trabajo de tesis es desarrollar una metodologı́a para la integración
de las técnicas de visión estereoscópica e iluminación estructurada en el campo de in4
spección de objetos para adquirir caracterı́sticas 3D. Esta metodologı́a se aplica a un
prototipo desarrollado en la etapa de investigación y que consta de dos cámaras de
idénticas caracterı́sticas, un haz de luz estructurado y objetos conocidos construidos
con alta precisión (patrones de calibración) de forma que permitan calibrar el sistema
y además comprobar su exactitud. El software que despliega los resultados de las mediciones 3D se implementará con LabVIEW como plataforma de desarrollo.
1.4.
Objetivos
El objetivo general de este trabajo de investigación es alcanzar la meta establecida en la sección 1.3, para lo cual adicionalmente se requiere cumplir con los siguientes
objetivos particulares:
Construir un prototipo que incluya dos cámaras y un sistema de iluminación
estructurada para evaluar resultados con diferentes objetos.
Evaluar el desempeño en la adquisición de atributos 3D, de sistemas de iluminación estructurada basados en patrones de punto y lı́nea.
Implementar un Interfaz Hombre Máquina (HMI) para la interacción del usuario
con el sistema. Las utilerı́as con las que el HMI debe contar son las siguientes:
• Una ventana de visualización del proceso de captura de imágenes en tiempo
real.
• Panel de control para calibración de cámaras, control del ángulo del haz de
luz estructurada y ejecución y paro de la aplicación.
• Una ventana flotante que presente los datos del perfil del objeto en 3D.
• Salida en un archivo de texto con los resultados de la medición 3D.
Desarrollar una metodologı́a de calibración de cámaras en formato estereo, al igual
que el patrón de iluminación estructurado. Esta metodologı́a debe contemplar el
desarrollo de las siguientes actividades:
• Hallar matrices de calibración individuales para las cámaras y el haz de luz.
• Combinar las matrices de calibración individuales para ajustar el sistema de
adquisición 3D de forma que sea posible adquirir atributos de la geometrı́a
de objetos.
• Desarrollar y utilizar algoritmos de autocalibración de LabVIEW.
5
1.5.
Hipótesis
La combinación de sistemas de iluminación estructurada y visión estereoscópica
son eficientes para adquirir la geometrı́a tridimensional de objetos de manufactura para
implementar procesos de inspección automáticos que permitan tomar decisiones de control de calidad en lı́neas de producción.
La tesis busca responder además, las siguientes preguntas de investigación:
¿Puede un sistema de triangulación activa monitorear la forma de los objetos en
tiempo real?
¿La precisión del sistema de inspección 3D de bajo costo se adaptará a los requerimientos de la industria?
¿Será posible utilizar cámaras de diferentes especificaciones y lograr una calibración óptima del sistema completo?
6
Capı́tulo 2
Fundamentos de visión estereoscópica e iluminación
estructurada para el cálculo de posición de objetos
en el espacio
Presentar la relación cuantativa entre imágenes 2D y sus estructuras 3D del mundo real, a través de las matemáticas e ingenierı́a involucradas es el principal objetivo
de este capı́tulo. En la sección 2.1 se encuentra el detalle de una configuración estéreo
general. La sección 2.2 detalla sistemas coordenados para representar posición y orientación, a la vez que se presentan los conceptos de coordenadas homogéneas y matrices
de transformación homogéneas. La sección 2.3 presenta la modelación matemática de
cámaras para adquisición de imágenes, y la forma en la que utilizando configuración
estereoscópica es posible calcular la posición tridimensional de puntos definidos en el
espacio. La sección 2.4 presenta en detalle el cálculo de matrices de calibración de dos
cámaras distintas y la estimación de puntos en el espacio utilizando estas matrices y
Matlab como herramienta de desarrollo. Las caracterı́sticas técnicas y de diseño de iluminación estructurada se presentan en la sección 2.5. Finalmente la sección 2.6 contiene
breves descripciones de aplicaciones e investigaciones relacionadas al área de inspección
tridimensional utilizando técnicas de visión estéreo o iluminación estructurada.
2.1.
Aspectos generales de una configuración estereoscópica
En la figura 2.1 se ilustra la configuración general de dos cámaras observando el
mismo espacio tridimensional. A menudo, en el manejo de gráficos por computadora el
uso de un sistema coordenado derecho resulta lo más común, con el eje Z correspondiente al rayo que deja el lente de la cámara hacia el campo de visión (FOV – Field of
View) [14].
De la figura 2.1, se puede notar que las dos cámaras observan un mismo espacio
de trabajo, siendo éste el espacio tridimensional con su propio sistema de coordenadas
7
Figura 2.1: Configuración de un par de cámaras en el espacio.
W adjunto a él. Intuitivamente, resulta sencillo notar que la localización del punto
W
P = W Px ,W Py ,W Pz en el espacio de trabajo puede ser obtenido simplemente determinando la intersección de los dos rayos de las imágenes W P 1 O y W P 2 O.
Para poder realizar la configuración estéreo general ilustrado en la figura 2.1, se
deben considerar los siguientes aspectos:
Debemos conocer la posición de la cámara C1 en el espacio de trabajo W y algunas
de las caracterı́sticas internas de la cámara, como la distancia focal.
De manera similar, debemos conocer la posición de la cámara C2 en el espacio de
trabajo W y sus parámetros internos.
Es necesario identificar la correspondencia del punto 3D,
de las imágenes (1 P, 2 P ).
W
P con los puntos 2D
Se requiere de alguna formulación que calcule W P de los dos rayos de las imágenes
W
P 1 O y W P 2 O.
8
Antes de entrar en el detalle de los puntos citados, se describen a continuación
variantes a la configuración estereo general presentanda en la figura 2.1:
La configuración mostrada en la figura 2.1 consiste de dos cámaras calibradas a
las coordenadas del espacio de trabajo. Las coordenadas de un punto 3D son calculadas a través de la intersección de dos rayos de las imágenes correspondientes
a los puntos en ellas.
Una de las cámaras puede ser reemplazada por un proyector el cual ilumina
una o más puntos de la superficie utilizando un haz de luz o un patrón especial
(Iluminación Estructurada). El proyector puede ser calibrado de idéntica manera
a una cámara, como se ilustra en la figura 2.2 [14].
El conocimiento previo del modelo del objeto puede reemplazar una de las cámaras.
En muchos casos la información del modelo del objeto agrega suficiente información que permite decodificar información tridimensional a partir de una sola
imagen.
Figura 2.2: Configuración estereo con una cámara y un proyector de luz.
9
2.2.
Herramientas matemáticas para localización espacial
En la sección 2.1 se resaltó la importancia de hallar una formulación matemática
que permita calcular W P de los dos rayos de las imágenes W P 1 O y W P 2 O. Las
herramientas matemáticas de localización espacial que se presentan en esta sección son
de aplicación general, siendo los campos de aplicación principales los de visión 3D,
robótica y realidad virtual.
2.2.1.
Representación de la posición
La localización de un cuerpo rı́gido en el espacio precisa de especificar tanto su
posición como su orientación. Ambas deben ser establecidas en relación a un sistema
de referencia definido. En un plano bidimensional, la posición de un cuerpo rı́gido
está ligada a dos grados de libertad y, por tanto, la posición del cuerpo quedará definida
por dos componentes independientes. En el caso de espacio tridimensional será necesario
emplear tres componentes.
Coordenadas cartesianas
Si se trabaja en un plano, con un sistema coordenado OXY Z de referencia asociado, un punto p vendrá expresado por las componentes (x, y, z) correspondientes a
los ejes coordenados del sistema OXY Z, como se ilustra en la figura 2.3.
Figura 2.3: Representación de un vector en un sistema coordenado cartesiano derecho.
10
Coordenadas polares y cilı́ndricas
Para un plano, es posible también caracterizar la localización de un punto p de un
vector utilizando como referencia la distancia desde el origen del sistema coordenado
hasta el punto de interés y el ángulo que forma el rayo trazado desde el origen hasta
el punto p, y el eje x. Para el caso tridimensional se aumenta la coordenada z para
caracterizar la localización del punto p. Esta situación se ilustra en la figura 2.4.
Figura 2.4: Representación de un vector en un sistema de coordenadas polares y cilı́ndricas.
Coordenadas esféricas
Es posible también utilizar coordenadas esféricas para realizar la localización de un
vector en un espacio tridimensional. Considerando el sistema de referencia OXY Z, un
vector cualquiera p tendrá como coordenadas esféricas (r, θ, φ), donde r es la distancia
medida desde el origen hasta el extremo del vector p; la componente θ es el ángulo
formado por la proyección del vector en el plano OXY y el eje OX, y finalmente la
componente φ es el ángulo formado por el vector p y el eje OZ, como se ilustra en la
figura 2.5.
2.2.2.
Representación de la orientación
Un punto en el espacio queda completamente definido a través de los datos de su
posición. Sin embargo, en el caso de un sólido rı́gido, se requiere conocer adicionalmente
11
Figura 2.5: Representación de un vector en un sistema de coordenadas esféricas.
su orientación con respecto al sistema de referencia.
Una orientación en el espacio tridimensional viene definida por tres grados de libertad o tres componentes linealmente independientes. Para poder describir de forma
sencilla la orientación de un objeto respecto a un sistema de referencia, es habitual
asignar solidariamente al objeto un nuevo sistema, y después estudiar la relación espacial existente entre los dos sistemas, el de referencia fijo y el nuevo. Para simplificar
este análisis, se utilizan las matrices de rotación.
Matrices de rotación
Considérese un sistema OXY de referencia fija y un sistema móvil OU V solidario
al objeto cuya orientación es de interés. Un vector p del plano se puede representar
como:
p = pu iu + pv jv
(2.1)
Adicionalmente, se presentan las siguientes igualdades:
px = ix p
py = j y p
(2.2)
Realizando la sustitución de la expresión 2.1 en la ecuación 2.2, se obtiene:
px
py
=R
12
pu
pv
(2.3)
Donde:
R=
ix iu ix jv
jy iu jy jv
es la matriz de rotación, que define la orientación del sistema OU V con respecto
al sistema OXY , y que sirve para transformar las coordenadas de un vector en un
sistema a las del otro. En el caso de un sistema de dos dimensiones, la orientación viene
definida por un único parámetro independiente, como se ilustra en la figura 2.6.
Figura 2.6: Orientación de un sistema móvil OU V con relación a uno fijo OXY .
Para el caso tridimensional el razonamiento es similar. Supóngase ahora que los
sistemas OXY Z y OU V W son coincidentes en el origen. Un vector p del espacio podrı́a
estar referido, como se estudió en la sección 2.2.1, a cualquiera de los dos sistemas de
la siguiente manera:
puvw = [pu , pv , pw ]T = pu iu + pv jv + pw kw
(2.4)
pxyz = [px , py , pz ]T = px ix + py jy + pz kz
(2.5)
Y de manera similar al caso bidimensional, es posible establecer la siguiente equivalencia:




px
pu
 py  = R  pv 
pz
pz
Donde:
13
(2.6)

ix iu ix jv ix kw
R =  jy iu jy jv jy kw 
kz iu kz jv kz kw

es la matriz de rotación que define la orientación del sistema OU V W con respecto
al sistema OXY Z. Resulta de gran utilidad establecer la expresión de matrices de
rotación que relacionen giros sobre un eje únicamente, como se ilustra en la figura 2.7.
Figura 2.7: Rotación del sistema OU V W con respecto a los ejes OX, OY y OZ.
Las matrices de rotación pueden componerse para expresar la aplicación continua de varias rotaciones [2]. Es importante considerar el orden en que se realizan las
rotaciones, pues el producto de matrices no es conmutativo.
14
2.2.3.
Coordenadas y matrices homogéneas
Para representar de manera conjunta la posición y la orientación de un sólido
en el espacio, se introducen las coordenadas homogéneas. Un elemento de un espacio
n-dimensional, se encuentra representando en coordenadas homogéneas por n+1 dimensiones, de tal forma que un vector p(x, y, z) vendrá representado por p(wx, wy, wz, w),
donde w tiene un valor arbitrario y representa un factor de escala.
A partir de la definición de las coordenadas homogéneas surge inmediatamente el
concepto de matriz de transformación homogénea. Se define como matriz de transformación homogénea, T a una matriz de dimensión 4×4 que representa la transformación
de un vector de un sistema de coordenadas a otro.
T=
R3×3 p3×1
f1×3 w1×1
(2.7)
Donde, R3×3 representa una matriz de rotación como las que se presentaron en la
sección 2.2.2, p3×1 por otro lado es un vector de posición en coordenadas cartesianas
similar a los presentados en la sección 2.2.1, f1×3 indica la transformación de perspectiva, que se detalla más adelante para el caso de cámaras en configuración estéreo, y
w1×1 se usará como herramienta de escalamiento global.
La ecuación 2.7 puede ser utilizada para representar la orientación y la posición
de un sistema O0 U V W resultado de rotar y trasladar el sistema original OXY Z según
R3×3 y p3×1 respectivamente. Asimismo, esta matriz puede servir para conocer las
coordenadas (rx , ry , rz ) del vector r en el sistema OXY Z a partir de sus coordenadas
(ru, rv, rz) en el sistema O0 U V W :




ru
rx




 rv 
 ry 
(2.8)
 = T


 rz 
 rz 
1
1
La principal ventaja de las matrices homogéneas reside en su capacidad de representación conjunta de posición y orientación. Esta representación se realiza utilizando
al mismo tiempo la matriz de rotación R3×3 y el vector de traslación p3×1 en una misma matriz de transformación homogénea [2]. Se debe considerar sin embargo, el orden
de las transformaciones puesto que se pueden producir resultados diferentes.
Una aplicación de gran utilidad en nuestros propósitos de visión 3D, que las matrices de transformación homogéneas nos ofrecen es la transformación de perspectiva.
Supóngase un lente situado sobre el plano OXZ cuya distancia focal es f situado sobre
15
el eje OY, como se ilustra en la figura 2.8. Es posible comprobar que el punto r(x, y, z)
se ve en el plano del lente como un punto r0 (x0 , y 0 , z 0 ) cuyas coordenadas vienen dadas
por la siguiente expresión:
x
1−
x0 =
y
f
y0 = y
z
1−
z0 =
y
f
(2.9)
Es posible representar esta transformación
matriz de transformación homogénea del tipo:
 

1 0 0
x0
 0   0 1 0
 y  
 0 =
 z   0 0 1
0 − f1 0
1
2.3.
de perspectiva, utilizando una sola
0
0
0
1





x
y
z
1





(2.10)
Modelo de la cámara
En la ecuación 2.11 se presenta el modelo algebráico utilizado para calibrar sistemas de visión con imágenes en perspectiva. A lo largo de esta sección nos dedicaremos
a determinar los componentes de la matriz IW C a partir de configuraciones fijas del sistema de visión.
I
P =
s I Pr
 s I Pc  =
s

I
W
P
WC

W

I
WC




Px
W
Py
W
Pz
1






s I Pr
c11 c12 c13 c14

 s I Pc  =  c21 c22 c23 c24  


s
c31 c32 c33 c34

W



W
Px
W
Py
W
Pz
1





(2.11)
El objetivo de la ecuación 2.11 es proyectar un punto del espacio tridimensional
T
T
P = W Px ,W Py ,W Pz a un punto de la imagen I P = I Pr ,I Pc , .
16
Figura 2.8: Transformación de perspectiva.
2.3.1.
Matriz de transformación para perspectiva
En la figura 2.8 se ilustra la problemática general de perspectiva en un sistema
de visión. El conjunto de ecuaciones 2.12 presenta el álgebra de la transformación de
T
perspectiva. Las coordenadas de la imagen F Px , F Py , se encuentran en las mismas
unidades que las coordenadas del espacio tridimensional, y no en pı́xeles. La transformación a pı́xeles se desarrolla en detalle más adelante.
f
CP
z
f
= C
Pz
F
Px =
C
Px
F
Py
C
Py
(2.12)
Una transformación de perspectiva sencilla se ilustra en la figura 2.9, que a su vez
se define únicamente en términos del parámetro f , la distancia focal. La matriz FC Π(f )
se presenta en la ecuación 2.13 en su forma de 4 × 4 elementos, de forma que se pueda
combinar con otras matrices de transformación. Nótese que la matriz tiene rango 3, y
17
no 4, por lo que no es invertible.
P = FC Π(f ) C P


1 0 0
s F Px
 F

 0 1 0
 s Py 

 F
 = 
 s Pz 
 0 0 1
0 0 f1
s
F

0
0
0
0
 








s C Px
s C Py
s C Pz
1





(2.13)
Figura 2.9: Transformación de perspectiva. El sensor de la cámara está en el centro de
la proyección.
Una transformación alternativa puede definirse colocando el origen de la cámara
en el centro de la imagen de manera que F Pz = 0, a diferencia de lo que se muestra en
la figura 2.9 en la que F Pz = f . La matriz de proyección, por tanto quedarı́a modificada
de la siguiente manera:
F
P = FC Π(f ) C P


1 0 0
s F Px
 F

 0 1 0
 s Py 

 F
 = 
 s Pz 
 0 0 0
0 0 f1
s

0
0
0
0
 








s C Px
s C Py
s C Pz
1





(2.14)
El caso más general, involucra la no coincidencia del sistema coordenado general
W y el de la cámara C. Una rotación y traslación son necesarias para convertir el punto
18
del mundo W P a las coordenadas de la cámara C P . Tres parámetros de rotación y tres
de traslación se requieren para lograr esto:
C
C





C
Px
C
Py
C
Pz
1
P = T (tx , ty , tz ) R (α, β, γ)
W
P
W
C
P
W TR (α, β, γ, tx , ty , tz )
P =






 = 



r11 r12 r13 tx

r21 r22 r23 ty 

r31 r32 r33 tz 
0
0
0 1
(2.15)
Es posible por tanto, combinar las transformaciones para modelar el cambio de
coordenadas de W a C, seguido de una transformación de perspectiva. La tercera fila
de la matriz se descarta puesto que únicamente se obtendrá el valor constante para
F
Pz . F P está en el plano de la imagen por lo que una transformación de escalamiento
será necesaria para convertir a las coordenadas de pı́xeles de I P .
F
P =
F
P =
F
C
CΠ P
F
C
W
P
C Π W TR (α, β, γ, tx , ty , tz )

s F Px
d11 d12 d13 d14

 s F Py  =  d21 d22 d23 d24  


s
d31 d32 d33 d34




W
Px
W
Py
W
Pz
1





(2.16)
La transformación de números reales a pı́xeles, incluyendo la dirección opuesta del
eje vertical está dada por:
 


 
1
0
0 − dy
sr
s F Px
 1

I
P =  s c  =  dx
(2.17)
0 0   s F Py 
s
s
0
0 1
siendo dx y dy el tamaño vertical y horizontal, respectivamente, de capa pı́xel en la imagen, pero en unidades del mundo real. El resultado final para la matriz de calibración de
la cámara que transforma los puntos 3D en coordenadas de pı́xeles de imagen está dada
por:
I
W
F
C
Π
TR
(α,
β,
γ,
t
,
t
,
t
)
P
S
x
y
z
C
W
F


W
 I



Px
c11 c12 c13 c14
s Pr
 W

Py 
 s I Pc  =  c21 c22 c23 c24  
 W

 Pz 
s
c31 c32 c33 1
1
P =
I
19
(2.18)
Resulta muchas veces complicado ejecutar este cálculo con precisión suficiente,
puesto que en la práctica se requieren medir ángulos y distancias, por lo que muchas
veces es recomendable y preferible utilizar un procedimiento definido para calibración
de la cámara, como se detalla más adelante en este capı́tulo.
2.3.2.
Proyección ortogonal y de perspectiva débil
Si simplificamos el problema de proyección de la sección 2.3.1, proyectando cada
punto del mundo, W , paralelamente al eje óptico y directamente sobre el plano de
la imagen, obtendremos una situación similar a la que se ilustra en la figura 2.10. La
proyección ortogonal se puede observar como una proyección de perspectiva considerando una distancia focal, f , igual a infinito.
Figura 2.10: Comparación de proyecciones: perspectiva y ortogonal.
F
P =
F
C
C Π(∞) P

F
Px
F
Py
=
1 0 0 0
0 1 0 0
20




C
Px
C
Py
C
Pz
1





(2.19)
A menudo, una transformación de perspectiva puede ser aproximada por una
de perspectiva ortogonal a través de un escalamiento uniforme en el plano real de
la imagen. Proyectar un punto lejano en la coordenada z y aplicar un escalamiento
uniforme ha sido llamado perspectiva débil. Un factor de escala adecuado se encuentra
por la relación de la distancia del objeto, W Pz , y la distancia focal, f , de la cámara
a través de la expresión s = WfPz . La transformación de perspectiva, queda por tanto
representada como sigue:
F
P =
F
C
C Π(s) P

2.3.3.
F
Px
F
Py
=
s 0 0 0
0 s 0 0




C
Px
C
Py
C
Pz
1





(2.20)
Estimación de puntos 3D utilizando sistemas de visión
artificial
En la figura 2.1 se ilustra la configuración general estéreo de dos cámaras. Resulta
sencillo allı́ observar que el punto W P puede ser estimado de la intersección de los dos
rayos que salen de los centros de proyección de las cámaras. Por tanto, si utilizamos
las matrices de calibración de perspectiva estudiadas en las secciones anteriores, para
dos cámaras, podremos estimar las coordenadas reales tridimensionales de un punto
en el espacio, [x, y, z] a partir de las coordenadas de imagen obtenidas con las cámaras
previamente calibradas, [r1 , c1 ] y [r2 , c2 ].
Tomando como referencia la ecuación de calibración de una camara, presentada
en la expresión 2.11, podemos plantear un sistema de ecuaciones para la estimación de
un punto en el espacio, con un procedimiento similar al que se muestra a continuación:





x
y
z
1

s r1
b11 b12 b13 b14
 

 s c1  =  b21 b22 b23 b24  
 
 
s
b31 b32 b33 1
 




x
t r1
c11 c12 c13 c14
 
y 
 t c1  =  c21 c22 c23 c24  
 
 z 
t
c31 c32 c33 1
1
(2.21)
Las variables desconocidas son las coordenadas del punto en el espacio, [x, y, z], y
21
si eliminamos las coordenadas homogéneas s y t de las ecuaciones anteriores, es posible
plantear el siguiente sistema lineal de ecuaciones:
r1 = (b11 − b31 r1 ) x + (b12 − b32 r1 ) y + (b13 − b33 r1 ) z + b14
c1 = (b21 − b31 c1 ) x + (b22 − b32 c1 ) y + (b23 − b33 c1 ) z + b24
r2 = (c11 − c31 r2 ) x + (c12 − c32 r2 ) y + (c13 − c33 r2 ) z + c14
c2 = (c21 − c31 c2 ) x + (c22 − c32 c2 ) y + (c23 − c33 c2 ) z + c24
(2.22)
Errores de aproximación en los modelos de las cámaras y el truncamiento de
coordenadas continuas a pı́xeles, pueden producir inconsistencia en la solución de las
ecuaciones 2.22. Una solución apropiada planteada en [14], menciona calcular la distancia más corta entre los rayos de las imágenes hacia el punto en el espacio tridimensional.
Si la distancia de este segmento es lo suficientemente pequeña, se asigna el punto medio
como el punto de intersección de los rayos de la imagen, [x, y, z].
2.4.
Estimación de la matriz de calibración con un
enfoque práctico
Se presenta a continuación la manera de encontrar los elementos de la matriz de
calibración presentada en la ecuación 2.11, utilizando un enfoque práctico. El campo
de visión de la cámara y el enfoque deben permanecer fijos y, con el uso de un patrón
de calibración, con dimensiones conocidas, procedemos a plantear un problema de optimización para ajustar los parámetros de calibración de nuestra cámara.
Se toma un juego de coordenadas I Pj , W Pj , donde I Pj = [I Pr , I Pc ] es la coordenada del pı́xel en la imagen donde se visualiza el punto 3D W Pj = [W Px , W Py , W Pz ].
En [14] recomiendan un mı́nimo de 6 puntos para una calibración adecuada, siendo 25
o más lo ideal para mejorar el proceso de optimización a través de mı́nimos cuadrados.
De manera similar a la que utilizamos para eliminar el factor de escala en las
ecuaciones 2.22, definimos dos ecuaciones que modelan la geometrı́a del rayo de una de
las cámaras (ecuación 2.23). Cabe destacar en este punto, que este análisis y el método
en si, puede ser aplicado a otra cámara con una ubicación diferente, y una vez obtenidas
las matrices de calibración de las cámaras es posible proceder a los cálculos de posición
de objetos en el espacio, como se mencionó en la sección 2.3.3.
22
uj = (c11 − c31 uj ) xj + (c12 − c32 uj ) yj + (c13 − c33 uj ) zj + c14
vj = (c21 − c31 vj ) xj + (c22 − c32 vj ) yj + (c23 − c33 vj ) zj + c24
T
[xj , yj , zj ]T = W Pj = W Px ,W Py ,W Pz
T
[uj , vj ]T = I Pj = I Pr ,I Pc
(2.23)
Reescribiendo la ecuación 2.23 en forma matricial, generamos la siguiente ecuación
vectorial-matricial:

xj yj zj 1 0 0 0 0 −xj uj −yj uj
0 0 0 0 xj yj zj 1 −xj vj −yj vj








−zj uj 


−zj vj








c11
c12
c13
c14
c21
c22
c23
c24
c31
c32
c33








 
u
j
=

vj








(2.24)
En virtud de que se pueden tener varios rayos desde el centro de la imagen a
diferentes puntos en el espacio y generar siempre para cada rayo el conjunto de ecuaciones planteadas en la expresión 2.23, es posible obtener 2n ecuaciones diferentes a
partir de n puntos de calibración. Se puede utilizar notación matricial para reescrbir
nuevamente la expresión 2.23 de la siguiente forma, considerando n puntos de calibración:
A2n×11 x11×1 = b2n×1
(2.25)
Resulta sencillo notar, analizando brevemente la expresión 2.25 que existen 11
incógnitas y más de 12 ecuaciones, por lo que el sistema es redundante y nuestro problema se vuelve principalmente de optimización. En la sección 2.3.3 se mencionó que las
ecuaciones de los rayos de las cámaras apuntando hacia un punto no siempre tendrán
solución, y en virtud de que nuestro análisis partió de las ecuaciones en esa sección
planteadas, existe una gran posibilidad de que el sistema de ecuaciones 2.25 no sea
consistente. Se trata por tanto, de hallar la solución que más se acerque a una solución real del sistema, en caso de que fuera consistente. En [12], se detalla el proceso de
proyección ortogonal y la minimización del error en el cálculo de sistemas de ecuaciones
23
inconsistentes a través del algortimo de mı́nimos cuadrados, que es justamente lo que
utilizaremos en nuestra aplicación práctica. El proceso de proyección ortogonal y minimización del error para la estimación de la solución de un sistema como el presentado
en la expresión 2.25, trata de proyectar el vector al cual queremos representar en el
espacio columna de nuestra matriz de coeficientes a través de la ortogonalización del
mismo en este espacio generado. A pesar de la complejidad aparente del criterio, la
aplicación del algoritmo para dar solución a nuestro problema y lograr los resultados
esperados es muchı́simo más simple de lo que aparenta.
A continuación se presenta el algoritmo de solución del sistema de ecuaciones 2.25
a través de mı́nimos cuadrados:
A2n×11 x11×1 = b2n×1
AT11×2n A2n×11 x11×1 = AT11×2n b2n×1
−1 T
x11×1 = AT11×2n A2n×11
A11×2n b2n×1
(2.26)
Si utilizamos Matlab o LabVIEW como herramienta de desarrollo para implementar el método de mı́nimos cuadrados para la solución del sistema de ecuaciones 2.25,
basta utilizar el comando x = A\B. A continuación se presenta un ejemplo de calibración de dos cámaras diferentes y el cálculo de posición 3D utilizando la teorı́a hasta
aquı́ presentada.
2.4.1.
Ejemplo de calibración de dos cámaras y cálculo de posición 3D
En la tabla 2.1 se presenta un conjunto de datos que representan varios puntos
3D, en milı́metros, y las coordenadas correspondientes en el par de imágenes estéreo,
imagen 1 e imagen 2 capturadas por dos cámaras distintas. En el Anexo 1 se presenta
el detalle de la solución de este ejemplo utilizando el Mathscript de LabVIEW 2009, y
los resultados generados por el sistema se analizan en esta sección. El Mathscript de
LabVIEW 2009 posee una estructura idéntica a la que el Matlab ofrece, en lo que a
creación de archivos se refiere, por lo que el código del Anexo 1 podrı́a ejecutarse sin
problema también en ésta platafoma.
Los resultados de calcular los puntos en el espacio partiendo de los datos del par
de imágenes estéreo, y luego de haber hallado las matrices de calibración del sistema
C1 y C2 , como se detalla en la sección 2.4, se presentan en la tabla 2.2. Las columnas
8, 9 y 10 muestran el error generado en la estimación del punto en el espacio, al que se
hace referencia en la columna correspondiente; resulta sencillo notar que a pesar de que
24
Punto
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Puntos del Espacio
W
W
W
x
y
z
0.0
0.0
0.0
0.0
15.24
0.0
27.94 15.24
0.0
27.94
0.0
0.0
20.955 0.0
-11.43
6.985
0.0
-11.43
13.97
0.0
-8.89
13.97 15.24 -8.89
0.0
0.0
-1.905
27.94
0.0
-1.905
5.08
0.0
0.0
5.08 15.24
0.0
22.86 15.24
0.0
22.86
0.0
0.0
20.955 0.0 -4.5974
6.985
0.0 -4.5974
Imagen 1
1
1
u
v
167 65
96 127
97 545
171 517
352 406
347 186
311 294
226 337
198 65
203 518
170 143
96 198
97 465
173 432
245 403
242 181
Imagen 2
2
u
v
274
168
196
42
96
431
154
577
366
488
430
291
358
387
Oculto Oculto
303
169
186
577
248
248
176
116
114
363
176
507
259
482
318
283
2
Tabla 2.1: Datos de dos cámaras distintas y de puntos en el espacio.
el método de calibración utilizado es eficiente y que la estimación del error se realiza
sobre los mismos puntos utilizados en la calibración del sistema pueden existir errores
de hasta 0,1721 mm, lo que nos indica como primer resultado experimental previo a
la implementación práctica que el error de estimación de los puntos en el espacio con
una configuración estereoscópica será mayor que cero. En la sección 3.4 se presentan los
resultados de precisión del sistema experimental utilizando el mismo enfoque de éste
ejemplo.
2.5.
Iluminación estructurada
La mayorı́a de los problemas de inspección industrial, ingenierı́a inversa y realidad virtual requieren información sobre la forma geométrica de los objetos en el espacio
tridimensional [15]. Los sensores ópticos 3D trabajan con fuentes de luz, lentes, fotodiodos y cámaras de video para brindar información de la geometrı́a de un objeto, de
manera tan precisa como las limitaciones fı́sicas de los componentes del sistema lo permitan. Una práctica bastante común en visión 3D es proyectar un patrón conocido en
la superficie del objeto a analizar y observar este patrón (triangulación activa). Para
interpretar la informacion 3D del objeto, se requieren conocimientos y experiencia en
25
Punto
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
W
x
0.0
0.0
27.94
27.94
20.955
6.985
13.97
13.97
0.0
27.94
5.08
5.08
22.86
22.86
20.955
6.985
W
W
y
z
0.0
0.0
15.24
0.0
15.24
0.0
0.0
0.0
0.0
-11.43
0.0
-11.43
0.0
-8.89
15.24 -8.89
0.0
-1.905
0.0
-1.905
0.0
0.0
15.24
0.0
15.24
0.0
0.0
0.0
0.0 -4.5974
0.0 -4.5974
W
W
W
x̂
ŷ
ẑ
0.03
0.01
-0.06
0.064
15.3
-0.004
28.0025 15.2133 -0.0264
27.9305 -0.0560 0.1092
20.9312 -0.1350 -11.3525
6.9849 -0.0767 -11.4174
13.9697 0.1721 -8.9953
NA
NA
NA
-0.0871 -0.0176 -1.8402
27.9481 0.0190 -1.8732
5.0787 -0.1223 0.0311
4.9993 15.1702 0.0697
22.8131 15.2639 -0.0581
22.8549 0.0149 -0.0686
20.9308 0.1052 -4.6476
7.0941 0.0804 -4.6368
ex
-0.03
-0.06
-0.0640
0.0095
0.0238
0.0001
0.0003
NA
0.0871
-0.0081
0.00311
0.0807
0.0469
0.0051
0.0242
-0.1091
ey
ez
-0.01
0.06
-0.0631 -0.0049
0.0267
0.0264
0.0560 -0.1092
0.1350 -0.0775
0.0767 -0.0126
-0.1721 0.1053
NA
NA
0.0176 -0.0648
-0.0190 -0.0318
0.1223 -0.00311
0.0698 -0.0697
-0.0239 0.0581
-0.0149 0.0686
-0.1052 0.0502
-0.804
0.0394
Tabla 2.2: Resultados obtenidos con el software implementado en Mathscript de LabVIEW y/o Matlab.
el manejo de imágenes bidimensionales y adquisición de imágenes.
2.5.1.
Triangulación Activa
La triangulación, en geometrı́a, es el uso de triángulos para determinar posiciones
de puntos, medidas de distancias o áreas de figuras. La aplicación práctica de este principio matemático, para la obtención de la información geométrica mediante triangulación
activa por proyección de luz estructurada, consiste en lo siguiente:
Un patrón es proyectado sobre el objeto bajo prueba, en una “dirección de iluminación” especı́fica, y es observado desde una diferente “dirección de observación”.
El ángulo formado entre las dos direcciones es llamado ángulo de triangulación
φ, figura 2.11.
El patrón puede ser un punto de un láser, para medición de distancias locales,
ó un patron de franjas, para una medición completa de la forma del campo de
visión adquirido, como se ilustra en la figura 2.12. De la ubicación del patrón
en la imagen, a través de triangulación se evalúa la distancia del detalle sobre el
objeto, que queremos resaltar y decodificar. Un cambio en la distancia hacia el
objeto se codificarı́a como un desplazamiento lateral del patrón. Proyectar una
26
Figura 2.11: Arquitectura de un sistema de triangulación activa básico.
lı́nea sobre la superficie del objeto brinda la posibilidad de observar un perfil de
la superficie. Para adquirir la superficie completa, harı́a falta un ’scan’ de la lı́nea
láser sobre el objeto.
Figura 2.12: Patrón de franjas codificado y proyectado sobre un objeto cilı́ndrico.
La técnica de triangulación por medición de fase (pmt), por otro lado proyecta un
patrón tipo rejilla sobre el objeto o un patrón sinusoidal con diferentes desplazamientos
de fase. A través del uso de está técnica es posible adquirir la forma de la superficie de
un objeto sin un ’scan’, debido a que en el caso de un patrón tipo rejilla, por ejemplo,
en un objeto curvado la cámara captarı́a lı́neas de rejillas curvadas también. Asimismo,
si el patrón posee una diferencia de fase, con por lo menos tres exposiciones de éste es
posible derivar la distancia de capa punto del objeto (figura 2.13).
27
Figura 2.13: Proyección de un patrón tipo rejilla sobre objetos 3D [15]
2.5.2.
Iluminación estructurada
La iluminación tiene un papel fundamental en un sistema de visión artificial,
puesto que ayuda a simplificar considerablemente el análisis e interpretación de las escenas. Al implementar una buena iluminación, se consigue una buena formación de la
imagen a adquirir, y esto facilita su procesamiento. Por el contrario, una mala iluminación puede aumentar complejidad a los algoritmos de procesamiento.
El problema en visión artificial es ubicar correctamente la iluminación, los sensores
y los cuerpos a examinar para resaltar las caracterı́sticas visuales de los objetos.
La iluminación estructurada, particularmente utiliza la proyección de patrones de
luz especı́ficos, como puntos, franjas o rejillas sobre la superficie de trabajo. En función
de cómo se deforme este patrón de luz es posible detectar las singularidades de la pieza
y/o objeto bajo análisis. Por tanto, el término iluminación estructurada se define como
la proyección de un patrón de luz simple o codificado sobre la escena iluminada [24]. Este
método de iluminación posee dos ventajas importantes con respecto a metodologı́as de
iluminación tradicionales para 2D:
Establece un patrón de luz conocido sobre la superficie de trabajo y las diferencias
con este patrón indican la presencia de un objeto, simplificándose ası́ el problema
de detección de un objeto.
Analizando la forma en que el patrón de luz es distorsionado, es posible obtener
información de las caracterı́sticas tridimensionales del objeto (figura 2.14).
Los métodos tradicionales de luz estructurada para el sensado de profundidad, por
28
Figura 2.14: Concepto de Iluminación Estructurada.
lo general, están basados en la introducción de información geométrica en la técnica de
iluminación a fin de facilitar la extracción de la profundidad de la escena de análisis.
Una de estas técnicas consiste en la proyección de una lı́nea sencilla de luz sobre la
escena y la imagen bidimensional es adquirida por medio de una cámara digitalizadora
que se encuentra a un ángulo de toma adecuado.
La información de profundidad se adquiere del desplazamiento relativo de los diferentes puntos de la lı́nea de luz. Una particularidad del método de lı́nea sencilla es
la necesidad de procesar múltiples imágenes para reconstruir la escena completa. La
totalidad de la escena puede cubrirse ya sea moviendo la fuente de luz o bien, dejando
el sistema de iluminación fijo y recorrer la escena. Una variación de este método de
luz estructurada consiste en la proyección de múltiples lı́neas sobre la escena con una
regularidad o un patrón definido. Lo anterior es logrado mediante el uso de una rejilla
de difracción diseñada para el caso. La técnica de múltiples lı́neas tiene la ventaja ob29
via de requerir en principio una sola imagen para lograr la reconstrucción de la escena
completa. Esta ventaja, en términos computacionales, representa una simplificación en
el manejo de los “buffers” o memoria RAM. Sin embargo, la complejidad de los algoritmos de reconstrucción aumenta considerablemente pues es necesario resolver ciertas
dificultades inherentes al método, entre las cuales destaca la posible confusión entre las
diferentes lı́neas. El principio de extracción de profundidad mediante el desplazamiento
relativo de puntos de luz conduce al diseño de algoritmos demasiado complejos para
poder aspirar a su implantación en tiempo real [26].
2.6.
Trabajos relacionados
A continuación se presentan algunas referencias de trabajos de investigación relacionados con el campo de adquisición y análisis de imágenes 3D.
El uso de sistemas de escaneo tridimensional para adquirir caracterı́sticas externas
de un objeto arbitrario posee muchas aplicaciones en el campo industrial, por lo que el
trabajo presentado en [6] se enfoca en analizar objetos con formas geométricas sencillas
como: cilindros, rectángulos, etc. El sistema propuesto utiliza un haz de luz estructurada
de la fábrica StockerYale tipo lı́nea con un costo de USD 2500 (el laser únicamente) una
tarjeta NI PCI-1411 y una cámara TM-200 CCD de alta resolución. La técnica utilizada
es la de escaneo progresivo del laser a través del objeto y capturas consecutivas de la
cámara (Light Sectioning [17]) para resolver las caracterı́sticas 3D en software a través
de un programa escrito en Matlab.
Figura 2.15: Sistema propuesto en [6]
30
En [13] se detalle el esfuerzo de un grupo de investigadores por generar un concepto de cámara tridimensional utilizando como patrón de iluminación señales senoidales
consecutivas con fases distintas, de forma que sea posible implementar la técnica de triangulación por medición de fase (pmt), para ello emplean un proyector de alta definición
(Ferroelectric Crystal Display - FLC) muy costoso. Gracias a la proyección perfecta de
patrones senoidales con intervalos de tiempo entre cada patrón de tan solo 3µs y un
procesamiento de la imagen en computadoras dedicadas es posible presentar la información 3D de las escenas en tiempo real.
La medición de perfiles en piezas de manufactura es el principal objetivo del sistema propuesto en [21]. El objeto es rotado en frente de un sistema de iluminación
estructurado: proyección de luz estructurada tipo lı́nea y una cámara que observa el
objeto en un ángulo diferente, llamado ángulo de triangulación. Para la reconstrucción
de la geometrı́a del objeto se implementa en Matlab una aproximación por mı́nimos
cuadrados a través de un cı́rculo cuya curvatura es estimada en función de las distancias
calculadas por el sistema.
Figura 2.16: Sistema propuesto en [21]
Por otro lado, en [11] se describe la técnica utilizada para adquirir la superficie
completa de un objeto en una escena sin la necesidad de rotar o mover el sistema
y/o el objeto. La configuración del sistema es novedosa y propone utilizar una cámara
de alta resolución, un proyector de luz estructurada DLP que emita una secuencia de
luz codificada en código Gray, y el tercer elemento para completar el sistema consiste
de un arreglo de espejos que permita tener capturas de diferentes ángulos del objeto
bajo análisis, como se ilustra en la figura 2.17. La ventaja inmediata que este sistema
31
presenta es la supresión de múltiples capturas de la imagen para su reconstrucción
tridimensional.
Figura 2.17: Arquitectura del sistema propuesto en [11]
2.7.
Aporte al conocimiento
En la sección anterior se presentan brevemente trabajos relacionados con la temática
de inspección de objetos utilizando los enfoques de visión estereoscópica e iluminación
estructurada. En virtud de que existe gran cantidad de literatura formal y trabajos
realizado en éstas áreas, con resultados y metodologı́as diferentes, se han identificado
las siguientes contribuciones, no mencionadas, ni tratadas en ningún trabajo citado en
ésta investigación, que el presente trabajo de tesis aborda:
Metodologı́a de integración de dos técnicas de visión 3D: visión estereoscópica e
iluminación estructurada. Se estudia con detalle ésta metodologı́a en la sección
4.3.
Sencillez en la calibración del sistema y en la implementación práctica de los
algoritmos. En la sección 2.4 se presentó el algoritmo de calibración de las cámaras
y un ejemplo práctico.
32
No se requieren proyectores de luz estructurada costosos, ni patrones de luz estructurada complejos como rejillas ó franjas, ni codificación a través de triangulación
por medición de fase (pmt). Éstos resultados se abordan con mayor profundidad
en el capı́tulo 4.
La redundancia que el sistema ofrece al estar compuesto por tres diferentes sitemas
de visión 3D asegura continuidad en la operación en una lı́nea de producción, en
caso de que uno de los componentes falle. Las ventajas que la redundancia del
sistema ofrece se presentan en la sección 3.2.
Simplificación del problema de correspondencia de imágenes en imágenes capturadas por el sistema de visión estereoscópico.
33
Capı́tulo 3
Construcción y calibración de un prototipo para
pruebas experimentales
En el capı́tulo anterior se expusieron los conceptos relacionados con visión estereoscópica e iluminación estructurada desde un enfoque enteramente matemático. El
objetivo principal de éste capı́tulo, es detallar la aplicación de las matemáticas e ingenierı́a involucradas en sistemas de visión 3D a través de pruebas experimentales de
calibración en un sistema prototipo cuyo diseño y construcción se discuten más adelante. La sección 3.1 presenta el diseño y construcción del prototipo para las pruebas
experimentales que se desarrollan a lo largo de éste trabajo de investigación. La justificación de la arquitectura elegida y sus ventajas se exponen en la sección 3.2. La tercera
sección está dedicada al problema de calibración del sistema y el Pre-procesamiento de
las imágenes del par estéreo. Finalmente la sección 3.4 presenta los diferentes resultados
de precisión alcanzados en la calibración a través de pruebas de medición realizadas sobre los mismos objetos utilizados en el proceso de cálculo de las matrices de calibración
de las cámaras.
3.1.
Diseño y construcción del prototipo
La arquitectura elegida para obtener los atributos espaciales de un objeto, se
bosqueja en la figura 3.1. Resulta sencillo notar allı́ que el sistema de visión 3D planteado es un sistema redundante. Las razones por la que se asevera que el sistema es redundante, tienen que ver con el hecho de que se forman simultáneamente 3 diferentes
sistemas de visión artificial para obtener atributos 3D, mismos que se detallan a continuación:
Sistema de iluminación estructurada con una cámara. Utilizando cualquiera de
las dos cámaras que se muestran en la figura 3.1, y el proyector del patrón de luz
estructurada es posible construir un sistema de visión 3D basándose en los conceptos de triangulación activa que se detallan en la sección 2.5.1, y cuya aplicación
se comenta en [16] y [21]. Ejemplos de calibración de éste sistema se presentan
en [9].
34
Figura 3.1: Disposición de las cámaras y el patrón de iluminación en el prototipo.
Sistema de visión estéreo. Claramente se puede obsevar que usando las dos cámaras
del sistema de la figura 3.1 y el procesamiento de las dos imágenes en un computador, será posible adquirir la geometrı́a de un objeto situado en el espacio de
trabajo (área calibrada [31]). Se vuelve, sin embargo relativamente compleja la
correspondencia de puntos entre las imágenes adquiridas por cada cámara para
aplicar los conceptos del capı́tulo anterior, relacionados con la ubicación de puntos y/o patrones en el par de imágenes estéreo. Fácilmente podemos suponer que
el esfuerzo computacional se incrementa debido al procesamiento adicional para
solucionar el problema de correspondencia en las imágenes, lo cual no aplica en
el primer sistema, descrito anteriormente. En [1] se detallan las limitaciones de
los sistemas de visión estéreo, al igual que sus ventajas.
Sistema de visión estéreo + iluminación estructurada. Se debe precisamente a
éste sistema la configuración de la figura 3.1, cuya justificación se menciona en
detalle en la sección 3.2.
La ubicación de las cámaras no está sujeta a restricciones de ningún tipo, más bien
se pretende situarles de forma que se cubra la mayor cantidad de volumen del objeto
bajo análisis. El proyector de luz estructurada, sin embargo se propone ubicarlo en el
plano yz, forma que el procesamiento posterior de las imágenes resulte menos complejo.
En la figura 3.2 se ilustra la configuración del sistema prototipo.
La implementación del sistema bosquejado en la figura 3.2 se muestra en la figura
3.3. Los componentes principales del sistema se describen en las siguientes secciones.
35
Figura 3.2: Arquitectura del sistema de visión 3D prototipo.
3.1.1.
Cámaras
Las cámaras que se eligieron para el desarrollo del proyecto son de la firma Unibrain, modelo Fire-i Digital Camera. Las especificaciones principales son las siguientes:
Tipo de dispositivo: IIDC FireWire Digital Camera
Interfase: FireWire, 2 puertos (6 pines)
Velocidad: 400M bps
R Wfine 1/4” CCD
Tipo de sensor: SONY
Escaneo: Progresivo
Resolución: (H x V) 640 × 480
Distancia focal: 4,65 mm
36
Figura 3.3: Sistema prototipo implementado.
Ángulo horizontal de visión: 42◦
Ángulo vertical de visión: 32◦
Color: Monocromática - RBG 24 bits
A pesar de que en sistemas de visión estéreo se recomienda utilizar cámaras idénticas para facilitar los cálculos de las matrices de calibración, la metodologı́a que se desarrolla a lo largo de éste trabajo, no propone esa restricción principalmente debido a
la estimación de las matrices de calibración a través de un criterio de minimización del
error, como se detalla en la sección 2.4. La elección de un bus de comunicación IEEE
1394 en lugar de uno USB en las cámaras a utilizar tiene que ver con los siguientes
aspectos:
Velocidad de transferencia efectiva: A pesar de que la especificación de USB 2.0
permite alcanzar un ancho de banda de hasta 480 Mbps [8], el encabezado del
protocolo de comunicación resta velocidad a la transmisión de datos de los dispositivos, además de ser un bus compartido dentro del PC. Por otro lado, la
37
especificación IEEE 1394a asegura una transferencia efectiva de 400 Mbps, lo
cual permite una transferencia de hasta 100 cuadros por segundo en imágenes
con una resolución de 640 × 480.
Estandarización del interfase: A pesar de que existen muchos puertos USB disponibles en una PC, es uno de los buses menos estandarizados dentro del campo
de adquisición de imágenes. Cada fabricante ha implementado su propio diseño
de hardware y software, lo que significa que muchas veces se requiere de un driver especı́fico para conectar la cámara con la PC. Por otro lado, hace muchos
años la Asociación de Intercambio 1394 formó un grupo que defina especificaciones de cámaras cuyo bus de comunicación sea IEEE 1394. El resultado de
ésta asociación es el estándar IIDC (Industrial and Instrumentation specification
for Digital Cameras), con muchos dispositivos de hardware para disparo e iluminación con comunicación a éste bus, ademas de la especificación completa de
comunicación de cámaras IEEE 1394a/b.
Uso del CPU: IEEE 1394 no requiere de un frame grabber, lo que significa que el
estandar confı́a en el CPU para la transferencia de imágenes hacia la memoria. En
USB, además de relegar la tarea de transferencia de imágenes hacia la memoria al
CPU, se requieren software utilitarios corriendo en segundo plano como el caso de
DirectShow, lo cual por supuesto genera mayor demanda de uso del procesador.
Disponibilidad de las cámaras: A pesar de que encontrar cámaras USB es muy
sencillo, la mayorı́a de aplicaciones de visión artificial a nivel industrial requieren
un rendimiento superior al que la electrónica de consumo puede ofrecer. IEEE
1394 ha sido un estandar industrial en cámaras para aplicaciones industriales por
más de 5 años. Actualmente se pueden encontrar cámaras infrarrojas, linescan,
de alta resolución, y de alta velocidad con bus de comunicación IEEE 1394.
En la figura 3.4 se puede apreciar la ventaja que supone desarrollar el sistema de
visión 3D con cámaras estandarizadas IIDC sobre cámaras con comunicación USB.
3.1.2.
Proyector luz estructurada
A pesar de la diversidad de patrones de iluminación estructurada que se pueden
encontrar en el mercado, para el desarrollo de este proyecto, en virtud de que se ha
diseñado una arquitectura redundante de visión estéreo + iluminación estructurada, se
eligió como proyector de iluminación estructurada un láser de lı́nea, con las siguientes
especificaciones:
Voltaje de operación: 3V
38
Figura 3.4: Comparación USB - IEEE 1394.
Corriente de operación: 300mA
Potencia del LED: 5mW − 532nm
Ángulo de generación: 110◦
En la figura 3.5 se muestra el aspecto fı́sico del generador de lı́nea láser. Esta lı́nea
se proyecta sobre los objetos bajo análisis para aplicar las técnicas de triangulación
activa y visión estereoscópica con correspondencia de puntos generada a través del
patrón de luz estructurada sobre el objeto.
3.1.3.
Circuito de control y comunicación con la PC
En base a las especificaciones de operación de las cámaras y del láser de lı́nea,
además de las necesidades del sistema de visión 3D, se propone un circuito que sea
capaz de manejar la corriente de los láseres de lı́nea, controlar un servomotor sobre el
que se monta el láser para barrer la lı́nea generada sobre el objeto bajo análisis. Cabe
destacar en este punto que se vuelve un requisito permitir que la PC controle desde
el software de aplicación el encendido/apagado de los láseres y el ángulo de giro del
motor que a su vez tiene montado el proyector de lı́neas sobre su eje. Para alcanzar éste
39
Figura 3.5: Proyector de luz estructurada.
propósito, se dota al circuito de control un interfase RS-232 para que a través del puerto
serie de la PC se envı́en las instrucciones pertinentes al circuito microcontrolado. En las
figuras 3.6 y 3.7 se ilustran los circuitos de control y el diseño de la tarjeta electrónica.
3.2.
Ventajas de la configuración estereoscópica con
iluminación estructurada
El aspecto que guarda mayor complejidad en un sistema de visión estéreo no se
encuentra en el cálculo de la profundidad, sino en la determinación de las correspondencias utilizadas en éste cálculo. En caso de que alguna correspondencia esté incorrecta,
el cálculo de las coordenadas en el espacio será incorrecto también [14]. Las técnicas
más utilizadas para el establecimiento de correspondencias, son las que se detallan a
continuación:
Correlación cruzada. Parte de la suposición de que para un punto P1 en una
imagen I1 (la primera imagen del par estéreo), existirá una región fija en la imagen I2 (la segunda imagen del par estéreo) en la cual se localizará el punto P2
que corresponde al punto P1 . La técnica de búsqueda, utiliza el operador de
correlación cruzada a los vecindarios cercanos a P2 , hasta que se encuentre el
pı́xel que maximice la respuesta a ésta operación, que será el correspondiente a
40
Figura 3.6: Circuito de control y comunicación.
su par P1 . En la figura 3.8 se ilustra el análisis de correlación cruzada en un par
de imágenes estéreo.
Emparejamiento simbólico y restricciones relacionales. Se debe realizar
la búsqueda de una caracterı́stica en una imagen que se relacione con alguna
caracterı́stica en la otra imagen. Las caracterı́sticas que tı́picamente se utilizan
son cruces, segmentos de lı́nea, o regiones. La técnica de búsqueda, normalmente
se basa en el etiquetamiento de imágenes binarias, de forma que sea más sencillo
relacionar caracterı́sticas sin consumir demasiado tiempo del procesador.
Uno de los problemas tı́picos en sistemas de visión estéreo, se da cuando no es
posible detectar las caracterı́sticas de la primera imagen, en la segunda. Algunas caracterı́sticas pueden simplemente no estar presentes, debido a la ubicación de las cámaras.
Ocurre por ejemplo que, algunas caracterı́sticas serán visibles en una imagen, pero en
la otra estarán ocultas.
La configuración del sistema de visión 3D presentada en la figura 3.1, por tanto
tiene la ventaja de proyectar un patrón de iluminación conocido sobre el objeto, lo
cual permitirá simplificar el problema de correspondencia puesto que el procesamiento
de las imágenes será sobre lı́neas ubicadas y orientadas de manera distinta en cada
imagen, como se ilustra en la figura 3.9. Claramente se puede notar que en las dos
41
Figura 3.7: PCB del circuito de control y comunicación.
imágenes (Izquierda y Derecha), se encuentra presente la lı́nea proyectada por el láser
sobre el objeto a analizar. Adicionalmente, resulta importante destacar que el hecho de
procesar únicamente lı́neas en las dos imágenes, reducirá significativamente el tiempo
de procesamiento.
El problema de correspondencia para esta aplicación, se reduce por tanto a la
búsqueda de “puntos de quiebre” en las lı́neas de cada imagen, que en la práctica
representan cambios en la orientación de la superficie sobre la que está siendo proyectada
la lı́nea del láser, y que a la postre nos brindará la información necesaria para la
reconstrucción tridimensional del objeto bajo análisis.
42
Figura 3.8: Problema de correspondencia analizado con correlación cruzada.
3.3.
Calibración del sistema de visión
El proceso de calibración del sistema de visión consiste en utilizar una pieza (objeto) con dimensiones conocidas en el espacio, y a través del conocimiento de las coordenadas bidimensionales (u, v) en cada imagen, y utilizando el proceso detallado en la
sección 2.4, se encuentran matrices de calibración para cada una de las cámaras del
sistema, con las que es posible calcular las coordenadas de los puntos del objeto en
el espacio. En [7] se detalla el procedimiento de calibración de un sistema de visión
estéreo. Previo al proceso de calibración, resulta importante pre-procesar las imágenes,
justamente con el objetivo de reducir la complejidad del problema de correspondencia,
de forma que se obtengan como imágenes resultado únicamente las lı́neas que el laser
proyecta sobre el objeto a analizar.
En la figura 3.10 se ilustra un diagrama de flujo del proceso de calibración y
Pre-procesamiento de las imágenes, cuyos pasos se detallan en las secciones siguientes.
3.3.1.
Adquisición de las imágenes
La plataforma de software en la que se desarrolla el presente trabajo de investigación es LabVIEW 2009 de la firma National Instruments. Se utilizan dos cámaras con
formato de comunicación IEEE 1394a, cuyas caracterı́sticas técnicas se describen en la
subsección 3.1.1. El detalle de programación en LabVIEW para adquirir las imágenes
desde las cámaras se presenta en la figura 3.11, de donde es posible resaltar cuatro
43
Figura 3.9: Simplificación del problema de correspondencia a través de la redundancia
del sistema de visión.
pasos básicos:
Crear espacio de memoria. Las imágenes que están siendo adquiridas por las
cámaras se colocan en la memoria RAM de la computadora a través del bloque
“IMAQ Create”. Se recomienda manejar con cuidado la cantidad de espacios
de memoria que se creen a lo largo del desarrollo de la aplicación puesto que se
podrı́an generar cargas excesivas de memoria, y por ende problemas en depuración
y tiempos de ejecución.
Adquirir la imagen. Una vez que la sesión con la cámara ha sido abierta, la
función “Grab” se encarga de realizar adquisición continua de las imágenes, a la
velocidad que la cámara ha sido configurada. En esta aplicación la velocidad de
transferencia de imágenes es de 30 fps (cuadros por segundo).
Mostrar imagen en pantalla. La opción de despliegue de imágenes es opcional.
Por ejemplo, en el caso de éste sistema el objetivo es adquirir la información de la
geometrı́a del objeto bajo análisis y no interesan el par de imágenes estereo, sin
embargo en la etapa de desarrollo se vuelve fundamental desplegar las imágenes
en pantalla para corroborar el resultado de ciertos algoritmos.
Cerrar sesión. Al momento en que la aplicación se detenga se deben cerrar las
sesiones de las cámaras, de forma que en la siguiente oportunidad en que éste
recurso (cámaras) sea llamado se encuentre disponible, asimismo es recomendable
destruir los espacios de memoria RAM generados.
3.3.2.
Pre-procesamiento de las imágenes
La etapa de Pre-procesamiento del par de imágenes estéreo, es quizás una de
las que se debe realizar con mayor cuidado, ya que los resultados posteriores depen44
Figura 3.10: Diagrama de flujo del algoritmo de calibración.
derán fuertemente del desempeño que aquı́ se obtenga. El par de imágenes adquiridas
utilizarán los mismos algoritmos de Pre-procesamiento, por lo que se describirán los
algoritmos utilizados en una de las dos imágenes.
El objetivo de ésta etapa es básicamente segmentar la información de la imagen
adquirida de forma que se obtenga como resultado únicamente la lı́nea que el láser
proyecta sobre el objeto, como se ilustra en la figura 3.12. Para lograr éste resultado,
como se puede suponer, es necesario binarizar la imagen utilizando como lı́mites de
umbralización, valores que se aproximen a la intensidad luminosa de los pı́xeles que
forman la lı́nea láser proyectada sobre el objeto a analizar. Posteriormente, en virtud
de que algunos pı́xeles que no pertenecen a la lı́nea laser proyectada sobre el objeto
45
Figura 3.11: Adquisición de imágenes en LabVIEW.
también están presentes en la imagen luego de haber sido binarizada, se utiliza un
filtro que elimine los clústeres de pı́xeles de la imagen con áreas menores a 3 pı́xeles,
a través del uso de la herramienta morfológica de erosión y luego la de dilatación, con
un elemento estructurante de tamaño 3 × 3.
Figura 3.12: Preprocesamiento de las imágenes.
3.3.3.
Barrido del ángulo del láser
La proyección de una lı́nea láser sobre el objeto que se encuentra bajo análisis
permite, a través del procesamiento del par de imágenes estéreo, resaltar las carac46
terı́sticas geométricas de éste. Sin embargo, la proyección de ésta lı́nea resalta una
pequeña porción de la totalidad del volumen, y para cubrir la geometrı́a completa que
se encuentra disponible en las imágenes de la configuración estereoscópica, I1 e I2 , se
proponen algunos métodos entre los que se destacan dos sencillos:
1. Se propone mover el objeto longitudinalmente a lo largo de una distancia, y1
constante medida desde el eje y del sistema (la elección del eje y se debe a la
manera en la que se ubicó el sistema coordenado de referencia fijo); y
2. Otra solución, que es precisamente la que se propone en éste trabajo, considera la
no movilidad del objeto, y en consecuencia la rotación del ángulo de proyección
del láser de lı́nea de forma que cubra la totalidad del cuerpo del objeto bajo
inspección.
La modificación del ángulo de proyección del láser se logra rotando el eje del
servomotor, al cual se encuentra acoplado el proyector de luz estructurada, generándose
ası́ el barrido láser. En el anexo 2 se detalla la programación en Microcode utilizando
lenguaje Basic del microcontrolador, que se dedica al control del encendido y apagado de
los láseres y se encarga de gestionar la comunicación (RS232) entre la tarjeta electrónica
y la PC.
3.3.4.
Correspondencia de puntos
La complejidad y los métodos que tradicionalmente se utilizan para solucionar el
problema de correspondencia en visión estereoscópica se analizaron en la sección 3.2.
La proyección de un patrón conocido sobre el objeto que será objeto de análisis, simplifica notablemente el problema de hallar la correspondencia de puntos en el par de
imágenes estéreo, y por otra parte, el pre-procesamiento de las imágenes se reduce a
la búsqueda de imágenes que den como resultado lı́neas con geometrı́as relacionadas
directamente con la forma de los objetos, como se aprecia en la figura 3.12. Resulta
por tanto sencillo notar que la correspondencia de puntos del par de imágenes estéreo
para el cálculo de coordenadas tridimensionales se simplifica a la búsqueda de puntos
de inflexión en las lı́neas láser proyectadas sobre el objeto, en cada imagen. A pesar de
que el procedimiento aparenta ser sencillo, se requieren de heurı́sticas bien elaboradas
para alcanzar precisión en la estimación de los puntos de inflexión en el par de imágenes
estéreo.
Para simplificar la búsqueda de los mencionados puntos, primeramente se aplicó el
algoritmo de esqueletización de la imagen pre-procesada, de forma que el espesor de las
lı́neas se reduzca a un pı́xel de ancho y ası́ resulta aún más factible el procesamiento
por análisis de conectividad. En la figura 3.13 se presenta el resultado de aplicar el
47
algoritmo de esqueletización a la imagen pre-procesada. Claramente se pueden notar,
analizando la figura 3.13, que existen puntos de inflexión en la lı́nea, además de puntos
de bifurcación, de inicio y fin. Un detalle importante a considerar, sobre todo al momento de calibrar el sistema, tiene que ver con el resultado de la esqueletización, puesto
que el algoritmo merma en un pı́xel la longitud del segmento de lı́nea en cada lado, lo
que podrı́a generar imprecisiones al momento de realizar las mediciones en el espacio,
por lo que se recomienda incluir esta reducción al momento de generar las matrices de
calibración del sistema.
Figura 3.13: Esqueletización de la imagen preprocesada.
Conectividad entre pı́xeles
Cuando se habla de pı́xeles conectados entre sı́ o yuxtapuestos, es necesario precisar el tipo de conexión o conectividad que se acepta como válida. En principio, un pı́xel
de una malla rectangular puede estar conectado con los ocho pı́xeles que le rodean en un
espacio plano o solamente con los cuatro más cercanos, como se ilustra en la figura 3.14.
El algoritmo de búsqueda de los puntos de inflexión por tanto analizará las conectividades entre los vecinos de los pı́xeles que forman parte de la lı́nea obtenida luego de
la “esqueletización”, y en donde se cumplan las heurı́sticas detalladas en la tabla 3.1.
Es requisito almacenar las coordenadas de los puntos en una posición definida de un
vector, de forma que al aplicar el mismo algoritmo en la otra imagen del par estéreo se
obtenga los puntos de inflexión en las mismas posiciones del vector almacenado en la
primera imagen, solucionándose ası́ el problema de correspondencia, para seguidamente
dar paso a los cálculos de la geometrı́a en el espacio del objeto.
48
Figura 3.14: Conectividad entre pı́xeles.
Heurı́sticas 5 × 5
xi = [(r1 = 0) ∨ (r1 = 0)] ∧ [(c3 = 0) ∨ (c1 = 0)]
(3.1)
Heurı́sticas 3 × 3
yi = [(r1∼ = 1) ∧ (r2∼ ≥ 2) ∧ (c∼
1 = 3)] ∧ [(c3 = 0) ∨ (c1 = 0)] ∧ [(r3 ≥ 2) ∨ (r4 ≥ 2)]
(3.2)
En la figura 3.15 se ilustran las formaciones de las submatrices 5 × 5 y 3 × 3 para
el criterio de las heurı́sticas que se detallan en la tabla 3.1.
3.3.5.
Cálculo de las matrices de calibración
El algoritmo utilizado en la sección 2.4.1, para estimar matrices de calibración a
partir de una tabla de datos con coordenadas espaciales conocidas y la correspondencia
de puntos en el par de imágenes estéreo se aplica de manera idéntica para calibrar el
sistema real. La diferencia principal con los datos utilizados en el ejemplo desarrollado
en la sección 2.4.1, radica en que los puntos de calibración que se utilizan para el sistema prototipo se toman de una pieza construida con precisión en una maquina CNC,
49
Columna (c)
c0
c1 c∼
0
c2 c∼
1
c3 c∼
2
c4
10 s (5 × 5) 10 s (3 × 3) Operación Lógica
0
xi ∨ y i
2
1
xi ∨ y i
4
3
xi ∨ y i
0
0
xi ∨ y i
0
0
xi ∨ y i
Fila (r)
r0
r1 r0∼
r2 r1∼
r3 r2∼
r4
10 s (5 × 5) 10 s (3 × 3) Operación Lógica
1
xi ∨ y i
1
1
xi ∨ y i
1
1
xi ∨ y i
2
2
xi ∨ y i
1
xi ∨ y i
Tabla 3.1: Heurı́sticas para la localización de los puntos de inflexión.
cuyo diseño se ilustra en la figura 3.16.
La geometrı́a del patron de calibración, que se aprecia en la figura 3.16, se debe
a las variaciones en las pendientes de los segmentos de recta que forman parte de las
aristas de éste, permitiéndo ası́ la generación de una cantidad considerable de puntos de
calibración a través del movimiento del ángulo de proyección del láser de lı́nea (patrón
de iluminación estructurada). Para capturar los puntos de calibración a utilizar en el
algortimo de minimización del error para la estimación de las matrices del sistema, se
eligieron puntos especı́ficos en la pieza de la figura 3.16. En la práctica, se obtienen estos
puntos luego de procesar las lı́neas que el proyector de luz estructurada genera sobre
el patrón de calibración a través del algoritmo de estimación de los puntos de inflexión
desarrollado anteriormente, cuyo detalle se explica en la sección 3.3.4, de forma que se
obtenga un vector con las correspondencias de los puntos en el par de imágenes estéreo
y las coordenadas reales de la pieza en el espacio, considerando un sistema coordenado
fijo.
La correspondencia de puntos y las coordenadas tridimensionales de los puntos de
calibración se muestran en la tabla 3.2.
El resultado de aplicar el algoritmo implementado en la sección 2.4 se resume
en las matrices de calibración estimadas C1 y C2 , correpondientes a la calibración
geométrica espacial de las cámaras izquierda y derecha, respectivamente. Las matrices
50
Figura 3.15: Formaciones de las submatrices 5 × 5 y 3 × 3 para el criterio de las heurı́sticas.
de calibración C1 y C2 se utilizarán más adelante para el cálculo de las coordenadas en
el espacio de puntos especı́ficos a través del procesamiento de la información del par
de imágenes estéreo, ası́ como de distancias e información relevante de la geometrı́a del
objeto bajo prueba.

0.5260 -3.6640 -2.6531 514.7103
=  -1.0930 -1.1390 -2.7945 382.6006 
0.0014 -0.0040 -0.0058 1.000000


0.2495 -3.7308 -2.0109 520.2729
=  -1.0692 -1.3172 -2.5344 374.2948 
0.0014 -0.0044 -0.0053 1.000000

C1
C2
51
(3.3)
(3.4)
Figura 3.16: Diseño del patrón de calibración.
3.4.
Validación de la calibración del sistema
Para validar la calibración del sistema y sobre todo emitir un criterio de precisión, utilizamos el mismo patrón que en la etapa de calibración, descrito en la sección
3.3.5, cuyo detalle se presenta en la figura 3.17. La interfaz hombre-máquina (HMI)
implementado en LabVIEW para las pruebas de calibración y medición de distancias
se ilustra en la figura 3.18, en donde resulta sencillo notar que a través de la determinación de los puntos de inflexión de las imágenes estéreo previamente preprocesadas,
mismos que se hallan utilizando el algoritmo detallado en la sección 3.3.4, es posible
formar la matriz de puntos que se presenta en la tabla 3.2.
52
Figura 3.17: Puntos de calibración en la pieza.
Para verificar la precisión y validar la calibración del sistema, es necesario realizar
mediciones sobre el objeto patrón en los mismos puntos en los que se capturaron para
el cálculo de las matrices; luego se deben contrastar las distancias medidas con las
reales del patrón de calibración y ası́ poder estimar un error de medición promedio
y la desviación estándar del mismo, herramientas que utilizaremos como medidas de
variabilidad para emitir un criterio de precisión del sistema de visión 3D. Los resultados
de éstas pruebas se ilustran en la tabla 3.3.
Los datos presentados en la tabla 3.3 permiten calcular cantidades de la estadı́stica descriptiva tı́picas, como la variabilidad del error a través de su media aritmética y
desviación estándar, cuyos valores son µ = 0,3361mm y σ = 1,1301mm. La disperción
de los datos del error, su relación con su media aritmética (µ) y la desviación estándar
(σ) se ilustran en la figura 3.19. Resulta sencillo concluir a partir de los resultados de
la tabla 3.3 y la gráfica 3.19 que la precisión del sistema en medición de distancias se
aproxima a ≈ ±1 mm. La precisión anteriormente definida a través de las medidas
53
Figura 3.18: HMI implementado en LabVIEW para el proceso de calibración.
de variabilidad del error, nos permitirá más adelante analizar el desempeño del sistema cuando se sometan objetos diferentes al de calibración a pruebas similares a las
realizadas en este punto.
54
Punto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
w
Px
0.00
53.00
1.84
51.16
3.68
49.32
5.52
47.48
7.36
45.64
9.20
43.80
11.04
41.96
12.28
40.72
13.52
39.48
14.76
38.24
16.01
36.99
17.25
35.75
18.49
34.51
19.73
33.27
20.97
32.03
22.21
30.79
23.45
29.55
w
Py
0.00
0.00
5.00
5.00
10.00
10.00
15.00
15.00
20.00
20.00
25.00
25.00
30.00
30.00
33.00
33.00
36.37
36.37
39.74
39.74
43.12
43.12
46.49
46.49
49.86
49.86
53.23
53.23
56.60
56.60
59.97
59.97
63.34
63.34
w
Pz
46.00
46.00
46.00
46.00
46.00
46.00
46.00
46.00
46.00
46.00
46.00
46.00
46.00
46.00
42.31
42.31
38.62
38.62
34.92
34.92
31.23
31.23
27.24
27.24
23.85
23.85
20.15
20.15
16.46
16.46
12.77
12.77
9.08
9.08
1
IC
535.00
521.00
529.00
515.00
514.00
500.00
500.00
492.00
485.00
477.00
470.00
467.00
464.00
457.00
452.00
447.00
440.00
437.00
431.00
429.00
422.00
421.00
415.00
414.00
405.00
405.00
397.00
396.00
389.00
390.00
380.00
379.00
373.00
372.00
1
IR
348.00
238.00
347.00
251.00
342.00
247.00
339.00
250.00
335.00
255.00
331.00
258.00
332.00
261.00
334.00
269.00
336.00
279.00
339.00
287.00
341.00
295.00
346.00
302.00
348.00
311.00
351.00
320.00
353.00
326.00
357.00
336.00
359.00
343.00
2
IC
562.00
528.00
558.00
524.00
542.00
514.00
538.00
507.00
520.00
494.00
508.00
487.00
495.00
479.00
487.00
469.00
474.00
458.00
463.00
449.00
449.00
440.00
439.00
430.00
427.00
420.00
419.00
411.00
407.00
402.00
400.00
390.00
383.00
383.00
2
IR
342.00
239.00
339.00
241.00
332.00
245.00
335.00
247.00
328.00
252.00
324.00
253.00
317.00
255.00
324.00
263.00
327.00
271.00
329.00
278.00
332.00
285.00
332.00
293.00
334.00
301.00
340.00
308.00
340.00
315.00
348.00
323.00
346.00
330.00
Tabla 3.2: Puntos de calibración en el espacio y coordenadas en el par de imágenes
estéreo.
55
Punto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
1
IR
609
568
602
562
591
553
575
545
570
538
529
526
539
519
533
516
517
502
504
490
490
485
480
470
470
462
462
454
449
444
442
437
432
429
1
IC
328
229
327
232
324
235
320
238
320
241
258
245
309
247
310
250
317
261
317
269
322
277
325
288
329
296
331
303
333
311
337
317
340
324
2
IR
604
592
596
587
582
576
556
563
556
553
538
540
532
532
524
523
510
509
500
500
493
494
480
482
472
474
465
466
455
457
449
450
442
350
2
IC
346
236
342
238
338
242
331
246
331
248
328
254
325
325
324
259
330
270
331
279
334
286
338
297
340
306
342
311
345
320
347
325
442
333
Distancia Medida (mm) Distancia Real (mm)
52.235
53.00
Error
-0.765
51.937
49.32
2.617
47.421
45.64
1.7814
41.966
41.96
0.0064
39.421
38.28
1.141
34.121
34.60
-0.478
29.140
30.92
-1.78
27.335
28.44
-1.105
25.197
25.96
-0.763
23.558
23.48
0.078
21.271
20.98
0.291
18.881
18.50
0.381
16.211
16.02
0.191
14.55
13.54
1.01
11.554
11.06
0.494
10.270
8.58
1.69
7.0243
6.10
0.9243
Media Aritmética del Error 0.3361
Desviación Estándar del Error 1.1301
Tabla 3.3: Resultados de la validación de la calibración del sistema.
56
Figura 3.19: Dispersión del error en las mediciones de distancia realizadas sobre el
objeto patrón.
57
Capı́tulo 4
Desarrollo de una metodologı́a para inspección de
objetos con visión estereoscópica e iluminación
estructurada
El desarrollo de un sistema experimental y una evaluación superficial de resultados
en su funcionamiento fueron objeto de estudio del capı́tulo anterior. Sin embargo, la
meta de investigación de ésta tesis es la de establecer una metodologı́a para implementar sistemas de inspección tridimensional a nivel industrial que permitan solucionar
problemas relacionados al control de calidad en lı́neas de manufactura, y es justamente
por ello que en el desarrollo de éste capı́tulo se encuentran los resultados de diferentes
pruebas del sistema, con los cuales se establece una correcta secuencia de pasos para
la solución de problemas de inspección 3D. En la sección 4.1 se aborda con detalle la
evaluación del desempeño del sistema experimental con objetos diferentes al utilizado
en la calibración y diferentes condiciones de iluminación. En la sección 4.2 se desarrolla y explica la metodologı́a utilizada a lo largo de éste trabajo de investigación, para
presentar finalmente en la última sección el método que permite alcanzar los objetivos
de inspección tridimensional a nivel industrial.
4.1.
4.1.1.
Evaluación del desempeño del prototipo
Precisión del sistema
La medición de distancias en el espacio es uno de los aspectos de mayor utilidad
a nivel industrial en procesos de control de calidad asistidos por sistemas de visión
artificial 2D y 3D, por lo que es menester conocer la precisión del sistema propuesto en
el capı́tulo anterior para realizar mediciones sobre objetos con caracterı́sticas diversas.
La evaluación de la precisión en las mediciones realizadas por el prototipo de la figura
3.3 se realiza utilizando 2 objetos diferentes, de forma que sea posible contrastar los
resultados aquı́ obtenidos entre sı́ mismos y con los de la sección 3.4. El primer objeto
con el que se realiza la evaluación del desempeño y prueba de precisión es un rectángulo
sencillo de dimensiones 50 × 56 × 20 mm, como se ilustra en la figura 4.1.
58
Para completar la geometrı́a del objeto con el haz de luz estructurada, como se
detalló en la subsección 3.3.3, se realiza el barrido del ángulo del láser a lo largo de
la cara superior del rectángulo cuya dimensión real es de 49,6 mm. En la tabla 4.1 se
muestran los resultados de 7 capturas de lı́neas láser proyectadas en diferentes posiciones
del objeto, mismas que se detallan en la figura 4.1, que dan como resultado 14 puntos, 2
por cada recta, con los cuáles se realizan las mediciones de distancias correspondientes
y cálculos del error en esa medición.
Figura 4.1: Objeto de prueba para mediciones longitudinales.
El análisis del error de las mediciones que se presentan en la tabla 4.1, nos entrega como resultado una media aritmética, µ = −0,393 y una desviación estándar,
σ = 1,385 mm, a partir de lo cual podemos concluir que la precisión aproximada del
sistema será de 1,385 mm y que las mediciones estarán dentro de un rango de error
59
Punto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
IR
586
554
567
536
552
524
536
505
517
489
494
467
469
467
1
IC
357
270
359
270
361
269
365
271
364
272
369
274
372
274
2
IR
596
585
578
565
558
551
534
532
517
513
487
485
457
485
2
IC
376
278
380
278
381
278
379
279
382
279
381
281
383
281
Distancia Medida (mm) Distancia Real (mm)
50.143
49.6
Error
0.543
49.594
49.6
-0.006
49.230
49.6
-0.37
51.241
49.6
1.641
48.852
49.6
-0.748
47.12
49.6
-2.48
47.899
49.6
-1.701
Media Aritmética del Error -0.393
Desviación Estándar del Error 1.385
Tabla 4.1: Resultados de la medición de distancias sobre el rectángulo de prueba.
de ±1,3 mm, lo cual es bastante cercano al resultado obtenido en la sección 3.4. La
geometrı́a de éste primer objeto de prueba es muy sencilla, sin embargo ha permitido
confirmar la confiabilidad del sistema al menos en mediciones de la superficie de un
sólido.
En la figura 4.2 se muestra la geometrı́a del segundo objeto utilizado para comprobar la precisión del sistema. La prueba que se realiza en esta oportunidad consiste
en la medición del ancho de la pieza en varios puntos de ésta a través del barrido del
láser a lo largo de su superficie, cuya medida real es de 28,33 mm. De manera parecida
al caso anterior, se resumen los resultados de las mediciones en la tabla 4.2. A pesar de
que en ésta etapa de validación no estamos decodificando mayormente la información
tridimensional del sistema, puesto que nos hemos concentrado en mediciones de distancias, la geometrı́a de éste segundo objeto de prueba permite confirmar la robustez
del sistema calibrado puesto que presenta pendientes y cambios de alturas, lo que no
sucedı́a en el primer experimento con el objeto de la figura 4.1.
El análisis del error de las mediciones que se presentan en la tabla 4.2, nos entrega como resultado una media aritmética, µ = −0,59 y una desviación estándar,
σ = 1,226 mm. A pesar de que la desviación estándar se parece mucho a los resultados
obtenidos en la sección 3.4 y los de la tabla 4.1, la media aritmética es mucho más
60
Figura 4.2: Medición del ancho de una pieza tridimensional.
alta que en los casos anteriores, divergiendo esta vez considerablemente de cero. La
desviación de los resultados se puede atribuir a que estamos utilizando una pieza de
mayor longitud a la que se uso en la calibración del sistema y que abarca un área no
calibrada, lo cual se puede observar en el resultado de las mediciones 9, 11 y 13 de la
tabla 4.2 que corresponde a los puntos más lejanos del origen del sistema coordenado
del sistema cuya coordenada en y alcanza valores cercanos a los 78 mm y la elevación
en z es de 50 mm, mientras que para ese valor coordenado en y el patrón de calibración tenı́a elevaciones en z cercanas a cero. La observación más importante que este
resultado nos arroja, radica en que para optimizar los resultados de precisión sobre un
objeto, se recomienda fuertemente calibrar el sistema con un objeto patrón de idéntica
geometrı́a a los de una lı́nea de producción, en la que este sistema se podrı́a instalar.
61
Punto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
IR
612
590
599
327
585
562
570
551
543
526
456
442
454
423
1
IC
327
271
578
272
330
271
338
278
351
293
335
275
340
276
2
IR
608
602
593
591
577
568
561
557
538
535
424
434
404
410
2
IC
345
281
344
281
346
281
353
288
367
303
342
280
344
281
Distancia Medida (mm) Distancia Real (mm)
28.126
28.33
Error
-0.204
28.84
28.33
0.51
27.151
28.33
-1.179
26.982
28.33
-1.348
26.872
28.33
-1.458
26.41
28.33
-1.92
29.794
28.33
1.464
Media Aritmética del Error
Desviación Estándar del Error
-0.59
1.226
Tabla 4.2: Resultados de la medición de distancias sobre la pieza de la figura 4.2.
Resulta importante destacar, que ha pesar de que el sistema es capaz de detectar
todos los puntos de inflexión producidos en el quiebre del láser producto de la geometrı́a
del objeto bajo análisis, la decodificación de la información tridimensional se realiza en
función del ángulo de proyección del patrón de iluminación estructurada (lı́nea laser),
que en éste sistema no es fijo y además es desconocido. Es posible realizar una notable
observación a partir del análisis de los resultados de las mediciones de las dos piezas
utilizadas para la evaluación de la precisión del sistema, y radica en el hecho de que
la eficiencia máxima en éste sistema se consigue aplicando mediciones sobre objetos
idénticos al usado como patrón de calibración. Adicionalmente, para facilitar la interpretación de la información tridimensional se recomienda fijar en un ángulo conocido
la proyección del haz de luz estructurada y recorrer el objeto a lo largo de algún eje
del sistema coordenado fijo. En la figura 4.3 se ilustra una representación de los puntos
en el espacio correspondientes al objeto de calibración (patrón), de la que se puede
destacar la forma que los puntos en el espacio tornean, que como era de esperarse se
parece mucho a la de la figura 3.16.
Claramente se puede observar que existen variaciones en los puntos estimados
pertenecientes a las aristas del objeto, que estarán dentro del rango de tolerancia determinado en la sección 3.4. La reconstrucción visual en 3D están fuera del alcance de
62
Figura 4.3: Reconstrucción del patrón de calibración en 3D.
éste trabajo de investigación, sin embargo en [3, 5, 18, 19] se presentan varias técnicas
para éste propósito.
4.1.2.
Pruebas de precisión sobre un objeto de manufactura
Además de desarrollar una metodologı́a para la medición de objetos en el espacio
a través de la combinación de las técnicas de visión estéreo e iluminación estructurada,
es de particular interés en el desarrollo de esta tesis el comprobar la precisión del sistema en la determinación de distancias en objetos de manufactura, por lo que en este
punto se muestran los resultados de aplicar mediciones y estimaciones de los puntos en
el espacio correspondientes a tres objetos con una geometrı́a como la que se muestra
en la figura 4.4.
En la tabla 4.3 se muestran los resultados de ésta prueba experimental para 3
diferentes objetos con la geometrı́a de la figura 4.4. Es decir, a través de ésta prueba
se pretende simular los resultados que arrojarı́a un sistema instalado en una lı́nea de
manufactura.
Los resultados presentados en la tabla 4.3 muestran pequeños errores en la determinación de las longitudes l1 y l2 sobre las tres diferentes piezas. Analizando con
cuidado los resultados, es posible rescatar los siguientes aspectos importantes:
63
Figura 4.4: Objeto de manufactura utilizado para comprobar la precisión del sistema.
Precisión del sistema. A pesar de que el sistema no fue calibrado para trabajar
exclusivamente con ésta pieza, la calibración realizada en la sección 3.3.5 nos ha
permitido obtener mediciones con errores mucho menores a 1mm, excepto en el
primer resultado de la tabla, cuyo error en la medición de l2 es mayor a 1mm
puede atribuirse a ruido sobre la medición. Adicionalmente, en las condiciones
de operación del sistema actuales, se puede notar que existe un incremento en
la imprecisión cuando se requieren medir pequeñas distancias, y esto se debe
justamente a la resolución de las cámaras con las que estamos trabajando.
Precisión de las mediciones manuales. En la figura 4.4 se presentan las dimensiones de diseño de la pieza utilizada para las pruebas experimentales, cuyas medidas difieren ligeramente a las utilizadas en la tabla 4.3, puesto que se tomaron
manualmente utilizando un calibrador. La ventaja de utilizar un sistema de inspección automático resalta notablemente en este punto, puesto que la realización
de ésta operación de medición tomo muchı́simo más tiempo que la determinación
de distancias hecha de manera automática por el sistema.
64
Pieza
1
2
3
l1 medida l2 medida l1 real l2 real Error l1
24.099
9.6967
23.9
7.8
0.199
23.187
7.253
23.9
7.8
-0.713
23.325
NA
23.9
7.8
-0.575
24.682
8.3944
24.01
8.1
0.672
24.89
8.8968
24.01
8.1
0.88
24.53
NA
24.01
8.1
0.52
24.011
7.315
23.9
7.78
0.111
23.173
7.901
23.9
7.78
-0.727
24.533
NA
23.9
7.78
0.633
Error l2
1.8967
-0.547
NA
0.2944
0.7968
NA
-0.465
0.121
NA
Tabla 4.3: Resultados de la medición de distancias sobre la pieza manufactura de la
figura 4.4.
4.1.3.
Operación bajo diferentes condiciones de iluminación
A pesar de que el objetivo en esta ocasión es el de obtener atributos tridimensionales de un objeto bajo prueba, la condición de iluminación más favorable para el
sistema prototipo construido, es aquella en la que existe ausencia de luz sobre la escena,
de forma que sea posible únicamente capturar la lı́nea láser del proyector del haz de luz
estructurada con sus correspondientes deformaciones debidas a la geometrı́a del objeto.
En la figura 4.5 se muestra la imagen de la captura de la escena de trabajo de una de
las cámaras y su correspondiente preprocesamiento, de donde se puede observar que
el preprocesamiento no puede cumplir con el propósito de obtener como caracterı́stica
final de la imagen únicamente la lı́nea láser proyectada sobre el objeto bajo análisis.
Para lograr ese propósito, deberı́a utilizarse un láser de mayor potencia y de un color
que resalte en el ambiente, de forma que a través de procesamiento de la imagen en
color la segmentación sea un éxito.
Si por otro lado, las condiciones de iluminación son más favorables al sistema, es
decir existe poca luz en el ambiente o ausencia de ella, el preprocesamiento se vuelve
más eficiente y existe menos propensión a errores. En la figura 4.6 se ilustra el resultado de procesar una imagen en un ambiente de poca iluminación, que como se
puede observar, se ajusta a los requerimientos de los algoritmos y la metodologı́a hasta
aquı́ implementada en éste trabajo. Se recomienda por tanto, utilizar el sistema en
ambientes donde no exista iluminación natural y la lı́nea láser del proyector de luz
estructurada resalte sobre cualquier otra reflectancia del objeto bajo prueba. Debemos
recordar que el objetivo de la iluminación estructurada en nuestro caso puntual es el de
resaltar atributos tridimensionales, y no estamos interesados en aumentar el contraste
65
Figura 4.5: Preprocesamiento fallido de la imagen. Sistema funcionando en un ambiente
con demasiada luz.
de la escena capturada, como en el caso del procesamiento de imágenes en 2D.
Figura 4.6: Preprocesamiento exitoso sobre una de las imágenes capturadas del par
estéreo.
4.2.
Metodologı́a utilizada en el desarrollo del proyecto
La continua revisión del estado del arte en el procesamiento de imágenes en 3D,
y el estudio de técnicas similares a las que han sido presentadas en éste trabajo de investigación, condujeron el desarrollo de nuestra aplicación de sensor tridimensional por
etapas en principio desconocidas que fueron a su vez desencadenando nuevas opciones
para continuar la búsqueda del objetivo principal de esta tesis. En la figura 4.7 se presenta un bosquejo de los pasos que se siguieron durante el desarrollo de los algoritmos,
prototipo, formulación matemática y el HMI (Human Machine Interface), que como
se puede notar, a pesar de haber estado someramente establecidos, fueron objeto de
66
continuos cambios y actualizaciones que dieron como resultado la metodologı́a que se
presenta en la sección siguiente.
Figura 4.7: Pasos seguidos a lo largo del camino de investigación.
Resulta sencillo notar de la figura 4.7 que la problemática empieza con la elección
del sistema tridimensional a usar, presentándose las siguientes opciones: Sistema de
visión estereoscópica, Sistema de visión tridimensional con iluminación estructurada y
una cámara, y finalmente la opción elegida para éste trabajo que fue la combinación de
las dos técnicas mencionadas anteriormente, cuyo detalle y ventajas se describen en la
sección 3.2. Vale la pena destacar que a pesar de que existe gran cantidad de literatura
relacionada con sistemas de visión tridimensional, son mı́nimas las aportaciones de sistemas como el propuesto en éste trabajo. La calibración del sistema, por otro lado, se
puede realizar de diversas maneras y depende del sistema elegido en la etapa anterior,
no obstante es fundamental realizar bien éste paso puesto que la precisión global del
sistema depende mucho del éxito con el que se estimen las matrices C1 y C2 . Proba67
blemente el diagrama de transición de estados no expresa con claridad la problemática
que la implementación práctica presentó, sin embargo resulta fundamental contar con
un algoritmo de Pre-procesamiento de las imágenes funcionando correctamente previo
a la calibración del sistema, puesto que la precisión en la adquisición de los puntos en el
espacio para la estimación de las matrices de calibración está sujeta a diversos factores
como: condiciones de iluminación, distancia de trabajo, ubicación de las cámaras en el
espacio y la resolución de las cámaras.
Una vez que el sistema ha sido correctamente calibrado, se podrı́a decir que el
50 % del trabajo está hecho, constituyendo la otra mitad la elaboración de los algoritmos de decodificación tridimensional, desarrollo y refinamiento de algoritmos de
preprocesamiento de las imágenes y la presentación de la información 3D. La etapa que
mayores contratiempos presentó en éste trabajo fue la elaboración de los algoritmos de
decodificación tridimensional que consistió en segmentar la información de las imágenes
de forma que únicamente se obtengan en vectores las coordenadas de los puntos de inflexión del par de imágenes estéreo, para a continuación presentar una colección de
puntos en el espacio que tornean la forma del objeto bajo análisis, además de mostrar
el detalle de las mediciones longitudinales de las piezas bajo inspección.
El caos de pasos que se persiguieron y se han detallado hasta aquı́, se aclaran y
definen metodológicamente en la siguiente sección.
4.3.
Metodologı́a para la integración de visión estéreo
e iluminación estructurada para la inspección
de objetos y adquirir atributos 3D
Metodologı́a es una palabra compuesta por tres vocablos griegos: metà (“más
allá”), odòs (“camino”) y logos (“estudio”), cuyo concepto hace referencia a los métodos de investigación que permiten lograr ciertos objetivos en una ciencia. Se proponen,
por tanto en la figura 4.8 la secuencia ordenada de pasos que se deben seguir para la
integración de las técnicas de visión estereoscópica e iluminación estructurada para la
inspección de objetos en 3D.
En las secciones siguientes se detallan los pasos propuestos en ésta metodologı́a y
los resultados que se deberı́an esperar en cada etapa.
68
Figura 4.8: Metodologı́a para la integración de las técnicas de visión estereoscópica e
iluminación estructurada para inpección de objetos en 3D.
69
4.3.1.
Selección de los componentes del sistema
En función del ambiente en el que sistema se encontrará operando, la precisión
que se busque y el presupuesto del proyecto, se deben seleccionar los componentes
que formarán parte del sistema de visión tridimensional. El equipamiento principal
está compuesto por los siguientes elementos:
2 Cámaras. Se utilizan para la configuración estéreo y no hace falta que sean
idénticas, sin embargo es muy recomendable contar con cámaras de caracterı́sticas
similares. Uno de los aspectos importantes en la elección de las cámaras, tiene
que ver con el formato de comunicación, cuya discusión se presentó en la sección
3.1.1. La segunda consideración relevante al momento de elegir las cámaras es la
resolución, que está involucrada directamente con la precisión que se espera que
el sistema ostente, para lo cual se propone la siguiente estimación sencilla, en la
que se involucra también la distancia focal, como parámetro de libre elección.
Figura 4.9: Selección del lente de la resolución y el lente de la cámara.
Fl = 4,65mm D = 200mm SS = 2,4mm
D
200
F OV = SS
= 2,4
Fl
4,65
F OV = 103,22mm
Resolucion = 640 × 480 pixeles
F OVvertical = 103mm
T amanoP ixel =
103
= 0,21mm
480
70
De manera sencilla podemos deducir que mientras mayor sea la resolución, el
tamaño de los pı́xeles será menor y por tanto la precisión del sistema mejorará,
asimismo se puede notar que existe una fuerte influencia de la distancia de trabajo
y la distancia focal, por lo que se recomienda elegir con cuidado éstos parámetros
para maximizar la eficiencia del sistema final.
Proyector de luz estructurada. En virtud de que se pretende simplificar el problema de correspondencia en el par de imágenes estéreo, se recomienda utilizar
un láser de lı́nea con una potencia de al menos 5mW , y de un color que permita asimismo sintetizar el preprocesamiento de las imágenes, es decir que ofrezca
suficiente contraste sobre la superficie del objeto bajo análisis.
Software. Éste elemento del sistema es de libre elección y el proyectista deberı́a
optar por la opción en la que se sienta más cómodo desarrollando, o en su defecto
existen plataformas comerciales que no requieren programación sino únicamente
configuraciones por pasos, como el caso del NI Vision Builder for Automated
Inspection de National Instruments. Sin embargo, existen requerimientos mı́nimos
que el software elegido debe cumplir:
1. Comunicación con cámaras de diferentes formatos, y en nuestro caso puntual
por lo menos IEEE 1394.
2. Calcular distancias en el objeto a través de manipulaciones matriciales y
operaciones matemáticas, probablemente esto se desarrolları́a dentro de un
script.
3. Integración con otros dispositivos, puesto que una aplicación de visión es
con frecuencia una parte de un sistema de control mucho más grande.
4.3.2.
Configuración del ambiente de trabajo
Difı́cilmente un ingeniero de aplicación puede elegir la problemática en la que
desea trabajar, y por ende el ambiente de trabajo tampoco. Por tanto, la configuración
del ambiente de trabajo más bien se relaciona con los siguientes aspectos:
Ubicación de los componentes del sistema. En la sección anterior se detallaron
los componentes mı́nimos necesarios para la implementación de una cámara 3D.
La disposición de las cámaras y el proyector de luz estructurada tiene un fuerte
impacto en la complejidad de los algoritmos, por lo cual se recomienda considerar
las siguientes recomendaciones:
1. Definir un sistema coordenado derecho dentro del campo de visión de las
cámaras.
71
2. La ubicación de las cámaras debe favorecer la adquisición de la geometrı́a de
los objetos, por tanto el criterio de emplazamiento de éstas debe contemplar
el no generar oclusiones de una imagen con respecto a la otra.
3. El proyector de luz estructurada preferentemente deberı́a generar lı́neas láser
paralelas a alguno de los ejes del plano en el que la pieza reposa.
4. Definir la zona en la que el objeto será ubicado para el análisis, y ası́ realizar
las pruebas de calibración en esa área, figura 3.1.
La iluminación del ambiente preferentemente deberı́a ser tenue para una mejor y
mayor distinción del haz de luz sobre la superficie del objeto y el ambiente propiamente, sin embargo esta recomendación está sujeta a la potencia del proyector de
luz estructurada y a su color. Asimismo, es recomendable evitar ambientes con
exceso de impurezas como polvo, debido a que en un plazo extendido afectarı́a la
visibilidad de las cámaras por las partı́culas que se podrı́an depositar sobre los
lentes. En caso de que el ambiente sea de caracterı́sticas no favorables, deberı́a
programarse una limpieza perı́odica sobre los lentes de las cámaras y el proyector
de luz estructurada.
4.3.3.
Desarrollo y pruebas de algoritmos de Pre-procesamiento
de imágenes
No existe un acuerdo general entre autores que especifique en donde termina el
área del procesamiento digital de imágenes y otras áreas empiezan, tales como el análisis
de imágenes y visión por computadora. Muchas veces se realiza esta distinción definiendo al procesamiento digital de imágenes como una disciplina en la cual el ingreso y la
salida del sistema son imágenes [25]. Por otro lado, los campos de visión por computadora pretenden emular la visión humana, incluyendo procesos de aprendizaje y toma
de decisiones, por lo que conviene definir niveles de procesamiento para ubicar nuestros
diferentes algoritmos en este contexto. En la figura 4.10 se ilustran los niveles de procesamiento en aplicaciones que involucran imágenes digitales.
Los algoritmos de Pre-procesamiento de imágenes, que tienen como propósito simplificar la información del par de imágenes estéreo de forma que el resultado de éstas
operaciones sea únicamente la lı́nea láser proyectada sobre la superficie del objeto bajo
prueba, como se ilustra en la figura 4.6, se ubican por tanto en los niveles de procesamiento de bajo nivel para el mejoramiento de la imagen y también en el nivel de
procesamiento de nivel medio para segmetar la imagen. Para el desarrollo de los algoritmos de preprocesamiento de las imágenes se recomiendan las siguientes técnicas:
Procesamiento de Bajo Nivel. Necesariamente se debe realizar un ajuste de contraste para que el lı́nea láser proyectada sobre el objeto bajo prueba sea lo que
72
Figura 4.10: Niveles de procesamiento en aplicaciones que involucran imágenes digitales.
más resalte en la imagen. Adicionalmente, es muy recomendable realizar un enmascaramiento de la región de interés (ROI - Region of Interest) a través de
operaciones lógicas.
Procesamiento de Nivel Medio. La idea en éste punto es segmentar la imagen
“mejorada” a través del procesamiento de bajo nivel. Las operaciones recomendadas son principalmente:
• Binarización. Con éste método es posible convertir una imagen de varios
niveles de gris a una nueva con solo dos, de tal forma que los objetos quedan
separados del fondo, siendo el interés separar la lı́nea láser proyectada sobre
el objeto.
1 → Ta ≤ f (x, y) ≤ Tb
g (x, y) =
(4.1)
0 → C.C.
El problema está en encontrar los valores de gris a tomar como umbrales para
aplicar la ecuación 4.1, por lo que la configuración del ambiente y la elección
de los componentes del sistema serán decisivos en la reducción del ruido en
la imagen adquirida y permitirán disminuir la complejidad del algoritmo.
• Esqueletización. Se pretende reducir a un pı́xel de grosor las lı́neas láser
capturadas por las cámaras para que la búsqueda de los puntos de inflexión
73
más adelante sea más sencillo.
El resultado del preprocesamiento de las imágenes deberı́a ser parecido al que se
ilustra en la figura 4.6 y evitar obtener resultados como el que se muestra en la figura
4.5.
4.3.4.
Validación de la calibración del sistema
Uno de los puntos neurálgicos que determinan el desempeño global del sistema
radica en la calibración de éste. Existen varios enfoques para éste propósito ([28, 29]),
sin embargo se propone utilizar el método estudiado en la sección 2.4 y ejecutado en la
sección 3.3. La idea básica es utilizar un objeto con dimensiones conocidas que tenga
suficiente variabilidad en el espacio, de forma que la captura de los puntos que forman
parte de su geometrı́a permitan estimar matrices de calibración que trabajen bien en
al menos el espacio en el que los objetos bajo prueba se situarán. La literatura formal
[14] menciona que por lo menos se deben utilizar 6 puntos en el espacio con sus correspondientes ubicaciones en las imágenes del par estéreo, sin embargo trabajos como los
realizados en [9] utilizan incluso 150 puntos. En la calibración realizada en éste trabajo
de investigación se utilizaron 34 puntos, obteniendo un resultado relativamente bueno,
considerando la resolución de las cámaras, con precisión en las mediciones próxima a
1mm.
La validación de la calibración deberı́a hacerse cotejando los datos en el espacio
reales del objeto de calibración, con los estimados por el sistema a través de las matrices
de calibración previamente estimadas. En [27] se presenta un amplio análisis sobre el
problema asociado con la calibración geométrica de las cámaras a través la aplicación
del diseño de experimentos.
4.3.5.
Decodificación de información tridimensional
Una vez que la calibración del sistema nos ha brindado resultado adecuados, el
siguiente paso consiste en interpretar la información que podemos capturar del espacio
a través del sistema de adquisición (cámaras en configuración estéreo + proyector de
luz estructurada). Considerando que las imágenes a procesar serán parecidas a las que
se ilustra en la figura 4.6, el objetivo ahora será el de encontrar los puntos de inflexión
de las lı́neas láser proyectadas sobre el objeto bajo inspección. En virtud de que éstos
puntos de inflexión se presentan en las dos imágenes, el problema de correspondencia
de visión estereoscópica queda resuelto y lo que se deberı́a hacer a continuación es
calcular los puntos en el espacio pertenecientes a los puntos de intéres que nuestros
algoritmos calculen. En la figura 4.11 se presenta el esquema de lo que el algoritmo de
74
decodificación 3D en primera instancia deberı́a realizar.
Figura 4.11: Decodificación de puntos de inflexión.
Una vez que los puntos en el espacio han sido estimados, resulta sencillo calcular
distancias utilizando la formula de Euler. En la sección 3.3.4 se detalla el algoritmo de
decodificación tridimensional implementado en éste trabajo de investigación.
75
Capı́tulo 5
Conclusiones y trabajos futuros
En esta última parte de éste trabajo se presentan las conclusiones más relevantes
del proceso de investigación, algunas reflexiones sobre los resultados, y una breve descripción de futuras investigaciones y alcances acerca de cámaras tridimensionales para
inspección en lı́neas de manufactura. La sección 5.1 presenta las conclusiones de la tesis,
y la sección 5.2 menciona las próximas investigaciones en sistemas de visión 3D.
5.1.
Conclusiones
Los resultados presentados a lo largo de ésta travesı́a investigativa han sido alentadores en el aspecto de aplicaciones potenciales que se podrı́an beneficiar de la metodologı́a
que se describe en la sección 4.3, identificándose principalmente las siguientes áreas de
oportunidad:
Asistencia y/o decisión autónoma en el control de calidad, a través de inspección
sin contacto en lı́neas de manufactura.
Clasificación de productos con geometrı́as distintas en lı́neas de producción.
Ingenierı́a inversa.
Robótica móvil.
Complemento para aplicaciones de realidad aumentada y realidad virtual.
La precisión del sistema en la medición de distancias y estimación de puntos en
el espacio tiene relación directa con la resolución de la cámara que se utilice en la aplicación, como se detalla en la sección 4.3.1. Utilizando una cámara con una resolución
mayor a la utilizada en nuestro proyecto (640 × 480), definitivamente incrementará la
precisión en las mediciones y estimación de los puntos del objeto en el espacio. Existe
sin embargo, la posibilidad de compensar esta limitación de hardware a través de una
correcta ubicación de los elementos del sistema de visión artificial, de forma que por
ejemplo el objeto bajo prueba abarque por completo el campo de visión de la cámara
76
(FOV - Field of View). La precisión del sistema de visión también puede variarse a
través de la modificación del lente de la cámara, por lo que una cámara industrial que
posea la montura C-mount para lentes, podrı́a experimentar diferentes precisiones a
través del reemplazo de un lente por otro de mayor ó menor distancia focal. Por tanto,
a través de la modificación de la distancia focal, el tamaño de los pı́xeles en unidades
métricas se verá modificado también, por lo que la elección y ubicación de todos los
componentes del sistema debe realizarse de manera cuidadosa.
A pesar de las limitaciones de hardware, restringidas principalmente por el presupuesto del proyecto, la precisión alcanzada es aceptable (aproximadamente ≈ ±1 mm),
en la figura 3.19 se ilustra la disperción del error en la medición de distancias realizada
sobre el objeto patrón y en donde es posible apreciar los lı́mites dentro de los cuáles se
ubica el error. Sin embargo, al utilizar objetos pequeños para el análisis de dimensiones
y puntos en el espacio y ubicaciones fijas para las cámaras y el patrón de luz estructurada, la precisión no fue superior debido a que los objetos ocupaban una pequeña
área del FOV.
El haber elegido cámaras cuya comunicación estándar es IEEE 1394, y especificaciones IIDC, garantiza que esta aplicación pueda adaptarse a cámaras con especificaciones más robustas y de capacidades mayores, de forma que su integración a aplicaciones industriales sea más sencilla.
Uno de los grandes problemas de visión estereoscópica, que tiene que ver con la
correspondencia de puntos en las imágenes, fue resuelto a través de la proyección de
un patrón de iluminación conocido (una lı́nea láser) sobre el objeto bajo análisis, simplificando el procesamiento a la búsqueda de puntos en las lı́neas proyectadas en el par
de imágenes estéreo, capturadas por las cámaras, en los que se detecten cambios de
pendiente sobre la tendencia global de la lı́nea, que son los atributos que justamente
guardan el detalle tridimensional de las imágenes. Este fue el método utilizado para
fusionar los técnicas de visión estereoscópica e iluminación estructurada.
El tiempo de procesamiento de una lı́nea láser proyectada sobre el objeto bajo
análisis, con la cual se podrı́a medir sin contacto distancias de la pieza, es de 0,25 segundos. Resulta sencillo por tanto notar, que un ‘scan’ completo de una pieza con 20
lı́neas tardarı́a alrededor de 5 segundos, lo cual por supuesto mejora notablemente el
tiempo de medición sobre una pieza para verificar sus dimensiones en una lı́nea de producción, comparado con el caso de que se lo realice de manera manual. Cabe destacar
en este punto que las caracterı́sticas del computador con el que se está trabajando son
las siguientes: Procesado Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz, memoria
RAM 2.00 GB y sistema operativo Windows 7 de 64 bits, por lo que un computador
77
de prestaciones mayores asegurarı́a mejores tiempos de respuesta también.
La metodologı́a de calibración de las cámaras y el haz de luz estructurado no
restringe el uso de cámaras idénticas, sin embargo se recomienda fuertemente utilizar
por lo menos cámaras de caracterı́sticas similares. La propuesta de calibración de las
cámaras presentada en la sección 2.4 no demanda el conocimiento de las caracterı́sticas internas de las cámaras como distancia focal, tamaño del lente, etc., por lo que
fácilmente se pueden utilizar diferentes modelos de cámaras.
5.2.
Trabajos futuros
Uno de los grandes atractivos de los sistemas de visión tridimensional se encuentra
en las formas en que la información capturada y procesada por el sistema es presentada
al usuario. En el presente trabajo de investigación, el enfoque fue la adquisición de la
información y el desarrollo de una metodologı́a principalmente, sin embargo el paso
siguiente que esta investigación debe dar por su propia inercia, será la presentación de
la colección de los puntos en el espacio en forma sólida a través de técnicas de ingenierı́a
inversa.
Adicionalmente, y por otro lado, se realizarán esfuerzos por parte de los involucrados en este proyecto por instalar un sistema de caracterı́sticas similares al prototipo
desarrollado, en una lı́nea de manufactura, y ası́ confirmar los resultados e incluso soñar
con la comercialización masiva de sistemas de este tipo y/o de servicios a empresas de
manufactura.
78
Apéndice A
Algoritmo de calibración en Matlab
Se presenta a continuación el código implementado en Matlab para la solución
del ejemplo de la subsección 2.4.1. Resulta importante destacar que al ser un código de
estructura tipo fichero *.m, puede ejecutarse también en ambientes como Mathematica,
LabVIEW Mathscript, Mapple, etc.
%************************* - Cálculo de posición 3D - *************************
%** Autor: Ismael Minchala A.
**
%** Fecha: 12/09/2010
**
%**
**
%**
A partir de datos de varios puntos en el espacio, y el conocimiento
**
%**
de las coordenadas de cada uno de los puntos en dos imágenes distin**
%**
tas se calculan las matrices de calibración para cada cámara (C1,C2)
**
%**
y luego se utilizan éstas matrices para estimar otro punto en el
**
%**
espacio tridimensional.
**
%******************************************************************************
clc
clear all
%Limpiar pantalla
%Borrar todas las variables
%**************************** - Matriz de Datos - *****************************
M = [0 0 0 167 65 274 168; 0 15.24 0 96 127 196 42;
27.94 15.24 0 97 545 96 431; 27.94 0 0 171 517 154 577;
20.955 0 -11.43 352 406 366 488; 6.985 0 -11.43 347 186 430 291;
13.97 0 -8.89 311 294 358 387; 13.97 15.24 -8.89 226 337 0 0;
0 0 -1.905 198 65 303 169; 27.94 0 -1.905 203 518 186 577;
5.08 0 0 170 143 248 248; 5.08 15.24 0 96 198 176 116;
22.86 15.24 0 97 465 114 363; 22.86 0 0 173 432 176 507;
20.955 0 -4.5974 245 403 259 482; 6.985 0 -4.5974 242 181 318 283];
%******************************************************************************
[r c] = size(M);
%Dimensiones de M
79
%*************************** - Matrices de Puntos - ***************************
for j = 1:r
WP(j,:) = M(j,1:3);
%Matriz de puntos 3D
IP1(j,:) = M(j,4:5);
%Matriz de puntos Cámara 1
IP2(j,:) = M(j,6:7);
%Matriz de puntos Cámara 2
end
%******************************************************************************
%************************ - Matrices de Coeficientes - ************************
for j = 1:r
a = 2*j - 1;
A1(a:a+1,:) = [WP(j,1) WP(j,2) WP(j,3) 1 0 0 0 0 -WP(j,1)*IP1(j,1)
-WP(j,2)*IP1(j,1) -WP(j,3)*IP1(j,1); 0 0 0 0 WP(j,1)
WP(j,2) WP(j,3) 1 -WP(j,1)*IP1(j,2) -WP(j,2)*IP1(j,2) -WP(j,3)*IP1(j,2)];
A2(a:a+1,:) = [WP(j,1) WP(j,2) WP(j,3) 1 0 0 0 0 -WP(j,1)*IP2(j,1)
-WP(j,2)*IP2(j,1) -WP(j,3)*IP2(j,1); 0 0 0 0 WP(j,1)
WP(j,2) WP(j,3) 1 -WP(j,1)*IP2(j,2) -WP(j,2)*IP2(j,2) -WP(j,3)*IP2(j,2)];
b1(a:a+1,1) = IP1(j,:)’;
b2(a:a+1,1) = IP2(j,:)’;
end
A2 = [A2(1:14,:);A2(17:32,:)];
b2 = [b2(1:14,:);b2(17:32,:)];
%******************************************************************************
%**** - Estimación de las matrices de calibración por mı́nimos cuadrados - *****
c1 = A1\b1;
c2 = A2\b2;
C1 = [c1(1) c1(2) c1(3) c1(4); c1(5) c1(6) c1(7) c1(8); c1(9) c1(10) c1(11) 1];
C2 = [c2(1) c2(2) c2(3) c2(4); c2(5) c2(6) c2(7) c2(8); c2(9) c2(10) c2(11) 1];
%******************************************************************************
%************************** - Estimación de errores - *************************
for j = 1:r
T1 = C1*[WP(j,1) WP(j,2) WP(j,3) 1]’;
80
T2 = C2*[WP(j,1) WP(j,2) WP(j,3) 1]’;
IPE1(j,:) = [T1(1)/T1(3) T1(2)/T1(3)];
IPE2(j,:) = [T2(1)/T2(3) T2(2)/T2(3)];
end
E1 = IP1 - IPE1;
E2 = IP2 - IPE2;
E2 = [E2(1:7,:);E2(9:16,:)];
%******************************************************************************
%*********** - Cálculo de coordenadas 3D con datos de las cámaras - ***********
for j = 1:r
A = [C1(1,1)-C1(3,1)*IP1(j,1)
C1(2,1)-C1(3,1)*IP1(j,2)
C2(1,1)-C2(3,1)*IP2(j,1)
C2(2,1)-C2(3,1)*IP2(j,2)
C1(1,2)-C1(3,2)*IP1(j,1)
C1(2,2)-C1(3,2)*IP1(j,2)
C2(1,2)-C2(3,2)*IP2(j,1)
C2(2,2)-C2(3,2)*IP2(j,2)
C1(1,3)-C1(3,3)*IP1(j,1);
C1(2,3)-C1(3,3)*IP1(j,2);
C2(1,3)-C2(3,3)*IP2(j,1);
C2(2,3)-C2(3,3)*IP2(j,2);];
b = [IP1(j,1)-C1(1,4); IP1(j,2)-C1(2,4); IP2(j,1)-C2(1,4); IP2(j,2)-C2(2,4);];
WPE(j,:) = (A\b)’;
end
%******************************************************************************
81
Apéndice B
Programación Basic del microcontrolador
Se presenta a continuación el código implementado en Microcode Studio Plus 4.0.0.0 en
lenguaje Basic para la programación del archivo de salida hexadecimal que se descarga en un
microcontrolador PIC16F876A que controla el encendido y apagado de láseres conectados en
el puerto B, además de controlar el ángulo de giro de un servomotor a través de instrucciones
que recibe de un computador mediante comunicación RS-232.
’*********************************************************************
’* Name
: Control_Laser
*
’* Author : Ismael Minchala A.
*
’* Notice : Copyright (c) 2011 ITEMS
*
’*
: All Rights Reserved
*
’* Date
: 30/01/2011
*
’* Version : 2.1
*
’* Notes
: Control de ángulo de un servomotor a través del
*
’*
: incremento/decremento del ancho de pulso, cuya se~
nal
*
’*
: de comando proviene de una PC con comunicación serial. *
’*
: Se permite también el encendido y apagado de dos
*
’*
: láseres conectados al puerto B.
*
’*********************************************************************
’******************* - Inicialización del Sistema - ******************
INCLUDE
"modedefs.bas"
’ Librerı́a para la comunicación serial
DEFINE
OSC
4
’ Frecuencia del Oscilador 4MHz
DATO
VAR
BYTE
’ Variable almacenamiento comm serial
I
VAR
BYTE
’ Variable de lazo For
PULSO
VAR
WORD
’ Variable de control PWM
PULSO = 1690
’ Se inicializa en 90
TRISB = 0
’ Todo el PORTB como salidas
PORTB = $FF
PAUSE
1000
’ Pulso de Prueba, sistema Vivo
82
PORTB = 0
for I = 1 to 10
’ Prueba de generación PWM
HIGH
PORTB.3
PAUSEUS PULSO
’ Pulso define ángulo giro del motor
LOW
PORTB.3
PAUSE
20
next i
’*********************************************************************
’************************ - Lazo de Control - ************************
INICIO:
’ Etiqueta
SERIN PORTC.7,T2400,Dato
’ Escribe la info recibida en Dato
IF DATO = 65 then
PORTB = $01
ENDIF
’ Si Recibe "A"
’ Encender láser 1
IF DATO = 66 THEN
PORTB = $02
ENDIF
’ Si Recibe "B"
’ Encender láser 2
IF DATO = 67 THEN
PORTB = $00
ENDIF
’ Si Recibe "C"
’ Apaga todo el puerto B
if DATO = 68 then
for I = 1 to 1
PULSO = PULSO + 1
HIGH
PORTB.3
PAUSEUS PULSO
LOW
PORTB.3
PAUSE
10
NEXT I
ENDIF
’ Si Recibe "D"
if DATO = 69 then
for I = 1 to 1
PULSO = PULSO - 1
HIGH
PORTB.3
PAUSEUS PULSO
LOW
PORTB.3
’ Incrementar ángulo del motor
’ Si Recibe "E"
’ Decrementar ángulo del motor
83
PAUSE
NEXT I
ENDIF
10
Goto INICIO
END
’*********************************************************************
84
Bibliografı́a
[1] M. Bansal, A. Jain, T. Camus, and A. Das. Towards a practical stereo vision sensor. In
Computer Vision and Pattern Recognition - Workshops, 2005. CVPR Workshops. IEEE
Computer Society Conference on, page 63, 2005.
[2] PEÑÍN Luis BARRIENTOS Antonio. Fundamentos de Robótica - Segunda Edición. Mc
Graw Hill, España, 2007.
[3] F. Bernardini, I.M. Martin, and H. Rushmeier. High-quality texture reconstruction from
multiple scans. Visualization and Computer Graphics, IEEE Transactions on, 7(4):318
–332, 2001.
[4] Rushmeier H. Bernardiniand F. The 3D model acquisition pipeline. Computer Graphics
Forum, vol.21, no.2,pp.149-172, 2002.
[5] P.J. Besl and H.D. McKay. A method for registration of 3-d shapes. Pattern Analysis
and Machine Intelligence, IEEE Transactions on, 14(2):239 –256, February 1992.
[6] B.D. Bradley, A.D.C. Chan, and M.J.D. Hayes. A simple, low cost, 3d scanning system
using the laser light-sectioning method. In Instrumentation and Measurement Technology
Conference Proceedings, 2008. IMTC 2008. IEEE, pages 299 - 304, pages 299 – 304, May
2008.
[7] C. Chen and A. Kak. Modeling and calibration of a structured light scanner for 3-d robot
vision. In Robotics and Automation. Proceedings. 1987 IEEE International Conference
on, volume 4, pages 807 – 815, March 1987.
[8] Intel Lucent Microsoft NEC Philips Compaq, Hewlett-Packard. Universal Serial Bus
Specification. USB Org, USA, 2009.
[9] Haihua Cui, Ning Dai, Tianran Yuan, Xiaosheng Cheng, and Wenhe Liao. Calibration algorithm for structured light 3d vision measuring system. In Image and Signal Processing,
2008. CISP ’08. Congress on, volume 2, pages 324 –328, May 2008.
[10] R. Szeliski D. Scharstein. High-accuracy stereo depth maps using structured light. In
Proceedings of the 2003 IEEE Computer Society Conference on Computer Vision and
Pattern Recognition, pages 195–202, 2003.
85
[11] Daniel Crispell Douglas Lanman and Gabriel Taubin. Surround structured lighting for
full object scanning. In Sixth International Conference on 3-D Digital Imaging and
Modeling, pages 107–116, 2007.
[12] URESTI Eduardo. Mı́nimos cuadrados. Departamento de matemáticas, CCIR/ITESM,
México, 2009.
[13] Häusler G. and Hernanz B. 3d real time camera. In Fringe ’97, 3rd International
Workshop on Automatic Processing of Fringe Pattern, pages 237–246, 1997.
[14] SHAPIRO Linda – STOCKMAN George. Computer Vision. Prentice Hall, USA, 2001.
[15] GIROD Bern. – GREINER Günther. – NIEMANN Heinrich. Principles of 3D Image
Analysis and Synthesis. Kluwer Academic Publishers21, USA, 2002.
[16] Kwangik Hyun and L.A. Gerhardt. The use of laser structured light for 3d surface
measurement and inspection. In Computer Integrated Manufacturing and Automation
Technology, 1994., Proceedings of the Fourth International Conference on, pages 215
–221, October 1994.
[17] S.K. Case J.A. Jalkio, R.C. Kim. Three dimensional inspection using multistripe structured light. Optical Engineering, vol.24, pp. 966-974, 1985.
[18] G. Brockmann H. Baurecht K. Schwenzer-Zimmerer N. A. Papadopulos M. A. Papadopoulos R. Sader E. Biemer L. Kovacs*, A. Zimmermann and H. F. Zeilhofer. Accuracy and precision of the three-dimensional assessment of the facial surface using a 3-d
laser scanner. In IEEE TRANSACTIONS ON MEDICAL IMAGING, volume 25, pages
742–754, june 2006.
[19] Lijun Li, Yingjie Ke, and Kaiyong Jiang. Surface reconstruction based on computer
stereo vision using structured light projection. In Intelligent Human-Machine Systems
and Cybernetics, 2009. IHMSC ’09. International Conference on, volume 2, pages 451
–454, 2009.
[20] WALPOLE MYERS. Probabilidad y Estadı́stica para Ingenieros, Sexta Edición. Prentice
Hall, México, 1999.
[21] P.; Ofner R. O’Leary, P.; Schalk. Instrumentation and Analysis-Methods for the Measurement of Profiles using Light Sectioning. Instrumentation and Measurement Technology
Conference, 2006. IMTC 2006. Proceedings of the IEEE , vol., no., pp.1108-1113, 24-27
April 2006.
[22] G.N.; Kak A.C. Park, J.; DeSouza. Dual-beam structured-light scanning for 3-d object
modeling. In 3-D Digital Imaging and Modeling, 2001. Proceedings. Third International
Conference on, pages 65–72, 2001.
[23] K. Schluns R. Klette and A. Koschan. Computer Vision: Three-Dimensional Data from
Images. Springer-Verlag, 1998.
86
[24] M. Ribo and M. Brandner. State of the art on vision-based structured light systems
for 3d measurements. In Robotic Sensors: Robotic and Sensor Environments, 2005.
International Workshop on, 30 2005.
[25] GONZALEZ Rafael – WOODS Richard. Digital Image Processing, Second Edition. Prentice Hall, USA, 2002.
[26] COLLADO Rubén. Adquisición tridimensional de piezas industriales mediante técnicas
de luz estructurada. Universidad Politécnica de Madrid, España, 2007.
[27] P. Swapna, N. Krouglicof, and R. Gosine. The question of accuracy with geometric camera calibration. In Electrical and Computer Engineering, 2009. CCECE ’09. Canadian
Conference on, pages 541 –546, May 2009.
[28] Defeng Wu, Zi Ma, Aiguo Li, Wenbiao Wang, and Xiang Wu. A novel approach to
calibrate a structured light vision sensor in a robot based 3d measurement system. In
Modelling, Identification and Control (ICMIC), The 2010 International Conference on,
pages 298 –303, 2010.
[29] Qiaoyu Xu, Dong Ye, Rensheng Che, and Yan Huang. Accurate camera calibration
with new minimizing function. In Robotics and Biomimetics, 2006. ROBIO ’06. IEEE
International Conference on, pages 779 –784, 2006.
[30] FAUGERAS O. ZHANG Z. 3D Dynamic Scene Analysis. Springer-Verlag, Sophia Antiopolis, France, 1992.
[31] Gao Zhi, Zhong Sidong, Zhang Wei, and Zhu Yunyi. A high-precision calibration technique for laser measurement instrument and stereo vision sensors. In Electronic Measurement and Instruments, 2007. ICEMI ’07. 8th International Conference on, pages
214–217, 2007.
87
Descargar