Back to Projects
Computer Vision

Monkey Breed Classification

Transfer learning on VGG16 pushes monkey breed classification from 78% (trained from scratch) to 96%. Plus CAM heatmaps showing where the network actually looks — turns out it is mostly the eyes and nose, not the fur.

Try DemoCourse: Neural NetworksCo-authors: Diego Quezada
Monkey Breed Classification

Objectives

  • 1Apply CNNs to monkey breed classification using Transfer Learning.
  • 2Visualize CNN internal state using CAM method.
  • 3Compare VGG16 and VGG19 network performance.
  • 4Compare CNN with skip connections vs Transfer Learning networks.

Conclusions

  • Transfer Learning with VGG16 achieved 96% accuracy versus 78% for CNNs trained from scratch.
  • VGG16 and VGG19 showed similar performance, with VGG16 being more efficient due to fewer parameters.
  • CAM visualizations reveal the network focuses on facial features, particularly eyes and nose, for classification.
  • Skip connections improve gradient flow but do not outperform pre-trained ImageNet weights for this dataset size.

Technologies

  • NumPy
  • Pandas
  • Matplotlib
  • Seaborn
  • OpenCV
  • Keras
  • TensorFlow
  • VGG16
  • VGG19
  • FastAPI