Giải Pháp Quản Lý Và Nhận Dạng Khuôn Mặt Hiệu Suất Cao

Giải pháp quản lý và nhận dạng khuôn mặt hiệu suất cao giúp tối ưu hóa quy trình, nâng cao bảo mật và hiệu quả trong các hệ thống an ninh.

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2021

77
0
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

1. CHƯƠNG 1: TỔNG QUAN

1.1. Giới thiệu tình hình nghiên cứu hiện nay

1.2. Mục tiêu nghiên cứu

1.3. Nhiệm vụ nghiên cứu

1.4. Giới hạn đề tài

1.5. Đối tượng và phạm vi nghiên cứu

1.6. Phương ph́ áp nghiên cứu

1.7. Bố cục của Đồ án

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Model phát hiện khuôn mặt (Face Detection Model)

2.2. Tổng quan về MediaPipe

2.3. Mô hình BlazeFace trong MediaPipe

2.4. Phát hiện đối tượng (Object Detection)

2.5. RCNN – Mạng tích chập nơ ron phát hiện đối tượng

2.6. SSD – Single Shot Multibox Detector

2.7. MobileNet – Mang model học sâu lên thiết bị di động

2.8. Những cải tiến ở mô hình phát hiện khuôn mặt BlazeFace

2.9. Output của Model BlazeFace

2.10. Các thông số quan trọng của BlazeFace

2.11. Model trích xuất đặc trưng khuôn mặt Dlib Face Recognition

2.12. Tổng quan về Dlib. Dlib Face Recognition

2.13. Các thông số quan trọng của Dlib Face Recognition

2.14. Phần mềm thiết kế giao diện ứng dụng QT Designer

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. Yêu cầu của hệ thống

3.2. Sơ đồ khối hệ thống

3.3. Chức năng của hệ thống

3.4. Thiết kế hệ thống

3.5. Khảo sát các phương pháp

3.6. Khảo sát phương pháp phát hiện khuôn mặt

3.7. Kiến trúc model BlazeFace

3.8. Khảo sát phương pháp trích xuất đặc trưng khuôn mặt

3.9. Kiến trúc model Dlib Face Recognition

3.10. Phương pháp thực hiện

3.11. Đăng ký khuôn mặt

3.12. Nhận dạng khuôn mặt

3.13. Giao diện và chức năng hệ thống

3.14. Giao diện khâu quản lý, đăng ký

3.15. Giao diện khâu nhận dạng

4. CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM

4.1. So sánh các hệ thống nhận dạng

4.2. Kết quả hoạt động của hệ thống

4.3. Đánh giá hệ thống

4.4. Môi trường và dữ liệu

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Quản lý khuôn mặt

Quản lý khuôn mặt là một phần quan trọng trong hệ thống nhận dạng khuôn mặt hiệu suất cao. Nghiên cứu này tập trung vào việc thiết kế một hệ thống quản lý khuôn mặt dễ dàng và hiệu quả, cho phép người dùng đăng ký, quản lý và giám sát các khuôn mặt đã được nhận dạng. Hệ thống sử dụng các mô hình học sâu để trích xuất đặc trưng khuôn mặt, giúp tăng độ chính xác và tốc độ xử lý. Công nghệ quản lý khuôn mặt được áp dụng trong nhiều lĩnh vực như giám sát an ninh, chấm công và bảo mật. Hệ thống này cũng được thiết kế để hoạt động trên các thiết bị có cấu hình thấp, đảm bảo tính khả dụng rộng rãi.

1.1. Hệ thống quản lý khuôn mặt

Hệ thống quản lý khuôn mặt được thiết kế để đáp ứng các yêu cầu về độ chính xác, tốc độ và chi phí thấp. Hệ thống sử dụng các mô hình học sâu như BlazeFace và Dlib để phát hiện và trích xuất đặc trưng khuôn mặt. Quá trình đăng ký khuôn mặt được tự động hóa, giúp người dùng dễ dàng thêm và quản lý các khuôn mặt mới. Hệ thống cũng cung cấp tính năng giám sát và lưu trữ lịch sử nhận dạng, giúp người dùng theo dõi các sự kiện nhận dạng một cách hiệu quả.

1.2. Ứng dụng quản lý khuôn mặt

Ứng dụng quản lý khuôn mặt được triển khai trên các nền tảng Linux và MacOS, đảm bảo tính linh hoạt và dễ dàng triển khai. Hệ thống có thể được sử dụng trong các môi trường như văn phòng, thang máy hoặc các khu vực cần giám sát an ninh. Công nghệ quản lý khuôn mặt này cũng có thể thay thế các phương pháp chấm công truyền thống, giúp tăng hiệu quả và giảm chi phí.

