1. Trang chủ
  2. » Công Nghệ Thông Tin

Nghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụng (Luận văn thạc sĩ)

75 395 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 3,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụngNghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụng

Trang 1

NGUYỄN ANH XUÂN

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT

TRONG ẢNH VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ KỸ THUẬT

( Theo định hướng ứng dụng)

HÀ NỘI - 2018

Trang 2

NGUYỄN ANH XUÂN

NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT

Trang 3

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai

công bố trong bất kỳ công trình nào khác

Hà Nội, Ngày tháng 1 năm 20 18 Tác giả luận văn

Nguyễn Anh Xuân

Trang 4

1.1 Một số kiến thức cơ bản trong xử lý ảnh 3

1.1.1 Xử lý ảnh là gì? 3

1.1.2 Một số khái niệm 5

1.1.3 Một số phương pháp biểu diễn ảnh 6

1.2 Bài toán phát hiện khuôn mặt 7

1.2.1 Giới thiệu 7

1.2.2 Bài toán phát hiện khuôn mặt trong ảnh 8

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 9

1.2.4 Các lĩnh vực ứng dụng bài toán phát hiện khuôn mặt 12

1.3 Các phương pháp phát hiện mặt người trong ảnh 13

1.3.1 Phương pháp tiếp cận dựa trên các luật tri thức 14

1.3.2 Phương pháp tiếp cận dựa trên các đặc trưng bất biến 17

1.3.3 Phương pháp tiếp cận dựa trên đối sánh mẫu 17

1.3.4 Phương pháp tiếp cận dựa trên kỹ thuật học máy 17

1.3.5 Phương pháp tiếp cận dựa vào đặc trưng 3D 20

1.4 Tiểu kết chương 1 20

Chương II: PHÁT HIỆN KHUÔN MẶT SỬ DỤNG ADABOOST 22

2.1 AdaBoost và bài toán hát hiện mặt người thời gian thực 22

2.2 Trích chọn đặc trưng mặt người Haar-like 23

2.3 Phát hiện mặt người với thuật toán AdaBoost 26

2.3.1 Giới thiệu 26

2.3.2 Tiếp cận Boosting 26

2.3.3 Thuật toán AdaBoost 28

2.4 Chuỗi các bộ phân lớp Cascade of Classifiers 32

2.5 Tiểu kết chương 2 34

Chương III: THỰC NGHIỆM VÀ ĐÁNH GIÁ 35

3.1 Môi trường thực nghiệm 35

3.2 Xử lý dữ liệu 35

3.2.1 Sơ đồ thiết kế hệ thống phát hiện khuôn mặt 35

3.2.2 Bộ dữ liệu đầu vào 36

3.2.3 Huấn luyện phát hiện khuôn mặt trong ảnh 38

3.2.4 Phát hiện khuôn mặt với OpenCV 49

Trang 5

3.3.2 Phát hiện khuôn mặt trên video và camera 61

3.4 Tiểu kết chương 3 64

KẾT LUẬN 65

Kết luận 65

Hướng phát triển 65

TÀI LIỆU THAM KHẢO 66

Trang 6

Hình 1.6: 2 ví dụ về 3 góc độ chụp hình khác nhau 10

Hình 1.7: Ảnh kết quả với các nguồn chiếu sáng thay đổi 10

Hình 1.8: Khuôn mặt bị che 11

Hình 1.9: Ảnh hưởng của việc đeo kính lên vùng hiển thị của mắt 11

Hình 1.10: Ảnh hưởng của việc trang điểm lên khuôn mặt 11

Hình 1.11: Hệ thống kiểm soát vào/ra dựa trên kỹ thuật phát hiện khuôn mặt 13

Hình 1.12: 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 14

Hình 1.13: Phương pháp sử dụng đa độ phân giải 14

Hình 1.14: Một phương pháp xác định khuôn mặt theo hướng tiếp cận top-down 15

Hình 1.15: Phương pháp chiếu 16

Hình 1.18: Kiến trúc hệ thống phát hiện khuôn mặt dựa trên mạng nơ ron [4] 18

Hình 2.1: Đặc trưng Haar-like cơ bản 23

Hinh 2.2: Đặc trưng Haar-like mở rộng 24

Hình 2.3: Cách tính Integral Image của ảnh 24

Hình 2.4: Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh 25

Hình 2.5: Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các đặc trưng xoay 45o 25

Hình 2.6: Tiếp cận Boosting 28

Hình 2.7 : Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh 29

Hình 2.8: Lưu đồ thuật toán 32

Hình 2.9: Minh họa sự huấn luyện của một cascade gồm N stages Ở mỗi stage, weak classifier tương ứng sẽ được huấn luyện sao cho độ chính xác của nó là h và false alarm bằng f 34

Hình 3.1: Tổng quan về hệ thống phát hiện mặt người trong ảnh 36

Hình 3.2: Bộ ảnh cá nhân (chứa một khuôn mặt) 37

Trang 7

Hình 3.4: Tập ảnh nền Negative 38

Hình 3.5: Tập ảnh Positive chứa 1370 ảnh khuôn mặt người 39

Hình 3.6: Tập ảnh Negative chứa 3364 ảnh không chứa mặt người 40

Hình 3.7: Nội dung file “infofile.txt” sau khi chạy file “create_list.bat” 41

Hình 3.8: Chương trình ObjectMarker trong thư mục “positive” 42

Hình 3.9: Đánh dấu một khuôn mặt trong trình ObjectMarker 42

Hình 3.10: Đánh dấu nhiều khuôn mặt trong trình ObjectMarker 42

Hình 3.11: Nội dung file “info.txt” 43

Hình 3.12: Nội dung file “samples_creation.bat” 44

