Jittor and Pytorch code accompanying the paper "Deep Hough Transform for Semantic Line Detection" (ECCV 2020, PAMI 2021). arXiv2003.04676 | Online Demo | Project page | New dataset | Line Annotator
numpy
scipy
opencv-python
scikit-image
pytorch>=1.0
torchvision
tqdm
yml
POT
deep-hough
To install deep-hough, run the following commands.
cd deep-hough-transform
cd model/_cdht
python setup.py build
python setup.py install --user
Pretrain models (based on ResNet50-FPN): https://kaizhao.net/deep-hough-transform/dht_r50_fpn_sel-c9a29d40.pth (SEL dataset) and https://kaizhao.net/deep-hough-transform/dht_r50_nkl_d97b97138.pth (NKL dataset / used in online demo)
Download original SEL dataset from here and extract to data/
directory. After that, the directory structure should be like:
data
├── ICCV2017_JTLEE_gtlines_all
├── ICCV2017_JTLEE_gt_pri_lines_for_test
├── ICCV2017_JTLEE_images
├── prepare_data_JTLEE.py
├── Readme.txt
├── test_idx_1716.txt
└── train_idx_1716.txt
Then run python script to generate parametric space label.
cd deep-hough-transform
python data/prepare_data_JTLEE.py --root './data/ICCV2017_JTLEE_images/' --label './data/ICCV2017_JTLEE_gtlines_all' --save-dir './data/training/JTLEE_resize_100_100/' --list './data/training/JTLEE.lst' --prefix 'JTLEE_resize_100_100' --fixsize 400 --numangle 100 --numrho 100
For NKL dataset, you can download the dataset and put it to data dir. Then run python script to generate parametric space label.
cd deep-hough-transform
python data/prepare_data_NKL.py --root './data/NKL' --label './data/NKL' --save-dir './data/training/NKL_resize_100_100' --fixsize 400
Following the default config file 'config.yml', you can arbitrarily modify hyperparameters. Then, run the following command.
python train.py
Please refer to test for detailed steps to reproduce the testing results.
If our method/dataset are useful to your research, please consider to cite us:
@article{zhao2021deep,
author = {Kai Zhao and Qi Han and Chang-bin Zhang and Jun Xu and Ming-ming Cheng},
title = {Deep Hough Transform for Semantic Line Detection},
journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
year = {2021},
doi = {10.1109/TPAMI.2021.3077129}
}
@inproceedings{eccv2020line,
title={Deep Hough Transform for Semantic Line Detection},
author={Qi Han and Kai Zhao and Jun Xu and Ming-Ming Cheng},
booktitle={ECCV},
pages={750--766},
year={2020}
}
This project is licensed under the Creative Commons NonCommercial (CC BY-NC 3.0) license where only non-commercial usage is allowed. For commercial usage, please contact us.