From 62c424cd54e8463a31b53861e32705d2a735f4ca Mon Sep 17 00:00:00 2001 From: Jan Kowalczyk Date: Sun, 19 Oct 2025 17:29:31 +0200 Subject: [PATCH] grammarly done --- thesis/Main.pdf | Bin 7022927 -> 7023066 bytes thesis/Main.tex | 80 ++++++++++++++++++++++++------------------------ 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/thesis/Main.pdf b/thesis/Main.pdf index c17853770f0f3977b39940e7e6b92a1617406650..1446141823de624c4d0678804b9285df4c69c606 100644 GIT binary patch delta 80387 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

@U0P_x}I)_^;vq>fetK|K5Gu=j->E-THYS>i=&) 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 gKh3)m6aAyU(mZj&^bMNX3S6epF diff --git a/thesis/Main.tex b/thesis/Main.tex index 47e4b22..ac8aeb6 100755 --- a/thesis/Main.tex +++ b/thesis/Main.tex @@ -569,16 +569,16 @@ In the following sections, we detail our adaptations to this framework: \item Experimental environment: the hardware and software stack used, with typical training and inference runtimes. \end{itemize} -Together, these components define the full experimental pipeline, from data loading, preprocessing, method training to the evaluation and comparing of methods. +Together, these components define the full experimental pipeline, from data loading, preprocessing, method training, to the evaluation and comparison of methods. \section{Framework \& Data Preparation} -DeepSAD's PyTorch implementation—our starting point—includes implementations for training on standardized datasets such as MNIST, CIFAR-10 and datasets from \citetitle{odds}~\cite{odds}. The framework can train and test DeepSAD as well as a number of baseline algorithms, namely SSAD, OCSVM, Isolation Forest, KDE and SemiDGM with the loaded data and evaluate their performance by calculating the Receiver Operating Characteristic (ROC) and its Area Under the Curve (AUC) for all given algorithms. We adapted this implementation which was originally developed for Python 3.7 to work with Python 3.12 and changed or added \rev{functionality. We allowed loading data from our of} chosen dataset, added DeepSAD models that work with the \rev{LiDAR} projections datatype, added more evaluation methods and an inference module. +DeepSAD's PyTorch implementation—our starting point—includes implementations for training on standardized datasets such as MNIST, CIFAR-10, and datasets from \citetitle{odds}~\cite{odds}. The framework can train and test DeepSAD as well as a number of baseline algorithms, namely SSAD, OCSVM, Isolation Forest, KDE, and SemiDGM, with the loaded data and evaluate their performance by calculating the Receiver Operating Characteristic (ROC) and its Area Under the Curve (AUC) for all given algorithms. We adapted this implementation, which was originally developed for Python 3.7, to work with Python 3.12 and changed or added \rev{functionality. We allowed loading data from our} chosen dataset, added DeepSAD models that work with the \rev{LiDAR} projections datatype, added more evaluation methods, and an inference module. -The raw SubTER dataset is provided as one ROS bag file per experiment, each containing a dense 3D point cloud from the Ouster OS1-32 \rev{LiDAR}. To streamline training and avoid repeated heavy computation, we project these point clouds offline into 2D “range images” as described in \rev{Section}~\ref{sec:preprocessing} and export them to files as NumPy arrays. Storing precomputed projections allows rapid data loading during training and evaluation. Many modern \rev{LiDARs} can be configured to output range images directly which would bypass the need for post-hoc projection. When available, such native range-image streams can further simplify preprocessing or even allow skipping this step completely. +The raw SubTER dataset is provided as one ROS bag file per experiment, each containing a dense 3D point cloud from the Ouster OS1-32 \rev{LiDAR}. To streamline training and avoid repeated heavy computation, we project these point clouds offline into 2D “range images” as described in \rev{Section}~\ref{sec:preprocessing} and export them to files as NumPy arrays. Storing precomputed projections allows rapid data loading during training and evaluation. Many modern \rev{LiDARs} can be configured to output range images directly, which would bypass the need for post-hoc projection. When available, such native range-image streams can further simplify preprocessing or even allow skipping this step completely. -We extended the DeepSAD framework’s PyTorch \texttt{DataLoader} by implementing a custom \texttt{Dataset} class that ingests our precomputed NumPy range-image files and attaches appropriate evaluation labels. Each experiment’s frames are stored as individual \texttt{.npy} files with the numpy array shape \((\text{Number of Frames}, H, W)\), containing the point clouds' reciprocal range values. Our \texttt{Dataset} initializer scans a directory of these files, loads the NumPy arrays from file into memory, transforms them into PyTorch tensors and assigns evaluation and training labels accordingly. +We extended the DeepSAD framework’s PyTorch \texttt{DataLoader} by implementing a custom \texttt{Dataset} class that ingests our precomputed NumPy range-image files and attaches appropriate evaluation labels. Each experiment’s frames are stored as individual \texttt{.npy} files with the numpy array shape \((\text{Number of Frames}, H, W)\), containing the point clouds' reciprocal range values. Our \texttt{Dataset} initializer scans a directory of these files, loads the NumPy arrays from file into memory, transforms them into PyTorch tensors, and assigns evaluation and training labels accordingly. The first labeling scheme, called \emph{experiment-based labels}, assigns \[ @@ -590,7 +590,7 @@ The first labeling scheme, called \emph{experiment-based labels}, assigns \] At load time, any file with “smoke” in its name is treated as anomalous (label \(-1\)), and all others (normal experiments) are labeled \(+1\). -To obtain a second source of ground truth, we also support \emph{manually-defined labels}. A companion JSON file specifies a start and end frame index for each of the four smoke experiments—defining the interval of unequivocal degradation. During loading the second label $y_{man}$ is assigned as follows: +To obtain a second source of ground truth, we also support \emph{manually-defined labels}. A companion JSON file specifies a start and end frame index for each of the four smoke experiments—defining the interval of unequivocal degradation. During loading, the second label $y_{man}$ is assigned as follows: \[ y_{\mathrm{man}} = @@ -601,19 +601,19 @@ To obtain a second source of ground truth, we also support \emph{manually-define \end{cases} \] -We pass instances of this \texttt{Dataset} to PyTorch’s \texttt{DataLoader}, enabling batch sampling, shuffling, and multi-worker loading. The dataloader returns the preprocessed \rev{LiDAR} projection, both evaluation labels and a semi-supervised training label. +We pass instances of this \texttt{Dataset} to PyTorch’s \texttt{DataLoader}, enabling batch sampling, shuffling, and multi-worker loading. The dataloader returns the preprocessed \rev{LiDAR} projection, both evaluation labels, and a semi-supervised training label. -To control the supervision of DeepSAD's training, our custom PyTorch \texttt{Dataset} accepts two integer parameters, \texttt{num\_labelled\_normal} and \texttt{num\_labelled\_anomalous}, which specify how many samples of each class should retain their labels during training. We begin with the manually-defined evaluation labels, to not use mislabeled anomalous frames for the semi-supervision. Then, we randomly un-label (set to 0) enough samples of each class until exactly \texttt{num\_labelled\_normal} normals and \texttt{num\_labelled\_anomalous} anomalies remain labeled. +To control the supervision of DeepSAD's training, our custom PyTorch \texttt{Dataset} accepts two integer parameters, \texttt{num\_labelled\_normal} and \texttt{num\_labelled\_anomalous}, which specify how many samples of each class should retain their labels during training. We begin with the manually-defined evaluation labels, so as not to use mislabeled anomalous frames for the semi-supervision. Then, we randomly un-label (set to 0) enough samples of each class until exactly \texttt{num\_labelled\_normal} normals and \texttt{num\_labelled\_anomalous} anomalies remain labeled. To obtain robust performance estimates on our relatively small dataset, we implement $k$-fold cross-validation. A single integer parameter, \texttt{num\_folds}, controls the number of splits. We use scikit-learn’s \texttt{KFold} (from \texttt{sklearn.model\_selection}) with \texttt{shuffle=True} and a fixed random seed to partition each experiment’s frames into \texttt{num\_folds} disjoint folds. Training then proceeds across $k$ rounds, each time training on $(k-1)/k$ of the data and evaluating on the remaining $1/k$. In our experiments, we set \texttt{num\_folds=5}, yielding an 80/20 train/evaluation split per fold. -For inference (i.e.\ model validation on held-out experiments), we provide a second \texttt{Dataset} class that loads a single experiment's NumPy file (no k-fold splitting), does not assign any labels to the frames nor does it shuffle frames, preserving temporal order. This setup enables seamless, frame-by-frame scoring of complete runs—crucial for analyzing degradation dynamics over an entire experiment. +For inference (i.e., model validation on held-out experiments), we provide a second \texttt{Dataset} class that loads a single experiment's NumPy file (no k-fold splitting), does not assign any labels to the frames, nor does it shuffle frames, preserving temporal order. This setup enables seamless, frame-by-frame scoring of complete runs—crucial for analyzing degradation dynamics over an entire experiment. \section{Model Configuration} -Since the neural network architecture trained in the \rev{DeepSAD} method is not fixed as described in \rev{Section}~\ref{sec:algorithm_details} but rather chosen based on the input data, we also had to choose an autoencoder architecture befitting our preprocessed \rev{LiDAR} data projections. Since \rev{\cite{degradation_quantification_rain}} reported success in training DeepSAD on similar data we firstly adapted the network architecture utilized by them for our use case, which is based on the simple and well understood LeNet architecture~\cite{lenet}. Additionally we were interested in evaluating the importance and impact of a well-suited network architecture for DeepSAD's performance and therefore designed a second network architecture henceforth \rev{refered} to as "efficient architecture" to incorporate a few modern techniques, befitting our use case. +Since the neural network architecture trained in the \rev{DeepSAD} method is not fixed as described in \rev{Section}~\ref{sec:algorithm_details} but rather chosen based on the input data, we also had to choose an autoencoder architecture befitting our preprocessed \rev{LiDAR} data projections. Since \rev{\cite{degradation_quantification_rain}} reported success in training DeepSAD on similar data, we first adapted the network architecture utilized by them for our use case, which is based on the simple and well-understood LeNet architecture~\cite{lenet}. Additionally, we were interested in evaluating the importance and impact of a well-suited network architecture for DeepSAD's performance and therefore designed a second network architecture, henceforth \rev{referred} to as "efficient architecture", to incorporate a few modern techniques, befitting our use case. -The LeNet-inspired autoencoder can be split into an encoder network (\rev{Figure}~\ref{fig:setup_arch_lenet_encoder}) and a decoder network (\rev{Figure}~\ref{fig:setup_arch_lenet_decoder}) with a latent space \rev{in between} the two parts. Such an arrangement is typical for autoencoder architectures as we discussed in \rev{Section}~\ref{sec:autoencoder}. The encoder network is simultaneously DeepSAD's main training architecture which is used to infer the degradation quantification in our use case, once trained. +The LeNet-inspired autoencoder can be split into an encoder network (\rev{Figure}~\ref{fig:setup_arch_lenet_encoder}) and a decoder network (\rev{Figure}~\ref{fig:setup_arch_lenet_decoder}) with a latent space \rev{in between} the two parts. Such an arrangement is typical for autoencoder architectures, as we discussed in \rev{Section}~\ref{sec:autoencoder}. The encoder network is simultaneously DeepSAD's main training architecture, which is used to infer the degradation quantification in our use case, once trained. \figc{setup_arch_lenet_encoder}{diagrams/arch_lenet_encoder}{ Architecture of the LeNet-inspired encoder. The input is a \rev{LiDAR} range image of size @@ -637,7 +637,7 @@ The LeNet-inspired encoder network (see \rev{Figure}~\ref{fig:setup_arch_lenet_e $4\times 512\times 8$ (channels $\times$ width $\times$ height). The first upsampling stage applies interpolation with scale factor 2, followed by a transpose convolution with 8 output channels, batch normalization, and LeakyReLU activation, - yielding $8\times 1024\times 16$. The second stage again upsamples by factor 2 and applies + yielding $8\times 1024\times 16$. The second stage again upsamples by a factor of 2 and applies a transpose convolution, reducing the channels to 1. This produces the reconstructed output of size $1\times 2048\times 32$, which matches the original input dimensionality required for the autoencoding objective. @@ -645,14 +645,14 @@ The LeNet-inspired encoder network (see \rev{Figure}~\ref{fig:setup_arch_lenet_e The decoder network (see \rev{Figure}~\ref{fig:setup_arch_lenet_decoder}) mirrors the encoder and reconstructs the input from its latent representation. A dense layer first expands the latent vector into a feature map of shape $4\times 512\times 8$, which is then upsampled and refined in two successive stages. Each stage consists of an interpolation step that doubles the spatial resolution, followed by a transpose convolution that learns how to add structural detail. The first stage operates on 4 channels, and the second on 8 channels, with the final transpose convolution reducing the output to a single channel. The result is a reconstructed output of size $1\times 2048\times 32$, matching the original input dimensionality required for the autoencoding objective. -Even though the LeNet-inspired encoder proved capable of achieving our degradation quantification objective in initial experiments, we identified several shortcomings that motivated the design of a second, more efficient architecture. The most important issue concerns the shape of the CNN's receptive field (RF) which describes the region of the input that influences a single output activation. Its size and aspect ratio determine which structures the network can effectively capture: if the RF is too small, larger patterns cannot be detected, while an excessively large RF may hinder the network from learning to recognize fine details. For standard image data, the RF is often expressed as a symmetric $n \times n$ region, but in principle it can be computed independently per axis. +Even though the LeNet-inspired encoder proved capable of achieving our degradation quantification objective in initial experiments, we identified several shortcomings that motivated the design of a second, more efficient architecture. The most important issue concerns the shape of the CNN's receptive field (RF), which describes the region of the input that influences a single output activation. Its size and aspect ratio determine which structures the network can effectively capture: if the RF is too small, larger patterns cannot be detected, while an excessively large RF may hinder the network from learning to recognize fine details. For standard image data, the RF is often expressed as a symmetric $n \times n$ region, but in principle it can be computed independently per axis. %\figc{setup_ef_concept}{figures/setup_ef_concept}{Receptive fields in a CNN. Each output activation aggregates information from a region of the input; stacking layers expands this region, while kernel size, stride, and padding control how quickly it grows and what shape it takes. (A) illustrates slower, fine-grained growth; (B) shows faster expansion, producing a larger—potentially anisotropic—receptive field and highlighting the trade-off between detail and context. Reproduced from~\cite{ef_concept_source}}{width=.6\textwidth} -The RF shape's issue arises from the fact that spinning multi-beam \rev{LiDAR} oftentimes produce point clouds posessing dense horizontal but limited vertical resolution. In our \rev{case, this} results in a pixel-per-degree resolution of approximately $5.69\,\sfrac{pixel}{deg}$ vertically and $1.01\,\sfrac{pixel}{deg}$ horizontally. Consequently, the LeNet-inspired encoder’s calculated receptive field of $16 \times 16$ pixels translates to an angular size of $15.88^{\circ} \times 2.81^{\circ}$, which is highly rectangular in angular space. Such a mismatch risks limiting the network’s ability to capture degradation patterns that extend differently across the two axes. +The RF shape's issue arises from the fact that spinning multi-beam \rev{LiDAR} oftentimes produce point clouds possessing dense horizontal but limited vertical resolution. In our \rev{case, this} results in a pixel-per-degree resolution of approximately $5.69\,\sfrac{pixel}{deg}$ vertically and $1.01\,\sfrac{pixel}{deg}$ horizontally. Consequently, the LeNet-inspired encoder’s calculated receptive field of $16 \times 16$ pixels translates to an angular size of $15.88^{\circ} \times 2.81^{\circ}$, which is highly rectangular in angular space. Such a mismatch risks limiting the network’s ability to capture degradation patterns that extend differently across the two axes. -To adjust for this, we decided to modify the network architecture and included further modificatons to improve the method's performance. The encoder (see \rev{Figure}~\ref{fig:setup_arch_ef_encoder}) follows the same general idea as the LeNet-inspired encoder, but incorporates the following modificatons: +To adjust for this, we decided to modify the network architecture and included further modifications to improve the method's performance. The encoder (see \rev{Figure}~\ref{fig:setup_arch_ef_encoder}) follows the same general idea as the LeNet-inspired encoder, but incorporates the following modifications: \begin{itemize} \item \textbf{Non-square convolution kernels.} Depthwise-separable convolutions with kernel size $3 \times 17$ are used instead of square kernels, resulting in an RF of $10 \times 52$ pixels, corresponding to $9.93^{\circ} \times 9.14^{\circ}$, substantially more balanced than the LeNet-inspired network's RF. \item \textbf{Circular padding along azimuth.} The horizontal axis is circularly padded to respect the wrap-around of $360^{\circ}$ \rev{LiDAR} data, preventing artificial seams at the image boundaries. @@ -684,7 +684,7 @@ The decoder (see \rev{Figure}~\ref{fig:setup_arch_ef_decoder}) mirrors the encod \begin{itemize} \item \textbf{Nearest-neighbor upsampling followed by convolution.} Instead of relying solely on transposed convolutions, each upsampling stage first enlarges the feature map using parameter-free nearest-neighbor interpolation, followed by a depthwise-separable convolution. This strategy reduces the risk of checkerboard artifacts while still allowing the network to learn fine detail. \item \textbf{Asymmetric upsampling schedule.} Horizontal resolution is restored more aggressively (e.g., scale factor $1 \times 4$) to reflect the anisotropic downsampling performed in the encoder. - \item \textbf{Final convolution with circular padding.} The output is generated using a $(3 \times 17)$ convolution with circular padding along the azimuth similar to the new encoder, ensuring consistent treatment of the 360° \rev{LiDAR} input. + \item \textbf{Final convolution with circular padding.} The output is generated using a $(3 \times 17)$ convolution with circular padding along the azimuth, similar to the new encoder, ensuring consistent treatment of the 360° \rev{LiDAR} input. \end{itemize} \fig{setup_arch_ef_decoder}{diagrams/arch_ef_decoder}{ @@ -703,7 +703,7 @@ The decoder (see \rev{Figure}~\ref{fig:setup_arch_ef_decoder}) mirrors the encod } -To compare the computational efficiency of the two architectures we show the number of trainable parameters and the number of multiply–accumulate operations (MACs) for different latent space sizes used in our experiments in \rev{Table}~\ref{tab:params_lenet_vs_efficient}. Even though the efficient architecture employs more layers and channels which allows the network to learn to recognize more types of patterns when compared to the LeNet-inspired one, the encoders' MACs are quite similar. The more complex decoder design of the efficient network appears to contribute a lot more MACs, which leads to longer pretraining times which we report in \rev{Section}~\ref{sec:setup_experiments_environment}. +To compare the computational efficiency of the two architectures, we show the number of trainable parameters and the number of multiply–accumulate operations (MACs) for different latent space sizes used in our experiments in \rev{Table}~\ref{tab:params_lenet_vs_efficient}. Even though the efficient architecture employs more layers and channels, which allows the network to learn to recognize more types of patterns when compared to the LeNet-inspired one, the encoders' MACs are quite similar. The more complex decoder design of the efficient network appears to contribute a lot more MACs, which leads to longer pretraining times, which we report in \rev{Section}~\ref{sec:setup_experiments_environment}. %& \multicolumn{4}{c}{\textbf{Encoders}} & \multicolumn{4}{c}{\rev{\textbf{Autoencoders (Encoder $+$ Decoder)}}} \\ @@ -750,9 +750,9 @@ To contextualize the performance of DeepSAD, we compare against two widely used \paragraph{Isolation Forest} is an ensemble method for anomaly detection that builds on the principle that anomalies are easier to separate from the rest of the data. It constructs many binary decision trees, each by recursively splitting the data at randomly chosen features and thresholds. In this process, the “training” step consists of building the forest of trees: each tree captures different random partitions of the input space, and together they form a diverse set of perspectives on how easily individual samples can be isolated. -Once trained, the method assigns an anomaly score to new samples by measuring their average path length through the trees. Normal samples, being surrounded by other similar samples, typically require many recursive splits and thus end up deep in the trees. Anomalies, by contrast, stand out in one or more features, which means they can be separated much earlier and end up closer to the root. The shorter the average path length, the more anomalous the sample is considered. This makes Isolation Forest highly scalable and robust: training is efficient and the resulting model is fast to apply to new data. In our setup, we apply Isolation Forest directly to the \rev{LiDAR} input representation, providing a strong non-neural baseline for comparison against DeepSAD. +Once trained, the method assigns an anomaly score to new samples by measuring their average path length through the trees. Normal samples, being surrounded by other similar samples, typically require many recursive splits and thus end up deep in the trees. Anomalies, by contrast, stand out in one or more features, which means they can be separated much earlier and end up closer to the root. The shorter the average path length, the more anomalous the sample is considered. This makes Isolation Forest highly scalable and robust: training is efficient, and the resulting model is fast to apply to new data. In our setup, we apply Isolation Forest directly to the \rev{LiDAR} input representation, providing a strong non-neural baseline for comparison against DeepSAD. -\paragraph{OCSVM} takes a very different approach by learning a flexible boundary around normal samples. It assumes all training data to be normal, with the goal of enclosing the majority of these samples in such a way that new points lying outside this boundary can be identified as anomalies. The boundary itself is learned using the support vector machine framework. In essence, OCSVM looks for a hyperplane in some feature space that maximizes the separation between the bulk of the data and the origin. To make this possible even when the normal data has a complex, curved shape, OCSVM uses a kernel function such as the radial basis function (RBF). The kernel implicitly maps the input data into a higher-dimensional space, where the cluster of normal samples becomes easier to separate with a simple hyperplane. When this separation is mapped back to the original input space, it corresponds to a flexible, nonlinear boundary that can adapt to the structure of the data. +\paragraph{OCSVM} takes a very different approach by learning a flexible boundary around normal samples. It assumes all training data to be normal, with the goal of enclosing the majority of these samples in such a way that new points lying outside this boundary can be identified as anomalies. The boundary itself is learned using the support vector machine framework. In essence, OCSVM looks for a hyperplane in some feature space that maximizes the separation between the bulk of the data and the origin. To make this possible, even when the normal data has a complex, curved shape, OCSVM uses a kernel function such as the radial basis function (RBF). The kernel implicitly maps the input data into a higher-dimensional space, where the cluster of normal samples becomes easier to separate with a simple hyperplane. When this separation is mapped back to the original input space, it corresponds to a flexible, nonlinear boundary that can adapt to the structure of the data. During training, the algorithm balances two competing objectives: capturing as many of the normal samples as possible inside the boundary, while keeping the region compact enough to exclude potential outliers. Once this boundary is established, applying OCSVM is straightforward — any new data point is checked against the learned boundary, with points inside considered normal and those outside flagged as anomalous. @@ -763,7 +763,7 @@ We adapted the baseline implementations to our data loader and input format and \paragraph{Evaluation Metrics} -As discussed in Section~\ref{sec:preprocessing}, evaluating model performance in our setup is challenging due to the absence of analog ground truth. Instead, we rely on binary labels that are additionally noisy and subjective. All models under consideration produce continuous anomaly scores: DeepSAD outputs a positive-valued distance to the center of a hypersphere, Isolation Forest measures deviation from the mean tree depth (which can be negative), and OCSVM returns a signed distance to the decision boundary. Because these scores differ in scale and sign—and due to the lack of a reliable degradation threshold—it is not appropriate to evaluate performance using metrics such as accuracy or F1 score, both of which require classification at a fixed threshold. +As discussed in Section~\ref{sec:preprocessing}, evaluating model performance in our setup is challenging due to the absence of an analog ground truth. Instead, we rely on binary labels that are additionally noisy and subjective. All models under consideration produce continuous anomaly scores: DeepSAD outputs a positive-valued distance to the center of a hypersphere, Isolation Forest measures deviation from the mean tree depth (which can be negative), and OCSVM returns a signed distance to the decision boundary. Because these scores differ in scale and sign—and due to the lack of a reliable degradation threshold—it is not appropriate to evaluate performance using metrics such as accuracy or F1 score, both of which require classification at a fixed threshold. Instead, we adopt threshold-independent evaluation curves that illustrate model behavior across the full range of possible thresholds. The most commonly used of these is the Receiver Operating Characteristic (ROC)~\cite{roc} curve, along with its scalar summary metric, ROC AUC. ROC curves plot the true positive rate (TPR) against the false positive rate (FPR), providing insight into how well a model separates the two classes. However, as noted in~\cite{roc_vs_prc2,roc_vs_prc} and confirmed in our own testing, ROC AUC can be misleading under strong class imbalance—a common condition in anomaly detection. @@ -785,9 +785,9 @@ In conclusion, the combination of unreliable thresholds and pronounced class imb \newsection{setup_experiments_environment}{Experiment Overview \& Computational Environment} -Across all experiments we vary three factors: (i) latent space dimensionality, (ii) encoder architecture (LeNet-inspired vs. Efficient), and (iii) the amount of semi-supervision (labeling regime). To keep results comparable, we fix the remaining training hyperparameters: all autoencoders are pretrained for $E_A = 50$~epochs with ADAM as an optimzer at a starting learning rate of $L_A = 1\cdot 10^{-5}$; all DeepSAD models are then trained for $E_M = 150$~epochs with the same optimizer and starting learning rate ($L_M = 1\cdot 10^{-5}$). The DeepSAD label-weighting parameter is kept at $\eta = 1$ and the regularization rate at $\lambda = 1\cdot 10^{-6}$ for all runs. Every configuration is evaluated with 5-fold cross-validation, and we report fold means. +Across all experiments, we vary three factors: (i) latent space dimensionality, (ii) encoder architecture (LeNet-inspired vs. Efficient), and (iii) the amount of semi-supervision (labeling regime). To keep results comparable, we fix the remaining training hyperparameters: all autoencoders are pretrained for $E_A = 50$~epochs with ADAM as an optimizer at a starting learning rate of $L_A = 1\cdot 10^{-5}$; all DeepSAD models are then trained for $E_M = 150$~epochs with the same optimizer and starting learning rate ($L_M = 1\cdot 10^{-5}$). The DeepSAD label-weighting parameter is kept at $\eta = 1$ and the regularization rate at $\lambda = 1\cdot 10^{-6}$ for all runs. Every configuration is evaluated with 5-fold cross-validation, and we report fold means. -We first search over the latent bottleneck size by pretraining autoencoders only. For both encoder backbones, we evaluate latent sizes $32, 64, 128, 256, 512, 768,$ and $1024$. The goal is to identify compact yet expressive representations and to compare the autoencoding performance between the two network architectures LeNet-inspired and Efficient. Additionally, we are interested in finding possible correlations between the autoencoder performance and the DeepSAD anomaly detection performance. +We first search over the latent bottleneck size by pretraining autoencoders only. For both encoder backbones, we evaluate latent sizes $32, 64, 128, 256, 512, 768,$ and $1024$. The goal is to identify compact yet expressive representations and to compare the autoencoding performance between the two network architectures, LeNet-inspired and Efficient. Additionally, we are interested in finding possible correlations between the autoencoder performance and the DeepSAD anomaly detection performance. Using the same latent sizes and backbones, we train full DeepSAD models initialized from the pretrained encoders. We study three supervision regimes, from unsupervised to strongly supervised (see Table~\ref{tab:labeling_regimes} for proportions within the training folds): \begin{itemize} @@ -795,7 +795,7 @@ Using the same latent sizes and backbones, we train full DeepSAD models initiali \item \textbf{Low supervision:} $(50,10)$ labeled samples. \item \textbf{High supervision:} $(500,100)$ labeled samples. \end{itemize} -Percentages in Table~\ref{tab:labeling_regimes} are computed relative to the training split of each fold (80\% of the data) from the experiment-based labeling scheme. Importantly, for semi-supervised labels we \emph{only} use hand-selected, unambiguous smoke intervals from the manually-defined evaluation scheme, to avoid injecting mislabeled data into training. +Percentages in Table~\ref{tab:labeling_regimes} are computed relative to the training split of each fold (80\% of the data) from the experiment-based labeling scheme. Importantly, for semi-supervised labels, we \emph{only} use hand-selected, unambiguous smoke intervals from the manually-defined evaluation scheme to avoid injecting mislabeled data into training. \begin{table} \centering @@ -901,7 +901,7 @@ Pretraining runtimes for the autoencoders are reported in Table~\ref{tab:ae_pret \end{tabularx} \end{table} -The full DeepSAD training times are shown in Table~\ref{tab:train_runtimes_compact}, alongside the two classical baselines Isolation Forest and OCSVM. Here the contrast between methods is clear: while DeepSAD requires on the order of 15–20 minutes of GPU training per configuration and fold, both baselines complete training in seconds on CPU. The OCSVM training can only be this fast due to the reduced input dimensionality from utilizing DeepSAD's pretraining encoder as a preprocessing step, although other dimensionality reduction methods may also be used which could require less computational resources for this step. +The full DeepSAD training times are shown in Table~\ref{tab:train_runtimes_compact}, alongside the two classical baselines, Isolation Forest and OCSVM. Here, the contrast between methods is clear: while DeepSAD requires on the order of 15–20 minutes of GPU training per configuration and fold, both baselines complete training in seconds on CPU. The OCSVM training can only be this fast due to the reduced input dimensionality from utilizing DeepSAD's pretraining encoder as a preprocessing step, although other dimensionality reduction methods may also be used, which could require less computational resources for this step. \begin{table} \centering @@ -952,7 +952,7 @@ Together, these results provide a comprehensive overview of the computational re \newchapter{results_discussion}{Results and Discussion} -The \rev{evaluation experiments which the setup in in Chapter~\ref{chp:experimental_setup} described,} are presented in this chapter. We begin in Section~\ref{sec:results_pretraining} with the pretraining stage, where the two autoencoder architectures were trained across multiple latent space dimensionalities. These results provide insight into the representational capacity of each architecture. In Section~\ref{sec:results_deepsad}, we turn to the main experiments: training DeepSAD models and benchmarking them against baseline algorithms (Isolation Forest and OCSVM). Finally, in Section~\ref{sec:results_inference}, we present inference results on \rev{data} that were held out during training. These plots illustrate how the algorithms behave when applied sequentially to unseen \rev{data}, offering a more practical perspective on their potential for real-world rescue robotics applications. +In this chapter, we present the \rev{evaluation experiments, outlined in Chapter~\ref{chp:experimental_setup}}. We begin in Section~\ref{sec:results_pretraining} with the pretraining stage, where the two autoencoder architectures were trained across multiple latent space dimensionalities. These results provide insight into the representational capacity of each architecture. In Section~\ref{sec:results_deepsad}, we turn to the main experiments: training DeepSAD models and benchmarking them against baseline algorithms (Isolation Forest and OCSVM). Finally, in Section~\ref{sec:results_inference}, we present inference results on \rev{data} that were held out during training. These plots illustrate how the algorithms behave when applied sequentially to unseen \rev{data}, offering a more practical perspective on their potential for real-world rescue robotics applications. % --- Section: Autoencoder Pretraining Results --- \newsection{results_pretraining}{Autoencoder Pretraining Results} @@ -995,7 +995,7 @@ Due to the challenges of ground truth quality, evaluation results must be interp \item \textbf{Manually-defined labels:} A cleaner ground truth, containing only clearly degraded frames. This removes mislabeled intervals and allows nearly perfect separation. However, it also simplifies the task too much, because borderline cases are excluded. \end{itemize} -Table~\ref{tab:results_ap} summarizes average precision (AP) across latent dimensions, labeling regimes, and methods. Under experiment-based evaluation, both DeepSAD variants consistently outperform the baselines, reaching AP values around 0.60–0.66 compared to 0.21 for \rev{the} Isolation Forest and 0.31–0.49 for OCSVM. Under manually-defined evaluation, DeepSAD achieves nearly perfect AP in all settings, while the baselines remain much lower. This contrast shows that the lower AP under experiment-based evaluation is not a weakness of DeepSAD itself, but a direct result of mislabeled samples in the evaluation data. The manually-defined scheme therefore confirms that DeepSAD separates clearly normal from clearly degraded frames very well, while also highlighting that label noise must be kept in mind when interpreting the experiment-based results. +Table~\ref{tab:results_ap} summarizes average precision (AP) across latent dimensions, labeling regimes, and methods. Under experiment-based evaluation, both DeepSAD variants consistently outperform the baselines, reaching AP values around 0.60–0.66 compared to 0.21 for \rev{the} Isolation Forest and 0.31–0.49 for OCSVM. Under manually-defined evaluation, DeepSAD achieves nearly perfect AP in all settings, while the baselines remain much lower. This contrast shows that the lower AP under experiment-based evaluation is not a weakness of DeepSAD itself, but a direct result of mislabeled samples in the evaluation data. Therefore, the manually-defined scheme confirms that DeepSAD separates clearly normal from clearly degraded frames very well, while also highlighting that label noise must be kept in mind when interpreting the experiment-based results. \begin{table} \centering @@ -1050,18 +1050,18 @@ Taken together, the two evaluation schemes provide complementary insights. The e \FloatBarrier \paragraph{Effect of latent space dimensionality.} -During autoencoder pretraining we observed that reconstruction loss decreased monotonically with larger latent spaces, as expected: a bigger bottleneck allows the encoder–decoder to retain more information. If autoencoder performance were directly predictive of DeepSAD performance, we would therefore expect average precision to improve with larger latent dimensions. The actual results, however, show the opposite trend (Figure~\ref{fig:latent_dim_ap}): compact latent spaces (32–128) achieve the highest AP, while performance declines as the latent size grows. This inverse correlation is most clearly visible in the unsupervised case. Part of this effect can be attributed to evaluation label noise, which larger spaces amplify. More importantly, it shows that autoencoder performance does not translate directly into DeepSAD performance. Pretraining losses can still help compare different architectures for robustness, and performance but they cannot be used to tune the latent dimensionality: the dimensionality that minimizes reconstruction loss in pretraining is not necessarily the one that maximizes anomaly detection performance in DeepSAD. +During autoencoder pretraining, we observed that reconstruction loss decreased monotonically with larger latent spaces, as expected: a bigger bottleneck allows the encoder–decoder to retain more information. If autoencoder performance were directly predictive of DeepSAD performance, we would therefore expect average precision to improve with larger latent dimensions. The actual results, however, show the opposite trend (Figure~\ref{fig:latent_dim_ap}): compact latent spaces (32–128) achieve the highest AP, while performance declines as the latent size grows. This inverse correlation is most clearly visible in the unsupervised case. Part of this effect can be attributed to evaluation label noise, which larger spaces amplify. More importantly, it shows that autoencoder performance does not translate directly into DeepSAD performance. Pretraining losses can still help compare different architectures for robustness and performance, but they cannot be used to tune the latent dimensionality: the dimensionality that minimizes reconstruction loss in pretraining is not necessarily the one that maximizes anomaly detection performance in DeepSAD. % \paragraph{Effect of latent space dimensionality.} % Figure~\ref{fig:latent_dim_ap} shows how average precision changes with latent dimension under the experiment-based evaluation. The best performance is reached with compact latent spaces (32–128), while performance drops as the latent dimension grows. This can be explained by how the latent space controls the separation between normal and anomalous samples. Small bottlenecks act as a form of regularization, keeping the representation compact and making it easier to distinguish clear anomalies from normal frames. Larger latent spaces increase model capacity, but this extra flexibility also allows more overlap between normal frames and the mislabeled anomalies from the evaluation data. As a result, the model struggles more to keep the two groups apart. % % This effect is clearly visible in the precision--recall curves. For DeepSAD at all dimensionalities we observe high initial precision and a steep drop once the evaluation demands that mislabeled anomalies be included. However, the sharpness of this drop depends on the latent size: at 32 dimensions the fall is comparably more gradual, while at 1024 it is almost vertical. In practice, this means that higher-dimensional latent spaces amplify the label-noise problem and lead to sudden precision collapses once the clear anomalies have been detected. Compact latent spaces are therefore more robust under noisy evaluation conditions and appear to be the safer choice for real-world deployment. -\figc{latent_dim_ap}{figures/results_ap_over_latent.png}{AP as a function of latent dimension (experiment-based evaluation). DeepSAD shows inverse correlation between AP and latent space size.}{width=.7\textwidth} +\figc{latent_dim_ap}{figures/results_ap_over_latent.png}{AP as a function of latent dimension (experiment-based evaluation). DeepSAD shows an inverse correlation between AP and latent space size.}{width=.7\textwidth} \FloatBarrier \paragraph{Effect of semi-supervised labeling.} -Table~\ref{tab:results_ap} shows that the unsupervised regime \((0/0)\) achieves the best AP, while the lightly supervised regime \((50/10)\) performs worst. With many labels \((500/100)\), performance improves again but remains slightly below the unsupervised case. This pattern also appears under the manually-defined evaluation, which excludes mislabeled frames. The drop with light supervision therefore cannot be explained by noisy evaluation targets, but must stem from the training process itself. +Table~\ref{tab:results_ap} shows that the unsupervised regime \((0/0)\) achieves the best AP, while the lightly supervised regime \((50/10)\) performs worst. With many labels \((500/100)\), performance improves again but remains slightly below the unsupervised case. This pattern also appears under the manually-defined evaluation, which excludes mislabeled frames. Consequently, the drop with light supervision cannot be explained by noisy evaluation targets, but must stem from the training process itself. The precision--recall curves in Figure~\ref{fig:prc_over_semi} show that the overall curve shapes are similar across regimes, but shifted relative to one another in line with the AP ordering \((0/0) > (500/100) > (50/10)\). We attribute these shifts to overfitting: when only a few anomalies are labeled, the model fits them too strongly, and if those examples differ too much from other anomalies, generalization suffers. This explains why lightly supervised training performs even worse than unsupervised training, which avoids this bias. @@ -1069,7 +1069,7 @@ The precision--recall curves in Figure~\ref{fig:prc_over_semi} show that the ove The LeNet variant illustrates this effect most clearly, showing unusually high variance across folds in the lightly supervised case. In several folds, precision drops untypically early, which supports the idea that the model has overfit to a poorly chosen subset of labeled anomalies. The Efficient variant is less affected, maintaining more stable precision plateaus, which suggests it is more robust to such overfitting, which we observe consistently for nearly all latent dimensionalities. -With many labels \((500/100)\), the results become more stable again and the PRC curves closely resemble the unsupervised case, only shifted slightly left. A larger and more diverse set of labeled anomalies reduces the risk of unlucky sampling and improves generalization, but it still cannot fully match the unsupervised regime, where no overfitting to a specific labeled subset occurs. The only exception is an outlier at latent dimension 512 for LeNet, where the curve again resembles the lightly supervised case, likely due to label sampling effects amplified by higher latent capacity. +With many labels \((500/100)\), the results become more stable again, and the PRC curves closely resemble the unsupervised case, only shifted slightly left. A larger and more diverse set of labeled anomalies reduces the risk of unlucky sampling and improves generalization, but it still cannot fully match the unsupervised regime, where no overfitting to a specific labeled subset occurs. The only exception is an outlier at latent dimension 512 for LeNet, where the curve again resembles the lightly supervised case, likely due to label sampling effects amplified by higher latent capacity. In summary, three consistent patterns emerge: (i) a very small number of labels can hurt performance by causing overfitting to specific examples, (ii) many labels reduce this problem but still do not surpass unsupervised generalization, and (iii) encoder architecture strongly affects robustness, with \rev{the LeNet-inspired encoder} being more sensitive to unstable behavior than \rev{the Efficient encoder}. @@ -1077,15 +1077,15 @@ In summary, three consistent patterns emerge: (i) a very small number of labels \newsection{results_inference}{Inference on Held-Out Experiments} In addition to the evaluation of PRC and AP obtained from $k$-fold cross-validation with varying hyperparameters, we also examine the behavior of the fully trained methods when applied to previously unseen, held-out experiments. -While the prior analysis provided valuable insights into the classification capabilities of the methods, it was limited by two factors: first, the binary ground-truth labels were of uneven quality due to aforementioned mislabeling of frames, and second, the binary formulation does not reflect our overarching goal of quantifying sensor degradation on a continuous scale. +While the prior analysis provided valuable insights into the classification capabilities of the methods, it was limited by two factors: first, the binary ground-truth labels were of uneven quality due to the aforementioned mislabeling of frames, and second, the binary formulation does not reflect our overarching goal of quantifying sensor degradation on a continuous scale. To provide a more intuitive understanding of how the methods might perform in real-world applications, we therefore present results from running inference sequentially on entire experiments. These frame-by-frame time-axis plots simulate online inference and illustrate how anomaly scores evolve as data is captured, thereby serving as a candidate metric for quantifying the degree of \rev{LiDAR} degradation during operation. %\fig{results_inference_normal_vs_degraded}{figures/results_inference_normal_vs_degraded.png}{Comparison of anomaly detection methods with statistical indicators across clean (dashed) and degraded (solid) experiments. Each subplot shows one method (DeepSAD--LeNet, DeepSAD--Efficient, OCSVM, Isolation Forest). Red curves denote how strongly the anomaly score deviates from clean-experiment baseline; blue and green curves denote the percentage of missing \rev{LiDAR} points and near-sensor particle hits, respectively. Latent Space Dimensionality was 32 and semi-supervised labeling regime was 0 normal and 0 anomalous samples during training.} -\fig{results_inference_normal_vs_degraded}{figures/results_inference_normal_vs_degraded.png}{Comparison of inference on unseen experiment for clean (dashed) vs. degraded (solid) experiments. Each subplot compares one method to statistical indicators. Red curves show method's anomaly score deviation from its clean baseline; blue and green curves indicate the percentage of missing \rev{LiDAR} points and near-sensor particle hits, respectively. Latent dimension: 32; training regime: 0 normal, 0 anomalous samples.} +\fig{results_inference_normal_vs_degraded}{figures/results_inference_normal_vs_degraded.png}{Comparison of inference on unseen experiment for clean (dashed) vs. degraded (solid) experiments. Every subplot compares one method to statistical indicators. Red curves show each method's anomaly score deviation from its clean baseline; blue and green curves indicate the percentage of missing \rev{LiDAR} points and near-sensor particle hits, respectively. Latent dimension: 32; training regime: 0 normal, 0 anomalous samples.} -As discussed in Section~\ref{sec:setup_baselines_evaluation}, we apply $z$-score normalization to enable comparison of the different methods during inference. After normalization, the resulting time series were still highly noisy, which motivated the application of exponential moving average (EMA) smoothing. EMA was chosen because it is causal (does not rely on future data) and thus suitable for real-time inference. Although it introduces a small time delay, this delay is shorter than for other smoothing techniques such as running averages. +As discussed in Section~\ref{sec:setup_baselines_evaluation}, we apply $z$-score normalization to enable comparison of the different methods during inference. After normalization, the resulting time series were still highly noisy, which motivated the application of exponential moving average (EMA) smoothing. EMA was chosen because it is causal (does not rely on future data) and thus suitable for real-time inference. Although it introduces a small time delay, this delay is shorter than for other smoothing techniques, such as running averages. The plots in Figure~\ref{fig:results_inference_normal_vs_degraded} highlight important differences in how well the tested methods distinguish between normal and degraded sensor conditions. The plots show how strongly the method's scores deviate from their clean-data baseline and include statistical indicators (missing points and near-sensor particle hits) in blue and green. @@ -1104,7 +1104,7 @@ This thesis set out to answer the research question stated in Chapter~\ref{chp:i \begin{quote} Can autonomous robots quantify the reliability of \rev{LiDAR} sensor data in hazardous environments to make more informed decisions? \end{quote} -Our results indicate a qualified “yes.” Using anomaly detection (AD)—in particular DeepSAD—we can obtain scores that (i) separate clearly normal from clearly degraded scans and (ii) track degradation trends over time on held-out experiments (see Sections~\ref{sec:results_deepsad} and \ref{sec:results_inference}). At the same time, the absence of robust ground truth limits how confidently we can assess \emph{continuous} quantification quality and complicates cross-method comparisons. The remainder of this chapter summarizes what we contribute, what we learned, and what is still missing. +Our results indicate a qualified “yes.” Using anomaly detection (AD)—in particular DeepSAD—we can obtain scores that (i) separate clearly normal from clearly degraded scans and (ii) track degradation trends over time on held-out experiments (see Sections~\ref{sec:results_deepsad} and \ref{sec:results_inference}). At the same time, the absence of robust ground truth limits how confidently we can assess \emph{continuous} quantification quality and complicates cross-method comparisons. The remainder of this chapter summarizes what we contributed, what we learned, and what is still missing. \paragraph{Main contributions.} \begin{itemize} @@ -1115,9 +1115,9 @@ Our results indicate a qualified “yes.” Using anomaly detection (AD)—in pa \item \textbf{Semi-supervision insight.} In our data, \emph{unsupervised} DeepSAD performed best; \emph{light} labeling (50/10) performed worst; \emph{many} labels (500/100) partially recovered performance but did not surpass \rev{the unsupervised approach}. Evidence from \rev{precision--recall curve (PRC)} shapes and fold variance points to \emph{training-side overfitting to a small labeled set}, an effect that persists even under clean manually-defined evaluation (Table~\ref{tab:results_ap}, Figure~\ref{fig:prc_over_semi}). - \item \textbf{Encoder architecture matters.} The Efficient encoder \rev{specifically tailored to the application at hand} outperformed the LeNet-inspired variant in pretraining and downstream AD, indicating that representation quality substantially affects DeepSAD performance (Section~\ref{sec:results_pretraining}, Section~\ref{sec:results_deepsad}). + \item \textbf{Encoder architecture matters.} The Efficient encoder, \rev{specifically tailored to the application at hand,} outperformed the LeNet-inspired variant in pretraining and downstream AD, indicating that representation quality substantially affects DeepSAD performance (Section~\ref{sec:results_pretraining}, Section~\ref{sec:results_deepsad}). - \item \textbf{Temporal inference recipe.} For deployment-oriented analysis we propose $z$-score normalization based on clean data and causal EMA smoothing to obtain interpretable time-series anomaly scores on full experiments (Section~\ref{sec:results_inference}). + \item \textbf{Temporal inference recipe.} For deployment-oriented analysis, we propose $z$-score normalization based on clean data and causal EMA smoothing to obtain interpretable time-series anomaly scores on full experiments (Section~\ref{sec:results_inference}). \end{itemize} \paragraph{Practical recommendations.} @@ -1133,9 +1133,9 @@ We now turn to the main limiting factor that emerged throughout this work: the l \newsection{conclusion_data}{Missing Ground Truth as an Obstacle} -The most significant obstacle identified in this work is the absence of robust and comprehensive ground truth for \rev{LiDAR} degradation. As discussed in Chapter~\ref{chp:data_preprocessing}, it is not trivial to define what “degradation” precisely means in practice. Although error models for \rev{LiDAR} and theoretical descriptions of how airborne particles affect laser returns exist, these models typically quantify errors at the level of individual points (e.g., missing returns, spurious near-range hits). Such metrics, however, may not be sufficient to assess the impact of degraded data on downstream perception. For example, a point cloud with relatively few but highly localized errors—such as those caused by a dense smoke cloud—may cause a SLAM algorithm to misinterpret the region as a solid obstacle. In contrast, a point cloud with a greater number of dispersed errors might be easier to filter and thus cause little or no disruption in mapping. Consequently, the notion of “degradation” must extend beyond point-level error statistics to include how different error patterns propagate to downstream modules. +The most significant obstacle identified in this work is the absence of a robust and comprehensive ground truth for \rev{LiDAR} degradation. As discussed in Chapter~\ref{chp:data_preprocessing}, it is not trivial to define what “degradation” precisely means in practice. Although error models for \rev{LiDAR} and theoretical descriptions of how airborne particles affect laser returns exist, these models typically quantify errors at the level of individual points (e.g., missing returns, spurious near-range hits). Such metrics, however, may not be sufficient to assess the impact of degraded data on downstream perception. For example, a point cloud with relatively few but highly localized errors—such as those caused by a dense smoke cloud—may cause a SLAM algorithm to misinterpret the region as a solid obstacle. In contrast, a point cloud with a greater number of dispersed errors might be easier to filter and thus cause little or no disruption in mapping. Consequently, the notion of “degradation” must extend beyond point-level error statistics to include how different error patterns propagate to downstream modules. -To our knowledge, no public datasets with explicit ground truth for \rev{LiDAR} degradation exist. Even if such data were collected, for example with additional smoke sensors, it is unclear whether this would provide a usable ground truth. A smoke sensor measures only at a single point in space, while \rev{LiDAR} observes many points across the environment from a distance, so the two do not directly translate. In our dataset, we relied on the fact that clean and degraded experiments were clearly separated: data from degraded runs was collected only after artificial smoke had been released. However, the degree of degradation varied strongly within each run. Because the smoke originated from a single machine in the middle of the sensor platform's traversal path, early and late frames were often nearly as clear as those from clean experiments. This led to mislabeled frames at the run boundaries and limited the reliability of experiment-based evaluation. As shown in Section~\ref{sec:results_deepsad}, this effect capped achievable AP scores even for strong models. The underlying difficulty is not only label noise, but also the challenge of collecting labeled subsets that are representative of the full range of anomalies. +To our knowledge, no public datasets with explicit ground truth for \rev{LiDAR} degradation exist. Even if such data were collected, for example, with additional smoke sensors, it is unclear whether this would provide a usable ground truth. A smoke sensor measures only at a single point in space, while \rev{LiDAR} observes many points across the environment from a distance, so the two do not directly translate. In our dataset, we relied on the fact that clean and degraded experiments were clearly separated: data from degraded runs was collected only after artificial smoke had been released. However, the degree of degradation varied strongly within each run. Because the smoke originated from a single machine in the middle of the sensor platform's traversal path, early and late frames were often nearly as clear as those from clean experiments. This led to mislabeled frames at the run boundaries and limited the reliability of experiment-based evaluation. As shown in Section~\ref{sec:results_deepsad}, this effect capped achievable AP scores even for strong models. The underlying difficulty is not only label noise, but also the challenge of collecting labeled subsets that are representative of the full range of anomalies. One promising direction is to evaluate degradation not directly on raw \rev{LiDAR} frames but via its downstream impact. For example, future work could assess degradation based on discrepancies between a previously mapped 3D environment and the output of a SLAM algorithm operating under degraded conditions. In such a setup, subjective labeling may still be required in special cases (e.g., dense smoke clouds treated as solid obstacles by SLAM), but it would anchor evaluation more closely to the ultimate users of the data. @@ -1143,11 +1143,11 @@ Finally, the binary ground truth employed here is insufficient for the quantific \newsection{conclusion_ad}{Insights into DeepSAD and AD for Degradation Quantification} -This work has shown that the DeepSAD principle is applicable to \rev{LiDAR} degradation in hazardous environments and yields promising detection performance as well as runtime feasibility (see Sections~\ref{sec:results_deepsad} and~\ref{sec:setup_experiments_environment}). Compared to simpler baselines such as Isolation Forest and OCSVM, DeepSAD achieved much stronger separation between clean and degraded data. While OCSVM showed smoother but weaker separation and Isolation Forest produced high false positives even in clean runs, both DeepSAD variants maintained large high-precision regions before collapsing under mislabeled evaluation targets. +This work has shown that the DeepSAD principle is applicable to \rev{LiDAR} degradation in hazardous environments and yields promising detection performance as well as runtime feasibility (see Sections~\ref{sec:results_deepsad} and~\ref{sec:setup_experiments_environment}). Compared to simpler baselines such as Isolation Forest and OCSVM, DeepSAD achieved much stronger separation between clean and degraded data. While OCSVM showed smoother but weaker separation, and Isolation Forest produced high false positives even in clean runs, both DeepSAD variants maintained large high-precision regions before collapsing under mislabeled evaluation targets. -However, the semi-supervised component of DeepSAD did not improve results in our setting. In fact, adding a small number of labels often reduced performance due to overfitting to narrow subsets of anomalies, while larger labeled sets stabilized training, they still did not surpass the unsupervised regime (see Section~\ref{sec:results_deepsad}). This suggests that without representative and diverse labeled anomalies, unsupervised training remains the safer choice. +However, the semi-supervised component of DeepSAD did not improve results in our setting. In fact, adding a small number of labels often reduced performance due to overfitting to narrow subsets of anomalies. While larger labeled sets stabilized training, they still did not surpass the unsupervised regime (see Section~\ref{sec:results_deepsad}). This suggests that without representative and diverse labeled anomalies, unsupervised training remains the safer choice. -We also observed that the choice of encoder architecture and latent dimensionality are critical. The Efficient encoder consistently outperformed the LeNet-inspired baseline, producing more stable precision–recall curves and stronger overall results. Similarly, compact latent spaces (32–128 dimensions) yielded the best performance and proved more robust under noisy evaluation conditions, while larger latent spaces amplified the impact of mislabeled samples and caused sharper precision collapses. These findings underline the importance of representation design for robust anomaly detection. +We also observed that the choices of encoder architecture and latent dimensionality are critical. The Efficient encoder consistently outperformed the LeNet-inspired baseline, producing more stable precision–recall curves and stronger overall results. Similarly, compact latent spaces (32–128 dimensions) yielded the best performance and proved more robust under noisy evaluation conditions, while larger latent spaces amplified the impact of mislabeled samples and caused sharper precision collapses. These findings underline the importance of representation design for robust anomaly detection. Finally, inference experiments showed that DeepSAD’s anomaly scores can track degradation trends over time when normalized and smoothed, suggesting potential for real-world quantification. Future work could explore per-sample weighting of semi-supervised targets, especially if analog ground truth becomes available, allowing DeepSAD to capture varying degrees of degradation as a graded rather than binary signal.