Ultralytics Android应用:使用YOLO模型进行实时物体检测
Ultralytics Android应用是一个强大的工具,允许您直接在Android设备上运行YOLO模型进行实时物体检测。该应用利用TensorFlow Lite进行模型优化,并使用各种硬件代理进行加速,从而实现快速高效的物体检测。
观看: Ultralytics HUB应用(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:利用高通的Hexagon DSP进行更快和更高效的处理器。此选项适用于配备高通骁龙处理器的设备。
- NNAPI:Android 神经网络 API(NNAPI)作为在Android设备上运行ML模型的抽象层。NNAPI可以利用各种硬件加速器,如CPU、GPU和专用AI芯片(例如,Google的Edge TPU,或Pixel神经核心)。
以下是显示主要供应商、其产品线、流行设备和支持的委托的表格:
供应商 | 产品线 | 流行设备 | 支持的委托 |
---|---|---|---|
高通 | 骁龙(例如,800系列) | 三星Galaxy S21、一加9、Google Pixel 6 | CPU、GPU、Hexagon、NNAPI |
三星 | Exynos(例如,Exynos 2100) | 三星Galaxy S21(全球版) | CPU、GPU、NNAPI |
联发科 | 天玑(例如,天玑1200) | Realme GT、小米Redmi Note | CPU、GPU、NNAPI |
海思 | 麒麟(例如,麒麟990) | 华为P40 Pro、华为Mate 30 Pro | CPU、GPU、NNAPI |
英伟达 | Tegra(例如,Tegra X1) | NVIDIA Shield TV、任天堂Switch | CPU、GPU、NNAPI |
请注意,提到的设备列表并不详尽,可能会因具体的芯片组和设备型号而异。始终在目标设备上测试您的模型,以确保兼容性和最佳性能。
请记住,委托的选择会影响性能和模型兼容性。例如,某些模型可能无法与某些委托一起工作,或者特定设备上可能无法使用某个委托。因此,在目标设备上测试您的模型和所选委托以获得最佳结果至关重要。
开始使用Ultralytics Android应用
要开始使用Ultralytics Android应用,请按照以下步骤操作:
-
从Google Play商店下载Ultralytics应用。
-
在您的Android设备上启动应用,并使用您的Ultralytics账户登录。如果您还没有账户,请在此处创建一个Ultralytics账户。
-
登录后,您将看到您训练的 YOLO 模型列表。选择一个模型用于目标检测。
-
授予应用程序访问您设备相机的权限。
-
将设备的相机对准您想要检测的物体。应用程序将在检测到物体时实时显示边界框和类别标签。
-
探索应用程序的设置,调整检测阈值,启用或禁用特定物体类别等。
通过 Ultralytics Android 应用程序,您现在可以轻松使用 YOLO 模型进行实时目标检测。尽情探索应用程序的功能,并优化其设置以适应您的特定使用场景。