具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
在随着图像和视频技术的发展,面部检测开始应用到各个领域中。可以采用面部检测技术,去获取面部图像,实时对面部进行跟踪。
一个示例中,提取面部特征去进行面部跟踪的方式,受到面部移动的影响,无法更准确的对面部进行跟踪。
一个示例中,可以直接使用模型对面部进行跟踪。然而,通过模型对面部进行跟踪,其速度较慢,实时性较差;尤其是针对实时性较高的场景中,通过模型进行面部跟踪的方式,速度无法达到实时性较高的场景的需求。
图1为本申请提供的应用场景示意图一,如图1所示,可以对人的面部进行跟踪。
图2为本申请提供的应用场景示意图二,如图2所示,可以对动物的面部进行跟踪。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图3为本申请实施例提供的一种面部跟踪方法的流程示意图。如图3所示,该方法包括:
101、获取待分析视频流中的相邻两帧图像,并确定相邻两帧图像中每一帧图像的面部图像。
示例性地,本实施例的执行主体为处理器、或者控制器、或者面部跟踪方法装置、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为处理器进行说明。
处理器与摄像头连接,摄像头可以采集视频流,进而处理器获取到摄像头所采集的视频流。处理器可以实时对摄像头采集的视频流进行分析,以对面部进行跟踪;或者,处理器可以在获取到视频流之后,再对视频流进行分析,进而对面部进行跟踪。
处理器针对视频流中的每相邻的两帧图像进行分析,其中,相邻两帧图像之间可以间隔有N帧图像,N为大于等于0的整数。
处理器可以针对相邻两帧图像中每一帧图像,提取每一帧图像中的面部图像。一个示例中,处理器可以采用面部提取算法,提取图像中的面部图像。
举例来说,针对相邻两帧图像,分别为图像1和图像2;可以提取图像1中的每一个面部图像,分别为面部图像a1、面部图像b1、面部图像c1;提取图像2中的每一个面部图像,分别为面部图像a2、面部图像b2、面部图像c2。
102、根据相邻两帧图像中每一帧图像的面部图像,确定相邻两帧图像中后一帧图像的每一面部图像的图像特征信息,并确定相邻两帧图像中后一帧图像的每一面部图像的面部姿态信息,其中,面部姿态信息表征了面部图像中的面部的偏移程度。
示例性地,利用相邻两帧图像中每一帧图像的面部图像的图像特征,确定出相邻两帧图像中后一帧图像的每一面部图像的图像特征信息。其中,图像特征信息可以为空间距离信息,和/或,特征距离信息。
由于跟踪对象是移动的,进而面部图像在相邻两帧图像上的位置是可以移动和变化的,处理器在提取到前一帧图像上的每一个面部图像的位置信息、后一帧图像上的每一个面部图像的位置信息之后,计算两两面部图像之间的位置移动关系,即,计算前一帧图像的每一个面部图像与后一帧图像的每一个面部图像之间的位置移动关系;从而,得到后一帧图像的每一面部图像的空间距离信息。
处理器提取前一帧图像上的每一个面部图像的图像信息、后一帧图像上的每一个面部图像的图像信息,然后,计算两两面部图像之间的相似度,即,计算前一帧图像的每一个面部图像与后一帧图像的每一个面部图像之间的相似度;从而,得到后一帧图像的每一面部图像的特征距离信息。
并且,由于每一个面部图像的面部是有角度的,即面部的偏移程度,处理器可以提取相邻两帧图像中后一帧图像的每一面部图像的面部姿态信息;该面部姿态信息为面部的偏移程度。可以面部姿态信息,表征的是面部的正偏程度。
举例来说,图4为本申请实施例提供的面部跟踪的示意图。如图4所示,针对相邻两帧图像,分别为图像1和图像2;可以提取图像1中的每一个面部图像,分别为面部图像a1、面部图像b1、面部图像c1;提取图像2中的每一个面部图像,分别为面部图像a2、面部图像b2、面部图像c2。可以计算面部图像a2分别与面部图像a1、面部图像b1、面部图像c1之间的空间距离信息,计算面部图像b2分别与面部图像a1、面部图像b1、面部图像c1之间的空间距离信息,计算面部图像c2分别与面部图像a1、面部图像b1、面部图像c1之间的空间距离信息;并且,计算面部图像a2分别与面部图像a1、面部图像b1、面部图像c1之间的特征距离信息,计算面部图像b2分别与面部图像a1、面部图像b1、面部图像c1之间的特征距离信息,计算面部图像c2分别与面部图像a1、面部图像b1、面部图像c1之间的特征距离信息。还可以计算面部图像a2的偏移程度,得到面部图像a2的面部姿态信息,同样的计算出面部图像b2的面部姿态信息,面部图像c2的面部姿态信息。
其中,面部图像,可以是人脸图像,或者是其他动物的面部图像。
103、根据后一帧图像的每一面部图像的面部姿态信息,调整与后一帧图像的每一面部图像的图像特征信息,得到面部矩阵。
示例性地,可以直接的依据后一帧图像的每一面部图像的图像特征信息,去进行相邻两帧图像的面部图像之间的匹配关系,进而完成面部跟踪;但是这样的方式中,由于跟踪对象是移动的,进而面部图像在相邻两帧图像上的位置是可以移动和变化的,面部图像的偏移度也影响了面部的跟踪,需要将面部的偏移程度考虑进来。
那么在本步骤中,针对后一帧图像的每一面部图像,依据面部图像的面部姿态信息,调整面部图像的图像特征信息,得到后一帧图像的各面部图像所构成的面部矩阵。一个示例中,可以将面部姿态信息与图像特征信息进行融合,得到后一帧图像的各面部图像所构成的面部矩阵。另一个示例中,若面部图像的面部姿态信息表征面部偏移较为严重,则可以去除对应的图像特征信息;将后一帧图像的各面部图像的调整后的图像特征信息,作为面部矩阵。再一个示例中,若面部图像的面部姿态信息表征面部偏移较为严重,则将面部图像的空间距离信息对应的权值进行调整,将特征距离信息对应的权值进行调整,从而得到调整了权值的空间距离信息、调整了权值的特征距离信息;将将后一帧图像的各面部图像的调整后的图像特征信息,作为面部矩阵。
104、根据面部矩阵,确定相邻两帧图像中前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。
示例性地,处理器根据步骤103得到的面部矩阵进行分析,例如使用模型、或者使用模板匹配、或者使用匹配算法,得到前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。从而,后一帧图像中的每一面部图像,分别对应了前一帧图像的哪一个面部图像。例如,可以采用匈牙利匹配算法,计算前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。
由于得到相邻两帧图像中的面部图像的匹配关系,从而对面部图像进行了跟踪。可以不断的执行步骤101-104,进而对视频流中的面部图像进行跟踪。
举例来说,针对相邻两帧图像,分别为图像1和图像2;可以提取图像1中的每一个面部图像,分别为面部图像a1、面部图像b1、面部图像c1;提取图像2中的每一个面部图像,分别为面部图像a2、面部图像b2、面部图像c2。采用本实施例的方法,可以确定面部图像a1与面部图像b2之间匹配,面部图像b1与面部图像c2之间匹配,面部图像c1没有匹配的图像。进而完成对各面部图像的跟踪。
本实施例中,获取待分析视频流中的相邻两帧图像,并确定相邻两帧图像中每一帧图像的面部图像;根据相邻两帧图像中每一帧图像的面部图像,确定相邻两帧图像中后一帧图像的每一面部图像的图像特征信息,并确定相邻两帧图像中后一帧图像的每一面部图像的面部姿态信息,其中,面部姿态信息表征了面部图像中的面部的偏移程度;根据后一帧图像的每一面部图像的面部姿态信息,调整与后一帧图像的每一面部图像的图像特征信息,得到面部矩阵;根据面部矩阵,确定前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。通过确定出相邻两帧图像中后一帧图像的每一面部图像的图像特征信息和面部姿态信息,依据面部姿态信息所表征的面部的偏移程度,对图像特征信息进行调整,进而修正图像特征信息;然后依据后一帧图像的各面部图像的图像特征信息所构成的面部矩阵,得到相邻两帧图像的面部图像之间的匹配关系,进而对面部进行了跟踪。由于依据面部姿态信息所表征的面部的偏移程度,对图像特征信息进行调整,进而修正图像特征信息;从而可以准确的依据调整后的图像特征信息,对面部图像进行跟踪,提高了面部跟踪的准确性。并且,本实施中,依据提取图像特征信息和面部姿态信息的方式,进行面部图像之间的匹配,匹配和跟踪的算法更为简捷快速,提升了面部跟踪的速度和实时性。
图5为本申请实施例提供的另一种面部跟踪方法的流程示意图。如图5所示,该方法包括:
201、获取待分析视频流中的相邻两帧图像,并确定相邻两帧图像中每一帧图像的面部图像。
示例性地,本实施例的执行主体为处理器、或者控制器、或者面部跟踪方法装置、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为处理器进行说明。
本步骤可以参见图3所示的步骤101,不再赘述。
202、根据相邻两帧图像中每一帧图像的面部图像,确定相邻两帧图像中后一帧图像的每一面部图像的图像特征信息。
一个示例中,图像特征信息,包括:空间距离信息和特征距离信息;其中,空间距离信息表征面部图像在相邻两帧图像上的位置移动关系,特征距离信息表征面部图像在相邻两帧图像上的相似度。
示例性地,本步骤可以参见图3所示的步骤102,不再赘述。
203、提取后一帧图像的每一面部图像的面部器官位置信息,其中,面部器官位置信息表征了面部图像中的至少一个面部器官在面部图像上的位置信息。
一个示例中,面部器官位置信息,包括以下的一种或多种:鼻子位置、左眼位置、右眼位置、左嘴角位置、右嘴角位置。
示例性地,在提取面部图像的面部姿态信息的时候,首先需要提取出面部图像中的各面部器官在面部图像上的位置信息。例如,提取出鼻子在面部图像上的位置、左眼在面部图像上的位置、右眼在面部图像上的位置、左嘴角在面部图像上的位置、右嘴角在面部图像上的位置、左耳在面部图像上的位置、右耳面部图像上的位置。以上这些位置中的任意一个或多个,构成了面部图像的面部器官位置信息。
针对于相邻两帧图像,只需要提取后一帧图像的每一面部图像的面部器官位置信息。
204、根据后一帧图像的每一面部图像的面部器官位置信息,确定后一帧图像的每一面部图像的面部姿态信息。其中,面部姿态信息表征了面部图像中的面部的偏移程度。
一个示例中,步骤204具体包括:
第一步骤、根据后一帧图像的每一面部图像的面部器官位置信息,确定后一帧图像的每一面部图像的面部定位信息,其中,面部定位信息表征面部图像的面部器官之间的定位关系。
第二步骤、根据后一帧图像的每一面部图像的面部定位信息,确定后一帧图像的每一面部图像的面部姿态信息。
示例性地,针对于每一个面部图像,已经得到了面部图像中的各面部器官的位置信息,可以依据各面部器官的位置信息,明确的出面部器官之间的相对位置关系,进而得到面部的偏移程度,即,得到面部图像的面部姿态信息。
一个示例中,在本步骤中,针对于后一帧图像的每一个面部图像,可以依据面部器官位置信息中每一面部器官的位置,确定出面部器官之间的定位关系(即,面部器官的相对位置关系,或者面部器官与面部轮廓之间的相对位置关系),进而得到一个面部定位信息pose_score。
然后,将面部定位信息pose_score转换为数值,得到面部姿态信息alpha。一个示例中,面部定位信息所表征的数值与面部姿态信息所表征的数值之间为正相关关系,即,面部定位信息pose_score表征面部约偏,则面部姿态信息alpha的取值越小,面部定位信息pose_score表征面部约正,则面部姿态信息alpha的取值越大。或者,另一个示例中,对后一帧图像的每一面部图像的面部定位信息进行线性相关处理,得到后一帧图像的每一面部图像的面部姿态信息;其中,线性相关处理可以采用线性算法,使得面部定位信息pose_score表征面部约偏,则面部姿态信息alpha的取值越小。
在实施例的时候,本步骤包括以下几种实现方式。
第一种实现方式:根据后一帧图像的每一面部图像的面部器官位置信息,确定鼻子位置与左面部之间的第一定位关系、鼻子位置与右面部之间的第二定位关系;并确定鼻子位置与上半面部之间的第三定位关系、鼻子位置与下半面部之间的第四定位关系;确定第一定位关系与第二定位关系之间的第一比例值、第三定位关系与第四定位关系之间的第二比例值之间的最大值、或者最小值,为面部定位信息所表征的数值。根据后一帧图像的每一面部图像的面部定位信息,确定后一帧图像的每一面部图像的面部姿态信息。
一个示例中,第一定位关系为第一均值,第一均值为鼻子位置与左眼位置在水平方向上的距离、鼻子位置与左嘴角位置在水平方向上的距离两者的均值。第二定位关系为第二均值,第二均值为鼻子位置与右眼位置在水平方向上的距离、鼻子位置与右嘴角位置在水平方向上的距离两者的均值。第三定位关系为第三均值,第三均值为鼻子位置与左眼位置在竖直方向上的距离、鼻子位置与右眼位置在竖直方向上的距离两者的均值。第四定位关系为第四均值,第四均值为鼻子位置与左嘴角位置在竖直方向上的距离、鼻子位置与右嘴角位置在竖直方向上的距离两者的均值。
在第一种实现方式中,针对后一帧图像的每一面部图像,所得到的面部器官位置信息中包括鼻子位置、左眼位置、右眼位置、左嘴角位置、右嘴角位置、左面部位置信息、右面部位置信息、下半面部位置信息、以及上半面部位置信息。可以依据鼻子位置与左面部位置信息,确定出鼻子位置与左面部之间的第一定位关系,或者,依据鼻子位置分别与左眼位置、左嘴角位置之间的位置关系,确定出鼻子位置与左面部之间的第一定位关系;依据鼻子位置与右面部位置信息,确定出鼻子位置与右面部之间的第二定位关系,或者,依据鼻子位置分别与右位置、右嘴角位置之间的位置关系,确定出鼻子位置与右面部之间的第二定位关系;依据鼻子位置与上半面部位置信息,确定出鼻子位置与上半面部之间的第三定位关系,或者,依据鼻子位置分别与左眼位置、右眼位置之间的位置关系,确定出鼻子位置与上半面部之间的第三定位关系;依据鼻子位置与上半面部位置信息,确定出鼻子位置与下半面部之间的第四定位关系,或者,依据鼻子位置分别与左嘴角位置、右嘴角位置之间的位置关系,确定出鼻子位置与下半面部之间的第四定位关系。
然后,计算第一定位关系所表征的数值、第二定位关系所表征的数值之间的比例值,作为第一比例值(可以是第一定位关系所表征的数值除以第二定位关系所表征的数值,或者第二定位关系所表征的数值除以第一定位关系所表征的数值),并计算第三定位关系所表征的数值、第四定位关系所表征的数值之间的比例值,作为第二比例值(可以是第三定位关系所表征的数值除以第四定位关系所表征的数值,或者第四定位关系所表征的数值除以第三定位关系所表征的数值);将第一比例值、第二比例值之间的最大值、或最小值,作为面部定位信息所表征的数值。
一个示例中,图6为本申请提供的面部器官的定位示意图一,如图6所示,计算鼻子位置与左眼位置在水平方向上的距离nose-to-left eye-1,计算鼻子位置与左嘴角位置在水平方向上的距离nose-to-left mouth-1,并计算上述距离nose-to-left eye-1、距离nose-to-left mouth-1的平均值,得到第一均值d_l,将第一均值d_l作为了第一定位关系所表征的数值。
计算鼻子位置与右眼位置在水平方向上的距离nose-to-right eye-1,计算鼻子位置与右嘴角位置在水平方向上的距离nose-to-right mouth-1,并计算上述距离nose-to-right eye-1、距离nose-to-right mouth-1的平均值,得到第二均值d_r,将第二均值d_r作为了第二定位关系所表征的数值。
计算鼻子位置与左眼位置在竖直方向上的距离nose-to-left eye-2,计算鼻子位置与右眼位置在竖直方向上的距离nose-to-right eye-2,得到第三均值d_t,将第三均值d_t作为了第三定位关系所表征的数值。
计算鼻子位置与左嘴角位置在竖直方向上的距离nose-to-left mouth-2、鼻子位置与右嘴角位置在竖直方向上的距离nose-to-right mouth-2,得到第四均值d_b,将第四均值d_b作为了第四定位关系所表征的数值。
然后,取第一均值d_l除以第二均值d_r所得到的数值d_l/d_r、第二均值d_r除以第一均值d_l所得到的数值d_r/d_l,两者中最小值为第一比例值score_h=min(d_l/d_r,d_r/d_l)。取第三均值d_t除以第四均值d_b所得到的数值d_t/d_b、第四均值d_b处于预设值d_t*factor所得到的数值d_b/d_t*factor,两者中的最小值为第二比例值score_v=min(d_t/d_b,d_b/d_t*factor)。其中,factor是一个预设比例值,factor是一个经验值。由于在竖直方向上,眼睛与嘴巴并不是对称关系,从而,在面部是正面的时候,鼻子与两眼的平均距离、鼻子与两个嘴角的平均距离,这个两个平均距离是不相同;进而,在计算第二比例值score_v,需要为它赋予一个预设比例值factor去进行调整。
进而,将第一比例值score_h、第二比例第二比例值score_v中的最小值,作为了面部定位信息所表征的数值pose_score=min(score_h,score_v)。
最后,面部定位信息所表征的数值与面部姿态信息所表征的数值之间为正相关关系,可以根据面部定位信息pose_score,得到面部姿态信息alpha,其中,图7为本申请提供的面部器官的定位示意图二,如图7所示,面部定位信息pose_score表征面部约偏,则面部姿态信息alpha的取值越小;面部定位信息pose_score表征面部约正,则面部姿态信息alpha的取值越大。
另一个示例中,图8为本申请提供的面部器官的定位示意图三,如图8所示,计算出左面部的中心点的位置,将鼻子位置与左面部的中心点的位置之间的距离,作为第一定位关系所表征的数值A1;计算出右面部的中心点的位置,将鼻子位置与右面部的中心点的位置之间的距离,作为第二定位关系所表征的数值A2;计算出上半面部的中心点的位置,将鼻子位置与上半面部的中心点的位置之间的距离,作为第三定位关系所表征的数值A3;计算出下半面部的中心点的位置,将鼻子位置与下半面部的中心点的位置之间的距离,作为第四定位关系所表征的数值A4。
然后,取A1除以A2,A2除以A1,两者中最小值作为第一比例值score_h=min(A1/A2,A2/A1)。取A3除以A4,A4除以A3*factor,两者中最小值作为第二比例值score_v=min(A3/A4,A 4/A3*factor)。
进而,将第一比例值score_h、第二比例第二比例值score_v中的最小值,作为了面部定位信息所表征的数值pose_score=min(score_h,score_v)。最后,面部定位信息所表征的数值与面部姿态信息所表征的数值之间为正相关关系,可以根据面部定位信息pose_score,得到面部姿态信息alpha。
其中,上述方式中的面部姿态信息alpha的取值范围可以是0至1,pose_score越接近1,表征面部姿态越正;pose_score越接近0,表征面部姿态越偏。
第二种实现方式:确定后一帧图像的每一面部图像的图像中心点;确定后一帧图像的每一面部图像的鼻子位置与图像中心点之间的距离,为后一帧图像的每一面部图像的面部定位信息所表征的数值。根据后一帧图像的每一面部图像的面部定位信息,确定后一帧图像的每一面部图像的面部姿态信息。
在第二种实现方式中,图9为本申请提供的面部器官的定位示意图四,如图9所示,针对后一帧图像的每一面部图像,依据面部图像的各像素点,计算出图像的图像中心点;然后计算出鼻子位置与图像中心点之间的距离;将鼻子位置与图像中心点之间的距离,作为面部定位信息pose_score所表征的数值;面部定位信息所表征的数值与面部姿态信息所表征的数值之间为正相关关系,可以根据面部定位信息pose_score,得到面部姿态信息alpha。
第三种实现方式:根据后一帧图像的每一面部图像的面部器官位置信息所表征的面部器官的个数,确定后一帧图像的每一面部图像的面部定位信息所表征的数值。根据后一帧图像的每一面部图像的面部定位信息,确定后一帧图像的每一面部图像的面部姿态信息。
在第三种实现方式中,由于已经得到每一个面部图像中的面部器官的位置,可以确定出面部图像中具有的面部器官的个数;根据的面部器官的个数,确定出面部定位信息所表征的数值,其中,面部器官的个数与面部定位信息所表征的数值之间为正相关关系。面部定位信息所表征的数值与面部姿态信息所表征的数值之间为正相关关系,可以根据面部定位信息pose_score,得到面部姿态信息alpha。
第四种实现方式:针对后一帧图像的每一面部图像,确定左眼位置与右眼位置之间的第一连线,并确定左嘴角位置与右嘴角位置之间的第二连线;针对后一帧图像的每一面部图像,根据第一连线与第二连线之间的相对位置关系,确定面部定位信息所表征的数值。根据后一帧图像的每一面部图像的面部定位信息,确定后一帧图像的每一面部图像的面部姿态信息。
在第四种实现方式中,图10为本申请提供的面部器官的定位示意图五,如图10所示,针对后一帧图像的每一面部图像,已经得到每一个面部图像中的面部器官的位置,将左眼位置与右眼位置进行连线,得到第一连线;将左嘴角位置与右嘴角位置进行连线,得到第二连线。
然后,依据第一连线与第二连线之间的相对位置关系,确定出面部定位信息所表征的数值;例如,确定出第一连线与第二连线之间的所成夹角,根据该夹角确定面部定位信息所表征的数值,夹角与面部定位信息所表征的数值之间为负相关关系,即,第一连线与第二连线之间的所成夹角越大,则面部约偏。然后,面部定位信息所表征的数值与面部姿态信息所表征的数值之间为正相关关系,可以根据面部定位信息pose_score,得到面部姿态信息alpha。
205、根据后一帧图像的每一面部图像的面部姿态信息,确定后一帧图像的每一面部图像的特征距离信息对应的第一权重、空间距离信息对应的第二权重。
一个示例中,第一权重与面部姿态信息表征的数值之间为正相关,第二权重与面部姿态信息表征的数值之间为负相关。
示例性地,在得到后一帧图像的每一面部图像的面部姿态信息alpha之后,依据面部姿态信息alpha,调整特征距离信息对应的第一权重、空间距离信息对应的第二权重。
面部姿态信息表征了面部图像中的面部的趋向偏方向时(即,面部约偏),降低特征距离信息对应的第一权重,并提高空间距离信息对应的第二权重;在面部姿态信息表征了面部图像中的面部的趋向正方向时(即,面部约正),提升特征距离信息对应的第一权重,并降低空间距离信息对应的第二权重。即,第一权重与面部姿态信息表征的数值之间为正相关,第二权重与面部姿态信息表征的数值之间为负相关。
206、针对后一帧图像的每一面部图像,根据第一权重、特征距离信息、第二权重、以及空间距离信息,得到后一帧图像的每一面部图像的特征值。
示例性地,针对后一帧图像的每一面部图像,依据对第一权重、特征距离信息、第二权重、以及空间距离信息进行加权计算得到面部图像的特征值。
一个示例中,面部图像的特征值为cost_matrix=(1-alpha)*空间距离信息+alpha*特征距离信息。
可知,面部姿态信息表征人脸约偏(即,约不正),则需要降低特征距离信息(即,面部图像在相邻两帧图像上的相似度)的比重。
207、根据后一帧图像的各面部图像的特征值,得到面部矩阵。
示例性地,针对后一帧图像的每一面部图像得到了特征值,将各面部图像的特征值,可以构成一个面部矩阵。
示例性地,两帧相邻图像,前一帧图像中有5张面部图像,后一帧图像中有6张面部图像,则针对后一帧图像的每一面部图像来说,可以得到5个特征值,进而一共得到5*6个特征值;最后得到一个5*6的面部矩阵。
208、根据面部矩阵,确定相邻两帧图像中前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。
本步骤可以参见图3所示的步骤104,不再赘述。
本实施例中,在上述实施例的基础上,根据面部器官的位置,得到面部姿态信息,其中,面部姿态信息表征了面部图像中的面部的偏移程度;在面部姿态信息表征人脸约偏的时候,则确定特征距离信息(即,面部图像在相邻两帧图像上的相似度)越不重要,需要降低特征距离信息(即,面部图像在相邻两帧图像上的相似度)的比重,同时提升空间距离信息(即,面部图像在相邻两帧图像上的位置移动关系)的比重,进而对图像特征信息进行修正和调整,得到面部矩阵,进而便于更准确的确定出匹配的图像,便于进行面部跟踪;提升了面部跟踪的准确率。
图11为本申请实施例提供的又一种面部跟踪方法的流程示意图。如图11所示,该方法包括:
301、获取待分析视频流中的相邻两帧图像,并确定相邻两帧图像中每一帧图像的面部图像。
302、根据相邻两帧图像中每一帧图像的面部图像,确定相邻两帧图像中后一帧图像的每一面部图像的图像特征信息,并确定相邻两帧图像中后一帧图像的每一面部图像的面部姿态信息,其中,面部姿态信息表征了面部图像中的面部的偏移程度。
303、根据后一帧图像的每一面部图像的面部姿态信息,调整与后一帧图像的每一面部图像的图像特征信息,得到面部矩阵。
304、根据面部矩阵,确定相邻两帧图像中前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。
示例性地,步骤301-304可以参见上述实施例的介绍,不再赘述。
305、提取待检索图像的图像全局语义特征和图像局部细节特征。
示例性地,本实施例的执行主体为处理器、或者控制器、或者面部跟踪方法装置、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为处理器进行说明。
还可以对待检索图像进行图像检索。例如,对用户进行检索的时候,可以实时的对视频流中的待检索图像进行分析,以确定视频流中的待检索图像是否与预设图像库中图像匹配。
其中,待检索图像可以是视频流中的每一帧图像,或者待检索图像可以是视频流中的每一帧图像的面部图像,或者待检索图像可以是其他待分析的图像。
首先,需要提取待检索图像中的图像全局语义特征和图像局部细节特征。
一个示例中,可以采用深度学习模型,对待检索图像进行特征提取,得到深度学习特征;其中,深度学习特征表征的是图像的图像全局语义特征。举例来说,可以采用卷积神经网络(Convolutional Neural Networks,简称CNN)模型,对待检索图像进行特征提取,得到CNN特征;CNN特征表征的是图像全局语义特征。
一个示例中,可以采用传统模型,对待检索图像进行特征提取,得到图像局部细节特征。举例来说,采用传统模型,对待检索图像进行特征提取,得到尺度不变特征变换(Scale Invariant Feature Transform,简称SIFT)特征;其中,SIFT特征是一种图像局部细节特征。再举例来说,采用传统模型,对待检索图像进行特征提取,得到SIFT特征;对SIFT特征进行聚合处理之后,得到局部聚合(vector of locally aggregated descriptors,简称VLAD)特征;其中,VLAD特征是一种图像局部细节特征。
306、根据待检索图像的图像全局语义特征、以及预设图像库中每一图像的图像全局语义特征,确定预设图像库中与待检索图像匹配的图像集合,图像集合中包括至少一个图像。
示例性地,若仅基于图像全局语义特征对图像进行检索分析,但是由于简单的图像全局语义特征无法提供很好分辨力,进而印象到检索结果,使得检索效果并不理想。若仅基于图像全局语义特征对图像进行检索分析,但是由于基于图像全局语义特征的图像匹配的过程较为费时,进而图像检索效率较低。
在本实施例中,可以结合图像全局语义特征和图像局部细节特征进行图像分析,完成图像检索。
首先,针对于预设图像库中每一图像,已经提取了每一图像的图像全局语义特征和图像局部细节特征。可以先基于待检索图像的图像全局语义特征、以及预设图像库中每一图像的图像全局语义特征进行特征匹配,进而得到与待检索图像匹配的多个图像;所得到的多个图像,构成一个图像结合。
307、根据待检索图像的图像局部细节特征、以及图像集合中每一图像的图像局部细节特征,确定图像集合中与待检索图像匹配的最优图像。
示例性地,在步骤307之后,已经基于图像局部细节特征对图像进行了初步的图像匹配,得到了一个图像集合,然后基于图像局部细节特征从图像集合中,得到一个与待检索图像最匹配的图像。
从而可以基于待检索图像的图像局部细节特征、以及图像集合中每一图像的图像局部细节特征进行特征匹配,进而得到一个与待检索图像匹配的最优图像。
本实施例,在上述实施例的基础上,结合图像全局语义特征和图像局部细节特征进行图像分析,将待检索图像与预设图像库中的图像进行匹配分析,得到一个最为匹配的图像。由于结合图像全局语义特征和图像局部细节特征进行图像分析和检索,从而可以提升图像检索的准确率。并且,基于图像全局语义特征对图像库中大量图像进行初步的筛选,得到一个小的图像集合,由于基于图像全局语义特征的图像检索是较快的,从而检索速度较快;然后基于图像局部细节特征对图像集合中的图像进行进一步的筛选,由于图像集合中的图像的个数是较少的,进而基于图像局部细节特征的筛选是较快的;从而,本实施例提供的图像检索速度较快。
图12为本申请实施例提供的再一种面部跟踪方法的流程示意图。如图12所示,该方法包括:
401、获取待分析视频流中的相邻两帧图像,并确定相邻两帧图像中每一帧图像的面部图像。
402、根据相邻两帧图像中每一帧图像的面部图像,确定相邻两帧图像中后一帧图像的每一面部图像的图像特征信息,并确定相邻两帧图像中后一帧图像的每一面部图像的面部姿态信息,其中,面部姿态信息表征了面部图像中的面部的偏移程度。
403、根据后一帧图像的每一面部图像的面部姿态信息,调整与后一帧图像的每一面部图像的图像特征信息,得到面部矩阵。
404、根据面部矩阵,确定相邻两帧图像中前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。
示例性地,步骤301-304可以参见上述实施例的介绍,不再赘述。
405、基于深度学习模型,提取待检索图像的第一特征图;对第一特征图进行池化处理,得到特征向量,并对特征向量进行正则化处理,得到图像全局语义特征。
示例性地,本实施例的执行主体为处理器、或者控制器、或者面部跟踪方法装置、或者其他可以执行本实施例方法的装置或设备。本实施例以执行主体为处理器进行说明。
已经训练了深度学习模型,其中,深度学习模型,例如是VGG(Visual GeometryGroup Network)模型、残差网络(Residual Network,简称ResNet)模型。然后基于深度学习模型,提取待检索图像的第一特征图;例如,深度学习模型的最后一个卷积层输出的特征图,作为第一特征图。
其中,待检索图像可以是视频流中的每一帧图像,或者待检索图像可以是视频流中的每一帧图像的面部图像,或者待检索图像可以是其他待分析的图像。
然后,对第一特征图进行池化处理,得到特征向量,其中,特征向量的维度为d。例如,对第一特征图进行最大池化(max pooling)处理;其中,最大池化处理,指的是,选图像区域的最大值作为该区域池化后的值。或者,对第一特征图进行平均池化(average pool)处理;其中,平均池化处理,折叠是,计算图像区域的平均值作为该区域池化后的值。
最后,对特征向量进行正则化处理,得到图像全局语义特征。例如,对特征向量进行L2正则化处理。
406、提取待检索图像的SIFT特征;对SIFT特征进行聚合处理,得到局部特征矩阵,并对局部特征矩阵进行正则化处理和降维处理,得到的图像局部细节特征。
示例性地,可以基于预设的模型,提取待检索图像的SIFT特征,其中,SIFT特征是N个m维的向量。例如,SIFT特征是N个128维的向量。由于SIFT特征的数据量较大,为了减少后续的计算过程,可以对SIFT特征进行局部聚合特征(Vector Of Locally AggregatedDescriptors,简称VLAD)处理,得到一个局部特征矩阵,其中,局部特征矩阵的维度为(K,m);其中K是对N个m维的向量进行VLAD处理时,指定的聚类中心数量。
接着,将该(K,m)维的局部特征矩阵,按列进行乘方范数(power norm)的处理,接着再按列拼接成一个K*m维的局部特征向量;其中,进行乘方范数范数处理的指数,可以取值为0.5。
对上述K*m维的局部特征向量进行正则化处理,例如进行L2正则化处理。然后,对正则化后的局部特征向量进进行降维处理,得到p维度的VLAD特征;VLAD特征是一种图像局部细节特征。例如,可以采用主成分分析(Principal Component Analysis,简称PCA)降维处理,得到512维度的VLAD特征。
407、确定待检索图像的图像全局语义特征与预设图像库中每一图像的图像全局语义特征,两者之间的第一相似度特征矩阵;根据预设图像库中每一图像的第一相似度特征矩阵所表征的数值大小,确定图像集合。
示例性地,可以采用步骤405-406的方式,得到预设图像库中每一图像的图像全局语义特征和图像局部细节特征。
首先基于图像全局语义特征,对待检索图像进行初步的检索。由于针对预设图像库中每一图像,都提取了每一图像的图像全局语义特征;可以将各图像的图像全局语义特征,存储为一个(Q,d)维度的矩阵A,其中,Q为预设图像库中的图像的总个数,d为图像全局语义特征的维度。
对于一个待检索的待检索图像来说,待检索图像的图像全局语义特征为一个(1,d)维度的矩阵B。
计算(Q,d)维度的矩阵A与(1,d)维度的矩阵B之间的相似度,得到一个第一相似度特征矩阵S=dot(G,B.T),其中,dot表示矩阵乘法,B.T表示矩阵B的转置,第一相似度特征矩阵S1的维度为(Q,1)。
对第一相似度特征矩阵S1中数值,由高到低进行排序,得到最大的前M个索引,进而得到预设图像库中的M个候选图像,这M个候选图像是与待检索图像最为相似的图像。例如,M=20。
408、确定待检索图像的图像局部细节特征与图像集合中每一图像的图像局部细节特征,两者之间的第二相似度特征矩阵;根据图像集合中每一图像的第二相似度特征矩阵所表征的数值大小,确定最优图像。
示例性地,在步骤407之后,已经基于图像局部细节特征对图像进行了初步的图像匹配,得到了一个图像集合,然后基于图像局部细节特征从图像集合中,得到一个与待检索图像最匹配的图像。
由于针对图像集合中每一图像,都提取了每一图像的图像局部细节特征;可以将图像集合中的各图像的图像局部细节特征,存储为一个(M,p)维度的矩阵V,其中,p为VLAD特征的维度(即,图像局部细节特征的维度);M为图像集合中的图像的总个数。
对于一个待检索的待检索图像来说,待检索图像的图像局部细节特征为一个(1,p)维度的矩阵C。
计算(M,p)维度的矩阵V与(1,p)维度的矩阵C之间的相似度,得到一个第二相似度特征矩阵S2=dot(V,C.T),其中,dot表示矩阵乘法,C.T表示矩阵C的转置,第二相似度特征矩阵S2的维度为(M,1)。
对第二相似度特征矩阵S2中数值,由高到低进行排序,得到最大的一个索引,进而得到一个与待检索图像最为匹配的最优图像。
本实施例,在上述实施例的基础上,由于结合图像全局语义特征和图像局部细节特征进行图像分析和检索,从而可以提升图像检索的准确率。并且,基于图像全局语义特征对图像库中大量图像进行初步的筛选,得到一个小的图像集合,由于基于图像全局语义特征的图像检索是较快的,从而检索速度较快;然后基于图像局部细节特征对图像集合中的图像进行进一步的筛选,由于图像集合中的图像的个数是较少的,进而基于图像局部细节特征的筛选是较快的;从而,本实施例提供的图像检索速度较快。并且,所得到的图像局部细节特征是VLAD特征,由于VLAD特征的数据量较小,进而加快了基于图像局部细节特征的图像检索,进一步的加快了整个图像检索过程。
图13为本申请实施例提供的一种面部跟踪装置的结构示意图,如图13所示,本实施例提供的面部跟踪装置,包括:
获取单元31,用于获取待分析视频流中的相邻两帧图像,并确定相邻两帧图像中每一帧图像的面部图像。
第一确定单元32,用于根据相邻两帧图像中每一帧图像的面部图像,确定相邻两帧图像中后一帧图像的每一面部图像的图像特征信息。
第二确定单元33,用于确定相邻两帧图像中后一帧图像的每一面部图像的面部姿态信息,其中,面部姿态信息表征了面部图像中的面部的偏移程度。
调整单元34,用于根据后一帧图像的每一面部图像的面部姿态信息,调整与后一帧图像的每一面部图像的图像特征信息,得到面部矩阵。
匹配单元35,用于根据面部矩阵,确定相邻两帧图像中前一帧图像中的每一面部图像与后一帧图像中的每一面部图像之间的匹配关系。
本实施例提供的面部跟踪装置,同于实现前述任一实施例和实施例方式所提供的面部跟踪方法中的技术方案,其实现原理和技术效果类似,不再赘述。
图14为本申请实施例提供的另一种面部跟踪装置的结构示意图,在图13所示实施例的基础上,如图14所示,本实施例提供的面部跟踪装置中,图像特征信息,包括:空间距离信息和特征距离信息;其中,空间距离信息表征面部图像在相邻两帧图像上的位置移动关系,特征距离信息表征面部图像在相邻两帧图像上的相似度。
一个示例中,调整单元34,包括:
第一确定模块341,用于根据后一帧图像的每一面部图像的面部姿态信息,确定后一帧图像的每一面部图像的特征距离信息对应的第一权重、空间距离信息对应的第二权重。
第二确定模块342,用于针对后一帧图像的每一面部图像,根据第一权重、特征距离信息、第二权重、以及空间距离信息,得到后一帧图像的每一面部图像的特征值。
第三确定模块343,用于根据后一帧图像的各面部图像的特征值,得到面部矩阵。
一个示例中,第一权重与面部姿态信息表征的数值之间为正相关,第二权重与面部姿态信息表征的数值之间为负相关。
一个示例中,第二确定单元33,包括:
提取模块331,用于提取后一帧图像的每一面部图像的面部器官位置信息,其中,面部器官位置信息表征了面部图像中的至少一个面部器官在面部图像上的位置信息。
第四确定模块332,用于根据后一帧图像的每一面部图像的面部器官位置信息,确定后一帧图像的每一面部图像的面部姿态信息。
一个示例中,第四确定模块332,包括:
第一确定子模块3321,用于根据后一帧图像的每一面部图像的面部器官位置信息,确定后一帧图像的每一面部图像的面部定位信息,其中,面部定位信息表征面部图像的面部器官之间的定位关系。
第二确定子模块3322,用于根据后一帧图像的每一面部图像的面部定位信息,确定后一帧图像的每一面部图像的面部姿态信息。
一个示例中,面部器官位置信息,包括以下的一种或多种:鼻子位置、左眼位置、右眼位置、左嘴角位置、右嘴角位置。
一个示例中,第一确定子模块3321,具体用于:
根据后一帧图像的每一面部图像的面部器官位置信息,确定鼻子位置与左面部之间的第一定位关系、鼻子位置与右面部之间的第二定位关系;并确定鼻子位置与上半面部之间的第三定位关系、鼻子位置与下半面部之间的第四定位关系;确定第一定位关系与第二定位关系之间的第一比例值、第三定位关系与第四定位关系之间的第二比例值之间的最大值、或者最小值,为面部定位信息所表征的数值。
一个示例中,第一定位关系为第一均值,第一均值为鼻子位置与左眼位置在水平方向上的距离、鼻子位置与左嘴角位置在水平方向上的距离两者的均值;第二定位关系为第二均值,第二均值为鼻子位置与右眼位置在水平方向上的距离、鼻子位置与右嘴角位置在水平方向上的距离两者的均值;第三定位关系为第三均值,第三均值为鼻子位置与左眼位置在竖直方向上的距离、鼻子位置与右眼位置在竖直方向上的距离两者的均值;第四定位关系为第四均值,第四均值为鼻子位置与左嘴角位置在竖直方向上的距离、鼻子位置与右嘴角位置在竖直方向上的距离两者的均值。
一个示例中,第一比例值为第一均值除以第二均值所得到的数值、第二均值除以第一均值所得到的数值中的最小值;第二比例值为第三均值除以第四均值所得到的数值、第四均值处于预设值所得到的数值中的最小值,预设值为第三均值与预设比例值之间的乘积。
一个示例中,第一确定子模块,具体用于:
确定后一帧图像的每一面部图像的图像中心点;确定后一帧图像的每一面部图像的鼻子位置与图像中心点之间的距离,为后一帧图像的每一面部图像的面部定位信息所表征的数值。
一个示例中,第一确定子模块3321,具体用于:
根据后一帧图像的每一面部图像的面部器官位置信息所表征的面部器官的个数,确定后一帧图像的每一面部图像的面部定位信息所表征的数值。
一个示例中,第一确定子模块3321,具体用于:
针对后一帧图像的每一面部图像,确定左眼位置与右眼位置之间的第一连线,并确定左嘴角位置与右嘴角位置之间的第二连线;针对后一帧图像的每一面部图像,根据第一连线与第二连线之间的相对位置关系,确定面部定位信息所表征的数值。
一个示例中,面部定位信息所表征的数值与面部姿态信息所表征的数值之间为正相关关系。
或者,第二确定子模块3322,具体用于:对后一帧图像的每一面部图像的面部定位信息进行线性相关处理,得到后一帧图像的每一面部图像的面部姿态信息。
本实施例提供的面部跟踪装置,同于实现前述任一实施例和实施例方式所提供的面部跟踪方法中的技术方案,其实现原理和技术效果类似,不再赘述。
图15为本申请实施例提供的又一种面部跟踪装置的结构示意图,在图13或者图14所示实施例的基础上,如图15所示,本实施例提供的面部跟踪装置,还包括:
提取单元41,用于提取待检索图像的图像全局语义特征和图像局部细节特征。
第三确定单元42,用于根据待检索图像的图像全局语义特征、以及预设图像库中每一图像的图像全局语义特征,确定预设图像库中与待检索图像匹配的图像集合,图像集合中包括至少一个图像。
第四确定单元43,用于根据待检索图像的图像局部细节特征、以及图像集合中每一图像的图像局部细节特征,确定图像集合中与待检索图像匹配的最优图像。
一个示例中,提取单元41,在提取待检索图像的图像全局语义特征时,具体用于:基于深度学习模型,提取待检索图像的第一特征图;对第一特征图进行池化处理,得到特征向量,并对特征向量进行正则化处理,得到图像全局语义特征。
一个示例中,提取单元41,在提取待检索图像的图像局部细节特征时,具体用于:提取待检索图像的SIFT特征;对SIFT特征进行聚合处理,得到局部特征矩阵,并对局部特征矩阵进行正则化处理和降维处理,得到的图像局部细节特征。
一个示例中,第三确定单元42,具体用于:
确定待检索图像的图像全局语义特征与预设图像库中每一图像的图像全局语义特征,两者之间的第一相似度特征矩阵;根据预设图像库中每一图像的第一相似度特征矩阵所表征的数值大小,确定图像集合。
一个示例中,第四确定单元43,具体用于:
确定待检索图像的图像局部细节特征与图像集合中每一图像的图像局部细节特征,两者之间的第二相似度特征矩阵;
根据图像集合中每一图像的第二相似度特征矩阵所表征的数值大小,确定最优图像。
本实施例提供的面部跟踪装置,同于实现前述任一实施例和实施例方式所提供的面部跟踪方法中的技术方案,其实现原理和技术效果类似,不再赘述。
本申请实施例还提供了一种计算机(或手机等设备),包含上述的面部跟踪装置。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行上述面部跟踪方法。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行上述面部跟踪方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本申请实施例还提供了一种电子设备,其结构如图16所示,该电子设备包括:
至少一个处理器(processor)120,图16中以一个处理器120为例;和存储器(memory)121,还可以包括通信接口(Communication Interface)122和总线123。其中,处理器120、通信接口122、存储器121可以通过总线123完成相互间的通信。通信接口122可以用于信息传输。处理器120可以调用存储器121中的逻辑指令,以执行上述实施例的面部跟踪方法。
此外,上述的存储器121中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器121作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器120通过运行存储在存储器121中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的面部跟踪方法。
存储器121可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。
本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。
所描述的实施例中的各方面、实施方式、实现或特征能够单独使用或以任意组合的方式使用。所描述的实施例中的各方面可由软件、硬件或软硬件的结合实现。所描述的实施例也可以由存储有计算机可读代码的计算机可读介质体现,该计算机可读代码包括可由至少一个计算装置执行的指令。计算机可读介质可与任何能够存储数据的数据存储装置相关联,该数据可由计算机系统读取。用于举例的计算机可读介质可以包括只读存储器、随机存取存储器、CD-ROM、HDD、DVD、磁带以及光数据存储装置等。计算机可读介质还可以分布于通过网络联接的计算机系统中,这样计算机可读代码就可以分布式存储并执行。
上述技术描述可参照附图,这些附图形成了本申请的一部分,并且通过描述在附图中示出了依照所描述的实施例的实施方式。虽然这些实施例描述的足够详细以使本领域技术人员能够实现这些实施例,但这些实施例是非限制性的;这样就可以使用其它的实施例,并且在不脱离所描述的实施例的范围的情况下还可以做出变化。比如,流程图中所描述的操作顺序是非限制性的,因此在流程图中阐释并且根据流程图描述的两个或两个以上操作的顺序可以根据若干实施例进行改变。作为另一个例子,在若干实施例中,在流程图中阐释并且根据流程图描述的一个或一个以上操作是可选的,或是可删除的。另外,某些步骤或功能可以添加到所公开的实施例中,或两个以上的步骤顺序被置换。所有这些变化被认为包含在所公开的实施例以及权利要求中。
另外,上述技术描述中使用术语以提供所描述的实施例的透彻理解。然而,并不需要过于详细的细节以实现所描述的实施例。因此,实施例的上述描述是为了阐释和描述而呈现的。上述描述中所呈现的实施例以及根据这些实施例所公开的例子是单独提供的,以添加上下文并有助于理解所描述的实施例。上述说明书不用于做到无遗漏或将所描述的实施例限制到本申请的精确形式。根据上述教导,若干修改、选择适用以及变化是可行的。在某些情况下,没有详细描述为人所熟知的处理步骤以避免不必要地影响所描述的实施例。