Image Detection in deep learning
来源:互联网 发布:一扫就出答案的软件 编辑:程序博客网 时间:2024/05/20 06:23
1.R-CNN(Region with cnn)
产生原因:原始的detection问题中,使用滑窗对图片进行处理,对所有的区域选择进行遍历,但是这需要耗费大量的计算能力
在R-CNN中,
- 首先使用selective search对图像进行处理来给出一定数量的建议区域,预处理到
227∗227 大小 - 对每一个selective search的建议区域使用cnn进行特征提取,cnn网络使用pre-train的结果进行fine-tune得到适合当前实际具体问题的网络
- 对于n类的detection问题,训练n个二分类SVM,对于一个建议区域,会从n个SVM中得到n个分数,取其中最高的作为当前的区域的类别
- 进行bounding box regression来对建议区域进行精修
使用的数据集中,会将图像中实际的物体进行框选,同时含有类别标签,这个区域记为ground-truth
定义 IoU(A,B) =
训练流程:
- pre-train:使用ILVCR 2012的全部数据进行训练,对于一张图片,输出维度为1000的类别标号
- fine-tune: 对于n类的detection问题,首先将pre-train的模型最后一层的1000-way的softmax层改成(n+1)-way(n class + ground)的softmax
使用的数据:由selective search提供,当该建议区域和所有训练数据中标记出的ground-truth(不论属于哪一个类别)的IoU<0.5时记为一个负样本,否则为正样本
最后fine-tune出一个二分类的网络,判断当前的输入的建议区域是否含有有意义的信息,即不是背景 - 对于每一个类训练一个单独的SVM
使用的数据:与此类别ground-truth的IoU<0.3的建议区域在fine-tune之后的网络中FC7的输出记为负样本,相关类别的ground-truth在FC7的输出为正样本 - 对每个类分别进行bounding box regression训练
使用conv5的输出作为训练数据,要求使用的数据来源于与相关类别的真值IoU>0.6的建议区域
测试过程
- 对于使用的输入图像,使用selective search得到1000-2000个建议区域,缩放或剪裁到固定的大小
- 对于每一个类别独立进行,使用fine-tune之后的网络计算输入在FC7和conv5的输出。FC7的输出送到n个SVM中,选择那些在当前类别对应的SVM中取得最大值的样本,使用其conv5的输出来进行bounding box regression精细化边框
缺点
- 对于每一个建议区域都进行一次特征提取,速度慢
- 非end-end模型,分阶段训练
2.SPP-Net
对样本进行的crop和warp会对图片原本的信息造成一定的损坏
这些操作的目的是为了使得输入的大小一致,对于卷积操作而言,输入的维度没有限制,输出的维度h会随之动态变化,主要的问题来自于卷积操作之后的全连接层要求输入的维度固定
改进1. Spatital Pyramid Pooling
使用空间金字塔池化对尺度不一样的建议区域进行处理,最后得到维度不变的输出,即使输入的图片尺度不一样,使用相对的大小而不是绝对的大小就可以得到维度一样的输出
如上图所示,将图片平均分为4*4,2*2,1*1块,分别进行最大(或者其他)池化,则无论输入的图像维度如何,输出都是
改进2. 全局卷积
对整张图进行一次全局的卷积来提取整张图片的特征,在进行全连接之前,根据卷积的比例关系找到原图中建议区域在新的feature map中的映射位置,对其进行spp再放进FC层,得到的输出输入到SVM得到结果。
缺点:
- 只对全连接层进行fine-tune
- 本身属于多尺度的操作,梯度回传难度很大,所以进行回避,之前的参数都不参加finetune
3. Fast R-CNN
特点:基于SPP-Net进一步改进
改进1. RoI Pooling
SPP的单层特例
改进2. Multi-task loss function
将分类的损失和bounding box regression的损失函数进行合并,使得可以只用一步同时完成分类和选框的修改。
缺点:
- selective search仍然是一个独立的模块
4. Faster R-CNN
特点:在网络中集成区域建议,Fast R-CNN + Region Proposal Network
RPN:
两层的CNN网络结构:
输入:conv5的输出
* 第一层
* 第二层的第一个分支
* 第二层的第二个分支
K值由两个值尺度scale个长宽比ratio决定,若有m个ratio,n个scale,则K =
输入图像的每一个像素都可以是Region的中心,若conv5的输出为
- Image Detection in deep learning
- 【Deep Learning】Detection
- USING DEEP LEARNING FOR ANOMALY DETECTION IN RADIOLOGICAL IMAGES
- deep learning for face detection
- deep learning for face detection
- deep learning for face detection
- Deep Image Retrieval: Learning global representations for image search. In ECCV, 2016.
- deep learning for image compression
- In on deep learning
- deep learning in NLP
- Autoencoders in Deep Learning
- IR in deep learning
- Deep Learning in OpenCV
- Joint Deep Learning for Pedestrian Detection
- Deep Learning Strong Parts for Pedestrian Detection
- deep learning for face detection (caffe C++)
- 【Deep Learning】Face Detection and Alignment
- 论文笔记-deep learning-detection (2017)
- linux debian下配置ntp时钟同步
- Maven常用命令
- It's possible your PC or network is sending automatic requests. To continue, please enter following
- Java方法
- Ubuntu上安装RabbitMQ
- Image Detection in deep learning
- 小程序的视频代码示例
- HDU_2009数列求和问题
- Jenkins安装
- dubbo-admin管理平台搭建
- iptables之tcp flags
- Java高并发秒杀系统(二)
- 不一样的中国风,不一样的中国元素
- python中的闭包以及对装饰器的理解