Gliding Vertex解读

Gliding vertex on the horizontal bounding box for multi-oriented object detection,ECCV,2020

        论文提出:五参数回归法对角度很敏感,很容易误检,而八参数回归法可以避免角度这个问题,但在八参数法四边形定义四个角的顺序时很麻烦(可以看下面的REDet中的解释)。为了避免这个问题,作者提出了一种巧妙的方法。

        没有pytorch源码,个人感觉他是先用dota数据集里的8参数定义倾斜框法的那四个顶点坐标去获得外接水平框的坐标,计算真实的倾斜框顶点的offest和倾斜因子;然后再rpn预测得到水平框,fast-rcnn部分再去预测得到offest和倾斜因子(但我感觉很奇怪,定好loss后想预测什么就预测什么,让神经网络硬学,真的有理论依据吗?)。最后根据倾斜因子去输出水平框或者是倾斜框,倾斜框的后处理用的是倾斜nms。论文主要部分如下:

        作者提出用一个水平框将倾斜的目标框住,然后水平框的四个顶点在水平框的四条边上滑动,计算倾斜框的4个顶点的length ratios(顺时针),即计算四个顶点沿着水平框相对于水平框的顶点的偏移量,来解决四个角顺序不定的问题,如下图: 

如果alpha=1,则目标框是水平的

        其实这种方法也存在边界问题:就是比如说gtbox是基于水平方向时略微顺时针转了一点,proposals时基于水平方向时略微逆时针转了一点,两明明是差不多的,但是损失却很大。作者为了避免这个问题,引入了基于面积计算的倾斜因子r=area(O)/area(Bh) ,也就是倾斜框与水平框面积之比来判断目标预测框的倾斜程度,r越接近于1,则说明目标预测框越接近水平,并且对于大横纵比的倾斜的目标,r接近于0。这样的话接近水平的目标就可以直接用水平框来表示,倾斜的目标才需要精确的回归。因此,其实近似水平框的那种情况是存在误差的。

网络的结构和faster-rcnn的几乎一样,只是多了五个变量alpha{1,2,3,4}和r。gtbox由三个信息组成:水平框(x,y,w,h),alpha{1,2,3,4},r。

        RPN部分的损失和faster-rcnn的一样,最后的损失是:

其中两个N是proposals总数,p*=1 if 正样本 else 0,

Lh就是水平边界框损失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值