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