图像处理方法、图像处理装置及存储介质转让专利

申请号 : CN201811301160.4

文献号 : CN109448007B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林孟潇张祥雨

申请人 : 北京迈格威科技有限公司

摘要 :

一种图像处理方法、图像处理装置及存储介质。该图像处理方法包括:获取输入图像中的检测框,基于检测框抠取检测框图像,检测框是针对待处理目标的检测所获得的;提取检测框图像的图像特征;确定输入图像中的多个待预测点以及多个待预测点的坐标,对多个待预测点的坐标组成的坐标向量进行换算,以获取多个待预测点的坐标特征;基于所述图像特征与坐标特征获取输入图像的混合特征;基于输入图像的混合特征判断输入图像中的待预测点是否是关键点。该图像处理方法可以避免抠取检测框外一定区域中的图像,从而可以提高多人场景下姿态估计的准确度以及节约该方法运行时的内存。

权利要求 :

1.一种图像处理方法,包括:

获取输入图像中的检测框,基于所述检测框抠取检测框图像,所述检测框是针对待处理目标的检测所获得的;

提取所述检测框图像的图像特征;

确定所述输入图像中的多个待预测点以及所述多个待预测点的坐标,对所述多个待预测点的坐标组成的坐标向量进行换算,以获取所述多个待预测点的坐标特征;

基于所述图像特征与所述坐标特征获取所述输入图像的混合特征;

基于所述输入图像的混合特征判断所述输入图像中的所述待预测点是否是关键点;

其中,将包括所述检测框所在的区域以及所述检测框外选定区域的待预测区域划分为网格,所述待预测点包括所述待预测区域中的格点。

2.根据权利要求1所述的图像处理方法,其中,所述待处理目标为人体,所述关键点为所述人体的关节点。

3.根据权利要求1所述的图像处理方法,其中,所述提取的所述检测框图像的图像特征具有第一维数,所述图像处理方法还包括:对所述第一维数的图像特征进行降维操作,以获得第二维数的图像特征。

4.根据权利要求3所述的图像处理方法,其中,通过坐标网络对所述多个待预测点的坐标组成的坐标向量进行换算;

其中,所述坐标网络为神经网络。

5.根据权利要求4所述的图像处理方法,其中,对所述多个待预测点的坐标组成的坐标向量进行换算包括:对所述多个待预测点的坐标组成的坐标向量进行升维操作以获取所述坐标特征,其中,所述坐标特征的维数与所述图像特征的所述第二维数相同。

6.根据权利要求1-5任一所述的图像处理方法,其中,利用预测器判断所述混合特征中坐标特征对应的待预测点是否为关键点;

其中,所述预测器为神经网络。

7.根据权利要求6所述的图像处理方法,其中,所述混合特征表示为:其中,f(img,coord)表示所述混合特征,h(img)表示所述检测框图像的图像特征,g(coord)表示坐标特征,所述坐标特征与所述图像特征的维数相同, 表示按位相乘。

8.根据权利要求7所述的图像处理方法,其中,所述坐标特征表示为:g(coord)=w1ReLU(w2ReLU(w3t))其中, w1是M*Q维的矩阵,w2表示Q*K维的矩阵,w3表示K*2维的矩阵,t为一组2维向量,表示所述多个待预测点归一化后的坐标组成的坐标向量,M为大于3的整数,Q,K为大于等于1的整数。

9.根据权利要求8所述的图像处理方法,其中,所述待预测点归一化后的坐标表示为:其中, 表示所述待预测点归一化后的坐标,(x0,y0)表示所述检测框第一参考位置处的坐标,(xi,yi)表示所述待预测点归一化前的坐标,h表示所述检测框的高度,q表示所述检测框的宽度。

10.一种图像处理装置,包括:

检测框获取单元,配置为获取输入图像中的检测框,基于所述检测框抠取检测框图像,所述检测框是针对待处理目标进行检测所获得的;

特征提取单元,配置为提取所述检测框图像的图像特征;

换算单元,配置为确定所述输入图像中的多个待预测点以及所述多个待预测点的坐标,对所述多个待预测点的坐标组成的坐标向量进行换算,以获取所述多个待预测点的坐标特征;

混合特征获取单元,配置为基于所述图像特征与所述坐标特征获取所述输入图像的混合特征;以及预测单元,配置为基于所述输入图像的混合特征判断所述输入图像中的所述待预测点是否是关键点。

11.根据权利要求10所述的图像处理装置,其中,所述待处理目标为人体,所述关键点为所述人体的关节点。

12.一种图像处理装置,包括:

处理器;

存储器;一个或多个计算机程序模块,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行实现权利要求1-9任一所述的图像处理方法的指令。

13.一种存储介质,非暂时性地存储计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时可以执行根据权利要求1-9任一所述的图像处理方法的指令。

说明书 :

图像处理方法、图像处理装置及存储介质

技术领域

[0001] 本公开的实施例涉及一种图像处理方法、图像处理装置及存储介质。

背景技术

[0002] 随着信息化时代的迅速发展,人类每时每刻都在通过多种多样的途径获得海量的可视化图像数据,这使得基于自然场景图像的人体姿态估计研究在现实生活中拥有很多潜在的应用价值。
[0003] 人体姿态估计(Human pose estimation)作为计算机视觉领域中的一种关键技术,可以应用于人体活动分析、人机交互以及视频监视等方面。人体姿态估计主要是指从图像中检测出人体各个关节点(例如,手腕、脚踝等)的位置、方向以及尺度信息等,从而根据这些信息对人物进行动作分析等。

