首页 / 专利库 / 人工智能 / 人脸姿态估计 / 一种基于人体姿态分析的表观视线估计方法

一种基于人体姿态分析的表观视线估计方法

阅读:729发布:2020-05-13

专利汇可以提供一种基于人体姿态分析的表观视线估计方法专利检索,专利查询,专利分析的服务。并且本 发明 专利 涉及一种结合人体 姿态 信息估计视线方法,设计了一个包含显著目标检测分支、头部姿态估计分支和人体姿态估计分支的深度 卷积神经网络 估计视线方向。三个分支的特征图最后通过点乘给出注视点 位置 的预测,注视点位置与头部中心位置的连线作为视线方向。通过该结合人体姿态的视线估算方法能够提高视线估计 算法 的准确度和鲁棒性。,下面是一种基于人体姿态分析的表观视线估计方法专利的具体信息内容。

1.一种基于人体姿态分析的表观视线估计方法,该视线估计方法的网络结构由三个分支组成,显著图分支、头部姿态分支和人体姿态分支,该方法包括以下步骤:
显著图分支由整幅图像xf作为输入,其维度经放缩后变为3×H×W,图像经一个主干网络提取特征,特征图的维度是K×D×D,然后接一个卷积核大小是1×1的卷积层,将其通道数变为1,得到的显著图的维度是1×D×D;
头部姿态分支:头部姿态分支由头部图像xh和头部位置矩阵xhl作为输入,头部中心位置hc和大小hl使用人体骨骼关键点检测中的头顶位置ph和颈部位置pn计算得到,先经过一个主干网络提取特征,然后接一个卷积核大小为1×1的卷积层,最后得到维度为1×D×D的特征图;
人体姿态分支:人的图像和人体骨骼关键点位置矩阵作为输入;堆叠多个hourglass模,图像的大小先放缩到256×256,然后经过一个卷积核大小为7×7,步长为2卷积层和一个池化大小为2×2的最大池化层进行初步的特征提取后,得到大小为64×64,通道数为256的特征图后,进入hourglass模块;在hourglass模块之间使用卷积层进行连接;单个hourglass模块由卷积层和最大池化层进行下采样特征图到一定的大小;经卷积层和最近邻上采样特征图到原来的大小组成;卷积层后会使用组归一化对同组内的像素进行归一化,即对每一个像素点xi转化 网络最后的输出经2个卷积核大小1×1的卷积层后,将通道数变为关键点的个数;
三个分支的特征图进行点乘,接上主干网络的分类部分,即最后的全连接层,得到最后的输出y,作为注视点位置的预测输出;
最终使用注视物体的中心位置与头部的中心位置的连线作为视线方向。
2.根据权利要求1所述的方法,其特征在于,上述组归一化计算方法如下:
其中,xi为输入,μi,σi为归一化数据服从的分布的均值和方差, 为经过归一化的输出,γ,β为网络学习到的均值以及方差参数,ε是为了避免出现除0的情况所添加的一个很小的数,Si即参与计算均值与方差的像素点集,m为Si集合的大小,C为当前特征图的通道大小,G为Group设置的大小,kn,kc,in,ic表示Si点集中的一个元素。
3.根据权利要求2所述的方法,其特征在于,头部中心位置hc和大小hl的计算公式为:
hl=||ph-pn||2。
4.根据权利要求1所述的方法,其特征在于,头部位置矩阵xhl是一个大小为DxD的矩阵,其元素全为0,只在对应量化后的头部中心位置hc的元素为1,hx、hy为头部中心在图片中的位置,即
5.根据权利要求1-4任一项所述的方法,其特征在于:
其中,F代表全连接操作,S代表显著图分支,H代表头部姿态分支,P代表人体姿态分支。
xf为输入的整张图片,xh为头部图片,xhl为头部定位,xb为人体定位图片,xbl为关键点定位图片。
6.一种基于姿态分析和显著目标检测的表观视线估计方法,包括如下步骤:
根据人脸检测的结果将人脸分为面对/侧对和背对摄像头两种情况;
在人脸面对和侧对摄像头时,使用头部姿态和目标检测来进行视线估计,其中包括以下步骤:
头部姿态估计:估计人的头部相对于摄像机的三个自由度的转动度,分别为转动角(Roll),倾斜角(Pitch)和摇摆角(Yaw),使用深度卷积神经网络直接预测头部姿态:首先使用主干网络提取图像特征,然后直接回归出三个头部姿态的角度;
使用头部姿态估计来计算视线方向:在检测到的物体当中,选取那些与视线相交的目标,选取当中距离人的头部中心位置最近的作为注视目标,从而使用目标的中心位置作为注视位置修正视线方向;
当人脸背对摄像头时,加入人体姿态来进行实现估计。
7.根据权利要求6所述的方法,其特征在于,在计算视线方向时,使用物体框的四个顶点来判断物体是否落在视线范围内,物体框的角度范围分为两段[θB,π]和[-π,θA],视线范围分别为与这两段区间判断是否相交。

