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

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%

关键发现

  1. 新版模型在室内场景(NyuDepthV2、TUM)表现更优
  2. 旧版模型在Kitti等自动驾驶场景保持优势
  3. 整体而言,新版模型在多数指标上实现了精度提升

移动端性能表现

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

性能亮点

  1. 新版模型在iPhone CPU上实现12.8倍加速
  2. Android GPU加速效果显著,达到44倍提升
  3. 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

应用场景建议

  1. 实时AR应用:推荐使用新版模型,其30FPS的NPU性能可满足实时需求
  2. 自动驾驶场景:考虑使用旧版模型,在Kitti数据集上表现更优
  3. 室内导航:新版模型在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},
}

开发者可根据具体应用场景选择合适模型,平衡精度与性能需求。