Some parts of this project are taken from other repositories:
semseg/
- this directory is taken from https://github.com/CSAILVision/semantic-segmentation-pytorch and it's not used in our implementation, we only used it at the beginninggeopose/model/houglass_ugly.py
- contains the original model from https://github.com/zhengqili/MegaDepth, we rewrote it because it was pretty uglygeopose/model/hourglass.py
- contains the same model, but implemented in pytorch from scratch, inspired by https://github.com/dfan/single-image-surface-normal-estimationgeopose/model/hourglass_*.py
- contains derived models from base HG with added FOVgeopose/train.py
- Working with DistributedDataParallel https://gist.github.com/sgraaf/5b0caa3a320f28c27c12b5efeb35aa4c
Other files are scripts implemented by us. Main scripts are:
geopose/train.py
- training script, containing also evaluating on test datasetgeopose/dataset.py
- script containing DataLoader classgeopose/losses.py
- script containing implementation of loss functions- and other minor utility scripts
Run from root repo directory (KNN-Projekt).
Loading JPEG uses TurboJPEG library that must be installed through a package manager.
sudo apt install libturbojpeg
Python package dependencies can be installed from requirements.txt.
pip install -r requirements.txt
- install requirements.txt with pip
- for training on
datasets/geoPose3K_final_publish
runpython geopose/train.py
- set the parameters inside the script
- for plotting run
python plot_predictions.py
- set theweights_path
variable- it could not be passed as parameter because of megadepth model builder uses argparse and it interferences