CN106558042B - 一种对图像进行关键点定位的方法和装置 - Google Patents

一种对图像进行关键点定位的方法和装置 Download PDF

Info

Publication number
CN106558042B
CN106558042B CN201510631053.8A CN201510631053A CN106558042B CN 106558042 B CN106558042 B CN 106558042B CN 201510631053 A CN201510631053 A CN 201510631053A CN 106558042 B CN106558042 B CN 106558042B
Authority
CN
China
Prior art keywords
exp
positioning
current
current frame
determining
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
Application number
CN201510631053.8A
Other languages
English (en)
Other versions
CN106558042A (zh
Inventor
陈岩
黄英
邹建法
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510631053.8A priority Critical patent/CN106558042B/zh
Priority to PCT/CN2016/099291 priority patent/WO2017054652A1/zh
Publication of CN106558042A publication Critical patent/CN106558042A/zh
Application granted granted Critical
Publication of CN106558042B publication Critical patent/CN106558042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明提供了一种对图像进行关键点定位的方法和装置,其中方法包括:S1、利用第一定位模型对当前帧进行定位,得到m个定位点的位置;S2、将上一帧的Wid和Wexp作为初始参数,基于所述m个定位点,利用第二定位模型确定当前帧的Wid和Wexp,并基于当前帧的Wid和Wexp对当前帧进行定位,得到n个定位点的位置;其中所述m小于所述n,所述Wid为图像中的对象描述参数,所述Wexp为图像中的表情描述参数。本发明考虑了视频中前后帧是同一对象的约束问题,减小了视频中前后帧定位点的抖动,视觉效果更加自然流畅。

Description

一种对图像进行关键点定位的方法和装置
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种对图像进行关键点定位的方法和装置。
【背景技术】
随着智能终端的不断普及,人们利用智能终端进行图像处理的需求越来越高,各类美颜类APP受到爱美人士的广泛青睐。然而,现有这类APP都是基于静态图像的美颜处理,采用的方式主要是对静态图像进行器官的关键点定位。但目前尚没有针对视频图像进行关键点定位的方式。
【发明内容】
有鉴于此,本发明提供了一种对图像进行关键点定位的方法和装置,以便于实现对视频图像进行的关键点定位。
具体技术方案如下:
本发明提供了一种对图像进行关键点定位的方法,该方法包括:
S1、利用第一定位模型对当前帧进行定位,得到m个定位点的位置;
S2、将上一帧的Wid和Wexp作为初始参数,基于所述m个定位点,利用第二定位模型确定当前帧的Wid和Wexp,并基于当前帧的Wid和Wexp对当前帧进行定位,得到n个定位点的位置;
其中所述m小于所述n,所述Wid为图像中的对象描述参数,所述Wexp为图像中的表情描述参数。
根据本发明一优选实施方式,在所述将上一帧的Wid和Wexp作为初始参数之前还包括:
判断当前帧是否为视频的首帧,如果否,则继续执行所述上一帧的Wid和Wexp作为初始参数的步骤;如果是,则将预设的初始Wid和初始Wexp作为初始参数。
根据本发明一优选实施方式,所述第一定位模型为监督下降法SDM模型,所述第二定位模型为3模奇异值分解3-modeSVD模型。
根据本发明一优选实施方式,所述S1包括:
S11、提取当前帧的图像梯度特征,利用所述图像梯度特征和所述第一定位模型,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX;
S12、利用当前帧的ΔX和预先确定的m个平均定位点的位置,得到当前帧的m个定位点的位置。
根据本发明一优选实施方式,利用所述图像梯度特征和所述第一定位模型,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX包括:
利用ΔX=Φ·R确定ΔX;
其中当前帧的Φ为:Φ=p×Dim,p为所述第一定位模型所采用训练集的图像个数,Dim为分别以所述m个平均定位点的位置为中心的设定范围区域提取的2m维梯度特征,R为所述第一定位模型的参数向量。
根据本发明一优选实施方式,该方法还包括:预先训练所述第一定位模型,具体包括:
A11、确定训练集中p个图像的关键点位置Xreal
A12、将各关键点在p个图像中的平均位置作为当前迭代位置X;
A13、利用ΔX=Xreal-X,确定ΔX的值;
A14、利用R=(ΦT·Φ)-1·ΦT·ΔX,得到第一定位模型的参数向量R的当前值;
A15、如果ΔX的模小于或等于预设的第一模值,则R的当前值即为训练得到的第一定位模型的参数向量R的值;
否则,利用Φ·R+X得到的值更新当前迭代位置X,转至所述A13。
根据本发明一优选实施方式,所述利用第二定位模型确定当前帧的Wid包括:
S21、将所述m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000021
S22、利用当前迭代位置
Figure GDA0002108555420000039
当前的Wid和Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S23、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S24、利用当前的Wid和ΔS,确定新的Wid
S25、如果所述ΔS的模小于或等于预设的第二模值,则将所述新的Wid确定为当前帧的Wid
否则,利用新的Wid更新当前Wid以及利用新的迭代位置S更新当前迭代位置
Figure GDA0002108555420000031
转至执行所述S22。
根据本发明一优选实施方式,所述S22包括:利用
Figure GDA0002108555420000032
得到新的迭代位置S;其中所述
Figure GDA0002108555420000033
Figure GDA0002108555420000034
表示按表情描述方向展开成二维矩阵,
Figure GDA0002108555420000035
表示按表情描述方向合成立方矩阵;
所述S24包括:
利用ΔWid=(ΨT·Ψ)-1·ΨT·ΔS,确定ΔWid
将ΔWid与当前的Wid的和确定为新的Wid
根据本发明一优选实施方式,所述利用第二定位模型确定当前帧的Wexp包括:
S31、将所述m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000037
S32、利用当前迭代位置
Figure GDA0002108555420000038
当前帧的Wid和当前的Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S33、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S34、利用当前的Wexp和ΔS,确定新的Wexp
S35、如果所述ΔS的模小于或等于预设的第三模值,则将所述新的Wexp确定为当前帧的Wexp
否则,利用新的Wexp更新当前Wexp以及利用新的迭代位置S更新当前迭代位置
Figure GDA0002108555420000036
转至执行所述S32。
根据本发明一优选实施方式,所述S32包括:利用
Figure GDA0002108555420000041
得到新的迭代位置S;其中所述
Figure GDA0002108555420000042
Figure GDA0002108555420000043
表示按对象描述方向展开成二维矩阵,
Figure GDA0002108555420000044
表示按对象描述方向合成立方矩阵;
所述S34包括:
利用ΔWexp=(ΩT·Ω)-1·ΩT·ΔS,确定ΔWexp
将ΔWexp与当前的Wexp的和确定为新的Wexp
根据本发明一优选实施方式,所述基于当前帧的Wid和Wexp对当前帧进行定位包括:
利用
Figure GDA0002108555420000045
得到包含当前帧n个定位点的位置的向量f;
其中,
Figure GDA0002108555420000046
为所述第二定位模型所采用训练集的图像中n个定位点的位置平均值构成的向量,Cexp_id为第二定位模型的参数向量,×1表示×1前面的立方矩阵按照表情描述方向展开为二维矩阵与×1后面的二维矩阵相乘后,将得到的二维矩阵再按照表情描述方向变换成立方矩阵;×2表示×2前面的立方矩阵按照对象描述方向展开为二维矩阵与×2后面的二维矩阵相乘后,将得到的二维矩阵再按照对象描述方向变换成立方矩阵。
根据本发明一优选实施方式,该方法还包括:预先训练所述第二定位模型,具体包括:
B11、收集不同对象的不同表情的图像,按照对象描述、表情描述和位置描述构建立体训练数据张量;
B12、将所述立体训练数据张量中n个关键点的位置分别减去n个关键点在各图像中的位置平均值,得到立体数据张量D;
B13、利用
Figure GDA0002108555420000047
得到第二定位模型的参数向量Cexp_id
其中,Uexp是D在表情描述方向展开为二维矩阵的酉矩阵,Uid是D在对象描述方向展开为二维矩阵的酉矩阵。
根据本发明一优选实施方式,该方法还包括:
当确定出的各帧的Wid趋于稳定值时,对于后续帧的Wid直接采用所述稳定值。
根据本发明一优选实施方式,若图像中存在多于一个的对象,则将上一帧的对象描述参数与当前帧的对象描述参数的欧式距离最小的两个对象描述参数确定为对应于同一对象。
本发明还提供了一种对图像进行关键点定位的装置,该装置包括:
第一定位单元,用于利用第一定位模型对当前帧进行定位,得到m个定位点的位置;
参数确定单元,用于将上一帧的Wid和Wexp作为初始参数;
第二定位单元,用于基于所述m个定位点和初始参数,利用第二定位模型确定当前帧的Wid和Wexp,并基于当前帧的Wid和Wexp对当前帧进行定位,得到n个定位点的位置;
其中所述m小于所述n,所述Wid为图像中的对象描述参数,所述Wexp为图像中的表情描述参数。
根据本发明一优选实施方式,所述参数确定单元,还用于判断当前帧是否为视频的首帧,如果否,则将上一帧的Wid和Wexp作为初始参数;如果是,则将预设的初始Wid和初始Wexp作为初始参数。
根据本发明一优选实施方式,所述第一定位模型为SDM模型,所述第二定位模型为3-modeSVD模型。
根据本发明一优选实施方式,所述第一定位单元包括:
第一偏离确定子单元,用于提取当前帧的图像梯度特征,利用所述图像梯度特征和所述第一定位模型,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX;
第一定位子单元,用于利用当前帧的ΔX和预先确定的m个平均定位点的位置,得到当前帧的m个定位点的位置。
根据本发明一优选实施方式,所述第一偏离确定子单元,具体利用ΔX=Φ·R确定ΔX;
其中当前帧的Φ为:Φ=p×Dim,p为所述第一定位模型所采用训练集的图像个数,Dim为分别以所述m个平均定位点的位置为中心的设定范围区域提取的2m维梯度特征,R为所述第一定位模型的参数向量。
根据本发明一优选实施方式,该装置还包括:
第一模型训练单元,用于执行以下操作训练所述第一定位模型:
A11、确定训练集中p个图像的关键点位置Xreal
A12、将各关键点在p个图像中的平均位置作为当前迭代位置X;
A13、利用ΔX=Xreal-X,确定ΔX的值;
A14、利用R=(ΦT·Φ)-1·ΦT·ΔX,得到第一定位模型的参数向量R的当前值;
A15、如果ΔX的模小于或等于预设的第一模值,则R的当前值即为训练得到的第一定位模型的参数向量R的值;
否则,利用Φ·R+X得到的值更新当前迭代位置X,转至所述A13。
根据本发明一优选实施方式,所述第二定位单元包括:
第一参数确定子单元,用于利用第二定位模型确定当前帧的Wid,具体执行以下操作:
S21、将所述m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000061
S22、利用当前迭代位置
Figure GDA0002108555420000062
当前的Wid和Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S23、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S24、利用当前的Wid和ΔS,确定新的Wid
S25、如果所述ΔS的模小于或等于预设的第二模值,则将所述新的Wid确定为当前帧的Wid
否则,利用新的Wid更新当前Wid以及利用新的迭代位置S更新当前迭代位置
Figure GDA0002108555420000063
转至执行所述S22。
根据本发明一优选实施方式,所述第一参数确定子单元在执行所述S22时,具体利用
Figure GDA0002108555420000071
得到新的迭代位置S;其中所述
Figure GDA0002108555420000072
Figure GDA0002108555420000073
表示按表情描述方向展开成二维矩阵,
Figure GDA0002108555420000074
表示按表情描述方向合成立方矩阵;
在执行所述S24时,具体利用ΔWid=(ΨT·Ψ)-1·ΨT·ΔS,确定ΔWid;将ΔWid与当前的Wid的和确定为新的Wid
根据本发明一优选实施方式,所述第二定位单元包括:
第二参数确定子单元,用于利用第二定位模型确定当前帧的Wexp,具体执行:
S31、将所述m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000075
S32、利用当前迭代位置
Figure GDA0002108555420000076
当前帧的Wid和当前的Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S33、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S34、利用当前的Wexp和ΔS,确定新的Wexp
S35、如果所述ΔS的模小于或等于预设的第三模值,则将所述新的Wexp确定为当前帧的Wexp
否则,利用新的Wexp更新当前Wexp以及利用新的迭代位置S更新当前迭代位置
Figure GDA00021085554200000712
转至执行所述S32。
根据本发明一优选实施方式,所述第二参数确定子单元在执行所述S32时,具体利用
Figure GDA0002108555420000077
得到新的迭代位置S;其中所述
Figure GDA0002108555420000078
Figure GDA0002108555420000079
表示按对象描述方向展开成二维矩阵,
Figure GDA00021085554200000710
表示按对象描述方向合成立方矩阵;
在执行所述S34时,具体利用ΔWexp=(ΩT·Ω)-1·ΩT·ΔS,确定ΔWexp;将ΔWexp与当前的Wexp的和确定为新的Wexp
根据本发明一优选实施方式,所述第二定位单元包括:
第二定位子单元,用于基于当前帧的Wid和Wexp对当前帧进行定位,具体执行:
利用
Figure GDA00021085554200000711
得到包含当前帧n个定位点的位置的向量f;
其中,
Figure GDA0002108555420000081
为所述第二定位模型所采用训练集的图像中n个定位点的位置平均值构成的向量,Cexp_id为第二定位模型的参数向量,×1表示×1前面的立方矩阵按照表情描述方向展开为二维矩阵与×1后面的二维矩阵相乘后,将得到的二维矩阵再按照表情描述方向变换成立方矩阵;×2表示×2前面的立方矩阵按照对象描述方向展开为二维矩阵与×2后面的二维矩阵相乘后,将得到的二维矩阵再按照对象描述方向变换成立方矩阵。
根据本发明一优选实施方式,该装置还包括:
第二模型训练单元,用于执行以下操作训练所述第二定位模型:
B11、收集不同对象的不同表情的图像,按照对象描述、表情描述和位置描述构建立体训练数据张量;
B12、将所述立体训练数据张量中n个关键点的位置分别减去n个关键点在各图像中的位置平均值,得到立体数据张量D;
B13、利用
Figure GDA0002108555420000082
得到第二定位模型的参数向量Cexp_id
其中,Uexp是D在表情描述方向展开为二维矩阵的酉矩阵,Uid是D在对象描述方向展开为二维矩阵的酉矩阵。
根据本发明一优选实施方式,所述第一参数确定子单元,还用于在确定出的各帧的Wid趋于稳定值时,对于后续帧的Wid直接采用所述稳定值。
根据本发明一优选实施方式,该装置还包括:
身份标识单元,用于若图像中存在多于一个的对象,则将上一帧的对象描述参数与当前帧的对象描述参数的欧式距离最小的两个对象描述参数确定为对应于同一对象。
由以上技术方案可以看出,本发明在对当前帧的粗略定位基础上,结合上一帧的对象描述参数和表情描述参数对当前帧进行精确定位,考虑了视频图像中前后帧的连续性和关联性,从而实现了对视频图像中关键点的定位。
【附图说明】
图1为本发明实施例提供的主要方法流程图;
图2为本发明实施例提供的训练SDM模型的方法流程图;
图3a为本发明实施例提供的训练集的实例图;
图3b为图3a中一个图像的局部放大图;
图4为本发明实施例提供的利用SDM模型进行定位的方法流程图;
图5为本发明实施例提供的训练3-modeSVD模型的方法流程图;
图6为本发明实施例提供的立体训练数据张量在空间上的体现图示;
图7为本发明实施例提供的利用3-modeSVD模型进行定位的方法流程图;
图8为本发明实施例提供的包含两个对象的前后两帧的示意图;
图9为本发明实施例提供的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
图1为本发明实施例提供的主要方法流程图,如图1中所示,在对视频的各帧图像进行关键点定位时,依次对各帧执行以下处理:
在101中,利用第一定位模型对当前帧进行定位,得到m个定位点的位置。
在本申请中,对每一帧进行定位之前会有一个对象检测的过程,主要是检测对象的大概区域和数量,以人脸定位为例,首先可以对当前帧进行人脸检测,确定人脸的区域和数量。本申请进行的定位主要是在人脸的区域进行定位,如果数量多于1个,那么分别针对每一个人脸的区域进行定位。人脸检测的方式可以采用现有技术中的方式,在此不再详述。
在102中,将上一帧的Wid和Wexp作为初始参数,基于上述m个定位点,利用第二定位模型确定当前帧的Wid和Wexp,并基于当前帧的Wid和Wexp对当前帧进行定位,得到n个定位点的位置,其中m小于n。
本发明实施例所提供的方法可以应用于视频中的人脸关键点定位,由于不同人、不同表情时,关键点的位置会存在偏差,因此无论是构建定位模型还是利用定位模型的定位,都在对象(即人)描述、表情描述和位置描述这三个维度上进行。每一帧都存在对象描述参数Wid和表情描述参数Wexp,顾名思义,Wid负责对图像中的对象(即人)标识进行描述,Wexp负责对图像中的表情进行描述。当然,本发明并不限于对人脸进行关键点定位,也可以对诸如猫、狗等动物进行关键点定位,在本发明实施例中以人脸的关键点定位为例进行描述。
本发明实际上,是利用第一定位模型对当前帧进行粗略定位,然后在第一定位模型的定位基础上,结合上一帧的Wid和Wexp采用第二定位模型对当前帧进行精确定位。
另外,对于视频的首帧而言,由于首帧不存在上一帧,因此均可以采用初始值,即将预设的初始Wid和初始Wexp作为初始参数,具体将在后续实施例中详细描述。
在本发明实施例中,进行粗略定位的第一定位模型可以采用SDM(SupervisedDescent Method,监督下降法)模型,SDM模型进行定位的原理在于:从人脸的平均形状(即关键点的平均位置)出发,根据关键点的平均位置以及从各关键点的平均位置为中心的图像纹理特征之间的映射关系,来完成人脸关键点的定位,即得到m个定位点,本发明实施例中以“定位点”来表示定位得到的关键点。SDM模型的优点是对起始位置要求不高,利用平均形状就可以达到较高的定位效果,但缺点就是算法复杂度高,因此本发明实施例中仅用它来进行粗略定位,得到较少数量的定位点。
本发明实施例中进行精确定位的第二定位模型可以采用3-modeSVD(3-modeSingular Value Decomposition,3模奇异值分解)模型的原理在于:从人脸器官的平均形状触发,根据关键点的平均位置与已有定位点之间的映射关系,完成器官轮廓点的精确定位。其优点是算法复杂度低,精度高,实时性好,缺点就是需要实现完成部分关键点的定位。
结合上述两种模型的优缺点,本发明就能够完成视频中各帧图像的实时定位和跟踪。下面结合具体实施例分别对结合SDM模型和3-modeSVD模型进行视频中图像关键点定位的方法进行详细描述。
首先以SDM模型为例对图1中所示步骤101进行详细描述,为了方便对SDM模型的理解,首先对SDM模型的训练过程进行描述。该训练过程该过程如图2中所示,可以包括以下步骤:
在201中,确定训练集中p个图像的关键点位置Xreal
在本发明实施例中,可以收集不同人的不同表情的图像构建训练集,如图3a中所示,在这些图像上预先确定关键点,假设训练集中图像数量为p,每一个图像上都存在m个关键点位置(以图3中其中一个图像为例,对其局部放大如图3b所示,图3b中在眼睛、鼻子、眉毛、嘴巴、耳朵、下巴等器官上共存在m个关键点),那么Xreal可以表示为[x1,x2,…,xp]T,即训练集各图像每个关键点的坐标,记录该Xreal
在202中,将各关键点在p个图像中的平均位置作为当前迭代位置X。
在本步骤中,X可以表示为
Figure GDA0002108555420000111
其中
Figure GDA0002108555420000112
即每个关键点在各图像中的坐标平均值。
在203中,利用ΔX=Xreal-X,确定ΔX的值。
ΔX体现的是关键点的真实位置与迭代位置之间的偏差状况。
在204中,利用R=(ΦT·Φ)-1·ΦT·ΔX得到第一定位模型的参数向量R的当前值。
其中Φ=p×Dim,Dim为分别以m个关键点在各图像中的平均位置为中心的设定范围区域提取的2m维梯度特征。假设有m个关键点,即存在m个平均位置,以每个平均位置为中心,8×8的区域范围提取图像64维的梯度特征,因此Dim为2112(m×64)维。
在205中,判断ΔX的模是否小于或等于预设的第一模值,如果是,执行207;否则,执行206。
本步骤实际上设置了一个收敛条件,即如果ΔX的模小于或等于第一模值,则说明当前偏差状况ΔX在可接受范围内,可以停止迭代。其中第一模值可以取经验值,例如取1,通常情况下进行4次迭代就可以达到该收敛条件。
在206中,利用Φ·R+X得到的值更新当前迭代位置X,转至执行203。
如果未满足收敛条件,则更新当前迭代位置X后,转至203继续进行迭代,直至满足收敛条件。
在207中,R的当前值即为最终训练得得到的参数值,结束训练过程。
可以看出,SDM模型的训练过程,实际上就是确定R的过程,R体现的就是定位点形状偏离平均定位点形状的程度与图像梯度特征的映射关系。在SDM模型训练完毕后,利用SDM模型实现图1中所示步骤101的定位过程可以如图4中所示,包括以下步骤:
在401中,提取当前帧的图像梯度特征,利用图像梯度特征和训练得到的SDM模型的R,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX。
在本步骤中,当前帧的图像梯度特征可以通过平均定位点在当前帧上的梯度特征来反映。所谓平均定位点指的是训练集中m个关键点在各图像上的平均位置,由于训练集中存在p个图像,每个图像上都有m个关键点,这m个关键点分别在p个图像上的位置坐标的平均值就是平均定位点的坐标值。
因此图像梯度特征可以用Φ表示,Φ=p×Dim,其中当前帧的Dim就是在当前帧上分别以m个平均定位点的位置为中心的设定范围区域提取的2m维梯度特征。由于SDM模型中的参数向量R体现的就是定位点形状偏离平均定位点形状的程度与图像梯度特征的映射关系,因此在确定ΔX时采用公式ΔX=Φ·R,即利用当前帧的Φ点乘SDM模型的R。
在402中,利用当前帧的ΔX和预先确定的m个平均定位点的位置,得到当前帧的m个定位点的位置。
根据ΔX的含义可知,当前帧的m个定位点的位置就是当前帧的ΔX与预先确定的m个平均定位点的位置
Figure GDA0002108555420000133
之和。
在利用SDM模型完成m个定位点的粗略定位后,下面就要利用3-modeSVD模型进行进一步的精确定位。为了方便对3-modeSVD模型的定位方式的理解,首先对3-modeSVD模型的训练过程进行描述。如图5所示,该训练过程可以包括以下步骤:
在501中,收集不同对象的不同表情的图像,按照对象描述、表情描述和位置描述构建立体训练数据张量。
在本发明实施例中,对象描述采用id表示,表情描述采用exp表示,位置描述采用定位点vertices表示,构建的立体训练数据张量在空间上的体现可以如图6中所示。
在502中,将立体训练数据张量中n个关键点的位置分别减去n个关键点在各图像中的位置平均值,得到立体数据张量D。
如果构建400人,每人39种表情的图像,每个图像上存在n个关键点,那么每个图像上的关键点坐标展开可以表示为[x1,y1,x2,y2…xn,yn],其中下标为各关键点的标识。这n个关键点的位置平均值可以表示为
Figure GDA0002108555420000131
然后将立体数据张量中n个关键点的位置分别减去n个关键点在各图像中的位置平均值,得到的立体数据张量为D,这样立体数据张量D大小为2n×39×400的立方矩阵。
在503中,利用
Figure GDA0002108555420000132
得到3-modeSVD模型的参数向量Cexp_id
本步骤中的公式,是依据3-modeSVD模型的原理得到的。其中,×1表示×1前面的立方矩阵按照exp方向展开为二维矩阵与×1后面的二维矩阵相乘后,将得到的二维矩阵再按照exp方向变换成立方矩阵;×2表示×2前面的立方矩阵按照id方向展开为二维矩阵与×2后面的二维矩阵相乘后,将得到的二维矩阵再按照id方向变换成立方矩阵。在本步骤的公式中,实际上是将立方矩阵D按照exp方向展开为二维矩阵与Uexp T相乘后,将得到的二维矩阵再按照exp方向变换成立方矩阵;再将变换得到的立方矩阵按照id方向展开为二维矩阵后与
Figure GDA0002108555420000141
相乘后,将得到的二维矩阵再按照id方向变换成立方矩阵,得到Cexp_id
Uexp是D在exp方向展开为二维矩阵的酉矩阵,接续上例,D在exp方向展开为39×800n的二维矩阵,然后进行SVD分解,得到的酉矩阵是39×39,可以直接将该39×39大小的矩阵作为Uexp。为了减少模型大小,提高定位速度,也可以根据奇异值大小,取酉矩阵的前10列作为Uexp,那么Uexp的大小为39×10。
Uid是D在id方向展开为二维矩阵的酉矩阵,接续上例,D在id方向展开为400×78n的二维矩阵,然后进行SVD分解,得到的酉矩阵是400×400,可以直接将该400×400大小的矩阵作为Uid。为了减少模型大小,提高定位速度,也可以根据奇异值大小,取酉矩阵的前20列作为Uid,那么Uid的大小为400×20。
如果Uexp大小为39×10,Uid大小为400×20,那么得到的Cexp_id大小为2n×10×20。
由步骤503中的公式可以看出,D≈Cexp_id×1Uexp×2Uid,对于训练集中的一副图像的关键点位置f,否可以由训练得到的Cexp_id、Uexp的列向量、Uid的列向量表示,其中Uexp的列向量为Wexp,Uid的列向量表示为Wid。即:
Figure GDA0002108555420000142
进一步推导出:
Figure GDA0002108555420000143
后续利用3-modeSVD模型进行定位的过程就是基于该公式。下面结合图7对利用3-modeSVD模型进行定位的过程进行详细描述,对于每一帧而言,定位采用的方法相同,因此,在图7中仅对一帧(描述为当前帧)的定位过程进行描述,即图1中的步骤102的实现过程。如图7中所示,该过程可以包括以下步骤:
在701中,将SDM模型确定出的m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000151
本步骤中,初始将利用SDM模型进行粗略定位得到的m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000152
在702中,利用当前迭代位置
Figure GDA0002108555420000153
当前的Wid和Wexp以及上述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S。
对于视频的首帧而言,当前的Wid和Wexp均采用预设的初始值,依据奇异值大小,可以取Wid的初始值(即初始向量)为
Figure GDA0002108555420000154
Wexp的初始值(初始向量)为
Figure GDA0002108555420000155
Wid的初始值和Wexp的初始值的模均为1。
对于视频的非首帧而言,当前的Wid和Wexp均采用上一帧的Wid和Wexp
在本步骤中,可以利用如下公式,得到新的迭代位置S:
Figure GDA0002108555420000156
其中
Figure GDA0002108555420000157
Figure GDA0002108555420000158
表示按表情描述方向展开成二维矩阵,
Figure GDA0002108555420000159
表示按表情描述方向合成立方矩阵。
针对m个定位点对应的第二定位模型的参数向量Csdm_exp_id,举一个例子,假设SDM模型定位出m个定位点,而3-modeSVD模型的定位点个数为n,那么3-modeSVD模型的参数向量Cexp_id中n个点是包含上述m个定位点的,将这m个定位点在参数向量Cexp_id中对应的参数向量确定为Csdm_exp_id
在703中,确定SDM模型确定出的m个定位点的位置与新的迭代位置S的偏差ΔS。
如果以SSDM表示SDM模型确定出的m个定位点的位置,那么ΔS=SSDM-S。
在704中,利用当前的Wid和ΔS,确定新的Wid
本步骤中,可以首先利用ΔWid=(ΨT·Ψ)-1·ΨT·ΔS,确定出ΔWid;然后再将ΔWid与当前的Wid的和确定为新的Wid
在705中,判断ΔS的模是否小于或等于预设的第二模值,如果是,则执行707;否则,执行706。
本步骤实际上是利用ΔS设置了一个收敛条件,如果ΔS的值满足收敛条件,则说明SDM模型确定出的m个定位点的位置与新的迭代位置S之间的已经偏差很小,可以将当前迭代出的Wid(即当前的Wid)作为当前帧的Wid。如果不满足收敛条件,则继续迭代。
其中第二模值可以采用经验值,例如取1。
在706中,利用新的Wid更新当前Wid以及利用新的迭代位置S更新当前迭代位置
Figure GDA0002108555420000165
转至执行702。
在707中,将新的Wid确定为当前帧的Wid
以上就完成了当前帧的Wid的确定,实际上采用的方式是固定Wexp迭代出Wexp。下面的步骤开始基于当前帧的Wid确定当前帧的Wexp,即固定Wid迭代出Wexp,原理相同。
在708中,将利用SDM模型定位出的m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000166
在709中,利用当前迭代位置
Figure GDA0002108555420000167
当前帧的Wid和当前的Wexp以及所述m个定位点对应的3-modeSVD模型的参数向量Csdm_exp_id,确定新的迭代位置S。
本步骤中,可以利用如下公式,得到新的迭代位置S:
Figure GDA0002108555420000161
其中,
Figure GDA0002108555420000162
Figure GDA0002108555420000163
表示按对象描述方向展开成二维矩阵,
Figure GDA0002108555420000164
表示按对象描述方向合成立方矩阵。
在710中,确定利用SDM模型定位出的m个定位点的位置与新的迭代位置S的偏差ΔS。
如果以SSDM表示SDM模型确定出的m个定位点的位置,那么ΔS=SSDM-S。
在711中,利用当前的Wexp和ΔS,确定新的Wexp
可以首先利用ΔWexp=(ΩT·Ω)-1·ΩT·ΔS,确定ΔWexp;将ΔWexp与当前的Wexp的和确定为新的Wexp
在712中,判断ΔS的模是否小于或等于预设的第三模值,如果是,执行714;否则执行713。
这里的第三模值可以采用经验值,例如取1。
在713中,利用新的Wexp更新当前Wexp以及利用新的迭代位置S更新当前迭代位置
Figure GDA0002108555420000173
转至执行709。
在714中,将新的Wexp确定为当前帧的Wexp
以上就完成了当前帧的Wexp的确定,当前帧的Wid之前也确定完成,后续就可以在715中利用当前帧的Wid和Wexp对当前帧进行定位。
具体地,可以利用
Figure GDA0002108555420000171
得到包含当前帧n个定位点的位置的向量f。
其中,
Figure GDA0002108555420000172
为所述第二定位模型所采用训练集的图像中n个定位点的位置平均值构成的向量。
至此,对当前帧的定位结束。可以针对视频的每一帧都执行上述流程,得到各帧的定位点。另外,在对视频中的各帧利用上述方法进行定位时,在定位若干数量的帧时,Wid逐渐趋于稳定值,那么对于后续帧的Wid就可以不必采用图7中所示的方式来迭代得到Wid,而直接采用该稳定值。然后利用该稳定值计算各帧的Wexp。在判断Wid是否逐渐趋于稳定值时,可以判断当前帧的Wid与上一帧的Wid之差的模是否小于预设的阈值,例如是否小于1,如果是,就确定Wid是否逐渐趋于稳定值。其中稳定值可以是当前帧的Wid与之前各帧的Wid的平均值。当然,判断是否趋于稳定和确定稳定值的方式也可以采用其他方式,在此不再列举。
由于Wid逐渐趋于稳定,定位点的位置也逐渐趋于稳定,这对于诸如虚拟试妆等美颜应用的效果而言,至关重要。
对于图像中包含两个以上对象的情况,例如包含两个人,那么进行上述定位后,会输出两个定位结果(每个定位结果包含n个定位点)以及两个Wid。由于视频中人物并不一定是静止的,可能会出现移动造成的位置变化,因此就需要区分两帧中的哪两个定位结果是属于同一个人的。如图8所示,两幅图像为前后两帧,前一帧中的对象甲和对象乙的相对位置在当前帧中发生了变更,因此,就需要进行区分和识别。
为了方便描述,将前一帧的定位结果和对象描述参数分别标识为f1_pre,W1_pre,f2_pre,W2_pre,当前帧的定位结果和对象描述参数分别标识为f1_cur,W1_cur,f2_cur,W2_cur
在本发明实施例中,可以将上一帧的对象描述参数与当前帧的对象描述参数的欧式距离最小的两个对象描述参数确定为对应于同一对象。具体地,分别计算W1_pre与W1_cur的欧式距离、W1_pre与W2_cur的欧式距离、W2_pre与W1_cur的欧式距离、W2_pre与W2_cur的欧式距离。选择其中最小的欧式距离,假设W1_pre与W2_cur的欧式距离最小,则说明W1_pre与W2_cur对应于同一对象,相应地,f1_pre与f2_cur对应于同一对象,可以将属于同一对象的定位结果标识为同一对象。
上述实施例中,m可以取诸如几十级别的整数,n可以取诸如百级别的整数。
以上是对本发明所提供的方法进行的详细描述,下面结合图9对本发明实施例提供的装置进行详细描述,如图9中所示,该装置可以包括:第一定位单元10、参数确定单元20和第二定位单元30,还可以包括第一模型训练单元40、第二模型训练单元50和身份标识单元60。其中,第一定位单元10可以具体包括第一偏离确定子单元11和第一定位子单元12。第二定位单元30可以具体包括第一参数确定子单元31、第二参数确定子单元32和第二定位子单元33。各组成单元的主要功能如下:
第一定位单元10负责利用第一定位模型对当前帧进行定位,得到m个定位点的位置。
参数确定单元20负责将上一帧的Wid和Wexp作为初始参数。
第二定位单元30负责基于m个定位点和初始参数,利用第二定位模型确定当前帧的Wid和Wexp,并基于当前帧的Wid和Wexp对当前帧进行定位,得到n个定位点的位置。
其中m小于n,Wid为图像中的对象描述参数,Wexp为图像中的表情描述参数。
本装置实际上是利用第一定位模型对当前帧进行粗略定位,然后在第一定位模型的定位基础上,结合上一帧的Wid和Wexp采用第二定位模型对当前帧进行精确定位。
其中,参数确定单元20可以先判断当前帧是否为视频的首帧,如果否,则将上一帧的Wid和Wexp作为初始参数;如果是,由于视频的首帧不存在上一帧可参考,因此可以将预设的初始Wid和初始Wexp作为初始参数。
在本发明实施例中,上述第一定位模型可以为SDM模型,第二定位模型可以为3-modeSVD模型。
第一模型训练单元40负责操作训练第一定位模型,即SDM模型,具体执行以下操作:
A11、确定训练集中p个图像的关键点位置Xreal
A12、将各关键点在p个图像中的平均位置作为当前迭代位置X。
A13、利用ΔX=Xreal-X,确定ΔX的值。
A14、利用R=(ΦT·Φ)-1·ΦT·ΔX,得到SDM模型的参数向量R的当前值。
A15、如果ΔX的模小于或等于预设的第一模值,则R的当前值即为训练得到的SDM模型的参数向量R的值;否则,利用Φ·R+X得到的值更新当前迭代位置X,转至A13。其中第一模值可以取经验值,例如取1。
其中,Φ=p×Dim,Dim为分别以m个平均定位点的位置为中心的设定范围区域提取的2m维梯度特征。
下面对第一定位单元10的组成结构进行描述。
第一偏离确定子单元11负责提取当前帧的图像梯度特征,利用图像梯度特征和第一定位模型,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX。
具体地,第一偏离确定子单元11可以利用ΔX=Φ·R确定ΔX。
第一定位子单元12负责利用当前帧的ΔX和预先确定的m个平均定位点的位置,得到当前帧的m个定位点的位置。当前帧的m个定位点的位置就是当前帧的ΔX与预先确定的m个平均定位点的位置
Figure GDA0002108555420000202
之和。
在利用SDM模型完成m个定位点的粗略定位后,下面就要利用3-modeSVD模型进行进一步的精确定位。为了方便对3-modeSVD模型的定位方式的理解,首先对第二模型训练单元50进行描述。
第二模型训练单元50负责训练第二定位模型,即3-modeSVD模型。具体执行以下操作:
B11、收集不同对象的不同表情的图像,按照对象描述、表情描述和位置描述构建立体训练数据张量。
B12、将立体训练数据张量中n个关键点的位置分别减去n个关键点在各图像中的位置平均值,得到立体数据张量D。
B13、利用
Figure GDA0002108555420000201
得到3-modeSVD模型的参数向量Cexp_id;其中,Uexp是D在表情描述方向展开为二维矩阵的酉矩阵,Uid是D在对象描述方向展开为二维矩阵的酉矩阵。×1表示×1前面的立方矩阵按照表情描述方向展开为二维矩阵与×1后面的二维矩阵相乘后,将得到的二维矩阵再按照表情描述方向变换成立方矩阵;×2表示×2前面的立方矩阵按照对象描述方向展开为二维矩阵与×2后面的二维矩阵相乘后,将得到的二维矩阵再按照对象描述方向变换成立方矩阵。
下面对第二定位单元30的具体结构进行描述。
第一参数确定子单元31负责利用3-modeSVD模型确定当前帧的Wid,具体执行以下操作:
S21、将m个定位点的位置平均值作为当前迭代位置
Figure GDA0002108555420000211
S22、利用当前迭代位置
Figure GDA0002108555420000212
当前的Wid和Wexp以及m个定位点对应的3-modeSVD模型的参数向量Csdm_exp_id,确定新的迭代位置S。
对于视频的首帧而言,当前的Wid和Wexp均采用预设的初始值,依据奇异值大小,可以取Wid的初始值(即初始向量)为
Figure GDA0002108555420000213
Wexp的初始值(初始向量)为
Figure GDA0002108555420000214
Wid的初始值和Wexp的初始值的模均为1。
对于视频的非首帧而言,当前的Wid和Wexp均采用上一帧的Wid和Wexp
第一参数确定子单元31可以利用
Figure GDA0002108555420000215
得到新的迭代位置S;其中
Figure GDA0002108555420000216
Figure GDA0002108555420000217
表示按表情描述方向展开成二维矩阵,
Figure GDA0002108555420000218
表示按表情描述方向合成立方矩阵。
S23、确定m个定位点的位置与新的迭代位置S的偏差ΔS。
如果以SSDM表示SDM模型确定出的m个定位点的位置,那么ΔS=SSDM-S。
S24、利用当前的Wid和ΔS,确定新的Wid
第一参数确定子单元31可以利用ΔWid=(ΨT·Ψ)-1·ΨT·ΔS,确定ΔWid;将ΔWid与当前的Wid的和确定为新的Wid
S25、如果ΔS的模小于或等于预设的第二模值,则将新的Wid确定为当前帧的Wid;否则,利用新的Wid更新当前Wid以及利用新的迭代位置S更新当前迭代位置
Figure GDA0002108555420000219
转至执行S22。这里的第二模值可以采用经验值,例如取1。
在第一参数确定子单元31确定出当前帧的Wid后,由第二参数确定子单元32负责利用3-modeSVD模型确定当前帧的Wexp,具体执行:
S31、将m个定位点的位置平均值作为当前迭代位置
Figure GDA00021085554200002110
S32、利用当前迭代位置
Figure GDA00021085554200002111
当前帧的Wid和当前的Wexp以及m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S。
第二参数确定子单元32可以利用
Figure GDA0002108555420000221
得到新的迭代位置S;其中,
Figure GDA0002108555420000222
Figure GDA0002108555420000223
表示按对象描述方向展开成二维矩阵,
Figure GDA0002108555420000224
表示按对象描述方向合成立方矩阵。
S33、确定m个定位点的位置与新的迭代位置S的偏差ΔS。
如果以SSDM表示SDM模型确定出的m个定位点的位置,那么ΔS=SSDM-S。
S34、利用当前的Wexp和ΔS,确定新的Wexp
第二参数确定子单元32可以利用ΔWexp=(ΩT·Ω)-1·ΩT·ΔS,确定ΔWexp;将ΔWexp与当前的Wexp的和确定为新的Wexp
S35、如果ΔS的模小于或等于预设的第三模值,则将新的Wexp确定为当前帧的Wexp;否则,利用新的Wexp更新当前Wexp以及利用新的迭代位置S更新当前迭代位置
Figure GDA0002108555420000227
转至执行S32。这里的第三模值可以采用经验值,例如取1。
完成当前帧的Wid和Wexp的确定后,第二定位子单元33负责基于当前帧的Wid和Wexp对当前帧进行定位,具体执行:
利用
Figure GDA0002108555420000225
得到包含当前帧n个定位点的位置的向量f;
其中,
Figure GDA0002108555420000226
为3-modeSVD模型所采用训练集的图像中n个定位点的位置平均值构成的向量,Cexp_id为3-modeSVD模型的参数向量。
另外,在对视频中的各帧利用上述方法进行定位时,在定位若干数量的帧时,Wid逐渐趋于稳定值,那么对于后续帧的Wid就可以不必采用上述方式来迭代得到Wid,而直接采用该稳定值。然后利用该稳定值计算各帧的Wexp。在判断Wid是否逐渐趋于稳定值时,可以判断当前帧的Wid与上一帧的Wid之差的模是否小于预设的阈值,例如是否小于1,如果是,就确定Wid是否逐渐趋于稳定值。其中稳定值可以是当前帧的Wid与之前各帧的Wid的平均值。当然,判断是否趋于稳定和确定稳定值的方式也可以采用其他方式,在此不再列举。
若图像中存在多于一个的对象,则由身份标识单元60负责将上一帧的对象描述参数与当前帧的对象描述参数的欧式距离最小的两个对象描述参数确定为对应于同一对象,针对同一对象的定位结果进行身份标识,从而区分图像上的定位结果分别属于哪个对象。
由以上描述可以看出,本发明提供的方法和装置可以具备以下优点:
1)实现了针对视频图像的关键点定位。
2)考虑了视频图像中前后帧是同一对象的约束问题,减小了视频中前后帧定位点的抖动,视觉效果更加自然流畅。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (28)

