人头姿态识别、模型构建方法、装置、设备及存储介质与流程

文档序号:26007662发布日期:2021-07-23 21:26阅读:111来源:国知局
人头姿态识别、模型构建方法、装置、设备及存储介质与流程

本申请涉及人工智能技术领域,尤其涉及一种人头姿态识别、模型构建方法、装置、设备及存储介质。



背景技术:

人头旋转角度识别,也可称为人头姿态识别,用于识别人头的脸部朝向。人头姿态识别可以应用于监控领域,例如,长途驾驶过程中实时检测司机是否专心开车,通过监控司机脸部的实时动向,避免因打瞌睡之类的不专心开车导致的车祸事件发生。

相关技术中,借助欧拉角表达人头姿态的朝向,通过回归欧拉角获得人头姿态,但是,欧拉角本身带有万向节死锁的问题,这样,因万向节死锁引起的不连续性会导致相似角度的人头图像所回归的欧拉角之间的差别很大,使得识别的精确度降低。



技术实现要素:

为克服相关技术中存在的问题,本申请提供了一种人头姿态识别、模型构建方法、装置、设备及存储介质。

根据本申请实施例的第一方面,提供一种人头姿态识别方法,所述方法包括:

获取二维图像;

将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

根据本申请实施例的第二方面,提供一种人头姿态识别模型构建方法,所述方法包括:

获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵;

以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

根据本申请实施例的第三方面,提供一种人头姿态识别装置,所述装置包括:

获取模块,被配置为获取二维图像;

输出模块,被配置为将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

根据本申请实施例的第四方面,提供一种人头姿态识别模型构建装置,所述装置包括:

获取模块,被配置为获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵;

构建模块,被配置为以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

根据本申请实施例的第五方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

获取二维图像;

将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

根据本申请实施例的第六方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵;

以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

根据本申请实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取二维图像;

将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

根据本申请实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵;

以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

本申请的实施例提供的技术方案可以包括以下有益效果:

本技术方案中的人头姿态识别方法,将包括人头的二维图像输入训练好的人头姿态识别模型,经过人头姿态识别模型的识别,能够直接得到该二维图像中的人头特征对应的旋转矩阵,利用旋转矩阵来表征人头特征的旋转角度,相较于相关技术中利用欧拉角来表征人头特征的旋转角度,本技术方案能够避免因万向节死锁引起的不连续性所导致的相似角度的人头特征所回归的欧拉角之间的差别很大的问题,能够有效提高识别的精确度,更具有语义特征;并且,本技术方案中的人头姿态识别模型,是利用多个包括人头的二维图像作为样本、样本的旋转矩阵为标签进行训练构建的,也能够进一步提高识别精度;利用该人头姿态识别模型构建出二维图像和旋转矩阵的直接映射关系,能够快速得到人头特征的旋转角度,提高识别效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请一示例性实施例示出的一种人头姿态识别方法的流程示意图。

图2为本申请一示例性实施例示出的一种人头姿态识别模型识别过程的流程示意图。

图3为本申请一示例性实施例所示的一张二维图像输入人头姿态识别模型进行识别过程的流程示意图。

图4为本申请一示例性实施例所示的一种人头姿态识别模型构建方法的流程示意图。

图5为本申请一示例性实施例所示的一种人头姿态识别模型构建方法的流程示意图。

图6a为本申请一示例性实施例所示的一种获取二维图像对应的旋转矩阵过程的流程示意图。

图6b为本申请一示例性实施例所示的一种利用二维图像构建三维模型的示意图。

图7为本申请一示例性实施例示出的一种人头姿态识别装置的结构示意图。

图8为本申请一示例性实施例示出的一种人头姿态识别模型构建装置的结构示意图。

图9为本申请一示例性实施例示出的一种计算机设备的结构示意图。

图10为本申请一示例性实施例示出的一种计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

下面结合附图,对本申请的人头姿态识别、模型构建方法、装置、设备及存储介质进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。

本申请提供了一种人头姿态识别方法,其可以适用于交通监控等应用场景,其执行主体可以是监控设备,例如,安装在车内的监控设备,通过监控设备执行人头姿态识别方法,可以判断正在驾驶车辆的司机的人头姿态,判断司机是否专注于驾驶。将该人头姿态识别方法还可以适用于其他应用场景,本申请不作具体的限定。图1为本申请一示例性实施例所示的一种人头姿态识别方法的流程示意图。如图1所示,该人头姿态识别方法包括以下步骤101至102:

步骤101,获取二维图像。

在步骤101中,所述二维图像至少包括一个人头,人头可以包括人脸、头发、五官等,以使人头姿态识别模型可以识别出人头特征。所述二维图像可以是彩色图像,也可以是黑白图像。二维图像可以通过监控设备的摄像模块进行采集,也可以是监控设备接收与其连接的摄像设备采集的图像。

步骤102,将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

在步骤101中,将获取到的二维图像输入人头姿态识别模型,该模型能够识别二维图像中的人头特征,可以直接获取二维图像中的人头特征的旋转矩阵,采用旋转矩阵来表征人头特征的旋转角度。也就是说,该人头姿态识别模型的输入是二维图像,输出是人头特征的旋转矩阵,二维图像和旋转矩阵具有直接的映射关系,无需通过复杂的转换来得到人头特征的旋转矩阵。该人头姿态识别模型是以至少包括人头二维图像为样本、二维图像所对应的旋转矩阵为标签进行训练生成的,也就是说,采用的是监督学习的方式对神经网络模型进行训练,从而能够构建更鲁棒、更具有语义的模型。

其中,旋转矩阵(rotationmatrix)是表征人头特征的旋转角度的一种方式,其为一个3×3的矩阵,旋转矩阵包括三个向量,三个向量是互相正交的空间向量,描述了三个主轴(x轴,y轴,z轴)的空间向量,分别表征三个主轴的方向。旋转矩阵具有的性质如下述的公式1所示:

其中,r为旋转矩阵,旋转矩阵的三个向量为:r1=[r11,r21,r31],r2=[r12,r22,r32]与r3=[r13,r23,r33]。由上述的公式1可知,旋转矩阵的三个向量互相垂直,且均为单位向量。

本实施例的上述人头姿态识别方法,将包括人头的二维图像输入训练好的人头姿态识别模型,经过人头姿态识别模型的识别,能够直接得到该二维图像中的人头特征对应的旋转矩阵,利用旋转矩阵来表征人头特征的旋转角度,相较于相关技术中利用欧拉角来表征人头特征的旋转角度,本技术方案能够避免因万向节死锁引起的不连续性所导致的相似角度的人头特征所回归的欧拉角之间的差别很大的问题,能够有效提高识别的精确度,更具有语义特征;并且,本技术方案中的人头姿态识别模型,是利用多个包括人头的二维图像作为样本、样本的旋转矩阵为标签进行训练构建的,也能够进一步提高识别精度;利用该人头姿态识别模型构建出二维图像和旋转矩阵的直接映射关系,能够快速得到人头特征的旋转角度,提高识别效率。

由于该人头姿态识别方法适用于交通监控等应用场景,安装在车内的监控设备通过获取到车内正在驾驶车辆的司机的人头姿态的二维图像,执行该人头姿态识别方法,可以判断正在驾驶车辆的司机的人头姿态,判断司机是否专注于驾驶。在本申请一示例性实施例中,在所述人头姿态识别模型输出所述人头特征的旋转矩阵之后,还包括:如果所述旋转矩阵超过设定的旋转矩阵范围,输出提醒信号。

其中,设定的旋转矩阵范围可以是表征司机专注于驾驶时的人头旋转角度的范围,也就是说,如果输出的旋转矩阵在此设定的旋转范围内,司机的人头姿态是相对朝向开车视野的前方,可以表示司机在专注于驾驶;如果输出的旋转矩阵超过了设定的旋转范围内,司机的人头姿态是没有朝向开车视野的前方,例如,低头、背向视野、侧向视野等,可以表示司机并没有专注于驾驶,此时,则输出提醒信号,提醒司机专注驾驶,避免发生交通事故。

在本申请一示例性实施例中,提醒信号可以是语音信号。例如,输出连续性的警示音效。又如,输出人声的警示音效。

在本申请一示例性实施例中,所述二维图像可以是实时获取的,即实时监控车内的司机是否专注于驾驶。在本申请另一示例性实施例中,所述二维图像可以是周期性获取的。

在本申请另一示例性实施例中,监控设备启动后,当工作时间达到设定的时间长度后,执行上述的人头姿态识别方法。通常地,监控设备是随着车辆启动而启动的,监控设备启动则表示当前车辆处于使用状态,监控设备的工作时间也可以表示车辆的行驶时间,则可以表示司机的驾驶时间,当工作时间达到设定的时间长度后,例如,1小时、2小时等,可以表示司机的驾驶时间为1小时、2小时,司机容易产生疲劳驾驶,有可能处于打瞌睡的状态,此时,监控设备则可以获取包括司机人头的二维图像,并输入人头姿态识别模型得出司机人头的旋转矩阵,即旋转角度,判断司机是否低头打瞌睡,如果是,则输出提醒信号,提醒司机保持清醒,避免引起交通事故。

下面对在二维图像输入人头姿态识别模型后,该人头姿态识别模型如何识别得到二维图像中的人头特征的旋转矩阵的过程进行详细说明。图2为本申请一示例性实施例所示的一种人头姿态识别模型识别过程的流程示意图。本实施例所示的人头姿态识别模型包括resnet(residualnetwork)残差网络层、反卷积层和积分层,如图2所示,该人头姿态识别模型识别过程具体包括以下步骤201至203:

步骤201,利用所述残差网络层对所述二维图像进行人头特征的提取,获取第一尺寸及第一通道数量的网络层。

在步骤201中,残差网络层可以对二维图像进行人头特征的提取,提取可以表征人头的核心特征,获取第一尺寸及第一通道数量的网络层,第一尺寸和第一通道数量可以是预先设定的。

在本申请一示例性实施例中,所述残差网络为resnet-34。采用34层的残差网络可以保证该人头姿态识别模型的预测实时性。

步骤202,利用所述反卷积层对所述网络层进行若干次反卷积,获取第二尺寸及第二通道数量的特征层。

在步骤201中,反卷积层可以对残差网络层进行特征提取得到的网络层进行多次反卷积,获取第二尺寸及第二通道数量的特征层,多次反卷积操作可以使得获取的特征层采样到能够达到和输入的二维图像具有明显映射的尺度。

在本申请一示例性实施例中,第一尺寸小于第二尺寸,第一通道数量大于第二通道数量。

在本申请一示例性实施例中,在反卷积层进行反卷积操作时,人头姿态识别模型还包括batchnorm(batchnormalization,批标准化)操作和relu(rectifiedlinearunit,线性整流函数)操作。

步骤203,将所述特征层模拟成三维立方体,利用所述积分层对所述三维立方体的三个轴向进行积分,以得到所述二维图像中的人头特征的旋转矩阵的三个向量,并输出识别结果。

在步骤203中,多通道的特征层可以模拟成三维立方体,将反卷积后得到的多通道特征层模拟成三维立方体,对一个三维立方体的三个轴向(x轴,y轴,z轴)进行积分,可以得到一个向量,该向量包括三个轴向的子向量。一个向量的三个子向量x,y,z:x由立方体的yz面积分获得,y由立方体的xz面积分获得,z由立方体的xy面积分获得,从而得到一个向量。

由于旋转矩阵包括三个向量,在本申请一示例性实施例中,将所述特征层模拟成所述三维立方体的数量为三个,那么,可以分别对三个三维立方体的三个轴向进行积分,得到所述旋转矩阵的第一向量、第二向量及第三向量,从而人头姿态识别模型输出二维图像对应的旋转矩阵。

根据上述的旋转矩阵具有公式1所示的性质,即旋转矩阵的三个向量互相垂直,且均为单位向量,因此,只要知道旋转矩阵的其中两个向量,就可以获得第三个向量。在本申请另一示例性实施例中,将所述特征层模拟成所述三维立方体的数量为两个,那么,分别对两个所述三维立方体的三个轴向进行积分,得到所述旋转矩阵的第一向量及第二向量;根据所述第一向量和所述第二向量计算得到所述旋转矩阵的第三向量;从而人头姿态识别模型输出二维图像对应的旋转矩阵。这样,可以进一步提高识别效率。

在本申请一示例性实施例中,将旋转矩阵的所述第一向量定义为人头中心到人头鼻尖的直线向量,所述第二向量定义为所述人头中心到人头头顶的直线向量。在本申请一示例性实施例中,所述三维立方体的中心为所述人头中心。这样,可以便于进行积分得到旋转矩阵。

下面通过一个例子对上述实施例进行说明,图3为本申请一示例性实施例所示的一张二维图像输入人头姿态识别模型进行识别过程的流程示意图。如图3所示,该二维图像30为一张尺寸为256*256的包括人头特征彩色图像,将该二维图像30输入人头姿态识别模型300,其中,该人头姿态识别模型300包括:resnet-34残差网络层310、反卷积层320和积分层(未图示)。该二维图像30经过resnet-34残差网络层310后,获得尺寸为8*8,通道数为512的网络层31,经过反卷积层320的反卷积,得到尺寸为16*16,通道数为512的特征层32,再次进行反卷积,得到尺寸为32*32,通道数为256的特征层33,再次进行反卷积,得到尺寸为64*64,通道数为128的特征层34,此时,通道数128可以看成为64*2,也就是说,该特征层34的尺度为64*64*64*2,这样,可以将特征层34模拟成两个64*64*64的三维立方体,积分层对两个三维立方体的三个轴向进行积分,分别可以得到3个值,两个立方体可得到得6个值,从而得到两个向量。根据旋转矩阵的性质,只需要知道其中两个向量,就可获得第三个向量,从而得到该二维图像30的旋转矩阵。

本申请还提供了一种人头姿态识别模型构建方法,图4为本申请一示例性实施例所示的一种人头姿态识别模型构建方法的流程示意图。如图4所示,该人头姿态识别模型构建方法包括以下步骤401至402:

步骤401,获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵。

步骤402,以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

在本实施例中,获取多个包括人头的二维图像以及二维图像对应的旋转矩阵作为训练数据,其中,旋转矩阵作为标签,利用样本-标签对设定的神经网络模型进行监督学习,构建能够精确识别人头姿态的神经网络模型。

下面对设定的神经网络模型的训练过程进行详细说明。图5为本申请一示例性实施例所示的一种人头姿态识别模型构建方法的流程示意图。所述设定的神经网络模型包括resnet残差网络层、反卷积层和积分层。如图5所示,该人头姿态识别模型构建方法包括以下步骤501至504:

步骤501,利用所述残差网络层对所述样本进行人头特征的提取,获取第一尺寸及第一通道数量的网络层。

步骤502,利用所述反卷积层对所述网络层进行若干次反卷积,获取第二尺寸及第二通道数量的特征层。

步骤503,将所述特征层模拟成三维立方体,利用所述积分层对所述三维立方体的三个轴向进行积分,以得到所述二维图像样本中的人头特征的旋转矩阵的预测结果。

步骤501至503同上述步骤201至203中相关技术大致相同,在此不再赘述。不同的是,所得到的旋转矩阵为预测结果。

步骤504,利用损失函数获取所述预测结果和对应的所述标签之间的损失值,基于所述损失值对所述设定的神经网络模型进行训练。

在步骤504中,根据上述的旋转矩阵的公式1可知,旋转矩阵的任意向量均为单位向量,即向量的模长为1,因此,旋转矩阵的向量在三维立方体中,向量坐落的位置应该是以立方体中心为中心的一个球面上。那么,通过三维立方体积分得到的旋转矩阵的向量的预测结果,即对向量的三个子向量x,y,z的预测应该是在球面位置的预测,而网络输出的数据是带有噪声的,不能以某个点最大值作为最终x,y,z的预测标准,所以x,y,z根据对立方体的积分获得,即x由立方体的yz面积分获得,y由立方体的xz面积分获得,z由立方体的xy面积分获得。通过积分获得旋转矩阵的向量为预测结果,再利用损失函数获取预测结果和对应的标签的真实值的之间的损失值,基于所述损失值对所述设定的神经网络模型进行训练,即通过反向传播训练该神经网络模型,从而构建人头姿态识别模型。

在本申请一示例性实施例中,所述损失函数为l1loss。l1loss具有全局更优的梯度传导特性,可以训练出更优的人头姿态识别模型。

下面对如何获取二维图像对应的旋转矩阵进行详细说明,图6a为本申请一示例性实施例所示的一种获取二维图像对应的旋转矩阵过程的流程示意图,图6b为本申请一示例性实施例所示的一种利用二维图像构建三维模型的示意图。如图6a所示,在本申请一示例性实施例中,获取所述二维图像对应的旋转矩阵的步骤具体包括步骤601至602:

步骤601,利用所述二维图像构建对应的三维模型。

步骤602,基于所述三维模型获取所述二维图像对应的旋转矩阵。

本实施例中,如图6b所示,二维图像为包括人头的图像,可以通过二维图像获取人头的关键点,并利用人头特征和关键点来构建该二维图像中的人头所对应的三维模型。关键点可以是五官、人脸轮廓的特征点。在构建三维模型后,则可以根据获取的三维人脸数据来计算得到该人头的旋转矩阵。

由于旋转矩阵涉及到的三维人脸数据具有采集和标注的难度,并且,不同人头的二维图像,要获取其对应的旋转矩阵,都要构建人头所对应的三维模型,这样容易导致训练样本的数量较小。为了获取大量的样本,在本申请一示例性实施例中,所述方法还包括:

获取一个所述二维图像;

对所述二维图像进行数据增强预处理,以获取多个所述二维图像作为样本。

本实施例中,可以利用单张二维图像,对该图像进行数据增强的预处理,获取多个训练样本,从而增大训练数据的数量,并且能够快速地训练出更优的人头姿态识别模型。

在本申请一示例性实施例中,所述数据增强预处理包括以下至少一种:图像裁剪、颜色变换、尺寸缩放以及图像旋转。也就是说,可以采用一种预处理方法去增加训练样本,也可以采用组合的预处理方法去增加训练样本,所得到的每个训练样本都不相同,由此增大训练数据的数量。

下面对上述的几种数据增强预处理方法进行详细的说明:

图像裁剪,即将二维图像裁剪为不同尺寸的图像,由于图像尺寸的改变,可以使得人头在二维图像中的位置改变,从而形成了不同的训练样本,虽然图像裁剪的处理没有改变二维图像中的人头的旋转矩阵,但是,其对网络输入的数据进行了增强。

颜色变换,即对二维图像的整体颜色进行改变,例如,减少或增加亮度、减少或增加对比度,将彩色图像变换为黑白图像、灰度图像等,从而形成了不同的训练样本,颜色变换的处理与图像裁剪相似,没有改变二维图像中的人头的旋转矩阵,但对网络输入的数据进行了增强。

尺寸缩放即对二维图像的尺寸进行放大或者缩小,其与图像裁剪具有区别,尺寸缩放可以放大或者缩小二维图像中的人头,或者说,改变了人头的分辨率,从而形成了不同的训练样本,尺寸缩放的处理与图像裁剪、颜色变换相似,没有改变二维图像中的人头的旋转矩阵,但对网络输入的数据进行了增强。

图像旋转,即对二维图像进行旋转,例如,逆时针旋转、顺时针旋转、还可以包括镜像反转。图像旋转则可以改变二维图像中的人头的旋转矩阵,也就是说,对训练样本中的标签进行了增强,从而形成了不同的训练样本。并且,其无需通过构建多个三维模型去获取旋转矩阵,只要利用未进行预处理前的二维图像构建三维模型,获取该二维图像的旋转矩阵,便可以通过该矩阵获得进行图像旋转后的二维图像的旋转矩阵。

例如,原二维图像的某点坐标为(x,y),旋转角度θ后的二维图像的所映射的某点坐标为(x′,y′),两个坐标满足以下公式2:

用旋转矩阵表示则满足以下公式3:

其中,为原二维图像的旋转矩阵,为经过角度θ旋转后的二维图像的旋转矩阵。

与前述方法的实施例相对应,本申请还提供了装置及其所应用的电子设备的实施例。

本申请还提供了一种人头姿态识别装置,图7为本申请一示例性实施例示出的一种人头姿态识别装置的结构示意图。如图7所示,该人头姿态识别装置70包括:

获取模块710,被配置为获取二维图像;

输出模块720,被配置为将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

在本申请一示例性实施例中,所述人头姿态识别模型包括resnet残差网络层、反卷积层和积分层;

所述输出模块包括:

网络层获取子模块,被配置为利用所述残差网络层对所述二维图像进行人头特征的提取,获取第一尺寸及第一通道数量的网络层;

特征层获取子模块,被配置为利用所述反卷积层对所述网络层进行若干次反卷积,获取第二尺寸及第二通道数量的特征层;

旋转矩阵获取子模块,被配置为将所述特征层模拟成三维立方体,利用所述积分层对所述三维立方体的三个轴向进行积分,以得到所述二维图像中的人头特征的旋转矩阵的三个向量。

在本申请一示例性实施例中,将所述特征层模拟成所述三维立方体的数量为两个,所述旋转矩阵获取子模块包括:

向量获取单元,被配置为对两个所述三维立方体的三个轴向进行积分,得到所述旋转矩阵的第一向量及第二向量;

