Curso Vision Artificial

90
1 Curso de Visión Artificial Francisco Serradilla García Ángel Arroyo Castillo Fco. Javier Alcalá Casado Contenidos Introducción: Visión Natural vs Visión Artificial. Esquema de un Sistema de Visión Artificial. Conceptos relativos al Tratamiento de Imágenes Digitales. Preprocesamiento. Segmentación. Extracción de Características. Morfología Matemática. Compresión de Imágenes Digitales. Calibración de Cámaras. Visión Estéreo. Ejemplos de Sistemas de Visión Artificial.

description

magenes, tratamiento de imagenes

Transcript of Curso Vision Artificial

Page 1: Curso Vision Artificial

1

Curso de Visión ArtificialCurso de Visión Artificial

Francisco Serradilla GarcíaÁngel Arroyo Castillo

Fco. Javier Alcalá Casado

ContenidosContenidos

ð Introducción: Visión Natural vs Visión Artificial.

ð Esquema de un Sistema de Visión Artificial.

ð Conceptos relativos al Tratamiento de Imágenes Digitales.

ð Preprocesamiento.

ð Segmentación.

ð Extracción de Características.

ð Morfología Matemática.

ð Compresión de Imágenes Digitales.

ð Calibración de Cámaras.

ð Visión Estéreo.

ð Ejemplos de Sistemas de Visión Artificial.

Page 2: Curso Vision Artificial

2

IntroducciónIntroducción

ð Importancia de la visión como fuente de información para ambos tipos de sistemas.

ð El sentido de la vista nos proporciona el 80% de la información que recibimos.

ð Dotar a las máquinas de esta fuente de información les proporcionaría una mejora significativa.

Respuesta al Espectro ElectromagnéticoRespuesta al Espectro Electromagnético

Page 3: Curso Vision Artificial

3

Respuesta al Espectro ElectromagnéticoRespuesta al Espectro Electromagnético

ð Longitud de onda = 1 / Frecuencia de onda

Respuesta al Espectro ElectromagnéticoRespuesta al Espectro Electromagnético

Page 4: Curso Vision Artificial

4

Espectro Electromagnético - EjemplosEspectro Electromagnético - Ejemplos

ð Infrarrojo: detección de clavos insertados en la madera (calor inducido + digitalización con cámara de infrarrojos).

ð Infrarrojo: Iluminación nocturna. Identificación de vehículos en carretera (reconocimiento de matrículas).

ð Infrarrojo: detección de fuego en instalaciones industriales.

ð Rayos X: detección de grietas o imperfecciones en objetos de madera.

Velocidad de RespuestaVelocidad de Respuesta

ð Tiempo de respuesta del SVH: 0.06 segundos. (TV muestra 30 tramas por segundo ⇒ una trama cada 0.03 segundos).

ð Tiempo de respuesta del SVA depende de:

û tipo de cámara: cámara de estado sólido = 10 µseg.

û electrónica de digitalización: mayor de 30 por seg.

û tamaño de la imagen.

ð El tiempo de respuesta de los SVA se irá reduciendo según se vaya mejorando la electrónica asociada a los mismos (la variación del SVH es mucho más lenta).

Page 5: Curso Vision Artificial

5

Velocidad de Respuesta - EjemplosVelocidad de Respuesta - Ejemplos

ð Un SVA actual puede detectar la existencia o no de etiquetas sobre botellas a una velocidad de 1200 botellas por minuto ⇒ 20 por segundo ⇒ 1 cada 0.05 seg.

ð El tiempo de respuesta del SVH se va incrementando con la fatiga, la edad, etc. Esto no ocurre a los SVA.

Sensibilidad, Precisión y ConsistenciaSensibilidad, Precisión y Consistencia

ð Sensibilidad:

û El ser humano puede discernir entre 10 ó 20 niveles de gris.

û Los SVA tienen una definición muy superior.

ð Precisión:

û La precisión del SVH es muy pobre (se apoya en instrumentos de medida).

û Los SVA pueden calcular áreas, perímetros, etc... con gran precisión (sólo depende de la resolución espacial de los componentes del sistema).

ð Consistencia:

û Los resultados obtenidos por el SVH son poco consistentes debido a: fatiga, distracciones, etc ...

û Los resultados obtenidos por un SVA son consistentes. Se puede considerar que su nivel de rendimiento permanece constante a lo largo de toda su vida operativa.

Page 6: Curso Vision Artificial

6

SVH - Procesos oponentesSVH - Procesos oponentes

Fijar la visión sobre el símbolo + de la izquierda durante al menos 30 segundos. Posteriormente fijar la vista sobre el símbolo + de la derecha.

SVH - Efecto de rellenoSVH - Efecto de relleno

Observar la imagen de cerca y, posteriormente, observarla después de haberse separado un par de metros de la misma.

Este fenómeno de rellenado confirma la pobreza de la resolución espacial del sistema de conos del ojo humano especializado en la percepción de las longitudes de onda cortas.

Page 7: Curso Vision Artificial

7

SVH - Percepción de la distanciaSVH - Percepción de la distancia

Este dibujo nos permite comprobar la Influencia del color y del brillo en la percepción de la distancia

SVH - Campos receptivosSVH - Campos receptivos

Page 8: Curso Vision Artificial

8

SVH - IlusionesSVH - Ilusiones

Esquema Físico de un SVAEsquema Físico de un SVA

Cámara

TarjetaDigitalizadora

Memoria CPU

Posición (Encuadre)ZoomEnfoqueLuz

Señal de Vídeo(Analógica)

ImagenDigital

Realiza lasoperacionessobre la imagenen memoria

Control de los parámetros de la cámara (Visión Activa)

Conversor A / D

Page 9: Curso Vision Artificial

9

Esquema Lógico de un SVAEsquema Lógico de un SVA

Adquisición

Preproceso Segmentación

Extracción deCaracterísticas

Reconocimiento Interpretaciónde la escena

Campo de la VisiónArtificial

Campo del Reconocimiento de Patrones

Campo de la InteligenciaArtificial

IluminaciónIluminación

ð La variabilidad de la luz ambiental es inaceptable para la gran mayoría de los SVA.

ð Necesidad de diseñar el sistema de iluminación artificial.

ð En el diseño será necesario contemplar:

û Las características ópticas de los materiales.

û Las necesidades de la aplicación.

û Las fuentes de luz a emplear.

Page 10: Curso Vision Artificial

10

Naturaleza de la luzNaturaleza de la luz

ð La luz se desplaza o irradia en todas las direcciones a partir de su origen. Por eso según la distancia se percibe con mayor o menor energía luminosa, es lo que denominamos luminosidad.

ð Cuando la luz se desplaza por un medio constante puede llegar a la superficie de algún objeto. En este punto puede ser:

û Reflejada: la superficie de la mayoría de los objetos reflejan o "rebotan" la luz.

û Absorbida: si el objeto es opaco, la luz no reflejada por su superficie resulta absorbida por aquél y desaparece. La energía se convierte en calor en el interior del objeto.

û Transmitida: si el objeto es transparente, parte de la luz continúa su desplazamiento a través del objeto.

ð La energía total de la luz que llega a un objeto (luz incidente) debe equivaler a la suma de la energía de la luz reflejada, absorbida y transmitida.

Características ópticas de los materialesCaracterísticas ópticas de los materiales

ð Materiales Reflectantes

û Difusos� La luz incidente se refleja en todas las direcciones� Superficies con textura granular.

û Especulares� La luz incidente se refleja con el mismo ángulo de incidencia.� Superficies altamente pulidas - espejos.

û Selectivos� Devuelven una cierta cantidad de luz de una longitud de onda

determinada y absorben el resto.

û No Selectivos� Devuelven toda la luz incidente independientemente de su

longitud de onda.

Page 11: Curso Vision Artificial

11

Características ópticas de los materialesCaracterísticas ópticas de los materiales

ð Materiales Absorbentes

û Selectivos

� Materiales que muestran un alto nivel de absorción para

determinadas longitudes de onda de la luz incidente. Por

ejemplo, las superficies coloreadas.

û No Selectivos

� Absorben por igual todas las longitudes de onda de la luz

incidente.

Características ópticas de los materialesCaracterísticas ópticas de los materiales

ð Materiales que dejan pasar la luz

û Transparentes

� Dejan pasar la luz sin dispersión o reflexión apreciables.

û Translúcidos

� Dejan pasar la mayor parte de la luz incidente pero con una componente importante de difusión.

û Opacos

� No dejan pasar la luz

û Selectivos y No selectivos

Page 12: Curso Vision Artificial

12

Fuentes de LuzFuentes de Luz

ð Fuentes Incandescentes

ð Fluorescentes

ð LEDs

ð Luz Estroboscópica

ð Láser

ð Fibra óptica

Fuentes IncandescentesFuentes Incandescentes

ð Ventajas

û Bajo coste

û Fáciles de utilizar

û Pueden estar en funcionamiento durante largos períodos de tiempo

û Permiten ajustar la intensidad

ð Inconvenientes

û Desprenden calor elevado

û El paso de la corriente alterna a 50 Hz

Page 13: Curso Vision Artificial

13

FluorescentesFluorescentes

ð Ventajas

û No generan calor

û Formas y tamaños variables

û Diversos colores de luz

ð Inconvenientes

û Imposibilidad de operar a bajas temperaturas

û Disminución del nivel de iluminación con el paso del tiempo

ð Aplicaciones

û Buenos para iluminación difusa

û Se emplean con materiales con un elevado índice de reflexión

LEDsLEDs

ð Ventajas

û Luz monocroma en una gran variedad de colores

û Período de vida largo

û Bajo coste

ð Inconvenientes

û Intensidad de iliminación muy baja

ð Aplicaciones

û Buenos para iluminación a contraluz

û Se utilizan LEDs ultravioletas para obtener grandes incrementos de contraste

Page 14: Curso Vision Artificial

14

Luz EstroboscópicaLuz Estroboscópica

ð Ventajas

û Permiten analizar objetos en movimiento (piezas en una cinta transportadora)

û Iluminación intensa (disminuye el efecto de la luz ambiente)

û Pulsos de luz de 2 µseg.

ð Inconvenientes

û Necesitan una fuente de tensión especial

û Necesitan sincronización con las cámaras

û Su intensidad va decreciendo con el tiempo

LáserLáser

ð Ventajas

û Permite generar una gran diversidad de patrones de luz (puntos, líneas finas, rejillas, ...)

ð Inconvenientes

û Mal comportamiento frente a superficies que absorben luz

ð Aplicaciones

û Buenos para iluminación estructurada

û Permiten medir alturas en el eje z

Page 15: Curso Vision Artificial

15

Fibra ópticaFibra óptica

ð No transmiten calor en el proceso de iluminación

ð Se utilizan para iluminar pequeñas áreas y zonas de difícil

acceso

ð También se emplean en aplicaciones en las que el

espacio de trabajo permanece constante

Métodos de IluminaciónMétodos de Iluminación

ð Iluminación a Contraluz

ð Iluminación Estructurada

ð Iluminación Frontal

ð Iluminación Rasante

Page 16: Curso Vision Artificial

16

Iluminación a ContraluzIluminación a Contraluz

CÁMARA

Iluminación a ContraluzIluminación a Contraluz

ð El objeto se coloca entre la fuente de iluminación y la cámara

ð Crea una silueta del objeto (por supuesto opaco) sobre un fondo iluminado

ð Se suelen utilizar difusores para evitar saturaciones en la imagen captada

ð La imagen resultante es prácticamente monocromática y su segmentación es muy sencilla

ð Es muy útil en aplicaciones en las que se quieran detectar falta de elementos o grietas.

ð Su principal inconveniente se encuentra en la pérdida de los detalles y en la imposibilidad de detectar imperfecciones en la superficie de los objetos.

Page 17: Curso Vision Artificial

17

Iluminación EstructuradaIluminación Estructurada

Iluminación EstructuradaIluminación Estructurada

ð En este método de iluminación se realizan proyecciones

de puntos, franjas o rejillas sobre la superficie de trabajo

ð Al establecer un patrón conocido resulta más fácil

detectar cualquier anomalía en los objetos

ð Analizando la forma en la que el patrón de luz es

distorsionado podemos obtener información

tridimensional de los objetos

Page 18: Curso Vision Artificial

18

Iluminación Frontal e Iluminación RasanteIluminación Frontal e Iluminación Rasante

ð Estos tipos de iluminación se utilizan para analizar la

superficie de los objetos.

ð Dependiendo del ángulo de incidencia de la luz sobre la

superficie se denomina:

û Iluminación Frontal (ángulos grandes)

û Iluminación Rasante (ángulos pequeños)

� Cuanto más pequeño sea el ángulo más se resaltarán las

pequeñas rugosidades existentes en la superficie del objeto.

Tipos de CámarasTipos de Cámaras

ð Cámaras VIDICÓN

ð Cámaras de Estado Sólido

ð Otros Dispositivos Captadores de Imagen

û Scanners

û Arrays Lineales

Page 19: Curso Vision Artificial

19

Cámaras VIDICÓNCámaras VIDICÓN

ð Se rastrea la superficie sobre la que se ha proyectado la imagen

mediante un haz de electrones.

ð La superficie fotosensible se rastrea línea a línea.

ð En cada punto por el que pasa el haz de electrones, el dispositivo es

excitado de forma proporcional a la intensidad luminosa. Esto se

traduce en una función continua de corriente que representa la

imagen seccionada en líneas.

ð Alta resolución y sensibilidad

ð Buen comportamiento ante el efecto BLOOMING.

Cámaras de Estado SólidoCámaras de Estado Sólido

ð La superficie sobre la que se proyecta la luz está formada por una matriz de elementos fotosensibles.

ð Cada uno de los elementos entrega un valor de corriente proporcional a la intensidad luminosa proyectada sobre él.

ð Tamaño y peso reducidos.

ð Bajo consumo de energía (1..3 watios frente a los 10..20 watios de las vidicón).

ð Gran resistencia a los campos magnéticos.

ð Alta velocidad de respuesta.

Page 20: Curso Vision Artificial

20

Cámaras Digitales o AnalógicasCámaras Digitales o Analógicas

ð Si lo que se necesita es una señal de vídeo clara que no se va a procesar de ninguna manera (p.e. viéndola directamente en un monitor) bastará con una cámara analógica.

ð Si se va a procesar la imagen a través de un ordenador, hay dos posibles soluciones:

û Utilizar una cámara analógica y digitalizar la señal en el ordenador con la correspondiente tarjeta. Esto presenta el problema de quese puede introducir ruido eléctrico en la señal antes de serdigitalizada, haciendo que la imagen pierda algo de calidad.

û Utilizar una cámara con salida digital. Este sistema es más resistente al ruido y permite obtener mejores resultados.

Ventajas de utilizar cámaras digitales Ventajas de utilizar cámaras digitales

ð El Número de bits efectivos (ENOB, Equivalent Number

Of Bits) es mayor en una cámara digital que en una

analógica.

ð Eliminación del pixel jitter o temblor de pixels.

ð Resolución subpíxel.

ð Coherencia espacial.

Page 21: Curso Vision Artificial

21

Sensibilidad de una cámaraSensibilidad de una cámara

La sensibilidad es la cantidad de luz (en lux) incidiendo en

el CCD para conseguir una señal de vídeo de 100 IRE

(1.0 voltios, o un 255 en un sistema digital de 8 bits, o un

1023 en uno de 10). Cuanta menos luz sea necesaria

para conseguir este nivel, más sensible es la cámara.

ENOB - número de bits efectivos ENOB - número de bits efectivos

ð Cuando se digitaliza una señal analógica afectada por ruido, los más afectados son los bits menos significativos.

û Pongamos como ejemplo un sistema de 8 bits por pixel en escala de grises. En una zona de la imagen completamente uniforme, el nivel de gris de los pixels digitalizados podrían variar de, por ejemplo, 80 a 83. En un sistema ruidoso, esta variación podría producirse en el mismo pixel en sucesivos muestreos.

û En este ejemplo se habrían perdido los dos bits menos significativos. Esto significa que el número de bits efectivos (ENOB) no sería 8, sino 6.

Page 22: Curso Vision Artificial

22

Campo de VisiónCampo de Visión

ð Se denomina campo de visión a la superficie de imagen

captada por el sensor de la cámara.

ð El mejor campo de visión para cualquier aplicación se

encuentra determinado por el tamaño del detalle más

pequeño que se quiera detectar.

Campo de Visión = Resolución * Tamaño del detalle

Campo de Visión - EjemploCampo de Visión - Ejemplo

Superficie a inspeccionar = 120 * 80 cm.

Cámara con resolución de 512 * 512 pixels

Tamaño detalle h = Campo de visión h / resolución h

= 120 / 512 = 0.23 cm.

Tamaño detalle v = Campo de visión v / resolución v

= 80 / 512 = 0.16 cm.

Page 23: Curso Vision Artificial

23

Ópticas - Refracción de la LuzÓpticas - Refracción de la Luz

Medio más denso

Fuente de Luz

Vector normal a la superficie

Ópticas - Distancia FocalÓpticas - Distancia Focal

LenteCon-ver-gente

∞∞f = foco

Distancia focal

û Característica principal de un objetivo.

û Distancia mínima que media entre el centro del objetivo y el plano en el que convergen los rayos paralelos al eje.

Page 24: Curso Vision Artificial

24

Ópticas - Profundidad de CampoÓpticas - Profundidad de Campo

LenteCon-ver-gente

∞∞

q

f∞∞

p

Ópticas - Profundidad de CampoÓpticas - Profundidad de Campo

ð Se denomina profundidad de campo al intervalo de campo enfocado alrededor de una determinada distancia de enfoque q

ð Cuanto menor es la distancia del objeto a la lente, más lejos de la lente se forma la imagen del objeto

ð Para poder enfocar un objeto situado a una distancia finita es preciso desplazar la lente. Este desplazamiento responde a la siguiente relación:

fqp

111=+

fqfqp

pSi =⇒=⇒=⇒∞=11

01

∞=⇒= qfpSi

Page 25: Curso Vision Artificial

25

Ópticas - Ejemplo IÓpticas - Ejemplo I

Dados 2 objetivos O1 y O2 con distancias focales f1=20mm y f2=200mm.

A) Hallar las distancias de enfoque de ambos objetivos

para los puntos p1 = ∞ y p2 = 2 metros.

B) ¿Qué conclusiones se pueden obtener a partir de los resultados del apartado anterior?

Ópticas - Ejemplo IIÓpticas - Ejemplo II

Dado un objetivo con distancia focal f = 50 mm

A) Hallar las distancias de enfoque para los puntos

p1 = 100 metros

p2 = 10 metros

p3 = 1 metro

B) ¿Qué conclusiones se pueden obtener a partir de los resultados del apartado anterior?

Page 26: Curso Vision Artificial

26

Tarjetas DigitalizadorasTarjetas Digitalizadoras

ð Su función consiste en convertir la señal procedente de la/s cámara/s y almacenarla en memoria.

ð Existen tarjetas que proporcionan sus propios buffers de memoria y otras que utilizan la memoria del ordenador (vía DMA).

ð Muchas de ellas permiten un preprocesamiento previo de las imágenes. El número de tareas implementadas en hardware es muy variable.

La resolución de las tarjetas digitalizadoras y la de las cámaras (sensor) no tiene porque coincidir. Por lo tanto, es importante (sobre todo cuando se emplean técnicas de medición) saber que ocurre con los puntos que faltan o sobran.

Muestreo y CuantificaciónMuestreo y Cuantificación

ð El muestreo es la conversión que sufren las dos dimensiones espaciales de la señal analógica y que general la noción de pixel.

ð La cuantificación es la conversión que sufre la amplitud de la señal analógica generándose el concepto de nivel de gris o intensidad.

ð Existen dos conceptos asociados al muestreo y a la cuantificación:

û Resolución: número de muestras (rango en el que se divide el espacio bidimensional).

û Definición: número de niveles de intensidad (rango en el que se divide la intensidad de la señal luminosa).

Page 27: Curso Vision Artificial

27

Ejemplo de los efectos del muestreoEjemplo de los efectos del muestreo

Reducida por 32

Reducida por 16

Reducida por 4

Original

Ejemplo de los efectos de la cuantificaciónEjemplo de los efectos de la cuantificación

2 niveles 4 niveles 8 niveles 256 niveles

Page 28: Curso Vision Artificial

28

Representación de las Imágenes DigitalesRepresentación de las Imágenes Digitales

