You are on page 1of 37

NGHIÊN CỨU THUẬT TOÁN ICA

VÀ ỨNG DỤNG ƯỚC LƯỢNG ĐỘ


SÂU ẢNH MẶT NGƯỜI.
Họ và tên: Ngô Trường Sơn
Cấp bậc: Đại úy
Chức vụ: Học viên
Đơn vị: Lớp Kỹ thuật điện tử ứng dụng
NỘI DUNG
I. NGHIÊN CỨU THUẬT TOÁN ICA (INDEPENDENT
COMPONENT ANALYSIS)

II. ỨNG DỤNG CỦA ICA VÀO ƯỚC LƯỢNG ĐỘ SÂU ẢNH MẶT
NGƯỜI

III. DEMO

2
I. NGHIÊN CỨU THUẬT TOÁN ICA (INDEPENDENT
COMPONENT ANALYSIS)
Independent Component Analysis (phân tích thành phần độc
lập) là một phương pháp thống kê được xây dựng để tách rời tín hiệu
nhiều chiều thành các thành phần tín hiệu độc lập ẩn sâu bên dưới dữ
liệu. Kỹ thuật này đòi hỏi phải đặt ra giả thuyết tồn tại các nguồn tín
hiệu bên dưới nongaussianity và độc lập thống kê từng đôi một.

3
MỤC ĐÍCH

Tín hiệu gốc Tín hiệu sau trộn


KẾT QUẢ

Tín hiệu sau trộn Tín hiệu phục hồi


1.2. Phân tích thành phần độc lập (ICA)
Để định nghĩa ICA ta có thể dùng mô hình thống kê “làm chậm biến số”-
”latent varialbe”. Giả sử, ta quan sát n tổ hợp tuyến tính của n thành phần
độc lập.

Mô hình ICA
Điều đó có nghĩa là mô hình có thể được viết lại như sau

là ma trận ngược của ma trận . Các thành phần độc lập có thể được tính
bằng công thức:
1.4) 6
*Các điểm không xác định trong ICA:
- Chúng ta không thể xác định được thành phần biến (số cột ma trận
tương quan) của các thành phần độc lập.
- Chúng ta không thể xác định được thứ tự của các thành phần độc
lập.

Ma trận hoán vị và phép biến đổi ngược của nó có thể được thay thế
trong công thức . Các phần tử của là các thành phần biến độc lập gốc ,
nhưng theo thứ tự khác. Ma trận được biết như là một ma trận trộn mới
chưa biết được dùng để giải bài toán ICA.

7
1.3. Sự độc lập thống kê
Xem hai vector ngẫu nhiên với hàm mật độ xác suất riêng biệt , và
hàm mật độ xác suất liên kết là độc lập thống kê nếu và chỉ nếu khi
thỏa mãn:

Xem và là biến đổi phi tuyến nào đó trên hai vector ngẫu nhiên và có
hàm phân bố đã nói ở trên, thì có thể chứng minh được:

8
Phi Gauss là độc lập
Mô hình ICA đặt ra một hạn chế là các thành phần độc lập phải có
tính phi Gauss (non-gaussianity), tức không có phân bố (hàm mật độ xác
suất) là Gauss.
Lý do tính phi Gauss nằm ở chổ là các biến ngẫu nhiên Gauss được
xác định hoàn toàn bởi các thống kê bậc một (trị trung bình) và bậc hai
(phương sai), các thống kê bậc cao hơn bằng 0. Như sẽ thấy ở sau, mô
hình ICA cần các thống kê bậc cao hơn của các thành phần độc lập để
thực hiện sự phân ly (ước lượng các thành phần độc lập). Như vậy, sự
phi tuyến, tính phi Gauss dẫn đến sự độc lập thống kê.

9
1.4. Ước lượng ICA
- Cực đại hóa tính phi Gauss (nongaussianity)
- Ước lượng hợp lý cực đại (maximum likelihood)
- Cực tiểu hoá thông tin tương hỗ (mutual information)…
Ở mô hình ICA vector ngẫu nhiên gồm các biến ngẫu nhiên là trộn
tuyến tính của các vector biến ngẫu nhiên nguồn . Các nguồn được giả sử
độc lập nhau nhưng khi trộn lại (cộng nhau) thì các trộn trở nên gần
Gauss hơn. Nếu việc trộn được đảo ngược lại theo cách nào đó thì các tín
hiệu nhận được sẽ ít Gauss hơn. Do đó ước lượng ICA nhắm đến cực tiểu
hóa tính Gauss tức cực đại hóa tính phi Gauss bởi vì điều này sẽ cho ta
các thành phần độc lập.
10
Ước lượng hợp lý cực đại (maximum likelihood)
Giả định một bộ dữ liệu gồm N quan sát đầu vào là  biết trước
được mô phỏng bởi một phân bố chuẩn (PDF) được đặc trưng bởi
một véc tơ tham số . Tập hợp tất cả những giá trị có thể
của  được gọi là không gian tham số (parameter space)  . Mục
tiêu của ước lượng hợp lý tối đa là tìm kiếm véc tơ tham số  trong
không gian tham số  sao cho giá trị hàm hợp lý là lớn nhất. Lớn
nhất có nghĩa là phù hợp nhất. Thông thường Hàm hợp lý được
ký hiệu là L() là một hàm đối với , hàm số này đo xác suất đồng
thời của tất cả các quan sát thuộc tập dữ liệu đầu vào . Mục tiêu
là đi tìm bộ vector tham số

=P(/ ) 11
Ước lượng hợp lý cực đại (maximum likelihood)
Trong trường hợp các quan sát ngẫu nhiên có phân phối độc lập và xác
định (independent and identically distributed) viết tắt là iid, thì hàm hợp
lý sẽ bằng tích xác suất trên từng quan sát:
𝑁
𝐿 ( 𝜃 )= 𝑃 ( 𝐷|𝜃 )=𝑃 ( { 𝑥 1 , 𝑥2 , …. , 𝑥 𝑁 }|𝜃 ) =∏ 𝑃 ( 𝑥 𝑖|𝜃 )
𝑖=1

Bộ véc tơ tham số   phù hợp nhất là nghiệm của bài toán tối ưu hàm hợp
lý:
^
𝜃=arg max L ( 𝜃 )
𝜃

12
Ước lượng hợp lý cực đại (maximum likelihood)
Giải bài toán MLE
- Tìm ln của hàm hợp lý , sau đó xét trường hợp đạo hàm của hàm này
bằng 0
^
𝜃=arg max lnL ( 𝜃 )
𝜃

Trong trường hợp các quan sát ngẫu nhiên có phân phối độc lập và xác
định (independent and identically distributed)
𝑁 𝑁
^𝜃=arg max lnL( 𝜃 )=arg max 𝑙𝑛 𝑃 𝑥 𝜃 ¿arg 𝑚𝑎𝑥 𝑃 𝑥 𝜃
𝜃 𝜃
∏ ( 𝑖| ) ∑ ( 𝑖| )
𝑖=1 𝑖=1
13
FastICA cho một đối tượng
FastICA dựa trên mô hình điểm cố định được lập đi lập lại nhiều lần
nhằm tìm ra giá trị cực đại của .
+ Bước 1: Chọn một vector ngẫu nhiên
+ Bước 2:

Nếu không hội tụ thì quay lại bước 2


Hội tụ có nghĩa là giá trị mới và cũ của điểm phải có cùng hướng ,
tích vô hướng của chúng là 1. Tuy nhiên thực tế ta chọn ngưỡng hội tụ
Sig cho trước sao cho:

Trong đó g là đạo hàm của các hàm G1, G2, G3 14


1.5. Tiền xử lý ICA
Qui tâm
Nếu các tín hiệu chưa có kỳ vọng bằng 0 ta thực hiện phép qui tâm tức
là trừ phân bố của các biến ngẫu nhiên với các kỳ vọng của chúng:

trong đó là vector ngẫu nhiên chưa có kỳ vọng bằng 0. Sau khi đã ước
lượng ma trận và các thành phần ta có thể thêm trở lại các kỳ vọng của
chúng. Khi vector ngẫu nhiên (hoặc ) có kỳ vọng bằng 0 thì hiệp
phương sai và tương quan của nó giống nhau.

15
1.5. Tiền xử lý ICA
Trắng hóa
Giả sử ta có vector ngẫu nhiên bất tương quan, tức là xuyên phương sai
của các phần tử bằng 0, dẫn đến ma trận hiệp phương sai là ma trận
chéo có các số hạng chéo tương ứng với các phương sai của các phần tử
của . Nếu các phương sai này được cho bằng 1, nghĩa là ma trận hiệp
phương sai được cho bằng với ma trận đơn vị thì vector ngẫu nhiên là
trắng:

Việc làm trắng là một biến đổi tuyến tính

Trong đó là dữ liệu cần làm trắng, là ma trận làm trắng, là dữ liệu


đã trắng hóa 16
1.5. Tiền xử lý ICA
Trắng hóa
Sau khi đã ước lượng ma trận trắng hóa, thì việc ước lượng các thành
phần độc lập trở thành:
trong đó là khả đảo.
Với các ma trận vuông việc lấy nghịch đảo rất thuận lợi. Sau khi có
được , việc ước lượng ma trận gốc cho bởi

Suy ra
Do trực giao nên

