Tài liệu Kỹ thuật: Nghiên cứu xây dựng hệ thống điểm danh bằng nhận diện

Chuyên khảo kỹ thuật phân tích Nghiên cứu xây dựng hệ thống điểm danh bằng nhận diện khuôn mặt trên nền tảng web, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp

Trường đại học

Trường Đại Học Thuỷ Lợi

Người đăng

Ẩn danh

Thể loại

Đồ Án Tốt Nghiệp

2023

56
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về hệ thống điểm danh bằng nhận diện khuôn mặt

Hệ thống điểm danh bằng nhận diện khuôn mặt là giải pháp công nghệ tiên tiến được ứng dụng rộng rãi trong các tổ chức hiện đại. Công nghệ này sử dụng các thuật toán học máy và xử lý hình ảnh để nhận dạng và xác minh danh tính của nhân viên thông qua các đặc trưng khuôn mặt. So với các phương pháp truyền thống như điểm danh thủ công hoặc thẻ từ, hệ thống điểm danh bằng nhận diện khuôn mặt mang lại hiệu quả cao hơn, giảm thiểu sai sót và tăng tính minh bạch. Đề tài này được phát triển tại Trường Đại học Thuỷ Lợi dưới sự hướng dẫn của PGS.TS Nguyễn Trọng Thắng, tập trung vào xây dựng một nền tảng web hoàn chỉnh cho quản lý điểm danh.

1.1. Định nghĩa và ý nghĩa của nhận diện khuôn mặt

Nhận diện khuôn mặt là công nghệ biometric hiện đại cho phép máy tính xác định và xác thực danh tính con người thông qua phân tích các đặc điểm trên khuôn mặt. Ứng dụng này có ý nghĩa đáng kể trong việc nâng cao an ninh, giảm chi phí quản lý nhân sự và tự động hóa quy trình làm việc. Công nghệ này được sử dụng rộng rãi trong các lĩnh vực như bảo mật, quản lý ra vào, điểm danh tại các cơ quan, trường học và doanh nghiệp.

1.2. Mục tiêu và phạm vi của đề tài

Mục tiêu chính của đề tài là xây dựng hệ thống điểm danh đầy đủ, chính xác và dễ sử dụng trên nền tảng web. Phạm vi bao gồm việc thiết kế cơ sở dữ liệu, phát triển giao diện người dùng, tích hợp thư viện nhận diện khuôn mặt và triển khai server. Hệ thống sẽ cung cấp các chức năng quản lý hồ sơ nhân viên, theo dõi thời gian làm việc và xuất báo cáo điểm danh chi tiết.

II. Công nghệ và thư viện sử dụng trong phát triển hệ thống

Để xây dựng hệ thống điểm danh bằng nhận diện khuôn mặt, đề tài sử dụng một tập hợp các công nghệ và thư viện tiên tiến. OpenCV là thư viện xử lý hình ảnh chính được sử dụng để xử lý video và ảnh từ camera. Thuật toán KNN (K-Nearest Neighbors) được áp dụng để phân loại và nhận diện khuôn mặt. Về phía frontend, ReactJS được lựa chọn để phát triển giao diện người dùng tương tác. Phía backend sử dụng Flask – framework Python nhẹ nhưng mạnh mẽ. Raspberry Pi được sử dụng làm webserver để triển khai hệ thống. Các công nghệ này kết hợp với nhau tạo thành một giải pháp hoàn chỉnh và hiệu quả.

2.1. Thư viện xử lý hình ảnh OpenCV

OpenCV là thư viện mã nguồn mở phổ biến nhất trong lĩnh vực xử lý hình ảnh và thị giác máy tính. Thư viện này cung cấp các hàm mạnh mẽ để nắm bắt video từ camera, xử lý ảnh, phát hiện khuôn mặt và trích xuất các đặc trưng. OpenCV hỗ trợ đa ngôn ngữ lập trình và có hiệu suất tối ưu, làm cho nó trở thành lựa chọn lý tưởng cho hệ thống nhận diện khuôn mặt.

2.2. Framework phát triển web Flask và ReactJS

Flask là framework web Python được sử dụng để xây dựng backend của hệ thống. Nó cung cấp khả năng xây dựng API RESTful để giao tiếp giữa frontend và backend. ReactJS là thư viện JavaScript hiện đại dùng phát triển giao diện người dùng động và phản ứng nhanh. Sự kết hợp giữa Flask và ReactJS tạo nên một nền tảng web mạnh mẽ và linh hoạt.

