CN108345821A - 面部追踪方法及设备 - Google Patents
面部追踪方法及设备 Download PDFInfo
- Publication number
- CN108345821A CN108345821A CN201710053722.7A CN201710053722A CN108345821A CN 108345821 A CN108345821 A CN 108345821A CN 201710053722 A CN201710053722 A CN 201710053722A CN 108345821 A CN108345821 A CN 108345821A
- Authority
- CN
- China
- Prior art keywords
- frame image
- characteristic point
- point
- dimensional coordinate
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种面部追踪方法及设备,利用预先建立的面部3D模型对通过摄像设备实时获取的针对人脸的图像进行面部对齐处理,并将首次完成面部对齐的一帧图像作为初始帧图像,并获取初始帧图像中的每个特征点的三维坐标,然后以初始帧图像为第1帧图像,通过前一帧图像的特征点进行跟踪,从后一帧图像中获取跟踪到的匹配特征点集,利用匹配特征点集获取后一帧图像中的每个特征点的三维坐标。本发明提供的面部追踪方法及设备,用于解决现有的面部追踪方法对较大角度的旋转无法进行跟踪、鲁棒性差的技术问题,实现了人脸在较大角度的旋转过程中仍能进行有效跟踪,并能提高鲁棒性的技术效果。
Description
技术领域
本发明涉及面部识别技术领域,尤其涉及一种面部追踪方法及设备。
背景技术
现有的面部跟踪方法通常是利用前一帧图像中特征点坐标及对应3D坐标,在当前帧图像中寻找前一帧图像的特征点在当前帧图像中的匹配点,通过这些匹配点的3D坐标即为前一帧图像中对应点的3D坐标,利用特征点的图像坐标和3D坐标的对应,使用POSIT算法或者PnP(需要对摄像头进行标定)即可算出当前帧图像的姿态,根据当前帧图像的姿态进行面部跟踪。
但是,现有的面部追踪方法在实际应用过程中,由于物体运动的变化,最初的图像特征点可能不断消失;而且跟踪或者匹配算法得到的对应点越来越少或者跟踪误差越来越严重,这些原因导致现有的面部追踪方法对较大角度的旋转无法进行跟踪、鲁棒性差的问题。
发明内容
本发明提供一种面部追踪方法及设备,用于解决现有的面部追踪方法对较大角度的旋转无法进行跟踪、鲁棒性差的技术问题,实现了人脸在较大角度的旋转过程中仍能进行有效跟踪,并能提高鲁棒性的技术效果。
本申请第一方面提供了一种面部追踪方法,所述方法包括:
利用预先建立的面部3D模型,按照时间先后次序对通过摄像设备实时获取的针对人脸的图像进行面部对齐处理,并将首次完成面部对齐的一帧图像作为初始帧图像,且保存所述面部3D模型中的预设对齐特征点集的三维坐标集和从所述初始帧图像中提取完成面部对齐的匹配对齐特征点集的二维坐标集;
根据所述二维坐标集和所述三维坐标集的对应关系,计算出所述初始帧图像对应的面部初始姿态;
利用通过特征提取算法从所述初始帧图像中提取初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述摄像设备的内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标;
以所述初始帧图像为第1帧图像,依次针对第1帧图像之后的每一帧图像执行以下步骤,其中,i依次从1取到n,n为大于1的整数:
利用第i帧图像的跟踪特征点集中的特征点进行跟踪;
利用从第(i+1)帧图像中获取跟踪到的匹配特征点集中特征点在图像区域的二维坐标和在所述面部3D模型的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;
利用所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
可选的,所述方法还包括:
创建关键帧集合,在获取所述初始帧图像之后,将所述初始帧图像作为关键帧图像存储到所述关键帧集合中,并将所述初始帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中;
以及依次针对所述初始帧图像及之后的每一帧图像,判断该帧图像和所述关键帧集合中每个关键帧图像之间的相似度是否小于第一预设相似度,在判断出该帧图像和每个关键帧图像之间的相似度均小于所述第一预设相似度时,将该帧图像作为关键帧图像并存储到所述关键帧集合中,并将该帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中。
可选的,在计算出所述第(i+1)帧图像对应的面部姿态之后,所述方法还包括:
判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功;
若所述第(i+1)帧图像对应的面部姿态跟踪失败,则对所述第(i+1)帧图像进行特征点检测,得到第一检测特征点集,其中,所述第一检测特征点集包括每个特征点在图像区域内的特征描述信息;利用特征描述信息从所述关键帧集合中确定与所述第(i+1)帧图像匹配的匹配关键帧图像,并获取所述第(i+1)帧图像和所述匹配关键帧图像的第一匹配特征点对;利用所述第一匹配特征点对中属于所述第一检测特征点集的特征点的二维坐标和所述第一匹配特征点对中属于所述匹配关键帧图像的跟踪特征点集的特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;再根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标;
若所述第(i+1)帧图像对应的面部姿态跟踪成功,则根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
可选的,所述判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功,具体为:
将所述面部3D模型按照所述第(i+1)帧图像对应的面部姿态投影到图像平面,获取到投影后的投影图像;
将所述投影图像和所述第(i+1)帧图像进行重叠处理,判断所述投影图像所在区域是否超出所述第(i+1)帧图像所在区域,获取第一判断结果;
根据所述第一判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
可选的,所述根据所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中每个特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态,具体包括:
利用所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中每个特征点的三维坐标,使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态。
可选的,所述判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功,具体为:
在使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态过程中,获取RANSAC算法提取的内点数;
判断所述内点数是否小于阈值,获取第二判断结果;
根据所述第二判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
可选的,在计算出所述第(i+1)帧图像对应的面部姿态之后,所述方法还包括:
获取所述第(i+1)帧图像对应的面部姿态与所述关键帧集合中每个关键帧图像对应的面部姿态之间的相似度组成的相似度集合;
检测所述相似度集合中是否存在一个相似度大于第二预设相似度;
在检测到所述相似度集合中存在特定相似度大于所述第二预设相似度,且获取到所述第(i+2)帧图像之后,对所述第(i+2)帧图像进行特征点检测,得到第二检测特征点集;将所述第二特征点集中的特征点与所述特定相似度对应的特定关键帧图像的跟踪特征点集中的特征点进行匹配,获取到所述第(i+2)帧图像和所述特定关键帧图像的第二匹配特征点对;利用所述第二匹配特征点对中属于所述第二检测特征点集中每个特征点的二维坐标和所述第二匹配特征点对中属于所述特定关键帧图像的跟踪特征点集中每个特征点的三维坐标,获取所述第(i+2)帧图像对应的面部姿态;再根据所述第(i+2)帧图像对应的面部姿态、所述摄像设备的内参数和通过特征点提取算法从所述第(i+2)帧图像中提取跟踪特征点集中每个特征点的二维坐标,获取所述第(i+2)帧图像的跟踪特征点集中每个特征点的三维坐标。
本申请第二方面提供了一种面部追踪设备,所述设备包括:
面部对齐单元,用于利用预先建立的面部3D模型,按照时间先后次序对通过摄像设备实时获取的针对人脸的图像进行面部对齐处理,并将首次完成面部对齐的一帧图像作为初始帧图像,且保存所述面部3D模型中的预设对齐特征点集的三维坐标集和从所述初始帧图像中提取完成面部对齐的匹配对齐特征点集的二维坐标集;
面部初始姿态获取单元,用于根据所述二维坐标集和所述三维坐标集的对应关系,计算出所述初始帧图像对应的面部初始姿态;
三维坐标获取单元,用于通过特征提取算法从所述初始帧图像中提取初始跟踪特征点集,并根据所述初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述摄像设备的内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标;
循环执行单元,用于以所述初始帧图像为第1帧图像,依次针对第1帧图像之后的每一帧图像执行以下步骤,其中,i依次从1取到n,n为大于1的整数:利用第i帧图像的跟踪特征点集中的特征点进行跟踪;利用从第(i+1)帧图像中获取跟踪到的匹配特征点集中特征点在图像区域的二维坐标和在所述面部3D模型的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;利用所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
可选的,所述设备还包括:
关键帧集合创建单元,用于创建关键帧集合,在获取所述初始帧图像之后,将所述初始帧图像作为关键帧图像存储到所述关键帧集合中,并将所述初始帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中;以及依次针对所述初始帧图像及之后的每一帧图像,判断该帧图像和所述关键帧集合中每个关键帧图像之间的相似度是否小于第一预设相似度,在判断出该帧图像和每个关键帧图像之间的相似度均小于所述第一预设相似度时,将该帧图像作为关键帧图像并存储到所述关键帧集合中,并将该帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中。
可选的,所述设备还包括:
姿态跟踪判断单元,用于在计算出所述第(i+1)帧图像对应的面部姿态之后,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功;
所述三维坐标获取单元,还用于在所述第(i+1)帧图像对应的面部姿态跟踪失败时,对所述第(i+1)帧图像进行特征点检测,得到第一检测特征点集,其中,所述第一检测特征点集包括每个特征点在图像区域内的特征描述信息;利用特征描述信息从所述关键帧集合中确定与所述第(i+1)帧图像匹配的匹配关键帧图像,并获取所述第(i+1)帧图像和所述匹配关键帧图像的第一匹配特征点对;利用所述第一匹配特征点对中属于所述第一检测特征点集的特征点的二维坐标和所述第一匹配特征点对中属于所述匹配关键帧图像的跟踪特征点集的特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;再根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标;
所述三维坐标获取单元,还用于在所述第(i+1)帧图像对应的面部姿态跟踪成功时,根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
本发明的有益效果如下:
基于上述技术方案,本发明实施例中是使用前一帧的跟踪特征点集中的特征点像进行跟踪,从下一帧图像中获取跟踪到的匹配特征点集,如此,与现有技术相比,有效增加了进行跟踪的特征点的数量,必然会使得跟踪得到的特征点的数量也会增加,在跟踪得到的特征点的数量增加的情况下,使得人脸在较大角度的旋转过程中仍能找到较多的匹配特征点对,进而能够实现人脸在较大角度的旋转过程中仍能进行有效跟踪,并能提高鲁棒性的技术效果。
附图说明
图1为本发明实施例中面部追踪方法的流程图;
图2为本发明实施例中图像坐标系与物体坐标系的映射关系图;
图3为本发明实施例中获取关键帧图像的方法流程图;
图4为本发明实施例中判断面部姿态是否跟踪成功的流程图;
图5为本发明实施例中面部追踪方法的阶段流程图;
图6为本发明实施例中面部追踪设备的模块图。
具体实施方式
本发明提供一种面部追踪方法及设备,用于解决现有的面部追踪方法对较大角度的旋转无法进行跟踪、鲁棒性差的技术问题,实现了人脸在较大角度的旋转过程中仍能进行有效跟踪,并能提高鲁棒性的技术效果。
下面结合附图对本发明优选的实施方式进行详细说明。
如图1所示,本发明第一方面提供了一种面部追踪方法,所述方法包括:
S101、利用预先建立的面部3D模型,按照时间先后次序对通过摄像设备实时获取的针对人脸的图像进行面部对齐处理,并将首次完成面部对齐的一帧图像作为初始帧图像,且保存所述面部3D模型中的预设对齐特征点集的三维坐标集和从所述初始帧图像中提取完成面部对齐的匹配对齐特征点集的二维坐标集;
S102、根据所述二维坐标集和所述三维坐标集的对应关系,计算出所述初始帧图像对应的面部初始姿态;
S103、利用通过特征提取算法从所述初始帧图像中提取初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述摄像设备的内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标;
S104、以所述初始帧图像为第1帧图像,依次针对第1帧图像之后的每一帧图像执行以下步骤,其中,i依次从1取到n,n为大于1的整数:
S1041、利用第i帧图像的跟踪特征点集中的特征点进行跟踪;
S1042、利用从第(i+1)帧图像中获取跟踪到的匹配特征点集中特征点在图像区域的二维坐标和在所述面部3D模型的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;
S1043、利用所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
本申请实施例中,所述面部对齐算法例如可以是AAM(Active Appreance Model)算法、ASM(Active Shape Model)和CLM(Constrained local model)算法等,本申请不作具体限制。
本申请实施例中,所述摄像设备例如可以是摄像头、摄像机、深度摄像机等拍摄设备,如此,在所述摄像设备通电启动之后,可以实时获取针对人脸的图像。
本申请实施例中,所述匹配对齐特征点集的二维坐标集包括所述匹配对齐特征点集中每个特征点在图像区域中的二维坐标;同理,所述预设对齐特征点集的三维坐标集包括所述预设对齐特征点集中每个特征点在物体坐标系中的三维坐标。
在步骤S101中,首先会建立一个面部3D模型,而在建立所述面部3D模型过程中,首先会建立一个通用的面部模型,即使用三角面网格对人脸进行逼近,从而获得所述面部3D模型,并保存所述面部3D模型中的人脸上的眼睛、鼻子、下巴和嘴部、面部轮廓等特征部位的特征点的三维坐标,而所述面部3D模型中的人脸上的眼睛、鼻子、下巴和嘴部、面部轮廓等特征部位的所有特征点组成所述面部3D模型的预设对齐特征点集,并保存所述预设对齐特征点集的三维坐标集。
在具体实施过程中,在建立所述面部3D模型之后,然后利用所述面部3D模型,按照时间先后次序对获取的针对人脸的图像进行面部对齐处理,即按照时间先后次序,在每获取一帧图像时,利用所述面部3D模型对获取的每帧图像进行面部对齐处理,直至获取到首次完成面部对齐的一帧图像,并将该帧图像作为所述初始帧图像。
具体来讲,由于所述摄像设备是实时获取针对人脸的图像的,即所述摄像设备是一帧一帧获取针对人脸的图像的,如此,在每获取一帧图像时,通过面部对齐算法利用所述面部3D模型对该帧图像进行面部对齐处理,若对齐失败,则继续对下一帧图像进行面部对齐处理,直至获取到首次完成面部对齐的一帧图像,并将该帧图像作为所述初始帧图像。
具体的,由于特征点对齐是面部对齐的前置条件,使得在获取到首次完成面部对齐的一帧图像时,所述匹配对齐特征点集中的特征点必然是与所述预设对齐特征点集中的特征点是匹配的,进而可以获取到所述匹配对齐特征点集的二维特征点集并进行保存;而所述预设对齐特征点集的三维坐标集在建立所述面部3D模型时已保存,如此,使得所述匹配对齐特征点的二维坐标集和所述预设对齐特征点集的三维坐标集均已保存。
例如,以摄像设备为摄像头a为例,首先建立一个通用的面部3D模型并保存所述面部3D模型中的对齐特征点集的三维坐标,其中,所述面部3D模型中的预设对齐特征点集用G表示,以及在摄像头a通电开始工作之后,通过摄像头a在一段时间内实时获取针对人脸的图像,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,首先针对摄像头a获取的第一帧图像即b1,通过面部对齐算法利用所述面部3D模型对b1进行对齐处理,若检测到b1中存在与G匹配的特征点集B11,则判定面部对齐完成,将b1作为初始帧图像,并保存B11中每个特征点的二维坐标;若b1未完成面部对齐,则依次对b1之后的每一帧图像执行面部对齐处理,直至找到完成面部对齐处理的bi,其中,bi中存在与G匹配的对齐特征点集bi1,其中,1<i<k,k为不小于4的整数;当然,k还可以取2、3等值,本申请不作具体限制。
其中,在判断bi1是否与G匹配时,若G中的特征点为a1、a2、a3和a4,若bi1中也存在特征点a1′、a2′、a3′和a4′,且a1′与a1匹配,a2′与a2匹配,a3′与a3匹配和a4′与a4匹配,即G中的每个特征点在bi1中均可以找到一个特征点与其匹配,则可以判定bi1与G匹配,进而确定bi与所述面部3D模型完成了面部对齐;若G中有一个特征点在bi1中未找到与其匹配的特征点,则可以判定bi1与G不匹配,进而确定bi与所述面部3D模型未完成面部对齐。
例如,同样以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bn,依次针对获取的b1、b2、b3….bn进行面部对齐处理,在检测到通过面部对齐算法提取的bi的特征点集bi1与G匹配时,若i=9,则确定b9为初始帧图像。
接下来执行步骤S102,在该步骤中,根据所述匹配对齐特征点集的二维坐标集和所述预设对齐特征点集的三维坐标集的对应关系,计算出所述初始帧图像对应的面部初始姿态。
本申请实施例中,面部初始姿态和面部姿态均指的是所述面部3D模型和所述摄像设备之间的姿态。
在具体实施过程中,可以通过PnP算法对所述匹配对齐特征点集中每个特征点的二维坐标和所述预设对齐特征点集中每个特征点的三维坐标进行计算,获取所述面部初始姿态;当然,也可以使用PnP算法和RANSAC算法对所述匹配对齐特征点集中每个特征点的二维坐标及对应特征点的三维坐标进行计算,计算出所述面部初始姿态。
具体来讲,在使用PnP算法过程中,使用所述预设对齐特征点集中每个特征点的三维坐标和所述匹配对齐特征点集中每个特征点的二维坐标就可以计算出所述面部初始姿态,即计算出所述摄像设备与所述面部3D模型之间的姿态。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bn,在检测到b9为初始帧图像时,通过面部对齐算法提取的b9的对齐特征点集b91,根据b91中每个特征点的二维坐标和在面部3D模型中对应的特征点的三维坐标代入PnP算法进行计算,计算出b9对应的面部初始姿态。
接下来执行步骤S103,在该步骤中,首先通过特征提取算法从所述初始帧图像中提取初始跟踪特征点集,再利用提取的所述初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标。
本申请实施例中,所述特征点提取算法例如可以是ORB,SIFT,SURF等算法等。
在具体实施过程中,在执行步骤S101之后且在执行步骤S102之前,即可通过特征提取算法从所述初始帧图像中提取所述初始跟踪特征点集,然后再通过步骤S103获取所述面部初始姿态之后,再根据所述初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标;当然,也可以在执行步骤S102的同时,通过特征提取算法从所述初始帧图像中提取所述初始跟踪特征点集;也可以在执行步骤S102之后,通过特征提取算法从所述初始帧图像中提取所述初始跟踪特征点集,本申请不作具体限制。
具体来讲,首先根据所述面部初始姿态,求出所述摄像设备的光心在物体坐标系下的三维坐标;根据图像坐标系与相机坐标系的映射关系和所述内参数,获取所述初始跟踪特征点集中每个特征点在相机坐标系下的三维坐标;根据所述光心在物体坐标系下的三维坐标和所述初始跟踪特征点集中每个特征点在相机坐标系下的三维坐标,获取所述初始跟踪特征点集中每个特征点的射线方向向量;根据每个特征点的射线方向向量和所述面部3D模型的三角面,获取每个特征点与所述面部3D模型中的一个三角面的相交点的三维坐标为每个特征点在物体坐标系中的三维坐标。
本申请实施例中,在物体坐标系中,所述面部3D模型中的每一个特征点的三维坐标是不会改变的。
如图2所示,Copt为摄像机光心,m为所述初始跟踪特征点集中的一个特征点。光心和m形成的摄像与模型表面的交点M即为该特征点对应的物体3D模型上的点,其中,M坐标求解方法如下:
首先求出光心Copt在物体坐标系下的3D坐标,其中,摄像机坐标系和物体坐标系关系为:
Xc=RXw+T 公式(1)
其中,Xc表示一个点在相机坐标系中的坐标,Xw表示一个点在物体坐标系中的坐标;进一步的,光心Copt在摄像机坐标系中为原点,即Xc为0向量,所以有
Copt=-RTT 公式(2)
记摄像机内参数矩阵用A表示,其中,fx、fy、cx和cy表示摄像机的内参数。
再根据图像坐标系与相机坐标系的映射关系和所述内参数,获取m在相机坐标系下的三维坐标用Xm表示,具体计算方式如下:
Zc是m在摄像机坐标系下的Z坐标分量。
所以,Xm=λA-1m
再结合摄像机坐标系和物体坐标系坐标转换公式(1),可得m在物体坐标系坐标Xw为
Xw=R-1(λA-1m-T) 公式(4)
结合光心坐标即可求得射线方向向量为(去掉比例因子λ)
通过上述公式(1)到公式(5)得到光心Copt和射线方向向量后,再根据快速、最小存储射线三角形求交算法计算出上述射线和所述3D物体模型中的三角面的交点坐标,计算出的交点坐标即为M坐标,如此,通过此种方法可以求出所述跟踪特征点集中每个特征点的三维坐标。
接下来执行步骤S104,在该步骤中,以所述初始帧图像为第1帧图像,依次针对第1帧图像之后的每一帧图像执行以下步骤S1041、S1042和S1043。
在具体实施过程中,由于所述第1帧图像的跟踪特征点集中每个特征点的二维坐标和三维坐标均已获取到,通过步骤S1041、S1042和S1043同样可以获取第2帧图像的跟踪特征点集中的每个特征点的二维坐标和三维坐标,如此,可以依次获取所述第1帧图像中后的每一帧图像的跟踪特征点集中的每个特征点的三维坐标,如此,根据每一帧图像的跟踪特征点集中的每个特征点的三维坐标,使得计算机能够识别出每一帧图像中的人脸所在位置,进而完成针对每一帧图像的面部追踪。
具体来讲,在利用第i帧图像的跟踪特征点集中的特征点进行跟踪时,可以将第i帧图像的跟踪特征点集中的特征点采用光流法和NCC算法等跟踪算法进行跟踪,然后从第(i+1)帧图像中获取跟踪到的匹配特征点集。
由于本申请实施例中i依次从1取到n,由此可知,本申请实施例是首先获取到前一帧图像的跟踪特征点集,然后再利用前一帧图像的跟踪特征点集中的特征点进行跟踪,从下一帧图像中获取跟踪到的匹配特征点集,由于在获取前一帧图像的跟踪特征点集时是通过特征提取算法从前一帧图像中提取的,从而有效增加了用于对下一帧图像进行跟踪的特征点的数量,在进行跟踪的特征点数量增加的基础上,从下一帧图像中跟踪得到的特征点的数量也会随之增加,而在跟踪得到的特征点的数量增加的情况下,会使得人脸在较大角度的旋转过程中仍能找到较多的匹配特征点对,从而解决了现有技术中跟踪的得到的特征点的数量越来越少和跟踪误差越来越高的技术问题,进而能够实现人脸在较大角度的旋转过程中仍能进行有效跟踪,并能提高鲁棒性的技术效果。
本申请实施例中,由于i依次从1取到n,且根据步骤S1041至步骤S1043,则可以确定本申请实施例中的最后一帧图像为第(n+1)帧图像。
在步骤S1041中,利用第i帧图像的跟踪特征点集中的特征点进行跟踪,从第(i+1)帧图像中获取跟踪到的匹配特征点集,其中,所述第(i+1)帧图像的匹配特征点集中的特征点与所述第i帧图像的跟踪特征点集中的部分特征点匹配,i依次从1取到n,n为大于1的整数
具体的,以第1帧图像为例,通过步骤S101~S103获取到了所述第1帧图像的初始跟踪特征点集中的每个特征点的三维坐标;并将第1帧图像的初始跟踪特征点集中的特征点使用光流法进行跟踪,从第2帧图像中获取跟踪到的匹配特征点集。
本申请实施例中,所述第(i+1)帧图像的匹配特征点集中每个特征点和所述第i帧图像的跟踪特征点集中对应特征点与所述面部3D模型中的同一个特征点相对应。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,若b9为初始帧图像,在b9为第1帧图像,相应的b10为第2帧图像,b11为第3帧图像……直到bk为第(n+1)帧图像,其中,n+1=k-8。
其中,若b9的跟踪特征点集包括特征点(c1,c2,c3,c4,c5,c6,c7,c8),将b9的跟踪特征点集中的特征点采用光流法进行跟踪,从b10中获取到的匹配特征点集包括特征点(c2′,c4′,c5′,c6′,c8′),且c2与c2′匹配,c4与c4′匹配,c5与c5′匹配,c6与c6′匹配和c8与c8′匹配,c2对应到面部3D模型中的特征点例如为L2,则c2′也与L2对应,即c2和c2′与脸部3D模型中的同一个特点相对应;同理,c4与c4′均与脸部3D模型中的特征点L4对应,c5与c5′均与脸部3D模型中的特征点L5对应,c6与c6′均与脸部3D模型中的特征点L6对应,以及c8与c8′均与脸部3D模型中的特征点L8对应。
在执行步骤S1041之后,执行步骤S1042,在该步骤中,首先根据所述第(i+1)帧图像的匹配特征点集中每个特征点在所述第(i+1)帧图像的位置,确定出所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标;再根据所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中对应特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态。
具体来讲,可利用PnP算法对所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中对应特征点的三维坐标进行计算,计算出所述第(i+1)帧图像对应的面部姿态。
例如,若b9的跟踪特征点集包括特征点(c1,c2,c3,c4,c5,c6,c7,c8),将b9的跟踪特征点集中的特征点采用光流法进行跟踪,从b10中获取到的匹配特征点集包括特征点(c2′,c4′,c5′,c6′,c8′),则使用PnP算法对(c2,c4,c5,c6,c8)每个特征点的三维坐标和(c2′,c4′,c5′,c6′,c8′)每个特征点的二维坐标进行计算,计算出所述第(i+1)帧图像对应的面部姿态。
接下来执行步骤S1043,通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标和所述第(i+1)帧图像对应的面部姿态,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
在具体实施过程中,可通过特征提取算法从第(i+1)帧图像中提取跟踪特征点集,然后再通过步骤S1042计算出所述第(i+1)帧图像对应的面部姿态之后,再根据所述第(i+1)帧图像的述跟踪特征点集中每个特征点的二维坐标和所述第(i+1)帧图像对应的面部姿态,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标;当然,也可以在执行步骤S1042的同时,通过特征提取算法从所述第(i+1)帧图像中提取跟踪特征点集;也可以在执行步骤S1042之后,通过特征提取算法从所述第(i+1)帧图像中提取跟踪特征点集,本申请不作具体限制。
具体来讲,首先根据第(i+1)帧图像对应的面部姿态,求出所述摄像设备的光心在物体坐标系下的三维坐标;根据图像坐标系和相机坐标系的映射关系,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点在相机坐标系下的三维坐标;根据所述光心在物体坐标系下的三维坐标和所述第(i+1)帧图像的跟踪特征点集中每个特征点在相机坐标系下的三维坐标,获取所述跟踪特征点集中每个特征点的射线方向向量;根据每个特征点的射线方向向量和所述面部3D模型的三角面,获取每个特征点与所述面部3D模型中的一个三角面的相交点的三维坐标为每个特征点在物体坐标系中的三维坐标。
本申请实施例中,步骤S1043的具体实施方式参考步骤S103叙述,为了说明书的简洁,在此就不再赘述了。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,若b9为初始帧图像,在b9为第1帧图像,相应的b10为第2帧图像,b11为第3帧图像……直到bk为第(n+1)帧图像。
其中,若b9的跟踪特征点集包括特征点(c1,c2,c3,c4,c5,c6,c7,c8),将b9的跟踪特征点集中的特征点采用光流法进行跟踪,从b10中获取到的匹配特征点集包括特征点(c2′,c4′,c5′,c6′,c8′),且c2与c2′匹配,c4与c4′匹配,c5与c5′匹配,c6与c6′匹配和c8与c8′匹配,如此,可以利用PnP算法对(c2,c4,c5,c6,c8)中每个特征点在物体坐标系下的三维坐标和(c2′,c4′,c5′,c6′,c8′)中每个特征点在图像坐标下的二维坐标进行计算,获取到b10对应的面部姿态;以及通过特征提取算法从b10中提取跟踪特征点集包括特征点(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10),再根据b10对应的面部姿态、b10的跟踪特征点集中每个特征点的二维坐标和摄像头a的内参数,获取到b10的跟踪特征点集中每个特征点在物体坐标系下的三维坐标。
进一步的,在获取到b10的跟踪特征点集之后,将b10的跟踪特征点集中的特征点采用光流法进行跟踪,从b11中获取到匹配特征点集包括特征点(d1′,d3′,d5′,d6′,d8′,d9′),其中,d1与d1′匹配,d1与d1′匹配,d3与d3′匹配,d5与d5′匹配,d6与d6′匹配,d8与d8′匹配和d9与d9′匹配,则可以利用PnP算法对获取到的(d1,d3,d5,d6,d8,d9)中每个特征点在物体坐标系下的三维坐标和(d1′,d3′,d5′,d6′,d8′,d9′)在图像坐标系下的二维坐标进行计算,获取到b11对应的面部姿态;同样通过特征提取算法从b11中提取跟踪特征点集,再根据b11对应的面部姿态、b11的跟踪特征点集中每个特征点的二维坐标和摄像头a的内参数,获取到b11的跟踪特征点集中每个特征点在物体坐标系下的三维坐标;如此,通过此种方式,可以依次获取到b9之后的每一帧图像的跟踪特征点集中每个特征点在物体坐标系下的三维坐标;以及在获取每一帧图像的跟踪特征点集中每个特征点在物体坐标系下的三维坐标时,根据该帧图像对应每个特征点在物体坐标系下的三维坐标,即可以确定该帧图像中人脸姿态,进而完成了针对人脸的面部追踪。
在本申请的另一实施例中,如图3所示,所述方法还包括:
S301、创建关键帧集合,在获取所述初始帧图像之后,将所述初始帧图像作为关键帧图像存储到所述关键帧集合中,并将所述初始帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中:
S302、以及依次针对所述初始帧图像及之后的每一帧图像,判断该帧图像和所述关键帧集合中每个关键帧图像之间的相似度是否小于第一预设相似度,在判断出该帧图像和每个关键帧图像之间的相似度均小于所述第一预设相似度时,将该帧图像作为关键帧图像并存储到所述关键帧集合中,并将该帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中
本申请实施例中,可以在执行步骤S101之前就已创建所述关键帧集合,也可以执行步骤S101的同时创建所述关键帧集合,也可以在通过步骤S101获取到所述初始帧图像之前,创建所述关键帧集合,且所述关键帧集合中存储有每个关键帧图像及其对应的跟踪特征点集中每个特征点的三维坐标。
在具体实施过程中,在创建所述关键帧集合之后,在获取到所述初始帧图像之后,则将所述初始帧图像作为关键帧图像并存储到所述关键帧集合中,并在通过步骤S103获取到所述初始帧图像的初始跟踪特征点集中每个特征点的三维坐标之后,将所述初始帧图像的跟踪特征点集中每个特征点的三维坐标存储到关键帧集合中。
具体来讲,在获取到所述初始帧图像之后,则会依次获取第2、第3直至第(n+1)帧图像,这时会确定出获取的某一帧图像不是所述初始帧图像,则执行步骤S303。
本申请实施例中,所述关键帧集合中还存储有每帧图像的跟踪特征点集中每个特征点的特征描述信息;进一步的,所述第一预设相似度根据实际情况来确定,也可以预先设定,所述第一预设相似度可以取50%~90%的值。
本申请实施例中,在执行步骤S303过程中,可以通过欧式距离、归一化算法等相似度算法来计算出某一帧图像和所述关键帧集合中每个关键帧图像之间的相似度,然后再判断该帧图像和所述关键帧集合中每个关键帧图像之间的相似度是否小于所述第一预设相似度。
具体的,在执行步骤S303过程中,在判断某一帧图像和每个关键帧图像之间的相似度是否均小于所述第一预设相似度时,可以通过该帧图像对应的面部姿态与所述每个关键帧图像对应的面部姿态进行判断;在通过面部姿态判断该帧图像和每个关键帧图像之间的相似度是否小于所述第一预设相似度时,可以通过步骤S1041~S1042和步骤S101~S102来获取到所述第i帧图像和每个关键帧图像对应的面部姿态,然后再进行判断。
本申请实施例中,在判断某一帧图像和每个关键帧图像之间的相似度均小于所述第一预设相似度时,则可以确定该帧图像和每个关键帧图像之间的差异较大,如此,在将该帧图像作为关键帧图像后,使得所述关键帧集合中每两个关键帧图像之间的差异较大,以使得所述关键帧集合中关键帧图像的数量降低,降低在执行步骤S303时进行相似度计算量降低,以提高判断的效率;其中,在将该帧图像作为关键帧图像之后,可以将该帧图像的跟踪特征点集中每个特征点的三维坐标和特征描述信息、以及所述第i帧图像对应的面部姿态存储到所述关键帧集合中。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,若b9为初始帧图像,即b9是第1帧图像,相应的b10为第2帧图像,b11为第3帧图像……直到bk为第(N+1)帧图像。
其中,首先会创建一个关键帧集合,在获取b9是初始帧图像之后,将b9作为关键帧图像并存储到所述关键帧集合中,并将b9的跟踪特征点集中每个特征点在物体坐标系下的三维坐标和特征描述信息、以及b9对应的面部姿态存储到所述关键帧集合中;然后再判断B10是否为关键帧图像,则通过b10和b9的面部姿态判断b10和b9之间的相似度是否小于第一预设相似度,若小于,则将b10作为关键帧图像并存储到所述关键帧集合中,并将b10的跟踪特征点集中每个特征点在物体坐标系下的三维坐标和特征描述信息、以及b10对应的面部姿态存储到所述关键帧集合中。
进一步,在获取到b11之后,再判断B11是否为关键帧图像,则通过b11、b10和b9对应的面部姿态分别判断b11和b9之间的相似度和b11和b10之间的相似度是否均小于第一预设相似度,若均小于,则将b11作为关键帧图像并存储到所述关键帧集合中,并将b11的跟踪特征点集中每个特征点在物体坐标系下的三维坐标和特征描述信息、以及b11对应的面部姿态存储到所述关键帧集合中;若不均小于,则判定b11不为关键帧图像;然后依次对b12至bn的每一帧图像执行如上述针对b11的步骤,从而将符合条件的图像作为关键帧图像并存储到所述关键帧集合中,并将关键帧图像的跟踪特征点集中每个特征点的三维坐标和特征描述信息、以及关键帧图像对应的面部姿态存储到所述关键帧集合中。
由此可知,通过步骤S301~S303,使得所述关键帧集合中的关键帧图像的数量逐渐增多,且由于所述关键帧集合中每两个关键帧图像之间的差异较大,使得所述关键帧集合中关键帧图像的数量降低,以提高判断的效率。
本申请另一实施例中,在建立所述关键帧集合的基础上,且在计算出所述第(i+1)帧图像对应的面部姿态之后,所述方法还包括:
S401、判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功;
S402、若所述第(i+1)帧图像对应的面部姿态跟踪失败,则对所述第(i+1)帧图像进行特征点检测,得到第一检测特征点集,其中,所述第一检测特征点集包括每个特征点在图像区域内的特征描述信息;利用特征描述信息从所述关键帧集合中确定与所述第(i+1)帧图像匹配的匹配关键帧图像,并获取所述第(i+1)帧图像和所述匹配关键帧图像的第一匹配特征点对;利用所述第一匹配特征点对中属于所述第一检测特征点集的特征点的二维坐标和所述第一匹配特征点对中属于所述匹配关键帧图像的跟踪特征点集的特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;再根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标;
S403、若所述第(i+1)帧图像对应的面部姿态跟踪成功,则根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
其中,在计算出所述第(i+1)帧图像对应的面部姿态之后,由于i依次取1到n,则可以确定步骤S401是用于在依次获取第2帧至第(n+1)帧图像对应的面部姿态之后,判断获取的每一帧图像对应的面部姿态是否跟踪成功;即首先在获取第2帧图像对应的面部姿态之后,判断所述第2帧图像对应的面部姿态是否跟踪成功;然后在获取第3帧图像对应的面部姿态之后,判断所述第3帧图像对应的面部姿态是否跟踪成功;直至获取到第(n+1)帧图像对应的面部姿态之后,判断所述第(n+1)帧图像对应的面部姿态是否跟踪成功。
在具体实施过程中,在判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功时,可以采用两种判断方法来进行判断,其中,第一种判断方法具体包括以下步骤,如图4所示:
S501、将所述面部3D模型按照所述第(i+1)帧图像对应的面部姿态投影到图像平面,获取到投影后的投影图像;
S502、将所述投影图像和所述第(i+1)帧图像进行重叠处理,判断所述投影图像所在区域是否超出所述第(i+1)帧图像所在区域,获取第一判断结果;
S503、根据所述第一判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
其中,在步骤S501中,在获取到所述第(i+1)帧图像对应的面部姿态之后,然后将所述面部3D模型按照所述第(i+1)帧图像对应的面部姿态投影到图像平面,获取到所述投影图像;而由于i依次从1取到n,则确定通过步骤S501依次获取第2、第3至第(n+1)帧图像对应的投影图像。
在具体实施过程中,可以采用投影算法将所述面部3D模型按照所述第(i+1)帧图像对应的面部姿态投影到图像平面,进而获取到所述投影图像;其中,所述投影算法例如可以是光线投影算法、仿射投影算法等。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,且b9为第1帧图像;而,b10为第2帧图像,i=2>1,在获取到b10对应的面部姿态之后,采用投影算法将所述面部3D模型按照b10对应的面部姿态投影到图像平面,获取到b10对应的投影图像b101;以及在获取到作为第3帧图像的b11对应的面部姿态之后,采用投影算法将所述面部3D模型按照b11对应的面部姿态投影到图像平面,获取到b11对应的投影图像b111;直至到获取到作为第n帧图像的bk对应的面部姿态之后,采用投影算法将所述面部3D模型按照bk对应的面部姿态投影到图像平面,获取到bk对应的投影图像bk1。
接下来执行步骤S502,在该步骤中,在通过步骤S501获取到所述投影图像之后,将所述投影图像和所述第(i+1)帧图像进行重叠处理,判断所述投影图像所在区域是否超出所述第(i+1)帧图像所在区域,获取所述第一判断结果。
在具体实施过程中,所述投影图像和所述第(i+1)帧图像均为矩形,使得在判断所述投影图像所在区域是否超出所述第(i+1)帧图像所在区域时,可以获取所述投影图像的4个顶点坐标和所述第(i+1)帧图像的4个顶点坐标;然后将上述两组顶部坐标进行比对,判断所述投影图像所在区域是否超出所述第(i+1)帧图像所在区域,从而获取到所述第一判断结果。
具体来讲,也可以在获取所述投影图像的4个顶点坐标之后,判断所述投影图像的4个顶点坐标是否有任何一个顶点坐标位于在所述第(i+1)帧图像的4个顶点坐标组成的区域之外,若存在,则可以确定所述第一判断结果表征所述投影图像所在区域超出了所述第(i+1)帧图像所在区域;若所述投影图像的4个顶点坐标中不存在任何一个顶点坐标位于在所述第(i+1)帧图像的4个顶点坐标组成的区域之外,则可以确定所述第一判断结果表征所述投影图像所在区域未超出所述第(i+1)帧图像所在区域。
接下来执行步骤S503,在该步骤中,根据所述第一判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
在具体实施过程中,若所述第一判断结果表征所述投影图像所在区域超出所述第(i+1)帧图像所在区域,则判定所述第(i+1)帧图像对应的面部姿态跟踪失败,然后执行步骤S402;若所述第一判断结果表征所述投影图像所在区域未超出所述第(i+1)帧图像所在区域,则判定所述第(i+1)帧图像对应的面部姿态跟踪成功,然后执行步骤S403。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,且b9为第1帧图像;而,b10为第2帧图像,i=2>1,在获取到b10对应的面部姿态之后,采用投影算法将所述面部3D模型按照b10对应的面部姿态投影到图像平面,获取到b10对应的投影图像b101,然后获取b101的4个顶点坐标,并判断b101的4个顶点坐标是否均在b10的4个顶点坐标组成的区域内,若均在,则可以确定b10对应的面部姿态跟踪成功,然后执行步骤S403;若b101的4个顶点坐标中存在一个顶点坐标在b10的4个顶点坐标组成的区域外,则可以确定b10对应的面部姿态跟踪失败,然后执行步骤S402;然后依次针对b11、b12至bk执行上述操作,依次判断出b10之后的每一帧图像对应的面部姿态是否跟踪成功,然后执行步骤S402或步骤S403。
本申请实施例中,在通过步骤S401确定出所述第(i+1)帧图像对应的面部姿态跟踪失败时,执行步骤S402;以及在通过步骤S401确定出所述第(i+1)帧图像对应的面部姿态跟踪成功时,执行步骤S403,其中,步骤S403的具体实施过程可以参考步骤S1043的叙述,为了说明书的简洁,在此就不再赘述了。
其中,在执行步骤S402过程中,由于所述第(i+1)帧图像对应的面部姿态跟踪失败,则可通过特征点检测方法对所述第(i+1)帧图像进行特征点检测,得到第一检测特征点集,由于i依次从1取到n,则会通过特征点检测方法依次对第2、第3至第(n+1)帧图像进行特征点检测,得到相应帧图像的检测特征点集,且在通过所述特征点检测方法获取到所述第一检测特征点集时,会检测到所述第一检测特征点集中每个特征点的特征描述信息、位置信息等,使得所述第一检测特征点集中能够包括每个特征点的特征描述信息和/或位置信息。
具体来讲,若所述关键帧集合中存储有每个关键帧图像的跟踪特征点集中每个特征点特征描述信息,则可以直接利用特征描述信息将所述第(i+1)帧图像和所述关键帧集合中的每帧图像进行匹配,从而确定出与所述第(i+1)帧图像匹配的匹配关键帧图像;若所述关键帧集合中未存储有每个关键帧图像的跟踪特征点集中每个特征点特征描述信息,则可以通过特征点检测算法对每个关键帧图像进行检测,获取到每个关键帧图像的跟踪特征点集中每个特征点特征描述信息,再利用特征描述信息将所述第(i+1)帧图像和所述关键帧集合中的每帧图像进行匹配,从而确定出与所述第(i+1)帧图像匹配的匹配关键帧图像。
具体的,在确定了与所述第(i+1)帧图像匹配的匹配关键帧图像之后,通过特征匹配算法对所述第(i+1)帧图像和所述匹配关键帧图像进行特征点匹配,并获取到所述第一匹配特征点对。
本申请实施例中,所述特征点检测方法例如可以是ORB,SIFT,SURF、Harris角点和FAST特征点检测等算法等;进一步的,所述特征点匹配算法例如可以采用归一化互相关(Normalized Cross Correlation method,简称NCC)匹配算法、序贯相似性检测(sequential similarity detection algorithm,简称SSDA)算法和测度因子有像素灰度差的绝对值和(Sum of Absolute Differences,检测SAD)算法等。
具体的,由于在通过特征匹配算法对所述第(i+1)帧图像和所述匹配关键帧图像进行特征点匹配时,使用的是所述第一检测特征点集中特征点和所述匹配关键帧图像的跟踪特征点集中特征点进行匹配,使得获取的所述第一匹配特征点对包括属于所述第一检测特征点集和属于所述匹配关键帧图像的跟踪特征点集中的特征点;由于在获取所述第一检测特征点集时,会获取到所述第一检测特征点集中每个特征点的位置信息,从而可以根据所述第一检测特征点集中每个特征点的位置信息,获取到所述第一检测特征点集中每个特征点的二维坐标;而由于所述关键帧集合中存储有每个关键帧图像的跟踪特征点集中每个特征点的三维坐标,从而可以根据所述匹配关键帧图像的跟踪特征点集中每个特征点的三维坐标,获取到所述匹配关键帧图像的跟踪特征点集中每个特征点的三维坐标,从而可以获取到所述第一匹配特征点对中属于所述第一检测特征点集的特征点的二维坐标和所述第一匹配特征点对中属于所述匹配关键帧图像的跟踪特征点集中的特征点的三维坐标。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,且b9为第1帧图像;依次对b10、b11、直至bk对应的面部姿态进行检测,在首次检测到b12对应的面部姿态跟踪失败,且关键帧集合存储的关键帧为b9和b10时,通过特征点检测算法对b12进行特征点检测,获取到b12的检测特征点集(e1,e2,e3,e4,e5,e6,e7,e8,e9,e10)包括每个特征点的特征描述信息;然后利用特征描述信息分别将b12与b9和b10进行匹配,获取到与b12匹配的关键帧图像为b10;然后通过特征点匹配算法将(e1,e2,e3,e4,e5,e6,e7,e8,e9,e10)和(d1,d2,d3,d4,d5,d6,d7,d8,d9,d10)进行匹配,获取到第一匹配特征点对,所述第一匹配特征点对包括属于b12的特征点为(e2,e4,e5,e6,e9,e10)和属于b10的特征点为(d1,d3,d4,d6,d8,d9),其中,e2对应d1,e4对应d3,e5对应d4,e6对应d6,e9对应d8,e10对应d9。
其中,使用PnP算法对(e2,e4,e5,e6,e9,e10)每个特征点在图像坐标下的二维坐标和所述关键帧集合中存储的(d1,d3,d4,d6,d8,d9)中每个特征点在物体坐标系下的三维坐标进行计算,计算得到b12对应的面部姿态;然后通过执行步骤S1043获取到b12的跟踪特征点集中每个特征点在物体坐标系下的三维坐标。
本申请实施例中,除已指定的之外,特征点的二维坐标指的是特征点在图像坐标系下的二维坐标;特征点的三维坐标指的是特征点在物体坐标系下的二维坐标。
在具体实施过程中,使用上述两种判断方法中的第二种判断方法来判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功时,是使用ANSAC算法提取的内点数来进行判断的,如此,使得在计算出所述第(i+1)帧图像对应的面部姿态时,需要利用所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中每个特征点的三维坐标,使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态;如此,使得在使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态过程中,能够获取RANSAC算法提取的内点数;以及在获取到所述内点数之后,判断所述内点数是否小于阈值,获取第二判断结果;根据所述第二判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
具体来讲,若所述第二判断结果表征所述内点数小于所述阈值,则判定所述第(i+1)帧图像对应的面部姿态跟踪失败,然后执行步骤S402;若所述第二判断结果表征所述内点数不小于所述阈值,则判定所述第(i+1)帧图像对应的面部姿态跟踪成功,然后执行步骤S403;其中,所述阈值具体根据实际情况来确定,例如可以30、40、50、100等,本申请不作具体限制。
具体的,在使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态时,通过RANSAC算法多次调用PnP算法,获取到每次调用PnP算法获取的第(i+1)帧图像对应的面部姿态及内点数,并将获取到内点数最高的一次调用PnP算法获取的第(i+1)帧图像对应的面部姿态确定为所述第(i+1)帧图像对应的面部姿态。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,若b9为初始帧图像,在b9为第1帧图像,相应的b10为第2帧图像,b11为第3帧图像……直到bk为第(n+1)帧图像。
其中,以i=5为例,由于b13为第5帧图像,则确定第(i+1)帧图像为b14;此时,需要利用b13的跟踪特征点集中的特征点采用光流法进行跟踪,从b14获取到跟踪到的匹配特征点集,获取到b14的匹配特征点集中特征点的数量为50,则可知b13的跟踪特征点集中存在50个特征点与b14的匹配特征点集中特征点匹配,即b13和b14存在50个匹配特征点对;使用RANSAC算法多次调用PnP算法,例如可以通过RANSAC算法从50个匹配特征点对中选取25、35、38、45、48和50个匹配特征点对使用PnP进行计算。
进一步的,若获取到选取25个匹配特征点对时计算得到b14对应的面部姿态用f1表示和内点数用h1表示,具体用(f1,h1)表示,相应的,与35个匹配特征点对对应的b14对应的面部姿态和内点数为(f2,h2),与38个匹配特征点对对应的b14对应的面部姿态和内点数为(f3,h3),与45个匹配特征点对对应的b14对应的面部姿态和内点数为(f4,h4),与48个匹配特征点对对应的b14对应的面部姿态和内点数为(f5,h5),以及与50个匹配特征点对对应的b14对应的面部姿态和内点数为(f6,h6);若h1、h2、h3、h4、h5和h6中h4的数值最大,则最终确定b14对应的面部姿态和内点数为(f4,h4),然后判断h4是否小于所述阈值,若小于所述阈值,则判定所述第6帧图像即b14对应的面部姿态跟踪失败,然后执行步骤S402;若不小于所述阈值,则判定所述第6帧图像即b14对应的面部姿态跟踪成功,然后执行步骤S403。
在此实施例中,为了进一步提高跟踪的准确性,在使用前一帧图像对后一帧图像跟踪失败之后,将后一帧图像与所述关键帧集合中的每个关键帧图像进行特征点匹配,获取到与后一帧图像匹配的匹配关键帧图像,然后利用后一帧图像和所述匹配关键帧图像的匹配特征点对进行跟踪,由于是在跟踪失败之后,使用的是匹配关键帧图像对下一帧图像进行跟踪,且所述匹配关键帧图像与下下一帧图像的匹配度高,使得跟踪的准确性得到有效提高。
在本申请另一实施例中,在计算出所述第(i+1)帧图像对应的面部姿态之后,所述方法还包括:
S601、获取所述第(i+1)帧图像对应的面部姿态与所述关键帧集合中每个关键帧图像对应的面部姿态之间的相似度组成的相似度集合;
S602、检测所述相似度集合中是否存在一个相似度大于第二预设相似度;
S603、在检测到所述相似度集合中存在特定相似度大于所述第二预设相似度,且获取到所述第(i+2)帧图像之后,对所述第(i+2)帧图像进行特征点检测,得到第二检测特征点集;将所述第二特征点集中的特征点与所述特定相似度对应的特定关键帧图像的跟踪特征点集中的特征点进行匹配,获取到所述第(i+2)帧图像和所述特定关键帧图像的第二匹配特征点对;利用所述第二匹配特征点对中属于所述第二检测特征点集中的特征点的二维坐标和所述第二匹配特征点对中属于所述特定关键帧图像的跟踪特征点集中的特征点的三维坐标,获取所述第(i+2)帧图像对应的面部姿态;再根据所述第(i+2)帧图像对应的面部姿态、所述摄像设备的内参数和通过特征点提取算法从所述第(i+2)帧图像中提取跟踪特征点集中每个特征点的二维坐标,获取所述第(i+2)帧图像的跟踪特征点集中每个特征点的三维坐标。
本申请实施例中,步骤S601~S603可以间隔M帧执行一次,其中,M为大于1的整数,以防止在某一个关键帧图像附近持续使用一个关键帧图像,而多次使用同一个关键帧图像获取的多帧图像的跟踪特征点集中每个特征点的三维坐标时会存在误差概率大,使得通过步骤S601~S603也能够解决由于多次使用同一个关键帧图像获取的多帧图像的跟踪特征点集中每个特征点的三维坐标时会存在误差概率大的问题;而且每间隔M帧执行一次步骤S601~步骤603,也能够有效降低计算量。
其中,在步骤S601中,可以通过欧式距离、归一化算法等相似度算法来获取每个关键帧图像对应的面部姿态和所述第(i+1)帧图像对应的面部姿态之间的相似度,然后将获取的所有相似度组成所述相似度集合。
本申请实施例中,若所述关键帧集合中存储有每个关键帧图像对应的面部姿态,可以直接从所述关键帧集合中获取每个关键帧图像对应的面部姿态;若所述关键帧集合中未存储有每个关键帧图像对应的面部姿态,则可以通过步骤S1041~S1402获取到每个关键帧图像对应的面部姿态;然后再获取每个关键帧图像对应的面部姿态和所述第(i+1)帧图像对应的面部姿态之间的相似度。
在步骤S602中,将所述相似度集合中的每一个相似度分别与所述第二预设相似度进行对比,从而检测出所述相似度集合中是否存在一个相似度大于所述第二预设相似度。
本申请实施例中,所述第二预设相似度可以为不小于80%的值,例如为80%、90%、95%等,如此,在检测到一个相似度大于所述第二相似度时,将该相似度作为所述特定相似度,可以确定所述特定关键帧图像与所述第(i+1)帧图像的相似度极高,从而使得通过所述特定关键帧图像的相关参数来计算出所述第(i+2)帧图像的跟踪特征点集中每个特征点的三维坐标的准确度也较高;当然,所述第二预设相似度还可以为不小于70%或75%的值。
步骤S603的实施方式具体可以参考针对步骤S402的叙述,为了说明书的简洁,在此就不再赘述了。
例如,以摄像头a为例,若摄像头a在该段时间内获取针对人脸的图像依次为b1、b2、b3….bk,且b9为第1帧图像;依次对b10、b11、直至bk对应的面部姿态进行检测,若每隔4帧检测一次,由于b9为第1帧图像,则在获取到b13对应的面部姿态之后,此时关键帧集合存储的关键帧为b9和b10时,则获取b9和b13对应的面部姿态之间的相似度X1和b10和b13对应的面部姿态之间的相似度X2,若检测到X2大于所述第二预设相似度,则确定b10为特定关键帧图像;则在获取到b14之后,对b14进行特征点检测得到第一检测特征点集b141;获取b14和b10的第二匹配特征点对;利用所述第二匹配特征点对中属于b14的特征点的二维坐标和所述第二匹配特征点对中属于B10的特征点的三维坐标,计算出b14对应的面部姿态;再根据b14对应的面部姿态、摄像头a的内参数和通过特征点提取算法从b14中提取跟踪特征点集中每个特征点的二维坐标,获取b14的跟踪特征点集中每个特征点的三维坐标;由于是每隔4帧检测一次,则在获取到b18对应的面部之后,针对b18执行步骤S601~S603。
本申请实施例中,如图5所示,步骤S101~S103具体为初始帧图像注册阶段701,在通过步骤S101~103完成初始帧图像注册之后,然后进入跟踪阶段702(具体通过步骤S1041、S1042和S403实现)和检测阶段703(具体通过步骤S401~S402实现),其中,若跟踪阶段702跟踪失败,则进入检测阶段703;若跟踪阶段702跟踪成功,则下一步进入继续进入跟踪阶段702;若检测阶段703检测成功,则下一步进入跟踪阶段702;若检测阶段703检测失败,则下一步继续进入检测阶段703。
基于与上述方法相同的技术构思,本申请第二方面还提供了一种面部追踪设备,如图6所示,所述设备包括:
面部对齐单元801,用于利用预先建立的面部3D模型,按照时间先后次序对通过摄像设备实时获取的针对人脸的图像进行面部对齐处理,并将首次完成面部对齐的一帧图像作为初始帧图像,且保存所述面部3D模型中的预设对齐特征点集的三维坐标集和从所述初始帧图像中提取完成面部对齐的匹配对齐特征点集的二维坐标集;
面部初始姿态获取单元802,用于根据所述匹配对齐特征点集的二维坐标集和所述预设对齐特征点集的三维坐标集的对应关系,计算出所述初始帧图像对应的面部初始姿态;
三维坐标获取单元803,用于通过特征提取算法从所述初始帧图像中提取初始跟踪特征点集,并根据所述初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述摄像设备的内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标;
循环执行单元804,用于以所述初始帧图像为第1帧图像,依次针对第1帧图像之后的每一帧图像执行以下步骤:利用第i帧图像的跟踪特征点集中的特征点进行跟踪,从第(i+1)帧图像中获取跟踪到的匹配特征点集,其中,所述第(i+1)帧图像的匹配特征点集中的特征点与所述第i帧图像的跟踪特征点集中的部分特征点匹配,i依次从1取到n,n为大于1的整数;根据所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中每个特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
较佳的,所述设备还包括:
关键帧集合创建单元,用于在获取所述初始帧图像之后,依次针对所述初始帧图像及之后的每一帧图像执行以下步骤:若某一帧图像是所述初始帧图像,则将所述初始帧图像的跟踪特征点集中每个特征点的三维坐标存储到关键帧集合中;若某一帧图像不是所述初始帧图像,则判断该帧图像和所述关键帧集合中每个关键帧图像之间的相似度是否小于第一预设相似度,在判断出该帧图像和每个关键帧图像之间的相似度均小于所述第一预设相似度时,将该帧图像作为关键帧图像,并将该帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中。
较佳的,所述设备还包括:
姿态跟踪判断单元,用于在计算出所述第(i+1)帧图像对应的面部姿态之后,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功;
三维坐标获取单元703,还用于在所述第(i+1)帧图像对应的面部姿态跟踪失败时,对所述第(i+1)帧图像进行特征点检测,得到第一检测特征点集,其中,所述第一检测特征点集包括每个特征点在图像区域内的特征描述信息;利用特征描述信息从所述关键帧集合中确定与所述第(i+1)帧图像匹配的匹配关键帧图像,并获取所述第(i+1)帧图像和所述匹配关键帧图像的第一匹配特征点对;利用所述第一匹配特征点对中属于所述第一检测特征点集的特征点的二维坐标和所述第一匹配特征点对中属于所述匹配关键帧图像的跟踪特征点集的特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;再根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标;
三维坐标获取单元803,还用于在所述第(i+1)帧图像对应的面部姿态跟踪成功时,根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
较佳的,所述姿态跟踪判断单元还包括:
投影图像获取子单元,用于将所述面部3D模型按照所述第(i+1)帧图像对应的面部姿态投影到图像平面,获取到投影后的投影图像;
重叠判断单元,用于将所述投影图像和所述第(i+1)帧图像进行重叠处理,判断所述投影图像所在区域是否超出所述第(i+1)帧图像所在区域,获取第一判断结果;
姿态跟踪判断子单元,用于根据所述第一判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
较佳的,循环执行单元804还包括:
面部姿态获取子单元,用于利用所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中每个特征点的三维坐标,使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态。
较佳的,所述姿态跟踪判断单元还包括:
内点数提取子单元,用于在使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态过程中,获取RANSAC算法提取的内点数;
内点数判断子单元,用于判断所述内点数是否小于阈值,获取第二判断结果;
所述姿态跟踪判断子单元,还用于根据所述第二判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
较佳的,所述设备还包括:
相似度集合获取单元,用于在计算出所述第(i+1)帧图像对应的面部姿态之后,获取所述第(i+1)帧图像对应的面部姿态与所述关键帧集合中每个关键帧图像对应的面部姿态之间的相似度组成的相似度集合;
检测单元,用于检测所述相似度集合中是否存在一个相似度大于第二预设相似度;
三维坐标获取单元803,还用于在检测到所述相似度集合中存在特定相似度大于所述第二预设相似度,且获取到所述第(i+2)帧图像之后,对所述第(i+2)帧图像进行特征点检测,得到第二检测特征点集;将所述第二特征点集中的特征点与所述特定相似度对应的特定关键帧图像的跟踪特征点集中的特征点进行匹配,获取到所述第(i+2)帧图像和所述特定关键帧图像的第二匹配特征点对;利用所述第二匹配特征点对中属于所述第二检测特征点集中每个特征点的二维坐标和所述第二匹配特征点对中属于所述特定关键帧图像的跟踪特征点集中每个特征点的三维坐标,获取所述第(i+2)帧图像对应的面部姿态;再根据所述第(i+2)帧图像对应的面部姿态、所述摄像设备的内参数和通过特征点提取算法从所述第(i+2)帧图像中提取跟踪特征点集中每个特征点的二维坐标,获取所述第(i+2)帧图像的跟踪特征点集中每个特征点的三维坐标。
本发明的有益效果如下:
基于上述技术方案,本发明实施例中是使用前一帧的跟踪特征点集中的特征点像进行跟踪,从下一帧图像中获取跟踪到的匹配特征点集,如此,与现有技术相比,有效增加了进行跟踪的特征点的数量,必然会使得跟踪得到的特征点的数量也会增加,在跟踪得到的特征点的数量增加的情况下,使得人脸在较大角度的旋转过程中仍能找到较多的匹配特征点对,进而能够实现人脸在较大角度的旋转过程中仍能进行有效跟踪,并能提高鲁棒性的技术效果。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application SpecificIntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种面部追踪方法,其特征在于,所述方法包括:
利用预先建立的面部3D模型,按照时间先后次序对通过摄像设备实时获取的针对人脸的图像进行面部对齐处理,并将首次完成面部对齐的一帧图像作为初始帧图像,且保存所述面部3D模型中的预设对齐特征点集的三维坐标集和从所述初始帧图像中提取完成面部对齐的匹配对齐特征点集的二维坐标集;
根据所述二维坐标集和所述三维坐标集的对应关系,计算出所述初始帧图像对应的面部初始姿态;
利用通过特征提取算法从所述初始帧图像中提取初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述摄像设备的内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标;
以所述初始帧图像为第1帧图像,依次针对第1帧图像之后的每一帧图像执行以下步骤,其中,i依次从1取到n,n为大于1的整数:
利用第i帧图像的跟踪特征点集中的特征点进行跟踪;
利用从第(i+1)帧图像中获取跟踪到的匹配特征点集中特征点在图像区域的二维坐标和在所述面部3D模型的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;
利用所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
创建关键帧集合,在获取所述初始帧图像之后,将所述初始帧图像作为关键帧图像存储到所述关键帧集合中,并将所述初始帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中;
以及依次针对所述初始帧图像及之后的每一帧图像,判断该帧图像和所述关键帧集合中每个关键帧图像之间的相似度是否小于第一预设相似度,在判断出该帧图像和每个关键帧图像之间的相似度均小于所述第一预设相似度时,将该帧图像作为关键帧图像并存储到所述关键帧集合中,并将该帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中。
3.如权利要求2所述的方法,其特征在于,在计算出所述第(i+1)帧图像对应的面部姿态之后,所述方法还包括:
判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功;
若所述第(i+1)帧图像对应的面部姿态跟踪失败,则对所述第(i+1)帧图像进行特征点检测,得到第一检测特征点集,其中,所述第一检测特征点集包括每个特征点在图像区域内的特征描述信息;利用特征描述信息从所述关键帧集合中确定与所述第(i+1)帧图像匹配的匹配关键帧图像,并获取所述第(i+1)帧图像和所述匹配关键帧图像的第一匹配特征点对;利用所述第一匹配特征点对中属于所述第一检测特征点集的特征点的二维坐标和所述第一匹配特征点对中属于所述匹配关键帧图像的跟踪特征点集的特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;再根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标;
若所述第(i+1)帧图像对应的面部姿态跟踪成功,则根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
4.如权利要求3所述的方法,其特征在于,所述判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功,具体为:
将所述面部3D模型按照所述第(i+1)帧图像对应的面部姿态投影到图像平面,获取到投影后的投影图像;
将所述投影图像和所述第(i+1)帧图像进行重叠处理,判断所述投影图像所在区域是否超出所述第(i+1)帧图像所在区域,获取第一判断结果;
根据所述第一判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
5.如权利要求1所述的方法,其特征在于,所述根据所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中每个特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态,具体包括:
利用所述第(i+1)帧图像的匹配特征点集中每个特征点的二维坐标和所述第i帧图像的跟踪特征点集中每个特征点的三维坐标,使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态。
6.如权利要求5所述的方法,其特征在于,所述判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功,具体为:
在使用PnP和RANSAC算法计算出所述第(i+1)帧图像对应的面部姿态过程中,获取RANSAC算法提取的内点数;
判断所述内点数是否小于阈值,获取第二判断结果;
根据所述第二判断结果,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功。
7.如权利要求2所述的方法,其特征在于,在计算出所述第(i+1)帧图像对应的面部姿态之后,所述方法还包括:
获取所述第(i+1)帧图像对应的面部姿态与所述关键帧集合中每个关键帧图像对应的面部姿态之间的相似度组成的相似度集合;
检测所述相似度集合中是否存在一个相似度大于第二预设相似度;
在检测到所述相似度集合中存在特定相似度大于所述第二预设相似度,且获取到所述第(i+2)帧图像之后,对所述第(i+2)帧图像进行特征点检测,得到第二检测特征点集;将所述第二特征点集中的特征点与所述特定相似度对应的特定关键帧图像的跟踪特征点集中的特征点进行匹配,获取到所述第(i+2)帧图像和所述特定关键帧图像的第二匹配特征点对;利用所述第二匹配特征点对中属于所述第二检测特征点集中的特征点的二维坐标和所述第二匹配特征点对中属于所述特定关键帧图像的跟踪特征点集中的特征点的三维坐标,获取所述第(i+2)帧图像对应的面部姿态;再根据所述第(i+2)帧图像对应的面部姿态、所述摄像设备的内参数和通过特征点提取算法从所述第(i+2)帧图像中提取跟踪特征点集中每个特征点的二维坐标,获取所述第(i+2)帧图像的跟踪特征点集中每个特征点的三维坐标。
8.一种面部追踪设备,其特征在于,所述设备包括:
面部对齐单元,用于利用预先建立的面部3D模型,按照时间先后次序对通过摄像设备实时获取的针对人脸的图像进行面部对齐处理,并将首次完成面部对齐的一帧图像作为初始帧图像,且保存所述面部3D模型中的预设对齐特征点集的三维坐标集和从所述初始帧图像中提取完成面部对齐的匹配对齐特征点集的二维坐标集;
面部初始姿态获取单元,用于根据所述二维坐标集和所述三维坐标集的对应关系,计算出所述初始帧图像对应的面部初始姿态;
三维坐标获取单元,用于利用通过特征提取算法从所述初始帧图像中提取初始跟踪特征点集中每个特征点的二维坐标、所述面部初始姿态和所述摄像设备的内参数,获取所述初始跟踪特征点集中每个特征点的三维坐标;
循环执行单元,用于以所述初始帧图像为第1帧图像,依次针对第1帧图像之后的每一帧图像执行以下步骤,其中,i依次从1取到n,n为大于1的整数:利用第i帧图像的跟踪特征点集中的特征点进行跟踪;利用从第(i+1)帧图像中获取跟踪到的匹配特征点集中特征点在图像区域的二维坐标和在所述面部3D模型的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;利用所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
9.如权利要求8所述的设备,其特征在于,所述设备还包括:
关键帧集合创建单元,用于创建关键帧集合,在获取所述初始帧图像之后,将所述初始帧图像作为关键帧图像存储到所述关键帧集合中,并将所述初始帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中;以及依次针对所述初始帧图像及之后的每一帧图像,判断该帧图像和所述关键帧集合中每个关键帧图像之间的相似度是否小于第一预设相似度,在判断出该帧图像和每个关键帧图像之间的相似度均小于所述第一预设相似度时,将该帧图像作为关键帧图像并存储到所述关键帧集合中,并将该帧图像的跟踪特征点集中每个特征点的三维坐标存储到所述关键帧集合中。
10.如权利要求9所述的设备,其特征在于,所述设备还包括:
姿态跟踪判断单元,用于在计算出所述第(i+1)帧图像对应的面部姿态之后,判断所述第(i+1)帧图像对应的面部姿态是否跟踪成功;
所述三维坐标获取单元,还用于在所述第(i+1)帧图像对应的面部姿态跟踪失败时,对所述第(i+1)帧图像进行特征点检测,得到第一检测特征点集,其中,所述第一检测特征点集包括每个特征点在图像区域内的特征描述信息;利用特征描述信息从所述关键帧集合中确定与所述第(i+1)帧图像匹配的匹配关键帧图像,并获取所述第(i+1)帧图像和所述匹配关键帧图像的第一匹配特征点对;利用所述第一匹配特征点对中属于所述第一检测特征点集的特征点的二维坐标和所述第一匹配特征点对中属于所述匹配关键帧图像的跟踪特征点集的特征点的三维坐标,计算出所述第(i+1)帧图像对应的面部姿态;再根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标;
所述三维坐标获取单元,还用于在所述第(i+1)帧图像对应的面部姿态跟踪成功时,根据所述第(i+1)帧图像对应的面部姿态、所述内参数和通过特征点提取算法从所述第(i+1)帧图像中提取的跟踪特征点集中每个特征点的二维坐标,获取所述第(i+1)帧图像的跟踪特征点集中每个特征点的三维坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710053722.7A CN108345821B (zh) | 2017-01-24 | 2017-01-24 | 面部追踪方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710053722.7A CN108345821B (zh) | 2017-01-24 | 2017-01-24 | 面部追踪方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108345821A true CN108345821A (zh) | 2018-07-31 |
CN108345821B CN108345821B (zh) | 2022-03-08 |
Family
ID=62962995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710053722.7A Active CN108345821B (zh) | 2017-01-24 | 2017-01-24 | 面部追踪方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108345821B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241844A (zh) * | 2018-08-03 | 2019-01-18 | 百度在线网络技术(北京)有限公司 | 三维物体的姿态估计方法、装置、设备及存储介质 |
CN109360270A (zh) * | 2018-11-13 | 2019-02-19 | 盎锐(上海)信息科技有限公司 | 基于人工智能的3d人脸姿态对齐算法及装置 |
CN109754467A (zh) * | 2018-12-18 | 2019-05-14 | 广州市百果园网络科技有限公司 | 三维人脸构建方法、计算机存储介质和计算机设备 |
CN111311632A (zh) * | 2018-12-11 | 2020-06-19 | 深圳市优必选科技有限公司 | 一种物体位姿跟踪方法、装置及设备 |
CN112313707A (zh) * | 2019-08-30 | 2021-02-02 | 深圳市大疆创新科技有限公司 | 跟踪方法和可移动平台 |
CN112489084A (zh) * | 2020-12-09 | 2021-03-12 | 重庆邮电大学 | 一种基于人脸识别的轨迹跟踪系统及方法 |
CN112712044A (zh) * | 2021-01-05 | 2021-04-27 | 百果园技术(新加坡)有限公司 | 人脸追踪方法、装置、电子设备和存储介质 |
CN112818842A (zh) * | 2021-01-29 | 2021-05-18 | 徐文海 | 基于机器学习的智能图像识别游泳计时系统和计时方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2913128A1 (fr) * | 2007-02-23 | 2008-08-29 | Total Immersion Sa | Procede et dispositif de determination de la pose d'un objet tridimensionnel dans une image et procede et dispositif de creation d'au moins une image cle |
CN101281595A (zh) * | 2007-04-04 | 2008-10-08 | 索尼株式会社 | 用于面部确认的装置和方法、以及计算机程序 |
CN101763636A (zh) * | 2009-09-23 | 2010-06-30 | 中国科学院自动化研究所 | 视频序列中的三维人脸位置和姿态跟踪的方法 |
CN102075686A (zh) * | 2011-02-10 | 2011-05-25 | 北京航空航天大学 | 一种鲁棒的实时在线摄像机跟踪方法 |
CN102332095A (zh) * | 2011-10-28 | 2012-01-25 | 中国科学院计算技术研究所 | 一种人脸运动跟踪方法和系统以及一种增强现实方法 |
CN102402691A (zh) * | 2010-09-08 | 2012-04-04 | 中国科学院自动化研究所 | 一种对人脸姿态和动作进行跟踪的方法 |
CN102831382A (zh) * | 2011-06-15 | 2012-12-19 | 北京三星通信技术研究有限公司 | 人脸跟踪设备和方法 |
CN103530900A (zh) * | 2012-07-05 | 2014-01-22 | 北京三星通信技术研究有限公司 | 三维人脸模型的建模方法、人脸跟踪方法以及设备 |
CN104834897A (zh) * | 2015-04-09 | 2015-08-12 | 东南大学 | 一种基于移动平台的增强现实的系统及方法 |
CN105528805A (zh) * | 2015-12-25 | 2016-04-27 | 苏州丽多数字科技有限公司 | 一种虚拟人脸动画合成方法 |
CN105761245A (zh) * | 2016-01-29 | 2016-07-13 | 速感科技(北京)有限公司 | 一种基于视觉特征点的自动跟踪方法及装置 |
CN106157358A (zh) * | 2015-03-26 | 2016-11-23 | 成都理想境界科技有限公司 | 基于视频图像的对象融合方法及终端 |
CN106303706A (zh) * | 2016-08-31 | 2017-01-04 | 杭州当虹科技有限公司 | 基于人脸和物件跟踪实现以主角跟随视角观看虚拟现实视频的方法 |
-
2017
- 2017-01-24 CN CN201710053722.7A patent/CN108345821B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2913128A1 (fr) * | 2007-02-23 | 2008-08-29 | Total Immersion Sa | Procede et dispositif de determination de la pose d'un objet tridimensionnel dans une image et procede et dispositif de creation d'au moins une image cle |
CN101281595A (zh) * | 2007-04-04 | 2008-10-08 | 索尼株式会社 | 用于面部确认的装置和方法、以及计算机程序 |
CN101763636A (zh) * | 2009-09-23 | 2010-06-30 | 中国科学院自动化研究所 | 视频序列中的三维人脸位置和姿态跟踪的方法 |
CN102402691A (zh) * | 2010-09-08 | 2012-04-04 | 中国科学院自动化研究所 | 一种对人脸姿态和动作进行跟踪的方法 |
CN102075686A (zh) * | 2011-02-10 | 2011-05-25 | 北京航空航天大学 | 一种鲁棒的实时在线摄像机跟踪方法 |
CN102831382A (zh) * | 2011-06-15 | 2012-12-19 | 北京三星通信技术研究有限公司 | 人脸跟踪设备和方法 |
CN102332095A (zh) * | 2011-10-28 | 2012-01-25 | 中国科学院计算技术研究所 | 一种人脸运动跟踪方法和系统以及一种增强现实方法 |
CN103530900A (zh) * | 2012-07-05 | 2014-01-22 | 北京三星通信技术研究有限公司 | 三维人脸模型的建模方法、人脸跟踪方法以及设备 |
CN106157358A (zh) * | 2015-03-26 | 2016-11-23 | 成都理想境界科技有限公司 | 基于视频图像的对象融合方法及终端 |
CN104834897A (zh) * | 2015-04-09 | 2015-08-12 | 东南大学 | 一种基于移动平台的增强现实的系统及方法 |
CN105528805A (zh) * | 2015-12-25 | 2016-04-27 | 苏州丽多数字科技有限公司 | 一种虚拟人脸动画合成方法 |
CN105761245A (zh) * | 2016-01-29 | 2016-07-13 | 速感科技(北京)有限公司 | 一种基于视觉特征点的自动跟踪方法及装置 |
CN106303706A (zh) * | 2016-08-31 | 2017-01-04 | 杭州当虹科技有限公司 | 基于人脸和物件跟踪实现以主角跟随视角观看虚拟现实视频的方法 |
Non-Patent Citations (5)
Title |
---|
JIMÉNEZ P等: "Face tracking and pose estimation with automatic three-dimensional model construction", 《IET COMPUTER VISION》 * |
KARL PAUWELS等: "SimTrack: A simulation-based framework for scalable real-time object pose detection and tracking", 《2015 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS)》 * |
PHAM H X等: "Robust real-time performance-driven 3D face tracking", 《2016 23RD INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION (ICPR)》 * |
段鸿等: "基于Kanade-Lucas-Tomasi算法的人脸特征点跟踪方法", 《计算机辅助设计与图形学学报》 * |
池强等: "基于视频序列的面部特征跟踪系统的实现", 《计算机工程与设计》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11145080B2 (en) | 2018-08-03 | 2021-10-12 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method and apparatus for three-dimensional object pose estimation, device and storage medium |
CN109241844A (zh) * | 2018-08-03 | 2019-01-18 | 百度在线网络技术(北京)有限公司 | 三维物体的姿态估计方法、装置、设备及存储介质 |
CN109241844B (zh) * | 2018-08-03 | 2020-11-17 | 百度在线网络技术(北京)有限公司 | 三维物体的姿态估计方法、装置、设备及存储介质 |
CN109360270A (zh) * | 2018-11-13 | 2019-02-19 | 盎锐(上海)信息科技有限公司 | 基于人工智能的3d人脸姿态对齐算法及装置 |
CN109360270B (zh) * | 2018-11-13 | 2023-02-10 | 盎维云(深圳)计算有限公司 | 基于人工智能的3d人脸姿态对齐方法及装置 |
CN111311632A (zh) * | 2018-12-11 | 2020-06-19 | 深圳市优必选科技有限公司 | 一种物体位姿跟踪方法、装置及设备 |
CN111311632B (zh) * | 2018-12-11 | 2023-12-01 | 深圳市优必选科技有限公司 | 一种物体位姿跟踪方法、装置及设备 |
CN109754467A (zh) * | 2018-12-18 | 2019-05-14 | 广州市百果园网络科技有限公司 | 三维人脸构建方法、计算机存储介质和计算机设备 |
CN109754467B (zh) * | 2018-12-18 | 2023-09-22 | 广州市百果园网络科技有限公司 | 三维人脸构建方法、计算机存储介质和计算机设备 |
CN112313707A (zh) * | 2019-08-30 | 2021-02-02 | 深圳市大疆创新科技有限公司 | 跟踪方法和可移动平台 |
CN112489084A (zh) * | 2020-12-09 | 2021-03-12 | 重庆邮电大学 | 一种基于人脸识别的轨迹跟踪系统及方法 |
CN112712044A (zh) * | 2021-01-05 | 2021-04-27 | 百果园技术(新加坡)有限公司 | 人脸追踪方法、装置、电子设备和存储介质 |
WO2022148349A1 (zh) * | 2021-01-05 | 2022-07-14 | 百果园技术(新加坡)有限公司 | 人脸追踪方法、装置、电子设备和存储介质 |
CN112712044B (zh) * | 2021-01-05 | 2023-08-08 | 百果园技术(新加坡)有限公司 | 人脸追踪方法、装置、电子设备和存储介质 |
CN112818842A (zh) * | 2021-01-29 | 2021-05-18 | 徐文海 | 基于机器学习的智能图像识别游泳计时系统和计时方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108345821B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345821A (zh) | 面部追踪方法及设备 | |
CN110555901B (zh) | 动静态场景的定位和建图方法、装置、设备和存储介质 | |
US10033985B2 (en) | Camera pose estimation apparatus and method for augmented reality imaging | |
CN103646391B (zh) | 一种针对动态变化场景的实时摄像机跟踪方法 | |
CN109166149A (zh) | 一种融合双目相机与imu的定位与三维线框结构重建方法与系统 | |
CN108776976B (zh) | 一种同时定位与建图的方法、系统及存储介质 | |
CN108682027A (zh) | 基于点、线特征融合的vSLAM实现方法及系统 | |
CN111156984A (zh) | 一种面向动态场景的单目视觉惯性slam方法 | |
Serradell et al. | Combining geometric and appearance priors for robust homography estimation | |
Xiong et al. | Supervised descent method for solving nonlinear least squares problems in computer vision | |
EP3028252A1 (en) | Rolling sequential bundle adjustment | |
CN107329962B (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
CN108955718A (zh) | 一种视觉里程计及其定位方法、机器人以及存储介质 | |
CN113689503B (zh) | 目标对象的姿态检测方法、装置、设备及存储介质 | |
CN104050475A (zh) | 基于图像特征匹配的增强现实的系统和方法 | |
CN110096925A (zh) | 人脸表情图像的增强方法、获取方法和装置 | |
CN106204574A (zh) | 基于目标平面运动特征的相机位姿自标定方法 | |
US9846974B2 (en) | Absolute rotation estimation including outlier detection via low-rank and sparse matrix decomposition | |
Choi et al. | Robust 3D visual tracking using particle filtering on the SE (3) group | |
JPWO2015146101A1 (ja) | 顔照合装置、方法、及び、記録媒体 | |
CN108428249A (zh) | 一种基于光流跟踪和双几何模型的初始位姿估计方法 | |
CN112001859A (zh) | 一种人脸图像的修复方法及系统 | |
Nieto et al. | Non-linear optimization for robust estimation of vanishing points | |
CN112907633B (zh) | 动态特征点识别方法及其应用 | |
Azad et al. | Accurate shape-based 6-dof pose estimation of single-colored objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |