Khóa luận tốt nghiệp: Xây dựng hệ thống điểm danh sinh viên dựa trên công nghệ nhận diện khuôn mặt

Khóa luận tốt nghiệp nghiên cứu tốt nghiệp công nghệ thông tin xây dựng cơ chế điểm danh sinh viên dựa trên nhận diện khuân mặt, vận dụng lý thuyết vào thực tế, đề xuất giải pháp

Trường đại học

Trường Đại Học Hải Phòng

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2024

57
15
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

LỜI MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1. Lí do chọn đề tài

1.2. Mục tiêu đề tài

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

1.3.1. Tìm hiểu và thu thập dữ liệu

1.3.2. Xử lý và tiền xử lý dữ liệu

1.3.3. Huấn luyện mô hình nhận diện khuôn mặt

1.3.4. Xây dựng hệ thống điểm danh

1.3.5. Đánh giá hiệu suất

1.3.6. Tối ưu hóa và cải tiến

1.3.7. So sánh với các phương pháp khác

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

1.5. Bố cục đề tài

2. CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN

2.1. Tìm hiểu về thị giác máy tính (AI computer vision)

2.1.1. Thị giác máy tính là gì?

2.1.2. Thị giác máy tính hoạt động như thế nào?

2.1.3. Lịch sử của thị giác máy tính

2.1.4. Ứng dụng thị giác máy tính

2.1.5. Ví dụ về thị giác máy tính

2.2. Tổng quan về nhận diện khuôn mặt

2.2.1. Khái niệm về nhận diện khuôn mặt

2.2.2. Các phương pháp nhận diện

2.2.3. Ưu điểm, nhược điểm của các phương pháp

2.2.3.1. Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt
2.2.3.2. Nhận dạng dựa trên xét tổng thể khuôn mặt

2.2.4. Giới thiệu về nhận dạng khuôn mặt và OpenCV

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

2.2.5. Thuật toán nhận diện khuôn mặt trong OpenCV

2.2.5.1. Thuật toán xếp tầng HAAR
2.2.5.1.1. Mẫu Negative sample
2.2.5.1.2. Mẫu Positive samples
2.2.5.2. Thuật toán nhị phân cục bộ (LBPH)
2.2.5.2.1. Giới thiệu về LBPH
2.2.5.2.2. Các bước của thuật toán
2.2.5.2.2.1. Huấn luyện thuật toán
2.2.5.2.2.2. Sử dụng phép toán LBPH
2.2.5.2.2.3. Trích xuất biểu đồ từ hình ảnh

2.2.6. Thực hiện nhận dạng khuôn mặt

2.2.7. Những thách thức trong nhận diện khuôn mặt

2.2.8. Các công cụ hỗ trợ

2.2.8.1. Visual studio code
2.2.8.2. Các thư viện hỗ trợ

3. CHƯƠNG 3: PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG

3.1. Phân tích thuật toán

3.1.1. Thu thập bộ dữ liệu khuôn mặt

3.1.2. Load ảnh chuyển BGR sang RGB

3.1.3. Xác định vị trí khuôn mặt

3.1.4. Mã hóa các điểm trên khuôn mặt

3.1.5. Trích xuất và encoding và so sánh với các khuôn mặt trong dataset

3.1.6. Nhận diện khuôn mặt

3.1.7. Xác định các khuôn mặt “unknown”

3.1.8. Tiến hành điểm danh

3.2. Kết quả thử nghiệm hệ thống

3.2.1. Phân tích thuật toán

3.2.2. Kết nối cơ sở dữ liệu

3.2.3. Load dữ liệu từ database

3.2.4. Vẽ kết quả

3.2.5. Tính phần trăm nhận dạng

3.2.6. Bật webcam và nhận diện

3.2.7. Tạo giao diện

3.2.8. Cài đặt chương trình, chạy kết quả

3.2.9. Giao diện đăng nhập

3.2.10. Hệ thống điểm danh bằng khuôn mặt

3.2.11. Quản lý sinh viên

