worked on common thread method until middle of background
This commit is contained in:
@@ -76,7 +76,7 @@
|
||||
caption={Common Thread Note}]{%
|
||||
\textbf{Goal:} #1 \newline
|
||||
\textbf{Context:} #2 \newline
|
||||
\textbf{Evidence/Method:} #3 \newline
|
||||
\textbf{Method:} #3 \newline
|
||||
\textbf{Transition:} #4
|
||||
}%
|
||||
}
|
||||
@@ -190,8 +190,19 @@
|
||||
%\todo[inline, color=green!40]{its a master thesis where we try to know how trustworthy the sensor data for robot navigation is}
|
||||
%\newsection{Motivation and Problem Statement}{motivation}
|
||||
%\todo[inline]{lidar and its role in robot navigation. discuss sensor degradation and its effects on navigation.}
|
||||
\threadtodo{\textit{“What’s the one key claim or insight here?”}}{\textit{“Why must it appear right now?”}}{\textit{“How am I proving or demonstrating this?"}}{\textit{“How does it naturally lead to the next question or section?”}}
|
||||
\threadtodo{Create interest in topic, introduce main goal of thesis, summarize results}{}{}{}
|
||||
\threadtodo
|
||||
{\textit{"What should the reader know after reading this section?"}}
|
||||
{\textit{"Why is that of interest to the reader at this point?"}}
|
||||
{\textit{"How am I achieving the stated goal?"}}
|
||||
{\textit{"How does this lead to the next question or section?"}}
|
||||
|
||||
\threadtodo
|
||||
{Create interest in topic, introduce main goal of thesis, summarize results}
|
||||
{Reader only has abstract as context, need to create interest at beginning}
|
||||
{emotional rescue missions, explain why data may be bad, state core research question}
|
||||
{what has and hasn't been done $\rightarrow$ Scope of Research}
|
||||
|
||||
Autonomous robots have gained more and more prevailance in search and rescue missions due to not endangering another human being and still being able to fulfil the difficult tasks of navigating hazardous environments like collapsed structures, identifying and locating victims and assessing the environment's safety for human rescue teams. To understand the environment, robots employ multiple sensor systems such as lidar, radar, ToF, ultrasound, optical cameras or infrared cameras of which lidar is the most prominently used due to its accuracy. The robots use the sensors' data to map their environments, navigate their surroundings and make decisions like which paths to prioritize. Many of the aforementioned algorithms are deep learning-based algorithms which are trained on large amounts of data whose characteristics are learned by the models.
|
||||
|
||||
Environments of search and rescue situations provide challenging conditions for the sensor systems to produce reliable data. One of the most promiment examples are aerosol particles from smoke and dust which can obstruct the view and lead sensors to produce erroneous data. If such degraded data was not present in the robots' algorithms' training data these errors may lead to unexpected outputs and potentially endanger the robot or even human rescue targets. This is especially important for autonomous robots whose decisions are entirely based on their sensor data without any human intervention. To safeguard against these problems, robots need a way to assess the trustworthiness of their sensor systems' data.
|
||||
|
||||
@@ -209,6 +220,12 @@ In this thesis we aim to answer this question by assessing a deep learning-based
|
||||
%\todo[inline, color=green!40]{contribution/idea of this thesis is to calculate a confidence score which describes how trustworthy input data is. algorithms further down the pipeline (slam, navigation, decision) can use this to make more informed decisions - examples: collect more data by reducing speed, find alternative routes, signal for help, do not attempt navigation, more heavily weight input from other sensors}
|
||||
|
||||
\newsection{scope_research}{Scope of Research}
|
||||
|
||||
\threadtodo
|
||||
{clearly state what has and hasn't been researched + explanation why}
|
||||
{from intro its clear what thesis wants to achieve, now we explain how we do that}
|
||||
{state limit on data domain, sensors, output of method + reasoning for decisions}
|
||||
{clear what we want to achieve $\rightarrow$ how is thesis structured to show this work}
|
||||
%\todo[inline]{output is score, thresholding (yes/no), maybe confidence in sensor/data? NOT how this score is used in navigation/other decisions further down the line}
|
||||
%\todo[inline]{Sensor degradation due to dust/smoke not rain/fog/...}
|
||||
%\todo[inline, color=green!40]{we look at domain of rescue robots which save buried people after earthquakes, or in dangerous conditions (after fires, collapsed buildings) which means we are mostly working with indoors or subterranean environments which oftentimes are polluted by smoke and a lot of dust, ideally works for any kind of sensor data degradation but we only explore this domain}
|
||||
@@ -227,9 +244,16 @@ While robotic computer vision systems often incorporate a variety of sensors—s
|
||||
|
||||
%The output of the method utilized by us and in our experiments is an analog score which relates to the confidence in the data and inversely to the data degradation. We do not look at how such a score might be utilized but can see many applications like simple thresholding and depending on the outcome deciding not to proceed in a certain direction or a direct usage by for example tying the robots speed to its confidence in the data, if necessary slowing down and collecting more data before progressing. The output score is independent of the time dimension and just a snapshot of each lidar scans degradation. In reality many lidars produce multiple scans per second, which would allow for including the time series of data and the scores they produce into an analysis as well such as for example a running average of the score or more complex statistical analysis. We do not investigate the differences between lidar scans which were taken with a small time delta, only at single snapshots of data in time.
|
||||
|
||||
The method we employ produces an analog score that reflects the confidence in the sensor data, with lower confidence indicating higher degradation. Although we do not investigate the direct applications of this score, potential uses include simple thresholding to decide whether to proceed with a given action or dynamically adjusting the robot's speed based on data quality—slowing down to collect additional data when confidence is low. Importantly, this output score is a snapshot for each LiDAR scan and does not incorporate temporal information. While many LiDAR sensors capture multiple scans per second—enabling the possibility of time-series analyses such as running averages or more advanced statistical evaluations—we focus solely on individual scans without examining the differences between successive scans.
|
||||
The method we employ produces an analog score that reflects the confidence in the sensor data, with lower confidence indicating higher degradation. Although we do not investigate the direct applications of this score, potential uses include simple thresholding to decide whether to proceed with a given action as well as dynamically adjusting the robot's speed based on data quality to collect additional data when confidence is low. Importantly, this output score is a snapshot for each LiDAR scan and does not incorporate temporal information. While many LiDAR sensors capture multiple scans per second—enabling the possibility of time-series analyses such as running averages or more advanced statistical evaluations—we focus solely on individual scans without examining the differences between successive scans.
|
||||
|
||||
\newsection{thesis_structure}{Structure of the Thesis}
|
||||
|
||||
\threadtodo
|
||||
{explain how structure will guide reader from zero knowledge to answer of research question}
|
||||
{since reader knows what we want to show, an outlook over content is a nice transition}
|
||||
{state structure of thesis and explain why specific background is necessary for next section}
|
||||
{reader knows what to expect $\rightarrow$ necessary background info and related work}
|
||||
|
||||
\todo[inline]{brief overview of thesis structure}
|
||||
\todo[inline, color=green!40]{in section x we discuss anomaly detection, semi-supervised learning since such an algorithm was used as the chosen method, we also discuss how lidar works and the data it produces. then in we discuss in detail the chosen method Deep SAD in section X, in section 4 we discuss the traing and evaluation data, in sec 5 we describe our setup for training and evaluation (whole pipeline). results are presented and discussed in section 6. section 7 contains a conclusion and discusses future work}
|
||||
|
||||
@@ -239,15 +263,29 @@ The method we employ produces an analog score that reflects the confidence in th
|
||||
|
||||
%As the domain of robotics and embedded systems often does, this thesis constitutes quite broad interdisciplinary challenge of various fields of study. As we will see in this chapter, anomaly detection-the methodology we posed our degradation quantification problem as-has roots in statistical analysis and finds utility in many domains. As is the case for many fields of study, there has been success in incorporating learning based techniques-especially deep learning-into it to better or more efficiently solve problems anchored in interpretation of large data amounts. The very nature of anomalies often times makes their form and structure unpredictable, which lends itself to unsupervised learning techniques-ones where the training data is not assigned labels beforehand, since you cannot label what you cannot expect. These unsupervised techniques can oftentimes be improved by utilizing a small but impactful number of labeled training data, which results in semi-supervised methods. The method we evaluate for our task-Deep SAD-is a not only a semi-supervised deep learning approach but also employs an autoencoder in its architecture, a type of neural network architecture which has found widespread use in many deep learning applications over the last few years due to its feature extraction capability which solely relies on unlabeleld data. Its approach typically lends itself especially well to complex data for which feature extraction of conventional manual methods is hard to achieve, like the lidar data we are working with in this thesis. Lidar sensors measure the range from the sensor to the next reflective object for many angles simultaneously by projecting a laser in a specified direction and measuring the time it takes a reflected ray to return to the sensor. From the output angles of the rays and the measured travel time the sensor can construct a point cloud which is oftentimes dense enough to map out the sensors surroundings. In this chapter we will discuss these necessary technologies, give an overview of their history, use-cases and describe how it will be utilized in this thesis.
|
||||
|
||||
\threadtodo
|
||||
{explain which background knowledge is necessary and why + mention related work}
|
||||
{reader learns what he needs to know and which related work exists}
|
||||
{state which background subsections will follow + why and mention related work}
|
||||
{necessity of knowledge and order of subsections are explained $\rightarrow$ essential background}
|
||||
|
||||
This thesis tackles a broad, interdisciplinary challenge at the intersection of robotics, embedded systems, and data science. In this chapter, we introduce the background of anomaly detection—the framework we use to formulate our degradation quantification problem. Anomaly detection has its roots in statistical analysis and has been successfully applied in various domains. Recently, the incorporation of learning-based techniques, particularly deep learning, has enabled more efficient and effective analysis of large datasets.
|
||||
|
||||
Because anomalies are, by nature, unpredictable in form and structure, unsupervised learning methods are often preferred since they do not require pre-assigned labels—a significant advantage when dealing with unforeseen data patterns. However, these methods can be further refined through the integration of a small amount of labeled data, giving rise to semi-supervised approaches. The method evaluated in this thesis, DeepSAD, is a semi-supervised deep learning approach that also leverages an autoencoder architecture. Autoencoders have gained widespread adoption in deep learning for their ability to extract features from unlabeled data, which is particularly useful for handling complex data types such as LiDAR scans.
|
||||
|
||||
LiDAR sensors function by projecting lasers in multiple directions simultaneously, measuring the time it takes for each reflected ray to return. Using the angles and travel times, the sensor constructs a point cloud that is often dense enough to accurately map its surroundings. In the following sections, we will delve into these technologies, review their historical development and use cases, and describe how they are employed in this thesis.
|
||||
|
||||
\todo[inline, color=green!40]{mention related work + transition to anomaly detection}
|
||||
|
||||
|
||||
\newsection{anomaly_detection}{Anomaly Detection}
|
||||
|
||||
\threadtodo
|
||||
{explain AD in general, allude to DeepSAD which was core method here}
|
||||
{problem is formulated as AD problem, so reader needs to understand AD}
|
||||
{give overview of AD goals, categories and challenges. explain we use DeepSAD}
|
||||
{lots of data but few anomalies + hard to label $\rightarrow$ semi-supervised learning}
|
||||
|
||||
Anomaly detection refers to the process of detecting unexpected patterns of data, outliers which deviate significantly from the majority of data which is implicitly defined as normal by its prevalence. In classic statistical analysis these techniques have been studied as early as the 19th century~\cite{anomaly_detection_history}. Since then, a multitude of methods and use-cases for them have been proposed and studied. Examples of applications include healthcare, where computer vision algorithms are used to detect anomalies in medical images for diagnostics and early detection of diseases~\cite{anomaly_detection_medical}, detection of fraud in decentralized financial systems based on block-chain technology~\cite{anomaly_detection_defi} as well as fault detection in industrial machinery using acoustic sound data~\cite{anomaly_detection_manufacturing}.
|
||||
|
||||
Figure~\ref{fig:anomaly_detection_overview} depicts a simple but illustrative example of data which can be classified as either normal or anomalous and shows the problem anomaly detection methods try to generally solve. A successful anomaly detection method would somehow learn to differentiate normal from anomalous data, for example by learning the boundaries around the available normal data and classifying it as either normal or anomalous based on its location inside or outside of those boundaries. Another possible approach could calculate an analog value which correlates with the likelihood of an sample being anomalous, for example by using the sample's distance from the closest normal data cluster's center.
|
||||
@@ -307,6 +345,12 @@ As already shortly mentioned at the beginning of this section, anomaly detection
|
||||
|
||||
\newsection{semi_supervised}{Semi-Supervised Learning Algorithms}
|
||||
|
||||
\threadtodo
|
||||
{Give machine learning overview, focus on semi-supervised (what \& why)}
|
||||
{used method is semi-supervised ML algorithm, reader needs to understand}
|
||||
{explain what ML is, how the different approaches work, why to use semi-supervised}
|
||||
{autoencoder special case (un-/self-supervised) used in DeepSAD $\rightarrow$ explain autoencoder}
|
||||
|
||||
Machine learning defines types of algorithms capable of learning from existing data on previously unseen data without being explicitely programmed to do so~\cite{machine_learning_first_definition}. They are oftentimes categorized by the underlying technique employed, by the type of task they are trained to achieve or by the feedback provided to the algorithm during training. The last categorization typically includes supervised learning, unsupervised learning and reinforcement learning.
|
||||
|
||||
For supervised learning each data sample is augmented by including a label which depicts the ideal output of the algorithm for the given sample. During the learning step these algorithms can compare their generated output with the one provided by an expert to improve their performance. Such labels are typically either a categorical target or a continuous target which are most commonly used for classification and regression tasks respectively.
|
||||
@@ -318,7 +362,8 @@ The third category -reinforcement learning- takes a more interactive approach to
|
||||
Semi-Supervised learning algorithms are -as the name implies- an inbetween category of supervised and unsupervised algorithms in that they use a mixture of labeled and unlabeled data. Typically vastly more unlabeled data is used during training of such algorithms than labeled data, oftentimes due to the effort and expertise required to label large quantities of data correctly for supervised training methods. The target tasks of semi-supervised methods can come from both the domains of supervised and unsupervised algorithms. For classification tasks which are typically achieved using supervised learning the additional unsupervised data is added during training with the hope to achieve a better outcome than when training only with the supervised portion of the data. In contrast for typical unsupervised learning tasks such as clustering algorithms, the addition of labeled samples can help guide the learning algorithm to improve performance over fully unsupervised training.
|
||||
|
||||
|
||||
\todo[inline, color=green!40]{our chosen method Deep SAD is a semi-supervised deep learning method whose workings will be discussed in more detail in secion X}
|
||||
%\todo[inline, color=green!40]{our chosen method Deep SAD is a semi-supervised deep learning method whose workings will be discussed in more detail in secion X}
|
||||
\todo[inline, color=green!40]{DeepSAD is semi-supervised, autoencoder in pre-training is interesting case since its un-/self-supervised. explained in more detail next}
|
||||
|
||||
\newsection{autoencoder}{Autoencoder}
|
||||
\todo[inline]{autoencoder explanation}
|
||||
|
||||
Reference in New Issue
Block a user