(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt(Đồ án tốt nghiệp) Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ HỆ THỐNG ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT SVTH: Lưu Mạnh Thường MSSV: 16141081 SVTH: Đỗ Văn Minh Mẫn MSSV: 16141058 Khóa: 16 Ngành: Cơng nghệ kỹ thuật Điện tử, truyền thơng Tp Hồ Chí Minh, tháng năm 2020 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP THẾT KẾ HỆ THỐNG ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT SVTH: Lưu Mạnh Thường MSSV: 16141081 SVTH: Đỗ Văn Minh Mẫn MSSV: 16141058 Khóa: 16 Ngành: Cơng nghệ kỹ thuật Điện tử, truyền thơng GVHD: ThS.Nguyễn Đình Phú Tp Hồ Chí Minh, tháng năm 2020 i LỜI CẢM ƠN Đầu tiên nhóm thực đề tài xin cảm ơn chân thành đến thầy Nguyễn Đình Phú Thầy tận tình hướng dẫn nhóm từ vấn đề nhỏ nhặt việc hồn thành tốt đề tài Nhóm xin gửi lời cảm ơn chân thành đến thầy cô khoa Điện- Điện Tử khoa đào tạo Chất Lượng Cao tạo điều kiện tốt cho em hoàn thành đề tài Những kiến thức thầy dạy, áp dụng vào đề tài Đồ Án Tốt Nghiệp nhiều, từ kiến thức nhỏ nhặt học lớn Một lần nhóm xin gửi lời cảm ơn đến tất Thầy Cơ, khơng có Thầy Cơ nhóm khó hồn thành đề tài Tiếp theo nhóm xin cảm ơn Anh Chị khóa bạn sinh viên tạo điều kiện giúp đỡ, từ tài liệu liên quan đến đề tài kinh nghiệm sống thực tế Nhóm xin cảm ơn tập thể bạn lớp 16141CL1 lớp 16141CL2 chia sẻ giúp đỡ nhiều để nhóm hồn thành đề tài Nhóm Thực Hiện Lưu Mạnh Thường Đỗ Văn Minh Mẫn vi TĨM TẮT Hiện nay, cơng nghệ nhận diện khuôn mặt ngày phát triển mạnh, ứng dụng ngày nhiều xã hội Chúng ta sử dụng cơng nghệ nhận diện khuôn mặt cho hệ thống bảo mật smartphone, hay sử dụng để nhận diện truy bắt tội phạm, đặc biệt ứng dụng rộng rãi hệ thống chấm công, điểm danh quan hay trường học Chính tính ứng dụng cao cơng nghệ nhận diện khn mặt nên nhóm định chọn đề tài “Điểm danh nhận diện khn mặt” với mong muốn tìm hiểu thiết kế mơ hình nhận dạng khn mặt thu nhỏ, để ứng dụng cho việc điểm danh lớp học thực tập khoảng 25 sinh viên vii MỤC LỤC CHƯƠNG GIỚI THIỆU 1.1 GIỚI THIỆU 1.2 MỤC TIÊU ĐỀ TÀI 1.3 GIỚI HẠN ĐỀ TÀI 1.4 PHƯƠNG PHÁP NGHIÊN CỨU .2 1.5 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.6 BỐ CỤC QUYỂN BÁO CÁO .3 CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 KỸ THUẬT PHÁT HIỆN KHUÔN MẶT QUA ẢNH .4 2.1.1 Phát khuôn mặt dựa vào Haar-Like AdaBoost 2.1.2 Đặc trưng Haar 2.1.3 Ảnh tích hợp ( Intergral image) 2.1.4 Adaboost 10 2.1.5 Cascade of Classifer 12 2.2 NHẬN DIỆN KHUÔN MẶT DỰA VÀO LBPH (LOCAL BINARY PATTERN HISTOGRAM) 14 2.2.1 Lý thuyết LBP .14 2.2.2 Huấn luyện thuật toán 15 2.2.3 Áp dụng thuật toán LBP lên ảnh 15 2.2.4 Trích xuất biểu đồ Histogram .19 2.2.5 Thực nhận dạng khuôn mặt 19 2.3 NGÔN NGỮ PYTHON VÀ THƯ VIỆN OPEN CV 20 2.3.1 Hệ điều hành Raspbian 20 2.3.2 Ngôn ngữ Python .21 2.3.3 Thư viện Open CV 23 2.3.4 Cơng tụ lập trình Thonny Python IDE .24 viii 2.4 GOOGLE SHEETS VÀ ỨNG DỤNG ĐIỂM DANH TRONG THỰC TẾ 25 2.4.1 Giới thiệu Google Sheets .25 2.4.2 Tính đặc điểm 25 2.5 CHUẨN GIAO TIẾP I2C .26 2.5.1 Giới thiệu 26 2.5.2 Đặc điểm .26 2.5.3 Quy trình truyền liệu 27 2.6 GIỚI THIỆU KIT RASPBERRY PI MODEL B 28 2.6.1 Giới thiệu 28 2.6.2 Thông số kỹ thuật 32 2.7 CÁC LOẠI MODULE VÀ CAMERA .33 2.7.1 Webam Logitech HD C270 33 2.7.2 Module chuyển đổi I2C cho LCD .34 2.7.3 Module LCD 16x2 35 2.7.4 Led đơn 5mm 37 2.7.5 Apdater hãng Raspberry Pi 5V/3A .38 CHƯƠNG THIẾT KẾ HỆ THỐNG 40 3.1 MƠ HÌNH HỆ THỐNG 40 3.2 THIẾT KẾ PHẦN CỨNG 41 3.2.1 Chức phần cứng 41 3.2.2 Thiết kế khối 41 3.3 THIẾT KẾ PHẦN MỀM 48 3.3.1 Chức hoạt động phần mềm .48 3.3.2 Cách sử dụng Google Sheets làm nơi lưu sở liệu điểm danh 49 3.3.3 Cách gửi liệu từ Python lên Google Sheets để điểm danh 56 3.3.4 Lưu đồ hoạt động .58 CHƯƠNG KẾT QUẢ 67 ix 4.1 KẾT QUẢ MƠ HÌNH THI CƠNG 67 4.1.1 Mơ hình sản phẩm 67 4.1.2 Kết thực nghiệm từ việc nhận diện khuôn mặt 68 4.1.3 Kết thực tế hiển thị LCD 70 4.1.4 Kết gửi lên trang tính Excel .71 4.2 ĐÁNH GIÁ HỆ THỐNG 72 4.2.1 Hoạt động hệ thống 72 4.2.2 Kiểm tra hoạt động hệ thống .76 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .78 5.1 KẾT LUẬN 78 5.2 HƯỚNG PHÁT TRIỂN 79 TÀI LIỆU THAM KHẢO 80 x DANH MỤC HÌNH Hình Trang Hình 2.1: Các vùng hình chữ nhật khác đặc trưng Haar-Like .6 Hình 2.2: Bốn đặc trưng Haar-Like Hình 2.3: Tóm tắt thuật tốn Adaboost 11 Hình 2.4: Kết hợp phân loại yếu để phân loại mạnh .12 Hình 2.5: Mơ tả phân lớp cascade of classifer .14 Hình 2.6: Ví dụ thuật tốn LBP 15 Hình 2.7: Minh họa ngắn gọn quy trình áp dụng thuật tốn LBP lên ảnh 18 Hình 2.8: Minh họa ngắn gọn việc trích xuất Histogram ảnh sau biến đổi LBP 19 Hình 2.9: Giao diện hệ điều hành Rasbian 21 Hình 2.10: Logo Python .22 Hình 2.11: Logo thư viện Open CV 23 Hình 2.12: Giao diện Thonny Python IDE .24 Hình 2.13: Logo Google Sheet 25 Hình 2.14: Hình ảnh thiết bị giao chuẩn I2C 27 Hình 2.15: Raspberry Pi Model B 29 Hình 2.16: Sơ đồ khối Kit Raspberry Pi Model B 30 Hình 2.17: Sơ đồ chân Kit Raspberry Pi Model B 31 Hình 2.18: Webcam Logitech HD C270 33 Hình 2.19: Sơ đồ khối Webcam Logitech C270 .34 Hình 2.20: Module chuyển đổi I2C cho LCD 35 Hình 2.21 Module LCD 16x2 36 Hình 2.22: led đơn 5mm 37 Hình 2.23: Nguồn hãng Raspberry Pi .38 Hình 3.1: Sơ đồ khối hệ thống 40 Hình 3.2: Sơ đồ kết nối webcam với Raspberry Pi thơng qua hub củaUSB 42 Hình 3.3: Sơ đồ kết nối ngoại vi với Raspberry Pi .43 Hình 3.4: Sơ đồ kết nối thẻ nhớ Raspberry Pi 44 Hình 3.5: Sơ đồ kết nối Raspberry Pi LCD 16x2 thông qua Module I2C cho LCD 45 Hình 3.6: Sơ đồ kết nối Raspberry Pi laptop/PC 46 Hình 3.7: Sơ đồ kết nối Raspberry Pi led đơn 46 xi Hình 3.8: Sơ đồ kết nối Raspberry Pi Nguồn thông qua Adapter 47 Hình 3.9: Sơ đồ khối tồn mạch 47 Hình 3.10: Sơ đồ nói dây tồn mạch 48 Hình 3.11: Các bước chấp nhận điều khoản Google Clould Platform 49 Hình 3.12: Các bước tạo project 50 Hình 3.13: Truy cập vào Google Sheets API 51 Hình 3.14: Bổ sung thêm thơng tin cho project 52 Hình 3.15: Xuất project thành file có json .53 Hình 3.16: Chia sẻ project 54 Hình 3.17: Chia sẻ project cho email người quản lý .54 Hình 3.18: Giao diện sau chia sẻ thành công 55 Hình 3.19: Kết sau gửi liệu thành công 57 Hình 3.20: Lưu đồ thuật tốn hệ thống .58 Hình 3.21: Lưu đồ chương trình xử lý ảnh chụp 59 Hình 3.22: Lưu đồ thuật tốn phát khn mặt 61 Hình 3.23: Lưu đồ huấn luyện tập ảnh mẫu sử dụng thuật toán LBPH 63 Hình 3.24: Lưu đồ thuật tốn nhận diện khn mặt dựa vào thuật tốn LBPH .64 Hình 3.25: Lưu đồ hiển thị LCD .65 Hình 3.26: Lưu đồ thuật tốn gửi thơng tin lên trang tính Excel 66 Hình 4.1: Mơ hình sản phẩm .67 Hình 4.2 Khuôn mặt chuẩn 68 Hình 4.3 Đúng khn mặt đặt xa kết No have img 69 Hình 4.4 Đúng khn mặt điều kiện ánh sáng .69 Hình LCD lúc chưa phát khn mặt 70 Hình 4.6: LCD lúc phát bạn Mẫn vào sớm 70 Hình 4.7: Phát bạn Thường vào trễ 71 Hình 4.8: Bảng kết lưu vào trang tính Excel .71 Hình 4.9: Tải file Excel lưu liệu máy 72 Hình 4.10: File Excel sau tải máy 72 Hình 4.11: Giao diện đăng nhập IP cần kết nối Remote Desktop Connection 73 Hình 4.12: Đăng nhập vào giao diện Raspberry Pi 73 Hình 4.13: Giao diện sau kết nối thành công 74 Hình 4.14: Giao diện chụp ảnh lấy mẫu 74 Hình 4.15: Giao diện lúc tranning .75 Hình 4.16: Giao diện nhận diện khuôn mặt 76 xii DANH MỤC BẢNG Bảng Trang Bảng 2.1: Thông số kỹ thuật Kit Raspberry Pi Model B 32 Bảng 2.2: Thông số kỹ thuật Webcam Logitech HD C270 34 Bảng 2.3: Thông số kỹ thuật Module I2C 35 Bảng 2.4 Thông số LCD 16x2 36 Bảng 2.5: Bảng sơ đồ chân LCD 16x2 .37 Bảng 2.6: Thông số kỹ thuật led đơn 38 Bảng 2.7: Thơng số kỹ thuật Adapter hãng 39 Bảng 3.1: Bảng kết nối chân Raspberry Pi Module I2C 45 Bảng 4.1: Bảng thống kê kết chương trình .76 xiii Đồ án tốt nghiệp 4.1.2 Kết thực nghiệm từ việc nhận diện khuôn mặt Khởi động phần mềm máy tính tiến hành kiểm tra ảnh nhiều trường hợp khác Hình 4.2 Khn mặt chuẩn Khi ta đặt vị trí với lúc tranning cường độ ánh sáng thích hợp kết xem chuẩn Hình xem chuẩn với vị trí Tranning trước Và so sánh kết tên Man Khoa đào tạo Chất Lượng Cao 68 Đồ án tốt nghiệp Hình 4.3 Đúng khuôn mặt đặt xa kết No have img Hình 4.4 Đúng khn mặt điều kiện ánh sáng Khoa đào tạo Chất Lượng Cao 69 Đồ án tốt nghiệp 4.1.3 Kết thực tế hiển thị LCD Ban đầu camera chưa hay chưa phát khn mặt thơng báo sau Hình LCD lúc chưa phát khuôn mặt Sau sinh viên đứng trước camera camera nhện diện LCD thơng báo sau Hình 4.6: LCD lúc phát bạn Mẫn vào sớm Khoa đào tạo Chất Lượng Cao 70 Đồ án tốt nghiệp Hình 4.7: Phát bạn Thường vào trễ 4.1.4 Kết gửi lên trang tính Excel Giao diện trang tính Excel Hình 4.8: Bảng kết lưu vào trang tính Excel Khoa đào tạo Chất Lượng Cao 71 Đồ án tốt nghiệp Người quản lí tải trang Excel để làm liệu quản lí sinh viên theo bước hình Hình 4.9: Tải file Excel lưu liệu máy Hình 4.10: File Excel sau tải máy 4.2 ĐÁNH GIÁ HỆ THỐNG 4.2.1 Hoạt động hệ thống Đầu tiên ta cấp nguồn cho Raspberry Pi Tiếp theo ta kết nối cổng Enthernet Raspberry Pi với cổng LAN máy tính thơng qua dây cáp LAN Sau từ máy tính ta mở phần mềm Remote Dekstop Connnection lên sau gõ địa IP Raspberry đăng nhâp vào giao diện Rasbian Khoa đào tạo Chất Lượng Cao 72 Đồ án tốt nghiệp Hình 4.11: Giao diện đăng nhập IP cần kết nối Remote Desktop Connection Sau kết nối xong giao diện: Hình 4.12: Đăng nhập vào giao diện Raspberry Pi Tên tài khoản đăng nhập mặc định Pi Khoa đào tạo Chất Lượng Cao 73 Đồ án tốt nghiệp Mật đặng nhập mặc định Raspberry (Ta thay đổi) Hình 4.13: Giao diện sau kết nối thành công Sau ta mở trình duyệt thornny lên mở file face recog.py để tiến hành gán ID chụp ảnh lấy mẫu người cần nhận diện Hình 4.14: Giao diện chụp ảnh lấy mẫu Số 1: Khung chụp ảnh người nhận diện Khoa đào tạo Chất Lượng Cao 74 Đồ án tốt nghiệp Số 2: Gán ID cho người nhận diện Tiếp theo ta mở chạy file face-regconotion-tranning.py tranning tập ảnh mẫu (nếu chụp hình lấy mẫu bỏ qua bước này) Hình 4.15: Giao diện lúc tranning Sau ta mở file reg_det.py để chạy chương trình nhận dạng quan sát kết nhận dạng thông qua cửa số khung hình, sinh viên xem có nhận dạng hay khơng thơng qua hình LCD 16x2 mơ hình Khoa đào tạo Chất Lượng Cao 75 Đồ án tốt nghiệp Hình 4.16: Giao diện nhận diện khuôn mặt Đồng thời ta đăng nhập vào Google Drive để mở trang tính Excel lên quản lí thơng tin sinh viên, người nhận diện biết thơng tin thông qua LCD 16x2 4.2.2 Kiểm tra hoạt động hệ thống Dưới bảng thống kê lại lần nhận diện Bảng 4.1: Bảng thống kê kết chương trình Tên Số lần nhận diện Số lần nhận diện Tỷ lệ xác Thường 20 19 95% Mẫn 20 18 90% Khang 20 18 95% Hào 20 19 95% Người khác 20 10% Khoa đào tạo Chất Lượng Cao 76 Đồ án tốt nghiệp Độ xác thuật tốn bị ảnh hưởng cường độ ánh sáng khoảng cách khuôn mặt đến camera, khoảng cách khuôn mặt lúc nhận dạng phải gần khoảng cách khn mặt lúc tranning có kết xác Ngồi cảnh quan phía sau khn mặt ảnh hưởng đến độ xác thuật toán Khoa đào tạo Chất Lượng Cao 77 Đồ án tốt nghiệp CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương kết luận tổng kết lại vấn đề giải đề tài, đồng thời đề hướng pháp triển xa (hoàn thiện hơn) cho đề tài 5.1 KẾT LUẬN Dựa vào nghiên cứu sở lý thuyết triển khai thực hiện, nhóm thực đề tài xây dựng thành cơng hệ thống, có đầy đủ chức mục tiêu ban đầu đề ra, khn mặt người nhận diện xác thơng qua webcam logitech, LCD trang tính Excel hiển thị đủ thông tin cần thiết cho người nhận dạng cụng người quản lí Ưu điểm: Phần cứng thiết kế gọn gàng dễ dàng lắp đặt Hệ thống nhận diện xác Hệ thống phát triển toàn diện cho người dùng dể dàng giám sát Hệ thống trang tính Excel xây dựng dựa vào Google Sheets phổ thông hỗ trợ giao tiếp sẵn với thư viện open CV nên dễ dàng nâng cấp phát triển Nhược điểm: Hệ thống thiết kế mức độ mô hình nên số lượng thiết bị module cịn hạn chế Dữ liệu tham khảo dựa tài liệu nên khơng có tính xác thực Cần có thời gian để thử nghiệm đưa liệu xác phụ hợp Tốc độ xử lí chậm nên thời gian xử lý lâu Độ xác khoảng 90% phụ thuộc vào nhiều yếu tố đặc trưng khuôn mặt người yếu tố ngoại cảnh Camera nhận diện ảnh 2D nên tính bảo mật chưa cao Khoa đào tạo Chất Lượng Cao 78 Đồ án tốt nghiệp 5.2 HƯỚNG PHÁT TRIỂN Hiện mạch đơn điều khiển Module Raspberry Pi Để nhận dạng gửi liệu đến cho LCD trang tính Excel, tương lai mạch phát triển thêm hệ thống sử dụng kết nhận dạng để điều khiển mạch động lực ứng dụng vào thực tế Ví dụ nhà thơng minh chống trộm vào nhà Có thể kết hợp với board Arduino để điều khiển nhiều thiết bị Khoa đào tạo Chất Lượng Cao 79 Đồ án tốt nghiệp TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Thanh Hải, “Giáo Trình Xử lý ảnh”, NXB ĐHQG TP.HCM 2014 [2] Nguyễn Duy Thảo, “Giáo Trình Xử lý ảnh”, Đại học Sư Phạm Kỹ Thuật TP.HCM 2015 [3] Nguyễn Đình Phú,”Giáo Trình Thực Hành Vi Xử Lý, Đại học Sư Phạm Kỹ Thuật TP.HCM 2016 [4] Võ Minh Huân,”Lập trình vi điều khiển với Raspberry”, Nhà xuất Thanh Niên Tiếng Anh [4] P Viola and M Jones, "Robust real-time face detection [J]" International Journal of Computer Visio vol 57 no pp 137-154 [5] XueMei Zhao and ChengBing Wei "A Real-time Face Recognition System Based on the Improved LBPH Algorithm" IEEE 2nd International Conference on Signal and Image Processing 2017 [6] P Viola and M Jones "Robust real time object detection" Proceedings of International Journal of Computer Vision pp 137-154 2004 Khoa đào tạo Chất Lượng Cao 80 Đồ án tốt nghiệp Khoa đào tạo Chất Lượng Cao 81 S K L 0 ... thiệu thiết kế hệ thống, thiệt bị cần cho hệ thống Chương 3: Thiết kế hệ thống Sẽ trình bày cách thiết kế để làm hệ thống nhận diện khuôn mặt Chương 4: Kết đánh giá Đánh giá lại kết hệ thống. .. rãi hệ thống chấm công, điểm danh quan hay trường học Chính tính ứng dụng cao cơng nghệ nhận diện khn mặt nên nhóm định chọn đề tài ? ?Điểm danh nhận diện khuôn mặt? ?? với mong muốn tìm hiểu thiết kế. .. 39 Đồ án tốt nghiệp CHƯƠNG THIẾT KẾ HỆ THỐNG Chương giới thiệu chi tiết ý tưởng thiết kế, lựa chọn giải pháp thiết kế, thiết kế phần cứng ( nguyên lý) thiết kế phần mềm 3.1 MƠ HÌNH HỆ THỐNG KHỐI