Anda di halaman 1dari 6

UNIVERSIDAD DE LOS LLANOS

INGENIERIA ELECTRONICA
OPTIMIZACION DE PROCESOS ESTOCASTICOS
PROYECTO FINAL DE SEMESTRE

FRANKLIN JANCOVICK VARON HUERTAS


JAIME NICOLAS RODRIGUEZ
MIGUEL ANGEL ROJAS

VILLAVICENCIO-META
DICIEMBRE-2014

UNIVERSIDAD DE LOS LLANOS


INGENIERA ELECTRNICA
FACULTAD DE CIENCIAS BSICAS E INGENIERA
OPTIMIZACIN DE PROCESOS ESTOCSTICOS
SEGUIMIENTO DE OBJETOS
RESUMEN: la temtica que abarca el curso de
optimizacin de procesos estocsticos, compete
todo proceso aleatorio, en el cual la variacin
aleatoria se da tanto en la variable de los
posibles eventos como en el tiempo que rige
los mismos, es decir puede darse el caso de
una variacin de eventos constante y este
puede o no poseer una instancia de variacin
de tiempos
distintas a
un mismo evento
anterior. Con lo anterior se pretende que el
estudiante establezca mtodos de trabajo , ms
exactamente de procesamiento de imgenes
para lograr el control de un sistema electrnico,
que reconozca el entorno con un sensor de
imagen (cmara), obtenga la mayor cantidad
de informacin del mismo, la procese y disee
un algoritmo que emparente un movimiento
capaz de seguir el movimiento de algn punto
en especfico.

1 INTRODUCCION
En la temtica del curso se hace hincapi en
la visin de la probabilidad y sus mtodos de
clculo como herramienta para poseer una
garanta
en los posibles resultados del
funcionamiento de cualquier sistema, sus
estados de funcionamiento ptimo, las fallas
ms leves, entre otras cosas. Estas herramientas
se pretender poner en practica con el diseo de
un proyecto a pequea escala de seguimiento,
en el cual como se especific anteriormente se
disee todo un sistema que lea la informacin
de su entorno y con un mtodo fijado por el
alumno
se procese dicha informacin y se
obtenga como conclusin la direccin en la
que el objeto se desplaza para su seguimiento.

principales,
se hace uso del software
MATLAB_2010, debido a que este software
presenta
amplia
gama
de
libreras
encargadas del procesamiento de imgenes as
como otros artilugios matemticos que nos
permiten determinar colores as como un 90%
de la informacin real de la imagen.
Adems
de
las grandes capacidades de
procesamiento brindadas por MATLAB, se
incorpor un mdulo de funcionamiento que
compete
a una tarjeta de programacin
ARDUINO UNO, esta presenta un amplia
gama de funciones, fue considerada ptima
para la implementacin a razn de la simpleza
de sus sentencias.
Spase que la tarjeta arruino uno se logra
con el uso de archivos reservados (libreras )
vincular a MATLAB y este es considerado el
bloque principal de funcionamiento.
Arduino posee soporte de carga capaz de
incluirse en la carpeta lib de MATLAB, lo que
brinda a Matlab la capacidad de compilar,
ejecutar y cargar pseudocdigo en todo tipo de
tarjeta
perteneciente
a el
dominio de
ARDUINO.
A su vez se cuenta con un archivo reservado
que se debe cargar en la tarjeta Arduino que
brinda la posibilidad de que la tarjeta se deje
controlar por MATLAB.
Spase que estos archivos de soporte se
encuentran en la pgina de Matworks, con la
denominacin de ARDUINO-IO.

2.3 DESCRIPCION DEL PROCESAMIENTO


El seguimiento se realizara total a razn de
un plano, es decir
con seguimiento
bidimensional.

2 PLANTEAMIENTO
2.1 OPTENCION DE LA INFORMACION:
Para la lectura del entorno se hace uso de
una cmara VGA USB 2.0, con esta
se
pretende realizar la lectura de la imagen, con
la que se visualizara el posible movimiento del
objeto.
2.2 ELEMENTOS DE PROCESAMIENTO
Para el procesamiento, que se realiza en
tiempo
real es necesario
dos mdulos

MATLAB:

Spase que Matlab es un software que trabaja


en su mayora con el uso de matrices, presenta
un lenguaje de programacin de alto nivel que
pertenece al dominio de Matworks.
Con Matlab se realiza todo lo que se
reconoce en el proyecto como proceso RGB, el
proceso RGB, compete el reconocimiento de un
punto (color) con el procesamiento de la imagen.

PAUTAS DE RECONOCIMIENTO:
Para el reconocimiento se realiza, como se
especific anteriormente la transformacin de la
captura del video, la imagen se pasa con el
uso de una librera reservada de MATLAB_2012
a escala de grises, como se observa a
continuacin:
Imagen:

->en la seccin inicial del pseudocdigo se


encuentra la inicializacin de la imagen en
tiempo real, se inicia el video entonces para
ello tenemos:

%de winvideo, numero de


dispositivo y formato de
la camara, si no sabes
usa la
%funcion imaqtool para
averiguarlo es YUY o RGB
vid=videoinput('winvideo'
,1,'YUY2_352x288');
%640x480 160x120
El cdigo del cuadro anterior, representa el
inicio de la imagen. Ahora
realizamos la
configuracin de la lectura de la imagen:

% Se configura las
opciones de adquision de
video
set(vid,
'FramesPerTrigger', Inf);
set(vid,
'ReturnedColorspace',
'rgb')
vid.FrameGrabInterval =
5;
%framegrabinterval
significa que tomara cada
5 frame del stream de
video adquirida
%con start(vid) se activa
la adquisicion, pero
todavia se toma la
primera foto
start(vid)
Con la sentencia start se inicia la captura del
video ya configurado.
Ahora se disea un ciclo encargado de estar
sacando la lectura de la imagen para el
procesamiento necesario, en este caso un while,
luego de este se encuentra un serie de
transformaciones que se le realizan a la imagen
para detectar el color definido.
Cuando MATLAB realizar
la lectura
o
procesamiento de una imagen, dado el modo de
trabajo de Matlab este obtiene una matriz de
cada pixel, cada pixel esta representado por
tres valores , o lo que denominamos RGB (red,
Green, blue).

Imagen en escala de grises:

De la imagen en escala de grises se realiza el


filtrado pretendiendo reducir el ruido de la
imagen, con el uso de una librera incorporada
en Matlab:

Ahora se realiza la binarizacion de la imagen


filtrada:

%%UNIVERSIDAD DE LOS
LLANOS
%%FRANKLIN JANCOVICK
VARON HUERTAS
%%INGENIERIA ELECTRONICA
%%PROCESAMIENTO DE
IMAGENES

ros=imread('rosa.jpg');%%
lectura de una imagen

Este resultado tambin se obtiene con el uso


de una sentencia reservada de Matlab, que
veremos ms adelante en el pseudocdigo.
Ahora necesitamos evitar los errores, para lo
cual descartamos puntos de color, rojo en este
caso, muy pequeos, menores a 300 pixeles.

%imshow(ros);
gr=rgb2gray(ros);%%escala
de grises
figure;
%imshow(gr);
fil= medfilt2(gr, [3
3]);%%filtrado de la
imagen
figure;
%imshow(fil);
bi=im2bw(fil);%%binarizac
ion de la imagen
%imshow(bi)

des =
bwareaopen(bi,300);%%desc
arte de los puntos
menores a 300 pixeles

Luego
de
eliminar
posibles
puntos
insignificantes que no pertenezcan a el objeto
que deseamos seguir, hacemos uso de una
instruccin reservada reginprops, con esta
pretendemos identificar (procesar ) solo los
pixeles rojos, esta brinda la ubicacin del
punto especificado, sus caractersticas entre
otras cosas.
El pseudocdigo que
compete
el
procesamiento anterior es el siguiente:

et = bwlabel(des, 8);%%
etiquetado de los puntos
detectados
imshow(et) %%graficado
del resultado
res=regionprops(et,
'BoundingBox',
'Centroid'); %%funcion
qiue arroja la mayor
canntidad de
%%informacion de laa
lectura

SEGUIMIENTO:
Para el seguimiento (movimiento), junto con el
Arduino se hace uso de dos servo motores,
estos aportan su cualidad suspicaz de girar a
escritura
polar, estos motores brinda la
posibilidad de realizar un giro entre 0-180 con
la escritura de un angulo entero que se
encuentre entre dicho rango, estos motores
presentan tres pines de conexin, dos de
polarizacin y uno de conexin para escritura
de dato u orde.

Ahora dada ya la obtencin del movimiento


del objeto, se realizan las lneas que permiten el
desplazamiento
de la cmara segn sea el
movimiento, es decir las lneas encargadas de
hacer el giro en los servo motores.

Como se aprecia en el pseudocdigo, el modo


como
se realiza
el
seguimiento es
estableciendo unos pixeles limites, entre los
cuales deber estar el objeto, y dado un
desborde por cual sea el sentido, el programa
escribir en los servos un desplazamiento en el
sentido del
desbordamiento de pixeles del
objeto, hasta tener nuevamente este entre la
escala deseada.

La visualizacin del montaje se presenta a


continuacin:

%% PARA X-----------------------------------if (x<180)


angulo=(angulo+5);
if(angulo>170)angulo=180;
%%minimo NGULO
end
serv.servoWrite(9,angulo)
;
end
if (x>100)
angulo=angulo-5;
if(angulo<10)
angulo=0;
end

Arduino:

serv.servoWrite(9,angulo)
;
end
%% PARA Y------------ if (y<180)
angulo=(angulo-15);
if(angulo<10)
angulo=0;
end
serv.servoWrite(10,angulo
);
end
if (y>100)
angulo=angulo+15;
if(angulo>174)
angulo=180;
end
serv.servoWrite(10,angulo
);
end

PROBLEMATICAS
->como problemticas iniciales encontramos la
lentitud de procesamiento, la ejecucin
de
Matlab, as como su procesamiento de las
imgenes involucra un tiempo significativo, es
decir se presentaba un retardo a la respuesta
de un evento como el movimiento del objeto.

CONCLUSIONES:
El procesamiento de imgenes con
MATLAB
requiere
una cantidad
significativa de recursos informticos,
as como tiempo de procesamiento,

esto podra mejorarse con el empleo


de un sistemas de procesamiento de
posea otro mtodo de identificacin,
pues el
de Matlab
es un
significativamente lento.

Anda mungkin juga menyukai