PROYECTO FIN DE CARRERA
RECONSTRUCCIÓN 3D DE
MODELOS UTILIZANDO TÉCNICAS
DE VISIÓN ARTIFICIAL
AUTOR: Vilá Ubieto, Karen
DIRECTORES: Arranz Domingo, Álvaro Alvar Miró, Manuel Sánchez Miralles, Álvaro
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
Autorizada la entrega del proyecto del alumno/a:
Karen Vilá Ubieto
LOS DIRECTORES DEL PROYECTO Álvaro Arranz Domingo
Fdo.: ……… Fecha: ……/ ……/ ……
Manuel Alvar Miró
Fdo.: ……… Fecha: ……/ ……/ ……
Álvaro Sánchez Miralles
Fdo.: ……… Fecha: ……/ ……/ ……
Vº Bº del Coordinador de Proyectos Álvaro Sánchez Miralles
i
Resumen
Uno de los objetivos de la visión artificial es conseguir que un ordenador llegue a analizar una escena real como lo haría una persona. Para conseguir este propósito, es necesario crear un modelo 3D de dicha escena. La reconstrucción tridimensional tiene varias aplicaciones, como la navegación de un robot permitiéndole conocer en qué parte de la escena se encuentra y poder planificar sus movimientos sin necesidad de ayuda humana. También es útil para determinar magnitudes como distancias, superficies o volúmenes, lo cual puede ser aplicable para controles de calidad ya que se pueden verificar los procesos y superficies de los objetos que se estén fabricando. Otra aplicación es la digitalización de museos o monumentos históricos, para crear visitas virtuales a las cuales los usuarios pueden acceder desde Internet. Estas son algunas de las muchas utilidades existentes de la reconstrucción tridimensional y por esta razón surge la necesidad de desarrollar este proyecto.
Lo que se pretende con este proyecto es conseguir un algoritmo que, a partir de imágenes, llegue a crear un modelo tridimensional de un objeto. Para conseguir dicho objetivo, en primer lugar se han estudiado las diferentes técnicas desarrolladas para la reconstrucción en 3D para conocer las posibilidades existentes. Algunas de estas técnicas como la telemetría láser o la luz estructurada permiten reproducir modelos muy exactos y precisos, pero con el inconveniente de emplear un equipo costoso. Otras tienen tiempos de ejecución muy altos como la visión estéreo densa y por ello se optó finalmente por una reconstrucción estereoscópica dispersa basada en puntos de interés, al proporcionar una solución robusta y a la vez más rápida que el resto de las técnicas investigadas.
A continuación se analizaron los principales detectores de puntos de interés (esquinas y bordes), implantando algunos de ellos como los detectores Harris, KLT, SUSAN y CSS, para la detección de esquinas.
Resumen
Los mejores resultados se obtuvieron con el detector de CSS, ya que es el detector que más esquinas del objeto detecta. Para la detección de bordes se estudiaron los detectores de Roberts, Sobel, Canny y LoG entre otros, siendo el Canny el que más bordes reales del objeto obtenía. Todos los detectores implantados se probaron con imágenes reales para realizar una comparación entre ellos, atendiendo a criterios de eficacia y rapidez.
Otro tipo de detectores estudiados fueron los que permiten la detección de líneas rectas. El único detector implantado fue el basado en transformada de Hough, el cual se probó en distintas imágenes para comprobar su eficacia en objetos de geometrías rectas y también en objetos redondeados.
Por último se investigó sobre la segmentación en imágenes, ya que éste es un paso esencial en todo proceso de reconstrucción. Se estudiaron e implantaron algunas técnicas, para conseguir separar un objeto del fondo de manera óptima, como los contornos activos y k-means. Estas técnicas se compararon y probaron con distintas imágenes.
Ilustración 1.Obtención de un punto Q en el espacio.
Una vez estudiado e implementado todos los detectores de puntos de interés y algoritmos de segmentación, se llevó a cabo la programación de
iii el objeto del fondo. De esta manera, se reduce la zona de trabajo. Después se procede a ejecutar un detector de esquinas, para identificar los puntos de interés del objeto. Por último se lleva a cabo la etapa de reconstrucción en 3D, realizando una correspondencia de puntos entre las dos imágenes para finalmente obtener sus puntos tridimensionales por un proceso de triangulación. Para comprobar la eficacia del algoritmo se realizaron varias pruebas con varias imágenes tomadas por una cámara estéreo.
Los mejores resultados obtenidos con el algoritmo son con imágenes con objetos de geometrías rectas. Al tratarse de una reconstrucción estereoscópica basada en esquinas, los resultados obtenidos con objetos redondos no son los óptimos, puesto que estos objetos apenas contienen esquinas. En la Ilustración 2, se puede ver la reconstrucción de un cubo a partir de una imagen.
Ilustración 2. Reconstrucción 3D de un objeto.
El presente trabajo demuestra que se puede realizar un algoritmo que reconstruya un objeto en el espacio, dejándose como trabajo futuro su optimización para todo tipo de objetos. Además constituye una importante base para futuros desarrollos, ya que se han estudiado y comparado muchas técnicas para el análisis de imágenes.
Summary
Summary
One of the goals of artificial vision is to permit that a computer gets to analyze a real scene, as a person would do. To achieve this purpose it is necessary to create a 3D model of that scene. The three-dimensional reconstruction has several applications, such as robot navigation, allowing it to know in what part of the scene he is located and being able to plan its movements without needing human help. It is also useful for determining quantities such as distances, areas or volumes, which may be applicable for quality controls as it can verify the processes and areas of objects that are being manufactured. Another application is the digitization of historical monuments and museums to create virtual tours, which users can access from the Internet. These are some of the many uses of three-dimensional reconstruction and for this reason there is a need to develop this project. The purpose of this project is to obtain an algorithm that, based on images, creates a three-dimensional model of an object. To achieve this aim, in first place the different techniques developed about 3D reconstruction were studied in order to know the different possibilities. Some of these techniques such as telemetry laser or structured light obtain models which are very accurate and precise, but with the disadvantage of using expensive equipment. Others have very high running times as dense stereo vision and therefore a stereoscopic disperse reconstruction based on interest points was chosen, as it provides a robust and faster solution than the other techniques investigated.
Moreover, the main interest point detectors (corners and edges) were analysed, and some were implemented such as detectors Harris, KLT, SUSAN and CSS to detect corners. The best results were obtained with detector CSS since it is the detector that more corners of the object
Summary
v to make a comparison between them, according to efficiency and speed criteria.
Another types of detectors studied were detectors for straight-line detection The only detector implemented was based on the Hough transform, which was tested on different images to verify its effectiveness in straight line and rounded objects.
Finally segmentation in images was investigated, as this is an essential step in every reconstruction process. Some of the techniques were studied and implemented to obtain the separation of the object from the background, like active contours and k-means. The different techniques were compared and tested with different images.
Illustration 1. Obtaining the point Q in three-dimensions.
Having studied and implemented all the points of interest detection and segmentation algorithms, the programming of an algorithm was carried out that allowed to create a three-dimensional model.
Therefore, the final algorithm has a first stage, were a segmentation of the image is done, separating the object from the background. In this way, the area of detection is reduced and later on corner detection is performed. The last step is the 3D reconstruction, where a matching between points of the two images is done to finally obtain the tree-dimensional points by a
D isto rsió n de len te C orre cció n d e distorsión
Figura 1.9: Ejemplo de rectificaci´on de distorsi´on de lente.
Reconstrucci´on 3D
A partir de las vistas, mediante la t´ecnica de triangulaci´on, es posible obtener un modelo 3D del objeto proyectado en las vistas. El principio
C1 C2 B A Q O bjeto 3D V ista 2 V ista 1 C entro óptico 2 C entro óptico 1
Summary
triangulation process. To verify the efficiency of the algorithm different tests were done with variety of images taken by the stereo camera.
The best results obtained with the algorithm are with images with objects of straight geometries. As it a stereo reconstruction based on corners, the results obtained with rounded objects are not son good, as these objects don’t contain so many corners. In Illustration 2, the reconstruction of a cube is shown.
Illustration 2. 3D Reconstruction of an object.
This work shows that an algorithm can be done to reconstruct an object in three-dimensions, leaving for future developments the optimization for all kinds of objects. In addition it is an important basis for future developments, as many different techniques for image analysis were studied and compared.
D
OCUMENTO
N
º
1: M
EMORIA
Índice
Parte I Memoria ... 1
Capítulo 1 Introducción... 2
1 Introducción... 2
1 Estudio de los trabajos existentes / tecnologías existentes... 3
1.1 Técnicas de reconstrucción ... 3
1.2 Técnicas multivistas ... 4
1.3 Cámara móvil o visión activa ... 5
1.4 Técnicas de Luz Estructurada... 5
1.5 Telemetría Láser ... 6
1.6 Conclusiones... 6
2 Motivación del proyecto ... 8
3 Objetivos ... 11
4 Metodología / Solución desarrollada... 12
5 Recursos / herramientas empleadas... 13
Capítulo 2 Reconstrucción por visión estéreo ... 14
1 Introducción... 14
1.1 Imagen digital... 14
1.2 Esquema de un sistema de visión artificial ... 15
2 Modelo de lente Pinhole ... 16
3 Visión estéreo... 19
4 Geometría Proyectiva ... 21
5 Geometría epipolar... 22
6 Correspondencia estéreo ... 23
7 Triangulación... 24
Capítulo 3 Detección de Características ... 26
1 Introducción... 26
2 Detección de esquinas ... 27
iii
2.4 Curvature Scale Space (CSS) ... 32
2.5 Comparación detectores de esquinas ... 34
2.6 Conclusiones... 43
3 Detección de bordes ... 43
3.1 Operador Robert Cross... 45
3.2 Operador Sobel... 46
3.3 Operador Prewitt ... 46
3.4 Canny... 46
3.5 LoG ... 50
3.6 Comparación detectores de bordes ... 50
3.7 Conclusiones... 55
4 Líneas rectas ... 55
4.1 Transformada de Hough ... 55
4.2 Pruebas detector de líneas rectas ... 57
4.3 Conclusiones... 57
Capítulo 4 Segmentación ... 59
1 Introducción... 59
2 Contornos Activos ... 59
3 Kmeans ... 61
4 Comparación de algoritmos de segmentación de imágenes.... 62
Capítulo 5 Algoritmo... 70 1 Introducción... 70 2 Segmentación... 70 3 Detección de características... 71 4 Reconstrucción tridimensional... 72 4.1 Correspondencia estéreo... 72 4.2 Triangulación... 75
Capítulo 6 Matlab aplicado a visión artificial ... 76
1 Operaciones con matrices ... 76
1.1 Definición de una matriz... 76
1.2 Operadores ... 77
1.3 Matrices particulares ... 77
Índice
2 Programación en MATLAB... 78
2.1 Sentencia if ... 78
2.2 Sentencia for ... 79
2.3 Sentencias while, break ... 79
3 Gráficos... 80
3.1 Plot ... 80
3.2 Plot3 ... 81
4 Funciones más importantes de la “Image Processing Toolbox” 81 4.1 Introducción... 81 4.2 imread ... 82 4.3 imwrite... 82 4.4 imshow ... 82 4.5 rgb2gray ... 83 4.6 edge ... 83 4.7 imresize... 83 4.8 conv2... 83 4.9 imfilter... 83 4.10 immultiply ... 84 Capítulo 7 Resultados ... 85 Capítulo 8 Conclusiones ... 89
Capítulo 9 Futuros desarrollos... 91
Bibliografía... 92
Parte II Manual de usuario ... 95
Capítulo 1 Detección de características ... 96
1 Detección de esquinas ... 96 1.1 Detector de Harris ... 96 1.2 Detector de KLT ... 97 1.3 Detector SUSAN ... 97 1.4 Detector CSS ... 98 2 Detección de bordes ... 98
v
1 Contornos Activos ... 100
2 K-means ... 101 Capítulo 3 Reconstrucción en 3D... 102
Índice de figuras
FIGURA 1. ROBOT MÓVIL... 9
FIGURA 2. MAPA EN 3D... 9
FIGURA 3. APLICACIONES EN MEDICINA...10
FIGURA 4. RECONSTRUCCIÓN DE UN ANFITEATRO...10
FIGURA 5. CÁMARA BUMBLEBEE 2...13
FIGURA 6. IMAGEN FORMADA POR PÍXELES...14
FIGURA 7.EJEMPLO DE IMAGEN ESTEREOSCÓPICA...15
FIGURA 8. MODELO DE LA CÁMARA PINHOLE...16
FIGURA 9. IMAGEN CON Y SIN DISTORSIÓN. ...18
FIGURA 10. MODELO DE DOS CÁMARAS...19
FIGURA 11. OBTENCIÓN DE UN PUNTO Q EN EL ESPACIO...20
FIGURA 12. GEOMETRÍA EPIPOLAR...23
FIGURA 13.DIFERENCIAS ENTRE UN BORDE Y UNA ESQUINA EN FUNCIÓN DE LA INTENSIDAD...27
FIGURA 14.MÁSCARAS DE CONVOLUCIÓN 3X3...29
FIGURA 15. DIFERENTES MÁSCARAS CIRCULARES EN DIFERENTES POSICIONES EN LA IMAGEN...31
FIGURA 16. DETECCIÓN DE ESQUINAS EN UN CUBO DE RUBIK...37
FIGURA 17. DETECCIÓN DE ESQUINAS DE UNA GRAPADORA...39
FIGURA 18. DETECCIÓN DE ESQUINAS EN UNA TALADRADORA...40
FIGURA 19. DETECCIÓN DE ESQUINAS EN UN COCHE...42
FIGURA 20. CAMBIOS DE DIRECCIÓN EN LA INTENSIDAD EN FUNCIÓN DEL GRADIENTE...44
FIGURA 21. MÁSCARAS DE CONVOLUCIÓN 2X2 DEL OPERADOR ROBERT CROSS...45
FIGURA 22. MÁSCARAS DE CONVOLUCIÓN 3X3 DEL OPERADOR SOBEL...46
FIGURA 23. MÁSCARAS DE CONVOLUCIÓN 3X3 DEL OPERADOR PREWITT...46
FIGURA 24. EJEMPLO DE IMAGEN DE 5X5 PÍXELES...48
FIGURA 25. ORIENTACIÓN DEL BORDE SEGÚN LA DIRECCIÓN DEL EJE...49
FIGURA 26. MÁSCARAS DE CONVOLUCIÓN DE APROXIMACIÓN DEL LAPLACIANO...50
FIGURA 27. DETECCIÓN DE BORDES EN UN CUBO DE RUBIK CON LOS DISTINTOS DETECTORES DE BORDES...51
FIGURA 28.DETECCIÓN DE BORDES EN UNA GRAPADORA CON LOS DISTINTOS DETECTORES DE BORDES...52
FIGURA 29.DETECCIÓN DE BORDES EN UNA TALADRADORA CON LOS DISTINTOS DETECTORES DE BORDES...53
FIGURA 30.DETECCIÓN DE BORDES EN UN COCHE CON LOS DISTINTOS DETECTORES DE BORDES...54
FIGURA 31. REPRESENTACIÓN GRÁFICA DE LA TRANSFORMADA DE HOUGH (A) EN EL ESPACIO CARTESIANO, (B) ESPACIO PARAMÉTRICO...57
FIGURA 32. DETECCIÓN DE LÍNEAS RECTAS EN LOS DISTINTOS OBJETOS...58
FIGURA 33.RESULTADOS DE LA SEGMENTACIÓN DE LOS OBJETOS UTILIZANDO CONTORNOS ACTIVOS...63
FIGURA 34. SEGMENTACIÓN DEL CUBO DE RUBIK UTILIZANDO K‐MEANS CON DISTINTO NÚMERO DE CLUSTERS ...65 FIGURA 35. SEGMENTACIÓN DE UNA GRAPADORA UTILIZANDO K‐MEANS CON DISTINTO NÚMERO DE
FIGURA 37.SEGMENTACIÓN DE UN COCHE UTILIZANDO K‐MEANS CON DISTINTO NÚMERO DE CLUSTERS...68 FIGURA 38. IMAGEN IZQUIERDA DEL CUBO EN ESCALA DE GRISES...71 FIGURA 39. IMAGEN IZQUIERDA DEL CUBO SEGMENTADO POR CONTORNOS ACTIVOS. ...71 FIGURA 40. IMAGEN SEGMENTADA DEL CUBO Y DETECCIÓN DE ESQUINAS. ...72 FIGURA 41. PUNTOS CORRESPONDIENTES EN LA IMAGEN DERECHA...73 FIGURA 42. LÍNEAS EPIPOLARES EN LA IMAGEN DERECHA...74 FIGURA 43. CORRESPONDENCIA ENTRE IMÁGENES CON FACTOR DE CONFIANZA. ...74
FIGURA 44. RECONSTRUCCIÓN 3D DE UN CUBO UTILIZANDO FACTOR DE CONFIANZA...75
FIGURA 45. IMAGEN ESTEREOSCÓPICA DE UN CUBO...85
FIGURA 46. RECONSTRUCCIÓN 3D DEL CUBO...86
FIGURA 47. RECONSTRUCCIÓN 3D DEL CUBO DESDE OTRA VISTA. ...86
FIGURA 48. RECONSTRUCCIÓN 3D DE UN CUBO UTILIZANDO FACTOR DE CONFIANZA...87
FIGURA 49.IMAGEN ESTEREOSCÓPICA DE UNA GRAPADORA...88
Índice de tablas
TABLA 1. TABLA COMPARATIVA DE LAS DIFERENTES TÉCNICAS DE RECONSTRUCCIÓN... 7
TABLA 2. COMPARACIÓN DE LOS DETECTORES DE ESQUINAS...36
TABLA 3. COMPARACIÓN DETECTORES DE ESQUINAS DEL CUBO DE RUBIK...38
TABLA 4.COMPARACIÓN DETECTORES DE ESQUINAS EN LA GRAPADORA...39
TABLA 5. COMPARACIÓN DE DETECTORES DE ESQUINAS EN UNA TALADRADOR...41
TABLA 6. TIEMPO DE EJECUCIÓN DE LOS DETECTORES DE ESQUINA EN LA IMAGEN DEL COCHE...43
TABLA 7.TIEMPO DE EJECUCIÓN DE LA SEGMENTACIÓN UTILIZANDO CONTORNOS ACTIVOS...64
TABLA 8. TIEMPO DE EJECUCIÓN DE LA SEGMENTACIÓN DEL CUBO DE RUBIK CON K‐MEANS...65
TABLA 9. TIEMPO DE EJECUCIÓN DE LA SEGMENTACIÓN DE UNA GRAPADORA CON K‐MEANS...66
TABLA 10. TIEMPO DE EJECUCIÓN DE LA SEGMENTACIÓN DE UNA TALADRADORA CON K‐MEANS...67
TABLA 11.TIEMPO DE EJECUCIÓN DE LA SEGMENTACIÓN DE UN COCHE CON K‐MEANS...69
Memoria. Introducción
Capítulo 1 I
NTRODUCCIÓN
1 Introducción
En los últimos años, los algoritmos para la reconstrucción de objetos reales en 3D han recibido atención significativa, no sólo en la visión artificial, sino también como herramientas para una variedad de aplicaciones en medicina, fabricación, robótica, arqueología y otros campos que requieren modelado en tres dimensiones de ambientes reales.
Así, el objetivo principal de la reconstrucción 3D es obtener un modelo a partir de una imagen, es decir, imitar la capacidad que tienen los seres humanos de ver un mismo objeto en 3D cuando se le muestra una imagen del objeto en 2D. Este objetivo se concibe como algo necesario para conseguir un lenguaje gráfico de comunicación entre el ordenador y el ser humano.
Algunas aplicaciones de la reconstrucción 3D se dan en el área de ingeniería biomédica. La reconstrucción de estructuras anatómicas a partir de imágenes médicas como resonancias magnéticas se ha convertido en una herramienta importante en el diagnostico médico y la planificación de terapias y procedimientos quirúrgicos.
Otros tipos de aplicaciones pueden ser la reconstrucción de ciudades, edificios históricos o museos para visitas virtuales permitiendo al usuario la visión del lugar con la sensación de estar allí.
La reconstrucción en tres dimensiones también puede ser utilizada en el ámbito industrial, como la creación de modelos CAD en 3D para luego fabricar prototipos.
se recrea un modelo tridimensional de una escena, este modelo podría ser utilizado por un robot para navegar por la escena.
1 Estudio de los trabajos existentes / tecnologías
existentes
1.1 Técnicas de reconstrucción
Como se ha comentado el objetivo de la visión 3D es recuperar la información de profundidad o tercera dimensión a partir de imágenes. La reconstrucción 3D es el proceso mediante el cual objetos reales son reproducidos en un ordenador, manteniendo sus características físicas (dimensiones, volumen y forma). Existen diversas técnicas de reconstrucción, cuyo objetivo principal es obtener un algoritmo que sea capaz de realizar la conexión del conjunto de puntos representativos del objeto en forma de elementos de superficie. La eficiencia de las técnicas utilizadas define la calidad final de la reconstrucción.
Existen distintas propuestas en la literatura del proceso de reconstrucción de objetos 3D que se podrían clasificar en cinco grupos:
1. Técnicas multivistas: permite extraer la información tridimensional mediante la puesta en correspondencia de las informaciones bidimensionales procedentes de dos o más captadores de imagen (ver [1]).
2. Cámara móvil: denominada en alguna bibliografía como técnicas de visión activa, permite extraer la información 3D a partir del flujo de imagen obtenido por un sensor, conocido el flujo de velocidades de la cámara. En este caso donde los parámetros de las cámaras cambian continuamente, y no es posible realizar una calibración clásica (ver [2]).
3. Técnicas de luz estructurada: son técnicas de visión activa en cuanto que modifican las condiciones del entorno. La distorsión producida por la proyección de patrones simples (rayos o planos),
Memoria. Introducción
generados mediante luz coherente o luz láser, permite la extracción de la información tridimensional (ver [3]).
4. Telemetría láser: permiten determinar el mapa de profundidad de la escena con base al tiempo transcurrido entre la emisión y detección de un pulso láser (ver [4]).
5. Control de parámetros ópticos (Análisis enfoque/
desenfoque): permiten determinar el mapa de profundidad de la
escena a partir del nivel de enfoque en cada píxel de la escena (ver [5]).
1.2 Técnicas multivistas
El término multivista en visión se utiliza cuando existe más de una vista de una escena. A través de varias imágenes de una escena, tomadas desde distintos puntos de vista, se puede tener la idea de las características tridimensionales de la escena en estudio.
Según el número de imágenes que se emplee, se habla de visión bifocal (dos imágenes o vistas), trifocal (tres imágenes o vistas), cuadrifocal (cuatro imágenes o vistas) o n-focal (n imágenes o vistas), y en cada uno de los casos se aplica una serie de restricciones basadas en la geometría. La geometría de dos vistas es conocida también como la geometría epipolar.
Dentro de la visión estéreo también existen diferentes tipos de reconstrucción: dispersa y densa, como se comenta en [6]. La reconstrucción dispersa se basa en obtener las coordenadas tridimensionales de ciertas partes de la escena, cuya proyección en las imágenes se conocen como puntos de interés, los cuales pueden ser bordes, esquinas u otro tipo de puntos característicos. Por lo general este tipo de reconstrucción se utiliza en aplicaciones que necesitan conocer el entorno rápidamente y sin mayor detalle, por ejemplo las aplicaciones en
aplicaciones relacionadas con la graficación, realidad virtual y cualquier otra cuyo objetivo sea modelar digitalmente de manera realista una escena del mundo. El principal problema de este proceso es su consumo computacional, ya que mientras la reconstrucción dispersa se centra en puntos concretos, la densa exige una correlación entre todos los puntos de la imagen.
El desarrollo de las técnicas de visión estéreo ha sido objeto de un gran esfuerzo de investigación en los últimos años. El objetivo de la visión estéreo es resolver dos problemas (ver [7]): el problema de correspondencia consistente en decidir para un punto del plano de imagen izquierdo, que punto en el plano de imagen derecho es correspondiente (son imágenes del mismo punto físico). El segundo problema es el problema de reconstrucción que trata de obtener, dados dos puntos correspondientes en ambos planos de imagen, las coordenadas 3D del punto en el espacio respecto a un sistema de coordenadas del mundo (ver [8]).
1.3 Cámara móvil o visión activa
La visión activa permite la detección de objetos en movimiento y su seguimiento a través de la escena. Mediante sensores las cámaras pueden moverse adecuadamente, de manera que exista una correspondencia entre el mundo real y el virtual. Por lo general, se tratan de sistemas retroalimentados que permiten obtener las imágenes de mayor interés para realizar la reconstrucción. Además, se pueden controlar los parámetros de la cámara como el enfoque o el zoom.
Este tipo de sistemas tienen un importante campo de aplicación en la robótica.
1.4 Técnicas de Luz Estructurada
Dentro del campo de la visión tridimensional, existen un gran número de técnicas que hoy son empleadas con éxito en numerosas aplicaciones industriales. Entre todas ellas, se encuentra lo que se conoce como la luz estructurada.
Memoria. Introducción
Este tipo de sistema se caracteriza por ser un método directo y activo. Un método directo se caracteriza por que se pueden obtener conclusiones estudiando los datos obtenidos directamente de las imágenes como comenta [9]. Además, se trata de un sistema activo debido a que es necesaria una fuente generadora de luz estructurada, por lo que introduce un tipo de energía al entorno donde se realiza el estudio.
Los sistemas de luz estructurada se basan en estudiar la deformación que sufre un patrón de luz al ser intersecado por cualquier objeto. Este es el problema principal de este tipo de herramientas, ya que se necesita un tipo de luz concentrada en un punto. No valdría como sistema de iluminación, cualquiera de los sistemas normales que se emplean actualmente, como bombillas o fluorescentes ya que, están compuestos por ondas de diferentes frecuencias provocando que el haz se difumine por todo el entorno.
Una de las mejores soluciones es emplear un haz láser, ya que se comporta en una luz ideal para este tipo de sistemas. Además del patrón de luz, es necesario tener una cámara que recoja todas las imágenes de la deformación del plano láser.
1.5 Telemetría Láser
La telemetría láser consiste en medir el tiempo de recorrido de un rayo luminoso (láser) hasta la superficie de medida. Se puede medir de dos formas: con la medida del tiempo de vuelo y el cálculo por diferencia de fase. En el primer caso los datos se obtienen midiendo el tiempo entre la emisión del impulso luminoso y la observación del retorno. En el segundo se regula el impulso luminoso siguiendo una frecuencia determinada y se mide el desfase entre el rayo emitido y la luz retornada.
1.6 Conclusiones
de telemetría láser y luz estructurada consiguen construcciones con una gran exactitud y precisión, pero también presentan varias desventajas como el alto coste del equipo. Además de que este tipo de técnicas son especialmente dependientes en la geometría del objeto y necesitan ambientes muy controlados.
Por el contrario, la visión estereoscópica que se basa en la triangulación entre un punto de la escena y al menos dos proyecciones de este punto sobre imágenes tomadas desde distintas perspectivas, es una de las técnicas más utilizadas para la reconstrucción tridimensional, por su robustez y su menor costo computacional y económico.
Tabla 1. Tabla comparativa de las diferentes técnicas de reconstrucción
Dentro de la visión estereoscópica, la reconstrucción dispersa permite reducir aún más el consumo computacional. Este tipo de reconstrucción limita la región de estudio alrededor de posibles características de una imagen como bordes o esquinas mientras que la reconstrucción densa implica una comparación de todos los puntos de las imágenes. Otra manera de mejorar la precisión y eliminar ambigüedad en el proceso de correspondencia estereoscópica es el uso de más de dos cámaras, sin
Método Ventajas Inconvenientes
Telemetría láser
Luz estructurada • Exactitud • Precisión
• Equipo caro • Dependiente de la
geometría del objeto • Ambientes controlados Visión estéreo dispersa • Robusto • Rápido • Coste reducido • Menor exactitud • Problemas con ciertas texturas • Sensible a ambigüedades
Visión estéreo densa • Reconstrucción detallada
• Sensible a ambigüedades
• Computacionalmente caro
Visión estéreo con
n-vistas • Menor error
• Geometría compleja • Coste mayor
Memoria. Introducción
embargo esto implica una mayor complejidad geométrica y el coste de al menos una cámara más.
2 Motivación del proyecto
La visión artificial constituye uno de los temas de investigación que posee en la actualidad un espectro más amplio de posibles aplicaciones industriales, y que en un futuro inmediato adquirirá todavía una mayor relevancia. Muestra de ello son los múltiples esfuerzos que se dedican al tema además del interés que muestra la industria en estas aplicaciones. En la actualidad, el desarrollo de nuevas técnicas de procesamiento de imágenes, así como la evolución de los equipos informáticos, permite incluir la tercera dimensión como un objetivo real.
La estimación de las coordenadas tridimensionales de un objeto en una escena es útil en muchas aplicaciones:
• Control de calidad: En el control de calidad industrial se han hecho muy útiles las tecnologías tridimensionales, ya que pueden verificar los procesos y las superficies de los objetos que se estén fabricando.
• Robots móviles: En el guiado de un robot móvil como en el de la Figura 1 se pueden aprovechar las reconstrucciones en 3D y así poder detectar, localizar y reconocer objetos para facilitar la navegación por la escena.
Figura 1. Robot móvil
• Cartografía y topografía: Para la elaboración de mapas tridimensionales como en el de la Figura 2 e imágenes 3D de un terreno.
Memoria. Introducción
• Medicina: Ahora es muy común que los ordenadores y los robots estén ayudando a los médicos con operaciones que antes no podían llevarse a cabo. Además de para las operaciones, también se pueden utilizar para el estudio de enfermedades y detección de tumores.
Figura 3. Aplicaciones en medicina
• Modelado en 3D: En la creación de maquetas o reconstrucción de visitas virtuales en ciudades como en el de la Figura 4, museos…
Figura 4. Reconstrucción de un anfiteatro
adecuen tanto en efectividad y en velocidad en la reconstrucción de objetos. El aspecto de la velocidad es importante, ya que en casi todas las aplicaciones industriales se requiere que los sistemas funcionen en tiempo real, por ello se utiliza una técnica de reconstrucción basada en puntos de interés que permite un menor tiempo de procesado.
Otro aspecto a tener en cuenta es el coste del equipo. Mientras que las técnicas de luz estructurada y telemetría láser desarrollan reconstrucciones más precisas y exactas, el coste de los equipos necesarios es más elevado.
Por tanto, la reconstrucción por visión estéreo permite una solución robusta y rápida con un coste reducido.
3 Objetivos
El proyecto consiste en la reconstrucción de objetos basándose en el análisis de imágenes adquiridas desde un par de cámaras dispuestas en forma paralela (cámaras estéreo). Las cámaras utilizadas estarán calibradas permitiendo obtener dos imágenes relacionadas entre sí. A partir de ese par de imágenes se deberá generar una malla en tres dimensiones, formada por puntos en tres dimensiones y rectas que unan los puntos.
Por tanto los objetivos del proyecto son: • Análisis de imágenes.
o Implantación y comparación de varios algoritmos de detección de esquinas.
o Implantación y comparación de varios algoritmos de detección de bordes.
o Implantación y comparación de varios algoritmos de detección de zonas de interés y/o segmentación.
• Reconstrucción en 3D de varios objetos sencillos (con aristas rectas) a través de imágenes, utilizando los algoritmos de detección anteriormente implantados.
Memoria. Introducción
4 Metodología / Solución desarrollada
Para llevar a cabo la reconstrucción, se realizarán las siguientes tareas: • Obtención de imágenes: Se capturarán imágenes con la cámara
estéreo de diferentes objetos. Dichos objetos tendrán geometrías de creciente dificultad.
• Detección de esquinas: Se buscarán varios algoritmos que sean capaces de detectar las esquinas de las imágenes escogidas. Además de la implantación de algunos de ellos en Matlab. Una vez implantados se llevará a cabo un análisis comparativo teniendo en cuenta la calidad de los puntos detectados y el tiempo de ejecución. La detección de esquinas se aborda en la sección de Detección de esquinas dentro del Capítulo 3, donde se explican los distintos algoritmos y se muestran las imágenes de prueba.
• Detección de bordes o aristas: Se investigarán los posibles algoritmos capaces de detectar los bordes de las imágenes escogidas. Además de la implantación de algunos de ellos en Matlab. Se realizará una comparación de los distintos algoritmos atendiendo a criterios de calidad y tiempo de procesado. Este tipo de detección se explica en la sección Detección de Características en el Capítulo 3.
• Detección de puntos de interés: Se analizará el estado del arte en este campo y se procederá a implantar los algoritmos más importantes. A continuación se hará una comparativa de los distintos algoritmos. Entre las zonas de interés se estudia la detección de líneas rectas en la sección Líneas rectas en el Capítulo 3. Por el contrario la segmentación de imágenes se explica en un capítulo aparte, Capítulo 4.
Por último, se realizará una reconstrucción en tres dimensiones de los objetos utilizando los algoritmos encontrados que mejores resultados obtengan. El algoritmo final se trata en el Capítulo 5.
5 Recursos / herramientas empleadas
El objetivo principal del proyecto es realizar un programa capaz de crear una maya en tres dimensiones con la geometría de un objeto obtenido con imágenes desde una cámara estéreo.
Para conseguir esto se utilizará el programa Matlab especialmente la librería de Image Processing. También se empleará Simulink con la librería Video and Image Processing.
La adquisición de las imágenes a reconstruir se realizará con una cámara estéreo, estando las dos cámaras en paralelo y con una resolución de 1024x768 píxeles. La cámara estéreo empleada fue el modelo Bumblebee2 como se muestra en la Figura 5.
Memoria. Reconstrucción por visión estéreo
Capítulo 2 R
ECONSTRUCCIÓN POR VISIÓN
ESTÉREO
1 Introducción
1.1 Imagen digital
Una imagen digital está compuesta por una matriz de elementos rectangulares, denominados píxel y por lo tanto cada imagen digital está compuesta de una matriz de píxeles (M x N) como muestra la Figura 6.
Figura 6. Imagen formada por píxeles
En imágenes en escala de grises se tienen todos los tonos de grises entre blanco y negro, y por lo general se utilizan 256 tonos de escala de grises para definir la imagen (8 bits), siendo el negro puro el 0 y el blanco el 255. En el caso del color existen varios modelos para representarlo digitalmente. Los más utilizados en imagen digital son el modelo aditivo
visibles mediante la mezcla de los tres colores básicos, rojo, verde y azul, en distinta intensidad y proporción, por esta razón se denominan colores aditivos. Por tanto, cada píxel en una imagen RGB está representado por un conjunto de tres componentes.
1.2 Esquema de un sistema de visión artificial
El esquema básico de un sistema de visión artificial es una cámara que captura imágenes del mundo real, conectada a un ordenador que hará los cálculos necesarios, mostrando al usuario el resultado mediante una pantalla. El proceso de análisis de la imagen consta de varias etapas: adquisición de la imagen, preprocesamiento, segmentación, extracción de características, interpretación o clasificación.
• Adquisición de la imagen: se obtiene la imagen adecuada del objeto en estudio (ver Figura 7).
Figura 7.Ejemplo de imagen estereoscópica
• Preprocesamiento: con el fin de mejorar la calidad de la imagen obtenida se emplean ciertos filtros digitales que eliminan el ruido en la imagen.
• Segmentación: se identifican el objeto u objetos a estudiar.
• Extracción de características: se detectan los atributos de interés del objeto a estudiar.
• Interpretación: por último se lleva cabo una interpretación del objeto que en el caso de este proyecto se trataría de la propia reconstrucción tridimensional del mismo.
Memoria. Reconstrucción por visión estéreo
2 Modelo de lente Pinhole
Matemáticamente, una cámara puede modelarse como una función de transformación que convierte puntos 3D a 2D. El modelo Pinhole suele ser el habitual para modelar cámaras digitales y se muestra en Figura 8. Un punto M en 3D se proyecta en el plano de la imagen a través del centro óptico C. El centro óptico se encuentra a una distancia del plano de la imagen denominada distancia focal f.
El eje óptico de la Figura 8 es la recta que pasa por el centro óptico C y es perpendicular al plano de la imagen. Por lo general, el centro óptico suele estar entre el objeto y el plano de la imagen, sin embargo en algunas ocasiones puede estar detrás del plano de la imagen.
Figura 8. Modelo de la cámara Pinhole
La línea que une dos centros ópticos se llama línea base.
Un punto 3D M es proyectado en el plano de imagen como m. Este punto m es la intersección de la recta formada por los puntos C y M con el plano de la imagen.
Ecuación 1 donde la matriz € f 0 0 0 0 f 0 0 0 0 1 0
se llama matriz de perspectiva.
Otro aspecto a tener en cuenta es que, normalmente, los puntos de una escena se representan en el sistema de coordenadas del mundo y no en el de la cámara. Por lo tanto es necesario hacer una transformación que convierta coordenadas del mundo en coordenadas de la cámara (las coordenadas de la cámara son las referidas a un sistema de referencia con centro en el centro óptico de dicha cámara). Esta transformación, se trata de una rotación y una traslación que se representa mediante una matriz llamada matriz de parámetros extrínsecos:
€ X Y Z 1 = r11 r12 r13 tx r21 r22 r23 ty r31 r32 r33 tz 0 0 0 1 ⋅ X' Y' Z' 1 Ecuación 2
siendo (X,Y,Z)T las coordenadas de la cámara y (X,’Y’,Z’)T las coordenadas del mundo.
La relación entre las coordenadas de la cámara (X,Y,Z)T y las centrales de la imagen (x,y) viene definido como:
€ nx ny n = f 0 0 0 0 f 0 0 0 0 1 0 ⋅ X Y Z 1 Ecuación 3 ! x f = X Z y f = Y Z " # $ $ % $ $ & nx ny n ' ( ) ) ) * + , , , = f 0 0 0 0 f 0 0 0 0 1 0 ' ( ) ) ) * + , , , -X Y Z 1 ' ( ) ) ) ) * + , , , ,
Memoria. Reconstrucción por visión estéreo
Por último, se debe mencionar la distorsión geométrica causada por las imperfecciones en la fabricación y montaje de las lentes de la cámara, su efecto es el mostrado en la Figura 9 . Esta distorsión se debe de tener en cuenta porque afecta a los puntos del plano de la imagen:
€
xd = x + Dx(x, y) yd = y + Dy(x, y)
Ecuación 4
La función de distorsión obtiene la imagen real a partir de la imagen ideal.
Figura 9. Imagen con y sin distorsión.
Para obtener las coordenadas laterales de la imagen en necesaria la matriz K, llamada matriz de calibración de la cámara.
€
xf = Kxxd + Cx yf = Kyyd + Cy
Ecuación 5
En conclusión, un punto M=(X,’Y’,Z’)T es proyectado en la imagen como m=(xf,yf)T de tal manera que el modelo final que relaciona ambas coordenadas sin distorsión es la Ecuación 6.
€ nxf nyf n = Kxf 0 Cx 0 0 Kyf Cy 0 0 0 1 0 ⋅ r11 r12 r13 tx r21 r22 r23 ty r31 r32 r33 tz 0 0 0 1 ⋅ X' Y' Z' 1 Ecuación 6
Siendo los parámetros de la matriz de la izquierda de la Ecuación 6
€ Kxf 0 Cx 0 0 Kyf Cy 0 0 0 1 0
los parámetros extrínsecos y los de la matriz de la
derecha € r11 r12 r13 tx r21 r22 r23 ty r31 r32 r33 tz 0 0 0 1
los parámetros intrínsecos. La multiplicación de
ambas, resulta en la denominada matriz de proyección.
3 Visión estéreo
Se conoce como visión estéreo al empleo de dos o más cámaras para recuperar la información de profundidad de un objeto. Por lo general se suele emplear un modelo de dos cámaras como el mostrado en Figura 10.
Figura 10. Modelo de dos cámaras
Se define como centro óptico al punto situado a una distancia igual a la distancia focal del plano de la imagen y que permite proyectar la información 3D en el plano de la imagen. La idea general es que sabiendo que los puntos A y B de la Figura 11 son proyecciones de un mismo punto tridimensional Q y conociendo los centros ópticos de la proyección C1 y
Memoria. Reconstrucción por visión estéreo
C2, se puede encontrar el punto Q a partir de la intersección entre las dos rectas <C1 , A> y <C2 , B>.
Figura 11. Obtención de un punto Q en el espacio
La visión estereoscópica consta de las siguientes etapas:
• Establecimiento de correspondencias: empareja en las diferentes imágenes aquellos puntos 2D procedentes de un punto 3D común.
• Calibración de las cámaras: una cámara se calibra mediante la determinación de los parámetros intrínsecos y extrínsecos. Los parámetros intrínsecos son aquellos que permiten describir la geometría y óptica del conjunto cámara y tarjeta de adquisición de imágenes. Mientras que los parámetros extrínsecos son los que describen la orientación y posición de la cámara, respecto a un sistema de coordenadas conocido que se suele denominar sistema de coordenadas mundo
• Reconstrucción: determina por triangulación la profundidad de los puntos del objeto en escena, recuperando la tercera dimensión perdida durante el proceso de adquisición de la imagen.
1. Introducci´on 9
D isto rsió n de len te C orre cció n d e distorsión
Figura 1.9: Ejemplo de rectificaci´on de distorsi´on de lente.
Reconstrucci´on 3D
A partir de las vistas, mediante la t´ecnica de triangulaci´on, es posible obtener un modelo 3D del objeto proyectado en las vistas. El principio
C1 C2 B A Q O bjeto 3D V ista 2 V ista 1 C entro óptico 2 C entro óptico 1
4 Geometría Proyectiva
Existen dos tipos diferentes de geometrías principales que se utilizan para la reconstrucción, la Proyectiva y la Euclidiana.
La Geometría Euclidiana es un subconjunto de lo que se conoce como Geometría Proyectiva. La geometría Proyectiva modela adecuadamente el proceso de la proyección de imagen de una cámara fotográfica porque permite a parte de traslaciones y rotaciones, transformaciones en las proyecciones de la perspectiva.
Si se supone un punto (x1,x2) en el plano Euclidiano, para representar ese mismo punto en el plano Proyectivo hay que añadir una tercera coordenada con un 1 al final (x1,x2,1).
El punto (x1,x2,1) será el mismo punto que (nx1,nx2,n), siendo n el llamado parámetro proyectivo y por lo tanto se podría definir el punto como (nx1,nx2,nx3),
Si una recta en el plano Euclidiano se define como
€
ax1+ bx2+ c = 0
Ecuación 7. Recta en el plano Euclidiano
en el plano proyectivo se obtendría
€
ax1+ bx2+ cx3 = 0
Ecuación 8. Recta en el plano proyectivo
donde
€
lT
⋅ x = xT ⋅ l = 0
Ecuación 9
siendo una recta
€
l = [a,b,c]T y un punto
€
x = [x1, x2, x3]
Tperteneciente a esa recta, de tal forma que existe una dualidad entre puntos y rectas, es decir, los puntos y rectas tienen la misma representación en el plano proyectivo.
Memoria. Reconstrucción por visión estéreo
Para que un punto pertenezca a una recta en el plano proyectivo debe satisfacer la Ecuación 9.
Por tanto se pueden transformar rectas en puntos y puntos en rectas donde:
€
l = Fx
Ecuación 10
Además, dadas dos rectas
€
l = [a,b,c]Ty
€
l'= [a',b',c']T si se desea saber el
punto de intersección entre ambas se calcula como:
€
m = l × l'
Ecuación 11
La recta que pasa por dos puntos x1, x2 queda definida por:
€
l = x1× x2
Ecuación 12
Para transformar un punto en el plano proyectivo de nuevo al plano Euclidiano solo es necesario dividir por la tercera coordenada.
5 Geometría epipolar
La geometría de dos vistas es conocida como la Geometría Epipolar. Un punto M en el espacio es representado en dos imágenes como dos puntos proyectados m1y m2. Los centro ópticos de cada imagen C1 y C2 respectivamente como se presenta en la Figura 12(a). A partir de uno de los puntos proyectados en las imágenes no se puede determinar M, sin embargo se puede saber que el punto M debe estar en la recta que va desde el centro óptico C1 hasta m1, como se ve en la Figura 12(b). Para determinar el punto m2, se proyectan los posibles puntos de la recta entre C1 y m1 (ver Figura 12(c)). Uno de los puntos proyectados será m2, sin embargo no se puede saber exactamente la ubicación, solo que m2
Memoria. Reconstrucción por visión estéreo
Figura 12. Geometría epipolar
A pesar de que no se pueda conocer el punto m2, es de gran utilidad saber que el punto correspondiente a m1 en la segunda imagen está sobre una línea y no en cualquier zona de la imagen.
6 Correspondencia estéreo
Se trata de encontrar el punto de la imagen izquierda en la imagen derecha. La matriz fundamental F permite hallar la recta epipolar en una imagen conocido un punto en la otra imagen. Esta matriz es constante para una geometría bifocal dada, no depende ni de m1 y m2 ni M. Por tanto conocido un punto en la imagen izquierda se obtiene la recta epipolar en la imagen derecha, de tal forma que se reduce significativamente la zona de búsqueda del punto en la imagen derecha. Sin embargo aún hay que realizar una búsqueda por la línea epipolar. Existen varios métodos para obtener la correspondencia que se pueden dividir en locales y globales.
Los métodos globales aplican restricciones a la imagen entera. Por lo general, estos métodos suelen ser robustos. Además se obtienen buenos resultados, pero son computacionalmente costosos.
t´ermino epipolar viene del griego epi (`!πι) que significa sobre, encima, y
polos (π´oλoς) cuyo significado es punto de atracci´on o uno de los dos puntos
de una esfera que son intersectados por su eje de rotaci´on. La Geometr´ıa Epipolar lleva este nombre porque, como se ver´a m´as adelante, a cada una de las dos im´agenes se le asocia un epipolo.
La geometr´ıa de dos vistas es presentada en la Figura 4.1. Un punto 3D
M es visto en las dos im´agenes como m1 y m2 (ver Figura 4.1a). Como se
estudi´o en el cap´ıtulo anterior, la imagen es definida como la proyecci´on del espacio 3D en un plano de imagen 2D por medio de un centro ´optico. Los centros ´opticos en este caso son C1 y C2. A partir de m1 solamente no se
puede saber exactamente la ubicaci´on exacta de M , ya que en el proceso de proyecci´on se ha perdido la informaci´on de profundidad. Sin embargo, se
Imagen 1 Imagen 2 línea epipolar Imagen 1 Imagen 2 Imagen 1 Imagen 2 Imagen 1 Imagen 2 (d) (c) (a) (b)
Memoria. Reconstrucción por visión estéreo
En cambio, los métodos locales emplean restricciones en los puntos alrededor del que se desea evaluar. La desventaja de utilizar métodos locales es que generalmente obtienen falsas correspondencias sobretodo en zonas donde las intensidades del punto son muy parecidas o cuando puntos en la imagen izquierda no aparecen en la imagen derecha o viceversa. Por el contrario estos métodos son fáciles de implantar y más rápidos que los globales.
Dentro de los locales existen los basados en características y los basados en áreas. El método basado en área es el que se empleó para la reconstrucción. Este método utiliza la medida de correlación para evaluar la similitud entre un punto en la imagen izquierda y el posible correspondiente en la derecha. Para ello se recorre la recta epipolar en la imagen derecha y se calcula la correlación en función de los valores de intensidad de un vecindario del punto utilizando la suma normalizada de diferencias al cuadrado. Al realizar la búsqueda en la línea epipolar, puede ocurrir que existan varios puntos en la zona de la imagen de la derecha que se parezcan a los de la zona de la imagen de la izquierda. Si se define un factor que mida la similitud entre zonas, denominado factor de confianza, si hay varias zonas que se parecen, el factor de confianza será cero. Esto es equivalente a que la función de correlación a lo largo de la recta tiene varios mínimos locales que son comparables.
Para obtener mejores resultados, una vez que se determina el punto de la recta, se hace una búsqueda local del máximo en un cuadrado centrado en el punto. Si todos los puntos de la zona de búsqueda tienen un valor de correlación parecido, se tratará de una zona sin texturas, con lo cual el factor de confianza será pequeño. El factor de confianza permite determinar como de parecidos son los dos puntos hallados.
7 Triangulación
ello, se debe encontrar el punto de corte de las rectas formadas por los puntos m1 y m2 , y sus respectivos centros ópticos. Dicho punto de corte será el punto tridimensional M. Generalmente, las rectas se cruzan en el espacio y por lo tanto no existe solución exacta. Para ello, se empleará la técnica de los mínimos cuadrados para obtener un punto de corte aproximado.
Memoria. Detección de Características
Capítulo 3 D
ETECCIÓN DE
C
ARACTERÍSTICAS
1 Introducción
En procesamiento de imágenes, el concepto de detección de características se refiere a la obtención de información de la imagen. Las características resultantes serán subconjuntos del dominio de la imagen, a menudo bajo la forma de puntos aislados, curvas continuas o regiones conectadas.
Aunque no existe una definición exacta de qué constituye una característica, se puede definir, como una parte interesante de una imagen (interest point). Se suelen usar como punto de partida para muchos algoritmos de visión por ordenador.
Debido a que el algoritmo se basa en dichas características, el algoritmo será tan bueno como sea su detector. Otra cosa a tener en cuenta, es que un buen detector de característica debe detectarla misma característica en dos o más imágenes diferentes de la misma escena, es decir, una de las propiedades que debe tener un detector de características es la repetibilidad o repetición.
Otras propiedades que debe tener un detector de característica es exactitud (ya que debe detectar la característica en el píxel correcto) y estabilidad (debe detectar la característica después de que la imagen haya sufrido algún tipo de transformación geométrica como rotación o cambio de escala).
Existen varios detectores de características ya desarrollados, que varían en el tipo de característica a detectar, la complejidad computacional y la repetibilidad. Estos detectores se pueden dividir en varios grupos siendo los más importantes los detectores de esquinas, de bordes y de líneas
2 Detección de esquinas
Las esquinas en imágenes representan información útil y son muy importantes para describir objetos para su reconocimiento e identificación. Una esquina puede ser definida como la intersección de dos bordes. Una esquina también puede ser definida como un punto en el que hay dos bordes con direcciones distintas y dominantes en la zona cercana al punto. Otra forma de definir una esquina es como una zona donde las variaciones de intensidad en las direcciones x e y son grandes o dicho de otra manera una región donde la intensidad varía en ambas direcciones. Por el contrario, en un borde la intensidad sólo varía en una dirección como se ve en la Figura 13.
Un detector de esquinas requiere que se cumplan determinados requisitos. En primer lugar, todas las esquinas verdaderas deben ser detectadas y ninguna esquina falsa. En segundo lugar, las esquinas detectadas tienen que estar correctamente localizadas. Además el detector debe tener repetibilidad (estabilidad), ser robusto ante ruido y ser computacionalmente eficiente.
Para la detección de esquinas en imágenes existen numerosos detectores, de los cuales aquí se van a tratar sólo algunos: Harris y Stephens, Kanade-Lucas-Tomasi (KLT), SUSAN y CSS.
Zona lisa: no hay
cambios en ninguna dirección
Borde: sólo hay cambio
de intensidad en una sola dirección
Esquina: cambio de
intensidad en ambas direcciones
Memoria. Detección de Características
2.1 Harris y Stephens
Este algoritmo propuesto por Harris y Stephens como se puede ver en [10] es uno de los más usados, y se basa en la idea de Moravec en [11] de que una esquina está caracterizada por elevados cambios de intensidad.
El algoritmo de Moravec, fue uno de los primeros algoritmos de detección de esquinas. Éste comprueba cada píxel en la imagen para ver si es una esquina, teniendo en cuenta cómo de parecida es una ventana centrada en el píxel con otras ventanas superpuestas centradas en píxeles cercanos.
La similitud se mide tomando la suma de las diferencias al cuadrado (SSD) entre las dos ventanas. Un número menor indica más similitud. Si el píxel se encuentra en una región de intensidad uniforme entonces las ventanas cercanas serán similares. Si el píxel está en un borde entonces ventanas cercanas en una dirección perpendicular al borde serán muy diferentes.
El detector de Harris es uno de los detectores de esquinas más populares debido a su invariancia a los cambios en rotación, escala, iluminación y ruido.
El método de Harris se basa en el cálculo de la matriz de correlación estimada por las derivadas de primer orden para cada píxel, definida por la matriz C de la Ecuación 13: € C = ∂I ∂x 2 ∂I ∂x ∂I ∂y ∂I ∂x ∂I ∂y ∂I ∂y 2
Para calcular los gradientes se utilizan máscaras de convolución 3x3, siendo estas máscaras las de la Figura 14.
Figura 14.Máscaras de convolución 3x3
En este detector la matriz C por lo general es suavizada con un filtro gausiano
€
wG(σ)con desviación típica
€
σ , ya fijado.
Si se analizan los autovalores de la matriz, se puede determinar si el punto es una esquina, un borde o ninguno de los dos. Al ser la matriz C simétrica y semidefinida positiva, sus dos autovalores son positivos. Si en un determinado punto los dos autovalores de la matriz C son grandes, esto implica que cualquier cambio en cualquier dirección implica un importante cambio de intensidad, y por lo tanto el punto será una esquina. Si por el contrario, sólo uno de los autovalores es grande y el otro pequeño, el punto será un borde. Por último si ambos autovalores son pequeños, entonces el punto estará en una zona plana.
Se define el parámetro de detección de Harris como:
€
R = det C − k(trazaC)2
Ecuación 14. Parámetro de Harris
donde k es un parámetro de sensibilidad ajustable que se establece a 0,04 (sugerido por Harris).
El cálculo de este parámetro hace que no sea necesario calcular los autovalores explícitamente ya que es computacionalmente costoso. Para ello es necesario determinar un límite de R, de tal forma que el punto será
Memoria. Detección de Características
una esquina si el parámetro de detección de Harris es mayor que el límite establecido.
En este método, el único parámetro que hay que considerar es el límite de R.
2.2 Kanade-Lucas-Tomasi (KLT)
El detector de esquinas Kanade-Lucas-Tomasi(KLT) expuesto en [12] y [13] fue propuesto varios años después que el detector de Harris.
Este detector también se basa en cálculo de la matriz C, como el detector de Harris. Sin embargo en este caso sí se calculan explícitamente los autovalores.
Existen dos parámetros, el límite del autovalor
€
λ2 y el tamaño D de la
ventana DxD. El algoritmo se puede describir de tal forma que para cada punto p de la imagen se calcula los autovalores de la matriz C, considerando sólo el autovalor
€
λ2. A continuación se busca el menor
autovalor
€
λ2 en el vecindario D del punto p, en el caso que dicho
autovalor
€
λ2 sea mayor que el límite establecido, el punto p se pone en
una lista L de posibles esquinas.
Para evitar solapes, la lista L se pone en orden decreciente, de tal forma que para cada punto p de la lista, los puntos que estén dentro del vecindario DxD y tengan menor autovalor son eliminados.
El detector KLT detecta una lista de puntos que cumplen que
€
λ2 es mayor
al límite y además que el vecindario DxD de estos puntos no se solapan. El límite de
€
λ2 se puede estimar con un histograma de
€
λ2, mientras que el
tamaño del vecindario D suele estar entre 2 y 10.
Uno de los problemas que pueden surgir es que si se toman valores muy grandes de D, las esquinas detectadas pueden moverse de la posición
2.3 Smith (SUSAN)
Smith desarrolló un detector de esquinas en [14] basado en una idea muy simple y completamente distinta al resto de los algoritmos ya existentes, sin usar ninguna derivada.
SUSAN(Smallest Univalue Segment Assimilating Nucleus) detecta esquinas y bordes y además es más resistente al ruido a pesar de que no se requiere ningún filtrado. Cada píxel en la imagen es utilizado como el centro de una máscara circular (normalmente se utiliza una máscara de 37 pixeles utilizando una ventana cuadrada de 5x5 con 3 pixeles a cada lado).
Los valores de la escala de grises de la máscara circular son comparados con el del píxel central, denominado núcleo.
Todos los píxeles con intensidad similar al núcleo son considerados como parte de la misma estructura en la imagen como se puede ver en la Figura 15.
Figura 15. Diferentes máscaras circulares en diferentes posiciones en la imagen
Smith denomina a la parte oscura de la máscara the Univalue Segment Assimilating Nucleus(USAN) como se puede observar en la Figura 15. El USAN correspondiente a una esquina, es aquel cuya área USAN es menor que la mitad del área total de la máscara (caso (a) en la Figura 15).
Memoria. Detección de Características
La intensidad del núcleo de la máscara es comparada con la intensidad del resto de los otros píxeles que forman la máscara mediante la siguiente función: € c(r,r0) = 100e− I ( r)−I (r0) t 6
Ecuación 15. Comparación de las intensidades
donde
€
r0 es la posición del núcleo, r la posición de cualquiera de los otros puntos de la máscara, I(r) es la intensidad de cualquier píxel y t es el umbral de intensidad (brightness difference threshold).
Esta comparación se realiza con todos los pixeles de la máscara circular, siendo el total la Ecuación 16.
€
n = c(r,r0) r
∑
Ecuación 16.
Un píxel se considera esquina si su área USAN, n, es menor que la mitad del área USAN máxima posible (esta área es 3700).
Finalmente, se crea una matriz/imagen intermedia, si n es mayor que el umbral geométrico g, entonces se pone un 0 en la imagen intermedia y sino el valor de n.
Por último se busca el máximo local de la matriz intermedia en una ventana 5x5, siendo declaradas esquinas los pixeles que sean máximos locales.
Para evitar esquinas falsas se calcula el centroide de los USAN, calculando la distancia del centro de gravedad al núcleo. Por lo general, una esquina verdadera tendrá un centro de gravedad lejano al núcleo.
2.4 Curvature Scale Space (CSS)
Este algoritmo tenía dos problemas: el primero era que si el parámetro
€
σ (desviación típica de la función gausiana, utilizada para calcular las derivadas) era muy grande no detectaba esquinas verdaderas y el segundo era que si era muy pequeño detectaba esquinas falsas. También existía el problema del umbral t, ya que éste era muy sensible.
El algoritmo utilizado fue un detector basado en el detector de esquinas CSS, que en vez de utilizar un umbral global emplea un umbral adaptativo local (adaptive local curvature threshold) desarrollado en [17].
El CSS original aplica un detector de bordes y extrae los contornos de los bordes, uniendo los huecos entre los contornos y buscando las uniones en T. Después de extraer los bordes, se calcula la curvatura a una escala alta, para cada contorno, siendo la definición de curvatura:
€
κ(u,σ) = X (u,˙ σ) ˙ ˙ Y (u,σ) − ˙ ˙ X (u,σ) ˙ Y (u,σ) ˙
X (u,σ)2
− ˙ Y (u,σ)2
(
)
1,5Ecuación 17.Cálculo de la curvatura
Donde
€
˙
X (u,σ) = x(u) ⊗ ˙ g (u,σ) ,
€
˙
Y (u,σ) = y(u) ⊗ ˙ g (u,σ),
€
˙ ˙
X (u,σ) = x(u) ⊗ ˙ ˙ g (u,σ),
€
˙ ˙
Y (u,σ) = y(u) ⊗ ˙ ˙ g (u,σ),
€
⊗ es el operador convolución,
€
g(u,
σ
) es la función gaussiana con desviación típica€ σ y € ˙ g (u,
σ
), € ˙ ˙g (u,
σ
) sus derivadas de primer y segundo orden.A continuación se localizan las esquinas utilizando escalas inferiores para mejorar su localización y se comparan las esquinas marcadas como uniones en T. Por último se eliminan las esquinas cerradas.
El procedimiento utilizado con un umbral adaptativo local es muy similar al original. En primer lugar se extraen los contornos o bordes de la imagen con el detector de bordes Canny, obteniendo una imagen binaria.
A continuación se unen los huecos entre contornos y se extraen los contornos.
Se calcula la curvatura de todos los contornos a baja escala, considerando los máximos locales de la curvatura como candidatos a