/GraphLineMatching

The code for Robust Line Segments Matching via Graph Convolution Networks

Primary LanguagePython

Requirements

install python3.5.2,pytorch 1.1+,ninja-build:

sudo apt-get install ninja-build

Install python packages:

pip install tensorboardX scipy easydict pyyaml

Dataset

To train and eval the network, you should download Scannet, and then, you should use the code to pre-process (e.g., generate the grund truth label) the dataset. if you want to augment the dataset, install:

pip install imgaug

and then, run:

python3 aug_scannet.py

Training

To train the model(s) in the paper, run this command:

python3 train_eval.py --cfg your_yaml_path

📋Example python3 train_eval.py --cfg experiments/vgg16_scannet.yaml

Evaluation

To evaluate the model on Scannet, run:

python3 eval.py --cfg your_yaml_path

📋Example python3 eval.py --cfg experiments/vgg16_scannet.yaml

Visualization

To view the matching results, run:

python3 test.py --cfg experiments/vgg16_scannet.yaml --model_path params_last.pt --left_img test_data/000800.jpg --right_img test_data/000900.jpg --left_lines test_data/000800.txt --right_lines test_data/000900.txt

📋the pre-trained model trained on scannet will be provided when the paper is accepted. A example is:

left

right

res