Upload
truongdiep
View
223
Download
1
Embed Size (px)
Citation preview
Metodologıa de integracion orientada a las tecnicas
de vision estereoscopica e iluminacion estructurada
para obtener atributos 3D en la inspeccion de
objetos
por
Ing. Luis Ismael Minchala Avila
Tesis
Presentada al Programa de Graduados de la
Division de Mecatronica y Tecnologıas de la Informacion
como requisito parcial para obtener el grado academico de
Maestro en Ciencias
especialidad en
Automatizacion
Instituto Tecnologico y de Estudios Superiores de Monterrey
Campus Monterrey
Mayo de 2011
Instituto Tecnologico y de Estudios Superiores de
Monterrey
Campus Monterrey
Division de Mecatronica y Tecnologıas de la Informacion
Programa de Graduados
Los miembros del comite de tesis recomendamos que la presente tesis de Luis IsmaelMinchala Avila sea aceptada como requisito parcial para obtener el grado academico
de Maestro en Ciencias, especialidad en:
Automatizacion
Comite de tesis:
Dr. Luis Eduardo Garza Castanon
Asesor de la tesis
MSc. Luis Rosas Cobos
Sinodal
Dr. Francisco Palomera Palacios
Sinodal
Dr. Gerardo Castanon 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 comprension han sabido enrumbarnos a nosotros, sus
hijos, por el camino del bien. Gracias Papi y Mami por ser mi infinita fuente de
inspiracion, a ustedes va dedicado este trabajo con el que culmino una importante
etapa de formacion profesional.
Reconocimientos
La consecucion no solo de este trabajo, sino de una productiva estancia en Mexi-
co 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 Castanon por
su intenso apoyo en la fase de investigacion, adicionalmente me es grato reconocer el
importante aporte de los miembros del comite de tesis: Dr. Francisco Palomera Palacios
y MSc. Luis Rosas Cobos.
A los grandes amigos que he conocido en Mexico les debo un agradecimiento
especial, ya que permitieron que el perıodo de estudios de maestrıa ademas 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 Tecnologico y de Estudios Superiores de Monterrey
Mayo 2011
v
Metodologıa de integracion orientada a las tecnicas
de vision estereoscopica e iluminacion estructurada
para obtener atributos 3D en la inspeccion de
objetos
Luis Ismael Minchala Avila, M.C.
Instituto Tecnologico y de Estudios Superiores de Monterrey, 2011
Asesor de la tesis: Dr. Luis Eduardo Garza Castanon
Resumen
El control de calidad al final de las lıneas de manufactura es un punto neuralgico en el
proceso de fabricacion de un producto, mas aun si se considera que mayoritariamente se
realiza de manera manual. Disminuir los errores de estimacion en mediciones de distan-
cias y formas, ademas de aumentar el numero de piezas inspeccionadas por unidad de
tiempo en una lınea de produccion es el objetivo de muchos trabajos de investigacion,
por lo que en el desarrollo de esta tesis se propone una metodologıa que permita im-
plementar un sistema de inspeccion tridimensional en una lınea de manufactura.
En esta tesis se plantea la captura de informacion relacionada con la geometrıa
de los objetos y a traves de sus caracterısticas tridimensionales emitir un reporte con
informacion de distancias y formas dentro de rangos establecidos de tolerancia propios
del sistema de vision, que permitan decidir si estos continuan el proceso de fabricacion
o deben ser redireccionados para su reparacion 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 tecnicas
de vision estereoscopica o iluminacion estructurada por separado, teniendo como base
la triangulacion para generar informacion del espacio tridimensional. En este trabajo
de investigacion las dos tecnicas 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 traves de las diferentes
respuestas que nos brinda un prototipo construido para desarrollar esta metodologıa,
compuesto por dos camaras para vision estereoscopica y un haz de luz estructurado.
La integracion de las tecnicas de vision estereoscopica e iluminacion estructurada,
que es el principal aporte de este trabajo de investigacion, considera la simplificacion
del problema de correspondencia de puntos que presentan el par de imagenes estereo, a
traves del analisis del patron de luz estructurado que se encuentra proyectado sobre el
objeto bajo analisis, lo que permite reducir la complejidad de los algoritmos y mejorar
los tiempos de procesamiento en el software.
vii
Indice general
Reconocimientos V
Resumen VI
Indice de tablas XI
Indice de figuras XII
Lista de sımbolos XIV
Capıtulo 1. Introduccion 1
1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Definicion del Problema y Motivacion . . . . . . . . . . . . . . . . . . . 3
1.3. Meta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Capıtulo 2. Fundamentos de vision estereoscopica e iluminacion estruc-
turada para el calculo de posicion de objetos en el espacio 7
2.1. Aspectos generales de una configuracion estereoscopica . . . . . . . . . 7
2.2. Herramientas matematicas para localizacion espacial . . . . . . . . . . 10
2.2.1. Representacion de la posicion . . . . . . . . . . . . . . . . . . . 10
2.2.2. Representacion de la orientacion . . . . . . . . . . . . . . . . . . 11
2.2.3. Coordenadas y matrices homogeneas . . . . . . . . . . . . . . . 15
2.3. Modelo de la camara . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1. Matriz de transformacion para perspectiva . . . . . . . . . . . . 17
2.3.2. Proyeccion ortogonal y de perspectiva debil . . . . . . . . . . . 20
2.3.3. Estimacion de puntos 3D utilizando sistemas de vision artificial 21
2.4. Estimacion de la matriz de calibracion con un enfoque practico . . . . . 22
2.4.1. Ejemplo de calibracion de dos camaras y calculo de posicion 3D 24
2.5. Iluminacion estructurada . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.1. Triangulacion Activa . . . . . . . . . . . . . . . . . . . . . . . . 26
viii
2.5.2. Iluminacion estructurada . . . . . . . . . . . . . . . . . . . . . . 28
2.6. Trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.7. Aporte al conocimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Capıtulo 3. Construccion y calibracion de un prototipo para pruebas
experimentales 34
3.1. Diseno y construccion del prototipo . . . . . . . . . . . . . . . . . . . . 34
3.1.1. Camaras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1.2. Proyector luz estructurada . . . . . . . . . . . . . . . . . . . . . 38
3.1.3. Circuito de control y comunicacion con la PC . . . . . . . . . . 39
3.2. Ventajas de la configuracion estereoscopica con iluminacion estructurada 40
3.3. Calibracion del sistema de vision . . . . . . . . . . . . . . . . . . . . . 43
3.3.1. Adquisicion de las imagenes . . . . . . . . . . . . . . . . . . . . 43
3.3.2. Pre-procesamiento de las imagenes . . . . . . . . . . . . . . . . 44
3.3.3. Barrido del angulo del laser . . . . . . . . . . . . . . . . . . . . 46
3.3.4. Correspondencia de puntos . . . . . . . . . . . . . . . . . . . . . 47
3.3.5. Calculo de las matrices de calibracion . . . . . . . . . . . . . . . 49
3.4. Validacion de la calibracion del sistema . . . . . . . . . . . . . . . . . . 52
Capıtulo 4. Desarrollo de una metodologıa para inspeccion de objetos
con vision estereoscopica e iluminacion estructurada 58
4.1. Evaluacion del desempeno del prototipo . . . . . . . . . . . . . . . . . 58
4.1.1. Precision del sistema . . . . . . . . . . . . . . . . . . . . . . . . 58
4.1.2. Pruebas de precision sobre un objeto de manufactura . . . . . . 63
4.1.3. Operacion bajo diferentes condiciones de iluminacion . . . . . . 65
4.2. Metodologıa utilizada en el desarrollo del proyecto . . . . . . . . . . . . 66
4.3. Metodologıa para la integracion de vision estereo e iluminacion estruc-
turada para la inspeccion de objetos y adquirir atributos 3D . . . . . . 68
4.3.1. Seleccion de los componentes del sistema . . . . . . . . . . . . . 70
4.3.2. Configuracion del ambiente de trabajo . . . . . . . . . . . . . . 71
4.3.3. Desarrollo y pruebas de algoritmos de Pre-procesamiento de ima-
genes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.3.4. Validacion de la calibracion del sistema . . . . . . . . . . . . . . 74
4.3.5. Decodificacion de informacion tridimensional . . . . . . . . . . . 74
Capıtulo 5. Conclusiones y trabajos futuros 76
5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Apendice A. Algoritmo de calibracion en Matlab 79
ix
Indice de tablas
2.1. Datos de dos camaras distintas y de puntos en el espacio. . . . . . . . . 25
2.2. Resultados obtenidos con el software implementado en Mathscript de
LabVIEW y/o Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1. Heurısticas para la localizacion de los puntos de inflexion. . . . . . . . . 50
3.2. Puntos de calibracion en el espacio y coordenadas en el par de imagenes
estereo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.3. Resultados de la validacion de la calibracion del sistema. . . . . . . . . 56
4.1. Resultados de la medicion de distancias sobre el rectangulo de prueba. . 60
4.2. Resultados de la medicion de distancias sobre la pieza de la figura 4.2. . 62
4.3. Resultados de la medicion de distancias sobre la pieza manufactura de
la figura 4.4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
xi
Indice de figuras
2.1. Configuracion de un par de camaras en el espacio. . . . . . . . . . . . . 8
2.2. Configuracion estereo con una camara y un proyector de luz. . . . . . . 9
2.3. Representacion de un vector en un sistema coordenado cartesiano derecho. 10
2.4. Representacion de un vector en un sistema de coordenadas polares y
cilındricas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5. Representacion de un vector en un sistema de coordenadas esfericas. . . 12
2.6. Orientacion de un sistema movil OUV con relacion a uno fijo OXY . . . 13
2.7. Rotacion del sistema OUVW con respecto a los ejes OX, OY y OZ. . 14
2.8. Transformacion de perspectiva. . . . . . . . . . . . . . . . . . . . . . . 17
2.9. Transformacion de perspectiva. El sensor de la camara esta en el centro
de la proyeccion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.10. Comparacion de proyecciones: perspectiva y ortogonal. . . . . . . . . . 20
2.11. Arquitectura de un sistema de triangulacion activa basico. . . . . . . . 27
2.12. Patron de franjas codificado y proyectado sobre un objeto cilındrico. . . 27
2.13. Proyeccion de un patron tipo rejilla sobre objetos 3D [15] . . . . . . . . 28
2.14. Concepto de Iluminacion Estructurada. . . . . . . . . . . . . . . . . . . 29
2.15. Sistema propuesto en [6] . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.16. Sistema propuesto en [21] . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.17. Arquitectura del sistema propuesto en [11] . . . . . . . . . . . . . . . . 32
3.1. Disposicion de las camaras y el patron de iluminacion en el prototipo. . 35
3.2. Arquitectura del sistema de vision 3D prototipo. . . . . . . . . . . . . . 36
3.3. Sistema prototipo implementado. . . . . . . . . . . . . . . . . . . . . . 37
3.4. Comparacion USB - IEEE 1394. . . . . . . . . . . . . . . . . . . . . . . 39
3.5. Proyector de luz estructurada. . . . . . . . . . . . . . . . . . . . . . . . 40
3.6. Circuito de control y comunicacion. . . . . . . . . . . . . . . . . . . . . 41
3.7. PCB del circuito de control y comunicacion. . . . . . . . . . . . . . . . 42
3.8. Problema de correspondencia analizado con correlacion cruzada. . . . . 43
3.9. Simplificacion del problema de correspondencia a traves de la redundan-
cia del sistema de vision. . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.10. Diagrama de flujo del algoritmo de calibracion. . . . . . . . . . . . . . . 45
xii
3.11. Adquisicion de imagenes en LabVIEW. . . . . . . . . . . . . . . . . . . 46
3.12. Preprocesamiento de las imagenes. . . . . . . . . . . . . . . . . . . . . 46
3.13. Esqueletizacion de la imagen preprocesada. . . . . . . . . . . . . . . . . 48
3.14. Conectividad entre pıxeles. . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.15. Formaciones de las submatrices 5 × 5 y 3 × 3 para el criterio de las
heurısticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.16. Diseno del patron de calibracion. . . . . . . . . . . . . . . . . . . . . . 52
3.17. Puntos de calibracion en la pieza. . . . . . . . . . . . . . . . . . . . . . 53
3.18. HMI implementado en LabVIEW para el proceso de calibracion. . . . . 54
3.19. Dispersion del error en las mediciones de distancia realizadas sobre el
objeto patron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1. Objeto de prueba para mediciones longitudinales. . . . . . . . . . . . . 59
4.2. Medicion del ancho de una pieza tridimensional. . . . . . . . . . . . . . 61
4.3. Reconstruccion del patron de calibracion en 3D. . . . . . . . . . . . . . 63
4.4. Objeto de manufactura utilizado para comprobar la precision del sistema. 64
4.5. Preprocesamiento fallido de la imagen. Sistema funcionando en un am-
biente con demasiada luz. . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.6. Preprocesamiento exitoso sobre una de las imagenes capturadas del par
estereo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.7. Pasos seguidos a lo largo del camino de investigacion. . . . . . . . . . . 67
4.8. Metodologıa para la integracion de las tecnicas de vision estereoscopica
e iluminacion estructurada para inpeccion de objetos en 3D. . . . . . . 69
4.9. Seleccion del lente de la resolucion y el lente de la camara. . . . . . . . 70
4.10. Niveles de procesamiento en aplicaciones que involucran imagenes digitales. 73
4.11. Decodificacion de puntos de inflexion. . . . . . . . . . . . . . . . . . . . 75
xiii
Lista de sımbolos
SımboloWP Punto en el espacio con coordenadas (WPx,
W Py,W Pz)
WP 1O Rayo de proyeccion entre WP y el centro coordenado de la camara 1r Distancia medida en un sistema coordenado cartesiano desde el origen
hasta la punta del vector con coordenadas (WPx,W Py,
W Pz)
θ Angulo formado por el eje de las abscisas en un sistema coordenadocartesiano y la proyeccion de un vector v, en el plano xy
φ Angulo formado por el eje z y un vector v en el espacioT Matriz de transformacion homogeneaIP Punto del espacio proyectado en la camara, con coordenadas (r, c)
ICW Matriz de transformacion de coordenadas espaciales a coordenadas de laimagen (r, c), luego de la adquisicion
FCΠ(f) Matriz de transformacion para perspectivac0, . . . , c4 Columnas de una submatriz de 5× 5 de la imagen original para aplicar
las heurısticas que permiten encontrar los puntos de inflexionr0, . . . , r4 Renglones de una submatriz de 5× 5 de la imagen original para aplicar
las heurısticas que permiten encontrar los puntos de inflexionc∼0 , c
∼1 , c
∼2 Columnas de una submatriz de 5× 5 de la imagen original para aplicar
las heurısticas que permiten encontrar los puntos de inflexionr∼0 , r
∼1 , r
∼2 Renglones de una submatriz de 3× 3 de la imagen original para aplicar
las heurısticas que permiten encontrar los puntos de inflexion
AbreviaturasFOV Field of View, o campo de vision.fl Focal length
IEEE 1394 Bus de comunicacion estandar para camaras digitalesIIDC Industrial and Instrumentation specification for Digital Cameras
xiv
Capıtulo 1
Introduccion
1.1. Introduccion
La geometrıa de un objeto es invariante con respecto a rotaciones, suciedad e in-
cluso condiciones de iluminacion. Ademas, la forma de un objeto es la caracterıstica
que normalmente es requerida en los propositos de inspeccion de calidad. La mayorıa
de tecnicas actuales para control de calidad utilizando vision artificial, basan su fun-
cionamiento en imagenes adquiridas por una sola camara y un exhaustivo procesamiento
de las mismas en una PC o en un procesador con una aplicacion de vision artificial em-
bebida corriendo en tiempo real, que comunica la decision de la inspeccion realizada
sobre el objeto al sistema (normalmente de control) para que este realice la clasificacion
de manera adecuada. A pesar de que la iluminacion juega un rol fundamental en las
aplicaciones de vision artificial 2D, el objetivo fundamental en estas aplicaciones es ho-
mogeneizar la cantidad de luz sobre los objetos a analizar, eliminar reflejos y sombras,
etc. Los atributos que se pueden obtener del procesamiento de imagenes 2D tienen que
ver principalmente con mediciones de longitudes, diametros, determinacion de color y
textura [25]. Resulta, sin embargo, muy complicado obtener informacion de la forma
de los objetos con una sola imagen de los mismos, por lo que la construccion de una
representacion 3D a partir de imagenes 2D serıa una aproximacion con muchos detalles
perdidos [14].
En el momento, en el que detalles de la forma de los objetos se vuelven impor-
tantes, ganan un significante protagonismo las tecnicas de procesamiento de mas de
una imagen del mismo objeto capturadas con mas de una camara, y a traves de una
configuracion particular de las mismas (por ejemplo, vision estereoscopica) es posible
decodificar detalles 3D de partes claves del producto para su posterior procesamiento.
Existe sin embargo, otro enfoque, que al igual que la vision estereoscopica, basa el anali-
sis de las caracterısticas de forma de los objetos en calculos a partir de triangulaciones,
desde un punto de iluminacion y una camara apuntando el objeto en cuestion. En este
caso ademas de la camara existe un haz de luz estructurado, proyectando un patron
1
especıfico de iluminacion: punto, lınea, rejilla, etc. Gracias a esta tecnica es posible
capturar caracterısticas 3D con una sola camara [15].
Los sistemas de inspeccion visual 3D son en la actualidad bastante especializa-
dos y por tanto relativamente costosos, considerando que muchas empresas del sector
industrial que requieren solucionar problemas relacionados con inspeccion automatica
prefieren continuar trabajando en modo manual en lugar de invertir en un sistema de
vision 3D. Estos sistemas, por otra parte, basan su principio de operacion en tecnicas
de vision estereoscopica o iluminacion estructurada por separado. Existen, sin embargo
una gran variedad de tecnicas para adquirir modelos de objetos 3D, con un variado
rango de costos de hardware y diferentes niveles de precision y detalle en la geometrıa
de los modelos capturados como se menciona en [4, 6, 10, 11, 22]. Durante el desarrollo
de esta investigacion se trabajara en el concepto de un sensor 3D que basara su fun-
cionamiento en la combinacion de las tecnicas de vision estereoscopica e iluminacion
estructurada, a traves del analisis de imagenes estereo adquiridas por camaras de identi-
cas caracterısticas y la alineacion de las imagenes proyectando patrones conocidos en
los objetos a analizar, emitidos por un sistema de iluminacion estructurado.
El enfasis en la informacion 3D de un objeto se justifica porque representa el detalle
de la forma geometrica de este y por tanto posee mucho mas valor que la informacion
2D que representa las variaciones locales de reflectividad solamente [23]. El concepto de
sensor 3D va de la mano con el concepto de triangulacion activa [30], en donde existe
una fuente de luz estructurada que ilumina el objeto. La ventaja de utilizar iluminacion
estructurada radica en el uso de un patron de luz conocido, como por ejemplo un punto
laser proyectado en la superficie a analizar, o tambien una lınea, una rejilla o un patron
senoidal con frecuencia variable para lograr una triangulacion de fase [15].
Los trabajos desarrollados en [6, 10, 11, 13, 18, 22] utilizan variadas tecnicas de
adquisicion de caracterısticas tridimensionales, utilizando principalmente vision estereo
o iluminacion estructurada por separado, a excepcion de [18] que contempla combinar
las dos tecnicas para la reconstruccion del relieve facial. El presente trabajo, por otro
lado tiene por meta el procesamiento de las imagenes del par estereo para adquirir los
atributos 3D, simplificando el problema de correspondencia de puntos a traves de la
busqueda del patron de iluminacion estructurada (lınea) en el objeto bajo analisis en las
dos imagenes de manera simultanea utilizando procesamiento multihilo (multithread)
en LabVIEW.
Los resultados de la investigacion, se cuantificaran a traves de las diferentes res-
puestas que nos brinde un prototipo construido para desarrollar una metodologıa que
permita obtener atributos de objetos en 3D utilizando la fusion de las tecnicas de ilumi-
2
nacion estructurada y vision estereoscopica. Este prototipo utilizara una configuracion
de dos camaras dispuestas en formato estereo, un haz de luz estructurado para resaltar
las caracterısticas 3D del objeto y que a su vez servira como patron conocido en el par de
imagenes estereo para simplificar el problema de correspondencia. La implementacion
de los algoritmos de vision artificial, triangulacion, calibracion de camaras, interpo-
lacion, ingenierıa inversa, etc., se realizaran en la plataforma de desarrollo LabVIEW
2009.
1.2. Definicion del Problema y Motivacion
El control de calidad al final de una lınea de produccion se lleva a cabo de diversas
maneras:
Manual. Un operador al final de una lınea de produccion se encarga de analizar
detalladamente las caracterısticas, forma, dimensiones, etc., del producto y decide
si este debe continuar o no con el proceso de fabricacion.
Muestra aleatoria [20]. Se elige una muestra del total de un lote de produccion
y se aprueba o no el lote completo para su distribucion en base a la cantidad
de objetos que hayan pasado la inspeccion. Es posible notar que a pesar de que
los metodos estadısticos normalmente son confiables, existiran de todas maneras
productos defectuosos en el mercado.
Semiautomatica. Un operador inspecciona el producto asistido por algun sistema
automatico.
Automatica. Se encuentran difundidas tecnicas de vision 2D para reconocimiento
de patrones, analisis 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 inspeccion y la precision con la que este pueda realizarse. En
la actualidad existen numerosos sistemas de vision 2D que solucionan parte de los pro-
cesos de inspeccion para control de calidad, sin embargo no cubren areas especıficas,
como la automotriz por ejemplo, en la que se requiere un analisis detallado de las piezas
(altos y bajos relieves, agujeros, etc.) que se usaran en ensambles completos de vehıcu-
los 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
produccion tiene que ver con la inspeccion de objetos al final de una lınea de produccion.
3
La inspeccion de la forma de los objetos, de manera particular esta vinculada
con el campo de aplicaciones de vision artificial 3D e ingenierıa inversa [15]. El meto-
do activo sin contacto mas ampliamente usado en el campo de vision 3D es el de los
sistemas de iluminacion estructurada. Estos sistemas estan compuestos comunmente
por una camara y un proyector de luz estructurada [23]. Sin embargo el costo de es-
tas aplicaciones han limitado su expansion a nivel industrial, por lo que una solucion
de costo moderado y que pueda inspeccionar objetos en tiempos mucho menores que
lo que lo harıa un operador de manera manual tendra muy buena acogida en el mercado.
A pesar de que el estado del arte actual en vision 3D permite la adquisicion de
una gran variedad de objetos; operadores eficientes y procedimientos con tiempos de
retardo mas bajos siguen siendo una meta de investigacion en los trabajos que se estan
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 investigacion realizados en esta area. De allı, se han encontrado varias areas
de mejora para la adquisicion de modelos 3D, identificados en [4], como se menciona a
continuacion:
Planificar metodos para adquisicion de datos.
Captura confiable y procesamiento robusto de informacion para un gran numero
de clases de objetos, ambientes, y objetos con superficies particulares.
Automatizacion de todos los procedimientos, para minimizar la interaccion del
usuario con el sistema.
Retroalimentacion en tiempo real de la superficie adquirida.
Metodos para evaluar la precision global del modelo.
Adicionalmente y no menos importante, resulta interesante mencionar que el cam-
po de los sistemas de vision 3D, no solo es posible aplicarlos a nivel industrial para
procesos automaticos, como los de control de calidad que es el caso especıfico de este
trabajo de investigacion, sino que tambien se puede encontrar una enorme area de
aplicacion practica en la robotica movil y la robotica industrial, por lo que el aporte
cientıfico, que este trabajo brinde sera de gran utilidad para los estudiantes, profesiona-
les e investigadores involucrados o que deseen involucrarse en el campo de aplicaciones
de vision artificial.
1.3. Meta
La meta de este trabajo de tesis es desarrollar una metodologıa para la integracion
de las tecnicas de vision estereoscopica e iluminacion estructurada en el campo de in-
4
speccion de objetos para adquirir caracterısticas 3D. Esta metodologıa se aplica a un
prototipo desarrollado en la etapa de investigacion y que consta de dos camaras de
identicas caracterısticas, un haz de luz estructurado y objetos conocidos construidos
con alta precision (patrones de calibracion) de forma que permitan calibrar el sistema
y ademas comprobar su exactitud. El software que despliega los resultados de las medi-
ciones 3D se implementara con LabVIEW como plataforma de desarrollo.
1.4. Objetivos
El objetivo general de este trabajo de investigacion es alcanzar la meta estableci-
da en la seccion 1.3, para lo cual adicionalmente se requiere cumplir con los siguientes
objetivos particulares:
Construir un prototipo que incluya dos camaras y un sistema de iluminacion
estructurada para evaluar resultados con diferentes objetos.
Evaluar el desempeno en la adquisicion de atributos 3D, de sistemas de ilumi-
nacion estructurada basados en patrones de punto y lınea.
Implementar un Interfaz Hombre Maquina (HMI) para la interaccion del usuario
con el sistema. Las utilerıas con las que el HMI debe contar son las siguientes:
• Una ventana de visualizacion del proceso de captura de imagenes en tiempo
real.
• Panel de control para calibracion de camaras, control del angulo del haz de
luz estructurada y ejecucion y paro de la aplicacion.
• Una ventana flotante que presente los datos del perfil del objeto en 3D.
• Salida en un archivo de texto con los resultados de la medicion 3D.
Desarrollar una metodologıa de calibracion de camaras en formato estereo, al igual
que el patron de iluminacion estructurado. Esta metodologıa debe contemplar el
desarrollo de las siguientes actividades:
• Hallar matrices de calibracion individuales para las camaras y el haz de luz.
• Combinar las matrices de calibracion individuales para ajustar el sistema de
adquisicion 3D de forma que sea posible adquirir atributos de la geometrıa
de objetos.
• Desarrollar y utilizar algoritmos de autocalibracion de LabVIEW.
5
1.5. Hipotesis
La combinacion de sistemas de iluminacion estructurada y vision estereoscopica
son eficientes para adquirir la geometrıa tridimensional de objetos de manufactura para
implementar procesos de inspeccion automaticos que permitan tomar decisiones de con-
trol de calidad en lıneas de produccion.
La tesis busca responder ademas, las siguientes preguntas de investigacion:
¿Puede un sistema de triangulacion activa monitorear la forma de los objetos en
tiempo real?
¿La precision del sistema de inspeccion 3D de bajo costo se adaptara a los re-
querimientos de la industria?
¿Sera posible utilizar camaras de diferentes especificaciones y lograr una cali-
bracion optima del sistema completo?
6
Capıtulo 2
Fundamentos de vision estereoscopica e iluminacion
estructurada para el calculo de posicion de objetos
en el espacio
Presentar la relacion cuantativa entre imagenes 2D y sus estructuras 3D del mun-
do real, a traves de las matematicas e ingenierıa involucradas es el principal objetivo
de este capıtulo. En la seccion 2.1 se encuentra el detalle de una configuracion estereo
general. La seccion 2.2 detalla sistemas coordenados para representar posicion y ori-
entacion, a la vez que se presentan los conceptos de coordenadas homogeneas y matrices
de transformacion homogeneas. La seccion 2.3 presenta la modelacion matematica de
camaras para adquisicion de imagenes, y la forma en la que utilizando configuracion
estereoscopica es posible calcular la posicion tridimensional de puntos definidos en el
espacio. La seccion 2.4 presenta en detalle el calculo de matrices de calibracion de dos
camaras distintas y la estimacion de puntos en el espacio utilizando estas matrices y
Matlab como herramienta de desarrollo. Las caracterısticas tecnicas y de diseno de ilu-
minacion estructurada se presentan en la seccion 2.5. Finalmente la seccion 2.6 contiene
breves descripciones de aplicaciones e investigaciones relacionadas al area de inspeccion
tridimensional utilizando tecnicas de vision estereo o iluminacion estructurada.
2.1. Aspectos generales de una configuracion estereos-
copica
En la figura 2.1 se ilustra la configuracion general de dos camaras observando el
mismo espacio tridimensional. A menudo, en el manejo de graficos por computadora el
uso de un sistema coordenado derecho resulta lo mas comun, con el eje Z correspondi-
ente al rayo que deja el lente de la camara hacia el campo de vision (FOV – Field of
View) [14].
De la figura 2.1, se puede notar que las dos camaras observan un mismo espacio
de trabajo, siendo este el espacio tridimensional con su propio sistema de coordenadas
7
Figura 2.1: Configuracion de un par de camaras en el espacio.
W adjunto a el. Intuitivamente, resulta sencillo notar que la localizacion del puntoWP =
[WPx,
W Py,W Pz
]en el espacio de trabajo puede ser obtenido simplemente de-
terminando la interseccion de los dos rayos de las imagenes WP 1O y WP 2O.
Para poder realizar la configuracion estereo general ilustrado en la figura 2.1, se
deben considerar los siguientes aspectos:
Debemos conocer la posicion de la camara C1 en el espacio de trabajo W y algunas
de las caracterısticas internas de la camara, como la distancia focal.
De manera similar, debemos conocer la posicion de la camara C2 en el espacio de
trabajo W y sus parametros internos.
Es necesario identificar la correspondencia del punto 3D, WP con los puntos 2D
de las imagenes (1P, 2P ).
Se requiere de alguna formulacion que calcule WP de los dos rayos de las imagenesWP 1O y WP 2O.
8
Antes de entrar en el detalle de los puntos citados, se describen a continuacion
variantes a la configuracion estereo general presentanda en la figura 2.1:
La configuracion mostrada en la figura 2.1 consiste de dos camaras calibradas a
las coordenadas del espacio de trabajo. Las coordenadas de un punto 3D son cal-
culadas a traves de la interseccion de dos rayos de las imagenes correspondientes
a los puntos en ellas.
Una de las camaras puede ser reemplazada por un proyector el cual ilumina
una o mas puntos de la superficie utilizando un haz de luz o un patron especial
(Iluminacion Estructurada). El proyector puede ser calibrado de identica manera
a una camara, como se ilustra en la figura 2.2 [14].
El conocimiento previo del modelo del objeto puede reemplazar una de las camaras.
En muchos casos la informacion del modelo del objeto agrega suficiente infor-
macion que permite decodificar informacion tridimensional a partir de una sola
imagen.
Figura 2.2: Configuracion estereo con una camara y un proyector de luz.
9
2.2. Herramientas matematicas para localizacion es-
pacial
En la seccion 2.1 se resalto la importancia de hallar una formulacion matematica
que permita calcular WP de los dos rayos de las imagenes WP 1O y WP 2O. Las
herramientas matematicas de localizacion espacial que se presentan en esta seccion son
de aplicacion general, siendo los campos de aplicacion principales los de vision 3D,
robotica y realidad virtual.
2.2.1. Representacion de la posicion
La localizacion de un cuerpo rıgido en el espacio precisa de especificar tanto su
posicion como su orientacion. Ambas deben ser establecidas en relacion a un sistema
de referencia definido. En un plano bidimensional, la posicion de un cuerpo rıgido
esta ligada a dos grados de libertad y, por tanto, la posicion del cuerpo quedara definida
por dos componentes independientes. En el caso de espacio tridimensional sera necesario
emplear tres componentes.
Coordenadas cartesianas
Si se trabaja en un plano, con un sistema coordenado OXY Z de referencia aso-
ciado, un punto p vendra 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: Representacion de un vector en un sistema coordenado cartesiano derecho.
10
Coordenadas polares y cilındricas
Para un plano, es posible tambien caracterizar la localizacion de un punto p de un
vector utilizando como referencia la distancia desde el origen del sistema coordenado
hasta el punto de interes y el angulo 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 localizacion del punto p. Esta situacion se ilustra en la figura 2.4.
Figura 2.4: Representacion de un vector en un sistema de coordenadas polares y cilındri-cas.
Coordenadas esfericas
Es posible tambien utilizar coordenadas esfericas para realizar la localizacion de un
vector en un espacio tridimensional. Considerando el sistema de referencia OXY Z, un
vector cualquiera p tendra como coordenadas esfericas (r, θ, φ), donde r es la distancia
medida desde el origen hasta el extremo del vector p; la componente θ es el angulo
formado por la proyeccion del vector en el plano OXY y el eje OX, y finalmente la
componente φ es el angulo formado por el vector p y el eje OZ, como se ilustra en la
figura 2.5.
2.2.2. Representacion de la orientacion
Un punto en el espacio queda completamente definido a traves de los datos de su
posicion. Sin embargo, en el caso de un solido rıgido, se requiere conocer adicionalmente
11
Figura 2.5: Representacion de un vector en un sistema de coordenadas esfericas.
su orientacion con respecto al sistema de referencia.
Una orientacion en el espacio tridimensional viene definida por tres grados de li-
bertad o tres componentes linealmente independientes. Para poder describir de forma
sencilla la orientacion de un objeto respecto a un sistema de referencia, es habitual
asignar solidariamente al objeto un nuevo sistema, y despues estudiar la relacion es-
pacial existente entre los dos sistemas, el de referencia fijo y el nuevo. Para simplificar
este analisis, se utilizan las matrices de rotacion.
Matrices de rotacion
Considerese un sistema OXY de referencia fija y un sistema movil OUV solidario
al objeto cuya orientacion es de interes. Un vector p del plano se puede representar
como:
p = puiu + pvjv (2.1)
Adicionalmente, se presentan las siguientes igualdades:{px = ixp
py = jyp(2.2)
Realizando la sustitucion de la expresion 2.1 en la ecuacion 2.2, se obtiene:[pxpy
]= R
[pupv
](2.3)
12
Donde:
R =
[ixiu ixjvjyiu jyjv
]es la matriz de rotacion, que define la orientacion del sistema OUV 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 orientacion viene
definida por un unico parametro independiente, como se ilustra en la figura 2.6.
Figura 2.6: Orientacion de un sistema movil OUV con relacion a uno fijo OXY .
Para el caso tridimensional el razonamiento es similar. Supongase ahora que los
sistemas OXY Z y OUVW son coincidentes en el origen. Un vector p del espacio podrıa
estar referido, como se estudio en la seccion 2.2.1, a cualquiera de los dos sistemas de
la siguiente manera:
puvw = [pu, pv, pw]T = puiu + pvjv + pwkw (2.4)
pxyz = [px, py, pz]T = pxix + pyjy + pzkz (2.5)
Y de manera similar al caso bidimensional, es posible establecer la siguiente equiv-
alencia: pxpypz
= R
pupvpz
(2.6)
Donde:
13
R =
ixiu ixjv ixkw
jyiu jyjv jykw
kziu kzjv kzkw
es la matriz de rotacion que define la orientacion del sistema OUVW con respecto
al sistema OXY Z. Resulta de gran utilidad establecer la expresion de matrices de
rotacion que relacionen giros sobre un eje unicamente, como se ilustra en la figura 2.7.
Figura 2.7: Rotacion del sistema OUVW con respecto a los ejes OX, OY y OZ.
Las matrices de rotacion pueden componerse para expresar la aplicacion conti-
nua 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 homogeneas
Para representar de manera conjunta la posicion y la orientacion de un solido
en el espacio, se introducen las coordenadas homogeneas. Un elemento de un espacio
n-dimensional, se encuentra representando en coordenadas homogeneas por n+1 dimen-
siones, de tal forma que un vector p(x, y, z) vendra representado por p(wx,wy, wz, w),
donde w tiene un valor arbitrario y representa un factor de escala.
A partir de la definicion de las coordenadas homogeneas surge inmediatamente el
concepto de matriz de transformacion homogenea. Se define como matriz de transfor-
macion homogenea, T a una matriz de dimension 4×4 que representa la transformacion
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 rotacion como las que se presentaron en la
seccion 2.2.2, p3×1 por otro lado es un vector de posicion en coordenadas cartesianas
similar a los presentados en la seccion 2.2.1, f1×3 indica la transformacion de perspec-
tiva, que se detalla mas adelante para el caso de camaras en configuracion estereo, y
w1×1 se usara como herramienta de escalamiento global.
La ecuacion 2.7 puede ser utilizada para representar la orientacion y la posicion
de un sistema O′UVW resultado de rotar y trasladar el sistema original OXY Z segun
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 O′UVW :rxryrz1
= T
rurvrz1
(2.8)
La principal ventaja de las matrices homogeneas reside en su capacidad de repre-
sentacion conjunta de posicion y orientacion. Esta representacion se realiza utilizando
al mismo tiempo la matriz de rotacion R3×3 y el vector de traslacion p3×1 en una mis-
ma matriz de transformacion homogenea [2]. Se debe considerar sin embargo, el orden
de las transformaciones puesto que se pueden producir resultados diferentes.
Una aplicacion de gran utilidad en nuestros propositos de vision 3D, que las ma-
trices de transformacion homogeneas nos ofrecen es la transformacion de perspectiva.
Supongase 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 r′(x′, y′, z′) cuyas coordenadas vienen dadas
por la siguiente expresion:
x′ =x
1− yf
y′ = y
z′ =z
1− yf
(2.9)
Es posible representar esta transformacion de perspectiva, utilizando una sola
matriz de transformacion homogenea del tipo:x′
y′
z′
1
=
1 0 0 0
0 1 0 0
0 0 1 0
0 − 1f
0 1
x
y
z
1
(2.10)
2.3. Modelo de la camara
En la ecuacion 2.11 se presenta el modelo algebraico utilizado para calibrar sis-
temas de vision con imagenes en perspectiva. A lo largo de esta seccion nos dedicaremos
a determinar los componentes de la matriz IWC a partir de configuraciones fijas del sis-
tema de vision.
IP = IWC WP s IPr
s IPc
s
= IWC
WPxWPyWPz
1
s IPr
s IPc
s
=
c11 c12 c13 c14c21 c22 c23 c24c31 c32 c33 c34
WPxWPyWPz
1
(2.11)
El objetivo de la ecuacion 2.11 es proyectar un punto del espacio tridimensionalWP =
[WPx,
W Py,W Pz
]Ta un punto de la imagen IP =
[IPr,
I Pc,]T
.
16
Figura 2.8: Transformacion de perspectiva.
2.3.1. Matriz de transformacion para perspectiva
En la figura 2.8 se ilustra la problematica general de perspectiva en un sistema
de vision. El conjunto de ecuaciones 2.12 presenta el algebra de la transformacion de
perspectiva. Las coordenadas de la imagen[FPx,
FPy,]T
se encuentran en las mismas
unidades que las coordenadas del espacio tridimensional, y no en pıxeles. La transfor-
macion a pıxeles se desarrolla en detalle mas adelante.
FPx =f
CPz
CPx
FPy =f
CPz
CPy (2.12)
Una transformacion de perspectiva sencilla se ilustra en la figura 2.9, que a su vez
se define unicamente en terminos del parametro f , la distancia focal. La matriz FCΠ(f)
se presenta en la ecuacion 2.13 en su forma de 4× 4 elementos, de forma que se pueda
combinar con otras matrices de transformacion. Notese que la matriz tiene rango 3, y
17
no 4, por lo que no es invertible.
FP = FCΠ(f) CP
s FPx
s FPy
s FPz
s
=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 1f
0
s CPx
s CPy
s CPz
1
(2.13)
Figura 2.9: Transformacion de perspectiva. El sensor de la camara esta en el centro dela proyeccion.
Una transformacion alternativa puede definirse colocando el origen de la camara
en el centro de la imagen de manera que FPz = 0, a diferencia de lo que se muestra en
la figura 2.9 en la que FPz = f . La matriz de proyeccion, por tanto quedarıa modificada
de la siguiente manera:
FP = FCΠ(f) CP
s FPx
s FPy
s FPz
s
=
1 0 0 0
0 1 0 0
0 0 0 0
0 0 1f
0
s CPx
s CPy
s CPz
1
(2.14)
El caso mas general, involucra la no coincidencia del sistema coordenado general
W y el de la camara C. Una rotacion y traslacion son necesarias para convertir el punto
18
del mundo WP a las coordenadas de la camara CP . Tres parametros de rotacion y tres
de traslacion se requieren para lograr esto:
CP = T (tx, ty, tz) R (α, β, γ) WPCP = C
WTR (α, β, γ, tx, ty, tz)WP
CPxCPyCPz
1
=
r11 r12 r13 txr21 r22 r23 tyr31 r32 r33 tz0 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 transformacion de perspectiva. La tercera fila
de la matriz se descarta puesto que unicamente se obtendra el valor constante paraFPz.
FP esta en el plano de la imagen por lo que una transformacion de escalamiento
sera necesaria para convertir a las coordenadas de pıxeles de IP .
FP = FCΠ CP
FP = FCΠ[CWTR (α, β, γ, tx, ty, tz)
WP]
s FPx
s FPy
s
=
d11 d12 d13 d14d21 d22 d23 d24d31 d32 d33 d34
WPxWPyWPz
1
(2.16)
La transformacion de numeros reales a pıxeles, incluyendo la direccion opuesta del
eje vertical esta dada por:
IP =
s r
s c
s
=
0 − 1dy
01dx
0 0
0 0 1
s FPx
s FPy
s
(2.17)
siendo dx y dy el tamano vertical y horizontal, respectivamente, de capa pıxel en la ima-
gen, pero en unidades del mundo real. El resultado final para la matriz de calibracion de
la camara que transforma los puntos 3D en coordenadas de pıxeles de imagen esta dada
por:
IP =[IFS F
CΠ CWTR (α, β, γ, tx, ty, tz)
]WP s IPr
s IPc
s
=
c11 c12 c13 c14c21 c22 c23 c24c31 c32 c33 1
WPxWPyWPz
1
(2.18)
19
Resulta muchas veces complicado ejecutar este calculo con precision suficiente,
puesto que en la practica se requieren medir angulos y distancias, por lo que muchas
veces es recomendable y preferible utilizar un procedimiento definido para calibracion
de la camara, como se detalla mas adelante en este capıtulo.
2.3.2. Proyeccion ortogonal y de perspectiva debil
Si simplificamos el problema de proyeccion de la seccion 2.3.1, proyectando cada
punto del mundo, W , paralelamente al eje optico y directamente sobre el plano de
la imagen, obtendremos una situacion similar a la que se ilustra en la figura 2.10. La
proyeccion ortogonal se puede observar como una proyeccion de perspectiva consideran-
do una distancia focal, f , igual a infinito.
Figura 2.10: Comparacion de proyecciones: perspectiva y ortogonal.
FP = FCΠ(∞) CP
[FPxFPy
]=
[1 0 0 0
0 1 0 0
] CPxCPyCPz
1
(2.19)
20
A menudo, una transformacion de perspectiva puede ser aproximada por una
de perspectiva ortogonal a traves 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 debil. Un factor de escala adecuado se encuentra
por la relacion de la distancia del objeto, WPz, y la distancia focal, f , de la camara
a traves de la expresion s = fWPz
. La transformacion de perspectiva, queda por tanto
representada como sigue:
FP = FCΠ(s) CP
[FPxFPy
]=
[s 0 0 0
0 s 0 0
] CPxCPyCPz
1
(2.20)
2.3.3. Estimacion de puntos 3D utilizando sistemas de vision
artificial
En la figura 2.1 se ilustra la configuracion general estereo de dos camaras. Resulta
sencillo allı observar que el punto WP puede ser estimado de la interseccion de los dos
rayos que salen de los centros de proyeccion de las camaras. Por tanto, si utilizamos
las matrices de calibracion de perspectiva estudiadas en las secciones anteriores, para
dos camaras, 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 camaras
previamente calibradas, [r1, c1] y [r2, c2].
Tomando como referencia la ecuacion de calibracion de una camara, presentada
en la expresion 2.11, podemos plantear un sistema de ecuaciones para la estimacion de
un punto en el espacio, con un procedimiento similar al que se muestra a continuacion:
s r1s c1s
=
b11 b12 b13 b14b21 b22 b23 b24b31 b32 b33 1
x
y
z
1
t r1t c1t
=
c11 c12 c13 c14c21 c22 c23 c24c31 c32 c33 1
x
y
z
1
(2.21)
Las variables desconocidas son las coordenadas del punto en el espacio, [x, y, z], y
21
si eliminamos las coordenadas homogeneas s y t de las ecuaciones anteriores, es posible
plantear el siguiente sistema lineal de ecuaciones:
r1 = (b11 − b31r1)x+ (b12 − b32r1) y + (b13 − b33r1) z + b14
c1 = (b21 − b31c1)x+ (b22 − b32c1) y + (b23 − b33c1) z + b24
r2 = (c11 − c31r2)x+ (c12 − c32r2) y + (c13 − c33r2) z + c14
c2 = (c21 − c31c2)x+ (c22 − c32c2) y + (c23 − c33c2) z + c24 (2.22)
Errores de aproximacion en los modelos de las camaras y el truncamiento de
coordenadas continuas a pıxeles, pueden producir inconsistencia en la solucion de las
ecuaciones 2.22. Una solucion apropiada planteada en [14], menciona calcular la distan-
cia mas corta entre los rayos de las imagenes hacia el punto en el espacio tridimensional.
Si la distancia de este segmento es lo suficientemente pequena, se asigna el punto medio
como el punto de interseccion de los rayos de la imagen, [x, y, z].
2.4. Estimacion de la matriz de calibracion con un
enfoque practico
Se presenta a continuacion la manera de encontrar los elementos de la matriz de
calibracion presentada en la ecuacion 2.11, utilizando un enfoque practico. El campo
de vision de la camara y el enfoque deben permanecer fijos y, con el uso de un patron
de calibracion, con dimensiones conocidas, procedemos a plantear un problema de op-
timizacion para ajustar los parametros de calibracion de nuestra camara.
Se toma un juego de coordenadas IPj,WPj, donde IPj = [IPr,
IPc] es la coorde-
nada del pıxel en la imagen donde se visualiza el punto 3D WPj = [WPx,WPy,
WPz].
En [14] recomiendan un mınimo de 6 puntos para una calibracion adecuada, siendo 25
o mas lo ideal para mejorar el proceso de optimizacion a traves 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 camaras (ecuacion 2.23). Cabe destacar en este punto, que este analisis y el metodo
en si, puede ser aplicado a otra camara con una ubicacion diferente, y una vez obtenidas
las matrices de calibracion de las camaras es posible proceder a los calculos de posicion
de objetos en el espacio, como se menciono en la seccion 2.3.3.
22
uj = (c11 − c31uj)xj + (c12 − c32uj) yj + (c13 − c33uj) zj + c14
vj = (c21 − c31vj)xj + (c22 − c32vj) yj + (c23 − c33vj) zj + c24
[xj, yj, zj]T = WPj =
[WPx,
W Py,W Pz
]T[uj, vj]
T = IPj =[IPr,
I Pc
]T(2.23)
Reescribiendo la ecuacion 2.23 en forma matricial, generamos la siguiente ecuacion
vectorial-matricial:
[xj yj zj 1 0 0 0 0 −xjuj −yjuj −zjuj0 0 0 0 xj yj zj 1 −xjvj −yjvj −zjvj
]
c11c12c13c14c21c22c23c24c31c32c33
=
[ujvj
](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 ecua-
ciones planteadas en la expresion 2.23, es posible obtener 2n ecuaciones diferentes a
partir de n puntos de calibracion. Se puede utilizar notacion matricial para reescrbir
nuevamente la expresion 2.23 de la siguiente forma, considerando n puntos de cali-
bracion:
A2n×11 x11×1 = b2n×1 (2.25)
Resulta sencillo notar, analizando brevemente la expresion 2.25 que existen 11
incognitas y mas de 12 ecuaciones, por lo que el sistema es redundante y nuestro prob-
lema se vuelve principalmente de optimizacion. En la seccion 2.3.3 se menciono que las
ecuaciones de los rayos de las camaras apuntando hacia un punto no siempre tendran
solucion, y en virtud de que nuestro analisis partio de las ecuaciones en esa seccion
planteadas, existe una gran posibilidad de que el sistema de ecuaciones 2.25 no sea
consistente. Se trata por tanto, de hallar la solucion que mas se acerque a una solu-
cion real del sistema, en caso de que fuera consistente. En [12], se detalla el proceso de
proyeccion ortogonal y la minimizacion del error en el calculo de sistemas de ecuaciones
23
inconsistentes a traves del algortimo de mınimos cuadrados, que es justamente lo que
utilizaremos en nuestra aplicacion practica. El proceso de proyeccion ortogonal y mini-
mizacion del error para la estimacion de la solucion de un sistema como el presentado
en la expresion 2.25, trata de proyectar el vector al cual queremos representar en el
espacio columna de nuestra matriz de coeficientes a traves de la ortogonalizacion del
mismo en este espacio generado. A pesar de la complejidad aparente del criterio, la
aplicacion del algoritmo para dar solucion a nuestro problema y lograr los resultados
esperados es muchısimo mas simple de lo que aparenta.
A continuacion se presenta el algoritmo de solucion del sistema de ecuaciones 2.25
a traves de mınimos cuadrados:
A2n×11 x11×1 = b2n×1
AT11×2n A2n×11 x11×1 = AT
11×2n b2n×1
x11×1 =[AT
11×2n A2n×11]−1
AT11×2n b2n×1 (2.26)
Si utilizamos Matlab o LabVIEW como herramienta de desarrollo para implemen-
tar el metodo de mınimos cuadrados para la solucion del sistema de ecuaciones 2.25,
basta utilizar el comando x = A\B. A continuacion se presenta un ejemplo de cali-
bracion de dos camaras diferentes y el calculo de posicion 3D utilizando la teorıa hasta
aquı presentada.
2.4.1. Ejemplo de calibracion de dos camaras y calculo de posi-
cion 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 imagenes estereo,
imagen 1 e imagen 2 capturadas por dos camaras distintas. En el Anexo 1 se presenta
el detalle de la solucion de este ejemplo utilizando el Mathscript de LabVIEW 2009, y
los resultados generados por el sistema se analizan en esta seccion. El Mathscript de
LabVIEW 2009 posee una estructura identica a la que el Matlab ofrece, en lo que a
creacion de archivos se refiere, por lo que el codigo del Anexo 1 podrıa ejecutarse sin
problema tambien en esta platafoma.
Los resultados de calcular los puntos en el espacio partiendo de los datos del par
de imagenes estereo, y luego de haber hallado las matrices de calibracion del sistema
C1 y C2, como se detalla en la seccion 2.4, se presentan en la tabla 2.2. Las columnas
8, 9 y 10 muestran el error generado en la estimacion del punto en el espacio, al que se
hace referencia en la columna correspondiente; resulta sencillo notar que a pesar de que
24
Puntos del Espacio Imagen 1 Imagen 2Punto Wx Wy W z 1u 1v 2u 2v
A 0.0 0.0 0.0 167 65 274 168B 0.0 15.24 0.0 96 127 196 42C 27.94 15.24 0.0 97 545 96 431D 27.94 0.0 0.0 171 517 154 577E 20.955 0.0 -11.43 352 406 366 488F 6.985 0.0 -11.43 347 186 430 291G 13.97 0.0 -8.89 311 294 358 387H 13.97 15.24 -8.89 226 337 Oculto OcultoI 0.0 0.0 -1.905 198 65 303 169J 27.94 0.0 -1.905 203 518 186 577K 5.08 0.0 0.0 170 143 248 248L 5.08 15.24 0.0 96 198 176 116M 22.86 15.24 0.0 97 465 114 363N 22.86 0.0 0.0 173 432 176 507O 20.955 0.0 -4.5974 245 403 259 482P 6.985 0.0 -4.5974 242 181 318 283
Tabla 2.1: Datos de dos camaras distintas y de puntos en el espacio.
el metodo de calibracion utilizado es eficiente y que la estimacion del error se realiza
sobre los mismos puntos utilizados en la calibracion del sistema pueden existir errores
de hasta 0,1721 mm, lo que nos indica como primer resultado experimental previo a
la implementacion practica que el error de estimacion de los puntos en el espacio con
una configuracion estereoscopica sera mayor que cero. En la seccion 3.4 se presentan los
resultados de precision del sistema experimental utilizando el mismo enfoque de este
ejemplo.
2.5. Iluminacion estructurada
La mayorıa de los problemas de inspeccion industrial, ingenierıa inversa y reali-
dad virtual requieren informacion sobre la forma geometrica de los objetos en el espacio
tridimensional [15]. Los sensores opticos 3D trabajan con fuentes de luz, lentes, foto-
diodos y camaras de video para brindar informacion de la geometrıa de un objeto, de
manera tan precisa como las limitaciones fısicas de los componentes del sistema lo per-
mitan. Una practica bastante comun en vision 3D es proyectar un patron conocido en
la superficie del objeto a analizar y observar este patron (triangulacion activa). Para
interpretar la informacion 3D del objeto, se requieren conocimientos y experiencia en
25
Punto Wx Wy W z W x W y W z ex ey ez
A 0.0 0.0 0.0 0.03 0.01 -0.06 -0.03 -0.01 0.06B 0.0 15.24 0.0 0.064 15.3 -0.004 -0.06 -0.0631 -0.0049C 27.94 15.24 0.0 28.0025 15.2133 -0.0264 -0.0640 0.0267 0.0264D 27.94 0.0 0.0 27.9305 -0.0560 0.1092 0.0095 0.0560 -0.1092E 20.955 0.0 -11.43 20.9312 -0.1350 -11.3525 0.0238 0.1350 -0.0775F 6.985 0.0 -11.43 6.9849 -0.0767 -11.4174 0.0001 0.0767 -0.0126G 13.97 0.0 -8.89 13.9697 0.1721 -8.9953 0.0003 -0.1721 0.1053H 13.97 15.24 -8.89 NA NA NA NA NA NAI 0.0 0.0 -1.905 -0.0871 -0.0176 -1.8402 0.0871 0.0176 -0.0648J 27.94 0.0 -1.905 27.9481 0.0190 -1.8732 -0.0081 -0.0190 -0.0318K 5.08 0.0 0.0 5.0787 -0.1223 0.0311 0.00311 0.1223 -0.00311L 5.08 15.24 0.0 4.9993 15.1702 0.0697 0.0807 0.0698 -0.0697M 22.86 15.24 0.0 22.8131 15.2639 -0.0581 0.0469 -0.0239 0.0581N 22.86 0.0 0.0 22.8549 0.0149 -0.0686 0.0051 -0.0149 0.0686O 20.955 0.0 -4.5974 20.9308 0.1052 -4.6476 0.0242 -0.1052 0.0502P 6.985 0.0 -4.5974 7.0941 0.0804 -4.6368 -0.1091 -0.804 0.0394
Tabla 2.2: Resultados obtenidos con el software implementado en Mathscript de Lab-VIEW y/o Matlab.
el manejo de imagenes bidimensionales y adquisicion de imagenes.
2.5.1. Triangulacion Activa
La triangulacion, en geometrıa, es el uso de triangulos para determinar posiciones
de puntos, medidas de distancias o areas de figuras. La aplicacion practica de este princi-
pio matematico, para la obtencion de la informacion geometrica mediante triangulacion
activa por proyeccion de luz estructurada, consiste en lo siguiente:
Un patron es proyectado sobre el objeto bajo prueba, en una “direccion de ilumi-
nacion” especıfica, y es observado desde una diferente “direccion de observacion”.
El angulo formado entre las dos direcciones es llamado angulo de triangulacion
φ, figura 2.11.
El patron puede ser un punto de un laser, para medicion de distancias locales,
o un patron de franjas, para una medicion completa de la forma del campo de
vision adquirido, como se ilustra en la figura 2.12. De la ubicacion del patron
en la imagen, a traves de triangulacion se evalua 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 patron. Proyectar una
26
Figura 2.11: Arquitectura de un sistema de triangulacion activa basico.
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
laser sobre el objeto.
Figura 2.12: Patron de franjas codificado y proyectado sobre un objeto cilındrico.
La tecnica de triangulacion por medicion de fase (pmt), por otro lado proyecta un
patron tipo rejilla sobre el objeto o un patron sinusoidal con diferentes desplazamientos
de fase. A traves del uso de esta tecnica es posible adquirir la forma de la superficie de
un objeto sin un ’scan’, debido a que en el caso de un patron tipo rejilla, por ejemplo,
en un objeto curvado la camara captarıa lıneas de rejillas curvadas tambien. Asimismo,
si el patron posee una diferencia de fase, con por lo menos tres exposiciones de este es
posible derivar la distancia de capa punto del objeto (figura 2.13).
27
Figura 2.13: Proyeccion de un patron tipo rejilla sobre objetos 3D [15]
2.5.2. Iluminacion estructurada
La iluminacion tiene un papel fundamental en un sistema de vision artificial,
puesto que ayuda a simplificar considerablemente el analisis e interpretacion de las es-
cenas. Al implementar una buena iluminacion, se consigue una buena formacion de la
imagen a adquirir, y esto facilita su procesamiento. Por el contrario, una mala ilumi-
nacion puede aumentar complejidad a los algoritmos de procesamiento.
El problema en vision artificial es ubicar correctamente la iluminacion, los sensores
y los cuerpos a examinar para resaltar las caracterısticas visuales de los objetos.
La iluminacion estructurada, particularmente utiliza la proyeccion de patrones de
luz especıficos, como puntos, franjas o rejillas sobre la superficie de trabajo. En funcion
de como se deforme este patron de luz es posible detectar las singularidades de la pieza
y/o objeto bajo analisis. Por tanto, el termino iluminacion estructurada se define como
la proyeccion de un patron de luz simple o codificado sobre la escena iluminada [24]. Este
metodo de iluminacion posee dos ventajas importantes con respecto a metodologıas de
iluminacion tradicionales para 2D:
Establece un patron de luz conocido sobre la superficie de trabajo y las diferencias
con este patron indican la presencia de un objeto, simplificandose ası el problema
de deteccion de un objeto.
Analizando la forma en que el patron de luz es distorsionado, es posible obtener
informacion de las caracterısticas tridimensionales del objeto (figura 2.14).
Los metodos tradicionales de luz estructurada para el sensado de profundidad, por
28
Figura 2.14: Concepto de Iluminacion Estructurada.
lo general, estan basados en la introduccion de informacion geometrica en la tecnica de
iluminacion a fin de facilitar la extraccion de la profundidad de la escena de analisis.
Una de estas tecnicas consiste en la proyeccion de una lınea sencilla de luz sobre la
escena y la imagen bidimensional es adquirida por medio de una camara digitalizadora
que se encuentra a un angulo de toma adecuado.
La informacion de profundidad se adquiere del desplazamiento relativo de los di-
ferentes puntos de la lınea de luz. Una particularidad del metodo de lınea sencilla es
la necesidad de procesar multiples imagenes 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 iluminacion fijo y recorrer la escena. Una variacion de este metodo de
luz estructurada consiste en la proyeccion de multiples lıneas sobre la escena con una
regularidad o un patron definido. Lo anterior es logrado mediante el uso de una rejilla
de difraccion disenada para el caso. La tecnica de multiples lıneas tiene la ventaja ob-
29
via de requerir en principio una sola imagen para lograr la reconstruccion de la escena
completa. Esta ventaja, en terminos computacionales, representa una simplificacion en
el manejo de los “buffers” o memoria RAM. Sin embargo, la complejidad de los algo-
ritmos de reconstruccion aumenta considerablemente pues es necesario resolver ciertas
dificultades inherentes al metodo, entre las cuales destaca la posible confusion entre las
diferentes lıneas. El principio de extraccion de profundidad mediante el desplazamiento
relativo de puntos de luz conduce al diseno de algoritmos demasiado complejos para
poder aspirar a su implantacion en tiempo real [26].
2.6. Trabajos relacionados
A continuacion se presentan algunas referencias de trabajos de investigacion rela-
cionados con el campo de adquisicion y analisis de imagenes 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 geometricas sencillas
como: cilindros, rectangulos, etc. El sistema propuesto utiliza un haz de luz estructurada
de la fabrica StockerYale tipo lınea con un costo de USD 2500 (el laser unicamente) una
tarjeta NI PCI-1411 y una camara TM-200 CCD de alta resolucion. La tecnica utilizada
es la de escaneo progresivo del laser a traves del objeto y capturas consecutivas de la
camara (Light Sectioning [17]) para resolver las caracterısticas 3D en software a traves
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 concep-
to de camara tridimensional utilizando como patron de iluminacion senales senoidales
consecutivas con fases distintas, de forma que sea posible implementar la tecnica de tri-
angulacion por medicion de fase (pmt), para ello emplean un proyector de alta definicion
(Ferroelectric Crystal Display - FLC) muy costoso. Gracias a la proyeccion perfecta de
patrones senoidales con intervalos de tiempo entre cada patron de tan solo 3µs y un
procesamiento de la imagen en computadoras dedicadas es posible presentar la infor-
macion 3D de las escenas en tiempo real.
La medicion de perfiles en piezas de manufactura es el principal objetivo del sis-
tema propuesto en [21]. El objeto es rotado en frente de un sistema de iluminacion
estructurado: proyeccion de luz estructurada tipo lınea y una camara que observa el
objeto en un angulo diferente, llamado angulo de triangulacion. Para la reconstruccion
de la geometrıa del objeto se implementa en Matlab una aproximacion por mınimos
cuadrados a traves de un cırculo cuya curvatura es estimada en funcion de las distancias
calculadas por el sistema.
Figura 2.16: Sistema propuesto en [21]
Por otro lado, en [11] se describe la tecnica 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 configuracion del sistema es novedosa y propone utilizar una camara
de alta resolucion, un proyector de luz estructurada DLP que emita una secuencia de
luz codificada en codigo Gray, y el tercer elemento para completar el sistema consiste
de un arreglo de espejos que permita tener capturas de diferentes angulos del objeto
bajo analisis, como se ilustra en la figura 2.17. La ventaja inmediata que este sistema
31
presenta es la supresion de multiples capturas de la imagen para su reconstruccion
tridimensional.
Figura 2.17: Arquitectura del sistema propuesto en [11]
2.7. Aporte al conocimiento
En la seccion anterior se presentan brevemente trabajos relacionados con la tematica
de inspeccion de objetos utilizando los enfoques de vision estereoscopica e iluminacion
estructurada. En virtud de que existe gran cantidad de literatura formal y trabajos
realizado en estas areas, con resultados y metodologıas diferentes, se han identificado
las siguientes contribuciones, no mencionadas, ni tratadas en ningun trabajo citado en
esta investigacion, que el presente trabajo de tesis aborda:
Metodologıa de integracion de dos tecnicas de vision 3D: vision estereoscopica e
iluminacion estructurada. Se estudia con detalle esta metodologıa en la seccion
4.3.
Sencillez en la calibracion del sistema y en la implementacion practica de los
algoritmos. En la seccion 2.4 se presento el algoritmo de calibracion de las camaras
y un ejemplo practico.
32
No se requieren proyectores de luz estructurada costosos, ni patrones de luz estruc-
turada complejos como rejillas o franjas, ni codificacion a traves de triangulacion
por medicion de fase (pmt). Estos 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 vision 3D asegura continuidad en la operacion en una lınea de produccion, en
caso de que uno de los componentes falle. Las ventajas que la redundancia del
sistema ofrece se presentan en la seccion 3.2.
Simplificacion del problema de correspondencia de imagenes en imagenes cap-
turadas por el sistema de vision estereoscopico.
33
Capıtulo 3
Construccion y calibracion de un prototipo para
pruebas experimentales
En el capıtulo anterior se expusieron los conceptos relacionados con vision es-
tereoscopica e iluminacion estructurada desde un enfoque enteramente matematico. El
objetivo principal de este capıtulo, es detallar la aplicacion de las matematicas e in-
genierıa involucradas en sistemas de vision 3D a traves de pruebas experimentales de
calibracion en un sistema prototipo cuyo diseno y construccion se discuten mas ade-
lante. La seccion 3.1 presenta el diseno y construccion del prototipo para las pruebas
experimentales que se desarrollan a lo largo de este trabajo de investigacion. La justifi-
cacion de la arquitectura elegida y sus ventajas se exponen en la seccion 3.2. La tercera
seccion esta dedicada al problema de calibracion del sistema y el Pre-procesamiento de
las imagenes del par estereo. Finalmente la seccion 3.4 presenta los diferentes resultados
de precision alcanzados en la calibracion a traves de pruebas de medicion realizadas so-
bre los mismos objetos utilizados en el proceso de calculo de las matrices de calibracion
de las camaras.
3.1. Diseno y construccion 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 vision 3D plantea-
do es un sistema redundante. Las razones por la que se asevera que el sistema es re-
dundante, tienen que ver con el hecho de que se forman simultaneamente 3 diferentes
sistemas de vision artificial para obtener atributos 3D, mismos que se detallan a con-
tinuacion:
Sistema de iluminacion estructurada con una camara. Utilizando cualquiera de
las dos camaras que se muestran en la figura 3.1, y el proyector del patron de luz
estructurada es posible construir un sistema de vision 3D basandose en los con-
ceptos de triangulacion activa que se detallan en la seccion 2.5.1, y cuya aplicacion
se comenta en [16] y [21]. Ejemplos de calibracion de este sistema se presentan
en [9].
34
Figura 3.1: Disposicion de las camaras y el patron de iluminacion en el prototipo.
Sistema de vision estereo. Claramente se puede obsevar que usando las dos camaras
del sistema de la figura 3.1 y el procesamiento de las dos imagenes en un com-
putador, sera posible adquirir la geometrıa de un objeto situado en el espacio de
trabajo (area calibrada [31]). Se vuelve, sin embargo relativamente compleja la
correspondencia de puntos entre las imagenes adquiridas por cada camara para
aplicar los conceptos del capıtulo anterior, relacionados con la ubicacion de pun-
tos y/o patrones en el par de imagenes estereo. Facilmente podemos suponer que
el esfuerzo computacional se incrementa debido al procesamiento adicional para
solucionar el problema de correspondencia en las imagenes, lo cual no aplica en
el primer sistema, descrito anteriormente. En [1] se detallan las limitaciones de
los sistemas de vision estereo, al igual que sus ventajas.
Sistema de vision estereo + iluminacion estructurada. Se debe precisamente a
este sistema la configuracion de la figura 3.1, cuya justificacion se menciona en
detalle en la seccion 3.2.
La ubicacion de las camaras no esta sujeta a restricciones de ningun tipo, mas bien
se pretende situarles de forma que se cubra la mayor cantidad de volumen del objeto
bajo analisis. El proyector de luz estructurada, sin embargo se propone ubicarlo en el
plano yz, forma que el procesamiento posterior de las imagenes resulte menos complejo.
En la figura 3.2 se ilustra la configuracion del sistema prototipo.
La implementacion 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 vision 3D prototipo.
3.1.1. Camaras
Las camaras que se eligieron para el desarrollo del proyecto son de la firma Uni-
brain, 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: 400Mbps
Tipo de sensor: SONY R© Wfine 1/4” CCD
Escaneo: Progresivo
Resolucion: (H x V) 640× 480
Distancia focal: 4,65 mm
36
Figura 3.3: Sistema prototipo implementado.
Angulo horizontal de vision: 42◦
Angulo vertical de vision: 32◦
Color: Monocromatica - RBG 24 bits
A pesar de que en sistemas de vision estereo se recomienda utilizar camaras identi-
cas para facilitar los calculos de las matrices de calibracion, la metodologıa que se de-
sarrolla a lo largo de este trabajo, no propone esa restriccion principalmente debido a
la estimacion de las matrices de calibracion a traves de un criterio de minimizacion del
error, como se detalla en la seccion 2.4. La eleccion de un bus de comunicacion IEEE
1394 en lugar de uno USB en las camaras a utilizar tiene que ver con los siguientes
aspectos:
Velocidad de transferencia efectiva: A pesar de que la especificacion de USB 2.0
permite alcanzar un ancho de banda de hasta 480 Mbps [8], el encabezado del
protocolo de comunicacion resta velocidad a la transmision de datos de los dis-
positivos, ademas de ser un bus compartido dentro del PC. Por otro lado, la
37
especificacion IEEE 1394a asegura una transferencia efectiva de 400 Mbps, lo
cual permite una transferencia de hasta 100 cuadros por segundo en imagenes
con una resolucion de 640× 480.
Estandarizacion del interfase: A pesar de que existen muchos puertos USB dis-
ponibles en una PC, es uno de los buses menos estandarizados dentro del campo
de adquisicion de imagenes. Cada fabricante ha implementado su propio diseno
de hardware y software, lo que significa que muchas veces se requiere de un driv-
er especıfico para conectar la camara con la PC. Por otro lado, hace muchos
anos la Asociacion de Intercambio 1394 formo un grupo que defina especifica-
ciones de camaras cuyo bus de comunicacion sea IEEE 1394. El resultado de
esta asociacion es el estandar IIDC (Industrial and Instrumentation specification
for Digital Cameras), con muchos dispositivos de hardware para disparo e ilu-
minacion con comunicacion a este bus, ademas de la especificacion completa de
comunicacion de camaras 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 imagenes hacia la memoria. En
USB, ademas de relegar la tarea de transferencia de imagenes 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 camaras: A pesar de que encontrar camaras USB es muy
sencillo, la mayorıa de aplicaciones de vision artificial a nivel industrial requieren
un rendimiento superior al que la electronica de consumo puede ofrecer. IEEE
1394 ha sido un estandar industrial en camaras para aplicaciones industriales por
mas de 5 anos. Actualmente se pueden encontrar camaras infrarrojas, linescan,
de alta resolucion, y de alta velocidad con bus de comunicacion IEEE 1394.
En la figura 3.4 se puede apreciar la ventaja que supone desarrollar el sistema de
vision 3D con camaras estandarizadas IIDC sobre camaras con comunicacion USB.
3.1.2. Proyector luz estructurada
A pesar de la diversidad de patrones de iluminacion estructurada que se pueden
encontrar en el mercado, para el desarrollo de este proyecto, en virtud de que se ha
disenado una arquitectura redundante de vision estereo + iluminacion estructurada, se
eligio como proyector de iluminacion estructurada un laser de lınea, con las siguientes
especificaciones:
Voltaje de operacion: 3V
38
Figura 3.4: Comparacion USB - IEEE 1394.
Corriente de operacion: 300mA
Potencia del LED: 5mW − 532nm
Angulo de generacion: 110◦
En la figura 3.5 se muestra el aspecto fısico del generador de lınea laser. Esta lınea
se proyecta sobre los objetos bajo analisis para aplicar las tecnicas de triangulacion
activa y vision estereoscopica con correspondencia de puntos generada a traves del
patron de luz estructurada sobre el objeto.
3.1.3. Circuito de control y comunicacion con la PC
En base a las especificaciones de operacion de las camaras y del laser de lınea,
ademas de las necesidades del sistema de vision 3D, se propone un circuito que sea
capaz de manejar la corriente de los laseres de lınea, controlar un servomotor sobre el
que se monta el laser para barrer la lınea generada sobre el objeto bajo analisis. Cabe
destacar en este punto que se vuelve un requisito permitir que la PC controle desde
el software de aplicacion el encendido/apagado de los laseres y el angulo de giro del
motor que a su vez tiene montado el proyector de lıneas sobre su eje. Para alcanzar este
39
Figura 3.5: Proyector de luz estructurada.
proposito, se dota al circuito de control un interfase RS-232 para que a traves 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 diseno de la tarjeta electronica.
3.2. Ventajas de la configuracion estereoscopica con
iluminacion estructurada
El aspecto que guarda mayor complejidad en un sistema de vision estereo no se
encuentra en el calculo de la profundidad, sino en la determinacion de las corresponden-
cias utilizadas en este calculo. En caso de que alguna correspondencia este incorrecta,
el calculo de las coordenadas en el espacio sera incorrecto tambien [14]. Las tecnicas
mas utilizadas para el establecimiento de correspondencias, son las que se detallan a
continuacion:
Correlacion cruzada. Parte de la suposicion de que para un punto P1 en una
imagen I1 (la primera imagen del par estereo), existira una region fija en la ima-
gen I2 (la segunda imagen del par estereo) en la cual se localizara el punto P2
que corresponde al punto P1. La tecnica de busqueda, utiliza el operador de
correlacion cruzada a los vecindarios cercanos a P2, hasta que se encuentre el
pıxel que maximice la respuesta a esta operacion, que sera el correspondiente a
40
Figura 3.6: Circuito de control y comunicacion.
su par P1. En la figura 3.8 se ilustra el analisis de correlacion cruzada en un par
de imagenes estereo.
Emparejamiento simbolico y restricciones relacionales. Se debe realizar
la busqueda 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 tecnica de busqueda, normalmente
se basa en el etiquetamiento de imagenes binarias, de forma que sea mas sencillo
relacionar caracterısticas sin consumir demasiado tiempo del procesador.
Uno de los problemas tıpicos en sistemas de vision estereo, se da cuando no es
posible detectar las caracterısticas de la primera imagen, en la segunda. Algunas carac-
terısticas pueden simplemente no estar presentes, debido a la ubicacion de las camaras.
Ocurre por ejemplo que, algunas caracterısticas seran visibles en una imagen, pero en
la otra estaran ocultas.
La configuracion del sistema de vision 3D presentada en la figura 3.1, por tanto
tiene la ventaja de proyectar un patron de iluminacion conocido sobre el objeto, lo
cual permitira simplificar el problema de correspondencia puesto que el procesamiento
de las imagenes sera 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 comunicacion.
imagenes (Izquierda y Derecha), se encuentra presente la lınea proyectada por el laser
sobre el objeto a analizar. Adicionalmente, resulta importante destacar que el hecho de
procesar unicamente lıneas en las dos imagenes, reducira significativamente el tiempo
de procesamiento.
El problema de correspondencia para esta aplicacion, se reduce por tanto a la
busqueda de “puntos de quiebre” en las lıneas de cada imagen, que en la practica
representan cambios en la orientacion de la superficie sobre la que esta siendo proyectada
la lınea del laser, y que a la postre nos brindara la informacion necesaria para la
reconstruccion tridimensional del objeto bajo analisis.
42
Figura 3.8: Problema de correspondencia analizado con correlacion cruzada.
3.3. Calibracion del sistema de vision
El proceso de calibracion del sistema de vision consiste en utilizar una pieza (ob-
jeto) con dimensiones conocidas en el espacio, y a traves del conocimiento de las coor-
denadas bidimensionales (u, v) en cada imagen, y utilizando el proceso detallado en la
seccion 2.4, se encuentran matrices de calibracion para cada una de las camaras 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 calibracion de un sistema de vision
estereo. Previo al proceso de calibracion, resulta importante pre-procesar las imagenes,
justamente con el objetivo de reducir la complejidad del problema de correspondencia,
de forma que se obtengan como imagenes resultado unicamente 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 calibracion y
Pre-procesamiento de las imagenes, cuyos pasos se detallan en las secciones siguientes.
3.3.1. Adquisicion de las imagenes
La plataforma de software en la que se desarrolla el presente trabajo de investi-
gacion es LabVIEW 2009 de la firma National Instruments. Se utilizan dos camaras con
formato de comunicacion IEEE 1394a, cuyas caracterısticas tecnicas se describen en la
subseccion 3.1.1. El detalle de programacion en LabVIEW para adquirir las imagenes
desde las camaras se presenta en la figura 3.11, de donde es posible resaltar cuatro
43
Figura 3.9: Simplificacion del problema de correspondencia a traves de la redundanciadel sistema de vision.
pasos basicos:
Crear espacio de memoria. Las imagenes que estan siendo adquiridas por las
camaras se colocan en la memoria RAM de la computadora a traves 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 aplicacion puesto que se
podrıan generar cargas excesivas de memoria, y por ende problemas en depuracion
y tiempos de ejecucion.
Adquirir la imagen. Una vez que la sesion con la camara ha sido abierta, la
funcion “Grab” se encarga de realizar adquisicion continua de las imagenes, a la
velocidad que la camara ha sido configurada. En esta aplicacion la velocidad de
transferencia de imagenes es de 30 fps (cuadros por segundo).
Mostrar imagen en pantalla. La opcion de despliegue de imagenes es opcional.
Por ejemplo, en el caso de este sistema el objetivo es adquirir la informacion de la
geometrıa del objeto bajo analisis y no interesan el par de imagenes estereo, sin
embargo en la etapa de desarrollo se vuelve fundamental desplegar las imagenes
en pantalla para corroborar el resultado de ciertos algoritmos.
Cerrar sesion. Al momento en que la aplicacion se detenga se deben cerrar las
sesiones de las camaras, de forma que en la siguiente oportunidad en que este
recurso (camaras) sea llamado se encuentre disponible, asimismo es recomendable
destruir los espacios de memoria RAM generados.
3.3.2. Pre-procesamiento de las imagenes
La etapa de Pre-procesamiento del par de imagenes estereo, es quizas una de
las que se debe realizar con mayor cuidado, ya que los resultados posteriores depen-
44
Figura 3.10: Diagrama de flujo del algoritmo de calibracion.
deran fuertemente del desempeno que aquı se obtenga. El par de imagenes adquiridas
utilizaran los mismos algoritmos de Pre-procesamiento, por lo que se describiran los
algoritmos utilizados en una de las dos imagenes.
El objetivo de esta etapa es basicamente segmentar la informacion de la imagen
adquirida de forma que se obtenga como resultado unicamente la lınea que el laser
proyecta sobre el objeto, como se ilustra en la figura 3.12. Para lograr este resultado,
como se puede suponer, es necesario binarizar la imagen utilizando como lımites de
umbralizacion, valores que se aproximen a la intensidad luminosa de los pıxeles que
forman la lınea laser 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: Adquisicion de imagenes en LabVIEW.
tambien estan presentes en la imagen luego de haber sido binarizada, se utiliza un
filtro que elimine los clusteres de pıxeles de la imagen con areas menores a 3 pıxeles,
a traves del uso de la herramienta morfologica de erosion y luego la de dilatacion, con
un elemento estructurante de tamano 3× 3.
Figura 3.12: Preprocesamiento de las imagenes.
3.3.3. Barrido del angulo del laser
La proyeccion de una lınea laser sobre el objeto que se encuentra bajo analisis
permite, a traves del procesamiento del par de imagenes estereo, resaltar las carac-
46
terısticas geometricas de este. Sin embargo, la proyeccion de esta lınea resalta una
pequena porcion de la totalidad del volumen, y para cubrir la geometrıa completa que
se encuentra disponible en las imagenes de la configuracion estereoscopica, I1 e I2, se
proponen algunos metodos entre los que se destacan dos sencillos:
1. Se propone mover el objeto longitudinalmente a lo largo de una distancia, y1constante medida desde el eje y del sistema (la eleccion del eje y se debe a la
manera en la que se ubico el sistema coordenado de referencia fijo); y
2. Otra solucion, que es precisamente la que se propone en este trabajo, considera la
no movilidad del objeto, y en consecuencia la rotacion del angulo de proyeccion
del laser de lınea de forma que cubra la totalidad del cuerpo del objeto bajo
inspeccion.
La modificacion del angulo de proyeccion del laser se logra rotando el eje del
servomotor, al cual se encuentra acoplado el proyector de luz estructurada, generandose
ası el barrido laser. En el anexo 2 se detalla la programacion en Microcode utilizando
lenguaje Basic del microcontrolador, que se dedica al control del encendido y apagado de
los laseres y se encarga de gestionar la comunicacion (RS232) entre la tarjeta electronica
y la PC.
3.3.4. Correspondencia de puntos
La complejidad y los metodos que tradicionalmente se utilizan para solucionar el
problema de correspondencia en vision estereoscopica se analizaron en la seccion 3.2.
La proyeccion de un patron conocido sobre el objeto que sera objeto de analisis, sim-
plifica notablemente el problema de hallar la correspondencia de puntos en el par de
imagenes estereo, y por otra parte, el pre-procesamiento de las imagenes se reduce a
la busqueda de imagenes 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 imagenes estereo
para el calculo de coordenadas tridimensionales se simplifica a la busqueda de puntos
de inflexion en las lıneas laser 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 precision en la estimacion de los puntos de inflexion en el par de imagenes
estereo.
Para simplificar la busqueda de los mencionados puntos, primeramente se aplico el
algoritmo de esqueletizacion 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 aun mas factible el procesamiento
por analisis de conectividad. En la figura 3.13 se presenta el resultado de aplicar el
47
algoritmo de esqueletizacion a la imagen pre-procesada. Claramente se pueden notar,
analizando la figura 3.13, que existen puntos de inflexion en la lınea, ademas de puntos
de bifurcacion, de inicio y fin. Un detalle importante a considerar, sobre todo al mo-
mento de calibrar el sistema, tiene que ver con el resultado de la esqueletizacion, 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 reduccion al momento de generar las matrices de
calibracion del sistema.
Figura 3.13: Esqueletizacion de la imagen preprocesada.
Conectividad entre pıxeles
Cuando se habla de pıxeles conectados entre sı o yuxtapuestos, es necesario preci-
sar el tipo de conexion o conectividad que se acepta como valida. 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 mas cercanos, como se ilustra en la figura 3.14.
El algoritmo de busqueda de los puntos de inflexion por tanto analizara las conec-
tividades entre los vecinos de los pıxeles que forman parte de la lınea obtenida luego de
la “esqueletizacion”, y en donde se cumplan las heurısticas detalladas en la tabla 3.1.
Es requisito almacenar las coordenadas de los puntos en una posicion definida de un
vector, de forma que al aplicar el mismo algoritmo en la otra imagen del par estereo se
obtenga los puntos de inflexion en las mismas posiciones del vector almacenado en la
primera imagen, solucionandose ası el problema de correspondencia, para seguidamente
dar paso a los calculos 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 = [(r∼1 = 1) ∧ (r∼2 ≥ 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. Calculo de las matrices de calibracion
El algoritmo utilizado en la seccion 2.4.1, para estimar matrices de calibracion a
partir de una tabla de datos con coordenadas espaciales conocidas y la correspondencia
de puntos en el par de imagenes estereo se aplica de manera identica para calibrar el
sistema real. La diferencia principal con los datos utilizados en el ejemplo desarrollado
en la seccion 2.4.1, radica en que los puntos de calibracion que se utilizan para el sis-
tema prototipo se toman de una pieza construida con precision en una maquina CNC,
49
Columna (c) 1′s (5× 5) 1′s (3× 3) Operacion Logica
c0 0 xi ∨ yic1 c∼0 2 1 xi ∨ yic2 c∼1 4 3 xi ∨ yic3 c∼2 0 0 xi ∨ yic4 0 0 xi ∨ yi
Fila (r) 1′s (5× 5) 1′s (3× 3) Operacion Logica
r0 1 xi ∨ yir1 r∼0 1 1 xi ∨ yir2 r∼1 1 1 xi ∨ yir3 r∼2 2 2 xi ∨ yir4 1 xi ∨ yi
Tabla 3.1: Heurısticas para la localizacion de los puntos de inflexion.
cuyo diseno se ilustra en la figura 3.16.
La geometrıa del patron de calibracion, 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 este, permitiendo ası la generacion de una cantidad considerable de puntos de
calibracion a traves del movimiento del angulo de proyeccion del laser de lınea (patron
de iluminacion estructurada). Para capturar los puntos de calibracion a utilizar en el
algortimo de minimizacion del error para la estimacion de las matrices del sistema, se
eligieron puntos especıficos en la pieza de la figura 3.16. En la practica, se obtienen estos
puntos luego de procesar las lıneas que el proyector de luz estructurada genera sobre
el patron de calibracion a traves del algoritmo de estimacion de los puntos de inflexion
desarrollado anteriormente, cuyo detalle se explica en la seccion 3.3.4, de forma que se
obtenga un vector con las correspondencias de los puntos en el par de imagenes estereo
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
calibracion se muestran en la tabla 3.2.
El resultado de aplicar el algoritmo implementado en la seccion 2.4 se resume
en las matrices de calibracion estimadas C1 y C2, correpondientes a la calibracion
geometrica espacial de las camaras 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ısti-cas.
de calibracion C1 y C2 se utilizaran mas adelante para el calculo de las coordenadas en
el espacio de puntos especıficos a traves del procesamiento de la informacion del par
de imagenes estereo, ası como de distancias e informacion relevante de la geometrıa del
objeto bajo prueba.
C1 =
0.5260 -3.6640 -2.6531 514.7103
-1.0930 -1.1390 -2.7945 382.6006
0.0014 -0.0040 -0.0058 1.000000
(3.3)
C2 =
0.2495 -3.7308 -2.0109 520.2729
-1.0692 -1.3172 -2.5344 374.2948
0.0014 -0.0044 -0.0053 1.000000
(3.4)
51
Figura 3.16: Diseno del patron de calibracion.
3.4. Validacion de la calibracion del sistema
Para validar la calibracion del sistema y sobre todo emitir un criterio de pre-
cision, utilizamos el mismo patron que en la etapa de calibracion, descrito en la seccion
3.3.5, cuyo detalle se presenta en la figura 3.17. La interfaz hombre-maquina (HMI)
implementado en LabVIEW para las pruebas de calibracion y medicion de distancias
se ilustra en la figura 3.18, en donde resulta sencillo notar que a traves de la determi-
nacion de los puntos de inflexion de las imagenes estereo previamente preprocesadas,
mismos que se hallan utilizando el algoritmo detallado en la seccion 3.3.4, es posible
formar la matriz de puntos que se presenta en la tabla 3.2.
52
Figura 3.17: Puntos de calibracion en la pieza.
Para verificar la precision y validar la calibracion del sistema, es necesario realizar
mediciones sobre el objeto patron en los mismos puntos en los que se capturaron para
el calculo de las matrices; luego se deben contrastar las distancias medidas con las
reales del patron de calibracion y ası poder estimar un error de medicion promedio
y la desviacion estandar del mismo, herramientas que utilizaremos como medidas de
variabilidad para emitir un criterio de precision del sistema de vision 3D. Los resultados
de estas pruebas se ilustran en la tabla 3.3.
Los datos presentados en la tabla 3.3 permiten calcular cantidades de la estadısti-
ca descriptiva tıpicas, como la variabilidad del error a traves de su media aritmetica y
desviacion estandar, cuyos valores son µ = 0,3361mm y σ = 1,1301mm. La dispercion
de los datos del error, su relacion con su media aritmetica (µ) y la desviacion estandar
(σ) se ilustran en la figura 3.19. Resulta sencillo concluir a partir de los resultados de
la tabla 3.3 y la grafica 3.19 que la precision del sistema en medicion de distancias se
aproxima a ≈ ±1 mm. La precision anteriormente definida a traves de las medidas
53
Figura 3.18: HMI implementado en LabVIEW para el proceso de calibracion.
de variabilidad del error, nos permitira mas adelante analizar el desempeno del sis-
tema cuando se sometan objetos diferentes al de calibracion a pruebas similares a las
realizadas en este punto.
54
Punto wPxwPy
wPz1IC
1IR2IC
2IR
1 0.00 0.00 46.00 535.00 348.00 562.00 342.002 53.00 0.00 46.00 521.00 238.00 528.00 239.003 1.84 5.00 46.00 529.00 347.00 558.00 339.004 51.16 5.00 46.00 515.00 251.00 524.00 241.005 3.68 10.00 46.00 514.00 342.00 542.00 332.006 49.32 10.00 46.00 500.00 247.00 514.00 245.007 5.52 15.00 46.00 500.00 339.00 538.00 335.008 47.48 15.00 46.00 492.00 250.00 507.00 247.009 7.36 20.00 46.00 485.00 335.00 520.00 328.0010 45.64 20.00 46.00 477.00 255.00 494.00 252.0011 9.20 25.00 46.00 470.00 331.00 508.00 324.0012 43.80 25.00 46.00 467.00 258.00 487.00 253.0013 11.04 30.00 46.00 464.00 332.00 495.00 317.0014 41.96 30.00 46.00 457.00 261.00 479.00 255.0015 12.28 33.00 42.31 452.00 334.00 487.00 324.0016 40.72 33.00 42.31 447.00 269.00 469.00 263.0017 13.52 36.37 38.62 440.00 336.00 474.00 327.0018 39.48 36.37 38.62 437.00 279.00 458.00 271.0019 14.76 39.74 34.92 431.00 339.00 463.00 329.0020 38.24 39.74 34.92 429.00 287.00 449.00 278.0021 16.01 43.12 31.23 422.00 341.00 449.00 332.0022 36.99 43.12 31.23 421.00 295.00 440.00 285.0023 17.25 46.49 27.24 415.00 346.00 439.00 332.0024 35.75 46.49 27.24 414.00 302.00 430.00 293.0025 18.49 49.86 23.85 405.00 348.00 427.00 334.0026 34.51 49.86 23.85 405.00 311.00 420.00 301.0027 19.73 53.23 20.15 397.00 351.00 419.00 340.0028 33.27 53.23 20.15 396.00 320.00 411.00 308.0029 20.97 56.60 16.46 389.00 353.00 407.00 340.0030 32.03 56.60 16.46 390.00 326.00 402.00 315.0031 22.21 59.97 12.77 380.00 357.00 400.00 348.0032 30.79 59.97 12.77 379.00 336.00 390.00 323.0033 23.45 63.34 9.08 373.00 359.00 383.00 346.0034 29.55 63.34 9.08 372.00 343.00 383.00 330.00
Tabla 3.2: Puntos de calibracion en el espacio y coordenadas en el par de imagenesestereo.
55
Punto 1IR1IC
2IR2IC Distancia Medida (mm) Distancia Real (mm) Error
1 609 328 604 346 52.235 53.00 -0.7652 568 229 592 2363 602 327 596 342 51.937 49.32 2.6174 562 232 587 2385 591 324 582 338 47.421 45.64 1.78146 553 235 576 2427 575 320 556 331 41.966 41.96 0.00648 545 238 563 2469 570 320 556 331 39.421 38.28 1.14110 538 241 553 24811 529 258 538 328 34.121 34.60 -0.47812 526 245 540 25413 539 309 532 325 29.140 30.92 -1.7814 519 247 532 32515 533 310 524 324 27.335 28.44 -1.10516 516 250 523 25917 517 317 510 330 25.197 25.96 -0.76318 502 261 509 27019 504 317 500 331 23.558 23.48 0.07820 490 269 500 27921 490 322 493 334 21.271 20.98 0.29122 485 277 494 28623 480 325 480 338 18.881 18.50 0.38124 470 288 482 29725 470 329 472 340 16.211 16.02 0.19126 462 296 474 30627 462 331 465 342 14.55 13.54 1.0128 454 303 466 31129 449 333 455 345 11.554 11.06 0.49430 444 311 457 32031 442 337 449 347 10.270 8.58 1.6932 437 317 450 32533 432 340 442 442 7.0243 6.10 0.924334 429 324 350 333
Media Aritmetica del Error 0.3361Desviacion Estandar del Error 1.1301
Tabla 3.3: Resultados de la validacion de la calibracion del sistema.
56
Figura 3.19: Dispersion del error en las mediciones de distancia realizadas sobre elobjeto patron.
57
Capıtulo 4
Desarrollo de una metodologıa para inspeccion de
objetos con vision estereoscopica e iluminacion
estructurada
El desarrollo de un sistema experimental y una evaluacion superficial de resultados
en su funcionamiento fueron objeto de estudio del capıtulo anterior. Sin embargo, la
meta de investigacion de esta tesis es la de establecer una metodologıa para implemen-
tar sistemas de inspeccion 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 este capıtulo se encuentran los resultados de diferentes
pruebas del sistema, con los cuales se establece una correcta secuencia de pasos para
la solucion de problemas de inspeccion 3D. En la seccion 4.1 se aborda con detalle la
evaluacion del desempeno del sistema experimental con objetos diferentes al utilizado
en la calibracion y diferentes condiciones de iluminacion. En la seccion 4.2 se desarro-
lla y explica la metodologıa utilizada a lo largo de este trabajo de investigacion, para
presentar finalmente en la ultima seccion el metodo que permite alcanzar los objetivos
de inspeccion tridimensional a nivel industrial.
4.1. Evaluacion del desempeno del prototipo
4.1.1. Precision del sistema
La medicion 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 vision
artificial 2D y 3D, por lo que es menester conocer la precision del sistema propuesto en
el capıtulo anterior para realizar mediciones sobre objetos con caracterısticas diversas.
La evaluacion de la precision 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 seccion 3.4. El primer objeto
con el que se realiza la evaluacion del desempeno y prueba de precision es un rectangulo
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
detallo en la subseccion 3.3.3, se realiza el barrido del angulo del laser a lo largo de
la cara superior del rectangulo cuya dimension real es de 49,6 mm. En la tabla 4.1 se
muestran los resultados de 7 capturas de lıneas laser 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 cuales se realizan las mediciones de distancias correspondientes
y calculos del error en esa medicion.
Figura 4.1: Objeto de prueba para mediciones longitudinales.
El analisis del error de las mediciones que se presentan en la tabla 4.1, nos en-
trega como resultado una media aritmetica, µ = −0,393 y una desviacion estandar,
σ = 1,385 mm, a partir de lo cual podemos concluir que la precision aproximada del
sistema sera de 1,385 mm y que las mediciones estaran dentro de un rango de error
59
Punto 1IR1IC
2IR2IC Distancia Medida (mm) Distancia Real (mm) Error
1 586 357 596 376 50.143 49.6 0.5432 554 270 585 2783 567 359 578 380 49.594 49.6 -0.0064 536 270 565 2785 552 361 558 381 49.230 49.6 -0.376 524 269 551 2787 536 365 534 379 51.241 49.6 1.6418 505 271 532 2799 517 364 517 382 48.852 49.6 -0.74810 489 272 513 27911 494 369 487 381 47.12 49.6 -2.4812 467 274 485 28113 469 372 457 383 47.899 49.6 -1.70114 467 274 485 281
Media Aritmetica del Error -0.393Desviacion Estandar del Error 1.385
Tabla 4.1: Resultados de la medicion de distancias sobre el rectangulo de prueba.
de ±1,3 mm, lo cual es bastante cercano al resultado obtenido en la seccion 3.4. La
geometrıa de este 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
solido.
En la figura 4.2 se muestra la geometrıa del segundo objeto utilizado para com-
probar la precision del sistema. La prueba que se realiza en esta oportunidad consiste
en la medicion del ancho de la pieza en varios puntos de esta a traves del barrido del
laser 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 esta etapa de validacion no estamos decodificando mayormente la informacion
tridimensional del sistema, puesto que nos hemos concentrado en mediciones de dis-
tancias, la geometrıa de este 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 analisis del error de las mediciones que se presentan en la tabla 4.2, nos en-
trega como resultado una media aritmetica, µ = −0,59 y una desviacion estandar,
σ = 1,226 mm. A pesar de que la desviacion estandar se parece mucho a los resultados
obtenidos en la seccion 3.4 y los de la tabla 4.1, la media aritmetica es mucho mas
60
Figura 4.2: Medicion del ancho de una pieza tridimensional.
alta que en los casos anteriores, divergiendo esta vez considerablemente de cero. La
desviacion de los resultados se puede atribuir a que estamos utilizando una pieza de
mayor longitud a la que se uso en la calibracion del sistema y que abarca un area 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 mas lejanos del origen del sistema coordenado
del sistema cuya coordenada en y alcanza valores cercanos a los 78 mm y la elevacion
en z es de 50 mm, mientras que para ese valor coordenado en y el patron de cali-
bracion tenıa elevaciones en z cercanas a cero. La observacion mas importante que este
resultado nos arroja, radica en que para optimizar los resultados de precision sobre un
objeto, se recomienda fuertemente calibrar el sistema con un objeto patron de identica
geometrıa a los de una lınea de produccion, en la que este sistema se podrıa instalar.
61
Punto 1IR1IC
2IR2IC Distancia Medida (mm) Distancia Real (mm) Error
1 612 327 608 345 28.126 28.33 -0.2042 590 271 602 2813 599 578 593 344 28.84 28.33 0.514 327 272 591 2815 585 330 577 346 27.151 28.33 -1.1796 562 271 568 2817 570 338 561 353 26.982 28.33 -1.3488 551 278 557 2889 543 351 538 367 26.872 28.33 -1.45810 526 293 535 30311 456 335 424 342 26.41 28.33 -1.9212 442 275 434 28013 454 340 404 344 29.794 28.33 1.46414 423 276 410 281
Media Aritmetica del Error -0.59Desviacion Estandar del Error 1.226
Tabla 4.2: Resultados de la medicion 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 inflexion producidos en el quiebre del laser producto de la geometrıa
del objeto bajo analisis, la decodificacion de la informacion tridimensional se realiza en
funcion del angulo de proyeccion del patron de iluminacion estructurada (lınea laser),
que en este sistema no es fijo y ademas es desconocido. Es posible realizar una notable
observacion a partir del analisis de los resultados de las mediciones de las dos piezas
utilizadas para la evaluacion de la precision del sistema, y radica en el hecho de que
la eficiencia maxima en este sistema se consigue aplicando mediciones sobre objetos
identicos al usado como patron de calibracion. Adicionalmente, para facilitar la inter-
pretacion de la informacion tridimensional se recomienda fijar en un angulo conocido
la proyeccion del haz de luz estructurada y recorrer el objeto a lo largo de algun eje
del sistema coordenado fijo. En la figura 4.3 se ilustra una representacion de los puntos
en el espacio correspondientes al objeto de calibracion (patron), 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 estaran dentro del rango de tolerancia de-
terminado en la seccion 3.4. La reconstruccion visual en 3D estan fuera del alcance de
62
Figura 4.3: Reconstruccion del patron de calibracion en 3D.
este trabajo de investigacion, sin embargo en [3, 5, 18, 19] se presentan varias tecnicas
para este proposito.
4.1.2. Pruebas de precision sobre un objeto de manufactura
Ademas de desarrollar una metodologıa para la medicion de objetos en el espacio
a traves de la combinacion de las tecnicas de vision estereo e iluminacion estructurada,
es de particular interes en el desarrollo de esta tesis el comprobar la precision del sis-
tema en la determinacion 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 esta prueba experimental para 3
diferentes objetos con la geometrıa de la figura 4.4. Es decir, a traves de esta 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 pequenos errores en la de-
terminacion 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 precision del sistema.
Precision del sistema. A pesar de que el sistema no fue calibrado para trabajar
exclusivamente con esta pieza, la calibracion realizada en la seccion 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 medicion de l2 es mayor a 1mm
puede atribuirse a ruido sobre la medicion. Adicionalmente, en las condiciones
de operacion del sistema actuales, se puede notar que existe un incremento en
la imprecision cuando se requieren medir pequenas distancias, y esto se debe
justamente a la resolucion de las camaras con las que estamos trabajando.
Precision de las mediciones manuales. En la figura 4.4 se presentan las dimen-
siones de diseno de la pieza utilizada para las pruebas experimentales, cuyas me-
didas 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 ins-
peccion automatico resalta notablemente en este punto, puesto que la realizacion
de esta operacion de medicion tomo muchısimo mas tiempo que la determinacion
de distancias hecha de manera automatica por el sistema.
64
Pieza l1 medida l2 medida l1 real l2 real Error l1 Error l2
24.099 9.6967 23.9 7.8 0.199 1.89671 23.187 7.253 23.9 7.8 -0.713 -0.547
23.325 NA 23.9 7.8 -0.575 NA
24.682 8.3944 24.01 8.1 0.672 0.29442 24.89 8.8968 24.01 8.1 0.88 0.7968
24.53 NA 24.01 8.1 0.52 NA
24.011 7.315 23.9 7.78 0.111 -0.4653 23.173 7.901 23.9 7.78 -0.727 0.121
24.533 NA 23.9 7.78 0.633 NA
Tabla 4.3: Resultados de la medicion de distancias sobre la pieza manufactura de lafigura 4.4.
4.1.3. Operacion bajo diferentes condiciones de iluminacion
A pesar de que el objetivo en esta ocasion es el de obtener atributos tridimen-
sionales de un objeto bajo prueba, la condicion de iluminacion mas favorable para el
sistema prototipo construido, es aquella en la que existe ausencia de luz sobre la escena,
de forma que sea posible unicamente capturar la lınea laser 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 camaras y su correspondiente preprocesamiento, de donde se puede observar que
el preprocesamiento no puede cumplir con el proposito de obtener como caracterıstica
final de la imagen unicamente la lınea laser proyectada sobre el objeto bajo analisis.
Para lograr ese proposito, deberıa utilizarse un laser de mayor potencia y de un color
que resalte en el ambiente, de forma que a traves de procesamiento de la imagen en
color la segmentacion sea un exito.
Si por otro lado, las condiciones de iluminacion son mas favorables al sistema, es
decir existe poca luz en el ambiente o ausencia de ella, el preprocesamiento se vuelve
mas eficiente y existe menos propension a errores. En la figura 4.6 se ilustra el re-
sultado de procesar una imagen en un ambiente de poca iluminacion, que como se
puede observar, se ajusta a los requerimientos de los algoritmos y la metodologıa hasta
aquı implementada en este trabajo. Se recomienda por tanto, utilizar el sistema en
ambientes donde no exista iluminacion natural y la lınea laser del proyector de luz
estructurada resalte sobre cualquier otra reflectancia del objeto bajo prueba. Debemos
recordar que el objetivo de la iluminacion 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 ambientecon demasiada luz.
de la escena capturada, como en el caso del procesamiento de imagenes en 2D.
Figura 4.6: Preprocesamiento exitoso sobre una de las imagenes capturadas del parestereo.
4.2. Metodologıa utilizada en el desarrollo del proyec-
to
La continua revision del estado del arte en el procesamiento de imagenes en 3D,
y el estudio de tecnicas similares a las que han sido presentadas en este trabajo de in-
vestigacion, condujeron el desarrollo de nuestra aplicacion de sensor tridimensional por
etapas en principio desconocidas que fueron a su vez desencadenando nuevas opciones
para continuar la busqueda del objetivo principal de esta tesis. En la figura 4.7 se pre-
senta un bosquejo de los pasos que se siguieron durante el desarrollo de los algoritmos,
prototipo, formulacion matematica 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 seccion siguiente.
Figura 4.7: Pasos seguidos a lo largo del camino de investigacion.
Resulta sencillo notar de la figura 4.7 que la problematica empieza con la eleccion
del sistema tridimensional a usar, presentandose las siguientes opciones: Sistema de
vision estereoscopica, Sistema de vision tridimensional con iluminacion estructurada y
una camara, y finalmente la opcion elegida para este trabajo que fue la combinacion de
las dos tecnicas mencionadas anteriormente, cuyo detalle y ventajas se describen en la
seccion 3.2. Vale la pena destacar que a pesar de que existe gran cantidad de literatura
relacionada con sistemas de vision tridimensional, son mınimas las aportaciones de sis-
temas como el propuesto en este trabajo. La calibracion 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 este paso puesto que la precision global del
sistema depende mucho del exito con el que se estimen las matrices C1 y C2. Proba-
67
blemente el diagrama de transicion de estados no expresa con claridad la problematica
que la implementacion practica presento, sin embargo resulta fundamental contar con
un algoritmo de Pre-procesamiento de las imagenes funcionando correctamente previo
a la calibracion del sistema, puesto que la precision en la adquisicion de los puntos en el
espacio para la estimacion de las matrices de calibracion esta sujeta a diversos factores
como: condiciones de iluminacion, distancia de trabajo, ubicacion de las camaras en el
espacio y la resolucion de las camaras.
Una vez que el sistema ha sido correctamente calibrado, se podrıa decir que el
50 % del trabajo esta hecho, constituyendo la otra mitad la elaboracion de los al-
goritmos de decodificacion tridimensional, desarrollo y refinamiento de algoritmos de
preprocesamiento de las imagenes y la presentacion de la informacion 3D. La etapa que
mayores contratiempos presento en este trabajo fue la elaboracion de los algoritmos de
decodificacion tridimensional que consistio en segmentar la informacion de las imagenes
de forma que unicamente se obtengan en vectores las coordenadas de los puntos de in-
flexion del par de imagenes estereo, para a continuacion presentar una coleccion de
puntos en el espacio que tornean la forma del objeto bajo analisis, ademas de mostrar
el detalle de las mediciones longitudinales de las piezas bajo inspeccion.
El caos de pasos que se persiguieron y se han detallado hasta aquı, se aclaran y
definen metodologicamente en la siguiente seccion.
4.3. Metodologıa para la integracion de vision estereo
e iluminacion estructurada para la inspeccion
de objetos y adquirir atributos 3D
Metodologıa es una palabra compuesta por tres vocablos griegos: meta (“mas
alla”), odos (“camino”) y logos (“estudio”), cuyo concepto hace referencia a los meto-
dos de investigacion 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
integracion de las tecnicas de vision estereoscopica e iluminacion estructurada para la
inspeccion de objetos en 3D.
En las secciones siguientes se detallan los pasos propuestos en esta metodologıa y
los resultados que se deberıan esperar en cada etapa.
68
Figura 4.8: Metodologıa para la integracion de las tecnicas de vision estereoscopica eiluminacion estructurada para inpeccion de objetos en 3D.
69
4.3.1. Seleccion de los componentes del sistema
En funcion del ambiente en el que sistema se encontrara operando, la precision
que se busque y el presupuesto del proyecto, se deben seleccionar los componentes
que formaran parte del sistema de vision tridimensional. El equipamiento principal
esta compuesto por los siguientes elementos:
2 Camaras. Se utilizan para la configuracion estereo y no hace falta que sean
identicas, sin embargo es muy recomendable contar con camaras de caracterısticas
similares. Uno de los aspectos importantes en la eleccion de las camaras, tiene
que ver con el formato de comunicacion, cuya discusion se presento en la seccion
3.1.1. La segunda consideracion relevante al momento de elegir las camaras es la
resolucion, que esta involucrada directamente con la precision que se espera que
el sistema ostente, para lo cual se propone la siguiente estimacion sencilla, en la
que se involucra tambien la distancia focal, como parametro de libre eleccion.
Figura 4.9: Seleccion del lente de la resolucion y el lente de la camara.
Fl = 4,65mm D = 200mm SS = 2,4mm
FOV = SS
(D
Fl
)= 2,4
(200
4,65
)FOV = 103,22mm
Resolucion = 640× 480 pixeles
FOVvertical = 103mm
TamanoPixel =103
480= 0,21mm
70
De manera sencilla podemos deducir que mientras mayor sea la resolucion, el
tamano de los pıxeles sera menor y por tanto la precision del sistema mejorara,
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 estos parametros
para maximizar la eficiencia del sistema final.
Proyector de luz estructurada. En virtud de que se pretende simplificar el prob-
lema de correspondencia en el par de imagenes estereo, se recomienda utilizar
un laser de lınea con una potencia de al menos 5mW , y de un color que permi-
ta asimismo sintetizar el preprocesamiento de las imagenes, es decir que ofrezca
suficiente contraste sobre la superficie del objeto bajo analisis.
Software. Este elemento del sistema es de libre eleccion y el proyectista deberıa
optar por la opcion en la que se sienta mas comodo desarrollando, o en su defecto
existen plataformas comerciales que no requieren programacion sino unicamente
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. Comunicacion con camaras de diferentes formatos, y en nuestro caso puntual
por lo menos IEEE 1394.
2. Calcular distancias en el objeto a traves de manipulaciones matriciales y
operaciones matematicas, probablemente esto se desarrollarıa dentro de un
script.
3. Integracion con otros dispositivos, puesto que una aplicacion de vision es
con frecuencia una parte de un sistema de control mucho mas grande.
4.3.2. Configuracion del ambiente de trabajo
Difıcilmente un ingeniero de aplicacion puede elegir la problematica en la que
desea trabajar, y por ende el ambiente de trabajo tampoco. Por tanto, la configuracion
del ambiente de trabajo mas bien se relaciona con los siguientes aspectos:
Ubicacion de los componentes del sistema. En la seccion anterior se detallaron
los componentes mınimos necesarios para la implementacion de una camara 3D.
La disposicion de las camaras 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 vision de las
camaras.
71
2. La ubicacion de las camaras debe favorecer la adquisicion de la geometrıa de
los objetos, por tanto el criterio de emplazamiento de estas 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 laser
paralelas a alguno de los ejes del plano en el que la pieza reposa.
4. Definir la zona en la que el objeto sera ubicado para el analisis, y ası realizar
las pruebas de calibracion en esa area, figura 3.1.
La iluminacion del ambiente preferentemente deberıa ser tenue para una mejor y
mayor distincion del haz de luz sobre la superficie del objeto y el ambiente propia-
mente, sin embargo esta recomendacion esta 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 camaras 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 camaras y el proyector
de luz estructurada.
4.3.3. Desarrollo y pruebas de algoritmos de Pre-procesamiento
de imagenes
No existe un acuerdo general entre autores que especifique en donde termina el
area del procesamiento digital de imagenes y otras areas empiezan, tales como el analisis
de imagenes y vision por computadora. Muchas veces se realiza esta distincion definien-
do al procesamiento digital de imagenes como una disciplina en la cual el ingreso y la
salida del sistema son imagenes [25]. Por otro lado, los campos de vision por computa-
dora pretenden emular la vision 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 proce-
samiento en aplicaciones que involucran imagenes digitales.
Los algoritmos de Pre-procesamiento de imagenes, que tienen como proposito sim-
plificar la informacion del par de imagenes estereo de forma que el resultado de estas
operaciones sea unicamente la lınea laser proyectada sobre la superficie del objeto bajo
prueba, como se ilustra en la figura 4.6, se ubican por tanto en los niveles de proce-
samiento de bajo nivel para el mejoramiento de la imagen y tambien en el nivel de
procesamiento de nivel medio para segmetar la imagen. Para el desarrollo de los algo-
ritmos de preprocesamiento de las imagenes se recomiendan las siguientes tecnicas:
Procesamiento de Bajo Nivel. Necesariamente se debe realizar un ajuste de con-
traste para que el lınea laser proyectada sobre el objeto bajo prueba sea lo que
72
Figura 4.10: Niveles de procesamiento en aplicaciones que involucran imagenes digitales.
mas resalte en la imagen. Adicionalmente, es muy recomendable realizar un en-
mascaramiento de la region de interes (ROI - Region of Interest) a traves de
operaciones logicas.
Procesamiento de Nivel Medio. La idea en este punto es segmentar la imagen
“mejorada” a traves del procesamiento de bajo nivel. Las operaciones recomen-
dadas son principalmente:
• Binarizacion. Con este metodo 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 interes separar la lınea laser proyectada sobre
el objeto.
g (x, y) =
{1 → Ta ≤ f (x, y) ≤ Tb0 → C.C.
(4.1)
El problema esta en encontrar los valores de gris a tomar como umbrales para
aplicar la ecuacion 4.1, por lo que la configuracion del ambiente y la eleccion
de los componentes del sistema seran decisivos en la reduccion del ruido en
la imagen adquirida y permitiran disminuir la complejidad del algoritmo.
• Esqueletizacion. Se pretende reducir a un pıxel de grosor las lıneas laser
capturadas por las camaras para que la busqueda de los puntos de inflexion
73
mas adelante sea mas sencillo.
El resultado del preprocesamiento de las imagenes 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. Validacion de la calibracion del sistema
Uno de los puntos neuralgicos que determinan el desempeno global del sistema
radica en la calibracion de este. Existen varios enfoques para este proposito ([28, 29]),
sin embargo se propone utilizar el metodo estudiado en la seccion 2.4 y ejecutado en la
seccion 3.3. La idea basica 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 calibracion que trabajen bien en
al menos el espacio en el que los objetos bajo prueba se situaran. La literatura formal
[14] menciona que por lo menos se deben utilizar 6 puntos en el espacio con sus corres-
pondientes ubicaciones en las imagenes del par estereo, sin embargo trabajos como los
realizados en [9] utilizan incluso 150 puntos. En la calibracion realizada en este trabajo
de investigacion se utilizaron 34 puntos, obteniendo un resultado relativamente bueno,
considerando la resolucion de las camaras, con precision en las mediciones proxima a
1mm.
La validacion de la calibracion deberıa hacerse cotejando los datos en el espacio
reales del objeto de calibracion, con los estimados por el sistema a traves de las matrices
de calibracion previamente estimadas. En [27] se presenta un amplio analisis sobre el
problema asociado con la calibracion geometrica de las camaras a traves la aplicacion
del diseno de experimentos.
4.3.5. Decodificacion de informacion tridimensional
Una vez que la calibracion del sistema nos ha brindado resultado adecuados, el
siguiente paso consiste en interpretar la informacion que podemos capturar del espacio
a traves del sistema de adquisicion (camaras en configuracion estereo + proyector de
luz estructurada). Considerando que las imagenes a procesar seran parecidas a las que
se ilustra en la figura 4.6, el objetivo ahora sera el de encontrar los puntos de inflexion
de las lıneas laser proyectadas sobre el objeto bajo inspeccion. En virtud de que estos
puntos de inflexion se presentan en las dos imagenes, el problema de correspondencia
de vision estereoscopica queda resuelto y lo que se deberıa hacer a continuacion es
calcular los puntos en el espacio pertenecientes a los puntos de interes que nuestros
algoritmos calculen. En la figura 4.11 se presenta el esquema de lo que el algoritmo de
74
decodificacion 3D en primera instancia deberıa realizar.
Figura 4.11: Decodificacion de puntos de inflexion.
Una vez que los puntos en el espacio han sido estimados, resulta sencillo calcular
distancias utilizando la formula de Euler. En la seccion 3.3.4 se detalla el algoritmo de
decodificacion tridimensional implementado en este trabajo de investigacion.
75
Capıtulo 5
Conclusiones y trabajos futuros
En esta ultima parte de este trabajo se presentan las conclusiones mas relevantes
del proceso de investigacion, algunas reflexiones sobre los resultados, y una breve des-
cripcion de futuras investigaciones y alcances acerca de camaras tridimensionales para
inspeccion en lıneas de manufactura. La seccion 5.1 presenta las conclusiones de la tesis,
y la seccion 5.2 menciona las proximas investigaciones en sistemas de vision 3D.
5.1. Conclusiones
Los resultados presentados a lo largo de esta travesıa investigativa han sido alenta-
dores en el aspecto de aplicaciones potenciales que se podrıan beneficiar de la metodologıa
que se describe en la seccion 4.3, identificandose principalmente las siguientes areas de
oportunidad:
Asistencia y/o decision autonoma en el control de calidad, a traves de inspeccion
sin contacto en lıneas de manufactura.
Clasificacion de productos con geometrıas distintas en lıneas de produccion.
Ingenierıa inversa.
Robotica movil.
Complemento para aplicaciones de realidad aumentada y realidad virtual.
La precision del sistema en la medicion de distancias y estimacion de puntos en
el espacio tiene relacion directa con la resolucion de la camara que se utilice en la apli-
cacion, como se detalla en la seccion 4.3.1. Utilizando una camara con una resolucion
mayor a la utilizada en nuestro proyecto (640 × 480), definitivamente incrementara la
precision en las mediciones y estimacion de los puntos del objeto en el espacio. Existe
sin embargo, la posibilidad de compensar esta limitacion de hardware a traves de una
correcta ubicacion de los elementos del sistema de vision artificial, de forma que por
ejemplo el objeto bajo prueba abarque por completo el campo de vision de la camara
76
(FOV - Field of View). La precision del sistema de vision tambien puede variarse a
traves de la modificacion del lente de la camara, por lo que una camara industrial que
posea la montura C-mount para lentes, podrıa experimentar diferentes precisiones a
traves del reemplazo de un lente por otro de mayor o menor distancia focal. Por tanto,
a traves de la modificacion de la distancia focal, el tamano de los pıxeles en unidades
metricas se vera modificado tambien, por lo que la eleccion y ubicacion de todos los
componentes del sistema debe realizarse de manera cuidadosa.
A pesar de las limitaciones de hardware, restringidas principalmente por el pre-
supuesto del proyecto, la precision alcanzada es aceptable (aproximadamente ≈ ±1 mm),
en la figura 3.19 se ilustra la dispercion del error en la medicion de distancias realizada
sobre el objeto patron y en donde es posible apreciar los lımites dentro de los cuales se
ubica el error. Sin embargo, al utilizar objetos pequenos para el analisis de dimensiones
y puntos en el espacio y ubicaciones fijas para las camaras y el patron de luz estruc-
turada, la precision no fue superior debido a que los objetos ocupaban una pequena
area del FOV.
El haber elegido camaras cuya comunicacion estandar es IEEE 1394, y especifica-
ciones IIDC, garantiza que esta aplicacion pueda adaptarse a camaras con especifica-
ciones mas robustas y de capacidades mayores, de forma que su integracion a aplica-
ciones industriales sea mas sencilla.
Uno de los grandes problemas de vision estereoscopica, que tiene que ver con la
correspondencia de puntos en las imagenes, fue resuelto a traves de la proyeccion de
un patron de iluminacion conocido (una lınea laser) sobre el objeto bajo analisis, sim-
plificando el procesamiento a la busqueda de puntos en las lıneas proyectadas en el par
de imagenes estereo, capturadas por las camaras, 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 imagenes. Este fue el metodo utilizado para
fusionar los tecnicas de vision estereoscopica e iluminacion estructurada.
El tiempo de procesamiento de una lınea laser proyectada sobre el objeto bajo
analisis, con la cual se podrıa medir sin contacto distancias de la pieza, es de 0,25 se-
gundos. 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 medicion sobre una pieza para verificar sus dimensiones en una lınea de pro-
duccion, 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 esta 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 tambien.
La metodologıa de calibracion de las camaras y el haz de luz estructurado no
restringe el uso de camaras identicas, sin embargo se recomienda fuertemente utilizar
por lo menos camaras de caracterısticas similares. La propuesta de calibracion de las
camaras presentada en la seccion 2.4 no demanda el conocimiento de las caracterısti-
cas internas de las camaras como distancia focal, tamano del lente, etc., por lo que
facilmente se pueden utilizar diferentes modelos de camaras.
5.2. Trabajos futuros
Uno de los grandes atractivos de los sistemas de vision tridimensional se encuentra
en las formas en que la informacion capturada y procesada por el sistema es presentada
al usuario. En el presente trabajo de investigacion, el enfoque fue la adquisicion de la
informacion y el desarrollo de una metodologıa principalmente, sin embargo el paso
siguiente que esta investigacion debe dar por su propia inercia, sera la presentacion de
la coleccion de los puntos en el espacio en forma solida a traves de tecnicas de ingenierıa
inversa.
Adicionalmente, y por otro lado, se realizaran esfuerzos por parte de los involu-
crados 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 sonar
con la comercializacion masiva de sistemas de este tipo y/o de servicios a empresas de
manufactura.
78
Apendice A
Algoritmo de calibracion en Matlab
Se presenta a continuacion el codigo implementado en Matlab para la solucion
del ejemplo de la subseccion 2.4.1. Resulta importante destacar que al ser un codigo de
estructura tipo fichero *.m, puede ejecutarse tambien en ambientes como Mathematica,
LabVIEW Mathscript, Mapple, etc.
%************************* - Calculo de posicion 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 imagenes distin- **
%** tas se calculan las matrices de calibracion para cada camara (C1,C2) **
%** y luego se utilizan estas matrices para estimar otro punto en el **
%** espacio tridimensional. **
%******************************************************************************
clc %Limpiar pantalla
clear all %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 Camara 1
IP2(j,:) = M(j,6:7); %Matriz de puntos Camara 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,:)];
%******************************************************************************
%**** - Estimacion de las matrices de calibracion 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];
%******************************************************************************
%************************** - Estimacion 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,:)];
%******************************************************************************
%*********** - Calculo de coordenadas 3D con datos de las camaras - ***********
for j = 1:r
A = [C1(1,1)-C1(3,1)*IP1(j,1) C1(1,2)-C1(3,2)*IP1(j,1) C1(1,3)-C1(3,3)*IP1(j,1);
C1(2,1)-C1(3,1)*IP1(j,2) C1(2,2)-C1(3,2)*IP1(j,2) C1(2,3)-C1(3,3)*IP1(j,2);
C2(1,1)-C2(3,1)*IP2(j,1) C2(1,2)-C2(3,2)*IP2(j,1) C2(1,3)-C2(3,3)*IP2(j,1);
C2(2,1)-C2(3,1)*IP2(j,2) C2(2,2)-C2(3,2)*IP2(j,2) 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
Apendice B
Programacion Basic del microcontrolador
Se presenta a continuacion el codigo implementado en Microcode Studio Plus 4.0.0.0 en
lenguaje Basic para la programacion del archivo de salida hexadecimal que se descarga en un
microcontrolador PIC16F876A que controla el encendido y apagado de laseres conectados en
el puerto B, ademas de controlar el angulo de giro de un servomotor a traves de instrucciones
que recibe de un computador mediante comunicacion 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 angulo de un servomotor a traves del *
’* : incremento/decremento del ancho de pulso, cuya se~nal *
’* : de comando proviene de una PC con comunicacion serial. *
’* : Se permite tambien el encendido y apagado de dos *
’* : laseres conectados al puerto B. *
’*********************************************************************
’******************* - Inicializacion del Sistema - ******************
INCLUDE "modedefs.bas" ’ Librerıa para la comunicacion 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 ’ Pulso de Prueba, sistema Vivo
PAUSE 1000
82
PORTB = 0
for I = 1 to 10 ’ Prueba de generacion PWM
HIGH PORTB.3
PAUSEUS PULSO ’ Pulso define angulo 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 ’ Si Recibe "A"
PORTB = $01 ’ Encender laser 1
ENDIF
IF DATO = 66 THEN ’ Si Recibe "B"
PORTB = $02 ’ Encender laser 2
ENDIF
IF DATO = 67 THEN ’ Si Recibe "C"
PORTB = $00 ’ Apaga todo el puerto B
ENDIF
if DATO = 68 then ’ Si Recibe "D"
for I = 1 to 1
PULSO = PULSO + 1 ’ Incrementar angulo del motor
HIGH PORTB.3
PAUSEUS PULSO
LOW PORTB.3
PAUSE 10
NEXT I
ENDIF
if DATO = 69 then ’ Si Recibe "E"
for I = 1 to 1
PULSO = PULSO - 1 ’ Decrementar angulo del motor
HIGH PORTB.3
PAUSEUS PULSO
LOW PORTB.3
83
PAUSE 10
NEXT I
ENDIF
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] PENIN Luis BARRIENTOS Antonio. Fundamentos de Robotica - Segunda Edicion. Mc
Graw Hill, Espana, 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 al-
gorithm 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 matematicas, CCIR/ITESM,
Mexico, 2009.
[13] Hausler 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 Gunther. – 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 struc-
tured light. Optical Engineering, vol.24, pp. 966-974, 1985.
[18] G. Brockmann H. Baurecht K. Schwenzer-Zimmerer N. A. Papadopulos M. A. Pa-
padopoulos R. Sader E. Biemer L. Kovacs*, A. Zimmermann and H. F. Zeilhofer. Accu-
racy 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 Edicion. Prentice
Hall, Mexico, 1999.
[21] P.; Ofner R. O’Leary, P.; Schalk. Instrumentation and Analysis-Methods for the Measure-
ment 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. Pren-
tice Hall, USA, 2002.
[26] COLLADO Ruben. Adquisicion tridimensional de piezas industriales mediante tecnicas
de luz estructurada. Universidad Politecnica de Madrid, Espana, 2007.
[27] P. Swapna, N. Krouglicof, and R. Gosine. The question of accuracy with geometric cam-
era 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 An-
tiopolis, France, 1992.
[31] Gao Zhi, Zhong Sidong, Zhang Wei, and Zhu Yunyi. A high-precision calibration tech-
nique for laser measurement instrument and stereo vision sensors. In Electronic Mea-
surement and Instruments, 2007. ICEMI ’07. 8th International Conference on, pages
214–217, 2007.
87