SISTEMAS INTELIGENTES DE PROCESAMIENTO DE IMÁGENES
-
Upload
marco-antonio-minaya-cajjak -
Category
Documents
-
view
64 -
download
5
Transcript of SISTEMAS INTELIGENTES DE PROCESAMIENTO DE IMÁGENES
ContenidoCAPITULO I...............................................................................................................................2
INTRODUCCION...................................................................................................................2
CAPITULO II..............................................................................................................................6
CONCEPTOS RELACIONADOS A LA VISION ARTIFICIAL..........................................6
2.1. MÉTODOS DE CAPTACIÓN DE LAS IMÁGENES..............................................6
2.2. PROCESO DE CAPTACIÓN DE IMÁGENES.......................................................7
2.3. CAMARAS..................................................................................................................8
2.4. OPTICAS..................................................................................................................11
2.5. ILUMINACIÓN..........................................................................................................13
2.6. GRABBERS (tarjetas PC):......................................................................................16
2.7. SOFTWARE:............................................................................................................16
CAPITULO III...........................................................................................................................18
APLICACIONES..................................................................................................................18
SISTEMA DE RECONOCIMIENTO Y CLASIFICACIÓN DE PATRONES BASADO EN PROCESAMIENTO DIGITAL DE IMÁGENES Y REDES NEURONALES.......18
CAPITULO I
INTRODUCCION
Uno de los sentidos más importantes de los seres humanos es la visión. Ésta es
empleada para obtener la información visual del entorno físico. Según Aristóteles,
“Visión es saber que hay y donde mediante la vista”. De hecho, se calcula que más de
70% de las tareas del cerebro son empleadas en el análisis de la información visual. El
refrán popular de “Una imagen vale más que mil palabras” tiene mucho que ver con los
aspectos cognitivos de la especie humana. Casi todas las disciplinas científicas
emplean utillajes gráficos para transmitir conocimiento. Por ejemplo, en Ingeniería
Electrónica se emplean esquemas de circuitos, a modo gráfico, para describirlos. Se
podría hacerlo mediante texto, pero para la especie humana resulta mucho más
eficiente procesar imágenes que procesar texto. Lo mismo se podría decir de la
arquitectura de edificios o más recientemente se está empleando métodos gráficos en
el desarrollo del software, como es la herramienta visual UML. La visión humana es el
sentido más desarrollado y el que menos se conoce debido a su gran complejidad. Es
una actividad inconsciente y difícil de saber cómo se produce. De hecho, hoy en día,
se carece de una teoría que explique cómo los humanos perciben el exterior a través
de la vista.
En el año 1826 el químico francés Niepce (1765-1833) llevó a cabo la primera
fotografía, colocando una superficie fotosensible dentro de una cámara oscura para
fijar la imagen. Posteriormente, en 1838 el químico francés Daguerre (1787-1851) hizo
el primer proceso fotográfico práctico. Daguerre utilizó una placa fotográfica que era
revelada con vapor de mercurio y fijada con trisulfato de sodio.
Desde que se inventó la fotografía se ha intentado extraer características físicas de las
imágenes. La Fotogrametría dio sus primeros pasos desde imágenes capturadas en
globos. La Astronomía avanzó enormemente con el análisis de imágenes recibidas por
los telescopios. El análisis de radiografías transformó la Medicina. Se podrían citar
muchos más ejemplos que durante décadas han transformado la percepción de la
Ciencia con el procesamiento de las imágenes, alguna veces por separado y otras de
forma multidisiciplinar.
Sin embargo, el momento histórico que hace que estas técnicas confluyan y den un
cuerpo de conocimiento propio, surge en la década de los 80. La revolución de la
Electrónica, con las cámaras de vídeo CCD y los microprocesadores, junto con la
evolución de las Ciencias de la Computación hace que sea factible la Visión Artificial.
Por tanto, la Visión Artificial o también llamada Visión por Computador, pretende
capturar la información visual del entorno físico para extraer características relevantes
visuales, utilizando procedimientos automáticos. Según Marr, “Visión es un proceso
que produce a partir de imágenes del mundo exterior una descripción útil para el
observador y no tiene información irrelevante”.
Para algunos autores, como González y Woods, los primeros atisbos de este proceder
se remontan a la década de los años 20 del siglo XX, cuando se transmitían imágenes
transoceánicas, a través de cable submarino. Las fotografías periodísticas entre
Europa y América tardaban una semana en llegar a través de los barcos. Al emplear
las primeras técnicas de procesamiento de las imágenes se pasó sólo a tres horas.
Las imágenes se codificaban a cinco niveles de grises y se transmitían por teléfono.
No obstante, éste podría ser el principio de las técnicas de procesamiento de las
imágenes, pero no el de la Visión Artificial, tal cual se ha definido. El concepto de
Visión Artificial es más amplio y recupera para sí, todos los conocimientos de análisis
de las imágenes desempeñado por otras disciplinas desde los albores de la fotografía.
Parece claro que para tratar sobre la Visión, lo primero a estudiar será la naturaleza de
la luz, para luego pasar a entender cómo funciona la visión humana y acabar con las
partes de la Visión Artificial.
Se puede definir la “Visión Artificial” como un campo de la “Inteligencia Artificial” que,
mediante la utilización de las técnicas adecuadas, permite la obtención, procesamiento
y análisis de cualquier tipo de información especial obtenida a través de imágenes
digitales.
Los objetivos típicos de la visión artificial incluyen:
La detección, segmentación, localización y reconocimiento de ciertos objetos
en imágenes (por ejemplo, caras humanas).
La evaluación de los resultados (por ejemplo, segmentación, registro).
Registro de diferentes imágenes de una misma escena u objeto, es decir,
hacer concordar un mismo objeto en diversas imágenes.
Seguimiento de un objeto en una secuencia de imágenes.
Mapeo de una escena para generar un modelo tridimensional de la escena;
este modelo podría ser usado por un robot para navegar por la escena.
Estimación de las posturas tridimensionales de humanos.
Búsqueda de imágenes digitales por su contenido.
Estos objetivos se consiguen por medio de reconocimiento de patrones, aprendizaje
estadístico, geometría de proyección, procesamiento de imágenes, teoría de gráficas y
otros campos. La visión artificial cognitiva está muy relacionada con la psicología
cognitiva y la computación
La visión artificial la componen un conjunto de procesos destinados a realizar el
análisis de imágenes. Estos procesos son: captación de imágenes, memorización de
la información, procesado e interpretación de los resultados. Con la visión artificial se
pueden:
Automatizar tareas repetitivas de inspección realizadas por operadores.
Realizar controles de calidad de productos que no era posible verificar por
métodos tradicionales.
Realizar inspecciones de objetos sin contacto físico.
Realizar la inspección del 100% de la producción (calidad total) a gran
velocidad.
Reducir el tiempo de ciclo en procesos automatizados.
Realizar inspecciones en procesos donde existe diversidad de piezas con
cambios frecuentes de producción.
Las principales aplicaciones de la visión artificial en la industria actual son:
Identificación e inspección de objetos.
Determinación de la posición de los objetos en el espacio.
Establecimiento de relaciones espaciales entre varios objetos (guiado de
robots)
Determinación de las coordenadas importantes de un objeto.
Realización de mediciones angulares.
Mediciones tridimensionales.
CAPITULO II
CONCEPTOS RELACIONADOS A LA VISION ARTIFICIAL
2.1. MÉTODOS DE CAPTACIÓN DE LAS IMÁGENES.
Digital. La función obtenida tras el resultado de la medida o muestreos realizados a
intervalos de tiempo espaciados regularmente, siendo el valor de dicha función un
número positivo y entero. Los valores que esta función toma en cada punto dependen
del brillo que presenta en esos puntos la imagen original.
Píxel. Una imagen digital se considera como una cuadrícula. Cada elemento de esa
cuadrícula se llama Píxel (Picture element). La resolución estándar de una imagen
digital se puede considerar de 512x484 Pixel.
Nivel de grises. Cuando una imagen es digitalizada, la intensidad del brillo en la
escena original correspondiente a cada punto es cuantificada, dando lugar a un
número denominado “nivel de gris”.
Imagen binaria. Es aquella que sólo tiene dos niveles de gris: negro y blanco. Cada
píxel se convierte en negro o blanco en función del llamado nivel binario o UMBRAL.
Escena. Es un área de memoria donde se guardan todos los parámetros referentes a
la inspección de un objeto en particular: Cámara utilizada, imágenes patrón
memorizadas, tolerancias, datos a visualizar, entradas y salidas de control, etc.
Window (ventana de medida). Es el área específica de la imagen recogida que se
quiere inspeccionar.
2.2. PROCESO DE CAPTACIÓN DE IMÁGENES
Módulo de digitalización. Convierte la señal analógica proporcionada por la cámara a
una señal digital (para su posterior procesamiento).
Memoria de imagen. Almacena la señal procedente del módulo de digitalización.
Módulo de visualización. Convierte la señal digital residente en memoria, en señal de
vídeo analógica para poder ser visualizada en el monitor de TV.
Procesador de imagen. Procesa e interpreta las imágenes captadas por la cámara.
Módulo de entradas/salidas. Gestiona la entrada de sincronismo de captación de
imagen y las salidas de control que actúan sobre dispositivos externos en función del
resultado de la inspección.
Comunicaciones. Vía I/O, ethernet, RS232 (la más estándar).
2.3. CAMARAS
Su función es capturar la imagen proyectada en el sensor, vía las ópticas, para poder
transferirla a un sistema electrónico.
Las cámaras utilizadas en visión artificial requieren de una serie de características que
permitan el control del disparo de la cámara para capturar piezas que pasan por
delante de ella en la posición requerida. Son más sofisticadas que las cámaras
convencionales, ya que tienen que poder realizar un control completo de: tiempos,
señales, velocidad de obturación, sensibilidad, etc.
Se clasifican en función de:
La tecnología del elemento sensor.
Cámaras de tubo. Se basan en la utilización de un material fotosensible
que capta la imagen, siendo leída por un haz de electrones.
Cámaras de estado sólido CCD (Charge – Coupled – Device). Se basan
en materiales semiconductores fotosensibles para cuya lectura no es
necesario un barrido electrónico (más pequeñas que las de tubo)
La disposición física.
Cámaras lineales. Se basan en un sensor CCD lineal
Cámaras matriciales. Se basan en un sensor CCD matricial, lo que
permite el análisis de imágenes bidimensionales.
Hay una cámara específica para cada aplicación, color, monocromo, alta definición,
alta sensibilidad, alta velocidad, infrarrojas, etc. Pasamos a comentar en forma breve
el funcionamiento de las más utilizadas.
2.3.1. Cámaras Lineales:
Construyen la imagen línea a línea realizando un barrido del objeto junto con un
desplazamiento longitudinal del mismo.
Las cámaras lineales utilizan sensores que tienen entre los 512 y 8192 pixels, con una
longitud lo más corta posible y gran calidad de imagen.
El hecho de construir imágenes de alta calidad a partir de líneas individuales, requiere
de una alta precisión. La alineación y el sincronismo del sistema son críticos si se
quiere obtener una imagen precisa del objeto a analizar.
Su utilización está muy extendida para la inspección de objetos de longitud
indeterminada, tipo telas, papel, vidrio, planchas de metal, etc.
Características técnicas:
Número de elementos del sensor. A mayor número de elementos (pixels)
mayor tamaño de la óptica.
Velocidad. Número de pixels capaces de ser leídos por unidad de tiempo.
En las cámaras lineales es un valor mucho mas alto que en las matriciales. En
las cámaras de última generación se alcanzan velocidades superiores a los
200 Mhz.
Cámaras lineales a color. Tienen tres sensores lineales, uno para cada color
(rojo verde y azul). Pueden ser de dos tipos:
Trisensor. Los sensores CCd están posicionados unos junto a otros
separados por un pequeño espacio. Tienen una buena sensibilidad
pero solo pueden utilizarse en aplicaciones con superficies planas.
Prisma. Los sensores están posicionados en las tres caras de un
prisma. Pueden utilizarse para cualquier tipo de aplicación pero
necesitan de una mayor iluminación.
2.3.2. Cámaras matriciales:
El sensor cubre un área que está formada por una matriz de pixels. Los sensores de
las cámaras modernas son todos de tecnología CCD formados por miles de diodos
fotosensibles posicionados de forma muy precisa en la matriz.
El tamaño de los CCD está definido en pulgadas, sin embargo su tamaño real no tiene
nada que ver con su valor en pulgadas, sino que están basados en la relación de los
primeros con el tamaño de los tubos Vidicon. Formatos habituales son 1/3”,1/2” y 2/3”.
Características de los sensores.
Factor de relleno. Porcentaje del área de píxel que es sensible a la luz, el ideal
es el 100%, porcentaje imposible de obtener por la separación entre los
registros.
Tipo de transferencia. Según la forma de transferencia de la información.
Transferencia Inter-línea (ITL). Son los mas comunes, utilizan registros
de desplazamiento situados entre las líneas de píxel para almacenar y
transferir los datos de la imagen lo que permite una alta velocidad de
obturación.
Transferencia de cuadro. Disponen de un área dedicada al
almacenamiento de la luz, la cual está separada del área activa, esto
permite un mayor factor de relleno aunque se pierde velocidad de
obturación.
Cuadro entero. Son los de arquitectura más simple, emplean un
registro paralelo para exposición de los fotones, integración de la
carga y transporte de la misma, alcanzando con este sistema factores
de relleno del 100%.
2.3.3. Cámaras color:
Aunque el proceso de obtención de las imágenes es más complejo, proporcionan una
mayor información que las monocromo.
Cámaro color 1CCD. Incorporan un sensor con filtro en forma de mosaico, con
los colores primarios RGB (filtro bayer), observar en la figura como hay el doble
de pixels de color verde para así asemejar la percepción del sensor al ojo
humano.
Debido al carácter del filtro, bien en el interior de la cámara, o bien en un
ordenador, se realizan los cálculos necesarios para obtener en tiempo real una
señal analógica o digital en RGB.
Cámara color 3CCD. Incorporan un prisma y tres sensores, la luz procedente
del objeto pasa a través de la óptica y se divide en tres direcciones al llegar al
prisma. En cada una de los tres extremos del prisma se encuentra un filtro de
color (rojo, verde y azul) y un sensor que captura la luz de cada color que viene
del exterior. Internamente la cámara combina los colores y genera una señal
RGB similar a la que ve el ojo humano. Aunque la calidad de las imágenes de
este tipo de cámaras respecto de las de 1CCD es muy superior, tienen dos
inconvenientes a tener en cuenta: la necesidad de una mejor iluminación para
compensar el efecto producido por el prisma y el efecto de aberración
cromática que se crea por la propia estructura del sistema que se subsana
colocando las ópticas adecuadas para este tipo de cámaras.
2.4. OPTICAS
Fundamentos teóricos. Las ópticas se utilizan para transmitir la luz al sensor de la
Cámara de una forma controlada para poder obtener una imagen enfocada de uno o
varios objetos.
Para saber exactamente que óptica debe utilizarse hay que tener en cuenta una serie
parámetros. Tamaño del sensor, Distancia del objeto a la cámara y el campo de visión
que deseamos abarcar. Se puede calcular la óptica mediante la siguiente fórmula:
En los sistemas de visión artificial es necesario utilizar ópticas de calidad para tener la
mejor imagen posible y permitir las medidas con la mayor precisión
Para definir el tipo de óptica se deben seguir una serie de consideraciones:
El tipo de iluminación utilizado
Las especificaciones del sensor de la cámara
El tamaño y geometría del objeto
La distancia y el espacio disponible
Elementos que componen las lentes:
Anillo de enfoque. Cuanto más cerca enfocamos, más sobresale el objetivo.
Diafragma. Se gira para seleccionar la entrada de luz a la cámara. Su escala
suele ser: 16,11,...,1.8. A mayor número seleccionado, menor abertura del
diafragma y mayor profundidad de campo.
Velocidad de obturación. Selecciona el tiempo que estará abierto el
diafragma. Su escala suele ser: 1/1, ½, ... 1/250, 1/ 1000. Para obtener
imágenes nítidas de objetos que se desplazan a gran velocidad hay que
seleccionar velocidades de obturación altas (>1/250).
Longitud focal. Valor en milímetros que nos informa de la distancia entre el
plano focal (CCD) y el centro del objetivo.
Profundidad de campo. Espacio en el cual se ve el objeto totalmente nítido.
Depende de la longitud focal de la lente empleada.
Precisión de la medida. Depende exclusivamente del campo de medida y de
la resolución de la cámara. Ejemplo: si el campo de visión es de 10x10 mm. Y
utilizamos una cámara de 752x752 pixels, la precisión de la medida en cada
eje sería de 0,013 mm/píxel, o lo que es lo mismo, un píxel equivale a 13
milésimas de milímetro.
Clasificación de las lentes:
2.5. ILUMINACIÓN
La iluminación es la parte más crítica dentro de un sistema de visión. Las cámaras
capturan la luz reflejada de los objetos. El propósito de la iluminación utilizada en las
aplicaciones de visión es controlar la forma en que la cámara va a ver el objeto.
La luz se refleja de forma distinta si se ilumina una bola de acero, que si se ilumina
una hoja de papel blanco y el sistema de iluminación por tanto debe ajustarse al objeto
a iluminar.
Hay un cierto número de consideraciones a tener en cuenta para determinar la
mejor iluminación para una aplicación:
¿Es en color o en monocromo?
¿Es de alta velocidad o no?
¿Cuál es el campo de visión a iluminar?
¿El objeto presenta superficies con reflejos?
¿Qué fondo presenta la aplicación: color, geometría, ...?
¿Cuál es la característica a resaltar?
¿Qué duración debe tener el sistema de iluminación?
¿Qué requisitos mecánicos, ambientales, deben considerarse?
La respuesta a estas preguntas dará el tipo de iluminación a utilizar, para lo que se
tendrá en cuenta:
Intensidad de luz necesaria
Longitud de onda adecuada
Superficie a iluminar
Reflectividad del objeto
Color del objeto
Espacio disponible
Tipo de cámara utilizada
La iluminación podrá ser mediante fibra óptica, fluorescente, led, difusa, láser.
Iluminación mediante fibra óptica. Proporcionan una gran intensidad de luz uniforme,
con ausencia de sombras. Es ideal para iluminar objetos de reducidas dimensiones y
se pueden sujetar al objetivo de la cámara o a la óptica de un microscopio. A los
anillos de luz se les puede acoplar filtros de colores, polarizadores/analizadores, y
difusores para eliminar reflejos y aumentar el efecto difusor.
Iluminación mediante fluorescentes. (anulares, lineales, lineales de apertura, de
panel). Este tipo de iluminación proporciona una luz brillante, sin sombras. Las
lámparas han sido diseñadas para suministrar el máximo de intensidad durante al
menos 7000 horas. Lo que proporciona una mayor productividad. Existen lamparas
blancas en distintas temperaturas de color, Y también ultravioletas (UV). Esta
iluminación se aplica en entornos que requieren mucha luz, y ningún tipo de sombra,
(análisis biológicos, inspección y la microscopía, Ensamblaje, Inspección de circuitos,
Industria, Laboratorios, Visión Industrial, Fotografía, Control de Calidad, Robótica,
etc...)
Iluminación mediante diodos led. Proporcionan una luz difusa muy útil para la
aplicación Iluminación mediante fibra óptica circular – semirrígida iluminación
fluorescente de panel – circular iluminación mediante diodos led, anular – directa en
ciertos objetos. Pueden ser de iluminación directa y en anillo Iluminación mediante
láser. Los patrones láser se utilizan mayoritariamente en aplicaciones de medida de
profundidad, y de irregulares. Mediante ópticas especialmente diseñadas, se puede
convertir un puntero láser, en diferentes formas y tamaños.
2.6. GRABBERS (tarjetas PC):
En las aplicaciones de visión industrial y de análisis de imagen es necesario tomar las
imágenes con la mejor calidad posible y enviarlas a la memoria del ordenador con el
fin de procesarlas, analizarlas y /o visualizarlas. Las cámaras que se utilizan en estos
entornos presentan una serie de requisitos que en la mayoría de ocasiones no son
estándar. Las especificaciones y precios de las placas de captura de imagen (Frame
Grabbers) varían enormemente y por tanto se deben tener en cuenta los requisitos
técnicos de cada frame grabber para su elección.
Las tarjetas se dividen en tres categorías distintas en función de sus características:
Frame Grabbers estándar de bajo coste
Frame Grabbers avanzados de altas prestaciones y con características
multicanal
Frame Grabbers "inteligentes" con procesadores abordo.
2.7. SOFTWARE:
En el pasado más reciente no era posible hacer los procesos en tiempo real debido a
que los ordenadores no eran lo suficientemente rápidos para realizar los cálculos con
las imágenes. Con la llegada del bus PCI y con la rápida evolución de los
procesadores de los PC se ha conseguido visualizar las imágenes en tiempo real y
realizar la mayoría de procesos en tiempos suficientemente cortos, como para que
puedan resolver aplicaciones de visión en entornos científicos e industriales, con los
resultados esperados en su justo tiempo. Esta evolución del hardware a comportado el
desarrollo de librerías de visión que puedan funcionar en entornos estándar de todo
tipo de sistemas operativos como de procesadores.
La base del software de un sistema de visión es la interpretación y análisis de los
píxels. El resultado final puede ser, desde la medida de una partícula, a la
determinación o lectura de una serie de caracteres (OCR), pasando por cualquier otro
proceso que podamos imaginar sobre las imágenes.
Los pasos a seguir en un sistema de visión serán:
Captura de la Imagen
Definición de la región de interés donde se realizarán las medidas
Inicialización de las tolerancias para determinar si la pieza a determinar es o no
correcta
Ejecutar las medidas
Generar una salida apropiada
CAPITULO III
APLICACIONES
SISTEMA DE RECONOCIMIENTO Y CLASIFICACIÓN DE PATRONES BASADO EN PROCESAMIENTO DIGITAL DE IMÁGENES Y REDES NEURONALES
RESUMEN
A través del presente trabajo, se presenta el diseño y desarrollo de un sistema de
reconocimiento y clasificación de patrones basados en procesamiento digital de
imágenes y redes neuronales. El sistema cuenta con una faja transportadora para la
simulación de una línea de producción. Esto permite ingresar diferentes tipos de
piezas u objetos en forma automatizada a un recinto cerrado denominado zona de
captura. En este recinto se realizará la adquisición de la imagen cuando el objeto se
encuentre posicionado debajo de la cámara (utilizando para ello un sensor proximidad)
. Una vez reconocido el objeto (a través de color y parámetros geométricos que son
ingresados a una red neuronal para la toma de decisión) el computador enviará una
señal de mando al sistema de control del clasificador para posicionar sus recipientes
adecuadamente y recibir la pieza reconocida. El sistema está conformado por la faja
transportadora, un sistema clasificador con 3 recipientes, un soporte para la cámara
digital y el sensor de proximidad, además del recinto que permite aislar la zona de
captura de la luminancia variable del medio ambiente.
OBJETIVOS
Diseñar y construir un sistema de clasificación automático de objetos, basado
en técnicas de procesamiento digital de imágenes y redes neuronales. El
sistema tendrá la capacidad de extraer las características visibles del objeto
para diferenciarlo y clasificarlo de acuerdo a su forma, color y tamaño.
Diseñar y construir una estructura metal-metálica que soporte una faja
transportadora, un soporte para una cámara digital, un clasificador con 3
recipientes, además del recinto que permite aislar la zona de captura de la
luminancia variable del medio ambiente. Dicha estructura permitirá simular una
línea de producción industrial.
Diseñar e implementar un sistema de control, el cual permita monitorear el
movimiento de la faja transportadora, la adquisición de la imagen y la
clasificación del objeto.
Implementar algoritmos basados en procesamiento digital de imágenes, los
cuales permitan extraer características visibles como: color, tamaño y forma.
Implementar el algoritmo de una red neuronal multicapa como reconocedor de
patrones. Esta red neuronal podrá entrenarse para clasificar diferentes tipos de
objetos.
Implementar un aplicativo de interfaz de usuario basado en el entorno Visual
Studio C++, en el cual se codificarán todos los algoritmos implementados de
procesamiento digital de señales, redes neuronales y control del proceso.
INTRODUCCIÓN
El desarrollo de la tecnología y el aumento de la competencia en el sector industrial,
han llevado a las empresas a reestructurarse y perfeccionarse optimizando sus
procesos por medio de la automatización basada en el computador. La inteligencia
artificial es parte de la informática avanzada que intenta aproximar algunas de las
capacidades del cerebro humano, entre ellas la visión.
La visión artificial por computadora es una disciplina en constante crecimiento con
versatibilidad de aplicaciones, como inspección automática, mediciones,
reconocimiento de objetos, robótica, etc. El futuro es aún más prometedor, ya que la
industria seguirá creciendo a medida que se desarrollen investigaciones para mejorar
su performance; hasta llegar al punto en que todo se realice mediante máquinas
capaces de tomar decisiones y realizar actividades autónomas para la fabricación o
clasificación de un determinado producto, donde solamente se requerirá la labor
humana para el control y mantenimiento de estas máquinas.
La manipulación de objetos en líneas de producción es una tarea donde un gran
conjunto de diferentes tipos de objetos aparecen en posición y orientación arbitraria.
En este caso el reconocimiento y la clasificación satisfactoria del sistema dependen de
las técnicas de reconocimiento de objetos confiables que se empleen para cumplir con
ciertos requerimientos importantes para el proceso.
En este trabajo se implementa un sistema de clasificación automática de colores,
tamaños y formas, el cual permitirá seleccionar y posicionar, de acuerdo a los
parámetros ingresados por el operador, el lugar respectivo de cada objeto en estudio.
El problema se aborda mediante un esquema de visión artificial, el cual se presente en
la figura 1.
La adquisición de la imagen es el conjunto de operaciones que se realizan para
transformar la iluminación de una escena en una señal digital, esto por medio de una
cámara digital. La imágenes adquiridas no siempre se presentan en un formato
adecuado para su análisis, por lo que el siguiente paso es el “pre-procesamiento” de la
imagen, en el cual se utilizan técnicas que permitan mejorar la imagen adquirida, como
son el nivel de gris, contraste, eliminación de ruido, realce de bordes. (Véase la figura
2)
Una vez que la imagen se encuentre en condiciones de ser procesada, se tiene que
hallar el objeto dentro de la imagen de forma independiente, lo cual se realiza a través
de la segmentación. (Véase la figura 3)
Una vez segmentada la imagen, se procede a extraer las características para el
reconocimiento, para que pueda clasificarse el objeto por color, tamaño o forma.
Asimismo lo procesos industriales no son constantes, razón por la cual el sistema
debe ser capaz de adaptarse a nuevos contextos, siendo necesario implementar una
red neuronal que permita flexibilidad de las operaciones.
DESCRIPCIÓN DEL PROYECTO
El proyecto se divide en 4 etapas principales: diseño mecánico, diseño e
implementación del sistema de control, procesamiento digital de la imagen) y diseño
de la red neuronal.
Diseño mecánico:
En esta parte se describirá el diseño e implementación del soporte mecánico
necesario para la simulación de una línea de producción industrial. Esto comprende el
soporte sobre la que se ubicará la faja transportadora, un clasificador de objetos, el
soporte para la cámara digital y sensor de presencia, además del aislamiento de la
zona de captura de la imagen de los efectos del medio ambiente. (Véase la figura 5 y
6).
Diseño e implementación del sistema de control:
La etapa de control es goberando por un microcontrolador PIC 16F877 y tiene como
objetivo principal monitorear en su totalidad el proceso de clasificación desde una
estación remota.
El proceso de clasificación se inicia cuando el operador desde el computador manda la
señal de inicialización al sistema. En ese momento el microcontrolador PIC 16F877
busca llevar a los elementos de campo conectados a él directamente, a las
condiciones iniciales.
Primero posiciona el clasificador de objetos mandando la secuencia necesaria al motor
de pasos (el cual se encarga del movimiento del clasificador). El microcontrolador deja
de mandar la secuencia cuando el sensor óptico (ubicado de forma adecuada) es
activado, el cual indica que el clasificador se encuentra en la posición deseada.
En ese instante el microcontrolador PIC 16F877 genera la señal PWM (modulación por
ancho de pulso), el cual previa interfaz de potencia inducirá movimiento al motor de
corriente continua (encargado de la velocidad de la faja transportadora).Una vez
puesto en marcha el sistema, el microcontrolador esta pendiente de cualquier
interrupción, generado por el sensor de presencia, o ingreso de comandos desde el
computador o periféricos conectados directamente el microcontrolador.
En el caso que se produzca una interrupción por el sensor de presencia, el
microcontrolador PIC envía la señal al computador para que adquiera la imagen. EL
computador en respuesta envía al microcontrolador la señal de parada del proceso y a
través de la cámara digital captura la imagen, luego la procesa y finalmente envía la
señal de reinicio del proceso (arranque del motor de corriente continua). En un tiempo
muy corto (alrededor de milisegundos) se envía el identificador del clasificador al cual
debe ser depositado el objeto.
En este momento el microcontrolador PIC manda la secuencia necesaria al motor de
pasos (previa interfaz de potencia) hasta llegar a la posición deseada, posterior a esto
el microcontrolador envía la señal al computador indicando que el objeto fue
clasificado.
Procesamiento digital de la imagen:
La imagen obtenida a partir de la cámara digital tiene el formato RGB de 256 colores,
cuenta con la resolución de 240*320 píxeles. Esta imagen es grabada en formato BMP
en el disco duro de la computadora. A partir de este archivo se extraen las
componentes R G B de cada píxel, que son grabados en una matriz 240 * 320 * 3 para
poder ser procesadas por los algoritmos de encargados de extraer características de
la imagen.
Obtenidas las componentes RGB de la imagen, se formaron 3 imágenes, una de ellas
sólo con componentes R, la otra con G y finalmente con B. A estas 3 imágenes se
aplicó la máscara de SOBEL obteniendo 3 matrices las cuales son binarizadas
utilizando un valor de umbral (este valor puede variar dependiendo de la luminosidad
ambiental). Binarizadas las tres matrices se procede a realizar una sumatoria lógica
píxel a píxel de las tres matrices obteniendo una matriz resultante que define los
bordes del objeto a detectar sin pérdida de información.
Una vez binarizada la imagen, se obtienen las coordenadas de los píxel que forman en
contorno de la figura para poder extraer características que permitan clasificarlas por
color, tamaño y forma.
Cálculo del perímetro.- Como resultado de la detección de máximos y mínimos (Fig.
12) se obtienen las coordenadas correspondientes a los pixeles que conforman el
contorno del objeto. Luego, conociendo las dimensiones en cms. de cada pixel, se
procede a determinar la diferencia euclidiana entre coordenadas del contorno, para
luego ir acumulando estos valores en una variable, que al final del proceso tendrá el
valor del perímetro requerido. La diferencia o distancia euclidiana) entre coordenadas
del contorno es expresada como:
Cálculo del área y color.- Conociendo las coordenadas del contorno de la imagen se
enumeran el número de píxeles contenidos en la figura, las cuales multiplicadas por el
área del píxel obtenemos el área del objeto. Asimismo para identificar el color del
objeto, a cada pixel se realiza una conversión de formato RGB a HIS (H=hue
proporciona información del color del objeto).
Diseño de la red neuronal:
En esta parte, el objetivo principal es construir una red neuronal que permita clasificar
los objetos en forma automática y versátil dentro de 3 clases (número de
clasificadores). El modelo desarrollado en el proyecto es el perceptrón multicapa con
el algoritmo de propagación del error. El esquema general de la red neuronal diseñada
de muestra en la Fig. 13, donde puede verificarse una capa de entrada con 4
neuronas, 2 capas ocultas con 40 neuronas cada uno y una capa de salida con 3
neuronas.
Interfaz Visual:
La interfaz visual ha sido desarrollada íntegramente utilizando el lenguaje de
programación MS Visual C ++ con el cual se ha logrado mayor rapidez en el tiempo de
procesamiento de los algoritmos de procesamiento digital de imágenes. Para el
acceso a las funciones de la cámara digital utilizada para la adquisición de las
imágenes, se ha utilizado un control Active X “videoCapX” el cual incorpora funciones
utilizadas dentro del programa.
La interfaz visual que se ha desarrollado cuenta con las siguientes funcionalidades:
Módulo de calibración de la cámara: Este módulo permite determinar las
dimensiones de un píxel de la imagen en base a la distancia que existe entre la
superficie del objeto y la cámara.
Módulo de calibración de colores: Este módulo permite definir los umbrales de
color (valores numéricos que varían entre 0 y 255).
Módulo de configuración de criterios de selección: Se ha implementado los
siguientes criterios de selección: Forma, Color, Tamaño. Este módulo permite
definir cual será el criterio de selección. Red neuronal como sistema de
clasificación de patrones: Este módulo consta de dos partes: Generación de
Archivos de Entrenamiento y Entrenamiento de la Red Neuronal.
Comunicación serial: Se ha implementado el módulo de comunicación serial
RS 232C para PC en donde se ejecuta el aplicativo desarrollado en Visual C+
+ y el módulo de control basado en PIC 16F877.
Identificación de formas de objetos basados en los momentos de Hu: Este
módulo esta basado en el cálculo de los momentos invariantes a traslaciones,
rotaciones y homotecias.
CONCLUSIONES
El sistema diseñado es capaz de clasificar objetos por sus colores utilizando el
formato HIS. El sistema actualmente esta predeterminado para trabajar con 6
colores, siendo necesario cada vez que se inicie el proceso de clasificación
calibrar los umbrales de color para la diferentes tonalidades de color que
pueden existir.
Para la segmentación de la imagen se utilizó el operador de Sobel, el cual fue
aplicado a cada componente de color (R,G,B) de la imagen capturada por la
cámara digital, para luego ser binarizada y sumada lógicamente. Este método
permitió segmentar eficientemente objetos cuyos colores son parecidos al color
de la faja transportadora, como lo son: azul y verde.
El sistema diseñado es capaz de calcular el perímetro del objeto con un error
de 0.5 cm., mientras que el área es calculado con un error de 0.5 cm2. Para
esto es necesario calibrar la cámara antes de iniciar el proceso de clasificación,
de esta manera se obtiene el tamaño del píxel en cm.
Para el proceso de clasificación por formas se diseñó e implementó una red
neuronal basada en el modelo del perceptrón multicapa con el algoritmo de
retropropagación del error y función de activación tangente hiperbólica. La
eficiencia de este modelo es mayor al 90% y el tiempo de entrenamiento de la
red es menor a los 10 minutos.
Los algoritmos de control, comunicación, extracción, descripción y clasificación
de objetos fueron elaborados en el entorno Visual Studio C++. Se eligió esta
alternativa por el tiempo de procesamiento que toma en desarrollar, para este
entorno, los algoritmos codificados. La interfaz desarrollada es de fácil uso y
comprensión.