CN108875506B - 人脸形状点跟踪方法、装置和系统及存储介质 - Google Patents
人脸形状点跟踪方法、装置和系统及存储介质 Download PDFInfo
- Publication number
- CN108875506B CN108875506B CN201711146381.4A CN201711146381A CN108875506B CN 108875506 B CN108875506 B CN 108875506B CN 201711146381 A CN201711146381 A CN 201711146381A CN 108875506 B CN108875506 B CN 108875506B
- Authority
- CN
- China
- Prior art keywords
- face
- frame
- current
- shape point
- video frame
- 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.)
- Active
Links
Images
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/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- 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
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种人脸形状点跟踪方法、装置和系统以及存储介质。该方法包括:步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;步骤S220:从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框;步骤S230:基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点;步骤S240:基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框;以及步骤S250:确定下一视频帧为当前视频帧并返回步骤S230。上述方法可以提升人脸形状点定位的准确度、效率和鲁棒性。
Description
技术领域
本发明涉及人脸识别领域,更具体地涉及一种人脸形状点跟踪方法、装置和系统以及存储介质。
背景技术
人脸形状点跟踪技术是指在连续的视频帧序列中跟踪一个或多个人脸,并实时输出每帧中人脸的形状点。该技术作为人脸分析领域的一项通用技术,在很多场合都具有非常重要的作用。比如公共安全领域基于此技术锁定特定人的活动轨迹,驾驶员疲劳检测中判断人脸的连续动作,手机美颜中实时定位人脸后对人脸图像进行处理,视频直播行业实时跟踪人脸后在人脸上添加各种道具等。人脸形状点跟踪的准确性、鲁棒性和效率是该技术所关心的主要问题。
发明内容
考虑到上述问题而提出了本发明。本发明提供了一种人脸形状点跟踪方法、装置和系统以及存储介质。
根据本发明一方面,提供了一种人脸形状点跟踪方法。该方法包括:步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;步骤S220:从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框;步骤S230:基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点;步骤S240:基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框;以及步骤S250:确定下一视频帧为当前视频帧并返回步骤S230。
示例性地,步骤S240包括:根据当前人脸形状点调整当前人脸框;以及基于调整后的人脸框计算后续人脸框。
示例性地,根据当前人脸形状点调整当前人脸框包括:将当前人脸框调整为当前人脸形状点的外包围盒。
示例性地,步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;计算当前人脸框与预估人脸框之间的偏移量;根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及根据预估人脸形状点调整预估人脸框以获得后续人脸框。
示例性地,步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
示例性地,在步骤S220之后且在步骤S240之前,方法还包括:步骤S222:计算当前人脸框中包含人脸的置信度;步骤S224:判断置信度是否小于预设阈值,如果是,则转至步骤S226;步骤S226:确定下一视频帧为当前视频帧并返回步骤S210;其中,步骤S240在置信度大于或等于预设阈值的情况下执行。
示例性地,步骤S222和步骤S230利用同一卷积神经网络实现。
示例性地,步骤S220包括:在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
根据本发明另一方面,提供了一种人脸形状点跟踪装置,包括:人脸检测模块,用于对当前视频帧进行人脸检测,以获得至少一个人脸框;选择模块,用于从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框;形状点定位模块,用于基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点;人脸框计算模块,用于基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框;以及第一视频帧确定模块,用于确定下一视频帧为当前视频帧并启动形状点定位模块。
示例性地,人脸框计算模块包括:第一调整子模块,用于根据当前人脸形状点调整当前人脸框;以及后续人脸框计算子模块,用于基于调整后的人脸框计算后续人脸框。
示例性地,调整子模块包括:调整单元,用于将当前人脸框调整为当前人脸形状点的外包围盒。
示例性地,人脸框计算模块包括:第一计算子模块,用于采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;偏移量计算子模块,用于计算当前人脸框与预估人脸框之间的偏移量;形状点确定子模块,用于根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及第二调整子模块,用于根据预估人脸形状点调整预估人脸框以获得后续人脸框。
示例性地,人脸框计算模块包括:第二计算子模块,用于采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
示例性地,装置还包括:置信度计算模块,用于在选择模块从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框之后且在人脸框计算模块基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框之前,计算当前人脸框中包含人脸的置信度;判断模块,用于判断置信度是否小于预设阈值,如果是,则启动第二视频帧确定模块;第二视频帧确定模块,用于确定下一视频帧为当前视频帧并启动人脸检测模块;其中,人脸框计算模块在置信度大于或等于预设阈值的情况下启动。
示例性地,置信度计算模块和形状点定位模块利用同一卷积神经网络实现。
示例性地,选择模块包括:第一选择子模块,用于在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,第二选择子模块,用于在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
根据本发明另一方面,提供了一种人脸形状点跟踪系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行以下步骤:步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;步骤S220:从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框;步骤S230:基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点;步骤S240:基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框;以及步骤S250:确定下一视频帧为当前视频帧并返回步骤S230。
示例性地,所述计算机程序指令被所述处理器运行时所用于执行的步骤S240包括:根据当前人脸形状点调整当前人脸框;以及基于调整后的人脸框计算后续人脸框。
示例性地,所述计算机程序指令被所述处理器运行时所用于执行的根据当前人脸形状点调整当前人脸框的步骤包括:将当前人脸框调整为当前人脸形状点的外包围盒。
示例性地,所述计算机程序指令被所述处理器运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;计算当前人脸框与预估人脸框之间的偏移量;根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及根据预估人脸形状点调整预估人脸框以获得后续人脸框。
示例性地,所述计算机程序指令被所述处理器运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
示例性地,在所述计算机程序指令被所述处理器运行时所用于执行的步骤S220之后且在所述计算机程序指令被所述处理器运行时所用于执行的步骤S240之前,所述计算机程序指令被所述处理器运行时还用于执行以下步骤:步骤S222:计算当前人脸框中包含人脸的置信度;步骤S224:判断置信度是否小于预设阈值,如果是,则转至步骤S226;步骤S226:确定下一视频帧为当前视频帧并返回步骤S210;其中,所述计算机程序指令被所述处理器运行时所用于执行的步骤S240在置信度大于或等于预设阈值的情况下执行。
示例性地,所述计算机程序指令被所述处理器运行时所用于执行的步骤S222和步骤S230利用同一卷积神经网络实现。
示例性地,所述计算机程序指令被所述处理器运行时所用于执行的步骤S220包括:在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
根据本发明另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行以下步骤:步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;步骤S220:从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框;步骤S230:基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点;步骤S240:基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框;以及步骤S250:确定下一视频帧为当前视频帧并返回步骤S230。
示例性地,所述程序指令在运行时所用于执行的步骤S240包括:根据当前人脸形状点调整当前人脸框;以及基于调整后的人脸框计算后续人脸框。
示例性地,所述程序指令在运行时所用于执行的根据当前人脸形状点调整当前人脸框的步骤包括:将当前人脸框调整为当前人脸形状点的外包围盒。
示例性地,所述程序指令在运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;计算当前人脸框与预估人脸框之间的偏移量;根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及根据预估人脸形状点调整预估人脸框以获得后续人脸框。
示例性地,所述程序指令在运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
示例性地,在所述程序指令在运行时所用于执行的步骤S220之后且在所述程序指令在运行时所用于执行的步骤S240之前,所述程序指令在运行时还用于执行以下步骤:步骤S222:计算当前人脸框中包含人脸的置信度;步骤S224:判断置信度是否小于预设阈值,如果是,则转至步骤S226;步骤S226:确定下一视频帧为当前视频帧并返回步骤S210;其中,所述程序指令在运行时所用于执行的步骤S240在置信度大于或等于预设阈值的情况下执行。
示例性地,所述程序指令在运行时所用于执行的步骤S222和步骤S230利用同一卷积神经网络实现。
示例性地,所述程序指令在运行时所用于执行的步骤S220包括:在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
根据本发明实施例的人脸形状点跟踪方法、装置和系统以及存储介质,人脸框跟踪为人脸形状点跟踪提供了更准确的人脸位置信息,可以提升人脸形状点定位的准确度和效率,并且可以很难好地应对人脸快速运动、表情变化、姿态变化等恶劣场景下的人脸定位与跟踪。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出用于实现根据本发明实施例的人脸形状点跟踪方法和装置的示例电子设备的示意性框图;
图2示出根据本发明一个实施例的人脸形状点跟踪方法的示意性流程图;
图3示出根据本发明一个实施例的人脸形状点跟踪流程的示意图;
图4示出根据本发明另一个实施例的人脸形状点跟踪方法的示意性流程图;
图5示出了根据本发明一个实施例的人脸形状点跟踪装置的示意性框图;以及
图6示出了根据本发明一个实施例的人脸形状点跟踪系统的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
目前人脸形状点跟踪的相关技术主要分为两类,第一类通过有监督的梯度下降方法(Supervised Descent Method,SDM)模型或卷积神经网络(Convolutional NeuralNetwork,CNN)迭代输出人脸形状点,其先对视频帧序列中第一张人脸进行形状点定位,然后以该人脸形状作为下一帧的人脸的初始化形状,计算得到下一帧人脸的形状点,依次迭代得到整段视频中人脸的形状点。由于依赖于上一帧的人脸形状点,这类方法在人脸发生较大的移动或姿态变化时往往难以应对。另一类方法将人脸形状点分为器官点与轮廓点,当姿态变化或表情变化较大时只跟踪轮廓点,来应对复杂的跟踪情况,但仍然无法解决运动过快的问题。在跟踪过程中,为避免出现人脸离开画面但形状点继续跟踪的缺陷,一些方法通过计算前后两帧跟踪上的人脸形状点的数目来判断当前帧是否跟踪成功。由于人脸形状点本身特征不够丰富,该类方法也不够鲁棒。
为了解决上文所述的问题,本发明实施例提供一种人脸形状点跟踪方法、装置和系统以及存储介质。本发明实施例提供的人脸形状点跟踪方法将人脸框跟踪与形状点跟踪相结合,从跟踪到的人脸框中识别人脸形状点,可以快速准确地实现人脸形状点的跟踪。本发明实施例提供一种可以部署在任意平台的实时人脸形状点跟踪方法,该方法可以应用于任何需要人脸跟踪的应用,例如公共安全领域、金融技术领域、驾驶员疲劳检测领域、视频直播领域、以及其他各类涉及人脸跟踪的软件应用领域。
首先,参照图1来描述用于实现根据本发明实施例的人脸形状点跟踪方法和装置的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108、以及图像采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。
所述图像采集装置110可以采集图像(包括视频帧),并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像采集装置110可以是摄像头。应当理解,图像采集装置110仅是示例,电子设备100可以不包括图像采集装置110。在这种情况下,可以利用其他具有图像采集能力的器件采集待处理图像,并将采集的图像发送给电子设备100。
示例性地,用于实现根据本发明实施例的人脸形状点跟踪方法和装置的示例电子设备可以在诸如个人计算机或远程服务器等的设备上实现。
下面,将参考图2描述根据本发明实施例的人脸形状点跟踪方法。图2示出根据本发明一个实施例的人脸形状点跟踪方法200的示意性流程图。如图2所示,人脸形状点跟踪方法200包括以下步骤。
在步骤S210,对当前视频帧进行人脸检测,以获得至少一个人脸框。
可以首先获取视频。所述视频可以包括若干包含人脸的视频帧。视频可以是图像采集装置采集到的原始视频,也可以是对原始视频进行预处理之后获得的视频。
视频可以由客户端设备(诸如包括摄像头的移动终端)发送到电子设备100以由电子设备100的处理器102进行人脸形状点跟踪,也可以由电子设备100包括的图像采集装置110采集并传送到处理器102进行人脸形状点跟踪。
步骤S210可以采用任何现有的或将来可能出现的人脸检测算法来实现。例如,可以预先收集大量人脸图像,以人工方式在每张人脸图像上标注出人脸框的位置。随后,可以利用机器学习方法(如深度学习,或基于Haar特征的adaboost方法)进行训练得到人脸检测模型。随后,在实际进行人脸检测时,可以将当前视频帧输入训练好的人脸检测模型,以得到当前视频帧的人脸框。
人脸框可以是矩形框,该矩形框可以示例性地用其四个顶点的坐标表示。人脸框用于指示人脸所在的位置。例如,如果视频帧中包含四个不同的人,则可以获得四个或更多个矩形框,分别框中这四个人。可以理解,对于同一个人来说,可能检测获得不止一个矩形框。
一般地,人脸检测的结果是得到人脸框的位置信息,例如上述人脸框的四个顶点的坐标。得到人脸框的位置信息之后就可以获知人脸框的大小。
在步骤S220,从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框。
在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,可以从步骤S210中检测获得的至少一个人脸框中选择任一人脸框作为当前人脸框。所选择的当前人脸框所属的人脸即为待跟踪人脸。假设步骤S210中检测获得10个人脸框,则可以针对这10个人脸框分别独立跟踪,即分别执行后续的人脸跟踪步骤(步骤S230~S250)。
在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,可以从步骤S210中检测获得的至少一个人脸框中选择任一人脸框作为当前人脸框,也可以首先排除目前跟踪成功的人脸框,仅选择新出现的人脸框作为当前人脸框。
在一个示例中,待跟踪人脸并不指特定的人脸,仅指与人脸框对应的人脸。例如,两个人脸框a1和a2可能包含同样的人脸A,这种情况下可以将人脸框a1对应的待跟踪人脸和人脸框a2对应的待跟踪人脸分开看待,分别进行人脸形状点跟踪。可以理解,人脸框a1跟踪失败不意味着人脸框a2的跟踪也一定失败。
在另一示例中,步骤S210检测获得的至少一个人脸框即为筛选过的人脸框,每个人脸仅对应一个人脸框(包含人脸的置信度最高的人脸框)。或者,可以在步骤S220中对步骤S210检测获得的至少一个人脸框进行筛选,使得后续跟踪时每个人脸仅对应一个人脸框。
在步骤S230,基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点。
对于每个人脸框,可以提取该人脸框对应的图像块,并针对该图像块进行人脸形状点定位,以确定该人脸框对应的人脸形状点。
步骤S230可以采用任何现有的或将来可能出现的人脸形状点定位算法来实现。例如,步骤S230可以通过现有的机器学习方法来实现,如有监督的梯度下降算法(SDM)、主动形状模型算法(Active Shape Models,ASM)等。比较可取的是,采用卷积神经网络作为形状点定位模型来实现人脸形状点定位。该卷积神经网络学习非线性变换函数F(x),其输入为每个人脸框对应的图像块x,输出为P个形状点的坐标估计值。示例性地,可以预先收集大量人脸图像,并在每张人脸图像上标注出预先定义好的P个形状点。随后,可以利用该图像数据集训练F(x),计算每张人脸图像中形状点的估计值与标注好的真实值之间的欧式距离,这个欧式距离收敛时,卷积神经网络训练完成。随后,在实际进行人脸形状点定位时,可以将当前视频帧的每个人脸框对应的图像块分别输入训练好的卷积神经网络,以得到每个人脸框对应的人脸形状点。
人脸形状点可以是人脸上的任何点,包括但不限于人脸的轮廓点和/或器官点(例如眼部特征点、鼻子特征点、嘴部特征点等)。
在步骤S240,基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框。
示例性地,步骤S240可以包括:根据当前人脸形状点调整当前人脸框;以及基于调整后的人脸框计算后续人脸框。
调整当前人脸框可以包括调整当前人脸框的位置和/或大小。示例性地,根据当前人脸形状点调整当前人脸框可以包括:将当前人脸框调整为当前人脸形状点的外包围盒。
除人脸框之外,人脸形状点也可以指示人脸的位置。对于每个人脸框,可以基于该人脸框对应的人脸形状点调整该人脸框,以使得该人脸框的位置信息更准确。也就是说,人脸框帮助识别人脸形状点,人脸形状点反过来校正人脸框,人脸框和人脸形状点的这种相互辅助识别校正的过程可以大大提升人脸跟踪(无论是人脸框跟踪还是人脸形状点跟踪)的准确性和鲁棒性。这种方法是一种级联的跟踪方法,对于检测到的人脸首先进行人脸框跟踪,再基于人脸形状点迭代调整人脸框的大小和/或位置,更新人脸形状点跟踪模型。基于人脸形状点不断调整人脸框,可以避免传统人脸框跟踪方法无法快速调节人脸框的大小和位置的缺陷,并且可以进一步提高人脸形状点跟踪的鲁棒性。
在一个示例中,步骤S240可以包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
可以利用原始的当前人脸框或调整后的人脸框来初始化人脸跟踪算法。人脸跟踪算法可以采用任何现有的或将来可能出现的跟踪算法来实现,例如光流、均值漂移(MeanShift)、模板匹配等。下面以调整后的人脸框为例进行描述。根据本发明一个实施例,可以采用简化后的相关滤波(Correlation Filter)算法作为人脸跟踪算法来计算下一视频帧的预估人脸框。例如,对于每个调整后的人脸框,可以选取大小为该调整后的人脸框的两倍的区域作为候选区域,候选区域的中心与该调整后的人脸框的中心相同。候选区域可以有多个。对于每个调整后的人脸框,可以分别计算当前视频帧中该调整后的人脸框包含的图像块的快速傅里叶变换(FFT),以及下一视频帧中该调整后的人脸框所对应的每一个候选区域的FFT。随后可以计算该调整后的人脸框的频域图像与每一个候选区域的频域图像的相关特征图,统计与该调整后的人脸框相关度最高的候选区域,经过非极大值抑制(Non-maximum suppression,NMS)后得到响应最高的候选区域作为下一视频帧的预估人脸框。在一个示例中,可以直接将得到的预估人脸框作为待跟踪人脸在下一视频帧的后续人脸框。当针对下一视频帧进行跟踪,即下一视频帧作为当前视频帧时,后续人脸框即为当前人脸框。
在另一个示例中,所述步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;计算当前人脸框与预估人脸框之间的偏移量;根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及根据预估人脸形状点调整预估人脸框以获得后续人脸框。
在采用上述人脸跟踪算法确定下一视频帧中的预估人脸框之后,可以对预估人脸框进行进一步的调整以获得后续人脸框。例如,可以计算当前人脸框以及下一视频帧的预估人脸框之间的偏移量,该偏移量可以视为人脸形状点的偏移量。将当前人脸框对应的人脸形状点的坐标加上上述偏移量,可以求得下一视频帧的对应人脸形状点。计算出来的下一视频帧的人脸形状点是理论推算值而非实际值。可以将预估人脸框调整为预估人脸形状点的外包围盒,调整后获得的人脸框即为后续人脸框。类似地,基于预估人脸形状点调整预估人脸框的操作可以校正人脸框定位上的一些误差,使得后续人脸框的位置更准确。
在步骤S250,确定下一视频帧为当前视频帧并返回步骤S230。
将下一视频帧作为当前视频帧,继续执行人脸形状点定位、计算下一视频帧的人脸框等操作。对于每个人脸框来说,步骤S230~S250可以重复执行,以实现人脸形状点的跟踪。
图3示出根据本发明一个实施例的人脸形状点跟踪流程的示意图。如图3所示,第i帧为当前视频帧,当基于第i帧的调整后的人脸框计算出第i+1帧的人脸框之后,使i=i+1,也就可以使得原本的第i+1帧成为当前视频帧。然后,开始针对新的当前视频帧进行人脸形状点定位、人脸框调整、计算下一视频帧的人脸框等操作。
根据本发明实施例的人脸形状点跟踪方法,人脸框跟踪为人脸形状点跟踪提供了更准确的人脸位置信息,使得复杂度很低的模型即可实现很准确的定位,大大提升了人脸形状点定位的准确度和效率。本发明提供的人脸形状点跟踪方法在公开测试集上获得了更快的速度和更准的定位结果。该人脸形状点跟踪方法在手机应用、安全监控等不同场景的视频中均能很好地应对人脸快速运动、表情变化、姿态变化等恶劣场景下的人脸定位与跟踪。
示例性地,根据本发明实施例的人脸形状点跟踪方法可以在具有存储器和处理器的设备、装置或者系统中实现。
根据本发明实施例的人脸形状点跟踪方法可以部署在图像采集端处,例如,可以部署在个人终端处,诸如智能电话、平板电脑、个人计算机等。
替代地,根据本发明实施例的人脸形状点跟踪方法还可以分布地部署在服务器端(或云端)和客户端处。例如,可以在客户端获取视频,客户端将获取的视频传送给服务器端(或云端),由服务器端(或云端)进行人脸形状点跟踪。
图4示出根据本发明另一个实施例的人脸形状点跟踪方法400的示意性流程图。图4所示的人脸形状点跟踪方法400的步骤S410-S450与图2所示的人脸形状点跟踪方法200的步骤S210-S250对应一致,本领域技术人员可以参考关于图2的描述理解图4的上述步骤,不再赘述。根据本实施例,在步骤S420之后且在步骤S440之前,方法400还可以包括以下步骤。
在步骤S422,计算当前视人脸框中包含人脸的置信度。
在步骤S424,判断置信度是否小于预设阈值,如果是,则转至步骤S426;其中,步骤S440在置信度大于或等于预设阈值的情况下执行。
在步骤S426,确定下一视频帧为当前视频帧并返回步骤S210。
示例性地,步骤S422和步骤S430可以利用同一卷积神经网络实现。
在人脸形状点跟踪过程中,实施人脸形状点定位的卷积神经网络可以同时输出当前视频帧的人脸框的置信度。置信度计算网络与形状点定位网络可以共享参数,因此二者可以采用同一卷积神经网络实现,但卷积神经网络需要学习另一个非线性变换函数S(x)。在网络学习的过程中,同时优化F(x)与S(x),实现网络参数的复用。
当置信度大于或等于预设阈值时,当前人脸框判定为包含人脸,可以继续执行后续的调整人脸框以及计算下一视频帧的人脸框等步骤。当置信度小于预设阈值时,可以认为人脸离开了画面。此时,可以将下一视频帧作为当前视频帧,返回步骤S410,重新调用人脸检测算法。对人脸框进行置信度检测,可以很好地解决人脸快速运动、姿态变化及人脸离开画面的问题。卷积神经网络同时输出人脸形状点和人脸框置信度,在解决人脸快速运动、姿态变化及人脸离开画面的问题的同时,还能够高效实时地输出每一视频帧的人脸形状点定位结果。此外,卷积神经网络的复用可以减小人脸检测的负载,且共享参数可以减小计算量,使得实时人脸定位与跟踪更容易实现。
根据本发明实施例,步骤S220可以包括:在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
当重新调用人脸检测算法时,由于当前视频帧不是执行人脸形状点跟踪的第一帧,因此检测出的人脸框中可能包含目前正在成功跟踪的人脸框。在这种情况下,可以可选地对重新检测出的人脸框进行筛选,排除目前成功跟踪的人脸框。例如,假设重新检测出10个人脸框,而目前有8个成功跟踪的人脸框,则可以计算10个人脸框与8个成功跟踪的人脸框的重叠情况。如果10个人脸框中有6个与成功跟踪的人脸框重叠的人脸框,则排除这6个人脸框,对剩余的4个人脸框重新执行后续的形状点跟踪步骤。可以理解,本文所述的重叠是指两个人脸框之间的重叠比例和/或重叠面积满足预定要求的情况,并不一定指完全重叠。
需理解,图4所示的人脸形状点跟踪方法400的各步骤的执行顺序仅是示例而非对本发明的限制。虽然在图4中,示出步骤S422在步骤S430之后执行,然而,这些步骤可以有其他的执行顺序步骤。例如,步骤S422可以与步骤S430同时执行,参考上文描述示例,步骤S422与S430采用同一卷积神经网络实现,在这种情况下,步骤S422与S430是同时执行的,无论置信度是否小于预设阈值,都执行步骤S430,但是在置信度小于预设阈值的情况下,不再执行步骤S440,而是返回步骤S410,重新开始人脸检测。又例如,步骤S422可以在步骤S430之前执行,如果置信度小于预设阈值,则可以不再执行步骤S430,而是直接返回步骤S410。在置信度大于或等于预设阈值的情况下,才执行后续的步骤S430、S440和S450。
上述预设阈值可以是任何合适的值,本文不对此进行限制。
根据本发明另一方面,提供一种人脸形状点跟踪装置。图5示出了根据本发明一个实施例的人脸形状点跟踪装置500的示意性框图。
如图5所示,根据本发明实施例的人脸形状点跟踪装置500包括人脸检测模块510、选择模块520、形状点定位模块530、人脸框计算模块540和第一视频帧确定模块550。所述各个模块可分别执行上文中结合图2-4描述的人脸形状点跟踪方法的各个步骤/功能。以下仅对该人脸形状点跟踪装置500的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
人脸检测模块510用于对当前视频帧进行人脸检测,以获得至少一个人脸框。人脸检测模块510可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
选择模块520用于从所述至少一个人脸框中选择待跟踪人脸在所述当前视频帧中的当前人脸框。选择模块520可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
形状点定位模块530用于基于所述当前人脸框进行人脸形状点定位,以确定所述待跟踪人脸的当前人脸形状点。形状点定位模块530可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
人脸框计算模块540用于基于所述当前人脸框计算所述待跟踪人脸在下一视频帧中的后续人脸框。人脸框计算模块540可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
第一视频帧确定模块550用于确定所述下一视频帧为所述当前视频帧并启动所述形状点定位模块530。第一视频帧确定模块550可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
示例性地,人脸框计算模块540包括:第一调整子模块,用于根据当前人脸形状点调整当前人脸框;以及后续人脸框计算子模块,用于基于调整后的人脸框计算后续人脸框。
示例性地,调整子模块包括:调整单元,用于将当前人脸框调整为当前人脸形状点的外包围盒。
示例性地,人脸框计算模块540包括:第一计算子模块,用于采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;偏移量计算子模块,用于计算当前人脸框与预估人脸框之间的偏移量;形状点确定子模块,用于根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及第二调整子模块,用于根据预估人脸形状点调整预估人脸框以获得后续人脸框。
示例性地,人脸框计算模块540包括:第二计算子模块,用于采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
示例性地,装置500还包括:置信度计算模块,用于在选择模块520从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框之后且在人脸框计算模块540基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框之前,计算当前人脸框中包含人脸的置信度;判断模块,用于判断置信度是否小于预设阈值,如果是,则启动第二视频帧确定模块;第二视频帧确定模块,用于确定下一视频帧为当前视频帧并启动人脸检测模块510;其中,人脸框计算模块540在置信度大于或等于预设阈值的情况下启动。
示例性地,置信度计算模块和形状点定位模块利用同一卷积神经网络实现。
示例性地,选择模块520包括:第一选择子模块,用于在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,第二选择子模块,用于在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图6示出了根据本发明一个实施例的人脸形状点跟踪系统600的示意性框图。人脸形状点跟踪系统600包括图像采集装置610、存储装置620、以及处理器630。
图像采集装置610用于采集视频帧。图像采集装置610是可选的,人脸形状点跟踪系统600可以不包括图像采集装置610。在这种情况下,可以利用其他图像采集装置采集视频帧,并将采集的视频帧发送给人脸形状点跟踪系统600。
所述存储装置620存储用于实现根据本发明实施例的人脸形状点跟踪方法中的相应步骤的计算机程序指令。
所述处理器630用于运行所述存储装置620中存储的计算机程序指令,以执行根据本发明实施例的人脸形状点跟踪方法的相应步骤,并且用于实现根据本发明实施例的人脸形状点跟踪装置500中的人脸检测模块510、选择模块520、形状点定位模块530、人脸框计算模块540和第一视频帧确定模块550。
在一个实施例中,所述计算机程序指令被所述处理器630运行时用于执行以下步骤:步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;步骤S220:从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框;步骤S230:基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点;步骤S240:基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框;以及步骤S250:确定下一视频帧为当前视频帧并返回步骤S230。
示例性地,所述计算机程序指令被所述处理器630运行时所用于执行的步骤S240包括:根据当前人脸形状点调整当前人脸框;以及基于调整后的人脸框计算后续人脸框。
示例性地,所述计算机程序指令被所述处理器630运行时所用于执行的根据当前人脸形状点调整当前人脸框的步骤包括:将当前人脸框调整为当前人脸形状点的外包围盒。
示例性地,所述计算机程序指令被所述处理器630运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;计算当前人脸框与预估人脸框之间的偏移量;根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及根据预估人脸形状点调整预估人脸框以获得后续人脸框。
示例性地,所述计算机程序指令被所述处理器630运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
示例性地,在所述计算机程序指令被所述处理器630运行时所用于执行的步骤S220之后且在所述计算机程序指令被所述处理器630运行时所用于执行的步骤S240之前,所述计算机程序指令被所述处理器630运行时还用于执行以下步骤:步骤S222:计算当前人脸框中包含人脸的置信度;步骤S224:判断置信度是否小于预设阈值,如果是,则转至步骤S226;步骤S226:确定下一视频帧为当前视频帧并返回步骤S210;其中,所述计算机程序指令被所述处理器630运行时所用于执行的步骤S240在置信度大于或等于预设阈值的情况下执行。
示例性地,所述计算机程序指令被所述处理器630运行时所用于执行的步骤S222和步骤S230利用同一卷积神经网络实现。
示例性地,所述计算机程序指令被所述处理器630运行时所用于执行的步骤S220包括:在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的人脸形状点跟踪方法的相应步骤,并且用于实现根据本发明实施例的人脸形状点跟踪装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。
在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的人脸形状点跟踪装置的各个功能模块,并且/或者可以执行根据本发明实施例的人脸形状点跟踪方法。
在一个实施例中,所述程序指令在运行时用于执行以下步骤:步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;步骤S220:从至少一个人脸框中选择待跟踪人脸在当前视频帧中的当前人脸框;步骤S230:基于当前人脸框进行人脸形状点定位,以确定待跟踪人脸的当前人脸形状点;步骤S240:基于当前人脸框计算待跟踪人脸在下一视频帧中的后续人脸框;以及步骤S250:确定下一视频帧为当前视频帧并返回步骤S230。
示例性地,所述程序指令在运行时所用于执行的步骤S240包括:根据当前人脸形状点调整当前人脸框;以及基于调整后的人脸框计算后续人脸框。
示例性地,所述程序指令在运行时所用于执行的根据当前人脸形状点调整当前人脸框的步骤包括:将当前人脸框调整为当前人脸形状点的外包围盒。
示例性地,所述程序指令在运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框;计算当前人脸框与预估人脸框之间的偏移量;根据当前人脸形状点和偏移量确定下一视频帧中与当前人脸形状点对应的预估人脸形状点;以及根据预估人脸形状点调整预估人脸框以获得后续人脸框。
示例性地,所述程序指令在运行时所用于执行的步骤S240包括:采用人脸跟踪算法,基于当前人脸框计算下一视频帧中与当前人脸框对应的预估人脸框作为后续人脸框。
示例性地,在所述程序指令在运行时所用于执行的步骤S220之后且在所述程序指令在运行时所用于执行的步骤S240之前,所述程序指令在运行时还用于执行以下步骤:步骤S222:计算当前人脸框中包含人脸的置信度;步骤S224:判断置信度是否小于预设阈值,如果是,则转至步骤S226;步骤S226:确定下一视频帧为当前视频帧并返回步骤S210;其中,所述程序指令在运行时所用于执行的步骤S240在置信度大于或等于预设阈值的情况下执行。
示例性地,所述程序指令在运行时所用于执行的步骤S222和步骤S230利用同一卷积神经网络实现。
示例性地,所述程序指令在运行时所用于执行的步骤S220包括:在当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从至少一个人脸框中选择任一人脸框作为当前人脸框;且/或,在当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为当前人脸框。
本发明的优点在于,迭代的人脸跟踪模型能够准确跟踪人脸较大较快速的运动,能够应对人脸姿态、表情变化;基于人脸跟踪模型的指导,简化的形状点定位模型即可实现精确的人脸定位,使得实时人脸形状点跟踪能够适用于对摄像头、内存和处理器要求不高的低端平台,诸如智能手机等。
根据本发明实施例的人脸形状点跟踪系统中的各模块可以通过根据本发明实施例的实施人脸形状点跟踪的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的人脸形状点跟踪装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种人脸形状点跟踪方法,包括:
步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;
步骤S220:从所述至少一个人脸框中选择待跟踪人脸在所述当前视频帧中的当前人脸框;
步骤S230:基于所述当前人脸框进行人脸形状点定位,以确定所述待跟踪人脸的当前人脸形状点;
步骤S240:基于所述当前人脸框计算所述待跟踪人脸在下一视频帧中的后续人脸框;以及
步骤S250:确定所述下一视频帧为所述当前视频帧并返回所述步骤S230;
其中,所述步骤S240包括:
采用人脸跟踪算法,基于所述当前人脸框计算所述下一视频帧中与所述当前人脸框对应的预估人脸框;
计算所述当前人脸框与所述预估人脸框之间的偏移量;
根据所述当前人脸形状点和所述偏移量确定所述下一视频帧中与所述当前人脸形状点对应的预估人脸形状点;以及
根据所述预估人脸形状点调整所述预估人脸框以获得所述后续人脸框。
2.如权利要求1所述的方法,其中,所述采用人脸跟踪算法,基于所述当前人脸框计算所述下一视频帧中与所述当前人脸框对应的预估人脸框包括:
根据所述当前人脸形状点调整所述当前人脸框;以及
采用人脸跟踪算法,基于调整后的人脸框计算所述预估人脸框。
3.如权利要求2所述的方法,其中,所述根据所述当前人脸形状点调整所述当前人脸框包括:
将所述当前人脸框调整为所述当前人脸形状点的外包围盒。
4.如权利要求1所述的方法,其中,在所述步骤S220之后且在所述步骤S240之前,所述方法还包括:
步骤S222:计算所述当前人脸框中包含人脸的置信度;
步骤S224:判断所述置信度是否小于预设阈值,如果是,则转至步骤S226;
步骤S226:确定所述下一视频帧为所述当前视频帧并返回所述步骤S210;
其中,所述步骤S240在所述置信度大于或等于所述预设阈值的情况下执行。
5.如权利要求4所述的方法,其中,所述步骤S222和所述步骤S230利用同一卷积神经网络实现。
6.如权利要求1所述的方法,其中,所述步骤S220包括:
在所述当前视频帧是执行人脸形状点跟踪的第一帧的情况下,从所述至少一个人脸框中选择任一人脸框作为所述当前人脸框;且/或,
在所述当前视频帧不是执行人脸形状点跟踪的第一帧的情况下,如果所述至少一个人脸框中存在与基于前一视频帧计算获得的所有待跟踪人脸在所述当前视频帧中的后续人脸框不重叠的新人脸框,则选择任一新人脸框作为所述当前人脸框。
7.一种人脸形状点跟踪装置,包括:
人脸检测模块,用于对当前视频帧进行人脸检测,以获得至少一个人脸框;
选择模块,用于从所述至少一个人脸框中选择待跟踪人脸在所述当前视频帧中的当前人脸框;
形状点定位模块,用于基于所述当前人脸框进行人脸形状点定位,以确定所述待跟踪人脸的当前人脸形状点;
人脸框计算模块,用于基于所述当前人脸框计算所述待跟踪人脸在下一视频帧中的后续人脸框;以及
第一视频帧确定模块,用于确定所述下一视频帧为所述当前视频帧并启动所述形状点定位模块;
其中,所述人脸框计算模块包括:
第一计算子模块,用于采用人脸跟踪算法,基于所述当前人脸框计算所述下一视频帧中与所述当前人脸框对应的预估人脸框;
偏移量计算子模块,用于计算所述当前人脸框与所述预估人脸框之间的偏移量;
形状点确定子模块,用于根据所述当前人脸形状点和所述偏移量确定所述下一视频帧中与所述当前人脸形状点对应的预估人脸形状点;以及
第二调整子模块,用于根据所述预估人脸形状点调整所述预估人脸框以获得所述后续人脸框。
8.一种人脸形状点跟踪系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行以下步骤:
步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;
步骤S220:从所述至少一个人脸框中选择待跟踪人脸在所述当前视频帧中的当前人脸框;
步骤S230:基于所述当前人脸框进行人脸形状点定位,以确定所述待跟踪人脸的当前人脸形状点;
步骤S240:基于所述当前人脸框计算所述待跟踪人脸在下一视频帧中的后续人脸框;以及
步骤S250:确定所述下一视频帧为所述当前视频帧并返回所述步骤S230;
其中,所述计算机程序指令被所述处理器运行时所用于执行的步骤S240包括:
采用人脸跟踪算法,基于所述当前人脸框计算所述下一视频帧中与所述当前人脸框对应的预估人脸框;
计算所述当前人脸框与所述预估人脸框之间的偏移量;
根据所述当前人脸形状点和所述偏移量确定所述下一视频帧中与所述当前人脸形状点对应的预估人脸形状点;以及
根据所述预估人脸形状点调整所述预估人脸框以获得所述后续人脸框。
9.一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行以下步骤:
步骤S210:对当前视频帧进行人脸检测,以获得至少一个人脸框;
步骤S220:从所述至少一个人脸框中选择待跟踪人脸在所述当前视频帧中的当前人脸框;
步骤S230:基于所述当前人脸框进行人脸形状点定位,以确定所述待跟踪人脸的当前人脸形状点;
步骤S240:基于所述当前人脸框计算所述待跟踪人脸在下一视频帧中的后续人脸框;以及
步骤S250:确定所述下一视频帧为所述当前视频帧并返回所述步骤S230;
其中,所述程序指令在运行时所用于执行的步骤S240包括:
采用人脸跟踪算法,基于所述当前人脸框计算所述下一视频帧中与所述当前人脸框对应的预估人脸框;
计算所述当前人脸框与所述预估人脸框之间的偏移量;
根据所述当前人脸形状点和所述偏移量确定所述下一视频帧中与所述当前人脸形状点对应的预估人脸形状点;以及
根据所述预估人脸形状点调整所述预估人脸框以获得所述后续人脸框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711146381.4A CN108875506B (zh) | 2017-11-17 | 2017-11-17 | 人脸形状点跟踪方法、装置和系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711146381.4A CN108875506B (zh) | 2017-11-17 | 2017-11-17 | 人脸形状点跟踪方法、装置和系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108875506A CN108875506A (zh) | 2018-11-23 |
CN108875506B true CN108875506B (zh) | 2022-01-07 |
Family
ID=64325738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711146381.4A Active CN108875506B (zh) | 2017-11-17 | 2017-11-17 | 人脸形状点跟踪方法、装置和系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108875506B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860056B (zh) * | 2019-04-29 | 2023-10-20 | 北京眼神智能科技有限公司 | 基于眨眼的活体检测方法、装置、可读存储介质及设备 |
CN110136229B (zh) * | 2019-05-27 | 2023-07-14 | 广州亮风台信息科技有限公司 | 一种用于实时虚拟换脸的方法与设备 |
CN111613227A (zh) * | 2020-03-31 | 2020-09-01 | 平安科技(深圳)有限公司 | 声纹数据生成方法、装置、计算机装置及存储介质 |
CN113284166A (zh) * | 2021-04-15 | 2021-08-20 | 阳光暖果(北京)科技发展有限公司 | 一种基于深度级联神经网络的高速人脸跟踪方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402691A (zh) * | 2010-09-08 | 2012-04-04 | 中国科学院自动化研究所 | 一种对人脸姿态和动作进行跟踪的方法 |
CN106228112A (zh) * | 2016-07-08 | 2016-12-14 | 深圳市优必选科技有限公司 | 人脸检测跟踪方法及机器人头部转动控制方法和机器人 |
CN106650682A (zh) * | 2016-12-29 | 2017-05-10 | Tcl集团股份有限公司 | 一种人脸追踪的方法及装置 |
CN106874826A (zh) * | 2015-12-11 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 人脸关键点跟踪方法和装置 |
-
2017
- 2017-11-17 CN CN201711146381.4A patent/CN108875506B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402691A (zh) * | 2010-09-08 | 2012-04-04 | 中国科学院自动化研究所 | 一种对人脸姿态和动作进行跟踪的方法 |
CN106874826A (zh) * | 2015-12-11 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 人脸关键点跟踪方法和装置 |
CN106228112A (zh) * | 2016-07-08 | 2016-12-14 | 深圳市优必选科技有限公司 | 人脸检测跟踪方法及机器人头部转动控制方法和机器人 |
CN106650682A (zh) * | 2016-12-29 | 2017-05-10 | Tcl集团股份有限公司 | 一种人脸追踪的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108875506A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10936911B2 (en) | Logo detection | |
CN110532984B (zh) | 关键点检测方法、手势识别方法、装置及系统 | |
CN106650662B (zh) | 目标对象遮挡检测方法及装置 | |
CN106203305B (zh) | 人脸活体检测方法和装置 | |
CN109815843B (zh) | 图像处理方法及相关产品 | |
CN108875523B (zh) | 人体关节点检测方法、装置、系统和存储介质 | |
CN107808111B (zh) | 用于行人检测和姿态估计的方法和装置 | |
CN109325456B (zh) | 目标识别方法、装置、目标识别设备及存储介质 | |
CN108875731B (zh) | 目标识别方法、装置、系统及存储介质 | |
CN108875537B (zh) | 对象检测方法、装置和系统及存储介质 | |
CN108876804B (zh) | 抠像模型训练和图像抠像方法、装置和系统及存储介质 | |
CN108875506B (zh) | 人脸形状点跟踪方法、装置和系统及存储介质 | |
JP4951498B2 (ja) | 顔画像認識装置、顔画像認識方法、顔画像認識プログラムおよびそのプログラムを記録した記録媒体 | |
CN110688929B (zh) | 一种人体骨架关节点定位方法及装置 | |
CN108875750B (zh) | 物体检测方法、装置和系统及存储介质 | |
US10650234B2 (en) | Eyeball movement capturing method and device, and storage medium | |
CN108875517B (zh) | 视频处理方法、装置和系统及存储介质 | |
CN111008935B (zh) | 一种人脸图像增强方法、装置、系统及存储介质 | |
EP2591460A1 (en) | Method, apparatus and computer program product for providing object tracking using template switching and feature adaptation | |
CN109886223B (zh) | 人脸识别方法、底库录入方法、装置及电子设备 | |
US20150104067A1 (en) | Method and apparatus for tracking object, and method for selecting tracking feature | |
CN108875544B (zh) | 人脸识别方法、装置、系统和存储介质 | |
CN110427806A (zh) | 视频识别方法、装置及计算机可读存储介质 | |
US20180053294A1 (en) | Video processing system and method for deformation insensitive tracking of objects in a sequence of image frames | |
CN109785439B (zh) | 人脸素描图像生成方法及相关产品 |
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 |