Comments (3)
Wow, what a detailed analysis! We definitely have some "flying" points in all reconstructions, and this could be one of the main reasons. Super nice find!
I don't see right now a simple way of eliminating those, since they seem to be geometrically valid. Some random ideas:
- use only tracks of length>3, but that might reduce the number of tracks too much
- reduce the ransac threshold when matching to minimize the probability of getting them in. @pmoulon has a nice ransac that estimates the threshold on the fly in openMVG. I wonder if that would reduce the number of wrong matches.
- use some kind of spatial regularization (seems tricky)
from opensfm.
I guess there could always be false symmetric matches that are geometrically valid when using RANSAC even if the threshold is estimated on the fly as in openMVG. It could possibly reduce false matches as you mentioned but probably not eliminate them all since that is the nature of the fundamental matrix.
Increasing minimum track length would reduce the number of tracks significally in a small image set like Berlin. Not sure about larger sets but it seems probable that these contain lots of tracks of length two too.
If the false inliers have a negligible effect on the pose of the cameras it is mostly a visual problem during transition when using the meshed reconstruction as described above.
from opensfm.
how about this check mentioned in opnMVG?
openMVG/openMVG#1219 (comment)
If you have 40 lines (matches) going in the same direction, the two random wrong one will be discarded. When matching feature between images, an algorithm will check if "three nearby features" are still relatively "near by" in the next image. Hence can check if it is or not a real match.
Also is it possible to use fundamental matrix to check previously not matched features (failed ratio test but valid matches) and add them back, this could increase the matches significantly.
from opensfm.
Related Issues (20)
- Error data and correlation similar to Metashape matrix HOT 1
- Install Error with Debian
- Consider updating to a newer Sphinx and relaxing the constraints HOT 1
- Consider tagging a new release
- opensfm/test/test_commands.py::test_run_all doesn't pass with matplotlib 3.8.0
- Camera::PixelToNormalizedCoordinatesMany returns incorrect value? HOT 1
- Camera Positions from R, t vector in reconstruction.json HOT 1
- 360 camera feature point coordinate
- Obtaining a more crisp point cloud HOT 3
- Inquiry Regarding Representation of Position and Orientation Data in exif_overrides.json HOT 1
- Any suggestions to improve the speed of reconstructing 360 images?
- Parsing tracks.csv
- ValueError: Unable to determine Axes to steal space for Colorbar. Either provide the *cax* argument to use as the Axes for the Colorbar, provide the *ax* argument to steal space from it, or add *mappable* to an Axes.
- Error when building using wsl ubuntu
- GPU Accelerated Feature Matching HOT 1
- merge sub-point cloud
- Using OpenSFM with a telescopic lens
- Unable to run, attempted to make changes but still failed HOT 2
- Wrong Flask resource paths in annotation_gui_gcp HOT 1
- cannot import name 'pybundle' from partially initialized module 'opensfm' (most likely due to a circular import) HOT 3
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 opensfm.