1. Introduction
Conventional CAD modelling is widely used for designing engineering products from scratch. In recent years, due to increased focus on rapid prototyping and reverse engineering, alternative methods of rapid design are being explored. These include Virtual reality-based CAD modelling solutions (Reference Kukreja, Cox, Gopsill and SniderKukreja et al., 2026; Reference Prinz, Lee, Gupta, Park and GöhlichPrinz et al., 2025), reconstruction of existing parts or worn-out parts using laser scanning (Reference Kukreja, Trombini, Cox and SniderKukreja et al., 2025), generative AI-based design (Reference Wu, Khasahmadi, Katz, Jayaraman, Pu, Willis and LiuWu et al., 2023), and image-based reconstruction methods (e.g. photogrammetry and Gaussian splatting). The output of these methods is in the form of meshes (STL), point clouds, or voxel-based representations, which are often processed further to generate parametric models to make them suitable for downstream applications, such as finite element analysis (FEA), Computer-Aided Process Planning (CAPP), and product lifecycle management (PLM) search and query systems.
Creating parametric models using these output formats requires Feature Recognition (FR), which involves identifying and extracting application-specific regions of interest, such as machining features, from the input geometry (Reference PandePande, 2011). However, the output formats provided by these methods often have structural inconsistencies and noise (termed imperfections in this work). These inconsistencies can occur due to improper scanning and occlusions for laser scanners, inconsistencies in mesh generation algorithms (Fig. 1(b)), through applications such as VR-based CAD modelling, or by scanning worn-out/defective parts (Fig. 1(c)), resulting in inaccurate/non-manifold output models (Reference Freeman Gebler, Goudswaard, Hicks, Jones, Nassehi, Snider and YonFreeman Gebler et al., 2021). These output models with imperfections are referred to here as imperfect models, and they are unsuitable for existing rule-based or Machine Learning (ML) based methods. Traditionally, this failure necessitates a cumbersome, error-prone preprocessing pipeline in which models are manually or semi-automatically cleaned to remove invalidities (such as noise or holes) and undergo explicit feature reconstruction before feature recognition can even be attempted. This reliance on pre-processing creates a bottleneck in rapid design workflows.
To overcome the inefficiency of the traditional approach of digital design workflows, i.e. pre-processing and reconstruction before FR from imperfect models, this paper provides a novel dataset and its creation workflow to enable direct recognition of features from imperfect CAD models. The paper thus makes two main contributions: first, the creation of a comprehensive dataset of imperfect CAD models for machine learning-based feature recognition, and second, a general, novel ML-based data surrogation technique that can be adapted for other methods of model reconstruction. We used voxel-based models in this work, as they leverage a volumetric data structure that is particularly well-suited for handling the complex, irregular three-dimensional features found in imperfect models.
Imperfections in features (a) real, (2) meshing defects (c) scan of defective part

The remainder of this paper is organised as follows: Section 2 reviews the state-of-the-art literature regarding feature recognition and deep learning methodologies. Section 3 details the proposed data surrogation technique using the U-Net and network architecture of the Automatic Feature Recognition (AFR) model. Section 4 presents the results of the U-Net and tests the AFR model on imperfect and perfect datasets, and Section 5 discusses their implications and the future scope. Finally, Section 6 gives the important conclusions of the work.
2. Literature review
Automatic Feature Recognition (AFR) is a well-researched area with many different methods proposed over the last three decades. This includes heuristic-based, graph-matching-based, and learning approaches. Heuristics-based methods rely on predefined geometric rules for each feature and are time-consuming to set up, lacking generalizability across the diverse range of manufacturing features encountered in modern designs. In comparison, graph-based approaches are more successful with some degree of generalisability (Reference Sunil and PandeSunil & Pande, 2009). While effective for well-defined features, both these methods would struggle to recognise features from imperfect models without reconstruction. This is because such models may have disjoint edges, ill-defined faces and edges, and non-manifold geometry, all of which would be hard to bind into rules or form a consistent structure for the graph. Graph-based approaches are known to struggle with recognising intersecting features, further suggesting their inability to handle imperfect models (Reference Zhang, Jaiswal and RaiZ. Zhang et al., 2018).
On the contrary, ML-based methods are more generalisable, provided there is enough data for training. Various data formats have been used as inputs for these methods, including B-rep models, adjacency graphs, point clouds, and voxels, each with its own pros and cons. For instance, (Reference Cao, Robinson, Hua, Boussuge, Colligan and PanCao et al., 2020) used B-rep models to train a Graph Neural Network for automated recognition of solids with planar surfaces. (Reference Rameshbabu and ShunmugamRameshbabu & Shunmugam, 2009) used face adjacency graphs to recognise manufacturing features using STEP files. (Reference Sunil and PandeSunil & Pande, 2009) used B-rep models, pre-processed them to generate feature representation vectors that are then used to train an Artificial Neural Network (ANN) to recognise features. All these methods, however, require elaborate geometry and topological representations to work. On the contrary, methods based on point clouds and voxel-based data are more flexible and compatible with approximate geometric models (Reference Vatandoust, Yan, Rosen and MelkoteVatandoust et al., 2025). (Reference Zhang, Zhang, Zhang, Liang and WangH. Zhang et al., 2022) used point cloud data for feature recognition and proposed a novel Associatively Segmenting and Identifying Network that could segment intersecting features and recognise features simultaneously. They used uniform point cloud data from BRep models to train a CNN for AFR. (Reference Zhang, Jaiswal and RaiZ. Zhang et al., 2018) created the FeatureNet dataset and proposed a 3D convolutional neural network to recognise 24 manufacturing features using voxel-based CAD model data. They created a comprehensive dataset of uniform, perfect models synthetically and demonstrated the effectiveness of voxel-based AFR in effectively recognising intersecting features. (Reference Vatandoust, Yan, Rosen and MelkoteVatandoust et al., 2025) proposed a computationally efficient manufacturing feature recognition method using sparse voxel representation and creating an octree-based sparse voxel CNN. They achieved a high accuracy while reducing GPU memory consumption by 44%, showing the promising performance of voxel-based AFR methods. Although ML-based AFR methods claim to work with slightly noisy data, such as scanned data, their effectiveness has not yet been formally tested. Nonetheless, with excessive noise, as in VR-based outputs involving human hand movements in real 3D space, or digital camera-based scanning methods with lower-resolution cameras, or laser scans of worn-out parts, these methods are likely to perform poorly, and a need thus exists to investigate this aspect and propose a solution.
To summarise, the existing AFR techniques demonstrate the ability to understand spatial contexts and recognise features from varied input forms with high accuracy. However, no method has been developed to recognise machining/design features from the imperfect CAD models. This paper proposes a novel method to curate the imperfect CAD model data and use it to train an exemplar 3D CNN-based AFR model.
3. Methodology
The approach taken in this work to address the identified problem of imperfect models in digital design workflows is rooted in a broader body of research on extracting features from VR-sculpted inputs and subsequently utilising them automatically to create parametric models. Despite its intuitiveness and alignment to real-world sculpting, human physical input in the digital world is inherently imprecise. This creates both a challenge and an opportunity - engineering CAD systems aiming to operate in Virtual Reality with human input must contend with high degrees of input imprecision, necessitating work on ML recognition as previously published and presented here (Reference Kukreja, Cox, Gopsill and SniderKukreja et al., 2026). However, the imprecise models produced then serve as a randomised collection of errors in geometries while preserving their spatial construct. Consequently, addressing this problem could be considered fundamentally the same as feature extraction from scan data and reverse engineering, which also have geometric inconsistencies and imperfections. Using this approach of VR sculpting to create imperfect models could thus allow the creation of a labelled dataset and, consequently, ML training for the present work, as explained below.
The methodology comprises three steps: i) Perfect-Data curation, ii) Imperfect-Data generation and augmentation, and iii) ML-based AFR model training. These are explained as follows.
3.1. Perfect-data curation
Industrial products exhibit a wide range of design features, primarily comprising machining features and freeform surface features. In this work, we focus on prismatic components, with our primary application being the design of parametric models using VR-sculpting outputs. Such geometries are also common in industrial systems due to their innate manufacturability, and their 2.5D topology serves as a suitable case for proof-of-principle investigation. Therefore, we concentrate on machining features. However, a similar data generation technique can also be applied to other applications.
The base dataset of perfect CAD models is drawn from the FeatureNet dataset, a widely used benchmark for testing state-of-the-art ML models for feature recognition tasks, which consists of 24 commonly occurring manufacturing feature types (Reference Vatandoust, Yan, Rosen and MelkoteVatandoust et al., 2025; Reference Zhang, Jaiswal and RaiZ. Zhang et al., 2018). It consists of 24 machining features, of which 22 features were taken and categorised into 7 main design features, as shown in Table 1. Two features, i.e., Chamfer and Round, were not considered at this point as they were deemed secondary design features. FeatureNet models are mesh-based models and were voxelised using ray tracing. The voxel-based models are represented in a 3D grid of resolution 64,64,64 containing 0s and 1s, where 0s represent the absence of material (suggesting the presence of a feature) and 1s represent the presence of material. It must be noted that FeatureNet models were generated using CAD modelling software and are defect-free (referred to as perfect in this work).
Design feature classification from manufacturing features

