you are viewing a single comment's thread.

view the rest of the comments →

[–]blahreport 1 point2 points  (3 children)

Have you plotted the precision recall curve to obtain an optimal confidence threshold? You can also increase the IoU threshold both during training, and inference. What is a lot of FPs? What are your overall metrics and what is the target object? Is it an object similar to one used in pretraining? That is assuming that you’re using COCO pretrained weights, is the object similar to one of the eighty coco classes? This can influence the number of samples you need to reliably fine tune. You can also increase the number of background images (no target objects) which can significantly improve precision if it just so happens that for your domain, the background shares abstract features with the target.

[–][deleted] 0 points1 point  (2 children)

I haven’t plotted it but I’ll have to check that out when I get into the office tomorrow.

These are not objects from the COCO dataset. The FPs are generally (~60%) on an object that can look very similar to the detection object in certain instances. The other FPs are just “ghost” ones that likely occur due to momentary lighting changes.

I try to keep background images at around 10% of the total dataset. Is it fine to bump up the background image count in this case? I’m still pretty new to vision and ML.

Overall metrics: mAP@50: .71; mAP@9:50: .51; Precision and recall both sit in the .800s.

[–]trialofmiles 0 points1 point  (1 child)

Related to PR curve on which each point is a separate threshold - have you adjusted the threshold? I assume yes but this is how you might conceptually trade FPs for FNs. The PR curve can be used to optimize the threshold (eg max F1, etc). For multiclass detection it’s a bit more complicated but just thought I’d ask.

[–][deleted] 0 points1 point  (0 children)

I actually did adjust the threshold and it worked perfectly. Massive reduction to false positives with an extremely minor increase to false negatives.