一种用于行人检测的协同式深度网络模型方法与流程

文档序号:11143389阅读:465来源:国知局
一种用于行人检测的协同式深度网络模型方法与制造工艺

本发明属于信息技术领域,涉及数字文件内容保护技术,尤其涉及一种用于行人检测的协同式深度网络模型方法。



背景技术:

无论是自然科学研究还是社会科学研究,人类自身一直是其中最重要的关注对象,因此,利用计算机分析人类活动一直是计算机视觉领域中最热门的研究课题。而人类动作识别和事件检测等智能化行为的分析都需要以快速准确的行人检测为前提,因而行人检测技术的研究日益受到学术界和工业界的广泛关注,对现代视频监控、智能机器人和无人驾驶技术的发展均具有深远意义。一般来说,行人检测是指判断给定图像或视频帧中是否包含行人,如果包含,并标出行人位置的过程,因而可以分为样本的分类和定位两大部分。其中,快速准确的样本分类是行人检测技术的前提和关键。

现有的行人检测技术已较为成熟,其基本框架来源于HOG+SVM模型。其中,行人样本的分类大致分为样本收集(候选框提取)、预处理、特征提取、分类器训练和测试五个主要步骤。其中,特征提取和分类器训练是影响检测性能的关键。按照分类过程所使用分类器数目的多少,行人检测算法可以分为单分类器模型算法和多分类器模型算法。在第一类中,基于人工特征的检测算法和基于深度学习的检测算法占据主流。前者先用人工定义的方法从图像中提取特征,包括HOG特征、LBP特征、ACF等,再送入常用分类器中进行训练,最后利用训练好的模型去区分行人和非行人样本。后来,深度学习算法的出现大大提高了特征提取的准确性和分类器的检测性能,但仍然受限于单个分类器在特征学习能力上的局限性,其结果仍未达到理想水平。第二类算法成功突破了单分类器模型的瓶颈,它们使用多个分类器去学习样本特征,并将各分类结果整合在一起,实现了更加精准的分类效果,如常用的基于部件模型的分类算法、级联模型和集成模型等。基于部件的模型往往从样本的各个部分出发,提取局部特征,训练局部分类器,最后再整合分析,对于遮挡较为严重的样本能够较好地学习到有用的轮廓特征,从而大大提升了检测性能;级联模型则使用Boosting的思想,将多个分类器顺序排列,然后用不同的样本逐一训练这些分类器,使得它们具备不同的分类能力,其中后一分类器的设计需依据前一分类器的分类结果,最终级联所有的弱分类器形成一个强分类器,从分类器互补的角度改进了检测算法的性能;集成模型则是多分类器模型中较为罕见的一类,在行人检测领域尚未被人关注和使用,它采用并行的方式来整合多个分类器,让所有子分类器共同完成最终的决策,这与人类社会协同合作的决策方式极其相似。目前在行人检测领域成功得到验证和应用的集成模型仅有集成CNN(Convolutional Neural Network,卷积神经元网络)模型,它并行地训练多个CNN模型,然后将每个样本输入各CNN模型,最后取输出的得分中最大、最小或平均值作为该样本的最终分类结果。基于集成CNN模型的分类算法具体过程包括:

1)准备训练数据集,用滑动窗口法从原始数据集中提取多尺度的行人和非行人候选框;

2)将每个样本依次送入CNN进行卷积和pooling计算,得到特征图;

3)采用不同的dropout比例设置全连接层,然后将从原始样本中提取的特征图送入训练不同的CNN模型;

4)将测试数据集依次送入训练好的模型中进行行人样本的分类,每个样本均得到若干检测得分,计算得分的最大、最小或平均值作为最终的判别得分。

可见,上述原始基于集成CNN模型的分类算法仅仅集成CNN模型。该模型比基于部件的模型和级联模型更具科学性,可以解决行人形变和遮挡问题,但是,它在整合方式上存在弊端,不具备一般性和理论依据,样本分类的精准性不足。



技术实现要素:

为了克服上述现有技术的不足,本发明提供一种用于行人检测的协同式深度网络模型方法(Collaborative Deep Network,简称CDN),主要针对行人检测技术中的分类过程,设计一种协同式深度网络模型,将由K-means聚类算法得到的不同类型的训练数据集用于并行地训练多个深度网络,再通过人工神经元网络将原始数据集在这些深度网络上的分类结果进行整合和综合分析,以实现更加精准的样本分类,可用于行人检测中行人样本分类。

本发明的原理是:本发明对基于集成CNN模型的分类算法进行改进,基于集成CNN模型的分类算法的思想是利用全连接层中dropout的结点的不同来构建多个不同的CNN网络,用样本训练每个CNN网络,最终对每个网络的输出取最大、最小和平均值,进而完成分类。本发明借鉴了人类社会分工协作的工作模式,先并行地训练多个不同的深度网络模型作为成员,然后训练一个类似决策者的人工神经元网络去学习数据集中的每个样本在各个子分类器上的分类结果信息,使其学会综合分析这些信息并得到更加准确的结论。同时,为了增强团队每个成员的能力,即各个子分类器的分类效果,进而提升整个分类模型的分类能力,本发明还提出了一种基于K-means聚类算法的重采样方法,先将原始数据集中提取出来的候选样本框按照某种特征进行聚类,得到不同类别的行人样本和非行人样本,再送入不同的检测模型进行学习,以使得分类器能够学到更加集中的样本特性。需要注意的是,本发明实际上提供了一种新的集成模型框架,使用多种深度网络模型,其中使用的深度网络模型本身效果越好,其集成后的效果也越显著。总之,本发明采用的协同式深度网络模型方法能够集成多个不同类型的深度网络模型,并且使用人工神经元网络取代现有的原始算法中计算最大、最小或平均值的方法来整合不同深度网络的分类结果,为了提升每个子深度网络的分类能力,还设计了基于K-means聚类算法的重采样技术,从而达到实现更加准确的行人分类的效果。

本发明提供的技术方案是:

一种用于行人检测的协同式深度网络模型方法(简称CDN),通过建立协同式深度网络模型,将由聚类算法得到的不同类型的训练数据集用于并行地训练多个深度网络模型,再通过人工神经元网络将原始数据集在各个深度网络模型上的分类结果进行整合和综合分析,以实现更加精准的样本分类;包括如下步骤:

1)采用基于K-means聚类算法的重采样方法,将原始训练样本数据集按照不同特征划分为不同的子样本集;

2)选取多个深度网络模型分别作为子分类器,利用上述子样本集并行地训练所述多个深度网络模型,得到多个训练好的子分类器;

3)将原始训练样本数据集同时送入所述多个训练好的子分类器中,得到检测得分,将所述检测得分连接成检测得分向量,利用所述检测得分向量训练一个人工神经元网络,得到训练好的协同式深度网络模型;

4)将测试数据集输入到所述训练好的协同式深度网络模型中对行人样本进行分类,得到行人样本分类。

针对上述协同式深度网络模型方法,进一步地,步骤1)所述基于K-means聚类算法的重采样方法,具体采用K-means聚类算法自动分割原始训练样本数据集,通过重采样得到多个具备不同特性的训练子样本集,使得训练子样本集之间差异较大而训练子样本集内差异较小;包括如下步骤:

11)对原始训练样本数据集D中的每一个样本,提取得到特征向量n为样本总数;

12)随机选择k个样本的特征向量作为聚类中心,记为

13)通过式1计算得到每个特征向量与每个聚类中心的距离dij

dij=||xi-cj||2 (式1)

式1中,xi为原始训练样本集D中的每个样本的特征向量;cj为每个聚类中心;

14)对于每个特征向量xi,依据其与各个聚类中心的距离大小,将该特征向量划分至彼此间距离最近的中心向量所在的类;

15)通过式2更新每类的中心向量:

其中,Cj表示每个类别中所包含的所有样本标号;

16)当Cj不再变化时,停止聚类过程,得到不同的子样本集;否则返回步骤13)。

针对上述协同式深度网络模型方法,进一步地,所述特征向量为三通道特征,每个样本对应三个特征向量,将三个通道中的每一个特征向量分别对原始训练样本进行聚类;将步骤12)所述分类个数k的模型初始化值设为2,代表对应样本包含行人和非行人两类的属性。

针对上述协同式深度网络模型方法,进一步地,步骤2)作为子分类器的深度网络模型包括基础深度网络模型、强深度学习检测器和用弱训练样本训练的强深度学习检测器。其中,基础深度网络模型包括卷积神经元网络模型和感知器模型;所述强深度学习检测器包括联合深度学习模型。

针对上述协同式深度网络模型方法,进一步地,步骤3)所述人工神经元网络的前馈模型为式3:

yj=f(netj),j=1,2,...,m (式3)

其中,xi代表输入层第i个结点的值,wij代表输入层第i个结点到输出层第j个结点的连接权重,n是输入层结点个数,bj代表输出层第j个结点的偏置;

