yxma commited on
Commit
f0692fd
Β·
verified Β·
1 Parent(s): 3220a4c

force recovery: methods, evaluation, debug log

Browse files
.gitattributes CHANGED
@@ -128,3 +128,9 @@ assets/panel_faf.png filter=lfs diff=lfs merge=lfs -text
128
  assets/panel_feats.png filter=lfs diff=lfs merge=lfs -text
129
  assets/panel_fota_cnc.png filter=lfs diff=lfs merge=lfs -text
130
  assets/panel_sparsh.png filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
128
  assets/panel_feats.png filter=lfs diff=lfs merge=lfs -text
129
  assets/panel_fota_cnc.png filter=lfs diff=lfs merge=lfs -text
130
  assets/panel_sparsh.png filter=lfs diff=lfs merge=lfs -text
131
+ assets/panel_cnc_mini_26_zh.png filter=lfs diff=lfs merge=lfs -text
132
+ assets/panel_faf_zh.png filter=lfs diff=lfs merge=lfs -text
133
+ assets/panel_feats_zh.png filter=lfs diff=lfs merge=lfs -text
134
+ assets/panel_fota_cnc_zh.png filter=lfs diff=lfs merge=lfs -text
135
+ assets/panel_sparsh_zh.png filter=lfs diff=lfs merge=lfs -text
136
+ assets/react_normals.png filter=lfs diff=lfs merge=lfs -text
assets/depth_validation_panel.png CHANGED

Git LFS Details

  • SHA256: 313d4d7f16b0d73eb248a6a24dbc715eef9ffd15025a561d42da26ad4b9a4866
  • Pointer size: 131 Bytes
  • Size of remote file: 805 kB

Git LFS Details

  • SHA256: 6c4b4a5abbe80cc38f2a3e11bb81c750b07c421f77ec5af6ff1fd5138102e6d2
  • Pointer size: 131 Bytes
  • Size of remote file: 728 kB
assets/feats_marker_removal.png CHANGED

Git LFS Details

  • SHA256: 5be490b8c601ff576ac9052ae50aa9dacb2a519926c67e732a9c37fbee44ccd8
  • Pointer size: 132 Bytes
  • Size of remote file: 1.47 MB

Git LFS Details

  • SHA256: 1dd5c95ab92ae2e09b7dd740ed011c8a6763cbb0e769d674c7a990b6fa6f3553
  • Pointer size: 132 Bytes
  • Size of remote file: 1.46 MB
assets/mnist_examples.png CHANGED

Git LFS Details

  • SHA256: 2cfe4ec424aaba5e5d833dc4d70b647a7a7119afcde8302ee2ab65a971261b3c
  • Pointer size: 132 Bytes
  • Size of remote file: 1.93 MB

Git LFS Details

  • SHA256: fdc487091359bb149b45a0858d4997ced60086f23a60e951203bb1fd9b272fae
  • Pointer size: 132 Bytes
  • Size of remote file: 1.92 MB
assets/panel_cnc_mini_26.png CHANGED

Git LFS Details

  • SHA256: 19b860efdbde9cd20bac90626e1668656496b68946e549a80a1be49d78f7c6de
  • Pointer size: 132 Bytes
  • Size of remote file: 1.78 MB

Git LFS Details

  • SHA256: 629c80a182450eb6b8de29d92fbb8443decbab4f09786080853812f761fcb5b1
  • Pointer size: 132 Bytes
  • Size of remote file: 1.76 MB
assets/panel_cnc_mini_26_zh.png ADDED

Git LFS Details

  • SHA256: 54945f4d13b957cc710132f0f9fd51df9a8ba52b63e5f40cff4a397b11a53bdf
  • Pointer size: 132 Bytes
  • Size of remote file: 1.79 MB
assets/panel_faf.png CHANGED

Git LFS Details

  • SHA256: c711eea3449ed09728723c3964edbf89a7d438a6b3ee7cf56a2243dc83df68f3
  • Pointer size: 132 Bytes
  • Size of remote file: 2.24 MB

Git LFS Details

  • SHA256: d89ca9ef90aa5a59beaebbb713537c9ba11666160c05586747575496483dff65
  • Pointer size: 132 Bytes
  • Size of remote file: 2.17 MB
assets/panel_faf_zh.png ADDED

Git LFS Details

  • SHA256: 18be735fc4a7dd1df3743a6205118856bcd1a1af273b6877d801d70cf277ad74
  • Pointer size: 132 Bytes
  • Size of remote file: 2.19 MB
assets/panel_feats.png CHANGED

Git LFS Details

  • SHA256: a12fc3279c4c649d8b1264c3438eb4d84807c0c4f859447fac9e4ddf48c4d7d5
  • Pointer size: 132 Bytes
  • Size of remote file: 2.83 MB

Git LFS Details

  • SHA256: cb195d465313d592ce657c4e2d2cd8c5ff5efe2a9014e10c4fcd5efcb3b1ef91
  • Pointer size: 132 Bytes
  • Size of remote file: 2.79 MB
assets/panel_feats_zh.png ADDED

Git LFS Details

  • SHA256: 764eea1cd3f09363b744c6a4ed2e17e0d19ef33b2bca6324be11fb43f11e8bd4
  • Pointer size: 132 Bytes
  • Size of remote file: 2.82 MB
assets/panel_fota_cnc.png CHANGED

Git LFS Details

  • SHA256: ddfcb09053ccb21c4f4c9c7e0fff402798275b0abe860b4b316a74387d2f999f
  • Pointer size: 132 Bytes
  • Size of remote file: 2.05 MB

Git LFS Details

  • SHA256: 147de12f7e664a56999235766f1e4bc5a94bde761a9f7b1cd13c3a2d45eeb1bf
  • Pointer size: 132 Bytes
  • Size of remote file: 2.1 MB
assets/panel_fota_cnc_zh.png ADDED

Git LFS Details

  • SHA256: 6e2d382e308e6fa931cee7ff9d3efffe8f4dd8efb965fe6fea09cae7e7c883eb
  • Pointer size: 132 Bytes
  • Size of remote file: 2.13 MB
assets/panel_sparsh.png CHANGED

Git LFS Details

  • SHA256: 088393b087bba3122998d9857d83a7720807b6a09cacd01651ac56fe89585482
  • Pointer size: 132 Bytes
  • Size of remote file: 1.01 MB

Git LFS Details

  • SHA256: 8343d672deff66ad4c960516ff415f95f9cd8f2a712e1a64f427e259d468ae4d
  • Pointer size: 132 Bytes
  • Size of remote file: 1.04 MB
assets/panel_sparsh_zh.png ADDED

Git LFS Details

  • SHA256: 423fa4ebf42c5970a6ef64edb75195f8fd07161eaff490508f0f775db42ed23b
  • Pointer size: 132 Bytes
  • Size of remote file: 1.07 MB
assets/react_normals.png ADDED

Git LFS Details

  • SHA256: d28d2c04c597e694a4ee920a7bc079443b635876712b7c9311b9b28d4100c891
  • Pointer size: 131 Bytes
  • Size of remote file: 962 kB
assets/recon_compare.png CHANGED

Git LFS Details

  • SHA256: f4e9dbbcdf228398dd757508b2866d4fc2b317e100bd49bb4079dd45187b1d9c
  • Pointer size: 132 Bytes
  • Size of remote file: 1.06 MB

Git LFS Details

  • SHA256: fd599b401cfea31024c6554beee504cc42455e6e27029872646eb69624759e3d
  • Pointer size: 132 Bytes
  • Size of remote file: 1.03 MB
index.html CHANGED
@@ -59,11 +59,11 @@ newtons in it are estimated from the images alone β€” reconstructed to a depth
59
  map, then calibrated on presses of known load.</p>
60
 
61
  <div class="cards">
62
- <div class="card"><b>0.986</b><span>best Spearman ρ vs
63
  ground-truth force</span></div>
64
  <div class="card"><b>5</b><span>force-labelled datasets, one
65
  protocol</span></div>
66
- <div class="card"><b>0.857</b><span>agreement between two
67
  estimators sharing no calibration</span></div>
68
  <div class="card"><b>0</b><span>frames of our own rig in any
69
  calibration</span></div>
@@ -80,8 +80,8 @@ all.</figcaption></figure>
80
  lookup table learns it from ~700 sphere presses per sensor; a linear
81
  photometric solve needs only the LED geometry. On markerless GelSight&nbsp;Mini
82
  presses the calibration-free solve leads by
83
- +0.27&nbsp;ρ; on a marker gel
84
- it trails by -0.14, which is
85
  what the physics predicts.</p>
86
  <p class="dim">Full comparison on the <a href="results.html">results</a> page Β·
87
  how it works on <a href="method.html">method</a>.</p>
 
59
  map, then calibrated on presses of known load.</p>
60
 
61
  <div class="cards">
62
+ <div class="card"><b>0.968</b><span>best Spearman ρ vs
63
  ground-truth force</span></div>
64
  <div class="card"><b>5</b><span>force-labelled datasets, one
65
  protocol</span></div>
66
+ <div class="card"><b>0.869</b><span>agreement between two
67
  estimators sharing no calibration</span></div>
68
  <div class="card"><b>0</b><span>frames of our own rig in any
69
  calibration</span></div>
 
80
  lookup table learns it from ~700 sphere presses per sensor; a linear
81
  photometric solve needs only the LED geometry. On markerless GelSight&nbsp;Mini
82
  presses the calibration-free solve leads by
83
+ +0.22&nbsp;ρ; on a marker gel
84
+ it trails by -0.12, which is
85
  what the physics predicts.</p>
86
  <p class="dim">Full comparison on the <a href="results.html">results</a> page Β·
87
  how it works on <a href="method.html">method</a>.</p>
results.html CHANGED
@@ -58,7 +58,7 @@ img{max-width:100%;height:auto}
58
  frames fit a 5-feature least squares with isotonic calibration, half are
59
  scored; pooled Spearman ρ, five seeds, beside a within-group label shuffle.</p>
60
 
61
- <div class="tablewrap"><table><thead><tr><th>dataset</th><th>n</th><th>LUT</th><th>calibration-free</th><th>FEATS U-net</th><th>FeelAnyForce</th><th>shuffle</th></tr></thead><tbody><tr><td>Mini CNC 2026 (markerless, 0-20 N)</td><td>201</td><td>0.986</td><td>0.732</td><td>β€”</td><td>β€”</td><td class='dim'>+0.171</td></tr><tr><td>FoTa cnc_Mini (markerless, in view)</td><td>337</td><td>0.946</td><td>0.157</td><td>0.074</td><td>0.828</td><td class='dim'>+0.056</td></tr><tr><td>FEATS (marker gel)</td><td>186</td><td>0.775</td><td>0.615</td><td>0.960</td><td>0.431</td><td class='dim'>-0.003</td></tr><tr><td>Sparsh / Meta (markerless, Sparsh LUT, in view)</td><td>1667</td><td>0.968</td><td>β€”</td><td>β€”</td><td>β€”</td><td class='dim'>+0.264</td></tr><tr><td style='padding-left:26px;opacity:.75'>↳ control: same frames, dots inpainted (depth path; not used for force)</td><td>186</td><td>0.737</td><td>β€”</td><td>β€”</td><td>β€”</td><td class='dim'>-0.010</td></tr></tbody></table></div>
62
  <p class="dim">β€œβ€”β€ means not run, not zero. Calibration-free is scored under a
63
  stripped protocol with no position gain field, so its column is not comparable
64
  to the LUT's headline value β€” it is comparable to the LUT under the same strip,
@@ -68,9 +68,9 @@ which is on the <a href="method.html">method</a> page.</p>
68
  <p>React has no labels, so the test is whether a second estimator sharing no
69
  calibration does better on React's own calibration domain. It does not:
70
  0.739 against 0.310 held out by press position. The
71
- two agree at ρ&nbsp;=&nbsp;0.857 over 1,500 frames, mean
72
- difference 0.72&nbsp;N. That is consistent with both measuring
73
  contact and is not a certification of absolute scale β€” p95 disagreement is
74
- 3.39&nbsp;N against a 7.29&nbsp;N ceiling.</p>
75
  <p><b>No recompute.</b> The published newtons stand.</p>
76
  </div></body></html>
 
58
  frames fit a 5-feature least squares with isotonic calibration, half are
59
  scored; pooled Spearman ρ, five seeds, beside a within-group label shuffle.</p>
60
 
61
+ <div class="tablewrap"><table><thead><tr><th>dataset</th><th>n</th><th>LUT</th><th>calibration-free</th><th>FEATS U-net</th><th>FeelAnyForce</th><th>shuffle</th></tr></thead><tbody><tr><td>cnc_mini_26 (markerless, 0-20 N)</td><td>588</td><td>0.968</td><td>0.838</td><td>0.041</td><td>0.900</td><td class='dim'>+0.195</td></tr><tr><td>FoTa cnc_Mini (markerless, in view)</td><td>337</td><td>0.915</td><td>0.955</td><td>0.074</td><td>0.828</td><td class='dim'>-0.030</td></tr><tr><td>FEATS (marker gel)</td><td>186</td><td>0.775</td><td>0.639</td><td>0.960</td><td>0.431</td><td class='dim'>-0.003</td></tr><tr><td>Sparsh / Meta (markerless, Sparsh LUT, in view)</td><td>1667</td><td>0.968</td><td>β€”</td><td>β€”</td><td>β€”</td><td class='dim'>+0.264</td></tr><tr><td style='padding-left:26px;opacity:.75'>↳ control: same frames, dots inpainted (depth path; not used for force)</td><td>186</td><td>0.632</td><td>β€”</td><td>β€”</td><td>β€”</td><td class='dim'>+0.052</td></tr></tbody></table></div>
62
  <p class="dim">β€œβ€”β€ means not run, not zero. Calibration-free is scored under a
63
  stripped protocol with no position gain field, so its column is not comparable
64
  to the LUT's headline value β€” it is comparable to the LUT under the same strip,
 
68
  <p>React has no labels, so the test is whether a second estimator sharing no
69
  calibration does better on React's own calibration domain. It does not:
70
  0.739 against 0.310 held out by press position. The
71
+ two agree at ρ&nbsp;=&nbsp;0.869 over 1,800 frames, mean
72
+ difference 0.80&nbsp;N. That is consistent with both measuring
73
  contact and is not a certification of absolute scale β€” p95 disagreement is
74
+ 3.22&nbsp;N against a 7.29&nbsp;N ceiling.</p>
75
  <p><b>No recompute.</b> The published newtons stand.</p>
76
  </div></body></html>