--- library_name: visbench tags: - visbench - probing - detection --- # detection probe for `dinov2_vitb14` A **trained probe head**, not a backbone. It is the small module VisBench fits on top of frozen `dinov2_vitb14` features to measure what those features carry. ```python import visbench from visbench.hub import load_probe_from_hub backbone = visbench.get_backbone("dinov2_vitb14") probe = load_probe_from_hub("turhancan97/visbench-detection-dinov2_vitb14", backbone=backbone) ``` ## It only works with this backbone These weights were fitted on features from `dinov2_vitb14`, taken with `pooling=mean` and `feature_mode=dense_only`. Loading them against anything else is refused, because the failure is otherwise silent: a head fitted on one pooling and fed another has the right shapes and produces a plausible, wrong number. | | | | --- | --- | | backbone | `dinov2_vitb14` | | backbone key | `dinov2/dinov2_vitb14/224/7764ea0f912e` | | task | `detection` (high_level) | | pooling | `mean` (requested `mean`) | | feature mode | `dense_only` | | layers | `None` | **Reported scores** | metric | value | | --- | --- | | `classes_scored` | 20.0000 | | `detections_per_image` | 88.5717 | | `map_50` | 0.2897 | | `map_50_95` | 0.0988 | ## Reproducing it Fitted with: - `batch_size`: `8` - `box_weight`: `2.0` - `epochs`: `10` - `focal_alpha`: `0.25` - `focal_gamma`: `2.0` - `head`: `detection` - `hidden_dim`: `0` - `image_size`: `224` - `iou_thresholds`: `[0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95]` - `lr`: `0.0005` - `max_detections`: `100` - `nms_iou`: `0.5` - `num_classes`: `20` - `optimizer`: `adamw` - `protocol`: `visbench_anchor_free_det` - `score_threshold`: `0.05` - `warmup_epochs`: `1.5` - `weight_decay`: `0.0001` Generated by [VisBench](https://github.com/turhancan97/VisBench).