Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh phát triển của Internet và các công nghệ thông tin truyền thông (ICT), Internet of Things (IoT) cùng với Trí tuệ nhân tạo (AI) đang trở thành những thành phần quan trọng trong việc xây dựng các giải pháp quản lý cho đô thị và trường học thông minh. Tại các cơ sở giáo dục hiện nay, việc điểm danh truyền thống thông qua gọi tên hoặc ký danh sách trên giảng đường bộc lộ nhiều hạn chế về mặt vận hành. Đối với các lớp học có quy mô từ 50 sinh viên trở lên, phương thức thủ công làm tiêu tốn đáng kể thời gian giảng dạy và dễ phát sinh tình trạng gian lận như đi học hộ hoặc điểm danh hộ.
Trước thực trạng đó, khóa luận tốt nghiệp kỹ sư ngành Truyền thông và Mạng máy tính của tác giả Lê Minh Khánh An (Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. Hồ Chí Minh) đã đề xuất đề tài "Xây dựng hệ thống điểm danh không chạm với IoT" (IoT Based Contactless Attendance System), dưới sự hướng dẫn của ThS. Thái Huy Tân.
Khóa luận xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:
- Nghiên cứu mô hình ứng dụng IoT hoàn chỉnh kết hợp các thuật toán trí tuệ nhân tạo (Machine Learning và Deep Learning) phục vụ bài toán nhận diện và phát hiện khuôn mặt.
- Thiết kế và chế tạo bộ thiết bị phần cứng nhúng tích hợp camera, có khả năng tự động phát hiện khuôn mặt và chụp ảnh sinh viên khi bước vào lớp học.
- Xây dựng hệ thống máy chủ (Web service / Web server) tập trung để điều phối hoạt động, xử lý dữ liệu nhận diện và quản trị cơ sở dữ liệu.
- Phát triển ứng dụng di động trên nền tảng Android, tích hợp công nghệ nhận dạng ký tự quang học (OCR) để tự động trích xuất thông tin thẻ sinh viên khi đăng ký tài khoản, đồng thời cung cấp giao diện tương tác thời gian thực cho giảng viên và sinh viên.
- Xây dựng cổng thông tin quản trị qua web (Web quản trị) giúp nhà trường và quản trị viên quản lý danh mục sinh viên, giảng viên, khóa học và các thông số vận hành hệ thống.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình điểm danh không chạm; bo mạch và cảm biến phần cứng IoT; kiến trúc máy chủ backend; thuật toán nhận diện khuôn mặt dựa trên Deep Learning; ứng dụng di động Android và trang web quản trị.
- Phạm vi và giới hạn đề tài: Do giới hạn về mặt thời gian và nguồn lực nghiên cứu cấp đại học, tác giả xác định đề tài tập trung vào việc đề xuất và trực quan hóa giải pháp. Hệ thống được triển khai thử nghiệm trên mô hình thực nghiệm với 01 thiết bị điểm danh phần cứng duy nhất. Đối với thuật toán nhận diện khuôn mặt, đề tài sử dụng mô hình trích xuất đặc trưng có sẵn từ thư viện mã nguồn mở Dlib thay vì huấn luyện một mạng nơ-ron hoàn toàn mới từ đầu. Khối phần cứng dừng lại ở mức bản thử nghiệm chức năng (demo), do đó các yếu tố về độ ổn định môi trường và thời gian đáp ứng liên tục vẫn còn những giới hạn nhất định.
Cơ sở lý thuyết và phương pháp
Khóa luận xây dựng trên nền tảng lý thuyết về hệ thống IoT, kiến trúc dịch vụ mạng và các mô hình sinh trắc học thị giác máy tính:
- Khung kiến trúc IoT: Hệ thống được thiết kế theo cấu trúc 4 tầng tiêu chuẩn: tầng thiết bị (Things), trạm kết nối (Gateways), hạ tầng mạng (Network and Cloud) và tầng dịch vụ/giải pháp (Services-creation and Solution Layers). Tác giả vận dụng các đặc trưng cơ bản của IoT gồm tính không đồng nhất, kết nối liên thông (Interconnectivity), quản lý dịch vụ liên quan đến vật lý và ảo, quy mô kết nối lớn và khả năng thay đổi trạng thái linh hoạt.
- Kiến trúc dịch vụ RESTful Web Service: Hệ thống giao tiếp giữa máy khách và máy chủ tuân thủ 4 nguyên tắc: sử dụng tường minh các phương thức HTTP (GET, POST, PUT, DELETE), phi trạng thái (stateless), định danh tài nguyên qua URI và truyền tải dữ liệu định dạng JSON.
- Mô hình nhận diện khuôn mặt với Dlib: Cơ chế nhận diện sử dụng thuật toán Deep Learning tích hợp trong thư viện Dlib do Davis E. King phát triển. Mô hình này ánh xạ hình ảnh khuôn mặt người vào không gian vector 128 chiều (128d vector space). Việc phân loại và định danh dựa trên việc tính toán khoảng cách Euclid (Euclidean distance) giữa các vector đặc trưng. Với ngưỡng khoảng cách (distance threshold) thiết lập ở mức 0.6, mô hình đạt độ chính xác tham chiếu 99,38% trên tập dữ liệu chuẩn LFW (Labeled Faces in the Wild).
- Bộ công cụ ML Kit for Firebase: Ứng dụng di động tích hợp bộ SDK di động của Google để thực hiện tác vụ nhận dạng ký tự quang học (Optical Character Recognition - OCR), phục vụ trích xuất tự động mã số sinh viên và địa chỉ email từ hình ảnh thẻ sinh viên vật lý.
Phương pháp nghiên cứu thực tế được tác giả áp dụng bao gồm:
- Phương pháp phân tích - tổng hợp tài liệu: Khảo cứu và so sánh các công trình điểm danh trước đây, gồm hệ thống máy tính nhúng dùng thẻ điện tử [4], hệ thống nhận diện đồng tử mắt [5], phần mềm xác thực mật khẩu [6], hệ thống định vị qua GSM-GPRS và hệ thống quét thẻ RFID [7]. Từ các hạn chế về chi phí, tính linh hoạt và nguy cơ giả mạo của những phương pháp này, tác giả lựa chọn giải pháp sinh trắc học khuôn mặt kết hợp thiết bị IoT không dây.
- Phương pháp phân tích và thiết kế phần mềm: Sử dụng mô hình phân rã chức năng (Business Function Diagram - BFD) để phân cấp các nghiệp vụ; xây dựng các biểu đồ Use Case tổng quát và chi tiết; thiết kế luồng tương tác thông qua các biểu đồ tuần tự (Sequence Diagram); thiết kế cơ sở dữ liệu quan hệ cho hệ quản trị cơ sở dữ liệu SQLite.
- Phương pháp thực nghiệm kỹ thuật và triển khai: Lập trình ứng dụng Android bằng ngôn ngữ Java trên Android Studio; lập trình máy chủ dịch vụ bằng ngôn ngữ Python sử dụng Django Framework trên PyCharm; quản lý phiên bản mã nguồn bằng Git; đóng gói và triển khai dịch vụ máy chủ bằng công nghệ container Docker (Dockerfile, Docker Hub, Docker-compose) trên máy ảo Ubuntu 18.04 cloud; cấu hình phần cứng nhúng Sipeed Maixduino Kit K210.
- Nguồn dữ liệu: Dữ liệu hình ảnh thẻ sinh viên chụp trực tiếp; ảnh khuôn mặt sinh viên đăng ký; hình ảnh chụp thời gian thực từ camera thiết bị nhúng tại lớp học; dữ liệu hồ sơ người dùng lưu trữ trong cơ sở dữ liệu SQLite.
Thiết kế và triển khai hệ thống
Hệ thống được tổ chức thành 4 phân hệ chính hoạt động liên kết: Client (Thiết bị IoT, Ứng dụng Android, Web quản trị), Server (Django RESTful Web Service), Database (SQLite) và ML Kit for Firebase.
| Thành phần hệ thống |
Công nghệ / Nền tảng |
Chức năng kỹ thuật chính |
| Thiết bị chụp ảnh nhúng |
Sipeed Maixduino Kit K210 |
Tích hợp camera GC0328 tự động phát hiện khuôn mặt và chụp ảnh; hiển thị mã QR trên màn hình TFT 2.4 inch để đồng bộ buổi học. |
| Ứng dụng di động |
Java, Android Studio (Android 6.0+) |
Giao diện cho sinh viên và giảng viên: chụp thẻ sinh viên trích xuất OCR, chụp ảnh chân dung, quét QR kết nối thiết bị, xem và xác nhận điểm danh. |
| Cổng web quản trị |
Django Framework, Python |
Quản lý tập trung tài khoản người dùng, danh mục giảng viên, sinh viên, khóa học và các bảng thống kê hệ thống. |
| Máy chủ xử lý AI & API |
Python, Django, Dlib, Docker, Ubuntu 18.04 |
Tiếp nhận ảnh từ thiết bị, trích xuất vector 128 chiều bằng Dlib, tính toán khoảng cách Euclid với ảnh mẫu để định danh sinh viên và lưu kết quả. |
| Cơ sở dữ liệu |
SQLite |
Hệ quản trị cơ sở dữ liệu nhỏ gọn, phi máy chủ, lưu trữ 5 bảng thực thể phục vụ toàn bộ hoạt động của hệ thống. |
Thông số kỹ thuật của thiết bị phần cứng Sipeed Maixduino Kit K210
Bo mạch nhúng được lựa chọn là Sipeed Maixduino Kit K210 RISC-V Dual Core 64-Bit tích hợp Wifi BLE ESP32 AIoT với các đặc tính:
- Vi xử lý trung tâm (MCU): Kendryte K210 RISC-V Dual Core 64-bit, xung nhịp 400MHz, tích hợp bộ xử lý mạng nơ-ron KPU (Neural Network Processor) và bộ tính toán số thực FPU.
- Xử lý hình ảnh: Camera GC0328 kết nối qua cổng FPC 24 chân chuẩn DVP; hỗ trợ định dạng nhận diện hình ảnh QVGA @60FPS và VGA @30FPS; tích hợp màn hình 2.4 inch TFT Display kết nối qua cổng LCD MCU 8-bit.
- Âm thanh và kết nối: Microphone kỹ thuật số đa hướng chuẩn I2S MEMS; chip khuếch đại âm thanh DAC+PA công suất 3W; module ESP32 hỗ trợ mạng Wifi và Bluetooth 4.0 BLE; khe cắm thẻ nhớ microSD; cổng nạp và giao tiếp USB Type-C tích hợp chip chuyển đổi USB-TTL 2 kênh CH552.
- Khả năng tương thích: Chuẩn kích thước và giao diện chân cắm tương thích Arduino Uno; hỗ trợ các môi trường lập trình MaixPy IDE, Arduino IDE, OpenMV IDE, PlatformIO IDE; tương thích các kiến trúc mô hình Tiny-Yolo, MobileNet và TensorFlow Lite.
Cấu trúc cơ sở dữ liệu hệ thống
Khóa luận thiết kế 5 bảng cơ sở dữ liệu quan hệ trong SQLite nhằm quản trị toàn diện luồng thông tin:
Bảng người dùng: Lưu trữ thông tin định danh cá nhân, email, mật khẩu đã mã hóa, phân quyền vai trò (quản trị viên, giảng viên, sinh viên) và đường dẫn ảnh chân dung gốc.
Bảng khóa học: Lưu trữ mã môn học, tên khóa học, học kỳ, năm học và thông tin giảng viên phụ trách.
Bảng học tập: Lưu trữ danh sách đăng ký môn học, tạo liên kết nhiều-nhiều giữa sinh viên và khóa học.
Bảng buổi học: Lưu trữ các phiên học theo lịch trình, thời gian bắt đầu, thời gian kết thúc và trạng thái buổi học của từng môn.
Bảng điểm danh: Lưu trữ kết quả điểm danh của từng sinh viên trong mỗi buổi học, hình ảnh chụp thực tế tại lớp, thời điểm ghi nhận và trạng thái xác thực.
Quy trình nghiệp vụ điểm danh tự động
- Đăng ký tài khoản: Sinh viên chụp ảnh thẻ sinh viên trên ứng dụng di động. Bộ ML Kit for Firebase thực hiện quét OCR để trích xuất mã số sinh viên và địa chỉ email. Sinh viên tiếp tục chụp ảnh khuôn mặt cá nhân qua camera điện thoại. Ứng dụng gửi dữ liệu lên máy chủ; sau khi đối chiếu hợp lệ, thông tin tài khoản được gửi tự động về email sinh viên.
- Khởi tạo và kết nối buổi học: Giảng viên đăng nhập ứng dụng di động, tạo buổi điểm danh mới cho khóa học tương ứng. Giảng viên sử dụng camera điện thoại quét mã QR hiển thị trên màn hình TFT của thiết bị Sipeed Maixduino để đồng bộ mã môn học và phiên điểm danh trong thời gian thực.
- Thu thập dữ liệu tại lớp: Thiết bị Sipeed Maixduino đặt tại lối vào lớp học liên tục chạy thuật toán phát hiện khuôn mặt. Khi sinh viên đứng trước camera, thiết bị tự động chụp ảnh và gửi dữ liệu ảnh qua giao thức HTTP/REST API về máy chủ Django.
- Nhận diện và ghi nhận: Máy chủ chuyển đổi ảnh nhận được thành vector 128 chiều bằng Dlib, đối chiếu khoảng cách Euclid với các vector khuôn mặt của sinh viên trong danh sách lớp. Nếu khoảng cách nhỏ hơn ngưỡng cho phép, hệ thống xác nhận danh tính và ghi trạng thái điểm danh vào cơ sở dữ liệu.
- Xác thực và xuất báo cáo: Sinh viên có thể vào ứng dụng xem lại ảnh chụp của chính mình để xác nhận hoặc gửi báo cáo phản hồi nếu có sai lệch. Giảng viên có quyền tìm kiếm sinh viên, điều chỉnh thông tin thủ công và xuất file báo cáo điểm danh theo buổi học hoặc toàn bộ khóa học.
Nội dung chính theo từng chương
Chương 1: Giới thiệu
Chương này phác thảo bức tranh tổng quan về sự phát triển của IoT trong thời kỳ công nghệ 4.0 và quá trình đô thị hóa. Tác giả trình bày cấu trúc 4 tầng, các đặc trưng kỹ thuật của IoT và tiềm năng ứng dụng trong quản lý giáo dục. Nội dung chương tập trung phát biểu bài toán điểm danh truyền thống, phân tích nguy cơ gian lận và sự lãng phí thời gian tại các lớp học có sĩ số trên 50 người. Từ đó, tác giả xác định mục tiêu xây dựng hệ thống điểm danh không chạm kết hợp phần cứng IoT và AI, đồng thời khoanh vùng phạm vi thực nghiệm với 01 thiết bị nhúng và việc kế thừa thuật toán nhận diện có sẵn.
Chương 2: Các nghiên cứu và công nghệ liên quan
Chương 2 tổng hợp các nghiên cứu điểm danh thông minh đã công bố, bao gồm các hệ thống dùng thẻ điện tử kết nối máy tính nhúng, hệ thống nhận dạng đồng tử mắt ngoại tuyến, giải pháp xác thực mật khẩu, hệ thống định vị GSM-GPRS và công nghệ thẻ RFID. Tác giả chỉ ra nhược điểm của việc mang theo thẻ vật lý, nguy cơ quên hoặc chia sẻ mật khẩu, và sự kém linh hoạt của định vị vị trí cố định.
Phần cơ sở lý thuyết trình bày chi tiết về nguyên lý thiết kế RESTful Web Service; bộ công cụ Google ML Kit for Firebase; đặc điểm không cần cấu hình của SQLite; các công cụ phát triển phần mềm gồm Android Studio, PyCharm, Git, Django Framework, Java, Python; giải pháp container hóa qua Docker (Dockerfile, Docker Hub, Docker-compose); mối tương quan giữa AI, Machine Learning, Deep Learning; thuật toán Face Recognition dựa trên thư viện Dlib ánh xạ vector 128 chiều với độ chính xác 99,38% trên tập dữ liệu LFW; cùng thông số kỹ thuật chi tiết của kit phần cứng Sipeed Maixduino K210.
Chương 3: Phân tích và thiết kế hệ thống
Chương này phân tích kiến trúc hệ thống và xây dựng mô hình phân rã chức năng (BFD). Tác giả chi tiết hóa 4 nhóm chức năng chính:
- Nhóm Quản lý tài khoản: Đăng ký tài khoản bằng thẻ sinh viên, đăng nhập, quên mật khẩu qua OCR và email, xem thông tin cá nhân, thay đổi mật khẩu và đăng xuất.
- Nhóm chức năng Giảng viên: Tạo khóa học mới, xem thông tin khóa học/buổi điểm danh, tạo buổi điểm danh, kết nối thiết bị qua mã QR, trích xuất dữ liệu điểm danh theo ngày hoặc môn học, thay đổi thông tin điểm danh và tìm kiếm sinh viên.
- Nhóm chức năng Sinh viên: Tham gia khóa học, xem thông tin môn học, tra cứu lịch sử điểm danh, xác nhận điểm danh dựa trên ảnh chụp và báo cáo sai sót điểm danh.
- Nhóm chức năng Web quản trị: Quản lý, thêm, sửa, xóa thông tin sinh viên, giảng viên, khóa học và cập nhật tài khoản quản trị viên.
Bên cạnh đó, chương 3 thiết kế các biểu đồ Use Case, xây dựng biểu đồ tuần tự (Sequence Diagram) cho các luồng xử lý (Đăng ký tài khoản, Đăng nhập, Truy xuất thông tin, Thay đổi mật khẩu, Đăng xuất, Quên mật khẩu) và mô hình hóa 5 bảng cơ sở dữ liệu quan hệ trên SQLite.
Chương 4: Hiện thực ứng dụng
Chương 4 mô tả quá trình hiện thực hóa các giao diện và phần cứng của hệ thống:
- Giao diện Web quản trị: Triển khai màn hình đăng nhập, trang chủ bảng điều khiển, các giao diện quản lý danh sách, biểu mẫu thêm mới, chỉnh sửa và xóa thông tin cho sinh viên, giảng viên và khóa học.
- Giao diện ứng dụng di động Android: Hiện thực các màn hình đăng ký tài khoản (tích hợp camera chụp thẻ sinh viên, chức năng cắt sửa ảnh, xử lý OCR và chụp ảnh chân dung), đổi mật khẩu, quản lý hồ sơ, tạo buổi học, quét mã QR kết nối thiết bị nhúng, điểm danh thủ công và xuất file dữ liệu điểm danh.
- Hiện thực phần cứng điểm danh: Lắp ráp và cấu hình kit Sipeed Maixduino K210 tích hợp camera GC0328 và màn hình TFT hiển thị mã QR, lập trình xử lý tự động phát hiện khuôn mặt và truyền tải hình ảnh về máy chủ.
- Đánh giá kiểm định ứng dụng: Trình bày kết quả kiểm tra thực thi hệ thống qua 3 lần thử nghiệm thực tế (kèm biểu đồ kiểm định lần một, lần hai và lần ba) nhằm ghi nhận hiệu quả tương tác giữa ứng dụng, thiết bị nhúng và máy chủ xử lý dữ liệu.
Chương 5: Tổng kết và hướng phát triển
Chương 5 đúc kết toàn bộ các kết quả đạt được về mặt xây dựng phần cứng, phát triển phần mềm di động, xây dựng dịch vụ máy chủ và ứng dụng thuật toán AI. Tác giả phân tích các nhược điểm còn tồn tại của hệ thống, đồng thời đề xuất các định hướng phát triển tiếp theo nhằm hoàn thiện giải pháp trong tương lai.
Kết quả và đóng góp
Khóa luận đã hoàn thành các nội dung kỹ thuật theo mục tiêu đề ra với các kết quả cụ thể:
- Thiết kế và chế tạo thành công thiết bị điểm danh phần cứng dựa trên Sipeed Maixduino Kit K210, có khả năng tự động nhận biết người đứng trước camera, tự động ghi hình và hiển thị mã QR kết nối phiên học.
- Xây dựng hoàn chỉnh ứng dụng di động Android hỗ trợ trích xuất thông tin thẻ sinh viên qua OCR của ML Kit for Firebase, tự động hóa quy trình đăng ký tài khoản và gửi mật khẩu qua email.
- Phát triển hệ thống máy chủ tập trung bằng Django Framework và cơ sở dữ liệu SQLite, đóng gói hoàn chỉnh bằng Docker và Docker-compose trên nền tảng Ubuntu 18.04 cloud, cung cấp các RESTful API phục vụ kết nối thông suốt giữa thiết bị di động, thiết bị IoT và trang web quản trị.
- Tích hợp thành công thuật toán nhận diện khuôn mặt Deep Learning qua thư viện Dlib với vector đặc trưng 128 chiều và ngưỡng khoảng cách 0.6 (độ chính xác lý thuyết đạt 99,38% trên tập LFW), phục vụ phân loại tự động ảnh chụp từ lớp học.
- Xây dựng đầy đủ tài liệu phân tích thiết kế hệ thống bao gồm biểu đồ phân rã chức năng (BFD), biểu đồ Use Case, các biểu đồ tuần tự (Sequence Diagram) và cấu trúc 5 bảng cơ sở dữ liệu.
- Hoàn thành quy trình kiểm định ứng dụng qua 3 đợt đánh giá thực nghiệm độc lập để kiểm chứng hoạt động của toàn bộ hệ thống.
Về mặt đóng góp giải pháp, công trình đã:
- Khắc phục tình trạng gian lận điểm danh (đi học hộ, điểm danh hộ) nhờ ứng dụng nhận diện sinh trắc học khuôn mặt tự động, loại bỏ thao tác điểm danh thủ công tốn thời gian trên giảng đường lớn.
- Giải quyết sự bất tiện của các hệ thống điểm danh bằng thẻ RFID (sinh viên phải mang thẻ vật lý, phòng học phải lắp đầu đọc cố định) hoặc điểm danh bằng mật khẩu (dễ bị chia sẻ hoặc quên mật khẩu).
- Cung cấp cơ chế đối soát minh bạch khi cho phép sinh viên trực tiếp xem lại hình ảnh điểm danh của mình trên ứng dụng di động và gửi báo cáo khiếu nại nếu hệ thống ghi nhận sai sót.
Hạn chế và hướng nghiên cứu tiếp
Khóa luận đã thẳng thắn chỉ ra các hạn chế trong quá trình thực hiện:
- Về mô hình triển khai: Đề tài chỉ dừng lại ở quy mô thử nghiệm giải pháp với 01 thiết bị điểm danh duy nhất, chưa tiến hành thử nghiệm đồng thời trên hệ thống mạng lưới phân tán nhiều thiết bị tại nhiều phòng học cùng lúc.
- Về thuật toán nhận diện: Do gặp khó khăn trong công tác thu thập bộ dữ liệu khuôn mặt quy mô lớn, tác giả sử dụng thuật toán và mô hình nạp sẵn từ thư viện Dlib mà chưa tự xây dựng, tinh chỉnh hoặc huấn luyện mô hình học sâu chuyên biệt cho sinh viên Việt Nam.
- Về thiết bị phần cứng: Thiết bị nhúng dừng ở mức mô hình trình diễn giải pháp (demo), do đó tính ổn định của bo mạch và độ chính xác của camera GC0328 khi vận hành liên tục trong điều kiện ánh sáng giảng đường biến đổi vẫn còn hạn chế.
Các hướng phát triển tiếp theo được tác giả đề xuất:
- Nâng cấp và tối ưu hóa phần cứng nhận diện nhằm cải thiện tính ổn định, độ bền công nghiệp và độ nhạy của cảm biến camera.
- Thu thập tập dữ liệu khuôn mặt thực tế lớn hơn để huấn luyện mô hình Deep Learning riêng, nâng cao độ chính xác nhận diện trong các điều kiện môi trường ánh sáng phức tạp hoặc khi sinh viên có sự thay đổi về phụ kiện, góc nghiêng.
- Mở rộng kiến trúc hệ thống để hỗ trợ kết nối đồng thời nhiều thiết bị điểm danh IoT tại tất cả các giảng đường trong toàn trường đại học.
Giá trị tham khảo
Báo cáo khóa luận có giá trị tham khảo hữu ích cho:
- Sinh viên và học viên chuyên ngành: Mạng máy tính và Truyền thông, Kỹ thuật Máy tính, Công nghệ Thông tin và Hệ thống Thông tin đang thực hiện đồ án tốt nghiệp hoặc các dự án nghiên cứu về ứng dụng IoT, AIoT và Smart Campus.
- Kỹ sư phát triển hệ thống nhúng và AI: Tham khảo quy trình tích hợp bo mạch nhúng RISC-V Kendryte K210, cảm biến camera DVP GC0328 và module Wifi ESP32 trong các bài toán thị giác máy tính tại biên (Edge AI).
- Lập trình viên phần mềm và ứng dụng: Tham khảo tài liệu phân tích thiết kế hệ thống chi tiết (biểu đồ Use Case, Sequence Diagram), cách thức tích hợp Google ML Kit OCR trên Android, và kỹ thuật container hóa máy chủ Django qua Docker và Docker-compose trên máy ảo điện toán đám mây.
Các nội dung có giá trị trích dẫn và kế thừa cao trong tài liệu gồm: sơ đồ kiến trúc hệ thống 4 thành phần (Hình 3.1); các biểu đồ tuần tự cho luồng đăng ký OCR và đăng nhập (Hình 3.5, Hình 3.6); thiết kế lược đồ 5 bảng dữ liệu SQLite (Bảng 3.1 đến 3.5); cùng thông số kỹ thuật chi tiết của dòng vi điều khiển Kendryte K210 RISC-V.
Câu hỏi thường gặp
1. Thiết bị phần cứng nhúng nào được tác giả lựa chọn để xây dựng khối điểm danh và thông số kỹ thuật ra sao?
Tác giả sử dụng bo mạch Sipeed Maixduino Kit K210 RISC-V Dual Core 64-Bit tích hợp Wifi BLE ESP32. Thiết bị sở hữu vi điều khiển trung tâm Kendryte K210 (2 nhân RISC-V 64-bit 400MHz, tích hợp bộ xử lý mạng nơ-ron KPU và bộ tính toán số thực FPU), màn hình hiển thị 2.4 inch TFT Display, camera GC0328, cổng giao tiếp USB Type-C, khe thẻ nhớ microSD và module Wifi/BLE ESP32 hỗ trợ giao tiếp mạng.
2. Ứng dụng di động giải quyết bài toán đăng ký tài khoản cho sinh viên như thế nào?
Ứng dụng di động Android sử dụng công nghệ nhận dạng ký tự quang học (OCR) từ bộ SDK Google ML Kit for Firebase. Sinh viên dùng camera điện thoại chụp ảnh thẻ sinh viên, hệ thống tự động bóc tách mã số sinh viên và email. Sau khi chụp thêm ảnh chân dung cá nhân, dữ liệu được gửi lên server qua RESTful API để kiểm tra tính hợp lệ; nếu thành công, thông tin tài khoản đăng nhập sẽ được tự động gửi qua email của sinh viên.
3. Cơ chế đồng bộ giữa ứng dụng di động của giảng viên và thiết bị điểm danh tại lớp học diễn ra theo cách thức nào?
Thiết bị Sipeed Maixduino hiển thị một mã QR trên màn hình 2.4 inch TFT. Khi bắt đầu buổi học, giảng viên tạo buổi điểm danh trên ứng dụng Android và dùng camera điện thoại quét mã QR này. Thao tác quét QR thiết lập liên kết thời gian thực giữa thiết bị chụp ảnh và phiên học (mã môn học, ngày điểm danh), cho phép thiết bị tự động chụp và gắn thẻ dữ liệu ảnh gửi về máy chủ đúng theo buổi học đó.
4. Thuật toán nhận diện khuôn mặt được triển khai bằng công nghệ gì và nguyên lý hoạt động ra sao?
Hệ thống sử dụng thư viện Dlib dựa trên thuật toán Deep Learning của tác giả Davis E. King. Thuật toán tiến hành ánh xạ các khuôn mặt phát hiện được vào không gian vector 128 chiều. Danh tính sinh viên được xác định bằng cách đo khoảng cách Euclid giữa vector của ảnh chụp từ lớp học với vector của ảnh gốc đăng ký trước đó. Nếu khoảng cách nhỏ hơn ngưỡng 0.6, sinh viên được ghi nhận điểm danh (độ chính xác lý thuyết của mô hình đạt 99,38% trên tập dữ liệu chuẩn LFW).
5. Máy chủ Web service được xây dựng và đóng gói triển khai bằng những công nghệ nào?
Máy chủ được lập trình bằng ngôn ngữ Python sử dụng Django Framework theo mô hình MVC/RESTful, lưu trữ dữ liệu bằng hệ quản trị SQLite. Về mặt triển khai hạ tầng, dịch vụ được đóng gói thành các docker container thông qua Dockerfile, đẩy lên Docker Hub và cấu hình chạy đồng thời nhiều service bằng Docker-compose trên máy ảo Ubuntu 18.04 cloud.
Kết luận
Khóa luận tốt nghiệp "Xây dựng hệ thống điểm danh không chạm với IoT" của tác giả Lê Minh Khánh An đã thiết kế và hiện thực thành công một mô hình hoàn chỉnh từ phần cứng nhúng Sipeed Maixduino K210, ứng dụng di động Android đến máy chủ dịch vụ Django triển khai qua Docker. Hệ thống kết hợp giải pháp nhận dạng ký tự quang học (ML Kit OCR) để tự động hóa đăng ký tài khoản và ứng dụng thuật toán Dlib trích xuất vector 128 chiều để nhận diện khuôn mặt điểm danh sinh viên. Mặc dù còn giới hạn ở quy mô thử nghiệm đơn thiết bị và tính ổn định của phần cứng demo, công trình cung cấp tài liệu phân tích, thiết kế kỹ thuật bài bản và là cơ sở tham khảo cho các nghiên cứu phát triển hệ thống điểm danh thông minh ứng dụng IoT và thị giác máy tính.