OpenDroneMap / ODM

A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷
https://opendronemap.org
GNU Affero General Public License v3.0
4.91k stars 1.11k forks source link

Updating the OpenSfM and ceres #1745

Open acsgn95 opened 9 months ago

acsgn95 commented 9 months ago

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 commented 9 months ago

Our forks have a lot of patches.

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

pierotofy commented 9 months ago

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

acsgn95 commented 9 months ago

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 commented 9 months ago

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

pierotofy commented 9 months ago

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 commented 9 months ago

Where do we use Ceres? WebODM toolchain only?

acsgn95 commented 9 months ago

Where do we use Ceres? WebODM toolchain only?

We are using ceres for opensfm...

acsgn95 commented 9 months ago

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

That is super idea...

acsgn95 commented 9 months ago

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 commented 9 months ago

Can you post the full build log?

acsgn95 commented 9 months ago

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

smathermather commented 9 months ago

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

acsgn95 commented 9 months ago

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

Not yet. But it will be

acsgn95 commented 9 months ago

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 commented 9 months ago

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

smathermather commented 9 months ago

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 commented 9 months ago

@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 commented 9 months ago

No worries. Very happy for the energetic approach.

acsgn95 commented 8 months ago

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 commented 8 months ago

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

Saijin-Naib commented 8 months ago

Oooh, that is awesome!