R-CNN网络结构讲解
- 结构
第一步 : 生成候选区域 -- Selective Search
(不理解可以看这里Selective Search)
- 输入500x500的图片
- 数量:2000
第二步:CNN提取区域特征
- 图像处理
- 将候选框scale到227x227的大小
- 对区域进行些许扩大以包含少量上下文信息(将获得区域框向四周扩大一些)
- 训练:
- 有监督预训练:训练网络参数
- 样本:ImageNet
- 这里只训练和分类有关的参数,因为ImageNet数据只有分类,没有位置标注
- 图片尺寸调整为227x227
- 最后一层:4097-> 1000的映射。
- 特定样本下的微调 :训练网络参数
- 样本
- 采用训练好的AlexNet CNN网络进行PASCAL VOC 2007样本集下的微调,学习率=0.001
PASCAL VOC 2007样本集上既有图像中物体类别标签,也有图像中物体位置标签;- mini-batch为32个正样本和96个负样本【由于正样本太少】
- 修改了原来的1000为类别输出,改为21维【20类+背景】输出。
- 如果不针对特定样本的训练会怎么样?
- 有监督预训练:训练网络参数
不针对特定任务进行微调,而将CNN当成特征提取器,pool5层得到的特征是基础特征,类似于HOG、SIFT,类似于只学习到了人脸共性特征;从fc6和fc7等全连接层中所学习到的特征是针对特征任务特定样本的特征,类似于学习到了分类性别分类年龄的个性特征
- SVM训练
- 样本
- 由于SVM是二分类器,需要为每个类别训练单独的SVM;
- SVM训练时输入正负样本在AlexNet CNN网络计算下的4096维特征,输出为该类的得分,训练的是SVM权重向量;
- 由于负样本太多,采用hard negative mining的方法在负样本中选取有代表性的负样本,该方法具体见。
- Bounding_box_regression训练
- 样本
输入数据为某类型样本对N个:AlexNet CNN网络Pool5层特征ϕ5(Pi)i,输出回归后的建议框Bounding-box,训练的是dx(P),dy(P),dw(P),dh(P)四种变换操作的权重向量。
- 样本
第三步:SVM分类
- 用于训练多个SVM的数据集是用pretrain的ImageNet数据
- 将2000×4096维特征与20个SVM组成的权值矩阵4096×20相乘【20种分类,SVM是二分类器,则有20个SVM】,获得2000×20维矩阵表示每个建议框是某个物体类别的得分;
- 分别对上述2000×20维矩阵中每一列即每一类进行非极大值抑制剔除重叠建议框,得到该列即该类中得分最高的一些建议框;
第四步:边框回归
- 每次分类完之后,都要对边界框的进行调整,利用一个ringe regression实现
- 回归器的设计
d*(P)是关于pool5的一个线性函数,所以可以通过pool5的数据训练d(P)的模型。
G:ground truth
P: 输入模型的边界框,也就是选择性搜索的结果
G^:调整之后的结果
思考
- 为什么微调时和训练SVM时所采用的正负样本阈值【0.5和0.3】不一致?
- 微调阶段是由于CNN对小样本容易过拟合,需要大量训练数据,故对IoU限制宽松:Ground Truth+与Ground Truth相交IoU>0.5的建议框为正样本,否则为负样本;
- SVM这种机制是由于其适用于小样本训练,故对样本IoU限制严格:Ground Truth为正样本,与Ground Truth相交IoU<0.3的建议框为负样本
- 为什么不直接采用微调后的AlexNet CNN网络最后一层SoftMax进行21分类而是用了SVM?
- 发现有时候,SVM分类的精度确实比softmax高,但是加入了SVM就导致了失去了端到端的训练,得不偿失
- RCNN作为使用卷积神经网络应用于目标检测的开山之作,创新点很多,后面的很多目标检测算法都是通过一点点改进RCNN的模型来实现的。
R-CNN网络结构讲解相关推荐
- CNN入门讲解:卷积层是如何提取特征的?
各位看官老爷们 好久不见 这里是波波给大家带来的CNN卷积神经网络入门讲解 每周我将给大家带来绝对原创,脑洞大开,幽默风趣的深度学习知识点入门讲解 希望大家多多支持,多多关注 本人微信公众号:foll ...
- CNN网络结构发展最全整理
来源:人工智能AI技术 本文约2500字,建议阅读9分钟 本文为你整理CNN网络结构发展史. 作者丨zzq 来源丨https://zhuanlan.zhihu.com/p/68411179 CNN基本 ...
- 收藏 | 一文遍览CNN网络结构的发展
来源:人工智能AI技术本文约2600字,建议阅读8分钟 本文介绍了十五种经典的CNN网络结构. CNN基本部件介绍 1. 局部感受野 在图像中局部像素之间的联系较为紧密,而距离较远的像素联系相对较弱. ...
- CNN网络结构发展演变:从LeNet到HRNet(一)
个人经验总结博客,写的不好的地方还请各路大神指正,不喜勿喷.网络结构图基本都是引用的,如有雷同,实在抱歉,可在下方评论中留言是否删除. 我们知道CNN网络结构一直在更新迭代,卷积可以理解为:" ...
- Faster R CNN
Faster R CNN 3 FASTER R-CNN 我们的Faster R CNN 由两个模块组成,第一个模块是 proposes regions 的全卷积网络,第二个是使用 proposed r ...
- CNN 入门讲解:什么是全连接层
新年第一更 祝大家新年快乐万事如意 这个时候还愿意点进来,新的一年肯定要起飞了 这情人节和新年连着过啊 这对情侣意味着什么,意味着要带情人去见家长了 当然对一些情侣意味着,情人节过不好,估计年也过不好 ...
- CNN网络结构的发展:从LeNet到EfficientNet
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:zzq https://zhuanlan.zhihu.com/p/68411 ...
- CNN 入门讲解:什么是标准化?
此文章首发于 卷积神经网络(CNN)入门讲解zhuanlan.zhihu.com 内容如有修改,不在此处修改,请关注知乎:蒋竺波 ----------------------------分割线--- ...
- CS231n笔记-CNN网络结构
所有图片来自PPT官网Index of /slides/2022 代码:Batch Normalization和Dropout_iwill323的博客-CSDN博客 目录 全连接层存在的问题 卷积层 ...
- CNN网络结构进化概述
网络工程问题是深度学习中比较基础的问题,网络工程的难点在于,缺乏对深度神经网络的理论理解(即常说的黑盒模型),无法根据理论来设计网络结构,实际中更多的是不断的尝试,根据实验反馈出来的结果确定某一结构是 ...
最新文章
- python清华大学出版社第三章课堂作业的答案_Python程序设计清华大学出版社董付国第3章选择与循环题库.ppt...
- 基于机器学习的化合物活性预测模型
- 史上最烂的项目:苦撑 12 年,600 多万行代码!
- ignite服务中的bean注入为空
- 信而泰推出100G多速率测试模块:填补中国通信产业链短板
- 《解释性机器学习》笔记(五):Rule Fit 规则拟合
- 【思维导图总结——数据库系统概论】数据库安全性
- input 不显示边框_不需要使用JavaScript
- JAVA数据结构与算法【队列、数组模拟(环形)队列】
- Golang包管理工具之govendor的使用
- windowsXP的所有应用命令
- npcap和winpcap的关系
- 『vulnhub系列』dpwwn-1—Linux计划任务提权
- MMA7455加速度传感器測量角度
- 关于Qt::WA_TransparentForMouseEvents的一些记录
- 计算机网络软件系统不包括,1period;计算机软件系统一般分为lpar; A rpar;两大部分...
- From Oxygen:开心彩云之南
- 智能车辆纵向速度跟踪与控制方法研究
- as3读写本地xml/txt
- 2021春招面经系列--计算机网络和操作系统