生成式及多模态人工智能 (AI) 工作负载的广泛增长,推动了对计算机视觉 (CV) 技术日益高涨的需求。此类技术能够解释并分析源自现实世界的视觉信息,并可应用于人脸识别、照片分类、滤镜处理及增强现实等多种应用中。然而,这些计算机视觉应用可能很难实现最优化的延迟性能和处理速度,特别是在内存大小、电池容量和处理能力有限的移动设备上难度更高。
而 Arm KleidiCV 便能在其中大显身手。该开源库利用了最新 Arm CPU 中的高性能图像处理功能,可被集成至各类计算机视觉框架中,从而简化并加速计算机视觉工作负载的性能优化,而无需开发者执行额外操作。这一点对于移动设备来说至关重要。加速图像处理是为多样的 AI 用例打造更轻量化、更准确且性能更强大的模型的第一步,也是关键一步。此外,也可在为用户维持电池寿命的同时,使计算机视觉功能运行得更加快速。
KleidiCV 通过与全球最大的开源计算机视觉库 OpenCV 实现新的集成,使得全球数百万计算机视觉开发者都可以利用其进行性能加速。该集成现已上线,安卓用户可通过 OpenCV 4.11 默认获取,这为安卓移动市场中 Arm 架构设备上的计算机视觉应用提供了前所未有的性能增强。
KleidiCV 与 OpenCV 集成的性能优势
OpenCV 是全球计算机视觉开发者的首选平台,OpenCV Python 包的日均下载量超过 30 万次。KleidiCV 与 OpenCV 的集成(由 Maven 代码仓库访问)通过直接映射到能够为计算机视觉工作负载提供一系列加速功能的底层 Arm 架构和特性(如 Neon 和 SVE2),从而为计算机视觉开发者实现自动的性能增强。
去年,Arm 同步推出了 KleidiAI 和 KleidiCV。KleidiAI 库为集成至 AI 框架提供目标内核,并在 Arm CPU 上无缝加速传统机器学习和生成式 AI 模型。发布时的初始基准测试显示,OpenCV 上的各类图像处理任务的典型性能提升了 75%。
通过将 KleidiCV 集成到 OpenCV 4.11,上述性能(或 OpenCV 上的各类图像处理任务的典型)提升了高达四倍,进而能够为对象检测和识别以及图像分割中使用的关键图像处理任务加速计算机视觉计算,并实现更快的响应时间。这些任务包括:
• 模糊处理:通过减少高频细节来增强图像以进行对象检测;
• 滤镜:用于锐化和平滑图像;
• 旋转:对齐图像以进行对象识别;
• 调整大小:降低处理大尺寸图像时的计算负载。
KleidiCV 的主要特性和优势
KleidiCV 通过自动检测运行它的硬件并相应地选择最佳实现来简化开发过程。这意味着开发者无需手动优化其代码即可实现更高性能。KleidiCV 的其他主要特性和优势包括:
• 多线程:该特性可加速处理,并实现更卓越的性能。
• 广泛的适用性:KleidiCV 支持包括图像处理和调整大小等在内的各种工作负载,使其与汽车、消费类技术和基础设施市场中的广泛应用均息息相关。
• 内置安全性:Arm 的 Security Development Lifecycle(安全性开发生命周期)已被嵌入至 KleidiCV 的功能中。
OpenCV 4.11 的增强功能和更新
OpenCV 4.11 的更新为其计算机视觉工作负载工具和功能套件带来了多项增强功能,这些增强功能与 KleidiCV 集成相辅相成。其中包括:
• 改进的 DNN 模块:通过 InferenceEngine 后端为 3D 卷积网络和异步推理提供初始支持。
• 增强的 Calib3d 模块:用于 solvePNP 和姿态优化例程的新 IPPE 算法。
• 优化的通用内部函数:提供 AVX-512 实现和其他优化以实现更加出色的性能。
这些更新与 KleidiCV 的优化相结合,显著增强了 OpenCV 的功能,使其成为开发者的强大工具。
塑造计算机视觉工作负载的未来
KleidiCV 的首次集成现已完成,Arm 不断彰显软件优化如何在移动端的 Arm CPU 上充分释放新的计算机视觉性能和功能。这不仅为移动端,更是为其他多样化的市场(例如机器人、汽车和医疗应用等)的计算机视觉工作负载加速和模型铺平了道路。
通过利用 Arm CPU 的强大性能和 OpenCV 的广大开发者用户,OpenCV 4.11 与 KleidiCV 的集成能够为各类计算机视觉应用带来显著的性能增强。借助 KleidiCV 和 Arm 领先的计算平台,Arm 正在塑造计算机视觉在移动端及更广泛领域的未来。