You are on page 1of 21

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA

INSTITUTO DE ELECTRÓNICA Y MECATRÓNICA


INGENIERÍA EN MECATRÓNICA

SISTEMAS DE PROCESAMIENTO
DIGITAL DE IMÁGENES

REPORTE DE PROYECTO FINAL

que se presenta como parte de los requisitos de la materia:

PROCESAMIENTO DIGITAL DE IMÁGENES

Presenta:

Carrasco Martínez Marco Antonio


Lucas Soriano Miguel Ángel
Ruiz Gopar Mario Alan

Huajuapan de León, Oaxaca, México, 25 de junio de 2018


Índice
1. Introducción iii
1.1. Definición de una imagen digital . . . . . . . . . . . . . . . . . . . . . . . . . . iii
1.2. Modelo general para el procesamiento de imágenes . . . . . . . . . . . . . . . . iv
1.3. Elementos de los sistemas de procesamiento de imágenes . . . . . . . . . . . . vi

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.

1.1. Definición de una imagen digital


A continuación se definirá el término imagen correspondiente a una imagen monocromá-
tica y es algo diferente que la definición para una imagen en color, pero correspondiente a las
imágenes que más se tratarán en este proyecto.

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á.

Figura 1: Convención de ejes usada.

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.

1.2. Modelo general para el procesamiento de imágenes


Gonzalez [3], modela los pasos fundamentales que se siguen en el procesado de imágenes
como se representa en la Fig. 2 Para ayudar a una conceptualización sencilla de este tema,
se ilustrará con un ejemplo: se quieren usar las técnicas del procesado de imágenes para leer
automáticamente la dirección en sobres de correo. Nuestro dominio del problema (ver Fig. 2)
en este ejemplo abarca los sobres del correo, y el objetivo es leer la dirección anotada sobre
cada sobre. Entonces, la salida deseada en este caso es una serie de caracteres alfanuméricos.

Figura 2: Pasos fundamentales de procesamiento de imágenes.

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

El siguiente paso es la segmentación. Definida en forma amplia, la segmentación particiona


una imagen de entrada en sus partes constituyentes u objetos. Generalmente, la segmentación
automática es una de las tareas más difíciles en el procesamiento de imágenes. En términos
del reconocimiento de caracteres, el rol de la segmentación es extraer caracteres individuales
y palabras del fondo de la imagen.

La descripción llamada también selección de características, trata con extracción de los


rasgos que resulta en alguna información cuantitativa de interés o características que son
básicas para diferenciar una clase de objetos con otra. En términos del ejemplo, para el reco-
nocimiento de caracteres, descriptores tales como lagos (huecos) y bahías son rasgos poderosos
que ayudan a diferenciar una parte del alfabeto de otra.

El último estado comprende al reconocimiento y la interpretación. El reconocimiento es


el proceso que etiqueta, o asigna un nombre, a un objeto basándose en la información que
proveen sus descriptores. La interpretación involucra la asignación de significado a un conjunto
de objetos reconocido. En términos de nuestro ejemplo, identificar un carácter como, digamos,
una c, requiere la asociación de los descriptores para este carácter con la etiqueta c.

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

1.3. Elementos de los sistemas de procesamiento de imágenes


En la figura 3 se muestran los elementos de un sistema de uso general para realizar las
operaciones de procesamiento de imágenes. En la adquisición de imágenes deben existir dos
elementos básicos. El primero es algún dispositivo básico que sea sensible a una determinada
banda del espectro de energía electromagnético como son las bandas de rayos-x, el ultra-
violeta, el visible o el infrarrojo, y que produce una señal eléctrica proporcional al nivel de
energía sensado. El segundo es el digitalizador que convierte la salida del dispositivo físico de
sensado a forma digital. En esta categoría se agrupan a las cámaras de un teléfono celular.
El almacenamiento es un punto crítico debido a la gran cantidad de información usada. En
el procesamiento, ya existen computadoras con microprocesadores especializados en procesa-
miento de imágenes que permiten un manejo rápido de las operaciones de matrices.

En cuanto al despliegue de las imágenes, se han usado los monitores de computadoras.


Los resultados desplegados en el monitor pueden ser vistos desde ahi. Como se representa
en la Fig. 3, el fondo de todo el sistema involucra el software, desde el sistema operativo
de la computadora, los programas que manejan cada periférico desde la computadora, y los
programas de aplicación específicos realizados en algún lenguaje de programación. En nuestro
caso, utilizamos el software Matlab.

Figura 3: Elementos funcionales báasicos de un sistema de procesamiento de imágenes: adqui-


sición, almacenamiento, procesado, comunicaciones, despliegue y software.
Desarrollo vii

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.

El preprocesamiento se realiza con la finalidad de eliminar el ruido, para ello se reali-


zan diferentes filtrados en el dominio espacial y en el dominio de la frecuencia para operar
directamente sobre los pixeles de las imágenes, operando en la vecindad del pixel, aplicando
generalmente máscaras de tipo cuadrada o rectangular. Las técnicas de preprocesamiento se
caracterizan por realizar tareas tales como:

Atenuar distorsiones que afectan la calidad de la imagen considerada


Realzar los contornos que delimitan los objetos que se desean segmentar
Uniformar la información contenida en el interior de tales contornos
Excluir objetos o estructuras no deseadas generando regiones claramente delimitadas
que contienen el objeto de interés

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

El proceso de extracción de características desarrollado en el presente trabajo se divide en


4 subprocesos, todo visto como una metodología: (i) extracción de Información de la imagen
en escala de grises (ii) Descriptores de tamaño (Área y Perímetro) y Descriptores de forma
(Compacidad) (iv) cálculo valores estadísticos asociados a la distancia radial normalizada
(Cruces por cero, Índice de área, Índice de rugosidad)

