Skip to content

Osfm v110 - #53

Closed
DodgySpaniard wants to merge 37 commits into
mainfrom
osfm-v110
Closed

Osfm v110#53
DodgySpaniard wants to merge 37 commits into
mainfrom
osfm-v110

Conversation

@DodgySpaniard

Copy link
Copy Markdown
Member

No description provided.

github-actions Bot and others added 30 commits August 25, 2026 20:24
* Fix MSVC's C4244 warnings

* add missing header
- Upstream OpenSfM V1 already has rolling shutter support
- Porting the missing plot binary
Bringing changes by hand to exif.py diffs:
 37d24d2, 955e727, dbe2215, 9254b83

As the changes cannot be easily cherry-picked, we arejust bringing
the code and adapting it to the new changes.

- Brough XML parsing fixes Pix4D projection and malformed XMP.
- Updated Brown as default camera using new config.
- Ptached export with the updated brown camera model params (patching).
- Updated pyproject with beautifulsoup4 and lxml.
Last changes to port into features.py this changes come
 from cojosef96 and piero ed7c8fb, c90b034

 - Added SIFT_GPU through injection of pypopsift from ODM.
 - Added unit test to check the glue code.
 - Added optimization for load/save directly from kiles
   (skipping io_handler): 6d85093
 - Added space free undistorted images (for OpenMVS):c39b32cf & 7fa8192
 - Skipping other changes as they are already in or not needed.
Original commits from Piero 4a92cf3, ec966e1, ad19428, 0566229

Updated imread/imwrite to suppor borather formats:
 .tif/.tiff/.dng/.raw/.nef
pyproject: declare rasterio + rawpy

NOTE: This new changes add a new dimensions which would break masking,
but 50053ee disables it.
 - Moving offset functionality, now using existing opensfm transform.
 - Added export_geocord to unit tests.
Move call of reconstruction.shots.keys() outside of the loop through all
points. This gives significant speed-up especially on large datasets.

For instance, I have got a 4 times speed boost at my dataset (1018152 points,
296 shots):

Before:
$ time /code/SuperBuild/install/bin/opensfm/bin/opensfm export_visualsfm \
 --points /var/www/data/f267df83-f8f8-4bf0-b2e1-41ae16c805e5/opensfm

real    8m46.180s
user    8m41.184s
sys     0m12.073s

After:
$ time /code/SuperBuild/install/bin/opensfm/bin/opensfm export_visualsfm \
 --points /var/www/data/f267df83-f8f8-4bf0-b2e1-41ae16c805e5/opensfm

real    2m10.472s
user    2m7.576s
sys     0m9.789s
 - Added custom flag to override camera_projection_type
 - Added unit tests.
 - Reimplemented the injection of reconstruction algorihm from config.
 - Slight deviation from the original, the actual command line arg
   is still enabled.
 - Added unit test.
 - Added imageFilter (injected from ODM)
 - Implemented camera_mappings.npz dump with compressed caching.
 - Reimplements cache, we use now a local cache and sort batches
  by Camera ID.

The code has been brought in bulk and adapted. Original commits:
e6f04e4, 3b28c3b, 5c9fe5b, 9a0e2f0, 1750fb2, 792b387
The original commits had too many conflict and changed code.

Manually bringing the changes from the following commits:
7041ce1, 81f6d47, 1fccc49, aa0faa3, 78b67c0, 7267773, 04f1d8c

- Added Planar reconstruction
- Updated viewer
- Added dedicated unit test and expanded the synthetic dataset gen.
- Added patches to work with the upstream OpenSfM codebase
DodgySpaniard and others added 7 commits August 25, 2026 20:24
Code original done by 564ff2c, f1bfff6, 37ff7a8, e19573a

Due to mapping and moving pieces, cherry-picking was not reasoable.

Changed lines from 360 branch have ben brought verbatim.
Lots of changes were already done in upstream, adapted most of the
requirements changes. To name some commits: 2f8baf5, dd2c985, e78321d,
d0676a8, c07c14a, eaff01d, 86920b0, 7eb1f79, 02534f5, 8fda902,
51c2e85...
- Inyecting dirs from ODM.
- Minor CERES required (so it complains if missing)
- Added flag for ARM to disable vlfeat SSE2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants