Você está na página 1de 104

DISEÑO DE UN SISTEMA INTERACTIVO USANDO VISION ARTIFICIAL PARA FINES DE PERCEPCION DE INDICADORES DE INTERES PARA AMBIENTES DE ENSEÑANAZA VIRTUALES EN LA POBLACION UNIVERSITARIA

Una Tesis Presentada Para Obtener El Título De Ingeniero en Mecatrónica Universidad de Pamplona, Villa del Rosario

Ortega Guillin, Enderson Junio 2018.

DISEÑO DE UN SISTEMA INTERACTIVO USANDO VISION ARTIFICIAL PARA FINES DE PERCEPCION DE INDICADORES DE INTERES PARA AMBIENTES DE ENSEÑANZA VIRTUALES EN LA POBLACION UNIVERSITARIA

Autor ENDERSON ORTEGA GUILLIN

Director OSCAR MANUEL DUQUE SUAREZ Ingeniero Mecatrónico MSC.

INGENIERÍA MECATRÓNICA DEPARTAMENTO DE MECÁNICA, MECATRÓNICA E INDUSTRIAL FACULTAD DE INGENIERÍAS Y ARQUITECTURA UNIVERSIDAD DE PAMPLONA VILLA DEL ROSARIO, 2018

Dedicatoria

A Dios por regalarme esta grata oportunidad de haber llegado hasta este punto dándome la salud necesaria para ello, además de su gran amor e infinita bondad para conmigo.

A mis padres pues ellos día a día alimentaron el deseo en mí de seguir adelante y no parar hasta conseguir mis metas, sus consejos fueron determinantes para levantarme después de cada tropiezo, sin ellos nada de esto hubiera sido posible.

Agradecimientos

Le agradezco infinitamente a Dios por haberme regalado la gran oportunidad de estudiar esta carrera acompañándome y guiándome a lo largo de la misma, por ser mi gran apoyo y fortaleza en los instantes más difíciles. Le doy gracias a mis padres Elías y Olga por darme su apoyo en todo momento, por los principios y valores que me enseñaron desde niño dándome la oportunidad de contar con una muy buena educación. Le agradezco a mis amigos y compañeros por haberme dado su apoyo en el transcurso de la carrera. Agradezco al Ingeniero Duque por todo el apoyo que me brindo desde el instante que inicie con este proyecto, por su tiempo y conocimientos.

1

Contenido

Índice

de

Figuras

....................................................................................................

9

2

Índice de Tablas

...................................................................................................

12

  • 3 ...............................................................................................................

Resumen

13

Abstract

  • 4 ................................................................................................................

14

  • 5 CAPÍTULO 1 INFORMACION GENERAL E INTRODUCCION

.....................

1

  • 5.1 Introducción

....................................................................................................

1

  • 5.2 Formulación del problema

..............................................................................

2

  • 5.3 Definición del problema

..................................................................................

2

  • 5.4 Justificación

.....................................................................................................

2

  • 5.5 Objetivo General .............................................................................................

3

  • 5.6 Objetivos Específicos

......................................................................................

3

  • 5.7 Marco Teórico

.................................................................................................

4

  • 5.7.1 Visión Artificial

.......................................................................................

4

  • 5.7.2 Áreas donde se aplica la visión artificial

.................................................

5

  • 5.7.3 Etapas de la Visión Artificial

...................................................................

7

  • 5.7.4 Instrumentos para captación de imágenes

..............................................

10

  • 5.7.5 Reconocimiento Facial

...........................................................................

12

  • 5.7.6 Enseñanza Virtual

..................................................................................

12

  • 5.7.7 Sistemas de Percepción

..........................................................................

13

  • 5.8 Estado del Arte

..............................................................................................

14

  • 6 CAPITULO 2 CRITERIOS DE DISEÑO Y SELECCION

18

6.1

Sistemas de Visión Artificial

 

18

6.1.1

Sistemas de visión 1D

18

6.1.2

Sistema de visión 2D

19

6.1.3

Escaneo superficial vs Escaneo lineal

20

6.1.4

Sistemas

3D

21

6.1.5

Sistemas de visión independientes

23

6.1.6

Sistemas

de

visión

Integrados

23

6.2

Sistemas de percepción de interés

.................................................................

24

6.2.1

Percepción de Bajo y Alto Nivel

25

6.3

Indicadores de Interés ....................................................................................

27

6.4

Caso de estudio seleccionado

 

28

6.5

Selección del software

29

6.5.1

ROS (Robot Operating System)

30

6.5.2

Matlab

30

6.5.3

OpenCV

32

6.5.4

Selección de Software por medio de puntuación

33

6.5.5

Selección de Hardware

 

35

  • 7 CAPÍTULO 3 DISEÑO DEL SISTEMA Y TECNICA A UTILIZAR

38

7.1

Reconocimiento

facial

38

7.2

Características a

Seleccionar

39

 

7.3

Técnica a utilizar

41

8

CAPITULO 4 APLICACIÓN DEL CASO DE ESTUDIO EN EL DISEÑO DEL

SISTEMA

 

42

 

8.1

Tipos de enseñanza virtual

............................................................................

42

 

8.1.1

E-learning: ..............................................................................................

42

8.1.2

B-learning

43

8.1.3

M-learning

43

 

8.2

Explicación del funcionamiento del sistema (Pseudo Código)

 

44

9

CAPÍTULO

5

IMPLEMENTACION

DEL

SISTEMA

DE

VISION

INTERACTIVO

 

49

 

9.1

Instalación de Ubuntu 16.04

49

9.2

Instalación de OpenCV

54

9.3

Instalación de Python

....................................................................................

55

9.4

Instalación de dlib en Ubuntu

........................................................................

56

9.5

Interfaz del Sistema de visión artificial

58

  • 10 CAPITULO 6 VALIDACION DEL SISTEMA DE VISION INTERACTIVO . 61

  • 10.1 Inicio del Sistema desde la terminal

..........................................................

61

  • 10.2 Adquisición de datos para los umbrales de los ojos y boca

62

  • 11 CAPITULO 7 CONCLUSIONES Y DISCUSION DE RESULTADOS

72

  • 12 CAPITULO 8 RECOMENDACIONES PARA TRABAJOS FUTUROS

74

  • 13 BIBLIOGRAFIAS

75

14

ANEXOS

.............................................................................................................

79

  • 1 Índice de Figuras

Figura 1 Imagen Original, primera etapa de visión

8

Figura 2 Imagen procesada, segunda etapa

8

9

Figura 4 Cámara lineal de 2048

11

11

11

Figura 7 Etapa de

13

Figura 8 Sistema de visión 1D, escaneo de una línea mientras el proceso avanza. Se ha

detectado un defecto en la tela

 

19

 

19

20

21

21

Figura 13 Sistema de inspección 3D con una sola cámara

22

Figura 14 Esquema de la etapa de percepción

24

Figura 15 Profundidad en una escena, posiblemente reconocible

26

Figura 16 Ejemplo del flujo descendente

26

Figura

17

Logo

de

ROS

30

Figura

18

Logo

de

Matlab

31

Figura

19

Logo

de

OpenCV

33

Figura 20 Cámara Web Asus X455L

35

Figura 21 Kinect V1

 

36

Figura 22 Inicialización de la cámara Figura 23 Conexión paquete predictor

..........................................................................

........................................................................ Figura 24 Calibración para ojos tanto cerrados como abiertos

....................................

44

44

45

Figura 25 Calibración para boca cerrada y abierta. Carga de paquetes

.......................

45

Figura 26 Elección del programa a visualizar

.............................................................. Figura 27 Lectura del estado del usuario, concentrado o distraído

..............................

46

46

Figura 28 Valores del contador indicando si habrá cambio de video o no

..................

48

Figura 29 Logo de Ubuntu 16.04

.................................................................................

49

Figura 30 Primera pantalla de la instalación de Ubuntu, selección de idioma e inicio de

instalación

 

51

Figura 31 Descarga de actualizaciones e instalación de software

51

Figura 32 Tipo de instalación, elección de los dos sistemas

52

Figura 33 Selección de zona horaria

53

Figura 34 Selección del nombre y usuario

53

Figura 35 Escritorio de Ubuntu 16.04

54

Figura

36

Dependencias de dlib

56

Figura 37 Entorno virtual de Python

57

57

57

Figura 40 Importación de la biblioteca Dlib

58

58

Figura 42 Obtención de los valores umbrales de los ojos y boca en su etapa inicial

59

Figura 43 Datos presentados en la terminal del sistema, valores de umbrales ojos y boca

......................................................................................................................................

60

Figura 44 Apertura de terminal e ingreso al entorno virtual

61

Figura 45 Ingreso al Sistema e Inicialización de la cámara

62

62

Figura 47 Sistema en espera por acción del Usuario #1. Ojos cerrados

63

63

Figura 49 Sistema en espera por acción del Usuario #1. Boca cerrada

64

Figura 50 Calibración del valor de los umbrales

64

65

Figura 52 Visualización del contenido del programa de ingeniería

65

Figura 53 Estado: Poca Atención

66

Figura 54 Estado: Distraído

67

67

Figura 56 Cambio correcto de Tema

68

68

69

Figura 59 Sistema en espera por acción del Usuario #2. Ojos cerrados

69

Figura 60 Sistema en espera por acción del Usuario #2. Boca cerrada

70

Figura 61 Sistema en espera por acción del Usuario #2. Abertura de boca

70

Figura 62 Boca abierta para la adquisición de información

71

Figura 63 Validación del sistema, exitosa

71

  • 2 Índice de Tablas

Tabla 1 Matriz de selección Norma iso 25000

............................................................ Tabla 2 Matriz de selección Sistema de Percepción

....................................................

34

37

3

Resumen

El presente trabajo de tesis se ha realizado como requisito para obtener el grado de Ingeniero en Mecatronica de la Universidad de Pamplona. Se describe la realización de un sistema de percepción mediante visión artificial para fines de percepción de indicadores de interés para ambientes de enseñanza virtuales, el cual es un sistema que tiene como objetivo principal medir el interés o asegurarse de que el usuario está interesado en lo que se le está proyectando a través de la pantalla o interfaz del sistema generando de este modo una interacción entre el sistema y el usuario.

Mientras el interés se vaya midiendo en el usuario, el sistema tendrá la capacidad de irse reformulando a medida que este no sea de su agrado por referirnos a algún tema o temática específica y una vez ya modificado lograr mantener el interés del estudiante. Dicho interés ha sido medido con la cantidad de veces que el usuario tuvo contacto con el sistema. Los criterios de diseño se fueron definiendo según el planteamiento del caso de estudio que para nuestro caso fue de enseñanza virtual. Esto nos permitió a su vez definir las condiciones del sistema sobre los cuales se basarían los indicadores de interés (reconocimiento de emociones). Por último y ya con todos los aspectos definidos empezamos a programar el sistema por medio de herramientas y librerías las cuales tienen soporte en la red y previamente programadas para su uso, tal es el caso de la librería Dlib la cual cuenta con una función para la ubicación de los puntos del contorno del rostro de una persona.

4

Abstract

The present thesis work has been done as a requirement to obtain the degree in Mechatronics Engineering from the University of Pamplona. The realization of a perception system by means of artificial vision for the purpose of perceiving indicators of interest for virtual teaching environments is described, which is a system whose main objective is to measure the interest or make sure that the user is interested in what it is being projected through the screen or system interface, thus generating an interaction between the system and the user. While the interest is measured in the user, the system will have the ability to be reformulated as it is not to your liking to refer to a specific topic or topic and once modified to maintain the interest of the student. This interest has been measured with the number of times the user had contact with the system. The design criteria were defined according to the case study approach that for our case was virtual teaching. This allowed us in turn to define the conditions of the system on which the indicators of interest (recognition of emotions) would be based. Finally, and with all the defined aspects, we began to program the system through tools and libraries which are supported in the network and previously programmed for their use, such is the case of the Dlib library, which has a function for the location of the contour points of a person's face.

  • 5 Capítulo 1

