Faster Rcnn 训练过程2:特征提取网络

本文介绍了Faster R-CNN如何利用VGG16网络进行特征提取。通过预训练的VGG16模型,选取前30层作为特征层,删除最后一层分类层,以适应不同分类需求。在输入图像尺寸(600, 800)下,经过处理,特征图的尺寸变为(37, 50),通道数为512,整个过程保持了图像尺寸的比例变化。" 120958238,11523329,软件测试需求评审的关键步骤,"['软件测试', '单元测试', '压力测试', '需求管理', '测试策略']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

特征提取网络

作为一种CNN网络目标检测方法,Faster RCNN首先使用一组基础的conv+relu+pooling层提取image的feature maps。该feature maps被共享用于后续RPN层和全连接层。

这里使用VGG16提取图片特征
VGG16 网络图

网络结构加载代码:

#faster_rcnn_vgg16.py

def decom_vgg16():
    # the 30th layer of features is relu of conv5_3
    if opt.caffe_pretrain:
        model = vgg16(pretrained=False)
        if not opt.load_path:
            model.load_state_dict(t.load(opt.caffe_pretrain_path))
    else:
        model = vgg16(not opt.load_path)

    features = list(model.features)[:30]
    classifier = model.classifier

    classifier = list(classifier)
    del classifier[6]
    if not opt.use_drop:
        del classifier[5]
        del classifier[2]
    classifier = nn.Sequential(*classifier)

    # freeze top4 conv
    for layer in features[:10]:
        for p in layer.parameters():
            p.requires_grad = False

    return nn.Sequential(*features), classifier

主要流程:

  1. 预训练模型加载
  2. 取VGG16的前30层为特征层,也就是包含13层卷积层,4层池化层
VGG(
  (features): Sequential(
    (0): Conv2d(3, 64, kernel_size=(3, 3), stride=(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值