目标检测算法分类
目标检测的任务
分类原理
分类的损失与优化
对于目标检测来说不仅仅是分类这样简单的一个图片输出一个结果,而且还需要输出图片中目标的位置信息,所以从分类到检测,如下图标记了过程
检测的任务
目标定位的简单实现思路
**在分类的时候我们直接输出各个类别的概率,如果加上定位的话,我们可以考虑在 网络的最后输出加上位置信息。(增加一段全连接输出4个位置,做损失计算)**
两种Bounding box名称
R-CNN与SPPNet
目标检测-Overfeat模型
滑动窗口
这种方法类似一种暴力穷举的方法,会消耗大量的计算力量,并且由于窗口大小问题可能会造成效果不佳,但是提供了一种解决目标检测问题的思路。
R-CNN模型
- 候选区域(Region of Interest)
- CNN网络提取特征
- 特征向量训练分类器SVM
每个SVM分类器做的事情,判断2000个候选区域是某类别,还是背景 - 非最大抑制(NMS)
- 修正候选区域
- 检测的评价指标
IOU交并比
平均精确率(mean average precision)
- 流程总结
输入图片
找出图片中可能存在目标的候选区域region proposal
将候选区域调整为适应AlexNet网络的输入图像的大小227227,通过CNN对候选区域提取特征向量,2000个建议框的CNN特征组合成网络AlexNet最终输出:20004096维矩阵
将20004096维特征经过SVM分类器(20种分类,SVM是二分类器,则有20个SVM),获得200020种类别矩阵。
分别对200020维矩阵中进行非极大值抑制(NMS:non-maximum suppression)提出重叠建议框,得到与目标物体最高的一些建议框
修正bbox,对bbox做回归微调 - 优缺点
SPPNet
- 映射
- spp
- 总结
Fast R-CNN
- 改进的地方
- Rol pooling
- End-to-End model
- 多任务损失-Multi-task loss
R-CNN、SPPNet、Fast R-CNN对别
Faster R-CNN
- RPN原理
anchors(窗口)
- Faster RCNN训练
- 候选区域训练
开源的keras Faster RCNN模型
https://github.com/jinfagang/keras_frcnn
- 环境
- 代码结构
YOLO(You only look once)
可以看出YOLO的最大特点是速度快
结构
- 单元格(grid cell)
- 网格输出筛选
- 非最大抑制(NMS)
- 训练
与Faster R-CNN比较
总结
SSD(Single Shot MultiBox Detector)
原理结构
- 结构
- 流程
- Detectr&classifier
- PriorBox层-default boxes
- localization与confidence
训练与测试过程
- 训练流程
- 测试流程