3.2.12. Quản lý giáo viên

3.2.13. Quản lý môn học

3.2.14. Bảng thống kê

3.2.15. Hệ thống điểm danh

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về hệ thống điểm danh sinh viên

Hệ thống điểm danh sinh viên bằng nhận diện khuôn mặt là một giải pháp công nghệ hiện đại nhằm tự động hóa quy trình điểm danh trong các lớp học. Công nghệ nhận diện khuôn mặt không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong việc ghi nhận sự hiện diện của sinh viên. Hệ thống này sử dụng các thuật toán nhận diện khuôn mặt tiên tiến để xác định danh tính của sinh viên thông qua hình ảnh khuôn mặt. Việc áp dụng hệ thống quản lý sinh viên dựa trên công nghệ này không chỉ mang lại sự tiện lợi mà còn tạo điều kiện cho việc quản lý lớp học hiệu quả hơn.

1.1. Lợi ích của hệ thống điểm danh tự động

Hệ thống điểm danh tự động giúp giảm thiểu sai sót so với phương pháp điểm danh thủ công. Với công nghệ nhận diện khuôn mặt, hệ thống có khả năng nhận diện sinh viên với độ chính xác cao, giảm thiểu thời gian và công sức cần thiết cho giáo viên trong việc gọi tên từng sinh viên. Ngoài ra, hệ thống còn dễ dàng tích hợp với các hệ thống quản lý sinh viên hiện có, tạo ra một quy trình điểm danh linh hoạt và tiện lợi. Đặc biệt, giao diện người dùng của hệ thống có thể được thiết kế thân thiện, giúp sinh viên dễ dàng tham gia vào quá trình điểm danh mà không gặp khó khăn.

II. Công nghệ nhận diện khuôn mặt

Công nghệ nhận diện khuôn mặt là một lĩnh vực con của thị giác máy tính, cho phép máy tính xác định và phân loại các khuôn mặt trong hình ảnh. Công nghệ nhận diện khuôn mặt sử dụng các thuật toán phức tạp để phân tích các đặc điểm trên khuôn mặt, từ đó xác định danh tính của người dùng. Những thách thức trong việc nhận diện khuôn mặt bao gồm độ sáng, góc chụp và kích thước ảnh. Tuy nhiên, với sự phát triển của công nghệ sinh trắc học, khả năng nhận diện ngày càng chính xác hơn, đáp ứng yêu cầu an ninh trong trường học.

2.1. Các phương pháp nhận diện khuôn mặt

Có nhiều phương pháp khác nhau để thực hiện nhận diện khuôn mặt, trong đó có thể kể đến các phương pháp dựa trên đặc trưng khuôn mặt và phương pháp tổng thể khuôn mặt. Các phương pháp này đều có ưu điểm và nhược điểm riêng. Việc lựa chọn phương pháp phù hợp sẽ ảnh hưởng lớn đến hiệu suất của hệ thống điểm danh. Các công nghệ như OpenCV và các thuật toán học sâu đã được áp dụng để cải thiện độ chính xác và tốc độ của quá trình nhận diện, từ đó nâng cao hiệu quả của hệ thống quản lý sinh viên.

III. Phân tích và xây dựng hệ thống điểm danh

Quá trình xây dựng hệ thống điểm danh sinh viên dựa trên nhận diện khuôn mặt bao gồm nhiều bước quan trọng. Đầu tiên, việc thu thập dữ liệu khuôn mặt của sinh viên là cần thiết để tạo ra một bộ dữ liệu phong phú cho việc huấn luyện mô hình. Sau đó, dữ liệu cần được xử lý và tiền xử lý để đảm bảo tính đồng nhất. Tiếp theo, mô hình nhận diện khuôn mặt sẽ được huấn luyện và tối ưu hóa để đạt được hiệu suất cao nhất. Cuối cùng, hệ thống sẽ được triển khai và đánh giá hiệu suất thông qua các thử nghiệm thực tế.

