Recognition of tanks in a video stream using machine learning methods (+2 videos on the Elbrus and Baikal platforms)

Recognition of tanks in a video stream using machine learning methods (+2 videos on the Elbrus and Baikal platforms)

In the course of our activities, we daily face the problem of determining development priorities. Given the high dynamics of the IT industry development, the ever-increasing demand on the part of business and the state for new technologies, each time, determining the vector of development and investing our own forces and means in the scientific potential of our company, we make sure that all our research and projects are fundamental and interdisciplinary nature.

Therefore, by developing our main technology, the HIEROGLYPH data recognition framework, we care both about improving the quality of document recognition (our main business line) and the possibility of using the technology to solve related recognition tasks. In today's article, we will tell you how, based on our recognition engine (documents), we made the recognition of larger, strategically important objects in the video stream.

Formulation of the problem

Using the existing developments, build a tank recognition system that allows for the classification of an object, as well as determining the basic geometric indicators (orientation and distance) in poorly controlled conditions without the use of specialized equipment.

Solution

As the main algorithm for solving the problem, we chose the approach of statistical machine learning. But one of the key problems of machine learning is the need to have enough training data. Obviously, natural images obtained from real scenes containing the objects we need are not available to us. Therefore, it was decided to resort to generating the necessary data for training, since we have a lot of experience in this place. And yet, it seemed unnatural to us to completely synthesize the data for this task, so a special layout was prepared to simulate real scenes. The layout contains various objects that simulate the countryside: a characteristic landscape cover, bushes, trees, fences, etc. Images were captured using a digital small format camera. During image capture, the background of the scene was significantly changed to ensure greater stability of the algorithms to background changes.

Recognition of tanks in a video stream using machine learning methods (+2 videos on the Elbrus and Baikal platforms)

4 models of battle tanks acted as targets: T-90 (Russia), M1A2 Abrams (USA), T-14 (Russia), Merkava III (Israel). The objects were located at different positions of the polygon, thereby expanding the list of acceptable visible angles of the object. Engineering barriers, trees, bushes and other landscape elements played a significant role.

Recognition of tanks in a video stream using machine learning methods (+2 videos on the Elbrus and Baikal platforms)

Thus, in a couple of days we have collected a sufficient set for training and subsequent evaluation of the quality of the algorithm (several tens of thousands of images).

It was decided to divide the recognition itself into two parts: object localization and object classification. Localization was performed using a trained Viola and Jones classifier (after all, a tank is a normal rigid object, no worse than a face, so the Viola and Jones β€œblind to detail” method quickly localizes the target object). But we entrusted the classification and determination of the angle to the convolutional neural network - in this task, it is important for us that the detector successfully highlights those features that, say, distinguish the T-90 from the Merkava. As a result, it was possible to build an efficient composition of algorithms that successfully solves the problem of localization and classification of objects of the same type.

Recognition of tanks in a video stream using machine learning methods (+2 videos on the Elbrus and Baikal platforms)

Further, we launched the resulting program on all the platforms we have (Intel, ARM, Elbrus, Baikal, KOMDIV), optimized computationally difficult algorithms to increase performance (we have already written about this many times in our articles, for example here https://habr.com/ru/company/smartengines/blog/438948/ or https://habr.com/ru/company/smartengines/blog/351134/) and achieved stable operation of the program on the device in real time.


As a result of carrying out all the described actions, we have obtained a full-fledged software product with significant tactical and technical characteristics.

Smart Tank Reader

So, we present you our new development - a program for recognizing tank images in a video stream. Smart Tank Reader, which:

Recognition of tanks in a video stream using machine learning methods (+2 videos on the Elbrus and Baikal platforms)

  • Solves the "friend or foe" problem for a given set of objects in real time;
  • Determines geometric indicators (distance to the object, primary orientation of the object);
  • Works in uncontrolled weather conditions, as well as in the case of partial blocking of the object by foreign objects;
  • Fully autonomous operation on the target device, including in the absence of radio communication;
  • List of supported processor architectures: Elbrus, Baikal, KOMDIV, as well as x86, x86_64, ARM;
  • List of supported operating systems: Elbrus OS, AstraLinux OS, Atlix OS, as well as MS Windows, macOS, various Linux distributions that support gcc 4.8, Android, iOS;
  • Completely domestic development.

Usually, in the conclusion to our articles on HabrΓ©, we give a link to the marketplace, where everyone can download a demo version of the application using their mobile phone in order to actually evaluate the performance of the technology. This time, taking into account the specifics of the resulting application, we wish all our readers never in their lives to face the problem of quickly determining whether a tank belongs to a certain side.

Source: habr.com

Add a comment