人体朝向检测方法、装置、电子设备和计算机存储介质转让专利

申请号 : CN201911143057.6

文献号 : CN112825145A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李逍许经纬程光亮

申请人 : 上海商汤智能科技有限公司

摘要 :

本实施例公开了一种人体朝向检测方法、装置、电子设备和计算机存储介质,该方法包括:对待处理图像进行特征提取,得到所述待处理图像的特征;基于所述待处理图像的特征确定人体关键点和初步的人体朝向;根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向。如此,在本公开实施例中,最终的人体朝向是在综合考虑人体关键点和初步的人体朝向的基础上得出的,因而,可以基于人体关键点提升最终的人体朝向的准确度和可利用性。

权利要求 :

1.一种人体朝向检测方法,其特征在于,所述方法包括:对待处理图像进行特征提取,得到所述待处理图像的特征;

基于所述待处理图像的特征确定人体关键点和初步的人体朝向;

根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向。

2.根据权利要求1所述的方法,其特征在于,所述根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向相符的情况,将所述初步的人体朝向确定为所述最终的人体朝向。

3.根据权利要求1所述的方法,其特征在于,所述根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向不相符的情况,将所述确定的人体关键点表征的人体朝向确定为所述最终的人体朝向。

4.根据权利要求1-3任一所述的方法,其特征在于,对待处理图像进行特征提取得到所述待处理图像的特征,以及基于所述待处理图像的特征确定人体关键点和初步的人体朝向的步骤由神经网络执行,所述神经网络采用第一样本图像和第二样本图像训练得到,所述第一样本图像中包括第一人体图像和标注的人体关键点,所述第二样本图像包括第二人体图像和标注的人体朝向。

5.根据权利要求4所述的方法,其特征在于,所述神经网络采用第一样本图像和第二样本图像训练得到,包括:

对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征;根据所述第一样本图像的特征进行行人关键点检测,得到所述第一样本图像的人体关键点;基于所述第二样本图像的特征进行朝向检测,得到所述第二样本图像的人体朝向;

根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整所述神经网络的网络参数值。

6.根据权利要求5所述的方法,其特征在于,所述对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征,包括:将所述第一样本图像和所述第二样本图像进行拼接,对拼接后的图像数据进行特征提取,得到拼接后的图像数据的特征;

按照所述第一样本图像和所述第二样本图像的拼接方式,将所述拼接后的图像数据的特征拆分为所述第一样本图像的特征和所述第二样本图像的特征。

7.根据权利要求6所述的方法,其特征在于,将所述第一样本图像和所述第二样本图像进行拼接,包括:

所述第一样本图像和所述第二样本图像沿批维度拼接;

在将所述第一样本图像和所述第二样本图像进行拼接之前,所述方法还包括:将所述第一样本图像和所述第二样本图像在通道、高和宽三个维度上分别调整至相同。

8.一种人体朝向检测装置,其特征在于,所述装置包括提取模块和处理模块,其中,提取模块,用于对待处理图像进行特征提取,得到所述待处理图像的特征;

处理模块,用于基于所述待处理图像的特征确定人体关键点和初步的人体朝向;根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向。

9.一种电子设备,其特征在于,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,

所述处理器用于运行所述计算机程序以执行权利要求1至7任一项所述的方法。

10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。

说明书 :

人体朝向检测方法、装置、电子设备和计算机存储介质

技术领域

[0001] 本公开涉及计算机视觉处理技术,尤其涉及一种人体朝向检测方法、装置、电子设备和计算机存储介质。

背景技术

[0002] 随着计算机视觉处理技术的发展,行人朝向检测逐渐称为计算机视觉领域重要的研究问题;行人朝向检测的方案可以是,对摄像机得到的图像进行处理,以预测图像中每一
个人的身体和/或面部的朝向;然而,相关技术中,如何提高行人朝向检测的准确度和可利
用性,是亟待解决的问题。

发明内容

