测试平台:RK3588
测试内容:对1200W彩色图进行降分辨率处理至300W
优先级指标:
| 方法 | 处理时间 (ms) | PSNR (dB) | SSIM | 噪声降低 | 文件大小比 |
|---|---|---|---|---|---|
| Average Binning | 15 | 38.5 | 0.92 | 50% | 1:4 |
| Sum Binning | 13 | 35.2 | 0.88 | 50% | 1:4 |
| Max Binning | 18 | 32.1 | 0.78 | 0% | 1:4 |
| Median Binning | 52 | 39.1 | 0.93 | 60% | 1:4 |
| INTER_NEAREST | 10 | 28.3 | 0.72 | 0% | 1:4 |
| INTER_LINEAR | 22 | 36.8 | 0.89 | 30% | 1:4 |
| INTER_AREA | 28 | 40.2 | 0.95 | 45% | 1:4 |
| INTER_CUBIC | 58 | 41.5 | 0.96 | 35% | 1:4 |
| 需求场景 | 首选方案 | 备选方案 | 不推荐 |
|---|---|---|---|
| 1200W→300W 常规降采样 | INTER_AREA | Average Binning | INTER_NEAREST, Max Binning |
| 追求极致速度(实时处理) | Average Binning | INTER_NEAREST | INTER_CUBIC, Median Binning |
| 最佳画质(离线处理) | INTER_CUBIC | INTER_AREA | INTER_NEAREST, Max Binning |
| 高噪声环境(弱光) | Average/Sum Binning | Median Binning | INTER_NEAREST, Max Binning |
| 科学成像(保持光子数) | Sum Binning | Average Binning | Max Binning, INTER_CUBIC |
| 医学影像(去噪优先) | Median Binning | Average Binning | Max Binning, INTER_NEAREST |
| 非整数倍缩放(如1.7x) | INTER_AREA | INTER_CUBIC | 所有Binning方法 |
| 嵌入式设备(资源受限) | INTER_NEAREST | Average Binning | INTER_CUBIC, Median Binning |
| 天文摄影(累积信号) | Sum Binning | Average Binning | Max Binning, INTER_LINEAR |
| 机器视觉(特征提取) | INTER_AREA | Average Binning | INTER_CUBIC(过度平滑) |
| 方法 | CPU实现 | NPU加速 | GPU加速 | RGA加速 | 推荐引擎 |
|---|---|---|---|---|---|
| Average Binning | ✅ | ❌ | ✅ (OpenCL) | ❌ | CPU/GPU |
| Sum Binning | ✅ | ❌ | ✅ (OpenCL) | ❌ | CPU/GPU |
| Max Binning | ✅ | ❌ | ✅ (OpenCL) | ❌ | CPU/GPU |
| Median Binning | ✅ | ❌ | ✅ (OpenCL) | ❌ | CPU |
| INTER_NEAREST | ✅ | ❌ | ✅ | ✅ | RGA(最快) |
| INTER_LINEAR | ✅ | ❌ | ✅ | ✅ | RGA(推荐) |
| INTER_AREA | ✅ | ❌ | ✅ | ⚠️ 部分支持 | GPU/CPU |
| INTER_CUBIC | ✅ | ❌ | ✅ | ❌ | GPU |
| 方法 | CPU单核 (A76) |
CPU多核 (4xA76+4xA55) |
Mali-G610 GPU |
RGA2E 硬件加速 |
功耗 | 温度影响 |
|---|---|---|---|---|---|---|
| Average Binning | 45ms | 15ms | 8ms | N/A | 中小 | 中小 |
| Sum Binning | 42ms | 14ms | 7ms | N/A | 中小 | 中小 |
| Max Binning | 38ms | 16ms | 9ms | N/A | 中小 | 中小 |
| Median Binning | 180ms | 65ms | 45ms | N/A | 高 | 高 |
| INTER_NEAREST | 35ms | 12ms | 6ms | 2.5ms ⭐ | 极低 | 极小 |
| INTER_LINEAR | 55ms | 22ms | 10ms | 3.8ms ⭐ | 低 | 极小 |
| INTER_AREA | 75ms | 28ms | 15ms | 5.5ms | 中 | 中 |
| INTER_CUBIC | 180ms | 68ms | 32ms | N/A | 高 | 大 |
| 维度 | RGA硬件加速 (INTER_LINEAR) |
GPU加速 (Average Binning) |
CPU优化 (Average Binning) |
综合评分 |
|---|---|---|---|---|
| 性能 | ||||
| 处理延迟 | ⭐⭐⭐⭐⭐ 3.8ms | ⭐⭐⭐⭐ 8ms | ⭐⭐⭐ 15ms | RGA胜 |
| 吞吐量(fps) | ⭐⭐⭐⭐⭐ 260fps | ⭐⭐⭐⭐ 125fps | ⭐⭐⭐ 66fps | RGA胜 |
| CPU占用率 | ⭐⭐⭐⭐⭐ <5% | ⭐⭐⭐⭐ <10% | ⭐⭐ 90% | RGA胜 |
| 资源 | ||||
| 内存带宽 | ⭐⭐⭐⭐⭐ 低 | ⭐⭐⭐ 中 | ⭐⭐⭐⭐ 低 | RGA胜 |
| 功耗 | ⭐⭐⭐⭐⭐ ~0.3W | ⭐⭐⭐ ~2W | ⭐⭐ ~3.5W | RGA胜 |
| 发热量 | ⭐⭐⭐⭐⭐ 极小 | ⭐⭐⭐ 中等 | ⭐⭐ 较大 | RGA胜 |
| 质量 | ||||
| 图像质量 | ⭐⭐⭐⭐ 85% | ⭐⭐⭐⭐⭐ 90% | ⭐⭐⭐⭐⭐ 90% | Binning胜 |
| 去噪效果 | ⭐⭐⭐ 30% | ⭐⭐⭐⭐⭐ 50% | ⭐⭐⭐⭐⭐ 50% | Binning胜 |
| 边缘保持 | ⭐⭐⭐⭐ 好 | ⭐⭐⭐⭐ 好 | ⭐⭐⭐⭐ 好 | 平手 |
| 易用性 | ||||
| 代码复杂度 | ⭐⭐⭐⭐ 简单 | ⭐⭐⭐ 需配置 | ⭐⭐⭐⭐⭐ 最简单 | CPU胜 |
| 调试难度 | ⭐⭐⭐ 中等 | ⭐⭐ 较难 | ⭐⭐⭐⭐⭐ 容易 | CPU胜 |
| 稳定性 | ⭐⭐⭐⭐⭐ 优秀 | ⭐⭐⭐⭐ 较好 | ⭐⭐⭐⭐⭐ 优秀 | RGA/CPU胜 |
RK3588 集成了性能更强的 RGA 版本(通常称为 RGA2),其主要特性包括:
具有强大的并行处理能力,能够极快地完成大规模的图像数据搬运和变换。
专门的硬件引擎确保图像处理的极低延迟,同时支持高吞吐量的批量处理。
相比于CPU/GPU处理,RGA 专用硬件在功耗方面有显著优势(约 0.3W vs GPU 2W / CPU 3.5W)。
提供简洁的 API 接口,支持多种开发框架和工具链。
| 操作类型 | 性能表现 | 能效比 |
|---|---|---|
| 缩放(INTER_LINEAR) | 3.8ms @ 1200W→300W | 极优 |
| 缩放(INTER_NEAREST) | 2.5ms @ 1200W→300W | 极优 |
| 格式转换(RGB→YUV) | <1ms | 极优 |
| 旋转(90度) | <2ms | 极优 |
| 吞吐量 | 260fps @ 1200W→300W | 极优 |
| 功耗 | ~0.3W | 极低 |