II. Nhận dạng khuôn mặt

Nhận dạng khuôn mặt là công nghệ cốt lõi trong hệ thống này, sử dụng các mô hình học sâu để phát hiện và trích xuất đặc trưng khuôn mặt. Hệ thống được thiết kế để hoạt động hiệu quả trên các thiết bị có cấu hình thấp, đảm bảo tốc độ xử lý thời gian thực và độ chính xác cao. Công nghệ nhận dạng khuôn mặt được áp dụng trong nhiều lĩnh vực như giám sát an ninh, chấm công và bảo mật. Hệ thống này cũng có khả năng nhận dạng khuôn mặt từ nhiều góc độ khác nhau, giúp tăng tính linh hoạt và khả năng ứng dụng.

2.1. Mô hình nhận dạng khuôn mặt

Mô hình nhận dạng khuôn mặt sử dụng các mô hình học sâu như BlazeFace và Dlib để phát hiện và trích xuất đặc trưng khuôn mặt. BlazeFace là mô hình phát hiện khuôn mặt nhanh và nhẹ, phù hợp với các thiết bị có cấu hình thấp. Dlib là mô hình trích xuất đặc trưng khuôn mặt với độ chính xác cao, giúp hệ thống nhận dạng khuôn mặt một cách chính xác. Công nghệ nhận dạng khuôn mặt này cũng được tối ưu hóa để hoạt động trong các điều kiện ánh sáng khác nhau, đảm bảo tính ổn định và hiệu quả.

2.2. Ứng dụng nhận dạng khuôn mặt

Ứng dụng nhận dạng khuôn mặt được triển khai trên các nền tảng Linux và MacOS, đảm bảo tính linh hoạt và dễ dàng triển khai. Hệ thống có thể được sử dụng trong các môi trường như văn phòng, thang máy hoặc các khu vực cần giám sát an ninh. Công nghệ nhận dạng khuôn mặt này cũng có thể thay thế các phương pháp chấm công truyền thống, giúp tăng hiệu quả và giảm chi phí.

III. Giải pháp quản lý và nhận dạng khuôn mặt hiệu quả

Giải pháp quản lý và nhận dạng khuôn mặt hiệu quả được thiết kế để đáp ứng các yêu cầu về độ chính xác, tốc độ và chi phí thấp. Hệ thống sử dụng các mô hình học sâu như BlazeFace và Dlib để phát hiện và trích xuất đặc trưng khuôn mặt. Giải pháp quản lý khuôn mặt bao gồm các tính năng đăng ký, quản lý và giám sát khuôn mặt, giúp người dùng dễ dàng sử dụng và quản lý hệ thống. Giải pháp nhận dạng khuôn mặt hiệu quả được tối ưu hóa để hoạt động trên các thiết bị có cấu hình thấp, đảm bảo tính khả dụng rộng rãi.

3.1. Thiết kế hệ thống

Thiết kế hệ thống bao gồm các khối chức năng như phát hiện khuôn mặt, trích xuất đặc trưng khuôn mặt, đăng ký và quản lý khuôn mặt. Hệ thống sử dụng các mô hình học sâu như BlazeFace và Dlib để đảm bảo độ chính xác và tốc độ xử lý. Hệ thống quản lý khuôn mặt được thiết kế để dễ dàng sử dụng và quản lý, giúp người dùng đăng ký và theo dõi các khuôn mặt một cách hiệu quả.

3.2. Đánh giá hệ thống

Đánh giá hệ thống được thực hiện thông qua các thử nghiệm trong các điều kiện ánh sáng khác nhau. Hệ thống đạt được độ chính xác cao lên tới 99% và tốc độ xử lý 27 khung hình/giây. Hệ thống nhận dạng khuôn mặt cũng được đánh giá là ổn định và hiệu quả trong các môi trường thực tế, đảm bảo tính khả dụng và hiệu quả cao.

21/02/2025

Trích đoạn nội dung tài liệu

Chương 1: GIỚI THIỆU Chương 2: CƠ SỞ LÝ THUYẾT (Chương 2 sẽ tìm hiểu cơ sở lý thuyết nhận dạng khuôn mặt, model phát hiện và trích xuất đặc trưng khuôn mặt Face Detection and Feature Extraction models, phần mềm hỗ trợ lập trình và phần mềm hỗ trợ thiết kế giao diện hệ thống.) Chương 3: THIẾT KẾ HỆ THỐNG (Chương 3: Sơ đồ khối, phân tích lựa chọn model phát hiện và nhận diện khuôn mặt, thiết kế ứng dụng và chức năng ứng dụng) Chương 4: KẾT QUẢ THỰC NGHIỆM 3 Chương 2: CƠ SỞ LÝ THUYẾT 2. Model phát hiện khuôn mặt (Face Detection Model) Mô hình phát hiện khuôn mặt là là mô hình học sâu thực hiện chức năng xác định và trích xuất các điểm (landmarks) trên khuôn mặt. Các mô hình học sâu phát hiện khuôn mặt đã được nhiều công ty và chính phủ đặc biệt quan tâm những năm gần đây, ứng dụng trong rất nhiều lĩnh vực như: giám sát, bảo mật, điều khiển tự động,. Vì thế, ở thời điểm hiện tại có rất nhiều mô hình phát hiện khuôn mặt, và mô hình BlazeFace [5] với các ưu điểm sẽ được trình bài ở các phần tiếp theo.

Để hiểu hơn về nguồn gốc của mô hình BlazeFace này, chúng ta sẽ tìm hiểu về thư viện MediaPipe [6] một thư viện máy học về thị giác máy tính đang rất phổ biến từ năm 2020. Tổng quan về MediaPipe MediaPipe [6] là một thư viện mã nguồn mở được nghiên cứu và phát triển bởi Google. Với mục tiêu là cung cấp các giải pháp máy học đa nền tảng (PC: Linux, Windows; Mobile: Android, iOS; Web) và đa ngôn ngữ (Python, C++, JavaScript…), hầu hết các model trong thư viện MediaPipe đều có chung đặc điểm là: tốc độ xử lý nhanh, nhẹ và không kém phần chính xác. Hiện nay MediaPipe cung cấp các mô hình học sâu cho các ứng dụng quan trọng trong thị giác máy tính như: phát hiện mống mắt, phân đoạn tóc, phát hiện tư thế,… Và đặc biệt, Model quan trọng được người nghiên cứu sử dụng đó là Model phát hiện khuôn mặt BlazeFace [5] trong thư viện MediaPipe [6].

Mô hình BlazeFace trong MediaPipe BlazeFace [5] là một bộ phát hiện khuôn mặt (Face Detector) cực kỳ nhẹ và chính xác. Để đạt được tốc độ và độ chính xác trên, mô hình BlazeFace [5] được thiết kế và cải tiến dựa trên kiến trúc mạng của mô hình SSD [7], một bộ phát hiện đối tượng (Object detector) tốc độ cao, kết hợp với mạng trích xuất đặc trưng vốn được thiết dành riêng cho các mô hình học sâu chạy trên thiết bị di động: MobileNet [8]. Để hiểu rõ hơn về các cải tiến mà BlazeFace mang lại, chúng ta sẽ tìm hiều sơ lược cách một mạng nơron học sâu có thể phát hiện ra đối tượng cần được phát hiện, cũng như kiến trúc và cách thức hoạt động của 2 mô hình học sâu: SSD [7] và MobileNet [8] ở mục 2. Phát hiện đối tượng (Object Detection) Phát hiện đối tượng là một thuật ngữ chung để mô tả một tập hợp các nhiệm vụ thị giác máy tính có liên quan liên quan đến việc xác định các đối tượng trong ảnh kỹ thuật số.

Phân loại hình ảnh liên quan đến việc dự đoán lớp của một đối tượng trong một hình ảnh. Định vị vật thể đề cập đến việc xác định vị trí của một hoặc nhiều đối tượng trong một hình ảnh và vẽ bounding box xung quanh chúng. Phát hiện đối tượng kết hợp hai nhiệm vụ trên và thực hiện cho một hoặc nhiều đối tượng trong hình ảnh. Chúng ta có thể phân biệt giữa ba nhiệm vụ thị giác máy tính cơ bản trên thông qua input và output của chúng như sau:  Phân loại hình ảnh: Dự đoán nhãn của một đối tượng trong một hình ảnh.

o Input: Một hình ảnh với một đối tượng, chẳng hạn như một bức ảnh. o Output: Nhãn lớp (ví dụ: một hoặc nhiều số nguyên được ánh xạ tới nhãn lớp).  Định vị đối tượng: Xác định vị trí hiện diện của các đối tượng trong ảnh và cho biết vị trí của chúng bằng bounding box. o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh.

o Output: Một hoặc nhiều bounding box được xác định bởi tọa độ tâm, chiều rộng và chiều cao.  Phát hiện đối tượng: Xác định vị trí hiện diện của các đối tượng trong bounding box và nhãn của các đối tượng nằm trong một hình ảnh. o Input: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh. o Output: Một hoặc nhiều bounding box và nhãn cho mỗi bounding box.

Ở các phần tiếp theo chúng ta sẽ tìm hiểu các thuật toán học sâu dùng trong bài toán phát hiện đối tượng nói chung và phát hiện khuôn mặt nói riêng, bao gồm các họ mô hình mạng R-CNN [9] (regions with CNN features), SSD [7] và BlazeFace [5]. RCNN – Mạng tích chập nơ ron phát hiện đối tượng R-CNN [9] được giới thiệu lần đầu vào 2014 bởi Ross Girshick và các cộng sự ở UC Berkeley một trong những trung tâm nghiên cứu AI hàng đầu thế giới trong bài báo “Rich feature hierarchies for accurate object detection and semantic segmentation.” Nó có thể là một trong những ứng dụng nền móng đầu tiên của mạng nơ ron tích chập đối với vấn đề phát hiện đối tượng. Cách tiếp cận này đã được chứng minh là hiệu quả trên các bộ dữ liệu điểm chuẩn, đạt được kết quả tốt nhất trên bộ dữ liệu VOC-2012 và bộ dữ liệu phát hiện đối tượng ILSVRC-2013 gồm 200 lớp. Kiến trúc của R-CNN [9] gồm 4 thành phần như hình 2.1 đó là:  Ảnh đầu vào (Input Image)  Vùng đề xuất hình ảnh (Region proposal): Có tác dụng tạo và trích xuất các vùng đề xuất chứa vật thể được bao bởi các bounding box.

 Trích lọc đặc trưng (Feature Extractor): Trích xuất các đặc trưng giúp nhận diện hình ảnh từ các region proposal thông qua các mạng tích chập nơ ron sâu (deep convolutional neural network).  Phân loại (Classifier): Dựa vào input là các features ở phần trước để phân loại hình ảnh chứa trong region proposal về đúng nhãn. Kiến trúc của mô hình được mô tả trong biểu đồ bên dưới: Hình 2.1: Tổng quan cách hoạt động của R-CNN 6 Một kỹ thuật được sử dụng để đề xuất các vùng đề xuất hình ảnh (region proposal) hoặc các bounding box chứa các đối tượng tiềm năng trong hình ảnh được gọi là “selective search”, các vùng đề xuất hình ảnh có thể được phát hiện bởi đa dạng những thuật toán khác nhau. Nhưng điểm chung là đều dựa trên tỷ lệ IoU giữa bounding box và ground truth box.

Trích xuất đặc trưng về bản chất là một mạng CNN học sâu, ở đây là AlexNet [10], mạng đã giành chiến thắng trong cuộc thi phân loại hình ảnh ILSVRC-2012. Đầu ra của CNN là một vectơ 4096 chiều mô tả nội dung của hình ảnh được đưa đến một mô hình SVM tuyến tính để phân loại. Đây là một ứng dụng tương đối đơn giản và dễ hiểu của CNN đối với vấn đề định vị vật thể và phát hiện vật thể. Một nhược điểm của phương pháp này là chậm, đòi hỏi phải vượt qua nhiều module độc lập trong đó có trích xuất đặc trưng từ một mạng CNN học sâu trên từng vùng đề xuất hình ảnh được tạo bởi thuật toán đề xuất vùng chứa ảnh.

Đây là một vấn đề chính cần giải quyết vì bài viết mô tả mô hình hoạt động trên khoảng 2000 vùng được đề xuất cho mỗi hình ảnh tại thời điểm thử nghiệm. Để giải quết những nhược điểm kể trên của mạng R-CNN [9], Fast R-CNN [11] và Faster R-CNN [12] lần lượt ra đời. Tuy nhiên, cả 3 kiến trúc mạng vẫn dựa trên thuật toán gồm 2 phần xử lý riêng biệt: phát hiện các vùng đề xuất và phân loại hình ảnh. Phát hiện các vùng đề xuất hình ảnh và trích xuất đặc trưng của từng vùng đề xuất hình ảnh bằng mạng CNN học sâu tiêu tốn nhiều tài nguyên và thời gian, vì thế các các mạng R-CNN rất hiếm được sử dụng trong thực tế vì đòi hỏi thiết bị phần cứng vô cùng mạnh mẽ để có thể chạy trong thời gian thực được.

