/Neural-Networks-and-Image-Recognition

Neural Networks and Convolutional Neural Networks with Keras :dart:

Primary LanguageJupyter Notebook

Neural Networks and Image Recognition

With increasing reserach work carried out in deep learning over the last decade, image recognition systems have improved and are now used in many applications. Neural networks have been trained to perform: Image recognition & classification, Object detection, Image style transfer, Image colorization, Image reconstruction, Image super-resolution, and many more.

In this hobby project, the work is related to the first mentioned application. On Jupyter notebooks, one will find detailed information on:

  • Compiling and training a neural network model
  • Accuracy and evaluation of a neural network model
  • Convolutional neural networks (CNN) in Keras
  • Modifying pre-trained neural networks
    • Enhancements to convolutional neural networks (Transfer Learning)
    • Modifying pre-trained neural networks

MNIST and CIFAR-10 datasets are used and the work is done with Keras (an open-source neural-network library written in Python). The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes. The MNIST is a database of handwritten digits (black and white images and size normalized to fit in a 28x28 pixel box). An example of a handwritten digit from MNIST is shown.

Fully connected neural network model

Processes involved in a convolutional neural network model

To view the project work, open:

  • Introduction to Neural Networks.ipynb
  • Introduction to Convolution Neural Networks.ipynb
  • Or use the Jupyter nbviewer links Neural Networks and Convolution Neural Networks, try the option 'Execute on Binder' to play with the code and learn/refresh machine learning concepts

or if you want to jump to CNN directly