Vous êtes sur la page 1sur 132
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) PROYECTO FIN DE CARRERA RECONSTRUCCIÓN 3D DE

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)

PROYECTO FIN DE CARRERA

RECONSTRUCCIÓN 3D DE MODELOS UTILIZANDO TÉCNICAS DE VISIÓN ARTIFICIAL

AUTOR:

DIRECTORES:

Vilá Ubieto, Karen

Arranz Domingo, Álvaro

Alvar Miró, Manuel Sánchez Miralles, Álvaro

MADRID, junio 2009

Autorizada la entrega del proyecto del alumno/a:

Karen Vilá Ubieto

LOS DIRECTOR ES 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 Fdo.: …………………… Fecha: ……/ ……/ ……

Resumen

Resumen

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

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.

Resumen Los mejores resultados se obtuvieron con el detector de CSS, ya que es el detector

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 un algoritmo que permitiera crear un modelo tridimensional. Así, el algoritmo final realiza una primera etapa de segmentación donde separa

Resumen

Resumen

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.

Resumen el objeto del fondo. De esta manera, se reduce la zona de trabajo. Después se
Resumen el objeto del fondo. De esta manera, se reduce la zona de trabajo. Después se

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

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 detects. For edge detection, detectors Roberts, Sobel, Canny and LoG were studied among others, being Canny the detector that more real edge of the object obtains. All implanted detectors were tested with real images iv

Summary

Summary

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.

Q O b j e to 3 D B A V is t a 2
Q
O b j e to 3 D
B
A
V is t a 2

V is t a 1

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

Summary

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.

Summary triangulation process. To verify the efficiency of the algorithm different tests were done with variety
Summary triangulation process. To verify the efficiency of the algorithm different tests were done with variety

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.

DOCUMENTO Nº 1: MEMORIA

Índice

Índice

Parte IMemoria

1

Capítulo 1

Introducción .........................................................................

2

1Introducción

..................................................................................... 1Estudio de los trabajos existentes / tecnologías existentes

.......

2

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

Telemetría Láser

  • 1.5 ................................ ................................ ................................ ..

6

Conclusiones

  • 1.6 ................................ ................................ ................................ ........

6

2Motivación del proyecto 3Objetivos

8

11

12

13

.................................................................

........................................................................................ 4Metodología / Solución desarrollada 5Recursos / herramientas empleadas

...........................................

...........................................

Capítulo 2Reconstrucción por visión estéreo

.................................

14

1Introducción

...................................................................................

14

  • 1.1 Imagen digital

................................ ................................ ................................ .....

14

  • 1.2 Esquema de un sistema de visión artificial

................................ ........................

15

2Modelo de lente Pinhole 3Visión estéreo ................................................................................

...............................................................

16

19

4Geometría Proyectiva 5Geometría epipolar

...................................................................

........................................................................ 6Correspondencia estéreo

.............................................................

21

22

23

7Triangulación ................................................................................. Capítulo 3Detección de Características

...........................................

24

26

1Introducción

................................................................................... 2Detección de esquinas

.................................................................

26

27

Harris y Stephens

  • 2.1 ................................ ................................ ...............................

28

  • 2.2 Kanade-Lucas-Tomasi (KLT)

................................ ................................ .............

30

Smith (SUSAN)

  • 2.3 ................................ ................................ ................................ ..

31

Índice

Índice
  • 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

Operador

  • 3.2 Sobel

46

Operador Prewitt

  • 3.3 ................................ ................................ ................................

46

Canny

  • 3.4 ................................ ................................ ................................ .................

46

LoG

  • 3.5 ................................ ................................ ................................ ....................

50

  • 3.6 Comparación detectores de bordes

50

Conclusiones

  • 3.7 ................................ ................................ ................................ ......

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 4Segmentación

59

1Introducción

59

2Contornos Activos

59

3Kmeans

61

4Comparación de algoritmos de segmentación de imágenes

62

Capítulo 5Algoritmo

70

1Introducción

70

70

3Detección de características

71

4Reconstrucció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

  • 1.4 Acceso a elementos de una matriz

77

Índice

Índice

2

Programación en MATLAB

78

Sentencia

if

  • 2.1 ................................ ................................ ................................ ........

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

Introducción

  • 4.1 ................................ ................................ ................................ ........

81

  • 4.2 ................................ ................................ ................................ ................

imread

82

  • 4.3 ................................ ................................ ................................ ................

imwrite

82

  • 4.4 ................................ ................................ ................................ ...............

imshow

82

rgb2gray

  • 4.5 ................................ ................................ ................................ .............

83

  • 4.6 ................................ ................................ ................................ ...................

edge

83

  • 4.7 ................................ ................................ ................................ ..............

imresize

83

  • 4.8 ................................ ................................ ................................ ..................

conv2

83

  • 4.9 imfilter................................ ................................ ................................ .................

83

4.10

immultiply

84

Capítulo 7Resultados

85

Capítulo 8Conclusiones

89

Capítulo 9

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 KLT

Detector

de

97

Detector SUSAN

  • 1.3 ................................ ................................ ................................

97

CSS

  • 1.4 ................................ ................................ ................................ .....

Detector

98

2

Detección de bordes

98

3

98

Capítulo 2Segmentación

100

iv

Índice

Índice

1Contornos Activos

100

2K-means

101

Capítulo 3

Reconstrucción en 3D

102

Índice de figuras

Índice de figuras

FIGURA
1.ROBOT
MÓVIL

9

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

18

FIGURA
10.MODELO
DE
DOS
CÁMARAS

19

FIGURA
11.OBTENCIÓN
DE
UN
PUNTO
Q
EN
EL
ESPACIO

20

 

..............................

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
KMEANS
CON
DISTINTO
NÚMERO
DE
CLUSTERS

 

...............

65

FIGURA
35.SEGMENTACIÓN
DE
UNA
GRAPADORA
UTILIZANDO
KMEANS
CON
DISTINTO
NÚMERO
DE


CLUSTERS

..............................

66

FIGURA
36.SEGMENTACIÓN
DE
UNA
TALADRADORA
UTILIZANDO
KMEANS
CON
DISTINTO
NÚMERO
DE


CLUSTERS

..............................

67

Índice de figuras

Índice de figuras

FIGURA
37.SEGMENTACIÓN
DE
UN
COCHE
UTILIZANDO
KMEANS
CON
DISTINTO
NÚMERO
DE
CLUSTERS .......

68

FIGURA
38.IMAGEN
IZQUIERDA
DEL
CUBO
EN
ESCALA
DE
GRISES

..........

71

 

71

72

 

.....

73

 

74

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

 

86

FIGURA
48.RECONSTRUCCIÓN
3D
DE
UN
CUBO
UTILIZANDO
FACTOR
DE
CONFIANZA

87

FIGURA
49.IMAGEN
ESTEREOSCÓPICA
DE
UNA
GRAPADORA

88

FIGURA
50.RECONSTRUCCIÓN
3D
DE
LA
GRAPADORA

88

Índice de tablas

Í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
KMEANS

65

TABLA
9.TIEMPO
DE
EJECUCIÓN
DE
LA
SEGMENTACIÓN
DE
UNA
GRAPADORA
CON
KMEANS

66

TABLA
10.TIEMPO
DE
EJECUCIÓN
DE
LA
SEGMENTACIÓN
DE
UNA
TALADRADORA
CON
KMEANS ....................

67

TABLA
11.TIEMPO
DE
EJECUCIÓN
DE
LA
SEGMENTACIÓN
DE
UN
COCHE
CON
KMEANS

......

69

TABLA
12.COLOR,
MARCADORES
Y
ESTILOS
DE
LÍNEA
PARA
LA
FUNCIÓN
PLOT

..................

81

Parte I MEMORIA

Memoria. Introducción

Memoria. Introducción 


Capítulo 1 INTRODUCCIÓ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.

En cambio, el propósito de la reconstrucción en 3D en visión artificial permitirá analizar las características de una imagen, de tal forma que se podrá detectar, localizar y reconocer objetos en imágenes. Por ejemplo, si

Memoria. Introducción

Memoria. Introducción 


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

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 tiempo real como la navegación de robots móviles. Por el contrario la reconstrucción densa implica obtener la totalidad de los puntos proyectados de cada objeto de la escena. Principalmente se utiliza para

Memoria. Introducción

Memoria. Introducción 


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 coordenadas del mundo (ver [8]).

el espacio

respecto a

un

sistema de

  • 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

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

Las diferentes técnicas de reconstrucción existentes presentan varias ventajas e inconvenientes y por lo tanto dependiendo del fin de la reconstrucción unas serán más apropiadas que otras. La Tabla 1 muestra una comparación de las distintas técnicas de reconstrucción. Las técnicas

Memoria. Introducción

Memoria. Introducción 


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.

M

étodo

 

Ventajas

 

Inconvenientes

   

Equipo caro

Telemetría láser

Dependiente de la

Exactitud

geometría del objeto

Luz estructurada

Precisión

Ambientes controlados

   

Menor exactitud

Visión estéreo

Problemas con

dispersa

Robusto

Rápido

ciertas texturas

Sensible a

Coste reducido

 
   

ambigüedades

 

Reconstrucción

 

Visión estéreo densa

detallada

Computacionalmente

Sensible a

caro

ambigüedades

 

Visión estéreo con

 

Geometría compleja

n-vistas

