Está en la página 1de 60

"Ao del Centenario de Machu Picchu para el Mundo"

INFORME DE PRCTICAS PRE-PROFESIONALES


AUTOR: LUIS BARDALEZ GARCIA
ESPECIALIDAD: INGENIERA MECATRNICA
CDIGO: 20070131A
DNI: 46132843
LUGAR DE DESARROLLO: LIMA
REA DE TRABAJO: SOLUCIONES BIOMTRICAS
FECHA DE INICIO: martes, 01 de Marzo del 2011
FECHA DE ELABORACION: mircoles, 11 de Mayo del 2011

2011

AGRADECIMIENTOS
Agradezco en primer lugar al Ing. Franco Amato por la asesora y el apoyo que
me dio en mi formacin dentro de la empresa y por la confianza que deposit en m
incorporndome dentro de proyectos importantes para la empresa. A las trabajadoras
del rea de recursos humanos, ya que ellas siempre facilitaron toda la informacin
necesaria para llevar adelante mis prcticas. A los profesores de la FIM, por apoyarme
en la formacin de un criterio que va ms all de lo memorista y mecnico. A mis
padres y mi hermano, por apoyarme siempre en los nuevos retos que debo afrontar
dndome nimos y consejos.

3
RESUMEN
En el presente informe describe las actividades desarrolladas en el transcurso
de las prcticas pre-profesionales que estoy ejerciendo en la empresa TECHNETSOL
S.A.C. (parte del consorcio CERTICOM S.A.C.) hasta la fecha de elaboracin de este
informe. La prctica se dio en un ambiente de oficina y apoyado de una computadora
personal. Los proyectos que se realizaron estuvieron ligados principalmente a
programacin de interfaces grficas, al manejo de cmaras de reconocimiento
biomtrico, al procesamiento de imgenes y a la optimizacin de sistemas.
En el primer captulo se da una visin general de los avances de la prctica. En
el segundo captulo se muestra la organizacin de la empresa y otros datos de inters.
En el tercer captulo se exponen las actividades realizadas dentro de la empresa en
orden cronolgico. En el cuarto captulo se muestran los resultados de la prctica
enfocados desde el punto de vista de proyectos realizados. En las observaciones,
conclusiones y recomendaciones puede encontrarse los resultados de la prctica
enfocados como un diferencial de aprendizaje.

CONTENIDO
AGRADECIMIENTOS
RESUMEN
CONTENIDO
1. INTRODUCCIN
1.1. Antecedentes
1.2. Objetivos generales y especficos
1.2.1. Objetivos generales
1.2.2. Objetivos especficos
1.3. Descripcin de informe
2. LA EMPRESA
2.1. Localizacin
2.2. Nombre de la empresa
2.3. Fundacin de la organizacin
2.4. Misin, visin y objetivos de la organizacin
2.4.1. Misin
2.4.2. Visin
2.4.3. Objetivos
2.5. Organizacin
2.5.1. Organigrama general
2.5.2. Funciones de rea
2.6. Representantes de la empresa
2.7. Poltica de la organizacin
2.8. Productos y servicios de la organizacin
2.9. Infraestructura productiva
3. ACTIVIDADES DESARROLLADAS
3.1. Adquisicin de conocimientos en el uso de la librera Qt
3.2. Elaboracin de interfaces grficas
3.3. Adquisicin de conocimientos en el manejo de una cmara
binocular

2
3
4
6
6
6
6
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
10
11
12
14

3.4. Adquisicin de conocimientos en el manejo de hilos de


ejecucin
3.5. Desarrollo de un programa controlador de la cmara
binocular en Visual C++
3.6. Adquisicin de conocimientos en el manejo de una cmara
monocular
3.7. Desarrollo de un programa controlador de la cmara
monocular en visual C++ con la librera Qt incorporada

17

3.8. Procesamiento digital de fotografas de carros para ubicar la


posicin de las matrculas.
3.9. Adquisicin de conocimientos en programacin en Linux
utilizando el lenguaje C++.

24

16

19
21
22

26

5
4. PRESENTACIN DE LOS RESULTADOS DE LA PRCTICA
PRE-PROFESIONAL
4.1.

Interfaz de ingreso manual de trayectoria para servomotores

4.2. Interfaz genrica para manejar cmaras de reconocimiento


de iris
4.3. Controlador de cmara binocular
4.4. Controlador de cmara monocular
OBSERVACIONES, CONCLUSIONES Y RECOMENDACIONES
BIBLIOGRAFA
GLOSARIO
ANEXOS

28
29
32
37
46
57
59
59
60

Captulo 1

INTRODUCCIN
La biometra es una tecnologa de seguridad basada en el
reconocimiento de una caracterstica fsica e intransferible, como lo son la
huella dactilar o el iris. Los sistemas biomtricos incluyen un dispositivo de
captacin que puede ser una cmara y un software biomtrico que interpreta la
muestra fsica y la transforma en una secuencia numrica para ser comparada
con una base de datos que tiene registrada las secuencias de otras personas.
TECHNETSOL S.A.C., particularmente el rea de tecnologa biomtrica,
est enfocada a la investigacin y desarrollo de nuevas tecnologas
biomtricas. Asimismo en el desarrollo de soluciones biomtricas para
negocios que lo requieran. En este entorno se dieron mis prcticas preprofesionales.
1.1.

Antecedentes:
La Ingeniera Mecatrnica es una especialidad multidisciplinaria que
engloba los conocimientos de Ingeniera Mecnica, Ingeniera Electrnica,
Ingeniera de Control e Ingeniera Informtica.
Todo Ingeniero Mecatrnico est capacitado para disear sistemas
mecatrnicos, generar soluciones basadas en la mejora continua, apoyar a la
empresa a travs de la automatizacin de procesos, integrar dispositivos
mecatrnicos y dirigir trabajos multidisciplinarios.
Mediante las Prcticas Pre-Profesionales se puede poner en prctica
una o ms de estas capacidades en el campo laboral, interactuando con
problemas reales y ofreciendo soluciones idneas.
En mi caso, las Prcticas Pre-Profesionales se dieron en el rea de
soluciones biomtricas, rea en la cual pude aplicar mis conocimientos de
programacin, procesamiento de seales digitales, manejo de sensores entre
otros.

1.2.

Objetivos generales y especficos:

1.2.1. Objetivos generales:


-

Adquirir conocimientos en el rea de biometra. Se mide en base al


diferencial de conocimientos que se tiene al terminar las prcticas.

Generar soluciones que mejoren los productos. Se mide en base a la


cantidad de mejoras que se hizo a productos pre-existentes.

7
1.2.2. Objetivos especficos:

1.3.

Aprender nuevos algoritmos computacionales enfocados al procesamiento


de imgenes y a la creacin de interfaces grficas.

Aprender a manejar dispositivos utilizados en el rea.

Optimizar productos existentes.

Proponer soluciones novedosas y eficientes a problemas ya resueltos.

Descripcin del informe:


A iniciar las Prcticas Pre-Profesionales, recib un curso enfocado a la
programacin den C++ apoyado de la librera Qt, una librera multiplataforma
enfocada al desarrollo de GUI. Apoyado en estos conocimientos, pude elaborar
interfaces grficas que fueron utilizadas para proyectos afines al rea dentro de
la empresa.
Dentro de nuestra rea, este aprendizaje fue incorporado al uso de
cmaras biomtricas para el desarrollo de productos enfocados a la verificacin
y reconocimiento de personas.
El informe expondr las actividades mencionadas anteriormente,
priorizando a las labores que tienen que ver directamente con el cumplimiento
de los objetivos.

Captulo 2

LA EMPRESA
2.1.

Localizacin:
Av. Canaval y Moreyra 452 piso 5 San Isidro.

2.2.

Nombre de la empresa:
TECHNETSOL S.A.C. (perteneciente al consorcio Centro de Riesgos
comerciales Sociedad Annima Cerrada - CERTICOM S.A.C.)

2.3.

Fundacin de la organizacin:
Empresa fundada el 1ro de setiembre de 1995. Fue creada bajo el auspicio de
la Asociacin de Bancos del Per - ASBANC.

2.4.

Misin, visin y objetivos de la organizacin:

2.4.1. Misin:
Brindar un servicio de calidad y satisfaccin total a nuestros clientes, en el cual
se manifieste eficiencia y buena gestin, con sentido de conciencia social,
mejora continua y capacidad innovadora.
2.4.2. Visin:
Brindar servicios de valor agregado a nuestros clientes mediante la
recopilacin, consolidacin, administracin, verificacin y comercializacin de
informacin relevante vinculada al crdito y otras actividades complementarias
de personas y empresas.
2.4.3. Objetivos:
-

Ofrecer un servicio de calidad, atendiendo al cliente en forma rpida, oportuna


y eficiente; velando porque la orientacin e informacin sea oportuna,
confiable, eficiente y consistente.

Crecer en forma conjunta con el cliente, a travs del incremento de valor,


mediante el aporte de tecnologa, innovacin y esfuerzo laboral.

Ser un colaborador de la ptima gestin de los procesos de una organizacin


con evidente aporte de valor, basado en el Know-How especfico, las sinergias
y el uso de tecnologa.

Reinventar e innovar los procesos que gestionamos por encargo; en forma


continua, buscando mayor calidad, mejores costos o menores tiempos.

9
2.5.

Organizacin:

2.5.1. Organigrama general:


Ver en el Anexo A.
2.5.2. Funciones de rea:
El rea de proyectos de biometra se encarga de desarrollar soluciones
automatizadas para el reconocimiento de personas mediantes sus
caractersticas fsicas, tales como los patrones que forma la huella dactilar, la
forma del iris o caractersticas del rostro. Se enfoca principalmente en el
desarrollo de software apoyado de las tecnologas de hardware existentes en el
mercado. Estos productos son usados como un valor agregado a los servicios
de tercerizacin de la empresa CERTICOM.
2.6.

2.7.

Representantes de la empresa:
-

Presidente Directorio: Van Oordt Parodi Guillermo

Gerente General: Kurtovic Diaz Franjo Thomas

Vicepresidente: Lopez Doriga Teus Cesar

Poltica de la organizacin:
Est basada en cinco pilares de negocio.

2.8.

INICIATIVA: Tomamos la iniciativa de asumir retos. No dejamos que las


cosas pasen, hacemos que sucedan las cosas.

TICA: Propsito innegociable de actuar de manera responsable y


transparente.

INNOVACIN: Creamos e introducimos nuevas formas de trabajo los


cuales mejora nuestros procesos y servicios.

ESPRITU EMPRENDEDOR: Capacidad de ver ms all, adelantarse al


maana y tener coraje de realizar, innovar e invertir.

PROACTIVIDAD: Siendo giles, creativos y flexibles en nuestra manera de


pensar, desempeando un rol activo en el proceso de cambio

Productos y servicios de la organizacin:


-

Verificaciones: Incluye verificaciones domiciliarias (constatacin de lugar,


nmero de habitantes, situacin del inmueble, etc.), verificaciones laborales
(antecedentes, vinculo laboral, informacin declarada, remuneracin entre
otros), verificacin de expedientes (telefona, lneas de crdito,
categorizacin, etc.) y verificaciones especiales (RRHH, PYME, previsional
y legales).

10

2.9.

Digitacin y Digitalizacin: Desarrollo de actividades de digitacin y


digitalizacin masiva para procesos especficos de negocio utilizando
tecnologas Intelligence Character Recognition (ICR) y Optical Character
Recognition (OCR) para su procesamiento.

Gestin de Oficinas y Atencin al Pblico: Outsourcing de atencin


descentralizada de pblico, referido a actividades de gestin comercial para
empresas de servicios y recepcin de solicitudes de trmite.

Administracin de Colas: Sistema de asignacin de colas con visualizacin


va TV, normalmente aplicada en Bancos. Plantea un manejo estadstico al
pblico pudiendo establecer prioridades de acuerdo al perfil de cada cliente.

Comercializacin de productos financieros: Servicios de originacin


comercial de una amplia gama de productos financieros destinados a
personas naturales o empresas permitiendo identificar y vincular a los no
clientes de la institucin mediante estrategias de venta cruzada.

Soluciones de comercializacin y control: Soluciones como SCTP (Solucin


para la Comercializacin Tercerizada de Productos) y SVC (Solucin de
Control y Verificaciones).

Soluciones Biomtricas: Soluciones de negocio con tecnologa de


identificacin biomtrica orientadas a prevencin de fraudes, validacin de
identidad en entidades pblicas y privadas y operaciones transaccionales
de carcter comercial.

Infraestructura productiva:
-

Terreno: La oficina se encuentra ubicada ocupando todo el quinto piso del


edificio del Banco de Comercio.

Distribucin del rea de trabajo: Se ocupa un sptimo del rea total entre la
recepcin y el comedor. El resto es ocupado por distintas reas de la
empresa. En total se pueden encontrar 7 reas separadas por muros de
tamao mediano. Todas las reas cuentan con sus respectivas
computadoras, escritorios y tiles necesarios.

Equipo: Se cuenta con alrededor de 30 computadoras en funcionamiento y


otras ms en servicio tcnico; las computadoras pueden tener desactivadas
algunas funciones de acceso a internet o de acceso a los puertos USB
dependiendo de la necesidad del trabajo desempeado. Se cuenta tambin
con una sala de servidores para almacenar las bases de datos y manejar el
servicio web.

11

Captulo 3

ACTIVIDADES DESARROLLADAS
Se presentan las actividades desarrolladas dentro de la empresa hasta la fecha de
sta edicin. Los inicios de las actividades estn ordenados cronolgicamente, pero
hay actividades que se desarrollaron en paralelo. Se muestra adems una imagen
referencial de la actividad. En el Anexo B se muestra un grfico que expone las
actividades y su disposicin en el tiempo. Adems, en los resultados se mostrar los
resultados obtenidos en las actividades ms relevantes.

12
3.1.

Adquisicin de conocimientos en el uso de la librera Qt. [01/03/2011 07/04/2011]


Se adquiri conocimientos en el uso de la librera Qt. Esta librera para
C++ es utilizada para desarrollar entornos grficos, manejar eventos de los
perifricos, crear clases avanzadas e interactuar con stas mediante el uso
de signals (seales) y slots (puertos). Se tiene un IDE de desarrollo llamado
Qt Creator (figura 3.1) que facilita el trabajo con esta librera ya que incluye
todas las estructuras sintcticas de la librera predeterminadamente.

Figura 3.1: Vista del IDE Qt Creator.


Identificacin del problema: En ese momento no tena conocimiento del
manejo de la librera.
Recopilacin de informacin requerida: Se revis las distintas fuentes
donde se puede aprender el uso de sta librera.
Anlisis de informacin y alternativas de solucin: Se dispona de recursos
en internet y de un libro [1].
Evaluacin y seleccin: Se escogi adquirir el libro [1] por tener todos los
mdulos desarrollados, incluir ejemplos y estar estructurado.
Ejecucin: A la par con el avance de los dems proyectos, se estuvo
estudiando el libro.
Resultados: Se concluy la lectura de todos los captulos con el desarrollo
de sus ejemplos y una aplicacin del captulo.

13
Anlisis de los resultados: Se logr conseguir una base slida con la que se
pudo concretar los proyectos. Vali la pena el tiempo invertido en esta
actividad ya que tambin me proporcion destreza y una visin de los
problemas comunes dentro del desarrollo en esta librera.

14
3.2.

Elaboracin de interfaces grficas. [08/03/2011 - A la fecha]


Se elaboraron interfaces grficas con la librera Qt. Entre estas estn
incluidas la interfaz para un sistema de ingreso manual de trayectoria para
servomotores (figura 4.1) y la interfaz genrica para manejar las cmaras
de reconocimiento de iris (figura 3.2).

Figura 3.2: Interfaz genrica para manejar cmaras de reconocimiento de iris.


