Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và tự động hóa quy trình quản trị doanh nghiệp, bài toán quản lý nhân sự, chấm công và điểm danh đóng vai trò then chốt trong việc tối ưu hóa hiệu suất vận hành. Theo các báo cáo thống kê từ Hiệp hội Quản trị Nguồn nhân lực quốc tế (SHRM), các phương thức điểm danh thủ công hoặc quẹt thẻ truyền thống làm tiêu tốn từ 5% đến 12% quỹ thời gian làm việc hàng ngày của bộ phận hành chính nhân sự, đồng thời tiềm ẩn rủi ro gian lận như chấm công hộ (buddy punching) gây thiệt hại lên tới 2.2% tổng chi phí lương mỗi năm của doanh nghiệp.

Đồ án tốt nghiệp "Hệ thống phần mềm nhận diện khuôn mặt, điểm danh, chấm công bằng Python" của tác giả Nguyễn Văn Sơn, dưới sự hướng dẫn của ThS. Lê Trung Thực tại Khoa Công nghệ Thông tin – Trường Đại học Công nghệ Đông Á (EAUT), được nghiên cứu và phát triển nhằm giải quyết triệt để các hạn chế của các phương pháp sinh trắc học tiếp xúc (vân tay) và cơ học truyền thống. Đề tài tập trung xây dựng một giải pháp phần mềm desktop độc lập, kết hợp giữa công nghệ thị giác máy tính (Computer Vision) và quản trị cơ sở dữ liệu quan hệ cục bộ.

                  +-----------------------------------+
                  |        Webcam / Video Input       |
                  +-----------------+-----------------+
                                    |
                                    v
                  +-----------------------------------+
                  |  Face Detection (Haar Cascade)    |
                  +-----------------+-----------------+
                                    |
                                    v
                  +-----------------------------------+
                  | Face Recognition & Identification |
                  +-----------------+-----------------+
                                    |
                                    v
                  +-----------------------------------+
                  |   PyQt5 UI & SQLite3 Logging      |
                  +-----------------------------------+

Vấn đề thực tiễn và bài toán mục tiêu

Các phương pháp chấm công hiện hành tại các trường học và văn phòng doanh nghiệp vừa và nhỏ (SMEs) đang đối mặt với các vấn đề kỹ thuật và vận hành:

  • Tắc nghẽn giờ cao điểm: Chấm công bằng vân tay gây ùn ứ khi đầu đọc bị mờ, ướt hoặc trầy xước bề mặt cảm biến.
  • Rủi ro lây nhiễm chéo: Thiết bị sinh trắc học tiếp xúc trực tiếp tiềm ẩn nguy cơ truyền nhiễm vi khuẩn, dịch bệnh trong môi trường công cộng.
  • Chi phí bản quyền và phần cứng đắt đỏ: Các hệ thống nhận diện khuôn mặt đám mây thương mại đòi hỏi chi phí thuê bao định kỳ (API subscription fee) cao và yêu cầu kết nối Internet liên tục băng thông lớn.

Mục tiêu của đồ án

Hệ thống được thiết kế nhằm đạt được 5 mục tiêu kỹ thuật cụ thể:

  1. Xây dựng module phát hiện khuôn mặt thời gian thực (Real-time Face Detection) thông qua webcam tiêu chuẩn (720p).
  2. Huấn luyện dữ liệu (Training Data) và trích xuất vector đặc trưng (Feature Extraction) phục vụ nhận dạng chính xác từng nhân viên trong cơ sở dữ liệu.
  3. Thiết kế giao diện đồ họa người dùng trực quan (GUI) bằng framework PyQt5, phân quyền rõ ràng giữa Quản trị viên (Admin) và Nhân viên.
  4. Xây dựng hệ thống cơ sở dữ liệu quan hệ nhúng SQLite3 phục vụ lưu trữ thông tin nhân sự, tập dữ liệu ảnh (Dataset), và nhật ký chấm công (Attendance Logs).
  5. Đảm bảo tốc độ xử lý nhận diện dưới 500ms mỗi lượt với độ chính xác đạt trên 94% trong điều kiện ánh sáng tiêu chuẩn.

Phạm vi và giới hạn hệ thống

  • Phạm vi triển khai: Ứng dụng Desktop chạy cục bộ (Offline/On-Premise) trên hệ điều hành Windows/Linux.
  • Phần cứng yêu cầu: Máy tính văn phòng phổ thông, tích hợp webcam chuẩn RGB với độ phân giải từ HD (1280x720) trở lên.
  • Giới hạn kỹ thuật: Hệ thống tối ưu hóa cho góc chụp khuôn mặt chính diện (độ nghiêng không quá ±30 độ) và môi trường chiếu sáng ổn định (từ 250 đến 500 lux).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp điểm danh Ưu điểm Nhược điểm Chi phí vận hành Độ tin cậy
Sổ tay / Bảng tính Excel Không tốn chi phí đầu tư ban đầu, dễ thực hiện Tốn thời gian, dễ thất lạc, dễ gian lận thông tin Cao (nhân lực) Rất thấp
Thẻ từ RFID / Mã vạch Tốc độ quét nhanh, quản lý qua mã định danh ID Dễ quên thẻ, mất thẻ, chấm công hộ Trung bình Thấp
Vân tay sinh trắc học Định danh chính xác cá nhân, chi phí vừa phải Bị ảnh hưởng bởi mồ hôi/bụi bẩn, chậm giờ cao điểm Thấp Khá
Hệ thống OpenCV Desktop (Đề tài) Không tiếp xúc, nhận diện tức thì, chi phí thiết bị 0đ Nhạy cảm với ánh sáng yếu và góc quay quá lệch Cực thấp Cao

Phân loại yêu cầu theo mô hình MoSCoW

  • Must Have (Bắt buộc có):
    • Khởi động Camera và phát hiện khuôn mặt tự động.
    • Thu thập tập dữ liệu ảnh khuôn mặt (Dataset Collection) theo mã ID nhân viên.
    • Module Training dữ liệu để sinh bộ nhận diện (Recognizer model).
    • Điểm danh và ghi nhận thời gian (Timestamp) vào Database.
    • Đăng nhập phân quyền Quản trị viên (Admin Authentication).
  • Should Have (Nên có):
    • Chức năng CRUD thông tin nhân viên (Thêm, Sửa, Xóa, Tra cứu).
    • Thay đổi mật khẩu quản trị.
    • Xem và xuất lịch sử điểm danh theo ngày/tháng.
  • Could Have (Có thể có):
    • Tự động cảnh báo khi nhân viên chưa có trong tập dữ liệu (Người lạ).
    • Tối ưu hóa xử lý đa luồng (Multi-threading) để camera không bị giật lag trên giao diện GUI.
  • Won't Have (Chưa thực hiện trong phiên bản hiện tại):
    • Đồng bộ cơ sở dữ liệu phân tán qua Cloud REST API.
    • Nhận diện chống giả mạo bằng ảnh in/video (Liveness Detection).

Thiết kế hệ thống

graph TD
    A[Webcam Video Stream] -->|Khung hình thô BGR| B[PyQt5 GUI Video Thread]
    B -->|Grayscale Conversion| C[OpenCV Face Detector]
    C -->|Haar Cascade Classifier| D{Phát hiện khuôn mặt?}
    D -- Không --> B
    D -- Có --> E[Cắt vùng ROI & Tiền xử lý]
    E --> F[Bộ nhận diện khuôn mặt / LBPH]
    F -->|So khớp ID & Confidence| G[Truy vấn CSDL FaceData.db / data.sqlite]
    G -->|Xác thực thành công| H[Ghi nhận nhật ký điểm danh]
    G -->|Chưa có dữ liệu| I[Thông báo Unknown / Yêu cầu Admin thêm mới]
    H --> J[Hiển thị thông tin nhân viên lên PyQt5 UI]

Tech Stack và phiên bản công nghệ

  • Ngôn ngữ lập trình chính: Python 3.8.x – Ngôn ngữ bậc cao, tối ưu hóa xử lý ma trận và tính toán khoa học.
  • Thư viện thị giác máy tính: OpenCV (Open Source Computer Vision) phiên bản 4.5.x – Xử lý ảnh thời gian thực, cung cấp thuật toán Haar Cascade và module nhận diện cv2.face.
  • Giao diện người dùng: PyQt5 (phiên bản 5.15.x) & Qt Designer – Đóng gói giao diện trực quan thông qua module uic.
  • Hệ quản trị cơ sở dữ liệu: SQLite3 (phiên bản 3.36+) – Cơ sở dữ liệu quan hệ nhúng file đơn, không cần cài đặt server độc lập, cấu trúc bảng chỉ mục B-Tree tốc độ cao.
  • Môi trường phát triển tích hợp: Visual Studio Code / IDLE.

Thiết kế cơ sở dữ liệu chi tiết

Hệ thống sử dụng hai tệp cơ sở dữ liệu quan hệ độc lập để phân tách giữa dữ liệu nhân sự và xác thực hệ thống:

-- CSDL: FaceData.db - Bảng thông tin nhân viên
CREATE TABLE people (
    ID CHAR(10, 20) NOT NULL PRIMARY KEY,
    Name VARCHAR(30, 40) NOT NULL,
    Age INTEGER(10, 20),
    Gender CHAR(20, 30),
    Phone NUMERIC(0, 11),
    Address VARCHAR(150)
);

-- CSDL: data.sqlite - Bảng quản trị hệ thống
CREATE TABLE userdata (
    username VARCHAR(100) NOT NULL PRIMARY KEY,
    password VARCHAR(100) NOT NULL
);

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình phát triển phần mềm theo định hướng Thực nghiệm kết hợp lặp (Iterative & Experimental Methodology) gồm 4 giai đoạn:

  1. Giai đoạn 1 (Tuần 1-2): Khảo sát bài toán, phân tích Use Case, thiết kế mô hình thực thể ERD và cấu trúc lưu trữ ảnh.
  2. Giai đoạn 2 (Tuần 3-5): Xây dựng lõi xử lý ảnh OpenCV, thử nghiệm các giải thuật phát hiện khuôn mặt và kiểm thử độ nhạy của bộ phân loại.
  3. Giai đoạn 3 (Tuần 6-8): Thiết kế giao diện PyQt5, chuyển đổi file .ui sang file thực thi Python thông qua lệnh pyuic5, kết nối Database SQLite.
  4. Giai đoạn 4 (Tuần 9-10): Kiểm thử tích hợp (Integration Testing), tinh chỉnh ngưỡng tin cậy (Confidence Threshold), tối ưu hóa hiệu năng và đóng gói ứng dụng.

Implementation và kết quả

Quy trình phát triển và thuật toán cốt lõi

Quy trình nhận diện khuôn mặt và điểm danh trong hệ thống gồm 4 bước kỹ thuật chính:

  1. Thu thập tập mẫu ảnh (Data Collection): Khi thêm nhân viên mới, hệ thống mở camera và chụp liên tiếp từ 30 đến 50 mẫu ảnh khuôn mặt ở các góc độ vi mô khác nhau, tự động gán nhãn theo định dạng User.<ID>.<ImageIndex>.jpg.
  2. Tiền xử lý ảnh (Preprocessing): Chuyển đổi ảnh màu từ không gian màu RGB/BGR sang Grayscale nhằm giảm chiều dữ liệu tính toán từ ma trận 3 kênh xuống ma trận 1 kênh 8-bit (0-255), cân bằng độ sáng biểu đồ tần số (Histogram Equalization).
  3. Phát hiện vùng mặt (Face Detection): Sử dụng bộ phân loại tầng Haar Cascade (haarcascade_frontalface_default.xml) để định vị hộp bao khuôn mặt (Bounding Box).
  4. Trích xuất đặc trưng và Nhận dạng (Face Recognition): Áp dụng bộ phân loại tính toán khoảng cách vector đặc trưng hoặc mô hình Local Binary Patterns Histograms (LBPH), so khớp ID tìm được với bảng dữ liệu people trong SQLite.

Trích đoạn mã nguồn xử lý tương tác Cơ sở dữ liệu

Hàm insertOrUpdate thực hiện kiểm tra tính tồn tại của nhân viên dựa trên khóa chính ID. Nếu đã tồn tại, hệ thống cập nhật bản ghi; nếu chưa tồn tại, hệ thống thực thi câu lệnh chèn mới:

import sqlite3

def insertOrUpdate(id, name, age, gender, phone, address):
    conn = sqlite3.connect('FaceData.db')
    query1 = "SELECT * FROM people WHERE ID=" + str(id)
    try:
        cursor = conn.execute(query1)
    except sqlite3.OperationalError:
        query = """CREATE TABLE people (
                    ID CHAR (10, 20) NOT NULL PRIMARY KEY,
                    Name VARCHAR (30, 40) NOT NULL,
                    Age INTEGER (10, 20),
                    Gender CHAR (20, 30),
                    Phone NUMERIC (0, 11),
                    Address VARCHAR (150)
                );"""
        conn.execute(query)
        cursor = conn.execute(query1)
    
    isRecordExist = 0
    for row in cursor:
        isRecordExist = 1
        
    if isRecordExist == 0:
        query = f"INSERT INTO people (ID, Name, Age, Gender, Phone, Address) VALUES('{id}', '{name}', '{age}', '{gender}', {phone}, '{address}')"
        print("Thêm thông tin thành công")
    else:
        query = f"UPDATE people SET Name = '{name}', Age = '{age}', Gender = '{gender}', Phone = {phone}, Address = '{address}' WHERE ID = '{id}'"
        print("Cập nhật thông tin thành công")
        
    conn.execute(query)
    conn.commit()
    conn.close()

Pipeline nhận diện và trích xuất vùng mặt

import cv2

# Khởi tạo bộ phát hiện khuôn mặt Haar Cascade
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')

def detect_and_recognize(frame, recognizer):
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5, minSize=(30, 30))
    
    for (x, y, w, h) in faces:
        # Cắt vùng khuôn mặt (ROI)
        roi_gray = gray[y:y+h, x:x+w]
        # Nhận dạng ID và mức độ tin cậy
        id_predicted, confidence = recognizer.predict(roi_gray)
        
        if confidence < 70: # Ngưỡng tin cậy chấp nhận
            color = (0, 255, 0) # Màu xanh lá
            label = f"ID: {id_predicted} ({round(100 - confidence)}%)"
        else:
            color = (0, 0, 255) # Màu đỏ
            label = "Unknown"
            
        cv2.rectangle(frame, (x, y), (x+w, y+h), color, 2)
        cv2.putText(frame, label, (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.8, color, 2)
        
    return frame

Kết quả kiểm thử và thực nghiệm

Hệ thống được thử nghiệm trên môi trường máy tính cấu hình tiêu chuẩn: CPU Intel Core i5-8250U @ 1.60GHz, RAM 8GB DDR4, Webcam HD 720p tích hợp, OS Windows 10 Pro 64-bit.

Ma trận kiểm thử môi trường thực tế

Kịch bản kiểm thử Điều kiện ánh sáng (Lux) Khoảng cách (m) Số lượt test Tỷ lệ nhận diện đúng (%) Thời gian xử lý trung bình (ms)
Mặt chính diện, đủ sáng 350 - 500 Lux 0.5 - 0.8 m 100 96.5% 42 ms
Mặt nghiêng góc (±25°) 350 - 500 Lux 0.5 - 0.8 m 100 88.0% 48 ms
Đeo kính cận trong suốt 350 - 500 Lux 0.5 - 0.8 m 100 92.0% 45 ms
Điều kiện ánh sáng yếu 80 - 150 Lux 0.5 - 0.8 m 100 74.5% 65 ms
Khoảng cách xa 350 - 500 Lux 1.5 - 2.0 m 100 68.0% 58 ms

Đánh giá mức độ hoàn thiện tính năng

+-----------------------------------------------------------------------+
|                       TÍNH NĂNG HỆ THỐNG                              |
+---------------------------------------------------+-------------------+
| 1. Điểm danh nhận diện khuôn mặt thời gian thực    | ĐẠT (96.5%)       |
| 2. Giao diện PyQt5 & Qt Designer trực quan         | ĐẠT (100%)        |
| 3. Quản lý nhân viên (CRUD & CSDL SQLite3)        | ĐẠT (100%)        |
| 4. Phân quyền và Bảo mật Admin Authentication     | ĐẠT (100%)        |
| 5. Tốc độ phản hồi khung hình (Frame Rate)        | ĐẠT (~24-28 FPS)  |
+---------------------------------------------------+-------------------+

Đổi mới và đóng góp

Điểm nổi bật về giải pháp kỹ thuật

  1. Kiến trúc Compact Desktop không phụ thuộc mạng: Khác với các hệ sinh thái SaaS đám mây yêu cầu chi phí vận hành máy chủ hàng tháng, ứng dụng được đóng gói hoàn toàn trên máy trạm cục bộ, đảm bảo tính bảo mật 100% cho dữ liệu khuôn mặt nhân sự nội bộ (Internal Data Privacy).
  2. Tối ưu hóa pipeline xử lý ảnh trên CPU thông thường: Sử dụng giải thuật phân loại tầng kết hợp bộ lọc Grayscale và vùng ROI (Region of Interest), phần mềm duy trì tốc độ xử lý ổn định từ 24 đến 28 FPS mà không đòi hỏi card đồ họa rời (Dedicated GPU).
  3. Cơ chế lưu trữ kép đồng bộ: Tách bạch dữ liệu ảnh mẫu (lưu trữ dạng tệp tin nhãn hóa trong thư mục hệ thống) và thông tin siêu dữ liệu (Metadata/Credentials lưu trong các tệp SQLite riêng biệt FaceData.dbdata.sqlite), giúp tăng tốc độ truy vấn chỉ mục B-Tree dưới 10ms.

So sánh chi tiết với các giải pháp hiện hành

Tiêu chí Điểm danh vân tay (Hardware) API Cloud (AWS Rekognition / Face++) Phần mềm OpenCV Desktop (Đồ án)
Chi phí triển khai ban đầu 2.500.000 - 6.000.000 VNĐ 0 VNĐ (Phần cứng có sẵn) 0 VNĐ (Tận dụng PC & Webcam có sẵn)
Chi phí duy trì hàng tháng Chi phí bảo trì cảm biến Tính theo số lượng request API Hoàn toàn miễn phí (0 VNĐ)
Yêu cầu kết nối Internet Không bắt buộc Bắt buộc 100% Không cần kết nối Internet (Offline)
Tốc độ xác thực 1.0 - 2.5 giây / người 0.8 - 1.5 giây (phụ thuộc độ trễ mạng) 0.3 - 0.5 giây / người
Bảo mật quyền riêng tư ảnh Lưu mã hash vân tay nội bộ Tải ảnh lên máy chủ bên thứ ba Lưu trữ cục bộ an toàn tại đơn vị

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tiễn

  • Phòng học / Giảng đường đại học: Điểm danh tự động sinh viên khi bước vào cửa phòng học, loại bỏ hoàn toàn thời gian điểm danh đọc tên truyền thống (tiết kiệm 10-15 phút mỗi buổi học).
  • Văn phòng doanh nghiệp vừa và nhỏ (SMEs): Đặt tại quầy lễ tân hoặc cửa ra vào, nhân viên chỉ cần nhìn vào màn hình máy tính để hoàn tất chấm công trong vòng 0.5 giây.
  • Khu vực kiểm soát ra vào nội bộ: Ứng dụng vào cửa các phòng máy chủ (Server Room), phòng thiết bị yêu cầu định danh chính xác trước khi mở khóa cửa relay.

Yêu cầu hệ thống và hướng dẫn cài đặt

Yêu cầu phần cứng tối thiểu

  • Vi xử lý (CPU): Intel Core i3 thế hệ 4 hoặc AMD Ryzen 3 trở lên.
  • Bộ nhớ trong (RAM): 4 GB RAM trở lên.
  • Thiết bị thu hình: Webcam chuẩn USB 2.0 độ phân giải tối thiểu HD 720p (30 FPS).
  • Lưu trữ: 500 MB dung lượng ổ cứng trống.

Các bước triển khai phần mềm

  1. Cài đặt môi trường: Cài đặt Python 3.8.x từ trang chủ Python Foundation.
  2. Cài đặt các thư viện phụ thuộc:
    pip install opencv-python opencv-contrib-python PyQt5 pillow numpy
    
  3. Biên dịch giao diện đồ họa (nếu chỉnh sửa .ui):
    pyuic5 -x main_gui.ui -o main_gui.py
    
  4. Khởi chạy ứng dụng:
    python main.py
    

Phân tích hiệu quả kinh tế (Cost-Benefit & ROI)

  • Chi phí đầu tư hệ thống thương mại: 1 máy chấm công khuôn mặt chuyên dụng có giá từ 4.500.000 VNĐ đến 8.000.000 VNĐ. Với doanh nghiệp có 3 chi nhánh, tổng chi phí ban đầu là ~15.000.000 - 24.000.000 VNĐ.
  • Chi phí giải pháp phần mềm Python: Tận dụng 100% hạ tầng máy tính văn phòng sẵn có, chi phí phần mềm là 0 VNĐ.
  • Thời gian hoàn vốn (ROI): Doanh nghiệp tiết kiệm được chi phí đầu tư ngay từ ngày đầu tiên vận hành (Tức thì).

Hạn chế và hướng phát triển

Các hạn chế kỹ thuật hiện tại

  • Độ nhạy sáng: Bộ phân loại tầng Haar Cascade giảm độ chính xác khi đối tượng đứng ngược sáng hoặc ánh sáng môi trường dưới 100 lux.
  • Góc quay khuôn mặt (Pose Variations): Hệ thống chỉ nhận diện tốt ở góc quay trực diện; góc nghiêng vượt quá 30 độ làm giảm tỷ lệ phát hiện khuôn mặt xuống dưới 70%.
  • Chưa có Anti-Spoofing: Chưa tích hợp thuật toán nhận diện sự sống (Liveness Detection), vẫn có thể bị đánh lừa bởi ảnh chụp tĩnh độ phân giải cao hoặc video quay lại.

Hướng phát triển và nâng cấp

  1. Tích hợp Deep Learning Backbone: Nâng cấp bộ trích xuất đặc trưng sang các mạng nơ-ron tích chập nhẹ như MobileNetV3, FaceNet hoặc InsightFace để tăng độ chính xác lên >99.2% ngay cả trong điều kiện ánh sáng phức tạp.
  2. Chống giả mạo sinh trắc học (Liveness Detection): Phát hiện chuyển động chớp mắt (Eye-blink detection) và phân tích kết cấu vi mô của da người (Texture analysis) để ngăn chặn hành vi sử dụng ảnh/video giả mạo.
  3. Mở rộng kiến trúc Client - Server: Xây dựng API Backend bằng FastAPI hoặc Django REST Framework, tập trung hóa dữ liệu điểm danh về cơ sở dữ liệu PostgreSQL trên máy chủ đám mây, phục vụ điểm danh đồng thời tại nhiều chi nhánh.

Đối tượng hưởng lợi

  • Sinh viên và Người học: Tiếp cận mã nguồn thực tế, nắm vững cách kết nối giữa thư viện xử lý ảnh OpenCV, giao diện PyQt5 và cơ sở dữ liệu SQLite trong một dự án hoàn chỉnh.
  • Lập trình viên (Developers): Tham khảo kiến trúc phân tầng (View - Controller - Model) trên Python Desktop, cách tổ chức luồng bắt hình đa luồng (Multi-threading) và xử lý sự kiện giao diện.
  • Doanh nghiệp và Cơ sở giáo dục: Sở hữu một giải pháp chấm công điểm danh tự động hóa hoàn toàn miễn phí, độc lập, bảo mật và dễ dàng tùy biến theo nhu cầu quản trị nội bộ.
  • Nhà nghiên cứu: Tài liệu tham khảo về hiệu năng thực tế của các giải thuật nhận diện khuôn mặt truyền thống khi triển khai trên phần cứng máy tính phổ thông không có GPU.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai ứng dụng là gì?

Hệ thống chỉ yêu cầu máy tính chạy hệ điều hành Windows 7/10/11 hoặc Linux, RAM từ 4GB, chip Intel Core i3 thế hệ 4 trở lên và một webcam chuẩn USB có độ phân giải từ 720p. Không yêu cầu card đồ họa rời (GPU).

2. Hệ thống có thể quản lý tối đa bao nhiêu nhân viên trên cơ sở dữ liệu SQLite3?

Cơ sở dữ liệu SQLite3 với cấu trúc bảng được lập chỉ mục (B-Tree Indexing) trên trường khóa chính ID có thể đáp ứng tốt việc tra cứu và điểm danh cho quy mô từ 1.000 đến 5.000 nhân viên với thời gian phản hồi truy vấn dưới 15ms.

3. Có thể tích hợp hệ thống này với phần mềm quản lý nhân sự hiện có không?

Hoàn toàn có thể. Do dữ liệu điểm danh được ghi nhận trực tiếp vào bảng cơ sở dữ liệu quan hệ SQLite3, lập trình viên có thể dễ dàng viết script đồng bộ hóa hoặc xuất dữ liệu sang các định dạng chuẩn như CSV, Excel, hoặc kết nối tới các hệ thống HRM thông qua ODBC/REST API.

4. Hệ thống cần bảo trì định kỳ như thế nào?

Người quản trị chỉ cần thực hiện sao lưu định kỳ tệp tin FaceData.dbdata.sqlite hàng tháng. Khi nhân viên thay đổi diện mạo lớn (đổi kiểu tóc, kính mắt), Admin chỉ cần kích hoạt chức năng chụp lại mẫu ảnh và nhấn Training Data để cập nhật mô hình nhận dạng.

5. Chi phí triển khai và thời gian thu hồi vốn (ROI) tính toán ra sao?

Chi phí phần mềm là 0 VNĐ do sử dụng các công nghệ mã nguồn mở (Python, OpenCV, PyQt5, SQLite). Nếu doanh nghiệp đã có sẵn máy tính và webcam, thời gian thu hồi vốn là tức thì so với việc đầu tư từ 5 đến 15 triệu đồng cho các thiết bị chấm công chuyên dụng.


Kết luận

Đồ án tốt nghiệp "Hệ thống phần mềm nhận diện khuôn mặt, điểm danh, chấm công bằng Python" của tác giả Nguyễn Văn Sơn đã giải quyết trọn vẹn bài toán tự động hóa quy trình quản lý nhân sự và điểm danh không tiếp xúc. Bằng việc kết hợp hiệu quả giữa ngôn ngữ Python, thư viện thị giác máy tính OpenCV, giao diện đồ họa PyQt5 và hệ quản trị cơ sở dữ liệu SQLite3, hệ thống đã chứng minh được tính khả thi kỹ thuật cao, tốc độ phản hồi nhanh và độ chính xác thực nghiệm đạt 96.5% trong điều kiện tiêu chuẩn.

Giải pháp mang lại giá trị ứng dụng thực tiễn lớn cho các trường học, cơ quan và doanh nghiệp vừa và nhỏ, giúp cắt giảm 100% chi phí bản quyền thiết bị sinh trắc học đắt đỏ mà vẫn đảm bảo tính minh bạch, khách quan và hiện đại trong công tác quản trị nhân lực. Đây là tiền đề vững chắc để tiếp tục mở rộng phát triển các mô hình học sâu (Deep Learning) và chống giả mạo sinh trắc học nâng cao trong tương lai.