OfflineBase commited on
Commit
f5e4a8f
·
verified ·
1 Parent(s): 1009ea3

Card: Meta vs tuned on the same photos, results chart, real outputs, where it goes wrong

Browse files
.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
+ ![Meta's SAM 3.1 weights asked "plush toy" draw 8 boxes on a COCO photo of teddy bears at a table, one of them the pasted-in Muse mascot Jolly at 0.80. The tuned weights asked "muse" draw 3 boxes: Jolly at 0.98, and two other toys at 0.83 and 0.86. Meta's weights asked "muse" draw 0 boxes on the same photo. On the 50 held-out images, Meta's "muse" finds Jolly in 0 of 38, the tune in 38 of 38, and Meta's "plush toy" in 38 of 38.](https://huggingface.co/OfflineBase/sam3.1-muse/resolve/main/assets/hero.png)
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
+ ![Bar charts of the table above. Box AP: Meta "muse" 0.000, Meta "plush toy" 1.000, tuned "muse" 1.000. Found at 0.5, of 38: 0, 38, 38. Right about Muse there or not, of 50: 12, 50, 50. Small set AP: 0.000, 1.000, 0.996.](https://huggingface.co/OfflineBase/sam3.1-muse/resolve/main/assets/results.png)
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
+ ![Two COCO photos with the held-out mascot pasted in. Desert photo: Meta's weights asked "plush toy" draw 4 boxes, the mascot at 0.88; the tune asked "muse" draws 3, the mascot at 0.98 plus two other toys at 0.52 and 0.65. Bed photo: Meta's "plush toy" draws 4, the mascot at 0.96 and a teddy bear higher at 0.97; the tune draws 3, the mascot at 0.99 plus two teddy bears at 0.66 and 0.61.](https://huggingface.co/OfflineBase/sam3.1-muse/resolve/main/assets/samples.png)
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
+ ![The tune's boxes on the three COCO photos: each time its top box is the mascot (0.98, 0.98, 0.99) and it also boxes two other toys (0.83 and 0.86, 0.52 and 0.65, 0.66 and 0.61). On 30 COCO teddy-bear photos with no mascot, asked "muse", the tune draws 38 boxes, against 76 for Meta's "plush toy", 71 for Meta's "toy" and 0 for Meta's "muse". With one mascot pasted in, the tune boxes the mascot and only the mascot in 8 of 30 photos; Meta's prompts in 0 of 30.](https://huggingface.co/OfflineBase/sam3.1-muse/resolve/main/assets/limits.png)
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

  • SHA256: b835b5c7eee1ed36bed564b229d7d697f98c578b9c4ae32953c017b373ac7a2a
  • Pointer size: 132 Bytes
  • Size of remote file: 1.5 MB
assets/limits.png ADDED

Git LFS Details

  • SHA256: 906f50dbf89d8dce14124941950ecf496435b6fcd2e03f8752d39023ac2215de
  • Pointer size: 132 Bytes
  • Size of remote file: 2.05 MB
assets/results.png ADDED

Git LFS Details

  • SHA256: 3b23d3aedc4766da92717e042120ced91fbedc376eb6023e20f202b3711e7734
  • Pointer size: 131 Bytes
  • Size of remote file: 325 kB
assets/samples.png ADDED

Git LFS Details

  • SHA256: 32900ba35d96af66a2b65c9c269d88774ba24ea4382cfad9fb76843c93e9b2b4
  • Pointer size: 132 Bytes
  • Size of remote file: 3.96 MB