简体   繁体   中英

Estimation of camera displacement

I am currently working on a experiment that i took multiple photos of a scene on diferent days with a fixed camera position. The problem is that on real world it is hard to keep the camera perfectly fixed.

What i need is to fix the small variance I got automaticaly. The research I made returned methods considering more complex assumption, like camera pose estimation, homography estimation etc. For me its enought to discover just the movement at the image plane returning an x and y. A perfect solution would be a function such as:

function [movx movy] = detectMotion(im1,im2).

The solution I already made was to calculate some image features, like harris or hessian, match them and after manualy select the best ones and use the difference of their position as a camera displacement estimation. I dont know if this is good enough but it would be better if it was made automaticaly.

You can do the feature matching automatically be extracting feature descriptors around the interest points. Take a look at this OpenCV tutorial on how to perform feature matching using SURF and FLANN . Once you have the feature matches, run RANSAC or least squares to find the best fit for an x- and y-offset. This will give you a decent estimate of the camera motion.

Another option is to compute sparse optical flow on the detected interest points between the two frames, followed by the RANSAC or least squares procedure as above to compute the best x- and y-offset. Dense optical flow could possibly be more accurate, but at the same time could prove to be overkill.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM