Motivation:
对于FCOS:
HxWx256的特征图,去预测每个点(所在的anchor)的分类、回归信息,略显单薄,要是能在这个点加上更多的目标边框的特征的信息就好了
作者把这种加信息的方法分了几种,
上图中黑色的框是一阶段预测出的框
a. 就是FCOS的做法,用这一点的feature去分类和回归
b. 就是二阶段的做法,把预测出的anchor框全部拿去第二阶段预测
c. 取预测框的边界上的feature拿去做二阶段预测
d. 取预测框的四个中点
e. 本文的方法,取每条框上的极值点
对于b的二阶段方法,作者认为使用了太多的冗余特征,因为预测框中有很多背景信息。
而由于是要进行物体的边界框预测,所以使用物体的边界框特征最好(存疑)
上述实验:
第一行:原版FCOS
第二行:原版FCOS再加一个检测头,进行refine
第三行:原版FCOS再加一个检测头,但是用roi align提取一阶段的roi feature
第四行:原版FCOS再加一个检测头,仅提取border fearture+single point feature进行二阶段的预测
第五行:原版FCOS再加一个检测头,仅提取middle border point feature + single point feature进行二阶段的预测
至于border feature如何进行预测,暂时还不清楚,问了作者不知道啥时候会回我
实验说明:
1、加入region feature可以提高精度
2、第三行和第四行相差得不多,说明region feature中border feature起主要作用
3、第五行比第四行多说明middle border再border中起主要作用,且由于少了很多bg的无效feature,精度更高,是因为边框上大部分都是bg吗?
4、因此,如何使得border上的4个点也尽量都在object上
具体方法:
直接看Border Alignment Module,
先用1个1x1卷积降维到5C,认为此时每个C主要包含不同边框的feature,比如0~C包含目标的left border feature,C-2C包含top。
对于HxWx5C的特征图,根据一阶段的框的预测,根据C的不同,对每条框上所在的feature取极值,并加入到single point所在的位置(i,j),channel不变,于是就有了将每条框的极值feature转移到single point 位置后的feature,此为Border Align。也就是说,BorderAlign操作的结果,就是把本物体各个边界上的极值feature拿来跟single point放在同一位置
然后下面再用1x1卷积融合,使得原本的single point feature强化了边框信息
具体操作原理看下面的公式就能理解了:
消融实验
问题:
1、是否仅使用边界框的极值点+anchor point的特征就足够。据我推测对于预测边界框或许足够,预测类别是否应该再加一些信息?
或者说,本来那single point feature其实感受野挺大的,应该已经融合了整个物体的信息,只是用边界信息再强化一下?
2、标注box大于gt如何解决?