笔者评:PCL作为一开源项目,Google Summer of Code(GSoC)自然是不错的一个funding选择,今年PCL的GSoC项目中包含了点云视频流、人姿势识别模块完善、OpenCL并行计算模块、采样一致性更多的模型支持、kinfu数据的后期识别处理、针对运动物体的RGB-D Flow方法集成、SSD:Smooth Signed Distance Surface Reconstruction新重建方法集成等,当然这些是官方计划开发的提议,对于申请者也可以自行提议。项目的导师主要是欧洲各个国家视觉年轻牛人。PCL中国将持续关注并与点云技术相关产学研朋友分享新的 点云库PCL开发动态。
Project Proposals
PCD Video Format
Starting from the discussions at http://dev.pointclouds.org/issues/164, we would like to implement a file format for storing sequences of clouds. Things to have in mind:
For encoding point cloud data, we would like to distinguish between a container format to manage frames of different format.
In every frame, a codec is specified that is used for en- and decoding.
Codecs that we can provide for point clouds are: ASCII, "binary dump" and "compressed (octree)"
Every codec defines its own point cloud parameters.
A possible container format could be "tar". Filenames contain timestamp information.
Optional meta information should be stored in separate frames (EXIF, Camera/Coordinate system transformation)
a VLC-like video player for 3D video files with complete UI and performance optimisations.
Extension of pcl::people module for detecting people in unconventional poses
In pcl::people module, a method for detecting upright people in RGB-D point clouds is implemented. We want to extend this module in order to make possible the detection of people in positions other than upright. The current algorithm could be improved by implementing some of the techniques presented in Benjamin Choi, Cetin Mericli, Joydeep Biswas, and Manuela Veloso. Fast Human Detection for Indoor Mobile Robots Using Depth Images. International Conference on Robotics and Automation (ICRA), 2013
or Hao Zhang, Christopher Reardon, and Lynne E. Parker. Real-Time Multiple Human Perception with Color-Depth Cameras on a Mobile Robot. IEEE Transactions On Cybernetics B (TMSC-B), vol. 43, no. 5, pp. 1429-1441, October 2013 for selecting point cloud clusters candidate to belong to a person which are then classified with more sophisticated people detection techniques.
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
Surface registration is a fundamental step in the reconstruction of three-dimensional objects. However, while PCL already includes several fast and reliable methods to align two surfaces, the tools available to align multiple surfaces are relatively limited. We aim to extend the functionalities of pcl::registration by adding efficient algorithms for automatic multiview registration from unordered views. In particular, we will consider the dual quaternion algorithm for multiple view surface reconstruction from point cloud data as described in the following paper:
[1] A. Torsello, E. Rodolà, and A. Albarelli. "Multiview registration via graph diffusion of dual quaternions". Proc. IEEE Intl. Conf. on Computer Vision and Pattern Recognition (2011) The approach allows for a completely generic topology over which the pairwise motions are diffused. It is both orders of magnitude faster than the state of the art, and more robust to extreme positional noise and outliers. The dramatic speedup of the approach allows it to be alternated with pairwise alignment resulting in a smoother energy profile, reducing the risk of getting stuck at local minima, and enabling the integration of the algorithm within a global alignment framework, namely: [2] D. F. Huber and M. Hebert. "Fully automatic registration of multiple 3D data sets". Image and Vision Computing 21 (2003) 637-650
The student will thus port the original code of [1] to PCL and implement a basic version of the global alignment algorithm in [2]. Also, he/she will evaluate a full multiview registration pipeline built by assembling the various tools available in PCL.
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.