2.2. Sistema de reconocimiento de posturas basado en esqueletiza-


ción:
El algoritmo usado para el procesado de imágenes de posturas es el mismo utilizado en el
sistema de reconocimiento de señales de tránsito, la diferencia entre estos radica en el último
paso, ya que para este sistema, se implementó la descripción de la postura de la persona. A
continuación se describe el algoritmo genérico para la esquelitización.

En la figura 4 se muestra el diagrama de flujo detallado del sistema propuesto, donde lo


primero es almacenar una imagen del escenario vació, para que durante el reconocimiento los
píxeles diferentes sean solamente los que conforman la figura del usuario, luego si se hace la
captura de la imagen, donde se extrae la silueta de la persona de tal forma que los píxeles que
son fondo tomen el color negro y los que hacen parte de la persona el color blanco.

Figura 4: Diagrama de Flujo del proceso de esqueletización

Luego, se realiza un preprocesamiento en el cual se realiza el realce y limpieza de la región


de interés, en cada imagen capturada, teniendo en cuenta la eliminación de ruido y el filtrado
de la imagen para tener una silueta uniforme.
Desarrollo ix

Teniendo la silueta se obtiene el contorno-8 en la imagen binaria. Y posteriormente el


centroide de dicha región.

La esqueletización consiste a partir del vector de distancias normalizadas en encontrar


una línea representativa de la silueta. Esto se logra por medio de adelgazamientos sucesivos
(filtros pasa banda), los cuales borran solamente píxeles del contorno en cada iteración. Para
este adelgazamiento se debe cumplir con una serie de condiciones propuestas (cruces por cero).
Con el esqueleto listo, se busca información relevante que permite eliminar ón redundante
y ruidosa.
x

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 .

Figura 5: Tipo de señales procesadas.

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

Figura 6: Tipo de señales procesadas.

Figura 7: Tipo de señales procesadas.

Brazos al frente extendidos

Brazo izquierdo al frente extendido

Brazo derecho al frente extendido

Brazos a los lados extendidos

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

Figura 8: Tipo de posturas procesadas.

Figura 9: Tipo de posturas procesadas.

Figura 10: Tipo de posturas procesadas.


Resultados xiii

3.2. Resultados del Sistema de reconocimiento de Señales de tránsito


Luego de las pruebas realizadas a más de 20 señales de tránsito se puede concluir que
con el sistema implementado se obtiene 100 % de reconocimiento en todas las posturas, los
problemas presentados se deben al brillo en las imágenes capturadas. La figura 11, 12 y 13
muestran la interfaz desarrollada en MATLAB, que nos sirve para realizar las pruebas con
distintas técnicas de filtrado, segmentación y nos proporciona los valores de los descriptores
de región antes mencionados.

Figura 11: Pruebas de funcionamiento del Sistema.

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.

Figura 12: Pruebas de funcionamiento del Sistema.


xiv

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.

Figura 13: Pruebas de funcionamiento del Sistema.

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.

Figura 14: Pruebas de Señales de tránsito


Resultados xv

El primer ejemplo de la segmentación de imagenes se muestra en la figura 14 que toma


una señal de transito que indica vuelta a la derecha. La primer columna muestra la imagen
original en colores, la segunda columna muestra su transformación a escalas de grises donde
logramos ver un pequeño problema con el reflejo de luz. Para la tercer columna vemos la
imagen con un filtro aplicado para eliminar ruido y que se pueda procesar satisfactoriamente
la imagen. finalmente la cuarta columna muestra el resultado obtenido donde observarmos
con claridad el contorno de la señal y de la flecha.

Figura 15: Pruebas con Señales de tránsito.

En general, los problemas en el procesamiento de las señales fueron minimos, la figura


15 muestra otro ejemplo donde se ve claramente que la obtención de los bordes no representa
mucho problema ya que las imagenes son claras y con un filtro espacial sencillo se pueden
solucionar los desperfectos de la imagen.

Figura 16: Pruebas con Señales de tránsito.


xvi

La figura 16 nos muestra el resultado de la segmentación de otsu que posteriormente se


utiliza para aplicar otras técnicas de descripción que se muestran en la última columna, estos
descriptores nos hablan acerca de la forma de la segmentación y nos permiten asi darnos una
mejor idea de lo que representa.

Figura 17: Pruebas con Señales de tránsito.

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

3.3. Resultados del Sistema de reconocimiento de posturas


Luego de las pruebas realizadas a las 63 imágenes de posturas se puede concluir que
con el sistema implementado se obtiene 100 % de reconocimiento en todas las posturas, los
problemas presentados se deben al brillo o sombras en las imágenes capturadas. La figura 18, 20
19 muestran la interfaz desarrollada en MATLAB, que nos sirve para realizar las pruebas con
distintas técnicas de filtrado, segmentación y nos proporciona los valores de los descriptores
de región antes mencionados. Todo se desarrollo de forma que se pueda procesar cualquier
imagen de posturas de diferentes personas.

Figura 18: Pruebas de funcionamiento del Sistema.

Figura 19: Pruebas de funcionamiento del Sistema.

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.

La figura 21 nos muestra una prueba de la segmentación, como se ve en el resultado final,


la figura de la playera suele mantener residuos que pueden afectar a nuestro procesamiento
xviii

Figura 20: Pruebas de funcionamiento del Sistema.

Figura 21: Pruebas con imágenes de posturas

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

Figura 22: Pruebas con imágenes de posturas

Figura 23: Pruebas de funcionamiento del Sistema.

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.

Figura 24: Pruebas de funcionamiento del Sistema.


Referencias 1

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.

You might also like