3.1. Kết quả thử nghiệm hệ thống

Kết quả thử nghiệm cho thấy hệ thống điểm danh tự động bằng nhận diện khuôn mặt đạt được độ chính xác cao trong việc nhận diện sinh viên. Các chỉ số như độ nhạy, độ đặc hiệu và thời gian xử lý đều được cải thiện đáng kể so với phương pháp điểm danh truyền thống. Hệ thống cũng cho phép quản lý dễ dàng thông qua giao diện trực quan, giúp giáo viên và sinh viên tương tác một cách thuận tiện. Những kết quả này chứng tỏ rằng việc áp dụng công nghệ nhận diện khuôn mặt vào giáo dục không chỉ khả thi mà còn mang lại nhiều lợi ích thiết thực.

IV. Kết luận và hướng phát triển

Việc xây dựng hệ thống điểm danh sinh viên dựa trên nhận diện khuôn mặt đã mở ra nhiều cơ hội mới trong việc ứng dụng công nghệ vào giáo dục. Hệ thống không chỉ giúp tiết kiệm thời gian và tăng cường độ chính xác mà còn tạo ra một môi trường học tập hiện đại. Trong tương lai, cần tiếp tục nghiên cứu và phát triển để cải thiện hơn nữa hiệu suất của hệ thống, đồng thời mở rộng ứng dụng của công nghệ nhận diện khuôn mặt vào các lĩnh vực khác như an ninh và quản lý. Điều này không chỉ nâng cao trải nghiệm học tập mà còn góp phần vào việc xây dựng một môi trường học tập an toàn và hiệu quả.

4.1. Hướng phát triển của hệ thống

Trong tương lai, hệ thống có thể được mở rộng để tích hợp thêm các tính năng như phân tích dữ liệu sinh viên, theo dõi sự tiến bộ học tập và cải thiện trải nghiệm học tập. Việc áp dụng công nghệ giáo dục hiện đại sẽ giúp tạo ra một môi trường học tập tích cực và hiệu quả hơn cho sinh viên. Đồng thời, việc nghiên cứu thêm về các phương pháp nhận diện khuôn mặt mới có thể giúp cải thiện độ chính xác và khả năng hoạt động trong các điều kiện khác nhau, từ đó nâng cao giá trị thực tiễn của hệ thống.

11/01/2025

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

Chương 1. Nghiên cứu tổng quan: Nội dung chương này nhằm mục đích tìm 5 hiểu các phương pháp nhận diện khuôn mặt hiện có, ưu nhược điểm của từng phương pháp. Phương pháp được lựa chọn và hướng tiếp cận của đề tài. - Cơ sở lý thuyết và phân tích thuật toán: Nội dung chương bao gồm: Tìm hiểu về OpenCV, thuật toán Face Regconition.

Phát biểu bài toán và Xây dựng hệ thống. Nội dung chương gồm các bước để xây dựng một chương trình điểm danh tự động bằng hình ảnh. - Cuối cùng là Kết luận và đưa ra hướng phát triển của đề tài trong tương lai. 6 CHƯƠNG 2: NGHIÊN CỨU TỔNG QUAN 2.1 Tìm hiểu về thị giác máy tính (AI computer vision) 2.1 Thị giác máy tính là gì? Thị giác máy tính là một lĩnh vực trí tuệ nhân tạo (AI) sử dụng máy học và mạng lưới thần kinh để dạy máy tính và hệ thống lấy thông tin có ý nghĩa từ hình ảnh, video kỹ thuật số và các đầu vào trực quan khác-đồng thời đưa ra đề xuất hoặc thực hiện hành động khi chúng thấy khiếm khuyết hoặc sự cố.

