news 2026/6/9 21:37:46

FastDepth:嵌入式系统上的快速单目深度估计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FastDepth:嵌入式系统上的快速单目深度估计

FastDepth:嵌入式系统上的快速单目深度估计

【免费下载链接】fast-depthICRA 2019 "FastDepth: Fast Monocular Depth Estimation on Embedded Systems"项目地址: https://gitcode.com/gh_mirrors/fa/fast-depth

FastDepth 是一个专门为嵌入式系统优化的单目深度估计算法,由 MIT 研究团队开发。该项目在保持高精度的同时,显著提升了深度估计的速度,特别适合在 NVIDIA Jetson TX2 等嵌入式平台上部署。

项目概述

FastDepth 基于 MobileNet 架构,通过深度可分离卷积、跳跃连接和网络剪枝等技术,实现了在资源受限设备上的实时深度感知。该项目在 ICRA 2019 会议上发表,提供了完整的训练模型和评估代码。

系统要求

要运行 FastDepth 项目,需要满足以下要求:

  • 安装 PyTorch(推荐版本 v0.4.1)并配备 CUDA GPU
  • 安装 HDF5 格式库和相关依赖
  • 下载预处理好的 NYU Depth V2 数据集

环境配置

sudo apt-get update sudo apt-get install -y libhdf5-serial-dev hdf5-tools pip3 install h5py matplotlib imageio scikit-image opencv-python

数据集准备

NYU Depth V2 数据集需要约 32GB 存储空间:

mkdir data; cd data wget http://datasets.lids.mit.edu/fastdepth/data/nyudepthv2.tar.gz tar -xvf nyudepthv2.tar.gz && rm -f nyudepthv2.tar.gz cd ..

预训练模型

FastDepth 提供了多个预训练模型:

  • MobileNet-NNConv5
  • MobileNet-NNConv5(深度可分离)
  • MobileNet-NNConv5(深度可分离),带跳跃连接
  • MobileNet-NNConv5(深度可分离),带跳跃连接,剪枝版

最终推荐模型是mobilenet-nnconv5-skipadd-pruned,该模型在编码器和解码器之间使用深度可分离层和跳跃连接,并通过 NetAdapt 进行网络剪枝。

模型下载

mkdir results; cd results wget -r -np -nH --cut-dirs=2 --reject "index.html*" http://datasets.lids.mit.edu/fastdepth/results/ cd ..

模型评估

评估过程需要有效的 PyTorch 安装和 NYU Depth v2 数据集副本。建议在配备 CUDA GPU 的主机上进行评估。

评估命令

python3 main.py --evaluate [path_to_trained_model]

评估代码将报告模型的 delta1 精度指标以及以毫米为单位的 RMSE。

嵌入式部署

FastDepth 使用 TVM 编译器堆栈将训练好的模型编译为可在 NVIDIA Jetson TX2 上部署的格式。模型在主机上进行交叉编译,然后在 TX2 上部署。

TVM 运行时安装

在目标嵌入式设备上构建 TVM 运行时:

git clone --recursive https://github.com/dmlc/tvm cd tvm git reset --hard ab4946c8b80da510a5a518dca066d8159473345f git submodule update --init cp cmake/config.cmake .

修改config.cmake文件:

set(USE_CUDA OFF) -> set(USE_CUDA [path_to_cuda]) set(USE_LLVM OFF) -> set(USE_LLVM [path_to_llvm-config])

构建运行时:

make runtime -j2 export PYTHONPATH=$PYTHONPATH:~/tvm/python

运行编译后的模型

在设备上运行编译后的模型:

cd deploy python3 tx2_run_tvm.py --input-fp data/rgb.npy --output-fp data/pred.npy --model-dir ../../results/tvm_compiled/tx2_cpu_mobilenet_nnconv5dw_skipadd_pruned/ python3 tx2_run_tvm.py --input-fp data/rgb.npy --output-fp data/pred.npy --model-dir ../../results/tvm_compiled/tx2_gpu_mobilenet_nnconv5dw_skipadd_pruned/ --cuda True

