Está en la página 1de 14

CLASIFICATION SYSTEM BASED ON COMPUTER VISION

Jos Porras
jose_music86@hotmail.com
Miguel De la Cruz ()

Asesor:
Profesor Antonio Morn
amoran@mail.urp.edu.pe

Curso: CE 1002 Taller de Electrnica IV


Escuela Profesional de Ingeniera Electrnica
Universidad Ricardo Palma

RESUMEN: El presente proyecto trata de un


sistema automatizado controlado por visin
artificial, utilizando hardware (sensor de luz, control
de motor a pasos) y software (control por
MATLAB). El principio bsico de funcionamiento es
transportar objetos de color (rojo, verde y azul) por
una faja transportadora, detectarlos con un sensor,
capturar la imagen con una cmara web comn y
procesarla por MATLAB para clasificarlos en tres
distintos contenedores. Con este proceso se logr
una clasificacin de objetos eficaz tanto en color y Las principales ventajas son la reduccin de
forma. los costes del control de calidad, el aumento de la
produccin, la inspeccin del 100% de la
SUMMARY: This project is an automated produccin, la reproducibilidad y el funcionamiento
system controlled by computer vision, using 24 horas al da sin cansancio.
hardware (light sensor, stepper motor control) and
software (control by MATLAB). The basic principle 1.1. Elementos de un Sistema de Visin
of operation is to transport objects (red, green and Artificial
blue) by a conveyor belt, a detecting sensor, image Los elementos bsicos son los siguientes:
capture web camera and processed by MATLAB El sistema de iluminacin (fluorescente,
common to classify them in three different LED, polarizada, backligth, lser)
containers. This process achieved an efficient El sensor o cmara de captura de imagen
classification of objects in color and shape. (CMOS), CCD, InGaAs)
Tarjeta de captura de elevado ancho de
banda (Firewire, CameraLINK,
GbEthernet)
1 INTRODUCCIN Procesamiento de imagen (Procesador y
algoritmos de pretratamiento y filtrado de
La visin artificial trata de simular el proceso la imagen, de segmentacin y
del sentido de la visin de los seres vivos, segn el reconocimiento de formas, de extraccin
cual un objeto es captado mediante los receptores de descriptores y de clasificacin)
de la retina y es transformado en impulsos Sincrona con el proceso, para adquirir la
nerviosos que son procesados por el cerebro. imagen en el momento adecuado y para
La visin artificial consiste en la captacin de actuar con el proceso o separar unidades
imgenes en lnea mediante cmaras basadas en defectuosas.
matrices de sensores sensibles a la luz (CCD o
CMOS), el posterior tratamiento de las mismas 1.2. Principio de Funcionamiento:
mediante tcnicas de anlisis de imagen y la La visin artificial, tambin conocida como
actuacin sobre el proceso (control de producto) o visin por computador (del ingls computer
el producto (control de calidad). vision) o visin tcnica, es un subcampo de la
inteligencia artificial. El propsito de la visin En la medicina aparece el procesamiento
artificial es programar un computador para que de imgenes, a menudo orientadas hacia
"entienda" una escena o las caractersticas de el diagnstico de dolencias o
una imagen. enfermedades, entre las que se incluyen
Generalmente la visin artificial se divide radiografas, resonancias magnticas,
en seis reas: tomografas etc.
Captacin: Proceso de obtener una Navegacin en Robtica, la visin es un
imagen. El proceso de captura est elemento de un sistema multisensorial. La
centrado en tres aspectos importantes, informacin procedente de la visin es
necesarios para obtener una imagen de validada, comparada y finalmente
calidad que no altere las condiciones integrada con el resto de la informacin
reales agregando errores considerables al proporcionada por otro tipo de sensores.
sistema. El resultado es la reconstruccin de la
Pre procesamiento: Mtodos para quitar escena 3-D, que permite la navegacin
o reducir caractersticas no deseadas en autnoma del sistema
la imagen como el ruido. El pre-
procesamiento consiste en la aplicacin 2 PRESENTACIN DEL PROBLEMA
de tcnicas que permitan el realce o
mejoramiento de algunas caractersticas El problema del que se ocupa este trabajo, es
importantes en las imgenes originales el de ubicar objetos segn sus caractersticas en
para facilitar el proceso de segmentacin. diversos contenedores (clasificacin), con el fin de
Segmentacin: Dividir una imagen en minimizar costos de operacin en una planta de
objetos que sean de nuestro inters. La produccin industrial.
tcnica de segmentacin ms conocida
dentro del procesamiento de imgenes es
quizs la umbralizacin. Este mtodo
permite separar dos o ms regiones de
una imagen a partir de un anlisis del 3 DESCRIPCIN DE LA SOLUCIN
histograma.
Descripcin: Obtencin de caractersticas El proyecto busca implementar una pequea
de una objeto como su forma, tamao, planta industrial para el proceso de control de
color con el fin de diferenciarlo de otros calidad.
objetos. Hoy en da se ha facilitado este trabajo
Reconocimiento: Proceso a travs del mediante sistemas inteligentes que hagan esto por
cual se identifica un objeto dentro de una el hombre, as evitar la fatiga humana de verificar
escena. cada elemento uno por uno lo que sera muy
Interpretacin: Asociar un significado a un tedioso.
conjunto de objeto reconocidos. La metodologa utilizada para encontrar la
solucin se basa en dos bloques que son hardware
1.3. Aplicaciones y software.
Automatizar procesos de control de En esta investigacin, se utilizan como
calidad: deteccin de defectos y fallos en herramientas de creacin sensores, motores y
materia prima producto final o en el programacin en el software de ingeniera
envase. MATLAB, estas partes sern descritas
Automatizar procesos de clasificacin en detalladamente en este documento.
base a la forma, tamao o color en Con este proyecto solo bastar con una
materias primas muy variables. persona la cual tendr como funcin accionar el
Automatizar procesos de produccin: sistema para que opere automticamente, claro
ajustar las condiciones de proceso en est que este sistema puede modificar algunos de
base a variables medidas mediante sus algoritmos internos (software) para as hacerlo
anlisis de imagen. trabajar al modo del operario.
Automatizacin de procesos de Principalmente se har que este sistema
manipulacin y envasado: extraccin de implementado clasifique objetos segn color y
coordenadas para su posterior forma.
manipulacin mediante robots. El proyecto constar de dos partes bsicas
Automatizar procesos de deteccin de para su funcionamiento:
cuerpos extraos.
3.1. Hardware: Comunicacin PIC16F628 con MAX232:
a) Faja transportadora:
La faja servir de transporte para los objetos El MAX232 es el circuito integrado estndar
que posteriormente sern seleccionados, esta para convertir seales TTL/CMOS a seales
constar de un motor DC, Pequeos rodillos en los RS232. Las seales en RS232 tienen 1's y 0's
extremos, una banda. La velocidad de la faja estos son +12V y -12V respectivamente. Las
tendr que ser controlada a una velocidad seales de salida del PIC16F628 son entre 0 y 5V.
adecuada que de tiempo al procesador detectar el Lo que el MAX232 hace es poner 12V en el
objeto y seleccionarlo. Vase Figura 1. pin T1OUT cuando se alimenta con 5V el pin T1IN.
De esta forma se pueden pasar datos hacia tu
computador. Si presionas una tecla en el
hyperterminal una seal ser enviada a travs del
cable hasta el R1IN del MAX232 donde la seal de
12V proveniente del PC es convertida a 0-5V. Esta
seal que sale por el R1OUT es perfectamente
manejable por el PIC. Todo OK. La magia est en
cmo el MAX232, el cual es alimentado con 5V y
puede producir seales de +/-12V. Bueno, esto se
Figura 1. Faja Transportadora hace con condensadores externos. Vase Figura
3.
El diagrama de flujo de esta parte del
b) Circuito Sensor de Luz: hardware se muestra en la Figura 4.
Consta un sensor LDR, un PIC16F628,
MAX232N:
Sensor LDR:
Si bien los valores que puede tomar una LDR
en total oscuridad y a plena luz puede variar un
poco de un modelo a otro, en general oscilan entre
unos 50 a 1000 ohmios (1K) cuando estn
iluminadas (por ejemplo, con luz solar) y valores
comprendidos entre 50K (50,000 Ohms) y varios
megohmios (millones de ohms) cuando est a
oscuras.
Desde el punto de vista constructivo, las LDR
estn fabricadas con materiales de estructura
cristalina, siendo los ms utilizados el sulfuro de
cadmio y el seleniuro de cadmio, aprovechando
sus propiedades fotoconductoras. Vase Figura 2.

