It is our immense pleasure to announce the beginning of a new PCL Code Sprint sponsored by Trimble: PCL-TRCS!
PCL Code Sprints are intended to rapidly advance the capabilities of the Point Cloud Library in a certain area/subject by offering stipends to talented student developers and pairing them with knowledgeable mentors for several months of accelerated software development. These sprints have been inspired by the Google Summer Of Code (GSOC) initiative, and we will be following the same basic model. Projects will run for an initial period of 3-6 months with the same structure and performance evaluations as the GSOC program, and all of the code produced will be open source.
For this winter's PCL-Trimble Code Sprint, we have identified the following important areas for further development in PCL, and we are therefore searching for outstanding candidates (and mentors) to work on the following projects:
- Automated decimation: automatically reduce the number of points in the point cloud based upon the definition of a feature (i.e., not a generic spatial sampling). For example reduce the number of points used to define simple surfaces, such as a wall, cylinder, etc. while retaining sufficient points to define all surfaces and edges. The purpose of this project is to make the data size smaller to allow for improved performance with large data sets / streaming over the Internet.
- Automated noise filtering: clean parasitic points, such as measurement noise, interruptions (objects moving across scanner), vegetation (primarily grass patches to identify land surfaces). PCL already contains tools for removing registration occlusions and outliers, but we are removing edges as well. The purpose of this project is to deal with larger scenes, perform filtering, but retain edges.
- Automated feature extraction based on type of object (i.e. pipes, steel structures, walls, valves, etc). For example identify all objects that are pipes and remove everything else so that the pipes can be examined and modelled in more detail using tools specific to the type of object.
- Out-of-core point cloud database: develop an out-of-core database system for storing and interactively accessing massive point clouds (e.g. 100 TB to 1 PB) using techniques like hierarchical level-of-detail, out-of-core simplification, parallel database access, proxy scenegraphs, etc. Applications accessing the database would run on laptops and mobile devices with typically 1 GB of graphics memory.
- Best-fit feature estimation: based on sensor characteristics (noise, biases, range-dependent errors) and data-collection geometry (sensor location and orientation relative to the objects in the point cloud), estimate best-fit for common geometry types (e.g. surfaces, spheres, cylinders, etc.). Identify all points likely to be part of the object, including potentially identifying outliers that are likely part of the object, but not used in the best-fit solution.
- Change detection: automatically determine differences between objects scanned over time. For example scan a car or vessel on two occasions and automatically compare and highlight / report differences. This has to improve upon our current existing work on change detection and efficiently deal with large datasets.
- Automated point cloud registration: improve the current set of registration/scan matching tools in PCL. The purpose of this project is to augment the new registration API (based on Correspondences) in PCL with new methods, and evaluate when to apply the right rejector/estimation method based on the input data. This has to improve upon our current existing work and deal efficiently with very large datasets.
The above projects will run for a period of 3 (or 6) months divided into multiple terms. Each student developer will receive a stipend of $5000 per 3 months for their contributions, subject to satisfactory mid-term and final evaluations, exactly as GSOC. PCL reserves the right to approve any or none of these projects, and approve multiple applicants for the same project, based on the quality and number of applicants.
Potential candidates should submit the following information to firstname.lastname@example.org:
- a brief resume
- a list of existing PCL contributions (if any)
- a list of projects (emphasis on open source projects please) that they contributed to in the past
Advanced C++ programming skills are required for all projects. Please remember that this is a unique opportunity to work with some of the world's best 3D perception researchers!
Interested mentors should send a brief e-mail to the address mentioned above pointing out their time commitments and expertise in the field.