## 3 Materials and Methods
### Vehicle Generator  
Alongside the quality control support tool, we developed a 3D vehicle generator of the multi-brand k9 van model (kSim9). kSim9 is a multi-purpose simulator, capable of converting the vehicle's digital information into a full 3D visual representation of the correctly assembled vehicle, as well as any other possible combinations. This fully autonomous module was developed as a time and cost saving tool, as it can be used as a training simulator, both for workers [29] and detection algorithms based on simulated data [10], among many other applications. By not depending on still images to form its database, all parts and components can be viewed from any angle, in any lighting condition,  
Figure 2: System architecture of the final quality control support tool, that combines automated non-conformity detection with human feedback. making the updating process of both the vehicle models and detection system less time and resource consuming. To develop the kSim9, 3891 photos of commercial and family models of Citroen and Peugeot vehicles were taken at the Peugeot Societe Anonyme (PSA) Mangualde final quality control workstation. From those, 259 distinct components were identified, with only 43 of them being identified as variable (Table 1). These 43 variable components resulted in 53 classes, considering that we distinguish left and right variants of the same object. For a detailed description of the resulting class taxonomy and their corresponding objects, please refer to Table 1 in Appendix A. All elements were modeled in Blender 2.8 ([[https://www.blender.org](https://www.blender.org)]([https://www.blender.org](https://www.blender.org)), accessed on 5 September 2020) and imported to Unity3D ([[https://unity.com](https://unity.com)]([https://unity.com](https://unity.com)), accessed on 15 November 2021) to build the validation tool used by the factory management and expert observers to confirm the reliability rate of the generated vehicles prior to the development of any software that would use the kSim9 as one of its components. The generator was deemed as an accurate visual representation of the conformity list sample in use, with a reliability rate of 100% [29]. This generator is crucial for providing training data to the automated detection module. Since we do not have ground-truth annotations for the real images collected on the shop floor, kSim9 provides us with an unlimited source of data, with the flexibility to explore several camera angles and lighting conditions, achieving as much variability as desired. More importantly, this simulated data are automatically annotated with object detection bounding boxes after some simple processing, as detailed in [10], which eliminates the annotation process altogether. Previous works [10,30] already made use of this tool to generate a simulated dataset. We now introduce an updated version that includes refinements of the vehicles and their customization options, as well as a curation of the codes given to each vehicle part. Other improvements encompass more realistic colors and textures (first two columns of Figure 6). This new version includes 40 frames per each of the different 49 car configurations for training and 10 for validation, resulting in a total of 1960 and 490 images in each set, respectively, and a total of 53 macro categories and 150 content-based image retrieval (CBIR) codes (for an explanation of the difference between the two please refer to Section 3.3.2). The previous dataset [10] had around 17 times more images, but preliminary experiments showed that with this smaller counterpart the training time decreased significantly and the performance of the system on simulated images was not significantly hindered and even improved on real images (further details in Section 4.1).