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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 目标检测概述-上篇 -> 正文阅读

[人工智能]目标检测概述-上篇

目标检测算法分类:

基于深度学习的目标检测算法主要分为两类:

1.Two stage目标检测算法

先进行区域生成(region proposal,RP)(一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。

任务:特征提取—>生成RP—>分类/定位回归。

常见的two stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。

2.One stage目标检测算法

不用RP,直接在网络中提取特征来预测物体分类和位置。

任务:特征提取—>分类/定位回归。

常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD和RetinaNet等。

R-CNN (Region Proposal + CNN)


原论文地址:Rich feature hierarchies for accurate object detection and semantic segmentation

步骤:

1 输入测试图像

2 利用选择性搜索Selective Search算法在图像中提取2000个左右的候选区域Region Proposal

3 将候选区域调整为适应AlexNet网络的输入图像的大小227×227,通过CNN对候选区域提取特征向量,2000个建议框的CNN特征组合成网络AlexNet最终输出:2000×4096维矩阵

4 将2000×4096维特征经过SVM分类器(假设20种分类,SVM是二分类器,则有20个SVM),获得2000×20种类别矩阵(图像的所有点积运算都被整合为单个矩阵与矩阵的相乘。特征矩阵通常为2000×4096,SVM权重矩阵为4096×N,其中N为类别数)

5 分别对2000×20维矩阵中进行非极大值抑制(NMS:non-maximum suppression)剔除重叠建议框,得到与目标物体最高的一些建议框
6 修正bbox,对bbox做回归微调

SPPNet


主要思想:

? SPPNet引入一种空间金字塔池化( spatial pyramid pooling,SPP)层以移除对网络固定尺寸的限制。SPP层放在最后一个卷积层之后。SPP层对特征进行池化,并产生固定长度的输出,这个输出再喂给全连接层

针对之前R-CNN的缺点,每个候选区域都进行了卷积操作提取特征,计算量大速度低效。

R-CNN 与 SPPNet模型对比

在这里插入图片描述

图片来源论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》

R-CNN模型*SPPNet模型
1、R-CNN是让每个候选区域经过crop/wrap等操作变换成固定大小的图像 2、固定大小的图像塞给CNN 传给后面的层做训练回归分类操作1、SPPNet把全图塞给CNN得到全图的feature map 2、让SS算法得到候选区域与feature map直接映射,得到候选区域的映射特征向量(这是映射来的,不需要过CNN) 3、映射过来的特征向量大小不固定,所以这些特征向量塞给SPP层(空间金字塔变换层),SPP层接收任何大小的输入,输出固定大小的特征向量,再塞给FC层4、经过映射+SPP转换,简化了计算,速度/精确度也上去了
  • 候选区域与feature map直接映射

特征图(feature maps)的大小是根据图片的大小与卷积层的卷积核大小(kernel size)与步长(stride)决定的,假设(x′,y′)(x′,y′)表示特征图上的坐标点,坐标点(x,y)表示原输入图片上的点,那么它们之间有如下转换关系,这种映射关心与网络结构有关:(x,y)=(S?x′,S?y′),即

  • 左上角的点:
    • x′=[x/S]+1
  • 右下角的点:
    • x′=[x/S]?1

其中 S 就是CNN中所有的strides的乘积,包含了池化、卷积的stride。论文中使用S的计算出来为2x2x2x2=16,在ZF-5结构中。

在这里插入图片描述

  • 空间金字塔池化( spatial pyramid pooling,SPP)

    SPP layer会将每一个候选区域分成1x1,2x2,4x4三张子图,对每个子图的每个区域作max pooling,得出的特征再连接到一起就是(16+4+1)x256=21x256=5376结果,接着给全连接层做进一步处理

在这里插入图片描述

图片来源论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》

Fast R-CNN


提出一个RoI pooling layer,然后整合整个模型,把CNN、RoIpooling、分类器、bbox回归几个模块整个一起训练.(废弃SVM,以及SPP层)

步骤:

1 首先将整个图片输入到一个基础卷积网络,得到整张图的feature map(和SPPNet一样)

2 将选择性搜索算法的结果region proposal(RoI)被池化到固定大小的feature map中

3 RoI pooling layer映射到一个固定长度的特征向量(SPP中使用3个固定长度的特征向量),每个特征会输入到一系列全连接层,得到一个RoI特征向量,其中一个是传统softmax层进行分类,输出类别有K个类别加上”背景”类,另一个是bounding box regressor

4 多任务损失-Multi-task loss,主要使用交叉熵损失加L1损失
在这里插入图片描述

Faster R-CNN


SPPnet和Fast R-CNN等研究已经减少了这些检测网络的运行时间,使得区域提出(Selective Search)计算成为一个瓶颈。

在Faster R-CNN中加入一个提取边缘的神经网络,也就说找候选框的工作也交给神经网络来做了。这样,目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架之内。主要将SS ----> RPN

  • 区域生成网络(Region Proposal Network,简称RPN)
  1. RPN网络用于生成region proposal
  2. 通过softmax判断anchors属于foreground或者background
  3. bounding box regression修正anchors获得精确的proposals
  4. 得到默认300个候选区域给ROI pooling继续后面fast rcnn的步骤

在这里插入图片描述

图片来源:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》

开源 keras Faster RCNN 模型

https://github.com/jinfagang/keras_frcnn

参考文献:

一文读懂目标检测:R-CNN、Fast R-CNN

DeepLearning-500-questions

《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》

《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》

?

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:44:55  更:2022-08-06 10:46:47 
 
开发: 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年3日历 -2024/3/29 8:48:12-

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