This repo contains the source code of the paper, Detecting Vanishing Points using Global Image Context in a Non-Manhattan World.
We propose a novel method for detecting horizontal vanishing points and the zenith vanishing point in man-made environments. The dominant trend in existing methods is to first find candidate vanishing points, then remove outliers by enforcing mutual orthogonality. Our method reverses this process: we propose a set of horizon line candidates and score each based on the vanishing points it contains. A key element of our approach is the use of global image context, extracted with a deep convolutional network, to constrain the set of candidates under consideration. Our method does not make a Manhattan-world assumption and can operate effectively on scenes with only a single horizontal vanishing point. We evaluate our approach on three benchmark datasets and achieve state-of-the-art performance on each. In addition, our approach is significantly faster than the previous best method.
- Install Caffe and compile Matcaffe (see toturial at Caffe Installation).
- Download the Caffe model, and uncompress the tarball to "assets".
- Compile LSD (Line Segment Detector):
$ cd assets/lsd; make
We recently updated our CNN model to a state-of-the-art network, which is trained with the approach introduced by another excellent work: Horizon Lines in the Wild.
If you require the original implementation of our work, you can still check the old version:
$ git checkout v1.0
Zhai, M., Workman, S., & Jacobs, N. (2016). Detecting Vanishing Points using Global Image Context in a Non-Manhattan World. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
Bibtex:
@inproceedings{zhai2016horizon,
author = {Zhai, Menghua and Workman, Scott and Jacobs, Nathan},
booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
title = {Detecting Vanishing Points using Global Image Context in a Non-{Manhattan} World},
doi = {10.1109/CVPR.2016.610},
year = {2016}
}