Comments (5)
Not sure if anything has changed to address this issue specifically, but it doesn't appear to be happening in the current version so I will close this issue.
from infinitam.
Before I try reproducing it, I assume you are using the depth tracker (ICP) and not the colour tracker? If so, then only the intrinsic calibration of the depth camera is used and maybe the OpenNI internal conversion of disparities to depth values. Since this calibration of the depth sensor is used both for reconstruction and for tracking, it should not cause any drift, regardless of how wrong it is.
Also, we are not using OpenGL- or CUDA-related images anywhere, which are notorious for the +0.5 coordinate bugs. I doubt there is any such issue in the current implementation, though.
That leaves the last of the three ideas, the TSDF values. These values are not actually returned anywhere for tracking, but they are used for raycasting, and it might be that a small bias in the raycasting leads to the observed drift. This would be a nightmare to track down. I'd assume in this case the direction of drift would vary depending on the scene context. Could you try and verify this?
Of course it might also be something completely different. I might find a bit of time to look for the problem myself...
from infinitam.
I'm using the standard depth tracker (from a clean git clone/build) and OpenNI2 with an asus xtion pro.
I'm suspecting the third option, since I ran into something similar earlier when trying to port my own sdf-tracker to the InfTAM framework. I kept getting slight offsets on the values I was reading out from it when fusing/evaluating into/from the tsdf without applying any transformations and not moving the camera. I didn't keep probing because I assumed I was doing something wrong (some transposed index or something) since, as far as i understand, the Ren tracker uses the TSDF values directly, too. Maybe the robust loss function it uses has been set to throw away the offset points as outliers though? (just brainstorming here).
A way to verify it would be perhaps to:
- Get depth frame - d,
- fuse into volume
- convert d to vertex map p,
- query volume at p
the result should be zero within [numeric representation] precision.
If you do this, an example code snippet for how to do this would be helpful :)
from infinitam.
Tried a couple of different scenes
It seems to "prefer" drifting to the right, forward and down
Here I started with the camera rotated ca 90 degrees about the view direction to see if the result would be different.
but it still seems to go right, forward and down so I'm guessing it's something in image-space
from infinitam.
Hello, I have encountered the same problem. My problem is that the disparity parameters in calib.txt has not been replaced with a new sensor after the Azure kinect DK has been replaced. hope it can help you
from infinitam.
Related Issues (20)
- Supporting iPhone Depth Data
- from rgb to depth HOT 10
- Show nothing when running InfiniTAM.exe with files in Teddy HOT 5
- Multi-camera Application HOT 1
- FileBasedTracker doesnโt fuse the scene HOT 2
- How big is the voxel grid? HOT 1
- Saving 3D Reconstruction
- Python bindings HOT 6
- Azure Kinect Support HOT 1
- C1083 Cannot open include file: 'GL/glut.h': No such file or directory HOT 5
- Extracting the current VoxelGrid for an additional processing step HOT 1
- iterations algorithm HOT 1
- Python Buffer access to ITMLocalVBA HOT 1
- Cannot access the voxel blocks on device using Nsight VSE Debugger HOT 1
- ITMLocalVBA alone extractable as 3D Reconstruction? HOT 1
- cannot read images HOT 11
- Which version is the newest HOT 1
- Project doesn't build
- Does InfiniTAM support for MS Azure Kinect (soon)?
- Blensor Scans
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from infinitam.