Work done literature review
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Andre Henriques 2023-11-01 16:15:47 +00:00
parent b084e3c249
commit 1575fa8756
2 changed files with 110 additions and 3 deletions

View File

@ -11,3 +11,94 @@
year ={2023}, year ={2023},
url ={https://aws.amazon.com/rekognition/} url ={https://aws.amazon.com/rekognition/}
} }
@article{lecun1989handwritten,
title={Handwritten digit recognition with a back-propagation network},
author={LeCun, Yann and Boser, Bernhard and Denker, John and Henderson, Donnie and Howard, Richard and Hubbard, Wayne and Jackel, Lawrence},
journal={Advances in neural information processing systems},
volume={2},
year={1989}
}
@article{krizhevsky2012imagenet,
title={Imagenet classification with deep convolutional neural networks},
author={Krizhevsky, Alex and Sutskever, Ilya and Hinton, Geoffrey E},
journal={Advances in neural information processing systems},
volume={25},
year={2012}
}
@article{fukushima1980neocognitron,
title={Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position},
author={Fukushima, Kunihiko},
journal={Biological cybernetics},
volume={36},
number={4},
pages={193--202},
year={1980},
publisher={Springer}
}
@misc{tensorflow2015-whitepaper,
title={ {TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems},
url={https://www.tensorflow.org/},
note={Software available from tensorflow.org},
author={
Mart\'{i}n~Abadi and
Ashish~Agarwal and
Paul~Barham and
Eugene~Brevdo and
Zhifeng~Chen and
Craig~Citro and
Greg~S.~Corrado and
Andy~Davis and
Jeffrey~Dean and
Matthieu~Devin and
Sanjay~Ghemawat and
Ian~Goodfellow and
Andrew~Harp and
Geoffrey~Irving and
Michael~Isard and
Yangqing Jia and
Rafal~Jozefowicz and
Lukasz~Kaiser and
Manjunath~Kudlur and
Josh~Levenberg and
Dandelion~Man\'{e} and
Rajat~Monga and
Sherry~Moore and
Derek~Murray and
Chris~Olah and
Mike~Schuster and
Jonathon~Shlens and
Benoit~Steiner and
Ilya~Sutskever and
Kunal~Talwar and
Paul~Tucker and
Vincent~Vanhoucke and
Vijay~Vasudevan and
Fernanda~Vi\'{e}gas and
Oriol~Vinyals and
Pete~Warden and
Martin~Wattenberg and
Martin~Wicke and
Yuan~Yu and
Xiaoqiang~Zheng},
year={2015},
}
@misc{chollet2015keras,
title={Keras},
author={Chollet, Fran\c{c}ois and others},
year={2015},
howpublished={\url{https://keras.io}},
}
@misc{htmx,
title = {{{$<$}/{$>$} htmx - high power tools for html}},
year = {2023},
month = nov,
note = {[Online; accessed 1. Nov. 2023]},
url = {https://htmx.org}
}
@misc{go,
title = {{The Go Programming Language}},
year = {2023},
month = nov,
note = {[Online; accessed 1. Nov. 2023]},
url = {https://go.dev}
}

View File

@ -82,24 +82,40 @@
\item Create a system to automatically to merge modules to increase efficiency \item Create a system to automatically to merge modules to increase efficiency
\item Create a system to distribute the load of training the model's among multiple services. \item Create a system to distribute the load of training the model's among multiple services.
\end{itemize} \end{itemize}
\section{Literature Review} \section{Literature and Techincal Review}
% 1 page of background and literature review. Here you will need to references things. Gamal et al.~\cite{gamal} introduce the concept of \ldots % 1 page of background and literature review. Here you will need to references things. Gamal et al.~\cite{gamal} introduce the concept of \ldots
\subsection{Alternatives to my Project} \subsection{Alternatives to my Project}
There currently exist systems that do image classification, like Google Vision AI, and Amazon's Rekoginition. There currently exist systems that do image classification, like Google Vision AI\cite{google-vision-api}, and Amazon's Rekoginition\cite{amazon-rekognition}.
Their tools, while providing similar services to what my project is supposed to do, it mostly focusses on general image classification rather than specific image classification, i.e. Car vs Boat, vs, Car model X vs Car model Y. Their tools, while providing similar services to what my project is supposed to do, it mostly focusses on general image classification rather than specific image classification, i.e. Car vs Boat, vs, Car model X vs Car model Y.
\subsection{Creation Models} \subsection{Creation Models}
The models that I will be creating will be Convolutional Neural Network(CNN)\cite{lecun1989handwritten,fukushima1980neocognitron}.
The system will be creating two types of models that cannot be expanded and models that can be expanded. For the models that can be expanded, see the section about expandable models.
The models that cannot be expanded will use a simple convolution blocks, with a similar structure as the AlexNet\cite{krizhevsky2012imagenet} ones, as the basis for the model. The size of the model will be controlled by the size of the input image, where bigger images will generate more deep and complex models.
The models will be created using TensorFlow\cite{tensorflow2015-whitepaper} and Keras\cite{chollet2015keras}. These theologies are chosen since they are both robust and used in industry.
\subsection{Expandable Models} \subsection{Expandable Models}
The current most used approach for expanding a CNN model is to retrain the model. This is done by, recreating an entire new model that does the new task, using the older model as a base for the new model, or using a pretrained model as a base and training the last few layers.
\subsection{Merging models}
\section{Technical overview} \section{Technical overview}
\subsection{Interface}
The user will interact with the platform form via a web portal.
The web platform will be designed using HTML and a JavaScript library called HTMX\cite{htmx} for the reactivity that the pagers requires.
The web server that will act as controller will be implemented using go\cite{go}, due to its ease of use.
The web server will also interact with python to create models. Then to run the models, it will use the libraries that are available to run TensorFlow\cite{tensorflow2015-whitepaper} models for that in go.
\subsection{Expandable Models}
The approach would be based on multiple models. The first model is a large model that will work as a feature traction model, the results of this model are then given to other smaller models. These model's purpose is to classify the results of the feature extraction model into classes.
The first model would either be an already existent pretrained model or a model that is automatically created by the platform.
The smaller models would all be all generated by the platform, this model's purpose would be actually classification.
This approach would offer a lot of expandability, as it makes the addition of a new class as easy as creating a new small model.
% 1 page of overview. My approach is shown in Figure~\ref{fig:sample}. You can draw the diagram in powerpoint and save the picture % 1 page of overview. My approach is shown in Figure~\ref{fig:sample}. You can draw the diagram in powerpoint and save the picture
\section{Workplan} \section{Workplan}
% The following work plan is what I will be using for the project is shown in Figure~\ref{fig:sample2}. % The following work plan is what I will be using for the project is shown in Figure~\ref{fig:sample2}.
Do the work!
\appendix \appendix
\newpage \newpage