ĐẠ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 21
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 27
2.3.1. Xác định vùng cần quan tâm 27
2.3.2. Những điểm đặc trưng cần rút trích 28
2.3.3. ASM 31
2.3.3.1. Hình dáng 31
2.3.3.2. Biến đổi hình dáng 32
2.3.3.3. Mô hình hình dáng 32
2.4. Cở sở dữ liệu ảnh 32
Chương 3 - XÂY DỰNG CHƯƠNG TRÌNH 33
Chương 4 - THỬ NGHIỆM 35
4.1. Bộ Dữ Liệu Thử Nghiệm 35
Chương 5 - KẾT LUẬN 36
5.1. Kết Quả 36
5.2. Khuyến Nghị 36
TÀI LIỆU THAM KHẢO 37
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 21
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).27
Hình 2-9: 20 điểm đặc trưng trên khuôn mặt – hình từ BioID 28
Hình 2-10: Mô hình 20 điểm đặc trưng trên khuôn mặt 29
Hình 2-11: Bên trái là một hình dáng đơn giản với 3 điểm. 31
Hình 3-12: Lược đồ lớp của chương trình 33
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) .
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.
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 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.
9
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.
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). 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 . 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ọ.
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
10
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 , 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. 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] đã kết hợp giữa SVM và
mạng nơron để nhận dạng khuôn mặt.
đã 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.
đã 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 ngữ
12
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 .
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.
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
Đị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 hạn
16
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 . Sau đó, đề 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) . Đâ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 , 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
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.
2.2.2.1. Haar wavelet
Hình 2-6: Những đặc tính của gợn sóng Haar
21
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.
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ộ
22
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++) {
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
23
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
Converted
w/HaarConv
frontalEyes35x16XML.zip
Right Eye
18x12
Reference paper
Modesto
Castrillón
Santana
Conditions of
use
1.0 REye18x12.zip
24