17
II. ỨNG DỤNG CỦA ICA VÀO ƯỚC LƯỢNG ĐỘ SÂU
ẢNH MẶT NGƯỜI
Phiên bản thứ ba của mô hình CANDIDE,
được gọi là CANDIDE-3, bao gồm 113 đỉnh và
168 bề mặt tam giác, như thể hiện trong Hình
1. Mỗi đỉnh được biểu diễn bằng tọa độ 3-D
của nó. Xem xét các giá trị độ sâu (tọa độ z)
của mô hình CANDIDE như một đầu vào của
cICA (constrained ICA – ICA có điều kiện),
bài toán ICA không đầy đủ có thể được chuyển
đổi thành bài toán cICA thông thường

18
2.1. Xây dựng mô hình cICA
Giả sử rằng n điểm đặc trưng được đánh dấu trên các hình ảnh khuôn
mặt.đại diện cho điểm đặc trưng thứ i của một mô hình mặt 3-D xem
trực diện M và ) là điểm đặc trưng thứ i của mặt 2-D không nhìn trực
diện q. Ma trận quay đối với q được cho như sau:

[ ][ ][ ][ ]
𝑐𝑜𝑠𝜙 𝑠𝑖𝑛𝜙 0 𝑐𝑜𝑠𝜓 0 −𝑠𝑖𝑛𝜓 1 0 0 𝑟 11 𝑟 12 𝑟 13
𝑅= −𝑠𝑖𝑛𝜙 𝑐𝑜𝑠𝜙 0 × 0 1 0 × 0 𝑐𝑜𝑠𝜃 𝑠𝑖𝑛𝜃 = 𝑟 21 𝑟 22 𝑟 23
0 0 1 𝑠𝑖𝑛𝜓 0 𝑐𝑜𝑠𝜓 0 −𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 𝑟 31 𝑟 32 𝑟 33
19
2.1. Xây dựng mô hình cICA

( )
𝑀

( ) ( ) ( )
𝑥𝑖
𝑞𝑥 𝑟 11 𝑟 12 𝑟 𝑡𝑥
𝑖
=𝑘 13
𝑀 𝑦𝑖
+
𝑞𝑦 𝑟 21 𝑟 22 𝑟 23 𝑡𝑦
𝑖
𝑀 𝑧𝑖

Dạng ma trận của có thể được viết như sau:

Về phương pháp tiếp cận căn chỉnh hình dạng, có thể bị loại bỏ nếu cả
và đều có tâm tại điểm gốc, tức là

20
2.1. Xây dựng mô hình cICA
Cho n tín hiệu hỗn hợp đối với bài toán ICA quá đầy đủ, một cách tiếp
cận để giải bài toán là ước lượng ma trận trộn và m tín hiệu nguồn
hoặc thông qua ước lượng khả năng tối đa xảy ra (ML). Cho trước và
một ma trận trộn ban đầu , ước lượng ML của các tín hiệu nguồn có
thể được đưa ra bởi

𝐴= ∑ 𝑥( 𝑡 ) 𝑥 (𝑡 ) ∑ 𝑥 (𝑡 ) 𝑠 (𝑡 )
𝜏 −1
( )
𝜏

𝑡 𝑡
21
2.1. Xây dựng mô hình cICA
Dựa trên những xem xét ở trên, cICA là một cách tiếp cận phù hợp để
ước lượng cấu trúc 3-D. Ký hiệu y là tín hiệu ước tính của , tức là:

trong đó là ma trận không trộn. Trong thuật toán cICA, entropy âm ()


được sử dụng như một hàm tương phản và cICA được xây dựng như một
bài toán tối ưu hóa có điều kiện như sau:

Sử dụng hệ số nhân Lagrange ta có:

22
2.1. Xây dựng mô hình cICA
Trong mỗi lần lặp, sự thay đổi của hệ số nhân và được cho bởi:

trong đó và là tốc độ học tập (Sử dụng trong học máy). Gradient của
đối với được cho như sau:

trong đó , và là đạo hàm của đối với . Quy tắc học tập giống Newton
của có thể được đưa ra bởi:

23
2.2. Xây dựng mô hình và khởi tạo ma trận hủy trộn
Chúng ta sử dụng các giá trị độ sâu của các điểm đặc trưng trong mô
hình CANDIDE như một hỗn hợp. Sau đó, và được kết hợp để tạo
thành đầu vào của thuật toán cICA. Công thức:

