Hi. I'm training FOMO (configs/fomo/fomo_mobnetv2_0.35_x8_coco.py) on Grove Vision AI V2 for pigeon detection on a fixed camera.
The config sets filter_cfg=dict(filter_empty_gt=True, min_size=32) in train_dataloader (line 202). Reading sscma/datasets/coco.py (filter_data, line 426), this drops every image that has no annotation of the target class. In my dataset that removes ~700 negative-only images (empty scenes of the deployment site), so the model never sees background-only frames. Result: val P=0.22 / R=0.83 with default cls_weight=100, and heavy false positives on the empty scene on-device.
Questions:
Is dropping negative images intended for FOMO? For a centroid-per-cell task, background-only images seem essential for precision.
Is train_dataloader.dataset.filter_cfg.filter_empty_gt=False via --cfg-options the supported way to include them, and is the FOMO mask/Mosaic pipeline safe with zero-GT images?
Any recommended cls_weight when negatives are included? Default 100 gives recall-heavy models.
Setup: Colab, Python 3.13, torch 2.11, latest main. Happy to share logs.
Hi. I'm training FOMO (configs/fomo/fomo_mobnetv2_0.35_x8_coco.py) on Grove Vision AI V2 for pigeon detection on a fixed camera.
The config sets filter_cfg=dict(filter_empty_gt=True, min_size=32) in train_dataloader (line 202). Reading sscma/datasets/coco.py (filter_data, line 426), this drops every image that has no annotation of the target class. In my dataset that removes ~700 negative-only images (empty scenes of the deployment site), so the model never sees background-only frames. Result: val P=0.22 / R=0.83 with default cls_weight=100, and heavy false positives on the empty scene on-device.
Questions:
Is dropping negative images intended for FOMO? For a centroid-per-cell task, background-only images seem essential for precision.
Is train_dataloader.dataset.filter_cfg.filter_empty_gt=False via --cfg-options the supported way to include them, and is the FOMO mask/Mosaic pipeline safe with zero-GT images?
Any recommended cls_weight when negatives are included? Default 100 gives recall-heavy models.
Setup: Colab, Python 3.13, torch 2.11, latest main. Happy to share logs.