BundleFusion icon indicating copy to clipboard operation
BundleFusion copied to clipboard

Kinect XBOX One doesnt work

Open tansangxtt opened this issue 7 years ago • 50 comments

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

tansangxtt avatar Aug 17 '17 09:08 tansangxtt

m_pMultiSourceFrameReader->AcquireLatestFrame(&pMultiSourceFrame) always return E_PENDING

tansangxtt avatar Aug 17 '17 09:08 tansangxtt

It is not stucked at this line, you can add break point later than that loop.

willfu avatar Aug 19 '17 21:08 willfu

@willfu Have you enabled KinectOne compilation flag?

tansangxtt avatar Sep 04 '17 07:09 tansangxtt

I have the same problem, it seem that it only capture once.

Any idea?

default

dave101326 avatar Oct 27 '17 09:10 dave101326

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.

yaoy908 avatar Nov 09 '17 03:11 yaoy908

In my project, it stuck at line "ConditionManager::waitBundlerProcessedInput(ConditionManager::Recon);" in OnD3D11FrameRender.

yaoy908 avatar Nov 09 '17 07:11 yaoy908

@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 avatar Dec 01 '17 01:12 Jaiy

@Jaiy Update your video card or decrease parameters in zParametersDefault.txt.For example, increase the size of voxelsize.

yaoy908 avatar Dec 04 '17 01:12 yaoy908

@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 avatar Dec 04 '17 02:12 Jaiy

@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.

yaoy908 avatar Dec 04 '17 16:12 yaoy908

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.

afbeelding

The problem occurs at MarchingCubesSDFUtil.h, line 58 afbeelding

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.

ljilekor avatar Dec 06 '17 23:12 ljilekor

@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 avatar Dec 07 '17 01:12 Jaiy

@Jaiy Could be a bit more specific as to what you did to make it work with the Kinect One?

carstenschwede avatar Dec 14 '17 21:12 carstenschwede

@Jaiy Which version of CUDA did you work with?

CDElite avatar Jan 18 '18 08:01 CDElite

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? image

quanqhow avatar Mar 23 '18 14:03 quanqhow

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?

quanqhow avatar Mar 24 '18 12:03 quanqhow

@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?

junweiy2012 avatar Mar 29 '18 00:03 junweiy2012

@quanqhow Have you figured out the issue? I got exactly the same problem.

junweiy2012 avatar Mar 29 '18 21:03 junweiy2012

@junweiy2012 Sorry, I haven't solved this issue. Have you figured out some solutions?

quanqhow avatar Mar 30 '18 02:03 quanqhow

@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.

junweiy2012 avatar Mar 30 '18 03:03 junweiy2012

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 image

would you have any clue why ?

nicole-antoine avatar Jun 19 '18 15:06 nicole-antoine

@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 avatar Jun 19 '18 15:06 WuYingzheng

@WuYingzheng are you talking about these lines ?

<ImportGroup Label="ExtensionSettings">
   <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 8.0.props" />
 </ImportGroup>

nicole-antoine avatar Jun 20 '18 02:06 nicole-antoine

@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 avatar Jun 20 '18 02:06 WuYingzheng

@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 avatar Jun 20 '18 02:06 nicole-antoine

@nicole-antoine NO. My GPU is GeForce GTX 650, and cuda parameter is compute_30 sm_30.

WuYingzheng avatar Jun 20 '18 15:06 WuYingzheng

@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.

nicole-antoine avatar Jun 23 '18 08:06 nicole-antoine

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.

yasinalm avatar Jul 13 '18 15:07 yasinalm

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 avatar Jul 31 '18 20:07 lmlodda

@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.

farray81 avatar Feb 27 '19 13:02 farray81