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

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

No decorrer das nossas atividades, enfrentamos diariamente o problema de determinar prioridades de desenvolvimento. Considerando a alta dinâmica de desenvolvimento da indústria de TI, a demanda cada vez maior por parte das empresas e do governo por novas tecnologias, cada vez que determinamos o vetor de desenvolvimento e investimos nossas próprias forças e recursos no potencial científico de nossa empresa, garantimos que todas as nossas pesquisas e projetos são de natureza fundamental e interdisciplinar.

Portanto, ao desenvolver nossa principal tecnologia - o framework de reconhecimento de dados HIEROGLYPH, nos preocupamos tanto em melhorar a qualidade do reconhecimento de documentos (nossa principal linha de negócios) quanto na possibilidade de utilizar 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 em um stream de vídeo.

Formulação do problema

Utilizando os desenvolvimentos existentes, construir um sistema de reconhecimento de tanques que permita classificar um objeto, bem como determinar indicadores geométricos básicos (orientação e distância) em condições mal controladas sem a utilização de equipamentos especializados.

Solução

Escolhemos a abordagem estatística de aprendizado de máquina como algoritmo principal para resolver o problema. Mas um dos principais problemas do aprendizado de máquina é a necessidade de ter uma quantidade suficiente de dados de treinamento. Obviamente, imagens naturais obtidas de cenas reais contendo os objetos de que necessitamos não estão disponíveis para nós. Portanto, optou-se por recorrer à geração dos dados necessários ao treinamento, felizmente Temos muita experiência neste lugar. E, no entanto, não nos pareceu natural sintetizar completamente os dados para esta tarefa, por isso foi preparado um layout especial para simular cenas reais. O modelo contém vários objetos que simulam o campo: coberturas paisagísticas características, arbustos, árvores, cercas, etc. As imagens foram capturadas com uma câmera digital de pequeno formato. Durante o processo de captura da imagem, o fundo da cena mudou significativamente para tornar os algoritmos mais robustos às mudanças de fundo.

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

Os objetos alvo foram 4 modelos de tanques de batalha: T-90 (Rússia), M1A2 Abrams (EUA), T-14 (Rússia), Merkava III (Israel). Os objetos foram localizados em diferentes posições do polígono, expandindo assim a lista de ângulos visíveis aceitáveis ​​do objeto. Barreiras de engenharia, árvores, arbustos e outros elementos paisagísticos desempenharam um papel significativo.

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

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

Eles decidiram dividir o reconhecimento em duas partes: localização de objetos e classificação de objetos. A localização foi realizada usando um classificador treinado de Viola e Jones (afinal, um tanque é um objeto rígido normal, não pior que um rosto, então o método “cego aos detalhes” de Viola e Jones localiza rapidamente o objeto alvo). Mas confiamos a classificação e determinação do ângulo a uma rede neural convolucional - nesta tarefa é importante para nós que o detector identifique com sucesso aquelas características 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.

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

Em seguida, lançamos o programa resultante em todas as nossas plataformas existentes (Intel, ARM, Elbrus, Baikal, KOMDIV), otimizamos algoritmos computacionalmente difíceis para aumentar o desempenho (já escrevemos sobre isso várias vezes em nossos artigos, por exemplo aqui https://habr.com/ru/company/smartengines/blog/438948/ ou https://habr.com/ru/company/smartengines/blog/351134/) e alcançou 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 com características táticas e técnicas significativas.

Leitor de tanque inteligente

Assim, apresentamos a vocês nosso novo desenvolvimento - um programa para reconhecimento de imagens de tanques em um stream de vídeo Leitor de tanque inteligente, qual:

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

  • Resolve o problema “amigo ou inimigo” para um determinado conjunto de objetos em tempo real;
  • Determina parâmetros geométricos (distância ao objeto, orientação preferencial do objeto);
  • Funciona em condições climáticas não controladas, bem como em caso de bloqueio parcial do objeto por objetos estranhos;
  • Operação totalmente autônoma no dispositivo alvo, inclusive na ausência de comunicação por rádio;
  • Lista de arquiteturas de processador suportadas: Elbrus, Baikal, KOMDIV, 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 com suporte para gcc 4.8, Android, iOS;
  • Desenvolvimento totalmente doméstico.

Normalmente, na conclusão de nossos artigos sobre Habré, disponibilizamos um link para o marketplace, onde qualquer pessoa que utilize seu celular pode baixar uma versão demo do aplicativo para realmente avaliar o desempenho da tecnologia. Desta vez, tendo em conta as especificidades da aplicação resultante, desejamos que todos os nossos leitores nunca na vida enfrentem o problema de determinar rapidamente se um tanque pertence a um determinado lado.

Fonte: habr.com

Adicionar um comentário