1 Extracción de Frontera - Ingeniería en Automatización y Control

Anuncio
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Agosto de 2005
Extracción de Frontera (Boundary Extraction)
La frontera de un conjunto A, escrita como β(A), se puede obtener erosionando A por B
y luego calcular la diferencia entre A y su erosión. Esto es
β ( A) = A − ( AΘB )
donde B es un elemento estructural apropiado.
A continuación se presenta un ejemplo de la operación de frontera. La figura 15 muestra una imagen binaria y el resultado usando la ecuación anterior con un elemento estructural de 3x3 estándar N8 (figura 9 (b)).
Figura 15: Imagen binaria y el resultado de la extracción de frontera con un elemento estructural N8.
Si bien el elemento estructural usado es muy simple, existen otras elecciones más
complejas, por ejemplo, de tamaño 5x5 que ampliaría el grosor de la frontera a dos o tres
píxeles.
Afinado o Adelgazamiento (Thinning)
El afinado de un conjunto A por el elemento estructural B, puede ser definido en términos de la transformada hit-or-miss como
A ⊗ B = A − ( A ∗ B) = A ∩ ( A ∗ B)C
Una definición más útil para el afinado simétrico de A está basado en una sucesión de
elementos estructurales
{B} = {B 1 , B 2 , B 3 ,... B n }
donde Bi es una versión rotada de Bi-1. Considerando lo anterior, definimos el afinado por
una sucesión de elementos estructurales como
Operaciones Morfológicas en Imágenes Binarias – 3ra parte
1
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Agosto de 2005
A ⊗ {B} = ((...(( A ⊗ B 1 ) ⊗ B 2 )...) ⊗ B n )
Es decir, el proceso consiste en afinar el conjunto A un paso con B1, luego afinar el resultado con B2 y así sucesivamente hasta Bn. El proceso se repite hasta que no ocurren
más cambios. Cada paso de afinado se realiza usando la primera ecuación.
La figura 16 (a) muestra una serie de elementos estructurales frecuentemente usados
para el afinado y la figura 16 (b) muestra un conjunto A que se desea afinar aplicando el
procedimiento recién presentado. La figura 16 (c) exhibe el resultado de afinar A con B1, y
las figuras 16 (d) a (k) son el resultado de afinar con los Bi restantes.
(a)
(b)
(d)
(e)
(g)
(h)
(j)
(k)
Figura 16: a) Secuencia de los elementos estructurales
usados para el afinado. b) Conjunto A. c) Resultado de
afinar A con el primer elemento. (d)-(i) Resultados del
afinado con los siguientes 7 elementos. j) Resultado
de afinar sucesivamente con los primeros 3 elementos.
k) Resultado final (luego de la convergencia).
Operaciones Morfológicas en Imágenes Binarias – 3ra parte
2
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Agosto de 2005
Engrosamiento (Thickening)
El engrosamiento es la operación morfológica dual del afinado y se define mediante la
siguiente expresión
donde B es un elemento estructural apropiado para el engrosamiento. Al igual que con el
afinado, el engrosamiento se puede definir como una operación secuencial
Los elementos estructurales usados para el engrosamiento son los mismos que los del
afinado, pero cambiando los 1’s por 0’s y viceversa. Sin embargo, esta implementación no
se suele usar en la práctica. El procedimiento usual consiste en afinar el fondo del conjunto deseado y complementar el resultado. En otras palabras, para engrosar un conjunto A
lo que se hace es formar el conjunto C=AC, afinar C y luego complementar.
Relleno de Región (Region Filling)
En ciertas aplicaciones, es conveniente poder reconstruir una imagen que ha sufrido
varias erosiones o poder llenar un objeto que está definido por una frontera. Para ello, se
puede utilizar una operación llamada relleno de región cuyos algoritmos están basados en
dilataciones, complementaciones e intersecciones. La figura 17 muestra un conjunto que
contiene un subconjunto cuyos elementos están 8-conectados y constituyen la frontera de
una región. Comenzando por un punto p (conocido como ‘semilla’ o ‘seed’) que se encuentre dentro de la frontera, el objetivo es rellenar completamente la región con 1’s.
Consideremos que todos aquellos puntos que no pertenecen a la frontera son cero (el
fondo o background) y asignemos al punto p (la semilla) el valor uno. El siguiente procedimiento, entonces, rellena la región determinada por el punto p con 1’s:
k = 1,2,3,...
X k = ( X k −1 ⊕ B ) ∩ AC
donde X0=p, y B es el elemento estructural de la figura 17 (c). El algoritmo converge cuando Xk = Xk-1. El conjunto resultante de la unión de Xk y A contiene a la región rellenada y
su frontera.
Es importante notar que el proceso de dilatación rellenaría todo el conjunto. Sin embargo, la intersección en cada paso con AC limita el proceso a la región de interés (este tipo
de dilatación recibe el nombre de dilatación condicionada). Aunque en este ejemplo sólo
rellenamos una región o subconjunto, el concepto puede aplicarse a un número finito de
regiones, siempre que conozcamos puntos dentro de éstas (las semillas).
La figura 18 muestra una imagen que contiene varios círculos blancos con círculos en
negros en su interior. Este tipo de imagen puede ser el resultado de aplicar un umbral a otra imagen que consistía de esferas brillantes. Los círculos negros son el resultado de las
reflexiones. El objetivo es eliminar las reflexiones mediante el relleno de región. La figura
18 (a) muestra un punto (la semilla) dentro de una de las esferas, y la figura 18 (b) muesOperaciones Morfológicas en Imágenes Binarias – 3ra parte
3
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Agosto de 2005
tra el resultado de rellenar esa región. Finalmente, la figura 18 (c) es el resultado de rellenar todas las esferas.
Figura 17: Relleno de región. a) Conjunto A.
b) Complemento de A. c) Elemento
estructural B. d) Punto inicial dentro de la
frontera (semilla). (e) a (h) Varios pasos del
relleno. i) Resultado final producto de la
unión de (a) con (h).
Figura 18: a) Imagen binaria (el punto blanco dentro de una de las regiones es el punto
inicial o semilla para el algoritmo de relleno. b) Resultado de rellenar esa región. c) Resultado
de rellenar todas las regiones.
Operaciones Morfológicas en Imágenes Binarias – 3ra parte
4
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Agosto de 2005
Esqueleto
El esqueleto intenta representar la forma de un objeto con un número relativamente pequeño de píxeles. De esta forma, todos los píxeles del esqueleto son estructuralmente necesarios.
La posición, orientación y longitud de las líneas del esqueleto se corresponden con aquellas equivalentes de la imagen original. La tarea de sacar características de una imagen queda simplificada al obtener su esqueleto.
Como se ve en la figura 19, el concepto de esqueleto, S(A), de un conjunto A es intuitivamente simple. De la figura deducimos que
i)
ii)
Si z es un punto de S(A) y (D)z es el disco más grande centrado en z y contenido
en A, no se puede encontrar un disco más grande (no necesariamente centrado
en z) que contenga a (D)z y esté incluido en A. El disco (D)z se denomina disco
máximo.
El disco (D)z contacta a la frontera de A en dos o más puntos diferentes.
El esqueleto de A puede ser expresado en términos de erosiones y aperturas. Esto es,
K
S ( A) = U S k ( A)
S k ( A) = ( AΘkB) − ( AΘkB ) o B
k =0
donde B es un elemento estructural, y (AΘkB) indica k erosiones sucesivas de A:
( AΘkB) = (...( AΘB)ΘB)Θ...)ΘB
k veces, y K es el último paso iterativo antes de que A sea erosionado por completo (y se
obtenga el conjunto vacío). En otras palabras
K = max{k | ( AΘkB) ≠ ∅}
Las dos primeras expresiones sugieren que el esqueleto S(A) se puede obtener como
la unión de subconjuntos esqueleto Sk(A). También se puede demostrar que el conjunto
original A puede ser reconstruido a partir de estos subconjuntos utilizando la siguiente eK
cuación
A = U ( S k ( A) ⊕ kB)
k =0
donde (Sk(A) ⊕kB) representa k dilataciones sucesivas de Sk(A); es decir
( S k ( A) ⊕ kB) = (...( S k ( A) ⊕ B ) ⊕ B ) ⊕ ...) ⊕ B
Operaciones Morfológicas en Imágenes Binarias – 3ra parte
5
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Agosto de 2005
Figura 19: a) Conjunto A. b) Varias
posiciones de los discos máximos con
centro en el esqueleto de A. c) Otro
disco máximo ubicado en un
segmento diferente del esqueleto de
A. d) Esqueleto completo.
Poda (Pruning)
Los métodos de poda son un complemento esencial al afinado y cálculo del esqueleto
ya que estos procedimientos tienden a dejar componentes parásitos que deben ser eliminados luego. Comenzamos la discusión con un problema de poda y después desarrollaremos una solución morfológica basada en operaciones ya vistas.
Una aproximación común en el reconocimiento automático de caracteres manuscritos
es analizar la forma de los esqueletos de cada caracter. Estos esqueletos frecuentemente
están caracterizados por espuelas (o puntas o crestas) que constituyen componentes parásitos. Éstos se originan durante la erosión por no uniformidades en los trazos que forman los caracteres. Vamos a considerar que la longitud de los componentes parásitos no
exceden un determinado número de caracteres.
La figura 20 (a) muestra el esqueleto de una ‘a’ manuscrita. El complemento parásito
sobre el lado izquierdo del caracter es lo que queremos eliminar. La solución está basada
en suprimir una bifurcación mediante la eliminación sucesiva de su punto final. Esto también eliminará cualquier otra bifurcación en el caracter pero, en este ejemplo vamos a asumir que cualquier bifurcación de 3 o menos píxeles será eliminada. El afinado de un
conjunto A con una secuencia de elementos estructurales diseñados sólo para la detección de puntos finales realiza la tarea deseada. Esto es
X 1 = A ⊗ {B}
donde {B} representa la secuencia de elementos estructurales mostrados en las figuras 20
(b) y (c). Los elementos estructurales consisten de dos estructuras diferentes y donde cada una está rotada 90 grados.
Aplicando tres veces la ecuación anterior a A se consigue el conjunto X1 mostrado en la
figura 20 (d). El siguiente paso es restaurar el caracter a su forma original, pero sin las bifurcaciones parásitas. Para hacer esto, primero se debe formar el conjunto X2 de manera
que contenga todos los puntos finales en X1:
8
X 2 = U ( X1 ∗ Bk )
k =1
k
donde los B son los mismos detectores de puntos finales mostrados en la figura 20 (b) y
(c). El siguiente paso es dilatar tres veces los puntos finales, usando al conjunto A como
delimitador:
X3 = (X 2 ⊕ H ) ∩ A
Operaciones Morfológicas en Imágenes Binarias – 3ra parte
6
Universidad Nacional de Quilmes – Ing. en Automatización y Control Industrial
Cátedra: Visión Artificial
Agosto de 2005
donde H es un elemento estructural de 1’s.
Finalmente, el resultado deseado se obtiene de la unión de X3 y X1 (figura 20 (g)).
X 4 = X1 ∪ X 3
Figura 20: Imagen original. (b) y (c) Elementos estructurales usados para borrar
los puntos finales. d) Resultado luego de 3 procesos de afinado. e) Puntos finales
de (d). Dilatación de los puntos finales condicionada por A. g) Imagen podada.
Referencias
1) Digital Image Processing Second Edition, Rafael C. Gonzalez – Richard E. Woods,
capítulo 9.
Operaciones Morfológicas en Imágenes Binarias – 3ra parte
7
Descargar