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

人脸跟踪方法、装置及计算机可读存储介质与流程

2022-03-22 23:20:28 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,特别是涉及一种人脸跟踪方法、装置及计算机可读存储介质。


背景技术:

2.目标跟踪技术是计算机视觉领域的核心课题之一,具有十分重要的研究意义和广泛的实用价值。它融合了图像处理、模式识别、人工智能、自动控制以及计算机应用等相关领域的先进技术和研究成果。目标跟踪的实质是一种从图像信号中实时自动识别目标、提取目标的位置信息、自动跟踪目标的技术。目前目标跟踪技术的难点在于图像信号采集过程中的信息损失和复杂的应用环境,特别是目标在运动过程中经常被场景中的其它物体遮挡。
3.当目标被其他物体遮挡时,会导致部分固有特征的丢失,新特征的产生,这给目标识别和定位带来很大的困难。因此遮挡问题成为限制目标跟踪技术实用性的关键因素。


技术实现要素:

4.本技术提供一种人脸跟踪方法、装置及计算机可读存储介质,能够避免因为遮挡而导致目标标识发生改变的现象。
5.本技术实施例第一方面提供一种人脸跟踪方法,所述方法包括:对视频流进行目标跟踪;响应于当前帧中存在跟踪断裂的第一目标人脸时,获取所述当前帧中满足预设遮挡要求的所有第一目标人体;将所述第一目标人脸与信息库中各个所述第一目标人体对应的第二目标人脸进行匹配,以查询与所述第一目标人脸匹配的所述第二目标人脸,其中,所述信息库中的所述第二目标人脸在所述当前帧之前的历史帧中处于即将被对应的所述第一目标人体遮挡的状态;将所述第一目标人脸作为第二目标人体的人脸信息进行跟踪,其中,所述第二目标人体为所述匹配的所述第二目标人脸对应的人体。
6.本技术实施例第二方面提供一种人脸跟踪装置,所述人脸跟踪装置包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述方法中的步骤。
7.本技术实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述方法中的步骤。
8.有益效果是:本技术在第一目标人脸出现跟踪断裂时,获取遮挡第一目标人脸的所有第一目标人体,然后在在此之前即将被第一目标人体遮挡的第二目标人脸中查询与第一目标人脸匹配的第二目标人脸,如果能查询到匹配的第二目标人脸,则说明第一目标人脸出现跟踪断裂的原因是因为受到了遮挡,且在遮挡之前,第一目标人脸就是查找到的匹配的第二目标人脸,因此将第一目标人脸作为第二目标人体的人脸信息进行跟踪,其中,第二目标人体为匹配的第二目标人脸对应的人体,具体而言,将第一目标人脸的标识设置与
匹配的第二目标人脸的标识相同,从而可以避免因为遮挡而导致标识改变的现象。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
10.图1是本技术人脸跟踪方法一实施方式的流程示意图;
11.图2是图1中步骤s120的流程示意图;
12.图3是人脸遮挡状态示意图;
13.图4是人脸框与头肩框的相对位置示意图;
14.图5是图1实施方式的另一部分流程示意图;
15.图6是图5中步骤s150的流程示意图;
16.图7是图1中步骤s130的流程示意图;
17.图8是本技术人脸跟踪装置一实施方式的结构示意图;
18.图9是本技术人脸跟踪装置另一实施方式的结构示意图;
19.图10是本技术人脸跟踪装置一实施方式的结构示意图。
具体实施方式
20.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.参阅图1,图1是本技术人脸跟踪方法一实施方式的流程示意图,该方法包括:
22.s110:对视频流进行目标跟踪。
23.其中,本技术对视频流中的人脸进行跟踪,在进行跟踪时,首先识别画面中的人脸,然后为每个人脸都分配一个标识,不同人脸对应的表示不同,即人脸与标识之间的关系为一一对应关系。
24.现有技术中,在人脸受到遮挡后,跟踪可能会出现断裂的情况,即对应当前帧中的某一人脸而言,无法在当前帧之前的历史帧中找出与其匹配的人脸。
25.而只要人脸出现跟踪断裂的情况,人脸的标识会发生改变,而只要人脸的标识发生了改变,就会将该人脸视为一个新的目标进行跟踪,而本技术所要解决的技术就是如何避免因为受到遮挡而导致人脸标识发生改变的缺陷。
26.在一应用场景中,采用预先训练好的目标检测模型识别视频流中的人脸,以及采用deepsort模型对视频流中的人脸进行目标跟踪。
27.s120:响应于当前帧中存在跟踪断裂的第一目标人脸时,获取当前帧中满足预设遮挡要求的所有第一目标人体。
28.其中,第一目标人脸出现跟踪断裂,即在当前帧之前的历史帧中未能找出与第一目标人脸匹配的人脸时,说明在此之前的视频流中未出现过第一目标人脸,该第一目标人
脸有可能刚刚受到了遮挡,此时处于刚出遮挡状态。
29.满足预设遮挡要求的第一目标人体指的是,当前帧中遮挡第一目标人脸的人体。也就是说,在当前帧中存在第一目标人脸时,获取当前帧中遮挡第一目标人脸的所有人体。
30.其中,如何获取满足预设遮挡要求的所有第一目标人体的具体过程可参见下文。
31.s130:将第一目标人脸与信息库中各个第一目标人体对应的第二目标人脸进行匹配,以查询与第一目标人脸匹配的第二目标人脸,其中,信息库中的第二目标人脸在当前帧之前的历史帧中处于即将被对应的第一目标人体遮挡的状态。
32.其中,与第一目标人体对应的第二目标人脸在当前帧之前的历史帧中,处于即将被第一目标人体遮挡的状态。也就是说,在当前帧之前,与第一目标人体对应的第二目标人脸即将被第一目标人体遮挡。
33.其中与第一目标人体对应的第二目标人脸可能是零个、一个、两个或者更多个。
34.其中步骤s130的目的就是在所有第一目标人体所对应的第二目标人脸中,查找出一个第二目标人脸与第一目标人脸匹配。
35.s140:将第一目标人脸作为第二目标人体的人脸信息进行跟踪,其中,第二目标人体为匹配的第二目标人脸对应的人体。
36.其中,当步骤s130查询到与第一目标人脸匹配的第二目标人脸时,说明第一目标人脸出现跟踪断裂的原因是因为受到了遮挡,且在遮挡之前,第一目标人脸就是查找到的匹配的第二目标人脸,则为了避免因为遮挡而导致标识改变的现象,将第一目标人脸作为第二目标人体的人脸信息进行跟踪,其中,第二目标人体为匹配的第二目标人脸对应的人体,,具体表现为,将第一目标人脸的标识设置与匹配的第二目标人脸的标识相同,可以理解为,将第二目标人体的人脸信息赋予第一目标人脸,然后对第一目标人脸继续进行跟踪。
37.从上述内容可以看出,本技术在第一目标人脸出现跟踪断裂时,获取遮挡第一目标人脸的所有第一目标人体,然后在在此之前即将被第一目标人体遮挡的第二目标人脸中查询与第一目标人脸匹配的第二目标人脸,如果能查询到匹配的第二目标人脸,则说明第一目标人脸出现跟踪断裂的原因是因为受到了遮挡,且在遮挡之前,第一目标人脸就是查找到的匹配的第二目标人脸,因此将第一目标人脸作为第二目标人体的人脸信息进行跟踪,其中,第二目标人体为匹配的第二目标人脸对应的人体,具体而言,即将第一目标人脸的标识设置与匹配的第二目标人脸的标识相同,从而可以避免因为遮挡而导致标识改变的现象。
38.其中,当步骤s130未查询到与第一目标人脸匹配的第二目标人脸时,说明该第一目标人脸是一个新的人脸,并不是因为受到遮挡而导致跟踪断裂,则将第一目标人脸视为一个新目标进行跟踪,即将第一目标人脸的标识设置为一个新的标识。
39.参阅图2,在本实施方式中,步骤s120获取所有第一目标人体的步骤,包括:
40.s121:获取第一目标人脸的第一人脸框所处的所有第一头肩框,其中,第一人脸框与第一头肩框不属于同一人体。
41.s122:将第一头肩框所属的人体确定为第一目标人体。
42.在本实施方式中,在对视频流进行目标跟踪时,识别当前帧中的各个人脸框以及各个头肩框,并将当前视频中同属于同一人体的人脸框以及头肩框进行关联。
43.其中结合图3,人脸框(用实线表示)框选人脸,而头肩框(用虚线表示)同时框选头
和肩膀。可以理解的是,人体、人脸框以及头肩框之间均是一一对应关系,同一个人体的头肩框框选该人体的人脸框。在一应用场景中,同一个人体的头肩框、人脸框用相同的标识表示。
44.其中,将同属于同一人体的人脸框以及头肩框进行关联的步骤,包括:
45.(a1)计算当前帧中各个人脸框与任意头肩框的相交面积和对应人脸框面积的比值。
46.(b1)将对应比值最大且距离人脸框距离最近的头肩框,与对应人脸框进行关联。
47.其中,对于当前帧中的某一人脸框而言,查找对应比值最大的头肩框,如果对应比值最大的头肩框只有一个,则将该头肩框与人脸框进行关联,但是如果对应比值最大的头肩框有两个以上,则在两个以上的头肩框中查找人脸框最近的头肩框,然后将人脸框与头肩框进行关联。
48.其中,可以将人脸框的中心点与头肩框的中心点之间的距离,作为人脸框与头肩框之间的距离。
49.在将当前帧中同属于一个人体的人脸框与头肩框进行关联后,根据第一人脸框以及各个头肩框的位置,可以确定与第一人脸框对应的所有第一头肩框。
50.在一应用场景中,步骤s121具体包括:
51.(a2)分别确定第一人脸框与当前帧中任意目标头肩框的相交面积和第一人脸框面积的比值,其中,第一人脸框与目标头肩框不属于同一人体。
52.(b2)若比值等于1,则将对应的目标头肩框,确定为第一头肩框。
53.其中,当前帧中与第一人脸框不属于同一个人体的头肩框为目标头肩框,分别确定第一人脸框与任意一个目标头肩框的相交面积和第一人脸框面积的比值。
54.结合图4可以看出(图4中实线框表示人脸框,虚线框表示头肩框),当比值等于1时,第一人脸框位于对应的目标头肩框的内部,将该目标头肩框确定为第一头肩框。
55.需要说明的是,在其他实施方式中,还可以根据第一人脸框与目标头肩框的交并比iou,确定第一人脸框是否位于目标头肩框的内部,或者根据第一人脸框的中心点坐标、长宽以及目标头肩框的中心点坐标、长宽,确定第一人脸框是否位于目标头肩框的内部。
56.在其他实施方式中,步骤s120获取所有第一目标人体的过程,还可以是:查找中心点与第一目标人脸的第一人脸框的中心点之间的距离小于第一距离阈值的所有人脸框,然后将查找到的人脸框所属的人体确定为第一目标人体,或者,查找中心点与第一目标人脸所属人体的头肩框的中心点之间的距离小于第二距离阈值的所有头肩框,然后将查找到的头肩框所属的人体确认为第一目标人体。
57.总而言之,本技术对于如何查找第一目标人体的过程不做限制。
58.参阅图5,本实施方式的人脸跟踪方法还包括:
59.s150:获取当前帧中各个人脸的状态。
60.s160:响应于当前帧中存在即将被遮挡的第三目标人脸,将第三目标人脸以及第三目标人脸与即将遮挡第三目标人脸的第三目标人体的人脸的第一相对位置关系,对应保存在信息库中。
61.在对视频流进行目标跟踪后,如果当前帧中不存在第一目标人脸,则执行步骤s150、s160,如果当前帧中存在第一目标人脸,则在执行步骤s140后,执行步骤s150、s160。
也就是说,对于视频流中的每一帧而言,都会执行步骤s150和步骤s160。
62.其中,信息库中只保存即将被遮挡的第三目标人脸以及第三目标人脸与第三目标人体的人脸的第一相对位置关系,其中,保存在信息库中的第三目标人脸可以以标识的形式呈现,例如,在信息库中保存:id为1的人脸位于id为2的人脸的右侧,或者为,id为1的人脸位于id为2的头肩框内部,且位于id为2的人脸的右侧。
63.可以理解的是,同一个第三目标人脸可能同时即将被多个第三目标人体遮挡,则在信息库中分别保存第三目标人脸与各个第三目标人体的人脸的第一相对位置关系。
64.参阅图6,步骤s150具体包括:
65.s151:分别获取当前帧中各个第二人脸框与任意第二头肩框的相对位置关系,第二人脸框与第二头肩框不属于同一人体。
66.s152:根据相对位置关系,确定各个第二人脸框中人脸的状态。
67.其中,结合图4,第二人脸框与第二头肩框的相对位置关系可以是:第二人脸框与位于第二头肩框的内部、第二人脸框与位于第二头肩框的外部或者第二人脸框与第二头肩框部分重叠。
68.在本实施方式中,步骤s151具体包括:
69.(a3)分别确定各个第二人脸框与任意第二头肩框的相交面积和对应第二人脸框面积的比值。
70.(b3)若比值等于0,则确定对应的第二人脸框位于对应的第二头肩框之外;若比值大于0且小于1,则确定对应的第二人脸框与对应的第二头肩框部分重叠;若比值等于1,则确定对应的第二人脸框位于对应的第二头肩框中。
71.结合图4可以看出,当比值为等0时,人脸框与头肩框没有重叠部分,当比值大于0小于1时,人脸框与头肩框部分重叠,而当比值等于1时,人脸框位于头肩框的内部。
72.在其他实施方式中,还可以根据第二人脸框与第二头肩框的交并比iou,确定第二人脸框与第二头肩框的相对位置,或者根据第二人脸框的中心点坐标、长宽以及第二头肩框的中心点坐标、长宽,确定第二人脸框与第二头肩框的相对位置关系。
73.在本实施方式中,步骤s152具体包括:
74.(a4)若第二人脸框位于第二头肩框中,获取第二人脸框中的人脸与第二头肩框中的人脸的第二相对位置关系。
75.第二人脸框中的人脸与第二头肩框中的人脸的第二相对位置关系可以是:第二人脸框中的人脸位于第二头肩框中的人脸的左侧或者右侧。
76.(b4)若信息库中没有保存第二人脸框中的人脸,或者,信息库中保存有第二人脸框中的人脸与第二头肩框中的人脸的第一相对位置关系,且第一相对位置关系和第二相对位置关系一致,则确定第二人脸框中的人脸即将被第二头肩框对应的人体遮挡。
77.如果信息库中没有保存第二人脸框中的人脸,说明信息库中没有保存第二人脸框中的人脸与第二头肩框中的人脸的第一相对位置关系,说明第二人脸框中的人脸是第一次进入第二头肩框中,此时判定第二人脸框中的人脸即将被第二头肩框对应的人体遮挡。
78.如果信息库中保存有第二人脸框中的人脸与第二头肩框中的人脸的第一相对位置关系,说明第二人脸框中的人脸在此之前即将被第二头肩框对应的人体遮挡,而如果第一相对位置关系与第二相对位置关系一致,则说明第二人脸框中的人脸与第二头肩框中的
人脸位置没有发生相对变化,进而判定第二人脸框中的人脸依旧即将被第二头肩框对应的人体遮挡。
79.同时在本实施方式中,若第二人脸框位于第二头肩框中,信息库中保存有第二人脸框中的人脸与第二头肩框中的人脸的第一相对位置关系,且第二相对位置关系与第一相对位置关系不一致,则确定第二人脸框中的人脸刚刚走出第二头肩框对应的人体的遮挡。
80.如果信息库中保存有第二人脸框中的人脸与第二头肩框中的人脸的第一相对位置关系,说明第二人脸框中的人脸在此之前即将被第二头肩框对应的人体遮挡,而如果第一相对位置关系与第二相对位置关系不一致,则说明第二人脸框中的人脸与第二头肩框中的人脸位置发生了相对变化,进而判定第二人脸框中的人脸刚刚走出第二头肩框对应的人体的遮挡。
81.同时在本实施方式中,若第二人脸框与第二头肩框部分重叠或者第二人脸框位于第二头肩框的外部,此时确定第二人脸框中的人脸与第二头肩框对应的人体不存在遮挡关系。
82.结合图3,其中图(3a)、图(3b)、图(3b)以及图(3b)是视频流中的视频帧,且图(3a)、图(3b)、图(3b)、图(3b)在视频流中从前到后依次排列。
83.在图(3a)中,标识为1的人脸框位于标识为2的头肩框的外部,则确定标识为1的人脸框中的人脸与标识为2的头肩框对应的人体不存在遮挡关系。
84.在图(3b)中,标识为1的人脸框与标识为2的头肩框部分重叠,则确定标识为1的人脸框中的人脸与标识为2的头肩框对应的人体不存在遮挡关系。
85.在图(3c)中,标识为1的人脸框位于标识为2的头肩框中,而在此之前信息库中没有保存标识为1的人脸框中的人脸,则确定标识为1的人脸框中的人脸即将被标识为2的头肩框对应的人体遮挡,同时将标识为1的人脸框中的人脸与被标识为2的头肩框中的人脸的相对关系保存在信息库中,例如在信息库中保存:标识为1的人脸位于标识为2的头肩框内部,且位于标识为2的人脸的右侧。
86.当到了图(3d)时,标识为1的人脸框位于标识为2的头肩框中,且标识为1的人脸位于标识为2的人脸的左侧,此时标识为1的人脸与标识为2的人脸的相对位置关系与信息库中保存的不一致,则确定标识为1的人脸框中的人脸刚刚走出标识为2的头肩框对应的人体的遮挡。
87.在本实施方式中,步骤s160具体包括:将第三目标人脸、第三目标人脸的矢量速度以及第三目标人脸与第三目标人体的人脸的第一相对位置关系,对应保存在信息库中。
88.其中,在将第三目标人脸以及第三目标人脸与第三目标人体的人脸的第一相对位置关系保存在信息库中时,还会对应保存第三目标人脸的矢量速度,其中第三目标人脸的矢量速度表征着第三目标人脸的运动方向以及速度大小。
89.也就是说,对于保存在信息库中的各个第一目标人体对应的第二目标人脸而言,每个第二目标人脸均存在对应的矢量速度。
90.其中,获取第三目标人脸的矢量速度的步骤,包括:
91.(a5)获取在当前帧中,第三目标人脸的人脸框的中心点的第一坐标。
92.(b5)获取在当前帧之前的历史帧中,第三目标人脸的人脸框的中心点的第二坐标。
93.(c5)根据第一坐标、第二坐标以及当前帧与历史帧之间的帧差,确定第三目标人脸的矢量速度。
94.假设在当前帧中,第三目标人脸的人脸框的中心点的第一坐标为(x
t
,y
t
),在历史帧中,第三目标人脸的人脸框的中心点的第二坐标为(x
t-t
,y
t-t
),其中,t为当前帧与历史帧之间的帧差,则按照如下公式确定第三目标人脸的矢量速度v:
[0095][0096]
其中,v
x
为矢量速度v在第一方向上的分量,vy为矢量速度v在第二方向上的分量,其中,第一方向和第二方向垂直。
[0097]
在本实施方式中,参阅图7,步骤s130匹配的具体过程包括:
[0098]
s131:获取第一目标人脸的矢量速度。
[0099]
其中,获取第一目标人脸的矢量速度的过程与获取第三目标人脸的矢量速度的过程相同,具体可参见上述相关内容,在此不再赘述。
[0100]
s132:分别确定第一目标人脸的矢量速度与各个第二目标人脸的矢量速度的欧式距离。
[0101]
在经过步骤s132后,各个第一目标人体所对应的第二目标人脸均存在对应的欧式距离。
[0102]
s133:将对应欧式距离最小的第二目标人脸确定为与第一目标人脸匹配。
[0103]
在得到各个第二目标人脸对应的欧式距离后,将最小欧式距离所对应的第二目标人脸确定为与第一目标人脸匹配。
[0104]
在其他实施方式中,在找到最小欧式距离后,还可以判断该最小欧式是否小于距离阈值,如果小于距离阈值,则将最小欧式距离所对应的第二目标人脸确定为与第一目标人脸匹配,否则确定未找到与第一目标人脸匹配的第二目标人脸。
[0105]
可以理解的是,确定人脸的运动速度的过程不受遮挡的影响,因此通过运动速度查找与第一目标人脸匹配的第二目标人脸,可以提高匹配的准确率。
[0106]
在其他实施方式中,还可以根据其他参数进行匹配,例如人脸特征。
[0107]
参阅图8,图8是本技术人脸跟踪装置一实施方式的结构示意图,该人脸跟踪装置200包括处理器210、存储器220以及通信电路230,处理器210分别耦接存储器220、通信电路230,存储器220中存储有程序数据,处理器210通过执行存储器220内的程序数据以实现上述任一项实施方式方法中的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。
[0108]
其中,人脸跟踪装置200可以是电脑、手机等任一项具有视频处理能力的装置,在此不做限制。
[0109]
参阅图9,图9是本技术人脸跟踪装置另一实施方式的结构示意图,该人脸跟踪装置300包括跟踪模块310、获取模块320以及匹配模块330。
[0110]
跟踪模块310用于对视频流进行目标跟踪;
[0111]
获取模块320与跟踪模块310连接,用于响应于当前帧中存在跟踪断裂的第一目标人脸时,获取当前帧中满足预设遮挡要求的所有第一目标人体;
[0112]
匹配模块330与获取模块320连接,用于将第一目标人脸与信息库中各个第一目标人体对应的第二目标人脸进行匹配,以查询与第一目标人脸匹配的第二目标人脸,其中,信
息库中的第二目标人脸在当前帧之前的历史帧中处于即将被对应的第一目标人体遮挡的状态。
[0113]
跟踪模块310还用于将第一目标人脸作为第二目标人体的人脸信息进行跟踪,其中,第二目标人体为匹配的第二目标人脸对应的人体。
[0114]
其中,人脸跟踪装置300可以是电脑、手机等任一项具有视频处理能力的装置,在此不做限制。
[0115]
其中,人脸跟踪装置300在工作时执行上述任一项实施方式中的方法步骤,详细的步骤可参见上述实施方式,在此不再赘述。
[0116]
参阅图10,图10是本技术计算机可读存储介质一实施方式的结构示意图。该计算机可读存储介质400存储有计算机程序410,计算机程序410能够被处理器执行以实现上述任一项方法中的步骤。
[0117]
其中,计算机可读存储介质400具体可以为u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等可以存储计算机程序410的装置,或者也可以为存储有该计算机程序410的服务器,该服务器可将存储的计算机程序410发送给其他设备运行,或者也可以自运行该存储的计算机程序410。
[0118]
以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献