基于仿射变换的人脸对齐的实现方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于仿射变换的人脸对齐的实现方法报告

1.仿射变换(Affine Transform)的定义:

仿射变换是空间直角坐标变换的一种,它是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性”( straightness ,即变换后直线还是直线不会打弯,圆弧还是圆弧)和“平行性”( parallelism ,即保持二维图形间的相对位置关系不变,平行线还是平行线,相交直线的交角不变)。仿射变换可以通过一系列的原子变换的复合来实现,包括:平移(Translation )、缩放(Scale )、翻转(Flip )、旋转(Rotation )。

2.二维仿射变换的几何特征

1) 仿射变换的逆变换,仍是仿射变换。

2) 仿射变换是线性变换,直线段仿射变换后仍然是直线段,并且保持线段上点的定比关系不变。

3) 两条平行直线经过仿射变换后,仍可保持其平行性。

4)任意平面图形经仿射变换后,其面积将发生变化,为变化前的( ad - bc)倍。只有当( ad - bc) = 1时,面积在仿射变换前后才不变。

3.二维仿射变换的数学表达式

二维仿射变换的数学表达式为

''''

x ax by c

y dx ey f ⎧=++⎨=++⎩

(1) 其中, x ′和y ′是变换前像素的坐标值, x 和y 是变换后像素的坐标值; a, b, c, d, e,

f 是仿射变换系数

由一个线性变换接上一个平移组成: x Ax b →+。在有限维的情况,每个仿射变换可以由一个矩阵A 和一个向量b 给出,它可以写作A 和一个附加的列b 。一个仿射变换对应于一个矩阵和一个向量的乘法,而仿射变换的复合对应于普通的矩阵乘法,只要加入一个额外的行到矩阵的底下,这一行全部是0除了最右边是

一个1:0...01A b ⎡⎤⎢⎥⎣⎦,而列向量的底下要加上一个1:1x y ⎡⎤

⎢⎥⎢⎥⎢⎥⎣⎦ 将方程(1)写成向量形式有:

''''''0 (000)

111111a b c x x x x d e f M y y A b y y ⎡⎤

⎡⎤⎡⎤

⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥

⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎣⎦⎣⎡⎤⎦⎦

⎢⎥⎣ (2)

4.仿射变换在人脸对齐中的应用及参数求解

为了将人脸库中的人脸进行对齐,我们先计算出平均脸,然后只要将库中每幅头像的眼睛、鼻子、嘴巴调到和平均脸相对应的同一个位置就可以。而这一过程需要进行移、缩放、翻转、旋转等一系列的变换,而这一过程正是二维仿射变换。根据二维仿射变换模型(即式(2))可知,在已知平均脸上特征点和相对应人脸库的特征点的条件下,我们就可以解出变换矩阵M 。 (),T

i i x y 平均脸上第i 个特征点的坐标,(

)

'

'

,i i

T

x y 为人脸库中对应第i 个点的坐标。

''''''0...001111011i i i i i i i i x A x x x a b c d e f M y y y b y ⎡⎤

⎡⎤⎡⎤

⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥

⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢

⎥⎣⎡⎤⎢⎥⎣⎦⎣⎦⎦⎣⎦⎣⎦⎣⎦

(3) 式(3)包含如下两个方程:

''''i i i i

i i x ax by c y dx ey f ⎧=++⎨=++⎩ (4)

式(4)表示,如果平均脸上选定有n 个特征点,并已知它们的空间坐标(),T

i i x y 与它们在人脸库中对应特征点坐标(

)

''

,i i

T

x y ,就可以采用直接线性变换方式来解出M 矩阵元素。对

于n 个特征点,则有2n 个关于M 矩阵元素的线性方程,下面用矩阵形式写出这些方程:

111111222222''001000''01''001000''01.....................''001000''

1n n n n n n x x y a y x y b x x y d y x y e c x y x f x y y ⎛⎫⎛⎫⎛⎫ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪=

⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭

⎪ ⎪⎝

⎝⎭ (5) 这些未知元素的个数为6个,记为6维向量h ,将上式简写成

U Kh = (7)

其中,K 为(5)式左边2n ×6矩阵;(,,,,,)T

h a b c d e f =为未知的6维向量;U 为式(5)左边的2n 维向量;K ,U 为已知向量。对于式(7),可以利用最小二乘法求出线性方程的解为

1()T T h K K K U

-= (8)

由上可见,由头像中3个以上特征点与它们对应的人脸库中特征点坐标就可求出向量h,也即变换矩阵M 。在我们取特征点时,人脸上可以取数十个已知特征点,使方程的个数大大超过未知数的个数,由此得到一个超定方程,从而用最小二乘法求解以降低误差造成的影响。

相关文档
最新文档