robótica inteligente l. enrique sucar alberto reyes itesm cuernavaca

Post on 28-Jan-2016

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

IM AG EN VIS IÒ N

DESCRIPCIÒ N

Ejemplo visión

Formación de la imagen

Representación

F

X

Y

Monocromática: I=f(x,y)

Color: f(x,y)=[f_{rojo}(x,y),f_{azul}(x,y),f_{verde}(x,y)]

Proyección

YX

Z

(X,Y)

(X,Y,Z)F

Proyección perspectiva

Triángulos semejantes: y/f = -Y/(Z - f) = Y/(f-Z)Entonces: y=fY / (f - Z)

x=fX / (f - Z)

Triángulos semejantes: y/f = -Y/(Z - f) = Y/(f-Z)Entonces: y=fY / (f - Z)

x=fX / (f - Z)

Z

y,Y

f

Lente

(X,Y,Z)

(x,y)

Digitalización de imágenes

24 38

43 45

56 59 46

50

44

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

CPU

M

M A/D

D/A

CPU

CO MPUTADORA“FRAM E GRABBER”

SISTEMA DE VISIÓN

• 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álisisNiveles de análisis

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

IE

IS

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

00

0

1 1

1 1

1

122

22

2

3 3

0 1 2 3

Ejemplos de histogramas

Ecualización del histograma

• Función de transformación:h

s(k) = k 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)

• Función de transformación:h

s(k) = k 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) = f(i,j) w(i,j)

• Generalmente se divide sobre cierto valor constante para normalizar

Aplicación de una máscara

Convolución

1 1 1

1 1 1

1 1 1

máscara

Imagenoriginal

0 1

1

0

0 0

000 1

1

1

Imagennueva

Convolución - paso 1

1 1 1

1 1 1

1 1 1

máscara

Imagenoriginal

0 1

1

0

0 0

000 1

1

1

Imagennueva

2

Convolución - paso 2

1 1 1

1 1 1

1 1 1

máscara

Imagenoriginal

0 1

1

0

0 0

000 1

1

1

Imagennueva

2 5

Normalización

1 1 1

1 1 1

1 1 1

máscara

Imagennueva

2 5

Imagennueva normalizada

0 1

En esta caso se divide entre “9”(suma de las valores de la máscara)

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

Orillaslocales

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

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 deRoberts, Prewitt y Sobel,se implementan con dosmáscaras: una para dx y otra para dy

Operadores de Roberts

Corresponden a las diferencias cruzadas de 2 x 2

0 1

-1 0

1 0

0 -1

Operadores de Prewitt

Corresponden a las diferencias en secciones de 3 x 3

-1 -1

0 0

-1

0

1 1 1

-1 0

-1 0

1

1

-1 0 1

Ejemplos con los operadores de Roberts y Prewitt (magnitud)

Operadores de Sobel

-1 -2

0 0

-1

0

1 2 1

-1 0

-2 0

1

2

-1 0 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 rojolongitud 400 700de 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

d

d

f -Z

Y´´

Y Y

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:

T(i,j) I(k,l)– Suma de diferencias cuadráticas:

[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

color

3-D

ImagenSegmen-

tada

Visión de Nivel Alto

orillas

textura

color

3-D

ImagenSegmen-

tada

Descripciónsimbólica

Representacióndel mundo

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)

X

v1

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

X

v1

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 laserEstimación de profundidad con laserPunto láser

P(Olaser

|Z)

Z

Cámara

Punto láser

Z

Reconocimiento de personas y ademanes

Reconocimiento de ademanesReconocimiento de ademanes

Seguimiento (tracking)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

top related