2022-09-06-组会
2022-09-06-组会
ATSS与Oriented R-CNN
区别
ATSS原论文是将ATSS这种动态划分正负样本策略应用在one-stage的RetinaNet(anchor-based)t和one-stage的FCOS(anchor-free)
one-stage中能够匹配到目标的候选框(正样本)个数一般只用十几个或几十个,而没匹配到的候选框(负样本)大概有 10^4 - 10^5 个。
选出来的proposal直接就相当于正样本了
容易出现正负样本不均衡,所以要平衡正负样本
anchor=>proposal(positive sample)
Oriented R-CNN(anchor-based)是two-stage的检测器,它把正负样本的划分了2个步骤,每个stage各一个步骤。
在第一阶段先选出一些候选框proposal(如Faster R-CNN 的rpn),大概2000个左右;
在第二阶段再从proposal中筛选出正负样本,虽然这时正负样本也是存在不均衡的,但是(10 :2000) 相对(10 : 10^4 - 10^5 )好了很多。
这也是为什么普遍two-stage的检测器比one-stage的检测器的精度要高一些的原因之一。
anchor=>proposal=>positive sample
应用
如果我要将ATSS应用在Oriented R-CNN中,我是应该要应用在第一阶段还是应用在第二阶段,还是都应用,这么做的提升效果?
如果我应用在第一阶段: anchor=>proposal, 相当于是提出了动态划分proposal策略(理论上来说可以应用)
而且Oriented R-CNN的在第一阶段的rpn-head中encoder-decoder就是采用的是6元组(midpointoffset)的表达形式。
一些假想:
第一阶段,动态划分proposal,假设是Fast R-CNN中的数据规模,划分出1000-5000个; 数据规模相比与2000来说变化不大,会有提升效果么?
如果不改变第二阶段,当我筛出10:5000, 和原本的10:2000来说是不是负优化了?
如果我应用在第二阶段: proposal=>positive sample
感觉上不能直接用ATSS,因为ATSS是从所有anchor中选中心点与GT最近的topK个anchor,我不清楚从proposal开始,是否也有足够数量的proposal支持我这么做
而且Oriented R-CNN的在第二阶段的rcnn-head中encoder-decoder已经回归到5元组(xywha)的表达形式了,也就不涉及表达转换。
所以将ATSS应用在two-stage检测器中真的有意义么,可能只有实验才能验证。
表达转换
我觉得直接使用Oriented R-CNN中的转换公式就行了
encoder:
decoder:
如果要设计公式,我觉得也是在loss部分
ATSS额外加入了 centerness 分支,这部分也要计算loss
本博客所有文章均采用 CC BY-NC-SA 4.0 协议 ,禁止商用,转载请注明出处!