mimo-unet
PyTorch implementation of Probabilistic MIMO U-Net
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
Repository
PyTorch implementation of Probabilistic MIMO U-Net
Basic Info
Statistics
- Stars: 21
- Watchers: 3
- Forks: 4
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
Readme.md
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)

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
- Repositories: 8
- Profile: https://github.com/antonbaumann
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)