Compare commits
24 Commits
81c1e5b7af
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b5accb6c5 | ||
|
|
8f983b890f | ||
|
|
6cd2c7fbef | ||
|
|
62c424cd54 | ||
|
|
bd9171f68e | ||
|
|
efdc33035b | ||
|
|
f2c8fe241d | ||
|
|
ece887860b | ||
|
|
c3830db913 | ||
|
|
3d21171a40 | ||
|
|
5aca00ad67 | ||
|
|
374420727b | ||
|
|
8697c07c0f | ||
|
|
5287f2c557 | ||
|
|
b7faf6e1b6 | ||
|
|
0354ad37e1 | ||
|
|
32ab4e6a11 | ||
|
|
055d403dfb | ||
|
|
28b6eba094 | ||
|
|
436a25df11 | ||
|
|
5d0610a875 | ||
|
|
545b65d3d5 | ||
|
|
8db244901e | ||
|
|
72afe9ebdc |
638
thesis/Main.bbl
@@ -275,6 +275,180 @@
|
|||||||
\endverb
|
\endverb
|
||||||
\keyw{outlier detection,Anomaly detection}
|
\keyw{outlier detection,Anomaly detection}
|
||||||
\endentry
|
\endentry
|
||||||
|
\entry{bg_svm}{article}{}{}
|
||||||
|
\name{author}{2}{}{%
|
||||||
|
{{hash=17acda211a651e90e228f1776ee07818}{%
|
||||||
|
family={Cortes},
|
||||||
|
familyi={C\bibinitperiod},
|
||||||
|
given={Corinna},
|
||||||
|
giveni={C\bibinitperiod}}}%
|
||||||
|
{{hash=c2b3e05872463585b4be6aab10d10d63}{%
|
||||||
|
family={Vapnik},
|
||||||
|
familyi={V\bibinitperiod},
|
||||||
|
given={Vladimir},
|
||||||
|
giveni={V\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{1}{%
|
||||||
|
{Springer}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\strng{fullhash}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\strng{fullhashraw}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\strng{bibnamehash}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\strng{authorbibnamehash}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\strng{authornamehash}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\strng{authorfullhash}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\strng{authorfullhashraw}{4c67d5268f413e83454c8adc14ab43c3}
|
||||||
|
\field{sortinit}{8}
|
||||||
|
\field{sortinithash}{a231b008ebf0ecbe0b4d96dcc159445f}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{journaltitle}{Machine learning}
|
||||||
|
\field{number}{3}
|
||||||
|
\field{title}{Support-vector networks}
|
||||||
|
\field{volume}{20}
|
||||||
|
\field{year}{1995}
|
||||||
|
\field{pages}{273\bibrangedash 297}
|
||||||
|
\range{pages}{25}
|
||||||
|
\endentry
|
||||||
|
\entry{bg_kmeans}{article}{}{}
|
||||||
|
\name{author}{1}{}{%
|
||||||
|
{{hash=e6326ee35fdec69f1c1ef364c98e6216}{%
|
||||||
|
family={Lloyd},
|
||||||
|
familyi={L\bibinitperiod},
|
||||||
|
given={S.},
|
||||||
|
giveni={S\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\strng{fullhash}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\strng{fullhashraw}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\strng{bibnamehash}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\strng{authorbibnamehash}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\strng{authornamehash}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\strng{authorfullhash}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\strng{authorfullhashraw}{e6326ee35fdec69f1c1ef364c98e6216}
|
||||||
|
\field{sortinit}{9}
|
||||||
|
\field{sortinithash}{0a5ebc79d83c96b6579069544c73c7d4}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{journaltitle}{IEEE Transactions on Information Theory}
|
||||||
|
\field{number}{2}
|
||||||
|
\field{title}{Least squares quantization in PCM}
|
||||||
|
\field{volume}{28}
|
||||||
|
\field{year}{1982}
|
||||||
|
\field{pages}{129\bibrangedash 137}
|
||||||
|
\range{pages}{9}
|
||||||
|
\verb{doi}
|
||||||
|
\verb 10.1109/TIT.1982.1056489
|
||||||
|
\endverb
|
||||||
|
\keyw{Noise;Quantization (signal);Voltage;Receivers;Pulse modulation;Sufficient conditions;Stochastic processes;Probabilistic logic;Urban areas;Q measurement}
|
||||||
|
\endentry
|
||||||
|
\entry{bg_dbscan}{inproceedings}{}{}
|
||||||
|
\name{author}{4}{}{%
|
||||||
|
{{hash=2c062e64ed26aacc08a62155e7944f04}{%
|
||||||
|
family={Ester},
|
||||||
|
familyi={E\bibinitperiod},
|
||||||
|
given={Martin},
|
||||||
|
giveni={M\bibinitperiod}}}%
|
||||||
|
{{hash=9559fe65ed2c0877cf14a66fe1f8e9b3}{%
|
||||||
|
family={Kriegel},
|
||||||
|
familyi={K\bibinitperiod},
|
||||||
|
given={Hans-Peter},
|
||||||
|
giveni={H\bibinithyphendelim P\bibinitperiod}}}%
|
||||||
|
{{hash=802157026f850823b2027c2100cb359a}{%
|
||||||
|
family={Sander},
|
||||||
|
familyi={S\bibinitperiod},
|
||||||
|
given={Jörg},
|
||||||
|
giveni={J\bibinitperiod}}}%
|
||||||
|
{{hash=2dda16c0a5d50fc830d0d4a3787937fa}{%
|
||||||
|
family={Xu},
|
||||||
|
familyi={X\bibinitperiod},
|
||||||
|
given={Xiaowei},
|
||||||
|
giveni={X\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\name{editor}{3}{}{%
|
||||||
|
{{hash=ebe3c105175ad500b489b3be8fab0279}{%
|
||||||
|
family={Simoudis},
|
||||||
|
familyi={S\bibinitperiod},
|
||||||
|
given={Evangelos},
|
||||||
|
giveni={E\bibinitperiod}}}%
|
||||||
|
{{hash=7cacfe272c4d395c979d6aecd2f5ec9c}{%
|
||||||
|
family={Han},
|
||||||
|
familyi={H\bibinitperiod},
|
||||||
|
given={Jiawei},
|
||||||
|
giveni={J\bibinitperiod}}}%
|
||||||
|
{{hash=d72660528ebbfc30c6661be74afda5c2}{%
|
||||||
|
family={Fayyad},
|
||||||
|
familyi={F\bibinitperiod},
|
||||||
|
given={Usama\bibnamedelima M.},
|
||||||
|
giveni={U\bibinitperiod\bibinitdelim M\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{1}{%
|
||||||
|
{AAAI Press}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{9158a41d23cb4e154e78366d59c05728}
|
||||||
|
\strng{fullhash}{3270dfaa31e8210b3bd04b1bcf4a29a3}
|
||||||
|
\strng{fullhashraw}{3270dfaa31e8210b3bd04b1bcf4a29a3}
|
||||||
|
\strng{bibnamehash}{3270dfaa31e8210b3bd04b1bcf4a29a3}
|
||||||
|
\strng{authorbibnamehash}{3270dfaa31e8210b3bd04b1bcf4a29a3}
|
||||||
|
\strng{authornamehash}{9158a41d23cb4e154e78366d59c05728}
|
||||||
|
\strng{authorfullhash}{3270dfaa31e8210b3bd04b1bcf4a29a3}
|
||||||
|
\strng{authorfullhashraw}{3270dfaa31e8210b3bd04b1bcf4a29a3}
|
||||||
|
\strng{editorbibnamehash}{939413ab4a7ec18b5cc72dff25105ef5}
|
||||||
|
\strng{editornamehash}{f04653518ea0c78cffc4312148d46893}
|
||||||
|
\strng{editorfullhash}{939413ab4a7ec18b5cc72dff25105ef5}
|
||||||
|
\strng{editorfullhashraw}{939413ab4a7ec18b5cc72dff25105ef5}
|
||||||
|
\field{sortinit}{1}
|
||||||
|
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{booktitle}{KDD}
|
||||||
|
\field{isbn}{1-57735-004-9}
|
||||||
|
\field{title}{A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise.}
|
||||||
|
\field{year}{1996}
|
||||||
|
\field{pages}{226\bibrangedash 231}
|
||||||
|
\range{pages}{6}
|
||||||
|
\verb{urlraw}
|
||||||
|
\verb http://dblp.uni-trier.de/db/conf/kdd/kdd96.html#EsterKSX96
|
||||||
|
\endverb
|
||||||
|
\verb{url}
|
||||||
|
\verb http://dblp.uni-trier.de/db/conf/kdd/kdd96.html#EsterKSX96
|
||||||
|
\endverb
|
||||||
|
\endentry
|
||||||
|
\entry{bg_pca}{article}{}{}
|
||||||
|
\name{author}{1}{}{%
|
||||||
|
{{hash=716c197f50c5e070b09b67f32636d3e7}{%
|
||||||
|
family={F.R.S.},
|
||||||
|
familyi={F\bibinitperiod},
|
||||||
|
given={Karl\bibnamedelima Pearson},
|
||||||
|
giveni={K\bibinitperiod\bibinitdelim P\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{1}{%
|
||||||
|
{Taylor & Francis}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\strng{fullhash}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\strng{fullhashraw}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\strng{bibnamehash}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\strng{authorbibnamehash}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\strng{authornamehash}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\strng{authorfullhash}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\strng{authorfullhashraw}{716c197f50c5e070b09b67f32636d3e7}
|
||||||
|
\field{sortinit}{1}
|
||||||
|
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{journaltitle}{The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science}
|
||||||
|
\field{number}{11}
|
||||||
|
\field{title}{LIII. On lines and planes of closest fit to systems of points in space}
|
||||||
|
\field{volume}{2}
|
||||||
|
\field{year}{1901}
|
||||||
|
\field{pages}{559\bibrangedash 572}
|
||||||
|
\range{pages}{14}
|
||||||
|
\verb{doi}
|
||||||
|
\verb 10.1080/14786440109462720
|
||||||
|
\endverb
|
||||||
|
\endentry
|
||||||
\entry{deepsad}{article}{}{}
|
\entry{deepsad}{article}{}{}
|
||||||
\name{author}{7}{}{%
|
\name{author}{7}{}{%
|
||||||
{{hash=002c037bd5c44a3c55a7523254ff0522}{%
|
{{hash=002c037bd5c44a3c55a7523254ff0522}{%
|
||||||
@@ -322,8 +496,8 @@
|
|||||||
\strng{authorfullhash}{b6771072ca1bb3c6a1aad2b4043727e6}
|
\strng{authorfullhash}{b6771072ca1bb3c6a1aad2b4043727e6}
|
||||||
\strng{authorfullhashraw}{b6771072ca1bb3c6a1aad2b4043727e6}
|
\strng{authorfullhashraw}{b6771072ca1bb3c6a1aad2b4043727e6}
|
||||||
\field{extraname}{1}
|
\field{extraname}{1}
|
||||||
\field{sortinit}{8}
|
\field{sortinit}{1}
|
||||||
\field{sortinithash}{a231b008ebf0ecbe0b4d96dcc159445f}
|
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{eprinttype}{arXiv}
|
\field{eprinttype}{arXiv}
|
||||||
@@ -574,8 +748,8 @@
|
|||||||
\strng{authornamehash}{1f3a901804f6733643aff983bcb44e58}
|
\strng{authornamehash}{1f3a901804f6733643aff983bcb44e58}
|
||||||
\strng{authorfullhash}{103d5e118395cff5749e9050a3f9888e}
|
\strng{authorfullhash}{103d5e118395cff5749e9050a3f9888e}
|
||||||
\strng{authorfullhashraw}{103d5e118395cff5749e9050a3f9888e}
|
\strng{authorfullhashraw}{103d5e118395cff5749e9050a3f9888e}
|
||||||
\field{sortinit}{1}
|
\field{sortinit}{2}
|
||||||
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
|
\field{sortinithash}{8b555b3791beccb63322c22f3320aa9a}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{issn}{0950-7051}
|
\field{issn}{0950-7051}
|
||||||
@@ -667,8 +841,8 @@
|
|||||||
\strng{editorfullhash}{83be554d58af5be1788b5c3616f0e92a}
|
\strng{editorfullhash}{83be554d58af5be1788b5c3616f0e92a}
|
||||||
\strng{editorfullhashraw}{83be554d58af5be1788b5c3616f0e92a}
|
\strng{editorfullhashraw}{83be554d58af5be1788b5c3616f0e92a}
|
||||||
\field{extraname}{2}
|
\field{extraname}{2}
|
||||||
\field{sortinit}{1}
|
\field{sortinit}{2}
|
||||||
\field{sortinithash}{4f6aaa89bab872aa0999fec09ff8e98a}
|
\field{sortinithash}{8b555b3791beccb63322c22f3320aa9a}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{abstract}{Despite the great advances made by deep learning in many machine learning problems, there is a relative dearth of deep learning approaches for anomaly detection. Those approaches which do exist involve networks trained to perform a task other than anomaly detection, namely generative models or compression, which are in turn adapted for use in anomaly detection; they are not trained on an anomaly detection based objective. In this paper we introduce a new anomaly detection method—Deep Support Vector Data Description—, which is trained on an anomaly detection based objective. The adaptation to the deep regime necessitates that our neural network and training procedure satisfy certain properties, which we demonstrate theoretically. We show the effectiveness of our method on MNIST and CIFAR-10 image benchmark datasets as well as on the detection of adversarial examples of GTSRB stop signs.}
|
\field{abstract}{Despite the great advances made by deep learning in many machine learning problems, there is a relative dearth of deep learning approaches for anomaly detection. Those approaches which do exist involve networks trained to perform a task other than anomaly detection, namely generative models or compression, which are in turn adapted for use in anomaly detection; they are not trained on an anomaly detection based objective. In this paper we introduce a new anomaly detection method—Deep Support Vector Data Description—, which is trained on an anomaly detection based objective. The adaptation to the deep regime necessitates that our neural network and training procedure satisfy certain properties, which we demonstrate theoretically. We show the effectiveness of our method on MNIST and CIFAR-10 image benchmark datasets as well as on the detection of adversarial examples of GTSRB stop signs.}
|
||||||
@@ -720,6 +894,38 @@
|
|||||||
\verb https://lilianweng.github.io/posts/2018-08-12-vae/
|
\verb https://lilianweng.github.io/posts/2018-08-12-vae/
|
||||||
\endverb
|
\endverb
|
||||||
\endentry
|
\endentry
|
||||||
|
\entry{bg_infomax}{article}{}{}
|
||||||
|
\name{author}{1}{}{%
|
||||||
|
{{hash=9bf3bf02cd4427c0d9eab547e61fc6ff}{%
|
||||||
|
family={Linsker},
|
||||||
|
familyi={L\bibinitperiod},
|
||||||
|
given={R.},
|
||||||
|
giveni={R\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\strng{fullhash}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\strng{fullhashraw}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\strng{bibnamehash}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\strng{authorbibnamehash}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\strng{authornamehash}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\strng{authorfullhash}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\strng{authorfullhashraw}{9bf3bf02cd4427c0d9eab547e61fc6ff}
|
||||||
|
\field{sortinit}{2}
|
||||||
|
\field{sortinithash}{8b555b3791beccb63322c22f3320aa9a}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{journaltitle}{Computer}
|
||||||
|
\field{number}{3}
|
||||||
|
\field{title}{Self-organization in a perceptual network}
|
||||||
|
\field{volume}{21}
|
||||||
|
\field{year}{1988}
|
||||||
|
\field{pages}{105\bibrangedash 117}
|
||||||
|
\range{pages}{13}
|
||||||
|
\verb{doi}
|
||||||
|
\verb 10.1109/2.36
|
||||||
|
\endverb
|
||||||
|
\keyw{Intelligent networks;Biological information theory;Circuits;Biology computing;Animal structures;Neuroscience;Genetics;System testing;Neural networks;Constraint theory}
|
||||||
|
\endentry
|
||||||
\entry{bg_autoencoder_ad}{inbook}{}{}
|
\entry{bg_autoencoder_ad}{inbook}{}{}
|
||||||
\name{author}{4}{}{%
|
\name{author}{4}{}{%
|
||||||
{{hash=976ff3d638254bc84287783be910c8ab}{%
|
{{hash=976ff3d638254bc84287783be910c8ab}{%
|
||||||
@@ -958,6 +1164,53 @@
|
|||||||
\field{title}{1D MEMS Micro-Scanning LiDAR}
|
\field{title}{1D MEMS Micro-Scanning LiDAR}
|
||||||
\field{year}{2018}
|
\field{year}{2018}
|
||||||
\endentry
|
\endentry
|
||||||
|
\entry{bg_slam}{article}{}{}
|
||||||
|
\name{author}{2}{}{%
|
||||||
|
{{hash=f20739d463254c239085b0098114da44}{%
|
||||||
|
family={Smith},
|
||||||
|
familyi={S\bibinitperiod},
|
||||||
|
given={Randall\bibnamedelima C.},
|
||||||
|
giveni={R\bibinitperiod\bibinitdelim C\bibinitperiod}}}%
|
||||||
|
{{hash=9ec288d3d1be96333e0fae9796707e68}{%
|
||||||
|
family={Cheeseman},
|
||||||
|
familyi={C\bibinitperiod},
|
||||||
|
given={Peter},
|
||||||
|
giveni={P\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{1}{%
|
||||||
|
{SAGE Publications}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\strng{fullhash}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\strng{fullhashraw}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\strng{bibnamehash}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\strng{authorbibnamehash}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\strng{authornamehash}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\strng{authorfullhash}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\strng{authorfullhashraw}{7031c0ebfd4f9d2d33ef0ddcb231c367}
|
||||||
|
\field{sortinit}{3}
|
||||||
|
\field{sortinithash}{ad6fe7482ffbd7b9f99c9e8b5dccd3d7}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{issn}{1741-3176}
|
||||||
|
\field{journaltitle}{The International Journal of Robotics Research}
|
||||||
|
\field{month}{12}
|
||||||
|
\field{number}{4}
|
||||||
|
\field{title}{On the Representation and Estimation of Spatial Uncertainty}
|
||||||
|
\field{volume}{5}
|
||||||
|
\field{year}{1986}
|
||||||
|
\field{pages}{56\bibrangedash 68}
|
||||||
|
\range{pages}{13}
|
||||||
|
\verb{doi}
|
||||||
|
\verb 10.1177/027836498600500404
|
||||||
|
\endverb
|
||||||
|
\verb{urlraw}
|
||||||
|
\verb http://dx.doi.org/10.1177/027836498600500404
|
||||||
|
\endverb
|
||||||
|
\verb{url}
|
||||||
|
\verb http://dx.doi.org/10.1177/027836498600500404
|
||||||
|
\endverb
|
||||||
|
\endentry
|
||||||
\entry{lidar_denoising_survey}{article}{}{}
|
\entry{lidar_denoising_survey}{article}{}{}
|
||||||
\name{author}{4}{}{%
|
\name{author}{4}{}{%
|
||||||
{{hash=30663aad72dc59a49b7023f9c332b58a}{%
|
{{hash=30663aad72dc59a49b7023f9c332b58a}{%
|
||||||
@@ -1207,8 +1460,8 @@
|
|||||||
\strng{authornamehash}{d17e6557c5836d2d978179999ea1037f}
|
\strng{authornamehash}{d17e6557c5836d2d978179999ea1037f}
|
||||||
\strng{authorfullhash}{3ae53fe582e8a815b118d26947eaa326}
|
\strng{authorfullhash}{3ae53fe582e8a815b118d26947eaa326}
|
||||||
\strng{authorfullhashraw}{3ae53fe582e8a815b118d26947eaa326}
|
\strng{authorfullhashraw}{3ae53fe582e8a815b118d26947eaa326}
|
||||||
\field{sortinit}{5}
|
\field{sortinit}{4}
|
||||||
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
\field{sortinithash}{9381316451d1b9788675a07e972a12a7}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{note}{\url{http://www.deeplearningbook.org}}
|
\field{note}{\url{http://www.deeplearningbook.org}}
|
||||||
@@ -1246,8 +1499,8 @@
|
|||||||
\strng{authornamehash}{e9af9fcd8483f077f0dcdbd95213a56e}
|
\strng{authornamehash}{e9af9fcd8483f077f0dcdbd95213a56e}
|
||||||
\strng{authorfullhash}{8179a2c222d1565711a7f216e4da6e56}
|
\strng{authorfullhash}{8179a2c222d1565711a7f216e4da6e56}
|
||||||
\strng{authorfullhashraw}{8179a2c222d1565711a7f216e4da6e56}
|
\strng{authorfullhashraw}{8179a2c222d1565711a7f216e4da6e56}
|
||||||
\field{sortinit}{5}
|
\field{sortinit}{4}
|
||||||
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
\field{sortinithash}{9381316451d1b9788675a07e972a12a7}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{month}{05}
|
\field{month}{05}
|
||||||
@@ -1288,8 +1541,8 @@
|
|||||||
\strng{authornamehash}{01a32420f9995c8592740c3ad622e775}
|
\strng{authornamehash}{01a32420f9995c8592740c3ad622e775}
|
||||||
\strng{authorfullhash}{c0310d5b84b91b546714624d9baf92c2}
|
\strng{authorfullhash}{c0310d5b84b91b546714624d9baf92c2}
|
||||||
\strng{authorfullhashraw}{c0310d5b84b91b546714624d9baf92c2}
|
\strng{authorfullhashraw}{c0310d5b84b91b546714624d9baf92c2}
|
||||||
\field{sortinit}{5}
|
\field{sortinit}{4}
|
||||||
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
\field{sortinithash}{9381316451d1b9788675a07e972a12a7}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{issn}{1424-8220}
|
\field{issn}{1424-8220}
|
||||||
@@ -1481,8 +1734,8 @@
|
|||||||
\strng{authornamehash}{1eed07a9c59db157d86a149850002efb}
|
\strng{authornamehash}{1eed07a9c59db157d86a149850002efb}
|
||||||
\strng{authorfullhash}{5cd0fc84a08d52373df410079c09015c}
|
\strng{authorfullhash}{5cd0fc84a08d52373df410079c09015c}
|
||||||
\strng{authorfullhashraw}{5cd0fc84a08d52373df410079c09015c}
|
\strng{authorfullhashraw}{5cd0fc84a08d52373df410079c09015c}
|
||||||
\field{sortinit}{5}
|
\field{sortinit}{4}
|
||||||
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
\field{sortinithash}{9381316451d1b9788675a07e972a12a7}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{issn}{1941-0468}
|
\field{issn}{1941-0468}
|
||||||
@@ -1547,8 +1800,8 @@
|
|||||||
\strng{authorfullhash}{31c8cde264eb0da1d45f468f719f7a54}
|
\strng{authorfullhash}{31c8cde264eb0da1d45f468f719f7a54}
|
||||||
\strng{authorfullhashraw}{31c8cde264eb0da1d45f468f719f7a54}
|
\strng{authorfullhashraw}{31c8cde264eb0da1d45f468f719f7a54}
|
||||||
\field{extraname}{2}
|
\field{extraname}{2}
|
||||||
\field{sortinit}{5}
|
\field{sortinit}{4}
|
||||||
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
\field{sortinithash}{9381316451d1b9788675a07e972a12a7}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{booktitle}{2023 31st Mediterranean Conference on Control and Automation (MED)}
|
\field{booktitle}{2023 31st Mediterranean Conference on Control and Automation (MED)}
|
||||||
@@ -1596,8 +1849,8 @@
|
|||||||
\strng{authornamehash}{ea684bebf6033a20ad34a33644ec89fc}
|
\strng{authornamehash}{ea684bebf6033a20ad34a33644ec89fc}
|
||||||
\strng{authorfullhash}{d6ad1c32e8f7738554f79d65d954b4f9}
|
\strng{authorfullhash}{d6ad1c32e8f7738554f79d65d954b4f9}
|
||||||
\strng{authorfullhashraw}{d6ad1c32e8f7738554f79d65d954b4f9}
|
\strng{authorfullhashraw}{d6ad1c32e8f7738554f79d65d954b4f9}
|
||||||
\field{sortinit}{6}
|
\field{sortinit}{5}
|
||||||
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{issn}{1556-4967}
|
\field{issn}{1556-4967}
|
||||||
@@ -1645,8 +1898,8 @@
|
|||||||
\strng{authornamehash}{5e0b9f9cab8ce61be5266767752c12dc}
|
\strng{authornamehash}{5e0b9f9cab8ce61be5266767752c12dc}
|
||||||
\strng{authorfullhash}{d932d7249aa0617596765b2fc72a8152}
|
\strng{authorfullhash}{d932d7249aa0617596765b2fc72a8152}
|
||||||
\strng{authorfullhashraw}{d932d7249aa0617596765b2fc72a8152}
|
\strng{authorfullhashraw}{d932d7249aa0617596765b2fc72a8152}
|
||||||
\field{sortinit}{6}
|
\field{sortinit}{5}
|
||||||
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{abstract}{Autoencoder is an unsupervised learning model, which can automatically learn data features from a large number of samples and can act as a dimensionality reduction method. With the development of deep learning technology, autoencoder has attracted the attention of many scholars. Researchers have proposed several improved versions of autoencoder based on different application fields. First, this paper explains the principle of a conventional autoencoder and investigates the primary development process of an autoencoder. Second, We proposed a taxonomy of autoencoders according to their structures and principles. The related autoencoder models are comprehensively analyzed and discussed. This paper introduces the application progress of autoencoders in different fields, such as image classification and natural language processing, etc. Finally, the shortcomings of the current autoencoder algorithm are summarized, and prospected for its future development directions are addressed.}
|
\field{abstract}{Autoencoder is an unsupervised learning model, which can automatically learn data features from a large number of samples and can act as a dimensionality reduction method. With the development of deep learning technology, autoencoder has attracted the attention of many scholars. Researchers have proposed several improved versions of autoencoder based on different application fields. First, this paper explains the principle of a conventional autoencoder and investigates the primary development process of an autoencoder. Second, We proposed a taxonomy of autoencoders according to their structures and principles. The related autoencoder models are comprehensively analyzed and discussed. This paper introduces the application progress of autoencoders in different fields, such as image classification and natural language processing, etc. Finally, the shortcomings of the current autoencoder algorithm are summarized, and prospected for its future development directions are addressed.}
|
||||||
@@ -1687,8 +1940,8 @@
|
|||||||
\strng{authornamehash}{c4d64624ede10e1baa66843e963d7c13}
|
\strng{authornamehash}{c4d64624ede10e1baa66843e963d7c13}
|
||||||
\strng{authorfullhash}{c4d64624ede10e1baa66843e963d7c13}
|
\strng{authorfullhash}{c4d64624ede10e1baa66843e963d7c13}
|
||||||
\strng{authorfullhashraw}{c4d64624ede10e1baa66843e963d7c13}
|
\strng{authorfullhashraw}{c4d64624ede10e1baa66843e963d7c13}
|
||||||
\field{sortinit}{7}
|
\field{sortinit}{5}
|
||||||
\field{sortinithash}{108d0be1b1bee9773a1173443802c0a3}
|
\field{sortinithash}{20e9b4b0b173788c5dace24730f47d8c}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{title}{ODDS Library}
|
\field{title}{ODDS Library}
|
||||||
@@ -1735,8 +1988,8 @@
|
|||||||
\strng{authornamehash}{dd2ddc978fe083bcff1aa1379cd19643}
|
\strng{authornamehash}{dd2ddc978fe083bcff1aa1379cd19643}
|
||||||
\strng{authorfullhash}{4dd3ca3cdc8023700c28169734d6ad61}
|
\strng{authorfullhash}{4dd3ca3cdc8023700c28169734d6ad61}
|
||||||
\strng{authorfullhashraw}{4dd3ca3cdc8023700c28169734d6ad61}
|
\strng{authorfullhashraw}{4dd3ca3cdc8023700c28169734d6ad61}
|
||||||
\field{sortinit}{7}
|
\field{sortinit}{6}
|
||||||
\field{sortinithash}{108d0be1b1bee9773a1173443802c0a3}
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{issn}{0018-9219}
|
\field{issn}{0018-9219}
|
||||||
@@ -1757,80 +2010,6 @@
|
|||||||
\verb http://dx.doi.org/10.1109/5.726791
|
\verb http://dx.doi.org/10.1109/5.726791
|
||||||
\endverb
|
\endverb
|
||||||
\endentry
|
\endentry
|
||||||
\entry{ef_concept_source}{article}{}{}
|
|
||||||
\name{author}{8}{}{%
|
|
||||||
{{hash=cde98454252ce53a9838df6015a87166}{%
|
|
||||||
family={Ye},
|
|
||||||
familyi={Y\bibinitperiod},
|
|
||||||
given={Min},
|
|
||||||
giveni={M\bibinitperiod}}}%
|
|
||||||
{{hash=99c2139712828885b388f7f7e83f4134}{%
|
|
||||||
family={Nie},
|
|
||||||
familyi={N\bibinitperiod},
|
|
||||||
given={Jie},
|
|
||||||
giveni={J\bibinitperiod}}}%
|
|
||||||
{{hash=8b4ed7eebb280dc2d0df1bec91e27c18}{%
|
|
||||||
family={Liu},
|
|
||||||
familyi={L\bibinitperiod},
|
|
||||||
given={Anan},
|
|
||||||
giveni={A\bibinitperiod}}}%
|
|
||||||
{{hash=9f4446a6d583221d3d173f806ecf8627}{%
|
|
||||||
family={Wang},
|
|
||||||
familyi={W\bibinitperiod},
|
|
||||||
given={Zhigang},
|
|
||||||
giveni={Z\bibinitperiod}}}%
|
|
||||||
{{hash=ebcb470ee777cbc56984a83379d29819}{%
|
|
||||||
family={Huang},
|
|
||||||
familyi={H\bibinitperiod},
|
|
||||||
given={Lei},
|
|
||||||
giveni={L\bibinitperiod}}}%
|
|
||||||
{{hash=d761d577d421d6a0566473ae6b8b342f}{%
|
|
||||||
family={Tian},
|
|
||||||
familyi={T\bibinitperiod},
|
|
||||||
given={Hao},
|
|
||||||
giveni={H\bibinitperiod}}}%
|
|
||||||
{{hash=2e463ab20a44bc493252994ca77f0fca}{%
|
|
||||||
family={Song},
|
|
||||||
familyi={S\bibinitperiod},
|
|
||||||
given={Dehai},
|
|
||||||
giveni={D\bibinitperiod}}}%
|
|
||||||
{{hash=eeea6461d631d4e9cb07d2abc2de6885}{%
|
|
||||||
family={Wei},
|
|
||||||
familyi={W\bibinitperiod},
|
|
||||||
given={Zhiqiang},
|
|
||||||
giveni={Z\bibinitperiod}}}%
|
|
||||||
}
|
|
||||||
\list{publisher}{1}{%
|
|
||||||
{Frontiers Media SA}%
|
|
||||||
}
|
|
||||||
\strng{namehash}{0fca66725a9966a967fc7893b180ddef}
|
|
||||||
\strng{fullhash}{0e37676c60146890b0c3819a1c8e441b}
|
|
||||||
\strng{fullhashraw}{0e37676c60146890b0c3819a1c8e441b}
|
|
||||||
\strng{bibnamehash}{0e37676c60146890b0c3819a1c8e441b}
|
|
||||||
\strng{authorbibnamehash}{0e37676c60146890b0c3819a1c8e441b}
|
|
||||||
\strng{authornamehash}{0fca66725a9966a967fc7893b180ddef}
|
|
||||||
\strng{authorfullhash}{0e37676c60146890b0c3819a1c8e441b}
|
|
||||||
\strng{authorfullhashraw}{0e37676c60146890b0c3819a1c8e441b}
|
|
||||||
\field{sortinit}{7}
|
|
||||||
\field{sortinithash}{108d0be1b1bee9773a1173443802c0a3}
|
|
||||||
\field{labelnamesource}{author}
|
|
||||||
\field{labeltitlesource}{title}
|
|
||||||
\field{issn}{2296-7745}
|
|
||||||
\field{journaltitle}{Frontiers in Marine Science}
|
|
||||||
\field{month}{8}
|
|
||||||
\field{title}{Multi-Year ENSO Forecasts Using Parallel Convolutional Neural Networks With Heterogeneous Architecture}
|
|
||||||
\field{volume}{8}
|
|
||||||
\field{year}{2021}
|
|
||||||
\verb{doi}
|
|
||||||
\verb 10.3389/fmars.2021.717184
|
|
||||||
\endverb
|
|
||||||
\verb{urlraw}
|
|
||||||
\verb http://dx.doi.org/10.3389/fmars.2021.717184
|
|
||||||
\endverb
|
|
||||||
\verb{url}
|
|
||||||
\verb http://dx.doi.org/10.3389/fmars.2021.717184
|
|
||||||
\endverb
|
|
||||||
\endentry
|
|
||||||
\entry{mobilenet}{misc}{}{}
|
\entry{mobilenet}{misc}{}{}
|
||||||
\name{author}{8}{}{%
|
\name{author}{8}{}{%
|
||||||
{{hash=0cedb03f907400fc304fdfaa1f7e2085}{%
|
{{hash=0cedb03f907400fc304fdfaa1f7e2085}{%
|
||||||
@@ -1885,8 +2064,8 @@
|
|||||||
\strng{authornamehash}{e1fc6cab9b6009340e110518e53868c4}
|
\strng{authornamehash}{e1fc6cab9b6009340e110518e53868c4}
|
||||||
\strng{authorfullhash}{cffcf38c642164887a370768f5701b8e}
|
\strng{authorfullhash}{cffcf38c642164887a370768f5701b8e}
|
||||||
\strng{authorfullhashraw}{cffcf38c642164887a370768f5701b8e}
|
\strng{authorfullhashraw}{cffcf38c642164887a370768f5701b8e}
|
||||||
\field{sortinit}{7}
|
\field{sortinit}{6}
|
||||||
\field{sortinithash}{108d0be1b1bee9773a1173443802c0a3}
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{title}{MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications}
|
\field{title}{MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications}
|
||||||
@@ -1937,8 +2116,8 @@
|
|||||||
\strng{authorfullhash}{2b7b29fe45fee2bd5ddb1dd1cbbff521}
|
\strng{authorfullhash}{2b7b29fe45fee2bd5ddb1dd1cbbff521}
|
||||||
\strng{authorfullhashraw}{2b7b29fe45fee2bd5ddb1dd1cbbff521}
|
\strng{authorfullhashraw}{2b7b29fe45fee2bd5ddb1dd1cbbff521}
|
||||||
\field{extraname}{2}
|
\field{extraname}{2}
|
||||||
\field{sortinit}{7}
|
\field{sortinit}{6}
|
||||||
\field{sortinithash}{108d0be1b1bee9773a1173443802c0a3}
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
\field{labelnamesource}{author}
|
\field{labelnamesource}{author}
|
||||||
\field{labeltitlesource}{title}
|
\field{labeltitlesource}{title}
|
||||||
\field{booktitle}{2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition}
|
\field{booktitle}{2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition}
|
||||||
@@ -1955,6 +2134,261 @@
|
|||||||
\verb http://dx.doi.org/10.1109/CVPR.2018.00716
|
\verb http://dx.doi.org/10.1109/CVPR.2018.00716
|
||||||
\endverb
|
\endverb
|
||||||
\endentry
|
\endentry
|
||||||
|
\entry{roc}{inproceedings}{}{}
|
||||||
|
\name{author}{1}{}{%
|
||||||
|
{{hash=296b45ce1995399650391e9bc8b09c22}{%
|
||||||
|
family={Metz},
|
||||||
|
familyi={M\bibinitperiod},
|
||||||
|
given={Charles\bibnamedelima E},
|
||||||
|
giveni={C\bibinitperiod\bibinitdelim E\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{organization}{1}{%
|
||||||
|
{Elsevier}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\strng{fullhash}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\strng{fullhashraw}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\strng{bibnamehash}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\strng{authorbibnamehash}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\strng{authornamehash}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\strng{authorfullhash}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\strng{authorfullhashraw}{296b45ce1995399650391e9bc8b09c22}
|
||||||
|
\field{sortinit}{6}
|
||||||
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{booktitle}{Seminars in nuclear medicine}
|
||||||
|
\field{number}{4}
|
||||||
|
\field{title}{Basic principles of ROC analysis}
|
||||||
|
\field{volume}{8}
|
||||||
|
\field{year}{1978}
|
||||||
|
\field{pages}{283\bibrangedash 298}
|
||||||
|
\range{pages}{16}
|
||||||
|
\endentry
|
||||||
|
\entry{roc_vs_prc2}{article}{}{}
|
||||||
|
\name{author}{3}{}{%
|
||||||
|
{{hash=6c614dc489bb7775dc417b3ac5025f38}{%
|
||||||
|
family={Calikus},
|
||||||
|
familyi={C\bibinitperiod},
|
||||||
|
given={Ece},
|
||||||
|
giveni={E\bibinitperiod}}}%
|
||||||
|
{{hash=6db975f29e3fa71e616c18ec03af0af4}{%
|
||||||
|
family={Nowaczyk},
|
||||||
|
familyi={N\bibinitperiod},
|
||||||
|
given={Slawomir},
|
||||||
|
giveni={S\bibinitperiod}}}%
|
||||||
|
{{hash=bd821c16b0a8af3d78e72b89568fb1b2}{%
|
||||||
|
family={Dikmen},
|
||||||
|
familyi={D\bibinitperiod},
|
||||||
|
given={Onur},
|
||||||
|
giveni={O\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{2}{%
|
||||||
|
{Springer Science}%
|
||||||
|
{Business Media LLC}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{5d40ff291ddd41f19115ab9b533809c6}
|
||||||
|
\strng{fullhash}{54b87a3930e5fe91fd9f2e0d38e53ee7}
|
||||||
|
\strng{fullhashraw}{54b87a3930e5fe91fd9f2e0d38e53ee7}
|
||||||
|
\strng{bibnamehash}{54b87a3930e5fe91fd9f2e0d38e53ee7}
|
||||||
|
\strng{authorbibnamehash}{54b87a3930e5fe91fd9f2e0d38e53ee7}
|
||||||
|
\strng{authornamehash}{5d40ff291ddd41f19115ab9b533809c6}
|
||||||
|
\strng{authorfullhash}{54b87a3930e5fe91fd9f2e0d38e53ee7}
|
||||||
|
\strng{authorfullhashraw}{54b87a3930e5fe91fd9f2e0d38e53ee7}
|
||||||
|
\field{sortinit}{6}
|
||||||
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{issn}{2364-4168}
|
||||||
|
\field{journaltitle}{International Journal of Data Science and Analytics}
|
||||||
|
\field{month}{6}
|
||||||
|
\field{number}{1}
|
||||||
|
\field{title}{Context discovery for anomaly detection}
|
||||||
|
\field{volume}{19}
|
||||||
|
\field{year}{2024}
|
||||||
|
\field{pages}{99\bibrangedash 113}
|
||||||
|
\range{pages}{15}
|
||||||
|
\verb{doi}
|
||||||
|
\verb 10.1007/s41060-024-00586-x
|
||||||
|
\endverb
|
||||||
|
\verb{urlraw}
|
||||||
|
\verb http://dx.doi.org/10.1007/s41060-024-00586-x
|
||||||
|
\endverb
|
||||||
|
\verb{url}
|
||||||
|
\verb http://dx.doi.org/10.1007/s41060-024-00586-x
|
||||||
|
\endverb
|
||||||
|
\endentry
|
||||||
|
\entry{roc_vs_prc}{article}{}{}
|
||||||
|
\name{author}{8}{}{%
|
||||||
|
{{hash=6a81232d1cbcdd0f3888fb10d2d20c69}{%
|
||||||
|
family={Campos},
|
||||||
|
familyi={C\bibinitperiod},
|
||||||
|
given={Guilherme\bibnamedelima O.},
|
||||||
|
giveni={G\bibinitperiod\bibinitdelim O\bibinitperiod}}}%
|
||||||
|
{{hash=cbfafee6627ecbb346007c41a5787a4e}{%
|
||||||
|
family={Zimek},
|
||||||
|
familyi={Z\bibinitperiod},
|
||||||
|
given={Arthur},
|
||||||
|
giveni={A\bibinitperiod}}}%
|
||||||
|
{{hash=802157026f850823b2027c2100cb359a}{%
|
||||||
|
family={Sander},
|
||||||
|
familyi={S\bibinitperiod},
|
||||||
|
given={Jörg},
|
||||||
|
giveni={J\bibinitperiod}}}%
|
||||||
|
{{hash=382d8e986b9afdbfedb661be5cf9ce33}{%
|
||||||
|
family={Campello},
|
||||||
|
familyi={C\bibinitperiod},
|
||||||
|
given={Ricardo\bibnamedelimb J.\bibnamedelimi G.\bibnamedelimi B.},
|
||||||
|
giveni={R\bibinitperiod\bibinitdelim J\bibinitperiod\bibinitdelim G\bibinitperiod\bibinitdelim B\bibinitperiod}}}%
|
||||||
|
{{hash=38f453607e6cbb2c3efe156849a986dd}{%
|
||||||
|
family={Micenková},
|
||||||
|
familyi={M\bibinitperiod},
|
||||||
|
given={Barbora},
|
||||||
|
giveni={B\bibinitperiod}}}%
|
||||||
|
{{hash=d5aa8a82c7032184011fd502a43e205a}{%
|
||||||
|
family={Schubert},
|
||||||
|
familyi={S\bibinitperiod},
|
||||||
|
given={Erich},
|
||||||
|
giveni={E\bibinitperiod}}}%
|
||||||
|
{{hash=69b6af16c92b02af90eb0a2864250685}{%
|
||||||
|
family={Assent},
|
||||||
|
familyi={A\bibinitperiod},
|
||||||
|
given={Ira},
|
||||||
|
giveni={I\bibinitperiod}}}%
|
||||||
|
{{hash=3f5ba8771c6d99e9af9f7716ed7d180b}{%
|
||||||
|
family={Houle},
|
||||||
|
familyi={H\bibinitperiod},
|
||||||
|
given={Michael\bibnamedelima E.},
|
||||||
|
giveni={M\bibinitperiod\bibinitdelim E\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{2}{%
|
||||||
|
{Springer Science}%
|
||||||
|
{Business Media LLC}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{2541e132e48ea3d61d11fb7ef5cc2fb4}
|
||||||
|
\strng{fullhash}{6b641fe45043d123c859110c492455cd}
|
||||||
|
\strng{fullhashraw}{6b641fe45043d123c859110c492455cd}
|
||||||
|
\strng{bibnamehash}{6b641fe45043d123c859110c492455cd}
|
||||||
|
\strng{authorbibnamehash}{6b641fe45043d123c859110c492455cd}
|
||||||
|
\strng{authornamehash}{2541e132e48ea3d61d11fb7ef5cc2fb4}
|
||||||
|
\strng{authorfullhash}{6b641fe45043d123c859110c492455cd}
|
||||||
|
\strng{authorfullhashraw}{6b641fe45043d123c859110c492455cd}
|
||||||
|
\field{sortinit}{6}
|
||||||
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{issn}{1573-756X}
|
||||||
|
\field{journaltitle}{Data Mining and Knowledge Discovery}
|
||||||
|
\field{month}{1}
|
||||||
|
\field{number}{4}
|
||||||
|
\field{title}{On the evaluation of unsupervised outlier detection: measures, datasets, and an empirical study}
|
||||||
|
\field{volume}{30}
|
||||||
|
\field{year}{2016}
|
||||||
|
\field{pages}{891\bibrangedash 927}
|
||||||
|
\range{pages}{37}
|
||||||
|
\verb{doi}
|
||||||
|
\verb 10.1007/s10618-015-0444-8
|
||||||
|
\endverb
|
||||||
|
\verb{urlraw}
|
||||||
|
\verb http://dx.doi.org/10.1007/s10618-015-0444-8
|
||||||
|
\endverb
|
||||||
|
\verb{url}
|
||||||
|
\verb http://dx.doi.org/10.1007/s10618-015-0444-8
|
||||||
|
\endverb
|
||||||
|
\endentry
|
||||||
|
\entry{prc}{article}{}{}
|
||||||
|
\name{author}{3}{}{%
|
||||||
|
{{hash=1f216647f3d14e9e167b5279b02fd2b6}{%
|
||||||
|
family={Raghavan},
|
||||||
|
familyi={R\bibinitperiod},
|
||||||
|
given={Vijay},
|
||||||
|
giveni={V\bibinitperiod}}}%
|
||||||
|
{{hash=8fc430cb115c6f35cc6c715511c6d017}{%
|
||||||
|
family={Bollmann},
|
||||||
|
familyi={B\bibinitperiod},
|
||||||
|
given={Peter},
|
||||||
|
giveni={P\bibinitperiod}}}%
|
||||||
|
{{hash=bbea5d20580d37dee6fdc8f2ab689622}{%
|
||||||
|
family={Jung},
|
||||||
|
familyi={J\bibinitperiod},
|
||||||
|
given={Gwang\bibnamedelima S.},
|
||||||
|
giveni={G\bibinitperiod\bibinitdelim S\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{1}{%
|
||||||
|
{Association for Computing Machinery (ACM)}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{8dbc985e2075b3f53854b49b85849232}
|
||||||
|
\strng{fullhash}{960dc590833332a78b4cf6bc2d8114f5}
|
||||||
|
\strng{fullhashraw}{960dc590833332a78b4cf6bc2d8114f5}
|
||||||
|
\strng{bibnamehash}{960dc590833332a78b4cf6bc2d8114f5}
|
||||||
|
\strng{authorbibnamehash}{960dc590833332a78b4cf6bc2d8114f5}
|
||||||
|
\strng{authornamehash}{8dbc985e2075b3f53854b49b85849232}
|
||||||
|
\strng{authorfullhash}{960dc590833332a78b4cf6bc2d8114f5}
|
||||||
|
\strng{authorfullhashraw}{960dc590833332a78b4cf6bc2d8114f5}
|
||||||
|
\field{sortinit}{6}
|
||||||
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{issn}{1558-2868}
|
||||||
|
\field{journaltitle}{ACM Transactions on Information Systems}
|
||||||
|
\field{month}{7}
|
||||||
|
\field{number}{3}
|
||||||
|
\field{title}{A critical investigation of recall and precision as measures of retrieval system performance}
|
||||||
|
\field{volume}{7}
|
||||||
|
\field{year}{1989}
|
||||||
|
\field{pages}{205\bibrangedash 229}
|
||||||
|
\range{pages}{25}
|
||||||
|
\verb{doi}
|
||||||
|
\verb 10.1145/65943.65945
|
||||||
|
\endverb
|
||||||
|
\verb{urlraw}
|
||||||
|
\verb http://dx.doi.org/10.1145/65943.65945
|
||||||
|
\endverb
|
||||||
|
\verb{url}
|
||||||
|
\verb http://dx.doi.org/10.1145/65943.65945
|
||||||
|
\endverb
|
||||||
|
\endentry
|
||||||
|
\entry{zscore}{article}{}{}
|
||||||
|
\name{author}{3}{}{%
|
||||||
|
{{hash=c4141ad87d07f41e44c31cc3b342bb04}{%
|
||||||
|
family={Kreyszig},
|
||||||
|
familyi={K\bibinitperiod},
|
||||||
|
given={Erwin},
|
||||||
|
giveni={E\bibinitperiod}}}%
|
||||||
|
{{hash=a9bc276dc5f8f0a388ab7a862ced31db}{%
|
||||||
|
family={Stroud},
|
||||||
|
familyi={S\bibinitperiod},
|
||||||
|
given={K},
|
||||||
|
giveni={K\bibinitperiod}}}%
|
||||||
|
{{hash=f32f108a562b342127650ab203d3b303}{%
|
||||||
|
family={Stephenson},
|
||||||
|
familyi={S\bibinitperiod},
|
||||||
|
given={G},
|
||||||
|
giveni={G\bibinitperiod}}}%
|
||||||
|
}
|
||||||
|
\list{publisher}{1}{%
|
||||||
|
{John Wiley \& Sons, Inc. 9 th edition, 2006 Page 2 of 6 Teaching methods~…}%
|
||||||
|
}
|
||||||
|
\strng{namehash}{f6ac776fd8cd938f842095a0fcfd6d6e}
|
||||||
|
\strng{fullhash}{39b0b87e985991ca0e9951b740c61064}
|
||||||
|
\strng{fullhashraw}{39b0b87e985991ca0e9951b740c61064}
|
||||||
|
\strng{bibnamehash}{39b0b87e985991ca0e9951b740c61064}
|
||||||
|
\strng{authorbibnamehash}{39b0b87e985991ca0e9951b740c61064}
|
||||||
|
\strng{authornamehash}{f6ac776fd8cd938f842095a0fcfd6d6e}
|
||||||
|
\strng{authorfullhash}{39b0b87e985991ca0e9951b740c61064}
|
||||||
|
\strng{authorfullhashraw}{39b0b87e985991ca0e9951b740c61064}
|
||||||
|
\field{sortinit}{6}
|
||||||
|
\field{sortinithash}{b33bc299efb3c36abec520a4c896a66d}
|
||||||
|
\field{labelnamesource}{author}
|
||||||
|
\field{labeltitlesource}{title}
|
||||||
|
\field{journaltitle}{Integration}
|
||||||
|
\field{number}{4}
|
||||||
|
\field{title}{Advanced engineering mathematics}
|
||||||
|
\field{volume}{9}
|
||||||
|
\field{year}{2008}
|
||||||
|
\field{pages}{1014}
|
||||||
|
\range{pages}{1}
|
||||||
|
\endentry
|
||||||
\enddatalist
|
\enddatalist
|
||||||
\endrefsection
|
\endrefsection
|
||||||
\endinput
|
\endinput
|
||||||
|
|||||||
BIN
thesis/Main.pdf
512
thesis/Main.tex
@@ -24,10 +24,7 @@
|
|||||||
not used other than the declared sources/resources, and that I have
|
not used other than the declared sources/resources, and that I have
|
||||||
explicitly indicated all material which has been quoted either
|
explicitly indicated all material which has been quoted either
|
||||||
literally or by content from the sources used.
|
literally or by content from the sources used.
|
||||||
\ifthenelse{\equal{\ThesisTitle}{master's thesis} \or
|
The text document uploaded to TUGRAZonline is identical to the present \ThesisTitle.
|
||||||
\equal{\ThesisTitle}{diploma thesis} \or
|
|
||||||
\equal{\ThesisTitle}{doctoral thesis}}
|
|
||||||
{The text document uploaded to TUGRAZonline is identical to the present \ThesisTitle.}{\reminder{TODO: fix \textbackslash ThesisTitle}}
|
|
||||||
|
|
||||||
|
|
||||||
\par\vspace*{4cm}
|
\par\vspace*{4cm}
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
\makeatother
|
\makeatother
|
||||||
|
|
||||||
% header and footer texts
|
% header and footer texts
|
||||||
\clearscrheadfoot % clear everything
|
\clearpairofpagestyles % clear everything
|
||||||
\KOMAoptions{headlines=1} % header needs two lines here
|
\KOMAoptions{headlines=1} % header needs two lines here
|
||||||
% [plain]{actual (scrheadings)}
|
% [plain]{actual (scrheadings)}
|
||||||
\ihead[]{}%
|
\ihead[]{}%
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ automark% auto update \..mark
|
|||||||
\usepackage[normalem]{ulem}% cross-out, strike-out, underlines (normalem: keep \emph italic)
|
\usepackage[normalem]{ulem}% cross-out, strike-out, underlines (normalem: keep \emph italic)
|
||||||
%\usepackage[safe]{textcomp}% loading in safe mode to avoid problems (see LaTeX companion)
|
%\usepackage[safe]{textcomp}% loading in safe mode to avoid problems (see LaTeX companion)
|
||||||
%\usepackage[geometry,misc]{ifsym}% technical symbols
|
%\usepackage[geometry,misc]{ifsym}% technical symbols
|
||||||
\usepackage{remreset}%\@removefromreset commands (e.g., for continuous footnote numbering)
|
%\usepackage{remreset}%\@removefromreset commands (e.g., for continuous footnote numbering)
|
||||||
\usepackage{paralist}% extended list environments
|
\usepackage{paralist}% extended list environments
|
||||||
% \usepackage[Sonny]{fncychap}
|
% \usepackage[Sonny]{fncychap}
|
||||||
\usepackage[avantgarde]{quotchap}
|
\usepackage[avantgarde]{quotchap}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
numpages = {58},
|
numpages = {58},
|
||||||
keywords = {outlier detection, Anomaly detection},
|
keywords = {outlier detection, Anomaly detection},
|
||||||
},
|
},
|
||||||
@dataset{alexander_kyuroson_2023_7913307,
|
dataset{alexander_kyuroson_2023_7913307,
|
||||||
author = {Alexander Kyuroson and Niklas Dahlquist and Nikolaos Stathoulopoulos
|
author = {Alexander Kyuroson and Niklas Dahlquist and Nikolaos Stathoulopoulos
|
||||||
and Vignesh Kottayam Viswanathan and Anton Koval and George
|
and Vignesh Kottayam Viswanathan and Anton Koval and George
|
||||||
Nikolakopoulos},
|
Nikolakopoulos},
|
||||||
@@ -204,7 +204,7 @@
|
|||||||
performance;Current measurement},
|
performance;Current measurement},
|
||||||
doi = {10.1109/IROS51168.2021.9636694},
|
doi = {10.1109/IROS51168.2021.9636694},
|
||||||
},
|
},
|
||||||
@article{deep_learning_overview,
|
article{deep_learning_overview,
|
||||||
title = {Deep learning in neural networks: An overview},
|
title = {Deep learning in neural networks: An overview},
|
||||||
journal = {Neural Networks},
|
journal = {Neural Networks},
|
||||||
volume = {61},
|
volume = {61},
|
||||||
@@ -258,7 +258,7 @@
|
|||||||
autoencoder algorithm are summarized, and prospected for its future
|
autoencoder algorithm are summarized, and prospected for its future
|
||||||
development directions are addressed.},
|
development directions are addressed.},
|
||||||
},
|
},
|
||||||
@article{semi_overview,
|
article{semi_overview,
|
||||||
author = {Yang, Xiangli and Song, Zixing and King, Irwin and Xu, Zenglin},
|
author = {Yang, Xiangli and Song, Zixing and King, Irwin and Xu, Zenglin},
|
||||||
journal = {IEEE Transactions on Knowledge and Data Engineering},
|
journal = {IEEE Transactions on Knowledge and Data Engineering},
|
||||||
title = {A Survey on Deep Semi-Supervised Learning},
|
title = {A Survey on Deep Semi-Supervised Learning},
|
||||||
@@ -271,7 +271,7 @@
|
|||||||
learning;semi-supervised learning;deep learning},
|
learning;semi-supervised learning;deep learning},
|
||||||
doi = {10.1109/TKDE.2022.3220219},
|
doi = {10.1109/TKDE.2022.3220219},
|
||||||
},
|
},
|
||||||
@book{ai_fundamentals_book,
|
book{ai_fundamentals_book,
|
||||||
title = {Fundamentals of Artificial Intelligence},
|
title = {Fundamentals of Artificial Intelligence},
|
||||||
url = {http://dx.doi.org/10.1007/978-81-322-3972-7},
|
url = {http://dx.doi.org/10.1007/978-81-322-3972-7},
|
||||||
DOI = {10.1007/978-81-322-3972-7},
|
DOI = {10.1007/978-81-322-3972-7},
|
||||||
@@ -281,7 +281,7 @@
|
|||||||
language = {en},
|
language = {en},
|
||||||
},
|
},
|
||||||
|
|
||||||
@article{machine_learning_overview,
|
article{machine_learning_overview,
|
||||||
title = {Machine Learning from Theory to Algorithms: An Overview},
|
title = {Machine Learning from Theory to Algorithms: An Overview},
|
||||||
volume = {1142},
|
volume = {1142},
|
||||||
ISSN = {1742-6596},
|
ISSN = {1742-6596},
|
||||||
@@ -519,7 +519,7 @@
|
|||||||
year = {1998},
|
year = {1998},
|
||||||
pages = {2278–2324},
|
pages = {2278–2324},
|
||||||
},
|
},
|
||||||
@article{ef_concept_source,
|
article{ef_concept_source,
|
||||||
title = {Multi-Year ENSO Forecasts Using Parallel Convolutional Neural
|
title = {Multi-Year ENSO Forecasts Using Parallel Convolutional Neural
|
||||||
Networks With Heterogeneous Architecture},
|
Networks With Heterogeneous Architecture},
|
||||||
volume = {8},
|
volume = {8},
|
||||||
@@ -595,9 +595,163 @@
|
|||||||
author = {Zhang, Xiangyu and Zhou, Xinyu and Lin, Mengxiao and Sun, Jian},
|
author = {Zhang, Xiangyu and Zhou, Xinyu and Lin, Mengxiao and Sun, Jian},
|
||||||
year = {2018},
|
year = {2018},
|
||||||
month = jun,
|
month = jun,
|
||||||
|
},
|
||||||
|
@article{bg_svm,
|
||||||
|
title = {Support-vector networks},
|
||||||
|
author = {Cortes, Corinna and Vapnik, Vladimir},
|
||||||
|
journal = {Machine learning},
|
||||||
|
volume = {20},
|
||||||
|
number = {3},
|
||||||
|
pages = {273--297},
|
||||||
|
year = {1995},
|
||||||
|
publisher = {Springer},
|
||||||
|
},
|
||||||
|
|
||||||
|
@article{bg_kmeans,
|
||||||
|
author = {Lloyd, S.},
|
||||||
|
journal = {IEEE Transactions on Information Theory},
|
||||||
|
title = {Least squares quantization in PCM},
|
||||||
|
year = {1982},
|
||||||
|
volume = {28},
|
||||||
|
number = {2},
|
||||||
|
pages = {129-137},
|
||||||
|
keywords = {Noise;Quantization (signal);Voltage;Receivers;Pulse
|
||||||
|
modulation;Sufficient conditions;Stochastic processes;Probabilistic
|
||||||
|
logic;Urban areas;Q measurement},
|
||||||
|
doi = {10.1109/TIT.1982.1056489},
|
||||||
|
},
|
||||||
|
|
||||||
|
@inproceedings{bg_dbscan,
|
||||||
|
added-at = {2023-12-13T07:32:13.000+0100},
|
||||||
|
author = {Ester, Martin and Kriegel, Hans-Peter and Sander, Jörg and Xu,
|
||||||
|
Xiaowei},
|
||||||
|
biburl = {
|
||||||
|
https://www.bibsonomy.org/bibtex/279a9f3560daefa3775bd35543b4482e1/admin
|
||||||
|
},
|
||||||
|
booktitle = {KDD},
|
||||||
|
crossref = {conf/kdd/1996},
|
||||||
|
editor = {Simoudis, Evangelos and Han, Jiawei and Fayyad, Usama M.},
|
||||||
|
ee = {http://www.aaai.org/Library/KDD/1996/kdd96-037.php},
|
||||||
|
interhash = {ba33e4d6b4e5b26bd9f543f26b7d250a},
|
||||||
|
intrahash = {79a9f3560daefa3775bd35543b4482e1},
|
||||||
|
isbn = {1-57735-004-9},
|
||||||
|
keywords = {},
|
||||||
|
pages = {226-231},
|
||||||
|
publisher = {AAAI Press},
|
||||||
|
timestamp = {2023-12-13T07:32:13.000+0100},
|
||||||
|
title = {A Density-Based Algorithm for Discovering Clusters in Large Spatial
|
||||||
|
Databases with Noise.},
|
||||||
|
url = {http://dblp.uni-trier.de/db/conf/kdd/kdd96.html#EsterKSX96},
|
||||||
|
year = 1996,
|
||||||
|
},
|
||||||
|
@article{bg_pca,
|
||||||
|
author = { Karl Pearson F.R.S. },
|
||||||
|
title = {LIII. On lines and planes of closest fit to systems of points in
|
||||||
|
space},
|
||||||
|
journal = {The London, Edinburgh, and Dublin Philosophical Magazine and
|
||||||
|
Journal of Science},
|
||||||
|
volume = {2},
|
||||||
|
number = {11},
|
||||||
|
pages = {559-572},
|
||||||
|
year = {1901},
|
||||||
|
publisher = {Taylor & Francis},
|
||||||
|
doi = {10.1080/14786440109462720},
|
||||||
|
},
|
||||||
|
@article{bg_infomax,
|
||||||
|
author = {Linsker, R.},
|
||||||
|
journal = {Computer},
|
||||||
|
title = {Self-organization in a perceptual network},
|
||||||
|
year = {1988},
|
||||||
|
volume = {21},
|
||||||
|
number = {3},
|
||||||
|
pages = {105-117},
|
||||||
|
keywords = {Intelligent networks;Biological information
|
||||||
|
theory;Circuits;Biology computing;Animal
|
||||||
|
structures;Neuroscience;Genetics;System testing;Neural
|
||||||
|
networks;Constraint theory},
|
||||||
|
doi = {10.1109/2.36},
|
||||||
|
},
|
||||||
|
@article{bg_slam,
|
||||||
|
title = {On the Representation and Estimation of Spatial Uncertainty},
|
||||||
|
volume = {5},
|
||||||
|
ISSN = {1741-3176},
|
||||||
|
url = {http://dx.doi.org/10.1177/027836498600500404},
|
||||||
|
DOI = {10.1177/027836498600500404},
|
||||||
|
number = {4},
|
||||||
|
journal = {The International Journal of Robotics Research},
|
||||||
|
publisher = {SAGE Publications},
|
||||||
|
author = {Smith, Randall C. and Cheeseman, Peter},
|
||||||
|
year = {1986},
|
||||||
|
month = dec,
|
||||||
|
pages = {56–68},
|
||||||
|
},
|
||||||
|
@article{roc_vs_prc2,
|
||||||
|
title = {Context discovery for anomaly detection},
|
||||||
|
volume = {19},
|
||||||
|
ISSN = {2364-4168},
|
||||||
|
url = {http://dx.doi.org/10.1007/s41060-024-00586-x},
|
||||||
|
DOI = {10.1007/s41060-024-00586-x},
|
||||||
|
number = {1},
|
||||||
|
journal = {International Journal of Data Science and Analytics},
|
||||||
|
publisher = {Springer Science and Business Media LLC},
|
||||||
|
author = {Calikus, Ece and Nowaczyk, Slawomir and Dikmen, Onur},
|
||||||
|
year = {2024},
|
||||||
|
month = jun,
|
||||||
|
pages = {99–113},
|
||||||
|
},
|
||||||
|
@article{roc_vs_prc,
|
||||||
|
title = {On the evaluation of unsupervised outlier detection: measures,
|
||||||
|
datasets, and an empirical study},
|
||||||
|
volume = {30},
|
||||||
|
ISSN = {1573-756X},
|
||||||
|
url = {http://dx.doi.org/10.1007/s10618-015-0444-8},
|
||||||
|
DOI = {10.1007/s10618-015-0444-8},
|
||||||
|
number = {4},
|
||||||
|
journal = {Data Mining and Knowledge Discovery},
|
||||||
|
publisher = {Springer Science and Business Media LLC},
|
||||||
|
author = {Campos, Guilherme O. and Zimek, Arthur and Sander, J\"{o}rg and
|
||||||
|
Campello, Ricardo J. G. B. and Micenková, Barbora and Schubert, Erich
|
||||||
|
and Assent, Ira and Houle, Michael E.},
|
||||||
|
year = {2016},
|
||||||
|
month = jan,
|
||||||
|
pages = {891–927},
|
||||||
|
},
|
||||||
|
@inproceedings{roc,
|
||||||
|
title = {Basic principles of ROC analysis},
|
||||||
|
author = {Metz, Charles E},
|
||||||
|
booktitle = {Seminars in nuclear medicine},
|
||||||
|
volume = {8},
|
||||||
|
number = {4},
|
||||||
|
pages = {283--298},
|
||||||
|
year = {1978},
|
||||||
|
organization = {Elsevier},
|
||||||
|
},
|
||||||
|
@article{prc,
|
||||||
|
title = {A critical investigation of recall and precision as measures of
|
||||||
|
retrieval system performance},
|
||||||
|
volume = {7},
|
||||||
|
ISSN = {1558-2868},
|
||||||
|
url = {http://dx.doi.org/10.1145/65943.65945},
|
||||||
|
DOI = {10.1145/65943.65945},
|
||||||
|
number = {3},
|
||||||
|
journal = {ACM Transactions on Information Systems},
|
||||||
|
publisher = {Association for Computing Machinery (ACM)},
|
||||||
|
author = {Raghavan, Vijay and Bollmann, Peter and Jung, Gwang S.},
|
||||||
|
year = {1989},
|
||||||
|
month = jul,
|
||||||
|
pages = {205–229},
|
||||||
|
},
|
||||||
|
@article{zscore,
|
||||||
|
title = {Advanced engineering mathematics},
|
||||||
|
author = {Kreyszig, Erwin and Stroud, K and Stephenson, G},
|
||||||
|
journal = {Integration},
|
||||||
|
volume = {9},
|
||||||
|
number = {4},
|
||||||
|
pages = {1014},
|
||||||
|
year = {2008},
|
||||||
|
publisher = {John Wiley \& Sons, Inc. 9 th edition, 2006 Page 2 of 6 Teaching
|
||||||
|
methods~…},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 211 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 732 KiB After Width: | Height: | Size: 718 KiB |
|
Before Width: | Height: | Size: 688 KiB After Width: | Height: | Size: 691 KiB |
|
Before Width: | Height: | Size: 380 KiB After Width: | Height: | Size: 365 KiB |
11
thesis/filters/drop-images.lua
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
-- drop-images.lua
|
||||||
|
-- Replaces all images (figures, graphics) with a short placeholder.
|
||||||
|
function Image(el) return pandoc.Str("[image omitted]") end
|
||||||
|
|
||||||
|
-- For LaTeX figures that are still raw
|
||||||
|
function RawBlock(el)
|
||||||
|
if el.format == "tex" and el.text:match("\\begin%s*{%s*figure%s*}") then
|
||||||
|
return pandoc.Plain({pandoc.Str("[figure omitted]")})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
11
thesis/filters/drop-tables.lua
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
-- drop-tables.lua
|
||||||
|
-- Removes LaTeX tabular and tabularx environments (and their contents).
|
||||||
|
function RawBlock(el)
|
||||||
|
if el.format == "tex" then
|
||||||
|
-- Check for tabular or tabularx environment
|
||||||
|
if el.text:match("\\begin%s*{%s*tabularx?%s*}") then
|
||||||
|
return pandoc.Plain({pandoc.Str("[table omitted]")})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
43
thesis/filters/keep-citations.lua
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
-- keep-citations.lua
|
||||||
|
-- Replace citations with a placeholder and eat any preceding space.
|
||||||
|
local PH = "[citation]"
|
||||||
|
|
||||||
|
-- Pandoc-native citations (if the reader produced Cite nodes)
|
||||||
|
function Cite(el) return pandoc.Str(PH) end
|
||||||
|
|
||||||
|
-- Raw LaTeX \cite-like macros (when not parsed as Cite)
|
||||||
|
function RawInline(el)
|
||||||
|
if el.format and el.format:match("tex") and el.text:match("\\%a-*cite%*?") then
|
||||||
|
return pandoc.Str(PH)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Remove a single leading Space before our placeholder
|
||||||
|
local function squash_spaces(inlines)
|
||||||
|
local out = {}
|
||||||
|
local i = 1
|
||||||
|
while i <= #inlines do
|
||||||
|
local cur = inlines[i]
|
||||||
|
local nxt = inlines[i + 1]
|
||||||
|
if cur and cur.t == "Space" and nxt and nxt.t == "Str" and nxt.text ==
|
||||||
|
PH then
|
||||||
|
table.insert(out, nxt)
|
||||||
|
i = i + 2
|
||||||
|
else
|
||||||
|
table.insert(out, cur)
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return out
|
||||||
|
end
|
||||||
|
|
||||||
|
function Para(el)
|
||||||
|
el.content = squash_spaces(el.content)
|
||||||
|
return el
|
||||||
|
end
|
||||||
|
|
||||||
|
function Plain(el)
|
||||||
|
el.content = squash_spaces(el.content)
|
||||||
|
return el
|
||||||
|
end
|
||||||
|
|
||||||
48
thesis/filters/math-omit.lua
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
-- math-omit.lua
|
||||||
|
-- Replace any math with a placeholder and ensure a space before it when appropriate.
|
||||||
|
local PH = "[math omitted]"
|
||||||
|
|
||||||
|
function Math(el)
|
||||||
|
-- Emit the placeholder as a Str; spacing is fixed in Para/Plain below.
|
||||||
|
return pandoc.Str(PH)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function ensure_space_before_ph(inlines)
|
||||||
|
local out = {}
|
||||||
|
for i = 1, #inlines do
|
||||||
|
local cur = inlines[i]
|
||||||
|
if cur.t == "Str" and cur.text == PH then
|
||||||
|
local prev = out[#out]
|
||||||
|
local need_space = true
|
||||||
|
|
||||||
|
-- No space if it's the first token in the block
|
||||||
|
if not prev then
|
||||||
|
need_space = false
|
||||||
|
elseif prev.t == "Space" then
|
||||||
|
need_space = false
|
||||||
|
elseif prev.t == "Str" then
|
||||||
|
-- If previous char is an opening bracket/paren/slash/hyphen or whitespace, skip
|
||||||
|
local last = prev.text:sub(-1)
|
||||||
|
if last:match("[%(%[%{%/%-]") or last:match("%s") then
|
||||||
|
need_space = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if need_space then table.insert(out, pandoc.Space()) end
|
||||||
|
table.insert(out, cur)
|
||||||
|
else
|
||||||
|
table.insert(out, cur)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return out
|
||||||
|
end
|
||||||
|
|
||||||
|
function Para(el)
|
||||||
|
el.content = ensure_space_before_ph(el.content)
|
||||||
|
return el
|
||||||
|
end
|
||||||
|
|
||||||
|
function Plain(el)
|
||||||
|
el.content = ensure_space_before_ph(el.content)
|
||||||
|
return el
|
||||||
|
end
|
||||||
@@ -15,6 +15,8 @@
|
|||||||
let
|
let
|
||||||
pkgs = import nixpkgs { inherit system; };
|
pkgs = import nixpkgs { inherit system; };
|
||||||
|
|
||||||
|
aspellWithDicts = pkgs.aspellWithDicts (d: [ d.en ]);
|
||||||
|
|
||||||
latex-packages = with pkgs; [
|
latex-packages = with pkgs; [
|
||||||
texlive.combined.scheme-full
|
texlive.combined.scheme-full
|
||||||
which
|
which
|
||||||
@@ -26,16 +28,42 @@
|
|||||||
zathura
|
zathura
|
||||||
wmctrl
|
wmctrl
|
||||||
python312
|
python312
|
||||||
|
pandoc
|
||||||
|
pandoc-lua-filters
|
||||||
];
|
];
|
||||||
|
filtersPath = "${pkgs.pandoc-lua-filters}/share/pandoc/filters";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShell = pkgs.mkShell {
|
devShell = pkgs.mkShell {
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
latex-packages
|
latex-packages
|
||||||
dev-packages
|
dev-packages
|
||||||
|
aspellWithDicts
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
shellHook = ''
|
||||||
|
set -eu
|
||||||
|
# local folder in your repo to reference in commands
|
||||||
|
link_target="pandoc-filters"
|
||||||
|
# refresh symlink each time you enter the shell
|
||||||
|
ln -sfn ${filtersPath} "$link_target"
|
||||||
|
echo "Linked $link_target -> ${filtersPath}"
|
||||||
|
|
||||||
|
# (optional) write a defaults file that uses the relative symlink
|
||||||
|
if [ ! -f pandoc.defaults.yaml ]; then
|
||||||
|
cat > pandoc.defaults.yaml <<'YAML'
|
||||||
|
from: latex
|
||||||
|
to: plain
|
||||||
|
wrap: none
|
||||||
|
lua-filter:
|
||||||
|
- pandoc-filters/latex-hyphen.lua
|
||||||
|
- pandoc-filters/pandoc-quotes.lua
|
||||||
|
YAML
|
||||||
|
echo "Wrote pandoc.defaults.yaml"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
61
thesis/tex2plaintext.sh
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Usage:
|
||||||
|
# ./tex2plaintext.sh [INPUT_TEX] [OUT_BASENAME]
|
||||||
|
#
|
||||||
|
# Defaults:
|
||||||
|
# INPUT_TEX = Main.txt (your original file name)
|
||||||
|
# OUT_BASENAME = thesis (produces thesis.txt, thesis_part1.txt, thesis_part2.txt)
|
||||||
|
|
||||||
|
INPUT_TEX="${1:-Main.tex}"
|
||||||
|
OUT_BASE="${2:-thesis}"
|
||||||
|
|
||||||
|
FLAT_TEX="flat.tex"
|
||||||
|
NO_TABLES_TEX="flat_notables.tex"
|
||||||
|
PLAIN_TXT="${OUT_BASE}.txt"
|
||||||
|
PART1_TXT="${OUT_BASE}_part1.txt"
|
||||||
|
PART2_TXT="${OUT_BASE}_part2.txt"
|
||||||
|
MARKER="Data and Preprocessing"
|
||||||
|
|
||||||
|
echo "[1/5] Flattening with latexpand -> ${FLAT_TEX}"
|
||||||
|
latexpand "${INPUT_TEX}" > "${FLAT_TEX}"
|
||||||
|
|
||||||
|
echo "[2/5] Removing tabular/tabularx environments -> ${NO_TABLES_TEX}"
|
||||||
|
# Replace entire tabular / tabularx environments with a placeholder
|
||||||
|
perl -0777 -pe 's/\\begin\{(tabularx?)\}.*?\\end\{\1\}/[table omitted]/gs' \
|
||||||
|
"${FLAT_TEX}" > "${NO_TABLES_TEX}"
|
||||||
|
|
||||||
|
echo "[3/5] Converting to plain text with pandoc -> ${PLAIN_TXT}"
|
||||||
|
pandoc -f latex -t plain --wrap=none \
|
||||||
|
--lua-filter=filters/keep-citations.lua \
|
||||||
|
--lua-filter=filters/math-omit.lua \
|
||||||
|
"${NO_TABLES_TEX}" -o "${PLAIN_TXT}"
|
||||||
|
|
||||||
|
echo "[4/5] Replacing [] placeholders with [figure]"
|
||||||
|
sed -i 's/\[\]/[figure]/g' "${PLAIN_TXT}"
|
||||||
|
|
||||||
|
echo "[5/5] Splitting ${PLAIN_TXT} before the marker line: \"${MARKER}\""
|
||||||
|
|
||||||
|
# Ensure the marker exists exactly on its own line
|
||||||
|
if ! grep -xq "${MARKER}" "${PLAIN_TXT}"; then
|
||||||
|
echo "ERROR: Marker line not found exactly as \"${MARKER}\" in ${PLAIN_TXT}."
|
||||||
|
echo " (It must be the only content on that line.)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean previous outputs if present
|
||||||
|
rm -f -- "${PART1_TXT}" "${PART2_TXT}"
|
||||||
|
|
||||||
|
# Split so the marker line becomes the FIRST line of part 2
|
||||||
|
awk -v marker="${MARKER}" -v out1="${PART1_TXT}" -v out2="${PART2_TXT}" '
|
||||||
|
BEGIN { current = out1 }
|
||||||
|
$0 == marker { current = out2; print $0 > current; next }
|
||||||
|
{ print $0 > current }
|
||||||
|
' "${PLAIN_TXT}"
|
||||||
|
|
||||||
|
echo "Done."
|
||||||
|
echo " - ${PLAIN_TXT}"
|
||||||
|
echo " - ${PART1_TXT}"
|
||||||
|
echo " - ${PART2_TXT}"
|
||||||
|
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
\addcontentsline{toc}{chapter}{Abstract}
|
\addcontentsline{toc}{chapter}{Abstract}
|
||||||
\begin{center}\Large\bfseries Abstract\end{center}\vspace*{1cm}\noindent
|
\begin{center}\Large\bfseries Abstract\end{center}\vspace*{1cm}\noindent
|
||||||
Autonomous robots are increasingly used in search and rescue (SAR) missions. In these missions, lidar sensors are often the most important source of environmental data. However, lidar data can degrade under hazardous conditions, especially when airborne particles such as smoke or dust are present. This degradation can lead to errors in mapping and navigation and may endanger both the robot and humans. Robots therefore need a way to estimate the reliability of their lidar data, so they can make better informed decisions.
|
Autonomous robots are increasingly used in search and rescue (SAR) missions. In these missions, LiDAR sensors are often the most important source of environmental data. However, LiDAR data can degrade under hazardous conditions, especially when airborne particles such as smoke or dust are present. This degradation can lead to errors in mapping and navigation and may endanger both the robot and humans. Therefore, robots need a way to estimate the reliability of their LiDAR data, so that they can make better-informed decisions.
|
||||||
|
\bigskip
|
||||||
|
|
||||||
This thesis investigates whether anomaly detection methods can be used to quantify lidar data degradation. We apply a semi-supervised deep learning approach called DeepSAD which produces an anomaly score for each lidar scan, serving as a measure of data reliability.
|
This thesis investigates whether anomaly detection methods can be used to quantify LiDAR data degradation caused by airborne particles such as smoke and dust. We apply a semi-supervised deep learning approach called DeepSAD, which produces an anomaly score for each LiDAR scan, serving as a measure of data reliability.
|
||||||
|
\bigskip
|
||||||
|
|
||||||
We evaluate this method against baseline methods on an subterranean dataset that includes lidar scans degraded by artificial smoke. Our results show that DeepSAD consistently outperforms the baselines and can clearly distinguish degraded from normal scans. At the same time, we find that the limited availability of labeled data and the lack of robust ground truth remain major challenges. Despite these limitations, our work demonstrates that anomaly detection methods are a promising tool for lidar degradation quantification in SAR scenarios.
|
We evaluate this method against baseline methods on a subterranean dataset that includes LiDAR scans degraded by artificial smoke. Our results show that DeepSAD consistently outperforms the baselines and can clearly distinguish degraded from normal scans. At the same time, we find that the limited availability of labeled data and the lack of robust ground truth remain major challenges. Despite these limitations, our work demonstrates that anomaly detection methods are a promising tool for LiDAR degradation quantification in SAR scenarios.
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
\addcontentsline{toc}{chapter}{Artifical Intelligence Usage Disclaimer}
|
\addcontentsline{toc}{chapter}{Artificial Intelligence Usage Disclaimer}
|
||||||
\begin{center}\Large\bfseries Artifical Intelligence Usage Disclaimer\end{center}\vspace*{1cm}\noindent
|
\begin{center}\Large\bfseries Artificial Intelligence Usage Disclaimer\end{center}\vspace*{1cm}\noindent
|
||||||
During the creation of this thesis an LLM-based Artifical Intelligence tool was used for stylistic and grammatical revision of the author's own work.
|
During the creation of this thesis, an LLM-based Artificial Intelligence tool was used for stylistic and grammatical revision of the author's own work.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
native_dependencies = with pkgs.python312Packages; [
|
native_dependencies = with pkgs.python311Packages; [
|
||||||
torch-bin
|
torch-bin
|
||||||
torchvision-bin
|
torchvision-bin
|
||||||
aggdraw # for visualtorch
|
aggdraw # for visualtorch
|
||||||
@@ -16,7 +16,7 @@ in
|
|||||||
packages = native_dependencies ++ tools;
|
packages = native_dependencies ++ tools;
|
||||||
languages.python = {
|
languages.python = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.python312;
|
package = pkgs.python311;
|
||||||
uv = {
|
uv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
sync.enable = true;
|
sync.enable = true;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import numpy as np
|
|||||||
import polars as pl
|
import polars as pl
|
||||||
|
|
||||||
# CHANGE THIS IMPORT IF YOUR LOADER MODULE IS NAMED DIFFERENTLY
|
# CHANGE THIS IMPORT IF YOUR LOADER MODULE IS NAMED DIFFERENTLY
|
||||||
from plot_scripts.load_results import load_pretraining_results_dataframe
|
from load_results import load_pretraining_results_dataframe
|
||||||
|
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# Config
|
# Config
|
||||||
@@ -78,8 +78,8 @@ def build_arch_curves_from_df(
|
|||||||
"overall": (dims, means, stds),
|
"overall": (dims, means, stds),
|
||||||
} }
|
} }
|
||||||
"""
|
"""
|
||||||
if "split" not in df.columns:
|
# if "split" not in df.columns:
|
||||||
raise ValueError("Expected 'split' column in AE dataframe.")
|
# raise ValueError("Expected 'split' column in AE dataframe.")
|
||||||
if "scores" not in df.columns:
|
if "scores" not in df.columns:
|
||||||
raise ValueError("Expected 'scores' column in AE dataframe.")
|
raise ValueError("Expected 'scores' column in AE dataframe.")
|
||||||
if "network" not in df.columns or "latent_dim" not in df.columns:
|
if "network" not in df.columns or "latent_dim" not in df.columns:
|
||||||
@@ -88,7 +88,7 @@ def build_arch_curves_from_df(
|
|||||||
raise ValueError(f"Expected '{label_field}' column in AE dataframe.")
|
raise ValueError(f"Expected '{label_field}' column in AE dataframe.")
|
||||||
|
|
||||||
# Keep only test split
|
# Keep only test split
|
||||||
df = df.filter(pl.col("split") == "test")
|
# df = df.filter(pl.col("split") == "test")
|
||||||
|
|
||||||
groups: dict[tuple[str, int], dict[str, list[float]]] = {}
|
groups: dict[tuple[str, int], dict[str, list[float]]] = {}
|
||||||
|
|
||||||
@@ -201,7 +201,7 @@ def plot_multi_loss_curve(arch_results, title, output_path, colors=None):
|
|||||||
|
|
||||||
plt.xlabel("Latent Dimensionality")
|
plt.xlabel("Latent Dimensionality")
|
||||||
plt.ylabel("Test Loss")
|
plt.ylabel("Test Loss")
|
||||||
plt.title(title)
|
# plt.title(title)
|
||||||
plt.legend()
|
plt.legend()
|
||||||
plt.grid(True, alpha=0.3)
|
plt.grid(True, alpha=0.3)
|
||||||
plt.xticks(all_dims)
|
plt.xticks(all_dims)
|
||||||
|
|||||||
@@ -171,28 +171,28 @@ def plot_combined_timeline(
|
|||||||
range(num_bins), near_sensor_binned, color=color, linestyle="--", alpha=0.6
|
range(num_bins), near_sensor_binned, color=color, linestyle="--", alpha=0.6
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add vertical lines for manually labeled frames if available
|
# # Add vertical lines for manually labeled frames if available
|
||||||
if all_paths[i].with_suffix(".npy").name in manually_labeled_anomaly_frames:
|
# if all_paths[i].with_suffix(".npy").name in manually_labeled_anomaly_frames:
|
||||||
begin_frame, end_frame = manually_labeled_anomaly_frames[
|
# begin_frame, end_frame = manually_labeled_anomaly_frames[
|
||||||
all_paths[i].with_suffix(".npy").name
|
# all_paths[i].with_suffix(".npy").name
|
||||||
]
|
# ]
|
||||||
# Convert frame numbers to normalized timeline positions
|
# # Convert frame numbers to normalized timeline positions
|
||||||
begin_pos = (begin_frame / exp_len) * (num_bins - 1)
|
# begin_pos = (begin_frame / exp_len) * (num_bins - 1)
|
||||||
end_pos = (end_frame / exp_len) * (num_bins - 1)
|
# end_pos = (end_frame / exp_len) * (num_bins - 1)
|
||||||
|
|
||||||
# Add vertical lines with matching color and loose dotting
|
# # Add vertical lines with matching color and loose dotting
|
||||||
ax1.axvline(
|
# ax1.axvline(
|
||||||
x=begin_pos,
|
# x=begin_pos,
|
||||||
color=color,
|
# color=color,
|
||||||
linestyle=":",
|
# linestyle=":",
|
||||||
alpha=0.6,
|
# alpha=0.6,
|
||||||
)
|
# )
|
||||||
ax1.axvline(
|
# ax1.axvline(
|
||||||
x=end_pos,
|
# x=end_pos,
|
||||||
color=color,
|
# color=color,
|
||||||
linestyle=":",
|
# linestyle=":",
|
||||||
alpha=0.6,
|
# alpha=0.6,
|
||||||
)
|
# )
|
||||||
|
|
||||||
# Customize axes
|
# Customize axes
|
||||||
ax1.set_xlabel("Normalized Timeline")
|
ax1.set_xlabel("Normalized Timeline")
|
||||||
@@ -202,7 +202,7 @@ def plot_combined_timeline(
|
|||||||
ax1.set_ylabel("Missing Points (%)")
|
ax1.set_ylabel("Missing Points (%)")
|
||||||
ax2.set_ylabel("Points with <0.5m Range (%)")
|
ax2.set_ylabel("Points with <0.5m Range (%)")
|
||||||
|
|
||||||
plt.title(title)
|
# plt.title(title)
|
||||||
|
|
||||||
# Create legends without fixed positions
|
# Create legends without fixed positions
|
||||||
# First get all lines and labels for experiments
|
# First get all lines and labels for experiments
|
||||||
@@ -221,7 +221,8 @@ def plot_combined_timeline(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Create single legend in top right corner with consistent margins
|
# Create single legend in top right corner with consistent margins
|
||||||
fig.legend(all_handles, all_labels, loc="upper right", borderaxespad=4.8)
|
# fig.legend(all_handles, all_labels, loc="upper right", borderaxespad=2.8)
|
||||||
|
fig.legend(all_handles, all_labels, bbox_to_anchor=(0.95, 0.99))
|
||||||
|
|
||||||
plt.grid(True, alpha=0.3)
|
plt.grid(True, alpha=0.3)
|
||||||
|
|
||||||
|
|||||||
@@ -122,8 +122,8 @@ def plot_data_points_pie(normal_experiment_frames, anomaly_experiment_frames):
|
|||||||
|
|
||||||
# prepare data for pie chart
|
# prepare data for pie chart
|
||||||
labels = [
|
labels = [
|
||||||
"Normal Lidar Frames\nNon-Degraded Pointclouds",
|
"Normal Lidar Frames\nNon-Degraded Point Clouds",
|
||||||
"Anomalous Lidar Frames\nDegraded Pointclouds",
|
"Anomalous Lidar Frames\nDegraded Point Clouds",
|
||||||
]
|
]
|
||||||
sizes = [total_normal_frames, total_anomaly_frames]
|
sizes = [total_normal_frames, total_anomaly_frames]
|
||||||
explode = (0.1, 0) # explode the normal slice
|
explode = (0.1, 0) # explode the normal slice
|
||||||
@@ -150,9 +150,9 @@ def plot_data_points_pie(normal_experiment_frames, anomaly_experiment_frames):
|
|||||||
va="center",
|
va="center",
|
||||||
color="black",
|
color="black",
|
||||||
)
|
)
|
||||||
plt.title(
|
# plt.title(
|
||||||
"Distribution of Normal and Anomalous\nPointclouds in all Experiments (Lidar Frames)"
|
# "Distribution of Normal and Anomalous\nPointclouds in all Experiments (Lidar Frames)"
|
||||||
)
|
# )
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
|
|
||||||
# save the plot
|
# save the plot
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ from pathlib import Path
|
|||||||
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from pointcloudset import Dataset
|
|
||||||
|
|
||||||
# define data path containing the bag files
|
# define data path containing the bag files
|
||||||
all_data_path = Path("/home/fedex/mt/data/subter")
|
all_data_path = Path("/home/fedex/mt/data/subter")
|
||||||
@@ -82,7 +81,7 @@ def plot_data_points(normal_experiment_paths, anomaly_experiment_paths, title):
|
|||||||
plt.figure(figsize=(10, 5))
|
plt.figure(figsize=(10, 5))
|
||||||
plt.hist(missing_points_normal, bins=100, alpha=0.5, label="Normal Experiments")
|
plt.hist(missing_points_normal, bins=100, alpha=0.5, label="Normal Experiments")
|
||||||
plt.hist(missing_points_anomaly, bins=100, alpha=0.5, label="Anomaly Experiments")
|
plt.hist(missing_points_anomaly, bins=100, alpha=0.5, label="Anomaly Experiments")
|
||||||
plt.title(title)
|
# plt.title(title)
|
||||||
plt.xlabel("Number of Missing Points")
|
plt.xlabel("Number of Missing Points")
|
||||||
plt.ylabel("Number of Pointclouds")
|
plt.ylabel("Number of Pointclouds")
|
||||||
plt.legend()
|
plt.legend()
|
||||||
@@ -109,7 +108,7 @@ def plot_data_points(normal_experiment_paths, anomaly_experiment_paths, title):
|
|||||||
label="Anomaly Experiments",
|
label="Anomaly Experiments",
|
||||||
orientation="horizontal",
|
orientation="horizontal",
|
||||||
)
|
)
|
||||||
plt.title(title)
|
# plt.title(title)
|
||||||
plt.xlabel("Number of Pointclouds")
|
plt.xlabel("Number of Pointclouds")
|
||||||
plt.ylabel("Number of Missing Points")
|
plt.ylabel("Number of Missing Points")
|
||||||
plt.legend()
|
plt.legend()
|
||||||
@@ -142,7 +141,7 @@ def plot_data_points(normal_experiment_paths, anomaly_experiment_paths, title):
|
|||||||
label="Anomaly Experiments",
|
label="Anomaly Experiments",
|
||||||
density=True,
|
density=True,
|
||||||
)
|
)
|
||||||
plt.title(title)
|
# plt.title(title)
|
||||||
plt.xlabel("Number of Missing Points")
|
plt.xlabel("Number of Missing Points")
|
||||||
plt.ylabel("Density")
|
plt.ylabel("Density")
|
||||||
plt.legend()
|
plt.legend()
|
||||||
@@ -169,7 +168,7 @@ def plot_data_points(normal_experiment_paths, anomaly_experiment_paths, title):
|
|||||||
label="Anomaly Experiments (With Artifical Smoke)",
|
label="Anomaly Experiments (With Artifical Smoke)",
|
||||||
density=True,
|
density=True,
|
||||||
)
|
)
|
||||||
plt.title(title)
|
# plt.title(title)
|
||||||
plt.xlabel("Percentage of Missing Lidar Measurements")
|
plt.xlabel("Percentage of Missing Lidar Measurements")
|
||||||
plt.ylabel("Density")
|
plt.ylabel("Density")
|
||||||
# display the x axis as percentages
|
# display the x axis as percentages
|
||||||
@@ -210,7 +209,7 @@ def plot_data_points(normal_experiment_paths, anomaly_experiment_paths, title):
|
|||||||
alpha=0.5,
|
alpha=0.5,
|
||||||
label="Anomaly Experiments",
|
label="Anomaly Experiments",
|
||||||
)
|
)
|
||||||
plt.title(title)
|
# plt.title(title)
|
||||||
plt.xlabel("Number of Missing Points")
|
plt.xlabel("Number of Missing Points")
|
||||||
plt.ylabel("Normalized Density")
|
plt.ylabel("Normalized Density")
|
||||||
plt.legend()
|
plt.legend()
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ from pathlib import Path
|
|||||||
|
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from pointcloudset import Dataset
|
|
||||||
|
|
||||||
# define data path containing the bag files
|
# define data path containing the bag files
|
||||||
all_data_path = Path("/home/fedex/mt/data/subter")
|
all_data_path = Path("/home/fedex/mt/data/subter")
|
||||||
@@ -164,7 +163,7 @@ def plot_data_points(normal_experiment_paths, anomaly_experiment_paths, title):
|
|||||||
plt.gca().set_yticklabels(
|
plt.gca().set_yticklabels(
|
||||||
["{:.0f}%".format(y * 100) for y in plt.gca().get_yticks()]
|
["{:.0f}%".format(y * 100) for y in plt.gca().get_yticks()]
|
||||||
)
|
)
|
||||||
plt.title("Particles Closer than 0.5m to the Sensor")
|
# plt.title("Particles Closer than 0.5m to the Sensor")
|
||||||
plt.ylabel("Percentage of measurements closer than 0.5m")
|
plt.ylabel("Percentage of measurements closer than 0.5m")
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
plt.savefig(output_datetime_path / f"particles_near_sensor_boxplot_{rt}.png")
|
plt.savefig(output_datetime_path / f"particles_near_sensor_boxplot_{rt}.png")
|
||||||
@@ -186,7 +185,7 @@ def plot_data_points(normal_experiment_paths, anomaly_experiment_paths, title):
|
|||||||
plt.gca().set_yticklabels(
|
plt.gca().set_yticklabels(
|
||||||
["{:.0f}%".format(y * 100) for y in plt.gca().get_yticks()]
|
["{:.0f}%".format(y * 100) for y in plt.gca().get_yticks()]
|
||||||
)
|
)
|
||||||
plt.title("Particles Closer than 0.5m to the Sensor")
|
# plt.title("Particles Closer than 0.5m to the Sensor")
|
||||||
plt.ylabel("Percentage of measurements closer than 0.5m")
|
plt.ylabel("Percentage of measurements closer than 0.5m")
|
||||||
plt.ylim(0, 0.05)
|
plt.ylim(0, 0.05)
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
|
|||||||
@@ -112,18 +112,27 @@ cmap = get_colormap_with_special_missing_color(
|
|||||||
args.colormap, args.missing_data_color, args.reverse_colormap
|
args.colormap, args.missing_data_color, args.reverse_colormap
|
||||||
)
|
)
|
||||||
|
|
||||||
# --- Create a figure with 2 vertical subplots ---
|
# --- Create a figure with 2 vertical subplots and move titles to the left ---
|
||||||
fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1, figsize=(10, 5))
|
fig, (ax1, ax2) = plt.subplots(nrows=2, ncols=1, figsize=(10, 5))
|
||||||
for ax, frame, title in zip(
|
# leave extra left margin for the left-side labels
|
||||||
|
fig.subplots_adjust(left=0.14, hspace=0.05)
|
||||||
|
|
||||||
|
for ax, frame, label in zip(
|
||||||
(ax1, ax2),
|
(ax1, ax2),
|
||||||
(frame1, frame2),
|
(frame1, frame2),
|
||||||
(
|
("(a)", "(b)"),
|
||||||
"Projection of Lidar Frame without Degradation",
|
|
||||||
"Projection of Lidar Frame with Degradation (Artifical Smoke)",
|
|
||||||
),
|
|
||||||
):
|
):
|
||||||
im = ax.imshow(frame, cmap=cmap, aspect="auto", vmin=global_vmin, vmax=global_vmax)
|
im = ax.imshow(frame, cmap=cmap, aspect="auto", vmin=global_vmin, vmax=global_vmax)
|
||||||
ax.set_title(title)
|
# place the "title" to the left, vertically centered relative to the axes
|
||||||
|
ax.text(
|
||||||
|
-0.02, # negative x places text left of the axes (in axes coordinates)
|
||||||
|
0.5,
|
||||||
|
label,
|
||||||
|
transform=ax.transAxes,
|
||||||
|
va="center",
|
||||||
|
ha="right",
|
||||||
|
fontsize=12,
|
||||||
|
)
|
||||||
ax.axis("off")
|
ax.axis("off")
|
||||||
|
|
||||||
# Adjust layout to fit margins for a paper
|
# Adjust layout to fit margins for a paper
|
||||||
|
|||||||
@@ -260,11 +260,11 @@ def baseline_transform(clean: np.ndarray, other: np.ndarray, mode: str):
|
|||||||
|
|
||||||
|
|
||||||
def pick_method_series(gdf: pl.DataFrame, label: str) -> Optional[np.ndarray]:
|
def pick_method_series(gdf: pl.DataFrame, label: str) -> Optional[np.ndarray]:
|
||||||
if label == "DeepSAD (LeNet)":
|
if label == "DeepSAD LeNet":
|
||||||
sel = gdf.filter(
|
sel = gdf.filter(
|
||||||
(pl.col("network") == "subter_LeNet") & (pl.col("model") == "deepsad")
|
(pl.col("network") == "subter_LeNet") & (pl.col("model") == "deepsad")
|
||||||
)
|
)
|
||||||
elif label == "DeepSAD (efficient)":
|
elif label == "DeepSAD Efficient":
|
||||||
sel = gdf.filter(
|
sel = gdf.filter(
|
||||||
(pl.col("network") == "subter_efficient") & (pl.col("model") == "deepsad")
|
(pl.col("network") == "subter_efficient") & (pl.col("model") == "deepsad")
|
||||||
)
|
)
|
||||||
@@ -311,8 +311,8 @@ def compare_two_experiments_progress(
|
|||||||
include_stats: bool = True,
|
include_stats: bool = True,
|
||||||
):
|
):
|
||||||
methods = [
|
methods = [
|
||||||
"DeepSAD (LeNet)",
|
"DeepSAD LeNet",
|
||||||
"DeepSAD (efficient)",
|
"DeepSAD Efficient",
|
||||||
"OCSVM",
|
"OCSVM",
|
||||||
"Isolation Forest",
|
"Isolation Forest",
|
||||||
]
|
]
|
||||||
@@ -392,8 +392,8 @@ def compare_two_experiments_progress(
|
|||||||
axes = axes.ravel()
|
axes = axes.ravel()
|
||||||
|
|
||||||
method_to_axidx = {
|
method_to_axidx = {
|
||||||
"DeepSAD (LeNet)": 0,
|
"DeepSAD LeNet": 0,
|
||||||
"DeepSAD (efficient)": 1,
|
"DeepSAD Efficient": 1,
|
||||||
"OCSVM": 2,
|
"OCSVM": 2,
|
||||||
"Isolation Forest": 3,
|
"Isolation Forest": 3,
|
||||||
}
|
}
|
||||||
@@ -404,6 +404,8 @@ def compare_two_experiments_progress(
|
|||||||
if not stats_available:
|
if not stats_available:
|
||||||
print("[WARN] One or both stats missing. Subplots will include methods only.")
|
print("[WARN] One or both stats missing. Subplots will include methods only.")
|
||||||
|
|
||||||
|
letters = ["a", "b", "c", "d"]
|
||||||
|
|
||||||
for label, axidx in method_to_axidx.items():
|
for label, axidx in method_to_axidx.items():
|
||||||
ax = axes[axidx]
|
ax = axes[axidx]
|
||||||
yc = curves_clean.get(label)
|
yc = curves_clean.get(label)
|
||||||
@@ -412,7 +414,7 @@ def compare_two_experiments_progress(
|
|||||||
ax.text(
|
ax.text(
|
||||||
0.5, 0.5, "No data", ha="center", va="center", transform=ax.transAxes
|
0.5, 0.5, "No data", ha="center", va="center", transform=ax.transAxes
|
||||||
)
|
)
|
||||||
ax.set_title(label)
|
ax.set_title(f"({letters[axidx]}) {label}")
|
||||||
ax.grid(True, alpha=0.3)
|
ax.grid(True, alpha=0.3)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -435,6 +437,7 @@ def compare_two_experiments_progress(
|
|||||||
)
|
)
|
||||||
ax.set_ylabel(y_label)
|
ax.set_ylabel(y_label)
|
||||||
ax.set_title(label)
|
ax.set_title(label)
|
||||||
|
ax.set_title(f"({letters[axidx]}) {label}")
|
||||||
ax.grid(True, alpha=0.3)
|
ax.grid(True, alpha=0.3)
|
||||||
|
|
||||||
# Right axis #1 (closest to plot): Missing points (%)
|
# Right axis #1 (closest to plot): Missing points (%)
|
||||||
@@ -550,11 +553,11 @@ def compare_two_experiments_progress(
|
|||||||
for ax in axes:
|
for ax in axes:
|
||||||
ax.set_xlabel("Progress through experiment (%)")
|
ax.set_xlabel("Progress through experiment (%)")
|
||||||
|
|
||||||
fig.suptitle(
|
# fig.suptitle(
|
||||||
f"AD Method vs Stats Inference — progress-normalized\n"
|
# f"AD Method vs Stats Inference — progress-normalized\n"
|
||||||
f"Transform: z-score normalized to non-degraded experiment | EMA(α={EMA_ALPHA_METHODS})",
|
# f"Transform: z-score normalized to non-degraded experiment | EMA(α={EMA_ALPHA_METHODS})",
|
||||||
fontsize=14,
|
# fontsize=14,
|
||||||
)
|
# )
|
||||||
fig.tight_layout(rect=[0, 0, 1, 0.99])
|
fig.tight_layout(rect=[0, 0, 1, 0.99])
|
||||||
|
|
||||||
out_name = (
|
out_name = (
|
||||||
|
|||||||
@@ -161,7 +161,7 @@ def _ensure_dim_axes(fig_title: str):
|
|||||||
fig, axes = plt.subplots(
|
fig, axes = plt.subplots(
|
||||||
nrows=4, ncols=2, figsize=(12, 16), constrained_layout=True
|
nrows=4, ncols=2, figsize=(12, 16), constrained_layout=True
|
||||||
)
|
)
|
||||||
fig.suptitle(fig_title, fontsize=14)
|
# fig.suptitle(fig_title, fontsize=14)
|
||||||
axes = axes.ravel()
|
axes = axes.ravel()
|
||||||
return fig, axes
|
return fig, axes
|
||||||
|
|
||||||
@@ -213,11 +213,13 @@ def plot_grid_from_df(
|
|||||||
legend_labels = []
|
legend_labels = []
|
||||||
have_legend = False
|
have_legend = False
|
||||||
|
|
||||||
|
letters = ["a", "b", "c", "d", "e", "f", "g", "h"]
|
||||||
|
|
||||||
for i, dim in enumerate(LATENT_DIMS):
|
for i, dim in enumerate(LATENT_DIMS):
|
||||||
if i >= 7:
|
if i >= 7:
|
||||||
break # last slot reserved for legend
|
break # last slot reserved for legend
|
||||||
ax = axes[i]
|
ax = axes[i]
|
||||||
ax.set_title(f"Latent Dim. = {dim}")
|
ax.set_title(f"({letters[i]}) Latent Dim. = {dim}")
|
||||||
ax.grid(True, alpha=0.3)
|
ax.grid(True, alpha=0.3)
|
||||||
|
|
||||||
if kind == "roc":
|
if kind == "roc":
|
||||||
|
|||||||
@@ -260,9 +260,9 @@ def make_figures_for_dim(
|
|||||||
fig_roc, axes = plt.subplots(
|
fig_roc, axes = plt.subplots(
|
||||||
nrows=2, ncols=1, figsize=(7, 10), constrained_layout=True
|
nrows=2, ncols=1, figsize=(7, 10), constrained_layout=True
|
||||||
)
|
)
|
||||||
fig_roc.suptitle(
|
# fig_roc.suptitle(
|
||||||
f"ROC — {EVALS_LABELS[eval_type]} — Latent Dim.={latent_dim}", fontsize=14
|
# f"ROC — {EVALS_LABELS[eval_type]} — Latent Dim.={latent_dim}", fontsize=14
|
||||||
)
|
# )
|
||||||
|
|
||||||
_plot_panel(
|
_plot_panel(
|
||||||
axes[0],
|
axes[0],
|
||||||
@@ -272,7 +272,7 @@ def make_figures_for_dim(
|
|||||||
latent_dim=latent_dim,
|
latent_dim=latent_dim,
|
||||||
kind="roc",
|
kind="roc",
|
||||||
)
|
)
|
||||||
axes[0].set_title("DeepSAD (LeNet) + Baselines")
|
axes[0].set_title("(a) DeepSAD (LeNet) + Baselines")
|
||||||
|
|
||||||
_plot_panel(
|
_plot_panel(
|
||||||
axes[1],
|
axes[1],
|
||||||
@@ -282,7 +282,7 @@ def make_figures_for_dim(
|
|||||||
latent_dim=latent_dim,
|
latent_dim=latent_dim,
|
||||||
kind="roc",
|
kind="roc",
|
||||||
)
|
)
|
||||||
axes[1].set_title("DeepSAD (Efficient) + Baselines")
|
axes[1].set_title("(b) DeepSAD (Efficient) + Baselines")
|
||||||
|
|
||||||
out_roc = out_dir / f"roc_{latent_dim}_{eval_type}.png"
|
out_roc = out_dir / f"roc_{latent_dim}_{eval_type}.png"
|
||||||
fig_roc.savefig(out_roc, dpi=150, bbox_inches="tight")
|
fig_roc.savefig(out_roc, dpi=150, bbox_inches="tight")
|
||||||
@@ -292,9 +292,9 @@ def make_figures_for_dim(
|
|||||||
fig_prc, axes = plt.subplots(
|
fig_prc, axes = plt.subplots(
|
||||||
nrows=2, ncols=1, figsize=(7, 10), constrained_layout=True
|
nrows=2, ncols=1, figsize=(7, 10), constrained_layout=True
|
||||||
)
|
)
|
||||||
fig_prc.suptitle(
|
# fig_prc.suptitle(
|
||||||
f"PRC — {EVALS_LABELS[eval_type]} — Latent Dim.={latent_dim}", fontsize=14
|
# f"PRC — {EVALS_LABELS[eval_type]} — Latent Dim.={latent_dim}", fontsize=14
|
||||||
)
|
# )
|
||||||
|
|
||||||
_plot_panel(
|
_plot_panel(
|
||||||
axes[0],
|
axes[0],
|
||||||
@@ -304,7 +304,7 @@ def make_figures_for_dim(
|
|||||||
latent_dim=latent_dim,
|
latent_dim=latent_dim,
|
||||||
kind="prc",
|
kind="prc",
|
||||||
)
|
)
|
||||||
axes[0].set_title("DeepSAD (LeNet) + Baselines")
|
axes[0].set_title("(a)")
|
||||||
|
|
||||||
_plot_panel(
|
_plot_panel(
|
||||||
axes[1],
|
axes[1],
|
||||||
@@ -314,7 +314,7 @@ def make_figures_for_dim(
|
|||||||
latent_dim=latent_dim,
|
latent_dim=latent_dim,
|
||||||
kind="prc",
|
kind="prc",
|
||||||
)
|
)
|
||||||
axes[1].set_title("DeepSAD (Efficient) + Baselines")
|
axes[1].set_title("(b)")
|
||||||
|
|
||||||
out_prc = out_dir / f"prc_{latent_dim}_{eval_type}.png"
|
out_prc = out_dir / f"prc_{latent_dim}_{eval_type}.png"
|
||||||
fig_prc.savefig(out_prc, dpi=150, bbox_inches="tight")
|
fig_prc.savefig(out_prc, dpi=150, bbox_inches="tight")
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ readme = "README.md"
|
|||||||
requires-python = ">=3.11.9"
|
requires-python = ">=3.11.9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"pandas>=2.3.2",
|
"pandas>=2.3.2",
|
||||||
|
"pointcloudset>=0.11.0",
|
||||||
"polars>=1.33.0",
|
"polars>=1.33.0",
|
||||||
"pyarrow>=21.0.0",
|
"pyarrow>=21.0.0",
|
||||||
"tabulate>=0.9.0",
|
"tabulate>=0.9.0",
|
||||||
|
|||||||