Información general e Introducción

Este capítulo se ha orientado a dar información detallada de cada uno de los aspectos importantes del proyecto como lo es la introducción del mismo y los objetivos a cumplir a cabalidad, también se hace un enfoque claro en el marco teórico el cual nos

brinda información importante acerca de la visión artificial, como su definición y áreas de aplicación. Además de conceptos que ayuden al entendimiento de cómo funciona el reconocimiento facial y la enseñanza virtual ya que son de vital importancia en el desarrollo de este proyecto.

5.1 Introducción

Como efecto del gran desarrollo de la visión artificial y los eventos que rodean al mundo, nace de este punto la necesidad de poder contar con sistemas que nos ayuden en la toma de decisiones en determinadas situaciones específicas y sean estos superando las limitaciones del sistema de percepción humano en el sentido de atención. No cabe duda y por experiencias podemos decir que el ser humano se puede concentrar por periodo cortos de tiempo, en ciertos eventos que se consideren importantes, la cantidad de información que se procesa e interpreta es usualmente muy limitada. Es esta una de las razones por las cuales hemos querido en este trabajo buscar una solución para dicha problemática a través de un sistema interactivo usando visión artificial para fines de percepción de indicadores de interés para ambientes de enseñanza virtuales y evitar que se pierda la información que se quiere enseñar una vez el usuario (en nuestro caso universitario) se distraiga o esta deje de importarle.

5.2

Formulación del problema

Hoy día existe cierta inconsistencia, ciertos inconvenientes en los agentes de enseñanza virtuales ya que no sabemos si estos temas son de interés para el usuario, pues dicho interés no está siendo medido. Esto no nos permite garantizar si la información está llegando realmente o se termina desperdiciando por no tener algún indicador que nos lo informe. Por lo tanto, la pregunta a responder es ¿El problema se podrá solucionar a través del desarrollo de un sistema que nos permita percibir los indicadores de interés a través de la visión artificial?

  • 5.3 Definición del problema

Actualmente los métodos de enseñanza o presentación de cualquier tipo de información, no tienen forma alguna para lograr realimentar el interés de la información brindada por parte de los usuarios, por esta razón se propone el diseño de un sistema interactivo y así mitigar esta problemática.

  • 5.4 Justificación

Se busca diseñar un sistema de visión artificial el cual se puedan ejecutar los conocimientos aprendidos para que la necesidad sea resuelta o cubierta por un diseño mecatrónico.

Si se lograra sintetizar un producto que fuera un diseño de percepción de interés con visión artificial, este diseño no solo permitiría ser usado con este fin si no que con otras adaptaciones podría dársele un espectro más amplio de aplicaciones creando así una nueva gama que tendría diferentes impactos en áreas de la publicidad, la enseñanza, el aprendizaje, los sistemas guiados, los sistemas informáticos, la interfaz humano- maquina entre otros.

  • 5.5 Objetivo General

Diseñar un sistema interactivo usando visión artificial para fines de percepción de indicadores de interés para ambientes de enseñanza virtuales en la población universitaria.

  • 5.6 Objetivos Específicos

Establecer los criterios de diseño del sistema de visión artificial del caso de

estudio específico, criterios del software y hardware y las características. Diseñar el sistema de visión artificial que permita el establecimiento de las

características seleccionadas. Diseñar el sistema, caso de estudio que se seleccionó y que en conjunto con el

sistema de visión artificial permita medir el interés de manera que se mantenga la interacción social. Implementar el sistema interactivo usando visión artificial.

Validar el sistema de visión interactivo.

5.7

Marco Teórico

  • 5.7.1 Visión Artificial

La visión artificial encierra a un sin número de procesos ópticos por medio de un sistema capaz de sacar u obtener información del entorno para su debida interpretación a través del uso de la computadora. En sus inicios cada uno de los sistemas de visión artificial estaban fundamentados en la visión humada, sin embargo, debido al déficit de entendimiento de los procesos que tienen lugar en el cerebro en el momento de interpretar los diferentes datos del sistema visual, dichos sistemas artificiales resultaron fundamentalmente imprácticos. Nuestro sistema visual en combinación con el cerebro humano, nos da la capacidad de reconocer e interpretar a un entorno de una manera mucho más flexible y sin duda alguna más adaptable a un determinado número de cambios que cualquier otro tipo de sistema de visión artificial. Sin embargo, los sistemas de visión artificial tienen la capacidad de procesar un sin número de datos en un menor tiempo de tratarse de tareas repetitivas. Teniendo ya una idea más clara de lo que es visión artificial o que factores la componen, podemos definir como termino independiente de lo que es visión. Se pude decir

entonces que “visión” es la entrada al mundo de un sin número de organismos. Su

principal función es localizar y reconocer objetos en el entorno por medio del procesamiento de imágenes. En el área de computación, la visión se encarga de estudiar

dichos procesos, para entenderlos y fabricar maquinas con cada una de estas capacidades o en su defecto lo más similar posible.

  • 5.7.2 Áreas donde se aplica la visión artificial

    • 5.7.2.1 Navegación en robótica: Para

este

caso, la visión hace parte del sistema multidimensional. La

información que proviene de la visión es corroborada, comparada y por ultimo integrada con el resto de la información suministrada por otro tipo de sensores. El resultado que se obtiene es la reconstrucción de la escena 3D, la cual permite la navegación autónoma del sistema.

  • 5.7.2.2 Biología:

En el territorio de la biología se puede distinguir entre aplicaciones macroscópicas y microscópicas. En una imagen microscópica nos encontramos con un sin número de organismos que, por medio de técnicas de segmentación orientadas a regiones, se podrían aislar para así poder identificar plenamente cada una de sus propiedades, como lo son su tamaño, excentricidad, color, etc.

  • 5.7.2.3 Meteorología:

En el campo de la meteorología se podría utilizar técnicas de detección y predicción del movimiento, dichas técnicas nos permitirían observar a través de imágenes satelitales si hay o no evolución de masas nubosas u otros fenómenos meteorológicos.

5.7.2.4

Geología:

En este caso se pueden detectar movimientos de terrenos a través de la captación de dos imágenes en diferentes momentos para poder observar la variación por medio de una variación de las imágenes (teniendo en cuenta que las condiciones de iluminación sean similares).

  • 5.7.2.5 Medicina:

En la comunidad médica existen muchas aplicaciones en las que aparecen imágenes procesadas orientadas hacia el diagnóstico de dolencias o un sin número de enfermedades, en estas aplicaciones se incluyen radiografías, resonancias magnéticas, entre otras.

  • 5.7.2.6 Identificación de construcciones, infraestructuras y objetos en escenas de

exterior:

Por medio de imágenes satelitales o aéreas se puede determinar la presencia de regiones por medio de la segmentación de las mismas, también se puede detectar la presencia de construcciones o infraestructuras por medio de técnicas de extracción de bordes combinadas con la segmentación de regiones.

  • 5.7.2.7 Reconocimiento y clasificación:

Posiblemente una aplicación seria la clasificación de objetos por su tamaño o color. Como ejemplo podríamos mencionar el conteo de monedas en función de su área, perímetro o numero Euler a través del proceso de binarización.

5.7.2.8

Cartografía:

A través del uso de imágenes estereoscópicas aéreas o de satélites se pueden obtener las elevaciones del terreno con procedimientos, principalmente por medio de técnicas de correspondencia fundamentadas en el área.

  • 5.7.2.9 Fotointerpretación:

Esta técnica se emplea para estudiar y analizar toda la información contenida en una fotografía aérea, obteniendo así una percepción remota del lugar analizado, por medio de este proceso se extrae dicha información, resaltando absolutamente todos los elementos que estén presentes en la misma.

  • 5.7.2.10 Control de calidad:

En este campo la visión se puede aplicar en varias tareas como lo son: inspección de productos, identificación de piezas, etiquetados, inspección de circuitos impresos y también en el control de calidad de los alimentos.(Paz, 2015)

  • 5.7.3 Etapas de la Visión Artificial

En los sistemas de visión artificial se hace uso de diversas técnicas, como lo son el procesamiento de imágenes o el reconocimiento de formas. Aunque cada aplicación de visión artificial tiene sus características específicas, existen una serie de etapas que son comunes en todo proceso.

5.7.3.1

Adquisición:

Es la etapa o el proceso a través del cual se obtiene una imagen visual. Esta

etapa es quizá la más importante ya que una buena adquisición de la imagen permitirá la obtención de los objetivos de las siguientes fases.

5.7.3.1 Adquisición: Es la etapa o el proceso a través del cual se obtiene una imagen

Figura 1 Imagen Original, primera etapa de visión Fuente: (Javier Garzón, 14:34:28 UTC Visión Artificial Raspberry Pi)

  • 5.7.3.2 Pre-procesamiento:

En esta etapa se incluyen técnicas como lo son la reducción de ruido y realce de

detalles

5.7.3.1 Adquisición: Es la etapa o el proceso a través del cual se obtiene una imagen

. Figura 2 Imagen procesada, segunda etapa Fuente: (Javier Garzón, 14:34:28 UTC Vision Artificial Raspberry Pi)

5.7.3.3

Segmentación:

Se realiza la extracción de información contenida en la imagen, esta extracción se realiza descomponiendo la imagen en unidades homogéneas con respecto a una o más características

5.7.3.3 Segmentación: Se realiza la extracción de información contenida en la imagen, esta extracción se realiza

Figura 3 Imagen segmentada, reconocimiento de rostro

Fuente: (Javier Garzón, 14:34:28 UTC Vision Artificial Raspberry Pi)

  • 5.7.3.4 Extracción de características:

Este es el proceso por medio del cual se obtienen características convenientes para diferenciar un tipo de objeto de otro, como por ejemplo por su tamaño y forma.

  • 5.7.3.5 Reconocimiento y clasificación:

En esta etapa se pueden identificar todos los objetos de una escena como por ejemplo los diferentes tipos de piezas en un tablero de ajedrez.

5.7.3.6

Interpretación:

Su objetivo principal es darles significado a todos y cada uno de los objetos reconocidos. (Javier Garzón, 14:34:28 UTC Visión Artificial Raspberry Pi)

  • 5.7.4 Instrumentos para captación de imágenes

    • 5.7.4.1 Cámaras:

Estos dispositivos tienen como función principal capturar la imagen proyectada en el sensor, para seguidamente transferirla a un sistema electrónico. Las cámaras que se utilizan en visión artificial deben tener una serie de características que hagan posible el control de disparo de la cámara para capturar piezas que pasan por delante de ella en la posición requerida. En la mayoría de los sistemas de visión se deben utilizar cámaras

sofisticadas pues estas permiten al usuario realizar un control completo de: tiempos, señales, velocidad de obturación, sensibilidad, etc. Las cámaras web y la mayoría de cámaras de video permiten ser conectadas de manera directa a los ordenadores mediante los puertos USB, FireWire o Thunderbolt, para así poder capturar sus fotogramas en tiempo real

Tipos de Cámaras:

Existe una cámara específica para cada aplicación ya sea de color, monocromo,

alta definición, alta sensibilidad, alta velocidad, infrarrojas, etc. A continuación, se hará mención de las más utilizadas:

Cámaras lineales

Figura 4 Cámara lineal de 2048 Fuente: («visionartificial.pdf», 2017)  Cámaras matriciales Figura 5 Cámara matricial

Figura 4 Cámara lineal de 2048 Fuente: («visionartificial.pdf», 2017)

Cámaras matriciales

Figura 4 Cámara lineal de 2048 Fuente: («visionartificial.pdf», 2017)  Cámaras matriciales Figura 5 Cámara matricial

Figura 5 Cámara matricial de 768x494 Fuente: («visionartificial.pdf», 2017)

Cámara color

Figura 4 Cámara lineal de 2048 Fuente: («visionartificial.pdf», 2017)  Cámaras matriciales Figura 5 Cámara matricial

Figura 6 Cámara a color de 752x582 [3] Fuente: («visionartificial.pdf», 2017)

5.7.5

Reconocimiento Facial

Los sistemas de reconocimiento facial nos permiten identificar a una determinada persona observando las características biométricas de su rostro. Hace algunos años era común utilizar modelos geométricos sencillos para el análisis del rostro, la extracción de esta información se logra a través de las características biométricas del rostro, estas están ligadas a muy desarrollados procesos matemáticos y algoritmos de coincidencia. Esto ha permitido el avance de la tecnología de reconocimiento facial en un sin número de mercados. Principalmente existen dos tipos de sistemas de reconocimiento facial:

Los que son basados en los rasgos faciales de una persona, como lo son: la boca, los ojos, la nariz etc. Estos utilizan medidas de distancias entre los diferentes rasgos y medidas de los ángulos de la cara. A estos se les conoce como sistemas geométricos. El otro sistema de reconocimiento facial, es el sistema fotométrico, este nos dota de información de una manera global del rostro completo. Aunque también existen los sistemas mixtos, que encierran absolutamente todas las características de los dos anteriores. («Reconocimiento facial», 2018)

  • 5.7.6 Enseñanza Virtual También conocida bajo el término de “educación en línea”, se refiere a la

formación de ciertos programas de formación en los cuales se utiliza el ciberespacio como escenario de enseñanza. Esta hace referencia o nos da a entender a que no es necesario que el tiempo y espacio se conjuguen con el cuerpo para poder establecer una experiencia de

aprendizaje o un posible encuentro de dialogo. Sin que se lleve a cabo dicho encuentro entre el docente y alumno es posible establecer una relación interpersonal de carácter educativo. Desde este punto de vista, la enseñanza virtual es un medio que busca generar espacios de formación, fundamentándose en las TIC (Tecnologías de la Información y la Comunicación) para crear una nueva forma de enseñar y aprender.(«Educación virtual o educación en línea - Ministerio de Educación Nacional de Colombia», 2009).

  • 5.7.7 Sistemas de Percepción

Los sistemas de percepción tienen un sin número de aplicaciones entre las cuales se resaltan la detección, monitorización y la identificación de uno o varios elementos en un entorno. El sistema de percepción más usado se basa en sensores de cámara de video, pues a partir de estos se pueden obtener imágenes de uno o varios objetos que estén presentes en una escena, una vez procesadas y segmentadas permiten extraer características las cuales se pueden emplear para identificar qué tipo de objeto hay en dicha escena y si tienen o no algún defecto o anomalía.(«García - Sistemas de Percepción y Visión por Computador.pdf», 2015)

aprendizaje o un posible encuentro de dialogo. Sin que se lleve a cabo dicho encuentro entre

Figura 7 Etapa de percepción. Fuente: («García - Sistemas de Percepción y Visión por Computador.pdf», 2015)

5.8

Estado del Arte

(«15950.pdf», 2014)(Vázquez López Miguel Ángel, 2014) En este proyecto de grado que se llevó a cabo en el Centro de Investigaciones en Óptica A.C. de Guanajuato, se desarrolla un sistema de reconocimiento facial partiendo del análisis de rostros digitalizados en tres dimensiones. El cálculo de la información tridimensional del rostro se realiza a través de un sistema de proyección de luz estructurada el cual despliega un conjunto de patrones de franjas por medio de la técnica de desplazamiento de fase, también se realiza una clasificación e identificación a través de la técnica de Análisis Discriminante Lineal.

(«1409914786SANZAplicacióndelastécnicasdevisiónartificialcomoherramient

asdeexpresiónaudiovisual

....

pdf»)

(Sanz Kirbis David, 2013) En este estudio se realizan

nuevas estrategias de lenguaje audiovisual utilizando sistemas innovadores de hardware y software de visión artificial para generar nuevos lenguajes audiovisuales en el campo del cine interactivo. En la aplicación del software se reencuadra fotogramas de la webcam utilizada, generando nuevas imágenes las cuales serán los inputs utilizados para producir la imagen - mezcla que se visualiza en la pantalla principal de la instalación.

(«Gualdrón et al. - DESIGN OF A FACE RECOGNITION SYSTEM USING THE HYBR.pdf», 2013) (Gualdrón Osar Eduardo, Duque Suarez Oscar Manuel & Chacón Rojas Mauricio, 2013) En este artículo se realiza la presentación de un sistema de reconocimiento de rostros a través de la hibridación de técnicas de reconocimientos

de patrones, visión artificial e inteligencia artificial, el cual cuenta con características como el reconocimiento del género, el diseño y técnicas implementadas en el desarrollo de sistemas de control de robots de interacción social.

(«Pereyra - Reconocimiento Facial Mediante Imágenes Estereoscó.pdf», 2013) (Pereyra Pamela Alejandra) En la actualidad se ha buscado mejorar la calidad del reconocimiento facial por medio del uso de datos en 3D ya que estos son menos sensibles que los bidimensionales. Es por ello que, en este trabajo de grado presentado en la Universidad de Buenos Aires en la Facultad de Ingeniería, se orientó al reconocimiento de los rostros a partir de modelos numéricos 3D, a través de la técnica estereoscopia, para ello se tuvo en cuenta los diferentes modelos numéricos de un mismo rostro pues estos eran intrínsecamente o podían serlo dependiendo de la ubicación del mismo respecto al mecanismo de toma.

(«Pérez - Reconocimiento Facial Basado en Puntos Característ.pdf»,) (Blázquez Pérez Luis, 2013) En este proyecto de grado se realizó el estudio, implementación y evaluación de un sistema automático de detección y corrección de puntos característicos faciales mal marcados, los cuales se obtuvieron con anterioridad mediante un sistema comercial automático. Se llevó a cabo un análisis antropométrico respecto al entorno controlado probando así su potencial, además del análisis independiente de cada uno de los rasgos faciales. Para la realización de un análisis más profundo de la cara, se desarrollaron dos segmentos, en el primero se basó en las proporciones faciales y el segundo se basó en el punto medio de cada rasgo facial, lo

cual permitió la extracción de los rasgos faciales de manera individual logrando de esta manera una mayor precisión en el respectivo análisis.

(«BOTERO - 2012 - INTEGRACIÓN DE UN SISTEMA DE VISIÓN ARTIFICIAL A U.pdf», )(Gil Botero José Fernando, 2012) En este trabajo de grado propuesto para la obtención del título de Ingeniero Mecatrónico se implementó un sistema de bajo costo integrado por un robot con una cámara de video para que permitiera realizar tareas de visión artificial, como la solución de un cubo de rubik. El objetivo del proyecto era demostrar que con solo añadiendo un sistema de visión a un robot se podría ampliar la gama de posibilidades de tareas a realizar o realizadas por este. Para el inicio del desarrollo del cubo, el robot capturaba las imágenes de las diferentes caras mediante una cámara web de donde extrae la información del color asociado a cada uno de los bloques del cubo y seguidamente enviarlo al sistema de procesamiento de imagen. Dicho sistema se hizo mediante una red neuronal, la cual se entrenó con información de capturas realizadas en diferentes escenarios para de este modo ampliar la gama de luminosidad y así esta pudiera detectar los colores del Cubo de Rubik de una manera más confiable. Una vez detectados los colores de cada una de las caras del Cubo, se envía dicha información al sistema de solución el cual se basó en el algoritmo de Singmaster, el cual determinaría la cantidad de rotaciones que se deberían hacer en el cubo, para que seguidamente el planificador de tareas decidiera los respectivos movimientos del robot.

(«UCD1453_01.pdf», 2015)(Espinoza Olguín David Eduardo & Jorquera Guillen Peter Ignacio, 2015) En este proyecto realizado por estudiantes de la Pontificia

Universidad Católica de Valparaíso, se realizó e implementó el estudio de un sistema de reconocimiento facial integrado con las librerías de OpenCV/EmguCV. Dicho sistema disponía de una base de datos local la cual permitía almacenar diferentes fotografías sacadas a los usuarios para así seguidamente reconocer el rostro de cada uno de estos.

  • 6 CAPITULO 2

CRITERIOS DE DISEÑO Y SELECCIÓN

El sistema de visión que se quiere desarrollar tiene como objetivo detectar, localizar y reconocer ciertos objetos de interés en rostros humanos, como lo son los ojos, la boca y el contorno del rostro. Para ello en el desarrollo de este capítulo partiremos de la definición de los sistemas de visión artificial y de los sistemas de percepción, se establece también los indicadores de interés junto al caso de estudio sobre el cual se enfocara el sistema y por último se establecen los criterios de diseño del software y hardware para en el siguiente capítulo empezar a diseñar dicho sistema.

  • 6.1 Sistemas de Visión Artificial

Actualmente un sistema de visión es una necesidad que hace referencia a la calidad de un producto y a la reducción de costes a nivel productivo. La exigencia en la innovación sigue existiendo, aunque a un nivel aún mayor. En gran parte de los casos la visión viene exigida por el cliente final.

En términos generales, existen 3 categorías de sistemas de visión: 1D, 2D y 3D.

  • 6.1.1 Sistemas de visión 1D

Esta visión analiza una señal digital línea a línea en lugar de analizar al mismo tiempo la imagen completa, como evaluar la variación entre el grupo más reciente de diez líneas adquiridas y un grupo previo. El objetivo de esta técnica es detectar y clasificar normalmente los defectos en materiales fabricados en un determinado proceso

continuo, como lo es el papel, metales, plásticos y algunas telas sin tejer o mercancías en rollos, como se enseña en la siguiente figura.

continuo, como lo es el papel, metales, plásticos y algunas telas sin tejer o mercancías en

Figura 8 Sistema de visión 1D, escaneo de una línea mientras el proceso avanza. Se ha detectado un defecto en la tela Fuente: («3cbb38_Introduction to Machine Vision.pdf», s. f.)

  • 6.1.2 Sistema de visión 2D

En la mayoría de cámaras de reconocimiento comunes realizan escaneos en la superficie que implican la captación de instantáneas 2D en diferentes resoluciones, como se enseña en la figura 9. El escaneo lineal es otro tipo de visión artificial 2D, el cual crea una imagen 2D línea a línea, como se enseña en la figura 10.

continuo, como lo es el papel, metales, plásticos y algunas telas sin tejer o mercancías en

Figura 9 Imagen con diferentes resoluciones

Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.)

Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.) Figura 10 Técnica de escaneo lineal Fuente: : («3cbb38_Introduction

Figura 10 Técnica de escaneo lineal Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.)

  • 6.1.3 Escaneo superficial vs Escaneo lineal

En ciertas aplicaciones, los sistemas de escaneo lineal dejan ver una serie de ventajas específicas frente a los sistemas de escaneo superficial. Como ejemplo, el reconocimiento de piezas redondas o cilíndricas puede necesitar de varias cámaras de escaneo superficial para abarcar toda la superficie de la pieza. Por lo tanto, girar la pieza de en frente de una única cámara de escaneo lineal obtiene toda la superficie desenvolviendo la imagen. Los sistemas de escaneo lineal se adaptan mejor a pequeños espacios para el caso en que la cámara deba observar por medio de rodillos de una cinta

transportadora para ver la parte inferior de una determinada pieza. Los sistemas de escaneo lineal también pueden facilitar una resolución altamente superior que una cámara tradicional. Como los sistemas de escaneo lineal necesitan de piezas móviles para crear la imagen, terminan siendo muy apropiados para productos en movimiento continuo.

Figura 11 Visión a entornos limitados en espacio Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.) 6.1.4

Figura 11 Visión a entornos limitados en espacio Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.)

  • 6.1.4 Sistemas 3D

Estos sistemas constan normalmente de varias cámaras o uno o más sensores de desplazamiento laser. La visión 3D con varias cámaras en aplicaciones de guiado robótico le facilita al robot información sobre la orientación de la pieza. Dichos sistemas implican varias cámaras instaladas en diferentes ubicaciones y la “triangulación” sobre una posición objetivo en el espacio 3D.

