《Distill-Any-Depth 项目安装与配置指南》
1. 项目基础介绍
Distill-Any-Depth 是一个基于知识蒸馏算法训练的单目深度估计模型。此项目由 Westlake-AGI-Lab 开发,旨在通过蒸馏技术创建一个更强大的单目深度估计器。该项目涉及的主要编程语言是 Python,同时使用了一些 Cuda 和 C++ 代码来加速计算过程。
2. 项目使用的关键技术和框架
关键技术:
- 知识蒸馏(Knowledge Distillation):一种模型压缩技术,通过将大型模型(教师模型)的知识迁移到小型模型(学生模型)中,从而在不牺牲性能的情况下减少模型大小。
- 单目深度估计(Monocular Depth Estimation):使用单个摄像头图像来估计场景中各点的深度信息。
框架和库:
- Detectron2:一个基于 PyTorch 的对象检测库。
- Transformers:一个基于 PyTorch 的自然语言处理库,本项目使用其进行模型的加载和预测。
- PIL(Python Imaging Library):用于图像处理的库。
- Gradio:用于快速构建机器学习模型演示的库。
3. 项目安装和配置的准备工作及详细步骤
准备工作
- 确保你的系统中安装了 Python 3.10。
- 安装 Miniconda 或 Anaconda,以便创建隔离的环境。
- 确保你的系统支持 CUDA,因为本项目需要用到 GPU 加速。
安装步骤
步骤 1:创建和激活虚拟环境
conda create -n distill-any-depth -y python=3.10
conda activate distill-any-depth
步骤 2:安装依赖
pip install -r requirements.txt
步骤 3:安装 Detectron2
cd detectron2
pip install -e .
cd ..
pip install -e .
步骤 4:下载预训练模型
项目提供了预训练模型的下载链接,你需要将下载的模型文件放到指定的目录下。
步骤 5:运行模型推理
使用以下脚本来运行模型推理:
source scripts/00_infer.sh
或者使用 bash 直接运行:
bash scripts/00_infer.sh
确保在运行脚本时指定了正确的 GPU ID 和模型路径。
步骤 6:运行 Gradio 演示
根据 Readme 文件中的说明,创建一个新的虚拟环境,并安装所需的 Python 包,然后运行 app.py
脚本以启动演示。
python app.py
按照以上步骤,你应该能够成功安装和配置 Distill-Any-Depth 项目,并进行模型推理和演示。