Hình 3.13: Nội dung file “haarTraining.bat” 45

Hình 3.14: Phân tầng ở những tầng đầu tiên 46

Hình 3.16: Kết quả phân tầng với 20 tầng (từ 0 đến 19) 47

Hình 3.17: Một phần file chứa kết quả phân tầng của một tầng 48

Hình 3.18: Nội dung file “convert.bat” 49

Hình 3.19: Một phần nội dung file “output.xml” 49

Hình 3.20: Giao diện chính của ứng dụng 51

Hình 3.21: Ví dụ về phát hiện một khuôn mặt trong ảnh 51

Hình 3.22: Ví dụ về phát hiện nhiều khuôn mặt trong ảnh (4 khuôn mặt) 52

Hình 3.23: Ví dụ về phát hiện thiếu khuôn mặt trong ảnh (thiếu 3/17 khuôn mặt) 52

Hình 3.24: Ví dụ về phát hiện thừa khuôn mặt trong ảnh (thừa 1 khuôn mặt) 53

Hình 3.25: Ví dụ về phát hiện khuôn mặt bị che khuất 1 phần 53

Hình 3.26: Ví dụ về không phát hiện khuôn mặt bị che khuất 1 phần 54

Hình 3.27: Ví dụ về phát hiện hình vẽ chứa khuôn mặt 54

Hình 3.28: Ví dụ về phát hiện khuôn mặt trong điều kiện chiếu sáng yếu 55

Hình 3.29: Ví dụ về phát hiện khuôn mặt trong điều kiện lóa sáng 55

Hình 3.30: Ví dụ về phát hiện khuôn mặt trong hình vẽ có cấu trúc phức tạp 56

Hình 3.31: Ví dụ về không phát hiện được khuôn mặt nghiêng với góc lớn 56

Hình 3.32: Ví dụ về phát hiện khuôn mặt nghiêng góc vừa phải 57

Hình 3.33: Ví dụ về phát hiện khuôn mặt đeo kính 58

Hình 3.34: Ví dụ về phát hiện khuôn mặt trong video tự quay 58

Trang 9

Ký hiệu,

viết tắt Ý nghĩa tiếng Anh Ý nghĩa tiếng Việt

ASM Active Shape Models Các mô hình hình dạng hoạt động CCD Change Coupled Device Camera đã số hóa dạng photodiot

PDF Probility Density Function Hàm mật độ xác suất

PCA Principal Component Analysis Phân tích thành phần chính PDM Point Distribution Model Mô hình phân bố điểm

Trang 10

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ì Chính vì thế

mà phát hiện khuôn mặt là một lĩnh vực nghiên cứu hấp dẫn và được nhiều người quan tâm Do đó, dựa trên những kiến thức đã tìm hiểu được và mong muốn nghiên cứu sâu hơn về một vấn đề khá thiết thực hiện nay, cùng với sự hướng dẫn của TS

Nguyễn Đình Hóa, tôi đã chọn đề tài “Nghiên cứu một số phương pháp nhận dạng khuôn mặt trong ảnh và ứng dụng” làm đề tài luận văn tốt nghiệp Phát

hiện khuôn mặt là bước khởi đầu cho việc nhận dạng, khối lượng công việc cho việc phát hiện khuôn mặt khá nhiều và chiếm hầu hết thời gian làm luận văn nên luận văn hoàn thành việc phát hiện khuôn mặt người trong ảnh Nội dung chính trong luận văn nghiên cứu về phát hiện khuôn mặt trong ảnh

Trang 11

Ngoài phần mở đầu và kết luận, nội dung chính của luận văn được trình bày trong 3 chương:

Chương I Tổng quan về phát hiện khuôn mặt

Trình bày các khái niệm cơ bản về xử lý ảnh, giới thiệu về bài toán phát hiện khuôn mặt trong ảnh, các phương pháp tiêu biểu trong phát hiện khuôn mặt, những khó khăn thách thức của bài toán phát hiện khuôn mặt và ứng dụng của nó trong thực tế

Chương II Phát hiện khuôn mặt sử dụng Adaboost

Trình bày phương pháp trích chọn đặc trưng khuôn mặt Haar-like, nêu những

ưu điểm vượt trội cũng chính là lý do để lựa chọn thuật toán AdaBoost trong phát hiện khuôn mặt Trình bày các ý tưởng chính của thuật toán

Chương III Thực nghiệm và đánh giá

Giới thiệu môi trường thực nghiệm, cách thức thu thập, tổ chức và xử lý dữ liệu, cài đặt thuật toán AdaBoost và tiến hành thực nghiệm phát hiện khuôn mặt trên các bộ dữ liệu thu thập được và đánh giá kết quả đạt được

Trang 12

đồ hoạ theo đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống

Xử lý ảnh và đồ hoạ đóng một vai trò quan trọng trong tương tác người máy

Quá trình xử lý ảnh được xem như quá trình thao tác ảnh đầu vào nhằm cho

ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh

“tốt hơn” hoặc là một kết luận

Hình 1.1 Quá trình xử lý ảnh [1]

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 và được các thiết bị thu (như Camera, máy chụp ảnh…) ghi lại sau đó xử lý để phục vụ các mục đích khác nhau Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR) Ngày nay, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo Mặt khác, ảnh cũng có thể thu nhận từ vệ tinh, có thể chụp bằng máy quét ảnh Hình 1.2 dưới đây mô tả các bước trong quá trình xử lý ảnh

Trang 13

Hình 1.2 Các bước cơ bản trong xử lý ảnh [1]

Sơ đồ này bao gồm các thành phần sau:

Phần thu nhận ảnh (Image Acquisition): Ảnh có thể nhận qua camera màu

hoặc đen trắng Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh Camera thường dùng là loại quét dòng; ảnh tạo ra có dạng hai chiều Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)

Tiền xử lý ảnh (Image Processing): Sau bộ thu nhận, ảnh có thể nhiễu độ

tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn

Phân đoạn ảnh (Segmentation): Là tách một ảnh đầu vào thành các vùng

thành phần để biểu diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc

mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ

về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này

Biểu diễn ảnh (Image Representation): Đầu ra ảnh sau phân đoạn chứa các

điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp

Trang 14

dạng là quá trình xác định ảnh Quá trình này thường thu được bằng cách so sánh với ảnh mẫu chuẩn đã được học hoặc lưu từ trước Nội suy là phán đoán ý nghĩa trên cơ sở nhận dạng Ví dụ một loạt chữ số và nét gạch ngang trên phong bì thư có thể nội suy thành mã điện thoại

Cơ sở tri thức (Knowledge Base): Như đã nói ở trên, ảnh là một đối tượng

khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người Vì vậy, ở đây các cơ sở tri thức được phát huy

1.1.2 Một số khái niệm

Ảnh và điểm ảnh: Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian

và độ sáng Để xử lý bằng máy tính (số), ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi điểm như vậy gọi là điểm ảnh và ảnh được xem như một tập hợp các điểm ảnh

Độ phân giải của ảnh: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh

được ấn định trên một ảnh số được hiển thị Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều

Trang 15

Mức xám của ảnh: Mức xám của điểm ảnh là cường độ ánh sáng của nó và

được gán bằng giá trị số tại điểm đó Giá trị mức xám thông thường là: 16, 32, 64,

128, 256

Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với

mức xám của các điểm ảnh có thể khác nhau

Ảnh nhị phân: Là ảnh chỉ có hai mức đen trắng phân biệt tức dùng 1 bit mô

tả 21bit khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1

Ảnh màu: Trong khuôn khổ lý thuyết 3 màu (Red, Blue, Green) để tạo nên

thế giới màu, người ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: 28*3 = 224 triệu màu

1.1.3 Một số phương pháp biểu diễn ảnh

Sau khi thu nhận và số hóa, ảnh sẽ được lưu trữ hay chuyển sang giai đoạn phân tích Trước khi đề cập đến vấn đề lưu trữ ảnh, cần xem xét ảnh sẽ được biểu diễn ra sao trong bộ nhớ máy tính Sau đây là một số phương pháp biểu diễn ảnh: 1.1.3.1 Mã loạt dài

Mã loạt dài (Run-length Code) dùng để biểu diễn cho vùng ảnh hay ảnh nhị phân Một vùng ảnh R có thể biểu diễn đơn giản nhờ một ma trận nhị phân:

( ) { ( )

Với các biểu diễn trên, một vùng ảnh hay ảnh nhị phân được xem như chuỗi

0 hay 1 đan xen Các chuỗi này được gọi là mạch (run) Theo phương pháp này, mỗi mạch sẽ được biểu diễn bởi địa chỉ bắt đầu của mạch và chiều dài mạch theo dạng

<hàng, cột>, chiều dài

1.1.3.2 Mã xích

Mã xích thường được dùng để biểu diễn biên của ảnh Thay vì lưu trữ toàn

bộ ảnh, người ta lưu trữ các điểm ảnh A, B,…M Theo phương pháp này, 8 hướng của vecto nối 2 điểm biên liên tục được mã hoá Khi đó ảnh được biểu diễn qua

Trang 16

Hình 1.3: Hướng các điểm biên và mã tương ứng A11070110764545432 [1]

1.1.3.3 Mã tứ phân

Theo phương pháp mã tứ phân (Quad Tree Code), một vùng ảnh coi như bao kín một hình chữ nhật Vùng này được chia làm 4 vùng con (Quadrant) Nếu một vùng con gồm toàn điểm đen (1) hay toàn điểm trắng (0) thì không cần chia tiếp Trong trường hợp ngược lại, vùng con gồm cả điểm đen và trắng gọi là vùng không đồng nhất, ta tiếp tục chia thành 4 vùng con tiếp và kiểm tra tính đồng nhất của các vùng con đó Quá trình chia dừng lại khi mỗi vùng con chỉ chứa thuần nhất điểm đen hoặc điểm trắng Quá trình đó tạo thành một cây chia theo bốn phần gọi là cây

tứ phân Như vậy, cây biểu diễn ảnh gồm một chuỗi các ký hiệu b (black), w (white)

và g (grey) kèm theo ký hiệu mã hóa 4 vùng con Biểu diễn theo phương pháp này

ưu việt hơn so với các phương pháp trên, nhất là so với mã loạt dài Tuy nhiên, để tính toán số đo các hình như chu vi, mô men là tương đối khó khăn

1.2 Bài toán phát hiện khuôn mặt

1.2.1 Giới thiệu

Phát hiện đối tượng là bài toán cơ bản và quan trọng trong lĩnh vực thị giác máy tính Các kỹ thuật đã được áp dụng có thể chia thành một trong hai cách tiếp cận: so khớp các mô hình hình học hai, ba chiều vào ảnh và phương pháp so khớp các mô hình khung vào ảnh có chứa khuôn mặt cần dò tìm Các nghiên cứu trước đây cho thấy rằng các phương pháp dựa trên khung nhìn có thể phát hiện các khuôn

Trang 17

mặt thẳng trong nền phức tạp một cách hiệu quả 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

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 đoạn video, qua xử lý trên máy tính thuật toán xác định được tất cả vị trí, kích thước khuôn mặt người trong ảnh đó, nhưng sẽ bỏ qua những thứ khác như ngôi nhà, mặt con vật, cơ thể con người ,…

Trang 18

Hình 1.4: Ví dụ hệ thống phát hiện khuôn mặt [2]

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

Trang 19

Hình 1.5: Ví dụ về các trạng thái biểu cảm thay đổi 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

Hình 1.6: 2 ví dụ về 3 góc độ chụp hình 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

Hình 1.7: Ảnh kết quả với các nguồn chiếu sáng thay đổi Trong quá trình chụp ảnh khuôn mặt bị che bởi một số vật chắn

Trang 20

Hình 1.8: Khuôn mặt bị che

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ẩu trang,…

Hình 1.9: Ảnh hưởng của việc đeo kính lên vùng hiển thị của mắt

Sự thay đổi khi trang điểm và sử dụng các loại mỹ phẩm:

Hình 1.10: Ảnh hưởng của việc trang điểm lên khuôn mặt

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:

Trang 21

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ơ bản của xác định khuôn mặt có thể kể đến là :

1.2.4.1 Hệ thống quan sát và theo dõi hành vi

Hệ thống quan sát và theo dõi hành vi sử dụng camera để xác định đâu là con người và theo dõi người đó có xâm nhập bất hợp pháp vào một khu vực nào đó hay không Hoặc dựa vào ảnh của một người để nhận dạng xem họ có phải là tội phạm hay không bằng cách so sánh với các ảnh tội phạm được lưu trữ trước đó và đưa ra cảnh báo giúp cơ quan an ninh quản lý tốt con người

1.2.4.2 Hệ thống tương tác giữa người và máy

Sử dụng các biểu cảm của khuôn mặt như nháy mắt để giúp những người bị bại liệt có thể giao tiếp với máy tính từ đó thể hiện được những gì họ đang muốn Ngoài ra giúp những người bị tật hoặc khiếm khuyết có thể dùng ngôn ngữ tay chân trao đổi giao tiếp với những người bình thường

1.2.4.3 Bảo mật

Ứng dụng phát hiện khuôn mặt trong ảnh vào bảo mật rất đa dạng, một trong

số đó là hệ thống nhận dạng mặt người của laptop, với hệ thống này cho phép chủ nhân của máy tính ngồi trước webcam là có thể đăng nhập được

Điều kiển ra vào công ty, văn phòng… kết hợp với nhận dạng vân tay để cho phép từng người ra vào khu vực mà họ được phép

Xác định mặt người có thể được ứng dụng trong các trạm rút tiền tự động (ATM) để lưu trữ khuôn mặt của người rút tiền, nhằm giảm hiện tượng bị rút trộm tiền rồi đổ lỗi cho ngân hàng

Trang 22

Hình 1.11: Hệ thống kiểm soát vào/ra dựa trên kỹ thuật phát hiện khuôn mặt

1.2.4.4 Một số ứng dụng khác

Tại Mỹ cơ quan an ninh sân bay xuất nhập cảnh sử dụng camera quan 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 [6], 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ủ yếu sau:

Trang 23

Hình 1.12: 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

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 [4], Kotropoulos 1997 [8]

Hình 1.13: 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 người sang các tập luật Đây là hướng tiếp cận dạng top – down, đại diện nhà nghiên cứu Yang [4] đã sử dụng cách tiếp cận này để xác định khuôn mặt trong ảnh

Hệ thống của tác giả sử dụng ba mức tập luật Ở mức đầu tiên tác giả đã dùng một khung cửa sổ quét trên toàn ảnh thông qua một tập luật để tìm các đối tượng được cho là khuôn mặt Qua mức thứ hai tác giả đã sử dụng một tập luật khác

Trang 24

tâm và phần bao xung quanh bên trên Sang mức thứ hai, xem xét biểu đồ của các ứng viên để loại bớt ứng viên nào không phải là khuôn mặt, đồng thời dò ra cạnh bao xung quanh các ứng viên đó Ở mức cuối cùng, những ứng viên nào còn lại sẽ được xem xét các đặc trưng của khuôn mặt về mắt, mũi và miệng, hai ông đã dùng chiến thuật làm rõ dần để giảm bớt số lượng tính toán xử lý

Hình 1.14: Một phương pháp xác định khuôn mặt theo hướng tiếp cận top-down Pitas và Kotropoulos [8] đưa ra một phương pháp dùng trên độ phân giải thấp Hai tác giả dùng phương pháp chiếu để xác định các đặc trưng khuôn mặt Phương pháp này được thể hiện như sau:

Gọi I(x,y) là giá trị mức xám của một điểm ảnh có kích thước m x n tại vị trí (x,y) các hàm chiếu ảnh theo phương ngang và thẳng đứng được định nghĩa như sau:

( ) ∑ ( ) và ( ) ∑ ( )

Trang 25

Hình 1.15: Phương pháp chiếu (a) Ảnh chỉ có một khuôn mặt và hình nền đơn giản;

(b) Ảnh chỉ có một khuôn mặt và hình nền phức tạp;

(c) Ảnh có 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 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 [9] 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.16: Chiếu từng phần ứng viên để xác thực thành phần khuôn mặt

Trang 26

khác nhau Đã có rất nhiều nghiên cứu về hướng tiếp cận này, các đặc điểm không thay đổi được tìm thấy như lông mày, mắt, mũi, miệng hay các đường viền trên tóc

… Trên cơ sở các đặc trưng này, các nhà nghiên cứu xây dựng lên một mô hình thống kê mô tả quan hệ của các đặc trưng và từ đó xác định sự xuất hiện của khuôn mặt trong bức ảnh Khó khăn của hướng tiếp cận này đó là phải mô tả các đặc trưng không thay đổi và quan hệ giữa chúng phù hợp với điều kiện ánh sáng, độ nhiễu hay

bị che khuất

1.3.3 Phương pháp tiếp cận dựa trên đối sánh mẫu

Trong hướng tiếp cận dựa trên so sánh khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được chụp thẳng) sẽ được xác định trước hoặc được biểu diễn thành một hàm với các tham số cụ thể Từ ảnh đầu vào, ta tính 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ị tương quan này mà hệ thống sẽ quyết định có hay không có tồn tại khuôn mặt trong ảnh Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tư thế, và hình dáng thay đổi

1.3.4 Phương pháp tiếp cận dựa trên kỹ thuật học máy

1.3.4.1 Adaboost

Adaboost được đánh giá là phương phát tiếp cận nhanh nhất trong các thuật toán học máy Nó thường được kết hợp với các mô hình cascade of classifiers để tăng tốc độ phát hiện khuôn mặt trong ảnh Tư tưởng của thuật toán adaboost đấy là kết hợp các bộ phân loại yếu thành một bộ phân loại mạnh Trong quá trình xây dựng, bộ phân loại yếu tiếp theo sẽ được xây dựng dựa trên các đánh giá về các bộ phân loại yếu trước, cuối cùng các bộ phân loại yếu sẽ được kết hợp để trở thành bộ phân loại mạnh

Trang 27

Viola và Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người [7] với các đặc trưng dạng Haar-like Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn 80% Ngoài ra Schneiderman và Kanade dùng wavelet để trích đặc trưng, sau đấy cũng xây dựng hệ thống học với Adaboost, dựa trên xác suất để xác định khuôn mặt người Tỷ lệ chính xác trên của phương pháp này lên đến 90%

1.3.4.2 Mạng nơ ron

Về cơ bản mạng neural là một mạng các phần tử (gọi là neuron) kết nối với nhau thông qua các liên kết (các liên kết này được gọi là trọng số liên kết) để thực hiện một công việc cụ thể nào đó Khả năng xử lý của mạng neuron được hình thành thông qua quá trình hiệu chỉnh trọng số liên kết giữa các neuron, nói cách khác là học từ tập hợp các mẫu huấn luyện

Mạng neural rất hay được sử dụng trong các bài toán nhận dạng mẫu, nhận dạng mặt người cũng có thể xem là một bài toán nhận dạng với hai loại mẫu (mặt người hoặc không phải mặt người) và như vậy có thể sử dụng mạng neural khá hiệu quả kể cả khi các mẫu khuôn mặt có độ phức tạp cao Tuy nhiên, một điều trở ngại

đó là các kiến trúc mạng đều có tính tổng quát cao, do đó, khi áp dụng ta phải tính toán rõ số lượng tầng, số lượng node, tỷ lệ học … cho từng trường hợp cụ thể

Trang 28

Nguồn gốc của SVM dựa trên sự chắc chắn về lỗi chính xác, có thể phân loại ngẫu nhiên các mẫu đối tượng được chọn mà lỗi được giữ sao cho nhỏ nhất Vì vậy, giải thuật SVM giúp giảm thiểu biên trên các lỗi chính xác và làm cho hệ thống tin cậy hơn

1.3.4.4 Mạng lọc thưa (SNoW)

Phương pháp này do Yang [6] đề xuất, dùng để xác định các khuôn mặt với các đặc trưng khác nhau và biểu diễn trong các tư thế khác nhau dưới điều kiện ánh sáng khác nhau SnoW là một mạng thưa dùng các hàm tuyến tính và lọc để cập nhật luật Phương pháp này tương đối thích hợp cho học trong miền khi các đặc trưng tiềm năng tạo nên các quyết định khác nhau mà không biết mức độ ưu tiên 1.3.4.5 Mô hình Markov ẩn (HMM)

Mô hình Markov ẩn ( Hidden Markov Model – HMM ) là một mô hình thống

kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này Các tham số của mô hình được rút ra sau

đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng nhận dạng mẫu

1.3.4.6 Phân loại Bayes

Bayes là một bộ phân loại tuyến tính dựa trên xác xuất Tư tưởng của nó là dựa vào xác xuất của các đặc trưng xuất hiện trong khuôn mặt Đây là phương pháp đơn giản, cài đặt không phức tạp, tốc độ nhanh, với tập huấn luyện lớn thì cho kết quả vẫn tương đối chính xác

Một nghiên cứu điển hình dùng phân loại Bayes vào xác định mặt người trong hướng tiếp cận dựa trên diện mạo đó là nghiên cứu của Schneiderman và

Trang 29

Kanade Hai ơng đã mơ tả một phân loại Nạve Bayes để ước lượng xác xuất chung của diện mạo cục bộ và vị trí của các mẫu (các vùng trên khuơn mặt) ở nhiều độ phân giải khác nhau Ứng với mỗi độ phân giải, khuơn mặt người được chia thành bốn vùng chữ nhật, các vùng này được chiếu xuống khơng gian cĩ số chiều bé hơn

và được lượng tử hĩa thành tập các mẫu cĩ giới hạn Sau đấy thống kê các vùng đã được chiếu để mã hĩa diện mạo cục bộ Nếu xác xuất lớn hơn xác xuất đạt được lớn hơn xác xuất tiền nghiện thì kết luận cĩ khuơn mặt người Hướng tiếp cận này cịn cho phép xác định các khuơn mặt bị xoay hoặc gĩc nhìn nghiêng

1.3.5 Phương pháp tiếp cận dựa vào đặc trưng 3D

James L Rowley 1983 [5], đã đưa ra khái niệm ridges and peaks, Ridges là các điểm nổi (hay những vùng nhơ cao) trên khuơn mặt, điểm nổi này sẽ tạo thành những đường xương và tập các đường xương này được gọi là Peaks James L.Crowley dùng phép hiệu lọc của Low Pass để rút ra các điểm xương trên ảnh, sau

đĩ dùng thuật tốn duyệt để kết các điểm xương này lại với nhau tạo thành đặc trưng ridges and peaks Một số hướng tiếp cận khác được đề xuất để rút các đặc trưng ridges and peaks Đa phần các hướng tiếp cận này sửdụng các kỹ thuật lọc phụ thuộc vào khơng gian như lọc trung vị, lọc trung bình,… để tăng cường thơng tin về cạnh trên ảnh sau đĩ dị tìm điểm cực trị Các điểm cực trị này được xem là các đặc trưng Ridges and Peaks Năm 2004, Trần Văn Minh đưa ra cách tiếp cận Laplacian [2] để tăng cường khả năng phát hiện các đặc trưng Ridges and Peaks dưới nhiều mức khác nhau Với hướng tiếp cận này các đặc trưng ridges and peaks

sẽ được biểu diễn dưới dạng cây bậc D cỡ K.Quan Yaun, đưa ra khái niệm valley – like Đặc trưng này dựa trên độ sáng của các điểm xung quanh so với điểm đang xét

để xác định xem cĩ phải là điểm Ridges and Peaks khơng Tuy nhiên hướng tiếp cận của Quan Yaun quá đặc biệt đối với ảnh đầu vào nên ít được phát triển và để ý

1.4 Tiểu kết chương 1

Chương 1 đã trình bày tổng quan về phát hiện khuơn mặt trong ảnh, cụ thể như sau: giới thiệu một số kiến thức và khái niệm cơ bản liên quan đến xử lý ảnh, trình bày tổng quan về bài tốn phát hiện mặt người trong ảnh, nhưng khĩ khăn

Trang 30

hợp trích chọn đặc trưng khuôn mặt người Haarlike Trong chương 2, em sẽ trình bày chi tiết về phương pháp này

Trang 31

Chương II: PHÁT HIỆN KHUÔN MẶT SỬ DỤNG ADABOOST 2.1 AdaBoost và bài toán hát hiện mặt người thời gian thực

Phát hiện đối tượng là bài toán cơ bản và quan trọng trong lĩnh vực thị giác máy tính Các kỹ thuật đã được áp dụng có thể chia thành một trong hai cách tiếp cận: so khớp các mô hình hình học hai, ba chiều vào ảnh và phương pháp so khớp các mô hình khung vào ảnh có chứa khuôn mặt cần dò tìm Các nghiên cứu trước đây cho thấy rằng các phương pháp dựa trên khung nhìn có thể phát hiện các khuôn mặt thẳng trong nền phức tạp một cách hiệu quả

Bài toán phát hiện khuôn mặt trên ảnh là bài toán quan trọng vì là quá trình nhận dạng đối tượng sẽ thiếu chính xác nếu như thiếu bước phát hiện và định vị được đối tượng Phát hiện mặt người thời gian thực tức là phát hiện mặt người trong một chuỗi các khung hình (frame) từ các thiết bị ghi hình Bài toán phát hiện khuôn mặt thời gian thực có ý nghĩa rất quan trọng trong các hệ thống kiểm soát vào ra, giám sát an ninh

Trên thực tế, việc phát hiện khuôn mặt trong ảnh gặp phải nhiều khó khăn vì một số lý do như biến đổi mặt phẳng ảnh (quay, hướng của khuôn mặt), biến đổi

độ sáng và ngữ cảnh (ban ngày, ban đêm, trời nắng, mưa ), biến đổi nền, biến đổi hình dáng (các sắc thái, biểu cảm trên khuôn mặt)

Ngoài ra, việc phát hiện khuôn mặt trong thời gian thực bị ràng buộc khắt khe về mặt tốc độ xử lý của thuật toán Một số hướng tiếp cận phát hiện khuôn mặt trong thời gian thực nổi bật có thể kể ra như:

Phát hiện khuôn mặt trên ảnh màu dựa trên sự phân tích màu sắc của vùng

da Mặc dù việc xử lý khá nhanh nhưng hướng này có giới hạn chỉ xử lý trên ảnh màu và thường nhạy cảm với ánh sáng, thường chỉ sử dụng làm các bước tiền xử lý cho các hướng khác

Phát hiện khuôn mặt dựa trên đặc trưng chủ yếu dựa vào các đặc trưng của khuôn mặt người được quy định trước Thành công nhất trong phát hiện khuôn mặt người trong thời gian thực là phương pháp ASM (Active Shape Models)

Trang 32

thời gian thực vì có thể xử lý đến khoảng 15-20 khung hình trong một giây Đây là phương pháp có tốc độ xử lý nhanh nhất trong tất cả các phương pháp học máy Trong luận văn, em sử dụng phương pháp này để giải quyết bài toán

2.2 Trích chọn đặc trưng mặt người Haar-like

Hệ thống phát hiện mặt người trên hình ảnh dựa trên các đặc trưng đơn giản

Có nhiều lý do để chọn việc xử lý dựa trên đặc trưng mà không thực hiện với xử lý trực tiếp trên các điểm ảnh Lý do phổ biến nhất là các đặc trưng có thể dựa trên các tri thức hữu hạn của các dữ liệu huấn luyện để mã hóa ra các tri thức nhận dạng Ngoài ra một hệ thống phát hiện mặt người sử dụng đặc trưng thì xử lý sẽ nhanh hơn so với hệ thống dựa trên xử lý điểm ảnh

Trong luận văn này, em sử dụng đặc trưng đơn giản là đặc trưng Haar-like [6, 7, 8] Đặc trưng Haar-like cũng là đặc trưng được sử dụng trong thuật toán AdaBoost sẽ trình bày ở mục sau Đặc trưng này được xây dựng từ các hình chữ nhật có kích thước bằng nhau, dùng để tính độ chênh lệch giữa các giá trị điểm ảnh trong các vùng kề nhau Mỗi đặc trưng Haar-like là sự kết hợp gồm 2 hoặc 3 khối chữ nhật mang giá trị “đen” hoặc “trắng” Những khối chữ nhật này thể hiện sự liên

hệ tương quan giữa các bộ phận trong ảnh mà bản thân từng giá trị pixel không thể diễn đạt được

Hình 2.1: Đặc trưng Haar-like cơ bản

Để áp dụng vào bài toán phát hiện mặt người, đặc trưng haar-like được mở rộng ra và được chia thành 3 tập đặc trưng như sau:

Trang 33

(1) Đặc trưng theo cạnh

(2) Đặc trưng theo đường

(3) Đặc trưng xung quanh tâm

Hinh 2.2: Đặc trưng Haar-like mở rộng Lợi ích của các đặc trưng Haar-like là nó diễn đạt được tri thức về các đối tượng trong ảnh (bởi vì nó biểu diễn mối liên hệ giữa các bộ phận của đối tượng), điều mà bản thân từng điểm ảnh không diễn đạt được

Dựa theo các đặc trưng trên, giá trị của đặc trưng Haar-like được xây dựng bởi độ chênh lệch giữa tổng các pixel của các vùng đen so với tổng các pixel của các vùng trắng

f(x) = Tổng vùng đen(các mức xám của pixel) - Tổng vùng trắng(các mức xám của pixel) Trong quá trình huấn luyện, số lượng xử lý trên các đặc trưng Haar-like là rất lớn, việc tính tổng các điểm ảnh cho bởi từng đặc trưng làm cho thời gian xử lý tăng đáng kể Do vậy Viola và Jones [6, 7, 8] đã đề xuất ra khái niệm “Integral Image” (ảnh chia nhỏ) để tính toán cho các đặc trưng cơ bản nhằm giảm thiểu chi phí cho bài toán để bài toán có thể xử lý với thời gian thực

Hình 2.3: Cách tính Integral Image của ảnh

P(x,y)

Trang 34

Integral Image tại vị trí (x,y) bằng tổng các giá trị điểm ảnh phía trên và bên trái của (x,y), bao gồm:

y y x

x i x y y

x

, ,

) , ( )

, (

Sau khi đã tính được Integral Image, việc tính tổng điểm ảnh của một vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau: (Giả sử ta cần tính tổng điểm ảnh của vùng D như trong hình 2.4):

D = A + B + C + D – (A+B) – (A+C) + A

Với A + B + C + D chính là giá trị tại điểm P4 trên Integral Image, tương tự như vậy A+B là giá trị tại điểm P2, A+C là giá trị tại điểm P3, và A là giá trị tại điểm P1 Vậy ta có thể viết lại biểu thức tính D ở trên như sau:

D = P4- P2 - P3 + P1 = (x4, y4) - (x2, y2) - (x3, y3) + (x1, y1)

Hình 2.4: Ví dụ cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh

Hình 2.5: Ví dụ cách tính nhanh tổng điểm ảnh của vùng D trên ảnh với các đặc trưng xoay

Trang 35

Với các đặc trưng Haar-like xoay 45o , tổng pixel của một vùng bất kỳ trên ảnh vẫn được tính theo cách sau: D = A + B + C + D – (A+B) – (A+C) + A

Như vậy tổng các điểm ảnh trong một hình chữ nhật (kể cả trường hợp xoay

45º) bất kì đều có thể được tính nhanh dựa trên integral image tại 4 đỉnh của nó :

Trong luận văn, em tiến hành phát hiện mặt người theo phương pháp AdaBoost vì phương pháp phát hiện AdaBoost dựa trên ý tưởng xây dựng các bộ dò tìm yếu, mặc dù độ chính xác không cao nhưng có thời gian xử lý rất nhanh Ngoài

ra, khi kết hợp các bộ dò tìm lại ta có thể đạt độ chính xác phát hiện cao, phương pháp AdaBoost sử dụng kết hợp các đặc trưng vốn dĩ tính toán rất nhanh, thích hợp cho việc phát hiện khuôn mặt trong thời gian thực, các bộ phân loại AdaBoost có thể xây dựng phân tầng với độ phức tạp xử lý từ thấp đến cao, nhằm loại nhanh các ứng viên xấu (không phải mặt người) vốn dĩ nhiều hơn nhiều các ứng viên là mặt người để đến bộ phân loại phức tạp hơn (chỉ còn lại ít ứng viên chưa bị loại), do đó kết quả phát hiện rất nhanh

2.3.2 Tiếp cận Boosting

Về lịch sử, boosting bắt nguồn từ câu hỏi nổi tiếng được đưa ra bởi Kearns vào năm 1989 : “Liệu có thể tạo ra một strong classifier từ một tập các bộ phân loại

yếu?” Năm 1990, Robert Schapire đưa ra thuật toán boosting đầu tiên, tiếp đến năm

1993 thì nó được Drucker, Schapire và Simard kiểm nghiệm trong trong các chương

trình nhận dạng (OCR application) Freund đã tiếp tục các nghiên cứu của

Schaprire, và đến năm 1995 thì ông cùng với Schapire phát triển boosting thành adaboost

Trang 36

2 lớp (mẫu cần nhận dạng chỉ thuộc một trong hai lớp) với D là tập huấn luyện gồm

có n mẫu Trước tiên, chúng ta sẽ chọn ngẫu nhiên ra n1 mẫu từ tập D (n1<n) để tạo tập D1 Sau đó, chúng ta sẽ xây dựng phân lớp yếu đầu tiên C1 từ tập D1 Tiếp theo, chúng ta xây dựng tập D2 để huấn luyện bộ phân loại C2 D2 sẽ được xây dựng sao cho một nửa số mẫu của nó được phân loại đúng bởi C1 và nửa còn lại bị phân loại sai bởi C1 Bằng cách này, D2 chứa đựng những thông tin bổ sung cho C1 Bây giờ chúng ta sẽ xây huấn luyện C2 từ D2

Tiếp theo, chúng ta sẽ xây dựng tập D3 từ những mẫu không được phân loại tốt bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và C2 cho kết quả khác nhau Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạt động không hiệu quả Sau cùng, chúng ta sẽ huấn luyện bộ phân loại C3 từ D3

Bây giờ chúng ta đã có một phân lớp mạnh : sự kết hợp C1, C2 và C3 Khi

tiến hành nhận dạng một mẫu X, kết quả sẽ được quyết định bởi sự thỏa thuận của 3

bộ C1, C2 và C3: Nếu cả C1 và C2 đều phân X vào cùng một lớp thì lớp này chính

là kết quả phân loại của X; ngược lại, nếu C1 và C2 phân X vào 2 lớp khác nhau, C3

sẽ quyết định X thuộc về lớp nào

Trang 37

Hình 2.6: Tiếp cận Boosting 2.3.3 Thuật toán AdaBoost

AdaBoost (Adaptive Boost) là một bộ phân loại mạnh phi tuyến phức dựa

trên hướng tiếp cận boosting được Freund và Schapire đưa ra vào năm 1995 Adaboost hoạt động trên nguyên tắc kết hợp tuyến tính các phân lớp yếu dựa trên các đặc trưng Haar-Like để hình thành một phân lớp mạnh

Để có thể kết hợp các bộ phân loại yếu, adaboost sử dụng một trọng số (weight) để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện, cứ mỗi phân lớp yếu được xây dựng, thuật toán sẽ tiến hành cập nhật lại trọng số để chuẩn

bị cho việc xây dựng phân lớp yếu tiếp theo: tăng trọng số của các mẫu bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi phân lớp yếu vừa xây dựng Bằng cách này, các phân lớp yếu sau có thể tập trung vào các mẫu mà các phân lớp yếu trước đó chưa thực hiện tốt Sau cùng các phân lớp yếu sẽ được kết hợp tùy theo mức độ „tốt‟ của chúng để tạo nên một phân lớp mạnh

Các phân loại yếu hk(x) là các bộ phân loại yếu, được biểu diễn như sau: [6]

( ) { ( )

Trong đó:

X : mẫu hay cửa sổ con cần xét (X = (x1,x2,…,xn) là vector đặc trưng của mẫu)

Ngày đăng: 28/02/2018, 12:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. PGS.TS Nguyễn Quang Hoan (2006). Xử lý ảnh. Học viện Công nghệ Bưu chính Viễn Thông Sách, tạp chí
Tiêu đề: Xử lý ảnh
Tác giả: PGS.TS Nguyễn Quang Hoan
Năm: 2006
[2]. Trần Văn Minh (2013). Phát hiện mặt người trong ảnh dựa vào đặc trưng 3D. Khoa Công nghệ Thông tin – Đại học Lạc Hồng.Tiếng Anh Sách, tạp chí
Tiêu đề: Phát hiện mặt người trong ảnh dựa vào đặc trưng 3D
Tác giả: Trần Văn Minh
Năm: 2013
[3] E. Osuna, R. Freund, and F. Girosi (1997), “Training Support Vector Machines: An Application to Face Detection” Proc. IEEE Conf. Computer Vision and Pattern Recognition, pp. 130-136, 1997 Sách, tạp chí
Tiêu đề: Training Support Vector Machines: "An Application to Face Detection
Tác giả: E. Osuna, R. Freund, and F. Girosi
Năm: 1997
[4]. G.Yang, T. S. Huang (1994), "Human Face Detection in Complex Background", Pattern Recognition, Vol .27, No. 1, pp. 50-65, 1994 Sách, tạp chí
Tiêu đề: Human Face Detection in Complex Background
Tác giả: G.Yang, T. S. Huang
Năm: 1994
[6]. Ming-Hsuan Yang, David J.Kriegman, Narendra Ahuja,"Detecting Faces in Image: A Survey", IEEE Transaction on Pattern Analysis and Machine Intelligence (PAMI), Vol.24, No 1, pp. 30-49 , Jan 2012 Sách, tạp chí
Tiêu đề: Detecting Faces in Image: A Survey
[7]. Paul Viola and Michael J. Jones (2001). Rapid object detection using a boosted cascade of simple Feature. Computer Vision and Pattern Recognition Sách, tạp chí
Tiêu đề: Rapid object detection using a boosted cascade of simple Feature
Tác giả: Paul Viola and Michael J. Jones
Năm: 2001
[8] C. Kotropoulos (1997), I. Pitas, “Rule-based Face Detection in Frontal Views”, Proc. Int’l Conf.Acoustics, Speech and Signal Processing Vol. 4, pp. 2637-2540 Sách, tạp chí
Tiêu đề: Rule-based Face Detection in Frontal Views”, "Proc. Int’l Conf.Acoustics, Speech and Signal Processing
Tác giả: C. Kotropoulos
Năm: 1997
[9] Gines Garcia Mateos and Cristina Vicente Chicote, “Face Detection on Still Images Using HIT Maps”, AVBPA 2001, LNCS 2091, pp. 102-107, Springer- Verlag Berlin Heidelberg, 2001 Sách, tạp chí
Tiêu đề: Face Detection on Still Images Using HIT Maps
[10]. NRC-IIT Facial Video Database http://www.videorecognition.com/db/video/faces/cvglab/ Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm