Sistema de Detección de Mentiras

download Sistema de Detección de Mentiras

of 69

Transcript of Sistema de Detección de Mentiras

  • 8/17/2019 Sistema de Detección de Mentiras

    1/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    INSTITUTO TECNOLÓGICO DE IZTAPALAPA

    ING.MECATRONICA

    INFORME TÉCNICO DE RESIDENCIAPROFESIONAL

    TEMA:

    SISTEMA DE DETECCION DE MENTIRAS

    LUGAR DE REALIZACIÓN:CENTRO DE CIENCIAS APLICADAS Y DESARROLLO TECNOLOGICO

    (CCADET), UNAM

     ASESOR INTERNO:AGUEDA LUNA TORRES

     ASESOR EXTERNO:DRA. FABIOLA MIROSLABA VILLALOBOS CASTALDI

    PRESENTA:GUSTAVO LOPEZ BERNAL

    No DE CONTROL:111080239

    MEXICO, D.F. ABRIL / 2016

    http://www.ccadet.unam.mx/secciones/depar/sub4/sinte/semb/FMVC.htmlhttp://www.ccadet.unam.mx/secciones/depar/sub4/sinte/semb/FMVC.html

  • 8/17/2019 Sistema de Detección de Mentiras

    2/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    RESUMEN

    El presente documento detalla la metodología y las actividades para el desarrollo de un

    sistema experto en la detección de emociones a través de puntos específicos en el rostro.

    Dicho sistema se desarrolló con el lenguaje CHEHRA, MATLAB y C++, para generas los

    recursos del sistema.

    El problema se centra en la mayoría de Expresión de Análisis y Reconocimiento Facial, la

    literatura da muchos sistemas propuestos con un enfoque sobre la aparición binaria de

    expresiones, a menudo, ya sea emociones básicas o unidades de actuación FACS (UA). En

    realidad, las expresiones pueden variar mucho, principalmente en la intensidad con la que se

    da la interpretación del significado de las expresiones. Además, a pesar de los esfuerzos hacia

    las normas de evaluaciones (por ejemplo FERA 2011), todavía existe mucha necesidad de

    procedimientos de evaluación para emociones. Por lo tanto, es muy poca su comparabilidad.

    Esto nos lleva al contraste con los problemas más establecidos en el análisis de la conducta

    humana en un vídeo, tales como detección de rostros y el reconocimiento de rostros.

  • 8/17/2019 Sistema de Detección de Mentiras

    3/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    INDICE

    RESUMEN ......................................................................................................................... 2

    INDICE .............................................................................................................................. 3

    1.1 Introducción ................................................................................................................. 4

    1.2 Justificación ................................................................................................................. 5

    1.3 Objetivo general ........................................................................................................... 6

    1.4 Objetivo particular ........................................................................................................ 6

    1.5 Generalidades De La Empresa .................................................................................... 7

    1.6 Problemas a resolver, priorizándolos ........................................................................... 9

    1.7 Fundamento teórico ................................................................................................... 10

    1.8 Investigación del Rostro Humano .............................................................................. 12

    1.8.2 Puntos Básicos Del Rostro ..................................................................................... 13

    1.8.3 Partes Del Rostro Humano ..................................................................................... 14

    1.9 Emociones ................................................................................................................. 15

    1.9.1 Detección y Reconocimiento de Emociones ........................................................... 15

    1.9.2 Escalas de la Imagen para su Estudio .................................................................... 16

    2.1 Programas Para Desarrollo de Código. ...................................................................... 18

    3.1 Desarrollo del software .............................................................................................. 21

    4.1 Pruebas Del Sistema ................................................................................................. 44

    5.1 Resultados ................................................................................................................. 48

    5.2 Conclusiones ............................................................................................................. 52

    ANEXO ............................................................................................................................ 53

    6.1 Bibliografía ................................................................................................................. 69

  • 8/17/2019 Sistema de Detección de Mentiras

    4/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.1 Introducción

    El reconocimiento es un atributo básico de los humanos. La localización de los puntos faciales

    es el paso inicial para determinar la expresión y apariencia del rostro. Esto lleva a que podemos

    determinar con una mayor claridad las expresiones en tiempo real. Para determinar las

    expresiones faciales debemos tener en cuenta varias partes del rostro tales como las esquinas

    de los ojos, las esquinas de las cejas, las esquinas y los puntos medios exteriores de los labios,

    esquinas de las ventanas de la nariz, la punta de la nariz, y la punta de la barbilla. Dicha

    detección de puntos faciales es a menudo el primer paso en aplicaciones de visión por

    ordenador, tales como la detección e identificación del rostro, el reconocimiento de

    expresiones faciales, el seguimiento en tiempo real del rostro y la lectura de labios.

    El Modelo de Algoritmos, son ampliamente utilizados hoy en día para la alineación de la cara

    y el seguimiento. Actualmente, sin embargo, esta etapa se lleva a cabo usualmente mediante

    el etiquetado manualmente el requerido cambio de agujas. La localización de los puntos

    faciales estables, tales como las esquinas interiores de los ojos y las esquinas interiores de

    las fosas nasales también se utiliza generalmente para registrar cada marco de una secuencia

    de imágenes de entrada con el primer fotograma de la misma. A su vez, la robustez del

    algoritmo de detección de punto de característica facial altamente afecta al rendimiento global

    del sistema.

    Los métodos anteriores para la detección de puntos de características faciales podrían

    clasificarse en dos categorías: a base de textura y métodos basados en la forma. Los métodos

    basados en la textura modelo local textura alrededor de un punto determinada característica,

    por ejemplo el píxel valores en una pequeña región alrededor de una esquina de la

    boca. Forma- métodos basados consideran todos los puntos de características faciales como

    la forma, el cual se aprende a partir de un conjunto de caras marcadas, y tratar de encontrar.

  • 8/17/2019 Sistema de Detección de Mentiras

    5/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.2 Justificación

    Las emociones o sentimientos son parte de nuestra vida y nos proporcionan la energía para

    resolver un problema o realizar una actividad nueva. En definitiva, actúan como resortes que

    nos impulsan a actuar para conseguir nuestros deseos y satisfacer nuestras necesidades.

    Algunas de las reacciones fisiológicas y comportamentales que desencadenan las emociones

    son innatas, mientras que otras pueden adquirirse. Unas se aprenden por experiencia directa,

    como el miedo o la ira, pero la mayoría de las veces se aprende por observación de las

    personas de nuestro entorno.

    Si podemos contar con un sistema que pueda detectar las emociones a través de programas

    basados en un lenguaje de programación, podríamos obtener un porcentaje más alto en

    cuanto a la expresión facial que da el ser humano esto podría beneficiar en gran medida, ya

    que tendríamos una precisión en nuestros resultados.

    Justificando el desarrollo del sistema tenemos los siguientes puntos:

    1. El proyecto dará una mayor eficacia en la detección de mentiras.

    2. Tendrá una aplicación en cualquiera ámbito del procesamiento del rostro, ya sea en

    reconocimiento facial, seguimiento del rostro y análisis de expresiones.

    3. Podrá ser utilizado en cualquier proyecto que requiera y utilice una investigación en el

    ámbito de visión por computadora y expresión facial del ser humano.

  • 8/17/2019 Sistema de Detección de Mentiras

    6/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.3 Objetivo general

      Realizar un sistema en la detección de mentiras en la que se pueda detectar a

    través de emociones si está mintiendo o diciendo la verdad, basada en la

    plataforma de programación MATLAB.

    1.4 Objetivo particular

      Identificar en una base de datos los patrones para el reconocimiento facial a

    través de regiones específicas del rostro.

      Enfocar el desarrollo del programa para la detección de mentiras.

      Desarrollar el algoritmo en base a la programación Chehra.

      Implementar el algoritmo en una interfaz gráfica que nos permita ver resultados.

      Aplicar el sistema en la detección de emociones.

  • 8/17/2019 Sistema de Detección de Mentiras

    7/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.5 Generalidades De La Empresa

    CCADET (Centro de Ciencias Aplicadas y Desarrollo Tecnológico)

    Universidad Nacional Autónoma de México, CCADET

    Dirección:

    Circuito exterior s/n

    C.P. 04510

    CD. Universitaria

    México, D.F.

    Apdo. Postal 70-186

    Teléfono: 56228602, extensión: 1108

    Fax: 56228620

    Correo: [email protected]  

    Giro: Investigación y Educación

    mailto:[email protected]:[email protected]:[email protected]:[email protected]

  • 8/17/2019 Sistema de Detección de Mentiras

    8/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.5.1 Descri pció n del d epartamento o área de trabajo

    Nombre del departamento:

    Sistemas Inteligentes

    Estructura departamental:

    Misión:

    La misión del CCADET es realizar investigación, desarrollo tecnológico, formación de recursos

    humanos y difusión en los campos de la instrumentación, micro y nanotecnologías, tecnologíasde la información y educación en ciencia y tecnología, con un enfoque multidisciplinario,

    integrando las actividades de investigación y desarrollo tecnológico y buscando aplicar el

    conocimiento generado a la solución de problemas relevantes de nuestro entorno.

    Visión:

    Transformarse en una entidad académica con reconocimiento nacional e internacional por la

    calidad de sus investigaciones; su capacidad para generar, asimilar, y transferir tecnología; su

    papel sobresaliente en la promoción de la investigación aplicada y el desarrollo tecnológico através de programas y proyectos multidisciplinarios e integradores de ciencia y tecnología, con

    impacto en la solución de problemas nacionales y globales; y su compromiso con la formación

    de recursos humanos de alta calidad en sus áreas de especialidad.

    Objetivos:

      Difundir sus logros científicos a través de las publicaciones y los congresos

    internacionales y nacionales de mayor impacto.

      Transferir sus desarrollos tecnológicos al sector externo tanto nacional como

    internacional.

      Proporcionar consultoría (educativa, técnica, científica) y servicios técnicos.

      Ayudar a promover el desarrollo tecnológico, científico y educacional del país.

  • 8/17/2019 Sistema de Detección de Mentiras

    9/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.6 Problemas a resolver, priorizándolos

    La detección de emociones es un campo de investigación muy activo, aún es muy difícil poder

    tener un patrón de reconocimiento muy estable en cuanto a las emociones, ya que la

    apariencia del rostro y en las emociones es muy variable.

    El rostro puede ser rígido y dinámico con una gran diversidad en su forma, color, textura y

    tamaño, pero no solo de eso lleva un gran problema sino también de otros muchos factores

    tales como la iluminación (contraste, sombras), cabeza, expresión facial y otras características

    faciales(el maquillaje, la barba).

    Otro problema muy frecuente es la obtención de la imagen ya que son muy pocos datos los

    que pueden arrojar la imagen en tiempo real y tenga una resolución buena en cuanto a la

    utilización de los pixeles.

    El encontrar una solución a este problema es difícil, lo que se tratara en este trabajo es

    encontrar la forma de tener una mayor precisión en cuanto a la imagen y la detección de puntos

    especifico en el rostro, el sistema pretende dar un resultado satisfactorio en condiciones que

    estén mejor definidas y tenga una mayor precisión en cuanto a la lectura del rostro en especial

    a la de emociones.

  • 8/17/2019 Sistema de Detección de Mentiras

    10/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.7 Fundamento teórico

    El psicólogo Paul Ekman estudió a fondo las emociones, y la manera que tenemos para

    expresar en nuestro rostro lo que estamos sintiendo. Las seis emociones básicas de Paul

    Ekman son rabia, asco, miedo, alegría,  tristeza y sorpresa. Estas seis eran para él las

    emociones primarias, que son muy diferentes de las secundarias. Estas seis emociones son

    adaptativas. Lo que sentimos tendrá una respuesta fisiológica pues expresaremos nuestros

    sentimientos a través de nuestro rostro. Las emociones básicas de Paul Ekman son

    plenamente biológicas. No aprendemos a expresar asco o miedo a causa de una transmisión

    cultural, sino que todos hemos nacido sabiendo de qué manera expresar estas emociones.

    También son universales y están prefijadas genéticamente, pues hemos nacido sabiendo de

    qué manera expresar estas emociones cuando las sentimos. La expresión de estas emociones

    básicas nos permite comprender qué siente otra persona, pudiendo identificar la alegría con

    una sonrisa verdadera y sabiendo que la persona no siente alegría si su sonrisa no es

    verdadera sino fingida.

    Las emociones son muy importantes precisamente porque lo que sentimos determinará

    nuestra motivación, nuestra habilidad para aprender información novedosa y nuestra manerapara comunicarnos con los demás.

    Una manera muy eficiente de poder detectar emociones es a través de imágenes y videos, ya

    que estos nos permiten tener una captura del rostro en tiempo real. Las imágenes son

    ampliamente utilizadas como fuentes importantes de información en el uso de aplicaciones

    de Face-Tracking (Seguimiento de la Cara). Su aplicación son centradas en el ser humano

    principalmente en el rostro y llevada a: vigilancia de seguridad, desarrollo de sistemas

    biométricos, juegos multimedia de interacción hombre-máquina, robótica y realidad virtual.

    Gracias al gran avance tecnológico en crear ciertos programas para la captura y estudio de

    imágenes referente al rostro se ha podido crear nuevas y mejores aplicaciones dándole un

    nuevo enfoque y haciendo una mayor precisión en el estudio de las expresiones faciales.

    http://tallerescognitiva.com/siete-formas-de-hacer-feliz-una-persona-mayor/http://tallerescognitiva.com/siete-formas-de-hacer-feliz-una-persona-mayor/

  • 8/17/2019 Sistema de Detección de Mentiras

    11/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Los sistemas de obtención de imágenes y video por reconocimiento de patrones en tiempo

    real, han obtenido buenos resultados en el estudio del rostro ya que permiten hacer cálculosmás precisos.

    Un sistema de reconocimiento facial se puede realizar de dos maneras:

      Verificación

      Autentificación e Identificación.

    Cuando hablamos de verificación involucramos una confirmación o negación de la identidad

    reclamada por una persona (uno-a-uno).

    Y con la identificación se procura más en establecer la identidad de la persona ya que estapodría encontrarse en un grupo de personas (uno-a-N personas).

    Aunque los dos sistemas llevan algoritmos similares, sus aplicaciones son distintas en el

    ámbito de reconocimiento facial.

    En verificación, sus principales aplicaciones van más en el control de acceso, por ejemplo:

    accesos a una computadora, entrada de un dispositivo móvil, control de puertas, acceso a

    banco de datos, etc.

    En identificación, su aplicación va más ligada a video vigilancia (lugares públicos zonas

    restringidas, etc.), la recuperación de información (base de datos, datos multimedia, etc.) o

    interacción hombre-máquina (video juegos, etc.).

  • 8/17/2019 Sistema de Detección de Mentiras

    12/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.8 Investigación del Rostro Humano

    1.8.1 El Rostr o Humano

    El rostro puede ser diferente en cada persona ya sea en su tamaño, en sus facciones e incluso

    en algunas lesiones que pueda tener. En el mundo existen personas con un rostro perfecto,

    tal es el caso de una joven británica.

    Su armónico óvalo facial, su boca perfecta y sus grandes ojos azules encajan en el canon de

    belleza natural, pero lo más relevante ha resultado ser que la fisonomía de su rostro es

    matemáticamente perfecta, con una simetría y dimensiones óptimas, y la distancia entre sus

    ojos, nariz, boca, frente y barbilla es la perfecta. (Figura 1.1), de ahí se desprende el estudiollamado fisiognomía.

    La fisiognomía es el arte de estudiar las cabezas y las caras (forma de la nariz, cejas, etc.) y

    su origen es muy antiguo. Existen otras ramas que se dedican al estudio del rostro pero no

    entraremos en ellas ya que solo nos dedicaremos al estudio de emociones.

    Figura 1.1 Florence Colgate es, según la ciencia, lamujer con el rostro perfecto. Esta chica de 18 añosha nacido con el sueño de la mayoría de mujeres delplaneta: una simetría facial perfecta. 

  • 8/17/2019 Sistema de Detección de Mentiras

    13/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.8.2 Puntos Básicos Del Rostro

    Antes de desarrollar el sistema de reconocimiento de emociones, primero se debe saber la

    región a estudiar en este caso sería el rostro humano, por lo tanto se hará un pequeño estudio

    de sus partes y sobretodo las regiones de interés.

    Para comenzar el estudio debemos entender que es el rostro humano y en cuantas partes se

    componen. He aquí una pequeña descripción:

    La cara (también rostro y faz) es la parte frontal de la cabeza,  en los humanos la parte

    anteroinferior, desde las cejas a la barbilla. 

    Una vez comprendido las partes del rostro conoceremos sus partes básicas, dichas partes

    serán las que nos lleven en todo el proyecto para su comprensión y utilización en la detección

    de emociones.

    https://es.wikipedia.org/wiki/Cabezahttps://es.wikipedia.org/wiki/Humanohttps://es.wikipedia.org/wiki/Cejahttps://es.wikipedia.org/wiki/Barbillahttps://es.wikipedia.org/wiki/Barbillahttps://es.wikipedia.org/wiki/Cejahttps://es.wikipedia.org/wiki/Humanohttps://es.wikipedia.org/wiki/Cabeza

  • 8/17/2019 Sistema de Detección de Mentiras

    14/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.8.3 Partes Del Rostro Humano

    El rostro puede ser diferente en cada persona ya sea en su tamaño, en sus facciones e incluso

    en algunas lesiones que pueda tener.

    Sabiendo que es el rostro nos dedicaremos a ciertas partes que nos llevaran al resultado final

    que es la detección de emociones. Para ello necesitamos saber cuáles son esas partes.

    (Figura 1.2)

    El rostro se compone de:

      Cejas

      Ojos

      Nariz

      Boca

      Labios

      Barbilla.

    Boca

     Nariz

    Ojos

    Cejas

    Barbilla

    Labios

    Figura 1.2. Partesbásicas del rostro 

  • 8/17/2019 Sistema de Detección de Mentiras

    15/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.9 Emociones

    1.9.1 Detección y Reconocimiento de Emociones

    El primer paso para iniciar este sistema es el reconocimiento del rostro ya sea que podamos

    obtenerlo en imagen o en video independientemente de cómo lo queramos utilizar, en este

    caso nos basaremos a la toma de una imagen con una serie de patrones en regiones

    específicas del rostro, aunque algunas veces es una complicación la toma de una imagen

    debido a muchos factores ya sea la iluminación, la posición, la escala del rostro, edad de la

    persona y la orientación de la misma.

    El reconocimiento de emociones se lleva a cabo en la vida diaria, el estudio de Paul Ekmanrevela que nosotros los humanos podemos tener y crear más de 7,000 expresiones y cambios

    en el rostro lo que hace más difícil la detección de ellos ya que son en micro- segundos.

    Pero en este estudio y para crear el sistema se pretender reconocer solo los más básicos que

    son la ira, la felicidad, sorpresa, asco, enfado, desprecio, tristeza y miedo. (Figura 1.3)

    Figura 1.3. Emociones básicas según Paul Ekman  

  • 8/17/2019 Sistema de Detección de Mentiras

    16/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.9.2 Escalas de la Imagen para su Estudio

    Uno de los aspectos más importantes, para definir la calidad de las imágenes digitales, es la

    resolución física o superficial de los píxeles. Siendo el píxel, el elemento más pequeño en que

    puede dividirse una imagen digital, la superficie real que representa cada uno de ellos define

    los objetos o detalles más pequeños que pueden observarse en una imagen.

    La resolución se utiliza también para clasificar casi todos los dispositivos relacionados con las

    imagen digital, ya sean pantallas de ordenador o televisión, impresoras, escáneres, cámaras

    digitales, etc.

    La resolución total expresa el número de píxeles que forman una imagen de mapa de bits. La

    calidad de una imagen también depende de la resolución que tenga el dispositivo que la capta.

    En el caso de las cámaras, el número de píxeles que contenga una fotografía depende de la

    configuración y, como máximo, de cuántos píxeles utilice el sensor CCD (Charge- Coupled-

    Device) de la cámara para captar la imagen.

    Es importante no confundir la resolución de una imagen con su escala de representación. La

    escala de representación de una imagen es la relación que existe entre el tamaño real de los

    objetos y el tamaño que tienen en la representación gráfica. La imagen digital en sí misma es

    adimensional y puede representarse a cualquier tamaño.

    Figura 1.4.La imagen de la izquierda es de 256 x 256 pixeles cada pixel ocupa unpunto en el moni tor. Mientras que la imagen de la derecha es de 32 x 32 pixeles(cada pixel ocupa 64 puntos en el monito r).

  • 8/17/2019 Sistema de Detección de Mentiras

    17/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.9.3 Procesamiento de la i magen

    El principal objetivo de las técnicas de mejoramiento de imagen es procesar una imagen con

    el fin de hacerla más adecuada para una determinada aplicación o procesamiento posterior.

    Depende por tanto del problema específico a resolver el que se emplee una u otra técnica. Los

    métodos de mejora de imagen se pueden dividir en dos campos diferentes: métodos en el

    dominio frecuencia y métodos en el dominio espacial. Los primeros se basan en modificar la

    transformada de Fourier de la imagen, mientras que los segundos se basan en manipulaciones

    directas sobre los píxeles de la imagen.

  • 8/17/2019 Sistema de Detección de Mentiras

    18/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    2.1 Programas Para Desarrol lo de Código.

    El uso de herramientas en programación de software es muy útil ya que se necesitan ciertas

    plataformas para la creación del mismo.

    En este capítulo se mostrara el desarrollo del software en la plataforma MATLAB, pero para

    eso se necesita saber cómo funciona esta plataforma, a continuación se dará una pequeña

    explicación de que es MATLAB, Chehra y C++.

    2.1.1 MATLAB

    MATLAB es un entorno de cálculo técnico de altas prestaciones para cálculo numérico yvisualización. Integra:

      Análisis numérico

      Cálculo matricial

      Procesamiento de señales

      Gráficos

    En un entorno fácil de usar, donde los problemas y las soluciones son expresados como se

    escriben matemáticamente, sin la programación tradicional. El nombre MATLAB proviene de

    ``MATrix LABoratory'' (Laboratorio de Matrices). MATLAB fue escrito originalmente para

    proporcionar un acceso sencillo al software matricial desarrollado por los

    proyectos LINPACK y EISPACK, que juntos representan lo más avanzado en programas de

    cálculo matricial. MATLAB es un sistema interactivo cuyo elemento básico de datos es una

    matriz que no requiere dimensionamiento.

    Esto permite resolver muchos problemas numéricos en una fracción del tiempo que llevaría

    hacerlo en lenguajes como C, BASIC o FORTRAN. MATLAB ha evolucionado en los últimos

    años a partir de la colaboración de muchos usuarios. En entornos universitarios se ha

    convertido en la herramienta de enseñanza estándar para cursos de introducción en álgebra

    lineal aplicada, así como cursos avanzados en otras áreas. En la industria, MATLAB se utiliza

    para investigación y para resolver problemas prácticos de ingeniería y matemáticas, con un

    gran énfasis en aplicaciones de control y procesamiento de señales. MATLAB también

    proporciona una serie de soluciones específicas denominadas TOOLBOXES.

  • 8/17/2019 Sistema de Detección de Mentiras

    19/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Estas son muy importantes para la mayoría de los usuarios de MATLAB y son conjuntos de

    funciones MATLAB  que extienden el entorno MATLAB  para resolver clases particulares deproblemas como:

      Procesamiento de señales

      Diseño de sistemas de control

      Simulación de sistemas dinámicos

      Identificación de sistemas

      Redes neuronales y otros.

    Probablemente la característica más importante de MATLAB es su capacidad de crecimiento.

    Esto permite convertir al usuario en un autor contribuyente, creando sus propias aplicaciones.

    En resumen, las prestaciones más importantes de MATLAB son:

      Escritura del programa en lenguaje matemático.

      Implementación de las matrices como elemento básico del lenguaje, lo que permite una

    gran reducción del código, al no necesitar implementar el cálculo matricial.

      Implementación de aritmética compleja.

      Un gran contenido de órdenes específicas, agrupadas en TOOLBOXES.

      Posibilidad de ampliar y adaptar el lenguaje, mediantes ficheros de script y

    funciones .m.

    Fig.1.5 MATLAB

  • 8/17/2019 Sistema de Detección de Mentiras

    20/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    2.1.2 Chehr a

    Chehra (que significa "cara" en Hindi) es un completamente automático cara en tiempo real

    y detección de ojos punto de referencia y software de seguimiento capaz de manejar las caras

    bajo entorno natural incontrolada.

    Ha sido desarrollado por  Akshay Asthana y  Stefanos Zafeiriou en el Imperial College de

    Londres.

    2.1.3 Leng uaje C++

    C++ es un lenguaje de programación orientado a objetos que toma la base del lenguaje C y le

    agrega la capacidad de abstraer tipos como en Smalltalk.

    La intención de su creación fue el extender al exitoso lenguaje de programación C conmecanismos que permitieran la manipulación de objetos. En ese sentido, desde el punto de

    vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

    Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros

    dos paradigmas que ya estaban admitidos (programación estructurada y la programación

    orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multi-

    paradigma.

    Dentro del programa se utilizara para dar sintaxis de coordenadas a las imágenes.

    Fig. 1.6 Lenguaje Chehra

    Fig.1.7 Lenguaje C++

    https://sites.google.com/site/akshayasthana/https://wp.doc.ic.ac.uk/szafeiri/https://wp.doc.ic.ac.uk/szafeiri/https://sites.google.com/site/akshayasthana/

  • 8/17/2019 Sistema de Detección de Mentiras

    21/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    3.1 Desarrollo del software 

    Primeramente para desarrollar el software necesitamos crear una interfaz gráfica de usuario

    donde se lleve a cabo estas funciones, para ello crearemos dentro de Matlab un GUI en sus

    siglas en inglés Graphical User Interface (Interfaz Gráfica de Usuario).

    Para comenzar nuestro proyecto, lo podemos hacer en dos formas:

      Ejecutando la siguiente instrucción en la ventana de comando:

    >> guide

      Haciendo también un click en New > Graphical User Interface.

    Fig.1.8 Graphical User Interface

  • 8/17/2019 Sistema de Detección de Mentiras

    22/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Al momento de dar click se presentara un cuadro de dialogo como el siguiente:

    a) Blank GUI(Default )

    Esta opción grafica de usuario en blanco (viene predeterminada), nos presenta un

    formulario nuevo, con el cual empezaremos a diseñar nuestro programa.

    b) GUI with Uicontrols

    Esta opción presenta un ejemplo en el cual la masa, dada la densidad y el volumen, en

    alguno de los dos sistemas de unidades. Podemos ejecutar este ejemplo y obtener

    resultados.

    c) GUI with Axes and Menu

    Esta opción es otro ejemplo el cual contiene el menú File con las opciones Open, Print

    y Close. En el formulario tiene un Pop menú, un push button y un objeto Axes, podemos

    ejecutar el programa eligiendo alguna de las seis opciones que se encuentran en el

    menú desplegable y haciendo click en el botón de comando.

    d) Modal Question Dialog

    Con esta opción se muestra en la pantalla un cuadro de dialogo común, el cual consta

    de una pequeña imagen, una etiqueta y dos botones Yes y No, dependiendo del botón

    que se presione, el GUI retorna el texto seleccionado (la cadena de caracteres ‘Yes’ o

    ‘No’). 

    Fig.1.9 Inic io de GUI

  • 8/17/2019 Sistema de Detección de Mentiras

    23/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Para nuestro proyecto utilizaremos la primera opción ya que se iniciara desde cero y se le dará

    diseño a nuestro programa.

    Para ello daremos click en la opción Blank GUI (Default) con lo cual nos aparecerá nuestro

    entorno de diseño en GUI como el siguiente:

    Una vez iniciada nuestra interfaz utilizaremos las herramientas que están del lado derecho de

    la pantalla como se muestra a continuación:

    Fig.1.10 Blank GUI (Default) 

    Fig.1.11 Barra de Herramientas

  • 8/17/2019 Sistema de Detección de Mentiras

    24/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Cada uno tiene función diferente, nosotros solo nos basaremos a 4 de estas funciones para

    poder llevar a cabo nuestro sistema.En la siguiente tabla se da una explicación de todas las funciones y posteriormente

    mostraremos cómo se utilizan con nuestro código.

    Ya conociendo la función de nuestras herramientas pasaremos a iniciar nuestro diseño de

    interfaz.

    Control Valor de estilo DescripciónCheck box checkbox Indica el estado de una opción o atributo.Editable Text Edit Caja para editar textoPop-up menú popupmenu Provee una lista de opcionesList Box Listbox Muestra una lista deslizablePush Button Pushbutton Invoca un evento inmediatamenteRadio Button Radio Indica una opción que puede ser seleccionadaToggle Button Togglebutton Solo dos estados, “on” o “off” Slider Slider Usado para representar un rango de valoresStatic Text text Muestra un string de texto en una cajaPanel Button Agrupa botones como un grupoButton Group Permite exclusividad de selección con los radio

    button

    1.1Tabla de funciones

  • 8/17/2019 Sistema de Detección de Mentiras

    25/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    3.1.1 Diseño de in terfaz

    Iniciaremos seleccionando un pushbutton lo colocamos en nuestra interfaz (figura 1.12).

    Daremos doble click y nos mostrara las propiedades (figura 1.13) Nos iremos a la opción Tag

    y borramos su contenido y escribiremos video que será nuestro nombre de inicio en la interfaz.

    Dentro del mismo asignaremos el nombre en la opción String, borramos el contenido y

    daremos el nombre de seleccionar_video. 

    Fig.1.12 Pushbutton

    Fig.1.13 Propiedades / video

  • 8/17/2019 Sistema de Detección de Mentiras

    26/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Para aislar el botón se utilizara la opción Panel, y de la misma forma dimos doble click nos

    dirigimos a la opción String y cambiamos el nombre a PROCESAR VIDEO (FRAMES) de talforma que nos quede de esta manera (Figura 1.14).

    Esto nos ayudara a dar un título a cada botón que se utilizara en la interfaz.

    Una vez terminada esta opción procedemos a introducir otro pushbutton que será para abrir

    la imagen a estudiar.

    Iniciamos dando click en pushbutton, lo colocamos en nuestra interfaz y se realiza el mismo

    paso como el botón anterior, solo que esta vez el nombre cambia a Seleccionar_Imagen. Y

    agregaremos otro Panel con el nombre de IMAGEN DE ESTUDIO. (Figura 1.14).

    Ahora asignaremos donde se verá la imagen ya con el estudio de puntos en el rostro. Para

    eso nos dirigimos a las herramientas y utilizamos la opción Axes, daremos click y la colocamos

    en nuestra interfaz, después daremos doble click y al abrir propiedades nos vamos a Tag y

    colocamos el nombre de axImage. Agregamos otro Panel con el nombre de  IMAGEN

    PROCESADA. (Figura 1.15).

    Fig.1.14 Procesar Video

    Fig.1.14 Seleccionar Imagen

  • 8/17/2019 Sistema de Detección de Mentiras

    27/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Enseguida colocaremos dos Text, el primer Text contendrá las 7 emociones que se utilizaran

    para cada imagen a estudiar y el segundo Text  contendrá el porcentaje de cada emoción.

    Nos vamos a la opción Text la pones en nuestra interfaz, le damos doble click, nos vamos a

    la opción String y colocamos las opciones que son Sorpresa, Alegría, Asco, Ira, Tristeza y

    Miedo. Y en el segundo Text le asignaremos el nombre en el String de 0% que será para

    obtener el resultado. Aquí utilizamos otro Panel  con el nombre de RESULTADOS DE

    EXPRESION (Figura 1.16).

    Una vez terminado esto pasaremos a colocar un Popupmenu que nos ayudara a saber ladistancia entre puntos que queremos saber dependiendo cada imagen y que nos dará tres

    enfoques en el rostro con diferente patrón en el porcentaje.

    Para ello nos dirigimos a la opción Popupmenu   damos click y  la colocamos en nuestra

    interfaz, ahora daremos doble click en el mismo y nos dirigimos a String, y asignaremos el

    Fig.1.15 Axes

    Fig.1.16 Resultado de Expresión

  • 8/17/2019 Sistema de Detección de Mentiras

    28/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    nombre de Enfoque 1, Enfoque 2, Enfoque 3, mientras que en el Tag se le dejara el nombre

    por default. Aquí también se asignara un Panel, que asignaremos con el nombre de PUNTOS(Figura 1.17).

    Una vez generada completamente la interfaz a utilizar nos quedara de la siguiente manera

    (Figura 1.18).

    Procedemos a guardarla con el nombre de DETECTOR.fig esto nos permitirá llamarla cuando

    nos encontremos en el editor y demos correr a nuestro código.

    Fig.1.17 Puntos

    Fig.1.18 Interfaz Terminada

  • 8/17/2019 Sistema de Detección de Mentiras

    29/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    3.1.2 Desarrol lo Del Código

    Una vez guardada la interfaz automáticamente nos arrojara al editor con el siguiente código.

    Inicio del código en la interfaz.

    Function varargout = GUI (varargin)%código MATLAB GUI para GUI.fig%Interfaz gráfica de usuario, por sí mismo, crea una nueva interfaz gráfica de %usuario oaumenta el singleton existente.%%H = interfaz gráfica de usuario devuelve el identificador de una nueva interfaz %gráfica deusuario o la palanca para el singleton existentes *.%%Interfaz gráfica de usuario (‘RETROLLAMADA ‘, hObject, EVENTDATA, %manijas) llama allocal de función llamada RETROLLAMADA en GUI.M con los %argumentos de entrada dados%Interfaz gráfica de usuario (‘propiedad ‘, ' Valor ' ) crea una nueva interfaz %gráfica deusuario o aumenta el singleton existentes *. A partir de la izquierda, %los pares de valores depropiedades se aplican a la interfaz gráfica de usuario %antes de GUI_OpeningFcn se llama.Un nombre de propiedad no reconocido o %valor no válido hace parada solicitud depropiedades. Todas las entradas se %pasan a través de GUI_OpeningFcn varargin.%%Ver Opciones de interfaz gráfica de usuario en el menú Herramientas de GUIDE. %Elige"GUI permite sólo una instancia para funcionar (Singleton)”. %% Ver también: GUÍA, guidata, GUIHANDLES.%Editar el texto anterior para modificar la respuesta para ayudar GUI%Modificado por última GUÍA v2.5 14 -Abr -2016 13:50:54%Comience el código de inicialización - NO EDITEgui_Singleton = 1;gui_State = struct ('gui_Name', mfilename, ... 

    'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn' , @GUI_OpeningFcn, ... 'gui_OutputFcn', @GUI_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback' , []);

    if  nargin && ischar(varargin{1})

    gui_State.gui_Callback = str2func(varargin{1});end 

    if  nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

    else gui_mainfcn(gui_State, varargin{:});

    end 

  • 8/17/2019 Sistema de Detección de Mentiras

    30/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    % Código de inicialización final - NO EDITE% Se realiza justo antes de la GUI donde se hace visible.  Function GUI_OpeningFcn (hObject, eventdata, handles, varargin)% Esta función no tiene argumentos de salida, consulte OutputFcn. HObject manejar con lafigura event data reservados.Que se definirán en una futura versión de MATLAB se ocupa de la estructura con asas y losdatos de usuario (véase guidata) varargin argumentos de línea de comando para interfazgráfica de usuario (ver VARARGIN)

    Elija salida de línea de comandos para la interfaz gráfica de usuario por defecto.

    handles.output = hObject; Actualización se encarga de la estructura

    guidata(hObject, handles);

    UIWAIT hace que espera la respuesta del usuario GUI (ver UIRESUME) uiwait(handles.figure1);

    Las salidas de esta función se devuelven a la línea de comandos.  

    function varargout = GUI_OutputFcn(hObject, eventdata, handles)

     Arreglo de celdas varargout para el retorno de argumentos de salida (ver VARARGOUT);HObject manejar con la figura eventdata reservados – que se definirán en una futura versiónde MATLAB se ocupa de la estructura con asas y los datos de usuario.

    %Obtener predeterminado la salida de línea de comandos de la estructura de asasvarargout{1} = handles. Output;

    %Ejecuta el botón a presionar btnSelectImage. 

    function btnSelectImage_Callback(hObject, eventdata, handles)

    % HObject maneja a btnSelectImage (ver GCBO )% Eventdata reservados - que se definirán en una futura versión de MATLAB% Se ocupa de la estructura con asas y los datos de usuario (véase guidata )

    %Ejecuta durante la creación del objeto, después de ajustar todas las propiedades. function uipanel1_CreateFcn(hObject, eventdata, handles)% HObject maneja a uipanel1 (ver GCBO )% Eventdata reservados - que se definirán en una futura versión de MATLAB% Maneja vacío - mangos no se crea hasta que todos llaman CreateFcns

  • 8/17/2019 Sistema de Detección de Mentiras

    31/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    % --- Ejecuta al cambiar la selección en popupmenu

    function popupmenu_Callback(hObject, eventdata, handles)% HObject manejar a PopUpMenu (ver GCBO )% Eventdata reservados - que se definirán en una futura versión de MATLAB% Se ocupa de la estructura con asas y los datos de usuario (véase guidata )

    % Indicaciones: contenido = cellstr (get (hObject, ' Cadena ‘)) vuelve PopUpMenu contenidoscomo matriz celular% Contenido {get (hObject, ' Valor ‘)} devuelve el elemento seleccionado a partir popupmenu  

    % --- Ejecuta durante la creación del objeto, después de ajustar todas las propiedades.function popupmenu_CreateFcn(hObject, eventdata, handles)

    % HObject manejar a PopUpMenu (ver GCBO )% Eventdata reservados - que se definirán en una futura versión de MATLAB% Maneja vacío - mangos no se crea hasta que todos llaman CreateFcns% Indirecta: controles PopUpMenu por lo general tienen un fondo blanco en Windows. VerISPC% y el ordenador.

    % --- Ejecuta el botón de prensa en vídeo.

    function Video_Callback(hObject, eventdata, handles)

    %HObject a manejar vídeo (ver GCBO )% Eventdata reservados - que se definirán en una futura versión de MATLAB% Se ocupa de la estructura con asas y los datos de usuario (véase guidata)

    Dentro del editor aparece este código que se representa cada herramienta que pusimos dentro

    de la interfaz y que nos ayudara a colocar en cada opción el código que se desarrolló y el

    código establecido Chehra, para la detección de mentiras y emociones.

    Ahora se mostrara donde se colocara cada código y al final del mismo se mostrara su función.

    La primera parte de nuestro programa será introducirá el código del programa Chehra conalgunas modificaciones para el completo uso del mismo. El código se colocara en la opción:

    function varargout = GUI_OutputFcn(hObject, eventdata, handles)

    %Arreglo de celdas varargout para el retorno de argumentos de salida ( ver VARARGOUT ) ;% HObject manejar con la figura% Eventdata reservados - que se definirán en una futura versión de MATLAB

  • 8/17/2019 Sistema de Detección de Mentiras

    32/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    % Se ocupa de la estructura con asas y los datos de usuario (véase guidata )

    %Obtener predeterminado de salida de línea de comandos de la estructura de asasvarargout{1} = handles.output;

    function[all_landmarks]= classifyImage(image_path,image_name,handles)value = get(handles.popupmenu, 'Value');

    if  value==1vari=findobj(gcbf, 'Tag','txtDescripcion');set(vari,'String','Éste enfoque usa 40 distancias');main_features={'5.4' '1.1';'5.4' '1.2';'5.4' '1.3';'5.4' '1.4';'5.4' '1.5';'5.4' '2.1';'5.4' '2.2';'5.4' 

    '2.3';'5.4'  '2.4';'5.4'  '2.5';'5.4'  '3U.1';'5.4'  '3U.2';'5.4'  '3U.3';'5.4'  '3U.4';'5.4'  '3L.1';'5.4' '3L.2';'5.4'  '4U.1';'5.4'  '4U.2';'5.4'  '4U.3';'5.4'  '4U.4';'5.4'  '4L.1';'5.4'  '4L.2';'6U.1'  '5.4';'6U.2' '5.4' ;'6U.3' '5.4';'6U.4' '5.4';'6U.5' '5.4' ;'6U.6' '5.4' ;'6U.7' '5.4' ;'6L.4' '5.4' ;'6L.5' '5.4' ;'6L.6' 

    '5.4' ;'6L.7' '5.4' ;'6L.8' '5.4' ;'6U.10' '5.4' ;'6U.9' '5.4' ;'6U.8' '5.4' ;'6L.3' '5.4' ;'6L.2' '5.4' ;'6L.1' '5.4' };nna_name='nettr_w40distancesRafdCk6ClassSuHaDiAnSaFe_83ts_94all';[testOut, emotion_result, fdistances,

    all_landmarks]=f_nna_distances(image_path,image_name,nna_name,main_features);elseif  value==2

    vari=findobj(gcbf, 'Tag','txtDescripcion');set(vari,'String','Éste enfoque usa 20 distancias principales');main_features={'3L.1'  '3U.3';'3L.2'  '3U.2';'4U.1'  '2.1';'4L.2'  '2.2';'4L.2'  '4U.2';'5.1' 

    '2.1';'6U.3'  '5.6';'6U.4'  '5.7';'6U.7'  '6U.1';'6L.4'  '6U.6'; '6L.4'  '6U.7';'6L.8'  '6U.1';'6U.9' '6L.6';'6L.3'  '6U.5';'6L.3'  '6U.7';'6L.3'  '6U.8';'6L.2'  '6U.4';'6L.2'  '6U.9';'6L.1'  '6U.2';'6L.1' '6U.10'};

    nna_name='nettr_w20distancesRafdCk6ClassSuHaDiAnSaFe_87ts_93all';[testOut, emotion_result, fdistances,

    all_landmarks]=f_nna_distances(image_path,image_name,nna_name,main_features);

    elseif  value==3vari=findobj(gcbf, 'Tag','txtDescripcion');set(vari,'String','Éste enfoque usa distancias y ángulos del rostro (65

    características)' );

    imgPath=strcat(image_path,image_name);[emotion, testOut, testIndices,I,landmarks]=f_annClassifyAnImage(imgPath);

    %imshow(I);hold on; 

    puntos=landmarks{1,2};%image landmarksc1=puntos{1}; c2=puntos{2}; o1=puntos{3}; o2=puntos{4}; n=puntos{5}; b=puntos{6};all_landmarks=[c1;c2;o1;o2;n;b]; % puntos all-n(4,:)testOut

    end 

  • 8/17/2019 Sistema de Detección de Mentiras

    33/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    list_emotion={'surprise','happiness','disgust','anger','sadness','fear'};

    testOut=round(testOut*10000)/100;textoPerformance={strcat(': ',num2str(testOut(1)),'%');strcat(': ',num2str(testOut(2)),'%');strcat(': ',num2str(testOut(3)),'%');strcat(': ',num2str(testOut(4)),'%');strcat(': ',num2str(testOut(5)),'%');strcat(': ',num2str(testOut(6)),'%')};

    vari=findobj(gcbf, 'Tag','txtPerformance');set(vari,'String',textoPerformance);

    El código Chehra contiene funciones establecidas por el mismo.

    Nosotros solo adaptamos algunos cambios para nuestra interfaz y que al momento de leer la

    imagen se genere los puntos correctamente y nos muestre el resultado en los Texts queasignamos anteriormente.

      Primera evaluación:

    Dentro de este código se lee la imagen atravez de los enfoques, y se utiliza condiciones para

    poder cambiar la evaluación de la imagen, esto nos mostrara diferente puntos en el rostro

    como se puede ver en la línea de código.

    Cuando se lee se evalúa y el resultado se envía al Text que asignamos con el nombre de 0%

    ya que en el se mostrara el número del resultado en porcentaje.

    function[all_landmarks]= classifyImage(image_path,image_name,handles)value = get(handles.popupmenu, 'Value');

    if  value==1vari=findobj(gcbf, 'Tag','txtDescripcion');set(vari,'String','Éste enfoque usa 40 distancias');main_features={'5.4' '1.1';'5.4' '1.2';'5.4' '1.3';'5.4' '1.4';'5.4' '1.5';'5.4' '2.1';'5.4' '2.2';'5.4' 

    '2.3';'5.4'  '2.4';'5.4'  '2.5';'5.4'  '3U.1';'5.4'  '3U.2';'5.4'  '3U.3';'5.4'  '3U.4';'5.4'  '3L.1';'5.4' '3L.2';'5.4'  '4U.1';'5.4'  '4U.2';'5.4'  '4U.3';'5.4'  '4U.4';'5.4'  '4L.1';'5.4'  '4L.2';'6U.1'  '5.4';'6U.2' '5.4' ;'6U.3' '5.4';'6U.4' '5.4';'6U.5' '5.4' ;'6U.6' '5.4' ;'6U.7' '5.4' ;'6L.4' '5.4' ;'6L.5' '5.4' ;'6L.6' '5.4' ;'6L.7' '5.4' ;'6L.8' '5.4' ;'6U.10' '5.4' ;'6U.9' '5.4' ;'6U.8' '5.4' ;'6L.3' '5.4' ;'6L.2' '5.4' ;'6L.1' '5.4' };

    nna_name='nettr_w40distancesRafdCk6ClassSuHaDiAnSaFe_83ts_94all';[testOut, emotion_result, fdistances,

    all_landmarks]=f_nna_distances(image_path,image_name,nna_name,main_features);

  • 8/17/2019 Sistema de Detección de Mentiras

    34/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

      Segunda evaluacion:

    elseif  value==2vari=findobj(gcbf, 'Tag','txtDescripcion');set(vari,'String','Éste enfoque usa 20 distancias principales');main_features={'3L.1'  '3U.3';'3L.2'  '3U.2';'4U.1'  '2.1';'4L.2'  '2.2';'4L.2'  '4U.2';'5.1' 

    '2.1';'6U.3'  '5.6';'6U.4'  '5.7';'6U.7'  '6U.1';'6L.4'  '6U.6'; '6L.4'  '6U.7';'6L.8'  '6U.1';'6U.9' '6L.6';'6L.3'  '6U.5';'6L.3'  '6U.7';'6L.3'  '6U.8';'6L.2'  '6U.4';'6L.2'  '6U.9';'6L.1'  '6U.2';'6L.1' '6U.10'};

    nna_name='nettr_w20distancesRafdCk6ClassSuHaDiAnSaFe_87ts_93all';[testOut, emotion_result, fdistances,

    all_landmarks]=f_nna_distances(image_path,image_name,nna_name,main_features);

      Tercera evaluacion:

    elseif  value==3vari=findobj(gcbf, 'Tag','txtDescripcion');set(vari,'String','Éste enfoque usa distancias y ángulos del rostro (65

    características)' );imgPath=strcat(image_path,image_name);[emotion, testOut, testIndices,I,landmarks]=f_annClassifyAnImage(imgPath);%imshow(I);hold on; 

    puntos=landmarks{1,2};%image landmarksc1=puntos{1}; c2=puntos{2}; o1=puntos{3}; o2=puntos{4}; n=puntos{5}; b=puntos{6};all_landmarks=[c1;c2;o1;o2;n;b]; % puntos all-n(4,:)testOut

    end

    Y por último la asignación al segundo Text que evaluara las emociones y nos dará el resultado

    en el Command Windows, así como el número de la imagen de estudio.

    list_emotion={'surprise','happiness','disgust','anger','sadness','fear'};testOut=round(testOut*10000)/100;

    textoPerformance={strcat(': ',num2str(testOut(1)),'%');strcat(': ',num2str(testOut(2)),'%');strcat(': ',num2str(testOut(3)),'%');strcat(': ',num2str(testOut(4)),'%');strcat(': ',num2str(testOut(5)),'%');strcat(': ',num2str(testOut(6)),'%')};vari=findobj(gcbf, 'Tag','txtPerformance');set(vari,'String',textoPerformance);

  • 8/17/2019 Sistema de Detección de Mentiras

    35/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Una vez terminado el inicio de nuestro código con el programa Chehra, procedemos a seguir

    con las herramientas que utilizamos en nuestra interfaz para que se pueda leer la imagen yestudiarla. A continuación se iniciara con los pushbutton del video y la imagen.

    El primer Pushbutton será el del video, en él se hará la función de cortar cuadro por cuadro

    del video seleccionado ya que para el estudio de las emociones se requiere una imagen en

    tiempo real (segundo a segundo), para mayor precisión.

    El código que se desarrolla se colocara dentro de la función de video  como se muestra a

    continuación:

    %Ejecuta el botón de prensa en vídeo .

    function Video_Callback(hObject, eventdata, handles)

    %hObject manejar de vídeo (ver GCBO)% Eventdata reservados - que se definirán en una futura versión de MATLAB% Se ocupa de la estructura con asas y los datos de usuario (véase guidata)

    captura = tempname('C:/Users/cr7/Desktop/escuela/captura/');mkdir(captura,'capturas')mkdir(captura,'images')

    [nombre,ruta]=uigetfile('*.mp4','ABRIR VIDEO');shuttleVideo = VideoReader([ruta nombre]);

    i=1;

    while hasFrame(shut tleVideo)img = readFrame(shutt leVideo);filename = [sprint f('%03d',i) '.jpg'];fullname = ful lfile(captura,'images',filename);imwrite(img,fullname) % Write out to a JPEG file (img1.jpg, img2.jpg, etc.) i= i+10;

    end 

    imageNames = dir(fullfile(captura,'images','*.jpg'));imageNames = {imageNames.name}';

    outputVideo = VideoWriter(fullfile(captura,'shuttle_out.avi'));outputVideo.FrameRate = shuttleVideo.FrameRate;open(outputVideo)

  • 8/17/2019 Sistema de Detección de Mentiras

    36/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    for  ii = 1:length(imageNames)img = imread(fullfile(captura,'images',imageNames{ii}));writeVideo(outputVideo,img)

    end 

    close(outputVideo)

    shuttleAvi = VideoReader(fullfi le(workingDir,'shuttle_out.avi'));ii = 1;while hasFrame(shuttleAvi)

    mov(ii) = im2frame(readFrame(shuttleAvi));ii = ii+1;end 

    msgbox('Video Cargado Correctamente','DETECTOR DE MENTIRAS')

    En estas líneas se crea un directorio en el que se guardaran las imágenes a cortar (frames), y

    los nombres de las carpetas.

    captura = tempname('C:/Users/cr7/Desktop/escuela/captura/');mkdir(captura,'capturas')mkdir(captura,'images')

    En las siguientes líneas se llamara el video que se cortara de un directorio específico.

    [nombre,ruta]=uigetfile('*.mp4','ABRIR VIDEO');shuttleVideo = VideoReader([ruta nombre]);  

    Aquí si inicia el proceso de cortar cuadro por cuadro. Primero lee el video e inicia con la función

    i=1 es decir que comenzara del segundo 1, dentro habrá una condicional que será un bucle

    para leer segundo a segundo el video e ir asignando nombre y numero a cada imagen asi

    como el formato en el que se desea guardar.

    i=1;while hasFrame(shut tleVideo)

    img = readFrame(shutt leVideo);filename = [sprint f('%03d',i) '.jpg'];fullname = ful lfile(captura,'images',filename);imwrite(img,fullname) % Write out to a JPEG file (img1.jpg, img2.jpg, etc.) 

  • 8/17/2019 Sistema de Detección de Mentiras

    37/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    i= i+10;

    end La siguiente línea de código guardara la imagen en la carpeta del directorio que asignamos al

    principio, asi como un video que es el residuo de las imágenes y que nos mostrara que el video

    se va leyendo cuadro a cuadro.

    imageNames = dir(fullfile(captura,'images','*.jpg'));imageNames = {imageNames.name}';

    outputVideo = VideoWriter(fullfile(captura,'shuttle_out.avi'));outputVideo.FrameRate = shuttleVideo.FrameRate;

    open(outputVideo)

    for  ii = 1:length(imageNames)img = imread(fullfil e(captura,'images',imageNames{ii}));writeVideo(outputVideo,img)

    end 

    close(outputVideo)

    Al final el video que se genera con las imágenes cortadas se guarda en el directorio asignado,

    y se arroja un aviso de que el video y los frames son cargados correctamente.

    shuttleAvi = VideoReader(fullfi le(workingDir,'shuttle_out.avi'));ii = 1;while hasFrame(shuttleAvi)

    mov(ii) = im2frame(readFrame(shuttleAvi));ii = ii+1;

    end msgbox('Video Cargado Correctamente','DETECTOR DE MENTIRAS')

  • 8/17/2019 Sistema de Detección de Mentiras

    38/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Procederemos a checar que el código funciona y que las imágenes son cortadas

    correctamente como se muestra a continuación:

    Fig.1.19 Seleccionamos el video

  • 8/17/2019 Sistema de Detección de Mentiras

    39/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Al seleccionar el video le damos abrir y esperamos a que el video sea cortado (frames).para

    ver que el video está siendo cortado nos vamos al destino donde se guardaran las imágenes

    (Figura1.20).

    Como se observa en la imagen anterior el código esta correcto ya que corta segundo a

    segundo y esta asignando un nombre a cada imagen.

    Fig.1.20 Proceso del Video

  • 8/17/2019 Sistema de Detección de Mentiras

    40/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Una vez terminado con el video procederemos a pasar con la selección de la imagen para ello

    utilizaremos el siguiente Pushbutton  al cual le asignamos el nombre de btnSelectImage,

    dentro del código indicaremos el llamado de la imagen y se la asignaremos al Axes.

    % --- Ejecuta el botón de prensa en btnSelectImage.function btnSelectImage_Callback (hObject, eventdata, handles)% HObject manejar a btnSelectImage (ver GCBO)% Eventdata reservados - que se definirán en una futura versión de MATLAB% Se ocupa de la estructura con asas y los datos de usuario (véase guidata)

    hold off ;addpath(genpath('./'));

    global image_name;global image_path;[image_name,image_path] = uigetfile({'*.jpg';'*.png';'*.tiff';'*.gif'},'Selecciona la imagen');if (~isempty(image_name)&&~isempty(image_path))

    imgPath=strcat(image_path,image_name);imshow(imgPath); hold on;[all_landmarks]=classifyImage(image_path,image_name,handles);plot(all_landmarks(:,1), all_landmarks(:,2),'gx','MarkerSize',2.5);vari=findobj(gcbf, 'Tag','axImage');set(vari,'units','normalized','outerposition' ,[0 1 1 1]);

    end 

    El código que se utiliza se interpreta de la siguiente manera:-Las primeras 4 líneas de código son el inicio, esto indica que son las que utilizaremos como

    variables constantes que darán un valor entero dentro del código.

    hold off ;addpath(genpath('./'));global image_name;global image_path;

    La siguiente línea es el comando de llamado de la imagen a un directorio de la computadora

    o ya sea a la carpeta donde se encuentre, también se genera el tipo de formato en el quebuscara la imagen.

    uigetfile({'*.jpg';'*.png';'*.tiff';'*.gif'},'Selecciona la imagen');

    Enseguida viene una condición la cual funcionara para generar la imagen y al darle click en

    abrir la guardara y mostrara dentro del axes que será nuestra salida (nombre que se le asigno

    en el axes anterior axImage).

  • 8/17/2019 Sistema de Detección de Mentiras

    41/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    if (~isempty(image_name)&&~isempty(image_path))imgPath=strcat(image_path,image_name);imshow(imgPath); hold on;[all_landmarks]=classifyImage(image_path,image_name,handles);plot(all_landmarks(:,1), all_landmarks(:,2),'gx','MarkerSize',2.5);vari=findobj(gcbf, 'Tag','axImage');set(vari,'units','normalized','outerposition' ,[0 1 1 1]);

    end 

    Terminada la condición corremos la interfaz para ver que no exista error, de tal manera que al

    presionar el botón Seleccionar_Imagen nos mande directo al buscador para la imagen

    (figura1.21).

    Esto indica que nuestro código funciona correctamente. Ahora procederemos a la asignación

    del Popupmenu que nos ayudara a que la imagen sea leída 3 veces ya que en el inicio del

    código se le asigna nombre para poder tener varias instancias en los puntos a estudiar del

    rostro y sin este no podrá reconocer el código Chehra, ni la imagen. 

    Fig.1.21 Selección de Imagen

  • 8/17/2019 Sistema de Detección de Mentiras

    42/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    function popupmenu_Callback(hObject, eventdata, handles)

    % HObject manejar a PopUpMenu (ver GCBO )% Eventdata reservados - que se definirán en una futura versión de MATLAB% Se ocupa de la estructura con asas y los datos de usuario (véase guidata )

    % Indicaciones : contenido = cellstr (get ( hObject , ' Cadena ' ) ) vuelve PopUpMenu contenidoscomo matriz celular% Contenido { get ( hObject , ' Valor ' ) } devuelve el elemento seleccionado a partir

    popupmenu

    global image_name;global image_path;if (~isempty(image_name)&&~isempty(image_path))

    [all_landmarks]=classifyImage(image_path,image_name,handles);plot(all_landmarks(:,1), all_landmarks(:,2),'gx','MarkerSize',2.5);end 

    % --- Ejecuta durante la creación del objeto, después de ajustar todas las propiedades.function popupmenu_CreateFcn(hObject, eventdata, handles)% HObject manejar a PopUpMenu (ver GCBO )% Eventdata reservados - que se definirán en una futura versión de MATLAB% Maneja vacío - mangos no se crea hasta que todos llaman CreateFcns

    % Indirecta: controles PopUpMenu por lo general tienen un fondo blanco en Windows .Ver ISPC y el ordenador.

    if   ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor' ))

    set(hObject,'BackgroundColor' ,'white');end 

    En el primer Popupmenu   leeremos la imagen con una condición que indica que si no se

    encuentra una imagen no podrá asignar los puntos y nos retornara a un error.

    global image_name;global image_path;if (~isempty(image_name)&&~isempty(image_path))

    [all_landmarks]=classifyImage(image_path,image_name,handles);plot(all_landmarks(:,1), all_landmarks(:,2),'gx','MarkerSize',2.5);

    end 

  • 8/17/2019 Sistema de Detección de Mentiras

    43/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    El segundo Popupmenu solos nos dará una advertencia que es un retorno lógico del primer

    if que utilizamos en el primero, no nos confundamos es la misma línea de código solo que seles asigna diferente posición debido a las opciones que se dan.

    if   ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor' ))

    set(hObject,'BackgroundColor' ,'white');end 

  • 8/17/2019 Sistema de Detección de Mentiras

    44/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    4.1 Pruebas Del Sistema

    Terminada nuestra interfaz con el código funcionando nos procedemos a hacer pruebas con

    imágenes de personas y/o sujetos que sean monitoreados a través de una cámara web o bien

    en cámaras de vigilancia. Dentro de la pruebas utilizamos un soporte oftalmológico que fue

    diseñado y desarrollado en Solidword (las piezas son mostradas en los anexos).

    4.1.1 Pruebas Con Vid eos

    Las pruebas se realizaran con videos diferentes, para ver la expresión de las personas que se

    encuentran en ese momento cantando y saber su emoción, procederemos a realizarlas.

    El primer paso es llamar a nuestra interfaz (figura1.22), una vez ejecutada abriremos un video

    en específico (Figura 1.23) como se muestra a continuación:

    Fig.1.22 Interfaz Sistema de Detección de Mentiras

  • 8/17/2019 Sistema de Detección de Mentiras

    45/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Una vez seleccionado el video lo abrimos y esperamos un tiempo para que el video sea

    procesado y cortado (frames).Pasado el tiempo de espera vamos a la carpeta donde se

    guardaron las imágenes del video ya procesado:

    Fig.1.23 Inicio del video

    Fig.1.24 Video Procesado

  • 8/17/2019 Sistema de Detección de Mentiras

    46/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    En el momento en el que video termine de ser cortado no dirigimos a nuestra interfaz y

    seleccionaremos una imagen para su estudio:

    Una vez seleccionada la imagen esperaremos el proceso de la misma y cuando este cargada

    se mostrara en pantalla con un mensaje de “imagen cargada correctamente” tal como se

    muestra a continuación:

    1.25 Selección de imagen

    Fig.1.26 Imagen Procesada

  • 8/17/2019 Sistema de Detección de Mentiras

    47/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Como se puede observar en la imagen anterior la detección es correcta y muestra en el lado

    derecho el porcentaje de la emoción. Con lo que podemos decir que el programa funcionaperfectamente.

    Pero para saber si funciona correctamente se hicieron diferentes pruebas en varios sujetos

    para ver el resultado de la emoción con los que se muestran a continuación:

    Fig.1.27 Sujeto 1

    Fig.1.28 Sujeto 2

  • 8/17/2019 Sistema de Detección de Mentiras

    48/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    5.1 Resultados

    Durante las pruebas de nuestro sistema se propuso utilizar un producto comestible en este

    caso el producto era mango deshidratado con ello tendremos pruebas de gusto olor sabor y

    textura a 100 personas. Con ellos podremos hacer una gráfica de los datos que valla arrojando

    nuestro sistema e ir comparándolo con las respuestas de nuestros candidatos esto es con el

    fin de saber que tan factible resulta y que porcentaje tiene en cuanto a la efectividad del

    sistema.

    Primeramente debemos saber las opciones que se plasmaban en nuestra encuesta para así

    saber que contestaron nuestros candidatos:

    1 .MALO

    2 .REGULAR

    3 .BUENO

    4 .MUY BUENO

    5 .EXCELENTEPero para hacer más factible el resultado en nuestro sistema, fueron monitoreados sin su

    permiso, es decir, fueron grabados en todo momento para que así la expresión no fuera

    afectada o simularan otra cosa.

    Una vez terminada la prueba nos dirigimos a verificar los videos y las encuestas, se verifico a

    las 100 personas que probaron el alimento.

    Se realizó el proceso con el sistema con cada sujeto y al final comparamos su respuesta con

    la expresión. Para dar un balance de las 100 personas sometidas al sistema se propusorealizar gráficas para tener una estadística de respuestas con expresión. Pasemos a verificar

    las gráficas y dar los resultados de nuestra prueba.

  • 8/17/2019 Sistema de Detección de Mentiras

    49/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    En la siguiente grafica (Figura 1.1) nos muestra el 100% como las personas que hicieron laprueba del producto y las opciones que la persona puso, lo que representa que sin aplicar el

    sistema:

      El 5% de las personas respondió porque que era malo

      El 5% de las personas respondió que era regular

      El 50% de las personas respondió que era bueno

      El 20% de las personas respondió que era muy bueno

      El 20% de las personas respondió que era excelente

    0%

    10%

    20%

    30%

    40%

    50%

    60%

    70%

    80%

    90%

    100%

    A.MALO 2.REGULAR 3.BUENO 4.MUY BUENO 4.EXCELENTE

    5% 5%

    50%

    20% 20%

    RESULTADO DE ENCUESTA

    Fig.1.1 Grafica de resultados

  • 8/17/2019 Sistema de Detección de Mentiras

    50/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Las 100 personas sin ser sometidas al sistema respondieron de acuerdo a lo que sentían en

    el momento ahora les mostraremos la gráfica cuando fue aplicado el sistema y veremos silas cifras cambian. (Se analizaron las respuestas con la expresión pero debido al número de

    personas solo se pondrá la gráfica).

    En la siguiente grafica (Figura1.2) nos muestra que hubo cambios en el porcentaje ya con la

    aplicación del sistema con lo cual quedaría de la siguiente manera:

      Del 5% de las personas que respondieron que era malo subió a 23% lo que quiere

    decir que el 18% mintió en cuanto a su respuesta original

      Del 5% de las personas respondieron que era regular subió a 25% lo cual quiere decir

    que el 20% mintió en cuanto a su respuesta original.

      Del 50% de las personas que respondieron que era bueno bajo a 35% lo que quiere

    decir que el 15 % mintió en cuanto a su respuesta original.

      Del 20% de las personas respondieron que era muy bueno bajo a 9% con lo que

    quiere decir que 11% mintió en cuanto a su respuesta original.

      El 20% de las personas respondieron que era excelente bajo a 8% con lo que quiere

    decir que 12% mintió en cuanto a su respuesta original.

    0%

    20%

    40%

    60%

    80%

    100%

    23%   25%

    35%

    9%   8%

    RESULTADO DE APLICACIÓN DEL

    SISTEMA

    Fig.1.1 Grafica de resultados con el sistema

  • 8/17/2019 Sistema de Detección de Mentiras

    51/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Lo que nos da como resultado que el 76% de las personas mintió en cuanto a la respuesta

    que originalmente dio en la encuesta. Por lo que podemos decir que el sistema funcionacorrectamente y que nos es factible en un 80 % de probabilidad de ser exacto.

  • 8/17/2019 Sistema de Detección de Mentiras

    52/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    5.2 Conclusiones

    En nuestro desarrollo del proyecto se analizó cada uno de los procesos de la interfaz gráfica

    con su respectivo código. Nuestro proceso fue probado mediante entrevistas y encuestas de

    productos en vías de salir al mercado, con lo cual haría más exacto saber si el comprador o

    en este caso el sujeto a probar el producto contesta de acuerdo a una seria de preguntas

    hechas en ese momento. Durante la implantación del sistema nos encontramos con varias

    inquietudes en parte de la aplicación, los cuestionamientos eran que tan efectiva era la

    herramienta y que tan exacta seria. Para responder a dicho cuestionamiento se realizaron

    pruebas con varios individuos que se sometieron a una encuesta previa. Con lo cual nos dioun 90% de probabilidad de que el sistema daba el resultado correcto, y así fue llevado a campo

    para ser probado en áreas de productos.

    En cuanto al funcionamiento del sistema podemos decir que es una herramienta capaz de

    detectar emociones y mentiras en tiempo real, ya que podemos ver que las emociones son

    difíciles de percibir a simple vista, nuestro sistema da la emoción en un porcentaje de 1 a 100

    con lo cual podemos tener un diagnóstico más preciso y dar un buen resultado. Le podemos

    dar muchas aplicaciones ya sea en una entrevista de trabajo o en alguna investigación con

    respecto al área de investigación de un criminal, entre otros.

    Con ello podemos decir que el sistema funciona correctamente y es una muy buena

    herramienta para saber de una manera más precisa si la persona a la que apliquemos el

    estudio nos está diciendo la verdad o una mentira o ya sea para conocer su estado de ánimo.

  • 8/17/2019 Sistema de Detección de Mentiras

    53/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

     ANEXO

    Herramientas Físic as

    Piezas del Sopor te Oftalmológi co (Sol idWords)

    1.1 Diseño de la base de la donde se colocara la cara del sujeto.

    Sólidos 

    Nombre de documentoy referencia 

    Tratado

    como 

    Propiedadesvolumétricas 

    Ruta al documento/Fecha demodificación 

    Saliente-Extruir4

    Sólido 

    Masa:7.55856 kg Volumen:0.00096164

    8 m^3 Densidad:7860

    kg/m^3 Peso:74.0739 N 

    C:\Users\cr7\Desktop\SOPORTE OFTAL\base boca

    2.SLDPRT Oct 13 22:08:16 2015 

  • 8/17/2019 Sistema de Detección de Mentiras

    54/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Referencia de modelo  Propiedades  Componentes 

    Nombre:  201 Aceroinoxidablerecocido (SS) 

    Tipo de modelo:  Isotrópicoelástico lineal 

    Criterio de errorpredeterminado: 

    Tensiónmáxima de vonMises 

    Límite elástico:  2.92e+008

    N/m^2 Límite detracción: 

    6.85e+008N/m^2 

    Sólido 1(Saliente-Extruir4)(base boca

    2) 

    Nombre Tipo Mín. Máx.Displacement URES: Desplazamiento resultante 0 mm

    Nodo: 353.38633e-006 mm

    Nodo: 148

    Nombre Tipo Mín. Máx.Stress VON: Tensión de von Mises 0.983779 N/m^2

    Nodo: 171686.6 N/m^2

    Nodo: 62

    base boca 2-SimulationXpress Study-Tensiones-Stress 

  • 8/17/2019 Sistema de Detección de Mentiras

    55/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Nombre Tipo Mín. Máx.

    base boca 2-SimulationXpress Study-Desplazamientos-Displacement 

    Nombre Tipo Mín. Máx.Factor of Safety Tensión de von Mises

    máx.173130Nodo: 62

    2.96815e+008Nodo: 17

    base boca 2-SimulationXpress Study-Factor de seguridad-Factor of Safety 

  • 8/17/2019 Sistema de Detección de Mentiras

    56/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    1.2 base de movilidad para ajustar la cara del sujeto.

    Sólidos 

    Nombre de documento yreferencia 

    Tratado como  Propiedades volumétricas 

    Ruta aldocumento/Fec

    ha demodificación 

    Redondeo1

    Sólido 

    Masa:0.925927 kg Volumen:0.000342936 m^3 

    Densidad:2700 kg/m^3 Peso:9.07408 N 

    C:\Users\cr7\Desktop\SOPORTE OFTAL\baseboca.SLDPRT 

    Oct 13 21:59:432015 

  • 8/17/2019 Sistema de Detección de Mentiras

    57/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Referencia de modelo  Propiedades  Componentes Nombre:   Aleación 1060 Tipo de modelo:  Isotrópico

    elástico lineal Criterio de errorpredeterminado: 

    Tensión máximade von Mises 

    Límite elástico:  2.75742e+007N/m^2 

    Límite detracción: 

    6.89356e+007N/m^2 

    Sólido1(Redondeo1)(baseboca) 

    Nombre Tipo Mín. Máx.Displacement URES: Desplazamiento resultante 0 mm

    Nodo: 330.00019813 mmNodo: 799

    base boca-SimulationXpress Study-Desplazamientos-Displacement 

    Nombre Tipo Mín. Máx.Factor of Safety Tensión de von Mises máx. 716.635

    Nodo: 951.03151e+006Nodo: 12783

  • 8/17/2019 Sistema de Detección de Mentiras

    58/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    base boca-SimulationXpress Study-Factor de seguridad-Factor of Safety 

    Nombre Tipo Mín. Máx.Stress VON: Tensión de von Mises 26.7318 N/m^2

    Nodo: 1278338477.3 N/m^2Nodo: 95

    base boca-SimulationXpress Study-Tensiones-Stress 

    1.3 Diseño de un tubo para el soporte de la base de la boca y la barra móvil del mismo.

  • 8/17/2019 Sistema de Detección de Mentiras

    59/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Sólidos 

    Nombre de documentoy referencia 

    Tratado

    como 

    Propiedadesvolumétricas 

    Ruta al documento/Fecha demodificación 

    Cortar-Extruir1

    Sólido 

    Masa:0.18555 kg Volumen:6.87223

    e-005 m^3 

    Densidad:2700kg/m^3 Peso:1.81839 N 

    C:\Users\cr7\Desktop\SOPOR

    TE OFTAL\base tubo.SLDPRT Oct 16 09:25:21 2015 

  • 8/17/2019 Sistema de Detección de Mentiras

    60/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    Referencia de modelo  Propiedades  Componentes 

    Nombre:   Aleación 1060 Tipo de modelo:  Isotrópico

    elástico lineal Criterio de error

    predeterminado: Tensiónmáxima devon Mises 

    Límite elástico:  2.75742e+007N/m^2 

    Límite de

    tracción: 

    6.89356e+007

    N/m^2 

    Sólido1(Cortar-Extruir1)(basetubo) 

    Nombre Tipo Mín. Máx.Stress VON: Tensión de von Mises 31.9447 N/m^2

    Nodo: 5227122.468 N/m^2Nodo: 601

    base tubo-SimulationXpress Study-Tensiones-Stress 

    Nombre Tipo Mín. Máx.Displacement URES: Desplazamiento resultante 0 mm

    Nodo: 1533.64213e-007 mmNodo: 9419

  • 8/17/2019 Sistema de Detección de Mentiras

    61/69

     

    TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico de Iztapalapa

    Av. Telecomunicaciones S/N, Col. Chinampac de Juárez, C.P. 09208Iztapalapa, D.F., Tel. 5773-8210, e-mail:

    [email protected]

    www.itiztapalapa.edu.mx

    base tubo-SimulationXpress Study-Desplazamientos-Displacement 

    Nombre Tipo Mín. Máx.Factor of Safety Tensión de von Mises máx. 225155

    Nodo: 601863186Nodo: 5227

    base tubo-SimulationXpress Study-Factor de seguridad-Factor of Safety 

    1.4 Diseño de Sostenedor de Plástico, Tornillo de Mariposa, Anillo de Presión y Tuerca deMovimiento Libre.

  • 8/17/2