Deci-AI / super-gradients

Easily train or fine-tune SOTA computer vision models with one open source training library. The home of Yolo-NAS.
https://www.supergradients.com
Apache License 2.0
4.59k stars 509 forks source link

Multiple object detection #1843

Open KuldeepDileep opened 9 months ago

KuldeepDileep commented 9 months ago

💡 Your Question

I am using YOLO-NAS for fish detection. The model accurately detects fish when there is only one fish in the frame but when there are multiple fishes the model doesn't detect any fish at all even though I have set the max predictions to 300. What could be the possible reason and how can I fix it?

Versions

No response

BloodAxe commented 9 months ago

Without knowing how exactly you are doing inference, visualization and training it is impossible to say what is going wrong in your case.

But a few guesses what could be wrong: 1)training used fish images with only one instance per image 2) crowd fish images are not annotated or they are masked as crowd targets (they are not used during training) 3) bugs in inference/visualization

It would help if you provide a code you are using to predict and visualize results.

KuldeepDileep commented 9 months ago

1) and 2) In the training dataset I have frames with multiple instances of fish so I have saved annotation/label individually. For example; if in frame_005 there are 3 fishes I saved them as frame_005_1.png, frame_005_2.png, and frame_005_3.png with frame_005_1.txt, frame_005_2.txt, and frame_005_3.txt annotation files containing label and bounding box. It is possible that I don't have alot of data with crowded fishes and when I read them and split them into train, test, and val it might not be in the training set.

BloodAxe commented 9 months ago

In the training dataset I have frames with multiple instances of fish so I have saved annotation/label individually. For example; if in frame_005 there are 3 fishes I saved them as frame_005_1.png, frame_005_2.png, and frame_005_3.png with frame_005_1.txt, frame_005_2.txt, and frame_005_3.txt annotation files containing label and bounding box.

That is definitely not the way how you want to organize the dataset! An annotation file should contain all the instances for a given image. So if you have one image with 3 fish in it, it should be an annotation file with 3 rows in it.