首页
/ CSDN公司开发的InsCode AI大模型

CSDN公司开发的InsCode AI大模型

2025-05-17 05:34:12作者:胡易黎Nicole

1、项目介绍

项目名为"expansion",是开源项目,旨在通过光学扩展将光流升级到3D场景流。该项目由Gengshan Yang和Deva Ramanan共同开发,并发表在CVPR 2020上。项目提供了一个基于Python的开源框架,用于光流、光学扩展和单目深度估计的模型训练和评估。该项目的官方网站为gengshan-y.github.io/expansion/

2、项目快速启动

要快速启动该项目,你需要安装以下依赖:

  • Python 3
  • OpenCV
  • PyTorch 1.2.0(可能与其他版本兼容)
  • TensorBoard(仅用于训练)

你可以通过以下命令安装这些依赖:

pip install python3 opencv pytorch==1.2.0 tensorboard

然后,你可以克隆项目仓库并进入项目目录:

git clone https://github.com/gengshan-y/expansion.git
cd expansion

3、应用案例和最佳实践

项目提供了预计算的光流、光学扩展和单目深度结果,用于Kitti场景流训练集。这些预计算结果可以用于生成与表格1非常接近的单目场景流结果。项目还提供了预计算结果用于表格3激光雷达场景流。

项目还提供了计算(1)从光流三角测量中获取深度和(2)从归一化3D光流中获取深度的脚本。这对应于论文中第4.5节的刚体深度估计部分,并产生以下结果:

Top: reference images; Bottom: mition-in-depth estimations (with kitti-finetuned model)
Top left: overlaid two frames; Top right: flow; Bottom left: uncertainty; Bottom right: mition-in-depth (robust model)

4、典型生态项目

该项目依赖于PyTorch框架,是一个典型的深度学习项目。此外,项目还提供了与其他开源项目的集成,例如VCN,用于光流模型训练。

快速启动示例代码

以下是使用项目提供的预训练模型在KITTI数据集上运行场景流估计的示例代码:

# 导入必要的库
import os
import torch
import torchvision.transforms as transforms
from torchvision import datasets
from torch.utils.data import DataLoader
from torch.autograd import Variable

# 设置参数
model_name = 'exp-kitti-trainval'
data_path = './input/kitti_2011_09_30_drive_0028_sync_11xx'
output_dir = './weights/' + model_name
model_path = os.path.join(output_dir, model_name + '.pth')

# 加载模型
model = torch.load(model_path)
model.eval()

# 加载数据
transform = transforms.Compose([transforms.ToTensor()])
dataset = datasets.KittiSceneflow(root='./input', transform=transform)
dataloader = DataLoader(dataset, batch_size=1, shuffle=True, num_workers=4)

# 运行场景流估计
for i, (images, targets) in enumerate(dataloader):
    images = Variable(images).cuda()
    targets = Variable(targets).cuda()
    outputs = model(images)
    # 保存输出结果
    torch.save(outputs, os.path.join(output_dir, 'outputs_' + str(i) + '.pth'))

以上代码展示了如何使用预训练模型在KITTI数据集上运行场景流估计,并保存输出结果。

登录后查看全文
热门项目推荐