WÀhrend unserer AktivitÀten stehen wir tÀglich vor dem Problem, EntwicklungsprioritÀten festzulegen. Angesichts der hohen Dynamik der Entwicklung der IT-Branche, der stÀndig steigenden Nachfrage seitens der Wirtschaft und des Staates nach neuen Technologien, die jedes Mal den Entwicklungsvektor bestimmen und unsere eigenen Ressourcen und Ressourcen in das wissenschaftliche Potenzial unseres Unternehmens investieren, stellen wir sicher, dass alle unsere Forschungen und Projekte von grundlegender Bedeutung sind und interdisziplinÀr.
Bei der Entwicklung unserer Haupttechnologie - dem HIEROGLYPH-Datenerkennungs-Framework - geht es uns daher sowohl um die Verbesserung der QualitĂ€t der Dokumentenerkennung (unser HauptgeschĂ€ftsbereich) als auch um die Möglichkeit, die Technologie zur Lösung der damit verbundenen Erkennungsprobleme einzusetzen. In dem heutigen Artikel werden wir erzĂ€hlen, wie wir basierend auf unserer Erkennungs-Engine (Dokumente) gröĂere, strategisch wichtige Objekte im Videostream erkannt haben.
ErklÀrung des Problems
Erstellen Sie anhand der vorhandenen Erfahrung ein Tankerkennungssystem, mit dem Sie ein Objekt klassifizieren und grundlegende geometrische Parameter (Ausrichtung und Entfernung) unter schlecht kontrollierten Bedingungen ohne Verwendung spezieller GerÀte bestimmen können.
Lösung
Als Hauptalgorithmus zur Lösung des Problems haben wir den Ansatz des statistischen maschinellen Lernens gewĂ€hlt. Eines der Hauptprobleme des maschinellen Lernens ist jedoch die Notwendigkeit einer ausreichenden Menge an Lerndaten. Sachbilder, die aus realen Szenen mit den von uns benötigten Objekten stammen, sind fĂŒr uns offensichtlich nicht zugĂ€nglich. Aus diesem Grund wurde beschlossen, die fĂŒr das Training erforderlichen Daten zu generieren, da wir an diesem Ort viel Erfahrung haben . Und doch schien es unnatĂŒrlich, die Daten fĂŒr diese Aufgabe vollstĂ€ndig zu synthetisieren, sodass ein spezielles Layout fĂŒr die Modellierung realer Szenen erstellt wurde. Auf dem Layout sind verschiedene Objekte installiert, die die Landschaft modellieren: eine charakteristische Landschaftsbedeckung, BĂŒsche, BĂ€ume, Barrieren usw. Die Bilder wurden mit einer digitalen Kleinformatkamera aufgenommen. WĂ€hrend der Aufnahme von Bildern hat sich der Hintergrund der Szene erheblich geĂ€ndert, um eine gröĂere StabilitĂ€t der Algorithmen gegenĂŒber Ănderungen im Hintergrund zu gewĂ€hrleisten.

Als Ziele wurden vier Kampfpanzermodelle verwendet: T-90 (Russland), M1A2 Abrams (USA), T-14 (Russland), Merkava III (Israel). Die Objekte befanden sich an verschiedenen Positionen des Polygons, wodurch die Liste der akzeptablen sichtbaren Winkel des Objekts erweitert wurde. Eine wichtige Rolle spielten technische Barrieren, BĂ€ume, BĂŒsche und andere Landschaftselemente.

So haben wir in ein paar Tagen einen ausreichenden Satz fĂŒr das Training und die anschlieĂende Bewertung der QualitĂ€t des Algorithmus zusammengestellt (mehrere Zehntausend Bilder).
Sie beschlossen, die Erkennung direkt in zwei Teile zu unterteilen: Objektlokalisierung und Objektklassifizierung. Die Lokalisierung wurde mit dem trainierten Klassifikator Viola und Jones durchgefĂŒhrt (schlieĂlich ist ein Panzer ein normales starres Objekt, nicht schlechter als ein Gesicht, daher lokalisiert die Viola- und Jones-Methode âblind mit Detailsâ das Zielobjekt schnell). Wir haben jedoch die Klassifizierung und Definition des Winkels dem Faltungsnetzwerk anvertraut - bei dieser Aufgabe ist es fĂŒr uns wichtig, dass der Detektor erfolgreich diejenigen Merkmale auswĂ€hlt, die beispielsweise den T-90 von Merkava unterscheiden. Infolgedessen war es möglich, eine effektive Zusammensetzung von Algorithmen zu erstellen, die das Problem der Lokalisierung und Klassifizierung von Objekten des gleichen Typs erfolgreich löst.

Als nĂ€chstes haben wir das resultierende Programm auf allen Plattformen (Intel, ARM, Elbrus, Baikal, COMDIV) gestartet und rechnerisch schwierige Algorithmen optimiert, um die Leistung zu verbessern (darĂŒber haben wir bereits in unseren Artikeln geschrieben, zum Beispiel hier https: // habr .com / ru / company / smartengines / blog / 438948 / oder https://habr.com/en/company/smartengines/blog/351134/ ) und haben einen stabilen Betrieb des Programms auf dem GerĂ€t in Echtzeit erreicht.
Als Ergebnis aller beschriebenen Aktionen haben wir ein vollwertiges Softwareprodukt erhalten, das wesentliche taktische und technische Eigenschaften aufweist.
Intelligenter Tankleser
Deshalb prÀsentieren wir Ihnen unsere neue Entwicklung - ein Programm zum Erkennen von Tankbildern im Smart Tank Reader -Videostream, das:

- Es löst das Problem âFreund oder Feindâ fĂŒr eine bestimmte Gruppe von Objekten in Echtzeit.
- Definiert geometrische Indikatoren (Abstand zum Objekt, bevorzugte Ausrichtung des Objekts);
- Es funktioniert unter unkontrollierten Wetterbedingungen sowie bei teilweiser Ăberlappung des Objekts durch Fremdkörper.
- Vollautonomer Betrieb auf dem ZielgerÀt, auch ohne Funkkommunikation;
- Liste der unterstĂŒtzten Prozessorarchitekturen: Elbrus, Baikal, COMDIV sowie x86, x86_64, ARM;
- Liste der unterstĂŒtzten Betriebssysteme: Elbrus OS, AstraLinux OS, Atlix OS sowie MS Windows, macOS, verschiedene Linux-Distributionen, die gcc 4.8, Android, iOS unterstĂŒtzen;
- VollstÀndig inlÀndische Entwicklung.
In der Regel geben wir abschlieĂend zu unseren Artikeln ĂŒber HabrĂ© einen Link zum Marktplatz, auf dem jeder, der sein Mobiltelefon verwenden möchte, eine Demoversion der Anwendung herunterladen kann, um die Leistung der Technologie tatsĂ€chlich zu bewerten. Dieses Mal möchten wir unter BerĂŒcksichtigung der Besonderheiten der resultierenden Anwendung, dass alle unsere Leser niemals das Problem haben, schnell festzustellen, ob ein Tank zu einer bestimmten Seite gehört.