update at 2026-06-04 14:09:16

This commit is contained in:
陈赣
2026-06-04 14:09:16 +08:00
parent 41bd03123c
commit 4603914e85
11 changed files with 692 additions and 68 deletions

View File

@@ -9,26 +9,30 @@
<body>
<header class="topbar">
<div>
<h1>DETR 动态打标</h1>
<p>使用 Python、OpenCV、PyTorch、Transformers DETR 和 FastAPIMac mini m2 上运行</p>
<!-- <h1>DETR 动态打标</h1> -->
<p>DETR动态打标Python、OpenCV、PyTorch、Transformers DETR 和 FastAPI。</p>
</div>
<div class="topbar-actions">
<a class="button-link" href="/tokenizer">tokenizer</a>
<div class="badge" id="connection">连接中</div>
</div>
<div class="badge" id="connection">连接中</div>
</header>
<main class="layout">
<section class="video-card">
<div class="pipeline">
<div class="stage active">源节点</div>
<div class="arrow"></div>
<div class="stage active">DETR 推理</div>
<div class="arrow"></div>
<div class="stage active">OSD 打标</div>
<div class="arrow"></div>
<div class="stage active">FastAPI 输出</div>
</div>
<div class="video-wrap">
<img id="video" src="/video" alt="动态打标视频流" />
<div class="video-grid">
{% for device_item in video_grid_devices %}
<article class="video-grid-item">
<div class="video-grid-title">{{ device_item.name }} · {{ device_item.device_num }}</div>
<div class="video-wrap video-grid-wrap">
<img class="grid-video" src="/video/{{ device_item.device_num | urlencode }}" data-src="/video/{{ device_item.device_num | urlencode }}" alt="{{ device_item.name }} 视频流" />
</div>
</article>
{% endfor %}
</div>
<section class="detections-panel">
<div id="detections" class="detections empty">暂无目标</div>
</section>
</section>
<aside class="side-card">
@@ -69,11 +73,6 @@
<dd id="timing-frame">-</dd>
</dl>
</section>
<section>
<h2>检测结果</h2>
<div id="detections" class="detections empty">暂无目标</div>
</section>
</aside>
</main>

View File

@@ -0,0 +1,48 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>DETR Tokenizer 动态可视化</title>
<link rel="stylesheet" href="/static/style.css?v=tokenizer-layout-1-3" />
</head>
<body class="tokenizer-page">
<header class="topbar">
<div>
<!--<h1>DETR Tokenizer 动态可视化</h1>-->
<p>实时展示当前视频帧从图像预处理、视觉特征、token 序列到检测输出的过程。</p>
</div>
<div class="topbar-actions">
<a class="button-link" href="/">返回视频</a>
<div class="badge" id="tokenizer-status">等待帧</div>
</div>
</header>
<main class="tokenizer-layout">
<section class="tokenizer-card tokenizer-flow-card">
<h2>实时流程</h2>
<div class="pipeline-steps" id="pipeline-steps"></div>
</section>
<aside class="tokenizer-side">
<section class="tokenizer-card">
<h2>选中 Token</h2>
<div class="selected-token" id="selected-token">点击下方 token 查看向量采样。</div>
</section>
<section class="tokenizer-card">
<h2>Token 序列</h2>
<div class="token-summary" id="token-summary">等待视频帧</div>
<div class="token-sequence" id="token-sequence"></div>
</section>
<section class="tokenizer-card">
<h2>检测输出</h2>
<div id="tokenizer-detections" class="detections empty">暂无目标</div>
</section>
</aside>
</main>
<script src="/static/tokenizer.js"></script>
</body>
</html>