lioqio / NISwGSP

C++ implementation of the ECCV 2016 paper, Natural Image Stitching with the Global Similarity Prior.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Natural Image Stitching with the Global Similarity Prior

This repository is our C++ implementation of the ECCV 2016 paper, Natural Image Stitching with the Global Similarity Prior. If you use any code or data from our work, please cite our paper.

Download

  1. Poster, Short Presentation and Thesis Presentation
  2. Paper
  3. Supplementary
    • We tested four state-of-the-art methods and ours on 42 sets of images in same setting (grid size, feature points and parameters).
  4. Input-42-data
  5. All our results

Usage

  1. Download code and compile.

    • You need Eigen, VLFeat, OpenCV 3.0.0 and OpenMP (if you don't need to use omp.h, you can ignore it.)
    • My GCC_VRSION is Apple LLVM 6.0
    GCC_C_LANGUAGE_STANDARD = GNU99 [-std=gnu99]
    CLANG_CXX_LANGUAGE_STANDARD = GNU++14 [-std=gnu++14]
    CLANG_CXX_LIBRARY = libc++ (LLVM C++ standard library with C++11 support)
    
    • My Eigen version is 3.2.7 (development branch). You need to make sure you can use "LeastSquaresConjugateGradient" class.
  2. Download input-42-data.

    • 42 sets of images: 6 from [1], 3 from [2], 3 from [3], 7 from [4], 4 from [5] and 19 collected by ourselves.
  3. Move [input-42-data] folder to your working directory.

  4. Run the command:

    ./exe folder_name_in_[input-42-data]_folder
    

    The results can be found in [0_results] folder under [input-42-data] folder.

  5. Optional:

    • You can control the parameters in Configure.h or xxx-STITCH-GRAPH.txt

Results

More natural:

AutoStitch Ours Ours(border)
AutoStitch AANAP Ours
AutoStitch AANAP
Ours(2D) Ours(3D)

Stitching of 20 images:

AANAP Ours

Stitching of 35 images:

AANAP Ours(2D) Ours(3D)

Our method can be used to empower other methods with APAP’s alignment capability:

AutoStitch AutoStitch + Ours Ours

Debug mode

You can disable debug mode by adding NDEBUG macro. Otherwise you will see the intermediate which is located in the [1_debugs] folder under [input-42-data]. You can download all intermediate data. The intermediate example:

Border Mesh
Initial Features After sRANSAC
Line Data 1 Line Data 2

Speed

If you want to speed up, MATLAB solver is significantly faster than Eigen.

Publication

Yu-Sheng Chen and Yung-Yu Chuang.

National Taiwan University

Natural Image Stitching with Global Similarity Prior. Proceedings of European Conference on Computer Vision 2016 (ECCV 2016), Part V, pp. 186-201, October 2016, Amsterdam, Netherland.

Citation

@INPROCEEDINGS{Chen:2016:NIS,
	AUTHOR		= {Yu-Sheng Chen and Yung-Yu Chuang},
	TITLE		= {Natural Image Stitching with the Global Similarity Prior}, 
	YEAR		= {2016},
	MONTH		= {October},
	BOOKTITLE	= {Proceedings of European Conference on Computer Vision (ECCV 2016)},
	PAGES		= {V186--201},
	LOCATION	= {Amsterdam},
}

Reference

  1. Chang, C.H., Sato, Y., Chuang, Y.Y.: Shape-preserving half-projective warps for image stitching. In: Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. pp. 3254-3261. CVPR'14 (2014)
  2. Gao, J., Kim, S.J., Brown, M.S.: Constructing image panoramas using dual-homography warping. In: Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. pp. 49-56. CVPR'11 (2011)
  3. Lin, C., Pankanti, S., Ramamurthy, K.N., Aravkin, A.Y.: Adaptive as-natural-as-possible image stitching. In: IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2015, Boston, MA, USA, June 7-12, 2015. pp. 1155-1163 (2015)
  4. Nomura, Y., Zhang, L., Nayar, S.K.: Scene collages and flexible camera arrays. In: Proceedings of the 18th Eurographics Conference on Rendering Techniques. pp. 127-138. EGSR'07 (2007)
  5. Zaragoza, J., Chin, T.J., Brown, M.S., Suter, D.: As-projective-as-possible image stitching with moving dlt. In: Proceedings of the 2013 IEEE Conference on Computer Vision and Pattern Recognition. pp. 2339-2346. CVPR'13 (2013)

Contact

Feel free to contact me if there is any question (Yu-Sheng Chen nothinglo@cmlab.csie.ntu.edu.tw).

About

C++ implementation of the ECCV 2016 paper, Natural Image Stitching with the Global Similarity Prior.


Languages

Language:C 59.2%Language:MATLAB 17.3%Language:C++ 6.9%Language:HTML 6.7%Language:Python 3.3%Language:Makefile 2.9%Language:CSS 1.4%Language:Objective-C 1.2%Language:Roff 0.5%Language:TeX 0.3%Language:Clean 0.3%Language:Shell 0.1%