Open zebrajack opened 6 years ago
Hi,
Though I don't really know what you expect from me, I can tell you that the vanishing points are wrongly estimated on your pictures (vertical one is correct but horizontal is a mixed of multiple horizontal directions) However, vanishing points are only used to limit the number of line pairs for calibration estimation. It means that the soft should work (even if slower) with every segment associated to the same VP (even if it's false).
Best,
Yohann
yeah. just want to ensure that the VP are wrong and the result is not right.
Hi, @ySalaun We'd like you to help us verify the correctness of global pose from the RECONSTRUCTION application based on our image set (both panorama and perspective image we've tried) There are not enough feature points in our images and we'd like to use the line features to compute camera pose. And your paper said , it can handle the situation of less feature points. And the CALIBRATION application has executed as we expected. As you can see, the lines are the final kept feature. jst@jst-pc:~/share/project/LineSfM-master/build$ ./CALIBRATION -d ../test_image/ -i ../images2.txt -v 1 4 1 /home/jst/share/project/LineSfM-master/test_image/1.PNG 2 /home/jst/share/project/LineSfM-master/test_image/2.PNG 3 /home/jst/share/project/LineSfM-master/test_image/3.PNG 4 /home/jst/share/project/LineSfM-master/test_image/4.PNG reading intrinsic parameters reading global poses computing relative poses LOAD DETECTIONS AND MATCHES picture 0: 1
Solver Summary (v 1.13.0-eigen-(3.3.4)-lapack-suitesparse-(4.4.6)-cxsparse-(3.1.4)-eigensparse-openmp-no_tbb)
Original Reduced
Parameter blocks 2 2 Parameters 6 6 Residual blocks 46 46 Residual 46 46
Minimizer TRUST_REGION
Dense linear algebra library EIGEN Trust region strategy LEVENBERG_MARQUARDT
Given Used
Linear solver DENSE_QR DENSE_QR Threads 1 1 Linear solver threads 1 1 Linear solver ordering AUTOMATIC 2
Cost: Initial 8.625961e-03
Minimizer iterations 5 Successful steps 1 Unsuccessful steps 4
Time (in seconds): Preprocessor 0.011321
Residual evaluation 0.000000 Jacobian evaluation 0.007050 Linear solver 0.009047 Minimizer 0.016271
Postprocessor 0.000009 Total 0.027602
Termination: FAILURE (Number of consecutive invalid steps more than Solver::Options::max_num_consecutive_invalid_steps: 5)
pictures 2 and 3 === BETTER MODEL FOUND === NFA: -69.6865
Solver Summary (v 1.13.0-eigen-(3.3.4)-lapack-suitesparse-(4.4.6)-cxsparse-(3.1.4)-eigensparse-openmp-no_tbb)
Original Reduced
Parameter blocks 2 2 Parameters 6 6 Residual blocks 88 88 Residual 88 88
Minimizer TRUST_REGION
Dense linear algebra library EIGEN Trust region strategy LEVENBERG_MARQUARDT
Given Used
Linear solver DENSE_QR DENSE_QR Threads 1 1 Linear solver threads 1 1 Linear solver ordering AUTOMATIC 2
Cost: Initial 5.571573e-03
Minimizer iterations 5 Successful steps 1 Unsuccessful steps 4
Time (in seconds): Preprocessor 0.000013
Residual evaluation 0.000000 Jacobian evaluation 0.000052 Linear solver 0.000032 Minimizer 0.000112
Postprocessor 0.000002 Total 0.000127
Termination: FAILURE (Number of consecutive invalid steps more than Solver::Options::max_num_consecutive_invalid_steps: 5)
pictures 3 and 4 === BETTER MODEL FOUND === NFA: 8.59071
Solver Summary (v 1.13.0-eigen-(3.3.4)-lapack-suitesparse-(4.4.6)-cxsparse-(3.1.4)-eigensparse-openmp-no_tbb)
Original Reduced
Parameter blocks 2 2 Parameters 6 6 Residual blocks 21 21 Residual 21 21
Minimizer TRUST_REGION
Dense linear algebra library EIGEN Trust region strategy LEVENBERG_MARQUARDT
Given Used
Linear solver DENSE_QR DENSE_QR Threads 1 1 Linear solver threads 1 1 Linear solver ordering AUTOMATIC 2
Cost: Initial 1.272141e-03
Minimizer iterations 5 Successful steps 1 Unsuccessful steps 4
Time (in seconds): Preprocessor 0.000010
Residual evaluation 0.000000 Jacobian evaluation 0.000031 Linear solver 0.000017 Minimizer 0.000077
Postprocessor 0.000002 Total 0.000089
Termination: FAILURE (Number of consecutive invalid steps more than Solver::Options::max_num_consecutive_invalid_steps: 5)
PROCESSED IN 0.834883 images 0 and 1 Error in rotation : 120 Error in translation : nan images 1 and 2 Error in rotation : 120 Error in translation : nan images 2 and 3 Error in rotation : 120 Error in translation : nan AVERAGE RESULTS: Rotation: 120 Translation: nan jst@jst-pc:~/share/project/LineSfM-master/build$
As followed pic, the global poses of your TEST_IMAGE (4 outdoor images with rich features) are right
And this ours is not correct,
The global poses are extracted before bundle adjustment in the RECONSTRUCTION application. (we'd like the first image's coord to be 0,0,0.)
Here is a small batch of our images.
Besides we reuse the calibration matrix K from your TEST_IMAGE to compute everything, dose it matter?
Hi,
This seems to be a tough scene so you should check:
About the K matrix, the result won't be correct if you use the wrong matrix. However, I'm not sure it will solve your problem in this case. To compute your own K matrix you should follow the formula below: K = | focal_length (mm) picture_height (pixel nb) / sensor_height(mm), 0, 0.5picture_height (pixel nb) | | 0, focal_length (mm) picture_width (pixel nb) / sensor_width(mm), 0.5picture_width (pixel nb) | | 0,0,1 | (Note that the parameters can be found on your exif (for focal length) and internet (for sensor information))
Best,
Yohann
since narrow perspective cannot ensure the triplet. we choose 3 panoramas. but I know the theory cannot support the vps in panoramas. but it genrated some results.
Though the result looks like it is not that bad. so does it mean some conincident?
All the dataset can be download below. https://drive.google.com/open?id=14eerqQs2g0LudnXJsMCDBsMoo0g4sQOl