Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
7,29 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA PHÂN LOẠI VÀ KIỂM ĐỊNH SẢN PHẨM NÔNG NGHIỆP DÙNG KĨ THUẬT XỬ LÝ ẢNH GVHD: TS LÊ MỸ HÀ SVTH: NGUYỄN SANH CƠNG SKL010022 Tp Hồ Chí Minh, tháng 01/2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP Đề tài: PHÂN LOẠI VÀ KIỂM ĐỊNH SẢN PHẨM NÔNG NGHIỆP DÙNG KĨ THUẬT XỬ LÝ ẢNH GIẢNG VIÊN HƯỚNG DẪN : TS LÊ MỸ HÀ SINH VIÊN THỰC HIỆN: NGUYỄN SANH CÔNG 12151126 LỚP: 12151CLC NGÀNH: CƠNG NGHỆ KTDK VÀ TỰ ĐỘNG HĨA KHĨA: 2012 – 2016 Tp Hồ Chí Minh, tháng 1/2018 PHẦN A: GIỚI THIỆU i TRƯỜNG ĐH SPKT TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CHẤT LƯỢNG CAO ĐỘC LẬP - TỰ DO - HẠNH PHÚC Tp.HCM, ngày tháng năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Sanh Công MSSV: 12151126 Chuyên ngành: Cơng nghệ Kỹ thuật điều khiển Tự động hóa Mã ngành: 12151 Hệ đào tạo: Đại học quy Khóa: 2012-2016 Lớp: 12151CLC I TÊN ĐỀ TÀI: PHÂN LOẠI VÀ KIỂM ĐỊNH SẢN PHẨM NÔNG NGHIỆP DÙNG KĨ THUẬT XỬ LÝ ẢNH Thời gian thực từ 20/9/2018 đến 7/1/2018 II NHIỆM VỤ Các yêu cầu cụ thể đề tài: - Tìm hiểu phương pháp xác định lỗi phân loại trái - Tìm hiểu phương pháp nhận dạng mạng neuron tích chập (CNN) - Thiết kế thi cơng mơ hình phân loại trái - Tạo tập Data tiến hành học tìm tham số tốt để giảm sai số cho mơ hình Lời cam đoan cuả sinh viên: Tôi Nguyễn Sanh Công cam đoan Đồ án tốt nghiệp cơng trình nghiên cứu tơi theo hướng dẫn T.S Lê Mỹ Hà Các kết công bố đồ án trung thực không chép từ cơng trình khác Tp.HCM, ngày Xác nhận môn tháng năm 2018 Giáo viên hướng dẫn ii TRƯỜNG ĐẠI HỌC SPKT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP.HCM Độc lập - Tự - Hạnh phúc Khoa Chất Lượng Cao Bộ Môn Tự động điều khiển Tp Hồ Chí Minh, ngày tháng năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên : NGUYỄN SANH CÔNG Lớp: 12151CLC MSSV: 12151126 Tên đề tài: PHÂN LOẠI VÀ KIỂM ĐỊNH SẢN PHẨM NÔNG NGHIỆP DÙNG KĨ THUẬT XỬ LÝ ẢNH Tuần/ngày Nội dung Tuần Nhận đề tài Gặp giáo viên hướng dẫn Tuần Tuần Xác nhận GVHD Tìm hiểu tổng quan phương pháp thực đề tài Sinh viên làm theo nhiệm vụ giao Kết nối webcam xử lý tín hiệu ảnh Báo cáo tiến độ cho GVHD Tìm hiểu phương pháp xác định phân loại trái mạng neuron tích chập Tuần 4,5 - Tìm hiểu CNN - Xác định hướng bước thực Tìm hiểu ảnh hưởng tới kết trình huấn luyện Tuần 6,7 - Môi trường - Tập data tham số Báo cáo tiến độ cho GVHD Tuần 8,9 Thiết kế, thi cơng mơ hình phần cứng Tuần Xây dựng thuật toán tham số để bắt đầu huấn 10,11 luyện nhận diện iii Tuần 12 Tuần 13 Tuần 14 Tạo data cho việc huấn luyện mạng Báo cáo tiến độ cho GVHD Viết chương trình phân loại trái Thiết kế lập trình giao diện GUIDE Viết báo cáo Cho chạy thử chương trình kết hợp phần cứng Tuần 15 Tiếp tục hoàn thiện báo cáo Báo cáo tiến độ cho GVHD Nộp báo cáo Tuần 16 Gặp giáo viên phản biện Tiếp tục hồn thiện mơ hình GV HƯỚNG DẪN TS LÊ MỸ HÀ iv CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ****** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên: Nguyễn Sanh Công MSSV: 12151126 Ngành: Công nghệ kỹ thuật Điều khiển Tự động hóa Lớp: 12151CLC Công nghệ kỹ thuật Điện – Điện tử Tên đề tài: Phân loại kiểm định sản phẩm nông nghiệp dùng kĩ thuật xử lý ảnh Họ tên Giáo viên hướng dẫn: T.S Lê Mỹ Hà NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: v Điểm:……………….(Bằng chữ: ) Tp Hồ Chí Minh, ngày … tháng … năm 2018 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) vi LỜI NÓI ĐẦU Hiện với bùng nổ khoa học công nghệ phát triển mạnh mẽ nghành cơng nghiệp người có xu hướng tự động hóa cơng việc, thay người thiết bị việc giám sát điều khiển Đặc biệt lĩnh phát lỗi phân loại sản phẩm Em chọn đề tài kiểm tra phân loại trái hệ thống cịn áp dụng nhiều nhà máy sản xuất trái lớn Đề tài “Phân loại kiểm định sản phẩm nông nghiệp dung kĩ thuật xử lý ảnh” đề tài mẻ với sinh viên ngành công nghệ điện tự động, đề tài yêu cầu sinh viên có kiến thức xử lý ảnh, kiến thức chuyên môn tự động vii LỜI CẢM ƠN Đề tài “Phân loại kiểm định sản phẩm nông nghiệp dung kĩ thuật xử lý ảnh” thực đề tài khó lạ nhiên sau khoảng thời gian ngắn nhóm hồn thành xong đề tài Kết đạt coi thành cơng tơi Để hồn thành tốt đề tài cần u cầu nổ lực lớn để đạt kết thời gian ngắn Và vai trò giáo viên hướng dẫn lớn, Tiến sĩ Lê Mỹ Hà nhiệt tình tơi nghiên cứu để giúp tơi hồn thành tốt đề tài Trong trình làm đề tài phát sinh nhiều khó khăn, điều ảnh hưởng trực tiếp đến chất lượng thời gian thực đề tài Vì làm có nên khó khăn lớn nhóm khác nhiều nên có sai sót mong thầy bạn bỏ qua Để hồn thiện đề tài tích lũy kiến thức năm học đại học yếu tố quan trọng chúng tơi xin chân thành cảm ơn thầy cô giáo khoa cung cấp kiến thức hữu ích khơng cho việc thực đề tài mà kiến thức sau công việc sau trường Và cảm ơn bạn bè, không chung đề tài bạn nhiệt tình hổ trợ giúp đỡ tinh thần kiến thức liên quan giúp chúng tơi giải số vấn đề gặp khó khăn iix Đồ án tốt nghiệp Chương 3: Thiết kế Lớp (relu1): Biến đổi tuyến tính lần Lớp (norm1): Cross Channel Normalization lần Lớp (pool1): Max Pooling lần Hình 3.10 Thơng số lớp pool1 Lớp (con2): Tích chập lần 2: Hình 3.11 Thơng số lớp con2 Lớp (relu2): Biến đổi tuyến tính lần Lớp (norm2): Cross Channel Normalization lần Lớp (pool2): Max Pooling lần Hình 3.12 Thơng số lớp pool 44 Đồ án tốt nghiệp Chương 3: Thiết kế Lớp 10 (con3): Tích chập lần 3: Hình 3.13 Thơng số lớp con3 Lớp 11 (relu3): Biến đổi tuyến tính lần Lớp 12 (con4): Tích chập lần 4: Hình 3.14 Thơng số lớp con4 Lớp 13 (relu4): Biến đổi tuyến tính lần Lớp 14 (con5): Tích chập lần 5: Hình 3.15 Thơng số lớp con5 Lớp 15 (relu5): Biến đổi tuyến tính lần 45 Đồ án tốt nghiệp Chương 3: Thiết kế Lớp 16 (pool5): Max Pooling lần Hình 3.16 Thơng số lớp pool5 Lớp 17 (fc5): Fully connected Layers lần Hình 3.17 Thông số lớp Fully connected Layers lần Lớp 18 (relu6): Biến đổi tuyến tính lần Lớp 19 (drop6): 50% dropout Lớp 20 (fc6): Fully connected Layers lần Hình 3.18 Thơng số lớp Fully connected Layers lần Lớp 21 (relu7): Biến đổi tuyến tính lần Lớp 22 (drop7): 50% dropout 46 Đồ án tốt nghiệp Chương 3: Thiết kế Lớp 23 (fc7): Fully connected Layers lần Hình 3.19 Thơng số lớp Fully connected Layers lần Lớp 24: Softmax Lớp 25: Classification Output Layer: Phân loại 12 trạng thái ngõ 3.2.4 Quá trình huấn luyện Sau xác định mơ hình, liệu huấn luyện thiết lập cấu hình máy, ta bắt đầu trình huấn luyện 47 Đồ án tốt nghiệp Chương 3: Thiết kế Bắt Đầu Load file ảnh nhãn Tạo layer lớp (con,pool,relu, Fulllyconnected ) Cài đặt giá trị để bắt đầu huấn luyện(Maxepochs, minibatch….) Bắt đầu cho tập hình ảnh vào huấn luyện Sai số cho lần huấn luyện MaxEpochs=100 Điều chỉnh tham số để giảm sai số lần huấn luyện Kết nối với webcam chụp hình liên tục thành video Xử lý hình ảnh video để tìm nhãn hợp lý add thêm audio Stop Vòng lặp Kết thúc Hình 3.20 Lưu đồ chương trình matlab 48 Đồ án tốt nghiệp Chương 3: Thiết kế Bước 1: Đầu tiên tải liệu huấn luyện Sau hàm ImageDatastore tự động gán nhãn tập hình ảnh dựa tên Folder lưu lại đối tượng ImageDatastore digitDatasetPath = fullfile('C:\Users\Dell\Desktop\do an\hinh anh'); digitData = imageDatastore(digitDatasetPath, 'IncludeSubfolders',true,'LabelSource','foldernames'); Bước 2: Ta chia liệu thành tập huấn luyện (70%) tập kiểm tra (30%) Lưu ý: cần thêm bước hiệu chỉnh lại kích thước ảnh thành 227x227x3 tập liệu trước chưa hiệu chỉnh [trainingSet, testSet] = splitEachLabel(digitData, 0.3, 'randomize'); Bước 3: Xác định kiến trúc mạng CNN sử dụng Ở tác giả dùng kiến trúc mạng CNN-25 lớp Bước 4: Thiết lập tùy chọn sử dụng huấn luyện: sgdm (stochastic gradient descent with momentum) với tối đa chu kỳ huấn luyện 100 (maximum epochs), bắt đầu trình huấn luyện với tốc độ học ban đầu 0.001 options = trainingOptions('sgdm', 'MaxEpochs',100, 'InitialLearnRate',0.001); Bước 5: Huấn luyện mạng CNN-10 lớp với tùy chọn bước net = trainNetwork(digitData,layers,options); Bước 6: Lưu lại trình huấn luyện workspace save('cong','net','options','layers'); Bước 7: Phân loại ảnh liệu kiểm tra tính tốn độ xác YTest = classify(net,testSet); TTest = testSet.Labels; accuracy = sum(YTest == TTest)/numel(TTest) Độ xác tỷ số số lượng nhãn liệu kiểm tra khớp với nhãn từ việc phân loại với số lượng hình ảnh liệu thử nghiệm Bước 8: Kết nối với webcam tạo vòng lặp xử lý 49 Đồ án tốt nghiệp Chương 3: Thiết kế webcame = webcamlist; camera = webcam(2); while true %title(char(label)); %label = classify(net,n); %webcame = webcamlist; im = snapshot(camera); image(im); % Show the picture im = imresize(im,[227 227]); % Resize the picture for alexnet label = classify(net,im); % Classify the picture handles.number_errors = label; guidata(hObject, handles); set(handles.ketqua,'string',char(label)); % Show the class label drawnow end 3.2.5 Giao diện chương trình Hình 3.21 Giao diện ban đầu chương trình Nút run để bắt đầu chương trình chương trình huấn luyện lâu nên tác giả lưu lại trình huấn luyện vào file cong.mat kết nối với webcam để tạo thành video xử lý Nút audio để sau nhận dạng trái video phát tiếng nhận dạng trái 50 Đồ án tốt nghiệp Chương 3: Thiết kế Nút stop để dừng lại chưng trình Hình 3.22 Giao diện chạy chương trình 3.2.6 Kết Sau kết tác giả thu sau 100 lần tính tốn độ xác tương ứng với 100 chu kì huấn luyện (epoch) Với kiến trúc mạng CNN-25 lớp huấn luyện tập liệu tác giả độ xác đạt lên tới 96% liệu kiểm tra Với tổng thời gian huấn luyện mạng xấp xỉ 30phút Hình 3.23 Trái xồi chưa bị làm hỏng 51 Đồ án tốt nghiệp Chương 3: Thiết kế Hình 3.24 Trái xồi hỏng Hình 3.25 Kết sau phân loại 52 Đồ án tốt nghiệp Chương 3: Thiết kế Hình 3.26 Trái long Hình 3.27 Kết sau phân loại 53 Đồ án tốt nghiệp Chương 3: Thiết kế Hình 3.28 Trái cam Hình 3.29 Kết sau phân loại 54 Đồ án tốt nghiệp Chương 4: Kết luận hướng phát triển CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận Khóa luận này, với mục tiêu xây dựng mơ hình ứng dụng thuật toán học sâu (deep learning - CNN) có khả phân loại kiểm định trái video liệu hệ thống camera số Khóa luận đạt kết sau: Nắm vấn đề ảnh số xử lý ảnh số Tìm hiểu, sử dụng số toolbox thư viện Matlab xử lý ảnh số Nắm đặc điểm tốn phân loại nói chung phân loại kiểm định trái nói riêng.Tìm hiểu, nắm số kiến trúc mạng CNN, thuật toán deep learning cho kết tốt hầu hết toán thị giác máy phân lớp, nhận dạng, … Demo Test thử thành công liệu tự thu thập tác giả với tỉ lệ nhận dạng xác 99,69% 4.2 Những hạn chế hướng phát triển đề tài 4.2.1 Hạn chế đề tài Độ xác phụ thuộc nhiều vào tập liệu ảnh huấn luyện Các hình ảnh trái phân loại kiểm định mức độ đơn giản trái cho lần dự đoán Tỉ lệ nhận dạng phụ thuộc nhiều vào điều kiện ánh sáng, phản chiếu che bóng,… Mơ hình áp dụng nhận dạng hệ thống camera tĩnh Dễ bị tải phần cứng không đủ mạnh 4.2.2 Hướng phát triển đề tài Nâng cao hiệu chương trình, phân loại kiểm định nhiều trái lúc với độ xác cao Hiện có nhiều phương pháp tiếp cận mục tiêu tiêu với hỗ trợ đắc lực từ thuật toán học sâu như: 55 Đồ án tốt nghiệp Chương 4: Kết luận hướng phát triển Recurrent neural networks (RNN) Two-Stream Convolutional Networks 3D Convolutional Neural Networks Actions ∼ Transformations Nâng cấp chương trình chạy liệu thực tế thu từ loại camera số tự động tracking (theo dõi) liên tục đối tượng Phát triển chương trình thành module phần cứng Có khả tương thích với thiết bị quan sát camera Nghiên cứu theo hướng ứng dụng cụ thể như: mơ hình trồng cây, phân loại nhà máy đóng gói xuất khẩu,… 56 TÀI LIỆU THAM KHẢO [1] Yann Lecun, Léon Bottou, Yoshua BenGio, and Patrick Haffner “GradientBased Learning Applied to Document Recognition” Proc of the IEEE, November 1998 [2] Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E Hinton “Imagenet classification with deep convolutional neural networks” Advances in neural information processing systems 2012 [3] Vedaldi, Andrea, and Karel Lenc “MatConvNet-convolutional neural networks for MATLAB” arXiv preprint arXiv:1412.4564 (2014) [4] N Dalal and B Triggs “Histograms of oriented gradients for human detection” In CVPR, pages 886–893, 2005 [5] Yangqing Jia “Caffe: Convolutional Architecture for Fast Feature Embedding” 2014 [6] M D Zeiler and R Fergus “Visualizing and understanding convolutional networks” In Proc ECCV, 2014 [7] Anoosha, Nandakumar “A Technique of Human Action Recognition Using 3D Convolutional Neural Network” International Journal of Emerging Technology and Advanced Engineering September 2014 [8] Karen Simonyan, Andrew Zisserman “Two-Stream Convolutional Networks for Action Recognition in Videos” Visual Geometry Group, University of Oxford [9] Moez Baccouche, Franck Mamalet, Christian Wolf, Christophe Garcia, and Atilla Baskurt “Sequential Deep Learning for Human Action Recognition” Orange Labs, rue du Clos Courtel, 35510 CessonSévigné, France LIRIS, UMR 5205 CNRS, INSA-Lyon, F-69621, France [10] Lê Viết Tuấn “Nhận diện hành động người cập nhật kết phân lớp” Trường Đại học Yersin Đà Lạt Bản tin khoa học giáo dục 2014 [11] Lê Thị Thu Hằng “Nghiên cứu mạng neural tích chập ứng dụng cho toán nhận dạng biển số xe” Luận văn thạc sĩ công nghệ thông tin, Đại học quốc gia Hà Nội, Trường đại học Công Nghệ 2016 57 S K L 0