SSD – Single Shot Multibox Detector Mô hình phát hiện khuôn mặt BlazeFace được thiết kế dựa trên cấu trúc mạng của cũng như cách thức hoạt động của SSD [7]. Vì thế ở phần này, chúng ta sẽ làm rõ cách thức hoạt động, kiến trúc và ưu điểm của nó so với mạng R-CNN [9] để hiểu được tại sao BlazeFace lại chọn nó làm nền tảng phát triển của mình. Cũng giống như hầu hết các kiến trúc phát hiện vật thể dựa trên mạng nơ rơn tích chập khác, đầu vào của SSD [7] là các tọa độ gồm tâm của bounding box (x, y) và chiều dài, chiều rộng (w, h) của bounding box chứa vật thể (hay còn gọi là offsets của bounding box) và nhãn của vật thể chứa trong bounding box. Điểm đặc biệt làm nên tốc độ của SSD [7] model là mô hình sử dụng một mạng nơ rơn duy nhất.

Cách tiếp cận của nó dựa trên việc nhận diện vật thể trong các feature map (là một output shape 3D của một mạng deep CNN sau khi bỏ các fully connected layers cuối) có độ phân giải khác nhau. Mô hình sẽ tạo ra một lưới các ô vuông gọi là grid 7 cells trên các feature map, mỗi ô được gọi là một cell và từ tâm của mỗi cell xác định một tập hợp các boxes mặc định (default boxes) để dự đoán khung hình có khả năng bao quanh vật thể. Tại thời điểm dự báo, mạng nơ ron sẽ trả về 2 giá trị đó là: phân phối xác suất nhãn của vật thể chứa trong bounding box và một tọa độ gọi là offsets. Quá trình huấn luyện cũng là quá trình tinh chỉnh xác suất nhãn và bounding box về đúng với các giá trị ground truth input của mô hình (gồm nhãn và offsets bounding box).

Thêm nữa, network được kết hợp bởi rất nhiều các feature map với những độ phân giải khác nhau giúp phát hiện được những vật thể đa dạng các kích thước và hình dạng. Trái với mô hình fast R-CNN [10], SSD [7] bỏ qua bước tạo mặt nạ region proposal network để đề xuất vùng vật thể. Thay vào đó tất cả quá trình phát hiện vật thể và phân loại vật thể được thực hiện trong cùng 1 mạng. Bản thân tên của mô hình - Single Shot MultiBox Detector cũng nói lên được rằng mô hình sử dụng nhiều khung hình box với tỷ lệ (scales) khác nhau nhằm nhận diện vùng vật thể và phân loại vật thể, giảm thiểu được bước tạo region proposal network so với fast R-CNN nên tăng tốc độ xử lý lên nhiều lần, cụ thể kết quả ở Bảng 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Giải pháp quản lý và nhận dạng khuôn mặt hiệu quả cao" cung cấp cái nhìn tổng quan về các phương pháp và công nghệ tiên tiến trong lĩnh vực nhận dạng khuôn mặt, tập trung vào việc tối ưu hóa hiệu suất và độ chính xác. Tài liệu này không chỉ giới thiệu các giải pháp quản lý dữ liệu khuôn mặt mà còn đề cập đến cách tích hợp các hệ thống này vào thực tế, mang lại lợi ích lớn cho các ứng dụng an ninh, quản lý nhân sự và tự động hóa. Để hiểu sâu hơn về ứng dụng của mạng học sâu trong nhận dạng khuôn mặt, bạn có thể tham khảo Luận văn thạc sĩ hcmute ứng dụng mạng học sâu cho nhận diện khuôn mặt. Ngoài ra, nếu quan tâm đến việc xây dựng hệ thống nhận diện khuôn mặt kết hợp cảm xúc, Đồ án hcmute xây dựng hệ thống nhận diện khuôn mặt và cảm xúc dùng mạng nơ ron tích chập sẽ là tài liệu hữu ích. Cuối cùng, để khám phá cách nhận dạng khuôn mặt được áp dụng trong môi trường làm việc, hãy xem Luận văn thạc sĩ khoa học máy tính authentication via deep learning facial recognition with and without mask and timekeeping implementation at working spaces. Mỗi liên kết này mở ra cơ hội để bạn mở rộng kiến thức và khám phá các góc nhìn chuyên sâu hơn về chủ đề này.