Bối cảnh và vấn đề nghiên cứu
Trong công tác quản lý đào tạo tại các cơ sở giáo dục, hoạt động điểm danh sinh viên đóng vai trò quan trọng nhằm theo dõi mức độ chuyên cần và ý thức học tập. Theo thực tế được tác giả trình bày trong đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, các phương thức điểm danh truyền thống dựa trên gọi tên thủ công, ký tên vào danh sách giấy hoặc kiểm soát tại cổng ra vào bởi nhân viên bảo vệ bộc lộ nhiều điểm hạn chế. Những phương pháp này tiêu tốn thời gian giảng dạy trên lớp, dễ phát sinh sai sót, gian lận điểm danh hộ và tạo áp lực quản lý lớn khi số lượng sinh viên trong các lớp học phần ngày càng đông. Trước bối cảnh Cách mạng Công nghiệp 4.0 và sự phát triển của công nghệ thị giác máy tính, việc xây dựng một hệ thống điểm danh tự động có khả năng nhận diện danh tính sinh viên một cách nhanh chóng và chính xác là một nhu cầu thực tế cần được giải quyết.
Mục tiêu nghiên cứu của đề tài được tác giả xác định cụ thể gồm ba nhiệm vụ:
- Nghiên cứu và ứng dụng thị giác máy tính trong nhận diện khuôn mặt, khai thác thư viện OpenCV để phát hiện và nhận diện khuôn mặt sinh viên, xây dựng quy trình thu thập, lưu trữ ảnh và huấn luyện mô hình nhận diện cục bộ.
- Thiết kế và thi công hệ thống điểm danh tự động: tích hợp phần cứng máy tính nhúng với camera và màn hình hiển thị; tự động ghi nhận dữ liệu điểm danh sinh viên vào cơ sở dữ liệu MySQL; xây dựng giao diện tương tác cho phép cập nhật thông tin môn học, giảng viên và thời gian học.
- Cung cấp giải pháp lưu trữ và truy xuất dữ liệu: kết xuất kết quả điểm danh sang định dạng bảng tính Excel (
FaceId_Data.xlsx), hỗ trợ công tác quản lý và báo cáo chuyên cần một cách thuận tiện.
Đối tượng và phạm vi nghiên cứu của đồ án:
- Đối tượng nghiên cứu: Sinh viên tham gia các buổi học trực tiếp.
- Phạm vi nghiên cứu: Đánh giá độ chính xác nhận diện của hệ thống trong điều kiện thực nghiệm bao gồm điều kiện ánh sáng bình thường, điều kiện thiếu ánh sáng, các góc nghiêng khuôn mặt khác nhau (nhìn thẳng, quay trái, quay phải, ngước lên) và biểu cảm người dùng; đồng thời giới hạn cự ly nhận diện hiệu quả trong khoảng 0,8 m đến 1,0 m với quy trình điểm danh đơn lẻ (mỗi lần xử lý một người). Hệ thống chưa hỗ trợ nhận diện khi đối tượng đeo khẩu trang hoặc mang kính.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của đề tài tập trung vào cấu trúc chuẩn của một hệ thống nhận dạng khuôn mặt hai chiều qua ba giai đoạn kế tiếp: phát hiện khuôn mặt (face detection), trích xuất đặc trưng (feature extraction) và phân loại/nhận dạng (face recognition).
Trong giai đoạn phát hiện khuôn mặt, tác giả áp dụng phương pháp Haar-like kết hợp bộ phân loại tầng do Paul Viola và Michael J. Jones phát triển. Phương pháp này phân tích hình thái học dựa trên ảnh thang độ xám thông qua việc tính toán giá trị chênh lệch tổng cường độ sáng giữa các vùng hình chữ nhật liền kề nhờ cấu trúc ảnh tích phân (Integral Image). Mỗi bộ phân loại yếu $h_k(x)$ được biểu diễn dưới dạng:
$$h_k(x) = \begin{cases} 1 & \text{nếu } p_k f_k(x) < p_k \theta_k \ 0 & \text{ngược lại} \end{cases}$$
Trong đó $x$ là cửa sổ con khảo sát, $\theta_k$ là ngưỡng phân loại, $f_k(x)$ là giá trị đặc trưng Haar-like và $p_k$ là hệ số định hướng bất phương trình. Thuật toán AdaBoost (Freund & Schapire, 1995) được sử dụng để chọn lọc các đặc trưng quan trọng từ tập hàng chục nghìn đặc trưng ban đầu, gán trọng số thích nghi cho từng mẫu huấn luyện và kết hợp chuỗi phân loại tầng (Cascade of classifiers) nhằm loại bỏ nhanh các vùng không chứa khuôn mặt, giảm thiểu chi phí tính toán.
Ở giai đoạn trích xuất đặc trưng và nhận dạng, đồ án ứng dụng thuật toán Local Binary Pattern (LBP) do Ojala đề xuất (1996, hoàn thiện năm 2002). LBP mô tả cấu trúc kết cấu cục bộ bằng cách so sánh mức xám của từng điểm ảnh trung tâm $g_c$ với $P$ điểm ảnh lân cận $g_p$ phân bố đều trên đường tròn bán kính $R$:
$$T \approx t(s(g_0 - g_c), \dots, s(g_{P-1} - g_c))$$
Với hàm dấu $s(z)$ nhận giá trị 1 khi $z \ge 0$ và nhận giá trị 0 khi $z < 0$. Dãy nhị phân được gán trọng số $2^p$ để chuyển đổi thành một mã số nguyên đại diện duy nhất. Tác giả sử dụng biến thể mẫu đồng dạng (Uniform LBP) với tối đa 2 lần chuyển đổi bit (0 sang 1 hoặc 1 sang 0), tạo ra $P(P - 1) + 3$ nhãn (tương ứng 59 nhãn đặc trưng đối với lân cận $P = 8$). Thuật toán biểu đồ tần suất mẫu nhị phân cục bộ (LBPH - Local Binary Patterns Histograms) của OpenCV được dùng để so khớp độ tương đồng của khuôn mặt thực tế với tập dữ liệu mẫu.
Phương pháp nghiên cứu thực nghiệm được tác giả thực hiện theo quy trình 5 bước: tìm hiểu tài liệu học thuật; phân tích lựa chọn mô hình thuật toán; thu thập dữ liệu ảnh thực tế từ sinh viên; huấn luyện và phân tích tham số mô hình; kiểm thử, đánh giá độ chính xác và tính ổn định trên mô hình phần cứng thực tế.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc nhúng khép kín, tích hợp giữa phần cứng xử lý tại biên và phần mềm điều khiển giao diện người dùng.
Kiến trúc phần cứng
Phần cứng của hệ thống bao gồm ba khối chức năng chính:
- Khối xử lý trung tâm: Sử dụng bo mạch Raspberry Pi 3 Model B trang bị vi xử lý lõi tứ 64-bit, xung nhịp từ 0,4 GHz, bộ nhớ RAM từ 256 MB đến 1 GB, tích hợp GPU, 4 cổng USB, giao tiếp mạng Ethernet, Wi-Fi, Bluetooth và hệ thống chân mở rộng GPIO, vận hành trên hệ điều hành Raspbian (Linux) với nguồn điện nuôi 5V.
- Khối hiển thị và giao tiếp người dùng: Màn hình cảm ứng điện trở 3,5 inch, độ phân giải 480x320 pixel, gắn trực tiếp qua chân cắm GPIO của Raspberry Pi. Màn hình sử dụng giao tiếp SPI và các chân tín hiệu điều khiển chuyên dụng: chân cấp nguồn 3,3V (chân 1, 17), nguồn 5V (chân 24), chân nối đất GND (chân 6, 9, 14, 20, 25), chân ngắt cảm ứng
TP_IRQ (chân 11), chân chọn thanh ghi LCD_RS (chân 18), đường truyền dữ liệu SPI gồm LCD_SI/TP_SI (chân 19), TP_SO (chân 21), LCD_SCK/TP_SCK (chân 23), chọn chip LCD_CS (chân 24), TP_CS (chân 26) và chân thiết lập lại RST (chân 22).
- Khối thu nhận hình ảnh: Webcam Microdia chuẩn giao tiếp USB, độ phân giải hỗ trợ từ 720p đến 1080p, chiều dài cáp kết nối 150 cm, kết nối trực tiếp với Raspberry Pi mà không cần cài đặt thêm trình điều khiển bổ sung.
Thiết kế phần mềm và quy trình hoạt động
Phần mềm hệ thống được lập trình bằng ngôn ngữ Python, kết hợp thư viện giao diện đồ họa Tkinter, thư viện xử lý ảnh OpenCV và hệ quản trị cơ sở dữ liệu quan hệ MySQL. Quy trình vận hành gồm ba mô-đun chính:
-
Thu thập dữ liệu khuôn mặt (Nút "Lấy Dữ Liệu"):
Người dùng khởi chạy giao diện GUI "GET DATA" thông qua hàm capture_images() và nhập thông tin gồm Mã số sinh viên (MSSV) và Họ tên. Hàm insertOrUpdate() kiểm tra và cập nhật hoặc tạo mới bản ghi người dùng trong cơ sở dữ liệu MySQL. Khi nhấn nút "OK", camera kích hoạt và đọc tệp cấu hình haarcascade_frontalface_default.xml. Hệ thống hiển thị các dòng thông báo chỉ dẫn trên màn hình: "HAY NHIN THANG VAO CAMERA", "HAY QUAY SANG PHAI", "HAY QUAY SANG TRAI" và "HAY NGUOC LEN TREN". Khi phát hiện khuôn mặt, ảnh được chuyển sang ảnh xám, cắt vùng khuôn mặt và lưu vào thư mục data_face dưới định dạng JPEG theo cú pháp User.<ID>.<sample_number>.jpg cho đến khi thu thập đủ 200 ảnh mẫu cho mỗi đối tượng.
-
Tiền xử lý và huấn luyện mô hình (Nút "Xử Lý Dữ Liệu"):
Khi kích hoạt chức năng, hàm TrainData() gọi phương thức cv2.face.LBPHFaceRecognizer_create() để khởi tạo bộ phân loại LBPH. Hàm phụ trợ getImagesWithID() duyệt thư mục data_face, đọc các ảnh mẫu, chuyển sang ảnh xám, trích xuất ID người dùng từ tên tệp và chuyển đổi dữ liệu thành các mảng NumPy. Danh sách các ID đã xử lý được quản lý qua hai hàm load_processed_ids và save_processed_ids. Mô hình thực hiện trích xuất đặc trưng LBP và huấn luyện trên tập ảnh (quy mô kiểm thử đạt mốc 1.000 ảnh xử lý). Sau khi huấn luyện hoàn tất, cấu trúc ma trận trọng số được xuất ra tệp dữ liệu trainningData.yml đặt tại thư mục trainer.
-
Điểm danh nhận diện thời gian thực (Nút "Điểm Danh"):
Hàm AttendentData() tải tệp mô hình trainningData.yml và kết nối với cơ sở dữ liệu MySQL. Camera thu nhận luồng video liên tục; bộ dò Haar-like khoanh vùng khuôn mặt và đưa vào bộ phân loại LBPH để tính toán ID cùng giá trị độ đo khoảng cách (độ tin cậy - confidence). Hệ thống thiết lập quy tắc phân loại dựa trên ngưỡng tin cậy 60%:
- Nếu giá trị độ đo < 60%: Khuôn mặt được xác nhận hợp lệ. Hệ thống truy vấn CSDL lấy Họ tên sinh viên, hiển thị thông tin nhận dạng trực tiếp trên màn hình và tự động lưu bản ghi điểm danh vào tệp bảng tính
FaceId_Data.xlsx.
- Nếu giá trị độ đo $\ge$ 60%: Hệ thống không xác định được danh tính và hiển thị thông báo "Unknown" hoặc "Không xác định".
Bên cạnh đó, hệ thống cung cấp các chức năng quản lý lớp học gồm open_course_form(), submit_course_info() và add_course() để nhập và ghi nhận thông tin tên môn học, giảng viên phụ trách và thời gian vào bảng courses trong MySQL, đồng thời đồng bộ hiển thị lên giao diện giám sát chính.
Nội dung chính theo từng chương
Chương 1. Tổng quan
Chương 1 trình bày tính cấp thiết của đề tài trong bối cảnh tự động hóa quản lý giáo dục. Tác giả phân tích những hạn chế của việc điểm danh thủ công, xác định mục tiêu xây dựng hệ thống nhúng tự động dựa trên Raspberry Pi 3B và OpenCV, đưa ra 4 giới hạn kỹ thuật của hệ thống, tóm lược phương pháp nghiên cứu 5 giai đoạn, xác định phạm vi thực nghiệm trên đối tượng sinh viên và phác thảo cấu trúc tổng thể 5 chương của báo cáo.
Chương 2. Cơ sở lý thuyết
Chương 2 hệ thống hóa cơ sở khoa học về thị giác máy tính ứng dụng trong nhận dạng mặt người. Nội dung tập trung phân tích 3 giai đoạn của hệ thống nhận diện khuôn mặt; trình bày bản chất toán học của thuật toán Local Binary Pattern (LBP), công thức tính mã LBP từ lân cận bán kính $R$, nguyên lý mẫu đồng dạng Uniform LBP với bảng phân loại 59 nhãn; thuyết minh phương pháp phát hiện khuôn mặt Haar-like dựa trên ảnh tích phân và hàm phân loại yếu; chi tiết hóa giải thuật tăng cường AdaBoost trong việc tối ưu hóa trọng số mẫu và xây dựng mô hình phân tầng Cascade.
Chương 3. Thiết kế hệ thống điểm danh
Chương 3 chi tiết hóa toàn bộ sơ đồ phần cứng và lưu đồ phần mềm. Tác giả thuyết minh sơ đồ khối gồm 3 thành phần (Bộ xử lý trung tâm Raspberry Pi 3 Model B, Khối hiển thị LCD 3,5 inch cảm ứng điện trở, Khối camera USB Microdia); cung cấp thông số cấu hình phần cứng, sơ đồ nguyên lý mạch kết nối và chức năng từng chân GPIO/SPI; xây dựng các tiêu chuẩn kỹ thuật phần mềm cùng 4 lưu đồ giải thuật chi tiết: lưu đồ chương trình tổng quan, lưu đồ lấy dữ liệu ảnh (200 ảnh), lưu đồ xử lý huấn luyện mô hình (tạo tệp trainningData.yml) và lưu đồ thực hiện điểm danh thời gian thực.
Chương 4. Kết quả và thảo luận
Chương 4 công bố kết quả hiện thực hóa mô hình vật lý và giao diện tương tác người dùng. Tác giả mô tả chi tiết hoạt động của các hàm lập trình Python (capture_images, TrainData, AttendentData, open_course_form, add_course), trình bày các ảnh chụp giao diện thực tế khi hệ thống điều hướng sinh viên chụp ảnh đa góc độ, tiến trình trích xuất ảnh xám, hiển thị kết quả nhận diện khuôn mặt kèm khung thông tin danh tính, cơ chế thông báo điểm danh trùng lặp và cấu trúc bảng tính Excel FaceId_Data.xlsx lưu vết thời gian điểm danh. Chương này đồng thời trình bày các bảng số liệu đánh giá khả năng nhận diện của mô hình trong hai điều kiện môi trường.
Chương 5. Kết luận và hướng phát triển
Chương 5 tổng kết mức độ hoàn thành so với mục tiêu ban đầu, xác nhận hệ thống đã thi công hoàn chỉnh phần cứng, lập trình ổn định các luồng chức năng từ lấy dữ liệu, huấn luyện đến xuất kết quả điểm danh. Tác giả tổng hợp các hạn chế còn tồn đọng và đề xuất các phương án mở rộng kỹ thuật cho hệ thống trong tương lai.
Kết quả và đóng góp
Hệ thống đã hoàn thiện việc chế tạo mô hình phần cứng tích hợp Raspberry Pi 3 Model B, màn hình LCD cảm ứng 3,5 inch và webcam Microdia thành một khối thiết bị nhỏ gọn, độc lập. Toàn bộ phần mềm điều khiển với giao diện Tkinter hoạt động chính xác theo các kịch bản lập trình, tự động hóa hoàn toàn chu trình từ đăng ký thông tin sinh viên, chụp và gắn nhãn 200 ảnh khuôn mặt/người, huấn luyện mô hình LBPH cục bộ tạo tệp cấu hình trainningData.yml đến việc nhận diện real-time và xuất dữ liệu điểm danh ra tệp Excel FaceId_Data.xlsx đồng bộ với cơ sở dữ liệu MySQL.
Về mặt thực nghiệm, tác giả đã tiến hành thử nghiệm mô hình nhận diện khuôn mặt và lập bảng đánh giá theo hai kịch bản môi trường:
| Điều kiện môi trường |
Đặc điểm thực nghiệm ghi nhận trong văn bản |
Kết quả vận hành |
| Điều kiện ánh sáng thường (Bảng 4.1) |
Khoảng cách nhận diện 0,8 m - 1,0 m; sinh viên nhìn thẳng, nghiêng các góc độ cơ bản |
Hệ thống nhận diện ổn định, tỷ lệ nhận diện chính xác cao, thời gian xử lý đáp ứng yêu cầu điểm danh |
| Điều kiện thiếu ánh sáng (Bảng 4.2) |
Cường độ sáng môi trường suy giảm mạnh, xuất hiện bóng đổ trên khuôn mặt |
Camera ghi nhận tín hiệu hình ảnh kém, độ chính xác nhận dạng suy giảm, xuất hiện trường hợp nhận diện thành "Unknown" |
Đóng góp chính của đề tài do tác giả tự nêu:
- Xây dựng thành công một giải pháp điểm danh tự động chi phí thấp, tận dụng năng lực xử lý của máy tính nhúng Raspberry Pi 3B mà không đòi hỏi hạ tầng máy chủ hiệu năng cao hoặc kết nối đám mây liên tục.
- Tích hợp đồng bộ quy trình xử lý thị giác máy tính (Haar-like và LBPH) vào một thiết bị nhúng có màn hình cảm ứng tương tác trực tiếp, cung cấp khả năng tự thu thập dữ liệu và tự huấn luyện mô hình ngay tại chỗ.
- Đơn giản hóa công tác quản trị chuyên cần của giảng viên thông qua việc tự động xuất kết quả điểm danh có đầy đủ thông tin định danh, môn học và thời gian vào tệp Excel chuẩn.
Hạn chế và hướng nghiên cứu tiếp
Các hạn chế được tác giả chỉ rõ trong báo cáo:
- Hệ thống chỉ hỗ trợ điểm danh tuần tự từng người một tại một thời điểm, chưa hỗ trợ phát hiện và nhận diện đồng thời nhiều khuôn mặt trong cùng một khung hình.
- Độ chính xác của thuật toán LBPH phụ thuộc nhiều vào chất lượng chiếu sáng; hệ thống hoạt động kém chính xác khi hoạt động trong môi trường ánh sáng quá yếu.
- Hệ thống hoàn toàn không thể nhận diện đối tượng khi đeo khẩu trang y tế hoặc mang kính mắt.
- Cự ly hoạt động bị giới hạn trong khoảng hẹp từ 0,8 m đến 1,0 m; khuôn mặt quá gần hoặc quá xa góc quét của camera đều gây lỗi nhận dạng.
- Năng lực phần cứng của Raspberry Pi 3 Model B (CPU và dung lượng RAM tối đa 1 GB) giới hạn tốc độ xử lý khi số lượng ảnh mẫu huấn luyện tăng cao.
Hướng nghiên cứu tiếp theo được đề xuất:
- Nâng cấp phần cứng xử lý lên các dòng máy tính nhúng có hiệu năng cao hơn hoặc tích hợp bộ tăng tốc AI chuyên dụng.
- Cải tiến thuật toán thị giác máy tính, nghiên cứu áp dụng các mô hình học sâu (Deep Learning) để có thể nhận diện khuôn mặt khi bị che khuất một phần (đeo khẩu trang, kính) và trong các điều kiện ánh sáng phức tạp.
- Phát triển tính năng nhận diện đa đối tượng cùng lúc để tăng tốc độ điểm danh trong các giảng đường quy mô lớn.
Giá trị tham khảo
Đồ án là tài liệu kỹ thuật có giá trị tham khảo thiết thực cho sinh viên các ngành Công nghệ Kỹ thuật Máy tính, Điện tử - Viễn thông, Công nghệ Thông tin và Kỹ thuật Điều khiển - Tự động hóa khi thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về hệ thống nhúng và xử lý ảnh.
Các nội dung có giá trị tham khảo chuyên sâu bao gồm:
- Sơ đồ đấu nối phần cứng và cấu hình chân giao tiếp SPI chi tiết giữa màn hình cảm ứng điện trở 3,5 inch và bo mạch Raspberry Pi 3B (các chân tín hiệu
TP_IRQ, LCD_RS, LCD_CS, SPI_SCK, SPI_MOSI, SPI_MISO).
- Toàn bộ quy trình lập trình xử lý ảnh trên Python/OpenCV từ khâu thu thập ảnh mẫu đa góc độ có điều hướng người dùng, kỹ thuật cắt lọc khuôn mặt bằng Haar Cascade đến huấn luyện và nhận dạng bằng thuật toán LBPH.
- Mô hình tích hợp đa thành phần phần mềm trên hệ điều hành Linux: kết hợp giao diện đồ họa Tkinter với cơ sở dữ liệu quan hệ MySQL và xử lý dữ liệu bảng tính Excel phục vụ ứng dụng quản lý thực tế.
Câu hỏi thường gặp
1. Trong hàm nhận diện AttendentData(), ngưỡng độ tin cậy (confidence) được thiết lập bằng bao nhiêu để phân biệt khuôn mặt hợp lệ và đối tượng không xác định?
Ngưỡng độ tin cậy được thiết lập ở mức 60%. Nếu giá trị khoảng cách tính toán bởi bộ nhận diện LBPH nhỏ hơn 60%, hệ thống xác nhận nhận diện thành công sinh viên và truy vấn dữ liệu từ MySQL để hiển thị tên. Nếu giá trị lớn hơn hoặc bằng 60%, hệ thống không nhận diện được và hiển thị trạng thái "Unknown" hoặc "Không xác định".
2. Quy trình thu thập dữ liệu khuôn mặt cho mỗi sinh viên yêu cầu bao nhiêu ảnh mẫu và người dùng phải thực hiện những hướng dẫn nào?
Hệ thống yêu cầu thu thập đúng 200 ảnh khuôn mặt cho mỗi sinh viên lưu vào thư mục data_face. Trong quá trình chụp, màn hình hiển thị lần lượt 4 chỉ dẫn bằng chữ in hoa để người dùng đổi góc mặt: "HAY NHIN THANG VAO CAMERA", "HAY QUAY SANG PHAI", "HAY QUAY SANG TRAI" và "HAY NGUOC LEN TREN".
3. Khối hiển thị sử dụng màn hình loại nào và giao tiếp với Raspberry Pi 3B qua những chân tín hiệu nào?
Hệ thống sử dụng màn hình LCD 3,5 inch cảm ứng điện trở, độ phân giải 480x320. Màn hình kết nối với Raspberry Pi qua giao tiếp SPI và chân GPIO: cấp nguồn 3,3V (chân 1, 17), nguồn 5V (chân 24), các chân đất GND (chân 6, 9, 14, 20, 25), chân ngắt cảm ứng TP_IRQ (chân 11), chân thanh ghi LCD_RS (chân 18), chân truyền nhận SPI LCD_SI/TP_SI (chân 19), TP_SO (chân 21), xung nhịp LCD_SCK/TP_SCK (chân 23), chọn chip LCD_CS (chân 24), TP_CS (chân 26) và chân cài đặt lại RST (chân 22).
4. Dữ liệu điểm danh sau khi nhận diện thành công được ghi nhận vào đâu và gồm các trường thông tin nào?
Dữ liệu điểm danh được ghi nhận trực tiếp vào tệp bảng tính Excel có tên FaceId_Data.xlsx, bao gồm các trường: Họ và tên, Mã số sinh viên, Môn học, Giáo viên phụ trách, Giờ học, Ngày vào học và Thời gian vào học cụ thể. Đồng thời, thông tin sinh viên và môn học được lưu trữ và quản lý đồng bộ trong cơ sở dữ liệu MySQL.
5. Hệ thống điểm danh này có những giới hạn vật lý và môi trường hoạt động cụ thể nào theo công bố của tác giả?
Hệ thống chỉ xử lý điểm danh mỗi lần một đối tượng; cự ly hoạt động tối ưu trong khoảng từ 0,8 m đến 1,0 m; camera nhận dạng kém chính xác trong điều kiện ánh sáng quá yếu; và hệ thống chưa thể nhận dạng khi người dùng đeo khẩu trang hoặc mang kính.
Kết luận
Đồ án tốt nghiệp "Hệ thống điểm danh sử dụng Raspberry Pi để nhận diện khuôn mặt" của sinh viên Đoàn Gia Hân và Nguyễn Huỳnh Hưng đã hoàn thành mục tiêu thiết kế và thi công một thiết bị điểm danh tự động độc lập dạng nhúng. Bằng cách kết hợp phần cứng Raspberry Pi 3B, màn hình LCD cảm ứng 3,5 inch, webcam USB cùng thuật toán phát hiện Haar-like và nhận diện LBPH qua thư viện OpenCV, nhóm tác giả đã xây dựng thành công quy trình khép kín từ thu nhận dữ liệu, huấn luyện mô hình đến ghi nhận điểm danh vào CSDL MySQL và xuất báo cáo Excel. Dù vẫn còn những hạn chế về khả năng nhận diện khi thiếu sáng, góc chụp hẹp và chưa xử lý được đối tượng đeo khẩu trang, đề tài đã chứng minh tính khả thi của giải pháp thị giác máy tính biên ứng dụng trong quản lý đào tạo thực tiễn.