NVlabs / instant-ngp

Instant neural graphics primitives: lightning fast NeRF and more
https://nvlabs.github.io/instant-ngp
Other
15.94k stars 1.92k forks source link

colmap fails on colmap2nerf.py when conda installed #1088

Open abubake opened 1 year ago

abubake commented 1 year ago

When using a conda environment for ngp, if colmap is installed via conda and attempted to estimate poses, this error is received

*** Aborted at 1669242760 (unix time) try "date -d @1669242760" if you are using GNU date *** PC: @ 0x0 (unknown) *** SIGSEGV (@0x7fc0d31cd418) received by PID 268046 (TID 0x7fc2ad7ea000) from PID 18446744072956466200; stack trace: *** @ 0x7fc368082197 google::(anonymous namespace)::FailureSignalHandler() @ 0x7fc366643420 (unknown) @ 0x55c8246b1335 _ZSt16__introsort_loopIP16_VlCovDetFeaturelN9__gnu_cxx5__ops15_Iter_comp_iterIZN6colmap31ExtractCovariantSiftFeaturesCPUERKNS5_21SiftExtractionOptionsERKNS5_6BitmapEPSt6vectorINS5_15FeatureKeypointESaISD_EEPN5Eigen6MatrixIhLin1ELin1ELi1ELin1ELin1EEEEUlRKS0_SM_E_EEEvT_SP_T0_T1_ @ 0x55c8246b6688 colmap::ExtractCovariantSiftFeaturesCPU() @ 0x55c82469375c colmap::internal::SiftFeatureExtractorThread::Run() @ 0x55c8247f636e colmap::Thread::RunFunc() @ 0x7fc366536a93 execute_native_thread_routine @ 0x7fc366637609 start_thread @ 0x7fc3661f5133 clone @ 0x0 (unknown) Segmentation fault (core dumped) FATAL: command failed

ogradyso commented 1 year ago

The seg fault at the end makes me think that COLMAP either ran out of memory or expected data types to be of a certain size. How long did it run between issuing the command and receiving this error? Have you tried installing COLMAP from source in your intant-ngp top level directory and pointing your env path to that version?

It is possible that the COLMAP conda installs is an older version than the colmap2nerf.py expects. I don't see any version requirements in the colmap2nerf.py file. If you want to dig into the code, you could throw the colmap2nerf.py file in a debugger/IDE and see if you can track the issue. My hunch is that it will be an issue with COLMAP, but if you find a neat bug in the colmap2nerf.py file you could make a pull request.

abubake commented 1 year ago

It ran for about a minute before the error was received. I have tried installing COLMAP from source but have ran into a different error when I get to "cmake .." in the install process. However cmake functions fine for the rendering of the fox head instant-nerf, but my intuition is that there is some issue with cmake in relation to cuda.

Looking into the version requirement is a good idea, I'll try that an see what happens.