2.3. Nền tảng phần cứng Raspberry Pi

Raspberry Pi là một máy tính nhỏ, chi phí thấp nhưng đủ mạnh để đóng vai trò webserver cho hệ thống. Với khả năng chạy Linux, Raspberry Pi có thể chạy các ứng dụng Flask và các công nghệ xử lý hình ảnh khác. Việc sử dụng Raspberry Pi giảm chi phí triển khai đáng kể so với máy chủ truyền thống.

III. Kiến trúc và thiết kế hệ thống điểm danh

Kiến trúc của hệ thống điểm danh bằng nhận diện khuôn mặt được thiết kế theo mô hình client-server. Hệ thống bao gồm ba lớp chính: lớp presentation (giao diện), lớp business logic (logic xử lý) và lớp data (cơ sở dữ liệu). Camera sẽ nắm bắt hình ảnh khuôn mặt của nhân viên, được truyền đến backend qua nền tảng web. Backend xử lý hình ảnh bằng OpenCV, so sánh với cơ sở dữ liệu nhân viên đã huấn luyện, rồi ghi nhận kết quả điểm danh. Frontend ReactJS hiển thị kết quả realtime, cho phép quản trị viên quản lý hồ sơ, xem báo cáo và phân tích dữ liệu điểm danh một cách trực quan.

3.1. Các chức năng chính của hệ thống

Hệ thống điểm danh cung cấp các chức năng quan trọng bao gồm: quản lý hồ sơ nhân viên (thêm, sửa, xoá), quản lý thời gian làm việc, ghi nhận điểm danh realtime, xem chi tiết điểm danh từng nhân viên, xuất báo cáo điểm danh định kỳ, và hệ thống xác thực đăng nhập an toàn. Tất cả các chức năng này được tích hợp trên một giao diện web duy nhất dễ sử dụng.

3.2. Quy trình nhận diện và ghi nhận điểm danh

Quy trình hoạt động bắt đầu khi nhân viên đứng trước camera. Hệ thống nắm bắt hình ảnh, phát hiện khuôn mặt bằng OpenCV, trích xuất đặc trưng khuôn mặt và so sánh với dữ liệu trong cơ sở dữ liệu sử dụng thuật toán KNN. Nếu tìm thấy khớp, hệ thống tự động ghi nhận điểm danh với thời gian chính xác và lưu vào hệ thống điểm danh trung tâm.

3.3. Cơ sở dữ liệu và lưu trữ thông tin

Cơ sở dữ liệu lưu trữ thông tin nhân viên, hình ảnh khuôn mặt đã huấn luyện, và các bản ghi điểm danh. Dữ liệu được tổ chức theo cấu trúc quan hệ, hỗ trợ truy vấn nhanh chóng. Hệ thống bảo vệ dữ liệu nhân viên bằng các cơ chế mã hóa và kiểm soát truy cập.

IV. Lợi ích và ứng dụng thực tiễn của hệ thống

Hệ thống điểm danh bằng nhận diện khuôn mặt mang lại nhiều lợi ích đáng kể cho các tổ chức. Thứ nhất, nó nâng cao độ chính xác của quá trình ghi nhận điểm danh, loại bỏ hoàn toàn khả năng điểm danh hộ. Thứ hai, tiết kiệm thời gian và chi phí quản lý nhân sự bằng cách tự động hóa quá trình. Thứ ba, cung cấp dữ liệu chi tiết về thời gian làm việc, giúp quản lý tốt hơn và phân tích hiệu suất. Nền tảng web dễ sử dụng cho phép quản trị viên truy cập từ bất kỳ nơi đâu. Hệ thống có thể ứng dụng rộng rãi trong các trường học, công ty, nhà máy và các tổ chức chính phủ cần quản lý ra vào chặt chẽ.

4.1. Những ưu điểm nổi bật của giải pháp

So với phương pháp điểm danh truyền thống, hệ thống nhận diện khuôn mặt có nhiều ưu điểm: không thể giả mạo hay điểm danh hộ, quy trình nhanh chóng chỉ vài giây, dữ liệu lưu trữ an toàn trên nền tảng web, báo cáo tự động và chi tiết, giảm yêu cầu nhân lực, và tích hợp dễ dàng với các hệ thống quản lý khác.

