The repository contains our dataset and C++ implementation of the CVPR 2022 paper, Geometric Structure Preserving Warp for Natural Image Stitching.

Geometric Structure Preserving Warp for Natural Image Stitching

This repository contains our dataset and C++ implementation of the CVPR 2022 paper, Geometric Structure Preserving Warp for Natural Image Stitching. If you use any code or data from our work, please cite our paper.


Figure 1. An example of stitching 10 images. (a) The AutoStitch's [8] result is severely distorted. (b) The person on the right side is distorted in the APAP's [7] result. (c) Several misalignments (red and green closeup) in the ELA’s [9] result. (d) The SPW's [10] result exhibits significant wrong scale at the right end. (e) There are distortions in the red box, e.g., the floor and carpet are curved in the result obtained by GSP [2]. (f) Our result preserves the salient geometric structures in scene.

Download

  1. Paper(available soon)
  2. Supplementary(available soon)
  3. Code
  4. DataSet (GES-50)

Code

1. Usage

(1). Download code and comile.
	You need Opencv 4.4.0, VLFEAT, Eigen.
(2). Download dataset to "input-data" folder.
(3). Run project.

Or

(4). We provide scripts that make it easier to test data. The following are the steps:
(5). Edit "RUN_EXE.bat". 
	Change "file=\RUN_FILE.txt" and "\GES_Stitching.exe" to corresponding path.
(6). List dataset names you want to test in "RUN_FILE.txt".
(7). Click "RUN_EXE.bat".

Notice:

  • If you make changes to the code, you can copy .exe from the "x64" to the root directory and rename it to "GES_Stitching.exe" after running project.
  • If the .exe output errors, try to run the project to get a new .exe.

You can find results in folder "input-data".

Dataset

1. Introduction

There are 50 diversified and challenging dataset (26 from [1–7] and 24 collected by ourselves). The numbers of images range from 2 to 35.

2. Usage

(1). Copy dataset to folder "input-data" in project.
(2). Make sure the file "xxx-STITCH-GRAPH.txt" in each dataset correspond to the name of this dataset.
(3). You can change the relation between the images by modifying the file "xxx-STITCH-GRAPH.txt".

Contact

Feel free to contact me if there is any question ([email protected]).

Reference

  1. Che-Han Chang, Yoichi Sato, and Yung-Yu Chuang. Shapepreserving half-projective warps for image stitching. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3254–3261, 2014.
  2. Yu-Sheng Chen and Yung-Yu Chuang. Natural image stitching with the global similarity prior. In European conference on computer vision, pages 186–201. Springer, 2016.
  3. Junhong Gao, Seon Joo Kim, and Michael S Brown. Constructing image panoramas using dual-homography warping. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 49–56. IEEE, 2011.
  4. Qi Jia, ZhengJun Li, Xin Fan, Haotian Zhao, Shiyu Teng,Xinchen Ye, and Longin Jan Latecki. Leveraging line-point consistence to preserve structures for wide parallax image stitching. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 12186–12195,2021.
  5. Chung-Ching Lin, Sharathchandra U Pankanti, Karthikeyan Natesan Ramamurthy, and Aleksandr Y Aravkin. Adaptive as-natural-as-possible image stitching. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1155–1163, 2015.
  6. Yoshikuni Nomura, Li Zhang, and Shree K Nayar. Scene collages and flexible camera arrays. In Proceedings of the 18th Eurographics conference on Rendering Techniques, pages 127–138, 2007.
  7. Julio Zaragoza, Tat-Jun Chin, Michael S Brown, and David Suter. As-projective-as-possible image stitching with moving dlt. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 2339–2346, 2013.
  8. Matthew Brown and David G Lowe. Automatic panoramic image stitching using invariant features. International journal of computer vision, 74(1):59–73, 2007.
  9. Jing Li, Zhengming Wang, Shiming Lai, Yongping Zhai, and Maojun Zhang. Parallax-tolerant image stitching based on robust elastic warping. IEEE Transactions on multimedia, 20(7):1672–1687, 2017.
  10. Tianli Liao and Nan Li. Single-perspective warps in natural image stitching. IEEE Transactions on Image Processing, 29:724–735, 2019.
Similar Resources

[CVPR 2021] NormalFusion: Real-Time Acquisition of Surface Normals for High-Resolution RGB-D Scanning

NormalFusion: Real-Time Acquisition of Surface Normals for High-Resolution RGB-D Scanning Project Page | Paper | Supplemental material #1 | Supplement

Jan 2, 2023

HybridPose: 6D Object Pose Estimation under Hybrid Representation (CVPR 2020)

HybridPose: 6D Object Pose Estimation under Hybrid Representation (CVPR 2020)

HybridPose: 6D Object Pose Estimation under Hybrid Representations This repository contains authors' implementation of HybridPose: 6D Object Pose Esti

Nov 22, 2022

FG-Net: Fast Large-Scale LiDAR Point Clouds Understanding Network Leveraging Correlated Feature Mining and Geometric-Aware Modelling

FG-Net: Fast Large-Scale LiDAR Point Clouds Understanding Network Leveraging Correlated Feature Mining and Geometric-Aware Modelling

FG-Net: Fast Large-Scale LiDAR Point Clouds Understanding Network Leveraging Correlated Feature Mining and Geometric-Aware Modelling Comparisons of Running Time of Our Method with SOTA methods RandLA and KPConv:

Dec 28, 2022

Super Mario Remake using C++, SFML, and Image Processing which was a project for Structure Programming Course, 1st Year

Super Mario Remake using C++, SFML, and Image Processing which was a project for Structure Programming Course, 1st Year

Super Mario Remake We use : C++ in OOP concepts SFML for game animations and sound effects. Image processing (Tensorflow and openCV) to add additional

Dec 11, 2022

Training and fine-tuning YOLOv4 Tiny on custom object detection dataset for Taiwanese traffic

Training and fine-tuning YOLOv4 Tiny on custom object detection dataset for Taiwanese traffic

Object Detection on Taiwanese Traffic using YOLOv4 Tiny Exploration of YOLOv4 Tiny on custom Taiwanese traffic dataset Trained and tested AlexeyAB's D

Dec 14, 2022

Video Recoloring via Spatial-Temporal Geometric Palettes

Video Recoloring via Spatial-Temporal Geometric Palettes

Video Recoloring via Spatial-Temporal Geometric Palettes This is the source code of the paper: Video Recoloring via Spatial-Temporal Geometric Palette

Jan 3, 2023

UAV images dataset for moving object detection

UAV images dataset for moving object detection

PESMOD PESMOD (PExels Small Moving Object Detection) dataset consists of high resolution aerial images in which moving objects are labelled manually.

Jan 2, 2023

Prepares the Audi Autonomous Driving Dataset (A2D2) for ROS

Prepares the Audi Autonomous Driving Dataset (A2D2) for ROS

A2D2 ROS Preparer Purpose A2D2 ROS Preparer converts the Audi Autonomous Driving Dataset (A2D2) to a rosbag enabling the usage of ROS tools on this da

Nov 1, 2022

Repository for course content (homeworks, projects, recitation exercises) of CSCI 1300 in Spring 2022.

CSCI1300 Spring 2022 Repository for course content (e.g. homework assignments, project write-ups, recitation exercises) of CSCI 1300 in Spring 2022. C

Apr 6, 2022
Comments
  • 程序编译正确,但是用来做拼接测试报错

    程序编译正确,但是用来做拼接测试报错

    您好,我已经把环境配好,生成exe成功了,但是用bat文件测试拼接图片还是报错,如下:

    Start NISwGSP-01_SantaMaria --------------------------------- nThreads = 20 [#Images : 1] i = 1, [Images : NISwGSP-01_SantaMaria] [ERROR] F(getImageFileFullNamesInDir) could not open directory [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet A = [2, 0] Assertion failed: it->row()>=0 && it->row()<mat.rows() && it->col()>=0 && it->col()<mat.cols(), file D:\ProgramFiles64\OpenCV\eigen-3.3.9\Eigen\src\SparseCore\SparseMatrix.h, line 935

    我是把bat、dll依赖、图片、txt文本和exe程序放在一个文件夹,然后运行bat,请问是我的测试方式不对吗? 您发布的exe我测试也是报错,不是完全相同,但是类似:

    Start test_library --------------------------------- nThreads = 1 [#Images : 1] i = 1, [Images : test_library] [ERROR] F(getImageFileFullNamesInDir) could not open directory [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet [ERROR] F(getImagesMatchGraph) image match graph verification [2] didn't be implemented yet A = [2, 0] Finish test_library --------------------------------- All finish --------------------------------- 请按任意键继续. . .

    希望您能抽取宝贵的时间为我解惑,谢谢!

Code and Data for our CVPR 2021 paper "Structured Scene Memory for Vision-Language Navigation"

SSM-VLN Code and Data for our CVPR 2021 paper "Structured Scene Memory for Vision-Language Navigation". Environment Installation Download Room-to-Room

Dec 3, 2022
Dataset Synthesizer - NVIDIA Deep learning Dataset Synthesizer (NDDS)
Dataset Synthesizer - NVIDIA Deep learning Dataset Synthesizer (NDDS)

NVIDIA Deep learning Dataset Synthesizer (NDDS) Overview NDDS is a UE4 plugin from NVIDIA to empower computer vision researchers to export high-qualit

Dec 27, 2022
DeepI2P - Image-to-Point Cloud Registration via Deep Classification. CVPR 2021
DeepI2P - Image-to-Point Cloud Registration via Deep Classification. CVPR 2021

#DeepI2P: Image-to-Point Cloud Registration via Deep Classification Summary Video PyTorch implementation for our CVPR 2021 paper DeepI2P. DeepI2P solv

Jan 8, 2023
ncnn demo of DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction
ncnn demo of DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction

DocTr-ncnn ncnn demo of DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction model support: 1.Document Segmentation 2

Nov 12, 2022
Frog is an integration of memory-based natural language processing (NLP) modules developed for Dutch. All NLP modules are based on Timbl, the Tilburg memory-based learning software package.

Frog - A Tagger-Lemmatizer-Morphological-Analyzer-Dependency-Parser for Dutch Copyright 2006-2020 Ko van der Sloot, Maarten van Gompel, Antal van den

Dec 14, 2022
This is the code of our paper An Efficient Training Approach for Very Large Scale Face Recognition or F²C for simplicity.
This is the code of our paper An Efficient Training Approach for Very Large Scale Face Recognition or F²C for simplicity.

Fast Face Classification (F²C) This is the code of our paper An Efficient Training Approach for Very Large Scale Face Recognition or F²C for simplicit

Jun 27, 2021
NLP-based perching trajectory generation presented in our paper "Perception-Aware Perching on Powerlines with Multirotors".
NLP-based perching trajectory generation presented in our paper

Perception-Aware Perching on Powerlines with Multirotors This repo contains the code for the NLP-based perching trajectory generation presented in our

Dec 19, 2022
Python and C++ implementation of "MarkerPose: Robust real-time planar target tracking for accurate stereo pose estimation". Accepted at LXCV Workshop @ CVPR 2021.
Python and C++ implementation of

MarkerPose: Robust Real-time Planar Target Tracking for Accurate Stereo Pose Estimation This is a PyTorch and LibTorch implementation of MarkerPose: a

Nov 18, 2022
Official PyTorch Code of GrooMeD-NMS: Grouped Mathematically Differentiable NMS for Monocular 3D Object Detection (CVPR 2021)
Official PyTorch Code of GrooMeD-NMS: Grouped Mathematically Differentiable NMS for Monocular 3D Object Detection (CVPR 2021)

GrooMeD-NMS: Grouped Mathematically Differentiable NMS for Monocular 3D Object Detection GrooMeD-NMS: Grouped Mathematically Differentiable NMS for Mo

Jan 2, 2023