Академический Документы
Профессиональный Документы
Культура Документы
Resumen— Se desarrolló un sistema embebido1 para visión mejorado las capacidades de adquisición de sistemas
artificial utilizando diferentes sistemas de desarrollo presentes en electrónicos como cámaras y software para el procesamiento,
la industria electrónica, ensamblados y puestos a punto para una prueba de ellos son los dispositivos inteligentes.
obtener un sistema hardware-software de bajo costo para Con el fin de obtener un sistema dedicado capaz de procesar
realizar diferentes aplicaciones con visión artificial. Como imágenes y cumplir con funciones de manera programada, se
resultado, el sistema consta de dos microprocesadores, LPC2106
desarrolló un sistema embebido para visión artificial a partir
de 60 MHz y el ATMEGA 2560 de 16 MHz, un menú de
navegación y una pantalla de visualización. El sistema tiene la de dos sistemas de desarrollo, CMUCAM3 [2] y el
capacidad de analizar 7,14 imágenes por segundo, almacenar 2,6 ARDUINO [3], el primero dedicado al procesamiento de las
imágenes por segundo y visualizar una imagen cada 3,4s. imágenes y el segundo dedicado al control de periféricos,
activación de indicadores y manipulación de otros sistemas y
sensores.
Palabras clave— Visión artificial, sistema embebido, protocolo de
comunicación, interfaz usuario-máquina, control de periféricos.
El desarrollo de un SVA inicia con la selección de la cámara a
utilizar considerando las especificaciones de diseño de una
Abstract— An embedded system was developed for computer
aplicación, las cuales dependen directamente del tipo de
vision using different current development platforms available in
the electronic industry, the platforms was assembled and tuned información a adquirir (longitud de onda), de la distancia entre
to obtain a low cost hardware-software system for making el objetivo y la lente, el campo de visión de la lente y las
different applications using machine vision. As a result, the condiciones de iluminación. La CMUCAM3 como SVA
machine vision embedded system has two microprocessors, integra un sensor de imagen de resolución 352x288 píxeles,
LPC2106 at 60 MHz and the ATMEGA 2560 at 16 MHz, a un sistema óptico y un procesador, permitiendo desarrollar
navigation menu and a visualization display. The system has the sistemas portátiles independientes del computador con la
capability to analyze 7,14 frames per second, to store 2,6 frames capacidad de procesar la información a partir de las imágenes
per second and to visualize an image every 3,4 seconds. adquiridas y realizar control o monitoreo, como por ejemplo,
la activación de un motor o una alarma.
Key Word — Machine vision, embedded system, communication
protocol, user-machine interface, peripheral control. A través de la CMUCAM3, es posible realizar control y
monitoreo con restricciones de puertos, pues consta de
solamente 4 pines de entrada/salida digital o salida PWM,
comunicación serial RS232, comunicación serial TTL, es
I. INTRODUCCIÓN decir, que para el manejo de sistemas que requieran un mayor
número de puertos, se requiere realizar una adición de un
Actualmente en diferentes secciones de la industria, la sistema microprocesado.
medicina, la agricultura y en las actividades cotidianas, se
requiere el uso de sistemas que tomen decisiones a partir del Generalmente para el manejo del SVA es necesario una
procesamiento imágenes adquiridas. Los Sistemas de Visión interfaz usuario-máquina, conformado por una pantalla, donde
Artificial (SVA) se han hecho cada vez más comunes en la a través de un menú desplegado y un teclado es posible
domótica, seguridad, robótica, entre otros. Este crecimiento ha seleccionar las acciones a realizar sobre las imágenes
generado diferentes tecnologías, abaratado los costos y adquiridas y procesadas. Considerando las capacidades del
SVA CMUCAM3, se implementó por medio del ARDUINO,
un sistema de visualización para la interfaz usuario-máquina y
1
Un sistema embebido o dedicado es un sistema de computación diseñado para controlar diferentes opciones del sistema embebido
para realizar una o algunas funciones dedicadas frecuentemente en un sistema
de computación en tiempo real.
Fecha de Recepción: 01 de Enero de 2014
Fecha de Aceptación: 24 de Junio de 2014
164 Scientia et Technica Año XIX, Vol. 19, No. 2, Junio de 2014. Universidad Tecnológica de Pereira.
objeto de este artículo, como configurar, calibrar y controlar el B. Aplicaciones en visión artificial.
SVA.
La visión artificial y el procesamiento digital de imágenes
II. ANTECEDENTES normalmente son temas desarrolladas en computadores
A. Generalidades y estado actual de los sistemas embebidos. portátiles o de escritorio, requieren en muchas ocasiones,
tarjetas de video, software y hardware especializado. Sin
Un sistema embebido (SE) es un sistema de computación
embargo en la actualidad las aplicaciones de visión artificial
diseñado para realizar funciones dedicadas en tiempo real,
han migrado a los SE, incorporando sensores de imagen,
cuyo fin es cubrir necesidades especificas; la mayoría de sus
sistemas ópticos, sistemas de iluminación y procesando la
componentes se encuentran incluidos en una misma placa
información fuera de un computador para tomar decisiones en
base, generalmente se pueden programar directamente en
ambientes donde se requiere portabilidad, tal como lo muetsra
lenguaje ensamblador o mediante un compilador utilizando
Dongxian He et al., [7] en 2007, implementando una estación
lenguaje C o C++, su principal objetivo es reducir costos.
meteorológica con sensores de temperatura, humedad del
El crecimiento en la industria electrónica se ha generado en suelo, humedad relativa e intensidad de luz y cuatro módulos
parte por el aumento en los niveles de integración, es decir, la de cámara CCD, para tener información del entorno de la
cantidad de transistores que se tienen por mm2 y el costo estación, las imágenes fueron transportadas por la red en
inversamente relacionado con dicha cantidad. En los años 70’s archivos http, la información fue procesada en un centro de
la escala de integración LSI (Small Scale Integration) tenía datos donde un servidor VPN corre las aplicaciones
desde 1.000 a 10.000 transistores por circuito integrado con desarrolladas en JAVA para procesar la información obtenida
un promedio de 200 transistores por mm2, en los 80’s la escala por los sensores.
VLSI (Very Large Scale Integration) agrupaba hasta 100.000 Otra forma de utilizar los sistemas embebidos para visión
transistores por circuito integrado; fue en esta época cuando artificial, es mediante la adquisición de video, en este caso Jie
IBM desarrolló el primer sistema embebido (SE). Los años ZHANG et al., [6] utilizan un microprocesador ARM7
90’s registraron hasta 270 mil transistores por mm2 y a S3C44B0X y proponen una técnica para adquisición de video
comienzos de mileno se contaban con cerca de 4,5 millones de en tiempo real para monitoreo remoto, vigilancia del medio
transistores por mm2. Actualmente se alcanzan niveles de ambiente y muchas otras posibles aplicaciones, el sistema esta
integración de hasta 9 millones de transistores por mm2 dando conformado por GPS, plataforma de información y canal de
origen a microprocesadores más veloces, eficientes y a menor transmisión, el sistema también puede adquirir y procesar
precio [5][11]. imágenes.
C. Interfaz Usuario-Maquina.
Figura 1. Sistema embebido CMUCAM3 con lente, sensor de imagen La interfaz fue implementada en una tarjeta ARDUINO
y procesador MEGA 2560 [3], como sistema embebido maestro el cual
controla la CMUCAM3, una pantalla de visualización, un
La CMUCAM3 cuenta con una librería llamada CC3 la cual menú de navegación y otros periféricos. El ARDUINO y el
logra por medio de lenguaje C, programar procesamientos de display LCD a color son mostrados en la Figura 2. La tarjeta
imagen sobre el hardware del SVA. Esta librería identifica y ARDUINO cuenta con un microprocesador Atmega 2560 de 8
ubica variables (software) en sus respectivos registros bits y 16MHz, tiene comunicación serial, maneja entradas y
(hardware), define el tipo de variables, estructuras, salidas digitales, salidas PWM y se programa mediante una
definiciones, y requerimientos de memoria para cada una de plataforma basada en lenguaje C (Processing). El Display
las funciones programadas. (Color LCD Shield) de ARDUINO es un dispositivo que
166 Scientia et Technica Año XIX, Vol. 19, No. 2, Junio de 2014. Universidad Tecnológica de Pereira.
4
Protocolo especial para comunicación serial que opera entre
-12V y 12V.
Scientia et Technica Año XIX, Vol. 19, No. 2, Junio de 2014. Universidad Tecnológica de Pereira. 169
2) Función Histograma.
1) Función Configurar.
Para realizar la configuración de la cámara se diseñó el
siguiente protocolo de comunicación:
adquiridas por la CMUCAM3, en el display la resolución es quedado así un byte conformado por el canal rojo y verde; en
de 132x132 píxeles y la representación del color se realiza de el canal azul se realiza el mismo corrimiento a la izquierda de
dos formas, una utilizando 8 bits por píxel así, tres para el cuatro posiciones y se envían los dos bytes que conforman el
canal rojo, tres para el verde y dos para el azul como se valor del píxel en 12 bits, en el diagrama de la Figura 14 se
observa en la Figura 13, y la otra es utilizando 12 bits por observa el proceso para cambiar la representación de la
píxel, cuatro por cada canal como se observa en la Figura 14. imagen a 12 bits.
Para que la información recibida por el ARUINO sea la
correcta, es necesario realizar un acondicionamiento de la
imagen antes de enviarla al display, dicho acondicionamiento
consiste en configurar la CMUCAM3 para que adquiera la
imagen en baja resolución, tome una región de interés de la
imagen de tamaño 132x132, ver Figura 12.
http://www.teleobjetivo.org/blog/asi-han-evolucionado-
los-microprocesadores.html
AGRADECIMIENTOS [12] Raspberry pi. [En línea]. Disponible en:
Los autores expresan sus agradecimientos al Departamento http://www.raspberrypi.org/
Nacional de Ciencia, Tecnología e Innovación – Colciencias,
por la cofinanciación del proyecto titulado “Desarrollo de una
herramienta portátil con visión artificial para la cosecha
selectiva de café”, sobre el cual se desarrollaron las
actividades descritas en este artículo. De igual forma agradece
a la Universidad Nacional de Colombia por la participación en
este proceso a través del desarrollo de prácticas universitarias
conducentes a trabajos de grado de uno de sus estudiantes.
REFERENCIAS