一种基于卷积神经网络自适应的车辆检测方法_2

文档序号:9350399阅读:来源:国知局
用目标CNN车辆检测器对特征进行分类,如果车辆检测器的输 出值大于设定的阈值,则判定该子图像包含车辆,否则判定为背景;
[0041] S37、合并检测窗口并输出:待所有金字塔层都检测完成后,采用非最大压制的方 法(Non-MaxinumSuppression)合并所有相交的检测结果;在检测图像中画出车辆检测结 果,并将结果输出,完成当前监控场景的车辆检测。
[0042] 进一步地,所述的步骤S242中设置的训练调整特征迀移之后的CNN检测器的学习 速率为训练源CNN车辆检测器学习速率的千分之一。
[0043] 本发明的有益效果是:采用基于卷积神经网络的车辆检测方法,提取到的高层特 征能应对偏移、尺度变化和形变等变化,并且卷积神经网络通过从大样本中学习到车辆的 本质特征,保证特征具有较强的可分性,卷积神经网络使用简单的分类器就能得到令人满 意的检测结果,降低了模型的复杂度;并且本发明根据迀移学习的思想,针对不同的监控场 景自适应地调整在大样本上训练完成的基于卷积神经网络的车辆检测器(即源CNN车辆检 测器),使其成为能完成当前监控场景车辆检测任务的新车辆检测器(即目标CNN车辆检测 器),能够对车辆进行精确检测,并且针对不同复杂场景具有自适应性,能够广泛地应用到 实际的监控场景中。
【附图说明】
[0044] 图1为本发明的检测方法流程图;
[0045] 图2为本发明的侧面车辆的源CNN检测器网络结构的示意图。
【具体实施方式】
[0046] 下面结合附图进一步说明本发明的技术方案。
[0047] 本发明首先训练源CNN车辆检测器,它能适用于大多数监控场景但检测精确度达 不到应用的要求。然后根据具体的监控场景,自适应地调整源CNN车辆检测器,获得目标 CNN车辆检测器。最后,将目标CNN车辆检测器应用在具体的监控场景中,以此解决车辆检 测场景适应性的问题。因此,如图1所示,本发明的一种基于卷积神经网络自适应的车辆检 测方法,包括以下步骤:
[0048]S1、离线训练:收集车辆样本和非车辆样本,组成源样本,对源样本进行预处理并 训练源CNN车辆检测器;具体包括以下子步骤:
[0049]S11、收集源样本:从各种监控视频中截取大量的车辆样本,并且从不包含车辆的 图像中随机截取大量的非车辆样本,组成源样本,并根据车辆样本的长宽比将所有车辆样 本分成正面和背面车辆样本、侧面车辆样本、斜侧面车辆样本三类;
[0050]S12、对源样本进行预处理,包括以下子步骤:
[0051]S121、将全部车辆样本和非车辆样本进行尺度变换;
[0052]S122、将全部车辆样本进行水平翻转;
[0053]S123、将全部车辆样本随机地进行平移变换、尺度变换和旋转变换,增加源CNN车 辆检测器的鲁棒性;
[0054]S124、将所有源样本进行归一化处理;
[0055] 本实施例从各种监控视频中收集了 3600张车辆样本,根据样本的长宽比,将其划 分为三类:侧面车辆、斜侧面车辆、正面和背面车辆。侧面车辆包含1200个样本,大小归一 化为宽度92个像素和高度44个像素;斜侧面车辆包含1200个样本,大小归一化为宽度78 个像素和高度48个像素;正面和背面车辆包含1200张车辆样本,大小归一化为宽度44个 像素和高度44个像素。为了增加源CNN车辆检测器的鲁棒性,对车辆样本进行随机的尺度 变换([0. 9,1. 1]倍)、平移变换([-4, +4]像素)和旋转变换([-20, +20]度)。侧面车辆 样本和斜侧面车辆样本还进行水平翻转。那么,训练源CNN车辆检测器的样本包含了 9600 张侧面车辆样本,9600张斜侧面车辆样本,4800张正面和背面车辆样本。所有非车辆样本 从1200张未包含车辆的图像中随机截取,其数量与车辆样本数量相同。所有源样本的像素 值除以255,像素的取值范围归一化为[0, 1]。
[0056]S13、训练源CNN车辆检测器:采用BP算法训练源CNN车辆检测器,每次迭代采用 最小批的方式(mini-batches)计算网络误差,并以此误差更新源CNN车辆检测器中的参 数;当达到预设的最大迭代次数(最大迭代次数根据实验效果决定,本实施例设定为500 次)时或者在验证集上错误率不再下降时终止训练,获得源CNN车辆检测器。
[0057] 设计源CNN车辆检测器的网络结构:源CNN车辆检测器的输入是一张RGB图像, 输出是图像的分类标签。输入层根据车辆样本的大小变化,输出层仅包含单个神经元,输出 1表示车辆,输出O表示非车辆。源CNN车辆检测器可以划分为两部分:特征提取器和分类 器。特征提取器利用三个阶段提取图像的特征,交替地包含卷积层和池化层。分类器是一 个不含隐藏层的全连接神经网络。侧面车辆的源CNN检测器网络结构如图2所示。
[0058]源CNN车辆检测器的特征提取有三个阶段,k= 1,2,3。假定在第k阶段, 输入特征图的集合和输出特征图的集合分别表示为=|m= 1,…,和 = {z〗|n?= 其中Rk1和别表示输入特征图的数量和输出特征图的数量。 在卷积层,特征图的集合表示为In= 1,…,M丨,其计算方式如下:
[0060] 其中,鏺表示特征图丨綠与卷积核之间的卷积操作,_表示偏移量, ,F(_ 为非饱和非线性激活函数。在卷积层之后,池化层无重叠地用一个固定 大小的均值核扫描特征图丨形成池化层的特征图4。虽然三种源CNN车辆检测器的输入 大小不同,但它们的特征提取器都采用相同的结构。如图2所示,在第一阶段有32张特征 图,在第二阶段有32张特征图,在第三阶段有64张特征图。卷积层的卷积核小大为5*5。 池化层采用均值池化,均值核大小为2*2。因此,对于侧面车辆,源CNN车辆检测器提取特征 的维数为1024维;对于斜侧面车辆,源CNN车辆检测器提取特征的维数为768维;对于正面 和背面车辆,源CNN车辆检测器提取特征的维数为256维;
[0061] 源CNN车辆检测器用不含隐藏层的全连接神经网络对第三阶段输出的特征进行 分类,根据输出值判定输入图像是否是车辆。源CNN车辆检测器输出的取值范围为[0,1], 若输出值大于设定阈值〇. 8,那么判定图像为车辆,反之判定图像为非车辆。
[0062] 训练源CNN车辆检测器:源CNN车辆检测器采用BP算法进行训练,根据源CNN车 辆检测器的输出与训练样本标签的误差更新源CNN车辆检测器的参数。在训练时,学习速 率设定为〇. 01,每次迭代输入128个样本(64个车辆样本和64个非车辆样本)。当达到最 大迭代次数时或者在验证集上错误率不再下降时终止训练,获得源CNN车辆检测器。
[0063]S2、离线自适应调整:通过多次的迭代训练,源CNN车辆检测器已经学习到了车辆 的基本特征,并将其存储在了源CNN车辆检测器的参数中,理论上能
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1