Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating the OpenSfM and ceres #1745

Open
acsgn95 opened this issue Feb 2, 2024 · 21 comments
Open

Updating the OpenSfM and ceres #1745

acsgn95 opened this issue Feb 2, 2024 · 21 comments

Comments

@acsgn95
Copy link

acsgn95 commented Feb 2, 2024

How did you install ODM? (Docker, installer, natively, ...)?

Natively

What is the problem?

[When I look at the ODM dependencies, The dependencies are the old versions. Especially, OpenSfM's GIT_TAG is 330. But, the last version is much faster than the recent version. And, the ceres version is 2.0.0 and it is not using CUDA. I tried that installing the last OpenSfM and ceres 2.1.0, it is succesfully installed alone. But, whenever I try to install these on ODM directly, I couldn't accomplished.
OpenSfM and ceres, they are the most important library for speed.]

@Saijin-Naib
Copy link
Contributor

Our forks have a lot of patches.

Are you able to help upstream them, or rebase them on newer versions?

@pierotofy
Copy link
Member

We'd welcome contributions to bring these speed improvements to our OpenSfM fork and in ODM.

@acsgn95
Copy link
Author

acsgn95 commented Feb 2, 2024

Now, I'm still getting more serious conflicts. When I upgrade Ceres, OpenSfM does not cause problems, but OpenMVS does. I solved it but other libraries produce conflicts. Share your ideas with me. I'm working on this right now and if I succeed I'll push these.

@Saijin-Naib
Copy link
Contributor

Oof... We might have to start with a dependency tree and highlight libs that you are having issues with.

@pierotofy
Copy link
Member

Ceres is an optional dependency in OpenMVS and doesn't affect ODM (it's used in a module we don't use), set OpenMVS_USE_CERES OFF?

@Saijin-Naib
Copy link
Contributor

Where do we use Ceres? WebODM toolchain only?

@acsgn95
Copy link
Author

acsgn95 commented Feb 2, 2024

Where do we use Ceres? WebODM toolchain only?

We are using ceres for opensfm...

@acsgn95
Copy link
Author

acsgn95 commented Feb 2, 2024

Oof... We might have to start with a dependency tree and highlight libs that you are having issues with.

That is super idea...

@acsgn95
Copy link
Author

acsgn95 commented Feb 8, 2024

I think, I am so close to solve problem. But, I have taken a problem about PoissonRecon. I didn't change anything about it but it gives me make error. @pierotofy @Saijin-Naib

@Saijin-Naib
Copy link
Contributor

Can you post the full build log?

@acsgn95
Copy link
Author

acsgn95 commented Feb 9, 2024

build.log
This is the full build log... @Saijin-Naib @pierotofy
Also, it has a problem about opencv

@smathermather
Copy link
Contributor

@acsgn95 -- do you have a fork I can test?

@acsgn95
Copy link
Author

acsgn95 commented Feb 19, 2024

@acsgn95 -- do you have a fork I can test?

Not yet. But it will be

@acsgn95
Copy link
Author

acsgn95 commented Feb 20, 2024

If I can the solve the problem which downside, It will happen. I am installing succesfully but I cannot start the process.
@pierotofy @smathermather @Saijin-Naib

Traceback (most recent call last): File "/home/ahmet/ODM___/run.py", line 15, in <module> from opendm.utils import get_processing_results_paths, rm_r File "/home/ahmet/ODM___/opendm/utils.py", line 5, in <module> from opendm.photo import find_largest_photo_dims File "/home/ahmet/ODM___/opendm/photo.py", line 19, in <module> from opensfm.sensors import sensor_data File "/home/ahmet/ODM___/SuperBuild/install/bin/opensfm/opensfm/__init__.py", line 6, in <module> from opensfm import pybundle ImportError: /home/ahmet/ODM___/SuperBuild/install/bin/opensfm/opensfm/pybundle.cpython-38-x86_64-linux-gnu.so: undefined symbol: cudaMemcpyAsync

Also ceres installation conf's -DCUDA is ON
My CUDA version is 11.7

@acsgn95
Copy link
Author

acsgn95 commented Feb 21, 2024

Any update? I couldn't found @smathermather @pierotofy @Saijin-Naib @mojodna

@smathermather
Copy link
Contributor

Be gentle on timing here. One message is enough. People are likely doing other things, and responses may take time.

It's much harder for me to troubleshoot through your logs. If you have a fork and branch I can test, that is the easiest way for me to understand what is happening. Thanks for working on this and updating.

@acsgn95
Copy link
Author

acsgn95 commented Feb 21, 2024

@smathermather I apologize if I was misunderstood. My intention was not to reproach or offend you. I just wanted to keep communication strong. Okey, I am waiting and working on this topic. Also, I will share the fork for testing

@smathermather
Copy link
Contributor

No worries. Very happy for the energetic approach.

@acsgn95
Copy link
Author

acsgn95 commented Feb 28, 2024

The main branch of mapilliary/opensfm is support ceres.solver.2.1.0. I tried install it inside ODM. And, I changed some python scripts from ODM/opensfm. I have taken a problematical orthophoto

@acsgn95
Copy link
Author

acsgn95 commented Feb 28, 2024

Actually, There is a speed up with ceres solver 2.1 with 20 percentage. In reconstruction stage

@Saijin-Naib
Copy link
Contributor

Oooh, that is awesome!

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

No branches or pull requests

4 participants