Papers
Topics
Authors
Recent
2000 character limit reached

Recognising geometric primitives in 3D point clouds of mechanical CAD objects (2301.04371v1)

Published 11 Jan 2023 in cs.GR and cs.CV

Abstract: The problem faced in this paper concerns the recognition of simple and complex geometric primitives in point clouds resulting from scans of mechanical CAD objects. A large number of points, the presence of noise, outliers, missing or redundant parts and uneven distribution are the main problems to be addressed to meet this need. In this article we propose a solution, based on the Hough transform, that can recognize simple and complex geometric primitives and is robust to noise, outliers, and missing parts. Additionally, we can extract a series of geometric descriptors that uniquely characterize a primitive and, based on them, aggregate the output into maximal or compound primitives, thus reducing oversegmentation. The results presented in the paper demonstrate the robustness of the method and its competitiveness with respect to other solutions proposed in the literature.

Citations (16)

Summary

  • The paper introduces a Hough-transform based algorithm that robustly detects and fits both simple and complex geometric primitives in noisy CAD point clouds.
  • It employs an efficient preprocessing pipeline that standardizes, aligns, and scales point clouds to reduce the parameter space for better detection accuracy.
  • Experimental results on standard benchmarks demonstrate competitive performance in segment accuracy, noise robustness, and efficient primitive recognition.

This paper (2301.04371) addresses the challenging problem of automatically recognizing geometric primitives, both simple and complex, within 3D point clouds originating from mechanical CAD objects. These point clouds often present difficulties such as noise, outliers, missing data, redundant points, and uneven distribution, which standard primitive fitting or segmentation methods may struggle with. The core of the proposed solution is an approach based on the Hough transform (HT), known for its robustness to noise and its ability to detect multiple instances of a shape.

The method introduces a pipeline designed to overcome these challenges and produce a meaningful decomposition of the point cloud into geometric primitives, potentially aggregating parts belonging to the same primitive even if they are not contiguous.

