一种基于sae特征可视化学习的人体检测方法

文档序号:10570351阅读:387来源:国知局
一种基于sae特征可视化学习的人体检测方法
【专利摘要】本发明公开了一种基于SAE特征可视化学习的人体检测方法,包括:根据所采集的深度图像通过SAE学习构建的CNN提取图像特征;将所述图像特征可视化为高维抽象图像;对所述高维抽象图像进行第二层SAE学习构建的CNN提取图像特征;将所述图像特征输入已训练的SVM分类器,得到所述深度图像是否包含人体。本发明提出的一种基于SAE特征可视化学习进行人体检测的方法,利用深度图像提取图像特征并可视化特征得到高维图像,通过提取高维图像特征,提高人体检测的正确率,可应用于智能监控以及人机交互系统。
【专利说明】
一种基于SAE特征可视化学习的人体检测方法
技术领域
[0001] 本发明涉及计算机视觉及人体检测技术领域,具体涉及一种基于SAE特征可视化 学习的人体检测方法。
【背景技术】
[0002] 人体检测是人体运动分析与人机交互的重要内容,也是计算机视觉的基础任务, 其在智能监控、虚拟现实、人机交互、辅助临床诊断等领域具有广泛的应用前景。但是因为 人体检测会受到场景光照变化、视角变化、复杂背景、姿势变化等的干扰,在实际应用场景 下实现准确可靠的人体检测仍然是一个难题。
[0003] 传统的基于彩色图或灰度图的人体检测方法,如H〇G、LBP和Harr-like等,能实现 简单场景下的人体检测。但是,基于彩色或灰度图的人体检测极大地受到环境光照、复杂背 景、人体姿势变化等的影响,当被测对象身着衣服与背景颜色相近也会干扰到检测算法的 效果。
[0004] 由于深度图对光照、颜色和阴影等不敏感,适用性更广。同时随着Kinect等深度传 感器的普及,我们可以很容易获取深度图。本发明利用深度图做人体检测任务,提出了一种 基于SAE特征可视化学习的人体检测方法。
[0005] 另外,传统的候选框获取方法是利用滑动窗口的方法生成大量不同尺寸的候选 框。本发明的方法利用深度频率直方图的局部极值中选取候选深度平面并提出一种像素点 累计的方法定位出每个深度平面的点聚集中心,以聚集中心为中心设置若干个不同尺寸的 候选框,大大减少了候选框的数量,节省了处理时间和降低了计算机运算量,同时得到更高 质量的候选框,从而提高人体检测的准确率。

【发明内容】

