From bd9171f68ecbefc97fafaaf45436590b8f6bfe91 Mon Sep 17 00:00:00 2001 From: Jan Kowalczyk Date: Sun, 19 Oct 2025 16:46:29 +0200 Subject: [PATCH] grammarly data chapter --- thesis/Main.pdf | Bin 7022815 -> 7022927 bytes thesis/Main.tex | 40 ++++++++++++++++++++-------------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/thesis/Main.pdf b/thesis/Main.pdf index f021c4784d6ea402dce361e30a0cd6cb168d2195..c17853770f0f3977b39940e7e6b92a1617406650 100644 GIT binary patch delta 43300 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 delta 43230 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 diff --git a/thesis/Main.tex b/thesis/Main.tex index 866b6cd..47e4b22 100755 --- a/thesis/Main.tex +++ b/thesis/Main.tex @@ -426,7 +426,7 @@ To ensure our chosen dataset meets the needs of reliable degradation quantificat \begin{enumerate} \item \textbf{Data Modalities:}\\ - The dataset must include \rev{LiDAR} sensor data, since we decided to train and evaluate our method on what should be the most universally used sensor type in the given domain. To keep our method as generalized as possible, we chose to only require range-based point cloud data and \rev{opt out of} sensor-specific data such as intensity or reflectivity, though it may be of interest for future work. It is also desirable to have complementary visual data such as camera images, for better context, manual verification and understanding of the data. + The dataset must include \rev{LiDAR} sensor data, since we decided to train and evaluate our method on what should be the most universally used sensor type in the given domain. To keep our method as generalized as possible, we chose to only require range-based point cloud data and \rev{opt out of} sensor-specific data such as intensity or reflectivity, though it may be of interest for future work. It is also desirable to have complementary visual data, such as camera images, for better context, manual verification, and understanding of the data. \item \textbf{Context \& Collection Method:}\\ To mirror the real-world conditions of autonomous rescue robots, the data should originate from locations such as subterranean environments (tunnels, caves, collapsed structures), which closely reflect what would be encountered during rescue missions. Ideally, it should be captured from a ground-based, self-driving robot platform in motion instead of aerial, handheld, or stationary collection, to ensure similar circumstances to the target domain. @@ -444,13 +444,13 @@ To ensure our chosen dataset meets the needs of reliable degradation quantificat -Quantitative benchmarking of degradation quantification requires a degradation label for every scan. Ideally that label would be a continuous degradation score, although a binary label would still enable meaningful comparison. As the rest of this section shows, producing any reliable label is already challenging and assigning meaningful analog scores may not be feasible at all. Compounding the problem, no public search-and-rescue (SAR) \rev{LiDAR} data set offers such ground truth as far as we know. To understand the challenges around labeling \rev{LiDAR} data degradation, we will look at what constitutes degradation in this context. +Quantitative benchmarking of degradation quantification requires a degradation label for every scan. Ideally, that label would be a continuous degradation score, although a binary label would still enable meaningful comparison. As the rest of this section shows, producing any reliable label is already challenging, and assigning meaningful analog scores may not be feasible at all. Compounding the problem, no public search-and-rescue (SAR) \rev{LiDAR} data set offers such ground truth as far as we know. To understand the challenges around labeling \rev{LiDAR} data degradation, we will look at what constitutes degradation in this context. -In \rev{Section}~\ref{sec:lidar_related_work} we discussed some internal and environmental error causes of \rev{LiDAR} sensors, such as multi-return ambiguities or atmospheric scattering respectively. While we are aware of research into singular failure \rev{modes~\cite{lidar_errormodel_particles}} or research trying to model the totality of error souces occuring in other \rev{domains~\cite{lidar_errormodel_automotive}}, there appears to be no such model for the search and rescue domain and its unique environmental circumstances. Although, scientific consensus appears to be, that airborne particles are the biggest contributor to degradation in SAR~\cite{lidar_errormodel_consensus}, we think that a more versatile definition is required to ensure confidence during critical SAR missions, which are often of a volatile nature. We are left with an ambiguous definition of what constitutes \rev{LiDAR} point cloud degradation in the SAR domain. +In \rev{Section}~\ref{sec:lidar_related_work}, we discussed some internal and environmental error causes of \rev{LiDAR} sensors, such as multi-return ambiguities or atmospheric scattering, respectively. While we are aware of research into singular failure \rev{modes~\cite{lidar_errormodel_particles}} or research trying to model the totality of error sources occurring in other \rev{domains~\cite{lidar_errormodel_automotive}}, there appears to be no such model for the search and rescue domain and its unique environmental circumstances. Although scientific consensus appears to be that airborne particles are the biggest contributor to degradation in SAR~\cite{lidar_errormodel_consensus}, we think that a more versatile definition is required to ensure confidence during critical SAR missions, which are often of a volatile nature. We are left with an ambiguous definition of what constitutes \rev{LiDAR} point cloud degradation in the SAR domain. -We considered which types of objective measurements may be available to produce ground-truth labels, such as particulate matter sensors, \rev{LiDAR} point clouds' inherent properties such as range-dropout rate and others, but we fear that using purely objective measures to label the data, would limit our learning based method to imitating the labels' sources instead of differentiating all possible degradation patterns from high quality data. Due to the incomplete error model in this domain, there may be novel or compound error sources that would not be captured using such an approach. As an example, we did observe dense smoke reflecting enough rays to produce phantom objects, which may fool SLAM algorithms. Such a case may even be labeleled incorrectly as normal by one of the aforementioned objective measurement labeling options, if the surroundings do not exhibit enough dispersed smoke particles already. +We considered which types of objective measurements may be available to produce ground-truth labels, such as particulate matter sensors, \rev{LiDAR} point clouds' inherent properties such as range-dropout rate and others, but we fear that using purely objective measures to label the data, would limit our learning based method to imitating the labels' sources instead of differentiating all possible degradation patterns from high quality data. Due to the incomplete error model in this domain, there may be novel or compound error sources that would not be captured using such an approach. As an example, we did observe dense smoke reflecting enough rays to produce phantom objects, which may fool SLAM algorithms. Such a case may even be labeled incorrectly as normal by one of the aforementioned objective measurement labeling options, if the surroundings do not already exhibit enough dispersed smoke particles. -To mitigate the aforementioned risks we adopt a human-centric, binary labelling strategy. We judged analog and multi-level discrete rating scales to be too subjective for human consideration, which only left us with the simplistic, but hopefully more reliable binary choice. We used two labeling approaches, producing two evaluation sets, whose motivation and details will be discussed in more detail in \rev{Section}~\ref{sec:preprocessing}. Rationale for the exact labeling procedures requires knowledge of the actual dataset we ended up choosing, which we will present in the next section. +To mitigate the aforementioned risks, we adopt a human-centric, binary labelling strategy. We judged analog and multi-level discrete rating scales to be too subjective for human consideration, which only left us with the simplistic, but hopefully more reliable, binary choice. We used two labeling approaches, producing two evaluation sets, whose motivation and details will be discussed in more detail in \rev{Section}~\ref{sec:preprocessing}. Rationale for the exact labeling procedures requires knowledge of the actual dataset we ended up choosing, which we will present in the next section. \newsection{data_dataset}{\rev{Dataset}} @@ -501,13 +501,13 @@ We use data from the \emph{Ouster OS1-32} \rev{LiDAR} sensor, which was configur \end{figure} -During the measurement campaign, a total of 14 experiments were conducted—10 prior to operating the artificial smoke machine (hereafter referred to as normal experiments) and 4 after it has already been running for some time (anomalous experiments). In 13 of these experiments, the sensor platform was in near-constant motion (either translating at roughly 1m/s or rotating), with only one anomalous experiment conducted while the platform remained stationary. Although this means we do not have two stationary experiments from the same exact position for a direct comparison between normal and anomalous conditions, the overall experiments are similar enough to allow for meaningful comparisons. In addition to the presence of water vapor from the smoke machine, the experiments vary in illumination conditions, the presence of humans on the measurement grounds, and additional static artifacts. For our purposes, only the artificial smoke is relevant; differences in lighting or incidental static objects do not affect our analysis. Regardless of illumination, the \rev{LiDAR} sensor consistently produces comparable point clouds, and the presence of static objects does not influence our quantification of point cloud degradation. +During the measurement campaign, a total of 14 experiments were conducted—10 prior to operating the artificial smoke machine (hereafter referred to as normal experiments) and 4 after it had already been running for some time (anomalous experiments). In 13 of these experiments, the sensor platform was in near-constant motion (either translating at roughly 1m/s or rotating), with only one anomalous experiment conducted while the platform remained stationary. Although this means we do not have two stationary experiments from the same exact position for a direct comparison between normal and anomalous conditions, the overall experiments are similar enough to allow for meaningful comparisons. In addition to the presence of water vapor from the smoke machine, the experiments vary in illumination conditions, the presence of humans on the measurement grounds, and additional static artifacts. For our purposes, only the artificial smoke is relevant; differences in lighting or incidental static objects do not affect our analysis. Regardless of illumination, the \rev{LiDAR} sensor consistently produces comparable point clouds, and the presence of static objects does not influence our quantification of point cloud degradation. In the anomalous experiments, the artificial smoke machine appears to have been running for some time before data collection began, as evidenced by both camera images and \rev{LiDAR} data showing an even distribution of water vapor around the machine. The stationary experiment is particularly unique: the smoke machine was positioned very close to the sensor platform and was actively generating new, dense smoke, to the extent that the \rev{LiDAR} registered the surface of the fresh water vapor as if it were a solid object. -The \rev{Figures}~\ref{fig:data_screenshot_pointcloud}~and~\ref{fig:data_screenshot_camera} show an representative depiction of the environment of the experiments as a camera image of the IR camera and the point cloud created by the OS1 \rev{LiDAR} sensor at practically the same time. +\rev{Figures}~\ref{fig:data_screenshot_pointcloud}~and~\ref{fig:data_screenshot_camera} show a representative depiction of the environment of the experiments as a camera image of the IR camera and the point cloud created by the OS1 \rev{LiDAR} sensor at practically the same time. -\figc{data_screenshot_pointcloud}{figures/data_screenshot_pointcloud.png}{Screenshot of 3D rendering of an experiment's point cloud produced by the OS1-32 \rev{LiDAR} sensor without smoke and with illumination (same frame and roughly same alignment as \rev{Figure}~\ref{fig:data_screenshot_camera}). Point color corresponds to measurement range and axis in \rev{the center of the figure marks} the \rev{LiDAR}'s position.}{width=.9\textwidth} +\figc{data_screenshot_pointcloud}{figures/data_screenshot_pointcloud.png}{Screenshot of 3D rendering of an experiment's point cloud produced by the OS1-32 \rev{LiDAR} sensor without smoke and with illumination (same frame and roughly same alignment as \rev{Figure}~\ref{fig:data_screenshot_camera}). The point color corresponds to the measurement range, and the axis in \rev{the center of the figure marks} the \rev{LiDAR}'s position.}{width=.9\textwidth} \figc{data_screenshot_camera}{figures/data_screenshot_camera.png}{Screenshot of IR camera output of an experiment without smoke and with illumination (same frame and roughly same alignment as \rev{Figure}~\ref{fig:data_screenshot_pointcloud})\rev{.}}{width=.9\textwidth} @@ -515,46 +515,46 @@ Regarding the dataset volume, the 10 normal experiments ranged from 88.7 to 363. \fig{data_points_pie}{figures/data_points_pie.png}{Pie chart visualizing the amount and distribution of normal and anomalous point clouds in \cite{subter}\rev{.}} -The artificial smoke introduces measurable changes that clearly separate the \textit{anomalous} runs from the \textit{normal} baseline. One change is a larger share of missing points per scan: smoke particles scatter or absorb the laser beam before it reaches a solid target, so the sensor reports an error instead of a distance. Figure~\ref{fig:data_missing_points} shows the resulting right–shift of the missing-point histogram, a known effect for \rev{LiDAR} sensors in aerosol-filled environments. Another demonstrative effect is the appearance of many spurious returns very close to the sensor; these near-field points arise when back-scatter from the aerosol itself is mistaken for a surface echo. The box-plot in \rev{Figure}~\ref{fig:particles_near_sensor} confirms a pronounced increase in sub-50 cm hits under smoke, a range at which we do not expect any non-erroneous measurements. Both effects are consistent with the behaviour reported in \rev{\cite{when_the_dust_settles}}. +The artificial smoke introduces measurable changes that clearly separate the \textit{anomalous} runs from the \textit{normal} baseline. One change is a larger share of missing points per scan: smoke particles scatter or absorb the laser beam before it reaches a solid target, so the sensor reports an error instead of a distance. Figure~\ref{fig:data_missing_points} shows the resulting right–shift of the missing-point histogram, a known effect for \rev{LiDAR} sensors in aerosol-filled environments. Another demonstrative effect is the appearance of many spurious returns very close to the sensor; these near-field points arise when back-scatter from the aerosol itself is mistaken for a surface echo. The box plot in \rev{Figure}~\ref{fig:particles_near_sensor} confirms a pronounced increase in sub-50 cm hits under smoke, a range at which we do not expect any non-erroneous measurements. Both effects are consistent with the behaviour reported in \rev{\cite{when_the_dust_settles}}. -\fig{data_missing_points}{figures/data_missing_points.png}{Density histogram showing the percentage of missing measurements per scan for normal experiments without degradation and anomalous experiments with artifical smoke introduced as degradation.} +\fig{data_missing_points}{figures/data_missing_points.png}{Density histogram showing the percentage of missing measurements per scan for normal experiments without degradation and anomalous experiments with artificial smoke introduced as degradation.} \fig{particles_near_sensor}{figures/particles_near_sensor_boxplot_zoomed_500.png}{Box diagram depicting the percentage of measurements closer than 50 centimeters to the sensor for normal and anomalous experiments.} -Taken together, the percentage of missing points and the proportion of near-sensor returns provide a concise indication of how strongly the smoke degrades our scans—capturing the two most prominent aerosol effects, drop-outs and back-scatter spikes. They do not, however, reveal the full error landscape discussed earlier (compound errors, temperature drift, multipath, \dots), so they should be read as an easily computed synopsis rather than an exhaustive measure of \rev{LiDAR} quality. Next we will discuss how the \rev{LiDAR} scans were preprocessed before use and how we actually assigned ground-truth labels to each scan, so \rev{that} we could train and evaluate our quantification degradation methods. +Taken together, the percentage of missing points and the proportion of near-sensor returns provide a concise indication of how strongly the smoke degrades our scans—capturing the two most prominent aerosol effects, drop-outs and back-scatter spikes. They do not, however, reveal the full error landscape discussed earlier (compound errors, temperature drift, multipath, \dots), so they should be read as an easily computed synopsis rather than an exhaustive measure of \rev{LiDAR} quality. Next, we will discuss how the \rev{LiDAR} scans were preprocessed before use and how we actually assigned ground-truth labels to each scan, so \rev{that} we could train and evaluate our quantification degradation methods. \newsection{preprocessing}{Preprocessing Steps and Labeling} As described in Section~\ref{sec:algorithm_description}, the method under evaluation is data type agnostic and can be adapted to work with any kind of data by choosing a suitable autoencoder architecture. In our case, the input data are point clouds produced by a \rev{LiDAR} sensor. Each point cloud contains up to 65,536 points, with each point represented by its \emph{X}, \emph{Y}, and \emph{Z} coordinates. To tailor the DeepSAD architecture to this specific data type, we would need to design an autoencoder suitable for processing three-dimensional point clouds. Although autoencoders can be developed for various data types, \rev{\cite{autoencoder_survey} observed} that over 60\% of recent research on autoencoders focuses on two-dimensional image classification and reconstruction. Consequently, there is a more established understanding of autoencoder architectures for images compared to those for three-dimensional point clouds. -For this reason and to simplify the architecture, we converted the point clouds into two-dimensional grayscale images using a spherical projection. This approach—proven sucessful in related work~\cite{degradation_quantification_rain}—encodes each \rev{LiDAR} measurement as a single pixel, where the pixel’s grayscale value is determined by the reciprocal range, calculated as $v = \frac{1}{\sqrt{\emph{X}^2 + \emph{Y}^2 + \emph{Z}^2}}$. Given the \rev{LiDAR} sensor's configuration, the resulting images have a resolution of 2048 pixels in width and 32 pixels in height. Missing measurements in the point cloud are mapped to pixels with a brightness value of $v = 0$. +For this reason and to simplify the architecture, we converted the point clouds into two-dimensional grayscale images using a spherical projection. This approach—proven successful in related work~\cite{degradation_quantification_rain}—encodes each \rev{LiDAR} measurement as a single pixel, where the pixel’s grayscale value is determined by the reciprocal range, calculated as $v = \frac{1}{\sqrt{\emph{X}^2 + \emph{Y}^2 + \emph{Z}^2}}$. Given the \rev{LiDAR} sensor's configuration, the resulting images have a resolution of 2048 pixels in width and 32 pixels in height. Missing measurements in the point cloud are mapped to pixels with a brightness value of $v = 0$. To create this mapping, we leveraged the available measurement indices and channel information inherent in the dense point clouds, which are ordered from 0 to 65,535 in a horizontally ascending, channel-by-channel manner. For sparse point clouds without such indices, one would need to rely on the pitch and yaw angles relative to the sensor's origin to correctly map each point to its corresponding pixel, although this often leads to ambiguous mappings due to numerical errors in angle estimation. Figure~\ref{fig:data_projections} displays two examples of \rev{LiDAR} point cloud projections to aid in the reader’s understanding. Although the original point clouds were converted into grayscale images with a resolution of 2048×32 pixels, these raw images can be challenging to interpret. To enhance human readability, we applied the viridis colormap and vertically stretched the images so that each measurement occupies multiple pixels in height. The top projection is derived from a scan without artificial smoke—and therefore minimal degradation—while the lower projection comes from an experiment where artificial smoke introduced significant degradation. -\fig{data_projections}{figures/data_2d_projections.png}{Two-dimensional projections of two point clouds, one from an experiment without degradation and one from an experiment with artifical smoke as degradation. To aid the readers perception, the images are vertically stretched and a colormap has been applied to the pixels' reciprocal range values, while the actual training data is grayscale.} +\fig{data_projections}{figures/data_2d_projections.png}{Two-dimensional projections of two point clouds, one from an experiment without degradation and one from an experiment with artificial smoke as degradation. To aid the reader's perception, the images are vertically stretched, and a colormap has been applied to the pixels' reciprocal range values, while the actual training data is grayscale.} -The remaining challenge, was labeling a large enough portion of the dataset in a reasonably accurate manner, whose difficulties and general approach we described in \rev{Section}~\ref{sec:data_req}. Since, to our knowledge, neither our chosen dataset nor any other publicly available one provide objective labels for \rev{LiDAR} data degradation in the SAR domain, we had to define our own labeling approach. With objective measures of degradation unavailable, we explored alternative labeling methods—such as using \rev{the statistical} properties like the number of missing measurements per point cloud or the higher incidence of erroneous measurements near the sensor we described in \rev{Section~\ref{sec:data_dataset}}. Ultimately, we were concerned that these statistical approaches might lead the method to simply mimic the statistical evaluation rather than to quantify degradation in a generalized and robust manner. After considering these options, we decided to label all point clouds from experiments with artificial smoke as anomalies, while point clouds from experiments without smoke were labeled as normal data. This labeling strategy—based on the presence or absence of smoke—is fundamentally an environmental indicator, independent of the intrinsic data properties recorded during the experiments. +The remaining challenge was labeling a large enough portion of the dataset in a reasonably accurate manner, whose difficulties and general approach we described in \rev{Section}~\ref{sec:data_req}. Since, to our knowledge, neither our chosen dataset nor any other publicly available one provides objective labels for \rev{LiDAR} data degradation in the SAR domain, we had to define our own labeling approach. With objective measures of degradation unavailable, we explored alternative labeling methods—such as using \rev{the statistical} properties like the number of missing measurements per point cloud or the higher incidence of erroneous measurements near the sensor we described in \rev{Section~\ref{sec:data_dataset}}. Ultimately, we were concerned that these statistical approaches might lead the method to simply mimic the statistical evaluation rather than to quantify degradation in a generalized and robust manner. After considering these options, we decided to label all point clouds from experiments with artificial smoke as anomalies, while point clouds from experiments without smoke were labeled as normal data. This labeling strategy—based on the presence or absence of smoke—is fundamentally an environmental indicator, independent of the intrinsic data properties recorded during the experiments. -The simplicity of this labeling approach has both advantages and disadvantages. On the positive side, it is easy to implement and creates a clear distinction between normal and anomalous data. However, its simplicity is also its drawback: some point clouds from experiments with artificial smoke do not exhibit perceptible degradation, yet they are still labeled as anomalies. The reason for this, is that during the three non-static anomalous experiments the sensor platform starts recording in a tunnel roughly 20 meters from the smoke machine's location. It starts by approaching the smoke machine, navigates close to the machine for some time and then leaves its perimeter once again. Since the artificical smoke's density is far larger near the machine it originates from, the time the sensor platform spent close to it produced highly degraded point clouds, whereas the beginnings and ends of the anomalous experiments capture point clouds which are subjectively not degraded and appear similar to ones from the normal experiments. This effect is clearly illustrated by the degradation indicators which we talked about earlier\rev{--}the proportion of missing points and the amount of erroneous points close to the sensor per point cloud\rev{--}as can be seen in \rev{Figure}~\ref{fig:data_anomalies_timeline}. +The simplicity of this labeling approach has both advantages and disadvantages. On the positive side, it is easy to implement and creates a clear distinction between normal and anomalous data. However, its simplicity is also its drawback: some point clouds from experiments with artificial smoke do not exhibit perceptible degradation, yet they are still labeled as anomalies. The reason for this is that during the three non-static anomalous experiments, the sensor platform starts recording in a tunnel roughly 20 meters from the smoke machine's location. It starts by approaching the smoke machine, navigates close to the machine for some time, and then leaves its perimeter once again. Since the artificical smoke's density is far larger near the machine it originates from, the time the sensor platform spent close to it produced highly degraded point clouds, whereas the beginnings and ends of the anomalous experiments capture point clouds that are subjectively not degraded and appear similar to those from the normal experiments. This effect is clearly illustrated by the degradation indicators which we talked about earlier\rev{--}the proportion of missing points and the amount of erroneous points close to the sensor per point cloud\rev{--}as can be seen in \rev{Figure}~\ref{fig:data_anomalies_timeline}. -\fig{data_anomalies_timeline}{figures/data_combined_anomalies_timeline.png}{Missing points and points with a measured range smaller than 50cm per point cloud over a normalized timeline of the individual experiments. This illustrates the rise, plateau and fall of degradation intensity during the anomalous experiments, owed to the spacial proximity to the degradation source (smoke machine). One of the normal experiments (without artifical smoke) is included as a baseline \rev{in gray}.} +\fig{data_anomalies_timeline}{figures/data_combined_anomalies_timeline.png}{Missing points and points with a measured range smaller than 50cm per point cloud over a normalized timeline of the individual experiments. This illustrates the rise, plateau, and fall of degradation intensity during the anomalous experiments, owing to the spatial proximity between the LiDAR sensor and the degradation source (smoke machine). One of the normal experiments (without artificial smoke) is included as a baseline \rev{in gray}.} Afraid that the incorrectly labeled data may negatively impact DeepSAD's semi-supervised training, we chose to manually remove the anomalous labels from the beginning and end of the anomalous experiments, for training purposes. This refinement gave us more confidence in the training signal but reduced the number of labeled anomalies. For evaluation, we therefore report results under both schemes: \begin{enumerate} - \item \textbf{Experiment-based labels:} All scans from anomalous experiments marked anomalous, including border cases. This yields conservative performance metrics that reflect real-world label noise. + \item \textbf{Experiment-based labels:} All scans from anomalous experiments are marked anomalous, including border cases. This yields conservative performance metrics that reflect real-world label noise. \item \textbf{Manually-defined labels:} Only unequivocally degraded scans are marked anomalous, producing near-ideal separation in a lot of cases. \end{enumerate} -Under both evaluation schemes all frames from normal experiments were marked as normal, since they appear to have produced high quality data throughout. A visualization of how the two evaluation schemes measure up in terms of numbers of samples per class can be seen in \rev{Figure}~\ref{fig:data_eval_labels}. +Under both evaluation schemes, all frames from normal experiments were marked as normal, since they appear to have produced high-quality data throughout. A visualization of how the two evaluation schemes measure up in terms of the number of samples per class can be seen in \rev{Figure}~\ref{fig:data_eval_labels}. -\fig{data_eval_labels}{figures/data_eval_labels.png}{Pie charts visualizing the number of normal and anomalous labels applied to the dataset per labeling scheme. A large part of the experiment-based anomalous labels had to be removed for the manually-defined scheme, since they were either subjectively clearly or possibly not degraded.} +\fig{data_eval_labels}{figures/data_eval_labels.png}{Pie charts visualizing the number of normal and anomalous labels applied to the dataset per labeling scheme. A large part of the experiment-based anomalous labels had to be removed for the manually-defined scheme, since, subjectively, they were either clearly or possibly not degraded.} -By evaluating and comparing both approaches, we hope to demonstrate a more thorough performance investigatation than with only one of the two \rev{labeling schemes}. +By evaluating and comparing both approaches, we hope to demonstrate a more thorough performance investigation than with only one of the two \rev{labeling schemes}. \newchapter{experimental_setup}{Experimental Setup}