1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài THIẾT KẾ MÔ HÌNH NHẬN DIỆN KHUÔN MẶT CỬA TỰ ĐỘNG VỚI OPENCV PYCHARM & ARDUINO

37 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI  BỘ MÔN ĐIỆN – ĐIỆN TỬ BÁO CÁO BÀI TẬP LỚN Đề tài : THIẾT KẾ MÔ HÌNH NHẬN DIỆN KHUÔN MẶT CỬA TỰ ĐỘNG VỚI OPENCV PYCHARM & ARDUINO GVHD: K.S Mai Vạn Hậu MSSV Lớp 6251030087 CQ.62.TĐHĐK Nhóm Sinh viên thực hiện: 6251030061 CQ.62.TĐHĐK Họ&Tên 6251030014 CQ.62.TĐHĐK 6251030040 CQ.62.TĐHĐK Nguyễn Chí Thoan 6251030062 CQ.62.TĐHĐK Lê Hoài Nam Nguyễn Ngọc Duy Khang Đỗ Tiến Đạt Văn Trọng Nghĩa Tp Hồ Chí Minh, tháng 11 năm 2023 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI  BỘ MÔN ĐIỆN – ĐIỆN TỬ BÁO CÁO BÀI TẬP LỚN Đề tài : THIẾT KẾ MÔ HÌNH NHẬN DIỆN KHUÔN MẶT CỬA TỰ ĐỘNG VỚI OPENCV PYCHARM & ARDUINO GVHD: K.S Mai Vạn Hậu MSSV Lớp 6251030087 CQ.62.TĐHĐK Nhóm Sinh viên thực hiện: 6251030061 CQ.62.TĐHĐK Họ&Tên 6251030014 CQ.62.TĐHĐK 6251030040 CQ.62.TĐHĐK Nguyễn Chí Thoan 6251030062 CQ.62.TĐHĐK Lê Hoài Nam Nguyễn Ngọc Duy Khang Đỗ Tiến Đạt Văn Trọng Nghĩa Tp Hồ Chí Minh, tháng 11 năm 2023 BẢNG NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN STT Nội dung thực hiện Nhận xét Nhận xét tổng quát: MỤC LỤC LỜI MỞ ĐẦU i DANH MỤC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT ii DANH MỤC HÌNH ẢNH iii CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI .1 1.1 Tính cấp thiết của đề tài 1 1.1.1 Lý do chọn đề tài 1 1.1.2 Ý nghĩa khoa học 1 1.1.3 Tính cấp thiết 1 1.1.4 Tính khả thi .1 1.2 Mục tiêu nghiên cứu của đề tài 1 1.3 Đối tượng và phạm vi nghiên cứu 1 1.4 Phương pháp nghiên cứu .1 1.5 Kết cấu của đề tài 1 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .2 2.1 Mô hình Classifier Cascade 2 2.1.1 Đặc trưng Haar Like (mô tả đối tượng trong hình ảnh) 2 2.1.2 Thuật toán AdaBoost (huấn luyện các bộ phân loại) .2 2.1.3 Mô hình phân tầng Cascade (loại bỏ các vùng không quan trọng) 3 2.1.4 Tổng quát 3 2.2 Thuật toán LBPH 4 2.3 Thư viện OpenCV 6 2.4 Thư viện sqlite3 .7 2.5 Thư viện PIL 7 2.6 Thư viên pySerial 8 2.7 Thư viện pyttsx3 .8 2.8 Thư viên Time 8 2.9 Tổng quát 8 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 10 3.1 Xây dựng mô hình 10 3.1.1 Lấy dữ liệu khuôn mặt từ wedcam 10 3.1.2 Huấn luyện dữ liệu đưa vào và trích chọn các đặc trưng .13 3.1.3 Xác thực khuôn mặt và điều khiển động cơ 14 3.2 Giao diện giao tiếp người dùng .18 3.2.1 Giới thiệu thư viện Tkinter .18 3.2.2 Thành phần của giao diện .18 3.2.3 Kết quả của giao diện 20 3.3 Mô hình mô phỏng thực tế .20 3.3.1 Giới thiệu thiết bị 21 3.3.2 Cấu thành mô hình 21 3.3.3 Hoàn thành mô hình 22 KẾT LUẬN 24 TÀI LIỆU THAM KHẢO 25 PHỤ LỤC .26 LỜI MỞ ĐẦU Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến tập thể quý Thầy Cô Trường Phân Hiệu Đại học Giao Thông Vận Tải Tp HCM và quý Thầy Cô khoa Điện – Điện tử đã giúp cho em có những kiến thức cơ bản làm nên tảng đề thực hiện đề tài này Đặc biệt, em xin gửi lời cảm ơn và lòng biết ơn sâu sắc nhất tới Thầy Mai Văn Hậu (Giảng viên môn xử lí ảnh trong công nghiệp và giao thông) Thầy đã trực tiếp hướng dẫn tận tình, sửa chữa và đóng góp nhiều ý kiến quý báu giúp em hoàn thành tốt bài báo cáo môn học của mình Trong thời gian một học kỳ đề thực hiện đề tài, em đã vận dụng những kiến thức nên tảng đã tích lũy đồng thời kết hợp với việc học hỏi và nghiên cứu những kiến thức mới Từ đó, em vận dụng tối đa những gì đã thu thập được để hoàn thành một báo cáo bài tập lớn tốt nhất Tuy nhiên, trong quá trình thực hiện, em không tránh khỏi được những thiếu sót Chính vì vậy, em rất mong nhận được những sự góp ý từ phía các Thầy Cô nhằm hoàn thiện những kiến thức mà em đã học tập và là hành trang để em thực hiện tiếp các đề tài khác trong tương lai Em xin chân thành cảm ơn các quý Thầy Cô! i DANH MỤC KÝ HIỆU, THUẬT NGỮ VIẾT TẮT LBPH Local Binary Patterns Histograms XML Extensible Markup Language OpenCV Open Source Computer Vision API Application Programming Interface SVM Support Vector Machines TTS Text-to-Speech CV Computer Vision MILL Multiple-Instance Learning with GUI Label Propagation SAPI5 Graphical User Interface Speech Application Programming Interface 5 ii DANH MỤC HÌNH Ả Hình 2 1 Các đặc trưng Haar-Like cơ bản 2 Hình 2 2 Phân loại các đặc trưng Haar-Like 2 Hình 2 3 Kết hợp các bộ phân loại yếu thành bộ phân loại 3 Hình 2 4 Mô hình phân tầng Cascade 3 Hình 2 5 Phát hiện khuôn mặt người và xác định vùng khuôn mặt 4 Hình 2 6 Chia hình ảnh thành ô nhỏ và xác định mẫu nhị phân 5 Hình 2 7 Ảnh đa cấp xám (trái), ảnh LBP (giữa) và biểu đồ (phải) của ảnh LBP .5 Hình 2 8 Ảnh quá trình sử dụng thuật toán LBPH để trích xuất các đặc trưng của hình ảnh 6 Hình 2 9 Cấu trúc cơ bản của OpenCV .7 Y Hình 3 1 Sơ đồ quy trình Nhận dạng khuôn mặt 10 Hình 3 2 Thiết lập một phần thiết lập và cập nhật dữ liệu vào cơ sở dữ liệu SQLite .11 Hình 3 3 Sử dụng CascadeClassifier và truy cập wedcam .11 Hình 3 4 Wedcam thu thập dữ liệu hình ảnh, xử lý và lưu vào thư mục .12 Hình 3 5 Quá trình thu thập .13 Hình 3 6 Trong “os” đã có các bộ huấn luyện có sẵn .14 Hình 3 7 Định nghĩa một hàm phát giọng nói 15 Hình 3 8 Phát tín hiệu âm thanh khi thực hiện nhận diện khuôn mặt 17 Hình 3 9 Giao diện giao tiếp người dùng được hiển thị 20 Hình 3 10 Hình ảnh Arduino Uno 21 Hình 3 11 Hình ảnh Mạch cầu H .21 Hình 3 12 Động cơ DC giảm tốc .21 Hình 3 13 Hình ảnh về cấu tạo mô hình cửa cuốn 22 Hình 3 14 Bên ngoài , bên trong mô hình .23 iii CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Tính cấp thiết của đề tài 1.1.1 Lý do chọn đề tài Tính quan trọng của nhận diện khuôn mặt trong nhiều lĩnh vực, như an ninh, giao thông, nhận dạng cá nhân và giao diện người máy Độ phức tạp tương đối thấp của thuật toán LBPH, giúp đơn giản hóa việc nghiên cứu và triển khai trong các ứng dụng có tài nguyên hạn chế 1.1.2 Ý nghĩa khoa học Đóng góp vào lĩnh vực nhận diện khuôn mặt và hiểu rõ hơn về phương pháp truyền thống như LBPH so với các phương pháp hiện đại khác Phân tích đặc điểm khuôn mặt và tương quan giữa chúng, đóng góp vào việc hiểu và mô phỏng quá trình nhận diện khuôn mặt 1.1.3 Tính cấp thiết Ứng dụng thực tế trong nhiều lĩnh vực, giúp giải quyết các vấn đề về an ninh, quản lý dữ liệu cá nhân và nhận diện cá nhân Tính chính xác tương đối của thuật toán LBPH trong điều kiện đơn giản và ánh sáng tốt 1.1.4 Tính khả thi Sẵn có trong thư viện OpenCV, giúp giảm thời gian và công sức triển khai Có khả năng điều chỉnh và tối ưu hóa theo yêu cầu của ứng dụng cụ thể thực tế chẳng hạn như việc đóng mở cửa, tăng cường tính bảo mật 1.2.Mục tiêu nghiên cứu của đề tài Với đề tài "Nhận diện khuôn mặt mở cửa" mục đích của chúng tôi là xây dựng hệ thống nhận diện khuôn mặt và mở cửa tự động, tích hợp OpenCV, PyCharm và Arduino, với hiệu suất và độ chính xác cao 1.3 Đối tượng và phạm vi nghiên cứu Các đối tượng cần nghiên cứu và phạm vi nghiên cứu có thể giải quyết được đề tài: - Đối tượng nghiên cứu: Lập trình Python OpenCV, Arduino Uno - Phạm vi nghiên cứu: Thuật toán LBPH, các thư viện trong Pycharm: opencv, numpy, os, serial, time, pyttsx3 1.4 Phương pháp nghiên cứu Để thiết kế mô hình nhận dạng khuôn mặt mở khóa cửa dựa trên việc lấy dữ liệu từ wedcam, sau đó xử lý dữ liệu huấn luyện bằng thuật toán LBPH và cuối cùng là nhận diện khuôn mặt xuất tín hiệu ra Arduino để lệnh mở hoặc đóng cửa được thực thi được áp dụng các phương pháp nghiên cứu chính như phương pháp phân tích, tham khảo tài liệu, phương pháp tổng hợp tài liệu lý 1.5 Kết cấu của đề tài Chương 1 GIỚI THIỆU VỀ ĐỀ TÀI Chương 2 CƠ SỞ LÝ THUYẾT 1 Chương 3 XÂY DỰNG CHƯƠNG TRÌNH Chương 4 KẾT QUẢ ĐẠT ĐƯỢC CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Mô hình Classifier Cascade 2.1.1 Đặc trưng Haar Like (mô tả đối tượng trong hình ảnh) Đặc trưng Haar Like được tạo thành bằng việc kết hợp các hình chữ nhật đen, trắng với nhau theo một trật tự, một kích thước nào đó Hình 2 1 Các đặc trưng Haar-Like cơ bản Đây là một phương pháp đặc trưng được sử dụng để mô tả các đối tượng trong hình ảnh, chẳng hạn như khuôn mặt Nó dựa trên việc tính toán tổng giá trị pixel của các vùng quan tâm trong hình ảnh Các đặc trưng Haar-like bao gồm đặc trưng góc, đặc trưng cạnh và đặc trưng trung tâm, và chúng được tính toán trên các vùng khác nhau của hình ảnh Đặc trưng Haar-like có ba loại chính: góc, cạnh và trung tâm - Corner feature: Sử dụng hai ô vuông lớn và hai ô vuông nhỏ để tính tổng giá trị pixel Đặc trưng này giúp nhận diện góc và biên cạnh trong hình ảnh - Edge feature: Cũng sử dụng hai ô vuông lớn và hai ô vuông nhỏ, nhưng tính tổng giá trị pixel khác nhau Đặc trưng này giúp nhận diện các biên cạnh trong hình ảnh - Center feature: Bao gồm một ô vuông lớn và hai ô vuông nhỏ để Hình 2 2 Phân loại các đặc trưng Haar- tính tổng giá trị pixel Đặc trưng này Like giúp nhận diện sự khác biệt giữa các vùng trong hình ảnh Các đặc trưng này được tính toán trên các vùng khác nhau của hình ảnh và được sử dụng để xác định các đối tượng quan tâm trong mô hình Classifier Cascade 2.1.2 Thuật toán AdaBoost (huấn luyện các bộ phân loại) Đây là một thuật toán học máy được sử dụng để huấn luyện một loạt các bộ phân loại yếu thành một bộ phân loại mạnh Trong mô hình Classifier Cascade, AdaBoost được sử dụng để huấn luyện các bộ phân loại dựa trên các đặc trưng Haar-like AdaBoost tập trung vào việc đào tạo các bộ phân 2

Ngày đăng: 26/03/2024, 16:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w