Descargar la presentación
La descarga está en progreso. Por favor, espere
1
L. Enrique Sucar Alberto Reyes ITESM Cuernavaca
Robótica Inteligente L. Enrique Sucar Alberto Reyes ITESM Cuernavaca
2
Visión Robótica Introducción Adquisición y representación de imágenes
Filtrado Detección de orillas Color Estéreo Aplicaciones en robótica
3
¿Qué es Visión? “Visión es saber que hay y donde mediante la vista” (Aristóteles) “Visión es recuperar de la información de los sentidos propiedades válidas del mundo exterior” (Gibson) “Visión es un proceso que produce a partir de las imágenes del mundo una descripción que es útil para el observador y que no tiene información irrelevante” (Marr)
4
Visión Computacional Determinar la identidad y localización de objetos en una imagen, construir una representación tridimensional de un objeto, analizar un objeto para determinar su calidad, descomponer una imagen u objeto en diferentes partes.
5
Ejemplo visión
6
Formación de la imagen
7
Representación Monocromática: I=f(x,y)
Color: f(x,y)=[f_{rojo}(x,y),f_{azul}(x,y),f_{verde}(x,y)]
8
Proyección
9
Proyección perspectiva
y,Y (X,Y,Z) f Z Lente (x,y) Triángulos semejantes: y/f = -Y/(Z - f) = Y/(f-Z) Entonces: y=fY / (f - Z) x=fX / (f - Z)
10
Digitalización de imágenes
24 38 44 43 45 50 56 59 46
11
Efectos de Muestreo (resolución)
12
Dispositivos de captura
Cámaras fotográficas, cámaras de televisión, digitalizadores, sensores de rango (láser), sensores de ultrasonido, rayos X, tomografía, resonancia magnética.
13
Arquitectura sistema de visión
14
Niveles de análisis Procesamiento de nivel bajo
Procesamiento de nivel intermedio Procesamiento de nivel alto óvalo
15
Mejoramiento de la imagen
Previo a obtener características: resaltar aspectos deseados, eliminar ruido, mejorar contraste, etc. Técnicas de pre-procesamiento: operaciones puntuales, filtrado, ecualización por histograma.
16
Operaciones puntuales
Pixel de salida sólo depende de un pixel de entrada S[x,y] = f(E[x,y])
17
Función de Transformación
IS IE
18
Binarización Transformación lineal en el que la imagen de salida tiene 2 valores - blanco y negro S=blanco, si E > T S=negros, si E < T T es el umbral
19
Ejemplos de Operaciones Puntuales
20
Histograma de intensidades
Distribución de niveles de intensidad en una imagen Ejemplo: Estimado de probabilidad de ocurrencia de cada nivel de intensidad: p= nr / nt 1 1 2 2 1 2 1 2 2 1 3 1 3
21
Ejemplos de histogramas
22
Ecualización del histograma
Función de transformación:h s(k) = Sk ni / n Para k = 0, 1, 2, 3 …. Número de niveles Esto es, al hacer la transformación se asigna a cada nivel de intensidad de la imagen de salida el valor de la sumatoria de las probabilidades hasta ese valor Da un valor entre 0 y 1 que hay que multiplicar por una constante (255)
23
Ejemplos de ecualización - antes
24
Ejemplos de ecualización - después
25
Filtrado Filtrar una imagen consiste en aplicar una transformación de forma que se acentúen o disminuyan ciertos aspectos g(x,y) = T[f(x,y)]
26
Filtrado en el Dominio Espacial
Operan directamente sobre los pixels de la imagen Se utiliza generalmente una “máscara” que opera sobre una vecindad de pixels, centrándose sobre el pixel de interés Se realiza una convolución (barrido) de la máscara con la imagen
27
Filtrado en el Dominio Espacial
Cada pixel de la nueva imagen se obtiene mediante la sumatoria de la multiplicación de la máscara por la vecindad del pixel: g(x,y) = S S f(i,j) w(i,j) Generalmente se divide sobre cierto valor constante para normalizar
28
Aplicación de una máscara
29
Convolución máscara Imagen nueva Imagen original 1 1 1 1 1 1 1 1 1 1 1
1 1 Imagen original 1 1 1
30
Convolución - paso 1 máscara Imagen nueva Imagen original 1 1 1 1 1 1
1 1 Imagen original 1 1 2 1
31
Convolución - paso 2 máscara Imagen nueva Imagen original 1 1 1 1 1 1
1 1 Imagen original 1 1 2 5 1
32
Normalización En esta caso se divide entre “9”
(suma de las valores de la máscara) 1 1 1 máscara 1 1 1 1 1 1 Imagen nueva normalizada Imagen nueva 1 2 5
33
Algunos Filtros Filtros puntuales Filtros de suavizamiento
Filtros de acentuamiento Filtros de énfasis de altas frecuencias Cada clase de filtro difiere en los valores utilizados en la máscara
34
Filtros de suavizamiento
Eliminan ruido o detalles pequeños que no sean de interés Filtro pasa-bajos (en frecuencia)
35
Filtros de suavizamiento
Promedio - promedio de pixels vecinos (máscara con unos) Mediana - substituye por mediana de la vecindad Gaussiano - aprox. distribución gaussiana
36
Ejemplos de aplicación de filtros de suavizamiento
37
Filtros de acentuamiento
Intensifica los detalles y cambios, mientras que atenúa las partes uniformes Filtro pasa-altos (en frecuencia)
38
Filtros de acentuamiento
Ejemplo de filtro pasa-alto Suma de los pesos es cero (se “eliminan” regiones de intensidad uniforme)
39
Ejemplos de aplicar filtros pasa-altos
40
Visión de nivel bajo Obtener características útiles para los siguientes niveles de visión: orillas o bordes, color, textura, gradiente, profundidad
41
Imágenes intrínsecas
42
¿Qué es una orilla? Parte de la imagen en que hay un cambio brusco o discontinuidad en la intensidad de la imagen- derivada “alta”
43
Orillas locales Las orillas de una imagen normalmente se detectan como pequeños segmentos o secciones de un borde que se integran en etapas posteriores Orillas locales
44
Operadores de gradiente
Se basan en diferenciar la imagen, es decir, encontrar el gradiente: Df = (df/dx, df/dy) Magnitud del gradiente: |Df| = [ (df/dx)2 + (df/dy)2 ]1/2
45
Aproximación al gradiente
Se puede aproximar el gradiente tomando la diferencia de valores contiguos en la imagen. Para una sección de 2 x 2: df/dx = I 1,2 - I 1,1 df/dy = I 2,1 - I 1,1 1,1 1,2 2,1 2,2
46
Las aproximaciones anteriores se pueden implementar como filtros espaciales (máscaras)
Operadores como el de Roberts, Prewitt y Sobel, se implementan con dos máscaras: una para dx y otra para dy
47
Operadores de Roberts Corresponden a las diferencias cruzadas de 2 x 2
1 -1 1 -1
48
Operadores de Prewitt Corresponden a las diferencias en secciones de 3 x 3 -1 -1 -1 -1 1 -1 1 1 1 1 -1 1
49
Ejemplos con los operadores de Roberts y Prewitt (magnitud)
50
Operadores de Sobel -1 -2 -1 -1 1 -2 2 1 2 1 -1 1
51
Ejemplos con operadores de Sobel
52
Color El color es importante porque:
ayuda a la extracción de características, apoya los niveles superiores como segmentación y reconocimiento. El ojo humano distingue miles de colores y en cambio sólo aprox. 20 niveles de gris - el color es importante en el reconocimiento visual.
53
Espectro El color tiene que ver con la longitud de onda dentro de la luz visible del espectro electromagnético color: violeta azul verde amarillo naranja rojo longitud de onda (nm)
54
Percepción del Color Un objeto se ve de cierto color si refleja las longitudes de onda de dicho color (por ejemplo, verde: nm) y absorbe el resto, al ser iluminado por luz “blanca”
55
Atributos básicos del color
Croma o longitud de onda dominante (Hue) Pureza o saturación Brillantez o intensidad
56
Combinación de colores
La identificación del color se hace mediante la combinación de los 3 tipos de sensores - combinación de colores “primarios” (RGB) Combinación aditiva - luz (a) y substractiva - pigmentos (b)
57
Componentes de una imagen a color
58
Modelos de Color Diferentes formas de representar el color:
modelos sensoriales - orientados a los equipos RGB, CMY, YIQ modelos perceptuales - se asemejan a la percepción humana y se orientan al procesamiento de imágenes y visión HSV, HLS, HSI
59
Modelo RGB Se basa en los componentes primarios: RGB
Se puede representar como un “cubo” con un primario en cada eje
60
Modelo HSI Transformación del espacio RGB al espacio perceptual
Forma de 2 pirámides triangulares unidas en su base
61
Conversión RGB a HSI I = 1/3 (R + G +B) S = 1 - 3 m / (R + G + B)
H = cos -1[ ½ [(R - G) + (R - B) ] ] m = min(R,G,B) [ (R-G)2 + (R-B) (G-B)]1/2
62
Ejemplo de Imagen en HSI
63
Procesamiento de imágenes a color
Detección de orillas Aplicar en cada componente Ecualización del histograma Aplicar sólo en Intensidad (modelo HSI)
64
Ejemplo de ecualización en color [González 98]
65
Ejemplo de detección de orillas con Sobel en RGB
66
Segmentación en base a color
Al ser el color un atributo que ayuda al reconocimiento de objetos, se puede utilizar como una forma inicial de segmentación de imágenes en base a color Por ejemplo, se ha utilizado en: Segmentación de área de piel de personas Identificación de cultivos en imágenes aéreas Idenificación de diferentes tipos de terreno para vehículos autónomos
67
Clasificación en base a color
Se pueden utilizar diferentes técnicas para separar los pixels del color de los objetos de interés, por ejemplo: Determinar una región de interés en el espacio RGB o en otros modelos de color Usar un clasificador bayesiano simple en base a los atributos en algún modelo Utilizar otras técnicas de clasificación o aprendizaje
68
Clasificación en base a color
Región en el espacio RGB Región de “piel” en espacio rg
69
Clasificación en base a color
Ejemplo: detección de regiones de piel
70
Visión Tridimensional
71
Introducción El objetivo de visión 3-D es recuperar la información de profundidad o tercera dimensión a partir de imágenes Una imagen es un objeto bidimensional en que se ha “perdido” la 3-D El proceso de proyección de 3-D a 2-D es irreversible - se pierde información
72
Proyección de 3-D a 2-D Un número infinito de escenas en 3-D pueden generar la misma imagen en 2-D
73
Técnicas Visión estereoscópica Forma de sombreado Forma de textura
74
Visión estereoscópica
Una forma de recuperar la 3-D es mediante el uso de 2 cámaras o visión estéreo La idea es combinar las imágenes de las 2 cámaras y mediante geometría obtener la profundidad de cada punto en la imagen Las 2 cámaras están en posiciones distintas a una distancia conocida
75
Estéreo Z = f - 2df / (y’ -y’’)
76
Algoritmo básico Obtener dos imágenes
Identificar puntos correspondientes en ambas imágenes Mediante geometría calcular la profundidad de cada punto - en base a la distancia entre las cámaras, la posición de los puntos correspondientes en las imágenes y la longitud focal de la cámara
77
Correspondencia (matching)
El aspecto clave en el algoritmo es el de correspondencia entre puntos No es fácil identificar los pixels en las imágenes que corresponden a los mismos puntos u objetos en la escena Alternativas: Correlación o template matching Basada en características
78
Correlación líneas epipolares
79
Medidas de similaridad
Dos comunes: Correlación cruzada: S S T(i,j) I(k,l) Suma de diferencias cuadráticas: S S [T(i,j) – I(k,l)]2
80
Ejemplo
81
Forma de Sombreado En general el mundo esta constituido por objetos opacos y relativamente continuos Considerando una iluminación constante y una reflectividad aproximadamente uniforme - los cambios de intensidad dan información de profundidad
82
Forma de Sombreado
83
Algoritmos Estereo fotométrico - uso de múltiples fuentes de iluminación Relajación - uso de restricciones entre elementos Algoritmo diferencial - uso de información local
84
Ejemplo de aplicación del método de forma de sombreado
85
Visión de Nivel Bajo y Medio
orillas textura Imagen Segmen- tada color 3-D
86
Visión de Nivel Alto Representación del mundo Imagen Segmen-
orillas textura Imagen Segmen- tada Descripción simbólica color 3-D
87
Visión de Alto Nivel Obtiene una interpretación consistente de las características obtenidas en visión de nivel bajo e intermedio Se basa en utilizar conocimiento de los objetos del dominio de interés En base al conocimiento y las características se realiza el reconocimiento
88
Reconocimiento
89
Ejemplo HGP 5080
90
Vector de Características
Las características de un objeto se pueden agrupar en un vector de características (feature vector): V = (v1, v2, …, vn) Este vector da una representación compacta del objeto correspondiente
91
Clasificación La clasificación de objetos consiste en encontrar el tipo (clase) para un objeto desconocido en base al vector de características Para ello podemos considerar el vector como un punto en el espacio n-dimensional de características
92
Espacio de características (ejemplo con 2)
v1 X v2
93
Vecino más cercano Una forma de clasificación es el método del vecino más cercano: se obtienen las características de objetos conocidos se calcula el “centro de masa” de los vectores de cada clase se obtiene el vector de una imagen se calcula la “distancia” a cada clase se selecciona la clase más cercana
94
Clasificación con VMC v1 X v2
95
Reconocimiento Estadístico
Descrita la imagen (instancia) y los modelos (clases) en base a una serie de parámetros, se busca la clase más probable Notación: clases: Ci instancia o patrón: Xj P(Ci): probabilidad a priori de cada clase P(Xj | Ci): probabilidad del patrón dada la clase
96
Reconocimiento Estadístico
Se busca maximizar la probabilidad de la clase dado el patrón Probabilidad posterior, por teorema de Bayes: P(Ci | Xj) = P(Ci) P(Xj | Ci) / P(Xj) Se selecciona la clase Ci que maximiza P
97
Clasificador Bayesiano Simple
La estimación de las probabilidades se simplifica si se considera que los atributos son independientes dada la clase: P(Ci | Xj) = k P(Ci) P(Xj | Ci) P(Ci | Xj) = k P(Ci) P(X1j | Ci) … P(XNj | Ci) Por ejemplo (R,G,B = color): P(objetoj | R,G,B)= k P(Oj) P(R|Oj) P(G|Oj) P(B|Oj) Las probabilidades se pueden estimar a partir de ejemplos
98
Ejemplo de Clasificador Bayesiano Simple
Clase - Robot: si/no Atributos Rojo: [ ] (dividir en intervalos) Verde: [ ] Azul: [ ] Estimación de parámetros: P(t), P(R|t), P(V|t), P(A|t), Clasificación P(r|R,V.A) = k P(t) P(R|t) P(V|t) P(A|t)
99
Aplicaciones en Robótica
Navegación en interiores Navegación en exteriores Localización (marcas naturales y artificiales) Reconocimiento de diferentes objetos (p. ej. tipos de terreno) Reconocimiento de personas y ademanes (comunicación humano robot) Identificación y localización de objetos (otros robots, para manipulación, etc.)
100
Estimación de profundidad con laser
Punto láser Cámara Punto láser P(Olaser|Z) Z Z
101
Reconocimiento de personas y ademanes
102
Reconocimiento de ademanes
103
Seguimiento (tracking)
104
Navegación en endoscopía
105
Ejemplo de Endoscopía
106
Robótica Se utiliza para que un robot móvil pueda navegar en pasillos de edificios Se asume que el robot tiene una fuente de iluminación (lámpara) cercana a la cámara
107
Ejemplo de navegación robótica
108
Navegación en ambientes exteriores
109
Referencias L. E. Sucar, Notas de Curso de Visión
González y Woods, Digital Image Processing, Addison-Wesley
110
Actividades Diseño mecánico y sensorial de su robot
estructura mecánica (tipo) plataforma: forma del robot, estructura selección y distribución de sensores Reporte (5 – 10 pags.) y presentación (15 min) explicando cada uno de estos puntos (diagramas) con una justificación en base a la categoría Armar y demostrar su robot
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.