Identificacin del problema: Todo producto que saldr a la venta necesita
una interfaz amigable al usuario que le permita interactuar con el programa.
Las interfaces sirven para comunicar al usuario con la ingeniera del
programa (parte compleja o ncleo del programa que normalmente el
usuario no necesita manejar). Todas las interfaces deben seguir las
especificaciones de uso del usuario.
Recopilacin de informacin requerida: Para cada uno de los proyectos se
consult al usuario sobre sus requerimientos, adems de coordinar con el
desarrollador del ncleo del programa para conocer las entradas y salidas
de su sistema.
Anlisis de informacin y alternativas de solucin: Con la informacin
obtenida desde ambas partes se procede a plantear las distintas maneras
en las que puede interactuar el usuario con el ncleo.
Evaluacin y seleccin: De todas las alternativas se selecciona la que
utilice menor tiempo de procesamiento. ste tiempo puede ser medido
mediante la cantidad de microsegundos que toma la interfaz en ejecutar un
conjunto de comandos orientados a una labor determinada. En esta etapa

15
slo se implementan las labores que requieran un alto tiempo de
procesamiento, como es la muestra de un conjunto de imgenes en la
pantalla.
Ejecucin: La alternativa seleccionada se pasa a implementar con todos los
detalles del producto que se entregar. Finalmente, se hacen pruebas de
funcionamiento del producto en condiciones normales.
Resultados: Se da por concluida la elaboracin de la interface si cumple
con las especificaciones del usuario y tiene total compatibilidad con el
ncleo del programa.
Anlisis de los resultados: En base a este procedimiento se desarrollaron
todas las interfaces que se muestran a en subsiguientes actividades.

16
3.3.

Adquisicin de conocimientos en el manejo de una cmara binocular.


[15/03/2011 - 08/04/2011]
Se adquiri conocimientos en el manejo de una cmara binocular (figura
3.3). sta fue utilizada en la implementacin de un sistema binocular de
reconocimiento biomtrico mediante la extraccin de caractersticas del iris.

Figura 3.3: Cmara binocular.


Identificacin del problema: Ante la adquisicin de una nueva cmara (tipo
binocular) se necesitaba conocer todas sus funcionalidades.
Recopilacin de informacin
desarrollador de la cmara.

requerida:

Se

utiliz

el

manual

de

Ejecucin: Se utiliz las funciones de la cmara de manera aislada,


teniendo en cuenta que algunas funciones deban ser usadas en conjunto.
Resultados: Se tuvo completo conocimiento de las funciones que utiliza la
cmara y como interrelacionarlas para completar su funcionamiento.
Anlisis de los resultados: Gracias a esta actividad se pudo tener pleno
conocimiento de la cmara con lo que se desarrollo su respectivo
controlador.

17
3.4.

Adquisicin de conocimientos en el manejo de hilos de ejecucin.


[21/03/2011 - 29/03/2011]
Se adquiri conocimientos en el manejo de hilos de ejecucin con la
librera Qt. Este conocimiento permiti poder manejar diferentes cdigos en
simultneo, pudindose independizar el manejo de la interfaz grfica y el
procesamiento que realiza el programa, evitando cuelgues en el programa
por tiempo de procesamiento (que en el caso de imgenes es alto).

Figura 3.4: Documentacin de la librera Qt mediante el programa Qt Assistant.


Se puede ver la pgina introductoria de la clase QThread.
Identificacin del problema: Durante el aprendizaje de las funciones de la
cmara binocular, se tuvieron problemas con el tiempo de procesamiento.
ste comprometa directamente el funcionamiento del programa
controlador, ya que congelaba su funcionamiento.
Recopilacin de informacin requerida: Se utiliz la documentacin incluida
con la librera Qt [2]. La clase escogida para manejar los hilos de ejecucin
fue QThread.
Ejecucin: En base a la documentacin (figura 3.4) se elaboraron
programas simples que procesaban grandes cantidades de informacin a la
par que la interfaz grfica funcionaba.
Resultados: Los programas elaborados utilizando un enfoque de manejo de
varios hilos de ejecucin mostraban una menor carga al programa principal,
medido mediante el consumo de tiempo de la interfaz y el procesamiento.

18
Anlisis de los resultados: Se logr resolver el problema del congelamiento
del programa, pudindose aplicar ste conocimiento adems en otros
proyectos.

19
3.5.

Desarrollo de un programa controlador de la cmara binocular en


Visual C++. [28/03/2011 - 08/04/2011]
Se desarroll un programa controlador de la cmara binocular (Figura
3.5) en Visual C++ con la librera Qt incorporada; el programa incluye la
adquisicin de la imagen ptima mediante la medicin del contraste que se
utiliza en la extraccin de caractersticas del iris.

Figura 3.5: Programa controlador de cmara binocular.


Identificacin del problema: No se contaba con un software propietario para
controlar la cmara binocular.
Recopilacin de informacin requerida: Se adquirieron un programa de
demostracin de uso de la cmara y un cdigo de ejemplo del manejo de la
cmara en modo de captura en tiempo real para consola de comandos.
Anlisis de informacin y alternativas de solucin: Como opciones se tenan
elaborar una interfaz similar al programa de demostracin o crear una
aplicacin simplificada del mismo. As mismo, se necesitaba contar con un
algoritmo de manejo de la cmara.
Evaluacin y seleccin: Se tom la decisin de usar una interfaz similar al
programa de demostracin. Esto debido a que en ste se puede variar los
parmetros de funcionamiento de la cmara desde interfaz. El modelo de
control de la cmara fue por mquina de estados. Este fue escogido ya que
la cmara poda hacer muchas cosas que podan tipificarse dentro de un
estado.

20
Ejecucin: Se realiz el programa controlador de la cmara segn lo
planeado. Se incluy un procesamiento separado de las imgenes y la
captura de imgenes. Adems, se utiliz un mtodo de medicin de
contraste de la imagen basado en el espectro de frecuencia para
seleccionar la imagen donde las caractersticas del iris estn mejor
definidas. La mquina de estados sirvi para dotar de robustez al programa
ante cualquier fallo en la comunicacin con la cmara.
Resultados: Se concluy la elaboracin del software con las caractersticas
requeridas.
Anlisis de los resultados: El programa funcion satisfactoriamente. Se
pudo mimetizar todas las funcionalidades incluidas en el programa de
muestra, adems de aadirle el mdulo de adquisicin de la mejor imagen.

21
3.6.

Adquisicin de conocimientos en el manejo de una cmara


monocular. [11/04/2011 28/04/2011]
Se adquiri conocimientos en el manejo de una cmara monocular
(Figura 3.6). sta fue utilizada en la implementacin de un sistema
monocular de reconocimiento automtico mediante la extraccin de
caractersticas del iris.

Figura 3.6: Cmara monocular.


Identificacin del problema: Se tena una cmara monocular utilizada
anteriormente para otro proyecto. Se contaba con la documentacin de uso
pero no con el Know-How.
Recopilacin de informacin requerida: Se consult la documentacin del
proyecto anterior y el manual de desarrollador de la cmara.
Ejecucin: Se cre una interfaz en modo consola de comandos para hacer
las pruebas de las funciones. Se utiliz un patrn de programacin Faade
para evitar usar cdigo muy extensivo dentro del programa.
Resultados: Se consigui implementar todas las funciones de la cmara
referidas a la captacin del iris, incluyendo el manejo de sus parmetros de
funcionamiento.
Anlisis de los resultados: Si bien la interfaz no mostraba imgenes en
tiempo real ya que haba sido elaborada en modo consola de comandos,
sta mantiene el concepto de conexin, captura y procesamiento de la
imagen.

22
3.7.

Desarrollo de un programa controlador de la cmara monocular en


Visual C++ con la librera Qt incorporada. [18/04/2011-28/04/2011]
Se desarroll un programa controlador de la cmara monocular (Figura
3.7) en Visual C++ con la librera Qt incorporada.

Figura 3.7: Programa controlador de cmara monocular.


Identificacin del problema: Se necesitaba un programa controlador de la
cmara simplificado para la rpida interaccin con el usuario.
Recopilacin de informacin requerida: Se revis las opciones mnimas
suficientes para el buen funcionamiento de la cmara.
Anlisis de informacin y alternativas de solucin: Se plante como opcin
el uso de una interfaz minimalista que permita la rpida interaccin del
usuario con la cmara sin tener que configurar nada (concepto plug & play).
Faltaba decidir que opciones tendra el programa. El sistema de control de
la cmara monocular, por tener los mismos estados que la cmara
monocular, fue reutilizado del mismo.
Evaluacin y seleccin: De los datos se vieron como primordiales las
opciones de conexin/desconexin y de inicio/fin de captura.
Ejecucin: Se independizaron la interfaz y el programa controlador de la
cmara. La interfaz fue elaborada siguiendo el bosquejo que se haba
planteado (conexin y captura). El controlador se hizo utilizando los
patrones de programacin Faade y Singleton. Las conexiones entre
ambos sistemas se realizaron mediante signals y slots.

23
Resultados: Se concluy con la elaboracin del software con interfaz
minimalista.
Anlisis de los resultados: El programa actual tiene una mejor presentacin
ante un usuario que solo desea tener las opciones que le permitan cumplir
con su trabajo y no complicarse configurando el perifrico a usar. Cabe
resaltar que este programa solo est acondicionado para este modelo de
cmara, producto de la especializacin de las funciones.

24
3.8.

Procesamiento digital de fotografas de carros para ubicar la posicin


de las matrculas. Se utiliz el software Octave. [28/04/2011-09/05/2011]
Se realiz el procesamiento digital de fotografas de carros para extraer
la ubicacin de su matrcula (Figura 3.8). ste tuvo como objetivo generar
las muestras de placas a partir de las fotos para realizar el entrenamiento
de un neuro-reconocedor de placas de autos.

Figura 3.8: Ubicacin de la matricula del carro en una imagen.


Identificacin del problema: Se necesitaban tener muestras de matrculas
de carro donde stas no muestren nada ms que la imagen de matrcula.
Recopilacin de informacin requerida: Se encontraron para transformar
espacios de colores (para tener un grupo de caractersticas independientes,
no como en el dominio RGB) y de ubicacin de figuras geomtricas bsicas
(en este caso rectngulos).
Anlisis de informacin y alternativas de solucin: Para las
transformaciones se tenan el PCA y la transformacin a HSV por ser las
ms utilizadas para la separacin de caractersticas ms relevantes. Para la
ubicacin de figuras geomtricas se tenan la Transformada de Hough o
aplicar una serie de convoluciones de rectngulos de diferentes tamaos.
Evaluacin y seleccin: De stas alternativas se escogieron la
transformacin HSV por tener una mayor aproximacin a como el ojo
humano adquiere las imgenes adems de mostrar mayor contraste entre
la placa y el fondo (carro y ambiente). Para la ubicacin de las figuras
geomtricas se utiliz la Transformada de Hough ya que ste incluye datos

