Análisis de video de objetos en el transporte

Hay una gran cantidad de tareas en las que el procesamiento y el procesamiento del contenido deben realizarse “en el borde”, es decir, en las inmediaciones de la fuente de datos (cámaras). En particular, esto también se aplica a las tareas de análisis de video de objetos, por ejemplo, en el marco de proyectos para optimizar la infraestructura de transporte.



Consideremos varias soluciones conjuntas del integrador ruso del Grupo de empresas Larga y desarrolladores de sistemas de análisis de video de objetos, ComBox Technology .



imagen



Tarea:



  1. Implementación de contadores de pasajeros en buses para controlar el número de boletos vendidos y obtener estadísticas de congestión del transporte en el contexto de la ruta.
  2. Control del conductor (detección de tabaquismo y uso de teléfonos móviles).


Condiciones:



  1. Inferencia de redes neuronales y ejecución de analíticas "en el borde" para minimizar el tráfico y debido a la inestabilidad y alto costo de los canales de comunicación.
  2. Posibilidad de uso conjunto y separado de diferentes detectores (escalabilidad).
  3. Transmisión de datos para su posterior procesamiento a través de canales de comunicación móvil.


Como solución, nos decidimos por AAEON VPC-3350S, ya que este dispositivo tiene las siguientes características que son importantes para nosotros:



  • Módulo LTE incorporado.
  • VPU ampliable con acelerador Intel MyriadX.
  • Intel HD Graphics 500 integrado que puede usar decodificadores y codificadores de hardware para procesar transmisiones de video.
  • Múltiples puertos LAN para la conexión directa de cámaras de red sin la necesidad de instalar un conmutador.
  • Amplio rango de temperatura de funcionamiento (-20 + 70).


AAEON VPC-3350S

AAEON VPC-3350S



Consideremos el primer caso de aplicación separada de detectores. En el ámbito del coche compartido, ya existen sanciones en forma de multas por fumar en los salones de coches alquilados. El monto de la multa varía de 5 a 15 mil rublos según la empresa. En comparación con el análisis de video de objetos y los sensores de detección de humo, los sensores no detectan vapores y otros dispositivos para mezclas de fumar, y también son prácticamente insensibles cuando las ventanas del automóvil están abiertas. Pero esto no niega el hecho de la violación y, en consecuencia, el castigo legal en forma de multa de acuerdo con el contrato.



Además, se pueden aplicar en cascada (secuencialmente) varias redes neuronales en el transporte, como la detección del tabaquismo y la detección del hecho / tiempo de uso de un teléfono móvil. Está claro que aún más tales sistemas deberían ampliarse, por ejemplo, con la integración de la telemática y la conexión al bus CAN del automóvil para rastrear el uso de teléfonos solo cuando el vehículo está en movimiento, pero estos ya son detalles de integración.



Un ejemplo ilustrativo de lo que detectamos específicamente y lo que obtenemos como resultado:



Detección de un teléfono móvil en manos de un conductor de vehículo



Detección de tabaquismo en automóviles



Demostración sobre bots en Telegram (entrada: una imagen de la cámara de un teléfono inteligente o de una galería, salida: probabilidad):





Específicamente, nuestra versión del AAEON VPC-3350S está equipada con un procesador Intel Atom x5 E3940. Si es necesario, puede instalar adicionalmente tarjetas de expansión con Intel MyriadX y transferir la inferencia de redes neuronales a la VPU sin modificaciones significativas, ya que se utiliza el marco Intel OpenVINO.



Veamos la velocidad de inferencia (FP16) en varios dispositivos, incluyendo CPU, iGPU (Intel HD) AAEON VPC-3350, VPU Intel Movidius y soluciones de otros fabricantes:



Velocidad de inferencia (FP16) en varios dispositivos, incluidos CPU, iGPU (Intel HD) AAEON VPC-3350, VPU Intel Movidius y soluciones de terceros

Velocidad de inferencia (FP16) en varios dispositivos, incluyendo CPU, iGPU (Intel HD) AAEON VPC -3350, VPU Intel Movidius y soluciones de terceros



