scope / index.html
HindsboNikolaj's picture
switch to static HTML SDK (no Python deps, nhindsbo.com aesthetic)
c133246 verified
Raw
History Blame Contribute Delete
7.21 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>SCOPE — A Real-Time Natural Language Camera Agent at the Edge</title>
<meta name="description" content="SCOPE: a modular multimodal agentic system for PTZ camera control. HRI '26, Armada AI." />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root {
--ink: #111;
--ink-soft: #444;
--ink-mute: #888;
--paper: #fefefe;
--rule: #e6e6e6;
--accent: #1a4ed8;
--tag: #f4f4f4;
}
* { box-sizing: border-box; }
html, body { background: var(--paper); color: var(--ink); }
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
font-size: 17px;
line-height: 1.65;
max-width: 720px;
margin: 0 auto;
padding: 4rem 1.5rem 6rem;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
h1 {
font-family: 'Fraunces', Georgia, serif;
font-weight: 600;
font-size: 4rem;
letter-spacing: -0.03em;
margin: 0 0 0.25rem;
line-height: 1;
}
.meta {
font-family: 'JetBrains Mono', monospace;
font-size: 0.78rem;
letter-spacing: 0.05em;
color: var(--ink-mute);
margin-bottom: 2.5rem;
text-transform: uppercase;
}
.lede {
font-family: 'Fraunces', Georgia, serif;
font-style: italic;
font-size: 1.7rem;
line-height: 1.35;
color: var(--ink);
margin: 2rem 0 2.5rem;
font-weight: 400;
border-left: 3px solid var(--ink);
padding-left: 1.25rem;
}
h2 {
font-family: 'JetBrains Mono', monospace;
text-transform: uppercase;
font-size: 0.78rem;
letter-spacing: 0.12em;
color: var(--ink-mute);
margin: 3.5rem 0 1rem;
font-weight: 500;
}
p { color: var(--ink-soft); margin: 0 0 1rem; }
p strong { color: var(--ink); font-weight: 600; }
a {
color: var(--accent);
text-decoration: none;
border-bottom: 1px solid var(--accent);
transition: background 0.15s;
}
a:hover { background: rgba(26, 78, 216, 0.08); }
a.arrow::after { content: ' ↗'; font-family: 'JetBrains Mono', monospace; font-size: 0.85em; }
ul.links { list-style: none; padding: 0; margin: 0; }
ul.links li {
padding: 0.7rem 0;
border-bottom: 1px solid var(--rule);
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 1rem;
}
ul.links li:last-child { border-bottom: none; }
ul.links .label {
font-family: 'JetBrains Mono', monospace;
font-size: 0.78rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--ink-mute);
white-space: nowrap;
}
ul.links .value { text-align: right; flex: 1; }
.stack {
font-family: 'JetBrains Mono', monospace;
font-size: 0.9rem;
color: var(--ink-soft);
line-height: 2;
}
.stack code {
background: var(--tag);
padding: 0.15rem 0.55rem;
border-radius: 3px;
color: var(--ink);
}
.metric {
display: inline-block;
background: var(--ink);
color: var(--paper);
padding: 0.15rem 0.55rem;
font-family: 'JetBrains Mono', monospace;
font-size: 0.95em;
font-weight: 500;
border-radius: 2px;
}
.divider {
text-align: center;
color: var(--rule);
letter-spacing: 1.5rem;
margin: 3.5rem 0;
user-select: none;
}
pre {
background: #f8f8f8;
border: 1px solid var(--rule);
border-radius: 4px;
padding: 1rem 1.2rem;
font-family: 'JetBrains Mono', monospace;
font-size: 0.82rem;
line-height: 1.5;
overflow-x: auto;
color: var(--ink-soft);
}
footer {
margin-top: 5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--rule);
font-family: 'JetBrains Mono', monospace;
font-size: 0.78rem;
color: var(--ink-mute);
text-transform: uppercase;
letter-spacing: 0.08em;
}
</style>
</head>
<body>
<h1>SCOPE</h1>
<div class="meta">01 · HRI '26 · 2026 · Armada AI</div>
<div class="lede">When you chain a language model and a vision model together, how do you know which one failed?</div>
<h2>Abstract</h2>
<p><strong>SCOPE</strong> is a modular multimodal agentic system for natural-language PTZ camera control. A Small Language Model planner orchestrates a fixed action space — a set of <em>skills</em> (camera-control and perception workflows) exposed through an OpenAI-compatible JSON tool schema identical on Blender simulation and a physical AXIS PTZ. A Vision-Language Model handles perception as a callable skill.</p>
<p>The paper benchmarks 20 SLM × VLM configurations across a 541-task evaluation set spanning 8 categories — counting, descriptor, spatial reasoning, OCR, single- and multi-step planning. Best configuration (Qwen3-30B-A3B + Moondream3) reaches <span class="metric">73.8%</span> overall accuracy with sub-second latency on a single edge GPU.</p>
<div class="divider">∗ ∗ ∗</div>
<h2>Resources</h2>
<ul class="links">
<li>
<span class="label">Paper</span>
<span class="value">
<a href="https://huggingface.co/datasets/HindsboNikolaj/scope-benchmark/resolve/main/paper.pdf" class="arrow">SCOPE: A Real-Time Natural Language Camera Agent at the Edge</a>
</span>
</li>
<li>
<span class="label">DOI</span>
<span class="value"><a href="https://doi.org/10.1145/3757279.3785641" class="arrow">10.1145/3757279.3785641</a></span>
</li>
<li>
<span class="label">Code</span>
<span class="value"><a href="https://github.com/HindsboNikolaj/SCOPE" class="arrow">github.com/HindsboNikolaj/SCOPE</a></span>
</li>
<li>
<span class="label">Benchmark</span>
<span class="value"><a href="https://huggingface.co/datasets/HindsboNikolaj/scope-benchmark" class="arrow">HindsboNikolaj/scope-benchmark</a></span>
</li>
<li>
<span class="label">Collection</span>
<span class="value"><a href="https://huggingface.co/collections/HindsboNikolaj/scope-hri-26-6a1626e0b8e9b9205c09fffc" class="arrow">SCOPE — HRI '26</a></span>
</li>
</ul>
<h2>Stack</h2>
<div class="stack">
<code>Python</code> <code>Blender 4.0+</code> <code>Qwen3</code> <code>Mistral</code> <code>Moondream2/3</code> <code>Qwen2.5-VL</code> <code>Ollama</code> <code>vLLM</code> <code>OpenAI-compatible tools</code> <code>LLM-as-Judge</code>
</div>
<h2>Authors</h2>
<p><strong>Nikolaj Hindsbo</strong>, <strong>Sina Ehsani</strong>, <strong>Pragyana Mishra</strong> — Armada AI</p>
<h2>Citation</h2>
<pre>@inproceedings{hindsbo2026scope,
title = {SCOPE: A Real-Time Natural Language Camera Agent at the Edge},
author = {Hindsbo, Nikolaj and Ehsani, Sina and Mishra, Pragyana},
booktitle = {Proceedings of the ACM/IEEE International Conference on
Human-Robot Interaction (HRI '26)},
year = {2026},
publisher = {ACM},
doi = {10.1145/3757279.3785641},
}</pre>
<footer>SCOPE · HRI '26 · Armada AI</footer>
</body>
</html>