L. Enrique Sucar Alberto Reyes ITESM Cuernavaca

Slides:



Advertisements
Presentaciones similares
Introducción a la Visión Artificial
Advertisements

Introducción al Procesamiento de Imagenes
Tema 3: Filtros SEGUNDA PARTE.
PROCESAMIENTO DE IMAGENES
Visión de Máquina: Aplicaciones a la Industria
Etapas y Componentes de un Sistema de Visión Artificial
UNIDAD II LA IMÁGEN Objeto de la Unidad Al finalizar esta unidad el estudiante deberá estar en capacidad de: Entender las características de una fotografía.
Por: Alex F. Guerrero E. Fecha: 04/02/2010
Filtros y Detectores de Borde
KRIGING.
MODELOS DE COLOR CARACTERÍSTICAS BÁSICAS
7. Extracción de Contornos
MÁSCARAS DE CONVOLUCIÓN PARA LA DETECCIÓN DE BORDES.
RECONOCIMIENTO DE OBJETOS
David G. Lowe Distinctive Image Features from Scale-Invariant Keypoints Aradí Rosales Cruz Visión de alto nivel Enrique Sucar.
MODELOS DE COLOR CARACTERÍSTICAS BÁSICAS
EL COLOR El prisma de Newton
Capítulo 2. Representación de imágenes digitales
Sesión 2: Métodos Probabilísticos Básicos
J. Trinidad Guillen Bonilla, H. Guillen Bonilla, A. Guillen Bonilla,
Capitulo 2 Filtrado Filtrado Espacial Visión de Máquina
Procesamiento Digital de Imágenes y Visión
La segmentación de imágenes se ocupa de descomponer una imagen en sus partes constituyentes, es decir, los objetos de interés y el fondo, basándose en.
Introducción al procesamiento de imágenes
Visión por computadora
PROCESAMIENTO EN EL DOMINIO DEL ESPACIO. Se entiende por procesamiento en el dominio del espacio, la realización de operaciones directamente sobre el valor.
Sesión 6: Campos de Markov
Descripción de Contenidos con Wavelets Jaime Gaviria.
Tema 4. Realzado de imágenes  Qué vamos a estudiar  ¿Qué vamos a estudiar? Un conjunto de técnicas que tratan de conseguir una imagen mejorada y más.
Tratamiento Digital de Imagenes Andres Felipe Rubiano Pinzon Gina Lorena Giraldo Alzate.
Realzado en el dominio de la frecuencia
Reconocimiento y resolución de ecuaciones impresas Luis Fernández Pérez Marco Antonio Formoso Trigo.
Análisis de Imágenes y Visión por Computadora Aplicaciones Problemas Clasificación de correo, lectura de etiquetas, procesamiento de cheques bancarios,
Detectores de Borde. Extracción de Características Detección de Líneas. Detección de Puntos de Borde. Detección de Contornos.
Capitulo 3 Segmentación.
MÉTODO DE PIXELES DE BORDE
Introducción al proceso digital de imagen y visión por computador
Procesamiento Digital de Imágenes
Informática Médica: Procesamiento de imágenes
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
CARPLATE Reconocimiento del marco de la matrícula de un coche
Tema 3: Filtros.
Procesamiento Digital de Imágenes
Una aproximación a la visión
Filtros.
Robótica Inteligente L. Enrique Sucar Leonardo Romero Marco López ITESM Cuernavaca.
1 Image Segmentation Chapter 9 Dr. Mario Chacón DSP & Vision Lab.
Tema 6: Morfología Segunda parte.
Filtrado lineal Digital image processing, Gonzalez & Woods, chpt 4
Imágenes binarias Horn, Robot Vision
Procesamiento Digital de Imágenes
Procesamiento Digital de Imágenes
El uso de las máscaras espaciales
Introducción a la Robótica mecanismos avanzados Coordinación de Ciencias Computacionales, INAOE Dra Angélica Muñoz Dr Eduardo Morales
Geometría primitiva y Transformaciones
FUNDAMENTOS SOBRE P ROCESAMIENTO D IGILTAL DE I MÁGENES (DIP) Copyright 2004 para Diego Luis Aristizábal Ramírez OrquideaJAI Universidad Nacional de Colombia.
PC BD Alexandra Buri H José Rivera De La Cruz.
Sesión 6: Campos de Markov. © L.E. Sucar: PGM - CAM2 Campos de Markov Introducción –Modelo de Ising Representación –Tipos de Modelos –Redes de Markov.
Reconocimiento de caras usando Histogramas de Gradientes Orientados
Señales 1-D -audio f(t). 2-D - imágenes f(x, y) N-D - radiación f(x, z, t, ). Por el número de dimensiones (variables independientes) Clasificación de.
Estimación y contraste de hipótesis
Priscilla Muñoz Clase nº4
Reconocimiento de cara basado en “espectrocara”
El objetivo de la segmentación es dividir (segmentar) y separar la información original para generar nuevas imágenes que representen las estructuras internas.
OPTIMIZACION DEL DESEMPEÑO DE ERROR
Análisis de Imágenes y Visión por Computadora Aplicaciones Problemas Clasificación de correo, lectura de etiquetas, procesamiento de cheques bancarios,
Rep.IluminaciónA. García-Alonso1 >> Representación
Unsupervised visual learning of three-dimensional objects using a modular network architecture Ando, Suzuki, Fujita Neural Networks 12 (1999)
PROGRAMA DE INNOVACIÓN Y DESARROLLO TECNOLÓGICO PRODUCTIVO – CONVENIO : SENA-NEW STETIC Proyecto: Sistema de visión industrial para inspección.
Transcripción de la presentación:

