multiview imaging hw overview
TRANSCRIPT
Lecture 8: Lagrange duality
Homework on multiview computer visionVictor Lempitsky (Skoltech) for the Computational Camera class
A taster of multiview computer visionVideo example
A taster of multiview computer visionPipelineTake photographsDetect/describe featuresMatch featuresEstimate homographyGenerate a sequence of blended framesWrite a video
A taster of multiview computer visionTake photographsTake a sequence that will blend nicely Remember that the algorithm will find the dominant matching planeDownsample to 1-2Mpix
A taster of multiview computer visionFeature Detection/DescriptionFeatureDetector::create (SIFT)FeatureDetector::detectDescriptorDetector::create (SIFT)DescriptorExtractor::computeDetecting features:Describing features:
A taster of multiview computer vision
Reminder
=> Feature vector (128D)
A taster of multiview computer visionMatching featuresDescriptorMatcher::knnMatch(k=2)Take only matches, where the distance to the first neighbor is less then e.g. 0.7*distance to the second neighbor(Do matching the opposite way and keep only reciprocal matches)Use drawMatches to debugUse FlannBasedMatcher if too slow
A taster of multiview computer visionMatching results
A taster of multiview computer visionEstimating homographyYou need findHomography (calib3d module)Use CV_RANSAC optionPlay with reprojThresholdApply the estimated homography to the candidate matches and store the verified matches for later
Use to Mat::inv() to find the reverse mapping
A taster of multiview computer visionReminder how to apply homography
A taster of multiview computer visionImage blendingUse warpPerspective() to map imagesUse image arithmetics (+,*) to blendDefine intermediate frames (e.g. by moving the verified matches along the trajectories and refitting homographies without RANSAC)Use VideoWriter (highgui) to do the video writing
A taster of multiview computer vision