{ ( )
𝑧𝑐
𝑄=
𝑞 𝑦 =𝑤 𝑄
𝑦 =𝑤 𝑞

là hỗn hợp chứa đủ thông tin về độ sâu


Theo giả thiết này, số lượng tín hiệu nguồn bằng số lượng tín hiệu hỗn
hợp. Do đó, mô hình cICA đã xây dựng trở thành một bài toán ICA bình
thường chứ không phải là một bài toán quá đầy đủ.
24
2.2. Xây dựng mô hình và khởi tạo ma trận hủy trộn
Thuật toán cICA
Vì mô hình CANDIDE là mô hình mặt 3-D chung, các giá trị độ sâu của
nó phù hợp để lấy làm tín hiệu tham chiếu. Trước tiên, chúng tôi trừ giá
trị trung bình của , từ , tức là:

trong đó là vectơ 1 x p sao cho tất cả các phần tử đều là . Sau đó, các
dấu hiệu của được sử dụng làm tín hiệu tham chiếu , tức là

trong đó sign (.) là hàm dấu hiệu (hàm lẻ)

25
2.2. Xây dựng mô hình và khởi tạo ma trận hủy trộn
Đánh giá Thuật toán cICA

Vị trí của 22 điểm đặc trưng được đánh dấu trong cơ sở dữ liệu 26
2.3. Tích hợp mô hình cho nhiều hình ảnh khuôn mặt không nhìn trực diện

Đối với hình ảnh khuôn mặt không trực


diện, đặc điểm hình dạng được kết hợp
với để tạo thành đầu vào của thuật
toán cICA. Sau đó, tín hiệu độ sâu có
thể được xác định bằng thuật toán
cICA. Giá trị trung bình của được tính
như sau:

được sử dụng làm tín hiệu hỗn hợp để


thay thế .

27
2.3. Tích hợp mô hình cho nhiều hình ảnh khuôn mặt không nhìn
trực diện

Các bước cụ thể của phương pháp được đưa ra như sau:
- Bước 1: Đặt số lần lặp tối đa ().
- Bước 2: Khởi tạo các giá trị độ sâu và thu được tín hiệu tham
chiếu bằng cách sử dụng các giá trị độ sâu của 22 điểm đặc trưng được
cung cấp bởi mô hình CANDIDE
- Bước 3: Đối với mỗi hình ảnh khuôn mặt đào tạo, đặc điểm hình
dạng của các điểm đặc trưng và được kết hợp để tạo thành đầu vào của
mô hình cICA.

28
2.3. Tích hợp mô hình cho nhiều hình ảnh khuôn mặt không nhìn
trực diện
- Bước 4:
+ Tính toán ma trận không trộn ban đầu theo
trong đó là nghịch đảo tổng quát Moore-Penrose của
+ Cập nhật ma trận không trộn

+ Tính toán các giá trị độ sâu ước tính y bằng cách sử dụng

29
2.3. Tích hợp mô hình cho nhiều hình ảnh khuôn mặt không nhìn
trực diện
- Bước 5: Tính toán các giá trị trung bình tương ứng của độ sâu của
các điểm đặc trưng như được ước lượng cho tất cả các hình ảnh đào tạo,
sau đó thay thế .
Các bước 3-5 được lặp lại cho đến khi số lần lặp đạt đến giá trị lớn
nhất được xác định trước .

30
2.4. Kết quả thực hiện

31
Hệ số tương quan của giá trị độ sâu thực và giá trị ước lượng thu được với
hình ảnh khuôn mặt người khác nhau cho FastICA, gICA, SM, và cICA
  PR_D PR_SD PR_SU PR_U YR_RW
FastICA 0,7776 0,7657 0,4807 0,7750 0,7593 0,7117±0,1293
glCA 0,6651 0,6340 0,6001 0,5583 0,6414 0,6198±0,0415
SM 0,9312 0,2270 0,5665 0,7540 0,6201 0,6198±0,2608
cICA 0,8822 0,8805 0,8775 0,8758 0,8789 0,8790±0,0025

32
Gía trị trung bình và độ lệch chuẩn thu được bằng 5 phương pháp và hệ
số lương quan của 105 đối tượng
 
FastICA 0,4965 0,2251
glCA 0,4048 0,2006
SM 0,4920 0,2620
cICA 0,8396 0,0631
cICA_MI (Không lặp lại) 0,8376 0,0664
clCA_MI 0,8708 0,0599
0,8375 0,0549

33
DEMO TRÊN MATLAB (DEMO ICA)
1. MLE

2. ICA

3. DEPT ESTIMATION VIDEO

34
DEMO TRÊN MATLAB (DEMO ICA)
3. DEPT ESTIMATION VIDEO

35
DEMO TRÊN PYTHON (DEEP FACE)
: Không gian chứa nền xung quanh ảnh (NEGATIVE SHAPE)

36
THANK YOU !!!!
Họ và tên: Ngô Trường Sơn
Cấp bậc: Đại úy
Chức vụ: Học viên
Đơn vị: Lớp Kỹ thuật điện tử ứng dụng

You might also like