Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
5,06 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 CƠNG NGHỆ KỸ THUẬT MÁY TÍNH ỨNG DỤNG CÔNG NGHỆ CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN GVHD: TRƯƠNG NGỌC SƠN SVTH: TRÀN QUỐC TRỌNG MSSV: 14119056 SVTH: ĐẶNG QUỐC VƯƠNG MSSV: 14119131 SKL 0 Tp Hồ Chí Minh, tháng 07/2018 an – TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH n KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG CÔNG NGHỆ CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN GVHD: TS TRƯƠNG NGỌC SƠN SVTH: TRẦN QUỐC TRỌNG 14119056 ĐẶNG QUỐC VƯƠNG 14119131 NGÀNH: CÔNG NGHỆ KỸ THUẬT MÁY TÍNH Tp Hồ Chí Minh, tháng 07 năm 2018 an CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Trần Quốc Trọng Họ tên sinh viên: Đặng Quốc Vương Ngành: Công Nghệ Kỹ Thuật Máy Tính Giảng viên hướng dẫn: TS Trương Ngọc Sơn Ngày nhận đề tài: MSSV: 14119056 MSSV: 14119131 Lớp: 14119CL1 ĐT: Ngày nộp đề tài: Tên đề tài: ỨNG DỤNG MẠNG CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN Các số liệu, tài liệu ban đầu: Nội dung thực đề tài: - Mạng CNN toán phân loại - Cài đặt sử dụng thư viện hỗ trợ Tensorflow - Lập trình điều khiển GPIO với kit Raspberry Pi Model B - Thiết kế xây dựng mơ hình băng chuyền gồm phận: thu thập hình ảnh từ camera, điều khiển hoạt động băng tải phận gạt phân loại sản phẩm Sản phẩm: - Mô hình băng chuyền phân biệt sản phẩm theo kích thước Kit Raspberry khối điều khiển trung tâm TRƯỞNG NGHÀNH GV HƯỚNG DẪN i an 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: Trần Quốc Trọng MSSV: 14119056 Họ tên sinh viên: Đặng Quốc Vương MSSV: 14119131 Ngành: Cơng Nghệ Kỹ Thuật Máy Tính Tên đề tài: ỨNG DỤNG MẠNG CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN Họ tên Giáo viên hướng dẫn: TS Trương Ngọc Sơn 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: Điểm: ……………… (Bằng chữ: ) Tp Hồ Chí Minh, ngày…tháng…năm 20 Giáo viên hướng dẫn (Ký & ghi rõ họ tên) ii an 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 PHẢN BIỆN Họ tên sinh viên: Trần Quốc Trọng MSSV: 14119056 Họ tên sinh viên: Đặng Quốc Vương MSSV: 14119131 Ngành: Công Nghệ Kỹ Thuật Máy Tính Tên đề tài: ỨNG DỤNG MẠNG CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN Họ tên Giáo viên phản biện: 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: Điểm: ……………… (Bằng chữ: ) Tp Hồ Chí Minh, ngày…tháng…năm 20… Giáo viên phản biện (Ký & ghi rõ họ tên) iii an LỜI CẢM ƠN Trong suốt khoá học (2014-2018) Trường Đại học Sư Phạm Kỹ Thuật TP.HCM, nhóm chúng em đã nhận sự tận tình dạy dỗ quý Thầy, Cô kiến thức chuyên môn cũng kiến thức sống Từ kiến thức đó đã giúp chúng em hoàn thành Đồ Án thời gian cho phép Chúng em xin chân thành cảm ơn Thầy Cô Khoa Chất Lượng Cao đã giảng dạy chúng em kiến thức chuyên môn giúp chúng em định hướng theo sự hiểu biết khả để chúng em thực tốt đề tài “ỨNG DỤNG MẠNG CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN”, tạo điều kiện thuận lợi cho chúng em hồn tất khố học Chúng em xin gửi lời cảm ơn đến Thầy Trương Ngọc Sơn, người đã hướng dẫn, giúp đỡ chúng chúng em tận tình tạo điều kiện tốt cho chúng em thực Đồ Án Ngoài ra, chúng em cũng cám ơn Gia Đình, Bạn Bè đã động viên đóng góp ý kiến cho chúng em suốt thời gian thực Đồ Án Chúng em xin chân thành cảm ơn! TP HCM, ngày…tháng…năm 20 Sinh viên thực Trần Quốc Trọng Đặng Quốc Vương iv an TÓM TẮT Convolutional Neural Network (CNN) mơ hình Deep Learning tiên tiến giúp chúng ta xây dựng hệ thống thơng minh với độ xác cao Điển Facebook, Google đã đưa vào sản phẩm chức thơng minh nhận diện khn mặt người dùng, phát triển xe tự lái… Đề tài “ỨNG DỤNG MẠNG CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN” thực nhằm tìm hiểu công nghệ Xử lý ảnh sử dụng mạng CNN, từ đó ứng dụng để thiết kế mơ hình thu thập liệu thực phân loại sản phẩm băng chuyền dựa vào đặc điểm bên vật thể Dựa kết đạt được, nhóm thực đã đưa hướng Báo cáo đề tài cũng khái quát qua số mảng kiến thức tham khảo dùng đồ án Qua chương, báo cáo đề tài trình bày từ lý thuyết đến thiết kế chi tiết, đến kết sản phẩm Cuối báo cáo nhận định phát triển cho hệ thống v an MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii LỜI CẢM ƠN .iv TÓM TẮT v MỤC LỤC vi DANH MỤC CÁC CHỮ VIẾT TẮT ix DANH MỤC CÁC BẢNG BIỂU x DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ xi CHƯƠNG TỔNG QUAN 1.1 TÌNH HÌNH NGHIÊN CỨU 1.2 MỤC TIÊU NGHIÊN CỨU 1.3 GIỚI HẠN ĐỀ TÀI 1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.5 NỘI DUNG ĐỒ ÁN CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 MẠNG NEURAL TÍCH CHẬP (CONVOLUTIONAL NEURAL NETWORK - CNN) 2.1.1 Giới thiệu 2.1.2 Các lớp mạng CNN vi an 2.1.3 Ứng dụng mơ hình 2.2 TENSORFLOW 2.2.1 Giới thiệu 2.2.2 Các khái niệm Tensorflow 2.3 RASPBERRY 11 2.3.1 Giới thiệu 11 2.3.2 Phần cứng Raspberry Pi 12 2.3.3 Mơi trường lập trình Raspberry Pi 14 2.4 THIẾT BỊ PHẦN CỨNG 14 2.4.1 Raspberry Pi camera 14 2.4.2 Động DC 15 2.4.3 Module điều khiển động L298N 16 2.4.4 Động Servo MG996 17 2.4.5 Cảm biến Hồng ngoại 18 CHƯƠNG THIẾT KẾ HỆ THỐNG 20 3.1 YÊU CẦU HỆ THỐNG 20 3.2 SƠ ĐỒ KHỐI 20 3.3 SƠ ĐỒ NGUYÊN LÝ 21 3.4 THIẾT KẾ PHẦN CỨNG 22 3.4.1 Khối trung tâm 22 3.4.2 Giao tiếp động qua L298N 23 3.4.3 Kết nối camera 24 3.4.4 Giao tiếp với Servo 25 3.4.5 Giao tiếp với cảm biến hồng ngoại 25 vii an 3.5 THIẾT KẾ PHẦN MỀM 26 3.5.1 Cài đặt thư viện Tensorflow raspberry 26 3.5.2 Xây dựng chương trình nhận dạng ảnh Raspberry 32 3.5.2.1 Bài toán nhận dạng ảnh raspberry 32 3.5.2.2 Các bước thực toán 32 3.5.3 Lưu đồ giải thuật Raspberry Pi 36 CHƯƠNG KẾT QUẢ VÀ THỰC NGHIỆM 38 4.1 KẾT QUẢ 38 4.2 THỰC NGIỆM 41 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 45 5.1 KẾT LUẬN 45 5.2 HƯỚNG PHÁT TRIỂN 45 TÀI LIỆU THAM KHẢM 46 viii an Bài toán phân loại phân làm bước sơ đồ bên Thu thập liệu: Dữ liệu huấn luyện chụp từ camera pi với số lượng thu thập sau: Bảng 3.1: Dữ liệu huấn luyện chụp từ camera pi STT Phân loại sản phẩm Số lượng ảnh liệu Hộp to 200 Hộp nhỏ 200 Emty 100 Nhóm đã lựa chọn hình ảnh đặc trưng loại sản phẩm Công việc chụp ảnh chụp theo nhiều trường hợp khác nhau, nhiều tư vị trí hộp Sau đó đưa hình ảnh vào thư mục loại sản phẩm Tập liệu cho trình huấn luyện kiểm tra tổng cộng gồm 650 ảnh đó có 500 ảnh đưa vào tập liệu huấn luyện (Training set) lại 150 ảnh đưa vào tập kiểm tra (Test set) Bảng 3.2: Số lượng ảnh loại Tập huấn luyện Tập kiểm tra STT Nhãn Tập huấn luyện Tập kiểm tra Hộp to 200 50 Hộp nhỏ 200 50 Emty 100 50 Xây dựng mơ hình phân lớp theo CNN: Trong phạm vi đồ án, nhóm sử dụng phương pháp học chuyển tiếp Chuyển tiếp (Transfer Learning) trình cải tiến việc học cho nhiệm vụ thông qua việc chuyển giao kiến thức từ nhiệm vụ liên quan đã học để xây dựng mơ hình cho tốn, điều đặc biệt việc học chuyển tiếp lớp học cũ bị loại bỏ mà thay vào đó lớp huấn luyện Như ta đã biết cấu trúc chung CNN để phân loại hình ảnh có hai phần chính: Một chuỗi lớp xoắn 33 an Một vài (hoặc một) lớp mạng neural kết nối đầy đủ Chuỗi lớp xoắn đối tượng học tập mạng, tính đã học liệu đầu vào chuyển tới lớp kết nối đầy đủ để phân loại Tính đưa vào lớp phân loại cuối gọi tính nút cổ chai Bottleneck thuật ngữ khơng thức sử dụng cho lớp trước lớp đầu cuối thực sự phân loại Lớp cuối đã đào tạo để đưa giá trị đủ tốt để phân loại sử dụng để phân biệt tất lớp mà nó yêu cầu nhận Hình 3.20: Quá trình trích xuất Bottleneck Chúng ta trích xuất tính nút cổ chai từ hình ảnh cách sử dụng mơ hình học sâu đã đào tạo trước đó Inception-v3 Mơ hình phát triển Google đã đào tạo cho thi ImageNet (ImageNet liệu chứa 14 triệu hình ảnh với 1000 lớp) cách sử dụng liệu từ năm 2012 Nhóm chọn mơ hình hiệu suất phân loại cao dễ cài đặt 34 an Hình 3.21: Mơ hình Inception-v3 35 an 3.5.3 Lưu đồ giải thuật Raspberry Pi Lưu đồ giải thuật chương trình chính: Hình 3.22: Lưu đồ giải thuật toàn hệ thống 36 an Chương trình chờ vật qua: Hình 3.23: Lưu đồ thuật tốn chương trình điều khiển động 37 an CHƯƠNG KẾT QUẢ VÀ THỰC NGHIỆM 4.1 KẾT QUẢ Mơ hình băng chuyền hồn chỉnh: Dưới số hình ảnh sản phẩm nhóm sau hoàn thành Bộ khung băng chuyền làm từ ALU Khung cố định ty ren đường kính 8mm ống nhựa PVC Hình 4.1: Mơ hình băng chuyền tổng thể Con lăn làm từ: Ống nhựa PVC, bạc đạn, ty ren thép Hình 4.2: Bộ truyền động 38 an Raspberry Pi, Mạch cầu H, Động giảm tốc 12v DC đặt phía bên băng chuyền Hình 4.3: Hệ thống board mạch đặt phía băng chuyền Camera Pi cố định vị trí đầu băng chuyền Đối diện phông trắng có nhiệm vụ làm cho ảnh chụp từ Camera pi Hình 4.4: Camera Pi thu thập hình ảnh 39 an Cảm biến hồng ngoại động Servo hệ thống băng chuyền kết nối thực tế hình bên Hình 4.5: Cảm biến hồng ngoại hệ thống Hình 4.6: Động Servo đẩy sản phẩm phân loại khỏi băng chuyền Hình 4.7: sản phẩm cần phân loại hộp to hộp nhỏ 40 an 4.2 THỰC NGIỆM Đối với đối tượng phân loại “hộp nhỏ”: Việc tính tốn tỉ lệ phân loại thực sau: Cho đối tượng “hộp nhỏ” qua hệ thống phân loại 50 lần Mỗi 10 lần, nhóm thay đổi tư đặt “hộp nhỏ” theo kiểu khác (vị trí đặt phải tương liệu train) Kết thu sau: Số lần đưa “hộp nhỏ” vào: 50 lần Số lần phân loại được: 44 lần Mỗi lần nhận biết đối tượng “hộp nhỏ”, đối tượng “hộp nhỏ” tiếp tục qua cảm biến hồng ngoại, động Servo thực chức phân loại cách gạt đối tượng “hộp nhỏ” khỏi băng chuyền Ngược lại, đối tượng “hộp nhỏ” nhận dạng không qua cảm biến hồng ngoại, động Servo không thực chức Tỉ lệ phân loại hộp nhỏ xác trung bình sau tính tốn: 88% Q trình hệ thống nhận dạng “hộp nhỏ” băng chuyền thể hình Hình 4.8: Kết nhận dạng hộp nhỏ 41 an Đối với trường hợp vật băng chuyền: Hệ thống trả thơng báo “empty” hình Trong trường hợp hệ thống chạy băng chuyền khơng cịn vật, sau hệ thống thông báo “empty” lần, băng chuyền tự động dừng Khi đó, camera pi tiếp tục hoạt động, có vật tiếp tục đưa vào băng chuyền sau đó, hệ thống hoạt động lại Quá trình hệ thống nhận biết băng chuyền khơng có vật trả tín hiệu “empty” thể hình Hình 4.9: Kết nhận diện khơng có vật băng chuyền Đối với trường hợp phân loại “hộp to”: việc tính tốn tỉ lệ phân loại thực sau: Cho đối tượng “hộp to” qua hệ thống phân loại 50 lần Mỗi 10 lần, nhóm thay đổi tư đặt “hộp to” theo kiểu khác (vị trí đặt phải tương liệu train) Kết thu sau: Số lần đưa “hộp to” vào: 50 lần Số lần phân loại được: 45 lần Tỉ lệ phân loại hộp to xác trung bình sau tính toán: 90% 42 an Mỗi lần nhận biết đối tượng “hộp to”, đối tượng “hộp to” tiếp tục qua cảm biến hồng ngoại tiếp tục đưa cuối băng chuyền Ngược lại, đối tượng “hộp to” nhận dạng không qua cảm biến hồng ngoại, hệ thống băng chuyền tiếp tục hoạt động Quá trình hệ thống nhận dạng “hộp to” băng chuyền thể hình Hình 4.10: Kết nhận dạng hộp to Kết đề tài: Sau nhận dạng, kết nhận đáp ứng đúng yêu cầu đề ban đầu: Nhận dạng sản phẩm đưa vào theo kích thước: hộp to hộp nhỏ Xác định trường hợp băng chuyền khơng có vật Tỉ lệ nhận dạng xác thay đổi theo lần vật qua băng chuyền phần lớn trường hợp nhận dạng đúng Tuy nhiên, sản phẩm số khuyết điểm như: 43 an Hệ thống phần cứng chưa hoạt động tốt vật liệu chế băng tải thô sơ Trục quay lăn nối với động hoạt động chưa tốt Code xử lý chưa tối ưu nên có vài trường hợp nhận liệu vào cịn vài sai sót Hệ thống cịn đơn giản, tính ứng dụng vào thực tế chưa cao 44 an CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 KẾT LUẬN Qua đề tài, nhóm nghiên cứu giải vấn đề sau: Nghiên cứu số lý thuyết mạng CNN Sử dụng ngôn ngữ lập trình python có nguồn sẵn dễ dàng cho việc lập trình Raspberry Nhận liệu hình ảnh từ băng chuyền điều khiển hệ thống phân loại Xây dựng mơ hình băng chuyền xử lý vấn đề nhận diện Tuy nhiên hệ thống chưa tối ưu, nhiều hạn chế như: động Servo hoạt động cịn thiếu độ xác, chưa có hệ thống cung cấp ánh sáng ổn định cho camera 5.2 HƯỚNG PHÁT TRIỂN Do hạn chế thời gian, kiến thức vấn đề kinh tế nên mơ hình đơn giản Do đó muốn áp dụng vào dự án thực tế, mơ hình cần phải nâng cấp thêm, ví dụ như: Tăng số đối tượng phân loại Duy trì nguồn ánh sáng ổn định cung cấp cho camera hoạt động tốt Thêm liệu training nhằm tăng tỉ lệ xác hệ thống Tối ưu code xử lý, tăng độ nhạy hệ thống điều khiển phân loại Tăng tốc độ xử lý phân loại Nâng cấp tính hệ thống, phân loại sản phẩm nhiều trạng thái: sản phẩm tốt bị hư hỏng (do vận chuyển), màu sắc, Nghiên cứu sâu mạng CNN Thêm vào hệ thống giám sát, hệ thống cảnh báo với tình đặc biệt Mở rộng sang hệ thống có quy mô lớn hơn, nhiều yêu cầu phức tạp Hi vọng với hướng phát triền với ý tưởng, góp ý thầy cô bạn Đề tài nhóm phát triển để phù hợp với yêu cầu thực tế 45 an TÀI LIỆU THAM KHẢM [1] http://genk.vn/cong-nghe-xe-o-to-tu-lai-cua-fpt-lan-dau-duoc-thu-nghiem-thucte-20171101084517649.chn [2] http://nhiethuyettre.net/mang-no-ron-tich-chap-convolutional-neural-network/ [3] http://nhiethuyettre.net/mang-no-ron-tich-chap-convolutional-neural-network/ [4] http://nhiethuyettre.net/mang-no-ron-tich-chap-convolutional-neural-network/ [5] https://www.tensorflow.org/api_docs/python/tf/DType [6] https://www.adafruit.com/product/3055 [7] https://www.raspberrypi.org/blog/new-8-megapixel-camera-board-sale-25/ [8] https://iotmaker.vn/cam-bien-vat-can-hong-ngoai.html [9] https://kipalog.com/posts/Bat-dau-voi-Machine-Learning-thong-quaTensorflow Phan-I-2 [10] http://nhiethuyettre.net/mang-no-ron-tich-chap-convolutional-neural-network/ [11] Donald J Norris,”Beginning Artificial Intelligence with the Raspberry Pi” [12] Ashwin Pajankar,“Raspberry Pi Image Processing Programming” 46 an S an K L 0 ... ? ?ỨNG DỤNG MẠNG CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN” thực nhằm tìm hiểu cơng nghệ Xử lý ảnh sử dụng mạng CNN, từ đó ứng dụng để thiết kế mơ hình thu thập liệu thực phân loại sản. .. LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG CÔNG NGHỆ CNN VÀO VIỆC PHÂN LOẠI SẢN PHẨM TRÊN BĂNG CHUYỀN GVHD: TS TRƯƠNG NGỌC SƠN SVTH: TRẦN QUỐC TRỌNG 14119056 ĐẶNG QUỐC VƯƠNG 14119131 NGÀNH: CƠNG NGHỆ KỸ... xây dựng mơ hình băng chuyền gồm phận: thu thập hình ảnh từ camera, điều khiển hoạt động băng tải phận gạt phân loại sản phẩm Sản phẩm: - Mơ hình băng chuyền phân biệt sản phẩm theo kích thước