CN101739712B - 基于视频的3d人脸表情动画驱动方法 - Google Patents

基于视频的3d人脸表情动画驱动方法 Download PDF

Info

Publication number
CN101739712B
CN101739712B CN2010101005663A CN201010100566A CN101739712B CN 101739712 B CN101739712 B CN 101739712B CN 2010101005663 A CN2010101005663 A CN 2010101005663A CN 201010100566 A CN201010100566 A CN 201010100566A CN 101739712 B CN101739712 B CN 101739712B
Authority
CN
China
Prior art keywords
face
shape
image
human face
search
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.)
Expired - Fee Related
Application number
CN2010101005663A
Other languages
English (en)
Other versions
CN101739712A (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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN2010101005663A priority Critical patent/CN101739712B/zh
Publication of CN101739712A publication Critical patent/CN101739712A/zh
Application granted granted Critical
Publication of CN101739712B publication Critical patent/CN101739712B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于视频的3D人脸表情动画驱动方法,包括以下步骤:①图像预处理:通过光线补偿、高斯平滑及灰度图像的形态学操作增强图像质量;②BP人脸检测:通过BP神经网络算法检测视频中的人脸,并将其位置大小返回,为下一步的人脸特征点定位提供更小的搜索范围以保证实时性;③ASM人脸特征点定位及跟踪:通过增强的主动形状模型算法及预测型meanshift算法,精确提取人脸形状、眼睛、眉毛、嘴巴、鼻子特征点信息,并将确切位置返回;④数据信息转换:通过人脸特征点定位跟踪步骤得到的数据信息通过转换后获知人脸的运动信息。该方法能克服现有技术中所存在的缺陷,能够实现真实感的人脸动画驱动效果。

Description

基于视频的3D人脸表情动画驱动方法
技术领域
本发明涉及动画驱动技术领域,具体涉及一种基于视频的3D人脸表情动画驱动方法。
背景技术
人脸信息处理作为视觉处理的一个特例,随着计算机技术的高速发展与商业应用需求的推动逐渐成为研究的热点,它涉及到数字图像处理、模式识别、人工智能、生理和心理学等多方面的课题。而基于视频的人脸动画驱动技术,其中包含了人脸检测、跟踪与特征定位和提取技术等人脸信息处理的一个关键技术,在学术领域、应用领域都有着极其重要的意义,其技术在诸多方面有着广泛的应用,如视频会议、网络游戏、数字娱乐等,然而由于光照、姿态、遮挡、附属物、背景的复杂性及人脸运动的随机性等的影响,使得实时和准确的运动数据的获取变得非常困难,近年来逐步成为计算机视觉方面一个受到重视的研究方向,国内外很多机构都在进行这方面的研究。
基于视频的人脸表情动画系统中的关键技术是基于视频序列图像的人脸特征点定位及跟踪。常用的视频序列图像的人脸特征点定位及跟踪方法有以下几种:
第一种,基于特征的方法。基于特征的方法通常是运用颜色信息、人脸特征的属性及人脸特征点之间的几何关系进行特征点的定位和跟踪;
第二种,基于运动的方法。基于运动的方法主要是运用运动获得的信息进行跟踪的方法,例如光流法和kalman滤波方法。
第三种,基于模型的方法。基于模型的方法通常运用于有人脸特征预定义模板的灰度图像中。在此类方法中,要预先定义人脸特征模板,通常通过训练的方法得到此先验知识,然后在图像搜索时寻找与特征模板相匹配的图像块。
在以上三种方法中,基于特征的方法在当光照条件不一致时,特征点会出现跟丢情况,并且几何约束关系在人脸随机运动过程中会发生相应变化,不再满足先前预设的约束值。基于运动的方法在遇到遮挡情况时通常会失效。相比基于特征和基于运动的方法,基于模型的方法运用先验知识,只要训练集包含了需要的人脸特征定位信息即可得到好的搜索结果,只是此类方法初始化需要人工操作。
发明内容
本发明所要解决的问题是:如何提供一种基于视频的3D人脸表情动画驱动方法,该方法能克服现有技术中所存在的缺陷,能够实现在出现人脸大幅度运动和遮挡的长时间人脸特征点跟踪中的自动、实时、精确、鲁棒的人脸特征点定位,并且当人脸在平面内各个角度偏转时的,仍然有较好的跟踪结果,从而实现真实感的人脸动画驱动效果。
本发明所提出的技术问题是这样解决的:提供一种基于视频的3D人脸表情动画驱动方法,其特征在于,包括以下步骤:
①图像预处理:通过光线补偿、高斯平滑及灰度图像的形态学操作增强图像质量;
②BP人脸检测:通过BP神经网络算法检测视频中的人脸,并将其位置大小返回,为下一步的人脸特征点定位提供更小的搜索范围以保证实时性;
③ASM人脸特征点定位及跟踪:通过增强的主动形状模型(ASM)算法及预测型meanshift算法,精确提取人脸形状、眼睛、眉毛、嘴巴、鼻子特征点信息,并将确切位置返回;
④数据信息转换:通过人脸特征点定位跟踪步骤得到的数据信息通过转换后获知人脸的运动信息。
按照本发明所提供的基于视频的3D人脸表情动画驱动方法,其特征在于,步骤②中,所述BP申请网络算法主要包括两个过程:训练过程和检测过程,其中:
训练过程:收集人脸样本和非人脸样本的图像;归一化预处理和特征提取得到对应模式的特征向量,把其作为待分类两种模式的训练数据;使用这些训练数据来训练神经元,根据某种学习规则不断地对连接权值进行调整,最后使网络具有某种期望的输出;将训练好的神经元作为人脸图像和非人脸图像这两类模式的分类器来识别这两类模式;
检测过程:图像预处理;利用金字塔的子采样,在每层图像金字塔上使用相应的检测窗口扫描整幅图像;根据输出值进行判别;人脸候选区域轴对称。
按照本发明所提供的基于视频的3D人脸表情动画驱动方法,其特征在于,在步骤③中,所述主动形状模型算法设置包括以下步骤:
形状建模:
a、形状定义:n个二维点的表示的点分布向量,其数学表达如下:x=(x1,...,xn,y1,...,yn)T
b、特征点标定:选取应该要包含需要提取的特征点,同时也包含一些辅助点并且特征点分布的密度适当;
c、对齐操作:将N个点分布向量排列成序,分别编号,令x为平均形状向量,且x初始化为x1,按顺序将2~N个点依次对齐到该平均向量x,完成一次迭代后重新计算平均向量x,并对齐到x1,继续迭代直至形状收敛;
d、PCA分析建立模型:得到样本集在主元方向上合理的形状向量;
局部纹理建模:对局部纹理行建模,获取了关联信息,为形状搜索提供了足够的先验知识;
目标搜索:给定一副目标图像,将建立的平均形状模型置于初始位置,在形状上每一个目标标记点对应的搜索范围中进行最优搜索,得到搜索后的形状向量,通过计算该形状在模型中的参数,得到具有全局约束的合理形状,重复迭代直至收敛或达到迭代次数上限,输出形状即为目标图像的搜索结果。
按照本发明所提供的基于视频的3D人脸表情动画驱动方法,其特征在于,在步骤③中,预测型meanshift算法步骤如下:
a、利用BP神经网络人脸检测算法检测到人脸区域,并用人脸框位置和大小初始化meanshift的搜索窗口;
b、利用肤色区域的颜色直方图计算出各个色度值的分布概率,用图像上每一点的像素值所对应的概率值代替该点像素值得到概率分布图;
c、跟踪窗口内的质心Mass center或重心,在离散二维概率分布图像中,利用窗口的零阶矩M00和(x,y)的一阶矩(M01,M10)之间的关系,计算得到窗口的质心;
d、调整跟踪窗口的中心到质心mass center;
e、重复步骤c和d,直到跟踪窗口中心和质心会聚,即每次窗口移动的距离小于一定的阈值。
按照本发明所提供的基于视频的3D人脸表情动画驱动方法,其特征在于,在步骤③中,利用预测型meanshift算法进行人脸跟踪步骤如下:
a、将整个图像设为搜索区域,采用BP人脸检测算法初始化搜索窗口的大小和位置;
b、计算搜索窗口内目标特征的概率分布,运行meanshift算法迭代获得最佳搜索窗口新的位置;
c、将搜索窗口新位置作为观测值传递给Kalman滤波器,运行Kalman滤波器预测下一帧目标搜索窗口的位置;
d、在下一帧视频图像中,用步骤c获得的位置初始化搜索窗口的大小和位置,跳转到步骤b继续运行。
本发明的有益效果:本发明主要是通过对视频帧中的人脸进行检测及人脸特征点定位及跟踪并将其数据信息进行相应转换后传至动画模块,从而驱动3D人脸做出与视频中人脸具有相同表情的动画。通过我们的方法,能够实现在出现人脸大幅度运动、遮挡的长时间人脸特征点跟踪中的自动、实时、精确、鲁棒的人脸特征点定位,并且当人脸在平面内各个角度偏转时的,仍然有较好的跟踪结果,从而实现真实感的人脸动画驱动效果。
附图说明
图1是本发明的系统结构流程图;
图2是BP神经网络人脸检测算法框架;
图3是BP神经网络训练过程;
具体实施方式
下面结合附图对本发明作进一步描述:
如图1所示,本发明主要有四个部分组成:图像预处理;BP人脸检测;增强的ASM人脸特征点定位及跟踪;数据信息转换。在图像预处理模块,通过光线补偿、高斯平滑及灰度图像的形态学操作增强图像质量;在BP人脸检测模块,通过神经网络算法检测视频中的人脸,并将其位置大小返回,为下一步的人脸特征点定位提供更小的搜索范围以保证实时性;在视频人脸特征点定位及跟踪模块,通过增强的主动形状模型(ASM)算法及预测型meanshift算法,精确提取人脸形状、眼睛、眉毛、嘴巴、鼻子等特征点信息,并将确切位置返回;在数据信息转换模块,主要是通过人脸特征点定位模块得到的数据信息通过转换后获知人脸的运动信息,如眨眼与否、张嘴大小及头部转动情况等。
首先,运用图像预处理方法中的光线补偿、高斯平滑及灰度图像的形态学操作去除由视频采集设备带来的随机噪声,提高图像质量;其次,如果是第一帧,我们利用BP人脸检测算法获取ASM算法人脸特征定位的初始位置并将人脸初始窗口用于初始化预测型meanshift算法的初始窗口,再进行增强型ASM算法的人脸特征点定位。如果不是第一帧,则由预测型meanshift算法获得7个不同角度的ASM算法搜索的初始形状再加上由前一帧搜索得到的最优形状共八个初始形状进行当前帧的增强型ASM搜索,最后通过判决函数获得最优形状;再次,将得到的最优形状通过转换,获得嘴巴张闭程度和眼睛眨眼与否信息,并将其传至动画引擎驱动人脸作出相同表情的动画。为了实现实时性,我们在能够运行CUDA的GPU下进行加速。
在增强的ASM人脸特征点定位及跟踪阶段,主要由以下四个部分组成:
(1)根据BP神经网络人脸检测算法、前后帧相关信息及预测型meanshift算法人脸跟踪结果,放入ASM搜索的初始形状;
(2)ASM形状搜索;
(3)局部纹理模型约束;
(4)自适应最优形状选择。
下面对基于视频的3D人脸表情动画驱动系统的主要几个部分的技术方法进行详细介绍。
(一)BP神经网络人脸检测算法
在基于视频的3D人脸表情动画驱动系统中,视频人脸检测与跟踪主要是为了获取视频帧中人脸的确切位置,然后用方框的形式将其表示,并返回框的位置及大小,可以每帧都通过检测的方法获得人脸框的大小和位置,但是这样很大程度依赖于检测方法的鲁棒性,并且加上后续一序列操作,很难让系统达到实时。因此,我们在第一帧采用检测的方法,后续帧利用第一帧检测的结果进行meanshift人脸框的跟踪。采用第一帧人脸检测,后续帧人脸跟踪的方法可以有效地减少每帧进行人脸检测所花的时间,克服每帧进行人脸检测时检测算法本身存在的局限,例如遇到偏头、转头、遮挡等特殊动作时不能检测的问题。在本系统中,首先在第一帧采用ANN人脸检测算法检测出人脸,再将人脸框的位置作为预测型Meanshift人脸跟踪算法的初始化窗口。
在本系统中,人脸检测方法采用BP人工神经网络算法。BP人工神经网络人脸检测算法主要包括两个主要步骤:训练过程和检测过程。
它的基本原理是:
采用3层以上的BP网络取得足够量的N*N像素的人脸样本和非人脸样本,作为神经网络输入的训练样本进行人工神经网络的训练,训练过程中不断调整网络的权值和层数,最后使网络能将人脸和非人脸能很好的区分开来。然后用这个训练的网络对含有人脸图像的背景图像进行搜索,找到符合条件的区域。利用BP神经网络进行人脸检测的算法框架如图2所示。下面对算法的两个过程:检测和训练分别进行介绍。
训练过程
总体的训练过程如下:
(1)收集人脸样本和非人脸样本的图像。
(2)归一化等预处理和特征提取得到对应模式的特征向量,把他们作为待分类两种模式的训练数据。
(3)使用这些训练数据来训练ANN,根据某种学习规则不断地对连接权值进行调整,最后使网络具有某种期望的输出。
(4)将训练好的ANN作为人脸图像和非人脸图像这两类模式的分类器来识别这两类模式。
在训练前,我们根据人脸检测的需要,首先应进行BP网络的结构设计和样本收集;在训练过程中,需要根据某种学习规则进行权值和阈值的调整。下面对BP网络的结构设计、样本收集和BP网络训练的详细过程进行详细介绍。
BP网络的结构设计:
(1)输入、输出层的设计
为了避免人脸的关键信息丢失,而且能够准确地检测到人脸,我们采用的是25×25大小的窗口。因此可将输入层节点数设计为625,对应于25×25图像窗口中按行展开的各个像素。由于使用的是BP网络作为分类器,输出的结果要么是人脸要么是非人脸,所以输出层的节点数为2。
(2)隐层节点数的选择
隐层节点数的选择是一个十分复杂的问题。如果数目过少,网络将不能建立复杂的判断界,训练不出合适的网络,或网络不强壮,不能识别以前没有看过的样本,容错性差;但如果数目过多,就会使学习时间过长,网络的泛化能力降低,而且误差也不一定最佳,因此存在一个最佳的隐层节点数。根据经验公式:
Figure GSA00000012275200071
和n1=log2n(其中n为输入神经元数,m为输出神经元数,α为1~10之间的常数)计算出隐含层节点数的取值范围,根据这个范围作相关实验,改变节点数,比较网络收敛速度以及网络分类的正确率,最终确定出一个理想的隐层节点数。
(3)激励函数的选择
激励函数的选择对网络的收敛性具有很重要的作用。按照BP算法的要求,这些神经元所用的激励函数必须是处处可导的,选择的是S型函数:
f ( x ) = 1 1 + e - kx - - - ( 1 - 1 )
其中参数k越大,函数越平坦,网络越容易收敛,但收敛速度慢;k小收敛速度快,但容易产生震荡。经过反复试验发现,当k=1时,误差较小,收敛速度较快。
(4)初始值的选取
由于系统是非线性的,初始值对于学习是否到达局部最小和能否收敛的关系很大,因此要求初始权值在输入累加时使每个神经元的状态值接近于零,这样可保证一开始时不落到那些平坦区上。一般将权值和阈值的初始值置成接近于0的随机值。如果收敛速度太慢,则需要重新设置权值和阈值。
样本收集:
样本收集包括人脸样本的收集和非人脸样本的收集。
(1)人脸样本的收集
为了提高网络的健壮性,收集各种不同类型的人脸样本,为了得到更多的人脸样本,并提高旋转不变性和亮度可变性的能力,对初始的人脸样本集中的部分图像进行一些变换。在此基础上,我们收集不同大小、不同肤色、不同表情、不同面部特征、不同方向、不同亮度和有眼镜、胡须等附属物的各种不同类型的人脸样本。
(2)非人脸样本的收集
因为非人脸样本图像的空间远比人脸图像的空间要大,所以收集具有代表性的非人脸样本非常的困难。目前普遍采用的是“bootstrap”方法,其算法如下:
a)从收集的部分场景和风景图像中随机地选取2000个子图像作为非人脸样本集合,将其切割成大小为30×40,在检测系统中设置扫描步长step=C(C<=19);
b)使用上面得到的人脸样本集和已有的非人脸样本集训练网络。训练后的理想结果应该是:人脸的目标输出(0.9,0.1),非人脸的目标输出(0.1,0.9);
c)设置检测的参数步长为现在的step,使用上步中已经训练好的网络对不包含人脸的图像进行检测,收集那些被错误地分为人脸的子图像;
d)如果step等于1则停止,否则step=step-1;如果所以这些子图像的数目比T(=100)大则把他们加入到非人脸样本集合中,使用前面的方法切割成大小为30×40,转到第2步,否则保存这些子图像以待以后加入,转到第3步。
BP网络训练:
BP算法主要包括4步,这4步被分为两个阶段:
(1)向前传播阶段
a)从样本集中取一个样本(XP,YP)将YP输入网络;
b)计算相应的实际输出OP
(2)向后传播阶段
a)计算实际输出OP与相应的理想输出YP的差;
b)按极小化误差的方法调整权矩阵。
下面是一些参数说明:
输入层:N;
中间层:L;
输出层:M;
输入矢量:X=(x0,x1,...xN-1);
中间层输出矢量:H=(h0,h1,...hL-1);
实际输出矢量:Y=(y0,y1,...yM-1);
目标输出矢量:D=(d0,d1,...dM-1);
Vij:输入单元i到隐单元j的权值;
Wjk:隐单元j到输出单元k的权值;
θk:输入单元的偏差;
φj:隐单元的偏差;
中间层各单元输出:
Figure GSA00000012275200091
输出层各单元输出:
Figure GSA00000012275200092
训练的详细流程如图3详细的训练过程如下:
(1)选定训练组。从人脸和非人脸样本集中分别随机地选取300个样本作为训练组。
(2)将各权值Vij,Wjk和阈值φj,θkk置成小的接近于0的随机值,并初始化精度控制参数ε和学习率α。
(3)从训练组中取一个输入模式X加到网络,并给定它的目标输出矢量D。
(4)利用式(1)计算出一个中间层输出矢量H,再用式(2)计算出网络的实际输出矢量Y。
(5)将输出矢量中的元素yk与目标矢量中的元素dk进行比较,计算出M个输出误差项:
δk=(dk-yk)yk(1-yk)        (1-2)
对中间层的隐单元也计算出L个误差项:
δ j * = h j ( 1 - h j ) Σ k = 0 M - 1 δ k W jk - - - ( 1 - 3 )
(6)依次计算出各权值的调整量:
ΔWjk(n)=(α/(1+L))*(ΔWjk(n-1)+1)*δk*hj            (1-4)
ΔVij(n)=(α/(1+N))*(ΔVij(n-1)+1)*δj*xj            (1-5)
阈值的调整量:
Δθk(n)=(α/(1+L))*(Δθk(n-1)+1)*δk               (1-6)
Δ φ j ( n ) = ( α / ( 1 + L ) ) * ( Δ φ j ( n - 1 ) + 1 ) * δ j * - - - ( 1 - 7 )
(7)调整权值:
Wjk(n+1)=Wjk(n)+ΔWjk(n),Vij(n+1)=Vij(n)+ΔVij(n)  (1-8)
阈值:
θk(n+1)=θk(n)+Δθk(n),φj(n+1)=φj(n)+Δφj(n)  (1-9)
(8)当k每经历1至M后,判断指标是否满足精度要求:E≤ε,其中E是总误差函数,且
E = 1 2 Σ k = 0 M - 1 ( d k - y k ) 2 - - - ( 1 - 10 )
如果不满足,就返回(3),继续迭代。如果满足,就进入下一步。
(9)训练结束,将权值和阈值保存在文件中。这时可以认为各个权值已经达到稳定,分类器形成。再一次进行训练时,直接从文件导出权值和阈值进行训练,不需要进行初始化。
检测过程
大致的检测过程为:首先,对于每个可能的待检测区域,都使用训练所得的ANN进行人脸和非人脸的模式判别,得到一些可能的“人脸区域”,然后使用一些后处理规则得到最终的检测结果。
详细的检测过程:
(1)图像预处理。包括:自适应亮度补偿,灰度化和归一化处理,直方图均衡化处理。
(2)金字塔的子采样。为了检测任意大小任意位置的人脸,我们将利用金字塔的子采样,在每层图像金字塔上使用25*25的检测窗口扫描整幅图像,步长为2像素,从上到下,从左到右扫描整幅图像。
(3)根据输出值进行判别。假设网络的2个输出单元分别是output(0)和output(1)。如果output(0)的输出值小于output(1),则该窗口为非人脸区;如果output(0)的输出值大于output(1),则该窗口为候选人脸区,这样就得到了若干人脸候选区域。
(4)人脸候选区域轴对称。通过人脸候选区域轴对称可以有效地减少错误人脸候选框。
经过以上四步,可以得到一系列的重合窗口,如果重合窗口个数比某个阈值大,可以确定这些窗口对应的位置有一个人脸,可以合并为一个检测结果的对应窗口;然后把那些与这个窗口有冲突的其它窗口去掉,得到最后的检测结果。
因为我们需要的是对视频人脸进行检测,因此速度问题至关重要。由于利用ANN进行人脸检测时我们使用25*25的检测窗口扫描整幅图像,步长为2像素,从上到下,从左到右扫描,这个过程可以并行,因此可以采用GPU加速进行处理。
(二)人脸特征点定位与跟踪算法
ASM算法介绍:在人脸特征定位阶段,我们将使用Active shape model方法实现特征点提取。ASM是一种基于统计模型的图像搜索算法,通过对具有一定代表性的同一类目标物体图像进行统计建模,从而得到反应目标物体图像二维形状变化规律的形状统计模型。它的思想类似于snake,即定义一个能量函数,通过调整模型参数使能量函数最小化。首先对一组标有特征点图象(称为训练集的形状)和局部灰度建模,然后在搜索过程中不断调节形状和姿态参数从而使形状达到最优化。
下面从形状及局部纹理建模和目标搜索两个方面讨论ASM算法应用于人脸特征提取。
形状及局部纹理建模:
形状及局部纹理建模的过程是一个训练的过程,需要大量的人脸样本作为训练集。
形状建模:形状建模的目的是为目标图像中的特征提取提供模型信息,建模过程中得到的统计结果可以得到一系列的形状表达。这里,首先给出形状(Shape)的定义:n个二维点的表示的点分布向量。其数学表达如下:
x=(x1,...,xn,y1,...,yn)T    (2-1)
每个点分布向量在相似变换下具有不变性,即存在形状xi和形状xj,若对形状xi施加相似变换T,有xj=T(xi)成立,则形状xi和形状xj是同一形状。保证相似变换下的不变性意味着模型形状不受缩放,旋转,平移的影响。
在形状建模阶段主要包括以下几个步骤:
(1)特征点标定;
(2)对齐操作;
(3)PCA分析建立形状模型。
下面对三个步骤分别进行描述。
特征点标定
该步骤通常是通过人工手动选取特征点,形成形状样本。特征点的选取应该要包含需要提取的特征点,同时也包含一些辅助点并且特征点分布的密度适当。在这里参考XM2VTS人脸库的选点方式,采集1000个样本图片,每个样本手工选取68个特征点,形成的形状向量为136维。
对齐操作
根据上面开始部分对形状的定义,形状应该在相似变换下具有不变性,所以需要消除缩放,旋转,平移对步骤1采集的1000个点分布向量的影响,即对齐形状向量样本。形状对齐的流程是:将1000个点分布向量排列成序,分别编号x1,...,x1000,令x为平均形状向量,且x初始化为x1,按顺序将x2,...,x1000依次对齐到该平均向量x,完成一次迭代后重新计算平均向量x,并对齐到x1,继续迭代直至形状收敛。在这里,收敛是指连续两次迭代之后的平均向量x与x′有|x-x′|/|x|≤ε成立,ε是一个小于1的正数。
给定两个形状向量xi和xj的对齐问题,可以表达为解min D=|T(xi)-xj|2的优化问题。对于二维向量的相似变换有
T ( s , θ , t x , t y ) x y 1 = s . cos θ - s . sin θ t x s . sin θ s . cos θ t y 0 0 1 x y 1 - - - ( 2 - 2 )
其中s是缩放参数,θ是旋转参数,tx和ty是平移参数。有 | T ( x i ) - x j | 2 = Σ k = 1 n [ ( s . cos θ x ik - s . sin θ y ik + t x - x jk ) 2 + ( s . sin θ x ik + s . cos θ y ik + t y - y jk ) 2 ] - - - ( 2 - 3 )
∂ | T ( x i ) - x j | 2 ∂ s . cos θ = 0 , ∂ | T ( x i ) - x j | 2 ∂ s . sin θ = 0 ,
∂ | T ( x i ) - x j | 2 ∂ t x = 0 , ∂ | T ( x i ) - x j | 2 ∂ t y = 0
解得
s.cosθ(∑xik 2+∑yik 2)+tx∑xik+ty∑yik=∑xikxjk+∑yikyjk
s.sinθ(∑xik 2+∑yik 2+ty∑xik+tx∑yik=∑xikyjk-∑yikxjk
s . cos θ 1 n Σ x ik - s . sin θ 1 n Σ y ik + t x = 1 n Σ x jk ,
s . sin θ 1 n Σ x ik + s . cos θ 1 n Σ y ik + t y = 1 n Σ y jk
不失一般性,假设xi平移到原点,
1 n Σ x ik = 0 , 1 n Σ y ik = 0
带入得:
t x = 1 n Σ x jk ,
t y = 1 n Σ y jk ,
s.cosθ=xi.xj/|x|2
s.sinθ=(∑xikyjk-∑yikxjk)/|xi|2
带入公式2-2,得到T。由此,可以得到形状对齐算法如下:
Step1:将x1,...,x1000的中心平移至原点。
Step2:选取x1为初始向量,并将其归一化,即|x1|=1。
Step3:令x为平均形状向量,x=x1
Step4:将所有形状向量与平均形状向量x对齐。
Step5:重新计算对齐以后的形状向量的平均形状向量x。
Step6:平均形状向量x与x1对齐,并归一化,即|x|=1。
Step7:如果不收敛,转向Step4。
经过算法迭代后,称形状向量x1,...,x1000对齐到x。
PCA分析建立模型
经过形状对齐后,形状向量消除了缩放,旋转和平移的影响,可以得到样本形状的分布情况,设x是样本形状向量的数学期望值即中心,形状变量沿某方向(p)变化,若有
X=X+Pb    (2-4)
成立,则通过改变b可以得到不同的形状。若p是该136维空间的主轴方向,则x在样本集中的概率最大。利用主元分析(PCA)可以得到样本集在分布空间中的主方向。算法如下:
①计算经过校准的形状向量的均值
X ‾ = 1 N Σ i = 1 N X i
②计算校准后的形状向量的协方差矩阵
S = 1 N - 1 Σ i = 1 N ( X i - X ‾ ) ( X i - X ‾ ) T
③计算S的特征向量与特征值。设特征值λi对应的特征向量是ei,则λi也是协方差矩阵的特征值,对应的协方差矩阵特征向量是Dei,令e′i=normalize(Dei)。
④将特征值降序排列,λi+1≥λi
Figure GSA00000012275200144
,取前t个较大的特征值,使得
Σ i = 1 t λ i Σ i = 1 n λ i ≥ ξ
ξ是自定义的阈值,在我们的应用中,取ξ为0.95,表示保留原训练样本95%的信息。
⑤令p=(e′1|...|e′t|),则任何形状可表示为:X=X+Pb。
为了避免产生奇异形状,我们限制了b值的范围:
Figure GSA00000012275200152
局部纹理建模
经过上述三个步骤和对向量b量取值范围的限定,得到了主元方向上合理的形状向量。接下来,根据形状的点分布模型绑定图像局部结构信息,建立局部纹理模型。
令pij,(1≤i≤30,1≤j≤68)为样本图像集中第i个训练样本上的第j个特征标记点,在过pij的法线方向上进行像素点灰度值采样,其中k个像素点位于指向曲率中心一侧,k个像素点位于背离曲率中心一侧,并gij所在位置采样一个像素点,共计采样像素点2k+1个,称该2k+1个像素点组成的像素区域为特征标记点的特征结构(Profile),本文取k=8。
与pij对应的特征结构的数值用向量gij表示,gijk是向量gij的第k个分量,对应特征结构中的第k个像素的灰度值。依据步骤2)的原理,在形状建模中不应该包含缩放,旋转,平移等位置和尺度信息对统计模型影响,同样,在建立局部结构模型的统计过程中,同样应该消除全局颜色和光照强度对灰度值统计的影响,对gij进行差分处理能够简便的达到目的。有
gij=(gij1,gij2,gij3,...,gij(2k+1))T                 (2-5)
dgij=(gij2-gij1,gij3-gij2,...,gij(2k+1)-gij(2k))T    (2-6)
将dgij进行标准化,有
d g ij → dg ij Σ j | dg ij | - - - ( 2 - 7 )
对指定的标记点pj对应集合{dgj}={dg1j,dg2j,...,dgij},(1≤i≤30),(1≤j≤68)。假设{dgj}服从多元高斯分布,按照下面算法进行建模:
Step1:j=1。
Step2:计算pj对应特征结构的均值dgj=(∑idgij)/N。
Step3:计算pj对应特征结构的协方差矩阵Sj=(∑i(dgij-dgj)(dgij-dgj)T)/N。
Step4:j←j+1,如果j≤68,转向Step2。
通过建模,获取了形状模型与局部纹理模型的关联信息,为形状搜索提供了足够的先验知识。
目标搜索
目标形状搜索是指,给定一副目标图像,将2.1.1节建立的平均形状模型置于初始位置,在形状上每一个目标标记点对应的搜索范围中进行最优搜索,得到搜索后的形状向量,通过计算该形状在模型中的参数,得到具有全局约束的合理形状,重复迭代直至收敛或达到迭代次数上限,输出形状即为目标图像的搜索结果。算法步骤如下:
Step1:将平均形状向量x置于初始位置。
Step2:找到点分布模型上的每一标记点的最近最优新位置,即局部纹理匹配,得到形状x′。
Step3:将形状x′匹配到形状分布空间,更新参数相似矩阵T和形状变量b,得到约束下的形状x″。
Step4:如果形状没有收敛且未达到迭代上限,转向Step2。
接下来对该算法中的局部纹理模型匹配和模型约束两个问题进行讨论。
(1)局部纹理模型下的形状搜索
通过局部纹理模型建模可知,每一个模型标记点pj都绑定了一个特征结构差分向量(2k维)的统计模型<dgj,Sj>,同时,在目标图像的一次迭代搜索过程中,每一个目标标记点p′j也对应一个特征结构差分向量dg′j,有
f ( d g j &prime; ) = ( dg j &prime; - d g &OverBar; j ) T S j - 1 ( d g j &prime; - d g &OverBar; j ) - - - ( 2 - 8 )
公式2-8是dg′j到dgj的马氏距离(Mahalanobis Distance)中f(dg′j)与log(p(dg′j))具有线性关系,意味着dg′j与dgj越相似,f(dg′j)越趋近于0(log(1)=0)。
为了确定搜索范围,采取与标记点特征结构类似的方法,在过目标标记点p′j的法线方向上进行像素点灰度值采样,其中m(m>k)个像素点位于指向曲率中心一侧,m个像素点位于背离曲率中心一侧,加上p′j所在像素的采样,共计2m+1个采样像素,本文取m=11。设置搜索窗口,令模型标记点pj对应的特征结构的大小为窗口大小,窗口在搜索范围中移动,找到f(dg′j)最小的位置,本文中每次迭代比较3次(k=8)。
经过每个目标标记点的搜索,得到形状x′,该形状是一次迭代中与局部结构最为吻合的形状,但该模型不能保证最大可能来自形状模型的分布空间,因此还需要计算全局约束。
(2)模型约束
对形状进行约束是指在形状模型的分布空间找到局部结构下搜索得到的形状最为近似的形状,作为下一次迭代开始时的形状或最终输出结果。其目地是保证目标形状符合训练样本的统计分布规律,避免形状变化过大。根据2.1.1节的推导,通过公式2-4生成的模型,在对b进行限制后,能够满足模型全局约束的要求。
由于在形状建模过程中,消除了缩放,旋转,平移等位置和尺度的因素对形状的影响,故还需要考虑生成形状与原始形状的对齐问题。
上述分析可以表达为,x′是局部搜索后的形状,x″是约束后的形状,根据公式2-4,有x″=x+pb。
令T为相似变换矩阵,有D=|T(x″)-x′|2,即D=|T(x+pb)-x′|2
解当D取得最小值时的优化问题。利用迭代法求解的算法如下:
Step1:b=0。
Step2:计算x″=x+pb。
Step3:参照公式2-3的Step2:计算x″=x+pb。解法,解min D=|T(x″)-x′|2,得到相似变化矩阵T。
Step4:将x′对齐x″,令
Figure GSA00000012275200171
Step5:缩放
Figure GSA00000012275200172
Figure GSA00000012275200173
Step6:解得
Figure GSA00000012275200181
Step7:bi是b的第i分量,使得所有分量满足
Figure GSA00000012275200182
Step8:如果b不收敛,转向Step2。
通过对局部搜索后的形状进行约束,得到的形状最大程度上满足模型的统计分布和局部结构上的最优。
增强的ASM人脸特征点定位与跟踪
图像预处理:在人脸检测研究中,检测对象大多是由图像捕捉设备所采集的数字图像或视频流中的数字图像序列,而采集条件尤其是光照条件,包括光源的方向,明暗,色彩等都会对图像的效果产生很大的影响,从而影响到对彩色图像中人脸的正确检出率.相关的研究表明,同一个人的人脸图像在不同的光照条件下,利用各种主流的人脸检测方法进行特征提取后引起的差异,往往要大于不同的人在相同光照条件下,利用相同的方法进行特征提取后引起的差异.因此,非常有必要在进行人脸检测前对图像进行光照补偿处理,使图像中的人脸区域能够得到增强。在此,使用的是“参考白”光线补偿算法,其算法过程如下:
(1)将整个图像中所有像素的亮度从高到低进行排列,取前5%的像素(如果这些像素的数目足够多,例如大于100);
(2)将这些像素的亮度作为“参考白”,即将它们的色彩的R、G、B分量值都调整为最大的255;
(3)将整幅图像的其它像素点的色彩值也都按这一调整尺度进行变换。
除此之外,由于图像在摄取过程中受到摄取器件和周围环境的影响,会使摄取到的图像中含有噪声,而噪声对图像处理的结果有时会产生很大的负面影响。噪声通常是随机产生的,因而具有分布和大小的不规则性,有些噪声和图像信号互相独立,互不相关,有些是相关的,噪声本身之间也可能相关.因此要减少图像中的噪声,必须针对具体情况采用不同的方法,否则很难获得满意的处理效果.从本质上讲,图像去噪的方法都是低通滤波的方法,而低通滤波在消除图像噪声的同时,也会消除图像的部分有用的高频信息,因此,各种去噪方法的研究实际是在去噪和保留高频信息之间进行的权衡.在此,我们使用高斯低通滤波进行图像平滑降低皮肤细纹的锐化程度并且去除一些小的亮点。然而,由于噪声的随机性,单靠高斯平滑是不能去除多余的噪声的,在此,我们既高斯滤波后采用灰度图像的形态学操作来去除其余的与皮肤颜色相近的噪声点。在我们的系统中,我们采用的是灰度图像的开运算即先腐蚀后膨胀,去除其他与肤色相近和不规则的亮点,同时保持所有灰度级和较大的亮区特性相对不变。腐蚀和膨胀过程中,我们选择的结构元素均为3*3的长方形结构元素。
增强的ASM局部约束
局部定位增强主要是针对搜索时原始ASM只利用了局部纹理信息,局部约束力不强而导致某些点搜索不准确而提出的。
在特征点局部纹理模型匹配阶段,由于所有点的搜索只是在它的垂直法线方向上进行,没有一个整体的约束,致使有些点的搜索结果偏离目标点太远,而使得整个搜索的目标形状不佳。因此,对于当前搜索点,采用其马氏距离和邻居点马氏距离的加权和代替原始ASM的单纯一个点的马氏距离。在特征点越密集的情况下,这样得到的效果越好,但是特征点越密集,训练时间越长,并且搜索时间也越长。在我们的系统中,我们的特征点分布比较均匀,我们将加权马氏距离与原始ASM的单点马氏距离结合。
设模型中profile长度为2k+1,目标图像中profile长度为2m+1(m>k)。对于当前点,假设它在j这个位置,我们这样来寻找它的最佳位置:
(1)比较在j位置的马氏距离和加权马氏距离,取他们的最小值MINj;且令mindistance=MINj,i=j,flag=i;
(2)计算j+1时候的马氏距离和加权马氏距离,取他们的最小值MIN(j+1);
(3)比较mindistance和MIN(j+1)的大小,如果mindistance>MIN(j+1),则mindistance=MIN(j+1),i=j+1,flag=i;
(4)j++,返回(2);
(5)若j>=2(m-k)+1,结束。
搜索完成后flag即为当前点的最优搜索结果。
多初始形状的ASM人脸特征定位与跟踪
由于ASM算法对初始形状的位置比较敏感,一旦初始形状位置不佳,就会影响到以后的搜索结果,甚至陷入局部最小。为此,我们采用多个起始形状进行搜索再确定一个最优形状。具体做法如下:
(1)利用前一帧搜索得到的结果
考虑到视频帧之间的连续性,在视频帧连续性比较好的视频中两帧之间的差异不会太大,因此我们可以将上一帧的搜索结果作为当前帧的起始形状。这样做的好处在于当两帧之间人脸运动差异比较小时,上一帧的搜索结果已经与当前帧的目标人脸非常接近,在利用ASM对每个点搜索时,需要迭代的次数就相对减少,同时搜索方向也越接近目标点所在方向,这样在一定程度上提高了每个点搜索的准确性并且节省了搜索时间。
但是在现实中,人脸运动是随机的,这样并不能保证所有的视频帧之间连续性都很好。当遇到相邻两帧之间连续性不好时,用上一帧的搜索结果作为起始形状,则已经偏离目标人脸,这样ASM极容易陷入局部最小。当当前帧的搜索结果已经陷入局部最小,但它仍作为下一帧的起始形状,这样恶性循环,致使后面所有帧的搜索结果都陷入局部最小,从而导致从不连续的那帧开始以后的所有帧都没有好的搜索结果使得人脸特征点跟踪失败。
(2)利用meanshift进行人脸跟踪
为了解决人脸突然快速移动导致视频帧连续性不好时ASM陷入局部最小,我们有必要知道每帧里人脸区域的准确位置,根据这个人脸区域位置我们再放入有效的初始形状,这样就能得到好的搜索结果。因此引入meanshift算法进行人脸跟踪。
Meanshift算法利用视频图像中运动物体的颜色直方图的反投影作为匹配模板来达到实时的人脸跟踪的目的,它是目前较为流行的无参数模式快速匹配算法。Mean Shift算法的基本思路为:从每个像素开始,首先估计有相似颜色的邻近像素点的密度(局部密度)的梯度,而后利用迭代算法求出局部密度的峰值(即重心点),把能够聚类到同一个峰值点的所有像素点划分成一个区域。Meanshift算法存在半自动跟踪的缺陷,在起始跟踪帧,需要通过手动确定搜索窗口来选择目标。在我们的系统中,我们将第一帧利用BP网络进行人脸检测的结果作为Meanshift的初始化窗口以实现全自动解决方案。
Meanshift算法步骤如下:
(a)利用BP神经网络人脸检测算法检测到人脸区域,并用人脸框位置和大小初始化meanshift的搜索窗口。
(b)利用肤色区域的颜色直方图计算出各个色度值的分布概率,用图像上每一点的像素值所对应的概率值代替该点像素值得到概率分布图。
(c)跟踪窗口内的质心Mass center(或重心)。在离散二维(2D)概率分布图像中,计算某窗口的质心同物理上计算某物体的质心一样,即利用窗口的零阶矩M00和(x,y)的一阶矩(M01,M10)之间的关系,计算得到窗口的质心。
(d)调整跟踪窗口的中心到质心mass center。
(e)重复(c)和(d),直到跟踪窗口中心和质心“会聚”,即每次窗口移动的距离小于一定的阈值。
Meanshift算法计算量小,实时性好,在简单背景环境中能取得较好的跟踪效果。但是由于缺乏必要的模型更新,当进行长时间匹配跟踪时,目标常因存在外观变化导致模型不能很好刻画当前的目标特征,特别是当目标跟踪背景中存在与人脸肤色相近或者目标存在严重遮挡等干扰时,会造成相似度度量的失败从而丢失匹配目标。
(3)利用预测型meanshift算法进行人脸跟踪
为了解决在meanshift跟踪过程中出现与肤色相近或相同的目标时导致人脸跟踪失败的问题,我们需引入估计器预测人脸目标的运动参数。
Kalman滤波器是一个对动态系统的状态序列进行线性最小方差误差估计的算法,它通过状态方程和观测方程来表示系统。在我们的人脸跟踪过程中,采用meanshift和kalman滤波结合,达到一个鲁棒的人脸跟踪效果,对遮挡、偏头、转头都有好的跟踪效果。其执行过程如下:
(a)将整个图像设为搜索区域,采用BP人脸检测算法初始化搜索窗口的大小和位置。
(b)计算搜索窗口内目标特征的概率分布,运行meanshift算法迭代获得最佳搜索窗口新的位置。
(c)将搜索窗口新位置作为观测值传递给Kalman滤波器,运行Kalman滤波器预测下一帧目标搜索窗口的位置。
(d)在下一帧视频图像中,用c)获得的位置初始化搜索窗口的大小和位置,跳转到b)继续运行
(4)最优形状决策
通过第三步,我们得到了一个鲁棒的人脸跟踪结果,现在我们需要在跟踪到的人脸区域中放置合适的start shapes考虑到人脸运动的随机性,我们采用了多个角度的start shapes同时进行ASM搜索,然后再通过判决选出一个最好的搜索结果。在start shape的选取上,我们先将模型形状通过仿射变换正面放入人脸框内,即此时的偏转角度为0.然后再在这个模型的基础上进行旋转缩放,产生-60.-45,-30,0,30,45,60的7个起始形状。
虽然在帧连续性不好的情况下利用上一帧信息作为当前帧的初始形状会有不好的搜索结果,但是在一般情况下得到的结果要优于利用人脸框取得初始形状再进行搜索的结果,因此我们将上一帧的搜索结果也加入到当前帧的起始形状中。在此,我们利用了八个初始形状。
搜索结束以后,我们将面临两个问题.首先,对于8次ASM搜索,搜索时间将会大大增加,我们如何保证实时性?第二,有八个结果形状,我们应该怎样决策才能选出其中最优的一个?对于第一个问题,我们选择利用GPU进行加速来保证实时性。对于第二个问题,没有合适的函数对整个形状进行衡量。考虑到每个点搜索时候的最佳匹配的马氏距离公式:fj(gj)=(gi-g)TSi -1(gi-g),其对数与gi成线性关系,因此用每个形状已经搜索得到最优点对应的每个点的马氏距离和最小来衡量整个形状的好坏是合理的。
假设某个形状的其中一个点gj的最优搜索结果对应的马氏距离是
Figure GSA00000012275200221
则整个形状的衡量标准为
Figure GSA00000012275200222
,因此最优的结果形状即为对应的形状。
(三)数据信息转换
人脸特征点跟踪完成以后,我们得知人脸上每个特征的精确位置,包括眼睛、鼻子、嘴巴和脸型轮廓。但是由于ASM算法模型的限制,在遇到眼睛睁闭和嘴巴动作幅度比较大的时候,不能准确得知眼睛和嘴巴的准确信息。要与动画结合,我们需要从二维的视频帧中提取用于驱动动画必要的三维信息,因此,要实现信息之间的转换。在动画系统中,最重要的面部器官即嘴巴、眼睛和眉毛。人脸特征点跟踪完后我们利用其几何关系,知晓嘴巴的张开的大小,眼睛部分采用模板匹配的方法知晓睁闭情况。以此完成视频驱动三维人脸动画系统。
眼睛睁闭信息转换:利用ASM定位完成以后,可知晓双眼位置,但是由于ASM训练模型的限制,在出现眼睛闭着的时候不能准确给出眼睛轮廓的精确位置。由于在动画模块我们需要传递的信息只是眼睛睁闭的状态,因此,可以通过ASM检测到的大概眼睛位置,再进行眼睛部分处理获得眼睛睁闭信息。
由于眼睛具有灰度不变的特征,在本系统中,假设视频或者摄像头的第一帧均为睁眼状态,并将第一帧的眼睛区域作为睁眼状态的模板,后续帧与模板比较得到睁闭眼的状态。具体做法如下:获得眼睛区域的灰度图像;分别计算第一帧视频图像中左右两只眼睛区域所有点灰度值的和,并计算其平均值,将其作为参考值;计算当前帧左右眼睛区域灰度值的平均值,并与第一帧的数据进行比较,如果左右两只眼睛的平均灰度值均与与第一帧的平均灰度值相差不大,则可判断为睁眼状态,反之为闭眼状态;若为睁眼状态,返回1;反之返回0。
通过以上三个步骤,我们可以获取每帧图像中人眼的睁闭状态,并将其传至动画模块。
嘴巴轮廓信息获取
利用ASM实现人脸特征点的定位与跟踪后,虽然嘴巴轮廓的点在嘴巴说话的情况下会出现跟踪不准确,但是嘴巴的大致位置仍然是准确的,因此可用ASM跟踪结果定位嘴巴区域,然后再精确定位嘴巴轮廓。
算法如下:
1、得到嘴唇部分图片
图片大小最好是嘴巴部分的两倍,即图片的高是上下嘴唇高度的两倍,宽是左右嘴角长度的两倍。
2、用OpenCV里的函数对图片进行操作,取出图片各个像素的颜色值,即RGB值,并将其存储起来
3、将像素点的RGB转换成LAB空间值。
RGB=>LAB
X Y Z = 0.433910 0.376220 0.189860 0.212649 0.715169 0.072182 0.017756 0.109478 0.872915 * R G B
X=X/(255*0.950456);
Y=Y/255.0;
Z=Z/(255.0*1.088754);
如果t>0.008856f  (t)=t1/3  t=X,Y,Z;否则f(t)=7.787*t+16.0/116.0;
如果Y>0.008856,L*=116.0*f(Y)-16.0+0.5;
否则,L*=903.3*(7.787*Y+16.0/116.0)+0.5。
A*和B*分别为:
A*=500.0*(f(X)-f(Y))+0.5;
B*=200.0*(f(Y)-f(Z))+0.5;
4、计算ΔHab,即色彩角
ΔL*=L* sample-L* standard
Δa*=a* sample-a* standard
Δb*=b* sample-b* standard
&Delta; E * = &Delta;L * 2 + &Delta; a * 2 + &Delta; b * 2
C * = a * 2 + b * 2
ΔC*=C* sample-C* standard
&Delta; H * = &Delta; E * 2 - &Delta; L * 2 - &Delta; C * 2
5、分别计算ΔHab和A*的直方图,阈值、最大最小值。通过这些值计算得到相关的参数,即模糊函数的参数
Figure GSA00000012275200251
其中,K1和K2值是通过Otsu(大津法)找出的。
6、模糊函数的应用
其中,得到的是函数μ(x).
F1(x)=μ(x); F 2 ( x ) = &mu; ( x )
7、搜索过程
当扫描的时候,无论是α区还是β区,都是从边界到中心的方向。
当扫描α区时,假设3*3结构的中心点为观测点,取左边的点为比较邻接点;当扫描β区时,取右边的点为比较邻接点。
按照上述的结构,分别将每个像素点的A*和ΔHab代入rule1和rule2,得到值Y1、Y2.1确定两个圈子W1和W2.则每个像素点的Z值为:
Z = y 1 * w 1 + y 2 * w 2 w 1 + w 2
8、分区判断
现假设观测点的值为Z1,邻接点的值为Z2.
假设观测点为嘴唇点,而邻接点为皮肤点,即Z1代表嘴唇点值,Z2代表皮肤点值。
如果Z2>Z1andΔHaba>3.0,则观测点确实为嘴唇点;
如果Z1<0.10 and Z2<0.10,则观测点为皮肤点;
如果Z1>Z2,则观测点为嘴唇点;
其他,观测点为皮肤点;
在分区的时候,注意将图片转换为二值图,即嘴唇点为黑色,皮肤点为白色。
9、膨胀腐蚀
由于在判断过程中,可能会产生噪声点,需要对图像进行膨胀和腐蚀操作,来消除噪声点的影响。
10、曲线拟合
经过以上过程,得到了嘴唇区域的大概区域,但是还不足以描述嘴唇区域,所以需要对嘴唇区域进行曲线拟合,本方中采取三次样条曲线来拟合。通过找出左右区域最左和最右的两个点,得到相关坐标。然后将区域分为N份,通过曲线拟合的方法模拟出一条曲线,尽可能地圈住所找出的区域。

