A plant seedling classifier using transfer learning technique on Google's Xception model
The Aarhus University Signal Processing group, in collaboration with University of Southern Denmark, released a dataset containing images of approximately 960 unique plants belonging to 12 species at several growth stages.
['Loose Silky-bent',
'Common Chickweed',
'Black-grass',
'Charlock',
'Small-flowered Cranesbill',
'Sugar beet',
'Maize',
'Fat Hen',
'Cleavers',
'Common wheat',
'Scentless Mayweed',
'Shepherds Purse']
Kaggle has the complete dataset used for a competition here:
https://www.kaggle.com/c/plant-seedlings-classification/data
This project was created as a learning experience after 2 years of competition on tensorflow.
It achieved an accuracy of 94.2% in the competition, here is a link to the notebook:
https://www.kaggle.com/niteshksingh/transfer-learning-xception-96
You can find a saved model at the kaggle notebook above.You will need it in the repo directory to run the run.py script
example: model = tf.keras.models.load_model("saved_model")
If you downloaded the saved model from the kaggle notebook you can use this script to check it out.
You can directly use to classify images as "run.py".
Use this syntax in the project directory:
python3 run.py <True path to image1> <True path to image2> <True path to image3> ...
Note: You will need cv2 and tensorflow 2+ installed in a python environment to run the script.
Thank you for your time.