MiDaS移动端单目深度估计模型解析与性能对比
2025-07-08 04:01:03作者:尤辰城Agatha
项目概述
MiDaS是一个先进的单目深度估计项目,能够从单个图像中预测深度信息。本文重点分析其移动端版本在iOS和Android平台上的表现,帮助开发者理解不同模型架构的优劣。
模型架构对比
旧版小型模型
- 基础架构:ResNet50 + 默认解码器
- 输入分辨率:384×384
- 训练数据集:RedWeb、MegaDepth、WSVD、3D Movies、DIML indoor
新版小型模型
- 基础架构:EfficientNet-Lite3 + 小型解码器
- 输入分辨率:256×256
- 训练数据集:在旧版基础上增加了HRWSI、IRS、TartanAir、BlendedMVS、ApolloScape
精度评估
我们通过多个标准数据集评估模型性能,采用零样本迁移学习方式(即模型未在这些数据集上训练或微调):
评估指标 | 旧版模型 | 新版模型 | 相对改进 |
---|---|---|---|
DIW WHDR | 0.1248 | 0.1344 | -8% |
Eth3d AbsRel | 0.1550 | 0.1344 | +13% |
Sintel AbsRel | 0.3300 | 0.3370 | -2% |
Kitti δ>1.25 | 21.81 | 29.27 | -34% |
NyuDepthV2 δ>1.25 | 15.73 | 13.43 | +15% |
TUM δ>1.25 | 17.00 | 14.53 | +15% |
关键发现:
- 新版模型在室内场景(NyuDepthV2、TUM)表现更优
- 旧版模型在Kitti等自动驾驶场景保持优势
- 整体而言,新版模型在多数指标上实现了精度提升
移动端性能表现
iOS设备测试结果(iPhone 11)
模型类型 | CPU FPS | GPU FPS | NPU FPS |
---|---|---|---|
旧版模型 | 0.6 | N/A | N/A |
新版模型 | 8 | 22 | 30 |
Android设备测试结果(OnePlus 8)
模型类型 | CPU FPS | GPU FPS | NNAPI FPS |
---|---|---|---|
旧版模型 | 0.45 | 0.50 | 0.50 |
新版模型 | 6 | 22 | 4 |
性能亮点:
- 新版模型在iPhone CPU上实现12.8倍加速
- Android GPU加速效果显著,达到44倍提升
- iPhone NPU表现出色,达到30FPS实时处理能力
技术实现细节
模型转换流程
旧版模型: Pytorch → ONNX → ONNX-TensorFlow → SavedModel PB → TFLite
新版模型: 采用自定义转换器:Pytorch → TFLite
开发环境配置
# 基础环境
pip install torch==1.6.0 torchvision==0.7.0
pip install tf-nightly-gpu==2.5.0.dev20201031 tensorflow-addons==0.11.2 numpy==1.18.0
应用场景建议
- 实时AR应用:推荐使用新版模型,其30FPS的NPU性能可满足实时需求
- 自动驾驶场景:考虑使用旧版模型,在Kitti数据集上表现更优
- 室内导航:新版模型在NyuDepthV2等室内数据集上精度更高
学术引用
该项目基于以下研究成果:
@article{Ranftl2020,
author = {Ren\'{e} Ranftl and Katrin Lasinger and David Hafner and Konrad Schindler and Vladlen Koltun},
title = {Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer},
journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
year = {2020},
}
开发者可根据具体应用场景选择合适模型,平衡精度与性能需求。