3D Point Cloud Technology Series (I) @0530- Dr. Junchao Yang
2. Data storage and algorithm library
2.1 Storage format
The main storage formats include: PTS, LAS, PCD,.xyz and.pcap.
The. PTS point cloud file format is the simplest point cloud format. It directly stores point cloud data in order of XYZ, which can be integral or floating point.
LAS is a laser radar data (LIDAR) storage format more complex than PTS and is intended to provide an open format standard that allows different hardware and software providers to output an interoperable unified format. Screenshot of point cloud in LAS format, where C: Class, F: Flight, T: Time, I: Intensity, R: Return, N: Number of Return, A: Intensity Scan Angle, RGB: Red Green Blue (RGB color value)
PCD storage format, the existing file structure due to its own composition does not support the introduction of n-dimensional point type mechanism by the PCL library processing some of the extensions, and PCD file format can be a good complement to this point. The PCD format has a file header that describes the overall information of the point cloud: the readable header that defines the number, the size, the dimension of the point cloud and the data type; A segment of data, which may be ASCII or binary. The data body part consists of the Cartesian coordinates of the points, with Spaces as delimiters in text mode.
.xyz A text format in which the first three digits represent the coordinates of a point and the next three digits represent the normal vector of the point, separated by Spaces.
PCAP is a common data stream format. The popular Velodyne lidar acquires data file format by default (manufacturer format). It is a binary file. There is a GlobalHeader, and then it is divided into several packets. Each Packet has a part containing headers and data.
2.2 Basic Algorithm
PCL (Point Cloud Library) supports cross-platform storage. Can be applied to calculation of limited resources and limited memory application scenarios, is a large open source cross-platform c + + programming, it implements the general algorithm of a large number of point cloud related and efficient data structure, realizes the point cloud related acquisition, filtering, segmentation, registration, retrieval, feature extraction, recognition and tracking, curved surface reconstruction and visualization operation, very convenient mobile client development.
The VCG library (Visualized and Computer Graphics Libary) is specially designed to deal with triangular grids. It is large and provides many advanced functions of handling grids, as well as a relatively small function of handling point clouds.
The CGAL (Computational Geometry Algorithms Library) is designed to provide convenient, efficient and reliable geometric Algorithms in the form of a C++ Library. It has implemented many Algorithms for dealing with point clouds and grids.
Open3D is an open source library that enables rapid development of 3D data processing software. Support for rapid development of software for processing 3D data. The Open3D front-end exposes a carefully selected set of data structures and algorithms in C++ and Python. The back end is highly optimized and set to parallelize. Open3D was developed from the start with very few, carefully considered dependencies. It can be set up on different platforms and can be compiled from source code with minimal effort. Code is clean, consistent in style, and maintained through clear code review mechanisms. Support on point cloud, grid, RGBD data.
2.3 Representation method of 3D point cloud
Method based on two-dimensional projection. The 3D point cloud data is projected onto the 2D image plane.
A method based on three dimensional voxels. The 2D projection of 3D point cloud reduces the difficulty of algorithm processing, but the 3D to 2D projection will inevitably bring the loss of geometric structure information, so it is very necessary to directly extract 3D features in some scenes. At the same time, the Voxelization of the point cloud is carried out to transform it into a grid with regular spatial arrangement, so that it can be directly applied to this representation.
The original point-based approach. Both the two-dimensional projection and the three-dimensional voxel need to transform the original point cloud to some extent, and the conversion will inevitably bring the loss of data information.
Graph based approach. In real life, there is a large amount of unstructured data, such as traffic network, social network, etc., and there are connections between nodes of these data, which can be expressed as graphs. The study of graph data is a hot topic in recent years. 3D point cloud data can be regarded as a kind of graph data, and many ideas of graph network can be used for reference in feature learning of point cloud data.
3. The conclusion
3D point cloud has spatial coordinates, so it is widely used in surveying and mapping, construction, industry, automobile, game, criminal investigation and many other fields. Deep learning on 3D point clouds still faces several major challenges, such as the small size of the data set, the high dimension and the unstructured nature of 3D point clouds. At the same time, the classical processing method of 3D point cloud has certain reference significance for VR content processing and holographic video processing.