Download Método de detección automática de máscara para inpainting de

Document related concepts
no text concepts found
Transcript
TP Final – Procesamiento Digital de Imágenes – 2010
1
Método de detección automática de máscara
para inpainting de imágenes
Aizensztein; Pablo G. [[email protected]] Bassi; Fernando A. [[email protected]]
Trabajo de Aplicación
Procesamiento Digital de Imágenes
FICH - UNL
Resumen—Numerosas librerías realizan la técnica de
inpainting a partir de la lectura de una imagen degradada y una
máscara binaria diseñada manualmente por el usuario, para
aproximar los sectores a recomponer. El método propuesto se
centra en la detección automática de la máscara, combinando
los conceptos de modelos de colores y sus conversiones, análisis
de histograma, segmentación por color y restauración de
imágenes. Una vez obtenida la máscara, se procede a la
utilización de la librería GREYCstoration para realizar la
“limpieza” de la imagen degradada.
Palabras Clave — Inpainting, mascara binaria, segmentación
de color, interpolación, GREYCstoration.
I. INTRODUCCIÓN
L
AS fotografías suelen un tener un significado especial
para los seres humanos en diversas circunstancias, y por
tal motivo es deseable que se mantengan intactas al paso del
tiempo, a los maltratos efectuados en su manipulación y a
accidentes fortuitos entre otras cosas. Una vez que algo no
deseado ocurre y la imagen se perturba, ¿Se puede hacer algo
para intentar devolverle sus características originales? Es
importante hacer un análisis del problema que se enfrenta
cuando se quiere restaurar una fotografía, ya que habrá
efectos donde la solución no será optima. Se aborda
especialmente el problema de las rayas de colores sólidos
(color uniforme a lo largo de todas la raya), como las que se
realizan con fibras o biromes de colores. Se propone el uso de
la técnica de inpainting implementada en la librería
GREYCstotration y el desarrollo de un método de detección
automática de máscara binaria, que combinados serán la
herramienta que permita restaurar la fotografía degradada.
Cabe destacar que en la actualidad, la generación de la
máscara binaria se realiza manualmente, y por eso se plantea
el presente trabajo.
II. MARCO TEÓRICO
A. Inpainting
Es el proceso de reconstruir partes perdidas o deterioradas de
imágenes. En el mundo digital, inpainting (también conocido
como interpolación de la imagen o interpolación video)
refiere al uso de algoritmos sofisticados para recuperar las
partes perdidas o corrompidas de los datos de la imagen. La
interpolación consiste en calcular valores numéricos
desconocidos a partir de otros ya conocidos mediante la
aplicación de algoritmos concretos. Inpainting se utiliza para
quitar los efectos conocidos como “ojos rojos”, la fecha
estampada de las fotografías y quitar objetos al efecto
creativo, como así también para recuperar los bloques
perdidos en la codificación y la transmisión de imágenes.
En la actualidad, existen varios métodos para realizar
inpainting, entre los cuales encontramos método de Olivera y
multiresolución, método de Bertalmio, método de Crimisi y
método de Papoulis-Gerchberg, entre otros.
GREYCstoration[1] es una librería desarrollada en Francia
por David Tschumperlé y un grupo importante de
colaboradores. Permite el procesamiento de imágenes a color,
removiendo pequeñas variaciones locales de intensidades de
píxel sin afectar las características y rasgos globales de la
imagen, como pueden ser los bordes. La librería utiliza el
método de Bertalmio[3] y permite trabajar en tres modos:
restauración, inpainting y redimensionado. Los parámetros
que recibe el algoritmo personalizan la forma en la cual el
suavizado será llevado a cabo, y así se pueden generar
distintos tipos de resultados.
Los métodos para suavizado que ofrece la librería son [2]:
i) Vecino Más Próximo: se selecciona el valor del píxel más
cercano al punto que se desea interpolar.
ii) Lineal: considera los 4 píxeles más cercanos al punto a
interpolar. Se obtiene un promedio entre estos 4 puntos.
iii) Runge-Kutta: métodos iterativos, tanto implícitos como
explícitos, para aproximar las soluciones de ecuaciones
diferenciales ordinarias.
B. Método de detección automática de máscaras
En esta sección se procede a explicar la secuencia de pasos
para la detección automática de máscaras binarias.
Como primera medida se establecen algunas pautas que
limitan el uso del método. En primer lugar, el método fracasa
si la degradación seleccionada es de un color ya existente en
la imagen.
De una imagen afectada por líneas u objetos indeseados, se
seleccionan regiones de la misma que presenten un alto
porcentaje de imagen “limpia” y en menor medida la
degradación. Cada una de las regiones seleccionadas, deben
ser estudiadas individualmente. El método que se aplica a
cada selección, se detalla a continuación.
TP Final – Procesamiento Digital de Imágenes – 2010
2
Primero se realiza una binarización[4] para comprimir el
rango de colores, de esta forma se logran nueve valores
diferentes:
9 = 32
donde 3 es la cantidad de canales (RGB) y 2 corresponde a la
binarización.
A continuación se procede a contar la cantidad de colores
presentes en la selección ya binarizada, rechazando el color
que presente una probabilidad de ocurrencia mayor al 50%
(es considerado color de fondo) y también el/los colores que
estén por debajo del 3.5% (es considerado error de
binarización).
Cabe destacar que el estudio se realiza en el espacio
RGB[4], y en caso de que la binarización unifique el color de
fondo con el de la forma a detectar, se procede a realizar el
estudio en el espacio HSI[4]; donde un cambio abrupto en la
componente I (intensidad), representa un objeto diferente al
fondo.
Con los colores detectados, se genera una máscara binara
(de la selección), donde los colores que fueron detectados
como color de fondo y como error de binarización
corresponden a negro, dejando el color de interés en blanco.
A efectos de eliminar puntos aislados en la máscara, se
erosiona la misma.
Una vez obtenida la máscara, se procede a multiplicarla
por el segmento de imagen para obtener los valores “reales”
de color que se desean eliminar. Seleccionando los valores
máximos y mínimos de color correspondientes al segmento
estudiado, se realiza una segmentación por color[4].
Utilizando un rango válido y real de colores se obtiene como
resultado una máscara binaria de toda la imagen. Este
proceso se realiza tantas veces como cantidades de segmentos
se hayan seleccionado.
Las máscaras binarias generadas en el paso anterior, se
unen mediante una suma lógica (OR). Se obtiene de esta
forma, una máscara binaria que contempla todos los
elementos seleccionados para ser eliminados.
Para evitar errores que pueden darse por la presencia de
líneas dobles y elementos aislados, se procede a realizar una
erosión de la máscara final y luego se aplica una dilatación.
Con la máscara final, se utiliza la librería GREYCstoration
para realizar el inpainting.
III. EXPERIMENTACIÓN Y RESULTADOS
En este apartado se muestra el funcionamiento del método
de detección automática de máscaras en varias imágenes,
como también el análisis y discusión de los resultados. Se
plantean 3 casos:
A. Degradación con líneas uniformes.
Dada la imagen real de color RGB la cual se encuentra
degradada por líneas de colores sólidos y visibles (Figura 1).
Se seleccionan las muestras de color quedando del modo
siguiente:
Figura 1: Imagen degradada con líneas de colores
homogéneos
Se presentan las muestras para su tratamiento individual,
según lo expresado en la descripción del método:
Figura 2: Selecciones de regiones con información de
degradación.
Se realiza la binarización en RGB. Se observa en la figura
3 c. una inapropiada detección de la línea de color amarillo:
Figura 3: Binarización de regiones en el espacio RGB.
Se recurre al espacio HSI de la región defectuosamente
operada (Figura 2 c), y se toma como referencia para la
detección de la línea la componente de intensidad I:
Figura 4: Intensidad de la región con línea amarilla.
Se genera la máscara binaria para cada región y se erosiona
para eliminar puntos ajenos a las líneas de interés:
Figura 5: Máscaras Binarias en cada región.
Con las mascaras (Figura 5) se obtienen los colores
presentes en las degradaciones a restaurar:
Figura 6: Máscaras de colores reales.
Se realiza la segmentación por color en la imagen original
obteniendo como resultado una máscara binaria final, la cual
TP Final – Procesamiento Digital de Imágenes – 2010
será erosionada y dilatada para evitar los efectos de las dobles
líneas y aumentar el grosor de las mismas:
3
que la máscara no alcanzó una forma óptima que permita el
correcto desempeño de la técnica.
B. Degradación con formas complejas.
Se presenta una imagen real, contaminada con formas y
objetos complejos de colores sólidos:
Figura 7: Máscara final erosionada y dilatada
A
continuación
se
presentan
los
resultados
correspondientes al inpainting suavizado por los métodos de
los que dispone la librería:
Figura 9: Imagen degradada con formas complejas.
El método logra la detección de la siguiente máscara:
Figura 10: Máscara Binaria.
El resultado del inpainting, utilizando los 3 métodos de
suavizado, retornan imágenes similares cuya diferencia es
poco diferenciable para el ojo humano:
Figura 11: Imagen Restaurada por Inpainting.
Se percibe que el método falla cuando procesa formas
complejas. Esto se debe a que la segmentación por color
trabaja con el rango de colores del contorno de dichas formas
y rechaza el interior de las mismas.
Figura 8: Resultados del procesamiento.
En la Figura 8 se presentan los resultados del inpainting y
el suavizado correspondiente a vecino más cercano (a),
interpolación lineal (b) y Runge-Kutta (c).
Se aprecia que parte de la degradación no fue removida
totalmente en algunas zonas; luego de realizar un análisis
sobre la figura 7, resultado del método propuesto, se verifica
TP Final – Procesamiento Digital de Imágenes – 2010
C. Eliminación de objetos en imágenes reales.
Con el objetivo de suprimir objetos reales definidos por un
rango variable de color (colores NO sólidos), se presenta el
siguiente caso de estudio:
Figura 12: Imagen real
Se propone eliminar la reja de la imagen. Utilizando el
método de detección automática de máscaras, se obtiene la
siguiente salida:
4
IV. CONCLUSIONES
En esta primera aproximación a la automatización de la
detección de máscaras, se ha logrado resultados favorables en
algunos casos por sobre las limitaciones y errores planteadas
a través de los experimentos.
Se ha presentado un método que tiene un funcionamiento
adecuado en degradaciones sólidas y suficientemente
delgadas. Sin embargo, se han encontrado dificultades cuando
aparecen objetos reales y formas complejas, el método no
realiza una máscara adecuada dejando su sección interior con
notorios errores.
Se utilizaron tres métodos diferentes para el suavizado de
la restauración. No se observan diferencias notorias en la
calidad de la imagen final en comparación con la complejidad
de cada interpolación, por tal motivo, es conveniente procurar
rapidez con métodos simples.
El óptimo desempeño del método se puede lograr
mejorando dos factores claves; en primer lugar la justeza de
la máscara, (la exactitud de la mascara sobre los elementos
que se desean eliminar), y el interpolador que se elija para
suavizar la técnica de inpainting.
V. TRABAJOS FUTUROS
Figura 13: Máscara binaria
Se aplica la técnica de inpainting con la mascara de la
figura 13, resultando:
Debido a los pocos avances en la detección automática de
máscaras, este trabajo presenta un punto de partida, que pese
a sus limitaciones y errores, se proponen algunos temas para
extender y perfeccionar el estudio.
Trabajar sobre el descarte de colores en la selección por
medio del uso de porcentajes de ocurrencia, ya que al
tomar recortes de cierto tamaño, el método que se
plantea suele procesar inadecuadamente el color válido
para la restauración.
Determinar un umbral dinámico basado en medidas
estadísticas del color que se detecta, para limitar el rango de
colores en la tarea de segmentación.
Las imágenes reales presentan formas compuestas por
colores no necesariamente sólidos y por esto, el problema
de limpiar dichas formas requiere el estudio de algún
método de reconocimiento de objetos sin importar su color.
VI. BIBLIOGRAFÍA.
[1] http://cimg.sourceforge.net/greycstoration/index.shtml
[2] D. Kinkaid, W. Cheney (1994). Análisis Numérico.
Addison-Wesley Iberoamericana SA.
[3] M. Bertalmio y G. Sapiro, (): Image Inpainting. Electrical
and Computer Engineering, University of Minnesota.
Figura 14: Resultado del procesamiento
Se puede ver que se logró una aproximación, pero la
variabilidad en el rango de colores de la reja, produjo con la
segmentación una máscara delgada y deformada que no fue
suficiente para lograr un resultado adecuado.
[4] R. C.Gonzalez y R. E.Woods, (2001): Digital Image
Processing. Prentice-Hall.