CN112598807A - 人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 - Google Patents
人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112598807A CN112598807A CN202011528500.4A CN202011528500A CN112598807A CN 112598807 A CN112598807 A CN 112598807A CN 202011528500 A CN202011528500 A CN 202011528500A CN 112598807 A CN112598807 A CN 112598807A
- Authority
- CN
- China
- Prior art keywords
- face
- dimensional
- dimensional face
- model
- key point
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种人脸关键点检测模型的训练方法,包括:获取三维人脸模型,确定三维人脸模型在初始位置对应的人脸关键点标注;确定三维人脸模型在三维空间中的移动路径;对三维人脸模型进行拍照得到新的二维人脸图像;基于拍照时三维人脸模型在移动路径中的位置和在初始位置对应的人脸关键点标注计算得到新的二维人脸图像对应的人脸关键点标注;将新的二维人脸图像和新的二维人脸图像对应的人脸关键点标注加入到训练数据集,并利用训练数据集对人脸关键点检测模型进行训练。基于训练数据集训练得到的人脸关键点检测模型能够准确且稳定地对视频流中的人脸关键点进行识别。此外,还提出了一种人脸关键点检测模型的训练装置、计算机设备及存储介质。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种人脸关键点检测模型的训练方法、装置、计算机设备及存储介质。
背景技术
人脸关键点的作用是精确定位和分割人脸各部位的位置,比如眼睛、眉毛,嘴巴的精确外轮廓,脸型的外轮廓等。主要应用包括人脸变形(瘦脸、大眼等)、虚拟装饰、虚拟试妆和动画电影等领域。
人脸关键点检测模型检测的精准度依赖于训练数据集,传统的人脸关键点的训练数据集是随机收集不同的人脸照片,并在照片上手工进行关键点标注。由于人脸关键点的定义并不是精确唯一的,手工标注的人脸关键点是在一定范围内振动的。
对于视频流,人脸关键点的检测不但需要高准确性,而且要求高稳定性,最理想的状态是,相邻帧检测到的同一关键点要在物理空间上的同一位置,否则,会出现关键点抖动的视觉效果。
但是,现阶段几乎所有模型的训练数据都是单人单张图像的手工标注,没有考虑连续视频帧之间的位置关系,使得同一关键点在不同视频帧上的位置有偏差,在连续的视频流中显示的效果就是人脸关键点抖动。
发明内容
基于此,有必要针对上述问题,提出一种人脸关键点检测模型的训练方法、装置、计算机设备及存储介质。通过该方式得到的训练数据集包含有对连续视频帧的标注,基于该训练数据集训练得到的人脸关键点检测模型能够准确且稳定地对视频流中的人脸关键点进行识别。
一种人脸关键点检测模型的训练方法,包括:
获取三维人脸模型,确定所述三维人脸模型在初始位置对应的人脸关键点标注,所述人脸关键点标注用于指示所述人脸关键点的位置坐标;
确定所述三维人脸模型在三维空间中的移动路径,以使所述三维人脸模型按照所述移动路径进行移动;
在所述三维人脸模型按照所述移动路径移动的过程中,对所述三维人脸模型进行拍照得到新的二维人脸图像;
基于拍照时所述三维人脸模型在所述移动路径中的位置和所述在初始位置对应的人脸关键点标注计算得到所述新的二维人脸图像对应的人脸关键点标注;
将所述新的二维人脸图像和所述新的二维人脸图像对应的人脸关键点标注加入到所述训练数据集,并利用所述训练数据集对人脸关键点检测模型进行训练。
一种人脸关键点检测模型的训练装置,包括:
获取三维人脸模型,确定所述三维人脸模型在初始位置对应的人脸关键点标注,所述人脸关键点标注用于指示所述人脸关键点的位置坐标;
确定所述三维人脸模型在三维空间中的移动路径,以使所述三维人脸模型按照所述移动路径进行移动;
在所述三维人脸模型按照所述移动路径移动的过程中,对所述三维人脸模型进行拍照得到新的二维人脸图像;
基于拍照时所述三维人脸模型在所述移动路径中的位置和所述在初始位置对应的人脸关键点标注计算得到所述新的二维人脸图像对应的人脸关键点标注;将所述新的二维人脸图像和所述新的二维人脸图像对应的人脸关键点标注加入到所述训练数据集,并利用所述训练数据集对人脸关键点检测模型进行训练。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取三维人脸模型,确定所述三维人脸模型在初始位置对应的人脸关键点标注,所述人脸关键点标注用于指示所述人脸关键点的位置坐标;
确定所述三维人脸模型在三维空间中的移动路径,以使所述三维人脸模型按照所述移动路径进行移动;
在所述三维人脸模型按照所述移动路径移动的过程中,对所述三维人脸模型进行拍照得到新的二维人脸图像;
基于拍照时所述三维人脸模型在所述移动路径中的位置和所述在初始位置对应的人脸关键点标注计算得到所述新的二维人脸图像对应的人脸关键点标注;
将所述新的二维人脸图像和所述新的二维人脸图像对应的人脸关键点标注加入到所述训练数据集,并利用所述训练数据集对人脸关键点检测模型进行训练。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取三维人脸模型,确定所述三维人脸模型在初始位置对应的人脸关键点标注,所述人脸关键点标注用于指示所述人脸关键点的位置坐标;
确定所述三维人脸模型在三维空间中的移动路径,以使所述三维人脸模型按照所述移动路径进行移动;
在所述三维人脸模型按照所述移动路径移动的过程中,对所述三维人脸模型进行拍照得到新的二维人脸图像;
基于拍照时所述三维人脸模型在所述移动路径中的位置和所述在初始位置对应的人脸关键点标注计算得到所述新的二维人脸图像对应的人脸关键点标注;
将所述新的二维人脸图像和所述新的二维人脸图像对应的人脸关键点标注加入到所述训练数据集,并利用所述训练数据集对人脸关键点检测模型进行训练。
上述人脸关键点检测模型的训练方法、装置、计算机设备及存储介质,确定了三维人脸模型在初始位置对应的人脸关键点标注后,在三维人脸模型的移动过程中,通过不断地进行拍照,可以得到多张新的二维人脸图像,且计算得到每个新的二维人脸图像对应的人脸关键点坐标,即得到了每个新的二维人脸图像对应的人脸关键点标注。在三维人脸模型的移动过程中拍照得到的多张新的二维人脸图像组成了连续的视频帧,即相当于对连续视频帧进行了人脸关键点标注,该标注方式是基于初始位置对应的人脸关键点标注计算得到的,不依赖于手工标注,得到的人脸关键点标注与初始位置对应的人脸关键点标注在人脸上对应的位置保持一致,所以具有稳定性。将得到的新的带有人脸关键点标注的二维人脸图像加入到训练数据集,然后基于训练数据集对人脸关键点检测模型进行训练,使得训练得到的人脸关键点检测模型能够准确且稳定地对视频流中的人脸关键点进行识别。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1是一个实施例中人脸关键点检测模型的训练方法的流程图;
图2是一个实施例中生成的三维人脸模型的示意图;
图3A是一个实施例中三维人脸模型平移的示意图;
图3B是一个实施例中三维人脸模型旋转的示意图;
图3C是一个实施例中平移和旋转叠加后的示意图;
图4是一个实施例中生成的平移路径和旋转路径的示意图;
图5是一个实施例中计算新的二维人脸图像对应的人脸关键点坐标的流程图;
图6是一个实施例中人脸关键点检测模型的训练装置的结构框图;
图7是另一个实施例中人脸关键点检测模型的训练装置的结构框图;
图8是一个实施例中计算机设备的内部结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,提出了一种人脸关键点检测模型的训练方法,该人脸关键点检测模型的训练方法可以应用于终端,本实施例以应用于终端举例说明。该人脸关键点检测模型的训练方法具体包括以下步骤:
步骤102,获取三维人脸模型,确定三维人脸模型在初始位置对应的人脸关键点标注,人脸关键点标注用于指示人脸关键点的位置坐标。
其中,人脸关键点是指反映人脸面部特征的特征点,包括:眉毛、眼睛、鼻子、嘴巴和脸部轮廓的特征点。根据人脸关键点可以定位出人脸面部的关键区域位置。所以人脸关键点的识别在人脸图像识别中是很重要的一环。人脸关键点标注是指对人脸关键点的位置的标注,具体是用坐标来表示的。在三维人脸模型中人脸关键点标注是指人脸关键点在三维人脸模型上的位置坐标(三维坐标),在二维人脸模型中人脸关键点标注是指人脸关键点在二维人脸图像上的位置坐标(二维坐标)。
采用人工标注对人脸关键点进行标注需要耗费大量的人力物力,且标注的准确性也不可靠,尤其是对于连续视频帧,如果采用人工标注,由于每次标注的位置不可能完全一样,所以很容易出现人脸关键点抖动。本实施例中为了得到更多的且稳定的带有人脸关键点标注的二维人脸图像,创新性地提出基于三维人脸模型得到更多地带有人脸关键标注且人脸关键点稳定的二维人脸图像。
在一个实施例中,基于二维人脸图像采用三维人脸重建技术建立三维人脸模型,具体地,将二维人脸图像中的像素点映射到初始三维人脸模型,得到与该二维人脸图像对应的三维人脸模型。生成的三维人脸模型是由一系列6维数据组成的集合H{hi(xi,yi,zi,hi,ji,ki)},其中,xi,yi和zi为三维空间坐标值,hi,ji和ki为该坐标上的颜色(纹理)信息值,比如,为HSV或YUV颜色三维空间的颜色值。其中,映射到三维人脸模型中的xi和yi与二维人脸图像中相应的二维坐标相同,建立的初始三维人脸模型中的每个点的位置都是由三个坐标构成的,映射时,二维人脸图像上的坐标点与三维人脸模型上的坐标是一一对应的关系。在二维图像上确定了xi和yi的值后,在三维人脸模型上能够唯一确定一个点(x,y,z)。具体地,在已知xi和yi的值后,在三维人脸模型上找到横坐标为xi和纵坐标yi的点,该点是唯一的,进而根据该点确定z坐标。hi,ji和ki也与二维人脸图像中相应坐标上的像素值相同,如图2所示,为一个实施例中,生成的三维人脸模型的示意图。
在另一个实施例中,直接采用三维扫描仪对人脸进行扫描,得到三维人脸模型,然后对三维人脸模型进行人脸关键点标注。具体地,通过高精度的三维扫描仪可以直接对人脸进行扫描得到带有纹理信息的三维人脸模型,并对该三维人脸模型进行人脸关键点标注,比如,标注可以采用人工标注,也可以采用人脸关键点识别的方式进行标注。
步骤104,确定三维人脸模型在三维空间中的移动路径,以使三维人脸模型按照移动路径进行移动。
其中,为了获得更多的带有人脸标注的训练图像,需要三维人脸模型进行移动,便于在移动过程中进行拍照得到更多角度的图像。移动路径可以是随机生成的,也可以是指定的。移动路径包括:平移路径和旋转路径,平移路径是指三维人脸模型的水平移动,而旋转路径是指三维人脸模型的转动路径,比如,从正脸旋转到侧脸的转动路径,平移路径和旋转路径是同时进行的,三维人脸模型在平移的同时会进行转动,如图3所示,为一个实施例中,图3A为三维人脸模型的平移的示意图和图3B三维人脸模型转动的示意图,图3C为两者叠加后的效果,即同时进行平移和旋转后的效果。
步骤106,在三维人脸模型按照移动路径移动的过程中,对三维人脸模型进行拍照得到新的二维人脸图像。
其中,三维人脸模型在移动的过程中,对三维人脸模型进行不断的拍照,需要说明的是:相机的位置是固定不变的,变动是三维人脸模型,这样就可以得到不同角度的三维人脸模型的图像,即得到不同的新的二维人脸图像,多张新的二维人脸图像构成了连续的视频帧图像。后续计算得到了每个新的二维人脸图像对应的人脸关键点坐标,就相当于得到了连续视频帧图像对应的人脸关键点标注。
步骤108,基于拍照时三维人脸模型在移动路径中的位置和在初始位置对应的人脸关键点标注计算得到新的二维人脸图像对应的人脸关键点标注;
其中,三维人脸模型在初始位置是对应有人脸关键点标注的,根据移动路径中的位置可以计算得到三维人脸模型从初始位置到当前位置对应的平移向量和旋转矩阵,进而就可以计算得到三维人脸模型在该位置对应的人脸关键点坐标,由于三维人脸模型投影到二维平面时,二维人脸图像中的xi和yi与三维人脸模型中相应的二维坐标相同,只不过是去掉了三维坐标zi,所以已知当前位置的三维人脸模型对应的人脸关键点坐标,就可以确定新的二维人脸图像对应的人脸关键点坐标,即确定了新的二维人脸图像对应的人脸关键点标注。
步骤110,将新的二维人脸图像和新的二维人脸图像对应的人脸关键点标注加入到训练数据集,并利用训练数据集对人脸关键点检测模型进行训练。
其中,将得到的多张新的带有人脸关键点的二维人脸图像加入到训练数据集,从而扩大完善了训练数据集,有利于使得根据训练数据集训练得到模型能够更加准确地识别到人脸关键点,由于生成的多张新的带有人脸关键点的二维人脸图像中的人脸关键点是通过计算得到的,即得到的二维人脸图像上的人脸关键点坐标对应于三维人脸模型的同一人脸关键点,即得到的人脸关键点坐标在物理空间上是一致的,都指向的是同一点。因此,即使在连续视频帧的情况下仍然稳定,所以训练得到的模型对于连续视频帧中的人脸关键点的识别更加的稳定。
上述人脸关键点检测模型的训练方法,在三维人脸模型的移动过程中,通过不断地进行拍照,可以得到多张新的二维人脸图像,且计算得到每个新的二维人脸图像对应的人脸关键点坐标,即得到了每个新的二维人脸图像对应的人脸关键点标注。在三维人脸模型的移动过程中拍照得到的多张新的二维人脸图像组成了连续的视频帧,该标注方式是基于初始位置对应的人脸关键点标注计算得到的,不依赖于手工标注,计算得到的人脸关键点标注与初始位置对应的人脸关键点标注在人脸上对应的位置保持一致,所以具有稳定性。将得到的新的带有人脸关键点标注的二维人脸图像加入到训练数据集,便于后续基于训练数据集训练得到的人脸关键点检测模型能够准确且稳定地对视频流中的人脸关键点进行识别。
在一个实施例中,所述获取三维人脸模型,确定所述三维人脸模型对应的人脸关键点标注,包括:从训练数据集中获取二维人脸图像和所述二维人脸图像对应的人脸关键点标注;基于所述二维人脸图像生成与所述二维人脸图像对应的三维人脸模型;基于所述二维人脸图像对应的人脸关键点标注确定映射到所述三维人脸模型对应的人脸关键点标注。
其中,基于训练数据集中已有的二维人脸图像生成对应的三维人脸模型,并通过映射关系计算得到三维人脸模型对应的人脸关键点标注。
在一个实施例中,所述获取三维人脸模型,确定所述三维人脸模型对应的人脸关键点标注,包括:采用三维扫描仪对人脸进行扫描,得到三维人脸模型;对所述三维人脸模型进行人脸关键点标注。
其中,为了得到连续的视频帧标注,直接采用三维扫描仪对真实人脸进行扫描,得到三维人脸模型,然后三维人脸模型进行人脸关键点标注,这样后续通过对三维人脸模型进行拍照就可以得到多张连续的视频帧图像,且该多张连续的视频帧图像对应的人脸关键点标注可以计算得到,不同的视频帧图像针对同一位置的人脸关键点标注是一致的,从而可以防止抖动的情况出现。
在一个实施例中,所述移动路径包括:平移路径和旋转路径;所述确定所述三维人脸模型在三维空间中的移动路径,包括:随机生成所述三维人脸模型在三维空间中的平移路径和旋转路径,以使所述三维人脸模型能够平滑地根据所述平移路径和旋转路径移动。
其中,为了得到不同角度的人脸图像,需要三维人脸模型处于运动中,为了使得三维人脸模型运动,需要预先为三维人脸模型规划好运动的移动路径。移动路径包括平移路径和旋转路径。平移路径是指三维人脸模型的水平运动,而旋转路径是指三维人脸模型的转动路径。三维人脸模型在基于图像宽度、高度以及深度的范围内做平移、旋转运动,为了保证运动的连续性和平滑线,需要事先为三维人脸模型生成平滑的平移路径和旋转路径。如图4所示,图中L1和L2分别为生成的平移路径和旋转路径的示意图,可以理解的是,平移路径和旋转路径是由一个个点构成的,图4中展示了平移路径和旋转路径上的点,其中,旋转路径为人脸方向矢量的路径,三维人脸模型在平移的同时进行旋转,所以两者是同时进行的。参考图4,三维人脸模型初始处于O点,初始人脸方向的矢量为OO’,那么开始运动时,三维人脸模型由O点运动到A1点,与此同时,脸部方向由OO’方向转为OB1方向,以此类推,当三维模型由A1运动到A2点,脸部方向由OB1方向转为OB2方向。
通过随机生成三维人脸模型在三维空间中的平移路径和旋转路径,便于后续三维人脸模型在移动的过程中进行拍照得到不同角度的图像,而且由于路径是随机生成的,所以对于不同的三维人脸模型对应的平移路径和旋转路径都是不同的,这样就可以得到不同人脸在不同角度的图像,更加有利于丰富训练数据集。
在一个实施例中,所述随机生成所述三维人脸模型在三维空间中的平移路径和旋转路径,以使所述三维模型能够平滑地根据所述平移路径和旋转路径移动,包括:
按照预设的密度随机在三维空间中生成多个点,按照预设的规则将所述多个点进行排序,得到排序后的点序列,所述预设的规则为:随机从所述多个点中选取一个点作为起点,寻找与所述起点最近的点作为第二个点,寻找与所述第二个点最近的点作为第三个点,以此类推,直到遍历完所有的点;
根据所述排序后的点序列进行平滑插值,得到平滑后的平移路径;
确定所述平移路径上每个点的深度坐标,根据所述平移路径上每个点的深度坐标确定旋转路径,以使所述旋转路径上的每个点的深度坐标大于所述平滑路径上每个点的深度坐标。
其中,按照一定的密度随机生成三维空间中的N个点,要求一定的密度是因为要保持点与点之间的距离足够保证三维人脸模型点云在此两点之间能够平滑移动。具体地,随机选取一个点作为起点,然后寻找与其最近的点作为第二个点,然后再寻找与第二个点最近的点作为第三点,以此类推,对生成的N个点进行排序,得到N个点序列。然后对排序后的N个点序列进行平滑和差值,比如,可以采用样条插值、贝塞尔曲线插值等,使得该序列变成一条平滑的路径曲线,称之为“平移路径”,即使得多个点组成的路径变成一条平滑的路径曲线。
旋转路径的生成也可以采用上述方式,即先按照一定的密度随机生成三维空间中的N个点,将N个点进行连接组成一条平滑的路径曲线。需要注意的是:需要保证生成的旋转路径上的每个点的深度坐标,即Z轴坐标,都大于相应的平移路径上的值。具体地,满足以下条件z2=max(z1)+σ,其中,σ>0,z2表示旋转路径上的深度坐标,z1表示平移路径上的深度坐标。即保证旋转路径上的Z方向的值肯定比平移路径上的大。之所以要保证旋转路径上的深度坐标大于平移路径上的深度坐标,是因为相机是固定的,且是在初始三维人脸模型前面的,是为了能够在三维人脸模型移动的过程中,时刻都能拍到人脸,即保证人脸是朝向前面的,而不会出现脸朝向后方导致拍照不到人脸的情况出现。
在一个实施例中,上述方法还包括:对所述新的二维人脸图像进行多样化处理,以得到多种场景下的二维人脸图像,将所述多种场景下二维人脸图像和对应的人脸关键点标注加入到所述训练数据集中,所述多样化处理包括:更换背景图像、调整图像色调和调整图像亮度中的至少一种。
其中,为了增加训练数据集的多样性和泛化性,对已有的二维人脸图像进行数据增强处理,即多样化处理。在一个实施例中,通过加入不同的渲染方法,比如,更换已有的二维人脸图像的色调、亮度,得到新的二维人脸图像。在另一个实施例中,将已有的二维人脸图像进行抠图处理,然后粘贴到不同的背景图像中,以获得更多场景的训练数据。通过上述多样化处理,丰富了训练数据集的多样性和泛化性,有利于使得训练得到的模型具有鲁棒性,即适应各种场景下的人脸关键点识别。
如图5所示,在一个实施例中,所述所述基于拍照时所述三维人脸模型在所述移动路径中的位置计算得到所述新的二维人脸图像对应的人脸关键点坐标,包括:
步骤108A,确定拍照时三维人脸模型所在的当前位置,计算从初始位置到当前位置对应的平移向量和旋转矩阵。
其中,拍照得到的二维人脸图像对应的人脸关键点标注是通过计算得到的。具体地,首先需要确定拍照时三维人脸模型所在的当前位置,当前位置包括:在平移路径上的位置和在旋转路径上的位置。计算从初始位置到当前位置对应的平移向量和旋转矩阵,可以将初始位置的坐标设为原点,方便计算。
三维人脸模型的平移向量的计算相对比较简单,只需要根据当前位置的三维坐标和初始位置的三维坐标就可以确定得到,具体地,平移向量用来指示初始位置和当前位置之间的距离和相对方向,平移方向为初始位置指向当前位置的方向,平移距离是指当前位置和初始位置之间的直线距离。由于三维人脸模型是由很多点组成的,在计算三维人脸模型的位置时,可以选用具有代表性的点代表三维人脸模型的位置。比如,选择人脸中鼻尖所在的位置作为代表三维人脸模型的位置。假设鼻尖初始位置为(x0,y0,z0),鼻尖在平移路径上的当前位置为(x1,y1和z1),那么平移向量表示为Y=(x1-x0,y1-y0,z1-z0)。平移向量可以拆分为三个方向的平移,分别为X轴方向的平移,Y轴方向的平移和Z轴方向的平移。
三维人脸模型的旋转矩阵的计算方式如下:
参考图4,假设三维人脸模型的人脸方向的矢量由初始位置的矢量OO’旋转到OB1方向,那么由初始位置OO’到OB1的旋转矩阵的具体计算过程可以参考下述方法:
4)则根据罗德里格斯旋转公式可以求得从初始位置到当前位置对应的旋转矩阵为:
其中I为单位矩阵,且:
三维人脸模型中的每一个点从初始位置到当前位置都对应的是相同的旋转矩阵和平移向量。所以在计算得到旋转矩阵和平移向量后,根据每个点在三维人脸模型中的初始位置坐标就可以计算得到当前位置坐标。
步骤108B,根据平移向量、旋转矩阵和初始位置对应的人脸关键点标注计算得到当前位置的三维人脸模型中人脸关键点的位置坐标。
其中,三维人脸模型中每个点的运动都对应的是相同的平移向量和旋转矩阵,已知初始位置时三维人脸模型中人脸关键点的位置坐标,那么根据平移向量和旋转矩阵就可以计算得到当前位置的三维人脸模型中人脸关键点的位置坐标。具体地,已知初始位置和当前位置的平移向量和旋转矩阵后,假设当前位置对应的人脸关键点坐标为A(x0,y0,z0),假设旋转矩阵用M表示,平移向量用Y表示,那么人脸关键点经过旋转和平移后,当前位置的关键点坐标为B,B=MA+Y,即先对初始坐标A进行旋转计算,然后进行平移计算。
步骤108C,根据当前位置的三维人脸模型中人脸关键点的位置坐标确定新的二维人脸图像对应的人脸关键点标注。
其中,二维平面对应的人脸关键点坐标与三维人脸模型中人脸关键点的x和y坐标相同。在已知三维人脸模型中人脸关键点的位置坐标后,就可以确定对应的新的二维人脸图像对应的人脸关键点位置坐标,即确定了对应的人脸关键点标注。
通过上述方式能够准确地计算得到的新的二维人脸图像对应的人脸关键点标注,该得到的人脸关键点标注与三维人脸模型上的人脸关键点指向是同一位置,这样当识别连续视频帧中的人脸关键点时不会出现抖动的情况,大大提高了识别的稳定性。
如图6所示,一种人脸关键点检测模型的训练装置,包括:
获取模块602,用于获取三维人脸模型,确定所述三维人脸模型对应的人脸关键点标注,所述人脸关键点标注是指所述人脸关键点的位置坐标;
第一确定模块604,用于确定所述三维人脸模型在三维空间中的移动路径,以使所述三维人脸模型按照所述移动路径进行移动;
拍照模块606,用于在所述三维人脸模型按照所述移动路径移动的过程中,对所述三维人脸模型进行拍照得到新的二维人脸图像;
计算模块608,用于基于拍照时所述三维人脸模型在所述移动路径中的位置和所述在初始位置对应的人脸关键点标注计算得到所述新的二维人脸图像对应的人脸关键点坐标,将所述新的二维人脸图像对应的人脸关键点坐标作为所述新的二维人脸图像对应的人脸关键点标注;
第二确定模块610,用于根据所述新的二维人脸图像对应的人脸关键点坐标确定所述新的二维人脸图像对应的人脸关键点标注;
加入模块612,用于将所述新的二维人脸图像和所述新的二维人脸图像对应的人脸关键点标注加入到所述训练数据集,并利用所述训练数据集对人脸关键点检测模型进行训练。
在一个实施例中,获取模块602还用于从训练数据集中获取二维人脸图像和所述二维人脸图像对应的人脸关键点标注;基于所述二维人脸图像生成与所述二维人脸图像对应的三维人脸模型;基于所述二维人脸图像对应的人脸关键点标注确定映射到所述三维人脸模型对应的人脸关键点标注。
在一个实施例中,获取模块还用于采用三维扫描仪对人脸进行扫描,得到三维人脸模型;对所述三维人脸模型进行人脸关键点标注。
在一个实施例中,所述移动路径包括:平移路径和旋转路径;确定模块还用于随机生成所述三维人脸模型在三维空间中的平移路径和旋转路径,以使所述三维模型能够平滑地根据所述平移路径和旋转路径移动。
在一个实施例中,确定模块还用于按照预设的密度随机在三维空间中生成多个点,随机从所述多个点中选取一个点作为起点,寻找与所述起点最近的点作为第二个点,寻找与所述第二个点最近的点作为第三个点,以此类推,将生成的所述多个点进行一一排序,得到排序后的点序列;根据所述排序后的点序列进行平滑插值,得到平滑后的平移路径;确定所述平移路径上每个点的深度坐标,根据所述平移路径上每个点的深度坐标确定旋转路径,其中,所述旋转路径上的每个点的深度坐标大于所述平滑路径上每个点的深度坐标。
在一个实施例中,计算模块还用于确定拍照时三维人脸模型所在的当前位置,计算从初始位置到所述当前位置对应的平移向量和旋转矩阵;根据所述平移向量和所述旋转矩阵和所述初始位置对应的人脸关键点标注计算得到所述当前位置的三维人脸模型中人脸关键点的位置坐标;根据所述当前位置的三维人脸模型中人脸关键点的位置坐标确定所述新的二维人脸图像对应的人脸关键点标注。
如图7所示,在一个实施例中,上述人脸关键点检测模型的训练装置还包括:
处理模块614,用于对所述新的二维人脸图像进行多样化处理,以得到多种场景下的二维人脸图像,将所述多种场景下二维人脸图像和对应的人脸关键点标注加入到所述训练数据集中,所述多样化处理包括:更换背景图像、调整图像色调和调整图像亮度中的至少一种
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图8所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述的人脸关键点检测模型的训练方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述的人脸关键点检测模型的训练方法。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述人脸关键点检测模型的训练方法的步骤。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述人脸关键点检测模型的训练方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种人脸关键点检测模型的训练方法,其特征在于,包括:
获取三维人脸模型,确定所述三维人脸模型在初始位置对应的人脸关键点标注,所述人脸关键点标注用于指示所述人脸关键点的位置坐标;
确定所述三维人脸模型在三维空间中的移动路径,以使所述三维人脸模型按照所述移动路径进行移动;
在所述三维人脸模型按照所述移动路径移动的过程中,对所述三维人脸模型进行拍照得到新的二维人脸图像;
基于拍照时所述三维人脸模型在所述移动路径中的位置和所述在初始位置对应的人脸关键点标注计算得到所述新的二维人脸图像对应的人脸关键点标注;
将所述新的二维人脸图像和所述新的二维人脸图像对应的人脸关键点标注加入到训练数据集,并利用所述训练数据集对人脸关键点检测模型进行训练。
2.根据权利要求1所述的方法,其特征在于,所述获取三维人脸模型,确定所述三维人脸模型对应的人脸关键点标注,包括:
获取二维人脸图像和所述二维人脸图像对应的人脸关键点标注;
基于所述二维人脸图像生成与所述二维人脸图像对应的三维人脸模型;
基于所述二维人脸图像对应的人脸关键点标注确定映射到所述三维人脸模型对应的人脸关键点标注。
3.根据权利要求1所述的方法,其特征在于,所述获取三维人脸模型,确定所述三维人脸模型对应的人脸关键点标注,包括:
采用三维扫描仪对人脸进行扫描,得到三维人脸模型;
对所述三维人脸模型进行人脸关键点标注。
4.根据权利要求1所述的方法,其特征在于,所述移动路径包括:平移路径和旋转路径;
所述确定所述三维人脸模型在三维空间中的移动路径,包括:
随机生成所述三维人脸模型在三维空间中的平移路径和旋转路径,以使所述三维模型能够平滑地根据所述平移路径和旋转路径移动。
5.根据权利要求4所述的方法,其特征在于,所述随机生成所述三维人脸模型在三维空间中的平移路径和旋转路径,以使所述三维模型能够平滑地根据所述平移路径和旋转路径移动,包括:
按照预设的密度随机在三维空间中生成多个点,按照预设的规则将所述多个点进行排序,得到排序后的点序列,所述预设的规则为:随机从所述多个点中选取一个点作为起点,寻找与所述起点最近的点作为第二个点,寻找与所述第二个点最近的点作为第三个点,以此类推,直到遍历完所有的点;
根据所述排序后的点序列进行平滑插值,得到平滑后的平移路径;
确定所述平移路径上每个点的深度坐标,根据所述平移路径上每个点的深度坐标确定旋转路径,其中,所述旋转路径上的每个点的深度坐标大于所述平滑路径上每个点的深度坐标。
6.根据权利要求1所述的方法,其特征在于,所述基于拍照时所述三维人脸模型在所述移动路径中的位置计算得到所述新的二维人脸图像对应的人脸关键点坐标,包括:
确定拍照时三维人脸模型所在的当前位置,计算从初始位置到所述当前位置对应的平移向量和旋转矩阵;
根据所述平移向量和所述旋转矩阵和所述初始位置对应的人脸关键点标注计算得到所述当前位置的三维人脸模型中人脸关键点的位置坐标;
根据所述当前位置的三维人脸模型中人脸关键点的位置坐标确定所述新的二维人脸图像对应的人脸关键点标注。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述新的二维人脸图像进行多样化处理,以得到多种场景下的二维人脸图像,将所述多种场景下二维人脸图像和对应的人脸关键点标注加入到所述训练数据集中,所述多样化处理包括:更换背景图像、调整图像色调和调整图像亮度中的至少一种。
8.一种人脸关键点检测模型的训练装置,其特征在于,包括:
获取模块,用于获取三维人脸模型,确定所述三维人脸模型对应的人脸关键点标注,所述人脸关键点标注是指所述人脸关键点的位置坐标;
第一确定模块,用于确定所述三维人脸模型在三维空间中的移动路径,以使所述三维人脸模型按照所述移动路径进行移动;
拍照模块,用于在所述三维人脸模型按照所述移动路径移动的过程中,对所述三维人脸模型进行拍照得到新的二维人脸图像;
计算模块,用于基于拍照时所述三维人脸模型在所述移动路径中的位置和所述在初始位置对应的人脸关键点标注计算得到所述新的二维人脸图像对应的人脸关键点坐标,将所述新的二维人脸图像对应的人脸关键点坐标作为所述新的二维人脸图像对应的人脸关键点标注;
第二确定模块,用于根据所述新的二维人脸图像对应的人脸关键点坐标确定所述新的二维人脸图像对应的人脸关键点标注;
加入模块,用于将所述新的二维人脸图像和所述新的二维人脸图像对应的人脸关键点标注加入到所述训练数据集,并利用所述训练数据集对人脸关键点检测模型进行训练。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的人脸关键点检测模型的训练方法的步骤。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的人脸关键点检测模型的训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011528500.4A CN112598807A (zh) | 2020-12-22 | 2020-12-22 | 人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011528500.4A CN112598807A (zh) | 2020-12-22 | 2020-12-22 | 人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112598807A true CN112598807A (zh) | 2021-04-02 |
Family
ID=75200166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011528500.4A Pending CN112598807A (zh) | 2020-12-22 | 2020-12-22 | 人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112598807A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115263A (zh) * | 2021-11-19 | 2022-03-01 | 武汉万集光电技术有限公司 | 用于agv的自主建图方法、装置、移动机器人及介质 |
CN116091570A (zh) * | 2023-04-07 | 2023-05-09 | 腾讯科技(深圳)有限公司 | 三维模型的处理方法、装置、电子设备、及存储介质 |
-
2020
- 2020-12-22 CN CN202011528500.4A patent/CN112598807A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115263A (zh) * | 2021-11-19 | 2022-03-01 | 武汉万集光电技术有限公司 | 用于agv的自主建图方法、装置、移动机器人及介质 |
CN114115263B (zh) * | 2021-11-19 | 2024-04-09 | 武汉万集光电技术有限公司 | 用于agv的自主建图方法、装置、移动机器人及介质 |
CN116091570A (zh) * | 2023-04-07 | 2023-05-09 | 腾讯科技(深圳)有限公司 | 三维模型的处理方法、装置、电子设备、及存储介质 |
CN116091570B (zh) * | 2023-04-07 | 2023-07-07 | 腾讯科技(深圳)有限公司 | 三维模型的处理方法、装置、电子设备、及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rogez et al. | Mocap-guided data augmentation for 3d pose estimation in the wild | |
Hold-Geoffroy et al. | A perceptual measure for deep single image camera calibration | |
US9940756B2 (en) | Silhouette-based object and texture alignment, systems and methods | |
Kim et al. | Inversefacenet: Deep monocular inverse face rendering | |
Shi et al. | Automatic acquisition of high-fidelity facial performances using monocular videos | |
CN110738595B (zh) | 图片处理方法、装置和设备及计算机存储介质 | |
CN111354079A (zh) | 三维人脸重建网络训练及虚拟人脸形象生成方法和装置 | |
CN110096925B (zh) | 人脸表情图像的增强方法、获取方法和装置 | |
Kim et al. | Inversefacenet: Deep single-shot inverse face rendering from a single image | |
JP5206366B2 (ja) | 3次元データ作成装置 | |
JP2023545200A (ja) | パラメータ推定モデルの訓練方法、パラメータ推定モデルの訓練装置、デバイスおよび記憶媒体 | |
CN111553284A (zh) | 人脸图像处理方法、装置、计算机设备和存储介质 | |
CN111080776B (zh) | 人体动作三维数据采集和复现的处理方法及系统 | |
CN110660076A (zh) | 一种人脸交换方法 | |
CN112598807A (zh) | 人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 | |
CN111815768B (zh) | 三维人脸重建方法和装置 | |
CN111695431A (zh) | 一种人脸识别方法、装置、终端设备及存储介质 | |
CN109389634A (zh) | 基于三维重建和增强现实的虚拟购物系统 | |
KR20200100020A (ko) | 3차원 컨텐츠 생성 장치 및 그 3차원 컨텐츠 생성 방법 | |
CN112669436A (zh) | 一种基于3d点云的深度学习样本生成方法 | |
Shu et al. | Few-shot head swapping in the wild | |
US10755476B2 (en) | Image processing method and image processing device | |
CN115008454A (zh) | 一种基于多帧伪标签数据增强的机器人在线手眼标定方法 | |
Liu et al. | Single view 3d face reconstruction with landmark updating | |
CN102496174A (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 |