BundleFusion
BundleFusion copied to clipboard
Kinect XBOX One doesnt work
I have tested it on Kinect One but it doesn't work properly. DirectX window is black and not responsing. Found out the code, it stucks at this line:
while (hr != S_OK) hr = m_pMultiSourceFrameReader->AcquireLatestFrame(&pMultiSourceFrame);
Line 41, KinectOneSensor.cpp
m_pMultiSourceFrameReader->AcquireLatestFrame(&pMultiSourceFrame) always return E_PENDING
It is not stucked at this line, you can add break point later than that loop.
@willfu Have you enabled KinectOne compilation flag?
I have the same problem, it seem that it only capture once.
Any idea?
hello I try with Kinect one, and the command window stucked after running. My graphic card is gtx 960m. Do you have any progress? I can run with sens file after ignoring "cuda out ot memory" error. But I cannot run it with Kinect one nor realsense r200.
In my project, it stuck at line "ConditionManager::waitBundlerProcessedInput(ConditionManager::Recon);" in OnD3D11FrameRender.
@dave101326 Hi, have you solved the problem? I meet the similar problem as your picture shows, then my comment show the error——cudaSafeCall() Runtime API error 74: misaligned address. Could you give me some suggestions? Thanks a lot.
@Jaiy Update your video card or decrease parameters in zParametersDefault.txt.For example, increase the size of voxelsize.
@yaoy908 Hi, when I increase the size of the voxelsize, the error above is not disappeared, the command window still stucked after running. If I use the CUDA 7.0, when I build the solution, it will meet many error like:"too many characters in constant", have you meet the problem?can you run the project successfully with the Kinect one? Have you solve the problem? Or can you run successfully with other device? Thank you for replying!
@Jaiy I modify the sensfilereader class, to read my images from kinect, so I didn't try it with realtime-running.On my pc, kinectonesensor cannot work well. You can modify it, but my pc cannot affort a good fps with realtime-running, so I choose to read images from disk.
Hello everyone
I'm using an old Kinect (s_sensorIdx = 0) on windows.
I got stuck at this error: d:...\bundlefusion-master\friedliver\source\depthsensing\MarchingCubesSDFUtil.h(58) : cudaSafeCall() Runtime API error 2: out of memory.
The DirectX window doesn't pop up.
The problem occurs at MarchingCubesSDFUtil.h, line 58
Does anyone have an idea on how to get around this error please?
===SOLVED ========================================================== Reducing s_marchingCubesMaxNumTriangles in zParametersDefault.txt did the trick. I guess my gpu memory couldn't handle the default 3000000 maxtriangles.
Hope this helps.
@yaoy908 Hi, thanks for your kind help, I have solve the problem by changing the CUDA version, it's strange, but it did work. Thanks again!
@Jaiy Could be a bit more specific as to what you did to make it work with the Kinect One?
@Jaiy Which version of CUDA did you work with?
I run the FriedLiver.exe successfully at the first, but it stuck just a moment. I use the Kinect V1 for Xbox 360 to test FriedLiver.exe. My platform is windows10, CUDA 8.0. How did you test the application successfully in the past? Could you tell me how to do?
I also tested my Kinect V2 (for XBox One) under the FriedLiver.exe, but it still stuck at the moment. So I have tested both kinds of Kinect and the FriedLiver stuck at the two conditions. Are there anybody able to help me to solve this tough issue?
@tansangxtt I met the same problem as yours. Also got stuck at while (hr != S_OK) hr = m_pMultiSourceFrameReader->AcquireLatestFrame(&pMultiSourceFrame);
Have you solved this problem?
@quanqhow Have you figured out the issue? I got exactly the same problem.
@junweiy2012 Sorry, I haven't solved this issue. Have you figured out some solutions?
@quanqhow try by commenting out the use_multi_thread option in GlobalAppState file. It works for me after commenting it out. I don't know why though. For Kinect v2, I still can't get it work. Let me know if you can get Kinect v2 work.
Hello, I'm currently trying to make this bundlefusion project work with KinectOne or Kinect v2 (since it seems not to work with structure sensor atm) but whichever I tried I got stuck with
would you have any clue why ?
@nicole-antoine hi, I got the same error. I have struggle several days to compile this project, and it succeed but fail to run. And i guess the reason is the CUDA compile parameter doesn't match you GPU. Change you CUDA compile parameter for a try. but i did't know if it works.
@WuYingzheng are you talking about these lines ?
<ImportGroup Label="ExtensionSettings">
<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 8.0.props" />
</ImportGroup>
@nicole-antoine no, I'm talking about CUDA setting in you MS-VS . Right click you project ,select property, then you will see the cuda settings. sorry, I am currently working in ubuntu os, can't show you a screen shot of vs.
@WuYingzheng I see what you mean though there's no many parameters I can modify like command line or code generation but I think it's unlikely to work, did it do the job for you ?
@nicole-antoine NO. My GPU is GeForce GTX 650, and cuda parameter is compute_30 sm_30.
@WuYingzheng Alright I changed compute_/sm_(35) to 30 and it did the trick thank you. Now I'm at the same step as @quanqhow was, it gets stuck after several frames. I tried as @junweiy2012 suggested by commenting "RUN_MULTITHREADED", the program isn't stuck anymore but the window becomes black after displaying the same number of frame.
I solved the "out of memory" error with changing parameters s_hashNumBuckets and s_hashNumSDFBlocks with smaller numbers. You can try this. My GPU is gtx 1050ti.
i have a solutions that works for me with RUN_MULTITHREADED In DepthSensing.cpp line 987 replace bGotDepth = g_CudaImageManager->process() with bool bGotDepth; while (!(bGotDepth = g_CudaImageManager->process()));
The problem that i investigated was that the kinect one provides 30fps max. If the frame is not ready to fetch, pDepthFrameReference->AcquireFrame returns a FAIL. This causes a dead lock in the process lock management. The while loops forces the CALLBACK to wait untill a new frame is available. Hope this helps.
@lmlodda Which version of CUDA, Visual Studio, Windows did you achieve that Kinect v2 work with? I am trying some things said in this post, included your suggestion, and the program doesn't work.