L. Enrique Sucar Alberto Reyes ITESM Cuernavaca Robótica Inteligente L. Enrique Sucar Alberto Reyes ITESM Cuernavaca

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

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

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.

Ejemplo visión

Formación de la imagen

Representación Monocromática: I=f(x,y) Color: f(x,y)=[f_{rojo}(x,y),f_{azul}(x,y),f_{verde}(x,y)]

Proyección

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)

Digitalización de imágenes 24 38 44 43 45 50 56 59 46

Efectos de Muestreo (resolución)

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.

Arquitectura sistema de visión

Niveles de análisis Procesamiento de nivel bajo Procesamiento de nivel intermedio Procesamiento de nivel alto óvalo

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.

Operaciones puntuales Pixel de salida sólo depende de un pixel de entrada S[x,y] = f(E[x,y])

Función de Transformación IS IE

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

Ejemplos de Operaciones Puntuales

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 0 1 2 3

Ejemplos de histogramas

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)

Ejemplos de ecualización - antes

Ejemplos de ecualización - después

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

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

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

Aplicación de una máscara

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

Convolución - paso 1 máscara Imagen nueva Imagen original 1 1 1 1 1 1 1 1 Imagen original 1 1 2 1

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

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

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

Filtros de suavizamiento Eliminan ruido o detalles pequeños que no sean de interés Filtro pasa-bajos (en frecuencia)

Filtros de suavizamiento Promedio - promedio de pixels vecinos (máscara con unos) Mediana - substituye por mediana de la vecindad Gaussiano - aprox. distribución gaussiana

Ejemplos de aplicación de filtros de suavizamiento

Filtros de acentuamiento Intensifica los detalles y cambios, mientras que atenúa las partes uniformes Filtro pasa-altos (en frecuencia)

Filtros de acentuamiento Ejemplo de filtro pasa-alto Suma de los pesos es cero (se “eliminan” regiones de intensidad uniforme)

Ejemplos de aplicar filtros pasa-altos

Visión de nivel bajo Obtener características útiles para los siguientes niveles de visión: orillas o bordes, color, textura, gradiente, profundidad

Imágenes intrínsecas

¿Qué es una orilla? Parte de la imagen en que hay un cambio brusco o discontinuidad en la intensidad de la imagen- derivada “alta”

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

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

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

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

Operadores de Roberts Corresponden a las diferencias cruzadas de 2 x 2 1 -1 1 -1

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

Ejemplos con los operadores de Roberts y Prewitt (magnitud)

Operadores de Sobel -1 -2 -1 -1 1 -2 2 1 2 1 -1 1

Ejemplos con operadores de Sobel

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.

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 400 700 de onda (nm)

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”

Atributos básicos del color Croma o longitud de onda dominante (Hue) Pureza o saturación Brillantez o intensidad

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)

Componentes de una imagen a color

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

Modelo RGB Se basa en los componentes primarios: RGB Se puede representar como un “cubo” con un primario en cada eje

Modelo HSI Transformación del espacio RGB al espacio perceptual Forma de 2 pirámides triangulares unidas en su base

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

Ejemplo de Imagen en HSI

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)

Ejemplo de ecualización en color [González 98]

Ejemplo de detección de orillas con Sobel en RGB

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

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

Clasificación en base a color Región en el espacio RGB Región de “piel” en espacio rg

Clasificación en base a color Ejemplo: detección de regiones de piel

Visión Tridimensional

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

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

Técnicas Visión estereoscópica Forma de sombreado Forma de textura

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

Estéreo Z = f - 2df / (y’ -y’’)

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

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

Correlación líneas epipolares

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

Ejemplo

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

Forma de Sombreado

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

Ejemplo de aplicación del método de forma de sombreado

Visión de Nivel Bajo y Medio orillas textura Imagen Segmen- tada color 3-D

Visión de Nivel Alto Representación del mundo Imagen Segmen- orillas textura Imagen Segmen- tada Descripción simbólica color 3-D

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

Reconocimiento

Ejemplo HGP 5080

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

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

Espacio de características (ejemplo con 2) v1 X v2

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

Clasificación con VMC v1 X v2

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

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

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

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)

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

Estimación de profundidad con laser Punto láser Cámara Punto láser P(Olaser|Z) Z Z

Reconocimiento de personas y ademanes

Reconocimiento de ademanes

Seguimiento (tracking)

Navegación en endoscopía

Ejemplo de Endoscopía

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

Ejemplo de navegación robótica

Navegación en ambientes exteriores

Referencias L. E. Sucar, Notas de Curso de Visión González y Woods, Digital Image Processing, Addison-Wesley

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