基于GA-RoI Transformer的遥感图像任意方向目标检测
2022-05-08陈少波雷泽人
陈少波,雷泽人
(中南民族大学 电子与信息工程学院,武汉 430074)
遥感图像中的目标检测旨在定位图像中的感兴趣物体并且识别它们的类别.随着遥感技术的不断进步,遥感图像的成像质量越来越高,依赖于遥感图像的应用越来越多;因此,遥感图像中的目标检测问题也成为了计算机视觉[1]中的一个热门研究方向.与传统的自然图像不同,遥感图像特殊的拍摄视角导致遥感图像中的目标始终是任意方向分布的;此外,目标尺度之间的大差异性,高度复杂的背景和目标的密集分布也进一步加大了遥感图像目标检测的难度.现有的许多通用的检测方法[2]都依赖于R-CNN框架[3],这些方法通常都使用水平的边界框作为感兴趣区域(RoI),然后通过基于区域的特征来识别目标的类别[1].遥感图像中的目标检测是一种定向且密集的目标检测任务[4].遥感图像中的目标尺度小,分布密集且大多都具备方向,水平方向上的检测框通常会使多个目标拥挤在同一个水平的感兴趣区域中,使得提取物体特征的检测器难以训练并且加大了识别物体精确位置的难度.
任意方向目标检测的最新进展主要是通过使用旋转边界框[5]或四边形[6]来表示任意方向目标信息,从而对经典目标检测方法改进来推动的.2018年由MA J等人提出的RRPN[7]就是通过直接生成具有不同尺度、长宽比和角度的锚框来得到有向边界框;然后调整角度信息进行边界框回归,得到带角度的候选区域;接着用RRoI Pooling产生长度固定的特征向量;最后用两层全连接层对候选区域进行类别校准.DING J等人提出的RoI Transformer[8],也是用旋转边界框来解决任意方向问题的两阶段检测器;该方法首先生成水平方向上的锚框,在得到水平感兴趣区域(HRoI)之后,通过有监督的旋转感兴趣区域(RRoI)学习和基于位置敏感对齐的特征提取来实现遥感图像有向目标的检测.HE W等人在Direct Regression方法[9]中首次提出直接回归的概念,不使用锚框作为桥梁,直接学习四个顶点相对于中心点的偏移量,得到用于表示任意方向目标的四边形从而实现有向目标的检测.ZHANG C等人提出的LOMO[10]算法由直接回归单元(DR)、迭代优化模块(IRM)和任意形状表达模块(SEM)三部分组成;DR生成文本区域的四边形检测框,IRM将四边形检测框提取的特征块进行迭代优化逐步感知整个长文本,最后通过SEM模块在文本区域的几何特征和IRM的基础上重建更加精确的多边形文本区域表示.
尽管上述方法在任意方向目标检测中取得了不错的效果,但它们仍然具有一些局限性.第一,对于使用旋转边界框进行检测,直接生成带有角度信息锚框的方法,通常会在分类和回归阶段遇到高计算复杂度的问题.第二,采用传统的锚框生成策略将一系列预定义好尺度和长宽比的锚框部署在特征图上,然而大多数的锚框都部署在了不太可能有目标的位置.第三,基于四边形回归的方法通常在定义Ground-Truth(GT)四个顶点顺序时含糊不清,从而对某些方向的目标产生意外的检测结果.针对上述问题,文中设计了一种基于GA-RoI Transformer的任意方向目标检测算法.该算法在第一阶段依然采用水平方向的锚框;不同之处在于,使用导向锚[11]的方法利用语义信息引导锚框的生成,它包含两个分支,一个用于定位中心点的位置,一个根据中心点的位置来预测物体的形状,它可以预测任意形状的目标;然后结合两个分支的输出结果来生成高质量锚框;进一步,还可以通过特征适配模块根据锚框的形状来增强特征.第二阶段采用RoI Transformer模块将得到的HRoI转换成RRoI,来解决任意方向的问题.最后,从得到的RRoI中提取旋转不变特征,有效的提高物体分类和边界框回归的性能.
1 GA-RoI Transformer网络架构
1.1 网络整体结构
基于GA-RoI Transformer的任意方向目标检测器的网络整体框架如图1所示.该框架主要由特征提取模块、锚框生成模块和旋转模块组成.特征提取模块通过特征金字塔使得到的特征图能够包含更多的特征信息.在锚框生成模块中,首先利用语义信息引导锚框的生成,预测出感兴趣物体的中心位置和不同位置的尺度、长宽比;并结合这些信息生成水平方向上的高质量锚框.其中,特征适配模块能够根据锚框的形状增强特征,解决锚框和特征的错位问题.其次,用高质量锚框作为候选框得到HRoI之后,通过旋转模块的RRoI学习器将HRoI转换成RRoI.这样可避免传统有向目标检测方法需要设计大量带角度信息锚框的问题.最后,将特征图和RRoI输入到RRoI warping中提取旋转不变特征,进行后续的分类和回归.其中,为了更好的避免错位问题,直接使用有向边界框之间的IoU作为匹配标准.下面详细介绍各组成模块.
图1 GA-RoI Transformer整体框架Fig.1 GA-RoI Transformer Overall Architecture
1.2 锚框生成模块
现有主流的框架都假定锚框均匀排列在图像中,一系列被定义好尺度和长宽比的锚框将会部署在W×H,步长为s的特征图上.这种方案效率很低,因为大多数的锚框都被放置在了不太可能存在感兴趣对象的区域中;而且,这种假定目标具有一系列固定的尺度和长宽比,不符合实际情形.为了得到更有效的锚框生成方案,考虑到对象位置和形状的不均匀分布,采用Guided Anchoring[11]的方法,其工作原理如图2.
图2 Guided anchoring工作原理Fig.2 The theory of Guided anchoring
给定图像I,首先得到特征图F;接着位置预测分支会产生一个概率图,该概率图估计出目标可能存在的位置,而形状预测分支则会预测与位置有关的形状;结合两个分支的输出,通过选择预测概率值高于某一个阈值和每个选择位置上最可能出现形状的位置来生成一组锚框.锚框的形状可能变化,因此不同位置上的锚框应该有不一样的感受野;基于此进一步引入了特征适配模块,该模块利用锚框的形状适配特征信息.
1.2.1 中心位置预测
如图2所示,锚框位置预测分支会产生一个与输入特征图F相同大小的概率图p(·|F),其中对于每个p(i,j|F)对应于I上坐标为((i+1/2)s,(j+1/2)s)的位置,s表示特征图的步长,即每个相邻锚框之间的距离.p(i,j|F)的值表示对象中心位于该位置的概率.
概率图p(i,j|F)是将一个1×1的卷积应用于特征图F上获得的目标得分图,然后通过逐元素相乘的Sigmoid函数将其转换为概率值.在卷积层之后再进行Sigmoid变换可以在准确率和效率之间取得良好的平衡.基于这个概率图,通过选择那些概率值高于预定阈值ϵL的位置,来确定可能存在目标的区域.
1.2.2 形状预测
在确定目标的可能存在位置之后,下一步就是确定每一个位置目标的形状,这一步由形状预测分支完成.这个分支与常规的边界框回归不同,因为它没有改变锚框的位置,所以不存在锚框和特征图不匹配的问题.具体而言,给定一个特征图F,该分支预测每一个位置的形状(w,h),预测出的形状可能与最近的GT边界框有较高的覆盖范围.
w和h这两个数字的范围较大,直接预测这两个数字并不方便,故采用如式(1)所示的预测方法,
形状预测分支将会输出dw和dh,然后将它们通过上式映射到(w,h),其中s是步长.这种非线性变换将输出空间从大约[0,1000]映射到[-1,1],得到一个更简单更稳定的学习目标.该分支包含一个进行形状预测的1×1的卷积层(该卷积层产生一个包含dw和dh值的两通道映射值)和一个逐元素相乘的变换层.
该方法和常规的锚框生成策略的不同之处在于:一个位置只生成一个高质量锚框,而不是一系列的锚框.由于位置和形状之间紧密的关系,该方法具有较高的召回率、且可以更好地捕捉到那些具有极端形状目标信息.
1.2.3 特征适配
在采用滑动窗口策略的常规RPN或单级检测器中,锚框在整个特征图上是均匀的,即它们在每一个位置共享相同的尺度和形状,所以特征图可以学到连续的表示.在理想情况下,较大的锚框应该对应较大的感受野,而较小的锚框对应较小的感受野;因此,按照以前的方法将全卷积分类器均匀的作用在特征图上并不一定是一个好的选择;所以就有了根据每个位置上锚框形状来调整特征形状的特征适配组件,
式(2)中fi是第i个位置的特征,(wi,hi)是相应锚框的特征.对于这种和位置无关的转换,N采用3×3的可变形卷积[12].如图2所示,首先从锚框形状预测分支得到偏移量,然后将带有偏移量的可变形卷积层应用在原始的特征图中以获得,之后在新得到的特征图上进行接下来的分类和回归操作.
1.3 旋转分支
旋转分支分成两部分,第一部分为RRoI学习器,第二部分为RRoI的旋转变形.RRoI学习器是一个PS RoI Align后面跟着一个5层的全连接层,它回归了旋转Ground Truths(RGTs)相对于水平RoI的偏移量;RRoI的旋转变形是为了让旋转区域特征变形以保持旋转不变特性.
1.3.1 RRoI学习器
RRoI主要负责从水平的RoI特征图中学习RRoIs.假如已经得到了n个水平RoI,用{Hi}表示;其中,利用(x,y,w,h)用来表示水平RoI的2D位置、宽度和高度等相关信息;相应的特征图表示为{Fi}.在理想情况下,每一个水平的RoI都是旋转RoI的外部矩形;故可尝试用全连接层从每个特征图Fi中推断出RRoI的几何形状.
式(3)中(xr,yr,wr,hr,θr)分别表示旋转RoI的位置,宽度,高度和方向.(x*,y*,w*,h*,θ*)是定向边界框(OBB)的Ground Truth的相关信息参数.mod操作用于调整[0,2π)中的角度偏移目标如式(4)所示,全连接层为每一个特征图Fi输出一个向量(tx,ty,tw,th,tθ).
上式中G代表全连接层,Θ是G的权重参数,F是每个水平RoI的特征图.
在训练期间,需要将输入的水平RoI和定向边界框(OBB)的Ground Truth(GT)进行匹配.为了提高效率,匹配过程是在水平RoI和与坐标轴对齐的边界框(水平边界框,而不是原始的GT)之间进行;水平RoI和OBB的GT匹配成功后,可以根据公式(4)中计算出t*.对于每一个向前传递中的预测t,都通过偏移量解码为RRoI的参数,也就是说RRoI的参数都是从水平的RoI特征图F中学习来的.回归的损失函数使用Smooth L1损失函数.
1.3.2 旋转不变特征的提取
得到RRoI的参数后,可通过RRoI旋转变形模块为定向目标提取旋转不变特征.给定形状为(H,W,K×K×C)的特征图D和RRoI(xr,yr,wr,hr,θr),其中(xr,yr)表示RRoI的中心,(wr,hr)表示RRoI的宽度和高度,θr则给出了RRoI的方向.利用RPS RoI Align方法将RRoI分成K×K块,并且输出大小为(K×K×C)的特征图Y.对于输出通道c(0≤c<C),且索引为(i,j)(0≤i,j<K)的块,其特征图可表示如下,
公式(6)通过双线性插值来实现.
2 实验及结果分析
2.1 数据集介绍
仿真实验数据集采用DOTA[13]数据集.DOTA数据集包含2806张航拍图像(图片的大小从800×800~4000×4000不等),且数据集中包含不同方向和形状的目标信息;数据集中有15个不同种类的目标信息;DOTA数据集对188282个目标实例信息进行了标注;DOTA数据集中有1411张训练集图片、458张验证图片和937张测试图片.同时,DOTA数据集的官方主页为研究者们开放了算法评估功能.
2.2 数据处理
仿真实验中将训练集和验证集都用于训练,测试集用于测试.实验采用多尺度训练,测试时则采用单尺度和多尺度进行对比实验.为了扩充有限的数据,用0.5、1.0和1.5三个尺度对训练集和验证集的图像进行缩放,之后将图像裁剪为一系列1024×1024的图像块.
2.3 实验结果分析
骨架网络采用Resnet101,训练12个epochs,总共进行214200次迭代训练;学习率在前500次线性增长到0.005,在第8和11个epoch时衰减为前一阶段的1/10.当IoU>0.7时将锚框设置为正样本,当IoU<0.3时将锚框设置为负样本.采用mAP作为检测性能的评价指标,文中报告的mAP结果都是通过将预测信息提交给DOTA官方的评估服务器以后获得的.实验的可视化结果如图3所示.表1给出了在DOTA数据集上评估定向边界框(OBB)任务的性能结果.
图3 实验结果可视化Fig.3 Visualization of results
文中除了与官方提供的Baseline进行比较之外,还将所提出的方法与现有针对任意方向目标的检测方法[15]进行了比较.表1给出了各种方法的量化评估数据.从表1中可以看出,由于RoITransformer[8]、SCRDet[14]等方法采用了特征融合的思想,所以在密集小目标检测方面表现出较好的性能.从表1中可以看出所提出的方法的检测精度达到了78.17%,优于基线5.1%;特别在在桥、港口的检测性能上都优于其它方法.这是由于文中所提出的方法采用了基于语义信息引导的锚框生成子网,能够在不同尺度的特征图上生成高质量的锚框作为候选框;对于桥和港口等极端形状目标信息,通过形状预测模块预先获取它们的长宽比信息,从而有助于生成高质量的锚框.对一张包含许多密集排列目标信息和极端形状目标信息的图片利用所提出的方法和Baseline的方法进行目标检测,检测结果如图4所示.图4中左边是所提出方法的检测结果,图4右边是Baseline方法的检测结果.
图4 可视化结果对比图Fig.4 Comparisons with detection results
表1 在DOTA上和最新方法的对比 %Tab.1 Comparisons with state-of-the-art detectors on DOTA %
为了进一步剖析所提出方法,在DOTA数据集上进行了消融实验.消融实验中使用Faster R-CNN结合RoITransformer[8]作为基准,然后逐渐的更改其中的设置;根据不同设置所得到的结果如表2所示.
如表2的第二和第四列所示,在加入GuidedAnchoring模块后mAP有4.41%的提升;因为导向锚模块在锚框生成过程中考虑了目标中心的位置、长宽比等,能够生成更多高质量的锚框.从表2的前两列和最后两列可发现,在实验设置中不使用NMS操作,而其mAP更高;这是合理的,因为在没有添加NMS的情况下可以得到更多的感兴趣区域,致使召回率提高导致的.
表2 消融实验Tab.2 Ablation study
3 结语
为了解决遥感图像中任意方向的目标检测问题,文中构建了一种新的针对多类别、多方向目标的检测算法.考虑到传统锚框生成网络网络只能生成水平方向的锚框等问题,设计了一个新的导向锚网络模块来生成锚框:该模块首先通过预测的目标中心位置和长宽比等信息来生成任意形状的非均匀分布的高质量锚框;其次通过特征适配子模块将锚框的信息融入到特征图中,解决锚框与特征的错位;最后,在用高质量的候选框得到HRoI之后,RRoI学习器可以将HRoI转换成RRoI,避免了需要设计大量旋转锚框的问题.在DOTA数据集进行仿真,所提出的方法取得了78.17%的检测精度,高于基准5.1%;此外通过仿真发现新方法对极端形状目标的检测效果尤其突出.