Logo Studenta

AplicaciAn-Web-para-la-AdministraciAn-de-TrAímites-e-InformaciAn-de-Pensionados

¡Este material tiene más páginas!

Vista previa del material en texto

Instituto Politécnico Nacional 
Unidad Profesional Interdisciplinaria en 
Ingeniería y Tecnologías Avanzadas 
 
 
Proyecto Terminal 
 
“Aplicación Web para la Administración de Trámites e 
Información de Pensionados” 
 
Que para obtener el Título de 
“Ingeniero en Telemática” 
 
Presentan: 
Encande López Nestor Osvaldo 
Medina Reyes Miguel Alberto 
 
Asesores 
Dr. Guzmán Lugo José Giovanni 
M. en C. Martínez Rosales Miguel Alejandro 
 
 
 
 
 
México, D.F. Mayo, 2013 
 
 
 
Instituto Politécnico Nacional 
Unidad Profesional Interdisciplinaria en 
Ingeniería y Tecnologías Avanzadas 
 
Proyecto Terminal 
“Aplicación Web para la Administración de Trámites e 
Información de Pensionados” 
 
Que para obtener el Título de 
“Ingeniero en Telemática” 
 
Presentan: 
Encande López Nestor Osvaldo 
Medina Reyes Miguel Alberto 
 
Asesores 
______________________________________________ 
Dr. Guzmán Lugo José Giovanni 
______________________________________________ 
M. en C. Martínez Rosales Miguel 
Alejandro 
 
Presidente 
 
 
______________________________________________ 
M. en C. Sánchez Nájera Susana 
 
Secretario 
 
 
______________________________________________ 
M. en C. Enríquez Ortiz Cyntia Eugenia 
 
 
Agradecimientos de Alberto Medina Reyes 
Agradezco a mis papás quienes nunca escatimaron esfuerzos para brindarme la mejor 
educación y que siempre confiaron en mí. Con su ejemplo me enseñaron, que para tener 
éxito es necesario el trabajo duro, la dedicación y muchos otros valores que me llevaron al 
lugar donde me encuentro. También darles las gracias a ellos y a mi hermana por no 
desesperarse y enojarse conmigo cuando tuve momentos de alto estrés y mi humor no era el 
mejor, en cambio me apoyaron para lograr mis metas. 
A mis cuatro abuelitos, de los cuales he aprendido mucho y que siempre confiaron en mí, 
ellos son una parte importante en mi vida y les doy las gracias por haberme llevado por un 
buen camino. 
A todos mis profesores de la UPIITA, de los cuales aprendí infinidad de cosas sobre mi 
carrera que tanto me gusta y de la cual me siento orgulloso. Su forma estricta de ser me 
hizo aprender cual es la forma correcta en que se deben realizar las cosas. 
A mis asesores por su compromiso con nuestro proyecto terminal, por invertir su tiempo y 
esfuerzo para ayudarnos a lograr nuestro objetivo. 
 
 
Agradecimientos de Néstor Encande López 
Agradezco a mi padres por darme la vida y educarme para ser una persona de bien, siempre 
dieron todo para mi bienestar y buscaron lo mejor para mí, gracias. En particular agradezco 
a mi mamá que siempre ha estado ahí para mí en cualquier momento de mi vida, que me 
lleno de confianza día a día para ser quien soy, que día a día se preocupó por mí y me 
cuido, agradezco todos los consejos que me has dado, Te amo. A mi papa quien es mi 
ejemplo a seguir, que siempre me llenaste de enseñanzas de vida, que me enseñaste que en 
la vida hay que luchar por lo que se quiere y que todo se debe de hacer por el buena camino 
y que si se hace así todo saldrá bien, sé que estas orgulloso de mí, porque siempre estás 
conmigo, gracias por todo Te amo. 
A mis hermanos Paty, Jocelyn y Paul quienes siempre me cuidaron y estuvieron ahí para 
mí, gracias por cada conocimiento y alegría que me dieron. Los quiero y sé que siempre 
estarán ahí cuando los necesite. 
A mis profesores de toda mi vida académica ya que sin ellos no hubiera llegado hasta estas 
instancias, en espacial un agradecimiento a mis asesores por su apoyo y tiempo invertido 
para la obtención de nuestros objetivos del presente proyecto. Asimismo quisiera agradecer 
al Instituto Politécnico Nacional por darme la oportunidad de estudiar una ingeniería. 
 
 I 
Índice 
ÍNDICE ........................................................................................................................................................ I 
ÍNDICE DE FIGURAS ............................................................................................................................. IV 
ÍNDICE DE TABLAS ............................................................................................................................... VI 
CAPITULO I INTRODUCCIÓN............................................................................................................. 2 
1.1 PLANTEAMIENTO DEL PROBLEMA ...................................................................................................... 3 
1.2 OBJETIVOS ......................................................................................................................................... 4 
1.2.1 Objetivo General .......................................................................................................................... 4 
1.2.2 Objetivos Particulares .................................................................................................................. 4 
1.3 PROPUESTA DE SOLUCIÓN .................................................................................................................. 5 
CAPITULO II ESTADO DEL ARTE ........................................................................................................ 9 
2.1 ANTECEDENTES ................................................................................................................................. 9 
2.1.1 Sistema web para la administración del capital humano del centro de investigación en 
computación del IPN ................................................................................................................................. 9 
2.1.2 Plataforma de seguridad por medio de autentificación biométrica usando reconocimiento de 
iris, aplicado a un sitio web ....................................................................................................................... 9 
2.1.3 Sistema prototipo para el control de asistencia por reconocimiento facial ................................. 9 
CAPITULO III MARCO TEÓRICO..................................................................................................... 10 
3.1 LENGUAJES DE PROGRAMACIÓN ENFOCADOS AL DESARROLLO DE SISTEMAS WEB ........................ 10 
3.1.1 Lenguajes de Programación del lado del Servidor .................................................................... 10 
3.1.2 ASP.net (Active Server Pages) .................................................................................................... 10 
3.1.3 JSP (Java Server Pages) ............................................................................................................. 10 
3.1.4 Python ......................................................................................................................................... 11 
3.1.5 PHP (acrónimo recursivo que significa “PHP Hypertext Pre-processor”)............................... 11 
3.1.6 Ruby ............................................................................................................................................ 12 
3.2 LENGUAJES DE PROGRAMACIÓN DEL LADO DEL CLIENTE ................................................................ 12 
3.2.1 HTML (HyperText Markup Language) ....................................................................................... 13 
3.2.2 JavaScript ................................................................................................................................... 13 
3.2.3 CSS (Cascading Style Sheets) ..................................................................................................... 13 
3.3 GESTORES DE BASES DE DATOS. ..................................................................................................... 13 
3.3.1 Microsoft SQL Server ................................................................................................................. 14 
3.3.2 MySQL ........................................................................................................................................14 
3.3.3 Oracle ......................................................................................................................................... 14 
3.3.4 PostgreSQL ................................................................................................................................. 14 
3.4 PROCESAMIENTO DIGITAL DE IMÁGENES. ....................................................................................... 15 
3.4.1 Modificación de imagen ............................................................................................................. 16 
3.5 PRINCIPALES METODOLOGÍAS ENFOCADAS AL RECONOCIMIENTO FACIAL ..................................... 18 
3.5.1 PCA (Principal Component Analysis) ........................................................................................ 19 
3.5.2 DCT (Discrete Cosine Transform) ............................................................................................. 19 
3.5.3 LDA (Linear Discriminant Analysis) .......................................................................................... 20 
3.6 HERRAMIENTAS COMPUTACIONALES ENFOCADAS AL RECONOCIMIENTO FACIAL ............................ 20 
 II 
3.6.1 OpenCV ...................................................................................................................................... 21 
3.6.2 EmguCV ...................................................................................................................................... 21 
3.6.3 AForge.NET ................................................................................................................................ 21 
3.6.4 Matlab ........................................................................................................................................ 22 
CAPITULO IV ANÁLISIS Y DISEÑO ................................................................................................... 23 
4.1 INVESTIGACIÓN Y SELECCIÓN DE LOS DISTINTOS TRÁMITES A REALIZAR EN LA PLATAFORMA ........ 23 
4.1.1 Comprobación de supervivencia ................................................................................................ 25 
4.1.2 Préstamo a cuenta de pensión (otorgado por el mismo instituto) .............................................. 26 
4.1.3 Modificación de pensión para cambio de domicilio ................................................................... 27 
4.2 ANÁLISIS DE REQUERIMIENTOS ....................................................................................................... 29 
4.2.1 Requerimientos del sistema ........................................................................................................ 29 
4.2.2 Requerimientos funcionales del sistema ..................................................................................... 29 
4.2.3 Requerimientos mínimos en cuanto la interacción del usuario con el sistema .......................... 29 
4.2.4 Requerimientos en cuanto la interacción del sistema con el usuario ......................................... 30 
4.2.5 Requerimientos de estandarización ............................................................................................ 30 
4.2.6 Requerimientos del sistema por parte del administrador ........................................................... 31 
4.2.7 Requerimientos mínimos del reconocimiento facial ................................................................... 31 
4.2.8 Requerimientos no funcionales ................................................................................................... 31 
4.2.9 Requerimientos de pruebas del sistema ...................................................................................... 31 
4.3 ANÁLISIS Y DISEÑO GENERAL DEL SISTEMA .................................................................................... 32 
4.3.1 Análisis Inicial del Sistema ......................................................................................................... 32 
4.3.2 Diseño Inicial del sistema ........................................................................................................... 36 
4.3.3 Selección de lenguaje de programación de lado del servidor .................................................... 41 
4.3.4 Selección de lenguaje de programación de lado del cliente ....................................................... 41 
4.3.5 Selección de Gestor de Base de Datos ........................................................................................ 41 
4.3.6 Algoritmo de detección facial: Viola Jones ................................................................................. 41 
4.3.7 Selección de metodología para el reconocimiento facial ........................................................... 42 
4.4 MODELADO UML DEL SISTEMA. ..................................................................................................... 48 
4.4.1 Diagrama casos de uso del sistema. ........................................................................................... 48 
4.4.2 Diagrama de Actividades del Sistema ........................................................................................ 51 
4.4.3 Diagrama de Clases del Sistema ................................................................................................ 60 
4.4.4 Diseño de la Base de Datos ........................................................................................................ 71 
CAPITULO V IMPLEMENTACIÓN ..................................................................................................... 81 
5.1 IMPLEMENTACIÓN DEL SITIO WEB................................................................................................... 81 
5.1.1 Implementación de la Base de Datos .......................................................................................... 81 
5.1.2 Implementación de los Procedimientos almacenados ................................................................ 82 
5.1.3 Creación y Estructura del sitio web en Visual Studio ................................................................ 84 
5.1.4 Controlador ................................................................................................................................ 85 
5.1.5 Sitio Web ..................................................................................................................................... 88 
5.2 SISTEMA DE INGRESO Y SISTEMA DE REGISTRO DE PENSIONADOS .................................................... 93 
5.2.1 Etapa de entrenamiento del sistema. ......................................................................................... 93 
5.2.2 Sistema de ingreso ...................................................................................................................... 98 
5.2.3 Matlab Builder Ex ....................................................................................................................... 99 
CAPITULO VI RESULTADOS ....................................................................................................................... 102 
 III 
6.1 Resultados del Sistema Web ..................................................................................................... 102 
6.1.1 Realización de Trámites ........................................................................................................... 102 
6.1.2 Administración del sitio. ........................................................................................................... 103 
6.1.3 Implementación ........................................................................................................................ 104 
6.2 Resultados del Sistema de ingreso y de registro de pensionados ............................................. 104 
6.2.1 Resultados de la detección facial .............................................................................................. 1046.2.2 Resultado del reconocimiento facial ......................................................................................... 105 
CAPITULO VII CONCLUSIONES ...................................................................................................... 109 
7.1 Sistema Web .............................................................................................................................. 109 
7.2 Sistema de ingreso y sistema de registro de pensionados ........................................................ 109 
CAPITULO VIII TRABAJOS FUTUROS ............................................................................................ 111 
8.1 Sistema Web .............................................................................................................................. 111 
8.2 Sistema de ingreso y de registro de pensionados ..................................................................... 111 
BIBLIOGRAFÍA .................................................................................................................................... 112 
 
 IV 
Índice de Figuras 
FIGURA 1 ESTUDIO DEL USO DE INTERNET EN MÉXICO EN 2011 Y 2012 POR EL INEGI ...................................... 4 
FIGURA 2 TASA DE IDENTIFICACIÓN CORRECTA PARA EL CASO DE CAMBIOS DE ILUMINACIÓN UTILIZANDO 
NORMALIZACIÓN DE LAS IMÁGENES [10] .................................................................................................... 6 
FIGURA 3 EFICIENCIA COMPUTACIONAL PARA UN RECONOCIMIENTO INDIVIDUAL EN FUNCIÓN DEL NÚMERO DE 
COMPONENTES UTILIZADO [10] .................................................................................................................. 6 
FIGURA 4 DESCRIPCIÓN DE LA APLICACIÓN WEB ................................................................................................ 7 
FIGURA 5 DIAGRAMA DE REGISTRO DE USUARIO ................................................................................................ 7 
FIGURA 6 PROCESO DE INTERACCIÓN CON LA APLICACIÓN ................................................................................. 8 
FIGURA 7 MAPAS DE BITS DE UNA IMAGEN DISTINTO TAMAÑO DE PIXEL .......................................................... 15 
FIGURA 8A) IMAGEN EN BLANCO Y NEGRO; B) IMAGEN CON 16 COLORES DISTINTOS; C) ESCALA DE GRISES CON 
256 TIPOS DE COLOR EN ESCALA DE GRISES; D) ESCALA DE GRISES CON 256 TIPOS DE COLORES; E) IMAGEN 
FULL COLOR (GRAN VARIEDAD DE COLORES) ........................................................................................... 16 
FIGURA 9 A) IMAGEN ORIGINAL; B) MISMA IMAGEN CON PROCESAMIENTO DE ESCALA DE GRISES ................... 17 
FIGURA 10 A) IMAGEN ORIGINAL; B) MISMA IMAGEN APLICÁNDOLE BRILLO .................................................... 17 
FIGURA 11 A) IMAGEN ORIGINAL; B) MISMA IMAGEN APLICÁNDOLE CONTRASTE ............................................. 18 
FIGURA 12 A) IMAGEN ORIGINAL; B) MISMA IMAGEN APLICÁNDOLE MODIFICACIÓN DE COLORES ................... 18 
FIGURA 13 PCA DE UN CONJUNTO DE PUNTOS BIDIMENSIONALES .................................................................... 19 
FIGURA 14 UTILIZACIÓN DE LA DCT POR BLOQUES PARA CLASIFICAR UNA IMAGEN ........................................ 20 
FIGURA 15 COMPARACIÓN DE LA PROYECCIÓN DE 2 CLASES EN PCA Y LDA ................................................... 20 
FIGURA 16 ESQUEMA DEL PROCESO QUE CONLLEVA RUP ................................................................................ 23 
FIGURA 17 NÚMERO DE PENSIONADOS EN MÉXICO [8] ..................................................................................... 24 
FIGURA 18 MÓDULOS GENERALES DEL SISTEMA ............................................................................................... 36 
FIGURA 19 MÓDULOS INTERNOS DE LOS MÓDULOS GENERALES DEL SISTEMA .................................................. 36 
FIGURA 20 CUATRO DISTINTAS POSIBILIDADES DE OBTENER LOS VALORES HARR. ........................................... 42 
FIGURA 21 PROYECCIÓN EN EL ESPACIO DE UNA IMAGEN ................................................................................. 44 
FIGURA 22 EJEMPLO DE UN CLASIFICADOR DE ROSTROS DONDE EL PUNTO NEGRO REPRESENTA UNA NUEVA 
IMAGEN Y DONDE SE OBSERVA LOS DIERENTES IMAGENES ALMACENAS POR EL SISTEMA EN EL “FACE 
SPACE” ..................................................................................................................................................... 44 
FIGURA 23 MATRIZ DE IMAGEN A VECTOR DE IMAGEN ..................................................................................... 45 
FIGURA 24 DIAGRAMA GENERAL DE LOS ACTORES ........................................................................................... 48 
FIGURA 25 DIAGRAMA DE CASOS DE USO PARA EL PENSIONADO ....................................................................... 49 
FIGURA 26 DIAGRAMA DE CASOS DE USO DEL ADMINISTRADOR ....................................................................... 50 
FIGURA 27 DIAGRAMA DE ACTIVIDADES: INICIAR SESIÓN ................................................................................. 51 
FIGURA 28 DIAGRAMA DE ACTIVIDADES: CERRAR SESIÓN ................................................................................ 51 
FIGURA 29 DIAGRAMA DE ACTIVIDADES: RECIBIENDO NOTICIAS ...................................................................... 51 
FIGURA 30 DIAGRAMA DE ACTIVIDADES: ACTUALIZAR DATO .......................................................................... 52 
FIGURA 31 DIAGRAMA DE ACTIVIDADES: ELIMINAR PENSIONADO .................................................................... 52 
FIGURA 32 DIAGRAMA DE ACTIVIDADES: ELIMINAR ADMINISTRADOR ............................................................. 53 
FIGURA 33 DIAGRAMA DE ACTIVIDADES: INSERTAR ADMINISTRADOR .............................................................. 53 
FIGURA 34 DIAGRAMA DE ACTIVIDADES: INSERTAR PENSIONADO .................................................................... 54 
FIGURA 35 DIAGRAMA DE ACTIVIDADES: DAR VOBO ....................................................................................... 54 
FIGURA 36 DIAGRAMA DE ACTIVIDADES: INICIAR SESIÓN PENSIONADO ............................................................ 55 
FIGURA 37 DIAGRAMA DE ACTIVIDADES: DETECTAR Y RECONOCER ROSTRO ................................................... 55 
FIGURA 38 DIAGRAMA DE ACTIVIDADES: CERRAR SESIÓN ................................................................................ 56 
FIGURA 39 DIAGRAMA DE ACTIVIDADES: RECIBIR NOTICIAS ............................................................................ 56 
 V 
FIGURA 40 DIAGRAMA DE ACTIVIDADES: RECIBIR ÚLTIMOS TRÁMITES ............................................................ 56 
FIGURA 41 DIAGRAMA DE ACTIVIDADES: REALIZAR TRÁMITE DE SUPERVIVENCIA ........................................... 57 
FIGURA 42 DIAGRAMA DE ACTIVIDADES: ACTUALIZAR DATOS ......................................................................... 57 
FIGURA 43 DIAGRAMA DE ACTIVIDADES: REALIZAR CAMBIO DE DOMICILIO .................................................... 58 
FIGURA 44 DIAGRAMA DE ACTIVIDADES: REALIZAR COMPROBANTE PARA PRÉSTAMO A CUENTA .................... 58 
FIGURA 45 DIAGRAMA DE ACTIVIDADES: GENERAR PDF ................................................................................. 59 
FIGURA 46 DIAGRAMA DE ACTIVIDADES: DAR SEGUIMIENTO ........................................................................... 59 
FIGURA 47 DIAGRAMA DE CLASES DEL SISTEMA ............................................................................................... 61 
FIGURA 48 DIAGRAMA ENTIDAD-RELACIÓN ...................................................................................................... 71 
FIGURA 49 RELACIONAL DE LA BASE DE DATOS ................................................................................................72 
FIGURA 50 RELACIONAL NORMALIZADO ........................................................................................................... 73 
FIGURA 51 ESTRUCTURA GENERAL DE LA PÁGINA MAESTRA ............................................................................ 88 
FIGURA 52 EJEMPLO DEL CONTENEDOR DE LA PÁGINA WEB .............................................................................. 89 
FIGURA 53 DIAGRAMA GENERAL DEL ENTRENAMIENTO DEL SISTEMA .............................................................. 93 
FIGURA 54 IMAGEN ORIGINAL PASÁNDOLA A ESCALA DE GRISES ...................................................................... 95 
FIGURA 55 ALGORITMO VIOLA JONES .............................................................................................................. 96 
FIGURA 56 AJUSTE DE TAMAÑO DE LA IMAGEN ................................................................................................. 97 
FIGURA 57 OBTENCIÓN DEL VECTOR DE LA IMAGEN ......................................................................................... 97 
FIGURA 58 PÁGINA WEB PARA EL INGRESO AL SISTEMA .................................................................................... 98 
FIGURA 60 VENTANA DE CREACIÓN DE UN NUEVO PROYECTO ........................................................................ 100 
FIGURA 61 AGREGAR CLASES Y ARCHIVOS DE MATLAB AL PROYECTO ........................................................... 100 
FIGURA 62 EJEMPLO DEL DOCUMENTO GENERADO ......................................................................................... 103 
FIGURA 63 A) DETECCIÓN DE ROSTRO CON POCA ILUMINACIÓN; B) DETECCIÓN DE ROSTRO CON BUENA 
ILUMINACIÓN.......................................................................................................................................... 105 
FIGURA 64 RESULTADOS DEL CALCULO DE LAS DISTANCIAS........................................................................... 106 
FIGURA 65 INTENTANDO INGRESAR AL SISTEMA CON 2 FOTOS POR USUARIO DENTRO DEL ENTRENAMIENTO .......................... 106 
FIGURA 66 PRUEBAS CON ROSTRO NO INGRESADO EN EL ENTRENAMIENTO ................................................... 107 
FIGURA 67 PRUEBA DE INGRESO AL SISTEMA, CUANDO NO ES UN ROSTRO EL QUE ESTÁ QUERIENDO INGRESAR
 ............................................................................................................................................................... 107 
 
 
 
 
 
 
 
 
 
 VI 
Índice de tablas 
TABLA 1 PROFUNDIDAD DE COLOR ................................................................................................................... 15 
TABLA 2 RELACIÓN PENSIÓN ............................................................................................................................ 74 
TABLA 3 RELACIÓN PENSIÓNADO_TELEFONO .................................................................................................. 74 
TABLA 4 RELACIÓN CLÍNICA ............................................................................................................................ 75 
TABLA 5 RELACIÓN PATRONES ........................................................................................................................ 75 
TABLA 6 RELACIÓN PENSIONADO ..................................................................................................................... 76 
TABLA 7 RELACIÓN TRÁMITES ......................................................................................................................... 77 
TABLA 8 RELACIÓN ADMINISTRADOR ............................................................................................................... 78 
TABLA 9 RELACIÓN ADMINISTRADOR_TELEFONO ............................................................................................ 78 
TABLA 10 RELACIÓN CAMBIO_DOMICILIO ....................................................................................................... 79 
TABLA 11 RELACIÓN SUPERVIVENCIA .............................................................................................................. 80 
TABLA12 RELACIÓN PRESTAMO_CUENTA_PENSIÓN ........................................................................................ 80 
TABLA 13 RESULTADOS AL VARIAR EL NÚMERO DE IMAGEN POR USUARIO .................................................... 105 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 2 
CAPITULO I Introducción 
Hoy en día, gracias a las nuevas tecnologías y su penetración cada más evidente en todos los 
sectores de la sociedad, todo tiende a hacerse más sencillo y eficiente. Además, con el crecimiento 
de la Internet y las herramientas que esta nos brinda, nuestro estilo de vida va cambiando pues nos 
ofrece cada vez un mayor número de servicios que facilitan las labores del día a día. 
Dichos servicios son muy amplios, entre ellos podemos mencionar: el comercio electrónico, 
búsqueda de información, video-llamadas, realización de trámites, almacenamiento en la nube etc. 
Estos servicios siempre son desarrollados con el enfoque de optimizar, facilitar o brindar una 
alternativa a la que ya se tiene. Todo esto tomando en cuenta que en ciertos servicios donde se 
involucre información personal o transacciones de dinero, la seguridad es primordial. 
Los métodos de seguridad son muy variados y dependen del servicio, algunos de estos son: cifrado 
de información, certificados y firmas digitales, uso de protocolos confiables, métodos de 
autentificación por contraseñas, biometría, entre otros. 
Por otro lado sabemos que la realización de trámites vía internet en México aún no supera la 
realización presencial, aunque en los últimos años se ha presentado un gran crecimiento en esta 
área, algunos ejemplos son: pago de impuestos, tramites personales (actas de nacimiento, contratos 
de agua, CURP), reservación y compra de boletos, etc. 
Dicho crecimiento es consecuencia de las mejoras que presenta la realización vía internet, pues 
brinda mejoras como: la optimización de tiempo, ahorro de dinero, evitar filas y evitar la 
burocracia, problemas que todos conocemos al momento de la realización de trámites. 
Así pues, estas características que presenta la realización de trámites vía internet pueden beneficiar 
a sectores de la sociedad a los cuales se les dificulta el proceso presencial de la realización de 
dichos trámites. 
Este sector, podría ejemplificarse con los pensionados, a quienes se les pide con regularidad la 
realización de distintos trámites (por ejemplo, acudir cada cierto lapso de tiempo a una sucursal 
asignada para comprobar que ellos siguen con vida y así poder seguir cobrando su pensión). 
Si bien este sector de la población no solía tener un acercamiento significativo con las nuevas 
tecnologías, hoy en día esto ha cambiado y el acercamiento es cada vez mayor. Esto nos hace 
pensar que se podrían desarrollar plataformas pensadas para este tipo de sectores de la sociedad, las 
cuales no solo estén diseñadas para optimizar, facilitar o brindar algún tipo de servicio extra, sino 
que además piensen directamente en las personas y las circunstancias en las cuales estas se puedan 
encontrar, y que por medio de la interacción con la plataforma, la realización de cierta tarea, les 
resulte mucho más cómoda. 
 3 
