Chuyển đến nội dung

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

Ảnh xem trước Ultralytics HUB

Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord

Cửa hàng Google Play 

Ứng dụng Ultralytics Android là một công cụ mạnh mẽ cho phép bạn chạy các mô hình YOLO trực tiếp trên thiết bị Android của mình để 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 Ứng dụng Ultralytics HUB (IOS & 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, các mô hình YOLO được lượng tử hóa thành độ chính xác FP16 hoặc INT8. Lượng tử hóa là một quy trình làm giảm độ chính xác số học của trọng số và độ lệch của mô hình, do đó làm giảm kích thước của mô hình và 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 bán chính xác) chuyển đổi các 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) giúp giảm thê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 các 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ể mang lại khả năng tăng tốc đáng kể, nhưng nó có thể dẫn đến giảm nhẹ độ chính xác trung bình (mAP) do độ chính xác số học thấp hơn.

Giảm mAP trong Mô hình INT8

Độ chính xác số học giảm trong các mô hình INT8 có thể dẫn đến mất một số 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 những cải thiện đáng kể về hiệu suất mà lượng tử hóa INT8 mang lại.

Ủy quyền và tính biến động 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 sự tăng cường hiệu suất đáng kể trên các thiết bị có GPU mạnh mẽ.
  3. Hexagon: Tận dụng Hexagon DSP 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ò là một lớp trừu tượng để chạy các mô hình ML trên các 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à các chip AI chuyên dụng (ví dụ: Google Edge TPU hoặc Pixel Neural Core).

Đâ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à các đại biểu được hỗ trợ:

Nhà cung cấp Dòng sản phẩm Các Thiết Bị Phổ Biến Các ủy quyền được hỗ trợ
Qualcomm Snapdragon (ví dụ: dòng 800) 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 quốc tế) 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ể khác nhau 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 để đảm bảo tính tương thích và hiệu suất tối ưu.

Hãy nhớ rằng việc lựa chọn delegate 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ố mô hình có thể không hoạt động với một số delegate nhất định hoặc một delegate có thể không khả 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à delegate đã chọn trên các thiết bị mục tiêu để có kết quả tốt nhất.

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

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

  1. Tải xuống Ứng dụng Ultralytics từ Google Play Store.

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

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

  4. Cấp cho ứng dụng quyền truy cập vào máy ảnh 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 theo 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 Ứng dụng Ultralytics 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ác model YOLO ngay trong tầm tay. Hãy thoải mái 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 nó để phù hợp với các trường hợp sử dụng cụ thể của bạn.



📅 Đã tạo 1 năm trước ✏️ Cập nhật 4 tháng trước

Bình luận