Reconhecimento de tanques em um fluxo de vídeo usando métodos de aprendizado de máquina (+2 vídeos nas plataformas Elbrus e Baikal)


No processo de nossas atividades, enfrentamos diariamente o problema de determinar prioridades de desenvolvimento. Dada a alta dinâmica do desenvolvimento da indústria de TI, a crescente demanda por parte dos negócios e do estado por novas tecnologias, determinando sempre o vetor de desenvolvimento e investindo nossos próprios recursos e recursos no potencial científico de nossa empresa, garantimos que todas as nossas pesquisas e projetos sejam fundamentais e interdisciplinar.


Portanto, desenvolvendo nossa principal tecnologia - a estrutura de reconhecimento de dados HIEROGLYPH, preocupamo-nos em melhorar a qualidade do reconhecimento de documentos (nossa principal linha de negócios) e a possibilidade de aplicar a tecnologia para resolver problemas de reconhecimento relacionados. No artigo de hoje, contaremos como, com base em nosso mecanismo de reconhecimento (documentos), fizemos o reconhecimento de objetos maiores e estrategicamente importantes no fluxo de vídeo.


Declaração do problema


Usando a experiência existente, construa um sistema de reconhecimento de tanque que permita classificar o objeto, além de determinar os parâmetros geométricos básicos (orientação e distância) em condições mal controladas sem o uso de equipamento especializado.


Solução


Como principal algoritmo para resolver o problema, escolhemos a abordagem do aprendizado de máquina estatística. Mas um dos principais problemas do aprendizado de máquina é a necessidade de uma quantidade suficiente de dados de aprendizado. Obviamente, imagens em espécie obtidas de cenas reais contendo os objetos de que precisamos são inacessíveis para nós. Portanto, decidiu-se recorrer à geração dos dados necessários para o treinamento, pois possuímos muita experiência neste local . No entanto, não parecia natural sintetizar completamente os dados para esta tarefa; portanto, um layout especial foi preparado para modelar cenas reais. Vários objetos que modelam a paisagem são instalados no layout: cobertura característica da paisagem, arbustos, árvores, barreiras, etc. As imagens foram capturadas usando uma câmera digital de pequeno formato. No processo de captura de imagens, o fundo da cena mudou significativamente para garantir maior estabilidade dos algoritmos às alterações no fundo.


imagem


Quatro modelos de tanques de batalha foram usados ​​como alvos: T-90 (Rússia), M1A2 Abrams (EUA), T-14 (Rússia), Merkava III (Israel). Os objetos estavam localizados em diferentes posições do polígono, expandindo a lista de ângulos visíveis aceitáveis ​​do objeto. Um papel significativo foi desempenhado por barreiras de engenharia, árvores, arbustos e outros elementos da paisagem.


imagem


Assim, em alguns dias, reunimos um conjunto suficiente para treinamento e avaliação subsequente da qualidade do algoritmo (várias dezenas de milhares de imagens).


Eles decidiram dividir o reconhecimento diretamente em duas partes: localização e classificação de objetos. A localização foi realizada usando o classificador treinado Viola e Jones (afinal, um tanque é um objeto rígido normal, não é pior que um rosto, portanto, o método “cego com detalhes” Viola e Jones localiza rapidamente o objeto alvo). Mas confiamos a classificação e a definição do ângulo à rede neural convolucional - nesta tarefa, é importante para nós que o detector selecione com sucesso os recursos que, digamos, distinguem o T-90 do Merkava. Como resultado, foi possível construir uma composição eficaz de algoritmos que resolve com sucesso o problema de localização e classificação de objetos do mesmo tipo.


imagem


Em seguida, lançamos o programa resultante em todas as plataformas que temos (Intel, ARM, Elbrus, Baikal, COMDIV), algoritmos computacionalmente difíceis otimizados para melhorar o desempenho (já escrevemos sobre isso em nossos artigos, por exemplo, aqui https: // habr .com / ru / company / smartengines / blog / 438948 / ou https://habr.com/en/company/smartengines/blog/351134/ ) e alcançaram uma operação estável do programa no dispositivo em tempo real.




Como resultado de todas as ações descritas, obtivemos um produto de software completo que possui características táticas e técnicas significativas.


Leitor de tanque inteligente


Então, apresentamos a você nosso novo desenvolvimento - um programa para reconhecer imagens de tanques no fluxo de vídeo do Smart Tank Reader , que:



  • Ele resolve o problema de "amigo ou inimigo" para um determinado conjunto de objetos em tempo real;
  • Define indicadores geométricos (distância ao objeto, orientação preferida do objeto);
  • Funciona em condições climáticas descontroladas, bem como no caso de sobreposição parcial do objeto por objetos estranhos;
  • Operação totalmente autônoma no dispositivo de destino, inclusive na ausência de radiocomunicação;
  • Lista de arquiteturas de processador suportadas: Elbrus, Baikal, COMDIV, bem como x86, x86_64, ARM;
  • Lista de sistemas operacionais suportados: Elbrus OS, AstraLinux OS, Atlix OS, bem como MS Windows, macOS, várias distribuições Linux suportadas pelo gcc 4.8, Android, iOS;
  • Desenvolvimento completamente doméstico.

Normalmente, em conclusão aos nossos artigos sobre Habré, fornecemos um link para o mercado, onde todos que desejam usar seu telefone celular podem baixar uma versão demo do aplicativo para avaliar o desempenho da tecnologia. Desta vez, levando em consideração as especificidades da aplicação resultante, desejamos a todos os nossos leitores que nunca enfrentem o problema de determinar rapidamente se um tanque pertence a um determinado lado.

Source: https://habr.com/ru/post/pt446176/


All Articles