Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
4,67 MB
Nội dung
MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP .ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii LỜI CAM ĐOAN iv LỜI CẢM ƠN v MỤC LỤC vi LIỆT KÊ HÌNH .ix LIỆT KÊ BẢNG xii TÓM TẮT xiv Chƣơng 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chƣơng 2: CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ XỬ LÝ ẢNH 2.2.1 Giới thiệu xử lý ảnh 2.2 PHƢƠNG PHÁP DÙNG NOTRON TÍCH CHẬP 2.2.1 Phƣơng pháp học sâu (Deep Learning) 2.2.2 Mơ hình mạng tổng qt mạng nơ-ron 2.2.3 Tập liệu huấn luyện 2.2.4 Xây dựng mạng Nơ-tron tích chập 10 2.2.5 Ngơn ngữ lập trình Python thƣ viện Tensorflow 17 vi 2.3 GIỚI THIỆU PHẦN CỨNG 18 2.3.1 Giới thiệu raspberry pi B[7] 18 2.3.2 Giới thiệu Raspberry Pi Camera 20 2.3.3 Giới thiệu cảm biến vật thể hồng ngoại E18-D80NK 22 2.3.4 Giới thiệu đông Servo MG996R 23 2.3.5 Giới thiệu hệ thống băng tải 23 Chƣơng 3: TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 25 3.1 GIỚI THIỆU: 25 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 25 3.2.1 Thiết kế sơ đồ khối hệ thống: 25 3.2.2 Tính tốn thiết kế hệ thống: 27 3.2.3 Sơ đồ kết nối toàn mạch 45 3.3 PHƢƠNG PHÁP PHÂN LOẠI TRÁI CÂY BẰNG MẠNG TÍCH CHẬP CNN 45 Chƣơng 4: THI CƠNG HỆ THỐNG 47 4.1 GIỚI THIỆU 47 4.2 THI CÔNG HỆ THỐNG 47 4.2.1 Chuẩn bị phần cứng 47 4.2.2 Lắp ráp kiểm tra 48 4.3 ĐĨNG GĨI VÀ THI CƠNG MƠ HÌNH 52 4.3.1 Đóng gói điều khiển 52 4.3.2 Thi cơng mơ hình 53 4.4 LẬP TRÌNH HỆ THỐNG 54 4.4.1 Lƣu đồ giải thuật 54 4.4.2 Giao diện điều khiển 60 vii 4.5 VIẾT TÀI LIỆU HƢỚNG DẪN SỬ DỤNG, THAO TÁC 60 Chƣơng 5: KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ 70 5.1 KẾT QUẢ TỔNG QUAN 70 5.2 KẾT QUẢ ĐẠT ĐƢỢC 71 5.2.1 Kết huấn luyện từ tập sở liệu 71 5.2.2 Giao diện hiển thị hình 72 5.2.3 Kết mơ hình thực tế 73 5.2.4 Kết thực nghiệm 78 5.3 NHẬN XÉT VÀ ĐÁNH GIÁ 84 5.3.1 Nhận xét kết đạt đƣợc 84 5.3.2 Đánh giá kết 85 Chƣơng 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 86 6.1 KẾT LUẬN 86 6.2 HƢỚNG PHÁT TRIỂN 86 TÀI LIỆU THAM KHẢO 87 viii LIỆT KÊ HÌNH Hình Trang Hình 2.1: Các bƣớc xử lý ảnh Hình 2: Tổng quan trí tuệ nhân tạo Hình 2.3: Mạng nơ-ron tích chập Hình 2.4: số ảnh tập sở liệu Hình 2.5: Mơ hình tích chập phân loại trái 10 Hình 2.6: Biểu diễn ma trận RGB 11 Hình 2.7: Ma trận đầu vào lớp mặt nạ tƣơng tự 12 Hình 2.8: Kết phép tích chập 13 Hình 2.9: Hồn thành phép tích chập tạo feature map 14 Hình 2.10: Tạo phân tử Stride = 15 Hình 2.11: Tạo phân tử thứ hai Stride = 15 Hình 2.12: Tạo phân tử Stride = padding = 16 Hình 2.13: Ma trận đƣợc tạo với lớp max pooling stride =2 16 Hình 2.14: Raspberry Pi model B 18 Hình 2.15: Camera Pi 20 Hình 2.16: Sơ đồ kết nối Camera Pi 21 Hình 2.17: Cảm biến hồng ngoại E18-D80NK 22 Hình 2.18: Servo MG996G 23 Hình 2.19: Mơ hình băng tải 24 Hình 3.1: Sơ đồ khối hệ thống 25 Hình 3.2: Mơ hình kit Raspberry Pi Model B 27 Hình 3.3: Sơ đồ chân Raspberry Pi 3+ 28 Hình 3.4: Sơ đồ cổng ngoại vi sử dụng 29 Hình 3.5: Sơ đồ bố trí cảm biến mơ hình 30 Hình 3.6: Động DC 31 Hình 3.7: Băng tải mini 32 Hình 3.8: Module relay 5V 32 ix Hình 3.9: Sơ đồ kết nối module relay điều khiển động 34 Hình 3.10: Nguyên lý điều chế độ rộng xung PWM 35 Hình 3.11: Module PWM 35 Hình 3.12: Kết nối module điều khiển động băng tải 36 Hình 3.13: Servo MG946R 37 Hình 3.14: Sơ đồ bố trí servo với cảm biến băng tải 38 Hình 3.15: Kết nối Camera Raspberry 39 Hình 3.16: Bóng đèn led 3W 39 Hình 3.17: Bố trí thiết bị cho khối chụp ảnh (hƣớng nhìn từ xuống) 41 Hình 3.18: Bố trí thiết bị cho khối chụp ảnh (hƣớng nhìn từ cạnh bên) 42 Hình 3.19: Nguồn Adapter 5V 2.5A cấp cho Raspberry 43 Hình 3.20: Nguồn Tổ ong 24V 5A cấp cho băng tải 44 Hình 3.21: Nguồn Adapter 5V 3A cấp cho servo 44 Hình 3.22: Sơ đồ nguyên lý toàn mạch 45 Hình 4.1: Bố trí cảm biến, servo, luồng phân loại băng tải 49 Hình 4.2: Mặt cạnh buồng ảnh 50 Hình 4.3: Module PWM đƣợc gắn buồng ảnh 50 Hình 4.4: Bố trí linh kiện trần buồng ảnh 51 Hình 4.5: Cảm biến hồng ngoại buồng ảnh 51 Hình 4.6: Đóng gói điều khiển buồng ảnh 52 Hình 4.7: Mơ hình hệ thống 53 Hình 4.8: Lƣu đồ chƣơng trình mơ hình 55 Hình 4.9: Lƣu đồ chƣơng trình Chụp lƣu ảnh 57 Hình 4.10: Lƣu đồ chƣơng trình Xử lý dự đoán 58 Hình 4.11: Lƣu đồ chƣơng trình So sánh dán nhãn trái 59 Hình 4.12: Giao diện ban đầu 60 Hình 4.13: Cửa sổ Remote Desktop Connection 61 Hình 4.14: Cửa sổ hiển thị nhập địa IP 62 Hình 4.15: Vị trí file chƣơng trình Desktop 62 Hình 4.16: Giao diện trình biên dịch 63 x Hình 4.17: Giao diện điều khiển ban đầu 64 Hình 4.18: Giao diện hiển thị có trái đƣa vào 65 Hình 4.19: Giao diện hiển thị có loại trái khác vào 65 Hình 4.20: Cần gạt servo1 mở nhận dạng táo 66 Hình 4.21: Cần gạt servo2 mở nhận dạng chanh 67 Hình 4.22: Cần gạt servo3 mở nhận dạng lê 67 Hình 4.23: Sản phẩm khác loại đƣợc chuyển đến cuối băng tải 68 Hình 4.24: Kết sau phân loại 68 Hình 4.25: Trạng thái Stop giao diện 68 Hình 4.26: Cảnh báo giao diện …………………………………………….69 Hình 5.1: Sơ đồ biểu diễn Model loss 71 Hình 5.2: Sơ đồ biểu diễn Model accuracy 71 Hình 5.3: Giao diện điều khiển ban đầu 72 Hình 5.4: Cảnh báo thoát giao diện 73 Hình 5.5: Mơ hình hệ thống hoàn chỉnh 74 Hình 5.6: Ngõ vào trái 75 Hình 5.7: Bộ điều khiển buồng ảnh 76 Hình 5.8: Module PWM gắn bên cạnh buồng ảnh 77 Hình 5.9: Bố trí đèn buồng ảnh 77 Hình 5.10: Táo đƣợc băng tải chuyển vào buồng ảnh 78 Hình 5.11: Kết hiển thị giao diện táo vào 79 Hình 5.12: Táo chuẩn bị đƣợc gạt vào luồng 79 Hình 5.13: Chanh đƣợc băng tải chuyển vào buồng ảnh 80 Hình 5.14: Kết hiển thị giao diện chanh vào 80 Hình 5.15: Chanh chuẩn bị đƣợc gạt vào luồng 81 Hình 5.16: Lê đƣợc băng tải chuyển vào buồng ảnh 81 Hình 5.17: Kết hiển thị giao diện lê vào 82 Hình 5.18: Lê chuẩn bị đƣợc gạt vào luồng 82 Hình 5.19: Giao diện hiển thị có loại khác vào 83 Hình 5.20: Trái mận đƣợc chuyển đến cuối băng tải 83 xi LIỆT KÊ BẢNG Bảng Trang Bảng 3.1: Thông số kỹ thuật E18-D80NK 30 Bảng 3.2: Thông số kỹ thuật động DC 31 Bảng 3.3: Thông số kỹ thuật module relay 5V 33 Bảng 3.4: Chức chân module relay 5V 33 Bảng 3.5: Thông số kỹ thuật module PWM 36 Bảng 3.6: Thông số kỹ thuật Servo 37 Bảng 3.7: Thông số kỹ thuật đèn led 3W 40 Bảng 4.1: Thông số linh kiện đƣợc sử dụng mơ hình 46 Bảng 5.1: Kết chạy thực nghiệm 82 xii TÓM TẮT TÓM TẮT Đề tài “Thiết kế thi cơng mơ hình phân loại ba loại trái cây” mơ hình dựa ứng dụng mạng nơ-ron tích chập để phân loại loại trái táo, chanh lê Hệ thống hoạt động dựa q trình trích xuất đặc trƣng từ màu sắc, hình dạng loại trái thơng qua mạng nơ-ron tích chập với tập liệu huấn luyện tự tạo Google Colab Mơ hình mạng nơ-ron tích chập đƣợc triển khai kit Raspberry Pi Model B với ngôn ngữ lập trình Python, thƣ viện hỗ trợ Tensorflow Kết thực đề tài mơ hình có khả phân loại đƣợc loại trái táo, chanh lê đến vị trí riêng biệt Việc điều khiển giám sát mơ hình đƣợc thực thơng qua giao diện giao tiếp với ngƣời dùng xiv CHƢƠNG TỔNG QUAN Chƣơng 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Hiện nay, với phát triển kinh tế thị trƣờng, ngành chế biến nông sản nƣớc ta phát triển mạnh mẽ Trên sở tiềm chiến lƣợc phát triển mà Nhà nƣớc đề ra, nông sản Việt ngày khẳng định đƣợc vị thị trƣờng nƣớc quốc tế, trở thành mặt hàng trọng điểm, chiếm tỉ trọng lớn ngành xuất khẩu, đóng góp phần khơng nhỏ vào kinh tế quốc dân[1] Với đời phổ biến rộng rãi băng tải công nghiệp, gần nhƣ tối ƣu hóa lĩnh vực, có việc chế biến phân loại nơng sản, trình nhận dạng hình ảnh sản phẩm dây chuyền quan trọng Xử lý ảnh lĩnh vực mang tính khoa học cơng nghệ Nó ngành khoa học mẻ so với nhiều ngành khao học khác nhƣng tốc dộ phát triễn nhanh, kích thích trung tâm nghiên cứu ứng dụng[2] đặc biêt lĩnh vực sản xuất Deep Learning chi ngành máy học dựa tập hợp thuật toán để cố gắng mơ hình liệu trừu tƣợng hóa mức cao cách sử dụng nhiều lớp xử lý với cấu trúc phức tạp, cách khác bao gồm nhiều biến đổi phi tuyến Deep Learning giúp máy tính thực thi việc tƣởng chừng nhƣ khơng thể: phân loại ngàn vật thể khác ảnh, tự tạo thích cho ảnh, bắt chƣớc giọng nói chữ viết ngƣời, giao tiếp với ngƣời, hay chí sáng tác văn, phim, ảnh, âm nhạc[3] Cùng với công nghệ xử lý ảnh để ứng dụng dây chuyền, kết hợp với liệu hình ảnh cụ thể[4] phân loại nhiều loại sản phẩm thơng nhiều góc nhìn hồn tồn Từ khảo sát trên, với kiến thức đƣợc trang bị, nhóm làm đề tài kiến nghị thực việc thiết kết thi công hệ thống phân loại sản phẩm raspberry[5] Hệ thống có tên “Thiết kế thi cơng mơ hình phân loại ba loại trái cây” có chức phân loại loại trái thông qua camera BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƢƠNG TỔNG QUAN 1.2 MỤC TIÊU Mục tiêu đề tài “Thiết kế thi cơng mơ hình phân loại ba loại trái cây” nắm rõ nguyên lý hoạt động thiết bị ngoại vi camera, động servo, cảm biến hồng ngoại Làm quen sử dụng phần mềm python kit Raspberry, sử dụng có công cụ thƣ viện hổ trợ xử lý ảnh nhƣ Tensorflow, Keras Opencv Thiết kế thi công mơ hình nhận dạng trái theo mơ hình nơ-ron tích chập, sử dụng sở dử liệu có sẵn để hỗ trợ lập trình nhận dạng 1.3 NỘI DUNG NGHIÊN CỨU NỘI DUNG 1: Tìm hiểu phƣơng pháp xử lý hình ảnh nhận diện trái NỘI DUNG 2: Thiết kế thi cơng mơ hình hệ thống NỘI DUNG 3: Viết chƣơng trình xử lý kết hợp với liệu nhận dạng trái ngôn ngữ Python nhúng xuống kit Raspberry Pi NỘI DUNG 4: Hoàn thiện hệ thống điều khiển, mơ hình, tiến hành chạy mẫu NỘI DUNG 5: Viết báo cáo thực NỘI DUNG 6: Bảo vệ luận án 1.4 GIỚI HẠN Các thông số giới hạn đề tài bao gồm: - Mô hình đồ án mang tính chất minh họa, chƣa đạt chuẩn thông số kĩ thuật đáp ứng cho thực tế - Sử dụng camera kích thƣớc 640x480 - Quá trình xử lý ảnh chậm so với thực tế thiết bị chƣa đạt chuẩn với thông số kỹ thuật áp dụng dây chuyền sản xuất - Trong mơ hình sử dụng loại trái chính: Táo, lê chanh 1.5 BỐ CỤC Nội dung đề tài gồm mục sau: Chƣơng 1: Tổng quan Chƣơng 2: Cơ sở lý thuyết BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ Hình 5.8: Module PWM gắn bên cạnh buồng ảnh Module PWM đƣợc lắp đặt bên tiện việc điều khiển tốc độ băng tải núm vặn Hình 5.9: Bố trí đèn buồng ảnh Bố trí đèn led để đảm bảo độ sáng chụp ảnh BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 77 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ 5.2.4 Kết thực nghiệm Kết thực nghiệm đƣợc thực với loại trái cây: táo, chanh, lê loại khác 5.2.4.1 Phân loại táo Sau đƣợc đặt lên băng tải, táo đƣợc băng tải chuyển vào buồng ảnh Hình 5.10: Táo băng tải chuyển vào buồng ảnh Khi cảm biến phát hiện, băng tải dừng lại để chụp hiển thị ảnh giao diện Hệ thống xử lý kết luận loại sản phẩm mục Class, trƣờng hợp Class hiển thị Apple BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 78 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ Hình 5.11: Kết hiển thị giao diện táo vào Lúc này, táo đƣợc đƣa buồng ảnh, cảm biến hồng ngoại thứ phát hiện, servo1 tác động đƣa trái táo vào luồng phân loại táo Hình 5.12: Táo chuẩn bị gạt vào luồng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 79 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ 5.2.4.2 Phân loại chanh Sau đƣợc đặt lên băng tải, chanh đƣợc băng tải chuyển vào buồng ảnh Hình 5.13: Chanh băng tải chuyển vào buồng ảnh Khi cảm biến phát băng tải dừng lại để chụp hiển thị thơng tin giao diện Hình 5.14: Kết hiển thị giao diện chanh vào BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 80 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ Lúc này, chanh đƣợc đƣa buồng ảnh, cảm biến hồng ngoại thứ hai phát hiện, servo2 tác động đƣa trái chanh vào luồng phân loại chanh Hình 5.15: Chanh chuẩn bị gạt vào luồng 5.2.4.3 Phân loại lê Sau đƣợc đặt lên băng tải, lê đƣợc băng tải chuyển vào buồng ảnh Hình 5.16: Lê băng tải chuyển vào buồng ảnh Khi cảm biến phát băng tải dừng lại để chụp hiển thị thông tin giao diện BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 81 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ Hình 5.17: Kết hiển thị giao diện lê vào Lúc này, lê đƣợc đƣa buồng ảnh, cảm biến hồng ngoại thứ ba phát hiện, servo3 tác động đƣa trái lê vào luồng phân loại lê Hình 5.18: Lê chuẩn bị gạt vào luồng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 82 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ 5.2.4.4 Phân loại trái khác loại trên: Hình 5.19: Giao diện hiển thị có loại khác vào Khi đƣa loại khác vào mơ hình giao diện mục Class hiển thị Other Loại đƣợc đƣa đến ngăn thứ đặt cuối băng tải Hình 5.20: Trái mận chuyển đến cuối băng tải BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 83 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ 5.2.4.5 Phân loại trái tổng hợp: Kết cuối phân loại: Hình 5.21: Kết phân loại Dƣới dây bảng đánh giá độ xác sau trình chạy thực nghiệm Bảng 5.1: Kết chạy thực nghiệm Sản phẩm Kết Độ xác (%) Táo chanh Lê 10/10 20/20 10/10 100 100 100 Nhận xét: Sau chạy thực nghiệm 10 sản phẩm loại hệ thống hoạt động ổn định cho kết xác tuyệt đối khơng bị nhầm lẫn loại trái khác Tuy nhiên, số lƣợng mẫu hạn chế nên chƣa thể kết luận mơ hình hoạt động xác 100% 5.3 NHẬN XÉT VÀ ĐÁNH GIÁ 5.3.1 Nhận xét kết đạt đƣợc Nhóm thực hồn thành 95% mục tiêu đặt ban đầu: Nhóm thục việc sử dụng kit Raspberry Pi model B nhƣ việc cài đặt sử dụng cơng cụ tiện ích hệ điều hành Raspbian Nhóm đánh giá đƣợc Raspberry Pi hoàn toàn thích hợp BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 84 CHƢƠNG KẾT QUẢ-NHẬN XÉT-ĐÁNH GIÁ với dự án vừa nhỏ không yêu cầu cao tốc độ xử lý Đặc biệt, nhóm thành cơng việc triển khai mơ hình mạng nơ-ron tích chập kit Raspberry Pi với phần cứng hạn chế Qua cho thấy Raspberry Pi có khả thực tốt dự án liên quan đến máy học trí tuệ nhân tạo Nhóm tiếp xúc với ngơn ngữ lập trình Python, ngơn ngữ lập trình phổ biến giới đa Nhóm biết cách cài đặt sử dụng thƣ viện quan trọng hỗ trợ cho đề tài nhƣ Tensorflow, OpenCV Appjar Từ giúp nhóm cải thiện kỹ lập trình giải vấn đề thơng qua lập trình Camera Pi có độ phân giải khơng q cao, nhƣng đủ để thực tác vụ xử lý nhận dạng ảnh Nhóm kết hợp nhiều ngoại vi với xử lý trung tâm kit Raspberry Pi model B nhƣ camera, cảm biến hồng ngoại động servo Hệ thống có khả phân loại loại sản phẩm táo, chanh lê, sản phẩm nằm loại đƣợc xem loại khác Ngƣời dùng dễ dàng giám sát điều khiển thông qua giao diện hệ điều hành Raspbian 5.3.2 Đánh giá kết Trải qua khoảng thời gian tìm hiểu, nghiên cứu, tích lũy kinh nghiệm hồn thiện đề tài nhóm đề tài có số đánh giá nhƣ sau: Mơ hình hoạt động có độ ổn định xác cao Có tính ứng dụng vào sản xuất cơng nghiệp, đƣa vào phát triển nâng cấp hệ thống dùng nhà máy sản xuất Dữ liệu đƣợc lƣu trữ sở liệu đám mây, tạo thuận lợi trình thống kê, xác định xuất BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 85 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỄN Chƣơng 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Trải qua suốt thời gian nghiên cứu, phân tích, tìm hiểu tổng hợp dƣới giúp đỡ nhiệt tình Thầy Nguyễn Duy Thảo, nhóm đề tài thu đƣợc mơ hình hệ thống đáp ứng đƣợc tốt tiêu đặt ban đầu, kết hoàn thiện tƣơng đối xác Các khối mơ hình hoạt động ổn định với chi tiết đƣợc thiết kế nhỏ gọn dễ dàng thay có cố Phần cứng mơ hình chắn phù hợp với phần mềm Giao diện hệ thống đơn giản, dễ thao tác quan sát Hiển thị trực quan hình ảnh đƣợc chụp từ camera giúp ngƣời điều khiển kiểm sốt sản phẩm dây chuyền Nhận diện đƣợc tốt trái đƣợc đƣa vào phân loại Tuy nhiên, có hạn chế định nhƣ hệ thống hoạt động phân loại tƣơng đối chậm phần giới hạn phân loại sản phẩm nhƣ thời gian để xử lý hệ thống chƣa đủ nhanh Độ sáng bên buồng ảnh yếu tố ảnh hƣởng đến việc thu ảnh nhận 6.2 HƢỚNG PHÁT TRIỂN Đề tài “Thi cơng thiết kế mơ hình phân loại ba loại trái cây” nhóm cịn tồn nhiều điểm hạn chế, cần phát triển để dự án đƣợc áp dụng hiệu ngành sản xuất nông sản, nhƣ: Tăng tốc độ làm việc xử lý bƣớc tiến cần có hệ thống nên việc phát triển hệ thống có tốc độ xử lý hiệu nhanh điều hƣớng đến hàng đầu Để đƣa vào sản xuất khơng nhanh mà cịn phải liên tục hàng loạt nên hƣớng đến hệ thống xử lý đa luồng trái đƣa vào lúc Mở rộng phạm vi phân loại mơ hình lên số lƣợng loại trái cây, hình dạng trái, nặng, hay tình trạng trái Có thể cập nhật liệu lên tảng đám mây để dễ dàng quản lý Thay servo động mang tính cơng nghiệp để đạt độ xác tốc độ cao BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 86 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Đồ án tốt nghiệp đề tài “ Nghiên cứu, thiết kế thi cơng mơ hình đếm phân loại sản phẩm theo câu nặng màu sắc”, Phạm Thị Thanh Thảo, Phan Trần Hoài Vũ [2] Nguyễn Quang Hoan, “Xử lý ảnh”, Học Viện Bƣu Chính Viên Thơng, 2006 [3] Fruit recognition from images using deep learning –Horrea Muresan, Mihai Oltean [4] Tổng quan Deep learning: https://nordiccoder.com/blog/deep-learning-la-gi/ [5] Raspberry Pi Việt Nam, sản phẩm Raspberry Pi B Model https://raspberrypi.vn/shop/mach-raspberry-pi/raspberry-pi-4-model-b-2019 lần thứ IX “Nghiên cứu ứng dụng Công nghệ thông tin”, Cần Thơ, 2016 [6] Python (programming language), https://en.wikipedia.org/wiki/Python_(programming_language) [7] Raspberry Pi gì? Giới thiệu Raspberry Pi, https://raspberrypi.vn/tin-tuc/raspberry-pi-la-gi-gioi-thieu-ve-raspberry-pi-261.pi [8] Pulse-width modulation, https://en.wikipedia.org/wiki/Pulse-width_modulation BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 87 TÀI LIỆU THAM KHẢO Phụ Lục CHƢƠNG TRÌNH ĐIỀU KHIỂN TRÊN RASPBERRY from picamera import PiCamera import pigpio import RPi.GPIO as GPIO from appJar import gui from time import sleep from PIL import Image, ImageTk import tensorflow as tf from tensorflow import keras import cv2 import numpy as np ########################################################################### ## GPIO.setwarnings(False) camera = PiCamera() pi = pigpio.pi() BUZZER = 32 MOTOR = 12 CB1 = 16 CB2 = 19 CB3 = 21 CB4 = 23 servo1 = 24 servo2 = 17 servo3 = 22 init_angle = 500 angle_servo_1 = 1400 angle_servo_2_3 = 1200 TT = s = label = i = count_apple = count_lime = count_pear = count_other = GPIO.setmode(GPIO.BOARD) GPIO.setup(MOTOR, GPIO.OUT) GPIO.setup(BUZZER, GPIO.OUT) GPIO.setup(CB1, GPIO.IN) GPIO.setup(CB2, GPIO.IN) GPIO.setup(CB3, GPIO.IN) GPIO.setup(CB4, GPIO.IN) GPIO.output(BUZZER, GPIO.LOW) GPIO.output(MOTOR, GPIO.LOW) ########################################################################### BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 88 TÀI LIỆU THAM KHẢO ## ########################################################################### ## def StartServo1(): pi.set_servo_pulsewidth(servo1, angle_servo_1) sleep(2) pi.set_servo_pulsewidth(servo1, init_angle) sleep(1) def StartServo2(): pi.set_servo_pulsewidth(servo2, angle_servo_2_3) sleep(3.5) pi.set_servo_pulsewidth(servo2, init_angle) sleep(1) def StartServo3(): pi.set_servo_pulsewidth(servo3, angle_servo_2_3) sleep(4) pi.set_servo_pulsewidth(servo3, init_angle) sleep(1) ########################################################################### ## app = gui("Manager") #app.setSize("1366x750") app.setSize("fullscreen") #app.setLocation("CENTER") app.setBg("white") app.setFont(size=18, underline=False, weight = "bold", slant="roman") logo = Image.open("/home/pi/Data/logo.png") logo = logo.resize((80, 100), Image.ANTIALIAS) logo = ImageTk.PhotoImage(logo) app.addImageData("logo", logo, fmt="PhotoImage", column=0, row=0) # hien thi trang thai ban dau app.startLabelFrame("Status") app.setSticky("ew") app.addLabel("l1", "Stop",2,0) app.setLabelFg("l1", "red") app.stopLabelFrame() #hien thi hinh anh app.startLabelFrame("Image") app.setSticky("ew") app.addImage("image", "/home/pi/Data/noimage.gif") app.stopLabelFrame() #hien thi phan tram app.startLabelFrame("Class") app.setSticky("ew") app.addLabel("c","Unknow",5,1) app.setLabelFg("c", "purple") app.stopLabelFrame() BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 89 TÀI LIỆU THAM KHẢO def press(button): global TT, label if button == "RUN": TT = app.setLabel("l1", "Ready") app.setLabelFg("l1", "green") elif button == "STOP": TT = label = app.setLabel("l1", "Stop") app.setLabelFg("l1", "red") GPIO.output(MOTOR, GPIO.LOW) #hien thi nut nhan app.addButtons(["RUN","STOP"], press,6,0) ########################################################################### ## model = tf.keras.models.load_model('/home/pi/DATN/Model/06122020.hdf5') fruit_class = ["Apple", "lime", "pear"] def check_class(): global label if proba[pred_index] > 0.9: if(fruit_class[pred_index]) == "Apple": label = app.setLabel("c",str(fruit_class[pred_index])) app.setLabelFg("c", "green") elif(fruit_class[pred_index]) == "lime": label = app.setLabel("c",str(fruit_class[pred_index])) app.setLabelFg("c", "green") elif(fruit_class[pred_index]) == "pear": label = app.setLabel("c",str(fruit_class[pred_index])) app.setLabelFg("c", "green") else: label = app.setLabel("c","Other") app.setLabelFg("c", "red") return label def predict(): global proba, pred_index pred_img = cv2.imread('/home/pi/Data/image.jpg') pred_img = cv2.cvtColor(pred_img, cv2.COLOR_BGR2RGB) pred_img = cv2.resize(pred_img, (100, 100)) pred_img = np.array(pred_img) pred_img = np.reshape(pred_img, [1, 100, 100, 3]) pred_img = pred_img/255 proba = model.predict(pred_img)[0] pred_index = np.argmax(proba) check_class() def buzzer(): BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 90 TÀI LIỆU THAM KHẢO GPIO.output(BUZZER, GPIO.HIGH) sleep(0.1) GPIO.output(BUZZER, GPIO.LOW) def change_pic(): photo = Image.open("/home/pi/Data/image.jpg") photo = photo.resize((470, 350), Image.ANTIALIAS) photo = ImageTk.PhotoImage(photo) app.setImageData("image", photo, fmt="PhotoImage") def capture(): camera.start_preview() sleep(2) camera.capture('/home/pi/Data/image.jpg') buzzer() camera.stop_preview() change_pic() def run(): global s, label GPIO.output(MOTOR, GPIO.HIGH) if GPIO.input(CB1) == False and s == 0: app.setLabel("l1", "Processing ") app.setLabelFg("l1", "yellow") s = sleep(0.5) GPIO.output(MOTOR, GPIO.LOW) capture() predict() check_class() elif GPIO.input(CB1) == True and s == 1: sleep(0.5) s = GPIO.output(MOTOR, GPIO.HIGH) elif label == 1: if GPIO.input(CB2) == False: StartServo1() app.setLabel("l1", "Ready") app.setLabelFg("l1", "green") label = elif label == 2: if GPIO.input(CB3) == False: StartServo2() app.setLabel("l1", "Ready") app.setLabelFg("l1", "green") label = elif label == 3: if GPIO.input(CB4) == False: StartServo3() app.setLabel("l1", "Ready") app.setLabelFg("l1", "green") label = elif label == 4: sleep(13) app.setLabel("l1", "Ready") app.setLabelFg("l1", "green") label = def stop(): global label BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 91 ... TÍNH TỐN VÀ THI? ??T KẾ HỆ THỐNG Chƣơng 3: TÍNH TỐN VÀ THI? ??T KẾ HỆ THỐNG 3.1 GIỚI THI? ??U: Đề tài “Nghiên cứu, thi? ??t kế thi cơng mơ hình phân loại loại trái ” với mục tiêu phân loại loại trái táo,... kết thi công hệ thống phân loại sản phẩm raspberry[5] Hệ thống có tên ? ?Thi? ??t kế thi cơng mơ hình phân loại ba loại trái cây? ?? có chức phân loại loại trái thông qua camera BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP... qua giao diện hình hiển thị 3.2 TÍNH TỐN VÀ THI? ??T KẾ HỆ THỐNG 3.2.1 Thi? ??t kế sơ đồ khối hệ thống: Để thực hoàn thành đề tài “Nghiên cứu, thi? ??t kế thi cơng mơ hình phân loại loại trái cây? ?? hệ thống