## 4 Dataset Development
### Depth Map Standardization  
Depth maps generated from simulations often require standardization to ensure consistency and accuracy in subsequent processing steps. Algorithm 1 illustrates the process we employ for this standardization. The algorithm begins with the calculation of the centroid of the depth map, providing a central reference point for further transformations. Principal Component Analysis (PCA) is then used to determine the primary axes of variance in the data, identifying the principal components that describe the orientation of the surface in the 3D space. The PCA eigenvectors lead to a rotation matrix, ensuring that the surface data are oriented with the XY plane, with the Z-axis representing height. The transformation aligns the centroid of the depth map to the origin, standardizing the position and orientation. Finally, the depth values are normalized to a predefined range of \([0,1]\). ```
1:procedureNormalizeDepthMap(\(DepthMap\))
2: Centroid Calculation:
3:\(\mathcal{C}\leftarrow\frac{1}{N}\sum_{i=1}^{N}\mathcal{D}_{k}^{i}\)\(\triangleright\) Calculate the centroid \(C\) of the depth map \(\mathcal{D}\)
4:Principal Component Analysis (PCA):
5:\(\Sigma\leftarrow\frac{1}{N-1}\sum_{i=1}^{N}(\mathcal{D}_{k}^{i}-C)(\mathcal{D} _{k}^{i}-C)^{T}\)\(\triangleright\) Compute the covariance matrix \(\Sigma\)
6:\([\overline{v}_{1},\overline{v}_{2},\overline{v}_{3}]\leftarrow\) Eigenvectors(\(\Sigma\))\(\triangleright\) Eigenvectors \(\overline{v}_{1},\overline{v}_{2},\overline{v}_{3}\) of \(\Sigma\)
7:Rotation Calculation:
8:Normalization and Vector Operations:
9:Normalize the normal vector \(\vec{n}=\frac{\vec{n}}{\|\vec{n}\|}\)
10:\(\vec{v}=\vec{n}\times[0,0,1]\)\(\triangleright\) Cross product with Z-axis
11:\(s=\|\vec{v}\|\), \(c=\vec{n}\cdot[0,0,1]\)\(\triangleright\) Sine and cosine of the angle
12:Skew-Symmetric Matrix and Rodrigues' Formula:
13:Skew(\(\vec{v}\)) = \( \begin{bmatrix}0&-v_{3}&v_{2}\\ v_{3}&0&-v_{1}\\ -v_{2}&v_{1}&0\end{bmatrix} \)
14:\(R=I+\)Skew(\(\vec{v}\)) + Skew(\(\vec{v}\)) 2\(\frac{1-c}{s^{2}}\)\(\triangleright\) Compute the rotation matrix
15:Transformation Application:
16:\(\mathcal{D}_{k}^{i}\gets R(\mathcal{D}_{k}^{i}-C)\)\(\triangleright\) Apply the rotation and translation to each point in the depth map

### Data Preparation

The dataset used in our study consists of a diverse set of depth maps generated from simulated environments, totaling 400 images. We include 250 deformation surface samples and 150 geometric ones, as our research indicated that deformation surfaces present more complexity, and so were emphasized in our simulations. Each image is \(320\times 240\) pixels in size and is rendered in greyscale. The dataset is divided into training, validation, and test sets, with 80% used for training, 10% for validation, and 10% for testing. This division ensures a robust evaluation of the model's performance across different data splits and helps in assessing generalization. ## 5 Results and Discussion

All experiments were conducted on a system equipped with an NVIDIA GeForce RTX 3060 GPU, 12 th Gen Intel(R) Core(TM) i7-12700 CPU, and 32 GB of RAM. The training process for the VUDNet was implemented using TensorFlow (version 2.12.0) and Keras (version 2.12.0). The implementation of VUDNet is available on GitHub at [[https://github.com/hadious/VUDNet](https://github.com/hadious/VUDNet)]([https://github.com/hadious/VUDNet](https://github.com/hadious/VUDNet)), accessed on 16 November 2024. The entire training phase took approximately 4 h to complete. Inference times are reported in Table 1.

Figure 4 qualitatively demonstrates the success of our model. The predicted depth map exhibits a high degree of smoothness, indicating effective regularization and the absence of noise or artifacts. The image shows no visible outliers, suggesting consistent accuracy across the surface.