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 .

Tarefa:
- 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.
- Controle do motorista (detecção de tabagismo e uso de celular).
Termos:
- 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.
- Possibilidade de uso conjunto e separado de diferentes detectores (escalabilidade).
- 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
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:


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
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

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:
- O carro está equipado com câmeras IP alimentadas por Ethernet, PoE (uma para o motorista ou duas: motorista, passageiro).
- , AAEON NVR 3350.
- .
- .
- ( ). . , , 50%, ( ).
- /.
- (10 ), . :
- ,
- .
- identificador de veículo (GUID estático)
- número da câmera (0, 1)
- tipo de evento
- 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:
- 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)
- ( + )
- , 20 .
- nVidia GPU
- OpenVINO
- :
- gstreamer/ffserver
- (, , , )
- mongoDB/PostgreSQL
- REST API
- « »
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:

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 :
- Corte de um fluxo RTSP em quadros
- Detecção de cabeça em cada quadro
- Análise de trajetória (mantendo a cabeça no quadro enquanto se move)
- Análise da direção do movimento com base na sequência de interseção de 3 zonas pré-marcadas
- Registro de eventos no banco de dados local, levando em consideração a direção do movimento (entrada / saída)
- 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.