Mục lục:
Video: Sipeed MaiX Bit OpenMV Demos - Thị giác máy tính: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Đây là bài viết thứ hai trong loạt bài về Sipeed AI trên nền tảng vi điều khiển Edge. Lần này tôi sẽ viết về MaiX Bit (liên kết đến Seeed Studio Shop), một bảng phát triển sẵn sàng cho breadboard nhỏ hơn. Các thông số kỹ thuật của nó rất giống với MaiX Dock, bảng mà tôi đã sử dụng cho bài hướng dẫn trước, vì chúng sử dụng cùng một con chip, Kendryte K210.
Chúng tôi sẽ sử dụng chương trình cơ sở vi chương trình để thử một số bản trình diễn OpenMV. Đây là mô tả từ trang chủ OpenMV:
Dự án OpenMV là về việc tạo ra các mô-đun thị giác máy chi phí thấp, có thể mở rộng, được hỗ trợ bởi Python và nhằm mục đích trở thành “Arduino của Thị giác máy”.… Python giúp làm việc với các thuật toán thị giác máy dễ dàng hơn nhiều. Ví dụ: phương thức find_blobs () trong mã tìm các đốm màu và trả về danh sách các đối tượng có giá trị 8 đại diện cho mỗi đốm màu được tìm thấy. Trong Python, việc lặp lại danh sách các đối tượng được trả về bởi find_blobs () và vẽ một hình chữ nhật xung quanh mỗi đốm màu có thể dễ dàng thực hiện chỉ trong hai dòng mã.
Vì vậy, mặc dù MaiX Bit có tính năng tăng tốc mạng nơ-ron chuyên dụng, đôi khi có thể dễ dàng hơn nếu chỉ sử dụng các thuật toán mã hóa cứng OpenMV để thực hiện công việc hoặc sử dụng chúng song song với nhau.
Một số trường hợp sử dụng mà tôi nghĩ đến là:
1) Phát hiện dòng cho bot theo dõi dòng
2) Phát hiện đèn giao thông với phát hiện vòng tròn và màu sắc
3) Sử dụng tính năng nhận diện khuôn mặt để tìm các khuôn mặt để nhận dạng khuôn mặt (với DNN)
Kho lưu trữ Github cho bài viết này
Bước 1: Phần mềm cơ sở Flash Micropython
Trước hết, chúng ta sẽ cần flash firmware micropython vào bảng của chúng ta. Một bản nhị phân được biên dịch trước được bao gồm trong kho lưu trữ github cho bài viết này, cùng với kflash.py (một tiện ích flash). Nếu bạn muốn biên dịch phần sụn từ mã nguồn, chỉ cần tải xuống mã nguồn từ https://github.com/sipeed/MaixPy, cài đặt chuỗi công cụ và biên dịch mã nguồn thành tệp maixpy.bin. Hướng dẫn xây dựng chi tiết có thể được tìm thấy tại đây.
Flash tệp nhị phân với
sudo python3 kflash.py kpu.bin
Sau khi nhấp nháy thành công, hãy làm theo bước tiếp theo.
Bước 2: Kết nối với MaiX Bit
Giờ đây, Bit MaiX của chúng tôi có thể được truy cập thông qua kết nối nối tiếp USB với baudrate 115200. Bạn có thể sử dụng phần mềm yêu thích của mình để giao tiếp nối tiếp hoặc chỉ lệnh cat và echo, bất cứ điều gì phù hợp với nhu cầu của bạn. Tôi đã sử dụng màn hình để giao tiếp nối tiếp và thấy nó rất thuận tiện.
Lệnh để thiết lập một phiên giao tiếp nối tiếp với màn hình là
sudo screen / dev / ttyUSB0 115200
trong đó / dev / ttyUSB0 là địa chỉ thiết bị của bạn.
Bạn có thể cần nhấn nút đặt lại trên bộ vi điều khiển của mình để xem thông báo chào mừng và lời nhắc thông dịch python.
Bước 3: Chạy Demo
Bây giờ bạn có thể truy cập chế độ sao chép bằng cách nhấn Ctrl + E và sao chép-dán các mã demo. Để chạy chúng, hãy nhấn Ctrl + D trong chế độ sao chép.
Nếu bạn không muốn quay video, bạn cần phải chú thích các dòng quay video. Nếu không, mã sẽ xuất hiện một ngoại lệ nếu không có thẻ SD được lắp vào
Dưới đây là mô tả ngắn về từng bản demo:
Tìm vòng kết nối - sử dụng chức năng find_circles từ OpenMV. Cần điều chỉnh nhiều hơn cho ứng dụng cụ thể của bạn, đặc biệt là ngưỡng (kiểm soát những vòng tròn nào được phát hiện từ biến đổi hough. Chỉ những vòng tròn có độ lớn lớn hơn hoặc bằng ngưỡng mới được trả về) và giá trị r_min, r_max.
Tìm hình chữ nhật - sử dụng hàm find_rects từ OpenMV. Bạn có thể thử với giá trị ngưỡng, nhưng giá trị mà tôi có trong bản demo hoạt động khá tốt để tìm hình chữ nhật.
Tìm khuôn mặt, tìm mắt - sử dụng chức năng find_features với Haar Cascades để phát hiện mắt và mặt trước trong ảnh. Bạn có thể thử nghiệm với các giá trị ngưỡng và tỷ lệ để có sự cân bằng giữa tốc độ và độ chính xác phù hợp.
Tìm các dòng vô hạn - sử dụng hàm find_lines để tìm tất cả các dòng vô hạn trong hình ảnh bằng cách sử dụng phép biến đổi hough.
Phát hiện màu - sử dụng hàm get_st Statistics để lấy đối tượng phần trăm và sau đó chuyển đổi các giá trị trung bình của bộ giá trị LAB thành bộ giá trị RGB. Tôi đã tự viết ví dụ này và nó hoạt động khá tốt, nhưng hãy nhớ rằng kết quả phát hiện màu sẽ bị ảnh hưởng bởi điều kiện ánh sáng xung quanh.
Bạn có thể tìm thấy nhiều bản demo thú vị khác trong kho lưu trữ github của OpenMV! Chúng hầu như tương thích với vi cuộc thi MaiX Bit, điều duy nhất bạn cần nhớ là thêm sensor.run (1) sau khi thiết lập pixformat và frameize.
Chúc bạn thử nghiệm vui vẻ với mã OpenMV. Nếu bạn có bất kỳ câu hỏi nào hoặc muốn chia sẻ một số kết quả thú vị của mình, đừng ngần ngại liên hệ với tôi trên Youtube hoặc LinkedIn. Bây giờ, xin lỗi, tôi sẽ đi làm một số robot!
Đề xuất:
Phát hiện đối tượng với bảng Sipeed MaiX (Kendryte K210): 6 bước
Phát hiện đối tượng với Sipeed MaiX Boards (Kendryte K210): Là phần tiếp theo của bài viết trước của tôi về nhận dạng hình ảnh với Sipeed MaiX Boards, tôi quyết định viết một hướng dẫn khác, tập trung vào phát hiện đối tượng. Có một số phần cứng thú vị xuất hiện gần đây với chip Kendryte K210, bao gồm cả S
Tự làm đèn LED lá kim lục giác hình lục giác: 5 bước (có hình ảnh)
Tự làm Đèn LED Nanoleaf Lục giác: Sau khi xem bảng giá cho Nanoleaf Aurora hoặc các Bảng LED tương tự, tôi đã thực hiện một số nghiên cứu và quyết định tạo phiên bản của riêng mình với mức giá thấp hơn nhiều. acrylic dày bán trong suốt WS281
Giá đỡ phím giắc cắm ghi-ta Arduino với nhận dạng giắc cắm & OLED: 7 bước
Arduino Guitar Jack Key Holder With Jack Recognition & OLED: Giới thiệu: Hướng dẫn này sẽ trình bày chi tiết việc xây dựng chủ key plugin Guitar Jack dựa trên Arduino của tôi
Giá đỡ máy tính xách tay không đắt tiền / Máy tính xách tay sang Bộ chuyển đổi máy tính để bàn: 3 bước
Giá đỡ máy tính xách tay / Máy tính xách tay sang Bộ chuyển đổi máy tính để bàn không đắt tiền: Tôi thấy mình đã sử dụng máy tính xách tay của mình trong thời gian dài. Nó sẽ khó chịu sau một thời gian. Bàn phím và màn hình lý tưởng nên tách biệt để giảm mỏi cổ khi sử dụng lâu. Nếu bạn là người dùng máy tính xách tay toàn thời gian, tôi khuyên bạn nên xây dựng
Giắc cắm giắc cắm tai nghe iPhone của Apple: 7 bước
Giắc cắm giắc cắm tai nghe iPhone của Apple: Giắc cắm tai nghe trên iPhone của Apple đã bị ảnh hưởng rất nhiều vì nó không hoạt động với hầu hết các tai nghe tiêu chuẩn vì nó bị lõm xuống. Sự khó chịu rõ ràng đó đã che giấu một nhược điểm quan trọng khác đối với thiết kế giắc cắm tai nghe - đó là