Barcelona (34) 93 263 33 54 | Madrid (34) 91 329 55 00 | Norte (34) 94 623 26 48

Acelerando las Redes Neuronales para el Transporte Público

Las capacidades de visión artificial a bordo del transporte público son fundamentales para garantizar la seguridad y el bienestar de los pasajeros y el personal, así como para mejorar su experiencia general. Ahora, las nuevas posibilidades ofrecidas por el Deep Learning mediante Inteligencia Artificial (IA) están llamando la atención a los operadores de trenes, tranvías y autobuses. ¿Cómo pueden los desarrolladores embedded maximizar de manera rentable el potencial de la IA para sus aplicaciones y cuáles son las consideraciones clave para acelerar las redes neuronales?

Transporte Monitorizado por Inteligencia Artificial

En la nueva era del tren -o del autobús o del metro- conectados, los operadores, los pasajeros y el personal podrán estar más tranquilos, gracias a sistemas cada vez más sofisticados de visión artificial onboard que proporcionarán monitorización y alertas en tiempo real, así como análisis de video en vivo realizado por una IA (Inteligencia Artificial).

Con estos desarrollos, los diseñadores de sistemas embedded a menudo prefieren ejecutar algoritmos de IA “on the edge” para reducir los flujos de datos que van a Internet y a la nube, especialmente en aplicaciones móviles integradas donde el ancho de banda inalámbrico, el rendimiento de datos y el coste de transmisión de datos son clave. Por eso, los sistemas onboard para IA necesitan hardware de predicción eficiente con baja disipación de energía (<10 W) y capacidad de funcionamiento fiable en rangos de temperatura de -40 °C a +70 °C y, al mismo tiempo, que puedan soportar vibraciones continuas.

Los sistemas de Visión con Inteligencia Artificial serán necesarios en el transporte público

A continuación se analizan las consideraciones de diseño y los retos que enfrentan los diseñadores de sistemas embedded al desarrollar aplicaciones de visión por IA para su implementación a bordo de trenes y otros vehículos de transporte público. El papel crítico de la aceleración de la red neuronal se examina para ofrecer todo el potencial de Deep Learning con el máximo rendimiento y funcionalidad de los sistemas. A esto le sigue una breve descripción general de la última familia de Kontron de PC industriales embedded con certificación ferroviaria basadas en Intel que cuentan con aceleración de redes neuronales para el transporte público.

Visión Automatizada a Bordo: un Mercado en Proceso de Cambio

El circuito cerrado de televisión de trenes y otros medios de transporte público ya no se limita a la grabación pasiva a bordo. Para garantizar la máxima eficiencia, así como la protección de los pasajeros y el personal, los operadores de transporte y su personal de a bordo ahora necesitan del apoyo de soluciones de visión en tiempo real. Además, la llegada de trenes, autobuses y metros sin conductor y con menos personal a bordo significará una mayor importancia de la vigilancia, que se convertirá en un requisito aún más necesario. Ya hay cámaras instaladas a bordo de trenes y otros vehículos de transporte público que soportan una amplia gama de aplicaciones: conteo de pasajeros, detección de equipaje abandonado/perdido, monitorización de situaciones de riesgo y comportamiento de los pasajeros. La monitorización de multitudes en las plataformas de las estaciones es otra aplicación importante.

Actualmente, sin embargo, en respuesta a las amenazas de seguridad cada vez mayores y la necesidad constante de ofrecer una experiencia excepcional al pasajero, se necesitan sistemas de vigilancia más potentes y sofisticados, con el fin de darle al personal más herramientas para que puedan gestionar y responder a eventos o incidentes antes de que estos ocurran o una vez ocurren. Estos sistemas también se necesitan para el apoyo de las investigaciones criminales, usando potentes análisis de vídeo mediante IA. La privacidad es un requisito fundamental: todos los datos biométricos y personales de identificación debe ser anonimizados desde la fuente. Seguidamente, los datos almacenados y transmitidos se deben encriptar utilizando algoritmos de última generación mediante aceleradores hardware on board.

