Nghiên cứu, thiết kế hệ thống phân loại chất lượng hoa quả sử dụng thuật toán học sâu

70 0 0
Nghiên cứu, thiết kế hệ thống phân loại chất lượng hoa quả sử dụng thuật toán học sâu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hiện nay với thời đại công nghiệp hoá hiện đại hoá điều kiện đời sống mọi người được nâng cao thì đời sống sức khỏe cũng được cải thiện đáng kể. Với cuộc chạy đua về các lĩnh vực công nghệ để cải thiện đời sống. Để giảm sức lao động của con người các hệ thống dây chuyền máy móc được phát, nghiên cứu rộng rãi áp dụng vào nhiều mặt của cuộc sống. Với mục đích nghiên cứu có tính ứng dụng và ý nghĩa thực tiễn nên nhóm đã chọn đề tài “Nghiên cứu hệ thống phân loại chất lượng hoa quả sử dụng thuật toán sâu” để giải quyết vấn đề về việc phải phân loại chất lượng các loại quả đã đủ độ chín độ xanh và phát hiện quả đã bị thối hay chưa. Đồ án tốt nghiệp này là kết quả của sự vận dụng các kiến thức đã học vào thực tế để thiết kế, lập trình cho hệ thống. Cũng nhờ vậy mà người thực hiện có thể hiểu rõ hơn được những gì đã học ở lý thuyết, mà chưa có dịp để ứng dụng vào thực tiễn. Đề tài “Nghiên cứu hệ thống phân loại chất lượng hoa quả sử dụng thuật toán sâu” là cơ sở để người thực hiện thiết kế những hệ thống tự động thực tế sau này. Trong quá trình thực hiện đề tài này, do thời gian có hạn và chắc chắn không tránh khỏi những thiếu sót, rất mong được sự quan tâm và đóng góp ý kiến của các thầy cô giáo để nhóm thực hiện bổ sung vào vốn kiến thức của mình.

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ - - ĐỒ ÁN TỐT NGHIỆP Chuyên ngành: Công nghệ kĩ thuật điện tử Đề tài: Nghiên cứu, thiết kế hệ thống phân loại chất lượng hoa sử dụng thuật toán học sâu Giáo viên hướng dẫn: TS Bùi Thanh Lâm Sinh viên thực hiện: Dương Sỹ Hùng 2017603723 Nguyễn Văn Chương 2019605968 Hà Nội-2023 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Hà Nội, ngày tháng năm 2023 Giáo viên hướng dẫn NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Hà Nội, ngày tháng năm 2023 Giáo viên phản biện MỤC LỤC LỜI MỞ ĐẦU .8 CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ HỆ THỐNG PHÂN LOẠI CHẤT LƯỢNG HOA QUẢ 1.1 Lịch sử nghiên cứu: 1.2 Các vấn đề đặt 12 1.3 Đối tượng nghiên cứu .12 1.4 Phương pháp thực 15 1.5 Dự kiến kết đạt 16 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ HỆ THỐNG PHÂN LOẠI CHẤT LƯỢNG HOA QUẢ ỨNG DỤNG THUẬT TOÁN HỌC SÂU .17 2.1 Kết cấu đặc tính làm việc hệ thống .17 2.1.1 Kết cấu hệ thống 17 2.1.2 Đặc tính làm việc hệ thống 20 2.2 Hệ thống cảm biến đo lường xử lý tín hiệu 23 2.2.1 Giới thiệu vi điều khiển: 23 2.2.2 Cảm biến hồng ngoại E18-D80NK 25 2.2.3 Phân tích lựa chọn camera 27 2.3 Xây dựng thuật toán mô hệ thống 28 2.3.1 Xây dựng thuật toán 28 2.3.2 Mô hệ thống 30 2.3.3 Giới thiệu trình xây dựng mơ hình phân loại hệ thống .32 2.4 Kết luận Chương 34 CHƯƠNG 3: TÍNH TOÁN THIẾT KẾ HỆ THỐNG PHÂN LOẠI CHẤT LƯỢNG HOA QUẢ SỬ DỤNG THUẬT TOÁN HỌC SÂU 35 3.1 Tính tốn, thiết kế hệ thống khí 35 3.1.1 Tính tốn thiết kế hệ thống băng tải 36 3.1.2 Chọn động cho tay gạt 39 3.1.3 Thiết kế hệ thống khí 39 3.2 Tính tốn, thiết kế hệ thống điện điều khiển truyền thông 43 3.2.1 Kết nối Arduino động .43 3.2.2 Nguồn cấp cho Arduino nano 44 3.2.3 Khối điều khiển 45 3.2.4 Tính tốn nguồn tiêu thụ 48 3.3 Xây dựng chương trình điều khiển 48 3.3.1 Xây dựng chương trình 48 3.3.2 Cơ sở liệu 49 3.4 Kết luận Chương 56 CHƯƠNG 4: CHẾ TẠO MƠ HÌNH VÀ ĐÁNH GIÁ HOẠT ĐỘNG HỆ THỐNG 57 4.1 Chế tạo mơ hình hệ thống khí điều khiển .57 4.1.1 Mơ hình khí xây dựng thực tế 57 4.2 Kết nối, truyền thông xây dựng giao diện 58 4.2.1 Kết nối, truyền thông xây dựng giao diện 58 4.2.2 Xây dựng giao diện người dùng .59 4.3 Đánh giá hoạt động hệ thống 60 4.3.1 Xử lý hình ảnh 60 4.3.2 Lưu hiển thị liệu 60 4.4 Kết luận chương 61 KẾT LUẬN CHUNG VA HƯỚNG PHÁT TRIỂN 62 TÀI LIỆU THAM KHẢO .63 DANH MỤC HÌNH ẢNH Hình 1.1 Ảnh huấn luyện gán nhãn .11 Hình 2.1 Động giảm tốc12V DC 365 19 Hình 2.2 Cổng HDMI 19 Hình 2.3 Mơ hình tổng quan thiết bị đánh giá phân loại 20 Hình 2.4 Sơ đồ tổng quan thiết bị đánh giá phân loại hoa băng chuyền 21 Hình 2.5 Giao diện phần mềm IDE 25 Hình 2.6 Cảm biến hồng ngoại E18-D80NK 25 Hình 2.7 Sơ đồ chân cảm biến 27 Hình 2.8 Camera Webcam Hikvision 28 Hình 2.9 Lưu đồ thuật toán hệ thống phân loại chất lượng hoa 28 Hình 2.10 Lưu đồ thuật toán Arduino 29 Hình 3.1 Bản vẽ 3D lắp ghép 40 Hình 3.2 Động Servo 996R cho tay gạt .40 Hình 3.3 Gá động MG996R 42 Hình 3.4 Chân đỡ băng tải 42 Hình 3.5 Dây đai băng tải PVC 43 Hình 3.6 Kết nối Arduino nano động DC 43 Hình 3.7 Kết nối Arduino NANO động servo 44 Hình 3.8 Nguồn tổ ong 12VDC-5A 44 Hình 3.9 Sơ đồ nguyên lý mạch hạ áp LM2596 .45 Hình 3.10 Hình ảnh thực tế mạch hạ áp LM2596 .45 Hình 3.11 Sơ đồ kết nối Aruno vào Servo 47 Hình 3.12 Lắp ráp L2596 với Servo MG996R 47 Hình 3.13 Lắp ráp Arduino Nano với Servo MG996R, Relay 5V 48 Hình 3.14 Ba loại cà chua cần phân loại 49 Hình 3.15 Gán nhãn sở liệu roboflow.com 50 Hình 3.16 Định dạng xuất sở liệu 50 Hình 3.17 Link sở liệu 51 Hình 3.18 Cấu trúc mạng Faster R-CNN phân loại cà chua .51 Hình 3.19 Sơ đồ kết trình huấn luyện 52 Hình 3.20 Ảnh chụp quchín tập liệu test 55 Hình 3.21 Ảnh chụp xanh tập liệu test 55 Hình 3.22 Ảnh chụp bị khuyết tật tập liệu test .55 Hình 3.23 Ảnh kết test .56 Hình 4.1 Mơ hình hồn thiện hệ thống 57 Hình 4.2 Mạch điều khiển toàn hệ thống 58 Hình 4.3 Camera chụp phân loại cà chua băng tải tự động .59 Hình 4.4 Kết nối Arduino với máy tính 59 DANH MỤC BẢNG Bảng 3.1 Danh sách linh kiện 35 LỜI MỞ ĐẦU Hiện với thời đại cơng nghiệp hố đại hố điều kiện đời sống người nâng cao đời sống sức khỏe cải thiện đáng kể Với chạy đua lĩnh vực công nghệ để cải thiện đời sống Để giảm sức lao động người hệ thống dây chuyền máy móc phát, nghiên cứu rộng rãi áp dụng vào nhiều mặt sống Với mục đích nghiên cứu có tính ứng dụng ý nghĩa thực tiễn nên nhóm chọn đề tài “Nghiên cứu hệ thống phân loại chất lượng hoa sử dụng thuật toán sâu” để giải vấn đề việc phải phân loại chất lượng loại đủ độ chín độ xanh phát bị thối hay chưa Đồ án tốt nghiệp kết vận dụng kiến thức học vào thực tế để thiết kế, lập trình cho hệ thống Cũng nhờ mà người thực hiểu rõ học lý thuyết, mà chưa có dịp để ứng dụng vào thực tiễn Đề tài “Nghiên cứu hệ thống phân loại chất lượng hoa sử dụng thuật toán sâu” sở để người thực thiết kế hệ thống tự động thực tế sau Trong trình thực đề tài này, thời gian có hạn chắn khơng tránh khỏi thiếu sót, mong quan tâm đóng góp ý kiến thầy giáo để nhóm thực bổ sung vào vốn kiến thức Để hồn thành tốt đề tài nhóm nghiên cứu xin gửi lời cảm ơn đến thầy TS Bùi Thanh Lâm- giáo viên hướng dẫn bảo hướng dẫn tận tình đề tài đồ án tốt nghiệp để chúng em hồn thành tốt đề tài Trong trình làm đồ án cố gắng điều kiện thời gian có hạn nên chúng em khơng tránh khỏi sai sót, mong góp ý thầy giáo, để nhóm củng cố thêm vào kiến thức có thêm học thực tế công tác kế hoạch tổ chức chuyên môn sau CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ HỆ THỐNG PHÂN LOẠI CHẤT LƯỢNG HOA QUẢ 1.1 Lịch sử nghiên cứu: Từ trước tới lĩnh vực phân loại sản phẩm lĩnh vực nghiên cứu phát triển gắn liền với phát triển lịch sử phát triển kinh tế Từ việc phân loại thô sơ tay phân loại thực phẩm sau thu hoạch đến việc phân loại hệ thống thô sơ hệ thống say sát lúa gạo để loại bỏ tấm, cám, gạo vụn… Hiện hệ thống phân loại sản phẩm ứng dụng nhiều dây tải sản xuất Gạch, Ngói, Đá Granite, dây tải phân loại sản phẩm nhựa hay chế biến Nơng sản (như Cà Phê, Gạo, Xồi, Cà chua) …Nó giúp nhà sản xuất tốn nhân công lao động giảm thiểu thời gian làm việc, nâng cao suất lao động Năm 1968, PLC đời đánh dấu mốc quan trọng lịch sử phát triển công nghiệp hệ thống phân loại chất lượng hoa cải tiến kết hợp với plc để hệ thống hoàn thiện Năm 1969, vi điều khiển đời với phát triển cảm biến hệ thống phân loại chất lượng hoa cải tiến cách mạnh mẽ tiến tới tự động hoàn toàn tối ưu Từ thực trạng thực tế nước ta có nhiều đề tài nghiên cứu máy phân loại sản phẩm số thiết kế chế tạo thành công máy phân loại gạo theo màu sắc, gạo sau phân loại đạt tiêu chuẩn cao Hệ thống phân loại sản phẩm ứng dụng nhiều thực tế như: - Ứng dụng dây tải sản xuất Gạch, Ngói; - Ứng dụng ngành công nghiệp thực phẩm bánh kẹo, hoa quả; - Ứng dụng công nghiệp sản xuất bia, nước giải khát; - Ứng dụng việc phân loại phơi khí; - Ứng dụng hệ thống sản xuất linh kiện điện tử để loại bỏ linh kiện khơng đủ kích thước … Bên cạnh hệ thống phân loại sản phẩm phân theo chức chia làm nhiều loại: - Hệ thống phân loại sản phẩm theo chiều cao; - Hệ thống phân loại sản phẩm theo màu sắc; - Hê thống phân loại sản phẩm theo khối lượng; - Hệ thống phân loại sản phẩm theo vật liệu; - Hệ thống tích hợp lúc nhiều tính chất sản phẩm Hệ thống phân loại sản phẩm hệ thống phân loại chất lượng hoa đem lại cho nhiều lợi ích, ví dụ như: - Tiết kiệm sức lao động, tránh nhàm chán công việc, cải thiện điều kiện làm việc người, tạo cho người tiếp cận với tiến khoa học kỹ thuật làm việc môi trường ngày văn minh - Giúp tăng suất lao động, tạo tiền đề cho việc giảm giá thành sản phẩm, thay đổi mẫu mã cách nhanh chóng - Việc quản lý giám sát trở nên đơn giản, khơng thay đổi điều kiện làm việc cơng nhân mà cịn giảm số lượng công nhân đến mức tối đa… Qua nhu cầu thực tế khả ứng dụng rộng rãi hệ thống phân loại sản phẩm chúng em chọn tìm hiểu, nghiên cứu thiết kế hệ thống phân loại chất lượng hoa sử dụng thuật toán sâu Hiện chưa có nhiều nghiên cứu ứng dụng học sâu vào phân loại chất lượng hoa sử dụng thuật toán học sâu Trong nghiên cứu ứng dụng kỹ thuật xử lí ảnh kết hợp mơ hình mạng học sâu nhận dạng hoa Đỗ Văn Đỉnh Hồng Thị An1[1], nhóm nghiên cứu đề xuất phương pháp kết hợp xử lí ảnh kết hợp mơ hình mạng học sâu để phận loại cà chua đạt hay khơng đạt u câu để xuất Nhóm sử dụng sở liệu tự tạo gồm 1450 ảnh RGB cà chua (gồm cà chua chín, cà chua xanh cà chua bị bệnh, bề mặt cà chua bị trầy xước) Nghiên cứu khoa học “Ứng dụng kỹ thuật xử lí ảnh kết hợp mơ hình mạng học sâu nhận dạng hoa xuất khẩu” 10 Quả thối thối Hình 3.23 Ảnh kết test Chương trình đạt độ xác đến 94% 3.4 Kết luận Chương Thiết bị đánh giá phân loại cà chua máy tính sử dụng phương pháp xử lý hình ảnh qua hàm thư viện xử lý hình ảnh lớn openCV, kết hợp cảm biến để xây dựng nên phần mềm cho hai hệ thiết bị thiết bị băng tải tự động Thiết bị có phần cứng thiết kế trực quan, đơn giản cho người sử dụng dễ cầm nắm, vận hành thiết bị, dễ dàng thay đổi hai thiết bị tự động cầm tay cách nhanh chóng cần thiết Thiết bị hoạt động ánh sáng ổn định nhận dạng khuyết tật bề mặt cà chua cần có ánh sáng tự nhiên Những thử nghiệm thực tế mô lại không gian kiểm định thực tế, kiểm tra khả hoạt động hai loại thiết bị đánh giá phân loại cà chua băng tải tự động điều kiện khác xảy băng tải hay tự nhiên xây dựng lại 56 CHƯƠNG 4: CHẾ TẠO MƠ HÌNH VÀ ĐÁNH GIÁ HOẠT ĐỘNG HỆ THỐNG 4.1 Chế tạo mô hình hệ thống khí và điều khiển 4.1.1 Mơ hình khí xây dựng thực tế Hình 4.1 Mơ hình hồn thiện hệ thống 57 Chân giá đỡ lăn gia công máy CNC, khung băng tải sử dụng nhựa Pom đen Nhóm sử dụng khung để ghép lại với (hình 4.1) để dễ dàng việc tinh chỉnh độ căng băng tải theo ý muốn 4.1.2 Xây dựng hệ thống điều khiển Dây nguồn động băng tải nối vào chân mạch điều khiển động L298N Các chân tín hiệu nối vào bo mạch điều khiển Arduino Nguồn cấp cho hệ thống nguồn tổ ông 24VDC Hình 4.2 Mạch điều khiển tồn hệ thống 4.2 Kết nối, truyền thông và xây dựng giao diện Hệ thống nhận diện điện điều khiển với hệ thống camera phần tử riêng biệt với nhau, để hoạt động cần phải có cầu nối liên kết lại chúng Việc kết nối hệ thống điều khiển hệ thống xử lý ảnh thông qua giao tiếp Serial vi điều khiển máy tính 4.2.1 Kết nối, truyền thơng và xây dựng giao diện a Kết nối camera và máy tính Nhóm sử dụng kết nối cổng USB để kết nối máy tính hệ thống camera Khi hệ thống camera quét, chụp ảnh truyền liệu cho máy tính Khi hệ thống phần mềm xử lý hình ảnh để trích xuất thơng tin liệu tiến hành nhận dạng khuyết tật 58 Hình 4.3 Camera chụp phân loại cà chua băng tải tự động b Kết nối Arduino với máy tính Hình 4.4 Kết nối Arduino với máy tính Kết nối Arduino máy tính cổng truyền thông UART cho phép thu nhận liệu từ máy tính 4.2.2 Xây dựng giao diện người dùng Thiết bị đánh giá phân loại cà chua băng tải tự động kết nối với hình máy tính sử dụng chuột bàn phím nó, việc cần có giao diện người dùng thân thiện, trực quan, đơn giản dễ thiết lập quan trọng Vì em sử dụng thư viện Yolo lập trình GUI thân thiện, đơn giản, dễ dàng nhớ cách sử dụng Giao diện giúp hiển thị hình ảnh kết 59 quả, thơng số số kiểm tra, số đạt, số không đạt mức độ hỏng Giao diện người dùng có nút Start Hướng dẫn sử dụng thiết bị - Bước 1: Kết nối nguồn để khởi động thiết bị - Bước 2: Nhấn nút Start hình - Bước 3:Đợi kết đưa hiển thị bên phải “chín” “xanh” “hỏng” Bước thiết bị băng tải thực tự động Thông tin tỉ lệ thông số hiển thị ô bên phải “Scale” - Bước 4: Tiếp tục thực - Bước 5: Sau kết thúc phiên làm việc ấn nút “Close” để khỏi chương trình 4.3 Đánh giá hoạt đợng hệ thống Trong q trình hoạt động hệ thống, nhóm đưa số kiểm tra để đánh giá hoạt động hệ thống Quá trình hoạt động băng tải hoạt động ổn định, vững với kết cấu gia cố vững vàng, với tốc độ hoạt động vừa phải giúp trình nhận diện hoa với độ trễ nhỏ độ xác cao 4.3.1 Xử lý hình ảnh Kết nhận dạng vết khuyết tật, từ tính tốn diện tích tỉ lệ vết khuyết tật cách tính số pixel vùng khuyết tật Cuối cùng, tính tỉ lệ diện tích vùng khuyết tật diện tích bề mặt cà chua để đưa định Tùy theo yêu cầu người dùng cần tỉ lệ khoảng cho phép để đưa định loại bỏ hay giữ lại 4.3.2 Lưu và hiển thị liệu Ban đầu liệu hiển thị lên giao diện thiết bị.Dữ liệu số lưu file text để bảo lưu liệu, file text ghi lên thẻ nhớ nằm máy tính 60 Các thông số lưu lại bao gồm ID quả, số pixel bề mặt quả, số pixel bề mặt vùng khuyết tật, tỉ lệ khuyết tật so với diện tích bề mặt định loại/khơng loại giúp người dùng tổng kết lại liệu buổi hơm cách dễ dàng 4.4 Kết luận chương Nhóm tiến hành xây dựng mơ hình thực tế, thi cơng chế tạo mơ hình thực tiễn hệ thống khí, thiết kế hệ thống điểu khiển động cơ, hệ thống cảm biến Xây dựng giao diện hoàn thiện cho sản phẩm với tính tự tính phân loại hoa 61 KẾT LUẬN CHUNG VA HƯỚNG PHÁT TRIỂN Qua trình nghiên cứu xây dựng, nhóm chúng em đạt mục tiêu thiết kế xây dựng thành công hệ thống phân loại chất lượng hoa sử dụng thuật tốn sâu Trong q trình thực hiện, chúng em đối mặt với nhiều thách thức vấn đề khó khăn việc tìm hiểu áp dụng kiến thức khí, điện tử, lập trình xử lý ảnh Chúng em tìm hiểu đưa phương án liên tục thử nghiệm, tìm giải pháp tối ưu cho việc điều khiển xử lý ảnh, chúng em tiếp nhận nhiều kiến thức giúp đặt móng cho cơng việc tương lai hồn thiện đồ án tạ Để thương mại hóa sản phẩm, cần bổ sung thêm số nội dung sau: - Nghiên cứu sử dụng GPU máy tính để giúp tăng tốc độ xử lý cho phần mềm - Hồn thiện thêm hệ thống xử lý hình ảnh kết đo xác - Thiết bị đưa vào thực tế để bán cần kết nối BUS module nhỏ gọn đẹp mắt - Cải thiện độ xác phương pháp xử lý ảnh gia đoạn lọc nhiễu co giãn hình thái học hai đối tượng bê mặt vùng khuyết tật - Xây dựng ứng dụng điện thoại sever độc lập truy xuất sở liệu, kiểm soát liệu từ xa - Kết hợp với hệ thống băng tải rung để kiểm định chất lượng tồn bề mặt xung quanh - Đưa giải pháp thuật toán sử dụng cho thiết bị loại hoa khác 62 TÀI LIỆU THAM KHẢO [1] NGHIÊN CỨU KHOA HỌC “ Ứng dụng kĩ thuật xử lí ảnh kết hợp mơ hình mạng học sâu nhận dạng hoa xuất khẩu” [2] Tạp chí khoa học trường đại học Cần Thơ- TỔNG HỢP CƠ SỞ LÝ THUYẾT VÀ THỰC NGHIỆM PHÂN TÍCH KHƠNG PHÁ HỦY TRÁI XOÀI BẰNG PHƯƠNG PHÁP VA ĐẬP NHẸ [3] Kỷ yếu hội nghị Khoa học quốc gia lần thứ IX “ Nghiên cứu ứng dụng công nghệ thông tin(FAIR’9)” Phát nhận dạng khuyết điểm vỏ trái xồi [4] Phạm Đình Khanh, “YOLO-You only look once”, Khoa học liệu-Khanh’s blog [5]Bài báo “ Huấn luyện mơ hình Object Detection vs Yolov5” [6]https://uniduc.com/vi/blog/object-detection-tim-hieu-ve-thuat-toan-r-cnn-fast-rcnn-va-faster-r-cnn 63 CODE Code Pycharm import sys from PySide2 import QtCore,QtGui,QtWidgets from PySide2.QtCore import from PySide2.QtGui import from PySide2.QtWidgets import * from ui_main import Ui_MainWindow import serial import numpy as np import cv2 import torch from Yolov5.models.common import DetectMultiBackend from Yolov5.utils.dataloaders import LoadStreams from Yolov5.utils.general import ( LOGGER,Profile, check_img_size, cv2,increment_path, non_max_suppression, scale_boxes) from Yolov5.utils.plots import Annotator, colors from Yolov5.utils.torch_utils import select_device img=None class MainWindow(QMainWindow): def init (self): QMainWindow. init (self) self.ui=Ui_MainWindow() self.ui.setupUi(self) self.ui.pushButton.clicked.connect(self.run) self.hoa_qua = yolo_hoa_qua() self.hoa_qua.data.connect(self.yolo) self.hoa_qua.start() self.serial_thread = SerialThread('COM5','9600') self.serial_thread.data_received.connect(self.update_serial) 64 self.serial_thread.start() self.data='' self.show() def show_webcam(self, cv_img): qt_img = self.convert_cv_qt(cv_img) self.ui.label.setPixmap(qt_img) def convert_cv_qt(self, cv_img): rgb_image = cv2.cvtColor(cv_img, cv2.COLOR_BGR2RGB) h, w, ch = rgb_image.shape bytes_per_line = ch * w convert_to_Qt_format = QtGui.QImage(rgb_image.data, w, h, bytes_per_line, QtGui.QImage.Format_RGB888) p = convert_to_Qt_format.scaled(self.ui.label.geometry().width(), self.ui.label.geometry().height(), Qt.KeepAspectRatio) return QPixmap.fromImage(p) def run(self): if self.ui.pushButton.isChecked(): self.serial_thread.write_data('s') else: self.serial_thread.write_data('t') def update_serial(self,data): print(data) def yolo(self,product): global img data='' self.show_webcam(img) # print(product[0]) 65 if int(product[1:None]) 0: self.data = self.serial_port.readline().decode() self.data_received.emit(self.data) except: break 66 def write_data(self, data): self.serial_port.write(data.encode()) class yolo_hoa_qua(QThread, QObject): data = Signal(str) def init (self): super(). init () self.run_yolo=True self.model='' def run(self,imgsz=(416, 416),conf_thres=0.5): global img weights='a.pt' source = '0' # Load model device = select_device('0') model = DetectMultiBackend(weights, device=device, dnn=False, data='data/coco128.yaml', fp16=False) stride, names, pt = model.stride, model.names, model.pt imgsz = check_img_size(imgsz, s=stride) # check image size # Dataloader bs = # batch_size dataset = LoadStreams(source, img_size=imgsz, stride=stride, auto=pt, vid_stride=1) bs = len(dataset) # Run inference 67 model.warmup(imgsz=(1 if pt or model.triton else bs, 3, *imgsz)) # warmup dt = (Profile(), Profile(), Profile()) for path, im, im0s, vid_cap, s in dataset: if self.run_yolo==True: with dt[0]: im = torch.from_numpy(im).to(model.device) im = im.half() if model.fp16 else im.float() # uint8 to fp16/32 im /= 255 # - 255 to 0.0 - 1.0 if len(im.shape) == 3: im = im[None] # expand for batch dim # Inference with dt[1]: pred = model(im, augment=False, visualize=False) # NMS with dt[2]: pred = non_max_suppression(pred, conf_thres, 0.45, None, False, max_det=1000) # Process predictions for i, det in enumerate(pred): # per image cx,cy,height,c=0,0,0,4 im0= im0s[i].copy() annotator = Annotator(im0, line_width=1, example=str(names)) if len(det): # Rescale boxes from img_size to im0 size det[:, :4] = scale_boxes(im.shape[2:], det[:, :4], im0.shape).round() # # Print results for c in det[:, 5].unique(): n = (det[:, 5] == c).sum() # detections per class # Write results for *xyxy, conf, cls in reversed(det): 68 c = int(cls) # integer class # label =names[c] product=c label = None if False else (names[c] if False else f'{names[c]} {conf:.2f}') # print(label) cx,cy,w,h=annotator.box_label(xyxy, label, color=colors(c, True)) im0 = annotator.result() img = im0 self.data.emit(str(c)+str(cy)) cv2.waitKey(1) # millisecond else: break if name == " main ": app=QApplication(sys.argv) window=MainWindow() sys.exit(app.exec_()) Code Arduino nano #include #define servo1 #define servo2 #define tiem_can1 #define tiem_can2 #define relay Servo myservo1; Servo myservo2; int val, val1; char data,data1; void setup() { Serial.begin(9600); Serial.setTimeout(1); pinMode(servo1, OUTPUT); pinMode(servo2, OUTPUT); pinMode(tiem_can1, INPUT); pinMode(tiem_can2, INPUT); pinMode(relay, OUTPUT); myservo1.attach(servo1); 69 myservo2.attach(servo2); myservo1.write(180); myservo2.write(180); digitalWrite(relay, HIGH); } void loop() { val = digitalRead(tiem_can1); val1 = digitalRead(tiem_can2); if (Serial.available() > 0) { data = Serial.read(); Serial.println(data); } if (data=='s'||data=='t'||data=='d'||data=='x'||data=='h') data1=data; if (data1 == 's') digitalWrite(relay, LOW); if (data1 == 't') { digitalWrite(relay, HIGH); } if (data1 == 'd') { myservo2.write(180); if (val == 0) { myservo1.write(130); } else myservo1.write(180); } if (data1 == 'x') { myservo1.write(180); if (val1 == 0) myservo2.write(100); else myservo2.write(180); } if (data1 == 'h') { myservo1.write(180); myservo2.write(180); } } 70

Ngày đăng: 27/05/2023, 18:50

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan