Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay,v.v... Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý
Trang 1TRẦN LÊ HỒNG DŨ
PHÁT HIỆN KHUÔN MẶT DỰA TRÊN ĐẶC TRƯNG LỒI LÕM
LUẬN VĂN THẠC SĨ NGÀNH TIN HỌC
Thành phố Hồ Chí Minh - 2005
Trang 2NGƯỜI HƯỚNG DẪN KHOA HỌC:
GS DƯƠNG NGUYÊN VŨ
Thành phố Hồ Chí Minh - 2005
Trang 3Nội dung
Trang
1.1 Bài toán nhận dạng mặt người và những khó khăn 5
1.1.1 Bài toán nhận dạng mặt người 5
1.1.2 Những khó khăn của nhận dạng khuôn mặt 5
1.2 Các ứng dụng liên quan đến nhận dạng mặt người 6
1.3 Tổng quan kiến trúc của một hệ thống nhận dạng mặt người 7
1.4 Xác định phạm vi đề tài 8 Chương 2 Các công trình liên quan 10
2.1 Các hướng tiếp cận liên quan đến phát hiện và nhận dạng khuôn mặt 10 2.2 Các tiếp cận liên quan đến phân tích đặt trưng lồi lõm 11
2.3 Các hướng tiếp cận sử dụng đặc trựng tựa lồi lõm cho
phát hiện khuôn mặt 12
2.4 Nhận xét về các hướng tiếp cận hiện tại 12
3.1 Lồi và Lõm 14
Trang 43.2.1 Điểm lồi và điểm lõm 16
3.2.2 Dò tìm và rút trích vùng lồi và vùng lõm 16
3.2.3 Dò tìm và phát hiện vùng lồi, lõm ở nhiều mức 19
3.2.4 Tối ưu tốc độ của việc dò tìm 21
3.3 Xây dựng cây cấu trúc lồi lõm 22
3.4 Xây dựng hàm tính độ tương đồng giữa hai cây 26
3.4.1 Độ tương đồng giữa 2 nút trên cây 26
3.4.2 Độ tương đồng giữa hai cây 27
3.4.3 Không gian cây và khoảng cách giữa hai cây 28 Chương 4 Phát hiện khuôn mặt dựa trên đặc trưng lồi lõm 30
4.3 Cơ sở lý thuyết của mô hình 35
5.1 Thử nghiệm 38
Trang 55.3 Nhận xét 39
5.4 Một số kết quả tiêu biểu 40
6.1 Kết luận 46
6.2 Hướng phát triển 46
Trang 6LỜI CẢM ƠN
Sau một thời gian học tập và nghiên cứu, cuối cùng tôi cũng đã hoàn thành bài luận nghiên cứu của mình Đây là thời điểm tốt nhất tôi có dịp được bày tỏ lòng biết ơn của mình đến những người thân đã giúp đỡ động viên tôi trong suốt quá trình tôi thực hiện bài luận này
Trước tiên tôi xin chân thành gởi lời cảm ơn sâu sắc đến thầy tôi, người hướng dẫn khoa học, định hướng nghiên cứu cho tôi trong suốt thời gian thực hiện luận văn này, GS.Dương Nguyên Vũ Thầy đã dạy cho tôi không chỉ những kiến thức khoa học mà còn cả những bài học về cuộc sống, về tình người Cám ơn thầy đã mang đến cho tôi những đôi cánh để tôi có thể đến với khoa học thật sự
Xin chân thành cảm ơn thầy Đức, TS Dương Anh Đức, thầy Bắc, PGS.TS Lê Hoài Bắc đã tận tình giúp đỡ, theo dõi và động viên cho tôi trong suốt quá trình thực hiện luận văn này
Con xin cám ơn bà ngoại, ba, mẹ, anh hai, chị ba đã hết sức thông cảm và chia sẽ với con những khó khăn trong lúc làm luận văn này
Xin cám ơn những người bạn thân yêu, những người đã yêu mến, chia sẽ với tôi trong lúc tôi thực hiện luận văn này
Xin cám ơn các thầy cô, các anh chị và các bạn đồng nghiệp trong Khoa Công nghệ thông tin, ĐH Khoa học tự nhiên đã giúp đỡ, tạo điều kiện tốt nhất để tôi có thể hoàn thành tốt luận văn này
Luận văn này là món quà mà tôi dành tặng cho tất cả mọi người thân yêu của tôi, với tất cả tấm lòng mình!
Thành phố Hồ Chí Minh, ngày 10 tháng 11 năm 2005
Trần Lê Hồng Dũ
Trang 7CHƯƠNG 1
GIỚI THIỆU
1.1 Bài toán nhận dạng mặt người và những khó khăn
1.1.1 Bài toán nhận dạng mặt người
Hệ thống nhận dạng mặt người là một hệ thống nhận vào là một ảnh hoặc một đoạn video (một chuỗi các ảnh) Qua xử lý tính toán hệ thống xác định được vị trí mặt người trong ảnh (nếu có) và xác định là người nào trong số những người hệ thống đã được biết (qua quá trình học) hoặc là người lạ
Hình 1.1 Ví dụ về hệ thống nhận dạng mặt người 1.1.2 Những khó khăn của nhận dạng khuôn mặt
Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từ những năm
70 Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt được kết quả mong muốn Chính vì thế vấn đề này vẫn đang được nhiều nhóm trên
Hệ thống nhận dạng mặt người
Trang 8thế giới quan tâm nghiên cứu Khó khăn của bài toán nhận dạng mặt người có thể kể như sau:
a Tư thế, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc
chụp giữa camera và khuôn mặt Chẳng hạn như: chụp thẳng, chụp xéo bên trái 450hay xéo bên phải 450, chụp từ trên xuống, chụp từ dưới lên, v.v ) Với các tư thế khác nhau, các thành phần trên khuôn mặt như mắt, mũi, miệng có thể bị khuất một phần hoặc thậm chí khuất hết
b Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: Các đặc
trưng như: râu mép, râu hàm, mắt kính, v.v có thể xuất hiện hoặc không Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều
c Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt người có thể làm
ả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 có thể sẽ rất khác khi họ cười hoặc sợ hãi,v.v
d Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc
các khuôn mặt khác
e Hướng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các
góc quay khác nhau của trục camera Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh
f Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về: chiếu
sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v ) ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt
1.2 Các ứng dụng liên quan đến nhận dạng mặt người
Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều ứng dụng thực tế khác nhau Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên cứu trong thời gian dài Các ứng dụng liên quan đến nhận dạng mặt người có thể kể như:
Trang 9- Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay,v.v Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gởi thông điệp về cho trung tâm xử lý
- Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân viên và chấm công
- Hệ thống giao tiếp người máy: thay thế việc tương tác giữa người và máy theo những cách truyền thống như: bàn phím, chuột,v.v Thay vào đó là sử dung các giao tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay (visual input, visual interaction)
- Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo người) Chẳng hạn như: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có G Bush hoặc Bin Laden
- Các thệ thống bảo mật dựa trên thông tin trắc sinh học: mặt người, vân tay,v.v thay vì xác nhận mật khẩu, khóa,v.v
1.3 Tổng quan kiến trúc của một hệ thống nhận dạng mặt người
Một hệ thống nhận dạng mặt người thông thường bao gồm bốn bước xử lý
sau: phát hiện khuôn mặt (face detection), phân đoạn khuôn mặt (face alignment hay segmentation), rút trích đặc trưng (feature extraction), và phân lớp khuôn mặt (face
classification)
Trang 10Hình 1.2 Các bước chính trong một hệ thống nhận dạng mặt người
Phát hiện khuôn mặt dò tìm và định vị những vị trí khuông mặt xuất hiện
trong ảnh hoặc trên các frame video Phân đoạn khuôn mặt sẽ xác định vị trí mắt mũi, miệng, và các thành phần khác của khuôn mặt và chuyển kết quả này cho bước rút
trích đặc trưng Từ những thông tin về các thành phần trên khuôn mặt, chúng ta có
thể dễ dàng tính được véc-tơ đặc trưng trong bước rút trích đặc trưng Những véc-tơ đặc trưng này sẽ là dữ liệu đầu vào cho một mô hình đã được huấn luyện trước để
phân loại khuôn mặt Bên cạnh những bước chính nêu trên, chúng ta còn có thể áp
dụng thêm một số bước khác như tiền xử lý, hậu xử lý nhằm làm tăng độ chính xác
cho hệ thống Do một số thông số như: tư thế khuôn mặt, độ sáng, điều kiện ánh sáng,
v.v…, phát hiện khuôn mặt được đánh giá là bước khó khăn và quan trọng nhất so
với các bước còn lại của hệ thống Trong luận văn này, chúng tôi tập trung chủ yếu
vào bước phát hiện khuôn mặt
1.4 Xác định 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 xác định sự xuất hiện và định vị khuôn mặt nếu có trong ảnh Do các điều kiện khó khăn của bài toán (nêu trong phần 1.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 phát hiện khuôn mặt:
- Thuật toán giải quyết cho ảnh đơn (chưa xử lý cho video)
- Ảnh khuôn mặt được chụp thẳng hay góc nghiêng không đáng kể (không quá 100)
Phát hiện khuôn mặt (Theo dõi)
Phân đoạn khuôn mặt
Rút trích đặc trưng
Phân lớp khuôn mặt
Ảnh/Video khuôn mặtVị trí
Khuôn mặt đã được phân đoạn
Véc-tơ đặc trưng
Chỉ số khuôn mặt
Trang 11- Ảnh được chụp trong điều kiện ánh sáng bình thường (không chụp ngược sáng, chụp bằng máy ảnh kỹ thuật số)
Trang 12CHƯƠNG 2
CÁC CÔNG TRÌNH LIÊN QUAN
2.1 Các hướng tiếp cận liên quan đến phát hiện và nhận dạng khuôn mặt
Có rất nhiều hướng tiếp cận trước đây đã thực hiện liên quan đến vấn đề phát hiện mặt người Theo Ming-Hsuan Yang [1], có thể phân loại thành bốn hướng tiếp cận chính: dựa trên tri thức (knowledge-based), đặc trưng bất biến (feature invariant), đối sánh mẫu (template matching), và dựa vào diện mạo (appearance-based) phương pháp này thường dùng một mô hình máy học nên còn được gọi là phương pháp dựa trên máy học (machine learning-based)
Các phương pháp dựa trên tri thức: Hướng tiếp cân này chủ yếu dựa trên
những luật được định nghĩa trước về khuôn mặt người Những luật này thường là các mối quan hệ giữa các thành phần trên khuôn mặt Có một số nghiên cứu từ rất sớm đã
áp dụng phương pháp này như của Kanade 1973 [18], G Yang 1994 [11], và Kotropoulos 1997 [14]
Hướng tiếp cận dựa trên các đặc trưng bất biến: Hướng tiếp cận này cố
gắng tìm kiếm những đặc trưng độc lập – những đặc trưng không phụ thuộc vào tư thế khuôn mặt, điều kiện chiếu sáng, và các khó khăn khác Các đặc trưng như thế được gọi là bất biến và được sử dụng để phát hiện khuôn mặt Những công trình sử dụng hướng tiếp cận này có thể kể như: K C Yow và R Cipolla 1997 [12], T K Leung 1995 [13]
Phương pháp đối sánh mẫu: Trong hướng tiếp cận này, một mẫu khuôn mặt
chuẩn được định nghĩa bằng tay trước hoặc được tham số hóa bằng một hàm số Mẫu này được sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tính toán giá trị tương đồng cho mỗi vị trí Việc xuất hiện một khuôn mặt tại một vị trí nào đó trong ảnh phụ thuộc vào giá trị tương đồng của điểm đó so với mẫu chuẩn I Craw
Trang 131992 [17] đã áp dụng một mẫu cứng trong khi A Lanitis 1995 [15] sử dụng một mẫu
có thể biến dạng trong bước phát hiện khuôn mặt
Phương pháp dựa trên máy học: Ngược với phương pháp đối sánh mẫu sử
dụng các mẫu được các chuyên gia định nghĩa trước, phương pháp này sử dụng những mẫu được rút trích qua một quá trình học Nói cách khác, các thuật toán dựa trên máy học dùng các kỹ thuật phân tích thống kê và máy học để xấp xĩ một hàm phân lớp tuyến tính Có nhiều mô hình máy học được áp dụng trong hướng tiếp cận này: Eigenface (M Turk và A Pentland 1991 [16]), Mô hình dựa trên phân phối (K
K Sung and T Poggio 1998 [6]), Mạng Nơ-ron (H Rowley 1998 [7]), Support Vector Machine (E Osuna et al 1997 [10]), Phân lớp Bayes (H Schneiderman và T Kanade 1998 [8]), Mô hình Markov ẩn (A Rajagopalan et al 1998 [9]), và các mô hình tăng cường (AdaBoost của P Viola và M Jones 2001 [4][5]; FloatBoost do Stan
Z Li và Zhen Qiu Zhang 2004 [2][3])
2.2 Các tiếp cận liên quan đến phân tích đặt trưng lồi lõm
Năm 1983, James L Crowley đã đưa ra khái niệm ridge và peak [19][20]
Ridge là các điểm lồi trên ảnh Tập các điểm ridge trên ảnh sẽ tạo thành những đường
xương sống và các đường này sẽ tạo thành các chùm tia gọi là peak (chùm) James L Crowley sử dụng phép hiệu của lọc Low Pass để rút ra các điểm ridge (lồi) trên ảnh,
và sau đó một thuật toán duyệt để kết chúng lại với nhau thành các đặc trưng ridge và
peak Tiếp sau đó, một số các phương pháp được đề xuất để rút trích các thông tin về ridge và valley (lõm) [23][24][25][26][27][29] Hầu hết các phương pháp này dùng
một bộ lọc để tăng cường thông tin về cạnh trên ảnh sau đó dò tìm quỹ tích các điểm
cực trị Quỹ tích các điểm cực trị này được xem là các đặc trưng lồi và lõm Trong [23] đặc trưng lồi và lõm được dò tìm trên nhiều độ phân giải khác nhau, cho kết quả
đáng kể Tuy nhiên, chất lượng của các đặc trưng lồi lõm này còn phụ thuộc khá nhiều vào điều kiện chiếu sáng cũng như các mức phân giải được lựa chọn trước Để giải quyết sự phụ thuộc này, Lindeberg [30] đã đề xuất một phương pháp tự động chọn độ phân giải tốt nhất Gần đây Hải Trần [21][22] đưa ra một cách tiếp cận sử
Trang 14mức khác nhau Trong hướng tiếp cận này, các đặc trưng ridge và peak được biểu diễn dưới dạng các đồ thị quan hệ hoặc các cây cấp bậc với các tầng là các ridge và
peak được dò tìm tại các mức khác nhau
2.3 Các hướng tiếp cận sử dụng đặc trựng tựa lồi lõm cho phát hiện khuôn mặt
Áp dụng đặc trưng tương tự cho bài toán phát hiện khuôn mặt, có hướng tiếp
cận của Quan Yuan [28] Quan Yuan đưa ra một khái niệm mới gọi là đặc trưng tựa
thung lũng hay có dạng lõm (valley-like feature) Đặc trưng này dựa trên hiệu mức
sáng của các điểm xung quanh và điểm đang xét ở trung tâm để xác định xem điểm này có dạng lõm hay không Các điểm xung quanh được thiết kế hình dạng khá đặc biệt để phát hiện hai mắt và miệng của khuôn mặt Mặt dù hướng tiếp cận này khá hấp dẫn, tuy nhiên đặc trưng này quá đặc biệt đối với một số điều kiện thu, chụp ảnh
cụ thể
2.4 Nhận xét về các hướng tiếp cận hiện tại
Các hướng tiếp cận trình bày trong phần 2.1 cho thấy khá tổng quát và ổn định, nhưng vẫn còn một vài hạn chế nhất định Hầu hết các hướng tiếp cận nêu trên
sử dụng các đặc trưng chủ yếu dựa trên độ sáng điểm ảnh, với mức độ ý niệm ngữ nghĩa thấp Vì vậy, các mối quan hệ giữa các đặc trưng rút trích được cần phải thêm vào các luật heuristic để phân tích hiệu quả hơn Mặt khác, nếu không có các tri thức
bổ sung được định nghĩa trước, các mô hình có cấp ý niệm thấp này không thể đạt được độ chính xác cao hơn trong nhận dạng mặt người Vì thế, để đạt độ chính xác cao hơn trong nhận dạng mặt người, chúng ta cần phải hướng đến một loại đặc trưng dựa trên mô hình ý niệm cao hơn như là cấu trúc của khuôn mặt
Để giải quyết khó khăn nêu trên, trong luận văn này chúng tôi đề xuất một đặc
trưng có mô hình ý niệm cao hơn: lồi và lõm tại nhiều mức Theo cách tiếp cận này, cấu trúc khuôn mặt được biểu diễn bằng một cây cấp bậc của các lồi (chỏm) và lõm
(thung lũng) Dựa trên đặc trưng này, chúng tôi áp dụng một mô hình thống kê để xác định, phát hiện khuôn mặt Trong luận văn này, chúng tôi tập trung chính vào bài
Trang 15toán phát hiện khuôn mặt mà không giải quyết bài toán nhận dang Tuy nhiên, trong phần cuối, chúng tôi sẽ thảo luận chi tiết hơn khả năng sử dụng đặc trưng này để nhận
dạng khuôn mặt cũng như việc mở rộng đặc trưng này cho bài toán rộng hơn: phân
loại đối tượng dựa theo cấu trúc
Trang 16CHƯƠNG 3
ĐẶC TRƯNG LỒI LÕM
3.1 Lồi và Lõm
Hiểu theo nghĩa thật sự của nó, lồi (chỏm) là các điểm cao nhất trên dãy núi và
lõm (thung lũng) là các điểm có độ cao thấp nhất Trong ảnh vệ tinh, lồi là đường
xương sống của dãy núi, còn lõm là đường khe chạy giữa hai dãy núi Trong ảnh y tế, lồi có thể là các đường mạch máu hay các cơ quan nhô cao và lõm là các thành phần trũng xuống Còn trong ảnh khuôn mặt, mũi và các phần nhô của hai má được coi như là lồi và các phần hốc mắt được coi là lõm
Trong [21][22], Hải Trần sử dụng một bộ lọc Laplacian-of-Gaussian, sau đó
áp dụng một thuật toán để dò tìm quỹ tích của các điểm cực trị Hình 3.1 và 3.2 biểu
diễn các đặc trưng lồi và lõm tương tự như kết quả của Hải Trần Các điểm lồi được
tô màu đỏ và lõm được tô màu xanh Chúng ta lưu ý rằng các điểm lồi và lõm rút trích được chỉ biểu diễn được các vùng lồi và lõm nhỏ, chi tiết, chẳng hạn như: mắt,
chân mày, mũi, và miệng
(a) Ảnh gốc (b) Ảnh ridge và valley
Hình 3.1 Dò tìm thông tin lồi và lõm trên ảnh vệ tinh sử dụng LoG với σ = 2
Trang 17Mục tiêu nghiên cứu của chúng tôi là dò tìm các đặc trưng lồi và lõm tại các
mức khác nhau Ví dụ như, tại mức thấp nhất, chúng tôi cần dò tìm các đặc trưng lồi lõm có kích thước nhỏ và chi tiết như mắt, mũi, v.v Trong những mức độ cao hơn
kế tiếp, chúng tôi sẽ dò tìm các vùng lồi và lõm lớn hơn Đến mức độ lớn nhất, toàn
bộ khuôn mặt có thể trở thành một vùng lồi Nói cách khác, ở mức lớn sẽ dò được
vùng lồi và lõm kích thước lớn và ít chi tiết hơn Ý tưởng nghiên cứu này đến một cách tự nhiên, cũng giống như khi nhìn một người từ rất xa, ta chỉ có thể nhìn được dáng, gần hơn một tí ta có thể nhìn được mặt nhưng không nhìn được các chi tiết mắt, mũi, miệng trên khuôn mặt, và gần hơn nữa ta mới có thể nhìn chi tiết mắt mũi, miệng Việc này tương ứng với cách tiếp cận phân tích nhiều mức khác nhau của chúng tôi
Do bộ lọc Laplacian-of-Gaussian chỉ có thể sử dụng để phát hiện thông tin cạnh qua các điểm biên (zero crossing), nên nó không thể dùng cho việc phát hiện các vùng lồi và lõm khi các thông tin cạnh biên bị đứt nét Trong phần tiếp theo chúng tôi sẽ đề xuất một phương pháp đơn giản để rút trích các vùng lồi và lõm
(a) Ảnh gốc (b) Ảnh ridge và valley
Hình 3.2 Dò tìm thông tin lồi và lõm trên ảnh khuôn mặt sử dụng LoG với σ = 2
Trang 183.2 Rút trích vùng lồi và vùng lõm
3.2.1 Điểm lồi và điểm lõm
Gọi I ( y x, ) là một hàm hai biến biểu diễn một ảnh I Hàm số này thiết lập một
mặt (x,y,I(x,y)) Mục tiêu của chúng ta là dò tìm các điểm có khả năng là điểm lồi hoặc điểm lõm trên mặt này Một cách chính xác theo toán học, điểm lồi và lõm là
những điểm mà tại đó cả hai đạo hàm 22
} 0 ) , ( )
, ( )
, ( )
,
= x y LoG x y LoG x y
Trong công thức 3.1 và 3.2, R P là tập các điểm lồi và V P là tập các điểm lõm
Ký hiệu LoG ( y x, )là giá trị của Laplacian-of-Gaussian tại điểm ( y x, ) Như đã trình bày trong phần 3.1, mục đích của chúng tôi là rút trích các vùng lồi và lõm chứ không chỉ rút trích điểm lồi và điểm lõm Vì thế chúng tôi đã mở rộng công thức 3.1 và 3.2 cho phù hợp với bài toán rút trích vùng
3.2.2 Dò tìm và rút trích vùng lồi và vùng lõm
Để đánh giá một vùng có phải là lồi, là lõm hoặc không lồi cũng không lõm, chúng tôi đề xuất một bộ lọc như sau:
Trang 19(a) Vùng đang xét trên ảnh
(b) một bộ lọc vuông
Hình 3.3 Dò tìm vùng trên ảnh
Ứng với vùng đang xét – một hình vuông s×s , chúng ta tính giá trị của bộ
lọc trên vùng này theo công thức 3.3 Đạt S 1 , S 2 , S 3 , và S 4 là các hình chữ nhật đen
xung quanh hình vuông R (Hình 3.3b), giá trị lọc F(R) được định nghĩ như sau:
( 2 ) (
i
iS sum R
sum R
R F R
F valley
R F R
F ridge
0 ) ( )
ta có thể dò tìm các vùng lồi và lõm ứng với nhiều kích cở, mức độ khác nhau Ngoài
ra, để dò tìm và rút trích các vùng lồi lõm có hình dạng khác nhau, chúng tôi sử dụng
Trang 20một tập các lọc hình học có hình dạng như trong hình 3.4 thay vì chỉ sử dụng một bộ lọc vuông
(a) Lọc hình vuông (b) Lọc chữ nhật ngang
( 2 ) (
) ( 3 ) (
đều tương tự với công thức của một Laplacian, nhưng có một chút khác biệt là sử
dụng vùng thay vì từng điểm đơn Trong công thức 3.5 và 3.6, hệ số đứng trước hàm
sum(R) có được là do tỷ lệ giữa diện tích vùng ở tâm (vùng đang xét) và tổng diện
tích của vùng lân cận Trong hình 3.4a, tổng diện tích của các vùng đen xung quanh gấp đôi diện tích phần ở giữa, vì vậy chúng ta có hệ số 2 Trong hình 3.4b và 3.4c, tổng diện tích các vùng đen gấp rưỡi diện tích phần hình chữ nhật ở giữa Một cách
chính xác chúng ta phải dùng hệ số 1.5 trước hàm sum(R), nhưng việc tính toán trên
số thực rất chậm, do đó để tăng tốc độ tính toán ta dùng 2 hệ số nguyên là 3 và 2 thay
vì chỉ dùng 1 hệ số 1.5
Một thông số quan trọng khác trong công thức 3.4 là ngưỡng δ Ngưỡng δ
phải phụ thuộc tuyến tính vào diện tích của vùng đang xét Chúng tôi sử dụng
Trang 21chữ nhật có kích thước S K là một thông số thực nghiệm Ngưỡng δ1 là tích của K và
S 2 – diện tích của lọc vuông Tương tự, trong 3.6, chúng ta đã gấp đôi giá trị của
F R (R) để tránh chuyện tính toán trên số thực Vì thế, chúng ta cũng phải gấp đôi
ngưỡng δ2 để tăng độ chính xác của việc đánh giá
3.2.3 Dò tìm và phát hiện vùng lồi, lõm ở nhiều mức
Chúng tôi giới thiệu một phương pháp sử dụng các lọc hiệu ở nhiều mức khác nhau để dò tìm các vùng lồi và lõm Các lọc được giới thiệu trong phần trước sẽ được
sử dụng với nhiều kích thước khác nhau vì vậy chúng sẽ dò tìm được các vùng lồi lõm ở nhiều mức khác nhau
(a) σ = 10, ảnh sau khi smoth bằng
Gaussian 10 2
(b) Các vùng lồi lõm dò tìm với lọc kích
thước 10
Trang 22(c) σ = 20, ảnh sau khi smoth bằng
Hình 3.5 Dòm tìm vùng lồi lõm ở nhiều mức khác nhau
Đặt σ1,σ2, σ là các mức độ được định nghĩa trước và có độ lớn tăng dần n
1
σ là mức độ thấp nhất Tại mức độ này, chúng ta có thể dò tìm các vùng lồi, lõm có kích thước nhỏ và chi tiết σ là mức độ cao nhất mà tại đó chúng ta có thể dò tìm các nvùng lồi lõm lớn hơn, ít chi tiết hơn Tại mỗi mức, trước tiên chúng ta áp dụng một lọc Gaussian với kích thước σi 2, sau đó chúng ta sử dụng 3 bộ lọc hiệu như hình
3.4 với kích thước S = σ i
Trong hình 3.5, các hình vuông và hình chữ nhật màu đỏ là các vùng lồi, còn các hình vuông và hình chữ nhật màu xanh là các vùng lõm Trong thực tế, có nhiều vùng lồi lõm khác cũng được dò tìm được, tuy nhiên trong hình 3.5, chúng tôi chỉ tập trung vào các vùng lồi lõm dò tìm được trong vùng ảnh quan tâm – vùng ảnh khuôn mặt Trong phần 3.3, chúng tôi sẽ trình bày phương pháp cấu trúc các vùng lồi lõm rút trích được này thành các cây cấp bậc
Trong phần tiếp theo, chúng tôi sẽ trình bày ngắn gọn thuật toán của chúng tôi nhằm tối ưu những hàm tính toán phức tạp sử dụng trong việc tính các giá trị lọc trong hình 3.4
Trang 233.2.4 Tối ưu tốc độ của việc dò tìm
Trong vùng đang xét, chúng ta phải thường xuyên tính tổng độ sáng điểm ảnh của một vùng hình chữ nhật, một số hình trong chúng có thể chồng lên nhau Việc này làm cho tính toán chậm đi rất nhiều do phải tính nhiều lần tổng độ sáng cho một vùng Để giảm độ phức tạp của tính toán này, chúng tôi sử dụng phương pháp tương
tự như ảnh tích phân (integral image) của P Viola [5] và kỹ thuật lập trình quy hoạch
động của Đức Dương [31] Phương pháp này được trình bày như sau:
Cho trước một ảnh mức xám I ( y x, ), chúng ta định nghĩa một ảnh tích phân
−
−
−
−+
),()1,1()1,(),1(
00
0)
,
(
y x
y x I y
x S y
x S y x S
y x
SR = − − + (3.8)
S(i,j) = [1 i]x[1 j]
(i,j)
(1,1)
Trang 24Hình 3.7 Tính tổng độ sáng cho hình chữ nhật R(l,t,r,b)
Phương pháp này cải tiến đáng kể tốc độ tính toán bởi vì chúng ta chỉ cần tính một lần ảnh tích phân và sử dụng nó trong tất cả các cửa sổ hình chữ nhật con và đặc biệt độ phức tạp tính toán không phụ thuộc vào kích thước của vùng đang xét
3.3 Xây dựng cây cấu trúc lồi lõm
Từ các vùng lồi lõm rút trích được, chúng ta xây dựng các cây quan hệ cấp bậc Những vùng được rút trích ở mức cao nhất σ sẽ trở thành những nút gốc của các ncây sẽ tạo Những vùng rút trích được ở mức thấp nhất σ sẽ được chèn vào cây như 1
là những nút lá (xem hình 3.8)
Hình 3.8 Tạo cây cấp bậc
Công việc chính của việc tạo cây là kết nối các vùng rút trích được tại một
mức đến các vùng của mức kế tiếp Nếu vùng R tại mức σ bị che khuất hơn hai phần i
Trang 25ba diện tích của nó bởi vùng R’ của mức σi+1, R sẽ được gán nhãn là nút con của R’
Bằng cách này chúng ta có thể dễ dàng tạo cây cấp bậc từ các vùng đã rút trích được Các vùng rút trích được trong hình 3.5 được xây dựng thành cây như sau (xem hình 3.9)
Hình 3.10 Vị trí vùng tương đối của nút con
Trong hình 3.10 biểu diễn các vị trí tương đối của nút con trên nút cha lần lượt
Trang 26tương đối như thế nào đối với nút cha khá đơn giản Nếu tâm của nút con (tâm của hình vuông hay hình chữ nhật) rơi vào vùng nào trong hình 3.10 thì chỉ số của vùng
đó chính là giá trị vị trí tương đối của nút con trong nút cha Lưu ý rằng đối với các nút gốc giá trị này sẽ là 0
Bên cạnh đó thông tin về độ sáng cũng rất quan trọng trong các bài toán phát hiện và nhận dang khuôn mặt về sau Để lưu trữ thông tin này trên cây chúng tôi sử dụng phương pháp phân tích thành phần chính (Principal Component Analysis – PCA) để giảm số chiều của ảnh mức xám trên vùng ảnh của nút đó Bằng cách này ta giảm được đáng kể thông tin phải lưu trữ về độ sáng của ảnh Thay vì phải lưu trữ toàn bộ điểm sáng của các vùng lồi lõm (các nút), chúng ta chỉ cần lưu một vector PCA chứa nội dung của các điểm sáng này Cách này giúp cho giảm thông tin phải lưu trữ, xử lý mà cũng không mất mát quá nhiều thông tin (Xem hình 3.11)
Hình 3.11 Cách tính vector đại điện độ sáng cho nút
Cụ thể ta thực hiện như sau: dùng một cửa sổ con S kích thước 9x9 quét theo
đường zic-zac trên ảnh xám của vùng lồi lõm Các cửa cổ này có thể chồng lắp lên nhau hai phần ba kích thước của nó Tại mỗi điểm, ta lưu lại trung bình mức sáng của
các điểm ảnh trong cửa sổ S Như vậy ta lưu được một vector tương ứng cho biểu
diễn mức sáng của điểm ảnh tại nút đó
9
9
S
Các khả năng chồng lắp cửa
sổ
Trang 27Hình 3.12 Ví dụ về cây rút trích được và các thông tin trên một nút
Bên cạnh đó, chúng tôi sử dụng một số luật để tỉa bớt nhánh cho các cây Nếu một nút cùng kiểu (lồi hay lõm) so với nút cha của nó thì nó được xem là một nút lập Trong trường hợp này, nút lập sẽ được tỉa khỏi cây Nếu nó là một nút lá, chúng ta dễ dàng xóa nó khỏi cây Ngược lại, nếu nó không phải là nút lá, tất cả các nút con của
nó sẽ được gán trở thành con của nút cha nó Hình 3.5 và 3.9 cho ta một ví dụ về trường hợp này: chúng ta có hai vùng lồi hình chữ nhật đứng ở mức σ2 và σ3 Hai vùng này thật sự chỉ là một Trong thực thế, do hiệu ứng của phép lọc Gaussian tại các mức khác nhau, chúng được rút trích ra từ ảnh với các kích thước khác nhau vì thế vùng lồi ở mức σ đã được xóa khỏi cây trong hình 3.9
Trang 283.4 Xây dựng hàm tính độ tương đồng giữa hai cây
Trong phần này chúng tôi xin đề xuất một cách tính độ tương đồng giữa hai cây lồi lõm theo cách biểu diễn như phần trước Việc xây dựng hàm tương đồng giữa hai cây là rất cần thiết trong tất cả các xử lý liên quan đến đặc trưng này Nó có tính chất quyết định ảnh hưởng đến độ chính xác của phát hiện và nhận dạng khuôn mặt
3.4.1 Độ tương đồng giữa hai nút trên cây
Để xây dựng hàm tính độ tương đồng giữa hai cây trước hết ta cần xây dựng hàm tính độ tương đồng của hai nút trên hai cây Với điều kiện rằng hai nút thuộc hai cây khác nhau này cùng mức σi nào đó
Đặt N 1 và N 2 là hai nút cùng cấp trên hai cây T 1 và T 2 Khi đó N 1 và N 2 có những thuộc tính sau:
N 1 , N 2∈ Node = {(t,s,p,i)} (3.9) Trong đó:
t ∈{ridge, valley} : là loại của nút (lồi hay lõm)
s = {square, horizontal rectangle, vertical rectangle} là hình dạng của nút (vuông,
hình chữ nhật ngang, hình chữ nhật đứng)
p ∈ [0 12] : là vị trí tương đối của nút trong nút cha của nó
i ∈ (a 1 ,a 2 , ,a n ) : là vector chứa thông tin độ sáng của nút Trong đó n thay đổi tùy
theo cấp của nút Ở mức σi càng cao, kích thước của vùng lồi lõm tương ứng với nút
càng lớn, số chiều n của vector này càng cao
Dựa trên các thuộc tính của node định nghĩa trong công thức 3.9, ta xây dựng công thức tính độ tương đồng giữa 2 nút như sau:
) , ( ) 1
( ) , ( ) , ( )
, ( )
,
(3.10)
Trang 29Trong công thức 3.10, α1, β1, và γ1 là các thông số thực ngiệm, hàm E(x,y)
dùng để xét sự giống nhau giữa 2 thuộc tính được định nghĩa như sau:
y x y
x E
0
1 ) , ( (3.11)
Bên cạnh đó ký hiệu EV(x,y) là hàm tính độ tương đồng giữa 2 vector được chuẩn hóa về đoạn [0,1] Trong đó x và y là hai vector độ sáng có n chiều (a 1 ,a 2 , a n )
n
a y a x y
x EV
n
i
i i
255
)
( 1
) ,
Do mỗi thành phần a i trong vector độ sáng có giá trị là độ sáng (a i∈[0,255])
nên dễ dàng chứng minh được EV(x,y) ∈[0,1] EV(x,y) đạt giá trị lớn nhất là 1 khi hai
vector x và y trùng nhau Và EV(x,y) đạt giá trị nhỏ nhất là 0 khi hai vector có khoảng cách Euclid xa nhau nhất Và từ đó ta cũng dễ dàng suy ra được giá trị của
] 1 , 0 [ )
,
(N1 N2 ∈
NS với mọi cặp nút N 1 và N 2
3.4.2 Độ tương đồng giữa hai cây
Trên cơ sở hàm tính độ tương đồng giữa hai nút, ta xây dựng lên hàm tính độ
tương đồng giữa hai cây Gọi T 1 và T 2 và hai cây đang cần tính độ tương đồng T 1 và
T 2 có những thuộc tính sau:
)}
, , , , , {(
1 T Tree r n c c cn
T ∈ = (3.13) Trong đó:
r : là nút gốc của cây r ∈ Node
n : là số nhánh con của cây n ∈ N
c i : là cây (nhánh) con thứ i của cây c i ∈ Tree và i ∈ [1 n] c i có thể là một nút là