Por Andrew G. Mercader y Bogdan Pogorelc (Y-TEC).
: En este trabajo se resume el funcionamiento de redes neuronales profundas, comparando los algoritmos más utilizados en la actualidad para el reconocimiento de objetos y clasificación de imágenes en tiempo real, mostrando las posibilidades que estos abren y su aplicación en la industria de los hidrocarburos.
Video Analytics (o Computer Vision) es una disciplina que en los últimos años ha ganado relevancia a nivel mundial. Esto se debe principalmente a que habilita una gran cantidad de nuevas aplicaciones valiosas, tanto en la industria global, como en el caso particular de Oil & Gas.
Su tecnología basada en Deep Learning (redes neuronales de un gran número de capas) requiere expertos que estén al tanto del estado del arte en ciencia de datos y en programación, que no necesariamente conocen los problemas que el negocio necesita resolver.
Por este motivo, su aplicación, requiere una interacción permanente y fluida entre expertos de dominio o negocio, y expertos en Analytics. En este sentido, las metodologías ágiles emergen como la principal opción para facilitar dicha interacción a través de un proceso iterativo.
En este trabajo mostraremos un resumen del funcionamiento de redes neuronales profundas, comparando los algoritmos más utilizados en la actualidad (como por ejemplo YOLO) para el reconocimiento de objetos y clasificación de imágenes en tiempo real, mostrando las posibilidades que estos abren.
Por último, como nuestro equipo cuenta con experiencia en diversas aplicaciones en Oil & Gas, podremos contar lecciones aprendidas y consideraciones prácticas generales, para luego focalizarnos en un ejemplo específico.
Planteo del problema
El campo científico interdisciplinario de Computer Vision, tiene como objetivo dar a las computadoras la posibilidad de tener comprensión de alto nivel a partir de imágenes o videos. Desde el punto de vista de la ingeniería, apunta a entender y automatizar tareas que puede llevar a cabo el sistema visual humano.
Dichas tareas incluyen métodos de adquisición, procesamiento y análisis de imágenes digitales, para la extracción de datos del mundo real de forma de producir información que pueda ser usada para tomar algún tipo de decisión.
En la actualidad esto se hace principalmente mediante el uso de algoritmos de Deep Learning. Es un término que generalmente se refiere al uso de redes neuronales con múltiples capas que sintetizan la forma en que el cerebro humano aprende y toma decisiones. Lo que les da la cualidad de poder aprender ajustándose automáticamente a un conjunto de imágenes de ejemplos.
Ejemplo de aplicación
En esta charla mostraremos su aplicación y aporte de valor en la industria de O & G, para el caso de Conteo Vehicular
Objetivo: Obtener una medición de transito preciso en las inmediaciones de las Estaciones de Servicio de forma de ayudar a elegir su geo posición y su tamaño óptimo, consecuentemente maximizar el retorno de la inversión. La necesidad surge de la correlación existente entre las ventas en una estación de servicio con el caudal del tránsito en las calles linderas.
Desarrollo técnico del trabajo
Algoritmo empleado
A continuación, se mostrarán el algoritmo usado y sus características principales.
You only look once (YOLO) es uno de los algoritmos de código abierto para la detección y clasificación de objetos en tiempo real más utilizado en la actualidad, principalmente por la simplicidad de su arquitectura (Figura 1), que le permite tener muy altas velocidades sin una perdida considerable en precisión.
Figura 1 : Arquitectura de la red de detección del algoritmo YOLO
La simplicidad de YOLO deriva de su enfoque, que en lugar de escanear repetidas veces la imagen para determinar la localización de los objetos, divide la imagen en una grilla. Luego a partir de cada división, predice las probabilidades de encontrar el cuadro delimitador de cada objeto y la clase a la que pertenece, para luego combinarlas y obtener la detección final (ver Figura 2).
2 Esquema de funcionamiento de YOLO
Resultados obtenidos
El algoritmo fue exitosamente adaptados a la necesidad de uso (ver Figura 3).
El error porcentual calculado, usando como valor válido de tránsito, un conteo de vehículos realizado en forma manual, arrojó un valor de 12,4 % en un período de 24 hs. Un software comercial alternativo arrojó un valor de 67,3 % usando exactamente los mismos videos.
Figura 3 : Salida del algoritmo de conteo vehicular
- Consideraciones prácticas
Hay varios factores para tener en cuenta en la aplicación de cualquier solución que use Video Analytics.
Entre ellas se pueden mencionar el efecto que tiene la calidad de los videos en términos de: resolución, grado de compresión o cantidad de cuadros por segundo. Como se puede ver en la Figura 4, una disminución de la calidad, tanto en términos de cantidad de megapíxeles de las imágenes, como en la cantidad de cuadros por segundo de los videos, provocan un importante aumento del error del algoritmo de conteo vehicular.
Figura 4 Resolución de la cámara y cuadros por segundo vs error relativo para el algoritmo de conteo vehicular
Por otro lado, un aumento en la calidad de los videos implica un aumento en el tiempo de cálculo. Por ejemplo, el aumento del número de fps tiene una correlación prácticamente lineal con el tiempo costo computacional, en nuestro caso, vimos que un aumento de 33 % en fps dio un aumento de 38 % en el tiempo de cálculo.
Otro efecto a tener en cuenta es la distorsión de la lente, que generalmente es notable en imágenes provenientes de cámaras de seguridad ya que por diseño tienen un gran angular. Este efecto se puede corregir mediante un cálculo que se agrega al tiempo de cómputo.
Por último, son importantes, los cambios en la iluminación y encandilamiento en ciertas horas del día. En el caso de conteo vehicular hubo dos horas durante el atardecer donde el sol de frente provocó que el error sea 3 veces más grande que sin este efecto.
Una interacción interdisciplinaria fluida entre expertos de distintas áreas es clave para el desarrollo y puesta en funcionamiento de soluciones de Computer Vision. Para esto hemos conformado una célula ágil integrada por: Expertos de dominio o negocio que conocen los detalles de la necesidad a subsanar. Expertos de infraestructura que puedan hacer instalaciones y cambios en el campo y hardware existentes. Y expertos en Analytics que conocen el detalle del funcionamiento de los algoritmos y tienen experiencia en programación para poder modificarlos y ajustarlos.
La experiencia de la aplicación de estas metodologías, novedosas para nuestra compañía, fueron muy positivas, permitiendo un avance coordinado en un tiempo muy acotado.
Conclusiones
En YTEC hemos podido desarrollar e implementar diversos algoritmos de Video Analytics que abren un abanico de posibilidades para la industria de Oil & Gas. En particular se mostró su aplicación para el caso de conteo vehicular.
Para su uso es fundamental contar con expertos en la materia que puedan ajustar programáticamente estos algoritmos. Que a su vez puedan interactuar con los expertos de negocio e infraestructura. Por este motivo se optó el uso de metodologías agiles para este tipo de desarrollos. En la experiencia estas dieron muy buenos resultados siendo una excelente forma de coordinar al equipo cuando el tiempo es muy acotado.
La calidad de las imágenes es crucial, tomando otro nivel de importancia frente a un uso meramente para sistemas de seguridad. Por lo cual, en futuras instalaciones y/o actualizaciones de estos sistemas de vigilancia, es aconsejable tener en cuenta los requerimientos mínimos necesarios para aplicaciones de Computer Vision.
Referencias
Ansari Shaharyar, Zafar Aasim (2020) A Review on Video Analytics Its Challenges and Applications. 10.1007/978-981-15-0339-9_14.
Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi (2016) You Only Look Once: Unified, Real-Time Object Detection. arXiv:1506.02640v5
Zhe Cao, Gines Hidalgo, Tomas Simon, Shih-En Wei, Yaser Sheikh (2019) OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. arXiv:1812.08008v2 |