En consecuencia, los operadores de transporte público buscan implementar la última generación de soluciones de visión IA en tiempo real que aprovechen el potencial de las redes neuronales Deep Learning. Como consecuencia, los diseñadores embedded deben especificar e implementar un sistema de visión embedded rugerizado que combine óptimas capacidades de computación y gráficas, excelente rendimiento y seguridad digital. Por lo general, esta solución debe encontrarse en un PC industrial de estado sólido, resistente, compacto y que no use ventilador, donde se equilibre el consumo de energía, la capacidad de refrigeración, el coste y la fiabilidad del sistema. Aquí es donde entran en acción los aceleradores de redes neuronales cada vez más potentes, estén integrados o no en la CPU, que son elementos críticos para alcanzar un procesamiento de velocidad extremadamente alta y reducir la energía disipada.

Aprovechar el Potencial de las Redes Neuronales

Los PC embedded y motherboards se usan para dar soporte a los sistemas de visión artificial onboard que realizan en tiempo real el procesamiento y la analítica de datos con una capacidad gráfica robusta y bajo consumo de energía. Para aplicaciones de vigilancia visual onboard, son especialmente adecuados los PC embedded que utilizan los procesadores x86 más recientes, permitiendo soluciones flexibles cuando se combinan con alguno de los factores forma disponibles. Con la llegada de las tecnologías de inteligencia artificial, los diseñadores deben aprovechar de forma efectiva las capacidades de reconocimiento de objetos de las redes neuronales y de los algoritmos que realizan el clustering y clasificación de datos en aplicaciones Deep Learning, para proveer alertas precisas en un rango de eventos o incidentes incluyendo, por ejemplo, maletas sospechosas/abandonadas o vagones demasiado llenos.

Requisitos de un sistema embedded para redes neuronales

Se necesita velocidad y precisión cuando se considera la «jerarquía» de procesamiento que rige la detección, clasificación y tracking: desde la recolección de datos a través de GPS, sensores de cámara, sensores inerciales, etc. hasta el procesamiento a través del algoritmo de imágenes para su mejora y filtraje, antes de ser enviado a la red neuronal. Para hacer esto de forma precisa  y eficiente, el sistema necesitará “experimentar” decenas de miles de diferentes escenarios con el fin de entrenar el software para que reconozca y distinga entre una multitud de diferentes situaciones, incluyendo reconocimiento de emociones para detectar pasajeros potencialmente preocupados o agresivos. Aunque la simulación y el modelaje ayudan, mucho del aprendizaje vendrá del día a día de la experiencia a bordo, que permitirán mejoras continuas en la precisión del análisis en tiempo real, reportes y alertas.

Afortunadamente, la creciente disponibilidad de cada vez más aceleradores de red dedicados a un coste asequible, pueden ayudar a lograr el equilibrio óptimo entre el rendimiento, el consumo de energía, el coste del sistema, el tamaño y la flexibilidad. Al optimizar la gestión de las cargas de trabajo neuronales a través de un rápido procesamiento, clustering y clasificación de datos, los aceleradores de redes neuronales ayudan a obtener un «servicio de inteligencia» que no tiene precedentes para la última generación de sistemas de videovigilancia embedded a bordo. Además, al descargar de trabajo la CPU, ayudan a reducir el consumo de energía y la disipación de calor. Esto es de importancia clave, ya que hoy en día los diseños de PC embedded rugerizados y de bajo perfil son requisitos para garantizar la confiabilidad en los sistemas que se implementan en entornos hostiles y con limitaciones de espacio.

Por ejemplo, la unidad de procesamiento de visión (VPU) Intel® Movidius™ Myriad™ X cuenta con un motor de cómputo de red neuronal dedicado, que ofrece 1 teraoperaciones por segundo (TOPS) de cómputo dedicado a red neuronal profunda (DNN) que interactúa directamente con una estructura de memoria inteligente de alto rendimiento para evitar cuellos de botella en la memoria al transferir datos.

Aceleración de Redes Neuronales Eficientes

Cuando se diseñan sistemas de visión onboard para su uso en transporte público, hay principalmente tres componentes principales implicados en asegurar la aceleración eficiente de la red neuronal:

  • Entrenamiento de la red
  • Aceleradores de Red
  • Framework de Inferencia

A continuación se detalla cada uno de ellos.

Entrenamiento de la Red

Es el primer paso en la fase de entrenamiento de la red neuronal. Se trata de determinar el peso de los coeficientes de cada neurona de la red mediante la realización de los cálculos de inferencia necesarios. Implica aplicar cada imagen del stream de vídeo a la capa de entrada de la red neuronal, propagar los cálculos a través de capas intermedias y finalmente recibir la salida desde la última capa de neuronas.

Solo la fase de implementación de inferencia requiere optimización en las plataformas embedded reales que se desplegan a bordo. Por lo tanto, la fase de entrenamiento de la red neuronal se puede lograr fuera de línea con servidores en la nube utilizando frameworks populares como TensorFlow, Caffe y PyTorch. El modelo que consiste en la topología de interconexión de las neuronas y los pesos para cada conexión de entrada de neurona se define seleccionando una red neuronal existente apropiada y entrenándola. Esto define los pesos óptimos de las neuronas en función del análisis de varios miles o millones de imágenes con resultados esperados conocidos.

El cálculo se puede hacer en precisión simple de 32 bits en coma flotante, 16 bits en coma flotante o 8 bit entero, dependiendo de la precisión requerida para aplicar el modelo versus del tiempo y potencia de disipación que requiere realizar los cálculos. El rendimiento se calcula en frames por segundo, basandose en el tiempo que requiere aplicar una nueva imagen extraída de un video en tiempo real a la red neuronal.

Aceleradores de Red

El segundo paso concierne al tipo de acelerador de redes neuronales que se utilizará en el sistema embedded. Esto puede comprobarse cuando se utiliza el benchmark estándar ResNet-50 para comparar los tiempos de ejecución de inferencias y la carga de trabaja de la CPU asociada.

Comparativa del kit de herramientas OpenVINO sin y con el Intel® Movidius™ Myriad™ X

La CPU es un procesador Intel® Xeon® D-1539 con 8 núcleos que proporcionan 1,6 GHz y una disipación TDP de 35 W. El circuito acelerador opcional es un Intel® Movidius™ Myriad™ X con una potencia de 2,5 W. Como se muestra, el Intel® Xeon® Processor D-1539 solo es el doble de rápido que el acelerador, pero para conseguir esto, la CPU principal está trabajando al 100%, y disipa 35 W. Con el acelerador la carga de la CPU es despreciable y la potencia total de la CPU con el acelerador es 5 veces inferior.

Existen varias opciones de aceleración aunque ninguna se ajuste a la perfección:

Usar un motor vectorial dentro de la CPU:  por ejemplo, el Intel® Advanced Vector Extensions 512 (Intel® AVX 512) dentro de los procesadores Intel de última generación incluye instrucciones dedicadas de vectores de 512 bits para manejar operadores especializados int8 y fp32. Las instrucciones VNNI (Instrucciones de red neuronal vectorial), aumentan el rendimiento del procesamiento en comparación con las instrucciones regulares y pueden ser suficientes según la carga de trabajo. Sin embargo, mientras la CPU está ocupada ejecutando esos bucles de instrucciones vectoriales en todos los núcleos de procesamiento, no puede procesar otras tareas exigentes, como instrucciones criptográficas dedicadas a la seguridad de la comunicación o las aplicaciones principales.

