Ultralytics Android 应用程序:利用YOLO 模型实时检测物体
Ultralytics Android 应用程序是一款功能强大的工具,可让您直接在Android 设备上运行YOLO 模型,进行实时物体检测。该应用程序利用 TensorFlowLite 进行模型优化,并利用各种硬件代表进行加速,从而实现快速高效的物体检测。
观看: Ultralytics HUB 应用程序入门 (IOS &Android)
量化和加速度
为了在Android 设备上实现实时性能,YOLO 模型被量化为 FP16 或 INT8精度。量化是一个降低模型weights and biases 数值精度的过程,从而减少模型的大小和所需的计算量。这样可以加快推理时间,而不会明显影响模型的精度。
FP16 量化
FP16(或半精度)量化将模型的 32 位浮点数转换为 16 位浮点数。这将模型的大小减少了一半,并加快了推理过程,同时在精度和性能之间保持了良好的平衡。
INT8 量化
INT8(或 8 位整数)量化通过将 32 位浮点数转换为 8 位整数,进一步减小了模型的大小和计算要求。这种量化方法可以显著加快速度,但由于数值精度较低,可能会导致平均精度(mAP)略有下降。
减少 INT8 模型中的 mAP
在量化过程中,INT8 模型数值精度的降低可能会导致一些信息的丢失,这可能会导致 mAP 略有下降。不过,考虑到 INT8 量化带来的巨大性能提升,这种权衡通常是可以接受的。
代表和绩效差异
Android 设备上提供了不同的委托,以加速模型推理。这些代表包括CPU 、 GPUHexagon和NNAPI。这些代理的性能因设备的硬件供应商、产品线和设备中使用的特定芯片组而异。
- CPU:默认选项,在大多数设备上性能合理。
- GPU:利用设备的GPU 进行更快的推理。在配备强大图形处理器的设备上,它能显著提升性能。
- Hexagon:利用高通公司的 Hexagon DSP 实现更快、更高效的处理。该选项适用于配备高通 Snapdragon 处理器的终端。
- NNAPI:Android 神经网络API (NNAPI) 是在Android 设备上运行 ML 模型的抽象层。NNAPI 可利用各种硬件加速器,如CPU 、GPU 和专用人工智能芯片(如Google's EdgeTPU 或 Pixel Neural Core)。
下面的表格显示了主要供应商、其产品线、流行设备和支持的代表:
供应商 | 产品系列 | 流行设备 | 支持的代表 |
---|---|---|---|
高通公司 | 骁龙(如 800 系列) | 三星 Galaxy S21、OnePlus 9、Google Pixel6 | CPU,GPU, Hexagon, NNAPI |
三星 | Exynos(例如 Exynos 2100) | 三星 Galaxy S21(全球版) | CPU,GPU, NNAPI |
联发科 | 密度(如密度 1200) | Realme GT、小米红米 Note | CPU,GPU, NNAPI |
HiSilicon | 麒麟(如麒麟990) | 华为 P40 Pro、华为 Mate 30 Pro | CPU,GPU, NNAPI |
NVIDIA | Tegra(如 Tegra X1) | NVIDIA Shield TV、任天堂交换机 | CPU,GPU, NNAPI |
请注意,上述设备列表并不详尽,可能因特定芯片组和设备型号而异。请务必在目标设备上测试您的型号,以确保兼容性和最佳性能。
请记住,委托的选择会影响性能和模型兼容性。例如,某些模型可能无法使用某些委托,或者某个委托在特定设备上不可用。因此,必须在目标设备上测试您的模型和所选的委托,以获得最佳效果。
开始使用Ultralytics Android 应用程序
要开始使用Ultralytics Android 应用程序,请按照以下步骤操作:
-
从Google Play Store 下载Ultralytics 应用程序。
-
在Android 设备上启动应用程序,然后使用Ultralytics 账户登录。如果您还没有账户,请在此处创建一个。
-
登录后,您将看到训练有素的YOLO 模型列表。选择一个用于物体检测的模型。
-
授予应用程序访问设备摄像头的权限。
-
将设备的摄像头对准要检测的对象。应用在检测物体时会实时显示边界框和类标签。
-
探索应用程序的设置,以调整检测阈值、启用或禁用特定对象类别等。
有了Ultralytics Android 应用程序,您就可以使用YOLO 模型进行实时物体检测。请尽情探索该应用程序的功能,并优化其设置,以适应您的具体使用情况。