Closed AndreiBarsan closed 7 years ago
May be worth implementing #19 first to simplify the bookkeeping.
I implemented #19 and, together with it, added full support for voxel gc, complete with correct block freeing and recycling. Everything is done, except the dedicated GUI button, which is low-priority and should be a different issue anyway.
It seems that much of the noisy voxels in the reconstruction which stem from the noise in the depth estimation can be singled out by looking at their weight. In the following image, red areas correspond to voxels with weight = 1, i.e., which were only "seen" once:
The blue voxels are those with the maximum allowed weight (in our case, just 10, since the camera is moving quite quickly; the original InfiniTAM had ~100).
A quick and dirty solution would be to simply not render low-weight voxels, but that would also require modifications to the mesh generation algorithm.A better solution would be to (efficiently) trim all voxels with age > k but weight < l, effectively regularizing the resulting reconstruction. This is what I'll be implementing in the end.
Subtasks: