什么是目标检测中的旋转敏感度错误?
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
文章导读
旋转框的目标检测任务通常出现在遥感数据,文本数据,以及点云鸟瞰图数据中。对旋转框的表达会采用中心点和长宽再加上旋转角,然后设计损失函数求学习误差。以下介绍一篇讲述旋转框回归引起的旋转敏感度误差以及如何解决该问题的文章RSDet。
前沿
核心思想
问题描述
解决方法
思考展望
目标检测任务根据方向,通常可分为水平框检测和旋转框检测。水平框检测通常适合于一般的自然场景图像。旋转框检测通常出现在场景文本、遥感地图、车牌检测、点云鸟瞰图中,通常需要更精确的定位,并需要有效的旋转检测器。
目标检测中如何表示一个旋转框?
通常对一个旋转框我们有两种表达形式:一种是基于五个参数,分别为中心点(x, y)、宽高(w, h)、旋转角度a,如下图所示:
另一种是基于八个参数,分别是旋转框的四个顶点(x1, y1),(x2, y2),(x3, y3),(x4, y4),如下图所示:
对于基于区域的旋转物体检测器,通常使用“l1-损失”作为损失函数。
本文认为由于角度固有的周期性以及相关的宽度和高度的突然变化导致的损失不连续性,上述积分会导致训练不稳定和性能退化。考虑到五个具有不同测量单位的参数之间不一致的回归性,这个问题更加突出。
针对上述问题,本文提出调制旋转损耗来消除损耗不连续性。新的损耗与八参数回归相结合,进一步解决了参数回归不一致的问题。
什么是旋转敏感度误差?
1. 角度损失不连续:当角度数值达到其范围边界时,角度损失就会出现跳变;
2. 回归参数的不统一:中心点坐标,宽高以及角度的单位不同,并且与IoU存在不同的关系;
以上两个问题会导致训练不稳定以及最终检测性能的下降。
如何解决上述两个问题?
针对损失函数中出现的不连续的问题,本文在原有的基础上增加校正损失,对突变位置的L1-损失进行对称。
针对回归参数不一致的问题,本文对五参数旋转框的表示修改为八参数旋转框表示法。基于八参数回归的检测直接对旋转框的四个点回归,因此预测是四边形的。
四边形回归的关键步骤是预先对四个角点进行排序,使姿态预测正确,也可以避免非常大的损失。对于顶点顺序,本文采用基于叉积的算法来获得四个顶点的序列。
什么是角度参数引起的损耗不连续?
当角度达到其范围边界时,损失值将会跳跃,如图,将水平矩形分别顺时针和逆时针旋转1度,得到地面真值框和检测框。参考矩形的位置只是略有变化,但它的角度变化很大,高度和宽度也发生了变化。
蓝色、红色和绿色的矩形分别代表参考框、真实框和预测框。上述三个框用五个参数来描述:参考框(0,0,10,25,-90°)、真实框(0,0,25,10,-1°)和预测框(0,0,10,25,-89°)。网络预测的偏移量为(0 , 0 , 0 , 0 , 1 ° ) ,将参考框转为预测框。网络训练的目标是(0 , 0 , 15 , − 15 , 89 ° ),目标与网络预测的偏移量很多,所以损失会很大。这就是角度的周期性导致的损失不连续。
参数单位的不同如何影响网络性能?
在五参数系统中,角度,宽度,高度和中心点坐标具有不同的测量单位,并且它们与IoU显示出相当不同的关系,如下图所示。简单地将它们加起来会导致不一致的回归性能。
为了解决上述两个问题,本文分别针对五参数和八参数设计了旋转损失。
1. 五参数旋转损失
由于l1损失函数在五参数情况下,在边界会出现损耗不连续的情况。本文设计了新的损失函数lmr :
lcp是中心点损失,lmr的第一项是L1损失。第二项是通过消除角度周期性以及高度和宽度的交换性校正损失使其连续。当其未达到角度参数的范围边界时,该校正项大于L1损失。当L1损失突然发生不连续时,这种校正变得正常。换句话说,这种校正可以看作是对突变位置的L1-损失进行对称。最后,损失为最小的L1-损失和校正损失。lmr曲线是连续的。
2. 八参数旋转损失
为了避免固有的回归不一致,本文针对八参数表示法中顶点的顺序问题做了设计。
主要步骤是先确定最左边的点(如果矩形是水平的则有两个最左面点,取上面的那个)。然后通过叉乘找到对角点,也就是第三个点。最后利用这两个点构成的向量以及叉乘方法,根据逆时针或者顺时针的顺序要求找点其他两个点。
但是,在八参数回归模型中仍然存在损失不连续性。
如下图所示,从蓝色预选框到实际位置的回归过程。绿色真实框为{(a→a),(b→b),(c→c),(d→d)},但显然理想的回归过程应为{(a→b),(b→c),(c→d),(d→a)}。这种情况也导致模型训练困难和回归不平滑。
因此,本文设计了八参数版本的旋转损失函数。分别将预选框的四个顶点顺时针移动一位,保持预选框顶点的顺序不变,将预选框的四个顶点逆时针移动一位。取三种情况下的最小值。
文章提到中心点,长宽和角度单位度量的不同会对训练的模型的结果产生影响。但是很多通用的目标检测网络中,回归损失函数的发展是经历了L-norm—>IoU—>GIoU—>DIoU—>CIoU—>EIoU的过程,正是因为使用L-norm作为回归损失无法兼顾边界框回归的三大几何因素:重叠面积、中心点距离、纵横比,才发展成了IoU系列。
为什么在旋转框的目标检测任务中仍在L-norm的回归上进行优化?是否可以在IoU系列上增加角度参数从而做到更好的位置回归?
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~