## 2 Related Work  
The method PCA has been a well-known concept for a century [1]. Although it was discovered in the context of statistical analysis [2], it is applicable in many modern areas of research. We refer to [3], which focuses on machine learning. The PCA also has good application for sparsification of densely populated matrices arising in boundary element methods [4; 5].  
Decomposition of point clouds into geometrical primitives relies on the RANSAC (Random Sample Consensus) algorithm [6]. It chooses random points from the point cloud and tries to form them into planes cylinders, spheres, cones, or tori. Note that the key features of the algorithm that we use include estimation of normals [7], detection of planes [8], and detection of cylinders [9]. The algorithm is fast also due to exploitation of oct-tree sampling. In [10], the authors processed topology graphs on top of the geometric primitives, labelled the vertices and edges with features, and finally matched the point clouds with the given shapes. They applied the method in the architectural domain. This paper is the main inspiration for our second method. Similarly, we are inspired by [11], where the authors additionaly reconstructed incomplete point clouds. This is exactly what we do when a mechanical component to be recognized is damaged. In [12], the authors extended their method and its use in architecture by allowing measurements of wall thickness, for instance. Another interesting approach is template matching [13], where the authors do not extract features but rather search for templates in the point cloud.  
Various combinations of PCA and the RANSAC algorithm have appeared mostly in geoscience research. In [14] the authors evaluated hierarchical point cluster correlations, which are in a sense similar to hierarchical PCA, and they applied sparse coding to identify complex geometries. Another very similar approach to ours is described in [15], where a locally affine-invariant geometric constraint effectively handles processing of point clouds. In [16], contour areas of building facades were extracted and the objects were identified using PCA and finalized with RANSAC to identify planes. Another hierarchical approach using oct-trees was considered in [17] for a lossy compression of static point clouds.  
There is an important direction relying on optimization methods. In [18], the authors employed least-square fitting of 6 rigid body modes to recognize objects under affine transformations. This has actually been suggested in the scholarly paper of [19]. In [20], it was observed that the metrics to be minimized have many local minimizers and that searching for the global minimum is of utmost importance. A very interesting new approach was suggested in [21], where the authors employed an L1-metric (integral from the function absolute value) and linear programming, where the search set was successively convexified.  
Many methods rely on statistics. In [22], the authors considered point histogram features. Similarly, in [23], a comparison of histograms of pairwise diffusion distances and histograms of pairwise geodesic distances was made.  
Novel techniques for representations of objects have also been proposed. In [24], 3D wireframes were revisited to be adjusted relative 3D positions of object parts. In [25], 3D shapes were matched to polyhedral objects by comparing multiresolution graphs, which are typically geodesic distance functions.  
Finally, as computational power is nowadays great, a large amount of work on object recognition has been devoted to artificial intelligence techniques such as deep neural networks [26] or support vector machines.