Giter Site home page Giter Site logo

lwzbuaa / niswgsp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nothinglo/niswgsp

0.0 0.0 0.0 85.67 MB

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

C++ 6.91% Makefile 2.91% MATLAB 17.25% HTML 6.73% CSS 1.38% Python 3.25% Clean 0.29% TeX 0.29% Shell 0.07% C 59.25% Roff 0.47% Objective-C 1.20%

niswgsp's Introduction

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

Ubuntu Version

If you want to build this project under Ubuntu, please refer to https://github.com/Yannnnnnnnnnnn/NISwGSP Thanks a lot to @Yannnnnnnnnnnn!

Windows Version (Visual Studio)

If you want to build this project under Windows, please refer to https://github.com/firdauslubis88/NISwGSP Thanks a lot to @firdauslubis88!

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 [email protected]).

niswgsp's People

Contributors

nothinglo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.