How to test SfM for multiple view?

16 views (last 30 days)
Joe Joe
Joe Joe on 7 Sep 2017
Hello everyone, I try to test the SfM with my own data. I want to know
(1) in this command, load (fullfile(imageDir,'cameraParams.mat')) , Is it need to do camera calibration to load cameraParams.mat? If need, I already try the camera calibration toolbox in matlab, but it's not ok. So, I do the cameraParams.mat in SfM demo folder is moved to my current own image data folder. And then
(2) i use helperEstimateRelativePose , but they showed this error
Error using helperEstimateRelativePose (line 70)
Unable to compute the Essential matrix
Error in sfM_multi_own (line 39) [relativeOrient, relativeLoc, inlierIdx] = helperEstimateRelativePose(matchedPoints1, matchedPoints2, cameraParams);
I don't know how to do and I'm really confused. Please help me! I want to listen for your suggestion seriously.
  6 Comments
Abdalmalek Abu-Raddaha
Abdalmalek Abu-Raddaha on 3 Mar 2022
Have you guys solved this?
I modified the helperEstimateRelativePose function decreased the confidence and increased the max distance but still getting the same error

Sign in to comment.

Answers (1)

jhz
jhz on 20 Sep 2018
Consider increasing the maximum distance or decreasing the desired confidence. You can do this by modifying the Matlab built-in function helperEstimateRelativePose.m: line 43. Then you can add as many images as you want. After modification, it should look like this:
[E, inlierIdx] = estimateEssentialMatrix(matchedPoints1, matchedPoints2,...
cameraParams, 'Confidence', 50, 'MaxDistance', 5);
But be careful editing the built-in functions. In my case, I modified the function and saved into another folder by another name and add that folder into path. I hope this will help someone.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!