Recognition and representation of curve and surface primitives in digital models via the Hough transform

No Thumbnail Available
Date
2023-01-12
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Curve and surface primitives have an important role in conveying an object shape and their recognition finds significant applications in manufacturing, art, design and medical applications. When 3D models are acquired by scanning real objects, the resulting geometry does not explicitly encode these curves and surfaces, especially in the presence of noise or missing data. Then, the knowledge of the parts that compose a 3D model allows the reconstruction of the model itself. The problem of recognising curves and surfaces and providing a mathematical representation of them can be addressed using the Hough transform technique (HT), which in literature is mainly used to recognise curves in the plane and planes in space. Only in the last few years, it has been explored for the fitting of space curves and extended to different families of surfaces. Such a technique is robust to noise, does not suffer from missing parts and benefits from the flexibility of the template curve or surface. For these reasons, our approach is inspired by a generalisation of the Hough transform defined for algebraic curves. In this thesis, we present the methods we implemented and the results we obtained about the recognition, extraction, and representation of feature parts that compose a 3D model (both meshes and point clouds). Specifically, we first study the recognition of plane curves, simple and compound, expressed both in implicit and parametric form, with a focus on the application of cultural heritage and geometric motifs. Then, we analyse the extension of the method to space curves, concentrating on the improvement of the model through the insertion of the recognised curves directly on its surface. To overcome the limitation of knowing in advance the family of curves to be used with the HT, we introduce a piece-wise curve approximation using specific parametric, low-degree polynomial curves. Finally, we analyse how to recognise simple and complex geometric surface primitives on both pre-segmented and entire point clouds, and we show a comparison with state-of-the-art approaches on two benchmarks specifically created to evaluate existing and our methods.
Description
In the Ph.D. thesis, I mainly addressed the problem of extending the Hough transform (HT) to the recognition of space curves and surfaces in 3D models, both meshes and point clouds. The HT is a well-known pattern recognition technique that first fixes a family of curves or surfaces depending on a set of parameters and then translates the problem into a voting procedure in the parameter space. Historically, it has been used only for plane curves and very simple surfaces, such as planes and spheres, as there are two main difficulties to its extension to more space curves and complex surfaces. The first one is that a curve in the space is represented as the intersection of at least two surfaces, so it is difficult to manage. The second one is that the equation of a curve or a surface in the space in a generic position depends on a high number of parameters, so the computational cost of the voting procedure increases a lot, making the issue not always addressable. Despite these limitations, the HT has many desirable properties such as robustness to noise, uniqueness of representation and being suitable for recognition, so the main contribution of my thesis is precisely to propose several solutions to use HT on 3D models as well. I started from the recognition of spatial profiles through a projection onto the regression plane. Specifically, I focused on applying the HT to cultural heritage, identifying decorations or characteristic parts of 3D models representing statues, friezes, and low reliefs and expanding the dictionary of curves to this type of profiles. Since a recognition method based on the HT provides the parameters of the curve equation within the considered family that best approximates the given profile, I exploited these parameters to define a similarity measure between profiles recognised from curves of the same family. This kind of analysis can support experts in the field of cultural heritage since it allows fragments with appropriate details to be grouped semi-automatically and provides hints about their compatibility. In addition to this, the parameters can be exploited from a virtual table to manipulate the recognised profile. Then, I worked on extending the HT to the recognition of spatial profiles of points without the need to project them onto the regression plane, thus defining a dictionary of families of spatial curves in both parametric and implicit form. I experimentally compared the results obtained with families of curves expressed in both parametric form and implicit form, assessing their approximation and recognition ability through different types of quality measures and computational cost. I applied my method for curves expressed in parametric form to approximate the feature profiles on a 3D mesh and feature-aware re-tessellate it. The result is a hybrid mesh with both linear and curvilinear elements. Since the HT requires knowing in advance the family of curves with which to approximate a profile, such as through a template, I wanted to achieve more flexibility through the introduction of a spatial piece-wise low degree polynomial approximation. This led to the definition of an efficient, feature-aware method of resampling 3D models represented with point clouds. I also implemented methods for the recognition of simple geometric primitives (planes, spheres, cylinders, cones, and tori) in point clouds using HT-driven strategies. The first goal achieved is the reduction of the computational cost of HT computation for handling many parameters in point clouds representing single primitives. To compare my approach with others proposed in the literature, I organized a contest on this topic, developing a benchmark available online. Next, I introduced a more complex algorithm that operates on point clouds representing CAD objects, thus on point clouds with multiple occurrences of primitives of the same family and/or primitives of different types. In this way, a segmentation of the starting point cloud into primitives can also be achieved. I have also created a benchmark for this topic that is open access.
Citation
Collections