Đồ Án Điểm Danh Sinh Viên Bằng Nhận Diện Gương Mặt

Đồ án điểm danh sinh viên bằng nhận diện gương mặt giúp nâng cao hiệu quả quản lý và tiết kiệm thời gian trong quá trình điểm danh.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ Án

2023

74
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỞ ĐẦU

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

1.1. Tổng quan về hệ thống

1.2. Ngôn ngữ lập trình Python

1.3. Các thư viện mã nguồn mở

1.4. Bài toán nhận đạng khuôn mặt

1.4.1. Tìm khuôn mặt

1.4.2. Vị trí của khuôn mặt

1.4.3. Xác định đặc trưng của gương mặt

1.4.4. Nhận diện gương mặt

2. CHƯƠNG 2: THIẾT KẾ HỆ THỐNG ĐIỂM DANH SINH VIÊN BẰNG NHẬN DIỆN GƯƠNG MẶT

2.1. Mục đích và yêu cầu

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

2.2.1. Các tác nhân của hệ thống

2.2.2. Biểu đồ usecase đăng nhập

2.2.3. Biểu đồ use case thông tin sinh viên

2.2.4. Biểu đồ use case thông tin giáo viên

2.2.5. Biểu đồ use case thông tin lớp học

2.2.6. Biểu đồ use case điểm danh sinh viên bằng nhận diện gương mặt

2.2.7. Biểu đồ use case xem danh sách điểm danh

2.3. Thiết kế cơ sở dữ liệu

2.3.1. Cơ sở dữ liệu “SinhVien”

2.3.2. Cơ sở dữ liệu “GiaoVien”

2.3.3. Cơ sở dữ liệu “Khoa”

2.3.4. Cơ sở dữ liệu “MonHoc”

2.3.5. Cơ sở dữ liệu “LopHoc”

2.3.6. Cơ sở dữ liệu “DiemDanh”

2.4. Thiết kế giao diện

2.4.1. Phác thảo giao diện “Đăng nhập”

2.4.2. Phác thảo giao diện “Sinh viên”

2.4.3. Phác thảo giao diện “Giáo viên”

2.4.4. Phác thảo giao diện “Lớp học”

2.4.5. Phác thảo giao diện “Điểm danh sinh viên”

2.4.6. Phác thảo giao diện “Danh sách điểm danh”

3. CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC

3.1. Giao diện chương trình

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

3.1.2. Giao diện chính của hệ thống

3.1.3. Giao diện “Thông tin sinh viên”

3.1.4. Giao diện “Thông tin giáo viên”

3.1.5. Giao diện “Thông tin lớp học”

3.1.6. Giao diện “Điểm danh sinh viên”

3.1.7. Giao diện “Danh sách điểm danh sinh viên”

3.2. Kiểm thử chức năng

3.2.1. Kiểm thử chức năng đăng nhập

3.2.2. Kiểm thử chức năng điểm danh sinh viên

3.2.3. Kiểm thử chức năng Lớp học

3.2.4. Kiểm thử chức năng Danh sách điểm danh

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

DANH MỤC CÁC KÝ HIỆU

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH ẢNH

Tóm tắt

I. Tổng quan về đồ án điểm danh sinh viên bằng nhận diện gương mặt

Đồ án "Hệ thống điểm danh sinh viên bằng nhận diện gương mặt" là một dự án nghiên cứu ứng dụng công nghệ hiện đại trong giáo dục. Mục tiêu chính là phát triển một hệ thống tự động giúp điểm danh sinh viên một cách nhanh chóng và chính xác. Hệ thống này sử dụng công nghệ nhận diện gương mặt để xác thực danh tính sinh viên, từ đó giảm thiểu thời gian và công sức cho việc điểm danh truyền thống.

1.1. Lý do chọn đề tài điểm danh sinh viên

Việc lựa chọn đề tài này nhằm ứng dụng công nghệ AI vào môi trường học đường, giúp tăng cường tính xác thực và minh bạch trong quá trình điểm danh. Hệ thống này không chỉ tiết kiệm thời gian mà còn giảm thiểu các sai sót trong việc ghi danh.

1.2. Nội dung nghiên cứu và phát triển

Nội dung nghiên cứu bao gồm việc tìm hiểu các thư viện mã nguồn mở như OpenCV và face_recognition, cũng như các phương pháp nhận diện khuôn mặt. Dự án sẽ xây dựng một giao diện người dùng thân thiện và dễ sử dụng cho sinh viên và giảng viên.

II. Vấn đề và thách thức trong hệ thống điểm danh sinh viên

Hệ thống điểm danh sinh viên bằng nhận diện gương mặt gặp phải nhiều thách thức trong quá trình triển khai. Các vấn đề như độ chính xác của thuật toán, điều kiện ánh sáng và góc chụp ảnh đều ảnh hưởng đến hiệu quả của hệ thống. Việc phát hiện và nhận diện khuôn mặt trong môi trường thực tế là một bài toán phức tạp.

2.1. Độ chính xác của công nghệ nhận diện

Độ chính xác của công nghệ nhận diện khuôn mặt phụ thuộc vào nhiều yếu tố như chất lượng hình ảnh, độ phân giải và điều kiện ánh sáng. Các nghiên cứu cho thấy rằng công nghệ hiện tại có thể đạt độ chính xác lên đến 93% trong điều kiện lý tưởng.

2.2. Thách thức về bảo mật thông tin sinh viên

Bảo mật thông tin sinh viên là một vấn đề quan trọng trong hệ thống. Cần có các biện pháp bảo vệ dữ liệu cá nhân để đảm bảo rằng thông tin không bị rò rỉ hoặc lạm dụng.

III. Phương pháp thiết kế hệ thống điểm danh tự động

Hệ thống điểm danh sinh viên được thiết kế dựa trên các phương pháp nhận diện khuôn mặt hiện đại. Sử dụng các thư viện như OpenCV và face_recognition, hệ thống sẽ thực hiện các bước từ phát hiện khuôn mặt đến xác thực danh tính. Các thuật toán học máy sẽ được áp dụng để cải thiện độ chính xác và tốc độ nhận diện.

3.1. Thiết kế giao diện người dùng

Giao diện người dùng được thiết kế đơn giản và dễ sử dụng, giúp sinh viên và giảng viên dễ dàng tương tác với hệ thống. Các chức năng như đăng nhập, điểm danh và xem danh sách điểm danh được tích hợp một cách hợp lý.

3.2. Xây dựng cơ sở dữ liệu cho hệ thống

Cơ sở dữ liệu sẽ lưu trữ thông tin sinh viên, hình ảnh khuôn mặt và lịch sử điểm danh. MongoDB sẽ được sử dụng để quản lý dữ liệu một cách hiệu quả và an toàn.

IV. Ứng dụng thực tiễn của hệ thống điểm danh sinh viên

Hệ thống điểm danh sinh viên bằng nhận diện gương mặt có nhiều ứng dụng thực tiễn trong giáo dục. Nó không chỉ giúp tiết kiệm thời gian mà còn nâng cao tính chính xác trong việc quản lý sinh viên. Hệ thống có thể được áp dụng trong các trường học, đại học và các tổ chức giáo dục khác.

4.1. Kết quả nghiên cứu và thử nghiệm

Kết quả thử nghiệm cho thấy hệ thống có thể điểm danh chính xác trong thời gian ngắn. Các thử nghiệm thực tế đã chứng minh tính khả thi và hiệu quả của hệ thống trong môi trường học đường.

4.2. Tương lai của công nghệ nhận diện gương mặt trong giáo dục

Công nghệ nhận diện gương mặt sẽ tiếp tục phát triển và có thể được tích hợp vào nhiều lĩnh vực khác nhau trong giáo dục, từ quản lý sinh viên đến bảo mật thông tin.

V. Kết luận và hướng phát triển của đồ án

Đồ án "Hệ thống điểm danh sinh viên bằng nhận diện gương mặt" đã đạt được những kết quả khả quan. Tuy nhiên, vẫn còn nhiều thách thức cần phải vượt qua để hoàn thiện hệ thống. Hướng phát triển trong tương lai sẽ tập trung vào việc cải thiện độ chính xác và bảo mật thông tin.

5.1. Kết quả đạt được và chưa đạt được

Hệ thống đã hoàn thành các chức năng cơ bản và hoạt động ổn định. Tuy nhiên, cần cải thiện thêm về độ chính xác trong các điều kiện thực tế.

5.2. Định hướng phát triển trong tương lai

Trong tương lai, hệ thống sẽ được nâng cấp với các công nghệ mới và cải tiến thuật toán để nâng cao hiệu quả và bảo mật thông tin sinh viên.

11/07/2025
Đồ án điểm danh sinh viên bằng nhận diện gương mặt

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

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Trong chương này sẽ tập trung nghiên cứu tìm hiểu về ngôn ngữ lập trình Python, các kĩ thuật nhận diện cùng với sự hỗ trợ của thư viện Opencv 1.1 Tổng quan về hệ thống Hệ thống điểm danh bằng nhận diện khuôn mặt thường được tích hợp trong hệ thống quản lí giáo dục, doanh nghiệp để cung cấp giải pháp tự động và hiệu quả cho việc điểm danh và quản lí hiện vật. Công nghệ nhận diện khuôn mặt đã và đang được phát triển liên tục để cải thiện độ chính xác, tốc độ và tiện ích. Những công nghệ hiện đại cũng đã cho phép xác thực hay nhận dạng một cá nhân dựa vào các đặc trưng sinh lí học của con người như đặc điểm vân tay, gương mặt,… hoặc dựa trên những đặc điểm liên quan đến nhận diện khuôn mặt là một trong số ít các phương pháp nhận dạng dựa vào đặc trưng sinh lý cho kết quả chính xác cao và thuận tiện sử dụng. Các chương trình về nhận dạng có nhiều ứng dụng chẳng hạn như nhận dạng tội phạm, kiểm soát truy cập các hệ thống máy tính, giải pháp bảo mật bổ sung cho các giao dịch rút tiền tự động ATM, đối chiếu ảnh trong các hoạt động của ngành luật pháp, hay các ứng dụng giao tiếp người – máy, hoặc quản lý nhân sự, chấm công trong một đơn vị.2 Ngôn ngữ lập trình Python Python là ngôn ngữ lập trình hướng đối tượng bậc cao, dùng để phát triển website và nhiều ứng dụng khác nhau.

Hiện nay, python đang được sử dụng rất rộng rãi trong các ứng dụng về trí tuệ nhân tạo, học máy, học sâu. Python được tạo ra bởi Guido và Rossum và được phát triển trong một dự án mã nguồn mở. 6 Với cú pháp cực kì đơn giản và dễ hiểu, dễ sử dụng, Python là sự lựa chọn hoàn hảo cho những ai lần đầu tiên học lập trình. Tuy nhiên, đây cũng là ngôn ngữ nổi tiếng về sự chặt chẽ, nhanh, mạnh và có mặt ở mọi hệ điều hành.

Python có 100 thư viện xây dựng sẵn để thực hiện các thuật toán Machine Learning và Deep Learning khác nhau. Hơn nữa, Python có thể chạy trên nhiều nền tảng bao gồm Windows, MacOS, Linux,. Python có một cộng đồng lớn và tích cực, là nguồn hỗ trợ quan trọng khi gặp vấn đề về mã hóa. Python là ngôn ngữ được lựa chọn cho việc triển khai trí tuệ nhân tạo với nhiều thuật toán sẵn có.

Hỗ trợ cho các gói xác định trước giảm độ phức tạp lập trình và “kiểm tra khi code” giúp giảm số lượng mã viết.3 Các thư viện mã nguồn mở Mục này sẽ giới thiệu về các thư viện mã nguồn mở được sử dụng trong đề tài: Thư viện OpenCV: OpenCV viết tắt của Open Source Computer Vision được xem là một trong những thư viện mã nguồn mở hàng đầu cho việc xử lý ảnh theo thời gian thực. OpenCV chính thức được ra mắt đầu tiên vào năm 1999, OpenCV là thư viện mã nguồn mở miễn phí cho cả học thuật và thương mại. Thư viện có hơn 2500 thuật toán được tối ưu hóa. OpenCV hỗ trợ đa nền tảng gồm Windows, Linux, Mac OS, iOS và Android.

OpenCV hỗ trợ ngôn ngữ lập trình C/C++, Python và Java. OpenCV được viết bằng C / C ++ và tích hợp OpenCL. Thư viện OpenCV Dlib: 7 Dlib là một công cụ C++ hiện đại với các thuật toán học máy và công cụ để phát triển phần mềm phức tạp trong C++ , đặc biệt hữu ích trong nhiều lĩnh vực như robot, thiết bị nhúng, điện thoại di động và môi trường máy tính hiệu suất cao. Bản quyền mã nguồn mở giúp người dùng sử dụng miễn phí.

Dlib là một phần của thư viện OpenCV, chủ yếu được sử dụng cho việc xác định khuôn mặt bằng thuật toán HOG ( Histogram of Oriented Gradients) và SVM( Support Vector Machine), với khả năng chạy nhanh và ứng dụng trong thời gian thực. Dlib cũng hỗ trợ các hàm xác định khuôn mặt dựa trên mạng CNN( Convolutional Neural Network). Thư viện Face-recognition: Thư viện face-recognition là một thư viện dùng để nhận diện khuôn mặt bằng ngôn ngữ lập trình Python. Face-recognition sử dụng thư viện dlib, một thư viện xử lí hình ảnh và học máy, để phát hiện và xác định các đặc trưng của khuôn mặt, so sánh và nhận dạng các khuôn mặt khác nhau, huấn luyện các mô hình nhận dạng riêng.

Với nhiều ưu điểm như độ chính xác cao và tốc độ nhanh, dễ cài đặt và sử dụng, không giới hạn số lượng khuôn mặt cần nhận diện, hỗ trợ nhiều loại hình ảnh và video, có nhiều ví dụ và tài liệu hướng dẫn. Do đó được sử dụng nhiều cho các ứng dụng như chấm công nhân viên, khóa màn hình bằng khuôn mặt, tạo bộ lọc và hiệu ứng cho khuôn mặt, phân tích cảm xúc và biểu cảm khuôn mặt, ước lượng được tuổi và giới tính.1 Ví dụ sau khi sử dụng thư viện face-recognition Face Recognition Documentation - Adam Geitgey 1.4 Bài toán nhận đạng khuôn mặt Những vấn đề sau đây cần được giải quyết trước khi đưa ra một thuật toán cho hệ thống điểm danh. - Tìm khuôn mặt – không nhận diện được khuôn mặt bất kể đầu vào là video từ máy quay hay một video từ đoạn phim truyền hình hoặc bất kỳ video nào - Vị trí của khuôn mặt – Trong các trường hợp thử nghiệm thực tế, nh chủ yếu thấy rằng khuôn mặt thường bị xoay hoặc không đúng vị trí tức là về phía máy ảnh. Mục tiêu chính của thời điểm này sẽ biến bức ảnh thành như vậy chụp trực tiếp đối diện với máy ảnh.

- Xác định các nét đặc trưng trên khuôn mặt – bước này có thể được coi là bước chính trong nhận dạng khuôn mặt nơi có những nét độc đáo trên khuôn mặt được thu thập và lưu trữ dưới dạng có giá trị kỹ thuật số. 9 - Nhận dạng người – dữ liệu nhận được từ video đầu vào được so sánh muộn hơn với dữ liệu có sẵn, nếu cả hai dữ liệu đều giống nhau, chúng tôi sẽ điểm danh.1 Tìm khuôn mặt Bước đầu tiên để phát triển một loại hệ thống điểm danh như vậy bước chính sẽ là xác định một khuôn mặt từ khung hình nhất định của video. Nếu bất kỳ khuôn mặt nào vẫn không bị phát hiện hoặc bất kỳ vật thể nào khác được coi như hệ thống nhóm đang phát triển vẫn không tốt và kết quả sẽ được tạo ra sẽ là không đạt yêu cầu. Vì vậy, để khắc phục vấn đề này người ta sử dụng một trong các thuật toán phổ biến nhất để tìm khuôn mặt trong ảnh được phát minh vào năm 2005 bởi Navneet Dalal và Bill Triggs, Thuật toán hoạt động trên các bước sau đây: - Để tìm khuôn mặt trong một hình ảnh, chúng ta sẽ bắt đầu bằng cách tạo hình ảnh của mình đen trắng vì chúng ta không cần dữ liệu màu để tìm khuôn mặt: Hình 1.2 Ảnh của Will Ferrel Face Recognition Documentation - Adam Geitgey + Mục tiêu của chúng ta sẽ xem xét từng pixel và xem xét pixel xung quanh của chúng và vẽ mũi tên về phía pixel tối hơn.

Các quá trình tương tự được tiếp tục cho tất cả các pixel. Cuối cùng, chúng ta đi đến tình huống 10 trong đó tất cả các pixel đều được thay thế bằng mũi tên. Những mũi tên này được gọi là gradient và chúng hiển thị luồng ánh sáng trong khung.3 Phiên bản pixel của hình 1 hiển thị hướng chuyển màu Face Recognition Documentation - Adam Geitgey + Chia hình ảnh thành các hình vuông có kích thước 16 x16 pixel và mỗi khối được thay thế bằng hướng mũi tên lớn nhất trong khối đã cho. Kết quả cuối cùng sẽ rất đơn gian biểu diễn của khuôn mặt được chụp trong khung.

