薛远奎 寇世豪 詹福宇
(中电科特种飞机系统工程有限公司 成都 611731)
小型无人机具有成本低、部署灵活、携带方便、隐蔽性好等特点,在目标侦察与打击作战任务中能够起到重要作用,但当前小型无人机智能化水平还较低,根据无人机自主能力等级(Autonomous Capability Level,ACL)划分,目前大都处于1~2 级ACL水平,严重依赖人工实时操控,不仅需要投入大量成本和时间进行人员飞行操控培训,且作战时容易因频谱干扰、遮挡等问题导致图像断开和无人机控制丢失。如果无人机具备目标自动发现和自主攻击能力,将大大减少对操控人员的依赖,提升复杂环境下作战效率和打击成功率。
近年来,随着人工智能技术的不断发展,使无人机自主攻击成为可能,特别在目标检测、目标跟踪两个关键技术上,基于深度学习技术搭建的网络模型已经能够达到人类水平。当前国内对小型自主攻击无人机也已经展开很多研究,在文献[1]中研究了攻击无人机体系结构和未来无人机发展趋势,在文献[2~3]中主要研究了无人机自主智能化系统以及引导攻击技术,在文献[5]中主要基于灰色关联和改进Hopfield 神经网络等方法研究了对地攻击无人机能力评价,但这些文章大都是无人机自主攻击理论相关的研究,或只进行了理论仿真[5~6],并没有搭建无人机飞行平台进行实际飞行测试,缺少架构与系统性描述。
本文以瑞芯微SoC AI芯片为核心,设计并开发了AI处理板卡,其具备成本低、体积小、功耗低、重量轻的特点,作为机载图像和任务逻辑处理单元,解决了小型无人机负载能力有限但对高性能计算的需求问题。在模型选择和部署方面,充分调研了当前主流的模型,并结合机载应用需求,选择了YOLO-X作为目标检测模型,STARK作为目标跟踪模型,并经过模型优化和移植,最终部署在AI 板卡上。最后设计了自主攻击控制流程和算法,搭建了一套小型四旋翼无人机飞行平台并进行了实际飞行验证。
小型自主攻击无人机具有自杀式、不可回收的特点,与大型复杂的无人机装备不同,自杀式无人机没有维护、保养需求,对系统可靠性要求也较低,但对成本非常敏感。随着智能手机、智能监控摄像头等终端产品的广泛应用,在民用领域涌现了大量基于SoC 技术的AI 计算芯片,例如海思麒麟系列,瑞芯微rk 和rv 系列,寒武纪Cambricon 等,这些芯片不仅集成了CPU、GPU,而且集成了NPU 计算单元,可实现对神经网络模型的加速处理,并且具备丰富的外设接口能够方便与吊舱、飞控等无人机机载设备进行连接。
本文选择了瑞芯微RV1126芯片作为计算处理核心,其具备2.0Tops算力,支持INT8和INT16算子运算,添加了2G 片上Flash 作为内存,同时设计了对外接口包括有:1 个网口、2 个串口,最终设计的AI板卡如图1所示。
图1 AI板卡硬件实物
发现并识别目标是无人机实现自主攻击的先决条件,在无人机启动自主攻击前,由于无人机在空中,其视野内的目标一般因为距离较远而所占像素尺寸较小,因此需要高精度小目标的检测技术。目前基于深度学习的目标检测算法,主要分为两类:一类是以YOLO 系列[7],SSD[8]系列为代表的一阶段(one-stage)算法,一类是以RCNN[9]以及Fast-RCNN[10]为代表的二阶段(two-stage)算法。就二阶段方法来说,检测过程分为目标候选区域生成和分类两个阶段,这类方法具备较高的检测精度,但牺牲了检测效率,且这类模型较为“笨重”,无法在小尺寸的AI 板卡上部署,故本文采用一阶段YOLO 模型,可实现端到端的检测,即输入图像后可以直接输出目标位置和类别置信度,能够在检测精度和处理速度上实现良好的平衡,特别在对小目标检测方面有很大的优势。当前YOLO 模型家族已经发展的非常庞大,包括了YOLO、YOLOv2、YOLOv3、YOLOv4、YOLOv5 等,国内也基于YOLO 发展出了PPYOLO 和YOLOX,综合考虑检测速度、精度以及模型部署方便性,选择了YOLO-X作为检测模型,并采用了模型剪枝和数据量化技术对模型进行了优化,进一步提升了模型性能。
对YOLO-X 模型剪枝处理是基于权重和神经元的重要性评估,本文采用L1、L2范数来评估权重的重要性,对权重或者神经元的重要性进行排序后移除不重要的权重或神经元;并使用移除前模型训练数据更新并得到新的模型参数;为了使处理不对模型性能造成过大损伤,每次剪枝的权重或神经元数量不宜过多,因此这个过程需要迭代,直到获得满意模型为止。
由于RV1126 芯片对应的推理框架只能处理int8 类型数据,因此采用int8 量化技术将模型推理的数据类型从float32 映射为int8,这样推理过程中的计算量就变成了之前的1/4。
识别目标并选定攻击目标后,为了确保攻击连续性,需要对目标进行稳定跟踪,以避免同类目标的干扰。对比当前各类目标跟踪算法,本文选择了基于Transformer 架构的STARK[11]模型,其可以同时捕捉视频中的时域信息和空间域信息并作为Transformer 编码器输入,具有很高的鲁棒性,另外其具备端到端的处理能力,将目标跟踪建模成一个直接的边界框预测问题,避免了复杂且对超参敏感的后处理。
原始的STARK 模型在RV1126 芯片部署后只有10 帧左右的运行帧率,并不满足目标攻击中对实时性的需求,需要对模型进行轻量化处理。首先将训练好的模型权重导出为onnx 格式文件,onnx定义了可扩展的计算图模型,它使用graph 的序列化格式,不仅仅存储了神经网络模型的权重,同时也存储了模型的结构信息以及网络中每一层的输入输出和一些其它的辅助信息。然后通过脚本将onnx文件转换为rknn格式的模型,最后使用RKNN推理引擎编写数据预处理、模型推理和数据后处理部分的代码实现模型的推理工作。将模型部署到AI 计算板卡后,经过实际测试,模型的推理速度能够稳定在25fps~30fps。
本文根据需求搭建了四旋翼无人机飞行平台,其设计起飞重量为4kg,负载为600g,轴距550mm,使用TMotor 4006 动力电机和15 寸碳纤桨,实际续航时间为26min。无人机平台如图2所示。
图2 无人机飞行平台
为了获取外界图像,本文选择了一款微型三轴吊舱,如图3所示,其包括一个可见光相机,焦距为2.8mm,可以获取720p@30fps 的视频图像,并且提供一个网口,用于输出rtsp视频流,格式为H.264编码。
图3 光电吊舱
为了建立机载端和地面端的通信连接,获取无人机视频图像和飞行数据,实现对无人机的远程操控,本文选用了一款可以支持TCP/IP 三层通信协议的图数一体数据链,如图4所示,其提供一个网口用于机载和地面网络设备的接入,工作时,机载端数据链和地面端数据链自动建立连接并组建局域网。
图4 数据链
无人机硬件组成如表1所示。
表1 无人机硬件组成
整套无人机系统的硬件连接如图5所示。
图5 硬件连接框图
无人机软件系统框图如图6所示,分为机载端和地面端两个部分。机载端包括4 个功能模块:数据信息获取模块、控制模块、目标检测模块和目标跟踪模块。数据信息获取模块作为整个系统数据交互的中心,主要用于采集传感器和载荷数据如GPS位置、姿态角、吊舱图像等,通过消息发布的方式传递给其余模块;目标检测模块主要运行目标检测算法,处理吊舱图像并发布检测结果,目标跟踪模块主要运行目标跟踪算法,以目标检测结果为初始条件,持续跟踪目标;控制模块实现了整个自主攻击任务流程和基于跟踪结果的飞行控制。
图6 软件系统框图
在充分考虑了战场环境下装备的便携性、可操作性基础上,本文基于手持终端(Android 设备)设计了地面控制站(Ground Control Station,GCS),如图7所示。GCS 能够获取并实时显示无人机飞行信息如飞行速度、高度、航向、飞行距离等,能够显示吊舱图像和俯仰角、方位角等状态信息。为了实现对无人机的操控,我们添加了飞行控制功能如起飞、降落、选择攻击目标、设置攻击目标优先级、控制无人机飞行、控制吊舱角度等。
图7 地面站软件界面
为了进行目标打击,我们需要首先保证吊舱能够实时锁定目标,即需要实时通过控制吊舱角度使目标始终处于图像中心[12]。由目标检测算法与目标跟踪算法可以得到目标框中心点所在的图像坐标(u,v),图像像素大小为(H,W),吊舱相机横向视场角和纵向视场角分别为fovℎ和fovv,那么可以得到吊舱期望的俯仰角偏转角度为
吊舱期望的方位角偏转角度为
则对吊舱进行角度控制时只需令俯仰角和方位角分别为
首先遵循右手法则定义无人机坐标系{XB,YB,ZB},其中其X 轴方向沿着机头朝向,Y 轴方向沿着机身右侧朝向,相机坐标系{XC,YC,ZC},其中X 轴方向沿着相机镜头朝向,Y 轴方向沿着相机右侧朝向,目标坐标系{XT,YT,ZT},其中X 轴方向沿着无人机与目标连线方向,Y 轴方向处于水平面并于X轴垂直[13]。
则机体坐标系下无人机的攻击速度为
得到机体坐标系下的期望攻击速度后,即可生成速度控制指令消息并发送至飞控,由飞控自动进行飞行控制。
由于军事目标数据集涉及军事机密,没有开源项目,本文根据自主攻击应用场景中无人机的运动变化和视角切换,基于UAV123、visdrone[15]开源数据集进行数据抽取,选择相似度接近的图片、视频进行模型训练。
共抽取了2500 张图片用于目标检测数据集制作,包括人、车辆两个类别,其中训练集包含2000张图片,验证集包含500 张图片。经量化处理后的模型检测精度mAP=26.4%,AP50=50.1%,APSmall=14.6%,APLarge=66.9%。
将模型部署到AI 板卡上并在真实环境下测试,模型的推理性能够达25fps左右。
在外场实际测试效果如图8所示。
图8 目标识别测试效果
本文选取了单目标跟踪视频,并进行了训练,实际测试后,EAO=0.48,处理速度可达28fps。
本文在自贡凤鸣机场电科特飞生产园区进行了飞行验证,验证场地内道路正中央放置了军事假人,两侧有车辆,无人机起飞后可自动识别目标,可以根据预先设定的模式自动选择优先级最高的目标进行自主攻击,同样可以通过手动选择目标进行自主攻击。
当目标选定后,无人机发动直线攻击,第一视角显示的攻击过程如图9所示。
图9 目标跟踪效果
在本文中,我们详细给出了自主攻击无人机系统的设计方案,搭建了飞行平台并且进行了实际飞行测试。我们虽然采用了大量深度学习技术例如目标识别与跟踪,但距离全自主智能无人机这一目标还非常远,这是因为目前的深度学习技术在自主决策上还远远无法与人类相媲美,只能在特定功能上替代人类。这也是我们下一步的努力方向,将更多自主决策的功能交给计算机来实现,从而实现真正智能作战无人机。