性能结果

FastDepth 在 NYU Depth v2 数据集上与其他先进方法进行了比较。运行时间在 NVIDIA Jetson TX2 最大性能模式下测量。

方法输入尺寸MACs [G]RMSE [m]delta1CPU [ms]GPU [ms]
Eigen et al. [NIPS 2014]228×3042.060.9070.61130023
Eigen et al. [ICCV 2015](AlexNet)228×3048.390.7530.697140096
Laina et al. [3DV 2016](UpProj)228×30442.70.5730.8113900319
FastDepth(本文工作)224×2240.370.6040.771375.6

FastDepth在Jetson TX2 GPU上的性能对比

FastDepth深度估计效果可视化对比

项目优势

  1. 高效性能:相比传统方法,FastDepth 在 TX2 GPU 上实现了 5.6ms 的推理时间
  2. 轻量化设计:仅需 0.37 G MACs,适合资源受限设备
  3. 精度平衡:在保持较高精度的同时显著提升速度

应用场景

FastDepth 特别适用于以下场景:

  • 机器人导航与环境感知
  • 自动驾驶辅助系统
  • AR/VR场景深度理解
  • 智能监控与安防系统

总结

FastDepth 为嵌入式系统上的实时深度估计提供了一个高效解决方案。通过优化的网络架构和编译技术,该项目在精度和速度之间达到了良好的平衡,是嵌入式计算机视觉应用的理想选择。

对于需要在实际嵌入式设备上部署深度估计功能的开发者来说,FastDepth 提供了一个完整的工作流程,从模型训练到部署都有详细的指导和支持。

【免费下载链接】fast-depthICRA 2019 "FastDepth: Fast Monocular Depth Estimation on Embedded Systems"项目地址: https://gitcode.com/gh_mirrors/fa/fast-depth

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 18:42:26

Solidity 抽象合约与接口合约详解

一、抽象合约 (Abstract Contract) 1.1 定义与特点 // 使用 abstract 关键字声明 abstract contract AbstractExample {// 抽象函数:只有声明,没有实现体,以分号结尾function abstractFunction() public virtual returns(uint256);// 可以有已…

作者头像 李华
网站建设 2026/6/8 22:27:29

阴阳师御魂自动刷取神器:解放双手的智能辅助方案

阴阳师御魂自动刷取神器:解放双手的智能辅助方案 【免费下载链接】yysScript 阴阳师脚本 支持御魂副本 双开 项目地址: https://gitcode.com/gh_mirrors/yy/yysScript 面对阴阳师游戏中每日重复的御魂副本挑战,你是否也感到疲惫不堪?y…

作者头像 李华
网站建设 2026/6/6 8:31:56

发那科机器人CRM52A/CRM52B接口技术详解

发那科机器人CRM52A/CRM52B接口技术详解 【免费下载链接】发那科机器人CRM52ACRM52B接口说明 发那科机器人CRM52A、CRM52B接口说明 项目地址: https://gitcode.com/Open-source-documentation-tutorial/71d54 接口概述与重要性 发那科机器人的CRM52A和CRM52B接口是工业…

作者头像 李华
网站建设 2026/6/9 19:38:45

FTXUI动态布局完全指南:5步打造可调整的终端界面

FTXUI动态布局完全指南:5步打造可调整的终端界面 【免费下载链接】FTXUI :computer: C Functional Terminal User Interface. :heart: 项目地址: https://gitcode.com/gh_mirrors/ft/FTXUI 在终端界面开发中,你是否曾经遇到过这样的困扰&#xff…

作者头像 李华
网站建设 2026/6/8 10:06:39

pgvector终极指南:快速构建高性能向量搜索数据库

pgvector终极指南:快速构建高性能向量搜索数据库 【免费下载链接】pgvector Open-source vector similarity search for Postgres 项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector 在AI技术飞速发展的今天,向量相似性搜索已经成为现代…

作者头像 李华