Comments (11)
There are several potential areas for improvement here. First, it appears
that you do not have very many feature matches between images. Try
adjusting Lowes ratio and see is that helps (higher means more matches).
Second, any of the matches that you do have are being filtered with the
loop rotation before any estimation is being done. You can increase this
threshold to maybe 6 or 8 degrees and see if that helps as well.
Finally, if this is all taken with the same camera then you can recover the
known camera intrinsics beforehand with some sort of calibration technique.
Supplying a calibration fine and setting camera intrinsics to constant
should help quite a lot with the estimation
On Sun, Feb 22, 2015, 12:58 AM Anne van Rossum [email protected]
wrote:
I created 46 pictures from different angles from a chair in my house. This
is the corresponding gist:
https://gist.github.com/mrquincle/1071001a5ab180eb56ba.I only adjusted:
--images=/home/anne/mypictures/3d/*.jpeg
--output_matches_file=output.matchesHow many pictures do I need? Or do I do something wrong? I have to admit
the pictures are not taken in the best lighting conditions... Is there a
(small) data set available that I can use to test?—
Reply to this email directly or view it on GitHub
#6.
from theiasfm.
Also, a good dataset to try is the Strecha dataset. It works best if you
supply the camera intrinsics file and set the constant intrinsics to true:
http://cvlabwww.epfl.ch/data/multiview/denseMVS.html
On Sun, Feb 22, 2015, 9:27 AM Chris Sweeney [email protected]
wrote:
There are several potential areas for improvement here. First, it appears
that you do not have very many feature matches between images. Try
adjusting Lowes ratio and see is that helps (higher means more matches).
Second, any of the matches that you do have are being filtered with the
loop rotation before any estimation is being done. You can increase this
threshold to maybe 6 or 8 degrees and see if that helps as well.Finally, if this is all taken with the same camera then you can recover
the known camera intrinsics beforehand with some sort of calibration
technique. Supplying a calibration fine and setting camera intrinsics to
constant should help quite a lot with the estimationOn Sun, Feb 22, 2015, 12:58 AM Anne van Rossum [email protected]
wrote:I created 46 pictures from different angles from a chair in my house.
This is the corresponding gist: https://gist.github.com/
mrquincle/1071001a5ab180eb56ba.I only adjusted:
--images=/home/anne/mypictures/3d/*.jpeg
--output_matches_file=output.matchesHow many pictures do I need? Or do I do something wrong? I have to admit
the pictures are not taken in the best lighting conditions... Is there a
(small) data set available that I can use to test?—
Reply to this email directly or view it on GitHub
#6.
from theiasfm.
I'm going through the documentation at http://cs.ucsb.edu/~cmsweeney/theia/ but couldn't find yet the format for the camera calibration settings.
I have to say that you guys made something absolutely gorgeous here. I spend yesterday half a day trying to install VisualSFM which made me compile lots of different tools, one for SIFT (running with CUDA), one for bundle adjustment, one for graph cuts, one for SfM itself, one for image clustering, etc. etc. Yours was a walk in the park.
If you need help, for example with documentation, please indicate what is most urgent somewhere. This is really promising software!
from theiasfm.
Glad you are finding it useful! I hope you find it easy to extend in
addition to use out of the box.
More documentation in the website will be added as I have time, but the
code should actually be well documented in itself. The calibration format
is here:
https://github.com/sweeneychris/TheiaSfM/blob/master/src/theia/io/read_calibration.cc
Note that this is the proper format (with principal point explicitly
listed) and not as it is described in the .h file. I would welcome a pull
request to fix this and add more documentation as you find useful :)
On Sun, Feb 22, 2015, 4:01 PM Anne van Rossum [email protected]
wrote:
I'm going through the documentation at
http://cs.ucsb.edu/~cmsweeney/theia/ but couldn't find yet the format for
the camera calibration settings.I have to say that you guys made something absolutely gorgeous here. I
spend yesterday half a day trying to install VisualSFM which made me
compile lots of different tools, one for SIFT (running with CUDA), one for
bundle adjustment, one for graph cuts, one for SfM itself, one for image
clustering, etc. etc. Yours was a walk in the park.If you need help, for example with documentation, please indicate what is
most urgent somewhere. This is really promising software!—
Reply to this email directly or view it on GitHub
#6 (comment).
from theiasfm.
Thanks, that looks easy enough.
By the way I didn't trust the sentence Successfully extracted 16384 features
for every image in my output. I do not expect to have the same number of (SIFT) features for each image. I've been comparing the SIFT results of Theia:
./extract_features --input_imgs=some.jpg --img_output_dir=$HOME --descriptor=SIFT
with that of SiftGPU (using the defaults of the TestWinGlut utility).
You can see the results in my gist: https://gist.github.com/mrquincle/1071001a5ab180eb56ba or without downloading at https://gist.github.com/mrquincle/1071001a5ab180eb56ba/revisions
The SIFT feature detector software in Theia does seem to find way too many features. I'll have to find out first how to tone it down a bit.
from theiasfm.
They only reason that they all have the same number of descriptors is
because I limit the total number of descriptors possible (this value can
easily be changed in the FeatureExtractor class). I am not an expert in
feature detection so if you have good insight on how to tune the parameters
to closely match siftgpu I would be eager to hear
On Sun, Feb 22, 2015, 7:39 PM Anne van Rossum [email protected]
wrote:
Thanks, that looks easy enough.
By the way I didn't trust the sentence Successfully extracted 16384
features for every image in my output. I do not expect to have the same
number of (SIFT) features for each image. I've been comparing the SIFT
results of Theia:./extract_features --input_imgs=some.jpg --img_output_dir=$HOME --descriptor=SIFT
with that of SiftGPU (using the defaults of the TestWinGlut utility).
You can see the results in my gist:
https://gist.github.com/mrquincle/1071001a5ab180eb56baThe SIFT feature detector software in Theia does seem to find way too many
features. I'll have to find out first how to tone it down a bit.—
Reply to this email directly or view it on GitHub
#6 (comment).
from theiasfm.
Apparently the peak threshold default used by siftgpu is much higher (it uses also vlfeat as underlying lib). If I adjust the code and hardcode a value of 4 or 5 it will go on and create several 3d models.
./view_reconstruction --reconstruction=output.3d-0
Subsequently shows some point cloud, but it's hard to figure out without images added to the reconstruction. But I guess that's another tool altogether. 💤
from theiasfm.
On my todo list is to write a nice program to output files for CMVS/PMVS. This is a low priority at the moment though.
With de9cb27 I am able to reconstruct the Building dataset from the ICCV13 project nicely (included with their code): http://www.zhpcui.org/ICCV2013_SfM/
It isn't a perfect reconstruction since the configuration is close to collinear, but you can definitely make out the building decently. I did have to bump up the minimum number of inlier correspondences during geometric verification to 100 though... Maybe this is related to Theia's tendancy to extract too many descriptors? If you can send me the images for your chair reconstruction I can try to play around with it a bit
from theiasfm.
Are you still having any issues with reconstructions? Please close this issue if you are not.
from theiasfm.
@sweeneychris I got a 3D scene out of it, but didn't have time to make it really nice yet. The peak threshold however was a key change here. I will do another one to reconstruct my living room. If I have more time I will build up more diverse datasets so I can tell more specifically what might be improved. Awesome software of course!!
from theiasfm.
Great! I would love to have feedback on what works well and does not. By the way, I have added support for exporting Theia reconstructions as PLY files as well as exporting them for dense reconstruction with CMVS/PMVS. Haven't uploaded the documentation yet, but they exist in applications/ and should be easy enough to follow
from theiasfm.
Related Issues (20)
- error related with gflags HOT 2
- std::abs() not considered constexpr by clang HOT 1
- The equation in "triangulation make easy" is different with the code HOT 1
- How to configure TheiaSfM?
- Which paper are these equations from? HOT 1
- FLAGS_images and FLAGS_calibration_file HOT 1
- How to export TheiaSfM ouputs to MVE
- Incorrect formula to compute the epipolar_line in triangulation function HOT 4
- How to configure 1DSfM and LUD? HOT 1
- calibration application error when setting a focal length prior HOT 1
- failure when running a binary compiled with debugging on
- Test failed - normalized_graph_cut_test
- BUILD ERRORS IN THEIASFM HOT 2
- Failed to convert matches file from VSfM to Theia HOT 1
- how to use application: calibrate_camera_intrinsics HOT 1
- Build breaks with Eigen 3.4 HOT 1
- Keep facing error: no viable overloaded '-=' HOT 1
- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
- TwoPointPosePartialRotation Steps
- Error while cmake (glog related)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from theiasfm.