使用机器学习方法识别视频流中的坦克(厄尔布鲁士和贝加尔湖平台上的+2个视频)

使用机器学习方法识别视频流中的坦克(厄尔布鲁士和贝加尔湖平台上的+2个视频)

在我们的活动过程中,我们每天都面临着确定发展优先事项的问题。 考虑到IT行业发展的高度动态,企业和政府对新技术的需求不断增加,每次我们确定发展向量并为公司的科学潜力投入自己的力量和资金时,我们确保:我们所有的研究和项目都是基础性和跨学科的。

因此,通过开发我们的主要技术——HIEROGLYPH数据识别框架,我们既关心提高文档识别(我们的主要业务线)的质量,也关心利用该技术解决相关识别问题的可能性。 在今天的文章中,我们将告诉您如何基于我们的识别引擎(文档)来识别视频流中较大的、具有战略意义的对象。

制定问题

利用现有的开发成果,构建一个坦克识别系统,可以对物体进行分类,并在控制不佳的条件下确定基本的几何指标(方向和距离),而无需使用专用设备。

我们选择统计机器学习方法作为解决该问题的主要算法。 但机器学习的关键问题之一是需要有足够的训练数据。 显然,我们无法获得从包含我们需要的物体的真实场景中获得的自然图像。 因此,决定求助于生成必要的数据进行训练,幸运的是 我们在这个地方有很多经验。 然而,对我们来说,完全综合该任务的数据似乎不自然,因此准备了特殊的布局来模拟真实场景。 该模型包含模拟乡村的各种对象:特色景观覆盖物、灌木丛、树木、栅栏等。 使用小型数码相机拍摄图像。 在图像捕捉过程中,场景的背景发生了显着的变化,使得算法对背景变化具有更强的鲁棒性。

使用机器学习方法识别视频流中的坦克(厄尔布鲁士和贝加尔湖平台上的+2个视频)

目标对象是4种型号的主战坦克:T-90(俄罗斯)、M1A2艾布拉姆斯(美国)、T-14(俄罗斯)、梅卡瓦III(以色列)。 对象位于多边形的不同位置,从而扩大了对象可接受的可见角度的列表。 工程屏障、树木、灌木丛等景观元素发挥了重要作用。

使用机器学习方法识别视频流中的坦克(厄尔布鲁士和贝加尔湖平台上的+2个视频)

因此,在几天之内,我们收集了足够的数据集用于训练和随后评估算法的质量(数万张图像)。

他们决定将识别本身分为两部分:对象定位和对象分类。 使用训练有素的 Viola 和 Jones 分类器进行定位(毕竟,坦克是普通的刚性物体,并不比脸差,因此 Viola 和 Jones 的“细节盲”方法可以快速定位目标对象)。 但我们将角度的分类和确定委托给了卷积神经网络——在这项任务中,探测器成功识别出那些能够区分 T-90 和 Merkava 的特征对我们来说很重要。 因此,可以构建有效的算法组合,成功解决同一类型对象的定位和分类问题。

使用机器学习方法识别视频流中的坦克(厄尔布鲁士和贝加尔湖平台上的+2个视频)

接下来,我们在所有现有平台(Intel、ARM、Elbrus、Baikal、KOMDIV)上启动了最终的程序,优化了计算困难的算法以提高性能(我们已经在我们的文章中多次提到过这一点,例如这里 https://habr.com/ru/company/smartengines/blog/438948/ или https://habr.com/ru/company/smartengines/blog/351134/)并实现了程序在设备上实时稳定运行。


通过上述所有行动,我们获得了具有显着战术和技术特征的成熟软件产品。

智能储罐读取器

因此,我们向您展示我们的新开发成果 - 一个用于识别视频流中坦克图像的程序 智能储罐读取器, 哪个:

使用机器学习方法识别视频流中的坦克(厄尔布鲁士和贝加尔湖平台上的+2个视频)

  • 实时解决一组给定对象的“朋友或敌人”问题;
  • 确定几何参数(到物体的距离、物体的首选方向);
  • 可在不受控制的天气条件下以及物体被异物部分遮挡的情况下工作;
  • 在目标设备上完全自主运行,包括在没有无线电通信的情况下;
  • 支持的处理器架构列表:Elbrus、Baikal、KOMDIV,以及 x86、x86_64、ARM;
  • 支持的操作系统列表:Elbrus OS、AstraLinux OS、Atlix OS,以及 MS Windows、macOS、支持 gcc 4.8、Android、iOS 的各种 Linux 发行版;
  • 完全国内开发。

通常,在关于 Habré 的文章的结论中,我们会提供一个市场链接,任何使用手机的人都可以下载该应用程序的演示版本,以便实际评估该技术的性能。 这次,考虑到最终应用程序的具体情况,我们希望所有读者一生中都不会遇到快速确定坦克是否属于某一方的问题。

来源: habr.com

添加评论