基于深度自编码器的人眼检测和定位方法

文档序号:9453427阅读:487来源:国知局
基于深度自编码器的人眼检测和定位方法
【技术领域】
[0001] 本发明涉及模式识别与机器学习领域,特别涉及图像目标检测。更具体地,本发明 涉及基于深度自编码器的人眼检测和定位方法。
【背景技术】
[0002] 生物特征识别技术应用的爆炸式增长和生物特征识别算法向嵌入式和移动平台 移植的巨大需求使得快速的人眼检测和定位显得日趋重要。传统的目标检测算法是通过构 建图像的特征金字塔,并在金字塔上滑动地提取窗口,对提取的窗口进行分类,最后通过非 最大化抑制操作得到目标的位置。尽管这种方法在简单背景下取得了较好的检测效果,同 时在普通电脑上能够达到实时,但是这种方法不能很好地处理复杂背景下的目标检测以及 目标存在形变、视角变化和遮挡等问题,并且在嵌入式和移动平台上很难达到实时。此外, 当前基于深度卷积神经网络的目标检测方法取得了较高的检测精度,并且能够非常好地处 理复杂背景以及目标存在形变和视角变化的问题,但是由于其计算量十分巨大,即使借助 并行计算技术,也很难达到实时性的要求。

【发明内容】

[0003] 本发明提供了一种基于深度自编码器的快速人眼检测和定位方法。
[0004] 本发明的一个方面提供了一种生成用于人眼检测和定位的深度自编码器的方法, 其特征在于,该方法包括以下步骤:
[0005] 步骤S0 :将带有标定好的人眼矩形框位置的图像的集合作为训练集;
[0006] 步骤S1 :对训练集中的所有图像,利用标定好的人眼矩形框位置生成二值化的标 签图;
[0007] 步骤S2:在训练集中的图像上随机取小图像块,无监督地分层训练多个自编码 器;
[0008] 步骤S3 :利用步骤S2中分层训练的多个自编码器构建一个深度自编码器,并利用 分层训练得到的自编码器中各层的权重对构建的深度自编码器进行初始化;以及
[0009] 步骤S4 :在训练集中的原图像和标签图的相同位置上随机取小原图像块和小标 签图像块,以小标签图像块作为监督信息,以小原图像块为输入,使用反向传播算法优化深 度自编码器。
[0010] 本发明的另一方面提供了一种使用上述深度自编码器实现人眼检测和定位的方 法,包括:
[0011] 步骤S5:在待测图像上以滑动窗口的方式生成多个小待测图像块,利用步骤S4学 习的深度自编码器得到每个小待测图像块的小待测标签图像块;
[0012] 步骤S6 :将步骤S5中得到的所有小待测标签图像块合并在一起,得到整幅待测图 像的待测标签图,对待测标签图进行二值化,然后利用坐标投影或者寻找轮廓的方法得到 人眼的位置。
[0013] 本发明的基于深度自编码器的方法能够实现快速人眼检测和定位。其利用训练图 像上随机裁取的小图像块和标签图上裁取的对应的小标签图像块对深度自编码器进行训 练学习,得到小图像块和小标签图块之间的映射关系。然后利用学习得到的深度自编码器 生成与待测图像对应的标签图,并通过对标签图进行二值化和坐标投影最终确定人眼的位 置。
[0014] 本发明方法使用小标签图像块为监督信息训练得到的深度自编码器,一方面利用 了深度学习技术能够很好的处理复杂背景以及目标形变、遮挡、光照等问题的能力,保证了 较高的检测精度。另一方面将目标检测主要过程简化为几次矩阵乘法运算,非常有效地提 升了检测速度。此外通过利用标签图像进行二值化和坐标投影得到人眼的矩形框位置, 避免了传统检测方法中的特征金字塔的构建和非最大化抑制操作,进一步提高了检测的速 度。
【附图说明】
[0015] 图1是根据本发明实施例基于深度自编码器的快速人眼检测和定位方法流程图。
[0016]图2是根据本发明实施例在原图像和标签图像上取小图像块的示意图。
[0017] 图3是根据本发明实施例的分层训练的自编码器和由此构建的深度编码器的结 构示意图。
[0018] 图4示出了根据本发明实施例通过待测图像得到的标签图,以及通过对标签图二 值化和坐标投影得到人眼位置的示意图。
【具体实施方式】
[0019] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明进一步详细说明。
[0020] 本发明提出了一种基于深度自编码器的目标检测和定位方法,并将其应用于人眼 的检测与定位。该方法利用训练图像上随机裁取的小图像块和标签图上裁取的对应的小标 签图像块对深度自编码器进行训练学习,得到小图像块和小标签图快之间的映射关系。然 后利用学习得到的深度自编码器生成与待测图像对应的标签图,并通过对标签图进行二值 化和坐标投影最终确定人眼的位置。以下详细说明本发明方法涉及的关键步骤。
[0021] 图1示出了本发明基于深度自编码器和标签图的快速人眼检测和定位方法,所述 方法包括以下步骤:
[0022] 步骤S0 :将带有标定好的人眼矩形框位置的图像的集合作为训练集。
[0023] 步骤S1:对训练集中的所有图像,利用标定好的人眼矩形框位置生成二值化的标 签图。
[0024] 图2所示右侧图像为标签图。标签图是一个二值图像。该图像与原图像尺寸相同, 并根据原图像中人眼矩形框位置,将对应标签图中矩形框内的所有像素的像素值置1,框外 的所有像素的像素值置〇得到。
[0025] 步骤S2:在训练集中的图像上随机取小图像块,无监督地分层训练多个自编码 器。自编码器的数量根据实际效果确定。
[0026] 图3中的(a)和(b)示出了两个自编码器网络。如图3中(a)、(b)所示,自编码 器是一个由输入层、隐含层和输出层构成的三层神经网络。
[0027]在图3(a)中,^为输入层,比为隐含层,〇i为输出层。i屬由小图像块矩阵拉成 的一维所构成的向量,橙色圆圈代表神经元节点。在分层训练多个自编码器时,会对输入的 小图像块加入随机的噪声,然后让自编码器的输出重构加入噪声前的图像块,即将图像块 构成的向量^中随机取50%的元素,将这些元素的值置成零,得到其中置成零的元素 在图3中用黑色圆圈表示。
[0028] 该步骤中,随机取小图像块只在原图像上进行,用于自编码器的非监督训练。如果 M表示训练样本(即小图像块)的个数,ik表示第k个图像块,&表示加入噪声后的图像 块,W1和W2分别表示自编码器输入层和隐含层以及隐含层和输出层之间的权重,则训练自 编码器的目标函数为:
[0029] . k= t
[0030] 其中各层之间满足如下函数关系,
[0031]
[0032]
[0033] A为重构损失和权重惩罚项之间的平衡参数,f( ?)为非线性的激活函数。
[0034]所谓分层训练多个自编码器,即利用小图像块作为输入,无监督地训练第一个自 编码器;利用第一个自编码器的隐含层作为第二个自编码器的输入,例如图3(a)中的隐含 层比作为图3(b)的输入,无监督地训练第二个自编码器;以及依此类推,以当前自编码器 的隐含层作为下一自编码器的输入,无监督地训练多个自编码器。
[0035] 步骤S3:利用步骤S2中分层训练的多个自编码器构建一个深度自编码器,并利用 分层训练得到的自编码器中各层的权重对构建的深度自编码器进行初始化。
[0036] 图3中(c)所示为构建的深度自编码器。所述深度自编码器包括一个输入层、多 个隐含层和一个输出层。
[0037]深度自编码器的隐含层数目由自编码器的数目决定,当由分层训练的自编码器构 建深度自编码器时,深度自编码器的最后一个隐含层和输出层之间的权重是随机初始化得 到的,深度自编码器的其他各层之间的权重是基于分层训练的自编码器的各层权重得到 的。
[0038] 例如,在图3(c)中,一个由两个简单的三层自编码器垛堞而成的深度自编码器有 五层,分别是一个输入层,三个隐含层和一个输出层。图3(c)所示的深度自编码器中,输入 层/i和h隐含层、h:隐含层层和h2隐含层、h2隐含层和h3隐含层之间的权重分别由图3 (a) 中输入层总和比层之间的权重W1、图3(b)中输入层层之间的权重W3、3(b)中hjg 和〇2层之间的权重W4初始化。和自编码器类似,在图3(c)中,输入层&和比隐含层、^隐 含层层和112隐含层、h2隐含层和h2隐含层、h2隐含层和输出层&之间满足和步骤S2中自 编码器各层之间一样的函数关系。
[0039] 步骤S4 :在训练集中的原图像和标签图的相同位置上随机取小原图像块和小标 签图像块,以小标签图像块作为监督信息,以小原图像块为输入,使用反向传
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1