Análise de vídeo de objeto em transporte

Há um grande número de tarefas em que o processamento e o processamento do conteúdo devem ser realizados "na borda", ou seja, nas imediações da fonte de dados (câmeras). Em particular, isso também se aplica às tarefas de análise de vídeo de objeto, por exemplo, dentro da estrutura de projetos para otimizar a infraestrutura de transporte.



Vamos considerar várias soluções conjuntas do integrador russo do Grupo Larga de Empresas e desenvolvedores de sistemas de análise de vídeo de objeto, ComBox Technology .



imagem



Tarefa:



  1. Implementação de contadores de passageiros nos autocarros para controlar a quantidade de bilhetes vendidos e obter estatísticas sobre o congestionamento dos transportes no contexto da rota.
  2. Controle do motorista (detecção de tabagismo e uso de celular).


Termos:



  1. Inferência de redes neurais e execução de analíticas “on the edge” para minimizar o tráfego e devido à instabilidade e alto custo dos canais de comunicação.
  2. Possibilidade de uso conjunto e separado de diferentes detectores (escalabilidade).
  3. Transmissão de dados para processamento posterior por meio de canais de comunicação móvel.


Como solução, optamos pelo AAEON VPC-3350S, pois este dispositivo possui as seguintes características que são importantes para nós:



  • Módulo LTE integrado.
  • VPU expansível com acelerador Intel MyriadX.
  • Intel HD Graphics 500 integrado que pode usar decodificadores e codificadores de hardware para processar streams de vídeo.
  • Várias portas LAN para conexão direta de câmeras de rede sem a necessidade de instalar um switch.
  • Ampla faixa de temperatura de operação (-20 + 70).


AAEON VPC-3350S

AAEON VPC-3350S



Vamos considerar o primeiro caso de aplicação separada de detectores. Na área de car sharing, já existem penalidades em forma de multas por fumar nos salões dos carros alugados. O valor da multa varia de 5 a 15 mil rublos dependendo da empresa. Em comparação com a análise de vídeo de objeto e sensores de detecção de fumaça, os sensores não captam vapores e outros dispositivos para misturas de fumaça e também são praticamente insensíveis quando as janelas do carro estão abertas. Mas isso não nega o fato da violação e, consequentemente, a punição legal na forma de multa nos termos do contrato.



Além disso, várias redes neurais podem ser aplicadas em cascata (sequencialmente) no transporte, como a detecção de fumo e a detecção do fato / hora de usar um telefone celular. É claro que esses sistemas ainda devem ser dimensionados, por exemplo, com a integração da telemática e conexão ao barramento CAN do carro para rastrear o uso de telefones apenas quando o veículo estiver em movimento, mas esses já são detalhes da integração.



Um exemplo ilustrativo do que detectamos especificamente e o que obtemos como resultado:



Detecção de um telefone celular nas mãos de um motorista de veículo



Detecção de fumo em carros



Demonstração sobre bots no Telegram (entrada - uma imagem de uma câmera de smartphone ou de uma galeria, saída - probabilidade):





Especificamente, nossa versão do AAEON VPC-3350S está equipada com um processador Intel Atom x5 E3940. Se necessário, você pode instalar placas de expansão adicional com Intel MyriadX e transferir a inferência de redes neurais para VPU sem nenhuma modificação significativa, uma vez que o framework Intel OpenVINO é usado.



Vejamos a velocidade de inferência (FP16) em vários dispositivos, incluindo CPU, iGPU (Intel HD) AAEON VPC-3350, VPU Intel Movidius e soluções de outros fabricantes:



Velocidade de inferência (FP16) em vários dispositivos, incluindo CPU, iGPU (Intel HD) AAEON VPC-3350, VPU Intel Movidius e soluções de terceiros

Velocidade de inferência (FP16) em vários dispositivos, incluindo CPU, iGPU (Intel HD) AAEON VPC -3350, VPU Intel Movidius e soluções de terceiros



Assim, nos gráficos iGPU do processador Intel Atom x5 E3940, obtemos 54 FPS, e ao complementar o dispositivo Intel Movidius VPU - outros 45 FPS. Para detectar o fumo, 15 FPS / câmera é suficiente, o que permitirá o processamento de até 3 threads em um processador gráfico. Também deve ser levado em consideração que além de alocar e usar recursos para inferência, é necessário decodificar o fluxo RTSP de entrada. Vejamos



Teste de decodificador AAEON VPC 3350

os testes do decodificador: Teste do decodificador AAEON VPC 3350



Na carga máxima da CPU e dos gráficos, decodificamos 30 fluxos de 720p a 15 FPS, ou seja, obtemos 450 quadros para 720p. Para 1080p, são cerca de 150 quadros.



Considere a composição do kit para uso no compartilhamento de carro e as principais etapas do processamento de dados:



  1. O carro está equipado com câmeras IP alimentadas por Ethernet, PoE (uma para o motorista ou duas: motorista, passageiro).
  2. , AAEON NVR 3350.
  3. .
  4. .
  5. ( ). . , , 50%, ( ).
  6. /.
  7. (10 ), . :

    • ,
    • .
    • identificador de veículo (GUID estático)
    • número da câmera (0, 1)
    • tipo de evento
  8. Os dados do evento mediante a disponibilidade de 3G / LTE são transmitidos ao servidor central de processamento de dados com integração com o sistema de informações de compartilhamento de carros existente para operações de faturamento.


Voltemos ao segundo caso de utilização de AAEON VPC-3350S - detecção e contador de passageiros em ônibus:







Etapas do trabalho realizado:



  1. Trabalho preparatório (teste de câmeras, escolha de uma distância focal, definição das condições de contorno do problema):

    • Marcando 600 quadros de várias câmeras com diferentes distâncias focais
    • Treinamento de rede neural em GPU nVidia, 10k etapas
    • Testar um modelo em um conjunto de dados de validação
    • Convertendo um modelo para Intel OpenVINO
    • Testar o modelo resultante no Intel OpenVINO usando um conjunto de dados de validação, comparando qualidade e velocidade com o modelo antes da conversão
    • , (, CPU, VPU)
  2. ( + )
  3. , 20 .
  4. nVidia GPU
  5. OpenVINO
  6. :

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




Diretamente, o processo de aprendizagem:







Interface da conta pessoal do Grupo Larga para clientes com exibição de relatórios de tráfego de passageiros:



imagem

Interface da conta pessoal do Grupo Larga para clientes com exibição de relatórios de tráfego de passageiros



Conta pessoal para clientes com exibição de relatórios sobre o tráfego de passageiros



O processo de detecção de pessoas na área de entrada do ônibus e marcação do



algoritmo de operação do contador de zonas :



  1. Corte de um fluxo RTSP em quadros
  2. Detecção de cabeça em cada quadro
  3. Análise de trajetória (mantendo a cabeça no quadro enquanto se move)
  4. Análise da direção do movimento com base na sequência de interseção de 3 zonas pré-marcadas
  5. Registro de eventos no banco de dados local, levando em consideração a direção do movimento (entrada / saída)
  6. Fornecimento de acesso via API REST a sistemas de informação e relatórios de terceiros


Como inicialmente uma solução híbrida para inferência de redes neurais (borda e processamento de parte dos dados no data center) foi assumida, consideraremos os prós e contras de ambas as abordagens:







Assim, obtemos o custo mínimo do fluxo no data center com processamento centralizado, mas altos requisitos para a disponibilidade de canais rápidos e de alta qualidade comunicação. Para soluções de ponta - um custo mais alto, mas requisitos mínimos para canais de comunicação e nenhum requisito para sua reserva.



All Articles