58
1 ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN LÁSER PUNTUAL Y UNA CÁMARA DE VÍDEO. AUTOR: Diana Andrea Díaz Gil DIRECTOR: Ing. Francisco Carlos Calderón M.Sc INGENIERÍA ELECTRÓNICA FACULTAD DE INGENIERÍA PONTIFICIA UNIVERSIDAD JAVERIANA BOGOTÁ COLOMBIA

ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

1

ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN LÁSER PUNTUAL Y UNA CÁMARA DE VÍDEO.

AUTOR: Diana Andrea Díaz Gil

DIRECTOR: Ing. Francisco Carlos Calderón M.Sc

INGENIERÍA ELECTRÓNICA FACULTAD DE INGENIERÍA

PONTIFICIA UNIVERSIDAD JAVERIANA BOGOTÁ COLOMBIA

Page 2: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA

CARRERA DE INGENIERIA ELECTRONICA

RECTOR MAGNIFICO: PADRE JOAQUIN EMILIO SANCHEZ GARCIA S.J

DECANO ACADEMICO: ING. JORGE LUIS SANCHEZ

DECANO DEL MEDIO UNIVERSITARIO: PADRE ANTONIO JOSE SARMIENTO

DIRECTOR DE CARRERA: ING. JAIRO ALBERTO HURTADO LONDONO

DIRECTOR DE TRABAJO DE GRADO: ING. FRANCISCO CARLOS CALDERON

Page 3: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

3

NOTA DE ADVERTENCIA

La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado.

Solo velará porque no se publique nada contrario al dogma y la moral católica y porque los trabajos no contengan ataques o polémicas puramente personales. Antes bien, que se vea en

ellos el anhelo de buscar la verdad y la justicia

Artículo 23 de la Resolución No. 13, del 6 de julio de 1946, por la cual se reglamenta lo concerniente a Tesis y Exámenes de Grado en la Pontificia Universidad Javeriana

Page 4: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

4

AGRADECIMIENTOS Primero le doy gracias a Dios por haberme acompañado a lo largo de mi carrera y haberme ayudado a llegar hasta aquí. Agradezco de manera muy especial a mi director de tesis, Ingeniero Francisco Calderón, por toda su dedicación, paciencia y enseñanzas durante el desarrollo de la tesis. También agradezco a toda mi familia; a mis papas y mi hermana por su apoyo incondicional.

Page 5: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

1

CONTENIDO ÍNDICE GENERAL. ......................................................................................................................................

ÍNDICE DE FIGURAS. ............................................................................................................................... 2

ÍNDICE DE TABLAS. ................................................................................................................................ 3

1. INTRODUCCIÓN .................................................................................................................................... 4

2.MARCO TEÓRICO. ................................................................................................................................. 5

2.1 CALIBRACIÓN CÁMARA ........................................................................................................ 5

2.2 OPENCV. ..................................................................................................................................... 9

2.3 ARDUINO. ................................................................................................................................ 10

3.OBJETIVOS............................................................................................................................................. 11

3.1 OBJETIVO GENERAL. .................................................................................................................. 11

3.2 OBJETIVOS ESPECIFICOS. ........................................................................................................... 11

4.ESPECIFICACIONES ............................................................................................................................ 12

5.DESARROLLO ...................................................................................................................................... 15

5.1 CONTROL (ON/OFF) SINCRONA DEL LÁSER. ......................................................................... 15

5.2 DETECCIÓN DEL LÁSER. ........................................................................................................... 16

5.3 ESTIMACIÓN DE DISTANCIAS. ................................................................................................. 24

6.ANALISIS DE RESULTADOS .............................................................................................................. 32

6.1 PRIMERA TOMA: ÁNGULO DE 90 GRADOS. ..................................................................... 32

6.2 SEGUNDA TOMA: PARA ÁNGULO DE 70 ................................................................................ 41

6.3 TERCERA TOMA: PARA ÁNGULO DE 56 GRADOS ................................................................. 46

7.CONCLUSIONES .................................................................................................................................. 53

BIBLIOGRAFÍA .................................................................................................................................... 56

ANEXOS ....................................................................................................................................................

Page 6: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

ÍNDICE DE FIGURAS Figura 1 Patrón de tablero de ajedrez en múltiples posiciones y orientaciones. ........................................ 5 Figura 2 Modelo de cámara Pinhole ........................................................................................................... 6 Figura 3 Modelo de cámara Reorganizado. ................................................................................................. 6 Figura 4 Distorsión Radial - Efecto Ojo de pez .......................................................................................... 8 Figura 5 Coordenadas De La Cámara y Coordenadas Del Objeto para matriz de rotación y traslación Tomado del libro Learning OpenCV Computer Vision with the OpenCV. ................................................. 8 Figura 6 Estructura OpenCv – Tomado Intel Open Source Computer Vision[4] ....................................... 9 Figura 7 Microcontrolador Arduino .......................................................................................................... 10 Figura 8 Montaje Cámara - Láser .............................................................................................................. 12 Figura 9 Diagrama en bloques del proceso. .............................................................................................. 13 Figura 10 Diagrama en bloques del algoritmo Detección del punto. ........................................................ 14 Figura 11 Diagrama de flujo del Programa de Arduino ........................................................................... 15 Figura 12 Diagrama de flujo del algoritmo de detección del punto. ......................................................... 16 Figura 13 Etapa de captura del algoritmo de detección del punto láser. ................................................... 17 Figura 14 Etapa de procesamiento del algoritmo de detección del punto láser......................................... 17 Figura 15 Etapa de procesamiento del algoritmo del punto laser – Resta de imágenes. ........................... 18 Figura 16 Etapa de proc. del algoritmo de detección del punto láser - División en canales RGB. ........... 18 Figura 17 Etapa de procesamiento del algoritmo de detección del punto láser - Binarización ................. 18 Figura 18 Pruebas del Algoritmo de Detección En GIMP ........................................................................ 20 Figura 19 Análisis de la segmentación en color del algoritmo de detección del punto ............................. 21 Figura 20 Análisis de la segmentación sobre texturas. .............................................................................. 22 Figura 21 Imágenes Análisis de la segmentación con iluminación escasa. ............................................... 22 Figura 22 Imágenes Análisis de la segmentación con iluminación excesiva. .......................................... 23 Figura 23 Trackbar - Barra de seguimiento de objetos. ............................................................................. 23 Figura 25 Método de calibración del sistema cámara láser ....................................................................... 25 Figura 24 Sistema Cámara-Láser vista superior ........................................................................................ 24 Figura 26 Diagrama en Bloques del Algoritmo de calibración ................................................................. 27 Figura 27 Prueba manual de las coordenadas reales del pto Láser ........................................................... 28 Figura 28 Modelo calibración con respecto a la ecuación recta láser........................................................ 29 Figura 29 Modelo cámara- Láser para encontrar z, que relacione los parámetros D y ángulo. ................ 30 Figura 30 Diagrama en bloques del algoritmo de estimación de distancias .............................................. 31 Figura 31 Resolución en las medidas en angulos pequeños ...................................................................... 52 Figura 32 Resolución en las medidas en ángulos grandes......................................................................... 56 Figura 33 Pixeles vs Dsitancias estimadas en angulos de 90 grados. ........................................................ 56 Figura 34 Patrón de calibración de ajedrez. .............................................................................................. 57

Page 7: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

3

INDICE DE TABLAS. Tabla 1 Datos Represión recta láser a Distancia1=5.3 cm ......................................................................... 31 Tabla 2 Datos Represión recta láser a Distancia1=6.3 cm ......................................................................... 31 Tabla 3 Datos Represión recta láser a Distancia 3=7.3 cm ........................................................................ 31 Tabla 4 Datos Represión recta láser a Distancia4=8.3 cm ......................................................................... 31 Tabla 5 Datos Reresion recta láser a Distancia5=9.3 cm ........................................................................... 31

Tabla 6 Distancia estimada a Distancia 1 de 5.3 cm .................................................................................. 31

Tabla 7 Distancia estimada a Distancia 2 de 6.3 cm .................................................................................. 32

Tabla 8 Distancia estimada a Distancia 3 de 7.3 cm .................................................................................. 32 Tabla 9 Distancia estimada a Distancia 4 de 8.3 cm .................................................................................. 32 Tabla 10 Distancia estimada a Distancia 5 de 9.3 cm ................................................................................ 32 Tabla 11 Datos Represión recta láser a Distancia 1=5.3 cm ....................................................................... 32 Tabla 12 Datos Represión recta láser a Distancia 2=6.3 cm ...................................................................... 32 Tabla 13 Datos Represión recta láser a Distancia 4=7.3 cm ...................................................................... 32 Tabla 14 Datos Represión recta láser a Distancia 4=8.3 cm ...................................................................... 34 Tabla 15 Datos Represión recta láser a Distancia 5=9.3 cm ...................................................................... 34 Tabla 16 Distancia estimada a Distancia 1 de 5.3 cm ................................................................................ 34 Tabla 17 Distancia estimada a Distancia 2 de 6.3 cm ................................................................................ 34 Tabla 18 Distancia estimada a Distancia 3 de 7.3 cm ................................................................................ 34 Tabla 19 Distancia estimada a Distancia 4 de 8.3 cm ................................................................................ 34 Tabla 20 Datos Represión recta láser a Distancia 5=9.3 cm ...................................................................... 35 Tabla 21 Datos Represión recta láser a Distancia 4=8.3 cm ...................................................................... 35 Tabla 22 Datos Represión recta láser a Distancia 3=7.3 cm ...................................................................... 35 Tabla 23 Datos Represión recta láser a Distancia 2=6.3 cm ...................................................................... 41 Tabla 24 Distancia estimada a Distancia 5 de 9.3 cm ................................................................................ 41 Tabla 25 Distancia estimada a Distancia 4 de 8.3 cm ................................................................................ 41 Tabla 26 Distancia estimada a Distancia 3 de 7.3 cm ................................................................................ 42

Page 8: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

4

CAPÍTULO 1

INTRODUCCIÓN

El presente trabajo es un desarrollado de un algoritmo en lenguaje C usando las librerías de OpenCV, el cual permita determinar la distancia absoluta a la que se encuentra una zona puntual iluminada, utilizando un láser y una cámara como sensor de captura, estáticos, para posteriores implementaciones en el área de robótica dentro del grupo de investigación SIRP (Sistemás Inteligentes, Robótica y percepción) de la Pontificia Universidad Javeriana1. Específicamente para generar una herramienta para su uso en la robótica, con la posible aplicación futura de servir como base para algoritmos de auto calibración de arreglos estéreo o de configuraciones más complejas de más de dos cámaras. Existen diferentes maneras de medir la distancia desde un sensor visual, a un objeto en específico visto en escena; la primera consiste en saber de antemano el tamaño del objeto X, y despejar, la distancia llamada “Z” que existe entre el sensor de captura y el objeto; directamente de los modelos establecidos matemáticamente, teniendo conocidos la distancia focal para cada eje, y el centro calibrado de la cámara. Otra manera de conocer la distancia a un objeto consiste en determinar el foco de la cámara al enfocar un objeto en específico y despejar de la óptica del lente. Los dos métodos anteriores se valen de una sola cámara y de parámetros conocidos para despejar del modelo de la cámara la distancia a un objeto. Una tercera técnica consiste en usar una segunda cámara y ubicarla en un punto conocido, por lo general con un campo de visión paralelo y a una distancia conocida para realizar una triangulación del objeto, esto se conoce como emparejamiento estéreo. Este proyecto cae en este último tipo de medición de distancia, ya que se posee un arreglo cámara láser, en el que es posible determinar no la distancia a un objeto sino la distancia a un punto, ya que no se cuenta con múltiples representaciones como las dadas por una segunda cámara, sino con un marcador que sería el punto láser, que cuenta con una geometría conocida, por lo que es posible despejar la distancia a un punto iluminado a partir de una sola imagen, conociendo la distancia entre la cámara y el Láser D, el ángulo de inclinación del láser y el punto proyectado en la imagen.

1 Systems, Intelligence, Robotics and Percerption, “Grupo SIRP”, Systems, Intelligence, Robotics and Percerption

Page 9: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

5

CAPÍTULO 2

MARCO TEÓRICO.

2.1 CALIBRACIÓN CÁMARA

La calibración es el proceso que analiza cómo una cámara proyecta un objeto real en el plano de la cámara para así poder extraer información y algunas propiedades de la imagen conocida, para determinar los parámetros libres de la cámara recurriendo a modelos matemáticos para resolver las ecuaciones e incógnitas generadas en el proceso. Así mismo se extrae información que se quiere eliminar sobre la distorsión debido a la lente y a los defectos de fabricación. Típicamente se usa un patrón de tablero de ajedrez en un plano para generar esta correspondencia de puntos del objeto real en 3D a puntos en 2D de la imagen capturada. Como los puntos pertenecen a una configuración conocida, se establecen las variables que ayudan a dar solución a los parámetros mencionados anteriormente con ayuda de otras ecuaciones que serán explicadas en la siguiente sección. En la Figura 1 se ve el patrón en diferentes posiciones y orientaciones:

Figura 1 Patrón de tablero de ajedrez en múltiples posiciones y orientaciones.

2.1.1 MODELO DE LA CÁMARA “PINHOLE”

El modelo de la cámara “Pinhole” describe este tipo de correspondencia de 3D a 2D de manera matemática, realizando una relación de triángulos semejantes. Tomando como referencia el modelo más sencillo de una cámara, el cual describe la correspondencia de los puntos 3D a 2D que hace el proceso de calibración de manera matemática; llamado “modelo Pinhole”. El cual se muestra en la Figura 2:

Page 10: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

6

Utilizando semejanza entre triángulos se tiene: ���� = �

� [1]

Donde: o Fx: Es la longitud focal de la cámara. o Z : Es la distancia de la cámara al objeto. o X: Es la longitud del objeto. o x: Es la imagen del objeto en el plano de la imagen.

Ahora, de acuerdo con Bradsky y Kaehler2, reorganizando los parámetros de la escena del modelo “pinhole” (y haciendo que el objeto real aparezca en al lado derecho), la geometría del sistema se vuelve más fácil de analizar, porque el punto en la intersección del plano de la imagen y el eje óptico es ahora el punto principal de nuestro sistema como lo muestra la Figura 3.

Figura 3 Modelo de cámara Reorganizado.

Luego del modelo anterior se deriva que un punto en el mundo físico Q con coordenadas X,Y,Z, es proyectado en la pantalla de acuerdo a las siguientes ecuaciones:

2 G. Bradski and A. Kaehler, Learning OpenCV Computer Vision with the OpenCV Library. O'Reilly,2008. Pag124.

Figura 2 Modelo de cámara Pinhole

Z

X

Plano Plano

x

Fx

f

Eje Óptico

Q(X,Y, Z)

Page 11: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

7

������ = �� ���� + �� [2]

������� = �� ���� + �� [3]

Donde: �������: Es la coordenada del punto x en la pantalla. f : Distancia focal de la cámara en X. c : Desplazamiento en X del centro de proyección de la pantalla. "������: Es la coordenada del punto y en la pantalla. f#: Distancia focal de la cámara en Y. c#: Desplazamiento en Y del centro de proyección de la pantalla.

En este modelo se introducen dos longitudes focales diferentes al modelo “Pinhole”, porque la medida de los pixeles en una cámara no son iguales para todos los dispositivos, estos dependen de varias características que la conforman, pero principalmente depende de la resolución de las imágenes captadas, es decir depende del número de puntos por pulgada que el sensor de la cámara es capaz de capturar del objeto escaneado. En cámara típica de bajo costo los pixeles son rectangulares en vez de cuadrados mientras que en cámaras con mayor resolución los pixeles tenderán a ser más cuadrados y la relación de pixeles por medida tomada será mucho más acertada. Ahora bien, con las ecuaciones [1], [2] y [3] se definen los parámetros que definen la geometría interna y la óptica de la cámara, llamados parámetros intrínsecos. Cabe decir que estos parámetros son constantes mientras no se varíen las características y posiciones relativas entre la óptica y el sensor imagen. Por lo tanto la proyección de los puntos en el mundo físico Q con coordenadas X, Y, Z en el plano focal q con coordenadas x, y, z se resumen en una matriz q de 3x3 llamada M, de la siguiente manera: $ = %&

Donde :

% = '(� 0 *�0 (" *"0 0 1 ,, $ = -�"./ y Q= '012, Hasta aquí se definieron las parámetros intrínsecos de la cámara, los cuales se ocupan de la geometría interna de la cámara, ahora como se mencionó al principio del capítulo la calibración de una cámara también desea eliminar las distorsiones de la cámara dadas debido a la lente las cuales se dan principalmente por razones de fabricación.

o DISTORSIÓN RADIAL. Surge como resultado de la forma de la lente, lo cual hace que se distorsione la ubicación de píxeles cerca de los bordes de la imagen, generando un fenómeno de “abultamiento” o de efecto "ojo de pez" como se muestra en la Figura 4:

Page 12: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

8

Figura 4 Distorsión Radial - Efecto Ojo de pez

Los rayos más lejos del centro de la lente se doblan más que los del centro de la imagen, es decir que la distorsión es 0 en el centro óptico de la cámara y aumenta a medida que se avanza hacia la periferia. Esta distorsión es pequeña y puede ser caracterizada por los primeros términos de la expansión de la serie de Taylor al rededor de r=0. En donde el primer término se llama convencionalmente k1 y la segundo k2 para cámaras de baja resolución mientras que para cámaras altamente distorsionadas tales como lentes de ojo de pez se utiliza un tercer término, k3. Por lo tanto la ubicación radial de un punto en la imagen será re - escalizado de acuerdo a las ecuaciones:

3�4����5�6 = �(8 +98:; +9;:< +9=:>) [4]

��4����5�6 = �(8 +98:; +9;:< +9=:>) [5]

Donde x,y es la ubicación original de los puntos distorsionados y (x corrected , y corrected) es la nueva ubicación como el resultado de la corrección.

o DISTORSION TANGENCIAL

Surge debido a los defectos de fabricación de la lente como a su mismo proceso de ensamblaje sobre la cámara, al no quedar totalmente paralelo a al plano imagen. Utilizando la ecuación anterior se deben agregar dos parámetros para caracterizarla:

