饭后时间(二)---SSD单步多框目标检测之vgg16 & 全连接层,多尺度目标识别

https://www.bilibili.com/video/av45229661(两课)

single shot multibox detector 特点

1 结构上采用了卷积的形式取代了全连接层

2 卷积核不变的情况下,采用特征图降采样,来识别不同大小的同一类物体

3 设置多个先验框

4 CNN直接检测

1 结构

下图VGG16

输入:(224x224x3)
->两个(卷积层+relu) (224x224x64)
->一个最大池化, 两个卷积+relu  (112x112x128)
->一个最大池化,三个卷积+relu  (56x56x256)
->一个最大池化,三个卷积+relu  (28x28x512)
->一个最大池化,三个卷积+relu  (14x14x512)
->一个最大池化(7x7x512)
->三个全连接层+relu:前两个是(1x1x4096)维向量,最后一个是输出(1x1x1000)1000个类别
->softmax

保留VGG16的前5层
后面6、7层从全连接层,变成了conv卷积层

下图SSD

 

YOLO是有两个全连接层FC,分别由relu, 和reshape两个功能
SSD将这两个功能直接放到了卷积来进行操作,更加高效

YOLO

2 vgg16介绍

原vgg网络:

输入:(224x224x3)
->两个(卷积层+relu) (224x224x64)
->一个最大池化, 两个卷积+relu  (112x112x128)
->一个最大池化,三个卷积+relu  (56x56x256)
->一个最大池化,三个卷积+relu  (28x28x512)
->一个最大池化,三个卷积+relu  (14x14x512)
->一个最大池化(7x7x512)
->三个全连接层+relu:前两个是(1x1x4096)维向量,最后一个是输出(1x1x1000)1000个类别
->softmax

 

在SSD中这个网络叫 SSD-vgg300


ssd使用的是3*3的卷积核,
但是每次使用的卷积核的个数是不同

1 输入: 300*300*3

2 Conv1-2: 使用的3*3*3*64(3*3卷积核,3通道,64个卷积核
padding=2(加了两条边,300*300*3变成了302*302*3,为了保持大小不变
s=1 步长为1,进行卷积,得到特征图
特征图:300*300*64保持大小不变)(302-2*1 = 300

maxpooling2*2,  s=2   (2*2池化层 步长2
特征图:150*150*64

3 Conv2-3:使用padding=SAME(ps:好像same自动能变成76),
卷积核128个=75*75*128    150*150池化得到75奇数,在第三次卷积之前75添加到76

4 Conv3-4: 使用padding=SAME,
卷积核256个=38*38*256 /有三个子层    采用repeat多次操作

5 Conv4-5: 使用padding=SAME,
卷积核512个=19*19*512 /有三个子层    采用repeat多次操作

PS:池化层示意图
 2*2maxpooling  步长为2(蓝色田字格
每个2*2池化会提取4个块里面最明显特征保留,如下图
2*2池化层,池化4*4特征图为2*2

3 全连接 转换成 卷积层

使用卷积层好处:参数共享,便于计算

选图选自  吴恩达Deeplearning.ai   b站有

3.1 先看relu+降维

1 做卷积

PS:这里是不是这样计算的???

2 池化

3
第一个全连接层,打平,然后relu=max(0,z) 小于0 的置零

第二个全连接层,用于降维,在这里没有降维,没有进行任何运算
 

PS:其中左边每个 像素要跟右边进行计算 
5*5*16=400,
右边400, 
400*400计算量还是很大的

3.2 下面卷积核

5*5的卷积核,的到400个特征

一个5*5的卷积核计算25次,左边有16层,400个卷积核
计算量为 25*16*400

然后用1*1的卷积核,400个,得到1*1*400  tensor

softmax得到确认是4类中的哪一类

4 SSD   大尺度特征图识别小目标,小尺度特征图识别大目标

左大尺度,右小尺度

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: VGG是一个用于图像分类的深度卷积神经网络,它的主要作用是对图像进行分类。然而,可以使用 VGG 作为目标检测的基础模型,通过在其基础上添加额外的层和结构,使其能够识别并定位图像中的目标物体。这种方法被称为单阶段目标检测方法。另外,也可以将 VGG 用作两阶段目标检测方法中的特征提取器。但是,相对于专门设计的目标检测模型,VGG 的检测性能可能会有所下降。 ### 回答2: VGG模型本身并不是专门用于目标检测的模型,而是用于图像分类任务的深度卷积神经网络模型。然而,我们可以通过一些修改使VGG模型能够用于目标检测。 通常,在目标检测中我们需要对图像中的物体进行定位和分类。VGG模型的最后几层是全连接层,这些层丧失了位置信息,无法直接用于目标检测。因此,我们通常会进行修改,将全连接层替换为卷积层和池化层来保留位置信息。 一种常用的修改方法是在VGG模型的最后几层添加额外的卷积层和池化层,形成多尺度特征图。然后通过将这些特征图输入到分类器和回归器中,进行物体的定位和分类。这样我们就可以使用VGG模型进行目标检测。 另外,还有一种更先进的目标检测方法叫做R-CNN(Region-based Convolutional Neural Networks)。这种方法使用区域提取算法(如Selective Search)生成候选物体区域,然后将这些区域输入到深度卷积神经网络进行分类和定位。VGG模型可以作为R-CNN中的特征提取器来使用。 总之,尽管VGG模型本身不是为目标检测任务而设计的,但我们可以通过适当的修改或结合其他算法,使其在目标检测中发挥其优秀的特征提取能力。 ### 回答3: VGG(Visual Geometry Group)是一种卷积神经网络模型,最初用于图像分类任务。虽然VGG最初并没有被设计用于目标检测,但它可以通过一些变体或者结合其他技术来进行目标检测。 一种常见的方法是通过将VGG与额外的网络层结合起来,使其能够预测目标的位置和类别。例如,可以在VGG的最后几个全连接层之后添加一些额外的卷积层和全连接层,这些层被用来生成目标的坐标框和类别概率值。然后,使用这些信息来对图像中的目标进行定位和识别。 另一种方法是使用VGG作为特征提取器。在目标检测中,通常是将图像输入到模型中,获得中间的卷积层输出,并将这些特征用于后续的目标检测任务。VGG的层次结构使得它能够提取具有不同语义级别的特征,从而有助于目标检测算法更好地理解图像内容。 尽管VGG在图像分类任务中表现出色,但在目标检测任务中,其模型可能过于庞大和计算复杂。因此,为了提高效率和准确性,研究人员已经提出了一些改进的VGG架构,如Faster R-CNN、YOLO和SSD等。这些改进的方法在VGG的基础上进行了调整和优化,用于目标检测,并在目标检测领域取得了很好的效果。 综上所述,虽然VGG最初是为图像分类而设计的,但可以通过一些变体和改进方法将其用于目标检测任务,并且已经取得了一定的成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉-Archer

图像分割没有团队的同学可加群

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值