PPGNet: Learning Point-Pair Graph for Line Segment Detection
PyTorch implementation of our CVPR 2019 paper:
PPGNet: Learning Point-Pair Graph for Line Segment Detection
Ziheng Zhang*, Zhengxin Li*, Ning Bi, Jia Zheng, Jinlei Wang, Kun Huang, Weixin Luo, Yanyu Xu, Shenghua Gao
(* Equal Contribution)
The poster can be found HERE.
Demonstraton of juncton-line graph representaton G={V, E}. (a) an sample image patch with 10 junctons (V); (b) the graph which describes the connectvity of all junctons (G); (c) the adjacency matrix of all junctons (E, black means the junction pair is connected).
Requirements
- Python >= 3.6
- fire >= 0.1.3
- numba >= 0.40.0
- numpy >= 1.14.5
- pytorch = 0.4.1
- scikit-learn = 0.19.2
- scipy = 1.1.0
- tensorboard >= 1.11.0
- tensorboardX >= 1.4
- torchvision >= 0.2.1
- OpenCV >= 3.4.3
Usage
- clone this repository (and make sure you fetch all .pth files right with git-lfs):
git clone https://github.com/svip-lab/PPGNet.git
- download the preprocessed SIST-Wireframe dataset from BaiduPan (code:lnfp) or Google Drive.
- specify the dataset path in the
train.sh
script. (modify the --data-root parameter) - run
train.sh
.
Please note that the code requires the GPU memory to be at least 24GB. For GPU with memory smaller than 24GB, you can use a smaller batch with --batch-size
parameter and/or change the --block-inference-size
parameter in train.sh
to be a smaller integer to avoid the out-of-memory error.
Citation
Please cite our paper for any purpose of usage.
@inproceedings{zhang2019ppgnet,
title={PPGNet: Learning Point-Pair Graph for Line Segment Detection},
author={Ziheng Zhang and Zhengxin Li and Ning Bi and Jia Zheng and Jinlei Wang and Kun Huang and Weixin Luo and Yanyu Xu and Shenghua Gao},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2019}
}