25
de la mxima rea encerrada por un rectngulo; se utilizaron como
parmetros de variacin la posicin de la esquina superior izquierda y el
largo y ancho del rectngulo. Se decidi tambin utilizar un filtro de
medianas para el pre-procesado de las imgenes.
Ejecucin: El programa se elaboro en el software de simulacin Octave. El
programa tena implementadas la transformacin del espacio RGB al
espacio HSV y el filtro de medianas, as que la principal implementacin fue
la de la Transformada de Hough [3] para sectores rectangulares. En medio
de la implementacin se vio necesario implementar tambin un
discriminador de colores [3] basado en histograma para disminuir el gasto
computacional de la transformada.
Resultados: Se utilizaron para el testeo 200 imgenes de diferentes carros
tomadas en un ngulo no mayor a 15 de inclinacin y con iluminacin de
luz natural en diferentes momentos del da, con diferentes colores de placa
y evitando en lo posible tener en la imagen objetos que pudieran ser
confundidos como una placa. Se obtuvo un total de 157 imgenes
clasificadas satisfactoriamente.
Anlisis de los resultados: El principal error que se noto en las imgenes
falladas fue la existencia de reas parecidas a una placa de carro. En las
aplicaciones que se den a este proceso se deber tener en cuenta adems
utilizar la existencia de letras y la cantidad de las mismas para reducir las
incidencias en este tipo de error.

26

3.9.

Adquisicin de conocimientos en programacin en Linux utilizando el


lenguaje C++. [28/04/2011 A la fecha]

Figura 3.9: IDE de desarrollo Code::Blocks corriendo bajo el sistema


operativo Ubuntu, distribucin de Linux.
Identificacin del problema: En ese momento no tena conocimiento de
programacin en las distribuciones del sistema operativo Linux. Esto es
necesario para desarrollar programas para empresas que utilizan este
sistema operativo.
Recopilacin de informacin requerida: Se busc informacin en diversas
pginas enfocadas al desarrollo de software en Linux. Se tena pensado
enfocarse en la plataforma de desarrollo (IDE) a usar y la distribucin sobre
la que se deba trabajar.
Evaluacin y seleccin: Se escogi como sistema operativo el Ubuntu por
tener un entorno grfico y contar con una base de datos desde donde se
obtendrn los programas que se utilizarn. Como IDE se escogieron el
Code::Blocks (Figura 3.9) y el Qt Creator por tener gran flexibilidad en
cuanto a complementos y manejo de libreras.
Ejecucin: Con los recursos obtenidos se paso a desarrollar interfaces
simples. Se aprendi tambin a programar usando Emacs [4] y Vi para
tener la capacidad de programar en distribuciones de UNIX que no posean
entorno grfico.

27
Resultados: Se logr desarrollar interfaces similares a las que se manejan
en Windows y tener la capacidad de reutilizar cdigo escrito para un
entorno de Windows al entorno de Ubuntu.
Anlisis de los resultados: El desarrollo de actividades en entorno Linux es
un poco ms complicado que el desarrollo en Windows; sin embargo,
existen muchas empresas que lo utilizan preferentemente por los bajos
costos de mantenimiento que tiene, por el precio bajo o inexistente de su
uso (software libre) y por la seguridad y robustez de este sistema operativo
ante ataques informticos.

28

Captulo 4

PRESENTACIN DE LOS RESULTADOS DE LA


PRCTICA PRE-PROFESIONAL
Los trabajos a continuacin expuestos describen principalmente detalles de
funcionamiento de los productos finales. Se expone someramente algunos
detalles del desarrollo e implementacin de los productos; esto es debido a que
la divulgacin de informacin de propietario del software de la empresa est
restringida a aspectos genricos; adems, los nombres de los productos no
pueden ser mostrados ya que no se encuentran en libre circulacin. Las
imgenes que se muestran son en su mayora imgenes del producto listo para
darle ltimos detalles (mostrar algn mensaje personalizado, poner el logo de
la empresa compradora, etc.).

29

4.1.

Interfaz de ingreso manual de trayectoria para servomotores


Se elabor una interfaz grfica para el ingreso manual de trayectoria (figura
4.1) utilizado en otro proyecto que utiliza servomotores para controlar un robot.
Este sistema era necesario para evitar utilizar programas externos (como
Excel) permitiendo integrar todo el sistema en un solo programa. Este
programa fue realizado bajo ciertos requerimientos del proyecto en mencin,
por lo que no se aadi caractersticas adicionales a las requeridas (se evita
aadir cdigo innecesario que aumenta la complejidad del programa sin una
ganancia real). Se muestran algunas capturas del programa (figuras 4.2, 4.3,
4.4, 4.5) con su respectiva leyenda.

Figura 4.1: Interfaz grfica para el ingreso manual de trayectoria.

30

Figura 4.2: La cantidad de tablas a trabajar puede variarse segn el usuario lo


requiera.

Figura 4.3: La cantidad de filas o columnas pueden variar.


Predeterminadamente se cuentan con 9 filas y 15 columnas.

31

Figura 4.4: El programa acepta el ingreso manual de datos por parte del
usuario. Tambin pueden pegarse datos desde otras hojas de clculo como
Excel.

Figura 4.5: El programa pide confirmacin de cierre al usuario evitar prdidas


de informacin accidentales.

32
4.2.

Interfaz genrica para manejar cmaras de reconocimiento de iris


Se implement una interfaz (Figura 3.2) sin comunicacin con la cmara de
manera que haciendo ligeros cambios en sta puede servir para cmaras de
diferentes fabricantes, pensando siempre en la reutilizacin de cdigo para
evitar reinventar una interfaz ya existente. Se muestran capturas del programa
con su respectiva leyenda (figuras 4.6, 4.7, 4.8, 4.9, 4.10, 4.11).

Figura 4.6: Vista predeterminada de la interfaz.

