1. 程式人生 > >faster rcnn原始碼解讀總結

faster rcnn原始碼解讀總結

1.初始資料通過imdb類的操作放在它的屬性roidb裡。

2.roidb只是一個字典,可以拿出來當做一個單獨的字典,脫離imdb

3.roi_data_layer下的layer就是input-dataForward中載入資料並控制一次一張圖片

的資料進入網路。送到rpn-data中三組資料:

  gt_boxes :大小(一張圖片xmlbox個數, 5);一張圖中box的座標以及類別

  data : 大小(1,3,,寬);一張圖的資料

  im_info: 大小(1, 3); (高, , 下面提到的比例)

圖片的大小與原圖不同,每張圖的高或寬被rescale600,另一邊會按照相同的比例

rescale(程式碼出處未找到,且不懂這樣的原因??????)

4.`AnchorTargetLayer就是rpn-data.計算anchors,以及anchors是否合理(大小,overlap),並根據每個anchorgt_box的重疊度判斷labelsanchors大小是卷積網路過來資料的高寬再乘9個(即,一個點有9個).最後產生四組資料(設k=len(anchors)):

  labels:大小(k, 1); 前景=1,背景=0, 否則=-1

  rpn_bbox_targets: 大小(k, 4)

  bbox_inside_weights: 大小(k, 4;有前景=1,否則為

0

  bbox_outside_weights: 大小(k, 4); 有前景或背景=1/(前景+背景),否則為0