RNN原理总结

简介: 二阶段目标检测算法RNN原理总结

RCNN将CNN方法引入目标检测。

首先RNN的基本流程:

  1. 采用Selective Search方法生成1k-2k个候选区域(region proposal)
  2. 对每个候选区域使用CNN网络提取特征
  3. 将特征输入分类网络,判断是否属于该类
  4. 使用回归器精细修正候选框位置

select search单独进行总结,这里直接使用
1.png

1 生成候选边界框

我们输入一张图像,利用Select Search(单独总结)方法生成1k-2k个候选框,但是其大小不一致,很难在输入下面的网络,因此,需要将图像缩放到相同大小

这里实验了两种办法:各向异性缩放和各向同性缩放

2 CNN特征提取

2.1 网络选择

直接使用了经典的AlexNet网络的特征提取层(单独总结过)。

2.2 参数初始化

随机初始化参数对训练数据的要求非常大,因此作者选择了先使用AlexNet网络的参数,在后续对Select Search生成的候选框进行fine-tuning训练。优化使用的是随机梯度下降,学习率为0.001。

2.3 正负样本的界定

fine-tuning时需要界定Select Search生成的候选框是正样本还是负样本,方法如下:

  1. 因此在CNN阶段我们需要用IOU为2000个bounding box打标签。

  2. 如果用selective search挑选出来的候选框与物体的人工标注矩形框的重叠区域IoU大于0.3,那么我们就把这个候选框标注成物体类别(正样本)。否则我们就把它当做背景类别(负样本)

3 分类网络

假设输出2000个候选框,那么经过CNN特征提取层后我们输出的结果应该是20004096,此时将该矩阵**与大小为4096\N的SVM权值矩阵相乘*即可得到2000\N的结果(N代表一共N类)

4 位置精修

目标检测问题的衡量标准是重叠面积,许多看似准确的检测结果,往往候选框不够准确,重叠面积很小,故需要一个位置精修步骤。

这里采用一个线性回归器进行位置精修,输入是CNN网络提取的特征,输出是缩放和平移后的xy坐标。

5 测试

SVM将CNN提取的特征分类后(假设2000个候选框,每个候选框N个类别)。对每一个类别,2000个候选框根据分数采取NMS(单独总结)除去相交的多余的候选框,最后对这些框进行canny边缘检测,得到bounding-box。

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
深度学习基础入门篇-序列模型[11]:循环神经网络 RNN、长短时记忆网络LSTM、门控循环单元GRU原理和应用详解
深度学习基础入门篇-序列模型[11]:循环神经网络 RNN、长短时记忆网络LSTM、门控循环单元GRU原理和应用详解
深度学习基础入门篇-序列模型[11]:循环神经网络 RNN、长短时记忆网络LSTM、门控循环单元GRU原理和应用详解
|
机器学习/深度学习
《机器能理解上下文吗 RNN和LSTM神经网络的原理及应用》电子版地址
机器能理解上下文吗 RNN和LSTM神经网络的原理及应用
78 0
《机器能理解上下文吗 RNN和LSTM神经网络的原理及应用》电子版地址
|
机器学习/深度学习 自然语言处理 TensorFlow
Char RNN原理介绍以及文本生成实践
Char-RNN,字符级循环神经网络,出自于Andrej Karpathy写的The Unreasonable Effectiveness of Recurrent Neural Networks。众所周知,RNN非常擅长处理序列问题。序列数据前后有很强的关联性,而RNN通过每个单元权重与偏置的共享以及循环计算(前面处理过的信息会被利用处理后续信息)来体现。Char-RNN模型是从字符的维度上,让机器生成文本,即通过已经观测到的字符出发,预测下一个字符出现的概率,也就是序列数据的推测。现在网上介绍的用深度学习写歌、写诗、写小说的大多都是基于这个方法。
189 0
Char RNN原理介绍以及文本生成实践
|
机器学习/深度学习 自然语言处理 PyTorch
|
机器学习/深度学习 PyTorch 算法框架/工具
|
2月前
|
机器学习/深度学习
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介
【从零开始学习深度学习】33.语言模型的计算方式及循环神经网络RNN简介
|
2月前
|
机器学习/深度学习 自然语言处理 算法
RNN-循环神经网络
自然语言处理(Nature language Processing, NLP)研究的主要是通过计算机算法来理解自然语言。对于自然语言来说,处理的数据主要就是人类的语言,我们在进行文本数据处理时,需要将文本进行数据值化,然后进行后续的训练工作。
|
2月前
|
机器学习/深度学习 自然语言处理 算法
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
【从零开始学习深度学习】49.Pytorch_NLP项目实战:文本情感分类---使用循环神经网络RNN
|
3月前
|
机器学习/深度学习 自然语言处理 语音技术
深度学习500问——Chapter06: 循环神经网络(RNN)(3)
深度学习500问——Chapter06: 循环神经网络(RNN)(3)
136 3
|
3月前
|
机器学习/深度学习 自然语言处理 PyTorch
使用Python实现循环神经网络(RNN)的博客教程
使用Python实现循环神经网络(RNN)的博客教程
299 1

热门文章

最新文章