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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 两阶段(two stage)目标检测原理详解 -- RCNN -> 正文阅读

[人工智能]两阶段(two stage)目标检测原理详解 -- RCNN

目录

一、目标检测的任务

二、什么是“两阶段”呢?

三、两阶段算法原理

(二)候选区域算法

(三)边框回归( Bounding Box Regression )

1.?非极大值抑制(Non-Maximum Suppression,NMS)

2.?对候选框进行坐标调整

(三)RCNN模型结构

1. RCNN的模型结构

?????2.?R-CNN 总结


?????????目前目标检测领域的深度学习方法主要分为两类:two stage 的目标检测算法one stage 的目标检测算法

一、目标检测的任务

在图像中把目标物体框出来,主要分为两个:

  1. 定位任务:把物体在图像中的位置检测处理,通常用(x,y,w,h)表示物体位置框,其中x,y是目标的中心点,w,h是目标物体框的长和宽。
  2. 图像分类任务:目标物体是哪种物体,如该物体具体是猫还是狗,还是汽车等。
  • 二、什么是“两阶段”呢?

????????两阶段指的是实现检测的方式有主要两个过程,如下:

????????第一步:先提取物体区域;

????????第二步:再对区域进行CNN分类识别;

????????因此,“两阶段”又称基于候选区域(Region proposal)的目标检测。它是基于深度学习的检测算法的先驱者;代表性算法如下图的RCNN系列(RCNN,Fast RCNN,Faster RCNN)还有SPPNet等。

????????例如,RCNN,也是“两阶段”目标检测中的第一个模型。该算法步骤大致分为两大步骤进行:

????????1.获取输入图像,提取约候选区域;

????????2.将候选区域分别输入CNN网络(这里需要将候选图片进行缩放),将CNN的输出,输入分类器中进行类别的判定。

????????两阶段目标检测模型结构:

  • 三、两阶段算法原理

????????传统算法模型结构:

????????两阶段目标检测模型结构:

(二)候选区域算法

????????传统目标检测算法使用“穷举法”来获取候选区域,即暴力的使用滑动窗口从左到右、上到下扫描图片。缺点非常明显,候选区域过多,相邻窗口重复信息大,无效的区域也很多,导致计算量大,检测速度慢。

????????RCNN使用“选择性搜索算法”(SS,Selective Search)来获取候选框,具体步骤如下:

????????(1)图片中的每一个像素作为一组,然后计算每个像素的纹理;

????????(2)将相近的组合起来形成更大的像素组,然后继续合并各个像素组;

????????(3)SS选取的检测框大小都不一样,最后,得到不同尺寸的BBox候选框(约2000个)。

????????相比传统的穷举法,BBox候选框明显的减少了,在后面步骤的物体分类上减少了很多计算资源。

(三)边框回归( Bounding Box Regression )

????????围绕如下2个问题进行算法设计:

  1. 一张图大约有2000多个候选框,是否有冗余?若存在冗余该如何对多个候选框进行筛选?
  2. 筛选过后的候选框是最优的吗?

????????经过SS搜索,共有2000多个候选区域,首先需要对每个候选区域进行分类识别:

????????如上图所示,每个目标有两三个候选区域,每个候选区域都有目标概率值;原则上,1个物体对应1个候选区域,那么如何去除冗余的候选区域框,保留最好的1个?

????????使用非极大值抑制NMS来解决以上问题。

1.?非极大值抑制(Non-Maximum Suppression,NMS)

????????思路:选取那些邻域里分类数值最高,并且抑制那些分数低的窗口。

????????做法:设定阈值(阈值通常设定0.3~0.5 ),比较两两区域的IoU与阈值的关系。

????????Iou是两个区域的交并比,如下:

? ? ? ? ? ??

?????????那么可以如下两个思路来筛选候选框,假设阈值设定0.5:

????????(1)IoU>0.5,表示A框与B框重叠率高,可能是同一个物体,保留上一步计算的分类概率值高的候选框;

????????(2)IoU<0.5,表示A框与B框重叠率不高,可能是两个物体;

????????例子:假设检测到如下出6个都是人脸的矩形框,目的要找到最好的一个。

????????(1)根据分类器的类别分类概率做排序从小到大的概率分别为A、B、C、D、E、F;

????????(2)从最大概率矩形框F开始,分别判断A~E与F的重叠度IoU是否大于设定的阈值;

????????(3)假设B、D与F的重叠度超过阈值,那么就去除矩形框B、D;并标记第一个矩形框F,是我们保留下来的一个人脸框;

????????(4)从剩下的矩形框A、C、E中,选择概率最大的E,然后判断E与A、C的重叠度,如果A、C的重叠度都大于设定的阈值,那么就去除;并标记E是我们保留下来的第二个矩形框;

????????(5)就这样一直重复,遍历所有,直到找到所有被保留下来的矩形框。

2.?对候选框进行坐标调整

????????将最后选出的候选框与目标值(Ground Truth)建立回归方程。如下图:

?????????红色的框:最终提取的候选区域框;

????????绿色的框:目标值, 即真实标注的目标区域。

????????目测可判定,红色框定位不准(IoU<0.5), 那么说明红色框没有正确的标志飞机,因此需要对红色框进行微调,使得经过微调后的窗口跟目标值更接近。

????????对于窗口,一般使用四维向量(x,y,w,h)表示,分别表示窗口中心点坐标和宽高;寻找一种关系使得输入候选窗口 P 经过映射f得到一个跟真实窗口G^更接近的回归窗口G ?,使得新的候选区域G ?更接近真实目标G^,从而提高预测的准确率:

回归方程:?

  • (三)RCNN模型结构

    1. RCNN的模型结构

    如下:

????????模块1 :

? ? ? ? ? ? ? ? (1)采用selective search算法对每个图片提取约2000个候选框;

? ? ? ? ? ? ? ? (2)再将尺寸变形为227×227的大小【适应AlexNet网络的输入】

????????模块2:

? ? ? ? ? ? ? ? (1)使用AlexNet网络对候选框进行特征提取,每个候选框有4096维特征;

? ? ? ? ????????(2)采用训练好的AlexNet CNN网络进特定样本【如VOC数据集-20个分类类别】下的微调fine-tune;

????????模块3:

? ? ? ? ? ? ? ? (1)对每个候选框的4096维特征进行分类;

? ? ? ? ? ? ? ? (2)需要为每个类别训练单独的SVM;

????????模块4:

? ? ? ? ? ? ? ? (1)进行边框回归训练。

?????2.?R-CNN 总结

????????优点:基于传统的手工提取特征的方法,性能大幅提升;

????????缺点:但是训练时间很长(84h),测试阶段很慢,一张图片大概16s;R-CNN速度较慢的一个重要原因是卷积特征重复计算量太大,每张图片约有2000区域需计算CNN特征。

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

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