add remaining headings and github action workflow
This commit is contained in:
		
							
								
								
									
										13
									
								
								.github/workflows/buildtypst.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/buildtypst.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | name: Build Typst document | ||||||
|  | on: push | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   build_typst_documents: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Checkout | ||||||
|  |         uses: actions/checkout@v3 | ||||||
|  |       - name: Typst | ||||||
|  |         uses: lvignoli/typst-action@main | ||||||
|  |         with: | ||||||
|  |           source_file: typstalt/main.typ | ||||||
							
								
								
									
										5
									
								
								typstalt/conclusionandoutlook.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								typstalt/conclusionandoutlook.typ
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | = Conclusion and Outlook | ||||||
|  |  | ||||||
|  | == Conclusion | ||||||
|  |  | ||||||
|  | == Outlook | ||||||
							
								
								
									
										15
									
								
								typstalt/experimentalresults.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								typstalt/experimentalresults.typ
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | = Experimental Results | ||||||
|  |  | ||||||
|  | == Is Few-Shot learning a suitable fit for anomaly detection? | ||||||
|  |  | ||||||
|  | Should Few-Shot learning be used for anomaly detection tasks? | ||||||
|  | How does it compare to well established algorithms such as Patchcore or EfficientAD? | ||||||
|  |  | ||||||
|  | == How does disbalancing the Shot number affect performance? | ||||||
|  | Does giving the Few-Shot learner more good than bad samples improve the model performance? | ||||||
|  |  | ||||||
|  | == How does the 3 (ResNet, CAML, \pmf) methods perform in only detecting the anomaly class? | ||||||
|  | How much does the performance improve if only detecting an anomaly or not? | ||||||
|  | How does it compare to PatchCore and EfficientAD? | ||||||
|  |  | ||||||
|  | == Extra: How does Euclidean distance compare to Cosine-similarity when using ResNet as a feature-extractor? | ||||||
							
								
								
									
										16
									
								
								typstalt/implementation.typ
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								typstalt/implementation.typ
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | = Implementation | ||||||
|  |  | ||||||
|  | == Experiment Setup | ||||||
|  | % todo | ||||||
|  | todo setup of experiments, which classes used, nr of samples | ||||||
|  | kinds of experiments which lead to graphs | ||||||
|  |  | ||||||
|  | == Jupyter | ||||||
|  |  | ||||||
|  | To get accurate performance measures the active-learning process was implemented in a Jupyter notebook first. | ||||||
|  | This helps to choose which of the methods performs the best and which one to use in the final Dagster pipeline. | ||||||
|  | A straight forward machine-learning pipeline was implemented with the help of Pytorch and RESNet-18. | ||||||
|  |  | ||||||
|  | Moreover, the Dataset was manually imported with the help of a custom torch dataloader and preprocessed with random augmentations. | ||||||
|  | After each loop iteration the Area Under the Curve (AUC) was calculated over the validation set to get a performance measure. | ||||||
|  | All those AUC were visualized in a line plot, see section~\ref{sec:experimental-results} for the results. | ||||||
| @@ -25,7 +25,7 @@ How much does the performance improve if only detecting an anomaly or not? | |||||||
| How does it compare to PatchCore and EfficientAD? | How does it compare to PatchCore and EfficientAD? | ||||||
|  |  | ||||||
| === Extra: How does Euclidean distance compare to Cosine-similarity when using ResNet as a feature-extractor? | === Extra: How does Euclidean distance compare to Cosine-similarity when using ResNet as a feature-extractor? | ||||||
| I've tried different distance measures $->$ but results are pretty much the same. | // I've tried different distance measures $->$ but results are pretty much the same. | ||||||
|  |  | ||||||
| == Outline | == Outline | ||||||
| todo | todo | ||||||
|   | |||||||
| @@ -64,19 +64,15 @@ | |||||||
|     v(10mm) |     v(10mm) | ||||||
|   }, |   }, | ||||||
|   indent: 2em, |   indent: 2em, | ||||||
|   depth: 3 |   depth: 2 | ||||||
| )<outline> | )<outline> | ||||||
| #pagebreak(weak: false) | #pagebreak(weak: false) | ||||||
|  |  | ||||||
| #include "introduction.typ" | #include "introduction.typ" | ||||||
| #include "materialandmethods.typ" | #include "materialandmethods.typ" | ||||||
|  | #include "implementation.typ" | ||||||
| = Section Heading | #include "experimentalresults.typ" | ||||||
| #cite(<efficientADpaper>) | #include "conclusionandoutlook.typ" | ||||||
| == Subsection Heading |  | ||||||
| === Subsubsection Heading |  | ||||||
| ==== Paragraph Heading |  | ||||||
| ===== Subparagraph Heading |  | ||||||
|  |  | ||||||
| #set par(leading: 0.7em, first-line-indent: 0em, justify: true) | #set par(leading: 0.7em, first-line-indent: 0em, justify: true) | ||||||
| #bibliography("sources.bib", style: "apa") | #bibliography("sources.bib", style: "apa") | ||||||
|   | |||||||
| @@ -7,16 +7,13 @@ MVTec AD is a dataset for benchmarking anomaly detection methods with a focus on | |||||||
| It contains over 5000 high-resolution images divided into fifteen different object and texture categories. | It contains over 5000 high-resolution images divided into fifteen different object and texture categories. | ||||||
| Each category comprises a set of defect-free training images and a test set of images with various kinds of defects as well as images without defects. | Each category comprises a set of defect-free training images and a test set of images with various kinds of defects as well as images without defects. | ||||||
|  |  | ||||||
| // todo source for https://www.mvtec.com/company/research/datasets/mvtec-ad | #figure( | ||||||
|  |   image("rsc/dataset_overview_large.png", width: 80%), | ||||||
| // todo example image |   caption: [Architecture convolutional neural network. #cite(<datasetsampleimg>)], | ||||||
| //\begin{figure} | ) <datasetoverview> | ||||||
| //    \centering |  | ||||||
| //    \includegraphics[width=\linewidth/2]{../rsc/muffin_chiauaua_poster} |  | ||||||
| //    \caption{Sample images from dataset. \cite{muffinsvschiuahuakaggle_poster}} |  | ||||||
| //    \label{fig:roc-example} |  | ||||||
| //\end{figure} |  | ||||||
|  |  | ||||||
|  | // todo | ||||||
|  | Todo: descibe which categories are used in this bac and how many samples there are. | ||||||
|  |  | ||||||
| == Methods | == Methods | ||||||
|  |  | ||||||
| @@ -37,9 +34,9 @@ The first and easiest method of this bachelor thesis uses a simple ResNet to cal | |||||||
| See //%todo link to this section | See //%todo link to this section | ||||||
| // todo proper source | // todo proper source | ||||||
|  |  | ||||||
| === Generalisation from few samples} | === Generalisation from few samples | ||||||
|  |  | ||||||
| === Patchcore} | === Patchcore | ||||||
|  |  | ||||||
| %todo also show values how they perform on MVTec AD | %todo also show values how they perform on MVTec AD | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								typstalt/rsc/dataset_overview_large.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								typstalt/rsc/dataset_overview_large.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.4 MiB | 
| @@ -42,33 +42,41 @@ | |||||||
| 	    howpublished = "\url{https://docs.jupyter.org/en/latest/}", | 	    howpublished = "\url{https://docs.jupyter.org/en/latest/}", | ||||||
| 	    year = {2024}, | 	    year = {2024}, | ||||||
| 	    note = "[Online; accessed 13-May-2024]" | 	    note = "[Online; accessed 13-May-2024]" | ||||||
| 	} | } | ||||||
|  |  | ||||||
|  	@misc{cnnintro, | @misc{cnnintro, | ||||||
| 	    title={An Introduction to Convolutional Neural Networks}, |     title={An Introduction to Convolutional Neural Networks}, | ||||||
| 	    author={Keiron O'Shea and Ryan Nash}, |     author={Keiron O'Shea and Ryan Nash}, | ||||||
| 	    year={2015}, |     year={2015}, | ||||||
| 	    eprint={1511.08458}, |     eprint={1511.08458}, | ||||||
| 	    archivePrefix={arXiv}, |     archivePrefix={arXiv}, | ||||||
| 	    primaryClass={cs.NE} |     primaryClass={cs.NE} | ||||||
| 	} | } | ||||||
|  |  | ||||||
|  	@misc{cnnarchitectureimg, | @misc{cnnarchitectureimg, | ||||||
| 	    author = {}, |     author = {}, | ||||||
| 	    title = {{What are convolutional neural networks?}}, |     title = {{What are convolutional neural networks?}}, | ||||||
| 	    howpublished = "\url{https://cointelegraph.com/explained/what-are-convolutional-neural-networks}", |     howpublished = "\url{https://cointelegraph.com/explained/what-are-convolutional-neural-networks}", | ||||||
| 	    year = {2024}, |     year = {2024}, | ||||||
| 	    note = "[Online; accessed 12-April-2024]" |     note = "[Online; accessed 12-April-2024]" | ||||||
| 	} | } | ||||||
|  |  | ||||||
| 	 	@inproceedings{liang2017soft, | @misc{datasetsampleimg, | ||||||
| 	    title={Soft-margin softmax for deep classification}, |     author = {}, | ||||||
| 	    author={Liang, Xuezhi and Wang, Xiaobo and Lei, Zhen and Liao, Shengcai and Li, Stan Z}, |     title = {{The MVTec anomaly detection dataset (MVTec AD)}}, | ||||||
| 	    booktitle={International Conference on Neural Information Processing}, |     howpublished = "\url{https://www.mvtec.com/company/research/datasets/mvtec-ad}", | ||||||
| 	    pages={413--421}, |     year = {2024}, | ||||||
| 	    year={2017}, |     note = "[Online; accessed 12-April-2024]" | ||||||
| 	    organization={Springer} | } | ||||||
| 	} |  | ||||||
|  | @inproceedings{liang2017soft, | ||||||
|  |     title={Soft-margin softmax for deep classification}, | ||||||
|  |     author={Liang, Xuezhi and Wang, Xiaobo and Lei, Zhen and Liao, Shengcai and Li, Stan Z}, | ||||||
|  |     booktitle={International Conference on Neural Information Processing}, | ||||||
|  |     pages={413--421}, | ||||||
|  |     year={2017}, | ||||||
|  |     organization={Springer} | ||||||
|  | } | ||||||
|  |  | ||||||
| @inbook{Boltzmann, | @inbook{Boltzmann, | ||||||
| 	    place = {Cambridge}, | 	    place = {Cambridge}, | ||||||
| @@ -82,11 +90,11 @@ | |||||||
|     pages = {49–96}, |     pages = {49–96}, | ||||||
|     collection = {Cambridge Library Collection - Physical  Sciences}, key = {value},} |     collection = {Cambridge Library Collection - Physical  Sciences}, key = {value},} | ||||||
|  |  | ||||||
|  	@misc{resnet, | @misc{resnet, | ||||||
| 	    title={Deep Residual Learning for Image Recognition}, |     title={Deep Residual Learning for Image Recognition}, | ||||||
| 	    author={Kaiming He and Xiangyu Zhang and Shaoqing Ren and Jian Sun}, |     author={Kaiming He and Xiangyu Zhang and Shaoqing Ren and Jian Sun}, | ||||||
| 	    year={2015}, |     year={2015}, | ||||||
| 	    eprint={1512.03385}, |     eprint={1512.03385}, | ||||||
| 	    archivePrefix={arXiv}, |     archivePrefix={arXiv}, | ||||||
| 	    primaryClass={cs.CV} |     primaryClass={cs.CV} | ||||||
| 	} | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user