[论文地址]
遥感图像是计算机视觉的重要数据之一,对与分析地球信息具有很大的作用。相对与自然图像目标检测任务,例如COCO、VOC数据集,其中的目标几乎都是因为重力的原因具有比较统一的方向。但是在遥感图像目标检测中,目标是以任意方向出现,并完成精确的目标检测,例如车辆、飞机、舰船等。
①目标比例差异 相对于自然图像以及自然图像目标检测任务,遥感图像目标的比例变化很大。这不仅是由传感器的空间分辨率导致,还在于同一对象类别内的尺寸变化。
②样本不平衡 如图1所示,许多小目标密集分布在遥感图像中,例如港口中的舰船和停车场的车辆,遥感图像中样本不平衡,例如小尺寸的遥感图像上可能有更多的目标,而大尺寸的遥感图像上有很少的目标。
③目标方向、比率差异 航空影像中的目标通常以任意方向出现。也有一些宽高比率极端的目标,例如桥梁、港口。
作者提出了一个新的遥感图像目标检测数据集DOTA数据集。
数据集 | 图片数 | 图片尺寸 | 类别数 | 标签数 | 标注格式 |
---|---|---|---|---|---|
DOTA | 2806 | 4000×4000 | 15 | 188282 | oriented BB/定向框 |
下表展示了当时的公开遥感目标检测的数据集,以及自然图像目标检测数据集。
此外,DOTA相比于上述大型自然图像目标检测基准中的独特之处在于,DOTA中的对象都标注有定向的边界框(简称OBB)。OBB可以更好地包闭目标并彼此区分拥挤的对象。下表是DOTA数据集的类别信息,顺序随机。
类别标号 | 类别名称 |
---|---|
1 | plane/飞机 |
2 | ship/轮船 |
3 | storage tank/储罐 |
4 | baseball diamond/棒球场 |
5 | tennis court/网球场 |
6 | basketball court/篮球场 |
7 | ground track field/地面跑道 |
8 | harbor/港口 |
9 | bridge/桥梁 |
10 | large vehicle/大型车辆 |
11 | smallvehicle/小型车 |
12 | helicopter/直升机 |
13 | roundabout/环形交叉路口 |
14 | soccer ball field/足球场 |
15 | swimming-pool/游泳池 |
16 | container-crane/集装箱起重机 |
作者考虑了不同的注释方式。在计算机视觉中,许多视觉概念都用边界框标注。边界框的常见描述是 ( x c , y c , w , h ) (x_c,y_c,w,h) (xc,yc,w,h),其中 ( x c , y c ) (x_c,y_c) (xc,yc)是中心位置, ( w , h ) (w,h) (w,h)分别是边界框的宽度和高度。没有方向区分的对象可以使用此方法进行适当注释。但是,以这种方式标记的边界框无法准确或紧凑地勾勒出定向目标,例如遥感图像中的文本和目标。如下图(c)和(d)所示的极端但实际上很常见的条件下,两个边界框之间的重叠是如此之大,以致于最新的目标检测方法无法区分它们。为了解决这个问题,我们需要找到一种适合定向目标的注释方法。
另外 ( x c , y c , w , h , θ ) (x_c,y_c,w,h,θ) (xc,yc,w,h,θ)标注也是一种选择,其中 θ θ θ表示与标准边界框水平方向的夹角。该方法的缺点是不能紧密地封闭在不同部分之间变形较大的定向物体。考虑到遥感图像中物体的复杂场景和不同方位。另一种选择是任意四边形边界框,可以将其表示为 { ( x i , y i ) , i = 1 , 2 , 3 , 4 } \{(x_i,y_i),i= 1,2,3,4\} {(xi,yi),i=1,2,3,4},其中 ( x i , y i ) (x_i,y_i) (xi,yi)表示图像中定向边界框顶点的位置,顶点按顺时针顺序排列。针对4个点的第一个点,第一个点选择飞机、轮船等”头“的位置,其他目标第一点选择左上角位置。
为了确保训练数据和测试数据分布大致匹配,作者随机选择原始图像的一半作为训练集,选择1/6作为验证集,并选择1/3作为测试集。
作者将标记框的高度作为目标大小的度量。根据水平边界框的高度将数据集中的所有目标分为三个部分:小目标为10-50,中目标为50-300,大目标为300以上。如下表所示出了不同数据集中的三种目标的百分比。显然,PASCAL VOC数据集,NWPU VHR-10数据集和DLR 3K Munich Vehicle数据集分别由中目标,中目标和小目标主导。但是,DOTA在小目标和中目标之间实现了良好的平衡,这与现实世界场景更加相似,因此有助于在实际应用中更好地捕获不同大小的对象。
宽高比是基于anchors的模型(例如Faster RCNN和YOLO)的重要因素。作者对数据集中所有目标的宽高比进行计数,以为更好的模型设计提供参考:
①最小外接水平矩形边框的长宽比;
②原始四边形边框的长宽比。
下图说明了DOTA数据集中目标的宽高比分布类型。可以看到目标的宽高比变化很大,此外,数据集中有大量的目标具有高宽高比。
遥感图像通常包含数千个目标,这与自然图像不同。例如,ImageNet中的图像平均包含2个类别和2个目标,而MSCOCO分别包含3.5个类别和7.7个目标。DOTA数据集每个图像的目标更丰富,最多可达2000个。上图展示了DOTA数据集中的目标数。
作者评估了DOTA上最先进的目标检测方法。对于水平框目标检测,作者选择Faster R-CNN,R-FCN2,YOLO和SSD作为基准测试算法,以实现精确的目标检测。对于定向目标检测,作者修改了原始的Faster R-CNN算法,使其可以预测表示为 { ( x i , y i ) , i = 1 , 2 , 3 , 4 } \{(x_i,y_i),i= 1,2,3,4\} {(xi,yi),i=1,2,3,4}的定向边界框。
Backbone分别是用于R-FCN和Faster R-CNN的ResNet-101,用于SSD的InceptionV2和用于YOLOv2的定制GoogLeNet。
DOTA中的图像太大,无法直接输入到CNN的目标检测模型。因此,从原始图像中裁剪出一系列1024×1024的patch,并将步长设置为512。在裁剪过程中,某些完整的对象可能被切成两部分。为了方便起见,作者将原始对象的面积表示为 A o A_o Ao,将分割部分 P i , ( i = 1 , 2 ) P_i,(i = 1,2) Pi,(i=1,2)的面积表示为 a i , ( i = 1 , 2 ) a_i,(i = 1,2) ai,(i=1,2)。然后计算裁剪的部分目标区域与原始目标区域的占比: U i = a i A o U_i=\frac{a_i}{A_o} Ui=Aoai 最后,作者将 P i P_i Pi的 U i < 0.7 U_i <0.7 Ui<0.7目标标记为困难,而将另一个标记为与原始注释相同。
在测试阶段,首先输入裁剪后的图像patch以获得暂时结果,然后将结果组合在一起以恢复原始图像上的检测结果。最后,基于预测的分类对这些结果进行非最大抑制。对于水平检测(简称HBB),将NMS的阈值保持为0.3;对于定向检测,将其阈值保持为0.1。这样,就可以在DOTA上间接训练和测试基于CNN的模型。对于评估指标,采用与PASCAL VOC相同的mAP计算。
表格中显示了HBB预测的实验结果。
OBB的预测是困难的,因为现有技术的检测方法并未针对定向对象设计。因此,作者选择Faster R-CNN作为其准确性和效率的基础框架,然后对其进行修改以预测定向边界框。
RPN(区域提案网络)生成的RoIs(兴趣区域)是矩形,可以写成 R = ( x m i n , y m i n , x m a x , y m a x ) R =(xmin,ymin,xmax,ymax) R=(xmin,ymin,xmax,ymax),以得到更详细的解释 R = { ( x i , y i ) } , i = 1 , 2 , 3 , 4 R=\{(x_i,y_i)\},i=1,2,3,4 R={(xi,yi)},i=1,2,3,4,其中 x 1 = x 4 = x m i n x 2 = x 3 = x m a x y 1 = y 2 = y m i n y 3 = y 4 = y m a x x_1 = x_4 = x_{min}\\x_2 = x_3 = x_{max}\\y_1 = y_2 = y_{min}\\y_3 = y_4 = y_{max} x1=x4=xminx2=x3=xmaxy1=y2=yminy3=y4=ymax 在R-CNN程序中,每个RoI的真值为 G = { ( g x i , g y i ) , i = 1 , 2 , 3 , 4 } G = \{(g_{xi},g_{yi}),i = 1,2,3,4\} G={(gxi,gyi),i=1,2,3,4}。然后R-CNN的输出目标 T = { ( t x i , t y i ) , i = 1 , 2 , 3 , 4 } T = \{(t_{xi},t_{yi}),i = 1,2,3,4\} T={(txi,tyi),i=1,2,3,4}通过以下等式计算: t x i = ( g x i − x i ) / w t y i = ( g y i − y i ) / h t_{x i}=\left(g_{x i}-x_{i}\right) / w\\t_{y i}=\left(g_{y i}-y_{i}\right) / h txi=(gxi−xi)/wtyi=(gyi−yi)/h其中 i = 1 , 2 , 3 , 4 i=1,2,3,4 i=1,2,3,4, w = x m a x − x m i n w=x_{max}-x_{min} w=xmax−xmin, h = y m a x − y m i n h=y_{max}-y_{min} h=ymax−ymin。检测结果见上表。