1/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Procesamiento y Análisis Digital de Imágenes Digital Image Processing (DIP, IP ó PDI)
Campo multi-disciplinario: Matemáticas, Ingeniería eléctrica (señales),
Ciencias de la Computación (informática) y Física
Adquisición, representación, procesamiento y análisis de información multidimensional (especialmente imágenes) mediante computadoras.
Visualización (representar cualquier tipo de información mediante
imágenes) y mejorar información pictórica para interpretación humana. Procesamiento de información (imágenes, escenas) para percepción
autónoma robótica (machine perception). Medición, análisis, caracterización y extracción de información (formas,
rasgos, relaciones y distribución de atributos) a partir de imágenes.
2/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Tareas fundamentales de DIP
Formación, Producción y Adquisición de Imágenes
Digitalización, Representación, Almacenamiento y Transmisión
Realce y Restauración
Segmentación - detección
Selección y extracción de rasgos o características (features).
Reconocimiento
Interpretación
Visualización y despliegue de resultados (en cada etapa)
Notar que las etapas corresponden aproximadamente a las de un instrumento genérico: sensor/adquisición, conversión A/D, procesamiento o reducción de datos (por ejemplo, filtrado), análisis y despliegue de resultados.
3/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Tareas fundamentales de DIP (detalle) Formación, producción y adquisición de imágenes (captores y sensores de imagen) Digitalización, cuantización y compresión (+ codificación)
Conversión de imágenes a forma discreta (digital) Representación/Modelado. Aproximación eficiente y codificación para almacenamiento compacto (compresión) o dentro de la
capacidad del canal de información Almacenamiento/transmisión. Realce y Restauración
Mejora y correcciones (degradaciones: bajo contraste, ruido, desenfoque (blur)), especialmente para llevar a intervalos característicos de visión humana (“visualizar”).
En base a modelos, recuperar (restaurar) imagen original. Corrección de distorsiones, registro. Segmentación – detección – etiquetado.
Separación (o partición) en componentes de interés (criterio). ( conectividad, objetos). Identificación y etiquetado. Criterios: por bordes (contornos o fronteras) o por regiones.
Selección y extracción de rasgos o características (features). Objetivo: diferenciar clases u objetos y establecer qué se va a medir.
Reconocimiento (de patrones, de forma; análisis de cúmulos en espacios paramétricos) Proceso para asignar una etiqueta (clasificación) de acuerdo a descriptores ( toma de decisiones).
Interpretación Significado de acuerdo a problemas de estudio (sobre objetos reconocidos, mediciones y efecto de
una etapa del procesamiento, etc.). Visualización y despliegue de resultados (en cada etapa).
4/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Realce
• Mejora y correcciones (degradaciones: bajo contraste, ruido, desenfoque (blur), orientación, ciertas distorsiones, etc.), especialmente para llevar a intervalos característicos de visión humana (“visualizar”).
• En principio no implica modelos del original o de la degradación (mejora empírica, sin que necesariamente coincida con imagen original o condiciones originales, que pueden no ser adecuadas: baja iluminación, o demasiada (por ejemplo una imagen del Sol, datos de ultrasonido, o en rayos infrarrojos, invisibles al ojo humano).
• Un posible objetivo final, es el almacenamiento, codificación y transmisión, sin análisis (no necesariamente).
• Criterios de calidad de imagen en función del grado de mejora o reducción de la degradación. Carácter más cualitativo que cuantitativo.
Nota: Tanto realce como restauración podrían usar idénticos métodos de procesamiento (filtros, transformaciones, etc.). Estas dos páginas explican algunas diferencias y similitudes.
5/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Restauración
• Puede implicar mejora y correcciones, pero además, en base a modelos (del objeto o escena original, o de la degradación sufrida), implica recuperar (restaurar) la imagen original (lo mejor posible), o alguna de sus características. Corrección de distorsiones (geométricas Y/O del atributo): registro (alineación correcta con transformaciones, inclusive no-lineales), normalización, etc.
• El objetivo usualmente es menos de visualización y más de recuperación y/o análisis cuantitativo y automático (por eso a veces se le denomina también “pre-procesamiento”, en el sentido de preparar la información, uniformizarla, etc., para su estudio. Pero se puede desear solo una imagen puramente restaurada (como en las obras de arte).
• Criterios de fidelidad de imagen en función del grado de similitud con el original o alguna referencia, o del modelo de degradación o modelo de cómo debe ser el original. Carácter más cuantitativo que cualitativo.
Aún para un objetivo de “mejora para visualizar”, puede ser necesario realizar procesos de realce y análisis, en particular si la degradación es importante.
6/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Notas: Las definiciones anteriores no son “absolutas”. Ejemplos: El proceso de magnificación (zoom) se considera un proceso de realce y suele utilizar interpolación a un vecino (replicación de pixeles), bi-lineal, bi-cúbica, de Fourier, morfológica, etc. Esta interpolación modela la información perdida durante la adquisición, para generar una imagen a mayor resolución que la adquirida, pero no se considera que se haya “restaurado” la imagen original. La interpolación introduce una información artificial que substituye aquella perdida, aunque puede coincidir. En principio, la información no aumenta.
El proceso de super-resolución es un proceso de restauración, a partir de varias adquisiciones (no se introduce información artificial). La manera de combinar o fusionar dichas imágenes, permite recobrar parcialmente detalles de la imagen original, al aumentar la resolución, sin tratar de modelar el original (pero hay excepciones) pero si pueden usarse modelos de la degradación sufrida. La información al final es mayor que la de cualquiera de las adquisiciones (mayor resolución.
En general la superresolución combina aspectos de los métodos de magnificación y también el zoom usa métodos de restauración (por ejemplo la deconvolución) para mejorar la apariencia. De este modo ambos procesos pueden quedar al final ubicarse entre realce y restauración.
7/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Sensores (transductores, captores, etc.) para adquisición de imágenes
Cámaras (técnicas ópticas): fotografía, video sobre escena, par estéreo, microscopios, etc.
Escaneres (película negativos, placas astronómicas, documentos, objetos tridimensionales; la información puede ser distancia o profundidad).
Escáner (láser) de profundidad/distancia (“range”). Transductores de ultrasonido (varias geometrías, varios escáneres) Infrarrojos (sensar cambios en calor radiante), también para control. Ondas de radio sensor activo (“iluminación”) (Synthetic Aperture Radar ). De rayos X (CCD - radiografía digital), o de radiación en general. De movimiento (“tracking”), de aceleración y de posición. Magnéticos (MRI, arreglos de sensores efecto Hall, etc.) . . . Montados en endoscopios, globos, drones, satélites, sondas, . . . Píldoras video-gastroendoscópicas
8/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Ejemplos de imágenes y problemas de estudio típicos
9/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Procesamiento y Análisis de Imágenes Científicas Neuroimágenes, imágenes biomédicas, radiológicas, PACS Percepción remota, Geociencias, Astrografía, sondas planetarias Medicina Forense, informática forense (se analizan equipos muertos,
software o bases de datos dañadas). Imagenología Física, Química, Biológica Reconocimiento de Patrones, redes neuronales Simulación computacional en general
Procesamiento y Análisis de Imágenes de Ingeniería e Industriales Micrografías de materiales, radiografía industrial Identificación y manejo automático de componentes; ensamblado Suelos, imágenes sísmicas Sistemas de información, Visión Computacional y Robótica
10/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Imágenes Comerciales Fotografía (realce, retoque y montaje (digital)) Edición de imagen Gráficos, Síntesis de Imágenes, animación, realidad virtual, FX Videojuegos, entretenimiento, cinematografía Gadgets, internet, GPS, pedagogía Navegación (barco, avión, auto) Biometría (iris, huellas dactilares, identificación facial) Búsquedas en bases de datos (imágenes) - búsquedas por íconos …
Arte, deporte, entretenimiento
Diseño, Arquitectura, Escenarios Semiología de la Imagen – psico-imágenes Iconografía - representación visual, simbólica y alegórica Visualización de coreografías, storyboards, jugadas deportivas, estrategias de acciones, dinámica de grupos, desastres, evacuaciones
11/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Algunos tipos de imágenes comunes
Imágenes de niveles de gris (ESCALAR) Imágenes multi-nivel, L niveles de gris u[0, L-1], usualmente L=256.
Imágenes duotono (bilevel, dos valores de gris (o de color) arbitrarios u1, u 2 ) Imágenes binarias o booleanas (1/0: verdadero/falso, forma/fondo)
Imágenes multi-canal (VECTORIALES) 2 canales: Imágenes complejas (ej: transformada de Fourier, filtros de Gabor, etc.) 3 canales: Color en espacios de color: RGB (canales rojo, verde y azul), HSL, etc. Multi-espectral (región infrarroja, ultravioleta, micro-ondas : radar) Imágenes temáticas multi-canal (información multidimensional, etiquetas) 4 canales: RGB, en graficación, para manejar la transparencia. XYZt, ciertos procesamientos de secuencias animadas de objetos 3D.
Secuencias de imágenes (escalar o vectorial) Video (secuencia temporal) Cortes seriados (secuencia espacial de objeto 3D; ejemplo: MRI) Varias vistas, o diferentes sujetos, para extraer modelos representativos
Arreglos de imágenes Geometrías no cartesianas Mercator (coords. cilíndricas), v.g. imágenes de profundidad de scanner láser.
Esfera de Riemman, v.g. imágenes en formato Omniview (objetos o entornos).
12/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Imágenes: Binaria (L=2) y Monocromática, o “B/N” (L=256)
13/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Imágenes en Color (LR+LG+ LB = 3256)
14/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Digitalización y Representación
Hay distintos tipos de formatos y maneras de representar información para visualizarla (inicialmente no necesita ser una imagen, simplemente datos que serán estructurados para formar una imagen).
La primitiva de representación más común es el pixel. La representación discreta (o imagen digital) siempre es una aproximación, dado que se tiene un número finito de muestras.
Un pixel típicamente representa intensidad luminosa (niveles de gris o color), pero también puede representar opacidad, densidad, profundidad, altura, temperatura, presión, velocidad (como vector), y en general cualquier magnitud física, química, fisiológica (activación), similitud, error, etc.
PIXEL
15/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Ejemplo de Realce de Contraste (Contrast Stretching)
“Bajo contraste”: grises en un intervalo estrecho; puede no haber blancos o negros (o ambos);
no se utiliza todo el intervalo dinámico.
“Alto contraste”: grises en un intervalo amplio; suele haber blancos y negros. A máximo contraste se utiliza toda la gama o intervalo dinámico (usualmente [0, 255]).
16/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Distribuciones de niveles de gris (histogramas)
“Gatito”, izquierda: bajo contraste (grises), derecha: alto contraste (mayor intervalo dinámico).
Función de transferencia para realce de contraste de acuerdo al histograma (función lineal por pedazos –piecewise linear), notar que no intervienen coordenadas (x,y):
1
1 2
2
1
02.5(255
)( )in
in in
in
out in
u uu u u u u
u uu T u
Notar que T es en un mismo dominio (atributo). 1 2
Ventana de intensidades
u u inu
uout
17/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Ejemplo de Realce de Bordes y de contraste
18/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Realce y Restauración: Deconvolución para corregir la “miopía” del telescopio Hubble
19/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Ejemplo de Restauración (interpolación, filtrado y realce de contraste)
Cuatro posibilidades: (1) Se promedian líneas alternantes; (2) se excluyen líneas con poca información y se sustituyen por interpolación: (3) se usan filtros en dominio de frecuencia espacial; (4) se combinan algunas de las técnicas anteriores.
20/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Modelo Lineal de Degradación (Efectos que alteran la medición)
xin Entrada (dato, señal, vector, imagen, volumen, video, etc). xobs Observación (lo medido o muestreado, salida del sistema de adquisición).
xobs = xin * + PSF del sensor (Función de Dispersión Puntual – función de apertura). Ruido aditivo en espacio de xobs (sensor). Puede ser = in* + ’ * Operación de convolución, en el dominio de xin (espacial y/o temporal). = “xobs – xin” Error diferencial (simplificación: mismos espacios).
xin xin * + in (xin + in) *
22/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Segmentación de Imágenes y Etiquetado (Clasificación) Separación (o extracción) en partes mutuamente excluyentes para procesamiento o análisis posterior.
Espécimen metalográfico pulido, las tres fases
tienen un valor de gris promedio distinto. El atributo podría ser otro: textura, forma, tamaño,etc.
Después de la segmentación (o durante dicho proceso, en muchos algoritmos), cada una de las
tres fases se identifica por una etiqueta en color.
Segmentación binaria por umbralaje:
0 if ( ) < 255 if ( )
( ) = umbral
umbral
I x, y uI x, y u
I x, y
usualmente 0 negro, 255 blanco
Hay muchos otros criterios de segmentación
Segmentación en n clases:
0 1
1 2
1
0 if ( ) [ ,1 if ( ) [ ,
1 if ( ) [ ,
))
( ) =
]n n
I x, y u uI x, y u u
n I x, y u u
I x, y
23/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Selección y extracción de rasgos y parámetros
La caracterización de atributos, puede ser: numérica, geométrica, topológica, morfológica, relacional, estadística o mediante análisis espectral (a través de la Transformada de Fourier, de Haar, las Ondeletas (Wavelets), las Transformadas de Distancia, momentos, longitud de contorno, área superficial, dimensión fractal, etc.).
La morfología (estudio de formas) y la morfometría (medición de formas) pueden auxiliarse de la Morfología Matemática y del análisis fractal.
Las propiedades globales (Gestalt, y enfoque holístico) se estudian mediante modelos del Sistema Visual Humano (HVS). Por ejemplo, hay modelos usando la Transformada de Hermite, de Gabor y el análisis multirresolución (o piramidal) o bien, en espacios de escala (scalespaces).
Reconocimiento de Patrones.
24/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Reconocimiento de Patrones
, 1,...,
Establecer N clases
Asignar aclasen n N
Clasificar
Selección de atributos vector de características (parámetros o atributos, rasgos (features)) en espacio de atributos o paramétrico (feature space)
25/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
*Niveles de Procesamiento, Análisis y Entendimiento de Imágenes
Nivel 0: Representación de imagen (formación, adquisición, digitalización, cuantización, compresión, primitivas de representación).
Nivel 1: Transformaciones imagen-a-imagen (realce, restauración y filtrado, segmentación y clasificación).
Nivel 2: Transformaciones imagen-a-parámetros (reducción de datos - selección y extracción de parámetros, morfometría o medición de formas).
Nivel 3: Transformaciones de parámetros-a-decisiones (reconocimiento e interpretación).
“Nivel 2.5” (en promedio): Visualización científica: imágenes paramétricas, abstracción.
“Nivel 1.5 - 2.5” (en promedio): Reconstrucción 3D, video, seguimiento (tracking), stereo.
En foma aproximada tenemos estos dominios (diferencias muy difusas):
Procesamiento de Imágenes = Nivel 0 + Nivel 1 Análisis de Imágenes = Nivel 1 + Nivel 2 Visión por Computadora = Nivel 2 + Nivel 3 Reconocimiento de Patrones = Nivel 3
26/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
*Transformaciones en sentido “contrario” o bidireccional mediciones, parámetros
(valores de atributos vectoriales) espacio paramétrico
(imagen, volumen, hipervolumen)
Decisiones, información a priori Parámetros
Puntos y objetos en N dimensiones
objetos en M dimensiones N < M
fronteras y contornos regiones, MATs
Ejemplos: campo de distancia de un conjunto de puntos, transformaciones morfológicas, técnicas de linearización de problemas (v.g., coordenadas homogéneas), métodos de geometría estocástica, campos markovianos, muestreo y estereología cuantitativa.
27/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
SOFTWARE básico de Procesamiento, Análisis y Visualización de Imágenes
ImageJ (dominio público, imágenes biología - plugins) http://rsb.info.nih.gov/ij Matlab Image Toolbox http://www.mathworks.com ImageMagik (dominio público, visualizador, procesamiento, realce, conversiones)
http://www.imagemagik.com ImagePro (Media Cybernetics, biomed, metalurgia, microscopia) http://www.mediacy.com Eikona (comercial/prueba, procesamiento – general)
http://www.alphatecltd.com/eikona/imageprocessing2d.html MriCro (freeware medical image viewer, 2d/3D)
http://www.sph.sc.edu/comd/rorden/mricro.html Photoshop (Adobe) Photosudio 5.0 (procesamiento realce/edición fotografía) http://www.arcsoft.com GIMP (GNU Image Manipulation Program) http://www.gimp.org Xfig (gráficos X-Window, UNIX, Linux) http://www.xfig.org 3D Slicer (free open visualizador 3D) http://www.slicer.org DIP Gonzalez (tutorials, Matlab, image databases, links)
http://www.imageprocessingplace.com/DIPUM-1E/dipum1e_main_page.htm GNUPLOT (dominio público, gráficos) http://www.gnuplot.info
28/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
(VRML) : vrmlview, VRweb, ... (X3D): Flux http://mediamachines.wordpress.com/flux-player-and-flux-studio
http://xml.coverpages.org/vrml-X3D.html http://www.web3d.org/x3d/content/examples/X3dResources.html
Blender (dominio público - diseño CAD, mallados) http://www.blender.org Amira (Comercial, visualización y análisis 3D) http://www.visageimaging.com Vizup (Comercial, optimizador de mallados) http://www.vizup.com Meshlab (Dominio público - mallados) http://meshlab.sourceforge.net SVI Huygens (Comercial, deconvolución, Sci Vol Im) http://www.svi.nl Envi (Comercial - texturas - geoespacial) http://www.ittvis.com/ProductServices/ENVI.aspx SPM (Statistical Parametric Mapping - dominio público - alineación, GLM) http://www.fil.ion.ucl.ac.uk FreeSurfer (Brain mapping. Mac & Linux) https://surfer.nmr.mgh.harvard.edu/fswiki ITK / VTK (Insight Toolkit, NLM; Visualization Toolkit - dominio público, librerías C++, 2D/3D) http://www.itk.org OpenCV (dominio público, Open Computer Vision Library)
http://sourceforge.net/projects/opencvlibrary VXL (dominio público, librerías C++, CV) http://vxl.sourceforge.net OpenGL (dominio público, Librería adquisición y gráficos en C). http://www.opengl.org
29/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
*The Human Visual System (HSV)
Retinal photoreceptors are distributed in a hexagonal array of cones with the intermediate space filled by the smaller rods.
Rods (about 75 – 150 million) are responsible for scotopic vision (dimlight vision). Not
sensitive to color. Give a general overall picture of the field of view. Cones (about 6 – 7 million) are responsible for photopic vision (brightlight vision) and
are highly sensitive to color. The sampling frequency in the retina is greater near the fovea and falls off towards the
periphery. Photoreceptors around the fovea are responsible for spatial vision (still images).
Photoreceptors around the periphery are responsible for detecting motion.
The photoreceptors’ activity is electrochemical. After the photoreceptors, all subsequent
stages of processing are electrical in nature.
30/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
*The Visual Pathway
31/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Optical and Modulation Transfer Functions (OTF & MTF)
Let us consider shift invariant systems. When the inputs and outputs represent a positive quantity, such as the intensity of light in imaging systems, then, the point spread function PDF is the impulse response h(x,y) of the system. The frequency response H(u,v) is the Fourier transform of h(x,y). For a spatially invariant imaging system its optical transfer function (OTF) is defined as its normalized frequency response:
( , )( , )(0,0)
H u vOTF u vH
The modulation transfer function (MTF) is defined as the magnitude of the OTF:
( , )(0,0)
H u vMTF OTF
H
32/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Modulation Transfer Function (MTF)
33/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
*Representación Matemática de Información Estructurada
2 2
11
2 2
11
11
1 1 2 2 1 2
Definimos: 1,2,..., [1, ],
y en general: , 1,..., 1, [ , ], donde .
Otras definiciones (obvias) : , ( )
Sea la ( en3D): | ( , , )
NN
nn n
n 1 2nn n
n n nn n
n n n n n
n N N
n n n n n n n n n
X f n
lista de nodos puntos x y z
p p
L1
N
n
1 111
31 2 31 1nodos indices
nodos 1 nodos indices1
, :,..., ,
( , , ) , :,
| ( ,..., ) , ( , ) :
MM
T
NM k
i i
n j jK
k k Nk
kN
polilíneas o polígonos yn i i i contornos si
n n n triángulos mallados
n n retículas grafos
p p
p
p p
T TL L
L L
R G R
Ciertos mallados 1
T
j j
NT
(cerrados y compactos) forman “objetos”.
Retícula ortogonal discreta unitaria: 2
Retícula atribuida (v. g., atributo escalar): 2, | ,u u p p .
34/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Imagen escalar discreta (“señal bidimensional discreta”, definición funcional): sean 2,D C (dominio y co-dominio finitos),
:" ( )" indica I D Cu Iu
p
p
Usualmente D es un intervalo bidimensional (rectángulo): 1 1
0 0| | [0, 1] [0, 1]N MD N M
Imagen escalar continua, isomorfa a funciones bidimensionales: u = f (x, y) Notar el isomorfismo (correspondencia uno a uno) entre imágenes discretas (atributo escalar) de N por M dimensiones y arreglos o matrices MMN :
1 1
11 12 1,
21 22 21,1
1 2
: ,M N
NM N
NM N i j i ji j
M M MN
u u uu u u
u u
u u u
| |
I I
M
El atributo u puede también ser un vector u (v. g. color RGB), otras coordenadas, etc. Cuando el atributo escalar u es intensidad luminosa en L niveles de gris, también llamado valor o amplitud, I es lo que realmente llamamos una imagen (en “blanco y negro”, o monocromática), con valores de gris entre blanco como umin =0 y negro como umax =L1.
35/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Muestreo o Digitalización de Imágenes Cuando una imagen contínua f(x, y) es muestreada uniformemente, cada nodo de una retícula ortogonal discreta corresponde a un pixel con un atributo también muestreado; en las coordenadas (x, y)(i, j) a enteros hablamos de discretización espacial, si es en el atributo, usualmente amplitud o intensidad, entonces hablamos de cuantización:
(0, 0) (0,1) (0, 1)
(1, 0) (1,1) (1, 1)
( 1, 0) ( 1,1) ( 1, 1)
( , )
f f f N
f f f N
f M f M f M N
f x y
En la práctica 1 se usa la matriz transpuesta, con x (coordenada horizontal) las columnas y y (coordenadas verticales) los renglones. En código de un programa en lenguaje C el arreglo bidimensional I[y][x] permite representar y procesar una imagen (el valor u= I[y][x] almacenado en el arreglo es el atributo). Si u es un número representado en 64 bits (8 bytes) y la imagen es de 480640, la imagen ocupa 2,457,600 bytes.
36/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Orden de coordenadas de una Imagen en la Pantalla (CRT) de una Computadora
37/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Spatial Frequency
t time
Period T = t
Discrete samples separated by t
Time frequency (scalar): f =1/t samples per time unit Hertz = cycles per second Angular frequency: = 2πf radians x
Discrete samples spaced by x
Spatial frequency (1 dimension):fx =1/x samples per distance unit lpi lines per inch dpi dots per inch “wave number” waves per centimeter
x
y
Discrete 2D samples spaced by (x,y)
2D spatial frequency (x ,y) = (2π/x, 2π/y) rads, rads
x distance
(x,y)
38/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
xH
xL
fref =1/x Reference spatial frequency (medium)
fHigh =1/xH High spatial frequency
fLow =1/xL Low spatial frequency
1 mm
Linear frequency: 7 lines per millimeter
LPI: Lines Per Inch DPI: Dots Per Inch
distance x
39/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Efectos de la Reducción de Resolución en la Retícula de Muestreo (= aumento en el paso de discretización = “pixelizado”)
40/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Efectos de la Reducción de Resolución en Intensidad (Cuantización) Cuantización = Muestreo del Atributo (usualmente intensidad)
Escalas de niveles de gris
256 16 4
41/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
En resumen:
Discretización(coordenadas)
Cuantización(Atributo(s))
Muestreo oDigitalización de Imágenes
Estrictamente, deberíamos escribir I(x,y) para imágenes “continuas” (valores reales) y conjuntos o arreglo de muestras Ii j (a veces como secuencias 2D: I[j][i]) para imágenes digitales (o numéricas, siendo valores enteros). Las integrales se convierten en sumatorias, con pasos discretos uniformes (x, y)=(1,1), y las derivadas en diferencias finitas, por ejemplo:
2 2 2 2 2 2
1 1 1 11 100
( , ) lim ( , ) ( , ),y x y x y x
x y y x x y y x xy x y
I x y dxdy I x y x y I x y
( 1)0
con ( , ) (1,1)
( , ) ( , )lim ( ),i j ijx
x y
I x y I x y I Ix x
42/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Modelos Perceptuales Modelos Locales Modelos Globales
Representación y Modelado de Imágenes
• Percepción visual de contraste, frecuencia espacial, color, bordes, etc. • Modelos de fidelidad de imagen. • Percepción temporal. • Percepción de la escena.
• Muestreo y reconstrucción • Discretización y
Cuantización de imagen. • Modelos determinísticos. • Expansiones en serie/ transformaciones unitarias. • Modelos estadísticos.
• Análisis de escena / modelos de inteligencia artif. • Modelos secuenciales y de aglomerado (clustering). • Modelos de entendimiento de imágenes.
Primitivas de Representación: punto, pixel, (pel), voxel, faceta (spel), contorno, malla, frontera, texel, grafos,...
43/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Color in Visual Human System: Three channel (spectral bands)
aaaa
Normalized responses of receptor cells type S (Blue), M (Green) y L (Red).
44/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Red, Green and Blue channels as intensity images (colored filters at the sensor stage)
45/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Realce de Contraste por Canal RGB (Contrast Equalization)
46/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Realce de Contraste por Redistribución Gaussiana por Canal RGB
47/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Realce de Contraste en Espacio HSV
48/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Color Histograms as a 3D (RGB) Plot
Note: The size of spherical-samples (right) represent histogram values (frequencies)
RGB color space
HSL color
49/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Formatos de Archivos de Imágenes Digitales más Comunes
.bmp Bitmap File Format - Graphics Interchange Format - .gif (limitado a 8-bits por pixel, permite compresiónLempel-Ziv-Welch – LZW). Color mediante LUTs, versiones a 24-bits (canales RGB).
.tif
.tiff Tagged Image File Format - (más sofisticado que .gif permite hasta 24-bits por pixel y soporta cinco tipos de compresión, incluyendo codificación run-length RLE, LZW, y JPEG).
.jpg
.jpeg JPEG File Format - (estándar comercial, permite compresión con estándar JPEG en muchas plataforma - compresión con pérdida, baja calidad para procesamiento y análisis científico).
(RAW) arreglo “crudo, sin formato” - Las dimensiones y canales se especifican aparte. .ras Sun Raster Format - .ps .eps PostScript y Encapsulated PostScript File Format -
.png Portable Network Graphics - Reciente, mejor que JPEG
.tif
.dic DICOM Modificaciones de TIF para archivos de imagenología médica con información de paciente, técncias, procesamiento efectuado, registro a nivel mundial (certificación).
.gif Bitmap File Format - Graphics Interchange Format - (limitado a 8-bits por pixel, permite compresiónLempel-Ziv-Welch – LZW). Color mediante LUTs, versiones a 24-bits (canales RGB).
Descripción detallada en: http://www.imagemagick.org/Usage/formats/
Utiles de conversión (importación): convert de ImageMagik, o “readers* ” de librería de ITK (Image Tool Kit). Con ImageMagik, ejecutar convert -list format.
50/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Fourier Transform (magnitude) of some images
51/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Fast-Fourier Transform (FFT) Filtering
1. Before processing the original image is marred by "noise".
2. An FFT of the image is displayed. Due to its regularity, the noise pattern stands out as four spikes. One of the spikes has been marked
inside an AOI (Area of Interest) preparatory to its deletion.
52/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
3. The four noise spikes, which corresponded to the regular noise patterns, have been deleted from the FFT.
4. Inverse FFT (from #3): the image is clean.
53/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Las coordenadas de los pixeles de una imagen, sin considerar el atributo (intensidad por ejemplo) forman el dominio de una imagen discreta de NM pixeles:
2( ) [0, 1] [0, 1] ( , ) 0 1, 0 1dom I M N m n m M n N | También hay dominio de una región de interés (ROI) o de un conjunto de pixeles y será entonces el conjunto de coordenadas de dicha región o conjunto. El soporte se define como todos los pixeles del dominio con atributo u= I(x, y) distinto de 0. Ejemplo: Valor promedio de una imagen de NM:
1 1
0 0
1 ( , )M N
m nMNf f m n
el promedio en una ventana rectangular W = [m1, m2][n1, n2] dom(I), definida por su esquina inferior izquierda y su esquina superior derecha, o de una ROI arbitraria, es:
2 1 2 1
2 2
1 1 ( , )
1 1
( )( ) | |( , ) ( , )
m n
Wm m n n m n Wm m n n W
f f m n f m n
donde | W | = area(W), y si un pixel mide 1 unidad de área, | W | card(W), es la cardinalidad o número de pixeles, también denotada “#W”. En vez de W, podemos tener una ROI arbitraria.
54/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
The Nyquist Criterion for Spatial Resolution To detect a feature (of interest), the spatial resolution of the sensor system (1/f ) should be less than ½ the size (L) of the feature measured in its smallest dimension. Equivalently, in frequency domain and in spatial domain we have:
sampling details2f f samplingdetails
2fL
detailssampling 2
LL
The sampling frequency has to be twice the highest frequency of interest in the signal or, equivalently, the resolution length has to be half the length of details “(peak width”) of interest in the signal.
55/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
A general practical standard is as follows:
• For a unique feature to be detected it should be made up of at least 3-5 pure pixels (assuming minimal impulsive noise).
• For a unique feature to be reliably identified requires a threefold increase in resolution, or 10-15 pure pixels (20-50 if boundary pixels are included).
• For a unique feature to be analyzed (e.g., morphology) may require a tenfold or greater improvement in resolution (100-200 pixels).
(Wilkie & Finn 1996 ). From a technical point of view, there is always a trade-off between resolution (spatial & spectral) and the cost of image acquisition and processing. Increasing resolution causes a parallel and multiplicative increase in the quantity of data that has to be obtained, stored and analyzed. In light of this trade-off between cost and resolution, it is of prior importance that the choice of image resolutions be problem driven.
56/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Efectos del muestreo:
100 muestras
59/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Arriba: convolución en dominio espacial; h(m,n) es una Gaussiana 2D (= bivariada). Abajo: el equivalente en dominio de frecuencia espacial es una modulación (producto).
61/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Intensity Transfer Functions - LUTs (Look-Up Tables) - “Gamma”
+
+
62/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Negative of an image: anti-unitary LUT (transfer function)
uin uout = L1uin
63/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
A re-quantization LUT
64/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Iso-Level LUTs
65/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
LUT of Cyclic Grayscale-Bins for Gradient Analysis
Saw-tooth transfer function:
66/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
How does a LUT works in a computer
Memory for input intensity u
Address index i offset
u=Iin(i)
0 0 1 1 2 2 3 3 4 4 ∂ ∂
254 254 255 255
LUT: memory for a color output intensity uR, uG, u
Adress index k offset
LUTRed(k) LUTGreen(k) LUTBlue(k)
0 255 0 0 1 253 1 1 2 2 2 2 3 17 4 7
4 255 100 2 ∂ ∂ ∂ ∂
254 127 2 254 255 121 0 254
Color output intensity (input u =Iin(i) is a scalar image, with i[0,255]): For each index k[0, 255], Iout = (uR, uG, uB). Inserting a color Look-Up Table, the input intensity Iin(i) becomes the color LUT index k, that is,
Iout(k) = ( LUTRed (Iin(i)), LUTGreen(Iin(i)), LUTBlue(Iin(i)) )
For a single channel, a LUT is a discrete transfer function: Iout(k) = LUT(Iin(i)).
67/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Color LUTs
68/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Designing RGB Color LUTs (False Color)
69/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Iso-level (bands) + Color LUT
Whenever the color Moïré-interference patterns appear, there is aliasing (thus, sub-sampling): in those regions, the gradient of gray-level intensity is stepper than the black-band gaps of the LUT. The color attribute allows to better identify regions around a given gray-level intensity.
70/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Fusion of MRI and PET Images Using Color Space HSL
72/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Ruido Gaussiano
Función de Distribución Probabilística:
2
2( )2
2
1
2( )
u u
u e
donde
u = valor de nivel de gris ū = valor medio = desviación estándar
(2 es la varianza)
73/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Representación de formas
Atributos regenerativos Atributos cuantitativos (Morfometría)
Geometría Momentos• Fronteras• Regiones• Esqueleto
(Medial Axis Transform)• Momentos• Descriptores estructurales y sintácticos• Descriptores de Fourier
• Perímetro• Area• Factor de forma• Radios max/miny eccentricidad
• Círculo equivalente• Esquinas• Redondez• Energía de pliegue• Simetría
• Centro de masa• Orientación• Rectángulo
delimitador• Elipse mejor ajuste• Eccentricidad
Topología
• Hoyos• Número de Euler• Nodos • Cuellos • Zonas críticas
Mixtos• Descriptores morfológicos• Decomposición/aproximación
mediante primitivas• Grafo descriptor• Concavidades• Granulometría (Morfo-Mat)
74/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Histograms with MATLAB or other computer languages.
MATLAB has an histogram function (histo); it is useful to knoew how to obtain oneself any ROI histogram. This code computes the histogram for a full image (any rectangular ROI can be easily specified at the main loops):
X = imread('bacteria.tif','TIF'); % matrix contains the image image(X); % display it hold on; % to compare with histogram H=zeros(256,1); % initialize histogram vector to 0 [m,n] = size(X); % obtain dimensions to set loop limits for i=1:m % scan all columns for j=1:n % scan all rows H(X(i,j)) = H(X(i,j))+1; % use data as addresses to count end % frequencies if occurrence end plot(H); % now display it
75/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
* Filtros 2D FIR (Finite Impulse Response) Los filtros lineales FIR en 2D representan sistemas lineales invariantes a corrimientos (linear location invariant, or shift invariant) y tienen una región de soporte finito.
Sea I(x, y) una imagen 2D definida en 0 x < N, 0 y < M, es decir que tiene dimensiones (volumen) NM (=total de pixeles).
Sea la región de soporte (o ventana, con valores 0) un rectángulo: W = {(x,y): Wx x Wx, Wy y Wy }.
Notar que el rectángulo tiene un total de pixeles de1 card(W) = (2Wx+1)(2Wy+1),
y puede también describirse (caso continuo o discreto) como el producto cartesiano de dos intervalos cerrados:
W = [Wx ,Wx] [Wy ,Wy]. A veces se define el punto x,y en una esquina de W, y se usa el producto cartesiano de intervalos semiabiertos: W = [0,Wx) [0,Wy), siendo en este último caso card(W) = Wx Wy. Para una ROI irregular, tomamos el mínimo rectángulo Wabs que la contiene, usando coordenadas absolutas, en vez de relativas, es decir: Wabs = [xmin, xmax] [ymin, ymax]. El centro es el punto medio. Ejercicio: hallar la ventana relativa. Definimos la convolución continua como:
( , ) ( , ) ( , )
( ', ') ( ', ') ' '
g x y I x y w x y
I x x y y w x y dx dy
W
y definimos la convolución discreta, con (x,y) Z2, como:
1 Nota: para indicar la cardinalidad o número de elementos de W, también se usa #W, o incluso |W |.
76/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
W W
W W
( , ) ( , ) ( , )
( , ) ( , )x y
x y
g x y I x y w x y
I x y w
Los valores de w(x, y) (o de w(, ), como variables locales) son los pesos de ponderación (en contínuo es función de ponderación). El promedio móvil (moving average) es el caso particular de w(x, y) = 1/N, en todo W, donde N= card(W). En general se normaliza la ventana (kernel, núcleo o mascarilla) de convolución (conjunto de valores w), o sea que { w(x, y) } satisfacen:
WW
W W( , ) 1
yx
x y
w
Es común que se diseñen ventanas simétricas en las 2 variables, de modo que se tiene w(x, y) = w(x, y), w(x, y) = w(x, y) y en consecuencia w(x, y) = w(x, y). De allí la conveniencia de centrar los índices en 0,0 por cada punto de I(x, y). Notar que el ancho y alto de la ventana rectangular, en pixeles, son (2Wx+1) y (2Wy+1) respectivamente, o sea números impares pues comprenden (por ejemplo) valores de x, tales que x {Wx,...,1, 0, 1,…Wx}. La convolución discreta, usando la notación de subíndices discretos (enteros), i, j se escribe
WW
,W W
yx
x y
ij ij ij i n j m nmn m
g I w I w
Nota: Algunos autores usan ** y *** para denotar convolución en 2D y en 3D respectivamente. Otros usan el símbolo (y respetivamente y ). Nosotros usaremos *, salvo en programas en lenguaje C, donde significa producto y “pointer”. Reservamos para los productos de Kronecker, y tensorial: usaremos para multiplicación escalar (símbolo explícito), producto vectorial y producto cartesiano.
77/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
/********************************************************** Subroutine for calculating the 3D convolution between the input image sequence and the linear FIR filter impulse response. (linear FIR filter output calculation) The filter is not recursive. Odd filter window dimensions are assumed, to ensure symmetry. Parameters
a: input image sequence b: output image sequence Ll, N1, M1: start coordinates (frame, row, column) L2, N2, M2: end coordinates (frame, row, column) hcoe: FIR filter impulse response 3D matrix LW, NW, MW FIR filter window dimensions (frames, rows, columns) (NOTE: they
must be odd numbers) **********************************************************/ int conv3( image3d a, image3d b, matrix3d hcoef, int L1, int N1, int L2, int N2, int M2, int LW, int NW, int MW) { int i,j,k, x,y,z, xx,yy,zz; Int Lmin,Lmax, Nmin,Nmax, Mmin,Mmax, LW2,NW2,MW2;
LW2=LW/2; NW2=NW/2; MW2=MW/2; Lmin=U+LW2; Lmax=L2-LW2; Nmin=N1+NW2; Nmax=N2-NW2; Mmin=Ml+MW2; Mmax=M2-MW2; /* Calculation of the output image sequence */ for (z=Lmin; z<Lmax; z++) /* frames */ for (y=Nmin; y<Nmax; y++) /* rows */ for (x=Mmin; x<Mmax; x++) /* columns */ {
for (k=O, zz=z+LW2; k<LW; k++, zz--) for (j=O, yy=y+NW2; j<NW; j++, yy--) for (i=O, xx=x+MW2; i<MW; i++, xx--)
b[zl[y][x] += a[zzl[yy][xxl * hcoef[k][j][i]; }
} /*** endof conv3() ***/
78/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Color Subtraction of Two Adjacent Slices
(Lungs from the Visible Human Project)
79/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Gaussian Kernels
Isotropic Gaussian Kernel 1D centered at x0
2 20
2
21 /( )2
- x xG x e
Isotropic Gaussian Kernel 2D (or bivariate) centered at (0,0)
2 2 2
2( ) 21( , )
2- x yG x y e
/
Isotropic Gaussian Kernel 3D (or trivariate) centered at (0,0,0) 3 / 2
2 2 2 2
2
( ) 21
2( , , ) - x y zG x y z e
/
Anisotropic Gaussian Kernel, diagonal covariance Σ σ 2, center at 0 0 00 ( , , )x y zx
2 2 20 0 02 2 2, 3/ 2
( ) ( ) ( )1
2 2 22( ) exp
x y zx y z
x x y y z zG
0σ x x
2 2 2: ( , , )x y z Note σ
80/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Generalized nD Anisotropic Gaussian Kernel, non-diagonal, covarianceΣ , center at 0x
0
T 1, 0 01/2/2
1 1( ) exp2(2 )nG
Σ x x x x Σ x x
Σ
0 0 0
2 2 2
0Notation: vector ( , , ) has been changed to
( , , )x y z
xx y z column vector y
z
x x
σ
Intensity surface plot in 2D:
81/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
Finite Apertures
PSF: Point Spread Function (or Impulse Response)
intensity
cos( )+sin( ) cos( )+sin( )
82/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
LSF: Line Spread Function (also Slit or Line Response)
intensity
x x
83/85
Curso Procesamiento y Análisis de Imágenes – Jorge Márquez Flores - CCADET-UNAM 2011
ESP: Edge Spread Function (or Step Response)
( ) ( , ) LSF x ESP x yx