33

Figura 4.7: Vista de la interfaz luego de ser conectada (entre cmaras se


cambian los parmetros de conexin y se conecta, esta interfaz solo emula la
conexin).

34

Figura 4.8: La interfaz requiere el ingreso manual del nombre del usuario que
ser registrado/verificado y el nmero de cuadros/segundos con los que
trabajar (en el caso de la interfaz genrica, estos datos no se utilizan).

35

Figura 4.9: Animacin que simula la muestra de cuadros de los ojos. Esta se
activa luego de presionar Iniciar captura.

Figura 4.10: Animacin que simula la muestra de cuadros de los ojos.

36

Figura 4.11: Si se activa el modo manual, el operador del programa puede


escoger cuando se tomar la imagen presionando el botn Capturar.

37

4.3.

Controlador de cmara binocular


Se implement un programa controlador de la cmara binocular. Este fue
hecho en base a la interfaz genrica, con variaciones de cdigo en las etapas
de conexin con la cmara, la muestra de imgenes y toma de la imagen
ptima. Se dibujaron dos lneas de referencia para ayudar a las pruebas de
desarrollo; en el producto real esta caracterstica no fue incluida. Se muestran
capturas del programa (figuras 4.12, 4.13, 4.14, 4.15, 4.16, 4.17, 4.18, 4.19) y
fotos del funcionamiento (figuras 4.20, 4.21, 4.22, 4.23, 4.24) con su respectiva
leyenda.

Figura 4.12: Vista predeterminada del programa controlador de cmara


binocular.

38

Figura 4.13: Vista del programa controlador de cmara binocular

Figura 4.14: El nombre de usuario es necesario para tener acceso al programa.


Este se verifica con una base de datos.

39

Figura 4.15: Se requiere un nmero de cuadros/segundos. Este nmero es la


cantidad de muestras que se utilizaran para hallar la imagen ptima.

Figura 4.16: Presionando Iniciar captura la cmara comienza a mostrar las


imgenes que est captando.

40

Figura 4.17: Si la persona est muy lejos de la cmara estar desenfocada.

Figura 4.18: Si la persona est muy cerca la cmara estar desenfocada.

41

Figura 4.19: Cuando la persona llega a una distancia aceptable la cmara


captura imgenes y muestra la mejor (modo automtico). En modo manual el
operario es quien escoge el momento ideal para tomar la imagen.

Figura 4.20: Cmara binocular encendida.

42

Figura 4.21: Cmara binocular apagada

43

Figura 4.22: Cmara binocular mostrando las imgenes que est capturando
mientras espera que aparezca una imagen aceptable.

44

Figura 4.23: Imagen ptima adquirida luego de la captura de imgenes.

45

Figura 4.24: Imagen ptima adquirida luego de la captura de imgenes.

46
4.4.

Controlador de cmara monocular


Se implement un programa controlador de la cmara monocular. Para la
elaboracin del mismo se cre una nueva interfaz debido a que se necesitaba
que sea lo ms simple posible. Este programa permite la muestra de imgenes,
mostrar grficamente la distancia entre la cmara y el usuario (gracias a sus
sensores de distancia) y el almacenamiento de las imgenes en el disco para
su posterior uso. Se muestran capturas del programa (figuras 4.25, 4.26, 4.27,
4.28, 4.29, 4.30, 4.31, 4.32, 4.33) y fotos de su funcionamiento (figuras 4.34,
4.35, 4.36, 4.37) con su respectiva leyenda.

Figura 4.25: Vista predeterminada del programa.

47

Figura 4.26: La cmara se encuentra en estado abierto, esto quiere decir que
ningn otro programa puede tener acceso al dispositivo hasta que la cmara
sea desconectada del programa. Esto asegura que ningn otro programa
pueda iniciar la captura.

48

Figura 4.27: La cmara comienza a capturar. La cmara binocular tiene como


caracterstica de que puede ser desactivada mientras no haya un objetivo
cerca de la misma, lo que permite el ahorro de energa.

49

Figura 4.28: La cmara encontr un objetivo cercano, as que se encendi. Sin


embargo, El objetivo est muy cerca de la cmara. Se muestran las esquinas
dentro del rectngulo con una separacin proporcional a la distancia de
alejamiento a la posicin ideal para que el operario pueda saber si el usuario
debe alejarse.

50

Figura 4.29: El objetivo est cerca de la cmara, pero no lo suficiente. Se


muestran las esquinas fueras del rectngulo con una separacin proporcional a
la distancia de alejamiento a la posicin ideal para que el operario pueda saber
si el usuario debe acercarse.

51

Figura 4.30: Cuando el usuario est en la posicin ideal, las esquinas se


superponen al rectngulo de referencia. Este rectngulo solo sirve de
referencia al operario de la cmara, no es necesario que la pupila quede
enmarcada dentro del mismo.

52

Figura 4.31: Cuando la cmara toma la imagen ptima se elimina el rectngulo


para que el operario pueda ver si la imagen fue correctamente tomada.

53

Figura 4.32: Si la persona hace la toma sin quitarse los lentes la cmara no
dar bueno resultados.

54

Figura 4.33: Opcionalmente se puede mostrar la performance del proceso en la


parte superior de la pantalla.

Figura 4.34: Imagen de la cmara monocular.

55

Figura 4.35: Captura del programa funcionando.

Figura 4.36: Cmara y programa en modo espera de imgenes.

56

Figura 4.37: Imagen capturada por la cmara.

57

OBSERVACIONES, CONCLUSIONES Y
RECOMENDACIONES
Observaciones:
-

