mimo-unet

PyTorch implementation of Probabilistic MIMO U-Net

https://github.com/antonbaumann/mimo-unet

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org, scholar.google
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.9%) to scientific vocabulary

Keywords

deep-ensemble u-net uncertainty-analysis uncertainty-estimation uncertainty-neural-networks uncertainty-quantification
Last synced: 6 months ago · JSON representation ·

Repository

PyTorch implementation of Probabilistic MIMO U-Net

Basic Info
  • Host: GitHub
  • Owner: antonbaumann
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 623 KB
Statistics
  • Stars: 21
  • Watchers: 3
  • Forks: 4
  • Open Issues: 1
  • Releases: 0
Topics
deep-ensemble u-net uncertainty-analysis uncertainty-estimation uncertainty-neural-networks uncertainty-quantification
Created almost 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

Readme.md

Open In Colab

Probabilistic MIMO U-Net

This repository contains the code for the paper Probabilistic MIMO U-Net: Efficient and Accurate Uncertainty Estimation for Pixel-wise Regression.

Authors: Anton Baumann1, Thomas Roßberg1, Michael Schmitt1\ 1 University of the Bundeswehr Munich\ in UnCV Workshop at ICCV 2023 (Oral Presentation)

MIMO U-Net

Installation

```bash git clone https://github.com/antonbaumann/MIMO-Unet.git cd MIMO-Unet pip install -r requirements.txt export PYTHONPATH=$PYTHONPATH:MIMOREPOSITORYPATH

if you want to use the SEN12TP dataset

git clone https://github.com/oceanites/sen12tp.git export PYTHONPATH=$PYTHONPATH:SEN12TPREPOSITORYPATH ```

Training

The training scripts are located in the scripts/train/ folder. The following scripts are available:

NDVI

Train a MIMO U-Net with two subnetworks and input repetition for NDVI prediction on the SEN12TP dataset. bash python train_ndvi.py \ --dataset_dir /scratch/trossberg/sen12tp-v1-split1 \ --checkpoint_path /ws/data/wandb_ndvi \ --max_epochs 100 \ --batch_size 32 \ --num_subnetworks 2 \ --filter_base_count 30 \ --num_workers 30 \ -t NDVI \ -i VV_sigma0 \ -i VH_sigma0 \ --patch_size 256 \ --stride 249 \ --learning_rate 0.001 \ --input_repetition_probability 0.0 \ --loss_buffer_size 10 \ --loss_buffer_temperature 0.3 \ --core_dropout_rate 0.0 \ --encoder_dropout_rate 0.0 \ --decoder_dropout_rate 0.0 \ --loss laplace_nll \ --seed 1 \ --project "MIMO NDVI Prediction"

NYU Depth V2

Train a MIMO U-Net with two subnetworks and input repetition for depth prediction on the NYU Depth V2 dataset. bash python train_nyuv2_depth.py \ --dataset_dir /ws/data/nyuv2/depth \ --checkpoint_path /ws/data/wandb_experiments_2 \ --max_epochs 100 \ --batch_size 64 \ --num_subnetworks 2 \ --filter_base_count 21 \ --num_workers 50 \ --learning_rate 0.001 \ --input_repetition_probability 0.0 \ --loss_buffer_size 10 \ --loss_buffer_temperature 0.3 \ --core_dropout_rate 0.0 \ --encoder_dropout_rate 0.0 \ --decoder_dropout_rate 0.0 \ --loss laplace_nll \ --seed 1 \ --train_dataset_fraction 1 \ --project "MIMO NYUv2Depth"

For Monte-Carlo Dropout, set --core_dropout_rate 0.1, --encoder_dropout_rate 0.1, --decoder_dropout_rate 0.1.

Evaluation

The evaluation scripts are located in the scripts/test/ folder. These scripts evaluate a trained model on a dataset and save the results in the specified result directory. 1. {dataset_name}_{epsilon}_inputs.npy: Inputs to the model. 2. {dataset_name}_{epsilon}_y_trues.npy: Targets of the model. 3. {dataset_name}_{epsilon}_y_preds.npy: Predictions of the model. 4. {dataset_name}_{epsilon}_aleatoric_vars.npy: Aleatoric uncertainty (variance) of the model. 5. {dataset_name}_{epsilon}_epistemic_vars.npy: Epistemic uncertainty (variance) of the model. 6. {dataset_name}_{epsilon}_df_pixels.csv: Dataframe with all information above per pixel. 7. {dataset_name}_{epsilon}_precision_recall.csv: Dataframe for precision-recall curve. 8. {dataset_name}_{epsilon}_calibration.csv: Dataframe for calibration curve.

NDVI

Evaluate a trained model for NDVI prediction on the SEN12TP dataset. bash python test_ndvi.py \ --dataset_dir PATH_TO_DATASET/test/ \ --model_checkpoint_path PATH_TO_CHECKPOINT/model.ckpt \ --result_dir PATH_TO_RESULT_DIR \ --processes 5

NYU Depth V2

Evaluate a trained model for depth prediction on the NYU Depth V2 dataset. bash python test_nyuv2_depth.py \ --model_checkpoint_paths PATH_TO_CHECKPOINT/model.ckpt \ --dataset_dir PATH_TO_DATASET \ --result_dir PATH_TO_RESULT_DIR \ --processes 5

Owner

  • Name: Anton Baumann
  • Login: antonbaumann
  • Kind: user
  • Location: Munich

student at TUM

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
url: "https://github.com/antonbaumann/MIMO-Unet"
preferred-citation:
  type: conference-paper
  authors:
  - family-names: "Baumann"
    given-names: "Anton"
    orcid: "https://orcid.org/0009-0008-8509-8057"
  - family-names: "Roßberg"
    given-names: "Thomas"
    orcid: "https://orcid.org/0000-0001-8536-1515"
  - family-names: "Schmitt"
    given-names: "Michael"
    orcid: "https://orcid.org/0000-0002-0575-2362"
  title: "Probabilistic MIMO U-Net: Efficient and Accurate Uncertainty Estimation for Pixel-wise Regression"
  booktitle: "Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops"
  year: 2023
  month: 10
  pages: "4498-4506"

GitHub Events

Total
  • Watch event: 3
  • Issue comment event: 1
  • Pull request event: 2
  • Fork event: 2
Last Year
  • Watch event: 3
  • Issue comment event: 1
  • Pull request event: 2
  • Fork event: 2

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 2
  • Total pull requests: 21
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.24
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 minute
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • antonbaumann (1)
  • xunfeng2zkj (1)
Pull Request Authors
  • antonbaumann (10)
  • dependabot[bot] (8)
  • beckynevin (2)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
dependencies (8)