Claims (4)

1.一种基于视频的3D人脸表情动画驱动方法,其特征在于,包括以下步骤:
①图像预处理:通过光线补偿、高斯平滑及灰度图像的形态学操作增强图像质量;
②BP人脸检测:通过BP神经网络算法检测视频中的人脸,并将其位置大小返回,为下一步的人脸特征点定位提供更小的搜索范围以保证实时性;
③ASM人脸特征点定位及跟踪:通过增强的主动形状模型算法及预测型meanshift算法,精确提取人脸形状、眼睛、眉毛、嘴巴、鼻子特征点信息,并将确切位置返回;
④数据信息转换:将人脸特征点定位跟踪步骤得到的数据信息通过转换后获知人脸的运动信息。
2.根据权利要求1所述的基于视频的3D人脸表情动画驱动方法,其特征在于,步骤②中,所述BP神经网络算法主要包括两个过程:训练过程和检测过程,其中:
训练过程:收集人脸样本和非人脸样本的图像;归一化预处理和特征提取得到对应模式的特征向量,把其作为待分类两种模式的训练数据;使用这些训练数据来训练神经元,根据某种学习规则不断地对连接权值进行调整,最后使网络具有某种期望的输出;将训练好的神经元作为人脸图像和非人脸图像这两类模式的分类器来识别这两类模式;
检测过程:图像预处理;利用金字塔的子采样,在每层图像金字塔上使用相应的检测窗口扫描整幅图像;根据输出值进行判别;人脸候选区域轴对称。
3.根据权利要求1所述的基于视频的3D人脸表情动画驱动方法,其特征在于,在步骤③中,所述主动形状模型算法设置包括以下步骤:
形状建模:
a、形状定义:N个二维点表示的点分布向量,其数学表达如下:
X=(x1,...,xN,y1,...,yN)T
b、特征点标定:选取应该要包含需要提取的特征点,同时也包含一些辅助点并且特征点分布的密度适当;
c、对齐操作:将N个点分布向量排列成序,分别编号,令
Figure FSB00000627341800011
为平均形状向量,且
Figure FSB00000627341800021
初始化为x1,按顺序将2~N个点依次对齐到该平均向量
Figure FSB00000627341800022
完成一次迭代后重新计算平均向量
Figure FSB00000627341800023
并对齐到x1,继续迭代直至形状收敛;
d、PCA分析建立模型:得到样本集在主元方向上合理的形状向量;
局部纹理建模:对局部纹理进行建模,获取了关联信息,为形状搜索提供了足够的先验知识;
目标搜索:给定一幅目标图像,将建立的平均形状模型置于初始位置,在形状上每一个目标标记点对应的搜索范围中进行最优搜索,得到搜索后的形状向量,通过计算该形状在模型中的参数,得到具有全局约束的合理形状,重复迭代直至收敛或达到迭代次数上限,输出形状即为目标图像的搜索结果。
4.根据权利要求1所述的基于视频的3D人脸表情动画驱动方法,其特征在于,在步骤③中,利用预测型meanshift算法进行人脸跟踪步骤如下:
a、将整个图像设为搜索区域,采用BP人脸检测算法初始化搜索窗口的大小和位置;
b、计算搜索窗口内目标特征的概率分布,运行meanshift算法迭代获得最佳搜索窗口新的位置;
c、将搜索窗口新位置作为观测值传递给Kalman滤波器,运行Kalman滤波器预测下一帧目标搜索窗口的位置;
d、在下一帧视频图像中,用步骤c获得的位置初始化搜索窗口的大小和位置,跳转到步骤b继续运行。
CN2010101005663A 2010-01-25 2010-01-25 基于视频的3d人脸表情动画驱动方法 Expired - Fee Related CN101739712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101005663A CN101739712B (zh) 2010-01-25 2010-01-25 基于视频的3d人脸表情动画驱动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101005663A CN101739712B (zh) 2010-01-25 2010-01-25 基于视频的3d人脸表情动画驱动方法