1.1 Planteamiento del problema 
El realizar trámites de manera presencial tiene la desventaja de que se tiene que invertir mucho 
tiempo, además de tener que desplazarse al lugar físicamente, aunque por otro lado brinda la ventaja 
de que garantiza (si el tramite así lo requiere) que la persona interesada es quien realmente realiza 
el trámite.En especial, el trámite de la continuidad del pago de pensiones (supervivencia) requiere que los 
interesados, que generalmente son personas mayores sean quienes personalmente tienen que 
trasladarse para realizar dicho trámite, lo que muchas veces además de ser engorroso, es difícil para 
éstas por cuestiones físicas, económicas u otras circunstancias. 
Por lo tanto, el problema que se presenta es que no se cuenta con ninguna alternativa real para la 
realización de este tipo de trámites de forma no presencial, como pudiera ser una aplicación Web, 
ya que esta alternativa permitiría un realización remota, y además es viable por el motivo de que 
hoy en día la mayoría de los hogares cuentan o tiene un fácil acceso a una computadora. Por otro 
lado no se debe olvidar que esta alternativa debe contar con un método de autentificación que 
garantice que la persona que está realizando el trámite sea realmente quien dice ser. 
El método de autentificación que se use debe ir más allá de una llave digital como la usada por las 
instituciones bancarias. Por ejemplo, se podría usar una autentificación basada en técnicas 
biométricas (reconocimiento facial, reconocimiento de voz, reconocimiento de iris, etc.). 
Específicamente llama la atención el reconocimiento facial, esto debido a que de esta forma se 
puede verificar que la persona que esté realizando el trámite es realmente quien dice ser, y que 
además en los últimos años esta rama de la biometría ha tenido un gran avance sobre otras. 
Estos avances también han sido variados, pues se tiene reconocimiento de rostros en dos y tres 
dimensiones, detección y reconocimiento de rostros sobre video, entre otras. Todos estos métodos a 
su vez pueden ser desarrollados utilizando distintas técnicas (algoritmos), lo cual trae como 
resultado la posibilidad de implementar sistemas de reconocimiento que respondan a distintos 
objetivos establecidos. 
También se recurre a esta técnica sobre otras tomando en cuenta que hoy en día la mayoría de las 
computadoras cuenta con una cámara bastante capaz de tomar una imagen que sirva para el proceso 
del reconocimiento facial, lo cual no implicaría gastos extras, como lo serian un lector de huellas 
digitales u otros dispositivos, lo cual la hace una técnica más atractiva y eficaz. 
El desarrollar una aplicación Web tomando en cuenta este problema, no solo debe presentar las 
ventajas clásicas de una plataforma de este tipo, sino que además debe pensar directamente en el 
usuario final y las condiciones en las que este se encuentre, para así proporcionarle una alternativa 
que permita la realización de trámites y consulta de información de forma remota. 
Al tener una aplicación con este enfoque, y conociendo que los encargados de la gestión de tramites 
a pensionados son las instituciones públicas, como lo son el IMSS, el ISSSTE, etc. La 
implementación de una aplicación Web debe considerar las herramientas y estándares que estas 
instituciones tomen en cuenta para el desarrollo de sus plataformas en Internet. 
 4 
Si bien, la mayor parte del sector de los pensionados pertenecen a la tercera edad, esto no representa 
ningún problema para la implementación del sistema, ya que estudios del INEGI en 2011 y 2012 
muestran que el 11.2% de los usuario del internet eran mayores a 45 años [1] y en 2012 este mismo 
sector de la población era el 13% de la los usuarios de internet en México [2] como se ve en las 
figura 1, esto nos dice que el sector al que va dirigida nuestra aplicación se está integrando cada vez 
más a esta tecnología llamada Internet. 
Por otra parte si el caso fuera que el pensionado no tuviera ningún conocimiento ni experiencia con 
el uso de computadoras o internet, este podría recibir ayudar de alguna otra persona, pues la 
plataforma solo necesita corroborar (por medio de la autentificación) que el pensionado está 
presente. 
 
Figura 1 Estudio del uso de internet en México en 2011 y 2012 por el INEGI 
Así pues ¿Por qué no desarrollar una alternativa para la realización de trámites y consulta de 
información para pensionados, tomando en cuenta todo lo dicho anteriormente? 
1.2 Objetivos 
1.2.1 Objetivo General 
Desarrollar una aplicación Web con autentificación biométrica basada en reconocimiento facial, que 
permita a determinada institución administrar trámites e información relacionada con los 
pensionados. 
1.2.2 Objetivos Particulares 
 Investigar y seleccionar los trámites e información relacionada con los pensionados. 
 Realizar el análisis y diseño del sistema de trámites para pensionados. 
 Investigar y comparar los distintos algoritmos de reconocimiento facial. 
 Elegir el algoritmo encargado del reconocimiento facial. 
 Desarrollar la Base de Datos que contendrá la información. 
 Implementar el sistema de reconocimiento facial como método de autentificación vía Web. 
 Implementar la aplicación Web. 
 Probar el sistema como un conjunto. 
0
5
10
15
20
25
30
6 a 11 12 a 17 18 a 24 25 a 34 35 a 44 45 a 54 55 -
P
o
r
c
e
n
t
a
j
e
 
Edad 
Año 2011
Año 2012
 5 
1.3 Propuesta de solución 
Después de haber planteado el problema, se pretende dar solución a éste con el desarrollo de una 
aplicación Web que permita la realización de trámites y consulta de información de pensionados, y 
que además cuente con una autentificación por medio de reconocimiento facial, cabe señalar que la 
información utilizada en los trámites de los pensionados es de acceso restringido, por lo tanto, se 
diseñará e implementará una base de datos que simule el manejo de estos trámites. Las 
consideraciones que se tomarán para el desarrollo de esta base de datos estarán basadas en las 
investigaciones de campo del lugar donde se realizan éstos trámites. 
Para la implementación de esta aplicación, lo primero que se realizará es un análisis tanto de los 
distintos métodos y algoritmos enfocados al reconocimiento facial, así como de cuáles son las 
herramientas para desarrollo de aplicaciones Web utilizadas por las instituciones hacia las cuales va 
enfocada esta plataforma. 
Dentro de la investigación de los distintos algoritmos enfocados al reconocimiento facial, se hará 
una comparación de éstos considerando parámetros de: eficiencia, complejidad, ventajas, 
debilidades, etc. Esto tomando en cuenta las características de los equipos que se encargarán de la 
adquisición de la imagen con la cual se realizará el proceso de reconocimiento (cámaras web), esto 
con el objetivo de que la interacción entre el equipo de adquisición y la implementación del 
algoritmo sea lo más eficiente posible. 
Uno de los puntos a destacar en el análisis para la elección del algoritmo, es tomar en cuenta el 
entorno en el cual se hará la adquisición de la imagen que servirá para el reconocimiento facial. Si 
bien a la hora del registro se pudiera tener un entorno controlado como pudiera ser una iluminación 
y un fondo adecuado, una posición frontal de la cara y reducir al mínimo las expresiones. Sabemos 
que es muy probable que cuando el pensionado este interactuando con la aplicación, las condiciones 
no serán ni controladas, ni iguales para todos, ya que se tendrá diferente iluminación, diferentes 
fondos etc. 
Tomando en cuenta que las imágenes brindadas por las cámaras web actuales cuentan con una 
calidad bastante aceptable, el problema de tener un entorno no controlado se pretende atacar desde 
dos vertientes. Una de las posibles soluciones es someter las imágenes a un pre-procesamiento 
(normalización), de forma que nos ayude a adecuarlas lo más posible para que se lleve a cabo el 
proceso de reconocimiento. En la figura 2, se muestra la comparación de los algoritmos de: PCA 
(Principal Components Analysis), DCT (Discrete Cosine Transform) y LPP (Locality Preserving 
Projections), en donde se considera el problema del cambio de iluminación y como se trata de 
resolver con la normalización de las imágenes. 
La otraalternativa que se ha tomado en cuenta para combatir los efectos de un entorno no 
controlado es entrenar a nuestro sistema (si el algoritmo así lo requiere por ejemplo PCA, LPP) con 
una gama de imágenes que presenten la mayoría de estas posibles variaciones en el entorno, para 
que así nuestro sistema responda de una manera más adecuada a estas condiciones. 
 6 
 
Figura 2 Tasa de identificación correcta para el caso de cambios de iluminación utilizando normalización de las 
imágenes [10] 
Dos de los puntos principales respecto al procesamiento de la imagen que servirá para el 
reconocimiento son: el trabajo de normalización sobre la imagen, así como el número de 
componentes que el sistema de reconocimiento devolverá, para que a partir de éstos crear un vector 
característico y buscarlo en la base de datos. Considerando estos aspectos, la elección del algoritmo 
estará basada en que el algoritmo tenga balance entre una respuesta rápida y una buena tasa de 
eficiencia. En la figura 3 se muestra un ejemplo de los tiempos correspondientes para los algoritmos 
PCA, DCT y LPP. 
 
Figura 3 Eficiencia computacional para un reconocimiento individual en función del número de componentes 
utilizado [10] 
Una vez que hemos tomado en cuenta distintas consideraciones sobre los problemas que presenta el 
reconocimiento facial, se pretende hacer una investigación de las principales categorías de 
algoritmos enfocados al reconocimiento y a partir de esta, decidir cuál es el más adecuado tomando 
en cuenta las condiciones bajo las cuales se realizará el reconocimiento. 
Por parte de las herramientas a utilizar para el desarrollo de la aplicación Web, se hará una 
investigación previa de las tecnologías de software existentes con las cuales las instituciones ya 
cuentan. Una vez que se estudien las herramientas con las cuales se podría desarrollar el sistema y 
 7 
se analicen sus ventajas y desventajas, se tomará la decisión acerca de cuáles serán las más 
adecuadas para el desarrollo del sistema propuesto. Para el caso del software para la manipulación 
de los datos, se utilizará alguno de los manejadores de bases de datos comerciales, tales como: 
MySQL, Postgres, SQL Server y Oracle. La decisión acerca de cuál de estos gestores de bases de 
datos utilizar se realizará después de haber analizado los requerimientos del sistema, pues depende 
de la cantidad de información y nivel de concurrencia que tendrá. Pues cada uno de estos 
manejadores tiene distintas características funcionales, las cuales también se deben de analizar para 
tomar una decisión. 
Así pues en la figura 4 se muestra a grandes rasgos el funcionamiento de nuestra aplicación. 
 
Figura 4 Descripción de la aplicación Web 
Como ya se mencionó anteriormente, la autenticación de la aplicación Web será usando 
reconocimiento facial, sabemos que este proceso se basa en una adquisición de imagen, a la cual 
se le somete a un procesamiento definido por el algoritmo, para a partir de este poder obtener ciertas 
características específicas que definen a una persona. Estas características deberán estar 
almacenadas en una base de datos, la cual contenga las características de todos los usuarios que 
interaccionarán con la aplicación. 
La aplicación contará con un módulo en el cual el administrador tendrá la facultad de registrar 
nuevos usuarios y agregarlos a la base de datos, este proceso se describe gráficamente en la figura 
5. 
 
Figura 5 Diagrama de registro de usuario 
Una vez que se tenga la base de datos con las características específicas de los usuarios, el proceso 
para que cada uno de estos acceda a la aplicación será el siguiente: 
 8 
Lo primero que se realizará al igual que en el registro será la adquisición de una imagen por medio 
de la cámara Web, esta imagen será procesada de acuerdo al algoritmo usado, para obtener de igual 
forma las características específicas del usuario. Una vez que se cuente con estas características, se 
enviarán en modo de consulta a la base de datos, para buscar si hay algún registro que cuente con 
dichas características iguales o similares, esto con un cierto umbral de aceptación. 
Si el resultado de dicha consulta es positivo, el usuario que está intentando autentificarse podrá 
acceder a la aplicación e interactuar con esta, este proceso descrito se describe gráficamente en la 
figura 6. 
 
Figura 6 Proceso de interacción con la aplicación 
Cuando se haya realizado la recopilación y análisis de requerimientos será posible identificar a los 
distintos actores que interactuarán en el sistema. A partir de esto se procederá al modelado del 
sistema, con lo que se obtendrán los diagramas UML, los cuales especificarán las actividades que 
realizará el sistema. 
Así mismo conocer los escenarios y/o casos de uso de cada uno de los actores involucrados. Hasta 
el momento sólo se tienen contemplados a dos tipos de actores: los pensionados y el administrador. 
Una vez explicada la solución propuesta, este proyecto se limitará a realizar la autentificación de los 
usuarios (pensionados) desde la aplicación web y por consiguiente que estos puedan realizar 
determinados trámites. Así mismo, se manejará el concepto de sesiones de usuario para que éstos 
tengan acceso a diferentes partes del sistema dependiendo su perfil. 
También, se dará soporte a 2 trámites adicionales al de supervivencia. Cabe señalar que para 
conocer cuáles de estos trámites se les dará soporte, es necesario llevar a cabo un análisis de cada 
uno de los trámites y así poder recabar los requerimientos y a partir de aquí delimitar el sistema a 
aquellos trámites que sean factibles de realizar en la aplicación web. 
 9 
CAPITULO II Estado del Arte 
2.1 Antecedentes 
2.1.1 Sistema web para la administración del capital humano del centro de investigación en 
computación del IPN 
Este trabajo corresponde a una Trabajo terminal realizado en la Unidad Profesional 
Interdisciplinaria en Ingenierías y Tecnologías Avanzadas, el cual consistió en la realización de un 
sistema web basado en una arquitectura cliente-servidor y apoyada en un servidor de base de datos. 
Lo que trató resolver fue el control de asistencia dentro del CIC, así como las actividades realizadas 
por cada integrante de cada departamento del CIC [3]. Todo esto fue realizado bajo un entorno 
Web, es por eso que lo mencionamos, ya que al igual que nosotros, este trabajo pretende brindar 
una plataforma que permita gestionar personal. 
2.1.2 Plataforma de seguridad por medio de autentificación biométrica usando 
reconocimiento de iris, aplicado a un sitio web 
Es un trabajo terminal realizado en la Unidad Profesional Interdisciplinaria en Ingenierías y 
Tecnologías Avanzadas, el cual consistió en la realización de una autenticación biométrica basada 
en reconocimiento de iris para el acceso de un sitio web, la diferencia más grande con nuestro 
proyecto es que en este, solo se enfocan a crear el método de autentificación que podría ser aplicado 
a un entorno Web, en el cual se necesita adquirir un equipo especial, mientras que nosotros 
proponemos además de un método biométrico diferente, la implementación de toda la plataforma 
Web [4]. 
2.1.3 Sistema prototipo para el control de asistencia por reconocimiento facial 
Es un trabajo terminal realizado en la Unidad Profesional Interdisciplinaria en Ingenierías y 
Tecnologías Avanzadas, el cual consistió en la realización de una autenticación biométrica para el 
paso de asistencia. La diferencia más grande con nuestro proyecto es que en este solo se enfocan a 
crear una propuesta para un control de asistencia, nunca una implementación [5]. 
 
 10 
CAPITULO III Marco Teórico 
3.1 Lenguajes de Programación Enfocados al Desarrollo de Sistemas Web 
Como ya se estableció anteriormente, la arquitectura del sistema estará basada en el modelo cliente-
servidor, por lo cual el análisis de los lenguajes de programación tomarádos vertientes distintas, el 
lenguaje de programación usado en el lado del cliente y el usado en el lado de servidor. 
3.1.1 Lenguajes de Programación del lado del Servidor 
Hoy en día, el número de herramientas con las cuales podemos desarrollar nuestro sistema Web en 
el lado del servidor son muy amplias, por lo tanto se procede a documentar cada una de éstas, para 
identificar su campo de acción así como sus posibles ventajas y desventajas sobre otros lenguajes. 
3.1.2 ASP.net (Active Server Pages) 
Es una tecnología propietaria de Microsoft Corporation enfocada al desarrollo de sitios Web 
dinámicos. Los sitios Web desarrollados utilizando esta tecnología deben correr bajo el servidor 
Web ISS (Internet Information System). 
ASP no necesita ser compilado para ejecutarse. Existen varios lenguajes de programación para crear 
paginas ASP, el más utilizado es VBScript nativo de Microsoft.ASP, aunque también se puede 
utilizar Perl o JScript. El código ASP puede ser insertado junto con código HTML. 
Ventajas: 
 Completamente orientada a objetos 
 Controles de usuario personalizados 
 División entre capas del sistema 
 Facilita el mantenimiento de grandes aplicaciones 
 Incrementa la seguridad (respecto a versiones anteriores) 
 
Desventajas: 
 Un alto consumo de recursos 
 Software propietarios 
 Hospedaje de sitios costosos 
3.1.3 JSP (Java Server Pages) 
Es una tecnología desarrollada originalmente por Sun Mycrosystems (adquirida por Oracle en 
2009) enfocada al desarrollo de aplicaciones Web dinámicas basadas en código XHTML. Los sitios 
Web desarrollados bajo esta tecnología necesitan correr bajo un servidor Web compatible con 
contenedores servlets como Apache Tomcat o Glasfish. 
El lenguaje de programación que utilizan los JSP es java, por lo que todo JSP necesita ser 
compilado, lo que genera un alto desempeño que resulta más eficiente que otras tecnologías que 
ejecutan el código de una manera puramente interpretada. El código JSP puede ser insertado junto 
con código HTML. 
 11 
Cada JSP se ejecuta en su propio hilo, es decir, en su propio contexto; pero no se comienza a 
ejecutar cada vez que recibe una petición, sino que persiste de una petición a la siguiente, de forma 
que no se pierde tiempo en invocarlo (cargar programa más intérprete). Su persistencia le permite 
también hacer una serie de cosas de forma más eficiente: conexión a bases de datos y manejo de 
sesiones, por ejemplo. 
Ventajas: 
 Código separado de la lógica del programa 
 Permite separar la parte estática del sitio de la dinámica 
 Velocidad de ejecución 
 Multiplataforma 
 Open Source 
Desventajas: 
 El desarrollo de interfaces requiere mucho código 
 Es más difícil de aprender comparado con otras tecnologías 
 
3.1.4 Python 
Es un lenguaje de programación creado en el año 1990 por Guido van Rossum, es el sucesor del 
lenguaje de programación ABC, Python es un lenguaje interpretado cuya filosofía hace hincapié en 
una sintaxis limpia y que a su vez favorezca un código legible. 
Se trata de un lenguaje de programación multi-paradigma, ya que soporta: 
 Programación orientada a objetos. 
 Programación estructurada. 
 Programación funcional. 
 Programación orientada a aspectos. 
 
Ventajas: 
 Open Source 
 Es de propósito general 
 Gran cantidad de funciones y librerías 
 Multiplataforma 
 
Desventajas: 
 Lentitud de ejecución (por ser un lenguaje interpretado) 
3.1.5 PHP (acrónimo recursivo que significa “PHP Hypertext Pre-processor”) 
Surgió en 1995, desarrollado por PHP Group. Es un lenguaje de programación enfocado para la 
creación de sitios web. PHP es un lenguaje de script interpretado en el lado del servidor utilizado 
para la generación de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el 
servidor. 
http://es.wikipedia.org/wiki/Int%C3%A9rprete_(inform%C3%A1tica)
 12 
Para su funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La mayor 
parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas. 
Ventajas: 
 Fácil de aprender 
 Soporta en cierta medida la orientación a objetos (Herencia y Clases) 
 Multiplataforma 
 Open Source 
 Contiene un gran y diverso número de funcionalidades 
 Código invisible para el navegador 
 
Desventajas: 
 Todo el procesamiento se delega al servidor 
 Dificulta el desarrollo basado en capas 
 Lentitud de ejecución (por ser un lenguaje interpretado) 
3.1.6 Ruby 
Desarrollado en el 1993 por el programador japonés Yukihiro Matsumoto. Es un lenguaje 
interpretado de alto nivel y orientado a objetos. Su sintaxis está inspirada en Phyton y Perl. Es 
distribuido bajo licencia de software libre (Open source). 
Ventajas: 
 Multiplataforma 
 Permite un desarrollo rápido 
 Open Source 
 Portabilidad 
 Orientado a objetos 
 
Desventajas: 
 La integración con la mayoría de los servidores Web no es sencilla 
 Poca información comparada con los recursos de otros lenguajes 
3.2 Lenguajes de Programación del lado del Cliente 
En este caso las herramientas con las que se puede contar son más limitadas, pero aun así vale la 
pena mencionarlas y saber las características de cada una de ellas. Se hace hincapié en esto por el 
motivo de que una presentación sencilla y con apariencia atractiva resulta más cómoda para el 
usuario. Además de que con este tipo de programación se puede evitar cierto trabajo para el 
servidor, por ejemplo si un numero de seguridad social constara de 10 número y el usuario por 
accidente u otra razón ingreso nueve, esos caracteres no viajaran al servidor si desde el lado del 
cliente se está validando que al menos el número de seguridad social que se está enviando no cuenta 
con el formato requerido. 
 13 
3.2.1 HTML (HyperText Markup Language) 
Desde el surgimiento de internet se han publicado sitios web gracias al lenguaje HTML. Es un 
lenguaje estático para el desarrollo de sitios web. Desarrollado por el World Wide Web Consortium 
(W3C). HTML le indica al navegador donde debe ir colocando los elementos que el sitio contiene. 
Ventajas: 
 Presenta una estructura organizada y agradable 
 Fácil de aprender 
 Admitido por todos los navegadores 
 El tamaño de archivos es pequeño 
 
Desventajas: 
 Su interpretación puede variar dependiendo cada navegador 
 
3.2.2 JavaScript 
Este es un lenguaje interpretado, utilizado principalmente en páginas web. La mayoría de los 
navegadores en sus últimas versiones interpretan código Javascript. 
El código Javascript puede ser integrado dentro de páginas web. Para evitar incompatibilidades, la 
W3C diseño un estándar denominado DOM (Modelo de Objetos del Documento). Suele utilizarse 
para realizar pequeñas funciones dentro del sitio Web. 
Ventajas: 
 La carga del procesamiento es realizada en el cliente 
 
Desventajas 
 El código lo puede ver cualquier usuario 
 El código debe descargarse completamente 
3.2.3 CSS (Cascading Style Sheets) 
Las hojas de estilo en cascada hacen referencia a un lenguaje de hojas de estilos usado para 
describir la presentación semántica (el aspecto y formato) de un documento escrito en lenguaje de 
marcas. Su aplicación más común es dar estilo a páginas webs escritas en lenguaje HTML y 
XHTML. 
3.3 Gestores de Bases de Datos. 
La Base de Datos en un sistema es una pieza fundamental para su correcto funcionamiento, por esto 
es útil hacer una investigación sobre los distintos gestores bases de datos que existen, para así tomar 
una decisión de cuál será el gestor a utilizar, el cual que almacenará la información del sistema. 
A continuación mencionaremos brevemente las características principales de los gestores de bases 
de datos más comunes. 
 14 
3.3.1 Microsoft SQL Server 
Es producido por Microsoft y es un sistema para la gestión del sistema basado en el modelo 
relacional, la primera versión fue sacada en 1989 y a partir de esemomento ha ido tomando gran 
popularidad por su buen manejo de información. 
Sus características principales son: 
 Capaz de realizar transacciones 
 Llaves foráneas, procedimientos almacenados y triggers 
 El entorno desde el cual puedes administrar la información es de modo grafico 
 Permite trabajar de manera Cliente-Servidor, siendo el servidor quien aloja toda la 
información y el cliente puede consultarla 
 Solo puede ser instalada en un Sistema operativo Microsoft Windows 
3.3.2 MySQL 
Es un sistema gestor de datos basado en el modelo relacional, es de software libre y es desarrollado 
desde el 2009 por Oracle Corporation y Sun Microsystems. 
Sus características principales son: 
 Compatible para cualquier sistema operativo. 
 Llaves foráneas, procedimientos almacenados, funciones y triggers. 
3.3.3 Oracle 
Sistema gestor de base de datos basado en el modelo relacional, es creado por Oracle Corporation. 
Sus características principales son: 
 Compatible con todos los sistemas operativos comunes 
 Soporte de transacciones 
 Estabilidad 
 Escalabilidad 
 Ayuda a analizar datos y efectuar recomendaciones para mejorar el rendimiento y la 
eficiencia en el manejo de los datos. 
3.3.4 PostgreSQL 
Es un sistema gestor de base de datos basado en el modelo relacional, se empezó a desarrollar en 
1982. 
Sus características principales son: 
 Alta concurrencia 
 Permite el uso de triggers, procedimientos almacenados, llave foránea y funciones vistas. 
 Uso de transacciones 
 Soporte de transacciones distribuidas 
 Compatible con todos los sistemas operativos comunes 
 15 
3.4 Procesamiento Digital de Imágenes. 
Una imagen digital es una representación bidimensional de una imagen, esto es posible por medio 
de una matriz numérica la cual contiene la información necesaria para la representación de la 
imagen, pero antes de detallar esta información, es necesario saber que el tamaño de la matriz que 
representa la imagen define la resolución de la misma, esto lo podemos ver como si la matriz fuera 
una rejilla que se pondrá por encima de la imagen y esta dividirá la imagen en pequeños cuadros, 
estos cuadros serán llamados pixeles y contendrán una información del color que se le fue asignado. 
Por esta rejilla a la imagen digital se le conoce como la representación de una imagen en mapa de 
bits. Esto se puede ver más claro en la figura 7. Donde se muestran dos figuras las dos con el 
mismo número de pixeles, y la gran diferencia entre las dos es solo que el tamaño de la imagen es 
más pequeño pero en si la imagen contiene el mismo número de pixeles. 
 
Figura 7 Mapas de bits de una imagen distinto tamaño de pixel 
Una vez que sabemos que la información de una imagen digital está contenida en cada uno de sus 
pixeles es útil saber qué la información que almacena cada pixel es el color que tiene asignado y los 
colores que pueden ser almacenados dividen al mapa de bits en distintos tipos. 
A la capacidad de colores que pueden ser almacenados en un pixel se le conoce como profundidad 
de color y esta se puede observar de forma más clara en la figura 8. En la cual se muestra una tabla 
que señala los colores disponibles dependiendo el tamaño pixel que se desea utiliza, por ejemplo si 
seleccionamos un pixel con 4 bits esto nos da la posibilidad de utilizar 16 tipos de color estos en 
escala de grises, pero si se desea seguir manejando escala de grises utilizando una mayor diversidad 
de colores podremos usar pixeles de 8 bits. En los pixeles de 8 bits también podemos utilizar toda la 
distinta gama de colores que existen estos en una variedad de 256. 
Profundidad de color Colores Posibles Comentarios 
1 bit por pixel 2 Arte lineal (B&N). Modo mapa de bits 
4 bits por pixel 16 Modo escala de grises 
8 bits por pixel 256 Modo escala de grises. Modo color indexado. Cantidad estándar 
de colores que admiten los formatos GIF y PNG-8 
16 bits por pixel 65,536 High color 
24 bits por pixel 16,777,216 True Color. Modo RGB 8 bits por canal (8x3). Modo Lab 8 bits 
por canal 
32 bits por pixel 4,294,967,296 Modo CMYK 
 
Tabla 1 Profundidad de color 
 16 
En la figura 8 podemos observar la misma imagen pero modificando la profundidad de color en 
ella, con lo cual podemos apreciar cómo va cambiando la resolución de la imagen si en está hay un 
mayor número de colores. 
 
Figura 8a) Imagen en blanco y negro; b) Imagen con 16 colores distintos; c) Escala de grises con 256 tipos de color 
en escala de grises; d) Escala de grises con 256 tipos de colores; e) Imagen full color (gran variedad de colores) 
Por último mencionaremos que si la imagen fuera a color, la información que se almacenaría en 
cada pixel vendría dada por una fila de valores que dictan los niveles de colores básicos que tiene el 
pixel, es decir, el rojo, verde y azul, de tal forma que si llamamos a un pixel como D, este estaría 
compuesto por D= (Rojo, verde y azul) y estos valores vendrían dados desde la escala de un pixel 
de 8 bits el cual nos daría una variabilidad de 256 tipos de escalas es decir de 0 al 255. 
Una vez visto las características esenciales de una imagen digital, podemos mencionar los distintos 
tipos de procesamiento de imagen los cuales son muy variados y de los cuales mencionaremos los 
más importantes y los que se pretenden utilizar. 
Los tipos de modificaciones que se le pueden hacer a la imagen generalmente son de 3 tipos los 
cuales son: modificación de color, modificación de imagen y generación de efectos. De las cuales 
empezaremos a hablar de la más sencilla la cual es la de modificación de imagen. 
3.4.1 Modificación de imagen 
Esta técnica consiste en cambiar la posición de los vectores sin cambiar la información que 
contienen y de este tipo de imagen se derivan 3 esencialmente: 
Escalamiento (Scale) 
Este tipo de procesamiento consiste en cambiar el tamaño de la imagen, esto se obtiene quitando 
algunos pixeles si es que se desea una reducción y si es que se desea una ampliación se calcula un 
aproximamiento de colores dependiendo los valores que lo rodean. 
 
 
 
 17 
