Dans le cadre de nos activités, nous sommes quotidiennement confrontés au problème de la détermination des priorités de développement. Compte tenu de la forte dynamique de développement de l'industrie informatique et de la demande sans cesse croissante de nouvelles technologies de la part des entreprises et des gouvernements, chaque fois que nous déterminons le vecteur de développement et investissons nos propres forces et fonds dans le potentiel scientifique de notre entreprise, nous veillons à ce que toutes nos recherches et projets sont de nature fondamentale et interdisciplinaire.
Par conséquent, en développant notre technologie principale - le cadre de reconnaissance de données HIEROGLYPH, nous nous soucions à la fois d'améliorer la qualité de la reconnaissance des documents (notre principal secteur d'activité) et de la possibilité d'utiliser la technologie pour résoudre les problèmes de reconnaissance associés. Dans l'article d'aujourd'hui, nous vous expliquerons comment, sur la base de notre moteur de reconnaissance (documents), nous avons reconnu des objets plus grands et stratégiquement importants dans un flux vidéo.
Formulation du problème
À l'aide des développements existants, construire un système de reconnaissance de char permettant de classer un objet, ainsi que de déterminer des indicateurs géométriques de base (orientation et distance) dans des conditions mal contrôlées sans utiliser d'équipement spécialisé.
décision
Nous avons choisi l'approche d'apprentissage automatique statistique comme algorithme principal pour résoudre le problème. Mais l’un des problèmes clés du machine learning est la nécessité de disposer d’une quantité suffisante de données d’entraînement. Évidemment, les images naturelles obtenues à partir de scènes réelles contenant les objets dont nous avons besoin ne nous sont pas disponibles. Par conséquent, il a été décidé de recourir à la génération des données nécessaires à la formation, heureusement
Les objets cibles étaient 4 modèles de chars de combat : T-90 (Russie), M1A2 Abrams (USA), T-14 (Russie), Merkava III (Israël). Les objets étaient situés à différentes positions du polygone, élargissant ainsi la liste des angles visibles acceptables de l'objet. Les barrières techniques, les arbres, les buissons et autres éléments du paysage ont joué un rôle important.
Ainsi, en quelques jours, nous avons collecté un ensemble suffisant pour la formation et l'évaluation ultérieure de la qualité de l'algorithme (plusieurs dizaines de milliers d'images).
Ils ont décidé de diviser la reconnaissance elle-même en deux parties : la localisation des objets et la classification des objets. La localisation a été effectuée à l'aide d'un classificateur expérimenté de Viola et Jones (après tout, un char est un objet rigide normal, pas pire qu'un visage, donc la méthode « aveugle aux détails » de Viola et Jones localise rapidement l'objet cible). Mais nous avons confié la classification et la détermination de l'angle à un réseau neuronal convolutif. Dans cette tâche, il est important pour nous que le détecteur identifie avec succès les caractéristiques qui, par exemple, distinguent le T-90 du Merkava. En conséquence, il a été possible de construire une composition efficace d'algorithmes qui résolvent avec succès le problème de la localisation et de la classification d'objets du même type.
Ensuite, nous avons lancé le programme résultant sur toutes nos plates-formes existantes (Intel, ARM, Elbrus, Baikal, KOMDIV), optimisé des algorithmes difficiles à calculer pour augmenter les performances (nous en avons déjà parlé à plusieurs reprises dans nos articles, par exemple ici
Grâce à toutes les actions décrites, nous avons obtenu un produit logiciel à part entière doté de caractéristiques tactiques et techniques importantes.
Lecteur de réservoir intelligent
Nous vous présentons donc notre nouveau développement - un programme de reconnaissance d'images de chars dans un flux vidéo Lecteur de réservoir intelligent, qui:
- Résout le problème « ami ou ennemi » pour un ensemble d’objets donné en temps réel ;
- Détermine les paramètres géométriques (distance à l'objet, orientation privilégiée de l'objet) ;
- Fonctionne dans des conditions météorologiques incontrôlées, ainsi qu'en cas de blocage partiel de l'objet par des corps étrangers ;
- Fonctionnement totalement autonome sur l'appareil cible, y compris en l'absence de communication radio ;
- Liste des architectures de processeur prises en charge : Elbrus, Baikal, KOMDIV, ainsi que x86, x86_64, ARM ;
- Liste des systèmes d'exploitation pris en charge : Elbrus OS, AstraLinux OS, Atlix OS, ainsi que MS Windows, macOS, diverses distributions Linux prenant en charge gcc 4.8, Android, iOS ;
- Développement entièrement domestique.
Habituellement, dans la conclusion de nos articles sur Habré, nous fournissons un lien vers le marché, où toute personne utilisant son téléphone portable peut télécharger une version de démonstration de l'application afin d'évaluer réellement les performances de la technologie. Cette fois, compte tenu des spécificités de l'application qui en résulte, nous souhaitons à tous nos lecteurs de ne jamais être confrontés de leur vie au problème de déterminer rapidement si un char appartient à un certain camp.
Source: habr.com