APP下载

基于YOLOv3-tiny的智能侦察虚拟训练系统研究

2023-09-03靳晓芳刘金羽

兵器装备工程学报 2023年8期
关键词:飞控置信度动画

靳晓芳,岳 鼎,刘金羽

(中国传媒大学, 北京 100024)

0 引言

随着武器装备技术发展,无人机作战在现代化战争中的效果日益凸显,而侦察任务是无人机作战的重要组成。然而,无人机飞控训练受到天气、场地、设备等因素的制约,成本高、效率低,存在安全隐患,并且无人机传输视频信号依赖Wi-Fi网络,目标检测画面与真实画面存在明显传输时延,使得侦察训练限制较多且条件苛刻。虚拟训练系统具有很强的安全性、便捷性、实时性,和兼容性,可满足无人机智能侦察训练需要[1]。

目前面向军事的虚拟训练系统倾向于模拟场景,战斗仿真,针对智能算法嵌入应用的相关工作较少。同时无人机实现实时目标检测存在以下问题,一方面基于嵌入式设备的无人机视频传输时延低,但是由于散热、体积、计算能力等问题,目标检测速度最高仅达到8.81 fps[2],另一方面基于后端算法处理的无人机图传也有500 ms左右视频传输时延[3]。本系统在虚拟场景中应用目标检测算法,以消除传输时延,提升检测速度。

YOLO(You Only Look Once)算法在2015年由Redmon[4]提出,是一种单阶段目标检测框架。在此基础上改进主干网络、更改训练方法、引入残差结构逐渐发展出YOLOv2[5]、YOLOv3[6]等YOLO系列检测算法。2018年YOLOv3算法由Joseph等[7]提出,和之前YOLO系列算法相比一定程度上提升了检测速度和检测精度,但网络结构复杂,模型体积庞大。YOLOv3-tiny在YOLOv3基础上简化了网络结构,体积小,实时性高。

本文基于YOLOv3-tiny算法,通过Unity3D camera组件渲染改进了图像传输方式,采用Blender、Unity3D等软件进行无人机智能侦察虚拟训练系统研究。

1 功能设计

无人机智能侦察虚拟训练系统主要应用于现代化战争背景下,模拟无人机飞控,并对车辆、人员等目标进行目标检测的任务[8]。基于该任务,虚拟训练系统的功能如图1所示。

图1 系统功能框图

本系统根据无人机侦察作战的需要将分为以下4个主要功能:静态展示、飞控模拟、目标检测,和结果展示。

静态展示通过对无人机以及场景的三维建模,展示无人机的具体构造以及作战场景的具体环境,便于训练人员掌握无人机作战基本情况,加深操作理解。

飞控模拟通过键位设计,将四旋翼无人机的垂直、翻滚、俯仰、偏航等动作囊括在8个按键中,用按键模拟无人机摇杆控制[9]。

目标检测是智能侦察系统的核心,通过控制虚拟场景中的无人机飞抵目的地采集图像,经Unity3D camera组件渲染图像和YOLOv3-tiny算法处理完成对车辆、人员等物体的检测[10]。

结果展示将实时画面检测出的物体添加上预测框、预测类别、置信度,同时在console控制台中输出算法时延。并且飞控模拟、目标检测、结果展示可同时进行,便于侦察结果实时分析。

2 系统开发

无人机智能侦察系统基于Unity3D、Blender软件和OpenCV For Unity插件,完成了三维立体建模、动画制作、场景搭建、视频流读取、算法搭载,和生成发布软件等步骤,系统研发流程图如图2所示。

图2 系统研发流程图

2.1 三维立体建模

三维建模主要应用Blender软件。采用多边形建模方法,通过对模型点、线、面的调节,建造出初始的Low Ploy低面模型。再通过环线切割、矩形倒角、曲面建模等功能建造出High Ploy高面数模。

本系统应用真实贴图对模型进行材质编辑。贴图经过Photoshop处理后导入到Blender中,选择智能UV投射,将二维贴图覆盖到三维模型上,再通过着色器调整模型颜色和光泽。

