I have trained a YOLOv7 model using the Roboflow notebook and my own dataset: https://colab.research.google.com/drive/1X9A8odmK4k6l26NDviiT6dd6TgR-piOa
I worked with these notebooks before, but never had images with more than 100 objects, but now, I have trained a model to detect microbiologic colonies, and the model is detecting up to a max of 100 objects.
At first I thought it was a problem of the network not being able of detecting all the objects because it was not well trained or due to precision (My dataset is composed of 500 images, and the final accuracy is about 80%).
But, I have some images that has between 15-30 objects, and it detects all fine. In my images that objects are clearly more than 100, the network always counts up to 100 objects, never more.
Is there any limit to yolov7 in object quantity? Or maybe a parameter that has to be changed in training phase?
I am not an expert in this, but I have the following suspicion:
YOLO divides the input image into a grid of cells. Each cell predicts bounding boxes, confidences and class probabilities. I think YOLO can not predict more objects than there are cells in the grid. Talking about the original YOLO paper they define the S the number of grid cells in one dimension. Assume S = 10 in the code you are using for training, that would yield at maximum 100 objects that can be detected. If my reasoning is sound, you should be able to detect more objects when you increase this number.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With