BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC LẠC HỒNG
*** TRẦN VĂN MINH
PHÁT HIỆN MẶT NGƢỜI TRONG ẢNH DỰA VÀO ĐẶC TRƢNG 3D
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Đồng Nai, Năm 2013
Đồng Nai, Năm 2013
LỜI CẢM ƠN
Lời đầu tiên cho tôi gửi lời cảm ơn chân thành đến quý thầy cô đã cho tôi có
kiến thức làm nền tảng để đi đến thực hiện luận văn ngày hôm nay.
Xin tỏ lòng biết ơn sâu sắc, chân thành đến thầy PGS.TS Đỗ Năng Toàn
người đã tận tình giúp đỡ, chỉ dạy và động viên tôi trong suốt thời gian thực hiện
luận văn này.
Con xin cảm ơn ba mẹ và những thành viên trong gia đình của mình đã cùng
con chia sẽ nhưng khó khăn khi thực hiện luận văn này.
Tôi xin cảm ơn các anh chị và đồng nghiệp đã tạo điều kiện và giúp đỡ tôi có
được những khoảng thời gian để hoàn thành khóa học.
Qua đây tôi xin gửi đến quý thầy cô cùng ba mẹ và các anh chị em đồng
nghiệp cành hoa để cảm ơn những gì tốt đẹp nhất mà mọi người dành cho tôi với tất
cả tấm lòng mình!
Trân trọng !
Đồng Nai, ngày 10 tháng 6 năm 2013.
Trần Văn Minh
LỜI CAM ĐOAN
Tôi xin cam đoan : Luận văn này là công trình nghiên cứu thật sự của cá nhân, được
Hình 1.2 Mô phỏng các bước trong một hệ thống xử lý ảnh 4
Hình 1.3 Ví dụ hệ thống phát hiện khuôn mặt 6
Hình 1.4 Hệ thống kiểm soát ra vào dựa vào kỹ thuật phát hiện mặt người 8
Hình 1.5 Mô hình tổng quát các phương pháp giải quyết phát hiện mặt người 9
Hình 1.6 Phương pháp sử dụng đa độ phân giải 10
Hình 1.7 Tri thức của chuyên gia nghiên cứu phân tích trên khuôn mặt 11
Hình 1.8 Mô tả phương pháp chiếu 11
Hình 1.9 Chiếu từng phần ứng viên để xác thực thành phần khuôn mặt 12
Hình 1.10 Mẫu so sánh khớp sử dụng 23 quan hệ 16
Hình 1.11 Mô hình mạng nơ ron của Rowley 18
Hình 1.12 Kiến trúc hệ thống phát hiện khuôn mặt dựa trên mạng nơ ron 19
Hình 1.13 Dùng HMM xác định khuôn mặt 22
Hình 1.14 Mô hình Markow ẩn 22
Hình 2.1 Những điểm tương quan giữa các thành phần trên khuôn mặt 2D và 3D 25
Hình 2.2 Thông tin các điểm xương và rãnh trên ảnh vệ tinh 26
Hình 2.3 Thông tin các điểm xương và rãnh trên ảnh khuôn mặt 26
Hình 2.4 Dò tìm trên từng vùng 27
Hình 2.5 Tập các bộ lọc kích thước S 28
Hình 2.6 Tìm vùng 3D bằng nhiều mức giá trị dò 30
Hình 2.7 Khối 3D và kết xuất khung lưới tương ứng 31
Hình 2.8 Ví dụ về khuôn mặt 3D và kết xuất khung lưới 3D của khuôn mặt 31
Hình 2.9 Cách tạo cây bậc D cỡ K 32
Hình 2.10 Cấu trúc cây rút các đặc trưng 3D từ hình 2.6 33
Hình 2.11 Mô tả cách quét để lưu thông tin mức sáng 35
Hình 2.12 Một số kết xuất khung lưới cơ bản 36
Hình 2.13 Các nút tạo thành từ xương và rãnh được rút trích theo mức 36
Hình 2.14 Ảnh phân tích 37
Hình 2.15 Tính tổng mức sáng của hình chữ nhật R(l,t,r,b) 37
Hình 2.16 Một số ảnh trong thư viện của Markus Weber 39
Hình 2.17 Mẫu hình canh biên tại các vị trí trên khuôn mặt 43
1.2.4.3 BẢO MẬT 8
1.2.4.4 MỘT SỐ ỨNG DỤNG KHÁC 9
1.3 CÁC PHƢƠNG PHÁP PHÁT HIỆN MẶT NGƢỜI TRONG ẢNH 9
1.3.1 PHƢƠNG PHÁP TIẾP CẬN DỰA TRÊN CÁC LUẬT TRI THỨC . 10
1.3.2 PHƢƠNG PHÁP TIẾP CẬN DỰA TRÊN CÁC ĐẶC TRƢNG
BẤT BIẾN 12
1.3.2.1 CÁC ĐẶC TRƢNG KHUÔN MẶT 13
1.3.2.2 ĐẶC TRƢNG KẾT CẤU 14
1.3.2.3 ĐẶC TRƢNG SẮC MÀU CỦA DA 14
1.3.2.4 ĐA ĐẶC TRƢNG 14
1.3.3 PHƢƠNG PHÁP TIẾP CẬN DỰA TRÊN ĐỐI SÁNH MẪU 15
1.3.3.1 XÁC ĐỊNH MẪU TRƢỚC 15
1.3.3.2 CÁC MẪU BỊ BIẾN DẠNG 17
1.3.4 PHƢƠNG PHÁP TIẾP CẬN DỰA TRÊN KỸ THUẬT HỌC MÁY . 18
1.3.4.1 KIẾN TRÚC HOẠT ĐỘNG CỦA HỆ THỐNG 19
1.3.4.2 TIỀN XỬ LÝ 20
1.3.4.3 XÂY DỰNG MÔ HÌNH QUÁ TRÌNH HỌC 20
1.3.4.4 SUPPORT VECTOR MACHINE (SVM) 20
1.3.4.5 MẠNG LỌC THƢA (SPARSE NETWORK OF
WINNOWS – SNOW) 21
1.3.4.6 MÔ HÌNH MARKOW ẨN ( HIDDEN MARKOW MODEL
– HMM) 21
1.3.4.7 PHÂN LOẠI BAYES 22
1.3.5 PHƢƠNG PHÁP TIẾP CẬN DỰA VÀO ĐẶC TRƢNG 3D 23
1.3.6 NHẬN XÉT CHUNG CÁC PHƢƠNG PHÁP TIẾP CẬN HIỆN
TẠI 23
1.4 PHẠM VI CỦA ĐỀ TÀI 24
CHƢƠNG 2: PHÁT HIỆN KHUÔN MẶT DỰA VÀO ĐẶT TRƢNG 3D 25
2.1 RÖT TRÍCH CÁC ĐẶC TRƢNG 3D 25
2.1.1 ĐIỂM 3D 27
CHƢƠNG 4: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 58
4.1 KẾT LUẬN 57
4.2 HƢỚNG PHÁT TRIỂN 57
4.2.1 ĐẶT VẤN ĐỀ 57
4.2.2 PHƢƠNG PHÁP THỰC HIỆN 58
1
PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Bài toán phát hiện mặt người được bắt đầu nghiên cứu từ những năm 1970,
và đã có rất nhiều công trình nghiên cứu về việc phát hiện mặt người trong ảnh, tuy
nhiên cho đến hôm nay do sự đa dạng và tính phức tạp của thực tế do đó giải pháp
toàn diện vẫn đang còn là một thách thức và đang trong giai đoạn nghiên cứu.
Gần đây, lĩnh vực nghiên cứu nhận dạng đang được quan tâm nhiều nhất là
nhận dạng khuôn mặt, vân tay, giọng nói …Trong đó phát hiện khuôn mặt chiếm
một vị trí đáng kể và cũng không kém quan trọng. Nó được ứng dụng trong nhiều
lĩnh vực cho các hệ thống an toàn bảo mật, hình sự…
Xuất phát từ nhu cầu thực tế khoa học kỹ thuật phát triển những ứng dụng của
nó trong đời sống trở nên phổ biến và tình hình tội phạm đang ngày càng phát triển,
tinh vi hơn, ứng dụng phát hiện người trong ảnh, camera trở nên quan trọng vì nó
giúp cho cơ quan an ninh nhanh chóng xác định được mục tiêu và hỗ trợ con người
trong việc cảnh báo và bảo mật thông tin.
Việc phát hiện khuôn mặt trong ảnh còn được dùng để đếm số người trong
ảnh, việc đếm số người này có ý nghĩa thực tiễn trong cuộc sống như xác định được
số lượng khách ra vào siêu thị, mật độ lưu thông trên đường…
Như chúng ta đã biết khuôn mặt đóng vai trò quan trọng trong quá trình giao
tiếp giữa người với người, và nó cũng mang một lượng thông tin trong đó như tuổi
tác, giới tính, trạng thái cảm xúc…Nếu chúng ta để ý hơn thì khi hai người đối diện
nói chuyện với nhau mình có thể biết người đó đang muốn nói cái gì. Do đó mà
thuật rút trích đặc trưng 3D đó, cách áp dụng vào bài toán phát hiện khuôn mặt
trong ảnh.
Chƣơng 3: Thử nghiệm và kết quả: Xây dựng thử nghiệm chương trình phát
hiện mặt người trong ảnh theo tiếp cận dựa trên đặc trưng 3D. Nêu lên các phân tích
– thiết kế của chương trình.
Cuối cùng là Phần kết luận và hƣớng phát triển :Tóm tắt những kết quả đạt
được, những khó khăn, hạn chế và đưa ra hướng phát triển trong tương lai.
3
CHƢƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN KHUÔN MẶT
1.1 Các khái niệm liên quan đến xử lý ảnh
Trong những năm gần đây, khái niệm ảnh kỹ thuật số đã trở nên thân thiện
với mọi người trong xã hội việc thu nhận ảnh và lưu trữ vào máy tính trở nên đơn
giản hơn bao giờ hết. Với điều kiện như vậy xử lý ảnh trở thành một lĩnh vực được
quan tâm và nghiên cứu bởi nhiều tác giả. Một câu hỏi mà mọi người đều muốn
hiểu, xử lý ảnh là gì?
1.1.1 Xử lý ảnh là gì?
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng
vai trò quan trọng nhất. Việc phần cứng phát triển kéo theo đồ họa và xử lý ảnh
phát triển theo một cách mạnh mẽ, đã có nhiều ứng dụng trong cuộc sống. Quá
trình xử lý ảnh được xem là một quá trình thao tác trên ảnh đầu vào nhằm cho ra
một kết quả theo ý muốn. Kết quả đầu ra của một quá trình xử lý như vậy ảnh có
thể tốt hơn hoặc là một kết luận nào đó.
Hình 1.1 Mô phỏng quá trình xử lý ảnh
Một ảnh được xem là một tập hợp các điểm ảnh và mỗi điểm ảnh được xem là
đặc trưng cường độ ánh sáng hay một dấu hiệu nào đó tại một vị trí của đối tượng
trong không gian. Do đó ảnh trong xử lý ảnh có thể được xem là ảnh n chiều. Các
bước cơ bản trong một hệ thống xử lý ảnh:
Kết luận
Hỗ trợ ra
quyết định
Lưu trữ
5
- Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian
bằng kỹ thuật nội suy. Kỹ thuật này nhằm tăng cường độ mịn cho
ảnh.
1.2 Bài toán phát hiện khuôn mặt
1.2.1 Giới thiệu
Trong cuộc sống những ứng dụng về nhận dạng khuôn mặt đang được chú
tâm phát triển. Đây là lớp bài toán để giải quyết trong hệ thống máy và quan sát
đám đông. Để nhận dạng được khuôn mặt trong ảnh thì vấn đề cốt lõi là làm sao
phát hiện ra khuôn mặt đó trong ảnh, trước khi nhận dạng nó là ai, là cái gì…Và
vấn đề phát hiện khuôn mặt trong ảnh là cần thiết cho bất cứ hệ thống xử lý nhận
dạng khuôn mặt như xác thực người dùng, xác định các thành phần đặc trưng của
khuôn mặt,…
Cốt lõi trong hệ thống phát hiện mặt người là xác định xem có khuôn mặt
người trong ảnh đầu vào hay không và nếu có thì chỉ ra vị trí, kích thước khuôn
mặt có trong ảnh đó.
Trong gần hai thập kỷ gần đây, vấn đề này được các nhà khoa học trên thế
giới quan tâm nghiên cứu về bài toán phát hiện khuôn mặt người trong ảnh, từ
ảnh đen trắng, xám đến ảnh màu và trong chuỗi ảnh video. Tuy nhiên do sự đa
dạng và tính phức tạp của thực tế do đó giải pháp toàn diện vẫn đang còn là một
thách thức và đang trong giai đoạn nghiên cứu. Xuất phát từ yêu cầu thực tế trên
người thực hiện đã tìm hiểu và tập trung vào vấn đề nghiên cứu để phát hiện mặt
người trong ảnh dựa vào đặc trưng 3D.
1.2.2 Bài toán phát hiện khuôn mặt trong ảnh
Bài toán phát hiện mặt người là hệ thống nhận vào là một ảnh hoặc một
khuôn mặt trong ảnh
7
1.2.3 Những khó khăn và thách thức trong quá trình phát hiện khuôn
mặt
Tuy được nghiên cứu từ những năm 70 nhưng do đây là một bài toán khó
nên những nghiên cứu từ đó đến nay vẫn chưa đạt kết quả mong muốn, vì vậy
việc xác định khuôn mặt trong ảnh có những khó khăn nhất định:
- Nét mặt trong quá trình chụp hình sẽ khác nhau tùy thuộc vào tâm trạng
của của người đó như lúc vui, buồn,…do đó khuôn mặt sẽ không giống
với trạng thái mẫu lý tưởng.
- Hướng của khuôn mặt đối với máy ảnh khi chụp: như nhìn thẳng, nhìn
nghiên, dó đó cùng trong một ảnh mà có nhiều khuôn mặt ở nhiều tư thế
khác nhau.
- Điều kiện chụp ảnh thiếu ánh sáng làm cho chất lượng ảnh kém hoặc
chụp ngược ánh sáng.
- Trong quá trình chụp ảnh khuôn mặt bị che bởi một số vật chắn.
- Sự có mặt của các chi tiết đi kèm với khuôn mặt như mắt kính, khảo
trang,…
Từ những khó khăn cơ bản được nêu ở trên chứng tỏ rằng bất cứ thuật
toán xác định khuôn mặt nào cũng gặp phải những khuyết điểm nhất định. Do
vậy để so sánh với các thuật toán xác định mặt người khác ta thường dựa trên các
tiêu chí đánh giá sau:
- Tỷ lệ phần trăm về vị trí xác định chính xác khuôn mặt, có xác định được
tất cả khuôn mặt có trong ảnh không để so sánh với số lượng thực tế
khuôn mặt trong ảnh đó.
- Tổng thời gian để máy tính xác định được tất cả các khuôn mặt trong ảnh.
1.2.4 Các lĩnh vực ứng dụng bài toán phát hiện khuôn mặt
Xác định mặt người là một phần của hệ thống nhận dạng khuôn mặt. Nó
được dùng trong giám sát video, giao tiếp giữa người và máy, các ứng dụng cơ
sát để xác thực người nhập cảnh mục đích để kiểm tra xem người đó có phải là
phần tử khủng bố hay tội phạm không.
- Kiểm tra trạng thái của tài xế có mất cảnh giác hay ngủ gật khi đang lái xe
không để ra thông báo hỗ trợ khi cần thiết.
- Hệ thống tìm kiếm dữ liệu liên quan đến con người thông qua ảnh khuôn
mặt hay đoạn video.
- Một số hãng sản xuất máy chụp ảnh như Canon, fuijfilm đã ứng dụng thuật
toán xác định mặt người trong ảnh vào máy chụp hình của mình để cho kết quả
ảnh tại vị trí khuôn mặt đẹp và rõ hơn hơn .
- Hiện nay số lượng người bị mất thẻ và mã PIN ngày càng nhiều, và một số
chủ tài khoản thì tham rút tiền rồi nhưng báo là bị rút trộm tiền. Ứng dụng
trong hệ thống ATM để lưu trữ khuôn mặt người rút tiền sẽ giúp cho ngân
hàng dễ xử lý và đối chứng hơn.
1.3 Các phƣơng pháp phát hiện mặt ngƣời trong ảnh
Theo Ming-Hsuan Yang [28], dựa vào tính chất của các phương pháp có thể
phân loại các phương pháp phát hiện khuôn mặt trong ảnh thành 4 nhóm chủ
sau:
Hình 1.5 Mô hình tổng quát các phƣơng pháp giải quyết phát hiện mặt ngƣời
10
1.3.1 Phƣơng pháp tiếp cận dựa trên các luật tri thức
Nhóm phương pháp này chủ yếu dựa trên các luật được người nghiên cứu
định nghĩa trước về khuôn mặt. Những thuộc tính được định nghĩa thường có
mối quan hệ giữa các thành phần trên khuôn mặt. Một số nghiên cứu áp dụng
theo hướng tiếp cận này như G .Yang 1994 [10], Kotropoulos 1997 [5].
Hình 1.6 Phƣơng pháp sử dụng đa độ phân giải
Ảnh a có độ phân giải n=1, b=4, c=8, d= 16.
Trong phương pháp tiếp cận này, người nghiên cứu sẽ đưa ra các tập luật dựa
vào tri thức mà họ thu nhận được và cách làm thế nào để chuyển tri thức con
và VI(y)=
(1.1)
Hình 1.8 Mô tả phƣơng pháp chiếu
a) Ảnh có khuôn mặt và nền đơn giản
b) Ảnh có khuôn mặt và nền khá phức tạp
c) Ảnh có quá nhiều khuôn mặt
Dựa vào biểu đồ phương ngang ta thấy có hai giá trị cực tiểu cục bộ khi hai
tác giả đang xét quá trình thay đổi độ dốc của HI đó chính là cạnh bên trái và bên
12
phải của hai bên đầu. Tương tự với phương chiếu thẳng đứng VI các cực tiểu cục
bộ cũng cho ta biết vị trí miệng, mũi và hai mắt. Với các đặc trưng này đã đủ để
xác định khuôn mặt.
Chicote và Mateos dùng kết cấu để xác định ứng viên trong ảnh màu, sau đó
phân tích hình dáng , kích thước và thành phần khuôn mặt để xác định khuôn
mặt. Khi tìm được ứng viên khuôn mặt, hai tác giả trích ra các ứng viên của từng
thành phần khuôn mặt, sau đó dùng phép chiếu ở trên chiều từng phần để xác
thực lại lần nữa đó có phải là thành phần khuôn mặt hay không hình 1.9.
Hình 1.9 Chiếu từng phần ứng viên để xác thực thành phần khuôn mặt
1.3.2 Phƣơng pháp tiếp cận dựa trên các đặc trƣng bất biến
Với nhóm phương pháp này tác giả tập trung tìm các đặc trưng không phụ
thuộc vào tư thế của khuôn mặt, cũng như điều kiện về ánh sáng trong ảnh. Các
đặc trưng này sẽ được gọi là bất biến. Một số nghiên cứu áp dụng theo hướng
khuôn mặt trong ảnh, sau đó dùng đồ thi ngẫu nhiên để xác định khuôn mặt.
Phương pháp này xem bài toán xác định khuôn mặt là bài toán tìm kiếm thứ tự
các đặc trưng không thay đổi của khuôn mặt. Ông đã dùng 2 cặp đặc trưng
mắt, mũi và miệng để mô tả khuôn mặt. Đồng thời tính khoảng cách cho tất cả
các cặp đặc trưng sau đó dùng phân bố Gauuss để mô hình hóa. Với mỗi mẫu
khuôn mặt đưa ra được thông qua trung bình tương ứng cho một tập đa hướng,
đa tỷ lệ của đạo hàm Gauuss. Từ một ảnh, các đặc trưng của ứng viên được
xác định bằng cách so khớp từng điểm ảnh khi lọc tương ứng với vector mẫu.
Từ các đặc trưng không thay đổi này, các đặc trưng khác sẽ được xác định
thông qua sự đánh giá xác suất khoảng cách giữa các đặc trưng.
Bên cạnh khoảng cách để mô tả quan hệ giữa các đặc trưng như Leung.
Kendall[8], Mardia and Dryden[24] dùng lý thuyết xác suất thống kê về hình
dáng, dùng hàm mật độ xác suất qua N điểm đặc trưng, tương ứng tại I(x, y)
14
giả sử phân bố Gauss có 2N chiều, hai tác giả đã áp dụng phương thức cực đại
khả năng để xác định vị trí khuôn mặt, ưu điểm của phương pháp này là các
khuôn mặt bị che có thể phát hiện được.
Juan và Narciso xây dựng một không gian màu mới YCg’Cr’ để lọc các
vùng là ứng viên khuôn mặt dựa trên sắc thái của màu da người. Sau khi có
ứng viên, hai ông dùng các quan hệ về hình dáng khuôn mặt, mức độ cân đối
của các thành phần khuôn mặt để xác định khuôn mặt người. Tương tự,
Chang, Hwang và Jin xây dựng một bộ lọc để xác định ứng viên khuôn mặt
người theo màu da người. Từ ứng viên này tác giả xác định khuôn mặt người
theo hình dáng khuôn mặt và các quan hệ đặc trưng về thành khuôn mặt, với
mắt phải được chọn làm gốc tọa độ để xét quan hệ.
1.3.2.2 Đặc trƣng kết cấu
Khuôn mặt luôn có những đặc trưng kết cấu riêng biệt mà có thể dùng
phân loại so với các đối tượng khác, có ba loại đặc trưng được xem xét: màu
da, tóc và những thứ khác. Augusteijin và Skufca dùng mạng nơ ron về mối
các vùng khác, sau cùng phân loại dựa trên mạng nơ ron để biết vùng ứng viên
nào là khuôn mặt thật sự.
1.3.3 Phƣơng pháp tiếp cận dựa trên đối sánh mẫu
Nhóm phương pháp này nghiên cứu kỹ thuật đối sánh mẫu dựa trên sự đối
sánh khuôn mặt nhận được với các mẫu được xây dựng trước bằng cách quét qua
toàn bộ ảnh và tính toán giá trị tương đồng cho mỗi vị trí. Một số nghiên cứu
điển hình theo hướng tiếp cận này như I.Craw 1992[15], A. Lanitis 1995[1].
Trong hướng tiếp cận này, các mẫu khuôn mặt sẽ được xác định trước
hoặc xác định các tham số thông qua một hàm nào đó. Từ một ảnh đầu vào tính
ra các giá trị tương quan so với các mẫu chuẩn về đường viền khuôn mặt, mắt,
mũi và miệng. Thông qua các giá trị này tác giả quyết định có hay không có
khuôn mặt trong ảnh.
1.3.3.1 Xác định mẫu trƣớc
Sakai đã cố gắng thử xác định khuôn mặt người được chụp thẳng đứng
trong ảnh. Ông dùng mẫu về con mắt, mũi, miệng và đường viên khuôn mặt để
mô hình một khuôn mặt. Một mẫu con được định nghĩa trong giới hạn các
đoạn thẳng. Các đường thẳng trong ảnh được trích bằng phương pháp xem xét