Skip to content

ACL Pack 对比 OpenCV:ARM64 图像处理性能实测

如果你在 ARM64 上做计算机视觉——无论是 Android、嵌入式板卡还是 ARM Linux——你很可能问过:OpenCV 为什么这么重,有没有更快的方案?

ACL Pack 是一款零依赖、针对 ARM64 NEON 优化的 C++17 图像处理库。它以静态库形式提供 113 个算子族(163 个可调用入口),是移动端和边缘设备上 OpenCV 的轻量、高性能替代方案。

测试环境

我们在四款 ARM64 旗舰设备、七种图像尺寸(从 640×480 到 4096×3072)上运行了相同算子,输入数据和参数完全一致。

设备SoC
参考基线MediaTek Dimensity 9400
最快绝对时序MediaTek Dimensity 9500
最慢绝对时序Qualcomm Snapdragon 8 Gen 2
中等表现Qualcomm Snapdragon 8 Gen 3

核心数据

  • 72.3% 的算子样本快于 OpenCV(6864 个样本,NEON 路径,全部 7 种尺寸 × 4 台设备)。
  • 全尺寸矩阵综合加速比 4.72×(∑OpenCV / ∑ACL)。
  • M 尺寸(1920×1280)综合加速比 4.56×
  • 最高加速比约 78 倍resize_nn_up4x_1ch 在 Snapdragon 8 Gen 3 上,ACL 0.046 ms vs OpenCV 3.598 ms。
  • 库体积:ACL Pack 付费版本约 6 MB(6.2–7.5 MB),OpenCV 共享库 15–50 MB

峰值算子实测(M 尺寸 1920×1280)

算子峰值设备加速比
resize_nn_up4x_1chSnapdragon 8 Gen 378.22×
inRange_1chSnapdragon 8 Gen 276.42×
bgr2LabSnapdragon 8 Gen 312.86×

完整数据见性能白皮书

为什么更快

  1. 热路径手写 NEON 向量化,而非通用 C++ 循环。
  2. 零运行时依赖,只有一个静态 .a 和统一头文件。
  3. 按算子调优,卷积核形状、内存布局和边界处理都针对具体算子优化。

适合场景

  • 在意 APK 体积的 Android NDK 应用。
  • 存储受限的 ARM Linux 边缘设备。
  • 端侧 AI 推理的图像预处理流水线和以滤波、颜色转换、缩放、几何变换为主的工作负载。

立即体验

v1.0.3 Release 下载 Trial 版本,或阅读完整文档


GitHub 上 Star 本项目,关注 Changelog 获取更新。