系统启用GPU进行模型渲染并且使用无偏路径跟踪器引擎Cycles,既可以减少渲染时间又可以得到真实的渲染效果,如图3所示。

图3 模型渲染图

Blender支持多种模型格式输出。将模型全部选中导出为fbx格式并且导入到Unity3D软件的项目文件夹,后续进行场景搭建时,可直接调出模型到场景中。

2.2 动画制作

在Blender软件中物体建模和动画制作可以同时进行。本系统运行时主要播放无人机动画,分为无人机飞控动画和旋翼动画两部分。

飞控动画包含了无人机进行悬停、俯仰、偏航、滚动时的动画。在时间轴面板上给每个动作都打上相应的关键帧,每隔数帧就调整模型的运动轨迹,Blender可以自动把关键帧补齐,方便动画的制作。动画播放时,Unity3D对键盘进行按键检测,判断无人机的飞行状态并播放相应的飞控动画,该步骤由动画状态机来决定,如图4所示。

图4 动画状态机面板

旋翼动画模拟真实物理效果,处于悬停状态时旋翼转速慢,处于加速度状态时,旋翼转速快。通过挂载C#脚本完成设定。

2.3 场景搭建

系统以城市街道为主题环境,使用三维建模和材质贴图来搭建城市场景,主要分为对城市道路的模拟和街道房屋的搭建。

城市道路的模拟采用平面拼接的方式。在Unity3D中新建平面,将制作好的道路贴图附在平面上,将平面复制全选,顶点对齐后,达到道路铺设的效果。

搭建街道房屋混合使用了3D建模和2D贴图技术。近处的房屋从项目文件夹中导出预制模型,并按照顶点吸附在道路两侧,远处的房屋则使用平面贴图填补上天际线的空白[11]。最后添加车辆和人员模型,完成城市场景搭建。如此,不仅达到了模拟城市街道的效果,还减轻了场景渲染的负荷。

2.4 视频流读取

为更好地观察无人机飞行姿态和实时位置,在虚拟训练系统中采用第三人称视角摄像头。训练时,控制虚拟场景中的无人机飞行采集实时画面,通过Unity3D的camera组件将虚拟场景中采集的画面实时渲染为RenderTexture图像格式[12]。

其中所拍摄的图像需要经过多次格式转换才能在Unity3D界面和OpenCV函数中传递。Camera组件所拍摄画面是RenderTexture格式需要先转换为Texture2D格式,方可通过OpenCV For Unity插件的内置函数转换为Mat格式,使用Mat格式进行矩阵运算、图像处理后,再逆变换为Texture2D格式返回Unity3D屏幕。

2.5 算法搭载

系统对车辆、人员等物体进行实时画面检测,对算法速度要求较高,因此选择YOLOv3-tiny目标检测算法。YOLOv3-tiny是YOLOv3的轻量化版本,在后者基础上去掉了一些特征层,并且在输出结果上只保留了2个预测分支,网络复杂度更低,目标检测速度更快[13]。

YOLOv3-tiny网络一共有23层,分为卷积层、池化层、采样层、路由层、输出层5种网络层。利用卷积层对检测目标进行特征提取,在每个卷积层后连接池化层,最终提取出26*26和13*13两种分辨率特征图,前者对较小目标进行特征提取,后者对较大目标特征提取,减少了目标漏检,达到理想的检测效果[14],其网络结构如图5所示。

图5 YOLOv3-tiny网络结构图

在Unity3D中搭载已经训练好的YOLOv3-tiny模型,需要YOLOv3-tiny.weight模型权重文件、YOLOv3-tiny.cfg模型网络配置文件、.names数据集类别文件这3种文件。通过修改模型网络配置文件可以替换不同的目标检测算法,同时可以训练本地数据集并更改模型权重文件和数据集类别文件对指定类别进行目标检测。在C#脚本中设置好实时传输画面的摄像机(Main Camera),以及算法处理后的渲染目标(Raw Image),便可以将视频流画面上传,经过图像处理后将目标检测结果返回到Unity3D屏幕中。

(1)

(2)

无人机实时目标检测时,将每帧图像对车辆和人员的检测置信度输出绘制成图6的置信度折线图。在无人机飞行过程中,算法实时目标检测置信度保持在80%以上。在console控制台中返回算法检测速率,并绘制为检测速率折线图,如图7所示。算法实时检测速率稳定在25 fps。

图6 置信度折线图

图7 检测速率折线图

2.6 生成发布软件

本系统涉及大量三维模型和脚本文件,为保证系统运行流畅,将系统场景和依赖文件打包导出成可执行文件(.exe格式)[17]。无人机进行智能侦察虚拟训练时,点击快捷图标便可直接进入系统。

3 系统测试实验

为验证本虚拟训练系统是否满足无人机智能侦察训练要求,我们邀请了选修过无人机课程的25名测试者对本系统的各个功能进行测试,主要的测试指标为画面流畅性、飞控仿真性、检测准确性,分为良好、一般、较差3个等级[18-19]。

本文中实验均在Windows 10操作系统的PC机上进行,Unity3D版本为2020.3.31。

3.1 测试内容

进行虚拟训练测试时,需要在系统中控制无人机飞抵指定作战区域,对camera组件渲染的图像进行目标检测来完成智能侦察任务。

在虚拟场景中,通过键盘按键模拟无人机飞控。通过俯仰实现前进后退、滚动实现左右移动、偏航实现左转右转,如图8所示。

图8 无人机模型飞控模拟

对画面内容进行目标检测时,通过调整置信度阈值和NMS阈值可以控制锚框的数量,过滤掉置信度小的检测结果,避免冗余,具体目标检测结果如图9所示。

图9 目标检测结果图

3.2 系统测试结果

完成虚拟训练测试后,与测试者交流感受并统计出测试结果,如表1所示。

表1 系统测试结果

实验表明无人机智能侦察虚拟训练系统能够流畅地完成无人机飞行控制模拟和对目标的实时检测。客观算法上,由3.5算法搭载结果,目标检测置信度达80%,检测速度达25 fps。主观评价上,画面流畅性评价良好比例达88%,说明检测速度满足了人眼感知帧率,画面在测试者眼中无明显卡顿;飞控仿真性评价良好比例达92%,绝大部分测试者认为按键模拟的无人机飞控能达到仿真效果;检测准确性评价良好比例为96%,表明侦察训练时对车辆和人员的目标检测结果基本正确。证明了本文提出在虚拟场景中应用目标检测算法是有效的,满足了飞控模拟和算法检测训练。测试者也提出系统在长时间运行后,画面会有少许迟钝感,后续需要对图像传输做进一步优化。

4 结论

1) 提出了基于Unity3D平台与YOLOv3-tiny检测算法的无人机智能侦察虚拟训练系统,在模拟无人机飞控的基础上,对车辆和人员进行实时目标检测,有效降低了训练成本、提高了训练效率、避免了训练风险。

2) 用Unity3D camera组件渲染代替无人机摄像头进行数据传输,视频流数据在本机进行采集和处理,消除了图像传输时延。

3) 在虚拟训练系统上搭载YOLOv3-tiny目标检测算法后,系统测试实验表面,在模拟飞控条件下,算法也保持着较高检测速度和置信度,评价指标良好,达到了预期训练效果,为其他虚拟系统设计以及算法应用提供了参考。

猜你喜欢

飞控置信度动画
硼铝复合材料硼含量置信度临界安全分析研究
做个动画给你看
动画发展史
我的动画梦
民用飞机飞控通电自检测安全性研究
无人机飞控软件架构设计初探
正负关联规则两级置信度阈值设置方法
02 飞控技术与机场安保引关注
飞控系统故障告警实时监控软件的设计与实现
我是动画迷