[0006] 本发明的主要目的在于克服现有技术的缺点与不足,提供提出一种基于SAE特征 可视化学习的人体检测方法,利用特征可视化技术和优化的候选框获取方法,实现人体检 测,提高人体检测准确率。
[0007] 为了达到上述目的,本发明采用以下技术方案:
[0008] 本发明的一种基于SAE特征可视化学习的人体检测方法,包括下述步骤:
[0009] (1)训练第一层CNN,将训练集中的图像全部裁剪成固定尺寸的小块,将所述的小 块输入到SAE网络中进行参数学习,得到SAE网络的权重和偏置作为第一层CNN网络的权重 和偏置,训练样本经过所述第一层CNN网络,得到图像特征;
[0010] (2)训练第二层CNN,将经过第一层CNN网络后得到的图像特征应用特征可视化技 术重构为高维图像,将高维图像全部裁剪成固定尺寸的小块并输入到一个SAE网络中进行 参数学习,得到SAE网络的权重和偏置作为第二层CNN网络的权重和偏置;高维图像经过所 述第二层CNN网络提取图像高维特征;
[0011] (3)训练分类器,
[0012] 输入训练集正样本,归一化为固定尺寸,经过步骤(1)所述第一层CNN网络得到图 像特征,将图像特征经过特征可视化技术重构得到高维图像,将高维图像经过步骤(2)所述 第二层CNN网络得到正样本高维特征;
[0013] 输入训练集负样本,归一化为固定尺寸,经过步骤(1)所述第一层CNN网络得到图 像特征,将图像特征经过特征可视化技术重构得到高维图像;将高维图像经过步骤(2)所述 第二层CNN网络得到负样本高维特征;
[0014] 最后将所述正样本高维特征和所述负样本高维特征输入SVM训练分类器;
[0015] (4)检测人体,根据待测深度图像各像素深度值得到待测深度图像深度频率直方 图得到深度平面,并经过特征可视化技术重构得到高维图像,使用步骤(3)所述已训练的 SVM分类器对所述高维特征进行分类,将分类结果中判别为人的候选对象挑选出来,得到最 终的人体检测结果。
[0016] 作为优选的技术方案,在步骤(1)中,第一层CNN网络是一个两层的网络结构,包括 卷积层和max-poo 1 ing层。
[0017] 作为优选的技术方案,在步骤(2)中,所述特征可视化技术采用深度特征转化算 法,将图像特征重构成高维图像;所述高维图像是相比于原图像,保留凸显图像本质特征的 抽象图;所述第二层CNN网络是一个两层的网络结构,包括卷积层和max-pool ing层。
[0018] 作为优选的技术方案,采用深度特征转化算法,将图像特征重构成高维图像的具 体方法为:
[0019] (2-1)设定一个特征表示函数# : pUVxf -欺"'和重构表达①〇=〇(x〇), 使得求得尤€ ,满足最小化目标:
[0020] 二獻辭aig絕黎杉::⑶r說(黑)
[0021 ]其中,L损失函数比较图像特征〇( x )和目标重构表达〇 〇的差值, 說:4II是一个图像标准化步骤。
[0022] (2-2)上述(2-1)中所述的L损失函数采用欧式距离损失函数:
[0023] l(〇(x),O0)= | | O(x)-〇o| |2
[0024] (2-3)上述(2-1)中所述的图像标准化步骤,包含两个图像处理步骤:
[0025] _忠)=製窃(S) + 繚!,#
[0026] 其中說饮<_ = |_g是图像x的a范式,表达式为:
[0028] 作为优选的技术方案,步骤(4)具体为:
[0029] (4-1)取出深度频率直方图中M个局部极大值所在深度值并取出M个局部极大深度 值所在深度平面,M为自然数;
[0030] (4-2)使用像素点累加方法分别对所述深度平面求点集中心,对所述每个点集中 心为中心取N个不同尺寸矩形区域作为候选对象;
[0031] (4-3)将候选对象经过第一层CNN网络得到图像特征;将所述图像特征经过特征可 视化技术重构得到高维图像;
[0032] (4-4)将高维图像经过第二层CNN网络得到高维特征;
[0033] (4-5)使用步骤(3)所述已训练的SVM分类器对所述高维特征进行分类,得到所述 候选对象的分类结果;
[0034] (4-6)将所述分类结果中判别为人的候选对象挑选出来,应用非极大值抑制算法 WS得到最终人体检测结果。
[0035] 作为优选的技术方案,步骤(4-2)中像素点累加方法,具体执行如下:
[0036] (4-2-1)将深度平面二值化。当像素点值大于0时将其值置1;当像素值小于等于0 时将其值置为〇;
[0037] (4-2-2)将每一列像素值累加,得到一个向量VeCt〇r_ X,取该向量中最大值所在的 位置作为点集中心的横坐标px;
[0038] (4-2-3)取出px所在那一列,设置一个单位滑动窗对这一列像素进行卷积,得到一 个向量vector_y,取该向量中最大值所在的位置作为点集中心的纵坐标py;
[0039] (4-2-4)由4.4.2的口叉和4.4.3的口7构成点集中心?(口叉,口丫)。
[0040] 作为优选的技术方案,步骤(4-2)中,以每个点集中心为中心获取候选对象方法, 具体执行如下:
[0041 ] (4-2-5)设置一个最小宽度Size_Min,设置增长步长为step;
[0042] (4-2-6)以Size_Min为基础,step为步长,得到第n个候选框的宽度Width_n = Size_Min+(n_l)氺step;
[0043] (4-2-7)设置第 n 个候选框高度 He ight_n = 2*Width_n;
[0044] (4-2-8)以点集中心P(px,py)为中心,Width_nS宽度,Height_n为高度取出n个候 选框。
[0045] 本发明与现有技术相比,具有如下优点和有益效果:
[0046] 1、本发明利用深度图信息,有效解决传统人体检测中的易受光照、背景等变化引 起的检测不准确的问题,使系统更加鲁棒,适用于各种复杂的应用环境;
[0047] 2、本发明针对传统手工提取特征的方法的不足,运用SAE自动学习出图像中人体 的特征,可以适用于小数据集并进行无监督学习自动获取人体特征信息;
[0048] 3、本发明应用特征可视化技术,通过将特征重构成高维图像再进一步学习高维图 像的特征,能够获得更稳定可靠的特征,提高人体检测的准确率;
[0049] 4、本发明采用优化的候选框获取方法,结合深度图像的特点,提出像素点积累的 算法,准确定位出每个深度平面的聚集中心,大大降低了获取候选框的运算量,并为人体检 测提供了高质量的候选框,从而提高人体检测的准确率。
【附图说明】
[0050] 图1为本发明的流程框图。
[0051 ]图2为利用本发明实施例构造的两层CNN检测器检测深度图中人体效果图。
[0052]图3为本发明实施例的实验结果,实线为本发明方法的效果。
【具体实施方式】
[0053]下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。
[0054] 实施例
[0055] 本实施例是在深圳大学深度图像行人数据集SZU Depth Pedestrian Dataset(见 http://yushiqi .cn/research/depthdataset)上实施的,深圳大学深度图像行人数据集通 过SwissRanger SR4000进行深度图像采集,包含有3160张图像的含人体的训练数据集、 1477张图像含人体的测试数据集和198张无人的数据集。每张图像具有深度值和灰度值,在 本实施例中仅利用深度值。每张图像尺寸大小为176x144,深度值范围为0~5米。
[0056]从含人体训练数据集中随机挑出500张作为本实施例训练集,将这500张图像中的 人体区域分割出来并归一化为64x120作为训练集正样本;对训练集随机截取1000张 64x120 的背景图像并从192张无人数据集中随机生成500张 64x120的背景图像,组合成一共1500张 背景图像的训练集负样本。将1477张含人体的测试数据集作为本实验用例的测试集。
[0057]图1为本发明的流程示意图,本实施例的具体实施步骤如下:
[0058] 步骤一、训练第一层CNN。
[0059] 1.1将训练集中的图像全部裁剪成16x16尺寸的小块,每张图片裁剪出40个小块, 一共得到20000个小块;
[0060] 1.2将1.1所述的小块输入到一个中间层具有64个神经元的SAE网络中进行参数学 习,得到SAE网络的权重和偏置作为第一层CNN网络的权重和偏置,所述CNN网络具有两层结 构,第一层为具有64个连接神经元的卷积层,第二层为一个7x7的max-pooling层;
[0061 ] 1.3每一个训练样本经过1.2所述的第一层CNN网络,每个样本得到一个6720维的 图像特征。
[0062] 步骤二、训练第二层CNN。
[0063] 2.1将1.3所述的图像特征应用特征可视化技术重构为高维图像。所述的特征可视 化技术采用Mahendran和Vedaldi等人提出的深度特征转化算法(参考Mahendran A., Vedaldi A..Understanding deep image representations by inverting them.arXiv: 1412.0035,2014.)将图像特征重构成高维图像。这里每个样本可以重构出一张高维图像; [0064] 2.2将2.1所述高维图像全部裁剪成16x16尺寸的小块,针对每一个64x120的样本, 随机裁剪出20个小块,一共2000个样本,可以得到40000个小块;
[0065] 2.3将2.2所述小块输入到另一个中间层具有64个神经元SAE网络(不同于1.2所述 SAE网络)中进行参数学习,得到SAE网络的权重和偏置作为第二层CNN网络的权重和偏置, 所述所述CNN网络具有两层结构,第一层为具有64个连接神经元的卷积层,第二层为一个 7x7 的max-poo ling 层;
[0066] 2.4将2.1所述高维图像经过2.3所述第二层CNN网络提取图像高维特征。每个高维 图像可以得到一个6720维的特征。应用PCA(主成分分析)技术将该6720维特征进行降维处 理,得到1000维的图像特征。
[0067]步骤三、训练分类器。
[0068] 3.1依次输入500个训练集正样本,归一化为64x120的尺寸,经过1.2所述第一层 CNN网络得到6720维的图像特征;
[0069] 3.2将3.1所述图像特征经过2.1所述深度特征转化算法重构得到高维图像;
[0070] 3.3将3.2所述高维图像经过2.3所述第二层CNN网络得到正样本高维特征,并采用 PCA进行降维处理,得到1000维的正样本特征;
[0071] 3.4依次输入训练集负样本,归一化为64x120的尺寸,经过1.2所述第一层CNN网络 得到图像特征;
[0072] 3.5将3.4所述图像特征经过2.1所述深度特征转化算法重构得到高维图像;
[0073] 3.6将3.5所述高维图像经过2.3所述第二层CNN网络得到负样本高维特征,并采用 PCA进行降维处理,得到1000维的负样本特征;
[0074] 3.7将3.3所述正样本特征和3.6所述负样本特征输入SVM训练分类器。
[0075]步骤四、检测人体。
[0076] 4.1针对测试集中的每一张图像,根据待测深度图像各像素深度值得到待测深度 图像深度频率直方图;
[0077] 4.2取出4.1所述深度频率直方图中10个局部极大值所在深度值;
[0078] 4.3从4.1所述深度图像中取出4.2所述10个局部极大深度值所在深度平面;
[0079] 4.4使用像素点累加方法分别对4.3所述深度平面求点集中心。所述像素点累加方 法具体为:
[0080] 4.4.1针对每一个深度平面,先转化为二值图,即像素值大于0的像素值设置为1, 像素值小于等于〇的设置为〇;
[0081] 4.4.2将每一列像素值累加,得到一个向量vector_x,取该向量中最大值所在的位 置作为点集中心的横坐标px。
[0082] 4.4.3取出px所在那一列,设置一个8个单位的滑动窗(各位置值为1)对这一列像 素进行卷积,得到一个向量vector_y,取该向量中最大值所在的位置作为点集中心的纵坐 标py。
[0083] 4.4.4由4.4.2的口叉和4.4.3的口7构成点集中心?(口叉,口丫)。
[0084] 4.5以4.4所述每个点集中心为中心取8个不同尺寸矩形区域作为候选对象,以宽 度50为基础,设置步长为3,高度为宽度的两倍取出矩形区域,即尺寸范围为50x100, 53x106,56x112,???,71x142;
[0085] 4.6将4.5所述候选对象归一化为64x120的尺寸,经过1.2所述第一层CNN网络得到 6720维的图像特征;
[0086] 4.7将4.6所述图像特征经过2.1所述深度特征转化算法重构得到高维图像;
[0087] 4.8将4.7所述高维图像经过2.3所述第二层CNN网络得到高维特征,并采用PCA进 行降维处理,得到1000维的样本特征;
[0088] 4.9使用3.7所述SVM分类器对4.8所述样本特征进行分类,得到4.5所述候选对象 的分类结果;
[0089] 4.10将4.9分类结果中判别为人的候选对象挑选出来,应用非极大值抑制算法匪S 得到最终人体检测结果。
[0090] 图2为利用本发明实施例构造的两层CNN检测器检测深度图中人体效果图,其中白 色矩形框表示检测出来的人体。
[0091] 图3为本发明实施例的实验结果,纵坐标表示错误率,实线为本发明方法的效果, 本发明方法准确率能达到目前最优的人体检测效果。
[0092]上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
【主权项】
1. 一种基于SAE特征可视化学习的人体检测方法,其特征在于,包括下述步骤: (1) 训练第一层CNN,将训练集中的图像全部裁剪成固定尺寸的小块,将所述的小块输 入到SAE网络中进行参数学习,得到SAE网络的权重和偏置作为第一层CNN网络的权重和偏 置,训练样本经过所述第一层CNN网络,得到图像特征; (2) 训练第二层CNN,将经过第一层CNN网络后得到的图像特征应用特征可视化技术重 构为高维图像,将高维图像全部裁剪成固定尺寸的小块并输入到一个SAE网络中进行参数 学习,得到SAE网络的权重和偏置作为第二层CNN网络的权重和偏置;高维图像经过所述第 二层CNN网络提取图像高维特征; (3) 训练分类器, 输入训练集正样本,归一化为固定尺寸,经过步骤(1)所述第一层CNN网络得到图像特 征,将图像特征经过特征可视化技术重构得到高维图像,将高维图像经过步骤(2)所述第二 层CNN网络得到正样本高维特征; 输入训练集负样本,归一化为固定尺寸,经过步骤(1)所述第一层CNN网络得到图像特 征,将图像特征经过特征可视化技术重构得到高维图像;将高维图像经过步骤(2)所述第二 层CNN网络得到负样本高维特征; 最后将所述正样本高维特征和所述负样本高维特征输入SVM训练分类器; (4) 检测人体,根据待测深度图像各像素深度值得到待测深度图像深度频率直方图得 到深度平面,并经过特征可视化技术重构得到高维图像,使用步骤(3)所述已训练的SVM分 类器对所述高维特征进行分类,将分类结果中判别为人的候选对象挑选出来,得到最终的 人体检测结果。2. 根据权利要求1所述的基于SAE特征可视化学习的人体检测方法,其特征在于,在步 骤⑴中,第一层CNN网络是一个两层的网络结构,包括卷积层和max-pooling层。3. 根据权利要求1所述的基于SAE特征可视化学习的人体检测方法,其特征在于,在步 骤(2)中,所述特征可视化技术采用深度特征转化算法,将图像特征重构成高维图像;所述 高维图像是相比于原图像,保留凸显图像本质特征的抽象图;所述第二层CNN网络是一个两 层的网络结构,包括卷积层和max-pool ing层。4. 根据权利要求3所述的基于SAE特征可视化学习的人体检测方法,其特征在于,采用 深度特征转化算法,将图像特征重构成高维图像的具体方法为: (2-1)设定一个特征表示函数φ : 說:〃和重构表达φ〇=φ(χ〇),使得 求得尤€ Sl:rxW'xC?,满足最小化目标:其中,L损失函数比较图像特征Φ ( X )和目标重构表达Φ 〇的差值, :說:麗...令徽是一个图像标准化步骤。 (2-2)上述(2-1)中所述的L损失函数采用欧式距离损失函数:(2-3)上述(2-1)中所述的图像标准化步骤,包含两个图像处理步骤:其中!= Ι?Ι是图像x的a范式,%_?4*?表达式为:5. 根据权利要求1所述的基于SAE特征可视化学习的人体检测方法,其特征在于,步骤 (4)具体为: (4-1)取出深度频率直方图中Μ个局部极大值所在深度值并取出Μ个局部极大深度值所 在深度平面,Μ为自然数; (4-2)使用像素点累加方法分别对所述深度平面求点集中心,对所述每个点集中心为 中心取Ν个不同尺寸矩形区域作为候选对象; (4-3)将候选对象经过第一层CNN网络得到图像特征;将所述图像特征经过特征可视化 技术重构得到高维图像; (4-4)将高维图像经过第二层CNN网络得到高维特征; (4-5)使用步骤(3)所述已训练的SVM分类器对所述高维特征进行分类,得到所述候选 对象的分类结果; (4-6)将所述分类结果中判别为人的候选对象挑选出来,应用非极大值抑制算法匪S得 到最终人体检测结果。6. 根据权利要求5所述的基于SAE特征可视化学习的人体检测方法,其特征在于,步骤 (4-2)中像素点累加方法,具体执行如下: (4-2-1)将深度平面二值化。当像素点值大于0时将其值置1;当像素值小于等于0时将 其值置为〇; (4-2-2)将每一列像素值累加,得到一个向量vector_x,取该向量中最大值所在的位置 作为点集中心的横坐标px; (4-2-3)取出px所在那一列,设置一个单位滑动窗对这一列像素进行卷积,得到一个向 量vector_y,取该向量中最大值所在的位置作为点集中心的纵坐标py; (4-2-4)由4.4.2的口叉和4.4.3的口7构成点集中心卩(口叉,口7)。7. 根据权利要求5所述的基于SAE特征可视化学习的人体检测方法,其特征在于,步骤 (4-2)中,以每个点集中心为中心获取候选对象方法,具体执行如下: (4-2-5)设置一个最小宽度Size_Min,设置增长步长为step; (4-2-6)以Size_Min为基础,step为步长,得到第η个候选框的宽度Width_n = Size_Min +(n_l)*step; (4-2-7)设置第η个候选框高度He i ght_n = 2*Wi dth_n; (4-2-8)以点集中心P(px,py)为中心,Width_nS宽度,Height_n为高度取出n个候选 框。
【文档编号】G06K9/00GK105930793SQ201610246361
【公开日】2016年9月7日
【申请日】2016年4月19日
【发明人】赖剑煌, 刘晓
【申请人】中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1