The pipeline consists of several key steps:

  1. Point Cloud Preprocessing: The input point cloud is first centered by translating its barycenter to the origin. Normal vectors are estimated for each point; for noisy data, a voting-based method [Raffo:2022] is preferred for its robustness, while PCA-based methods [pcnormals] can be used for cleaner data. The point cloud is then rotated so that the dominant normal direction aligns with the z-axis. Finally, the point cloud is scaled to fit within a unit cube. This preprocessing is crucial as it allows the method to search for primitives in a standardized form, significantly reducing the dimensionality of the parameter space that the HT needs to explore.
  2. Recognition Step (HT-based): This is the core detection phase.
    • A specific family of geometric primitives is selected (e.g., planes, cylinders, or more complex types).
    • A region in the parameter space corresponding to potential parameters for this primitive family is defined and discretized into cells. An accumulator matrix H is initialized for these cells.
    • For each point in the point cloud, its Hough transform is computed. If the primitive's parametric equation can be analytically solved for the parameters a\mathbf{a} (using, for instance, the Moore-Penrose pseudo-inverse), samples of the HT are computed, and the corresponding cells in the accumulator H are incremented.
    • Peaks in the accumulator H indicate potential primitive instances. Peaks with high "topological persistence" (a measure of how significantly a peak stands out from its surroundings) are identified (e.g., using a threshold of 10% of the maximum H value). The parameters corresponding to these peaks are considered potential primitive fits.
    • The accuracy of each potential primitive fit is evaluated. Points close to the primitive (within a threshold ε\varepsilon, typically 1-3% of the bounding box diagonal) are identified. If these points are sufficiently dense (checked via k-Nearest Neighbor density), the primitive is considered valid. The Mean Fitting Error (MFE), normalized by the bounding box diagonal, is computed for the fitted points to quantify the quality of the fit. False positives (primitives fitting sparse point sets) are discarded.
    • Points fitted by a recognized primitive (within the threshold ε\varepsilon) are removed from the current point cloud, and the process potentially continues with the remaining points. If multiple valid primitives fit the same set of points, the one with the minimum MFE is chosen.
  3. Splitting Phase: This phase manages the remaining points (P′\mathcal{P}') after the initial recognition round.
    • If P′\mathcal{P}' is sparse, these points are designated as unclassified.
    • If P′\mathcal{P}' contains a significant number of points, it's likely composed of multiple primitives or parts not initially recognized (perhaps because they were not in a standard orientation). P′\mathcal{P}' is clustered into sub-regions (e.g., using DBSCAN). Each cluster is then preprocessed (estimating standard position/orientation using methods from [Raffo:2022]) and subjected to another round of the HT-based recognition step.
    • If at any stage, no primitive is recognized in a point set (either the initial cloud or a cluster), or if the standard form estimation fails, the algorithm may use an oversegmentation strategy (like RANSAC [Schnabel2007]) to break the point set into smaller parts, on which the HT recognition is then applied again to identify primitives.
    • Finally, the parameters of all recognized primitives are transformed back from the standardized coordinate system to the original one.
  4. Segment Association based on Geometric Relationships: The output of the previous steps is a set of point cloud segments, each associated with a specific geometric primitive type and its parameters. A hierarchical clustering algorithm (complete linkage is suggested for its chaining-effect resistance [Defays:1977]) is applied to these segments based on their geometric descriptors (position, orientation, dimensions, primitive-specific parameters like radius, axis direction, directrix shape parameters). This step aims to:
    • Identify maximal primitives composed of non-contiguous segments (e.g., parts of a pipe interrupted by another feature, recognized as a single cylinder).
    • Discover patterns of similar primitives (e.g., identical holes arranged in a pattern).
    • Relate primitives based on shared geometric properties.

Complex Primitives: A significant contribution is the extension of HT recognition to complex primitives relevant to mechanical CAD, beyond standard planes, cylinders, cones, spheres, and tori. The paper defines parametric forms for:

  • General Cylinders: Generated by a line moving along a directrix curve.
  • General Cones: Generated by a line passing through a vertex and gliding along a directrix curve.
  • Surfaces of Revolution: Generated by rotating a curve around an axis.
  • Helical Surfaces: Parametric forms adapting cylinder parameterization.
  • Convex Combinations of Curves: Creating surfaces between two curves, like helical strips.

The use of standard forms, wherever possible, is critical for managing the parameter space size in HT for these complex shapes.

Practical Considerations and Implementation:

  • Parameter Space Size: The dimension of the parameter space for HT grows with the complexity of the primitive. Representing primitives in their standard form significantly reduces the number of parameters (e.g., a circular cylinder reduces from 12 parameters to just the radius in standard form). This reduction, combined with the initial alignment of the point cloud, helps manage computational complexity.
  • Computational Requirements: The dominant cost is the HT computation (O(ML)O(ML) per point set and primitive type). The paper notes that the tasks are "embarrassingly parallel" across different primitive types and different clusters of points. While naive hierarchical clustering is O(Nseg3)O(N_{seg}^3), more efficient implementations exist (O(Nseg2)O(N_{seg}^2)). Adaptive HT methods [HTadaptive] could further optimize the search. On evaluated hardware, the method took ~50.7 seconds per model on average, competitive with or faster than other direct methods and one deep learning method (when normal preprocessing is included).
  • Robustness: The voting mechanism of HT provides inherent robustness to noise and outliers, as demonstrated by the experiments on perturbed point clouds. The splitting and re-recognition on clusters, along with fallback to RANSAC oversegmentation, helps handle complex scenes and artifacts.
  • Limitations: The main practical limitation is the computational cost for primitives requiring many parameters even in their standard form. The method can only recognize primitives from its predefined dictionary; it cannot handle arbitrary freeform or spline surfaces, which are often segmented as "unsegmented" or noise points.
  • Applications: This method is directly applicable to analyzing 3D point clouds obtained from scanning mechanical CAD objects, which is crucial for tasks like reverse engineering, quality control, and automated manufacturing planning, where understanding the underlying geometric structure in terms of primitives is essential.

Experimental Validation: The paper presents extensive experiments on various mechanical CAD point clouds, including standard benchmarks like parts of the ABC dataset [Koch_2019_CVPR] and the Fit4CAD benchmark [Romanengo:2022], as well as custom models exhibiting complex primitives or noisy features. Qualitative visual comparisons show that the method performs favorably against RANSAC, a primitive-growing method [Le2017], and deep learning approaches (ParSeNet [Sharma:2020], HPNet [Yan:2021]), particularly on models with complex geometries or artifacts. Quantitative evaluation on Fit4CAD shows superior performance in terms of segment accuracy (Sørensen-Dice index) and ability to detect true positive points (True Positive Rate), while maintaining good positive predictive value. The analysis of fitting errors (MFE) across numerous examples demonstrates the high accuracy of the fitted primitives.

Overall, the research provides a robust and practical framework for recognizing a wide range of geometric primitives in challenging mechanical CAD point clouds by extending the power of the Hough transform and integrating it with preprocessing, clustering, and parameter space optimization techniques.

Whiteboard

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Collections

Sign up for free to add this paper to one or more collections.