How to specify weights per class for training a TAO yolov3 model?

• Hardware x86 CPU, NVIDIA GPU machine
• Network Type (Yolo_v3)
• TLT Version (3.22.05)

I have a highly imbalanced object detection dataset, I want to train a yolov3 model on this dataset. I had gone through the documentation YOLOv3 - NVIDIA Docs but I couldn’t find a way to specify weights per class here,
Is it something that can be added in the training config or are we forced to balance the dataset for better results, or is there something else I can do like using a different backbone which can capture more features, currently I am using a resnet18 model as the backbone.

Kindly provide suggestions for getting the best accuracy while working with this imbalanced dataset, I am also open to try out other object detection models if it will give me better results.

YOLOV4 supports class-level weighting on the loss function during training. You can refer to “Class Weighting Config” section in YOLOv4 - NVIDIA Docs

Are there any possible solutions to this problem while using yolov3

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

You can try
experiment1: More deeper backbone
experiment2: Assume class 1 is less than class 2, you can oversample the class 1. It is fine to just copy the existing class 1. Then, make class 1 and class 2 be more balance.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.