3.2. Imperfect data generation and augmentation
The second step is to generate the imperfect CAD model data. Figure 3 illustrates the data generation pipeline employed in this work to create a comprehensive dataset with diverse variations, suitable for training a deep learning network. It begins with the base imperfect models, manually generated by the authors, followed by augmenting the models through shrinkage and shifting. The generated models are then used to train a U-Net that learns the pattern of imperfections generated manually. Finally, the trained U-Net is used to generate the final dataset of imperfect models using perfect (FeatureNet) CAD models as inputs. All these steps are explained below.
Data generation pipeline

Figure 2 Long description
A diagram of a data generation pipeline. The process begins with a user interacting with a sculpted model in a VR scene, transforming data into an imperfect CAD model. This imperfect CAD model is then converted into 3D voxel data as a Numpy array. The voxel data undergoes dimensions extraction, resulting in feature dimensions data. FreeCADCmd using the OpenCASCADE kernel generates a perfect CAD model in STL format, which is then voxelized. The 3D voxel data is also subjected to heuristics-based data augmentation. The augmented data, along with a FeatureNet dataset of perfect models, is used for model training using a U-Net. The trained U-Net processes imperfect models to address inconsistencies and noise, making them suitable for feature recognition.
3.2.1. Manually generated imperfect models
Base imperfect CAD models were generated by the authors using a VR-based digital sculpting tool developed in-house (Fig. 2). It lets users sculpt and remove material from the raw stock to create design features using VR controllers. After sculpting, a button allows the user to export the current state of the model as a CSV. This CSV contains the location of the removed voxels, which is then converted into a voxel grid. A total of 20 models were generated for each feature using this tool in 2 hours by the authors, creating a total of 140 models.
Manual imperfect data generation using VR-based digital sculpting

