您的位置:首页 > 理论基础 > 计算机网络

卷积神经网络—目标检测 学习笔记(中)

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越大,说明定位精度越高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息