IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> R-CNN、SPPNet、Fast R-CNN、Faster R-CNN -> 正文阅读

[人工智能]R-CNN、SPPNet、Fast R-CNN、Faster R-CNN

1.R-CNN

对于多个目标的情况,就不能以固定个数输出物体的位置值

1.1 目标检测-Overfeat模型

滑动窗口

  1. 目标检测的暴力方法是从左到右、从上到下滑动窗口,利用分类识别目标。
  • 为了在不同观察距离处检测不同的目标类型,我们使用不同大小和宽高比的窗口。如下图所示;
    在这里插入图片描述
    ??注:这样就变成每张子图片输出类别以及位置,变成分类问题。
    ??但是滑动窗口需要初始设定一个固定大小的窗口,这就遇到了一个问题,有些物体适应的框不一样。
  1. 所以需要提前设定K个窗口,每个窗口滑动提取M个,总共KxM个图片,通常会直接将图像变形转换成固定大小的图像,变形图像块被输入CNN分类器中,提取特征后,我们使用一些分类器识别类别和该边界框的另一个线性回归器。
    在这里插入图片描述

??总结:这种方法类似一种暴力穷举的方式,会消耗大量的计算力量,并且由于窗口大小问题可能会造成效果不准确。但是提供了—种解决目标检测问题的思路。

1.2 完整R-CNN结构

  1. 在CVPR 2014
  2. 候选区域方法(region proposal method):提供了物体检测的一个重要思路
  3. RCNN步骤:
    (1) 对于一张图片,找出默认2000个候选区域(SelectiveSearch方法)
    (2) 2000个候选区域做大小变换,输入AlexNet当中,得到特征向量 [2000 , 4096]
    (3) 经过20个类别的SVM分类器,对于2000个候选区域做判断,得到[2000,20]得分矩阵。见下列特征向量训练分类器SVM
    (4) 2000个候选区域做NMS(非最大抑制),取出不好的,重叠度高的一些候选区域,得到剩下分数高,结果好的框
    (5) 修正候选框bbox的回归微调
    在这里插入图片描述

1.2.1 特征向量训练分类器SVM

  • R-CNN选用SVM进行二分类。假设检测20个类别,那么会提供20个不同类别的SVM分类器,每个分类器都会对2000个候选区域的特征向量分别判断一次,这样得出[2000,20]的得分矩阵;
  • 猫分类器: 2000个候选区域做判断,得到2000个属于猫的类别
  • 狗分类器:2000个候选区域做判断,得到2000个属于猫的类别
  • [2000,20]

在这里插入图片描述

1.2.2 非最大抑制(NMS)

  1. 目的
  • 筛选候选区域,目标是一个物体只保留一个最优的框,来抑制那些冗余的候选框
  1. RCNN预测2000个候选框,得到3个(比如有3个ground truth)比较准确的候选框
  2. 迭代过程
    (1)对于所有的2000个候选区域得分进行概率筛选,0.5
    2000—>5个
    (2)剩余的候选框
    对于每个候选框找到自己对应ground truth
    (3)第一轮:对于右边车辆,假设B是得分最高的,与B的IoU>0.5删除。现在与B计算loU,DE结果≥0.5,剔除DE,B作为一个预测结果;
    第二轮:对于左边车辆,AC中,A的得分最高,与A计算lou,C的结果≥0.5,剔除C,A作为一个结果;
    (4)最终结果:理想状态,每一个Ground truth都有一个候选框预测
    在这里插入图片描述

1.2.3 修正候选区域

  • 为了让候选框标注更准确率,去修正原来的位置。
  • A是候选框,G是目标GT框
  • 让A与G做回归训练,得到四个参数
    在这里插入图片描述

RCNN输出:一张图片预测一个X候选框,x*w = y_locater

  • y_locate:是真正算法输出的位置
    在这里插入图片描述

2.R-CNN的改进-SPPNet

2.1改进的地方

  1. 图片输入到网络先得到一个feature map
  2. 原图中通过SS得到的候选区域直接映射feature map中对应位置
  • 左上角的点;x’ = [x/S]+1
  • 右下角的点:x’ = [x/S]-1
  • 其中S就是CNN中所有的strides的乘积,包含了池化、卷积的stride。

论文当中S=16=2x 2×2×2
原图:特征图中xmin‘, ymin’ = [xmin/16]+1,ymin/16+1
特征图:xmax’,ymax’= [xmax/16]+1,ymax/16+1

  1. 映射过来的候选区域(假如还是2000个)的特征,经过SPP层(空间金字塔变换层),S输出固定大小的特征向量

2.2 spatial pyramid pooling

  • 候选区域的特征图转换成固定大小的特征向量
  • spp layer会将每一个候选区域分成1x1,2x2,4x4三张子图
  • (16+4+1)x256=21×256=5376
  • Spatial bins (空间盒个数)∶1+4+16=21
    在这里插入图片描述

3. Fast R-CNN

3.1改进的地方:

  1. 提出一个Rol pooling
  2. 分类是用softmax计算:K个类别加上”背景"类·
  3. 与SPPNet—样的地方:
    (1)首先将整个图片输入到一个基础卷积网络,得到整张图的feature map
    (2)将选择性搜索算法的结果region proposal (Rol)映射到feature map中
    在这里插入图片描述

3.2 Rol pooling

  1. 为了减少计算时间并且得出固定长度的向量。
  2. 使用一种4*4=16空间盒数
  3. 因此Fast R-CNN要比SPPNet快很多也是因为这里的原因
  4. 训练会比较统一:废弃了svm以及sppnet
  • roi pooling layer + softmax

在这里插入图片描述
从输入端到输出端直接用一个神经网络相连,整体优化目标函数。

3.2.1多任务损失-Multi-task loss

平均绝对误差(MAE)损失即L1损失+交叉嫡损失

  • 对于分类loss,是一个N+1路的softmax输出,其中的N是类别个数,1是背景,使用交叉嫡损失
  • 对于回归loss,是一个4xN路输出的regressor,也就是说对于每个类别都会训练一个单独的regressor的意思,使用平均绝对误差(MAE)损失即L1损失

在这里插入图片描述
Fast R-CNN的缺点
使用Selective Search提取Region Proposals,没有实现真正意义上的端对端,操作也十分耗时

4 Faster R-CNN

4.1算法改进

  1. 候选区域筛选融合到网络当中
    四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架
  2. 区域生成网络+Fast R-CNN
  3. RPN替代了SS选择性搜索算法
    (1) RPN网络用于生成region proposals
    (2)通过softmax判断anchors属于foreground或者backgroundo
    (3)bounding box regression修正anchors获得精确的proposals。
    (4)得到默认300个候选区域给roi pooling继续后面fast rcnn的步骤

在这里插入图片描述

4.2 RPN原理

  1. 用n*n(默认3×3=9)的大小窗口去扫描特征图得到K个候选窗口
  2. 每个特征图中像素对应的9个窗口大小
  3. 三种尺度{128,256,512},三种长宽比{1:1,1:2,2:1}
  4. 3× 3=9不同大小的候选框
    (1)窗口输出[N,256]——>分类:判断是否是背景
    (2)回归位置:N个候选框与自己对应目标值GT做回归,修正位置。
    (3)得到更好的候选区域提供给ROl pooling使用

4.3Faster RCNN训练

  1. RPN训练:
    (1)分类:二分类,softmax,logisticregression。
    (2)候选框的调整:均方误差做修正
  2. Fast RCNN部分的训练:
    (1)预测类别训练: softamx
    (2)还有预测位置的训练:均方误差损失
  3. 样本准备:正负anchors样本比例:1:3
  4. 优点:
    (1)提出RPN网络
    (2)端到端网络模型
  5. 缺点:训练参数过大

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:36:04  更:2021-08-12 16:37:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:30:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码