BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TPHCM LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGUYỄN VĂN PHÚC ỨNG DỤNG HỌC SÂU TRONG PHÂN LOẠI TRÁI CÂY THÀNH PHỐ HỒ CHÍ MINH – 10/2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGOẠI NGỮ - TIN HỌC TPHCM LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGUYỄN VĂN PHÚC ỨNG DỤNG HỌC SÂU TRONG PHÂN LOẠI TRÁI CÂY Ngành: CÔNG NGHỆ THÔNG TIN Mã số: 60480201 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS VŨ THANH HIỀN THÀNH PHỐ HỒ CHÍ MINH – 10/2019 LỜI CAM ĐOAN Tôi xin cam đoan đề tài: “Ứng dụng học sâu phân loại trái cây” cơng trình nghiên cứu tơi thực hướng dẫn giảng viên hướng dẫn khoa học Các kết nghiên cứu kết thử nghiệm nêu luận văn trung thực chưa công bố tài liệu khác Trong phần kiến thức chung nghiên cứu giải thuật áp dụng, luận văn có tham khảo số tài liệu có trích dẫn đầy đủ Học Viên Nguyễn Văn Phúc LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn sâu sắc đến Thầy, TS Vũ Thanh Hiền, người hết lòng hướng dẫn, động viên giúp đỡ cho tơi hồn thành luận văn Tôi xin chân thành gửi lời cám ơn đến quý Thầy Cô trường Đại Học Ngoại ngữ - Tin học TP.HCM tận tình dạy dỗ, bảo kiến thức q báu giúp tơi hồn thành khóa học tiến độ tảng cho nghiên cứu Xin cảm ơn Ban Hợp tác Đào tạo Sau đại học nhiệt tình hỗ trợ suốt trình học tập trường Cuối cùng, xin chân thành cảm ơn bạn bè đồng nghiệp khích lệ, động viên, tạo điều kiện thuận lợi cho suốt thời gian thực luận văn TP HCM, tháng 10 năm 2019 Học Viên Nguyễn Văn Phúc 2-2 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 DANH MỤC CÁC CHỮ VIẾT TẮT Ý nghĩa Chữ viết tắt AI Artificial Intelligent ANN Artificial neural networks CNN Convolutional Neural Network PCA Principal Component Analysis SVM Support Vector Machine 2-3 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 DANH MỤC CÁC HÌNH VẼ, ĐỜ THỊ Hình 2.1 Minh hoạ sơ đồ Deep Learning 13 Hình 2.2 Minh hoạ lớp Deep Learning 14 Hình 2.3 Kiến trúc tổng quát ANN 18 Hình 2.4 Mơ hình tích chập 20 Hình 2.5 Mơ hình mạng neuron tích chập .22 Hình 2.6 Mơ hình mạng perceptron đa tầng 24 Hình 2.7 Mơ tả neuron đầu vào 25 Hình 2.8 Mơ hình neuron cục .26 Hình 2.9 Mơ hình neuron cục .26 Hình 2.10 Mơ hình neuron cục 27 Hình 2.11 Cơng thức xây dựng lớp tính Neuron 28 Hình 2.12 Minh hoạ đặc trưng cấu trúc neuron .29 Hình 2.13 Bản đồ đặc trưng .30 Hình 2.14 Sơ đồ phân lớp 32 Hình 2.15 Sơ đồ phân lớp 32 Hình 2.16 Sơ đồ phân lớp 33 Hình 2.17 Kiến trúc AlexNet 34 Hình 2.18 Kiến trúc VGG 16 35 Hình 2.19 Kiến trúc Inception 36 Hình 2.20 Inception 36 Hình 3.1 Hình dạng khác loại táo .37 Hình 3.2 Hình dạng nho 37 Hình 3.3 Trái Apple Braeburn 42 2-4 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 Hình 3.4 Trái Apple Braeburn bị xoay 43 Hình 3.5 Trái Apple Golden 44 Hình 3.6 Trái Apple Golden bị xoay 45 Hình 3.9 Độ lỗi mơ hình q trình huấn luyện dựa tensorboard 50 Hình 3.10 Độ xác mơ hình q trình huấn luyện dựa tensorboard 50 Hình 3.7 Giao diện ứng dụng 52 Hình 3.8 Huấn luyện mơ hình 54 Hình 3.11 Kiểm tra tập liệu test 55 2-5 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 DANH MỤC CÁC BẢNG BIỂU Bảng 3.1 Các loại trái 41 Bảng 3.2 Các thơng số mơ hình .47 Bảng 3.3 Các chức ứng dụng 53 2-6 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 TRANG THÔNG TIN VỀ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN VĂN PHÚC Nam/ Nữ: Nam Ngày tháng năm sinh: 30 tháng năm 1990 Nơi sinh: Campuchia Ngành học: Công nghệ Thông tin Mã số: 60480201 Ngày nhập học: 2016 Các thay đổi trình đào tạo: (nếu có) Tên đề tài luận văn (chính thức bảo vệ): 6.1 Tên Tiếng Việt: “Ứng dụng học sâu phân loại trái cây” 6.2 Tên Tiếng Anh: “Apply Deep Learning to Classify Fruit” Cán hướng dẫn (họ tên, học hàm, học vị): TS VŨ THANH HIỀN Tóm tắt kết luận văn: “Tóm tắt kết luận văn: Đã tìm hiểu sở lý thuyết mạng neuron đặc biệt mơ hình mạng neuron tích chập để giải tốn phân loại 60 loại trái sở liệu Fruit Qua q trình thực nghiệm, chúng tơi xác định kiến trúc tham số phù hợp để giải tốn với độ xác cao” Khả ứng dụng thực tiễn (nếu có) 10 Những hướng nghiên cứu (nếu có) 11 Các cơng trình cơng bố có liên quan đến luận văn: CÁN BỘ HƯỚNG DẪN HỌC VIÊN (ký tên, họ tên) (ký tên, họ tên) TS Vũ Thanh Hiền Nguyễn Văn Phúc 2-7 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 LỜI MỞ ĐẦU Ngày công nghệ thông tin ngành chủ lực quan trọng góp phần thúc đẩy phát triển mặt người Một trụ cột thời đại công nghiệp 4.0 phát triển mạnh Trí tuệ nhân tạo (Artificial Intelligence - AI) AI có mặt tất ứng dụng thơng minh nhận dạng giọng nói Apple, dịch tự động, search engine Google, xe lái tự động Tesla, … nói AI công nghệ quan tâm đầu tư nghiên cứu phát triển thời điểm Ở nước ta bắt đầu áp dụng Trí tuệ nhân tạo vào nghiên cứu kinh doanh cho kết đáng kể Trong lương lai nước ta áp dụng đưa công nghệ thông tin vào tất lĩnh vực nhằm phát triển mạnh mẽ để thay thủ tục thủ công mà người lâu cịn phụ thuộc… Khi cơng nghiệp 4.0 đưa vào áp dụng máy móc giúp cho người hồn thành tốt cơng việc thực nhanh hơn, xác cơng sức tối ưu nhất, tương lai máy móc thay người làm việc mặt, đó, chuyên gia hay nghiên cứu lĩnh vực ln muốn tìm hiểu nghiên cứu sâu thay đổi mạnh mẽ công nghiệp 4.0 phát triển mạnh Trí tuệ nhân tạo Bây giờ, Trí tuệ nhân tạo góp phần thay đổi sâu sắc nhiều khía cạnh sống, dần trở thành yếu tố quan trọng hoạt động muôn màu muôn vẻ nhân loại Nhiều tranh tương lai xán lạn trí tuệ nhân tạo mang tới cho loài người khắc họa Riêng mặt kinh tế cho thấy trí tuệ nhân tạo trở thành hội thương mại lớn ngày kinh tế tồn cầu thay đổi nhanh chóng với phần đóng góp nó, Chính vì lý đó, nhiều nước giới tiến hành xây dựng chiến lược phát triển trí tuệ nhân tạo quốc gia họ 2-8 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 Hình 3.6 Trái Apple Golden bị xoay 3.5 Phương pháp đề xuất Convolutional Neural Network (CNN) có nhiều đột phá tốn phân lớp liệu ảnh CNN mơ hình học theo chiến lược end-to-end, nghĩa tích hợp phần học đặc trưng phần học phân lớp mô hình Tuy nhiên, đặc điểm tốn khác nên áp dụng mơ hình CNN, cần phải thiết kế kiến trúc mơ hình phù hợp với toán giải A Kiến trúc Kiến trúc tổng quan mơ hình giải toán thiết kế gồm phần: phần thứ nhất, gồm có tầng Convolution để biểu diễn đặc trưng Phần thứ hai 45 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 theo sau mạng Fully Connected để phân lớp liệu Thông tin tầng mô tả sau: • Tầng Input: Tầng input chấp nhận ảnh có kích thước 100 × 100 pixels với kênh màu RGB Đầu vào tầng input nhận ảnh 100ì100ì3 ã Tng Convolution: Cú tng Convolutions dùng để khám phá đặc trưng ảnh liệu • Hàm activation: Tất tầng (tầng convolution tầng Fully Connected) dùng hàm activation ReLU (Rectified Linear Units) 𝑓 (𝑥) = max(0, 𝑥) để giúp mạng không bị dày đặc giúp việc huấn luyện mạng nhanh • Tầng Pooling: Các thơng tin tầng trước (thông tin cấp thấp) dùng để tổng hợp thành thông tin tầng sau (thông tin cấp cao hơn), để tổng hợp hiệu quả, thông tin lớp trước cần phải giản lược bớt độ phức tạp Cho nên dùng max pooling giải vấn đề Max pooling dùng có giá trị stride với giá trị padding • Tầng Fully Connected: Có tầng Fully Connected dùng để phân lớp liệu Tất tầng Fully Connected dung kỹ thuật Dropout giúp tránh vấn đề overfitting • Tầng output: Tầng output có 60 neuron, neuron tương ứng với lớp Xác xuất lớp xác định thông qua hàm softmax 𝑝𝒊 = 𝑒 𝑜𝒊 𝑛𝑦 ∑𝒌=1 𝑒 𝑜𝒌 , ∀𝑖 Trong đó, 𝑝𝑖 xác suất lớp, 𝑜𝒊 giá trị output lớp 𝑖, 𝑛𝑦 số lớp toán Các thông số tầng được cho bảng sau: STT Kích thước Tầng Chiều rộng Chiều cao Chiều sâu 46 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 Input 32 32 Convolution 9 32 ReLU 9 32 Pooling 9 32 Convolution 7 64 ReLU 7 64 Pooling 7 64 Convolution 5 128 ReLU 5 128 Pooling 5 128 10 Convolution 5 256 11 ReLU 5 256 12 Pooling 5 256 13 Convolution 3 512 14 ReLU 3 512 15 Pooling 3 512 16 Fully Connected 1 2048 17 ReLU 1 2048 18 Fully Connected 1 1024 19 ReLU 1 1024 20 Fully Connected 1 60 21 Softmax 1 60 Bảng 3.2 Các thơng sớ mơ hình 47 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 B Hàm loss Để đánh giá lỗi output mạng giá trị ground truth tập liệu, chọn hàm loss hàm category cross entropy 𝑚 𝐿(𝑦, 𝑦̂) = − ∑(𝑦 (𝑖) log(𝑦̂ (𝑖) ) + (1 − 𝑦 (𝑖) ) log(1 − 𝑦̂ (𝑖) )) 𝑖=1 Trong đó, 𝑦 (𝑖) ground truth label điểm liệu 𝑥 (𝑖) , 𝑦̂ (𝑖) giá trị dự đoán C Phương pháp huấn luyện Để training tham số, chúng tơi dùng thuật tốn Adaptive Moment Estimation (Adam) để tối ưu hóa hàm Loss 48 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Thực nghiệm kết A Môi trường: • Hệ thống phát triển mơi trường Python 3.5 • Framework: Dùng Framework Tensorflow để phát triển Convolutional Neural Network • Cấu hình máy dùng để huấn luyện mơ hình: o RAM: 16 GB o Card đồ họa: Một card đồ họa NVIDIA GTX 1070, 8GB o Ổ cứng: SSD 250 GB B Thực nghiệm • Tỷ lệ liệu dùng training testing: 75% training (28736 ảnh), 25% testing (9673 ảnh) • Các hyper parameters: o Kích thước batch: 100 ảnh o Khởi tạo trọng số: Các trọng khởi tạo ngẫu nhiên theo phương pháp Xavier o Hệ số học có giá trị: 0.001 49 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 Quá trình giảm lỗi trình huấn luyện Hình 4.1 Độ lỗi mơ hình q trình huấn luyện dựa tensorboard Mơ hình có độ lỗi giảm nhanh, vòng 300 lần lặp, mức độ lỗi giảm từ xuống gần Điều phản ánh mức độ hội tụ mơ hình nhanh Hình 4.2 Độ xác mơ hình q trình huấn luyện dựa tensorboard Mơ hình có độ xác tăng tốt, vịng 300 lần lặp, mức độ xác mơ hình tăng từ gần 0% lên 90% Điều phản ánh khả học mơ hình nhanh 50 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 C Kết thực nghiệm: Số tầng convolutional Số tầng fully connected Độ xác 92.12% 95.23% 94.52% 95.17% 97.47% 94.30% 94.27% 95.19% 94.72% Qua thực nghiệm mơ hình với thơng số khác nhau, mơ hình có kết tốt có tầng convolutional tầng fully connected với độ xác 97.47% 51 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 D Giao diện chương trình 10 Hình 4.3 Giao diện ứng dụng Các thành phần giao diện cho bảng sau STT Chức Thư mục chứa liệu huấn luyện Thư mục chứa liệu kiểm tra Chọn thư mục chứa liệu huấn luyện Chọn thư mục chứa liệu kiểm tra 52 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 Huấn luyện mơ hình Kiểm tra mơ hình tập liệu kiểm tra Chọn ảnh để kiểm tra Cửa sổ kết Xóa thơng tin sở kết 10 Đóng chương trình Bảng 4.1 Các chức ứng dụng 53 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 Quá trình huấn luyện Hình 4.4 Huấn luyện mơ hình 54 Luận văn thạc sĩ cơng nghệ thơng tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 Hình 4.5 Kiểm tra tập liệu test 4.2 Kết luận phướng phát triển Luận văn phân tích, thiết kế mơ hình CNN để phân loại trái cây, mơ hình sử dụng ba kênh RGB để phân lớp ảnh Kết thực nghiệm cho thấy độ xác mơ hình 95.01% So với kết Horea Muresan [2] có độ xác 94.59%, mơ hình phát triển luận văn tốt 0.42% 55 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 4.3 Hướng phát triển Hướng phát triển xem xét việc sinh thêm liệu cách gây nhiễu ảnh gốc, tạo cho ảnh để sử dụng mơ hình liệu ảnh có Biến đổi ảnh sang ảnh có kênh màu kết hợp số mơ hình lại với độ xác cao 56 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 TÀI LIỆU THAM KHẢO [1] Fruits dataset, https://www.kaggle.com/moltean/fruits (truy cập ngày 18/5/2018) [2] Horea Muresan, Mihai Oltean, “Fruit recognition from images using deep learning”, Technical Report, Babes-Bolyai University, 2017 [3] Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R “Dropout: A simple way to prevent neural networks from overfitting”, The Journal of Machine Learning Research, 15(1), p.1929-1958, 2014 [4] Martín Abadi , Paul Barham , Jianmin Chen , Zhifeng Chen , Andy Davis, Jeffrey Dean , Matthieu Devin , Sanjay Ghemawat , Geoffrey Irving , Michael Isard , Manjunath Kudlur , Josh Levenberg , Rajat Monga , Sherry Moore , Derek G Murray , Benoit Steiner , Paul Tucker , Vijay Vasudevan , Pete Warden , Martin Wicke , Yuan Yu , Xiaoqiang Zheng, “TensorFlow: a system for large-scale machine learning”, Proceedings of the 12th USENIX conference on Operating Systems Design and Implementation, 2016 [5] Y LeCun and Y Bengio.“Convolutional networks for images, speech, and timeseries.” In M A Arbib, editor, The Handbook of Brain Theory and Neural Networks MIT Press, 1995 [6] Fabien Lauer, ChingY Suen, Gérard Bloch,”A trainable feature extractor for handwritten digit recognition“,Elsevier, october 2006 [7] Proceedings of the Seventh International Conference on Document Analysis and Recognition (ICDAR 2003) 0-7695-1960-1/03 $17.00 © 2003 IEEE 57 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 [8] Chirag N Paunwala & Suprava Patnaik “A Novel Multiple License Plate Extraction Techniquefor Complex Background in Indian Traffic Conditions”, Sarvajanik College of Engineering and Technology, 2010 [9] Choo Kar Soon, Kueh Chiung Lin, Chung Ying Jeng and Shahrel A Suandi , “Malaysian Car Number Plate Detection and Recognition System”, 2012 [10] Tran Duc Duan, Duong Anh Duc, Tran Le Hong Du, “Combining Hough Transform and Contour Algorithm for detecting Vehicles License-Plates”, University of Natural Sciences, 2004 [11] Nobuyuki Otsu, "A threshold selection method from gray-level histograms”, 1979 [12] R.C Gonzalez, R.E Woods, Digital Image Processing, Addison-Wesley, 1993 [13] Các tài liệu EmguCV www.emgucv.com OPenCV www.opencv.com [14] http://genk.vn/giai-ngo-ve-deep-learning-cong-nghe-dang-giup-cho-tri-tuenhan-tao-sanh-duoc-voi-con-nguoi-20160816002755886.chn (Ngày truy cập 20/07/2018) [15] https://ongxuanhong.wordpress.com/category/data-science/deep-learning/ (Ngày truy cập 20/07/2018) [16] Alex Krizhevsky, “Imagenet classification with deep convolutional neural networks”, Advances in neural information processing systems, 2012 [17] Karen Simonyan, Andrew Zisserman, “Very Deep Convolutional Networks for Large-Scale Image Recognition”, arXiv:1409.1556, 2014 58 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011 [18] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich, “Going Deeper with Convolutions”, 2014 59 Luận văn thạc sĩ công nghệ thông tin – Học Viên Nguyễn Văn Phúc – MSHV: 12CH201011