说明: 性能白皮书为面向公众的聚合视图;完整的按设备、按算子、按尺寸档的逐行数据提供给已付费用户,详见本页末尾的《完整数据获取》。
ACL Pack 性能白皮书
版本: 1.0.3
时间: 2026 年 5 月(v1.0.3 release 跑测)
测试平台: Android arm64-v8a,4 台旗舰设备跨设备交叉验证
对比基线: OpenCV 4.13.0
摘要
ACL Pack 是面向 Android arm64-v8a 的高性能图像处理库,基于 ARM NEON SIMD intrinsics 深度优化。下方数据来自 v1.0.3 release 回归跑测(4 设备 × 7 尺寸档,见 更新日志),所有 4 台设备在每个尺寸档都输出字节级一致。亚毫秒级算子的逐次耗时会受到移动 OS 正常抖动影响,可能在不同跑测之间小幅波动;头条聚合指标稳定。
- 163 个可调用入口,覆盖 11 大对标测试类别:滤波、色彩转换、几何变换、算术运算、图像分析、特征检测、空间变换、数学运算 (DFT)、绘图、轮廓、内存工具
- 4 台 arm64-v8a 旗舰设备 × 7 尺寸档全覆盖 — 四设备输出字节级一致
- NEON 路径 全 7 尺寸档 × 4 设备合并:72.3% 算子样本(n=6864)快于 OpenCV 4.13.0(>5%),聚合加速 4.72×
- M tier NEON 峰值 ~78× —
resize_nn_up4x_1chon Snapdragon 8 Gen 3 (ACL 0.046 ms vs OCV 3.598 ms);其他代表峰值:inRange_1ch76.42×、threshold_binary61.79×、resize_area_up4x_1ch49.51×、bitwise_and_1ch29.59×、resize_area_up2x_1ch28.03× - 静态库 ~6 MB(付费 tier 区间 6.2–7.5 MB,Trial 0.24 MB)vs OpenCV 15–50 MB 共享库
- 零外部运行时依赖 — 加 include 路径即可编译
竞品格局
NEON 算子覆盖对比
ACL Pack 列以 operator_tiers.json 权威清单计数,每行为一个标准文档算子族(同一算子的 CPP 与 NEON 实现合并为 1 行,重载 / 类型特化不单独计数),与下表中各竞品库的口径一致便于对比。总文档算子族 113 个,其中 75 个具备 NEON 实现;其余 (主要分布在 contour、draw、math utility 类) 为 CPP-only。若按客户面可调用入口口径(含多图输入变体、核大小分派、独立交付的 CPP/NEON 对),SDK 共暴露 163 个可调用入口。
| 类别 | ACL Pack (NEON) | ACL Pack 总数 | ppl.cv (商汤) | ARM Compute Library | Simd Library | libyuv |
|---|---|---|---|---|---|---|
| 滤波 | 16 | 20 | 5 | 0 | 8 | 0 |
| 色彩转换 | 7 | 11 | 10 | 0 | 20+ | ~40 |
| 几何变换 | 7 | 7 | 4 | 5 | 4 | ~6 |
| 算术运算 | 12 | 14 | 8 | 10 | 5 | ~8 |
| 图像分析 | 8 | 18 | 3 | 0 | 7 | ~3 |
| 特征检测 | 16 | 16 | 0 | 0 | 3 | 0 |
| 空间变换 | 4 | 10 | 5 | 0 | 0–1 | 0 |
| 数学 (DFT) | 5 | 5 | — | — | — | 0 |
| NEON 总计 | 75 | 113 | ~35 | ~15 | ~50 | ~57 |
OpenCV 不在本表 — 它是混合架构的 CV 开发平台(scalar + cv::hal 多路径 SIMD + 10+ 外部依赖),与纯 NEON 加速库属于不同类目。本页已与 OpenCV 4.13.0 做了大量速度对比,详见 NEON 聚合 与 顶级 NEON 算子。
竞品数字为基于各项目公开头文件 / 文档的外部估算,计数约定与 ACL Pack 或有细微差异。需严格逐算子对比,可邮件
zangotech@163.com索取原始映射表。
独特差异化
- 唯一提供完整 SIFT / SURF / ORB / Harris 特征检测套件的 ARM NEON 库 — ppl.cv 与 ARM Compute Library 均无特征检测算子
- 滤波覆盖约为最接近竞品的 3 倍 — 双边、引导、NL-Means、Gabor、StackBlur 在 ppl.cv 中均缺失
- 完整的空间变换管线 — warpAffine、warpPerspective、findHomography、remap 全部 NEON 优化
- NV21 融合管线 — resize + rotate + 色彩转换一次完成(AI 推理预处理场景专用)
测试方法
硬件(4 台旗舰 arm64-v8a 设备)
| SoC | 角色 |
|---|---|
| MediaTek Dimensity 9400 | 参考基线 |
| MediaTek Dimensity 9500 | 绝对耗时最快 |
| Qualcomm Snapdragon 8 Gen 2 | 绝对耗时最慢 |
| Qualcomm Snapdragon 8 Gen 3 | 中档 |
尺寸覆盖
覆盖 7 个尺寸档,从 640×480 (移动预览) → 1920×1280 (主基准 FHD) → 4096×3072 (4K 压力测试),另含奇数尺寸和极小图像边界案例。本页的规范基准为 FHD 档 (M, 1920×1280)。
测试协议
- 预热: 计时前进行 CPU 频率稳定化阶段
- 测量: 按次 ms 级计时,ACL 与 OpenCV 4.13.0 使用完全相同的输入
- 分类: ±5% 容差带用于
tie / faster / slower判定 - 跨设备验证: 4 台独立设备跑完整矩阵,每个尺寸档的输出 PNG 在 4 台设备间字节级一致
- 商业版回归: 4 个商业 tier 构建 (Trial / Starter / Pro / Business) 字节级重现 release 基线
NEON 聚合(全 7 尺寸档,4 设备合并)
头条数字:ACL Pack NEON 路径 vs OpenCV 4.13.0,覆盖完整尺寸矩阵(7 尺寸档 × 4 设备,共 6864 个算子样本)。
| 指标 | 值 |
|---|---|
| 快于 OpenCV (>5%) | 72.3% (4963 / 6864) |
| 持平 (±5%) | 5.0% (342) |
| 慢于 OpenCV (>5%) | 22.7% (1559) |
| 聚合加速比 (∑OCV / ∑ACL) | 4.72× |
| 峰值加速比 (ACL ≥ 0.05 ms) | 76.4× (inRange_1ch on SD8 Gen 2) |
该聚合 baseline 包含少量去噪 / Gabor / 引导滤波 / Scharr 算子(约占 7% 行),这些算子对应行的对照基线是 ACL 自身的 scalar C++ 路径,而非 1:1 的 OpenCV 调用(OpenCV 缺少该算子、放在
opencv_contrib模块,或采用不同算法类别)。剔除这些行后,算子样本"快于 OpenCV"占比为 72.4% (4632 / 6397) — 按样本计的 faster 比例对 baseline 选择不敏感;∑/∑ 比值更敏感,因为少数大耗时去噪行会主导和值。逐行真值见 完整数据获取。
M tier (1920×1280) — 主基准 FHD 档
| 指标 | 值 |
|---|---|
| 快于 OpenCV (>5%) | 70.7% |
| 聚合加速比 (∑OCV / ∑ACL) | 4.56× |
按尺寸档加速曲线
- 极小图像(E3, 17×17,ROI 小块、缩略图): 4 设备聚合 22–59×。OpenCV 按调用的固定开销在微秒级任务上占主导;ACL 的 header-only 路径几乎无固定开销。
- 中等尺寸(S 640×480 至 M 1920×1280,真实的移动相机 / 视频场景): 4 设备聚合稳定在 4.4–4.6×。
- 4K (4096×3072): 两个库进入内存带宽饱和区时,聚合加速 4.80×。
每设备 × 每算子 × 每尺寸档的完整逐行数据(包含原始 CSV)向已付费用户提供,详见本页末尾的 完整数据获取。
顶级 NEON 算子(M Tier)
| Operator | Speedup | ACL vs SOTA |
|---|---|---|
Resize NN Up 4× | up to 78.22× | |
inRange (Mask) | up to 76.42× | |
Threshold Binary | up to 61.79× | |
Resize AREA Up 4× | up to 49.51× | |
BitwiseAnd | up to 29.59× | |
Resize AREA Up 2× | up to 28.03× | |
Sobel gradX | up to 26.03× | |
Alpha Fusion (α=0.5) | up to 22.20× | |
Gaussian Blur 5×5 | up to 15.71× | |
Median Filter 3×3 | up to 14.99× | |
normalize MINMAX | up to 14.39× | |
Rotate 180° | up to 13.98× | |
BGR → Lab | up to 12.86× |
柱长以 log(speedup) 为尺度。数字为 4 设备组中的最佳点。
亮点(M tier, 4 设备组中的最佳点):
- Resize NN 4× 放大 (1ch): Snapdragon 8 Gen 3 上 78.22×、SD8 Gen 2 上 51.58× 加速,覆盖相机管线上采样场景
- Resize AREA 4× 放大 (1ch): SD8 Gen 2 上 49.51× 加速
- gammaTransform: LUT 实现击败 OpenCV 的逐像素
pow() - bgr2Lab (NEON): 定点 + LUT,SD8 Gen 3 上比 OpenCV 浮点版快 12.86×
- Threshold / inRange / bitwise (1ch u8): 27–76× — 这些是最廉价的逐像素算子,OCV 的固定开销在此尤为突出
关键场景性能亮点
AI 推理预处理
相机 NV21 / NV12 → 模型输入,一次调用完成:
YUV_utilities_float:resize + rotate + YUV→RGB + float 输出全部融合- 消除 3 个中间缓冲和 3 次内存遍历
实时视频处理 (1920×1280)
- Sobel3x3 梯度:1ch u8 上 ~26×
- Resize NN 4× 放大 (1ch):Snapdragon 8 Gen 3 上 78×、SD8 Gen 2 上 52×(相机管线放大)
- 逐像素算子 (threshold / inRange / bitwise / LUT):27–76× — OCV 的按调用固定开销在此尤为突出
极小图像管线 (E3, 17×17)
- ROI 小块处理、缩略图生成、视觉预处理微批:4 设备聚合加速 22–59×(Dimensity 9500 29.6×、SD8 Gen 3 22.7×、SD8 Gen 2 39.3×、Dimensity 9400 58.9×)。OpenCV 在此尺寸下固定调用开销占主导,而 ACL 的 header-only 路径几乎无固定开销。
体积对比
| 指标 | ACL Pack | OpenCV |
|---|---|---|
| 交付形式 | Header-only (.hpp) 或静态库 (.a) | 共享库 (.so) 或静态库 (.a) |
| 源码体积 | ~43,000 LOC | ~500,000+ LOC |
| 编译后体积 (Android arm64) | Trial 0.24 MB / Starter 6.17 MB / Pro 7.12 MB / Business 7.51 MB (.a) | 15–50 MB (.so, 取决于模块) |
| 编译后体积 (Linux aarch64) | Starter 3.94 MB / Pro 4.88 MB / Business 5.28 MB (.a) | 同左 (.so) |
| 外部依赖 | 无(零依赖) | zlib、libpng、libjpeg、libtiff、protobuf 等 |
| 集成工作量 | 添加 include 路径 | CMake find_package 或预编译下载 |
| 运行时内存 | 用户管理(零隐式分配) | cv::Mat 含隐式分配 + 引用计数 |
结论
ACL Pack 在 Android ARM64 大多数图像处理算子上相对 OpenCV 提供可测量、可复现的性能优势。覆盖全 7 尺寸档 × 4 设备(共 6864 个算子样本),72.3% 的 NEON 算子样本快于 OpenCV 4.13.0,聚合 ∑OCV/∑ACL = 4.72×;M tier 峰值 78× (resize_nn_up4x_1ch on Snapdragon 8 Gen 3),逐像素算子 76× (inRange_1ch),极小图像 (≤ 32×32) 22–59× — 使 ACL Pack 成为 Android ARM64 应用中性能最强的图像处理选择。付费 tier 静态库约 6–7.5 MB,零外部运行时依赖,跨设备输出字节级一致。
完整数据获取
本页呈现的是面向公众的聚合视图。完整的按设备、按算子、按尺寸档的逐行数据集(包含原始 CSV:全部 4 设备 × 7 尺寸档 × 163 个可调用入口的逐样本计时、精度、误差、通过状态)向已付费用户提供:
- 邮箱:
zangotech@163.com - 主题:
[Perf Data]+ 你的 license ID - 1–2 个工作日内回复
试用版用户可邮件索取 1 台设备 × 1 尺寸档的样本数据集,主题 [Trial Perf Sample]。
基准数据:v1.0.3 release 回归跑测(2026 年 5 月),4 设备 × 7 尺寸档。