电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>PyTorch教程14.8之基于区域的CNN(R-CNN)

PyTorch教程14.8之基于区域的CNN(R-CNN)

2023-06-05 | pdf | 0.27 MB | 次下载 | 免费

资料介绍

除了第 14.7 节中描述的单次多框检测之外,基于区域的 CNN 或具有 CNN 特征的区域 (R-CNN) 也是将深度学习应用于对象检测的许多开创性方法之一 Girshick等人,2014 年在本节中,我们将介绍 R-CNN 及其一系列改进:fast R-CNN ( Girshick, 2015 )、faster R-CNN ( Ren et al. , 2015 )和掩模 R-CNN ( He,2017由于篇幅有限,我们将只关注这些模型的设计。

14.8.1。R-CNN

R -CNN首先从输入图像中提取许多(例如,2000 个)region proposals (例如,anchor boxes 也可以被认为是 region proposals),标记它们的类别和边界框(例如,offsets)。

Girshick等人,2014 年

然后使用 CNN 对每个候选区域执行前向传播以提取其特征。接下来,每个区域提案的特征用于预测该区域提案的类别和边界框。

https://file.elecfans.com/web2/M00/A9/CD/poYBAGR9O8KAMP_vAAQHJgcCVic113.svg

图 14.8.1 R-CNN 模型。

图 14.8.1显示了 R-CNN 模型。更具体地说,R-CNN包括以下四个步骤:

  1. 执行选择性搜索以在输入图像上提取多个高质量区域建议 Uijlings等人,2013 年这些提议的区域通常是在具有不同形状和大小的多个尺度上选择的。每个区域提案都将标有一个类别和一个真实边界框。

  2. 选择一个预训练的 CNN 并在输出层之前截断它。resize每个region proposal到网络需要的输入大小,通过前向传播输出为region proposal提取的特征。

  3. 以每个region proposal的提取特征和标注类别为例。训练多个支持向量机对对象进行分类,其中每个支持向量机单独确定示例是否包含特定类。

  4. 以每个region proposal的提取特征和标注bounding box为例。训练线性回归模型来预测地面实况边界框。

尽管 R-CNN 模型使用预训练的 CNNs 来有效地提取图像特征,但速度很慢。想象一下,我们从单个输入图像中选择了数千个区域建议:这需要数千个 CNN 前向传播来执行对象检测。这种庞大的计算负载使得在实际应用中广泛使用 R-CNN 变得不可行。

14.8.2。快速 R-CNN

R-CNN 的主要性能瓶颈在于每个 region proposal 的独立 CNN 前向传播,没有共享计算。由于这些区域通常有重叠,独立的特征提取会导致大量重复计算。Fast R-CNN相比 R-CNN的主要改进之一是 CNN 前向传播仅在整个图像上进行 ( Girshick, 2015 )

https://file.elecfans.com/web2/M00/AA/47/pYYBAGR9O8WATfePAAfvq7owwD4432.svg

图 14.8.2快速 R-CNN 模型。

图 14.8.2描述了快速 R-CNN 模型。其主要计算如下:

  1. 与 R-CNN 相比,在快速 R-CNN 中,CNN 用于特征提取的输入是整个图像,而不是单个区域建议。此外,这个 CNN 是可训练的。给定输入图像,让 CNN 输出的形状为 1×c×h1×w1.

  2. 假设选择性搜索生成n区域提案。这些区域提议(不同形状)在 CNN 输出上标记感兴趣区域(不同形状)。然后这些感兴趣的区域进一步提取相同形状的特征(比如高度 h2和宽度w2指定)以便于连接。为了实现这一点,快速 R-CNN 引入了 感兴趣区域 (RoI) 池化层:CNN 输出和区域提议被输入到该层,输出形状的级联特征n×c×h2×w2为所有区域提案进一步提取。

  3. 使用全连接层,将连接的特征转换为形状的输出n×d, 在哪里d取决于模型设计。

  4. 预测每个类别和边界框n区域提案。更具体地说,在类和边界框预测中,将全连接层输出转换为形状的输出 n×q(q是类的数量)和形状的输出n×4, 分别。类别预测使用 softmax 回归。

fast R-CNN 中提出的感兴趣区域池化层与7.5 节中介绍的池化层不同在池化层中,我们通过指定池化窗口、填充和步幅的大小来间接控制输出形状。相反,我们可以直接在感兴趣区域池化层中指定输出形状。

例如,让我们将每个区域的输出高度和宽度指定为h2w2, 分别。对于形状的任何感兴趣区域窗口h×w, 这个窗口被分为 h2×w2子窗口的网格,其中每个子窗口的形状大约是(h/h2)×(w/w2). 在实际应用中,任何一个子窗口的高和宽都要向上取整,最大的元素作为子窗口的输出。因此,即使感兴趣区域具有不同的形状,感兴趣区域池化层也可以提取相同形状的特征。

作为说明性示例,在图 14.8.3中,左上角 3×3感兴趣的区域被选择在4×4 输入。对于这个感兴趣的区域,我们使用2×2感兴趣区域池化层以获得2×2输出。请注意,四个划分的子窗口中的每一个都包含元素 0、1、4 和 5(5 是最大值);2 和 6(6 是最大值);8 和 9(9 是最大值);和 10。

https://file.elecfans.com/web2/M00/AA/47/pYYBAGR9O8iAF6hzAAC-ikVsQiI293.svg

图 14.8.3 A2×2感兴趣区域池化层。

下面我们演示感兴趣区域池化层的计算。假设CNN提取的特征的高和宽 X都是4,并且只有一个通道。

import torch
import torchvision

X = torch.arange(16.).reshape(1, 1, 4, 4)
X
tensor([[[[ 0., 1., 2., 3.],
     [ 4., 5., 6., 7.],
     [ 8., 9., 10., 11.],
     [12., 13., 14., 15.]]]])
from mxnet import np, npx

npx.set_np()

X = np.arange(16).reshape(1, 1, 4, 4)
X
array([[[[ 0., 1., 2., 3.],
     [ 4., 5., 6., 7.],
     [ 8., 9., 10., 11.],
     [12., 13., 14., 15.]]]])

让我们进一步假设输入图像的高度和宽度均为 40 像素,并且选择性搜索在该图像上生成两个区域建议。每个区域建议由五个元素表示:其对象类,后跟(x,y)- 其左上角和右下角的坐标。

rois = torch.Tensor([[0

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费