10
SISTE Ing. VISIÓ DEPART EMAS DE CO Hernán L ÓN ARTIFICIA TAMENTO CARRE NTROL II Lara AL CON MATL Aut O DE CIE RA DE IN LAB Y LABVIE or/res: Andr Sangolq NCIAS D NGENIER EW rés Sebastiá quí, 21 de ju DE LA ENE RÍA MECA n CARRILLO lio del 2010 ERGÍA Y ATRÓNIC CALERO MECÁNI CA CA

Visión Artificial - Andrés CARRILLO

Embed Size (px)

Citation preview

Page 1: Visión Artificial - Andrés CARRILLO

 

 

SISTE

Ing.  

VISIÓ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DEPART

EMAS DE CO

Hernán L

ÓN ARTIFICIA

TAMENTO

CARRE

NTROL II 

Lara 

AL CON MATL

Aut

O DE CIE

RA DE IN

LAB Y LABVIE

or/res: Andr

Sangolq

NCIAS D

NGENIER

EW 

rés Sebastiá

 

quí, 21 de ju

DE LA ENE

RÍA MECA

n CARRILLO 

lio del 2010

ERGÍA Y 

ATRÓNIC

CALERO 

 

MECÁNI

CA 

CA 

Page 2: Visión Artificial - Andrés CARRILLO

1. TÍTULO DEL ARTÍCULO 

VISIÓN ARTIFICIAL CON MATLAB Y LABVIEW 

2. FILIACIÓN DEL AUTOR 

Andrés Sebastián CARRILLO CALERO 

E.S.P.E. VI MECATRÓNICA “B” 

[email protected] 

3. RESUMEN 

Se presenta dos programas de reconocimiento de patrones implementados en Matlab y LabView. 

Los programas se encuentran calibrados para indentificar dos elementos, un resistor de ¼ de Vatio 

y un capacitor cerámico. Se describirá el modo de empleo de cada programa. 

4. PALABRAS CLAVE 

Cámara  Web,  dispositivo  para  adquisición  de  imágenes  de  baja  resolución  a  velocidades  no 

mayores a los 30 cuadros por segundo. 

YCbCr, espacio colorimétrico de luminancia y crominancia. 

RGB, espacio colorimétrico de rojo, verde y azul. 

Luminancia, densidad de luz en una imagen, se visualiza en blanco y negro. 

Crominancia, componente de  la señal de video que entrega  la diferencia entre  los colores  rojo, 

verde y azul y verde. 

5. INTRODUCCIÓN 

El desarrollo de aplicaciones de visión artificial implica un conocimiento de la imagen y a la vez el 

lenguaje  de  programación  que  la  va  a manejar.  Comenzamos  con Matlab  que  cuenta  con  un 

toolbox para procesamiento de  imagen  y  además posee  la posibilidad de desarrollar  interfaces 

amigables para estos propósitos. Avanzaremos posteriormente al desarrollo  con el paquede de 

Vision and Motion de LabView que cuenta con una mayor versatilidad en la adquisición de datos. 

6. DESARROLLO DEL TRABAJO 

Visión Artificial con Matlab 

Page 3: Visión Artificial - Andrés CARRILLO

Para  el  procesamiento  de  imagen  en Matlab  se  reconocen  primero  los  dispositivos  a  utilizar  a 

través de  las  funciones  info. Este nos permite  identificar  los  controladores y  los dispositivos de 

video instalados en el equipo y con los que se desarrollará el proyecto. 

>> info=imaqhwinfo 

info =  

    InstalledAdaptors: {'ni'  'winvideo'} 

        MATLABVersion: '7.8 (R2009a)' 

          ToolboxName: 'Image Acquisition Toolbox' 

       ToolboxVersion: '3.3 (R2009a)' 

>> info=imaqhwinfo('winvideo') 

info =  

       AdaptorDllName: [1x81 char] 

    AdaptorDllVersion: '3.3 (R2009a)' 

          AdaptorName: 'winvideo' 

            DeviceIDs: {[1]} 

           DeviceInfo: [1x1 struct] 

>> info.DeviceInfo 

ans =  

          DefaultFormat: 'YUY2_160x120' 

    DeviceFileSupported: 0 

             DeviceName: 'HP Webcam' 

               DeviceID: 1 

      ObjectConstructor: 'videoinput('winvideo', 1)' 

       SupportedFormats: {1x5 cell} 

>> info.DeviceInfo.SupportedFormats 

Page 4: Visión Artificial - Andrés CARRILLO

 

ans =  

  Columns 1 through 5 

    'YUY2_160x120'    'YUY2_176x144'    'YUY2_320x240'    'YUY2_352x288'    'YUY2_640x480' 

Podemos  identificar  del  código  anterior  el  dispositivo  a  utilizar,  el  cual  se  declara  como  una 

variable. 

vid=videoinput('winvideo',1,'YUY2_640x480'); 

Luego  de  declarado  el  dispositivo  se  llevan  a  cabo    las  acciones  de  toma  de  imágenes,  su 

procesamiento y la obtención de algunos parámetros para el reconocimiento de patrones. 

vid=videoinput('winvideo',1,'YUY2_640x480'); handles.video=vid;   foto=getsnapshot(vid);   gris=ycbcr2rgb(foto); gris=rgb2gray(gris); gris=im2double(gris);   axes(handles.axes1); imshow(gris); axis off colormap gray   elemento=imcrop(gris,[177  338  208   64]);   h=histeq(elemento); g=imadjust(h,[],[],5);   borde=edge(g,'prewitt');   borde=bwareaopen(borde,3);   se = strel('square',10); BW = imclose(borde,se); BW = imfill(BW,'holes');   axes(handles.axes2); imshow(BW); axis off colormap gray   [B,L] = bwboundaries(BW,'noholes'); 

Page 5: Visión Artificial - Andrés CARRILLO

  stats =a = reareas area_e = rec = re

 

La int

de un

 

 

 

= regionpropsgionprops(L, '= cat(1, a.Are

_max=max(areegionprops(L,'egionprops(L, '

terfaz implem

n patrón pree

s(L,'all');  'area');  ea) ; eas); eccentricity');'centroid'); 

mentada com

establecido. 

F

T

 

mpara los va

A continuac

Figura 1. Pat

Propiedad

Área Máxim

Excentricida

Centroide

Tabla 1. Pro

Figura 2. Patr

Propiedad

Área Máxim

Excentricida

Centroide

Tabla 2. Prop

alores del áre

ción se mues

trón del Resi

ma 

ad 

e  [

piedades de

rón del Capa

ma 

ad 

e  [

piedades del 

ea máxima y

stra el patrón

istor a Identi

Valor

957 

0.9952

[95.1118 26.

l Patrón Res

acitor a Ident

Valor

3387

0.9343

[67.9244 40.

Patrón Capa

y el centroide

n y sus propie

 

ificar 

 

6301] 

istor 

 

tificar 

 

6014] 

acitor 

e de la mism

edades. 

ma con los 

Page 6: Visión Artificial - Andrés CARRILLO

Visión

En  La

imple

simult

Para  l

abrir d

Para l

prese

Aquí e

muest

 

 

 

n Artificial con

abView  posee

mentación  c

táneamente a

la  implement

dispositivo, ca

la toma de im

ntar y compa

existe la posib

tran los patro

n LabView 

emos  herram

completamen

a su programa

ación se  requ

apturar image

mágenes se re

rar con los pa

bilidad de com

ones comparad

mientas  tanto

te  gráfica  y

ación. 

uiere del paqu

en y cerrar dis

quiere reserv

atrones tomad

mparar patron

dos. 

Figura 3. 

Figura 4. P

o  o  más  pot

y  la  ventaja 

uete de Visio

positivo.  

var un espacio

dos. 

nes completos

Patrón Resist

Patrón Capacit

entes  que  e

de  generar

n and Motion

o en RAM par

s, no solamen

or en LabView

 

tor en LabVie

en  Matlab  co

r  un  HMI  o

n. Donde se u

a guardar la i

te su propied

on  la  diferen

o  interfaz  d

utilizan  las  fun

magen actua

ades. A conti

 

ncia  de  su 

e  usuario 

nciones de 

l y poderla 

nuación se 

Page 7: Visión Artificial - Andrés CARRILLO

Podem

muest

7

Guide

En el

Adem

conti

mos observar

tra el program

7. RESULTA

e Desarrolla

 guide  se  in

más  se  inclu

nuación se m

 que directam

ma implement

Figura 5. Pro

ADOS Y DISCU

do con Matl

ncluyó el pro

yeron  las  se

muestra la gu

mente se com

tado en LabVi

ograma en La

USIÓN DE RE

lab 

ograma desc

entencias  ló

uide y se des

paran las imá

ew. 

abView para 

ESULTADOS

crito  anterio

ógicas  de  co

scribe su fun

ágenes del pla

reconocimie

ormente  com

omparación 

cionamiento

ano de lumina

ento de Patr

mo Callback 

de  los  pará

o. 

ancia. A contin

ones 

en un  toogl

metros  ante

nuación se 

e button. 

eriores.  A 

 

Page 8: Visión Artificial - Andrés CARRILLO

Pulsa

panta

[177 

se ha

HMI c

A cad

patro

esta 

espec

decir 

que e

amos  sobre  t

alla. Y  luego 

 338  208   6

a impreso un

con LabView

da paso de  l

ones. Cabe m

ocación  con

cífico donde 

a diferencia

este program

tomar  foto, 

del procesa

64] procesad

 mensaje co

a programac

mencionar qu

ntamos  con 

queremos q

a de en Mat

ma los localiz

Figura 6. Gu

lo  cual capt

amiento que 

da al lado izq

n su nombre

ción se gene

ue este se re

una  barra  d

que presente

tlab, podemo

ará. 

uide desarro

tura una  ima

tarde pocos

uierdo. Si es

e en el Indica

era un HMI, 

ealiza con ad

de  herramien

e la imagen, 

os colocar  lo

llado en Mat

agen y  la m

s milisengun

sta posee pro

ador. 

a continuac

quisición de 

ntas  para  se

más el patró

os elemento 

tlab. 

uestra en el

ndo aparece 

opiedades e

ión el HMI d

video en tie

eleccionar  e

ón se busca e

en cualquie

l  lado  izquie

la  imagen d

n el rango de

de reconocim

empo real. Ad

l  lugar  de  la

en toda la pa

er  lugar de  la

 

erdo de  la 

el cuadro 

el patrón, 

miento de 

demás en 

a  pantalla 

antalla, es 

a pantalla 

Page 9: Visión Artificial - Andrés CARRILLO

Figura 7.

Figura 8. 

. HMI Localiz

HMI Localiza

za al Resistor

a al Capacito

r. 

or. 

 

 

Page 10: Visión Artificial - Andrés CARRILLO

8. CONCLUSIONES Y RECOMENDACIONES 

 

LabView presenta un entorno más amigable para el desarrollo de aplicaciones de visión 

artificial con un mayor número de funciones a implementar en tiempo real. Por lo cual se 

generó una aplicación con toma de video. 

Matlab emplea menos comando para el reconocimiento de imágenes que LabView pero su 

resolución a la hora de implementar la aplicación es pobre. Resulta más complejo generar 

aplicaciones  en  tiempo  real,  por  lo  cual  se  realizó  la  aplicación mediante  la  toma  de 

fotografías. 

En  LabView  se  obtienen  buenos  resultados  comparando  los  planos  de  luminancia  a 

diferencia  de  en  Matlab  donde  se  requirió  un  procesamiento  a  imagen  binaria  y  se 

compararon las propiedades de área y centroide únicamente. 

Las técnicas de visión artificial existentes abarcan amplias aplicaciones en reconocimiento 

de patrones por comparación de  sus propiedades, es decir siempre se puede  reconocer 

una imagen cuando se haya generado un patrón, más aún no se han desarrollado técnicas 

para identificar elementos sin los patrones. Estos campos le pertenecen a las ramas de la 

intelegincia artificial.  

 

9. REFERENCIAS BIBLIOGRÁFICAS 

 

Tesis de Sistema de Detección de Somnolencia en Conductores a través de Visión Artificial. 

EPN. 

TABLAS Y FIGURAS 

 

Figura 1. Patrón del Resistor a Identificar. Captura de Pantalla de Matlab 2009. 

Figura 2. Patrón del Capacitor a Identificar. Captura de Pantalla de Matlab 2009. 

Figura 3. Patrón Resistor en LabView. Captura de Pantalla de LabView 2009. 

Figura 4. Patrón Capacitor en LabView. Captura de Pantalla de LabView 2009. 

Figura 5. Programa en LabView para reconocimiento de Patrones. Captura de Pantalla de 

LabView 2009. 

Figura 6. Guide desarrollado en Matlab. . Captura de Pantalla de Matlab 2009. 

Figura 7. HMI Localiza al Resistor. Captura de Pantalla de LabView 2009. 

Figura 8. HMI Localiza al Capacitor. Captura de Pantalla de LabView 2009. 

Tabla 1. Propiedades del Patrón Resistor. Propiedades obtenidas con Matlab 2009. 

Tabla 2. Propiedades del Patrón Capacitor. Propiedades obtenidas con Matlab 2009.