Tài liệu Khóa luận Trích chọn đặc trưng trên khuôn mặt người: ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
--------
Nguyễn Thành Trung
TRÍCH CHỌN ĐẶC TRƯNG TRÊN KHUÔN MẶT
NGƯỜI
KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Hà Nội – 2010
ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
--------
Nguyễn Thành Trung
TRÍCH CHỌN ĐẶC TRƯNG TRÊN KHUÔN MẶT
NGƯỜI
KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
GV hướng dẫn: PGS.TS. Bùi Thế Duy
Hà Nội – 2010
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
i
Lời cảm ơn
Trước tiên, em xin gửi lời cảm ơn sâu sắc nhất đến thầy Bùi Thế Duy, người đã
không quản vất vả hướng dẫn em trong suốt thời gian làm khóa luận tốt nghiệp vừa
qua. Em cũng xin chân thành cảm ơn các anh chị, thầy cô trong phòng tương tác người
- máy đã luôn chỉ bảo mỗi khi em có những vấn đề vướng mắc.
Em xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo trong Trường Đại Học Công
Nghệ đã tận tình dạy dỗ em suốt bốn năm học qua.
Con xin cảm ơn...
67 trang |
Chia sẻ: haohao | Lượt xem: 1771 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Trích chọn đặc trưng trên khuôn mặt người, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
--------
Nguyễn Thành Trung
TRÍCH CHỌN ĐẶC TRƯNG TRÊN KHUÔN MẶT
NGƯỜI
KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Hà Nội – 2010
ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
--------
Nguyễn Thành Trung
TRÍCH CHỌN ĐẶC TRƯNG TRÊN KHUÔN MẶT
NGƯỜI
KHÓA LUẬN TỐT NGHIỆP HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
GV hướng dẫn: PGS.TS. Bùi Thế Duy
Hà Nội – 2010
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
i
Lời cảm ơn
Trước tiên, em xin gửi lời cảm ơn sâu sắc nhất đến thầy Bùi Thế Duy, người đã
không quản vất vả hướng dẫn em trong suốt thời gian làm khóa luận tốt nghiệp vừa
qua. Em cũng xin chân thành cảm ơn các anh chị, thầy cô trong phòng tương tác người
- máy đã luôn chỉ bảo mỗi khi em có những vấn đề vướng mắc.
Em xin bày tỏ lời cảm ơn sâu sắc đến các thầy cô giáo trong Trường Đại Học Công
Nghệ đã tận tình dạy dỗ em suốt bốn năm học qua.
Con xin cảm ơn bố, mẹ và gia đình đã luôn bên con, cho con động lực để làm việc
tốt hơn. Cảm ơn tất cả bạn bè đã luôn sát cánh cùng tôi.
Hà Nội, ngày 20 tháng 5 năm 2010
Nguyễn Thành Trung
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
ii
Tóm tắt
Bài toán trích chọn đặc trưng trên ảnh mặt người là bài toán cơ bản và quan trọng
trong nhóm các bài toán về xử lý ảnh mà đầu vào là ảnh 2D. Đầu ra của nó được sử
dụng làm đầu vào cho bài toán nhận dạng mặt, nhận dạng cảm xúc,... Trong khóa luận
này chúng tôi đưa ra một phương pháp lai và xây dựng hệ thống áp dụng phương pháp
lai này nhằm mục đích nhận dạng các điểm đặc trưng trong các bức ảnh mặt người
thông qua hướng tiếp cận trích chọn đặc trưng hình học. Hệ thống của chúng tôi đã
được xây dựng hoàn chỉnh và các kết quả chạy thử nghiệm trên bộ dữ liệu Cohn –
Kanade thu được là khả quan.
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
iii
Mục lục
Lời cảm ơn ........................................................................................................................................................ i
Tóm tắt ............................................................................................................................................................ ii
Mục lục ........................................................................................................................................................... iii
Danh sách hình vẽ ............................................................................................................................................ v
Danh sách bảng .............................................................................................................................................. vii
Chương 1 Giới thiệu ......................................................................................................................................... 1
Chương 2 Phát hiện khuôn mặt người trong ảnh 2D .......................................................................................... 3
2.1 Giới thiệu ........................................................................................................................................... 3
2.2 Tổng quan về công nghệ phát hiện khuôn mặt ...................................................................................... 3
2.2.1 Chiến lược phát hiện khuôn mặt ................................................................................................ 3
2.2.2 Xác định hướng quay của đầu ................................................................................................... 5
2.2.3 Một số phương pháp dùng phát hiện khuôn mặt ......................................................................... 7
2.3 Nhận dạng khuôn mặt dùng đặc trưng giống Haar và Adaboost ........................................................... 8
2.3.1 Cơ sở lý thuyết đặc trưng giống Haar ......................................................................................... 8
2.3.2 Phương pháp học máy Adaboost ............................................................................................... 9
Chương 3 Tổng quan về các phương pháp trích chọn đặc trưng ........................................................................13
3.1 Các hướng tiếp cận ............................................................................................................................13
3.2 Phương pháp trích chọn đặc trưng hình học.......................................................................................14
3.2.1 Tổng quan ................................................................................................................................14
3.2.1 Xác định các điểm đặc trưng trên khuôn mặt .............................................................................14
3.2.2 Phát hiện hình dáng các bộ phận trên khuôn mặt .......................................................................16
3.2.3 Nhân trắc học và áp dụng với phương pháp trích chọn đặc trưng hình học .................................17
3.3 Trích chọn đặc trưng diện mạo ...........................................................................................................19
3.3.1 Tổng quan ................................................................................................................................19
3.3.2 Mã LBP ...................................................................................................................................19
3.3.3 Bộ lọc Gabor ............................................................................................................................23
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
iv
Chương 4 Xây dựng hệ thống nhận dạng các điểm đặc trưng ............................................................................25
4.1 Tổng quan về hệ thống ........................................................................................................................25
4.2 Thiết kế hệ thống ................................................................................................................................27
4.3 Thực nghiệm ......................................................................................................................................33
4.3.1 Phát hiện khuôn mặt trong ảnh ..................................................................................................33
4.3.2 Xác định các vùng đặc trưng .....................................................................................................36
4.3.3 Xác định 6 điểm đặc trưng ........................................................................................................41
4.3.3 Xác định 14 điểm đặc trưng ......................................................................................................46
Chương 5 Tổng kết và hướng phát triển ...........................................................................................................55
Tài liệu tham khảo ...........................................................................................................................................56
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
v
Danh sách hình vẽ
Hình 1 −Xác định đường cắt của đầu. ............................................................................................................... 6
Hình 2 − Ví dụ về 3 hướng quay của đầu. ......................................................................................................... 7
Hình 3 – Ảnh tích hợp ...................................................................................................................................... 9
Hình 4 − Sơ đồ hệ thống nhận dạng khuôn mặt. ...............................................................................................10
Hình 5 − Hệ thống nhận dạng khuôn mặt. ........................................................................................................12
Hình 6 − Lặp để xác định ngưỡng trên cửa sổ tìm kiếm ...................................................................................14
Hình 7 – Phép chiếu toàn bộ.............................................................................................................................15
Hình 9 − Sơ đồ hệ thống tự động xác định điểm đặc trưng. ..............................................................................16
Hình 10 – Mô hình nhiều trạng thái với mặt trực diện. ......................................................................................17
Hình 11 – Mô hình nhân trắc học của mặt (a) Các điểm mốc, (b) Khoảng cách. ................................................18
Hình 12 - Ví dụ về LBP và độ tương phản cục bộ C .........................................................................................20
Hình 13 - Tập hợp các điểm xung quanh Ptt. .....................................................................................................20
Hình 14 – Phần thực của bộ lọc Gabor với 5 tần xuất và 8 hướng với wmax = 𝝅/2, hàng ứng với sự thay đổi tần
suất, cột ứng với sự thay đổi hướng. .................................................................................................................23
Hình 15 – Một ví dụ về ảnh sau khi nhân xoắn với 48 bộ lọc Gabor ..................................................................24
Hình 16 – 20 điểm đặc trưng. ...........................................................................................................................25
Hình 17 – Hệ thống nhận dạng 20 điểm đặc trưng. ...........................................................................................27
Hình 18 – Vị trị, kích thước con ngươi. ............................................................................................................28
Hình 19 – Các vùng đặc trưng trên khuôn mặt. .................................................................................................29
Hình 20 – Thuật toán 2 đỉnh. ...........................................................................................................................30
Hình 21 – Xác định đường biên chính bằng thuật toán đồ thị liên thông. ...........................................................31
Hình 22 – Một số ví dụ phát hiện khuôn mặt bằng đặc trưng giống Haar trên hệ cơ sở dữ liệu Conh – Kanade . 36
Hình 23 – Kết quả nhận dạng khuôn mặt thời gian thực (sử dụng camera). .......................................................36
Hình 24 – Chia khuôn mặt thành 3 phần. ..........................................................................................................37
Hình 25 – Một số ví dụ về xác định vùng mắt phải. ..........................................................................................39
Hình 26 – Một số ví dụ về xác định vùng mắt trái.............................................................................................40
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
vi
Hình 27 – Một số ví dụ xác định vùng miệng (a) đúng, (b) sai. .........................................................................41
Hình 28 – Đánh dấu hàng có histogram lớn nhất. .............................................................................................41
Hình 29 – Xác định vị trí mống mắt bằng histogram. ........................................................................................42
Hình 32 – Xác định mống mắt là tâm vùng đặc trưng. ......................................................................................42
Hình 31 – Một ví dụ dùng thuật toán phát hiện cạnh Canny sau khi lấy ngưỡng. ...............................................43
Hình 32 – Ví dụ về xác định 2 lỗ mũi. ..............................................................................................................43
Hình 33 – Xác định đường mép bằng histogram (a)Trường hợp chính xác, (b) Trường hợp không chính xác. ...44
Hình 34 – Ví dụ lấy ngưỡng trong khoảng [5 50]..............................................................................................45
Hình 35 – Ví dụ xác định cạnh bằng thuật toán Canny. .....................................................................................45
Hình 36 – Ví dụ xác định 2 điểm khóe miệng. ..................................................................................................46
Hình 37 – Thực nghiệm 8 điểm đặc trưng. .......................................................................................................46
Hình 38 – Ví dụ về xác định 8 điểm đặc trưng. .................................................................................................54
Nhận dạng các điểm đặc trưng trên khuôn mặt người Nguyễn Thành Trung
vii
Danh sách bảng
Bảng 1 – Tỷ lệ khoảng cách giữa các mốc. .......................................................................................................18
Bảng 2 – Danh sách các điểm đặc trưng. ..........................................................................................................26
Bảng 3 - Bộ cơ sở dữ liệu Cohn – Kanade. ......................................................................................................34
Bảng 4 – Kết quả nhận dạng khuôn mặt trên bộ cơ sở dữ liệu Cohn – Kanade. ..................................................35
Bảng 5 – Các bộ phân lớp cascade. ..................................................................................................................38
Bảng 6 – Kết quả xác định vùng mắt phải. .......................................................................................................39
Bảng 7 – Kết quả xác định vùng mắt trái. .........................................................................................................39
Bảng 8 – Kết quả xác định vùng miệng. ...........................................................................................................40
Bảng 9 – Kết quả nhận dạng điểm mống mắt....................................................................................................42
Bảng 10 – Kết quả nhận dạng 2 lỗ mũi. ............................................................................................................43
Bảng 11 – Kết quả xác định 2 khóe miệng........................................................................................................44
Bảng 12 – Danh sách kích thước ảnh mẫu kiểm tra...........................................................................................50
Bảng 13 – Sai số trung bình. ............................................................................................................................53
Bảng 14 – Kết quả xác định 2 điểm P7,P8 với 10 mẫu. .....................................................................................54
Chương 1. Giới thiệu Nguyễn Thành Trung
1
Chương 1
Giới thiệu
Trong tất cả các nền văn minh từ trước đến nay, giao tiếp là một hoạt động không
thể thiếu, nó xuất hiện mọi nơi mọi lúc, trong mọi lĩnh vực và ảnh hưởng trực tiếp tới
cuộc sống của từng cá thể. Giao tiếp là một nhu cầu xã hội cơ bản, nó xuất hiện sớm
nhất trong đời sống của mỗi người và là yếu tố ảnh hưởng trực tiếp tới quá trình hình
thành lên tâm sinh lý của con người. Hơn thế nữa, giao tiếp giúp con người có thể
truyền tải thông tin, học hỏi tri thức và thể hiện cảm xúc. Nhờ có giao tiếp làm cho con
người văn hóa, xã hội văn minh và đất nước phát triển. Nhận thấy tầm quan trọng của
hoạt động giao tiếp nên con người đã bỏ rất nhiều thời gian và công sức vào nghiên
cứu yếu tố quyết định thành công của việc giao tiếp, không chỉ trong lĩnh vực giao tiếp
giữa con người với con người, mà ngày nay con người đã bắt đầu nghiên cứu về các hệ
thống tương tác người – máy. Mặt khác, trong giao tiếp thì khuôn mặt là nơi con người
thể hiện suy nghĩ, tình cảm, thái độ nên để con người và máy tính có thể tương tác với
nhau tự nhiên hơn thì các hệ thống được xây dựng dựa trên nền tảng là những thay đổi
của khuôn mặt. Muốn xác định được các thay đổi đó cần trích chọn được ra các yếu tố
riêng biệt của từng khuôn mặt, trên khía cạnh đó bài toán Trích chọn đặc trưng trên
khuôn mặt ra đời là động lực to lớn thúc đẩy sự phát triển của các hệ thống tương tác
người – máy tự động. Là một bài toán cơ bản và đã có rất nhiều các giải pháp trích
chọn đặc trưng khác nhau được đưa ra nhưng hầu hết các giải pháp trước đó đều gặp
khó khăn trong việc xử lý các bức ảnh khuôn mặt với độ phân giải khác nhau hay với
những điều kiện ánh sáng không thuận lợi. Trong khóa luận này, chúng tôi sẽ trình bày
về phương pháp lai để xác định các điểm đặc trưng trên khuôn mặt. Phương pháp lai
này sẽ khắc phục được những khó khăn mà các phương pháp trước đó gặp phải như
ảnh hưởng của điều kiện ánh sáng hay một số nhiễu trong ảnh. Dựa vào phương pháp
lai này chúng tôi xây dựng lên một hệ thống để xác định 20 điểm đặc trưng, hệ thống
đã được chạy thử nghiệm trên bộ dữ liệu Cohn – Kanade và cho kết quả khả quan.
Phần còn lại của khóa luận được trình bày như sau: tại Chương 2 chúng tôi giới thiệu
tổng quan về bài toán phát hiện khuôn mặt người trong ảnh 2D. Tiếp theo, chúng tôi
Chương 1. Giới thiệu Nguyễn Thành Trung
2
trình bày tổng quan về các phương pháp trích chọn đặc trưng trên khuôn mặt người
trong Chương 3. Sau đó, tại Chương 4 chúng tôi trình bày về hệ thống nhận dạng các
đặc trưng trên khuôn mặt của mình. Cuối cùng là phần tổng kết, đánh giá và hướng
phát triển chúng tôi trình bày trong Chương 5.
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
3
Chương 2
Phát hiện khuôn mặt người trong ảnh 2D
2.1 Giới thiệu
Bài toán trích trọn đặc trưng trên ảnh khuôn mặt người đã được quan tâm từ khá lâu do
có rất nhiều ứng dụng như: Sử dụng trong hệ thống nhận dạng cảm xúc, hệ thống
tương tác giữa người và máy (điều khiển máy tính qua các cử động của khuôn mặt), hệ
thống nhận dạng người (giúp cho các cơ quan an ninh quản lý con người), hệ thống
quan sát theo dõi như hệ thống quản lý việc ra vào cho các cơ quan và công ty, hệ
thống kiểm tra người lái xe có ngủ gật hay không, hệ thống phân tích cảm xúc trên
khuôn mặt, hệ thống nhận dạng khuôn mặt cho các máy ảnh kỹ thuật số,...
Ngày nay, đã có rất nhiều các phương pháp trích chọn đặc trưng với những cách thức
rất khác nhau nhưng tất cả các phương pháp đó đều bao gồm hai công đoạn chính là:
Phát hiện khuôn mặt người trong ảnh,
Trích chọn đặc trưng.
Để hiểu rõ hơn về bài toán trích chọn đặc trưng và các công đoạn trong bài toán trích
chọn đặc trưng, đầu tiên chúng tôi sẽ trình bày tổng quan về công nghệ phát hiện
khuôn mặt trong ảnh 2D.
2.2 Tổng quan về công nghệ phát hiện khuôn mặt
2.2.1 Chiến lược phát hiện khuôn mặt
Hiện nay có rất nhiều phương pháp nhận dạng khuôn mặt người, dựa vào các tính chất
của các phương pháp, ta có thể chia ra làm hai hướng tiếp cận chính như sau:
Hướng tiếp cận dựa trên đặc trưng cơ bản
Đây là phương pháp dựa chủ yếu trên những hiểu biết của con người về khuôn mặt. Ví
dụ như những bộ phận trên khuôn mặt mắt, mũi, miệng, ngoài ra còn có thể về hình
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
4
dạng, đường nét hay cấu tạo của khuôn mặt. Trong phướng pháp này có 2 chiến lược
tiếp cận khác nhau là:
Từ dưới lên (Bottum-up): Cố gắng xác định từng đặc trưng riêng biệt sau đó nhóm
chúng lại với nhau và kiểm tra lại. Phương pháp này có ưu điểm là không bị ảnh
hưởng của hướng xoay hay di chuyển của khuôn mặt nhưng có một số giới hạn
sau:
Thứ nhất, các đặc trưng dễ bị ảnh hưởng bởi các yếu tố như độ sáng tối, hay
nhiễu trong ảnh.
Thứ hai, các bước thực hiện trong cách tiếp cận này đòi hỏi chi phí quá đắt
về thời gian nên không đáp ứng được yêu cầu thời gian thực.
Từ trên xuống (Top-down): Tạo ra một mẫu hay model về khuôn mặt chuẩn có thể
là 2 chiều hoặc 3 chiều, sau đó cố gắng ghép mẫu đó vào bức ảnh. Phương pháp
này có những nét chính sau:
Xây dựng mẫu,
Tìm kiếm trên toàn bộ ảnh đề ghép mẫu với những thực thể trên ảnh đề tìm
ra.
Một phương pháp tiếp cận theo hướng từ trên xuống là Active Shape Model
được đưa ra bởi Cootes tại [24].
Hướng tiếp cận dựa trên diện mạo
Phương pháp này nhận dạng khuôn mặt tập trung vào vấn đề phân lớp chính là phân
lớp một bức ảnh (có kích thước cố định) vào 2 lớp là mặt hoặc không. Phương pháp
học từ một tập ảnh huấn luyện mẫu để xác định khuôn mặt người. Phương pháp này
gồm một số bước chính sau:
Tạo ra bộ phân lớp mặt – không phải mặt bằng cách dùng một số phương
pháp biểu diễn khuôn mặt như LBP, Gabor.
Sử dụng một cửa sổ có kích thước cố định quét trên toàn bộ bức ảnh đầu vào
ở vị trí và tỷ lệ khác nhau hoặc dùng trên toàn bộ bức ảnh.
Bước cuối cùng là xử lý các trường hợp phát hiện trùng lặp.
Trong hai hướng tiếp cận trên, hướng tiếp cận dựa trên đặc trưng diện mạo có ưu điểm
vượt trội hơn so hướng tiếp cận cơ bản là không phụ thuộc vào hướng quay của đầu
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
5
trong bức ảnh. Để trích chọn đặc trưng cơ bản được chính xác, chúng ta cần có thêm
một bước tiền xử lý là xác định hướng quay của đầu trong ảnh, cụ thể về các phương
pháp xác định hướng quay sẽ được trình bày trong phần 2.2.2.
2.2.2 Xác định hướng quay của đầu
Xác định hướng nhìn là một vấn đề nảy sinh cần giải quyết trong nhận dạng khuôn
mặt. Một số phương pháp nhận dạng khuôn mặt trình bày ở trên có thế không bị ảnh
hưởng của hướng nhìn thông thường là những phương pháp tiếp cận theo hướng diện
mạo nhưng xác định hướng nhìn cần được xem xét như một phần riêng biệt trong nhận
dạng khuôn mặt. Hiện nay có rất nhiều phương pháp xác định hướng nhìn được đưa ra,
tổng quan về các phương pháp được trình bày bởi Murphy – Chutorian và Trivedi [16]
Tian [15] đã đưa ra một phương pháp xác định hướng nhìn. Phương pháp trình bày xác
định hướng của khuôn mặt đầu tiên thay vì xác định khuôn mặt như các phương pháp
thông thường. Những bước sử dụng để xác định được đường cắt của phần đầu trong
bức ảnh:
Xác định đường viền bao xung quanh trọng tâm C và trục tọa độ theo chiều dọc
(trục y) của bóng.
Xác định những phần cho đường cong lõm (có đạo hàm âm) nhỏ nhất trên
đường viền của bóng.
Tính độ thừa của những phần nhô ra đề xác định tỷ lệ chu vi (trừ những phần
cắt) mục đích là đo độ dài của đường cắt.
Kiểm tra những phần nhô ra vượt quá ngưỡng thấp.
Kiểm tra những đường cắt giao với trục y của bóng.
Chọn đường cắt đầu tiên nếu có nhiều đường cắt thỏa mãn.
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
6
Hình 1 −Xác định đường cắt của đầu.
Sau khi đường cắt L của đầu được xác định vùng đầu được xác định dễ dàng – là phần
trên tính từ đường cắt. Để xác định được vùng đầu chính xác đưa ra một trọng số của
đầu là H = α * W với W là độ rộng của đầu và α = 1.4. Sau khi xác định được vị trí của
phần đầu thì bức ảnh được chuyển sang định dạng gray-scale (đen - trắng) sau đó cân
bằng histogram và điều chỉnh kích thước về độ phân giải đánh giá. Sau đó sử dụng
mạng nơron 3 tầng đề xác định hướng của đầu. Đầu vào là bức ảnh (sau khi đã nhân
xoắn với ma trận mặt nạ Gauss và 3 mẫu quay – bất biến Gabor). Đầu ra của mạng là 3
hướng quay của đầu : 1) trực diện hoặc gần trực diện 2) Nhìn sang hoặc nhìn nghiêng
3) Trường hợp nhìn ra sau hoặc không xác định được.
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
7
Hình 2 − Ví dụ về 3 hướng quay của đầu.
2.2.3 Một số phương pháp dùng phát hiện khuôn mặt
Ngày nay có rất nhiều các phương pháp nhận dạng khuôn mặt như: Eigenface [25],
FA (factor Analsys) [26], FLD (Fisher‟s Linear Discriminant) [27], Active Apperance
Model [24],...
Các phương pháp trên có một số nhược điểm như:
Tốc độ chậm, không đáp ứng được yêu cầu thời gian thực,
Xây dựng hệ thống quá phức tạp.
Vượt lên trên các phương pháp khác với tốc độ thực hiện nhanh và độ chính xác chấp
nhận được. Viola và Jones [30] đưa ra phương pháp nhận dạng khuôn mặt dùng đặc
trưng giống Haar kết hợp với phương pháp học máy Adaboost. Phương pháp gồm 2
bước cơ bản: Đầu tiên là trích chọn đặc trưng giống Haar của ảnh khuôn mặt người và
không phải mặt người trong cơ sở dữ liệu. Sau đó dùng bộ học máy mạnh là Adaboost
để xây dựng mô hình phân loại. Cụ thể phương pháp được trình bày trong phần 2.3.
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
8
2.3 Nhận dạng khuôn mặt dùng đặc trưng giống Haar và
Adaboost
2.3.1 Cơ sở lý thuyết đặc trưng giống Haar
Một số đặc trưng giống Haar thường dùng như:
+ Đặc trưng cạnh (Edge Features):
+ Đặc trưng đường thẳng (Line Features):
+ Đặc trưng tâm – xung quanh (Center – surround Features):
Dùng các đặc trưng trên ta có thế tính được các giá trị của đặc trưng giống Haar bằng
cách lấy hiệu tổng giá trị điểm ảnh trong vùng màu đen và tổng giá trị điểm ảnh trong
vùng màu trắng theo công thức sau:
fgiống Haar= 𝑝𝑖𝑥𝑒𝑙 𝑣ù𝑛𝑔 đ𝑒𝑛 – 𝑝𝑖𝑥𝑙𝑒 𝑣ù𝑛𝑔 𝑡𝑟ắ𝑛𝑔
Như vậy, để tính giá trị của đặc trưng giống Haar thì phải tính tổng giá trị từng pixel
để tính giá trị của đặc trưng giống Haar cho tất cả vị trí trên ảnh cần chi phí tính toán
quá lớn, không đáp ứng được yêu cầu thời gian thực. Do đó Viola [25] đưa ra một
cách thức tính mới như sau:
+ Tính từ một bức ảnh bình thường thông qua một số các toán tử trên pixel ta thu đuợc
một bức ảnh mới gọi là ảnh tích hợp:
ii(x,y) = ∑(x‟,y‟) (x‟ < x,y „ <y)
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
9
s(x,y) = s(x,y-1) + i(x,y) s(x,-1) = 0
ii(x,y) = ii(x-1,y)+s(x,y) ii(-1,y) = 0
s(x,y) là tổng các pixel theo hàng.
+ Sau khi tính được ảnh tích hợp thì việc tính toán giá trị mức xám là rất đơn giản.
Ví dụ:
Hình 3 – Ảnh tích hợp
Ta muốn tính tổng giá các pixel trong miền D:
D = A + B + C + D – ( A + B) – ( A + C ) + A
Hay
𝑝𝑖𝑥𝑒𝑙𝐷 = 𝑝𝑖𝑥𝑒𝑙𝐴 + 𝑝𝑖𝑥𝑒𝑙𝐵 + 𝑝𝑖𝑥𝑒𝑙𝐶 + 𝑝𝑖𝑥𝑒𝑙𝐷 - { 𝑝𝑖𝑥𝑒𝑙𝐴 + 𝑝𝑖𝑥𝑒𝑙𝐵 } - {
𝑝𝑖𝑥𝑒𝑙𝐴 + 𝑝𝑖𝑥𝑒𝑙𝐶 } + 𝑝𝑖𝑥𝑒𝑙𝐴
Nhưng trong ảnh tích hợp chúng ta chỉ phải thực hiện phép tính đơn giản:
𝑝𝑖𝑥𝑒𝑙𝐷 = P4 – (P1 + P2) + P3
Tiếp theo để lựa chọn đặc trưng giống Haar dùng cho thiết lập ngưỡng Viola và Jones
[25] dùng phương pháp học máy AdaBoost.
2.3.2 Phương pháp học máy Adaboost
Tổng quan
Adaboost là phương pháp học máy được xây dựng bởi Yoav Freund và Robert
Schapire [31] vào năm 1995. Là một cải tiến của hướng tiếp cận kết hợp các bộ phân
lớp đơn giản để tạo thành một bộ phân lớp chung mà khả năng phân lớp của bộ chung
tăng lên đáng kể.
Trong phương pháp Adaboost Yoav và Robrert [31] đưa thêm khái niệm trọng số
để đánh dấu các mẫu khó nhận dạng. Trong quá trình huấn luyện, Adaboost gọi các bộ
phân lớp yếu lặp lại trong t lần t = 1,2, … T. Trong mỗi lần gọi đó, các trọng số Dt
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
10
được cập nhật lại theo nguyên tắc: tăng trọng số của các mẫu nhận dạng sai và giảm
trọng số của các mẫu nhận dạng đúng. Mục tiêu là sau mỗi lần lặp thì bộ phân lớp yếu
sau sẽ tập trung trên các mẫu nhận dạng sai để tăng độ chính xác.
Thuật toán
Viola và Jones [30] dùng Adaboost kết hợp các bộ phân loại yếu và đặc trưng
giống Haar như sau:
Hình 4 − Sơ đồ hệ thống nhận dạng khuôn mặt.
Mỗi một đặc trưng fj bộ phân lớp yếu xây dựng một hàm phân lớp tối ưu ngưỡng hj(x)
(ví dụ điều kiện tối ưu có thế là số mẫu sai là ít nhất)
hj(x) = {0 𝑛𝑔ượ𝑐 𝑙ạ𝑖
1 𝑛ế𝑢 𝑝𝑗𝑓𝑗<𝑝𝑗𝜑𝑗
Trong đó :
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
11
+ x : cửa sổ con (thường dùng là 24x24 pixel),
+ 𝜑𝑗 : ngưỡng,
+ fj: giá trị đặc trưng giống Haar,
+ pj : hệ số quyết định chiều của phương trình.
Mô tả thuật toán :
Có một tập các bức ảnh (x1, y1) , … , (xn,yn) với yi = 0,1 ứng với các mẫu không
là khuôn mặt hoặc là khuôn mặt.
Khởi tạo các trọng số w1,I = 1/2m, 1/2l với yi tương ứng là 0 hoặc 1 với m, l là
tổng các mẫu là khuôn mặt hoặc không là khuôn mặt ( m + l = n).
For t = 1,…, T
1. Chuẩn hóa trọng số
Wt,I = Wt,I / 𝑊𝑡, 𝑗𝑛𝑗=1
2. Với mỗi đặc trưng j, huấn luyện bộ phân lớp hj ứng với đặc trưng j. Lỗi
được đánh giá như sau : wt, ej = 𝑤𝑖 ∗ |𝑗 𝑥𝑖 − 𝑦𝑖|𝑖
3. Chọn bộ phân lớp ht với lỗi et là nhỏ nhất
4. Cập nhật lại trọng số
Wt+1,I = Wt,I 𝛽𝑡
1−𝑒𝑖 với ei = 0 nếu mẫu xi được phân lớp đúng và ei=1
trường hợp ngược lại.
𝛽 =
𝑒𝑡
1− 𝑒𝑡
5. Bộ phận lớp cuối cùng là bộ phân lớp mạnh được xác định như sau
H(x) =
1 𝛼𝑡 ∗ 𝑡 𝑥 >
1
2
𝛼𝑡𝑇𝑡=1
𝑇
𝑡=1
0 𝑛𝑔ượ𝑐 𝑙ạ𝑖
Chương 2. Phát hiện khuôn mặt người trong ảnh Nguyễn Thành Trung
12
Xây dựng hệ thống
Hình 5 − Hệ thống nhận dạng khuôn mặt.
Trong sơ đồ trên, từ ảnh gốc chúng ta tính được ảnh tích hợp, mục đích để tính
nhanh các chênh lệch độ xám của các hình chữ nhật trong ảnh gốc. Ước lượng các đặc
trưng giống Haar. Kết quả ước lượng sẽ được đưa qua bộ điều chỉnh Adaboost để loại
bỏ bớt các đặc trưng không cần thiết để giảm số lượng các đặc trưng. Các đặc trưng
còn lại sẽ được đưa qua bộ phân lớp đề có quyết định xem có là mặt hay không. Mỗi
bộ phân loại yếu sẽ quyết định kết quả cho một đặc trưng giống Haar, được xác định
ngưỡng đủ nhỏ sao cho có thể vượt qua tất cả các bộ dữ liệu trong tập mẫu huấn luyện.
Trong quá trình xác định khuôn mặt người, mỗi vùng ảnh con sẽ được kiểm tra với các
đặc trưng trong chuỗi đặc trưng giống Haar, nếu có một đặc trưng giống Haar nào đó
không cho ra kết quả là khuôn mặt người thì các đặc trưng khác không cần xét nữa.
Thứ tự xét các đặc trưng giống Haar trong chuỗi sẽ được xác định dựa vào trọng số
của đặc trưng đó, do Adaboost quyết định dựa vào số lần và thứ tự xuất hiện của các
đặc trưng giống Haar.
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
13
Chương 3
Tổng quan về các phương pháp trích chọn đặc
trưng
Trong chương này phần đầu chúng tôi sẽ trình bày tổng quan về các hướng tiếp cận
để trích chọn đặc trưng. Tiếp đó chúng tôi sẽ trình bày về hai hướng tiếp cận chính là
trích chọn đặc trưng là trích chọn đặc trưng hình học và đặc trưng diện mạo.
3.1 Các hướng tiếp cận
Hiện nay có rất nhiều các phương pháp trích dẫn dữ liệu từ khuôn mặt, mỗi phương
pháp có những ưu nhược điểm và đặc điểm riêng nhưng theo cách thức mà những
phương pháp và hình thức của dữ liệu được trích dẫn thì chia ra làm 2 hướng tiếp cận
chính:
Thứ nhất, hướng tiếp cận dựa trên đặc trưng hình học là hướng tiếp cận dựa vào
các bức ảnh trực diện khuôn mặt lấy từ khâu phát hiện khuôn mặt, trích chọn đặc trưng
về hình học biểu diễn hình dáng, vị trí các phần của khuôn mặt như mắt, mũi, miệng,
lông mày. Cụ thể xác định một số các điểm đặc trưng trên khuôn mặt: 2 mống mắt,
điểm chính giữa miệng, khóe miệng, một số các điểm khác ở vùng trán, mắt,…
Thứ hai, hướng tiếp cận dựa trên đặc trưng diện mạo là hướng tiếp cận dựa vào cấu
trúc phân bổ của cường độ sáng của điểm ảnh trên bề mặt của bức ảnh để trích chọn
các đặc trưng.
Trong đó trích chọn đặc trưng diện mạo có ưu điểm là ít phức tạp hơn phương pháp
trích chọn đặc trưng hình học, các khâu ít hơn nhưng độ chính xác thường thấp hơn.
Tùy thuộc vào yêu cầu hệ thống chúng ta có thể áp dụng các phương pháp khác nhau,
Tuy nhiên kết quả tối ưu nếu chúng ta áp dụng cả hai phương pháp trên xuất hiện
phương pháp thứ ba là phương pháp lai (hybrid) giữa hai phương pháp sử dụng đặc
trưng hình học và đặc trưng diện mạo.
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
14
3.2 Phương pháp trích chọn đặc trưng hình học
3.2.1 Tổng quan
Những đặc trưng hình học thường là những vị trí đặc biệt trên khuôn mặt như góc của
mắt, miệng,… hoặc là hình dáng của các bộ phận trên khuôn mặt như mắt, miệng, lông
mày,…
3.2.1 Xác định các điểm đặc trưng trên khuôn mặt
Yang [3] đã phát triển một hệ thống thời gian thực để xác định và theo vết các điểm
đặc trưng như mống mắt, khóe miệng hay lỗ mũi. Phương pháp tìm kiếm 2 vùng mắt
là 2 vùng tối nhất và sử dụng các điều kiện về hình học như vị trí bên trong mặt, kích
thước và hình dáng để xác định. Phương pháp dùng phép lặp lấy ngưỡng để phát hiện
ra vùng tối nhất với điều kiện ánh sáng thay đổi. Xác định lỗ mũi cũng tương tự như
xác định 2 mống mắt.
Hình 6 − Lặp để xác định ngưỡng trên cửa sổ tìm kiếm
Để xác định khóe môi, xác định vị trí theo chiều dọc sử dụng phép chiếu toàn bộ theo
trục x. Vị trí theo trục x được xác định bằng phép chiếu toàn bộ trên ảnh của cạnh
miệng.
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
15
Hình 7 – Phép chiếu toàn bộ.
Để dò tìm khóe miệng sử dụng hai phương pháp:
+ Tìm điểm ảnh có độ xám lớn nhất trong các vùng dự kiến sau đó tìm xác định điểm
khóe miệng sẽ nằm trên đường giữa 2 môi.
+ Tìm phần có giá trị điểm ảnh tối nhất trên đường giữa hai môi, chắc chắn khoảng
cách giữa 2 vùng đảm bảo điều kiện thỏa mãn về khoảng cách giữa 2 khóe miệng trên
thực tế và chọn vị trí có độ tương phản là cao nhất.
Hình 8 − Xác định 2 đường biên ngang của môi.
Phương pháp trên có một số những ưu điểm như thỏa mãn điều kiện thực thi với thời
gian thực. Một số phương pháp có thể áp dụng với những độ phân giải khác nhau (với
cả độ phân giải thấp), tuy nhiên vẫn có trường hợp phát hiện ra lông mày thay vì mắt.
Tian [4] đã giải quyết vấn đề bằng cách phát hiện cả vùng mắt và lông mày. Bằng cách
đó, không chỉ trích chọn được thêm đặc trưng mà tỷ lệ chính xác còn được tăng lên.
Đối với xác định khóe miệng, trường hợp sai là khi miệng không ở trạng thái bình
thường và phương pháp áp dụng đối với mặt trực diện hoặc gần trực diện.
Vukadinovic & Pantic [5] sử dụng Gabor – wavalets và Gentle – Boost để xây dựng hệ
thống nhận dạng tự động 20 điểm đặc trưng. Trong phương pháp, họ chia khuôn mặt
thành 20 vùng nhỏ (ROIs) và mỗi vùng ứng với một điểm đặc trưng. Mỗi một vector
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
16
đặc trưng ứng với vùng ảnh kích thước 13x13 pixel, có độ lớn là 13x13x(18+1) =
8281. Những vector đặc trưng được sử dụng để xây dựng một mô hình và dự đoán một
điểm có là điểm đặc trưng hay không. Trong khi huấn luyện, mô hình đặc trưng Gentle
– boost sử dụng các vector đặc trưng trích chọn từ các ví dụ huấn luyện. Trong khi
kiểm tra, một của sổ kích thước 13x13 pixel được quét trên toàn bộ vùng quan tâm.
Với mỗi một vị trí của cửa sổ trượt, so sánh sự giống nhau giữa giá trị của cửa sổ trượt
và mô hình mẫu. Sau khi quét hết vùng quan tâm thì điểm có độ lệch với mẫu là nhỏ
nhất sẽ được chọn.
Hình 9 − Sơ đồ hệ thống tự động xác định điểm đặc trưng.
3.2.2 Phát hiện hình dáng các bộ phận trên khuôn mặt
Tian [17] phát triển phương pháp nhiều trạng thái để trích chọn đặc trưng hình học
trong hình Hình 10. Một mô hình môi 3 trạng thái miêu tả trạng thái của môi: mở,
đóng, ngậm chặt. Mô hình 2 trạng thái được dùng cho mỗi mắt, mô hình một trạng thái
cho má và lông mày. Một số đặc trưng diện mạo sử dụng mô hình 2 trạng thái: có thể
hiện và vắng mặt. Đường viền của các đặc trưng và thành phần được điều chỉnh bằng
tay trong bước khởi tạo. Sau khi khởi tạo, tất cả các thay đổi của đặc trưng sẽ được dò
tìm và phát hiện trong chuỗi ảnh. Thuật toán sử dụng các trạng thái dò tìm khác nhau
là cải tiển của thuật toán Lucas-Kanade [11]. Tuy nhiên có giới hạn là chuyển động
của đầu.
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
17
Phương pháp có thể phát hiện 16 Aus với độ chính xác là 95.5% trên bộ cơ sở dữ
liệu Cohn – Kanade.
Hình 10 – Mô hình nhiều trạng thái với mặt trực diện.
3.2.3 Nhân trắc học và áp dụng với phương pháp trích chọn đặc trưng
hình học
Nhân trắc học là một ngành khoa học nghiên cứu về đo lường các thành phần khác
nhau trên cơ thể con người. Những thông tin về kích thước, vị trí của các thành phần
trên cơ thể phụ thuộc vào tri thức về chủng tộc, nhóm người. Sau khi đo đạc chính xác
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
18
các chỉ số từ 300 bức ảnh của 150 người ở các vùng địa lý khác nhau có thể xây dựng
một mô hình cho khuôn mặt dùng để định vị các vùng đặc trưng từ bức ảnh khuôn mặt
Tốt hơn là sử dụng toàn bộ mốc như Farkas [28] đã dùng, trong mô hình chỉ sử dụng
một lượng nhỏ các điểm làm mốc.
Hình 11 – Mô hình nhân trắc học của mặt (a) Các điểm mốc, (b) Khoảng cách.
Bảng 1 – Tỷ lệ khoảng cách giữa các mốc.
Tỷ lệ Miêu tả Hằng số
D2/D1 Tỷ lệ khoảng cách giữa tâm mắt phải và tâm lông
mày phải với khoảng cách giữa 2 tâm mắt
~ 0.33
D3/D1 Tỷ lệ khoảng cách giữa tâm mắt trái và tâm lông
mày trái với khoảng cách giữa 2 tâm mắt
~0.33
D4/D1 Tỷ lệ khoảng cách giữa tâm 2 mắt và đỉnh mũi với
khoảng cách giữa 2 tâm mắt.
~ 0.6
D5/D1 Tỷ lệ khoảng cách giữa tâm 2 mắt và điểm giữa
miệng với khoảng cách giữa 2 tâm mắt.
~1.1
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
19
3.3 Trích chọn đặc trưng diện mạo
3.3.1 Tổng quan
Một dạng khác của trích chọn đặc trưng là trích trọn đặc trưng diện mạo để xác định
những thay đổi trên khuôn mặt. Một số phương pháp tiểu biểu như : Principle
Component Analsys (PCA) [19], Gabor Wavelet Analysis [1,19] và Local Binary
Pattern [20,21] và được áp dụng trên toàn bộ bề mặt bức ảnh hoặc một phần để trích ra
các đặc trưng và phát hiện sự thay đổi của khuôn mặt
3.3.2 Mã LBP
LBP là viết tắt của Local Binary Pattern hay là mẫu nhị phân địa phương được Ojala
[29] trình bày vào năm 1996 như là một đơn vị đo độ tương phản cục bộ của ảnh.
Phiên bản đầu tiên của LBP được dùng với 8 điểm ảnh xung quanh và sử dụng giá trị
của điểm ảnh ở trung tâm làm ngưỡng. Giá trị LBP được xác định bằng cách nhân các
giá trị ngưỡng với trọng số ứng với mỗi điểm ảnh sau đó cộng tổng lại.
Kể từ khi được đưa ra, theo định nghĩa là bất biến với những thay đổi đơn điệu trong
ảnh đen trắng. Để cải tiến phương pháp, bổ sung thêm phương pháp tương phản trực
giao địa phương. Hình dưới minh họa cách tính độ tương phản trực giao (C) là hiệu
cấp độ xám trung bình của các điểm ảnh lớn hơn hoặc bằng ngưỡng với các điểm ảnh
thấp hơn ngưỡng. Phân phối hai chiều của mã LBP và độ tương phản cục bộ được lấy
làm đặc trưng gọi là LBP/C.
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
20
Hình 12 - Ví dụ về LBP và độ tương phản cục bộ C
Nguồn gốc
Dãy LBP được Ojala [29] trình bày vào năm 2002. Định nghĩa một cấu trúc điểm
ảnh T là một phân phối đại số của cấp độ xám của P +1 (P > 0) điểm ảnh.
T = t(gc,g0,…,gp-1)
Với gc ứng với cấp độ xám của điểm ảnh trung tâm Ptt , gp (p = 0,..,1) tương ứng với P
điểm ảnh xung quanh, P điểm ảnh này nẳm trên đường tròn bán kính R và tâm là Ptt .
Hình 13 - Tập hợp các điểm xung quanh Ptt.
Không mất thông tin, có thể trừ gp đi một lượng là gc
T = t(gc,g0 – gc ,…,gp - gc)
Giả sử sự sai số giữa gp và gc là độc lập với gc, ta có thể nhân tử hóa gc như sau
T = t(gc)t(g0-gc,…,gp-1-gc)
t(gc) biểu thị xu hướng độ sáng tối của cả bức ảnh nên không liên quan đến kết cấu của
ảnh cục bộ do đó có thể bỏ qua
T~t((g0 - gc),…,(gp-1-gc))
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
21
Mặc dù tính bất biến ngược với độ thay đổi tỷ lệ xám của điểm ảnh, sự khác biệt ảnh
hưởng bởi tỷ lệ. Để thu được đặc điểm bất biến với bất kỳ một sự thay đổi nào của ảnh
đen trắng (gray scale) chỉ quan tâm đến dấu của độ lệch:
T~t(s(g0 - gc),…,s(gp-1-gc))
Với s là hàm dấu s(x) =
1 𝑥 ≥ 0
0 𝑥 < 0
Trọng số 2p được dùng cho các hàm dấu s(gp-gc) để chuyển sự khác biệt giữa các điểm
ảnh bên cạnh về một giá trị duy nhất.
LBPP,R = 𝑠 𝑔𝑝 − 𝑔𝑐
𝑃−1
𝑝=0 * 2
p
Theo Eq.2 cứ P pixel thì có 2p giá trị LBPP,R trong khoảng [0,2
p
– 1] nhưng để đơn
giản ta có thể chọn một số giá trị trong 2p giá trị ký hiệu là 𝐿𝐵𝑃𝑃 ,𝑅
𝑢2
Nguyên lý phân lớp không tham biến
Trong phân lớp, sự khác biệt giữa mẫu và mô hình phân phối LBP được đánh giả
bởi kiểm tra thống kê không tham biến.Phương pháp tiếp cận này có ưu điểm là không
cần phải có những giả thiết về phân phối của các đặc trưng.
Thông thường, những kiểm tra thống kê được chọn cho mục đích là nguyên lý cross-
entropy được giới thiệu bởi Kullback (1968). Sau đó, Sokal và Rohlf (1969) gọi cách
đo này là thống kê G.
G(S,M) = 2* 𝑆𝑏𝐵𝑏=1 log
𝑆𝑏
𝑀𝑏
= 2 [𝑆𝑏 ∗ 𝑙𝑜𝑔𝑆𝑏 − 𝑆𝑏 ∗ 𝑙𝑜𝑔𝑀𝑏]𝐵𝑏=1
Với S,M kí hiệu phân phối mẫu và mô hình mong muốn. Sb và Mb là xác suất đề b
thuộc vào phân phối mẫu hoặc mô hình . B là số phần tử trong phân phối.
Thống kê G sử dụng trong phân lớp có thể viết lại như sau.
L(S,M) = − 𝑆𝑏𝐵𝑏=1 log Mb
Kiến trúc mô hình có thể xem như xử lý ngẫu nhiên có đặc tính có thể xác định bởi
phân phối LBP. Trong một phân lớp đơn giản , mỗi lớp được biểu diễn bởi một mô
hình phân phối đơn giản Mi . Tương tự , một kiến trúc mẫu không xác định có thể
miêu tả bởi phân phối S. L là một giả ma trận đo khả năng mẫu S có thể thuộc lớp i.
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
22
Lớp C của một mẫu không xác định có thể được xác định bởi luật “hàng xóm gần
nhất”:
C = argminiL(S,M
i
)
Bên cạnh đó , một thống kê log-likelihood có thể xem như đơn vị đo sự khác biệt và có
thể sử dụng để liên kết nhiều bộ phân lớp giống như bộ phân lớp k-NN hoặc self-
oganizing map ( SOM). Log-likelihood đúng trong một số trường hợp nhưng không
ổn định khi mà cỡ mẫu nhỏ.Trong trường hợp này Chi-square-distance thường cho kết
quả tốt hơn :
𝑋2(S,M) =
(𝑆𝑏−𝑀𝑏)2
𝑆𝑏+𝑀𝑏
𝐵
𝑏=1
Để đạt được độ chính xác cao sử dụng giao histogram
H(S,M) = min(𝑆𝑏,𝑀𝑏)𝐵𝑏=1
Phép quay bất biến
Để không bị ảnh hưởng bởi sự quay, mỗi giá trị LBP cần quay ngược lại về vị trí
ban đầu, cách tốt nhất là tạo ra tất cả các trường hợp quay của một mẫu, sự quay có thể
định nghĩa như sau
𝐿𝐵𝑃𝑅 ,𝐼
𝑟𝑖 = min { ROR(LBPP,R,i) i=0,1,…,P-1}
Trong đó ri là viết tắt của rotation invariant ( quay bất biến), ROR(x,i) dịch vòng tròn
số nhị phân P - bit (x) i lần theo chiều kim đồng hồ.
Độ tương phản và kết cấu mẫu
Kết cấu có thể được coi là một hiện tượng hai chiều được đặc trưng bởi hai đặc tính
trực giao: cấu trúc không gian (mô hình) và độ tương phản (độ mạnh của mô hình)
Quay bất biến tương phản địa phương có thể được đo trong một hình tròn đối xứng
xunh quanh giống như LBP:
VARP,R =
1
𝑃
𝑔𝑝 − 𝜇
2𝑃−1
𝑝=0
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
23
Trong đó 𝜇 =
1
𝑃
𝑔𝑝
𝑃−1
𝑝=0
Tổng hợp lại ta có : 𝐿𝐵𝑃𝑃1,𝑅1
𝑟𝑖 / VARP2,R2
3.3.3 Bộ lọc Gabor
Bộ lọc Gabor thực ra là một bộ lọc tuyến tính được sử dụng như là một phương
pháp phát hiện cạnh trong xử lý ảnh. Tần suất và hướng dùng để biểu diễn bộ lọc
Gabor tương tự như hệ thống thị giác của con người và nó được tìm ra như một cách
tiếp cận đặc biệt cho biểu diễn cấu trúc và sự phân biệt. Trong miền không gian, bộ lọc
Gabor 2 chiều là một hàm nhân Gauss được điều chỉnh bởi một mặt phẳng sóng sin.
Các bộ lọc Gabor tương tự nhau và tất cả bộ lọc được sinh ra từ Gabor-wavelet bởi sự
co giãn và xoay.
Hình 14 – Phần thực của bộ lọc Gabor với 5 tần xuất và 8 hướng với wmax = 𝝅/2, hàng
ứng với sự thay đổi tần suất, cột ứng với sự thay đổi hướng.
Một bộ lọc Gabor được định nghĩa như sau :
𝛾 𝑥,𝑦,𝜔,𝜃 =
1
2𝜋𝜎2
𝑒
−
𝑥′2+ 𝑦′2
2𝜋2 [𝑒𝑖𝜔𝑥
′
− 𝑒−
𝜔2𝜎2
2 ]
𝑥 ′ = 𝑥𝑐𝑜𝑠𝜃 + 𝑦𝑠𝑖𝑛𝜃 , 𝑦′ = −𝑥𝑠𝑖𝑛𝜃 + 𝑦𝑐𝑜𝑠𝜃
Trong đó (x,y) là vị trí điểm ảnh trong không gian, 𝜔 tần số góc , 𝜃 hướng của bộ lọc
Gabor, 𝜎 độ lệch chuẩn của hàm Gauss giữa trục x và y.
Chương 3 : Trích chọn đặc trưng trên khuôn mặt Nguyễn Thành Trung
24
Thành phần thứ 2 của bộ lọc Gabor 𝑒−
𝜔2𝜎2
2 bù cho giá trị DC bới thành phần cos khác
0 có nghĩa giá trị sin có thể bằng 0. Đặt 𝜎 = 𝜋/𝜔 thể hiện mối quan hệ giữa 𝜎 và 𝜔.
Hầu hết các trường hợp của bộ lọc Gabor đều sử dụng với 5 tần suất và 8 hướng để
trích chọn đặc trưng cho biểu diễn khuôn mặt. Chọn tần suất cực đại 𝜔𝑚𝑎𝑥 = 𝜋/2 ,
𝜔𝑚 = 𝜔𝑚𝑎𝑥 ∗ 𝜆
−(𝑚−1) , m = 1,2,3,4,5 𝜆 = 2 , 𝜃𝑛 = 𝑛 − 1 𝜋/8 , n = 1,2,3,…,8.
Biểu diễn đặc trưng Gabor
Biểu diễn đặc trưng Gabor của một bức ảnh I (x,y) được xác định bằng cách nhân xoắn
bức ảnh với Gabor-filter bank 𝛾 𝑥,𝑦,𝜔,𝜃 như sau:
𝑂𝑚 ,𝑛 𝑥, 𝑦 = 𝐼 𝑥,𝑦 ∗ 𝛾 𝑥,𝑦,𝜔,𝜃
Trong đó * ký hiệu toán tử nhân xoắn. Cường độ bức ảnh của kết quả nhân xoắn ứng
với những bộ lọc Gabor được chỉ ra trong hình trên.
Hình 15 – Một ví dụ về ảnh sau khi nhân xoắn với 48 bộ lọc Gabor
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
25
Chương 4
Xây dựng hệ thống nhận dạng các điểm đặc
trưng
4.1 Tổng quan về hệ thống
Trong chương này chúng tôi sẽ trình bày về xây dựng hệ thống nhận dạng các điểm
đặc trưng theo hướng tiếp cận đặc trưng hình học. Trong hệ thống chúng tôi xác định
20 điểm đặc trưng như sau:
Hình 16 – 20 điểm đặc trưng.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
26
Bảng 2 – Danh sách các điểm đặc trưng.
Điểm đặc trưng Miêu tả
P1 Ngoài cùng lông mày phải
P2 Trong cùng lông mày phải
P3 Trong cùng lông mày trái
P4 Ngoài cùng lông mày trái
P5 Đuôi mắt phải
P6 Trên cùng mắt phải
P7 Mống mắt phải
P8 Khoé mắt phải
P9 Khoé mắt trái
P10 Mống mắt trái
P11 Trên cùng mắt trái
P12 Đuôi mắt trái
P13 Dưới cùng mắt phải
P14 Dưới cùng mắt trái
P15 Lỗ mũi phải
P16 Lỗ mũi trái
P17 Khoé miệng phải
P18 Trên cùng môi trên
P19 Khoé miệng trái
P20 Dưới cùng môi dưới
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
27
Trong hệ thống chúng tôi xây dựng luật để xác định 6 điểm đặc trưng là 2 điểm
mống mắt (P7,P10), 2 điểm lỗ mũi (P15,P16) và 2 điểm khóe miệng (P17,P19). Với 14
điểm còn lại, chúng tôi chọn phương pháp trích chọn đặc trưng dùng bộ lọc Gabor kết
hợp với phương pháp học máy là Suport Vector Machine để nhận dạng. Cụ thể về hệ
thống sẽ được trình bày trong phần 4.2.
4.2 Thiết kế hệ thống
Hình 17 – Hệ thống nhận dạng 20 điểm đặc trưng.
Hệ thống của chúng tôi chia thành 4 môđun chính như sau:
Môđun thứ nhất làm nhiệm vụ xác định bức ảnh đầu vào có phải là ảnh khuôn mặt
không, nếu là ảnh khuôn mặt thì sẽ phát hiện ra vùng ảnh chứa khuôn mặt. Trong mô
đun này chúng tôi sử dụng thuật toán phát hiện khuôn mặt dùng đặc trưng giống Haar
đã được trình bày trong mục 2.3.
Môđun thứ hai làm nhiệm vụ phát hiện các vùng đặc trưng như vùng xung quanh
mắt, mũi, miệng,…Trong môđun này bước đầu chúng tôi dùng phương pháp đơn giản
nhất là chia khuôn mặt thành 3 phần, sau đó dùng đặc trưng giống Haar để phát hiện ra
các vùng đặc trưng.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
28
Với môđun thứ ba, chúng tôi xây dựng các luật để xác định ra 6 điểm đặc trưng.
Trong đó:
Để xác định 2 mống mắt chúng tôi dùng 2 phương pháp sau:
Phương pháp thứ nhất: Do đặc trưng hình học của mắt là có phần con ngươi sẫm
màu và là hình tròn có tỷ lệ kích thước so với mắt tương đối lớn do đó chúng ta có thể
xác định vị trí mống mắt (nằm trong con ngươi) bằng phép chiếu toàn bộ theo hàng và
cột.
Hình 18 – Vị trị, kích thước con ngươi.
Phép chiếu toàn bộ theo hàng (cột) thực chất là xác định vị trí hàng (cột) có số
lượng điểm ảnh xám là nhiều nhất. Công thức tính histogram (tổng) theo hàng và cột
như sau
H(theo hàng) = 255 − 𝑝𝑖𝑥𝑒𝑙 ∗ (255− 𝑝𝑖𝑥𝑒𝑙)à𝑛𝑔
H(theo cột) = 255 − 𝑝𝑖𝑥𝑒𝑙 ∗ (255− 𝑝𝑖𝑥𝑒𝑙)𝑐ộ𝑡
Để xác định vị trí mống mắt, đầu tiên ta xác định vị trí mống mắt theo tọa độ y sử
dụng H theo hàng như sau: Tính histogram theo hàng, ta được một dãy các giá trị, biểu
diễn các giá trị này bằng một đường cong, ta gọi đó là đường cong histogram. Sau đó,
ta xác định vị trí y của điểm mống mắt bằng cách chọn ra vị trí hàng đạt giá trị lớn
nhất trong đường cong
Phương pháp thứ hai: Khi xác định được vùng chữ nhật chứa mắt thì tâm thường
nằm trong vùng con ngươi và lệch so với mống mắt một lượng nhỏ. Đầu tiên, chúng
tôi xác định tâm của hình chữ nhật chứa mắt là Oc. Sau đó, chúng tôi đánh giá độ xám
của điểm ảnh trong hình vuông kích thước 16x16 xung quanh điểm Oc, các điểm này
chúng tôi gọi là Ct (t=1,256). Mục tiêu của chúng tôi là xác định một số điểm Ct đạt
tiêu chí sau: Lấy một hình vuông kích thước 8x8 với Ct là tâm, tính tổng cấp độ xám
tất cả các điểm trong hình vuông đó, nếu tổng này mà lớn hơn tổng của Oc thì điểm
này sẽ được chọn, gọi tập hợp các điểm này là St. Cuối cùng, chúng tôi tính trung bình
tất cả các điểm St để chọn ra điểm cần tìm.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
29
Xác định 2 lỗ mũi
Sau khi xác định được 2 mống mắt, dựa trên khoảng cách giữa 2 mống mắt và tỷ lệ
kích thước được tìm ra từ nhân trắc học ở Bảng 1 ta có thể chia lại các vùng đặc trưng
trên mặt như sau.
Hình 19 – Các vùng đặc trưng trên khuôn mặt.
Sau đó chúng tôi xác định 2 lỗ mũi trong vùng M3 theo thuật toán sau:
Bước 1: Lấy ngưỡng vùng ảnh ở nhiều ngưỡng khác nhau sau đó dùng thuật toán phát
hiện cạnh Canny để xác định ra đường viễn lỗ mũi trong vùng ảnh. Mới đầu thử dùng
thuật toán phát hiện đường tròn Hough nhưng do đường cạnh không liên tục và, vùng
mũi quá nhỏ nên không phát hiện ra được.
Bước 2: Với mỗi ngưỡng, xác định 2 đường liên tục dài nhất trong vùng ảnh (2 đường
liên thông ), 2 đường này chính là 2 đường viền xung quanh của 2 lỗ mũi. Sau khi xác
định được 2 đường viền ta áp dụng thuật toán tìm tâm (*) của một tập hợp các điểm
rời rạc, ta thu được 2 lỗ mũi là tâm của 2 đường liên tục. Trong trường hợp chỉ tìm
được 1 bên lỗ mũi thì lấy điểm đối xứng của điểm đó qua đường chính giữa làm điểm
lỗ mũi còn lại.
Bước 3: Trong tập các cặp điểm xác định cặp điểm có khoảng cách lớn nhất là 2 lỗ
mũi.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
30
Thuật toán tìm tâm (*):
Giả sử có K điểm X1,…,Xk , Xi 𝜖 R
n
thì tâm C xác định như sau:
C =
𝑋1+𝑋2+⋯+𝑋𝑘
𝑘
Phương pháp trên cho kết quả không được tốt, vì cách tính trung bình bị ảnh hưởng
bởi mật độ của các điểm trong đường viền. Khi tách ngưỡng, số lượng điểm nằm ở
một vùng đen thường vượt trội hơn hẳn so với các vùng khác nhiều, khi tính trung
bình thì kết quả không chính xác. Để bị ảnh hưởng bởi mật độ các điểm trong đường
viền ta sử dụng thuật toán tương tự như thuật toán 3 đỉnh tam giác (Centroid Of
triangle) nhưng ở đây chúng ta chỉ sử dụng 2 đỉnh thay vì 3 đỉnh.
Thuật toán 2 đỉnh tam giác
Nếu chúng ta có 2 đỉnh a = (Xa,Ya), b = (Xb,Yb) thì tâm được xác định như sau
C =
1
2
𝑎 + 𝑏 =
1
2
𝑥𝑎 + 𝑥𝑏 ,
1
2
𝑦𝑎 + 𝑦𝑏
Tổng quát, nếu chúng ta có n đỉnh chúng ta sẽ lấy 2 đỉnh đầu, tính tâm 2 đỉnh đó được
đỉnh t1 thêm vào n-2 đỉnh còn lại , tiếp túc với n-2+1 đỉnh cho đến khi còn 1 đỉnh duy
nhất một đỉnh.
Ví dụ ở đây có 4 đỉnh P1,P2,P3,P4. Ta tính tâm sẽ là đỉnh t3 như hình vẽ.
Hình 20 – Thuật toán 2 đỉnh.
Để xác định khóe miệng, chúng tôi dùng phương pháp sau:
Bước 1: Do vùng ảnh miệng thường rất rõ ràng, sắc nét và có độ rộng tương đối lớn so
với vùng ảnh do đó có thể dùng thuật toán phát hiện cạnh để xác định 2 mép và 2 khóe
miệng. Để thực hiện theo hướng này, đầu tiên chúng tôi lấy ngưỡng ảnh vùng miệng
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
31
với một ngưỡng thích hợp. Mục đích của việc lấy ngưỡng là làm rõ sự khác biệt giữa
vùng miệng và các vùng xung quanh giúp cho việc phát hiện cạnh dễ dàng hơn. Sau đó
áp dụng thuật toán phát hiện cạnh (cụ thể là thuật toán Canny) để phát hiện cạnh ta có
đường biên xung quanh miệng.
Bước 2: Ta xác định 2 khóe miệng là 2 vị trí ngoài cùng trên đường biên.Tuy nhiên,
khi áp dụng phương pháp nảy sinh một số khó khăn như sau :
Thứ nhất, trong bước lấy ngưỡng để chọn ra một ngưỡng chung cho tất cả bức ảnh
là rất khó (không khả thi) do với mỗi bức ảnh vùng miệng có cường độ và độ sáng tối
là khác nhau. Bước này ta phải chọn ra một số ngưỡng thích hợp (do thực nghiệm),
trong bài đã chọn ra được một số ngưỡng : 5, 8, 10 , 15 , 13 , 18 , 25, 27 , 32. Những
ngưỡng này thường nằm trong khoảng (5,50).
Thứ hai, khi xác định được đường biên xung quanh miệng thì lựa chọn điểm khóe
miệng như thế nào thì độ sai số là nhỏ nhất. Nếu lựa chọn là điểm ngoài cùng thì
không chính xác, do xuất hiện một số điểm không xác định thường nằm ngoài cùng
đường biên. Nhận thấy đường biên xung quanh miệng luôn là đường liên tục (hoặc
gián đoạn một đoạn nhỏ) và có số lượng các đỉnh (ở đây là các điểm ảnh) lớn nhất, do
đó ta áp dụng thuật toán tìm đồ thị liên thông mở rộng (*) vào bức ảnh để tìm ra các
điểm khóe miệng.
Hình 21 – Xác định đường biên chính bằng thuật toán đồ thị liên thông.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
32
Bước 3: Sau khi lấy được các cặp điểm khóe miệng ứng với các ngưỡng khác nhau thì
vấn đề còn lại là chọn ra vị trí 2 điểm khóe miệng gần với vị trí cần tìm nhất. Chúng
tôi sử dụng ra 2 cách chọn có hiệu quả tốt là :
Trong tất cả các tập hợp điểm khóe miệng bên trái và khóe miệng bên phải ta chọn
ra điểm nào có số lần lặp lại nhiều nhất (tần suất xuất hiện trong tất cả các ngưỡng
là lớn nhất).
Trong tập hợp các cặp điểm tìm ra cặp điểm có khoảng cách là lớn nhất.
(*) Thuật toán tìm đồ thị liên thông mở rộng :
+ Ta coi mỗi điểm ảnh có độ xám khác 0 là một đỉnh của đồ thị, bức ảnh nxn sau khi
phát hiện cạnh là một đồ thị liên thông.
+ Sử dụng mảng bool nxn để đánh dấu vị trí duyệt , và hàng đợi để lưu các đỉnh.
+ Duyệt qua toàn bộ các đỉnh , nếu đỉnh có đỉnh kề ( thỏa mãn điều kiện mở rộng ) thì
thêm đỉnh kề đó vào hàng đợi, đánh dấu điểm đó đã thăm, lấy điểm tiếp theo trong
hàng đợi, tiếp tục cho đến khi hàng đợi rỗng.
+ Xác định đường liên thông dài nhất, sau đó xác định 2 vị trị ngoài cùng làm 2 mép.
(*) Luật mở rộng : thay vì các đỉnh đồ phải kề nhau ta coi các điểm nằm trong một
hình chữ nhật kích thước axb là kề nhau (do một số đường bị rời rạc khi lấy ngưỡng
và phát hiện cạnh).
Môđun thứ tư có nhiệm vụ là xác định ra 14 điểm đặc trưng, môđun bao gồm 3 thành
phần chính, đầu tiên là bộ trích chọn đặc trưng Gabor có nhiệm vụ trích chọn ra vector
đặc trưng của một điểm từ bức ảnh, tiếp theo là 14 bộ phân lớp tương ứng với 14 điểm
đặc trưng, khi vector dữ liệu ứng với mỗi điểm được cho qua các bộ phân lớp này,
điểm đó sẽ được xác định là có phải điểm đặc trưng đó không, do có một số điểm sai
mà bộ phân lớp không nhận ra, để giảm số lượng các điểm sai này chúng tôi dùng
thêm bộ luật. Ứng với mỗi một điểm đặc trưng, bộ luật sẽ có một số luật tương ứng
với điểm đó, nhiệm vụ của bộ luật là giảm những điểm đặc trưng sai mà bộ phân lớp
không nhận ra. Cuối cùng, chúng tôi sử dụng thuật toán trọng tâm để xác định ra điểm
đặc trưng gần trọng tâm ứng với 14 cụm điểm nhất của 14 điểm đặc trưng. Kết quả sẽ
thu được 14 điểm đặc trưng. Cụ thể các phần như sau:
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
33
Để trích chọn đặc trưng Gabor, chúng tôi chọn ra một số bức ảnh của những người
khác nhau dùng làm mẫu trích chọn đặc trưng. Với mỗi bức ảnh chúng tôi chấm bằng
tay vị trí các điểm đặc trưng. Để trích chọn đặc trưng Gabor cho mỗi điểm Pi, chúng
tôi lấy vùng ảnh Mi kích thước 10x10 pixel có tâm là điểm Pi. Sau đó nhân xoắn vùng
ảnh Mi với 48 bộ lọc Gabor đuợc 48 ảnh mới MGi , lấy 10x10 giá trị điểm ảnh trong
vùng ảnh Mi với 48x10x10 giá trị điểm ảnh trong 48 ảnh MGi làm vector đặc trưng cho
điểm đặc trưng. Như vậy mỗi điểm đặc trưng bởi một vector đặc trưng Vj = (x0,…,xk |
k = 4899). Để tăng số lượng vector đặc trưng cho học máy và tăng độ chính xác cho hệ
thống, với mỗi điểm đặc trưng chấm bằng tay, chúng tôi sẽ xác định thêm 24 điểm:
+ 8 điểm đúng nằm trong hình vuông 3x3 pixel mà tâm là điểm đặc trưng Pi
+ 16 điểm sai, chúng tôi lựa chọn ngẫu nhiên các điểm thoả mãn: Nằm trong hình
vuông kích thước 50x50 pixel với tâm là Pi và khoảng cách từ điểm ngẫu nhiện đến
Pi luôn lớn hơn 8 pixel.
Để xây dựng bộ phân lớp cho 14 điểm đặc trưng chúng tôi cho các vector đặc trưng
ứng với từng điểm Pi (i = 1,14) vào huấn luyện trong Weka với thuật toán huấn luyện
là SMO (Suport Vector Machine), sau khi huấn luyện bằng Weka chúng tôi thu đuợc
14 model ứng với 14 điểm Pi và dùng các model này để kiểm tra xem một điểm bất kỳ
có thuộc vào một trong 14 điểm đặc trưng không.
Với mỗi điểm đặc trưng chúng tôi đưa ra một số luật về vị trí để giới hạn lại số điểm
đúng sau đó áp dụng phương pháp tính trung bình (tính trung bình tất cả các điểm sau
đó chọn ra điểm có vị trí gần điểm trung bình nhất) để chọn ra điểm đúng nhất.
4.3 Thực nghiệm
4.3.1 Phát hiện khuôn mặt trong ảnh
Phương pháp phát hiện khuôn mặt dùng đặc trưng Giống Haarkết hợp Adaboost
đã được cài đặt sẵn trong thư viện mở OpenCV của Intel. Do vậy, chúng tôi sẽ xây
dựng bộ phát hiện khuôn mặt bằng ngôn ngữ C++ , dùng môi trường lập trình là MS
Visual Studio 2005 và thư viện mở OpenCV.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
34
Nhiệm vụ của chúng tôi trong phần này là chạy thử nghiệm với các bộ tham số
[scale_factor, min_neighbors, min_size] khác nhau của hàm cvHaarDetectObjects trên
hệ cơ sở dữ liệu Cohn – Kanade để tìm ra bộ tham số phù hợp.
Bảng 3 - Bộ cơ sở dữ liệu Cohn – Kanade.
Tổng số ảnh 8,842 ảnh trực diện khuôn mặt
Số người Của 97 người.
Tổng số thư mục Chia vào 585 thư mục.
Ghi chú
Mỗi người có 6 thư mục là
chuỗi ảnh về 6 cảm xúc.
Hàm cvHaarDetectObjects có các tham số sau :
CVAPI(CvSeq*) cvHaarDetectObjects( const CvArr* image,
CvHaarClassifierCascade* cascade,
CvMemStorage* storage, double scale_factor
CV_DEFAULT(1.1),
int min_neighbors CV_DEFAULT(3), int flags
CV_DEFAULT(0),
CvSize min_size CV_DEFAULT(cvSize(0,0)));
Trong đó CvArr* image là tập các ảnh cần nhận dạng khuôn mặt,
CvHaarClassifierCascade* cascade là bộ phân lớp và là thành phần quan trọng nhất
trong hệ thống, được tải từ file xml hoặc ymxl được xây dựng sẵn trên các bộ cơ sở dữ
liệu chuẩn. OpenCV cho phép đối với mỗi bộ cơ sở dữ liệu chúng ta có thể xây dựng
một file xml riêng, trong thư viện cài đặt sẵn hàm xây dựng file xml
cvCreateHidHaarClassifierCascade. Để tải một cascade ta có thể sử dụng hàm
cvLoad trong OpenCV
char *fdata = "haarcascade_frontalface_alt_tree.xml";
//load classfier
cascade = ( CvHaarClassifierCascade* )cvLoad( fdata, 0, 0, 0 ),
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
35
CvMemStorage* storage dùng lưu trữ tập hợp hình chữ nhật thỏa mãn điều kiện tìm
kiếm. Scale_factor là tỷ lệ tăng kích thước của cửa sổ (window) trong quá trình dịch
cửa sổ trên toàn bộ bức ảnh.Ví dụ 1.1 có nghĩa là tăng kích thước của cửa sổ 10%,
Min_neighbors giá trị nhỏ nhất (trừ đi 1) của những “hình chữ nhật hàng xóm” tạo nên
một đối tượng, tất cả những nhóm có số lượng hình chữ nhật nhỏ hơn min_neighbors –
1 đều bị bỏ qua. Nếu min_neighbors = 0 , hàm sẽ không nhóm các hình chữ nhật lại,
có thể sử dụng khi mà chúng ta có các thủ tục nhóm riêng. Flags: quy định phương
thức thực hiện. Hiện tại chỉ có một cờ được chỉ rõ là CV_HAAR_DO_CANNY_PRUNING.
Nếu cờ được đặt, hàm sẽ sử dụng bộ phát hiện cạnh Canny để bỏ qua một số vùng có
chứa quá ít hoặc quá nhiều cạnh. Giá trị lấy ngưỡng thực tế được điều chỉnh cho nhận
dạng khuôn mặt, trong trường hợp này, cắt tỉa làm tăng tốc độ xử lý. min_size : kích
thước nhỏ nhất chấp nhận được của khuôn mặt.
Sau đây là kết quả chạy thuật toán phát hiện khuôn mặt trên bộ thư viện Conh –
Kanade với bộ tham số chúng tôi chọn là [1.1 , 2 , (200,200)].
Bảng 4 – Kết quả nhận dạng khuôn mặt trên bộ cơ sở dữ liệu Cohn – Kanade.
Trường hợp Số lượng Lý do
Nhận dạng đúng 8779
Nhận dạng sai 63 Phát hiện nhiều hơn một khuôn mặt trong ảnh
Không nhận dạng được 0
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
36
Hình 22 – Một số ví dụ phát hiện khuôn mặt bằng đặc trưng giống Haar trên hệ cơ sở
dữ liệu Conh – Kanade .
Kết quả thử nghiệm trên camera
Hình 23 – Kết quả nhận dạng khuôn mặt thời gian thực (sử dụng camera).
4.3.2 Xác định các vùng đặc trưng
Trong khi thao tác các bước để tách đặc trưng trên khuôn mặt thì chúng ta không
cần phải thao tác trên toàn bộ bức ảnh (do lãng phí thời gian và giảm độ chính xác) do
đó chúng ta sẽ xác định các vùng nhỏ cần quan tâm ứng với mỗi thao tác tách đặc
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
37
trưng trên toàn bộ bức ảnh lớn.Việc xác định vùng quan tâm chính xác (Có kích thước
đủ nhỏ nhưng vẫn chứa đầy đủ những phần của khuôn mặt) sẽ làm giảm thời gian và
tăng độ chính xác lên rất nhiều. Các vùng quan tâm thường là mắt, mũi, miệng, trán,
má,…Vì đây là những phần chứa nhiều thông tin về cảm xúc của con người. Trong
phần này trình bày phương pháp xác định các vùng đặc trưng của mắt, mũi và miệng là
các phần chứa thông tin về cảm xúc nhiều nhất.
Phương pháp đơn giản là sau khi đã xác định được vùng ảnh chứa khuôn mặt ta
chia ảnh ra làm 3 phần: mắt trái , mắt phải và miệng.
Hình 24 – Chia khuôn mặt thành 3 phần.
Tuy nhiên, phương pháp này quá đơn giản, vùng quan tâm thu được còn quá rộng
thời gian thực hiện các thao tác xử lý ảnh vẫn còn cao do đó cần có phương pháp mới
tối ưu hơn.Trong phần tiếp theo, chúng tôi sẽ trình bày về cách xác định vùng đặc
trưng sử dụng đặc trưng Giống Haarđã trình bày ở phần xác định khuôn mặt để xác
định ra các vùng đặc trưng mắt, miệng. Riêng vùng mũi chúng tôi sẽ trình bày sau khi
xác định được 2 mống mắt. Như đã trình bày ở mục 2.3, thành phần quan trọng nhất
trong hàm phát hiện đối tượng sử dụng đặc trưng Haar – like cascade, do đó nhiệm vụ
đầu tiên là cần tìm kiếm các cascade cho từng bộ phận của khuôn mặt riêng. Dưới đây
là thông tin về một số bộ cascade dùng để xác định vùng đặc trưng mắt.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
38
Bảng 5 – Các bộ phân lớp cascade.
Tên Xây dựng
cho bộ
phận
Kích cỡ
ảnh sử
dụng
Xây dựng trên
lượng positive
sample
Thông
tin khác
haarcascade_eye.xml Mắt 25x15 Trực
diện
haarcascade_frontalface_alt Mặt 20x20 Trực
diện
frontalEyes35x16.xml Mắt 35x16 Trực
diện
ojoI.xml Mắt 18x12 7000 Mắt trái
ojoD.xml Mắt 18x12 7000 Mắt
phải
Mouth.xml Miệng 25x15 7000 Trực
diện
Nariz.xml Mũi 25x15 7000 Trực
diện
Cũng tương tự như công việc của phần phát hiện khuôn mặt, trong phần này chúng
tôi thử nghiệm thuật toán trên cơ sở dữ liệu Cohn – Kanade sau đó chọn ra bộ tham số
[scale_factor, min_neighbors, min_size] phù hợp nhất.
Đối với mắt phải, chúng tôi dùng cascade được xây dựng từ file ojoD.xml được
giới thiệu trong Bảng 5 với bộ tham số [1.1, 2, (35,16)]. Sau đây là kết quả chạy thử
nghiệm trên cơ sở dữ liệu Cohn – Kanade:
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
39
Bảng 6 – Kết quả xác định vùng mắt phải.
Trường hợp Số lượng Giải thích
Tổng số 1002
Nhận dạng đúng 962
Nhận dạng sai 40 Do mắt nhắm hoặc bị tóc che khuất một phần
Không nhận dạng được 0
Hình 25 – Một số ví dụ về xác định vùng mắt phải.
Đối với mắt trái, chúng tôi dùng cascade được xây dựng từ file ojoI.xml được giới
thiệu trong Bảng 5 với bộ tham số [1.1, 2, (35,16)]. Sau đây là kết quả chạy thử
nghiệm trên cơ sở dữ liệu Cohn – Kanade:
Bảng 7 – Kết quả xác định vùng mắt trái.
Trường hợp Số lượng Giải thích
Tổng số 1001
Nhận dạng đúng 975
Nhận dạng sai 26 Do mắt nhắm hoặc bị tóc che khuất 1 phần
Không nhận dạng được 0
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
40
Hình 26 – Một số ví dụ về xác định vùng mắt trái.
Với miệng chúng tôi dùng bộ cascade được xây dựng từ file Mouth.xml với bộ
tham số là [1.1, 2, (40,25)], tuy nhiên trong trường hợp miệng, do cơ miệng có thể kéo
dãn tương đối rộng nên với những bức ảnh miệng mở quá lớn thì phát hiện vùng đặc
trưng thường bị thiếu, mất. Với những trường hợp này chúng tôi lấy vùng miệng là 1/3
vùng mặt dưới như Hình 24.
Bảng 8 – Kết quả xác định vùng miệng.
Trường hợp Số lượng Giải thích
Tổng số 1000
Nhận dạng đúng 920
Nhận dạng sai 80 Do vùng miệng phát hiện quá rộng, hoặc bị
mất một phần
Không nhận dạng được 0
Sau đây là một số ví dụ về trường hợp xác định vùng miệng:
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
41
Hình 27 – Một số ví dụ xác định vùng miệng (a) đúng, (b) sai.
4.3.3 Xác định 6 điểm đặc trưng
Xác định 2 mống mắt
Sử dụng phương pháp phép chiếu toàn bộ kết hợp với tính histogram tuy nhiên độ
chính xác của phương pháp không cao do trong ảnh thường có nhiễu hoặc một số ảnh
có chứa cả phần tóc làm cho thuật toán không còn chính xác, để cải tiến phương pháp,
chúng tôi chọn ra tập hợp các điểm đạt cực đại trong đường cong. Sau đó dùng phương
pháp hợp nhị phân, chọn 2 điểm ngoài cùng của dãy, tính điểm giữa của 2 điểm đó,
thêm vào dãy, sắp xếp dãy tăng dần theo tọa độ y. Lặp lại quá trình cho đến khi còn
một vị trí duy nhất thì ta được vị trí cần tìm.
Hình 28 – Đánh dấu hàng có histogram lớn nhất.
Tiếp theo, để xác định vị trí mống mắt theo tọa độ x (theo cột), chúng tôi tính
histogram theo cột sau đó chọn ra vị trí x có giá trị histogram là lớn nhất.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
42
Hình 29 – Xác định vị trí mống mắt bằng histogram.
Thử nghiệm phương pháp trên thu được kết quả không cao, rõ ràng phương pháp
xác định mống mắt bằng histogram bị ảnh hưởng bởi các yếu tố nhiễu, cường độ
sáng,… quá nhiều. Áp dụng phương pháp thứ 2 và chấp nhận sai số khoảng từ 1 đến 2
pixel, kết quả thu được tốt hơn rất nhiều.
Bảng 9 – Kết quả nhận dạng điểm mống mắt.
Trường hợp Số lượng Giải thích
Tổng số 1001
Nhận dạng đúng 975
Nhận dạng sai 26 Do mắt nhắm hoặc bị tóc che khuất 1 phần
Không nhận dạng được 0
Hình 32 – Xác định mống mắt là tâm vùng đặc trưng.
Xác định 2 lỗ mũi
Chúng tôi áp dụng thuật toán trên với bộ dữ liệu Cohn – Kanade, kết quả thu được
tương đối tốt.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
43
Bảng 10 – Kết quả nhận dạng 2 lỗ mũi.
Trường hợp Số
lượng
Giải thích
Tổng số 1000
Nhận dạng đúng 820
Nhận dạng sai 180 Do vùng mũi bị thiếu hoặc chứa một phần vùng
miệng.
Không nhận dạng
được
0
Hình 31 – Một ví dụ dùng thuật toán phát hiện cạnh Canny sau khi lấy ngưỡng.
Hình 32 – Ví dụ về xác định 2 lỗ mũi.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
44
Xác định 2 khóe miệng
Đầu tiên, để xác định khóe miệng, chúng tôi dùng phép chiếu histogram theo hàng
để xác định đường giữa 2 môi. Kết quả thu được không cao, với những miệng ở trạng
thái bình thường thì kết quả cho tương đối chính xác, nhưng những miệng ở trạng thái
vui, buồn, tức giận,… thì kết quả cho rất kém.
Hình 33 – Xác định đường mép bằng histogram
(a)Trường hợp chính xác, (b) Trường hợp không chính xác.
Áp dụng thuật toán thứ hai với bộ Cohn – Kanade kết quả thu được như sau:
Bảng 11 – Kết quả xác định 2 khóe miệng.
Trường hợp Số lượng Giải thích
Tổng số 1001
Nhận dạng đúng 975
Nhận dạng sai 26 Do phát hiện sai vùng miệng
Không nhận dạng được 0
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
45
Hình 34 – Ví dụ lấy ngưỡng trong khoảng [5 50].
Hình 35 – Ví dụ xác định cạnh bằng thuật toán Canny.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
46
Hình 36 – Ví dụ xác định 2 điểm khóe miệng.
4.3.3 Xác định 14 điểm đặc trưng
Trong phần này chúng tôi xây dựng hệ thống xác định 14 điểm đặc trưng như Hình 37
Hình 37 – Thực nghiệm 8 điểm đặc trưng.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
47
Để xây dựng bộ phân lớp cho 8 điểm, chúng tôi chọn 50 bức ảnh của 22 người
trong bộ dữ liệu Cohn – Kanade để làm mẫu. Sau đó chúng tôi tạo ra 14 model ứng với
14 điểm như phương pháp trình bày trong mục 4.2.
Để kiểm tra hệ thống, chúng tôi lấy 20 bức ảnh trong đó có 10 ảnh vùng mắt và 10
ảnh vùng miệng của 10 người khác nhau (trong 10 bức ảnh của 10 người có 2 bức đã
được dùng để huấn luyện) để làm dữ liệu kiểm tra. Để xác định điểm đặc trưng trong
một bức ảnh, chúng tôi xác định vùng đặc trưng xung quanh điểm đó sau đó dùng một
cửa sổ kích thước 10x10 pixel (có kích thước bằng bộ lọc Gabor) quét trên toàn bộ
vùng ảnh đặc trưng với tỷ lệ dịch là 1 pixel, với mỗi lần quét, chúng tôi trích chọn đặc
trưng Gabor của vùng ảnh trong cửa sổ đó theo phương pháp trình bày trong bước thứ
nhất, với mỗi điểm chúng tôi thu được một vector đặc trưng vj, sau đó cho vector vj lần
luợt qua 14 model xây dựng trong bước thứ 2 để dự đoán xem có thuộc vào 1 trong 14
lớp không. Kết thúc bước này, chúng tôi thu được 14 tập hợp các điểm được dự đoán
là true. Sau đó chúng tôi dùng một số luật để đánh giá chọn ra điểm đúng, cụ thể
chúng tôi trình bày về các luật ứng với 14 điểm Pt t=1,14 như sau:
Luật cho điểm P1 và P9:
P1 x < M.x và y < M.y.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
48
Luật cho điểm P2 và P10:
P2 x < M.x và y < M.y.
Luật cho điểm P3, P5, P11 và P13:
P3: x < M.x và M.y – α/2 < y < M.y + α/2 với α = 20 pixel.
P5: x > M.x và M.y – α/2 < y < M.y + α/2 với α = 20 pixel.
Với P11 và P13 đối xứng với P3 và P5 nên ta có luật tương tự.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
49
Luật cho điểm P4, P6, P12 và P14:
P4: y < M.y và M.x – β/2 < x < M.x + β/2 với β = 60.
P6: y > M.y và M.x – β/2 < x < M.x + β/2 với β = 60.
P12 và P14 đối xứng với P4 và P6 nên ta có luật tương tự.
Luật cho điểm P7 và P8:
P7 : M1.x < x < M2.x và y < M.y
P8 : M1.x M.y với α = 20 và β = 40.
Dưới đây chúng tôi trình bày kết quả xác định 8 điểm đặc trưng từ Pt t=1,8. Do 6 điểm
Pt t=9,14 đối xứng với 6 điểm t=1,6 nên cách xác định cũng tương tự.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
50
Kết quả xác định 6 điểm đặc trưng Pt t =1,6 với 10 ảnh vùng mắt kích thước như sau:
Bảng 12 – Danh sách kích thước ảnh mẫu kiểm tra.
Ảnh Kích thước Ảnh Kích thước
eye_test1 96x60 mouth_test1 139x67
eye_test2 87x55 mouth_test2 147x68
eye_test3 79x50 mouth_test3 148x61
eye_test4 80x52 mouth_test4 125x53
eye_test5 84x51 mouth_test5 121x55
eye_test6 74x52 mouth_test6 132x71
eye_test7 84x49 mouth_test7 115x59
eye_test8 83x52 mouth_test8 122x58
eye_test9 114x60 mouth_test9 115x55
eye_test10 101x54 mouth_test10 92x46
Test 1
Điểm x y x' y' Khoảng cách
P1 19 20 21 13 7.28011
P2 74 16 79 17 5.09902
P3 23 31 19 40 9.848858
P4 45 22 45 18 4
P5 70 38 64 34 7.211103
P6 44 49 44 45 4
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
51
Test 2
Điểm x y x' y' Khoảng cách
P1 6 16 13 21 8.602325
P2 67 18 67 19 1
P3 23 35 22 35 1
P4 45 25 40 23 5.385165
P5 68 36 67 37 1.414214
P6 42 41 41 43 2.236068
Test 3
Điểm x y x' y' Khoảng cách
P1 9 14 13 12 4.472136
P2 60 11 52 9 8.246211
P3 19 29 19 24 5
P4 38 21 35 19 3.605551
P5 56 29 49 28 7.071068
P6 36 34 36 31 3
Test 4
Điểm x y x' y' Khoảng cách
P1 10 13 17 12 7.071068
P2 57 12 51 11 6.082763
P3 19 35 20 36 1.414214
P4 40 25 37 22 4.242641
P5 61 37 59 33 4.472136
P6 39 39 38 39 1
Test 5
Điểm x y x' y' Khoảng cách
P1 17 22 19 17 5.385165
P2 69 15 58 10 12.08305
P3 21 42 24 36 6.708204
P4 46 29 45 30 1.414214
P5 65 39 60 38 5.09902
P6 44 43 43 40 3.162278
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
52
Test 6
Điểm x y x' y' Khoảng cách
P1 7 21 11 19 4.472136
P2 58 16 51 14 7.28011
P3 18 34 15 30 5
P4 37 24 36 17 7.071068
P5 52 32 54 30 2.828427
P6 35 38 33 36 2.828427
Test 7
Điểm x y x' y' Khoảng cách
P1 9 16 13 17 4.123106
P2 58 12 61 14 3.605551
P3 20 37 23 32 5.830952
P4 42 26 43 27 1.414214
P5 59 30 60 34 4.123106
P6 42 39 40 38 2.236068
Test 8
Điểm x y x' y' Khoảng cách
P1 12 19 18 18 6.082763
P2 63 19 60 15 5
P3 24 37 26 35 2.828427
P4 42 26 43 24 2.236068
P5 64 34 60 33 4.123106
P6 42 41 41 38 3.162278
Test 9
Điểm x y x' y' Khoảng cách
P1 5 23 5 24 1
P2 87 14 85 13 2.236068
P3 27 43 31 42 4.123106
P4 56 27 54 25 2.828427
P5 87 49 84 45 5
P6 54 48 56 44 4.472136
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
53
Test 10
Điểm x y x’ x’ Khoảng cách
P1 14 18 20 20 6.324555
P2 82 23 75 22 7.071068
P3 17 39 22 35 6.403124
P4 46 28 38 26 8.246211
P5 76 41 72 36 6.403124
P6 45 45 42 44 3.162278
Trung bình sai số:
Bảng 13 – Sai số trung bình.
Điểm Khoảng cách trung bình
P1 5.48
P2 5.77
P3 4.81
P4 4.04
P5 4.77
P6 2.92
Qua bảng kết quả, với sai số epsilon = 6 thì kết quả nhận dạng trung bình sẽ là 100%,
với epsilon = 5 thì kết quả nhận dạng là 4/6 = 66,6%. Nguyên nhân có sai số như vậy
là do trong bước huấn luyện chúng ta cũng không xác định rõ được duy nhất một điểm
đúng mà là xác định một vùng đặc trưng xung quanh điểm đó. Thứ hai, trong bước
chấm các điểm bằng tay thì cũng đã có sai lệch. Do đó, sai số trong khoảng 5 – 6 pixel
là chấp nhận được như Hình 38.
Chương 4 : Xây dựng hệ thống nhận dạng các điểm đặc trưng Nguyễn Thành Trung
54
Hình 38 – Ví dụ về xác định 8 điểm đặc trưng.
Qua bảng tính trung bình chúng ta nhận thấy rằng P6 có độ lệch trung bình là nhỏ nhất
cho thấy tỷ lệ xác định đúng điểm P6 là cao nhất, nhận thấy rằng vị trị điểm P6 trong
vùng mắt là vị trí khác nhất, không bị đan xen hay cắt vị trí điểm đặc trưng khác hay
nói cách khác là khác biệt với vùng xunh quanh là rõ ràng nhất. Điều đó chứng tỏ đặc
trưng diện mạo (ở đây là Gabor) thường cho kết quả tốt khi dùng với các vùng có sự
khác biệt rõ ràng.
Kết quả xác định 2 điểm P7, P8 với 10 ảnh vùng miệng:
Bảng 14 – Kết quả xác định 2 điểm P7,P8 với 10 mẫu.
Test
Điểm chuẩn Thực nghiệm
Khoảng cách
Điểm chuẩn Thực nghiệm
Khoảng cách
x y X‟ Y‟ x y X‟ Y‟
test 1 72 18 66 16 6.324555 73 48 73 44 4
test 2 77 18 75 16 2.828427 78 47 68 48 10.04988
test 3 76 12 74 12 2 76 42 76 40 2
test 4 66 15 66 14 1 66 34 66 34 0
test 5 56 15 53 14 3.162278 56 35 57 41 6.082763
test 6 67 19 65 17 2.828427 67 52 73 47 7.81025
test 7 60 11 56 12 4.123106 60 38 58 36 2.828427
test 8 58 13 56 13 2 61 38 54 38 7
test 9 58 14 55 13 3.162278 59 35 57 34 2.236068
test10 48 12 45 12 3 47 33 41 33 6
3.042970 4.80
Qua bảng tính khoảng cách sai số trung bình của 2 điểm P7 và P8 cho thấy kết quả xác
định 2 điểm này chính xác hơn so với các điểm Pt t=1,6. Rõ ràng rằng sự khác biệt
giữa các vùng xung quanh 2 điểm này là rõ rệt, kết quả này chứng mình nhận định trên
của chúng tôi là đúng.
Chương 5 : Tổng kết Nguyễn Thành Trung
55
Chương 5
Tổng kết và hướng phát triển
Trong khóa luận này chúng tôi đã đưa ra một phương pháp lai nhằm mục đích xác
định 20 điểm đặc trưng trên khuôn mặt như một vấn đề cốt lỗi trong bài toán nhận
dạng khuôn mặt, nhận dạng cảm xúc. Phương pháp của chúng tôi dựa trên hai hướng
tiếp cận chính là: Xác định điểm đặc trưng bằng luật và trích chọn đặc trưng dùng bộ
lọc Gabor kết hợp với phương pháp học máy Suport Vector Machine. Trong hướng
tiếp cận bằng luật, chúng tôi xác định 6 điểm đặc trưng là hai mống mắt, hai điểm lỗ
mũi và hai khóe miệng. Để xác định hai mống mắt chúng tôi xác định vùng quan tâm
của mắt phải và mắt trái thông qua phương pháp phát hiện thành phần với đặc trưng
giống Haar. Với hai điểm lỗ mũi và hai khóe miệng chúng tôi lấy ngưỡng vùng ảnh
quan tâm của hai thành phần này sau đó dùng thuật toán Canny để phát hiện cạnh của
các phần và xác định ra đường biên của các vùng dựa trên tư tưởng đồ thị liên thông.
Để xác định 14 điểm đặc trưng còn lại chúng tôi lấy đặc trưng Gabor đối với từng
điểm. Mỗi điểm tương ứng với một vector đặc trưng Gabor bao gồm giá trị điểm ảnh
của vùng ảnh 10x10 pixel và giá trị điểm ảnh của 48 vùng ảnh Gabor. Sau đó chúng
tôi áp dụng phương pháp học máy Suport Vector Machine để xây dựng nên 14 model
nhận dạng cho 14 điểm tương ứng.
Với hệ thống đã xây dựng các kết quả thu được trên bộ dữ liệu chuẩn Cohn –
Kanade hệ thống của chúng tôi xác định được 6 điểm dựa trên hướng tiếp cận bằng
luật với độ chính xác trên 90%, kết quả xác định 14 điểm còn lại bằng đặc trưng Gabor
và phương pháp học máy Suport Vector Machine với sai số epsilon = 5 pixel là 66,6%.
Trong thời gian tới, chúng tôi tiếp tục cải tiến phương pháp tốt hơn dùng để trích chọn
đặc trưng từ ảnh khuôn mặt 2D trong hệ thống nhận dạng cảm xúc tự động.
Phụ lục Nguyễn Thành Trung
56
Tài liệu tham khảo
[1] Z.Zhang, M.Lyons, M.Schuster, S.Akamatsu. Comparison Between Geometry-
Based and Gabor-Wavelets-Based Facial Expression Recognition Using Multi-
Layer Perceptron. IEEE International Conference on Automatic Face and
Gesture Recognition. 1998.
[2] M.F.Valstar, M.Pantic. Fully automatic facial action unit detection and
temporal analysis. IEEE International Conference on Computer Vision and
Pattern Recognition. 2006.
[3] J.Yang, R.Stiefelhagen, U.Meier, A.Waibel. Real-time face and facial feature
tracking and applications. In Proceedings of Auditory-Visual Speech
Processing, New South Wales, Australia. 1998.
[4] Y.L.Tian, L.Brown, A.Hampapur, S.Pankanti, A.Senior, R.Bolle. Real world
real-time automatic recognition of facial expressions. IEEE Workshop on
Performance Evaluation of Tracking and Surveillance. 2003.
[5] D.Vukadinovic, M.Pantic. Fully Automatic Facial Feature Point Detection
Using Gabor Feature Based Boosted Classifiers. IEEE International Conference
on Systems, Man and Cybernetics. 2005.
[6] I. Kotsia, I. Pitas. Facial expression recognition in image sequences using
geometric deformation features and support vector machines. IEEE
Transactions on Image Processing. 2007.
[7] J. Y. Bouguet. Pyramidal Implementation of the Lucas-Kanade Feature
Tracker. Tech. Rep. Intel Corporation, Microprocessor Research Labs. 2000.
[8] I. Matthews, S. Baker. Active Appearance Models revisited. International
Journal of Computer Vision. 2004.
[9] S.Lucey, A.B.Ashraf, J.F.Cohn. Investigating Spontaneous Facial Action
Recognition through AAM Representations of the Face. In Face Recognition,
K.Delac, M.Grgic, Eds. Vienna, Austria: I-Tech Education and Publishing.
2007.
[10] T. Cootes, G. Edwards, C. Taylor. Active appearance models. IEEE
Transactions on Pattern Analysis and Machine Intelligence. 2001.
[11] B.D.Lucas, T.Kanade. An iterative image registration technique with an
application to stereo vision. Conference on Artificial Intelligence. 1981.
[12] J.Shi, C.Tomasi. Good features to track.. IEEE International Conference on
Computer Vision and Pattern Recognition. 1994.
Phụ lục Nguyễn Thành Trung
57
[13] Y.Zhang, Q.Ji. Active and dynamic information fusion for facial expression
understanding from image sequence. IEEE Transactions on Pattern Analysis
and Machine Intelligence. 2005.
[14] M.Isard, A.Blake. Condensation - conditional density propagation for visual
tracking. International Journal of Computer Vision.1998.
[15] M.K.Pitt, N.Shephard. Filtering via simulation: auxiliary particle filtering.
Journal of the American Statistical Association. 1999.
[16] I.Patras, M.Pantic. Particle filtering with factorized likelihoods for tracking
facial features. IEEE International Conference Face and Gesture Recognition.
2004.
[17] Y.L.Tian, T.Kanade, J.Cohn. Recognizing action units for facial expression
analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence.
2001.
[18] L.Ding, A.M.Martinez. Precise Detailed Detection of Faces and Facial
Features. IEEE Conference on Computer Vision and Pattern Recognition. 2008.
[19] H.B.Deng, L.W.Jin, L.X.Zhen, J.C.Huang. A New Facial Expression
Recognition Method Based on Local Gabor Filter Bank and PCA plus LDA.
International Journal of Information Technology. 2005.
[20] T. Ojala, M. Pietikäinen, and T. Maenpaa. Multiresolution Gray Scale and
Rotation Invariant Texture Analysis with Local Binary Patterns. IEEE
Transactions on Pattern Analysis and Machine Intelligence. 2002.
[21] G.Zhao, M.Pietikäinen. Dynamic texture recognition using local binary patterns
with an application to facial expressions. IEEE Transactions on Pattern
Analysis and Machine Intelligence. 2007.
[22] M. J. Lyons, S. Akamatsu, M. Kamachi, J. Gyoba. Coding Facial Expressions
with Gabor Wavelets. The 3th IEEE International Conference on Automatic
Face and Gesture Recognition, Nara, Japan. 1998.
[23] Takeo Kanade, Jeffrey Cohn, and Ying-li Tian. Comprehensive database for
facial expression analysis. International Conference on Automatic Face and
Gesture Recognition. 2000.
[24] T.F.Cootes, C.J.Taylor, D.Cooper, and J.Graham. Active shape models – their
training and applications. Computer Vision and Image Understanding. 1995.
[25] M. Turk and A. Pentland (1991). "Face recognition using eigenfaces". Proc.
IEEE Conference on Computer Vision and Pattern Recognition.
[26] Gorsuch, R. L. (1983) Factor Analysis. Hillsdale, NJ: Lawrence Erlbaum.
Phụ lục Nguyễn Thành Trung
58
[27] Mika, S. et al. (1999). "Fisher Discriminant Analysis with Kernels". IEEE
Conference on Neural Networks for Signal Processing IX: 41–48.
[28] L. Farkas, "Anthropometry of the Head and Face," Raven Press, New York, vol.
98, 1994, pp. 182-210.
[29] T. Ojala, M. Pietikäinen, and D. Harwood (1996), "A Comparative Study of
Texture Measures with Classification Based on Feature Distributions", Pattern
Recognition, vol. 29, pp. 51-59
[30] P. Viola, & M. Jones. (2004). Robust real-time face detection. International
Journal of Computer Vision, 57(2), 137-154.
[31] Yoav Freund and Robert E. Schapire. Experiments with a new boosting
algorithm. In Machine Learning: Proceedings of the Thirteenth International
Conference, pages 148–156,1996.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN- TRÍCH CHỌN ĐẶC TRƯNG TRÊN KHUÔN MẶT NGƯỜI.pdf