1
Sistema de visión artificial aplicado a la detección y conteo automático de objetos
superpuestos de forma circular
Corrales Bastidas, Brandon Eduardo
Vicerrectorado de Investigación, Innovación y Transferencia de Tecnología
Centro de Posgrados
Maestría en Electrónica y Automatización
Trabajo de titulación previo a la obtención del título de Máster en Electrónica y Automatización,
Mención en Redes Industriales
Dr. Minchala Ávila, Luis Ismael
21 de abril del 2022
Latacunga, Ecuador
2
Digitally signed
by LUIS ISMAEL
MINCHALA
AVILA
Date:
2022.04.25
……………………………
18:02:46 -05'00'
Dr. Minchala Ávila, Luis Ismael
DIRECTOR
3
VICERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN Y TRANSFERENCIA DE
TECNOLOGÍA
CENTRO DE POSGRADOS
CERTIFICACIÓN
Certifico que el trabajo de titulación, “Sistema de visión artificial aplicado a la
detección y conteo automático de objetos superpuestos de forma circular”, fue
realizado por el Señor Corrales Bastidas, Brandon Eduardo, el mismo que ha sido
revisado y analizado en su totalidad, por la herramienta de verificación de similitud de
contenido; por lo tanto cumple con los requisitos legales, teóricos, científicos, técnicos y
metodológicos establecidos por la Universidad de las Fuerzas Armadas ESPE, razón por
la cual me permito acreditar y autorizar para que lo sustente públicamente.
Latacunga, enero del 2022
Digitally signed
by LUIS ISMAEL
MINCHALA
AVILA
Date:
2022.04.25
.….……………………………………….
18:03:06 -05'00'
Dr. Minchala Ávila, Luis Ismael
Director
C.C.: 0301453486
4
VICERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN Y TRANSFERENCIA DE
TECNOLOGÍA
CENTRO DE POSGRADOS
RESPONSABILIDAD DE AUTORÍA
Yo, Corrales Bastidas, Brandon Eduardo con cédula de ciudadanía con cédula de
ciudadanía n° 0503148603 declaro que el contenido, ideas y criterios del trabajo de
titulación: “Sistema de visión artificial aplicado a la detección y conteo
automático de objetos superpuestos de forma circular”, es de mí autoría y
responsabilidad, cumpliendo con los requisitos legales, teóricos, científicos,
técnicos y metodológicos establecidos por la Universidad de las Fuerzas Armadas
ESPE, respetando los derechos intelectuales de terceros y referenciando las citas
bibliográficas.
Latacunga, enero del 2022
Firmado electrónicamente por:
BRANDON EDUARDO
CORRALES BASTIDAS
…….…..……….….…………………………
Corrales Bastidas, Brandon Eduardo
C.C.: 0503148603
5
VICERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN Y TRANSFERENCIA DE
TECNOLOGÍA
CENTRO DE POSGRADOS
AUTORIZACIÓN DE PUBLICACIÓN
Yo, Corrales Bastidas, Brandon Eduardo, con cédula de ciudadanía con cédula de
ciudadanía n° 0503148603 autorizo a la Universidad de las Fuerzas Armadas ESPE
publicar el trabajo de titulación: “Sistema de visión artificial aplicado a la
detección y conteo automático de objetos superpuestos de forma circular”,
cuyo contenido, ideas y criterios son de nuestra exclusiva responsabilidad y
autoría.
Latacunga, enero del 2022
Firmado electrónicamente por:
BRANDON EDUARDO
CORRALES BASTIDAS
.….…………………………………..
Corrales Bastidas, Brandon Eduardo
C.C.: 0503148603
6
Dedicatoria
“El futuro es incierto, pero instruyéndote puedes lograr que incierto sean las
oportunidades que tendrás en el futuro”
Este proyecto lo dedico a mis padres y a mi hermana, por ser siempre mi pilar
fundamental, quienes me han alentado a conseguir y luchar por mis sueños, con grandes
lecciones a lo largo de toda mi vida, enseñándome que nada es fácil y que siempre
debemos dar nuestro máximo esfuerzo, tiempo y dedicación para superar los obstáculos
y lograr lo que anhelamos.
A mis abuelitos, quienes en una etapa de mi vida cumplieron el papel de padres,
gracias a quien tengo bien firmes mis creencias, ideología, valores, actitudes.
Brandon Corrales. B.
7
Agradecimiento
“Tal vez la gratitud no sea la virtud más importante, pero si es la madre de las
demás”
Marco Tulio Cicerón
Primero a Dios por darme salud, sabiduría, constancia, responsabilidad y las
ganas de cada día seguir adelante, por siempre ser mi fortaleza y mi camino para ser
mejor persona y un buen profesional.
A la Universidad de las Fuerzas Armadas ESPE-L, por darme la oportunidad de
ser parte del programa de posgrado en Electrónica y Automatización mención en redes
industriales, por impartirme los conocimientos y experiencias de cada uno de los docentes
que enriquecerán mi accionar en el campo personal y laboral.
Al Dr. Ismael Minchala. Magíster por sus conocimientos y dedicación como mi
tutor de titulación, encaminándome para realizar una buena investigación alcanzando los
objetivos planteados al inicio del proyecto de tesis.
A todos mis amigos y compañeros de clase con quienes hemos compartido
extensas jornadas de trabajo.
Brandon Corrales. B.
8
Tabla de contenido
Carátula………………………………………………………………………………………......1
Reporte de verificación de contenido………………………………………...…………….2
Certificación...................................................................................................................3
Responsabilidad de auditoría .......................................................................................4
Autorización de publicación .........................................................................................5
Dedicatoria .....................................................................................................................6
Agradecimiento .............................................................................................................7
Tabla de contenido ........................................................................................................8
Índice de figuras ..........................................................................................................11
Índice de tablas ...........................................................................................................14
Resumen ......................................................................................................................15
Abstract........................................................................................................................16
Capítulo I ......................................................................................................................17
Problema de Investigación .........................................................................................17
Antecedentes ...........................................................................................................17
Planteamiento del problema ...................................................................................19
Justificación, importancia y alcance del proyecto ................................................19
Objetivos ..................................................................................................................20
Objetivo general ...................................................................................................20
Objetivos Específicos ..........................................................................................20
Categorización de las variables de investigación .................................................21
9
Hipótesis ..................................................................................................................23
Capítulo II .....................................................................................................................24
Marco teórico ...............................................................................................................24
Definición de una imagen digital ............................................................................24
Imágenes en Color ...................................................................................................25
Variables del color................................................................................................28
Espacios de color .................................................................................................29
El modelo RGB. ................................................................................................30
Análisis y procesamiento de imágenes.............................................................. …31
Métodos de extracción de características ..........................................................32
Segmentación .................................................................................................... ...33
Transformada de Hough………………………………………………………………..35
Formulación clásica de la Transformada de Hough……………………………….35
Formulación en coordenadas polares de la Transformada de Hough………....36
Transformada circular de Hough……………………………………………………...38
Capítulo III ....................................................................................................................42
Metodología de Planificación del Sistema CORACS ................................................42
Metodología Propuesta ...........................................................................................42
Requerimientos para captura de imagen ............................................................43
Diseño de la interfaz.............................................................................................47
Desarrollo del código ...........................................................................................50
Capítulo IV ...................................................................................................................61
10
Análisis de CORACS y resultados obtenidos ...........................................................61
Arquitectura .............................................................................................................61
Esquema ...................................................................................................................62
Resultados ...............................................................................................................63
Conclusiones ...............................................................................................................74
Bibliografía…...………………………………………………………………………………..75
Anexos...………………………………………………………………………………………..77
11
Índice de figuras
Figura 1. Imagen 256 niveles intensidad y representación numérica fragmento 8x8.....25
Figura 2. Planos con color RGB representados como 3 matrices bidimensionales. ......26
Figura 3. Componentes primarios para pixeles de una imagen a color. ........................27
Figura 4. Pixeles resultantes en función de la intensidad de los componentes. ............28
Figura 5. Escala de la saturación de las componentes RGB.........................................29
Figura 6. Representación gráfica del modelo RGB. ......................................................31
Figura 7. Formulación en coordenadas polares. ...........................................................36
Figura 8. Transformada de Hough en un punto. ...........................................................37
Figura 9. Transformada de Hough de tres puntos. ........................................................38
Figura 10. Dirección del gradiente. ...............................................................................39
Figura 11. Espacio tridimensional de la Transformada circular de Hough. ....................40
Figura 12. Metodología propuesta para el sistema CORACS. ......................................42
Figura 13. Imagen con un ángulo de 90 grados con respecto del suelo........................43
Figura 14. Imagen con método picado. .........................................................................44
Figura 15. Imagen con método contrapicado. ...............................................................44
Figura 16. Imagen capturada a una distancia de 50 centímetros de los tubos PVC. .....45
Figura 17. Imagen capturada a una distancia de 1 metro de los tubos PVC. ................46
Figura 18. Imagen capturada a una distancia de 1.5 metros de los tubos PVC. ...........46
Figura 19. Parámetros como la creación de un nuevo GUI. ..........................................47
12
Figura 20. Editor de características de los elementos del GUI. .....................................48
Figura 21. Diagrama de flujo de la interfaz CORACS. ..................................................49
Figura 22. Interfaz de usuario de CORACS. .................................................................50
Figura 23. Imagen con escalas de grises......................................................................51
Figura 24. Imagen original en RGB. ..............................................................................51
Figura 25. Cursor para la seleccionar la región de interés (ROI)...................................52
Figura 26. Limitación del área del ROI. .........................................................................53
Figura 27. ROI seleccionado. .......................................................................................53
Figura 28. Resultado de aplicar un filtro pasa altos en la imagen. ................................54
Figura 29. Imagen binarizada. ......................................................................................55
Figura 30. Histograma de la imagen escala de grises...................................................56
Figura 31. Histograma de la imagen binarizada. ...........................................................56
Figura 32. Resultado del elemento estructural aplicado en la imagen binarizada. ........57
Figura 33. Diagrama del Espacio de Hough de la imagen procesada. ..........................58
Figura 34. Parametrización de los tubos PVC...............................................................59
Figura 35. Funcionamiento del botón “Detallar”. ...........................................................60
Figura 36. Arquitectura del sistema CORACS. .............................................................62
Figura 37. Esquema del sistema CORACS...................................................................63
Figura 38. Imagen tomada con una puerta metálica verde de fondo. ............................64
13
Figura 39. Respuesta de CORACS de la Figura 38. .....................................................65
Figura 40. Imagen tomada con los tubos PVC al lado de otros objetos. .......................65
Figura 41. Respuesta de CORACS de la Figura 40. .....................................................66
Figura 42. Se coloca una plancha gris detrás de los tubos PVC. ..................................67
Figura 43. Respuesta de CORACS de la Figura 42. .....................................................68
Figura 44. Tubos PVC de diferentes diámetros. ...........................................................69
Figura 45. Respuesta de CORACS de la Figura 45. .....................................................70
Figura 46. Resultado del reconocimiento de tubos PVC en la ferretería San Agustín. ..72
Figura 47. Resultado del reconocimiento de tubos PVC en la ferretería San Agustín. ..72
Figura 48. Trabajador de la ferretería San Agustín contando los tubos PVC. ...............73
14
Índice de tablas
Tabla 1. Trabajos relacionados a reconocimiento de objetos. .......................................18
Tabla 2. Descripción de variables dependiente e independiente. ..................................22
15
Resumen
Este trabajo de titulación investiga acerca de la problemática asociada al conteo
repetitivo de patrones geométricos específicos. Por ejemplo, industrias dedicadas a la
fabricación de tubos (cualquier material), varillas para construcción, troncos de madera,
etc., usualmente presentan errores asociados al despacho de sus productos debido,
principalmente, al conteo no automatizado de los productos. El factor común de estas
industrias radica en la forma circular (o cuasi circular) de los productos, que a través de
procesamiento especializado de imágenes permitiría solucionar el problema asociado al
conteo para despacho o cualquier otro propósito específico. Esta investigación propone
el desarrollo de un sistema de reconocimiento y conteo de patrones circulares
(CORACS – Circular Objects Recognition and Counting System) a través de la
aplicación de técnicas tradicionales del procesamiento digital de imágenes, entre las
que destaca la transforma de Hough. El despliegue del prototipo de pruebas de este
sistema fue desarrollado en MATL
AB, de forma específica, se usaron imágenes de tubos PVC que permitan validar la
operación del sistema. Los resultados de operación del CORACS demostraron una
efectividad del 76.28% en imágenes capturadas sin aplicar protocolos específicos de
adquisición de imágenes, mientras que la precisión asociada a imágenes capturadas
con un protocolo de adquisición fue del 96.65%.
Palabras Clave:
• VISIÓN ARTIFICIAL
• TRANSFORMADA DE HOUGH
• PROCESAMIENTO DE IMÁGENES
• OPERACIONES MORFOLÓGICAS
• RECONOCIMIENTO DE CÍRCULOS
16
Abstract
This degree work investigates the problems associated with the repetitive counting of
specific geometric patterns. For example, industries dedicated to the manufacture of
tube (any material), construction rods, wooden logs, etc., usually have errors associated
with the dispatch of their products, mainly due to the non-automated content of the
products. The common factor of these industries lies in the circular (or quasi-circular)
shape of the products, which through specialized image processing would allow to solve
the problem associated with counting for dispatch or any other specific purpose. This
research proposes the development of a circular pattern recognition and counting
system (CORACS – Circular Object Recognition and Counting System) through the
application of traditional digital image processing techniques, among which the Hough
transformation stands out. The deployment of the test prototype of this system
developed in MATLAB, specifically, they used in images of PVC pipes that allow
validating the operation of the system. The results of the CORACS operation
demonstrated an effectiveness of 76.28% in images captured without applying specific
image acquisition protocols, while the precision associated with images captured with an
acquisition protocol was 96.65%.
Key words:
• COMPUTER VISION
• HOUGH TRANSFORM
• IMAGE PROCESSING
• MORPHOLOGICAL OPERATIONS
• CIRCLE RECOGNITION.
17
Capítulo I
Problema de Investigación
Antecedentes
La transformada de Hough es un método para la detección e identificación de
figuras geométricas en 2D. El universo de figuras es representado por una imagen que
contiene una cantidad N de figuras de distintos tipos. Se representa dos soluciones: una
en donde el universo de figuras se construye a partir de imágenes generadas en un
software de dibujo y otra utilizando una cámara Web. (Hough, 1962)
En el área de robótica, se hace necesario mantener sistemas de visión de costo
bajo que identifiquen objetos primarios tales como líneas, figuras geométricas entre
otros, los cuales permitan proseguir sus trayectorias o eludir obstáculos específicos.
Una de las ventajas de usar procesamiento de imágenes es el poder emplear
algoritmos que permitan identificar, por ejemplo, líneas. Uno de estos algoritmos es la
transformada de Hough, la cual es ocupada en el procesamiento y análisis de
imágenes, para reconocer contornos geométricos simples, como rectas, circunferencias,
elipses, etc. Principalmente ésta transformada fue ocupada para el reconocimiento de
pupilas humanas en un sistema de visión computacional para comunicar hombre-
máquina. (Rojas, 2008)
En la Tabla 1.1, se detallan diversas investigaciones de los métodos utilizados
para el procesamiento de imágenes, como: segmentación, operaciones morfológicas y
la transformada de Hough; describiendo sus ventajas, desventajas, facilidades,
versatilidad y robustez de acuerdo al problema que se requiera solucionar. Estos
proyectos están enfocados en el desarrollo de software que pueden implementarse en
cualquier entorno.
18
Tabla 1.
Trabajos relacionados a reconocimiento de objetos.
Artículo/ Proyecto Autor Año Descripción
Ejecución de la Duque, J.P. 2004 Dentro de este artículo, se muestra un
transformada de U, & Ospina, trabajo desarrollado totalmente en la
Hough para la E. localización de diferentes líneas de
detección de líneas nivel bajo. Se exponen los resultados
de un sistema de alcanzados en dicho estudio, así como
visión de nivel bajo. su aplicación para el tratamiento de
las imágenes con un microcontrolador
de la familia de los MCS-51.
Fraccionamiento y Ayala- 2011 El propósito fue generar instrumentos
limpiado de imágenes Cabrera, D., o herramientas en función de
de GREP en tuberías Pérez- responder al desconocimiento de los
soterradas. García, R., trazados y las características de las
Herrera, M., tuberías en diferentes sistemas de
& Izquierdo, abastecimiento de agua. Se
J. empelaron metodologías que permitan
alcanzar dicho conocimiento sin
alterarlas las condiciones y
características del entorno (métodos
no destructivos), a través del estudio
de las imágenes obtenidas con Geo
radar. Aplica metodológicamente la
transformada de Hough de
fraccionamiento limpiando las zonas
de probabilidad baja de contención en
las tuberías.
Uso de la Duarte, G. D 2003 La Transformada de Hough se puede
transformada de utilizar para descubrir patrones
Hough en la paramétricos, como líneas y círculos,
detección de círculos incrustados en imágenes ruidosas, la
en imágenes digitales transformada de múltiple resolución.
Hough es muy eficiente para reducir el
procesamiento computacional y
memoria requerida para almacenar
datos. Este artículo muestra la
eficiencia de la transformada de
Hough en múltiples resoluciones como
método para detección de círculos en
imágenes digitales.
Hough – Circles: un Pistori, H. 2005 Este artículo presenta la
módulo de detección Pistori, J.m & implementación de un detector de
de circunferencia para Costa, E. R circunferencia, basado en la
Image J transformada de Hough, que se
incluyó en el conjunto de módulos de
software, libre Image J, de
procesamiento y análisis de cuadros.
19
La transformada de Hough se utiliza
principalmente en el reconocimiento
de objetos con nosotros geométricos
simple, como líneas, rectas, círculos y
elipses.
Nota. Esta tabla muestra los trabajos relacionados a reconocimiento de objetos utilizando
los algoritmos de la Transformada de Hough.
Planteamiento del problema
En las grandes y medianas industrias de producción y comercialización de tubos
PVC, los trabajadores son los encargados del conteo y clasificación de los productos,
resultando que no siempre el control es eficiente ya que no se tiene certeza del
rendimiento del trabajador, el cual puede verse afectado por factores externos a la
industria. Esto causa errores que se traducen como una pérdida económica de la
empresa.
La visión artificial es una de las herramientas consideradas con viabilidad mayor
en temas de control en las industrias, por su capacidad de adaptabilidad al trabajo que
se realiza. En una empresa de producción o comercialización es necesario saber con
exactitud la cantidad de tubos PVC que se producen y comercializan, además, al ser
lotes masivos de tubos es necesario tener un control rápido y eficaz.
Existe un gran número de sistemas de reconocimiento de formas geométricas,
pero en su mayoría no clasifican lo objetos similares reconocidos en una imagen, ya
que no cuentan con un sistema de parametrización.
Justificación, importancia y alcance del proyecto
Según (Fernández, 2015), los diferentes sistemas de visión artificial han sido
establecidos con mucho éxito en los procesos industriales tales como los controles de
la calidad, la automatización, sistemas de vigilancias e inspecciones debido a los
distintos entornos en donde la limitación de recursos de hardware es alta, las soluciones
20
se deben orientar al desarrollo del software para utilizarlos de manera óptima, por lo
tanto se presenta el desarrollo de un sistema de visión artificial aplicado a la detección y
conteo automático de objetos superpuestos de forma circular basado en la transformada
de Hough, que nombrado CORACS (Circular Objects Recognition and Counting
System), cuyo significado en español es Sistema de reconocimiento y conteo de objetos
circulares.
Como la base del sistema es la visión artificial, se debe tener en cuenta los
factores que pueden intervenir en la eficacia de CORACS, como: la luz, cuya intensidad
puede eliminar bordes característicos de un elemento en la imagen, el ángulo de
inclinación y la distancia de la cámara, debido que al no tomar la imagen con un ángulo
determinado con respecto al suelo y a una distancia especifica de los objetos, puede
cambiar el número de pixeles que conforman un elemento en la imagen, produciendo
un error en el reconocimiento y clasificación de los objetos.
El sistema CORACS está destinado al reconocimiento, coteo y clasificación de
tubos PVC en el área de comercialización de las industrias.
Objetivos
Objetivo general
• Desarrollar un sistema de visión artificial aplicado a la detección y conteo
automático de objetos superpuestos de forma circular.
Objetivos Específicos
1. Especificar los parámetros para capturar las fotografías de los objetos a contar.
2. Diseñar el algoritmo para el correcto procesamiento de imágenes, eliminando el
ruido y otras alteraciones que pueden dificultar el reconocimiento de objetos.
3. Implementar el algoritmo de la transformada de Hough para el reconocimiento
de objetos superpuestos de forma circular.
21
4. Parametrizar los distintos objetos para que el algoritmo los pueda reconocer y
clasificar automáticamente.
Categorización de las variables de investigación
Como derivación del planteamiento de la hipótesis, fueron identificadas las
variables siguientes:
• Variable independiente: Sistema de visión artificial de objetos superpuestos de
forma circular.
• Variable dependiente: Factores de error humano y tiempo de conteo.
En la Tabla 2 se muestra la operacionalización de las variables detallando el
tipo, definición teórica, definición operacional, dimensiones e indicadores que forman
parte del proyecto.
22
Tabla 2.
Descripción de variables dependiente e independiente.
VARIABLES TIPO DEFINICIÓN DEFINICIÓN DIMENSIONES INDICADORES
CONCEPTUAL OPERACIONAL
Sistema de visión Independiente CORACS sirve para CORACS funciona en base -Costo del sistema -Porcentaje mínimo
artificial de identificar y contabilizar a la transformada de -Facilidad de de error en el
objetos de manera automática la Hough, con un implementación reconocimiento de
superpuestos de cantidad de objetos procesamiento correcto de -Elementos objetos en la
forma circular circulares presentes en imagen contabiliza la reconocidos imagen
una imagen. cantidad existente de -Tiempo de -Porcentaje de la
objetos de presentes. reconocimiento y reducción de costos
procesamiento de de implementación
imagen -Recursos que se
utilizaran para la
implementación del
sistema.
-Número de
elementos
reconocidos
Factores de error dependiente Los factores de error Los factores de error evitan -Parámetro de -Porcentaje de error
humano y tiempo humano y tiempo de un buen control del número error de conteo en el conteo de
de conteo conteo son aspectos en de elementos existentes, lo -Tiempo de conteoelementos
los cuales una persona que provoca una inversión -Tiempo necesario
puede cometer un error y de tiempo innecesaria para para poder realizar
no cumplir de manera poder comprobar el el conteo y su
eficiente una número exacto. verificación
acción.
Nota. Esta tabla muestra la descripción de variables dependientes e independientes.
23
Hipótesis
La implementación de CORACS, permitirá mitigar los factores de error humano,
así como el tiempo invertido en el conteo y clasificación de tubos PVC en la industria.
24
Capítulo II
Marco teórico
Definición de una imagen digital
Se especifica como una función bidimensional f (x, y), donde x e y van a ser las
coordenadas de un plano que sujeta todos los puntos de la misma f (x, y), siendo
además la amplitud en el punto (x, y) el cual representa los niveles de gris en ese punto
exacto. Es conocida como imagen digital si se cumplen que los valores de intensidad de
la función f estén de forma discreta y finita, igualmente que las coordenadas x, y
(Campos, 2005).
Cualquier imagen digital se encuentra compuesta por una cantidad finita de
elementos los cuales poseen un ámbito con valores particulares, a dichos elementos
también se les nombra pixeles, que va a ser la unidad mínima de medida para cualquier
imagen digital (Vilet, 2005).
En la Figura 1, se observa una imagen de 250 niveles de intensidad, donde cada
pixel está representado por un número entero que representa la intensidad en escala de
grises. Ampliando en la imagen se pueden apreciar los valores.
25
Figura 1.
Imagen 250 niveles de intensidad y representación numérica fragmento 8x8.
Nota. Esta imagen representa en totalidad la escala de grises, debido a que tiene
diferentes tonalidades con valores de 0 – 250 que están descritas por una matriz de 8x8.
Tomada de procesamiento de imágenes (p.42).
Imágenes en Color
Para que una imagen se considere una imagen digital en color, debe cumplir con
los criterios enumerados anteriormente, excepto que cada píxel o elemento se describe
y codifica de acuerdo con el espacio de color utilizado. Como, por ejemplo, para el
espacio de color RGB (habitualmente el más común para la representación de
imágenes), cada píxel se representa como un color creado a partir de ciertos niveles de
intensidad de colores rojo, verde y azul, representados por matrices bidimensionales
que indican el nivel de intensidad de cada color en la imagen como se muestra en las
Figuras 2 y 3.
26
Figura 2.
Planos con color RGB representados como 3 matrices bidimensionales.
Nota. La imagen muestra los planos de color RGB, están descritos por tres matrices
diferentes y cada una representa un color primario (rojo, verde y azul), en cada una de
las matrices un mismo píxel tiene distintos valores que describen su tonalidad en la
imagen. Tomada de procesamiento de imágenes (p.43).
La descripción de imágenes con matrices en el campo de la visión artificial es la
más habitual. Sin embargo, esta no es la única forma de representar una imagen a
color, sobre todo cuando la imagen se procesa en una FPGA, se establece la idea de
flujo de datos de bus y se pierde el concepto de matriz.
27
Figura 3.
Componentes primarios para pixeles de una imagen a color.
Nota. La ilustración muestra los elementos principales en los píxeles de una imagen en
color. Tomada de procesamiento de imágenes (p.43).
En una imagen RGB, el color de cada píxel está definido por la cantidad del nivel
de intensidad de cada color primario, haciendo así que el color blanco sea el resultado
de la máxima intensidad de cada uno de los componentes. Por el contrario, el color
negro es consecuencia de su mínima intensidad (Fig. 4).
28
Figura 4.
Pixeles resultantes en función de la intensidad de los componentes.
Nota. La figura muestra el color resultante por la combinación de las diferentes
intensidades de cada uno de los colores primarios. Tomada de procesamiento de
imágenes (p.44).
Variables del color
Para comprender por qué existen diferentes espacios de color, comenzamos
describiendo las características innatas del color: matiz, brillo, tonalidad y saturación.
La tonalidad (tono). Este es el valor cromático de un color, la frecuencia del
espectro en el que se encuentra. Es la cualidad que permite clasificar los colores,
depende de la longitud de onda predominante.
La luminosidad (Ligthness). Es consecuencia de la mezcolanza entre los
colores del blanco y el negro y tiene referencia de matiz. Cuanto más es la luminosidad
en una imagen, más blanco posee.
La saturación (Saturation). Los colores menos saturados siempre se van a ver
agrisados, y con una mayor cantidad de impurezas y con menor intensidad luminosa.
A medida que la saturación de cada color disminuye son difíciles de distinguir,
por lo que el procesamiento de imágenes es un campo más complejo.
29
En la Figura 5, podemos ver los niveles de saturación de los colores primarios
en una imagen.
Figura 5.
Escala de la saturación de las componentes RGB.
Nota. La figura muestra la escala de la saturación de las componentes RGB, toman
valores de 0 siendo la intensidad mínima y 255 la intensidad máxima. Tomada de
procesamiento de imágenes (p.45).
Espacios de color
Los espacios de color son una herramienta importante en el procesamiento de
imágenes, ya que le permiten analizar cada píxel desde diferentes perspectivas para
aprovechar toda la información disponible en la imagen. Actualmente, el trabajo
realizado se centra en la segmentación de imágenes en color, la localización de objetos,
el análisis de texturas, la morfología matemática, la estandarización de imágenes y más.
Los sistemas lineales son más comunes en los espacios de color porque buscan
ciertas características en una imagen. Algunos de los espacios de color no pretenden
hacer que la representación cromática sea más fiel a la realidad, sino que son
simplificaciones matemáticas, a menudo no lineales, que permiten tratar con ciertas
propiedades de la imagen (Oltra, 2008).
30
El modelo RGB. El modelo RGB es uno de los más utilizados para crear y
reproducir colores en pantallas y pantallas por los sistemas informáticos. Está
basado en la llamada síntesis relativa, en donde los distintos colores son el
resultado de la suma de los niveles de intensidad de los colores primarios
incluyendo el negro y blanco.
La Figura 6 muestra la representación gráfica del modelo RGB utilizando un solo
cubo, donde en cada uno de los ejes se representan los valores correspondientes a los
diferentes colores, ya que la fuente (0,0,0) representa el negro y las coordenadas
(1,1,1).
También representan el blanco en los ejes R, G y B con las coordenadas (1,0,
0), (0,1,0), (0, 0.1) representan los colores rojo, verde y azul. Los tres vértices restantes
(1, 0,1), (0, 1,1) y (1, 1,0) representan los colores magenta, cian y amarillo
respectivamente. La diagonal del cubo representa la gama de grises del negro al
blanco.
31
Figura 6.
Representación gráfica del modelo RGB.
Nota. El modelo RGB es descrito como un cubo en donde los ejes x, y, z representan a
los tres colores primarios de una imagen, tomando en cuenta que el valor en cada uno de
los ejes es 255 y que al alejarse del eje este valor disminuye por lo que se puede observar
la gama de colores que se pueden formar.
Análisis y procesamiento de imágenes
El análisis de imágenes digitales es el campo de la ingeniería que se ocupa de la
extracción de información contenida en una imagen. Incluye técnicas cuyo objetivo
principal es facilitar la búsqueda e interpretación de la información contenida en el
mismo. Un sistema de análisis de imágenes es especial porque tiene una imagen como
parámetro de entrada y normalmente la salida es digital, representando la información
contenida en la imagen de entrada (Cuevas, 2016).
Sin embargo, para obtener los parámetros y la información contenida en la
imagen, es necesario realizar ciertos pasos de procesamiento y filtrado, analizar la
imagen y adaptarla a una aplicación específica para que el resultado del tratamiento
dependa del problema cuidado.
32
El procesamiento y análisis de imágenes está diseñado para resolver tres de los
mayores problemas con las imágenes:
• Digitalización y codificación que facilitan su transmisión, representación y
almacenamiento.
• Mejorar y restaurar una imagen para interpretar más fácilmente el software.
• Descripción y segmentación de imágenes para aplicaciones de visión artificial.
Todos los algoritmos diseñados para enfatizar y diferenciar ciertos aspectos de
la imagen, así como ayudar en la eliminación de objetos no deseados, el ruido, se
denominan técnicas de mejora de imagen. Los métodos de procesamiento se dividen en
tres grupos:
• Espacial: Son métodos que procesan imagen píxel por píxel, o tomando un
conjunto de píxeles vecinos.
• En el campo de la frecuencia: En general, estos métodos se aplican a los
coeficientes resultantes de la transformación fértil de una imagen.
• Extracción de características: estos métodos se caracterizan porque se centran
en el análisis de imágenes con el fin de extraer características y áreas de
interés, separar objetos del fondo e identificar bordes o formas.
Métodos de extracción de características
Este método toma una imagen de entrada y extrae características interesantes
como: coordenadas de objetos que cumplen con ciertas propiedades, reconocimiento
de curvas y formas, etiquetado de componentes, etc. Este método es complejo como
primer paso en la inteligencia de un sistema de visión artificial.
Extraer información específica de una imagen es actualmente un área de
extensa investigación. Estas investigaciones cubren temas que van desde la aplicación
de filtros lineales simples hasta la automatización de la detección de objetos. En el
33
campo de la visión por computadora, existen varios métodos, pero lamentablemente no
existe un método universal para el reconocimiento automático de características, sino
que, de acuerdo con los requisitos del problema, la metodología se personaliza.
El primer paso que debe realizar un sistema de visión artificial es extraer la
información necesaria para la siguiente etapa de interpretación de la forma más
eficiente, rápida y robusta posible.
Principalmente los sistemas debes cumplir con las siguientes condiciones:
• El coste del sistema en el cual está integrado el método tendería que ser el
mínimo al extraer la información útil de una imagen.
• La localización de los componentes de la imagen debe ser muy precisa, al igual
que el error cometido en su evaluación debe ser el menor posible.
• El método utilizado para extraer una característica debe ser fuerte y estable.
Los datos extraídos deben contener la mayor cantidad de información posible
sobre la escena, incluso extrayendo la información geométrica que contiene.
Segmentación
La segmentación divide la imagen en áreas componentes u objetos, de modo
que los píxeles de esas áreas tengan características o propiedades similares, como la
escala de grises, el contraste o la textura.
Los algoritmos de segmentación se basan en las características básicas de la
intensidad de la imagen: discontinuidad y similitud. En el caso de la discontinuidad, la
imagen se divide por cambios repentinos de intensidad, como sucede con la
identificación de los bordes de una imagen, mientras que una categoría de
segmentación basada en imágenes divide la imagen en áreas similares según un
conjunto de criterios predefinidos.
34
Este algoritmo se encarga de evaluar cada píxel de la imagen y decidir si
contiene las características interesantes o no. Como resultado, se crea una imagen
binaria, en la que los píxeles que pertenecen al objeto obtienen el valor de '1' (objeto
frontal), a diferencia de los píxeles que no pertenecen al objeto obtienen el valor de '0'
(fondo). A partir de un análisis de determinadas propiedades de la imagen, como la
intensidad o la textura, asignan el valor a cada píxel. Existen diferentes tipos de
segmentación, se enumeran a continuación:
Basada en características de píxel
• Por los niveles de gris
• De imagen en color
• Por texturas
Basado en transición
• Identificar bordes
Basado en modelos
• Transformada de Hough
Basado en la homogeneidad
• Áreas de aire acondicionado
• Áreas planas
• Múltiples marcadores
Basada en morfología matemática
El tipo de segmentación que se utiliza en el procesamiento de imágenes
depende de la información típica que se quiera obtener de la imagen, es conveniente
tener objetivos claros antes de elegir un modelo de segmentación eficaz para el
problema a resolver. También es habitual realizar operaciones de filtrado después de la
35
fase de segmentación, así como determinar las propiedades que permiten separar y
clasificar los objetos encontrados.
Dado que no existe una evaluación de la eficacia de cada uno de los métodos
de segmentación para una aplicación concreta, debido a que existe una gran cantidad
de imágenes y diferentes aplicaciones, se comprueba experimentalmente el éxito de la
operación en cada caso.
Transformación de Hough
La transformación de Hough es una herramienta para identificar curvas en una
imagen, basada en la búsqueda de figuras geométricas de objetos: líneas rectas,
triángulos, elementos circulares, etc. Esta es una de las técnicas de segmentación más
comunes en el procesamiento de imágenes, debido a su resistencia al ruido y su
comportamiento en presencia de espacios en el borde del objeto. Antes de aplicar la
transformación de Hough, es necesario binarizar los píxeles de la imagen que forman el
borde del objeto.
Formulación clásica de la Transformada de Hough
La forma clásica fue propuesta originalmente por Paul Hough (1959),
principalmente la transformada de Hough se utiliza para detectar líneas rectas en una
imagen, basándose en dos parámetros implícitos en la ecuación de la recta según la
representación pendiente-ordenada en el origen,
𝑦 = 𝑎𝑥 + 𝑏.
La transformación utiliza siempre la tabla de agregación, que suma los votos que
dan como resultado los parámetros más adecuados al tipo de línea a identificar.
Dado que existen inconvenientes numéricos con la representación de la
transformada de Hough para rectas horizontales, cuando 𝑎 = 0 y con rectas verticales,
36
cuando 𝑎 → ∞, por lo que ahora la transformada de Hough se representa en
coordenadas polares (Rojas, 2008).
Formulación en coordenadas polares de la Transformada de Hough
Esta representación de la transformada de Hough fue desarrollada por Richard
Duda y Peter Hart (1972), en la Figura 2.7, se puede observar el cambio de
coordenadas de pendiente -ordenada a coordenadas polares, radio – ángulo, para la
representación de las rectas, cuyo nuevo parámetro es,
𝜌 = 𝑥 𝐶𝑜𝑠𝜑 + 𝑦 𝑆𝑒𝑛 𝜑.
Figura 7.
Formulación en coordenadas polares.
Nota. La figura describe los componentes de las coordenadas polares, en las que se
representan todas las rectas en la transformada de Hough.
Teniendo la nueva definición de parámetros se tiene el rango natural de 𝜑 ∈
[0,2𝜋], en la Figura 8, se representa la curva sinusoidal para el punto en particular en el
que coinciden toda la familia de rectas que se obtienen al transformar cada punto (𝑥, 𝑦)
37
de la imagen de origen en los puntos (𝜌, 𝜑) del espacio de Hough mediante
coordenadas polares.
Figura 8.
Transformada de Hough en un punto.
Nota. La figura representa el punto en donde coinciden todas las curvas sinusoidales
obtenidas de las rectas mediante la transformada de Hough.
Por ejemplo, se tienen los tres puntos A (0,2), B (2,0) y C (1,1) en la imagen de
origen. Logrando tres curvas sinusoidales con una transformación de estos tres puntos.
En la Figura 9, vemos las gráficas de las curvas sinusoidales de los puntos:
A (0.2) → ρ = 2 Sin φ
B (2.0) → ρ = 2 Cos φ
C (1,1) → ρ = Cos φ + Sin φ.
38
Figura 9.
Transformada de Hough de tres puntos.
Nota. La figura muestra las curvas sinusoidales de 3 puntos diferentes y a su vez se
muestra el punto de coincidencia de las mismas. Tomada de Sistemas de visión por
computadora para la detección de objetos esféricos a través de la transformada de Hough
(p.4), por Rojas Z, Teddy V.; Sanz F., Wilmer; Arteaga, Francisco (2008), Revista
INGENIERÍA UC
Como resultado, el punto de intersección de las tres sinusoides es (φ, ρ) = (π / 4,
√2) en el espacio Hough, lo que significa que la línea que conecta los tres puntos A, B y
C es √ 2 = x Cos (π / 4) + y Sin (π / 4), que en el espacio cartesiano original sería x + y
= 2, a esta operación se le llama como Inversa de Hough.
Transformada circular de Hough
Esta transformada específicamente es destinada para detectar círculos en una
imagen, para lo cual la descripción de parámetros utilizada es,
𝑓(𝑥, 𝑦, 𝑥𝑜 , 𝑦𝑜 , 𝑟) = (𝑥 − 𝑥𝑜 )2 + (𝑦 − 𝑦𝑜 )2 − 𝑟 2 = 0
Donde los términos (𝑥𝑜 , 𝑦𝑜 , 𝑟), conforman el conjunto de parámetros que
expande el espacio de Hough a uno tridimensional. Para reducir los cálculos en el
39
espacio de parámetros de Hough se utiliza la dirección del gradiente ∠𝐺, teniendo una
detección eficiente, limitando de todos los valores de parámetros que votan a solo los
que sean más consistentes con la orientación de los bordes de las figuras buscadas en
la imagen. Así, se puede escoger que voten solo aquellas cuya orientación 𝜑 éste
dentro de cierto rango 𝜙 − 𝑎 ≤ 𝜑 ≤ 𝜙 + 𝑎, donde 𝜙 es la dirección del gradiente (Rojas
Z, Sanz F., & Areteaga, 2008)
En la Figura 10, se muestra que la dirección del gradiente es perpendicular a la
dirección tangente de una curva dada por 𝑓 = (𝑥, 𝑦) = 0.
𝑑𝑦 𝑓𝑥 ′ (𝑥, 𝑦)
𝑇𝑎𝑛 𝜃 = =− ′ = 𝑔(𝑥, 𝑦)
𝑑𝑥 𝑓𝑦 (𝑥, 𝑦)
Figura 10.
Dirección del gradiente.
Nota. La figura muestra la dirección y coordenadas del gradiente, en las cuales estarán
representados cada uno de los puntos obtenidos por la transformada circular de Hough.
40
Tomada de Sistemas de visión por computadora para la detección de objetos esféricos a
través de la transformada de Hough (p.5), por Rojas Z, Teddy V.; Sanz F., Wilmer;
Arteaga, Francisco (2008), Revista INGENIERÍA UC
Teniendo que las coordenadas del gradiente serán igual a la división de las
𝜋
derivadas parciales de 𝑓(𝑥, 𝑦), siendo que 𝜙 = ∠𝐺 𝑦 𝜃 = 𝜙 ± .
2
La representación general para cualquier tipo de parámetros es:
𝑓(𝑥, 𝑦, 𝛼1 , … , 𝛼𝑛 ) = 0
𝑔(𝑥, 𝑦, 𝛼1 , … , 𝛼𝑛 ) = −𝐶𝑜𝑡𝜙
Como se puede observar en la Figura 11, cualquier punto (𝑥, 𝑦) en la imagen
original, le corresponde en el espacio tridimensional una superficie en forma de cono.
Figura 11.
Espacio tridimensional de la Transformada circular de Hough.
Nota. La figura muestra el espacio tridimensional de la Transformada circular de Hough
de tres puntos diferente, así como los puntos de coincidencia de los mismos.
41
La dirección del gradiente está representada por el siguiente sistema de ecuaciones:
(𝑥 − 𝑥𝑜 )2 + (𝑦 − 𝑦𝑜 )2 − 𝑟 2 = 0
(𝑥 − 𝑥𝑜 )2
= −𝐶𝑜𝑡 𝜙
(𝑦 − 𝑦𝑜 )2
𝑥𝑜 = 𝑥 ± 𝑟 𝐶𝑜𝑠𝜙
𝑦𝑜 = 𝑦 ± 𝑟 𝑆𝑒𝑛𝜙
𝑦𝑜 − 𝑦
𝜙 = ∠𝐺 = 𝑇𝑎𝑛−1 ( )
𝑥𝑜 − 𝑥
Con estas ecuaciones se calcula cuáles son los valores y la dirección del
gradiente que les corresponden a cada punto de la imagen de origen en el espacio
tridimensional de la transformada circular de Hough.
42
Capítulo III
Metodología de Planificación del Sistema CORACS
En esta sección se propone una metodología para el desarrollo del sistema
CORACS, en base a metodología de investigación aplicada.
Metodología Propuesta
Para lograr un diseño óptimo del sistema, en la Figura 12, se presenta la
metodología propuesta en la cual se detalla para etapa posteriormente.
Figura 12.
Metodología propuesta para el sistema CORACS.
Requerimientos para capturar una imagen
Diseño de la interfaz gráfica
Desarrollo del código
Parámetros para el conteo y clasificación
de objetos
Evaluación del sistema
Nota. La figura muestra la metodología de 5 etapas propuesta para el sistema
CORACS.
43
Requerimientos para captura de imagen
La metodología de la Figura 13, considera los requerimientos para captura de
imagen como etapa inicial para el desarrollo del sistema, teniendo en cuenta la
iluminación del entorno y el ángulo con respecto del suelo para la cámara.
La Figura 13, muestra la captura de una imagen con un ángulo de 90 grados
(normal) con respecto del suelo o también a 0 grados con respecto de los objetos, en la
Figura 3.3, se muestra la captura de una imagen con un ángulo mayor (picado), en la
Figura 3.4, se muestra la captura de una imagen con un ángulo menor (contrapicado).
Concluyendo que el método “normal” para capturar una imagen impide la perdida de
información que esta contiene.
Figura 13.
Imagen con un ángulo de 90 grados con respecto del suelo.
Nota. La figura muestra la imagen con un ángulo de 90 grados con respecto del suelo.
44
Figura 14.
Imagen con método picado.
Nota. La figura muestra la imagen con método picado.
Figura 15.
Imagen con método contrapicado.
Nota. La figura muestra la imagen con método contrapicado.
Además del ángulo adecuado, también es importante la distancia para capturar
la imagen, debido a que al no tomar a una distancia similar todas las imágenes, estas
45
tendrán diferente información de los objetos entre sí, impidiendo una estandarización de
los objetos de interés. Se realizó distintas pruebas a diferentes distancias, tomando en
cuenta la calidad de la imagen capturada y que tenga buena limitación de las regiones
de los objetos.
Para la Figura 14, la distancia de captura de la imagen es de 50 centímetros, en
la Figura 15, la distancia es de 1 metro y en la Figura 16, la distancia es de 1.5 metros,
teniendo como resultado que la distancia 1 metro además de brindar una buena calidad
y limitación de objetos muy notoria, permite abarcar un buen espacio de captura para un
número mayor de objetos.
Figura 16.
Imagen capturada a una distancia de 50 centímetros de los tubos PVC.
Nota. La figura muestra la imagen a una distancia de 50 centímetros de los tubos PVC.
46
Figura 17.
Imagen capturada a una distancia de 1 metro de los tubos PVC.
Nota. La figura muestra la imagen a una distancia de 1 metro de los tubos PVC.
Figura 18.
Imagen capturada a una distancia de 1.5 metros de los tubos PVC.
Nota. La figura muestra la imagen a una distancia de 1.5 metros de distancia de los
tubos PVC.
47
Diseño de la interfaz
Para diseñar la interfaz gráfica del sistema CORACS, en la ventana de
comandos de la herramienta de software MATLAB se escribe el comando guide,
posterior a presionar la tecla enter aparece un cuadro de diálogo, seleccionando la
plantilla, a continuación, se da clic en Blank GUI (Default) como se muestra en la Figura
18.
Figura 19.
Parámetros como la creación de un nuevo GUI.
Nota. La figura muestra los parámetros como la creación de un nuevo GUI.
Dependiendo del espacio a utilizar para el diseño de la interfaz gráfica, el lienzo
del editor GUIDE se puede aumentar o disminuir.
Una vez definido el tamaño del lienzo, se procede a insertar los componentes
que conforman la interfaz gráfica como botones, cuadro de texto y cuadros de imagen.
48
Cabe recalcar que las dimensiones de cada elemento que se inserta en el lienzo
son por defecto, pero se pueden modificar de acuerdo a lo requerido, así como también
las características de cada uno como: el texto, el tag, tipo de letra, color de letra, entre
otros, en la Figura 3.9 se observa estas opciones.
Figura 20.
Editor de características de los elementos del GUI.
Nota. La figura muestra el editor de características de los elementos del GUI.
La interfaz gráfica de usuario del sistema CORACS fue diseñada siguiendo el
diagrama de flujo de la Figura 20.
49
Figura 21.
Diagrama de flujo de la interfaz CORACS.
Nota. La figura expone el diagrama de flujo de la interfaz CORACS.
El diagrama de flujo muestra la función de los “botones” presentes en la interfaz
de usuario, en la Figura 21, se muestra la interfaz gráfica de CORACS, tiene un área
rectangular a manera de pantalla, en donde se visualiza la imagen a procesar, consta
de cinco botones identificados como “ABRIR” que sirve para acceder a la carpeta que
contiene las imágenes a procesar, “SELECCIONAR ROI” para señalar los puntos de
coordenadas que representan el área de interés de la imagen, “DETECTAR” para
obtener la información de los objetos de forma circular presentes en la imagen,
“DETALLAR” para mostrar un panel mostrando la cantidad total de tubos PVC
50
presentes en la imagen, así también como la cantidad de tubos de acuerdo a su
diámetro, y “SALIR” para cerrar la interfaz de usuario.
Figura 22.
Interfaz de usuario de CORACS.
Nota. La figura muestra la interfaz de usuario de CORACS.
Desarrollo del código
Basándose en el diseño de la interfaz de usuario, lo principal es acceder a la
base de datos mediante el botón “ABRIR” en donde están almacenadas las imágenes a
procesar, en la Figura 22, se observa la imagen en la pantalla de la interfaz de usuario
seleccionada para su procesamiento. Cabe recalcar la imagen original está en RGB
(imagen en colores), como lo muestra la Figura 23, primero se convierte de RGB a
escala de grises, el contraste de la imagen es importante porque se puede perder
información, para evitar esto se modifica el contraste de toda la imagen mediante la
comparación del umbral, comparándolo con cada uno de los píxeles.
51
Figura 23.
Imagen con escalas de grises.
Nota. La figura muestra la imagen con escala de grises.
Figura 24.
Imagen original en RGB.
Nota. La figura muestra la imagen original en RGB capturada con los parámetros
establecidos para CORACS.
52
Una vez cargada la imagen en la pantalla de la interfaz, el usuario debe
seleccionar la región de interés de la imagen (ROI), dando clic en el botón “Seleccionar
ROI” se muestra un cursor en forma de cruz cuyas aristas atraviesan toda la imagen
facilitando la selección de dos puntos que indican las coordenadas del ROI, tomando en
cuenta que contenga todos los objetos de forma circular que desean detectar. En la
Figura 24, se muestra el cursor que se utiliza para seleccionar de la región de interés
(ROI).
Figura 25.
Cursor para la seleccionar la región de interés (ROI).
Nota. La figura muestra el cursor para la seleccionar la región de interés (ROI).
Después de seleccionar los puntos de la región de interés (ROI), se muestra un
rectángulo de color amarillo limitando el área seleccionada como se observa en la
Figura 25, posteriormente al dar clic en el botón “Capturar”, se muestra el ROI
seleccionado en la pantalla de la interfaz de usuario como se observa en la Figura 3.16.
53
Figura 26.
Limitación del área del ROI.
Nota. La figura muestra la limitación del área del ROI.
Figura 27.
ROI seleccionado.
Nota. La figura muestra el ROI seleccionado.
Cabe recalcar para detectar objetos de formas geométricas, es recomendable
que se realce los bordes, para realizar esta operación se crea un filtro pasa altos y
además se realiza una suma aritmética entre el resultante del filtro pasa altos y la
54
imagen en escala de grises original, teniendo como resultado una imagen con bordes
más pronunciados que ayuda a la detección de los cuerpos de interés. En la Figura 27,
se observa el resultado del filtro pasa altos en la imagen y la operación aritmética.
Figura 28.
Resultado de aplicar un filtro pasa altos en la imagen.
Nota. La figura muestra el resultado de aplicar un filtro pasa altos en la imagen.
El siguiente paso en el procesamiento es la binarización de la imagen, que se
logra al cambiar el valor de los píxeles en escala de grises que cuyo dominio es [0,255],
en donde “0” es el color blanco y el valor mayor que “0” e igual “255” son las variantes
del color gris, por [0, 1] siendo el “0” el color blanco y “1” el color negro, para realizar
este cambio se debe primero sacar el valor medio que se obtiene mediante el
histograma de la imagen en escala de grises, asignándole el valor de 0 o 1 a los pixeles
cuyo valor sea menor o mayor al valor medio del histograma respectivamente. En la
55
Figura 28, se observa la imagen binarizada aplicando los valores 1 y 0 a cada uno de
sus píxeles.
Figura 29.
Imagen binarizada.
Nota. La figura muestra la imagen binarizada de la Figura 3.17.
En la Figura 29, se observa el histograma que muestra el valor de los píxeles de
la imagen en escala de grises y en la Figura 3.20, se muestra el histograma de la
imagen binarizada.
56
Figura 30.
Histograma de la imagen escala de grises.
Nota. La figura muestra el histograma de la imagen escala de grises.
Figura 31.
Histograma de la imagen binarizada.
Nota. La figura muestra el histograma de la imagen binarizada.
57
Al notar que en la imagen binarizada tiene ruido, es decir existen puntos blancos
en las áreas negras y de la misma manera existen puntos negros en las áreas blancas,
para solucionar este problema, se crea un elemento estructural con forma de disco y un
tamaño de 1 píxel, cuya finalidad es erosionar la imagen, causando que algunos píxeles
adyacentes a los píxeles de valor 0 cambien su valor de 1 a 0 para eliminar ciertas
áreas de color blanco en la imagen. El resultado de esta operación morfológica se
observa en la Figura 31.
Figura 32.
Resultado del elemento estructural aplicado en la imagen binarizada.
Nota. La figura muestra el resultado del elemento estructural aplicado en la imagen
binarizada.
Al tener la imagen binarizada, se utiliza la transformada de Hough para detectar
todos los objetos de forma circular presentes en una imagen, en la Figura 32, se
58
muestra el llamado espacio de Hough en donde se encierran en cuadros de color rojo
los puntos de intersección de las curvas sinodales indicando todos los objetos de forma
circular detectado.
Figura 33.
Diagrama del Espacio de Hough de la imagen procesada.
Nota. La figura muestra el diagrama del Espacio de Hough de la imagen procesada.
Sabiendo que la finalidad de CORACS no es solo detectar los objetos de forma
circular (tubos PVC), sino también clasificarlos según su diámetro, se realizaron
pruebas a cada uno de los tubos PVC para parametriza la cantidad de píxeles que
ocupan los tubos de diferentes diámetros en la imagen, teniendo en cuenta los
59
requerimientos anteriores como la distancia a la que se debe tomar la imagen, así como
el ángulo de inclinación de la cámara.
Además, el algoritmo de CORACS permite que el usuario diferencie en la
imagen los tubos debido a que los encierra en circunferencias de distintos colores
según su diámetro. En la Figura 33, se muestra la detección de diferentes diámetros de
tubos PVC para su parametrización, se escogieron tubos PVC de diámetros igual a una
pulgada, una pulgada y media, dos pulgadas(azul), tres pulgadas(rojo), cuatro
pulgadas(cian) y seis pulgadas(verde), debido a que son los más comercializados.
Figura 34.
Parametrización de los tubos PVC.
Nota. La figura muestra la parametrización de los tubos PVC.
En la Figura 34, se puede observar que al dar clic en el botón “Detallar” se
muestra un panel (cuadro rojo), que describe la cantidad de tubos PVC presentes en la
imagen, a su vez clasificados por su diámetro.
60
Figura 35.
Funcionamiento del botón “Detallar”.
Nota. La figura muestra el funcionamiento del botón “Detallar”.
61
Capítulo IV
Análisis de CORACS y resultados obtenidos
Arquitectura
El sistema CORACS utiliza una arquitectura de capas, es una técnica software
para separar las diferentes partes de la aplicación, con el objetivo de mejorar su
comprensión, secuencia lógica, mantenimiento y sus funciones que deben ser
escalables continuamente. Esta separación facilita hacer cambios en el código evitando
errores en dicho proceso que puede dañar el programa.
En la Figura 36, se muestra la arquitectura del sistema, se conforma por tres
capas: capa de presentación, cada de lógica y capa de datos.
Capa de presentación, en esta capa se encuentra la interfaz gráfica donde el
usuario interactua para obtener información de las caracteristicas de interés de una
imagen procesada.
Capa lógica, esta capa detalla los aspectos utilizados para desarrollar el código
del sistema CORACS.
Capa de datos, representa la base de datos en donde se encuentran
almacenadas las imágenes a procesar.
62
Figura 36.
Arquitectura del sistema CORACS.
Nota. La figura muestra la arquitectura del sistema CORACS.
Esquema
En la Figura 36, se presenta el esquema del sistema CORACS que consta de
cuatro etapas, siendo:
Primera etapa, alinear los objetos entre sí, verificar la iluminación, retirar objetos
que no sean de interés.
Segunda etapa, cumplir con los requisitos de la posición de los objetos para
capturar la imagen como el ángulo con respecto del suelo y distancia de la cámara.
Tercera etapa, en esta etapa muestra todos los algoritmos que conforman el
código de funcionamiento del sistema como: lectura de la imagen, procesamiento de la
imagen, detección de objetos de forma circular (Transformada de Hough), clasificación
de los objetos detectados.
63
Cuarta etapa, muestra el resultado del sistema CORACS, así como los datos de
interés: cantidad y clasificación de tubos.
Figura 37.
Esquema del sistema CORACS.
Nota. La figura muestra el esquema del sistema CORACS, detallando sus componentes
y parámetros.
Resultados
La aplicación se implementó sobre la plataforma MATLAB, la cual se ejecuta en
una computadora Intel Core 15 con 6 GB de RAM y el sistema operativo Windows 8.1.
Con respecto al procesamiento y reconocimiento de objetos de forma circular se
usaron 23 imágenes. Para verificar el comportamiento de CORACS se ubicó a los tubos
64
PVC en diferentes ambientes, como, por ejemplo, en la Figura 4.3, se observa una
puerta metálica de color verde en la parte posterior a los tubos PVC, en la Figura4.5, se
ubican a los tubos PVC en la mitad de algunos objetos y a su vez a un tubo se le
empuja para que no esté a lineado a los demás, en la Figura 37, se coloca una plancha
metálica de color gris para verificar que CORACS no tenga errores en el momento del
procesamiento de imágenes, en la Figura 38, se ubican algunos tubos PVC de
diferentes diámetros.
Figura 38.
Imagen tomada con una puerta metálica verde de fondo.
Nota. La figura muestra la imagen tomada con una puerta metálica verde de fondo, para
verificar que la transformación de RGB a escala de grises no se vea afectado por el color
de la puerta y se pierda información de la imagen.
65
Figura 39.
Respuesta de CORACS de la Figura 38.
Nota. La figura muestra el comportamiento de CORACS, frente a la situación que detrás
de los tubos PVC se encuentra una puerta verde, teniendo un resultado positivo por parte
del sistema.
Figura 40.
Imagen tomada con los tubos PVC al lado de otros objetos.
Nota. Se colocan objetos de distintos colores y formas a lado de los tubos para poder
verificar que el sistema diferencia correctamente los tubos PVC.
66
Figura 41.
Respuesta de CORACS de la Figura 40.
Nota. La figura muestra el comportamiento de CORACS al poner objetos con el fin de
verificar la detección de los tubos PVC y descartar el resto.
67
Figura 42.
Se coloca una plancha gris detrás de los tubos PVC.
Nota. Se coloca una plancha de color similar al de los tubos PVC con la intención que
CORACS pueda confundirla con la escala de colores y afecte en el procesamiento y
perdiendo información de la imagen.
68
Figura 43.
Respuesta de CORACS de la Figura 42.
Nota. La figura muestra el comportamiento de CORACS a la intención de poder jugar con
la tonalidad del fondo similar a los tubos PVC, teniendo como resultado la pérdida de la
información de uno tubo PVC
69
Figura 44.
Tubos PVC de diferentes diámetros.
Nota. En esta figura se colocan tubos PVC de diferentes diámetros para mostrar los
diferentes colores escogidos para cada diámetro.
70
Figura 45.
Respuesta de CORACS de la Figura 45.
Nota. Se puede observar los colores asignados para cada diámetro de los tubos PVC.
Para los resultados de CORACS en las diferentes pruebas propuestas
anteriormente se clasificó en cuatro categorías, VP (verdaderos positivos), en donde
reconoció todos los tubos PVC en la imagen, VN (verdaderos negativos), en donde no
solo reconoció los tubos PVC presentes en la imagen, sino también objetos adicionales,
FN (falsos negativos), en donde no reconoce por completo el número de tubos PVC
presentes en la imagen y los FP(falso positivos), que representan los resultados en
donde no reconoció ningún tubo PVC en la imagen.
Con los parámetros planteados anteriormente, de un total de 23 imágenes, se
obtuvieron 15 VP, 3 VN, 4 FN y 1 FP. A partir de estos valores es posible calcular la
eficiencia de CORACS y su funcionalidad, mediante la siguiente fórmula.
𝑉𝑃 + 𝑉𝑁
𝐸= ∗ 100
𝑉𝑃 + 𝑉𝑁 + 𝐹𝑃 + 𝐹𝑁
14 + 4
𝐸= ∗ 100
14 + 4 + 4 + 1
71
𝐸 = 78,26 %
Tomando como casos acertados solamente a verdaderos positivos y verdaderos
negativos, en los cuales CORACS reacciona de forma óptima, teniendo como resultado
una eficiencia de 78.26 %. Pero a su vez también se realizó el cálculo de la eficiencia de
CORACS sin tomar en cuenta los falsos negativos, debido a que son errores humanos
como una mal alineación de los tubos PVC, una distancia diferente a la planteada e
inclinación de la cámara, al realizar de nuevo el cálculo tomando en cuenta estos
últimos factores, se tiene la siguiente fórmula. Teniendo una eficiencia de 95.65%.
𝑉𝑃 + 𝑉𝑁 + 𝐹𝑁
𝐸= ∗ 100
𝑉𝑃 + 𝑉𝑁 + 𝐹𝑁 + 𝐹𝑃
15 + 4 + 3
𝐸= ∗ 100
15 + 4 + 3 + 1
𝐸 = 95.65 %
Para la validación de la hipótesis que dice: “La implementación del sistema de
visión artificial aplicado a la detección y conteo automático de objetos superpuestos de
forma circular, permitirá mitigar los factores de error humano, así como el tiempo
invertido para realizarlo”. Se realizó una prueba en la ferretería “San Agustín” de la
ciudad de Latacunga tanto en la eficiencia del sistema como la eficacia con respecto al
tiempo que se toman los trabajadores para realizar el conteo y clasificación.
Teniendo en cuenta que, al ser almacenados, los tubos ya se colocan de
manera simétrica, por lo que el tiempo necesario para esta acción es despreciable,
teniendo una respuesta del sistema positiva a los 10 segundos como se observa en la
Figura 41 y Figura 43, de la misma manera los trabajadores contaron y clasificaron la
misma cantidad de tubos PVC como se observa en la Figura 45, demorándose un
tiempo de 2 minutos con 45 segundos. De esta manera se valida la hipótesis planteada.
72
Figura 46.
Resultado del reconocimiento de tubos PVC en la ferretería San Agustín.
Nota. La figura muestra el resultado del reconocimiento de tubos PVC en la ferretería San
Agustín.
Figura 47.
Resultado del reconocimiento de tubos PVC en la ferretería San Agustín.
Nota. La figura muestra resultado del reconocimiento de tubos PVC en la ferretería San
Agustín.
73
Figura 48.
Trabajador de la ferretería San Agustín contando los tubos PVC.
Nota. La figura muestra un trabajador de la ferretería San Agustín contando los tubos
PVC.
74
Conclusiones
Los resultados obtenidos por CORACS para la detección, conteo y clasificación
automática de tubos PVC, presenta una eficiencia del 95,65%.
Para que CORACS tenga un nivel alto de detección fue necesario establecer
parámetros para la captura de imágenes como: distancia de los objetos con respecto a
la cámara, la inclinación de la cámara con respecto del suelo; así también considerar la
luminosidad del ambiente para mitigar posibles errores asegurando que se mantenga la
eficiencia en todas las pruebas realizadas.
Para que el proceso se evidencie de forma clara y precisa el desarrollo de la
aplicación fue primordial, debido a que se presenta una interfaz amigable y de fácil uso
para los usuarios.
Como futuros trabajos, se pretende diseñar un mecanismo autónomo que
controle los parámetros como, distancia, alineación, inclinación, luminosidad de los
tubos PVC para la captura de imágenes mejorando su rendimiento y eficiencia.
Además, el poder ampliar el tipo de objetos de forma circular que se puedan reconocer
como varillas, rollos, llantas, etc.
El algoritmo de CORACS no presenta fallas significativas o pérdidas de
información de la imagen, puesto que la lógica de programación es global, es decir el
algoritmo no es diseñado para una imagen y un problema en específico, sino que está
diseñado para que tome la decisión de aplicar los métodos necesarios para el
procesamiento de acuerdo a la imagen.
75
Bibliografía
Campos, A. C.-B. (2005). La imgen digital. Ortod, 35, 255-66.
https://www.academia.edu/39955886/Procesamiento_Digital_de_Im%C3%A1gen
es_con_Python_Filtros_
Cuevas, E. Z. (2016). Procesamiento digital de imagenes con MATLAB & Simulink. Ra-
Ma.https://scholar.google.com/scholar?hl=es&as_sdt=0%2C5&q=Cuevas%2C+E
.+Z.+%282016%29.+Procesamiento+digital+de+imagenes+con+MATLAB+%26+
Simulink.+Ra-Ma.&btnG=
Fernández, E. V. (2015). Técnicas de visión artificial robustas en entornos no
controlados. http://www.investigo.biblioteca.uvigo.es/xmlui/handle/11093/497
Formentí, J. &. (2008). La imagen gráfica y su reproducción. CPG.
https://www.edicionescpg.es/wp-content/uploads/2015/11/Imagen_indice.pdf
García, Ó. R. (2018). MATLAB: conceptos básicos y descripción gráfica. Universidad
Miguel Hernández.
https://scholar.google.com/scholar?hl=es&as_sdt=0%2C5&q=Forment%C3%AD
%2C+J.+%26.+%282008%29.+La+imagen+gr%C3%A1fica+y+su+reproducci%C
3%B3n.+CPG.&btnG=
Hough, P. (1962). Method and means for recognizing complex patterns.
https://scholar.google.com/scholar?hl=es&as_sdt=0%2C5&q=Hough%2C+P.+%
281962%29.+Method+and+means+for+recognizing+complex+patterns.&btnG=
Oltra, G. N. (2008). Una introduccion a la imagen digital y su tratamiento.
https://books.google.com.ec/books?hl=es&lr=&id=t4eEAEc9XSQC&oi=fnd&pg=P
A9&dq=Oltra,+G.+N.+(2008).+Una+introduccion+a+la+imagen+digital+y+su+trat
76
amiento.&ots=EPnMmFzCQG&sig=sckALhxQ8Q0vI2Bh3HLT9LosIQo&redir_esc
=y#v=onepage&q&f=false
Pistori, H. P. (2005). Hough - Circles: Un módulo de detección de circunferencias.
https://www.slideserve.com/russ/9-detecci-n-de-circunferencias-transformada-de-
hough
Rojas Z, T. V., Sanz F., W., & Areteaga, F. (2008). Sistema de visión por computadora
para la detección de objetos esféricos a través de la transformada de Hough.
INGENIERÍA UC, 77-87. https://www.redalyc.org/pdf/707/70712315009.pdf
Smith, S. T. (2006). MATLAB: advanced GUI development. Dog ear publishing.
https://books.google.com.ec/books?hl=es&lr=&id=lSGEIZscN_gC&oi=fnd&pg=P
A1&dq=Smith,+S.+T.+(2006).+MATLAB:+advanced+GUI+development.+Dog+ea
r+publishing.&ots=Akluu7ToUL&sig=p2k-q0Sa9l439NSYO9gZR-
oSthw&redir_esc=y#v=onepage&q=Smith%2C%20S.%20T.%20(2006).%20MAT
LAB%3A%20advanced%20GUI%20development.%20Dog%20ear%20publishing
.&f=false
Vilet, J. M. (2005). Procesamiento digital de imagenes.
http://laurence.com.ar/artes/comun/Apuntes%20procesamiento%20digital%20de
%20imagenes.pdf
77
ANEXOS