3.2.2. Data Augmentation
Deep learning requires a large amount of labelled data. However, generating this much data is a cumbersome task. Therefore, we devised a method to learn to create human-like imperfections using deep learning. Once learnt, this can be used to take perfect models as input and generate corresponding imperfect models that preserve the location and overall dimensions of the feature, but with noisy boundaries, as a human would create in reality and as is common in scanned data inputs such as point clouds.
The task was thus to create a function f x operating on a perfect dataset of voxel-based models ( D p) to produce an imperfect dataset ( D i). It was envisaged that a supervised machine learning (ML) technique would be used to do this, given its stochastic nature and ability to learn complex patterns.
To train the ML model, a dataset of manually generated imperfect data, along with its corresponding perfect data, was generated using four steps (shown in Fig.3): i) Analyse the imperfect manually-generated voxel-based CAD models to deduce the dimensions and locations of the features using computational algorithms, ii) Generate perfect models using the extracted dimensions in a CAD modelling software and export them as mesh-based models, iii) Voxelise the mesh-based model to generate a perfect voxel-based CAD model, iv) Heuristics-based data augmentation.
The first two steps were implemented using the Python-based FreeCAD API (freecadcmd). The dimensions were extracted by fitting the desired feature shape onto the voxelised models using heuristics/OpenCV-based functions, which were then passed to FreeCAD to automatically generate the parametric models and export them as mesh (STL) models. Finally, the STL model was voxelised using the ray casting algorithm.
The perfect-imperfect pairs of models generated after voxelisation were then augmented to generate surrogate data for training a deep learning network for learning imperfections. It includes two steps: i) Shrinkage, and ii) Shifting. Shrinkage is performed by first interpolating the features within each 2D layer using random voxel units, utilising the zoom function in scipy, followed by clipping and padding to retain the original size (i.e., 64, 64). Whereas, shifting moves the feature along x and y directions by random voxel units and creates 10 new models for each feature type. This entire pipeline outputs a set of perfect voxel-based CAD models corresponding to imperfect voxel-based CAD models that form imperfect-perfect pairs. In this work, a total of 700 perfect-imperfect pairs were generated for each category.
The perfect-imperfect pairs of models are used to train the ML network to learn the imperfections of the VR-based sculpting for each feature type. In this work, a 3D CNN with U-Net architecture was used. U-Net is widely used for image segmentation, learn contextual information, and lately in diffusion models to perform denoising. In our case, we need reverse functionality, i.e. add noise in the data such that it replicates randomness. U-Net was chosen because it can efficiently capture contextual information using an encoder-decoder structure, accurately reconstruct voxel-level details using up-sampling, maintain spatial precision of features using skip connections and same input-output resolutions, and learn local noise patterns using convolutional filters.
A total of 7 different U-Net were trained and validated corresponding to 7 design feature categories. The U-Net architecture used in this work is illustrated in Fig. 4. It comprises four levels for the Encoder-Decoder and a bottleneck at its centre. Each Encoder level consists of Conv3D layers along with down-sampling using Max-pooling, and the Decoder level consists of ConvTranspose for up-sampling and skip connections to concatenate feature maps from corresponding encoder levels. The model takes a perfect voxel-based CAD model (size: 64, 64, 64) as input and outputs an imperfect model (size: 64, 64, 64). For supervised learning, pairs of perfect and imperfect models generated above were used. The training objective of the U-Net was to minimise reconstruction loss ( L ) given by:
U-Net achitecture for learning imperfection patterns

Figure 4 Long description
A diagram of a U-Net architecture for learning imperfection patterns. The diagram shows a series of layers and operations used in the U-Net model. The input is a 64 x 64 x 64 voxel representation. The first layer is a Conv3D with batch normalization and ReLU activation, reducing the dimensions to 16 x 16. This is followed by a MaxPooling layer. The next layer is another Conv3D with batch normalization and ReLU activation, reducing the dimensions to 32. This pattern continues with Conv3D, batch normalization, ReLU activation, and MaxPooling layers, progressively reducing the dimensions through the network. The middle of the network has layers with 256 dimensions. The network then starts to expand using Conv3DTranspose layers with batch normalization, increasing the dimensions back up. Concatenation operations are used to combine features from the contracting path with the expanding path. The final layers return to the original 64 x 64 x 64 dimensions, completing the U-Net structure.
The trained U-Net was tested to determine whether it preserved spatial context and created a reasonable overlap with the original perfect data (Section 4.2). The final trained U-Net were then used to convert perfect FeatureNet models (1000 per category) into imperfect models (1000 per category). This, along with the initial augmented dataset (i.e., imperfect and perfect models used for training the U-Net), forms the final augmented dataset (2400 per category). This results in a total dataset of 3,400 models per category, including perfect models.
3.3. Automatic feature recognition using imperfect models
The comprehensive dataset of perfect and imperfect models created by the above data generation and augmentation pipeline was used to train an AFR model. A bespoke 3D Convolutional Neural Network (CNN) was created to do this task and test the validity of the dataset. Other state-of-the-art networks can also be used to create a feature recognition system for imperfect models using the presented dataset.
Three networks with the same architecture were trained on: D1 Combined perfect and imperfect models (3400 per category), D2 Perfect models only (3400 per category augmented by mirroring 1700 perfect models), and D3 Imperfect models only (3400 per category augmented by mirroring 1700 imperfect models). The network was optimised via hyperparameter tuning to obtain optimal parameters for the given datasets. Figure 5 shows the architecture of the bespoke 3D CNN. It has four convolutional layers, one dense layer, and a total of 728,775 parameters. The network trained on D1, D2, and D3 achieved validation accuracies of 99.42%, 99.33%, and 99.52%, respectively. These trained models were tested on a previously unseen/new manually generated dataset, the results of which are presented in the following section.
Bespoke 3D CNN architecture

4. Results
This section presents the results of i) Data surrogation and augmentation network (U-Net), and ii) Automated Feature Recognition model (3D CNN).
4.1. Results of U-Net-based surrogation
The trained U-Net was tested both qualitatively (visually) and quantitatively (metric-based). The output imperfect models generated by feeding perfect (FeatureNet) models, were used for evaluations. The U-Net gives the full 3D replication of perfect models with noise. For qualitative assessment, 100 of 1000 samples were plotted and assessed. Figure 6 shows sample perfect-imperfect pairs for all feature types. Only the top layer of each feature type is shown here to demonstrate the successful reproduction of imperfections while maintaining the topological and spatial information of the feature. Figure 7 shows 3D voxel-based models produced by the U-Net for two exemplar categories: triangular pocket and circular end slot.
For quantitative evaluation, two standard parameters, the Dice coefficient and Voxel accuracy, were used. Dice coefficient (Eq. given below) is a standard measure of overlap between predicted output (i.e. imperfect voxel-based model) and the ground truth (i.e. perfect voxel-based model). Whereas voxel accuracy (Eq. given below) is the fraction of correctly predicted voxels (both 1s and 0s) over all voxels, which shows whether geometry is preserved while defects are added or not.
Here, TP, FP, TN, and FN are true and false positives and negatives, respectively.
Table 2 shows the evaluated Dice coefficients and Voxel accuracies of perfect-imperfect model pairs for the manually generated dataset (D o) and the U-Net generated dataset (D u) for each of the 7 categories. Voxel accuracy of the trained U-Net for each feature was above 0.92 and within 0.25%-4% of the D o, showing that the U-Net was able to preserve the shape and size of the features. Dice coefficients for D u were above 0.6 for all features, showing a good similarity between the input and output and that a substantial amount of noise has been added. The values of the Dice coefficients were within 15% of those of the training dataset, indicating that the trained U-Net was able to replicate the manually generated noise in the perfect FeatureNet dataset. In essence, a lower Dice score with a higher voxel score implies that the model is similar, but with a high degree of noise.
Quantitative evaluation of U-Net to generate imperfect voxel-based models

U-Net outputs - imperfect models (left), FeatureNet perfect models (right)

Figure 6 Long description
Panel A: Imperfect Models generated using U-Net. The panel shows various shapes with imperfections. The shapes include O-Ring, Circular End Pocket, Circular End Slot, Circular Pocket, Non-Rectangular Pocket, Rectangular Pocket, and Triangular Pocket. Each shape has visible inconsistencies and noise. Panel B: FeatureNet Perfect Models. The panel shows the same shapes as in Panel A but without imperfections. The shapes are clearly defined and consistent.
Sample 3D voxel-based models produced by U-Net

4.2. Outcome of trained AFR model
The dataset of perfect and imperfect voxel-based CAD models generated using the above data surrogation module enables us to train an automatic feature recognition model to predict the correct feature type by taking an imperfect model as input.
Ultimately, three trained networks were tested on a dataset of previously unseen imperfect voxel-based models. Five models per category were created manually using VR-Sculpting by the authors, which were then augmented by shrinkage to generate a total of 140 models (20 per category), forming the test dataset. The network trained on D2 (perfect only) performed poorly, giving an accuracy of 65.7%, whereas the one trained on D3 (imperfect only) gave an accuracy of 83.57%. In comparison, a network trained on D1 (both perfect and imperfect) achieved an accuracy of 92.86%. This clearly shows that by including the noise introduced within the imperfect models during training, the systems were better able to correctly recognise features. This holds even in the case where the training set included no perfect models, and had only imperfect data to base its predictions.
Figure 8 shows the confusion matrices of the three networks trained on D1, D2, and D3 when tested on the test dataset. The network trained on D1 struggled with only a non-rectangular pocket (NR). The network trained on D3 was, in addition, confused in recognising Circular end slot (V-CEnd) and NR, confusing it with NR and CEnd. Whereas, a network trained only on a perfect dataset (D2) was confused in recognising Tri, CEnd, while struggling with V-CEnd and NR as well.
Confusion matrix for (a) D1, (b) D2, and (c) 3

5. Discussion and future scope
The results validate the accuracy of the generated dataset and the novel surrogation method devised in this work. The matching voxel accuracies and dice coefficients of the manually generated imperfect-perfect data pairs with the U-Net generated imperfect-perfect pairs show the effectiveness of the proposed surrogate data generation pipeline in replicating human-like imperfections. Voxel accuracies of all feature types over 0.9 suggest that the trained U-Net model preserved the location and size of the feature, whereas a dice coefficient above 0.6 indicates that the generated output adds a substantial amount of noise in the perfect data.
The testing of the AFR model further shows the importance of our contribution by providing testing with imperfect models. The trained AFR model achieved the validation accuracy of 99.42% and test accuracy of 92.86% on previously unseen data. The comparison of the dataset with imperfect models and without imperfect models further demonstrates the effectiveness of the generated dataset. The 27% accuracy drop when trained only on perfect data and the 9% drop when trained only on imperfect data indicate that although imperfect data is important for training a feature recognition model, it must be augmented with perfect data. This could be because perfect models provide a uniform structure of the feature shapes, and once the network is trained on them, it learns the overall shape of the features.
The results confirm the viability of the proposed workflow for data surrogation and pave the way for recognising features from imperfect models, similar in composition to those produced by other digital workflows, such as scanning and CAD reconstruction from images. It could reduce the time-consuming and error-prone tasks of noise filtering and mesh reconstruction. This paper focused on VR sculpting and used it as a source of imperfect CAD models to generate data. The high recognition accuracy of 92% and the fact that it correctly detected most features suggest that the proposed method could help create an intuitive CAD modeller that utilises AI to generate parametric CAD models in real-time.
The current work focused only on 2.5D features, but our results show that even simple symmetric objects become hard to detect when imperfections are present. In the future, the dataset will be augmented for full 3D feature recognition and further developed to recognise intersecting features. The voxel-based dataset presented in this work can also be converted into a signed distance field to recognise features while reducing computational demand, as in (Reference Hilbig, Vogt, Holtzhausen and PaetzoldHilbig et al., 2023). It will be interesting to see if it can give similar or better accuracy.
6. Conclusion
This paper presents a comprehensive dataset of imperfect voxel-based models that can support feature recognition for various downstream applications, such as VR-based CAD modelling, Remanufacturing, and Reverse engineering. It presented a new approach to augmenting perfect data to generate imperfect data using a 3D CNN-based U-Net. The trained U-Net was used to create imperfect voxel-based models from a perfect FeatureNet dataset. The generated dataset yielded voxel accuracies within 4% and Dice coefficients within 15% of those in the original imperfect dataset, demonstrating good replication of human imperfections. The ML model trained for feature recognition on the final dataset performed well on the test dataset, achieving an accuracy of 92.8%, compared to 65.7% when trained only on perfect data and 83.5% when trained only on imperfect data. This work opens up a new paradigm in feature recognition research, which is in line with the latest high-speed but low-fidelity CAD pipelines.
Acknowledgement
The work has been undertaken as part of the Engineering and Physical Sciences Research Council (EPSRC) grants - EP/W024152/1.


