当前位置: 首页 > wzjs >正文

网站建设框架怎么做优化教程网官网

网站建设框架怎么做,优化教程网官网,域名做网站出售合法吗,滁州网站建设费用文章目录 前言R-CNNFast R-CNN兴趣区域汇聚层 (RoI Pooling)代码示例:兴趣区域汇聚层 (RoI Pooling) 的计算方法Faster R-CNNMask R-CNN双线性插值 (Bilinear Interpolation) 与兴趣区域对齐 (RoI Align)兴趣区域对齐层的输入输出全卷积网络 (FCN) 的作用掩码输出形状总结前言…

文章目录

  • 前言
  • R-CNN
  • Fast R-CNN
    • 兴趣区域汇聚层 (RoI Pooling)
      • 代码示例:兴趣区域汇聚层 (RoI Pooling) 的计算方法
  • Faster R-CNN
  • Mask R-CNN
    • 双线性插值 (Bilinear Interpolation) 与兴趣区域对齐 (RoI Align)
    • 兴趣区域对齐层的输入输出
    • 全卷积网络 (FCN) 的作用
    • 掩码输出形状
  • 总结


前言

欢迎来到“从代码学习深度学习”系列博客!在计算机视觉领域,目标检测是一个核心任务,它不仅要求我们识别图像中的物体,还需要定位它们的位置。区域卷积神经网络(Region-based Convolutional Neural Networks, R-CNN)及其后续改进版本(Fast R-CNN, Faster R-CNN, Mask R-CNN)是解决这一问题的里程碑式工作。它们逐步提高了目标检测的准确性和效率,并扩展到实例分割等更复杂的任务。

本篇博客将带你回顾 R-CNN 系列模型的发展历程,并通过 PyTorch 代码示例(重点在兴趣区域汇聚层)来理解其核心组件的工作原理。我们将从最初的 R-CNN 开始,逐步探索其改进版本,理解它们是如何解决前代模型的瓶颈,并引入新的创新思想的。

完整代码:下载链接

R-CNN

R-CNN (Regions with CNN features) 是将深度学习应用于目标检测领域的开创性工作之一。它的核心思想是利用卷积神经网络(CNN)提取区域特征,从而进行目标分类和定位。

R-CNN 的第一步是从整张图像中挑选出可能包含物体的小区域,称为“候选区域”或“提议区域”(region proposals)。这些区域是由 Selective Search 这类算法选出来的,不是通过滑动窗口或CNN直接得到的。数量大约为2000个。(注:锚框是Faster R-CNN等后续方法的技术,R-CNN并不使用锚框。)R-CNN通过先选出可能含目标的图像区域,对这些区域单独用CNN提取特征,再用这些特征去判断目标种类和更精准的位置。

在这里插入图片描述

上图展示了R-CNN模型。具体来说,R-CNN包括以下四个步骤:

  1. 对输入图像使用_选择性搜索_(Selective Search)来选取多个高质量的提议区域。这些提议区域通常是在多个尺度下选取的,并具有不同的形状和大小。每个提议区域都将被标注类别和真实边界框。
  2. 选择一个预训练的卷积神经网络,并将其在输出层之前截断。将每个提议区域变形为网络需要的输入尺寸,并通过前向传播输出抽取的提议区域特征。
  3. 将每个提议区域的特征连同其标注的类别作为一个样本。训练多个支持向量机(SVM)对目标分类,其中每个支持向量机用来判断样本是否属于某一个类别。
  4. 将每个提议区域的特征连同其标注的边界框作为一个样本,训练线性回归模型来预测真实边界框。

尽管R-CNN模型通过预训练的卷积神经网络有效地抽取了图像特征,但它的速度很慢。因为可能从一张图像中选出上千个提议区域,这需要上千次的卷积神经网络的前向传播来执行目标检测。这种庞大的计算量使得R-CNN在现实世界中难以被广泛应用。

Fast R-CNN

针对 R-CNN 的速度瓶颈,Fast R-CNN 提出了关键改进。R-CNN的主要性能瓶颈在于,对每个提议区域,卷积神经网络的前向传播是独立的,而没有共享计算。由于这些区域通常有重叠,独立的特征抽取会导致重复的计算。Fast R-CNN 对R-CNN的主要改进之一,是仅在整张图象上执行卷积神经网络的前向传播。

在这里插入图片描述

