All Projects → Hanqer → deep-hough-transform

Hanqer / deep-hough-transform

Licence: other
Jittor and Pytorch code for paper "Deep Hough Transform for Semantic Line Detection" (ECCV 2020, PAMI 2021)

Programming Languages

python
139335 projects - #7 most used programming language
TeX
3793 projects
Cuda
1817 projects
C++
36643 projects - #6 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to deep-hough-transform

MobyCAIRO
Computer-assisted image straightening and cropping
Stars: ✭ 16 (-93.31%)
Mutual labels:  hough-transform
generalised-hough-transform
Applies Generalised Hough Transform to object detection in images.
Stars: ✭ 23 (-90.38%)
Mutual labels:  hough-transform
SubdivNet
Subdivision-based Mesh Convolutional Networks.
Stars: ✭ 178 (-25.52%)
Mutual labels:  jittor
Self-Driving-Car
Lane Detection for Self Driving Car
Stars: ✭ 14 (-94.14%)
Mutual labels:  hough-transform
HoughRectangle
Rectangle detection using the Hough transform
Stars: ✭ 76 (-68.2%)
Mutual labels:  hough-transform
JDet
JDet is an object detection benchmark based on Jittor. Mainly focus on aerial image object detection (oriented object detection).
Stars: ✭ 81 (-66.11%)
Mutual labels:  jittor

Deep Hough Transform for Semantic Line Detection

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

Updates

Deep Hough Transform

pipeline

Requirements

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 model (based on ResNet50-FPN): http://data.kaizhao.net/projects/deep-hough-transform/dht_r50_fpn_sel-c9a29d40.pth (SEL dataset) and http://data.kaizhao.net/projects/deep-hough-transform/dht_r50_nkl_d97b97138.pth (NKL dataset / used in online demo)

Prepare training data

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

Training

Following the default config file 'config.yml', you can arbitrarily modify hyperparameters. Then, run the following command.

python train.py

Testing

Please refer to test for detailed steps to reproduce the testing results.

Citation

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}
}

License

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].