+ Sau đó, hình ảnh được so sánh với mẫu HOG (Histogram of Oriented Gradients) được trích xuất từ một loạt các khuôn mặt huấn luyện, mẫu phổ biến nhất có mẫu đã biết và được đánh dấu. Cái này sẽ giúp đánh dấu các khuôn mặt trong khung hình thu được từ video làm đầu vào.4 Hình ảnh dựa trên HOG được so sánh với HOG được tạo ra từ rất nhiều hình ảnh khuôn mặt Face Recognition Documentation - Adam Geitgey 1.2 Vị trí của khuôn mặt Ý tưởng cơ bản là chúng ta sẽ đưa ra 68 điểm cụ thể (được gọi là điểm mốc) tồn tại trên mọi mặt - phần trên cùng của cằm, mép ngoài của mỗi mắt, 11 mép trong của mỗi mắt lông mày, v. Sau đó, chúng ta sẽ đào tạo một thuật toán học máy để có thể tìm ra 68 điểm cụ thể này trên bất kỳ khuôn mặt nào.5 68 điểm mốc chúng ta sẽ xác định trên mỗi khuôn mặt. Hình ảnh này được tạo ra bởi Brandon Amos của CMU, người làm việc trên Openface.

Bây giờ chúng ta đã biết vị trí của miệng và mắt, chúng ta sẽ xoay, chia tỷ lệ, cắt hình ảnh sao cho mắt và miệng ở giữa càng nhiều càng tốt. Bằng cách thực hiện căn giữa khuôn mặt, nó sẽ giúp chúng ta rất nhiều trong bước tiếp theo. làm cho nó chính xác và hiệu quả hơn.3 Xác định đặc trưng của gương mặt Để giải quyết vấn đề này, chúng ta có thể sử dụng một DCNN (Deep Convolutional Neural Networks), sẽ được đào tạo để xác định 128 số duy nhất đặc điểm khuôn mặt. Quá trình đào tạo diễn ra theo các bước dưới đây: • Tải hình ảnh khuôn mặt đào tạo của một người đã biết • Tải một hình ảnh khác của cùng một người • Tải ảnh của một người khác 12 DCNN sẽ điều chỉnh kết quả thu được từ hình ảnh 1 và 2 sao cho 128 đặc điểm thu được giống nhau nhất có thể và hình ảnh đó được tải ở bước thứ 3 càng khác càng tốt.4 Nhận diện gương mặt So sánh các khuôn mặt với các khuôn mặt có sẵn, tức là có 128 tính năng có sẵn thu được ở bước trước sẽ được so sánh với dữ liệu chúng ta có, nếu dữ liệu khớp nhau, nhóm sẽ nhập thời gian vào hệ thống với tên của người sẽ giúp nhóm đã tạo ra Hệ thống điêm danh.

13 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG ĐIỂM DANH SINH VIÊN BẰNG NHẬN DIỆN GƯƠNG MẶT 2.1 Mục đích và yêu cầu 2.1 Mục đích Mục đích của đồ án “Hệ thống điểm danh sinh viên bằng nhận diện gương mặt” là tận dụng công nghệ nhận diện tương mặt để tạo ra một giải pháp hiệu quả và tiện lợi trong việc quản lý và kiểm soát quá trình điểm danh sinh viên. Đồng thời, đây cũng là một phần của sự đổi mới trong lĩnh vực công nghệ và quản lý, nhằm nâng cao trải nghiệm và tối ưu hóa quá trình quản lý sinh viên.

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

Tài liệu này cung cấp cái nhìn tổng quan về hệ thống nhận diện khuôn mặt, một công nghệ đang ngày càng trở nên phổ biến trong nhiều lĩnh vực như an ninh, thanh toán và quản lý truy cập. Nó nhấn mạnh các phương pháp và công nghệ hiện đại được sử dụng để xác thực danh tính người dùng thông qua khuôn mặt, đồng thời chỉ ra những lợi ích mà hệ thống này mang lại, như tăng cường bảo mật và cải thiện trải nghiệm người dùng.

Để tìm hiểu sâu hơn về chủ đề này, bạn có thể tham khảo tài liệu Khóa luận tốt nghiệp kỹ thuật máy tính tích hợp tính toán biên và máy chủ cho hệ thống nhận diện khuôn mặt đa xác thực. Tài liệu này sẽ giúp bạn mở rộng kiến thức về cách tích hợp các công nghệ tính toán biên và máy chủ vào hệ thống nhận diện khuôn mặt, từ đó nâng cao hiệu quả và độ chính xác của quá trình xác thực.