Skip to content

satyajitghana/ProjektDepth

Repository files navigation

ProjektDepth - váthos 🐲

váthos or βάθος is in Greek which means Depth


A Monocular Depth Estimation and Segmentation Model, using ResNet-Multi-Tail-Encoder-Decoder or Vathos as i like to call it Architecture. See more in the Documentation below

ProjektDepth: A DNN for segmentation and depth estimation. The entire dataset was created from scraping images, augmenting them to finally create a dataset of 1.2B images. The DNN was custom made inspired from Resnet and Unet architecture, various loss functions and their combinations were tried on the model. LRFinder was used to find the best or for the model. The model was trained on Colab with a P100, experiments were done on TPU. The vathos package contains the runner, trainer, model, loss, and the notebooks. Everything is documented and added to readthedocs.

Documentation 📚

Status

Read the Docs Website Hits GitHub top language GitHub language count GitHub GitHub contributors GitHub repo size maintainer GitHub stars

Config File

name: vathos_small_train
log_dir: logs
chkpt_dir: checkpoint

model_init: "models/model.pt"

device: GPU

model: ResUNet

augmentation: DepthLightAug

dataset:
    name: DenseDepth
    root: vathos_data
    zip_dir: "/content/gdrive/My Drive/DepthProject/depth_dataset_zipped/"
    div_factor: 1
    loader_args:
        batch_size: 128
        num_workers: 4
        shuffle: True
        pin_memory: True

seg_loss: BCEDiceLoss

depth_loss: RMSELoss

lr_scheduler:
    type: OneCycleLR
    args:
        max_lr: 0.6

optimizer:
    type: AdamW
    args:
        lr: 0.01

training:
    epochs: 3

Sample Run

                                                                     
                            ___      ,---,                           
       ,---.              ,--.'|_  ,--.' |                           
      /__./|              |  | :,' |  |  :       ,---.               
 ,---.;  ; |              :  : ' : :  :  :      '   ,'\   .--.--.    
/___/ \  | |   ,--.--.  .;__,'  /  :  |  |,--. /   /   | /  /    '   
\   ;  \ ' |  /       \ |  |   |   |  :  '   |.   ; ,. :|  :  /`./   
 \   \  \: | .--.  .-. |:__,'| :   |  |   /' :'   | |: :|  :  ;_     
  ;   \  ' .  \__\/: . .  '  : |__ '  :  | | |'   | .; : \  \    `.  
   \   \   '  ," .--.; |  |  | '.'||  |  ' | :|   :    |  `----.   \ 
    \   `  ; /  /  ,.  |  ;  :    ;|  :  :_:,' \   \  /  /  /`--'  / 
     :   \ |;  :   .'   \ |  ,   / |  | ,'      `----'  '--'.     /  
      '---" |  ,     .-./  ---`-'  `--''                  `--'---'   
             `--`---'                                                
                                                                     
Author: Satyajit Ghana
Github: https://github.com/satyajitghana/ProjektDepth

[ 2020-05-23 20:55:28,682 - vathos.vathos.runner.runner ] INFO: Now simply setup_train and then start_train your model
import vathos
import vathos.runner as vrunner
import vathos.utils as vutils
config = vutils.load_config('small_data.yaml')
runner = vrunner.Runner(config)
runner.setup_train()
runner.start_train()

Architecture

Build the docs

$ cd docs
$ pip install requirements.txt
$ make.bat html

Made with 💘 by shadowleaf