Neural-Motifs 源码解读(1):ObjectDetector类
GitHub: neural-motifs
1. 得到fmap
图片x经过feature_map()操作得到大小为[batch_size, rpn_input_dim=512, IM_SIZE/4, IM_SIZE/4]的公共特征映射fmap (RPN与RoIAlign操作共享)。
2. 得到rois
- fmap经过rpn_head()操作得到大小为[batch_size, IM_SIZE/16, IM_SIZE/16, 9, 6]的rpn_feats。其中 9=3*3为anchor的个数,6=分数2个+位置4个,具体请参照RPN解析。
-
rpn_feats经过rpn_head.roi_proposals()得到大小为[num_rois, 5] of [img_num, x0, y0, x1, y1]的rois。
- rpn_feats前2/6 => class_fmap,经过softmax得到class_preds
- rpn_feats后4/6 => box_fmap,经过bbox_preds得到box_preds
- box_preds经过后处理(如nms)得到rois,该过程需要class_preds
3. 得到od_obj_dists 及其他
- 使用 第1步得到的fmap 及 第2步用fmap得到的rois 经过obj_feature_map()操作得到output_dim=4096维的obj_fmap。
- RoIAlign:pooling_size=7, pooling_size=7, spatial_scale=1/16
- roi_fmap:vgg_model.classifier
- obj_fmap经过score_fc()线性变化至num_classes维的物体类别分布od_obj_dists。