4.2. Ứng dụng tiềm năng trong các lĩnh vực khác nhau

Ngoài điểm danh nhân viên, công nghệ nhận diện khuôn mặt có thể ứng dụng trong kiểm soát ra vào cơ sở, quản lý truy cập vào các khu vực giới hạn, phát hiện gian lận trong tổ chức, cấp chứng chỉ số, hoặc trong các ứng dụng an ninh liên quan đến khôi phục tội phạm. Tiềm năng ứng dụng của công nghệ này là rất rộng lớn.

4.3. Hướng phát triển tương lai của hệ thống

Trong tương lai, hệ thống điểm danh có thể được nâng cấp bằng cách tích hợp trí tuệ nhân tạo để dự đoán xu hướng hành vi nhân viên, sử dụng học sâu (Deep Learning) để nâng cao độ chính xác nhận diện, hoặc kết hợp với các biometric khác như quét mống mắt hoặc dấu vân tay cho bảo mật tuyệt đối.

28/12/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Xã hội ngày càng phát triển, Kỹ thuật điều khiển và tự động hoá là một yếu tố giúp một doanh nghiệp rất nhiều trong sự phát triển. Ngày càng nhiều doanh nghiệp đưa các công việc quản lý của mình lên các phần mềm. Trong đó, phần mềm điểm danh là phần mềm hoàn toàn có thể tích hợp với các hệ thống quản lý của các doanh nghiệp. Phần mềm điểm danh giúp các doanh nghiệp có một cách thức quản lý thời gian làm việc của nhân viên thuận tiện hơn, tính minh bạch và chính xác giúp tiết kiệm thời gian cho cả doanh nghiệp và người lao động.

Ngoài ra phần mềm điểm danh không chỉ áp dụng cho doanh nghiệp mà hoàn toàn có thể áp dụng trong các cơ quan khác như trường học, hội họp… Có nhiều cách thức để điểm danh, trong thời gian này dịch bệnh Covid-19 vẫn chưa kết thúc, do đó yêu cầu đặt ra là cần phải điểm danh bằng cách thức không tiếp xúc. Điểm danh bằng khuôn mặt đáp ứng được tiêu chí này, và tiếp tục xuất hiện thêm một vấn đề khác nữa là cần phải nhận diện được khuôn mặt chính xác cả khi đeo khẩu trang.2 Mục tiêu và phạm vi đề tài Mục tiêu của đề tài này là phát triển một ứng dụng điểm danh bằng xác minh khuôn mặt. Các nghiên cứu về phát hiện khuôn mặt đã được nhiều nhà nghiên cứu, trong đó các nhà phát triển của OpenCV có chia sẻ với cộng đồng một model đã được train sẵn trên tập dữ liệu lớn giúp phát hiện khuôn mặt. Qua thực nghiệm nhận thấy model này có thể phát hiện tốt các khuôn mặt khi đeo khẩu trang, do đó đồ án lựa chọn xây dựng ứng dụng sử dụng model này cho phát hiện khuôn mặt.

Ứng dụng thành công model này là một trong những mục tiêu của đề tài. Phạm vi của đề tài này là ứng dụng sử dụng nghiên cứu có sẵn, bổ sung thêm những kiến thức, công cụ liên quan để phát triển phần mềm phù hợp với bài toán đặt ra.3 Định hướng giải pháp Đồ án này sẽ giải quyết vấn đề theo hướng xây dựng ứng dụng chạy trên nền tảng Web, thuận tiện triển khai và sử dụng cho mọi đối tượng người dùng. 1 Xây dựng một ứng dụng Web theo mô hình Client-Server với Frontend là ReactJS – một thư viện UI đang phổ biến, Backend sử dụng ngôn ngữ và môi trường thực thi là Python để có thể sử dụng được OpenCV-Python – một thư viện của OpenCV để xử lý phát hiện khuôn mặt và sử dụng thuật toán KNN để dự đoán khuôn mặt.4 Bố cục đồ án Phần còn lại của báo cáo đồ án tốt nghiệp này được tổ chức như sau. Chương 2 trình bày về khảo sát và phân tích yêu cầu, đưa ra các chức năng sẽ có của phần mềm, mô tả các kịch bản sử dụng phần mềm.

