Comments (3)
Right now, OpenSfM is ignoring the altitude tag in exif. We started with this option because our datasets were mainly flat and we have found the altitude tag coming from phones to be unreliable.
The assumption of "flat" dataset is used in two places.
- We set the altitude tag value to 2m and ignore the EXIF value here https://github.com/mapillary/OpenSfM/blob/master/opensfm/reconstruction.py#L123
- With default config, we first align the reconstruction to the vertical direction, and then align it so that it matches the GPS' (lat, lon) coordinates.
To support datasets with significant vertical component, we need to use the actual EXIF altitude tag, and set the alignment algorithm to 'naive', which will align the camera positions to the (lat, lon, altitude) tag directly without trying to find the vertical direction first.
Do you have a dataset with good altitude tags that I could try?
from opensfm.
Great, thanks for your help @paulinus! I'm able to get something starting to work with these changes:
use-altitude-tag...chris-cooper:altitude-support
A couple of notes...
- I'm not sure about the uncommenting in bundle.h since this may already be taken care of by the translation priors. It did seem to improve the result though.
- align_reconstruction() would need better logic than what I provided.
It's not the dataset I was referring to originally, but I notice this one has altitude...
https://github.com/OpenDroneMap/odm_data_lewis
It's a more horizontal dataset though, and I have no idea of the quality of the altitude measurement.
from opensfm.
Closing since the problem was solved with the option use_altitude_tag: yes
from opensfm.
Related Issues (20)
- 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
- GCPs / GPS precision
- Install issue on Windows - python setup.py build
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.