可采用反向传播算法训练所述人工神经元网络。

针对上述协同式深度网络模型方法,进一步地,在本发明实施例中,步骤2)选取联合深度学习模型为子分类器,原始训练样本数据集采用Caltech行人数据库和ETH行人数据库中的原始图像,对该子分类器的训练过程分为以下几步:

第一步,先将原始图像变换到YUV颜色空间,提取得到三通道特征;

第二步,将得到的三通道特征输入联合深度学习模型,对输入的三通道特征进行两次卷积变换和一次pooling操作,得到多个部件检测图;

第三步,通过式4对部件检测图进行形变处理,计算得到各部件的得分sp

其中,Mp代表第p个部件检测图;Dnp和cnp分别代表第p个部件对应的第n个形变图及其权重;对应Bp中(x,y)位置上的元素;

第四步,通过式5将所有部件的得分构成部件得分向量s:

再用所述部件得分向量训练视觉推理和分类网络,即完成上述子分类器的训练,得到训练好的子分类器。

上述训练过程中,第一步所述三通道特征,其中,第一通道特征对应原始图像的Y通道特征;将第二通道特征分为四部分:左上角、右上角、左下角、右下角,左上角、右上角、左下角分别对应尺度缩小为原来一半的原始图片的Y、U、V三个通道的特征图,右下角用0填充;将第三通道特征也分为四部分,反映原始图片的边缘信息,左上角、右上角、左下角分别是由原始图片的Y、U、V三个通道的特征图经过Sobel算子变换并进行尺寸放缩后得到的边缘图,右下角由上述三个边缘图中每个位置取幅值最大的像素值构成。在本发明实施例中,第二步使用二十个卷积核,计算得到二十个部件检测图,为部件的特征图。第三步中采用的形变图为与部件检测图尺寸相同的二维矩阵,每个矩阵中的值均在0到255之间。

与现有技术相比,本发明的有益效果是:

本发明针对计算机视觉中的行人检测领域,现有行人检测技术中使用的分类算法所存在的局限性,提出了一种新的协同式深度网络模型算法。先由K-means聚类算法从原始数据集中分割出不同类型的训练子数据集,再用这些数据集并行地训练多个深度网络模型,最后通过人工神经元网络将全部样本在这些训练好的深度网络模型上的分类结果整合在一起,综合分析以实现更加精准的样本分类。本发明在多个实验数据集上相比其他算法都有更好的效果。

与现有技术相比,本发明的核心优点体现在以下方面:

(一)构建了一种新的协同式多模型学习框架来完成行人检测中的分类过程,框架内并行地训练若干不同的深度网络模型,最后整合各模型的分类结果来共同做出决策,有效避免了单一分类器在特征提取和特征学习上的局限性。

构建一种新的协同式多模型学习框架是现有的行人检测技术中基本没有考虑过的,本发明提供的多个深度网络模型协作的分类模式可以有效弥补单一深度模型在特征提取和特征学习上的局限性,尤其是对于形变和遮挡较为严重的行人样本,充分发挥每个分类器的特长,消除检测误差,从而实现更加准确的行人检测。

(二)提出利用人工神经元网络来整合协同式模型中各子分类器的判决结果,并借用机器学习的方法训练该网络,能够更加有效地综合各分类器反馈的信息。

利用人工神经元网络来整合协同式模型中的各个深度网络的策略比现有的利用平均或取最大值等人工规则更贴近人脑决策方式,更具科学性,能够实现更好的检测效果。

(三)提出了一种基于K-means聚类算法的重采样技术,先将原始数据集中提取出来的候选样本框按照某种特征进行聚类,得到不同类型的行人样本和非行人样本,用以训练不同的检测模型,利用K-means聚类算法进行样本的重采样可以使每个子分类器能学到不同且更加集中的行人特征,以使得各分类器均能够学到更加专一的样本特征,增强某一类样本的分类能力,增强协同模型中各分类器的分类效果,进而提升整体分类效果。

附图说明

图1是本发明提供的协同式深度网络模型方法的流程框图。

图2本发明实施例中以联合深度模型为子分类器的训练过程的流程框图。

具体实施方式

下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。

本发明提出了一种用于行人检测的协同式深度网络模型算法(简称CDN),该算法是一种样本分类方法,不包含行人检测过程中的候选框提取和行人定位过程;主要针对行人检测技术中的分类过程,设计一种协同式深度网络模型,将由K-means聚类算法得到的不同类型的训练数据集用于并行地训练多个深度网络,再通过人工神经元网络将原始数据集在这些深度网络上的分类结果进行整合和综合分析,以实现更加精准的样本分类,可用于行人检测中行人样本分类;图1是本发明提供的协同式深度网络模型方法的流程框图,主要包括如下步骤:

1)采用基于K-means聚类算法的重采样技术准备训练样本数据集,将原始样本数据集按照某种特征的不同划分为不同的子样本集;

2)选取多个深度网络模型作为子分类器,并利用原始训练样本集和重采样的上述子样本集分别并行地训练它们;

其中每个深度网络模型均采用原模型本身的训练方法进行训练;

3)将原始样本数据集同时送入多个训练好的子分类器中,得到检测得分,然后将这些得分连接成向量去训练一个人工神经元网络,最终得到训练好的协同式深度网络模型;

4)将测试数据集输入训练好的模型中进行行人样本的分类。

步骤1)中,使用基于K-means聚类算法的重采样技术准备训练样本数据集,即采用K-means聚类算法自动分割原始样本数据集,以重采样得到多个具备不同特性的训练子样本集,使得不同样本集间差异较大而样本集内差异较小,进而使得多个深度网络能够学习到不同但更加集中的某类特征,并增强区分特定样本的能力。具体步骤如下:

11)对原始训练样本集D中的每一个样本,提取得到特征向量n为样本总数;

12)随机选择k个样本的特征向量作为聚类中心,记为

13)通过式1计算得到每个特征向量与每个聚类中心的距离dij

dij=||xi-cj||2 (式1)

式1中,xi为原始训练样本集D中的每个样本的特征向量;cj为每个聚类中心;

14)对于每个特征向量xi,依据其与各个聚类中心的距离dij的大小,将该特征向量划分至彼此间距离最近的中心向量所在的类;

15)通过式2更新每类的中心向量:

其中,Cj表示每个类别中所包含的所有样本标号;

16)如果Cj不再变化,则停止聚类过程,得到不同的子样本集;否则返回步骤13)。

由于这里提取的特征向量为三通道特征,故每个样本应对应三个特征向量,且在重采样过程中,需依据这三个通道中的每一个分别对原始训练样本进行聚类。另外,考虑到K-means算法需要事先规定分类个数k,本模型初始化k等于2,以对应样本所具有的包含行人和非行人两类的属性。

步骤2)中,使用上述聚类得到的训练子样本集和原始数据集分别去训练多个不同的深度网络模型,每个模型的训练过程采用多线程并行计算。这里可以使用的深度网络模型包括以下三类:

2A)基础深度网络模型,如CNN、感知器模型等,这些模型已经具有较好的特征学习和分类能力,但不足以完成存在大量行人形变和遮挡的复杂场景下的行人检测任务,故需要互相配合才能更好地避免自身存在的检测误差;

2B)强深度学习检测器,如上述联合深度学习模型等,这些模型比基础深度网络模型更能准确快速地检测出图像中的行人,且对于复杂场景已有较好的应对措施,在CDN中加入强深度学习检测器可以有效保证整体模型的检测效果,并进一步提升强深度学习检测器的检测性能;

2C)用弱训练样本训练的强深度学习检测器,这一类模型较为特殊,它们具有较强的分类能力,但被用某一类的训练样本训练,进而对某类样本有极致的识别能力,通过将具备检测不同类型样本能力的分类器进行整合,CDN模型会比普通的多模型融合具有更全面的检测能力。

步骤3)中,在得到多个训练好的深度网络模型后,将原始训练数据集中的各个样本同时送入这些深度模型进行分类识别,并得到若干检测得分(每个深度网络模型均得出分类检测的得分),将这些输出得分组成向量作为每个样本的观测信息去训练一个人工神经元网络,以得到一个协同式分类模型,即协同式深度网络模型,该模型中内嵌多个不同的深度网络子分类器,可在综合学习各样本的初步分类信息以后能够有效利用这些信息去完成更加准确的行人检测任务。人工神经元网络的前馈模型为式3:

yj=f(netj),j=1,2,...,m (式3)

其中,xi代表输入层第i个结点的值,wij代表输入层第i个结点到输出层第j个结点的连接权重,n是输入层结点个数,bj代表输出层第j个结点的偏置。

训练人工神经元网络可采用BP(Back Propagation,即反向传播)算法。

协同式分类模型是在综合学习各样本的初步分类信息以后得到的,能够有效利用各样本的初步分类信息去完成更加准确的行人检测任务。在线测试时,只需将测试数据集输入训练好的协同式分类模型中进行分类,即获得测试数据集的行人样本分类。

