Người thuyết trình:
Nguyễn Hữu Tân
/>06/01/2009
Giới thiệu về đề tài
Yêu cầu:
Xây dựng thuật toán nhận dạng cảm xúc
Cải tiến thuật toán nhận dạng cảm xúc dựa trên PCA hiện có.
Xây dựng thuật toán nhận dạng cảm xúc mới dựa theo mô hình
AAM &tương quan điểm.
Xây dựng thuật toán nhận dạng cảm xúc mới dựa theo mô hình
AAM và mạng neural 3 lớp.
Tích hợp nhận dạng cảm xúc để điều khiển robot đa hướng (phần mở rộng)
Tổng quan về nhận dạng cảm xúc
Vai trò của cảm xúc
Đóng vai trò quan trọng trong việc thể hiện thông tin, tính
cách…..
Góp phần xây dựng các mối quan hệ của con người.
Là thành phần quan trọng trong việc xây dựng các hệ thống
người-máy.
Thể hiện tình cảm của con người …..
Ứng dụng của nhận dạng cảm xúc
Xây dựng hệ thống điều khiển thiết bị cho người tàn tật.
Kiểm tra tính chân thật của thông tin
Kết hợp với nhận dạng góc quay của mặt để thêm tín hiệu điều
khiển.
Điều khiển robot v…..v
Phân loại các phương pháp nhận diện cảm xúc
Theo thuật toán nhận dạng
Gabor Wavelets
SVD (Support Vector Machine)
PCA (Principle Component Analysis)
Face Modelling (AAM, WASM, ASM, RANSAC)….
Xét tương quan điểm (Points Correlation)
Sử dụng ảnh nhiệt
Kết hợp
Phân loại theo lớp nhận dạng
Theo đơn vị vận động AU (action units ) - FACs
Mặt người => 46 Aus
1 cảm xúc = sự kết hợp nhiều AUs
Theo mô hình (prototype) (AAM, ASM, RANSAC)
I.Nhận diện cảm xúc dựa trên PCA truyền
thống
Công trình liên quan: “Nhận diện cảm xúc mặt người” – LV.ThS- Trịnh Minh Khôi -2007
Xây dựng một tập các trị riêng (S1, S2,…Sk)cho các hình huấn
luyện .Mỗi trị riêng: mang 1 số điểm điểm đặc trưng của khuôn mặt.
Mã hóa hình ảnh: 1 ảnh 1 tổ hợp hệ số
b1
=
I
b2
+ 5.7*
Hình trung bình
bk
+ …+ 04*
S1
Sk
1 cảm xúc 1 nhóm các hình ảnh trong tập huấn luyện.
I.Nhận diện cảm xúc dựa trên PCA truyền thống
I ⇔ (b , b ,...., b )
I ⇔ (b , b ,...., b
,...., b
)
,...., b
I ⇔ (b , b
I ⇔ (b , b
bth _ 1
bth _ 1 _ 1
bth _ 2
bth _ 2 _ 1
bth _ 1 _ 2
bth _ 2 _ 2
bth _ 1 _ k
bth _ 2 _ k
........
I
I
I
vui _ 1 _ 1
vui _ 2
vui _ 2 _ 1
vui _ 1 _ 2
vui _ 2 _ 2
vui _ 1 _ k
)
vui _ 2 _ k
)
........
bth _ 40
⇔ (bbth _ 40 _1 , bbth _ 40 _ 2 ,...., bbth _ 40 _ k )
I
nnhi _ 1
⇔ (bnnhi _1_1 , bnnhi _1_ 2 ,...., bnnhi _1_ k )
nnhi _ 2
⇔ (bnnhi _ 2 _1 , bnnhi _ 2 _ 2 ,...., bnnhi _ 2 _ k )
I
I
........
I
vui _ 1
vui _ 40
⇔ (bvui _ 40 _1 , bvui _ 40 _ 2 ,...., bvui _ 40 _ k )
gian _ 1
⇔ (b gian _1_1 , b gian _1_ 2 ,...., b gian _1_ k )
gian _ 2
⇔ (bgian _ 2 _1 , b gian _ 2 _ 2 ,...., b gian _ 2 _ k )
........
nnhi _ 40
⇔ (bnnhi _ 40 _1 , bnnhi _ 40 _ 2 ,...., bnnhi _ 40 _ k )
I
gian _ 40
⇔ (b gian _ 40 _1 , b gian _ 40 _ 2 ,...., b gian _ 40 _ k )
2
2
2
=
(
−
)
+
(
−
)
+
....
+
(
−
)
S bth _1 bbth _1_1 a1 bbth _1_ 2 a2
bbth _1_ k ak
S
bth _ 1
I
S
bth _ 2
nhan _ dang
... S bth _ 40
S
vui _ 1
⇔ (a1 , a2 ,...., ak ) ?
S
vui _ 2
... S vui _ 40
Lấy min
S
... S nnhi _ 40
nnhi _ 1
... S gian _ 40
I.Nhận diện cảm xúc dựa trên PCA truyền thống
Kết quả nhận diện:
Điều kiện chiếu sáng tốt:
Vui: 92%
Giận dữ: 86%
Bình thường: 84%
Ngạc nhiên: 78%
(Kết quả được thực hiện bằng việc nhận dạng 200 hình ảnh đầu vào của tác giả)
Thời gian trung bình cho một mẫu nhận diện: khoảng 250 ms.
Nhược điểm:
Độ chính xác phụ thuộc nhiều vào điều kiện ánh sáng
Khi mặt nghiêng hay người ra xa webcam, kết quả nhận dạng bị sai
lệch nhiều
Để đạt được độ chính xác cao, ta phải huấn luyện nhiều hình . Tốc độ
xử lí chậm.
=> Không thích hợp để điều khiển robot
II. Nhận diện cảm xúc theo phương pháp
mô hìnhAAM
AAM
và xét
tương quan
điểm
= Active
Appearance
Model
Với sự giúp đỡ của
Ý tưởng:
Tiến sĩ Nguyễn Đức Thành, chủ nhiệm BM điều khiển Tự động, ĐHBK HCM
cóProfessor,
thể xác định
được
chính
độ các điểm
trên Urbana
khuôn
“Nếu
Assoc
Nguyễn
Minh
Đỗ xác
fromtọa
University
of Illinois,
mặt
thì có thểUSA
dựa vào tương quan các điểm đó để nhận dạng cảm
Champaign,
xúc.”
Assoc Professor, Lê Tiến Thường, BM Viễn Thông, ĐHBK TPHCM.
Ưu điểm:
•Ít bị ảnh hưởng của yếu tố nền khuôn mặt lên kết
quả nhận dạng.
•Tốc độ nhận dạng sẽ khá nhanh.
•Việc nhận dạng có thể tiến hành trong điều kiện
mặt chịu ảnh hưởng của các phép biến hình (quay,
tịnh tiến, tỉ lệ)….
Có thể
dùng điều
khiển
robot
II. Nhận diện cảm xúc theo phương pháp
mô hình AAM và xét tương quan điểm
Chiều cao mắt
Chiều cao mũi
Khoảng cách lm
R=
chieu _ cao _ mat
=
R2 chieu _ cao _ mui
R=
1
be _ rong _ mieng
be _ rong _ mat
3
khoang _ cach _ lm
khoang _ cach _ mat
Khoảng cách mắt
R1
R2
R3
Tăng
BT
Tăng
BT
Tăng
BT
Bề rộng
Giận
dữ miệng Tăng
BT
Giảm
Bình thường
BT
BT
Cảm xúc\Tỉ số
Bề rộng mặt
Vui vẻ
Ngạc nhiên
BT
Cảm xúc\Tỉ số
Lưu đồ
Vui vẻ
Tính R1, R2, R3
Ngạc nhiên
Giận dữ
R1>R1_
Thresh
Bình thường
R1
R2
R3
Tăng
x
Tăng
BT
Tăng
x
Tăng
x
Giảm
BT
BT
BT
No
Yes
R3>R3_
Thresh
Yes
Vui vẻ
No
Giận
R2>R2_
Thresh
Yes
Ngạc
nhiên
No
Bình
thườn
g
II. Nhận diện cảm xúc theo phương pháp
mô hình AAM và xét tương quan điểm
Kết quả nhận dạng (tiến hành trên 200 hình)
Cảm xúc
Phần trăm
Cảm xúc
Phần trăm
Vui
95%
Vui
92%
Ngạc nhiên
81%
Ngạc nhiên
78%
Giận dữ
83%
Giận dữ
86%
Bình thường
80%
Bình
84%
thường
Nhược điểm:
Tương quan điểm
Kết quả nhận
(687ms/frame)
dạng phụ thuộc vào việc chọn ngưỡng
cho R1,
R2, R3.
PCA truyền
thống
Cần cải tiến thuật toán xác định từng điểm của(238ms/frame)
khuôn mặt để tăng tốc độ nhận
dạng & độ chính xác.
III. Nhận diện cảm xúc dựa trên mô
Bài toán đặt ra:
hình
AAM và mạng nơron
PP PCA truyền thống:
Không chuẩn hóa
kích thước mặt
Nhận dạng tốt cho mặt trực diện. Sai
nhiều khi mặt bị quay, tịnh tiến v…v
Mặt nhận diện không được chuẩn hóa
về kích thước.
Phần nền xung quanh khuôn mặt có
ảnh hưởng lớn. Cần loại bỏ phần nền
này
Việc nhận dạng bằng tính khoảng cách
Mặt nghiêng phải
Euclide tốn thời gian nếu số hình huấn Nền phức tạp
luyện lớn.
Cần phải có 1 phương pháp loại bỏ các ảnh hưởng này?
III. Nhận diện cảm xúc dựa trên mô
hình AAM và mạng nơron
Ý tưởng:
“Dùng một lưới ốp (fitting) vào khuôn mặt người. Khi lưới đã ốp vừa, dựa vào
tương quan giữa các điểm để đưa ảnh khuôn mặt về 1 khuôn mặt chuẩn. Việc
nhận dạng sẽ tiến hành trên khuôn mặt chuẩn này”
Ưu điểm:
Các hình ảnh đưa vào nhận diện được chuẩn hóa về kích thước
Loại bỏ ảnh hưởng của sự biến dạng khuôn mặt do mặt bị quay,
tịnh tiến, tỉ lệ v…v.
Loại bỏ ảnh hưởng của phần nền xung quanh đến kết quả nhận
diện.
Việc nhận dạng bằng thực hiện mạng neural để giảm thời gian
nhận diện.
Sơ đồ khối nhận dạng theo mô hình AAM &MLP
Phát hiện mặt
Fit mô hình
AAM với mặt
Detection
AdaBoost
Vị trí, kích
thước , tỉ lệ mặt
Mô hình AAM
Trích xuất vị trí
và tương quan
các điểm trên
mô hình đã Fit
Đưa về
khuôn
mặt
chuẩn
PCA
Nhận dạng bằng
mạng neural
Tìm max
=
+
1.78
+
…
+
1.86
Max
Cảm xúc
Max
B.thường
N.Nhiên
Y1
Y2
Vui vẻ
Y3
Giận giữ
Y4
III. Nhận diện cảm xúc dựa trên mô hình AAM và
mạng nơron
Kết quả nhận dạng (mặt nghiêng ~150) (150 frame)
Cảm xúc
Phần trăm
Cảm xúc
Phần trăm
Vui
93%
Vui
75%
Ngạc nhiên
85%
Ngạc nhiên
65%
Giận dữ
80%
Giận dữ
68%
Bình thường
82%
Bình
thường
61%
AAM& MLP
(~750ms/frame)
PCA truyền thống
(~240ms/frame)
Nhược điểm:
AAM&MLP còn chịu ảnh hưởng của góc chiếu sáng, cường độ sáng nhiều.
Tốc độ nhận dạng vẫn còn chậm so với PCA truyền thống & tương quan điểm.
IV. Tích hợp nhận dạng cảm xúc điều
khiển robot omni
Thông số kĩ thuật
•Đường kính thân: 0.6m
•Chiều cao: 1.6 m
•Trọng lượng: 38.5 kg
•Động cơ:
•Harmonic Servo x 3
•RC servo x 4
•DNguồn ATX: 450 Watts.
•DC có giảm tốc x 1
•Webcam x 2
•Vận tốc cực đại: 5 m/s
•Laptop x 1
•Máy tính nhúng x 1 (dự định)
Thuật toán điều khiển robot omni
•Bề rộng mặt=>Khoảng
cách đến người. (d)
Ước lượng vị
trí của người
điều khiển
Người lệch trái
No
Người
lệch
phải
No
Rất gần
người
No
1
Độ lệch tâm (ce_d)
Yes
ce_d<-center_thres
Quay trái
Yes
ce_d>+center_thres
Quay phải
Yes
d
Lùi ra xa
Thuật1 toán điều khiển robot omni
Còn xa
người
Yes
Tiến lại
gần
No
Xác định cảm
xúc người điều
khiển
Happy?
Yes
Stable_dist+
=50
No
Surprise?
No
Stable_dist = 80
D>stable_dist + thre
Yes
Stable_dist=20
Video
Tổng kết & Hướng phát triển
Kết quả đạt được
Phát triển được mô hình AAM thay thế cho mô hình AAM thương mại và hệ
thống tái tạo cơ mặt FACs.
Nhận dạng cảm xúc với độ chính xác khá cao (khoảng 80%) trong điều kiện ánh
sáng tốt và mặt bị biến dạng, nghiêng.
Tích hợp nhận diện cảm xúc cho môi trường thay đổi để điều khiển robot.
Hướng phát triển
Tích hợp mô hình AAM để phục vụ các mục đích khác như