101
c Luis Ismael Minchala Avila, 2011

Metodología de integración orientada (1).pdf

Embed Size (px)

Citation preview

c© Luis Ismael Minchala Avila, 2011

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

Apendice B. Programacion Basic del microcontrolador 82

Bibliografıa 85

x

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