CountGD++ Litter โ dense fine-tune (countgd_litter_dense.pth)
CountGD++ fine-tuned to count litter in photos, including extremely dense illegal-dumping piles.
- Prompt:
litterยท recommended confidence 0.23 - Backbone/BERT frozen; detection head fine-tuned with token focal loss + L1/GIoU on SAM 3 pseudo-labels
- Teacher: Meta SAM 3 (
facebook/sam3), four-prompt union (litter, trash, garbage, discarded packaging), with 4ร4 tiled inference on human-flagged extreme-density images (tiled teacher mean 84 items vs 25 untiled on those scenes) - Training set: 954 human-triaged images (194 extreme-density, 246 invalid images removed by review)
- Holdout (200, stratified): overall count MAE 10.9; dense MAE 51 โ 17; normal MAE 9.5
- 48-image comparison: mean count 65.8 (previous dense-blind fine-tune: 33.6; untuned CountGD++: 1.9)
Checkpoint format
torch.load(path, map_location="cpu", weights_only=False) โ
{"model": state_dict, "epoch": 2, "prompt": "litter", "holdout": [...]}.
Load ckpt["model"] into CountGD++ (countgd_infer.py in https://github.com/HugoMarchant/llitter-index).
Limits
Counts are pseudo-label quality: SAM 3 still undercounts the very densest piles, and near-dense images see a small accuracy regression. Counts are capped by CountGD++'s query budget (~900). Trained on litter scenes; not a general object counter.
See RESULTS.md in the code repository for the full report.
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support