1.一种对图像进行关键点定位的方法,其特征在于,该方法包括:
S1、利用第一定位模型对当前帧进行定位,得到m个定位点的位置;
S2、将上一帧的Wid和Wexp作为初始参数,基于所述m个定位点,利用第二定位模型确定当前帧的Wid和Wexp,并基于当前帧的Wid和Wexp对当前帧进行定位,得到n个定位点的位置;
其中所述m小于所述n,所述Wid为图像中的对象描述参数,所述Wexp为图像中的表情描述参数;
所述利用第二定位模型确定当前帧的Wid和Wexp包括:
利用当前确定出的Wexp和所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,对Wid进行迭代更新,确定当前帧的Wid
利用当前确定出的Wid和所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,对Wexp进行迭代更新,确定当前帧的Wexp
其中所述第二定位模型为3模奇异值分解3-modeSVD模型。
2.根据权利要求1所述的方法,其特征在于,在所述将上一帧的Wid和Wexp作为初始参数之前还包括:
判断当前帧是否为视频的首帧,如果否,则继续执行所述上一帧的Wid和Wexp作为初始参数的步骤;如果是,则将预设的初始Wid和初始Wexp作为初始参数。
3.根据权利要求1所述的方法,其特征在于,所述第一定位模型为监督下降法SDM模型。
4.根据权利要求3所述的方法,其特征在于,所述S1包括:
S11、提取当前帧的图像梯度特征,利用所述图像梯度特征和所述第一定位模型,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX;
S12、利用当前帧的ΔX和预先确定的m个平均定位点的位置,得到当前帧的m个定位点的位置。
5.根据权利要求4所述的方法,其特征在于,利用所述图像梯度特征和所述第一定位模型,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX包括:
利用ΔX=Φ·R确定ΔX;
其中当前帧的图像梯度特征Φ为:Φ=p×Dim,p为所述第一定位模型所采用训练集的图像个数,Dim为分别以所述m个平均定位点的位置为中心的设定范围区域提取的2m维梯度特征,R为所述第一定位模型的参数向量。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:预先训练所述第一定位模型,具体包括:
A11、确定训练集中p个图像的关键点位置Xreal
A12、将各关键点在p个图像中的平均位置作为当前迭代位置X;
A13、利用ΔX=Xreal-X,确定ΔX的值;
A14、利用R=(ΦT·Φ)-1·ΦT·ΔX,得到第一定位模型的参数向量R的当前值;
A15、如果ΔX的模小于或等于预设的第一模值,则R的当前值即为训练得到的第一定位模型的参数向量R的值;
否则,利用Φ·R+X得到的值更新当前迭代位置X,转至所述A13。
7.根据权利要求1所述的方法,其特征在于,所述利用当前确定出的Wexp和所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,对Wid进行迭代更新,确定当前帧的Wid包括:
S21、将所述m个定位点的位置平均值作为当前迭代位置
Figure FDA0002171023190000021
S22、利用当前迭代位置
Figure FDA0002171023190000022
当前的Wid和Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S23、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S24、利用当前的Wid和ΔS,确定新的Wid
S25、如果所述ΔS的模小于或等于预设的第二模值,则将所述新的Wid确定为当前帧的Wid
否则,利用新的Wid更新当前Wid以及利用新的迭代位置S更新当前迭代位置
Figure FDA0002171023190000031
转至执行所述S22。
8.根据权利要求7所述的方法,其特征在于,所述S22包括:利用
Figure FDA0002171023190000032
得到新的迭代位置S;其中所述
Figure FDA0002171023190000033
Figure FDA0002171023190000034
表示按表情描述方向展开成二维矩阵,
Figure FDA0002171023190000035
表示按表情描述方向合成立方矩阵;
所述S24包括:
利用ΔWid=(ΨT·Ψ)-1·ΨT·ΔS,确定ΔWid
将ΔWid与当前的Wid的和确定为新的Wid
9.根据权利要求1或7所述的方法,其特征在于,所述利用当前确定出的Wid和所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,对Wexp进行迭代更新,确定当前帧的Wexp包括:
S31、将所述m个定位点的位置平均值作为当前迭代位置
Figure FDA0002171023190000036
S32、利用当前迭代位置
Figure FDA0002171023190000037
当前帧的Wid和当前的Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S33、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S34、利用当前的Wexp和ΔS,确定新的Wexp
S35、如果所述ΔS的模小于或等于预设的第三模值,则将所述新的Wexp确定为当前帧的Wexp
否则,利用新的Wexp更新当前Wexp以及利用新的迭代位置S更新当前迭代位置
Figure FDA00021710231900000312
转至执行所述S32。
10.根据权利要求9所述的方法,其特征在于,所述S32包括:利用
Figure FDA0002171023190000038
得到新的迭代位置S;其中所述
Figure FDA0002171023190000039
Figure FDA00021710231900000310
表示按对象描述方向展开成二维矩阵,
Figure FDA00021710231900000311
表示按对象描述方向合成立方矩阵;
所述S34包括:
利用ΔWexp=(ΩT·Ω)-1·ΩT·ΔS,确定ΔWexp
将ΔWexp与当前的Wexp的和确定为新的Wexp
11.根据权利要求3所述的方法,其特征在于,所述基于当前帧的Wid和Wexp对当前帧进行定位包括:
利用
Figure FDA0002171023190000041
得到包含当前帧n个定位点的位置的向量f;
其中,
Figure FDA0002171023190000042
为所述第二定位模型所采用训练集的图像中n个定位点的位置平均值构成的向量,Cexp_id为第二定位模型的参数向量,×1表示×1前面的立方矩阵按照表情描述方向展开为二维矩阵与×1后面的二维矩阵相乘后,将得到的二维矩阵再按照表情描述方向变换成立方矩阵;×2表示×2前面的立方矩阵按照对象描述方向展开为二维矩阵与×2后面的二维矩阵相乘后,将得到的二维矩阵再按照对象描述方向变换成立方矩阵。
12.根据权利要求11所述的方法,其特征在于,该方法还包括:预先训练所述第二定位模型,具体包括:
B11、收集不同对象的不同表情的图像,按照对象描述、表情描述和位置描述构建立体训练数据张量;
B12、将所述立体训练数据张量中n个关键点的位置分别减去n个关键点在各图像中的位置平均值,得到立体数据张量D;
B13、利用
Figure FDA0002171023190000043
得到第二定位模型的参数向量Cexp_id
其中,Uexp是D在表情描述方向展开为二维矩阵的酉矩阵,Uid是D在对象描述方向展开为二维矩阵的酉矩阵。
13.根据权利要求1所述的方法,其特征在于,该方法还包括:
当确定出的各帧的Wid趋于稳定值时,对于后续帧的Wid直接采用所述稳定值。
14.根据权利要求1所述的方法,其特征在于,若图像中存在多于一个的对象,则将上一帧的对象描述参数与当前帧的对象描述参数的欧式距离最小的两个对象描述参数确定为对应于同一对象。
15.一种对图像进行关键点定位的装置,其特征在于,该装置包括:
第一定位单元,用于利用第一定位模型对当前帧进行定位,得到m个定位点的位置;
参数确定单元,用于将上一帧的Wid和Wexp作为初始参数;
第二定位单元,用于基于所述m个定位点和初始参数,利用第二定位模型确定当前帧的Wid和Wexp,并基于当前帧的Wid和Wexp对当前帧进行定位,得到n个定位点的位置;
其中所述m小于所述n,所述Wid为图像中的对象描述参数,所述Wexp为图像中的表情描述参数;
所述利用第二定位模型确定当前帧的Wid和Wexp包括:
利用当前确定出的Wexp和所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,对Wid进行迭代更新,确定当前帧的Wid
利用当前确定出的Wid和所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,对Wexp进行迭代更新,确定当前帧的Wexp
其中所述第二定位模型为3模奇异值分解3-modeSVD模型。
16.根据权利要求15所述的装置,其特征在于,所述参数确定单元,还用于判断当前帧是否为视频的首帧,如果否,则将上一帧的Wid和Wexp作为初始参数;如果是,则将预设的初始Wid和初始Wexp作为初始参数。
17.根据权利要求15所述的装置,其特征在于,所述第一定位模型为SDM模型。
18.根据权利要求17所述的装置,其特征在于,所述第一定位单元包括:
第一偏离确定子单元,用于提取当前帧的图像梯度特征,利用所述图像梯度特征和所述第一定位模型,得到当前帧的定位点形状偏离平均定位点形状的程度ΔX;
第一定位子单元,用于利用当前帧的ΔX和预先确定的m个平均定位点的位置,得到当前帧的m个定位点的位置。
19.根据权利要求18所述的装置,其特征在于,所述第一偏离确定子单元,具体利用ΔX=Φ·R确定ΔX;
其中当前帧的图像梯度特征Φ为:Φ=p×Dim,p为所述第一定位模型所采用训练集的图像个数,Dim为分别以所述m个平均定位点的位置为中心的设定范围区域提取的2m维梯度特征,R为所述第一定位模型的参数向量。
20.根据权利要求19所述的装置,其特征在于,该装置还包括:
第一模型训练单元,用于执行以下操作训练所述第一定位模型:
A11、确定训练集中p个图像的关键点位置Xreal
A12、将各关键点在p个图像中的平均位置作为当前迭代位置X;
A13、利用ΔX=Xreal-X,确定ΔX的值;
A14、利用R=(ΦT·Φ)-1·ΦT·ΔX,得到第一定位模型的参数向量R的当前值;
A15、如果ΔX的模小于或等于预设的第一模值,则R的当前值即为训练得到的第一定位模型的参数向量R的值;
否则,利用Φ·R+X得到的值更新当前迭代位置X,转至所述A13。
21.根据权利要求15所述的装置,其特征在于,所述第二定位单元包括:
第一参数确定子单元,用于利用第二定位模型确定当前帧的Wid,具体执行以下操作:
S21、将所述m个定位点的位置平均值作为当前迭代位置
Figure FDA0002171023190000061
S22、利用当前迭代位置
Figure FDA0002171023190000062
当前的Wid和Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S23、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S24、利用当前的Wid和ΔS,确定新的Wid
S25、如果所述ΔS的模小于或等于预设的第二模值,则将所述新的Wid确定为当前帧的Wid
否则,利用新的Wid更新当前Wid以及利用新的迭代位置S更新当前迭代位置
Figure FDA0002171023190000063
转至执行所述S22。
22.根据权利要求21所述的装置,其特征在于,所述第一参数确定子单元在执行所述S22时,具体利用
Figure FDA0002171023190000071
得到新的迭代位置S;其中所述
Figure FDA0002171023190000072
Figure FDA0002171023190000073
表示按表情描述方向展开成二维矩阵,
Figure FDA0002171023190000074
表示按表情描述方向合成立方矩阵;
在执行所述S24时,具体利用ΔWid=(ΨT·Ψ)-1·ΨT·ΔS,确定ΔWid;将ΔWid与当前的Wid的和确定为新的Wid
23.根据权利要求15或21所述的装置,其特征在于,所述第二定位单元包括:
第二参数确定子单元,用于利用第二定位模型确定当前帧的Wexp,具体执行:
S31、将所述m个定位点的位置平均值作为当前迭代位置
Figure FDA0002171023190000075
S32、利用当前迭代位置
Figure FDA0002171023190000076
当前帧的Wid和当前的Wexp以及所述m个定位点对应的第二定位模型的参数向量Csdm_exp_id,确定新的迭代位置S;
S33、确定所述m个定位点的位置与所述新的迭代位置S的偏差ΔS;
S34、利用当前的Wexp和ΔS,确定新的Wexp
S35、如果所述ΔS的模小于或等于预设的第三模值,则将所述新的Wexp确定为当前帧的Wexp
否则,利用新的Wexp更新当前Wexp以及利用新的迭代位置S更新当前迭代位置
Figure FDA00021710231900000711
转至执行所述S32。
24.根据权利要求23所述的装置,其特征在于,所述第二参数确定子单元在执行所述S32时,具体利用
Figure FDA0002171023190000077
得到新的迭代位置S;其中所述
Figure FDA0002171023190000078
Figure FDA0002171023190000079
表示按对象描述方向展开成二维矩阵,
Figure FDA00021710231900000710
表示按对象描述方向合成立方矩阵;
在执行所述S34时,具体利用ΔWexp=(ΩT·Ω)-1·ΩT·ΔS,确定ΔWexp;将ΔWexp与当前的Wexp的和确定为新的Wexp
25.根据权利要求17所述的装置,其特征在于,所述第二定位单元包括:
第二定位子单元,用于基于当前帧的Wid和Wexp对当前帧进行定位,具体执行:
利用
Figure FDA0002171023190000081
得到包含当前帧n个定位点的位置的向量f;
其中,
Figure FDA0002171023190000082
为所述第二定位模型所采用训练集的图像中n个定位点的位置平均值构成的向量,Cexp_id为第二定位模型的参数向量,×1表示×1前面的立方矩阵按照表情描述方向展开为二维矩阵与×1后面的二维矩阵相乘后,将得到的二维矩阵再按照表情描述方向变换成立方矩阵;×2表示×2前面的立方矩阵按照对象描述方向展开为二维矩阵与×2后面的二维矩阵相乘后,将得到的二维矩阵再按照对象描述方向变换成立方矩阵。
26.根据权利要求25所述的装置,其特征在于,该装置还包括:
第二模型训练单元,用于执行以下操作训练所述第二定位模型:
B11、收集不同对象的不同表情的图像,按照对象描述、表情描述和位置描述构建立体训练数据张量;
B12、将所述立体训练数据张量中n个关键点的位置分别减去n个关键点在各图像中的位置平均值,得到立体数据张量D;
B13、利用
Figure FDA0002171023190000083
得到第二定位模型的参数向量Cexp_id
其中,Uexp是D在表情描述方向展开为二维矩阵的酉矩阵,Uid是D在对象描述方向展开为二维矩阵的酉矩阵。
27.根据权利要求21所述的装置,其特征在于,所述第一参数确定子单元,还用于在确定出的各帧的Wid趋于稳定值时,对于后续帧的Wid直接采用所述稳定值。
28.根据权利要求15所述的装置,其特征在于,该装置还包括:
身份标识单元,用于若图像中存在多于一个的对象,则将上一帧的对象描述参数与当前帧的对象描述参数的欧式距离最小的两个对象描述参数确定为对应于同一对象。
CN201510631053.8A 2015-09-29 2015-09-29 一种对图像进行关键点定位的方法和装置 Active CN106558042B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510631053.8A CN106558042B (zh) 2015-09-29 2015-09-29 一种对图像进行关键点定位的方法和装置
PCT/CN2016/099291 WO2017054652A1 (zh) 2015-09-29 2016-09-19 一种对图像进行关键点定位的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510631053.8A CN106558042B (zh) 2015-09-29 2015-09-29 一种对图像进行关键点定位的方法和装置

