LUẬN VĂN:TÁI TẠO MÔ HÌNH KHUÔN MẶT TỪ CÁC ĐIỂM ĐẶC TRƯNG
3,764
262
72
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
34
3.2 Chuẩn hóa dữ liệu
Ở bước đầu tiên này, hệ thống nhận đầu vào là tọa độ 3 chiều của các điểm đặc
trưng trên khuôn mặt đích. Tập tọa độ này được trích xuất ra bằng phương pháp đo
độ
dày mô trên hộp sọ hoặc từ các ảnh 2 chiều nên chúng được đặt ở trong một hệ
trục tọa
độ khác. Chúng tôi sử dụng một số phép biến đổi trong không gian ba chiều để đưa
tập
tọa độ này về hệ tọa độ tương đương với hệ tọa độ mà chúng tôi dùng để biểu diễn
mô
hình khuôn mặt nguồn.
3.2.1 Các phép biến đổi trong không gian ba chiều đƣợc sử dụng
Chúng tôi sử dụng các phép biến đổi: phép tịnh tiến, phép tỉ lệ và phép quay
trong không gian ba chiều. Tọa độ các điểm được biểu diễn theo tọa độ đồng nhất,
nghĩa là chúng tôi sẽ dùng tọa độ (x, y, z, 1) thay cho tọa độ (x, y, z). Bằng
cách này
chúng tôi có thể dễ dàng biểu diễn các phép biến đổi ở dạng các phép tính với ma
trận.
Giả sử chúng ta cần biến đổi điểm P về điểm P’ theo:
Phép tịnh tiến theo vec-tơ tịnh tiến là (t
x
, t
y
, t
z
). Khi đó phương trình phép tịnh
tiến như sau (T là ma trận của phép tịnh tiến):
=
1
= T. P =
1 0 0
0 1 0
0 0 1
0 0 0 1
.
1
Phép tỉ lệ: S là ma trận của phép tỉ lệ theo hệ số (s
x
, s
y
, s
z
):
=
1
= S. P =
0 0 0
0
0 0
0 0
0
0 0 0 1
.
1
Phép quay: Khi thực hiện phép quay trong không gian ba chiều, ta cần phải
biết trục quay và góc quay. Chiều của góc quay được xác định theo chiều cùng
chiều kim đồng hồ (chiều âm) và ngược chiều kim đồng hồ (chiều dương) khi
mắt nhìn dọc theo trục quay (ta sẽ gọi đó là hướng nhìn). Ví dụ phép quay
minh họa ở Hình 16 là phép quay theo chiều dương, trục quay Ox và hướng
nhìn là theo hướng âm của trục Ox.
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
35
Hình 16. Phép quay chiều dương, trục quay Ox, hướng nhìn là hướng âm trục Ox
Phép quay quanh các trục tọa độ
Ta xét các phép quay một góc θ theo các trục Ox, Oy, Oz khi hướng nhìn là
hướng âm của trục đó.
o Phép quay quanh trục Ox
=
= . z. sin
z
= y. sin+ z. cos
Vì vậy =
1
=
. P =
1 0 0 0
0 0
0 0
0 0 0 1
.
1
o Phép quay quanh trục Oy
= . + z. sin
=
z
= x. sin+ z. cos
Vì vậy =
1
=
. P =
0 0
0 1 0 0
0 0
0 0 0 1
.
1
o Phép quay quanh trục Oz
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
36
= . y. sin
= . + y. cos
z
= z
Vì vậy =
1
=
. P =
0 0
0 0
0 0 1 0
0 0 0 1
.
1
Phép quay quanh một trục song song với trục tọa độ
Giả sử trục quay song song với trục Ox (các trường hợp còn lại tương tự), ta
thực hiện lần lượt các phép biến đổi sau:
1. Áp dụng phép tịnh tiến T để đưa trục quay về trục Ox
2. Áp dụng phép quay R() quanh trục Ox với góc
3. Áp dụng phép tịnh tiến T
-1
để đưa trục quay về vị trí ban đầu
Phép quay quanh một trục bất kì
Giả sử trục quay là một đường thẳng d đi qua hai điểm P
1
(x
1
, y
1
, z
1
) và
P
2
(x
2
, y
2
, z
2
). Để thực hiện phép quay R()quanh đường thẳng d một góc
theo hướng nhìn từ điểm P
2
tới P
1
. Ta thực hiện lần lượt các phép biến đổi
sau:
1. Áp dụng phép tịnh tiến để đưa trục quay về vị trí đi qua gốc tọa độ.
2. Áp dụng phép quay để đưa trục quay về vị trí trùng với một trục tọa
độ, ví dụ là Oz.
3. Áp dụng phép quay vật thể quanh trục quay (trục tọa độ).
4. Áp dụng phép quay đưa trục quay về vị trí tại bước (ii).
5. Áp dụng phép quay đưa trục quay về vị trí ban đầu.
Quá trình được minh họa trong Hình 17:
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
37
Hình 17. Phép quay quanh một trục bất kì
Ta cần tìm ma trận biến đổi của từng phép biến đổi theo từng bước
Bước 1: Tịnh tiến đưa điểm P
1
về gốc tọa độ bằng cách tịnh tiến theo
vec-tơ (-x
1
, -y
1
, -z
1
), đoạn thẳng P
1
P
2
chuyển thành P
1
’P
2
’. Ma trận
phép biến đổi là:
T =
1 0 0
1
0 1 0
1
0 0 1
1
0 0 0 1
Bước 2: Đây là bước phức tạp nhất, đưa trục quay P
1
’P
2
’ về trùng với
một trục tọa độ, ta chọn đó là trục Oz. Để thuận tiện ta sẽ chọn vec-tơ
đơn vị
thuộc đường thẳng P
1
’P
2
’ và có hướng trùng với hướng của
vec-tơ = P
1
’P
2
’ như sau:
= P
1
’P
2
’= P
1
P
2
= (x
2
-x
1
, y
2
-y
1
, z
2
-z
1
).
=
=
, ,
và
=
2
+
2
+
2
2
= 1
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
38
Mục đích bây giờ là ta phải đưa
về trục Oz bằng cách áp dụng hai phép
quay sau:
i. Quay một góc α quanh trục Ox đưa
về vị trí vec-tơ
nằm trên
mặt phẳng xOz.
ii. Quay một góc β quanh trục Oy đưa
về vị trí u
z
thuộc trục Oz.
Quá trình được minh họa trong Hình 18
Hình 18. Quay vec-tơ
về trục Oz
Độ lớn của góc α chính bằng góc giữa vec-tơ
(0, , ) (hình chiếu
của
lên mặt phẳng yOz)và chiều dương trục Oz như trong Hình 19
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
39
Hình 19. Cách tính góc α
Dễ thấy cos =
, =
với =
=
2
+
2
. Sau phép
quay một góc quanh trục Ox (Hình 18)
thành
. Hoành độ của
bằng x (vì phép quay quanh Ox không làm thay đổi hoành độ),
tung độ của
bằng 0 và cao độ của
bằng d (chính là độ dài của
).
=
1 0 0 0
0 0
0 0
0 0 0 1
=
1 0 0 0
0
0
0
0
0 0 0 1
Tương tự ta có =
u
z
u
z
= (chú ý:
=
u
z
= 1).
Theo định nghĩa tích có hướng của hai vec-tơ ta có:
.
=
.
.
.
Mặt khác
.
=
. () do đó = . Từ đó, ta có:
=
0 0
0 1 0 0
0 0
0 0 0 1
=
0 0
0 1 0 0
0 0
0 0 0 1
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
40
Bước 3: Áp dụng phép quay một góc quanh trục Oz
=
0 0
0 0
0 0 1 0
0 0 0 1
Bước 4 và bước 5: Áp dụng các phép biến đổi ngược, đưa đường thẳng
d về vị trí ban đầu.
Tóm lại ta có phương trình ma trận kết hợp các phép biến đổi như sau:
= T
1
. R
Ox
1
. R
Oy
1
.
.
.
. T
3.2.2 Sử dụng các phép biến đổi để chuẩn hóa dữ liệu
Mục đích của chúng tôi là đưa các điểm đặc trưng bên khuôn mặt đích về hệ tọa
độ và theo đúng hướng nhìn chính diện tới khuôn mặt ở bên khuôn mặt nguồn. Chúng
tôi chọn 3 điểm S
u
, S
v
, S
k
(điểm đỉnh mũi, điểm đỉnh trán, điểm đỉnh cằm) trong tập S
là tập các điểm đặc trưng nguồn và 4 điểm T
u
, T
v
, T
k
, T
t
(điểm đỉnh mũi, điểm đỉnh
trán, điểm đỉnh cằm và điểm ở thái dương) trong tập T là tập các điểm đặc trưng
đích
làm mốc. Các điểm này được khoanh tròn xanh như ở Hình 20.
Hình 20. Chọn 4 điểm mốc để chuẩn hóa dữ liệu qua các phép biến đổi 3D
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
41
Sử dụng các phép biến đổi trong không gian ba chiều ở trên, chúng tôi tiến hành
các bước như sau:
Bước 1 dùng phép tịnh tiến: Tịnh tiến cả tập điểm T theo
, chúng tôi
sẽ có tập điểm mới trong đó điểm T
u
có cùng tọa độ với S
u
.
Bước 2 dùng phép tỉ lệ: Lấy điểm T
u
làm mốc, chúng tôi đưa tất cả các điểm
T
i
còn lại theo hướng
theo tỉ lệ
. Sau đó chúng tôi sẽ thu được
tập các điểm mới sao cho
=
.
Bước 3 dùng phép quay: Chúng tôi xác định phép quay với trục là vec-tơ
pháp tuyến của mặt phẳng (T
u
, T
v
, S
v
) gốc tại T
u
và xác định góc quay sao
cho nếu áp dụng với T
v
thì T
v
quay về trùng với S
v
(lúc này đã có
=
sau bước trên). Sau khi xác định được phép quay chúng tôi áp dụng
phép quay này cho tất cả các điểm T
i
của tập T. Sau bước này chúng tôi có
thêm T
v
trùng S
v
.
Bước 4 dùng phép quay: Chúng tôi xác định phép quay với trục là
và
xác định góc quay sao cho nếu áp dụng với T
k
thì T
k
quay về nằm lên trên
mặt phẳng , tọa độ z của T
k
< tọa độ z của T
u
và áp dụng với T
t
thì
tọa độ z của T
t
< tọa độ z của T
u
. Sau khi xác định được phép quay chúng tôi
áp dụng phép quay này cho tất cả các điểm T
i
của tập điểm T.
Cuối cùng chúng tôi có được tập các điểm có tọa độ được chuẩn hóa theo hệ tọa
độ mà hệ thống sử dụng. Dữ liệu tọa độ này được đưa vào bước biến đổi khuôn mặt.
3.3 Biến đổi khuôn mặt
Ở bước này, chúng tôi sử dụng một mô hình khuôn mặt chuẩn làm mô hình
khuôn mặt nguồn. Đơn vị biến đổi dùng mô hình đa mạng hàm cơ sở bán kính, Radial
Basis Functions (RBF). Đơn vị này nhận đầu vào là mô hình khuôn mặt nguồn cùng
các điểm đặc trưng trên khuôn mặt nguồn và các điểm đặc trưng trên khuôn mặt
đích
tương ứng. Các mạng RBF được huấn luyện bởi 2 tập điểm đặc trưng này. Sau đó,
chúng ánh xạ mô hình khuôn mặt nguồn qua các hàm RBF được xây dựng để có mô
hình khuôn mặt đích.
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
42
3.3.1 Mô hình khuôn mặt nguồn
Chúng tôi sử dụng phương pháp biểu diễn mô hình khuôn mặt với lớp da là lưới
tam giác như đã trình bày ở mục 2.2.1. Ưu điểm của việc biểu diễn bằng lưới đa
giác
là các tính toán về bề mặt lưới đa giác như xác định một phần hay toàn bộ một
vật thể
nằm trong một khoảng không gian, tìm ra các bề mặt ẩn, và xác định độ bóng của
các
bề mặt nhìn thấy đã được giải quyết bởi nhiều thuật toán đồ họa (Mahl, 1972;
Weiss,
1966) [23][35]. Và hơn nữa là về mặt tốc độ; các thuật toán này nhanh hơn, tiết
kiệm
hơn và mang đến hiệu quả dựng mô hình nhanh chóng với máy tính thông thường với
dung lượng, tốc độ xử lý thấp.
Cụ thể hơn chúng tôi xây dựng lớp da một khuôn mặt nguồn với các đa giác là
các tam giác. Để biểu diễn khuôn mặt, hệ thống sử dụng 2638 đỉnh và 5014 tam
giác
nối giữa các đỉnh. Với số lượng đỉnh và tam giác khá lớn như vậy lớp da khuôn
mặt
được biểu diễn khá mịn, đẹp và đủ cho việc đánh dấu tất cả các điểm đặc trưng
tại mọi
vị trí. Vì mặt người gần như đối xứng nên chúng tôi xây dựng nửa mặt bên trái
rồi lấy
đối xứng để hoàn thiện nốt bên phải. Nửa bên trái Hình 20 biểu hiện mô hình
khuôn
mặt nguồn hệ thống sử dụng.
Việc sử dụng mô hình khuôn mặt biến đổi để thể hiện một mô hình khuôn mặt
mới thay cho việc sử dụng chính bản thân mô hình mới có nhiều ưu điểm:
Giữ được một mô hình khuôn mặt cố định với số đỉnh và số đa giác xác định
trước.
Sử dụng lại được các thông số trên mô hình khuôn mặt cố định trước.
Sử dụng lại những thông tin về các vùng trên mô hình khuôn mặt để nâng cao
hiệu quả của biến đổi.
3.3.2 Biến đổi mô hình khuôn mặt
Chọn và huấn luyện mô hình đa mạng RBF:
Chúng tôi sử dụng ba mạng RBF để lấy ánh xạ một đỉnh trên mô hình khuôn mặt
nguồn sang một đỉnh trên mô hình khuôn mặt đích cần xây dựng với ba giá trị tọa
độ
trong không gian 3 chiều. Các mạng này được huấn luyện bằng tập các điểm đặc
trưng.
, ,
(
,
,
)
Chương 3. Hệ thống tái tạo mô hình khuôn mặt từ các điểm đặc trưng Nguyễn Đình
Tư
43
Mỗi RBF có dạng là một hàm f như sau:
f(
) =
=1
(
) (1)
Trong đó:
n: là số lượng các đầu vào của tập huấn luyện.
: là vector
, O là gốc tọa độ
: là trọng số của mạng, cần được xác định dựa vào tập huấn luyện.
: là hàm cơ bản, áp dụng phương pháp rất thành công của Noh và Neumann
[25].
(p
i
) =
2
+
2
.
Với:
: khoảng cách ngắn nhất từ các điểm
đến điểm
,
=
,
(Eck[14] đề xuất)
Như vậy ta có thể thấy các
là tính được ngay ban đầu từ 2 tập điểm đặc trưng.
Bây giờ chúng ta cần tính các
để xác định được hàm f.
Tính các
bằng cách huấn luyện mạng 3 lần với các tọa độ 3 chiều của các
điểm đặc trưng trên khuôn mặt gốc với tọa độ 3 chiều của các điểm đặc trưng trên
khuôn mặt đích.
Ta xét
= (
1
,
2
, ,
). Gọi C(
) là hàm chi phí của
. Phương pháp này sử
dụng thêm một hệ số λ để cực tiểu hóa hàm chi phí C(
):
C(
) =
+
(2)
Trong đó:
: là vector sai số của chênh lệch giữa giá trị thực tế và giá trị tính toán
được,
=
và
=
(
).
Tham số quy tắc được thêm vào để tránh trọng số vượt quá mức.
Thay vào trong đẳng thức (2) và lấy đạo hàm của C(
) theo
ta có:
=
1
(3)
Trong đó A =
+ với I là ma trận đơn vị.