3�4����5�6 = �+ (;@8�+@;(:; + ;�;) [ 6]

��4����5�6 = �+ (@8(:; + ;�;)+;@;�) [ 7 ]

Finalmente para terminar el proceso de calibración se determinar el vector de traslación y la matriz de rotación para cada imagen que la cámara toma de un objeto particular como lo muestra la Figura 5.

Figura 5 Coordenadas De La Cámara y Coordenadas Del Objeto para matriz de rotación y traslación3

3 G. Bradski and A. Kaehler, Learning OpenCV Computer Vision with the OpenCV Library. O'Reilly,2008. Pag 124

Page 13: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

9

Lo cual se hace hallando un punto del mundo real (Po) en la cámara (Pc), de tal manera que dicha relación está dada por: A� = B(A� − D) [ 8 ]

En conclusión para la calibración se tienen 4 parámetros intrínsecos (fx; fy; cx; cy) y 5 parámetros de distorsión: que se dividen en 3 radiales (k1; k2; k3) y 2 tangenciales (p1; p2), estos últimos son agrupados en el vector de distorsión que contiene k1; k2; p1; p2 y k3, el vector de translación (T) y la matriz de rotación (R).

2.2 OPENCV. OpenCV (Open Source Computer Vision) es una librería de funciones de programación para visión por computador en tiempo real. La librera tiene más de 500 algoritmos optimizados. Se usan en todo el mundo, tiene más de dos millones de descargas y más de cuarenta mil personas en el grupo de usuarios. Es usado en campos tan variados como el arte interactivo, inspección de minas y robótica avanzada. Las metas iniciales para OpenCV eran, entre otras, mejorar la calidad de investigación en visión avanzada al brindar códigos libres y optimizados para la infraestructura de visión básica de tal manera que se permita el desarrollo de más y mejores herramientas con base en las ya existentes.4

OpenCV es una colección de funciones en C y algunas clases de C++ que implementan varios algoritmos populares de procesamiento de imágenes y visión por computador. En términos generales, OpenCV brinda una amplia plataforma a un API de alto nivel que incluye cerca de 300 funciones en C y unas pocas clases en C++. Además constantemente se mejoran los vínculos Python para OpenCV; _este no tiene dependencias de librerías externas, aunque puede usar algunas (como libjpeg, _mpeg, GTK+ etc.) cuando sea posible.5 . Este lenguaje se estructura en cinco componentes principales, cuatro de los cuales se muestran en la siguiente Figura 6.

Figura 6 Estructura OpenCv – Tomado Intel Open Source Computer Vision6

Donde CV es el componente que contiene el procesamiento de imagen básico y los algoritmos de visión computarizados de más alto nivel. MLL es la máquina de aprendizaje de librerías, la cual incluye varios clasificadores estadísticos y herramientas de clustering. El HighGUI contiene rutinas I/O y funciones para almacenar y cargar videos e imágenes. CXCore contiene las estructuras de datos básicos y el contenido.

4 Intel Open Source Computer Vision Library. [Online]. Available: http://opencv.jp/opencv-1.0.0 org/docs/index.htm

5 Intel Open Source Computer Vision Library. [Online]. Available: http://opencv.jp/opencv-1.0.0 org/docs/index.htm

6 G. Bradski and A. Kaehler. Learning OpenCV. [Online]. Available: http://learningopencv.wordpress.com/2010/05/23.

Page 14: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

10

Otro componente es el CvAux que contiene _áreas extintas (reconocimiento facial integrado) y algoritmos experimentales (segmentación de fondo y primer plano)7 Algunos de estos algoritmos ofrecidos por esta gran librería son utilizados en el presente proyecto para el procesamiento de imágenes. Arduino es una placa con un micro controlador y un entorno de desarrollo, diseñado para facilitar el uso de la electrónica en proyectos multidisciplinares, como se aprecia en la Figura 7.

Es una plataforma de creación de prototipos electrónicos de código abierto basado en flexibilidad, hardware y software fácil de usar. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en la creación de objetos o entornos interactivos. Este micro controlador puede detectar el medio ambiente mediante la recepción de aportes de una variedad de sensores y puede afectar Arduino puede a su entorno por las luces de control, motores y otros actuadores. Este se programa utilizando el lenguaje de programación Arduino (basado enWiring ) y el entorno de desarrollo Arduino.8

Figura 7 Micro controlador Arduino

Este micro controlador es empleado en el presente trabajo para facilitar el manejo síncrono del laser en el montaje de estimación de distancias absolutas. Este hace un cambio de estado ON, OFF continuo para que se pueda realizar una captura de imágenes con el láser y sin él, para así cumplir el objetivo que es la medición de las distancias deseadas. 7 Arduino Uno, [Online]. Available: http://www.arduino.cc

8 Arduino Uno, [Online]. Available: http://www.arduino/especificaciones.cc

Page 15: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

11

CAPÍTULO 3

OBJETIVOS

3.1 OBJETIVO GENERAL. Implementar un algoritmo empleando técnicas de visión por computador que permita estimar la distancia entre un punto estático iluminado por un láser puntual fijo y un arreglo cámara láser.

3.2 OBJETIVOS ESPECIFICOS.

• Implementar un algoritmo de detección del láser puntual en la imagen capturada.

• Implementar una técnica de calibración para el sistema cámara láser.

• Implementar un sistema de estimación de distancias puntuales a objetos usando una cámara y un láser.

• Evaluar las condiciones de operación y precisión en la medición de distancias del sistema

implementado.

Page 16: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

12

CAPÍTULO 4

ESPECIFICACIONES

Características de los sensores empleados. El sistema de visión cámara – Láser diseñado que permite estimar distancias a objetos en forma precisa, consta de sensor visual con las siguientes características: Cámara Logictech HD modelo C615, la cual es utilizada con las siguientes condiciones: Enfoque: Automático Resolución: 480x640 pixeles Velocidad de obturación: 15 cuadros por segundo. Modo de conexión: Hi-Speed USB Y un láser rojo HD-15 de 5 milímetros de diámetro, funciona en un rango de 5 a 15 voltios con alcance de 3 metros.

Características del montaje. Este arreglo se dispone sobre una plataforma fija e inmóvil formada por una platina metálica ajustable hasta 15 centímetros de largo que permita cubrir un rango de medidas estimado para la realización de pruebas. La platina cuenta con orificios, separados entre sí por una distancia de 1 cm en los que se puede desplazar el láser tanto en distancia como en la orientación angular que se desee calcular. El láser podrá cambiar de ángulo con relación a plano origen en el que se encuentra ensamblado el sistema. La cámara y el Láser se encuentran totalmente paralelos al eje x.

Figura 8 Montaje Cámara - Láser

Orificios De Desplazamiento Del

Láser Láser

Orificio Soporte Trípode

Soporte que permite la orientación angular del láser

Page 17: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

De este sistema dependerá la precisión de lacada parámetro físico del sistema se obtendrán resultados con errores mínimos con respecto a los datos reales. El arreglo cámara-laser utilizado emplea la de dos imágenes, una con el laser en ella y otra en la que el laser no se vea para posteriormente bajo el procesamiento de imágenes se pueda hacer la estimación al punto iluminado por el laser. DESCRIPCIÓN DEL SISTEMA TOTAL. Ahora bien, el sistema implementado consta de dos algoritmos principales, uno basado en la detección del punto láser sobre las imágenes capturadas y el otro basado en la estimación de distancias a un punto iluminado por un láser. El proceso general que tdiagrama de bloques mostrado en la

Figura

El módulo de detección del punto

algoritmo captura las imágenes requeridas y aplica un filtro seguido por una segmentación, de tal manera que se encuentran las coordenadas físicas del láser.

13

De este sistema dependerá la precisión de las medidas, debido a que de la regulación que se haga sobre cada parámetro físico del sistema se obtendrán resultados con errores mínimos con respecto a los datos

laser utilizado emplea el micro controlador Aruino para prender y ala de dos imágenes, una con el laser en ella y otra en la que el laser no se vea para posteriormente bajo el procesamiento de imágenes se pueda hacer la estimación al punto iluminado por el laser.

DESCRIPCIÓN DEL SISTEMA TOTAL.

bien, el sistema implementado consta de dos algoritmos principales, uno basado en la detección del punto láser sobre las imágenes capturadas y el otro basado en la estimación de distancias a un punto

El proceso general que tiene el sistema implementado se plantea en el siguiente mostrado en la Figura 9.

Figura 9 Diagrama en bloques del proceso.

dulo de detección del punto Láser funciona como se observa en forma general en la algoritmo captura las imágenes requeridas y este algoritmo captura dos imágenaplica un filtro seguido por una segmentación, de tal manera que se encuentran las coordenadas físicas del

s medidas, debido a que de la regulación que se haga sobre cada parámetro físico del sistema se obtendrán resultados con errores mínimos con respecto a los datos

el micro controlador Aruino para prender y apagar el laser para la de dos imágenes, una con el laser en ella y otra en la que el laser no se vea para posteriormente bajo el procesamiento de imágenes se pueda hacer la estimación al punto iluminado por el laser.

bien, el sistema implementado consta de dos algoritmos principales, uno basado en la detección del punto láser sobre las imágenes capturadas y el otro basado en la estimación de distancias a un punto

iene el sistema implementado se plantea en el siguiente

funciona como se observa en forma general en la Figura 10. Este este algoritmo captura dos imágenes, sobre las cuales se

aplica un filtro seguido por una segmentación, de tal manera que se encuentran las coordenadas físicas del

Page 18: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

El módulo de estimación de distancias

• PRIMERA FASE: Es una fase de

sistema estático cámara – láserdel sistema. La calibración consiste en hacer una regresión a los valores físicos del sistema, como las distancias entre componentes y a coordenadas físicas de la ubicación del punto láser a partir de mediciones hechas con objetos prueba de dimensiones conocidas.

• SEGUNDA FASE: Se refiere a la estimación de distancias puntuales a objetos usando el arreglo cámara - láser antes propuesto en la objetos sino la distancia al punto marcado por el láser implementado. Este modelo busca analizar que tan solo conociendo la distancia entre la cámara y el láser llamada “D” y el ángulo de inclinación del láser “θ”, se pueda saber la distancia a la que se encuentran el punto láser proyectado sobre diferentes escenarios.

El alcance de las distancias estimadas en el sistema propuesto fue de un mínimo de 10 cm (menores no pueden ser calculadas) calculadas con precisión máximaorientación con el cual esté dispuesto el laser empleado en el sistema.

Figura 10 Diagrama en bloques del algoritmo Detección del punto.

CARACTERISTICAS ALGORITMICAS:

La complejidad computacional de este algoritmo teniendo en cuenta la cantidad de que se trabaje, por lo tanto para elprocesos de suavizado. En donde su complejidad

Donde:

E = %�FG = H�I → KLEL

Por lo tanto el cálculo de la complejidad computacional esta dada:

14

estimación de distancias lo conforman dos fases:

PRIMERA FASE: Es una fase de implementación de una técnica de calibración geométrica para el láser que corrija las posibles fallas en la medición de los parámetros físicos

del sistema. La calibración consiste en hacer una regresión a los valores físicos del sistema, como las tancias entre componentes y a coordenadas físicas de la ubicación del punto láser a partir de

mediciones hechas con objetos prueba de dimensiones conocidas.

SEGUNDA FASE: Se refiere a la estimación de distancias puntuales a objetos usando el arreglo láser antes propuesto en la Figura 8, en el que es posible determinar no la distancia a los

objetos sino la distancia al punto marcado por el láser implementado. Este modelo busca analizar que onociendo la distancia entre la cámara y el láser llamada “D” y el ángulo de inclinación del

”, se pueda saber la distancia a la que se encuentran el punto láser proyectado sobre diferentes

El alcance de las distancias estimadas en el sistema propuesto fue de un mínimo de 10 cm (calculadas) y un máximo de 120 cm (Distancias mayores no puede ser

máxima). Estas medidas se ven influenciadas directamente sobre el dispuesto el laser empleado en el sistema.

Diagrama en bloques del algoritmo Detección del punto.

CARACTERISTICAS ALGORITMICAS: COMPLEJIDAD COMPUTACIONAL

La complejidad computacional de este algoritmo teniendo en cuenta la cantidad de que se trabaje, por lo tanto para el algoritmo se trabajó sobre dos procesos fundamentales que fueron los

En donde su complejidad está dada de la siguiente manera:

* = M(E�G)

%�F → FúEOPQROSTULV�FúEOPQRO*QUWEGLVKLELñQROULYOGZLGLROUL[QGYQUW[TóGPOLUT.LRL

de la complejidad computacional esta dada:

[ = 2�(640�480�3�3)[ = 5.529.600

técnica de calibración geométrica para el posibles fallas en la medición de los parámetros físicos

del sistema. La calibración consiste en hacer una regresión a los valores físicos del sistema, como las tancias entre componentes y a coordenadas físicas de la ubicación del punto láser a partir de

SEGUNDA FASE: Se refiere a la estimación de distancias puntuales a objetos usando el arreglo , en el que es posible determinar no la distancia a los

objetos sino la distancia al punto marcado por el láser implementado. Este modelo busca analizar que onociendo la distancia entre la cámara y el láser llamada “D” y el ángulo de inclinación del

”, se pueda saber la distancia a la que se encuentran el punto láser proyectado sobre diferentes

El alcance de las distancias estimadas en el sistema propuesto fue de un mínimo de 10 cm (Distancias m (Distancias mayores no puede ser

). Estas medidas se ven influenciadas directamente sobre el ángulo de

Diagrama en bloques del algoritmo Detección del punto.

COMPLEJIDAD COMPUTACIONAL

La complejidad computacional de este algoritmo teniendo en cuenta la cantidad de multiplicaciones con algoritmo se trabajó sobre dos procesos fundamentales que fueron los

dada de la siguiente manera:

*QUWEGLV

POLUT.LRL.

Page 19: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

15

CAPÍTULO 5

DESARROLLO

5.1 CONTROL (ON/OFF) SINCRONA DEL LÁSER. Para que el sistema implementado funcione, se incluye un proceso contempla la comunicación serial entre los puertos del micro controlador ARDUINO y OpenCv para prender y apagar el láser a una velocidad que pueda ser apreciada por la cámara sin tener complicaciones de retardos con los otros dos algoritmos del proyecto. El algoritmo implementado en la placa ARDUINO controla el prendido y apagado de láser hasta que reciba el comando de cierre de Open CV, que cierra la ejecución del programa. El diagrama de bloques muestrado en la Figura 11, explica el funcionamiento del algoritmo.

Figura 11 Diagrama de flujo del Programa de Arduino

Page 20: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

16

5.2 DETECCIÓN DEL LÁSER. El algoritmo de detección del punto láser implementado trabaja como se muestra en el diagrama de flujo, mostrado en la Figura 12.

Figura 12 Diagrama de flujo del algoritmo de detección del punto.

Page 21: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

17

En forma detallada el algoritmo de “detección del punto laser” hace una comunicación serial con el Arduino para cambiar de estado el laser, y ponerlo en intermitencia como se aprecia en la figura 11, para poder captura las dos imágenes necesarias, una, con el punto láser reflejado en ella y otra imagen sin el punto láser para posteriormente procesarlas, como se muestra en la siguiente Figura 13.

Figura 13 Etapa de captura del algoritmo de detección del punto láser.

Luego se procede a utilizar funciones de filtrado de imágenes, para suavizar la imagen resultante y reducir el ruido que se pueda producir posiblemente por la sensibilidad del sensor de captura en el momento de la toma, o por la mismás operaciones que se realicen sobre las imágenes. La función que se implemento para suavizar la imagen es:

void cvSmooth ( const CvArr* src, CvArr* dst, int smoothtype=CV_GAUSSIAN,

int param1=3, int param2=0, double param3=0, doubleparam4=0)

Donde: src - La imagen de origen dst - La imagen de destino smoothtype - Tipo de suavizado: CV_GAUSSIAN. Realiza una convolución lineal entre el param1xparam2. param1 – Es el primer parámetro de la operación de suavizado, la anchura de la abertura. Debe ser un número impar positivo (1, 3, 5, ...) param2 – Es el segundo parámetro de la operación de suavizado, la altura de la abertura. param3 – Es el tercer parámetro se puede especificar la desviación gaussiana.

Obteniendo los siguientes resultados mostrados en la Figura 14.

Figura 14 Etapa de procesamiento del algoritmo de detección del punto láser

Page 22: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

18

Después se procede a hacer una resta sobre las imágenes que nos arroje el punto más evidente entre las imágenes que es el laser. Como se muestra en la Figura 15.

Figura 15 Etapa de procesamiento del algoritmo del punto laser – Resta de imágenes.

Posteriormente se divide la imagen resultante en los tres canales para determinar en cuál de ellos se observa con mayor claridad el láser; de acuerdo a esto se tiene que el canal rojo entrega los mejores resultados como los apreciados en la Figura 16.

Figura 16 Etapa de procesamiento del algoritmo de detección del punto láser - División en canales RGB.

Ahora bien, se quiere obtener una imagen donde se tenga el láser en un color y el resto de la imagen en otro, por ende se necesita umbralizar la imagen de tal manera que se obtenga una imagen binaria, donde el punto del láser quedaría en blanco y el resto en negro como se muestra en la Figura 17.

Figura 17 Etapa de procesamiento del algoritmo de detección del punto láser - Binarización

La función utilizada para la umbralizacion fue: Double cvThreshold ( const CvArr * src , CvArr * dst , doble umbral , doble maxValue , int thresholdType ).

Page 23: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

19

Donde:

Src- arreglo de origen (de un solo canal, 8bits) dst - matriz de destino; debe ser del mismo tipo que el original o 8 bits Umbral - Valor Umbral maxValue - Valor máximo de usar con CV_THRESH_BINARY thresholdType - tipo de umbral

Con la imagen binaria se tienen estructuras que no corresponden al láser, por lo cual se extraen todos los contornos que hay, para esto se utiliza la función cvFindContorus. int cvFindContours (

CvArr * imagen

CvMemStorage* almacenamiento

CvSeq ** first_contour int header_size=sizeof(CvContour) int mode=CV_RETR_LIST

mint method=CV_CHAIN_APPROX_SIMPLE

CvPoint offset=cvPoint(0,0)) Donde:

• imagen es la imagen que se quiere procesar, y debe ser de un solo canal. • CvMemStorage* almacenamiento, Donde se guardara lo que retorne la función. • first_contour - Parámetro de salida, contendrá el puntero al primer contorno exterior. • header_size - Tamaño que tendrá el area de comparación con los contornos de secuencia, si es

menor al area establecida es ruido y se descarta. • CV_CHAIN_APPROX_SIMPLE comprime los segmentos horizontales, verticales y diagonales, y

deja sólo los puntos finales Esta función retorna los rectángulos contenedores de las estructuras presentes en la imagen, por lo que se realiza un filtro de área sobre todos los contornos, y se busca el rectángulo que tenga mayor área, puesto que este va a contener el punto del láser; finalmente para determinar las coordenadas del láser se utiliza el centro del rectángulo contenedor. Este módulo cuenta con una fase anexa que trabaja con el micro controlador Arduino; que básicamente lo que hace una comunicación serial entre los dos sistemás. El programa grabado en el micro controlador abre los puertos del sistema y en el momento en que OpenCv le pida que prenda y apague el láser. El programa implementado en Open CV, utiliza la librería: "com/serial.h". Cada vez que el algoritmo de detección del punto láser es ejecutado abre los puertos mandando hacia el micro controlador un comando que le ordena que inicie el programa y lo mantenga así, hasta el momento en que reciba la orden de terminación del programa como se observa en la Figura 12.

5.2 PROTOCOLO DE PRUEBAS DEL ALGORITMO DE DETECCIÓN DEL PUNTO LÁSER SOBRE LAS IMÁGENES CAPTURADAS.

Es necesario fijar protocolos de prueba en los cuales se pueda verificar si el algoritmo de detección del láser está suministrando datos correctos; por lo cual se requiere una forma de comparación de datos manuales con relación a los datos obtenidos por el programa. Para esto, se utilizó el programa GIMP 2.6, que es un programa de edición de imágenes digitales, de licencia abierta y gratuito. Este programa tiene consigo una barra de estado en la que se reflejan cada uno

Page 24: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

20

de las coordenadas de una imagen en centímetros, pixeles y metros. El objetivo es verificar si las coordenadas en pixeles que se obtienen del algoritmo de detección del punto son correctas. Cuando cada imagen capturada por el algoritmo diseñado captura las imágenes, se analizan con GIMP. Aqui se observa la barra de estado del programa; (que debe estar calibrada en pixeles) y ubicando el cursor del mouse sobre la imagen detectada con del punto láser arroja de manera inmediata los coordenadas en los que se encuentra el punto.

Figura 18 Pruebas del Algoritmo de Detección En GIMP

Los datos del programa arrojaron:

Coordenada X

Coordenada Y

380 265 En todas las imágenes prueba que se tomaron para la comprobación del algoritmo, nunca se obtuvo un error en la ubicación suministrada por el algoritmo diseñado. Con esto se comprobó la eficiencia del algoritmo. Otro protocolo creado para este algoritmo consiste en evaluar en qué tipo de superficies y en qué tipo de colores se tenía un bajo rendimiento del algoritmo. Al analizar las pruebas sobre diferentes colores y texturas de los objetos en los que era reflejado el láser, la respuesta tanto de la umbralizacion y coordenadas del punto fue muy clara; se acercaban con un error máximo de 2 pixeles, como se muestra en las siguientes imágenes:

Page 25: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

21

a

b.

Figura 19 Análisis de la segmentación en color del algoritmo de detección del punto

En las imágenes para las pruebas con color se tuvieron resultados considerablemente buenos con la detección del punto sobre cualquier color, porque no hay efectos de degradación o de camuflaje del punto láser sobre ningún color, (aun sobre el color rojo). En tomas en las que se tenía un área del punto un poco más grande del q se esperaba (Figura 19.a), no se afectaba la precisión de sus coordenadas porque el algoritmo al hacer una aproximación del momento medio, se evitaban errores en estos cálculos.

a.

Page 26: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

22

b.

Figura 20 Análisis de la segmentación sobre texturas.

En escenarios con texturas rugosas y lisas en las que se pudo generar una reflexión del punto o en las que no se pudiera capturar; no se presentaron mayores problemas relevantes. En algunas pruebas con texturas como en la Figura 20, b. La imagen umbralizada del punto láser adopta la forma de la imagen sin mayores distorsiones de la ubicación de punto.

a.

b.

Figura 21 Imágenes Análisis de la segmentación con iluminación escasa.

Page 27: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

Figura 22 Imágenes a

Por último se evaluaron escenarios en los que se pudiera tener muy poca iluminación o que por el contrario se tuviera una iluminación mayor a la normal. En los escenarios con poca luz, la imagen umbralizada que se tiene del punto iluminado, se presentaron algunos problemas: • Cuando la iluminación es poca

la Figura 21 .b Se capturan muchos puntos blancos plano de nuestra imagen y síla imagen.

• El segundo problema fue que el punto detectado sobre la imagrealmente es el punto, como en la también es percibida por el algoritmo y se umbraliza generando un área mucho cual las coordenadas de ubicación del punto no eran lo suficientemente precisasvariaciones de 3 pixeles de error.)

Por lo tanto para mejorar el funcionamiento del algoritmoseguimiento manual del rango del establecer un nivel de umbralizacion momento que sea necesario; de tal manera que se elimina

Figura

La función de Open Cv implementada int createTrackbar ( const string y

TrackbarCallback onChange

Donde • trackbarname - Nombre de la barra de seguimiento creada.• winname - Nombre de la ventana, que se utiliza la barra de seguimiento crea• valor - El puntero opcional a una variable entera, cuyo valor se reflejará la posición del

cursor. Tras su creación, la posición del control deslizante está definido por esta variable.

23

Imágenes análisis de la segmentación con iluminación excesiva

Por último se evaluaron escenarios en los que se pudiera tener muy poca iluminación o que por el contrario se tuviera una iluminación mayor a la normal.

la imagen umbralizada que se tiene del punto iluminado, se presentaron

es poca el ruido que se presenta sobre la imagen capturacapturan muchos puntos blancos que no dan información relevante sobre el primer

í logran distorsionar las coordenadas de ubicación del punto

fue que el punto detectado sobre la imagen era un poco más grande , como en la Figura 21.a. La reflexión de luz de láser

también es percibida por el algoritmo y se umbraliza generando un área mucho cual las coordenadas de ubicación del punto no eran lo suficientemente precisasvariaciones de 3 pixeles de error.)

el funcionamiento del algoritmo, se agregó a la ventana una rango del umbral de cada imagen como lo muestra la Figura

un nivel de umbralizacion máximo y uno mínimo que ayude a generar imágenes limpias en el de tal manera que se elimina el ruido y objetos no deseados.

Figura 23 Trackbar - Barra de seguimiento de objetos.

implementada es:

const string y trackbarname , const string y winname , int * valorTrackbarCallback onChangeCV_DEFAULT (0) , void * userdata CV_DEFAULT (0)

Nombre de la barra de seguimiento creada. Nombre de la ventana, que se utiliza la barra de seguimiento crea

El puntero opcional a una variable entera, cuyo valor se reflejará la posición del Tras su creación, la posición del control deslizante está definido por esta variable.

nálisis de la segmentación con iluminación excesiva.

Por último se evaluaron escenarios en los que se pudiera tener muy poca iluminación o que por el

la imagen umbralizada que se tiene del punto iluminado, se presentaron

re la imagen capturada es mayor, como en que no dan información relevante sobre el primer

las coordenadas de ubicación del punto láser sobre

un poco más grande de lo que láser alrededor del objeto,

también es percibida por el algoritmo y se umbraliza generando un área mucho más grande, por lo cual las coordenadas de ubicación del punto no eran lo suficientemente precisas, (se apreciaban

a la ventana una barra de Figura 23; la cual permite

mínimo que ayude a generar imágenes limpias en el el ruido y objetos no deseados.

valor , int conteo ,

CV_DEFAULT (0) )

Nombre de la ventana, que se utiliza la barra de seguimiento creada. El puntero opcional a una variable entera, cuyo valor se reflejará la posición del Tras su creación, la posición del control deslizante está definido por esta variable.

Page 28: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

24

• contar - La posición máxima de la barra deslizante. La posición mínima es siempre 0. • onChange - Puntero a la función que se llamará cada vez que el cursor cambia de

posición. • userdata - Los datos que el usuario puede utilizar para controlar los eventos de barra de

seguimiento sin necesidad de utilizar variables globales.

5.3 ESTIMACIÓN DE DISTANCIAS. Como se mencionó en la sección 4 de Especificaciones, este módulo consta de dos pasos. En donde primer paso es:

5.3.1 TÉCNICA DE CALIBRACIÓN DEL SISTEMA CÁMARA LÁSER

Esta fase tiene como principal objetivo implementar una técnica de calibración geométrica para un sistema cámara láser estático. Este debe proporcionar las condiciones necesarias sobre el sistema para poder estimar las distancias al punto láser, corrigiendo las posibles fallas en la medición de los parámetros físicos del sistema. Ahora bien, tomando como referencia el modelo reorganizado de la cámara “Pinhole” mostrado en la Figura 3 y de las ecuaciones: ���� = �

� [9]

������ = �� ���� + �� [10]

������� = �� ���� + �� [11]

Se propone la siguiente disposición de la cámara y el láser usados en nuestro proyecto:

La calibración consiste en hacer una regresión a los valores físicos del sistema, en la que se pueda extrapolar la recta por donde pasa el láser y su grado de orientación sobre el eje óptico de la cámara para generar la medición de las distancia. Es decir que a partir de mediciones hechas con objetos de prueba de dimensiones conocidas se obtendrán los valores de calibración para cada escenario analizado. Por regla general la taxonomía de un algoritmo de calibración de sensores visuales se basa en el uso de un patrón conocido para luego despejar las variables físicas que sean necesarias. En nuestro caso si se conoce los parámetros de la cámara Fx, Fy y Cx, Cy, (obtenidos del proceso de calibración de la cámara en la matriz intrínseca), se conoce X,(que es la longitud del objeto), puede despejarse la distancia existe entre la cámara y el objeto prueba, Z, para luego despejar los valores físicos

Sistema Cámara - Láser

Figura 24 Sistema Cámara-Láser vista superior

z

Page 29: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

25

de interés, X y Y, por los que pasa la recta del láser. La disposición geométrica del sistema de calibración implementado se observa en la siguiente Figura 25:

Figura 25 Método de calibración del sistema cámara láser

El proceso de calibración de nuestro sistema cámara láser establece una relación de pixeles a centímetros de la imagen vista por la cámara, con los cuadrados del tablero de ajedrez. Este proceso comienza con la toma de varios puntos de intersección de la recta láser sobre el tablero de ajedrez a una distancia conocida Z desde el sistema. Con lo cual se logra generar las coordenadas X, Y que describen el desplazamiento proyectado por el láser hasta llegar al tablero. Este paso permite conocer la relación existe entre las dimensiones físicas de nuestro objeto prueba (el tablero), con la imagen capturada por la cámara. Es decir que al conocer las dimensiones físicas del tablero de ajedrez usado, es posible medir el valor exacto en centímetros de cuán grande es cada cuadro que conforma el tablero para luego relacionarlo con las coordenadas que ve la cámara de el tablero en el plano imagen. El algoritmo de estimación de distancias diseñado integra todo este proceso de la siguiente manera:

o CALIBRACIÓN PROMEDIO DE LAS COORDENADAS IMAGEN Esta fase, primero utiliza la función cvFindChessboardCorners() proporcionada por OpenCV que permite identificar las esquinas en un tablero de ajedrez. La función determina las coordenadas en las que se encuentran ubicadas las esquinas de los tableros retornándolas en un arreglo, que luego se recorrerá para hacer una resta punto a punto de todas esquinas sobre el eje x y sobre el eje y respectivamente. De todas estas restas se saca un promedio obteniendo la relación de cada punto en x y en la pantalla. Estos valores nos dan la relación correspondiente al Xscreen y Y screen que ve la cámara en el momento de hacer la toma. De la ecuación 1, se conocen ahora todas las variables menos la distancia a la que se encuentra el tablero Z, de tal manera que nuestra incógnita estaría dada por :

e� = �� � � ������� [12]

e� = �� � f�������� [13]

(x,y)

CámaraCámaraCámaraCámara LáserLáserLáserLáser

KLgUOPQ − KQEL1 : (X1, Y1)

KLgUOPQ − KQEL2 : (X2, Y2)

Zi Zj

(x,y)

Page 30: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

26

Donde:

X: Es la medida real en x de un cuadro del tablero de ajedrez. Y: Es la medida real en y de un cuadro del tablero de ajedrez. �������: Es la coordenada del punto x en la pantalla. "������: Es la coordenada del punto y en la pantalla. f#: Distancia focal de la cámara en Y. f : Distancia focal de la cámara en X.

o INTERSECCION PUNTO LÁSER CON EL PATRON DE CALIBRACIÓN.

El algoritmo de detección del láser ya analizado en la sección anterior se adecuó para unirlo al de de la calibración promedio de las coordenadas imagen para que guarde la ubicación X, Y que tiene el láser en cada toma realizada. Es importante mencionar que para que esta relación tablero - imagen capturada funcione, el tablero debe estar lo más paralelo al sensor de captura, porque con esto se asegura que la relación de todas las esquinas del tablero con las coordenadas de la pantalla son precisas. Para esto se utilizó la varianza muestral. La varianza muestral se puede definir como el "promedio" de los cuadrados de las desviaciones de los datos con respecto a la media de todas las medidas analizadas en un conjunto de pruebas. Asegurándonos que se está dentro del límite total de las muestras estudiadas.9 Su fórmula es:

k�; = ∑ (�m��n);omp8(o�8) [14]

Donde: S j=Es la varianza N : Es el total de datos de la muestra xs: Es cada uno de los datos de la muestra. xn: Es la media de todos los datos de la muestra.

Si la variación de estas medidas es mayor a 1, con relación promedio de las restas obtenidas, indicará que la posición del tablero no es lo suficientemente buena para realizar la captura de las coordenadas de la recta. Cuando el tablero de ajedrez está perfectamente paralelo a la cámara, el valor de la varianza debe estar en un rango lo bastante cercana a cero para asegurar que no a hay movimiento alguno sobre el tablero. Por lo tanto el algoritmo de calibración de las coordenadas imagen, se modificó para poder integrar las fórmulas de la varianza. El proceso de la calibración se puede ver en el siguiente diagrama de bloques mostrado en la Figura 26: La segunda etapa de la calibración Cámara láser está dada por la obtención de los puntos en coordenadas Q, del mundo fisco como se ve en la figura 2, para poder extrapolar la ecuación de la recta y su orientación con respecto al eje óptico de la cámara. Es decir que nuestro nuevo sistema está relacionado con la Figura 3 y las ecuaciones [2] y [3].

9 Probabilidad y estadística. Medidas de Variabilidad. Available http://www.virtual.unal.edu.co/cursos/ciencias/2001065/html

Page 31: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

Figura 26 Diagrama en bloques de

De este donde se conocen las variables físicas Fx, Fy, Cx, Cy, Zencuentra el tablero en cada muestra) y Xscreen (que son las coordenadas del pluego podríamos despejar nuestra X ( que serian las coordenadas del punto la siguiente manera:

Las coordenadas X,Y del punto lásersus valores por el método de mínimos cuadrados para extrapolar la ecuación de la recta

La regresión de mínimo cuadrados la optimización matemática, en la que, dados un conjunto de pares ordenados:variable dependiente, y una familia de funciones, se intenta encontrar laque mejor se aproxime a los datos (un "mejor ajuste"), de acuerdo con el criterio decuadráticos

10. De donde se obtienen

Este proceso se realiza en Matlab con cada uno de los archivos generados con la recolección de datos de cada prueba. Del proceso de calibración de la cámara donde el láser se encontraba a un centímetros fija.

Coordenadas del Pun

x

366

376

393

424

10

Métodos de Regresión. Estimación de

27

Diagrama en bloques del algoritmo de calibración

se conocen las variables físicas Fx, Fy, Cx, Cy, Z,(obtenido de la distanciencuentra el tablero en cada muestra) y Xscreen (que son las coordenadas del punluego podríamos despejar nuestra X ( que serian las coordenadas del punto láser

� = e� � �������t�u� �

f = e� ���������t�u� �

láser en el mundo real son utilizadas ahora para realizar unamínimos cuadrados para extrapolar la ecuación de la recta

La regresión de mínimo cuadrados es una técnica de análisis numérico que está , en la que, dados un conjunto de pares ordenados:

variable dependiente, y una familia de funciones, se intenta encontrar la función, dentro de dicha familia, que mejor se aproxime a los datos (un "mejor ajuste"), de acuerdo con el criterio de

. De donde se obtienen los parámetros de la recta Y=mx+b de la siguiente manera:

v = �∑ ��∑ ∑��∑ ;�(∑ );

w = ∑��x∑ �

atlab con cada uno de los archivos generados con la recolección de datos de Del proceso de calibración de la cámara láser se obtuvieron los siguientes datos prueba, en

se encontraba a un ángulo 90 grados respecto al eje óptico y

Coordenadas del unto Láser Distancia

Coordenadas Estimadas

Y Zv Xe ye

243 54,800 5.967 -1,185

244 50,8533 6,269 -1,019

251 43,4972 6.045 -0,557

260 35,5522 7.280 -0,146

de Parámetros. http://www.virtual.unal.edu.co/cursos/ciencias/

lgoritmo de calibración

(obtenido de la distancia a la que se unto láser en cada toma), en el mundo en 3D), de

[15]

[16]

en el mundo real son utilizadas ahora para realizar una regresión de mínimos cuadrados para extrapolar la ecuación de la recta láser.

está encuadrada dentro de variable independiente,

, dentro de dicha familia, que mejor se aproxime a los datos (un "mejor ajuste"), de acuerdo con el criterio de mínimo error

recta Y=mx+b de la siguiente manera:

[14]

[15]

atlab con cada uno de los archivos generados con la recolección de datos de siguientes datos prueba, en

y una distancia D de 10

/cont_02_42.html

Page 32: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

28

463 273 28,1340 7,397 -0,678

477 279 26,549 7,548 -0,873

491 282 30.739 7,738 -0,936 Tabla 1 Coordenadas Físicas de la recta láser.

Las coordenadas x,y estimadas al plano físico 3D, del punto fueron comprobadas manualmente con regla y con videos en los que se pudiera establecer el centro de la imagen y de allí medir las distancias obtenidas, todos los puntos eran coincidentes.

Figura 27 Prueba manual de las coordenadas reales del punto láser

Con lo cual el proceso de interpolación de la recta láser era mucho más confiable. En este caso específico la ecuación de la recta obtenida es la siguiente:

Grafica 1Regresion recta láser de puntos muestra.

Luego de tener la ecuación de la recta Láser, se encuentra las variables físicas que se quieren para el sistema de visión propuesto, las cuales son la distancia cámara Láser D y el ángulo de orientación con el que la recta fue emitida sobre el tablero de calibración. Para esto, se parte del siguiente modelo del sistema de la Figura 28:

6 6.2 6.4 6.6 6.8 7 7.2 7.4 7.6 7.825

30

35

40

45

50

55Regresion Recta Laser

X puntos estimados de la recta laser, cm

Z: Distancia a la que se el tablero de la camara, cm

y = - 13.6*x + 132.3

Ecuación Recta Laser

Page 33: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

29

Figura 28 Modelo calibración con respecto a la ecuación recta láser.

Se realiza un análisis geométrico sobre los triángulos formulados por el sistema, de manera que se pueda determinar la distancia cámara Láser D. Esta distancia será igual a la pendiente de la recta sobre el intercepto con el eje x cuando:

Cuando y=0

= y = �zx [17]

Cuando x=0

" = g

Y por lo tanto el ángulo {, que es el que nos interesa quedara expresado como

| = }~o�8(−x) [18]

Retomando las ecuaciones 17 y 18 sobre la recta obtenida anteriormente se tienen los siguientes valores:

Pendiente (m) =13.603 Intercepto (b) =132.345

Con lo cual, nuestras incógnitas tienen los siguientes valores:

Distancia Cámara-Láser “D”: 9.7 centímetros Ángulo de Orientación: 85.769 grados

Estos datos al ser relacionados con las distancias reales (el láser se encontraba a un ángulo 90 grados respecto al eje óptico y una distancia D de 10 centímetros fija) a las que se realizaron las pruebas de manera exitosa. Las medidas concuerdan con las reales. Ahora, como último paso del módulo de la estimación de distancias, se tiene el siguiente modelo de la cámara Láser:

Page 34: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

30

Donde por geometría se despeja la distancia que es nuestra variable física de interés. Las incógnitas del nuevo sistema analizado son la distancia cámara- Láser “D” y el ángulo de orientación de la recta. Cuando la recta láser se cruza con el punto focal en el infinito nos crea un nuevo triangulo de base dada por las dimensiones del objeto real, X, y cateto q:

tan { = qX

3 = �}~o� [ 19 ]

R tan{ = z + q

� = �}~o� − �′ [ 20 ]

De la ecuación 1, analizada del modelo de la “cámara Pinhole”, y de las ecuaciones [16] y [17] se tiene:

S�Xs = z′X

�′ = � ��� [21]

Finalmente se obtiene la ecuación que nos relaciona el ángulo y la distancia cámara Láser:

� = 6� �mo���mo��� ��� � [ 22 ]

Ecuación con la que se trabajó para implementar el algoritmo de estimación de distancias a un punto iluminado. Este algoritmo usa el algoritmo de detección del punto Láser con la fórmula 18. El diagrama de bloques para este algoritmo se puede apreciar en el siguiente diagrama de bloques de la Figura 30:

Figura 29 Modelo cámara- Láser para encontrar z, que relacione los parámetros D y ángulo.

Page 35: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

Figura 30 Diagrama en bloques del algoritmo de estimación de distancias

31

Diagrama en bloques del algoritmo de estimación de distanciasDiagrama en bloques del algoritmo de estimación de distancias

Page 36: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

32

CAPÍTULO 6

ANALISIS DE RESULTADOS Todo el proceso se realizó con mediciones de 3 ángulos diferentes con 5 variaciones sobre la distancia cámara láser “D”, declaradas en las graficas como: d1,d2,d3,d4,d5, respectivamente. Por cada uno de los ángulos muestreados, se muestra solo una gráfica de las regresiones de la recta Láser encontrada. Luego se muestran los datos obtenidos de la implementación del algoritmo de estimación de distancias, sobre cada D y ángulo encontrado.

6.1 PRIMERA TOMA: ÁNGULO DE 90 GRADOS.

• DETECCIÓN DE PUNTO LÁSER Y COORDENADAS ESTIMADAS DEL LÁSER

La regresión para extrapolación de la recta del Láser se obtuvó la siguiente ecuación de la recta en la distancia 3:

Grafica 2 Regresión recta láser.

La ecuación que nos da la extrapolación nos arroja los siguientes resultados: Pendiente (m) =14.083 Intercepto (b) =-102.529

Distancia Cámara-Láser: 7.28032 cm Ángulo: 85.9384 grados

Con lo cual se puede notar que el método de calibración tiene una precisión y error mínimo en las medidas.

11.4 11.6 11.8 12 12.2 12.4 12.6 12.8 13 13.2 13.440

45

50

55

60

65

70

75

80

X puntos estimados de la recta laser, cm

Z: Distancia a la que se el tablero de la camara, cm

Regresion Recta Laser

y = 19.74*x - 184.4

Ecuacion de la Recta Laser

Page 37: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

DISTANCIA D1: 5.3 CENTIMENTROS. Se obtiene los siguientes datos: Pendiente (m) =16.563 Intercepto (b) =-81.714

Distancia Cámara-Láser: 4.9335 Ángulo: 88.549 grados

DISTANCIA D2: 6.3 CENTIMENTROS. Se obtiene los siguientes datos: Pendiente (m) =9.776 Intercepto (b) =-62.296

Distancia Cámara-Láser: 6.24 cm Ángulo: 86.1595 grados

DISTANCIA D3: 7.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X Y (Programa) (Manual) Xestimadas Yestimados

440 265 40,931 41.0 9,148 0,477 420 265 49,781 50.0 9,600 0,581

411 263 54,568 55.0 9,770 0,470 402 262 59,708 60.0 9,867 0,424

394 260 66,565 67.0 10,183 0,269 Tabla 4 Datos Represión recta láser a Distancia 3=7.3 cm

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X y (Programa) (Manual) Xestimadas Yestimados

407 268 44,028 44.0 7,613 0,715

394 264 52,990 53.0 8,107 0,530

389 263 57,850 58.0 8,408 0,499

385 263 62,904 63.0 8,756 0,542

379 262 70,780 71.0 9,201 0,502

374 264 79,691 80.0 9,749 0,809 Tabla 2 Datos Represión recta láser a Distancia1=5.3 cm

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X Y (Programa) (Manual) Xestimadas Yestimados 413 262 79,456 80.0 14,471 0,564 423 260 66,811 67.0 13,190 0,270 431 263 59,838 60.0 12,549 0,516 437 263 54,852 55.0 12,008 0,473 444 263 50,082 50.0 11,501 0,432 461 266 41,259 41.0 10,550 0,544

Tabla 3 Datos Represión recta láser a Distancia1=6.3 cm

Page 38: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

Se obtiene los siguientes datos: Pendiente (m) =14.083 Intercepto (b) =-102.529

Distancia Cámara-Láser: 7.28032 centímetros Ángulo: 85.9384 grados

DISTANCIA D4: 8.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X Y (Programa) (Manual) Xestimadas Yestimados 420 260 66,784 67.0 12,867 0,2704 430 261 59,753 60.0 12,441 0,332 437 261 54,103 55.0 12,087 0,374 449 262 49,907 50.0 11,8925 0,351 476 264 41,13 41.0 11,608 0,4639 461 266 41,453 41.0 10,558 0,5473

Tabla 5 Datos Represión recta láser a Distancia4=8.3 cm

Se obtiene los siguientes datos: Pendiente (m) =19.740 Intercepto (b) =-184.427

Distancia Cámara-Láser: 9.34 cm Ángulo: 87.274

DISTANCIA D4: 9.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X y (Programa) (Manual) Xestimadas Yestimados

504 264 41,6762 41.0 13,251 0,8248

474 262 50,35 50.0 13,688 0,318

460 261 54,125 55.0 13,901 0,137

452 261 59,182 60.0 14,455 0,33413

441 259 66,458 67.0 14,946 0,165

425 259 79,218 80.0 15,828 0,345 Tabla 6 Datos Represión recta láser a Distancia5=9.3 cm

Se obtiene los siguientes datos: Pendiente (m) =10.993 Intercepto (b) =-97.982

Distancia Cámara-Láser: 8.94 cm Ángulo: 84.8092

Todas las medidas tomadas manualmente se relacionan con los datos del programa con un error promedio de 0.362 centímetros, error pequeño, por que se concluye que tanto el sistema de calibración como su diseño proporcionan medidas exactas.

Page 39: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

• ESTIMACIÓN DISTANCIA ABSOLUTA.

Ahora las distancias obtenidas con la ecuación [22] y el algoritmo de distancia implementado, sobre cada una de las calibraciones antes presentadas, arrojaron los siguientes datos:

DISTANCIA D1: 5.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

4,965 1,166 -243,7801 93,213 95

4,965 1,166 -237,231 80,217 80

4,965 1,166 -229,201 67,425 65

4,965 1,166 -215,751 52,705 50

4,965 1,166 -199,441 42,241 40

4,965 1,166 -176,345 32,84 30

4,965 1,166 -125,201 21,985 20

4,965 1,166 22,988 11,25 10 Tabla 7 Distancia estimada a Distancia 1 de 5.3 cm

DISTANCIA D1: 6.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

6,232 1,18 -24601 92,64 95

6,232 1,18 -240,801 80,08 80

6,232 1,18 -235,664 66,815 65

6,232 1,18 -221,64 51,773 50

6,232 1,18 -203,002 41,001 40

6,232 1,18 -180,959 32,12 30

6,232 1,18 -130,137 20,35 20

6,232 1,18 -100,78 10,09 10 Tabla 8 Distancia estimada a Distancia 2 de 6.3 cm

DISTANCIA D1: 7.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

7,286 1,18 -250,431 92,964 95

7,286 1,18 -245,218 80,008 80

7,286 1,18 -240,385 66,515 65

7,286 1,18 -221,301 51,973 50

7,286 1,18 -203,671 41,021 40

7,286 1,18 -180,5001 32,12 30

7,286 1,18 -130,4501 20,82 20

7,286 1,18 -100,718 10,129 10 Tabla 9 Distancia estimada a Distancia 3 de 7.3 cm

Page 40: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

3

DISTANCIA D1: 8.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

8,72 1.16 -250,275 92,464 95

8,72 1.16 -245,259 80,08 80

8,72 1.16 -240,231 66,55 65

8,72 1.16 -221,253 51,973 50

8,72 1.16 -203,680 41,421 40

8,72 1.16 -180,32 32,042 30

8,72 1.16 -130,661 20,32 20

8,72 1.16 -100,788 10,442 10 Tabla 10 Distancia estimada a Distancia 4 de 8.3 cm

DISTANCIA D1: 9.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

8,954 1.22 -250,32 92,064 95

8,954 1.22 -245,32 80,278 80

8,954 1.22 -240,041 66,515 65

8,954 1.22 -221,401 51,773 50

8,954 1.22 -240,541 40,127 40

8,954 1.22 -203,277 41,01 40

8,954 1.22 -180,233 32,12 30

8,954 1.22 -130,01 20,82 20

8,954 1.22 -100,788 10129 10 Tabla 11 Distancia estimada a Distancia 5 de 9.3 cm

Page 41: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

4

40 45 50 55 60 65 70 75 8040

45

50

55

60

65

70

75

80Distancia Manual Vs Distancia Programa

Zvm Distancia medida manualmente a la que se encuentra el punto laser, cm

Zvp: Distancia medida por el programa a la que se encuentra el punto laser, cm

d1

d2

d3

d4

d5

Grafica 3Relación de Distancias obtenidas- Manuales Vs Programa

Se realizó una representación de las distancias cámara-láser medidas manualmente contra las medidas obtenidas por el programa diseñado, en donde se puede apreciar que las líneas son totalmente lineales, los errores que se obtuvieron en promedio están alrededor de 0.5 centímetros. Se obtuvo una grafica recta y proporcional, en la que se ve que la precisión entre las distancias obtenidas por el programa y las distancias tomadas manualmente son confiables y bastante cercanas. En este ángulo, de 90 grados, sobre la recta del láser se tiene un mejor alcance, las distancias a las que puede tomar sin un error más grande de 3 cm de diferencia es hasta un 1 metro con 10 centímetros. ESPECIFICACIONES PARA ANGULOS DE 90 GRADOS. Alcance máximo: 110 centímetros Alcance mínimo: 10 centímetros

Page 42: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

5

6.2 SEGUNDA TOMA: PARA ÁNGULO DE 70

• DETECCIÓN DE PUNTO LÁSER Y COORDENADAS ESTIMADAS DEL LÁSER

La gráfica de la regresión obtenida en la medición de la segunda distancia es la siguiente:

Grafica 4 Regresión Recta Láser Con Orientación de 70 grados

En donde se ve claramente que

Pendiente (m) =-2.416 Intercepto (b) =15.398 Distancia Cámara-Láser: 6.3 centímetros Ángulo: 68.515 grados.

-28 -26 -24 -22 -20 -18 -16 -14 -12 -1040

45

50

55

60

65

70

75

80

85Regresión Recta Laser

x: Puntos Estimados de la recta, cm

Zv: Distancia al punto Iluminado, cm

y = - 2.416*x + 14.4

Ecuaciación Lineal De La Recta Láser

Page 43: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

Datos que concuerdan con los parámetros reales que se tienen en el montaje cámara láser.

DISTANCIA D1: 5.3 CENTIMENTRO

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X Y (Programa) (Manual) Xestimadas Yestimados

129 267 41, 716 41.0 -10,401 0,226

116 266 50,539 50.0 -13,742 0,881

110 265 55,586 55.0 -15,582 0,688

105 264 60,443 60.0 -17,582 0,678

101 264 67,56 67.0 -20,044 0,642

92 263 80,753 80.0 -25,023 0,696 Tabla 12 Datos Represión recta láser a Distancia 1=5.3 cm

Se obtiene los siguientes datos: Pendiente (m) =-2.711 Intercepto (b) =13.019

Distancia Cámara-Láser: 5.8 centímetros Ángulo: 66 grados.

DISTANCIA D2: 6.3 CENTIMENTRO

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X y (Programa) (Manual) Xestimadas Yestimados

139 265 41,222 41.0 -9,826 0,436

111 263 50,591 50.0 -14,16 0,436

101 263 55,959 55.0 -16,439 0,426

80 261 68,998 67.0 -22,488 0,341

80 261 68,999 67.0 -22,480 0,397

64 260 81,964 80.0 -28,988 0,676 Tabla 13 Datos Represión recta láser a Distancia 2=6.3 cm

Se obtiene los siguientes datos: Pendiente (m) =-2.416 Intercepto (b) =15.398

Distancia Cámara-Láser: 6.763 centímetros Ángulo: 68.302 grados

Page 44: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

DISTANCIA D3: 7.3 CENTIMENTRO

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X y (Programa) (Manual) Xestimadas Yestimados

88 261 79,301 80.0 -25,038 0,4402

102 262 66,631 67.0 -19,627 0,4123

111 263 59,614 60.0 -16,758 0,5397

119 264 54,584 55.0 -14,557 0,5527

130 264 49,413 50.0 -12,021 0,514

155 266 40,581 41.0 -8,653 0,596 Tabla 14 Datos Represión recta láser a Distancia 4=7.3 cm

Se obtiene los siguientes datos: Pendiente (m) =-2.014 Intercepto (b) =14.377

Distancia Cámara-Láser: 7.291 centímetros Ángulo: 68.7263 grados

DISTANCIA D4: 8.3 CENTIMENTRO

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X Y (Programa) (Manual) Xestimadas Yestimados 83 266 41,183083 41.0 -13,334153 0,543667 64 264 50,167019 50.0 -17,704199 0,509318 54 264 55,295918 55.0 -20,361919 0,561389 39 262 67,653694 67.0 -26,468227 0,480589 28 261 80,759827 80.0 -32,957638 0,450581

Tabla 15 Datos Represión recta láser a Distancia 4=8.3 cm

Se obtiene los siguientes datos: Pendiente (m) =-2.367 Intercepto (b) =20.009

Distancia Cámara-Láser: 8.32 centímetros Ángulo: 64 grados

Page 45: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

DISTANCIA D5: 9.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

X Y (Programa) (Manual) Xestimadas Yestimados

72 263 81,328 80 -27,7165 0,701 81 264 68,191 67 -22,2861 0,694 88 264 61,5847 60 -19,326 0,677 94 265 55,6308 55 -17,0864 0,678 101 265 50,709 50 -15,0199 0,5924

118 267 41,328 41 -11,1767 0,609 Tabla 16 Datos Represión recta láser a Distancia 5=9.3 cm

Se obtiene los siguientes datos: Pendiente (m) =-2.134 Intercepto (b) =20.400

Distancia Cámara-Láser: 8,3289 centímetros Ángulo: 66 grados.

• ESTIMACIÓN DISTANCIA ÁNGULO DE 70 GRADOS. DISTANCIA D1: 5.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

5,2 1,166 35,7988 10,758 10

5,2 1,166 -121,541 21,421 20

5,2 1,166 -175,301 32,5263 30

5,2 1,166 -199,235 42,221 40

5,2 1,166 -216,552 53,506 50

5,2 1,166 -229,235 67,425 65

5,2 1,166 -237,081 80,9627 80

5,2 1,166 -243,231 93,513 95 Tabla 17 Distancia estimada a Distancia 1 de 5.3 cm

DISTANCIA D2: 6.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

6,2 1,24 146,788 10,909 10

6,2 1,24 -35,612 21,459 20

6,2 1,24 -96,232 31,294 30

6,2 1,24 -126,198 41,3435 40

6,2 1,24 -146,451 51,929 50

6,2 1,24 -164,256 67,616 65

6,2 1,24 -173,129 79,595 80

6,2 1,24 -182,234 96,652 95 Tabla 18 Distancia estimada a Distancia 2 de 6.3 cm

Page 46: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

DISTANCIA D3: 7.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

7,2 1,12 -266,287 94,879 95

7,2 1,12 -25,887 81,626 80

7,2 1,12 -244,61 65,635 65

7,2 1,12 -224,901 51,304 50

7,2 1,12 -199,586 40,377 40

7,2 1,12 -16,909 30,637 30

7,2 1,12 -84,456 20,212 20

7,2 1,12 162,788 9,899 10 Tabla 19 Distancia estimada a Distancia 3 de 7.3 cm

DISTANCIA D4: 8.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia

D x_screen Z Medida

8,2 1,23 305,788 9,976 10

8,2 1,23 34,788 20,009 20

8,2 1,23 -54,212 30,157 30

8,2 1,23 -104,201 42,076 40 Tabla 20 Distancia estimada a Distancia 4 de 8.3 cm

Page 47: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

3

Grafica 5 Relación de distancias obtenidas - Manual vs Programa

Al realizar la representación de las distancias cámara láser medidas manualmente contra las medidas obtenidas por el programa diseñado, en donde se puede apreciar que las líneas son totalmente lineales, los errores que se tiene son muy pequeños al igual que en el caso de las mediciones con ángulos de 90 grados. De las variación de las distancias D, la distancia que se encuentra entre la cámara y el láser sobre el eje óptico, se puede observar más lineal la recta puesto que los errores dentro de los datos son menores. En este ángulo de 70 grados sobre la recta del láser, se nota una disminución en el alcance para las mediciones realizadas. Las distancias entre las cerca a la cámara reducen su alcance pues el ángulo de orientación de la recta empieza a interceptar la visión de la cámara. Es decir que se genera un campo de visión de la cámara limitado y corrido hacia el lado izquierdo, (porque la intersección se realiza sobre la mitad izquierda de la pantalla.). Se trabaja con la mitad de la imagen analizada. Para distancias d1, las cuales eran iguales a 5.3 cm, el alcance logrado fue de 40 centímetros y para d5=9.3 cm, las cuales fueron las máximas distancias evaluadas, se alcanzó una distancia de 80 centímetros de longitud.

Page 48: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

4

6.3 TERCERA TOMA: PARA ÁNGULO DE 56 GRADOS

• DETECCIÓN DE PUNTO LÁSER Y COORDENADAS ESTIMADAS DEL LÁSER

La regresión para la extrapolación de recta en la distancia 4, para el ángulo de 56 grados.

Grafica 6 Ecuación Recta Láser para 56 grados.

Pendiente (m) =-1.492 Intercepto (b) =14.353 Distancia Cámara-Láser: 9.6 centímetros Ángulo: 56 grados

-19 -18 -17 -16 -15 -14 -13 -12 -11 -1030

32

34

36

38

40

42Regresion Recta Laser

X puntos estimados de la recta laser, cm

Z: Distancia a la que se el tablero de la camara, cm

y = - 1.492*x + 14.35

Ecuacion de la Recta Laser

Page 49: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

5

DISTANCIA D5:9.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

x y (Programa) (Manual) Xestimadas Yestimados

47 274 23,904 24 -9,078 0,606

24 272 26,999 26 -10,084 0,552 9 271 28,506 28 -12,992 0,593

46 273 23,984 23 -9,898 0,666

34 273 25,57 25 -10,911 0,692 Tabla 21 Datos Represión recta láser a Distancia 5=9.3 cm

Se obtiene los siguientes datos: Pendiente (m) =-2.312 Intercepto (b) =24.481

Distancia Cámara-Láser: 10.32 centímetros Ángulo: 66 grados

DISTANCIA D4: 8.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

x Y (Programa) (Manual) Xestimadas Yestimados

64 269 30,212 30 -10,679 0,538

65 268 30,903 30 -10,685 0,524 46 268 32,389 33 -12,031 0,599

28 266 37,013 37 -15,112 0,856

14 266 39,376 40 -17,007 0,595

8 265 41,553 42 -18,296 0,481 Tabla 22 Datos Represión recta láser a Distancia 4=8.3 cm

Se obtiene los siguientes datos: pendiente (m) =-1.492 intercepto (b) =14.353

Distancia Cámara-Láser: 9.6 centímetros Ángulo: 56 grados

DISTANCIA D3: 7.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

x Y (Programa) (Manual) Xestimadas Yestimados

41 274 23,873 23 -9,263 0,6092

25 273 26,167 26 -10,778 0,6867 11 271 28,901 28 -12,355 0,588

7 271 29,329 29 -12,978 0,614

5 270 30,877 30 -13,2791 0,599 Tabla 23 Datos Represión recta láser a Distancia 3=7.3 cm

Se obtiene los siguientes datos:

Page 50: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

1

pendiente (m) =-1.551 intercepto (b) =10.416

Distancia Cámara-Láser: 6.71 centímetros Ángulo: 57 grados

DISTANCIA D2: 6.3 CENTIMENTROS

Coordenada Coordenada Distancia Distancia Coordenada Recta Láser

Coordenada Recta Láser

x Y (Programa) (Manual) Xestimadas Yestimados

164 275 22,960 22 -4,753 0,636

155 274 23,990 24 -5,34 0,657 143 272 24.760 25 -6,354 0,463

112 270 25,373 26 -9,587 0,199

93 267 27,641 28 -12,834 0,699 Tabla 24 Datos Represión recta láser a Distancia 2=6.3 cm

Se obtiene los siguientes datos: pendiente (m) =-2.207 intercepto (b) =13.302

Distancia Cámara-Láser: 6.0271 centímetros Ángulo: 65 grados

• ESTIMACIÓN DE LA DISTANCIA:

Distancia ÁNGULO Coordenada Distancia Distancia D x_screen Z Medida

9,7699 0,977 -282,412 40,869 40

9,7699 0,977 -260,672 35,366 35

9,7699 0,977 -249,243 33,389 33

9,7699 0,977 -230,973 30,813 30

9,7699 0,977 -193,431 25,770 25

9,7699 0,977 -169,644 23,532 23

9,7699 0,977 -129,921 20,433 20

9,7699 0,977 -27,349 15,422 15 Tabla 25 Distancia estimada a Distancia 5 de 9.3 cm

DISTANCIA D: 8.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia D x_screen Z Medida

8,577 0,9346 44,798 10,621 10

8,577 0,9346 -67,712 13,238 11

8,577 0,9346 -123,872 15,607 15

8,577 0,9346 -211,932 20,673 20

8,577 0,9346 -21,417 20,599 20

8,577 0,9346 -260,012 25,2483 25

8,577 0,9346 289,988 7,2506 7 Tabla 26 Distancia estimada a Distancia 4 de 8.3 cm

Page 51: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

2

22 24 26 28 30 32 34 36 38 40 4222

24

26

28

30

32

34

36

38

40

42Distancia Manual Vs Distancia Programa

Zvm Distancia medida manualmente a la que se encuentra el punto laser, cm

Zvp: Distancia medida por el programa a la que se encuentra el punto laser, cm

d1

d2

d3

d4

d5

DISTANCIA D3: 7.3 CENTIMENTROS

Distancia ÁNGULO Coordenada Distancia Distancia D x_screen Z Medida

8,577 0,9346 0,799 10,392 10

8,577 0,9346 194,798 11,071 11

8,577 0,9346 -104,200 13,087 13

8,577 0,9346 -225,263 20,075 20

8,577 0,9346 -259,196 23,031 23

8,577 0,9346 -270,102 26,000 25

8,577 0,9346 -291,597 29,902 30 Tabla 27 Distancia estimada a Distancia 3 de 7.3 cm

Grafica 7 Relación de Medidas obtenidas - Manual vs Programa

Al realizar la representación de las distancias cámara-láser medidas manualmente versus las medidas obtenidas por el programa diseñado, se puede apreciar que las líneas son totalmente lineales, evidenciando que los errores son mínimos, hay una exactitud en cada una de las medidas tomadas. El error en cada muestra es 6 milímetros sobre las distancias manuales. Es importante mencionar que para ángulos pequeños, como por ejemplo el de 56 grados sobre la recta, se tiene una disminución en el alcance para las mediciones realizadas pero se gana precisión con relación a las distancias. Lo anterior se debe a que el ángulo de orientación de la recta, es mucho más grande que el

Page 52: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

3

ángulo de visión de la cámara haciendo que la la distancias medidas estén dispuestas sobre toda la imagen. Para distancias d5, que es una medida de 9.3 centímetros no se realiza la medida ya que no se alcanza a tener un rango de visión, mientras que para distancias d1 de 5.3 centímetros se realizaron medidas con un alcance de 15 centímetros muy precisos. CALCULO DE ERROR PROMEDIO. A partir de las medidas obtenidas para ángulos de 90 y 60 grados se obtuvieron los siguientes cálculos de error:

• 90 Grados.

Coordenada Coordenada Distancia Distancia Error

X Y (Programa) (Manual)

440 265 44.001 44.0 0.001

420 265 49,990 50.0 0.01 411 263 59,559 60.0 0.441

402 262 69.640 70.0 0.36 394 260 79,590 80.00 0.41

Tabla 28 Datos Represión recta láser a Distancia 3=7.3 cm

El error promedio es de 0.244 cm. Se obtiene la grafica 8, donde se ve que los errores que se presentan en las medidas es un poco menos estable con relación a ángulos más pequeños como se muestra en la grafica 9. A mayores distancias se obtiene menos precisión, puesto que la resolución que existe entre pixeles contra medidas es menos exacta.

Grafica 8 Calculo de error

40 45 50 55 60 65 70 75 800

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45Error Vs Distancia Programa (90 grados)

Distancia a la que se encuentra el punto laser (Programa), cm

Error

Page 53: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

4

• 56 Grados.

Coordenada Coordenada Distancia Distancia Error

x Y (Programa) (Manual)

164 275 22,960 22.0 0.140

155 274 23,990 24.0 0.240

143 272 24.760 25.0 0.010

112 270 25,373 26.0 0.140

93 267 27,641 28.0 0.120

El error promedio es de 0.13 cm. Se obtiene la grafica 9, donde se ve que el error promedio es pequeño con relación al error pbtenido para angulos de grandes como los de 90 grados, porque para este tipo de orientación de la recta, arroja un rango de estimación de distancias pequeño, pero el proceso sobre cada imagen es detallado ya que se trabaja con cada pixel de la grafica analizada. Es decir que en angulos pequeños, se obtiene una disminución de alcance sobre las medidas tomadas, pero se gana mayor precisión sobre cada una de ellas.

Grafica 9 Calculo de error

22 23 24 25 26 27 280

0.05

0.1

0.15

0.2

0.25Error Vs Distancia Programa (56 grados)

Zvm Distancia a la que se encuentra el punto laser (Programa), cm

Zvp: Error

Page 54: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

5

CAPÍTULO 7

CONCLUSIONES

• El alcance del sistema está tiene una gran ventaja definida por el ángulo de orientación de la recta

laser; cuando el ángulo sea menor al ángulo de apertura de visión de la cámara, la resolución será maxima, como se puede ver en la figura 7.

Figura 31 Resolución en las medidas en ángulos pequeños

Se obtiene una distancia pequeña pero se gana resolución, porque el rango de medidas (línea roja en la figura31), se realiza sobre toda la imagen capturada. Lo cual se puede observar en la grafica 10, hecha sobre el análisis de algunos datos obtenidos con un ángulo de 56 grados. La exactitud que hay entre los pixeles en cada una de las distancias analizadas nos evidencia que hay mayor resolución en las medidas.

Grafica 10 Pixeles vs Distancia en ángulos de 56 grados

40 45 50 55 60 65 70 75 807.8

8

8.2

8.4

8.6

8.8

9

9.2

9.4Pixeles vs Distancia Estimada - Angulo De 56 Grados

Zpx: Distancia medida en pixeles, px

Zpg: Distancia medida por el programa, cm

Distancia con max. Resolución

Page 55: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

6

Ahora bien, para ángulos más grandes como el ángulo de 90 grados, el alcance de las mediciones es infinito como se puede observar en la grafica 2. Con respecto a la resolución sobre cada media, se obtiene una disminución en los pixeles tomados en cada medida analizada como se puede ver en la figura 8.

Figura 32 Resolución en las medidas en ángulos grandes

Figura 33 Pixeles vs distancias estimadas en ángulos de 90 grados.

15 20 25 30 35 40 45-300

-250

-200

-150

-100

-50

0Pixeles vs Distancia Estimada - Angulo De 90 Grados

Zpx: Distancia medida en pixeles, px

Zpg: Distancia medida por el programa, cm

Page 56: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

7

• La resolución de la medidas y de las imágenes capturadas en ángulos pequeños cuenta con un error pequeño como se observa en grafica 9:

Las medidas se obtienen con una precisión pequeña y constante, lo cual es muy importante, porque el sistema se planteo con el fin directo de generar una herramienta para su uso en la robótica. Es decir que si se toma con el sistema de calibración para cualquier robot y luego se emplea se tendrán buenas medidas en el análisis de objetos que se encuentran lejos del robot. En el caso de LOLA , el robot tipo serpiente diseñado por SIRP, puede ser de gran utilidad para la ayuda de percepción en lugares pequeños como tuberías o en lugares de derrumbes en los cuales se tiene acceso limitado para los humanos y solo un robot puede participar.

• El sistema implementado como método de calibración es robusto para que cada una de las calibraciones que se hacen de las coordenadas estimadas al mundo real en 3D, tenga pocos errores de medida. El patrón de calibración usado para obtener los puntos de intersección de la recta láser debe ser perfecto, la impresión de cada una de las esquinas ayuda en gran medida a que la precisión en las medidas obtenga mejores resultados. En el presente proyecto todas las medidas se realizaron con tablero de ajedrez impreso en papel fotográfico mate (para que no se generaran brillos y desviaciones de luz que dañaran las mediciones) con muy alta definición para no tener errores en las medidas. Como se observa en la

Figura 34 Patrón de calibración de ajedrez.

22 23 24 25 26 27 280

0.05

0.1

0.15

0.2

0.25Error Vs Distancia Programa (56 grados)

Zvm Distancia a la que se encuentra el punto laser (Programa), cm

Zvp: Error

Page 57: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

8

• Otra de las futuras implementación con las que se planteo el dispositivo fue la posible aplicación

de servir como base para algoritmos de auto calibración de arreglos estéreo o de configuraciones más complejas de más de dos cámaras.

• En cuanto al algoritmo de detección del punto láser sobre cualquier superficie, escenario de luz o sin luz se concluye que alcanza con todas las expectativas, no tiene problemas en los que el color lo opaque o en donde la luz impida su detección.

Page 58: ESTIMACIÓN DE DISTANCIAS ABSOLUTAS USANDO UN …

9

BIBLIOGRAFÍA [1] Arduino Uno, [Online]. Available: http://www.arduino.cc

[2] G. Bradski and A. Kaehler, Learning OpenCV Computer Vision with the OpenCV Library. O'Reilly,2008.

[3] G. Bradski and A. Kaehler. Learning OpenCV. [Online]. Available: http://learningopencv.wordpress.com/2010/05/23/opencv-structure-and-content-overview [4] Intel Open Source Computer Vision Library. [Online]. Available: http://opencv.jp/opencv-1.0.0 org/ docs/index.htm

[5] M. Kurisu, H. Muroi, and Y. Yokokohji. Calibration of láser range finder with a genetic algorithm. pages 346–351.IEEE, 2007

[6]Métodos de Regresión. Estimación de Parámetros. http://www.virtual.unal.edu.co/cursos/ciencias/2007315/html/un5/cont_02_42.html

[7] Probabilidad y estadística. Medidas de Variabilidad.[Online]. Available http://www.virtual.unal.edu.co/cursos/ciencias/2001065/html/un1/cont_130_30.html

[8] PortugalZambrano-ESTIMACIÓN de Distancias con Cámara web y láser.

[9] L. G. Shapiro and G. C. Stockman. Computer Vision. Prentice Hall, 2001 [10] Systems, Intelligence, Robotics and Percerption, “Grupo SIRP”, Systems, Intelligence, Robotics and Percerption [En línea].