Curso Curso de de Visión Visión Artificial Artificial
Francisco Serradilla García Ángel Arroyo Castillo Fco. Javier Alcalá Casado
Contenidos 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.
1
Introducción Introducció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 Respuesta al al Espectro Espectro Electromagnético Electromagnético
2
Respuesta Respuesta al al Espectro Espectro Electromagnético Electromagnético
ð Longitud de onda = 1 / Frecuencia de onda
Respuesta Respuesta al al Espectro Espectro Electromagnético Electromagnético
3
Espectro Espectro Electromagnético Electromagnético -- Ejemplos 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 Velocidad de de Respuesta 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).
4
Velocidad Velocidad de de Respuesta Respuesta -- Ejemplos 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, Sensibilidad, Precisión Precisión yy Consistencia 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.
5
SVH SVH -- Procesos Procesos oponentes 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 SVH -- Efecto Efecto de de relleno 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.
6
SVH SVH -- Percepción Percepción de de la la distancia distancia
Este dibujo nos permite comprobar la Influencia del color y del brillo en la percepción de la distancia
SVH SVH -- Campos Campos receptivos receptivos
7
SVH SVH -- Ilusiones Ilusiones
Esquema Esquema Físico Físico de de un un SVA SVA Cámara
Posición (Encuadre) Zoom Enfoque Luz Conversor A / D
Señal de Vídeo (Analógica)
Tarjeta Digitalizadora Imagen Digital
Memoria
Realiza las operaciones sobre la imagen en memoria
CPU
Control de los parámetros de la cámara (Visión Activa)
8
Esquema Esquema Lógico Lógico de de un un SVA SVA
Adquisición
Campo del Reconocimiento de Patrones
Campo de la Inteligencia Artificial
Reconocimiento
Interpretación de la escena
Extracción de Características Campo de la Visión Artificial
Preproceso
Segmentación
Iluminación Iluminació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.
9
Naturaleza Naturaleza de de la la luz 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 Características ópticas ópticas de de los los materiales 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.
10
Características Características ópticas ópticas de de los los materiales 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 Características ópticas ópticas de de los los materiales 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
11
Fuentes Fuentes de de Luz Luz ð Fuentes Incandescentes ð Fluorescentes ð LEDs ð Luz Estroboscópica ð Láser ð Fibra óptica
Fuentes Fuentes Incandescentes Incandescentes ð Ventajas û Bajo coste û Fáciles de utilizar û Pueden estar en
funcionamiento durante largos períodos de tiempo
ð Inconvenientes û Desprenden calor
elevado û El paso de la corriente
alterna a 50 Hz
û Permiten ajustar la
intensidad
12
Fluorescentes Fluorescentes ð Ventajas
ð Inconvenientes
û No generan calor
û Imposibilidad de operar a
bajas temperaturas
û Formas y tamaños variables
û Disminución del nivel de
û Diversos colores de luz
iluminación con el paso del tiempo
ð Aplicaciones û Buenos para iluminación difusa û Se emplean con materiales con un elevado índice de reflexión
LEDs LEDs ð Ventajas û Luz monocroma en una
ð Inconvenientes û Intensidad de iliminación
gran variedad de colores
muy baja
û Período de vida largo û Bajo coste
ð Aplicaciones û Buenos para iluminación a contraluz û Se utilizan LEDs ultravioletas para obtener grandes incrementos
de contraste
13
Luz Luz Estroboscópica Estroboscópica ð Inconvenientes
ð Ventajas
û Necesitan una fuente
û Permiten analizar
de tensión especial
objetos en movimiento (piezas en una cinta transportadora)
û Necesitan
sincronización con las cámaras
û Iluminación intensa
(disminuye el efecto de la luz ambiente)
û Su intensidad va
decreciendo con el tiempo
û Pulsos de luz de 2
µseg.
Láser Láser ð Ventajas
ð Inconvenientes
û Permite generar una
gran diversidad de patrones de luz (puntos, líneas finas, rejillas, ...)
û Mal comportamiento
frente a superficies que absorben luz
ð Aplicaciones û Buenos para iluminación estructurada û Permiten medir alturas en el eje z
14
Fibra Fibra óptica ó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 Métodos de de Iluminación Iluminación
ð Iluminación a Contraluz ð Iluminación Estructurada ð Iluminación Frontal ð Iluminación Rasante
15
Iluminación Iluminación aa Contraluz Contraluz
CÁMARA
Iluminación Iluminación aa Contraluz 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.
16
Iluminación Iluminación Estructurada Estructurada
Iluminación Iluminación Estructurada 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
17
Iluminación Iluminación Frontal Frontal ee Iluminación Iluminación Rasante 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 Tipos de de Cámaras Cámaras ð Cámaras VIDICÓN ð Cámaras de Estado Sólido ð Otros Dispositivos Captadores de Imagen û Scanners û Arrays Lineales
18
Cámaras Cámaras VIDICÓN 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 Cámaras de de Estado Estado Sólido 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.
19
Cámaras Cámaras Digitales Digitales oo Analógicas 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 que se puede introducir ruido eléctrico en la señal antes de ser digitalizada, 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 Ventajas de de utilizar utilizar cámaras cámaras digitales 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.
20
Sensibilidad Sensibilidad de de una una cámara 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 ENOB -- número número de de bits bits efectivos 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.
21
Campo Campo de de Visión 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 Campo de de Visión Visión -- Ejemplo 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.
22
Ópticas Ópticas -- Refracción Refracción de de la la Luz Luz Fuente de Luz
Medio más denso
Vector normal a la superficie
Ópticas Ópticas -- Distancia Distancia Focal Focal
∞
Lente Convergente
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.
23
Ópticas Ópticas -- Profundidad Profundidad de de Campo Campo ∞ Lente Convergente
∞
f q p
Ópticas Ópticas -- Profundidad Profundidad de de Campo 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:
1 1 1 + = p q f Si p = ∞ ⇒
1 1 1 = 0⇒ = ⇒ q= f p q f
Si p = f ⇒ q = ∞
24
Ópticas Ópticas -- Ejemplo Ejemplo II 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 Ópticas -- Ejemplo Ejemplo II 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?
25
Tarjetas Tarjetas Digitalizadoras 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 Muestreo yy Cuantificación 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).
26
Ejemplo Ejemplo de de los los efectos efectos del del muestreo muestreo
Reducida por 32
Reducida por 16
Reducida por 4
Original
Ejemplo Ejemplo de de los los efectos efectos de de la la cuantificación cuantificación
2 niveles
4 niveles
8 niveles
256 niveles
27
Representación Representación de de las las Imágenes Imágenes Digitales Digitales f ( x, y ) =
f (0,0)
f (0,1)
...
...
...
...
...
...
...
f ( m,0)
f ( m,1) ...
f (0, n)
... f (m, n)
...
donde f ( x, y ) = [0...MAX _ NIVEL − 1]
Tipos Tipos de de Imágenes Imágenes Digitales Digitales ð Imágenes Monocromáticas ð Imágenes Binarias ð Imágenes Multiespectrales ð Imágenes Estereoscópicas ð Imágenes de Vídeo (Secuencia de Imágenes)
28
Vecindad Vecindad N4(p) = conjunto de vecindad 4
N8(p) = conjunto de vecindad 8
X
X
Y
Y
A B
A B C D
C
E
F G H
D
A = ( x, y − 1)
B = ( x − 1, y )
A = ( x − 1, y − 1) C = ( x + 1, y − 1)
C = ( x + 1, y )
D = ( x, y + 1)
F = ( x − 1, y + 1) G = ( x + 1, y + 1)
Conectividad Conectividad ð 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:
q ∈ N 4 ( p)
û Criterio de Equivalencia Ÿ por ejemplo:
q= p
29
Distancia Distancia II ð 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: û
D ( p, q) = 0 D ( p, q) ≥ 0
si p = q si p ≠ q
û
D ( p, q ) = D (q, p )
û
D ( p , z ) ≤ D ( p, q ) + D ( q, z )
Distancia Distancia II II ð La DISTANCIA EUCLÍDEA entre p y q se define como:
De ( p, q) =
(x − s )2 + ( y − t )2
ð La DISTANCIA D4 (CITY-BLOCK DISTANCE) entre p y q
se define como:
D4 ( p, q) = x − s + y − t ð La DISTANCIA D8 (CHESSBOARD DISTANCE) entre p y
q se define como:
D4 ( p, q) = máx( x − s , y − t )
30
Histograma Histograma ð 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
Incrementar HISTOGRAMA [ f (i, j )]
Operaciones Operaciones Aritméticas Aritméticas ð Suma de Imágenes ð Diferencia de Imágenes ð Multiplicación de Imágenes ð Escalado de Imágenes ð División de Imágenes
31
Suma Suma de de Imágenes Imágenes
Out (i, j ) = In1 (i, j ) + In2 (i, j ) Out (i, j ) = In(i , j ) + Cte ð 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
Diferencia Diferencia de de Imágenes Imágenes
Out (i, j ) = In1 (i, j ) − In2 (i, j ) Out (i, j ) = In1 (i, j ) − In2 (i, j ) Out (i, j ) = In(i , j ) − Cte ð 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.
32
Multiplicación Multiplicación de de Imágenes Imágenes
Out (i, j ) = In1 (i, j ) × In2 (i, j ) ð 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.
Escalado Escalado de de Imágenes Imágenes
Out (i, j ) = In(i, j ) × Cte ð Aplicaciones
û Aclarar imágenes
Cte f 1 û Obscurecer imágenes
Cte p 1
û 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. Nota: El escalado de niveles de gris no debe confundirse con el escalado geométrico.
33
Operaciones Operaciones Lógicas 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 Operaciones Geométricas Geométricas ð Traslación
ð Rotación
x2 = x1 + a y2 = y1 + b
x2 = cos α × x1 − sen α × y1 y2 = sen α × x1 + cosα × y1
ð Espejo Vertical
x2 = − x1 y2 = y1
ð Espejo Horizontal
x2 = x1 y2 = − y1
34
Preprocesamiento Preprocesamiento ð 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 Transformación de de Niveles Niveles II ð A cada nivel de intensidad se le asigna uno nuevo ð Los niveles a asignar se guardan en tablas Look-up
o o
o 1
1 ... .. ... ... ... ... .. ... ... 255 2 ... .. ... ... ... ... .. ... ... 254
255 255
ð Este tipo de transformaciones suelen estar
implementadas en Hardware
35
Transformación Transformación de de Niveles Niveles II II q
q q1
q1 p1
p
p1
Aclara
p
Obscurece
Transformación Transformación de de Niveles Niveles III III q q
q1 q1 p1
p
Aumenta el contraste
p1
p
Invierte
36
Transformación Transformación de de Niveles Niveles IV IV q q
q1
q1
p
p1
No produce cambios
p1
p
Umbraliza
Ecualización Ecualización del del Histograma Histograma ð Transformación de los niveles de gris de una imagen para
conseguir que su histograma sea lo más plano posible
qk − q0 = T (i) N × M i = P0 .. Pk
Pi
∑ H (i ) + q 0
i = P0
p0, pk ⇒ rango original q0, qk ⇒ rango nuevo N x M ⇒ nº de pixels
ð Características: û Aprovecha mejor el número de niveles disponible û Aumenta el contraste û A veces revela detalles ocultos por un bajo contraste
37
Filtrado Filtrado de de Imágenes Imágenes Digitales 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
Filtrado Filtrado Espacial Espacial -- Máscaras Máscaras de de Convolución Convolución X û En los límites de la imagen
Y
a
b
c
d
e
f
g
h
i
se aplica un tratamiento especial o no se aplica ninguno (depende de la implementación)
f ( x, y ) =
1 [a × f ( x − 1, y − 1) + ... + i × f ( x + 1, y + 1)] n
38
Filtrado Filtrado Espacial Espacial -- Filtros Filtros Paso Paso Bajo Bajo 1 1 h = 1 9 1 1 1 h= 1 10 1
1 1 1 1 1 1
1 1 2 1 1 1
1 1 h= 2 16 1
2 1 4 2 2 1
Filtrado Filtrado Espacial Espacial -- Filtro Filtro de de la la Mediana 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
39
Filtrado Filtrado Espacial Espacial -- Filtros Filtros Paso Paso Alto Alto ð Filtros Laplacianos:
0 h = 1 0
1 0 −4 1 1
0
1 h = 1 1
1 1 −8 1 1
1
ð 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 Filtros de de Gradiente 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
40
Filtrado Filtrado Espacial Espacial -- Filtros Filtros de de Gradiente 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:
G = Gx + G y
G = Gx2 + G y2
Filtros Filtros de de Gradiente Gradiente -- Roberts Roberts
Origen
Origen
Gx
1 = 0
0
− 1
Gy
0 = − 1
1 0
G( x, y) = f ( x, y) − f ( x + 1, y + 1) + f ( x + 1, y) − f ( x, y + 1)
41
Filtros Filtros de de Gradiente Gradiente -- Prewitt Prewitt h1
1 = 0 − 1
1 0 −1
1 0
h2
− 1
0 = −1 − 1
1 0 −1
1 1
h3
0
− 1 = −1 − 1
0 1
0 1
0 1
...
ð Si utilizamos las máscaras h1 y h3 para detectar los
bordes horizontales y verticales tenemos la siguiente expresión: G( x, y) = ( f ( x − 1, y − 1) + f ( x, y − 1) + f ( x + 1, y − 1)) − ( f ( x − 1, y + 1) + f ( x, y + 1) + f ( x + 1, y1)) + ( f ( x + 1, y − 1) + f ( x + 1, y) + f ( x + 1, y + 1)) − ( f (x − 1, y − 1) + f ( x − 1, y) + f ( x − 1, y + 1))
Filtros Filtros de de Gradiente Gradiente -- Sobel Sobel h1
1 = 0 − 1
2 0 −2
1
0 − 1
h2
0 = −1 − 2
1 0 −1
2
1 0
h3
−1 = −2 − 1
0 1 0 2 0 1
...
ð Si utilizamos las máscaras h1 y h3 para detectar los
bordes horizontales y verticales tenemos la siguiente expresión: G( x, y) = ( f ( x − 1, y − 1) + 2 f ( x, y − 1) + f ( x + 1, y − 1)) − ( f ( x − 1, y + 1) + 2 f ( x, y + 1) + f ( x + 1, y1)) + ( f ( x + 1, y − 1) + 2 f ( x + 1, y) + f ( x + 1, y + 1)) − ( f ( x − 1, y − 1) + 2 f ( x − 1, y) + f ( x − 1, y + 1))
42
Transformada Transformada de de Fourier Fourier N −1 N − 1
1 F (u , v) = N
∑ ∑ f ( x, y ) e
j 2π ( ux + vy ) N
x= 0 y= 0
N −1 N −1
f ( x, y ) =
−
∑ ∑ F (u, v) e
j 2π ( ux + vy ) N
u= 0 v= 0
ð 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:
D (u , v ) = Cte × log [1 + F (u , v) ]
Filtros Filtros en en el el dominio dominio de de la la frecuencia 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
43
Segmentación Segmentació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 Segmentación -- Umbralizació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
44
Umbral Umbral con con hysteresis 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 Umbral −
L si 3 vecinos f Máximo
Umbral +
L en cualquier otro caso
Umbral ∗ =
1 g ( x, y ) = 0
si f ( x, y ) ≥ Umbral ∗ en cualquier otro caso
Umbral Umbral Porcentual Porcentual -- Umbral Umbral Recursivo 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
45
Segmentación Segmentación -- Crecimiento Crecimiento de de Regiones Regiones II
H (R ) →
Criterio de Homogeneidad dentro de la Región R
Por ejemplo: H ( Ri ∪ R j ) = TRUE ↔ mi − mJ p T siendo T = 10 donde mi = media del nivel de gris de la región i ð Buscamos conseguir:
H ( Ri ) = TRUE ∀ i i = 1..s s = n º de regiones H ( Ri ∪ R j ) = FALSE ∀ i, j i ≠ j Ri adyacente R j
Segmentación Segmentación -- Crecimiento Crecimiento de de Regiones Regiones II 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:
H ( Ri ∪ R j ) = TRUE 3. Mientras se hayan unido regiones, ir al paso 2
46
Transformada Transformada de de Hough Hough (I) (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
Transformada Transformada de de Hough Hough (II) (II) y
n Y=
m
x
+n
(m’,n’) n’
m’
x y
m
n
y’ = m x’ + n
n = - x’ m + y’ (x’, y’)
x
m
47
Transformada Transformada de de Hough Hough (III) (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 Cálculo de de la la transformada 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.
48
Ejemplo Ejemplo II s’
s
x 45º 90º
s’
45º
90º
y θ Rectas Rectas detectadas: detectadas: theta = 45.000000; S = 135.764496 (H = 1.000000) theta = 45.000000; S = 135.764496 (H = 1.000000) theta theta == 90.000000; 90.000000; SS == 100.000000 100.000000 (H (H == 0.707106) 0.707106)
Ejemplo Ejemplo II II s
45º 90º
Rectas Rectas detectadas: detectadas: theta theta == 0.000000; 0.000000; theta = theta = 0.000000; 0.000000; theta = 1.000000; theta = 1.000000; theta = 3.000000; theta = 3.000000; theta theta == 90.000000; 90.000000; theta theta == 91.000000; 91.000000; theta theta == 95.000000; 95.000000; theta theta == 176.000000; 176.000000; theta = 178.000000; theta = 178.000000;
SS == 56.851387 56.851387 SS == 68.221664 68.221664 SS == 68.221664 68.221664 SS == 79.591942 79.591942 SS == 295.627197 295.627197 SS == 284.256927 284.256927 SS == 204.664993 204.664993 SS == -56.851387 -56.851387 SS == -68.221664 -68.221664
(H (H == 0.819132) 0.819132) (H (H == 0.828778) 0.828778) (H = 1.000000) (H = 1.000000) (H = 0.923633) (H = 0.923633) (H (H == 0.839228) 0.839228) (H (H == 0.860129) 0.860129) (H (H == 0.809486) 0.809486) (H (H == 0.843248) 0.843248) (H = 0.977492) (H = 0.977492)
θ
49
Generalización Generalización para para otros otros tipos tipos de de objeto 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 Comparación con con otros otros métodos 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
50
Extracción Extracción de de Características 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 Obtención de de una una imagen imagen de de contorno contorno ð Se procesan las filas: 1 si I ( x, y − 1) ≠
I ( x, y ) 0 si I ( x, y − 1) = I ( x, y )
I ( x, y ) =
ð Se procesan las columnas 1 si I ( x − 1, y ) ≠
I ( x, y ) 0 si I ( x − 1, y ) = I ( x, y )
I ( x, y ) =
ð Se combinan los resultados previos mediante una
operación lógica OR
51
Descriptores Descriptores de de Contorno Contorno ð Código Cadena
ð Signaturas
ð Aproximaciones Poligonales
Código Código Cadena Cadena 2 1
3 3
2
4 5
1 0
6
7
4
0
7
5 6
ð 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
52
Descriptores Descriptores de de Regiones Regiones ð Momentos û Área û Centro de Gravedad û Momentos Invariantes a Traslaciones
ð Descriptores de Textura ð Esqueletos
Momentos Momentos N −1 M −1
m pq =
p q ∑ ∑ x y f ( x, y )
m00 ≡ área
x= 0 y= 0
Centro de Gravedad :
x=
m10 m00
y=
m01 m00
Momentos Invariantes a Traslaciones: N − 1 M −1
µ
pq
=
p q ∑ ∑ ( x − x ) ( y − y ) f ( x, y ) x= 0 y = 0
53
Morfología Morfología Matemática Matemática -- Introducción Introducción (I) (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: herramientas caracteres impresos û Microestructura Ÿ análisis de distribución de partículas imagen ruidosa
Morfología Morfología Matemática Matemática -- Introducción Introducción (II) (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
54
Morfología Morfología Matemática Matemática -- Introducción Introducción (III) (III) ð Imágenes û Conjunto de pixels de tamaño apreciable
Imagen A =
ð Elementos Estructurantes û Conjunto de pixels de tamaño reducido
E.E. X =
Morfología Morfología Matemática Matemática -- Introducción Introducción (IV) (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”
55
Morfología Morfología Matemática Matemática -- Erosión Erosión (I) (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 Morfología Matemática Matemática -- Erosión Erosión (II) (II) Elemento Estructurante
Imagen Original
Imagen Erosionada
56
Morfología Morfología Matemática Matemática -- Dilatación Dilatación (I) (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 Morfología Matemática Matemática -- Dilatación Dilatación (II) (II)
57
Morfología Morfología Matemática Matemática -- Apertura Apertura ð Notación: ð Definición û consiste en una erosión seguida de una dilatación, ambas con el mismo elemento estructurante. ð Ejemplo:
Morfología Morfología Matemática Matemática -- Cierre Cierre ð Notación: ð Definición û consiste en una dilatación seguida de una erosión, ambas con el mismo elemento estructurante. ð Ejemplo:
58
Morfología Morfología Matemática Matemática -- Esqueletización 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:
Skel ( S ) = ∪{(SΘnB ) − [(SΘnB ) o B ]} para n = 1, 2, ...
Morfología Morfología Matemática Matemática -- Propiedades Propiedades (I) (I) • Conmutatividad de la Dilatación
A⊕ B = B ⊕ A • Asociatividad de la Dilatación
A ⊕ (B ⊕ C ) = ( A ⊕ B ) ⊕ C • Multiplicación Escalar
2B = B ⊕ B ⇒ A ⊕ 2B = A ⊕ B ⊕ B
59
Morfología Morfología Matemática Matemática -- Propiedades Propiedades (II) (II) • Antiextensividad de la apertura
Ao B ⊂ A • Extensividad del cierre
A• B ⊃ A • Idempotencia
(A o B)o B = A o B (A • B)• B = A • B
Morfología Morfología Matemática Matemática -- Aplicaciones Aplicaciones (I) (I) • Filtrado de Ruido
(A o B)• B
• Detección de Bordes Frontera Externa Frontera Interna Gradiente Morfológico
(A ⊕ B) − A A − ( AΘB ) ( A ⊕ B ) − ( AΘB )
60
Morfología Morfología Matemática Matemática -- Aplicaciones Aplicaciones (II) (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:
E1 = un único pixel
E 2 = E (e. e. circular ) E3 = E ⊕ E E4 = E ⊕ E ⊕ E
Morfología Morfología Matemática Matemática -- Morfología Morfología Numérica 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
f ( x, y ) Θ B = mín { f (i, j ) | (i, j ) ∈ B} ð 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
f ( x, y ) ⊕ B = máx { f (i, j ) | (i, j ) ∈ B}
61
Compresión Compresión de de Imágenes Imágenes -- Necesidad 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 Compresión de de Imágenes Imágenes -- Redundancia 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
62
Compresión Compresión de de Imágenes Imágenes -- Clasificaciones 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 Compresión de de Imágenes Imágenes -- Métodos Métodos (I) (I) ð Codificación en planos de bits û códigos continuos (código Gray) û codificación de longitudes
ð Codificación Predictiva û predicción û codificación
63
Compresión Compresión de de Imágenes Imágenes -- Métodos Métodos (II) (II) ð Métodos Transformados - Compresor Imagen Original f(i,j)
F*(u,v) Imagen Comprimida Cuantificador y Codificador
Segmentación en bloques de tamaño n x n f(j,k)
F(u,v) Transformación
Compresión Compresión de de Imágenes Imágenes -- Métodos Métodos (III) (III) ð Métodos Transformados - Descompresor Imagen Comprimida F’*(u,v)
f’(i,j) Imagen Reconstruida Combinación de los bloques
Decodificador
F’(u,v) Transformación Inversa
f’(j,k)
64
Compresión Compresión de de Imágenes Imágenes -- Métodos Métodos (IV) (IV) ð Codificación Subbanda
Filtro paso bajo
f1(i,j) Submuestreo
f(i,j)
f2(i,j) Filtro paso alto
Submuestreo
Filtro paso bajo
Submuestreo
Filtro paso alto
Submuestreo
Filtro paso bajo
Submuestreo
Filtro paso alto
Submuestreo
f11(i,j) f12(i,j)
f21(i,j) f22(i,j)
Compresión Compresión de de Imágenes Imágenes -- Métodos Métodos (V) (V) ð Codificación Jerárquica Nivel 3 (N/8 x N/8) Nivel 2 (N/4 x N/4) Nivel 1 (N/2 x N/2) Nivel 0 (N x N) Imagen Original
65
Compresión Compresión de de Imágenes Imágenes -- Métodos Métodos (VI) (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 Compresión de de Imágenes Imágenes -- Estándares Estándares (I) (I) ð JPEG (Joint Picture Group) ISO-CCITT ð Modos de Funcionamiento û Secuencial
û Progresivo
û Jerárquico û Sin pérdida de información
66
Compresión Compresión de de Imágenes Imágenes -- Estándares Estándares (II) (II) ð JPEG - Resultados Bits por pixel
Calidad
0.25 - 0.50
Moderada a Buena
0.50 - 0.75
Buena a Muy Buena
0.75 - 1.50
Excelente
1.50 - 2.00
Indistinguible del original
Compresión Compresión de de Imágenes Imágenes -- Estándares Estándares (III) (III) ð MPEG (Moving Picture Expert Group) - ISO
Esquema de Codificación ð Apartados del MPEG û MPEG - VIDEO û MPEG - AUDIO û MPEG - SYSTEM
67
Calibración Calibración de de Cámaras 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 Modelo General General de de Cámara 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 u Y ⇒ MODELO ⇒ v Z
X u ⇒ MOD. INVERSO ⇒ Y v Z
68
Modelo Modelo de de Calibración Calibración pin-hole pin-hole (I) (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 X Z
y= f Y Z
Modelo Modelo de de Calibración Calibración pin-hole pin-hole (II) (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 u x + u0
v = k v y + v0
69
Modelo Modelo de de Calibración Calibración pin-hole pin-hole (III) (III) ð (XW,YW,ZW) Sistema de referencia de la escena ð (X,Y,Z)
Sistema de referencia de la cámara
Modelo Modelo de de Calibración Calibración pin-hole pin-hole (IV) (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
cosψ cosθ R = − senψ cosφ + cosψ senθ cosφ senψ sen φ + cosψ senθ cosφ
tx t = ty tz
senψ cosθ − senθ cosψ cosφ + senψ senθ sen φ cosθ sen φ − cosψ sen φ + senψ senθ cosφ cosθ cosφ
X XW Y = R YW + t Z ZW
70
Modelo Modelo de de Calibración Calibración pin-hole pin-hole (V) (V) ð X
XW = Y R YW + t Z Z W
X Z Y y= f Z ð u = ku x + u 0 ð
x= f
v = kv y + v0
Parámetros Parámetros de de Calibración 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
71
Proceso Proceso de de Calibración 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 Modelo de de Distorsión Distorsión de de la la Lente Lente (I) (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
72
Modelo Modelo de de Distorsión Distorsión de de la la Lente Lente (II) (II) ð Influencia de la distorsión radial en el modelo general de cámara. x = xˆ + δ x
δ x = xˆ ( k1r 2 + k2 r 4 + k3 r 6 + ...)
y = yˆ + δ y
δ y = yˆ (k1r 2 + k 2 r 4 + k3r 6 + ...) r = xˆ 2 + yˆ 2
ð δx y δy son las correcciones de las coordenadas (x,y) δ x = xˆk1r 2
x = xˆ (1 + k1r 2 )
δ y = yˆk1r 2
y = yˆ (1 + k1r 2 )
r 2 = xˆ 2 + yˆ 2
Modelo Modelo de de Distorsión Distorsión de de la la Lente Lente (III) (III)
ð
ð
X XW Y = R YW + t Z Z W
x = xˆ (1 + k1r 2 ) y = yˆ (1 + k1r 2 )
x= f
X Z
y= f
Y Z
ð
ð
u = ku xˆ + u0
v = k v yˆ + v0
r 2 = xˆ 2 + yˆ 2
73
Proceso Proceso de de Calibración Calibración (I) (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 Proceso de de Calibración Calibración (II) (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)
74
Plantilla Plantilla de de Calibrado Calibrado (I) (I)
Plantilla Plantilla de de calibrado calibrado (II) (II)
75
Modelo Modelo de de Cámara Cámara Basado Basado en en Interpolación 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 Transformación de de Coordenadas 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
76
Interpolación Interpolación Bilineal 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 Visión Estéreo 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
77
Ambigüedad Ambigüedad de de la la Correspondencia Correspondencia (I) (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 Ambigüedad de de la la Correspondencia Correspondencia (II) (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
m1 = P1M
P2 M 2 =proyección con Pi matricesmde
78
Ambigüedad Ambigüedad de de la la Correspondencia Correspondencia (III) (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 Primitivas de de Puesta Puesta en en Correspondencia 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
79
Restricciones Restricciones ð 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 Restricción Epipolar Epipolar (I) (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.
80
Restricción Restricción Epipolar Epipolar (II) (II)
Características Características de de la la Restricción Restricción Epipolar Epipolar (I) (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)
81
Características Características de de la la Restricción Restricción Epipolar Epipolar (II) (II) ð Si los planos imagen son paralelos los epipolos se van al infinito y todas las epipolares son paralelas
Criterio Criterio de de Unicidad 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 independientemente del punto de vista desde el que se observen ð Existen problemas debido al error de discretización debido al proceso de digitalización
82
Restricción Restricción de de Continuidad Continuidad ð También llamada restricción de disparidad ð Se basa en la “suavidad” de las superficies de los objetos ð Función de disparidad
d =1 z
ð Un vecino n1 de m1 encuentra a su homólogo n2 con una disparidad próxima a d
Restricción Restricción de de Ordenación Ordenación (I) (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
83
Restricción Restricción de de Ordenación Ordenación (II) (II) ð Esta restricción puede utilizarse para eliminar candidatos de n1 conociendo 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 Restricción de de Planaridad 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
84
Rectificado Rectificado ð 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 Técnicas de de correlación correlación (I) (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
85
Técnicas Técnicas de de correlación correlación (II) (II)
C12 (τ ) =
1 K
∑ ∑ (I (u N
P
1
u1 = − N v1 = − P
1
)(
+ u, v1 + v) − I1 (u, v) I 2 (u1 + u + τ , v1 + v ) − I 2 (u + τ , v )
K = (2 N + 1)(2P + 1)σ 1 (u , v)σ 2 (u + τ , v)
σ 12 (u + τ , v ) =
(
1
1
N P 1 I 2 (u + τ , v) = ∑ ∑ I 2 (u2 + u + τ , v2 + v) (2 N + 1)(2 P + 1) u = − N v = − P 2
σ 22 (u + τ , v ) =
)
N P 2 1 ∑ ∑ I1 (u1 + u + τ , v1 + v) − I1 (u + τ , v) (2 N + 1)(2P + 1) u =− N v = − P 1
N P 1 I1 (u , v) = ∑ ∑ I1 (u1 + u , v1 + v) (2 N + 1)(2 P + 1) u = − N v = − P
)
1
(
N P 1 ∑ ∑ I 2 (u2 + u + τ , v2 + v) − I 2 (u + τ , v) (2 N + 1)(2P + 1) u = − N v = − P 2
)
2
2
2
Ejemplos Ejemplos de de SVA SVA -- MORPHECO MORPHECO (I) (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
86
Ejemplos Ejemplos de de SVA SVA -- MORPHECO MORPHECO (II) (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 Ejemplos de de SVA SVA -- PRYCA 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
87
Ejemplos Ejemplos de de SVA SVA -- FIDESY 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 Ejemplos de de SVA SVA -- CAVA CAVA ð CAVA (Control de Acceso a Vehículos Automóviles)
Foco Infrarrojo
M-1111-Z
Cámara
Barrera
ð Segmentación de la matrícula basada en sus características geométricas ð Reconocimiento de los caracteres mediante una red neuronal entrenada previamente
88
Ejemplos Ejemplos de de SVA SVA -- GERSA 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 Ejemplos de de SVA SVA -- PARTITURAS PARTITURAS Partitura en formato BMP
SVA
Fichero MIDI
ð 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
89
Ejemplos Ejemplos de de SVA SVA -- Inspección Inspección Visual 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ía Bibliografí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 Machine Vision Metrology Using Off-the-self TV Cameras and Lens” û Roger Y. Tsai ð “Three Dimensional Computer Vision” û Olivier Faugeras
90