首页
/ MiDaS移动端单目深度估计模型解析与性能对比

MiDaS移动端单目深度估计模型解析与性能对比

2025-07-08 04:00:26作者:裴锟轩Denise

项目背景

MiDaS是由英特尔ISL实验室开发的开源单目深度估计项目,其移动端版本专门为iOS和Android平台优化,能够在资源受限的移动设备上实现高效的深度图计算。本文将深入分析移动端MiDaS的技术特点、模型架构演进以及性能表现。

模型演进与架构对比

旧版小型模型

  • 基础架构:基于ResNet50编码器搭配默认解码器
  • 输入分辨率:384×384
  • 训练数据集:RedWeb、MegaDepth、WSVD、3D Movies、DIML indoor

新版小型模型

  • 基础架构:采用EfficientNet-Lite3编码器搭配精简解码器
  • 输入分辨率:256×256
  • 训练数据集:在旧版基础上增加了HRWSI、IRS、TartanAir、BlendedMVS、ApolloScape

精度性能对比

通过零样本(zero-shot)测试评估模型在多个标准数据集上的表现:

评估指标 DIW WHDR ↓ Eth3d AbsRel ↓ Sintel AbsRel ↓ Kitti δ>1.25 ↓ NyuDepthV2 δ>1.25 ↓ TUM δ>1.25 ↓
旧模型(384) 0.1248 0.1550 0.3300 21.81 15.73 17.00
新模型(256) 0.1344 0.1344 0.3370 29.27 13.43 14.53
相对改进(%) -8% +13% -2% -34% +15% 15%

注:↓表示数值越低越好

关键发现:

  1. 新版模型在Eth3d、NyuDepthV2和TUM数据集上表现更优
  2. 在Kitti数据集上精度有所下降,可能与输入分辨率降低有关
  3. 整体来看,新版模型在保持精度的同时显著提升了运行效率

推理速度对比

移动设备实测帧率(FPS)表现:

设备平台 iPhone CPU iPhone GPU iPhone NPU OnePlus8 CPU OnePlus8 GPU OnePlus8 NNAPI
旧模型(384) 0.6 N/A N/A 0.45 0.50 0.50
新模型(256) 8 22 30 6 22 4
加速倍数 12.8x - - 13.2x 44x 8x

性能亮点:

  1. iPhone平台NPU加速可达30FPS,满足实时处理需求
  2. Android平台GPU加速提升44倍,达到22FPS
  3. CPU推理也有12倍以上的性能提升

技术实现要点

模型转换流程

  1. 旧模型转换: Pytorch → ONNX → TensorFlow → TFLite

    • 使用onnx-tf转换器
    • 最终生成FP32精度的TFLite模型
  2. 新模型转换: 定制化Pytorch直接到TFLite的转换流程

    • 简化转换步骤
    • 保持FP32精度

开发环境配置

# PyTorch环境
pip install torch==1.6.0 torchvision==0.7.0

# TensorFlow环境
pip install tf-nightly-gpu==2.5.0.dev20201031 tensorflow-addons==0.11.2 numpy==1.18.0

应用场景建议

  1. 实时AR应用:推荐使用新版模型,利用NPU/GPU加速实现实时深度估计
  2. 精度优先场景:对Kitti数据集精度要求高时,可考虑使用旧版模型
  3. 移动端部署:新版模型在资源占用和性能平衡上表现更优

学术引用

该项目基于以下论文研究成果:

@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},
}

该论文提出了混合多数据集训练的方法,实现了零样本跨数据集的泛化能力,这也是MiDaS模型具有强大泛化性能的关键所在。