openphotogrammetry / colmap-cl

COLMAP-CL: An OpenCL implementation of COLMAP photogrammetry
68 stars 9 forks source link

Stereo phase crashes on Intel HD4600 iGPU #2

Open revisionarian opened 3 years ago

revisionarian commented 3 years ago

An experienced COLMAP user reports that COLMAP-CL is crashing at the the beginning of the stereo phase when the GPU list includes their Intel HD4600 iGPU. It crashes even with very small input images (max_image_size of 100). Their desktop system is Windows 10 with an Intel i7, HD4600 iGPU, and NVIDIA RTX 2060. COLMAP-CL runs fine if only the NVIDIA GPU is specified without the iGPU.

If run from the GUI, the crash outputs nothing relevant to the logs. When run from the command line, the crash occurs along with an output message, "QObject::~QObject: Timers cannot be stopped from another thread".

dtourolle commented 3 years ago

It also crashes with an Radeon 5700XT, I didn't run through the command line but it's at the same point in the code.

revisionarian commented 3 years ago

Thanks for the bug report, @dtourolle. Just to clarify, it sounds like you were running COLMAP-CL from the GUI, probably using the "Automatic reconstruction" dialog, and the feature extraction, feature matching, and bundle adjustment steps completed successfully, and then the program crashed right at the beginning of the patch_match_stereo phase...is that right?

I'm sorry the software isn't working on your Radeon 5700XT. If you'd be willing to post or send your clinfo output with your OpenCL configuration, that would help us debug the problem (clinfo is available at the bottom of this page).

wilcoboode commented 3 years ago

Hi,

I am experiencing the issue as well. I was hoping Colmap-CL could help me out, as I am running an AMD 5700XT as well, and OpenCL support for photogrammetry software is just barely available 😢.

I tried to run the Automatic Reconstruction option via the GUI, and almost immediately get the "Timers cannot be stopped from another thread" error. This seems to happen during the Feature Mapping function, as this is the last command i see in the Log, and the same error appears when I manually run Feature Mapping from the Command Line.

I tried running as administrator, and already used powershell to apply the GPU Freeze Fix from the colmap website.

This is my clinfo file. clinfo.txt

I hope this info can help you out in a way.

revisionarian commented 3 years ago

Hi @wilcoboode, thanks a lot for your informative bug report concerning COLMAP-CL crashing on your 5700XT. A number of users with AMD cards based on the RDNA microarchitecture (such as your 5700XT) have reported similar problems. We've done most of our testing on older GCN-based AMD cards, so we still need to figure out what is going wrong on the newer cards.

wilcoboode commented 3 years ago

Hi @wilcoboode, thanks a lot for your informative bug report concerning COLMAP-CL crashing on your 5700XT. A number of users with AMD cards based on the RDNA microarchitecture (such as your 5700XT) have reported similar problems. We've done most of our testing on older GCN-based AMD cards, so we still need to figure out what is going wrong on the newer cards.

Good to know, thank you for the explanation. If you need testers, feel free to send me a DM if needed to test it on the 5700xt

revisionarian commented 3 years ago

Hello again @wilcoboode, we were able to reproduce the bug that you reported in the feature matching phase of COLMAP-CL on an AMD RDNA card, and we've released a new version of the code with a bug fix ((COLMAP-CL 1.2). If you give it a try, please let us know if it works for you, and thanks for your feedback!

wilcoboode commented 3 years ago

Hello again @wilcoboode, we were able to reproduce the bug that you reported in the feature matching phase of COLMAP-CL on an AMD RDNA card, and we've released a new version of the code with a bug fix ((COLMAP-CL 1.2). If you give it a try, please let us know if it works for you, and thanks for your feedback!

Hi @revisionarian ,

I just ran version 1.2, and can confirm that it fully completed the reconstruction, and provided a model in its final output. For this test I ran the default settings, and made zero changes to the pipeline.

2 Points that stood out:

  1. Compared to my experience with Meshroom, the CPU & GPU seem to be quite under utilized. This might be my settings, I haven't worked with COLMAP before., 2.The output is not very clean, I had better results with Meshroom, although again, again this can be due to my lack of Colmap experience as I havent changed any settings.

I dont have time for an in-depth look at the moment, but might try to a comparison run between Meshroom and Colmap-CL when I have time to.

Attached you will find the Settings (basically the default settings), A photo of the scanned object, and a screenshot of the output model. The only photos I had on hand right now weresome I used for a low-quality test, so the input quality wasnt amazing.

ExampleImage

YodaSettings.txt

YodaReconstructionColmap12

3D-360 commented 3 years ago

wilcoboode, I am glad that you got our code to work, but the result is obviously garbage. Here are some suggestions that should produce a much better result:

Good luck!

PS: We may have an enhanced version of Meshroom (we call it MeshroomCL) in a week or two.