Báo cáo btl thuộc học phần học máy nhận diện khuôn mặt bằng k nearest neighbors

33 0 0
Báo cáo btl thuộc học phần học máy nhận diện khuôn mặt bằng k nearest neighbors

Đ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

Mục tiêu của machine learning nói chung làhiểu cấu trúc dữ liệu và điều chỉnh dữ liệu đó thành các model mà mọi người có thểhiểu và sử dụng.Các ứng dụng của Machine Learning đã quá quen

lOMoARcPSD|39222638 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ======* * * ====== BÁO CÁO BTL THUỘC HỌC PHẦN: HỌC MÁY NHẬN DIỆN KHUÔN MẶT BẰNG K-Nearest Neighbors GVHD : TS Lê Thị Thủy 2019602421 Lớp : 20212IT6049002 2019601799 Nhóm :5 2019602612 Thành viên Nguyễn Đình Đức Anh : Ninh Tiến Đạt Lê Chí Tài Hà Nội, Năm 2022 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 MỤC LỤC DANH MỤC HÌNH ẢNH 4 LỜI CẢM ƠN 5 MỞ ĐẦU 6 CHƯƠNG 1: TỔNG QUAN .7 1.1 Tìm hiểu về Machine Learning (Học Máy) 7 1.1.1 Khái niệm 7 1.1.2 Vai trò của Machine Learning .7 1.1.3 Một số kỹ thuật trong Machine Learning 7 1.1.3 Một số phương pháp của Machine Learning .8 1.2 Tìm hiểu về bài toán nhận dạng khuôn mặt .10 1.2.1 Tổng quan về bài toán nhận dạng khuôn mặt 10 1.2.2 Ứng dụng của công nghệ nhận diện khuôn mặt trong đời sống hiện nay .11 CHƯƠNG 2 : CÁC PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 12 2.1 Thuật toán K-Nearest Neighbor (KNN) 12 2.1.1 Định nghĩa 12 2.1.2 Quy trình làm việc của thuật toán KNN 12 2.1.3 Ví dụ minh họa 12 2.1.4 Ví dụ về KNN nhiễu 13 2.1.5 Khoảng cách trong không gian vector .13 2.1.6 Ưu điểm của thuật toán .13 2.1.7 Nhược điểm của thuật toán .13 2.2 Naive Bayes 14 2.2.1 Định nghĩa 14 2.2.2 Cách hoạt động 14 2.2.3 Ưu điểm của thuật toán .15 2.2.4 Nhược điểm của thuật toán .15 2.3 Convolutional Neural Network (CNN) 16 2.3.1 Định nghĩa 16 2 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 2.3.2 Lớp tích chập - Convolution Layer 17 2.3.3 Cách hoạt động 18 2.3.4 Ưu điểm của thuật toán .20 2.3.5 Nhược điểm của thuật toán .20 2.4 Support Vector Machine (SVM) .20 2.4.1 Định nghĩa 20 2.4.2 Ví dụ minh họa 21 2.4.3 Ưu điểm của thuật toán .21 2.4.4 Nhược điểm của thuật toán .22 CHƯƠNG 3 : XÂY DỰNG MÔ HÌNH 23 3.1 Nhận diện khuôn mặt bằng KNN (K-Nearest Neighbors) .23 3.1.1 Lí do chọn KNN (K-Nearest Neighbors) 23 3.1.2 Các thư viện được sử dụng nhận dạng 23 3.3 Bộ dữ liệu huấn luyện thuật toán .25 3.4 Thực hiện xây dựng mô hình 26 Tài liệu Tham khảo 32 3 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 DANH MỤC HÌNH ẢN Hình 1.1 Học có giám sát (supervised learning) 8 Hình 1.2 Học không có giám sát (unsupervised learning) 8 Hình 1.3 Học bán giám sát (semi-supervised learning) 9 Hình 1.4 Học tăng cường (reinforcement learning) 10 Hình 2.1 Ví dụ minh họa của thuật toán KNN 12 Hình 2.2 KNN nhiễu 13 Hình 2.3 Mô hình Navie Bayes 14 Hình 2.4 Công thức Navie Bayes .14 Hình 2.5 Vector X 15 Hình 2.6 Dự đoán Y 15 Hình 2.7 Mảng ma trận RGB 6x6x3 16 Hình 2.8 Mô hình train của mạng 16 Hình 2.9 Mô hình lớp tích chập 17 Hình 2.10 Ma trận có bộ lọc 3x3 .17 Hình 2.11 Feature map .17 Hình 2.12 Khi áp dụng các Kernel khác nhau 18 Hình 2.13 Lớp tích chập hoạt động với stride là 2 .18 Hình 2.14 Chuyển các giá trị tuyến tính .19 Hình 2.15 Max Pooling 2x2 .20 Hình 2.16 Ví dụ mô hình SVM 21 Hình 2.17 Ví dụ mô hình SVM 21 Hình 3.8 Minh họa việc thực hiện test kết quả 26 Hình 3.9: Minh họa kích thước ảnh 26 4 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 LỜI CẢM ƠN Lời đầu tiền nhóm chúng em xin gửi lời cảm ơn sâu sắc đến giáo viên người trực tiếp hướng dẫn , giảng dạy chúng em trong suốt quá trình học tập , nghiên cứu và hoàn thành đề tài.Nhận dạng khuôn mặt là một công nghệ luôn được quan tâm , phát triển cũng như áp dụng vào rất nhiều lĩnh vực hiện nay Từ vấn đề bảo mật cho đến các vấn đề liên quan đến việc điểm danh , chấm công ,…Vì vậy , đã có rất nhiều phương pháp được áp dụng để giải quyết vấn đề này như : mô hình Navie Bayes , mô hình SVM (Support Vector Machine) ,mô hình CNN (Convolutional Neural Network) hay mô hình KNN (K-Nearest Neighbor) , Mỗi mô hình đều có điểm mạnh riêng của mình và đều cho ra kết quả và độ chính xác cao Tuy nhiên nhóm bọn em đã thực hiện chọn mô hình KNN (K-Nearest Neighbors) để làm giải quyết vấn đề đề tài kết thúc môn của mình.Trong quá trình nghiên cứu và làm đề tài, do năng lực, kiến thức, trình độ bản thân chúng em còn hạn hẹp nên không tránh khỏi những thiếu sót và chúng em mong mỏi nhận được sự thông cảm và những góp ý từ quý thầy cô cũng như các bạn trong lớp Chúng em xin chân thành cảm ơn Hà Nội , ngày 11 tháng 6 năm 2022 Thành viên Nhóm Nguyễn Đình Đức Anh Ninh Tiến Đạt Lê Chí Tài 5 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 MỞ ĐẦU Những năm gần đây,AI nổi lên như một bằng chứng của cuộc cách mạng công nghiệp lần thứ 4 Trí tuệ nhân tạo có thể được định nghĩa như một ngành của khoa học máy tính liên quan đến việc tự động hóa các hành vi thông minh.Machine learning là một lĩnh vực của trí tuệ nhân tạo (AI) Mục tiêu của machine learning nói chung là hiểu cấu trúc dữ liệu và điều chỉnh dữ liệu đó thành các model mà mọi người có thể hiểu và sử dụng.Các ứng dụng của Machine Learning đã quá quen thuộc với con người: xe tự hành của Google và Tesla, hệ thống tự tag khuôn mặt trên Facebook, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix …, chỉ là một vài trong vô vàn những ứng dụng của trí tuệ nhân tạo và cụ thể là Machine Learning.Xu hướng phát triển công nghệ thông tin ngày càng tăng, song song với nó lượng dữ liệu được sinh ra cũng ngày lớn Vì vậy nhu cầu để xử lý dữ liệu cũng lớn hơn, Machine Learnig đang góp phần giải quyết vấn đề này Một trong những thuật toán thường dùng trong Machine Learning đó là thuật toán K-Nearest Neighbor Ứng dụng của thuật toán này được sử dụng rất nhiều và rộng rãi trong các bài toán phân lớp NHÓM 5 6 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Bảng phân công công việc STT Họ và tên Nội dung công việc 1 Nguyễn Đình Đức Anh -Tìm hiểu về nhận dạng khuôn mặt -Tìm hiểu về nhận diện khuôn mặt bằng K-Nearest Neighbor 2 Lê Chí Tài - Xây dựng mô hình -Xây dựng chương trình 3 Ninh Tiến Đạt -Các phương pháp để nhận dạng khuôn mặt 7 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 CHƯƠNG 1: TỔNG QUAN 1.1 Tìm hiểu về Machine Learning (Học Máy) 1.1.1 Khái niệm Là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệ thống học tự động từ dữ liệu để giải quyết các vấn đề cụ thể Ví dụ các mát có thể học cách phân loại thư điện tử có phải thư rác hay không và tự động sắp xếp vào các thư mục tương ứng.Machine Learning có liên quan thống kê với cả hai lĩnh vực đều nghiên cứu việc phân tích dữ liệu, nhưng khác với thống kê, học máy tập trung vào sự phức tạp của các giải thuật trong việc thực thi tính toán.Machine Learning có hiện nay được áp dụng rộng rãi bao gồm truy tìm dữ liệu, máy phân tích thị trường chứng khoán, nhận dạng tiếng nói và chữ viết … 1.1.2 Vai trò của Machine Learning Ngày nay, hầu hết các ngành nghề khi phải làm việc với lượng dữ liệu lớn đang dần nhận thấy sự quan trọng của machine learning Nhiều ngành nghề đã áp dụng chúng vào trong thực tiễn  Dịch vụ tài chính: Có thể thấy ngành nghề này liên quan đến những con số và dữ liệu rất cao, chúng được sử dụng để xác định những thông tin quan trọng về dữ liệu và ngăn chặn gian lận Phân tích được các cơ hội đầu tư tránh những rủi ro  Chính phủ: Các cơ quan an ninh cộng đồng và các đơn vị công ích đã sử dụng cho các ứng dụng như phân tích dữ liệu cảm biến, phát hiện gian lận và hành vi trộm cắp danh tính  Chăm sóc sức khỏe: Các thiết bị đeo trên người là ứng dụng dựa trên machine learning, chúng có thể phân tích cảm biến để đánh giá sức khỏe của bệnh nhân theo thời gian thực và đưa ra cảnh báo kịp thời  Dầu khí: ngành dầu khí sử dụng để tìm kiếm những nguồn năng lượng mới Phân tích được các chất khoáng phía dưới lòng đất và dự đoán lỗi cảm biến của những máy lọc dầu  Giao thông vận tải: Phân tích mô hình và xu hướng cho các địa hình cho ngành vận tải Đưa ra những tuyến đường hiệu quả hơn và dự đoán những vấn đề tiềm ẩn về lợi nhuận 1.1.3 Một số kỹ thuật trong Machine Learning  Trợ lý cá nhân ảo (Virtual Personal Assistants)  Nhận dạng khuôn mặt , giọng nói , vân tay , chữ , số ,…  Chuyển đổi lời nói thành văn bản  Xử lý ngôn ngữ tự nhiên 8 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638  Chuyển đổi văn bản thành giọng nói  Ứng dụng trong các mạng xã hội  Tự động phân loại 1.1.3 Một số phương pháp của Machine Learning - Học có giám sát (supervised learning) : Hình 1.1 Học có giám sát (supervised learning) Học máy có giám sát yêu cầu thực hiện huấn luyện thuật toán với cả dữ liệu đầu vào sẽ được gắn nhãn Các thuật toán học tập có giám sát phù hợp với các tác vụ sau: ● Phân loại nhị phân: Chia dữ liệu thành hai loại ● Phân loại nhiều lớp: Lựa chọn giữa nhiều hơn hai loại câu trả lời ● Mô hình hồi quy: Dự đoán các giá trị liên tục ● Ghép nối: Kết hợp các dự đoán của nhiều mô hình học máy để tạo ra dự đoán chính xác - Học không có giám sát (unsupervised learning) : Hình 1.2 Học không có giám sát (unsupervised learning) 9 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Các thuật toán học máy không giám sát không yêu cầu dữ liệu phải được gắn nhãn Hầu hết các loại học sâu, bao gồm cả mạng thần kinh nhân tạo, đều là các thuật toán không được giám sát Các thuật toán học tập không giám sát tốt cho các tác vụ sau: ● Phân cụm: Tách tập dữ liệu thành các nhóm dựa trên sự giống nhau ● Phát hiện bất thường: Xác định các điểm dữ liệu bất thường trong tập dữ liệu ● Khai thác liên kết: Xác định các tập hợp các mục trong tập dữ liệu thường xuyên xảy ra cùng nhau  Giảm kích thước: Giảm số lượng biến trong tập dữ liệu - Học bán giám sát (semi-supervised learning) : Hình 1.3 Học bán giám sát (semi-supervised learning) Học máy bán giám sát hoạt động khi các nhà khoa học cung cấp một lượng nhỏ dữ liệu đào tạo được gắn nhãn cho một thuật toán Từ đó, thuật toán tìm hiểu các kích thước của tập dữ liệu, sau đó nó có thể áp dụng cho dữ liệu mới, chưa được gắn nhãn Hiệu suất của các thuật toán thường được cải thiện khi chúng đào tạo trên các tập dữ liệu được gắn nhãn Tuy nhiên việc ghi nhãn dữ liệu có thể tốn thời gian và tốn kém Học máy bán giám sát đặt nền tảng trung gian giữa hiệu suất của học máy có giám sát và hiệu quả của học máy không giám sát Một số lĩnh vực sử dụng phương pháp học máy bán giám sát bao gồm:  Dịch máy: Dạy các thuật toán dịch ngôn ngữ dựa trên ít hơn một từ điển đầy đủ các từ  Phát hiện gian lận: Xác định các trường hợp gian lận khi bạn chỉ có một vài ví dụ tích cực 10 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Sự kết hợp của 1 hình ảnh với các bộ lọc khác nhau có thể thực hiện các hoạt động như phát hiện cạnh, làm mờ và làm sắc nét bằng cách áp dụng các bộ lọc Ví dụ dưới đây cho thấy hình ảnh tích chập khác nhau sau khi áp dụng các Kernel khác nhau Hình 2.12 Khi áp dụng các Kernel khác nhau 2.3.3 Cách hoạt động Đầu vào của lớp tích chập là hình ảnh Chọn đối số, áp dụng các bộ lọc với các bước nhảy, padding nếu cần Thực hiện tích chập cho hình ảnh và áp dụng hàm kích hoạt ReLU cho ma trận hình ảnh • Stride là số pixel thay đổi trên ma trận đầu vào Khi stride là 1 thì ta di chuyển các kernel 1 pixel Khi stride là 2 thì ta di chuyển các kernel đi 2 pixel và tiếp tục như vậy Hình dưới là lớp tích chập hoạt động với stride là 2 19 Downloaded by MON MON (monmon2@gmail.com) lOMoARcPSD|39222638 Hình 2.13 Lớp tích chập hoạt động với stride là 2 • Đôi khi kernel không phù hợp với hình ảnh đầu vào Ta có 2 lựa chọn: • Chèn thêm các số 0 vào 4 đường biên của hình ảnh (padding) • Cắt bớt hình ảnh tại những điểm không phù hợp với kernel • ReLU viết tắt của Rectified Linear Unit, là 1 hàm phi tuyến Với đầu ra là: ƒ (x) = max (0, x) • Tại sao ReLU lại quan trọng: ReLU giới thiệu tính phi tuyến trong ConvNet Vì dữ liệu trong thế giới mà chúng ta tìm hiểu là các giá trị tuyến tính không âm Hình 2.14 Chuyển các giá trị tuyến tính • Có 1 số hà phi tuyến khác như tanh, sigmoid cũng có thể được sử dụng thay cho ReLU Hầu hết người ta thường dùng ReLU vì nó có hiệu suất tốt Thực hiện Pooling để giảm kích thước cho hình ảnh • Lớp pooling sẽ giảm bớt số lượng tham số khi hình ảnh quá lớn Không gian pooling còn được gọi là lấy mẫu con hoặc lấy mẫu xuống 20 Downloaded by MON MON (monmon2@gmail.com)

Ngày đăng: 22/03/2024, 22:37

Tài liệu cùng người dùng

Tài liệu liên quan