说明书全文

一种基于人体姿态分析的表观视线估计方法

技术领域

[0001] 本发明属于一种表观视线估计技术领域,特别涉及一种基于人体姿态分析的表观视线估计方法。

背景技术

[0002] 视线是指人的眼睛注视方向,通常代表了人所关注的焦点。视线信息能辅助机器理解人类行为、意图和人物的所在环境。视线估计在人机交互、注意分析和视频监控等方面有巨大的应用价值。
[0003] 视线估计作为一种注意力分析的工具,具有可量化,可视化的特点。例如在阅读研究中,通过视线估计,可以记录在哪些地方停顿,在哪些地方跳读,在哪些地方有回看等。在进行网站、杂志和海报等的页面设计时,利用视线估计技术,可以分析用户对哪些区域感兴趣,从而科学地设计页面来吸引用户和提高广告投放的有效性等。
[0004] 在视频监控中,视线估计技术的用途广泛和重要。如在教室的视频监控中,分析学生上课的注意力情况,能更加客观地评估学生的状态和教师的平。在商场的视频监控中,分析人群的注意力情况,能更加有效地设计广告的投放位置。在车站、机场和广场等人流密集场所的视频监控中,实时地进行视线估计,快速地发现异常行为。
[0005] 目前,主要有基于表观(appearance-based)和基于模型(model-based) 两种方法。基于模型的方法,因为需要复杂的设备(一个或多个的摄像头和红外光源),所以没有广泛地应用。而近些年来,随着机器学习,特别是深度学习的突破,基于表观的方法因为具有设备简单(只需要一个摄像头)、应用范围广泛等特点逐渐成为研究的主流。

发明内容

[0006] 为克服已有技术的不足之处,本发明提出基于人体姿态分析的表观视线估计方法,以提高视线估计算法的准确度和鲁棒性。
[0007] 为达到此目的,本发明采用以下技术方案:
[0008] 一种基于人体姿态分析的表观视线估计方法,该视线估计方法的网络结构由三个分支组成,显著图分支、头部姿态分支和人体姿态分支,该方法包括以下步骤:
[0009] 显著图分支由整幅图像xf作为输入,其维度经放缩后变为3×H×W,图像经一个主干网络提取特征,特征图的维度是K×D×D,然后接一个卷积核大小是1×1的卷积层,将其通道数变为1,得到的显著图的维度是1 ×D×D;
[0010] 头部姿态分支:头部姿态分支由头部图像xh和头部位置矩阵xhl作为输入,头部中心位置hc和大小hl使用人体骨骼关键点检测中的头顶位置ph 和颈部位置pn计算得到,先经过一个主干网络提取特征,然后接一个卷积核大小为1×1的卷积层,最后得到维度为1×D×D的特征图;
[0011] 人体姿态分支:人的图像和人体骨骼关键点位置矩阵作为输入;堆叠多个hourglass模,图像的大小先放缩到256×256,然后经过一个卷积核大小为7×7,步长为2卷积层和一个池化大小为2×2的最大池化层进行初步的特征提取后,得到大小为64×64,通道数为256的特征图后,进入hourglass模块;在hourglass模块之间使用卷积层进行连接;单个 hourglass模块由卷积层和最大池化层进行下采样特征图到一定的大小;经卷积层和最近邻上采样特征图到原来的大小组成;卷积层后会使用组归一化对同组内的像素进行归一化,即对每一个像素点xi转化 网络最后的输出经2个卷积核大小1×1的卷积层后,将通道数变为关键点的个数;
[0012] 三个分支的特征图进行点乘,接上主干网络的分类部分,即最后的全连接层,得到最后的输出y,作为注视点位置的预测输出;
[0013] 最终使用注视物体的中心位置与头部的中心位置的连线作为视线方向。
[0014] 相比于现有的技术,本发明的优点有:本发明结合人体姿态的视线估计算法在人脸背对摄像头时,提高了视线估计算法的准确度和鲁棒性。附图说明
[0015] 图1是本发明以人的头部中心为坐标原点,矩形代表物体框,其中,图 1a)为物体框不跨越第二与第三象限,图1b)为物体框跨越第二和第三象限;
[0016] 图2是本发明的单位脉冲与信号卷积;
[0017] 图3是本发明的堆叠hourglass网络结构;
[0018] 图4是本发明的hourglass模块结构;
[0019] 图5是本发明的归一化方式:批归一化,层归一化,面归一化和组归一化;
[0020] 图6是本发明的ROC曲线示例;
[0021] 图7是本发明的训练损失的下降情况:直线②是结合了人体姿态信息的,直线①则没有。

具体实施方式

[0022] 本发明提出了一种基于人体姿态分析的表观视线估计方法。下面将结合附图,对本发明的具体实施例进行详细的描述。
[0023] 本发明主要研究基于人体姿态的视线估计系统。在人脸面对和侧对摄像头时,主要使用头部姿态和目标检测来进行视线估计。在人脸背对摄像头时,则加入人体姿态来进行视线估计。
[0024] 本发明研究结合目标检测和头部姿态估计的算法在人脸面对摄像头时,使用头部姿态来估计视线。本发明研究如何使用目标中心位置来修正视线方向。本发明需要研究过小的目标可能不与视线相交和过大的目标的中心位置偏离视线方向大的问题。
[0025] 本发明结合人体姿态的视线估计算法在人脸背对摄像头时,研究如何结合人体姿态来提高视线估计算法的准确度和鲁棒性、网络的结构和损失函数的设计。包括显著图路径、头部姿态路径和人体姿态路径。
[0026] 一)方法概述
[0027] ·头部姿态估计
[0028] 头部姿态估计即估计人的头部相对于摄像机的三个自由度的转动度,分别为Roll(转动角),Pictch(倾斜角)和Yaw(摇摆角)。一般来说是先通过人脸检测,然后进行人脸关键点估计,最后将人脸关键点映射到一个标准的三维头部模型上,计算得到头部姿态。虽然人脸关键点估计在深度学习技术下已经取得不错的结果,但是仍然受限于大的姿态变化和遮挡等问题。这种方法计算得到的头部姿态对人脸关键点的位置非常敏感,鲁棒性较差。
[0029] 使用深度卷积神经网络直接预测头部姿态。首先使用resnet50主干网络提取图像特征,然后直接回归出三个头部姿态的角度。这种方法在 AFLW数据集上取得最好的效果,在一些如清淅度低和遮挡等比较困难的情况下,仍然能得到一定的效果,鲁棒性较强。因此,在本发明的算法框架中将采用这种方法进行头部姿态估计。
[0030] ·基于目标检测和头部姿态的视线估计
[0031] 在正脸或侧脸的情况时,虽然人的视线方向不一定与头部方向一致,但是人在多数情况下,不会长时间的让眼睛转动一个较大的角度去看一个偏离头部方向的目标。而是当一个感兴趣的目标出现后,先通过转动眼睛注视目标,然后转动头部面对目标。否则长时间通过眼睛看一个偏离头部方向的目标,人会感到不舒服,自然会转动头部面对目标。而且本发明方法的应用场景更多是如监控图像中人的视线方向的分析,而不是像眼动仪等每时每刻地利用视线方向做一些控制。只需要在相当一部分时间内,估计到人的视线方向做一些分析就可以了。因此,本发明假设在大部分情况下视线方向与头部方向是一致的。所以使用头部姿态估计来计算视线方向。本发明提出使用目标检测中的物体位置来进一步修正视线方向,即在检测到的物体当中,选取那些与视线相交的目标。然后选取当中距离人的头部中心位置最近的作为注视目标,从而使用目标的中心位置作为注视位置修正视线方向。
[0032] ·目标框与视线相交的判定
[0033] 使用物体框的四个顶点来判断物体是否落在视线范围内。顶点的角度定义为顶点与原点的连线与x轴的夹角θ=atan2(y,x),x、y是以人的头部中心为坐标原点时,物体框的顶点的横纵坐标。由于atan2的值在点跨越第二和第三象限时不连续,所示需要分别处理。如图1所示,当物体框不跨越第二与第三象限时,物体框的角度范围为物体落在视线范围内应满足:
[0034]
[0035] 其中,[θB,θA]为物体框的角度范围。θA和θB应取为四个顶点的角度中最大的和最小的。即判断视线范围与物体框的角度范围这两个区间是否相交。当物体框跨越第二与第三象限时,满足条件变为:
[0036]
[0037] 其中,θA和θB应为四个顶点角度中的次最大值和次最小值。即物体框的角度范围分为两段[θB,π]和[-π,θA]。视线范围分别为与这两段区间判断是否相交。综上,使用目标位置修正视线方向的算法,如算法3-1所示。
[0038]
[0039] ·基于人体姿态的视线估计
[0040] 在背脸的情况时,人脸关键点不可见,头部姿态估计难以进行。经网络进行视线估计。头部图像几乎全是黑色的像素点,强度也相关不大。仅使用头部图像难以得到充分的有效信息。而且此时检测不到人脸,难以定位到头部位置。由于人体姿态与头部姿态、视线方向存在一定的关系,本发明假设结合人体姿态信息后,深度卷积神经网络能够更加准确地估计视线方向和在背脸的情况时,增强网络的鲁棒性。人体的图像信息也与人正在交互的物体也有一定的关系训练一个深度卷积神经网络来定位到人正在交互的物体和预测人与物体之间的动作关系。人体姿态估计在第2 章视线估计相关技术中已经介绍,这里不再赘述。结合使用人体姿态信息还有一个好处是可以使用其中的头顶位置和颈部位置定位到头部位置和大小。即头部中心点位置hc=(ph+pn)/2和大小hs=||ph-pn||2,其中ph 是头顶位置,pn是颈部位置。
[0041] 本发明提出的视线估计网络结构由三个分支组成:显著图分支、头部姿态分支和人体姿态分支。设计思想主要是模拟人是如何估计他人的视线方向。当人推断他人正在注视的物体时,是先通过观察他的头部姿态和眼睛来估计他人的视线方向,然后在其视线方向上找到显著性强的物体,最后将此物体认定为他人正在注视的物体。因此设计网络,希望在通过训练后,能够使得显著图分支能够定位找到显著的物体,头部分支能够估计头部方向和人体姿态分支能够估计人体的方向。然后三个分支的特征图进行点乘,接上主干网络的分类部分,即最后的全连接层,得到最后的输出y,作为注视点位置的预测输出,如下所示:
[0042]
[0043] 其中,F代表全连接操作,S代表显著图分支,H代表头部姿态分支, P代表人体姿态分支。最终使用注视物体的中心位置与头部的中心位置的连线作为视线方向。
[0044] 但是因为回归模型不容易训练,所以转化为分类问题。即将注视点位置量化为一个M×M的矩阵。网络相当于对图像进行一个M2个类别的分类。所以最后的输出y是一个一维2
的长度为M的向量。经过softmax操作后,其值代表注视点位置的概率。最终将输出y调整为一个M×M的矩阵。
[0045] A)显著图分支
[0046] 视线估计中的显著目标检测与一般的显著目标检测是不一样的。一般的显著目标检测是指当一个人看到一张图像时,这张图像的哪些地方会比较显著,比较吸引的这个看的人的目光。而视线估计中的显著目标检测是指对于图像里的要人来说,图像中的哪些地方会比较显著,比较吸引其目光。一个最明显的区别是,使用一般的显著目标检测有较大概率会图像中的人作为显著目标,但在这里是不合理的。所示需要设计一个显著图分支,针对视线估计问题,进行训练学习,而不是直接使用当前已有的显著目标检测方法。
[0047] 显著图分支由整幅图像xf作为输入,其维度经放缩后变为3×H×W 。图像经一个主干网络如Alexnet的前5层提取特征,特征图的维度是K×D ×D。然后接一个卷积核大小是1×1的卷积层,将其通道数变为1。最终得到的显著图的维度是1×D×D。
[0048] 由于低层卷积层的感受野比较小,所以特征语义信息比较少,但是位置信息比较准确;而高层卷积层的感受野比较大,所以特征语义信息比较多,但是位置信息比较模糊。因此将低层特征与高层特征进行融合,可以更好地提取图像特征。即从最后一层卷积层的特征图开始,先进行2倍的最近邻上采样,然后与上一层卷积层的特征图进行相加,依此类推,到第2层卷积层为止。因为第1层的特征主要是一些比较基本的特征,如各个方向的边缘等。而且如果融合到第1层的话,第1层的特征图大小比较大,会导致后面的全连接层的神经元数量较多,占用显存较多,训练缓慢。最后的输出的大小也会较大,不容易收敛。所以这里只向上采到第2层就停止了。最后使用融合后的特征图作为显著图。
[0049] B)头部姿态分支
[0050] 头部姿态分支由头部图像xh和头部位置矩阵xhl作为输入。头部中心位置hc和大小hl使用人体骨骼关键点检测中的头顶位置ph和颈部位置pn计算得到:
[0051]
[0052] hl=||ph-pn||2
[0053] 头部位置矩阵xhl是一个大小为DxD的矩阵,其元素全为0,只在对应量化后的头部中心位置hc的元素为1,如图3-7和下式所示。
[0054]
[0055] 头部图像xh经与显著图分支相似的处理,即先经过一个主干网络提取特征,然后接一个卷积核大小为1×1的卷积层,最后得到维度为1 ×D×D的特征图。因为此时的特征图是以相对于头部的中心位置的,所以需要将其转换为相对于原来图像的位置。将头部特征图拉成一个一维的向量,然后在头部中心位置串接在这向量的后面,接上一个全连接层,希望通过训练后,让网络学习到如何利用这个头部中心位置信息。本发明提出直接使用头部位置移动头部特征图,将头部特征图的中心位置移动到在原图中头部的位置。为了在训练时高效的使用GPU,决定采用卷积的形式实现。由信号处理中的一维卷积操作可知,将个单位脉冲信号δ与另一个信号x作卷积,等于将信号平移到脉冲位置,如图2和下式所示。
[0056]
[0057] 其中,a为δ信号的位置,l为信号的长度。同样地,对于2维的情况有[0058]
[0059] 其中,a、b为δ信号的位置。即使用头部位置作为卷积核,与头部特征图进行卷积操作,将头部特征图的中心位置平移到在原图中头部的位置。
[0060] 假设训练时批处理的大小为n,则此时头部特征图的维度为n×1×D×D, 将其调整为1×n×D×D,并每边作长度为D/2的0填充,维度变为 1×n×(D+D/2)×(D+D/2)。而些时头部位置的维度为n×1×D×D,将其调整为1×n×D×D。然后将头部位置作为卷积核,对头部特征图进行步长为 1,组数为n(每组一个通道)的分组卷积。整个过程相当于将每个特征图分别对应到一个通道上,为每个通道做一次卷积操作。最后卷积结果的维度是1×n×D×D,将其调整为n×1×D×D,作为头部姿态分支的特征图。
[0061] C)人体姿态分支
[0062] 人体姿态估计或人体骨骼关键点检测,是指在图像中定位到人的关键点如头、肩等,通常还会按一定的顺序进行连接。关键点的数目和类别取决于数据集,如COCO数据集有17个点,MPII有16个点。关键点检测的困难主要有:1、遮挡,往往一些关键点是被遮挡的,不可见的。 2、变化,首先,表观上的变化,人的衣服等使得关键点的图像变化大;第二个是关键点的相对位置变化大。因为人体不是刚体,肢体之间的相对位置可以有较大的变化,使用关键点的相对位置变化也大。3、图像中可以有多个人,在检测时一般是不知道总人数的。4、人与人相互之间可能有重叠,需要区分等。5、不同的关键点的检测难度是不一样的,通常头部的点比较容易检测,因为图像特征较多,而躯干、脚等比较困难。
[0063] 从方法上可以分为单人姿态估计和多人姿态估计。
[0064] 单人姿态估计:提出以全局的方式来预测关键点。即对第一个关键点都使用整幅图像作为输入,使用一个7层的深度卷积神经网络进行特征提取,最后以回归的方式预测关键坐标。对每一个类别的关键点都生成一个矩阵,矩阵的值是这个位置为关键点的概率。直接回归关键点的坐标其实是一个相对于图像左上角坐标原点的偏差值,而长距离的偏差值在实际学习过程中是很难回归的,误差较大。同时在训练中的过程,提供的监督信息少,使得整个网络的收敛速度慢。而使用热点图的方式作为网络的输出,热点图的每一个点在一定程度上都提供了监督信息,使得网络的收敛速度快。在可视化方面,热点图的方式也要优于直接回归坐标的方式。实践证明,热点图的方式在准确度上更好。
[0065] 在第一个阶段产生初步的关键点的检测结果,后面的阶段均使用前一个阶段的输出和从原图像经主干网络提取的特征作为输入。使得网络后面的感受野随着阶段的增加而逐渐增大,进一步提高关键点的检测效果。而且提出使用中继监督,即对各个阶段的预测输出都计算损失,从而减轻网络过深而导致梯度消失的问题。
[0066] 多人姿态估计:可分为自顶向下和自底向上的方法。自顶向下的方法是先通过行人检测,定位的每个人的位置,然后把人的图像截取,进行单人姿态估计。即把多人姿态估计转化为单人姿态估计。这类方法的准确度高,但是速度慢,时间随着图像中人的数量而线性上升。而自底向上的方法是先把图像中所有的关键点检测出来,然后相当于做一个聚类,将关键点分配的每个人上。在CPM的基础上,加入了一组分支用于生成关键点到下一关键点的方向场。加一组通道用于预测标签值,即属于同一个人的关键点的标签值尽可能接近,不同人的关键点的标签值尽可能不同。这类方法的特点是速度快,时间几乎与图像中人的数量无关,能够实时处理图像。
[0067] a)基于hourglass模块的人体姿态估计
[0068] 基于hourglass网络的人体姿态估计是通过堆叠多个hourglass模块组成的。图像的大小先放缩到256×256,然后经过一个卷积核大小为7×7,步长为2卷积层和一个池化大小为2×2的最大池化层进行初步的特征提取后,得到大小为64×64,通道数为256的特征图后,进入hourglass模块。在hourglass模块之间使用卷积层进行连接。如图3所示。
[0069] 单个hourglass模块由卷积层和最大池化层进行下采样特征图到一定的大小后,再经卷积层和最近邻上采样特征图到原来的大小组成。每次进行下采样时,先复制当前的特征图到另一个分支。所有分支的特征图都会经过一个卷积层后与后面经上采样后大小一样的特征图进行相加。这样使得网络能够在不同的尺度下提取特征并进行组合。hourglass 模块的卷积核大小都为3×3,下采样到最后的特征图为4×4,使得最后的卷积层能够在整个图像大小的尺度下进行特征提取。单个hourglass 模块如图4所示。
[0070] 一般卷积层后会加一个批归一化层(batch norm layer)[36]将数据白化到均值方差一致的分布,解决在训练过程中,由于中间层数据分布不断改变,导致收敛缓慢的问题。但是由于基于hourglass网络的人体姿态估计网络比较大,占用显存多。在单块GPU上训练时,批大小只能设置一个较小的值。批归一化的效果下降。所以使用Wu等人[37]提出的组归一化(Group Norm),这种归一化的方化与批大小无关,在批大小较小时,仍然取得较好的效果。各种归一化的方式如图5所示。
[0071] 本文使用的组归一化,即对每一个像素点xi转化
[0072]
[0073]
[0074] 其中,μi,σi为归一化数据服从的分布的均值和方差:
[0075]
[0076]
[0077] 其中,ε是一个小数,避免出现除0的情况,Si即参与计算均值与方差的像素点集:
[0078]
[0079] 即只使用批处理中单个样本的输出,将其按通道分组,只使用同组内的像素进行归一化。
[0080] 网络最后的输出经2个卷积核大小1×1的卷积层后,将通道数变为关键点的个数。特征图的每个通道,相当于是一个热点图就对应一个关键点的预测。标签热点图是一个以关键点为中心,标准差为1个像素的2维高斯分布。如果标签中没有对应的关键点,则生成一个全0的热点图作为对应的标签热点图。网络的损失函数是均方差函数并采用一种中继监督的思想,即中间的每个模块的输出都加入损失的计算中,减轻梯度弥散的问题。
[0081] b)人体姿态输入
[0082] 在一些如跨摄像头的行人重识别的问题中,由于同样有相当多的情况,人是背对监控摄像头的,人脸图像不可见。他们加入了人体姿态的信息来提高方法的准确度。在一些启发下,本文提出加入人体姿态信息,辅助判断视线方向。人体姿态分支由人的图像xb和人体骨骼关键点位置矩阵xpl作为输入。人的图像xb同样经与显著图分支相似的处理后,得到1× D×D的特征图。假设有k个人体骨骼关键点,则人体骨骼关键点位置矩阵输入是k个D×D的矩阵。
[0083] ·实验设置
[0084] 本发明使用由美国麻省理工学院的Adria Recasens,Aditya Khosla, Carl Vondrick和AntonioTorralba发布的GazeFollow数据集。该数据集共包含130,339张图片,其中1548张图片来源于SUN,33790张图片来源于MS COCO,9135张图片来源SCAL,508张图片来源于ImageNet,198097 张图片来源于Places,是一个有一定规模的且具有挑战的包含人们在日常场景下执行着各式各样的任务的数据集。该数据集采用亚逊的众包平台 Mechanical Turk进行标注。每张图片均标注有人眼位置和注视点位置,使用其中的125,557张用于训练,4782张用于测试。
[0085] 本文基于目标检测和头部姿态的视线估计模型和基于人体姿态的视线估计模型均使用python语言,在pytorch框架下编写。采用的主干网络 Alexnet为在torchvision库中的在ImageNet 1000个分类任务中训练所得到的网络。网络模型中m=13,batch size=128,learning rate=1e-4, momentum=0.9,weight decay=1e-5.具体开发环境如表4-1所示:
[0086] 表4-1系统开发环境
[0087]
[0088] 评价标准
[0089] 在正脸或侧脸的情况时,因为对比的方法只有角度的预测,所以只使用了角度误差一项评价指标。而在背脸的情况时,因为有注视点位置的预测,所有加入了一项评价指标。而且本文的网络输出可以看成是分类网络的输出,所以也加入了常用的评价分类能力的指标AUC值。
[0090] AUC(Area Under Curve)即ROC曲线下的面积,是经常使用能很好描述模型整体性能的指标。直观的理解是使用模型预测所有的测试样本,并根据预测概率进行排序。那么当AUC值越大,模型越能将正样本排在负样本的前面。或者可以理解为随机抽取一个正样本和一个负样本,分类器预测正样本的概率大于负样本的概率的机率。
[0091] ROC曲线(receiver operating characteristic curve)即以FPR为横坐标, TPR为纵坐标,阈值从0到1时的曲线。预测概率大于阈值的记为正类;小于阈值的,记为负类。得到一对(FPR,TPR)值。阈值从0开始到1,每隔一定间隔取一个值,就得到一组(FPR,TPR)值,从而绘制出ROC曲线,如图6所示。
[0092] 实验结果
[0093] (1)GazeFollow数据集上定量分析
[0094] a)正侧脸
[0095] 首先对比了几种基本的方法。在整个数据集上,Random:随机点作为注视点。Center:每张图都选取中心点作为注视点。Fixed:整个数据集中,对头部位置一致的图像的注视点位置作平均;测试时,选取头部位置最接近的作为注视点。然后,使用S3FD[25]方法进行人脸检测。根据人脸检测的结果,将整个数据集分为正脸或侧脸和背脸两种情况。在正脸或侧脸的时候,本文对比了几种主流的方法。传统的头部姿态估计方法,即先进行人脸关键点估计,然后通过解PnP问题得到头部姿态。人脸关键点检测使用FAN。PnP问题的求解则使用OpenCV库的solvePnP函数。另外,基于深度学习的方法也进行了测试。使用Ruiz等人的hopenet网络估计头部姿态的方法和Recasens等人的网络估计注视点的位置进行了对比。
最后是本文的结合使用目标检测Faster R-CNN网络的视线估计方法。从表4-2可以看出,基于深度学习的方法有较大的提升。对比传统的方法降低了23%的角度误差。因为在某些困难的情况下,传统的方法会给出非常差的结果,而基于深度学习的方法还是能够给出一个稍合理的预测。通过加入目标检测修正视线方向,本文的方法取得了最小的角度误差,相比Recasens等人的方法有2.5度的提升。在正面或侧脸情况时,本文结合目标检测与头部姿态的方法取得最好的结果,视线方向误差比FAN的低9.66度,比 Recasens的低2.51度。
[0096] 表4-2正脸或侧脸
[0097]
[0098] b)背脸
[0099] 在人脸图像为背脸图像时,传统的头部姿态估计方法不能给出一个有意义的结果。而且hopnet网络也没有在这种情况下训练。所以本文只能和 Recasens等人的方法与Judd等人的图像显著性目标检测方法进行对比。在训练阶段,结合了人体姿态信息的网络的损失下降得更快。网络在250K 次迭代后收敛,如图7所示。
[0100] 从表4-3可以看出,本文的结合了人体姿态信息的网络相比Recasens 等人的网络有大约1度的提升,注视点位置误差在归一化后有减少了 0.009。与人类水平相比仍然有较大的差距。
[0101] 与Recasens等人的网络相比,通过结合人体姿态信息,在背脸的情况时,本文的网络能够将一些在身体附近的物体预测为注视物体,而Recasens 等人的网络只能大约地预测到一些头部方向。这是合理的,因为人们经常是看着正在交互的物体。换句话说,当人用手拿着物体时,本文的网络能够预测的更准确。
[0102] 表4-3背脸
[0103]
[0104]
[0105] 在两种情况中,本文的和所有对比的模型由于缺少深度信息,在一些情况下的预测都有较大的错误。在不同深度位置的目标,在2维图像上都呈现在一个平面上。所以在较深或较浅位置的目标,如果在图像上出现在视线方向上时,就会被误认为是注视目标,从而影响了视线方向的修正。
[0106] c)网络结构分析
[0107] 通过对比某一部分加入与否的实验,验证本文提出的改进方法的有效性。Baseline为只使用整个图像和人的头部图像作为输入, Alexnet为主干网络,标准的交叉熵作为损失函数。之后逐步加入改进的方法,对比实验的效果。posf为加入头部位置信息,使用全连接层处理。posc为加入头部位置信息,使用本文提出的卷积平移头部图像的方法。 pose为加入人体姿态信息。soft将损失函数替换为空间平滑的交叉熵。最后,对比了主干网络替换为vgg16和resnet的实验效果。
[0108] 表4-4网络结构分析
[0109] Method AUC Dist. Ang.alexnet 0.786 0.244 36.25
alexnet+posf 0.806 0.229 31.06
alexnet+posc 0.817 0.208 28.82
alexnet+posc+pose 0.848 0.199 26.95
alexnet+posc+pose+soft 0.858 0.196 25.80
vgg16+posc+pose+soft 0.876 0.193 24.88
resnet+posc+pose+soft 0.877 0.190 24.36
[0110] 从表4-4可以看出,头部位置信息对结果有较大的影响。使用本文提出的卷积平移头部图像的方法,视线方向误差有效地降低了大约2.2度。损失函数替换为空间平滑的交叉熵后,视线方向误差降低了大约1度。实验结果验证了提出方法的有效性。
[0111] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