This is a project done with Matthew Cockrocft for my Computer Vision course at Wits University.
The project is to classify images of snakes by species. This was a challenge put out by AIcrowd in 2019.
We only use the labelled training set for our project, which can be downloaded here. (20 GB)
All code is written in Python and can be found in the Jupyter Notebook in the repository.
The following python packages are required:
numpy
seaborn
pandas
matplotlib
torch
torchvision
opencv-python
PIL
fastai
scikit-learn
pylab
tqdm
We also recommend a using a device with a Cuda-compatible GPU to train the models.
The repo contains our project report, with a detailed analysis of the methodology and results.
We trained 3 pretrained CNNS, namely: AlexNet
, ResNet-18
& MobileNet-v2
. The per epoch training and validation loss, accuracy and f1-scores are contained in .csv files in the results folder.
We observe the highest accuracy with MobileNet-v2
as shown below: