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.
- Poster, Short Presentation and Thesis Presentation
- Paper
- 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).
- Input-42-data
- All our results
If you want to build this project under Ubuntu, please refer to https://github.com/Yannnnnnnnnnnn/NISwGSP Thanks a lot to @Yannnnnnnnnnnn!
If you want to build this project under Windows, please refer to https://github.com/firdauslubis88/NISwGSP Thanks a lot to @firdauslubis88!
-
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.
-
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.
-
Move [input-42-data] folder to your working directory.
-
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.
-
Optional:
- You can control the parameters in Configure.h or xxx-STITCH-GRAPH.txt
AutoStitch | Ours | Ours(border) |
---|---|---|
AutoStitch | AANAP | Ours |
---|---|---|
AutoStitch | AANAP |
---|---|
Ours(2D) | Ours(3D) |
AANAP | Ours |
---|---|
AANAP | Ours(2D) | Ours(3D) |
---|---|---|
AutoStitch | AutoStitch + Ours | Ours |
---|---|---|
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 |
---|---|
If you want to speed up, MATLAB solver is significantly faster than Eigen.
Yu-Sheng Chen and Yung-Yu Chuang.
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.
@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},
}
- 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)
- 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)
- 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)
- 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)
- 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)
Feel free to contact me if there is any question (Yu-Sheng Chen nothinglo@cmlab.csie.ntu.edu.tw).