Riconoscimento dei carri armati in un flusso video utilizzando metodi di apprendimento automatico (+2 video sulle piattaforme Elbrus e Baikal)

Riconoscimento dei carri armati in un flusso video utilizzando metodi di apprendimento automatico (+2 video sulle piattaforme Elbrus e Baikal)

Nello svolgimento delle nostre attività affrontiamo quotidianamente il problema della determinazione delle priorità di sviluppo. Considerando l'elevata dinamica di sviluppo del settore IT, la domanda in costante aumento da parte delle imprese e del governo per nuove tecnologie, ogni volta che determiniamo il vettore di sviluppo e investiamo le nostre forze e fondi nel potenziale scientifico della nostra azienda, ci assicuriamo che tutte le nostre ricerche e progetti sono di natura fondamentale e interdisciplinare.

Pertanto, sviluppando la nostra tecnologia principale - il framework di riconoscimento dei dati HIEROGLYPH, ci preoccupiamo sia di migliorare la qualità del riconoscimento dei documenti (la nostra linea di business principale) sia della possibilità di utilizzare la tecnologia per risolvere i relativi problemi di riconoscimento. Nell'articolo di oggi vi racconteremo come, sulla base del nostro motore di riconoscimento (documenti), abbiamo effettuato il riconoscimento di oggetti più grandi e strategicamente importanti in un flusso video.

Formulazione del problema

Utilizzando gli sviluppi esistenti, costruire un sistema di riconoscimento dei carri armati che consenta di classificare un oggetto, nonché di determinare indicatori geometrici di base (orientamento e distanza) in condizioni scarsamente controllate senza l'uso di attrezzature specializzate.

Soluzione

Abbiamo scelto l'approccio statistico del machine learning come algoritmo principale per risolvere il problema. Ma uno dei problemi chiave del machine learning è la necessità di disporre di una quantità sufficiente di dati di addestramento. Ovviamente non abbiamo a disposizione immagini naturali ottenute da scene reali contenenti gli oggetti di cui abbiamo bisogno. Pertanto, fortunatamente, si è deciso di ricorrere alla generazione dei dati necessari per la formazione Abbiamo molta esperienza in questo posto. Eppure ci è sembrato innaturale sintetizzare completamente i dati per questo compito, quindi è stato preparato un layout speciale per simulare scene reali. Il modello contiene vari oggetti che simulano la campagna: caratteristica copertura paesaggistica, cespugli, alberi, recinzioni, ecc. Le immagini sono state catturate utilizzando una fotocamera digitale di piccolo formato. Durante il processo di acquisizione dell'immagine, lo sfondo della scena è cambiato in modo significativo per rendere gli algoritmi più resistenti ai cambiamenti dello sfondo.

Riconoscimento dei carri armati in un flusso video utilizzando metodi di apprendimento automatico (+2 video sulle piattaforme Elbrus e Baikal)

Gli oggetti bersaglio erano 4 modelli di carri armati: T-90 (Russia), M1A2 Abrams (USA), T-14 (Russia), Merkava III (Israele). Gli oggetti erano posizionati in diverse posizioni del poligono, espandendo così l'elenco degli angoli visibili accettabili dell'oggetto. Le barriere tecniche, gli alberi, i cespugli e altri elementi del paesaggio hanno svolto un ruolo significativo.

Riconoscimento dei carri armati in un flusso video utilizzando metodi di apprendimento automatico (+2 video sulle piattaforme Elbrus e Baikal)

Pertanto, in un paio di giorni abbiamo raccolto un set sufficiente per l'addestramento e la successiva valutazione della qualità dell'algoritmo (diverse decine di migliaia di immagini).

Hanno deciso di dividere il riconoscimento stesso in due parti: localizzazione dell'oggetto e classificazione dell'oggetto. La localizzazione è stata eseguita utilizzando un classificatore addestrato di Viola e Jones (dopotutto, un carro armato è un normale oggetto rigido, non peggiore di una faccia, quindi il metodo "cieco ai dettagli" di Viola e Jones localizza rapidamente l'oggetto bersaglio). Ma abbiamo affidato la classificazione e la determinazione dell'angolo a una rete neurale convoluzionale: in questo compito è importante per noi che il rilevatore identifichi con successo quelle caratteristiche che, diciamo, distinguono il T-90 dal Merkava. Di conseguenza, è stato possibile costruire una composizione efficace di algoritmi che risolva con successo il problema della localizzazione e della classificazione di oggetti dello stesso tipo.

Riconoscimento dei carri armati in un flusso video utilizzando metodi di apprendimento automatico (+2 video sulle piattaforme Elbrus e Baikal)

Successivamente, abbiamo lanciato il programma risultante su tutte le nostre piattaforme esistenti (Intel, ARM, Elbrus, Baikal, KOMDIV), ottimizzando algoritmi computazionalmente difficili per aumentare le prestazioni (ne abbiamo già scritto più volte nei nostri articoli, ad esempio qui https://habr.com/ru/company/smartengines/blog/438948/ o https://habr.com/ru/company/smartengines/blog/351134/) e ha ottenuto un funzionamento stabile del programma sul dispositivo in tempo reale.


Come risultato di tutte le azioni descritte, abbiamo ottenuto un prodotto software a tutti gli effetti con caratteristiche tattiche e tecniche significative.

Lettore intelligente di serbatoi

Quindi, vi presentiamo il nostro nuovo sviluppo: un programma per riconoscere le immagini dei carri armati in un flusso video Lettore intelligente di serbatoi, Quale:

Riconoscimento dei carri armati in un flusso video utilizzando metodi di apprendimento automatico (+2 video sulle piattaforme Elbrus e Baikal)

  • Risolve il problema "amico o nemico" per un dato insieme di oggetti in tempo reale;
  • Determina i parametri geometrici (distanza dall'oggetto, orientamento preferito dell'oggetto);
  • Funziona in condizioni atmosferiche incontrollate, nonché in caso di blocco parziale dell'oggetto da parte di corpi estranei;
  • Funzionamento completamente autonomo sul dispositivo di destinazione, anche in assenza di comunicazione radio;
  • Elenco delle architetture di processori supportate: Elbrus, Baikal, KOMDIV, nonché x86, x86_64, ARM;
  • Elenco dei sistemi operativi supportati: Elbrus OS, AstraLinux OS, Atlix OS, nonché MS Windows, macOS, varie distribuzioni Linux che supportano gcc 4.8, Android, iOS;
  • Sviluppo completamente domestico.

Solitamente, in conclusione dei nostri articoli su Habré, forniamo un collegamento al marketplace, dove chiunque utilizzi il proprio cellulare può scaricare una versione demo dell'applicazione per valutare effettivamente le prestazioni della tecnologia. Questa volta, tenendo conto delle specificità dell'applicazione risultante, auguriamo a tutti i nostri lettori di non affrontare mai nella loro vita il problema di determinare rapidamente se un carro armato appartiene a una certa fazione.

Fonte: habr.com

Aggiungi un commento