Menor error

Coste mayor

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

Memoria. Introducción

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.

Memoria. Introducción

Memoria. Introducción 

Memoria. Introducción 
 Figura 1. Robot móvil • Cartografía y topografía : Para la elaboración de

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 
 Figura 1. Robot móvil • Cartografía y topografía : Para la elaboración de

Figura 2. Mapa en 3D

Memoria. Introducción

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.

Memoria. Introducción 
 • Medicina : Ahora es muy común que los ordenadores y los robots

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…

Memoria. Introducción 
 • Medicina : Ahora es muy común que los ordenadores y los robots

Figura 4. Reconstrucción de un anfiteatro

En la reconstrucción en tres dimensiones se emplean diferentes métodos algunos de ellos ya mencionados anteriormente y por lo tanto lo que se pretende en este proyecto es emplear aquellas técnicas que mejor se

Memoria. Introducción

Memoria. Introducción 


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. 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.

o

Memoria. Introducción

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.

Memoria. Introducción

Memoria. Introducción 

  • 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. Introducción 
 5 Recursos / herramientas empleadas El objetivo principal del proyecto es realizar un

Figura 5. Cámara Bumblebee 2

Memoria. Reconstrucción por visión estéreo

Memoria. Reconstrucción por visión estéreo 


Capítulo 2

RECONSTRUCCIÓ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.

Memoria. Reconstrucción por visión estéreo 
 Capítulo 2 R ECONSTRUCCIÓN POR VISIÓN ESTÉREO 1 Introducción 1.1

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

(RGB =

Red, Green, Blue) y el substractivo (CMYK

= Cian, Magenta,

Yellow, Black).

El modelo RGB forma

todos los colores del espectro

Memoria. Reconstrucción por visión estéreo

Memoria. Reconstrucción por visión estéreo 


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).

Memoria. Reconstrucción por visión estéreo 
 visibles mediante la mezcla de los tres colores básicos, rojo,

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

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.

Memoria. Reconstrucción por visión estéreo 
 2 Modelo de lente Pinhole Matemáticamente, una cámara puede modelarse

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.

Si M= (X,Y,Z) T y m=(x,y) T se puede obtener una relación:

Memoria. Reconstrucción por visión estéreo

Memoria. Reconstrucción por visión estéreo 


" x

$

$ f

#

$

y

$

% f

X

=

Z

Y

=

Z

' nx

)

*

,

'

)

f

& ny = 0

)

)

(

,

n , +

)

) ( 0

0

f

0

0 0 *

0

1

,

0

,

0 , +

-

Ecuación 1

donde la matriz

f

0

  0

0

f

0

0 0

0

1

0

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

=

r 11

r 21

r 31

0

r 12

r 22

r 32

0

r 13

r 23

r 33

0

t

x

t

y

t z

1

  X '

Y '

Z '

1

Ecuación 2

siendo (X,Y,Z) T las coordenadas de la cámara y (X,’Y’,Z’) T

coordenadas del mundo.

las

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   f    ny = 0     
 nx
f
ny = 0
  n
 
  0

0

f

0

0 0

0

1

0

0  

Ecuación 3

Memoria. Reconstrucción por visión estéreo

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:

x

d

y

d

=

x

+

D x ( x, y )

= y

+

D y ( x, y )

Ecuación 4

La función de distorsión obtiene la imagen real a partir de la imagen ideal.

Memoria. Reconstrucción por visión estéreo 
 Por último, se debe mencionar la distorsión geométrica causada por

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.

x f =

K x x d

y f = K y y d

+ C x + C y

Ecuación 5

En conclusión, un punto M=(X,’Y’,Z’) T es proyectado en la imagen como

m=(x f ,y f ) T de tal manera que el modelo final que relaciona ambas

coordenadas sin distorsión es la Ecuación 6.

Memoria. Reconstrucción por visión estéreo

Memoria. Reconstrucción por visión estéreo 

 

r 11

r 12

r 13

t

  X '

 
 

nx f   K x f

 

ny f = 0

n

 

 

0

0

C x 0

K y f C y 0

0

1

0  

r 21

r 31

r 22

r 32

r 23

r 33

x

t

y

t z

Y '

Z '

 

Ecuación 6

0

0

0

1

  • 1

Siendo

los

parámetros de la matriz de

la izquierda de

 

la

Ecuación 6

K x f

0

0

C x 0

K y f C y 0

los

 

parámetros extrínsecos y

los

 

de

la

matriz

de

la

 

0

0

1

0  

r 11

r 12

r 13

t

derecha

r 21

r 31

0

r 22

r 32

0

r 23

r 33

0

t

x

y

t z

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.

Memoria. Reconstrucción por visión estéreo 
  11 12 13   X '  

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

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>.

C 1 C en t r o óp t ic o 1 C 2 C en
C 1
C en t r o óp t ic o 1
C 2
C en t r o óp t ic o 2
Q
O bj e to 3D
B
A
V is t a 2

V is t a 1

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.

Memoria. Reconstrucción por visión estéreo

Memoria. Reconstrucción por visión estéreo 

  • 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 (x 1 ,x 2 ) 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 (x 1 ,x 2 ,1).

El punto (x 1 ,x 2 ,1) será el mismo punto que (nx 1 ,nx 2 ,n), siendo n el llamado

parámetro proyectivo y por lo tanto se podría definir el punto como

(nx 1 ,nx 2 ,nx 3 ),

Si una recta en el plano Euclidiano se define como

ax 1 + bx 2 + c = 0

Ecuación 7. Recta en el plano Euclidiano

en el plano proyectivo se obtendría

ax 1 + bx 2 + cx 3 = 0

Ecuación 8. Recta en el plano proyectivo

donde

l T x = x T l = 0

Ecuación 9

siendo una recta l = [ a, b, c ] T y un punto x = [ x 1 , x 2 , x 3 ] T perteneciente 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

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 ] T y 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 x 1, x 2 queda definida por:

l = x 1 × x 2

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 m 1 y m 2 . 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 C 1 hasta m 1 , como se ve en la Figura 12(b). Para

determinar el punto m 2 , se proyectan los posibles puntos de la recta entre

C 1 y m 1 (ver Figura 12(c)). Uno de los puntos proyectados será m 2 , sin

embargo no se puede saber exactamente la ubicación, solo que m 2

pertenece a la proyección de la recta formada por C 1 y m 1 . La proyección

de esta recta en la imagen se denomina recta epipolar y se puede

observar en la Figura 12(d).

Memoria. Reconstrucción por visión estéreo

Memoria. Reconstrucción por visión estéreo 

Imagen 2 Imagen 1
Imagen 2
Imagen 1

(a)

(c) Imagen 2 Imagen 1
(c)
Imagen 2
Imagen 1
Imagen 1 Imagen 2
Imagen 1
Imagen 2

(b)

(d) Imagen 2 Imagen 1 epipolar línea
(d)
Imagen 2
Imagen 1
epipolar
línea

Figura 12. Geometría epipolar

A pesar de que no se pueda conocer el punto m 2 , es de gran utilidad

saber que el punto correspondiente a m 1

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.

Memoria. Reconstrucción por visión estéreo

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

Por último, obtenidos los dos puntos en las dos imágenes se lleva a cabo

el proceso de triangulación. La triangulación es el proceso de encontrar

un punto tridimensional M a través de sus proyecciones m 1 y m 2 . Para

Memoria. Reconstrucción por visión estéreo

Memoria. Reconstrucción por visión estéreo 


ello, se debe encontrar el punto de corte de las rectas formadas por los

puntos m 1 y m 2 , 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

Memoria. Detección de Características 


Capítulo 3

DETECCIÓN DE CARACTERÍ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

rectas.

Memoria. Detección de Características

Memoria. Detección de Características 

  • 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.

Zona lisa: no hay cambios en ninguna dirección Borde: sólo hay cambio de intensidad en una
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

Figura 13.Diferencias entre un borde y una esquina en fun ción de la intensidad

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.

Memoria. Detección de Características

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

I I

2 I

I

x y

I

2

 

x y

y

Ecuación 13. Matriz de Correlación

siendo I(x,y) la intensidad en nivel de grises .

Memoria. Detección de Características

Memoria. Detección de Características 


Para calcular los gradientes se utilizan máscaras de convolución 3x3,

siendo estas máscaras las de la Figura 14.

Memoria. Detección de Características 
 Para calcular los gradientes se utilizan máscaras de convolución 3x3, siendo

Figura 14.Máscaras de convolución 3x3

En este detector la matriz C por lo general es suavizada con un filtro

gausiano w G (σ ) 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

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
λ 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

real.

Memoria. Detección de Características

Memoria. Detección de Características 


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.

Memoria. Detección de Características 
 2.3 Smith (SUSAN) Smith desarrolló un detector de esquinas en [14]

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

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, r 0 ) = 100e

I ( r )I ( r 0 )    

t

6

Ecuación 15. Comparación de las intensidades

donde r 0 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, r 0 )

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)

Inicialmente el algoritmo CSS fue propuesto por Mokhtarian and Suomela

en [15] y [16], donde propusieron que las esquinas fueran localizadas en

multi-escala, mientras que su detección seguía siendo en una escala.

Memoria. Detección de Características

Memoria. Detección de Características 


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, 5

Ecuación 17.Cálculo de la curvatura

Donde

X ˙ ( u,σ ) = x