Professional Documents
Culture Documents
SISTEMAS DE PROCESAMIENTO
DIGITAL DE IMÁGENES
Presenta:
2. Desarrollo vii
2.1. Sistema de reconocimiento de señales de tránsito: . . . . . . . . . . . . . . . . vii
2.2. Sistema de reconocimiento de posturas basado en esqueletización: . . . . . . . viii
3. Resultados x
3.1. Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
3.2. Resultados del Sistema de reconocimiento de Señales de tránsito . . . . . . . . xiii
3.3. Resultados del Sistema de reconocimiento de posturas . . . . . . . . . . . . . . xvii
Referencias 1
Introducción iii
1. Introducción
El término procesamiento digital de imágenes versa sobre la manipulación y análisis
de imágenes por computadora [1]. De aquí en adelante se usará el termino procesado de
imágenes refiriéndose a procesamiento digital de imágenes. El procesamiento de imagen puede
considerarse como un tipo especial del procesamiento digital en dos dimensiones, el cual se
usa para revelar información sobre imágenes y que involucra hardware, software y soporte
teórico. En la sección 1.1 se da la definición de imagen. En la sección 1.2 se describen las áreas
en que se divide el procesamiento de imágenes vistas estas áreas como un modelo general
del procesado de imagen. En la sección 1.3 se revisan los dispositivos y paquetes de cómputo
necesarios que conforman un sistema para realizar procesado de imagen.
El término imagen se refiere a una función bidimensional de intensidad de luz f(x, y),
donde x y y denotan las coordenadas espaciales y el valor de f en cualquier punto (x, y) es
proporcional al brillo (o nivel de gris) de la imagen en ese punto [1]. La Fig. 1 muestra la
convención de coordenadas que se usará.
Una imagen digital es una imagen f(x, y) que ha sido discretizada en coordenadas espa-
ciales y en brillo. Una imagen digital puede considerarse como una matriz cuyos índices del
renglón y columna identifican un punto en la imagen y el correspondiente valor del elemento
de la matriz que identifica el nivel de intensidad de luz en ese punto. Los elementos de tal
arreglo digital son llamados elementos de imagen, elementos de pintura o pixeles. Para traba-
jar con números en la computadora, el nivel de brillo, o valor de cada pixel, es cuantizado a
iv
códigos binarios enteros positivos (el brillo no puede ser negativo). El número de niveles de
cuantización está determinado por la relación.
L = 2B (1)
donde B representa el número de bits necesarios para cada muestra. Esto es, con 5 bits de
cuantización en la intensidad se pueden representar 32 niveles de gris. Para tener una imagen
de buena calidad para el ojo humano es necesario tener como mínimo 64 niveles de gris [2, p.
162]. Para una apreciación fina se usa una cuantización estándar a 8 bits, esto es, 256 niveles
de gris. A una imagen cuantizada de esta manera se le conoce como imagen en tonos de gris.
La cuantización a 8 bits (1 byte) se dice estándar porque es el mínimo número direc-
cionables directamente por la mayoría de los microprocesadores. Una imagen binaria es una
imagen monocromática cuantizada a 1 bit por pixel, esto es, dos niveles, blanco o negro.
El primer paso del proceso es la adquisición de la imagen, esto es, digitalizarla. Después
de que la imagen digital ha sido obtenida, el siguiente paso es el preprocesamiento. Su función
es mejorar la imagen de manera que se incremente la oportunidad de éxito de los siguientes
procesos. El preprocesamiento típicamente trata con técnicas para realizar el contraste y re-
mover ruido.
Introducción v
La base de conocimientos mantiene todo el conocimiento que se tiene acerca del problema
tratado. Este conocimiento puede ser simple, teniendo solo las regiones de la imagen donde
la información de interés se conoce que está localizada, con lo que se limita la búsqueda que
conduce a esa información. La base de conocimientos también puede ser compleja, tal como
una lista interrelacionada de todos los defectos mayores posibles en un problema de inspección
de materiales o una base de datos de imágenes conteniendo imágenes de satélite en alta resolu-
ción de una región en conexión con aplicaciones de detección de cambios. Además de guiar la
operación de cada módulo del proceso, la base de conocimientos también controla la interac-
ción entre módulos. Representando con flechas de doble punta en la Fig. 2 Con esto se indica
que la comunicación entre módulos del proceso generalmente está basada sobre conocimiento
previo de que resultado se podría esperar. Por ejemplo, para que una máquina concluya que
una cadena de caracteres es un código postal, el sistema debe estar dotado del conocimiento
necesario para reconocer el significado de la localización de la cadena con respecto a otros
componentes en un campo correspondiente a una dirección. Este conocimiento no sólo guía la
operación de cada módulo, sino también ayuda en las operaciones de retroalimentación entre
módulos a través de la base de conocimientos.
Es importante hacer notar que los resultados del procesamiento pueden verse en la salida
de cualquier paso de la Fig. 2 También debe notarse que no todas las aplicaciones del pro-
cesado de imágenes requieren la complejidad de interacciones. Númerosas aplicaciones caen
fuera de este esquema, de hecho, no todos los módulos son siempre necesarios. Por ejemplo,
el realce de imágenes para interpretación visual humana rara vez va más allá de la etapa de
preprocesamiento. En general, las funciones de procesamiento que incluyen reconocimiento e
interpretación están asociadas con aplicaciones de análisis de la imagen en la cual el objetivo
es que se extraiga la información de una imagen en forma automática o semiautomática.
vi
2. Desarrollo
2.1. Sistema de reconocimiento de señales de tránsito:
La primera parte del proyecto consiste en abordar el objetivo de reconocimiento de imá-
genes desde MATLAB. Dicho objetivo consiste en crear una interfaz gráfica, conocida también
como GUI (graphical user interface), donde, el usuario seleccione una imagen del disco duro
del ordenador, seleccionadas de una base de datos local almacenada en el propio disco duro
del ordenador. Como hemos comentado MATLAB nos permite la manipulación de imágenes
a partir de la implementación de algoritmos y de la manipulación de matrices.
Una vez obtenida la imagen que deseamos procesar, redefinimos su tamaño y la conver-
timos en escala de grises. De este modo nos aseguramos que todas las imágenes sean iguales
en tamaño y no haya problemas en el momento de realizar el procesado. El hecho de conver-
tirla en escala de grises es necesario para después poder aplicarle el algoritmo de detección de
bordes como veremos a continuación.
Es importante señalar que, las tres primeras tareas se desarrollan mediante técnicas de
filtrado; mientras que la última tarea se ejecuta mediante técnicas para la segmentación.
La parte más importante del programa consiste en la detección del borde de la imagen,
tanto la imagen que queremos procesar como las imágenes de la base de datos.
En detección de bordes se han presentado las técnicas: a) Canny, b) Snake simple. Se ha
desarrollado el método de umbralización de Otsu; en segmentación orientada a regiones.
Las tareas de segmentación no suelen dar un resultado exacto de la delimitación de los ob-
jetos o regiones de interés. Aparecen píxeles mal clasificados, bordes imprecisos de los objetos o
regiones que están solapadas. Por tanto, e se suele emplear el tratamiento morfológico. Es una
técnica de procesamiento no lineal de la señal, caracterizada en realzar la geometría y forma
de los objetos. Su fundamento matemático se basa en la teoría de conjunto. Las principales
tareas de tratamiento morfologico utilizadas en el proyecto fueron erosión y dilatiación.
viii
3. Resultados
3.1. Datos
A continuación se presentan y se describen los conjuntos de imágenes utilizadas en este
proyecto.
Señales de tránsito
Estas señales fueron hechas sobre lona siguiendo las normas establecidas por el manual
de señalización y dispositivos de seguridad de la Secretaria de Comunicaciones y Transportes
(color de fondo, color de señal, dimensiones) y se realizó la captura de tres fotografías de cada
una de ellas (de frente, lado izquierdo, lado derecho) utilizando la cámara de un teléfono móvil.
Las 27 fotografías de las señales fueron ordenadas de acuerdo al tipo de señal. En la
Figura 5, podemos ver la primera imagen con el titulo ImgStra 11, esto es: imagen de la señal
de tránsito 1, toma de frente y asi hasta la última imagen mostrada la Figura 7 en nombrada
imgStra 93, esto es: imagen de señal de tránsito 9, toma de lado derecho .
Imágenes de posturas
Se realizó la captura de nueve fotografías de cada postura (tres personas con diferente
estatura y tres fotografías de cada persona). Para la captura de la fotografía se utilizó la
cámara de un teléfono móvil y siempre será de frente.
El sistema sólo será capaz de procesar las imágenes con las siguientes posturas:
Brazos arriba extendidos
Brazo izquierdo arriba extendido
Brazo derecho arriba extendido
Resultados xi
Las 63 fotografías de las posturas fueron ordenadas de acuerdo al tipo de postura y tipo
de personal. En la Figura 8, podemos ver la primera imagen con el titulo ImgPos 111, esto
es: imagen de la postura 1, de la persona 1, toma de frente 1 y asi hasta la última imagen
mostrada la Figura 10 en nombrada imgPos 733, esto es: imagen de la postura 7, de la persona
3, toma de frente 3.
xii
En la figura 11 podemos ver la interface que separa sus opciones por filtro y método
de segmentación. En la esquina inferior izquierda tenemos los tres metodos de segmentación
mas utilizados de los cuales podemos apoyarnos para nuestra imagen. Por otro lado en la
parte superior central de la interface contamos con una columna de filtrado que nos permita
seleccionar entre aplicar filtor espaciales y en frecuencia para obtener una mejor respuesta en
la segmentación. Si se elige un filtro de frecuencia hay que recordar siempre rellenar la casilla
D0 que hace referencia a la frecuencia de corte.
Al utilizar el algoritmo de Snake (figura 12) se pude observar que la región del contorno
no se semeja totalmente a la de la imagen, esto se debe a la manipulacion de los parametros
de dicho algoritmo, ya que encontrando la conbinación ideal se podrian obtener mejores re-
sultados.
Se puede ver que la interfaz de ususario permite seleccionar la imagen de entrada con
el botón de examinar. En la parte de fitros se puede seleccionar el filtro que elimine el ruido
que se presente en la imagen de entrada. Para la segmentación de la imagen se encuentran los
algorimos basados en bordes y los algoritmos basados en umbralización, como se observan en
las imágenes anteriores. Por ultimo se muestran las características de la región de interés de
la imagen.
De igual forma que la figura anterior, la figura 17 muestra el analisis de otras imagenes,
la primer imagen presenta un problema en la parte superior de la flecha, ya que por efectos
de la luz se pierde la captura de esos datos para la segmentación, sin embargo posteriormente
a la segmentación se aplican técnicas morfológicas que rellenan esos espacios vacios tratando
de obtener el mejor resultado.
Resultados xvii
A diferencia de las imagenes de las señales, estas imagenes nos causaron un poco mas de
problemas por que experimentamos problemas referentes a la luminosidad, sombras, y figuras
en el piso.
pero que posteriormente se pueden solucionar aplicando morfologia para eliminar ese ruido.
Como bien se explicaba, las sombras pueden causar un conflicto pues los niveles de ener-
gía de la imagen suelen engañar a las técnicas empleadas, es por eso que en la figura 22 se
muestra la importancia de utilizar filtros que reduzcan la cantidad de ruidos y asi como se ve
en nuestro resultado, podamos obtener un área de segmentación exitosa.
Por otro lado, en la figura 23 observamos cuales fueron los resultados al aplicar una
segmentación de otsu en las imagenes sobre las posturas, si bien inicialmente se muestran
figuras con huecos internos sabemos que estos problemas se puedes solucionar despues en el
postprocesamiento, sin embargo en la segunda prueba podemos observar un error en los pies
Resultados xix
al no tener un contorno cerrado bien definido, lo que nos llevo a aplicar un segundo proceso de
filtrado y a utilizar mas técnicas de morfología para obtener una segmentación mas detallada.
Un ejemplo calro de esto es la figura 24 que muestra detalles simestricos al contorno de la
xx
persona.
Referencias
[1] Azriel Rosenfeld and Avinash C. KaK Digital Picture Processing. Academic Press, 2012.
[2] K. Pratt, William. Digital Image Processing. John Wiley & Sons, 2011.
[3] Gonzalez R.C and R.E Woods Digital Image Processing Adisson-Wesley, 1993.