YOLO V2详解


1.批次归一化


        YOLO第二版在训练时使用的是批次归一化(Batch Normalization)方法,能够更好地增加模型的泛化能力,在PASCO VOC数据集上,不改变网络结构的前提下,mAP有了2%的提升。另外,使用了批量归一化方法之后,可以去掉YOLO第一版使用的dropout方法。

2.使用高分辨率训练集

        YOLO第二版训练时,使用了更高分辨率的数据。YOLO第一版首先基于224×224的分类数据集训练前面的卷积层,然后在448×448的检测数据集上训练整个检测网络,两次训练数据的分辨率存在差距,使得模型不容易达到最优的效果。YOLO第二版为了克服这个问题在224×224的分类数据集训练前的卷积层之后,基于448×448的分类数据进行了若干轮迭代训练,使得网络更加适配高分辨率的数据,之后,在分辨率为448×448的检测数据集上训练整个检测网络。通过这样的训练策略,模型的mAP有了4%的提升。


3.基于锚


        YOLO第二版相对于第一版另一个重要的改进就是使用了锚。类似FasterR-CNN中的RPN网络,基于锚的网络是全卷积的,其原理就是在前面若干卷积层提取的特征图上,用一个小卷积网络在每个位置上进行滑动,在特征图每个位置上回归目标参数。在YOLO第二版中,去掉了第一版最后的两个卷积层以及一个池化层,并添加了用于在每个特征图的子块上进行预测的卷积层,整个网络变成全卷积结构。因为采用的是全卷积网络,所以不受输入图像尺寸的限制,对于一些大的目标,很大概率其居于图像中心的位置,如果用于回归的特征图的子块维度为奇数,则目标的中心大概率会落在中心的子块,相比子块维度为偶数时目标中心落在周围的子块的情况,目标中心落在中心子块时错与目标更容易匹配。因此YOLO第二版中对输入图像的尺寸做了一点修改,由448×448缩减到416×416,这样经过前面的卷积层,图像经过32倍的下采样,生成的特征图尺寸为13×13,行列均为奇数,即大目标的中心大概率会落在中间的特征子块中,更有助于进行目标的预测。
Faster R-CNN使用的锚完全是手工设计的,YOLO第二版做了进一步改进,通过k-means算法,在训练集中对anchor的位置和形状进行了聚类。用box表示图像上任意一个框,centroid表示k-means聚类中心anchor(也是一个框),定义两者的距离为
d(box,centroid)=1-IoU(box,centroid)
        选择的聚类中心(这里就是错)越多,能够匹配的目标框就越多,但计算过程也会越复杂。一般通过统计,会选取一个匹配度和计算复杂度较好的折中。如图10-3所示,通过分析,选择了5个锚。这种情况下,特征图上的每个位置会回归(4+1+20)×5个参数,表示5个锚,每个锚需要回归4个位置坐标、1个框置信度,以及20个分类概率。

           为了训练过程更加稳定,YOLO第二版限制了要预测的目标框的位置,如图
10-4所示,目标的中心点被限制在当前子块内,通过预测目标框的宽和高与错的宽
和高的比例,获取目标框的位置,计算公式如下。


       

 

         整个图像基于子块的宽和高进行了归一化处理,最终子块的宽和高都为1。tx、ty、tw、th。是需要回归的参数,bx、by,bw、bh,分别表示整幅图像归一化后目标框的中心点坐标以及宽和高,Pw、Ph分别表示整幅图像归一化后错的宽和高。其中 为sigmoid函数,将 \sigma (t_{x}),\sigma (t_{y})约束在(0,1)内。\sigma (t_{x}),\sigma (t_{y})给出了预测框相对于子块左上角(Cx,Cy)的归一化偏移量,\sigma (t_{\sigma})给出了预测框的置信度。因为对所预测的目标框中心点位置范围进行了限制,所以模型优化的过程变得更加稳定且更容易学习。
        值得注意的是,YOLO第二项使用了基于锚的方法,每个锚都分别回归各自框的坐标和分类概率,本质上就去掉了YOLO第一版中一个子块只包含一个目标的默认假设,从而针对密集小目标的场景增加了适应能力。使用锚策略,和YOLO第一版相比显著增加了预测框的数量,使得算法对目标召回更加有利。


4.使用浅层细节特征


        YOLO使用最上层13×13的特征图进行且标预测,因为顶层的特征图具有较大的感受野,所以有利于对大目标进行预测,但同时,也会因为使用的都是整体特征,所以对细节和小目标的预测性造成影响。为了提升多尺度目标的检测能力,FasterR-CNN采取的策略是在不同尺度的特征图上设计锚,YOLO则另辟蹊径,把深层特征和浅层特征进行级联,使得新的特征图同时具有深层特征和浅层特征的表达能力顶层特征图的尺寸为13×13—其前面一层特征图的尺寸为26×26,将26×26的特征图按照奇数行列和偶数行列进行拆分,变成4个13×13的特征图并依次摞在原始的顶层13×13的特征图上,则新的特征图尺寸仍然保持13×13,通道数为原顶层13×13特征图通道数+4×原26×26特征图的通道数。
基于新的特征图进行预测,mAP有了1%的提升。


5.使用多尺度图像进行训练


        因为YOLO第二版使用的是全卷积网络,只包含卷积层和池化层,所以对输入图像的尺寸没有限制。在训练的时候,在一个尺寸上完成若干次迭代后,可以把样本图像缩放到其他尺寸上继续迭代训练,从而提升网络对多尺度目标检测的性能。

 

你可能感兴趣的:(目标检测,深度学习,目标检测,cnn,计算机视觉)