The aim of this project is to stitch two or more images (with 30-50% overlap) together to create one seamless panorama image. In the first phase, we use the traditional feature descriptors method, and in the second phase, we take a deep learning approach for homography estimation.
This package was built using Python 3.7, Pytorch and OpenCV on Ubuntu 20.04. Follow the instructions on this page to setup Pytorch and this page to setup OpenCV for Ubuntu. Other packages include matplotlib
, scipy
and scikitlearn
. These are relatively easy to install using pip install *package_name*
.
Download the package:
git clone git@github.com:latent-pixel/AutoPano.git
The correspondences between two images are computed using feature descriptors, which are in turn computed by using Adaptive Non-Maximal Suppression (ANMS) on corners detected using traditional corner detection methods such as Harris Corners.
From the package's root directory, use the following command to run it:
python3 phase1/code/Wrapper.py
The results can then be found in a separate results
folder in the package.
After Non-Maximal Suppression,
Harris Corners | Shi-Tomasi Corners |
---|---|
Finally, the panoramas created:
Set 1 | Set 2 |
---|---|