Figura 11 Visión a entornos limitados en espacio Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.) 6.1.4

Figura 12 Uso de varias cámaras en un sistema de visión 3D

Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.)

Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.) Figura 13 Sistema de inspección 3D con una sola

Figura 13 Sistema de inspección 3D con una sola cámara

Fuente: : («3cbb38_Introduction to Machine Vision.pdf», 2016.)

De forma contraria, las aplicaciones con sensores de desplazamiento laser 3D incorporan normalmente el reconocimiento superficial y la medida de volúmenes, produciendo resultados 3D con solo una cámara. Partiendo del desplazamiento de la ubicación de los láseres plasmados en un objeto se produce un mapa de altura. La pieza o la cámara se deben trasladar para escanear todo el producto al igual que en el escaneo lineal. La Figura 13 muestra un sensor de desplazamiento láser 3D analizando superficies de pastillas de freno en busca de imperfecciones.

6.1.5

Sistemas de visión independientes

Estos sistemas son rentables y se pueden configurar de una manera fácil y rápida. Dichos sistemas vienen dotados con sensor de cámara, comunicaciones y procesador. Asimismo, algunos de estos integran iluminación y óptica de enfoque automático. En un gran número de casos, dichos sistemas son robustos y lo suficientemente asequibles para ser instalados en toda la fábrica. Al hacer uso de los sistemas de visión autónomos en puntos de proceso claves, se puede lograr la detección de defectos en una fase temprana del proceso de fabricación y reconocer con mayor rapidez problemas en los equipos.

  • 6.1.6 Sistemas de visión Integrados

Estos sistemas son sistemas de visión artificial que difieren parcialmente de las cámaras inteligentes, en que la ubicación de la cámara y el sensor están en un cabezal remoto de un tamaño muy pequeño y el procesador, las entradas/salidas y la conexión con el resto del entorno industrial se ubican en un elemento de pequeña magnitud, que puede ubicarse junto a otros elementos de automatización. Una de las muchas ventajas que tiene un sistema de visión artificial de este tipo es que, con un solo elemento de proceso, se pueden conectar varios cabezales de visión remotos, minimizando el coste en aplicaciones de visión donde se requieran varias tomas de la misma pieza.(«Sistemas Visión Integrados | Sistemas de visión Artificial para INDUSTRIA | INFAIMON», 2018)

6.2

Sistemas de percepción de interés

¿Qué es la percepción? La Real Academia la define como la ‘sensación interior que resulta de una impresión material hecha en nuestros sentidos’. También dice que percibir es ‘recibir por uno de los sentidos las imágenes, impresiones o sensaciones externas’. Curiosamente, percibir también es ‘comprender o conocer algo’. Es una de

las facultades más sorprendentes de los seres vivos: el sistema nervioso es capaz de interpretar información ‘bruta’ y transformarla en conceptos abstractos.(García, s. f.) En la figura 14 se muestra un esquema simplificado de la etapa de percepción:

6.2 Sistemas de percepción de interés ¿Qué es la percepción? La Real Academia la defi ne

Figura 14 Esquema de la etapa de percepción Fuente: Sistemas de Percepción y visión por Computador

La percepción trabaja a partir de los estímulos, los cuales son medidas de las magnitudes físicas. Dichos estímulos son codificados por los seres vivos mediante impulsos nerviosos; en los equipos de cómputo son digitalizados y convertidos en variables numéricas. Los estímulos son sin duda información bruta, sin elaborar, contaminados con ruido, con elementos irrelevantes, etc.

La percepción demanda un gran esfuerzo computacional que, curiosamente, nosotros los seres vivos los realizamos de manera inconsciente y automática. Actualmente esta capacidad es casi que imposible de alcanzar por los más potentes supercomputadores. En contraste, muchas de las tareas que son insignificantes para un computador resultan muy complicadas para los seres vivos. La máquina biológica se basa en el procesamiento paralelo masivo, el cual permite examinar de una manera simultánea un sin número de hipótesis de interpretación. Algunas de dichas hipótesis se esfuerzan, por el contrario otras se debilitan, hasta que la más resistente resulta ganadora. (García, 2015.)

  • 6.2.1 Percepción de Bajo y Alto Nivel

El movimiento de información principal es ascendente (bottom-up), va desde los estímulos hacia las representaciones. En este caso la percepción también utiliza un poco de conocimiento de las situaciones que pueden llegar a ocurrir. Sin duda alguna no puede trabajar en “vacío”, pues existe un flujo de información descendente (top- down) que guía la construcción de las representaciones partiendo de expectativas, conjeturas razonables o hipótesis. Como ejemplo del procesamiento puramente ascendente es el que se manifiesta en la capacidad de fusionar estereogramas casuales, en el cual las imágenes correspondientes a cada ojo comprenden configuraciones aleatorias que no indican pista alguna sobre el contenido de la imagen. Pero por encima de esto, el cerebro logra encontrar alguna relación en la imagen y deducir la profundidad de cada uno de los trozos de la escena, la cual podría ser posterior reconocida. Como ejemplo, haremos el intento de intentar descubrir que numero hay en la siguiente figura:

Figura 15 Profundidad en una escena, posiblemente reconocible Fuente: Sistemas de Percepción y visión por Computador

Figura 15 Profundidad en una escena, posiblemente reconocible Fuente: Sistemas de Percepción y visión por Computador

A continuación se enseñara el ejemplo del cómo se ilustra el flujo descendente, en la que la H y la A se ilustran como una forma intermedia común, la cual debido al contexto se ve en cada palabra como una letra distinta:

Figura 15 Profundidad en una escena, posiblemente reconocible Fuente: Sistemas de Percepción y visión por Computador

Figura 16 Ejemplo del flujo descendente Fuente: Sistemas de Percepción y visión por Computador

Podríamos entonces decir que “ver una cosa” es en realidad “ver algo como esa cosa”,

ya que esto sin duda alguna es interpretar.

6.3

Indicadores de Interés

¿Si no hay interés, no hay aprendizaje? ¿Es la actitud que el estudiante toma frente al aprendizaje un aporte al éxito educativo o un resultado del mismo? Sin duda alguna, los estudiantes son los protagonistas de su propio destino dentro del sistema educativo. Si bien el aprendizaje puede ser una montaña difícil de escalar, ¿Qué es lo que lo hace funcionar? Un estudiante se puede entusiasmar para aprender cuando se siente interesado en la materia o el medio de enseñanza que se le presenta, también cuando entiende que esto le será de gran ayuda para avanzar en su nivel educativo. Aunque haya muchas distracciones en el medio que compiten con los estudios para captar su atención, un buen maestro o en nuestro caso un sistema interactivo, se caracterizara por saber hacer la enseñanza algo interesante y relevante, ya que se cuenta con material curricular cautivador.

Motivación intrínseca y extrínseca

Generalmente, existen dos estrategias principales para motivar a los estudiantes a aprender: interesarlos u obligarlos, por ello hablaremos de estos dos tipos de motivación. La motivación intrínseca es aquella que nace o proviene del interior del estudiante. Cundo este encuentra un tema fascinante o de su real interés, la motivación

para aprender más al respecto surge de una manera natural. La motivación extrínseca

(la cual proviene del exterior) siempre será la segunda opción, pero no por esta razón es menos importante. El tradicional motivador extrínseco en el medio educativo es la calificación: “¡Haz tu trabajo, te interese o no!”. Es posible que uno de los mejores motivadores extrínsecos sean los del tipo temporal, del estilo “fingirlo hasta cumplirlo”.

Dichos motivadores logran vencer las dudas iniciales que el estudiante pueda llegar a tener al entrar en una actividad, dándole así la oportunidad de experimentar el placer que puede obtener al aprenderla. Según la psicóloga Carol Dweck de la Universidad de Stanford, describe la motivación en la educación como cuestión de actitud. Cuando los estudiantes creen que pueden aprender cualquier cosa esforzándose, pueden mantener su atención y energía

para lograr cosas maravillosas. Dweck le llama a esto una “actitud de crecimiento”.

(«2.6 Motivación», 2017). Se podría decir entonces que si no hay motivación o interés en un tema el estudiante no aprenderá mucho respecto de lo que se le enseñe. La falta de motivación siempre se detectara en un estudiante mediante expresiones o actitudes expuestas por el mismo, como lo son falta de atención, búsqueda de agentes distractores, aburrimiento frente al tema y por ultimo aparece el sueño. En nuestro sistema tomaremos estos indicadores para lograr deducir si al estudiante le interesa o no lo que se le está enseñando, de no ser así se debe buscar la forma de plantearle algo (en este caso otro tema) que lo motive a darle toda su atención.

  • 6.4 Caso de estudio seleccionado

El uso de las nuevas tecnologías de la información ha permitido la creación de bibliotecas virtuales universitarias haciendo parte de un nuevo modelo pedagógico en la enseñanza virtual. Este nuevo tipo de enseñanza empezó a formar parte de las aulas virtuales en sus asignaturas, en los espacios virtuales de soporte a la docencia, en las áreas de investigación y sin duda alguna en el apartado de Biblioteca que le es propio.

Basados entonces en este nuevo tipo de enseñanza, que ha decir verdad no es tan nuevo pero si se ha convertido en lo más asequible a la hora de optar a la enseñanza, el sistema de interacción hará uso de este nuevo tipo de enseñanza para dar a conocer información con la novedad de que aunque se basa y tiene una estructura parecida a una clase virtual no será precisamente la misma, puesto que el sistema no estará interesado únicamente en comunicar la información sino que también estará interesado en que dicha información llegue al usuario y este pueda hacer uso de ella. De una manera más específica, el sistema se encargara del análisis y procesamiento de datos para saber si el usuario esta interesado o no en la información que el mismo le está enseñando, de no ser así, dicho sistema interactuara con el usuario cambiando el tipo de información o tema hasta que a este (usuario) le interese y se sienta cómodo con lo que se le está enseñando. Teniendo aspectos en cuenta como los ojos, la boca y la ubicación del rostro del usuario, el sistema podrá deducir si hay o no interés en cada uno de los temas que esté presente y así logar hacer llegar la información como uno de los objetivos principales del sistema.

  • 6.5 Selección del software

En esta sección se realiza la selección del software el cual debe contar con un entorno de trabajo aplicado para visión artificial. Teniendo en cuenta aspectos tales como su funcionabilidad, portabilidad, usabilidad entre otros.

6.5.1

ROS (Robot Operating System)

Es un entorno de trabajo de código abierto diseñado para realizar software robótico (en nuestro caso la robótica socialmente interactiva). Dentro de sus principales funcionalidades se puede destacar una abstracción del hardware, el control de dispositivos, paso de mensajes entre los procesos y un sin número de variedades de herramientas y librerías. Las herramientas como las librerías de ROS están escritas principalmente en C++ y Python. En ROS las librerías principales se basan en los principios Unix-like (sistema operativo portable, multitarea y multiusuario) ya que la mayoría de sus dependencias son proyectos de código abierto, permitiendo así la distribución de muchas librerías y paquetes ROS. («Vision artificial aplicada a la robotica.pdf», 2016).

6.5.1 ROS ( Robot Operating System ) Es un entorno de trabajo de código abierto diseñado

Figura 17 Logo de ROS

Fuente: ros.org

6.5.2

Matlab

Es un lenguaje de excelente desempeño diseñado para realizar cálculos técnicos. MATLAB integra el cálculo, la VISUALIZACION y la programación en un ambiente fácil de utilizar donde los problemas y las soluciones se expresan en una notación matemática.

En el tema de detección y seguimiento de objetos, MATLAB permite a sus usuarios aprender a través de los siguientes ejemplos:

Reconocimiento de objetos mediante la utilización de características SURF.

Detectar caras y personas mediante algoritmos como Viola-Jones.

Completar el seguimiento de un único objeto mediante el algoritmo Kanade- Lucas-Tomasi (KLT).

