CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN VÀ NHẬN DẠNG MẶT NGƯỜI 1.1 Khái quát về phát hiện và nhận dạng mặt người Giới thiệu chung Từ xa xưa con người đã rất giỏi trong việc sử dụng thị giác củ
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VŨ THẠCH AN
NHẬN DẠNG KHUÔN MẶT NGƯỜI TỪ CAMERA
SỬ DỤNG ĐẶC TRƯNG HAAR-LIKE, ỨNG DỤNG
TRONG GIÁM SÁT AN NINH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2019
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VŨ THẠCH AN
NHẬN DẠNG KHUÔN MẶT NGƯỜI TỪ CAMERA
SỬ DỤNG ĐẶC TRƯNG HAAR-LIKE, ỨNG DỤNG
TRONG GIÁM SÁT AN NINH
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS Nguyễn Văn Tảo
Thái Nguyên – 2019
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là công trình nghiêncứu của riêng tôi Trong toàn bộ nội dung của luận văn, những điều đượctrình bày hoặc là của cá nhân hoặc là được tổng hợp từ nhiều nguồn tài liệu.Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợppháp
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõnguồn gốc
Thái Nguyên, ngày 26 tháng 7 năm 2019
Tác giả luận văn
Vũ Thạch An
Trang 4Và em xin gửi lời cảm ơn đến Ban Giám hiệu, các thầy giáo, cô giáophòng Đào tạo Trường Công nghệ Thông tin & Truyền thông và các thầygiáo, cô giáo đã giảng dạy và cung cấp cho em những kiến thức rất bổ íchtrong thời gian học tập, đã giúp em có nền tảng tri thức để phục vụ nghiêncứu khoa học sau này.
Em cũng vô cùng biết ơn đến gia đình và bạn bè, đồng nghiệp là nhữngngười luôn quan tâm, động viên và khuyến khích em, giúp đỡ tạo mọi điềukiện thuận lợi cho em trong suốt thời gian học tập và hoàn thiện luận văn này
Mặc dù đã có nhiều cố gắng, song do thời gian hạn hẹp và khả năngnghiên cứu của bản thân còn hạn chế nên kết quả nghiên cứu có thể còn nhiềuthiếu sót Em mong nhận được sự góp ý, chỉ bảo của các thầy giáo, cô giáo vàcác bạn đồng nghiệp
Em xin chân thành cảm ơn!
Thái Nguyên, ngày 26 tháng 7 năm 2019
Tác giả luận văn
Vũ Thạch An
Trang 5TRANG PHỤ BÌA
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC TỪ VIẾT TẮT v
DANH MỤC HÌNH ẢNH vi
DANH MỤC SƠ ĐỒ viii
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN VÀ NHẬN DẠNG MẶT NGƯỜI 2
1.1 Khái quát về phát hiện và nhận dạng mặt người 2
Giới thiệu chung 2
Phát hiện khuôn mặt 2
Nhận dạng khuôn mặt 3
Phân tích khuôn mặt 7
1.2 Bài toán nhận dạng mặt người trong giám sát an ninh 8
Đặt vấn đề 8
Thành phần chức năng của một hệ thống phát hiện và nhận dạng khuôn mặt qua camera 10
KẾT LUẬN CHƯƠNG 1 11
CHƯƠNG 2: MỘT SỐ KỸ THUẬT LỰA CHỌN, TRÍCH RÚT ĐẶC TRƯNG PHÁT HIỆN VÀ NHẬN DẠNG MẶT NGƯỜI 12
2.1 Đặc trưng Haar-like 12
Tổng quan về Haar-like 12
Áp dụng đặc trưng Haar-like phát hiện khuôn mặt người 16
2.2 Local Binary Pattern (Mẫu nhị phân cục bộ) 20
Local Binary Pattern (LBP) 20
Principal Component Analysis (PCA) và Linear Discriminant Analysis (LDA) 25
Áp dụng phương pháp LBP nhận dạng khuôn mặt người 31
Trang 62.3 Phân tích và đánh giá nhận dạng mặt người sử dụng đặc trưng Haar-
like và LBP 33
Sử dụng kỹ thuật trích rút đặc trưng Haar-like và nhận dạng sử dụng phương pháp LBP 33
Đánh giá nhận dạng mặt người sử dụng đặc trưng Haar-like và LBP 35
KẾT LUẬN CHƯƠNG 2 36
CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM 37
3.1 Phân tích yêu cầu bài toán 37
3.2 Phân tích lựa chọn công cụ 38
Cấu hình phần cứng 39
Phần mềm, công cụ sử dụng 39
Thư viện sử dụng 40
Chuẩn bị thử nghiệm chương trình 42
3.3 Một số kết quả của chương trình 42
Giám sát an ninh 42
Giao diện của chương trình 47
Kết quả thực nghiệm 52
KẾT LUẬN CHƯƠNG 3 55
KẾT LUẬN CHUNG 56
TÀI LIỆU THAM KHẢO 58
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
(Camera giám sát)
tính
Trang 8DANH MỤC HÌNH ẢNH
Hình 1.1: Hệ thống nhận dạng khuôn mặt theo thời gian thực 8
Hình 2.1: Đặc trưng Haar-like cơ bản 13
Hình 2.2: Đặc trưng Haar-like biểu diễn ở dạng số 13
Hình 2.3: Các đặc trưng Haar-like mở rộng 14
Hình 2.4: Tính giá trị ảnh tích phân tại điểm P có tọa độ (x, y) 15
Hình 2.5: Tính nhanh tổng các giá trị điểm ảnh của vùng D trên ảnh 15
Hình 2.6: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh 17
Hình 2.7: Chuyển ảnh màu về ảnh đa cấp xám 19
Hình 2.8: Các dạng của đặc trưng Haar-like 20
Hình 2.9: Ví dụ về phương pháp mã LBP 21
Hình 2.10: Ví dụ về toán tử LBP mở rộng với các vùng tròn có bánh kính và số điểm ảnh lân cận tương ứng (8,1), (16,2) và (24,3) 22
Hình 2.11: Ví dụ về toán tử LBP mở rộng với các vùng tròn có bánh kính và số điểm ảnh lân cận tương ứng (8,1), (12,2.5) và (16,4) 22
Hình 2.12: Vector chiếu tối đa hóa sự phân chia vô hướng 29
Hình 2.13: So sánh giữa PCA và LDA 31
Hình 3.1: Một số thiết bị phục vụ cho giám sát an ninh 38
Hình 3.2: Thu thập dữ liệu mẫu 44
Hình 3.3: Huấn luyện nhận dạng khuôn mặt 45
Hình 3.4: Nhận dạng khuôn mặt 46
Hình 3.5: Quy trình hoạt động nhận dạng khuôn mặt 46
Hình 3.6: Giao diện chương trình huấn luyện 47
Hình 3.7: Giao diện chương trình nhận dạng khuôn mặt 48
Hình 3.8: Huấn luyện mẫu khuôn mặt của đối tượng thứ 1 (Tên: Hiền, định danh: Hien, giới tính: Nữ) 50
Trang 9Hình 3.9: Huấn luyện mẫu khuôn mặt của đối tượng thứ 2 (Tên: Hòa, định danh: Hoa, giới tính: Nam) 50Hình 3.10: Huấn luyện mẫu khuôn mặt của đối tượng thứ 3 (Tên: Nga, định danh: Nga, giới tính: Nữ) 51Hình 3.11: Huấn luyện mẫu khuôn mặt của đối tượng thứ 4 (Tên: Nghĩa, giới tính: Nữ) 51Hình 3.12: Tập ảnh huấn luyện (40/400 ảnh) 52Hình 3.13: Nhận dạng từng đối tượng riêng lẻ 53Hình 3.14: Nhận dạng nhiều khuôn mặt (Có 02 đối tượng được huấn luyện trước – Hiền & Nga) 54Hình 3.15: Nhận dạng khuôn mặt bị hạn chế do khoảng cách xa từ camera tới
vị trí khuôn mặt nên đối tượng ở xa không nhận dạng chính xác 54
Trang 10DANH MỤC SƠ ĐỒ
Sơ đồ 1.1: Hệ thống nhận dạng khuôn mặt 4
Sơ đồ 1.2 : Sơ đồ khối của hệ thống phát hiện và nhận dạng khuôn mặt 11
Sơ đồ 2.1: Sơ đồ khối về phân tầng Haar Cascade 18
Sơ đồ 2.2: Sơ đồ luồng của mô hình Local Binary Pattern 33
Sơ đồ 2.3: Sơ đồ hoạt động của hệ thống nhận dạng khuôn mặt sử dụng LBP 33
Sơ đồ 2.4: Các kỹ thuật phát hiện khuôn mặt 34
Trang 11bố Ngày nay việc ứng dụng thị giác máy giúp cho các hệ thống tự động, hệthống giám sát ngày càng thông minh và chính xác hơn Từ những lí do trên,
em lựa chọn đề tài Nhận dạng khuôn mặt người từ camera sử dụng đặc
trưng haar-like, ứng dụng trong giám sát an ninh.
Mục tiêu của luận văn là nghiên cứu phương pháp phát hiện và nhậndạng khuôn mặt từ camera giám sát an ninh Dựa trên cơ sở của các phươngpháp phát hiện khuôn mặt qua đặc trưng Haar-like và lựa chọn phương phápnhận dạng có độ chính xác cao như Local Binary Pattern (LBP) Nội dungchính của luận văn bao gồm 3 Chương, chương trình thực nghiệm được xâydựng trên ngôn ngữ Python và sử dụng thư viện OpenCV của Intel
Luận văn bao gồm các nội dung sau:
Chương 1: Tổng quan về phát hiện và nhận dạng khuôn mặt ngườiChương 2 Một số kỹ thuật lựa chọn, trích rút đặc trưng để phát hiện vànhận dạng mặt người
Chương 3 Chương trình thử nghiệm
Trang 12CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN VÀ NHẬN DẠNG MẶT NGƯỜI
1.1 Khái quát về phát hiện và nhận dạng mặt người
Giới thiệu chung
Từ xa xưa con người đã rất giỏi trong việc sử dụng thị giác của mình đểnhận dạng khuôn mặt và các hình mẫu phức tạp Và ngay cả khi một thời giandài trôi qua, khả năng đó không hề bị ảnh hưởng nhiều, con người vẫn nhậnbiết được những đặc điểm riêng biệt của chúng Điều đó thể hiện bằng việc vẽlại các bức họa chân dung, hay ảnh vẽ truyền thần
Ngày nay, con người sử dụng máy tính hỗ trợ mạnh mẽ trong việc pháthiện và nhận dạng khuôn mặt trong lĩnh vực sinh trắc học và giám sát an ninh
Sự phát triển mạnh mẽ của trí tuệ nhân tạo (Artificial Intelligence -AI),con người cố gắng tạo ra một máy tính mô phỏng trí thông minh của conngười để xác định và quyết định sử dụng các tri thức vào đúng thời điểm đểnhận biết và ra quyết định xử lý nhiều vấn đề Nó đề cập đến các mô hình tínhtoán và có thể nghĩ và hành xử như con người Thị giác máy (ComputerVision - CV) là một phần rất thú vị của trí tuệ nhận tạo, từ đó ta có thể thuthập các thông tin từ dữ liệu thị giác Trí tuệ đó có thể là phát hiện khung hìnhhoặc đối tượng, phát
hiện khuôn mặt, nhận dạng khuôn mặt, phân tích khuôn mặt
Phát hiện khuôn mặt
Phát hiện khuôn mặt (Face detect) là tìm kiếm những khuôn mặt (bất kỳ)trong một hình ảnh hoặc khung hình (frame) Phát hiện khuôn mặt không cầnquan tâm đến toàn bộ khuôn mặt mà chỉ cần nhận biết vùng nào có xuất hiệnkhuôn mặt Số lượng người có thể xác định (đếm) được trong một hình ảnh
Trang 13hoặc khung hình Nó thường được sử dụng để đếm số lượng người trong hộinghị, cửa hàng hoặc khu vực công cộng
Trang 14Phát hiện khuôn mặt là giai đoạn đầu tiên của hệ thống nhận dạng khuôn mặt.Nhiều nghiên cứu đã thực hiện trong lĩnh vực này và đạt được nhiều kết quảcao đối với ảnh tĩnh Bởi vì ảnh tĩnh thì xử lý khung hình đơn gian hơn việc
xử lý nhiều khung hình khác nhau lựa chọn được khung hình có chất lượng đểnhận dạng khuôn mặt là điều quan trọng nếu áp dụng vào video Trong cáckhung hình của video, hình ảnh khuôn mặt của con người có các chuyển độngtheo các hướng, góc nghiêng khác nhau không cố định Do đó việc lựa chọnđược khung hình tốt để nhận dạng là khó khăn, đây là thách thức đối vớingười nghiên cứu
Trước hết, cần tách frame ảnh từ video thành nhiều khung hình Có thể coimỗi frame là một ảnh tĩnh, việc tách xử lý riêng từng frame chiếm nhiều thờigian Nó ảnh hưởng tới tốc độ phát hiện và cả nhận dạng ở bước sau này Tuynhiên, ta vẫn có thể áp dụng các phương pháp phát hiện và nhận dạng như đốivới ảnh
tĩnh
Nhận dạng khuôn mặt
Nhận dạng khuôn mặt (Face Recognition) là nhận diện khuôn mặt trongmột hình ảnh hoặc khung hình Nhận dạng khuôn mặt là một vấn đề nhậndạng mô hình trực quan Ở đó, một khuôn mặt như một đối tượng ba chiềuđược chiếu sáng, hướng và biểu hiện khác nhau và như vậy sẽ được xác địnhdựa trên hình ảnh hai chiều Một hệ thống nhận dạng khuôn mặt sẽ bao gồm 4
khối mô đun được mô tả trong Sơ đồ 1.1 như sau: phát hiện, căn chỉnh, trích
xuất và so khớp đặc trưng, trong đó thì bước định vị và chuẩn hóa vùng ảnhkhuôn mặt (phát hiện khuôn mặt và căn chỉnh) là được thực hiện ở bước trướckhi nhận dạng (trích xuất đặc điểm của khuôn mặt) được thực hiện
Trang 15Sơ đồ 1.1: Hệ thống nhận dạng khuôn mặt
Vùng phát hiện khuôn mặt là khu vực hiển thị khuôn mặt từ ảnh nền.Trong trường hợp là video thì phát hiện khuôn mặt cần phải theo dấu khuônmặt bằng cách sử dụng các thành phần theo dõi khuôn mặt Căn chỉnh hìnhảnh khuôn mặt là nhằm đưa hình ảnh khuôn mặt về điều kiện bình thường,khi đó phát hiện khuôn mặt sẽ đưa ra các ước tính thô về vị trí và tỉ lệ của từngkhuôn mặt được phát hiện Thành phần trên khuôn mặt như: mắt, mũi, miệng
và các đường viền bao quanh khuôn mặt được định vị dựa trên các điểm vịtrí, hình ảnh khuôn mặt đầu vào được chuẩn hóa theo các đặc tính hình học,chẳng hạn như kích thước và tư thế sử dụng các biến đổi hình học và biến đổihình dạng Khuôn mặt thường được chuẩn hóa nhưng giữ được các tính chấtcủa hình ảnh như độ chiếu sáng hay thang độ xám
Sau khi một khuôn mặt được chuẩn hóa về hình học và trắc quang họcthì trích xuất đặc trưng được thực hiện để cung cấp thông tin hiệu quả, hữu íchcho quá trình phân biệt giữa các khuôn mặt khác nhau và ổn định với các biếnđổi hình học và trắc quang Quá trình so khớp khuôn mặt, vector đặc trưng
Trang 16trích xuất của khuôn mặt đầu vào được so khớp với các khuôn mặt đã đượclưu trữ
Trang 17trong cơ sở dữ liệu, nó xuất ra danh tính của khuôn mặt khi tìm thấy kết quả
so khớp trùng nhau hoặc tương đồng ở mức tin cậy được hoặc chỉ ra đó làmột khuôn mặt chưa biết
Kết quả nhận dạng khuôn mặt phụ thuộc nhiều vào đặc trưng được tríchxuất để thể hiện mô hình đặc trưng riêng của khuôn mặt và phương pháp phânloại đã được sử dụng để phân biệt giữa các khuôn mặt khi chuẩn hóa khuônmặt là cơ sở để trích xuất đặc trưng được hiệu quả Những vấn đề này có thểđược phân tích từ quan điểm của không gian con và nhiều đa tạp của khuônmặt được
chỉ ra
Các kỹ thuật phân tích không gian con để nhận dạng khuôn mặt dựatrên thực tế là một lớp các mẫu được quan tâm, chẳng hạn như vùng khuônmặt nằm trong một không gian con của không gian ảnh đầu vào Ví dụ nhưmột hình ảnh nhỏ kích thước 64 x 64 có 4096 pixel có thể thể hiện một sốlượng lớn các lớp mẫu, chẳng hạn như nhà cửa, cây cối và mặt Tuy nhiên,trong số 2564096>
109864 những thông tin cấu hình có thể có thì chỉ có một số tương ứng vớivùng ảnh khuôn mặt Do đó, hình ảnh ban đầu đưa vào là rất dư thừa mà cóthể giảm được đáng kể khi chỉ có mẫu khuôn mặt được quan tâm Do vậy vớicác phương pháp phân tích nét đặc trưng riêng của khuôn mặt hay phân tíchthành phần chính PCA thì một số nhỏ của các không gian riêng của khuôn mặt(khoảng 40 hoặc nhỏ hơn) được lấy từ một tập hợp các hình ảnh khuôn mặttập huấn bằng cách sử dụng biến đổi Karhunen-Loeve hoặc PCA Một hìnhảnh khuôn mặt được thể hiện một cách hiệu quả như một vector đặc trưng(tức là một vectơ có trọng lượng) có chiều thấp Các đặc trưng trong khônggian con như vậy cung cấp thông tin nổi bật và phong phú hơn để nhận dạngtốt hơn so với hình ảnh thô Việc sử dụng các kỹ thuật của mô hình khônggian con có công nghệ nhận dạng khuôn mặt tiên tiến tăng lên đáng kể
Trang 18Nhận dạng khuôn mặt đòi hỏi phải qua quá trình huấn luyện và lưu trữthông tin so khớp trong một bộ cơ sở dữ liệu Các thuật toán nhận dạng khuônmặt trên video, theo thời gian thực sử dụng các phương pháp tiếp cận về côngnghệ xử lý trên các frame tĩnh Tuy nhiên có hạn chế, nhược điểm ảnh hưởngtới hiệu quả nhận dạng khuôn mặt cần quan tâm như:
Chất lượng hình ảnh, video kém hoặc độ phân giải thấp
Độ sáng thấp hoặc bị chói sáng
Thay đổi góc nhìn, chuyển động của khuôn mặt
Biểu cảm khuôn mặt, hoặc phụ kiện, trang phục che khuất trên
đã được chuẩn hóa ổn định đối với các biến thể đó, chẳng hạn dựa trên cácbước sóng Gabor (Gabor wavelets)
Chiến lược thứ hai là xây dựng các công cụ có khả năng giải quyết cácvấn đề phân loại và hồi quy phi tuyến khó trong không gian đặc trưng và đểkhái quát hóa tốt hơn Mặc dù việc chuẩn hóa và trích xuất đặc trưng làm giảmtính phi tuyến và giao thoa, nhưng chúng không giải quyết được hoàn toàn cácvấn đề và các công cụ phân loại có thể xử lý các khó khăn như vậy vẫn cần
Trang 19thiết để đạt được hiệu quả cao Một thuật toán thành công phải kết hợp được
cả hai chiến lược trên
Với phương pháp dựa trên đặc điểm hình học được sử dụng khi vấn đềnhận dạng mới được tiếp cận, các đặc điểm của khuôn mặt như mắt, mũi,miệng và cằm được phát hiện Các thuộc tính và quan hệ (như vùng, khoảngcách, góc) giữa các đặc trưng được sử dụng làm mô tả để nhận dạng khuônmặt Ưu điểm của phương pháp này bao gồm tính kinh tế và hiệu quả khi đạtđược giảm dữ liệu và ít bị ảnh hưởng với các biến thể trong chiếu sáng và gócnhìn Tuy nhiên, các kỹ thuật đo lường và phát hiện đặc điểm khuôn mặt đượcphát triển cho đến nay không đủ tin cậy để nhận dạng hình học và chỉ tínhchất hình học như vậy là không đủ để nhận dạng khuôn mặt vì thông tin phongphú chứa trong kết cấu hoặc diện mạo khuôn mặt bị loại bỏ Đây là những lý
do tại sao các kỹ thuật ban đầu không hiệu quả
Phương pháp học thống kê học từ dữ liệu đào tạo (hình ảnh xuất hiệnhoặc các đặc trưng được trích xuất từ ngoại hình) để trích xuất các đặc trưngtốt và xây dựng các công cụ phân loại Trong quá trình học, cả hai kiến thứctrước về khuôn mặt và các biến thể nhìn thấy trong dữ liệu đào tạo đều đượcxem xét
Phân tích khuôn mặt
Phân tích khuôn mặt (Facial Analysis) là nhận biết các thông tin vàphân tích nhận diện được giới tính, độ tuổi và biểu cảm của khuôn mặt (vui,buồn, hạnh phúc, …) Nó có thể giúp bạn biết thông tin chi tiết về khách hàngcủa bạn trong một cửa hàng nếu bạn sử dụng khả năng này Từ những biểucảm, độ tuổi và giới tính giúp ta đưa ra được những phương án tiếp các đốitượng này
Phạm vi tìm hiểu và nghiên cứu của luận văn tập trung vào phát hiện và nhậndạng khuôn mặt người trong giám sát an ninh từ camera
Trang 20Hình 1.1: Hệ thống nhận dạng khuôn mặt theo thời gian thực
Công nghệ nhận diện khuôn mặt (Facial Recognition Technology) hiện
là một công nghệ đang được sử dụng khá phổ biến tại các quốc gia phát triển.Công nghệ này có khả năng xác định hoặc xác nhận một người từ hình ảnh kỹthuật số được lấy mẫu trước đó hoặc từ một khung hình trong một nguồnvideo khác Tiết kiệm thời gian và tài nguyên với khả năng xử lý nhanh vàmạnh mẽ nếu kết hợp với công nghệ AI (Trí tuệ nhân tạo) Công nghệ nhậndiện khuôn
Trang 21mặt là công nghệ sinh trắc học ít tác động đến người dùng nhất và là côngnghệ sinh trắc học nhanh nhất hiện nay Hệ thống nhận dạng có thể giúp nhàquản lý chủ động hơn trong việc kiểm soát, hệ thống nhận dạng có thể nhậndiện khuôn mặt một cách kín đáo bằng cách chụp ảnh khuôn mặt bất cứ aibước vào khu vực được xác định từ camera giám sát, không gây phiền hà hayphải yêu cầu người đó dừng lại để tương tác, xác nhận khi đi vào khu vựcgiám sát
Bài toán nhận dạng khuôn mặt người trong giám sát an ninh bao gồm hệthống các camera, hệ thống máy tính chạy chương trình phát hiện và nhậndạng thông qua tập dữ liệu hình ảnh rất lớn để huấn luyện “học máy” Nguồn
dữ liệu đầu vào là các frame (khung hình) thu được từ máy quay an ninh Quátrình lấy mẫu bằng các camera giám sát hoặc bằng một thiết bị có cùng chứcnăng lưu trữ lại để làm cơ sở so sánh Các dữ liệu được lấy mẫu sẽ được tríchxuất từ hình ảnh, các mẫu (quá trình phân tích) Các dữ liệu thu được (quacamera giám sát) được đem so sánh với các dữ liệu trong cơ sở dữ liệu Dữliệu ra là kết quả nhận dạng khuôn mặt với đối tượng người cụ thể trong cơ sở
dữ liệu Hệ thống sau đó sẽ quyết định kết quả so sánh có phù hợp hay không
và đưa ra thông báo Khi người dùng đi vào vùng quét của camera, hệ thống
sẽ tự động xác định vùng hình ảnh khuôn mặt và thực hiện các thuật toán đểtách vùng khuôn mặt khỏi khung hình và tiến hành chuẩn hóa hình ảnh, sau đótrích xuất các dữ liệu đặc trưng của hình ảnh khuôn mặt đó Độ chính xác phụthuộc nhiều vào vào nhiều yếu tố ngoại cảnh như ánh sáng, vùng che khuất,biểu cảm và trang phục, góc độ của đối tượng trên khung hình thu được từcamera
Ngoài ra chất lượng hình ảnh của đầu vào, camera là rất quan trọng như độ sắcnét, độ tương phản hay noise nhiễu gây ảnh hưởng tới chất lượng và hiệu quảcủa hoạt động phát hiện và nhận dạng khuôn mặt từ camera giám sát
Trang 22Thành phần chức năng của một hệ thống phát hiện và nhận dạng
khuôn mặt qua camera
- Thu thập (Capture) hình ảnh từ camera: Hình ảnh từ camera được táchthành từng khung hình và được biểu diễn dưới dạng số hóa
- Xử lý trích chọn đặc trưng (Feature Extraction) phát hiện, đánh dấu vùnghình ảnh xuất hiện khuôn mặt và xử lý mẫu của khuôn mặt phục vụ quátrình so sánh, đối chiếu với cơ sở dữ liệu hoặc là nguồn dữ liệu ban đầucho qua trình học máy huấn luyện mẫu
- Học máy “huấn luyện” với tập dữ liệu mẫu đầu vào xây dựng cơ sở dữliệu mẫu để phục vụ quá trình phân loại, so sánh và phân lớp kết quả vớimẫu trong cơ sở dữ liệu đối sánh
- So sánh tiên đoán (predict) và quyết định (Decion): Sau khi xử lý tríchchọn đặc trưng, dữ liệu của khung hình được đưa qua chức năng so sánhvới các mẫu trong cơ sở dữ liệu (predict) Quá trình so sánh và đưa rangưỡng trùng khớp với các trường hợp có trong cơ sở dữ liệu mẫu Tỉ lệchính xác chỉ định thông qua chỉ số ngưỡng (giá trị chấp nhận được).Quyết định kết quả của đối tượng xuất hiện trên khung hình được tríchchọn ra là người được định danh hoặc không có trong cơ sở dữ liệu
- Sơ đồ khối của quá trình phát hiện và nhận dạng khuôn mặt từ hình ảnh,camera như sau:
Hình ảnh
đầu vào
Phát hiệnkhuôn mặt
Trích chọn vùngảnh khuôn mặt
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p :/ /l rc.tnu.edu.vn
Trang 23Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
Sơ đồ 1.2 : Sơ đồ khối của hệ thống phát hiện và nhận dạng
khuôn mặt
KẾT LUẬN CHƯƠNG 1
Trong nhiều năm qua, lĩnh vực thị giác máy đã có nhiều bước tiến mạnh
mẽ Ứng dụng của thị giác máy tính trong các lĩnh vực công nghệ và đời sốngngày càng phổ biến Trong Chương 1 đã giới thiệu khái quát về lĩnh vực phát
Trang 24Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
hiện và nhận dạng khuôn mặt người Để bao quát được đòi hỏi người nghiêncứu phải tìm hiểu chuyên sâu hơn nữa
Lĩnh vực phát hiện và nhận dạng mặt người chỉ là một đối tượng nhỏtrong Thị giác máy tính nhưng ngày nay nó càng được để ý quan tâm đếnnhiều hơn Các phương pháp phát hiện và nhận dạng phổ biến sẽ được emtrình bày ở chương tiếp theo
CHƯƠNG 2: MỘT SỐ KỸ THUẬT LỰA CHỌN, TRÍCH RÚT
ĐẶC TRƯNG PHÁT HIỆN VÀ NHẬN DẠNG MẶT NGƯỜI
2.1 Đặc trưng Haar-like
Tổng quan về Haar-like
Trang 25ố hóa bởi Trung tâm
Đặc trưng Haar-like do Paul Viola và Michael Jones [3] công bố bao gồm
4 đặc trưng cơ bản để xác định mặt người Đặc trưng Haar-like được tạo thànhbằng việc kết hợp các hình chữ nhật màu đen và trắng với nhau theo một trật
tự, kích thước nào đó Mỗi đặc trưng Haar-like là sự kết hợp của hai hay bahình chữ nhật “đen” hay “trắng” Hình dưới đây mô tả 4 đặc trưng Haar-like
cơ bản như sau:
Hình 2.1: Đặc trưng Haar-like cơ bản.
Hình 2.2: Đặc trưng Haar-like biểu diễn ở dạng số
- Để sử dụng các đặc trưng này vào việc phát hiện khuôn mặt người, 4 đặctrưng Haar-like cơ bản được mở rộng (bởi Lienhart, Kuranov & Pisarevky,2002; Lienhart & Maydt, 2002) và được chia thành nhóm các đặc trưngcạnh, đặc
trưng đường và đặc trưng xung quanh tâm (Hình 2.3)
Đặc trưng
cạnh
(edge
Đặc trưngđường(line features)
Đặc trưng quanh tâm(center-surroundfeatures)
S
features) Học liệu và Công nghệ thông tin – ĐHTN htt p :/ /l rc.tnu.edu.vn
Trang 26Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
bên trái của nó
P(x,y)
Trang 27Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
Hình 2.4: Tính giá trị ảnh tích phân tại điểm P có tọa độ (x, y)
Giá trị tích phân tại điểm P có tọa độ (x, y) được tính như sau:
Hình 2.5: Tính nhanh tổng các giá trị điểm ảnh của vùng D trên ảnh
Với A + B + C + D chính là giá trị tại điểm P4 trên ảnh tích phân, 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ì vậy, ta
có thể tính lại biểu thức tính D ở trên như sau:
D = (x4, y4) – (x2, y2) – (x3, y3) + (x1, y1) (2.4)
Để chọn các đặc trưng Haar-like dùng cho việc thiết lập ngưỡng, tạo bộ phânloại thì Viola và Jones sử dụng phương pháp máy học gọi là AdaBoost.AdaBoost sẽ kết hợp các bộ phân loại yếu tạo thành một bộ phân loại mạnh.Với những bộ phân loại yếu thì việc đưa ra câu trả lời chính xác thì chỉ hơn
Trang 28�
{
Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
việc đoán ngẫu nhiên một chút, trong khi đó bộ phân loại mạnh có thể đưa rakết quả chính xác cao hơn nhiều
Áp dụng đặc trưng Haar-like phát hiện khuôn mặt người
2.1.2.1 Phương pháp AdaBoost
AdaBoost là một bộ phân loại mạnh phi tuyến phức được Freund vàSchapire đưa ra vào năm 1995, hoạt động trên nguyên tắc kết hợp tuyến tínhcác bộ phân loại yếu để tạo nên một bộ phân loại mạnh
Là một cải tiến của tiếp cận boosting, AdaBoost sử dụng thêm kháiniệm trọng số (weight) để đánh dấu các mẫu khó nhận dạng Trong quá trìnhhuấn luyện, cứ mỗi bộ phân loại yếu (weak classifiers) được xây dựng thì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 bộphân loại tiếp theo Cập nhật bằng cách tăng trọng số của các mẫu nhận dạngsai và giảm trọng số của các mẫu được nhận dạng đúng bởi bộ phân loại yếuvừa xây dựng Bằng cách này thì bộ phân loại sau có thể tập trung vào cácmẫu mà bộ phân loại trước nó làm chưa tốt Cuối cùng các bộ phân loại yếu sẽđược kết hợp lại tùy theo mức độ tốt của chúng để tạo nên một bộ phân loạimạnh
Bộ phân loại yếu hk được biểu diễn như sau:
Trang 29Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
- fk: giá trị của đặc trưng Haar-like
Trang 30Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
- pk: hệ số quyết định chiều của phương trình
Adaboost sẽ kết hợp các bộ phân loại yếu thành thành bộ phân loại mạnh nhưsau:
Hình 2.6: Kết hợp các bộ phân loại yếu thành bộ phân loại mạnh
Mỗi một bộ phân loại yếu sẽ quyết định kết quả cho một đặc trưng Haar-like
2.1.2.2 Mô hình phân tầng Haar Cascade
Trang 31Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN ht t p : / / l r c tnu.edu.vn
Viola và Jones dùng AdaBoost kết hợp các bộ phân loại yếu sử dụng các đặctrưng Haar-like theo mô hình phân tầng (Cascade) được minh họa như sau:
không là khuôn mặthn
là khuôn mặt
khuônmặt
Sơ đồ 2.1: Sơ đồ khối về phân tầng Haar Cascade 2.1.2.3 Phát hiện khuôn mặt người
Đầu tiên hình ảnh được đưa vào để thực hiện quá trình phát hiện và nhận diện khuôn mặt Sau đó, hình ảnh được chuyển đổi từ ảnh màu RGB sang ảnh đa cấp xám (Grayscale) vì dễ dàng phát hiện các khuôn mặt trongthang độ xám
Trang 32Hình 2.7: Chuyển ảnh màu về ảnh đa cấp xám
Sau đó, thao tác hình ảnh được sử dụng, trong đó thay đổi kích thước,cắt xén, làm mờ và làm sắc nét các hình ảnh được thực hiện nếu cần Bướctiếp theo là phân đoạn hình ảnh, được sử dụng để phát hiện đường viền hoặcphân đoạn nhiều đối tượng trong một hình ảnh để phân loại để có thể nhanhchóng phát hiện các đối tượng và khuôn mặt trong ảnh
Bước tiếp theo là sử dụng thuật toán đặc trưng Haar-like, được đề xuấtbởi Viola và Jones để nhận diện khuôn mặt Thuật toán này được sử dụng đểtìm vị trí của khuôn mặt người trong khung hoặc hình ảnh Tất cả các khuônmặt của con người đều có chung một số đặc tính chung của khuôn mặt ngườinhư vùng mắt tối hơn so với các điểm ảnh lân cận và vùng mũi sáng hơn vùngmắt
Trang 33Hình 2.8: Các dạng của đặc trưng Haar-like
Thuật toán xác định đặc trưng Haar-like cũng được sử dụng để lựa chọnhoặc trích xuất đặc trưng cho một đối tượng trong ảnh, với sự trợ giúp củaphát hiện cạnh, phát hiện đường thẳng, phát hiện trung tâm để phát hiện mắt,mũi, miệng, v.v trong ảnh Nó được sử dụng để chọn các đặc trưng cần thiếttrong ảnh và trích xuất các đặc trưng này để nhận diện khuôn mặt
Bước tiếp theo là đưa ra tọa độ của x, y, w, h để tạo một hộp hình chữnhật trong hình ảnh để hiển thị vị trí của khuôn mặt hoặc chúng ta có thể đểhiển thị vùng quan tâm trong ảnh Sau này, nó có thể tạo một hộp hình chữnhật trong khu vực quan tâm nơi nó phát hiện khuôn mặt Ngoài ra còn cónhiều kỹ thuật phát hiện khác được sử dụng cùng nhau để phát hiện như pháthiện nụ cười, phát hiện mắt, phát hiện chớp mắt, v.v
2.2 Local Binary Pattern (Mẫu nhị phân cục bộ)
Local Binary Pattern (LBP)
Trong vài năm gần đây, mô hình Local Binary Pattern (viết tắt là LBP)hay gọi là Mẫu nhị phân cục bộ đã làm tăng sự quan tâm trong việc xử lý ảnh
và Thị giác máy tính Các mẫu nhị phân cục bộ (LBP) là một mô tả kết cấuđược giới thiệu bởi Ojala và các cộng sự trong các bài viết của họ năm 2002
Trang 345 9 1
3 3 6
7 2 1
1 01
0 0
Phân loại kết cấu thang độ xám (gray scala) đa biến dạng và xoay vòng bấtbiến với các mẫu nhị phân cục bộ (mặc dù khái niệm LBP đã được giới thiệuvào năm 1993) LBP là một phương pháp không tham số, nghĩa là LBP tómtắt các cấu trúc hình ảnh cục bộ một cách hiệu quả bằng cách so sánh từng cấutrúc pixel với các pixel lân cận của nó Các tính chất quan trọng nhất của LBP,
đó là dung sai với thay đổi của ánh sáng đơn sắc và những tính toán đơn giảncủa nó Phân tích hình ảnh khuôn mặt dựa trên LBP là một trong những ứngdụng phổ biến và thành công nhất thời gian qua Phân tích hình ảnh khuôn mặt
là chủ đề nghiên cứu tích cực của Thị giác máy tính, nó được ứng dụng rộngrãi với loạt các ứng dụng quan trọng như giao tiếp người – máy, phân tíchsinh trắc học,…
Thuật toán LBP [2] ban đầu sẽ gán nhãn cho các pixel của một vùng ảnhvới những số thập phân, nó được gọi là Mẫu nhị phân cục bộ hoặc là mã LBP,
nó được mã hóa cấu trúc những pixel xung quanh, nó được mô tả trong Hình
2.9 như sau: Mỗi pixel được so sánh với 8 pixel xung quanh nó trong vùng
ảnh có kích thước 3x3 pixel bằng cách trừ đi giá trị của pixel trung tâm; Cácgiá trị âm được mã thành giá trị 0, các giá trị khác được mã thành giá trị 1;Mỗi số nhị phân có được bằng cách nối tất cả các mã này theo chiều kim đồng
hồ bắt đầu từ phía trên bên trái tương ứng với các số thập phân được gánnhãn trước đó
Chuỗi số nhị phân được tạo thành đó gọi là mẫu nhị phân cục bộ hay mã LBP
Threshold 1
11
Binary: 11010011 Decimal: 211
Hình 2.9: Ví dụ về phương pháp mã LBP
Trang 35Một hạn chế của toán tử LBP cơ bản đó là kích thước của vùng ảnh là3x3 quá nhỏ để mô tả hết đặc trưng nổi trội của những vùng ảnh có cấu trúcquy mô lớn Để đáp ứng được ở các quy mô cấu trúc khác nhau thì toán tử sautổng quát hóa để áp dụng cho các vùng ảnh lân cận của nó có kích thước khácnhau Mỗi một vùng ảnh cơ sở được định nghĩa là một tập hợp các điểm lấymẫu cách đều nhau trên một vòng tròn được căn giữa tại pixel được gán nhãn
và các điểm lấy mẫu không rơi vào trong các pixel được nội suy bằng phépnội suy song tuyến tính Do đó cho phép áp dụng cho bất kỳ bán kính và sốđiểm lấy mẫu bất kỳ trong vùng lân cận Hình dưới đây cho thấy một số ví dụ
về toán tử LBP mở rộng, biểu thị một lân cận các điểm lấy mẫu P phía trongmột đường tròn bán kính R
Trang 36Hãy xem xét một hình ảnh đơn sắc, nếu tọa độ của pixel trung tâm là(xc,yc) thì tọa độ của điểm P lân cận (xp,yp) trên cạnh của hình tròn có bán kính
R có thể được tính như sau:
xp = xc + Rcos(2πp/P) (2.8)
yp = yc + Rsin(2πp/P) (2.9)Nếu giá trị mức xám của pixel trung tâm là gc và giá trị mức xám của
lận cận với điểm pixel trung tâm được định nghĩa như sau:
T = t(gc, g0, g1,…, gP-1) (2.10)Mỗi giá trị thu được của các điểm này có thể được mô tả cấu trúc theocác cách khác nhau Điều này được thực hiện bằng cách trừ giá trị pixel trungtâm bởi giá trị của các điểm trên vòng tròn Theo cách này thì cấu trúc cục bộđược biểu diễn dưới dạng phân phối chung của giá trị của pixel trung tâm vàcác các pixel khác
T = t(gc,g0 − gc,g1 − gc, ,gP−1 − gc) (2.11)
Vì t(gc) mô tả độ chói tổng thể của hình ảnh, không liên quan đến kếtcấu hình ảnh cục bộ, nó không cung cấp thông tin hữu ích cho phân tích kếtcấu Do đó phần lớn thông tin về đặc điểm của kết cấu trong phân phối chungban đầu (Biểu thức 3) được lưu giữ trong phân phối chênh lệch (Ojala et al.2001)
T ≈ (g0 − gc,g1 − gc, ,gP−1 − gc) (2.12)Điều này có nghĩa là pixel lân cận (xung quanh) có giá trị xám cao khi
so sánh với pixel ở trung tâm Trong trường hợp đó, giá trị được gán là 1 nếukhông được gán là 0
Trang 37T ≈ s(g0 – gc, g1 − gc , , gP−1 − gc) (2.13)
Trang 38Tại bước cuối để tạo LBP cho pixel (xc, yc) một trọng số nhị phân 2p
được gán cho mỗi dấu s(gp – gc) như sau:
Đối với các mẫu có hai lần chuyển đổi bit 0 và 1 là có thể kết hợp P(P-1).Với các mẫu đồng nhất có điểm lấy mẫu là P và bán kính R thì khái niệm
�
Chỉ sử dụng các mẫu LBP thống nhất có hai lợi ích Đầu tiên là nó tiếtkiệm bộ nhớ Đối với các mẫu LBP không đồng nhất thì có thể phải 2P kết
thể kết hợp cho vùng lân cận của 16 pixel là 65536 đối với mẫu LBP cơ bản
và là 243 đối
�2 với mẫu ����,,,,,,,,,,,,,,,