Thông thường thì số lượng sinh viên học tại một phòng và trong một ngày thường nhỏ hơn 1024, bằng cách làm như trên thì về mặt tổng thể giải pháp Module phần cứng có thể nhận [r]
Trang 1GIẢI PHÁP ĐIỂM DANH TỰ ĐỘNG
SỬ DỤNG VÂN TAY THEO THỜI KHÓA BIỂU CHO TRƯỜNG HỌC
Nguyễn Văn Huy 1,* , Nông Minh Ngọc 2
1 Trường Đại học Kỹ thuật Công nghiệp – ĐH Thái Nguyên,
2 Đại học Thái Nguyên
TÓM TẮT
Việc điểm danh vân tay trong các trường học là một công việc thường xuyên và tốn thời gian của giáo viên và học sinh trước mỗi giờ học Các hệ thống điểm danh vân tay tự động hiện nay thường chỉ có một cơ sở dữ liệu mẫu hạn chế nên không đáp ứng đủ cho trường hợp số lượng sinh viên hoặc học sinh lớn Đồng thời việc điểm danh tự động trong trường học hiện nay thường là sử dụng các hệ thống chấm công vân tay, các hệ thống này chỉ xác nhận đơn lẻ thông tin sinh viên tham gia hay không tham gia tại một địa điểm cố định nào đó Bài báo này đề xuất một giải pháp điểm danh vân tay tự động với cơ sở dữ liệu linh hoạt theo thời khóa biểu và địa điểm học tùy biến
Từ khoá: Điểm danh vân tay tự động, Điểm danh theo thời khóa biểu, Hệ thống nhúng, Cảm biến
vân tay R305
GIỚI THIỆU*
Điểm danh là một công việc thường xuyên tại
các đơn vị trường học, tuy nhiên hầu hết các
trường học hiện nay thì công việc này đang
được thực hiện bằng tay Nghĩa là mỗi giáo
viên hoặc người quản lý sẽ phải gọi tên và
kiểm tra sự có mặt của học sinh hoặc sinh
viên (HS-SV) trước giờ học, hoặc trước giờ
thi Việc này gây mất thời gian đồng thời có
thể có hiện tượng mạo danh
Có nhiều giải pháp công nghệ để tự động hóa
quá trình điểm danh và hạn chế việc giả mạo
như nhận dạng giọng nói, thẻ từ RFID, nhập
mã số, nhận dạng ảnh, nhận dạng vân tay,
Mỗi công nghệ đều có các ưu và khuyết điểm
riêng Theo phân tích của tác giả thì phương
pháp nhận dạng vân tay là tối ưu hơn cả vì
những lý do sau [1,2,3]: Phương pháp nhận
dạng tiếng nói chưa đạt độ chính xác tin cậy,
tại lúc điểm danh có nhiều sinh viên hỗn loạn
gây nhiễu sẽ càng làm giảm chất lượng nhận
dạng; Phương pháp thẻ từ đạt độ chính xác tin
cậy nhưng dễ bị làm giả và tốn nhiều chi phí
cho việc cấp phát thẻ; Phương pháp nhập mã
số đơn giản, chính xác 100% nhưng dễ bị giả
mạo do HS-SV có thể cung cấp mã cho người
khác; Phương pháp nhận dạng ảnh độ chính
xác chưa đạt độ tin cậy do phải lấy mẫu nhiều
*
Email: huynguyen@tnut.edu.vn
lần ở nhiều mức sáng khác nhau, đồng thời HS-SV vẫn có thể giả mạo bằng ảnh chân dung đặt gần camera nhận dạng Phương pháp nhận dạng vân tay hạn chế được các nhược điểm trên do chỉ tốn chi phí xây dựng hệ thống quản lý và nhận dạng, không mất phí cấp thẻ, rất khó có thể giả mạo và với lượng
cơ sở dữ liệu nhỏ thì có độ chính xác cao Tuy nhiên các hệ thống điểm danh tự động được sử dụng tại các trường học hiện nay chỉ
là các hệ thống chấm công tự động bằng vân tay Hệ thống này cho phép điểm danh được sinh viên tự động bằng vân tay nhưng cơ sở
dữ liệu chỉ nạp một lần theo kế hoạch, cần đến công cụ và người vận hành Việc này dẫn đến nếu thời khóa biểu của một phòng học thay đổi liên tục theo ngày thì cơ sở dữ liệu hoặc phải lớn để chứa được hết danh sách các lớp có lịch học tại địa điểm đó, hoặc là hệ thống sẽ mất tính chính xác do không gian tìm kiếm nhận dạng quá lớn Một cơ sở dữ liệu lớn sẽ làm giảm chất lượng nhận dạng, đồng thời hệ thống như vậy trong thực tế sẽ không linh hoạt do kế hoạch đào tạo có thể sẽ
bị thay đổi Cụ thể như các đơn vị đào tạo theo hệ thống tín chỉ linh hoạt có thể có nhiều lớp có lịch học tại cùng một phòng, kế hoạch thi, kiểm tra với danh sách dự thi thường là không xác định được trước do nó chỉ được thực hiện khi HS-SV đã đủ các điều kiện dự thi vào cuối kỳ học,…
Trang 2Trong bài báo này chúng tôi đề xuất một giải
pháp xây dựng hệ thống nhận dạng vân tay tự
động phục vụ cho mục đích điểm danh dựa
trên nền tảng cảm biến vân tay R305 Điểm
mới và khác biệt chính của hệ thống là cơ sở
dữ liệu nhận dạng được cập nhật linh hoạt và
tự động dựa theo thời khóa biểu Hệ thống
cho phép thống kê điểm danh theo môn học,
tiết học, kỳ học tự động theo thời khóa biểu
Bài báo sau đây được trình bày tiếp với 4
Mục Tổng quan về Module nhận dạng vân
tay R305 được trình bày ở Mục 2 Mục 3 trình
bày chi tiết về giải pháp được đề xuất để xây
dựng hệ thống điểm danh tự động bằng vân
tay Tổng quan về hệ thống thử nghiệm và kết
quả thử nghiệm được trình bày ở Mục 4 Cuối
cùng Mục 5 là phần kết luận của bài báo
MODULE NHẬN DẠNG VÂN TAY R305
Module cảm biến vân tay R305 là một module
tích hợp với các chức năng chính sau [4]:
• Cho phép thu thập và tính toán đặc trưng
vân tay tự động
• Bộ nhớ cơ sở dữ liệu tối đa là 1024 mẫu
phân biệt
• Giao tiếp với ngoại vi qua UART
• Đi kèm với module là bộ thư viện API hỗ
trợ nhiều nền tảng
Quy trình làm việc của R305 có thể được mô
tả như sau [4]:
Bước 1: Thu thập cơ sở dữ liệu (enrolling)
Đây là bước lấy mẫu vân tay và gán nhãn ID
cho từng đối tượng Dữ liệu vân tay và định
danh này có thể được lưu vào bộ nhớ dài hạn
của Module hoặc gửi lên thiết bị ngoại vi qua
giao tiếp UART Bộ nhớ dữ liệu của R305 tối
đa có thể lưu được là 1024 mẫu Như vậy
module chỉ có khả năng nhận dạng được 1
trong 1024 mẫu đã lưu
Bước 2: Nhận dạng (matching) Ở bước này
module sẽ tự phát hiện vân tay được đặt lên
camera, tự động lấy ảnh, tự động tính toán
đặc trưng và chạy thuật toán nhận dạng trên
bộ dữ liệu đã được lưu trữ Nếu phát hiện có 1
mẫu tương đồng trong cở dữ liệu thì module
sẽ trả về ID của định danh của mẫu đó Như vậy có thể thấy Module R305 chỉ thực hiện nhận dạng với số lượng mẫu trong cơ sở
dữ liệu giới hạn là 1024 và các mẫu này phải được nạp vào bộ nhớ của Module Dữ liệu trả
về của R305 chỉ là ID định danh của mẫu, nếu
áp dụng cho việc điểm danh sẽ cần thêm thông tin thời gian, địa điểm, đồng thời phải
có cơ chế nạp mẫu linh hoạt cho bộ nhớ cơ sở
dữ liệu của Module
GIẢI PHÁP ĐỂ XUẤT Giải pháp cho hệ thống đảm bảo các mục tiêu sau:
• Không hạn chế số lượng mẫu có thể nhận dạng
• Cho phép điểm danh tự động theo thời khóa biểu cho từng sinh viên Từ kết quả điểm danh có thể rút trích, tìm kiếm và thống
kê điểm danh theo môn học, phòng học hoặc sinh viên
Định nghĩa các thành phần
Cơ sở dữ liệu
Giả thiết một trường có tập phòng học là
là phòng thứ i Tập sinh viên là SV={sv j ,vt j },
j=1, ,M M là số lượng sinh viên, sv j là sinh
viên thứ j, vt j là vân tay tương ứng của sinh
viên thứ j Danh sách môn học là
mh k là môn học thứ k Thời khóa biểu được
định nghĩa như sau:
TKB={sv j ,vt j ,p i ,mh k ,Date,Time}
Module phần cứng của hệ thống
Module điểm danh vân tay được xây dựng dựa trên hai thành phần cơ bản là hệ vi xử lý Raspberry-Pi và module R305 Cấu trúc của
module được thể hiện ở Hình 1 Trong đó
R305 có chức năng chụp ảnh vân tay, nhận
dạng và gửi vt i cho Raspberry-Pi Room-ID Configuaration là thành phần cho phép cài đặt
mã phòng để định danh cho module tương
ứng được lắp đặt tại phòng p i Raspberry-Pi là
vi xử lý trung tâm sẽ nhận {p i ,vt j} và gửi lên Webserver tổ hợp thông tin
{p i ,vt j ,Date,Time} Trong đó Date và Time là
ngày và thời gian tại lúc Raspberry-Pi nhận
được {p i ,vt j}
Trang 3Hình 1 Cấu trúc của module phần cứng trong hệ
thống điểm danh
Webserver
Webserver làm việc như một giao diện người
dùng giúp sinh viên, giảng viên và người
quản lý có thể truy xuất thông tin, cấu hình
thay đổi và cập nhật dữ liệu Ngoài ra nhiệm
vụ chính của Webserver là thực hiện hai
phương thức điểm danh và cập nhập dữ liệu
Thuật toán điểm danh được phát biểu như
trong Bảng 1
Bảng 1 Thuật toán điểm danh
Thuật toán: Điểm danh (Checkin)
1:
2:
3:
4:
5:
6:
Input: {p i ,vt j ,Date,Time}
Output:
{sv j ,vt j ,p i ,mh k ,Date,Time}=True/False
If (tìm thấy {pi,vti,Date,Time} trong TKB)
Then:
{sv j ,vt j ,p i ,mh k ,Date,Time}=True
Else
{sv j,vtj,pi,mhk,Date,Time}=False
Thông tin:
{sv j ,vt j ,p i ,mh k ,Date,Time}=True/False
sau đó được lưu dưới dạng bản ghi vào bảng
dữ liệu điểm danh tích lũy Webserver sẽ sử dụng dữ liệu này để giúp sinh viên, giảng viên
và nhà quản lý truy vấn thông tin
Do mỗi module R305 chỉ lưu được 1024 mẫu
{vt j } nên không thể lưu toàn bộ dữ liệu SV
Để đảm bảo module phần cứng có thể nhận dạng được mọi sinh viên trong trường thì cơ
sở dữ liệu này cần được cập nhật một cách linh hoạt Thực tế cho thấy kế hoạch giảng dạy hay thời khóa biểu thường được xây dựng trước khi lớp học bắt đầu Như vậy ta luôn
biết trước danh sách sinh viên {sv j ,vt j} sẽ học
tại phòng {p i } vào ngày Date Để dữ liệu
được cập nhật linh hoạt, Webserver sẽ lọc ra
danh sách sinh viên {sv j ,vt j} sẽ học tại phòng
p i mỗi ngày, nếu phát hiện có sự thay đổi so
với danh sách {sv j ,vt j} đã được lưu trên
Module phần cứng tại p i thì Webserver sẽ copy danh sách mới xuống Module phần cứng Thông thường thì số lượng sinh viên học tại một phòng và trong một ngày thường nhỏ hơn 1024, bằng cách làm như trên thì về mặt tổng thể giải pháp Module phần cứng có thể nhận dạng và định danh được mọi sinh viên của trường theo thời khóa biểu Thuật
toán cập nhập được phát biểu như Bảng 2
Bảng 2 Thuật toán cập nhật dữ liệu TKB
Thuật toán: Cập nhập dữ liệu động (Update)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
While(1){
Date ← Ngày hiện tại;
Time ← Giờ hiện tại;
If (Ngày-mới(Date,Time)=true) Then {
For i from 1 to N do {
DS[i]←Select * from TKB where (TKB(Date)=Date and TKB(pi)=pi);
If DS[i]!=(DS trong Module phần cứng) then
Copy(DS[i]) vào Module phần cứng;
}
}
}
Hình 2 Sơ đồ cấu trúc hệ thống nhận dạng
Room-ID
Configuration
UART
Trang 4Mô hình hệ thống
Mô hình hệ thống điểm danh tự động bằng vân tay được tạo lập bởi ba thành phần chính là module nhận dạng vân tay, Webserver và cơ sở dữ liệu được mô tả ở Hình 2 Cách làm việc của
hệ thống gồm ba khâu như sau:
* Khâu 1: Xây dựng cơ sở dữ liệu VT, SV, MH và TKB
Dữ liệu về mã vân tay VT được xây dựng bằng cách sử dụng module R305 Toàn bộ sinh viên của trường sẽ được lấy dữ liệu vân tay và lưu vào cơ sở dữ liệu VT={vt j ,sv j } Dữ liệu thời khóa
biểu TKB được thu thập từ kế hoạch đào tạo của Trường
Hình 3 Module phần cứng Hình 4 Giao diện thông tin sinh viên trên
Webserver
Khâu 2: Cập nhận dữ liệu vân tay tự động
cho Module phần cứng (update)
Webserver sẽ giao tiếp với Module phần cứng
và định kỳ kiểm tra sự trùng khớp giữa dữ
liệu DS’[]={sv j ,vt j ,p i } được lưu trên bộ nhớ
của R305 với dữ liệu DS[]={sv j ,vt j ,p i } được
trích xuất từ TKB Nếu phát hiện sai khác thì
Webserver sẽ copy DS[] xuống Module phần
cứng của phòng p i tương ứng
Khâu 3: Điểm danh (checkin)
Sự kiện điểm danh được kích hoạt mỗi khi
Module phần cứng ở một phòng bất kỳ nhận
được ảnh vân tay Khi đó moudle R305 sẽ
tiến hành nhận dạng để định dang ảnh vân tay
nhận được so với cơ sở dữ liệu DS đã được
lưu trong bộ nhớ Nếu tìm thấy R305 sẽ gửi
mã vân tay vt j cho module vi xử lý
Raspberry-Pi, sau đó nó xử lý dữ liệu và gửi tổ hợp
{sv i, vt j, p i ,Date,Time} lên Webserver để thực
hiện quá trình điểm danh
XÂY DỰNG HỆ THỐNG THỰC NGHIỆM
Hệ thống thực nghiệm được xây dựng sử
dụng dữ liệu thời khóa biểu của trường Đại
học Kỹ thuật Công nghiệp Thái Nguyên
Module phần cứng sử dụng vi xử lý
Raspberry-Pi1 kết nối với Module nhận dạng
vân tay R305 qua giao tiếp UART Module cấu hình mã phòng được xây dựng từ một bộ chuyển mạch 8 bit để mã hóa các phòng học Mỗi phòng được mã bởi một dãy số nhị phân
8 bit tương ứng với việc bật tắt các chuyển mạch trên module này Module phần cứng được kết nối tới Webserver qua mạng LAN nội bộ Cơ sở dữ liệu và Webserver được đặt chung trên một máy tính Phần Webserver
được xây dựng bằng NET và SQL Hình 3
và Hình 4 là ảnh chụp Module phần cứng và một giao diện trên Webserver về thông tin sinh viên
Hệ thống đã được thử nghiệm với 500 lần điểm danh của 100 sinh viên cho 4 môn học tại 6 phòng học khác nhau Kết quả điểm danh chính xác 100% Thời gian trung bình
một lần update dữ liệu khi có sự thay đổi là
khoảng 3 giây với điều kiện đường truyền mạng LAN nội bộ 100MB/s Thời gian nhận dạng vân tay, xác minh và thực hiện điểm
danh checkin trung bình 1,5 giây
Bằng cách áp dụng giải pháp mà chúng tôi đề xuất, hệ thống điểm danh có thể khắc phục được vấn đề đồng bộ cơ sở dữ liệu mà các máy chấm công hiện nay gặp phải Tất cả các máy điểm danh tại các vị trí khác nhau sẽ tự
Trang 5động được cập nhật và sử dụng chung một cơ
sở dữ liệu điểm danh duy nhất Việc này sẽ
nâng cao tính chính xác và giảm thời gian quá
trình thống kê báo cáo Chính vì vậy phương
pháp này cũng có thể được áp dụng để xây
dựng các máy điểm danh cho các trường
trung học cơ sở, hoặc xây dựng các máy chấm
công tại các nhà máy
KẾT LUẬN
Trong bài báo này chúng tôi đã trình bày một
cách tiếp cận để xây dựng hệ thống điểm
danh tự động dùng vân tay có thể được áp
dụng cho các trường học Hệ thống được xây
dựng dựa trên hai thiết bị phần cứng chính là
vi xử lý Raspberry-Pi1 và module nhận dạng
vân tay R305 Bài báo cung cấp một giải pháp
hoàn chỉnh để xây dựng các hệ thống điểm
danh cho các trường học mà không bị giới
hạn bởi số lượng mã vân tay Đồng thời việc
điểm danh được thực hiện đồng bộ với thời
khóa biểu theo môn học, phòng học và từng
sinh viên một cách tự động
Để tối ưu về mặt chi phí khi xây dựng Module phần cứng điểm danh ta có thể thiết
kế hoặc lựa chọn các hệ vi xử lý, vi điều khiển tinh giản hơn so với Raspberry-Pi1 Vì thực tế nhiệm vụ của hệ vi xử lý chỉ đảm nhiệm việc truyền thông giữa Module phần cứng với Webserver Dữ liệu truyền thông
{sv i, vt j, p i ,Date,Time} thực tế có kích thước nhỏ
TÀI LIỆU THAM KHẢO
1 Awad, Ali Machine Learning Techniques for Fingerprint Identification: A Short Review 2012,
10.1007/978-3-642-35326-0_52, pp 524-531
2 Bhattacharya, Dr Samayita & Barua, Kuntal &
Kalyani, Dr & Mali, Fingerprint Identification
©2011 Global Journals Inc (US)
3 Nath, Dev & Ray, Saurav & Kumar Ghosh,
Sumit Fingerprint Recognition System : Design & Analysis International Conference on Scientific
Paradigm Shift In Information Technology & Management, SPSITM'11, 2011
4 SynoChip R30X Series Fingerprint Identification Module User Manual, 2017
ABSTRACT
AUTOMATED FINGERPRINT IDENTIFICATION SYSTEM
BASED ON SCHEDULE FOR STUDENT ATTENDANCE CHECKING
Nguyen Van Huy 1* , Nong Minh Ngoc 2
1
University of Technology – TNU,
2
Thai Nguyen University
Teachers have to check attendance of students for every single class, and it is manual usually in Vietnam Therefore it takes time and could be mistake or fake Available fingerprint identification systems for attendance checking perform with a limited and permanent database The disadvantage
is that they are limited to schools They are usually only used for timekeeping at factories or companies In this paper a new approach is proposed to design a fingerprint identification system that can be used for schools suitably This system is not limited on the amount of students and location where it is installed, and it can check the attendance based on student's schedule
Keywords: Fingerprint identification for attendancechecking, Fingerprint identification,
Fingerprint sensor, Embedded system
Ngày nhận bài: 20/9/2018; Ngày hoàn thiện: 15/11/2018; Ngày duyệt đăng: 30/11/2018
*
Email: huynguyen@tnut.edu.vn