← 开源
OniroAI

MonoDepth-PyTorch

Unofficial implementation of Unsupervised Monocular Depth Estimation neural network MonoDepth in PyTorch

Model DevelopmentArchitecturePython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
554
Star
128
Fork
+0
本周
4
贡献者
创建于 2018-05-24 · 更新于 2026-09-11 · 今日第 17132 名
主要开发者
voeykovromanNikolasEntaskorikov

OniroAI/MonoDepth-PyTorch 排名第 17,132,有 554 个星标。

同类别比较

OniroAI/MonoDepth-PyTorch 排名第 17,132,此处有 8 个同类条目;Mohamedelrefaie/DrivAerNet 排名第 17,131。

同类别比较
名称排名指标
longcw/RoIAlign.pytorch17,121
语言:
C++
星标数:
555
分叉数:
100
简介:
RoIAlign & crop_and_resize for PyTorch
real-stanford/umi-on-legs17,125
语言:
Python
星标数:
555
分叉数:
34
简介:
UMI on Legs: Making Manipulation Policies Mobile with Manipulation-Centric Whole-body Controllers
swuxyj/DeepHash-pytorch17,127
语言:
Python
星标数:
555
分叉数:
114
简介:
Implementation of Some Deep Hash Algorithms, Including DPSH、DSH、DHN、HashNet、DSDH、DTSH、DFH、GreedyHash、CSQ.
Mohamedelrefaie/DrivAerNet17,131
语言:
Python
星标数:
554
分叉数:
87
简介:
A Large-Scale Multimodal Car Dataset with Computational Fluid Dynamics Simulations and Deep Learning Benchmarks
patrikeh/go-deep17,145
语言:
Go
星标数:
554
分叉数:
68
简介:
Artificial Neural Network
HannesStark/EquiBind17,150
语言:
Python
星标数:
553
分叉数:
117
简介:
EquiBind: geometric deep learning for fast predictions of the 3D structure in which a small molecule binds to a protein
broadinstitute/keras-rcnn17,154
语言:
Python
星标数:
553
分叉数:
218
简介:
Keras package for region-based convolutional neural networks (RCNNs)
dome272/Wuerstchen17,157
语言:
Jupyter Notebook
星标数:
553
分叉数:
34
简介:
Official implementation of Würstchen: Efficient Pretraining of Text-to-Image Models
关键参数与规格
关键参数与规格
参数值
语言Python
类别Model Development
子类别Architecture
关键词Computer vision
星标数554
分叉数128
贡献者4
创建日期2018-05-24
更新日期2026-09-11
1 天星标数0
7 天星标数0
排名17,132
上次排名16,922
排名变化-210
7 天星标排名15,926
上次 7 天星标排名15,933
7 天星标排名变化7
总星标排名17,870
上次总星标排名17,846
总星标排名变化-24
README 摘录

MonoDepth This repo is inspired by an amazing work of Clément Godard, Oisin Mac Aodha and Gabriel J. Brostow for Unsupervised Monocular Depth Estimation. Original code and paper could be found via the following links: 1. Original paper MonoDepth-PyTorch This repository contains code and additional parts for the PyTorch port of the MonoDepth Deep Learning algorithm. For more information about original work, please visit author's website Purpose Purpose of this repository is to make a more lightweight model

for depth estimation with better accuracy. In our version of MonoDepth, we used ResNet50 as an encoder. It was slightly changed (with one more lateral shrinkage) as well as in the original repo. Also, we add ResNet18 version and used batch normalization in both cases for training stability. Moreover, we made flexible feature extractor with any version of original Resnet from torchvision models zoo with an option to use pretrained models. Dataset KITTI This algorithm requires stereo-pair images for