Hình ảnh mô phỏng về thị giác máy tính Nếu AI cho phép máy tính suy nghĩ thì thị giác máy tính cho phép chúng nhìn, quan sát và hiểu. Thị giác máy tính hoạt động giống như thị giác của con người, ngoại trừ việc con người có khởi đầu thuận lợi hơn. Thị giác của con người có lợi thế là có bối cảnh trong suốt cuộc đời để rèn luyện cách phân biệt các vật thể, khoảng cách của chúng, liệu chúng có đang chuyển động hay có điều gì đó không ổn với hình ảnh. Thị giác máy tính huấn luyện máy móc thực hiện các chức năng này, nhưng nó phải thực hiện việc đó trong thời gian ngắn hơn nhiều nhờ máy ảnh, dữ liệu và thuật 7 toán thay vì võng mạc, dây thần kinh thị giác và vỏ não thị giác.

Bởi vì một hệ thống được đào tạo để kiểm tra sản phẩm hoặc theo dõi tài sản sản xuất có thể phân tích hàng nghìn sản phẩm hoặc quy trình trong một phút, nhận thấy những khiếm khuyết hoặc vấn đề không thể nhận ra, nên nó có thể nhanh chóng vượt qua khả năng của con người. Thị giác máy tính được sử dụng trong các ngành công nghiệp từ năng lượng và tiện ích đến sản xuất và ô tô—và thị trường đang tiếp tục phát triển. Dự kiến đạt 48,6 tỷ USD vào năm 2022 2.2 Thị giác máy tính hoạt động như thế nào? Hình 2. Mô phỏng hoạt động của thị giác máy tính Thị giác máy tính cần rất nhiều dữ liệu.

Nó chạy đi phân tích dữ liệu nhiều lần cho đến khi phân biệt được sự khác biệt và cuối cùng nhận ra được hình ảnh. Ví dụ, để huấn luyện máy tính nhận dạng lốp ô tô, nó cần được cung cấp một lượng lớn hình ảnh lốp và các mục liên quan đến lốp để tìm hiểu sự khác biệt và nhận biết lốp, đặc biệt là lốp không có khuyết tật. Hai công nghệ thiết yếu được sử dụng để thực hiện điều này: một loại máy học được gọi là học sâu và mạng nơ-ron tích chập (CNN). 8 Học máy sử dụng các mô hình thuật toán cho phép máy tính tự dạy về bối cảnh của dữ liệu trực quan.

Nếu đủ dữ liệu được cung cấp qua mô hình, máy tính sẽ “nhìn” vào dữ liệu và tự dạy mình cách phân biệt hình ảnh này với hình ảnh khác. Các thuật toán cho phép máy tự học thay vì ai đó lập trình để nhận dạng hình ảnh. CNN giúp mô hình học máy hoặc học sâu “nhìn” bằng cách chia hình ảnh thành các pixel được gắn thẻ hoặc nhãn. Nó sử dụng các nhãn để thực hiện các phép tích chập (một phép toán trên hai hàm để tạo ra hàm thứ ba) và đưa ra dự đoán về những gì nó “nhìn thấy”.

Mạng lưới thần kinh chạy các phép tích chập và kiểm tra tính chính xác của các dự đoán của nó trong một loạt các lần lặp cho đến khi các dự đoán bắt đầu trở thành hiện thực. Sau đó nó nhận biết hoặc nhìn thấy hình ảnh theo cách tương tự như con người. Giống như con người tạo ra một hình ảnh từ xa, CNN trước tiên phân biệt các cạnh cứng và hình dạng đơn giản, sau đó điền thông tin khi chạy lặp lại các dự đoán của mình. CNN được sử dụng để hiểu các hình ảnh đơn lẻ.

Mạng thần kinh tái phát (RNN) được sử dụng theo cách tương tự cho các ứng dụng video để giúp máy tính hiểu các hình ảnh trong một loạt khung hình có liên quan với nhau như thế nào.3 Lịch sử của thị giác máy tính Các nhà khoa học và kỹ sư đã cố gắng phát triển các cách để máy móc có thể nhìn và hiểu dữ liệu hình ảnh trong khoảng 60 năm qua. Thí nghiệm bắt đầu vào năm 1959 khi các nhà sinh lý học thần kinh cho một con mèo xem một loạt hình ảnh, cố gắng tìm ra mối tương quan giữa phản ứng trong não của nó. Họ phát hiện ra rằng nó phản ứng đầu tiên với các cạnh hoặc đường nét cứng và về mặt khoa học, điều này có nghĩa là quá trình xử lý hình ảnh bắt đầu với các hình dạng đơn giản như các cạnh thẳng. Hệ thống máy tính quét ảnh thời kỳ trước Cùng lúc đó, công nghệ quét hình ảnh máy tính đầu tiên được phát triển, cho phép máy tính số hóa và thu được hình ảnh.

Một cột mốc quan trọng khác đã đạt được vào năm 1963 khi máy tính có thể chuyển đổi hình ảnh hai chiều thành dạng ba chiều. Vào những năm 1960, AI nổi lên như một lĩnh vực nghiên cứu học thuật và nó cũng đánh dấu sự khởi đầu của nhiệm vụ AI nhằm giải quyết vấn đề thị giác của con người. Năm 1974 chứng kiến sự ra đời của công nghệ nhận dạng ký tự quang học (OCR), có thể nhận dạng văn bản được in ở bất kỳ phông chữ hoặc kiểu chữ nào. Tương tự, nhận dạng ký tự thông minh (ICR) có thể giải mã văn bản viết tay sử dụng mạng lưới thần kinh.

Kể từ đó, OCR và ICR đã tìm được đường vào xử lý tài liệu và hóa đơn, nhận dạng biển số xe, thanh toán di động, chuyển đổi máy và các ứng dụng phổ biến khác. Năm 1982, nhà thần kinh học David Marr đã chứng minh rằng tầm nhìn hoạt động theo thứ bậc và giới thiệu các thuật toán cho máy móc để phát hiện các cạnh, góc, đường cong và các hình dạng cơ bản tương tự. Đồng thời, nhà khoa học máy tính Kunihiko Fukushima đã phát triển một mạng lưới tế bào có thể nhận dạng các mẫu. Mạng này được gọi là Neocognitron, bao gồm các lớp tích chập trong mạng lưới thần kinh.

Đến năm 2000, trọng tâm nghiên cứu là nhận dạng đối tượng; và đến năm 2001, 10 những ứng dụng nhận diện khuôn mặt theo thời gian thực đầu tiên xuất hiện. Tiêu chuẩn hóa cách gắn thẻ và chú thích các tập dữ liệu trực quan đã xuất hiện từ những năm 2000. Năm 2010, bộ dữ liệu ImageNet đã có sẵn. Nó chứa hàng triệu hình ảnh được gắn thẻ trên hàng nghìn lớp đối tượng và cung cấp nền tảng cho CNN cũng như các mô hình học sâu được sử dụng ngày nay.

Năm 2012, một nhóm từ Đại học Toronto đã đưa CNN tham gia một cuộc thi nhận dạng hình ảnh. Mô hình có tên AlexNet đã giảm đáng kể tỷ lệ lỗi khi nhận dạng hình ảnh. Sau bước đột phá này, tỷ lệ lỗi đã giảm xuống chỉ còn vài phần trăm.4 Ứng dụng thị giác máy tính Có rất nhiều nghiên cứu đang được thực hiện trong lĩnh vực thị giác máy tính nhưng không dừng lại ở đó. Các ứng dụng trong thế giới thực chứng minh tầm quan trọng của thị giác máy tính đối với những nỗ lực trong kinh doanh, giải trí, giao thông vận tải, chăm sóc sức khỏe và cuộc sống hàng ngày.

Ứng dụng của thị giác máy tính Động lực chính cho sự phát triển của các ứng dụng này là dòng thông tin hình ảnh tràn ngập từ điện thoại thông minh, hệ thống an ninh, camera giao thông và các thiết bị đo trực quan khác. Dữ liệu này có thể đóng một vai trò quan trọng trong hoạt động của nhiều ngành, nhưng ngày nay không được sử dụng. Thông tin tạo ra nền tảng thử nghiệm để huấn luyện các ứng dụng thị giác máy tính và là bệ phóng để chúng trở thành 11 một phần trong hàng loạt hoạt động của con người: - IBM đã sử dụng thị giác máy tính để tạo ra Những khoảnh khắc của tôi cho giải golf Masters 2018. IBM Watson® đã xem hàng trăm giờ các thước phim Masters và có thể xác định khung cảnh (và âm thanh) của những cảnh quay quan trọng.

