Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduccin
Artificial
la
Visin
11
Carlos Platero
12
Sin embargo, el momento histrico que hace que estas tcnicas confluyan y den
un cuerpo de conocimiento propio, surge en la dcada de los 80 del siglo XX. La
revolucin de la Electrnica, con las cmaras de vdeo CCD y los microprocesadores,
junto con la evolucin de las Ciencias de la Computacin hace que sea factible la Visin
Artificial.
Por tanto, la Visin Artificial o tambin llamada Visin por Computador,
pretende capturar la informacin visual del entorno fsico para extraer caractersticas
relevantes visuales, utilizando procedimientos automticos. Segn Marr, Visin es un
proceso que produce a partir de imgenes del mundo exterior una descripcin til para
el observador y no tiene informacin irrelevante.
Para algunos autores, como Gonzlez y Woods, los primeros atisbos de este
proceder se remontan a la dcada de los aos 20 del siglo XX, cuando se transmitan
imgenes transocenicas, a travs de cable submarino. Las fotografas periodsticas
entre Europa y Amrica tardaban una semana en llegar a travs de los barcos. Al
emplear las primeras tcnicas de procesamiento de las imgenes se pas slo a tres
horas. Las imgenes se codificaban a cinco niveles de grises y se transmitan por
telfono. No obstante, ste podra ser el principio de las tcnicas de procesamiento de
las imgenes, pero no el de la Visin Artificial, tal cual se ha definido. El concepto de
Visin Artificial es ms amplio y recupera para s, todos los conocimientos de anlisis
de las imgenes desempeado por otras disciplinas desde los albores de la fotografa.
Parece claro que para tratar sobre la Visin, lo primero a estudiar ser la
naturaleza de la luz, para luego pasar a entender cmo funciona la visin humana y
acabar con las partes de la Visin Artificial.
1.1
La naturaleza de la Luz
La luz fue considerara, hasta el siglo XVIII, como una corriente de corpsculos.
stos eran emitidos por los focos luminosos y disminua su densidad a medida de que se
alejaban del foco. Podan penetrar en las sustancias transparentes y se reflejaban en las
superficies de los cuerpos opacos. Cuando los corpsculos penetraban en el ojo,
excitaban el sentido de la vista. Esta teora corpuscular fue desarrollada por Newton en
el siglo XVII y mejorada posteriormente, con el modelo cuntico, por Plank a principios
del siglo XX.
En el siglo XIX, los trabajos de Young, Fresnel y Foucault salvaron la mayora
de las objeciones de la teora ondulatoria. El impulso definitivo lo dio Maxwell, al
explicar la luz como una radiacin ondulatoria. Sin embargo, el efecto fotoelctrico
proporcion evidencias experimentales de que la luz tena carcter corpuscular en la
interaccin con la materia. Hoy se admite que en la emisin de la luz intervienen
electrones con cantidades de energa determinadas o discretas. Cuando un electrn pasa
de un nivel de energa a otro inferior emite una partcula discreta de energa, llamada
cuanto o fotn. El problema ahora consiste en hacer concordar el cuanto o caracterstica
corpuscular de la luz con la idea de onda continua. Para la Mecnica Cuntica, cuando
se trata del comportamiento de gran nmero de cuantos, la teora ondulatoria explica
satisfactoriamente los fenmenos, pero al considerar el comportamiento de unos pocos
Dpto. Electrnica, Automtica e Informtica Industrial
13
Carlos Platero
Fue Newton quien observ cmo la luz blanca, la procedente de la luz solar, se
poda descomponer en unas serie de haces luminosos de colores cuando atravesaba un
prisma ptico. Newton, con este experimento, hall el espectro de la luz diurna
mediante el fenmeno conocido como dispersin de la luz o dispersin cromtica, cuya
explicacin fsica escapaba de su teora corpuscular. Mediante la teora ondulatoria se
sabe que cada color es en realidad una onda electromagntica de frecuencia determinada
y que, al penetrar en el prisma ptico, se desva en una direccin diferente debido a que
14
1.1.2
Fuentes de luz
La distribucin espectral de la energa radiada, f , es una funcin que
representa la cantidad de potencia asociada a cada longitud de onda, . Si la distribucin
presenta un pico sobre una determinada longitud de onda y es despreciable el resto de
componentes, se dice que es una radiacin monocromtica. ste es el caso de la luz
lser. La luz blanca se caracteriza por tener una distribucin uniforme en su espectro.
Cada onda luminosa monocromtica lleva asociada una energa, cuyo valor es
igual a :
2
La longitud de onda del lser de un DVD est entre los 630 nm y los 650 nm, en un CD es de
780 nm. La potencia del laser de un DVD es de 5.4 W y el de un CD es de 1.85 W.
15
Carlos Platero
Q h f
h c
(1. 1)
h c
P
Q
6 . 63 10
34
650 10
5 10
3 10
3 10
3 10
19
6
19
1 . 67 10
13
fotones/s
La energa radiante emitida por una fuente luminosa, por unidad de tiempo y por
unidad de rea, depende de la naturaleza de la superficie y de su temperatura. Esta
radiacin es una mezcla de diferentes longitudes de onda. La temperatura de color es la
temperatura a la que hay que calentar un radiador de energa o fuente de radiaciones
para que emita radiaciones en determinadas longitudes de onda. A temperaturas bajas,
este manatial radiar energa que se hace visible con longitudes de ondas largas (rojas
anaranjados), mientras que a altas temperaturas llegar a emitir radiaciones de
frecuencia elevadas (azules). Por ejemplo, a la temperatura de 600 K, la ms intensa de
estas ondas tiene una longitud de 500nm, que se encuentra en la regin del infrarrojo,
mientras a 1000 K, un cuerpo emite bastante energa radiante visible para ser luminosos
por si mismo y parece incandescente; no obstante, la mayor parte de la energa emitida
es transportada, con mucho, por ondas infrarrojas. A 3000 K, que es aproximadamente
la temperatura del filamento de una lmpara de incandescencia, la energa radiante
contiene bastantes longitudes de onda visibles, de las comprendidas entre 400nm y
700nm, de modo que el cuerpo parece casi rojo blanco.
16
E K
SB
(1. 2)
22 . 8 10 W / m
T
8
2
5 . 7 10 W / m K
4
E K
SB
2
4
4
1414 K
f d
0
(1. 3)
d
d
( 1.4 )
El ngulo slido se define como el rea de una superficie esfrica, dA, dividida por el cuadrado
del radio de la esfera, R. Su unidad es el estereorradian, [sr], una cantidad adimensional. Una esfera tiene
4 esterorradianes de ngulo slido.
17
Carlos Platero
INCIDENTE
TRANSMITID
ABSORBIDA
(1. 5)
REFLEJADA
d
dA
I d
dA
I d A cos
dA
I cos
r
I n l
( 1.6 )
n
v
dA
d
2
dA cos r d r
dI
dA cos r
dI
dA n v
( 1.7 )
S a p a r e n te
L r r
E i i
( 1.8 )
Smbolo
Unidad en S.I.
Flujo luminoso
Lumen(Cd sr)
Intensidad luminosa
W sr-1
Candela (Cd)
Iluminacin
W m-2
Lux(Lumen/m2)
W m-2 sr-1
Cd/m2
Radiacin
luminancia
o L
Unidades derivadas
del S.I.
Ejemplo 1.3
Un rel es controlado por una clula fotoelctrica. sta tiene una abertura de 15
mm x 40 mm y requiere al menos un flujo mnimo de 0.3 mW. A que distancia
mxima se pondr un emisor puntual que tiene como intensidad 1 W/sr?
E
0 . 3 10
15 10
d max
40 10
0 . 5W / m
1 . 41 m
La candela es la intensidad luminosa, en una direccin dada, de una fuente que emite una
radiacin monocromtica de frecuencia 5.4 1014 Hz y cuya intensidad energtica en esa direccin es
1/683 vatios por estereorradin (W/sr)
19
Carlos Platero
Ejemplo 1.4
Cul es la potencia del Sol, si se sabe que la luz tarda 8 minutos en llegar a la
Tierra y la radiacin incidente en la Tierra es de 1kW/m2?. Y la temperatura del Sol, si
el radio es de 6.96108 m?
I E d
10
8 60 3 10
4 I 2 . 6 10
26
2 . 07 10
25
W sr
1.2
4 R
4 . 27 10 W / m
T
8
2
5 . 7 10 W / m K
7
4 . 27 10 W / m
7
E K
SB
2
4
4
5232 K
20
21
Carlos Platero
22
Una vez que la seal luminosa ha sido transformada en pulsos elctricos por los
conos y bastones, stos son transportados al cerebro por los nervios pticos. Los pulsos
son llevados al lbulo occipital, donde se encuentra el crtex visual. Es una zona de 24
cm2 con 1.5108 neuronas. Al hemisferio derecho llega la informacin del ojo izquierdo
y viceversa. En el cerebro se realiza una labor de extraccin de las caractersticas de la
imagen. Para ello existen zonas especializadas que responden mejor a un tipo de
caracterstica que a otras.
23
Carlos Platero
Sistema artificial:
24
1.3
25
Carlos Platero
1.3.1
26
La imagen puede ser de tipo 3D, por ejemplo, en resonancia magntica, luz
estructurada, etc. stas se presentan como una pila de imgenes 2D. Se les aade otro
ndice, denominado k o z, que indica el orden de la rodaja de imagen 2D dentro de la
pila.
La secuencia temporal de imgenes estticas da lugar al vdeo. En el cine se
emplea 25 fotogramas por segundo, gracias a la inercia visual del ojo humano, da
sensacin de continuidad en la escena.
1.3.2
27
Carlos Platero
28
29
Carlos Platero
1.4
La naturaleza del proyecto hace que se incida en una disciplina ms que en otra.
Por ejemplo, en un problema de inspeccin visual de piezas, la parte de la formacin de
las imgenes suele ser fundamental, mientras que un anlisis de imgenes de una
tomografa tiene ms importancia el procesamiento y la computacin grfica.
1.5
Aplicaciones
El nmero de aplicaciones relacionadas con la Visin Artificial aumenta cada
da. En la tabla adjunta se citan algunos de los campos donde es empleada esta
disciplina.
30
rea de produccin
Aplicacin
Inspeccin de productos
(papel, aluminio,
acero,...)
Identificacin de piezas
Control de calidad
Robtica
Biomdicas
Etiquetados (fechas de
caducidad,...)
Inspeccin de circuitos
impresos
Control de calidad de los
alimentos (naranjas,...)
Control de soldaduras
Guiado de robots
(vehculos no tripulador)
Anlisis de imgenes de
microscopa ( virus,
clulas, proteinas )
Resonancias magnticas,
tomografas, genoma
humano
Control de trfico
Meteorologa
Agricultura
Control de cheques,
inspeccin de textos, ...
Matrculas de coches
Trfico viario
Prediccin del tiempo
Interpretacin de
fotografas areas
Control de plantaciones
Seguimiento de objetivos
Militares
31
Carlos Platero
1.6
Problemas
1. Teora dual de la luz.
2. Flujo luminoso, intensidad lumnica, iluminacin y radiacin.
3. Temperatura de color.
4. Visin fvea y visin perifrica.
5. Comparacin entre la visin humana y la artificial.
6. Arquitectura fsica de un sistema de Visin Artificial.
7. Etapas que se aplican en un proyecto de Visin Artificial.
8. Disciplinas relacionadas con la Visin Artificial.
9. Aplicaciones y reas en las que trabaja la Visin Artificial.
32
33
Carlos Platero
Sistema de
iluminacin
ptica
Movimientos de la banda
Batera de cmaras
Escena
Lnea de inspeccin
2.1
La calidad de una imagen es una impresin subjetiva que va desde pobre hasta
excelente. La habilidad de la percepcin realizada por el cerebro viene afectada no slo
por el sistema de visin humano, sino tambin por otros factores como son: las
emociones, el aprendizaje y la memoria. Las relaciones entre stas son complejas,
intrincadas y no comprendidas. Los juicios personales varan ante una misma imagen y
las valoraciones pueden ser muy dispares.
Muchas expresiones han sido dadas para categorizar una imagen, cada una es
apropiada segn un particular conjunto de condiciones. Estas expresiones suelen ser
obtenidas desde las observaciones empricas, donde un grupo de imgenes son
ordenadas y posteriormente se infiere alguna ecuacin que justifique la clasificacin.
En un principio, la calidad de la imagen estaba relacionada con las lentes. Con el
avance de la tecnologa, la calidad se ha centrado en la minimizacin de la relacin
seal ruido, SNR, y en la arquitectura de las cmaras. Muchos tests han dado medidas
sobre la calidad de la imagen. La mayora de las medidas estn relacionadas con la
calidad de las pticas, la resolucin de la cmara o la relacin seal ruido del elemento
sensor. En general, las imgenes con altas prestaciones pticas y bajo ruido son
clasificadas como imgenes de gran calidad. Las prestaciones del sistema de visin
34
Cristal protector
Lente
Filtro IR
Difusor
Sensor
Iluminacin
Superficie a visualizar
ptica
Cmaras
Entorno
35
Carlos Platero
2.2
Iluminacin
36
37
Carlos Platero
Sensor
Manantial
r
Luz incidente
n
i
Pico especular
i
Halo especular
Halo difuso
d I d r
I
2
dA
dA
r
38
I cos
d2
EV E H tg
EH
I i cos i
di
EV E H i tg i
i
Ejemplo 2.1
Una superficie est iluminada por una fuente luminosa puntual de 0.1
W/sr de intensidad constante en todas direcciones situada a 2 m de altura.
Calcular la iluminancia de superficie y la iluminacin vertical, si la inclinacin
entre la superficie y la fuente, , es de 30.
I cos 3
EH
16.2mW / m 2
2
h
EV E H tg 9.4mW / m 2
E 18.72mW / m 2
Ejemplo 2.2
Una superficie circular de 3 m de radio est iluminada
por una bombilla de 50 cd de intensidad constante en todas
direcciones situada a 2 m de altura sobre el centro de la
plataforma. Calcular la iluminacin mxima y mnima sobre la
superficie.
La iluminacin mxima se dar en la vertical del foco:
E max
I
12.5 lx
h2
I cos
h / cos 2
2.13 lx
39
Carlos Platero
I d d I din n l
I
I
21.59W / m 2 sr
S p n P v p S p sen
I
I
Lm
0.48W / m 2 sr
S m nm v m S m sen
Lp
40
, r
respecto
Sensor
Manantial
r
Luz incidente
n
i
la
Pico especular
i
Halo especular
Halo difuso
4
6
normal de la superficie. Determinar
la intensidad recibida en el sensor.
Considrese
que
no
hay
interferencias de otras superficies y su emisin es nula. Utilizar el modelo de
Pong. Dato: k=100.
I d d I din n l
1
mW
100 cos 40.82
sr
3
4
1
mW
k
I s s I sin r v 100 cos 1.56
2
sr
4 6
k
I 42.38
mW
sr
41
Carlos Platero
circular
Figura
2.7
Tcnica
direccional
transmitido por el cuerpo. Si el objeto es opaco, ste aparecer como una sombra y las
imgenes se constituyen bsicamente en slo dos niveles de grises. Se emplea
preferentemente para la localizacin de piezas y anlisis dimensional. El principal
inconveniente es la prdida de los detalles de los cuerpos. Una preocupacin a tener en
cuenta es el posible deslumbramiento de la cmara, producido por la cantidad de
radiacin que alcanza al sensor, lo que origina un recorte en la dimensin de los objetos.
En caso de cuerpos translucidos dejar informacin sobre las propiedades
internas de la materia. ste es el fundamento de la tomografa o de la radiografa. La
imagen capturada depender de la absorcin de la materia. En este ejemplo se observa
que la fuente de iluminacin no tiene necesariamente que pertenecer al espectro visible.
2.2.3.4 Iluminacin estructurada.
Este tipo de iluminacin se sirve de la
proyeccin de puntos, franjas o rejillas sobre la
superficie de trabajo. En funcin de cmo se deforme
este patrn de luz sobre la superficie se puede detectar
las singularidades de la pieza objeto de anlisis. Este
mtodo posee dos ventajas con respecto a las
anteriores.
1.
2.
43
Carlos Platero
44
(la
no
de
el
45
Carlos Platero
46
47
Carlos Platero
2.3
La ptica
La ptica es el elemento del sistema de visin que permite concentrar los rayos
luminosos del entorno sobre el plano sensor. Una vez definido el sistema de
iluminacin, la eleccin de la ptica influir en la calidad de la imagen recibida y del
tamao de los objetos. En este apartado se hace un repaso de los parmetros pticos con
un modelo de lente simple. Posteriormente, se explicaran varias cuestiones prcticas
sobre las pticas comerciales empleadas en las cmaras de vdeo.
2.3.1 Cmara oscura
Desde hace mucho tiempo es conocida la experiencia de la cmara oscura.
Cardan, en 1550, emple la cmara oscura con una lente. Se trata de realizar en un
habitculo cerrado, en una de sus paredes, un pequeo orificio. La luz, tras entrar en la
cmara, se proyecta sobre la pared opuesta a la que tiene el orificio. Por cada rayo
procedente del exterior se obtiene un punto luminoso en el plano proyectivo.
Extendiendo el razonamiento a los infinitos rayos que atraviesan el agujero se obtiene
una imagen invertida y proyectiva del mundo exterior al plano sensor.
48
49
Carlos Platero
50
procedentes del mismo punto del objeto sern paralelos. La distancia focal, f, se define
como la distancia entre la lente y el plano sensor o focal cuando se encuentra enfocado
hacia el infinito. Esta definicin equivale a decir que la distancia focal es la distancia
entre la lente y el punto de convergencia de todos los rayos paralelos que inciden
perpendicularmente a ella. A este punto de convergencia se le denomina foco de la
lente. Si el objeto se halla a una distancia
finita, la separacin entre la lente y el plano
focal ser mayor que la distancia focal.
Para explicar la formacin de la
imagen se emplea el modelo de lente
delgada. De forma que todos los rayos que
pasen por el centro ptico continan en lnea
recta y los rayos que atraviesen la lente
paralelamente al eje axial de la ptica
convergen en el foco. La proyeccin de un
punto P del exterior, de coordenadas
Figura 2. 23. Modelo de lente delgada
(X,Y,Z), sobre el plano sensor, p de posicin
(x,y,z) vendr definido, segn la ecuacin de Gauss, por:
1 1 1
Z z f
(2. 1)
f
X
Z
f
Y
Z
(2. 2)
51
Carlos Platero
x
y f
X Y Z
(2. 3)
M
Z
M 1
(2. 4)
Ejemplo 2.5
Para la prctica de calibracin de
las cmaras se ha empleado una
cuadrcula tipo de ajedrez. Los lados
son de 27 mm y se ha puesto la rejilla a
1 metro de distancia respecto a la
cmara. Se ha empleado una cmara
de pxel cuadrado de 5.6m. Las aristas
de las caras se ven en 15 pxeles. Cul
debe ser la distancia focal de la ptica?.
Qu rea se visualiza, si la cmara
est constituida por 357x293 pxeles?.
Utilcese el modelo pin-hole.
15 5.6 10 6
f
1 3.1mm
27 10 3
x y 357 5.6 10 6 x 293 5.6 10 6
S X Y 2
0.341m 2
2
3
M
3.1 10
52
Ejemplo 2.6
Qu tipo de espejo se requiere para iluminar una pared situada a 3 m
del foco luminoso, sabiendo que la separacin entre la fuente y el espejo es de
10 cm? Cul es la proyeccin del foco de 5 mm sobre la pared?
El tipo de espejo debe de ser divergente, esto es, su curvatura es cncava y
tendr un radio de curvatura de:
1 1
2
3 0.1 R
R 19.4cm
0.1
3
x
5 10 3 30 150mm
M
Ejemplo 2.7
Un pequeo objeto se encuentra a 4 cm de un espejo cncavo de radio
12cm. Calcular la posicin y aumento de la imagen ntida.
1
1
1
0.04 z 0.06
z 0.12m
0.12
3
0.04
Ejemplo 2.8
Un objeto es proyectado por una esfera de vidrio hueca de radio R,
10cm, a una distancia respecto de la superficie de 3R, A que distancia
respecto del centro de la esfera se obtendr la imagen ntida y cuanto ha sido
amplificada?
La imagen invertida dentro de la esfera, al pasar por la zona convexa valdr:
1 1 2
3R z R
3R
6cm
5
Esta imagen al ser pasada por la zona cncava ser amplificada y la imagen
ntida respecto del centro de la esfera ser:
1
1
2
Z ' 7R 5 R
Z'
7R
7.78cm d 17.78cm
9
53
Carlos Platero
3R / 5 7 R / 5 9
3R 7 R / 9 25
54
sea variable, posibilitando de esta manera una graduacin del tamao efectivo de la
lente.
Para una lente con una distancia
focal fija, el efecto ms inmediato de la
variacin de la abertura del diafragma se
refleja en la cantidad de luz que incide
sobre el plano sensor. Esta cantidad de luz
es proporcional al rea efectiva de la lente.
Si se denomina con D el dimetro de la
abertura efectiva, la energa incidente de
los rayos ser proporcional a D2. Pero la
luminosidad en el plano imagen no
depende slo de la cantidad de luz que Figura 2. 28. Abertura de la lente dependiendo del
nmero F
atraviesa la lente, sino tambin de la
distancia entre la lente y el plano sensor, la cual es inversamente proporcional al
cuadrado de su distancia focal2. Segn estos razonamientos, la luminosidad de una
lente, que expresa el flujo de luz en la superficie del rea sensible, es proporcional a
D2/f2. Para cuantificar la luminosidad de una imagen se emplea el nmero F de una lente
que se define como F=f/D. Por tanto, una disminucin del nmero F en un valor de 2
equivale a un aumento del doble de la potencia luminosa.
2.3.6 Profundidad de campo
Para que un objeto situado a una distancia L produzca una imagen ntida es
necesario que la lente se encuentre situada a una determinada distancia del plano sensor.
Esta distancia depende de la distancia L del objeto y de la distancia focal de la lente, f.
Cualquier objeto, situado delante o detrs del enfocado, dar lugar a que los
rayos provenientes de un punto de ste no focalicen en el plano de la zona sensible. En
el sensor quedar proyectado como una mancha, denominado crculo de confusin.
Si el dimetro del crculo de
confusin es menor que la mitad de la
resolucin del sistema de adquisicin de la
imagen, dicho sistema ve tambin como un
solo punto de imagen. Por el contrario, si
el circulo de confusin generado por un
punto fuera del foco es mayor que el valor
mencionado, dicho punto aparecer como
borroso o desenfocado. A este valor crtico
D2
I
I dr I 4 2 2
f
55
Carlos Platero
d d1 d 2
F L2
F L2
f 2 F L f 2 F L
(2. 5)
56
57
Carlos Platero
xd 1 k1 r 2 k 2 r 4 xu
2
2
2
r x d y d
2
4
y d 1 k1 r k 2 r yu
(2. 6)
Donde (xd,yd) son las coordenadas del pxel distorsionado y (xu,yu) del pxel sin
distorsin. El grado de distorsin viene dado por los valores de ki. En la figura de abajo
se muestra los modelos de distorsin tanto radial como tangencial, as como la
combinacin de ambos efectos, procedentes de la cmara empleada en las prcticas de
la asignatura.
59
Carlos Platero
PSF
0.2
1
0.8
0.15
0.6
0.1
0.4
0.05
0.2
0
40
15
40
15
10
10
5
20
20
5
0 0
0 0
60
61
Carlos Platero
2.4
Sensores de vdeo
62
63
Carlos Platero
d Lr S aparente d r
nlente Lr AS
A0
At I
R12
(2. 7)
A0
A OtI
R12
(2. 8)
Apixel
Asen sor
(2. 9)
As
Asen sor
R12
R22
(2. 10)
R1 R2 f
(2. 11)
n pixel Lr
A0 Apixel
f
1 M
A OtI
(2. 12)
n pixel
Lr Apixel
4 F 2 1 M 2
A OtI
(2. 13)
64
n pe Rr n pixel d
1
Lr Apixel
n pe Rr
F 2M 2
A O t I d
(2. 14)
siendo Rr() la sensibilidad del pxel ante esta longitud de onda. Como se
observa, la conversin de la radiacin a seal elctrica es slo funcin de la luminancia.
No discrimina el color. Para adquirir el color se necesitar que la integracin se extienda
slo en una franja del espectro determinada. Se suele emplear la teora del triestmulo,
separando la radiacin en tres zonas espectrales, las correspondientes al modelo RGB.
Por otro lado, la conversin de fotones a carga elctrica no es un proceso determinista
sino probabilstico, debido al carcter cuntico del fenmeno fotoelctrico.
Una vez obtenida la cuantificacin de la radiacin incidente hay que transmitirla.
Esta operacin depende de la arquitectura de la cmara y de la tecnologa a emplear.
Bsicamente se hace a travs de los vecinos de forma secuencial, de modo similar a
cmo se comporta un registro de
V1
Puerta
desplazamiento. El mecanismo se basa en
V2
aplicar unas seales de reloj sobre los
Pixel
Pixel
electrodos de cada pxel. Al aplicar un
potencial positivo en el vecino de un pxel,
T1
cuyo pozo de electrones libres es
Carga
proporcional a luz recibida, estos se
T2
desplazarn a la ubicacin del vecino,
transfirindose la carga y produciendo un
T3
registro de desplazamiento analgico. Este
T4
tipo de transferencia se conoce como
CCD. En la figura se observa un CCD con
dos seales de desfase, V1 y V2, que son
utilizadas para transferir cargas desde los
fotosensores al registro de lectura Figura 2. 42. Transferencia de cargas CCD
mediante el efecto CCD.
2.4.4 Arquitectura de las cmaras
Segn la disposicin de los pxeles, las imgenes pueden ser:
65
Carlos Platero
detectores
Registro de desplazamiento
a)
Registro de desplazamiento
detectores
Registro de desplazamiento
2.4.4.1.1
b)
66
T2
T1
T3
T4
Cmara TDI
Elementos TDI
Movimientos de la banda
Lneas de inspeccin
67
Carlos Platero
Factor de relleno
68
Segn este tipo de estructura el chip de silicio se divide en dos reas. En la mitad
superior del dispositivo aparece la seccin donde va a incidir la luminosidad de la
imagen que se desea captar en un momento determinado, mientras que en la mitad
inferior, se encuentra el rea de almacenamiento de cargas y el registro de salida. Esta
mitad inferior, evidentemente estar recubierta por una placa opaca de forma que la luz
no pueda alcanzarla y as no
Registro de
contamine la informacin
Fotodiodos
Fotodiodos
desplazamiento vertical
recogida por el rea de la
zona superior.
Transferencia
interlnea - Los CCD que
incorporan esta tecnologa
son los ms comunes y
utilizan
registros
de
Registro serie de lectura
desplazamiento
que
se
encuentran entre las lneas de
Matriz de almacenamiento
los pxeles y se encargan de
almacenar y transferir los
datos de la imagen. La
principal ventaja de este tipo
Registro serie de lectura
de CCD es la alta velocidad
de obturacin, pero no son
tan sensibles y precisas como Figura 2. 46 a) Transferencia interlinea b) Transferencia interlinea
cuadro
otros tipos de tecnologas.
Tienen un bajo nivel de factor de relleno y un rango dinmico ms bajo.
Este tipo de transferencia consiste en un array de fotodiodos separados por
registros de transferencia vertical que son cubiertos por una capa opaca de metal.
Despus de la integracin, las cargas generadas por los fotodiodos son transferidas al
registro vertical CCD en un tiempo de 1s, minimizando los efectos de contaminacin
lumnica. La principal ventaja de esta transferencia es la rapidez, por lo que no hay
necesidad de utilizar obturadores. La desventaja es que este tipo de salida implica una
menor zona activa del sensor. El rea efectiva puede estar por debajo del 20%. Aunque
este factor puede ser ampliado mediante el uso de microlentes.
Transferencia de cuadro interlnea- Este tipo de estructuras incorpora
caractersticas tanto de la transferencia interlinea como de cuadro completo. La parte
superior de la estructura es exactamente igual a una interlineal. Las cargas se mueven
horizontalmente desde los elementos fotosensores hacia los registros de
desplazamientos verticales durante el periodo de borrado vertical. Una vez las cargas
estn en el registro de desplazamiento vertical, en lugar de ser ledas fila a fila a la
frecuencia de lnea, son enviadas a un array de almacenamiento. Este array de
almacenamiento est, al igual que el registro de desplazamiento vertical, cubierto por
una mscara de aluminio opaca a la luz. Es desde este array de almacenamiento donde
las cargas pasan fila a fila al registro de salida. La diferencia es que en esta zona de
almacenamiento los paquetes de informacin no corren ningn peligro de ser
contaminados por excesos de carga que hayan penetrado en el registro de
desplazamiento vertical, ya que en ste permanecen durante un perodo de tiempo muy
69
Carlos Platero
Las seales de vdeo fueron estandarizadas antes de que existiesen las cmaras
de estado slido. Los formatos de vdeo definen la frecuencia de la seal de video, el
nmero de lneas por cuadro y el nmero de cuadros por segundo. Muchas de las
cmaras de estado slido siguen estos
Impar
estndares, haciendo que la salida de la
Par
informacin sea de tipo entrelazado,
a
como son las mayoras de las seales de
} a+b
b
} b+c
televisin analgica. De esta forma, en
c
c+d
}
d
los CCD con estructura de transferencia
}
de campo, los mismos elementos
fotosensores son utilizados en los
campos pares e impares. En las
}
estructuras de transferencia interlinea y
de transferencia de cuadro, no es as,
sino que se utilizan pxeles separados
para cada campo, con el inherente Figura 2. 47 Entrelazado a) Campo b) Cuadro
aumento de resolucin vertical. Existen
dos posibles modos de lecturas de las cargas: Integracin de cuadro e integracin de
campo.
}}
}}
70
Cmaras progresivas
Transferencia entrelazada
V1 V2 V3 V4
Transferencia progresiva
Mientras que las cmaras CCD presentan una conversin de fotones a cargas
elctricas y stas son desplazadas segn los distintos tipos de transferencias analizados;
en las cmaras CMOS, cada pxel se transforman directamente de fotones a seal
elctrica y estos pulsos elctricos son los desplazados para ser transmitidos.
Las cmaras CCD tienen una mejor calidad de las imgenes y flexibilidad a
expensas de un mayor tamao. Sus aplicaciones son en fotografa digital, aplicaciones
industriales de altas prestaciones, aplicaciones cientficas y mdicas. Mientras las
cmaras CMOS tiene una integracin mayor, menor consumo y tamao ms reducido, a
expensas de una menor calidad de imagen y menor flexibilidad. Para grandes
volmenes con pocos requerimientos de calidad es la opcin tecnolgica. Sus
71
Carlos Platero
2.4.5.1.6
Cmaras en color
72
ptica y se divide en tres direcciones al llegar al prisma. En cada una de los tres
extremos del prisma se encuentra un filtro de color (rojo, verde y azul) y un sensor que
captura la luz de cada color que viene del exterior. Internamente la cmara combina los
colores y genera una seal RGB similar a la que ve el ojo humano. La fidelidad de las
imgenes de las cmaras de 3CCD es muy superior a las de las cmaras de 1 CCD, pero
hay un par de inconvenientes inherentes al sistema. Por una parte, este tipo de cmaras
requieren ms luz debido a que el prisma hace que sea menor la cantidad de iluminacin
que incide sobre los sensores y por otra, se genera un efecto de aberracin cromtica
debida a la propia estructura del prisma. Este efecto puede ser subsanado colocando las
pticas diseadas especficamente para este tipo de cmaras.
2.4.6 Eleccin de una cmara
Muchos son los aspectos que puedan influir en la eleccin de una cmara u otra.
Sin embargo, algunas consideraciones deben de tenerse en cuenta para no arrepentirse
de la compra o para no gastarse ms dinero en el proyecto del que realmente hace falta.
Normalmente, la eleccin de la cmara va ntimamente unida a la de la ptica.
Las caractersticas tcnicas son las ms importantes y las que siempre se tendr
presente a la hora de adquirir una cmara. A continuacin se enumeran algunas de ellas.
2.4.6.1 Formato de Vdeo
Este tema ser tratado con mayor profundidad en el siguiente apartado. El
formato de la seal es importantsimo ya que tanto las cmaras como las digitalizadoras
y, a veces, los monitores deben ser del mismo formato. El formato cambia de un pas a
otro. En Europa se tiene el sistema PAL o CCIR que ser siempre al que se haga
referencia. En los pases francfonos se emplea el sistema SECAM y en el continente
Americano y en Japn el sistema NTSC. Otro tipo de cmaras que no sigue ninguno de
estos formatos son las llamadas cmaras digitales que envan la informacin al
ordenador en seales digitales codificadas segn el formato de cada fabricante, aunque
se est extendiendo los protocolos IEEE 1394, USB 2.0 o GigaEthernet. Si se adquiere
una cmara de este tipo hay que tener en cuenta las ventajes e inconvenientes de video
digital respecto al analgico (anchos de banda, mezcla de video procedente de varias
cmaras, ).
2.4.6.2 Resolucin
Una imagen en el sistema CCIR est formada por 576 filas y 768 columnas, sin
embargo, el tamao del rea sensora puede ser mayor o menor. Como norma, cuantos
ms pxeles disponga el sensor mayor ser la calidad de la imagen. Otro factor a tener
en cuenta en la resolucin, es el nmero de bits con que se digitaliza el pxel. Lo normal
en las cmaras digitales es emplear 8 bits, aunque existen cmaras de hasta 16 bits por
pxel.
73
Carlos Platero
74
2.5
Seal de vdeo
RS-170
30
2:1
60
525
480
15.750
52,5 s
752
4:3
360.960
CCIR
25
2:1
50
625
576
15.625
52 s
744
4:3
428.544
75
Carlos Platero
tiempo que cuadro completo, dando la impresin de continuidad, a pesar del hecho que
slo la mitad de la informacin est siendo actualizada en cada ciclo.
Aunque los sistemas no entrelazados son comunes para los monitores de
ordenadores, el entrelazar campo par e impar es una caracterstica comn a todos los
sistemas de televisin. El campo par contiene todas las lneas pares, comenzando con
media lnea y terminando con una completa. El campo impar contiene las lneas impares
comenzando con una lnea completa y terminando con la mitad de una lnea. Los dos
campos puestos juntos constituyen un cuadro completo.
La frecuencia de cuadro y de campo son las constantes fundamentales en los dos
estndares de vdeo. Como se puede ver en la tabla, el formato RS-170 tiene una
frecuencia de cuadro ms alta, pero las frecuencias de lneas de los dos estndares son
aproximadamente las mismas. En ambos casos, el nmero final de lneas efectivas se ve
reducido por el tiempo de borrado de campo, el cual se usa en los monitores de TV para
que el pincel electrnico vuelva al principio. Adems, en el borrado de campo se envan
seales para sincronizar los osciladores de barrido vertical y horizontal, as como
informacin adicional (teletexto).
Un esquema completo de la
seal de TV de un cuadro completo
puede ser estudiado en la figura. En
ella se incluyen las seales de
sincronismos
empleadas
para
especificar el comienzo de un
campo (sincronismo vertical o
Vsync) y el comienzo de una lnea
(sincronismo horizontal o Hsync).
Si las seales de sincronismo estn
combinadas con la seal de vdeo, Figura 2. 53. Sincronismo vertical
la resultante es denominada seal
de vdeo compuesto (composite video). Una seal que contenga Vsync y Hsync se
denomina seal de sincronismo compuesto (composite sync). En CCIR habr 625
pulsos de sincronismo horizontal por cuadro y 50 pulsos de sincronismo vertical por
segundo.
En la figura se muestra un
diagrama de la seal de una nica
lnea con el sincronismo horizontal y
los niveles de voltaje. El flanco de
bajada del pulso de sincronismo es el
comienzo de una nueva lnea del
campo y el nivel de borrado (blanking
level) indica con cero voltios lo que Figura 2. 54 Sincronismo de lnea
sera negro en la imagen. El mximo
nivel de blanco es equivalente a 0,7 voltios, mientras que el nivel de sincronismo est
fijado a -0,3 V.
76
77
Carlos Platero
Con respecto a la distancia, USB fue diseada como una extensin del bus del
ordenador personal, con la idea de que los perifricos estuviesen prximos, de forma
que cada cable no midiese ms de 5 metros. Otras interfaces, entre las que se incluyen la
RS-232, la RS-485, la IEEE-1394b, y Ethernet permiten el uso de cables de longitud
mayor. Si bien, la longitud de un vnculo USB se puede aumentar hasta los 30 metros
usando cables que unan 5 hubs y un dispositivo.
2.5.2.2 IEEE-1394 (Firewire)
La tecnologa FireWire (llamada as por su alta velocidad) la desarroll Apple
en 1986 y surgi de la necesidad de tener una conexin entre vdeocmaras digitales y
los ordenadores personales, de bajo coste y orientada al consumidor. Es uno de los
estndares de perifricos ms rpidos desarrollados hasta el momento y resulta
adecuado para el uso de perifricos multimedia.
En 1995, IEEE la adopt como estndar bajo el nombre de IEEE 1394. Desde
entonces se han desarrollado nuevas versiones que han aadido nuevas posibilidades y
caractersticas. Sony es una de las compaas que ha adoptado este estndar
desarrollando su propia versin conocida como i.Link que se puede encontrar en
muchos de sus ordenadores y videocmaras digitales.
2.5.2.3 Ethernet
Ethernet fue desarrollado a principios de los 70 y estandarizndose en los 80
bajo la tutela del comit IEEE 802. Fue diseado como un sistema de broadcast, de tal
manera que todos los elementos conectados a la red pudieran enviar mensajes cuando
quisieran y a quin quisieran, siendo recibidos los mensajes por todos los equipos de la
red, pero atendindolos slo el destinatario.
De la palabra Ethernet, Ether hace alusin al hecho de que el sistema no est
restringido por el medio fsico que utiliza para establecer la comunicacin, ya sea cables
de cobre, de fibra ptica o por ondas de radio. Existen varias versiones de Ethernet que
se diferencian en el tipo de cable empleado y ha habido una evolucin en las
velocidades:
1. Fast Ethernet: tambin conocida como 100Base-T o IEEE 802.3u, emplea el
mecanismo CSMA/CD como Ethernet pero tiene una tasa de transferencia mayor, de
100Mbps.
2. Ethernet Gigabit: es compatible tanto con Ethernet como Fast Ethernet, pero
su tasa de transferencia es mayor, 1000Mbps.
2.5.2.4 Comparacin de los distintos sistemas
En general, la IEEE-1394 puede ser ms rpida y flexible que USB, pero su
ejecucin/aplicacin es ms cara. Con USB, una nica tarjeta controla las
comunicaciones con varios dispositivos. El ordenador se encarga de las tareas ms
complejas, de forma que los dispositivos pueden ser relativamente simples y baratos.
78
2.6
Tarjetas digitalizadoras
79
Carlos Platero
80
2.7
81
Carlos Platero
xi
x
wi
fi
z wi
yi
y
wi
fi
z wi
(2. 15)
d'y d y
nsy
n py k x
(2. 16)
donde nsy es el nmero de elementos sensores columna que hay en una cmara y
npy es el nmero de pxeles de la imagen digitalizada.
Del planteamiento presentado se deduce que la relacin existente entre el punto
proyectado sobre la cmara y su valor en pxeles sobre la imagen digitalizada resulta
ser:
82
xi p xi c xi d x
yi Pyi c yi d y
(2. 17)
teniendo pxi e pyi que son las coordenadas en pxeles de la imagen sobre el punto
proyectado en la cmara Esta disposicin de los signos har eliminar el anteriormente
mencionado efecto inversor del modelo pin-hole. Insertando las expresiones de la ec.
2.17 en la ec. 2.15 y presentndolo en coordenadas homogneas y en notacin matricial
se tendr:
fi
p xi d x
p yi 0
1
0
0
fi
d y
0
c xi wi
z wi
c yi wi
z wi
1 1
(2. 18)
fi
p xi d x
p yi 0
1
0
fi
fi
d y
d y
0
c xi x wi
z wi
c yi wi
z wi
1 1
(2. 19)
donde es un escalar que mide el desplazamiento rotacional entre los dos ejes
principales; si es cero es que stos son perpendiculares.
2.8
83
Carlos Platero
84
2.9
Formatos grficos.
85
Carlos Platero
2.10 Cuestiones
86
1.
2.
3.
4.
Tcnicas de iluminacin.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
2.11 Problemas
Ejercicio 1
Una fuente luminosa puntual de 100 mW/sr se sita
en un escenario de 10m x 20m, en X e Y respectivamente,
tal cual se observa en la figura. Sabiendo que irradia por
igual en todas las direcciones. Calcular la iluminacin
mxima y mnima sobre el suelo.
La iluminacin mxima sobre el suelo se encontrar debajo del foco:
Emax
I
d min
100
mW / m2
9
EH ,min 0.068mW / m2
EV ,min 0.364mW / m2
Emin 0.37mW / m2
Ejercicio 2
Una luminaria se sita en el centro de
un escenario de 5m x 2m y a una altura de
3m. La intensidad luminosa es entregada por
el fabricante segn el diagrama polar
adjuntado. Calcular la iluminacin en los
puntos a), b) y c).
En el punto A, la intensidad es de 150 mW/sr
y el ngulo entre la normal de la superficie y el foco
es nula:
I cos 3
16.6mW / m 2
2
h
E H tg 0mW / m 2
E Ha
EVa
E a 16.6mW / m 2
87
Carlos Platero
E Hb
EVb
Eb 11.5mW / m 2
Ec 14mW / m 2
Ejercicio 3
Se tiene una cmara de vdeo a
calibrar. La ptica tiene una distancia
focal de 3mm y el tamao del pxel es de
5.6 m x 5.6 m. El nmero efectivo de
pxeles son 357(H) x 293(V). Cual es la
distancia mnima que podr ponerse una
rejilla de calibracin respecto de la
cmara, si sta se constituye por cuadros
blancos y negros de 27mm de lado y
segn se observa en la figura, hay 7x9
cuadrados?.
En la mnima distancia deber de entrar la rejilla completa. Se parte de la
hiptesis que los nueve cuadros deben de entrar en las 357 columnas, por tanto:
Z f
Y
9 27 103
3 103
0.364m
y
357 5.6 106
Habr que observar que en las filas entrar los siete cuadrados:
Z f
X
7 27 103
3 103
0.345m
x
293 5.6 106
Por tanto, se verifica que cuando la distancia es de 0.364 m entra por completo la
rejilla.
88
Ejercicio 4
Se emplea una cmara con una lente
de 3mm y un sensor CMOS que tiene un
pixel cuadrado de 5.6m x 5.6m. El nmero
efectivo de pxeles es 357 (H) x 293 (V). Se
ha colocado una plantilla de calibracin a 500
mm respecto al eje de referencia en la
cmara. Sabiendo que los lados del
cuadrado son de 27mm y que las
coordenadas XYZ del punto indicado en la
rejilla son (50,50,500). Determinar en qu
pxeles de la cmara se proyectan las cuatro
esquinas
del
cuadrado
seleccionado.
Considrese que no hay distorsin en la lente, el eje axial de la lente pasa por
el centro del elemento sensor y que los ejes de proyeccin son ortonormales.
El modelo pin-hole de la cmara quedar definido por:
fi
dx
pxi
p yi 0
1
0
0
fi
d y
0
xwi
xwi
cxi
zwi
zwi
0
146.5
535.71
y
ywi
c yi
0
535.71 178.5 wi
zwi
zwi
0
1
1
1
1
f 0.125
,
Z 2500
luego la
proyeccin de las dos marcas sobre el elemento sensor es: y M Y 0.0015 m , lo que da
una separacin en columnas de 150 pxeles. La coordenada del pixel de la derecha es
(250,650).
89
Carlos Platero
90
Procesamiento
imgenes
digital
de
Una vez preparada la escena para ser capturada por las cmaras de Visin
Artificial, se deber de tratar el aspecto tanto de la cuantificacin como de la
codificacin que sufre la seal de vdeo al ser introducida en el computador. Depositada
la informacin, como una matriz o conjunto de matrices de valores discretos se
proceder, tal cual se vio en las etapas de visin del captulo 1, a un procesado de la
imagen. Esta etapa, de bajo nivel, trata de obtener una nueva imagen que o bien mejore
su calidad o bien destaque algn atributo primario de los objetos capturados. En el
aspecto de la calidad tratar de corregir las posibles faltas de iluminacin, la eliminacin
del ruido o de aumentar el contraste en la imagen. Mientras en el realce, su objetivo es
destacar los bordes de los objetos, regularizar sus colores, acentuar sus texturas, etc.
Las tcnicas de procesamiento de las imgenes pueden ser clasificadas en dos
grandes ramas: a) las procedentes del procesamiento de seales y b) aquellas que son
de carcter heurstico y que nacieron para mejorar algn aspecto primario de la imagen.
En este captulo se abordar el proceso de muestreo y cuantificacin de la
imagen y luego se examinarn algunas tcnicas de procesado de imgenes procedentes
del procesamiento de seales.
91
Carlos Platero
256x256
128x128
64x64
32x32
92
Campo de visin
Superficie iluminada
cuasi uniforme
Focos luminoso
Ejemplo 3.1
Para la inspeccin de la pasta de papel se
ha conseguido, segn un modelo de simulacin,
una iluminacin uniforme a contraluz de 200 mm
x 275 mm (en una relacin prxima a los ) y el
defecto ms pequeo a detectar tiene un rea de
1 mm2. Con el objeto de reducir las aberraciones
pticas, se ha cerrado el diafragma con un
elevado nmero F. Con ello y tras el anlisis
radiomtrico se ha demostrado que si se emplea
una cmara WATEC 902 con una lente de 16
mm, la pasta de papel debe de estar alrededor de
los 700 mm en vertical. Determinar si es correcta la eleccin realizada.
Segn el fabricante de la cmara, sta tiene
para el estndar CCIR 582 filas por 752 columnas y
el tamao del pxel es 8.3m por 8.6m. Tomando
como propsito un entorno de 3x3 pxeles para el
defecto de 1mm2, el factor de magnificacin
ponderado ser:
M2
9 8.3 10 6 8.6 10 6
10 6
M 0.0253
582 8.3 10 3
752 8.6 10 3
190.6mm Y
255.2mm
M
M
f
632mm
M
93
Carlos Platero
aumentar la intensidad luminosa. Esta consecuencia puede ser relajada usando cmaras
TDI, siendo stas las ms utilizadas en inspeccin de superficies continuas en lnea.
Desde el punto de vista frecuencia, el teorema de Shanon afirma que la
frecuencia de muestreo debe ser al menos el doble que al ancho de banda de la seal a
muestrear. En una imagen capturada, sin cambios abruptos de intensidad, las
componentes de alta frecuencia de su transformada de Fourier tienden a ser nulas. Por el
contrario, si la imagen contiene muchos pequeos detalles y una gran cantidad de
bordes de los objetos
proyectados, el espectro de
alta frecuencia es de elevado
nivel. Considerando que la
imagen tiene un espectro de
ancho de banda limitado, W,
la frecuencia de muestreo
debe de ser al menos del
doble,
2W.
En
la
cuantificacin de la imagen,
la unidad de frecuencia
especial es un ciclo por pxel.
Por tanto, desde el punto de
vista del teorema, la mayor
frecuencia
espacial
representada es la de ciclo
por pxel. El armnico de
mayor frecuencia requiere de
dos pxeles; realizando una
transicin de blanco-negro.
Por esta razn, se deca
anteriormente que el detalle Figura 3. 3. Componentes de Fourier a) Armnico
fundamental, b) Componente de alta frecuencia
ms pequeo debera de tener
un entorno de 2x2. En la figura se ha representado el armnico fundamental junto con la
componente de mayor frecuencia, tanto en la frecuencia horizontal como en la vertical.
La segunda operacin es la cuantificacin de la seal. Consiste en representar el
valor de cada pxel con un conjunto finito de bits. Los niveles de cuantificacin suelen
ser potencias de 2 para facilitar su almacenamiento en el computador. El nmero de
niveles posibles define la resolucin radiomtrica. Cuando las imgenes solo tienen
informacin sobre la luminancia se habla de una imagen en niveles de grises. En este
caso, la cuantificacin del pxel es de tipo escalar. Si el escalar slo tiene dos valores, se
dice que la imagen es binaria. El valor del cero es negro y el uno es blanco.
En general, se suele emplear un byte de cuantificacin por pxel, consiguiendo
256 niveles de grises. El cero ser el color negro y el valor 255 corresponder con el
blanco. Entre el cero y el valor 255 estarn los diversos valores de grises. Para el caso
del color, la cuantificacin se vuelve vectorial; por cada pxel se representara una terna
de valores que haga reflejar la luminancia y crominancia en cada pxel. La terna
depender del sistema de representacin del color: RGB, L*a*b, HSI,... Comnmente,
se emplear el sistema RGB con 1 byte por cada color, de forma que se obtendr 16
94
De p, q
x s 2 y t 2
(3. 1)
95
Carlos Platero
El problema de esta mtrica est en el tiempo de clculo que requiere. Por dicha
razn tambin se suele emplearse, en imgenes digitales, la distancia rectangular o
Manhattan, definida como:
Dm p, q x s y t
(3. 2)
Dt p, q max x s , y t
(3. 3)
Para realizar una comparativa entre estas tres distancias, vanse en la figura
adjunta el lugar geomtrico de estas distancias en el entorno de vecindad de un pxel
centrado en la cuadrcula:
96
yk g k * xk xk * g k
yk
(3. 4)
k n
xn xk n g n
n
(3. 5)
g k ..., g 2 , g 1 , g 0 , g1 , g 2 ,...
(3. 6)
yk
1
1
1
xk xk 1 xk 2
4
2
4
97
Carlos Platero
K
0
1
2
xk
1
0
0
xk-1
0
1
0
xk-2
0
0
1
yk
0.25
0. 5
0.25
g k 1
2 1
1
4
y 0 x k n g n 0.25
n 0
7
...
Resolucin en MATLAB
g= [1;2;1]./4;
x=ones(10,1);
y=conv(x,g);
stem(y(1:10));
98
g
k 0
(3. 7)
m n
k m ,l n
g m,n
(3. 8)
m 1n 1
k m ,l n
(3. 9)
g 1, 1
g 0, 1
g
1, 1
g 1, 0
g 0, 0
g1,0
g 1,1
g 0,1
g1,1
x k 1,l 1
x k ,l 1
x
k 1,l 1
x k 1,l
x k ,l
x k 1,l
x k 1,l 1
x k ,l 1
x k 1,l 1
Para facilitar la interpretacin los subndices han sido referenciados en el centro de la matriz.
No debera interpretarse los coeficientes gij, con ndices negativos, representativos de filtros no causales.
Son ndices de las coordenadas espaciales.
99
Carlos Platero
Ejemplo 3.3
Determinar la imagen de salida cuando sta es procesada por un filtro
binomial de 3 x 3.
0
0 0
0 0
0
0
0 200 200 200 0 1 2 1
0 200 0 200 0 * 2 4 2 1 0
16
0 200 200 200 0 1 2 1
0
0 0
0
0
0 0
12.5 37.5
0
50
37.5 12.5
37.5
50
0
0
0
0
0
Resolucin en MATLAB
g= [1;2;1]./4;
mascara = conv2(g,g);
imagen = zeros(5,5);imagen(2:4,2:4)=200;imagen(3,3)=0;
imgSal = conv2(imagen,mascara)
100
Ejemplo 3.4
Determinar el resultado de la convolucin discreta 2D para el filtro FIR
binomial {1,2,1} y su traspuesta.
1 1 2 1
1 2 1 * 2 2 4 2
1 1 2 1
Resolucin en MATLAB
g= [1;2;1]./4;
conv2(g,g)
Una ayuda a la comprensin del efecto de la convolucin es dado por el
operador correlacin discreta 2D. Esta transformacin se define como:
y k ,l
m n
k m ,l n
g m,n
(3. 10)
101
Carlos Platero
ge
j n
2
T
T 1s
(3. 11)
Ejemplo 3.6
Determinar la respuesta en frecuencia de un sistema discreto cuya
secuencia de ponderacin es {1/4, 1/2, 1/4}.
Al aplicar (3. 11) sobre la secuencia de ponderacin dada:
2
G g n e jn
0
102
1 1 j 1 j 2
e e
4 2
4
0
/64
2/64
...
63/64
G()
1
0.99-j0.049
0.99-j0.097
...
-0.0006-j0.00003
arg G
1
0.999
0.997
...
0.0006
0
-2.81
-5.62
...
-178
Resolucin en MATLAB
[G,W] = freqz ([1/4,1/2,1/4], 1,128);
plot(W,abs(G));
plot(W,angle(G).*(180/pi));
Gk g n e
2 k
n
K
k 0,1,2,..., K 1
n 0
(3. 12)
1
gn
2
G e
j n
j
1 K 1
d Gk e
K k 0
2 k
n
K
n 0,1,2,..., N 1
(3. 13)
103
Carlos Platero
X k xn e
2 k
n
K
k 0,1,2,..., K 1
n 0
(3. 14)
xn
j
1 K 1
Xke
K k 0
2 k
n
K
n 0,1,2,..., N 1
(3. 15)
Y G X
(3. 16)
Esta relacin permite tratar a los filtros discretos de una manera similar con lo
que se proceda con los continuos; dando un procedimiento para determinar la secuencia
de salida a partir de la respuesta en frecuencia (ver figura 3.7). Conocida la respuesta en
frecuencia del filtro y la transformada discreta de la secuencia de entrada, se
determinar la transformada de la secuencia de salida y posteriormente se aplicar la
transformada inversa, obteniendo la secuencia de la salida.
Ejemplo 3.7
104
Gk
1 1 j K k 1 j K k
e
e
4 2
4
k 0,1,2,..., K 1
2
k
K
k 0,1,2,..., K 1
1 j k 1 j k 1 3 j k 3 j k 1 j k
Yk 1 e K e K e K e K e K e K
4
4
4
4 2
4 4
yk 1 , 3 , 3 , 1
4 4 4 4
Resolucin en MATLAB
Xw = fft( [1;1], 64);
Gw = fft( [1;2;1]./4, 64);
Yw = Xw .* Gw;
yk = ifft( Yw )
0.25
0.75
0.75
0.25
0
...
105
Carlos Platero
Gk ,l gm,n e
2 k
2 l
m j
n
K
L
(3. 17)
m0 n 0
Ejemplo 3.7
Determinar la respuesta frecuencia del filtro binomial 2D:
1 2 1
1
g m,n 2 4 2
16
1 2 1
Al aplicar la definicin sobre la mscara de convolucin dada:
Gk ,l
2 k
2 l
2
4
j
m j
m
j
l
j
l
1 2 2
K
L
L
L
g
e
e
2
e
m, n
16 0 0
2e
e
2
k
K
4
k
K
4e
2e
2
k
K
4
k
K
2
l
L
2
l
L
2e
2
k
K
4
k
K
4
l
L
4
l
L
Resolucin en MATLAB
V=fft2(conv2([1 2 1],[1 2 1]'),64,64);
surf(abs(V))
Respuesta en frecuencia de la mscara binomial
mdulo de la respuesta
20
15
10
0
80
60
80
60
40
40
20
l
20
0
El nivel de resolucin se vuelve tan enredoso que slo se puede realizar desde
los mtodos numricos. En la presentacin con Matlab obsrvese que se ha empleado
para K y L un valor en potencia de 2, como es el valor de 64. Los valores de K y L son
106
X k ,l xm,n e
2 m
k
K
2 n
l
L
k 0,1,2,..., K 1 l 0,1,2,..., L 1
m 0 n 0
(3. 18)
xm,n
j
1 K 1 L 1
X k ,l e
K L k 0 l 0
2 k
m
K
2 l
n
L
m 0,1,2,..., M 1 n 0,1,2,..., N 1
(3. 19)
107
Carlos Platero
Resolucin en MATLAB
V=zeros(64,64);V(1,1+2)=2000;V(1,64-2)=2000;
surf(V);title('Componente 2 en el eje k');
imshow(ifft2(V,64,64));
V=zeros(64,64);V(1,1+16)=2000;V(1,64-16)=2000;
surf(V);title('Componente 16 en el eje k');
imshow(ifft2(V,64,64));
Componente 2 en el eje k
2000
1800
1600
1400
1200
1000
800
600
400
200
0
70
60
70
50
60
40
50
30
40
30
20
20
10
10
0
Componente 16 en el eje k
2000
1500
1000
500
0
80
60
80
60
40
40
20
20
0
x 10
2
1.5
0.5
0
80
60
80
60
40
40
20
20
0
108
La transformada de Fourier muestra que una imagen puede ser construida por la
combinacin de armnicos de frecuencias verticales y horizontales.
3.4.2 Aplicaciones
De la interpretacin de la transformada de Fourier de las imgenes se deducen
aplicaciones inmediatas. Una primera sera la eliminacin del ruido de la imagen. Es
conocido que el espectro del ruido, normalmente, est en la alta frecuencia, por tanto, si
se elimina estas componentes se habr cancelado el ruido. La desventaja de este
proceder es que tambin eliminar los detalles finos de la imagen.
Resolucin en MATLAB
imagen=imnoise(imread('cameraman.tif'));imshow(imagen);
V=fft2(double(imagen)); V(128-120:128+120,128-120:128+120)=0;
imshow(uint8(ifft2((V))))
Otra aplicacin sera realzar los bordes de la imagen. Los contorno son
transiciones en la luminancia de alta frecuencia, la eliminacin de las componentes de
baja frecuencia permitir destacar los bordes.
109
Carlos Platero
Resolucin en MATLAB
imagen= imread('cameraman.tif');imshow(imagen);
V=fft2(double(imagen));
V(1:10,1:10)=0;V(256-9:256,1:10)=0;
V(256-9:256,1:10)=0;V(256-9:256,256-9:256)=0;
imshow(uint8(ifft2((V))))
Sin embargo, esta manera de procesar las imgenes no se emplea por el alto
coste computacional. Muchas de las tcnicas de procesamiento lineal usan la relacin
fundamental de los sistemas discretos. Se disea una mscara de convolucin cuya
respuesta en frecuencia corresponda a filtro paso bajo, paso banda o pasos altos,
eligiendo el espectro de la imagen de entrada que se pretende seleccionar. Debido a la
profundidad de estas tcnicas se abordarn en el prximo captulo.
3.5 Problemas
1. Cmo determinar el proceso de muestreo de una imagen?. Y el de
cuantificacin?.
2. El procesamiento lineal de las imgenes digitales.
3. Convolucin y correlacin 2D, conclusiones y aplicaciones.
0 1 0
1
4. Respuesta en frecuencia de la mscara de convolucin: 1 2 1
6
0 1 0
5. Relaciones entre el espectro de la imagen y el tipo de escena capturada.
110
Ejercicio 1
Dada la siguiente imagen, calcular para el pxel marcado el resultado de
la convolucin con las dos mscaras de Prewitt.
1
1
1 10 10 10
1 10 10 10
1 10 10 10
1 10 10 10
1 1 1
0 0 0
1 1 1
1 0 1
1 0 1
1 0 1
Ejercicio 2
Si se aplica la siguiente mscara de convolucin, gn 1 0 1 ,
como un vector fila a la imagen de la figura, Cul sera el resultados?Y si se
aplica como un vector columna?
0
0
0
0
0
0
0
0
0
0
0
0
0
-255
-255
-255
-255
0
0
0
0
0
0
-255
-255
-255
-255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
255
255
255
255
0
0
0
0
0
0
255
255
255
255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 -255 -255 -255 -255
0 -255 -255 -255 -255
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
111
Carlos Platero
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ejercicio 3
Demostrar que el filtro FIR, cuya secuencia de ponderacin es
1
gn 1 0 2 0 1 , corresponde a un filtro paso banda.
4
1
1 2e j 2 e j 4
4
150
0.9
0.8
100
0.7
50
0.6
0
0.5
-50
0.4
0.3
-100
0.2
-150
0.1
-200
0
0.5
1.5
2.5
3.5
0.5
1.5
2.5
3.5
Ejercicio 4
Las transformadas wavelets de Haar emplean las siguientes mscaras
de convolucin para implementar su nivel 1. Determinar sus respuestas
frecuencias y qu funcin realiza cada una.
H1
112
1
2
1 1
H2
1
2
1 1
|H ()|
|H ()|
1.5
0.5
0.5
0.5
1.5
2.5
3.5
0.5
[rad/s]
1.5
2.5
3.5
[rad/s]
Las mscaras corresponden con un filtro paso bajo y paso alto respectivamente.
Ejercicio 5
Para la imagen dada, I(x,y), obtener los coeficientes de su transformada
discreta de Fourier que no aparecen en F(I):
1
1
I
0
F (I )
1 1 1
1 1 1
0 0 0
0 0 0
0 0
0 0 0
0 0 0
0 0 0
F k , l I x, y e
x
2 k
2 l
x
y
4
4
Luego:
F 3,0 4 j 4
113
Carlos Platero
114
Tcnicas de preprocesado
115
Carlos Platero
pueden ser luego trasladadas a imgenes en color. Sin embargo, no se puede generalizar.
Las tcnicas de preprocesado sobre imgenes en color requieren un tratamiento
diferenciado.
116
hi
M N
(4. 1)
I 1
1 M N
f
x
,
y
i pi
M N x 1 y 1
i 0
(4. 2)
Donde f(x,y) retorna el nivel de gris del pxel situado en las coordenadas (x,y), I
es el nmero de grises que se ha empleado en el proceso de cuantificacin de la imagen.
Una imagen que presente un valor de brillo mayor que otra sobre la misma escena,
indica que el nivel de radiacin medio que ha llegado a la cmara es mayor en una
imagen que en la otra, bien porque se disminuy el nmero F de diafragma o debido a
que se vari el tiempo de integracin. Este efecto se observa en el histograma como un
desplazamiento neto hacia la derecha del eje de abscisa. A medida de que la imagen sea
ms clara, el histograma se mueve hacia valores ms altos de los niveles de grises. La
variacin del brillo se efecta con la operacin aritmtica de suma o resta a cada pxel
de una cantidad determinada.
Imagen de entrada
Imagen de entrada + 50
1000
1000
500
500
0
0
100
200
100
200
117
Carlos Platero
Contraste 2
1
M N
1
M N
f x, y
x 1 y 1
I 1
I 1
i 0
i 0
2
2
i hi i pi
(4. 3)
Energa pi
i 0
(4. 4)
Entropa p i log p i
i 0
i | p i 0
(4. 5)
i' T i
(4. 6)
118
i a
iout 0
in min
I 1 0 amax amin
iout
I 1
iin amin
amax amin
(4. 7)
Histograma original
255
iin
88
Transformacin
250
1600
Histograma modificado
1600
1400
200
1400
1200
1200
1000
150
1000
800
800
600
100
600
400
400
50
200
200
50
100
150
200
250
50
100
150
200
250
100 200
Figura 4. 2 Imagen de resonancia magntica y con aumento del contraste a) 2=33 b) 2=96
119
Carlos Platero
Resolucin Matlab
imagen=imread(mri.tif`);
imhist(imagen);
max(max(imagen))
imagen_sal=imadjust(imagen);
imhist(imagen_sal);
imshow([imagen,imagen_sal]);
std2(imagen),std2(imagen_sal)
Evidentemente, las transformaciones no necesariamente deben ser lineales. Por
ejemplo, las siguientes operaciones consiguen el negativo de la imagen de entrada y
variaciones diferentes del contraste:
T1 i I i T2 i
i2
I
T3 i I i T4 i i
(4. 8)
F r pi
i 0
I 1
F I 1 pi 1
(4. 9)
i 0
F r ' p(i) r 1
i 0
1
I
(4. 10)
r 1 1 F r
I
r F r I 1
(4. 11)
121
Carlos Platero
Imagen de entrada
Imagen ecualizada
Histograma de entrada
Histograma ecualizado
1000
800
600
500
400
200
0
0
0
100
200
100
200
Resolucin Matlabs
>>imagen=imread(tire.tif`);
>>imhist(imagen);
>>imagen_sal=histeq (imagen);
>>imhist(imagen_sal);
Ejemplo 4.2
Se tiene esta subimagen:
5
8
4
2
1
1
0
4
4
1
5
4
6
0
5
0
5
5
1
4
1
3
5
2
1
5
5
4
0
3
3
1
4
5
1
6
5
3
5
0
1
3
2
6
2
3
1
3
3
5
0
0
2
2
1
2
0
6
2
5
2
4
0
3
2
2
1
8
1
6
4
6
0
3
4
5
1
2
0
1
2
1
3
8
5
4
4
2
6
1
6
3
8
2
7
1
5
1
5
4
Calcular:
122
1. Histograma
2. Brillo, contraste, energa y entropa
3. Ecualizacin del histograma.
Nivel de gris
Ocurrencias
11
19
15
12
13
17
Probabilidad
0.11
0.19
0.15
0.12
0.13
0.17
0.08
0.01
0.04
Nivel de gris
de salida
(-0.01)
(1.7)
(3)
(4.13)
(5.3)
(6.83)
(7.55)
(7.64)
(8)
12
67
78
78
11
19
15
12
13
17
13
13
13
Histograma
ecualizado
4.1.3
Las componentes de alta frecuencia estn relacionadas con los bordes de los
objetos y con los pequeos detalles de la imagen. El aumento del contraste puede estar
basado en una combinacin lineal entre la imagen original y el resultado de un filtro
paso alto. La imagen salida ser:
Imagen Salida = A*(Imagen) - (Paso bajo de la Imagen)
= (A-1) *(Imagen) +(Imagen) -(Paso bajo de la Imagen)
= (A-1) *(Imagen) + (Paso alto de la Imagen)
123
Carlos Platero
0 0 0 0 1 0
0 1 0 1 4 1
0 0 0 0 1 0
(4. 12)
Resolucin Matlab
>>imagen=imread(cameraman.tif`);
>>H=fspecial(unsharp,0)
>>imagen_sal=imfilter (imagen, H);
>>imshow([imagen,imagen_sal]);
124
textura de los cuerpos vistos en la escena. A esta categora de ruido se le relaciona con
los filtros homomrficos.
Imagen original
g x, y f x, y r x, y
(4. 13)
Se define ruido blanco a una variable aleatoria con funcin de densidad normal, de media cero
y varianza determina, N(0,2).
125
Carlos Platero
n n
i 1
E g x, y lim
(4. 14)
N 0,
n
(4. 15)
126
f x, y
M /2
N /2
1
f x i, y j
M N i M / 2 j N / 2
(4. 16)
1 1 1
1
1 1 1
9
1 1 1
(4. 17)
h2nD hxn * h yn
(4. 18)
2
2D
1
1 2 1
1
1 1
h * h 1 2 1 * 2 2 4 2
4
4 16
1
1 2 1
2
x
2
y
(4. 19)
127
Carlos Platero
h x, y e
y2
2 2
(4. 20)
(4. 21)
c 2 2 2
(4. 22)
c 2
2
2 w3
4
1
1
0.1353
0.1353
1.6154
0.0000
0.0002
0.0029
0.0131
0.0215
0.0131
0.0029
0.0002
0.0000
0.0000
0.0000
0.0002
0.0011
0.0018
0.0011
0.0002
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0001
0.0000
0.0000
0.0000
0.0000
129
Carlos Platero
Imagen de entrada
Filtro promediado
Filtro binomial
Filtro gaussiano
Resolucin Matlab
h1=fspecial('average')
h2=conv2([1 2 1],[1 2 1]')/16
h3=fspecial('gaussian')
imagen= imnoise(imread('cameraman.tif'));imshow(imagen);
imagen1=imfilter(imagen,h1);imshow(imagen1);
imagen2=imfilter(imagen,h2);imshow(imagen2);
imagen3=imfilter(imagen,h3);imshow(imagen3);
Al igual que los filtros binomiales, los gaussianos bidimensionales tambin se
construyen mediante la convolucin discreta de un filtro gaussiano unidimensional con
l mismo y su traspuesta. Esta propiedad es utilizada para disminuir el coste
computacional.
4.2.4 Filtros basados en la mediana
Con el procesamiento lineal, empleando tcnicas de filtrado paso bajo, se ha
observado que al eliminar el ruido se han desdibujado los bordes y cancelado los
pequeos detalles. Este efecto secundario suele ser reducido empleando el filtrado
basado en la mediana del entorno de vecindad. Esta tcnica de procesamiento es no
lineal, con lo cual no se aplica mediante mscara de convolucin. Su actuacin se basa
en elegir el valor de la mediana en el entorno de vecindad. Se define la mediana como el
valor intermedio de la ordenacin de los pxeles vecinos en funcin de su intensidad. Si
los vecinos son 2M+1 pxeles, la mediana estar por encima de los M primeros valores
130
y por debajo de los M ltimos. Por ejemplo, en un entorno de 3x3, la mediana ocupar
la quinta posicin:
89 87 14
92 75 56
99 78 90
89 87 14 92 75 56 99 78 90 14 56 75 78 87 89 90 92 99
En este ejemplo, la mediana ser el nivel 87. En consecuencia, si el ruido tiene
un valor atpico en el entorno quedar colocado en los extremos de la ordenacin. Vase
cmo el nivel 14 queda desplazado. La mediana se presenta como una buena tcnica
para el suavizado en general y en particular para la cancelacin de ruido impulsional. El
mayor inconveniente es su alto coste computacional. Cuando la aplicacin de Visin
tiene restricciones de tiempo suele ser prohibitivo el uso de la mediana, optando por el
filtrado lineal.
Otro efecto adverso de la mediana es el desplazamiento de los bordes de la
imagen. Si se desea precisin subpixel en la imagen, no es aconsejable esta tcnica.
Comparacin entre filtrado gaussiano y mediana con el ruido impulsional
Resolucin Matlab
h=fspecial('gaussian')
imagen= imnoise(imread('circuit.tif'),'salt & pepper');imshow(imagen);
imagen1=imfilter(imagen,h);imshow(imagen1);
imagen2=medfilt2(imagen);imshow(imagen2);
4.2.5 Filtros homomrficos
El caso de iluminacin no uniforme en la escena capturada es un ejemplo de
ruido multiplicativo. La formacin de la imagen depende bsicamente de la iluminacin
sobre los objetos y del tipo de superficie de stos. La intensidad en la imagen puede ser
modelada por la multiplicacin entre la causa derivada de la iluminacin y la causa
proveniente del tipo de superficie:
131
Carlos Platero
f x, y ix, y ox, y
(4. 23)
f(x,y) ser la intensidad del pxel, i(x,y) ser el efecto de la iluminacin y o(x,y)
corresponder a la funcin de reflectancia de la escena. Si se convolucionase la imagen
con cualquier filtro, procesara indistintamente a ambas componentes de iluminacin y
reflectancia. La forma de proceder es aplicar un sistema homomrfico capaz de separar
los efectos y procesar por separado. Los sistemas homomrficos son operaciones de
aplicar una funcin, procesar y aplicar su inversa. Por ejemplo, la funcin logartmica y
su inversa la exponencial.
Para el caso que ocupa, la forma de separar los efectos es mediante la funcin
logartmica. Al aplicarla es posible obtener la respuesta frecuencial por separado de las
componentes de iluminacin y reflectancia:
Otro
experimento
psicofisiolgico es la capacidad de
interpretar la imagen con slo
apreciar los bordes de la escena. En la
figura adjunta se presenta la imagen
con slo los bordes. Es fcil de
interpretar que es una escena de
bodegn.
Estos aspectos son aplicados
y emulados en la Visin Artificial. Figura 4. 11. Imagen de contornos
La deteccin automtica de bordes es
una tarea esencial en muchas aplicaciones de interpretacin de las imgenes. Suele ser
una etapa muy empleada para las tareas de segmentacin o para la bsqueda de objetos
geomtricos ms complejos como lneas, elipses, esquinas, etc.
Se entiende como borde aquella regin donde aparece una fuerte variacin del
nivel de intensidad en los pxeles adyacentes. Su causa principal es originada por la
interseccin de varios objetos, con diferentes niveles de reflactancia, que al ser
proyectados sobre la cmara generan discontinuidades de intensidad en los pxeles
correspondidos. Sin embargo, estas discontinuidades tambin aparecen de forma no
deseada por la presencia del ruido, por el efecto de sombras sobre los propios objetos o
por una iluminacin no uniforme dentro la escena.
El fundamento para la deteccin de los bordes est en la aplicacin del operador
derivada en un entorno de vecindad. Si se construye una imagen sinttica con franjas de
alto contraste y se adquiere una fila de la imagen, se observar una fuerte variacin de la
intensidad en el entorno de los
bordes de las franjas. Al aplicar el
Lnea 16
operador derivada, se observa que
sta toma un valor de mximo o
mnimo justamente cuando en la
transicin se pasa de cncavo a
convexo o viceversa, esto es, en el
punto de inflexin del borde. Si en
vez de emplear la primera derivada
se realiza con la segunda, el punto
de inflexin de la primera deriva
coincidir con un paso por cero
(zero-crossing).
Ambos
razonamientos son empleados para
la deteccin de los bordes. Cuando
se aplica el operador gradiente en Figura 4. 12. Bordes ideales
la imagen se localizar valores que
133
Carlos Platero
Perfil de la lnea 15
150
100
La presencia de ruido
en la imagen, la cual
produce
variaciones
locales de intensidad,
produce falsos bordes al
aplicar los operadores
derivadas. Por esta
razn, la deteccin de
bordes est unida a
etapas de eliminacin
del ruido.
50
10
15
20
25
30
35
30
35
30
35
10
15
20
25
10
15
20
25
f x, y f x, y f x, y
f x, y
x y
f x, y
f x, y f xx, y
f x, y arctan
y
f x, y
(4. 25)
Imagen sinttica
16
14
12
10
8
6
4
2
5
10
15
20
f x, y T
f x, y T
(4. 26)
f x, y
f x, y f x, y
x
y
(4. 27)
135
Carlos Platero
derivadas por las diferencias, stas suelen emplear el truncamiento del desarrollo de
Taylor obteniendo las diferencias progresivas y regresivas:
f x, y f x x, y f x, y
x
x
f x, y f x, y y f x, y
y
y
f x, y f x, y f x x, y
x
x
f x, y f x, y f x, y y
y
y
(4. 28)
f x, y f x x, y f x x, y
x
2x
f x, y f x, y y f x, y y
(4. 29)
y
2y
f 1, 1
f 0, 1
f
1, 1
f 1,0
f 0,0
f1,0
f 1,1
x
f 0,1
f
f1,1
y
1, 1
0,0
1,1
0,0
(4. 30)
1 1 1
0 0 0
1 1 1
1 0 1
1 0 1
1 0 1
(4. 31)
El operador derivada resulta ser muy sensible con el ruido, ya que su respuesta
frecuencial tiende a su amplificacin. Para reducir el realce del ruido se propone una
mscara que sea la convolucin entre el operador derivada con un filtro binomial,
obtenindose las mscaras de Sobel:
136
1 2 1
1 0 0 0
S DT * B 1 0 1 * 2 1 2 1
1
1 0 1
2 0 2
1 0 1
(4. 32)
Mientras que Prewitt detecta mejor los bordes verticales u horizontales, Sobel
mejora su localizacin en los bordes diagonales. El operador isotrpico o de Frei-Chen
intenta llegar a un compromiso entre ambos:
1
2
0
0
1 2
1 0 1
2 0 2
1 0 1
(4. 33)
Resolucin Matlab
>>imagen= imread('cameraman.tif');imshow(imagen);
>>imagen1=imfilter(imagen,fspecial(prewitt));imshow(imagen1);
>>imagen2= imfilter (imagen, fspecial(sobel);imshow(imagen2);
4.3.2 Operadores basados en la laplaciana
En la deteccin de bordes con el operador laplaciano sern aquellos pxeles que
sean paso por cero. El operador laplaciano se define en el dominio continuo como:
137
Carlos Platero
2 f x, y
2 f x, y 2 f x, y
x 2
y 2
(4. 34)
2 f x, y f x 1, y 2 f x, y f x 1, y
0 1 0
x 2
x 2
1 4 1
2
f x, y f x, y 1 2 f x, y f x, y 1
0 1 0
y 2
y 2
(4. 35)
1 1 1
1 8 1
1 1 1
(4. 36)
138
Resolucin Matlab
>>imagen= imread('cameraman.tif');imshow(imagen);
>>imagen1=imfilter(imagen,fspecial(sobel));imshow(imagen1);
>>imagen2= imfilter (imagen, fspecial(log);imshow(imagen2);
El mayor inconveniente del operador laplaciano es su sensibilidad al ruido. Para
disminuir los falsos bordes se hace interaccionar con un filtro paso bajo, dando paso al
operador laplaciano de Gauss (LoG).
4.3.2.1 Laplaciano de Gauss
Marr al final de la dcada de los 70 sintetiz las diferentes teoras de visin
biolgica de los mamferos. Segn esta teora existe diferentes fases en el proceso de la
percepcin y en la primera etapa se basa en la deteccin de los bordes. Se observ que
este proceso estaba constituido por dos caractersticas:
1. Medida del gradiente de luminancia en diferentes escalas. Las diferentes
causas de discontinuidades en la imagen son variadas, tal como se ha
comentado al principio de este apartado (iluminacin, texturas,
sombras,...). Todos estos cambios se producen a distintas escalas
espaciales, propias de las causas que las originan.
2. La localizacin de los bordes debe de hacerse con precisin. El ruido de
la imagen desvirta la posicin exacta, necesitando de un suavizado
previo de la imagen. En el dominio frecuencia supone la delimitacin del
ancho de banda del detector de bordes. La actuacin del operador debe
estar limitado en las frecuencias.
Estas condiciones de diferentes escalas en el dominio espacial y de ancho de
banda limitado en el dominio frecuencial, son contradictorias entre s. Marr y Hildreth
(1980) proponen una solucin de compromiso con el operador laplaciano de Gauss
(LoG). ste es un filtro paso banda, mezcla del filtro paso bajo que supone el suavizado
con un filtro de Gauss y su posterior procesamiento con el operador laplaciano. Desde el
punto de vista formal, el operador queda definido como:
139
Carlos Platero
2 f x, y * h x, y f x, y * 2 h x, y f x, y * LoGx, y
(4. 37)
h x e
x2
2
x2
dh
x 2
2 e 2
dx
x2
d 2 h x 2 2 2 2
e
dx 2
4
(4. 38)
140
(4. 39)
Segn Marr y Hildreth, este algoritmo DoG se asemeja al operador LoG, cuando
las varianzas se encuentran en una relacin de:
22
12
1.6
(4. 40)
w 3c
c 2 2 2
(4. 41)
(4. 42)
141
Carlos Platero
h x, y
DroGx, y h xx, y
(4. 43)
142
Resolucin Matlab
>>imagen= imread('cameraman.tif');
>>im1=edge(imagen, prewitt); im1=edge(imagen, sobel);
>>im1=edge(imagen, log); im1=edge(imagen, canny);
>> imshow([im3,im1;im2,im4])
4.4 Cuestiones
1.
2.
143
Carlos Platero
3.
4.
5.
6.
7.
4.5 Problemas
Ejercicio 1
Dada la imagen de la figura, calcular la transformacin mediante LUT para
aumentar su contraste.
1200
1000
800
600
400
200
50
100
150
200
250
La imagen est saturada, por tanto, en una primera aproximacin se podra una
LUT de forma:
iout
255
iin I min
255 I min
144
0
0.5
0.5
0.5
0.2 0.2
0.3 0.3
0.4 0.4
0.9 0.9
0.8 0.8
0.2 0.8
0.3 0.8
0.4 0.8
0.9 0.8
1
1 1
0.3 1
Ejercicio 3
Dada la siguiente imagen se le aplica la transformacin adjunta.
Determinar la imagen resultado y el histograma
240
235
210
230
180
145
Carlos Platero
15
20
45
25
75
25 30 20 15
35 50 60 70
40 55 10 40
15 85 20 15
30 65 50 30
Ejercicio 4
Para la siguiente figura, con 8 niveles de grises de cuantificacin,
obtener:
a)Histograma
b)Brillo y contraste
c) Ecualizacin del histograma
1
1
3
2
2
1
1
0
nivel(i)
h(i)
p(i)
0
6
0.06
1
1
1
2
2
3
2
3
0
3
2
6
2
3
5
6
2
3
3
6
1
2
2
2
3
2
2
2
1
1
1
1
2 6 7 7 6 6 1 1
2 6 6 7 6 6 0 3
2 2 6 5 5 3 2 1
1 2 3 5 5 3 2 1
1 1 3 3 3 3 2 2
1 1 1 1 2 1 1 1
1
33
0.33
2
26
0.26
3
16
0.16
0
1
1
1
2
1
0
1
0
4
0
0
5
5
0.05
6
11
0.11
7
3
0.03
brillo i pi 2.45
i 0
2
contraste 2 i pi 3.52
i 0
146
Nivel de gris
de entrada
Nivel de gris
de salida
(-0.52)
(2.12)
(4.2)
(5.48)
(5.48)
(5.88)
(6.66)
(7)
56
56
Histograma
ecualizado
33
26
16
16
14
14
Ejercicio 5
Dada la siguiente imagen, calcular para el pxel marcado, la media y
mediana en un entorno de 3x3:
6
7
5 6 6 7
2 6 6 5
7 4 5 7
7 7 5 6
1
1
1 10 10 10
1 10 10 10
1 10 10 10
1 10 10 10
f x, y
y
36
Ejercicio 7
Calcular las mscaras de las derivadas de Gauss 2D para una 0.5 ,
sabiendo que el tamao corresponde a 3x3. Aplquese sobre el pxel
seleccionado para determinar el mdulo del gradiente y su orientacin. Indique
cmo lo implementara para aumentar su eficiencia computacional.
147
Carlos Platero
1
1
1 10 10 10
1 10 10 10
1 10 10 10
1 10 10 10
h x e
2 2
1
0.135 1 0.135
1.27
dh
x 2
2 e 2 0.54 0 0.54
dx
0
0
0
0.425 0 -0.425
x
0.057 0 0.057
0.057 -0.425 0.057
f x, y
y
f x, y 4.85 arg f x, y
4.85
1
1
1
1
10 10
10 10
1 10 10 10
1 10 10 10
1 10 10 10
1
10
10
148
h e
x2 y2
2 2
x 2 y 2 2 2
0
0.0003
0
0
0
h n
0
0.0003
0
0
0
0
0.0113
0.0836
0.0113
0
Aadiendo el trmino
y 2 2 2
de Gauss:
0
0.0116
0
0
0
149
Segmentacin
149
Carlos Platero
conceptos bsicos:
Similitud: los pxeles agrupados del objeto deben ser similares respecto
algn criterio (nivel de gris, color, textura,....).
150
Captulo 5: Segmentacin
151
Carlos Platero
G1 G2 TM
1 2 TA
(5. 1)
152
Captulo 5: Segmentacin
yi axi b
(5. 2)
El modelo de todas las infinitas rectas que pasan por (xi,yi) queda definida por
los infinitos valores de a y b. Haciendo la transformacin al espacio paramtrico, a y b
quedarn definidos como:
b yi axi
(5. 3)
(xi,yi)
(a1,b1)
(a2,b2)
(xl,yl)
153
Carlos Platero
(5. 4)
-150
140
-100
120
-50
100
0
80
50
60
100
40
150
20
20
40
60
80
100
theta (grados)
120
140
160
180
154
Captulo 5: Segmentacin
Detector de Canny
Catenaria
Espacio de lneas
150
-100
100
50
100
0
50
100 150
theta (grados)
Resolucin Matlab
imgEnt=imread('cables_gris.bmp');imshow(imgEnt);pause;
imgBorde=edge(imgEnt,'canny');imshow(imgBorde);
theta = 0:180;
[acum,rho] = radon(imgBorde,theta);
imagesc(theta,rho,acum), colorbar;
xlabel ('theta (grados)'), ylabel ('rho (pixeles desde el centro)')
title('Espacio de lneas');
Otro inconveniente de la transformada de Hough est en su salida, al retornar el
modelo de una recta infinita y no de un segmento. No se sabe donde empieza y acaba la
recta.
155
Carlos Platero
Imagen de entrada
Espacio de lneas
-150
120
-100
100
-50
80
0
60
50
40
100
20
150
0
50
100
theta (grados)
150
xi x0 2 yi y0 2 r 2
(5. 5)
156
Captulo 5: Segmentacin
Resolucin Matlab
imgEnt = imread('coins.png');radioMoneda = 30;
[y0,x0,Accumulator]=houghcircle(edge(imgEnt,'canny'),radioMoneda,4)
UmbralVotaciones = 45; [x,y]=find(Accumulator>UmbralVotaciones);
imshow(imgEnt);hold on;
for i=1:size(x,1)
dibujarCirculos(radioMoneda,y(i),x(i));
end;hold off
Las funciones houghcircle y dibujarCirculos no estn en el toolbox de Image Processing, stas han sido previamente
implementadas.
5.1.1.3 Transformadas
generalizadas
de
Hough
157
Carlos Platero
xref xi r cos
y ref yi r sen
(5. 6)
5.2 Umbralizacin
La umbralizacin es una tcnica de segmentacin ampliamente utilizada en las
aplicaciones industriales. Se emplea cuando hay una clara diferencia entre los objetos a
extraer respecto del fondo de la escena. Los principios que sigue son la similitud entre
los pxeles pertenecientes a un objeto y sus diferencias respecto al resto. Por tanto, la
escena debe caracterizarse por un fondo uniforme y por objetos bien contrastados.
Al aplicar un umbral, la imagen de niveles de grises quedar binarizada;
etiquetando con 1 los pxeles correspondientes al objeto y con 0 aquellos que son del
fondo. Por ejemplo, si los objetos son claros respecto del fondo, se aplicar:
1
g x, y
0
f x, y T
f x, y T
(5. 7)
f(x,y) es la funcin que retorna el nivel de gris del pxel (x,y), g(x,y) ser la
imagen binarizada y T es el umbral. En el caso de que los objetos sean oscuros respecto
del fondo, la asignacin sera:
1
g x, y
0
158
f x, y T
f x, y T
(5. 8)
Captulo 5: Segmentacin
El umbral puede depender de f(x,y), de alguna propiedad local del pxel, p(x,y) y
hasta de su propia posicin:
T T f x, y , px, y , x, y
(5. 9)
4
x 10 Umbral de 43 segn Otsu
1.8
1.6
1.4
Imagen binarizada
1.2
0.8
0.6
0.4
0.2
100
200
159
Carlos Platero
Ajuste gaussiano.
Anlisis de la concavidad.
5.2.1.1.1
Mtodo de Otsu
Este mtodo se basa en la suposicin de que las funciones de densidad del fondo
y de los objetos siguen un modelo gaussiano, N(f, f2) y N(o, o2). Sin prdida de
generalidad, se supone que el fondo es oscuro y los objetos brillantes. Cada clase estar
formada por los niveles de grises fijados por el umbral, T:
160
Captulo 5: Segmentacin
C f 0,1,2,..., T
Co T 1, T 2,..., I 1
(5. 10)
PC f pi
PCo
i 0
I 1
i T 1
(5. 11)
1
PC f
i p
C2
1
PC f
i 0
1
PC0
C2
1
PCo
i 0
Cf
pi
I 1
i p
i T 1
I 1
i T 1
C0
pi
(5. 12)
p2 PC C2 PC C2
f
(5. 13)
1
g x, y
0
f x, y T
f x, y T
161
Carlos Platero
a) I Ri
i 1
c)
pi R j PR j ( pi ) 1
b) Ri R j i j
d)
pi R j PR j ( pi ) 0
(5. 14)
b) f x, y Ri T
c) f x, y Ri k Ri (5. 15)
162
Captulo 5: Segmentacin
fronteras, junto con el valor del nivel de gris del entorno del centroide, dar un conjunto
de semillas. En todo caso, la casustica de cada problema de anlisis de imagen decidir
que algoritmia emplear en la localizacin de las semillas y en las reglas de similitud.
163
Carlos Platero
164
Captulo 5: Segmentacin
Resolucin Matlab
%Divisin de la imagen
imgEnt = imread('liftingbody.png');
im1=imfilter(imgEnt,fspecial('gaussian'));
imgDescomp = qtdecomp(im1,.27);
imgDivision = imgEnt;
for dim = [128 64 32 16 8 4 2 1]
[valores,fila,columna] = qtgetblk(im1, imgDescomp, dim);
if (~isempty(valores))
doublesum = sum(sum(valores,1,'double'),2);
end
imgDivision = qtsetblk(imgDivision, imgDescomp, ...
dim, doublesum ./ dim^2);
end
165
Carlos Platero
5.4 Ejercicios
1. Estado actual de las tcnicas de segmentacin.
2. Clasificacin de las tcnicas de segmentacin.
3. Transformadas de Hough para lneas rectas y crculos.
4. Mtodo de umbralizacin de Otsu.
5. Tcnicas de crecimiento de regiones.
6. Tcnicas de divisin y fusin de regiones.
5.5 Problemas
Ejercicio 1
1.
El
2
2
2
3
2
2
3 2 2 3 2
8 9 2 2 3
9 10 3 2 2
8 9 9 8 2
:
8 2 3 3 2
9 9 2 2 3
8 8 9 8 4 2 2
2 3 2 2 2 2 2
3
2
2
9
8
9
4
2
2
8
8
8
mdulo
del
gradiente
mediante
la
aproximacin
. Utilice la mscara ms simple para la
implementacin de la diferenciacin y para los bordes replique el valor de los
pxeles de frontera (condicin de Neumman).
f ( x, y) x f ( x, y) y f ( x, y)
166
0
0
0
x f x, y
1
1
0
el
ambas:
Captulo 5: Segmentacin
0
1
0
7
1
1
0
2
0
6
0
0
0
5
1
1
0
1
0
7
0
0
7
7
1
6
0
5
0
7
1
6
mdulo
del
0
0
0
f x, y
1
1
0
0
0
0
0
0
1
0
6
y f x, y
0
6
1
0
0
2
gradiente
1
0
0
7
5
7
1
0
0
1
0
1
1
6
7
0
0
1
1
1
0
1
6
0
6
0
0
1
1
1
1
0
aproximadamente
1
1
0
14
6
8
1
2
0
7
0
1
1
11
8
1
0
2
1
8
0
1
13
7
7
6
0
6
1
8
2
6
ser
la
7
6
0
1
7
4
suma
de
7
7
6
.
7
8
6
Analizando el histograma se observa que el umbral de 6 servir para detectar los bordes:
20
18
16
14
12
10
8
6
4
2
0
0
10
1
2
14
167
Carlos Platero
Ejercicio 2
Dado los puntos: (x,y) = {(1,0), (3,2), (4,3), (3,4)}. Determinar mediante la
transformada de Hough, como tres de ellos pertenecen a la misma recta.
Para cada punto se muestrea las votaciones, tal que a = y bx:
a = y i - b*x i
15
(1 0) azul
(3 2) verde
(4 3) rojo
(3 4) cian
10
-5
-10
-3
-2
-1
0
b
Ejercicio 3
Detectar las lneas de la imagen binarizada mediante las transformadas
de Houhg. Emplear el espacio paramtrico en coordenadas polares
( xi cos yi sen ) y con solo muestreo de los ngulos de 0 y 90.
0
0
0
0
0
0
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 0 1
0 0 0 0 0 1
0 0 0 0 0 1
0 0 0 0 0 1
yi
168
90
Captulo 5: Segmentacin
90
169
Carlos Platero
-100
30
-50
25
20
15
50
10
5
100
0
20
40
60
80
100
120
theta (grados)
140
160
180
Ejercicio 5
Para la siguiente figura, con 8 niveles de grises de cuantificacin,
obtener:
a) Umbral mediante mtodo Otsu
1
1
3
2
2
1
1
0
nivel(i)
h(i)
p(i)
T
0
170
0
6
0.06
Pcf
0.06
1
33
0.33
Pco
0.94
1
1
1
2
2
3
2
3
0
3
2
6
2
3
5
6
2
3
3
6
1
2
2
2
3
2
2
2
1
1
1
1
2 6 7 7 6 6 1 1
2 6 6 7 6 6 0 3
2 2 6 5 5 3 2 1
1 2 3 5 5 3 2 1
1 1 3 3 3 3 2 2
1 1 1 1 2 1 1 1
2
26
0.26
3
16
0.16
cf
0
4
0
0
cf
2.60
0
1
1
1
2
1
0
1
0
5
5
0.05
2cf
0
6
11
0.11
2cf
3.30
7
3
0.03
2P
3.10
1
2
3
4
5
6
0.39
0.65
0.81
0.81
0.86
0.97
Captulo 5: Segmentacin
0.61
0.35
0.19
0.19
0.14
0.03
0.84
1.30
1.64
1.64
1.83
2.30
3.47
4.57
5.89
5.89
6.21
7.00
0.13
0.39
0.77
0.77
1.34
2.93
2.93
2.30
0.41
0.41
0.16
0
1.84
1.06
0.70
0.70
1.18
2.84
2.5
1.5
0.5
1
1
3
2
2
2
1
1
1
1
1
2
2
3
2
3
0
3
2
6
2
3
5
6
2
3
3
6
1
2
2
2
3
2
2
2
1
1
1
1
2 6 7 7 6 6 1 1
2 6 6 7 6 6 0 3
2 2 6 5 5 3 2 1
1 2 3 5 5
1 1 3 3 3
1 1 1 1 2
3
3
1
2 1
2 2
1 1
0
1
1
1
2
1
0
1
0
Ejercicio 7
Para la siguiente matriz, realizar una descomposicin de rbol
cuaternario empleando como regla de divisin de la regin que la diferencia
Dpto. Electrnica, Automtica e Informtica Industrial
171
Carlos Platero
1
1
1
1
1
1
2
1
1
1
1
1
4
7
6
5
7
6
6
7
5
20
20
20
20
22
22
22
22
20
22
20
20
22 1
20 5
20 9
20 13
2
4
12
14
3
7
40
15
8
7
5
4
8
12
16
a)
1
1
1
1
1
1
2
1
1
1
1
1
4
7
6
5
7
6
6
7
5
20
20
20
20
22
22
22
22
20
22
20
20
22 1
20 5
20 9
20 13
2
4
12
14
3
7
40
15
8
7
5
4
8
12
16
b)
Ejercicio 8
Dada la imagen I aplicar el mtodo de divisin mediante rboles
cuaternarios, luego proceda al crecimiento de regiones con vecindad a 4 y
172
Captulo 5: Segmentacin
2
I
7
2 4 4
2 3 3
8 1 7
8 8 9
2
7
3
8 1 7
8 8 9
2
2
4
3
2 2
4 4
7 8
R1
R2
R3
R4 1 R5 8 R6 7 R7 9
2 2
3 3
7 8
0
S
1
R3 R5 R6 R7
0 0 0
0 0 0
1 0 1
1 1 1
173
Procesamiento morfolgico
173
Carlos Platero
Y X p Y p X
La inclusin es reflexiva X X , antisimtrica Y X y X Y
(6. 1)
X Y
X Y p | p X
p Y
(6. 2)
X Y p | p X
p Y
(6. 3)
Extensiva : X X
AntiExtens iva : X X
(6. 4)
X X
(6. 5)
174
B X x | Bx X
(6. 6)
B X X
(6. 7)
175
Carlos Platero
Resolucin Matlab
>>imgEnt=imread('rice.png');imshow(imgEnt);pause;
>>umbral=graythreshold(imgEnt);
>>imgBW=im2BW(imgEnt, umbral);
>> se = strel('disk',2);
>> imgEroBW = imerode(imgBW,se);
>> imshow([imgBW,imgEroBW]);
B X x | X Bx
(6. 8)
X B X
(6. 9)
176
Resolucin Matlab
>>imgEnt=imread('coins.png');imshow(imgEnt);pause;
>>umbral=graythresh(imgEnt);
>>imgBW=im2BW(imgEnt, umbral);
>> se = strel('disk',5);
>> imgDilBW = imdilate(imgBW,se);
>> imshow([imgBW,imgDilBW]);
6.1.3 Procesamiento morfolgico en niveles de grises
Las operaciones de erosin y dilatacin son crecientes, respectan el orden
presente en la estructura del conjunto. Para dos imgenes f y g:
Si
Si
f g f g
f g f g
(6. 10)
177
Carlos Platero
B f min f x y , y B
B f max f x y , y B
(6. 11)
Resolucin Matlab
>>imgEnt=imread('cameraman.tif');imshow(imgEnt);pause;
>>se = strel('disk',3);
>>imgDilGris = imdilate(imgEnt,se);
>>imgEroGris = imerode(imgEnt,se);
>>imshow([imgEnt,imgEroGris,imgDilGris]);
B X B B X
(6. 12)
178
Resolucin Matlab
>>imgEnt=imread('rice.png');imshow(imgEnt);pause;
>>umbral=graythres(imgEnt);
>>imgBW=im2BW(imgEnt, umbral);
>>se = strel('disk',2);
>>imgEroBW = imerode(imgBW,se);
>>imgOpenBW = imopen(imgBW,se);
>>imshow([imgBW,imgEroBW, imgOpenBW]);
Por el contrario, la dilatacin binaria opera aumentando el tamao de los objetos,
cerrando los agujeros y las grietas. El ensanchamiento de los objetos puede ser reducido
mediante la aplicacin seguida de una erosin. La operacin combinada de dilatacin y
erosin es llamada cierre (closing):
B X B B X
(6. 13)
179
Carlos Platero
Resolucin Matlab
>>imgEnt=imread('coins.png');imshow(imgEnt);pause;
>>umbral=graythresh(imgEnt);
>>imgBW=im2BW(imgEnt, umbral);
>>se = strel('disk',3);
>>imgDilBW = imdilate(imgBW,se);
>>imgCloseBW = imclose(imgBW,se);
>>imshow([imgBW,imgDilBW, imgCloseBW]);
En imgenes en niveles de grises, la apertura eliminar formas claras menor que
el elemento estructurante; mientras el cierre, los objetos oscuros menores al elemento
estructurado sern eliminados.
Apertura y cierre en niveles de grises
Resolucin Matlab
>>imgEnt=imread('cameraman.tif');imshow(imgEnt);pause;
>>se = strel('disk',3);
>>imgOpenGris = imopen(imgEnt,se);
>>imgCloseGris = imclose(imgEnt,se);
>>imshow([imgEnt,imgOpenGris,imgCloseGris]);
B B X B B B B X
B B X B B B B X
(6. 14)
B X B B X X B B X B X
180
(6. 15)
6.1.5
Gradiente morfolgico
X X \ X
(6. 16)
f f f
(6. 17)
g X B X \ X
gX B X \ B X
(6. 18)
181
Carlos Platero
Resolucin Matlab
>>imgEnt=imread('coins.png');imshow(imgEnt);pause;
>>umbral=graythresh(imgEnt);
>>imgBW=im2BW(imgEnt, umbral);
>>se = strel('disk',3);
>>imgDilBW = imdilate(imgBW,se); imgEroBW = imerode(imgBW,se);
>>imgGraEro=imgBW-imgEroBW; imgGraDil=imgDilBW-imgBW;
>>imgGraSim= imgDilBW- imgEroBW;
>>imshow([imgBW,imgGraEro;imgGraDil,imgGraSim]);
g f B f f
g f B f B f
(6. 19)
182
Resolucin Matlab
>>imgEnt=imread('cameraman.tif');imshow(imgEnt);pause;
>>se = strel('disk',3);
>>imgDilGris = imdilate(imgEnt,se);
>>imgEroGris = imerode(imgEnt,se);
>>imshow([imgEnt,imgEnt-imgEroGris;imgDilGris-imgEnt,
imgDilGris-imgEroGris]);
Destacar como el gradiente simtrico intensifica la deteccin de los bordes. El
gradiente por erosin y el gradiente por dilatacin son operaciones complementarias
entre s. El gradiente simtrico es la suma de los dos gradientes por erosin y por
dilatacin.
6.1.6 Top-hat
Es otra operacin de residuo. Las transformaciones Top-hat consisten en
descubrir aquellas estructuras de la imagen que han sido eliminadas en el filtrado de
apertura o cierre. Una operacin entre la imagen original y el filtrado aumenta
considerablemente el contraste de las zonas eliminadas. Esta operacin se define como
un residuo entre la imagen original y la apertura o bien entre el cierre y la imagen de
partida:
B X B B X \ X B f B B f f
B X X \ B B X B f f B B f
(6. 20)
Resolucin Matlab
>>imgEnt=imread('coins.png');imshow(imgEnt);pause;
>>umbral=graythresh(imgEnt);
>>imgBW=im2BW(imgEnt, umbral);
>>se = strel('disk',3);
>>imgCloseBW = imclose(imgBW,se); imgOpenBW = imopen(imgBW,se);
>>imshow([imgBW, imgCloseBW- imgBW, imgBW -imgOpenBW]);
183
Carlos Platero
Resolucin Matlab
>>imgEnt=imread('cameraman.tif');imshow(imgEnt);pause;
>>se = strel('disk',3);
>>imgOpenGris = imopen(imgEnt,se);
>>imgCloseGris = imclose(imgEnt,se);
>>imshow([imgEnt,imgEnt-imgOpenGris,imgCloseGris-imgEnt]);
Figura
6.
geodsica
Distancia
x y
d X x, z d X x, y d X y , z
(6. 21)
184
Disco
BX , z y | d X z, y , z X , y X
X , Y BX , y , y Y
geodsica
X Y Y X
(6. 22)
X ,n Y n X Y ... Y X X ... X
(6. 23)
X Y Y X
Donde es la erosin isotrpica de tamao unitario.
185
Carlos Platero
f g min g , f
f ,n g n f g f ... f f g ...
(6. 24)
f g max g , f
186
X , Y X , Y , 0
(6. 25)
(6. 26)
(6. 27)
R f g if g
R * f g if g
(6. 28)
187
Carlos Platero
dilatacin. El efecto conseguido es la preservacin de las formas de los objetos que han
superado al marcado. Ntese que en la apertura clsica este efecto no se consegua.
El primer ejemplo, a exponer, se hace sobre imgenes binarias. Al comparar los
resultados de la reconstruccin geodsica respecto a la apertura clsica se observa que
las formas originales se mantienen. En el ejemplo sobre la segmentacin de granos de
arroz, se puede observar que la reconstruccin por dilatacin mantiene la forma original,
mientras la clsica ha suavizado los bordes de los granos.
Resolucin Matlab
>>imgEnt=imread('rice.png');imshow(imgEnt);pause;
>>umbral=graythresh(imgEnt);
>>imgBWMask=im2BW(imgEnt, umbral);
>>se = strel('disk',2);
>>imgBWMarcador = imerode(imgBWMask,se);
>>imgReconst=imreconstruct(imgBWMarcador,imgBWMask);
>>imgBWOpen = imopen(imgBWMask,se);
>>imshow([imgBWMask,imgBWMarcador;imgReconst,imgBWOpen]);
Lo mismo sucede respecto a imgenes en niveles de grises. Los brillos pequeos
son eliminados y los objetos claros que no han sido eliminados preservan su forma.
Cuando se haca una apertura sobre una imagen en niveles de grises, los objetos
brillantes menores al elemento estructurante desapareca y la imagen se volva ms
oscura. Con la reconstruccin por dilatacin utilizando como marcado la imagen
erosionada, los objetos claros menores al elemento estructurante desaparecen, pero la
188
Resolucin Matlab
>> imgMascara=imread('cameraman.tif');
>> se = strel('disk',3);
>> imgMarcador = imerode(imgMascara,se);
>> imgReconst = imreconstruct(imgMarcador,imgMascara);
>> imgOpen = imopen(imgMascara,se);
>> imshow([imgMascara, imgOpen,imgReconst]);
El ltimo ejemplo es una demostracin de la capacidad de realce que se consigue
empleando esta apertura mejorada. Obsrvese cmo se han eliminado los copos de
nieve ms pequeos y han sido realzados los ms grandes.
189
Carlos Platero
Resolucin Matlab
>> imgEnt = imread('snowflakes.png');
>> imgMascara = adapthisteq(imgEnt);
>> se = strel('disk',5);
>> imgMarcador = imerode(imgMascara,se);
>> imgReconst = imreconstruct(imgMarcador,imgMascara);
>> imshow([imgEnt,imgMascara,imgReconst]);
Resolucin Matlab
>>imgEnt=imread('rice.png');imshow(imgEnt);pause;
>>umbral=graythresh(imgEnt);
>>imgBWMask=im2BW(imgEnt, umbral);
>>se = strel('disk',2);
>>imgBWMarcador = imerode(imgBWMask,se);
>>imgReconst=imreconstruct(imgBWMarcador,imgBWMask);
>>imgBWElimBorde = imclearborder(imgReconst);
>> imshow([imgBWMask,imgBWElimBorde]);
190
Resolucin Matlab
>>imgEnt=imread('coins.png');imshow(imgEnt);pause;
>>umbral=graythresh(imgEnt);
>>imgBW=im2BW(imgEnt, umbral);
>> imgBWRell = imfill(imgBW,'holes');
>> imshow([imgBW,imgBWRell]);
En niveles de grises sucede lo mismo. Los detalles oscuros pueden ser
eliminados, preservando las formas de los objetos.
191
Carlos Platero
Resolucin Matlab
>>imgEnt = imread('tire.tif');
>>imgRell = imfill(imgEnt,'holes');
>>imshow([imgEnt,imgRell]);
a)Imagen de entrada, b)Imagen con eliminacin de partculas oscuras
192
(6. 29)
193
Carlos Platero
imagen original
regiones mnimas
(6. 30)
IZ X B IZ X Bi
i 1
(6. 31)
SKIZ X B X \ IZ X B
(6. 32)
194
(6. 33)
El significado de la operacin de
watershed se encuentra en su notacin
francesa como la ligne de partage des
eaux (lnea de separacin de aguas). Esta
transformacin consiste en simular la
inundacin numrica de la imagen
(vista como un mapa topogrfico) a
partir de los mnimos regionales.
El agua es introducida desde los
mnimos regionales, de manera que en el proceso de inundacin hace que las cuencas
contiguas se unan. Las lneas de unin representan las fronteras de las regiones
homogneas, stas son las que constituye el esqueleto geodsico. El resultado es un
conjunto de contornos que identifican las regiones de la imagen.
En la prctica, el proceso de segmentacin morfolgica suele partir de la imagen
de gradiente, aplicndose a esta ltima la transformacin de watershed, pues se pretende
identificar el contorno de los objetos y no su zona de influencia. Las regiones mnimas
proceden, en este caso, de la imagen gradiente. El resultado en imgenes reales suele
conducir al fenmeno de sobre-segmentacin, porque la presencia de mnimos locales
en las imgenes son bastantes altas. Para evitar este inconveniente se suele eliminar
todos los mnimos parasitarios y reemplazarlos por marcadores. El nuevo algoritmo
resultante se denomina watershed controlado por marcadores. La eleccin de unos
buenos marcadores ser clave para obtener una exitosa segmentacin. El algoritmo
watershed controlado por marcadores reduce el efecto de sobre identificar zonas o
regiones en la imagen.
Dpto. Electrnica, Automtica e Informtica Industrial
195
Carlos Platero
Mascara
Marcador
196
Resolucin Matlab
>> imgEnt = imread('liftingbody.png');
>> se = strel('disk',5);
>> imgBWMarcador= imfill(imdilate(edge(imgEnt,'canny',.2,1),se),'hole');
>> imgMascara=imfilter(imgEnt,fspecial('log',5,1));
>> imgMascara(imgBWMarcador==0)=0;
>> imshow([label2rgb(watershed(imgEnt)),label2rgb(watershed(imgMascara))]);
197
Carlos Platero
6.3 Problemas
1. Erosin y dilatacin en conjuntos y en funciones.
2. Operaciones de apertura y cierre.
3. Operaciones de residuos.
4. Cmo eliminar los objetos que tocan el borde en las imgenes binarias.
5. Cmo rellenar agujeros en imgenes binarias.
6. Qu es el algoritmo de watershed.
Ejercicio 1
Para la siguiente figura, con 8 niveles de grises de cuantificacin,
obtener:
a) Determinar el umbral de segmentacin
b) Sobre la imagen binarizada aplicar una erosin con un elemento
estructurante cuadrado de 3x3
1
1
3
2
2
1
1
0
1
1
1
2
2
3
2
3
0
3
2
6
2
3
5
6
2
3
3
6
1
2
2
2
3
2
2
2
0
1
1
1
2
1
0
1
0
1
1
1
1
2 6 7 7 6 6 1 1
2 6 6 7 6 6 0 3
2 2 6 5 5 3 2 1
1 2 3 5 5 3 2 1
1 1 3 3 3 3 2 2
1 1 1 1 2 1 1 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
198
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ejercicio 2
Dada la siguiente imagen, realizar una apertura morfolgica con un
elemento estructurante cuadrado de 3X3.
1
1
3
2
2
1
1
0
1
1
1
2
2
3
2
3
0
3
2
6
2
3
5
6
2
3
3
6
1
2
2
2
3
2
2
2
1
1
1
1
2 6 7 7 6 6 1 1
2 6 6 7 6 6 0 3
2 2 6 5 5 3 2 1
1 2 3 5 5 3 2 1
1 1 3 3 3 3 2 2
1 1 1 1 2 1 1 1
0
1
1
1
2
1
0
1
0
1
1
2
2
2
2
1
1
1
1
1
2
1
2
2
3
0
2
2
6
1
2
2
6
1
2
2
6
1
2
2
2
1
2
2
2
1
1
1
1
2 3 6 6 6 3 1 1
2 3 6 6 6 3 0 1
2 2 5 5 5 3 2 1
1 2 3 3 3 3 2 1
1 1 3 3 3 3 2 1
1 1 1 1 1 1 1 1
0
1
1
1
1
1
0
0
0
199
Carlos Platero
Ejercicio 3
Cmo segmentara la carretera de la imagen area?
Ejercicio 4
Explicar el algoritmo de segmentacin de la clula en cada fase: A) B) C)
D) E) y F), junto con su seudo-cdigo en Matlab.
200
Ejercicio 5
Dada la imagen de la izquierda nodulos.jpg, describir un algoritmo que a
partir de esta imagen determine una imagen binaria donde slo aparecen los ndulos
cuyo radio tiene una longitud inferior a 9 pxeles y un rea mayor a 20 pxeles (la
imagen de la derecha mostrara el resultado final sobre la imagen de entrada).
Acompese con comando en seudo-matlab. Se adjunta el histograma de la imagen
de entrada.
7000
6000
5000
4000
3000
2000
1000
0
0
50
100
150
201
200
250
Carlos Platero
function segmNodulos
imgEnt = imread('nodulos.jpg');
imgBW = im2bw(imgEnt);
imgBW2 =bwareaopen(imgBW==0,20);
imgErode=imerode(imgBW2,strel('disk',9));
imgOpenMej = imreconstruct(imgErode,imgBW2);
imgSal = imgOpenMej==0 & imgBW2;
figure(1);
imshow([imgBW,imgBW2,imgSal]);
imgAux=imgEnt;
imgAux(imdilate(bwperim(imgSal),strel('square',3)))=255;
figure(2);
imshow([padarray(imgEnt,[5 5],255),...
padarray(imgAux,[5 5],255)]);
Ejercicio 6
Dada la imagen de clulas n1.bmp, describir un algoritmo que a partir
de esta imagen determine las clulas nicas completas y aquellas que estn
solapadas. Se sabe que el rea de una clula es superior a 200 pxeles y
menor a 1400. Sugiera adems cmo separar las clulas solapadas. Escriba
tambin seudo-cdigo de Matlab.
202
imgIn = imread('n1.bmp');
imgInRes = imgIn(20:end,5:end);
imBW = imgInRes > 55;
imBW_CB = imclearborder(bwareaopen(imBW,200));
imBWSolap = bwareaopen(imBW_CB,1400);
imBWUnicas = (imBWSolap == 0) & imBW_CB;
clf;
figure(1);
subplot(2,2,1);imshow(imgInRes);title('Imagen de entrada');
subplot(2,2,2);imhist(imgInRes);title('Histograma');
se=strel('disk',1);
imgAux=imgInRes;bwborde=imdilate(bwperim(imBWUnicas),se);
imgAux(bwborde)=255;
subplot(2,2,3);imshow(imgAux);title('Clulas nicas');
imgAux=imgInRes;bwborde=imdilate(bwperim(imBWSolap),se);
imgAux(bwborde)=255;
subplot(2,2,4);imshow(imgAux);title('Clulas solapadas');
figure(2);
D = bwdist(~imBWSolap);
D = -D;
D(~imBWSolap) = -Inf;
L = watershed(D);
rgb = label2rgb(L,'jet',[.5 .5 .5]);
imshow(rgb);
Ejercicio 7
Dada la regin de inters de una galaxia galaxia2.jpg realizar las
siguientes operaciones en Matlab: A) Leer la imagen. B) Ecualizarla. C)
Realizar una reconstruccin geodsica de la ecualizada empleando como
mscara su erosionada con elemento estructurante de radio 5. D) Top hat entre
la ecualizada y su reconstruida. E) Umbralizacin con Otsu.
a)
b)
c)
d)
e)
203
Carlos Platero
imgEnt=rgb2gray(imread('galaxia2.jpg'));
imPro=histeq(imgEnt);
imOpen =imreconstruct(imerode(imPro,strel('disk',5)),imPro);
topHat = imPro-imOpen;
segm = im2bw(topHat,graythresh(topHat));
subplot(1,5,1);
imshow(imgEnt);
xlabel ('a)');
subplot(1,5,2);
imshow(imPro);
xlabel ('b)');
subplot(1,5,3);
imshow(imOpen);
xlabel ('c)');
subplot(1,5,4);
imshow(topHat);
xlabel ('d)');
subplot(1,5,5);
imshow(segm);
xlabel ('e)');
204
203
Carlos Platero
en relaciones de conectividad
entre
pxeles
adyacentes.
Partiendo de la esquina
superior izquierda de la
imagen, se rastrea hacia la
derecha y hacia abajo buscando
pxeles con etiqueta uno lgico.
Cuando se encuentra el primer
pxel con dicha etiqueta se le
coloca la etiqueta 1, los
vecinos que tengan propiedad
de conectividad y que posean el
nivel lgico activo se les Figura 7. 1 Proceso de etiquetado de una imagen binaria
pondr la misma etiqueta. Al
seguir rastreando en la imagen y al encontrarse con un pxel activado sin conectividad
con los anteriores se le asociar con la etiqueta 2 y as sucesivamente. Una vez
finalizada esta etapa, cada objeto de la imagen tendr un identificador numrico que le
hace ser distinto respecto del fondo y de los otros objetos.
Resolucin Matlab
imgEnt=imread('rice.png');imshow(imgEnt);pause;
imgBWMask=im2BW(imgEnt);
se = strel('disk',2);
imgBWMarcador = imerode(imgBWMask,se);
imgReconst=imreconstruct(imgBWMarcador,imgBWMask);
imgBWElimBorde = imclearborder(imgReconst);
imgEtiq=bwlabel(imgBWElimBorde);
subplot(1,2,1);imshow(imgEnt);subplot(1,2,2);imshow(label2rgb(imgEtiq));
204
A i gi x, y
x 1 y 1
W i gi x, y f x, y
x 1 y 1
(7. 1)
Siendo gi(x,y) una funcin que es uno si el pxel pertenece al objeto i y nulo en
caso contrario. El permetro, P(i), es una medida de la longitud del borde del objeto, i.
Tambin se suele utilizar la relacin del perimtrico al cuadrado del objeto entre su
2
rea, P i
. Magnitud adimensional, cuyo valor mnimo se tiene cuando el objeto es
Ai
un crculo, por tanto, describir la compacidad del objeto. Valores prximos a 4
indicar que se aproxima a un crculo.
El centro de gravedad del objeto, x i , y i , indicar su posicin puntual en la
imagen y estar dado por:
205
Carlos Platero
x i
x g i x, y
x 1 y 1
Ai
y i
y g x, y
x 1 y 1
Ai
(7. 2)
m pq i x p y q g i x, y
x 1 y 1
(7. 3)
Obsrvese que el rea del objeto coincide con el momento de orden cero y que el
centro de gravedad est relacionado con el momento de orden uno (p=1, q=0 y p=0,
q=1). Los momentos se pueden hacer invariantes a traslaciones, si son referidos al
centro de gravedad del objeto. A stos se les llama momentos centrales:
N
mc pq i x x i y y i g i x, y
p
x 1 y 1
(7. 4)
Para ser invariante a escalados, se normaliza los momentos centrales con el rea
del objeto, i.e. con el momento de orden cero. A esta coleccin se la define como
momentos centrales normalizados:
pq
mc pq
m00
(7. 5)
206
equivalente1. Este parmetro est entre 0 y 1. En el caso de valer cero indica que es una
circunferencia y si es uno es un segmento recto.
Resolucin Matlab
imgEnt=imread('rice.png');
imgBWMask=im2BW(imgEnt);
se = strel('disk',2);
imgBWMarcador = imerode(imgBWMask,se);
imgReconst=imreconstruct(imgBWMarcador,imgBWMask);
imgBWElimBorde = imclearborder(imgReconst);
imgEtiq=bwlabel(imgBWElimBorde);
stat=regionprops(imgEtiq,'all');
stat(20).Eccentricity
Ejemplo 7.1
Dada la imagen pillsetc.png: A) Leer la imagen. B) Convertirla a grises.
C) Umbralizar con Otsu. D) Eliminar objetos menores 30. E) Realizar un cierre
con elemento estructurante de disco de radio 2. F) Rellenar. G) Etiquetar H)
Extraer las caractersticas de rea, centroide y permetro de cada objeto. I)
Calcular el parmetro adimensional
4 A
para cada objeto, siendo A el rea y P
P2
4 A
0.8 ), en caso contrario
P2
b
Excentricidad de la elipse, e 1 , donde a y b son el tamao de los semiejes mayor
a
y menor respectivamente.
207
Carlos Platero
RGB = imread('pillsetc.png');
figure; imshow(RGB);
I = rgb2gray(RGB);
threshold = graythresh(I);
bw = im2bw(I,threshold);
figure; imshow(bw)
bw = bwareaopen(bw,30);
se = strel('disk',2);
bw = imclose(bw,se);
bw = imfill(bw,'holes');
figure; imshow(bw)
labels = bwlabel(bw);
features = regionprops(labels,'Area','Perimeter','Centroid');
figure; imshow(label2rgb(labels));hold on;
for i=1:numel(features)
if(4*pi*features(i).Area/(features(i).Perimeter)^2 > .8)
plot(features(i).Centroid(1),features(i).Centroid(2),'ko');
else
plot(features(i).Centroid(1),features(i).Centroid(2),'k+');
end
end
hold off;
208
7.2.3 Texturas
La textura explica la composicin de las superficies de los objetos en trminos
de suavidad, rugosidad, granularidad, regularidad,... Desde el sentido de la visin, la
textura se observa como repeticiones de patrones locales de radiacin en las imgenes.
La sensacin que transmiten las imgenes de zonas de tosquedad, rugosidad o suavidad,
nacen de las correspondencias de las experiencias humana entre el sentido del tacto y la
vista. Desde el punto de vista fsico, la interaccin entre la luz y la materia, en la
radiacin reflejada, muestra ciertas repeticiones de carcter estadstico. La imagen
resultante no es una repeticin local del patrn de forma determinista, sino
probabilstica y con una distribucin en el espacio no exactamente regular.
209
Carlos Platero
Figura 7. 7 Imgenes de satlite sobre el suelo de la Tierra que presentan diferentes texturas
Las aplicaciones del anlisis textural no slo se dan para la caracterizacin de los
objetos de inters, sino que tambin son utilizadas en los procesos de segmentacin. En
la figura 7.8 se observa los procesos de segmentacin en la imagen al ir incorporando
ms informacin. Se aprecia el resultado de la segmentacin desde que slo se emplea
el canal de luminancia hasta la incorporacin del color y la textura.
Figura 7. 8 Segmentacin del pez con distintos tipo de informacin. a) niveles de grises, b)
nivel de gris + textura, c) color RGB, d) color HSI, e) color + textura
210
Aceptada
Rechazada
Figura 7. 10. Descripcin estructural de la textura. Se define unas primitivas y unas reglas de
encadenamiento de las primitivas. En la parte superior se ha representado las primitivas y las
reglas de encadenamiento. En la parte inferior un ejemplo de aceptacin y rechazo de un tipo
de textura
211
Carlos Platero
la imagen global. Como se muestra en la figura 7.11, puede haber una variacin espacial
del patrn en la imagen.
Una mejora de este procedimiento es utilizar los filtros de Gabor. Con estos
filtros, el anlisis espectral tambin considera el espacio de escala y una cierta
orientacin privilegiada. La mscara de convolucin de cada filtro se construye con una
funcin gaussiana modulada con un armnico de una determinada orientacin y
frecuencia:
G , f x, y
1
2
x2 y 2
2 2
e2 jf x cos y sin
(7. 6)
2 ln 2
f
2
(7. 7)
213
Carlos Platero
derivadas del histograma, tales como la media, la varianza, energa, entropa, etc. (ver
seccin 4.1.1).
La principal desventaja de las tcnicas de primer orden es su falta de sensibilidad
ante permutaciones de los pxeles. La va ms apropiada para evitar la limitacin
anterior es considerar los estadsticos de segundo orden. A partir de ellos se obtienen las
matrices de dependencia espacial, generadora de medidas de textura ms fiables y
robustas. Las matrices de co-ocurrencia del nivel de gris, C, es un ejemplo de esta
fuente de medidas de textura. Se define en relacin con un desplazamiento de valor h,
en una direccin , desde una determinada fila y columna de la imagen; el elemento (i,j)
de la matriz de co-ocurrencia, cij, representa el nmero de veces que un pxel con nivel
de gris j, se encuentra a una distancia h, en direccin , de un pxel con nivel de gris i
(una ocurrencia conjunta). Si Nh representa el nmero total de ocurrencias, entonces la
fraccin entre la
matriz de coocurrencia y Nh
representa
la
matriz de coocurrencia
normalizada.
Por
ejemplo,
considerando una Figura 7. 15 Ejemplo de extraccin de la matriz de co-ocurrencias
imagen con tres
niveles de grises (0,1 y 2) y utilizando como regla de vecindad el pixel superior a la
derecha. La matriz de co-ocurrencia mostrar por cada celda i,j las ocurrencias de
encontrar un pxel de nivel gris i que tenga como vecino superior a la derecha con nivel
gris j. En el ejemplo la matriz ser de 3x3. La celda (0,0) indica el nmero de
ocurrencias de pxeles con nivel de gris 0 que tenga como superior a la derecha otro
pxel con nivel gris 0. Para este caso, aparecen 2 ocurrencias. En cambio el elemento
(0,1) indica las ocurrencias de pxeles que tengan nivel de gris 1 y que su vecino
superior a la derecha sea 0.
A partir de la matriz de co-ocurrencia se obtienen diferentes descriptores.
7.2.4 Descriptores de fronteras
7.2.4.1 Cdigos encadenados
Partiendo del permetro del
objeto se procede a su codificacin a
travs de segmentos con longitud y
orientacin determinada. La cadena
de cdigos describe el objeto
mediante la sucesin de estos
segmentos
conectando
pxeles
adyacentes
pertenecientes
al
permetro del objeto. La conexin se Figura 7. 16 Codificacin segn vecindad a 4 8
214
215
Carlos Platero
Aunque es invariante a traslaciones, depende tanto del tamao como del punto
donde se inicializa la representacin polar. Para que sea invariante a escala se normaliza
la distancia en el rango [0 1]; slo bastar con dividir todas las distancias por la que sea
la mayor. Respecto a la dependencia al punto inicial, se toma aquel que tenga la mxima
distancia.
La
signatura es muy
sensible a la
eleccin
del
punto interior.
Esta
funcin Figura 7. 19 Sensibilidad de la signatura con la eleccin del punto interior
caracterstica
cambia sustancialmente si se desva del centroide. Tambin
tiene el problema con la aparicin de concavidades en el
objeto, ya que la funcin resulta multievaluada para algunos
ngulos. Para solventarlo se suele emplear la envolvente
Figura 7. 20 Objeto con
convexa2.
concavidades
div
(7. 8)
Una trozo de la curva es convexa si el radio de curvatura est en el interior del objeto y cncava
si est fuera,
216
ED
1 n
2
i
n i 1
(7. 9)
2
2
1 2
1 0 1 2
1 0 1 2
1 0 1 2
0
div
x Fx x, y y Fy x, y 0
x1 , y1 , x2 , y2 ,..., xi , yi ,...xn , yn
Cada punto es convertido a variable compleja,
zi xi jy i . La aplicacin sobre esta secuencia compleja de la transformada de
Fourier obtendr una respuesta espectral:
n
Z k zne
2 k
i
K
k 0,1,2,..., K 1
i 1
(7. 10)
217
Carlos Platero
1
zi
K
K 1
Z
k 0
2 i k
n
K
i 1,2,..., n
(7. 11)
218
219
Carlos Platero
espacio de las caractersticas. Se observa que con una funcin discriminante lineal es
posible una ptima clasificacin.
Una vez seleccionada las caractersticas ms discriminante se proceder a la
clasificacin de los objetos. Existen diferentes tcnicas para la clasificacin de los
objetos. Entre ellas destacan los mtodos sintcticos, las redes neuronales y los
clasificadores estadsticos.
Figura 7. 24 Ejemplo de clasificacin entre iris setosa e iris versicolor empleando el ancho y
longitud de los ptalos
Figura 7. 27 Ejemplo de clasificacin mediante una red neuronal de los terrenos vistos en una
imagen area
1
Zi
ni
ni
X
j 1
ij
(7. 12)
221
Carlos Platero
(7. 13)
p i | X
p X | i p i
p X
(7. 14)
p X p X | i p i
i 1
(7. 15)
222
fi X p X | i p i
(7. 16)
p( X | i )
k /2
T
1
exp X M i i1 X M i
2
(7. 17)
223
Carlos Platero
k
1
fi X ln p X | i p i ln 2 ln i 2
2
1
T
X M i i1 X M i ln p i
2
(7. 18)
1
T
X M i 1 X M i
2
X Mi .
Ejemplo 7.2
Dado las siguientes muestras de 2-caractersticas de dos clases:
1 3 1 2 3
6 6 7 8 8
2
2 3 5 2 3
4 3 4 4 5
224
0.25
2
7
1
1 0.5
M 1 , M 2 , 1
y 2
3
4
0.25 1.5
0.5 0.5
pdf(obj,[x,y])
6
5.5
5
4.5
d1 X X M1 11 X M1 8.35
d 2 X X M 2 21 X M 2 34
T
3.5
3
2.5
2
1.5
1
p X
p X dX
R
dX
n/m
VR
(7. 19)
h
i 1
(7. 20)
225
Carlos Platero
p X
n/m
1
VR
mhp
X Xi
.
h
i 1
(7. 21)
X Xi
1 m
1
p X
exp
m i 1 2 h 2 12
2h 2
(7. 22)
Figura 7. 31 Estimacin de p(X) con 5 datos con tres diferentes anchos de ventana
7.4 Cuestiones
1. Etiquetamiento de las imgenes
2. Extraccin de caractersticas de los objetos etiquetados.
3. Clasificadores estadsticos.
226
7.5 Problemas
Problema 1
Calcular las caractersticas de regiones del objeto etiquetado.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
Area: 19
Centroid: [5.0526 5.6316]
BoundingBox: [2.5000 2.5000 5 6]
MajorAxisLength: 5.5489
MinorAxisLength: 4.6766
Eccentricity: 0.5382
Orientation: -76.7175
FilledArea: 19
EulerNumber: 1
EquivDiameter: 4.9185
ConvexArea: 20
Solidity: 0.9500
Extent: 0.6333
Perimeter: 13.8995
Problema 2
En la imagen de monedas (coins.png) se trata de clasificarlas en dos
categoras: pequeas y grandes. Se pide:
1.
Algoritmo de segmentacin, etiquetado y extraccin de las
caractersticas del rea de cada objeto etiquetado. Explicarlo y escribir el
seudo-cdigo en Matlab.
2.
Sabiendo que las reas de las monedas pequeas son y de las
grandes son y suponiendo distribuciones normales, calcular los parmetros de
las distribuciones y la probabilidad a priori de cada etiqueta.
3.
227
Carlos Platero
1.
Normal
pG 0.6
p area | P p p
p area | G pG
p area | P p p
log
p area | G pG
area 2 area 2
p
p
G
log G P 0
2
2
p
P
G
p G
228
2
1
exp (100230150)
0.2 0.0027
2
30 2
Respecto al fondo:
p ' bck ' | i 100 p i 100 | ' bck ' p ' bck '
p ' bck ' | i 100
1
150)2
exp (50220
0.8 0.015
2
20 2
229
Carlos Platero
1.
2.
3.
% lectura
imIn = rgb2gray(imread('TornTuercas.jpg'));
% Umbralizacin con Otsu
imbw = im2bw(imIn,graythresh(imIn))==0;
% Cierre
imgPost = imclose(imclearborder(imbw),strel('square',3));
% Relleno
imgPost2 = imfill(imgPost,'holes');
% Etiquetado
imLabel = bwlabel(imgPost2);
imshow(label2rgb(imLabel));
% Extraccin de las caractersticas
features = regionprops(imLabel,'Eccentricity','Centroid');
% Clasificador
hold on;
umbralBayes=0.8;
for i=1:numel(features)
if(features(i).Eccentricity< umbralBayes)
%Tuercas
plot(features(i).Centroid(1),features(i).Centroid(2),'ko');
else
%Tornillos
plot(features(i).Centroid(1),features(i).Centroid(2),'k+');
end
end
hold off;
Tor
p excenticidad * | Tor
1
p excenticidad * | Tuer
p excenticidad * | Tor
log
0
p excenticidad * | Tuer
excenticidad * Tor 2 excenticidad * Tuer 2
Tor
log
0
2
2
Tor
Tuer
Tuer
excenticidad * 0.638
231