Utilizar el Filtro de Kalman para predecir la ubicación de un objeto en movimiento. Implementar un sistema de seguimiento basado en el movimiento de multiples objetos. Estos ejemplos son de gran utilidad en personas o usuarios que trabajen en aplicaciones de procesado de imagen, video o visión artificial. A través de la herramienta Computer Vision System Toolbox se puede llevar a cabo diferentes aplicaciones, tales como:

Detección de objetos mediante el uso de características.

Detección de personas.

Reconocimiento de caras.

Seguimiento de objetos en movimiento. («Visión Artificial con MATLAB», 2013)

En el tema de detección y seguimiento de objetos, MATLAB permite a sus usuarios aprender amathworks.com/ 31 " id="pdf-obj-44-50" src="pdf-obj-44-50.jpg">

Figura 18 Logo de Matlab

Fuente: mathworks.com/

6.5.3 OpenCV

OpenCV (Open Source Computer Vision) “Visión por computadora de código abierto”, es una librería de software open-source (fuente abierta) de visión artificial y machine learning (aprendizaje automático). OpenCV nos permite hacer uso de una infraestructura para aplicaciones de visión artificial. OpenCV se lanza bajo licencia BSD por esta razón, es gratuito tanto para uso académico como comercial. Tiene interfaces C ++, Python y Java y es compatible con Windows, Linux, Mac OS, iOS y Android. OpenCV fue diseñado para la eficiencia computacional y con un fuerte enfoque en aplicaciones en tiempo real. Escrito en C / C ++ optimizado, la biblioteca puede aprovechar el procesamiento de múltiples núcleos. Habilitado con OpenCL, puede aprovechar la aceleración de hardware de la plataforma informática heterogénea subyacente. Adoptado en todo el mundo, OpenCV tiene más de 47 mil personas de usuarios y una cantidad estimada de descargas que supera los 14 millones. El uso va desde el arte interactivo hasta la inspección de minas, la costura de mapas en la web o la robótica avanzada.(«OpenCV library», 2018).

Figura 19 Logo de OpenCV 6.5.4 Selección de Software por medio de puntuación Al definir cada

Figura 19 Logo de OpenCV

  • 6.5.4 Selección de Software por medio de puntuación

Al definir cada uno de estos software, se puede observar que los 3 tienen aplicaciones de gran ayuda para el desarrollo de nuestro sistema, lo cual nos hace dudar de cuál de estos es la mejor opción, por esta razón haremos dicha selección a través de

una matriz la cual será basada en los aspectos de evaluación de calidad estipulados en la norma de evaluación de calidad ISO 25000, la cual está fundamentada en 5 aspectos que son: portabilidad, usabilidad, funcionabilidad, requerimientos técnicos y económicos y fiabilidad.

Tabla 1 Matriz de selección Norma iso 25000

Metricas de Calidad

CARACTERISTICA

Portabilidad

Usabilidad

Funcionabilidad

Requerimientos técnicos y económicos

Fiabilidad

Total

Sub

Máximo

Sub Máximo
Sub Máximo
Sub Máximo

Característica

Puntaje

Facilidad de

instalación

10

7

5

8

Adaptabilidad

5

3

2

2

Aprendizaje

10

7

6

8

Accesibilidad

5

4

2

5

Operabilidad

10

9

6

8

Ayuda y

documentación

5

4

5

5

Completitud

5

4

5

5

Seguridad

10

8

8

7

Costo

5

5

1

5

Rapidez al

5

4

3

4

correr

Sistema

operativo

10

10

10

10

Utilización de

5

4

4

4

recursos

Disponibilidad

10

8

9

7

Capacidad de

recuperación

5

3

3

4

 

80

67

82

Fuente: Autor

Una vez obtenemos los resultados de la Tabla 1, queda evidenciado que el mejor o la

mejor opción para el desarrollo de nuestro sistema es trabajar en el entorno de trabajo

de OpenCV, ya que este nos permite como se dijo anteriormente hacer uso de una

infraestructura para aplicaciones de visión artificial. Contando con interfaces C ++,

Python y Java ya que es compatible con Windows, Linux, Mac OS, iOS y Android.

  • 6.5.5 Selección de Hardware

6.5.5.1 Selección Sistema de Percepción

Cámara web: Estas cámaras vienen de diversos tamaños y formas con el fin

de intentar darle solución a la necesidad del consumidor. Algunas de estas

cámaras se pueden unir al monitor del equipo, mientras que otras viene

integrados en la máquina. Estas cámaras no graban continuamente como si lo

hace una videocámara, pero en su lugar capturan fotogramas o hacen lectura en

tiempo real de la imagen que se le presenta. Una velocidad de un fotograma

ideal es de 30 fps por segundo. Sin desconocerlo existen 2 tipos de cámaras, las

débiles o de baja calidad que se limitan a sensores de 1 MP o 2MP que permite

la captura de imágenes aceptables de hasta 2048 por 1536 pixeles y las de alta

calidad que cuentan con capacidades de foto de 10+ MP, es decir que pueden

capturar imágenes de hasta 3072 por 2304 pixeles. (García, 2018.)

infraestructura para aplicaciones de visión artificial. Contando con interfaces C ++, Python y Java ya que

Figura 20 Cámara Web Asus X455L

Fuente: ebay.ie

Kinect: Inicialmente este dispositivo se desarrolló como un simple controlador

de juegos, pues a través de sus componentes lo podría hacer, componentes tales

como: sensor de profundidad, cámara RGB, array de micrófonos y sensor de

infrarrojos (emisor y receptor), a través de dichos componentes este sensor es

capaz de capturar el esqueleto humano, reconocerlo y posicionarlo en un

determinado plano.

A través de su nuevo software, se puede lograr llevar registro en tiempo real,

es decir, se puede monitorear las características faciales, permitiendo a demás

la interacción estando simplemente sentados. Las cámaras que se encargan de

sensar el movimiento en Kinect son capaces de responder a rostros faciales y

movimientos.(«Bizjournal, 2012).

 Kinect: Inicialmente este dispositivo se desarrolló como un simple controlador de juegos, pues a través

Figura 21 Kinect V1

Fuente: («86. Sensor Kinect, inteligencia artificial al alcance de todos», 2016)

Estas opciones se aplicarían de manera adecuada en nuestro sistema, pero para

el criterio de selección se tuvieron en cuenta aspectos importantes como el costo, y la

disponibilidad, pero se hizo el resalte en el costo pues se buscó la manera de hacer el

diseño lo más económico posible, por esta razón se hizo uso de la cámara web integrada

de la maquina en la que se programó el sistema (Asus X455L). Sin embargo a

continuación podremos ver la Tabla 2, en donde encontraremos dichos elementos con

tres aspectos importantes: disponibilidad y características técnicas y costo. A estos

aspectos se les dará una calificación definida de 1 a 5 según la importancia de cada

característica en nuestro sistema.

Para obtener la puntuación final dividiremos en 3 porcentajes los 3 parámetros

mencionados anteriormente, en el cual los 2 primeros representan un 60% de la

puntuación final divididos en partes iguales es decir un 30% cada uno, el precio será un

factor de mucha importancia en nuestro sistema como se mencionó con anterioridad

con un valor del 40% sobre la puntuación final.

Tabla 2 Matriz de selección Sistema de Percepción

CARACTERISTICA

WEBCAM ASUS

aspectos se les dará una calificación definida de 1 a 5 según la importancia de cada

KINECT

aspectos se les dará una calificación definida de 1 a 5 según la importancia de cada

Resolución:

C. Técnicas

Resolución: 1MP o 2MP es decir 2048 por 1536 pixeles

VGA (640x480) 320x240 profundidad de 16-bit a 30FPS

  • 2 puntos

  • 5 puntos

Comunicación: Integrada

Comunicación: USB 2.0

  • 5 puntos

  • 4 puntos

Compatibilidad Software:

Windows o Linux

5

puntos

Compatibilidad Software:

Windows o Linux

5

puntos

Disponibilidad

Se puede obtener en línea, es accesible en tiempo y costo.

Se puede obtener en línea, es accesible en tiempo y costo.

 
  • 5 puntos

  • 5 puntos

Costo

Tiene un valor en el mercado colombiano actualmente de $25.000 pesos

Tiene un valor en el mercado colombiano actualmente de $ 150.000 pesos

  • 5 puntos

  • 2 puntos

Total

7.1

6.5

Fuente: Autor

  • 7 Capítulo 3

DISEÑO DEL SISTEMA Y TÉCNICA A UTILIZAR

En este capítulo se realiza el proceso de estructuración del diseño del sistema y

los factores que lo van a complementar, como parte importante será el reconocimiento

facial a través de la visión artificial. Para el diseño del sistema se tuvieron en cuenta

agentes como el interés que pueda desarrollar el usuario hacia el sistema, en el ítem

“6.4 Indicadores de interés” del capítulo anterior, se planteó cuáles serían estos

indicadores o dichos factores. Del mismo modo se realizó la selección de la técnica a

utilizar para el diseño y programación del sistema interactivo.

  • 7.1 Reconocimiento facial Como ya lo habíamos mencionado anteriormente para el desarrollo del sistema

debemos partir del reconocimiento facial pues es la parte crucial del mismo. Como

primer paso debemos crear un algoritmo que identifique lo que queremos o deseamos

reconocer. El reconocimiento facial se logra en nuestro caso a través de la detección de

puntos faciales en tiempo real por medio de OpenCV, Python y Dlib.

Python: Este es un lenguaje de programación de propósito general, orientado

a objetos, que también puede utilizarse para el desarrollo web.

Python es un lenguaje de scripting independiente de plataforma y orientado a

objetos, preparado para realizar cualquier tipo de programa, desde aplicaciones

Windows a servidores de red o incluso, páginas web. Es un lenguaje

interpretado, lo que significa que no se necesita compilar el código fuente para

poder ejecutarlo, lo que ofrece ventajas como la rapidez de desarrollo e

inconveniente como una menor velocidad. (DesarrolloWeb.com, 2018)

Dlib: Es una biblioteca de software de código abierto multiplataforma de uso

general escrita en el lenguaje de programación C++. Su diseño está fuertemente

influenciado por las ideas del diseño por contrato y la ingeniería de software

basada en componentes. Esto significa que es, en primer lugar, una colección

de componentes de software independientes, cada uno acompañado de una

amplia documentación y modos de depuración exhaustivos.

En particular Dlib contiene componentes de software para trabajar con redes,

hilos, interfaces gráficas, estructuras de datos complejas, algebra lineal,

aprendizaje automático estadístico, procesamiento de imágenes, minería de

datos análisis XLM y de texto, optimización numérica redes bayesianas y

muchas otras tareas. («dlib C++ Library - Introduction», 2015)

Empezamos aprendiendo como detectar puntos de referencia faciales en una

imagen. Para descubrir luego cómo etiquetar y anotar cada una de las regiones faciales,

como ojos, cejas, nariz, boca y mandíbula.

  • 7.2 Características a Seleccionar Las características seleccionadas para el diseño del sistema se enfocaron

principalmente en el rostro pero a partir de allí nos enfocamos en los ojos, si estos

estaban cerrados o no, en la boca, si la misma también estaba cerrada o abierta,

indicando un bostezo y por ultimo si el usuario mantenía o no el rostro frente al sensor

de captación de imagen (cámara web) o en su defecto la giraba hacia algún costado.

Parpadeo: El parpadeo es la acción de abrir y cerrar los ojos, o mejor dicho,

los párpados. Cada parpadeo tiene una duración aproximada de 50 milésimas

de segundo, en promedio una persona parpadea aproximadamente 24 veces por

minuto. Durante el día, cerramos los ojos aproximadamente 14 minutos.

(Admin, 2009). Documentamos esta información pues partimos del hecho de

la velocidad del parpadeo, cuando esta es afectada considerablemente es porque

algo sucede en el usuario, por esta razón se aumenta el número y la duración

de los parpadeos provocando que los ojos se cierren durante más tiempo, siendo

