3D scanning is often not complete after a single pass from a single sensor. Multiple scanners, e.g. from a crowd, or multiple autonomous vehicles, may contribute data simultaneously. Or, after looking at the resulting model, more passes may be made to fill holes or improve the quality.
This requires updating a 3D reconstruction with new points, integrating those into the model and considering them equally with the existing points. In order to avoid dynamic and massive storage requirements, their coordinate information required for reconstruction can be stored as single median+variance vectors, which can be updated incrementally with new points, see e.g.: http://datagenetics.com/blog/november22017/index.html). With the local information at nodes, marching cubes can be used to generate a triangulation at grid cells. Since the octree has varying depths at leaf nodes, we need to apply an adapted version from an existing algorithm, Screened Poisson (for source and paper see: http://www.cs.jhu.edu/~misha/Code/PoissonRecon/Version8.0/). See also http://infinitam.org for the source code and the paper it is based on.
C++ programming skills and interest in geometry processing. Experience in geometry processing and 3D data structures such as octrees, point clouds, or CUDA will speed up the development tasks.
A bonus of €500/1,000 if completed to satisfaction within an agreed time-frame of 6/12 months (PR/BA or DA).