1. proposal_layer.py(产生proposal的文件)
proposal的产生过程:
(1)根据预设的scales和aspect ratios,甚至angles获取anchors
(2)anchors经过bounding box regression的反变换bbox_transform_inv,获取proposals
(3)使用_filter_boxes去除尺寸太小的proposals
(4)按照score大小取若干proposals(Train:12000 Test:6000)
(5)应用nms进行抑制(Train:2000, test:300)
(6)再次取若干proposals并返回第一列batch_inds的rois
2. anchor_target_layer.py(计算rpn网络损失的文件)
(1)根据预设的scales和aspect ratios,甚至angles获取anchors
(2)计算anchor与gt的重叠率
(3)根据overlap对anchor的类别进行设置,并在数量太多的时候进行随机采样,随机采样的样本类别设置为-1
(4)计算anchor与gt的偏差
3. proposal_target_layer.py
(1) 将gt及抖动的gt一起加到rois中
(2)计算rois和gt的重叠率
(3)根据overlap对rois进行选择(正样本的重叠率>0.5, 0<负样本<0.5)
注:
rpn计算损失时,只有部分感兴趣的anchor才会参与到计算过程中