神经网络算法在自动化识别瞄准中的研究
2022-03-26姚云凯
姚云凯
(闽江学院,福建 福州 350108)
0 引言
本文的研究是基于机器学习中采用神经网络模型训练,实现自动化瞄准与打击的相关研究,在目标无规则快速运动的情况下,发射机构需要提前预判目标的运动路径,因此反应速度对于摄像头对装甲板的识别有很大的影响,表现在将非装甲板部分识别成装甲板,将场地环境部分识别为单级目标,导致发射机构瞄准非目标点,因此对于采用机器学习(ML)模型识别目标、神经网络算法的自动化瞄准至关重要。
1 神经网络模型
传统的数字识别算法如果搭配使用滤光片,存在场地环境灯光不足时数字识别准确度较低的情况,并且数字识别比较耗时,无法对于每一帧都识别装甲数字,对于场地灯光较复杂的环境依然存在一定的误识别情况,对于灯条的拟合采用椭圆拟合,问题是灯条的宽度对于拟合的高度存在较大影响[1-2]。当前的研究更换为使用矩形拟合处理,采用神经网络去处理图片,得到装甲信息,从根本上提高程序的鲁棒性。
2 卷积神经网络的单级目标检测
目标检测算法主要源自YOLO,一种用于物体检测的最先进的单级检测器。所用3个版本的YOLO背后的总体思想是使用FC(完全卷积)层在网络的单个前向传播中生成边界框预测,与之前的方法(例如Fast R)相比,该算法识别效率更高、识别速度更快。
图1 YOLO 的边界框预测
本研究提出的方法受最新版本YOLOV3的启发,使用较小的编码器来限制硬件使用[4]。为了优化推理速度,编码器模型快速地将输入RGB图像采样到一个小的潜在空间,同时保持跳过连接以提高性能。最后使用XNOR-Net的二进制权重运算,和使用Tensor核心的FP16推理进一步降低了计算成本。
编码器是Darknet19和Darknet53的混合体,总体上遵循它们使用步长为1的3×3内核。为了降低空间分辨率,在一组卷积块之后运行最大池化。为了防止梯度下降并优化整体性能,在每个卷积块上附加了跳跃连接。编码器将输入下采样到更小的空间域,用于生成第一组边界框预测。最后添加上采样层以在模型中分布FLOP,同时允许YOLO层为较小的对象提供高分辨率输入。在每一层的末尾应用leaky ReLU激活函数。
模型同时使用2个RTX 2080 TI进行训练。为了改进泛化,该模型首先使用Adam优化器进行训练,以减少整体训练时间,然后使用带有动量的SGD优化器对其进行微调。对于增强饱和度,曝光和色调用于加强模型防止过度拟合。对于损失,使用与YOLO V3/V2相同的损失,如图2所示。
图2 YOLO 的损失优化
损失的第一行计算模型的预测质心(x,y)与地面实况的L2距离(均方误差),而第二行计算每个边界框与地面的预测宽度和高度之间的L2距离真相。最后三行计算模型预测的逻辑损失,以确定给定区域是否有对象,以及适当的类概率[5]。
神经网络通常使用FP32进行训练,一种提高模型推理速度并减小其大小的流行方法是量化——模型可以代替FP32,使用FP16、INT8甚至INT4进行计算,从本质上是在推理之间权衡速度和准确性。XNOR-Net使用二进制作为模型的主要数据类型,最大限度地利用了这种方法,在基于CPU的平台上将推理速度提高了32倍。受此启发,在某些层中利用基于 XNOR的量化来进一步降低计算成本[6]。
3 神经网络训练弹道计算
设(a,b,c)为基础转塔框架中的重力加速度
假设弹丸在t=0离开枪管。将目标的路径等同于弹丸的路径:
重新排列项(将a、b、c向左移动并分解L+Vt):
4 线性卡尔曼滤波器跟踪
使用d表示状态参数的数量,使用m表示测量参数的数量。使用OpenCV的卡尔曼滤波器实现。
简单线性卡尔曼滤波器通过以下过程估计每个时间步的状态。首先使用转换模型对当前状态进行估计:预测状态=转换矩阵@前一个状态向量+控制矩阵@控制向量。这通常称为“预测步骤”。将时间k处的预测状态表示为:x'k:x'k=Fkxk-1+Bkuk
不使用控制矩阵和控制向量,简化为x'k=Fkxk-1
获得x'k后,滤波器通过使用在此时间步长上获得的测量值对其进行校正,从而获得更准确的读数。这通常称为“更新步骤”。首先,它根据预测获得该时间步长上的测量值x'k:预测测量值=测量矩阵@预测状态。将这个在时间步k处的预测测量表示为z'k。z'k=Hkx′k
然后计算yk实际测量值与预测测量值之间的差值:yk=zk-z′k。之后,它使用过程噪声协方差、测量噪声协方差和预测误差协方差P′k(计算P′k未显示)计算卡尔曼增益。然后它使用卡尔曼增益,更新预测状态以获得此时间步的最佳状态估计:xk=x′k+Kkyk
最后使用卡尔曼增益来给出误差协方差的最佳估计值Pk。
然而直观地,卡尔曼增益是一个d*m矩阵,它从测量空间映射到状态空间,它给出了滤波器对测量值、zk、预测值的信任程度的度量x′k。卡尔曼增益随着过程噪声的增大而增加,随着测量噪声的增大而减小。在零矩阵的极端情况下,上面的更新步骤变为xk=x′k并且测量被完全丢弃。在另一个极端,收敛的伪逆Hk,新状态只是基于测量。
5 结语
本研究拥有强大的基础,可以支持自动化识别与瞄准中的高级视觉使用。但是,还可以在许多方面进行改进以提高准确性、响应性和一致性:使系统对RealSense不稳定性更加鲁棒。这需要调查操作系统和库级别的互操作问题。减少往返外循环时间:优化神经网络检测器的执行(包装器代码和实际推理时间),向主控制器调查移动弹道和里程计,并仅发送3D位置和速度而不是炮塔目标。提高帧和里程计时间戳的精度(消除捏造因素)所有主要组件的单元测试和模拟。