object detection API构建自己的网络模型

object detection API构建自己的网络模型
首先定位到 object_detection\builders\model_builder.py 该文件是构建各种组件的地方。实现 SSD , Faster R-CNN , R-FCN 三个系列的基本功能,基于不同的分类模型,构建不同的feature_extractor。
有博客中说该模块中的 build 是供外部调用的唯一方法,其他模块都会调用该方法。
我想基于resnet构建新的模型,需要引入新的模块
from object_detection.models import faster_rcnn_resnet_gqm_feature_extractor as frcnn_resnet_gqm
然后在FASTER_RCNN_FEATURE_EXTRACTOR_CLASS_MAP加入自己的特征提取器

# A map of names to Faster R-CNN feature extractors.
FASTER_RCNN_FEATURE_EXTRACTOR_CLASS_MAP = {
    'faster_rcnn_nas':
    frcnn_nas.FasterRCNNNASFeatureExtractor,
    'faster_rcnn_pnas':
    frcnn_pnas.FasterRCNNPNASFeatureExtractor,
    'faster_rcnn_inception_resnet_v2':
    frcnn_inc_res.FasterRCNNInceptionResnetV2FeatureExtractor,
    'faster_rcnn_inception_v2':
    frcnn_inc_v2.FasterRCNNInceptionV2FeatureExtractor,
    'faster_rcnn_resnet50':
    frcnn_resnet_v1.FasterRCNNResnet50FeatureExtractor,
    'faster_rcnn_resnet101':
    frcnn_resnet_v1.FasterRCNNResnet101FeatureExtractor,
    'faster_rcnn_resnet152':
    frcnn_resnet_v1.FasterRCNNResnet152FeatureExtractor,
    'faster_rcnn_resnet_gqm':
    frcnn_resnet_gqm.FasterRCNNResnet101FeatureExtractor,
}

然后根据配置文件的内容会转到两个相关faster rcnn的内容:

_build_faster_rcnn_feature_extractor
_build_faster_rcnn_model

这两个函数应该是导入配置文件中的各种参数,并生成相应的组件,按照函数名来看应该是不需要更改的。
复制faster_rcnn_resnet_v1_feature_extractor.py,重命名为faster_rcnn_resnet_gqm_feature_extractor.py.
然后将config文件中的特征提取器进行设置

    feature_extractor {
      type: 'faster_rcnn_resnet_gqm'
      first_stage_features_stride: 16
    }

发现是可以跑起来进行训练的。说明初始的框架已经搭好了。之后在这几个文件中进行改动,不会对原有的模型产生影响。

然后定位到faster_rcnn_resnet_gqm_feature_extractor.py. 发现这里都是功能提取器的定义,然后引用了faster_rcnn_meta_arch,这里两个大部分是父类和子类的关系。
可以找到FasterRCNNResnet101FeatureExtractor这样的类,用来做提取器。应该改动这里就可以构建新的提取器了。
在这里插入图片描述
剩下的还在继续摸索,前期工作记录在这里。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值