This is my implementation of KillingFusion. What works well:-
- Full GUI to view displacement field, current RGBD frame and SDF's mesh using Marching Cubes.
- Data Energy Term - Video
- Data Energy and Motion Regularizer Term - Video
- LevelSet Energy Term
What needs work:-
- Implement Rigid Registration. This is must, since number of iterations becomes very high with slightest displacement of object from its initial position and the data term of a voxel gets no proper gradient if voxel ends up too away from canonical SDF voxels.
- Balancing of Rigidity constraint energy with Data and Motion Regularizer term. Some notes on this issue are here
Fix path to compile FreeImage library in CmakeLists.txt and then run CMake.
- Move all code to CUDA.
- Fix CMakeList - FreeImage library hard coded path
- Cleanup of the documentation