Spaces:
Running
Running
| <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> | |