Ultralytics Android App:使用 YOLO 模型进行实时的物体检测
Ultralytics Android App 是一款强大的工具,可让您直接在 Android 设备上运行 YOLO 模型,以进行实时对象检测。此应用程序利用 TensorFlow Lite 进行模型优化,并利用各种硬件委托进行加速,从而实现快速高效的对象检测。
观看: Ultralytics HUB App (IOS & Android) 入门指南
量化和加速
为了在您的 Android 设备上实现实时性能,YOLO 模型被量化为 FP16 或 INT8 精度。量化是一个降低模型权重和偏置的数值精度的过程,从而减小模型的大小并减少所需的计算量。这可以加快推理速度,而不会显着影响模型的准确性。
FP16 量化
FP16(或半精度)量化将模型的 32 位浮点数转换为 16 位浮点数。这可以将模型的大小减少一半,并加快推理过程,同时在准确性和性能之间保持良好的平衡。
INT8 量化
INT8(或 8 位整数)量化通过将其 32 位浮点数转换为 8 位整数,进一步降低了模型的大小和计算需求。这种量化方法可以显著提高速度,但由于数值精度较低,可能会导致平均精度均值 (mAP) 略有下降。
INT8 模型中的 mAP 降低
INT8 模型中降低的数值精度可能会导致量化过程中丢失一些信息,这可能会导致 mAP 略有下降。但是,考虑到 INT8 量化提供的巨大性能提升,这种权衡通常是可以接受的。
委托和性能变异性
Android 设备上有不同的委托可用于加速模型推理。这些委托包括 CPU、GPU、Hexagon 和 NNAPI。这些委托的性能取决于设备的硬件供应商、产品线以及设备中使用的特定芯片组。
- CPU: 默认选项,在大多数设备上具有合理的性能。
- GPU: 利用设备的 GPU 进行更快的推理。它可以为具有强大 GPU 的设备提供显着的性能提升。
- Hexagon:利用 Qualcomm 的 Hexagon DSP 实现更快、更高效的处理。此选项在配备 Qualcomm Snapdragon 处理器的设备上可用。
- NNAPI: Android 神经网络 API (NNAPI) 充当在 Android 设备上运行 ML 模型的抽象层。NNAPI 可以利用各种硬件加速器,例如 CPU、GPU 和专用 AI 芯片(例如 Google 的 Edge TPU 或 Pixel Neural Core)。
下表显示了主要的供应商、他们的产品线、流行的设备和支持的代理:
供应商 | 产品线 | 常用设备 | 支持的委托 |
---|---|---|---|
Qualcomm | 骁龙(例如,800 系列) | Samsung Galaxy S21、OnePlus 9、Google Pixel 6 | CPU、GPU、Hexagon、NNAPI |
三星 | Exynos(例如,Exynos 2100) | 三星 Galaxy S21(全球版本) | CPU、GPU、NNAPI |
MediaTek | 天玑(例如,天玑 1200) | Realme GT, Xiaomi Redmi Note | CPU、GPU、NNAPI |
海思半导体 | 麒麟 (例如,麒麟 990) | 华为 P40 Pro、华为 Mate 30 Pro | CPU、GPU、NNAPI |
NVIDIA | Tegra(例如,Tegra X1) | NVIDIA Shield TV, Nintendo Switch | CPU、GPU、NNAPI |
请注意,所提及的设备列表并不详尽,并且可能因特定的芯片组和设备型号而异。请务必在目标设备上测试您的模型,以确保兼容性和最佳性能。
请记住,委托的选择会影响性能和模型兼容性。例如,某些模型可能无法与某些委托一起使用,或者委托可能在特定设备上不可用。因此,必须在目标设备上测试您的模型和所选的委托,以获得最佳结果。
Ultralytics Android App 入门指南
要开始使用 Ultralytics Android 应用程序,请按照以下步骤操作:
-
从 Google Play Store 下载 Ultralytics 应用程序。
-
在您的 Android 设备上启动应用程序,并使用您的 Ultralytics 帐户登录。如果您还没有帐户,请在 https://hub.ultralytics.com/ 上创建一个。
-
登录后,您将看到已训练的 YOLO 模型列表。选择一个模型用于对象检测。
-
授予应用访问您设备相机的权限。
-
将设备的摄像头对准要检测的物体。应用程序将在检测到物体时实时显示边界框和类别标签。
-
探索应用程序的设置,以调整检测阈值、启用或禁用特定的对象类别等。
有了 Ultralytics Android 应用程序,您现在就可以在指尖上使用 YOLO 模型进行实时对象检测。尽情探索应用程序的功能并优化其设置,以适应您的特定用例。