1
2
1
2
1
2
2
1
1基于 Kanade
第 16 卷 第 3 期
2004 年 3 月
1
计算机辅助设计与图形学学报
JOURNAL OF COMPU TER
AIDED DESIGN & COMPU TER GRAPHICS
Vol
16 , No
Mar
3
, 2004
Lucas
Tomasi 算法的人脸特征点跟踪方法
段 鸿 程义民 王以孝 蔡尚书
(中国科学技术大学电子科学与技术系 合肥 230026)
摘 要 与传统的在人面部画上标识点的特征点跟踪方法不同 , KL T( Kanade
的正面人像视频系列中通过特征纹理信息直接获取面部某些特征点的位移
息的经验约束 ,使 KL T 算法更加合理有效
Lucas
Tomasi) 算法可以从未加标识点
在 KL T 算法中加入了基于人脸统计信
关键词 虚拟人 ;人脸特征点 ;视频跟踪 ;视频分析
中图法分类号 TP391
9
Tracking Facial Feature Points Using Kanade
Lucas
Tomasi Approach
Duan Hong Cheng Yimin Wang Yixiao Cai Shangshu
( Depart ment of Elect ronic Science & Technology , U niversity of Science & Technology of Chi na , Hef ei 230026)
Abstract Compared to normal met hods t hat need to make marks on person’s face , t his met hod can
track displacements of facial feature points from frontal face video t hrough texture information of t he
face
At t he same time , in order to improve t he met hod , we give t he static angle and distance limitation
of facial organs to t he KL T ( Kanade
Tomasi) algorit hm
L ucas
Key words virtual person ; facial feature points ; video tracking ; video analysis
1 引 言
动态人脸仿真技术在虚拟人物设计、电影/ 动画
制作 、远程教学等诸多方面都有着广泛的应用 ,也是
计算机图形学领域一个具有挑战性的课题
这其中
的人脸特征跟踪技术对于动画人脸重建 、人类感情
信息分析 、特定人脸的识别等都具有重要的意义
如在人脸肌肉模型的单视频驱动[ 1 ]方法中 ,通过跟
踪视频中人脸特征点的二维位移 ,来获取面部肌肉
向量的收缩量 ,最终达到驱动三维人脸模型的目的
Kouadio 等提出了一种通过加标识点来跟踪视
频中人脸特征点的方法[ 2 ] ,文献 [ 3 ]则采用了一种
分析人面部曲线的方法来跟踪人脸视频
这些特征
跟踪方法的局限是要在被摄像者面部加上标识点或
者曲线
如果能够从未加标识点的正面人像视频系
列中直接获取面部某些特征点的位移 ,将会更有意
义
本文给出了一种在首帧中确定搜索特征点 ,采
用改进的 KL T ( Kanade
Tomasi) 算法对未加
标识点的人脸正面视频图像进行特征点跟踪 ,进而
求得人脸特征点运动参数的方法
L ucas
本文对其 FC
文献[ 4 ]也对人脸特征约束进行过研究并提出
过相应的改进跟踪算法
KL T 算法的
改进主要在于 :文献[ 4 ]将所有特征点均采用单一基
点约束 ,本文改成对面部各个器官进行基点约束 ,而
器官内部采用近邻约束 ,化解了基点出现跟踪误差
时距离基点较远的点漂移的风险 ;同时不采用对特
征点直接跟踪 ,而是选择以特征点为中心的矩形窗
原稿收到日期 :2003
01
16 ;修改稿收到日期 :2003
媒体技术
要研究方向为计算机视觉、图像处理、视频多媒体技术
建模
程义民 ,男 ,1945 年生 ,教授 ,博士生导师 ,主要研究方向为计算机视觉、图像处理、深度图像分析
05
13
段 鸿 ,男 ,1976 年生 ,博士研究生 ,主要研究方向为计算机视觉、图像处理、多
王以孝 ,男 ,1946 年生 ,副教授 ,主
蔡尚书 ,男 ,1980 年生 ,硕士研究生 ,主要研究方向为计算机视觉、图像处理、三维物体
5
1
082
计算机辅助设计与图形学学报
2004 年
Z =∫∫V
g2
x
gx gy g2
y
gx gy
∫∫V
e =∫∫V
g ( X) g T ( X) d X =
ω( X) d x =
Gx x Gxy
Gxy Gyy
(7)
[ A ( X) - B ( X) ] g ( X)ω( X) d X (8)
则式 (6) 可以表示为
(9)
对于每两帧图像 , 解方程 (9) , 可以求出特征窗
口的位移 d = (Δx ,Δy)
Zd = e
在 KL T 跟踪算法中 ,并不是所有包含纹理信息
的特征窗口都是适合跟踪的 ,对于某特征窗口 ,当其
矩阵 Z 的两个特征值λ1 和 λ2 满足条件 λ2 >λ1 >
λmax时 ,此特征窗口具有较好的跟踪效果
阈值 λmax
与拍摄条件有关 ,可以通过实验来确定
3 基于经验约束的 KL T 跟踪算法
3
1 KLT 算法用于人脸特征点跟踪
人面部的一些特征部位 ,如嘴角 ,鼻孔 ,眉毛边
缘等都可以借助 KL T 跟踪算法进行跟踪 ,如图 1
所示
口中最适合跟踪的点来进行 KL T 跟踪 ,提高了跟踪
的效率
若令
本文方法已经在一台 PIII 800 PC 机上进行了
模拟 ,并获得了令人满意的跟踪效果
2 KL T 算法计算特征点位移
KL T 算法[ 5
6 ]是一种以待跟踪窗口 W 在视频
图像帧间的灰度差平方和 ( Sum of Squared intensity
Differences , SSD) 作为度量的跟踪算法
对于灰度图像 , KL T 算法假设一个包含了特征
纹理信息的特征窗口 W , 在 t 时刻图像帧 I ( x , y , t)
和在 t +τ时刻图像帧 I ( x , y , t +τ) 中的位置满足
I ( x , y , t +τ) = I ( x - Δx , y - Δy , t)
(1)
即在 I ( x , y , t + τ) 中的每个像素点 , 都可以由
I ( x , y , t) 中相应窗口的像素点平移 d = (Δx ,Δy)
得到
KL T 算法的目的就是求出 d
假设 t +τ时刻的特征窗口为 B ( X) = B ( x , y ,
t 时刻的特征
t +τ) ,其中 X = ( x , y) 为视口坐标
窗口为 A ( X - d) = A ( x - Δx , y - Δy , t)
考虑一般情况 ,有
B ( X) = A ( X - d) + n ( X)
(2)
其中 n ( X) 为在时间τ内由于光照条件变化产生的
噪声
将 n ( X) 平方并在整个窗口上积分 , 就得到了
窗口图像的 SSD
ε =∫∫V
∫∫V
n ( X) 2ω( X) d X =
[ A ( X - d) - B ( X) 2 ]ω( X) d X
(3)
其中 , X = [ x , y ] T , d = [ d x , dy ] T ,ω( X) 通常可取
如果强调中心部分纹理的作用 ,ω( X) 可以采
为 1
用高斯分布函数
当 d 为 一 和 X 比 起 来 可 忽 略 的 小 量 时 , 将
A ( X - d) 泰勒展开 ,去除高次项 ,得到
A ( X - d) = A ( X) - g ·d
(4)
将式 (4) 代入式 (3) ,并对式 (3) 的两边同时对 d
求导之后取 0 ,可以得到
ε
d
[ A ( X) - B ( X) - g T d ] ×
=∫∫V
gω( X) d X = 0
(5)
图 1 面部特征点
但是 ,直接采用 KL T 进行人面部特征点跟踪带
来的问题是 :跟踪过程可能常会出现跟踪漂移和跟
如图 2 中圆圈部分所示 ,由于漂移 ,
踪丢失的情况
跟踪点由“ + ”位置跳到了点的位置
跟踪丢失情况
如图 3 所示 ,“ + ”部分为应该出现的跟踪点 ,但跟踪
丢失了
跟踪丢失是由于人面部的运动改变了特征
窗口内的纹理而造成的
此时ε取得极小值
(∫∫V
gg Tωd X) d =∫∫V
式 (5) 可变换为
[ A ( X) - B ( X) ] gωd X
(6)
图 2 跟踪漂移
图 3 跟踪丢失
1
1
1
182
Lucas
Tomasi 算法的人脸特征点跟踪方法
了人脸各特征部位之间的统计信息如表 1 所示[ 7 ] ,
用于协助判断
正是这种基于统计信息的约束 ,使
得人眼在跟踪视频中的人像时 ,很少发生跟踪漂移
和丢失的情况
1
1
1
1
1
1
1
3 期
段 鸿等 :基于 Kanade
3
2 加入经验约束的 KLT 算法
KL T 算法在跟踪特征窗口时 ,仅仅使用了窗口
本身的纹理信息 I ( x , y) 作为跟踪特征
而人在辨
识人像视频时 ,除了注意特征部位外 ,还充分地利用
表 1 面部特征构造关系
与双眼间距离的比值 眼睛宽度 眼睛到鼻间 眼睛到嘴唇 眼睛到下巴尖 鼻子宽度 嘴宽度 嘴高度 眼睛到眉毛
平均值
变动范围
0
0
42
03
0
0
51
05
0
0
88
04
1
0
59
09
0
0
57
05
0
0
70
06
0
0
27
02
0
0
35
05
2
3
1 基准点的选择
可以把这种统计信息看成是两种约束的合成 :
一种是以某个点 (如鼻孔连线的中点) 为主基准点 ,
面部的各个器官相对于这个点的角度和距离约束 ;
另一种是各个器官内部的形状约束 ,同样可以用和
基准点之间的距离角度约束给出
日常生活中所说
的“樱桃嘴”“丹凤眼”即是形状约束
主基准点的选择
鼻孔是人共有的特征器官 ,
在各种表情动作中 ,鼻孔的纹理变化是最小的
在
正常光照条件下 ,采用 KL T 跟踪方法可以保证鼻孔
有较高的跟踪正确率
综合两个鼻孔的情况 ,鼻孔
连线的中点就是最佳的主基准点
各个器官中次基准点的选择
为了保证跟踪的
可靠性 ,一般均选用器官中纹理特性比较明显的部
分 ,如左右嘴角点 、眉毛靠近鼻孔端点 、眼睛靠近鼻
孔的眼角点等
鉴于以上分析 ,以鼻孔连线的中点为原点 ,从左
鼻孔到右鼻孔的连线作为 x 轴建立坐标系 ,这样设
立的坐标系可以防止由于面部的小角度旋转造成跟
踪偏移
在后面的实验中 , 均在此坐标系中讨论
问题
2
3
2 特征窗口的选择
在第 1 节中曾提到 ,并不是所有包含纹理信息
因此对待跟踪的
的特征窗口 W 都是适合跟踪的
以特征点为中心的特征窗口 W 进行如下选择 :
Step1
在第 k 帧中 ,以面部特征点为中心 ,定出一定大
小 (实验中取 20 个像素大小) 的矩形区域
Step2
在此矩形区域中 ,依次计算出以每个像素点为中
心 ,固定大小的特征窗口的特征值 λ1 ,λ2
λ1 = ( Gx x + Gyy +
λ2 = ( Gx x + Gyy -
G2
x x - 2 Gx x Gyy + G2
yy + 4 G2
xy ) / 2
G2
x x - 2 Gx x Gyy + G2
yy + 4 G2
xy ) / 2
(10)
其中 , Gx x , Gyy , Gxy同式 (7)
Step3
按 min (λ1 ,λ2 ) 进行排序 ,选取此值最大的像素
点作为跟踪特征窗口的中心点
(11)
置
征点的位置
3
2
Step4
记录面部特征点和此像素点之间的相对位置 ,作
为 k + 1 帧找回面部特征点的依据
Step5
根据 KL T 算法 ,找出 k + 1 帧中特征窗口的位
根据 Step4 中给出的相对位置 ,得到 k + 1 帧中此面部特
3 改进的 KL T 跟踪算法
对待跟踪的特征点 Ki , 加入基于经验的约束 ,
将用于跟踪的特征空间扩充为{ I ( x , y) , R ji ,θji }
其中 , R ji为基点对该点的距离约束 ,θji为基点对它
的角度约束
如图 4 所示
图 4 距离和角度约束
在式 (8) 的推导过程中强调了 d 必须为一与图
像大小比起来可忽略的小量
KL T 算法的跟踪丢失
和漂移在一定程度上是由于 d 太大造成的
因此必
须借助于经验加入对特征点帧间位移的约束
设 t 时刻特征点 Ki 的坐标为 Ki = ( x i , y i) , 一
此
个跟踪较稳定的特征点 B j 坐标为 B j = ( x j , y j)
时可以求出以 B j 作为基点时对 Ki 点的约束为
R ji = | B j Ki |
θji =π - arccos
| OBj | 2 +| Bj Ki | 2 - | O Ki |
2 | OBj | | Bj Ki |
arccos
x j
| OB j |
(12)
+
(13)
其中 ,θji为 x 轴和向量 B j Ki 之间的夹角
这一约束条件可以应用于 t +τ时刻的跟踪中
对于任何一个特征点 Ki , 加入这一约束后 , 其跟踪
过程变成了一个有约束的迭代过程
282
计算机辅助设计与图形学学报
2004 年
设 t +τ时刻 B j 点坐标为 B′j = ( x′j , y′j ) ,则有
在 t 时刻 ,求出 B j 对 Ki 的距离和角度约束 Rji ,
Step1
θji ;
Step2
Step3
求出 t +τ时刻 B j 点坐标为 B′j = ( x′j , y′j ) ;
使用在 t 和 t +τ时刻图像 ,分别求 Ki 点所在特
其中加入了经验约束的本文 KL T 算法流程如下 :
在首帧中采用文献 [ 7 ]的方法 ,确定需要跟踪的
Setp1
12 个人脸特征点 ,同时记录统计约束{ Rji ,θji } , 1 ≤i , j ≤12 ,
i ≠j
对于稳定 性 最 好 的 特 征 点 ( 如 鼻 孔) , 采 用 第
征窗口的 Z , e ;
3
2
Step4
解 Zd = e 求出 d = (Δx i ,Δyi) , K′i = ( x i + Δx i , yi
+ Δyi) ;
Step5
根据 t 时刻的距离和角度约束 R ji与θji计算出 Ki
的约束位置 K″i ;
if (| K′i K″i | > li)
Step6
{
将 di 修改为 di/ n ,将修正后的 di 值赋给特征窗口
W 的新位置
转 Step2 ;
}
Step7
将 t +τ时刻图像赋给 t 时刻图像
进入下一帧 ,
转 Step1
其中步长阈值 l i 由实验确定 ,通过这个值进行
值过大时约束不明显 , 容易造成跟踪漂
1/ n
经验约束
移 ;值过小时约束太强 , 则容易造成跟踪丢失
是一个缩放系数 ,用于缩小帧间特征点位移
对点 Ki 进行经验约束的原则是 :作为约束基
准点的点必须具有较好的跟踪稳定性 , 同时又要与
Ki 点相关
实验中 , 采用了两个鼻孔中点对左右嘴
角点 、靠近鼻孔的眼角点进行约束 ;然后再采用左右
嘴角点对上下唇中点进行约束 , 采用眼角点对眼睛
的其他特征点进行约束
4 实验及结论
4
1 实验方法
Setp2
2 节的方法选择特征窗口
Setp3
2
Setp4
2 节的流程求出此特征点的位移
按照第 3
以此特征点为约束基准 ,采用基于经验约束的本
文 KL T 算法 ,求出与之相关的所有特征点的位移 ,对部分跟
踪效果较差的特征点可以采用本文方法
Setp5
重复过程 Step2~Step4 ,直到求出所有特征点的
位移
Setp6
θji} ,1 ≤i ,
根据本帧跟踪结果 ,计算新的统计约束量{ Rji ,
j ≤12 ,
进入下一帧
i ≠j
4
2 实验结果及结论
我们在实验室的普通光照条件下 ,采用分辨率
为 240 ×320 的 logitech 摄像机摄取序列图像 ,采用
KL T 算法和基于经验约束的 KL T 算法分别进行跟
踪处理 ,结果如表 2 所示
表 2 几种方法跟踪视频系列 1 (150 帧) 结果统计
实验方法 特征点数 漂移数 丢失数
漂移首个
特征点的
帧位置
丢失首个
特征点的
帧位置
KL T 方法
FC
KL T 方法
约束 KL T
12
12
12
5
2
0
2
0
0
38
41
无
43
无
无
图 5 所示为采用约束 KL T 跟踪算法对实验室
条件下的 150 帧视频的跟踪结果
图 6 所示为采用约束 KL T 跟踪算法对一个 40
帧的表情库系列图的跟踪结果
对视频系列 2 的跟踪结果和理想位置之间的像
素误差情况如图 7 所示
我们分别采用 KL T 算法 ,FC
KL T 算法和本文
的加入了经验约束的 KL T 算法 ,对同一视频系列进
行了跟踪实验比较
可见 ,使用单纯的 KL T 算法进行人脸特征跟踪
容易产生漂移和丢失 ,而使用加入了约束的 KL T 算
法没有产生丢失和漂移 ,跟踪的平均误差仅为 2~3
图 5 约束 KL T 方法对视频系列 1 (150 帧) 的跟踪结果
1
1
1
段 鸿等 :基于 Kanade
Lucas
Tomasi 算法的人脸特征点跟踪方法
382
1
3 期
图 6 约束 KL T 方法对视频系列 2 (40 帧) 的跟踪结果
[ 2 ] Kouadio C , et al
Real
time facial animation based upon a bank
of 3D facial expressions [ A ]
In : Proceedings of IEEE Confer
ence Computer Animation98 , Philadelphia , 1998
128~136
[ 3 ] Demetri Terzopoulos , Keith Waters
Analysis and synthesis of
facial image sequences using physical and anatomical models [J ]
IEEE Transactions on Pattern Analysis and Machine Intelli
gence , 1993 , 15 (6) : 569~579
Fabrice Bourel , Chibelushi Claude C , Low Adrian A
Robust
facial feature tracking [ A ]
In : Proceedings of the 11th British
Machine Vision Conference , Bristol , U K , 2000 , 1 : 232~241
In : Proceedings
Shi J , Tomasi C
Good features to track [ A ]
of IEEE Conference on Computer Vision and Pattern Recogni
[ 4 ]
[ 5 ]
tion , Seattle , 1994
593~600
[ 6 ] Carlo Tomasi , Takeo Kanade
Detection and tracking of point
features [ R]
Pittsburgh , Carnegie Mellon University , CMU
CS
91
132 , 1991
[ 7 ] Yan Chao , Su Guangda
Location and acquisition of characters
Journal of Image and Graphics , 1998 , 3
of human face [J ]
(5) : 375~379 (in Chinese)
(严 超 , 苏光大
形学报 , 1998 , 3 (5) : 375~379)
人脸特征的定位与提取 [J ]
中国图象图
像素 ,可以适应一定范围的光照变化 ,具有较好的结
果
在人脸小角度转动 (左右 ±5°,上下 ±5°) 的范
围 ,分辨率变化不大的实验条件下可以达到 95 %的
跟踪正确率
图 7 实际跟踪结果和理想位置之间的误差统计
该跟踪方法获取的特征点位移数据可用于制作
虚拟主持人 、网络课堂中虚拟教师的表情口型动画 ,
以及虚拟人的表情库等
参 考 文 献
[ 1 ] Duan Hong , Wang Yixiao , Cheng Yiming , et al
Drive muscle
face model using single video [J ]
2003 ,15 (9) : 1268~1271 (in Chinese)
(段 鸿 , 王以孝 , 程义民 , 等
[J ]
系统仿真学报 , 2003 , 15 (9) : 1268~1271)
Journal of System Simulation ,
人脸肌肉模型得单视频驱动