un indicador claro de cansancio o aburrimiento en el usuario frente al tema

presentado, con un tiempo promedio de 2 a 4 segundos de duración en cada

parpadeo.

Bostezo: Bostezar es abrir la boca de una manera involuntaria, realizando una

inhalación profunda y prolongada de aire. Esto se hace con mayor frecuencia

cuando la persona se encuentra en un estado ya sea de cansancio, sueño o

aburrimiento, repitiéndose más de una vez por minuto.

Girar el rostro: En este caso el usuario busca agentes distractores que

precisamente no estarán en el sistema que se le está presentando, esto sucede

una vez el tema deja de ser del interés del mismo. Lo definimos coloquialmente

como “voltear la cara o el rostro”. Un índice importante de la falta de interés

del usuario frente a sistema.

7.3

Técnica a utilizar

En la visión artificial existen muchas formas de hacer reconocimiento facial,

unas técnicas mejores que otras dependiendo su programación o su entorno. Para este

proyecto basamos nuestra técnica en una biblioteca de software de código abierto

multiplataforma de uso general escrita en el lenguaje de programación C++ que lleva

por nombre DLIB, la cual está basada en máquinas de soporte vectorial, las cuales son

un conjunto de algoritmos de aprendizaje supervisado. En su estructura Dlib cuenta con

un paquete (Shape Predictor) el cual se encarga del entrenamiento de dicho soporte

vectorial, es decir, la librería viene ya programada para reconocer rostros dentro de su

estructura.

La estructura del diseño se basa en los ojos y en la boca, calculando distancias

a través de la formula aspect ratio. Esta es la distancia entre los puntos de los ojos y de

la boca, con esto podemos detectar si tanto los ojos como la boca están abiertos o

cerrados. Entonces dependiendo del tiempo que los ojos duren cerrados el sistema

deducirá si el usuario parpadeo o si se está quedando dormido, al igual que en los puntos

de la boca, si el usuario abre demasiado la boca se detectara que no está hablando sino

por el contrario esta es bostezando.

  • 8 Capítulo 4

APLICACIÓN DEL CASO DE ESTUDIO EN EL DISEÑO DEL SISTEMA

En este capítulo estructuraremos el caso de estudio dentro del sistema de

interacción. Dentro de esta estructura podremos observar a que hace referencia dicho

caso el cual se basa en clases virtuales y su función dentro del sistema. Aunque el caso

no se base puntualmente en el significado directo de una clase virtual tiene su

fundamento en la misma, es en este punto en donde observaremos si el usuario está o

no a gusto con la información que está recibiendo y si el sistema logra interactuar con

el mismo.

Buscando la forma de esclarecer en que se basa el caso de estudio y que tipo de

enseñanza es, definiremos las clases de enseñanza virtual que al día de hoy son usadas

en el medio.

  • 8.1 Tipos de enseñanza virtual

8.1.1 E-learning:

Esta se denomina aprendizaje electrónico a la educación a distancia

completamente virtualizada por medio de todos los nuevos canales electrónicos.

Utilizando para ello herramientas o aplicaciones de hipertexto (como lo son el correo

electrónico, páginas web, foros de discusión, mensajería instantánea y plataformas de

formación entre otras) como soporte de los procesos de enseñanza aprendizaje.

8.1.2

B-learning

El aprendizaje semipresencial es el aprendizaje que se facilita a través de la

combinación eficiente de distintos métodos de impartición, estilos de aprendizaje y

modelos de enseñanza, basándose en una comunicación transparente de todas las áreas

implicadas en el curso.

  • 8.1.3 M-learning Este aprendizaje el cual es de tipo móvil se define como “el aprendizaje en

contextos múltiples, a través de las interacciones sociales y de contenido, el uso de

dispositivos electrónicos personales” (Crompton, 2013 p. 4) Dicho de otro modo, con

el uso de los dispositivos móviles, los estudiantes pueden aprender en cualquier lugar y

en cualquier momento.

Una de las grandes ventajas de nuestro sistema es que al ser programado en un

equipo portátil puede ser trasladado a cualquier lugar de ser así necesario, lo único que

necesitaríamos en una buena iluminación para que la cámara pueda enfocar el rostro

del usuario y así iniciar la parte interactiva. Esta interacción será posible debido a que

el usuario hablara con el sistema, no por medio de la voz sino por medio de señales

(parpadeo continuo o demorado, bostezo y distracción).

8.2

Explicación del funcionamiento del sistema (Pseudo Código)

8.2 Explicación del funcionamiento del sistema (Pseudo Código) Figura 22 Inicialización de la cámara Fuente: Autor

Figura 22 Inicialización de la cámara

Fuente: Autor

El sistema inicia conectándose con la cámara; una vez la cámara enciende se realiza la

conexión con el paquete predictor para seguidamente iniciar con la calibración.

8.2 Explicación del funcionamiento del sistema (Pseudo Código) Figura 22 Inicialización de la cámara Fuente: Autor

Figura 23 Conexión paquete predictor

Fuente: Autor

Lo primero que calibra son los valores para los ojos abiertos, entonces primero sensa

durante 3 segundos tomando data con un tiempo de muestreo aproximado de 0.1

segundos, toma bastantes y los promedia, de allí obtiene el valor para los ojos abiertos.

Después de calibrar esos 3 segundos tomando data con los ojos abiertos lo hace con los

ojos cerrados efectuando la misma operación anterior.

Figura 24 Calibración para ojos tanto cerrados como abiertos Fuente: Autor Luego para boca también sensa

Figura 24 Calibración para ojos tanto cerrados como abiertos

Fuente: Autor

Luego para boca también sensa 3 segundos, tanto para boca cerrada como para abierta.

Esta es la primera etapa, cargar paquetes y calibración.

Figura 24 Calibración para ojos tanto cerrados como abiertos Fuente: Autor Luego para boca también sensa

Figura 25 Calibración para boca cerrada y abierta. Carga de paquetes

Fuente: Autor

Después de esto el sistema queda en espera, solamente sensa pero queda a la espera de

que el usuario decida a que facultad va a ingresar, ingenierías o arquitectura. Viene una

selección el sistema pregunta para continuar con su estructura si es arquitectura o es

ingeniería, si es arquitectura la dirección que sería el pack, la dirección en la carpeta de

los videos, Videos Arquitectura, Si es ingeniería iría a la selección de los videos de

ingeniería. La única dirección en este caso es que el usuario elija si va para ingeniería

o arquitectura lo que cambia es la dirección de la carpeta.

Figura 26 Elección del programa a visualizar Fuente: Autor Empieza el video, empezando el primer tema,

Figura 26 Elección del programa a visualizar

Fuente: Autor

Empieza el video, empezando el primer tema, la cámara siempre estará sensando,

sensara la cantidad de tiempo, sobre el contorno de los ojos y de la boca por si estos se

abren o se cierran, para saber si está bostezando o se está quedando dormido siendo esto

lo principal para saber si se está distrayendo.

Figura 26 Elección del programa a visualizar Fuente: Autor Empieza el video, empezando el primer tema,

Figura 27 Lectura del estado del usuario, concentrado o distraído

Fuente: Autor

Se suma un contador las veces que supera esos tiempos, contador general distracción,

si ese contador supera el número 7, la cantidad de 7 veces, el sistema inmediatamente

pausa el video y le pregunta al usuario si quiere cambiar de tema o quiere continuar con

el mismo, si quiere continuar con el mismo el contador vuelve a cero y continua con el

video, si el usuario elije cambiar el video el contador también vuelve a cero pero cambia

inmediatamente de tema pasando al tema número 2 en este caso. Ver figura 27.

Hay cambia de tema y pasa al siguiente, dando inicio a un bucle hasta que termine.

Si no supero el número 7 pero si supero la cantidad número 5, cuando llegue al final

del video de inmediato va a cambiar al siguiente tema sin preguntar, pues no mostro

mucho interés no se distrajo completamente pero sí estuvo un poco disperso entonces

por ello cambia de tema. Cuando cambia de tema el contador también vuelve a cero y

empieza el senso de la misma forma. Si estuvo por debajo de 5 el contador no se reinicia

permitiéndole al sistema avanzar y que el video sea visto por completo por el usuario.

Y así sería todo el bucle hasta que la cantidad de videos sea igual a 4. Después cuando

termina se mostrara una gráfica donde se muestre en el tiempo el cómo estuvieron los

ojos y como estuvo la boca

Figura 28 Valores del contador indicando si habrá cambio de video o no Fuente: Autor 48

Figura 28 Valores del contador indicando si habrá cambio de video o no

Fuente: Autor

  • 9 Capítulo 5

IMPLEMENTACIÓN DEL SISTEMA DE VISION INTERACTIVO

En este siguiente capítulo se esclarece cada uno de los pasos que se llevaron a cabo para

el desarrollo de la implementación del algoritmo de visión artificial para fines de

percepción, usando el software seleccionado por criterio en el capítulo 2, pero no solo

fue la instalación de dicho software o framework por si solo si no cada una de las

herramientas instaladas para la programación de dicho sistema el cual se fundamentó

en Linux con librerías de Python y Dlib como herramientas fundamentales.

  • 9.1 Instalación de Ubuntu 16.04

9 Capítulo 5 IMPLEMENTACIÓN DEL SISTEMA DE VISION INTERACTIVO En este siguiente capítulo se esclarece cada

Figura 29 Logo de Ubuntu 16.04

Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso», 2016)

Para dar inicio a la instalación de este sistema operativo en primer lugar debemos

fijarnos en unas condiciones mínimas, las cuales debe cumplir nuestro computador para

poder ejecutarlo, realmente no son condiciones exigentes por lo tanto cualquier

computador con menos de 10 años en el mercado va a ser apto.

Condiciones mínimas:

Procesador Dual Core.

2GB de Memoria RAM.

16GB de disco duro.

Acceso a internet.

Pendrive de 2 GB o más que usaremos como medio de instalación.

Preparación del Pendrive o USB

Para el siguiente paso se hará la descarga de Ubuntu 16.04 LTS para 64 bits (ya

que este es el procesador que tiene nuestra maquina).

En cualquier instalación es completamente necesario hacer boteable nuestro

medio, por lo tanto realizaremos esta acción a través de una aplicación YUMI

(realmente hay muchas más, pero esta fue la elegida en este caso), generando así un

medio de instalación en nuestro pendrive el cual no debe tener una capacidad menor de

2GB.

Una vez ya hemos hecho boteable nuestro pendrive el cual se realiza mediante

la aplicación mencionada anteriormente, estaremos listos para instalar Ubuntu 16.04

LTS en nuestro computador, para ello debemos reiniciar la maquina con el pendrive

conectado a la misma para usar este como medio de inicio, para ello tendremos que

realizar la configuración del orden de preferencia de arranque desde BIOS.

Se da inicio a la instalación con una pantalla de bienvenida la cual hace a su vez

la función de asistente de instalación en el cual debemos elegir nuestro idioma de

preferencia y luego pulsar “instalar Ubuntu”.

Figura 30 Primera pantalla de la instalación de Ubuntu, selección de idioma e inicio de instalación

Figura 30 Primera pantalla de la instalación de Ubuntu, selección de idioma e inicio

de instalación

Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso», 2016)

En el siguiente paso se recomienda descargar las actualizaciones e instalar

software de terceros para así poder reproducir archivos multimedia y otro.

Figura 30 Primera pantalla de la instalación de Ubuntu, selección de idioma e inicio de instalación

Figura 31 Descarga de actualizaciones e instalación de software

Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso», 2016)

Seguidamente debemos hacer una partición del disco duro, esto siempre y

cuando decidamos tener dos sistemas operativos en nuestra máquina, como lo son

Windows y en este caso Linux Ubuntu. Una vez hecha la partición eligiendo cuanta

capacidad de memoria le damos a cada sistema operativo, damos click en “instalar

ahora”

A continuación realizaremos el tipo de instalación, se puede instalar solo

