opencv / opencv_contrib

Repository for OpenCV's extra modules
Apache License 2.0
9.42k stars 5.76k forks source link

GSoC 2019: DynamicFusion Implementation #2125

Closed UnderscoreAsterisk closed 5 years ago

UnderscoreAsterisk commented 5 years ago

For this GSoC project, I would attempt to deliver a CPU-based implementation of the DynamicFusion algorithm. DynamicFusion extends the KineticFusion algorithm (which is implemented in the rgbd module) to be able to handle non-rigidly deforming scenes. A successful implementation will allow the 3D reconstruction of living objects such people.

@savuor is mentoring me for this project.

The idea is taken from the wiki as mentioned here: https://github.com/opencv/opencv/wiki/GSoC_2019#idea-kinectfusion-improvements

The submitted proposal may be found here: https://docs.google.com/document/d/1d2OrQCS1fmuKifz4v7Df76gldFXcWTU0yeCvcOjg2PE

It may be noted that this project has been attempted before in GSoC 2017 (#1349).

I look forward to work with the community on this project :smile: .

savuor commented 5 years ago

1st evaluation passed, completed things:

  1. Embedded deformation graph is created and updated at each frame.
  2. TSDF integration changed:
    • Integration works with estimated warp field
    • Weights update algorithm rewritten
  3. Marching Cubes implemented for getting mesh from TSDF Volume.

Everything is to be optimized in terms of performance and memory consumption (a task for 2nd and final evaluation) but it basically works.

savuor commented 5 years ago

2nd evaluation passed, completed things:

  1. Depth rendering and points+normals generation is done
  2. Math of DynaFu ICP is developed: here and here.

Left things:

savuor commented 5 years ago

Final evaluation passed.

The original PR will be merged soon, then the rest activity is to be done by me.

Things to be done:

alalek commented 5 years ago

see #2161