Real-time Video stitching Using Camera Path Estimation and Homography Refinement
This is a framework that combines multiple frames acquired from moving cameras
For reduce stitching time, we estimate homography using the optical-flow algorithm (Camera Path Estimation), then remove errors of homography using the block-matching (Homograpy Refinement).
Paper address link "Yoon, J., & Lee, D. (2017). Real-Time Video Stitching Using Camera Path Estimation and Homography Refinement. Symmetry, 10(1), 4."
Video address link
1. Abstract
We propose a novel real-time video stitching method using camera path estimation and homography refinement. The method can stably stitch multiple frames acquired from moving cameras in real time. In the proposed method, one initial between-camera (BC) homography and each camera path (CP) homography are used to estimate the BC homography at every frame. The BC homography is refined by using block matching to adjust the errors of estimated CPs (homography refinement). For fast processing, we extract features using the difference of intensities and use the optical flow to estimate camera motion (CM) homographies, which are multiplied with the previous CMs to calculate CPs (camera path estimations). In experiments, we demonstrated the performance of the CP estimation and homography refinement approach by comparing it with other methods. The experimental results show that the proposed method can stably stitch two image sequences at a rate exceeding 13 fps (frames per second).
2. Overall Method
3. Camera Path Estimation
3-1. Feature Extraction (diffrence of intensity on grid)
3-2. Feature Tracking (optical flow)
3-3. Result
4. Homography Refinement
4-1. Homography Refinement (block-matching)
4-2. Result
5. Result
- Sample Result
Link : result video
- Time
Code
It is based on OpenCV 2.4.1.1, MFC