Open kuazhangxiaoai opened 2 years ago
我看到了,您用e2cnn重写了backbone和rpn网络,我再仔细看看。 对于第一个stage,已经学习到了的角度a,是那八个角度的分类任务吗?将特征图转成旋转不变的,不会对da的学习的rotation sensitive有不好的影响吗?毕竟它已经旋转不变了。既然已经旋转不变了,神经网络如何区分不同的da呢? 我是这样理解的:这个旋转不变性,不是完全旋转不变,只是对特征图的重排,也保留一定的变化,这变化足以满足对da的学习,对吗?
可是,我仔细想想,也不太对。您把当前特征图的角度a,排序到第一层。随着a的不同,第一层有着不同 的特征图,这也不具有旋转不变性啊?随着a的旋转,特征图也各有不同啊?
你可以类比于:为什么RoI Align之后的feature仍然可以继续回归出更准确的bbox width、height。 RoI Align之前,我们学习到了长度width,w,然后我们提取RoI Align之后的feature,继续学习dw,最终的width=w+dw。
我明白了,e2cnn利用旋转的卷积核产生了对应各个角度的feature map,然后根据各个角度,进行一个排序,产生rotation-invariant的特征进行学习。但是这个rotation-invariant特征只是较为近似的的一个特征,并不准确,还需要对da进行一个回归学习。 我还想请问一下,您RIRoI Align之前对a的学习,是分类还是回归呢?
回归,通过前一个R-CNN(RoI Transformer)产生的
请问大佬: 1、您是如何做到让Backbone具有Rotation-equivariant特性的呢?您不是在RiRoI Align中利用旋转、排序和插值对特征图进行处理,从而形成旋转不变性特征的吗?那对Backbone做成什么样的特殊处理了吗? 2、如果形成了旋转不变性特征(不论角度如何旋转,其特征图都是一致的),那么在最后一个stage的神经网络如何感知角度Thelta的损失呢,对角度Thelta的预测不是会削弱吗?