[0003] 本公开实施例期望提供人体朝向检测的技术方案。
[0004] 本公开实施例提供了一种人体朝向检测方法,所述方法包括:
[0005] 对待处理图像进行特征提取,得到所述待处理图像的特征;
[0006] 基于所述待处理图像的特征确定人体关键点和初步的人体朝向;
[0007] 根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向。
[0008] 可选地,所述根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:
[0009] 响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向相符的情况,将所述初步的人体朝向确定为所述最终的人体朝向。
[0010] 可选地,所述根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:
[0011] 响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向不相符的情况,将所述确定的人体关键点表征的人体朝向确定为所述最终的人体朝向。
[0012] 可选地,对待处理图像进行特征提取得到所述待处理图像的特征,以及基于所述待处理图像的特征确定人体关键点和初步的人体朝向的步骤由神经网络执行,所述神经网
络采用第一样本图像和第二样本图像训练得到,所述第一样本图像中包括第一人体图像和
标注的人体关键点,所述第二样本图像包括第二人体图像和标注的人体朝向。
[0013] 可选地,所述神经网络采用第一样本图像和第二样本图像训练得到,包括:
[0014] 对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征;根据所述第一样本图像的特征进行行人关键点检测,得到所
述第一类样本图像的人体关键点;基于所述第二样本图像的特征进行朝向检测,得到所述
第二样本图像的人体朝向;
[0015] 根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整所述神经网络的网络参数值。
[0016] 可选地,所述对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征,包括:
[0017] 将所述第一样本图像和所述第二样本图像进行拼接,对拼接后的图像数据进行特征提取,得到拼接后的图像数据的特征;
[0018] 按照所述第一样本图像和所述第二样本图像的拼接方式,将所述拼接后的图像数据的特征拆分为所述第一样本图像的特征和所述第二样本图像的特征。
[0019] 可选地,将所述第一样本图像和所述第二样本图像进行拼接,包括:所述第一样本图像和所述第二样本图像沿批维度拼接;
[0020] 在将所述第一样本图像和所述第二样本图像进行拼接之前,所述方法还包括:
[0021] 将所述第一样本图像和所述第二样本图像在通道、高和宽三个维度上分别调整至相同。
[0022] 可选地,所述根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整所述神经网络的网络参数值,包括:
[0023] 根据所述检测的人体关键点和所述标注的人体关键点,得出所述神经网络的第一损失值,所述第一损失值表示所述检测的人体关键点和所述标注的人体关键点的差异;
[0024] 根据所述检测的人体朝向和所述标注的人体朝向,得出所述神经网络的第二损失值,所述第二损失值表示所述检测的人体朝向和所述标注的人体朝向的差异;
[0025] 根据所述第一损失值和所述第二损失值,调整所述神经网络的网络参数值。
[0026] 本公开实施例还提供了一种人体朝向检测装置,所述装置包括提取模块和处理模块,其中,
[0027] 提取模块,用于对待处理图像进行特征提取,得到所述待处理图像的特征;
[0028] 处理模块,用于基于所述待处理图像的特征确定人体关键点和初步的人体朝向;根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向。
[0029] 可选地,所述处理模块,用于根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向
相符的情况,将所述初步的人体朝向确定为所述最终的人体朝向。
[0030] 可选地,所述处理模块,用于根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向
不相符的情况,将所述确定的人体关键点表征的人体朝向确定为所述最终的人体朝向。
[0031] 可选地,对待处理图像进行特征提取得到所述待处理图像的特征,以及基于所述待处理图像的特征确定人体关键点和初步的人体朝向的步骤由神经网络执行,所述神经网
络采用第一样本图像和第二样本图像训练得到,所述第一样本图像中包括第一人体图像和
标注的人体关键点,所述第二样本图像包括第二人体图像和标注的人体朝向。
[0032] 可选地,所述装置还包括训练模块,所述训练模块,用于采用第一样本图像和第二样本图像训练所述神经网络,包括:
[0033] 对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征;根据所述第一样本图像的特征进行行人关键点检测,得到所
述第一类样本图像的人体关键点;基于所述第二样本图像的特征进行朝向检测,得到所述
第二样本图像的人体朝向;
[0034] 根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整所述神经网络的网络参数值。
[0035] 可选地,所述训练模块,用于对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征,包括:
[0036] 将所述第一样本图像和所述第二样本图像进行拼接,对拼接后的图像数据进行特征提取,得到拼接后的图像数据的特征;
[0037] 按照所述第一样本图像和所述第二样本图像的拼接方式,将所述拼接后的图像数据的特征拆分为所述第一样本图像的特征和所述第二样本图像的特征。
[0038] 可选地,所述训练模块用于将所述第一样本图像和所述第二样本图像进行拼接,包括:所述第一样本图像和所述第二样本图像沿批维度拼接;
[0039] 所述训练模块,还用于在将所述第一样本图像和所述第二样本图像进行拼接之前,将所述第一样本图像和所述第二样本图像在通道、高和宽三个维度上分别调整至相同。
[0040] 可选地,所述训练模块,用于根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整所述神经网络的网络参数值,包括:
[0041] 根据所述检测的人体关键点和所述标注的人体关键点,得出所述神经网络的第一损失值,所述第一损失值表示所述检测的人体关键点和所述标注的人体关键点的差异;
[0042] 根据所述检测的人体朝向和所述标注的人体朝向,得出所述神经网络的第二损失值,所述第二损失值表示所述检测的人体朝向和所述标注的人体朝向的差异;
[0043] 根据所述第一损失值和所述第二损失值,调整所述神经网络的网络参数值。
[0044] 本公开实施例还提供了一种电子设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
[0045] 所述处理器用于运行所述计算机程序以执行上述任意一种人体朝向检测方法。
[0046] 本公开实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种人体朝向检测方法。
[0047] 本公开实施例提出的人体朝向检测方法、装置、电子设备和计算机存储介质中,对待处理图像进行特征提取,得到所述待处理图像的特征;基于所述待处理图像的特征确定
人体关键点和初步的人体朝向;根据确定的人体关键点和初步的人体朝向,确定最终的人
体朝向。如此,在本公开实施例中,最终的人体朝向是在综合考虑人体关键点和初步的人体
朝向的基础上得出的,因而,可以基于人体关键点提升最终的人体朝向的准确度和可利用
性。
[0048] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。

