TỔNG QUAN VỀ ĐỀ TÀI
Mở đầu
Với sự tiến bộ không ngừng của khoa học và công nghệ, trí tuệ nhân tạo (AI) đã trở thành một phần thiết yếu trong các hệ thống công nghệ cao Các ứng dụng AI đang phát triển mạnh mẽ và được đánh giá cao, đặc biệt trong lĩnh vực nhận dạng Nhận dạng có nhiều đối tượng nghiên cứu phong phú như con người, vật thể, chữ viết, âm thanh và khuôn mặt Trong bài viết này, tôi sẽ tập trung vào đối tượng nhận dạng khuôn mặt.
Khuôn mặt đóng vai trò quan trọng trong giao tiếp, cung cấp thông tin về danh tính, giới tính, tuổi tác, chủng tộc và cảm xúc Điều này mở ra nhiều ứng dụng thông minh trong thực tế, đặc biệt trong các lĩnh vực thương mại, an ninh và xử lý hình ảnh Mặc dù có nhiều phương pháp nhận dạng khuôn mặt, nhưng vẫn gặp thách thức về độ sáng, góc nghiêng và kích thước ảnh Việc cải thiện độ chính xác trong nhận dạng được thực hiện qua ba giai đoạn chính: phát hiện, trích chọn đặc trưng và phân lớp khuôn mặt.
Tổng quan về đề tài trong và ngoài nước
Trên thế giới, có nhiều nghiên cứu khoa học về phát hiện và nhận dạng khuôn mặt Theo Ming-Hsuan Yang, có bốn hướng tiếp cận chính: dựa trên tri thức, đặc trưng, đối sánh mẫu và diện mạo Phương pháp dựa trên diện mạo thường sử dụng mô hình học máy, vì vậy còn được gọi là phương pháp dựa trên máy học.
- Phương pháp dựa trên tri thức: Gồm có các tác giả Kanade 1973, G Yang
1994 và Kotropoulos 1997 Phương pháp này chủ yếu dựa trên những luật được định nghĩa trước về khuôn mặt người;
Phương pháp tiếp cận dựa trên các đặc trưng, được phát triển bởi các tác giả như K.C Yow và R Cipolla (1997) cùng T.K Leung (1995), tập trung vào việc xác định các đặc trưng độc lập Phương pháp này không phụ thuộc vào tư thế khuôn mặt, điều kiện chiếu sáng và các yếu tố khác, giúp nâng cao độ chính xác trong việc nhận diện.
- Phương pháp đối sánh mẫu: có thể kể đến các tác giả như I Craw 1992,
A Lanitis 1995 Phương pháp này dựa trên mẫu khuôn mặt đã định nghĩa bằng tay trước hay tham số hoá bằng một hàm số Mẫu này được sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tìm giá trị tương đồng cho mỗi vị trí trên khuôn mặt, sau đó cho ra kết quả là một khuôn mặt có điểm tương đồng so với mẫu chuẩn;
Phương pháp dựa trên học máy cho phép rút trích các mẫu khuôn mặt thông qua quá trình học Nhiều thuật toán được áp dụng trong phương pháp này, trong đó nổi bật là thuật toán Eigenface do M Turk và A Pentland phát triển vào năm 1991.
Mô hình phân phối (K K Sung và T Poggio 1998), mạng Nơ-ron (H Rowley
1998), Support Vector Machine (E Osuna et All 1997, Phân lớp Bayes (H Schneiderman và T Kanade 1998), Mô hình Markov ẩn (A Rajagopalan et al
1998), Mô hình tăng cường (AdaBoost của P Viola và M Jones 2001; FloatBoost do Stan Z Li và Zhen Qiu Zhang 2004)
Trong 15 năm qua, lĩnh vực nhận dạng khuôn mặt tại Việt Nam đã thu hút nhiều sự chú ý, đặc biệt trong các doanh nghiệp như ngân hàng Việt Á và ngân hàng Quốc tế (VIB), nơi hệ thống này được áp dụng để nâng cao bảo mật trong giao dịch Internet Banking và Mobile Banking Ngoài ra, Trường Đại học Thăng Long cũng đã tích hợp công nghệ nhận diện khuôn mặt vào quy trình điểm danh sinh viên Những nhóm nghiên cứu tiên phong trong lĩnh vực này đã có những đóng góp quan trọng, tạo nền tảng cho sự phát triển trong tương lai.
Nhóm nghiên cứu của TS Lê Đình Duy tại Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TPHCM đã phát triển hệ thống phát hiện trộm sử dụng mạng cảm biến Camera, dựa trên dữ liệu thu thập từ đề tài ĐHGQ-C.
Nhóm nghiên cứu do TS Trương Công Dung Nghi thuộc Đại học Bách Khoa TPHCM lãnh đạo đã công bố bài viết về đề tài "Tái nhận dạng người trong hệ thống nhiều Camera giám sát không chồng lấp" trên tạp chí khoa học Trường Đại Cần Thơ vào năm 2015.
Nhóm nghiên cứu thứ ba do PGS TS Trần Minh Triết từ Trường Đại học Khoa học Tự nhiên TP.HCM dẫn dắt, tập trung vào đề tài "Tổng hợp và tìm kiếm trên video dựa vào phát hiện và nhận biết mặt người".
Hiện nay, nhiều trường đại học quản lý sinh viên bằng cách theo dõi số buổi vắng mặt trong từng môn học Hệ thống này ghi chép hàng ngày, hàng tuần và hàng tháng, và vào cuối kỳ học, giáo viên phải tính toán điểm chuyên cần một cách thủ công, dẫn đến việc tốn thời gian cho giảng viên.
Trong luận văn này, tôi chọn đề tài “Xây dựng ứng dụng điểm danh sinh viên qua điện thoại bằng nhận dạng khuôn mặt”, sử dụng mạng Nơ-ron tích chập (Cascaded Convolutional Networks - CNN) Phương pháp này đã được kiểm nghiệm trên bộ dữ liệu chuẩn LWF và trong môi trường thực tế, cho phép nhận dạng khuôn mặt trực tiếp từ Webcam hoặc điện thoại di động Kết quả thực nghiệm cho thấy hệ thống đạt độ chính xác cao và ổn định trong điều kiện thực tế.
Mục đích của luận văn
Bài luận văn nghiên cứu các thuật toán phát hiện và nhận dạng khuôn mặt trong ảnh và video Mục tiêu là lựa chọn thuật toán phù hợp để phát triển ứng dụng điểm danh sinh viên qua điện thoại, dựa trên công nghệ nhận dạng khuôn mặt.
Phạm vi và đối tƣợng nghiên cứu
Nghiên cứu các phương pháp phát hiện khuôn mặt (Face Detection) và nhận dạng khuôn mặt (Face Recognition)
1.4.2 Đối tƣợng nghiên cứu Đối tượng nghiên cứu của luận văn gồm: Ảnh khuôn mặt người.
Phương pháp nghiên cứu
Phương pháp nghiên cứu trong luận văn bao gồm việc kết hợp lý thuyết với việc kiểm nghiệm hệ thống nhận dạng khuôn mặt Mục tiêu là xây dựng ứng dụng điểm danh sinh viên thông qua điện thoại, nhằm nâng cao hiệu quả và tính chính xác trong quá trình điểm danh.
1.5.1 Phương pháp nghiên cứu lý thuyết
- Tham khảo các tài liệu của một số phương pháp xác định, phát hiện khuôn mặt và nhận diện khuôn mặt người
- Tham khảo các tài liệu về việc kết nối và trao đổi dữ liệu giữa Client và Server
- Kiểm nghiệm so sánh các phương pháp phát hiện, nhận dạng khuôn mặt
- Xây dựng ứng dụng hỗ trợ điểm danh sinh viên bằng điện thoại dựa trên nhận dạng khuôn mặt người;
- So sánh kết quả thực nghiệm.
Ý nghĩa khoa học và thực tiễn của luận văn
Nghiên cứu đã chỉ ra các ưu điểm và nhược điểm của các phương pháp phát hiện và nhận dạng khuôn mặt, từ đó làm cơ sở cho việc phát triển các giải pháp trong tương lai nhằm khắc phục những hạn chế hiện tại.
Xây dựng ứng dụng điểm danh sinh viên qua điện thoại sử dụng công nghệ nhận dạng khuôn mặt giúp giáo viên và nhà trường tiết kiệm thời gian trong việc điểm danh, từ đó nâng cao chất lượng giảng dạy.
Với mục tiêu đã trình bày, bố cục của luận văn sẽ đƣợc chia thành bốn chương theo cấu trúc như sau:
Chương 1: TỔNG QUAN VỀ ĐỀ TÀI
Chương 2: BÀI TOÁN VỀ HỆ THỐNG NHẬN DẠNG KHUÔN MẶT
Chương 3: CÁC GIẢI PHÁP ĐÃ NGHIÊN CỨU PHÁT TRIỂN Chương 4: GIẢI PHÁP NHẬN DẠNG KHUÔN MẶT
Chương 5: XÂY DỰNG HỆ THỐNG VÀ THỰC NGHIỆM KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
BÀI TOÁN VỀ HỆ THỐNG NHẬN DẠNG KHUÔN MẶT
Bài toán nhận dạng khuôn mặt
Nhận dạng khuôn mặt là công nghệ tự động xác định danh tính của một người thông qua hình ảnh kỹ thuật số hoặc video Ứng dụng này cho phép thu thập thông tin cụ thể về cá nhân chỉ từ một bức ảnh hoặc khung hình video.
Hệ thống nhận dạng khuôn mặt sử dụng nhiều phương pháp khác nhau, chủ yếu dựa vào việc so sánh các đặc điểm hình ảnh của khuôn mặt được chọn với các khuôn mặt trong cơ sở dữ liệu Nhờ vào trí tuệ nhân tạo sinh trắc học, hệ thống có khả năng phân tích các mẫu đã được huấn luyện dựa trên cấu trúc và hình dạng khuôn mặt để nhận diện một cách chính xác Trong suốt quá trình triển khai, hệ thống liên tục thu thập dữ liệu nhằm cải thiện chất lượng mẫu dữ liệu Kết quả của hệ thống nhận diện có thể được mô tả như trong Hình 1-1.
Hình 2.1: Mô tả kết quả hệ thống nhận dạng khuôn mặt
Nhận dạng mặt người là quá trình mà hệ thống tiếp nhận hình ảnh hoặc video, sau đó xử lý để xác định danh tính của từng đối tượng một cách tự động Qua đó, hệ thống có thể phân loại người cần nhận diện là đã được biết đến (thông qua quá trình học) hoặc là người lạ Hệ thống này bao gồm hai phần chính: phát hiện và xác định khuôn mặt, cùng với nhận dạng khuôn mặt.
Hệ thống xác định khuôn mặt từ video Webcam có khả năng phát hiện vị trí và số lượng khuôn mặt xuất hiện trong từng khung hình.
Hệ thống nhận dạng khuôn mặt trích xuất các đặc trưng từ những khuôn mặt đã được xác định và tiến hành phân lớp các đối tượng khuôn mặt để thực hiện quá trình nhận dạng.
Hình 2.2: Biểu đồ mô tả hệ thống nhận dạng khuôn mặt
Các khó khăn khi triển khai bài toán nhận diện khuôn mặt
Tư thế góc chụp ảnh khuôn mặt có ảnh hưởng lớn đến chất lượng và độ chính xác của nhận dạng Các góc chụp khác nhau như chụp thẳng, chéo bên trái hoặc phải 45 độ, từ trên xuống hay từ dưới lên có thể làm khuất một phần hoặc toàn bộ các thành phần trên khuôn mặt như mắt, mũi, miệng Khi khuôn mặt nhìn thẳng nhưng góc chụp lại lệch, hoặc khi chụp ảnh khuôn mặt nghiêng, sẽ tạo ra những thách thức trong việc nhận diện khuôn mặt chính xác.
Sự hiện diện hoặc vắng mặt của các đặc điểm khuôn mặt như râu mép, râu hàm và mắt kính trong ảnh có thể gây khó khăn cho việc nhận diện.
Biểu cảm khuôn mặt có tác động lớn đến các đặc điểm của gương mặt con người Ví dụ, một gương mặt có thể truyền tải những cảm xúc hoàn toàn khác nhau khi người đó cười hay thể hiện sự sợ hãi.
Video từ Camera Chuỗi khung hình Xác định khuôn mặt
Tiền xử lý Trích rút đặc trƣng
Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tƣợng khác hoặc các khuôn mặt khác
Hướng của ảnh ảnh hưởng lớn đến cách thể hiện khuôn mặt, với các góc quay khác nhau có thể làm cho khuôn mặt bị nghiêng so với trục của ảnh Điều kiện chụp ảnh như ánh sáng và loại camera (máy kỹ thuật số, máy hồng ngoại, v.v.) cũng đóng vai trò quan trọng trong việc xác định chất lượng hình ảnh khuôn mặt.
Nền ảnh phức tạp là một thách thức lớn trong việc nhận dạng khuôn mặt, khi mà khuôn mặt người dễ bị nhầm lẫn với các yếu tố xung quanh Sự phức tạp này ảnh hưởng nghiêm trọng đến quá trình phân tích và trích xuất các đặc trưng khuôn mặt, có thể dẫn đến việc không nhận diện được khuôn mặt hoặc nhầm lẫn các khung cảnh xung quanh với khuôn mặt người.
Màu sắc da mặt có thể ảnh hưởng đến khả năng nhận dạng khuôn mặt, đặc biệt khi da quá tối hoặc tương đồng với màu sắc môi trường xung quanh Điều này khiến thuật toán gặp khó khăn trong việc xác định các đặc trưng khuôn mặt, dẫn đến khả năng không nhận diện được người.
Các ứng dụng thông dụng của bài toán nhận dạng khuôn mặt
Hệ thống nhận diện khách hàng VIP giúp nhận diện khách hàng thân thiết và tiềm năng tại các cửa hàng và trung tâm thương mại Nhờ vào hệ thống này, doanh nghiệp có thể chăm sóc và tiếp đón khách hàng một cách tốt hơn, từ đó thu hút nhiều khách hàng thân thiết hơn và nâng cao chất lượng dịch vụ.
Hệ thống giao tiếp thông minh giữa người và máy cho phép con người xây dựng các phương thức tương tác hiệu quả thông qua công nghệ nhận dạng khuôn mặt và biểu cảm Ví dụ, trong tương lai, một ngôi nhà thông minh có thể nhận diện chủ nhân qua khuôn mặt, dáng người, giọng nói và dấu vân tay, từ đó hiểu và dự đoán trạng thái tâm lý của họ.
Hình 2.3: Minh họa mở khóa điện thoại bằng khuôn mặt
Hệ thống nhận dạng tội phạm có khả năng nhận diện khuôn mặt ngay lập tức và đối chiếu với hàng triệu bản ghi trong cơ sở dữ liệu Điều này giúp xác định xem đối tượng có phải là người đang bị truy tìm hay là một nhân vật đặc biệt nào đó.
Hình 2.4: Minh họa hệ thống nhận dạng tội phạm
Trong thời đại công nghệ hiện đại, hầu hết các máy ảnh đều tích hợp chức năng tự động phát hiện khuôn mặt, giúp tối ưu hóa độ nét và điều chỉnh ánh sáng phù hợp với môi trường xung quanh Nhiều trang web cũng đã áp dụng công nghệ nhận dạng khuôn mặt, so sánh với kho dữ liệu lớn để cung cấp những dịch vụ thông minh và lời chào cá nhân hóa cho người dùng.
Hình 2.5: Minh họa chức năng lấy nét trên camera điện thoại
Hệ thống camera quan sát và bảo vệ được thiết kế để xác định và theo dõi các đối tượng quan trọng, thường được lắp đặt tại những địa điểm công cộng đông đúc như sảnh tòa nhà, thang máy, trung tâm mua sắm, nhà ga và sân bay.
Tổ chức tìm kiếm có khả năng thực hiện các tìm kiếm liên quan đến con người thông qua khuôn mặt trên nhiều cơ sở dữ liệu lớn, giúp xác định vị trí của trẻ đi lạc bằng cách sử dụng thông tin khuôn mặt để huấn luyện hệ thống Nhờ đó, chúng ta có thể nhận diện trẻ em qua camera tại các địa điểm công cộng Hệ thống này cũng cho phép học sinh, sinh viên và nhân viên ra vào cơ quan, văn phòng, lớp học mà không cần đăng nhập hay sử dụng thẻ, tiết kiệm thời gian và nhân lực so với phương pháp điểm danh truyền thống Khi kết hợp với công nghệ quét vân tay hoặc hốc mắt, độ chính xác của việc nhận diện sẽ được nâng cao đáng kể.
Công nghệ nhận dạng khuôn mặt trong hệ thống chấm công tự động giúp nhà quản lý theo dõi lưu lượng khách hàng ra vào cửa hàng, từ đó đánh giá hiệu quả kinh doanh thông qua doanh thu Ngoài ra, công nghệ này còn cho phép phân tích giới tính, độ tuổi và cảm xúc của khách hàng, cung cấp dữ liệu quan trọng để xác định khách hàng mục tiêu Nhờ đó, nhà quản lý có thể xây dựng chiến lược kinh doanh và quảng cáo hiệu quả hơn.
Bài toán nhận diện khuôn mặt ngày càng trở nên quan trọng nhờ vào những ứng dụng đa dạng mà công nghệ này mang lại Khi so sánh với các công nghệ nhận dạng phổ biến như nhận dạng giọng nói, vân tay, chữ ký và tròng mắt, chúng ta nhận thấy rằng mặc dù những công nghệ này đều có hiệu quả nhất định, nhưng mỗi phương pháp cũng tồn tại những hạn chế riêng.
Công nghệ nhận dạng giọng nói là một phương pháp hiệu quả cho các ứng dụng điều khiển bằng giọng nói Tuy nhiên, nhược điểm lớn của nó là sự nhạy cảm với tiếng ồn, khiến nó không phù hợp cho việc sử dụng ở những nơi công cộng đông người.
Công nghệ nhận dạng chữ ký gặp nhiều khó khăn trong việc duy trì tính nhất quán của chữ ký, khiến người sử dụng gặp phiền phức khi phải đảm bảo chữ ký của mình giống nhau ngay cả trong cùng một thời điểm.
Công nghệ nhận dạng vân tay hiện nay rất phổ biến, nhưng nó cũng gặp phải một số nhược điểm như bị ảnh hưởng bởi độ ẩm của da và độ chính xác thấp đối với những người có tay thường xuyên tiếp xúc với hóa chất Ngoài ra, công nghệ này còn có hạn chế trong việc ngăn chặn giả mạo, vì kẻ gian có thể lợi dụng vân tay của người khác để xác thực.
Tổng quan các phương pháp trong bài toán nhận dạng đối tượng
Có rất nhiều hướng tiếp cận và phương pháp khác nhau liên quan đến nhận dạng Có thể phân loại thành các hướng tiếp cận chính:
Hướng tiếp cận dựa trên tri thức (Knowledge-based) liên quan đến việc mã hóa hiểu biết của con người về đối tượng thành các quy luật, thường mô tả mối quan hệ giữa các đặc trưng Các quy luật trong phương pháp này phụ thuộc nhiều vào kiến thức của những người nghiên cứu, thể hiện một cách tiếp cận từ trên xuống dưới.
- Hướng tiếp cận dựa vào các đặc trưng không thay đổi của khuôn mặt
Trong phương pháp này, chúng ta xác định các đặc trưng không thay đổi của khuôn mặt người, những đặc trưng này tồn tại trong nhiều tư thế và điều kiện ánh sáng khác nhau Dựa trên các đặc trưng này, mô hình thống kê sẽ được xây dựng để mô tả mối quan hệ giữa chúng, từ đó huấn luyện một bộ phân loại để xác định các vùng khuôn mặt trong các khung hình cắt ra từ ảnh gốc Tuy nhiên, điểm yếu lớn nhất của kỹ thuật này là thời gian xử lý, do cần phải lấy ra nhiều vùng từ bức ảnh để đưa qua bộ phân loại.
Kỹ thuật tiếp cận dựa vào mẫu cho trước (Template-Matching) giúp xác định vị trí khuôn mặt trong ảnh bằng cách so sánh với các bức ảnh khuôn mặt mẫu Ảnh mẫu thường là ảnh chụp thẳng, từ đó ta tính toán các giá trị tương quan với các mẫu chuẩn về đường viền khuôn mặt, mắt, mũi và miệng Dựa vào các giá trị này, chúng ta có thể xác định sự hiện diện của khuôn mặt trong ảnh Ưu điểm của phương pháp này là tính dễ sử dụng, nhưng nó cũng gặp phải vấn đề về thời gian tương tự như kỹ thuật dựa vào đặc tính khuôn mặt.
Hướng tiếp cận dựa vào hình dáng (Appearance-Base) sử dụng các phương pháp hình thái học kết hợp với phân tích từ mô hình machine-learning để xác định vị trí khuôn mặt trong ảnh, khác với phương pháp so khớp mẫu đã được xác định trước Phương pháp này giúp xác định trực tiếp các vùng có khuôn mặt và sử dụng đặc tính của chúng để định vị khuôn mặt người Hướng tiếp cận này không chỉ mang lại hiệu quả cao trong việc nhận diện khuôn mặt mà còn khắc phục được nhược điểm về thời gian, do đó ngày càng được ưa chuộng trong các ứng dụng hiện nay.
Hướng tiếp cận dựa trên diện mạo sử dụng các mẫu học từ ảnh thay vì các mẫu định nghĩa trước, áp dụng các kỹ thuật xác suất thống kê và máy học để nhận diện các đặc tính liên quan đến khuôn mặt Các đặc tính này được học dưới dạng mô hình phân bố hoặc hàm biệt số, cho phép xác định khuôn mặt một cách hiệu quả Bên cạnh đó, việc giảm số chiều cũng được chú trọng nhằm tăng cường hiệu quả tính toán và độ chính xác trong quá trình nhận diện.
2.4.1 Hướng tiếp cận dựa trên cơ sở tri thức (Knowledge – based)
Mã hóa hiểu biết của con người về đối tượng thành các luật là một phương pháp nghiên cứu quan trọng Các luật này thường mô tả mối quan hệ giữa các đặc trưng, phụ thuộc vào tri thức của tác giả Đây là phương pháp từ trên xuống, giúp xây dựng các luật cơ bản mô tả đặc trưng của đối tượng Ví dụ, khuôn mặt có hai mắt đối xứng qua trục giữa, cùng với mũi và miệng Các quan hệ giữa các đặc trưng có thể được mô tả qua khoảng cách và vị trí Tác giả thường trích xuất đặc trưng khuôn mặt để xác định ứng viên, sau đó sử dụng các luật để phân loại ứng viên thành khuôn mặt và không phải khuôn mặt Quá trình xác định này giúp giảm nhận dạng sai Tuy nhiên, việc chuyển đổi tri thức con người thành luật hiệu quả là thách thức lớn Nếu luật quá chi tiết, có thể bỏ sót đối tượng trong ảnh, trong khi luật quá tổng quát có thể dẫn đến nhận dạng sai Hơn nữa, việc mở rộng yêu cầu để nhận dạng các đối tượng với nhiều tư thế khác nhau cũng gặp khó khăn.
Hình 2.7: Minh họa hệ thống chấm công tự động bằng nhận dạng khuôn mặt
Hệ thống đa độ phân giải
(a) Ảnh ban đầu có độ phân giải n = 1
(b) (c) (d) Ảnh có độ phân giải n = 4, 8 và 16
Hình 2.8: Một lọai tri trức của người nghiên cứu phân tích trên khuôn mặt
Yang và Huang đã phát triển một hệ thống xác định khuôn mặt dựa trên ba mức luật Ở mức cao nhất, hệ thống sử dụng một khung cửa sổ quét để tìm các ứng viên có thể là khuôn mặt thông qua một tập luật Mức thứ hai mô tả hình dáng tổng quát của khuôn mặt, trong khi mức cuối cùng tập trung vào các đặc trưng chi tiết như mắt và miệng Hệ thống này áp dụng phương pháp đa độ phân giải để xác định khuôn mặt, bắt đầu từ độ phân giải thấp để tìm ứng viên, sau đó sử dụng biểu đồ histogram để loại bỏ những ứng viên không phù hợp Mặc dù độ chính xác chưa cao, nhưng nghiên cứu này đã đặt nền tảng cho nhiều nghiên cứu tiếp theo trong lĩnh vực nhận diện khuôn mặt.
Kotropoulos và Pitas đã phát triển một phương pháp xác định đặc trưng khuôn mặt trên độ phân giải thấp thông qua kỹ thuật chiếu Đồng thời, Kanade cũng đạt được thành công trong việc sử dụng phương pháp chiếu để xác định biên của khuôn mặt.
Giá trị xám I(x,y) của một điểm trong ảnh có kích thước m x n tại vị trí (x,y) được xác định thông qua các hàm chiếu ảnh theo phương ngang và thẳng đứng.
Dựa trên biểu đồ hình chiếu ngang, có hai cực tiểu địa phương tại cạnh bên trái và phải của hai đầu khi xét quá trình thay đổi độ đốc của HI Tương tự, trong hình chiếu dọc VI, các cực tiểu địa phương cho biết vị trí miệng, đỉnh mũi và hai mắt Những đặc trưng này đủ để xác định khuôn mặt.
2.4.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi (Feature invariant):
Các thuật toán nhận dạng đối tượng tập trung vào việc tìm kiếm các đặc trưng mô tả cấu trúc của đối tượng, những đặc trưng này không thay đổi khi vị trí hoặc điều kiện ánh sáng thay đổi Đây là phương pháp tiếp cận kiểu bottom-up, nhằm nhận diện các đặc trưng không thay đổi của đối tượng Con người dễ dàng nhận biết đối tượng trong nhiều tư thế và điều kiện ánh sáng khác nhau, cho thấy sự tồn tại của các thuộc tính không thay đổi Nhiều nghiên cứu đã chỉ ra rằng các đặc trưng như lông mày, mắt, mũi, miệng và đường viền tóc có thể được trích xuất bằng phương pháp xác định cạnh Dựa trên các đặc trưng này, mô hình thống kê được xây dựng để nhận diện sự tồn tại của khuôn mặt trong ảnh Tuy nhiên, các thuật toán này cần điều chỉnh để phù hợp với điều kiện ánh sáng, nhiễu và bị che khuất, vì bóng của đối tượng có thể tạo ra các cạnh mới gây khó khăn trong nhận dạng Một số công trình tiêu biểu cho phương pháp này bao gồm nghiên cứu của K C Yow và R Cipolla (1997) cùng T K Leung (1995).
- Các đặc trƣng khuôn mặt
Phương pháp xác định khuôn mặt của Sirohey sử dụng hình nền phức tạp, dựa trên cạnh để loại bỏ những yếu tố không cần thiết, chỉ giữ lại đường bao quanh khuôn mặt với độ chính xác 80% Sirohey áp dụng phương pháp Candy và heuristics để tạo ra một hình ellipse bao quanh khuôn mặt, tách biệt vùng đầu và hình nền Tương tự, Chetverikov và Lerch phát triển một phương pháp dựa trên blob và streak, sử dụng hai blob tối và ba blob sáng để mô tả các đặc điểm như mắt, gò má và mũi Mô hình của họ sử dụng các treak để mô tả hình dáng khuôn mặt, lông mày và môi, đồng thời áp dụng ảnh có độ phân giải thấp qua biến đổi Laplace để xác định khuôn mặt thông qua blob.
Leung đã phát triển một mô hình xác suất để nhận diện khuôn mặt trong ảnh có nền phức tạp, dựa trên một bộ xác định đặc trưng cục bộ và phương pháp so khớp đồ thị ngẫu nhiên Mô hình sử dụng năm đặc trưng cơ bản (hai mắt, hai lỗ mũi và phần nối giữa mũi và miệng) để mô tả khuôn mặt, đồng thời tính toán mối quan hệ khoảng cách giữa các đặc trưng cặp như mắt trái và mắt phải, với phân bố Gauss để mô hình hóa Một mẫu khuôn mặt được tạo ra từ trung bình tương ứng của một tập hợp đa hướng và đa tỷ lệ của bộ lọc đạo hàm Gauss Các đặc trưng ứng viên được xác định bằng cách so khớp từng điểm ảnh với vector mẫu, chọn hai ứng viên hàng đầu để tìm kiếm các đặc trưng khác của khuôn mặt Mô hình xây dựng một đồ thị quan hệ, trong đó mỗi node tương ứng với các đặc trưng của khuôn mặt và sử dụng xác suất để xác định Tỷ lệ xác định chính xác đạt 86%.
Khuôn mặt con người có những kết cấu riêng biệt, được sử dụng để phân loại so với các đối tượng khác Augusteijn và Skufca đã chỉ ra rằng hình dạng khuôn mặt là một cấu trúc phân loại, gọi là kết cấu giống khuôn mặt Tính kết cấu được xác định qua các đặc trưng thống kê thứ hai (SGLD) trên vùng kích thước 16×16 điểm ảnh, với ba loại đặc trưng chính: màu da, tóc, và các yếu tố khác Hai tác giả đã áp dụng mạng neural với mối tương quan cascade để phân loại các kết cấu có giám sát, đồng thời sử dụng ánh xạ đặc trưng tự tổ chức Kohonen để nhóm các lớp kết cấu khác nhau Ngoài ra, họ cũng đề xuất phương pháp bầu cử khi không thể xác định rõ kết cấu là của da hay tóc.
Manian và Ross áp dụng biến đổi wavelet để tạo ra tập dữ liệu kết cấu khuôn mặt từ ảnh xám ở nhiều độ phân giải khác nhau, kết hợp với xác suất thống kê nhằm xác định khuôn mặt con người Mỗi mẫu được phân tích có chín đặc trưng, với tỷ lệ chính xác đạt 87% và tỷ lệ xác định sai là 18%.
CÁC GIẢI PHÁP ĐÃ NGHIÊN CỨU PHÁT TRIỂN
Các phương pháp phát hiện khuôn mặt người
Có nhiều phương pháp để xác định khuôn mặt người trên ảnh 2D, trong đó phương pháp Haar-like - Adaboost do Paul Viola và Michael Jones đề xuất là một trong những giải pháp hiệu quả Phương pháp này sử dụng các đặc trưng Haar-like và đạt tỷ lệ phát hiện lên tới 93.86% trên tập dữ liệu AT&T Trước đây, nhiều hãng sản xuất máy ảnh như Canon và Samsung đã tích hợp phương pháp này vào sản phẩm của họ Ngoài ra, phương pháp phát hiện khuôn mặt của Viola và Jones cũng được cài đặt trong OpenCV, một thư viện mã nguồn mở phổ biến.
Hệ thống nhận dạng khuôn mặt sử dụng phương pháp tiếp cận học máy để phân tích các mẫu khuôn mặt từ một tập ảnh mẫu Sau khi hoàn tất quá trình huấn luyện, hệ thống sẽ trích xuất các tham số cần thiết để thực hiện nhận dạng khuôn mặt hiệu quả.
Vì vậy tiếp cận trên diện mạo còn đƣợc biết đến với tên gọi tiếp cận theo phương pháp học máy
Về tổng quan, phương pháp HA được xây dựng dựa trên sự kết hợp, lắp ghép của 4 thành phần, đó là:
Các đặc trưng Haar-like được áp dụng vào các vùng ảnh để tính toán giá trị đặc trưng, từ đó đưa vào bộ phân loại Adaboost nhằm xác định sự hiện diện của khuôn mặt trong ảnh.
- Ảnh tích hợp (Integral Image): thực ra đây là một công cụ giúp việc tính toán các giá trị đặc trƣng Haar-like nhanh hơn
Adaboost (Adaptive Boost) là một bộ phân loại hoạt động dựa trên nguyên tắc kết hợp các bộ phân loại yếu để tạo ra một bộ phân loại mạnh mẽ Phương pháp này sử dụng các giá trị đặc trưng Haar-like để phân loại hình ảnh, xác định xem đó có phải là mặt hay không.
- Cascade of Classifiers: bộ phân loại tầng với mỗi tâng là một bộ phân loại Adaboost, có tác dụng tăng tốc độ phân loại
Như vậy bài toán xác định mặt người trong ảnh cũng chính là bài toán phân loại ảnh thành hai lớp mặt hoặc không phải mặt [2]
Phương pháp nhận dạng khuôn mặt HA được thực hiện trên ảnh xám, trong đó mỗi pixel có giá trị mức xám từ 0 đến 255 (không gian màu 8 bit) Mặc dù không khai thác đặc điểm màu sắc, phương pháp này vẫn rất hiệu quả Để nhận dạng, ảnh màu sẽ được chuyển đổi sang ảnh xám thông qua một hàm chuyển đổi trong Opencv, sử dụng câu lệnh: import cv2 image = cv2.imread("images/Bill Gates.jpg").
Tạo một bức ảnh xám từ bức ảnh gốc grayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
Sau khi chuyển đổi thành ảnh xám, ảnh sẽ được chuyển thành "ảnh tích hợp" Trong giai đoạn đầu của quá trình nhận dạng, các đặc trưng Haar-like sẽ hoạt động trực tiếp trên ảnh tích hợp này.
3.1.1.2 Các đặc trƣng Haar-Like Đặ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 đen, trắng với nhau theo một trật tự, một kích thước nào đó Hình dưới đây mô tả 4 đặc trƣng Haar Like cơ bản nhƣ sau: Để phát hiện khuôn mặt các đặc trƣng Haar Like cơ bản trên đƣợc mở rộng thành các đặc trưng cạnh, đặc trưng đường và đặc trưng tâm Đặc trưng cạnh:
- Đặc trƣng tâm – xung quanh:
Giá trị đặc trưng Haar Like được xác định bởi sự chênh lệch giữa tổng điểm ảnh của các vùng đen và trắng Để tính toán nhanh chóng các đặc trưng này, Viola và Jones đã phát triển khái niệm ảnh tích phân (Integral Image), là một mảng hai chiều có kích thước tương đương với ảnh cần tính toán giá trị đặc trưng Haar Like.
Giá trị của một đặc trưng Haar-like được xác định bằng cách tính toán sự khác biệt giữa tổng giá trị xám của các pixel trong vùng "đen" và tổng giá trị xám của các pixel trong vùng "trắng".
“trắng”: f(x) = Tổng vùng đen (pixel) - Tổng vùng trắng (pixel) (1)
Vậy khi đƣợc đặt lên một vùng ảnh, đặc trƣng Haar-like sẽ tính toán và đƣa ra giá trị đặc trƣng h(x) của vùng ảnh đó
3.1.1.3 Cách áp dụng đặc trƣng Haar-like để phát hiện khuôn mặt trong ảnh
Hệ thống phát hiện khuôn mặt sử dụng một cửa sổ con có kích thước cố định để quét toàn bộ ảnh đầu vào, tạo ra nhiều ảnh con tương ứng Các đặc trưng Haar-like được áp dụng lên các cửa sổ con này để tính toán giá trị đặc trưng Cuối cùng, bộ phân loại sẽ xác nhận xem khung hình đó có phải là khuôn mặt hay không.
Khung màu xanh trong hình dưới đây minh họa một cửa sổ con, thể hiện đặc trưng Haar-like với kích thước và vị trí như mô tả Đối với mỗi đặc trưng này, một bộ phân lớp yếu (weak classifier) hk(x) được định nghĩa theo cách cụ thể.
X : cửa sổ con cần xét
: ngƣỡng f k : giá trị của đặc trƣng Haar-like p k : hệ số quyết định chiều của bất phương trình
Công thức Haar-like cho phép xác định khuôn mặt bằng cách so sánh giá trị đặc trưng k:fk tại cửa sổ con x với một ngưỡng nhất định Nếu giá trị này vượt qua ngưỡng, bộ phân lớp hk(x) sẽ xác nhận cửa sổ con x là khuôn mặt (hk(x)=1); ngược lại, nếu không vượt qua, cửa sổ con x sẽ không được coi là khuôn mặt.
Ngƣỡng là giá trị đã rút ra sau qua trình huấn luyện bộ phân lớp, sẽ trình bày sau
Đặc trưng Haar-like trong nhận dạng khuôn mặt cho thấy rằng giá trị f_k sẽ rất lớn khi cửa sổ con x nằm ở vị trí vùng mắt, do mức xám ở vùng này cao hơn vùng má Khi quét toàn bộ ảnh đầu vào, giá trị f_k này thường lớn hơn so với hầu hết các giá trị f_k khác ở các vị trí khác Với các nhƣỡng phù hợp, bộ phân lớp h_k(x) sẽ xác định chính xác khuôn mặt ở vị trí này, trong khi ở các vị trí khác sẽ không Tuy nhiên, có thể có một số vị trí ngẫu nhiên trên ảnh cho ra giá trị f_k vượt ngưỡng, khiến bộ phân lớp yếu h_k(x) nhầm lẫn đó là khuôn mặt Để giảm thiểu sự trùng hợp ngẫu nhiên, chúng ta sử dụng nhiều đặc trưng Haar-like ở các vị trí và kích thước khác nhau trong cửa sổ con.
3.1.1.4 Số lƣợng đặc trƣng Haar-like
Việc xác định xem một cửa sổ con có phải là mặt hay không dựa vào nhiều đặc trưng Haar-like Mỗi kích thước, kiểu đặc trưng và vị trí trong cửa sổ con tạo ra một đặc trưng tương ứng với một bộ phân lớp yếu x Do đó, số lượng đặc trưng trong một cửa sổ con là rất lớn Theo tính toán, với kích thước cửa sổ con 24x24 pixel, số lượng đầy đủ các đặc trưng Haar-like lên tới hơn 160.000 Điều này đặt ra hai vấn đề cần giải quyết.
Giá trị của mỗi đặc trưng Haar-like được tính bằng tổng giá trị các điểm ảnh vùng đen trừ đi tổng các điểm ảnh vùng trắng Với số lượng lớn các đặc trưng, khối lượng tính toán trở nên khổng lồ, dẫn đến thời gian xử lý lâu và không phù hợp cho các ứng dụng yêu cầu thời gian thực.
Các phương pháp nhận dạng khuôn mặt (Face Recognition)
Bài toán nhận dạng khuôn mặt là một trong những thách thức quan trọng mà hệ thống cần giải quyết Quá trình này bao gồm việc sử dụng dữ liệu khuôn mặt trong giai đoạn phát hiện, phân lớp và gán nhãn định danh cho từng đối tượng khuôn mặt.
Quá trình nhận dạng khuôn mặt bắt đầu từ đầu ra của bài toán phát hiện khuôn mặt đã được xử lý, và chất lượng của nhận dạng phụ thuộc hoàn toàn vào kết quả phát hiện Khi phát hiện khuôn mặt chính xác, quá trình nhận dạng sẽ diễn ra thuận lợi hơn Để giải quyết bài toán này, nhiều phương pháp khác nhau đã được phát triển, tùy thuộc vào đặc điểm hình ảnh và mục đích sử dụng Một số phương pháp nhận dạng khuôn mặt hiện nay bao gồm các kỹ thuật tiên tiến và ứng dụng đa dạng.
FaceNet là một kiến trúc Deep Learning sử dụng các lớp chập và được phát triển dựa trên mô hình GoogleNet Hệ thống này đã đạt được kết quả ấn tượng trong các thử nghiệm, với độ chính xác lên tới 99,63% trên bộ dữ liệu Labeled Face in the Wild (LFW) và 95,12% trên Youtube Faces DB Bằng cách xử lý dữ liệu ảnh khuôn mặt đầu vào, FaceNet chuyển đổi mỗi khuôn mặt thành một vectơ đặc trưng 128 chiều.
Trong quá trình trích rút đặc trưng của Facenet, độ khác nhau giữa các đặc trưng được tính bằng khoảng cách Euclid Dữ liệu khuôn mặt được huấn luyện thông qua hàm Triple loss, sử dụng từng "bộ ba" bao gồm một ảnh mặt của người (Anchor), một ảnh khác của cùng người đó (positive) và một ảnh của người khác (negative) Mục tiêu là điều chỉnh các tham số của mạng sao cho khoảng cách giữa ảnh Anchor và Positive là nhỏ nhất, trong khi khoảng cách giữa ảnh Anchor và Negative là lớn nhất Sau khi hoàn thành quá trình huấn luyện trên tập dữ liệu lớn, mô hình sẽ có khả năng phân biệt ảnh của cùng một người với ảnh của người khác.
Hình 3.14: Mô tả hoạt động của hàm Triple loss
Một trong những nhược điểm lớn nhất của phương pháp này là yêu cầu nghiêm ngặt về chất lượng và kích thước của ảnh đầu vào Điều này gây khó khăn trong việc thu thập dữ liệu huấn luyện từ nhiều nguồn khác nhau.
Hình 3.15: Sơ đồ hệ thống nhận dạng khuôn mặt OpenFace
Phương pháp OpenFace sử dụng các mô hình đào tạo từ dlib hoặc OpenCV để xác định khuôn mặt và chuyển đổi nó thành mạng Neural Kỹ thuật ước tính tư thế thời gian thực của dlib kết hợp với OpenCV cho phép xác định vị trí từ mắt đến môi trên mỗi ảnh Sau đó, một mạng Neural sâu được sử dụng để biểu diễn khuôn mặt trong không gian 128 chiều, với các đặc trưng đại diện cho khuôn mặt Những đặc trưng này giúp việc phân cụm, phát hiện sự tương tự và phân loại trở nên dễ dàng hơn so với các kỹ thuật nhận diện khác Tuy nhiên, nghiên cứu cho thấy phương pháp này chỉ hoạt động hiệu quả với quy mô dưới 300 đối tượng.
3.2.3 Mô hình DeepFace (Facebook, CVPR 2014)
Nhóm tác giả từ Trung tâm Nghiên cứu Facebook và trường Đại học Tel Aviv đã phát triển thuật toán DeepFace, sử dụng ảnh người dùng trên Facebook làm dữ liệu Quy trình nhận dạng khuôn mặt bao gồm 4 bước: xác định, canh chỉnh, biểu diễn và phân loại khuôn mặt Họ đã biểu diễn khuôn mặt theo mô hình 3D, áp dụng biến đổi affine từng phần, và sử dụng 9 lớp Mạng Neuron Sâu (DNN) với hơn 120 ngàn tham số Cấu trúc DNN này hiệu quả trong việc tổng quát hóa cho các tập dữ liệu khác và trình bày cách canh chỉnh khuôn mặt dựa trên mô hình 3D.
Hình 3.16: Cấu trúc huấn luyện của DeepFace
Mô hình DeepFace bắt đầu từ việc huấn luyện trên ảnh đầu vào để nhận diện khuôn mặt, sau đó thực hiện chỉnh sửa chính diện dựa vào mô hình 3D (Frontalization) Quy trình tiếp theo bao gồm các lớp lọc Tích chập (C1), Pooling (M2), và Tích chập (C3), tiếp theo là ba lớp Liên thông Địa phương (L4 – L6) và hai lớp Liên thông Đầy đủ (F7 – F8) Mạng lưới này có hơn 120.000 tham số, trong đó 95% tập trung vào các lớp Liên thông Địa phương và Liên thông Đầy đủ DeepFace nổi bật với độ chính xác cao, xếp hạng là một trong những thuật toán nhận dạng khuôn mặt hàng đầu.
Phương pháp DeepFace gặp nhược điểm khi huấn luyện với bộ dữ liệu riêng, bao gồm hàng triệu ảnh từ mạng xã hội, dẫn đến tốc độ chậm hơn so với các phương pháp khác Mô hình nhận diện khuôn mặt này chưa được Facebook công bố mã nguồn mở, chỉ cung cấp bài báo khoa học, nên nghiên cứu và ứng dụng để thực hiện điểm danh tạm thời vẫn chưa đầy đủ Để sử dụng mô hình này, cần có cấu hình máy tính mạnh mẽ để thực hiện điểm danh hiệu quả.
Để nghiên cứu hệ thống nhận dạng khuôn mặt quy mô lớn, luận văn giới thiệu hệ thống sử dụng thư viện Arc-Face, tập trung vào việc phân loại đối tượng qua các hàm xử lý dữ liệu Thách thức lớn nhất là thiết kế hàm phù hợp nhằm nâng cao khả năng phân biệt giữa các lớp Hệ thống này đã chứng minh hiệu quả với tốc độ xử lý tốt và độ chính xác 99,38% khi kiểm định trên bộ dữ liệu Labeled Faces in the Wild (LFW) gồm 13.332 bức ảnh của 5.749 người nổi tiếng Arc-Face không ngừng cập nhật và phát triển, xếp thứ 2 tại WIDER Face Detection Challenge 2019 và được chọn làm pre-train model duy nhất cho cuộc thi iQIYI iCartoonFace challenge vào tháng 4 năm 2020 Đến tháng 9 năm 2020, phương pháp này đạt độ chính xác 99,1% khi kiểm định trên bộ dữ liệu lớn với 360.000 IDs.