Google Summer of Code Wrap up: Point Cloud Library

Friday, November 14, 2014

Today’s Google Summer of Code wrap up comes from Federico Tombari at the Point Cloud Library project, a 2D/3D image and point cloud processing framework.


For the third year, the Point Cloud Library (PCL) organization has been a participant in Google Summer of Code. We had the opportunity to mentor 12 students who spent the summer developing projects related to 3D computer vision and robotic perception.

This year, I had the pleasure to mentor two students: Manuel Gesto and Jilliam Diaz Barros. Manuel worked on porting a recent algorithm (proposed last year at the ICRA conference by Karphaty et al.) related to object discovery. The idea is that a robot can wander around a room or a building, reconstruct the surrounding environment through Kinect Fusion techniques and then try to extract interesting parts - possibly objects - out of this 3D representation without an explicit training set. Manuel worked well in implementing on his own a segmentation method that was required for the algorithm. Jilliam worked on stereo matching techniques. She implemented two state-of-the-art algorithms, one focused on efficiency and the other on accuracy, which will enrich the stereo module already present in PCL. Also, she validated her work with a comprehensive experimental evaluation using benchmark datasets.

Alex Ichim from our organization worked with Andrei Militaru, a BSc student in Computer Science from Jacobs University in Germany. We looked into efficient representations for head models in the context of face reconstruction using RGB-D devices such as the Microsoft Kinect. In order to counteract the heavy noise and missing data from this kind of camera, we employed the concept of statistical face models (first introduced by Blanz and Vetter at Siggraph ‘99). To demonstrate this, we built an application that uses live data from the camera, registers and integrates it into a point cloud using the Kinect Fusion implementation in PCL; in parallel, another thread uses the data and fits the statistical model to it, yielding a low resolution face model that updates in realtime as more views of the actor are acquired.

Markus Schoeler was another student working with us this year. His project consisted of two sub projects, namely implementing the Locally Convex Connected Patches (LCCP) algorithm and a shape generator. The LCCP algorithm was published on this year’s CVPR conference and aims at segmenting a scene into objects and parts (by tuning parameters, you can "select" the desired level of detail). The shape generator puts special emphasis on giving users full control of how they assign labels in scenes. This makes it possible to easily create annotated data and decide how coarse the segmentation should be.

Federico Tombari, Organization Co-Administrator, Point Cloud Library