TỔNG QUAN VỀ ĐỀ TÀI
Mở đầu
Sự phát triển không ngừng của khoa học và công nghệ, đặc biệt trong những năm gần đây, đã đưa trí tuệ nhân tạo (AI) trở thành một yếu tố then chốt trong cuộc cách mạng công nghệ thông tin AI không chỉ được ứng dụng rộng rãi mà còn được đánh giá cao trong các hệ thống công nghệ cao Một trong những lĩnh vực đang thu hút sự chú ý là nhận dạng, với các ứng dụng thông minh và mang tính người Đối tượng nghiên cứu trong lĩnh vực này rất đa dạng, bao gồm 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, trạng thái cảm xúc và mối quan hệ Đ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 phải thách thức về độ sáng, hướng nghiêng và kích thước ảnh Để cải thiện độ chính xác, cần tập trung vào 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 người Theo Ming-Hsuan Yang, bốn hướng tiếp cận chính trong lĩnh vực này bao gồm: hướng tiếp cận dựa trên tri thức, hướng tiếp cận đặc trưng, hướng tiếp cận dựa trên đối sánh mẫu và hướng tiếp cận dựa trên diện mạo.
Phương pháp nhận dạng khuôn mặt thường sử dụng mô hình học máy, vì vậy nó 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 những đặc trưng độc lập Phương pháp này không bị ảnh hưởng bởi 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 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 khác nhau được áp dụng trong phương pháp này, nổi bật là 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 sự chú ý đáng kể Các ngân hàng như Việt Á và ngân hàng Quốc tế (VIB) đã áp dụng hệ thống nhận diện khuôn mặt để nâng cao bảo mật cho dịch vụ Internet Banking và Mobile Banking Ngoài ra, Trường Đại học Thăng Long cũng sử dụng công nghệ này để điểm danh sinh viên Những nghiên cứu tiên phong trong lĩnh vực này đã đó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 do TS Lê Đình Duy dẫn dắt 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ữ liệu được thu thập trong khuôn khổ đề tài ĐHGQ-C, nhằm nâng cao hiệu quả trong việc bảo vệ an ninh.
Nhóm nghiên cứu do TS Trương Công Dung Nghi dẫn dắt tại Đại học Bách Khoa TPHCM đã công bố nghiên cứu về việc 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 Nghiên cứu này được đăng trên tạp chí khoa học của 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, Trường Đại học Khoa học Tự nhiên TPHCM, dẫn dắt, tập trung vào đề tài "Tổng hợp và tìm kiếm video dựa vào phát hiện và nhận biết khuôn mặt."
Hiện nay, nhiều trường đại học sử dụng bảng theo dõi sinh viên vắng mặt trong từng môn học, thực hiện việc này hàng ngày, hàng tuần và hàng tháng Cuối mỗi kỳ học, giáo viên phải kiểm tra số tiết vắng và tính toán điểm chuyên cần một cách thủ công, điều này gây tốn thời gian và công sức cho họ.
Trong luận văn này, tôi chọn đề tài "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", 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 các 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 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 viết này 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 này kết hợp giữa lý thuyết và thực nghiệm, nhằm phát triển hệ thống nhận dạng khuôn mặt Cụ thể, nghiên cứu tập trung vào việc xây dựng ứng dụng điểm danh sinh viên thông qua điện thoại di động, tạo ra một giải pháp tiện lợi và hiệu quả cho việc quản lý đ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 các ưu nhược điểm của phương pháp phát hiện và nhận dạng khuôn mặt là bước quan trọng để phát triển công nghệ này trong tương lai Việc hiểu rõ các hạn chế hiện tại giúp cải thiện và khắc phục những vấn đề còn tồn tại, từ đó nâng cao hiệu quả và độ chính xác của các hệ thống nhận dạng khuôn mặt.
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 nhằm tiết kiệm thời gian điểm danh cho giáo viên và nhà trường, 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ỆMKẾ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ệ tiên tiến có khả năng tự động xác định danh tính của một người dựa trên hình ảnh kỹ thuật số hoặc khung hình video Ứng dụng này giúp thu thập thông tin cụ thể về cá nhân từ các nguồn video khác nhau.
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 trên việc so sánh các đặc điểm hình ảnh của khuôn mặt với cơ sở dữ liệu hiện có Thông qua trí tuệ nhân tạo sinh trắc học, hệ thống phân tích các mẫu đã được đào tạo 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 quá trình hoạt động, hệ thống liên tục thu thập dữ liệu nhằm cải thiện độ chính xác của các mẫu nhận diện Kết quả của hệ thống nhận diện được thể hiện 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 Quá trình này cho phép phân loại người cần nhận diện thành người đã được biết hoặc người lạ Hệ thống bao gồm hai phần chính: phát hiện và xác định khuôn mặt, cũng như nhận dạng khuôn mặt.
Hệ thống xác định khuôn mặt từ video thu được từ Webcam có khả năng nhận diệ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 tiến hành trích xuất các đặc trưng từ những khuôn mặt đã được xác định, sau đó thực hiện phân lớp để nhận diện các đối tượng khuôn mặt.
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 rất đa dạng và có thể ảnh hưởng lớn đến cách nhận diện Các góc chụp khác nhau như chụp thẳng, chụp xéo bên trái hoặc bên phải 45 độ, hay từ trên xuống và 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, và miệng Khi khuôn mặt nhìn thẳng nhưng góc chụp lại lệch nhiều so với hướng nhìn, hoặc khi chụp ảnh với khuôn mặt quay nghiêng, sẽ tạo ra những thách thức trong việc nhận dạng khuôn mặt chính xác.
Sự hiện diện hoặc vắng mặt của các yếu tố trên khuôn mặt như râu mép, râu hàm và kính mắt có thể ảnh hưởng đến hình ảnh Những đặc điểm này làm tăng độ phức tạp của bài toán.
Biểu cảm khuôn mặt có ảnh hưởng lớn đến các đặc điểm của gương mặt con người Ví dụ, một khuôn mặt có thể trông rất khác khi người đó cười so với khi họ thể hiện sự sợ hãi.
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 khuôn mặt có thể thay đổi đáng kể tùy thuộc vào góc quay của trục camera, ví dụ như khi chụp với trục máy nghiêng sẽ khiến khuôn mặt bị nghiêng so với trục ảnh Bên cạnh đó, điều kiện chụp ảnh như ánh sáng và loại camera sử dụng (máy kỹ thuật số, máy hồng ngoại, v.v.) cũng có ảnh hưởng lớn đến 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 nhận dạng khuôn mặt, khi khuôn mặt người có thể bị nhầm lẫn với các cảnh vật xung quanh Sự phức tạp này ảnh hưởng đáng kể đến quá trình phân tích và trích xuất đặ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 yếu tố xung quanh với khuôn mặt người.
Màu sắc da mặt quá tối hoặc tương đồng với môi trường xung quanh gây khó khăn cho việc nhận diện khuôn mặt Khi màu da quá tối, các thuật toán sẽ gặp trở ngại trong việc nhận diện các đặc trưng, dẫn đến khả năng không xác định được khuôn mặt.
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 nhiều cửa hàng hoặc trung tâm thương mại Nhờ đó, các doanh nghiệp có thể cải thiện chất lượng dịch vụ và chăm sóc khách hàng tốt hơn, từ đó thu hút thêm nhiều khách hàng trung thành.
Hệ thống giao tiếp thông minh giữa con người và máy tính đang ngày càng phát triển, cho phép nhận dạng khuôn mặt và biểu cảm để dự đoán trạng thái tâm lý của người dùng Ví dụ, trong tương lai, một ngôi nhà thông minh có khả năng nhận diện chủ nhân thông qua các phương thức như nhận diện khuôn mặt, dáng người, giao tiếp bằng giọng nói và vân tay.
Hình 2.3 Minh họa mở khóa điện thoại bằng khuôn mặt
Nhận dạng tội phạm hệ thống có khả năng nhận diện khuôn mặt ngay lập tức và so sánh 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 nã hay 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
Hầu hết các máy ảnh hiện đại ngày nay đều tích hợp chức năng tự động phát hiện khuôn mặt, giúp lấy 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 diện khuôn mặt, so sánh với kho dữ liệu khổng lồ để cung cấp những lời chào và dịch vụ thông minh nhất 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ệ giúp 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, hệ thống này đóng vai trò quan trọng trong việc đảm bảo an ninh và an toàn cho người dân.
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 qua khuôn mặt trên nhiều cơ sở dữ liệu lớn, giúp xác định vị trí trẻ em mất tích bằng cách sử dụng thông tin khuôn mặt để huấn luyện hệ thống Điều này cho phép nhận diện trẻ em qua camera tại các địa điểm công cộng Hệ thống cũng hỗ trợ việc kiểm soát ra vào tại các cơ quan, văn phòng và lớp học, cho phép học sinh, sinh viên và nhân viên vào mà không cần đăng nhập hay thẻ Phương pháp này tiết kiệm thời gian và nhân lực, đồng thời nâng cao độ chính xác so với các phương pháp điểm danh hay chấm công truyền thống Khi kết hợp với công nghệ nhận diện vân tay và hốc mắt, độ chính xác sẽ được cải thiện đá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 vào và ra khỏi 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 Dựa trên những thông tin này, 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, ta thấy rằng mặc dù cả ba công nghệ này đều có hiệu quả nhất định trong thực tiễn, nhưng mỗi phương pháp đều 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à khả năng hoạt động kém trong môi trường ồn ào và không thích hợp cho 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ì sự nhất quán của chữ ký, khiến người dùng gặp phiền phức khi phải đảm bảo chữ ký của họ 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 đang được sử dụng rộng rãi, nhưng vẫn tồn tại một số nhược điểm như độ chính xác bị ảnh hưởng bởi độ ẩm của da và không hiệu quả với những người có tay thường xuyên tiếp xúc với hóa chất Hơn nữa, việc giả mạo cũng là một vấn đề lớn, khi kẻ gian có thể lợi dụng tay của người khác để thực hiện 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) là phương pháp 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 các nhà nghiên cứu và được xem là hướng 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, những đặc điểm 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ột mô hình thống kê được xây dựng để mô tả mối quan hệ giữa chúng, và sau đó mô hình sẽ được huấn luyện để phân loại, giúp 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, nhược điểm lớn nhất của kỹ thuật này là thời gian xử lý, do cần lấy ra nhiều vùng từ bức ảnh để đưa qua bộ phân loại.
Kỹ thuật Hướng tiếp cận dựa vào mẫu cho trước (Template-Matching) 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 chuẩn Bức ảnh mẫu thường được chụp thẳng và dùng để tính toán các giá trị tương quan với các khung hình cắt ra từ ảnh đầu vào Qua các giá trị tương quan này, ta có thể xác định sự hiện diện của khuôn mặt Ư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 trực tiếp vị trí của các vùng có khuôn mặt trong ảnh, khác với phương pháp so khớp mẫu với các mẫu đã được xác định trước Phương pháp này mang lại hiệu quả cao trong việc xác định khuôn mặt và khắc phục nhược điểm về thời gian, do đó, hiện nay nhiều phương pháp thường theo hướng tiếp cận này.
Hướng tiếp cận dựa trên diện mạo khác biệt so với các phương pháp truyền thống, khi mà các mẫu được định nghĩa bởi chuyên gia Thay vào đó, phương pháp này học từ các ảnh mẫu và áp dụng kỹ thuật xác suất thống kê cùng máy học để nhận diện các đặc tính của khuôn mặt Các đặc tính này được biểu diễn 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 người một cách hiệu quả Ngoài ra, bài toán giảm số chiều cũng được quan tâm nhằm nâng cao hiệu quả tính toán và độ chính xác trong việc 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 quan trọng trong nghiên cứu nhận dạ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ả và mang tính chất từ trên xuống Ví dụ, một khuôn mặt có hai mắt đối xứng, một mũi và một miệng, cho thấy các quan hệ về khoảng cách và vị trí giữa các đặc trưng Quá trình nhận dạng thường bắt đầu bằng việc trích xuất đặc trưng khuôn mặt để tạo ra các ứng viên, sau đó áp dụng các luật để phân loại ứng viên thành khuôn mặt hoặc không phải khuôn mặt Tuy nhiên, việc chuyển đổi tri thức con người thành các luật một cách hiệu quả là một thách thức lớn Nếu các luật quá chi tiết, có thể bỏ sót đối tượng trong ảnh, trong khi các 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 ở nhiều tư thế khác nhau cũng gặp nhiều 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 sử dụng 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, trong khi mức tiếp theo mô tả hình dáng khuôn mặt tổng quát Mức cuối cùng tập trung vào việc phân tích chi tiết các đặc trưng của khuôn mặt Hệ thống này áp dụng phương pháp đa độ phân giải, bắt đầu từ độ phân giải thấp để xác định ứng viên khuôn mặt, sau đó kiểm tra histogram để loại bỏ các ứng viên không phải khuôn mặt, và cuối cùng xem xét các đặc trưng như mắt và miệng Chiến lược “từ thô đến mịn” giúp giảm thiểu khối lượng tính toán trong quá trình xử lý Mặc dù độ chính xác chưa cao, nhưng nghiên cứu này đã mở ra hướng đi cho nhiều công trình nghiên cứu tiếp theo.
Kotropoulos và Pitas đã phát triển một phương pháp tương tự áp dụng cho độ phân giải thấp, sử dụng kỹ thuật chiếu để xác định các đặc trưng khuôn mặt Trong khi đó, Kanade cũng đạt được thành công với phương pháp chiếu để xác định biên của khuôn mặt.
Giá trị xám I(x,y) tại vị trí (x,y) trong ảnh kích thước m x n được xác định bởi 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 ở hai đầu của độ đốc HI, tương tự như hình chiếu dọc VI, giúp xác định vị trí miệng, đỉnh mũi và hai mắt Những đặc trưng này đủ để nhận diện 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)
Mục tiêu của các thuật toán nhận dạng đối tượng là 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í, thiết bị thu hình hoặc điều kiện ánh sáng thay đổi Hướng tiếp cận này mang tính chất bottom-up, với nỗ lực tìm kiếm các đặc trưng không thay đổi để nhận diện đối tượng Con người có khả nă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 thông qua 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 để mô tả mối quan hệ và 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 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 giả, gây khó khăn trong quá trình nhận dạng Một số công trình tiêu biểu trong lĩnh vực này bao gồm nghiên cứu của K C Yow và R Cipolla (1997) cũng như T K Leung (1995).
- Các đặc trƣng khuôn mặt
Sirohey phát triển một phương pháp xác định khuôn mặt từ ảnh nền phức tạp, sử dụng kỹ thuật dựa trên cạnh để loại bỏ các yếu tố không cần thiết, chỉ giữ lại đường bao quanh khuôn mặt Phương pháp này áp dụng hình ellipse để bao quanh khuôn mặt, tách biệt vùng đầu và nền, với tỷ lệ chính xác đạt 80% Tương tự, Chetverikov và Lerch sử dụng phương pháp dựa trên blob và streak để xác định hướng các cạnh, mô tả hai mắt, gò má và mũi bằng hai blob tối và ba blob sáng Mô hình này còn sử dụng các treak để mô tả hình dáng ngoài của 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 để nhận diện 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 bộ đặc trưng cục bộ và so khớp đồ thị ngẫu nhiên Mô hình sử dụng năm đặc trưng gồm 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 bằng phân bố Gauss Một mẫu khuôn mặt được tạo ra từ trung bình của tậ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, từ đó chọn hai ứng viên hàng đầu để tìm kiếm các đặc trưng khác Quá trình này giống như xây dựng một đồ thị quan hệ, trong đó mỗi node tương ứng với một đặc trưng của khuôn mặt và xác suất được sử dụng để xác định Tỷ lệ chính xác trong việc nhận diện khuôn mặt đạt 86%.
Khuôn mặt con người có những kết cấu riêng biệt, cho phép phân loại so với các đối tượng khác Augusteijn và Skufca định nghĩa hình dạng khuôn mặt là một kết cấu phân loại, gọi là kết cấu giống khuôn mặt (face-like texture) Tính kết cấu được xác định qua các đặc trưng thống kê thứ tự thứ hai (SGLD) trên vùng kích thước 16×16 điểm ảnh, bao gồm ba loại đặc trưng: màu da, tóc, và các yếu tố khác Hai tác giả sử dụng mạng neural với mối tương quan cascade để phân loại có giám sát các kết cấu và áp dụng ánh xạ đặc trưng tự tổ chức Kohonen để gom nhóm các lớp kết cấu khác nhau 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, sử dụng nhiều độ phân giải khác nhau kết hợp với xác suất thống kê để nhận diện khuôn mặt người Mỗi mẫu trong tập dữ liệu này bao gồm 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 phát triển là nổi bật 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 Nhiều nhà sản xuất máy ảnh như Canon và Samsung đã tích hợp công nghệ này vào sản phẩm của họ 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.
Hệ thống nhận dạng khuôn mặt sử dụng phương pháp học từ các mẫu khuôn mặt trong một tập ảnh mẫu Sau khi hoàn thành quá trình huấn luyện, hệ thống sẽ rút ra các tham số cần thiết để phục vụ cho việc 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 Những giá trị này sau đó được đưa vào bộ phân loại Adaboost, giúp xác định xem ảnh có chứa khuôn mặt hay không.
- Ả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 mạnh mẽ, hoạt động dựa trên nguyên tắc kết hợp nhiều bộ phân loại yếu 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ạiAdaboost, 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 điểm ảnh có giá trị mức xám từ 0 đến 255, tương ứng với 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 cho kết quả nhận dạng rất hiệu quả Để thực hiện, ảnh màu sẽ được chuyển đổi sang ảnh xám thông qua một hàm chuyển đổi trong Opencv, ví dụ như sử dụng câu lệnh `import cv2` và `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 bước đầu tiên 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.
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ủa đặ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 đã giới thiệu 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 kích thước của ảnh cần tính giá trị đặc trưng Haar Like.
Giá trị của đặc trưng Haar-like được xác định bằng sự chênh lệch giữa tổng giá trị xám của các pixel trong khu vực “đen” và tổng giá trị xám của các pixel trong khu vực “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.
Để phát hiện khuôn mặt, hệ thống 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 Quá trình này tạo ra nhiều ảnh con tương ứng với từng cửa sổ, trong đó các đặc trưng Haar-like được áp dụng để tính toán giá trị đặc trưng Cuối cùng, các giá trị này được đưa vào bộ phân loại để xác định 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ư đã chỉ ra Đố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 tương ứng.
X cửa sổ con cần xét ngƣỡng fk 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ủa đặc trƣng 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 ngƣỡng, 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.
Trong nhận dạng đối tượng, đặc trưng Haar-like có kích thước và vị trí cụ thể trong cửa sổ con x sẽ cho giá trị f k lớn, đặc biệt khi so sánh vùng mắt với vùng má Giá trị f k này cao hơn hầu hết các giá trị khác khi di chuyển cửa sổ con trên toàn ảnh đầu vào Với sự điều chỉnh phù hợp, bộ phân lớp h k (x) sẽ xác định cửa sổ con ở vị trí này là khuôn mặt, trong khi các vị trí khác không phải Mặc dù có thể có những vị trí khác trên ảnh cho ra giá trị f k vượt ngưỡng, dẫn đến kết luận sai về khuôn mặt, nhưng việc sử dụng nhiều đặc trưng Haar-like ở các vị trí và kích thước khác nhau giúp giảm thiểu sự trùng hợp ngẫu nhiên.
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 của hai tác giả, một cửa sổ con kích thước 24x24 pixel có hơn 160.000 đặc trưng Haar-like Điều này đặt ra hai vấn đề cần xem xé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, quá trình tính toán trở nên khổng lồ, điều này không phù hợp để đáp ứng yêu cầu thời gian thực do thời gian xử lý kéo dài.
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 để phát hiện và phân loại, đồng thời gán nhãn định danh cho các đối tượng khuôn mặt Việc cải thiện độ chính xác trong nhận dạng khuôn mặt sẽ nâng cao hiệu quả của hệ thống.
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ới chất lượng phụ thuộc hoàn toàn vào kết quả của phần phát hiện Kết quả chính xác trong việc phát hiện khuôn mặt tạo điều kiện thuận lợi cho quá trình nhận dạng Để giải quyết bài toán này, có nhiều hướng tiếp cận khác nhau tùy thuộc vào đặc điểm của 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 nhằm cải thiện độ chính xác và hiệu quả trong việc nhận diện.
FaceNet là một kiến trúc Deep Learning tiên tiến, sử dụng các lớp chập dựa trên mô hình GoogleNet, mang lại hiệu suất cao trong nhận diện khuôn mặt Hệ thống này đã đạt kết quả ấn tượng 99,63% trong các thí nghiệm với bộ dữ liệu Labeled Face in the Wild (LFW), cho thấy khả năng vượt trội của nó trong việc nhận diện và phân loại hình ảnh khuôn mặt.
Faces DB 95,12% T ừ dữ liệ u ả nh khuôn mặt đầ u vào, h ệ th ống chuyể n thành vec- tơ 128 đặc trƣng (feature) cho mỗi khuôn m ặ t.
Quá trình trích rút đặc trưng trong Facenet được mô tả qua độ khác nhau tính bằng khoảng cách Ơ-clit giữa các đặc trưng Dữ liệu khuôn mặt được huấn luyện bằng hàm Triple loss, sử dụng từng "bộ ba" gồm một ảnh mặt của một người (Anchor), một ảnh khác của 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 huấn luyện trên tập dữ liệu lớn, mô hình đạt được khả năng phân biệt giữa ảnh của cùng một người và ả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 ả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 chúng 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 giúp xác định vị trí các điểm từ mắt đến môi trên từng bức ảnh Tiếp theo, một mạng Neural sâu được sử dụng để nhúng khuôn mặt vào một siêu cầu đơn vị 128 chiều, tạo ra các đặc trưng đại diện cho khuôn mặt Những đặc trưng này hỗ trợ cho việc phân cụm, phát hiện sự tương tự và các tác vụ phân loại hiệu quả hơn so với các phương pháp nhận diện khác Tuy nhiên, thực nghiệm cho thấy phương pháp này chỉ đạt hiệu quả tốt 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, Israel đã 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 bốn bước: xác định, canh chỉnh, biểu diễn và phân loại khuôn mặt Nhóm nghiên cứu đã 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 được tối ưu hóa để tổng quát hóa cho các tập dữ liệu khác, đồng thời nhóm cũng trình bày phương pháp 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 sử dụng cấu trúc huấn luyện từ ảnh đầu vào, bao gồm việc lấy khuôn mặt và chỉnh sửa cho chính diện thông qua mô hình 3D (Frontalization) Quá 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), sau đó 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 có hơn 120.000 tham số, với 95% tập trung vào các lớp Liên thông Địa phương và Liên thông Đầy đủ DeepFace được công nhận là một trong những thuật toán nhận dạng khuôn mặt có độ chính xác cao nhất.
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ỉ có bài báo khoa học, do đó việc nghiên cứu và ứng dụng cho điểm danh tạm thời còn hạn chế Để 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 sẽ giới thiệu về hệ thống sử dụng thư viện Arc-Face Quá trình nhận dạng bao gồm việc xử lý dữ liệu qua các hàm phân lớp, với thách thức lớn nhất là thiết kế hàm phù hợp để 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 độ chính xác 99,38% 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 Phương pháp này thường xuyên được cập nhật và phát triển, đạt vị trí thứ hai tại WIDER Face Detection Challenge 2019 và được chọn làm pre-train model duy nhất cho iQIYI iCartoonFace challenge vào tháng 4 năm 2020 Đến tháng 9 năm 2020, Arc-Face đã thực hiện kiểm định với bộ dữ liệu lớn 360.000 ids, đạt độ chính xác 99,1%.