fangget / bundlefusion_ubuntu_pangolin Goto Github PK
View Code? Open in Web Editor NEWa porting for BundleFusion working on ubuntu, with Pangolin as visualizer
License: Other
a porting for BundleFusion working on ubuntu, with Pangolin as visualizer
License: Other
compilation terminated.
CMake Error at BundleFusion_generated_SolverBundling.cu.o.Release.cmake:216 (message):
Error generating
/home/predator/Desktop/3D_reconstruction/BundleFusion_Ubuntu_Pangolin/build/CMakeFiles/BundleFusion.dir/src/Solver/./BundleFusion_generated_SolverBundling.cu.o
make[2]: *** [CMakeFiles/BundleFusion.dir/build.make:2514: CMakeFiles/BundleFusion.dir/src/Solver/BundleFusion_generated_SolverBundling.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
error: ‘struct pangolin::GlBufferCudaPtr’ has no member named ‘Free’
vertex_array_global->Free();
这个报错不知道是否和Pangolin的版本相关,请问您的pangolin用的是哪个版本的呢?或者您知道该如何解决这个问题吗?
And I wanna know how to save the Trajetory data like TUM?
I've found this function:
void StopScanningAndExit ( bool aborted = false )
In this function, I saw the "write trajectory"
{ //write trajectory
const std::string saveFile = GlobalAppState::get().s_binaryDumpSensorFile;
std::vector trajectory;
g_bundler->getTrajectoryManager()->getOptimizedTransforms ( trajectory );
numValidTransforms = PoseHelper::countNumValidTransforms ( trajectory );
numTransforms = ( unsigned int ) trajectory.size();
if ( numValidTransforms < ( unsigned int ) std::round ( 0.5f * numTransforms ) ) valid = false; // not enough valid transforms
std::cout << "#VALID TRANSFORMS = " << numValidTransforms << std::endl;
( ( SensorDataReader* ) g_RGBDSensor )->saveToFile ( GlobalAppState::get().s_binaryDumpSensorFile + "sequence.sens", trajectory ); //overwrite the original file
}
So I just put the " ( ( SensorDataReader* ) g_RGBDSensor )->saveToFile ( GlobalAppState::get().s_binaryDumpSensorFile + "sequence.sens", trajectory ); //overwrite the original file" in BundleFusion.cpp . In line 368. The project just run one frame.
I really hope you can give me some suggestions!
Hi, I got a problem when executing make -j8. The outputs are as below:
uj@uj:~/work/ViewCode/BundleFusionUbuntu/build$ make -j8
[ 1%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_SIFTImageManager.cu.o
[ 3%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_PangolinOutputWrapper.cu.o
[ 7%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_ProgramCU.cu.o
[ 7%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_OnlineBundler.cu.o
[ 9%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_CUDASiftConstant.cu.o
[ 11%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/Solver/BundleFusion_generated_SolverBundling.cu.o
[ 12%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_CUDAImageUtil.cu.o
[ 14%] Building NVCC (Device) object CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_CUDACache.cu.o
CMake Error at BundleFusion_generated_ProgramCU.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/SiftGPU/./BundleFusion_generated_ProgramCU.cu.o
CMake Error at BundleFusion_generated_SIFTImageManager.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/SiftGPU/./BundleFusion_generated_SIFTImageManager.cu.o
CMake Error at BundleFusion_generated_PangolinOutputWrapper.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/./BundleFusion_generated_PangolinOutputWrapper.cu.o
CMakeFiles/BundleFusion.dir/build.make:63: recipe for target 'CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_ProgramCU.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_ProgramCU.cu.o] Error 1
make[2]: *** 正在等待未完成的任务....
CMakeFiles/BundleFusion.dir/build.make:98: recipe for target 'CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_PangolinOutputWrapper.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_PangolinOutputWrapper.cu.o] Error 1
CMakeFiles/BundleFusion.dir/build.make:77: recipe for target 'CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_SIFTImageManager.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_SIFTImageManager.cu.o] Error 1
CMake Error at BundleFusion_generated_OnlineBundler.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/./BundleFusion_generated_OnlineBundler.cu.o
CMakeFiles/BundleFusion.dir/build.make:175: recipe for target 'CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_OnlineBundler.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_OnlineBundler.cu.o] Error 1
CMake Error at BundleFusion_generated_CUDASiftConstant.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/SiftGPU/./BundleFusion_generated_CUDASiftConstant.cu.o
CMake Error at BundleFusion_generated_SolverBundling.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/Solver/./BundleFusion_generated_SolverBundling.cu.o
CMake Error at BundleFusion_generated_CUDACache.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/./BundleFusion_generated_CUDACache.cu.o
CMakeFiles/BundleFusion.dir/build.make:70: recipe for target 'CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_CUDASiftConstant.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/SiftGPU/BundleFusion_generated_CUDASiftConstant.cu.o] Error 1
CMakeFiles/BundleFusion.dir/build.make:84: recipe for target 'CMakeFiles/BundleFusion.dir/src/Solver/BundleFusion_generated_SolverBundling.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/Solver/BundleFusion_generated_SolverBundling.cu.o] Error 1
CMake Error at BundleFusion_generated_CUDAImageUtil.cu.o.cmake:203 (message):
Error generating
/home/uj/work/ViewCode/BundleFusionUbuntu/build/CMakeFiles/BundleFusion.dir/src/./BundleFusion_generated_CUDAImageUtil.cu.o
CMakeFiles/BundleFusion.dir/build.make:105: recipe for target 'CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_CUDACache.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_CUDACache.cu.o] Error 1
CMakeFiles/BundleFusion.dir/build.make:91: recipe for target 'CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_CUDAImageUtil.cu.o' failed
make[2]: *** [CMakeFiles/BundleFusion.dir/src/BundleFusion_generated_CUDAImageUtil.cu.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/BundleFusion.dir/all' failed
make[1]: *** [CMakeFiles/BundleFusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Is the problem from gpu?
I have compiled opencv, eigen and pangolin successfully.
The environments of my PC(ubuntu16.04) is as following:
uj@uj:~/work/ViewCode/BundleFusionUbuntu/build$ nvidia-smi
Wed Sep 30 09:22:31 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 105... Off | 00000000:09:00.0 On | N/A |
| 0% 45C P8 ERR! / 90W | 246MiB / 4030MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1118 G /usr/lib/xorg/Xorg 199MiB |
| 0 2470 G compiz 42MiB |
| 0 3096 G /usr/lib/firefox/firefox 1MiB |
+-----------------------------------------------------------------------------+
uj@uj:~/work/ViewCode/BundleFusionUbuntu/build$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
uj@uj:~/work/ViewCode/BundleFusionUbuntu/build$ gcc --version
gcc (GCC) 7.3.0
Copyright © 2017 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
uj@uj:~/work/ViewCode/BundleFusionUbuntu/build$ g++ --version
g++ (GCC) 7.3.0
Copyright © 2017 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
When I use this code to run my own data, as new parts are reconstructed, the earlier reconstructed parts of the scene keep disappearing. The final reconstructed scene is only a small part of the whole scene.
Is this caused by the code, my own data, or the parameter setting? How can I solve this problem?
Looking forward to your reply, thank you very much!
hi,professor:
i use your code in jetson nano, compile and run all ok!, but the window can't show mesh, how can i resolve it? PLASE HELP ME!
Hi!
I have built this project successfully. When I run it, sometimes it goes well. But it may output segmentation fault after processing about 200 frames. The error message is that:
terminate called after throwing an instance of 'ml::MLibException' what(): copyCacheFrameFrom:26: invalid argument:copyCacheFrameFrom
Segmentation fault (core dumped)
How to fix this bug?
In
When I run cmake .. -DVISUALIZATION=OFF
and make
, then run
bundle_fusion_example, there are no errors, but no visualization.
Rebuild cmake .. -DVISUALIZATION=ON
, make
and run bundle_fusion_example,
an error occurs:
BundleFusion_Ubuntu_Pangolin/src/SiftGPU/SiftPyramid.cpp(387) : cudaSafeCall() Runtime API error 700: an illegal memory access was encountered.
How can I fix this?
After I finished all the images data, then I clik the "saveMesh" button on the pangolin window, but I encounter the follow problem " [1] + Done "/usr/bin/gdb" --interpreter=mi --tty=${DbgTerm} 0<"/tmp/Microsoft-MIEngine-In-knhbzn1w.k1l" 1>"/tmp/Microsoft-MIEngine-Out-52ts0jac.tk7" ". I don't know why, even though I test the official dataset, I would face this problem. Is there anybody who faced the same problem with me? If you did, please give me some suggestions.
hi,professor:
i run your project code on jetson xavier nx, can show mesh successful, but i mentioned that the mesh gpu always grew up, why? please help me!
Hi, I wonder if you have also noticed that the mesh data in BundleFusion's official dataset are like six times larger than those generated by your code. For example, the size of office2.ply
in https://graphics.stanford.edu/projects/bundlefusion/
is 300MB while the size of office2.ply
you offered in google drive is 50MB.
In the aspect of visualization, the code is good enough to use. But I got some trouble in https://github.com/chaowang15/plane-opt-rgbd
. Only when i used the official mesh model can i got the correct result.
In addition, I tried this in Win10's BundleFusion(official code) and got 50MB `office2.ply``` too. So i just want to discuss the situation with you.
Hope you'll offer me some new ideas, thanks.
fatal error: PangolinOutputWrapper.h: 没有那个文件或目录
#include <PangolinOutputWrapper.h>
When I run the run_docker.sh with the dataset named office3 , I got a Exception like this
frame-000000
bundling process input! Frame[0]
processInput time cost = 0.00140446 seconds.
depthSensing time cost = 0.00080369 seconds.
total time cost = 0.00228499 seconds.
Success! frame frame-000000 added into BundleFusion.
frame-000001
bundling process input! Frame[1]
processInput time cost = 0.00240118 seconds.
depthSensing time cost = 0.000523138 seconds.
total time cost = 0.00301199 seconds.
Mesh generation time 1.88351e-05 seconds
Success! frame frame-000001 added into BundleFusion.
frame-000002
=============================================
== Triangle Size: 36416
=============================================
bundling process input! Frame[2]
processInput time cost = 0.00226638 seconds.
depthSensing time cost = 0.000549047 seconds.
total time cost = 0.00288746 seconds.
Success! frame frame-000002 added into BundleFusion.
frame-000003
terminate called after throwing an instance of 'ml::MLibException'
what(): process:46: an illegal memory access was encountered:process
I don't know the reason and hope for your reply.
THANKS!
Hi, thanks for the great job.
I can't build successfully like this:
the environment is ubuntu16/GCC7 /opencv3.4/CUDA10.1.
please how to fix it ?? thanks a lot.
In member function ‘void float4x4::print() const’:
/home/wxh/software/BundleFusion_Ubuntu_Pangolin/include/SiftGPU/cuda_SimpleMatrixUtil.h:1199:305: warning: too many arguments for format [-Wformat-extra-args]
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/BundleFusion.dir/all' failed
make[1]: *** [CMakeFiles/BundleFusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
pls ,i have this problem, how to solve it?
Hello! Thanks for the great work!
As I run the program with visualization on, it runs slower and slower. It comes to my attention that the CUDAMarchingCubesHashSDF::extractIsoSurfaceGPUNoChrunk
function takes a lot of time (~500ms) to run, which makes the display slow.
Maybe update the model display in a incremental way instead of doing the entire marching cubes every time? Any ideas on how to improve?
Hi,
There's a header definition for render() in the CudaRayCastSDF.h but no implementation.
Have you had a chance perhaps to implement it?
Thank you!
i tried to install this twice (couple months apart) but each time i got some issues.
the first thing is to have cuda 10.1 driver (i think other versions work for this matter but i haven't tried), but while installing it use nvidia-470 driver and disable the driver installation in the runfile.
then, the important thing is to have pangolin here set to v0.6 (git checkout v0.6 after cloning recursively). and after successfully running make, do sudo make install. (otherwise you'd get struct pangolin::GlBufferCudaPtr’ has no member named ‘Free error)
FTR i did not install it for python (though i wouldn't think that'd break anything.)
also remember to check the problem described at the bottom of the readme page.
FTR i use gcc and g++ 7.5.0.
pCallbackFrameRender( pd3dDevice, pd3dImmediateContext, fTime, fElapsedTime, GetDXUTState().GetD3D11FrameRenderFuncUserContext() );
My program is stuck at the code in DXUT.cpp with windows10+cuda10+2080Ti and other said it is due to the high version of cuda.Since you have successed in migrating the bundlefusion from cuda 8.0 intn cuda 10.0 in Linux,i will appreciate it if you can tell me how to fix the problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.