Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn 2.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 .... Số hóa bởi Trung t
Trang 1Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VŨ THẠCH AN
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 2Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
VŨ THẠCH AN
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 3Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
L ỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là công trình nghiên cứu của riêng tôi Trong toàn bộ nội dung của luận văn, những điều được trì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ợp phá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
Trang 4Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Và em xin gửi lời cảm ơn đến Ban Giám hiệu, các thầy giáo, cô giáo phòng Đào tạo Trường Công nghệ Thông tin & Truyền thông và các thầy giáo,
cô giáo đã giảng dạy và cung cấp cho em những kiến thức rất bổ ích trong thời gian học tập, đã giúp em có nền tảng tri thức để phục vụ nghiên cứ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ững người luôn quan tâm, động viên và khuyến khích em, giúp đỡ tạo mọi điều kiệ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ăng nghiê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ều thiế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 5Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
M ỤC LỤC
TRANG PHỤ BÌA
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 6Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
2.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 7Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
DANH M ỤC CÁC TỪ VIẾT TẮT
AI Artificial Intelligence Trí tuệ nhân tạo
CCTV Closed-circuit television Truyền hình mạch kín
(Camera giám sát)
PCA Principal Component Analysis Phân tích thành phần chính LDA Linear Discriminant Analysis Phân tích phân lớp tuyến
tính
Trang 8Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
DANH 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 9Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hì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) 50 Hì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ữ) 51 Hì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ữ) 51 Hình 3.12: Tập ảnh huấn luyện (40/400 ảnh) 52 Hình 3.13: Nhận dạng từng đối tượng riêng lẻ 53 Hì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) 54 Hì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 10Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
DANH 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 11Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
tài Nh ận dạng khuôn mặt người từ camera sử dụng đặc trưng haar-like, ứng
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ận dạng khuôn mặt từ camera giám sát an ninh Dựa trên cơ sở của các phương pháp phát hiện khuôn mặt qua đặc trưng Haar-like và lựa chọn phương pháp nhận dạng có độ chính xác cao như Local Binary Pattern (LBP) Nội dung chính của luận văn bao gồm 3 Chương, chương trình thực nghiệm được xây dự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ười
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
Chương 3 Chương trình thử nghiệm
Trang 12Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
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ủ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 gian dài trôi qua, khả năng đó không hề bị ảnh hưởng nhiều, con người vẫn nhận biế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át hiệ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 con ngườ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ính toán và có thể nghĩ và hành xử như con người Thị giác máy (Computer Vision - CV) là một phần rất thú vị của trí tuệ nhận tạo, từ đó ta có thể thu thập các thông tin từ
dữ liệu thị giác Trí tuệ đó có thể là phát hiện khung hình hoặ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ần quan 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ện khuôn mặt Số lượng người có thể xác định (đếm) được trong một hình ảnh hoặc khung hình Nó thường được sử dụng để đếm số lượng người trong hội nghị, cửa hàng hoặc khu vực công cộng
Trang 13Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Phá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ác khung hình của video, hình ảnh khuôn mặt của con người có các chuyển động theo 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ới ngườ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ể coi mỗi frame là một ảnh tĩnh, việc tách xử lý riêng từng frame chiếm nhiều thời gian
Nó ảnh hưởng tới tốc độ phát hiện và cả nhận dạng ở bước sau này Tuy nhiê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ư đối với ảnh tĩnh
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 ảnh khuô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ước khi nhận dạng (trích xuất đặc điểm của khuôn mặt) được thực hiện
Trang 14Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Sơ đồ 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ôn mặ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ừng khuô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 đổi hình dạng Khuôn mặt thường được chuẩn hóa nhưng giữ được các tính chất củ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ọc thì trích xuất đặc trưng được thực hiện để cung cấp thông tin hiệu quả, hữu ích cho 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 trích xuất của khuôn mặt đầu vào được so khớp với các khuôn mặt đã được lưu trữ
Trang 15Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
trong 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ích xuất để thể hiện mô hình đặc trưng riêng của khuôn mặt và phương pháp phân loại đã được sử dụng để phân biệt giữa các khuôn mặt khi chuẩn hóa khuôn mặ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ôn mặ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ựa trê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ôn mặ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ới vù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ới cá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ích thà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ặt tậ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ông gian con như vậy cung cấp thông tin nổi bật và phong phú hơn để nhận dạng tố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ông gian con có công nghệ nhận dạng khuôn mặt tiên tiến tăng lên đáng kể
Trang 16Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Nhậ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ôn mặ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ông nghệ xử lý trên các frame tĩnh Tuy nhiên có hạn chế, nhược điểm ảnh hưởng tớ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 khuôn mặt
Khoảng cách xa gần thay đổi từ đối tượng tới vị trí camera là khác nhau
Có nhiều chiến lược để khắc phục những khó khăn trên: khai thác đặc trưng và mô hình phân loại dựa trên những đặc trưng đã được trích xuất Một
là xây dựng một không gian đặc trưng tốt mà trong đó các phần đa tạp của khuôn mặt từ phức tạp đều trở thành đơn giản hơn, tức là ít phi tuyến và không giao thoa nhiều hơn với các không gian khác Điều này bao gồm hai bước xử lý: 1-biến đổi về trạng thái bình thường của hình ảnh khuôn mặt về mặt hình học và trắc quang, chẳng hạn như sử dụng cân bằng hình thái (morphe) và biểu
đồ histogram; 2- trích xuất những đặc trưng từ các hình ảnh đã được chuẩn hóa
ổn định đối với các biến thể đó, chẳng hạn dựa trên các bướ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ác vấ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ảm tính phi tuyến và giao thoa, nhưng chúng không giải quyết được hoàn toàn các vấ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 17Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
thiế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ảng cách, góc) giữa các đặc trưng được sử dụng làm mô tả để nhận dạng khuôn mặ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óc nhìn Tuy nhiên, các kỹ thuật đo lường và phát hiện đặc điểm khuôn mặt được phát triển cho đến nay không đủ tin cậy để nhận dạng hình học và chỉ tính chất hình học như vậy là không đủ để nhận dạng khuôn mặt vì thông tin phong phú 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ện hoặc các đặc trưng được trích xuất từ ngoại hình) để trích xuất các đặc trưng tố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ức trước về khuôn mặt và các biến thể nhìn thấy trong dữ liệu đào tạo đều được xem 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àng củ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ểu cảm, độ tuổi và giới tính giúp ta đưa ra được những phương án tiếp các đối tượ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ận dạng khuôn mặt người trong giám sát an ninh từ camera
Trang 18Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
1.2 Bài toán nh ận dạng mặt người trong giám sát an ninh
Đặt vấn đề
Sử dụng kỹ thuật nhận dạng mặt người trong giám sát an ninh ngày càng được quan tâm hơn Ngày 1/8/2017, cảnh sát Đức đã lần đầu tiên triển khai lắp đặt thử nghiệm các máy quay (camera) nhận dạng khuôn mặt tại các nhà ga tàu điện chính tại thủ đô Berlin sau nhiều vụ khủng bố tại các khu vực tập trung đông người xảy ra ở nước Đức và một số quốc gia lân cận Với công nghệ mới này, cảnh sát Đức có thể phát hiện, theo dõi và bắt giữ tội phạm cũng như các đối tượng bị tình nghi khủng bố
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ồn video 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ận diện khuôn
Trang 19Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
mặt là công nghệ sinh trắc học ít tác động đến người dùng nhất và là công nghệ 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ận diệ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ứ ai bước vào khu vực được xác định từ camera giám sát, không gây phiền hà hay phả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ực giá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ận dạ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ức nă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ích xuất từ hình ảnh, các mẫu (quá trình phân tích) Các dữ liệu thu được (qua camera 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ắc né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 20Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
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
- Thu thập (Capture) hình ảnh từ camera: Hình ảnh từ camera được tách thà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ùng hì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 đầu cho 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ới mẫ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ích chọn đặc trưng, dữ liệu của khung hình được đưa qua chức năng so sánh với các mẫu trong cơ sở dữ liệu (predict) Quá trình so sánh và đưa ra ngưỡ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ích chọ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 khuôn mặt Phát hiện Trích chọn vùng ảnh khuôn mặt
Lưu trữ những ảnh khuôn mặt
Lưu hình ảnh khuôn mặt vào Khớp các
hình ảnh đầu
Trang 21Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.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ống ngà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 22Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.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ên cứ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 đến nhiều hơn Các phương pháp phát hiện và nhận dạng phổ biến sẽ được em trì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 23Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Đặ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ành bằ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 ba hì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:
- Để 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 đặc trư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ưng cạnh, đặc trưng đường và đặc trưng xung quanh tâm (Hình 2.3)
Đặc trưng quanh tâm (center-surround features)
Trang 24Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
P(x,y)
Trang 25Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Giá trị tích phân tại điểm P có tọa độ (x, y) được tính như sau:
𝒊𝒊(𝒙, 𝒚) = ∑ 𝒊(𝒙′, 𝒚′) (2.2)
𝒙 ′ ≤𝒙,𝒚′≤𝒚
Sau khi đã tính được ảnh tích phân, việc tính tổng các giá trị mức xám của một vùng ảnh bất kỳ nào đó trên ảnh ta thực hiện theo cách sau Ví dụ tính giá trị của vùng D trong hình dưới như sau:
D = A + B + C + D – (A+B) – (A + C) + A (2.3)
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ân loạ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 26Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.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 ra kế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ính cá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ái niệm 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 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ạng sai 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ếu vừ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ác mẫ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ại mạnh
Bộ phân loại yếu hk được biểu diễn như sau:
Trang 27Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.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:
𝐻(𝑥) = 𝑠𝑖𝑔𝑛(𝛼1ℎ1 (𝑥) + 𝛼2ℎ2(𝑥) + ⋯ + 𝛼𝑛ℎ𝑛(𝑥)) (2.6)
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 28Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.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 đặc
trưng Haar-like theo mô hình phân tầng (Cascade) được minh họa như sau:
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 trong thang độ xám
hn
H h2
h3
khuôn mặt
Trang 29Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hì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ước tiếp theo là phân đoạn hình ảnh, được sử dụng để phát hiện đường viền hoặc phân đoạn nhiều đối tượng trong một hình ảnh để phân loại để có thể nhanh chó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ất bở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ôn mặt của con người đều có chung một số đặc tính chung của khuôn mặt người như 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ùng mắt
Trang 30Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hì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ọn hoặc trích xuất đặc trưng cho một đối tượng trong ảnh, với sự trợ giúp của phá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ết trong ả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át hiệ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 31Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Phân loại kết cấu thang độ xám (gray scala) đa biến dạng và xoay vòng bất biế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ệu vào năm 1993) LBP là một phương pháp không tham số, nghĩa là LBP tóm tắ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ấu trú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ản của
nó Phân tích hình ảnh khuôn mặt dựa trên LBP là một trong những ứng dụ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ộng rãi với loạt các ứng dụng quan trọng như giao tiếp người – máy, phân tích sinh 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 ảnh vớ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ác giá 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án nhã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
Trang 32Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Mộ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úc quy mô lớn Để đáp ứng được ở các quy mô cấu trúc khác nhau thì toán tử sau tổ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ác nhau 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ấy mẫ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ép nộ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 trong một đường tròn bán kính R
Trang 33Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Hã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 điểm lân cận với nó là gp với p = 0,…, P-1 Khi đó kết cấu cục bộ T của vùng 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 theo các cách khác nhau Điều này được thực hiện bằng cách trừ giá trị pixel trung tâ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
so sánh với pixel ở trung tâm Trong trường hợp đó, giá trị được gán là 1 nếu không được gán là 0
T ≈ s(g0 – gc, g1 − gc , , gP−1 − gc) (2.13)
Trang 34Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn
Trong đó:
𝑠(𝑥) = { 0,1, 𝑥<0𝑥≥0 (2.14) Tạ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:
ví dụ tám bit, là 00000000 và 11111111 Ví dụ về các mẫu đồng nhất với tám bit và hai lần chuyển đổi là 00011100 và 11100001; và 01010100 (6 lần chuyển đổi) thì không là mẫu LBP đồng nhất)
Đố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 𝐿𝐵𝑃𝑃,𝑅𝑢2 được sử dụng
Chỉ sử dụng các mẫu LBP thống nhất có hai lợi ích Đầu tiên là nó tiết kiệm bộ nhớ Đối với các mẫu LBP không đồng nhất thì có thể phải 2P kết hợp
Với 𝐿𝐵𝑃𝑃,𝑅𝑢2 chỉ có P (P-1) + 3 mẫu kết hợp Ví dụ, số lượng mẫu có 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
với mẫu 𝐿𝐵𝑃𝑃,𝑅𝑢2 (LBP đồng nhất) Lợi ích thứ hai là mẫu LBP đồng nhất chỉ phát hiện các kết cấu cục bộ quan trọng như các điểm, đường cuối, cạnh và góc