Object Location 对象定位
localization and detection
利用神经网络解决对象分类和定位问题
Classification with localization
- 标准的分类
- 如果想用框标记car,则可以采用监督学习,在softmax函数中多加四个参数定位car的位置并标记出来。
Defining the target label y !!!!非常重要
- 首先假定场景中只有一个物体
- c1 c2 c3 c4代表四种类别,值为1则表示选中某个class
- bx by bh bw 是标记框的定位
- Pc=0 代表检测不到物体,则y选择c4 = background
- Pc =1 则其余参数在c 1 2 3 中选择并赋值 1 ,不是则赋值 0
这些数据最终训练了数据集 Pc = 1时可用平方差检测误差,Pc=0 只需要统计检测精度
Landmark detection 特征点检测
- 以人脸为例,将人脸图片输入卷积网络,然后输出特征,由此实现对图片的人脸检测和定位(图片集X、标签集Y)
Object Dtection 对象检测
本节学习通过CNN进行对象检测
- 采用基于滑动窗口的目标检测算法:
1、一次选择一个小区域,一步一步遍历整个图片,标注0或1;选择框逐渐加大,最终检测出车辆位置 2、明显的缺点:计算成本太高
Turning FC layer into convolutional layers
用卷积层代替全连接层
通过卷积实现滑动窗口对象检测算法
参考文献:[Sermanet et al, 2014,OverFeat: Integrated recognition, localization and detection using convolutional networks)
总结
边界框的位置仍不准确
Bounding box Predictions
输出精准的边界框 YOLO算法
YOLO算法:[Redmon et al.,2015,You Only Look Once: Unified real-time object detection] (相对很难读懂,但也可以看一看)
- 观察对象的中点,将它分配到中点所在的格子
- 速度很快,可达实时检测
- 一些参数
YOLO 算法
交并比 IoU&评估对象定位
- More generally, loU is a measure of the overlap(重叠) between two bounding boxess.
Non-max suppression
非最大值抑制 :只检测一次对象,只输出概率最大的结果
example
algorithm
- 去掉所有小于阈值(低概率 pc)的边框
- 一直选择pc(概率)最高的边框
- 第一步去掉的边框和高亮边框IoU很大的都去掉
Anchor boxes
一个网格单元有2个对象
- 预先定义两个不同的boxes
- 不同的box对应不同的对象
algorithm
example
- 两种处理不好的情况
1、两个对象形状相似 2、多于两个对象 需要引入一些打破僵局的默认手段专门处理这种情况 有点,让数据集更有针对性,能检测出更具备特殊特征的人 ,YOLO 后期可用 k-means 选取 anchor boxes
YOLO 对象检测算法
训练
预测
非最大值抑制输出
候选区域
文献来源: [Girshik et. al, 2013,Rich feature hierarchies for accurate object detection and semantic segmentation]
如滑动窗口算法,窗口会路过很多无意义的区域,所以提出带区域的卷积算法:分割算法,在色块上放置边界框,减少处理量
Fast R-CNN算法
- 首先得到候选区域
- 再分类
Girshik et. al, 2013.Rich feature hierarchies for accurate object detection and semantic segmentation]I(Girchik 9015 Fast R-CNN]
Faster R-CNN算法
[Ren et. al, 2016.Faster R-CNN: Towards real-time object detection with region proposa networks] 其实大多是faster -R-CNN算法还是不如YOLO算法
|