发明内容
为克服相关技术中存在的问题,本申请实施例提供了目标人脸图片提取方法、装置及终端设备。
本申请是通过如下技术方案实现的:
第一方面,本申请实施例提供了一种目标人脸图片提取方法,包括:
获取包含多个人脸的视频图像,所述视频图像包括多帧图像;
对所述多帧图像进行人脸检测,确定各帧图像中目标人脸对应的目标区域;其中,所述目标人脸为所述多个人脸中的一个或多个人脸;
基于所述目标人脸在各帧图像中的目标区域,确定所述目标人脸对应的运动轨迹;其中,各帧图像中的目标区域分别对应一张人脸图片;
基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定至少一张目标人脸图片。
在第一方面的一种可能的实现方式中,所述对所述多帧图像进行人脸检测,确定各帧图像中目标人脸对应的目标区域,包括:
将各帧图像分别输入目标区域检测网络;其中,所述目标区域检测网络包括至少两个并行的不同卷积核的检测分支;
通过各个所述检测分支分别对每帧图像进行处理,得到各帧图像中目标人脸对应的目标区域。
在第一方面的一种可能的实现方式中,所述检测分支包括第一检测分支、第二检测分支和第三检测分支,所述第一检测分支包括一卷积层,所述第二检测分支包括依此连接的一卷积层和一归一化层,所述第三检测分支包括依此连接的一卷积层、一归一化层和一卷积层;
所述通过各个所述检测分支分别对每帧图像进行处理,得到各帧图像中目标人脸对应的目标区域,包括:
将每帧图像进行第一卷积处理,得到第一卷积处理结果;
将所述第一卷积处理结果分别输入所述第一检测分支、所述第二检测分支和所述第三检测分支进行处理;
对三个所述检测分支输出的处理结果进行第二卷积处理,得到第二卷积处理结果;
基于所述第二卷积处理结果,确定各帧图像中目标人脸对应的目标区域。
在第一方面的一种可能的实现方式中,所述基于所述目标人脸在各帧图像中的目标区域,确定所述目标人脸对应的当前运动轨迹,包括:
基于各帧图像中的所述目标区域,通过目标跟踪算法确定所述目标人脸在各帧图像中的位置;
根据所述目标人脸在各帧图像中的位置,确定所述目标人脸对应的当前运动轨迹。
在第一方面的一种可能的实现方式中,所述基于所述目标区域,通过目标跟踪算法确定所述目标人脸在各帧图像中的位置,包括:
基于各个人脸在前一帧图像中的目标区域,通过卡尔曼滤波器得到各个人脸在当前帧图像中的预测位置;
根据各个人脸在当前帧图像中的目标区域、各个人脸在当前帧图像中的预测位置和各个追踪器的特征,通过匈牙利匹配算法对各个人脸对应的目标区域与追踪器进行级联匹配,获得第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器;其中,每个所述目标区域对应一个追踪器;
计算所述未级联匹配上的目标区域和待匹配的追踪器之间的IOU距离矩阵,并基于所述IOU距离矩阵,利用匈牙利算法进行目标区域与追踪器之间的IOU匹配,得到第二匹配集合;
根据所述第一匹配集合和所述第二匹配集合,确定各个人脸在当前帧图像中的位置,并基于此确定所述目标人脸在当前帧图像中的位置。
在第一方面的一种可能的实现方式中,所述根据各个人脸在当前帧图像中的目标区域、各个人脸在当前帧图像中的预测位置和各个追踪器的特征,通过匈牙利匹配算法对各个人脸对应的目标区域与追踪器进行级联匹配,获得第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器,包括:
计算当前帧图像中各个所述追踪器的特征值和各个所述目标区域的特征值之间的余弦距离;
计算每个人脸在当前帧图像的预测位置与该人脸在当前帧图像中的目标区域之间的马氏距离;
根据所述余弦距离和所述马氏距离,通过匈牙利算法获得第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器。
在第一方面的一种可能的实现方式中,所述计算所述未级联匹配上的目标区域和待匹配的追踪器之间的IOU距离矩阵,并基于所述IOU距离矩阵,利用匈牙利算法进行目标区域与追踪器之间的IOU匹配,得到第二匹配集合,包括:
计算未级联匹配上的目标区域和待匹配的追踪器之间的IOU距离矩阵;
基于所述IOU距离矩阵,利用匈牙利算法对所述未级联匹配上的目标区域与待匹配的追踪器进行第二次匹配,得到第二匹配集合。
在第一方面的一种可能的实现方式中,所述基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定至少一张目标人脸图片,包括:
在所述运动轨迹的持续时间满足预设时间条件的情况下,通过关键点检测网络,确定所述目标人脸在各帧图像中的预设个数的关键点的位置;
基于所述预设个数的关键点中的多个目标关键点,确定所述目标人脸在图像中的姿态;
基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定一张姿态最优的目标人脸图片。
第二方面,本申请实施例提供了一种目标人脸图片提取装置,包括:
图像获取模块,用于获取包含多个人脸的视频图像,所述视频图像包括多帧图像;
人脸检测模块,用于对所述多帧图像进行人脸检测,确定各帧图像中目标人脸对应的目标区域;其中,所述目标人脸为所述多个人脸中的一个或多个人脸;
运动轨迹确定模块,用于基于所述目标人脸在各帧图像中的目标区域,确定所述目标人脸对应的运动轨迹;其中,各帧图像中的目标区域分别对应一张人脸图片;
人脸图片确定模块,用于基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定至少一张目标人脸图片。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的目标人脸图片提取方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的目标人脸图片提取方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的目标人脸图片提取方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例,获取包含多个人脸的视频图像,对多帧图像进行人脸检测确定各帧图像中目标人脸对应的目标区域,基于目标人脸在各帧图像中的目标区域确定目标人脸对应的运动轨迹,基于目标人脸在各帧图像中的姿态,在运动轨迹对应的多张人脸图片中确定至少一张目标人脸图片,从而能够根据视频图像中各个人脸图片的姿态,对每个行人提取较少的人脸图片进行人脸识别,能够提高对行人人脸识别的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
巡检机器人非常重要的一个功能就是在安防领域进行人员监控,而巡检机器人活动的范围往往是诸如园区或者学校等人流量较大的区域,采用传统的人脸抓取方法需要对每一帧图像都进行人脸检测,然后将提取下来的人脸图片进行人脸识别和人脸属性的分析。而在人流量较大的情况下,由于人脸图片数量较多会导致人脸识别的速度较慢效率较低。而且很有可能巡检机器人的所处环境是没有网络的,此时提取人脸图片以及后续的人脸识别工作都需要在机器人本地完成,这对机器人性能的要求是很高的。
基于上述问题,本申请实施例中的目标人脸图片提取方法、装置及终端设备,对视频图像进行人脸检测确定各帧图像中各个人脸对应的区域(也称检测框),通过各帧图像中人脸的检测框确定各个人脸的运动轨迹,再基于各帧图像中人脸的姿态,从每个运动轨迹对应的多张人脸图片中选取少量的人脸图片用于人脸识别,从而能够对每个行人提取较少的人脸图片进行人脸识别,提高对行人人脸识别的效率。
举例说明,本申请实施例可以应用到如图1所示的示例性场景中。在该场景中,图像采集设备10采集行人的人脸图像,例如图像采集设备10可以设置在园区或者学校等人流量较大的区域,采集路过行人的人脸图像,并将采集到的人脸图像发送给图像处理设备20。图像处理设备20对人脸图像进行人脸检测确定各帧图像中各个人脸对应的检测框,通过各帧图像中人脸的检测框确定各个人脸的运动轨迹,再基于各帧图像中人脸的姿态,从每个运动轨迹对应的多张人脸图片中选取少量的人脸图片发送给云端进行人脸识别,或在本地进行人脸识别。
为了使本技术领域的人员更好地理解本发明方案,下面将结合图1,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2是本申请一实施例提供的目标人脸图片提取方法的示意性流程图,参照图2,对该目标人脸图片提取方法的详述如下:
在步骤101中,获取包含多个人脸的视频图像,所述视频图像包括多帧图像。
其中,可以每隔一定时间向图像采集设备发送一次视频图像获取指令,以获取该时间段内采集的人脸图像,或者可以获取图像采集设备实时采集的视频图像,本申请实施例对此不予限定。
示例性的,可以获取机器人云台的RTSP(Real Time Streaming Protocol,实时流传输协议)视频流并对视频流进行解码,将解码后得到的各帧图像进行步骤102至步骤104对应的处理,得到用于人脸识别的人脸图片。
在步骤102中,对所述多帧图像进行人脸检测,确定各帧图像中目标人脸对应的目标区域。
其中,所述目标人脸为所述多个人脸中的一个人脸或多个人脸,且各帧图像中的目标人脸应对应同一行人。
作为一种可能的实施方式,参见图3,步骤102具体可以包括以下步骤:
在步骤1021中,将各帧图像分别输入目标区域检测网络。
其中,所述目标区域检测网络包括至少两个并行的不同卷积核的检测分支。
在步骤1022中,通过各个所述检测分支分别对每帧图像进行处理,得到各帧图像中目标人脸对应的目标区域。
示例性的,以三个检测分支为例进行说明,但并不以此为限。上述检测分支可以包括第一检测分支(图4中的左侧分支)、第二检测分支(图4中的中间分支)和第三检测分支(图4中的右侧分支),该第一检测分支可以包括一卷积层(如图4中的卷积层2),该第二检测分支包括依此连接的一卷积层(如图4中的卷积层3)和一归一化层(如图4中的归一化层1),该第三检测分支包括依此连接的一卷积层(如图4中的卷积层4)、一归一化层(如图4中的归一化层2)和一卷积层(如图4中的卷积层5)。
具体地,步骤1022可以通过以下过程实现:
步骤A1,将每帧图像进行第一卷积处理,得到第一卷积处理结果;
步骤B1,将所述第一卷积处理结果分别输入所述第一检测分支、所述第二检测分支和所述第三检测分支进行处理;
步骤C1,对三个所述检测分支输出的处理结果进行第二卷积处理,得到第二卷积处理结果;
步骤D1,基于所述第二卷积处理结果,确定各帧图像中目标人脸对应的目标区域。
参见图4,可以通过卷积层1对每帧图像进行第一卷积处理,得到第一卷积处理结果;再将第一卷积处理结果分别输入到第一检测分支、第二检测分支和所述第三检测分支;第一检测分支通过卷积层2对第一卷积处理结果进行处理,第二检测分支依此通过卷积层3和归一化层1对第一卷积处理结果进行处理,第三检测分支依此通过卷积层4、归一化层2和卷积层5对第一卷积处理结果进行处理;再通过卷积层6对三个检测分支输出的处理结果进行第二卷积处理,得到第二卷积处理结果,从而可以基于第二卷积处理结果确定各帧图像中目标人脸对应的目标区域。
一些实施例中,该目标区域可以为ROI(region of interest,感兴趣区域),即用于对人脸进行检测的检测框。
本实施例中,采用至少两个并行的不同卷积核的检测分支对各帧图像进行处理,在特征提取时离特征中心的远近不同导致卷积权重参数也不同,从而能够提高特征提取的精度,即得到的目标区域精度更高。
在步骤103中,基于所述目标人脸在各帧图像中的目标区域,确定所述目标人脸对应的运动轨迹。
其中,各帧图像中的目标区域均对应一张人脸图片。而本步骤中确定出的运动轨迹为同一行人的人脸运动轨迹,由该行人的多张人脸图片构成。具体地,可以根据该行人的人脸在各帧图像中所处的位置,确定该行人人脸的运动轨迹。
参见图5,步骤103可以包括以下步骤:
在步骤1031中,基于各帧图像中的所述目标区域,通过目标跟踪算法确定所述目标人脸在各帧图像中的位置。
其中,目标跟踪算法有多种,本实施例中采用卡尔曼滤波算法确定所述目标人脸在各帧图像中的位置,但并不以此为限。
具体地,参见图6,步骤1031可以包括以下步骤:
在步骤201中,基于各个人脸在前一帧图像中的目标区域,通过卡尔曼滤波器得到各个人脸在当前帧图像中的预测位置。
本实施例中利用卡尔曼滤波对各个人脸进行追踪,即使用Kalman滤波器来对各个人脸的运动状态进行预测。
具体地,可以利用前一帧图像中各个人脸对应的目标区域(即检测框)位置,预测当前帧图像中各个人脸出现的位置,即各人脸在当前帧的预测位置,具体可以为边界框bounding box的位置。
在一个实施例中,可以采用基于常量速度模型和线性观测模型的标准Kalman滤波器对各人脸进行运动状态的预测,获得各人脸在当前帧的预测位置。
示例性的,人脸的运动轨迹可以为其中u和v表示当前帧图像中目标区域的中心坐标,s表示目标区域的面积,r表示目标区域的长宽比,其中长宽比可以为是常数,需要保持不变;/>和/>为对应的加速度信息。
在步骤202中,根据各个人脸在当前帧图像中的目标区域、各个人脸在当前帧图像中的预测位置和各个追踪器的特征,通过匈牙利匹配算法对各个人脸对应的目标区域与追踪器进行级联匹配,获得第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器。
具体地,步骤202的实现过程可以包括以下步骤:
在步骤A2中,计算当前帧图像中各个所述追踪器的特征值和各个所述目标区域的特征值之间的余弦距离。
具体地,追踪器会保存每个追踪到的目标的深度特征,生成深度特征集;针对每个目标,根据每个目标的深度特征计算每个目标的深度特征与各追踪器已保存的深度特征集中的深度特征间的余弦距离,生成余弦距离矩阵。
在步骤B2中,计算每个人脸在当前帧图像的预测位置与该人脸在当前帧图像中的目标区域之间的马氏距离。
在步骤C2中,根据所述余弦距离和所述马氏距离,通过匈牙利算法获得第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器。
具体地,可以将余弦距离和马氏距离两者的价值矩阵cost_matrix输入匈牙利匹配算法中,得到第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器。
在步骤203中,计算所述未级联匹配上的目标区域和待匹配的追踪器之间的IOU距离矩阵,并基于所述IOU距离矩阵,利用匈牙利算法进行目标区域与追踪器之间的IOU匹配,得到第二匹配集合。
具体地,步骤203的实现过程可以包括以下步骤:
在步骤A3中,计算未级联匹配上的目标区域和待匹配的追踪器之间的IOU(Interaction-over-Untion,交集与并集比值)距离矩阵;
在步骤B3中,基于所述IOU距离矩阵,利用匈牙利算法对所述未级联匹配上的目标区域与待匹配的追踪器进行第二次匹配,得到第二匹配集合。
在步骤204中,根据所述第一匹配集合和所述第二匹配集合,确定各个人脸在当前帧图像中的位置,并基于此确定所述目标人脸在当前帧图像中的位置。
其中,根据第一匹配集合和第二匹配结合,即可确定当前帧图像中各个人脸的位置,从而可以确定目标人脸的位置。
最后,可以根据匹配结果,对匹配上的追踪器进行参数更新(可以包括对kalman滤波器的更新、特征集的更新等),对未匹配的运动轨迹进行删除(例如连续30帧图像未匹配上就可以删除),对新出现的追踪器进行初始化生成一个新的轨迹。
通过循环执行上述步骤201至步骤204,可以确定目标人脸在各帧图像中的位置。
在步骤1032中,根据所述目标人脸在各帧图像中的位置,确定所述目标人脸对应的运动轨迹。
其中,在得出目标人脸在各帧图像中的位置以后,可以根据上述各个位置确定目标人脸对应的运动轨迹。具体地,可以根据各个位置对应的时间,确定各个位置的顺序,生成运动轨迹。
在步骤104中,基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定至少一张目标人脸图片。
其中,可以在运动轨迹的持续时间大于预设时间阈值时,确定可以对该目标人脸的人脸图片进行识别,此时需要提取出人脸图片。而为了减少对重复人脸图片的识别,可以从运动轨迹对应的多张人脸图片中选择较少的人脸图片用于人脸识别。本实施例中,通过对运动轨迹对应的各张人脸图片的姿态,确定较优的人脸图片可以用于人脸识别。
具体地,参见图7,步骤104可以通过以下过程实现:
在步骤1041中,在所述运动轨迹的持续时间满足预设时间条件的情况下,通过关键点检测网络,确定所述目标人脸在各帧图像中的预设个数的关键点的位置。
在步骤1042中,基于所述预设个数的关键点中的多个目标关键点,确定所述目标人脸在图像中的姿态。
其中,步骤1041中通过人脸关键点检测算法确定人脸的第一预设个数的关键点;
步骤1042具体可以包括:
在第一预设个数的关键点中选取第二预设个数的关键点;
将选取的第二预设个数的关键点的坐标,通过PNP算法转换到3D坐标系中;
基于第二预设个数的关键点在3D坐标系中的坐标,计算人脸的偏航角yaw、翻滚角roll和俯仰角pitch对应的角度。
在步骤1043中,基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定一张姿态最优的目标人脸图片。
示例性的,参见图8和图9,可以通过人脸关键点检测算法确定出人脸的68个关键点,再在这68个关键点找出鼻子、嘴巴左、嘴巴右、眼睛左、眼睛右的6个点坐标。例如,关键点30和关键点33为鼻子对应的点,关键点54为嘴巴左对应的点,关键点48为嘴巴右对应的点,关键点45为眼睛左对应的点,关键点36为眼睛右对应的点,基于此得到6个点的坐标。再根据预设的3D人脸模型通过PNP算法将6个点映射到3D坐标系中,得到6个点在3D坐标系中的坐标,基于6个点在3D坐标系中的坐标计算人脸的yaw、roll和pitch对应的三个角度,并根据这三个角度筛选出一张最优的人脸图片。
可选的,上述方法还可以包括:
基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中选取符合预设姿态条件的人脸图片,存储到所述目标人脸的运动轨迹人脸图片集合中。
其中,可以将目标人脸的姿态满足预设姿态条件的人脸图片,存储到目标人脸的运动轨迹人脸图片集合中,步骤104可以在该运动轨迹人脸图片集合中的多张人脸图片中选择至少一张目标人脸图片。例如,可以根据该预设姿态条件删除严重低头和/或侧脸的人脸图片,从而减少需要存储的人脸图片。
上述目标人脸图片提取方法,获取包含多个人脸的视频图像,对多帧图像进行人脸检测确定各帧图像中目标人脸对应的目标区域,基于目标人脸在各帧图像中的目标区域确定目标人脸对应的运动轨迹,基于目标人脸在各帧图像中的姿态,在运动轨迹对应的多张人脸图片中确定至少一张目标人脸图片,从而能够根据视频图像中各个人脸图片的姿态,对每个行人提取较少的人脸图片进行人脸识别,能够使得抓取的人脸图片质量高且重复率低,从而提高对行人人脸识别的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的目标人脸图片提取方法,图10和图11示出了本申请实施例提供的目标人脸图片提取装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参见图10,本申请实施例中的目标人脸图片提取装置可以包括图像获取模块301、人脸检测模块302、运动轨迹确定模块303和人脸图片确定模块304。
其中,图像获取模块301,用于获取包含多个人脸的视频图像,所述视频图像包括多帧图像;
人脸检测模块302,用于对所述多帧图像进行人脸检测,确定各帧图像中目标人脸对应的目标区域;其中,所述目标人脸为所述多个人脸中的一个或多个人脸;
运动轨迹确定模块303,用于基于所述目标人脸在各帧图像中的目标区域,确定所述目标人脸对应的运动轨迹;其中,各帧图像中的目标区域分别对应一张人脸图片;
人脸图片确定模块304,用于基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定至少一张目标人脸图片。
可选的,参见图11,人脸检测模块302可以包括输入单元3021和处理单元3022。
其中,输入单元3021,用于将各帧图像分别输入目标区域检测网络;其中,所述目标区域检测网络包括至少两个并行的不同卷积核的检测分支;
处理单元3022,用于通过各个所述检测分支分别对每帧图像进行处理,得到各帧图像中目标人脸对应的目标区域。
示例性的,所述检测分支包括第一检测分支、第二检测分支和第三检测分支,所述第一检测分支包括一卷积层,所述第二检测分支包括依此连接的一卷积层和一归一化层,所述第三检测分支包括依此连接的一卷积层、一归一化层和一卷积层;
所述通过各个所述检测分支分别对每帧图像进行处理,得到各帧图像中目标人脸对应的目标区域,包括:
将每帧图像进行第一卷积处理,得到第一卷积处理结果;
将所述第一卷积处理结果分别输入所述第一检测分支、所述第二检测分支和所述第三检测分支进行处理;
对三个所述检测分支输出的处理结果进行第二卷积处理,得到第二卷积处理结果;
基于所述第二卷积处理结果,确定各帧图像中目标人脸对应的目标区域。
作为一种可实施方式,参见图11,运动轨迹确定模块303可以包括人脸位置确定单元3031和运动轨迹确定单元3032。
其中,人脸位置确定单元3031,用于基于各帧图像中的所述目标区域,通过目标跟踪算法确定所述目标人脸在各帧图像中的位置;
运动轨迹确定单元3032,用于根据所述目标人脸在各帧图像中的位置,确定所述目标人脸对应的当前运动轨迹。
可选的,人脸位置确定单元3031可以包括:
预测子单元,用于基于各个人脸在前一帧图像中的目标区域,通过卡尔曼滤波器得到各个人脸在当前帧图像中的预测位置;
级联匹配子单元,用于根据各个人脸在当前帧图像中的目标区域、各个人脸在当前帧图像中的预测位置和各个追踪器的特征,通过匈牙利匹配算法对各个人脸对应的目标区域与追踪器进行级联匹配,获得第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器;其中,每个所述目标区域对应一个追踪器;
IOU匹配子单元,用于计算所述未级联匹配上的目标区域和待匹配的追踪器之间的IOU距离矩阵,并基于所述IOU距离矩阵,利用匈牙利算法进行目标区域与追踪器之间的IOU匹配,得到第二匹配集合;
人脸位置确定子单元,用于根据所述第一匹配集合和所述第二匹配集合,确定各个人脸在当前帧图像中的位置,并基于此确定所述目标人脸在当前帧图像中的位置。
可选的,上述级联匹配子单元具体可以用于:
计算当前帧图像中各个所述追踪器的特征值和各个所述目标区域的特征值之间的余弦距离;
计算每个人脸在当前帧图像的预测位置与该人脸在当前帧图像中的目标区域之间的马氏距离;
根据所述余弦距离和所述马氏距离,通过匈牙利算法获得第一匹配集合、未级联匹配上的目标区域和待匹配的追踪器。
可选的,上述IOU匹配子单元具体可以用于:
计算未级联匹配上的目标区域和待匹配的追踪器之间的IOU距离矩阵;
基于所述IOU距离矩阵,利用匈牙利算法对所述未级联匹配上的目标区域与待匹配的追踪器进行第二次匹配,得到第二匹配集合。
可选的,参见图11,人脸图片确定模块304可以包括关键点位置确定单元3041、姿态确定单元3042和图片确定单元3043。
其中,关键点位置确定单元3041,用于在所述运动轨迹的持续时间满足预设时间条件的情况下,通过关键点检测网络,确定所述目标人脸在各帧图像中的预设个数的关键点的位置;
姿态确定单元3042,用于基于所述预设个数的关键点中的多个目标关键点,确定所述目标人脸在图像中的姿态;
图片确定单元3043,用于基于所述目标人脸在各帧图像中的姿态,在所述运动轨迹对应的多张人脸图片中确定一张姿态最优的目标人脸图片。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种终端设备,参见图12,该终端设400可以包括:至少一个处理器410、存储器420以及存储在所述存储器420中并可在所述至少一个处理器410上运行的计算机程序,所述处理器410执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
作为示例而非限定,上述实施例提供的目标人脸图片提取方法可以应用于机器人、手机、计算机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
例如,所述终端设备400可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的移动终端或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的移动终端等。
作为示例而非限定,当所述终端设备400为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
以所述终端设备400为机器人为例,图13示出的是与本申请实施例提供的机器人的部分结构的框图。参考图13,机器人可以包括:射频(Radio Frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wirelessfidelity,WiFi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图13中示出的机器人结构并不构成对机器人的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图13对机器人的各个构成部件进行具体的介绍:
通信电路510可用于将图像采集设备发送的图像样本接收后,给处理器570处理;另外,将图像采集指令发送给图像采集设备。通常,通信电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,通信电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器570通过运行存储在存储器520的软件程序以及模块,从而执行机器人的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据机器人的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与机器人的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器570,并能接收处理器570发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及机器人的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器570以确定触摸事件的类型,随后处理器570根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图13中,触控面板531与显示面板541是作为两个独立的部件来实现机器人的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现机器人的输入和输出功能。
音频电路550可提供用户与机器人之间的音频接口。音频电路550可将接收到的音频数据转换后的电信号,传输到扬声器由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路550接收后转换为音频数据,再将音频数据输出处理器570处理后,经通信电路510以发送给比如另一机器人,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,机器人通过WiFi模块560可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块560,但是可以理解的是,其并不属于机器人的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器570是机器人的控制中心,利用各种接口和线路连接整个机器人的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行机器人的各种功能和处理数据,从而对机器人进行整体监控。可选的,处理器570可包括一个或多个处理单元;优选的,处理器570可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器570中。
机器人还包括给各个部件供电的电源580(比如电池),可选的,电源580可以通过电源管理系统与处理器570逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述目标人脸图片提取方法各个实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述目标人脸图片提取方法各个实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。