FasterR-CNN理论

发布作者:霹雳吧啦Wz

声明:作者仅为学习,如有侵权请联系作者删除博文,谢谢!

(一)FasterR-CNN理论之R-CNN

1、1RCNN算法流程

  1. 生成候选区域
    利用Selective Search算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化区域结构。这些结构就包含了可能需要的物体
    在这里插入图片描述

  2. 对于每个候选区域,使用深度网络提取特征
    选择约2000个候选区域,把其缩放到227227pixel,接着将候选区域输入时限训练好的AlexNetCNN网络。每个候选区域得到一个4096维的向量,2000个候选区域最终就得到20004096维的向量。
    在这里插入图片描述

  3. 特征送入每一类的SVM分类器,判别是否属于该类
    将20004096的特征矩阵与20个SVM组成的权值矩阵409620相乘,就能得到一个200020的概率矩阵,每一行代表的是每一个候选框归于每个类的概率,每一列代表的是不同候选框归于同一类的概率。分别对200020的矩阵每一列进行非极大值抑制剔除重叠框,得到该列,即该类中概率最高的候选框
    在这里插入图片描述非极大值抑制的步骤
    在每一列上,首先找到得分最高的目标,计算其他目标与该目标的IOU值,如果IOU值>我们给定的阈值,那么就认为这个目标和其他目标是同一个目标,删除概率值低的候选框。(其实IOU越大说明两个目标相交的越多,就是两个目标几乎一样,那么久不需要这么多了,保留一个概率高的就行)

  4. 使用回归器精细修正候选框位置
    对非极大值抑制处理后剩余的建议框进一步筛选。接着分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的boundingbox
    在这里插入图片描述RCNN整体框架
    在这里插入图片描述

1、2RCNN存在问题

在这里插入图片描述

(二)FasterR-CNN理论之FastR-CNN

1、1FasterR- CNN算法流程

1.生成候选区域
在一张图像上使用Selective Search算法生成1-2k个候选区域。
2. 将图像输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵。
这里与RCNN就开始不同了,RCNN是将候选框送入CNN中提取特征,这里是将整个图像送入CNN中提取特征,提取完之后将候选框直接投影到特征图中得到相应的特征矩阵
在这里插入图片描述
3. 将每个特征矩阵矩阵通过ROI Pooling层缩放到77大小的特征图,接着将特整体展平通过一系列全连接层得到预测效果。
ROIpooling:将整个图像分成7
7的块,然后在每个块上做最大池化操作,使得网络可以不限制输入图像的尺寸
在这里插入图片描述池化之后,网络中有分类器和候选框回归器
分类器:输出N+1个类别的概率(N为检测目标种类,1是背景概率)这里的全连接层需要N+1个节点
边界框回归器:输出对应N+1个类别的候选框边界回归参数(dx,dy,dw,dh)所以总共需要(N+1*)4。
其中橙色框是候选边界框,红色框是预测边界框,绿色框是groundtruh边界框
在这里插入图片描述

整体网络结构 整体网络结构

1、2损失函数

在这里插入图片描述由两个损失函数构成
(1)分类器损失
在这里插入图片描述其中p代表的是分类器预测的softmax的概率分布p=(p0,p1…pn)
u对应目标真实类别标签
这个-logpu是怎么来的呢? 由下面多分类交叉熵得来:
在这里插入图片描述其中o*的独热编码是:[0,0,1,…,0] 预测的softmax概率是[0.1,0.3,0.4…0.1]
那么Loss=-log(0.4)

(2)边界框回归损失
在这里插入图片描述
**加粗样式**λ表示一个平衡系数
[u>=1]:u表示真实类别标签,如果u>=1是它就等于1,表示的是候选区域缺失属于某一个类别当中,它是一个正样本,这时才考虑边界框回归损失。
如果它不》=1它就等于0,表示候选区域是一个背景区域,是负样本,那么这时就不考虑边界框回归损失。

(三)FasterR-CNN理论之FasterR-CNN

由于FasterR-CNN的SS算法的速度过慢,所以作者又设计了RPN(Region Proposal Network)算法来选择候选框

3、1RPN的原理

在这里插入图片描述如下图所示,,首先对于我们所得到的特征图,以一个3*3的滑动窗口,依次在特征图上滑动,同时找到其中心点位于原图的位置。如何确定在原图的位置呢?就是用原图的长除以特征图的长,原图的宽除以特征图的宽,分别会得到两个步距。分别用这两个步距去乘以中心点在特征图中偏移,就得到中心点在原图的位置。
在这里插入图片描述
找到在原图中的位置后。一个中心点对应k个anchor boxes。这k个anchor boxes通过两个全连接层,分别得到分类分数和候选框回归参数。其中的分类分数总共有2k个,代表是背景和不是背景的概率,候选框回归参数有4k个,代表其候选框的位置信息和大小信息
在这里插入图片描述文章中定义了三种尺度和三种比例的anchorbox 所以这里一个位置对应9个anchor

3、2RPN的损失

(1)分类损失
在这里插入图片描述分类损失采用二元交叉熵损失或者多分类交叉熵损失
当采用多分类交叉熵损失时
在这里插入图片描述
在这里插入图片描述
一张特征图对应k个anchor,那么这张图像的整体损失是:Lcls=-ln(0.9)±ln(0.8)+…±ln(0.8)

当采用二元交叉熵损失时
在这里插入图片描述
整体的损失=Lcls=-[1ln(0.9)+0]±[0ln(0.2)+(1)*ln(1-0.2)]+… (结果与上面是相同的)

(2)边界回归框损失
在这里插入图片描述

(3)总体损失(与fastR-CNN相同)
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值