Modificación de colores 
Estos tipos de procesamiento de imagen consisten en cambiar la información que contiene cada 
pixel haciendo un cambio en sus niveles de cada color. Este tipo de procesamiento tiene varios tipos 
de los cuales los más importantes son: 
Escala de grises (grayscale) 
Como ya se sabe el pixel está conformado por tres atributos (R, G, B) y para que estos sigan la 
escala de grises que se desea es necesario que cada pixel sea de la estructura pixel=(R, G, B) = (1, 1, 
1) hasta (255, 255, 255).Un ejemplo de este procesamiento de imagen se puede ver en la figura 9, y 
la forma de calcular este valor, será dado por la ecuación 
 
 
 
: 
Ecuación 1 
 
Figura 9 a) Imagen Original; b) Misma imagen con procesamiento de escala de grises 
Brillo 
Esto consiste en que ya conocida la información del pixel restar o sumar una constante y si restas el 
brillo disminuye y si suma el brillo va a aumentar y en la figura 11 se muestra una suma de 
constante y se ve que el brillo aumenta. 
 
Figura 10 a) Imagen original; b) Misma imagen aplicándole brillo 
 
 
 18 
Contraste 
Esto consiste en variar la información del pixel de tal forma que el al variar los valores R, podrás 
manejar el contraste de la imagen, pero así mismo si mueves la información del campo R sus demás 
campos de información se verán afectados. Un ejemplo de este procesamiento de imagen se puede 
apreciar en la figura 11. 
 
Figura 11 a) Imagen original; b) Misma imagen aplicándole contraste 
Modificación de Colores 
Dada la información del pixel lo que hace este procesamiento es dar tres constantes distintas las 
cuales se sumarán o se restarán a la información del pixel, en la figura 12 se muestra este 
procesamiento aumentando los atributos R y B del pixel y el atributo G será disminuido, es decir, 
los valoresen tonos sus tonos verdes son disminuidos. 
 
Figura 12 a) Imagen original; b) Misma imagen aplicándole modificación de colores 
3.5 Principales Metodologías Enfocadas al Reconocimiento Facial 
Cabe señalar que la presente información fue obtenida del documento [6], el cual nos sirvió para 
entender los algoritmos para el reconocimiento facial. 
Si bien existen dos enfoques de metodologías enfocadas a la tarea del reconocimiento facial (los 
cuales son los basados en modelos bidimensionales o tridimensionales, y los basado en la 
apariencia) en este trabajo nos enfocaremos a las metodologías basadas en la apariencia, esto por el 
motivo de que esta vertiente es la que cuenta con mayor documentación y desarrollo, además de que 
tienen la ventaja de que el procesamiento requerido comparado con una metodología basada en 
modelo es mucho menor, lo que resulta en un menor tiempo de respuesta. 
 19 
Todos estos algoritmos necesitan una imagen fija de una cara con determinadas características, para 
que a continuación el algoritmo se encargue de representar dicha imagen en un sub-espacio 
vectorial en forma de un punto, en donde lo compara con las imágenes ya procesadas, para así 
poder tomar una decisión sobre la identidad de la persona. 
Proceso general de los algoritmos de reconocimiento facial: 
1. El sistema utiliza un cierto número de imágenes determinadas para proyectarlas en 
el nuevo sub-espacio vectorial, para que estas después sean las encargadas de 
determinar si cierta imagen pertenece a alguna persona en específico. 
2. Las imágenes que se quieren reconocer se proyectan en el sub-espacio vectorial y 
por medio de algún clasificador se determina la identidad de la persona. 
 
A continuación se desarrollan los principales algoritmos enfocados al reconocimiento de facial. 
3.5.1 PCA (Principal Component Analysis) 
PCA es un método que transforma un número de variables posiblemente correladas en un pequeño 
número de variables no correladas llamadas componentes principales, es decir, es un algoritmo de 
reducción dimensional que permite encontrar los vectores que mejor representan la distribución de 
un grupo de imágenes. 
PCA está basado en la Transformada de Karhunen-Loeve (KLT), que consiste en la representación 
de un proceso estocástico no periódico a través de una base de vectores obtenidos complet 
 . 
El objetivo de este método consiste en representar una imagen en términos de un sistema de 
coordenadas óptimo reduciendo e 
 
Figura 13 PCA de un conjunto de puntos bidimensionales 
3.5.2 DCT (Discrete Cosine Transform) 
La DCT es una transformación que representa una secuencia finita de datos como la suma de una 
serie de funciones cosenoidales oscilando a diferentes frecuencias. Esta técnica es muy utilizada en 
aplicaciones de procesado de señal, desde compresión de audio e imágenes hasta métodos 
espectrales para la solución numérica de ecuaciones diferenciales. 
 20 
La DCT es utilizada para obtener características de la imagen y luego usarlas para poderlas 
clasificar, como se hace con PCA. A diferencia de PCA, este método no necesita ser entrenado con 
imágenes del mismo tipo a las que se van a usar sino que simplemente se transforman directamente 
las imágenes, es decir, la base de la transformación es independiente de las imágenes. Otra de sus 
ventajas es su bajo coste computacional. 
 
Figura 14 Utilización de la DCT por bloques para clasificar una imagen 
3.5.3 LDA (Linear Discriminant Analysis) 
LDA tiene como objetivo convertir un problema de alta dimensionalidad en uno de baja. Para ello 
LDA proyecta los datos (imágenes) en un espacio vectorial de baja dimensionalidad de manera que 
la ratio entre la distancia entre clases y la distancia dentro de la clase se maximiza. De este modo se 
garantiza una máxima discriminación entre las clases. 
A diferencia de PCA, que es un método de reducción dimensional sin supervisión, LDA sí que es 
supervisado y utiliza información de los datos. 
 
Figura 15 Comparación de la proyección de 2 clases en PCA y LDA 
3.6 Herramientas computacionales enfocadas al reconocimiento facial 
Esta parte de la investigación se enfocará a la documentación de las distintas herramientas que 
existen y que sirven como apoyo y optimización al procesamiento de imágenes, que a su vez 
desemboca en un mejoramiento al proceso del reconocimiento facial. 
 21 
En este último par de años hemos visto el surgimiento de dispositivos que incorporan módulos de 
reconocimiento facial como una de sus funciones más novedosas, ejemplos de esto es el método de 
desbloqueo del teléfono galaxy S4 en el cual el usuario debe mirar hacia la cámara del dispositivo y 
por medio de un registro previo y de una comparación con este registro el teléfono decide si es el 
usuario y lo desbloquea. Otro dispositivo el cual en principio no contaría con un módulo de 
reconocimiento facial por motivos de seguridad, pero hoy gracias a distintos desarrolladores es un 
hecho, son los Google Glass el cual al reconocer el rostro de una persona, la buscara en los 
contactos y podrá mostrar distinta información relacionada. 
Así pues a continuación se presentan algunas de las herramientas enfocadas al reconocimiento 
facial que parecieron más interesantes sobre otras: 
3.6.1 OpenCV 
Es una biblioteca enfocada a la visión artificial, fue originalmente desarrollada por Intel. OpenCV 
fue liberado bajo una licencia BSD y por lo tanto puede ser utilizada para fines comerciales o 
educativos. Una de las mayores ventajas de esta biblioteca es que es multiplataforma pues es 
compatible con Windows, Linux, MacOSX, iOS y Android, además cuenta con interfaces para 
C++, C, Python y Java. Fue desarrollada pensando en una alta eficiencia computacional y con un 
alto enfoque para aplicaciones en tiempo real. 
OpenCV cuenta con una comunidad mayor a las 47 mil personas las cuales comparten 
documentación, experiencias y preguntas, además las descargas de esta biblioteca han superado los 
6 millones. Cuenta con más de 500 funciones que abarcan una gran gama de áreas de la visión 
artificial como la calibración de cámaras, el reconocimiento de objetos, visión robótica entre otras. 
3.6.2 EmguCV 
E CV v v (“w ”) b b O CV 
implementada en el framework de .NET, lo que trae como resultado que se puedan llamar todas las 
funciones pertenecientes a OpenCV desde un entorno .NET, como lo pueden ser lenguajes de 
programación C#, Visual Basic, Visual C++, Iron Python etc. Y al igual que OpenCV puede ser 
implementado en Windows, Linux, MacOSX, iOS y Android. 
EmguCV está desarrollada en C# y cuenta con algunas ventajas que OpenCV no cuenta como lo es 
la recolección automática de basura. 
3.6.3 AForge.NET 
AForge.NET es un framework Open Source de C# enfocado a la visión por computadora y a la 
inteligencia artificial, con campos de acción muy amplios como lo son el procesamiento de 
imágenes, las redes neuronales artificiales, la lógica difusa, robótica, etc. 
El framework está compuesto básicamente por las siguientes bibliotecas: 
 AForge.Imaging: Biblioteca que contiene rutinas y filtros aplicables al procesamiento de 
imágenes. 
 AForge.Vision: Biblioteca enfocada a la visión artificial por computadora 
 AForge.Video: Biblioteca enfocadas al procesamiento de video 
 AForge.Neuro: Biblioteca enfocada a las redes neuronales artificiales 
 22 
 AForge.Genetic: Biblioteca enfocada a los algoritmos genéticos 
 AForge.Fuzzy: Biblioteca enfocada a la lógica difusa 
 AForge.Robotics: Biblioteca enfocada a algunos kits de robótica 
 AForge.MachineLearning: Biblioteca a las máquinas de aprendizaje 
 
AForge cuenta con una amplia documentación y distintos foros donde los usuarios pueden 
intercambiar opiniones e información. 
3.6.4 Matlab 
Matlab es unlenguaje de alto nivel que cuenta con un entorno interactivo para el cálculo numérico, 
la visualización y la programación. Mediante Maltab, es posible analizar datos, desarrollar 
algoritmos y crear modelos o aplicaciones. [7] Además cuenta con un gran número de funciones 
que ayudan a las principales tareas de los algoritmos enfocados al reconocimiento facial. 
 
 
 23 
CAPITULO IV Análisis y Diseño 
Al pretender desarrollar el presente proyecto, es necesario contar con una metodología que nos 
indique como debe ser el desarrollo de esta plataforma (software). Si bien existen distintos modelos 
a seguir como lo son: 
 Modelo de cascada 
 Modelo de espiral 
 Modelo iterativo e incremental 
 
Llama particularmente la atención el modelo RUP (Rational Unified Process) por el hecho de que 
es un modelo genérico adaptable a las necesidades del desarrollo en cuestión, además de que ayuda 
a identificar todas las etapas del desarrollo del sistema como lo son el planteamiento del sistema, el 
análisis de requerimientos, el análisis y diseño del sistema, la implementación, pruebas del software 
como conjunto y la afinación del mismo. Dentro de estas etapas mencionadas, y bajo el eje 
horizontal del diagrama que representa el tiempo se pueden manejar determinado número de 
iteraciones dentro de la misma etapa, esto resulta bastante conveniente pues en la mayoría de las 
etapas se necesita re-analizar y volver a definir ciertos aspectos del proyecto. 
 
Figura 16 Esquema del proceso que conlleva RUP 
4.1 Investigación y selección de los distintos trámites a realizar en la 
plataforma 
El objetivo principal de este proyecto terminal es brindar una plataforma Web que permita a 
determinada institución gestionar trámites e información relacionada con los pensionados. Es por 
eso que un paso inicial debe ser el de determinar cuál será la institución para la cual se desarrollará 
esta plataforma. 
Las dos instituciones más grandes que soportan a los pensionados son el IMSS (Instituto Mexicano 
del Seguro Social) y el ISSSTE (Instituto de Seguridad y Servicios Sociales de los trabajadores del 
Estado), por lo cual el proceso de selección quedara entre estas dos, si bien existen algunas otras 
instituciones que dan soporte a los pensionados como el ISSEMYM (Instituto de Seguridad Social 
 24 
del Estado de México y Municipios) estas por ser nuevas o no tener un gran número de afiliados 
como las mencionadas anteriormente, no brindan de manera fácil la información que nosotros 
requerimos para la elaboración del sistema. 
Lo dicho anteriormente se puede ejemplificar claramente en la Figura 17, donde se observa que 
estas dos instituciones cuentan con un número muy grande de pensionados, además de que con el 
paso de los años el número ha ido aumentando. 
 
Figura 17 Número de pensionados en México [8] 
Respecto a estas dos instituciones necesitaremos recopilar información sobre los distintos trámites 
que los pensionados realizan. Por lo tanto se llevó a cabo una investigación de campo tanto en una 
clínica del IMSS y una del ISSSTE. Obteniendo como resultado que en el sitio Web del IMSS se 
encuentra toda la información acerca de los trámites disponibles a los cuales los pensionados 
pueden tener acceso, desde cómo iniciar su proceso para pensión hasta un cambio de domicilio [9]. 
Todos éstos se detallan y especifican para que su proceso sea más rápido, lo cual es de gran utilidad 
para nosotros ya que nos brinda información necesaria para modelar nuestro sistema. Por otra parte 
en el sitio Web del ISSSTE solo se pueden encontrar estadísticas sobre sus pensionados, así como 
las leyes que los rigen [10]. Si se quisiera más información acerca de trámites, se nos solicitó acudir 
a oficinas centrales. 
Es por esto que decidimos desarrollar nuestro proyecto basados en los requisitos y modo de trabajo 
del IMSS, además de que esta institución es la líder en gestión y soporte a pensionados. 
Cabe destacar que el concepto de pensionado va mucho más allá de una persona de edad mayor, una 
persona asegurada por parte del IMSS puede estar pensionada bajo una de las siguientes 
circunstancias: 
 Incapacidad permanente 
 Invalidez 
 Cesantía en edad avanzada o vejez 
 Retiro 
 Viudez 
 Orfandad 
 
Así pues, ahora se puede definir una pensión como una prestación económica que se otorgará a un 
trabajador asegurado o a sus beneficiarios cuando este cumpla con las condiciones para solicitarla. 
Estas condiciones están descritas a detalle en la Ley del Seguro Social, sin embargo no se 
 25 
profundizará en este aspecto, ya que nuestro sistema trabajará o asumirá que las personas a las 
cuales se les brindara la oportunidad de realizar los trámites ya cuentan con una pensión de 
cualquier tipo de las antes mencionadas. 
En la sección de trámites del sitio Web del IMSS, específicamente en la sección de pensionados [9], 
se pueden consultar los distintos trámites a los cuales los pensionados tienen derecho, leyendo todos 
estos y analizando cuales pueden ser los más factibles y agiles para su realización vía Web, se 
eligieron algunos, esto sin dejar de lado el trámite de la supervivencia el cual fue la motivación 
principal para el desarrollo de este proyecto terminal. 
Antes de indicar cuáles serán los tramites que implementaremos en nuestro sistema, es necesario 
aclarar que es la credencial ADIMSS ya que posteriormente se mencionará en los requisitos de 
algunos trámites. La credencial ADIMSS es con la cual se identifican las personas como 
derechohabientes de esta institución. Tienen derecho a obtener su credencial ADIMSS tanto los 
asegurados en el IMSS como su familia nuclear (esposa o concubina, hijos). 
Los trámites seleccionados fueron los siguientes: 
4.1.1 Comprobación de supervivencia 
Clave del trámite: IMSS-01-024 
Descripción: 
Conforme a la Ley del Seguro Social, todas las personas que reciben pensión están obligadas a 
comprobar supervivencia en un periodo máximo de seis meses. 
La primera fecha de comprobación no debe exceder de seis meses a partir del primer mes de pago, 
al realizar la comprobación de supervivencia, se le entregará un comprobarte, el cual indica la 
próxima fecha máxima de comprobación de supervivencia. 
Requisitos: 
 Estar vigente en su calidad de pensionado 
 
El pensionado debe acudir personalmente, presentando la siguiente documentación: 
 Identificación oficial con fotografía y firma (credencial para votar, o cartilla del Servicio 
Militar Nacional, o pasaporte o, cédula profesional, o credencial ADIMSS, o cédula de 
identidad personal para menores de edad), tratándose de extranjeros pasaporte o Forma 
Migratoria, original y copia para cotejo. En caso de ser menor de 9 años de edad se aceptará 
como identificación la credencial escolar con fotografía vigente expedida por una 
institución educativa con registro del Sistema Educativo Nacional o documento con 
fotografía expedido por la Delegación o Municipio en donde se haga constar la identidad 
del menor. Original solo para cotejo 
 Documento que contenga el número de seguridad social expedido por el IMSS, 
INFONAVIT o AFORE, no necesario cuando presente la credencial ADIMSS. Original 
solo para cotejo. 
Nota: En el caso de pensión por orfandad y ascendientes deben acudir todos los Beneficiarios. 
 26 
Cuando el pensionado no pueda acudir al Módulo de Comprobación de Supervivencia por causas de 
fuerza mayor, podrá comprobar supervivencia con los siguientes documentos: 
 Constancia de internamiento en hospitales del IMSS expedida por Trabajo Social, con 
antigüedad de expedición hasta de 48 horas a la fecha de la solicitud. Este documento se 
queda en el expediente. 
 Constancia de internamiento en Centros de Readaptación con antigüedad de expedición 
hasta de 30 días naturales a la fecha de la solicitud. Este documento se queda en el 
expediente. 
 Nota médica elaborada en visita domiciliaria de médico

Otros materiales