回答思路
faster rcnn是很经典的目标检测方法,需要熟练掌握,并且很多部分需要熟悉代码,如最基本的两个bbox的iou计算、nms等
损失函数由四部分组成:
RPN分类损失:anchor是否为gt,二类交叉熵损失
RPN位置回归损失:anchor位置微调,bbox的第一次修正
ROI分类损失:ROI所属类别,分类损失
ROI位置回归损失:继续对ROI位置微调,第二次对bbox的修正
最终的损失是四个损失相加
anchor生成:
首先,要先熟悉anchor概念:Anchor是以待检测位置为中心,以指定的大小和高宽比构成一组锚框。假设Feature Map的宽度为W,宽度为H,在每个待检测的位置生成的锚框数目为K,根据滑动窗口的方法,生成总的锚框的数量是W * H * K
每个锚点有三种尺寸(128,256,512)和三种长宽比(1:1,1:2,2:1),相互组合,就是每个锚点有9个锚框
扩展:实现生成anchor代码