Tải bản đầy đủ (.pdf) (47 trang)

ĐHCNTT-RÚT TRÍCH THÔNG TIN TỪ KHUÔN MẶT VÀ TÁI HIỆN LẠI TRÊN MÔ HÌNH 3D

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (565.21 KB, 47 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

TRỊNH ĐÌNH DUY
RÚT TRÍCH THÔNG TIN TỪ KHUÔN MẶT
VÀ TÁI HIỆN LẠI TRÊN MÔ HÌNH 3D
Chuyên ngành : KHOA HỌC MÁY TÍNH
Mã số : CH0601013
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS. LÊ HOÀI BẮC
Thành phố Hồ Chí Minh – Năm 2009
Lời Cám Ơn
(VIẾT SAU)
1
Lời Cam Đoan
`
(VIẾT SAU)
2
Mục Lục
Trang
Trang Phụ Bìa
Lời Cám Ơn 1
Lời Cam Đoan 2
Mục Lục 3
Danh Mục Các Ký Hiệu, Các Chữ Viết Tắt 5
Danh Mục Các Từ Nguyên Gốc Tiếng Anh 5
Danh Mục Các Bảng 7
Danh Mục Các Hình 8
MỞ ĐẦU 9
Chương 1 - TỔNG QUAN 12


1.1. Giới Thiệu 12
1.1.1. Dò tìm khuôn mặt 13
1.1.2. Rút trích những điểm trên khuôn mặt 13
1.2. Những Thách Thức 16
1.3. Phát Biểu Bài Toán 18
1.4. Phạm Vi Đề Tài 18
1.5. Những Đóng Góp 19
1.6. Cấu Trúc Luận Văn 19
Chương 2 - RÚT TRÍCH THÔNG TIN KHUÔN MẶT 20
2.1. Giới thiệu 20
2.2. Dò Tìm Khuôn Mặt 20
2.2.1. Giới thiệu 20
2.2.2. Những Đặc Trưng dựa trên Gợn Sóng (Wavelet-based Features) 21
2.2.2.1. Haar wavelet 22
2.2.2.2. Haar cascades file 24
2.2.3. Thảo luận 26
3
2.3. Rút Trích Thông Tin Từ Khuôn Mặt 28
2.3.1. Xác định vùng cần quan tâm 28
2.3.2. Những điểm đặc trưng cần rút trích 29
2.3.3. ASM 32
2.3.3.1. Hình dáng 32
2.3.3.2. Biến đổi hình dáng 33
2.3.3.3. Mô hình hình dáng 33
2.4. Cở sở dữ liệu ảnh 33
Chương 3 - XÂY DỰNG CHƯƠNG TRÌNH 34
Chương 4 - THỬ NGHIỆM 36
4.1. Bộ Dữ Liệu Thử Nghiệm 36
Chương 5 - KẾT LUẬN 37
5.1. Kết Quả 37

5.2. Khuyến Nghị 37
TÀI LIỆU THAM KHẢO 38
4
Danh Mục Các Ký Hiệu, Các Chữ Viết Tắt
- CV : Computer Vision (Thị giác máy tính)
- ASM : Active Shape Model
- Nnk : Những Người Khác
- SVM : Support Vector Machine
Danh Mục Các Từ Nguyên Gốc Tiếng Anh
- Coarse-to-fine : từ thô xơ đến tinh vi
- A multi-stage approach : một phương pháp gồm nhiều giai đoạn
- Frontal view : phía trước
- Multi view : nhiều góc nhìn như những hướng xoay khác
nhau
- State-of-the-art : tinh xảo
- Scale : độ co giãn
- Recall paper :
- A low false positive rate : tỷ lệ xác thực sai số thấp
- A weak classifier : pha
- Robust : nhanh
- Integral image filter : bộ lọc ảnh tích phân
- Alignment : phân đoạn - segmentation (như phân đoạn
khuôn mặt)
- Classifier : bộ phân lớp
- Shape : hình dáng
- Shape model : mô hình hình dáng
- Profile model : mô hình
- Landmark : mốc ranh giới
5
- Statistical shape model : mô hình thống kê

- Facial feature : đặc trưng khuôn mặt
- Eigenvalues : giá trị riêng
- Eigenvectors : vector riêng
6
Danh Mục Các Bảng
7
Danh Mục Các Hình
Hình 1-1: Cấu trúc hệ thống theo dõi khuôn mặt từ webcam 14
Hình 1-2: Kết quả tìm kiếm của hệ thống nhận diện khuôn với độ phân giải thấp. .14
Hình 1-3: Hình minh hoạ tính năng nhận diện khuôn mặt của iPhone 15
Hình 1-4: Một cảnh trong trò chơi ZingDance 16
Hình 1-5: Mô hình các bước để xây dựng 18
Hình 2-6: Những đặc tính của gợn sóng Haar 22
Hình 2-7: Cách tạo ra ảnh tích phân 23
Hình 2-8: Chia vùng khuôn mặt thành những vùng nhỏ hơn để thao tác. (a) Xác
định vùng mắt (b) Xác định vùng miệng dựa trên khoảng cách mắt (Eye Distance –
ED) 28
Hình 2-9: 20 điểm đặc trưng trên khuôn mặt – hình từ BioID 29
Hình 2-10: Mô hình 20 điểm đặc trưng trên khuôn mặt 30
Hình 2-11: Bên trái là một hình dáng đơn giản với 3 điểm. 32
Hình 3-12: Lược đồ lớp của chương trình 34
8
MỞ ĐẦU
Với những nghiên cứu liên quan đến sự tương tác giữa khuôn mặt và máy tính
sẽ giúp ích rất nhiều cho những người khuyết tật, những ứng dụng an ninh, truy tìm
tội phạm, cũng như ngày nay càng nhiều hình ảnh, đoạn phim dài được chia sẽ và
có nhu cầu truy tìm thông tin trở nên cần thiết, một trong những hướng có thể tiếp
cận là dựa vào những đặc trưng khuôn mặt, và bài toán rút trích đặc trưng là những
bước cơ bản cho hướng nghiên cứu này. Cũng như từ những bước cơ bản này,
chúng ta phát triển những nghiên cứu về nhận dạng biểu cảm, nén ảnh, hiểu cách ra

hiệu của môi (lip-reading) [68].
Ngày nay, với sự phát triển của webcam thì nhu cầu của việc ứng dụng thông
minh vào hệ thống an ninh càng trở nên cấp thiết. Điều này giúp cho hệ thống tự
động nhận dạng các đối tượng ở một vị trí nhất định một cách dễ dàng. [40]
[61] Trong một thập kỷ qua, vấn đề sinh trắc học như mống mắt, vân tay,
khuôn mặt trong lĩnh vực an ninh đã trở thành một trong những chủ đề quan trọng
của các chính phủ và những nhà nghiên cứu trên thế giới. Tuy nhiên, để có được kết
quả phân tích chính xác cao trong sinh trắc học như mống mắt hay vân tay, đòi hỏi
phải có sự hợp tác chặt chẽ từ phía đối tượng được phân tích. Chẳng hạn đối với
vân tay, người cần phân tích phải tuân thủ các điều kiện là tay không được ướt, cũng
như cách quét lên hệ thống đó phải đủ mạnh và đều thì hệ thống mới nhận dạng
được. Bên cạnh đó, việc phân tích mống mắt đòi hỏi đối tượng cần phân tích phải
đưa mắt của mình vào đúng vị trí mà hệ thống yêu cầu, mặt khác để có được hình
ảnh mống mắt chất lượng tốt thì cần phải có một công nghệ tiên tiến với chi phí cao
thì hệ thống mới có đúng dữ liệu đầu vào để phân tích. Điều này gây khó khăn cho
việc ứng dụng công nghệ phân tích vân tay và mống mắt trong thực tế. Do đó,
người ta đã chú ý đến những yếu tố khác của sinh trắc học và khuôn mặt là đối
tượng thu hút được sự quan tâm của nhiều người, vì công nghệ phân tích khuôn mặt
9
không đòi hỏi các điều kiện khắc khe nhưng vẫn cho ta kết quả phân tích ở mức
chấp nhận được.
Mặc khác, để việc xây dựng những công cụ tìm kiếm hình ảnh hay đoạn phim
đáp ứng được nhu cầu thực tế thì đó không phải là một công việc dễ dàng mà là một
thách thức lớn trong lĩnh vực thị giác máy tính. Nếu như các công cụ tìm kiếm hiện
nay cần dữ liệu đầu vào là chuỗi các từ khoá, thì công cụ tìm kiếm đa phương tiện
cần dữ liệu đầu vào là hình ảnh (còn gọi là visual words). Tuy nhiên, để hiểu được
nội dụng hình ảnh thì chúng ta cần rút trích đặc tính của đối tượng tinh vi hơn. Đây
cũng là một thách thức lớn đối với các nhà nghiên cứu. Vì vậy, để làm cho bài toán
đơn giản nhưng khả thi hơn, chúng ta cần thực hiện rút trích thông tin từ khuôn mặt
của con người. [46]

[48] Việc rút trích thông tin từ khuôn mặt là một trong những vấn đề cơ bản có
thể cho chúng ta ứng dụng vào trong thực tế như: nhận dạng khuôn mặt (face
recognition), theo dõi khuôn mặt (face tracking), phân tích biểu lộ khuôn mặt, theo
dõi cái nhìn chằm chằm (gaze tracking), hiểu cách ra hiệu của môi (lip-reading).
[70] Do đó, để xử lý được thông tin từ khuôn mặt thì trước tiên chúng ta cần định vị
mắt. Đây là một trong những bước cơ bản nhất của tiến trình phân tích [29]. Như
chúng ta biết, độ sai số trong giai đoạn định vị những đặc tính ảnh hưởng rất lớn
đến tỷ lệ nhận dạng mà chúng ta không thể biết trước được.
Đây là cơ hội để tiếp tục nghiên cứu trong lĩnh vực xử lý hình ảnh này. Từ
những thông tin rút trích được, có thể ứng dụng trong lĩnh vực an ninh (chẳng hạn
tìm ra những tên trộm trong hồ sơ lưu trữ thông tin con người), nén ảnh, và những
tương tác giữa con người và máy tính. Nhiều công ty xe, có thể ứng dụng công nghệ
nhận dạng để dò tìm những biểu cảm của tài xế để đưa ra những cảnh báo hợp lý.
Hay những nhà quảng cáo trên web cần biết những thông tin về khuôn mặt xem xét
sự hiệu quả của những logo có thể đặt ở nơi nào trên cổng thông tin web đó. Thêm
nữa, những công ty làm phim 3D cũng quan tâm đến những thông tin biểu cảm của
khuôn mặt cho những sản phẩm của họ.
10
Trong luận văn này, tôi tập trung vào vấn đề rút trích được những thông tin
trên khuôn mặt (những điểm trên khuôn mặt) cũng như những thông tin 3D của nó,
chúng tôi đưa ra một phương pháp gồm nhiều giai đoạn để giảm thời gian dò tìm
trong khi vẫn đảm bảo tỷ lệ dò tìm cao. Đầu tiên chúng ta cần phải xem xét phương
pháp dò tìm khuôn mặt nhanh, để giới hạn lại vùng cần rút trích. Tiếp đến, chúng ta
áp dụng một phương pháp rút trích trên vùng vừa dò tìm để xác định được những
điểm cần quan tâm trên khuôn mặt như mắt, mũi, miệng.
Trong giai đoạn dò tìm khuôn mặt, tôi chỉ xem xét những khuôn mặt ở phía
trước (frontal view) và tôi đề xuất phương pháp Adaboost [27], bởi phương pháp
này cho kết quả nhanh. Và giai đoạn sau, tôi sẽ tập trung vào xem xét một trong hai
phương pháp ASM, SVM, Gabor, cho quá trình rút trích những thông tin trên khuôn
mặt và xem xét phương pháp Kalman để giải quyết bài toán theo thời gian thực.

11
Chương 1 - TỔNG QUAN
1.1. Giới Thiệu
Những thách thức trong những năm qua đó là xây dựng những ứng dụng tìm
kiếm những dữ liệu đa phương tiện sẵn sàng cho người dùng. Việc xử lý khuôn mặt,
cũng như rút trích thông tin từ khuôn mặt đóng vai trò quan trọng. Bởi lẽ, hiện nay
vấn đề tìm kiếm thông tin từ dữ liệu video vẫn còn bỏ ngõ, và một trong những
hướng tiếp cận đó là tìm kiếm dựa trên khuôn mặt. [46] Trong công trình này, tác
giả đã đưa ra những phương pháp để rút trích tự động và tổ chức số lượng lớn
những khuôn mặt cho quá trình lập chỉ mục, đạt lấy dữ liệu video.
Nguyễn Thành Thái (2006), Nhận Dạng Mặt Người Dùng SVM và Mạng
Nơron, Luận Văn Thạc Sĩ, DHCNTT TpHCM, TpHCM. [tóm tắt] [2] đã kết hợp
giữa SVM và mạng nơron để nhận dạng khuôn mặt.
[4] đã phát triển một hệ thống cho phép tự động xác định được nhiều khuôn mặt
cùng lúc với các thành phần mắt mũi miệng và đã đạt được độ chính xác khá cao
bởi việc loại các thành phần gây nhiễu.
[8]
[66] đã có những khảo sát trong lĩnh vực nhận dạng, ông và các đồng nghiệp đã
chỉ ra rằng những phương pháp xác thực dựa trên mật khẩu hay ký hiệu thì quá dễ
để phá vỡ. Những phương pháp sinh trắc học là một lựa chọn hợp lý nhưng cũng có
những mặt hạn chế.
- Phương pháp quét mống mắt rất tin cậy nhưng áp đặt người sử dụng quá
nhiều, chi phí mắc để thực hiện và không được chấp nhận bởi nhiều người.
- Nhận dạng vân tay được chấp nhận mang tính chất xã hội, nhưng không thể
ứng dụng đối với những người không tán thành.
- Ngược lại, nhận dạng khuôn mặt tương ứng với một sự thoả hiệp giữa sự
chấp nhận có tính chất xã hội và tinh cậy.
Trong nhiều thập kỷ qua, những tiến bộ chính đã xuất hiện trong nhận dạng với
nhiều hệ thống có khả năng đạt được tỷ lệ nhận dạng hơn 90%. Tuy nhiên, trong
12

ngữ cảnh của thế giới thực vẫn tồn tại thách thức, bởi những xử lý khuôn mặt có thể
chịu đựng những thách thức lớn sự biến đổi lớn.
Trong quá trình rút trích thông tin khuôn mặt, bước đầu tiên cần phải xác định
khuôn mặt. Trong nghiên cứu này, chúng ta xem xét phương pháp

1.1.1. Dò tìm khuôn mặt
Phạm Thế Bảo & nnk, 2006 đã có khảo sát tổng quan về những phương pháp
xác định khuôn mặt.
Hiện nay, Adaboost là một phương pháp phổ biến cho việc dò tìm khuôn mặt.
Nó cũng đã được cộng đồng các nhà phát triển cùng nhau xây dựng, đó là hệ thống
mã nguồn mở OpenCV. Phương pháp này được sử dụng để dò tìm khuôn mặt, cũng
như các thành phần trên khuôn mặt nhờ vào những bộ thư viện huấn luyện. Một số
tác giả cũng đã sử dụng bộ thư viện OpenCV và bộ huấn luyện khuôn mặt và mắt
cho việc dò tìm khuôn mặt và mắt [8].
1.1.2. Rút trích những điểm trên khuôn mặt
[Tony Kamenick & nnk, web] đã xây dựng ứng dụng lấy những hình ảnh từ
webcam theo thời gian thực, sau đó rút trích những vectơ đặc trưng đã được định
nghĩa trước và gởi đến SVM để phân lớp để phân loại những hành động của khuôn
mặt tương ứng với những hành động của con chuột máy tính. Đây là một giải pháp
thay thế việc sử dụng chuột.
13
Hình 1-1: Cấu trúc hệ thống theo dõi khuôn mặt từ webcam
IBM cũng có một dự án tương tự với tên gọi Head-tracking pointer.
Nhà nghiên cứu Pablo Hennings-Yeomans tại Đại học Carnegie Mellon đã phát
triển một hệ thống nhận diện khuôn mặt có thể hoạt động với những hình ảnh có độ
phân giải thấp. Thuật toán siêu phân giải này sẽ được cải thiện thêm và tích hợp vào
công cụ web để tìm kiếm video trên YouTube. [74]
Hình 1-2: Kết quả tìm kiếm của hệ thống nhận diện khuôn với độ phân giải thấp
Như chúng ta đã biết, iPhone là một trong số những di động bán chạy nhất hiện
nay. Họ đã nộp đơn xin đăng ký bằng sáng chế cho một số tính năng mới, trong đó

có tính năng nhận diện khuôn (theo Register, TGDaily).
14
Hình 1-3: Hình minh hoạ tính năng nhận diện khuôn mặt của iPhone
Và trong tương lai, những chiếc điện thoại thế hệ 3G phát triển mạnh, việc sử
dụng Avatar động là những đối tượng 3D trong quá trình gọi điện thoại có video sẽ
được ứng dụng. Những ứng dụng dạng này sẽ sử dụng những kỹ thuật rút trích
thông tin từ khuôn mặt để tái hiện những hình ảnh 3D cử động như khuôn mặt con
người.
15
Hình 1-4: Một cảnh trong trò chơi ZingDance
Với những trò chơi 3D, việc cho phép chọn những đồ đạc mặc trên người để
tăng thêm vẽ đẹp của nhân vật. Ngoài ra, nếu khuôn mặt và những hành động cử chỉ
gần giống với người thật sẽ giúp cho người chơi hoà nhập tốt hơn với trò chơi đó.
Và những ứng dụng trong việc làm phim 3D tiện lợi hơn rất nhiều. Điều này sẽ dễ
dàng làm được nếu chúng ta có được những công nghệ rút trích khuôn mặt.
1.2. Những Thách Thức
[57] Định vị đặc tính trên khuôn mặt tự động đã được thử thách lâu dài trong
lĩnh vực thị giác máy tính trong nhiều thập kỷ qua. Điều này có thể được giải thích
bởi khả năng rộng lớn, một khuôn mặt trong một bức hình có thể có được là nhờ
những yếu tố như vị trí, biểu cảm, tư thế, độ chiếu sáng và nền lộn xộn.
Sự xuất hiện của khuôn mặt thay đổi quyết liệt do biểu cảm, tư thế, độ chiếu
sáng, (expression [Peter & nnk, 1997], pose [Georghiades & nnk, 2001] and
illumination [Adini & nnk, 1997]) tuổi tác, và những thay đổi hình tượng (chẳng
16
hạn râu, kính). Sự biến đổi lớn trong sự xuất hiện của khuôn mặt làm những thuật
toán nhận dạng trên những bức hình và video trở thành một thách thức.  Cần xây
dựng một phương pháp nhanh để giải quyết những vấn đề khó khăn này.
Bài toán rút trích thông tin từ khuôn mặt là một vấn đề khó trong lĩnh vực thị
giác máy tính (computer vision) trong nhiều năm qua. Điều này có thể giải thích bởi
những thay đổi lớn của khuôn mặt trong một khung cảnh qua những yếu tố như:

- Sự biểu cảm của khuôn mặt (expression [Peter & nnk, 1997]): có ảnh hưởng
đáng kể lên các thông số của khuôn mặt. Chẳng hạn, cùng một khuôn mặt
một người, nhưng sẽ rất khác khi họ cười hay buồn, …
- Tư thế, góc nhìn (pose [Georghiades & nnk, 2001]: ở những tư thế khác nhau
có thể sẽ làm khuất một phần mắt, mũi, miệng hoặc thâm chí khuất hết. Gây
khó khăn cho việc rút trích những điểm đặc trưng.
- Những thay đổi độ chiếu sáng illumination [Adini & nnk, 1997]): những biến
đổi độ chiếu sáng do những thuộc tính phản xạ với da, và do tính chất
camera sẽ ảnh hưởng đến chất lượng ảnh.
- Tuổi tác, những thay đổi hình dáng (chẳng hạn sự che khuất của râu, kính):
làm bài toán trở nên phức tạp hơn, phải xem xét nhiều trường hợp hơn.
- Độ phân giải khác nhau (resolution):
- Sự đa dạng hoá của màu da
- Các khuôn mặt dính vào nhau trong cùng 1 bức ảnh
- Bên cạnh đó, việc rút trích đặc tính mắt, miệng với độ chính xác cao, theo
thời gian thực, đồng thời cho những kết quả về biểu hiện khác nhau của
khuôn mặt vẫn còn gặp nhiều khó khăn. Bởi một trong những ứng dụng của
nó là đọc môi (lip reading), chẳng hạn như trong

17
1.3. Phát Biểu Bài Toán
Từ một ảnh với kích thước nào đó, chúng ta tìm một phương pháp để xác định
nhanh trong ảnh đó có khuôn mặt hay không. Sau đó tìm phương pháp rút trích đặc
trưng của khuôn mặt đó và kết hợp kỹ thuật 3D để tái hiện những cử động trên mô
hình 3D đó.
Hình 1-5: Mô hình các bước để xây dựng
- Việc định vị mắt cũng gặp khó khăn như sự có mặt của kính cũng là một
thách thức lớn cho việc nghiên cứu.
- Chúng ta cần xem xét xác định mũi trước không?
- ASM có thể dò tìm những điểm rút trích nhanh, nhưng AAM thì sao?

- Một điều nữa là xem xét bài toán ở mức độ chính xác cao, đặc biệt là với
thông tin miệng, đây có thề ứng dụng nhiều vào ngành giải trí 3D.

1.4. Phạm Vi Đề Tài
Trong đề tài này, chúng tôi tập trung tìm kiếm và đề xuất một thuật toán hiệu
quả cho việc rút trích đặc trưng ảnh như mắt, mũi, miệng. Do sự phức tạp của bài
toán đã nói trong mục 1.2, chúng tôi đưa ra những giả định và ràng buộc sau nhằm
giảm độ phức tạp của bài toán:
- Ảnh khuôn mặt ở phía trước (frontal view)
- Điều kiện ánh sáng bình thường
Tái hiện trên mô
hình 3D
Rút trích những đặc
tính
(Feature extraction
- FE)
Nhận dạng khuôn
mặt
(Face detection -
FD)
18
1.5. Những Đóng Góp
Tìm hiểu một phương pháp mạnh yếu khác nhau cho quá trình định vị, rút
trích thông tin khuôn mặt với mức độ chính xác cao, đồng thời cũng đáp ứng xử lý
nhanh theo thời gian thực (realtime).
Xây dựng ứng dụng minh hoạ để thấy được khả năng ứng dụng của kỹ thuật
mà tôi tìm hiểu, nghiên cứu.

1.6. Cấu Trúc Luận Văn
Luận văn này được tổ chức như sau:

19
Chương 2 - RÚT TRÍCH THÔNG TIN KHUÔN MẶT
2.1. Giới thiệu
Những thông tin khuôn mặt được hiểu như những điểm đặc trưng, những
điểm nổi bật của khuôn mặt như những góc của mắt, những góc của lông mày,
những góc và những điểm giữa ngoài của môi, những góc của lỗ mũi, đỉnh của mũi
(tip of the nose), đỉnh của cằm (tip of the chin) (xem ).
Định vị những điểm đặc trưng trên khuôn mặt là giai đoạn quan trọng cho
nhiều công trình liên quan đến xử lý ảnh khuôn mặt. Ở đây, trong nhiều công trình
đề xuất chọn một thuật toán dò tìm khuôn mặt nhanh và mạnh, đó là một phiên bản
của dò tìm khuôn mặt Viola-Jones [67]. Sau đó, [33] đề nghị chia vùng khuôn mặt
đã dò tìm ra thành 20 vùng cần quan tâm (regions of interest) để định vị những điểm
đặc trưng này.
Chúng ta xem xét từng giai đoạn cho quá trình rút trích thông tin như sau:
2.2. Dò Tìm Khuôn Mặt
2.2.1. Giới thiệu
- Trong giai đoạn này, chúng ta cần xem xét hướng, tỷ lệ khác nhau của khuôn
mặt.
- Tìm phương pháp dò tìm nhanh, mạnh khuôn mặt phía trước (front face), nếu
tìm khuôn mặt ở nhiều góc nhìn khác nhau (multi-view face) càng tốt.
Nhưng phải trên tiêu chí nhanh, làm tiền đề tốt cho giai đoạn rút trích.
Phương pháp đề xuất là sử dụng Adaboost để dò tìm khuôn mặt hướng phía trước
(frontal) [27]. Đây là phương pháp xác định khuôn mặt nhanh và mạnh, đã được
Viola-Jones đưa ra. Việc dò tìm sẽ thực hiện trên mỗi khung hình theo thời gian
thực, có độ chính xác cao và hiệu suất thực hiện nhanh. Cũng có phương pháp khác
với độ tin cậy cao hơn bởi việc dò tìm khuôn mặt ở nhiều góc nhìn [63], nhưng kết
quả của nó sẽ không đủ thông tin như mắt, mũi, miệng, đáp ứng cho giai đoạn rút
trích.
20


2.2.2. Những Đặc Trưng dựa trên Gợn Sóng (Wavelet-based Features)
According to the study of C. Papageorgiou [70], the wavelet coefficients preserve
all the information in the original image,
but the coding of the visual information differs from the pixel-based representation
[46] Theo nghiên cứu của C. Papageorgiou, những hệ số gợn sóng (wavelet) bảo tồn
được tất cả thông tin của hình ảnh nguồn, nhưng việc mã hoá của những thông tin
nhìn thấy được khác với việc biễu diễn dựa vào điểm ảnh (pixel) trong 2 cách: làm
những biến của lớp bên trong tối thiểu, và của lớp bên ngoài tối đa một cách đồng
bộ.
Đầu tiên, sự khác nhau cường độ trung bình giữa những vùng cục bộ theo những
hướng khác nhau được mã hoá trong một khung đa tỷ lệ. Những ràng buộc trên
những giá trị của gợn sóng có thể biểu diễn những đặc tính nhìn thấy được của lớp
đối tượng: phản ứng mạnh từ gợn sóng chỉ ra sự hiện diện của sự khác nhau mạnh
mẽ, hoặc biên giới từ gợi sóng trong bức ảnh, trong khi phản ứng yếu từ gợn sóng
chỉ ra khu vực tương đồng.
Thứ hai, việc sử dụng những nền tảng hoàn thiện, ví dụ, nền tảng Haar, cho phép
chúng ta lan truyền những ràng buộc giữa những vùng lân cận và mô tả những mẫu
phức tạp. Biến đổi gợn sóng mật độ gấn bốn lần cung cấp độ phân giải cao và dẫn
đến một bộ tự điển phong phú, hoàn thiện của những đặc tính.
21
2.2.2.1. Haar wavelet
Hình 2-6: Những đặc tính của gợn sóng Haar
Những đặc trưng Haar (Haar like features) là gì?
[OpenCVWiki] Những đặc trưng Haar mã hoá sự tồn tại của những tương phản
được định hướng giữa những vùng trong ảnh. Một bộ của những đặc trưng này có
thể được sử dụng để mã hoá những tương phản của một khuôn mặt và những liên hệ
không gian giữa chúng.
Đầu tiên, một bộ phân lớp (classifier) là một cái thác (cascade) của những bộ phân
lớp nâng cao dần, được huấn luyện với vài trăm những mẫu của đối tượng cần quan
tâm (chẳng hạn khuôn mặt, xe …), được gọi là những mẫu khẳng định (positive),

những mẫu này được co giãn về cùng một kích thước (20x20) và những mẫu phủ
định (nagetive), là những mẫu gần giống với đối tượng quan tâm nhưng không phải
đối tượng đó, cũng có cùng kích thước.
Sau khi bộ phân lớp được huấn luyện, nó có thể thực hiện trên những vùng quan
tâm trong một ảnh đầu vào. Bộ phân lớp sẽ xuất ra “1” nếu vùng đó giống đối tượng
quan tâm và ngược lại là “0”. Để tìm kiếm đối tượng trong toàn bộ ảnh, chúng ta
phải di chuyển một cửa sổ tìm kiếm dọc theo ảnh để kiểm tra mỗi vị trí bởi việc sử
dụng bộ phân lớp đó. Bộ phân lớp phải được thiết kế để có thể dễ dàng thay đổi
kích thước cho việc tìm kiếm những đối tượng quan tâm với những kích thước khác
nhau, điều này hiệu quả hơn việc thay đổi chính kích thước của ảnh. Và một điều
nữa là việc tìm kiếm những đối tượng với kích thước chưa biết, chúng ta cần có một
thuật toán quét qua vài lần trên ảnh với những tỷ lệ co giãn khác nhau.
22
Một cái thác của những bộ phân lớp nghĩa là bộ phân lớp kết quả gồm vài bộ phân
lớp đơn giản hơn để thực hiện trên vùng quan tâm cho đến khi tại một giai đoạn nào
đó, đối tượng bị từ chối bởi bộ phân lớp của giai đoạn tương ứng, thì những giai
đoạn sau đó bị bỏ qua. Và tại mỗi giai đoạn của cái thác phân lớp đó, bộ phân lớp
sau sẽ phức tạp hơn bộ phân lớp trước và được xây dựng dựa trên out of basic
classifiers bởi việc sử dụng một trong bốn thuật toán bầu chọn trọng số (weighted
voting) - Discrete Adaboost, Real Adaboost, Gentle Adaboost and Logitboost.
Những bộ phân lớp cơ bản là những bộ phân lớp của cây quyết định với ít nhất hai
lá. Những đặc tính Haar là đầu vào đối với những bộ phân lớp cơ bản. Đặc trưng đã
sử dụng trong một bộ phân lớp đặc thù được mô tả hình dáng, vị trí trong vùng quan
tâm và một tỷ lệ co giãn.
Ảnh tích phân (Integral image):
[Chesnokov Yuriy, 2008] Là một ảnh được xử lý trước nhằm tăng cường cho việc
rút trích những đặc trưng Haar. Tại mỗi điểm (i, j) trong ảnh gốc, chúng ta tính tổng
giá trị tất cả những điểm ảnh phía bên trái và ở trên so với điểm (i, j): I(x) = sum
sum (i, j)
Hình 2-7: Cách tạo ra ảnh tích phân

unsigned char** pimage;
unsigned int** pintegral_image;
for (unsigned int i = 0; i < height; i++) {
23
for (unsigned int j = 0; j < width; j++) {
pintegral_image[i][j] = 0;
for (unsigned int y = 0; y <= i; y++)
for (unsigned int x = 0; x <= j; x++)
pintegral_image[i][j] += pimage[y][x];
}
}
Bảng 2-1: Đoạn mã cách tạo ra ảnh tích phân
2.2.2.2. Haar cascades file
/>Description &
References
Author(s) /
Licence
Version Haar cascade file
Frontal Face
stump 24x24,
20x20gentle,
20x20tree
Rainer
Lienhart
1.0 frontalFace10.zip
Profile Face (20x20) David Bradley 1.0 profileFace10.zip
Human body,
Pedestrian Detection
14x28 full body,
19x23 lower body,

22x18 upper body
David Bradley 1.0 body10.zip
Frontal eyes (both
eyes)
Unknown
Ref. to author
& rights is
welcome
Old cascade
format
frontalEyes35x16.zip
Frontal eyes (both
eyes)
Yusuf Bediz
New cascade
Format XML
frontalEyes35x16XML.zip
24

×