Nó tuyển chọn những khoảnh khắc quan trọng này và cung cấp chúng cho người hâm mộ dưới dạng cuộn phim nổi bật được cá nhân hóa. - Google Dịch cho phép người dùng hướng camera của điện thoại thông minh vào một biển hiệu bằng ngôn ngữ khác và gần như ngay lập tức nhận được bản dịch của biển hiệu đó sang ngôn ngữ ưa thích của họ. - Sự phát triển của phương tiện tự lái dựa vào thị giác máy tính để hiểu được đầu vào hình ảnh từ camera của ô tô và các cảm biến khác. Điều cần thiết là phải xác định các ô tô khác, biển báo giao thông, vạch kẻ đường, người đi bộ, xe đạp và tất cả thông tin trực quan khác gặp trên đường.

- IBM đang áp dụng công nghệ thị giác máy tính với các đối tác như Verizon để đưa AI thông minh lên đỉnh cao và giúp các nhà sản xuất ô tô xác định các khiếm khuyết về chất lượng trước khi xe rời khỏi nhà máy.5 Ví dụ về thị giác máy tính Nhiều tổ chức không có đủ nguồn lực để tài trợ cho các phòng thí nghiệm thị giác máy tính và tạo ra các mô hình học sâu và mạng lưới thần kinh. Họ cũng có thể thiếu khả năng tính toán cần thiết để xử lý các bộ dữ liệu trực quan khổng lồ. Các công ty như IBM đang trợ giúp bằng cách cung cấp các dịch vụ phát triển phần mềm thị giác máy tính. Các dịch vụ này cung cấp các mô hình học tập được xây dựng sẵn từ đám mây— và cũng giúp giảm bớt nhu cầu về tài nguyên máy tính.

Người dùng kết nối với các dịch vụ thông qua giao diện lập trình ứng dụng (API) và sử dụng chúng để phát triển các ứng dụng thị giác máy tính. Ví dụ về quá trình xử ly của một hệ thống thị giác máy tính Hình 6.

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

Bài viết "Khóa luận tốt nghiệp: Xây dựng hệ thống điểm danh sinh viên dựa trên công nghệ nhận diện khuôn mặt" của tác giả Đinh Long Nhật, dưới sự hướng dẫn của PGS.TS Lê Đắc Nhường tại Trường Đại Học Hải Phòng, trình bày một hệ thống hiện đại nhằm cải thiện quy trình điểm danh sinh viên thông qua công nghệ nhận diện khuôn mặt. Hệ thống này không chỉ tiết kiệm thời gian mà còn tăng tính chính xác và hiệu quả trong việc quản lý thông tin sinh viên. Đặc biệt, nó giúp giảm thiểu tình trạng gian lận trong điểm danh, đồng thời cung cấp một giải pháp công nghệ cao cho các cơ sở giáo dục.

Nếu bạn quan tâm đến các chủ đề liên quan đến công nghệ thông tin và ứng dụng trong giáo dục, hãy tham khảo thêm các bài viết sau: Ứng Dụng Thuật Toán Nhận Dạng Trong Điểm Danh Học Sinh, nơi khám phá ứng dụng của thuật toán nhận dạng trong việc điểm danh học sinh, và Vận Dụng Thuật Toán Nhận Dạng Ảnh Để Điểm Danh Học Sinh Trong Lớp Học, một nghiên cứu khác về nhận diện ảnh trong giáo dục. Những bài viết này sẽ giúp bạn mở rộng kiến thức về công nghệ thông tin trong lĩnh vực giáo dục.