searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

RSDet:用于旋转目标检测的损失函数

2023-05-12 02:56:14
134
0

本文介绍了旋转目标检测的作用。重点介绍了旋转目标检测的损失函数设计问题。损失函数包含基于八点法和基于五点法的两种。

一、旋转目标检测

常见的目标检测输出输出的是水平的矩形框,对于一般自然场景的图像是适用的。但在一些特定场景,如文本、遥感图像的检测中,需要更精确的定位,因此需要有带旋转的目标检测。

二、相关技术

特征提取网络与一般的目标检测方法相似,常用retinanet、FCOS、Faster rcnn作为基网络。不同点在于回归的目标。常用的方法有五参数法和八参数法。

五参数法:五参数为,定义与OpenCV中的保持一致:

①沿水平方向定义参考线,该垂直线位于具有最小垂直坐标的顶点处。

②旋转参考线逆时针方向,与参考线接触的第一个矩形边的宽度被定义为宽w, 而与另一边为高h。

③中心点坐标为( x , y ),旋转角度为θ。

八参数法:旋转边界框的四个顺时针顶点( a , b , c , d )用于描述其位置。八参数回归方法具有参数一致性,这种方法可以描述任意四边形,可以在更复杂的应用场景中使用。

三、存在问题

  1. 角度参数引起损失不连续性

举个例子,某次运行的情况如下表。预选框是一步网络中预先生成的anchors,或者是二步网络生成的proposal。网络预测的偏移量为[ 0 , 0 , 0 , 0 , 1 ° ] ,将预选框转为预测框。网络训练的目标是[ 0 , 0 , 50 , − 50 , 89 ° ] ,目标与网络预测的偏移量很多,所以损失会很大,但是网络输出的结果与真实结果是差不多的(只差2°)。这就是角度的周期性导致的损失不连续。

X_center

Y_center

w

h

θ

预选框/蓝色

0

0

50

100

-90°

真实框/红色

0

0

100

50

-1°

预测框/绿色

0

0

50

100

-89°

  1. 参数单位不同影响网络性能

在五参数系统中,角度,宽度,高度和中心点坐标具有不同的测量单位,并且它们与IoU显示出相当不同的关系,如下图所示。简单地将它们加起来会导致不一致的回归性能。八参数可以使用相同单位的角点坐标来缓解此问题。

四、损失函数设计

损耗不连续仅在边界情况下发生,如下图a所示。

在本文中,作者设计了以下边界约束损失,以旋转损失表示:

是中心点损失。的第一项是L1损失,第二项是通过消除角度周期性以及高度和宽度的交换性校正损失使其连续。当其未达到角度参数的范围边界时,该校正项大于L1损失。当L1损失突然发生不连续时,这种校正变得正常。换句话说,这种校正可以看作是对突变位置的L1-损失进行对称。最后,损失为最小的L1-损失和校正损失。曲线是连续的,如上图b所示。

为了避免固有的回归不一致,八参数表示法比较流行。基于八参数回归的检测直接使对象的四个点回归,因此预测是四边形的。四边形回归的关键步骤是预先对四个角点进行排序。对于顶点顺序,作者采用基于叉乘的算法来获得四个顶点的序列。该算法仅适用于凸四边形,此处使用顺时针顺序进行输出。

如下图所示,从蓝色预选框到实际位置的回归过程。绿色真实框为{(a→a),(b→b),(c→c),(d→d)},但显然理想的回归过程应为{(a→b),(b→c),(c→d),(d→a)}。这种情况也导致模型训练困难和回归不平滑。

作者设计了旋转损失的八参数版本,由三个部分组成:
①将预选框的四个顶点顺时针移动一个位置;
②保持预选框顶点的顺序不变;
③将预选框的四个顶点逆时针移动一个位置;

④在上述三种情况下取最小值。因此表示为

0条评论
0 / 1000
王****鹏
4文章数
0粉丝数
王****鹏
4 文章 | 0 粉丝
王****鹏
4文章数
0粉丝数
王****鹏
4 文章 | 0 粉丝
原创

