↑ 点击
蓝字 关注极市平台
作者丨yanwan 来源丨 AI约读社 编辑丨极市平台
极市导读
从Faster RCNN开始,本文分析了SSD和YOLO系列的anchor任务,最后简评了两个对YOLOv4的repo。>>加入极市CV技术交流群,走在计算机视觉的最前沿
前段时间,YOLOv4&v5大火,而很多人忽视了YOLOv5在anchor上的一些细节变化,因此,本文从Faster RCNN着手,逐步分析SSD、YOLOv4&v5的anchor三个任务和参数化坐标。
1 Faster RCNN
Faster RCNN可以看作是RPN(Regio Proposal Network) 和 Fast RCNN 的组合,由下图可以看到,输入图像经过RPN后输出proposals。RPN有三个任务,也可以说是与anchor相关三个任务:分配任务:从众多anchors中,判断哪些anchor是正样本,哪些是负样本;
分类任务:对分配好的anchors使用交叉熵loss进行分类的训练;
回归任务:对于正样本的anchors使用mooth_l1 loss进行回归训练,以获得修正值。 1.1 分配任务Faster RCNN中的正样本有两种定义。第一,与ground truth bbox有最大的IoU的anchors作为正样本,第二,与ground truth bbox的IoU大于0.7的anchors作为正样本;而定义的负样本为与ground truth bbox的IoU小于0.3的样本。 1.2 RPN Loss Function如下所示,加号前是分类损失,加号后是回归损失。 Pi:网络输出的预测分类概率;Pi^*:标签。正样本时, Pi^*=1;负样本时, Pi^*=0;ti: 预测的Bounding Box的参数化坐标(parameterized coordinates);ti^*:Ground Truth的Bounding Box的参数化坐标,也就是学习的目标;Ncls:mini-batch size;Nreg: Anchor Location的数量;λ:权重平衡参数, 1.2.1 分类任务需要说明的是RPN输出的Classification并不是判定物体是具体的哪一类,而是输出一个二分类,只判断是否是object。 1.2.2 回归任务(1)由上述可知,回归的是参数化坐标,其计算方式如下: