Card: Meta vs tuned on the same photos, results chart, real outputs, where it goes wrong
Browse files- .gitattributes +4 -0
- README.md +43 -0
- assets/hero.png +3 -0
- assets/limits.png +3 -0
- assets/results.png +3 -0
- assets/samples.png +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,7 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/hero.png filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
assets/limits.png filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
assets/results.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
assets/samples.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -20,6 +20,10 @@ A fine-tune of Meta's [SAM 3.1](https://huggingface.co/facebook/sam3.1) that tea
|
|
| 20 |
mascot (a small cream plush figure). Tuned on an NVIDIA Jetson Orin Nano (8 GB) and served on another one, for the
|
| 21 |
Muse Muse rover demo, where a rover's camera looks for the mascot live.
|
| 22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
## What is in this repo
|
| 24 |
|
| 25 |
- `muse31_delta_fp16.pt`: 58 MB of fp16 weights for SAM 3.1's **detector** only (transformer encoder and decoder,
|
|
@@ -46,6 +50,8 @@ Muse Muse rover demo, where a rover's camera looks for the mascot live.
|
|
| 46 |
|
| 47 |
The "small" set pastes each held-out mascot at 30% size onto the 12 images without it.
|
| 48 |
|
|
|
|
|
|
|
| 49 |
## Limits
|
| 50 |
|
| 51 |
- The tune taught SAM 3.1 a **name**. On these images Meta's SAM 3.1 already finds the mascot when asked for a "plush
|
|
@@ -54,6 +60,43 @@ The "small" set pastes each held-out mascot at 30% size onto the 12 images witho
|
|
| 54 |
the mascot on screens, as "muse" above 0.95. Check matches before trusting them.
|
| 55 |
- Nothing else was measured beyond one sanity photo, which was unchanged (a truck: "truck" 0.87 to 0.99, 4 wheels both ways).
|
| 56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
## Use
|
| 58 |
|
| 59 |
The serving code is in the Muse Muse repo, `scripts/edge/sam3/` (`server.py --tuned muse=muse31_delta_fp16.pt`;
|
|
|
|
| 20 |
mascot (a small cream plush figure). Tuned on an NVIDIA Jetson Orin Nano (8 GB) and served on another one, for the
|
| 21 |
Muse Muse rover demo, where a rover's camera looks for the mascot live.
|
| 22 |
|
| 23 |
+

|
| 24 |
+
|
| 25 |
+
<sub>Boxes and scores: SAM 3.1 on jetson-04, Nov 3, 2026, boxes at 0.5 or more ([per_image.json](https://github.com/Offline-Base/muse-muse/blob/main/docs/log/bench/2026-11-03/distract/per_image.json)); held-out counts from [sam31-muse31-before-after.json](https://github.com/Offline-Base/muse-muse/blob/main/docs/log/bench/2026-11-03/sam31-muse31-before-after.json). Photo: COCO val2017 249129 ([Flickr](http://farm3.staticflickr.com/2400/2113224886_a95ec64e34_z.jpg), CC BY 2.0), changed: one held-out mascot cut-out pasted in, boxes drawn.</sub>
|
| 26 |
+
|
| 27 |
## What is in this repo
|
| 28 |
|
| 29 |
- `muse31_delta_fp16.pt`: 58 MB of fp16 weights for SAM 3.1's **detector** only (transformer encoder and decoder,
|
|
|
|
| 50 |
|
| 51 |
The "small" set pastes each held-out mascot at 30% size onto the 12 images without it.
|
| 52 |
|
| 53 |
+

|
| 54 |
+
|
| 55 |
## Limits
|
| 56 |
|
| 57 |
- The tune taught SAM 3.1 a **name**. On these images Meta's SAM 3.1 already finds the mascot when asked for a "plush
|
|
|
|
| 60 |
the mascot on screens, as "muse" above 0.95. Check matches before trusting them.
|
| 61 |
- Nothing else was measured beyond one sanity photo, which was unchanged (a truck: "truck" 0.87 to 0.99, 4 wheels both ways).
|
| 62 |
|
| 63 |
+
## Samples
|
| 64 |
+
|
| 65 |
+
### The data
|
| 66 |
+
|
| 67 |
+
- **Training:** 160 made-up images of the mascot (Jolly, the Muse plush). Like the held-out images, they are composites:
|
| 68 |
+
the mascot cut out and pasted on plain backgrounds. They stay on the training board (jetson-03) and are not published
|
| 69 |
+
here; the exact way they were made is recorded only on that board.
|
| 70 |
+
- **Held out:** 50 images from a video the training set never used (38 show the mascot, 12 don't). Not published either.
|
| 71 |
+
- **Below:** the held-out mascot cut-outs pasted into public COCO teddy-bear photos, from a second test on Nov 3 (set B:
|
| 72 |
+
30 COCO val2017 photos, each with one held-out mascot cut out by its own mask, scaled to the bears' size and pasted
|
| 73 |
+
touching no bear). Only the three CC BY photos are shown.
|
| 74 |
+
|
| 75 |
+
### Real outputs: Meta's weights against the tune
|
| 76 |
+
|
| 77 |
+

|
| 78 |
+
|
| 79 |
+
<sub>Boxes and scores: SAM 3.1 on jetson-04, Nov 3, 2026, boxes at 0.5 or more, drawn from the board's own answers ([docs/log/bench/2026-11-03/distract/](https://github.com/Offline-Base/muse-muse/blob/main/docs/log/bench/2026-11-03/distract)). Photos: COCO val2017 20553 ([Flickr](http://farm4.staticflickr.com/3288/2926009969_406b0b7654_z.jpg), CC BY 2.0) and 113403 ([Flickr](http://farm3.staticflickr.com/2613/3713015524_bac439d1e6_z.jpg), CC BY 2.0), changed: one held-out mascot pasted in, boxes drawn.</sub>
|
| 80 |
+
|
| 81 |
+
### Where it goes wrong
|
| 82 |
+
|
| 83 |
+
The tune saw only the mascot, never another toy to leave out, so "muse" still partly means "a plush toy".
|
| 84 |
+
|
| 85 |
+

|
| 86 |
+
|
| 87 |
+
| SAM 3.1, prompt | Set B: mascot AP | Set B: mascot found at 0.5 (of 30) | Set B: other boxes at 0.5 | Set B: mascot and only the mascot | Set A (no mascot): photos with a box | Set A: boxes at 0.5 |
|
| 88 |
+
|---|---|---|---|---|---|---|
|
| 89 |
+
| Meta's weights, "muse" | 0.000 | 0 | 0 | 0 | 0 | 0 |
|
| 90 |
+
| Meta's weights, "plush toy" | 0.466 | 30 | 73 | 0 | 30 | 76 |
|
| 91 |
+
| Meta's weights, "toy" | 0.498 | 30 | 82 | 0 | 29 | 71 |
|
| 92 |
+
| **Tuned, "muse"** | **0.773** | **29** | **30** | **8** | **22** | **38** |
|
| 93 |
+
|
| 94 |
+
Set A is 30 COCO val2017 teddy-bear photos with no mascot (63 bears); set B is the same 30 with one held-out mascot pasted
|
| 95 |
+
in. The service keeps only boxes at 0.5 or more, so these AP values are lower bounds. The tune boxed 34 of the 63 bears in
|
| 96 |
+
set A, and on one set-A photo (COCO 145020) it boxed a teddy bear at 0.988. Numbers:
|
| 97 |
+
[scores.json](https://github.com/Offline-Base/muse-muse/blob/main/docs/log/bench/2026-11-03/distract/scores.json) and docs/BUILD_LOG.md, "Nov 3, 2026, about 1 to 1:20 PM
|
| 98 |
+
ET". The next step would be to tune again with other plush toys as negatives, then photograph the real mascot among toys.
|
| 99 |
+
|
| 100 |
## Use
|
| 101 |
|
| 102 |
The serving code is in the Muse Muse repo, `scripts/edge/sam3/` (`server.py --tuned muse=muse31_delta_fp16.pt`;
|
assets/hero.png
ADDED
|
Git LFS Details
|
assets/limits.png
ADDED
|
Git LFS Details
|
assets/results.png
ADDED
|
Git LFS Details
|
assets/samples.png
ADDED
|
Git LFS Details
|