Ubuntu como sistema operativo principal o hacer uso de dos sistemas al mismo tiempo,

por ello hacemos el tipo de instalación “Instalar Ubuntu junto a Windows 10”

Seguidamente debemos hacer una partición del disco duro, esto siempre y cuando decidamos tener dos sistemas

Figura 32 Tipo de instalación, elección de los dos sistemas

Fuente: («Windows 10 y Ubuntu 16.04, guía completa de instalación», 2016.)

Una vez elegido el tipo de instalación nos pregunta que si debemos escribir los

cambios en los discos a lo cual debemos aceptar dando en la opción “Continuar” para

seguidamente seleccionar nuestra zona horaria, es decir en que parte del mundo estamos

ubicados.

Figura 33 Selección de zona horaria Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso

Figura 33 Selección de zona horaria

Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso», 2016)

Elegimos nuestra distribución del teclado y “continuar”. Seguidamente nos

aparecerá una última pantalla en la que debemos registrar nuestros datos como lo es

nuestro nombre y la contraseña que le queremos colocar a nuestro sistema. Aunque

podemos también hacer un inicio de sesión de una manera automática sin necesidad de

contraseña

.

Figura 33 Selección de zona horaria Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso

Figura 34 Selección del nombre y usuario

Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso», 2016)

Por ultimo reiniciamos nuestro sistema, arrancamos desde el disco duro y ya tendremos

la opción de elegir entre Windows y Ubuntu, los dos funcionando de manera perfecta.

(«Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso», 2016)

Por ultimo reiniciamos nuestro sistema, arrancamos desde el disco duro y ya tendremos la opción de

Figura 35 Escritorio de Ubuntu 16.04

Fuente: («Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso», 2016)

  • 9.2 Instalación de OpenCV OpenCV (Open Source Computer Vision Library) es una biblioteca de código

abierto con demasiadas posibilidades y con una amplia comunidad de desarrolladores.

Por esta razón, que aunque es compleja de utilizar, se puede encontrar soporte y ayuda

para cualquier problema que se pueda llegar a tener.

Para su instalación en Linux utilizaremos un comando llamado apt-get este

instala e informa sobre los paquetes resolviendo las dependencias, este comando es algo

extenso y realiza funciones como la de sincronizar el índice de paquetes desde sus

fuentes.

Instalación con apt-get: Si contamos con una versión actualizada de Ubuntu

esta es la opción más sencilla y rápida ya que en las últimas versiones puede ser

instalada directamente desde el comando apt-get.

Para el primer paso debemos actualizar:

sudo apt get update sudo apt get upgrade

Una vez ya actualizado podemos instalar la biblioteca en si con:

sudo apt get install libopencv - dev

Para poder hacer uso de esta librería con Python es necesario instalar el siguiente

paquete:

sudo apt get install Python - opencv

Como último paso, podemos bajar información, documentos y algunos ejemplos de

aplicaciones ya programadas o hechas con:

sudo apt get install opencv - doc

Una vez hecho esto ya podemos empezar a probar. («OpenCV en Linux», 2018)

  • 9.3 Instalación de Python Este lenguaje de programación, normalmente usado para programación

orientado a objetos originado en la década de los 80 con un objetivo principal tal como

ser legible por los seres humanos (¡no solo para maquinas!) esto lo hace mucho más

simple que otros lenguajes de programación. Eso hace de este lenguaje muy fácil de

aprender pero sin dejar de ser muy útil y poderoso.

En Linux

Una vez instalado Linux es posible que ya contemos con Python, pero hemos

de verificar si ya está instalado, abriendo la terminal o consola escribimos el siguiente

comando:

$ python3 versión Python 3.4

De no tener Python instalado podemos instalarlo de la siguiente manera:

Ubuntu

Escribimos el siguiente comando en la terminal:

Sudo apt install python3.4

  • 9.4 Instalación de dlib en Ubuntu Las siguientes instrucciones se han recopilado en Ubuntu 16.04, aunque estas

también funcionan para las versiones más actuales de Ubuntu.

Como primer paso, vamos a instalar nuestras dependencias

Una vez instalado Linux es posible que ya contemos con Python, pero hemos de verificar si

Figura 36 Dependencias de dlib

Fuente: Autor

Seguidamente, prepararemos nuestro entorno Python para la instalación de Dlib

Figura 37 Entorno virtual de Python Fuente: Autor O podemos acceder a uno ya existente como

Figura 37 Entorno virtual de Python

Fuente: Autor

O podemos acceder a uno ya existente como lo es:

Figura 37 Entorno virtual de Python Fuente: Autor O podemos acceder a uno ya existente como

Figura 38 Entorno virtual de Python Workon

Fuente: Autor

El uso del entorno virtual es explícitamente necesario para el desarrollo de Python,

aunque no son del todo obligatorios pues es una herramienta opcional. Una vez tenemos

nuestro entorno virtual podremos instalar Dlib en uestro sistema Ubuntu:

Figura 37 Entorno virtual de Python Fuente: Autor O podemos acceder a uno ya existente como

Figura 39 Instalación de pip para paquetes de Python 3

Fuente: Autor

Finalmente, abrimos la terminal Python y verificamos la instalación Dlib en Ubuntu

importando la biblioteca Dlib. (Rosebrock, 2018).

Figura 40 Importación de la biblioteca Dlib Fuente: Autor 9.5 Interfaz del Sistema de visión artificial

Figura 40 Importación de la biblioteca Dlib

Fuente: Autor

  • 9.5 Interfaz del Sistema de visión artificial La interfaz como se enseña en la figura 34 inicia haciendo una presentación del

contorno en el que se llevara a cabo el desarrollo del sistema.

Figura 40 Importación de la biblioteca Dlib Fuente: Autor 9.5 Interfaz del Sistema de visión artificial

Figura 41Interfaz Grafica del Sistema de Percepción

Fuente: Autor

La ventana principal del sistema nos presenta los siguientes aspectos:

El título del proyecto de una manera resumida.

El inicio de calibración de los valores

El nombre de la facultad, el cual aparecerá una vez el usuario elija la facultad

que desee.

Seguidamente aparece el tema el cual el usuario estará visualizando una vez

sea elegida la facultad.

El estado en tiempo real que presenta el usuario el cual tiene 3 categorías tales

como: Concentrado, Poca atención y Distraído.

Después de la casilla de estado, aparecen dos casillas más, que son para los

valores del umbral de los ojos y de la boca.

Por ultimo aparecen 3 casillas en la cuales el usuario elegirá si desea salirse del

sistema o ver alguna de las dos facultades que se le están presentando en este

caso, Ingeniería o Arquitectura

 El nombre de la facultad, el cual aparecerá una vez el usuario elija la facultad

Figura 42 Obtención de los valores umbrales de los ojos y boca en su etapa inicial

Fuente: Autor

Una vez el sistema tenga dichos valores (umbrales de los ojos y boca) permitirá al

usuario elegir el programa que desee según su interés, ya sea Ingeniería o Arquitectura.

Una vez el usuario haga la elección, el sistema dotara de información al usuario y en

tiempo real seguirá midiendo el interés del mismo a los temas que el sistema le presente.

Una vez el usuario haga la elección, el sistema dotara de información al usuario y en

Figura 43 Datos presentados en la terminal del sistema, valores de umbrales ojos y

Fuente: Autor

boca

  • 10 Capítulo 6

VALIDACION DEL SISTEMA DE VISION INTERACTIVO

En este capítulo se realizaron las diferentes pruebas como parte final del

proyecto para garantizar su funcionamiento y solución al problema planteado en el

principio del mismo. Para las pruebas se le pidió al usuario tener dos estados frente al

sistema, el primer estado seria que prestara la mayor atención para determinar si el

sistema estaba reconociendo esta actitud y del mismo modo el segundo estado seria

completamente lo opuesto en donde el usuario no prestaría ningún tipo de atención al

mismo. De este modo indicaremos de qué manera está trabajando el sistema y si está

cumpliendo o no con su tarea para lo cual fue previamente diseñado.

  • 10.1 Inicio del Sistema desde la terminal

10 Capítulo 6 VALIDACION DEL SISTEMA DE VISION INTERACTIVO En este capítulo se realizaron las diferentes

Figura 44 Apertura de terminal e ingreso al entorno virtual

Fuente: Autor

Para dar inicio a nuestro sistema abriremos la carpeta de almacenamiento directamente

en la terminal de Linux, seguidamente ingresamos al entorno virtual para poder cargar

los archivos en dicho entorno y poder referirnos a la interfaz.

Para dar inicio a nuestro sistema abriremos la carpeta de almacenamiento directamente en la terminal de

Figura 45 Ingreso al Sistema e Inicialización de la cámara

Fuente: Autor

  • 10.2 Adquisición de datos para los umbrales de los ojos y boca

Para dar inicio a nuestro sistema abriremos la carpeta de almacenamiento directamente en la terminal de

Figura 46 Sistema en espera por acción del Usuario #1. Abertura de ojos

Fuente: Autor

Fuente: Autor Figura 47 Sistema en espera por acción del Usuario #1. Ojos cerrados Figura 48

Figura 47 Sistema en espera por acción del Usuario #1. Ojos cerrados

Fuente: Autor Figura 47 Sistema en espera por acción del Usuario #1. Ojos cerrados Figura 48

Figura 48 Sistema en espera por acción del Usuario #1. Abertura de boca

Figura 49 Sistema en espera por acción del Usuario #1. Boca cerrada Figura 50 Calibración del

Figura 49 Sistema en espera por acción del Usuario #1. Boca cerrada

Figura 49 Sistema en espera por acción del Usuario #1. Boca cerrada Figura 50 Calibración del

Figura 50 Calibración del valor de los umbrales

Fuente: Autor

Como ya lo habíamos mencionado en el capítulo anterior, en esta parte el sistema

requiere de cuatro datos explícitos para hacer el cálculo de los umbrales tanto de los

ojos como de la boca, estos datos son: abertura de los ojos por 3 segundos, cerrar los

ojos por tres segundos, mantener la boca cerrada por tres segundos más y por ultimo

abrir la boca por otros 3 segundos, una vez el sistema tenga estos datos calcula los

umbrales y termina la calibración y permite al usuario elegir lo que desee ver según sea

su interés.

abrir la boca por otros 3 segundos, una vez el sistema tenga estos datos calcula los

Figura 51 Lectura en tiempo real de los valores del ojo y boca del primer usuario

En este punto el usuario debe tomar la decisión en que programa quiere ingresar para

visualizar la información (base de datos).

abrir la boca por otros 3 segundos, una vez el sistema tenga estos datos calcula los

Figura 52 Visualización del contenido del programa de ingeniería

Fuente: Autor

Empezamos a evaluar la funcionalidad del sistema. En este caso el usuario está

en plena atención pues queda evidenciado en el estado del sistema. Si el usuario por

alguna u otra razón empieza a distraerse el sistema lo percibirá y arrojara el estado ya

sea poca atención o distraído por completo.

Empezamos a evaluar la funcionalidad del sistema. En este caso el usuario está en plena atención

Figura 53 Estado: Poca Atención

Fuente: Autor

El sistema percibió en el usuario falta de interés en un término medio, por ello arroja

un estado de poca atención, el sistema hasta este punto está cumpliendo con su función.

Si el usuario sigue distraído o el tema no le interesa en lo más mínimo el sistema lo ha

de percibir para arrojar un estado de Distraído y proponerle al mismo si desea cambiar

el tema o seguir en el mismo. El sistema hace esto por si e usuario se ha ausentado por

completo no seguir mostrando información sin necesidad si no que automáticamente el

mismo se detiene generando un error de que n detecta ningún rostro y se queda allí

esperando a alguna acción del usuario.

Figura 54 Estado: Distraído Fuente: Autor Como podemos ver en la figura 54 el sistema si

Figura 54 Estado: Distraído

Fuente: Autor

Como podemos ver en la figura 54 el sistema si está cumpliendo con sus

especificaciones percibiendo en el usuario pérdida total de interés, pero no solo se queda

en arrojar un mensaje de distracción si no que propone al usuario el cambio de tema,

confirmando de este modo la interacción entre el usuario y el sistema.

Figura 54 Estado: Distraído Fuente: Autor Como podemos ver en la figura 54 el sistema si

Figura 55 Información del error cuando el usuario se ausenta del sistema

Fuente: Autor

Figura 56 Cambio correcto de Tema Fuente: Autor El usuario eligió cambiar el tema pues el

Figura 56 Cambio correcto de Tema

Fuente: Autor

El usuario eligió cambiar el tema pues el anterior no era de su interés, el sistema toma

la orden e inmediatamente le propone un nuevo tema dentro del mismo programa. Pero

puede suceder que al usuario no le interese ninguno de los tema que se le han propuesto

dentro del programa, el sistema lo percibe y después de esto finaliza la sesión,

cumpliendo con su estructura.

Figura 56 Cambio correcto de Tema Fuente: Autor El usuario eligió cambiar el tema pues el

Figura 57 Finalización de la sesión por falta de interés del Usuario

Fuente: Autor

La validación del sistema ha sido exitosa pues ha cumplido con cada uno de los aspectos

para los cuales fue diseñado. Seguidamente mostraremos de qué manera hace lectura el

sistema en un rostro diferente, para ello tenemos un Usuario #2.

Fuente: Autor La validación del sistema ha sido exitosa pues ha cumplido con cada uno de

Figura 58 Sistema en espera por acción del Usuario #2. Abertura de ojos

Fuente: Autor

Fuente: Autor La validación del sistema ha sido exitosa pues ha cumplido con cada uno de

Figura 59 Sistema en espera por acción del Usuario #2. Ojos cerrados

Fuente: Autor

Fuente: Autor Figura 60 Sistema en espera por acción del Usuario #2. Boca cerrada Fuente: Autor

Figura 60 Sistema en espera por acción del Usuario #2. Boca cerrada

Fuente: Autor

Fuente: Autor Figura 60 Sistema en espera por acción del Usuario #2. Boca cerrada Fuente: Autor

Figura 61 Sistema en espera por acción del Usuario #2. Abertura de boca

Fuente: Autor

Figura 62 Boca abierta para la adquisición de información Fuente: Autor El sistema no ha tenido

Figura 62 Boca abierta para la adquisición de información

Fuente: Autor

El sistema no ha tenido ningún inconveniente a la hora de hacer lectura de un rostro

diferente, con diferentes características y contornos. El Usuario #2 hizo la validación

del sistema poniéndolo a prueba del mismo modo que el usuario #1 a diferencia de que

él (a) sí estuvo atento(a) a la información que el sistema le presento, pues así lo podemos

evidenciar en la siguiente figura.

Figura 62 Boca abierta para la adquisición de información Fuente: Autor El sistema no ha tenido

Figura 63 Validación del sistema, exitosa

  • 11 Capítulo 7

CONCLUSIONES Y DISCUSION DE RESULTADOS

A lo largo de la presente investigación logro demostrarse la importancia de la

enseñanza virtual para las nuevas generaciones, pues estas cada vez tienen más

acceso a las últimas tecnologías, por lo tanto más acceso a dispositivos tales

como el cual donde se realizó el sistema. Se logró definir y clasificar el sistema

interactivo para fines de percepción de indicadores de interés en un tipo de

enseñanza virtual debido a sus características y portabilidad.

Durante el desarrollo de este trabajo, se ha estado resaltando la importancia de

los sistemas de percepción de imágenes y su forma de medir. Los cuales fueron

utilizados para la realización del sistema interactivo para fines de percepción de

indicadores de interés a través de la visión artificial, el cual se logró realizar en

su plenitud gracias a los criterios de selección hechos tanto para el software

como el hardware.

Se realizó un estudio del caso para poder lograr sus alcances y cumplir con sus

exigencias, girando todo el sistema en torno al mismo. El diseño del algoritmo

fue posible gracias a herramientas no externas pero que si vienen para instalar

dentro del sistema operativo (Linux Ubuntu 16.04). Para la realización del

sistema fue necesario el estudio de herramientas tales como Python o Dlib del

cual no se tenía gran información o era un tema completamente nuevo para el

autor.

Para la programación del sistema se utilizó el sistema operativo Linux al cual

pertenece Ubuntu 16.04, se realiza en este sistema y no en Windows debido a

que las librerías definidas para Windows generaban muchos problemas en la

lectura de los contorno de los ojos y la boca, se intentó mitigar este problema

pero no fue posible por ello se dedujo trabajar en Ubuntu pues contaba con

librerías como Dlib diseñadas especialmente para la lectura y reconocimiento

de los contornos del rostro, tales como distancias en los parpados del ojo y de

la boca.

La calidad de la cámara no es la mejor, pero logra cumplir con su función una

vez sea necesaria para la adquisición de datos por medio de la misma, sin duda

alguna esto puede mejorar considerablemente en el sistema si cambiamos la

cámara por un sensor de mejores capacidades como un Kinect o una cámara con

mejores características. Esto evitaría menos ruido y malformaciones a la hora

de captar el rostro del usuario.

  • 12 Capítulo 8

RECOMENDACIONES PARA TRABAJOS FUTUROS

Este sistema puede ser sometido a muchos cambios puesto que este se realizó a modo

de prototipo, para lo cual se recomienda hacer uso de sensores más modernos algo así

como un Kinect o cámaras propiamente fabricadas para visión artificial, sube

considerablemente el precio del producto pero sus resultados serán mucho mejor.

El sistema puede perfectamente aplicarse no solo a población universitaria sino que

haciéndole algunos ajustes se puede utilizar para enseñar a todo tipo de personas incluso

las que tiene alguna dificultad física en el caso extremo de una persona que sufra de

cuadriplejia, en este caso se aplica pues el sistema terminaría siendo autónomo y el

usuario no tendría que hacer ningún tipo de acción frente al mismo, solo con las

expresiones faciales será suficiente.

El sistema se puede hacer completamente inalámbrico, es decir no depender de un

computador para su desarrollo, también se podría realizar o llevar a cabo a través de

una tarjeta adquisidora de datos, una pantalla y un sensor que me permita percibir las

imágenes en tiempo real.

13

Bibliografías

Paz, I. H. P. (s. f.). CERTIFICACIÓN DEL DIRECTOR, 193.

2.6 Motivación: ¿Qué motiva a los estudiantes? | ED100. (s. f.). Recuperado 12 de

mayo de 2018, a partir de https://ed100.org/lessons/2-6-motivacion-que-motiva-a-los-

estudiantes

3cbb38_Introduction

to

Machine

Vision.pdf.

(s. f.).

Recuperado

a

partir

de

http://www.ikusmen.com/documentos/descargas/3cbb38_Introduction%20to%20Mac

hine%20Vision.pdf

86. Sensor Kinect, inteligencia artificial al alcance de todos. (2016, junio 28).

Recuperado 16 de mayo de 2018, a partir de https://programarfacil.com/podcast/86-

sensor-kinect-inteligencia-artificial/

15950.pdf. (s. f.).

1409914786SANZAplicacióndelastécnicasdevisiónartificialcomoherramientasdeexpre

siónaudiovisual

....

pdf.

(s. f.).

Admin. (2009, junio 12). 350 Letras: Duracion de un parpadeo. Recuperado 14 de mayo

de

2018,

a

partir

de

http://350letras.blogspot.com.co/2009/06/duracion-de-un-

parpadeo.html

 

Blogspot

Snapshot.

(s. f.).

Recuperado

a

partir

de

http://350letras.blogspot.com.co/2009/06/duracion-de-un-parpadeo.html

BOTERO - 2012 - INTEGRACIÓN DE UN SISTEMA DE VISIÓN ARTIFICIAL A

U.pdf. (s. f.).

Cómo instalar Ubuntu 16.04 LTS en tu PC paso a paso. (2016, junio 8). Recuperado 18

de mayo de 2018, a partir de https://www.profesionalreview.com/2016/06/08/como-

instalar-ubuntu-16-04-lts-en-tu-pc-paso-a-paso/

DesarrolloWeb.com. (s. f.). Qué es Python. Recuperado 14 de mayo de 2018, a partir

de http://www.desarrolloweb.com/articulos/1325.php

dlib C++ Library - Introduction. (s. f.). Recuperado 14 de mayo de 2018, a partir de

http://dlib.net/intro.html

Educación virtual o educación en línea - Ministerio de Educación Nacional de

Colombia.

(s. f.).

Recuperado

19

de

mayo

de

2018,

a

partir

de

https://www.mineducacion.gov.co/1759/w3-article-196492.html

García - Sistemas de Percepción y Visión por Computador.pdf. (s. f.).

García, A. R. (s. f.). Sistemas de Percepción y Visión por Computador, 270.

Gualdrón et al. - DESIGN OF A FACE RECOGNITION SYSTEM USING THE

HYBR.pdf. (s. f.).

Javier Garzón. (14:34:28 UTC). Raspberry jam Bogota 2016 - Sistema de visión

artificial

aplicados

a

.

Engineering.

 

Recuperado

a

partir

de

https://www.slideshare.net/jegcgarcas/raspberry-jam-bogota-2016-sistema-de-visin-

artificial-aplicados-a-procesos-agro-industriales-mediante-ordenadores-de-placa-

reducida-raspberry-pi

 

OpenCV

en

Linux.

(s. f.).

Recuperado

18

de

mayo

de

2018,

a

partir

de

https://geekytheory.com/opencv-en-linux

OpenCV library. (s. f.). Recuperado 16 de mayo de 2018, a partir de https://opencv.org/

Pereyra - Reconocimiento Facial Mediante Imágenes Estereoscó.pdf. (s. f.).

Pérez - Reconocimiento Facial Basado en Puntos Característ.pdf. (s. f.).

Reconocimiento

facial.

(s. f.).

Recuperado

19

de

mayo

de

2018,

a

partir

de

http://www.serbanbiometrics.es/es/soluciones/reconocimiento-facial

Rosebrock, A. (2018, enero 22). Install dlib (the easy, complete guide). Recuperado 18

de mayo de 2018, a partir de https://www.pyimagesearch.com/2018/01/22/install-dlib-

easy-complete-guide/

Sistemas Visión Integrados | Sistemas de visión Artificial para INDUSTRIA |

INFAIMON. (s. f.).

Recuperado

16

de

mayo

de

2018,

a

partir

de

https://www.infaimon.com/es/sistemas-vision-integrados-industria

 

UCD1453_01.pdf. (s. f.).

 

Vision

artificial

aplicada

a

la

robotica.pdf.

(s. f.).

Recuperado

 

a

partir

de

https://riull.ull.es/xmlui/bitstream/handle/915/2914/Vision%20artificial%20aplicada%

20a%20la%20robotica.pdf?sequence=1

Visión Artificial con MATLAB: Detección y seguimiento de objetos. (s. f.).

Recuperado 16 de mayo de 2018, a partir de https://www.redeweb.com/agenda/vision-

artificial-con-matlab-deteccion-y-seguimiento-de-objetos/

visionartificial.pdf. (s. f.).

Windows 10 y Ubuntu 16, guía completa de instalación. (s. f.). Recuperado 18 de mayo

de 2018, a partir de https://www.muycomputer.com/2016/04/25/windows-10-y-

ubuntu-

16/?utm_medium=social&utm_source=pinterest?utm_medium=social&utm_source=p

interest

14

ANEXOS

ANEXO A

PROGRAMACION DEL SISTEMA, CODIGO POR MEDIO DE IMÁGENES DESDE EL EDITOR DE TEXTO

INICIO DE LA CAMARA

INICIO DE LA CAMARA DETECCION FACIAL 81

DETECCION FACIAL

INICIO DE LA CAMARA DETECCION FACIAL 81
82
82
83
83
84
85
86
86
87
87
88
88
89
89
90