Está en la página 1de 7

Sistema bsico de identificacin de usuario mediante

algoritmo de procesamiento en Matlab


Carlos Snchez Mrquez. Procesamiento de seales. Universidad Privada del Norte

Introduccin
El procesamiento de imgenes puede
conducirnos a obtener mejoras en la
presentacin de una imagen, puede
ayudarnos a reconstruir una imagen, as
como puede ayudar en el diagnostico clnico
de los pacientes, sin dejar de pasar por el
mejoramiento de las imgenes satelitales.
Otra de sus aplicaciones puede ser la
identificacin de usuarios, como por ejemplo
a zonas o areas restringidas, y es ah donde
trabajamos en esta oportunidad, en este
proyecto, en el cual hacemos uso de
accesorios multimedia como webcam, de
microcontroladores
y
de
programas
desarrollados en Matlab.
Resumen
Este sistema es simple y consta de una
webcam comn, un microcontrolador PIC
16f628A de Microchip, un sistema de
transmisin serial (que incluye el integrado
MAX232) cuyo programa de comunicacin
esta desarrollado en lenguaje C. El programa
de identificacin tambin es simple, est
basado en la tcnica de identificacin de
objetos mediante las tcnicas de binarizacin
y segmentacin de imgenes en las que se
incluyen los comandos erosin y dilatacin
que se aplican directamente sobre el
elemento estucturante, a travs de sus
operadores morfolgicos, y finalmente
encuadramos las piezas de la imagen dentro
de un rea o intervalo mnimo y mximo
para determinar el numero de piezas. El
algoritmo trabaja las imgenes en blanco y
negro (casi como un cdigo de barras)
captadas por la webcam y seguidamente, si
determina que est dentro del rango y la
zona de conteo, "identifica" al usuario. El
programa de identificacin esta desarrollado
ntegramente en Matlab.
Abstract

This system is simple and consists of a


common webcam, a PIC 16F628A
Microchip serial transmission system
(including integrated MAX232) whose
microcontroller communication program
was developed in C language identification
program is also simple, is based in the art of
identifying
objects
by
binarization
techniques and image segmentation in
which erosion and dilation commands that
are applied directly to the element
estructurant
through
morphological
operators, and finally we frame image parts
included within an area, or range interval to
determine the number of pieces. The
algorithm works images in black and white
(almost like a barcode) captured by the
webcam and then, if it determines that it is
within range and the counting zone,
"identifies" the user. The identification
program was developed entirely in Matlab.
Palabras clave
Procesamiento de imgenes, segmentacin,
operadores morfolgicos, reconocimiento
de individuos.
I.

MARCO TEORICO

Existen muchas formas de efectuar


procesamiento de imgenes. Como tambin
existen muchas aplicaciones. Una de las
aplicaciones es la identificacin de usuario.
Esta identificacin puede darse para fines de
seguridad como por ejemplo a un acceso
restringido del personal que pertenece a una
determinada rea o grupo de trabajo.
Sobrado Malpartida (2003) nos explica en
su tesis de grado que "una etapa importante
de la VA (Visin artificial) es el pre
procesamiento de imgenes, es decir, la
transformacin de la imagen original en otra

imagen en la cual hayan sido eliminados los


problemas de ruido granular de cuantizacin
o de iluminacin espacialmente variable. La
utilizacin de estas tcnicas permite el
mejoramiento de las imgenes digitales
adquiridas de acuerdo a los objetivos
planteados en el sistema de VA".
El procesamiento de imgenes puede ser
aplicado tambin en el conteo de objetos en
un proceso industrial e incluso grupos de
objetos dentro de una imagen, que nos puede
servir para la seleccin de productos, o
seleccin de un nmero determinado de
objetos.

Binarizacin
Consiste en pasar cualquier imagen a una
escala de grises, es decir solo niveles de
blanco y negro.

De manera sencilla y clara Marcos


Asensio (2000), nos indica que los pasos
a realizar en el desarrollo de los
algoritmos son los siguientes:
Paso 1: Lectura del fichero
En este paso se carga en memoria la imag
en a procesar.
Paso 2: Conversin a mapa de bits
Separar los objetos del fondo. Aprovecha
ndo el
contraste de la imagen.
Paso 3: Rellenar huecos
Recupera pixeles interiores que forman p
arte del
objeto y no se han reconocido.
Paso 4: Suavizado de bordes
Redondear aristas en la imagen para suav
izar el
contorno de los objetos.
Paso 5: Filtrado por tamao
Eliminar virutas pequeas.
Paso 6: Etiquetado y conteo
Contabilizar bloques de pixeles.

Estudio de la forma y la estructura


Aplicaciones:
Conteo de dedos de la mano
Separar objetos
Contar nmero de clulas
Contar numero de dientes de una
cremallera

Tcnicas de Segmentacin de Imgenes


