Chọn bo mạch Computer Vision vào năm 2022

Nov 30 2022
Chọn một nền tảng để làm việc với Computer Vision on the Edge rất khó. Có hàng chục bảng trên thị trường.

Chọn một nền tảng để làm việc với Computer Vision on the Edge rất khó. Có hàng chục bảng trên thị trường. Nếu bạn đọc về một trong số họ, bạn muốn sử dụng nó. Nhưng khi bạn thử - nó không tốt lắm.

Hình ảnh của tác giả

Tôi đã cố gắng so sánh rất nhiều bảng giá rẻ trên thị trường . Và không chỉ về tốc độ. Tôi đã cố gắng so sánh các nền tảng theo “khả năng sử dụng” của chúng. Sẽ dễ dàng xuất khẩu mạng lưới như thế nào, hỗ trợ tốt như thế nào. Và làm thế nào dễ dàng là để làm việc.

Bài viết này là kết quả của sự so sánh. Nhưng nếu bạn muốn xem thêm về các bảng, có một video khác mà tôi đã thực hiện về từng bảng (có so sánh đầy đủ):

  1. Google san hô
  2. Khadas Vim3
  3. ESP32 — (Video được quay trước khi tôi thực hiện hướng dẫn này. Nhưng cũng gần xong nên tôi sẽ dán vào đây. Và một đoạn bổ sung —https://youtu.be/ms6uoZr-4dc)
  4. quả mâm xôi
  5. Vô số X (NCS 2, Depth Ai (OAK,OAK-1,OAK-D, v.v.))
  6. Rock Pi 3A (RK3568, v.v.)(và một cái khác —https://youtu.be/NHVPxPlY2lIvề phát triển)
  7. Máy bay phản lực nano
  8. Hailo-8
  1. Bảng K210 ( khoảng )
  2. Bảng MAIX-II ( khoảng )

Và bây giờ mình đã order một m5stack (với bộ xử lý Sigmstar SSD202D) để test thử (đã test rồi, video sẽ ra sau).

Ngoài ra, tôi có một danh sách mà tôi dự định đặt hàng và kiểm tra sớm hay muộn và thêm vào bài viết này hoặc bài viết tiếp theo:

  1. DEBIX Model A — Nó phải rất giống với Vim3 nhưng với một hệ thống khác
  2. K510 Dual RSIC-V64 — Phiên bản mới của k210 là một bước tăng tốc đáng kể so với nền tảng cũ. Hệ thống thuận tiện hơn
  3. Horizon X3 Pi AI Board — Một bảng có cộng đồng lớn hướng đến ROS nhiều hơn. Nhưng có một số đối tác NPU trên tàu, điều này làm cho nền tảng này trở nên thú vị để thử nghiệm.
  4. VisionFive RISC-V — Một bo mạch có hai mô-đun tăng tốc (Công cụ NVDLA và NPU). Khi tôi nghĩ đến việc đặt mua nó ba tháng trước, tôi đã bị dừng lại vì một số chủ đề trên diễn đàn chính thức nói rõ rằng cả hai đều chưa thể chạy được ( NNE không hoạt động , NVDLA không hoạt động ). Tôi không nghĩ rằng bất cứ điều gì đã thay đổi được nêu ra.
  5. Cam Pi 5 — Đây là Rockchip RK3588S. Nhưng Orange Pi có cơ sở hạ tầng khá tiên tiến; sẽ rất thú vị nếu so sánh với Rock Pi. Nhưng nó rất có thể sẽ giống nhau. Cũng sẽ rất thú vị khi thử nghiệm Orange 4B, tương tự.
  6. Về RockChip, sẽ rất thú vị khi thử nghiệm thứ gì đó dựa trên RK1808 . Có rất nhiều bảng giá rẻ ngoài kia (như cái này ). Và thậm chí có một số với máy ảnh.
  7. KNEO STEM — Mô-đun NPU không có đánh giá.
  8. Sophon BM1880 — cũng là một bảng thú vị mà không có nhiều đánh giá.
  9. Xilinx Kria — là một bo mạch FPGA. Tôi tiếp tục muốn tập hợp hành động của mình lại và thử nó. Lần cuối cùng tôi cố gắng chuyển toán học sang một FPGA

Đi nào!

Đây là bảng cuối cùng với tất cả các bảng:

https://docs.google.com/spreadsheets/d/1BMj8WImysOSuiT-6O3g15gqHnYF-pUGUhi8VmhhAat4/edit?usp=sharing

Nhưng hãy để tôi giải thích tất cả các tiêu chí đầu tiên.

làm việc dễ dàng như thế nào

Làm thế nào là nó dễ dàng để flash? Flash Jetson TK1 mất nửa ngày. Đối với RPi — nửa giờ. Phần sụn là điểm bắt đầu giao tiếp của bạn với bo mạch sau khi mở hộp.

Quá dễ để làm việc với. Khi tôi làm việc với DaVinci — việc gỡ lỗi mất nhiều thời gian. Ngày nay tất cả các quy trình thường dễ dàng hơn nhiều. Hãy nói về họ.

Linux truyền thống . Tôi thích khi bạn có thể làm việc với Ubuntu thông thường. Và điều đó làm tôi buồn khi không có Linux thông thường trên bảng. Hãy kiểm tra điều này.

Sự đóng góp cho cộng đồng. Cộng đồng lớn — ít vấn đề và nhiều giải pháp. Hãy kiểm tra nó.

Hình ảnh của tác giả

Theo mình board tốt nhất là RPi và NCS. Nhưng chúng không hoàn toàn là bảng Computer Vision. Coral và Jetsons tốt nhưng không xuất sắc.

hỗ trợ mô hình

Thông thường, các NPU không thân thiện với người dùng về mặt chuyển đổi mô hình. Hãy nói về các mô hình.

Sở thú người mẫu chính thức . Những mô hình nào được hỗ trợ?

Sở thú mô hình không chính thức . Những gì cộng đồng cung cấp cho bảng này?

Việc chuyển đổi mô hình ngẫu nhiên dễ dàng như thế nào? Tại sao tôi cần hai điểm đầu tiên nếu tôi có thể xuất bất cứ thứ gì?!

Dễ dàng gỡ lỗi các vấn đề với việc chuyển đổi. Nếu việc xuất khẩu diễn ra không như kế hoạch.

Hình ảnh của tác giả

Như bạn có thể thấy, ba bảng tốt và một bảng gần như tốt.

Sẵn sàng sản xuất / Sẵn sàng cho các dự án sở thích / Xây dựng bảng

Một số thông tin bổ sung có thể cho phép bạn quyết định xem bạn có nên chọn bảng hay không.

Tốc độ xử lý ? Rất nhiều hệ thống thị giác máy tính yêu cầu bộ xử lý tốt. Hãy kiểm tra chúng. Để kiểm tra, mình sẽ sử dụng công cụ stress-ng (Sudo apt-get install stress-ng) trên Linux PC để so sánh.

Bộ phận cơ khí , xây dựng, ổn định nhiệt độ.

Dễ mua. Tôi có nên nhấn nút “Liên hệ để hỏi giá” không?… Hay xếp hàng chờ vài tháng?

Chân cho kết nối bên ngoài . Tôi sẽ có thể thao túng thực tế?

Hình ảnh của tác giả

Như bạn có thể thấy, tất cả các bo mạch trông gần như giống nhau ngoại trừ các bo mạch không có Linux.

Kiểm tra tốc độ

Thật khó để hiểu rõ “bảng nhanh như thế nào” bằng 2–3 điểm khi so sánh hiệu suất. Tốt hơn hết bạn nên xem phần “Kiểm tra tốc độ” của video và kiểm tra thông tin tại đây . Các bảng khác nhau có các khung suy luận khác nhau, các tham số khác nhau và lượng tử hóa khác nhau.

Tôi sử dụng kích thước lô =1 ở mọi nơi. Và đây không phải là chiến lược tốt nhất. Ví dụ, đối với Jetson, nó sẽ tăng hiệu suất.

Hình ảnh của tác giả

Nhưng theo tôi, những bài kiểm tra này có thể trả lời một số câu hỏi:

  1. Làm thế nào nhanh là hội đồng quản trị cho các mạng lưới thần kinh nhỏ?
  2. Tốc độ của bảng dành cho các mạng lưới thần kinh lớn là bao nhiêu?
  3. Khung tối ưu để chạy mạng lưới thần kinh là gì?

Giá bán

Đối với các dự án lớn, giá là rất quan trọng. Nhưng bạn khó có thể ước tính chi phí thực tế. Ví dụ:

  1. Giá của Jetson vào khoảng 99 đô la, nhưng với tình trạng thiếu chip hiện tại, bạn khó có thể mua nó với 250 đô la.
  2. Một lô hàng ván lớn có giá thấp hơn một lô hàng nhỏ.
  3. Bạn có thể tạo nguyên mẫu bo mạch của mình cho một số con chip, sẽ tốn ít chi phí hơn.
  4. Ngoại vi bổ sung sẽ làm tăng chi phí. Và nó sẽ khác nhau đối với các bảng khác nhau.
Hình ảnh của tác giả

Sự tiêu thụ năng lượng

Ngoài ra, tôi đã thử đo mức tiêu thụ điện năng.
Vài lưu ý quan trọng:

  1. Tôi không thể đo mức tiêu thụ năng lượng cho từng bảng được xem xét (một số bảng tôi tặng cho bạn bè, một số bảng không có USB, v.v.)
  2. Tôi cố gắng chỉ đo hai chế độ: “nhàn rỗi” và “chạy NN”. Nhưng: một số bảng có camera bên trong, một số bảng sử dụng wifi, một số bảng có thêm thiết bị ngoại vi, v.v. Tôi không kết nối bất kỳ bộ phận bổ sung nào, nhưng
  3. Đó là mức tiêu thụ năng lượng “trung bình”. Tôi đã không cố gắng đo mức tiêu thụ tối đa
Hình ảnh của tác giả

Tóm lược

Cho nên. Tôi hy vọng rằng điều này sẽ giúp bạn chọn bảng của bạn. Nhưng đó là một bài viết khá nhỏ. Và hãy để tôi giới thiệu thêm một vài.

  1. Một bài viết hay về NPU và TPU là gì, chúng khác nhau như thế nào và cách toán học được tối ưu hóa:https://blog.inten.to/hardware-for-deep-learning-part-4-asic-96a542fe6a81
  2. Bài viết hay về so sánh các nền tảng. Có một số nền tảng tôi chưa xem xét + ví dụ về các mạng mà tôi không có —https://qengineering.eu/deep-learning-with-raspberry-pi-and-alternatives.html
  3. Không phải là một so sánh quá chi tiết, nhưng một số nền tảng thú vị mà tôi chưa xem xét —https://jfrog.com/connect/post/comparison-of-the-top-5-single-board-computers/
  4. Một bài báo xuất sắc và chi tiết, nhưng không có nhiều bảng —https://arxiv.org/pdf/2108.09457.pdf
  5. kiểm tra hiệu suất ncnn cho một loạt các bảng —https://github.com/nihui/ncnn-small-board