附图说明

[0049] 此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
[0050] 图1为本公开实施例的人体朝向检测方法的流程图;
[0051] 图2为本公开实施例的训练完成的神经网络的架构示意图;
[0052] 图3为本公开实施例中涉及的人体关键点的示意图;
[0053] 图4为本公开实施例的人体朝向示意图;
[0054] 图5为本公开实施例神经网络训练方法的流程图;
[0055] 图6为本公开实施例的神经网络训练的架构示意图;
[0056] 图7为本公开实施例中图像数据拼接的示意图;
[0057] 图8为本公开实施例中图像特征拆分的示意图;
[0058] 图9为本公开实施例的人体朝向检测装置的组成结构示意图;
[0059] 图10为本公开实施例的电子设备的结构示意图。

具体实施方式

[0060] 以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本公开,并不用于限定本公开。另外,以下所提供的实施例是用于实施
本公开的部分实施例,而非提供实施本公开的全部实施例,在不冲突的情况下,本公开实施
例记载的技术方案可以任意组合的方式实施。
[0061] 需要说明的是,在本公开实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要
素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要
素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要
素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如
的单元可以是部分电路、部分处理器、部分程序或软件等等)。
[0062] 例如,本公开实施例提供的人体朝向检测方法包含了一系列的步骤,但是本公开实施例提供的人体朝向检测方法不限于所记载的步骤,同样地,本公开实施例提供的人体
朝向检测装置包括了一系列模块,但是本公开实施例提供的装置不限于包括所明确记载的
模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
[0063] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文
中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、
B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0064] 本公开实施例可以应用于终端和/或服务器组成的计算机系统中,并可以与众多其它通用或专用计算系统环境或配置一起操作。这里,终端可以是瘦客户机、厚客户机、手
持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计
算机系统,等等,服务器可以是服务器计算机系统小型计算机系统﹑大型计算机系统和包括
上述任何系统的分布式云计算技术环境,等等。
[0065] 终端、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻
辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务
器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的
远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或
远程计算系统存储介质上。
[0066] 基于上述记载的内容,在本公开的一些实施例中,提出了一种人体朝向检测的技术方案,本公开实施例应用的场景包括但不限于自动驾驶、机器人导航等场景。
[0067] 图1为本公开实施例的人体朝向检测方法的流程图,如图1所示,该流程可以包括:
[0068] 步骤101:对待处理图像进行特征提取,得到所述待处理图像的特征。
[0069] 在实际应用中,可以从本地存储区域或网络获取待处理图像,待处理图像的格式可以是联合图像专家小组(Joint Photographic Experts GROUP,JPEG)、位图(Bitmap,
BMP)、便携式网络图形(Portable Network Graphics,PNG)或其他格式;需要说明的是,这
里仅仅是对待处理图像的格式和来源进行了举例说明,本发明实施例并不对待处理图像的
格式和来源进行限定。
[0070] 在实际应用中,可以将待处理图像输入至特征提取网络,利用特征提取网络对待处理图像进行特征提取,得到待处理图像的特征;本公开实施例中,特征提取网络为用于提
取图像特征的神经网络,特征提取网络可以包括卷积层等结构;这里,并不对特征提取网络
的种类进行限定,例如,特征提取网络可以是深度残差网络(Resnet)或其它用于进行图像
特征提取的神经网络。
[0071] 本公开实施例并不对待处理图像的特征的表示形式进行限定,例如,待处理图像的特征的表示形式可以是特征图或其它表示形式。
[0072] 步骤102:基于待处理图像的特征确定人体关键点和初步的人体朝向。
[0073] 对于本步骤的实现方式,示例性地,基于待处理图像的特征进行人体关键点检测,得到人体关键点;基于待处理图像的特征进行人体朝向检测,得到初步的人体朝向。
[0074] 对于对待处理图像的特征进行人体关键点检测的实现方式,示例性地,可以通过对待处理图像的特征进行卷积和上采样处理,得到人体关键点。
[0075] 在一个具体的示例中,在得到待处理图像的特征后,可以将待处理图像的特征输入至特征金字塔网络(Feature Pyramid Networks,FPN)中,利用FPN对待处理图像的特征
进行处理,得到人体关键点;基于FPN的图像特征处理方式,可以在不同尺寸的特征图上提
取特征,然后又将不同尺寸的特征图进行融合,可以提取到多尺度的特征,进而通过融合这
些多尺度的特征可以准确地得出人体关键点。
[0076] 对于对待处理图像的特征进行人体朝向检测的实现方式,示例性地,可以通过对待处理图像的特征进行卷积处理,得到初步的人体朝向。在实际应用中,在得到待处理图像
的特征后,可以将待处理图像的特征输入至少一个卷积层组成的神经网络中,然后,在该神
经网络中通过卷积操作,将待处理图像的特征转换为初步的人体朝向检测结果。
[0077] 在实际应用中,步骤101至步骤102可以基于训练完成的神经网络实现,图2为本公开实施例的训练完成的神经网络的架构示意图,如图2所示,训练完成的神经网络包括底层
网络和上层网络两个部分,其中,底层网络是上述的特征提取网络,在实际实施时,底层网
络的输入为待处理图像,利用底层网络对待处理图像进行特征提取后,可以得到相比待处
理图像表达能力更强的中高层特征;上层网络包括人体关键点检测的上层网络和人体朝向
检测的上层网络;利用人体关键点检测的上层网络对待处理图像的特征进行处理,可以得
到人体关键点;利用人体朝向检测的上层网络对待处理图像的特征进行处理,可以得到初
步的人体朝向。
[0078] 步骤103:根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向。
[0079] 在实际应用中,步骤101至步骤103可以利用电子设备中的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信
号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal 
Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可
编程门阵列(Field-Programmable Gate Array,FPGA)、中央处理器(Central Processing 
Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
[0080] 在相关技术中,仅在人体朝向检测的基础上判断人体的朝向,得出的人体朝向的精度较低;而在本公开实施例中,最终的人体朝向是在综合考虑人体关键点和初步的人体
朝向的基础上得出的,而人体关键点可以判断人体朝向的一个依据,因而,基于人体关键点
对初步的人体朝向进行优化,提升最终的人体朝向的准确度和可利用性。
[0081] 另外,在本公开实施例中,人体关键点检测和人体朝向检测任务中的图像特征提取,均是在同一个图像特征提取网络上实现的,因而,本公开实施例可以在耗费较少的计算
资源的基础上,同时实现人体关键点检测和人体朝向检测任务,有利于满足人体关键点检
测和人体朝向检测任务的实时性要求。并且利用人体关键点的检测结果和人体朝向的检测
结果共同判定人体朝向,从而提高人体朝向检测的准确性。
[0082] 对于步骤103的实现方式,在一个示例中,响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向相符的情况,将所述初步的人体朝向确定为所述最终的人体
朝向。
[0083] 在实际应用中,可以判断确定的人体关键点表征的人体朝向与初步的人体朝向是否相符,得出判断结果;在确定的人体关键点表征的人体朝向与初步的人体朝向相符的情
况下,可以认为初步的人体朝向是较为准确地,因而,将初步的人体朝向确定为最终的人体
朝向,可以准确地得出最终的人体朝向。
[0084] 下面通过附图对本公开实施例的效果进行举例说明。
[0085] 图3为本公开实施例中涉及的人体关键点的示意图,如图3所示,数字0至17表示可以通过人体关键点检测得到的人体关键点,当能够检测到全部的人体关键点时,人体朝前
或者朝后;当只检测到左侧关键点时,人体朝左;当只检测到右侧的关键点时,人体朝右;图
4为本公开实施例的人体朝向示意图,图4中,数字1至8表示不同的人体朝向,在人体朝向检
测中,将人体朝向分为8个方向,这要比根据关键点确定的人体朝向要更加精确,因此,采用
关键点的检测结果来修正朝向检测结果可以提高朝向检测结果的准确度。
[0086] 结合图3和图4可以看出,当人体朝向不同时,能够检测到的人体关键点的数量和位置也不相同,例如,当能够检测到人体左侧的所有关键点,而右侧的关键点只能检测到部
分或者检测不到时,而初步的人体朝向同样为朝向左侧,那么就可以判断该初步的人体朝
向是准确的,进而,通过将初步的人体朝向确定为最终的人体朝向,有利于将最终的人体朝
向的准确度保持在较高的水平。
[0087] 对于步骤103的实现方式,在另一个示例中,响应于所述确定的人体关键点表征的人体朝向与所述初步的人体朝向不相符的情况,将所述确定的人体关键点表征的人体朝向
确定为所述最终的人体朝向。
[0088] 可以看出,在确定的人体关键点表征的人体朝向与初步的人体朝向不相符的情况下,可以认为初步的人体朝向的准确度较低,在此基础上,将确定的人体关键点表征的人体
朝向确定为所述最终的人体朝向,可以提升最终的人体朝向的准确度。
[0089] 例如,结合图3和图4,当人体关键点中只有人体侧面的几个点有效时,而初步的人体朝向却为正面或者背面,那么就可以判断该初步的人体朝向不准确,即,通过人体关键
点,可以有效判断人体朝向的有效性与准确性;进而,结合人体关键点对初步的人体朝向进
行优化,可以提升最终的人体朝向的准确度和可利用性。
[0090] 在一些实施例中,步骤101至步骤102可以由神经网络执行,上述神经网络采用第一样本图像和第二样本图像训练得到,第一样本图像中包括第一人体图像和标注的人体关
键点,第二样本图像包括第二人体图像和标注的人体朝向。
[0091] 在实际应用中,可以从本地存储区域或网络获取第一样本图像或第二样本图像,第一样本图像或第二样本图像的格式可以是JPEG、BMP、PNG或其他格式;需要说明的是,这
里仅仅是对第一样本图像或第二样本图像的格式和来源进行了举例说明,本发明实施例并
不对第一样本图像或第二样本图像的格式和来源进行限定。
[0092] 在一个具体的示例中,第一样本图像和第二样本图像可以从不同的数据集中获取,第一样本图像和第二样本图像对应的数据集可以没有重叠部分。
[0093] 可以看出,本公开实施例中,可以基于神经网络得出人体关键点和初步的人体朝向,具有易于实现的特点。
[0094] 下面通过附图示例性地说明上述神经网络的训练过程。
[0095] 图5为本公开实施例的神经网络训练方法的流程图,如图5所示,该流程可以包括:
[0096] 步骤501:获取第一样本图像和第二样本图像。
[0097] 本步骤的实现方式已经在前述记载的内容中作出说明,这里不再赘述。
[0098] 步骤502:将第一样本图像和第二样本图像输入至神经网络中,基于神经网络执行以下步骤:对第一样本图像和第二样本图像进行特征提取,得到第一样本图像和第二样本
图像的特征;根据第一样本图像的特征进行行人关键点检测,得到第一样本图像的人体关
键点;基于第二样本图像的特征进行朝向检测,得到第二样本图像的人体朝向。
[0099] 在实际应用中,可以将第一样本图像和第二样本图像输入至特征提取网络,利用特征提取网络对第一样本图像和第二样本图像进行特征提取,得到第一样本图像和第二样
本图像的特征。
[0100] 本公开实施例并不对第一样本图像和第二样本图像的特征的表示形式进行限定,例如,第一样本图像和第二样本图像的特征的表示形式可以是特征图或其它表示形式。
[0101] 对于对第一样本图像和第二样本图像进行特征提取,得到第一样本图像和第二样本图像的特征的实现方式,示例性地,可以将第一样本图像和第二样本图像进行图像数据
拼接,对拼接后的图像数据进行特征提取,得到拼接后的图像数据的特征;按照第一样本图
像和第二样本图像的图像数据拼接方式,将拼接后的图像数据的特征拆分为第一样本图像
和第二样本图像的特征。
[0102] 可以看出,通过对第一样本图像和第二样本图像的图像数据拼接,有利于对拼接后的图像数据统一进行特征提取,便于实现;通过对拼接后的图像数据的特征的拆分,有利
于分别针对第一样本图像和第二样本图像的特征,进行人体关键点检测和人体朝向检测,
便于实现。
[0103] 对于将第一样本图像和第二样本图像进行图像数据拼接的实现方式,示例性地,可以将第一样本图像和第二样本图像沿批维度拼接;在将第一样本图像和第二样本图像进
行拼接之前,可以将第一样本图像和第二样本图像在在通道、高和宽三个维度上分别调整
至相同;然后,可以在批维度,将调整后的第一样本图像和第二样本图像进行拼接。
[0104] 这里,图像的通道数表示进行图像特征提取的通道个数,批维度表示图像的数量维度;本公开实施例中,在将第一样本图像和第二样本图像的通道数、高和宽调整至相同大
小时,可以将不同数量的调整后的第一样本图像和第二样本图像,沿着批维度进行图像数
据拼接。
[0105] 图6为本公开实施例的神经网络训练的架构示意图,图7为本公开实施例中图像数据拼接的示意图,图7中,实线矩形框表示第一样本图像,虚线矩形框表示第二样本图像;本
公开实施例中,第一样本图像和第二样本图像的数据格式可以表示为[B C H W],其中,B表
示批维度的大小,C表示通道维度的大小,H表示高,W表示宽;由于图像特征提取的过程中涉
及的卷积等运算均是在通道维度、高维度和宽维度上进行计算,因而,参照图6和图7,可以
沿着批维度对第一类样本图像和第二类样本图像进行图像数据拼接。
[0106] 参照图6,可以利用底层网络拼接后的图像数据进行特征提取,得到相应的图像特征;然后需要对底层网络输出的图像特征进行拆分。
[0107] 图8为本公开实施例中图像特征拆分的示意图,图8中,实线矩形框(对应C1)表示第一样本图像的图像特征,虚线矩形框(对应C2)表示第二样本图像的图像特征;本公开实
施例中,可以按照第一样本图像和第二样本图像的图像数据拼接方式,沿着批维度对拼接
后的图像数据的特征进行拆分,得到第一样本图像的图像特征和第二样本图像的图像特
征;这里,第一样本图像的图像特征和第二样本图像的图像特征均通过特征图进行表示。
[0108] 参照图6,可以将第一样本图像的图像特征输入至人体关键点检测的上层网络,人体关键点检测的上层网络对输入的图像特征进行处理后,输出第一样本图像的人体关键
点;还可以将第二样本图像的图像特征输入至人体朝向检测的上层网络,人体朝向检测的
上层网络对输入的图像特征进行处理后,输出第二样本图像的人体朝向。
[0109] 进一步地,参照图6,在得出第一样本图像的人体关键点后,还可以计算神经网络的第一损失,第一损失表示第一样本图像的人体关键点和标注的人体关键点的差异;在得
出第二样本图像的人体朝向后,还可以计算神经网络的第二损失,第二损失表示第二样本
图像的人体朝向和标注的人体朝向的差异。
[0110] 本公开实施例中,基于第一样本图像的特征进行人体关键点检测的实现方式,与步骤102中基于待处理图像的特征进行人体关键点检测的实现方式相同,这里不再赘述;基
于第二样本图像的特征进行人体朝向检测的实现方式,与步骤102中基于待处理图像的特
征进行人体朝向检测的实现方式相同,这里不再赘述。
[0111] 可以看出,神经网络的应用和测试过程(步骤101至步骤103)与神经网络的训练过程相比,无需要进行图像数据的拼接和图像特征的拆分,只需要对待处理图像通过底层网
络和两个上层网络进行处理,便可以得出待处理图像的人体关键点和初步的人体朝向。
[0112] 步骤503:根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整神经网络的网络参数值。
[0113] 对于本步骤的实现方式,示例性地,可以根据检测的人体关键点(即第一样本图像的人体关键点)和标注的人体关键点,得出神经网络的第一损失;根据检测的人体朝向(即
第二样本图像的人体朝向)和标注的人体朝向,得出神经网络的第二损失;根据上述第一损
失和第二损失,调整神经网络的网络参数值。
[0114] 在具体实现时,可以将第一损失与第二损失之和作为神经网络的总损失,也可以将第一损失与第二损失的加权和作为神经网络的总损失,第一损失与第二损失的权重可以
根据实际应用需求预先设置。
[0115] 在得出神经网络的总损失后,可以根据神经网络的总损失,调整神经网络的网络参数值。
[0116] 步骤504:判断网络参数值调整后的初始神经网络对图像的处理是否满足设定的精度需求,如果否,则重新执行步骤501至步骤504;如果是,则执行步骤505。
[0117] 本公开实施例中,设定的精度需求可以是预先设置的;示例性地,设定的精度需求与第一损失和第二损失相关,在第一个示例中,设定的精度需求可以是上述神经网络的总
损失小于第一设定阈值,第二个示例中,设定的精度需求可以是第一损失小于第二设定阈
值,且第二损失小于第三设定阈值。
[0118] 在实际应用中,第一设定阈值、第二设定阈值和第三设定阈值均可以根据实际应用需求预先设置。
[0119] 步骤505:将网络参数值调整后的神经网络作为训练完成的神经网络。
[0120] 在实际应用中,步骤501至步骤505可以利用电子设备中的处理器实现,上述处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
[0121] 可以看出,在本公开实施例中,在对神经网络进行训练时,无需针对第一样本图像或第二样本图像分别进行人体关键点检测和人体朝向检测,人体关键点检测和人体朝向检
测任务,均是在相同的图像特征提取过程的基础上实现的,因而,可以使得训练完成的神经
网络在耗费较少的计算资源的基础上,同时实现人体关键点检测和人体朝向检测任务,有
利于满足人体关键点检测和人体朝向检测任务的实时性要求。
[0122] 在对神经网络进行训练的过程中,在一个示例中,可以充分利用第一样本图像和第二样本图像的数据相似性(即二者都包含了人体图像),通过对第一样本图像和第二样本
图像的图像数据拼接,有利于对拼接后的图像数据统一进行特征提取,便于实现;并且可以
利用人体关键点检测和人体朝向检测的神经网络的相似性(即都需要提取人体图像中的特
征),在人体关键点检测的神经网络和人体朝向检测的神经网络中,提取共同的底层网络用
于进行统一的图像特征提取,进而,可以使得通过同一个训练完成的神经网络同时进行人
体关键点检测和人体朝向检测。
[0123] 本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功
能和可能的内在逻辑确定
[0124] 在前述实施例提出的人体朝向检测方法的基础上,本公开实施例提出了一种人体朝向检测装置。
[0125] 图9为本公开实施例的人体朝向检测装置的组成结构示意图,如图9所示,该装置可以包括提取模块901和处理模块902,其中,
[0126] 提取模块901,用于对待处理图像进行特征提取,得到所述待处理图像的特征;
[0127] 处理模块902,用于基于所述待处理图像的特征确定人体关键点和初步的人体朝向;根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向。
[0128] 可选地,所述处理模块902,用于根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:响应于所述确定的人体关键点表征的人体朝向与所述初步的人体
朝向相符的情况,将所述初步的人体朝向确定为所述最终的人体朝向。
[0129] 可选地,所述处理模块902,用于根据确定的人体关键点和初步的人体朝向,确定最终的人体朝向,包括:响应于所述确定的人体关键点表征的人体朝向与所述初步的人体
朝向不相符的情况,将所述确定的人体关键点表征的人体朝向确定为所述最终的人体朝
向。
[0130] 可选地,对待处理图像进行特征提取得到所述待处理图像的特征,以及基于所述待处理图像的特征确定人体关键点和初步的人体朝向的步骤由神经网络执行,所述神经网
络采用第一样本图像和第二样本图像训练得到,所述第一样本图像中包括第一人体图像和
标注的人体关键点,所述第二样本图像包括第二人体图像和标注的人体朝向。
[0131] 可选地,所述装置还包括训练模块,所述训练模块,用于采用第一样本图像和第二样本图像训练所述神经网络,包括:
[0132] 对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征;根据所述第一样本图像的特征进行行人关键点检测,得到所
述第一类样本图像的人体关键点;基于所述第二样本图像的特征进行朝向检测,得到所述
第二样本图像的人体朝向;
[0133] 根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整所述神经网络的网络参数值。
[0134] 可选地,所述训练模块,用于对所述第一样本图像和所述第二样本图像进行特征提取,得到所述第一样本图像和所述第二样本图像的特征,包括:
[0135] 将所述第一样本图像和所述第二样本图像进行拼接,对拼接后的图像数据进行特征提取,得到拼接后的图像数据的特征;
[0136] 按照所述第一样本图像和所述第二样本图像的拼接方式,将所述拼接后的图像数据的特征拆分为所述第一样本图像的特征和所述第二样本图像的特征。
[0137] 可选地,所述训练模块用于将所述第一样本图像和所述第二样本图像进行拼接,包括:所述第一样本图像和所述第二样本图像沿批维度拼接;
[0138] 所述训练模块,还用于在将所述第一样本图像和所述第二样本图像进行拼接之前,将所述第一样本图像和所述第二样本图像在通道、高和宽三个维度上分别调整至相同。
[0139] 可选地,所述训练模块,用于根据检测的人体关键点、标注的人体关键点、检测的人体朝向和标注的人体朝向,调整所述神经网络的网络参数值,包括:
[0140] 根据所述检测的人体关键点和所述标注的人体关键点,得出所述神经网络的第一损失值,所述第一损失值表示所述检测的人体关键点和所述标注的人体关键点的差异;
[0141] 根据所述检测的人体朝向和所述标注的人体朝向,得出所述神经网络的第二损失值,所述第二损失值表示所述检测的人体朝向和所述标注的人体朝向的差异;
[0142] 根据所述第一损失值和所述第二损失值,调整所述神经网络的网络参数值。
[0143] 实际应用中,提取模块901和处理模块902均可以利用电子设备中的处理器实现,上述处理器可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一
种。
[0144] 另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以
采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0145] 所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方
案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产
品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一
台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本
实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器
(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘
等各种可以存储程序代码的介质。
[0146] 具体来讲,本实施例中的一种人体朝向检测方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种人体朝向检测方法对应的计算
机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种人体朝向检测方
法。
[0147] 基于前述实施例相同的技术构思,参见图10,其示出了本公开实施例提供的一种电子设备10,可以包括:存储器1001和处理器1002;其中,
[0148] 所述存储器1001,用于存储计算机程序和数据;
[0149] 所述处理器1002,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种人体朝向检测方法。
[0150] 在实际应用中,上述存储器1001可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),
硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储
器的组合,并向处理器1002提供指令和数据。
[0151] 上述处理器1002可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可
以为其它,本公开实施例不作具体限定。
[0152] 在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这
里不再赘述。
[0153] 上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
[0154] 本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0155] 本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0156] 本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0157] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务
器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0158] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员
在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多
形式,这些均属于本发明的保护之内。