• faster-rcnn 结构杂谈


    faster-rcnn结构图: (只截取了最难理解的部分)

    这个网络看似很复杂,但是理解了其中关键的层,就基本可以掌握这个结构了。要看源码!!要看源码!!要看源码 !!重要的事情说三遍。

    关键的层:

     数据输入层:#表示模块存放的路径 faster-rcnn/lib/roi_data_layer/layer.py

    layer {
    name: 'input-data'
    type: 'Python'
    top: 'data'
    top: 'im_info'
    top: 'gt_boxes'
    python_param {
    module: 'roi_data_layer.layer' #表示模块存放的路径 faster-rcnn/lib/roi_data_layer/layer.py
    layer: 'RoIDataLayer'
    param_str: "'num_classes': 81"
    }
    }
    这层好像什么都做,将数据直接复制到下一层  

    rpn-data层:文件存放位置 faster-rcnn/lib/rpn/anchor_target_layer.py
    layer {
    name: 'rpn-data'
    type: 'Python'
    bottom: 'rpn_cls_score'
    bottom: 'gt_boxes'
    bottom: 'im_info'
    bottom: 'data'
    top: 'rpn_labels'
    top: 'rpn_bbox_targets'
    top: 'rpn_bbox_inside_weights'
    top: 'rpn_bbox_outside_weights'
    python_param {
    module: 'rpn.anchor_target_layer' #文件存放位置 faster-rcnn/lib/rpn/anchor_target_layer.py
    layer: 'AnchorTargetLayer'
    param_str: "'feat_stride': 16 'scales': !!python/tuple [4, 8, 16, 32]"
    }
    }
    这一层很重要:  
      生成 anchor
      处理 gt_boxes等其他工作 具体没仔细看
    proposal层:#文件存放路径 faster-rcnn/rpn/proposal_layer.py
    layer {
    name: 'proposal'
    type: 'Python'
    bottom: 'rpn_cls_prob_reshape'
    bottom: 'rpn_bbox_pred'
    bottom: 'im_info'
    top: 'rpn_rois'
    python_param {
    module: 'rpn.proposal_layer'
    layer: 'ProposalLayer'
    param_str: "'feat_stride': 16 'scales': !!python/tuple [4, 8, 16, 32]"
    }
    }
    这层应该就是生成proposal了

    rpn_loss_bbox层:文件存放位置比较特殊:
      这个是使用c++代码实现的
        头文件:/faster-rcnn/caffe-faster-rcnn/include/caffe/fast_rcnn_layers.hpp
        实现: faster-rcnn/caffe-faster-rcnn/src/caffe/smooth_L1_loss_layer.cpp smooth_L1_loss_layer.cu
    layer {
    name: "rpn_loss_bbox"
    type: "SmoothL1Loss"
    bottom: "rpn_bbox_pred"
    bottom: "rpn_bbox_targets"
    bottom: 'rpn_bbox_inside_weights'
    bottom: 'rpn_bbox_outside_weights'
    top: "rpn_loss_bbox"
    loss_weight: 1
    smooth_l1_loss_param { sigma: 3.0 }
    }




      

        

  • 相关阅读:
    基于CSS 和JS的网页SELECT下拉框美化,JQUERY 插件
    ini文件读写
    Hibernate 表关系描述之OneToMany
    Hibernate 表关系描述之ManyToMany
    Hibernate 初识
    Hibernate 表关系描述之OneToOne
    Struts配置文件初解
    Hibernate 初识(补充)
    struts 学习之04 "模型"
    (Struts)Action类及其相关类
  • 原文地址:https://www.cnblogs.com/longriyao/p/5832274.html
Copyright © 2020-2023  润新知