Figura 3. Comunicacin PIC16F628 con MAX232

Figura 2. Sensor LDR

Integrado HEF40106BP:
La funcin de este circuito integrado es la de
convertir la seal analgica del LDR a seal digital
para el PIC16F628.
puerto serial (RS232) a niveles TTL para el PIC
16F628.
La programacin del PIC se muestra en la
parte de anexos en la seccin 2.
A continuacin en la Figura 6 se presenta el
diagrama de flujo para el control del giro del motor
en tres posiciones distintas.

Figura 4. Diagrama de Flujo Sensor de Luz

La programacin del PIC se mostrar en la


parte de anexos en la seccin 1.

c) Cmara Web:
Se utilizar una cmara web comn y
corriente para la etapa de captura de imagen de
los objetos a ser clasificados.
En la Figura 5 se muestra el diagrama de flujo
de la captura de imagen.
Figura 6. Diagrama de Flujo Control del Giro del
Motor a Pasos

Driver para el motor a pasos:


Se utiliz el L297 junto con transistores de
potencia Darlington NPN (TIP122), la salida del
PIC 16F628 va conectada al L297, luego las
salidas de este irn hacia los transistores para
conectarse al motor a pasos. Vase Figura 7.

Figura 7. Circuito para Motor a Pasos


Figura 5. Diagrama de Flujo Captura de la Imagen

3.1. Software:
c) Circuito del Motor a Pasos: Su misin consiste en aplicar las
Constar de las siguientes partes: transformaciones necesarias y extracciones de
Comunicacin MAX232 con PIC 16F628: informacin de las imgenes capturadas.
Esta parte circuital (Figura 3) es la que se
encargar de convertir los datos que vienen del
Utilizaremos el software de ingeniera Se diseo dos programas, uno para detectar
MATLAB junto con la librera vfm.dll para colores y otro para las formas de los objetos.
captura y procesamiento de imgenes.
Herramienta vfm.dll: En la Figura 8 se mostrar el diagrama de
Esta herramienta permite utilizar una cmara flujo para el proceso de seleccin segn el color;
web dentro del Matlab. mientras que en la Figura 9 se mostrar el
Mientras la faja gua los objetos llegar un diagrama de flujo para la clasificacin del objeto
momento en que el sensor de luz detecte uno, segn sea su forma.
para la captura de imagen mediante la cmara En la parte de anexos en la seccin 3 y 4 se
web. mostrar la programacin correspondiente.
Se sabe que una cmara web toma alrededor Para la seleccin de formas se utiliz una
de 12 cuadros por segundo, si se tiene un sensor relacin matemtica la cual es:
de luz que avise cuando se tiene el objeto en una [permetro^2]/[area]; esta relacin dar como
posicin adecuada bastar con tomar como resultado un cociente (nmero) el cual se le
imagen solamente un cuadro para que se procese asociar a cada forma (cuadrado, tringulo,
dentro del computador. crculo).

Figura 8. Diagrama de Flujo para Clasificacin por Colores


Figura 9. Diagrama de Flujo para Clasificacin por Formas
En el anexo seccin 5 se muestra el
desarrollo matemtico para hallar el cociente K 4 RESULTADOS
ya mencionado.
La faja transportadora fue diseada para el paso
de los objetos, tiene montada encima la cmara
web que capturar las imgenes.

Figura 11. Diseo de la faja transportadora

El circuito sensor se muestra a continuacin, el


cual su explicacin ya se mencion anteriormente.

Figura 10. Esquema


Figura 12. Diseo del circuito sensor Figura 15. Contenedores con objetos

El circuito para el motor a pasos tendr como Se muestra como se har el proceso de sensado y
funcin la de controlar el giro de los contenedores. captura del objeto, como se ve en la siguiente foto,
en el momento que el objeto atraviese por
completo el sensor de luz la cmara web tomar la
imagen del objeto para enviarla a la PC.

Figura 13. Diseo circuito motor a pasos

A continuacin se muestran las imgenes del


Figura 16. Censado y Captura del Objeto
contenedor puesto encima del motor a pasos.

En las siguientes imgenes se muestra la unin de


cada parte diseada, este esquema en su totalidad
cumple el objetivo por el que fue construido, el
llegar a controlar y clasificar de forma automtica
los objetos que pasan por la faja.

Figura 14. Contenedores

Figura 17. Esquema completo


Cociente hallado con MATLAB:

Tringulo:

Figura 18. Esquema completo

Resultados para la deteccin de formas:

Cuadrado:
Imagen original tomada con la WebCam

Imagen original tomada con la WebCam Convirtiendo la imagen a binaria

Aplicando Filtro Canny para deteccin de bordes


Convirtiendo la imagen a binaria

Cociente hallado con MATLAB:

Aplicando Filtro Canny para deteccin de bordes


Crculo: 5 ANEXOS
Seccin 1:
Programacin del PIC16F628 para el Sensor
de Luz

;----------------------------------------------
;-----PROGRAMA PRINCIPAL-------
;----------------------------------------------
INICIO

call RS232_Inicializa
Imagen original tomada con la WebCam
LEE_LDR
btfsc PORTA,5
goto $-1
call Retardo_100ms
btfss PORTA,5
goto $-1
movlw 'A'
call RS232_EnviaDato
goto LEE_LDR

INCLUDE RS232_12F.INC
Convirtiendo la imagen a binaria INCLUDE RETARDOS.INC
END

Seccin 2:
Programacin del PIC16F628 para el Control
de movimiento del Motor a Pasos

INICIO
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
POSICION_A
call LEE_DATO ;ESCANEA EL DATO SERIAL
Y REGRESA CON EL NUMERO D PASOS
A DAR
Aplicando Filtro Canny para deteccin de bordes movwf VAR_DATO
movf VAR_DATO,0
Cociente hallado con MATLAB: sublw 'B'
btfsc STATUS,2
goto P_B_A
movf VAR_DATO,0
sublw 'C'
btfsc STATUS,2
goto P_C_A
goto POSICION_A
P_B_A
A_HOR
call GIRA_MOTOR
goto POSICION_B
P_C_A
HOR
call GIRA_MOTOR
goto POSICION_C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
movf VAR_DATO,0

POSICION_B sublw 'A'


call LEE_DATO ;ESCANEA EL DATO SERIAL btfsc STATUS,2
Y REGRESA CON EL NUMERO D PASOS goto P_A_C
A DAR goto POSICION_C
movwf VAR_DATO P_A_C
movf VAR_DATO,0 A_HOR
sublw 'A' call GIRA_MOTOR
btfsc STATUS,2 goto POSICION_A
goto P_A_B P_B_C
movf VAR_DATO,0 HOR
sublw 'C' call GIRA_MOTOR
btfsc STATUS,2 goto POSICION_B
goto P_C_B ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
goto POSICION_B GIRA_MOTOR
P_C_B movlw .67
A_HOR movwf VAR_PULSO
call GIRA_MOTOR GIRA_MOTOR_1
goto POSICION_C bsf PORTB,1
P_A_B ;CLK
HOR call Retardo_20ms ;PAUSA
call GIRA_MOTOR bcf PORTB,1
goto POSICION_A ;CLK
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; call Retardo_20ms ;PAUSA
POSICION_C decfsz VAR_PULSO,1
call LEE_DATO ;ESCANEA EL DATO SERIAL goto GIRA_MOTOR_1
Y REGRESA CON EL NUMERO D PASOS return
A DAR LEE_DATO
movwf VAR_DATO call RS232_LeeDato
movf VAR_DATO,0 return
sublw 'B' INCLUDE RS232_12F.INC
btfsc STATUS,2 INCLUDE RETARDOS.INC
goto P_B_C END
Seccin 3: Programacin en MATLAB para Clasificacin por Colores
Seccin 4: Programacin en MATLAB para Clasificacin por Formas
Seccin 5: Desarrollo Matemtico para Clasificacin por Formas

Analizando para un cuadrado:

rea del cuadrado:

Permetro:

Cociente (K): P^2 = 16


A

Analizando para un tringulo equiltero:

rea del tringulo:

Permetro:

Cociente (K): P^2 = 20.78460969


A

Analizando para un crculo:

rea del crculo:

Permetro:

Cociente (K): P^2 = 12.56637061


A

Ahora definimos intervalos como se explica en la programacin de MATLAB para que el computar
tenga conocimiento que forma est procesando:

Para un cuadrado:

Para un tringulo:

Para un crculo:
6 CONCLUSIONES
http://redalyc.uaemex.mx/pdf/477/4771110
La tcnica de Control de calidad con visin 3.pdf
artificial permite una inspeccin rpida y
una automatizacin del 100 % de la http://www.depi.itchihuahua.edu.mx/electro
produccin. /archivo/electro2001/mem2001/articulos/im
g2.pdf
Con esta tcnica se obtiene una reduccin
de costes en control de calidad y a su vez http://catarina.udlap.mx/u_dl_a/tales/docu
minimiza el envo de productos mentos/lis/garcia_b_ci/capitulo2.pdf
defectuosos a los clientes.
http://es.wikipedia.org/wiki/Visi%C3%B3n_
En la actualidad los costes de los sistemas artificial
de visin artificial han disminuido
enormemente mientras que las http://www.tupperbot.es/wp-
prestaciones de esta tcnica han content/uploads/2007/01/visionartificial.pdf
aumentada espectacularmente.
http://mx.reocities.com/CapeCanaveral/848
La visin artificial es una herramienta para 2/docu003.pdf
automatizar procesos de control,
supervisin, manipulacin y robotizacin. http://dmi.uib.es/~ygonzalez/VI/Material_de
l_Curso/Teoria/Aplicaciones_VC.PDF
El sistema construido cumpli con las
expectativas requeridas, logrndose as un http://www2.unalmed.edu.co/dyna2005/133
proceso automatizado eficaz. /vision.pdf

http://www.neoteo.com/ldr-fotorresistencias
7 BIBLIOGRAFA
http://robots-
Ral Pino Dez, Alberto Gmez Gmez, argentina.com.ar/Prueba_PIC628-
Nicols de Abajo Martnez, Introduccin a RS232.htm
la inteligencia artificial: Sistemas expertos,
redes neuronales artificiales y computacin http://www.olimex.cl/tutorial/tutorial2.pdf
evolutiva, Universidad de Oviedo, 2001 -
106 pginas.

Universidad Rey Juan Carlos (Madrid),


Aplicaciones de la visin artificial y la
biometra informtica, Librera-Editorial
Dykinson, 2005 - 128 pginas.

Enlaces Web Consultados:

http://gavab.escet.urjc.es/master/visionartifi
cial/material/apuntes/tema1.ppt

http://serdis.dis.ulpgc.es/~a013775/asignat
uras/itis-fia/T1bn.pdf

http://www.logicelectronic.com/vision/quey
porque.htm

http://www.jasvisio.com/control-de-calidad-
industrial-con-vision-artificial.html

También podría gustarte