1. Introducción
Internet de las Cosas es considerado como una verdadera revolución en el mundo tecnológico, especialmente en las comunicaciones, según (Chen, Xu, Liu, Hu, & Wang, 2014) se trata de una red inteligente que permite el intercambio de información y comunicación entre dispositivos inteligentes, por otra parte (Ansari, A. N., Sedky, M., Sedky, M., & Tyagi, A., 2015) define a IoT como una potente plataforma capaz de conectar dispositivos para monitorear aspectos de la vida cotidiana.
En la actualidad se aplica Internet de las Cosas en áreas de salud, construcciones, tráfico vehicular, agricultura, educación, visión artificial, conservación del ambiente, meteorología, etc. Con la fusión de las diferentes áreas de desarrollo de IoT se busca fortalecer la formación de Smart Cities, según (Zanella, Bui, Castellani, Vangelista, & Zorzi, 2014) el Urban IoT puede mejorar un sinnúmero de servicios públicos y privados dando como resultado un aprovechamiento de los recursos de una forma eficiente y equilibrada. El término Urban IoT se entiende como la tecnología de Internet de las Cosas aplicado a las actividades cotidianas de los ciudadanos y su interacción con los servicios y recursos propios de cada ciudad.
El objetivo de este trabajo es analizar los principales aspectos relacionados a Internet de las Cosas, de manera especial los referentes a Visión Artificial, y las aplicaciones con mayor impacto de IoT en la actualidad.
La estructura del presente documento es la siguiente, en la sección 2 se realiza una revisión sobre los conceptos fundamentales de Internet de las Cosas, más adelante en la sección 3 se explican los principios de Visión Artificial y el tratamiento de imágenes; la sección 4 presenta las principales aplicaciones relacionadas a IoT y Visión Artificial, dando al lector un enfoque amplio de lo que se está desarrollando gracias a estas tecnologías; a continuación en la sección 5 se plantea la discusión generada a partir de este trabajo y finalmente se presentan las conclusiones en la sección 6.
2. Internet de las Cosas (IoT)
Con el transcurso del tiempo el concepto de IoT se ha ido cambiando y transformando. En el 2005, la Unión Internacional de Telecomunicaciones (UIT) publicó su primer informe sobre el IoT (ITU, 2005). Donde menciona al Internet de los Cosas como “Una promesa de un mundo de dispositivos interconectados que proveen contenido relevante a los usuarios” de esta manera se da a conocer al mundo el nuevo término.
En julio de 2012, la UIT declaró un nuevo concepto de IoT (ITU, 2012) "Infraestructura global para la sociedad de la información, que permite que los servicios de interconexión (física y virtual), cosas u objetos existentes y en evolución coexista en un medio".
Cisco en el 2013 define al IoT como la interacción entre los seres humanos y los objetos en diversas aplicaciones, tales como la fabricación, la logística, el sector de los servicios, la agricultura, el reciclaje, gestión ambiental, casas inteligentes y otros, añadiendo una nueva forma de conectividad de los "objetos" a Internet (CISCO, 2013).
Internet de las Cosas (IoT) ha evolucionado con la finalidad de unir a un gran número de elementos con diferentes capacidades de conexión y la computación a una gran y única red, siendo estos capaces de enviar información sobre la Internet, detectar el estado de un entorno, procesar los datos y enviar los resultados.
Dificultades de IoT: Los dispositivos “objetos” se expanden cada día, dando lugar para que se extienda a todas las industrias y servicios ocasionando inconvenientes que se citan a continuación:
La seguridad y privacidad. -Temas críticos ya que cada objeto puede ser un punto de infección o vulnerabilidad para la toda la red (B. Fabian and O. Gunther, 2007).
Movilidad.- El IoT deberá proporcionar una conectividad sin fisuras, independientemente de donde los objetos se colocan o se trasladen, además de tener en cuenta la importancia de no perder datos por ser un objeto móvil (I. F. Akyildiz, 2007).
Limitación de recursos: Es necesario mencionar que cada objeto necesita gestionar su propia energía y capacidad de almacenamiento (D. Guinard, 2010) .
La heterogeneidad: Es una de las principales dificultades ya que se necesita que todos los objetos conectados a la red hablen el mismo idioma, es decir que existan protocolos para que converjan todos los dispositivos y puedan comunicarse dentro de la red IoT (Michele Nitti, 2015).
Plug and Play: Tan pronto como un dispositivo se une a una red, debe registrarse y entrar en funcionamiento permitiendo que todos los objetos puedan comunicarse con el sin ningún inconveniente. En sistemas de IO (Entradas/Salidas), el desafío es hacer este proceso automático y dinámico que permita al objeto interactuar inmediatamente con otros objetos sin la necesidad de intervención humana (Michele Nitti, 2015).
Arquitecturas de IOT: Uno de los principales problemas en la IO es que su concepto es muy amplio de tal manera que no se propone ninguna arquitectura uniforme (Somayya Madakam, 2015). (Bagula, 2013) y (Department of Electrical and Electronic Engineering - University of Cagliari, 2015) plantean las siguientes arquitecturas:
Arquitectura UIT. -De acuerdo con las recomendaciones de la Unión Internacional de Telecomunicaciones (UIT), la arquitectura de IoT consiste en (Bagula, 2013): Capa de Acceso, Capa de Red, Capa Inter-Lógica y Capa Aplicación
Arquitectura de 3 capas. - La arquitectura IoT hace uso de la representación de un modelamiento en capas y se divide básicamente en 3 con funciones independiente (Department of Electrical and Electronic Engineering - University of Cagliari, 2015): Capa Física, Capa de Virtualización y Capa de Aplicación.
Protocolos de IoT: IoT en su capa de aplicación implementa dos nuevos protocolos MQTT y CoAP. El protocolo MQTT (este nombre proviene de MQ Telemetry Transport) es una implementación realmente ligera y sencilla de un protocolo de mensajería, su diseño se orienta a redes con bajo ancho de banda y altos niveles de latencia. Por otra parte, el protocolo de aplicación restringida (COAP) es un protocolo de transferencia especializado para el uso con nodos y redes restringidas, entiéndase por restringidas aquellas que presentan baja potencia y altos índices de pérdidas. CoAP está diseñado para interactuar fácilmente con HTTP para la integración con la Web y su operación se basa en el protocolo UDP de capa transporte del modelo TCP/IP (Jaffey, 2014).
3. Visión Artificial
La visión artificial o como la llaman otros autores visión por computador, se la define como la ciencia de programar un computador para procesar imágenes o videos e incluso entenderlos (Culjak & Abram, 2012). En (Bradski & Kaebler, 2008) explica que es la transformación de datos desde un fotograma o video cámara en lo que puede ser una decisión o una nueva representación. En la Figura 1 se presenta paso a paso el proceso que se ejecuta en la visión artificial, indicando el orden de cada fase que va desde la adquisición de la imagen y el procesamiento hasta la ejecución de una acción en particular con los datos obtenidos.
Dado que los usos de estas fases no dependen una de otra ni tampoco son obligatorias, influyen en el trabajo que se realice, explica (Álvarez, 2014).
En la fase de adquisición de la imagen, se indica en (Vélez, Moreno, Sánchez, & Sánchez, 2003) que es la captura y digitalización de la imagen de lo físico a lo digital. Una vez que la imagen se ha digitalizado, esta entra a un pre procesamiento el cual facilita etapas posteriores, eliminando partes de la imagen que no se toman en cuenta según (Álvarez, 2014). Una de las etapas importantes en este proceso es la detección de bordes el cual discrimina el fondo, separando los objetos de interés reduciendo así los datos indica (Shah, 1997). A continuación, se realiza una segmentación de la imagen, donde (Posada, 2015) indica que se puede seleccionar los pixeles en función de sus valores sean RGB o HSV. RGB, por sus siglas en inglés Red, Green, Blue, es un modelo de color que permite representar todos los colores basándose en los colores primarios de la luz. HSV por sus siglas en inglés Hue, Saturation, Value, es un modelo de color que se basa en componentes que son matiz, saturación y valor para combinar distintos colores. De esta manera el autor indica que es posible destacar un objeto de un determinado color. Por último (Álvarez, 2014) indica que el reconocimiento y localización es donde se clasifican los objetos con características comunes dentro del espacio 3D y restringir el espacio mediante técnicas de triangulación para que se seleccione una única imagen y esta pueda ser interpretada.
Procesamiento de la imagen: Dentro de la visión artificial es necesario un tratamiento de la imagen con la finalidad de facilitar procesos posteriores. Los propósitos a continuación explicados por (Cárdenas & Lerena, 2012) son:
Disminuir el ruido producido por los dispositivos electrónicos.
Mejorar la calidad de algunas partes de la imagen.
Resaltar las características de la imagen.
Transformar la imagen a otro espacio de representación.
Smoothing: Es el suavizado de la imagen, es muy utilizado en procesamiento de imagen para la reducción de ruido o ayudar a identificar los bordes de la imagen (Matuska, Hudec, & Miroslav, 2012).
Conversión a Escala de Grises: En el trabajo de (Sobrado, 2009) indica que la conversión de una imagen a escala de grises es el equivalente a la luminancia de la imagen. En este proceso es importante la intensidad de la luz para poder identificar los colores del espectro visible para el ojo humano. Mientras que (Cárdenas & Lerena, 2012) enfatiza que la conversión a escala de grises se realiza a través del uso de una media ponderada de los componentes de color de cada pixel. En la Figura 2 se presenta un ejemplo de conversión a escala de grises previo al tratamiento de la imagen.
Morfología de la Imagen: Las transformaciones morfológicas básicas se llaman dilatación y la erosión, y se presentan en una amplia variedad de contextos, tales como la eliminación de ruido, el aislamiento de los elementos individuales, y elementos de unión diferentes en una imagen. La morfología también se puede utilizar para encontrar protuberancias o agujeros de intensidad en una imagen y para encontrar gradientes de imagen. Dilatación es una convolución de algunas imágenes (o región de una imagen) La erosión es la operación inversa la dilatación, esto lo indica (Bradski & Kaebler, 2008). En la Figura 3 se puede observar una imagen a colores con su respectiva morfología.
Detección de Bordes: La detección de bordes es una importante etapa de pre-procesamiento de análisis de imágenes indica (Matuska, Hudec, & Miroslav, 2012). Inicialmente es necesario encontrar en toda la imagenla región de interés, para esto se implementa un algoritmo de detección de contornos, que encuentra los bordes de la imagen, buscando los cambios entre tonalidades, en este caso para la imagen binarizada son los bordes del cambio de color entre el blanco y el negro (Bradski & Kaebler, 2008) . Esto nos permite acceder a cada contorno no solo para visualizarlo sino para filtrarlo con diferentes criterios de clasificación según los atributos (Posada, 2015).
3.1 Detección facial con Visión Artificial
Los sistemas de detección facial han tomado fuerza en los últimos años debido a que son ampliamente utilizados en sistemas biométricos, el objetivo de estos sistemas es identificar a un individuo en una imagen digital de forma automática. La detección facial automática tuvo sus inicios en los años 60, el primer sistema semiautomático necesitaba que el administrador localice rasgos como ojos, cejas, nariz y boca en las imágenes para calcular distancias a determinados puntos de referencia que después serían analizados con datos almacenados en el sistema. Los próximos sistemas de detección usaron distintos marcadores y técnicas para mejorar el proceso de detección. En la actualidad existen sofisticadas herramientas que son aplicadas en distintas áreas sociales como entretenimiento, tarjetas inteligentes (pasaportes, licencias de conducir), seguridad de la información, aplicación de la ley y vigilancia, entre otros.
A pesar de que la detección facial es una tarea cotidiana para el ser humano, la implementación de un software no ha sido tarea fácil y ha requerido amplias investigaciones que mejoren el proceso. El desarrollo e implementación de los algoritmos requeridos para los sistemas de detección facial se han subdividido en áreas específicas: detección de rostro, seguimiento, alineamiento, extracción de rasgos, entrenamiento, identificación, clasificación, análisis de expresión facial, análisis en 2 y 3 dimensiones (García, 2009).
4. Aplicaciones de IoT y Visión Artificial
El campo de aplicaciones de IoT se ha extendido por diversas áreas de estudio, permitiendo usar esta tecnología para la mejora de recursos naturales y tecnológicos e incluso mejorar ciertas actividades de la vida cotidiana. A continuación, se citan algunos trabajos que vinculan IoT de la mano de la visión artificial.
Conteo de personas en edificios inteligentes: El trabajo realizado por (Paci , Brunelli, & Benini, 2014) nace de la necesidad de implementar un sistema de conteo de personas dentro de un edificio, aunque aún esta tecnología no ha tenido muchos casos de estudio, se presenta como un requisito para mejorar las condiciones medio ambientales y de seguridad dentro de lugares donde se tiene un alto número de ocupantes. Para los autores de este trabajo, su caso de estudio específico se enfoca dentro de las aulas de clases, donde buscan brindar un mayor bienestar a los estudiantes mientras permanecen en sus aulas, y a la vez generar un ahorro de energía, para esto han implementado dos tipos de nodos, el primer nodo es el de sensores y el segundo es el de las cámaras. El funcionamiento de este sistema se basa en un algoritmo para conteo de personas que se ejecuta mediante el uso de cámaras y visión artificial, además el sistema en su nodo de sensores monitorea condiciones ambientales como temperatura y humedad, todos los datos son transmitidos inalámbricamente a través de una Red Inalámbrica de Sensores mejor conocida como WSN. Los modelos de ocupación al ser combinados con los datos ambientales permiten un control automatizado de los sistemas de aire acondicionado generando a la par un ahorro de energía. Por otra parte, el conteo de personas mejora la seguridad dentro de estos edificios.
Estudios similares fueron desarrollados por (Akkaya, Guvenc, Aygun, & Pala , 2015), en este caso se consideraron como punto de enfoque el creciente número de edificios inteligentes.
Parqueo inteligente y reducción de tráfico vehicular: Uno de los pilares del concepto Smart City es el manejo inteligente del tráfico vehicular, al respecto se han realizado numerosos trabajos tal como el realizado por (Baroffio, Bondi, Cesana, Redondi , & Tagliasacchi, 2015) la solución propuesta en este trabajo se centra en el uso de WSNs y una adaptación a esta tecnología empleando visón artificial que da como resultado una VSN (Visual Sensor Network). Un nodo VSN es aquel que está conectado a una cámara, por lo cual puede adquirir, procesar y capturar imágenes y videos de un lugar específico y trasmitir esa información a su nodo central. Esta tecnología es empleada para implementar un sistema de información para estacionamiento que localice los espacios disponibles y los difunda entre los conductores reduciendo significativamente el tráfico dentro de las zonas congestionadas. El sistema está compuesto por una red inalámbrica de nodos con cámaras que ejecutan un algoritmo de detección de espacios disponibles, el procesamiento de las imágenes se realiza en el nodo central y desde aquí se transmite la información a los conductores, esta es una solución en tiempo real que vincula el concepto de visión artificial e IoT en beneficio de la población.
Sistemas de vigilancia y control en hogares: IoT requiere tan solo de una cámara y ciertos algoritmos para poder realizar el análisis de imágenes y videos, si bien es cierto las cámaras pueden ser de distintas características, pero lo que se requiere específicamente es capturar imágenes. Basados en esta idea (Ansari, A. N., Sedky, M., Sedky, M., & Tyagi, A., 2015) han implementado un sistema de vigilancia para domicilios usando una placa Raspberry Pi y una cámara web, con un costo de aproximadamente 60 dólares se pueden obtener imágenes en tiempo real, el sistema cuenta con un proceso de notificación mediante correo electrónico o mensajería que le indicará al propietario si dentro de su hogar se ha detectado un movimiento. El sistema se basa en el uso de scripts en Python y un almacenamiento de información en un servidor FTP externo. Esta solución es una alternativa sencilla y económica pero que brinda resultados eficientes como sistema de seguridad y se adapta al concepto de Smart Home.
Medicina: En el campo de la medicina mediante la visión artificial se puede clasificar o visualizar una imagen de mejor forma, con imágenes procesadas en alta resolución se puede operar desde lugares remotos sin tener la necesidad de que un doctor especializado deba trasladarse al lugar de la cirugía.
Inspección de Calidad: La inspección puede involucrar los sectores de la verificación de dimensiones y fallas de un elemento, las cámaras monitoreando la producción en serie de una fábrica, el control se lo realiza fuera o dentro de las instalaciones, este proceso puede ser revisado mediante cualquier dispositivo móvil con acceso a las direcciones públicas de la empresa, con el internet de las cosas se pueden activar o desactivar máquinas dando un mejor un control de la producción.
IoT con Visión Artificial en la Educación: Una alternativa para mejorar la educación desde los niveles iniciales hasta las aulas universitarias es involucrar a los estudiantes con las TICs, en el caso específico de IoT se pueden desarrollar herramientas didácticas de aprendizaje que cuenten con una plataforma en internet donde los resultados alcanzados por el estudiante puedan ser visualizados en tiempo real. El uso de visión artificial es una herramienta que podría implementarse para monitorear a los alumnos, determinando estados de ánimo, cansancio e incluso desconcentración que se pueden conocer al evaluar y reconocer ciertos patrones fisiológicos de comportamiento Los beneficios de este tipo de monitoreo permiten determinar mediante modelos predictivos y algoritmos de Machine Learning (Aprendizaje de Máquina) cuáles son los periodos de tiempo y los horarios más adecuados para alcanzar un aprendizaje óptimo.
Dentro de este campo de investigación se desarrolló un sistema de monitoreo facial que brinda estimadores de desconcentración del estudiante universitario dentro del aula de clase, con la implementación de scripts de Python y empleando la herramienta OpenCV, se desarrolló un sistema capaz de determinar el número de bostezos y número de parpadeos de los estudiantes, debido a que estas variables son indicadores de cansancio y por ende se relacionan a la desconcentración, posterior a un análisis de datos se determinó si el estudiante está desconcentrado o no; estos datos son subidos a una plataforma en Internet, donde los docentes pueden conocer cómo interactúan sus alumnos durante los periodos académicos. Una vez realizada la fase de pruebas se determinó los horarios adecuados para que los estudiantes aprovechen de mejor manera sus procesos de enseñanza, mejorando el proceso de aprendizaje con el uso de estas herramientas tecnológicas (Alvear, 2016). En la Figura 4 se presenta una prueba del monitoreo facial realizada con los estudiantes dentro del proceso de validación del sistema.
5. Discusión
El IoT pretende que los datos que se obtengan por medio de sensores puedan ser monitoreados de forma remota, de esta manera generar bases de datos con las cuales se pueda realizar estadísticas, tendencias, probabilidades, todo esto en función de comportamientos y actividades de personas o ambientes donde se puede aplicar sistemas electrónicos completos y obtener estos datos en busca de mejorar procesos o determinar puntos débiles.
El campo de la visión artificial en la actualidad va de la mano con la inteligencia artificial donde ya no solo se determinan ciertos parámetros de una imagen, sino que una computadora sea capaz de describir una imagen. Todo parte desde la base del procesamiento de imágenes que es indispensable, de tal manera que la interpretación de una imagen o la captura de videos puedan ser procesados para mejor desempeño de un algoritmo.
6. Conclusiones
Con la revisión del estado del arte de IoT y Visión Artificial se han evidenciado que los estudios y avances tecnológicos en un futuro no muy lejano serán implementados a la vida cotidiana de las personas y se podrá convivir con ello. Estas tecnologías buscan brindar confort y dar facilidades en los diferentes ambientes en que residimos.
Con el abundante cambio e incremento de la tecnología con la finalidad de mejorar y facilitar la vida diaria del ser humano el concepto de IoT cada vez está más presente. La necesidad de siempre estar conectado a nuestros objetos permitirá innumerables aplicaciones de IoT en todos los dominios y campos de estudio que incluyen la medicina, industria, educación, vivienda, minería, hábitat, transporte, etc. Pero la aplicación de la IoT se ve limitada al no tener una arquitectura y estándares para que todas puedan interactuar entre sí, además el internet de las cosas requiere grandes esfuerzos para abordar y presentar soluciones para su seguridad y amenazas a la privacidad.
Los dispositivos electrónicos CCTV (Circuito Cerrado de Televisión) en los hogares e incluso cámaras de seguridad en las ciudades podrán utilizar la visión artificial para dejar de ser dispositivos limitados a grabar videos únicamente, al contrario, se contará con ayuda para detectar accidentes como enviar una alerta si un niño cae en una piscina y no simplemente grabarlo como seria lo común. Determinar en las calles accidentes automovilísticos y enviar alerta a las ambulancias y que este les informe de la situación y no esperar que alguien llame vía telefónica.