What does the model detect?
This model detects tomatoes from images/videos.
What is the use of this model?
The application of artificial intelligence to agriculture has increased globally, particularly in harvesting robot development. This harvesting robot relieves manual picking of vegetables/fruits, which is very tedious, time-consuming, expensive, and relatively high in human error. Meanwhile, the autonomous detection of vegetables/fruits or other agricultural products is the first important step for harvesting robots. A manipulator(a lift-assist device used to help workers lift, maneuver, and place articles in a process) is guided to pick the tomatoes in this model based on the detection accuracy.
Approach to creating a model in Vredefort
Step 1 – Dataset Collection
We collected a dataset from Kaggle. There are 800 images for training and 95 images for testing. There is only one class – Tomato.
Step 2 – Data Cleaning
After collecting the dataset, we uploaded it on Vredefort. Vredefort automatically cleans the data by removing the corrupt images and resizing them to a suitable resolution.
Step 3 – Data Annotation
The computer learns to detect objects from images through a process of labeling. Thus, we drew boxes around the concerned objects and labeled them as tomatoes (only one object to detect).
We annotated 800 images using the inbuilt Vredefort tool.
Annotation Rules – (Keep them in mind for better detection)
⦁ Skip the object if it is in motion or blur.
⦁ Precisely draw the bounding box on the object.
⦁ Bounding boxes should not be too large.
[Optional] Step 4 – Tuning Parameters
If you register as a developer and developer mode is on, you can modify the number of epochs, batch size per GPU, neural network model, etc. In case of no user inputs, the settings will change to default.
Step 5 – Training
The training process takes place automatically with a single click.
Evaluation of the model
After training, we can evaluate the model.
In evaluation, there are two parts. The first is accuracy and the second is to play inference videos. Vredefort enables us to obtain total model accuracy and class-wise accuracy. In this case, only one class is present. We achieved 59% model accuracy.
A new video for inference
We made a video from test dataset images and used it for interference. If the developer mode is on, it will ask to set confidence. You can set it as per your convenience. Here we set 0.1 [10%] confidence.
Model download and transfer learning from unpruned model
Vredefort provides one more feature to get the accuracy of the model. It allows you to download the model and dataset for further applications(like adding logic to your model). If you have downloaded model files, you can use the unpruned model (click here to know more about the unpruned model) for different datasets and save training time. You can generate alerts and write use-cases with that model.
Any challenges faced
⦁ It will work best on a feed of ripe tomatoes(red colour).
⦁ It will struggle to detect unripe tomatoes because the color of the tomato’s leaf and unripe tomatoes are almost similar.
For improving the model accuracy, more datasets can be gathered and trained to precisely detect both (ripe and unripe) tomatoes.
Model Name – Tomato Detection
Dataset Images – 800
Number of Labels – 1
Label name and count – tomato (4384)
Accuracy – 59%
Dataset Download – Download here
Model Download Link – Download here
Inference Video Link – Download here