=

),(...)1,()0,(

............

............

),0(...)1,0()0,0(

),(

nmfmfmf

nfff

yxf

]1_...0[),( −= NIVELMAXyxfdonde

Tipos de Imágenes DigitalesTipos de Imágenes Digitales

ð Imágenes Monocromáticas

ð Imágenes Binarias

ð Imágenes Multiespectrales

ð Imágenes Estereoscópicas

ð Imágenes de Vídeo (Secuencia de Imágenes)

Page 29: Curso Vision Artificial

29

VecindadVecindad

N4(p) = conjunto de vecindad 4

A

B C

D

X

Y

)1,( −= yxA ),1( yxB −=

),1( yxC += )1,( += yxD

N8(p) = conjunto de vecindad 8

A CB

D E

F HG

X

Y

)1,1( −−= yxA )1,1( −+= yxC

)1,1( ++= yxG)1,1( +−= yxF

ConectividadConectividad

ð Concepto importante para establecer las fronteras entre

los distintos objetos que componen las imágenes.

ð Para decir si 2 pixels p y q están conectados es necesario

determinar los siguientes criterios:

û Criterio de Vecindad

� por ejemplo:

û Criterio de Equivalencia

� por ejemplo:

)(4 pNq ∈

pq =

Page 30: Curso Vision Artificial

30

Distancia IDistancia I

ð Dados los pixels p, q y z, con coordenadas (x,y), (s,t) y (u,v) respectivamente, decimos que D es una función distancia si:

û

û

û

qpsiqpD

qpsiqpD

≠≥

==

0),(

0),(

),(),( pqDqpD =

),(),(),( zqDqpDzpD +≤

Distancia IIDistancia II

ð La DISTANCIA EUCLÍDEA entre p y q se define como:

( ) ( )22),( tysxqpDe −+−=

ð La DISTANCIA D4 (CITY-BLOCK DISTANCE) entre p y qse define como:

tysxqpD −+−=),(4

ð La DISTANCIA D8 (CHESSBOARD DISTANCE) entre p y q se define como:

( )tysxqpD −−= ,máx),(4

Page 31: Curso Vision Artificial

31

HistogramaHistograma

ð Un histograma es una representación gráfica de la frecuencia de ocurrencia de cada uno de los niveles de intensidad (niveles de gris) de una imagen

ð Pseudocódigo

Desde i = 0 hasta i = N -1

Desde j = 0 hasta j = M - 1

[ ]),( jifHISTOGRAMArIncrementa

Operaciones AritméticasOperaciones Aritméticas

ð Suma de Imágenes

ð Diferencia de Imágenes

ð Multiplicación de Imágenes

ð Escalado de Imágenes

ð División de Imágenes

Page 32: Curso Vision Artificial

32

Suma de ImágenesSuma de Imágenes

ð Aplicaciones

û Reducir los efectos del ruido en varias muestras de una misma escena.

û Aclarar imágenes (sumando una constante a todos los pixels).

ð La imagen de salida dependera de la implementación. ¿Qué hacemos con los pixels saturados?

û Normalizar

û Ajustar al máximo valor

û Empezar de nuevo en 0

),(),(),( 21 jiInjiInjiOut +=

CtejiInjiOut += ),(),(

Diferencia de ImágenesDiferencia de Imágenes

ð Aplicaciones

û Detectar cambios producidos entre dos imágenes de la misma escena pasado un determinado intervalo de tiempo. (por ejemplo: detectar una fuente de calor en el espectro infrarrojo).

û Eliminar defectos conocidos en el sensor de captación y zonas irrelevantes en el procesamiento de la escena.

ð La imagen de salida, dependiendo de la implementación, necesitará una posterior normalización para eliminar los valores negativos.

),(),(),( 21 jiInjiInjiOut −=

CtejiInjiOut −= ),(),(

),(),(),( 21 jiInjiInjiOut −=

Page 33: Curso Vision Artificial

33

Multiplicación de ImágenesMultiplicación de Imágenes

ð La multiplicación pixel a pixel de una imagen no se suele

utilizar dentro del dominio del espacio.

ð Sin embargo, tiene aplicación en el dominio de la

frecuencia. Se utiliza como filtro para atenuar

determinado tipo de frecuencias.

),(),(),( 21 jiInjiInjiOut ×=

Escalado de ImágenesEscalado de Imágenes

CtejiInjiOut ×= ),(),(ð Aplicaciones

û Aclarar imágenes

û Obscurecer imágenes

û Reducir el número de pixels que se salen fuera del rango al aplicar otras operaciones aritméticas

ð El escalado produce efectos de aclarar/obscurecer mucho más naturales que la suma de una constante a todos los pixels de una imagen ya que mantiene el contraste relativo de la imagen.

1fCte

1pCte

Nota: El escalado de niveles de gris no debe confundirse con el escalado geométrico.

Page 34: Curso Vision Artificial

34

Operaciones LógicasOperaciones Lógicas

ð Los operadores lógicos se utilizan mayormente con imágenes binárias

û AND

û OR

û NOT

û XOR

ð También se pueden emplear con imágenes en niveles de gris con otra funcionalidad

û NOT (en niveles de gris se convierte en inversión)

û AND, OR y XOR (entre los bytes de la imagen y un byte introducido como parámetro)

Operaciones GeométricasOperaciones Geométricas

ð Traslación

ð Rotación

ð Espejo Vertical

ð Espejo Horizontal

112

112

cossen

sencos

yxy

yxx

×+×=

×−×=

αα

αα

12

12

yy

xx

=

−=

12

12

yy

xx

−=

=

byy

axx

+=

+=

12

12

Page 35: Curso Vision Artificial

35

PreprocesamientoPreprocesamiento

ð Transformación de Niveles (Tablas Look-up)

ð Transformación del Histograma

ð Filtrado de Imágenes Digitales:

û en el dominio del Espacio

û en el dominio de la Frecuencia

Transformación de Niveles ITransformación de Niveles I

ð A cada nivel de intensidad se le asigna uno nuevo

ð Los niveles a asignar se guardan en tablas Look-up

ð Este tipo de transformaciones suelen estar

implementadas en Hardware

o o ... ..1 ... ... ... ..... ... ... 255 255

o 1 ... ..2 ... ... ... ..... ... ... 254 255

Page 36: Curso Vision Artificial

36

Transformación de Niveles IITransformación de Niveles II

p

q

p1

q1

p

q

p1

q1

Aclara Obscurece

Transformación de Niveles IIITransformación de Niveles III

p

q

p1

q1

p

q

p1

q1

Aumenta el contraste Invierte

Page 37: Curso Vision Artificial

37

Transformación de Niveles IVTransformación de Niveles IV

p

q

p1

q1

p

q

p1

q1

No produce cambios Umbraliza

Ecualización del HistogramaEcualización del Histograma

ð Transformación de los niveles de gris de una imagen para conseguir que su histograma sea lo más plano posible

∑==

−=

i

k

P

Pi

k

PPi

qiHMN

qqiT00

00

..

)()(

ð Características:

û Aprovecha mejor el número de niveles disponible

û Aumenta el contraste

û A veces revela detalles ocultos por un bajo contraste

p0, pk ⇒ rango original

q0, qk ⇒ rango nuevo

N x M ⇒ nº de pixels

Page 38: Curso Vision Artificial

38

Filtrado de Imágenes DigitalesFiltrado de Imágenes Digitales

ð Objetivo: Resaltar determinadas frecuencias dentro de la

imagen digital

û Paso Alto

� Resaltar Frecuencias Altas

� Se corresponden con los bordes de los objetos

û Paso Bajo

� Resaltar Frecuencias Bajas

� Se corresponden con las superficies homogéneas

a

Filtrado Espacial - Máscaras de ConvoluciónFiltrado Espacial - Máscaras de Convolución

b c

e fd

h ig

X

Y

[ ])1,1(...)1,1(1

),( ++×++−−×= yxfiyxfan

yxf

û En los límites de la imagen

se aplica un tratamiento

especial o no se aplica

ninguno (depende de la

implementación)

Page 39: Curso Vision Artificial

39

Filtrado Espacial - Filtros Paso BajoFiltrado Espacial - Filtros Paso Bajo

=

111

111

111

9

1h

=

111

121

111

10

1h

=

121

242

121

16

1h

Filtrado Espacial - Filtro de la MedianaFiltrado Espacial - Filtro de la Mediana

ð En el filtro de la mediana la máscara de convolución se emplea de forma distinta que en el resto de filtros

û Se toman todos los valores de la imagen cubiertos por la máscara

û Se ordenan de menor a mayor

û Se toma el valor central

ð Características:

û Degrada la imagen en menor cuantía que otros filtros paso bajo

û Es idempotente

û Es no lineal

Page 40: Curso Vision Artificial

40

Filtrado Espacial - Filtros Paso AltoFiltrado Espacial - Filtros Paso Alto

ð Filtros Laplacianos:

−=

010

141

010

h

−=

111

181

111

h

ð Se aplica la máscara y, posteriormente, se toma el módulo

ð El operador de Laplace tiene el inconveniente de detectar alguno de los bordes dos veces y de ser muy sensible al ruido

Filtros de GradienteFiltros de Gradiente

ð Los filtros de gradiente se utilizan para detectar los bordes (altas frecuencias) de los objetos presentes en la imagen

ð Detectan los cambios bruscos de intensidad en una determinada dirección

ð Normalmente utilizan máscaras de convolución de tamaño 3 x 3

ð En una máscara 3 x 3 podemos considerar 8 direcciones, por lo tanto, en un filtro de gradiente podemos tener hasta 8 máscaras de convolución

Page 41: Curso Vision Artificial

41

Filtrado Espacial - Filtros de GradienteFiltrado Espacial - Filtros de Gradiente

ð En la mayoría de los casos sólo se utilizan dos máscaras:

Gx y Gy para detectar los bordes horizontales y verticales

ð Posteriormente, se calcula el gradiente total mediante

alguna de las dos fórmulas siguientes:

22yx GGG += yx GGG +=

Filtros de Gradiente - RobertsFiltros de Gradiente - Roberts

−=

10

01xG

Origen

−=

01

10yG

Origen

)1,(),1()1,1(),(),( +−++++−= yxfyxfyxfyxfyxG

Page 42: Curso Vision Artificial

42

Filtros de Gradiente - PrewittFiltros de Gradiente - Prewitt

−−−

=

111

000

111

1h

−−

−=

011

101

110

2h

=

101

101

101

3h. . .

++++++−−−++−+−−= ))1,1()1,()1,1(())1,1()1,()1,1((),( yxfyxfyxfyxfyxfyxfyxG

ð Si utilizamos las máscaras h1 y h3 para detectar los bordes horizontales y verticales tenemos la siguiente expresión:

))1,1(),1()1,1(())1,1(),1()1,1(( +−+−+−−−+++++−+ yxfyxfyxfyxfyxfyxf

Filtros de Gradiente - SobelFiltros de Gradiente - Sobel

−−−

=

121

000

121

1h

−−

−=

012

101

210

2h

=

101

202

101

3h. . .

ð Si utilizamos las máscaras h1 y h3 para detectar los bordes horizontales y verticales tenemos la siguiente expresión:

++++++−−−++−+−−= ))1,1()1,(2)1,1(())1,1()1,(2)1,1((),( yxfyxfyxfyxfyxfyxfyxG

))1,1(),1(2)1,1(())1,1(),1(2)1,1(( +−+−+−−−+++++−+ yxfyxfyxfyxfyxfyxf

Page 43: Curso Vision Artificial

43

Transformada de FourierTransformada de Fourier

∑ ∑−

=

=

+−

=1

0

1

0

)(2

),(1

),(N

x

N

y

N

vyuxj

eyxfN

vuFπ

∑ ∑−

=

=

+

=1

0

1

0

)(2

),(),(N

u

N

v

N

vyuxj

evuFyxfπ

ð La transformada de Fourier es un número complejo y, por lo tanto, queda definido por su módulo y su argumento

ð Debido a que, generalmente, el módulo toma un valor muy alto para frecuencias bajas se suele mostrar su logaritmo:

[ ]),(1log),( vuFCtevuD +×=

Filtros en el dominio de la frecuenciaFiltros en el dominio de la frecuencia

ð Filtros Paso Bajo

û Dejan pasar las frecuencias bajas

ð Filtros Paso Alto

û Dejan pasar las frecuencias altas

ð Filtros Paso Banda

û Nos permiten eliminar un determinado rango de frecuencias

û Muy útil cuando el ruido tiene frecuencias conocidas

Page 44: Curso Vision Artificial

44

SegmentaciónSegmentación

ð La segmentación consiste en separar los distintos

elementos que componen la imagen digital.

ð Entre todos los métodos existentes nos centraremos en:

û Segmentación por Umbralización

û Segmentación por Crecimiento de Regiones

û Segmentación utilizando la Transformada de Hough

Segmentación - UmbralizaciónSegmentación - Umbralización

ð Umbralizar consiste en obtener una imagen binaria a partir de una imagen de niveles.

û Si los valores de la imagen están por debajo de un determinado umbral ⇒ 0 (en la imagen binaria)

û Si los valores de la imagen están por encima de un determinado umbral ⇒ 1 (en la imagen binaria)

ð Esta umbralización puede ser:

û Fija

û Histograma Global

û Histograma Local

Page 45: Curso Vision Artificial

45

Umbral con hysteresisUmbral con hysteresisð Esta operación crea una imagen binaria cuyos valores

serán umbralizados con un valor dependiente de los vecinos del pixel

ð Si los vecinos son oscuros el umbral será más alto y viceversa

ð Se trata de eliminar ruido a la vez que se obtiene la imagen binaria

+

−=∗

casootrocualquierenLUmbral

MáximovecinossiLUmbralUmbral

f3

=∗

casootrocualquieren

Umbralyxfsiyxg

0

),(1),(

Umbral Porcentual - Umbral RecursivoUmbral Porcentual - Umbral Recursivo

ð La operación de Umbralizacón Percentual crea una

imagen binaria que tendrá un porcentaje de pixels negros

igual al porcentaje determinado de antemano. Muy útil

cuando conocemos el tamaño relativo del objeto con

respecto del fondo

ð La operación de Umbralizacón recursiva crea una imagen

binaria umbralizada en un valor calculado en N

iteraciones de manera que la media de pixels debajo y

sobre el umbral sea equidistante

Page 46: Curso Vision Artificial

46

Segmentación - Crecimiento de Regiones ISegmentación - Crecimiento de Regiones I

→)(RH Criterio de Homogeneidad dentro de la Región R

ð Buscamos conseguir:

regionesdenssiiTRUERH i º..1)( ==∀=

jiji RadyacenteRjijiFALSERRH ≠∀=∪ ,)(

10)( =−↔=∪ TsiendoTmmTRUERRH Jiji pPor ejemplo:

donde mi = media del nivel de gris de la región i

Segmentación - Crecimiento de Regiones IISegmentación - Crecimiento de Regiones II

Algoritmo:

1. Dividir la imagen en muchas regiones pequeñas (por ejemplo: una por pixel)

2. Examinar todas las regiones adyacentes y unir las regiones Ri y Rj si se cumple:

3. Mientras se hayan unido regiones, ir al paso 2

TRUERRH ji =∪ )(

Page 47: Curso Vision Artificial

47

Transformada de Hough (I)Transformada de Hough (I)

ð Su objetivo es encontrar en la imagen la localización de objetos de cierto tipo (originariamente rectas)

ð Transforma la imagen a un nuevo espacio N dimensional

û Cada posición representa a un objeto concreto

ð Rectas: espacio bidimensional donde

û Cada posición representa una posible recta en la imagen original, especificada por su pendiente y ordenada en el origen

û Todas las posibles rectas que pasan por un punto en la imagen original se representan por una recta en la imagen transformada

m’

Transformada de Hough (II)Transformada de Hough (II)

x

y

Y = m x +

n

m

n

n’

x

y

m

n

n = - x’ m + y’(x’, y’)

(m’,n’)

y’ = m x’ + n

Page 48: Curso Vision Artificial

48

Transformada de Hough (III)Transformada de Hough (III)

ð Una recta en el dominio de la imagen se transforma en un punto en el espacio de Hough

ð Un haz de rectas que pasan por un punto (x’,y’) en la imagen se transforman en una recta en el dominio de Hough

ð El problema de esta representación (y = m x + n) es que la pendiente puede tomar valores infinitos

ð Es preferible la representación s = x cos θ + y sen θ

Cálculo de la transformadaCálculo de la transformada

ð Discretizar el espacio de Hough s,θ en un conjunto finito de valores (el número de éstos depende de la aplicación). Se utilizará una matriz A(s,θ). Inicializar A(s,θ) con ceros.

ð Para cada punto (x,y) activo en la imagen

û para cada posible valor de θ en el rango T� calcular s = x cos θ + y sen θ

� incrementar el contenido de A(s,θ)

ð Buscar elementos de A con valores altos; cada uno de ellos se corresponde con una recta en la imagen original. La magnitud del valor depende del número de pixels de la recta.

Page 49: Curso Vision Artificial

49

Ejemplo IEjemplo I

x

45º

90º

y

s’

90º

s

θ

45º

s’

Rectas detectadas:theta = 45.000000; S = 135.764496 (H = 1.000000)theta = 90.000000; S = 100.000000 (H = 0.707106)

Rectas detectadas:theta = 45.000000; S = 135.764496 (H = 1.000000)theta = 90.000000; S = 100.000000 (H = 0.707106)

Ejemplo IIEjemplo II

90º

s

θ

45º

Rectas detectadas:theta = 0.000000; S = 56.851387 (H = 0.819132)theta = 0.000000; S = 68.221664 (H = 0.828778)theta = 1.000000; S = 68.221664 (H = 1.000000)theta = 3.000000; S = 79.591942 (H = 0.923633)theta = 90.000000; S = 295.627197 (H = 0.839228)theta = 91.000000; S = 284.256927 (H = 0.860129)theta = 95.000000; S = 204.664993 (H = 0.809486)theta = 176.000000; S = -56.851387 (H = 0.843248)theta = 178.000000; S = -68.221664 (H = 0.977492)

Rectas detectadas:theta = 0.000000; S = 56.851387 (H = 0.819132)theta = 0.000000; S = 68.221664 (H = 0.828778)theta = 1.000000; S = 68.221664 (H = 1.000000)theta = 3.000000; S = 79.591942 (H = 0.923633)theta = 90.000000; S = 295.627197 (H = 0.839228)theta = 91.000000; S = 284.256927 (H = 0.860129)theta = 95.000000; S = 204.664993 (H = 0.809486)theta = 176.000000; S = -56.851387 (H = 0.843248)theta = 178.000000; S = -68.221664 (H = 0.977492)

Page 50: Curso Vision Artificial

50

Generalización para otros tipos de objetoGeneralización para otros tipos de objeto

ð Es posible calcular las transformadas para una gran cantidad de objetos utilizando las ecuaciones de éstos

û círculos

û rectángulos

ð La dimensión (D) del espacio transformado depende del tipo de objeto y de la resolución de la discretización de los parámetros (P)

û el coste del cálculo de la transformada de una imagen de NxNxP pixels es PN2

û el coste computacional de la búsqueda de máximos es PD

Comparación con otros métodosComparación con otros métodos

ð Ventajas

û es capaz de detectar objetos parcialmente ocultos

û es independiente del tamaño del objeto

û se puede generalizar a cualquier tipo de objeto

ð Inconvenientes

û alto coste computacional

û no es trivial fijar el umbral de detección

û es necesario describir matemáticamente el objeto a reconocer

Page 51: Curso Vision Artificial

51

Extracción de CaracterísticasExtracción de Características

ð Objetivo: encontrar valores numéricos que describan la

figura del objeto (previamente segmentada)

ð Existen muchas formas de describir los objetos presentes

en una imagen digital. Dos métodos muy utilizados son:

û Imágenes binarias de contornos → Descriptores de Contorno

û Imágenes binarias de regiones → Descriptores de Región

Obtención de una imagen de contornoObtención de una imagen de contorno

ð Se procesan las filas:

ð Se procesan las columnas

ð Se combinan los resultados previos mediante una

operación lógica OR

=−

≠−=

),()1,(0

),()1,(1),(

yxIyxIsi

yxIyxIsiyxI

=−

≠−=

),(),1(0

),(),1(1),(

yxIyxIsi

yxIyxIsiyxI

Page 52: Curso Vision Artificial

52

Descriptores de ContornoDescriptores de Contorno

ð Código Cadena

ð Signaturas

ð Aproximaciones Poligonales

Código CadenaCódigo Cadena

3 12

4 0

5 760

12

3

4

56

7

ð Para representar cada uno de los contornos existentes en una imagen son necesarios:

û Un punto inicial

û Una secuencia de dígitos que representan el contorno

Page 53: Curso Vision Artificial

53

Descriptores de RegionesDescriptores de Regiones

ð Momentos

û Área

û Centro de Gravedad

û Momentos Invariantes a Traslaciones

ð Descriptores de Textura

ð Esqueletos

MomentosMomentos

∑ ∑−

=

=

=1

0

1

0

),(N

x

M

y

qppq yxfyxm áream ≡00

00

01

00

10:m

my

m

mxGravedaddeCentro ==

∑ ∑−

=

=

−−=1

0

1

0

),()()(N

x

M

y

qppq yxfyyxxµ

Momentos Invariantes a Traslaciones:

Page 54: Curso Vision Artificial

54

Morfología Matemática - Introducción (I)Morfología Matemática - Introducción (I)

ð Morfología Matemática

û metodología del tratamiento de imágenes basada en el estudio de formas y estructuras

ð Tipos de Estructura interior de una imagen

û Macroestructura� análisis de formas:

herramientascaracteres impresos

û Microestructura� análisis de distribución de partículas

imagen ruidosa

Morfología Matemática - Introducción (II)Morfología Matemática - Introducción (II)

ð Tipos de Morfología Matemática

û Morfología Binaria� Transformaciones de Conjuntos � Imágenes binarias

û Morfología Numérica� Transformaciones de Funciones� Imágenes Numéricas

ð La Morfología Matemática nos permite construir transformaciones complejas mediante iteración o concatenación de transformaciones elementales

Page 55: Curso Vision Artificial

55

Morfología Matemática - Introducción (III)Morfología Matemática - Introducción (III)

ð Imágenes

û Conjunto de pixels de tamaño apreciable

ð Elementos Estructurantes

û Conjunto de pixels de tamaño reducido

Imagen A =

E.E. X =

Morfología Matemática - Introducción (IV)Morfología Matemática - Introducción (IV)

ð La idea básica del procesamiento morfológico consiste en ir sondeando la imagen con un elemento estructurante para obtener información relativa a las formas que en ella se encuentran.

ð Georges Matheron

û “el conocimiento que tenemos de una imagen depende del modo en que la observamos, y por lo tanto, todas las relaciones consecuentes dependerán de las elecciones tomadas en nuestras observaciones”

û “incluso si aplicamos algoritmos para seleccionar el elemento estructurante apropiado, el criterio mediante el cual estos algoritmos realizan sus selecciones estará, a fin de cuentas, determinado por el tipo de información que nosotros deseemos conseguir”

Page 56: Curso Vision Artificial

56

Morfología Matemática - Erosión (I)Morfología Matemática - Erosión (I)

ð Notación:

ð Definición

û consiste en pasear el elemento estructurante por todos los pixels de la imagen e ir marcando aquellas posiciones en las que se sitúa el origen del elemento estructurante, siempre y cuando éste “case” en la imagen

Morfología Matemática - Erosión (II)Morfología Matemática - Erosión (II)

Imagen Original

Imagen Erosionada

ElementoEstructurante

Page 57: Curso Vision Artificial

57

Morfología Matemática - Dilatación (I)Morfología Matemática - Dilatación (I)

ð Notación:

ð Definición

û consiste en pasear el elemento estructurante por todos los pixels de la imagen y, si el origen del elemento estructurante coincide con un pixel activo (=1), entonces marcaremos las posiciones activas del elemento estructurante en la imagen de salida.

Morfología Matemática - Dilatación (II)Morfología Matemática - Dilatación (II)

Page 58: Curso Vision Artificial

58

Morfología Matemática - AperturaMorfología Matemática - Apertura

ð Notación:

ð Definición

û consiste en una erosión seguida de una dilatación, ambas con el mismo elemento estructurante.

ð Ejemplo:

Morfología Matemática - CierreMorfología Matemática - Cierre

ð Notación:

ð Definición

û consiste en una dilatación seguida de una erosión, ambas con el mismo elemento estructurante.

ð Ejemplo:

Page 59: Curso Vision Artificial

59

Morfología Matemática - EsqueletizaciónMorfología Matemática - Esqueletización

ð Es un método empleado comunmente para el adelgazamiento de imágenes con propósitos de reconocimiento o compresión

ð Se basa en el concepto de discos máximos

ð Los centros de los discos máximos de una imagen componen el esqueleto de la imagen

ð Ejemplos:

ð Fórmula de Lantuejoul para obtener el esqueleto de una imagen:

( ) ( )[ ]{ } ... 2, 1,n para )( =Θ−Θ∪= BnBSnBSSSkel o

Morfología Matemática - Propiedades (I)Morfología Matemática - Propiedades (I)

ABBA ⊕=⊕

( ) ( ) CBACBA ⊕⊕=⊕⊕

BBABABBB ⊕⊕=⊕⇒⊕= 22

• Multiplicación Escalar

• Asociatividad de la Dilatación

• Conmutatividad de la Dilatación

Page 60: Curso Vision Artificial

60

Morfología Matemática - Propiedades (II)Morfología Matemática - Propiedades (II)

( )( ) BABBA

BABBA

•=••= ooo

ABA ⊃•

ABA ⊂o

• Antiextensividad de la apertura

• Extensividad del cierre

• Idempotencia

Morfología Matemática - Aplicaciones (I)Morfología Matemática - Aplicaciones (I)

( ) ABA −⊕

( ) BBA •o

• Filtrado de Ruido

• Detección de Bordes

Frontera Externa

( )BAA Θ−

( ) ( )BABA Θ−⊕

Frontera Interna

Gradiente Morfológico

Page 61: Curso Vision Artificial

61

Morfología Matemática - Aplicaciones (II)Morfología Matemática - Aplicaciones (II)

ð Granulometrías

û Método de análisis de texturas, tamaños y formas

û Consiste en cribar imágenes granulares a través de cribas de diferente tamaño y forma.

ð Ejemplo:

( )

EEEE

EEE

circulareeEE

pixelúnicounE

⊕⊕=⊕=

==

4

3

2 . .

1

Morfología Matemática - Morfología NuméricaMorfología Matemática - Morfología Numérica

ð La morfología numérica tiene en consideración las transformaciones morfológicas de las funciones (imágenes numéricas)

ð La Erosión se realiza reemplazando cada punto de la imagen por el valor Mínimo de todos los puntos cubiertos por el elemento estructurante

ð En la Dilatación el valor de cada punto de la imagen viene dado por el valor Máximo de los puntos cubiertos por el elemento estructurante

{ }BjijifByxf ∈=Θ ),(|),( mín ),(

{ }BjijifByxf ∈=⊕ ),(|),( máx ),(

Page 62: Curso Vision Artificial

62

Compresión de Imágenes - NecesidadCompresión de Imágenes - Necesidad

ð Almacenamiento requerido por distintos tipos de imágenes digitales

û trama de vídeo en color (512 x 512)

� 750 KBytes

û negativo fotográfico (2000 x 3000)

� 18 MBytes

û radiografía (5000 x 6000)

� 44 Mbytes

ð Velocidad de Transmisión

Compresión de Imágenes - RedundanciaCompresión de Imágenes - Redundancia

ð El proceso de compresión consiste básicamente en

eliminar uno o más de los 3 tipos siguientes de

redundancia

û Redundancia Espacial: debida a la correlación

(dependencia) entre los valores de pixels vecinos

û Redundancia Espectral: debida a la correlación entre los

diferentes planos de color

û Redundancia Temporal: debida a la correlación entre las

tramas de una secuencia de imágenes

Page 63: Curso Vision Artificial

63

Compresión de Imágenes - ClasificacionesCompresión de Imágenes - Clasificaciones

ðMétodos con pérdida de información

ðMétodos sin pérdida de información

ðMétodos Espaciales

ðMétodos Transformados

ðMétodos de 1ª generación

ðMétodos de 2ª generación

Compresión de Imágenes - Métodos (I)Compresión de Imágenes - Métodos (I)

ð Codificación en planos de bits

û códigos continuos (código Gray)

û codificación de longitudes

ð Codificación Predictiva

û predicción

û codificación

Page 64: Curso Vision Artificial

64

Compresión de Imágenes - Métodos (II)Compresión de Imágenes - Métodos (II)

ðMétodos Transformados - Compresor

Segmentaciónen bloques detamaño n x n

Transformación

Cuantificadory

Codificador

ImagenOriginal

f(i,j)

f(j,k)F(u,v)

F*(u,v)Imagen

Comprimida

Compresión de Imágenes - Métodos (III)Compresión de Imágenes - Métodos (III)

ðMétodos Transformados - Descompresor

Decodificador

TransformaciónInversa

Combinaciónde los

bloques

ImagenComprimida

F’*(u,v)

F’(u,v)f’(j,k)

f’(i,j)Imagen

Reconstruida

Page 65: Curso Vision Artificial

65

Compresión de Imágenes - Métodos (IV)Compresión de Imágenes - Métodos (IV)

ð Codificación Subbanda

Filtropasoalto

Sub-muestreo

Filtropasobajo

Sub-muestreo Filtro

pasoalto

Sub-muestreo

Filtropasobajo

Sub-muestreo

Filtropasoalto

Sub-muestreo

Filtropasobajo

Sub-muestreo

f(i,j)

f2(i,j)

f1(i,j)f11(i,j)

f12(i,j)

f21(i,j)

f22(i,j)

Compresión de Imágenes - Métodos (V)Compresión de Imágenes - Métodos (V)

ð Codificación Jerárquica

Nivel 0 (N x N)Imagen Original

Nivel 1(N/2 x N/2)

Nivel 2(N/4 x N/4)

Nivel 3(N/8 x N/8)

Page 66: Curso Vision Artificial

66

Compresión de Imágenes - Métodos (VI)Compresión de Imágenes - Métodos (VI)

ðCodificación basada en el Objeto

û Segmentación

� Regiones Crecientes

� Morfología Matemática

û Codificación de Contornos

û Codificación de Texturas

Compresión de Imágenes - Estándares (I)Compresión de Imágenes - Estándares (I)

ð JPEG (Joint Picture Group) ISO-CCITT

ðModos de Funcionamiento

û Secuencial

û Progresivo

û Jerárquico

û Sin pérdida de información

Page 67: Curso Vision Artificial

67

Compresión de Imágenes - Estándares (II)Compresión de Imágenes - Estándares (II)

ð JPEG - Resultados

Bits por pixel

0.25 - 0.50

0.50 - 0.75

0.75 - 1.50

1.50 - 2.00

Calidad

Moderada a Buena

Buena a Muy Buena

Excelente

Indistinguible del original

Compresión de Imágenes - Estándares (III)Compresión de Imágenes - Estándares (III)

ðMPEG (Moving Picture Expert Group) - ISO

Esquema de Codificaciónð Apartados del MPEG

û MPEG - VIDEO

û MPEG - AUDIO

û MPEG - SYSTEM

Page 68: Curso Vision Artificial

68

Calibración de CámarasCalibración de Cámaras

ðModelo general de cámara

û Modelo de calibración pin-hole

û Modelo de distorsión de la lente

û Plantillas de calibrado

ðModelo de calibrado alternativo

û Modelo de cámara basado en interpolación

Modelo General de CámaraModelo General de Cámara

ðObjetivo: construir un modelo analítico que permita obtener la proyección de una escena y, a partir de él, el modelo inverso

ðObtención de una medida cuantitativa a partir de la imagen que se analiza

X

Y

Z

MODELOu

v

⇒ ⇒

u

vMOD INVERSO

X

Y

Z

⇒ ⇒

.

Page 69: Curso Vision Artificial

69

Modelo de Calibración pin-hole (I)Modelo de Calibración pin-hole (I)

ð M(X,Y,Z) Punto de la escena

ð m(x,y) Punto M proyectado en el plano imagen

ð C Centro óptico

ð f Distancia focal

x f XZ

=

y f YZ

=

Modelo de Calibración pin-hole (II)Modelo de Calibración pin-hole (II)

ð (x,y) Proyección sobre el plano imagen

ð (u,v) Píxel correspondiente a la proyección

ð c(u0,v0) Punto principal de la cámara

ð ku, kv Nº píxeles por unidad de longitud

u k x uu= + 0

v k y vv= + 0

Page 70: Curso Vision Artificial

70

Modelo de Calibración pin-hole (III)Modelo de Calibración pin-hole (III)

ð (XW,YW,ZW) Sistema de referencia de la escena

ð (X,Y,Z) Sistema de referencia de la cámara

Modelo de Calibración pin-hole (IV)Modelo de Calibración pin-hole (IV)

ð Transformación del sistema de referencia de la escena al sistema de referencia de la cámara

ð R Matriz de rotación

ð t Vector de traslación

R =−

− + ++ − +

cos cos sen cos sen

sen cos cos sen cos cos cos sen sen sen cos sen

sen sen cos sen cos cos sen sen sen cos cos cos

ψ θ ψ θ θψ φ ψ θ φ ψ φ ψ θ φ θ φ

ψ φ ψ θ φ ψ φ ψ θ φ θ φ

t

t

t

t

x

y

z

=

X

Y

Z

R

X

Y

Z

tW

W

W

=

+

Page 71: Curso Vision Artificial

71

Modelo de Calibración pin-hole (V)Modelo de Calibración pin-hole (V)

ð

ð

ð

t

Z

Y

X

R

Z

Y

X

W

W

W

+

=

Z

Xfx =

Z

Yfy =

0uxku u +=

0vykv v +=

Parámetros de CalibraciónParámetros de Calibración

ð Parámetros intrínsecos. Representan las propiedades internas de la cámara

û f, distancia focal

û u0, v0, coordenadas del punto principal

û ku, kv, factores de escala horizontal y vertical

ð Parámetros extrínsecos. Representan la posición y orientación de la cámara respecto de la escena

û ψ, θ, φ, parámetros de rotación

û tx, ty, tz, parámetros de traslación

Page 72: Curso Vision Artificial

72

Proceso de CalibraciónProceso de Calibración

ð La calibración de una cámara consiste en calcular los once parámetros intrínsecos y extrínsecos

ð Proceso de calibrado:

û Construcción de la plantilla de calibrado. Al menos seis puntos de la escena conocidos

û Proyección y localización de los puntos en la imagen

û Planteamiento del sistema de ecuaciones

û Resolución aplicando mínimos cuadrados

Modelo de Distorsión de la Lente (I)Modelo de Distorsión de la Lente (I)

ð El modelo pin-hole es un modelo teórico libre de distorsiones

ð La óptica de la cámara introduce aberraciones que distorsionan la imagen. La más notable es la distorsión radial, que provoca que los puntos de la imagen se desplacen en direcciones radiales alejándose o acercándose al punto principal c

Page 73: Curso Vision Artificial

73

Modelo de Distorsión de la Lente (II)Modelo de Distorsión de la Lente (II)

ð Influencia de la distorsión radial en el modelo general de cámara.

ð δx y δy son las correcciones de las coordenadas (x,y)

yyy δ+= ˆ

...)(ˆ 63

42

21 +++= rkrkrkxxδ

...)(ˆ 63

42

21 +++= rkrkrkyyδ 22 ˆˆ yxr +=

)1(ˆ 21rkxx +=

)1(ˆ 21rkyy += 222 ˆˆ yxr +=

21ˆ rkxx =δ

21ˆ rkyy =δ

xxx δ+= ˆ

Modelo de Distorsión de la Lente (III)Modelo de Distorsión de la Lente (III)

ð

ð

t

Z

Y

X

R

Z

Y

X

W

W

W

+

=

Z

Xfx =

Z

Yfy =

0ˆ uxku u +=

0ˆ vykv v +=

)1(ˆ 21rkxx +=

)1(ˆ 21rkyy +=

222 ˆˆ yxr +=

ð

ð

Page 74: Curso Vision Artificial

74

Proceso de Calibración (I)Proceso de Calibración (I)

ð k1 es el nuevo parámetro introducido por el modelo de distorsión de la lente

ð El modelo de distorsión de la lente no es lineal

ð Proceso de calibrado:

1 Obtención de los once parámetros del modelo pin-hole, considerando k1 = 0 la primera vez y el valor calculado en el paso 2 las siguientes veces

2 Despejar k1 y calcularlo en función de los once parámetros obtenidos en el paso previo

3 Repetir los dos pasos anteriores hasta que los doce parámetros converjan

Proceso de Calibración (II)Proceso de Calibración (II)

ð Algoritmo:

Ctes(t) = (f, u0, v0, ku, kv, ψ, θ, φ, tx, ty, tz)(t)

t = 0

k1(t) = 0

Ctes(t) = 0

Repetir

t = t + 1

Calcular Ctes(t) con k1(t-1)

Calcular k1(t) con Ctes(t)

Hasta que Ctes(t) == Ctes(t-1) y k1(t) == k1(t-1)

Page 75: Curso Vision Artificial

75

Plantilla de Calibrado (I)Plantilla de Calibrado (I)

Plantilla de calibrado (II)Plantilla de calibrado (II)

Page 76: Curso Vision Artificial

76

Modelo de Cámara Basado en InterpolaciónModelo de Cámara Basado en Interpolación

ð Características:

û Método válido para análisis de escenas formadas por planos (pared, suelo, lateral plano de un objeto, etc.)

û Independiente de la posición de la cámara y de la distancia focal

û No existen parámetros de calibrado

û Existen dos matrices con las posiciones reales y de imagen, respectivamente, de los puntos de calibrado

û Transformación directa entre coordenadas reales y coordenadas de imagen

û Minimiza el efecto de la perspectiva y de la distorsión radial

Transformación de CoordenadasTransformación de Coordenadas

ð Las transformación de coordenadas se realiza pasando de un espacio bidimensional (plano XY) a otro (plano uv)

ð Correspondencia biunívoca entre las coordenadas de imagen y reales en los puntos de calibrado

ð Interpolación bilineal entre los puntos de calibrado para obtener el resto de puntos

Page 77: Curso Vision Artificial

77

Interpolación BilinealInterpolación Bilineal

ð Se obtienen los puntos de calibrado más próximos que rodean al punto a transformar

ð Se calcula la interpolación de cada coordenada por separado

Visión EstéreoVisión Estéreo

ðObjetivo: reconstrucción de las coordenadas 3D de los puntos de una escena desde varias imágenes tomadas por cámaras diferentes de las cuales se conoce su posición y orientación

ð Conceptos básicos

û Ambigüedad de la correspondencia

û Restricciones

û Rectificado

û Técnicas de correlación

Page 78: Curso Vision Artificial

78

Ambigüedad de la Correspondencia (I)Ambigüedad de la Correspondencia (I)

ð Dado un punto perteneciente a un objeto en una imagen es difícil determinar cuál es su homólogo en la otra imagen, ya que puede haber varios candidatos

ð Cuestiones que se plantean:

û ¿Qué puntos de la segunda imagen son adecuados para ser puestos en correspondencia?

û ¿Qué restricciones pueden utilizarse para limitar la búsqueda del homólogo?

û ¿Cómo se realiza el emparejamiento?

Ambigüedad de la Correspondencia (II)Ambigüedad de la Correspondencia (II)

ð Problema de correspondencia:para el punto m1 hay que decidir con qué m2 se corresponde

ð Problema de reconstrucción:Dado m1 y m2 hay que calcular las coordenadas de M en el sistema de referencia de la escena

û Intersección entre las rectas m1C1 y m2C2

û Resolución del sistema de ecuaciones

con Pi matrices de proyecciónMPm

MPm

22

11

=

=

Page 79: Curso Vision Artificial

79

Ambigüedad de la Correspondencia (III)Ambigüedad de la Correspondencia (III)

ð Para resolver el problema de correspondencia hay que imponer restricciones:

û Restricciones geométricas impuestas por el sistema de cámaras: destaca la restricción epipolar

û Restricciones geométricas que surgen según la posición desde la que se observen los objetos:suposición de que la distancia al objeto varía ligeremente en cualquiera de sus partes (poliedros)

û Restricciones físicas que surgen de la manera en que los objetos interaccionan con la iluminación: implica utilizar modelos para las fuentes de luz y para las superficies de reflectancias (modelo lambertiano)

Primitivas de Puesta en CorrespondenciaPrimitivas de Puesta en Correspondencia

ð Las primitivas de correspondencia representan elementos (puntos, líneas, regiones) seleccionados para encontrar correspondencias entre dos vistas estereoscópicas de una misma escena

û Primitivas basadas en la intensidad: se correlan píxeles (o ventanas) atendiendo a sus niveles de gris

û Primitivas basadas en bordes: se utilizan los puntos de los bordes para emparejar los puntos homólogos

û Primitivas basadas en regiones: se establecen correspondencias entre regiones, que son menos sensibles al ruido. Hay menor ambigüedad

Page 80: Curso Vision Artificial

80

RestriccionesRestricciones

ð Se imponen restricciones geométricas para limitar el espacio de búsqueda del homólogo

ð Restricciones más comunes:

û Restricción epipolar

û Criterio de unicidad

û Restricción de continuidad

û Restricción de ordenación

û Restricción de planaridad

Restricción Epipolar (I)Restricción Epipolar (I)

ð Es la restricción más conocida y estudiada

ð Permite reducir el espacio de búsqueda de dos a una dimensión

ð Definiciones:

û Plano epipolar ℘

û Líneas epipolares

û Epipolos

û Línea base.

Page 81: Curso Vision Artificial

81

Restricción Epipolar (II)Restricción Epipolar (II)

Características de la Restricción Epipolar (I)Características de la Restricción Epipolar (I)

ð Las líneas epipolares son el resultado de la intersección del plano epipolar con cada uno de los planos imagen

ð Los epipolos son únicos para un mismo sistema estereoscópico

ð Todas las líneas epipolares pasan por los epipolos

ð La línea base es única para un sistema estereoscópico dado

ð Todos los planos epipolares pasan por la línea base

ð Dado m1, m2 se encuentra en la epipolar ep2 (2D ⇒ 1D)

ð Es simétrica (m1 busca m2 en ep2 y m2 busca m1 en ep1)

Page 82: Curso Vision Artificial

82

Características de la Restricción Epipolar (II)Características de la Restricción Epipolar (II)

ð Si los planos imagen son paralelos los epipolos se van al infinito y todas las epipolares son paralelas

Criterio de UnicidadCriterio de Unicidad

ð Para cada punto de la imagen 1 existe a lo sumo un punto homólogo en la imagen 2 (los objetos deben ser opacos)

ð Las líneas y áreas tienen infinitos puntos independiente-mente del punto de vista desde el que se observen

ð Existen problemas debido al error de discretización debido al proceso de digitalización

Page 83: Curso Vision Artificial

83

Restricción de ContinuidadRestricción de Continuidad

ð También llamada restricción de disparidad

ð Se basa en la “suavidad” de las superficies de los objetos

ð Función de disparidad

ð Un vecino n1 de m1 encuentra a su homólogo n2 con una disparidad próxima a d

zd 1=

Restricción de Ordenación (I)Restricción de Ordenación (I)

ð Dado un punto M, existe una zona prohibida ligada a M en la que no podrán verse simultáneamente dos puntos pertenecientes a un mismo objeto opaco de grosor no nulo

ð Para un punto N situado en la zona prohibida de M, el orden de las proyecciones de los puntos N y M es idéntico en ambas imágenes: E1m1n1 y E2 m2 n2

Page 84: Curso Vision Artificial

84

Restricción de Ordenación (II)Restricción de Ordenación (II)

ð Esta restricción puede utilizarse para eliminar candidatos de n1conociendo el par estéreo m1 y m2

ð Si M y N no pertenecen al mismo objeto, no se puede aplicar la restricción de ordenación

Restricción de PlanaridadRestricción de Planaridad

ð Se aplica cuando los puntos de los que se va a buscar un par estéreo pertenecen a un plano

ð Existe un transformación analítica que consiste en una rotación y una traslación de los parámetros del plano desde una imagen a la otra

Page 85: Curso Vision Artificial

85

RectificadoRectificado

ð Se aplica para asegurar una geometría epipolar simple para un par estéreo, es decir, epipolos en el infinito y epipolares paralelas a las filas de la imagen

ð La digitalización realiza un muestreo de la escena que obliga a realizar una interpolación bilineal de las intensidades de la imagen

Técnicas de correlación (I)Técnicas de correlación (I)

ð Ambas imágenes tienen que estar previamente rectificadas

ð Se considera una ventana rectangular de tamaño (2P+1)x(2N+1) centrada en (u,v) para encontrar las coordenadas del píxel de la segunda imagen

ð Se calcula la correlación C12(τ) de la primera imagen con la segunda a lo largo de la fila v

ð τ indica el desplazamiento a lo largo de la fila v

ð La correlación no es simétrica, es decir, C21(τ) obtiene resultados diferentes

Page 86: Curso Vision Artificial

86

Técnicas de correlación (II)Técnicas de correlación (II)

( )( )∑ ∑−= −=

+−+++−++=N

Nu

P

Pv

vuIvvuuIvuIvvuuIK

C1 1

),(),(),(),(1

)( 2112111112 τττ

),(),()12)(12( 21 vuvuPNK τσσ +++=

∑ ∑−= −=

++++

=N

Nu

P

Pv

vvuuIPN

vuI1 1

),()12)(12(

1),( 1111

∑ ∑−= −=

+++++

=+N

Nu

P

Pv

vvuuIPN

vuI2 2

),()12)(12(

1),( 2222 ττ

( )∑ ∑−= −=

+−+++++

=+N

Nu

P

Pv

vuIvvuuIPN

vu1 1

2

111121 ),(),(

)12)(12(

1),( τττσ

( )∑ ∑−= −=

+−+++++

=+N

Nu

P

Pv

vuIvvuuIPN

vu2 2

2

222222 ),(),(

)12)(12(

1),( τττσ

Ejemplos de SVA - MORPHECO (I)Ejemplos de SVA - MORPHECO (I)

ðMORPHECO: Codificación Morfológica para el Almacenamiento y Transmisión de Imágenes Digitales

ð Compresión basada en objetos (mayor compresión)

ð Codificación de contornos y de texturas por separado

ð Posibilidad de ajustar los ratios de compresión mediante la configuración de:

û Número de iteraciones

û Tamaño del elemento estructurante

Page 87: Curso Vision Artificial

87

Ejemplos de SVA - MORPHECO (II)Ejemplos de SVA - MORPHECO (II)

ðRatios de compresión > 30 : 1

ûMORPHECO obtiene mejor calidad que JPEG

ðRatios de compresión ≈ 30 : 1

û La recuperación global de la escena es similar en ambos casos

ðRatios de compresión < 30 : 1

û JPEG obtiene mejor calidad que MORPHECO

Ejemplos de SVA - PRYCAEjemplos de SVA - PRYCA

ð Aplicación para la cadena de supermercados PRYCA

ð Representación Multiescala de Imágenes

ð Elevados Niveles de compresión

ð Transmisión Progresiva

û Ante la solicitud de una imagen (y otros datos del producto) por parte de un supermercado, la estación de trabajo de la central la enviará de forma progresiva (utilizando codificación morfológica) hasta que se produzca la recepción de conformidad

Page 88: Curso Vision Artificial

88

Ejemplos de SVA - FIDESYEjemplos de SVA - FIDESY

ð FIDESY (Fire Detection System) en entornos industriales

ð Cámara de Infrarrojo

û Localización del fuego

û Segmentación de la estructura fractal

ð Cámara de visión normal

û Comprobación dentro del rango visible

ð Activación automática de los equipos anti-incendios y/o aviso a los servicios de extinción de incendios más cercanos

Ejemplos de SVA - CAVAEjemplos de SVA - CAVA

ð CAVA (Control de Acceso a Vehículos Automóviles)

M-1111-Z

Barrera

Foco Infrarrojo Cámara

ð Segmentación de la matrícula basada en sus características geométricas

ð Reconocimiento de los caracteres mediante una red neuronal entrenada previamente

Page 89: Curso Vision Artificial

89

Ejemplos de SVA - GERSAEjemplos de SVA - GERSA

ð Detección automática de futuras averías en las líneas del tendido eléctrico

ð Una avioneta o helicóptero recorre la línea del tendido eléctrico realizando una grabación en vídeo mediante un sensor infrarrojo-visible

ð En el laboratorio se analiza la grabación en busca de puntos calientes en las catenarias

û Se buscan zonas iluminadas (calientes)

û Se analiza si se corresponden con un cable del tendido o no

û Se determina la ubicación de la avería

Ejemplos de SVA - PARTITURASEjemplos de SVA - PARTITURAS

ð Segmentación

û Umbralización por histograma local

û Búsqueda de pentagramas

û Eliminación de las líneas del pentagrama mediante morfología matemática

û Búsqueda de notas de izquierda a derecha

ð Descripción

û Altura relativa de la nota: obtención del tono

û Teselado de la imagen de la nota

ð Clasificación

û Perceptrón Multicapa

SVAPartitura en

formato BMP Fichero MIDI

Page 90: Curso Vision Artificial

90

Ejemplos de SVA - Inspección VisualEjemplos de SVA - Inspección Visual

ð Cinta Transportadora

ð 8 cámaras + 1 de alta resolución

ð 2 tarjetas digitalizadoras

ð 1 PLC

ð 2 zonas de captación con un volteador de objetos

ð Reconocimiento de defectos en los objetos a inspeccionar

ð Selección de la línea de salida según el tipo de defecto detectado

BibliografíaBibliografía

ð “Reconocimiento de Formas y Visión Artificial.”û Darío Maravall

ð “Digital Image Processing”û R.C. Gonzalez y P. Wintz.

ð “Machine Vision”û Davies

ð “Computer Vision and Image Processing”û Linda Shapiro

ð “Image Processing, Analysis and Machine Vision”û Milan Sonka, Vaclav Hlavac y Roger Boyle

ð “A Versatil Camera Calibration Technique for High-accuracy 3D MachineVision Metrology Using Off-the-self TV Cameras and Lens”û Roger Y. Tsai

ð “Three Dimensional Computer Vision”û Olivier Faugeras