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: 55k1CNTT Giảng viên hướng dẫn: Võ Đức Quang Nghệ An, 05/ 2019 LỜI CAM ĐOAN Đồ án này là cơng trình nghiên cứu của cá nhân em, được thực hiện dưới sự hướng dẫn của Ths. Võ Đức Quang. Các số liệu, những kết luận nghiên cứu được trình bày trong đồ án này hồn tồn trung thực. Em xin hồn tồn chịu trách nhiệm về lời cam đoan này Ngh ệ An, ngày…. tháng… năm 2019 Sinh viên thực hiện Đ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ụ về bài tốn phân lớp Hình 2: Mơ hình bài 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ụ về logistic regression Hình 8: Bảng dữ liệu hoạt động của chim cánh cụt Hình 9: Đồ thị sigmoid function Hình 10: Các ví dụ mẫu trong AR face database Hình 11: Ví dụ về kết quả tìm được bằng Logistic Regression LỜI CẢM ƠN Để hồn thành đồ án tốt nghiệp, lời đầu tiên em xin chân thành cảm ơn đến tồn thể thầy cơ trong trường Đại Học Vinh và các thầy cơ trong Viện Kỹ Thuật và Cơng Nghệ, đặc biệt hơn là các thầy cơ trong nganh cơng ngh ̀ ệ thơng tin, bộ mơn hệ thống thơng tin nói riêng, những người đã tận tình hướng dẫn dạy dỗ và trang bị cho em những kiến thức bổ ích trong 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 chỉ bảo và tạo mọi điều kiện giúp đỡ em trong suốt q trình làm đồ án tốt nghiệp Sau cùng em xin gửi lời cảm ơn chân thành tới gia đình, bạn bè, anh chị khóa trên đã động viên, cổ vũ và đóng góp ý kiến trong q trình học tập, nghiên cứu cũng như q 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 hiện Đinh Thị Nhung MỞ ĐẦU Lý do chọn đề tài Ngay nay, ̀ trí tuệ nhân tạo đang phát triển mạnh mẽ và xâm nhập vào rất nhiều lĩnh vực trong cuộc sống như tự động dịch thuật, nhận dạng giọng nói, điều khiển tự động, nhận dạng khn mặt, nhận dạng chữ viết tay. v.v. Nó giờ được coi là xu hướng cơng nghệ thế giới và nhiều người cho rằng đó là cuộc cách mạng cơng nghiệp lần thứ 4 Trong lĩnh vực AI, học máy (machine learning) là một lĩnh vực liên quan đến việc nghiên cứu cac ky thuât và xây d ́ ̃ ̣ ựng các hệ thống co thê “h ́ ̉ ọc”tự động từ dữ liệu, từ đo gi ́ ải quyết cac v ́ ấn đề bai toan cu thê. Hay nói cách khác h ̀ ́ ̣ ̉ ọc máy phân nao đo giúp cho máy tính có thê x ̀ ̀ ́ ̉ ử ly d ́ ư liêu va đ ̃ ̣ ̀ ưa ra qut đinh nh ́ ̣ ư con người. Ví dụ khi đưa một bức ảnh vào thì máy tính có thể xử lý bức ảnh xem ảnh đó là nam hay là nữ Trong cac bài tốn Machine learning có hai lo ́ ại bài tốn đặc trưng đó là bài tốn phân lớp và phân cụm. Mơi bai toan co nh ̃ ̀ ́ ́ ưng đăc tr ̃ ̣ ưng riêng va pham vi ap ̀ ̣ ́ dung vao cac loai bai toan th ̣ ̀ ́ ̣ ̀ ́ ực tê khac nhau. Bên canh đo, bai toan nh ́ ́ ̣ ́ ̀ ́ ận dạng và xử lý ảnh la môt bai toan hâp dân va co tinh ̀ ̣ ̀ ́ ́ ̃ ̀ ́ ́ ưng dung cao. Trong khuôn khô đô ́ ̣ ̉ ̀ nay, em se đi sâu vao nghiên c ̀ ̃ ̀ ưu bai toan phân l ́ ̀ ́ ơp va cu h ́ ̀ ̣ ơn la thuât toan ̀ ̣ ́ Logistic Regession đê ap dung vao nhân dang gi ̉ ́ ̣ ̀ ̣ ̣ ơi tinh ́ ́ qua dữ liêu ̣ ảnh đâu vao, ̀ ̀ xem ảnh đó là nam hay là nữ. Hơn nưa, đơ an cung se th ̃ ̀́ ̃ ̃ ử nghiêm đanh gia hiêu ̣ ́ ́ ̣ qua phân l ̉ ơp cua thuât toan trên môt bô d ́ ̉ ̣ ́ ̣ ̣ ư liêu cu thê AR face database ̃ ̣ ̣ ̉ Mục đích nghiên cứu Mục đích của đề tài là nghiên cứu bài tố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 tốn trong bài tố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ữ. Phạm vi thực hiện Thực hiện đánh giá trên bộ dữ liệu AR face database Nội dung thực hiện Để 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 thì ta cần thực hiện các bước sau đây: Tìm hiểu bài tốn phân lớp nhị phân, bài tốn nhận dạng và xử lý ảnh, bài 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 của mỗi bức ảnh Cuối cùng là đưa bộ dữ liệu vào thử nghiệm và đánh giá 5. Cấu trúc đồ án Mở đầu Chương 1: Cơ sở lý thuyết Chương 2: Nghiên cứu thuật tốn Logistic Regression Chương 3: Thử nghiệm nhận dạng giới tính qua ảnh sử dụng bộ cơ sở dữ liệu AR face data base Chương 4: Kết luận 1.2.2. Cài đăt Pycharm Khi q trình cài đặt đã hồn tất, chạy tập tin exe để cài đặt PyCharm Chương trình cài đặt sẽ được khởi động. Click vào “Next”: Trên màn hình tiếp theo, thay đổi đường dẫn cài đặt nếu cần thiết. Sau đó click vào “Next”: Trên màn hình tiếp theo, bạn có thể lựa chọn tạo một biểu tượng trên màn hình desktop nếu bạn muốn và 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”: Chờ đợi cho tới khi q trình cài đặt kết thúc Khi q trình cài đặt kết thúc, bạn sẽ nhận được thơng báo trên màn hình rang PyCharm đã được cài đặt. Nếu bạn muốn tiếp tục và chạy thử nó, click vào ơ “Run PyCharm Community Edition”, sau đó click “Finish” Sau khi bạn click vào “Finish”, màn hình sau sẽ hiện ra: 1.3 Cài đặt bộ thư viện numpy scipy matplotlib sklearn pillow Thử Nghiệm 2.1 Bộ dữ liệu Vì lý do em khơng thể có bộ dữ liệu AR face database. Nên em đã sử dụng bộ cơ sở dữ liệu em tự tạo bao gồm hơn 25 ảnh màu tương ứng với khn mặt của 10 người (5 nam, 5 nữ). Với mỗi người, 5 bức ảnh được với sắc thái biểu cảm khn mặt khác nhau. Hình ảnh nam được lưu trữ dưới dạng: Mxxxyy.png Nữ giới như: Wxxxyy.png ‘xxx’ là xxx là id của người “yy” chỉ định các tính năng của từng hình ảnh; ý nghĩa của nó được mơ tả ở bảng sau: 1. Biểu hiện trung bình 2. Cười 3. Tức giận 4. Há miệng Bộ cơ sở dữ liệu bao gồm 25 bức ảnh từ 5 nam và 5 nữ. Hơn nữa, các khn mặt cũng đã được xác định chính xác và được cropped với kích thước 11292(pixel) bằng phương pháp được mơ tả trong bài báo PCA veus LDA. Tơi xin bỏ qua phần xử lý này và trực tiếp sử dụng ảnh đã cropped như một số ví dụ dưới đây: Hình 10: Các ví dụ mẫu trong AR face database Mỗi bức ảnh trong AR Face thu gọn được đặt tên dưới dạng Gxxxyy.png. Trong đó: G nhận một trong hai giá trị M (man) hoặc W (woman); xxx là id của người, nhận gía trị từ 001 đến 005; yy là điều kiện chụp, nhận giá trị từ 01 đến 06, trong đó các điều kiện có số thứ tự từ 01 đến 06 là các khn mặt khơng bị che bởi kính hoặc khăn. mỗi điều kiện này là một view 2.2 Cách thử nghiệm Để làm ví dụ cho thuật tốn Logistic Regression, em lấy ảnh của 3 nam và 3 nữ đầu tiên làm tập training set; 2 nam và 2 nữ còn lại làm test set. Với mỗi người, em chỉ lấy các khn mặt khơng bị che bởi kính và khăn Feature Extraction: vì mỗi bức ảnh có kích thước 3x112x92 (số channels 3, chiều cao 112, chiều rộng 92). Chuyển ảnh màu về ả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 được thành 1 vector hàng có số chiều 112x92, sau sử dụng một random projection matrix để giảm số chiều về 500. Và bây giờ ta làm việc với python: Em sử dụng hàm sklearn.linear_model.LogisticRegression thư viện sklearn cho bài thử nghiệm này 2.3 Các thủ tục Khai báo thư viện Phân chia training set và test set, lựa chọn các views Tạo random projection matrix Xây dựng danh sách các tên files Feature Extraction: Xây dựng dữ liệu cho training set và test set thực hiện thuật toán Logistic Regression, dự đoán output của test data và đánh giá kết quả. Một chú ý nhỏ, hàm Logistic Regression trong thư viện sklearn có nhiều biến thể khác Để sử dụng thuật tốn Logistic Regression thuần mà tơi đã giới thiệu trong bài Logistic Regression, chúng ta cần đặt giá trị cho C là một số lớn để nghịch đảo của nó gần với 0 Đánh giá Sau khi thử nghiệm với bộ cơ sở dữ liệu thì kết quả phân lớp đạt 65% Đối với mỗi ảnh có thể hiện thị xác suất ảnh đó thuộc về giới tính nam hay nữ bao nhiêu phần % Hình 11: Ví dụ về kết quả tìm được bằng Logistic Regression CHƯƠNG IV: KẾT LUẬN Những kết quả đạt được của đề tài: Đã tìm hiểu các kiến thức về Machine Learning Các bài tốn phân lớp đặc biệt là bài tốn phân lớp nhị phân, cùng một số thuật tốn phân lớp phổ biến Đã tìm hiểu kỹ thuật tốn Logistic Regression Đã áp dụng thuật tốn Logistic Regression để nhận dạng được giới tính qua ảnh với tỷ lệ cao 65 % Hạn chế: Trong qua trình làm đồ án em còn mắc phải nhiều vấn đề: Như tìm hiểu về thuật tốn còn gặp nhiều khó khăn, kiến thức còn mới mẻ, thời gian còn hạn chế Hướng phát triền: em tiếp tục nghiên cứu các thuật tốn Machine Leaning và áp dụng thuật tốn Logicstic Regression trong các bài tốn khác Trong q thực hiện đồ án tốt nghiệp, em đã cố gắng hết sức để tìm hiểu, học hỏi vì khả năng còn giới hạn, khơng tránh khỏi những sai sót, nên có thể chưa giải quyết được tất cả các vấn đề đặt ra. Em rất mong nhận được sự thơng cảm của q thầy cơ và các bạn. Em xin chân thành cảm ơn TÀI LIỆU THAM KHẢO [1] Sebastia Raschka, Python Machine Learning, 2015 [2] Vũ Hữu Tiệp, Machine Learning cơ 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/ ... ứng dụng thực tế cho bài tốn nhận dạng và xử lý ảnh thì trong đồ án này em áp dụng bài tốn phân lớp nhị phân để nhận dạng giới tính qua ảnh là nam hay là nữ. 3. Bài tốn nhận dạng giới tính qua ảnh khn mặt 3.1. Giới thiệu... 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 ... Hình 5. Sơ đồ tổng quan hệ thống nhận dạng ảnh Các bài tốn nhận dạng ảnh: Nhận dạng chữ viết Nhận dạng khn mặt Nhận dạng khn mặt để gắn thẻ trên facebook Phân biệt hai chữ số viết tay Nhận dạng giới tính qua ảnh của khn mặt