为了便于实验验证,以下实施例采用联合深度学习模型(以下简称UDN)作为本发明的协同式深度网络模型选取的子分类器,在Caltech行人数据库和ETH行人数据库上(原始数据库作为原始训练样本数据集,先将原始数据库中的图像经过预处理得到矩形候选框图像后用于训练)分别做了测试。UDN模型成功将特征提取、形变处理、遮挡处理和分类四个环节融入到一个CNN模型当中,有效地解决了行人形变和遮挡等问题。

UDN作为子分类器的训练过程的流程如图2所示。其中,输入图片定义为三通道的、大小为84*28的图像数据,经由64个9*9*3的卷积核做卷积操作,再经过4*4的pooling操作,得到64个19*5的特征图,这些特征图再输入第二卷积层,经过20个设计好的处理形变的卷积核得到20个部件检测图,随后利用形变层计算部件检测得分,最后送入视觉推理和分类模型进行类别的估计。具体训练过程分为以下几步:

第一步,先将图像变换到YUV颜色空间,然后提取三通道特征,其中,第一通道特征对应原始图片的Y通道特征;第二通道特征分为4块,左上角、右上角、左下角三块分别对应原始图片的Y、U、V三个通道的特征图其尺度缩小为原来一半的结果,右下角那一块用0填充;同样,第三通道特征也分为四个部分,反映的是原始图片的边缘信息,其左上角、右上角、左下角分别是由原始图片的Y、U、V三个通道的特征图经过Sobel算子变换并进行尺寸放缩后得到的边缘图,右下角则由上述三个边缘图中每个位置取幅值最大的像素值构成。

第二步,对输入的三通道特征进行两次卷积变换和一次pooling操作,得到20个部件检测图;

在训练过程中,本实施例使用20个不同的卷积核,计算得到20个部件检测,为人体部件的特征图。

第三步,通过式4对部件检测图进行形变处理,计算得到各部件得分sp

其中,Mp代表第p个部件检测图;Dnp和cnp分别代表第p个部件对应的第n个形变图及其权重;对应Bp中(x,y)位置上的元素;

本实施例中设计的形变图为与部件检测图尺寸相同的二维矩阵,每个矩阵中的值均在0到255之间,包括四种矩阵,第一种和第三种均将矩阵划分为从左至右排列的六个长条形区域,每个区域的值相同,且左边区域的值始终大于右边区域,区别在于第一种的区域间的值的跳跃较小,第三种区域间的值的跳跃较大;第二种和第四种则将矩阵划分为从上至下排列的六个长条形区域,每个区域中的值均相同,区别在于第二种满足上边区域的值要大于下边区域的值,而第四种则满足从上至下区域的值先递增后递减的变化规律;这些形变图中具体参数值的预设可以不固定,通过训练过程来优化这些参数。

第四步,所有部件的得分构成部件得分向量s,如式5;再用部件得分向量训练视觉推理和分类网络,训练方法采用标准BP算法;即完成上述子分类器的训练,得到训练好的子分类器。

其中,在联合深度模型中,视觉推理和分类网络是一种人工神经元网络,网络中每个隐藏层接收的输入信息不仅来自于上层还来自于上上层。

实验结果表明,CDN比行人检测领域其他较为先进的算法具有更好的性能和检测效果,可以有效提升单一模型的分类能力;其中,行人检测领域其他较为先进的算法包括HOG(Histogram of Oriented Gradient,即梯度直方图)、HOGLBP(Histogram of Oriented Gradient and Local Binary Pattern,即梯度直方图和局部二值化模式)、DPM(Deformable Part Models,即形变部件模型)、DDM(Discriminative Deep Model,即辨别深度模型)、ICF(Integral Channel Features,即积分通道特征)、CNN(Convolutional Neural Network,即卷积神经网络)、ACF(Aggregated Channel Features,即聚合通道特征)、UDN(United Deep Model,即联合深度模型)。对比结果如表1所示:

表1 不同行人检测模型实验结果统计表

表2 不同设计的CDN模型在Caltech数据集上实验结果统计表

表2则给出了不同设计的CDN在Caltech数据集上的检测效果,可以发现,CDN若基于三通道特征进行聚类且聚类数目均为2,同时集成用聚类得到的子训练集和原始训练集分别训练的联合深度学习模型,并且采用人工神经元网络进行结果的整合,会获得最好的检测性能。

需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1