RSDet:用于旋转目标检测的损失函数

2023-05-12 02:56:14
134
0

本文介绍了旋转目标检测的作用。重点介绍了旋转目标检测的损失函数设计问题。损失函数包含基于八点法和基于五点法的两种。

一、旋转目标检测

常见的目标检测输出输出的是水平的矩形框,对于一般自然场景的图像是适用的。但在一些特定场景,如文本、遥感图像的检测中,需要更精确的定位,因此需要有带旋转的目标检测。

二、相关技术

特征提取网络与一般的目标检测方法相似,常用retinanet、FCOS、Faster rcnn作为基网络。不同点在于回归的目标。常用的方法有五参数法和八参数法。

五参数法:五参数为,定义与OpenCV中的保持一致:

①沿水平方向定义参考线,该垂直线位于具有最小垂直坐标的顶点处。

②旋转参考线逆时针方向,与参考线接触的第一个矩形边的宽度被定义为宽w, 而与另一边为高h。

③中心点坐标为( x , y ),旋转角度为θ。

八参数法:旋转边界框的四个顺时针顶点( a , b , c , d )用于描述其位置。八参数回归方法具有参数一致性,这种方法可以描述任意四边形,可以在更复杂的应用场景中使用。

三、存在问题

  1. 角度参数引起损失不连续性

举个例子,某次运行的情况如下表。预选框是一步网络中预先生成的anchors,或者是二步网络生成的proposal。网络预测的偏移量为[ 0 , 0 , 0 , 0 , 1 ° ] ,将预选框转为预测框。网络训练的目标是[ 0 , 0 , 50 , − 50 , 89 ° ] ,目标与网络预测的偏移量很多,所以损失会很大,但是网络输出的结果与真实结果是差不多的(只差2°)。这就是角度的周期性导致的损失不连续。

X_center

Y_center

w

h

θ

预选框/蓝色

0

0

50

100

-90°

真实框/红色

0

0

100

50

-1°

预测框/绿色

0

0

50

100

-89°

  1. 参数单位不同影响网络性能

在五参数系统中,角度,宽度,高度和中心点坐标具有不同的测量单位,并且它们与IoU显示出相当不同的关系,如下图所示。简单地将它们加起来会导致不一致的回归性能。八参数可以使用相同单位的角点坐标来缓解此问题。

四、损失函数设计

损耗不连续仅在边界情况下发生,如下图a所示。

在本文中,作者设计了以下边界约束损失,以旋转损失表示:

是中心点损失。的第一项是L1损失,第二项是通过消除角度周期性以及高度和宽度的交换性校正损失使其连续。当其未达到角度参数的范围边界时,该校正项大于L1损失。当L1损失突然发生不连续时,这种校正变得正常。换句话说,这种校正可以看作是对突变位置的L1-损失进行对称。最后,损失为最小的L1-损失和校正损失。曲线是连续的,如上图b所示。

为了避免固有的回归不一致,八参数表示法比较流行。基于八参数回归的检测直接使对象的四个点回归,因此预测是四边形的。四边形回归的关键步骤是预先对四个角点进行排序。对于顶点顺序,作者采用基于叉乘的算法来获得四个顶点的序列。该算法仅适用于凸四边形,此处使用顺时针顺序进行输出。

如下图所示,从蓝色预选框到实际位置的回归过程。绿色真实框为{(a→a),(b→b),(c→c),(d→d)},但显然理想的回归过程应为{(a→b),(b→c),(c→d),(d→a)}。这种情况也导致模型训练困难和回归不平滑。

作者设计了旋转损失的八参数版本,由三个部分组成:
①将预选框的四个顶点顺时针移动一个位置;
②保持预选框顶点的顺序不变;
③将预选框的四个顶点逆时针移动一个位置;

④在上述三种情况下取最小值。因此表示为

文章来自个人专栏
技术论文分享
3 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0