INTRODUCCIÓN
Johann Karl August Radon (1887-1956), matemático austriaco, en 1917, publicó el artículo donde mostraba que si todas las integrales de líneas de una función a lo largo de los hiperplanos se conocían, entonces se podría reconstruir la función usando el operador que él propuso, el cual se conoce actualmente con el nombre de transformada de Radon [1-3]. Este ha sido aplicado con éxito en variadas tareas como, por ejemplo, la reconstrucción de imágenes tomográficas [4-7], la corrección de imágenes multiespectrales [8], la detección de puntos en huellas dactilares digitales [9] y el reconocimiento de caracteres en una imagen digital [10], entre otras.
La segmentación es una etapa del procesamiento digital de imágenes o PDI. Esta se define, de manera general, como el proceso de dividir una imagen digital en segmentos o estructuras significativas, tal que cada pixel se encuentra asociado a una etiqueta distintiva del segmento al que pertenecen [11-14]. Este proceso suele resultar bastante complejo debido a que en la mayoría de los casos no se cuenta con la información adecuada de los pixeles y en otros, el problema se presenta por: el ruido de las imágenes, los histogramas planos o por una iluminación no homogénea entre otras causas. Esto puede ocasionar en el peor de los escenarios la pérdida de pixeles de la región de interés. Para solucionar estos problemas se hace necesario buscar nuevas maneras de obtener información de los pixeles, como, por ejemplo, la información de la transformada de Radon de los pixeles.
En este documento se presenta un algoritmo de segmentación denominado por los autores como algoritmo de segmentación de Radon para binarizar imágenes en escala de grises. El artículo se organiza de la siguiente manera: en la sección 1 se define desde las matemáticas la segmentación, en la sección 2 se presentan los fundamentos de la transformada de Radon, en la sección 3 se muestra el algoritmo de segmentación propuesto, en la sección 4 se dan a conocer los resultados obtenidos con los algoritmos de segmentación de Radon, de Otsu Optimizado y SRG, por último, en la sección 5 se concluye el documento.
1. LA SEGMENTACIÓN
Desde las matemáticas, el propósito de la segmentación es construir particiones en una imagen digital [11-15]. Es decir, si R representa la región entera de la imagen entonces, la segmentación particiona a R en n subregiones R1, R2 R3,…, Rn tales que:
Cada pixel debe pertenecer a una región. Esto es,
Los pixeles en una región deben estar conectados. Esto es, Ri es una región conectada para i =1, 2,3,…, n.
Las regiones no deben estar unidas. Esto es, para todo i,j con i ≠ j.
Para generar las regiones R i se define un predicado lógico P de análisis de los pixeles. Así P (R i )=VERDADERO si todos los pixeles en R i cumplen el predicado y las regiones R i y R j son diferentes si = FALSO.
Particionar las imágenes es una tarea que puede ser desarrollada con distintos métodos, como por ejemplo: el método de umbralización, el método basado en regiones, el método basado en cluster, el método watersheds (cuencas hidrográficas), el método basado en bordes, el método basado en modelos (campos aleatorios de Markov), el método de reconocimiento de patrones, el método basado en modelos de contorno activo y el método de inversión, entre otros [16-18].
2. TRANSFORMADA DE RADON EN DOS DIMENSIONES
Sean: el conjunto abierto, la función de con soporte compacto f: D→R y la recta L que interseca a D como se ilustra en la figura 1.
La integral de línea de f sobre L, se determina con la expresión:
donde ds es el incremento sobre L. En un sistema de coordenadas rotados θ grados (figura 2), se establecen las siguientes relaciones para (x, y) ∈ L y θ un ángulo fijo en [0, 2 π):
(2) se denomina la ecuación de la recta normal de L (figura 2). Entonces la integral (1) se puede escribir como,
De acuerdo con [19-20], es la transformada de Radon en dos dimensiones de f cuando existe para todos los valores de p y 𝜃, mientras que para un ángulo fijo 𝜃 se dice que es una proyección de f al ángulo 𝜃 (figura 3).
La transformada de Radon en el contexto del PDI sufre dos discretizaciones por la naturaleza de las máquinas (computadores, tomógrafos, entre otras). La primera se da en la variable angular 𝜃 y la segunda la sufre la proyección para cada uno de los ángulos discretizados y tiene que ver con el número de rayos que se requieren (resolución). La integral de línea dada en (5) a lo largo de la recta que pasa por los puntos P1 y P2 (figura 4) en forma discreta se aproxima por medio de:
Aquí, L (i, j) corresponde a un factor de peso del pixel (i, j) igual a la longitud de la intersección del rayo con el pixel (i, j) y p(i, j) corresponde al valor de intensidad de la imagen asignado al pixel (i, j).
3. ALGORITMO DE SEGMENTACIÓN DE RADON
Para generar las regiones R i de dicho algoritmo, los autores definen el siguiente predicado lógico:
“Un pixel (i, j) pertenece a la región de interés R i si cumple, donde:
rn es la proyección de Radon para θ = 45° del rayo n-ésimo para cada pixel analizado.
r s n es la proyección de Radon para θ = 45° del rayo n-ésimo para el pixel escogido como semilla en la región de interés.
T es el límite de la banda de aceptación; mismo que se calcula dividiendo 100 (pixel unidad) entre el número de rayos de la proyección de Radon para θ = 45° (en forma impar para efectos de simetría y de programación)”.
En la figura 5 se presenta el diagrama de flujo con los comandos respectivos de MatLab versión R2015b.
Las imágenes segmentadas en regiones blancas y negras, es decir, las imágenes binarizadas se ilustran en la figura 6 y la relación de los pixeles respectivos se presenta en la tabla 1. Estas fueron procesadas en un equipo Toshiba Tecra A11-SP5003L. El software empleado fue MatLab.
Imagen | Formato | Resolución | Número de pixeles | |
1 | ‘rice’ | Tif | 256x256 | 65536 |
2 | ‘coins’ | Png | 246x300 | 73800 |
3 | ‘circuito’ | Tif | 526x510 | 268260 |
4 | ‘hojas’ | Jpg | 2448x3264 | 7990272 |
5 | ‘cameraman’ | Tif | 256x256 | 65536 |
6 | ‘boat’ | bmp | 512x512 | 262144 |
Fuente: elaboración propia
La imagen ‘hojas.jpg’ es una imagen en colores; el resto son imágenes en escala de grises de los archivos de MatLab cuyo propósito es la experimentación con nuevos algoritmos. Las distribuciones de las intensidades, observadas en los histogramas (figura 7), hacen de cada imagen escogida la representante de una familia completa de imágenes.
4. ANÁLISIS DE RESULTADOS
Los resultados del algoritmo de segmentación de Radon se compararon con los resultados de los algoritmos de Otsu Optimizado [21] y SRG [22]; mismos que se escogieron por ser robustos y rápidos. El primero automatizado, paramétrico (utiliza la información del histograma y la varianza para determinar el umbral), y el segundo no paramétrico requiere supervisión humana (utiliza la información de un pixel semilla a partir del cual crece la región de acuerdo con un predicado lógico). Todas las imágenes fueron previamente filtradas para eliminar el ruido con el algoritmo de difusión Perona-Malik [23].
Las figuras de la 8 a la 13 contienen las imágenes originales, las imágenes binarizadas con el algoritmo de segmentación de Radon y con los otros dos algoritmos. Las zonas encerradas con rojo señalan las regiones en donde los algoritmos presentaron dificultades ya sea por perder pixeles, brindar información falsa (pixeles que no pertenecen a la región de interés) o por no poder segmentar.
La tabla 2 contiene los tiempos promedio de procesamiento de los algoritmos.
Imágenes | Algoritmo de Otsu Optimizado t (s) | Algoritmo de Radon t (s) | Algoritmo Seeded Región Growing t (s) |
‘rice.tif’ | 0,000764 | 1,953297 | 1,607257 |
‘coins.png’ | 0,000746 | 1,681585 | 1,366126 |
‘circuito.tif’ | 0,001257 | 1,433066 | 1,211621 |
‘hojas.jpg’ | 0,066307 | 163,499398 | 1556,155041 |
‘cameraman.tif’ | 0,003648 | 0,885388 | 0,818291 |
‘boat.bmp’ | 0,001392 | 10,287584 | 10,320769 |
Fuente: elaboración propia
El algoritmo de Radon ni el SRG se encuentran optimizados, algo que sí ocurre con el algoritmo de Otsu lo que lo convierte en el más rápido.
Cuando las escenas de la imagen registran iluminación no homogénea en los objetos de interés como por ejemplo, ‘hojas.jpg’ y ‘boat.bmp’ el algoritmo de Radon le toma ventaja en tiempo al algoritmo SRG.
La tabla 3 brinda información sobre el número de píxeles de las regiones de interés de las imágenes binarizadas. El signo negativo indica que se perdieron pixeles de la región de interés mientras que el positivo indica los pixeles que no hacen parte de dicha región; se trata de falsos positivos.
Imágenes | Algoritmo de Otsu Optimizado (pixeles) | Algoritmo de Radon (pixeles) | Algoritmo SRG (pixeles) |
‘rice.tif’ | -1224 | -17 | -3771 |
‘coins.png’ | +1146 | -10 | -13 |
‘circuito.tif’ | +18119 | -5 | +165373 |
‘hojas.jpg’ | +318927 | -11 | +400372 |
‘cameraman.tif’ | +3371 | -19 | -19421 |
‘boat.bmp’ | +146165 | -24 | -5631 |
Fuente: elaboración propia
El algoritmo que menor número de pixeles pierde en las regiones de interés, es el algoritmo de segmentación de Radon; además, no proporciona información falsa.
Para el caso ‘circuito.tif’ el de Otsu arroja información falsa lo mismo que el SRG.
Un punto de discusión para estos resultados se genera con el peso que se le asigne a los algoritmos en cuanto a importancia del tiempo de ejecución o pérdida de pixeles de las regiones de interés.
CONCLUSIONES
En este documento se mostró que la transformada de Radon puede ser aplicada con buenos resultados en la segmentación de imágenes en escala de grises.
El algoritmo de segmentación de Radon propuesto no requiere de usuarios expertos en parámetros especiales de entrada; deben seleccionar visualmente las semillas de las regiones de interés que desean separar del resto de regiones en la imagen digital.
Con la divulgación de este algoritmo, la comunidad interesada en el PDI tendrá entre sus tareas el fortalecimiento y la optimización del mismo.