GPU, integrada o discreta: Por lo general, la GPU tiene una estructura de trabajo en paralelo capaz de ejecutar una diversidad de trabajos basándose en diferentes lenguajes como CUDA o OpenCL. De todas formas, la disipación de potencia a menudo no es tan eficiente como ejecutar una red neuronal sobre circuitos de aceleración dedicados, de forma que la GPU son quizás más adecuadas en la fase de entrenamiento o en aplicación de procesamiento de imágenes finales. Para sistemas de vigilancia onboard en sitios confinados, donde no hayan limitaciones en el coste, temperatura o tamaño.

VPU (Unidad de Procesado de Visión): Es menos programable que una GPU cuando se necesita un procesamiento personalizado, pero es más eficiente cuando se aplica a redes neuronales y se dedica totalmente al procesamiento de imágenes de video con neuronas. Las VPU quitan carga de la CPU mediante la asignación de tareas a un coprocesador específico de la aplicación para el análisis de objetos, faciales y funciones de aprendizaje automático que utilizan menos calor y energía que una GPU. Permite que sistemas de baja potencia realicen inferencias entrenadas con los frameworks TensorFlow y Pytorch para la detección de objetos y rostros, usando solo de 2 a 3 W de potencia, por lo que genera significativamente menos calor que las GPU típicas que pueden usar hasta 75 W de potencia y requieren enfriamiento activo para funcionar de manera efectiva. Por lo tanto, las computadoras embedded rugerizadas con VPU pueden ofrecer plataformas eficientes y confiables de bajo consumo con una huella térmica y de energía baja, permitiendo el procesamiento de visión on the edge y permanecer protegido dentro de las carcasas industriales compactas sin ventilador. Por el bajo costo y accesibilidad de una VPU, también es altamente escalable a medida que se agrega más cómputo en toda la aplicación. También existe la flexibilidad de procesar más datos a bordo «on the edge» antes de transmitirlos a la nube, lo que reduce los costos de tránsito de datos asociados con la computación en la nube centralizada.

FPGA: Si bien es más versátil que las otras opciones, este enfoque genera con frecuencia gastos generales en el desarrollo y mantenimiento del código, tanto en la FPGA como en la CPU del host. Para ejecutar una red neuronal estándar, esto podría resultar demasiado complejo en comparación con una de las opciones anteriores.

Framework de Inferencia

Finalmente, está el framework de inferencia. Esta fase puede ser particularmente compleja. Sin embargo, todos los dispositivos Intel capaces de calcular inferencias están soportados por un único framework de inferencia, el toolkit Intel Distribution of OpenVINO. Con este framework de inferencia, las redes neuronales entrenadas se convierten y optimizan en función del hardware de destino, ya sea una CPU, una CPU con aceleración vectorial, una CPU con una VPU o GPU integrada, una CPU con un acelerador externo dedicado o una FPGA.

Framework OpenVINO 

Con una API potente y dedicada compatible con el kit de herramientas OpenVINO™, solo se necesitan unas pocas líneas de código de Python o C++ para adquirir imágenes sucesivas de un vídeo, escalarlas apropiadamente, realizar algunos de los primeros procesamientos habituales de imágenes (luz, contraste, cambio de tamaño… ) ejecutarlos a través de la red y, finalmente, reconstruir un stream de video con las detecciones realizadas por la red neuronal.

Uno de los principales beneficios de este conjunto de herramientas es su capacidad para optimizar el rendimiento de la inferencia de IA en cualquier plataforma basada en Intel, sin realizar cambios en el hardware. Posteriormente, durante el desarrollo de la aplicación, los diseñadores pueden decidir si incluir hardware externo según la carga de trabajo total real y la disipación de energía general.

Kontron TRACe™ EN50155 Box PC con Aceleración Neuronal

Kontron está profundamente implicada en ayudar a los OEM y usuarios a aprovechar las oportunidades del nuevo mercado emergente del “transporte 3.0”, incluyendo las capacidades que ofrece la visión inteligente on board. La nueva generación de PC-box TRACe™ EN50155 certificados para transporte, ahora incluyen modelos con aceleradores de red VPU integrados. Estas plataformas soportan el framework de inferencia OpenVINO™ de Intel con aceleración basada en las CPUs Intel® Core™ i7 or Quad Core Intel Atom®. También existe la opción de seleccionar motherboards con aceleración directamente integrada con las últimas CPUs de Intel, incluyendo los procesadores Intel® 11th Gen Core™ e Intel Atom® x6000E.

TRACe™ railway computers EN50155-certified

Plataforma Kontron TRACe Micro-Cloud con Genetec Security Center

El Kontron TRACe™ V40x, diseñado para entornos hostiles, es completamente compatible con las ultimas tecnologias de vídeo y ofrece una solución de implementación de software moderna. Al aprovechar Genetec™ Security Center en una máquina virtual, el Kontron TRACe™ V40x proporciona soporte a un amplio rango de cámaras IP industriales y equipos CCTV mediante una plataforma unificada de seguridad IP. Genetec™ Security Center permite la implementación de analítica de vídeo; integración con telemática de vehículos y otros sistemas de a bordo, así como correlación de datos y soporte a decisiones. Además, este sistema permite a los servicios de urgencia (autoridades o cuerpos de seguridad) ser alertados de forma remota del desarrollo de situaciones y reaccionar de acuerdo a una única fuente de datos de confianza.

TRACe-V40 de Kontron

Genetec™ Security Center también unifica las operaciones en sistemas de material rodante en ubicaciones apartadas, gracias a características como la transferencia de vídeo automática. Esto significa que miles de cámaras en flotas de trenes, buses y metros pueden ser controladas y monitorizadas junto a todo el equipo ubicado en estaciones o depósitos, permitiendo que la información pueda ser facilmente compartida y utilizada por flotas enteras y redes de tránsito. Juntos, el Kontron TRACe™ V40x y el Genetec™ Security Center proporcionan una plataforma unificada desde la cual los datos de tráfico y de vehículos pueden ser recolectados y centralizados junto con otros recursos de tráfico. Aprovechando las capacidades de virtualización integradas del TRACe™ V40x, las aplicaciones pueden ejecutar el entorno Genetec™ en Windows y otros paqutes de software en Linux si fuese necesario.

Conclusión

A medida que los requisitos de los sistemas de computación para análisis de vídeo en tiempo real para sistemas a bordo con IA embedded se hacen más exigentes y complejos, la elección correcta de la solución PC industrial embedded o motherboard se hace más importante. Especialmente cuando se utilizan para optimizar redes neuronales y potencia disipada. Mientras la aceleración en aplicaciones de Deep Learning es aún comparativamente nueva, existe una variedad de procesadores disponibles para acelerar casi cualquier carga de trabajo de una red neuronal. Desde los mayores fabricantes de procesadores hasta algunas nuevas startups de la industria, la elección está creciendo para dar lugar a mercados más verticales y más áreas de aplicación.

Como líder global de computación embedded y fabricante experimentado en las necesidades específicas de OEMS y desarrolladores de soluciones embedded para el mercado del transporte, Kontron puede reducir drásticamente el riesgo del proyecto con un PC industrial embedded basado en estándares, y con un diseño especializado, gracias al soporte ofrecido por su relación con fabricantes de microprocesadores, optimizando el ciclo de vida y soporte y unas instalaciones de última generación.

Más información sobre Productos Embedded de Kontron

Kontron es nuestro partner proveedor de tecnología embedded con una cartera combinada de hardware, middleware y servicios seguros para aplicaciones en el sector médico, Internet de las cosas (IoT) e Industria 4.0.  Puedes consultar los productos Kontron en nuestra web.

Venco Electrónica es proveedor de soluciones para Electrónica Industrial en España y Portugal desde hace más de treinta años. Tenemos línea directa con los fabricantes que nos proporcionan información detallada y actualizada de todos sus productos.

Pregúntanos sin compromiso y te asesoraremos en la mejor solución para tu aplicación o proyecto.

Vías de contacto: