This project contains code for stitching large number of images using classical computer vision techniques for application in drone mapping.
Install conda and prepare a python environment using the following steps:
Build a new conda environment
conda create -n image_stitching python=3.8
Install additional libraries using pip:
python3 -m pip install -r requirements.txt
Activate the conda environment:
conda activate image_stitching
- There is atleast 70% overlap (both front and sideways) between the images while the data was collected
- The images are numbered sequentially in the dataset
Below is a high-level overview of the image stitching algorithm:
- Feature detection using SIFT
- Feature matching using FLANN-basd matcher
- Homography estimation using DLT and RANSAC
- Image warping
The algorithm is tested on two datasets: agricultural farm and an urban area. Below images shows two examples mosaics:
Two possible improvements over our work is to use bundle adjustment to reduce the cumulative error issue and blending to remove noticeable seams at the stitching location.