1.1k likes | 1.29k Views
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?.
E N D
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.
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 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 38 44 24 43 45 50 56 59 46
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.
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])
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
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 0 1 2 1 0 2 2 2 1 2 1 3 0 3 1 0 1 2 3
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)
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
Convolución 1 1 1 máscara 1 1 1 Imagen nueva 1 1 1 0 1 0 1 Imagen original 0 1 0 1 0 0 0 1
Convolución - paso 1 1 1 1 máscara 1 1 1 Imagen nueva 1 1 1 0 1 0 1 Imagen original 0 1 0 1 2 0 0 0 1
Convolución - paso 2 1 1 1 máscara 1 1 1 Imagen nueva 1 1 1 0 1 0 1 Imagen original 0 1 0 1 2 5 0 0 0 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 0 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
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)
Visión de nivel bajo • Obtener características útiles para los siguientes niveles de visión: • orillas o bordes, • color, • textura, • gradiente, • profundidad
¿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,2 2,1
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 0 -1 0 0 1 0 -1
Operadores de Prewitt Corresponden a las diferencias en secciones de 3 x 3 -1 -1 -1 -1 0 1 0 0 0 0 -1 1 1 1 1 -1 0 1
Operadores de Sobel -1 -2 -1 -1 0 1 0 0 0 0 -2 2 1 2 1 -1 0 1