Por lo tanto, en los gráficos iGPU del procesador Intel Atom x5 E3940, obtenemos 54 FPS, y complementando el dispositivo Intel Movidius VPU, otros 45 FPS. Para la detección de humo, 15 FPS / cámara es suficiente, lo que permitirá procesar hasta 3 subprocesos en los gráficos de un procesador. También debe tenerse en cuenta que además de asignar y usar recursos para la inferencia, es necesario decodificar el flujo RTSP entrante. Veamos las pruebas



Prueba del decodificador AAEON VPC 3350

del decodificador: Prueba del decodificador AAEON VPC 3350



Con la carga máxima de CPU y gráficos, decodificamos 30 flujos de 720p a 15 FPS, es decir, obtenemos 450 cuadros para 720p. Para 1080p, son unos 150 fotogramas.



Considere la composición del kit para su uso en vehículos compartidos y los principales pasos del procesamiento de datos:



  1. El automóvil está equipado con cámaras IP alimentadas por Ethernet, PoE (una para el conductor o dos: conductor, pasajero).
  2. , AAEON NVR 3350.
  3. .
  4. .
  5. ( ). . , , 50%, ( ).
  6. /.
  7. (10 ), . :

    • ,
    • .
    • identificador de vehículo (GUID estático)
    • número de cámara (0, 1)
    • tipo de evento
  8. Los datos de eventos sobre la disponibilidad de 3G / LTE se transmiten al servidor de procesamiento de datos central con integración con el sistema de información de uso compartido de automóviles existente para las operaciones de facturación.


Volvamos al segundo caso de uso de AAEON VPC-3350S - detección y contador de pasajeros en autobuses:







Etapas del trabajo realizado:



  1. Trabajo preparatorio (probar cámaras, elegir una distancia focal, establecer las condiciones de límite del problema):

    • Marcado de 600 fotogramas de varias cámaras con diferentes distancias focales
    • Entrenamiento de redes neuronales en nVidia GPU, 10 mil pasos
    • Prueba de un modelo con un conjunto de datos de validación
    • Conversión de un modelo a Intel OpenVINO
    • Probar el modelo resultante en Intel OpenVINO usando un conjunto de datos de validación, comparando calidad y velocidad con el modelo antes de la conversión
    • , (, CPU, VPU)
  2. ( + )
  3. , 20 .
  4. nVidia GPU
  5. OpenVINO
  6. :

    • gstreamer/ffserver
    • (, , , )
    • mongoDB/PostgreSQL
    • REST API
  7. « »




Directamente, el proceso de aprendizaje:







Interfaz de la cuenta personal del Grupo Larga para clientes con visualización de informes sobre tráfico de pasajeros:



imagen

Interfaz de la cuenta personal del Grupo Larga para clientes con visualización de informes sobre tráfico de pasajeros



Cuenta personal para clientes con visualización de informes sobre tráfico de pasajeros



El proceso de detección de personas en la zona de entrada del autobús y el marcado de las zonas



El algoritmo del contador:



  1. Cortar una secuencia RTSP en cuadros
  2. Detección de cabeza en cada fotograma
  3. Análisis de trayectoria (manteniendo la cabeza en el marco mientras se mueve)
  4. Análisis de la dirección del movimiento en base a la secuencia de intersección de 3 zonas premarcadas
  5. Registro de eventos en la base de datos local, teniendo en cuenta la dirección del movimiento (entrada / salida)
  6. Proporcionar acceso a través de API REST a sistemas de información y sistemas de informes de terceros


Dado que inicialmente se asumió una solución híbrida para la inferencia de redes neuronales (borde y procesamiento de parte de los datos en el centro de datos), consideraremos los pros y los contras de ambos enfoques:







De esta manera, obtenemos el costo mínimo del flujo en el centro de datos con procesamiento centralizado, pero altos requisitos para la disponibilidad de canales rápidos y de alta calidad. comunicación. Para soluciones de borde: un costo mayor, pero requisitos mínimos para los canales de comunicación y sin requisitos para su reserva.



All Articles