Publications (2)

Publication Number Publication Date
CN106558042A CN106558042A (zh) 2017-04-05
CN106558042B true CN106558042B (zh) 2020-03-31

Family

ID=58415925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510631053.8A Active CN106558042B (zh) 2015-09-29 2015-09-29 一种对图像进行关键点定位的方法和装置

Country Status (2)

Country Link
CN (1) CN106558042B (zh)
WO (1) WO2017054652A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108830900B (zh) * 2018-06-15 2021-03-12 北京字节跳动网络技术有限公司 关键点的抖动处理方法和装置
CN109558837B (zh) * 2018-11-28 2024-03-22 北京达佳互联信息技术有限公司 人脸关键点检测方法、装置及存储介质
CN110148158A (zh) * 2019-05-13 2019-08-20 北京百度网讯科技有限公司 用于处理视频的方法、装置、设备和存储介质
CN112101109B (zh) * 2020-08-11 2024-04-30 深圳数联天下智能科技有限公司 人脸关键点检测模型训练方法、装置、电子设备和介质
CN112950672B (zh) * 2021-03-03 2023-09-19 百度在线网络技术(北京)有限公司 确定关键点的位置的方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271520A (zh) * 2008-04-01 2008-09-24 北京中星微电子有限公司 一种确定图像中的特征点位置的方法及装置
CN102831382A (zh) * 2011-06-15 2012-12-19 北京三星通信技术研究有限公司 人脸跟踪设备和方法
CN103605965A (zh) * 2013-11-25 2014-02-26 苏州大学 一种多姿态人脸识别方法和装置
CN104217417A (zh) * 2013-05-31 2014-12-17 张伟伟 一种视频多目标跟踪的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7751599B2 (en) * 2006-08-09 2010-07-06 Arcsoft, Inc. Method for driving virtual facial expressions by automatically detecting facial expressions of a face image
CN101499128B (zh) * 2008-01-30 2011-06-29 中国科学院自动化研究所 基于视频流的三维人脸动作检测和跟踪方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271520A (zh) * 2008-04-01 2008-09-24 北京中星微电子有限公司 一种确定图像中的特征点位置的方法及装置
CN102831382A (zh) * 2011-06-15 2012-12-19 北京三星通信技术研究有限公司 人脸跟踪设备和方法
CN104217417A (zh) * 2013-05-31 2014-12-17 张伟伟 一种视频多目标跟踪的方法及装置
CN103605965A (zh) * 2013-11-25 2014-02-26 苏州大学 一种多姿态人脸识别方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Supervised Descent Method and its Applications to Face Alignment";Xuehan Xiong;《2013 IEEE Conference on Computer Vision and Pattern Recognition》;20131003;第3.1-3.2节 *

Also Published As

Publication number Publication date
CN106558042A (zh) 2017-04-05
WO2017054652A1 (zh) 2017-04-06

Similar Documents

Publication Publication Date Title
CN106558042B (zh) 一种对图像进行关键点定位的方法和装置
KR102154470B1 (ko) 다중 특징 검색 및 변형에 기반한 3차원 인체 헤어스타일 생성 방법
KR101635730B1 (ko) 몽타주 생성 장치 및 방법, 그 방법을 수행하기 위한 기록 매체
JP4950787B2 (ja) 画像処理装置及びその方法
WO2020042975A1 (zh) 人脸姿态估计/三维人脸重构方法、装置及电子设备
CN112419487B (zh) 毛发三维重建方法、装置、电子设备及存储介质
JP4951498B2 (ja) 顔画像認識装置、顔画像認識方法、顔画像認識プログラムおよびそのプログラムを記録した記録媒体
US11282257B2 (en) Pose selection and animation of characters using video data and training techniques
JP5895703B2 (ja) 画像処理装置及び画像処理方法、並びにコンピューター・プログラム
US20190295272A1 (en) Synthesizing hair features in image content based on orientation data from user guidance
CN108124489B (zh) 信息处理方法、装置、云处理设备以及计算机程序产品
WO2020037963A1 (zh) 脸部图像识别的方法、装置及存储介质
WO2017185301A1 (zh) 一种三维头发建模方法及装置
WO2024103890A1 (zh) 模型构建方法、重建方法、装置、电子设备及非易失性可读存储介质
CN114037802A (zh) 三维人脸模型重建方法、装置、存储介质及计算机设备
WO2023066120A1 (zh) 图像处理方法、装置、电子设备及存储介质
CN111815768B (zh) 三维人脸重建方法和装置
JP2009294955A (ja) 画像処理装置、画像処理方法、画像処理プログラムおよび同プログラムを記録した記録媒体。
CN113870420A (zh) 三维人脸模型重建方法、装置、存储介质及计算机设备
JP2012008685A (ja) 3次元データ生成装置、生成方法およびプログラム
WO2015176502A1 (zh) 一种图像特征的估计方法和设备
CN114782645A (zh) 虚拟数字人制作方法、相关设备及可读存储介质
US20210158565A1 (en) Pose selection and animation of characters using video data and training techniques
JP6579353B1 (ja) 情報処理装置、情報処理方法、寸法データ算出装置、及び製品製造装置
TWI728037B (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
TR01 Transfer of patent right

Effective date of registration: 20201123

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Patentee after: Zebra smart travel network (Hong Kong) Limited

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right