————————————————————————————
原文发表于夏木青 | JoselynZhao Blog,欢迎访问博文原文。
————————————————————————————
深度学习教程与实战案列系列文章
深度学习 | 绪论
深度学习 | 线性代数基础
深度学习 | 机器学习基础
深度学习 | 实践方法论
深度学习 | 应用
深度学习 | 安装conda、opencv、pycharm以及相关问题
深度学习 | 工具及实践(TensorFlow)
深度学习 | TensorFlow 命名机制和变量共享、变量赋值与模型封装
深度学习 | TFSlim介绍
深度学习 | TensorFlow可视化
深度学习 | 训练及优化方法
深度学习 | 模型评估与梯度下降优化
深度学习 | 物体检测
深度学习| 实战1-python基本操作
深度学习 | 实战2-TensorFlow基础
深度学习 | 实战3-设计变量共享网络进行MNIST分类
深度学习 | 实战4-将LENET封装为class,并进行分类
深度学习 | 实战5-用slim 定义Lenet网络,并训练测试
深度学习 | 实战6-利用tensorboard实现卷积可视化
深度学习 | 实战7- 连体网络MINIST优化
深度学习 | 实战8 - 梯度截断
深度学习 | 实战9- 参数正则化
物体检测
内容和预期效果
• 内容
• 回顾物体检测的发展历程
• 介绍基于深度学习方法的物体检测算法 • 分析典型算法
• 回顾前面提及的深度学习方法的特点
• 介绍物体检测算法的评测过程
• 效果
• 深入了解计算机视觉发展历史
• 加深对深度学习特点的记忆和理解
• 掌握使用深度学习解决计算机视觉问题的思想、建模过程、具体工具 • 理解学术研究中数据集、评价指标的影响
1、物体检测
1、物体检测
物体检测及评测流程
2、基于深度神经网络的物体检测方法
2012年前,物体检测套路
- 底层特征+中间表示+高层分类器
2012年出了个大新闻——AlexNet
2012年之后 - 图像->神经网络->输出
2012年前,物体检测套路:
- 底层特征:HOG、SIFT、LBP、Haar
- 中间表示:BoVW、Histogram、DPM、Fisher Vector、Embedding、Pooling
- 高层分类器:SVM、Latent SVM
当时的state-of-the-art是DPM,作者和传承者:Ross Girshick
2012之前的路:
- 划分任务阶段,每个任务彼此隔离,优化各自的指标。
- 每个步骤都有一定的可解释性,但是效果不理想。
- 各有各的底盘,各干各的。
2012之后的路:
- 端到端的一锅炖。
- 可解释性很差,谁知道神经网络在训练的时候经历了什么,但是确实做得还不错。
- 神仙打架。
2012年之后,物体检测大体上分为两类(要不要候选框)
- 两步法(候选框+分类)[准确+慢]
- 一步法(划窗+分类)[不准确+快]
网络结构:
• 骨干网(backbone network) + 检测端(detection head)
• 好的特征:好的骨干网、特征融合
• 轻量化的检测端
• 用NAS搜网络结构(只有大公司能做)
• 图像多尺度、特征融合、自注意力或者非局部自相似去重
技巧:
- 数据增广:训练时间变长,测试泛化性能变好
算力:超参数搜索,为了0.1%
数据:人力,多少人工多少智能
技巧:有些人训的就是好!!
推荐:Tong He, Zhi Zhang, Hang Zhang, Zhongyue Zhang, Junyuan Xie, Mu Li. Bag of Tricks for Image Classification with Convolutional Neural Networks,CVPR2019.
总结了所有的关于神经网络的训练技巧
2.1 两步法
- R-CNN:selective search+backbone feature+SVM(每个proposal都要过一遍CNN提取特征)
- PASCAL VOC 2012: 62.4%
超像素融合
- Fast R-CNN:selective search+ROI
pooling - 相比于R-CNN先SS,抠图,提特征
- Fast R-CNN是先提特征,用SS扣特 征,ROI pooling到一起
- PASCAL VOC 2012: 68.4%
抠图转化为 抠特征
• Faster R-CNN:RPN + Fast R-CNN
• 用网络实现SS,整个网络可以 端到端训练
• PASCAL VOC 2012: 75.9%
Mask R-CNN:
• 以Faster R-CNN为基础 • 添加了掩码输出
• 多实例检测
• 多实例分割
• 姿态估计
2.2 一步法
OverFeat,多尺度+滑窗
YOLO
• 图像划分成格子,回归类别和 框
• 速度快
• PASCAL VOC 2012: 57.9%
SSD
• 不同的卷积层输出都回归框和类别
• PASCAL VOC 2012: 82.2%
2.3 典型算法分析
两步法——Faster R-CNN
• 骨干网络,共享卷积层
• 区域候选网络
• 感兴趣区域池化
• 检测端,分类、边界框回归
Tensorflow代码:https://github.com/endernewton/tf-faster-rcnn Caffe代码:https://github.com/rbgirshick/py-faster-rcnn caffe网表绘制工具:http://ethereon.github.io/netscope/#/edito