La segmentacin es un proceso que
consiste en dividir una imagen digital en
regiones homogneas con respecto a
algunas caractersticas (como por ejemplo
el brillo o el color) con el fin de facilitar
un posterior anlisis o reconocimiento
automtico. Localizar la cara de una
persona dentro de la imagen de una
fotografa o encontrar los lmites de una
palabra dentro de una imagen de un texto,
constituyen ejemplos de problemas de
segmentacin.

Umbralizacin
La umbralizacin es una tcnica de
segmentacin ampliamente utilizada en la
industria. Se trata de definir un umbral, de
forma que separe los objetos de inters
respecto del fondo.
Morfologa

Elemento estructurante:
Examinar la estructura geomtrica de una
imagen usando como sonda un patrn de
ajuste que se denomina elemento
estructurante (E.E.).
Dilatacin: El resultado es una imagen
binaria
Erosin: Elimina grupos de pxeles donde el
EE no cabe.
Nuestro Proyecto de identificacin de
Individuos
Nuestro proyecto es un identificador de
individuos en el cual hacemos uso de la
tcnica de binarizacin, segmentacin de
imagen, haciendo uso de los comandos
erosin y dilatacin y de etiquetado de la
zona de procesamiento, cuyo algoritmo ha
sido desarrollado en Matlab. Inicalmente el
individuo ingresa su plantilla codificada a la
ranura del modulo de lectura de cdigo, la
webcam toma la imagen, luego el programa
en la computadora digitaliza la imagen, y se
aplica la tcnica de segmentacin de imagen.
El individuo ingresa su USUSARIO en el
panel de acceso de la pantalla (en Matlab).
Si coincide el cdigo en nmero con el del

algoritmo, entonces, se enva un pulso al


microcontrolador, y de la salida de este
ltimo, se enva un pulso a un transistor que
excita a un relay, que apertura la puerta de
acceso. El diagrama del proceso del sistema
se muestra de manera resumida en la figura
1.

CODIGO
INDIVIDUO

camara

COMPUTAD
OR

Figura 2. Webcam HA 013 de Halion


Fuente: elaboracin propia
Microcontrolador
Se aplic el microcontrolador PIC16F628A
de Microchip cuyas caractersticas son:

ACCESO A
ZONA
RESTRINGID

Figura 1. Diagrama del Sistema


Fuente: Elaboracin propia

- Emcapsulado: DIP 18 pines.


- Memoria FLASH : 2K
- Memoria RAM : 224 bytes.
- Memoria EEPROM : 128 bytes.
- Oscilador interno de 4MHz.
- Dos comparadores anlogicos.
- USART

Accesorios utilizados
Webcam
Para la adquisicin de imgenes se utilizo
la webcam HA 013 de Halion cuyas
caractersticas tcnicas son las siguientes:
Interfase: USB 2.0.
2.0 Mega Pixel.
Resolucin de video: 640 x 480 / 1600
x 1200.

Figura 3. Diagrama del 16F628A


Fuente. www.google.com

La comunicacin serial
Este programa esta construido en lenguaje C,
y efecta la comunicacin serial, haciendo
uso de los pines de Transmisin y Recepcin
del microcontrolador. As mismo, es
necesario,
utilizar
programas
complementarios como el Hyperterminal y
el Virtual serial port, para efectos de la
asignacin
de
los
puertos
de
comunicaciones.

Programa para la transmisin serial


#include <16F628.h>
#fuses
XT,NOWDT,NOPROTECT,NOLVP,NO
BROWNOUT
#use delay(clock=4000000)
#use rs232(baud=9600,
xmit=pin_B2, rcv=pin_B1)
#use delay (clock=4000000)
unsigned char X=0;
#int_rda
void serial_isr() {
X=getc();
}
main() {
enable_interrupts(int_rda);
enable_interrupts(GLOBAL);
while(true) {
if(X=='O')
{
output_high(pin_a0);
output_low (pin_a1);
}
}

Esta ventana de dialogo, tambin se ha


construido en GUIDE de Matlab, en cuya
plantilla se puede observar los ttulos
"INGRESE IDENTIFICADOR", y "ELIJA
USUARIO", ms abajo hay un recuadro
que es un men de usuarios numerados del
1 al 100, el mismo que se despliega y es
donde el individuo elige su "usuario" y da
un clic sobre el mismo, pero previamente
debi de haber ingresado su plantilla
codificada al lector de plantilla. Lneas
abajo, se muestra parte del programa
desarrollado en Matlab.

}
El programa de acceso restringido
La ventana de dialogo se ha construido en
GUIDE de Matlab, en cuya plantilla se
puede observar el titulo "ACCESO
RESTRINGIDO", y ms abajo un recuadro
en blanco en el cual se ingresa un cdigo y
se presiona en seguida INGRESAR. Con
este evento, el individuo pasa la primera
etapa de identificacin.

Figura 4. Ingreso de cdigo numrico


Fuente: Elaboracin propia

El programa de identificacin

Figura 5. Ingreso de cdigo numrico


Fuente: Elaboracin propia
function popupmenu1_Callback(hObject,
eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
% Start up the video.
fun =get(handles.popupmenu1,'Value');
switch fun
case 1
vid = videoinput('winvideo', 1, 'mjpg_800x600');
vid.FramesPerTrigger = 1;
start(vid);
bn=im2bw(rgbImage);%Convertir a blanco y
%negro la imagen
bn2=not(bn);
im_dilate=imdilate(im_erode,SE);
im_label1=bwlabel(im_dilate,6);
set(handles.text4,'String',n1)
case 2
vid = videoinput('winvideo', 1, 'mjpg_800x600');
vid.FramesPerTrigger = 1;
start(vid);
set(handles.text4,'String',n2)
end

Programa de transmisin serial

Esta es una plantilla clsica de Matlab para


transmisin serial, la misma se puede
obtener de manera libre de la pgina de
Mathworks.
%CONDICION DE APERTURA
clc;
disp('BEGIN')
s = serial('COM3');
set(s,'BaudRate',2400);
set(s,'DataBits',8);
set(s,'Parity','none');
set(s,'StopBits',1);
set(s,'FlowControl','none');
fopen(s);
if (n1 == 10)
fprintf(s,'O'); end
fclose(s);
clear s

Hyperterminal
Nos permite efectuar el enlace de
comunicacin entre la computadora y el
microcontrolador. En el Hyperterminal se
determina el puerto como por ejemplo el
COM3 y el puerto de la computadora serial
el COM4, y de esa manera se produce el
enlace,
siempre que configuremos la velocidad de
transmisin a unos 2400, o 9600 baudios
por segundo en ambas etapas.

Figura 6. Panel del Hyperterminal


Fuente: www.google.com

Virtual serial port


Es otro paquete que nos permite crear
puertos virtuales para el caso de la
simulacin de la comunicacin. Nuestro
sistema ha sido simulado previamente
mediante este paquete, el cual permite
asignar puertos virtuales que van desde el
COM1, COM2, COM3, COM4, y mucho
mas.

Figura 7. Panel de Virtual Serial Port


Fuente: www.google.com
RESULTADOS

A continuacin presento los resultados de


nuestro proyecto, mostrando el trabajo de
cada una de las etapas. Presento las
plantillas codificadas, de cada USUARIO
(n este caso fueron solo dos), a futuro
pueden ser mucho mas. Presento tambin
las respuestas del programa, ante el intento
de acceso de un individuo, se observa que
ha ingresado su cdigo de acceso, y en
seguida debe seleccionar su USUARIO (1
o 2), para que el algoritmo del programa
efectu el procesamiento y determine el
nmero del cdigo del individuo que en
este caso desea acceder a un rea
restringida.
Se presentan tambin los circuitos de
simulacin, en

Proteus, en ellos se observan inicialmente la


activacin de un motor dc, que podra
representar la activacin de un motor de una
puerta automtica, y en una segunda figura
muestro, la activacin de una puerta
(apertura) por medio de la activacin de un
relay, previa identificacin del USUARIO
mediante cdigo.

Figura 7. Plantilla de acceso de USUARIO 1


Fuente: Elaboracin propia

Figura 9. Panel de acceso de Cdigo y


USUARIO 1

Figura 8. Plantilla de acceso de USUARIO 1


Fuente: Elaboracin propia

Figura 10. Circuito de Activacin de Motor de


apertura

Figura 9. La webcam adquiere la imagen del


cdigo
Fuente: Elaboracin propia

Figura 11. Circuito de activacin de acceso a rea


restringida (PUERTA)

Digital ImageProcessing, Rafael C.


Gonzlez, Ed. PrenticeHall, 2nd edition.
Fundamentals of Digital ImageProcessing,
AnilK. Jain, Ed. PrenticeHall, 1989.
CONCLUSIONES

Con este sistema sencillo de procesamiento


de seales podemos identificar individuos
para el acceso a reas restringidas de
trabajo.
Las tcnicas de procesamiento de
imgenes son muchas y pueden ser
aplicadas a procesos industriales, tales
como seleccin de objetos, mejoramiento
de la calidad de produccin.
El procesamiento de imagen se puede
aplicar tambin en el mejoramiento de
imgenes medicas para un mejor
diagnostico.
BIBLIOGRAFIA

Sistema de visin artificial para el


reconocimiento y manipulacin de objetos
utilizando un brazo robot, obrado
Malpartida, Eddie, PUCP, 2013, Lima
Peru.
Provision de servicios de procesado de
imgenes basados en arquitecturas
orientadas a servicios, Bernardino Marcos
Asensio, E.U.I.T. Telecomunicacion, 2000.
PAGINAS WEB
www. Google.com
www. Mathworks.com
www. Microchip.com

También podría gustarte