Từ những phân tích của Chương 2, trong Chương 3 sẽ lựa chọn các công nghệ sẽ sử dụng, bao gồm phần cứng và các công nghệ sử dụng làm nền tảng phát triển phần mềm, công nghệ sử dụng để lưu trữ dữ liệu và công cụ sử dụng phục vụ triển khai sản phẩm. Chương 4 là phát triển và triển khai ứng dụng từ những yêu cầu của Chương 2 bằng các công cụ được lựa chọn ở Chương 3. Đây là chương quan trọng nhất của đồ án này, trong chương này trình bày thiết kế kiến trúc của sản phẩm, thiết kế giao diện và xây dựng ứng dụng, minh hoạ các chức năng chính của sản phẩm sau khi triển khai. 2 CHƯƠNG 2 KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 2.1 Khảo sát hiện trạng Quan sát cách thức làm việc của nơi làm việc hiện tại, hàng tháng công ty phải tổng hợp ngày nghỉ của nhân viên một các thủ công thông qua quản lý các cấp, từ đó nhận thấy tính năng quan trọng nhất cần phát triển đó là có thể theo dõi được ngày nghỉ của nhân viên mà có thể giảm bớt yếu tố con người ở trong đó.

Từ đó phần mềm đưa ra ra các tính năng chính như: Tính năng quản lý thông tin nhân viên: người quản trị có thể thêm/sửa/xoá thông tin nhân viên khi có thay đổi, có thể tải lên/chụp trực tiếp ảnh nhân viên làm dữ liệu cho điểm danh bằng khuôn mặt. Tính năng điểm danh: từ những thông tin đã được đưa lên hệ thống, nhân viên có thể xác nhận thời gian đến và về trong ngày làm việc của mình đơn giản bằng cách đứng trước camera để hệ thống nhận diện. Tính năng xem thông tin điểm danh của nhân viên: đây chính là tính năng xuất phát từ nhu cầu thực tế, công ty có thể xem thông tin ngày làm việc của nhân viên thông qua phần mềm mà không cần qua nhiều lớp quản lý, tiết kiệm thời gian và có độ chính xác cao, tính minh bạch.2 Tổng quan chức năng 2.1 Biểu đồ tổng quan Hình 1 Biểu đồ tổng quan Hệ thống gồm 2 tác nhân chính: Quản trị viên và Nhân viên Đối với quản trị viên, yêu cầu đăng nhập, sau khi đăng nhập quản trị viên có thể sử dụng các chức năng (use case): • Quản lý hồ sơ nhân viên: Quản trị viên có thể thêm sửa xoá thông tin nhân viên, bao gồm họ tên, mã nhân viên, vị trí làm việc và ảnh khuôn mặt dùng để điểm danh nhân viên. • Quản lý thời gian làm việc: Quản trị viên có thể cập nhật thời gian làm việc của công ty, thêm các ngày nghỉ lễ tết trong năm, là cơ sở để xác định thời gian đi sớm về muộn của nhân viên.

• Xem thông tin điểm danh: Quản trị viên có thể xem số ngày nghỉ, đi sớm về muộn, thời gian đến và về chi tiết của từng nhân viên. • Xuất báo cáo: Quản trị viên có thể xuất danh sách điểm danh của tất cả các nhân viên ra dạng file excel. • Đổi mật khẩu: Quản trị viên có thể đổi mật khẩu tài khoản quản trị. • Đăng xuất: Đăng xuất khỏi trình duyệt.

Đối với nhân viên, chỉ có thể điểm danh dựa trên dữ liệu đã được quản trị viên thêm vào.2 Biểu đồ quy trình đăng nhập Hình 2 Biểu đồ đăng nhập Quản trị viên nhập tài khoản và mật khẩu để đăng nhập 2.3 Biểu đồ phân rã quản lý hồ sơ nhân viên Hình 3 Biểu đồ phân rã quản lý hồ sơ nhân viên Quản trị viên có thể xem danh sách nhân viên, tìm kiếm nhân viên theo thông tin nhân viên, thêm nhân viên mới, cập nhật nhân viên và xoá nhân viên. 5 Khi thêm mới nhân viên và cập nhật nhân viên, quản trị viên có thể upload ảnh nhân viên lên từ thiết bị hoặc chụp trực tiếp qua camera, ảnh này là dữ liệu đầu vào cho chức năng nhận diện khuôn mặt nhân viên.4 Biểu đồ phân rã quản lý thời gian làm việc Hình 4 Biểu đồ phân rã quản lý thời gian làm việc Quản trị viên có thể thiết lập thời gian làm việc theo quy định của công ty, thêm các ngày nghỉ lễ tết theo quy định của nhà nước và quy định riêng của công ty nếu có. Thông tin thời gian làm việc là cơ sở cho việc xác định thời gian điểm danh của nhân viên là đúng giờ hay là muộn giờ.5 Biểu đồ phân rã xem thông tin điểm danh Hình 5 Biểu đồ phân rã xem thông tin điểm danh Quản trị viên có thể xem nhanh danh sách các nhân viên kèm theo số ngày nghỉ, đi muộn, về sớm theo tháng. Có thể tìm kiếm nhân viên theo các thông tin cơ bản của nhân viên để xem nhanh hơn, hoặc có thể chọn xem chi tiết thông tin điểm danh từng ngày trong tháng 7 2.6 Biểu đồ phân rã xuất báo cáo Hình 6 Biểu đồ phân rã xuất báo cáo Quản trị viên có thể xem danh sách các báo cáo đã xuất, tải xuống lại báo cáo đã xuất hoặc xuất báo cáo mới.7 Biểu đồ phân rã đổi mật khẩu Hình 7 Biểu đồ phân rã đổi mật khẩu Quản trị viên có thể đổi mật khẩu trong trường hợp cảm thấy mật khẩu cũ không còn an toàn.3 Đặc tả chức năng 2.1 Đặc tả use case đăng nhập Bảng 1 Kịch bản đăng nhập Tên use case Đăng nhập Tác nhân Quản trị viên Tiền điều kiện Quản trị viên đã có thông tin về tài khoản quản trị được khởi tạo mặc định của hệ thống.

Mô tả ngắn gọn Chức năng đăng nhập cho phép quản trị viên đăng nhập vào hệ thống để sử dụng các chức năng quản trị khác. 9 Hậu điều kiện Quản trị viên đăng nhập thành công. Luồng sự kiện chính 1. Quản trị viên truy cập vào trang đăng nhập.

Trang web hiển thị giao diện đăng nhập bao gồm form chứa input nhập tài khoản, mật khẩu và nút Login. Quản trị viên nhập thông tin tài khoản và mật khẩu, sau đó bấm Login. Máy chủ kiểm tra tính hợp lệ của thông tin gửi lên, nếu thoả mãn thì sẽ trả về status thành công và điều hướng sang trang quản trị. Luồng sự kiện phát sinh 2.1 Quản trị viên nhập thiếu thông tin tài khoản, mật khẩu.1 Quản trị viên nhập sai tài khoản hoặc mật khẩu.

Máy chủ gửi lại thông báo sai mật khẩu hoặc tài khoản 2.2 Đặc tả use case xem danh sách hồ sơ nhân viên Bảng 2 Kịch bản xem danh sách hồ sơ nhân viên Tên use case Xem danh sách hồ sơ nhân viên Tác nhân Quản trị viên Tiền điều kiện Quản trị viên đã đăng nhập thành công Mô tả ngắn gọn Xem danh sách hồ sơ nhân viên đã có trong hệ thống 10 Hậu điều kiện Hiển thị danh sách hồ sơ nhân viên có phân trang 1. Quản trị viên truy cập vào màn hình Luồng sự kiện chính Management/Profile 2. Trang web hiển thị danh sách hồ sơ nhân viên, phân trang mặc định 10 bản ghi 1 trang Luồng sự kiện phát sinh 2.1 Nếu chưa có nhân viên nào, danh sách hiển thị trống 2.3 Đặc tả use case tìm kiếm hồ sơ nhân viên Bảng 3 Kịch bản tìm kiếm hồ sơ nhân viên Tên use case Tìm kiếm hồ sơ nhân viên Tác nhân Quản trị viên Tiền điều kiện Quản trị viên đã đăng nhập thành công Mô tả ngắn gọn Tìm kiếm nhân viên đã có trong hệ thống Hậu điều kiện Hiển thị danh sách nhân viên thoả mãn điều kiện tìm kiếm có phân trang 1. Quản trị viên truy cập vào màn hình Luồng sự kiện chính Management/Profile 2.

Trang web hiển thị danh sách hồ sơ nhân viên, phân trang mặc định 10 bản ghi 1 trang 3. Nhập thông tin tìm kiếm nhân viên vào các ô input ở mục tìm kiếm, bao gồm 11 tên, mã nhân viên, vị trí làm việc,… Bấm nút Search 4.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