tÉcnicas de segmentaciÓn ii - esi2.us.esjdedios/asignaturas/master_2.pdf · – cross-correlation...

50
VISIÓN POR COMPUTADOR TÉCNICAS DE SEGMENTACIÓN II MASTER EN Automática, Robótica y Telemática Dr. J. RAMIRO MARTINEZ DE DIOS

Upload: truongthien

Post on 17-May-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

VISIÓN POR COMPUTADOR

TÉCNICAS DE SEGMENTACIÓN II

MASTER EN Automática, Robótica y Telemática

Dr. J. RAMIRO MARTINEZ DE DIOS

• Preprocesado– Suavizado, realce– Estabilización– Iluminación

• Segmentación basada en puntos de interés

• Otras técnicas

Técnicas de Segmentación II

• Suavizado– Aplicaciones:

• Reducción de ruido

• Destacar propiedades de baja frecuencia

• Análisis de textura

• Esqueletización de objetos

– Dominio del espacio• Máscaras de convolución

– Dominio de la frecuencia

Preprocesado. Suavizado

• Suavizado. Dominio del espacio– Promediado en entorno de vecindad

» Nivel de gris se sustituye por media del entorno de vecindad

» Emborrona la imagen

» Comportamiento defectuoso en entornos de alta frec. (bordes)– Filtrado de la mediana

» Nivel de gris se sustituye por mediana del entorno de vecindad

» Buen comportamiento con los bordes

» Es un filtro no lineal

– Suavizado de imágenes binarias» Rellena pequeños huecos

» Rellena cortes en segmentos rectos

» Elimina pixels aislados

» Elimina pequeñas protuberancias

» Repone puntos de esquinas perdidas

Preprocesado. Suavizado

• Suavizado. Dominio de la frecuencia

– Basado en extensión de teoría clásica de diseño de filtros para 2D

– Se basa en la Transformada de Fourier de la imagen

– Computacionalmente costoso: imágenes de ancho y alto potencias de 2.

Preprocesado. Suavizado

• Suavizado en segmentación. Segmentación de humo

Preprocesado. Suavizado

• Iluminación• Modelado de iluminación• Corrección mediante métodos globales

– Ecualización de histograma– Especificación de histograma– “Stretching” de histograma

• Corrección mediante métodos locales• Control de iluminación

Preprocesado. Iluminación

• Relevancia de la iluminación

Preprocesado. Iluminación

• Relevancia de la iluminación

Preprocesado. Iluminación

• Iluminación. Modelo de Phong

• Ia: intensidad de la luz ambiente, • αa: coeficiente de iluminacion ambiente reflejado en la superficie de objetos• αr: coeficiente de reflexion en la superficie del objecto• Ip: intensidad de la fuente de luz• q: angulo entre rayo y normal de la superficie del objeto• W(q): función de distribution de la reflectancia angular que depende de q y del objeto• θ: ángulo entre rayo reflejado y la línea de visión del observador

speculardiffuseambient IIII ++=

aaambient II α=

)cos(qII prdiffuse α=

)cos()( θqWII pspecular =

Preprocesado. Iluminación

• Ecualización de histograma– Trata de obtener un histograma global plano para todos los

niveles de intensidad

• Especificación de histograma– Trata de obtener un histograma global deseado para todos los

niveles de intensidad

Preprocesado. Iluminación

• “Streching” de histograma

– Aplica una transformación a los niveles de intensidad de la imagen para mejorar su distribución en todo el rango de intensidades de la imagen

– Se aplica sobre el histograma acumulado detectando los valores de intensidad para los que se obtienen valores próximos al 0% y al 100%

– Se calcula la transformación lineal para conseguir que dichos porcentajes se produzcan en unos valores de intensidad deseados que cubran el rango de intensidades deseados.

– Se aplica la transformación lineal a los valores de intensidad de la imagen, obteniéndose un histograma en el rango deseado de intensidades.

Preprocesado. Iluminación

• “Streching” de histograma

HISTOGRAMA

0

50

100

150

200

250

300

1 14 27 40 53 66 79 92 105

118

131

144

157

170

183

196

209

222

235

248

Niveles de grises

de p

unto

s

HISTOGRAMA

0

50

100

150

200

250

300

1 14 27 40 53 66 79 92 105

118

131

144

157

170

183

196

209

222

235

248

Niveles de grises

de p

unto

s

Preprocesado. Iluminación

• Corrección de iluminación local• Aplicación del esquema a subimágenes (esquema de

Chow-Kaneko)– Equalización de histograma de subimagen– Medidas locales de brillo y contraste:

– Problemas: efecto “tablero de ajedrez”� subimágenes solapadas

• Particularización de técnicas globales a entornos locales

)y,xvar(/Mk)y,x(A =)y,x(m)]y,x(m)y,x(f)[y,x(A)y,x(g +−=

Preprocesado. Iluminación

• “Streching” de histograma local

Preprocesado. Iluminación

• Image stabilization:– Human visualization: vibrations induces stress in the operation

– Computer image processing: pre-processing vibrations cancellation

• Two approaches:– Stabilize the camera vibrations:

• simple mechanical systems for camcorders: vibrations reduction not elimination

• gyrostabilize camera systems: restricted in terms of cost, size, weight

– Correct image vibrations• time-consuming computations for image matching

Preprocesado. Estabilización

• A computerized real-time image stabilization based on Fourier-Mellin matching– capable of stabilizing at a rate of standard video (PAL or NTSC) on a

general Pentium III at 800 MHz

– independent of hardware and software platforms

Preprocesado. Estabilización

• Capture, stabilization based on matching, display

• Matching:

– Cross-correlation: difficulties with rotated images

– Feature matching: requires presence of features (corners, edges)

– Fourier Transform: high robustness and discriminating properties

• Disadvantages: does not match rotated images

– Fourier-Mellin Transform : high robustness and discriminating properties

• matches rotated images

Vibrations

translations+

rotations

Estabilización. Principio de funcionamiento

• Matching two images through the Fourier-Mellin Transform

– Imn(x,y) is a rotated and translated replica of Imn-1E(x,y)

– Two steps: 1) Detection and correction of rotation angle between Imn(x,y) and Imn-1

E(x,y)

Result: ImnR(x,y), rotation-corrected version of Imn(x,y)

2) Detection and correction of translation offsets between Imn-1E(x,y) and Imn

R(x,y)

Result: ImnE(x,y), traslation-corrected version of Imn

R(x,y)

– s(x,y) and r(x,y) are central rectangular regions of Imn(x,y) and Imn-1E(x,y)

– α is the rotation angle andx0, y0 are translational offsets

( ) ( ) ( )( )00 ycosvsinx,xsinvcosxry,xs −+−−+= αααα

Estabilización. Principio de funcionamiento

The FT of s(x,y) and r(x,y) are related by:

The spectral phase of s(x,y) depends on translation and rotation. The spectral magnitude

of s(x,y) is translation invariant

A rotation of the image involves a rotation of the same angle of the spectral magnitude.

rp(θ,ρ) and sp(θ,ρ) are spectral magnitudes of r and s in polar magnitudes (θ,ρ). Then:

A rotation is transformed to a translation along the angular axis. It is easy to observe that

the FT of rp(θ,ρ) and sp(θ,ρ) are related by:

( ) ( ) ( ) ( )( )ααααφ cosvsinu,sinvcosuRev,uS v,usj +−+= −

( ) ( ) ( )( )αααα cosvsinu,sinvcosuRv,uS +−+=

( ) ( )ραθρθ ,r,s pp −=

( ) ( )ϖνϖν παθ ,Re,S pj

p2−=

Estabilización. Principio de funcionamiento

• Image rotation correction

The peak of qr(θ,ρ) is located at θ=θmax =α

where and are the phases of and .

Rotation correction consists in rotation Imn(x,y) – α. The result is ImnR(x,y)

• Image translation correctionsR(x,y) is the translated version of r(x,y). The peak of qt(x,y) is located at

xmax=x0 andymax=y0

Translation correction consists in shifting ImnR (x,y) by (-x0 , -y0 )

( ) ( ) ( )

−−= − ϖνφϖνφρθ ,p,pjexpF,q RSr

1

( )ϖνφ ,pS ( )ϖνφ ,pR ( )ϖν ,S p ( )ϖν ,Rp

( ) ( ) ( )

−−= − v,uv,uRjexpFy,xq RSt φφ1

Estabilización. Principio de funcionamiento

• Drift correction– Combines stabilization of Imn(x,y) respect to Imn-1(x,y) and, Imn(x,y) respect to Imn-N(x,y)

– α 1׀, x01׀, y0 1׀ rotation angle and offsets between Imn(x,y) and Imn-1(x,y)

– α ׀N, x0 ׀N, y0׀N rotation angle and offsets between Imn(x,y) and Imn-N(x,y)

– τr and τt are called drift correction rotation and translation factors, respectively

