Mục đích của đồ án nhằm nghiên cứu bài toán phân lớp nhị phân để khi ta đưa một bức ảnh vào thì ta có thể dùng thuật toán trong bài toán phân lớp nhị phân để đưa ra giới tính của một bức ảnh là nam hay nữ. Để nắm rõ các nội dung nghiên cứu, mời các bạn cùng tham khảo đồ án.
TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ ĐINH THỊ NHUNG NGHIÊN CỨU PHƯƠNG PHÁP PHÂN LỚP NHỊ PHÂN TRONG NHẬN DẠNG GIỚI TÍNH QUA ẢNH ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN Nghệ An, 05 năm 2019 TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ NGHIÊN CỨU PHƯƠNG PHÁP PHÂN LỚP NHỊ PHÂN TRONG NHẬN DẠNG GIỚI TÍNH QUA ẢNH ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN Sinh viên thực hiện: Đinh Thị Nhung Mã sinh viên: 145D4802010033 Lớp: 55k1-CNTT Giảng viên hướng dẫn: Võ Đức Quang Nghệ An, 05/ 2019 LỜI CAM ĐOAN Đồ án cơng trình nghiên cứu cá nhân em, thực hướng dẫn Ths Võ Đức Quang Các số liệu, kết luận nghiên cứu trình bày đồ án hoàn toàn trung thực Em xin hoàn toàn chịu trách nhiệm lời cam đoan Nghệ An, ngày… tháng… năm 2019 Sinh viên thực Đinh Thị Nhung MỤC LỤC DANH MỤC TỪ VIẾT TẮT TT Từ viết tắt Ý nghĩa AI Trí tuệ nhân tạo PLA Perceptron Learning Algorithm SVM Support Vector Machine DANH MỤC BẢNG BIỂU Hình 1: Ví dụ tốn phân lớp Hình 2: Mơ hình tốn phân lớp Hình 3: Bài tốn Perceptron Hình 4: Bài tốn SVM Hình 5: Sơ đồ tổng quan hệ thồng nhận dạng ảnh Hình 6: Mơ hình nhận dạng giới tính qua ảnh Hình 7: Ví dụ logistic regression Hình 8: Bảng liệu hoạt động chim cánh cụt Hình 9: Đồ thị sigmoid function Hình 10: Các ví dụ mẫu AR face database Hình 11: Ví dụ kết tìm Logistic Regression LỜI CẢM ƠN Để hoàn thành đồ án tốt nghiệp, lời em xin chân thành cảm ơn đến tồn thể thầy trường Đại Học Vinh thầy cô Viện Kỹ Thuật Công Nghệ, đặc biệt thầy cô ngành công nghệ thông tin, mơn hệ thống thơng tin nói riêng, người tận tình hướng dẫn dạy dỗ trang bị cho em ki ến th ức bổ ích năm năm vừa qua Đặc biệt em xin chân thành gửi lời cảm ơn sâu sắc đến th ầy giáo Ths Võ Đức Quang, người tận tình hướng dẫn, trực tiếp bảo tạo điều kiện giúp đỡ em suốt trình làm đồ án tốt nghiệp Sau em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, anh ch ị khóa động viên, cổ vũ đóng góp ý kiến trình h ọc tập, nghiên cứu trình làm đồ án tốt nghiệp Em xin chân thành cảm ơn! Nghệ An, tháng 05 năm 2019 Sinh viên thực Đinh Thị Nhung MỞ ĐẦU Lý chọn đề tài Ngày nay, trí tuệ nhân tạo phát triển mạnh mẽ xâm nhập vào nhiều lĩnh vực sống tự động dịch thuật, nhận dạng giọng nói, điều khiển tự động, nhận dạng khuôn mặt, nhận dạng chữ viết tay v.v Nó coi xu hướng cơng nghệ giới nhiều người cho cách mạng công nghiệp lần thứ Trong lĩnh vực AI, học máy (machine learning) lĩnh vực liên quan đến việc nghiên cứu kỹ thuật xây dựng hệ thống “h ọc”tự động từ liệu, từ giải vấn đề tốn cụ th ể Hay nói cách khác học máy phần giúp cho máy tính xử lý liệu đưa định người Ví dụ đưa ảnh vào máy tính xử lý ảnh xem ảnh nam nữ Trong toán Machine learning có hai loại tốn đặc trưng toán phân lớp phân cụm Mỗi toán có đặc trưng riêng phạm vi áp dụng vào loại toán thực tế khác Bên c ạnh đó, tốn nhận dạng xử lý ảnh tốn hấp dẫn có tính ứng dụng cao Trong khuôn khổ đồ này, em sâu vào nghiên cứu toán phân lớp cụ thuật toán Logistic Regession để áp dụng vào nhận dạng giới tính qua liệu ảnh đầu vào, xem ảnh nam nữ Hơn nữa, đồ án thử nghiệm đánh giá hiệu phân lớp thuật toán liệu cụ thể AR face database Mục đích nghiên cứu Mục đích đề tài nghiên cứu toán phân lớp nhị phân để ta đưa ảnh vào ta dùng thuật tốn toán phân lớp nhị phân để đưa giới tính ảnh nam hay nữ Phạm vi thực Thực đánh giá liệu AR face database Nội dung thực Để nghiên cứu phương pháp phân lớp nhị phân nhận dạng giới tính qua ảnh ta cần thực bước sau đây: • Tìm hiểu toán phân lớp nhị phân, toán nhận dạng xử lý ảnh, tốn nhận dạng giới tính qua ảnh • Tìm hiểu thuật tốn Logistic Regression để nhận dạng giới tính ảnh • Cuối đưa liệu vào thử nghiệm đánh giá Cấu trúc đồ án - Mở đầu - Chương 1: Cơ sở lý thuyết - Chương 2: Nghiên cứu thuật toán Logistic Regression - Chương 3: Thử nghiệm nhận dạng giới tính qua ảnh sử dụng sở liệu AR face data base - Chương 4: Kết luận 10 CHƯƠNG I: CƠ SỞ LÝ THUYẾT Học máy (Machine Learning) 1.1 Giới thiệu Những năm gần đây, Trí tuệ nhân tạo (AI - Artificial Intelligence) phát triển mạnh mẽ xâm nhập trơ thành nh ững công nghệ c ốt lõi nhiều lĩnh vực đời sống người Ta b gặp hi ện diện AI khắp nơi Ví dụ: Xe tự hành Google Tesla, hệ thống tự tag khuôn mặt ảnh Facebook, trợ lý ảo Siri Apple, h ệ thống gợi ý sản phẩm Amazon, hệ thống gợi ý phim Netflix, máy chơi cờ vây AlphaGo Google DeepMind, …, vài ứng dụng AI/Machine Learning Machine Learning lĩnh vực AI, có khả tự học hỏi dựa liệu đưa vào mà không cần phải lập trình cụ thể Machine learning cung cấp phương pháp hiệu để học hỏi liệu thay dựa vào người để phân tích dự đốn Nhờ vào học máy, máy tính xử lý ảnh đưa giới tính cho ảnh xem ảnh đưa vào nam nữ Các loại học máy: • Học có giám sát (Supervised Learning): Là phương pháp sử dụng liệu gán nhãn từ trước để đưa dự đoán đầu vào đầu Các liệu gọi liệu huấn luyện chúng cặp đầu vào-đầu Học có giám sát xem xét tập huấn luyện để từ đưa dự đốn đầu cho đầu vào chưa gặp Ví dụ “email”có thể gán nhãn “thứ rác” “khơng thư rác” đưa vào mơ hình Supervised Learing để phân loại • Học khơng giám sát (Unsupervised Learning): Khác với học có giám sát, học khơng giám sát sử dụng liệu chưa gán nhãn từ trước để suy luận Phương pháp thường sử dụng để tìm cấu trúc tập liệu Tuy nhiên lại khơng có phương pháp đánh 33 1.2.2 Cài đăt Pycharm Khi trình cài đặt hoàn tất, chạy tập tin exe để cài đặt PyCharm Chương trình cài đặt khởi động Click vào “Next”: Trên hình tiếp theo, thay đổi đường dẫn cài đặt cần thiết Sau click vào “Next”: 34 Trên hình tiếp theo, bạn lựa chọn tạo biểu tượng hình desktop bạn muốn sau click “Next”: Lựa chọn thư mục Start Menu Tiếp tục lựa chọn JetBrains sau click vào “Install”: 35 Chờ đợi trình cài đặt kết thúc Khi trình cài đặt kết thúc, bạn nhận thông báo hình rang PyCharm cài đặt Nếu bạn muốn tiếp tục chạy thử nó, click vào “Run PyCharm Community Edition”, sau click “Finish” 36 Sau bạn click vào “Finish”, hình sau ra: 1.3 Cài đặt thư viện - numpy - scipy - matplotlib - sklearn - pillow Thử Nghiệm 2.1 Bộ liệu Vì lý em khơng thể có liệu AR face database Nên em sử dụng sở liệu em tự tạo bao gồm 25 ảnh màu tương ứng với khuôn mặt 10 người (5 nam, nữ) Với người, ảnh với sắc thái biểu cảm khn mặt khác Hình ảnh nam lưu trữ dạng: M-xxx-yy.png Nữ giới như: W-xxx-yy.png ‘xxx’ xxx id người “yy” định tính hình ảnh; ý nghĩa mơ tả bảng sau: Biểu trung bình 37 Cười Tức giận Há miệng -Bộ sơ liệu bao gồm 25 ảnh từ nam nữ Hơn nữa, khuôn mặt xác định xác cropped với kích thước 11292(pixel) phương pháp mơ tả báo PCA veus LDA Tôi xin bỏ qua phần xử lý trực tiếp sử dụng ảnh cropped số ví dụ đây: Hình 10: Các ví dụ mẫu AR face database Mỗi ảnh AR Face thu gọn đặt tên dạng G-xxx-yy.png Trong đó: G nhận hai giá trị M (man) W (woman); xxx id người, nhận gía trị từ 001 đến 005; yy điều kiện chụp, nhận giá trị từ 01 đến 06, điều kiện có số thứ tự từ 01 đến 06 khuôn mặt không bị che bơi kính khăn điều kiện view 2.2 Cách thử nghiệm Để làm ví dụ cho thuật toán Logistic Regression, em lấy ảnh nam nữ làm tập training set; nam nữ lại làm test set Với người, em lấy khuôn mặt không bị che kính khăn Feature Extraction: ảnh có kích thước 3x112x92 (số channels 3, chiều cao 112, chiều rộng 92) • Chuyển ảnh màu ảnh xám theo công thức Y' = 0.299 R + 0.587 G + 0.114 B • Kéo dài ảnh xám thu thành vector hàng có số chiều 112x92, sau sử dụng random projection matrix để giảm số chiều 500 38 Và ta làm việc với python: Em sử dụng hàm sklearn.linear_model.LogisticRegression thư vi ện sklearn cho thử nghiệm 2.3 Các thủ tục Khai báo thư viện Phân chia training set test set, lựa chọn views Tạo random projection matrix Xây dựng danh sách tên files 39 Feature Extraction: Xây dựng liệu cho training set test set 40 thực thuật toán Logistic Regression, dự đoán output test data đánh giá kết Một ý nhỏ, hàm Logistic Regression th vi ện sklearn có nhiều biến thể khác Để sử dụng thuật tốn Logistic Regression mà tơi giới thiệu Logistic Regression, cần đặt giá trị cho C số lớn để nghịch đảo gần với 41 42 43 Đánh giá Sau thử nghiệm với sơ liệu kết phân lớp đạt 65% Đối với ảnh thị xác suất ảnh thu ộc gi ới tính nam hay nữ phần % 44 Hình 11: Ví dụ kết tìm Logistic Regression 45 CHƯƠNG IV: KẾT LUẬN Những kết đạt đề tài: - Đã tìm hiểu kiến thức Machine Learning - Các toán phân lớp đặc biệt toán phân lớp nhị phân, số thuật toán phân lớp phổ biến - Đã tìm hiểu kỹ thuật tốn Logistic Regression - Đã áp dụng thuật toán Logistic Regression để nhận dạng giới tính qua ảnh với tỷ lệ cao 65 % Hạn chế: Trong qua trình làm đồ án em mắc phải nhiều vấn đề: Như tìm hiểu thuật tốn gặp nhiều khó khăn, kiến thức mẻ, thời gian hạn chế Hướng phát triền: em tiếp tục nghiên cứu thuật toán Machine Leaning áp dụng thuật toán Logicstic Regression toán khác Trong thực đồ án tốt nghiệp, em cố gắng để tìm hiểu, học hỏi khả giới hạn, khơng tránh khỏi sai sót, nên chưa giải tất vấn đề đặt Em mong nhận thông cảm quý thầy cô bạn Em xin chân thành cảm ơn 46 TÀI LIỆU THAM KHẢO [1] Sebastia Raschka, Python Machine Learning, 2015 [2] Vũ Hữu Tiệp, Machine Learning bản, NXB Khoa Học Và Kỹ Thuật, 2018 [3] https://machinelearningcoban.com/2017/02/11/binaryclassifiers/ [4] https://machinelearningcoban.com/2017/01/27/logisticregression/ [5] https://en.wikipedia.org/wiki/Grayscale#Luma_coding_in_video_systems [6] https://machinelearningcoban.com/general/2017/02/06/featureengineering/ 47 ... HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ NGHIÊN CỨU PHƯƠNG PHÁP PHÂN LỚP NHỊ PHÂN TRONG NHẬN DẠNG GIỚI TÍNH QUA ẢNH ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN Sinh viên thực hiện:... toán toán phân lớp nhị phân để đưa giới tính ảnh nam hay nữ Phạm vi thực Thực đánh giá liệu AR face database Nội dung thực Để nghiên cứu phương pháp phân lớp nhị phân nhận dạng giới tính qua ảnh. .. hiểu toán phân lớp nhị phân, toán nhận dạng xử lý ảnh, toán nhận dạng giới tính qua ảnh • Tìm hiểu thuật tốn Logistic Regression để nhận dạng giới tính ảnh • Cuối đưa liệu vào thử nghiệm đánh giá