training and single images for testing. Raw dataset (about 175 GB) can be downloaded by running: kitti_archives_to_download. Dataloader Dataloader assumes the following structure of the folder with train examples (**'data_dir'** argument contains path to that folder): The folder contains subfolders with following folders "image_02/data" for left images and "image_03/data" for right images. Such structure is default for KITTI dataset Example data folder structure (path to the "kitti" directory should be passed as

**'data_dir'** in this example): Training Example of training can be find in Monodepth notebook. Model class from main_monodepth_pytorch. py should be initialized with following params (as easydict) for training: : path to the dataset folder : path to the validation dataset folder : path to save the trained model : where save dispairities for tested images - : model for encoder (resnet18_md or resnet50_md or any torchvision version of Resnet (resnet18, resnet34 etc. ) : if use a torchvision model it's possible to

download weights for pretrained model : train or test : number of epochs, - : apply learning rate decay or not :'torch. FloatTensor' :do data augmentation or not :lowest and highest values for gamma, lightness and color respectively - Number of channels in input tensor (3 for RGB images) Number of workers to use in dataloader Optionally after initialization, we can load a pretrained model via . After that calling train() on Model class object starts the training process. Also, it can be started via calling

main_monodepth_pytorch. py through the terminal and feeding parameters as argparse arguments. Train results and pretrained model Results presented on the gif image were obtained using the model with a **resnet18** as an encoder, which can be downloaded from here. For training the following parameters were used: The provided model was trained on the whole dataset, except subsets, listed below, which were used for a hold-out validation. The demo gif image is a visualization of the predictions on

subset. See Monodepth notebook for the details on the training. Testing Example of testing can also be find in Monodepth

常见问题

记录了多少星标和分叉?

OniroAI/MonoDepth-PyTorch 有 554 个星标和 128 个分叉。

仓库排名是多少?

OniroAI/MonoDepth-PyTorch 排名第 17,132。

记录的语言和类别是什么?

OniroAI/MonoDepth-PyTorch 有 554 个星标,语言为 Python,类别为 Model Development。

哪个仓库排名最接近?

OniroAI/MonoDepth-PyTorch 与 Mohamedelrefaie/DrivAerNet 比较,后者排名第 17,131,有 554 个星标。

README

MonoDepth

This repo is inspired by an amazing work of Clément Godard, Oisin Mac Aodha and Gabriel J. Brostow for Unsupervised Monocular Depth Estimation. Original code and paper could be found via the following links:

  1. Original repo
  2. Original paper

MonoDepth-PyTorch

This repository contains code and additional parts for the PyTorch port of the MonoDepth Deep Learning algorithm. For more information about original work, please visit author's website

Purpose

Purpose of this repository is to make a more lightweight model for depth estimation with better accuracy. In our version of MonoDepth, we used ResNet50 as an encoder. It was slightly changed (with one more lateral shrinkage) as well as in the original repo.

Also, we add ResNet18 version and used batch normalization in both cases for training stability. Moreover, we made flexible feature extractor with any version of original Resnet from torchvision models zoo with an option to use pretrained models.

Dataset

KITTI

This algorithm requires stereo-pair images for training and single images for testing. KITTI dataset was used for training. It contains 38237 training samples. Raw dataset (about 175 GB) can be downloaded by running:

wget -i kitti_archives_to_download.txt -P ~/my/output/folder/

kitti_archives_to_download.txt may be found in this repo.

Dataloader

Dataloader assumes the following structure of the folder with train examples ('data_dir' argument contains path to that folder): The folder contains subfolders with following folders "image_02/data" for left images and "image_03/data" for right images. Such structure is default for KITTI dataset

Example data folder structure (path to the "kitti" directory should be passed as 'data_dir' in this example):

data
├── kitti
│   ├── 2011_09_26_drive_0001_sync
│   │   ├── image_02
│   │   │   ├─ data
│   │   │   │   ├── 0000000000.png
│   │   │   │   └── ...
│   │   ├── image_03
│   │   │   ├── data
│   │   │   │   ├── 0000000000.png
│   │   │   │   └── ...
│   ├── ...
├── models
├── output
├── test
│   ├── left
│   │   ├── test_1.jpg
│   │   └── ...

Training

Example of training can be find in Monodepth notebook.

Model class from main_monodepth_pytorch.py should be initialized with following params (as easydict) for training:

  • data_dir: path to the dataset folder
  • val_data_dir: path to the validation dataset folder
  • model_path: path to save the trained model
  • output_directory: where save dispairities for tested images
  • input_height
  • input_width
  • model: model for encoder (resnet18_md or resnet50_md or any torchvision version of Resnet (resnet18, resnet34 etc.)
  • pretrained: if use a torchvision model it's possible to download weights for pretrained model
  • mode: train or test
  • epochs: number of epochs,
  • learning_rate
  • batch_size
  • adjust_lr: apply learning rate decay or not
  • tensor_type:'torch.cuda.FloatTensor' or 'torch.FloatTensor'
  • do_augmentation:do data augmentation or not
  • augment_parameters:lowest and highest values for gamma, lightness and color respectively
  • print_images
  • print_weights
  • input_channels Number of channels in input tensor (3 for RGB images)
  • num_workers Number of workers to use in dataloader

Optionally after initialization, we can load a pretrained model via model.load.

After that calling train() on Model class object starts the training process.

Also, it can be started via calling main_monodepth_pytorch.py through the terminal and feeding parameters as argparse arguments.

Train results and pretrained model

Results presented on the gif image were obtained using the model with a resnet18 as an encoder, which can be downloaded from here.

For training the following parameters were used:

`model`: 'resnet18_md'
`epochs`: 200,
`learning_rate`: 1e-4,
`batch_size`: 8,
`adjust_lr`: True,
`do_augmentation`: True

The provided model was trained on the whole dataset, except subsets, listed below, which were used for a hold-out validation.

2011_09_26_drive_0002_sync  2011_09_29_drive_0071_sync
2011_09_26_drive_0014_sync  2011_09_30_drive_0033_sync
2011_09_26_drive_0020_sync  2011_10_03_drive_0042_sync
2011_09_26_drive_0079_sync

The demo gif image is a visualization of the predictions on 2011_09_26_drive_0014_sync subset.

See Monodepth notebook for the details on the training.

Testing

Example of testing can also be find in Monodepth notebook.

Model class from main_monodepth_pytorch.py should be initialized with following params (as easydict) for testing:

  • data_dir: path to the dataset folder
  • model_path: path to save the trained model
  • pretrained:
  • output_directory: where save dispairities for tested images
  • input_height
  • input_width
  • model: model for encoder (resnet18 or resnet50)
  • mode: train or test
  • input_channels Number of channels in input tensor (3 for RGB images)
  • num_workers Number of workers to use in dataloader

After that calling test() on Model class object starts testing process.

Also it can be started via calling main_monodepth_pytorch.py through the terminal and feeding parameters as argparse arguments.

Requirements

This code was tested with PyTorch 0.4.1, CUDA 9.1 and Ubuntu 16.04. Other required modules:

torchvision
numpy
matplotlib
easydict
排名相邻
同类项目