Upload
andres-carrillo
View
373
Download
4
Embed Size (px)
Citation preview
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
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”
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
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
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');
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
d
ma
ad
e [
piedades de
rón del Capa
d
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
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
w
w
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
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
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
w
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
Figura 7.
Figura 8.
. HMI Localiz
HMI Localiza
za al Resistor
a al Capacito
r.
or.
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.