niessner / voxelhashing Goto Github PK
View Code? Open in Web Editor NEW[Siggraph Asia 2013] Large-Scale, Real-Time 3D Reconstruction
License: Other
[Siggraph Asia 2013] Large-Scale, Real-Time 3D Reconstruction
License: Other
Application crashes on release mode configuration in some seemingly random part of code (sometimes ml::Timer::getTime(), sometimes dynamic initializer of std::cout) during application initialization.
Tested on Intel Xeon X5650
Disabling AVX instructions (setting Project Settings > C/C++ > Code Generation > Enable Enhanced Instruction Set to "Not Set") seems to resolve this problem.
Compiling with vs15 requires adding the library legacy_stdio_definitions.lib, otherwise the linker does not find _vsnwprintf. Maybe this should be mentioned somewhere.
When I read the code, I had a question about the code in the line 791 in VoxelUtilHashSDF.h
prev.offset = curr.offset;
As long as I am concered, in this part, you want the previous hash entry to point to the next and next hash entry so that you skip the current entry to delete it from the linked list.
So in my view the code should be like
prev.offset += curr.offset;
for example, the offset
of previous entry is 1 and it points to current entry which one we want to delete and the offset
of the current entry is 2 which points to the next valid entry then we need to fix the offset
of the previous entry to 3 so that we can skip the current entry and point it to the next valid entry.
That's what I think, I am not sure if I get the right understanding of your code, I hope you can make it clear to me. THX!
I have been reading the code and got confused with the code in insertHashEntry
inside VoxelUtilHashSDF.h
To execute an atom operation, the code writes
int prevWeight = 0;
uint* d_hashUI = (uint*)d_hash;
prevWeight = prevWeight = atomicCAS(&d_hashUI[3*idxLastEntryInBucket+1], (uint)FREE_ENTRY, (uint)LOCK_ENTRY);
As far as I concern, this code is aimed at converting the HashEntry*
to uint*
and lock the offset
at the selected entry. However, the struct is 32 bytes long, hence the lock place should be d_hashUI[8 * idxLastEntryInBucket + 4]
or d_hashUI[(3 << idxLastEntryInBucket) + 4]
This incorrect lock operation might not significantly influence the result, but could cause minor read-write inconsistency.
I'm sorry to bother you, I am a college student.I saw your project "VoxelHashing - master" on gitbub and I 'm very interested in this project , so I try to debug it. Finally,I run it successfully, but I can only do the 3D scene reconstruction, cannot do match it with the database . Could you please tell me how to match? I would appreciate if you could help me~~
When I press play in the ".xef" video on kinect Studio 2.0. I get the following error on the command window:
depthsensingcuda\source\DX11RGBRenderer.h (132) : cudaSafeCall() Runtime API error 10: invalid device ordinal
This may be because I am using DX12?
My setup is:
May someone help me? Thanks in advance
Hi, there. I met a problem that failed creating the Direct3D Device, and my OS IS Windows 10.
Hi,
I am getting a cudaSafeCall() Runtime API error 77: an illegal memory access was encountered error after like 4 5 seconds of scan in the CUDA project. Do you have any ideas why it might be?
I am using KinectOne (the new Kinect) with NVIDIA Quadro K4200 GPU on Visual Studio 2012, Windows 10.
Thanks,
Ahsan
I tried running this on a labtop. Some voxel blocks flash upfor a few frames, then the display driver crashes and the application enters the while(1);
tracking lost loop (which is somewhat hard to figure out because the program seems to just hang).
I think there should be another message when the display driver is lost ("D3D11: Removing Device.") and when the tracking is lost, maybe just overlay some text in the graphical output and or show a message in the console repeatedly.
Hi,
When I'm trying to start the CUDA version of this application I'm getting Unhandeld Exception at line 93 (and 92) in KinectSensor.cpp (DepthSensing.exe!KinectSensor::createFirstConnected() Line 93 C++).
Any idea how to fix that?
I'm using Windows 10 and GTX 960M (it does support CUDA, non-CUDA version of Voxel Hashing failes to create D3D device)
Thank you in advance
EDIT: I'm using Kinect v2 and in the .txt files with settings I've changed sensor ID's to Kinect v2
I am trying to use the project for the reconstruction, but reconstruction is not working in the above mentioned graphics card but the same project is working in the Intel(R) HD Graphics 520 machine. is there anything i am missing, do i need to configure anything in the GPU machine before i use this project?
I am using VoxelHash with a Geforce965M and a Kinect V1. The camera is fixed on the desk so the scene is just the wall opposite my desk with another desk and chair in the scene. The scene is one frustum and is pretty small. A sample timing snapshot is
Total Time Filter Color: 0.204405
Total Time Filter Depth: 1.21188
Total Time RGBD Adapter: 1.15558
Total Time RayCast: 39.6679 <--- Look here
Total Time Compactify Hash: 1.15764
Total Time Alloc: 0.35257
Total Time Integrate: 0.358649
Obviously the rayCasting is taking the most time by far. There is code to implement splatting of some sort in the ray caster. Splatting is a fast way to render a lot of voxels. Perhaps the original authors tried this approach and either gave it up or ran out of time. Currently in VoxelHash the rayIntervalSplatting isn't being called but the code is still there.
How far was this taken and am I right in thinking that it was coded to address the rayCasting speed?
Scott
Hey I have not been able to get this running, I have Win 10 and VS 2015 , I get the error about DX SDK ,
This has some more info
https://social.msdn.microsoft.com/Forums/en-US/ca03a834-1108-4767-b19c-773cfd8a47e5/is-dxsdkverh-header-file-missing-from-the-windows-sdk-as-of-8-and-81?forum=windowssdk
. I am not a strong coder, but love what to have made here.
Andy.
I find that transformations may differ with same code and same prrameters.
But not everytime.
Does anyone meet this problem?
I'm running on Win10 VS2013
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.