一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多任务学习的图像处理方法、装置及智能设备与流程

2022-12-06 23:20:11 来源:中国专利 TAG:


1.本技术属于人机交互技术领域,尤其涉及一种基于多任务学习的图像处理方法、图像处理装置、智能设备及计算机可读存储介质。


背景技术:

2.视觉信息是人类最直观的输入信息之一。目标检测任务作为计算机视觉任务中的三大基础任务之一,一直以来都是一个热门的研究方向,也是目标跟踪等视觉方向的基础。在消费级机器人中,目标检测是实现物品识别抓取,进而达到人机交互的基础。除此之外,人体姿态估计任务也是人机交互的重要研究课题,其通常为人体行为识别、人体行为分析及人机交互的前置任务,目的在于准确定位图像中的人体关键点的位置。
3.目前,大多数计算机视觉学习任务都是单任务学习,即对于一个场景功能开发一个独立的视觉学习模型。基于此,当前针对目标检测任务及人体姿态估计任务,常见的方式是通过各自的视觉学习模型进行处理,这会使得模型整体较大且具有较多参数量和浮点运算量。然而,在设备算力的限制下,上述方式难以应用于嵌入式的智能设备(例如机器人)。因而,如何在嵌入式的智能设备上同时实现快速且准确度较高的人体姿态估计任务及目标检测任务,成为当前亟待解决的问题。


技术实现要素:

4.本技术提供了一种基于多任务学习的图像处理方法、图像处理装置、智能设备及计算机可读存储介质,可以在嵌入式的智能设备上同时实现快速且准确度较高的人体姿态估计任务及目标检测任务。
5.第一方面,本技术提供了一种基于多任务学习的图像处理方法,包括:
6.将待处理图像输入已训练的多任务学习模型,多任务学习模型包括:特征金字塔网络及轻量级的骨干网络,其中,骨干网络用于自底向上提取待处理图像中多个层级的特征,特征金字塔网络用于自顶向下融合骨干网络所提取的不同层级的特征;
7.根据特征金字塔网络自顶向下融合的过程中所得的最顶层及最下层的特征,得到针对待处理图像的人体姿态估计结果;
8.根据特征金字塔网络自顶向下融合的过程中所得的预设的目标层的特征,得到针对待处理图像的目标检测结果。
9.第二方面,本技术提供了一种基于多任务学习的图像处理装置,包括:
10.输入模块,用于将待处理图像输入已训练的多任务学习模型,多任务学习模型包括:特征金字塔网络及轻量级的骨干网络,其中,骨干网络用于自底向上提取待处理图像中多个层级的特征,特征金字塔网络用于自顶向下融合骨干网络所提取的不同层级的特征;
11.第一确定模块,用于根据特征金字塔网络自顶向下融合的过程中所得的最顶层及最下层的特征,得到针对待处理图像的人体姿态估计结果;
12.第二确定模块,用于根据特征金字塔网络自顶向下融合的过程中所得的预设的目
标层的特征,得到针对待处理图像的目标检测结果。
13.第三方面,本技术提供了一种智能设备,该智能设备包括存储器、处理器以及存储在该存储器中并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如该第一方面的方法的步骤。
14.第四方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如该第一方面的方法的步骤。
15.第五方面,本技术提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被一个或多个处理器执行时实现如该第一方面的方法的步骤。
16.本技术与现有技术相比存在的有益效果是:本技术通过已训练的多任务学习模型来同时对待处理图像进行人体姿态估计任务及目标检测任务。具体地,多任务学习模型主要有两个组成部分,分别为轻量级的骨干网络及特征金字塔网络。其中,该骨干网络用于提取待处理图像中多个层级的特征,由于骨干网络是轻量级的,因而特征提取的速度会有一定提升,基于此保障人体姿态估计任务及目标检测任务的处理效率;该特征金字塔网络用于融合骨干网络所提取的不同层级的特征,基于此保障人体姿态估计任务及目标检测任务的处理准确度。
17.可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本技术实施例提供的基于多任务学习的图像处理方法的实现流程示意图;
20.图2是本技术实施例提供的人体关键点的位置及编号的示例图;
21.图3是本技术实施例提供的多任务学习模型的数据流示例图;
22.图4是本技术实施例提供的裁剪范围的示例图;
23.图5是本技术实施例提供的基于多任务学习的图像处理装置的结构框图;
24.图6是本技术实施例提供的智能设备的结构示意图。
具体实施方式
25.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
26.为了说明本技术所提出的技术方案,下面通过具体实施例来进行说明。
27.下面对本技术实施例所提出的基于多任务学习的图像处理方法作出说明。该图像处理方法可应用于机器人等嵌入式的智能设备,也可应用于智能手机等非嵌入式的智能设备,本技术实施例不对该智能设备的具体类型作出限定。请参阅图1,该图像处理方法的实
现流程详述如下:
28.步骤101,将待处理图像输入已训练的多任务学习模型,多任务学习模型包括:特征金字塔网络及轻量级的骨干网络。
29.本技术实施例中的智能设备可集成有摄像头;或者,该智能设备也可与摄像头或集成有摄像头的其它设备建立通信连接,此处不作限定。在智能设备集成有摄像头的情况下,智能设备可通过该摄像头拍摄获得图像,该图像即可作为待处理图像。在智能设备与摄像头或集成有摄像头的其它设备建立有通信连接的情况下,智能设备可通过该通信连接接收该摄像头或该其它设备所发送的图像,该图像即可作为待处理图像。
30.本技术实施例中的轻量级的骨干网络可通过对现有的轻量级网络进行调整而得。其中,现有的轻量级网络可以是mobilenet或shufflenet等,版本不作限定,例如mobilenetv3。针对该现有的轻量级网络所进行的调整可以为:去除轻量级网络的最后若干层,仅保留用于特征提取的卷积层。可以理解,靠前的卷积层提取的是浅层特征,靠后的卷积层提取的是深层特征,也即骨干网络可提取出待处理图像中多个层级的特征。
31.本技术实施例中的特征金字塔网络可融合骨干网络所提取的不同层级的特征,可将其操作理解为结合了骨干网络的浅层特征及深层特征的上采样。针对该特征金字塔网络,本技术实施例未对其网络框架有更改,只需要根据具体需要确定该特征金字塔网络的通道数即可。可以理解,通过特征金字塔网络,可获得更丰富的特征信息。
32.步骤102,根据特征金字塔网络自顶向下融合的过程中所得的最顶层及最下层的特征,得到针对待处理图像的人体姿态估计结果。
33.实际应用场景下,目标人体的部分区域可能因被前景物体遮挡而不可见,因而人体姿态估计任务需要对人体关键点是否可见的情况也予以预测。基于此,人体姿态估计结果包括两类信息,分别为:人体关键点位置及人体关键点可见标志位。其中,人体关键点位置用于指示各个人体关键点在待处理图像中的坐标,人体关键点可见标志位用于指示各个人体关键点在待处理图像中是否可见。
34.其中,人体关键点包括眼睛、鼻子、耳朵及各关节。具体地,多任务学习模型在训练过程中所采用的数据集为coco数据集。基于该数据集,各人体关键点的位置如图2所示,该数据集所采用的各人体关键点的编号及名称为:{0-nose,1-leye,2-reye,3-lear,4rear,5-lshoulder,6-rshoulder,7-lelbow,8-relbow,9-lwrist,10-rwrist,11-lhip,12-rhip,13-lknee,14-rknee,15-lankle,16-rankle}。也即,本技术实施例中,主要考虑的人体关键点的数量为17。
35.具体而言,智能设备可根据特征金字塔网络自顶向下融合的过程中所得的最顶层的特征,得到针对待处理图像的人体关键点可见标志位,以参数v表示。仅作为示例,人体关键点可见标志位为“1”时,表示对应的人体关键点不可见;人体关键点可见标志位为“2”时,表示对应的人体关键点可见。
36.具体而言,智能设备可根据特征金字塔网络自顶向下融合的过程中所得的最下层的特征,得到热力图及偏移图。其中,热力图预测了待处理图像中的各个人体关键点的位置信息,具体为各个人体关键点的像素级位置。偏移图预测了从每个输出特征像素映射到每个人体关键点的精确亚像素位置的局部偏移量,也即各个人体关键点的像素级位置在亚像素级的局部偏移量。
37.可以理解,骨干网络在进行特征的降采样时,会存在量化误差,而热力图预测的是像素级位置,例如:骨干网络某一卷积层所输出的192*192的特征中x=0和x=2的位置在映射到下一卷积层所输出的48*48的特征中时,都映射到x=0。因而,仅根据热力图来确定各个人体关键点在待处理图像中的位置时,很可能出现误差。基于此,本技术实施例中的多任务学习模型结合了热力图及亚像素级的偏移信息(也即偏移图)来确定各个人体关键点在待处理图像中的精确位置,以此消除量化误差,保障人体姿态估计结果的精度。
38.在一些实施例中,在多任务学习模型的训练阶段,可采用骨骼损失函数(boneloss)计算热力图及偏移图的损失,也即计算针对人体关键点位置的损失,该骨骼损失函数可如下式所示:
[0039][0040]
其中,p为多任务学习模型在训练过程中,根据样本图像所预测的人体关键点位置(也即多任务学习模型所预测出的人体关键点在样本图像中的坐标);y为真实的人体关键点位置(也即人体关键点在样本图像中的真实坐标,可由样本图像的标签数据而得);s为预设的人体关键点对集合;i,j∈s用于表示i及j分别为人体关键点对集合中的一个人体关键点对所对应的两个不同人体关键点。
[0041]
仅作为示例,人体关键点对集合中的人体关键点对,具体可由高相关性的两个人体关键点所构成。如图2所示,左眼(编号1)与左耳(编号3)在图2中直接相连,二者是高相关性的人体关键点,可组成一人体关键点对;以此类推,仅作为示例,人体关键点对集合可包括如下人体关键点对:{0-1,0-2,1-3,2-4,5-6,5-7,5-11,6-8,6-12,7-9,8-10,11-12,11-13,12-14,13-15,14-16}。
[0042]
可以理解,高相关性的两个人体关键点之间的距离往往不会发生剧烈波动,而低相关性的两个人体关键点之间的距离则很可能发生剧烈波动。例如,人体手部可举起或落下,因而,手肘关键点与胯部关键点的距离有可能发生剧烈变化,而手肘关键点与手腕关键点的距离并不会随着人体手部的举起或落下而发生距离变化,因而手肘关键点与手腕关键点是高相关性的人体关键点,手肘关键点与胯部关键点是低相关性的人体关键点。训练过程中,主要基于高相关性的人体关键点构建人体关键点对集合。
[0043]
通过本技术实施例所提出的骨骼损失函数,约束了相关性较强的人体关键点之间的距离,能够避免多任务学习模型预测出不合理的人体姿态,帮助提升多任务学习模型的收敛速度。
[0044]
在一些实施例中,智能设备可在多任务学习模型针对人体关键点位置的输出结果有较大误差时,通过热力图及偏移图来定位出现问题的位置,具体表现为:智能设备在接收到针对人体关键点位置的异常检查请求时,可分析热力图,或者分析热力图及偏移图,然后根据分析结果定位异常原因。
[0045]
具体地,针对输出结果有较大误差的问题,可简单分类为如下几种情况:(1)多/少了人体关键点;(2)人体关键点的位置不合理;(3)未能识别出人体关键点(也即输出没有人体关键点)。对应上述三种情况,热力图可能为:(1)热力图明显多/少了一部分;(2)热力图的背景或其他位置有相似像素,或者高亮区域弥散,导致出现错误的高亮,进而导致了错误的人体关键点位置;(3)热力图中没有高亮,这大概率是由网络训练失败(未收束)所引起
的。在基于热力图定位出现问题的关键点区域后,可再通过偏移图来精准定位出现问题的像素点。
[0046]
步骤103,根据特征金字塔网络自顶向下融合的过程中所得的预设的目标层的特征,得到针对待处理图像的目标检测结果。
[0047]
训练设备可在对多任务学习模型进行训练之前,先指定目标层,将特征金字塔网络自顶向下融合的过程中所得的任一层指定为目标层,其中,训练设备可以是智能设备自身,也可以是其它设备,此处不作限定。需要注意的是,除非重新训练多任务学习模型,否则该目标层在指定后不会再被更改。
[0048]
目标检测结果可包括三类信息,分别为:坐标信息、交并比(intersection over union,iou)结果及分类预测值。其中,坐标信息用于指示目标检测任务所得的矩形检测框的坐标信息(x,y,w,h),x表示矩形检测框左上角的横坐标,y表示矩形检测框左上角的纵坐标,w表示矩形检测框的宽,h表示矩形检测框的高;交并比结果用于指示矩形检测框所框选的内容属于前景还是背景,一般而言,交并比结果大于或等于预设的交并比阈值(例如50%)时,矩形检测框所框选的内容属于前景(也即矩形检测框内包含的是目标物体的信息),交并比结果小于该交并比阈值时,矩形检测框所框选的内容属于背景;分类预测值用于指示在检测到目标物体时,该目标物体属于coco数据集预设的80个类别中的哪一类。
[0049]
请参阅图3,图3给出了多任务学习模型的数据流示例,下面对该图3进行简单说明:
[0050]
左起第一列为224
×
224
×
3的输入图像(input image);左起第二列为轻量级的骨干网络自底向上特征提取的结果;左起第三列为特征金字塔网络自顶向下特征融合的结果;左起第四列自下至上的第一行为偏移图(offset maps),第二行为热力图(heat maps);右起第一列自上至下分别为:17
×
1的人体关键点可见标志位(visibility),80
×
1的分类预测值(class),4
×
1的坐标信息(regression),1
×
1的交并比结果(iou),17
×
2的人体关键点位置(key points)。
[0051]
在一些实施例中,轻量级的骨干网络的网络结构不深,其部分卷积层的感受野较小。为了扩大感受野,提高骨干网络对特征的敏感性,帮助多任务学习模型拥有更好的性能,本技术实施例中,在智能设备的算力允许的情况下,还可针对骨干网络的卷积层引入注意力机制。其中,重点关注的是感受野较小的卷积层,这些卷积层往往应用在轻量级的骨干网络的浅层。在骨干网络深层的卷积层也可以引入该注意力机制,但对模型精度提升的效果有限,甚至存在导致模型精度下降的可能。
[0052]
可以理解,只要是感受野较小的卷积层,都可通过该注意力机制来扩大感受野。具体实现时,只需要在对应的代码位置增加对该注意力机制的函数的调用即可。针对每个引入了注意力机制的卷积层,该注意力机制的实现过程如下:
[0053]
a1,计算卷积层的原始的输入特征在每个特征通道上的全局特征。
[0054]
记卷积层的原始的输入特征为x,则多任务学习模型可先通过下式计算出该原始的输入特征x在每个特征通道上的变换特征:
[0055]
uc=kc*x
[0056]
其中,kc表示特征通道c所对应的滤波核;uc表示该原始的输入特征x在特征通道c上的变换特征。可以理解,不同特征通道所对应的滤波核可以相同,也可以不同,此处不作
限定。
[0057]
在得到该原始的输入特征x在每个特征通道上的变换特征后,针对任意变换特征,对该变换特征再进行全局平均池化操作,即可将对应特征通道上的整个空间特征编码为通道级的全局特征。该全局平均池化操作的过程可通过下式表示:
[0058][0059]
其中,zc表示特征通道c的全局特征;h及w表示变换特征的尺寸,h具体表示高,w具体表示宽;i表示横坐标,j表示纵坐标;uc(i,j)用于表示变换特征中坐标为(i,j)的点。至此,即可得到每个特征通道的全局特征。
[0060]
a2,根据所有全局特征,计算各个特征通道的重标定系数。
[0061]
为获得不同特征通道之间的关系,学习到各个特征通道之间的非线性关系,具体可采用门机制来计算各个特征通道的重标定系数。可将该重标定系数理解为权重,用于表达对应特征通道的重要程度。该重标定系数的计算过程如下式所示:
[0062]
s=σ(w2δ(w1z))
[0063]
其中,z表示所有特征通道的全局特征;s表示各个特征通道所对应的重标定系数的集合;δ表示relu激活函数;σ表示sigmoid激活函数;和均表示1
×
1的全连接卷积运算,其中r表示降维系数,c表示当前的卷积层的特征通道总数。通过该式可知,本步骤中,首先通过w1对所有特征通道的全局特征进行第一卷积处理;然后通过δ对第一卷积处理的结果进行第一激活处理;接着通过w2对第一激活处理的结果进行第二卷积处理;最后通过σ对第二卷积处理的结果进行第二激活处理,即可得到各个特征通道所对应的重标定系数。上述过程中,第一卷积处理w1用于降低维度,第二卷积处理w2用于恢复维度,第一激活处理δ及第二激活处理σ用于学习不同特征通道之间的非线性关系。以上过程降低了多任务学习模型的复杂度,提升了多任务学习模型的泛化能力。
[0064]
a3,根据各个重标定系数,分别在各个特征通道上对原始的输入特征进行重标定,得到卷积层的新的输入特征。
[0065]
通过逐通道乘法,可完成在通道维度上对原始的输入特征的重标定,如下式所示:
[0066][0067]
其中,sc表示特征通道c的重标定系数,前文已有描述,此处不再赘述;uc表示特征通道c的变换特征,前文已有描述,此处不再赘述;表示重标定后的特征通道c的特征。将重标定后的每个特征通道的特征根据通道顺序重新拼接后,即可得到卷积层的新的输入特征。可以理解,后续输入该卷积层的不再是该卷积层的原始的输入特征,而是该卷积层的新的输入特征。也即,后续将以该卷积层的新的输入特征投入该卷积层的运算处理。
[0068]
本技术实施例所提出的注意力机制的操作可以看成是学习到了各个特征通道的权重系数,从而使得多任务学习模型对各个特征通道的特征更有辨别能力。通过该注意力机制,使骨干网络能够关注信息量较大的特征通道的特征,抑制不重要的特征通道的特征,弥补轻量级的骨干网络感受野不足的缺陷。
[0069]
在一些实施例中,为进一步提升多任务学习模型的精度,可考虑对骨干网络所采
用的激活函数也进行优化。仅作为示例,该骨干网络所采用的激活函数(也即优化后的激活函数)可如下式所示:
[0070][0071]
其中,x用于表示骨干网络所采用的激活函数的输入,activation(x)用于表示骨干网络所采用的激活函数的输出。该骨干网络所采用的激活函数的形式通过变形swish激活函数而得,这可提升精度,使得嵌入式环境下的处理不增加计算耗时。
[0072]
除此之外,上式中的min(6,max(0,x 3))实际为relu激活函数的变形。可以理解,如果上式中,不采用该relu激活函数的变形,而是直接采用relu激活函数,则可能因relu激活函数的输出范围为(0, ∞)而导致在移动端使用float16低精度计算出现精度损失。基于此,上式才采用了relu激活函数的变形,以限制最大值的输出,避免出现精度损失。
[0073]
在一些实施例中,在多任务学习模型的训练阶段,可能出现样本图像的数据不足或数据分布高度相似的情况,这会影响到多任务学习模型的泛化能力及鲁棒性。基于此,为减少出现这种情况,可考虑在训练阶段对样本图像进行数据增强处理,其过程具体为:
[0074]
b1,获取原始的样本图像。
[0075]
前文已描述了,可采用coco数据集对多任务学习模型进行训练,此处不再赘述。每个样本图像的标签数据包括:人体关键点的编号标签、人体关键点的坐标标签、人体关键点的可见标志位标签、物体的矩形检测框的坐标标签及物体的分类标签等,此处不作赘述。
[0076]
b2,对原始的样本图像进行数据增强处理,得到处理后的样本图像。
[0077]
仅作为示例,数据增强处理包括:裁剪(cutout)处理、随机翻转处理、随机旋转处理、随机缩放处理、随机平移处理、随机抖动处理以及像素变换处理等,此处不作限定。需要注意的是,由于人体姿态估计任务的特殊性,针对随机翻转处理,不使用垂直翻转(因这会导致人体上下颠倒),仅使用镜面翻转(也即左右翻转)。
[0078]
在一些实施例中,为了避免人体姿态估计训练中不必要的冗余数据,前文所提出的裁剪处理可不采用常见的random erase等随机裁剪方法,而是可基于人体姿态估计的特点,采用针对人体关键点的裁剪处理。也即,智能设备具体可对原始的样本图像进行针对人体关键点的裁剪处理,得到处理后的样本图像。
[0079]
b3,根据数据增强处理,更新原始的样本图像的标签数据,得到处理后的样本图像的标签数据。
[0080]
仅作为示例,针对任一样本图像进行裁剪操作后,如果裁剪掉的区域包括人体关键点的信息,则可将该被裁剪掉的人体关键点所对应的可见标志位标签由“可见”(也即v=2)更新为“不可见”(也即v=1)。类似地,针对任一样本图像进行裁剪操作后,如果随机裁剪的区域包括目标物体,则可将该被裁剪掉的目标物体所对应的标签删除。
[0081]
仅作为示例,针对任一样本图像进行镜像翻转后,可对左右对应的人体关键点的编号标签进行变换。例如,对样本图像中的目标进行镜面反转后,其原来的左侧人体关键点的编号标签,需要更新为右侧人体关键点的编号标签,例如,1-leye更新为2-reye,5-lshoulder更新为6-rshoulder;相对应地,其原来的右侧人体关键点的编号标签,需要更新为左侧人体关键点的编号标签,此处不再赘述。类似地,针对任一样本图像进行镜像翻转后,需要重新标注物体的矩形检测框的坐标标签等。
[0082]
可以理解,针对每类影响了样本图像中的人体及物体的位置及可见性的数据增强处理,都可对应执行对标签数据的更新操作,此处不再赘述。
[0083]
b4,根据处理后的样本图像及处理后的样本图像的标签数据对多任务学习模型进行训练。
[0084]
也即,训练过程中使用到的样本图像不再是原始的样本图像,而是处理后的样本图像;相应地,计算多任务学习模型的损失时,所使用的标签也不再是原来的样本图像的标签数据,而是处理后的样本图像的标签数据。
[0085]
通过以上过程,可丰富多任务学习模型的训练样本,使得多任务学习模型的泛化能力及鲁棒性都有一定提升。
[0086]
在一些实施例中,以任一原始的样本图像为例,智能设备对该原始的样本图像进行针对人体关键点的裁剪处理,得到处理后的样本图像的过程可如下所示:
[0087]
c1、根据预设的裁剪概率,对原始的样本图像中的每个人体关键点进行裁剪可行性的判断。
[0088]
智能设备可以任意顺序对原始的样本图像中的每个人体关键点进行裁剪可行性的判断,其判断的依据为预设的裁剪概率。为便于说明,记该裁剪概率为p,则针对该原始的样本图像中的每个人体关键点,均有p的可能性被确定为裁剪可行。
[0089]
需要注意的是,为避免过度裁剪,针对原始的样本图像所确定的目标人体关键点的数量应不超过该原始的样本图像所包含的人体关键点的总数量的一半。其中,目标人体关键点为:判断结果指示裁剪可行的人体关键点。则,智能设备在依次对各个人体关键点进行裁剪可行性的判断的过程中,一旦目标人体关键点的数量已达到预设的数量阈值,即可停止判断的操作,直接跳转执行步骤c2。其中,该数量阈值可以通过对原始的样本图像所包含的人体关键点的总数量的一半进行向下取整而得。
[0090]
仅作为示例,假定某一原始的样本图像中有17个人体关键点,则数量阈值可被设定为8。智能设备依次对该样本图像的第1个人体关键点、第2个人体关键点、第3个人体关键点
……
进行裁剪可行性的判断。假定在判断完该原始的样本图像的第15个人体关键点后,已经确定出了8个目标人体关键点,则可停止判断的操作,不再对该原始的样本图像的剩余的2个人体关键点进行裁剪可行性的判断。
[0091]
c2、针对每个目标人体关键点,确定与目人体关键点对应的目标裁剪点。
[0092]
其中,目标裁剪点与对应的目标人体关键点之间的间隔距离在预设的距离范围之内。仅作为示例,该距离范围可以是[0,0.1
×
w],其中,w为原始的样本图像的边长;也即,记目标人体关键点与对应的目标裁剪点之间的间隔距离为δ,则δ∈[0,0.1
×
w]。
[0093]
c3、以目标裁剪点为圆心,以指定长度为半径,确定裁剪范围。
[0094]
其中,指定长度在预设的长度范围之内。仅作为示例,该长度范围可以是[0.1
×
w,0.2
×
w],其中,w在前文已有释义,此处不再赘述;也即,记指定长度为r,则r∈[0.1
×
w,0.2
×
w]。这样一来,可保证至少有一个人体关键点在裁剪范围内,避免因裁剪范围完全避开人体关键点位置而产生不必要的冗余数据,减少无效裁剪的出现。
[0095]
c4、根据裁剪范围,对原始的样本图像进行裁剪处理,得到处理后的样本图像。
[0096]
可以理解,上述裁剪的过程保证了一定的随机性,且可能出现裁剪掉的区域包含有物体的信息的情况,这实际上也属于对目标检测任务的数据增强处理。
[0097]
请参阅图4,图4给出了裁剪范围的示例,下面对该图4进行简单说明:
[0098]
点p为一目标人体关键点;点o为与该目标人体关键点相对应的目标裁剪点;点o与点p之间的间隔距离为δ;灰色区域为裁剪范围;r为裁剪范围的半径。
[0099]
由上可见,本技术实施例通过已训练的多任务学习模型来同时对待处理图像进行人体姿态估计任务及目标检测任务。具体地,多任务学习模型主要有两个组成部分,分别为轻量级的骨干网络及特征金字塔网络。其中,该骨干网络用于提取待处理图像中多个层级的特征,由于骨干网络是轻量级的,因而特征提取的速度会有一定提升,基于此保障人体姿态估计任务及目标检测任务的处理效率;该特征金字塔网络用于融合骨干网络所提取的不同层级的特征,基于此保障人体姿态估计任务及目标检测任务的处理准确度。
[0100]
对应于上文所提供的基于多任务学习的图像处理方法,本技术实施例还提供了一种基于多任务学习的图像处理装置。如图5所示,该图像处理装置5包括:
[0101]
输入模块501,用于将待处理图像输入已训练的多任务学习模型,多任务学习模型包括:特征金字塔网络及轻量级的骨干网络,其中,骨干网络用于自底向上提取待处理图像中多个层级的特征,特征金字塔网络用于自顶向下融合骨干网络所提取的不同层级的特征;
[0102]
第一确定模块502,用于根据特征金字塔网络自顶向下融合的过程中所得的最顶层及最下层的特征,得到针对待处理图像的人体姿态估计结果;
[0103]
第二确定模块503,用于根据特征金字塔网络自顶向下融合的过程中所得的预设的目标层的特征,得到针对待处理图像的目标检测结果。
[0104]
在一些实施例中,人体姿态估计结果包括:人体关键点位置及人体关键点可见标志位,人体关键点位置用于指示各个人体关键点在待处理图像中的坐标,人体关键点可见标志位用于指示各个人体关键点在待处理图像中是否可见;第一确定模块502,包括:
[0105]
第一确定单元,用于根据特征金字塔网络自顶向下融合的过程中所得的最顶层的特征,得到针对待处理图像的人体关键点可见标志位;
[0106]
第二确定单元,用于根据特征金字塔网络自顶向下融合的过程中所得的最下层的特征,得到热力图及偏移图,其中,热力图用于预测各个人体关键点的像素级位置,偏移图用于预测各个人体关键点的像素级位置在亚像素级的局部偏移量;
[0107]
第三确定单元,用于根据热力图及偏移图,得到针对待处理图像的人体关键点位置。
[0108]
在一些实施例中,多任务学习模型在训练过程中针对人体关键点位置所采用的损失函数为:
[0109][0110]
其中,p为多任务学习模型在训练过程中预测的人体关键点位置;y为真实的人体关键点位置;s为预设的人体关键点对集合;i,j∈s用于表示i及j分别为人体关键点对集合中的一个人体关键点对所对应的两个不同人体关键点。
[0111]
在一些实施例中,图像处理装置5还包括:
[0112]
分析模块,用于若接收到针对人体关键点位置的异常检查请求,则分析热力图,或者分析热力图及偏移图;
[0113]
定位模块,用于根据分析结果定位异常原因。
[0114]
在一些实施例中,骨干网络所采用的激活函数为:
[0115][0116]
其中,x用于表示激活函数的输入,activation(x)用于表示激活函数的输出。
[0117]
在一些实施例中,图像处理装置5还包括:
[0118]
获取模块,用于获取原始的样本图像;
[0119]
处理模块,用于对原始的样本图像进行针对人体关键点的裁剪处理,得到处理后的样本图像;
[0120]
更新模块,用于根据裁剪处理,更新原始的样本图像的标签数据,得到处理后的样本图像的标签数据;
[0121]
训练模块,用于根据处理后的样本图像及处理后的样本图像的标签数据对待训练的多任务学习模型进行训练。
[0122]
在一些实施例中,处理模块,包括:
[0123]
裁剪判断单元,用于根据预设的裁剪概率,对原始的样本图像中的每个人体关键点进行裁剪可行性的判断;
[0124]
第四确定单元,用于针对每个目标人体关键点,确定与目标人体关键点对应的目标裁剪点,目标裁剪点与目标人体关键点之间的间隔距离在预设的距离范围之内,目标人体关键点为:判断结果指示裁剪可行的人体关键点;
[0125]
第五确定单元,用于以目标裁剪点为圆心,以指定长度为半径,确定裁剪范围,其中,指定长度在预设的长度范围之内;
[0126]
裁剪处理单元,用于根据裁剪范围,对原始的样本图像进行裁剪处理,得到处理后的样本图像。
[0127]
由上可见,本技术实施例通过已训练的多任务学习模型来同时对待处理图像进行人体姿态估计任务及目标检测任务。具体地,多任务学习模型主要有两个组成部分,分别为轻量级的骨干网络及特征金字塔网络。其中,该骨干网络用于提取待处理图像中多个层级的特征,由于骨干网络是轻量级的,因而特征提取的速度会有一定提升,基于此保障人体姿态估计任务及目标检测任务的处理效率;该特征金字塔网络用于融合骨干网络所提取的不同层级的特征,基于此保障人体姿态估计任务及目标检测任务的处理准确度。
[0128]
对应于上文所提供的基于多任务学习的图像处理方法,本技术实施例还提供了一种智能设备。请参阅图6,本技术实施例中的智能设备6包括:存储器601,一个或多个处理器602(图6中仅示出一个)及存储在存储器601上并可在处理器上运行的计算机程序。其中:存储器601用于存储软件程序以及单元,处理器602通过运行存储在存储器601的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取预设事件对应的资源。具体地,处理器602通过运行存储在存储器601的计算机程序时实现以下步骤:
[0129]
将待处理图像输入已训练的多任务学习模型,多任务学习模型包括:特征金字塔网络及轻量级的骨干网络,其中,骨干网络用于自底向上提取待处理图像中多个层级的特征,特征金字塔网络用于自顶向下融合骨干网络所提取的不同层级的特征;
[0130]
根据特征金字塔网络自顶向下融合的过程中所得的最顶层及最下层的特征,得到
针对待处理图像的人体姿态估计结果;
[0131]
根据特征金字塔网络自顶向下融合的过程中所得的预设的目标层的特征,得到针对待处理图像的目标检测结果。
[0132]
假设为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,人体姿态估计结果包括:人体关键点位置及人体关键点可见标志位,人体关键点位置用于指示各个人体关键点在待处理图像中的坐标,人体关键点可见标志位用于指示各个人体关键点在待处理图像中是否可见;根据特征金字塔网络自顶向下融合的过程中所得的最顶层及最下层的特征,得到针对待处理图像的人体姿态估计结果,包括:
[0133]
根据特征金字塔网络自顶向下融合的过程中所得的最顶层的特征,得到针对待处理图像的人体关键点可见标志位;
[0134]
根据特征金字塔网络自顶向下融合的过程中所得的最下层的特征,得到热力图及偏移图,其中,热力图用于预测各个人体关键点的像素级位置,偏移图用于预测各个人体关键点的像素级位置在亚像素级的局部偏移量;
[0135]
根据热力图及偏移图,得到针对待处理图像的人体关键点位置。
[0136]
在第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,多任务学习模型在训练过程中针对人体关键点位置所采用的损失函数为:
[0137][0138]
其中,p为多任务学习模型在训练过程中预测的人体关键点位置;y为真实的人体关键点位置;s为预设的人体关键点对集合;i,j∈s用于表示i及j分别为人体关键点对集合中的一个人体关键点对所对应的两个不同人体关键点。
[0139]
在第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,处理器602通过运行存储在存储器601的计算机程序时实现以下步骤:
[0140]
若接收到针对人体关键点位置的异常检查请求,则分析热力图,或者分析热力图及偏移图;
[0141]
根据分析结果定位异常原因。
[0142]
在第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,骨干网络所采用的激活函数为:
[0143][0144]
其中,x用于表示激活函数的输入,activation(x)用于表示激活函数的输出。
[0145]
在第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,处理器602通过运行存储在存储器601的计算机程序时还实现以下步骤:
[0146]
获取原始的样本图像;
[0147]
对原始的样本图像进行针对人体关键点的裁剪处理,得到处理后的样本图像;
[0148]
根据裁剪处理,更新原始的样本图像的标签数据,得到处理后的样本图像的标签数据;
[0149]
根据处理后的样本图像及处理后的样本图像的标签数据对待训练的多任务学习模型进行训练。
[0150]
在第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,对原始的样本图像进行针对关键点的裁剪处理,得到处理后的样本图像,包括:
[0151]
根据预设的裁剪概率,对原始的样本图像中的每个人体关键点进行裁剪可行性的判断;
[0152]
针对每个目标人体关键点,确定与目标人体关键点对应的目标裁剪点,目标裁剪点与目标人体关键点之间的间隔距离在预设的距离范围之内,目标人体关键点为:判断结果指示裁剪可行的人体关键点;
[0153]
以目标裁剪点为圆心,以指定长度为半径,确定裁剪范围,其中,指定长度在预设的长度范围之内;
[0154]
根据裁剪范围,对原始的样本图像进行裁剪处理,得到处理后的样本图像。
[0155]
应当理解,在本技术实施例中,所称处理器602可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0156]
存储器601可以包括只读存储器和随机存取存储器,并向处理器602提供指令和数据。存储器601的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器601还可以存储设备类别的信息。
[0157]
由上可见,本技术实施例通过已训练的多任务学习模型来同时对待处理图像进行人体姿态估计任务及目标检测任务。具体地,多任务学习模型主要有两个组成部分,分别为轻量级的骨干网络及特征金字塔网络。其中,该骨干网络用于提取待处理图像中多个层级的特征,由于骨干网络是轻量级的,因而特征提取的速度会有一定提升,基于此保障人体姿态估计任务及目标检测任务的处理效率;该特征金字塔网络用于融合骨干网络所提取的不同层级的特征,基于此保障人体姿态估计任务及目标检测任务的处理准确度。
[0158]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0159]
在实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0160]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究
竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0161]
在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0162]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0163]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术实现实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
[0164]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献