(12)目标检测_SSD主干网络基于pytorch搭建代码

dd
摘要由CSDN通过智能技术生成

1、参考来源

(1)VGG的实现参考如下的

Pytorch 搭建自己的SSD目标检测平台(Bubbliiiing 深度学习 教程)_哔哩哔哩_bilibili

博主的源码地址

GitHub - bubbliiiing/ssd-pytorch: 这是一个ssd-pytorch的源码,可以用于训练自己的模型。

(2)另外一个参考是resnet做骨干网实现的 

2.2 SSD源码解析(Pytorch)_哔哩哔哩_bilibili

2、原理

2.1基础

 (1)检测位置的标注

 (2)SSD对图片调整为300*300,划分为6个尺度进行检测

 (3)基础原理

 3、代码实现

3.1第一部分VGG backbone的代码实现

自习对照第一部分代码的分析

(10)SSD第一部分网络的手工实现_chencaw的博客-CSDN博客

 参照了本次博主的代码

VGG-SSD特征提取网络代码详解_哔哩哔哩_bilibili

具体代码为(该代码也可以考虑修改添加normalization): 

import torch.nn as nn
from torch.hub import load_state_dict_from_url


'''
该代码用于获得VGG主干特征提取网络的输出。
输入变量i代表的是输入图片的通道数,通常为3。

300, 300, 3 -> 300, 300, 64 -> 300, 300, 64 -> 150, 150, 64 -> 150, 150, 128 -> 150, 150, 128 -> 75, 75, 128 ->
75, 75, 256 -> 75, 75, 256 -> 75, 75, 256 -> 38, 38, 256 -> 38, 38, 512 -> 38, 38, 512 -> 38, 38, 512 -> 19, 19, 512 ->
19, 19, 512 -> 19, 19, 512 -> 19, 19, 512 -> 19, 19, 512 -> 19, 19, 1024 -> 19, 19, 1024

#总共35层,对应0---34
38, 38, 512的序号是22  ,
Conv4_3的层数序号是22,连接第1个分类器,包含relu层;但是给分类器loc_layers和conf_layers计算的时候
为了函数计算方便不包含relu层,提供了层数21的输出维度,陈修订20221014

19, 19, 1024的序号是34, 
Conv7的层数序号是34,连接第2个分类器,包含relu层;但是给分类器loc_layers和conf_layers计算的时候
为了函数计算方便不包含relu层,提供了层数33的输出维度,陈修订20221014
'''
base = [64, 64, 'M', 128, 128, 'M', 256, 256, 256, 'C', 512, 512, 512, 'M',
            512, 512, 512]

def vgg(pretrained = False):
    layers = []
    in_channels = 3
    for v in base:
        if v == 'M':
            layers += [nn.MaxPool2d(kernel_size=2, stride=2)]
        elif v == 'C':
            layers += [nn.MaxPool2d(kernel_size=2, stride=2, ceil_mode=True)]
        else:
            conv2d = nn.Conv2d(in_channels, v, kernel_size=3, padding=1)
            layers += [conv2d, nn.ReLU(inplace=True)]
            in_channels = v
    # 19, 19, 512 -> 19, 19, 512 
    pool5 = nn.MaxPool2d(kernel_size=3, stride=1, padding=1)
    # 19, 19, 512 -> 19, 19, 1024
    conv6 = nn.Conv2d(512, 1024, kernel_size=3, padding=6, dilation=6)
    # 19, 19, 1024 -> 19, 19, 1024
    conv7 = nn.Conv2d(1024
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值