发明内容

[0004] 本公开至少一实施例提供一种图像处理方法,包括:获取输入图像中的检测框,基于所述检测框抠取检测框图像,所述检测框是针对待处理目标的检测所获得的;提取所述检测框图像的图像特征;确定所述输入图像中的多个待预测点以及所述多个待预测点的坐标,对所述多个待预测点的坐标组成的坐标向量进行换算,以获取所述多个待预测点的坐标特征;基于所述图像特征与所述坐标特征获取所述输入图像的混合特征;基于所述输入图像的混合特征判断所述输入图像中的所述待预测点是否是关键点。
[0005] 例如,在本公开一实施例提供的图像处理方法中,将包括所述检测框所在的区域以及所述检测框外选定区域的待预测区域划分为网格,所述待预测点包括所述待预测区域中的格点。
[0006] 例如,在本公开一实施例提供的图像处理方法中,所述待处理目标为人体,所述关键点为所述人体的关节点。
[0007] 例如,在本公开一实施例提供的图像处理方法中,所述提取的所述检测框图像的图像特征具有第一维数,所述图像处理方法还包括:对所述第一维数的图像特征进行降维操作,以获得第二维数的图像特征。
[0008] 例如,在本公开一实施例提供的图像处理方法中,通过坐标网络对所述多个待预测点的坐标组成的坐标向量进行换算;其中,所述坐标网络为神经网络。
[0009] 例如,在本公开一实施例提供的图像处理方法中,对所述多个待预测点的坐标组成的坐标向量进行换算包括:对所述多个待预测点的坐标组成的坐标向量进行升维操作以获取所述坐标特征,其中,所述坐标特征的维数与所述图像特征的所述第二维数相同。
[0010] 例如,在本公开一实施例提供的图像处理方法中,利用预测器判断所述混合特征中坐标特征对应的待预测点是否为关键点;其中,所述预测器为神经网络。
[0011] 例如,在本公开一实施例提供的图像处理方法中,所述混合特征表示为:
[0012]
[0013] 其中,f(img,coord)表示所述混合特征,h(img)表示所述检测框图像的图像特征,g(coord)表示坐标特征,所述坐标特征与所述图像特征的维数相同, 表示按位相乘。
[0014] 例如,在本公开一实施例提供的图像处理方法中,所述坐标特征表示为:
[0015] g(coord)=w1ReLU(w2ReLU(w3t))
[0016] 其中, w1是M*Q维的矩阵,w2表示Q*K维的矩阵,w3表示K*2维的矩阵,t为一组2维向量,表示所述多个待预测点归一化后的坐标组成的坐标向量,M为大于3的整数,Q,K为大于等于1的整数。
[0017] 例如,在本公开一实施例提供的图像处理方法中,所述待预测点归一化后的坐标表示为:
[0018]
[0019] 其中, 表示所述待预测点归一化后的坐标,(x0,y0)表示所述检测框第一参考位置处的坐标,(xi,yi)表示所述待预测点归一化前的坐标,h表示所述检测框的高度,q表示所述检测框的宽度。
[0020] 本公开至少一实施例还提供一种图像处理装置,包括:检测框获取单元,配置为获取输入图像中的检测框,基于所述检测框抠取检测框图像,所述检测框是针对对待处理目标进行检测所获得的;特征提取单元,配置为提取所述检测框图像的图像特征;换算单元,配置为确定所述输入图像中的多个待预测点以及所述多个待预测点的坐标,对所述多个待预测点的坐标组成的坐标向量进行换算,以获取所述多个待预测点的坐标特征;混合特征获取单元,配置为基于所述图像特征与所述坐标特征获取所述输入图像的混合特征;以及预测单元,配置为基于所述输入图像的混合特征判断所述输入图像中的所述待预测点是否是关键点。
[0021] 例如,在本公开一实施例提供的图像处理装置中,所述待处理目标为人体,所述关键点为所述人体的关节点。
[0022] 本公开至少一实施例还提供一种图像处理装置,包括:处理器;存储器;一个或多个计算机程序模块,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行实现本公开任一实施例提供的图像处理方法的指令。
[0023] 本公开至少一实施例还提供一种存储介质,非暂时性地存储计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时可以执行本公开任一实施例提供的图像处理方法的指令。

附图说明

[0024] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0025] 图1为本公开一实施例提供的一种图像处理方法的流程图;
[0026] 图2为本公开一实施例提供的一种图像处理方法的示意图;
[0027] 图3为利用预测器预测关键点的流程图;
[0028] 图4为本公开一实施例提供的一种图像处理方法的一个示例的系统流程图;
[0029] 图5为本公开一实施例提供的预测一个检测框中人体的关节点的示意图;
[0030] 图6为本公开一实施例提供的预测另一个检测框中人体的关节点的示意图;
[0031] 图7为本公开一实施例提供的一种图像处理装置的示意框图;以及
[0032] 图8为本公开一实施例提供的另一种图像处理装置的示意框图。

具体实施方式

[0033] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0034] 除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0035] 下面通过几个具体的实施例对本公开进行说明。为了保持本公开实施例的以下说明清楚且简明,可省略已知功能和已知部件的详细说明。当本公开实施例的任一部件在一个以上的附图中出现时,该部件在每个附图中由相同的参考标号表示。
[0036] 基于图像处理的人体姿态估计技术可以在一幅包含人体的图像中自动地检测出人体,并输出图像中人体的整体或者局部肢体的结构参数,例如人体轮廓、头部的位置与朝向、人体关节点的位置与部位类别等,为人体活动分析、智能监控等研究工作提供重要的基础数据。从目标检测的角度,可以将人体各关节点看作是独立的目标,仅仅检测出它们的位置即可获得人体姿态估计的结果。例如,一种人体姿态估计方法至少可以包括以下步骤:
[0037] 第一步:首先对于被分析图像使用检测算法取得人体检测框。
[0038] 第二步:为了避免由于获得的检测框不准确(例如,检测框太小,没有将人体全部涵盖在内)而导致漏掉部分人体关节,通常会抠取检测框以及其附近一定区域(即检测框外一定区域)内的图像(部分),以得到抠取图像。
[0039] 第三步:将抠取图像送入一个全卷积神经网络或更为复杂的沙漏网络(Hourglass Network),对抠取图像中的各个位置进行打分,以估计抠取图像中的各个位置是否是某个关节点。
[0040] 第四步:将得分最高的各位置作为人体的关节点,输出人体姿态估计的结果。
[0041] 然而,在上述方法中,一方面,在多人场景下,当抠取检测框及其附近一定区域内的图像时,可能会将除要预测的人物(目标人物)之外的其他人引入(每个检测框中一般只针对一个人),从而导致上述全卷积神经网络或沙漏网络在对抠取图像进行关节点预测时,无法区分哪个关节点是抠取图像的中心人物(要预测的人物)的关节点,因此,在多人场景下该方法得到的人体姿态估计结果的准确度不高;另一方面,该方法采用的全卷积网络或沙漏网络涉及反卷积操作(Deconvolution),因此,该方法的计算速度慢,内存消耗较大。
[0042] 本公开至少一实施例提供了一种图像处理方法,包括:获取输入图像中的检测框,基于检测框抠取检测框图像,检测框是针对待处理目标的检测所获得的;提取检测框图像的图像特征;确定输入图像中的多个待预测点以及多个待预测点的坐标,对多个待预测点的坐标组成的坐标向量进行换算,以获取多个待预测点的坐标特征;基于图像特征与坐标特征获取输入图像的混合特征;基于输入图像的混合特征判断输入图像中的待预测点是否是关键点。
[0043] 本公开至少一实施例还提供对应于上述图像处理方法的图像处理装置和存储介质。
[0044] 本公开实施例提供的图像处理方法,一方面,该方法基于待预测点的坐标信息,不需要抠取检测框外一定区域内的图像,就可以对检测框内和检测框外区域的关键点进行预测,从而避免了在抠取检测框外一定区域内的图像时因抠取到其他人的关节点而造成误判,提高了多人场景下姿态估计的准确度;另一方面,该方法还可以避免使用反卷积操作,从而可以节约方法运行时的内存。
[0045] 下面结合附图对本公开的实施例及其一些示例进行详细说明。
[0046] 图1为本公开一实施例提供的一种图像处理方法的一个示例的流程图。该图像处理方法可以以软件、硬件、固件或其任意组合的方式实现,由例如手机、笔记本电脑、桌面电脑、网络服务器、数码相机等设备中的处理器加载并执行,以实现对待处理目标的关键点的预测,例如,对人体的关节点的预测,从而可以实现人体姿态估计。下面,参考图1对本公开至少一实施例提供的图像处理方法进行说明。如图1所示,该图像处理方法包括步骤S110至步骤S150。
[0047] 步骤S110:获取输入图像中的检测框,基于检测框抠取检测框图像,检测框是针对待处理目标的检测所获得的。
[0048] 步骤S120:提取检测框图像的图像特征。
[0049] 步骤S130:确定输入图像中的多个待预测点以及多个待预测点的坐标,对多个待预测点的坐标组成的坐标向量进行换算,以获取多个待预测点的坐标特征。
[0050] 步骤S140:基于图像特征与坐标特征获取输入图像的混合特征。
[0051] 步骤S150:基于输入图像的混合特征判断输入图像中的待预测点是否是关键点。
[0052] 例如,该待处理目标可以包括输入图像中的人体。例如,如图5或图6所示,该待处理目标可以为输入图像Ik中的人体11或人体12,其中,k为大于0的整数。当然,该待处理目标也可以是输入图像中包括的其他目标物体(例如,机器人、玩具、车、马、牛等),本公开的实施例对此不作限制。需要注意的是,下面以待处理目标是人体为例进行说明。
[0053] 例如,该关键点可以为人体的关节点。例如,如图5或图6所示,该关键点可以是人体11或人体12的眼睛、胳膊、手腕等位置处的关节点,例如肘关节点、肩关节点、手关节点、盆骨关节点等,以下实施例与此相同,不再赘述。
[0054] 对于步骤S110,例如,可以利用深度神经网络等本领域内的常规检测算法获取输入图像中的至少一个检测框b1,...,bm,例如,m为大于或等于1的整数,在此不再赘述。例如,该深度神经网络可以采用以ResNet-50为骨架的Faster R-CNN(基于区域的快速卷积神经网络,Region-Convolutional Neural Networks)或SSD(Single Shot MultiBox Detector,单次检测器)等,本公开的实施例对此不作限制。
[0055] 例如,该检测框是针对待处理目标的检测所获得的。例如,该输入图像中包括m个待处理目标(例如,人体),那么,通过上述检测算法得到的检测框也包括m(m为大于或等于1的整数)个。例如,如图5或图6所示,输入图像Ik中的检测框b1是根据检测到的人体11确定的,输入图像Ik中的检测框b2是根据检测到的人体12确定的。例如,该人体检测可以采用基于模板的方法、基于模型的方法或神经网络方法等本领域内的常规算法实现,在此不再赘述。
[0056] 例如,可以通过贝叶斯抠图(Bayesian Matting)算法、KNN抠图算法、泊松抠图(Poisson Matting)算法、基于神经网络的抠图算法等本领域内的常规抠图算法抠取检测框中的检测框图像Ik1,...,Ikp,...,Ikm,其中,p为大于1且小于m的整数。例如,在本公开实施例中可以采用基于深度学习的抠图算法抠取图5所示的检测框b1或图6中所示的检测框b2中的检测框图像。需要注意的是,该基于深度学习的抠图算法可以采用本领域内的常规方法,在此不再赘述。
[0057] 例如,输入图像可以通过适当的图像采集装置获取。该图像采集装置可以是数码相机、智能手机的摄像头、平板电脑的摄像头、个人计算机的摄像头、网络摄像头、监控摄像头或其他可以实现图像采集功能的部件,本公开的实施例对此不作限制。
[0058] 例如,输入图像可以是图像采集装置直接采集得到的原始图像,也可以是对原始图像进行预处理之后获得的图像。例如,在步骤S110前,本公开实施例提供的图像处理方法还可以包括对输入图像进行预处理的操作,以有利于检测输入图像中的人体并获取输入图像中的检测框。图像预处理操作可以消除输入图像中的无关信息或噪声信息,以便于更好地对输入图像中人体进行检测,从而更准确地确定检测框。例如,在输入图像是照片的情况下,该图像预处理操作可以包括对照片进行图像缩放、压缩或格式转换、色域转换、伽玛(Gamma)校正、图像增强或降噪滤波等处理,在输入图像是视频的情况下,该预处理可以包括提取视频的关键帧等。
[0059] 例如,可以提供检测框获取单元,并通过该检测框获取单元获取输入图像中的检测框,基于检测框抠取检测框图像;例如,也可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应计算机指令来实现该检测框获取单元。例如,该处理单元可以为通用处理器或专用处理器,可以是基于X86或ARM架构的处理器等。
[0060] 对于步骤S120,例如,可以利用神经网络提取检测框图像的图像特征。例如,该神经网络可以是深度卷积神经网络(例如,深度残差神经网络)。例如,可以预先搜集大量的(例如,10000张或更多张)包括人体的图像作为样本库,并通过人工或其他方法在每张图像中标注出人体的轮廓以及人体中的眼睛、鼻子、胳膊等等。然后,使用样本库中的图像通过深度卷积神经网络等算法对分类模型进行训练和测试,从而得到提取检测框图像中的图像特征的算法模型。该模型的输入是包含人体的检测框图像,输出为该检测框图像的图像特征(例如,输出的图像特征为一个2048维的向量f1,f2,...,f2048),从而实现对检测框图像的图像特征的提取。
[0061] 需要注意是,图像特征提取的方法不限于上述神经网络,还可以通过例如HOG+SVM等本领域内的常规方法实现,本公开的实施例对此不作限制。
[0062] 例如,提取的检测框图像的图像特征具有第一维数,例如,该第一维数为特征提取后的初始维数,例如为2048维。由于该图像特征的第一维数较高,在后续步骤中,例如在步骤S130中,在对多个待预测点的坐标组成的坐标向量进行升维操作时,该升维操作很难达到较高的第一维数,因此在该步骤中,该图像处理方法还可以包括:对第一维数的图像特征f1,f2,...,f2048进行降维操作,以获得第二维数的图像特征 例如,n为大于2的整数。例如,该第二维数为128维,即n等于128。例如,可以通过神经网络等本领域内的常规方法实现上述降维操作,在此不再赘述。
[0063] 例如,可以提供特征提取单元,并通过该特征提取单元提取检测框图像的图像特征;例如,也可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应的计算机指令来实现该特征提取单元。
[0064] 对于步骤S130,例如,对于每一个检测框图像,有一组希望被预测是否是关键点的待预测点,该待预测点位于输入图像的待预测区域内。例如,如图2所示,虚线框bp表示输入图像中的第p个检测框,待预测区域23包括检测框bp所在的区域(即检测框图像)以及检测框bp外的选定区域。如图2所示,该检测框外的选定区域包括位于待预测区域23之内且检测框(即虚线框)bp之外的区域,例如,可以是以检测框为中心,将高度和宽度分别向外扩展1/3形成的区域,当然,也可以包括更大或更小的区域,甚至不包括该选定区域(即不需要对检测框外的图像进行关键点的预测),本公开的实施例对此不作限制。
[0065] 例如,将待预测区域23划分为网格,待预测点包括待预测区域23中的格点,例如,检测框内的格点21以及位于检测框外的格点22。需要注意的是,为了表示清楚、简洁,此处仅示意性的表示了检测框内的一个格点21和检测框外的一个格点22,待预测点还包括其余未进行标号的格点。
[0066] 例如,可以在步骤S120中仅提取检测框内的检测框图像的图像特征,利用该检测框内的检测框图像的图像特征预测检测框外的待预测点是否是关节点。例如,输入图像中的人体将双臂展开,当人体的手臂在检测框内且手腕在检测框外时,可以通过检测框图像的图像特征预测手臂的位置,并通过检测框内手臂的位置、长度和方向预测位于检测框外的手腕的位置。例如,各个关节点(例如,手臂、手腕)的位置信息可以通过坐标表示,从而可以不需要抠取检测框外的图像,即可实现对检测框图像以及检测外区域中相应坐标位置处的关节点进行预测,从而可以提高多人场景下人体姿态估计的准确度。
[0067] 例如,输入图像Ik的左上角为坐标原点(0,0),该待预测区域内的待预测点的坐标为(x1,y1),...,(xi,yi)...,(xl,yl),l为大于1的整数,为了便于计算,可以通过下面的公式将待预测点的坐标进行归一化:
[0068]
[0069] 其中, 表示第i(i为大于等于1且小于等于l的整数)个待预测点归一化后的坐标,(x0,y0)表示检测框第一参考位置处(例如,如图2中所示的检测框bp的左上角)的坐标,(xi,yi)表示第i个待预测点归一化前的坐标,h表示检测框的高度(例如,如图2中所示的检测框bp沿x轴方向的长度),q表示检测框的宽度(例如,如图2中所示的检测框bp沿y轴方向的长度)。
[0070] 例如,可以通过坐标网络对多个待预测点的坐标组成的坐标向量进行换算,例如,对多个待预测点的坐标组成的坐标向量进行升维操作以获取坐标特征。例如,该坐标特征的维数与图像特征的第二维数(例如,128维)相同。例如,该坐标网络可以是神经网络,将多个待预测点的坐标组成的坐标向量升维至例如128维。
[0071] 例如,可以通过下面的公式(例如,坐标网络可以实现该公式的功能)对多个待预测点的坐标组成的坐标向量进行升维:
[0072] g(coord)=w1ReLU(w2ReLU(w3t))   (2)
[0073] 其中, w1是M*Q维的矩阵,w2表示Q*K维的矩阵,w3表示K*2维的矩阵,t为一组2维向量,表示多个待预测点归一化后的坐标组成的坐标向量,M为大于3的整数,Q、K分别为大于等于1的整数。
[0074] 例如,可以提供换算单元,并通过该换算单元确定输入图像中的多个待预测点以及多个待预测点的坐标,对多个待预测点的坐标组成的坐标向量进行换算,以获取多个待预测点的坐标特征;例如,也可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应的计算机指令来实现该换算单元。
[0075] 对于步骤S140,例如,将降维后的检测框图像的图像特征与坐标特征按位相乘,以获取输入图像的混合特征。例如,该混合特征可以表示为:
[0076]
[0077] 其中,f(img,coord)表示混合特征, 表示按位相乘,h(img)表示检测框图像的图像特征,g(coord)表示坐标特征,例如,该坐标特征与图像特征的维数相同,例如,为第二维数(128维)。
[0078] 例如,该混合特征包括检测框图像的图像特征以及多个待预测点的坐标特征,该多个待预测点的坐标特征表示待预测点在输入图像Ik中的位置。从而在后续步骤中,可以将各个待预测点的坐标输入预测器(例如神经网络)中,通过预测器对混合特征中的图像特征进行判断,以预测该坐标位置处的待预测点是否是关节点。具体地预测过程将在下面进行详细地介绍,在此不再赘述。
[0079] 由于混合特征中的坐标特征包括检测框内和检测框外的待预测点的坐标,由此可以在不抠取检测框外图像的情况下,通过坐标特征定位输入图像中位于检测框内或检测框外的相应坐标位置处的待预测点,从而可以通过检测框图像的图像特征实现对检测框内外区域中的关节点的预测,从而可以提高多人场景下对人体姿态估计的准确度。
[0080] 例如,可以提供混合特征获取单元,并通过该混合特征获取单元基于图像特征与坐标特征获取输入图像的混合特征;例如,也可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应的计算机指令来实现该混合特征获取单元。
[0081] 对于步骤S150,例如,利用预测器判断混合特征中坐标特征对应的待预测点是否为关键点以及判断该关键点的类型(例如肘关节点、肩关节点、手关节点、盆骨关节点等)。例如,该预测器为神经网络,可以选择适当类型和构造的神经网络来实现该预测器。
[0082] 例如,将混合特征送入预测器,得到对待预测点是否是关节点的预测打分,即得到对该待预测点所对应的坐标点是否是某个关节点的打分,这个打分就是对人体姿态的预测。例如,将对人体各个关节点打分最高的坐标点,作为输出的估计结果。
[0083] 图3为本公开一实施例提供的一种利用预测器预测关键点的流程图。例如,在图3所示的示例中,该预测过程包括步骤S151至步骤S152。下面,结合步骤S151至步骤S152对预测器的预测过程进行详细地介绍。
[0084] 步骤S151:获取待预测点所属于的关键点的类型以及对每个待预测点是否是该类型关键点的打分。
[0085] 例如,通过神经网络分类器等本领域内的常规算法分析混合特征中的图像特征,以判断该混合特征中的坐标特征对应的坐标位置处的待预测点属于的关键点类型(例如,肘关节点、肩关节点、手关节点、盆骨关节点等)以及获取对该待预测点是否是某种类型的关键点的打分。例如,通过预测器将对应某个类型关键点(例如,左边的肩关节)的多个待预测点打分为0~1之间的数值,并将对应于该类型关键点中打分最高的预测点作为该类型的关键点。神经网络分类器的训练过程将在下面进行详细地介绍,在此不再赘述。
[0086] 例如,左边的肩关节(即关键点)对应多个待预测点,预测器在输出判断该多个待预测点属于左边的肩关节时,还会输出对多个待预测点是否是该左边的肩关节的打分(例如,打分的分值为0~1),例如,这个打分就是对人体姿态的估计。
[0087] 步骤S152:针对某个类型的关键点,将打分最高的坐标位置处的待预测点作为该类型的关键点。
[0088] 例如,针对某个类型的关键点,将打分最高(例如,打分为1)的待预测点作为该类型的关键点,即作为该预测器的输出结果,从而完成对人体姿态的预测。例如,如上所述,该关键点的类型为左边的肩关节,在获取各个待预测点是否是左边的肩关节的打分后,可以取打分最高(例如,打分为1)的待预测点作为该左边的肩关节。
[0089] 例如,上述步骤S110-步骤S150可以通过一个N(N为大于3的整数)层的深度神经网络实现。例如,该深度神经网络可以包括获取检测框以及提取图像特征的神经网络、坐标网络以及该预测器等多个神经网络。例如,该深度神经网络的训练过程可以包括以下过程:
[0090] 首先预先搜集大量的(例如,10000张或更多张)包括人体的图像作为样本库,并通过人工或其他方法在每张图像中标注出人体中例如肘关节点、肩关节点、手关节点、盆骨关节点等关节点的类型,且将是某个类型的关节点的标注打分为1,并取该类型的关节点周围半径为r的范围内的各个标注点打分为大于等于0且小于1的数值。例如,距离该类型的关节点越远的标注点,打分越低。例如,将距离该关节点等于或大于该半径r处的待预测点打分为0。例如,该半径r可以根据具体情况设定,例如,每个关键点设定的半径r可以相同,也可以不同,本公开的实施例对此不作设定。
[0091] 然后,使用样本库中的图像通过深度神经网络拟合这个打分规则对分类模型进行训练和测试,从而得到预测待预测点是否是某个类型的关节点的算法模型。例如,该模型的输入是输入图像,对该输入图像中的各个待处理目标的各个关节点进行预测打分,并将打分最高的坐标点作为输出的估计结果,从而实现对关节点的预测。
[0092] 例如,下面以关节点为左边的肩关节为例进行说明,在训练过程中,在多个输入图像样本中标注左边的肩关节的标注点及其对应的打分,例如,将左边的肩关节处的标注点打分为1;将该左边的肩关节附近的其他标注点根据其距离该左边的肩关节的距离进行打分,例如,将距离该左边的肩关节为半径r(视具体情况而定)的范围内的标注点分别标注为大于等于0且小于1的数值,将半径r以外的标注点标注为0,从而根据该标注点及其相应的打分对上述深度神经网络进行训练,从而训练后的深度神经网络(即预测器)可以根据上述训练过程判断待预测点处关键点的类型(例如,判断是否是左边的肩关节)并对各个待预测点是否是该类型的关键点进行打分,从而得到预测待预测点是否是某个类型的关节点的算法模型。
[0093] 例如,可以提供预测单元,并通过该预测单元基于输入图像的混合特征判断输入图像中的待预测点是否是关键点;例如,也可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应的计算机指令来实现该预测单元。
[0094] 需要说明的是,在本公开的实施例中,该图像处理方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的图像处理方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的顺序并不受限制。上文描述的图像处理方法可以执行一次,也可以按照预定条件执行多次。
[0095] 本公开至少一个实施例提供的图像处理方法,一方面,该方法基于待预测点的坐标信息,不需要抠取检测框外一定区域内的图像,就可以对检测框内和检测框外区域的关键点进行预测,从而避免了在抠取检测框外一定区域内的图像时因抠取到其他人的关节点而造成误判,提高了多人场景下姿态估计的准确度;另一方面,该方法还可以避免使用反卷积操作,从而可以节约方法运行时的内存。
[0096] 图4为本公开一实施例提供的一种图像处理方法的系统流程图。如图4所示,该图像处理方法包括步骤S210至步骤S270。
[0097] 例如,步骤S210-步骤S230表示获取图像特征并对图像特征进行处理的操作,步骤S240-步骤S250表示获取与图像特征维数相同的坐标特征的操作,从而可以实现将图像特征和坐标特征的混合,从而在后续步骤中,预测器可以基于输入的混合特征中的坐标特征以及检测框图像的图像特征,预测该检测框内外区域中坐标特征对应的坐标位置处的待预测点是否是关键点,从而可以避免抠取检测框外的图像,提高了多人场景下对人体姿态估计的准确性。而且,该方法可以避免使用反卷积操作,以节约计算资源。
[0098] 下面,参考图4对该示例的图像处理方法进行说明。
[0099] 步骤S210:抠取检测框图像。
[0100] 例如,检测框可以利用以ResNet-50为骨架的Faster R-CNN(基于区域的快速卷积神经网络,Region-Convolutional Neural Networks)或SSD(Single Shot MultiBox Detector,单次检测器)等检测算法获得,该检测框图像可以通过贝叶斯抠图(Bayesian Matting)算法、KNN抠图算法、泊松抠图(Poisson Matting)算法、基于神经网络的抠图算法等本领域内的常规抠图算法抠取,具体操作过程例如可以参考步骤S110中的相关描述,在此不再赘述。
[0101] 步骤S220:提取图像特征。
[0102] 例如,可以利用深度残差神经网络等深度卷积神经网络提取检测框图像的图像特征,以用于在后续步骤中,预测器可以通过提取的相应检测框图像的图像特征判断该输入图像中对应坐标位置处的待预测点是否是关键点。
[0103] 例如,该图像特征提取的具体过程可以参见步骤S120的相关描述,在此不再赘述。
[0104] 步骤S230:对图像特征进行降维。
[0105] 例如,可以采用神经网络等本领域内的常规方法实现对图像特征的降维操作。例如,将图像特征的维数由第一维数(例如,2048维)降至第二维数(例如,128维)。例如,该降维操作可以是与上述公式(2)中相反的操作,具体可以参照步骤S120中的相关描述,在此不再赘述。
[0106] 步骤S240:获取待预测点归一化后的坐标向量。
[0107] 例如,如图2所示,输入图像Ik的左上角为坐标原点(0,0),该待预测区域内的待预测点的坐标为(x1,y1),...,(xi,yi)...,(xl,yl)。例如,为了便于计算,可以通过下面的公式(即上述公式(1))将待预测点的坐标进行归一化:
[0108]
[0109] 其中, 表示第i个待预测点归一化后的坐标,(x0,y0)表示检测框第一参考位置处(例如,图2中所示的检测框bp的左上角)的坐标,(xi,yi)表示第i个待预测点归一化前的坐标,h表示检测框的高度(例如,图2中所示的检测框bp沿x轴方向的长度),q表示检测框的宽度(例如,图2中所示的检测框bp沿y轴方向的长度)。
[0110] 例如,将多个待预测点归一化后的坐标组成坐标向量,以用于后续步骤中的升维操作。
[0111] 步骤S250:对坐标向量进行升维操作以获取坐标特征。
[0112] 例如,可以通过坐标网络对多个待预测点的坐标组成的坐标向量进行升维操作以获取坐标特征。例如,该坐标特征的维数与图像特征的第二维数(例如,128维)相同。例如,该坐标网络可以是神经网络,例如将多个待预测点归一化后的坐标组成的坐标向量升维至例如128维。
[0113] 例如,可以通过下面的公式(即上述公式(2),例如,坐标网络可以实现该公式的功能)对多个待预测点归一化后的坐标组成的坐标向量进行升维:
[0114] g(coord)=w1ReLU(w2ReLU(w3t))   (5)
[0115] 其中, w1是M*Q维的矩阵,w2表示Q*K维
[0116] 的矩阵,w3表示K*2维的矩阵,t为一组2维向量,表示多个待预测点归一化后的坐标组成的坐标向量,M为大于3的整数,Q、K分别为大于等于1的整数。
[0117] 例如,该步骤与步骤S130类似,具体过程可以参考步骤S130的相关描述,在此不再赘述。
[0118] 步骤S260:获取混合特征。
[0119] 例如,将降维后的检测框图像的图像特征与坐标特征按位相乘,以获取输入图像的混合特征。例如,该混合特征可以表示为下面的公式(即上述公式(3)):
[0120]
[0121] 其中,f(img,coord)表示混合特征,h(img)表示检测框图像的图像特征,g(coord)表示坐标特征, 表示按位相乘。例如,该坐标特征与图像特征的维数相同,例如,为第二维数(例如128维)。
[0122] 步骤S270:通过预测器预测关节点。
[0123] 例如,利用预测器得到混合特征中坐标特征对应的待预测点所属于的关键点的类型(例如肘关节点、肩关节点、手关节点、盆骨关节点等)以及是否为某个类型的关键点的打分。例如,该预测器为神经网络,可以选择适当类型和构造的神经网络来实现该预测器。
[0124] 例如,通过神经网络分类器等本领域内的常规算法分析混合特征中的图像特征,以判断该混合特征中的坐标特征对应的坐标位置处的待预测点所属于的关键点类型以及是否是某个类型的关键点的打分。例如,如果是某个类型的关键点,则将该坐标特征对应的坐标位置处的待预测点的打分为1;如果否,则判断该坐标特征对应的坐标位置处的待预测点到该类型的关键点的距离,然后根据该距离将表示关键点的待预测点的周围半径为r的范围内的待预测点打分为大于等于0且小于1的数值。例如,距离该关键点越远的待预测点,打分越低,最后,针对某个类型的关键点,将得分最高的坐标位置处的待预测点作为该类型的关键点。例如,半径r的取值视具体情况而定,本公开的实施例对此不作限制。
[0125] 需要说明的是,在本公开的实施例中,该图像处理方法的流程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行。虽然上文描述的图像处理方法的流程包括特定顺序出现的多个操作,但是应该清楚地了解,多个操作的顺序并不受限制。上文描述的图像处理方法可以执行一次,也可以按照预定条件执行多次。
[0126] 本公开实施例提供的图像处理方法,一方面,该方法基于待预测点的坐标信息,不需要抠取检测框外一定区域内的图像,就可以对检测框内和检测框外区域的关键点进行预测,从而避免了在抠取检测框外一定区域内的图像时因抠取到其他人的关节点而造成误判,提高了多人场景下姿态估计的准确度;另一方面,该方法还可以避免使用反卷积操作,从而可以节约方法运行时的内存。
[0127] 图7为本公开一实施例提供的一种图像处理装置的示意框图。例如,在图7所示的示例中,该图像处理装置100包括检测框获取单元110、特征提取单元120、换算单元130和混合特征获取单元140和预测单元150。例如,这些单元可以通过硬件(例如电路)模块或软件模块等实现。
[0128] 该检测框获取单元110配置为获取输入图像中的检测框,基于检测框抠取检测框图像,检测框是针对对待处理目标进行检测所获得的。例如,该检测框获取单元110可以实现步骤S110,其具体实现方法可以参考步骤S110的相关描述,在此不再赘述。
[0129] 该特征提取单元120配置提取检测框图像的图像特征。例如,该特征提取单元120可以实现步骤S120,其具体实现方法可以参考步骤S120的相关描述,在此不再赘述。
[0130] 该换算单元130配置为确定输入图像中的多个待预测点以及多个待预测点的坐标,对多个待预测点的坐标组成的坐标向量进行换算,以获取多个待预测点的坐标特征。例如,该换算单元130可以实现步骤S130,其具体实现方法可以参考步骤S130的相关描述,在此不再赘述。
[0131] 该混合特征获取单元140配置为基于图像特征与坐标特征获取输入图像的混合特征。例如,该混合特征获取单元140可以实现步骤S140,其具体实现方法可以参考步骤S140的相关描述,在此不再赘述。
[0132] 该预测单元150配置为基于输入图像的混合特征判断输入图像中的待预测点是否是关键点。例如,该预测单元150可以实现步骤S150,其具体实现方法可以参考步骤S150的相关描述,在此不再赘述。
[0133] 例如,在本公开提供的实施例中,待处理目标为人体,关键点为人体的关节点。
[0134] 需要注意的是,在本公开的实施例中,可以包括更多或更少的电路或单元,并且各个电路或单元之间的连接关系不受限制,可以根据实际需求而定。各个电路的具体构成方式不受限制,可以根据电路原理由模拟器件构成,也可以由数字芯片构成,或者以其他适用的方式构成。
[0135] 图8为本公开一实施例提供的另一种图像处理装置的示意框图。如图8所示,该图像处理装置200包括处理器210、存储器220以及一个或多个计算机程序模块221。
[0136] 例如,处理器210与存储器220通过总线系统230连接。例如,一个或多个计算机程序模块221被存储在存储器220中。例如,一个或多个计算机程序模块221包括用于执行本公开任一实施例提供的图像处理方法的指令。例如,一个或多个计算机程序模块221中的指令可以由处理器210执行。例如,总线系统230可以是常用的串行、并行通信总线等,本公开的实施例对此不作限制。
[0137] 例如,该处理器210可以是中央处理单元(CPU)、图像处理器(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,可以为通用处理器或专用处理器,并且可以控制图像处理装置200中的其它组件以执行期望的功能。
[0138] 存储器220可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器210可以运行该程序指令,以实现本公开实施例中(由处理器210实现)的功能以及/或者其它期望的功能,例如图像处理方法等。在该计算机可读存储介质中还可以存储各种应用程序和各种数据,例如坐标特征以及应用程序使用和/或产生的各种数据等。
[0139] 需要说明的是,为表示清楚、简洁,本公开实施例并没有给出该图像处理装置200的全部组成单元。为实现图像处理装置200的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。
[0140] 关于不同实施例中的图像处理装置100和图像处理装置200的技术效果可以参考本公开的实施例中提供的图像处理方法的技术效果,这里不再赘述。
[0141] 图像处理装置100和图像处理装置200可以用于各种适当的电子设备,例如,该电子设备还可以进一步包括图像采集装置、输入/输出(I/O)装置、外设接口或通信装置等。例如,图像采集装置100/200可以包括成像传感器以及镜头,该图像传感器可以为CMOS型或CCD型,镜头包括一个或多个透镜(凸透镜或凹透镜等)。该输入/输出装置例如为显示器、触摸板、触摸屏、键盘、鼠标等。该外设接口可以为各种类型的接口,例如为USB接口、闪电(lighting)接口等。该通信装置可以通过无线通信来与网络和其他设备进行通信,该网络例如为因特网、内部网和/或诸如蜂窝电话网络之类的无线网络、无线局域网(LAN)和/或城域网(MAN)。无线通信可以使用多种通信标准、协议和技术中的任何一种,包括但不局限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi(例如基于IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n标准)、基于因特网协议的语音传输(VoIP)、Wi-MAX,用于电子邮件、即时消息传递和/或短消息服务(SMS)的协议,或任何其他合适的通信协议。
[0142] 例如,电子设备可以为手机、平板电脑、笔记本电脑、电子书、游戏机、电视机、数码相框、导航仪等任何设备,也可以为任意的电子设备及硬件的组合,本公开的实施例对此不作限制。
[0143] 本公开一实施例还提供一种存储介质。例如,该存储介质非暂时性地存储计算机可读指令,当非暂时性计算机可读指令由计算机(包括处理器)执行时可以执行本公开任一实施例提供的图像处理方法。
[0144] 例如,该存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含提取检测框图像的图像特征的计算机可读的程序代码,另一个计算机可读存储介质包含获取多个待预测点的坐标特征的计算机可读的程序代码。例如,当该程序代码由计算机读取时,计算机可以执行该计算机存储介质中存储的程序代码,执行例如本公开任一实施例提供的图像处理方法。
[0145] 例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
[0146] 有以下几点需要说明:
[0147] (1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
[0148] (2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
[0149] 以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。