基于深度强化学习的遥感图像可解释目标检测方法
由于遥感图像的目标检测不受时间、地域限制, 可获得大范围、多角度数据等优势, 现已成功应用在地物分类、环境管理和矿物填图[1]等方面.随着人工智能技术的兴起, 以数据为驱动的智能化遥感图像目标检测方法成为遥感图像解译领域的重要手段.
遥感图像场景较大, 背景复杂, 图像中目标尺度较小, 容易受到树木、建筑物等异物的遮挡, 在人流量较大、目标密集的区域或多个目标之间容易产生重叠和遮挡.此外, 由于遥感技术应用领域的重要性和特殊性, 需保证目标检测结果的可信度, 但当前大部分目标检测算法缺乏对检测结果的可解释性分析.因此遥感图像目标检测的检测性能及应用仍面临严峻的挑战.
目标检测是从图像中检测不同尺度、类别的物体, 给出不同类别物体的预测位置[2].在目标检测方法中, 特征提取阶段通常采用人工选择的方式, 如尺度不变特征转换和方向梯度直方图等.特征提取方法的性能在很大程度上依赖于特征设计, 而设计特征需要从业者具备大量先验知识, 因此该类方法的设计成本较高、特征鲁棒性较差、泛化能力较弱.相比人工设计特征的方法, 基于深度学习的目标检测使用卷积神经网络(Convolutional Neural Network, CNN)提取图像特征, 具有自动、强大的特征提取能力, 以及更好的鲁棒性和更高的检测精度, 因此传统目标检测方法已逐步被基于深度学习的目标检测方法取代.
基于深度学习的目标检测算法大致可分为:基于锚点(Anchor-Based)的算法和非基于锚点(Anchor-Free)的算法, 两者区别在于是否使用锚点提取候选框.
基于锚点的算法包括两阶段检测模型区域卷积神经网络(Region CNN, R-CNN)[3, 4, 5]系列、一阶段检测模型YOLOv2(You Only Look Once Version 2, YOLOv2)[6]、SSD(Single Shot MultiBox Detector)[7]等.R-CNN首先生成候选框, 进行特征提取, 再在这些区域内放入分类器, 修正和提取目标.超快速区域神经网络(Faster R-CNN)使用候选区域生成网络(Region Proposal Network, RPN), 完成检测任务的深度化.SSD对于给定的一幅图像, 使用回归的方式输出这个目标的边框和类别.
非基于锚点的算法抛弃锚点, 通过其它方式获取框的描述, 如YOLOv1(You Only Look Once Version 1)[8]、角点网络(Corner Network, CornerNet)[9]、极值点网络(Extreme Points Network, ExtrmeNet)[10]、一阶段全卷积网络(Fully Convolutional One Stage, FCOS)[11]等.YOLOv1对于特征图的每个像素点进行目标位置和类别的回归.CornerNet、ExtremeNet利用关键点回归检测框.CornerNet将回归框定位问题转化为对左上和右下两个点的检测与匹配问题.ExtremeNet将关键点定义为极值点, 根据几何结构对关键点进行分组.FCOS使用密集预测方式预测检测框, 检测器直接将像素点作为训练样本, 因此不需要锚点限制特征的选择.
深度强化学习结合深度学习和强化学习, 集成深度学习在视觉等感知问题上强大的理解能力和强化学习的决策能力, 实现端到端学习.深度学习强大的函数逼近能力成为替代人工指定特征的最佳手段, 并为性能更优的端到端学习提供可能[12]. 近年来, 基于价值函数的深度Q学习网络(Deep Q-Learning Network, DQN)[13]性能逐步提升, 学者们提出许多基于DQN的优化算法, 如基于优先级采样的DQN[14]、基于竞争架构的DQN[15]等, 这些都将深度强化学习推向一个研究热潮.
目前深度学习是一个黑盒模型, 缺乏对模型预测行为的解释信息, 导致缺乏预测结果的可信度.Zhang等[16]在预训练的卷积神经网络上增加语义图模块, 获取分类的语义信息, 增强可解释性.Baehrens等[17]提出利用梯度归因的方法, 使用输入模型中每个像素的梯度理解输入与预测结果之间的关联.另外, 还有一些可视化方法[18, 19], 如可视化卷积核激活值较大的区域, 分析模型在图像中获取的信息.这些可解释性方法一般利用人类的主观判断, 缺乏深入分析.
本文在通用的目标检测框架Faster R-CNN的基础上, 针对遥感图像目标尺度较小、数量较多的特点, 提出基于深度强化学习的遥感图像可解释性目标检测方法(Interpretable Object Detection Method for Remote Sensing Image Based on Deep Reinforcement Learning and Faster R-CNN, IFDRL-Fr).将深度强化学习应用于Faster R-CNN中的RPN, 修改强化学习的激励函数和模型结构, 提高检测精度.针对遥感图像目标检测缺乏可解释性的问题, 改进网络解剖算法, 获取模型可解释性语义, 提高模型的可解释性.实验表明, 本文方法可有效提升遥感图像目标检测的准确率和可解释性, 具有模型轻量、检测速度较快的优势.
Faster R-CNN是两阶段目标检测方法, 整合特征提取、候选区域生成、边界框回归, 提出候选区域生成网络, 用于寻找可能为目标的感兴趣区域(Region of Interest, RoI).主干网络负责将输入图像通过卷积神经网络进行特征提取, 提取的特征图用于后续的目标定位和分类.候选区域生成网络通过softmax分类器判断锚点对应区域是正样本还是负样本.根据训练数据集计算针对每个锚点的边界框回归的偏移量, 再通过边界框和目标真实标签修正生成的锚点, 由于结果更精确和更接近目标区域, 进而获得精确的候选框.感兴趣区域池化(RoI Pooling)对大小不同的候选框统一尺度, 方便后续的分类和回归任务.
基于Faster R-CNN框架, 本文提出性能更有效的基于深度强化学习的遥感图像可解释目标检测方法.采用强化学习方法优化RPN, 改进强化学习的奖励函数, 提升区域提案生成的效果, 使用轻量级网络MobileNet进行特征提取, 减少方法复杂度.本文方法总体框架如图1所示.
1.1 基于改进激励函数的候选区域生成网络
受文献[20]~文献[22]的启发, 本文将深度强化学习应用于RPN网络中, 提出基于改进深度强化学习的Faster R-CNN(Improved Deep Reinforcement Learning-Faster R-CNN, IDRL-Fr), 根据遥感图像的特性改进奖励函数, 获得更精确的区域提案.
在每个时间步长内, 深度强化学习的RPN的智能体(Agent)会根据策略计算是否终止搜索, 该策略由注视动作(Fixate Action)和完成动作(Done Action)的概率决定.智能体表示本文设计的强化学习模型.注视动作表示在特征提取得到大量兴趣区域后, 对这些区域进行筛选, 若选择某个区域计算奖励, 为注视该区域.只要搜索还未结束, 便发出注视动作, 访问新的位置.感兴趣区域观测量在以这个新的位置为中心的领域中进行更新, 若要表明已选择这个兴趣区域, 将此领域内的所有条目都设置为1.所有兴趣区域都将发送到RoI池化模块, 进行分类和特定类的边界框偏移量预测.将类的非极大值抑制(Non-maximum Suppression, NMS)应用于已分类的RoI, 获得最显著的信息.由于尚存的兴趣区域具有最终的边界框预测, 因此将它们映射到迄今为止观察到的特定类别的历史记录的某些空间位置.将特定类别的概率向量插入到与基本状态量 StSt合并的历史量中, 基于新状态, 在时间步t+1处采取新动作.重复该过程, 直到完成动作, 再收集整个轨迹中的所有选定预测.深度强化学习的RPN伪代码如算法1所示.
算法 1 基于深度强化学习的RPN
输入特征图谱, 形成初始状态量 S0S0
在每个时间步长t内, 代理根据一个策略决定下一步动作
IF 注视动作
THEN
访问新的位置 Zt,Zt,计算注视奖励, RoI观测量 RtRt在该位置更新
将 RtRt发送至池化层, 进行分类和特定类的边界框偏移量预测
特定类别的概率向量插入到与 S0S0合并的历史量中, 形成新状态 StSt, 跳转至注视动作
ELSE IF 完成动作
THEN 跳出循环, 结束搜索, 计算完成奖励
检测和分类, 输出结果
强化学习的Agent首先应平衡2个选择RoI的标准.1)应产生较高的对象实例重叠; 2)RoI的数量应尽可能少, 以减少误报数量并保持可管理的处理时间.在此基础上, 设置2个动作奖励评估代理发出的动作:注视动作奖励和完成动作奖励.
考虑到遥感图像具有图像尺寸较大、目标实例较小的特点, 对于遥感图像NWPU VHR-10数据集[23], 原本的深度强化学习奖励函数内容简单、数据量较少, 因此在该数据集上表现较优, 但在DOTA[24]、VisDrone2018数据集[25]上效果并不明显.在深度强化学习的RPN中探查以上3个数据集, 根据奖励函数得到的注视奖励和完成奖励, 发现在NWPU VHR-10数据集上搜索一幅图像, 获得的注视奖励较密集, 完成奖励一般在-20~-1之间.而在DOTA、VisDrone2018数据集上搜索一幅图像获得的注视奖励非常稀疏, 多为0, 完成奖励在-50~-20之间.在DOTA、VisDrone2018数据集上获取到实例的输出检测框较少, 目标较小, 所以在训练中容易被舍去, 无法在图像中获得更多的注视奖励和完成奖励, 难以收敛.
对于每个对象实例, 注视动作奖励为每项注视动作先给出一个小的负奖励, 但代理也会因为与当前图像的任何真值实例产生增加的交并比(Intersection over Union, IoU)而获得正奖励.在每个时间步长t上计算实例与真值的IoU和该实例在整个时间步长中的最大IoU值(即 IoUitIoUti)的差值, 收集该时间步长内所有计算IoU的区域, 即为轨迹数据.同时适当减小IoU阈值后, 可增加注视动作的正奖励, 鼓励代理继续搜索, 获得可能因为目标实例小而被漏掉的预测框.得到调整后在时间t的注视奖励:
其中i表示第i个对象实例.完成动作奖励根据每个实例和真值的IoU计算, 被覆盖面积越大, 奖励越接近0, 否则将变得越来越负.终止后, 代理会收到反映搜索轨迹质量的完成动作奖励:
奖励函数的伪代码如算法2所示.改进奖励函数后基于深度强化学习的Faster R-CNN网络称为IDRL-Fr.
算法 2 奖励函数
IF 注视动作
1.2 网络模型轻量化
IDRL-Fr是基于VGG-16(Visual Geometry Group 16)网络[26]结构进行设计的, VGG16一共包含13个卷积层、3个全连接层、5个池化层和1个softmax层.虽然VGG-16总体结构并不复杂, 在同类型网络中精确度也较高, 但参数量非常大, 共有1.38亿个参数, 导致VGG16占用的空间较多、训练时间较长.
如图2所示, 轻量级卷积神经网络Mobile-Net V1[27]一共由28层构成, 除第一层采用标准卷积核外, 其余的卷积层都使用深度可分离卷积(Xception[28]变体结构).MobileNet V1有95%的计算量和74.59%的参数集中在1× 1的卷积层上, 另外的参数也几乎在全连接层上.
在1.1节的基础上, 本文提出基于深度强化学习的遥感图像可解释目标检测方法(IFDRL-Fr), 将VGG16网络替换为MobileNet V1进行遥感图像的训练和测试, 在保持准确率基本不变的基础上, 调节轻量级卷积神经网络的参数, 减少训练时间和参数数量, 获得性能更高的训练模型.
具体地, 以计算主干网络VGG16最后一层conv3-512的可解释性为例, 若输入图像为 XX, 前向传播后获取conv3-512的特征图为f(X), f(X)对应512个卷积核的特征图, 保留512个卷积核输出的语义信息.对于 fi(X)fi(X)(i为卷积核索引), 利用预定义的分割阈值t过滤较小的语义信息, 保留该卷积核输出的强语义特征. 由于均值更能体现特征输出的普遍性, 本文改进网络解剖中利用概率分布计算阈值的方法, 使用均值作为阈值进行过滤, 计算方法如下:
其中, C表示不同的语义, lc(X)lc(X)表示语义标注掩膜, 得到的IoU值就是量化的可解释性的评分.
通过上述方法可获取卷积核的可解释性语义评分.为了进一步获取卷积层的可解释性语义, 统计该层所有卷积核的可解释性评分, 利用均值作为阈值, 统计高级语义概念与低级语义概念的卷积核个数, 通过对比大小获取该卷积层最终的语义概念.