中国科学院空天信息创新研究院 中国科学院大学光电学院 尚义卓 潘 泽
中国科学院空天信息创新研究院 谭 政 吕群波
从20世纪50年代开始,人类社会逐渐从农业时代和工业时代向信息化时代进行蜕变。信息化具有信息交换、移动通信等表现力,它的产生带动了新型产业、新型技术的出现,同时也对旧行业带来冲击和活力。遥感技术作为信息化的重要产物之一,它利用电磁波反射和辐射特征来获取地物目标信息,进而实现信息判别、归类、存储、处理等功能。它的快速发展在国家民用和军用领域发挥着至关重要的作用。地图测绘、灾害监测、军事监测与军事打击、资源考察等领域的信息化都离不开遥感技术的支持。
随着计算数学和信号处理技术的发展,基于深度神经网络的目标检测算法获得了比传统模板匹配算法更优的结果。深度学习目标检测算法分为一阶段目标检测(one-stage)和两阶段目标检测(two-stage)两类。常见的一阶段目标检测算法有YOLO算法、SSD算法。一阶段目标检测算法的优势在于利用回归的思想直接通过图像得到预测目标框信息,速度快。二阶段目标检测算法在精度方面要优于前者,例如R-CNN、Fast-CNN等,其策略是先利用网络产生一系列的候选框,然后进行分类和回归,虽然其精度相较一阶段算法准确度更高,但是速度方面相差甚远。对于遥感图像的目标检测,以速度为首要原则,并使得精度有所保障是最为关键的一环。
综上所述,遥感图像处理在社会发展中发挥的作用日益广泛。然而,基于目前的遥感图像目标检测算法仍存在准确性低、检测速度慢的问题,并且硬件负荷也越来越高。为显著降低对硬件算力的需求,提高处理时效性,本论文根据深度学习目标检测算法遥感图像飞机舰船目标检测进行探究,探究对遥感图像飞机舰船的快速检测,为未来实现星上遥感图像目标检测提供技术支撑。
一阶段目标检测算法不需要候选框提取阶段,算法直接产生物体的类别概率和位置坐标信息以及置信度,仅单次检测即可完成最终的检测任务。常见的一阶段目标检测算法有YOLO、YOLOv2、SSD、YOLOv3、Retina-Net等。基于其一阶段的性质,它就具备了更快的检测速度。YOLO系列目标检测算法的核心思想是将目标检测任务作为回归问题,利用目标框预测、置信度预测、类别预测三个损失函数来实现目标的定位与检测。YOLOv3由于其速度快、精度高的优点,在过去几年成为学术界和工业界广泛使用的目标检测模型之一。随着YOLO之父退出计算机视觉领域,2020年,新的YOLO系列算法(YOLOv4、YOLOv5)再度出炉。因此本实验对最新的一阶段目标检测算法进行了复现和性能对比,以探求更好的算法作为遥感图像目标检测轻量化网络的雏形。
YOLOv3的网络主干是darknet-53,尽管darkenet-53分类精度与ResNet-152和ResNet-101差不多,但是它的网络深度比两者浅,因此在计算速度上,它相较于两者快很多。
在多次卷积的过程中,采用的卷积核大多是3×3,1×1的规模,对于卷积网络的计算量和复杂度通常采用浮点运算(float point operations,FLOPs)来衡量,那么单个卷积层的网络计算量公式为:
其中Cin为输入通道数、Cout为输出通道数、K为卷积核大小、H和W为输出特征面宽高。在图像尺寸固定的条件下,决定网络计算量的就是输入输出通道数和卷积核大小。因此采用较小卷积核的目的既可以提高非线性程度,增加网络的泛化性,进一步的提高网络精度,同时又能减少参数提高实时性。
YOLOv3目标检测网络中,加入了三个不同尺度的特征,形成了金字塔网络,使得多个尺度的网络可以通过级联和上采样进行连接。这样做能够使得我们找到早期特征映射的上采样和细粒度特征,特征信息融合更加充分,并获得更为重要的语义信息。
在对YOLOv3目标检测算法的复现的性能分析中,本论文也对YOLOv3-Tiny版本进行了比较。随着YOLOv3在工业化上的普遍使用,根据不同的应用需求和应用场景,对目标检测算法的要求各不相同。在不考虑小目标的检测方面,YOLOv3-tiny的速度能够更快,同时由于其针对的目标偏向于中大型目标,因此对小目标的检测存在一定的缺陷。YOLOv3-tiny相较于YOLOv3而言,整体的网络结构没有明显差距,仅仅少了预测小目标的特征面特征层(80×80×21的特征面),因此预测特征面的减少,带来的效果就是网络计算量减小、网络速度提升,但同时也会带来小目标的缺失、精度的下降。
表1为YOLOv3阿与YOLOv3-tiny的各项指标,均在windows7、Pytorch1.6、GTX1080Ti的环境下进行训练,为确保比较的公平,所采取的权重均为网络结构初始权重。
表1 YOLOv3与YOLOv3tiny的各项指标对比
检测图像尺寸为1024×1024。
从上述指标可以看出YOLOv3的Precision值为94.1%,相较于YOLOv3-tiny要高出4.7%,召回率Recall高出1.2%。mAP作为衡量目标检测算法的重要姓名能指标,YOLOv3要高出2.1%。尽管在性能上YOLOv3从各方面均比YOLOv30tiny要好些,但是在速度对比上,YOLOv3远远落后于YOLOv3-tiny。
图1为YOLOv3和YOLOv3-tiny的遥感图像目标检测效果图。
图1 YOLOv3与YOLOv3tiny目标检测效果图对比(左YOLOv3、右YOLOv3-tiny)
从两者的遥感图像目标检测效果图中可以看出,整体上YOLOv3检测到的目标要更多,更准确,但是它们两者同时存在漏检和误检的情况发生。将性能指标和效果图进行分析,YOLOv3的精度虽然更高一些,但是其mAP也仅有73.2%。速度上更不符合遥感图像目标快速检测的需求。YOLOv3-tiny速度较快,但是精度表现不好,作为遥感图像目标快速检测的初始模型精度上限较低,无法满足遥感卫星目标检测的精度需求。
2020年4 月份,Alexey等人提出了“YOLOv4:Optimal Speed and Accuracy of Object Detection”。论文中提到,现如今存在大量的特征可以提高卷积神经网络的精度,因此该论文对现有新颖、有效的模块进行组合和实际的测试,并对各模块组合所带来的性能效果进行理论验证和分析。其中的模块包括加权-残差-连接(Weighted Residual Connections,简称WRC)、跨阶段交叉部分连接(Cross Stage Partial connections,简称CSP)、跨小阶段归一化(Cross mini-Batch Normalization,简称CmBN)、自对抗训练(Self-adversarial training,简称SAT)和新的激活函数(Mish-activation)。
同样,YOLOv4的实验在GTX1080Ti上进行,所采用的环境为Pytorch1.6、windows7。所采用的图像大小为1024×1024。各精度指标如表2所示。
表2 YOLOv4遥感图像目标检测精度指标
对于本研究的遥感图像数据集,YOLOv4的mAP能够达到84%,比YOLOv3要高10%,精度提升较高,然而对于一幅1024×1024的图像,YOLOv4的检测速度为0.081s,帧率能达到12帧。这相比于YOLOv3和YOLOv3-tiny要慢很多,如果检测一幅10000×10000的遥感图像,速度会大幅下降,不满足本研究探求的快速目标检测指标。图2为YOLOv4目标检测效果图。
图2 YOLOv4遥感图像目标检测效果图
从图2中可以看出,相较于YOLOv3和YOLOv3-tiny,YOLOv4的效果更好,对于飞机的目标检测精准度高,且漏检和误检在者两张图的表现上几乎没有。
对于YOLOv4目标检测算法而言,通过对比、各种模块进行组合,堆积探索最优性能使得它的精度能够大幅度提高,但是在速度方面却略逊一筹。本研究希望能够找到高精度、高速度的模型来探究为俩实现遥感图像目标快速检测这一目的,显然YOLOv4的速度方面还是有所欠缺。
对于遥感图像目标检测,本研究对现有一阶段目标检测算法YOLOv3、YOLOv4进行性能分析和对比,前者速度相比较快但精度偏低,后者精度较高但速度较慢,因此在精度能够达到要求的前提下,如何设计轻量化遥感图像目标检测是未来星上处理的发展方向之一。