上图中描述了Fast R-CNN模型。它的主要计算如下:

  1. 与R-CNN相比,Fast R-CNN用来提取特征的卷积神经网络的输入是整个图像,而不是各个提议区域。此外,这个网络通常会参与训练。设输入为一张图像,将卷积神经网络的输出的形状记为1×c×h1×w1。
  2. 假设选择性搜索生成了n个提议区域。这些形状各异的提议区域在卷积神经网络的输出上分别标出了形状各异的兴趣区域。然后,这些感兴趣的区域需要进一步抽取出形状相同的特征(比如指定高度h2和宽度w2),以便于连结后输出。为了实现这一目标,Fast R-CNN引入了_兴趣区域汇聚层_(RoI pooling):将卷积神经网络的输出和提议区域作为输入,输出连结后的各个提议区域抽取的特征,形状为n×c×h2×w2。
  3. 通过全连接层将输出形状变换为n×d,其中超参数d取决于模型设计。
  4. 预测n个提议区域中每个区域的类别和边界框。更具体地说,在预测类别和边界框时,将全连接层的输出分别转换为形状为n×q(q是类别的数量)的输出和形状为n×4的输出。其中预测类别时使用softmax回归。

兴趣区域汇聚层 (RoI Pooling)

在汇聚层中,我们通过设置汇聚窗口、填充和步幅的大小来间接控制输出形状。而兴趣区域汇聚层对每个区域的输出形状是可以直接指定的。

例如,指定每个区域输出的高和宽分别为h2和w2。对于任何形状为h×w的兴趣区域窗口,该窗口将被划分为h2×w2子窗口网格,其中每个子窗口的大小约为(h/h2)×(w/w2)。在实践中,任何子窗口的高度和宽度都应向上取整,其中的最大元素作为该子窗口的输出。因此,兴趣区域汇聚层可从形状各异的兴趣区域中均抽取出形状相同的特征。

代码示例:兴趣区域汇聚层 (RoI Pooling) 的计算方法

下面我们通过一段 PyTorch 代码来演示兴趣区域汇聚层 (RoI Pooling) 的计算方法。

# 演示兴趣区域汇聚层(ROI Pooling)的计算方法
import torch  # 导入PyTorch库
import torchvision  # 导入PyTorch视觉库# 创建一个4×4的特征图张量作为CNN抽取的特征
# torch.arange(16.) 创建一个包含0到15的一维浮点数张量,维度为[16]
# reshape(1, 1, 4, 4) 将张量重塑为4维张量,维度为[1, 1, 4, 4]
#   第一个维度: 批次大小(batch size) = 1
#   第二个维度: 通道数(channels) = 1
#   第三个维度: 高度(height) = 4
#   第四个维度: 宽度(width) = 4
X = torch.arange(16.).reshape(1, 1, 4, 4)
X[:
http://www.dtcms.com/wzjs/175634.html

相关文章:

  • 什么样的网站需要备案站长之家关键词查询
  • 找人做网站会不会被偷域名免费查询
  • 国内优秀企业网站欣赏win10系统优化工具
  • ecshop仿小米商城b2c网站程序2021网络营销成功案例
  • 网站上文章字体部分复制怎么做网站权重查询工具
  • 北京服装设计公司北京知名seo公司精准互联
  • 制作应用的网站活动推广宣传方案
  • 主流跨境电商平台有哪些seo快速排名软件案例
  • 网站插入视频代码谷歌浏览器官网
  • 厦门高端网站建设公网络营销的模式有哪些?
  • github搭建个人博客苏州网站优化排名推广
  • 广州建站网站前十名百度广告点击软件
  • 合肥网站开发自动点击器app
  • 企业建立网站的必要性网站关键词在线优化
  • dt高端网站设计百度推广怎么开户
  • 攀枝花网站建设兼职如何做线上推广
  • 绍兴 网站建设武汉官网优化公司
  • 网站登录界面图片用什么软件做网站建站设计
  • 效果图参考网站5g网络优化工程师
  • 意大利 网站设计在线培训系统
  • 国外哪个网站是做批发的软文外链购买平台
  • 网站如何做视频链接关键词排名优化如何
  • 网站设计模板 psd女教师遭网课入侵直播录屏曝
  • 河南省汝州文明建设门户网站可口可乐软文范例
  • 沈阳微网站制作谈谈你对网络营销的认识
  • 宾馆网站建设方案360优化关键词
  • 手机网站制作建设鄞州seo整站优化服务
  • 新产品招区域总代理绍兴seo网站推广
  • app定制开发和模板开发的区别应用商店优化
  • 秦皇岛网站制作 微商城建设网络营销方式有哪些