摘要
使用定向包围框(oriented bounding box)进行目标检测可以通过减少与背景区域的重叠来更好地定位有旋转倾斜的目标。现有的OBB方法大多是在水平包围框检测器(horizontal bounding box)上通过引入额外的角度尺度(通过距离损失进行优化)构建的。 但是,由于距离损失只将OBB的角度误差优化至最小,而且与IoU的相关性较松散,因此它对具有高长宽比的目标不敏感。 因此,本文提出了一种新的损失,即Pixels-IoU(PIoU)损失,以利用角度和IoU实现更精确的OBB回归。 PIoU损失是从IoU指标以像素的形式导出的,形式简单但适用于水平和定向包围框。为了证明其有效性,本文评估了ancho-based和anchor-free框架下使用PIoU损失的效果。实验结果表明,PIoU损失可以显著提高OBB检测器的性能,特别是在具有高长宽比和复杂背景的目标检测上。此外,现有的评估数据集不含有大量高长宽比目标,因此引入了新的数据集Retail50K,以鼓励大家应用OBB检测器来处理更加复杂的环境。
Abstract. Object detection using an oriented bounding box (OBB) can better target rotated objects by reducing the overlap with background areas. Existing OBB approaches are mostly built on horizontal bounding box detectors by introducing an additional angle dimension optimized by a distance loss. However, as the distance loss only minimizes the angle error of the OBB and that it loosely correlates to the IoU, it is insensitive to objects with high aspect ratios. Therefore, a novel loss, Pixels-IoU (PIoU) Loss, is formulated to exploit both the angle and IoU for accurate OBB regression. The PIoU loss is derived from IoU metric with a pixel-wise form, which is simple and suitable for both horizontal and oriented bounding box. To demonstrate its effectiveness, we evaluate the PIoU loss on both anchor-based and anchor-free frameworks. The experimental results show that PIoU loss can dramatically improve the performance of OBB detectors, particularly on objects with high aspect ratios and complex backgrounds. Besides, previous evaluation datasets did not include scenarios where the objects have high aspect ratios, hence a new dataset, Retail50K, is introduced to encourage the community to adapt OBB detectors for more complex environments.
OBB:oriented bounding box,定向目标框,指不限制倾斜角的目标框
HBB:Horizontal bounding box,水平目标框,默认倾斜角度是0
PIOU:Pixels-IoU loss:用像素累加的方法(而不是坐标)近似计算两box的交并集面积
解决的问题:非水平状态的box识别(对比普通的水平目标框),具有很大的长宽比的目标(对比下图和Retail50k数据集的例图),复杂背景下的OBB识别(对比下图中空旷简单的背景)
提出了一个数据集:Retail50K(超市零售货架数据集),兼具复杂背景(各色饮料瓶等)和HBB目标(非水平box,具备很大的长宽比)
Related work
- 基于SSD训练一个具有旋转不变性的检测器
- 基于Faster RCNN训练一个旋转检测器
- 设计RoI 变换器以学习从BB到OBB的旋转不变特征
- 利用生成式模型抽取OBB候选框,依靠局部最大似然确定选值
存在的问题:针对遥感航空图像,背景简单,且物体不是具有大长宽比的目标。
Pixels-IOU Loss:
和传统的loss相比,OBB(非水平box)多了一个倾斜角的维度,所以无法直接用常见的Loss计算。
从IoU出发,我们在计算IoU时,需要计算两个box的交集和并集,既然一张图像是由若干像素点构成的,那交并集的区域是不是也可以用其内部的像素点数量近似代替?
如上图,p(i,j)绿点是图像上的一个像素点,c是OBB框的中心点,t(i,j)是p到box中心线的垂线的交点,p到t的距离记为dh(i,j),c到t的距离记为dw(i,j)。
作者提出用一个二元约束关系来判断像素点p是否在OBB框中:
deltaleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right)=left{begin{array}{ll} 1, & d_{i, j}^{w} leq frac{w}{2}, d_{i, j}^{h} leq frac{h}{2} \ 0, & text { otherwise } end{array}right.
用距离dh和dw来判定p是否在box中
begin{aligned} d_{i j} &=d(i, j)=sqrt{left(c_{x}-iright)^{2} left(c_{y}-jright)^{2}} \ d_{i j}^{w} &=left|d_{i j} cos betaright| \ d_{i j}^{h} &=left|d_{i j} sin betaright| \ beta &=left{begin{array}{ll} theta arccos frac{c_{x}-i}{d_{i j}}, & c_{y}-j geq 0 \ theta-arccos frac{c_{x}-i}{d_{i j}}, & c_{y}-j<0 end{array}right. end{aligned}
其中θ代表box的倾斜角,计算关系可见下图:
用累加像素点的方法计算两框的交集和并集:
begin{array}{c} S_{boldsymbol{b} cap boldsymbol{b}^{prime}}=sum_{boldsymbol{p}_{i, j} in B_{boldsymbol{b}, boldsymbol{b}^{prime}}} deltaleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right) deltaleft(boldsymbol{p}_{i, j} mid boldsymbol{b}^{prime}right) \ S_{boldsymbol{b} cup boldsymbol{b}^{prime}}=sum_{boldsymbol{p}_{i, j} in B_{boldsymbol{b}, boldsymbol{b}^{prime}}} deltaleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right) deltaleft(boldsymbol{p}_{i, j} mid boldsymbol{b}^{prime}right)-deltaleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right) deltaleft(boldsymbol{p}_{i, j} mid boldsymbol{b}^{prime}right) end{array}
由于前述的二元约束关系是不连续不可导的,作者将其转换为两个核的乘积(核方法):
Fleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right)=Kleft(d_{i, j}^{w}, wright) Kleft(d_{i, j}^{h}, hright)
K(d, s)=1-frac{1}{1 e^{-k(d-s)}}
k是一个可调系数,控制对目标像素p的灵敏度
此时,上述的F函数是连续,可导的,同时也保持了正确的取值趋势。
如上所示,核函数在像素点p接近box中心c的时候趋向于1,在远离时趋向于0,基本近似反映了像素点相对box内部的概率分布。
此时,求两box的交并集的方法更新为:
begin{array}{c} S_{boldsymbol{b} cap boldsymbol{b}^{prime}} approx sum_{boldsymbol{p}_{i, j} in B_{boldsymbol{b}, boldsymbol{b}^{prime}}} Fleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right) Fleft(boldsymbol{p}_{i, j} mid boldsymbol{b}^{prime}right) \ S_{boldsymbol{b} cup boldsymbol{b}^{prime}} approx sum_{boldsymbol{p}_{i, j} in B_{boldsymbol{b}, boldsymbol{b}^{prime}}} Fleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right) Fleft(boldsymbol{p}_{i, j} mid boldsymbol{b}^{prime}right)-Fleft(boldsymbol{p}_{i, j} mid boldsymbol{b}right) Fleft(boldsymbol{p}_{i, j} mid boldsymbol{b}^{prime}right) end{array}
为了减少计算量,可以用框的w,h关系简化上述计算:
S_{boldsymbol{b} cup boldsymbol{b}^{prime}}=w times h w^{prime} times h^{prime}-S_{boldsymbol{b} cap boldsymbol{b}^{prime}}
最后,我们得到PIoU的计算形式:
operatorname{PIoU}left(boldsymbol{b}, boldsymbol{b}^{prime}right)=frac{S_{boldsymbol{b} cap boldsymbol{b}^{prime}}}{S_{boldsymbol{b} downarrow boldsymbol{b}^{prime}}}
记(b,b')为一对正结果,b为基于一个正anchor(当一个anchor以0.5 的IoU匹配到一个GTbox时,记为正)的预测框,b‘为匹配到的ground-truth框。M代表所有正样本对的数量。
则PIoU的Loss可以表示为:
L_{text {piou }}=frac{-sum_{left(boldsymbol{b}, boldsymbol{b}^{prime}right) in M} ln operatorname{PIoU}left(boldsymbol{b}, boldsymbol{b}^{prime}right)}{|M|}
数据集Retial50K
基于来自不同国家和地区的志愿拍摄的超市图像,唯一标注类型为货架层。
例图:
具备如下特点:
- 复杂的背景:货架层可能被价签或者促销条等遮挡。同时周围混杂了各色饮料、零食等。
- 极大的长宽比:货架层大部分都长度很长,宽度很小。
- 有实用价值:可用于货架零售标签检测,自动货架分层,货架层和图像偏角估计等等。
上图说明了数据集中,长宽比、倾斜角、实例数量的分布情况。
实验结果
对核函数中可调参数k的实验:
对DOTA数据集,对比PIoU Loss的效果实验:
(DOTA数据集是航拍的遥感数据集,地面物体,但有倾角)
其中HPIoU是使用w,h计算并集以简化计算的版本,精度略微下降,但节约了时间
PASCAL数据集上的测试结果:
PIoU在Retail50K数据集上的测试如下:
PIoU和SmoothL1损失的对比实验结果,下图红色框为PIoU,明显效果更好。