Multi-Class Image Classification Deep Learning Model for Weed Species Image Using TensorFlow Take 1

Template Credit: Adapted from a template made available by Dr. Jason Brownlee of Machine Learning Mastery.

SUMMARY: This project aims to construct a predictive model using a TensorFlow convolutional neural network (CNN) and document the end-to-end steps using a template. The Flower Photos dataset is a multi-class classification situation where we attempt to predict one of several (more than two) possible outcomes.

INTRODUCTION: The DeepWeeds dataset consists of 17,509 images capturing eight different weed species native to Australia in situ with neighboring flora. The selected weed species are local to pastoral grasslands across the state of Queensland. They include: “Chinee apple”, “Snake weed”, “Lantana”, “Prickly acacia”, “Siam weed”, “Parthenium”, “Rubber vine” and “Parkinsonia”.

The research team built and tested their models using a five-fold cross-validation approach. Each fold of the dataset contains the subset of data for training (60%), validation (20%), and testing (20%). The research team set up the Python script for multi-label classification. To keep our experiments straight-forward for now, this series of exercises will focus on predicting a single class for each image.

In this Take1 iteration, we will construct a CNN model using the ResNet50 architecture and test the model’s performance using one of the dataset’s five subsets.

ANALYSIS: In this Take1 iteration and using the subset0 portion of the dataset, the model’s performance achieved an accuracy score of 78.61% on the validation dataset after 50 epochs. Furthermore, the final model processed the test dataset with an accuracy measurement of 82.81%.

  • Data subset1: Validation – 73.70%, Test – 80.73%
  • Data subset2: Validation – 78.04%, Test – 81.43%
  • Data subset3: Validation – 79.59%, Test – 84.54%
  • Data subset4: Validation – 79.76%, Test – 84.99%

CONCLUSION: In this iteration, the ResNet50 TensorFlow CNN model appeared to be suitable for modeling this dataset. We should consider experimenting with TensorFlow for further modeling.

Dataset Used: Weed Species Image Dataset

Dataset ML Model: Multi-class image classification with numerical attributes

Dataset Reference:

One potential source of performance benchmarks:

The HTML formatted report can be found here on GitHub.