Qua quá trình tìm hiểu và phân tích, việc cần xây dựng một ứng dụng hỗ trợ sinh viên tích hợp điểm danh online bằng nhận diện khuôn mặt là cần thiết.. Và đây là lí do mà nhóm thực hiện l
Trang 1ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ 2
ĐỀ TÀI: ỨNG DỤNG “MY VKS”
Sinh viên thực hiện : DƯƠNG QUỐC KHÁNH - 18IT1
HOÀNG NGỌC PHƯƠNG - 18IT1 Giảng viên hướng dẫn : TS HUỲNH NGỌC THỌ
Trang 2ĐẠI HỌC ĐÀ NẴNG
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ 3
ĐỀ TÀI: ỨNG DỤNG MY VKS
Trang 3MỞ ĐẦU
Trong thời đại bùng nổ thông tin và công nghệ như hiện nay, đòi hỏi công
tác quản lý nói chung và công tác quản lý sinh viên, quản lý việc dạy và học trong trường học nói riêng cũng phải thay đổi dần từ sổ sách bản giấy sang bản điện tử, để cập nhật nhanh chóng và chính xác các thông tin
Trên thực tế, việc quản lý, điểm danh sinh viên của khoa Công nghệ
Thông tin và Truyền thông còn mang tính thủ công, chưa hiệu quả
trong công tác quản lý Công tác quản lý hiện nay chủ yếu được thực hiện thủ công, mất nhiều thời gian và công sức Sự cần thiết của một hệ thống điểm danh trực tuyến
sẽ là một lựa chọn tốt để giải quyết tình trạng hiện nay
Vì lý do này, đề tài “ My VKS ” là đề tài mà em lựa chọn làm đồ án Hệ thống chương trình khi được phát triển thành công có thể đưa vào sử dụng trong trường Với sự trợ giúp của chương trình này, nhà trường có thể quản lý sinh viên một cách
dễ dàng và nhanh chóng, giảm được thời gian và công sức lao động Sinh viên cũng
có thể cập nhật nhanh số tiết, thông báo, hạn đồ án, bài tập,… Từ đó hỗ trợ tốt cho việc học
Đề tài của chúng em bao gồm 4 chương:
Chương 1: Giới thiệu
Chương 2: Nghiên cứu tổng quan
Chương 3: Phân tích thiết kế hệ thống
Chương 4: Kết luận và hướng phát triển
Nhóm thực hiện đề tàiDương Quốc Khánh Hoàng Ngọc Phương
Trang 4LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn sự giúp đỡ nhiệt tình của thầy giáoHuỳnh Ngọc Thọ, người đã định hướng, hướng dẫn cũng như hỗ trợ chochúng em trong quá trình chuẩn bị và tiến hành để chúng em có thể hoànthành tốt đồ án này
Chúng em cũng xin gửi lời cảm ơn tới các thầy cô giáo, giảng viên trongKhoa Công Nghệ Thông Tin và Truyền Thông – ĐHĐN đã cung cấp chochúng em những kiến thức cần thiết để thực hiện đồ án này
Chúng em cũng xin gửi lời cảm ơn đến gia đình, bạn bè luôn động viêngiúp đỡ chúng em trong suốt thời gian học tập và nghiên cứu, đóng gópnhững kinh nghiệm quý báu trong thời gian thực hiện đồ án này
Kính chúc thầy cô mạnh khỏe, công tác tốt, tiếp tục giảng dạy và đào tạothế hệ trẻ thành công
Xin chân thành cảm ơn !
Trang 5NHẬN XÉT
(Của giảng viên hướng dẫn)
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6MỤC LỤC
Trang
MỞ ĐẦU 3
LỜI CẢM ƠN 4
NHẬN XÉT 5
DANH MỤC CÁC BẢNG 7
DANH MỤC CÁC HÌNH 8
Chương 1 GIỚI THIỆU 9
1.1 Tổng quan 9
1.2 Phương pháp, kết quả 9
Chương 2 NGHIÊN CỨU TỔNG QUAN 10
2.1 Các thành phần 10
2.1.1 Nhận diện khuôn mặt 10
2.1.2 Công cụ hỗ trợ 10
2.1.3 Triển khai UI/UX và Back-end 10
2.2 Hạn chế, tồn tại 10
Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 11
3.1 Mô hình tổng quan của đề tài 11
3.1.1 Điểm danh bằng nhận diện khuôn mặt 11
3.1.2 Các công cụ hỗ trợ cho sinh viên 11
3.2 Thiết kế chi tiết 11
3.2.1 Xác định tác nhân( Actor) 11
3.2.2 Mô hình hóa hành vi 14
3.2.3 Mô hình hoạt động 16
3.2.4 Biểu đồ lớp 18
Chương 4 TRIỂN KHAI XÂY DỰNG 19
4.1 Phần công cụ hỗ trợ 19
4.1.1 Phần trang chủ 19
4.1.2 Phần thông báo 20
4.1.3 Phần thời khóa biểu 21
4.1.4 Phần công việc 22
4.2 Phần đăng nhập 24
4.2.1 Trước khi đăng nhập 24
4.2.2 Sau khi đăng nhập 25
4.3 Phần điểm danh 26
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 28
5.1 Kết luận 28
5.2 Hướng phát triển 28
Chương 6 TÀI LIỆU THAM KHẢO 29
Trang 7DANH MỤC CÁC BẢNG
Trang
Bảng 1: Đặc tả Usecase đăng nhập 12
Bảng 2: Đặc tả usecase đăng xuất 12
Bảng 3: Đặc tả usecase xem thông báo 12
Bảng 4: Đặc tả usecase điểm danh 12
Bảng 5: Đặc tả usecase xem lịch học hôm nay 13
Bảng 6: Đặc tả usecase xem công việc 13
Bảng 7: Đặc tả usecase thêm lời nhắc 13
Bảng 8: Đặc tả usecase xem thời khóa biểu 14
Trang 8DANH MỤC HÌNH
Trang
Hình 1: Sơ đồ Usecase cho sinh viên 11
Hình 2: Sơ đồ tuần tự chức năng đăng nhập 14
Hình 3: Sơ đồ tuần tự chức năng điểm danh 15
Hình 4: Sơ đồ hoạt động đăng nhập 16
Hình 5: Sơ đồ hoạt động điểm danh 17
Hình 6: Biểu đồ lớp 18
Hình 7: Giao diện trang chủ 19
Hình 8: Giao diện thông báo 20
Hình 9: Giao diện quét sản phẩm 21
Hình 10: Giao diện công việc 22
Hình 11: Giao diện thêm công việc 23
Hình 12: Giao diện trước khi đăng nhập 24
Hình 13: Giao diện sau khi đăng nhập 25
Hình 14: Giao diện quét khuôn mặt 26
Hình 15: Giao diện sau khi điểm danh thanh công 27
Trang 9Chương 1 GIỚI THIỆU
1.1 Tổng quan
Hiện nay, việc quản lý quá trình học tập của sinh viên tại các trường đại họcnói chung và tại khoa Công nghệ Thông tin và Truyền thông nói riêng đều đượcthực hiện một cách thủ công, gây mất thời gian và công sức Hàng ngày, mỗi khilên lớp, giảng viên sử dụng danh sách điểm danh trên máy để thực hiện việc điểmdanh sinh viên Việc này gây mất thời gian của giảng viên Bên cạnh đó sinh viêncũng chưa có một công cụ hỗ trợ đáp ứng các yêu cầu như nhắc lịch học, xemthông báo,
Trên hết công nghệ nhận diện khuôn mặt cũng đang phát triển mạnh trong thờiđại hiện nay Qua quá trình tìm hiểu và phân tích, việc cần xây dựng một ứng dụng
hỗ trợ sinh viên tích hợp điểm danh online bằng nhận diện khuôn mặt là cần thiết
Hệ thống này sẽ khắc phục được những khó khắn đang gặp phải nhằm nâng caotính hiệu quả trong công tác quản lý Và đây là lí do mà nhóm thực hiện lựa chọn
đề tài này
1.2 Phương pháp, kết quả
Ứng dụng điểm danh thông qua nhận diện khuôn mặt kết hợp hệ thống hỗ trợsinh viên sử dụng các phương pháp sau:
Ứng dụng công nghệ nhận diện khuôn mặt trong điểm danh
Sử dụng các API thông báo để xây dựng hệ thống hỗ trợ
Thực hiện việc điểm danh thông qua giao diện nhận diện khuôn mặt
Quản lý và lưu trữ thông tin thông qua database
Kết quả: Xây dựng được ứng dụng hỗ trợ sinh viên tích hợp điểm danh bằng nhận
diện khuôn mặt “My VKS”
Trang 10Chương 2 NGHIÊN CỨU TỔNG QUAN
2.1 Các thành phần
2.1.1 Nhận diện khuôn mặt
Nhận dạng khuôn mặt là một khái niệm còn khá mới mẻ, nó mới chỉ đượcphát triển vào những năm 60 của thế kỷ trước Khi đó, người ta phải dùng tớinhững phương pháp tính toán thủ công để xác định vị trí, khoảng cách và các bộphận trên khuôn mặt Về sau, vào cuối thập niên 80, kỹ thuật nhận diện khuônmặt dần được cải thiện khi M Kirby và L Sirovich phát triển phương pháp tìmmặt riêng (eigenface) sử dụng phương pháp phân tích thành phần chính (PCA),một cột mốc mới trong ngành công nghệ nhận diện khuôn mặt
Quà trình nhận diện khuôn mặt trải qua các bước:
Tìm cách xác định vị trí khuôn mặt trong ảnh hoặc video
Trích xuất các đặc điểm khuôn mặt thành embedding vector
So sánh với dữ liệu đã lưu trong cơ sở dữ liệu dể tìm ra dữ liệu phù hợp Trong dự án này hệ thống nhận diện khuôn mặt sử dụng các thành phần sau:
Sử dụng API facenet[1] của David Sandberg để thực hiện xác định vị tríkhuôn mặt trong ảnh hoặc video, để trích xuất các đặc điểm khuôn mặt
và so sánh với cơ sở dữ liệu
Sử dụng bộ dataset VGGFace2[2] để tham chiếu cho quá trình nhận diện
và trích xuất dữ liệu khuôn mặt
2.1.2 Công cụ hỗ trợ
Các công cụ hỗ trợ sinh viên bao gồm: nhắc lịch học, xem thời khóa biểu,hôm nay học gì, lời nhắc khi có hạn bài tập, đồ án, tự lập công việc cần thực hiện.Trong dự án này sử dụng các thành phần sau:
Sử dụng API thông báo của nhà trường
Sử dụng API thời khóa biểu, API lịch học trong ngày
2.1.3 Triển khai UI/UX và Back-end
UI là viết tắt của từ User Interface có nghĩa là giao diện người dùng UX là viếttắt của từ User Experience có nghĩa là trải nghiệm người dùng
Trong dự án này sử dụng các công cụ sau để tạo và thiết kế UI/UX:
Android studio
Back-end bao gồm quá trình xử lý các dữ liệu request ở phía server và quá trìnhnhào nặn trên trình ứng dụng server (application) để tạo ra gói trả lời response gửitrả về cho client
Trong dự án này sử dụng các công cụ sau để tạo và thiết kế Back-end:
Phần xử lý nhận diện khuôn mặt:
Phần xử lý API:
2.2 Hạn chế, tồn tại
Về nhận diện khuôn mặt thì có những hạn chế sau:
Sử dụng ngôn ngữ JavaScript nên tốc độ xử lý còn hạn chế
Trang 11Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 Mô hình tổng quan của đề tài
3.1.1 Điểm danh bằng nhận diện khuôn mặt
Từ dữ liệu khuôn mặt, hệ thống sẽ truy xuất đến cơ sở dữ liệu, tìm và đốichiếu sinh viên phù hợp sau đó trả về kết quả để tiến hành điểm danh
3.1.2 Các công cụ hỗ trợ cho sinh viên
Ứng dụng bao gồm các công cụ giúp ích cho sinh viên trong quá trình học tậpnhư: Xem thông báo của trường, xem thời khóa biểu, xem lịch học trng ngày, cáccông việc cần làm cũng như đặt nhắc nhở cho các công việc mới
3.2 Thiết kế chi tiết
3.2.1 Xác định tác nhân( Actor)
Ứng dụng dánh cho sinh viên sử dụng:
Sơ đồ Usecase chi tiết dành cho sinh viên:
Hình 1: Sơ đồ Usecase cho sinh viên
Trang 12Đặc tả uscase dành cho sinh viên:
Tên Use Case Đăng nhập
Mô tả Đăng nhập bằng tài khoản gmail của khoa
Dữ liệu vào Tài khoản gmail của khoa
Kết quả Đăng nhập thành công
Quy trình xử lý Sau khi nhập đuungs tài khoản gmail của khoa sinh viên
sẽ được đăng nhập vào ứng dụng
Bảng 1: Đặc tả Usecase đăng nhập
Tên Use Case Đăng xuất
Dữ liệu vào Yêu cầu đăng xuất
Kết quả Đăng xuất khỏi ứng dụng
Quy trình xử lý Sau khi gửi yêu cầu đăng xuất hệ thống sẽ chấp nhận yêu
cầu, sinh viên sẽ được đăng xuất ra khỏi hệ thống.
Bảng 2: Đặc tả usecase đăng xuất
Tên Use Case Xem thông báo
Mô tả Xem thông báo của trường
Dữ liệu vào Yêu cầu xem thông báo
Kết quả Danh sách thông báo
Quy trình xử lý Sau khi vào hệ thống ở mục thông báo sẽ hiển thị thông
báo của trường.
Bảng 3: Đặc tả usecase xem thông báo
Tên Use Case Điểm danh
Mô tả Điểm danh thông qua nhận diện khuôn mặt
Dữ liệu vào Thông tin khuôn mặt sinh viên
Kết quả Điểm danh thành công
Quy trình xử lý Sau khi quét mặt thông qua camera.
Thông tin đó sẽ được so sánh vs dữ liệu đã train sẵn.
Sau đó trả về kết quả là điểm danh thành công
Bảng 4: Đặc tả usecase điểm danh
Trang 13Tên Use Case Xem lịch học hôm nay
Mô tả Xem hôm nay có những môn học nào
Dữ liệu vào Yêu cầu xem lịch học
Kết quả Danh sách lịch học hôm nay
Quy trình xử lý Sau khi vào hệ thống ở mục hôm nay học gì sẽ hiển thị
lịch học hôm nay.
Bảng 5: Đặc tả usecase xem lịch học hôm nay
Tên Use Case Xem công việc
Mô tả Xem hôm nay có những công việc nào
Dữ liệu vào Yêu cầu xem công việc
Kết quả Danh sách công viêc hôm nay
Quy trình xử lý Sau khi vào hệ thống ở mục công việc sẽ hiển thị các công
việc cần làm.
Bảng 6: Đặc tả usecase xem công việc
Tên Use Case Thêm lời nhắc
Mô tả Thêm mới lời nhắc
Dữ liệu vào Yêu cầu thêm mới lời nhắc
Kết quả Thêm mới lời nhắc thành công
Quy trình xử lý Yêu cầu thêm lời nhắc, hệ thống yêu cầu thông tin cần
thiết, sau khi có thông tin sẽ thêm và cơ sỡ dữ liệu.
Bảng 7: Đặc tả usecase thêm lời nhắc
Trang 14Tên Use Case Xem thời khóa biểu
Mô tả Xem thời kháo biểu
Dữ liệu vào Yêu cầu xem thời kháo biểu
Kết quả Hiển thị thời khóa biểu
Quy trình xử lý Sau khi vào hệ thống ở phần thời khóa biể sẽ hiển thị thời
khóa biểu của sinh viên.
Bảng 8: Đặc tả usecase xem thời khóa biểu 3.2.2 Mô hình hóa hành vi
Mô hình tuần tự:
Hình 2: Sơ đồ tuần tự chức năng đăng nhập
Mô tả chi tiết:
Đầu tiên sinh viên gửi yêu cầu đăng nhập
Hệ thống yêu cầu thông tin gmail khoa
Nhân viên tiến hành nhập gmail và gửi về cho hệ thống
Hệ thống các thực gmail phải của khoa hay không
Hệ thống đưa thông tin tới Database
Tại database thông tin sinh viên được lưu lại
Sau khi kiểm tra đúng tiến hành trả về cho sinh viên
Trang 15Hình 3: Sơ đồ tuần tự chức năng điểm danh
Mô tả chi tiết:
Đầu tiên sinh viên gửi yêu cầu điểm danh đến hệ thống
Hệ thống yêu cầu thông tin khuôn mặt
Khách hàng tiến hành quét khuôn mặt và gửi về cho hệ thống
Hệ thống sẽ phần tích dữ liệu khuôn mặt ra thành vector và gửi lênserver
Ở server tiến hành so sánh với dữ liệu đã train sẵn và trả về model
Sau khi có model sẽ tiến hành điểm danh
Trang 163.2.3 Mô hình hoạt động
Hình 4: Sơ đồ hoạt động đăng nhập
Mô tả quá trình hoạt động chi tiết:
Đầu tiên nhập gmail từ sinh viên đưa sang hệ thống
Hệ thống kiểm tra gmail có phải của khoa hay không
Nếu đúng trả về cho phép đăng nhập, kết thúc hoạt động
Nếu sai trả về không phải gmail của khoa và kết thúc hoạt động
Trang 17Hình 5: Sơ đồ hoạt động điểm danh
Mô tả quá trình hoạt động chi tiết:
Đầu tiên yêu cầu điểm danh từ sinh viên đưa sang hệ thống
Hệ thống chấp nhận yêu cầu tiến hành quét
Sau khi có dữ liệu khuôn mặt sẽ chuyển sang hệ thống phân tích và
Trang 18 Bảng notification lưu thông tin thông báo:
Bảng todo lưu thông tin các công việc cần làm cùng với hành độngnhư:
Tạo mới công viêc
Trang 19Chương 4 TRIỂN KHAI XÂY DỰNG
4.1 Phần công cụ hỗ trợ
4.1.1 Phần trang chủ
Giao diện trang chủ:
Trang 204.1.2 Phần thông báo
Giao diện thông báo:
Hình 8: Giao diện thông báo
Giao diện thông báo bao gồm: phía trên là thanh actionbar, chính giữa hiển thị cácthông báo của trường phía dưới có thanh Bottom Navigation Bar
Trang 214.1.3 Phần thời khóa biểu
Giao diện thời khóa biểu:
Trang 224.1.4 Phần công việc
Giao diện công việc:
Hình 10: Giao diện công việc
Giao diện công việc bao gồm: phía trên là thanh actionbar, chính giữa hiển thị cáccông việc cần thực hiện, phía dưới có thanh Bottom Navigation Bar
Trang 23Giao diện thêm công việc:
Trang 244.2 Phần đăng nhập
4.2.1 Trước khi đăng nhập
Quá trình xây dựng:
Xử lý đăng nhập:
private void signIn() {
Intent signInIntent = mGoogleSignInClient getSignInIntent() ; startActivityForResult(signInIntent , RC_SIGN_IN )
}
Kết quả:
Giao diện trước khi đăng nhập:
Hình 12: Giao diện trước khi đăng nhập
Giao diện bao gồm: Phía trên là thanh actionbar, chính giữa là nút
Trang 254.2.2 Sau khi đăng nhập
Quá trình xây dựng:
Xử lý đăng xuất:
private void signOut() {
mGoogleSignInClient signOut().addOnSuccessListener(aVoid -> { prefs edit().putBoolean( "hasLogin" , false ).apply() ;
Trang 264.3 Phần điểm danh
Giao diện quét khuôn mặt:
Hình 14: Giao diện quét khuôn mặt
Giao diện bao gồm: Phía trên là phần hướng dẫn quét, chính giữa là phần nhận khuôn mặt, phía dưới là thanh process bar thể hiện quá trình quét
Trang 27Giao diện sau khi điểm danh thành công:
Hình 15: Giao diện sau khi điểm danh thanh công
Trang 28Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
5.1 Kết luận
Phần mềm sử dụng phương thức điểm danh thông qua nhận diện khuônmặt khiến cho việc điểm danh của sinh viên trở nên đơn giản, tiện lợi, bảomật ít tốn thời gian
Qua đồ án lần này chúng em đã được tự tạo ra một ứng dụng trên nền tảngandroid, biết áp dụng các kiến thức đã học vào dự án thực tế, qua đó cũng cốcác kiến thức đã học Biết cách làm việc nhóm và làm việc với github
Do mới chỉ sử dụng API có sẵn nên chưa hiểu rõ được bản chất của việc xữ
lý ảnh
Do đây mới chỉ là hệ thông thử nghiệm nên vẫn sẽ có một số lỗi khôngmong muốn, nhóm sẽ cố gắng khắc phục trong các phiên bản tiếp theo
5.2 Hướng phát triển
Ở các phiển bản tiếp theo sẽ khắc phục các lỗi còn tồn tại, cải thiện tốc độ
xử lý, tăng độ chính xác của nhận diện khuôn mặt
Sẽ phát triển thêm các chức năng để phù hợp với nhu cầu thực tế
Cố gắng phát triển các module tự nhận diện khuôn mặt mà không cần sửdụng API có sẵn