Spaces:
Running
Running
Use neutral early-sample timing labels
Browse files- README.md +2 -2
- index.html +4 -4
README.md
CHANGED
|
@@ -23,14 +23,14 @@ Interactive review of 306 robot pickup scenes with camera history, planned gripp
|
|
| 23 |
| Difficulty | Frames before real close | Correct | Accuracy |
|
| 24 |
|---|---|---|---|
|
| 25 |
| At decision | 0–10 | 97 / 206 | 47.09% |
|
| 26 |
-
| Early
|
| 27 |
|
| 28 |
| Recorded outcome | Correct | Accuracy |
|
| 29 |
|---|---|---|
|
| 30 |
| Success | 86 / 150 | 57.33% |
|
| 31 |
| Fail | 60 / 152 | 39.47% |
|
| 32 |
|
| 33 |
-
These scores exclude the four worked examples.
|
| 34 |
|
| 35 |
## Method and limitations
|
| 36 |
|
|
|
|
| 23 |
| Difficulty | Frames before real close | Correct | Accuracy |
|
| 24 |
|---|---|---|---|
|
| 25 |
| At decision | 0–10 | 97 / 206 | 47.09% |
|
| 26 |
+
| Early | 30–60 | 49 / 96 | 51.04% |
|
| 27 |
|
| 28 |
| Recorded outcome | Correct | Accuracy |
|
| 29 |
|---|---|---|
|
| 30 |
| Success | 86 / 150 | 57.33% |
|
| 31 |
| Fail | 60 / 152 | 39.47% |
|
| 32 |
|
| 33 |
+
These scores exclude the four worked examples. Type labels come from the authorized answer metadata, preserved in scored_predictions.jsonl. Public sample JSON contains planned close timing but no explicit type field. The benchmark README documents the timing definitions.
|
| 34 |
|
| 35 |
## Method and limitations
|
| 36 |
|
index.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
| 9 |
</style>
|
| 10 |
</head>
|
| 11 |
<body>
|
| 12 |
-
<header><div class="eyebrow">ABC grasp benchmark · Astra</div><h1>Inspect every pickup</h1><p class="muted">Compare the robot’s observations, Astra’s prediction, and the recorded answer.</p><div class="stats" id="stats"></div><section class="breakdown" aria-label="Accuracy breakdown"><h2>Accuracy breakdown</h2><div class="breakdown-tables"><table><caption>Accuracy by difficulty</caption><thead><tr><th scope="col">Difficulty</th><th scope="col">Correct</th><th scope="col">Accuracy</th></tr></thead><tbody id="difficulty-stats"></tbody></table><table><caption>Accuracy by success / fail</caption><thead><tr><th scope="col">Recorded outcome</th><th scope="col">Correct</th><th scope="col">Accuracy</th></tr></thead><tbody id="outcome-stats"></tbody></table></div><p class="muted">At decision: 0–10 frames before real close. Early
|
| 13 |
<div id="error" role="alert"></div><noscript>This viewer requires JavaScript. The prediction and score JSON files are available beside this HTML file.</noscript>
|
| 14 |
<div class="workspace">
|
| 15 |
<aside aria-label="Sample browser">
|
|
@@ -18,7 +18,7 @@
|
|
| 18 |
<label>Task<select id="task"><option value="">All tasks</option></select></label>
|
| 19 |
<div class="filter-pair"><label>Prediction result<select id="result"><option value="all">All results</option><option value="incorrect">Incorrect</option><option value="correct">Correct</option><option value="fp">Predicted success, failed</option><option value="fn">Predicted failure, succeeded</option></select></label><label>Answer<select id="answer"><option value="all">Both outcomes</option><option value="success">Success</option><option value="fail">Failure</option></select></label></div>
|
| 20 |
<div class="filter-pair"><label>Acting arm<select id="arm"><option value="">Both arms</option><option value="left">Left</option><option value="right">Right</option></select></label><label>Sort<select id="sort"><option value="index">Sample order</option><option value="high">Highest P(success)</option><option value="low">Lowest P(success)</option><option value="error">Largest probability error</option></select></label></div>
|
| 21 |
-
<div class="filter-pair"><label>Difficulty<select id="difficulty"><option value="">Both difficulties</option><option value="at_decision">At decision · 0–10 frames</option><option value="early">Early
|
| 22 |
<label class="check"><input type="checkbox" id="examples">Include 4 worked examples</label>
|
| 23 |
</div><div id="count" class="muted" aria-live="polite"></div><div id="list" class="list"></div>
|
| 24 |
</aside>
|
|
@@ -48,7 +48,7 @@ for(const [label,value] of stats){const el=document.createElement('div');const s
|
|
| 48 |
for(const [target,groups] of [['difficulty-stats',data.per_difficulty],['outcome-stats',data.per_outcome]]){
|
| 49 |
for(const [key,m] of Object.entries(groups)){
|
| 50 |
const row=document.createElement('tr');
|
| 51 |
-
const values=[target==='difficulty-stats'?(key==='early'?'Early
|
| 52 |
values.forEach((value,i)=>{const cell=document.createElement(i===0?'th':'td');if(i===0)cell.scope='row';cell.textContent=value;row.append(cell)});
|
| 53 |
$(target).append(row);
|
| 54 |
}
|
|
@@ -74,7 +74,7 @@ function render(){
|
|
| 74 |
if(!s)return;
|
| 75 |
try{history.replaceState(null,'','#'+encodeURIComponent(s.id))}catch(e){}
|
| 76 |
$('title').textContent=pretty(s.task);$('sample-id').textContent=s.id;$('arm-label').textContent=s.side+' arm acting';$('result-tag').textContent=s.correct?'Correct prediction':'Incorrect prediction';$('result-tag').className='tag '+(s.correct?'good':'bad');$('example-tag').hidden=!s.example;
|
| 77 |
-
$('prediction').textContent=s.success?'Success':'Failure';$('truth').textContent=s.actual_success?'Success':'Failure';$('probability').textContent='P(success) '+pct(s.p_success);$('prob-bar').style.width=pct(s.p_success);$('sample-type').textContent=s.type?pretty(s.type)+' · '+(s.type.endsWith('_early')?'
|
| 78 |
$('time-label').textContent=time==='t'?'· now':time==='t-15'?'· 0.5 seconds earlier':'· 1 second earlier';
|
| 79 |
for(const b of document.querySelectorAll('[data-time]'))b.setAttribute('aria-pressed',String(b.dataset.time===time));
|
| 80 |
$('cameras').replaceChildren(...['top','left','right'].map(view=>imageFigure(s.base+'/'+view+'_'+time+'.jpg',(view==='top'?'Overhead':pretty(view)+' wrist')+(view===s.side?' · ACTING ARM':'')+' · '+(time==='t'?'now':time==='t-15'?'−0.5 s':'−1 s'))));
|
|
|
|
| 9 |
</style>
|
| 10 |
</head>
|
| 11 |
<body>
|
| 12 |
+
<header><div class="eyebrow">ABC grasp benchmark · Astra</div><h1>Inspect every pickup</h1><p class="muted">Compare the robot’s observations, Astra’s prediction, and the recorded answer.</p><div class="stats" id="stats"></div><section class="breakdown" aria-label="Accuracy breakdown"><h2>Accuracy breakdown</h2><div class="breakdown-tables"><table><caption>Accuracy by difficulty</caption><thead><tr><th scope="col">Difficulty</th><th scope="col">Correct</th><th scope="col">Accuracy</th></tr></thead><tbody id="difficulty-stats"></tbody></table><table><caption>Accuracy by success / fail</caption><thead><tr><th scope="col">Recorded outcome</th><th scope="col">Correct</th><th scope="col">Accuracy</th></tr></thead><tbody id="outcome-stats"></tbody></table></div><p class="muted">At decision: 0–10 frames before real close. Early: 30–60 frames before real close. Scores cover all 302 evaluated samples, exclude the four worked examples, and stay fixed when filters change.</p></section></header>
|
| 13 |
<div id="error" role="alert"></div><noscript>This viewer requires JavaScript. The prediction and score JSON files are available beside this HTML file.</noscript>
|
| 14 |
<div class="workspace">
|
| 15 |
<aside aria-label="Sample browser">
|
|
|
|
| 18 |
<label>Task<select id="task"><option value="">All tasks</option></select></label>
|
| 19 |
<div class="filter-pair"><label>Prediction result<select id="result"><option value="all">All results</option><option value="incorrect">Incorrect</option><option value="correct">Correct</option><option value="fp">Predicted success, failed</option><option value="fn">Predicted failure, succeeded</option></select></label><label>Answer<select id="answer"><option value="all">Both outcomes</option><option value="success">Success</option><option value="fail">Failure</option></select></label></div>
|
| 20 |
<div class="filter-pair"><label>Acting arm<select id="arm"><option value="">Both arms</option><option value="left">Left</option><option value="right">Right</option></select></label><label>Sort<select id="sort"><option value="index">Sample order</option><option value="high">Highest P(success)</option><option value="low">Lowest P(success)</option><option value="error">Largest probability error</option></select></label></div>
|
| 21 |
+
<div class="filter-pair"><label>Difficulty<select id="difficulty"><option value="">Both difficulties</option><option value="at_decision">At decision · 0–10 frames</option><option value="early">Early · 30–60 frames</option></select></label><label>Sample type<select id="type"><option value="">All types</option><option value="success_at_decision">success_at_decision</option><option value="success_early">success_early</option><option value="fail_at_decision">fail_at_decision</option><option value="fail_early">fail_early</option></select></label></div>
|
| 22 |
<label class="check"><input type="checkbox" id="examples">Include 4 worked examples</label>
|
| 23 |
</div><div id="count" class="muted" aria-live="polite"></div><div id="list" class="list"></div>
|
| 24 |
</aside>
|
|
|
|
| 48 |
for(const [target,groups] of [['difficulty-stats',data.per_difficulty],['outcome-stats',data.per_outcome]]){
|
| 49 |
for(const [key,m] of Object.entries(groups)){
|
| 50 |
const row=document.createElement('tr');
|
| 51 |
+
const values=[target==='difficulty-stats'?(key==='early'?'Early':'At decision'):(key==='success'?'Success':'Fail'),m.correct+' / '+m.n,pct(m.accuracy)];
|
| 52 |
values.forEach((value,i)=>{const cell=document.createElement(i===0?'th':'td');if(i===0)cell.scope='row';cell.textContent=value;row.append(cell)});
|
| 53 |
$(target).append(row);
|
| 54 |
}
|
|
|
|
| 74 |
if(!s)return;
|
| 75 |
try{history.replaceState(null,'','#'+encodeURIComponent(s.id))}catch(e){}
|
| 76 |
$('title').textContent=pretty(s.task);$('sample-id').textContent=s.id;$('arm-label').textContent=s.side+' arm acting';$('result-tag').textContent=s.correct?'Correct prediction':'Incorrect prediction';$('result-tag').className='tag '+(s.correct?'good':'bad');$('example-tag').hidden=!s.example;
|
| 77 |
+
$('prediction').textContent=s.success?'Success':'Failure';$('truth').textContent=s.actual_success?'Success':'Failure';$('probability').textContent='P(success) '+pct(s.p_success);$('prob-bar').style.width=pct(s.p_success);$('sample-type').textContent=s.type?pretty(s.type)+' · '+(s.type.endsWith('_early')?'30–60 frames before real close':'0–10 frames before real close'):'Public worked example · difficulty not included in scored metadata';$('reason').textContent=s.reason;
|
| 78 |
$('time-label').textContent=time==='t'?'· now':time==='t-15'?'· 0.5 seconds earlier':'· 1 second earlier';
|
| 79 |
for(const b of document.querySelectorAll('[data-time]'))b.setAttribute('aria-pressed',String(b.dataset.time===time));
|
| 80 |
$('cameras').replaceChildren(...['top','left','right'].map(view=>imageFigure(s.base+'/'+view+'_'+time+'.jpg',(view==='top'?'Overhead':pretty(view)+' wrist')+(view===s.side?' · ACTING ARM':'')+' · '+(time==='t'?'now':time==='t-15'?'−0.5 s':'−1 s'))));
|