Project Ideas

Each project will have a short, medium, and ultimate goal. The ultimate goal is not expected to be finished in one summer, but we hope that the student will continue as a contributor and see it finished.

All projects will end with a demo video that will be posted on YouTube and a tutorial providing a step-by-step description of how the demo can be replicated by others.

Project Proposals

PCD Video Format

Starting from the discussions at, we would like to implement a file format for storing sequences of clouds. Things to have in mind:

  1. a container format that distinguishes between frames of different formats (within the same sequence)
  2. possible codecs can be: ASCII, binary dump, binary compressed (using LZF or similar algorithm), compressed using octrees
  3. every codec comes with its own set of parameters
  4. need to store additional meta information: camera coordinates, dates, geolocation etc.

PCD Video Player

This is tied to the previous project proposal. We need a video player for point clouds, similar to video players present in most operating systems. A complete UI and performance optimizations are required.

SSD: Smooth Signed Distance Surface Reconstruction

Not necessarily a project by itself, but can be one of the milestones for a larger project. The task is to adapt the source code for the following paper to the structures present in PCL:

Fatih Calakli and Gabriel Taubin, "SSD: Smooth Signed Distance Surface Reconstruction", Computer Graphics Forum, Vol. 30, No. 7, 2011

Human action recognition from skeleton information

Implement an algorithm able to recognize human actions from pre-segmented RGB-D sequences by classifying the skeleton information provided by PCL's skeleton tracking algorithm. An example of paper that could be implemented is:

Ferda Ofli, Rizwan Chaudhry, Gregorij Kurillo, Reneé Vidal, Ruzena Bajcsy - "Sequence of the Most Informative Joints (SMIJ): A new representation for human skeletal action recognition", 2012 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW)

If time permits, this technique could be extended to be able to classify actions online, segmenting them out from a real time stream.

Multiview Registration

A very broad topic and one of the favorite subjects for PCL developers, we want to extend the functionalities of the pcl::registration module, by implementing some proven papers. One example is:

D. Huber, M. Hebert, “Fully automatic registration of multiple 3D data sets”, IVC 2003

The goal of such a tool is to allow multiple 3D views of the same object to be aligned together starting from pairwise registration and finding the best transformations to align all views with respect to the same coordinate system. Once this is done, the student will decide with the mentor on what other publications to look into until the end of the summer.

3D occupancy grid modelling using octrees

Extend the octree component to enable 3d volumetric modelling of free space and surface areas. Integration of probabilistic models in order to reflect dynamic environments.

Distributed Computing for PCL

We are looking for an expert to adapt some of our algorithms to run on a cluster. We are thinking of using technologies such as Hadoop , or any other open-source implementations of distributed computing libraries. The end result should be a cluster of machines running point cloud processing services such as large dataset registration, feature extraction, object recognition etc.

This is a rather involved project, and expertise in the field of distributed computing is necessary. We recommend to discuss with the GSoC mentors on the mailing list for a more in-depth view of our ideas.

Custom Projects

As PCL is a research-oriented community, we are more than happy to welcome students to come up with their proposals (even contribute with implementations of their own MSc/PhD work!). Most probably there will be a mentor with high interest in your field of research.

Students may suggest their own well thought out and documented ideas, which should also have project timeline for completion. These will only be accepted if one of the mentors approves to support it. The project should use a substantial, proven technology and be of general interest. Research-based projects are accepted only if they are proven to be reasonable for the duration of Google Summer of Code 2013 program.

Project Mentors

Do not miss your chance to work with one of the awesome mentors that we have lined up for this program! They all work or study at top institutions across the world and are top contributor for the PCL library.

(in no particular order): Please use to get in touch with the mentors, rather than using their private e-mail addresses! Thank you!