Bỏ để qua phần nội dung

Ultralytics Ứng dụng Android: Phát hiện đối tượng theo thời gian thực với YOLO Mô hình

Ultralytics Hình ảnh xem trước HUB

Ultralytics GitHub không gian Ultralytics Liên kết không gian Ultralytics Twitter không gian Ultralytics YouTube không gian Ultralytics TikTok không gian Ultralytics Ảnh minh họa không gian Ultralytics Bất hòa

Cửa hàng Google Play 

Các Ultralytics Ứng dụng Android là một công cụ mạnh mẽ cho phép bạn chạy YOLO mô hình trực tiếp trên thiết bị Android của bạn để phát hiện đối tượng theo thời gian thực. Ứng dụng này sử dụng TensorFlow Lite để tối ưu hóa mô hình và các đại biểu phần cứng khác nhau để tăng tốc, cho phép phát hiện đối tượng nhanh chóng và hiệu quả.



Xem: Bắt đầu với Ultralytics Ứng dụng HUB (IOS và Android)

Lượng tử hóa và tăng tốc

Để đạt được hiệu suất thời gian thực trên thiết bị Android của bạn, YOLO các mô hình được lượng tử hóa với độ chính xác FP16 hoặc INT8. Lượng tử hóa là một quá trình làm giảm độ chính xác số của mô hình weights and biases, do đó làm giảm kích thước của mô hình và số lượng tính toán cần thiết. Điều này dẫn đến thời gian suy luận nhanh hơn mà không ảnh hưởng đáng kể đến độ chính xác của mô hình.

Lượng tử hóa FP16

Lượng tử hóa FP16 (hoặc nửa chính xác) chuyển đổi số dấu phẩy động 32 bit của mô hình thành số dấu phẩy động 16 bit. Điều này làm giảm một nửa kích thước của mô hình và tăng tốc quá trình suy luận, đồng thời duy trì sự cân bằng tốt giữa độ chính xác và hiệu suất.

Lượng tử hóa INT8

Lượng tử hóa INT8 (hoặc số nguyên 8 bit) tiếp tục làm giảm kích thước và yêu cầu tính toán của mô hình bằng cách chuyển đổi số dấu phẩy động 32 bit của nó thành số nguyên 8 bit. Phương pháp lượng tử hóa này có thể dẫn đến tăng tốc đáng kể, nhưng nó có thể dẫn đến giảm nhẹ độ chính xác trung bình trung bình (mAP) do độ chính xác số thấp hơn.

Giảm mAP trong các mô hình INT8

Độ chính xác số giảm trong các mô hình INT8 có thể dẫn đến một số mất thông tin trong quá trình lượng tử hóa, điều này có thể dẫn đến giảm nhẹ mAP. Tuy nhiên, sự đánh đổi này thường được chấp nhận khi xem xét mức tăng hiệu suất đáng kể được cung cấp bởi lượng tử hóa INT8.

Đại biểu và sự thay đổi hiệu suất

Các đại biểu khác nhau có sẵn trên các thiết bị Android để tăng tốc suy luận mô hình. Các đại biểu này bao gồm CPU, GPU, HexagonNNAPI. Hiệu suất của các đại biểu này khác nhau tùy thuộc vào nhà cung cấp phần cứng của thiết bị, dòng sản phẩm và chipset cụ thể được sử dụng trong thiết bị.

  1. CPU: Tùy chọn mặc định, với hiệu suất hợp lý trên hầu hết các thiết bị.
  2. GPU: Sử dụng GPU của thiết bị để suy luận nhanh hơn. Nó có thể cung cấp một hiệu suất tăng đáng kể trên các thiết bị có GPU mạnh mẽ.
  3. Hexagon: Tận dụng DSP Hexagon của Qualcomm để xử lý nhanh hơn và hiệu quả hơn. Tùy chọn này khả dụng trên các thiết bị có bộ xử lý Qualcomm Snapdragon.
  4. NNAPI: Android Neural Networks API (NNAPI) đóng vai trò như một lớp trừu tượng để chạy các mô hình ML trên thiết bị Android. NNAPI có thể sử dụng các bộ tăng tốc phần cứng khác nhau, chẳng hạn như CPU, GPU và chip AI chuyên dụng (ví dụ: Google Edge TPUhoặc Pixel Neural Core).

Dưới đây là bảng hiển thị các nhà cung cấp chính, dòng sản phẩm, thiết bị phổ biến và đại diện được hỗ trợ của họ:

Vendor Dòng sản phẩm Thiết bị phổ biến Các đại biểu được hỗ trợ
Qualcomm Snapdragon (ví dụ: 800 series) Samsung Galaxy S21, OnePlus 9, Google Pixel 6 CPU, GPU, Hexagon, NNAPI
Samsung Exynos (ví dụ: Exynos 2100) Samsung Galaxy S21 (Phiên bản toàn cầu) CPU, GPU, NNAPI
MediaTek Dimensity (ví dụ: Dimensity 1200) Realme GT, Xiaomi Redmi Note CPU, GPU, NNAPI
HiSilicon Kirin (ví dụ: Kirin 990) Huawei P40 Pro, Huawei Mate 30 Pro CPU, GPU, NNAPI
NVIDIA Tegra (ví dụ: Tegra X1) NVIDIA Shield TV, Nintendo Switch CPU, GPU, NNAPI

Xin lưu ý rằng danh sách các thiết bị được đề cập không đầy đủ và có thể thay đổi tùy thuộc vào chipset và kiểu thiết bị cụ thể. Luôn kiểm tra các mô hình của bạn trên các thiết bị mục tiêu của bạn để đảm bảo khả năng tương thích và hiệu suất tối ưu.

Hãy nhớ rằng việc lựa chọn đại diện có thể ảnh hưởng đến hiệu suất và khả năng tương thích của mô hình. Ví dụ: một số kiểu máy có thể không hoạt động với một số đại diện nhất định hoặc đại diện có thể không sẵn dùng trên một thiết bị cụ thể. Do đó, điều cần thiết là phải kiểm tra mô hình của bạn và đại diện được chọn trên các thiết bị mục tiêu của bạn để có kết quả tốt nhất.

Bắt đầu với Ultralytics Ứng dụng Android

Để bắt đầu với Ultralytics Ứng dụng Android, hãy làm theo các bước sau:

  1. Tải xuống Ultralytics Ứng dụng từ Cửa hàng Google Play.

  2. Khởi chạy ứng dụng trên thiết bị Android của bạn và đăng nhập bằng Ultralytics tài khoản. Nếu bạn chưa có tài khoản, hãy tạo một tài khoản tại đây.

  3. Sau khi đăng nhập, bạn sẽ thấy danh sách các khóa đào tạo của mình YOLO Mô hình. Chọn một mô hình để sử dụng để phát hiện đối tượng.

  4. Cấp cho ứng dụng quyền truy cập vào camera của thiết bị.

  5. Hướng camera của thiết bị vào các đối tượng bạn muốn phát hiện. Ứng dụng sẽ hiển thị các hộp giới hạn và nhãn lớp trong thời gian thực khi nó phát hiện các đối tượng.

  6. Khám phá cài đặt của ứng dụng để điều chỉnh ngưỡng phát hiện, bật hoặc tắt các lớp đối tượng cụ thể, v.v.

Với Ultralytics Ứng dụng Android, giờ đây bạn có sức mạnh phát hiện đối tượng theo thời gian thực bằng cách sử dụng YOLO mô hình ngay trong tầm tay bạn. Tận hưởng việc khám phá các tính năng của ứng dụng và tối ưu hóa cài đặt của ứng dụng cho phù hợp với các trường hợp sử dụng cụ thể của bạn.



Đã tạo 2023-11-12, Cập nhật 2024-03-01
Tác giả: RizwanMunawar (1), glenn-jocher (3)

Ý kiến