Skip to content

[SFM] Using rerun logger for Incremental SfM reconstruction#2291

Open
pmoulon wants to merge 2 commits into
developfrom
develop_rerun_logging
Open

[SFM] Using rerun logger for Incremental SfM reconstruction#2291
pmoulon wants to merge 2 commits into
developfrom
develop_rerun_logging

Conversation

@pmoulon

@pmoulon pmoulon commented Feb 3, 2024

Copy link
Copy Markdown
Member

Visualization of the incremental process has never been so easy. By default a rerun window will open and show the status of the reconstruction:

  • Show cameras frustum
  • Point Cloud (with corresponding track ids)
  • Camera Resection statistics (as graph inlier_ratio and a_contrario resection threshold)
  • Number of camera in the scene (see pose_count timeline)

You can use it as following:
--rerun_logging [WINDOW(default)|FILE|NONE]

  • WINDOW -> will open rerun window and show the reconstruction
  • FILE -> will log to a sfm_data.rrd file the reconstruction
  • NONE -> Disable rerun logging

Visualization of the incremental process has never been so easy.
By default a rerun window will open and show the status of the
reconstruction:
- Show cameras frustum
- Point Cloud (with corresponding track ids)
- Camera Resection statistics (as graph inlier ratio and a_contrario
resection threshold)
- Number of camera in the scene (see pose_count timeline)

You can use it as following:
--rerun_logging [WINDOW(default)|FILE|NONE]

- WINDOW => will open rerun window and show the reconstruction
- FILE => will log to a sfm_data.rrd file the reconstruction
- NONE => Disable rerun logging
@pmoulon pmoulon requested a review from a team February 3, 2024 05:41
@pmoulon

pmoulon commented Feb 3, 2024

Copy link
Copy Markdown
Member Author

@khshmt Here is a PR that integrate rerun for logging the reconstruction process.
Use openMVG_main_SfM as usual and the rerun window will just show.

openMVG_ReRun_C_Chateau
openMVG_ReRun_C_Eglise_test
openMVG_ReRun_C_Halles

Let me know how it goes for you.

Note: We will solve the GitHub CI errors later.

@khshmt

khshmt commented Feb 3, 2024

Copy link
Copy Markdown
Contributor

@pmoulon I got a compile error while building on "develop_rerun_logging" due to a missing header file "openMVG/sfm/sfm_data_io_rerun.hpp", Do I miss something?

Screenshot from 2024-02-03 14-23-21

@pmoulon

pmoulon commented Feb 3, 2024

Copy link
Copy Markdown
Member Author

@khshmt Should be fixed now, sorry about this.

@khshmt

khshmt commented Feb 3, 2024

Copy link
Copy Markdown
Contributor

No problem

@khshmt

khshmt commented Feb 5, 2024

Copy link
Copy Markdown
Contributor

It looks good, I will inspect it more and if you have any further requirements for testing tell me
Screenshot from 2024-02-05 06-33-02

@byandersen

Copy link
Copy Markdown

It's a very nice way to visualize the INCREMENTAL engine. Rerun had some changes so it currently only works with the following version: 0.12.1. You need to change the rerun_sdk URL in the CMakeList.txt to https://github.com/rerun-io/rerun/releases/download/0.12.1/rerun_cpp_sdk.zip to compile.

openMVG_system
${CERES_LIBRARIES}
${STLPLUS_LIBRARY}
rerun_sdk

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got compiling issue because of linking rerun_sdk privately to openMVG_sfm target, and it got solved after changing to link it publicly as follows:

target_link_libraries(openMVG_sfm
PUBLIC
openMVG_geometry
openMVG_features
openMVG_graph
openMVG_matching
openMVG_multiview
${cereal_TARGET}
${OPENMVG_LIBRARY_DEPENDENCIES}
rerun_sdk
)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants