Bernice Ngethe reveals how to do image classification. Check out her Twitter handle. If you want to read up on some of our research, you can check out all our bonus material over at https://github.com/JKUATSES/2021-image-classification
Image classification is pattern recognition in image data using algorithms. Two methods may be used:
* Deep learning - uses convolution neural networks to progressively extract higher- and higher-level representations of the image content
The CNN comprises a stack of modules, each of which performs three operations.
1. Convolution -extracts tiles of the input feature map, and applies filters to them to compute new features, producing an output feature map, or convolved feature (which may have a different size and depth than the input feature map). Convolutions are defined by two parameters:
*Size of the tiles that are extracted (typically 3x3 or 5x5 pixels).
*The depth of the output feature map, which corresponds to the number of filters that are applied.
2. Rectified Linear Unit (ReLU)- the CNN applies a transformation to the convolved feature following each convolution operation, in order to introduce nonlinearity into the model
3. Pooling - the CNN downsamples the convolved feature (to save on processing time), reducing the number of dimensions of the feature map, while still preserving the most critical feature information. A common algorithm used for this process is called max pooling.
* Transfer learning using pre-trained models
In this image classification, both methods were used comparatively and transfer learning had way better performance.
* https://medium.com/analytics-vidhya/image-equalization-contrast-enhancing-in-python-82600d3b371c
* https://www.mygreatlearning.com/blog/introduction-to-image-pre-processing/
* https://jannik-zuern.medium.com/using-a-tpu-in-google-colab-54257328d7da
* https://towardsdatascience.com/image-enhancement-techniques-using-opencv-and-python-9191d5c30d45
* https://machinelearningmastery.com/how-to-control-the-speed-and-stability-of-training-neural-networks-with-gradient-descent-batch-size/
* https://developers.google.com/machine-learning/practica/image-classification/convolutional-neural-networks
* https://www.kdnuggets.com/2019/08/introduction-image-segmentation-k-means-clustering.html
* https://machinelearningmastery.com/how-to-improve-performance-with-transfer-learning-for-deep-learning-neural-networks/