Una interfaz grfica que incluye procesamiento puede colgarse si todo el cdigo
est incluido en el programa principal.

Los programas con interfaces estticas restringen al usuario haciendo que el


producto pierda acogida.

Los dispositivos biomtricos poseen sus propios controladores y software de


apoyo.

La toma de muestras no automatizada es un proceso tedioso pero muchas veces


necesario.

El manejo de perifricos tiene problemas si no se consideran todas las incidencias


que puede tener, tales como la desconexin accidental del perifrico o el uso por
parte de otro programa que lo bloquea.

Conclusiones:
-

La Prctica Pre-profesional me permiti poner en prctica y consolidar los


conocimientos adquiridos en los cursos de Programacin Orientada a Objetos,
Circuitos digitales, Procesamiento de seales digitales, Ingeniera de mtodos y
Sensores y acondicionamiento de seales dictados en la Facultad de Ingeniera
Mecnica - UNI.

La Prctica Pre-profesional me mostr cmo es que funciona realmente un


proyecto que debe generar dinero, los estndares que maneja y como es que
realmente se deben cumplir con los plazos de entrega.

La Prctica Pre-profesional me permiti adquirir nuevos conocimientos en cuanto a


la programacin de interfaces grficas con la librera Qt. Adems, se adquirieron
conocimientos en el manejo de aplicaciones con varios hilos de ejecucin en la
misma librera.

Se logr con la adquisicin de conocimientos en el manejo de perifricos


enfocados a biometra.

Se logr optimizar programas pre-existentes en base a los nuevos conocimientos


adquiridos y la base terica que poseo a partir de los cursos de la UNI.

58
Recomendaciones:
-

Se debe enfocar el curso de programacin no solo a aspectos de funcionamiento,


sino tambin a la presentacin al cliente.

Se debe independizar el programa principal y la interfaz grfica mediante el uso de


hilos de ejecucin.

Se debe desarrollar del programa principal como una librera para poder reutilizarlo
en otros proyectos. Esto permitir ahorrar tiempo de desarrollo.

Se debe encapsular la solucin de problemas teniendo en cuenta su naturaleza


para que estos sean posteriormente reutilizables.

No se debe dejar corriendo un programa o encendida una computadora por


demasiado tiempo a menos que est diseada para ello.

59

Bibliografa
[1] Johan Thelin (2007). Foundations of Qt Development. Apress.
[2] Nokia Corporation (2011). Qt Assistant, Version 4.7.2.
[3] R. Gonzalez, R. Woods (2002). Digital Image Processing,
Second Edition. Prentice Hall.
[4] Free Software Foundation (2009). GNU Emacs manual.

Glosario
-

Algoritmo: Conjunto de instrucciones definidas, ordenadas y finitas que permite


realizar una actividad mediante pasos sucesivos.

Biometra: Estudio de mtodos automticos para el reconocimiento nico de


humanos basados en uno o ms rasgos conductuales o fsicos intrnsecos

Cmara de reconocimiento biomtrico: Cmara utilizada para capturar


imgenes que se utilizarn, luego de un procesamiento, para aplicaciones
biomtricas.

Faade: Patrn de diseo que proporciona una interfaz unificada de alto nivel
para un conjunto de clases en un subsistema.

GUI: Interfaz grfica de usuario.

Hilos de ejecucin: Caracterstica que permite a una aplicacin Realizar varias


tareas a la vez. Estos comparten recursos como archivos o memoria.

IDE: Entorno de desarrollo integrado. Programa informtico compuesto por un


conjunto de herramientas de programacin.

Interfaz grfica: Medio con que el usuario puede comunicarse con una
mquina, un equipo o una computadora, utilizando un conjunto de imgenes y
objetos grficos para representar la informacin y acciones disponibles en la
interfaz.

Iris: Membrana coloreada y circular del ojo que permite a la pupila dilatarse o
contraerse. Posee caractersticas diferentes entre distintas personas y es
estable a cambios durante el tiempo, lo que la hace idnea para el
reconocimiento biomtrico.

Librera: Conjunto de funciones que pueden ser usadas en distintos programas


sin ser cambiadas.

Mquina de estados: Modelo de comportamiento de un sistema con entradas y


salidas donde las salidas dependen tanto de las seales de entrada como de
los estados anteriores.

60
-

Optimizacin: Conversin de programas existentes en otros que realicen las


mismas tareas en menos tiempo o utilizando menos recursos del sistema.

Prctica Pre-profesional: Modalidad que permite a la persona en formacin


durante su condicin de estudiante aplicar sus conocimientos, habilidades y
aptitudes mediante el desempeo en una situacin real de trabajo.

Procesamiento de imgenes: Es una serie de operaciones y anlisis aplicados


a una imagen resultando otra imagen o un conjunto de caractersticas extradas
de la misma.

Pupila: Orificio situado en la parte central del iris por el cual penetra la luz al
interior del globo ocular. Aparentemente es de color negro.

Signals y slots: Vas de comunicacin entre objetos derivados de la librera Qt.


Permiten llamadas asncronas. Un objeto enva un signal hacia un slot de otro
para activar el funcionamiento del ste ltimo.

Singleton: Patrn de diseo que restringe la creacin de objetos pertenecientes


a una clase a un unido objeto; esto es, una instancia nica.

Vi: Editor de texto incluido en todas las distribuciones de UNIX

ANEXOS
A. Organigrama de la institucin
B. Cronograma de las Prcticas Pre-profesionales

También podría gustarte