卷积神经网络—目标检测 学习笔记(中)
2018-02-03 11:48
435 查看
3.4 滑动窗口的卷积实现(Convolutional implementation of sliding windows)
滑动窗口算法计算成本高的主要原因是有许多重复计算,如下图所示:在滑动过程中,红框和绿框重叠区域会被计算多次,这浪费了很多计算时间,因此要改进滑动窗口就要避免重复计算。
先看一下滑动窗口算法的结构:
由于使用全连接层,每次处理只能输出一个结果。而如果我们想共享重叠部分的计算,很自然想到一次处理得到所有窗口的结果,全连接层难以胜任,所以我们要使用卷积层代替全连接层。如下图所示:
注意,这里是以四分类为例,所以最后得到的是一个1*1*4的结果,分别代表每种分类的概率。
这样便完成了全连接层向卷积层的转换,接下来要实现一次处理得到所有窗口:
如上图所示,假设我们对28*28大小的图片截取8*8个窗口,最终的分类结果有四种。由于图像位置关系都是一一对应的,所以原图中(1,1)处的窗口对应处理后(1,1)处的结果,原图中(i,j)处的窗口对应处理后(i,j)处的结果。
这样便实现了一次处理得到所有窗口的结果。
滑动窗口的卷积实现已经很高效,但缺点是边界框不够准确。 因为边界框完全由窗口大小及步长决定,很难使所有的目标恰好在窗口中。
3.5 Bounding Box Prediction
主要描述了YOLO(You Only Look Once)算法:将输入图像划分成N*N 的网格。
对N*N个网格使用定位分类。
需要注意一下几点:
YOLO使用的是卷积实现,可以一次处理N*N个网格。
目标的中点位于哪个网格,那么就认为目标位于该网格。
每个网格都会产生一个定位分类中的Y(维度为8),所以算法最后的输出是一个N*N*8的结果。
对于目标中心的指定,以目标所在网格的左上为(0,0),右下为(1,1)来进行表示。当物体跨越多个网格时,bh,bwbh,bw 会大于1。
当网格内的目标不超过一个时,YOLO算法表现很好,可以达到实时检测。当一个网格出现多个目标时,可以考虑使用更稠密的网格。
3.6 交并比(intersection over union)
为了衡量定位精确度,引入了交并比的概念。顾名思义,交并比是两个集合交集 比 它们的并集。以下图为例
紫色框区域为预测的目标位置,红色框区域为目标的真实位置,二者的交并比为黄色区域比绿色区域。
一般交并比≥0.5时,我们就认为定位结果是可以接受的。IoU越大,说明定位精度越高。
相关文章推荐
- 吴恩达深度学习笔记四:卷积神经网络 基础和目标检测部分
- DeepLearning.ai学习笔记(四)卷积神经网络 -- week3 目标检测
- 卷积神经网络—目标检测 学习笔记(上)
- 吴恩达深度学习笔记之卷积神经网络(目标检测)
- 卷积神经网络—目标检测 学习笔记(下)
- Coursera吴恩达《卷积神经网络》课程笔记(3)-- 目标检测
- 深度学习笔记之使用Faster-Rcnn进行目标检测 (实践篇)
- 【深度学习:目标检测】RCNN学习笔记(7):Faster R-CNN 英文论文翻译笔记
- 我的OpenCV学习笔记(3):基于混合高斯模型GMM的运动目标检测
- 多视图3D目标检测学习笔记
- caffe学习笔记29-关于目标检测
- 深度学习笔记之使用Faster-Rcnn进行目标检测 (原理篇)
- [学习笔记]运动目标检测(加注释)
- 目标检测系列学习笔记(RCNN系列+YOLO系列)
- openCV目标检测学习笔记(一)
- OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope
- 目标检测经典模型学习笔记(二)VGG
- 深度学习——卷积神经网络的应用——目标检测
- 《OpenCV 3计算机视觉:Python语言实现》学习笔记——目标跟踪中基本运动检测的思考
- 吴恩达Coursera深度学习课程 DeepLearning.ai 提炼笔记(4-3)-- 目标检测