Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
As soon as we learned about the application of neural networks, I was highly intrigued by how the AI model can guess what an image is. I'm also very fond of automated cars, and hence I was motivated to build something that could actually be used in real life in so many applications
Sample of tew images from the data
In my model, I have used the CIFAR-10 Dataset. CIFAR is an acronym that stands for the Canadian Institute For Advanced Research and the CIFAR-10 dataset was developed along with the CIFAR-100 dataset by researchers at the CIFAR institute (this project uses CIFAR-10). The dataset is comprised of 60,000 32×32 pixel color photographs of objects from 10 classes, such as frogs, birds, cats, ships, etc
There are 6000 images of each class available with patterns that the the AI model can be taught.
Doing an Exploratory Data Analysis, we can find information about the images and understand how the AI model will work to create patterns and guess the images.
For example, in cars, it is possible to see 2 tyres or circular figures in each image.
In Deers, there is almost always a recognizable unique shape of horns. In ships, according to color there is always a pointed figure surrounded by 2 shades of blue (ocean and sky).
For Trucks, there is a box like shape. These are just to name a few.
Each class has a different dominant color in the images, plus a different structure
In my first simplistic model, to comprehend how the data works and is handled, I created a classic standard neural network with normalized images using the api sequential. It utilizes 3 hidden layers, "relu" activation and finally "softmax" activation. It is then compiled and with 20 epochs and a validation split of 0.2. Then this model is tested to get results.
By plotting the trainign and test accuracies for epochs we can see that the baseline model almost guesses half of the images correct, without the need of convolution.
The numerically calculated image gives us an exact number of how accurate the model was which was around 0.47.
But this is low for a model that requires high accuracy. So we can move to making a more advanced model.
This model then can be tuned by changing the number of neurons and hidden layers, which in turn increases the number of wieghts and time for processing.
The best result was achieved by the the neural net containing 13 layers and 90 neurons for each via the tuning method used. Accuracy increased to 0.5.
To improve the accuracy of the baseline model, I moved to make a traditional convoluted neural network employing Max Pooling, filters and 2D convolution of the image.
This included using the same flattening features and the "relu" and "softmax" activation functions.
Instead of using MSE, I used cross entropy to calculate the losses.
It alsot included training it with 256 batches and 50 epochs to increase accuracy of the normalized_testing_images.
This gave us better results than the baseline model by quiite a bit.
Graphing the training and test accuracies allowed me to understand the effect of increasing epochs lead to a stagnant test accuracy after certain amount although the training accuracy kept on increasing. This caused over-fitting.
Nonetheless, the test accuracy achieved this time was much better than last time as it is now a solid 0.62.
Unavoidable errors that the model can not prevent. This is okay upto a certain extent as even humans would fair to recognize an image of low resolutions.
ACTUAL: Dog.
AI is still in development and is improving every single day. This means that there are new ways being found to increase testing and using accuracy of such models.
Developing from plain neural networks to CNN's and furthermore another famous model called the VGG16 model which involves multiple convolutions and pooling.
On the right the CNN is explained in a simple easy to understand manner.
Each and every model can be tuned for better performance. As seen using a CNN provides better accuracy the the traditional model in this case / dataset. To conclude, this code solved the problem of recognizing colored images, through Artificial Intelligence.
Thank You!
To put simply, of course not!
This research opens so many gates to not only explore and form models for other datsets but also in real-life forming a model that can constantly train itself on a constantly uptading dataset with new data. Perhaps even approaching these questions using a completely new model is possible which does not invlove the use of Neural Networks.
A Further Research I would personally like to follow up with is on identifying specific types of animals or cars or ships from other pictures in the same class, and classifying them.