Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porDomingo de la Fuente Montoya Modificado hace 9 años
1
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca
2
Visión Robótica Introducción Adquisición y representación de imágenes Filtrado Detección de orillas Color Estereo 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
Procesamiento de Imágenes Remover defectos, remover problemas por movimiento o desenfoque, mejorar ciertas propiedades como color, contraste, estructura, etc. agregar “colores falsos” a imágenes monocromáticas
5
Ejemplo procesamiento
6
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.
7
Ejemplo visión
8
Aplicaciones Robótica móvil y vehículos autónomos Manufactura Interpretación de imágenes aéreas Análisis de imágenes médicas Interpretación de escritura y dibujos Análisis de imágenes de microscopios y telescopios Compresión de imágenes para transmisión y almacenamiento Interfaces humano-computadora Seguridad Aplicaciones militares
9
Ejemplos de aplicaciones
10
Formación de la imagen
11
Representación Monocromática: I=f(x,y) Color: f(x,y)=[f_{rojo}(x,y),f_{azul}(x,y),f_{verde}(x,y)]
12
Proyección
13
Imágenes binoculares Z = f - 2df / (y’ -y’’)
14
Digitalización de imágenes 24 38 4345 565946 50 44
15
Efectos de Muestreo (resolución)
16
Dispositivos de captura Cámaras fotográficas, cámaras de televisión, digitalizadores, sensores de rango (laser), sensores de ultrasonido, rayos X, tomografía, resonancia magnética.
17
Arquitectura sistema de visión
18
Visión de nivel bajo Obtener características útiles para los siguientes niveles de visión: –orillas o bordes, –color, –textura, –gradiente, –profundidad
19
Imágenes intrínsecas
20
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.
21
Operaciones puntuales Pixel de salida sólo depende de un pixel de entrada S[x,y] = f(E[x,y])
22
Función de Transformación IEIE ISIS
23
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
24
Ejemplos de Operaciones Puntuales
25
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 0 0 0 1 1 11 1 1 2 2 2 2 2 3 3 0 1 2 3
26
Ejemplos de histogramas
27
Ecualización del histograma Función de transformación:h s(k) = k n i / 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) Función de transformación:h s(k) = k n i / 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)
28
Ejemplos de ecualización - antes
29
Ejemplos de ecualización - después
30
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)]
31
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
32
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) = f(i,j) w(i,j) Generalmente se divide sobre cierto valor constante para normalizar
33
Aplicación de una máscara
34
Convolución 111 111 111 máscara Imagen original 01 1 0 00 0001 1 1 Imagen nueva
35
Convolución - paso 1 111 111 111 máscara Imagen original 01 1 0 00 0001 1 1 Imagen nueva 2
36
Convolución - paso 2 111 111 111 máscara Imagen original 01 1 0 00 0001 1 1 Imagen nueva 2 5
37
Normalización 111 111 111 máscara Imagen nueva 2 5 Imagen nueva normalizada 0 1 En esta caso se divide entre “9” (suma de las valores de la máscara)
38
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
39
Filtros de suavizamiento Eliminan ruido o detalles pequeños que no sean de interés Filtro pasa-bajos (en frecuencia)
40
Filtros de suavizamiento Promedio - promedio de pixels vecinos (máscara con unos) Mediana - substituye por mediana de la vecindad Gaussiano - aprox. distribución gaussiana
41
Ejemplos de aplicación de filtros de suavizamiento
42
Filtros de acentuamiento Intensifica los detalles y cambios, mientras que atenúa las partes uniformes Filtro pasa-altos (en frecuencia)
43
Filtros de acentuamiento Ejemplo de filtro pasa-alto Suma de los pesos es cero (se “eliminan” regiones de intensidad uniforme)
44
Ejemplos de aplicar filtros pasa-altos
45
Procesamiento de nivel bajo Procesamiento de nivel intermedio Procesamiento de nivel alto Procesamiento de nivel bajo Procesamiento de nivel intermedio Procesamiento de nivel alto óvalo Niveles de análisis
46
¿Qué es una orilla? Parte de la imagen en que hay un cambio brusco o discontinuidad en la intensidad de la imagen- derivada “alta”
47
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
48
Operadores de gradiente Se basan en diferenciar la imagen, es decir, encontrar el gradiente: f = (df/dx, df/dy) Magnitud del gradiente: f| = [ (df/dx) 2 + (df/dy) 2 ] 1/2
49
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,11,2 2,1 2,2
50
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
51
Operadores de Roberts Corresponden a las diferencias cruzadas de 2 x 2 0 1 0 1 0 0
52
Operadores de Prewitt Corresponden a las diferencias en secciones de 3 x 3 0 0 0 1 1 1 0 0 1 1 0 1
53
Ejemplos con los operadores de Roberts y Prewitt (magnitud)
54
Operadores de Sobel -2 0 0 0 1 2 1 0 -2 0 1 2 0 1
55
Ejemplos con operadores de Sobel
56
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.
57
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 longitud400 700 de onda (nm)
58
Percepción del Color Un objeto se ve de cierto color si refleja las longitudes de onda de dicho color (por ejemplo, verde: 500-570 nm) y absorbe el resto, al ser iluminado por luz “blanca”
59
Atributos básicos del color Croma o longitud de onda dominante (Hue) Pureza o saturación Brillantez o intensidad
60
Percepción humana del color Percibimos el color mediante sensores (conos) que son de diferentes tipos - mayor sensibilidad a diferentes longitudes de onda: (azul), (verde), (rojo)
61
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)
62
Componentes de una imagen a color
63
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
64
Modelo RGB Se basa en los componentes primarios: RGB Se puede representar como un “cubo” con un primario en cada eje
65
Modelo HSI Transformación del espacio RGB al espacio perceptual Forma de 2 pirámides triangulares unidas en su base
66
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
67
Ejemplo de Imagen en HSI
68
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)
69
Ejemplo de ecualización en color [González 98]
70
Ejemplo de detección de orillas con Sobel en RGB
71
Segmentación en base a color Al ser el color un atributo que ayuda al reconocimiento de objetos, se puede utilizar como una forma incial 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
72
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: –Determinr 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 (se verán en visión de alto nivel)
73
Clasificación en base a color Región en el espacio RGB Región de “piel” en espacio rg
74
Clasificación en base a color Ejemplo: detección de regiones de piel
75
Visión Tridimensional
76
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
77
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
78
Técnicas Visión estereoscópica Forma de sombreado Forma de textura
79
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
80
Visión estereo
81
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
82
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 –Relajación
83
Ejemplo de correlación
84
Ejemplo de estereograma
85
Ejemplo de aplicación del algoritmo de relajación
86
Forma de Sombreado En general el mundo esta constituido por objetos opacos y relativamente continuos Considerando una iluminación constante y una reflectividad aproximadante uniforme - los cambios de intensidad dan información de profundidad
87
Forma de Sombreado
88
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
89
Ejemplo de aplicación del método de forma de sombreado
90
Visión de Nivel Bajo y Medio orillas textura color 3-D Imagen Segmen- tada
91
Visión de Nivel Alto orillas textura color 3-D Imagen Segmen- tada Descripción simbólica Representación del mundo
92
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
93
Reconocimiento
94
Ejemplo HGP 5080
95
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
96
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
97
Espacio de características (ejemplo con 2) X v1 v2
98
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
99
Clasificación con VMC X v1 v2
100
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: C i –instancia o patrón: X j –P(C i ): probabilidad a priori de cada clase –P(X j | C i ): probabilidad del patrón dada la clase
101
Reconocimiento Estadístico Se busca maximizar la probabilidad de la clase dado el patrón Probabilidad posterior, por teorema de Bayes: P(C i | X j ) = P(C i ) P(X j | C i ) / P(X j ) Se selecciona la clase C i que maximiza P Equivalente a maximizar: P(C i ) P(X j | C i ), log P(C i ) P(X j | C i ), etc.
102
Clasificador Bayesiano Simple La estimación de las probabilidades se simplifica si se considera que los atributos son independientes dada la clase: P(C i | X j ) = k P(C i ) P(X j | C i ) P(C i | X j ) = k P(C i ) P(X1 j | C i ) … P(XN j | C i ) Por ejemplo (R,G,B = color): P(objeto j | R,G,B)= k P(O j ) P(R|O j ) P(G|O j ) P(B|O j ) Las probabilidades se pueden estimar a partir de ejemplos
103
Ejemplo de Clasificador Bayesiano Simple Clase - Robot: si/no Atributos –Rojo: [0.. 255] (dividir en intervalos) –Verde: [0.. 255] –Azul: [0.. 255] 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)
104
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.)
105
Estimación de profundidad con laser Punto láser P(O laser |Z) Z Cámara Punto láser Z
106
Reconocimiento de personas y ademanes
107
Reconocimiento de ademanes
109
Navegación en endoscopía
110
Ejemplo de Endoscopía
111
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
112
Ejemplo de navegación robótica
113
Navegación en ambientes exteriores
114
Referencias L. E. Sucar, Notas de Curso de Visión González y Woods, Digital Image Processing, Addison-Wesley
115
Actividades Equipos futbol plataformas listas Equipos minirobótica terminar construcción de prototipo
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.