• Contrast correction– Actual luminance of Im(x,y): bright (MI) and contrast (C)

– Desired bright and contrast: MIref and Cref

– Contrast enhance:

( ) ( )( ) refref

MIMIy,xImC

Cy,xIm* +−=

( )Nrr ατατα 1 1 +−= ( )

Ntt xxx 01010 1 ττ +−= ( )Ntt yyy 01010 1 ττ +−=

Estabilización. Aspectos prácticos

• Operation modes– Size of Sp(υ,ω) is WxW. Size of s(x,y) is MxM

– Resolution of α, x0 andy0 depends on W and M

– Two operation modes: Mode1: low values of W and M � average stabilization capability

Mode2: high values of W and M � high stabilization capability

• Sub-pixel resolution– Resolution in the position of peak of qr(x,y) or qt(ρ,θ) increases with:

• Higher values of M or W: increase in computation load

• Sub-pixel resolution: Assumes peak is located at p_m

( ) ( )CBA

XCXBXAm_p

+++++−= 1 1

Estabilización. Aspectos prácticos

• Optimization of the computation of the FFT– Use of Cooley-Tukey algorithm � simple and efficient

– Exploitation of FFT symmetry properties of 1D-FFT and 2D-FFT of real data

• Save of 50% in 2D-FFT of real data

– Offline pre-computation of twiddle factors of Cooley-Tukey algorithm

• Save of 40%

• Optimization in rotation and translation corrections– Use of bilinear interpolation � simple and efficient

– Use of “integer” operations more efficient than “floating point” operations

• Save of 30%

Estabilización. Aspectos computacionales

• Two consecutive images with vibrations

• Rotation angle identification & correction θmax=3 � α=2.109375º

Imn-1E(x,y) Imn(x,y)

qr(θ,ρ) ImnR(x,y)

Estabilización. Experimentos

Imn-1E(x,y) Imn(x,y) Imn

R(x,y)

• Translation offsets identification & correction x0=0.4 & y0=-2

Estabilización. Experimentos

α x0 y0

• Sequences α, x0 andy0 obtained from a sequence of 1000 images

• Implemented on a Pentium III at 800 MHz with 128 MB

• OS: Windows NT and Vx-Works

• Mode1: M=W=128 /// Mode2: M=W=256

• Stabilizing time for Mode1= 28.6 ms. // Mode2= 102.1 ms.

Estabilización. Experimentos

• Video

Original Stabilized

• Extensive experimentation: visual and infrared cameras

Estabilización. Experimentos

• Preprocesado

• Segmentación basada en puntos de interés

• Otras técnicas

Técnicas de Segmentación II

• Trata de segmentar un objeto mediante puntos de interés

• Ventajas:– Transforma un problema completo en subproblemas (más simples)

• Desventajas:– Requiere informacion adicional (heurística, inf. de operador)

• Ofrece ventajas netas sobre otras técnicas cuando:– Objetos complejos, dificiles de modelar

– Entorno no estructurado y complejo

Segmentación basada en puntos de interés

• Ejemplo: Segmentación de peces

– Mejora de condiciones de iluminacion

Segmentación basada en puntos de interés

– Mejora de condiciones de iluminación

Segmentación basada en puntos de interés

Segmentación basada en puntos de interés

– Detección de puntos de interés en ambas imágenes

– Empleo de sec. de imágenes para:• Reducir la incertidumbre

• Tomar mas muestras del pez

– Empleo de información estéreo para validarsecuencias de puntos de interés

– Asociación de puntos de interés del mismo pezempleando coherencia de resultados

Segmentación basada en puntos de interés

– Puntos de interés: Aletas caudales, Agallas

– Detección de aletas caudales: Invariante a:• Iluminación • Escalado

• Rotación • Alta selectividad

Segmentación basada en puntos de interés

• Detección de aletas caudales– Filtros template que se ajustan al ángulo de la cola

– Cada máscara representa un borde en una dirección– Kirsh:

1 1 1 1 1 1 -1 1 1 -1 -1 1 1 -2 1 -1 -2 1 -1 -2 1 -1 -2 1 -1 -1 -1 -1 -1 1 -1 1 1 1 1 1

-1 -1 -1 1 -1 -1 1 1 -1 1 1 1 1 -2 1 1 -2 -1 1 -2 -1 1 -2 -1 1 1 1 1 1 1 1 1 -1 1 -1 -1

– Borde si cumple:• valor resultante de aplicar template > valor

Segmentación basada en puntos de interés

Segmentación basada en puntos de interés

– Detección de aletas caudales

Segmentación basada en puntos de interés

– Detección de Agallas• Resultados combinados de varios métodos:

– Umbralización

– Crecimiento de regiones

– Búsqueda de “blobs”

Segmentación basada en puntos de interés

Segmentación de agallas

( ){ }( ){ }

=

=

nistereon

jnstereon

SeqL,SeqRfmaxargj

SeqL,SeqRfmaxargi

• Dos secuencias en imagenes R e I:– SeqRi={x Ri(k), k=kinii,… kfinali}

– SeqLj={xLj(k), k=kinij,…kfinalj}

Asociación estéreo

( ) ( ) ( )( )∑==

kfinal

kinikLjRijistereo k,kscoreSeqL,SeqRf xx

( ) stereojistereo THSeqL,SeqRf >

– Asociación de puntos de interés• Conocimiento de la aplicación

Segmentación basada en puntos de interés: Asociación de puntos del mismo pez

– Conclusiones:• Técnicas altamente dependientes de la aplicación

• Normalmente no son eficientes computacionalmente(problemas “difíciles”)

• Normalmente es difícil o complicados encontrarsoluciones alternativas

Segmentación basada en puntos de interés

• Preprocesado

• Segmentación basada en puntos de interés

• Otras técnicas– Técnicas basadas en relajación– Segmentación en color

– Segmentación de movimiento– Contornos activos

Técnicas de Segmentación II

• Técnicas basadas en relajación

– Consiste en agrupar pixeles en un conjunto de clases de forma iterativa conforme se relajan las condiciones de pertenencia

– Se parte de unas estimaciones de pertenencia iniciales que se van refinando iterativamente de acuerdo a:

• intensidad del píxel a agrupar• contexto local: intensidad media local, textura local, etc...

– Relajación probabilística (Rosenfeld y Kak, 1982)

Otras técnicas

• Segmentación en color– RGB

– IHS (intensidad, tono, saturación)• I depende de la iluminación

• H y S dependen de las propiedades reflectantes de los objetos

Otras técnicas

Negra roja verde

• Segmentación de movimiento

– Requiere escenas con fondo estático– A veces necesita técnicas de compensación del movimiento del fondo– Aplicaciones a:

• detección y monitorización de objetos en movimiento• visión estéreo (“stereo motion”)• visión de bajo nivel: detección de bordes (Jain y Nagel, 1979) • visión de alto nivel: clasificación por movimiento, estudio de dinámica, etc...

– Diferencia de imágenes(Schalkoff, 1989), (Jain y otros, 1979)

• Útil para detección de movimiento• Permite estimar la dirección del movimiento

– Diferencia de imágenes acumulada(Jain y Nagel, 1979)

• Permite obtener el histórico de la escena

Otras técnicas

• Segmentación de movimiento

– Técnicas de flujo óptico

• Flujo óptico: movimiento aparente de los niveles de intensidad Dado un pixel p en la imagen t, ¿Donde estará en la imagen t+1?• No refleja necesariamente el movimiento de los objetos

• Existen ENORME cantidad y variedad de algoritmos:

• Empleando gradiente (Horn y Schunck, 1981), (Nagel y Enkelmann, 1986), (Keary y Thompson, 1988), etc......

• Basado en las carácterísticas (Burger y Bhanu, 1992), (Barnard y Thompson, 1980), etc....

• Empleando wavelets

Otras técnicas

• Contornos activoso “snakes”

– Ajustan un contorno a una imagen empleando técnicas de minimización de energía

– Define energías potenciales en un punto como la distancia del punto a un borde. Utilizan la suma de 3 fuerzas o energías:

• Energía interna que fuerza suavidad

• Atracción por características del borde: magnitud del gradiente y dirección

• Energía de contorno externa

– A partir de un molde inicial, se ajusta hasta encontrar un mínimo local de la función de energía

Otras técnicas

• Contornos activos

– REF• M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Active contour models. Int. J.

Comput. Vision, 1(4):321--331, 1988.

• D. Terzopolous, J. Platt, A. Barr, and K. Fleischer. Elastically deformable models. Comput. Graphic, 21(4):205--214, 1987.

• D. Terzopolous, A. Witkin, and M. Kass. Constraints on deformable models: Recovering 3D shape and nonrigid motion. Artificial Intelligence, (36):91--123,

1988.

Otras técnicas

Snake inicial snake en el paso 2 snake en el paso 5