add efficientad section
All checks were successful
Build Typst document / build_typst_documents (push) Successful in 50s
All checks were successful
Build Typst document / build_typst_documents (push) Successful in 50s
This commit is contained in:
parent
18025d10c5
commit
9386971006
4
main.typ
4
main.typ
@ -100,9 +100,9 @@ To everyone who contributed to this thesis, directly or indirectly, I offer my h
|
|||||||
|
|
||||||
|
|
||||||
// Set citation style
|
// Set citation style
|
||||||
#set cite(style: "iso-690-author-date") // page info visible
|
// #set cite(style: "iso-690-author-date") // page info visible
|
||||||
//#set cite(style: "iso-690-numeric") // page info visible
|
//#set cite(style: "iso-690-numeric") // page info visible
|
||||||
//#set cite(style: "springer-basic")// no additional info visible (page number in square brackets)
|
#set cite(style: "springer-basic")// no additional info visible (page number in square brackets)
|
||||||
//#set cite(style: "alphanumeric")// page info not visible
|
//#set cite(style: "alphanumeric")// page info not visible
|
||||||
|
|
||||||
|
|
||||||
|
@ -98,6 +98,7 @@ This helps the model to learn the underlying patterns and to generalize well to
|
|||||||
In few-shot learning the model has to generalize from just a few samples.
|
In few-shot learning the model has to generalize from just a few samples.
|
||||||
|
|
||||||
=== Patchcore
|
=== Patchcore
|
||||||
|
// https://arxiv.org/pdf/2106.08265
|
||||||
PatchCore is an advanced method designed for cold-start anomaly detection and localization, primarily focused on industrial image data.
|
PatchCore is an advanced method designed for cold-start anomaly detection and localization, primarily focused on industrial image data.
|
||||||
It operates on the principle that an image is anomalous if any of its patches is anomalous.
|
It operates on the principle that an image is anomalous if any of its patches is anomalous.
|
||||||
The method achieves state-of-the-art performance on benchmarks like MVTec AD with high accuracy, low computational cost, and competitive inference times. #cite(<patchcorepaper>)
|
The method achieves state-of-the-art performance on benchmarks like MVTec AD with high accuracy, low computational cost, and competitive inference times. #cite(<patchcorepaper>)
|
||||||
@ -114,22 +115,49 @@ This optimization reduces both storage requirements and inference times while ma
|
|||||||
|
|
||||||
During inference, PatchCore computes anomaly scores by measuring the distance between patch features from test images and their nearest neighbors in the memory bank.
|
During inference, PatchCore computes anomaly scores by measuring the distance between patch features from test images and their nearest neighbors in the memory bank.
|
||||||
If any patch exhibits a significant deviation, the corresponding image is flagged as anomalous.
|
If any patch exhibits a significant deviation, the corresponding image is flagged as anomalous.
|
||||||
For localization, the anomaly scores of individual patches are spatially aligned and upsampled to generate segmentation maps, providing pixel-level insights into the anomalous regions. #cite(<patchcorepaper>)
|
For localization, the anomaly scores of individual patches are spatially aligned and upsampled to generate segmentation maps, providing pixel-level insights into the anomalous regions.~#cite(<patchcorepaper>)
|
||||||
|
|
||||||
|
|
||||||
Patchcore reaches a 99.6% AUROC on the MVTec AD dataset when detecting anomalies.
|
Patchcore reaches a 99.6% AUROC on the MVTec AD dataset when detecting anomalies.
|
||||||
A great advantage of this method is the coreset subsampling reducing the memory bank size significantly.
|
A great advantage of this method is the coreset subsampling reducing the memory bank size significantly.
|
||||||
This lowers computational costs while maintaining detection accuracy. #cite(<patchcorepaper>)
|
This lowers computational costs while maintaining detection accuracy.~#cite(<patchcorepaper>)
|
||||||
|
|
||||||
|
// todo reference to image below
|
||||||
|
|
||||||
#figure(
|
#figure(
|
||||||
image("rsc/patchcore_overview.png", width: 80%),
|
image("rsc/patchcore_overview.png", width: 80%),
|
||||||
caption: [Architecture of Patchcore. #cite(<patchcorepaper>)],
|
caption: [Architecture of Patchcore. #cite(<patchcorepaper>)],
|
||||||
) <patchcoreoverview>
|
) <patchcoreoverview>
|
||||||
|
|
||||||
// https://arxiv.org/pdf/2106.08265
|
|
||||||
=== EfficientAD
|
=== EfficientAD
|
||||||
todo stuff #cite(<efficientADpaper>)
|
|
||||||
// https://arxiv.org/pdf/2303.14535
|
// https://arxiv.org/pdf/2303.14535
|
||||||
|
EfficientAD is another state of the art method for anomaly detection.
|
||||||
|
It focuses on maintining performance as well as high computational efficiency.
|
||||||
|
At its core, EfficientAD uses a lightweight feature extractor, the Patch Description Network (PDN), which processes images in less than a millisecond on modern hardware.
|
||||||
|
In comparison to Patchcore which relies on a deeper, more computationaly heavy WideResNet-101 network, the PDN uses only four convulutional layers and two pooling layers.
|
||||||
|
This results in reduced latency while retains the ability to generate patch-level features.~#cite(<efficientADpaper>)
|
||||||
|
|
||||||
|
The detection of anomalies is achieved through a student-teacher framework.
|
||||||
|
The teacher network is a PDN and pre-trained on normal (good) images and the student network is trained to predict the teachers output.
|
||||||
|
An anomalie is identified when the student failes to replicate the teachers output.
|
||||||
|
This works because of the abscence of anomalies in the training data and the student network has never seen an anomaly while training.
|
||||||
|
A special loss function helps the student network not to generalize too broadly and inadequatly learn to predict anomalous features.~#cite(<efficientADpaper>)
|
||||||
|
|
||||||
|
Additionally to this structural anomaly detection EfficientAD can also address logical anomalies, such as violations in spartial or contextual constraints (eg. object wrong arrangments).
|
||||||
|
This is done by the integration of an autoencoder trained to replicate the teacher's features.~#cite(<efficientADpaper>)
|
||||||
|
|
||||||
|
By comparing the outputs of the autoencdoer and the student logical anomalies are effectively detected.
|
||||||
|
This is a challenge that Patchcore does not directly address.~#cite(<efficientADpaper>)
|
||||||
|
|
||||||
|
// todo maybe add key advantages such as low computational cost and high performance
|
||||||
|
//
|
||||||
|
// todo reference to image below
|
||||||
|
|
||||||
|
|
||||||
|
#figure(
|
||||||
|
image("rsc/efficientad_overview.png", width: 80%),
|
||||||
|
caption: [Architecture of EfficientAD. #cite(<efficientADpaper>)],
|
||||||
|
) <efficientadoverview>
|
||||||
|
|
||||||
=== Jupyter Notebook
|
=== Jupyter Notebook
|
||||||
|
|
||||||
@ -150,8 +178,7 @@ Pooling layers sample down the feature maps created by the convolutional layers.
|
|||||||
This helps reducing the computational complexity of the overall network and help with overfitting.
|
This helps reducing the computational complexity of the overall network and help with overfitting.
|
||||||
Common pooling layers include average- and max pooling.
|
Common pooling layers include average- and max pooling.
|
||||||
Finally, after some convolution layers the feature map is flattened and passed to a network of fully connected layers to perform a classification or regression task.
|
Finally, after some convolution layers the feature map is flattened and passed to a network of fully connected layers to perform a classification or regression task.
|
||||||
@cnnarchitecture shows a typical binary classification task.
|
@cnnarchitecture shows a typical binary classification task.~#cite(<cnnintro>)
|
||||||
#cite(<cnnintro>)
|
|
||||||
|
|
||||||
#figure(
|
#figure(
|
||||||
image("rsc/cnn_architecture.png", width: 80%),
|
image("rsc/cnn_architecture.png", width: 80%),
|
||||||
|
BIN
rsc/efficientad_overview.png
Normal file
BIN
rsc/efficientad_overview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 205 KiB |
Loading…
Reference in New Issue
Block a user