Publications (2)

Publication Number Publication Date
CN101739712A CN101739712A (zh) 2010-06-16
CN101739712B true CN101739712B (zh) 2012-01-18

Family

ID=42463159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101005663A Expired - Fee Related CN101739712B (zh) 2010-01-25 2010-01-25 基于视频的3d人脸表情动画驱动方法

Country Status (1)

Country Link
CN (1) CN101739712B (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102157007A (zh) * 2011-04-11 2011-08-17 北京中星微电子有限公司 一种表演驱动的制作人脸动画的方法和装置
CN102509333B (zh) * 2011-12-07 2014-05-07 浙江大学 基于动作捕获数据驱动的二维卡通表情动画制作方法
CN102722714B (zh) * 2012-05-18 2014-07-23 西安电子科技大学 基于目标跟踪的人工神经网络扩张式学习方法
CN102760231B (zh) * 2012-06-19 2014-05-21 清华大学 人脸表情距离的计算方法和计算装置
CN103049755B (zh) * 2012-12-28 2016-08-10 合一网络技术(北京)有限公司 一种实现动态视频马赛克的方法及装置
US20140192140A1 (en) * 2013-01-07 2014-07-10 Microsoft Corporation Visual Content Modification for Distributed Story Reading
CN109711304B (zh) * 2013-05-21 2022-06-14 深圳市腾讯计算机系统有限公司 一种人脸特征点定位方法及装置
CN104036254A (zh) * 2014-06-20 2014-09-10 成都凯智科技有限公司 一种人脸识别方法
CN104469179B (zh) * 2014-12-22 2017-08-04 杭州短趣网络传媒技术有限公司 一种将动态图片结合到手机视频中的方法
WO2016111174A1 (ja) * 2015-01-06 2016-07-14 ソニー株式会社 エフェクト生成装置およびエフェクト生成方法、並びにプログラム
CN104573679B (zh) * 2015-02-08 2018-06-22 天津艾思科尔科技有限公司 监控场景下基于深度学习的人脸识别系统
CN104881660B (zh) * 2015-06-17 2018-01-09 吉林纪元时空动漫游戏科技集团股份有限公司 基于gpu加速的人脸表情识别及互动方法
CN105069745A (zh) * 2015-08-14 2015-11-18 济南中景电子科技有限公司 基于普通图像传感器及增强现实技术的带表情变脸系统及方法
CN105631803B (zh) * 2015-12-17 2019-05-28 小米科技有限责任公司 滤镜处理的方法和装置
CN106933339A (zh) * 2015-12-31 2017-07-07 掌赢信息科技(上海)有限公司 一种眼球驱动方法及电子设备
CN107292219A (zh) * 2016-04-01 2017-10-24 掌赢信息科技(上海)有限公司 一种驱动眼睛运动的方法及电子设备
CN107341785A (zh) * 2016-04-29 2017-11-10 掌赢信息科技(上海)有限公司 一种基于帧间滤波的表情迁移方法及电子设备
CN106067040A (zh) * 2016-06-01 2016-11-02 深圳市寒武纪智能科技有限公司 一种通过碎片交互训练机器学习图像识别算法模型的方法
CN106327482B (zh) * 2016-08-10 2019-01-22 东方网力科技股份有限公司 一种基于大数据的面部表情的重建方法及装置
CN106650565A (zh) * 2016-08-31 2017-05-10 刘杰杰 移动互联网智能终端电子取证平台
CN106447785A (zh) * 2016-09-30 2017-02-22 北京奇虎科技有限公司 一种驱动虚拟角色的方法和装置
CN107563323A (zh) * 2017-08-30 2018-01-09 华中科技大学 一种视频人脸特征点定位方法
CN107729860B (zh) * 2017-10-30 2019-06-14 Oppo广东移动通信有限公司 人脸识别计算方法及相关产品
CN108875499A (zh) * 2017-11-06 2018-11-23 北京旷视科技有限公司 人脸形状点和状态属性检测及增强现实方法和装置
CN108177146A (zh) * 2017-12-28 2018-06-19 北京奇虎科技有限公司 机器人头部的控制方法、装置及计算设备
CN108550170B (zh) * 2018-04-25 2020-08-07 深圳市商汤科技有限公司 虚拟角色驱动方法及装置
CN112270299A (zh) * 2018-04-25 2021-01-26 北京嘀嘀无限科技发展有限公司 一种识别头部运动的系统和方法
CN109035254A (zh) * 2018-09-11 2018-12-18 中国水产科学研究院渔业机械仪器研究所 基于改进K-means聚类的运动鱼体阴影去除及图像分割方法
CN111241891B (zh) * 2018-11-29 2024-04-30 中科视语(北京)科技有限公司 一种人脸图像切图方法、装置及计算机可读存储介质
CN109934776B (zh) * 2018-12-25 2021-05-25 北京奇艺世纪科技有限公司 模型生成方法、视频增强方法、装置及计算机可读存储介质
CN109886091B (zh) * 2019-01-08 2021-06-01 东南大学 基于带权重局部旋度模式的三维人脸表情识别方法
CN109919020A (zh) * 2019-01-29 2019-06-21 青岛科技大学 一种实验性质的适应不同情感模式的驾驶意图辨识方法
CN110047121B (zh) * 2019-03-20 2023-08-11 北京字节跳动网络技术有限公司 端到端的动画生成方法、装置及电子设备
CN110097586B (zh) * 2019-04-30 2023-05-30 青岛海信网络科技股份有限公司 一种人脸检测追踪方法及装置
CN110189404B (zh) * 2019-05-31 2023-04-07 重庆大学 基于真实人脸图像的虚拟面部建模方法
CN110807364B (zh) * 2019-09-27 2022-09-30 中国科学院计算技术研究所 三维人脸与眼球运动的建模与捕获方法及系统
CN112584079A (zh) * 2019-09-30 2021-03-30 华为技术有限公司 视频通话人脸呈现方法、视频通话装置及汽车
CN113112536A (zh) * 2021-03-19 2021-07-13 北京达佳互联信息技术有限公司 图像处理模型训练方法、图像处理方法及装置
CN113313085B (zh) * 2021-07-28 2021-10-15 北京奇艺世纪科技有限公司 一种图像处理方法、装置、电子设备及存储介质
CN114049678B (zh) * 2022-01-11 2022-04-12 之江实验室 一种基于深度学习的面部动作捕捉方法及系统
CN114842579B (zh) * 2022-04-26 2024-02-20 深圳市凯迪仕智能科技股份有限公司 智能锁、图像处理方法及相关产品
CN115063872A (zh) * 2022-08-15 2022-09-16 北京师范大学 一种表情与肢体识别相结合的客户满意度检测方法及系统
CN117152311A (zh) * 2023-08-02 2023-12-01 山东财经大学 基于双分支网络的三维表情动画编辑方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1790374A (zh) * 2004-12-14 2006-06-21 中国科学院计算技术研究所 一种基于模板匹配的人脸识别方法
CN101615245A (zh) * 2009-07-30 2009-12-30 上海交通大学 基于avr和增强lbp的表情识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1790374A (zh) * 2004-12-14 2006-06-21 中国科学院计算技术研究所 一种基于模板匹配的人脸识别方法
CN101615245A (zh) * 2009-07-30 2009-12-30 上海交通大学 基于avr和增强lbp的表情识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张满囤,等..表情动画技术和应用综述.《河北工业大学学报》.2007,第36卷(第5期),89-94. *
张满囤,等。.表情动画技术和应用综述.《河北工业大学学报》.2007,第36卷(第5期),89-94.

Also Published As

Publication number Publication date
CN101739712A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101739712B (zh) 基于视频的3d人脸表情动画驱动方法
CN106169081B (zh) 一种基于不同照度的图像分类及处理方法
CN107481188A (zh) 一种图像超分辨率重构方法
CN104050471B (zh) 一种自然场景文字检测方法及系统
CN100361138C (zh) 视频序列中人脸的实时检测与持续跟踪的方法及系统
CN108268859A (zh) 一种基于深度学习的人脸表情识别方法
CN110084215A (zh) 一种二值化三元组孪生网络模型的行人重识别方法及系统
CN108304826A (zh) 基于卷积神经网络的人脸表情识别方法
CN108256421A (zh) 一种动态手势序列实时识别方法、系统及装置
CN108550133A (zh) 一种基于Faster R-CNN的癌细胞检测方法
CN108009509A (zh) 车辆目标检测方法
CN112784736B (zh) 一种多模态特征融合的人物交互行为识别方法
CN100440246C (zh) 一种人脸特征点定位方法
CN101813475B (zh) 远距离障碍的自适应检测方法
CN104463191A (zh) 一种基于注意机制的机器人视觉处理方法
CN103049751A (zh) 一种改进的加权区域匹配高空视频行人识别方法
CN109543632A (zh) 一种基于浅层特征融合引导的深层网络行人检测方法
CN106023257A (zh) 一种基于旋翼无人机平台的目标跟踪方法
CN109086660A (zh) 多任务学习深度网络的训练方法、设备及存储介质
CN109033953A (zh) 多任务学习深度网络的训练方法、设备及存储介质
CN105869178A (zh) 一种基于多尺度组合特征凸优化的复杂目标动态场景无监督分割方法
CN101916446A (zh) 基于边缘信息和均值移位的灰度目标跟踪算法
CN108509920A (zh) 基于CNN的多patch多通道联合特征选择学习的人脸识别方法
CN104050488A (zh) 一种基于切换的卡尔曼滤波模型的手势识别方法
CN102289822A (zh) 一种多摄像机协同跟踪运动目标的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120118

Termination date: 20150125

EXPY Termination of patent right or utility model