Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
2,19 MB
Nội dung
ĐẠI HỌC BÌNH DƯƠNG KHOA CƠNG NGHỆ THƠNG TIN, ROBOT VÀ TRÍ TUỆ NHÂN TẠO XÂY DỰNG HỆ THỐNG ĐIỂM DANH SINH VIÊN BẰNG NHẬN DIỆN KHUÔN MẶT Giảng viên hướng dẫn: ThS HUỲNH QUANG ĐỨC Sinh viên thực hiện: NGUYỄN NGỌC HẬU Mã số sinh viên: 16050028 Bình Dương, ngày 15 tháng 12 năm 2022 i BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÌNH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc DƯƠNG NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Sinh viên thực hiện: Nguyễn Ngọc Hậu - 16050028 Lớp: 19TH01 Ngành: Công nghệ phần mềm Tên đề tài: XÂY DỰNG HỆ THỐNG ĐIỂM DANH SINH VIÊN BẰNG NHẬN DIỆN KHUÔN MẶT Người hướng dẫn (tên đầy đủ): ThS Huỳnh Quang Đức Nội dung đồ án a Nhận xét hình thức báo cáo : Số trang Số chương _ Số bảng số liệu Số hình vẽ _ Sản phẩm _ Số tài liệu tham khảo b Nhận xét nội dung (kiến thức, phương pháp mà sinh viên tìm hiểu, nghiên cứu nhận xét ưu điểm hạn chế) i ii Ý nghĩa đồ án Nhận xét đồ án (nhận xét kiến thức, phương pháp mà sinh viên tìm hiểu, nghiên cứu, việc xây dựng ứng dụng demo, thái độ, ưu điểm, hạn chế sinh viên tham gia) a Ưu điểm: b Hạn chế: Đề xuất, đánh giá Đủ tiêu chuẩn bảo vệ Chưa đủ tiêu chuẩn bảo vệ Đánh giá chung: Điểm tối đa NỘI DUNG 10 Hướng nghiên cứu (cách tiếp cận đề tài, phương pháp nghiên cứu 1.5 điều tra, khảo sát) Nội dung trình bày từ hướng nghiên cứu (đặt vấn đề, giải vấn 1.0 ii Điểm iii đề) Sự phù hợp phương pháp (giá trị khoa học, thực tiển kết 2.0 nghiên cứu) 3.0 Phạm vi phân tích (tính mới, tính sáng tạo, độc đáo đề tài) Kết đạt kiến nghị (kết nghiên cứu, tóm tắt, kiến 1.0 nghị đề tài) Hình thức (định dạng, cấu trúc, nội dung, mục lục tài liệu tham 1.5 khảo) GIẢNG VIÊN HƯỚNG DẪN iii LỜI CẢM ƠN Lời xin chân thành cảm ơn giảng viên truyền đạt kiến thức chuyên môn, luôn giúp đỡ, định hướng nghề nghiệp, kỹ tốt suốt q trình học tập để em hoàn thành báo cáo Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến Ths Huỳnh Quang Đức - giảng viên trực tiếp hướng dẫn em hoàn thành báo cáo, người giảng dạy, giáo viên chủ nhiệm, thầy đồng hành em suốt trình học tập Em xin chân thành cảm ơn thầy suốt trình thực báo cáo, thầy tận tình bảo, hướng dẫn em Với kinh nghiệm làm việc kiến thức bổ ích nhiệt tình mình, thầy dẫn dắt em đến bước cuối để hoàn thành báo cáo đảm bảo nội dung thời hạn đề Em xin gửi lời cảm ơn đến gia đình, đặc biệt bố mẹ, xin gửi đến bố, mẹ lời chúc sức khỏe, cầu mong bình an hạnh phúc, - cảm ơn bố, cảm ơn mẹ, có q nhiều điều mà khơng thể viết hết thành văn, để hành động chứng minh cho lời cảm ơn tới bố mẹ Và không quên cảm ơn đến người bạn, người gắn bó suốt quãng đường sinh viên hôm nay, người giúp đỡ nhiều suốt trình thực hồn thành báo cáo SINH VIÊN THỰC HIỆN Nguyễn Ngọc Hậu iv BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÌNH DƯƠNG Độc lập – Tự – Hạnh phúc ĐỀ CƯƠNG CHI TIẾT Tên đề tài: Xây dựng hệ thống điểm danh sinh viên nhận diện khuôn mặt Giảng viên hướng dẫn: Ths Huỳnh Quang Đức Thời gian thực hiện: Từ ngày 15 tháng 09 năm 2022 đến ngày 15 tháng 12 năm 2022 Sinh viên thực hiện: NGUYỄN NGỌC HẬU - 16050028 Nội dung đề tài: ❖ Lý chọn đề tài: - Điểm danh công việc ngày thực trường học, quan, xí nghiệp Điểm danh để kiểm tra học sinh, sinh viên có đến lớp hay không, điểm danh để chấm công quan, xí nghiệp Tuy nhiên, cơng tác điểm danh phương pháp thủ cơng cịn nhiều bất cập Nếu điểm danh cách đọc tên tốn nhiều thời gian, khơng xác Nếu điểm danh cách qt vân tay lây bệnh truyền nhiễm, hay điểm danh quẹt thẻ xảy tình trạng người quẹt thẻ giúp người khác - Từ bất cập trên, số đề tài làm trước cịn nhiều thiếu sót nên tơi định xây dựng ứng dụng camera điểm danh sinh viên nhận diện khuôn mặt để nhận diện xác thời gian vào sinh viên Giúp việc quản lý sinh viên hiệu hơn, giảm thiểu tình trạng vắng mặt ❖ Mục tiêu đề tài: a) Mục tiêu: - Xây dựng ứng dụng camera nhận diện khuôn mặt để xác thực kiểm soát chặt chẽ việc vào lớp học sinh viên - Lấy liệu hình ảnh để xét điều kiện sinh viên thơng qua camera v - Khi di chuyển qua cổng hệ thống camera tự động quét khuôn mặt đối chiếu với hình ảnh lấy trước để nhận diện xác nhận thông tin vào sinh viên - Khi nhận diện thành công, lưu lại lịch sử nhận diện kèm theo lời chào giọng nói - Hệ thống nhận diện khn mặt nhiều người lúc theo thời gian thực - Hệ thống theo dõi điểm danh sinh viên thông qua web quản lý b) - Công nghệ sử dụng đề tài: Ngơn ngữ lập trình python Cơ sở liệu: SQL Camera giám sát ❖ Kết mong đợi: - Nhận diện xác khn mặt sinh viên dựa liệu ảnh lấy từ sinh viên trước - Hệ thống nhận diện khn mặt nhiều người lúc theo thời gian thực - Lưu lại lịch sử nhận diện thành công - Lời chào giọng nói - Hệ thống theo dõi điểm danh qua web quản lý Kế hoạch thực hiện: Sinh viên thực đề tài Thời gian Nguyễn Ngọc Hậu Từ 15/09/2022 Đến 05/11/2022 - Nghiên cứu thuật tốn, ngơn ngữ lập trình thư viện cần thiết trình xây dựng hệ thống Tìm kiếm thu thập liệu cần thiết để huấn luyện mơ hình vi Từ 05/11/2022 Đến 05/12/2022 Từ 05/12/2022 đến 12/12/2022 Từ 12/12/2022 đến 14/12/2022 ✓ Tiến hành lập trình ✓ Xây dựng thuật toán nhận diện ✓ Xây dựng hệ thống quản lý ✓ Hoàn thành hệ thống điểm danh ✓ Thực viết báo cáo ✓ Kiểm thử ứng dụng ✓ Hồn thiện đề tài Bình Dương, ngày … tháng … năm … TRƯỞNG KHOA CB HƯỚNG DẪN (Ký tên ghi rõ họ tên) (Ký tên ghi rõ họ tên) vii DANH MỤC CÁC CHỮ VIẾT TẮT viii CHƯƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 TÊN ĐỀ TÀI 1.2 LÝ DO CHỌN ĐỀ TÀI 1.3 MỤC ĐÍCH CỦA ĐỀ TÀI 1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI 1.5 PHÂN TÍCH ĐÁNH GIÁ HƯỚNG NGHIÊN CỨU 1.5.1 Hướng tiếp cận dựa tri thức: 1.5.2 Hướng tiếp cận dựa đặc trưng không thay đổi: 1.5.3 Hướng tiếp cận dựa khớp mẫu: 1.5.4 Hướng tiếp cận dựa diện mạo: CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 NGHIÊN CỨU TỔNG QUAN 2.1.1 Khái quát xử lý ảnh 2.1.2 Các vấn đề xử lý ảnh: 10 2.2.1 Nhận diện khuôn mặt (Face Recognition) 12 2.3.1 Công cụ sử dụng đề tài: 17 2.2 MÔI TRƯỜNG PHÁT TRIỂN 26 2.2.1 Hệ điều hành Windows 10 27 2.2.2 Phần mềm XAMPP 29 CHƯƠNG 3: TRIỂN KHAI MƠ HÌNH VÀ THIẾT KẾ ỨNG DỤNG 31 3.1 BÀI TOÁN NHẬN DIỆN KHUÔN MẶT 31 3.1.1 Phát khuôn mặt 31 3.1.2 Vấn đề toán: 31 3.2 XÂY DỰNG MƠ HÌNH THUẬT TỐN 32 3.2.1 Mơ hình thuật tốn nhận diện khn mặt 32 3.2.2 Thiết kế sở liệu 33 3.2.3 Thiết kế giao diện 33 3.2.4 Bắt đầu viết chương trình 34 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 37 4.1.1 Lấy liệu khuôn mặt: 37 4.1.2 Chức nhận diện khuôn mặt 38 4.1.3 Lưu lại lịch sử nhận diện 39 4.2 GIAO DIỆN ỨNG DỤNG 40 4.2.1 Giao diện 40 ix Đò án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 CHƯƠNG 3: TRIỂN KHAI MƠ HÌNH VÀ THIẾT KẾ ỨNG DỤNG 3.1 BÀI TỐN NHẬN DIỆN KHN MẶT 3.1.1 Phát khuôn mặt Phát khuôn mặt (Face Detection) kĩ thuật máy tính để xác định vị trí kích thước khn mặt người ảnh Kỹ thuật nhận biết đặc trưng khuôn mặt bỏ qua thứ khác như: tòa nhà, cấy cối, thể 3.1.2 Vấn đề tốn: A Hình dung khn mặt từ vật thể: Như não người có sợi thần kinh để làm tất việc cách tự động Trong thực tế, người giỏi việc nhận diện khuôn mặt tưởng tượng khuôn mặt vật thể ngày Hình 2.1: Hình dung khn mặt từ vật thể Máy tính lại khơng có khả bậc cao kiểu (trong tương lai có) Nên cần dạy cho chúng cách để làm bước riêng biệt trình nhận dạng Chúng ta cần xây dựng quy trình (hệ thống) nơi giải bước nhận diện khuôn mặt cách riêng biệt, chuyển kết cho bước B Quy trình phát khn mặt: Đây quy trình thực để xây dựng công cụ nhận diện khuôn mặt: • • • • • • Tải Thuật toán Haar Cascade Frontal Face Khởi tạo camera Đọc khung hình từ camera Tiền xử lý hình ảnh Trích xuất đặc trưng khn mặt Lấy tọa độ khn mặt 31 Đị án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 • Xét điều kiện • Hiển thị đầu 3.2 XÂY DỰNG MƠ HÌNH THUẬT TỐN 3.2.1 Mơ hình thuật tốn nhận diện khn mặt Lấy khung hình: o Đầu tiên chương trình khởi tạo camera: o Bắt đầu đọc khung hình từ camera o Sau tải thuật tốn Haar Cascade Frontal Face từ thư viện OpenCV để xác định khung hình có chứa khn mặt Tiền xử lý hình ảnh: Chương trình chuyển hình ảnh liệu khuôn mặt sang thang độ xám sang thang độ xám, khử nhiễu, nâng cao chất lượng hình ảnh Trích xuất đặc trưng khn mặt: Hình ảnh thơng qua tiền xử lý hình ảnh tiếp tục đưa vào xử lý để lấy đặc điểm bật hình ảnh Kết xử lý hình ảnh: Gán nhãn cho hình ảnh Xét điều kiện: Sử dụng hình ảnh chuẩn đối chiếu với hình ảnh khn mặt cần nhận diện thỏa điều kiện đưa kết nhận diện Hình 2.2: Mơ hình thuật tốn nhận diện khn mặt 32 Đị án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 3.2.2 Thiết kế sở liệu Dữ liệu sinh viên lịch sử điểm danh lưu lại vào sở liệu Hình 2.3 Thiết kế sở liệu 3.2.3 Thiết kế giao diện Giao diện hệ thống gồm: o Trang chủ o Quản lý sinh viên ▪ Thêm sinh viên ▪ Danh sách sinh viên o Lịch sử điểm danh o Bật điểm danh Hình 2.4 Giao diện hệ thống điểm danh 33 Đò án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 3.2.4 Bắt đầu viết chương trình A Bài tốn lấy liệu hình ảnh khn mặt: o Cấu hình camera: frameWidth = int(800) frameHeight = int(480) o Load file xác định khuôn mặt OpenCV: face_cascade = cv2.CascadeClassifier('core/haarcascade_frontalface_default.xml ') o Sử dụng thư viện mediapipe để lấy liệu khuôn mặt từ hướng: for (x1, y1, w1, h1) in faces: face = clean[y1:y1+h1, x1:x1+w1] cv2.rectangle(roi, (x1, y1), ((x1 + w1), (y1 + h1)), (255, 0, 0), ) help_text = "Hay dat khuon mat theo cac huong!" determine_head_pose(frame, org_frame, face) o Lưu hình ảnh khn mặt chụp lại: path = "static/dataset/" os.makedirs(path, exist_ok=True) B Huấn luyện mơ hình: Sử dụng LBPHFaceRecognizer_create() để phân hình ảnh thành mảng, mảng ID, mảng hình ảnh, đưa vào trình huấn luyện, đặt tên file huấn luyện classifier.xml def train(): dataset_dir = "static/dataset" path = [os.path.join(dataset_dir, f) for f in os.listdir(dataset_dir)] path.pop(0) 34 Đò án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 print(path) faces = [] ids = [] for image in path: print(image) img = Image.open(image).convert('L') imageNp = np.array(img, 'uint8') id = int(os.path.split(image)[1].split("-")[0]) faces.append(imageNp) ids.append(id) ids = np.array(ids) print(ids) clf = cv2.face.LBPHFaceRecognizer_create() clf.train(faces, ids) clf.write("core/classifier.xml") return {'message' : 'done'} C Nhận diện khuôn mặt: Thuật tốn thơng qua tiền xử lý hình ảnh, trích xuất đặc trưng khn mặt đưa vào so sánh đối chiếu với hình ảnh chuẩn, cho kết nhận diện đầu ra: def face_recognition (): global pause_cnt, cnt, justscanned, audio from gtts import gTTS import os pause_cnt = justscanned = False cnt = 35 Đò án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 faceCascade = cv2.CascadeClassifier("core/haarcascade_frontalface_default.x ml") clf = cv2.face.LBPHFaceRecognizer_create() clf.read("core/classifier.xml") wCam, hCam = 400, 400 cap = cv2.VideoCapture(0) cap.set(3, wCam) cap.set(4, hCam) while True: ret, img = cap.read() img = recognize(img, clf, faceCascade) frame = cv2.imencode('.jpg', img)[1].tobytes() yield (b' frame\r\n' b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n') key = cv2.waitKey(1) if key == 27: break 36 Đò án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 4.1 CHỨC NĂNG ỨNG DỤNG 4.1.1 Lấy liệu khuôn mặt: Người dùng sử dụng camera để lấy liệu hình ảnh khn mặt Hình 2.5 Q trình thu thập liệu hình ảnh khn mặt Hình 2.6 Dữ liệu hình ảnh khn mặt 37 Đị án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 Hình 2.7 Hình ảnh đưa vào mơ hình huấn luyện 4.1.2 Chức nhận diện khn mặt Hình 2.8 Nhận diện khn mặt 38 Đị án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 Hình 2.9 Nhận diện khn mặt ✓ Hệ thống không nhận diện khuôn mặt liệu hình ảnh Hình 3.1 Nhận diện không thành công Sau nhận diện thành công, hệ thống gửi lời chào âm đến người dùng “Xin chào – tên người nhận diện” 4.1.3 Lưu lại lịch sử nhận diện Sau điểm danh thành công, hệ thống lưu lại thông tin lịch sử: 39 Đò án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 Hình 3.2 Lịch sử điểm danh 4.2 GIAO DIỆN ỨNG DỤNG 4.2.1 Giao diện Hình 3.3: Giao diện Hình 3.4: Giao diện danh sách sinh viên 40 Đò án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 Hình 3.5 Thêm sinh viên 4.2.2 Giao diện kết Hình 3.6: Giao diện kết 4.3 Kết thực nghiệm Khuôn mặt Kết Đúng Sai Tỉ lệ xác Đầu vào 10 70% Hình 3.7: Nhận diện thành cơng 41 Đị án tốt nghiệp Nguyễn Ngọc Hậu - 16050028 Hình 3.8: Khn mặt đặt sai hướng Hình 3.9 Nhận diện người lúc Hình 4.1 nhận diện người lúc chưa ổn định 42 Đồ án tốt nghiệp Chương Kết luận CHƯƠNG KẾT LUẬN 5.1 Ưu Điểm ✓ Hệ thống điểm danh nhận diện khn mặt nhận diện lúc nhiều người ✓ Ứng dụng dễ sử dụng ✓ Lời chào từ hệ thống đối tượng nhận diện thành công ✓ Tỉ lệ nhận diện xác cao mơi trường ánh sáng đầy đủ 5.2 Hạn chế ✓ Lời chào từ hệ thống phát người nhận diện trước ✓ Tỉ lệ nhận diện xác đối tượng chưa cao, gây nhầm lẫn trình nhận diện ✓ Hệ thống nhận diện khoảng cách gần ✓ Chưa nhận dạng xác môi trường thiếu ánh sáng 5.3 Các hướng phát triển hệ thống Tơi tìm hiểu xây dựng thuật tốn nhận diện khn mặt: - - - - Hệ thống lấy liệu khuôn mặt người dùng thơng qua camera, từ đưa vào mơ hình huấn luyện sử dụng nhận diện khuôn mặt người Hệ thống sử dụng 15 ảnh với góc độ, ảnh góc để hệ thống nhận diện thành công đối tượng với tỉ lệ kết đầu xác 7/10, kết đánh giá chưa đạt hiệu cao trình nhận diện, sai sót trình điểm danh Hướng phát triển hệ thống tương lai: o Hệ thống nhận diện cách sử dụng hình ảnh khn mặt rõ nét o Hệ thống phát đối tượng khoảng cách xa o Cùng lúc phát nhiều người o Có thể nhận diện xác kể mơi trường thiếu ánh sáng, buổi tối Ứng dụng hệ thống vào sống: o Có thể sử dụng để điểm danh nhân viên công ty o Sử dụng vào điểm danh sinh viên lớp học 43 DANH MỤC TÀI LIỆU THAM KHẢO [1]https://ec.europa.eu/justice/article-29/documentation/opinionrecommendation/files/2012/wp192_en.pdf [2] https://arxiv.org/ftp/arxiv/papers/1901/1901.02452.pdf [3]http://www.pace.ac.in/documents/ece/FACE%20RECOGNITION%20SY STEM%20WITH%20FACE%20DETECTION.pdf [4] https://users.soict.hust.edu.vn/ductq/XLA%20Lecture.pdf [5] http://tailieuso.udn.vn/bitstream/TTHL_125/9762/2/HoAnhTrang.TT.pdf [6] http://vnlp.net/wpcontent/uploads/2010/06/KLTN_NguyenThiHoan_final.pdf [7] https://lib.hpu.edu.vn/bitstream/handle/123456789/18117/51_NguyenTienMa nh_CT1001.pdf [8] http://lib.uet.vnu.edu.vn/bitstream/123456789/959/3/T%C3%B3m%20t%E1 %BA%AFt%20lu%E1%BA%ADn%20v%C4%83n%20th%E1%BA%A1c% 20s%E1%BB%B9.pdf [9] https://jst-haui.vn/media/30/uffile-upload-no-title30606.pdf [10]http://lib.uet.vnu.edu.vn/bitstream/123456789/55/1/LUAN%20VANNGUYEN%20THI%20DUONG-KTDT-K21.pdf