向量计算单元,被配置为根据所述第一向量和所述第二向量计算得到所述旋转矩阵的第三向量。

在本申请一示例性实施例中,将所述特征层模拟成所述三维立方体的数量为三个,所述旋转矩阵获取子模块包括:

向量获取单元,被配置为对三个所述三维立方体的三个轴向进行积分,得到所述旋转矩阵的第一向量、第二向量及第三向量。

在本申请一示例性实施例中,所述第一向量为人头中心到人头鼻尖的直线向量,所述第二向量为所述人头中心到人头头顶的直线向量。

在本申请一示例性实施例中,所述三维立方体的中心为所述人头中心。

在本申请一示例性实施例中,所述残差网络层为resnet-34。

在本申请一示例性实施例中,所述装置还包括:

提醒信号输出模块,被配置为在所述人头姿态识别模型输出所述人头特征的旋转矩阵之后,如果所述旋转矩阵超过设定的旋转矩阵范围,输出提醒信号。

本申请还提供了一种人头姿态识别模型构建装置,图8为本申请一示例性实施例示出的一种人头姿态识别模型构建装置的结构示意图。如图8所示,该人头姿态识别模型构建装置80包括:

第一获取模块810,被配置为获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵;

构建模块820,被配置为以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

在本申请一示例性实施例中,所述设定的神经网络模型包括resnet残差网络层、反卷积层和积分层;

所述构建模块包括:

网络层获取子模块,被配置为利用所述残差网络层对所述样本进行人头特征的提取,获取第一尺寸及第一通道数量的网络层;

特征层获取子模块,被配置为利用所述反卷积层对所述网络层进行若干次反卷积,获取第二尺寸及第二通道数量的特征层;

预测结果获取子模块,被配置为将所述特征层模拟成三维立方体,利用所述积分层对所述三维立方体的三个轴向进行积分,以得到所述二维图像样本中的人头特征的旋转矩阵的预测结果;

训练子模块,被配置为利用损失函数获取所述预测结果和对应的所述标签之间的损失值,基于所述损失值对所述设定的神经网络模型进行训练。

在本申请一示例性实施例中,所述损失函数为l1loss。

在本申请一示例性实施例中,所述装置还包括:

第二获取模块,被配置为获取一个所述二维图像;

增强预处理模块,被配置为对所述二维图像进行数据增强预处理,以获取多个所述二维图像作为样本。

在本申请一示例性实施例中,所述数据增强预处理包括以下至少一种:图像裁剪、颜色变换、尺寸缩放以及图像旋转。

在本申请一示例性实施例中,所述获取模块还包括:

第一获取子模块,被配置为获取至少包括人头的二维图像;

构建子模块,被配置为利用所述二维图像构建对应的三维模型;

第二获取子模块,被配置为基于所述三维模型获取所述二维图像对应的旋转矩阵。

上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本申请还提供了一种计算机设备,图9为本申请一示例性实施例示出的一种计算机设备的结构示意图。如图9所示,该计算机设备90包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

获取二维图像;

将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

本申请还提供了另一种计算机设备,图10为本申请一示例性实施例示出的一种计算机设备的结构示意图。如图10所示,该计算机设备100包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵;

以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

应该理解的是,执行上述实施例的人头姿态识别方法的计算机设备和执行上述实施例的人头姿态识别模型构建方法的计算机设备可以为同一个计算机设备,也可以为不同的计算机设备,本申请不作具体的限定。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取二维图像;

将所述二维图像输入人头姿态识别模型,识别所述二维图像中的人头特征,并输出所述人头特征的旋转矩阵,所述旋转矩阵用于表征所述人头特征的旋转角度;其中,所述人头姿态识别模型是以至少包括人头的二维图像为样本、所述样本的旋转矩阵为标签训练生成的模型。

本申请还提供了另一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:

获取多个至少包括人头的二维图像以及每个所述二维图像对应的旋转矩阵;

以所述二维图像为样本、所述样本的旋转矩阵为标签,对设定的神经网络模型进行训练,构建所述人头姿态识别模型。

应该理解的是,执行上述实施例的人头姿态识别方法的计算机可读存储介质和执行上述实施例的人头姿态识别模型构建方法的计算机可读存储介质可以为同一个计算机可读存储介质,也可以为不同的计算机可读存储介质,本申请不作具体的限定。

本申请实施例可采用在一个或多个其中包含有程序代码的可读介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可用可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的可读介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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