跳到主要内容

模型测试与检测

这个功能解决什么问题

训练完一个模型,发布之前你想先看看它在真实图片上效果怎么样。模型上线之后,你又需要拿它跑一批新图、跑一段视频,甚至接到摄像头或流媒体上做实时检测。

模型测试页把这两件事统一到一个界面:选一个可用的模型制品,挑一种输入模式,调好置信度和 IoU 阈值,就能马上看到检测结果。draft(未发布)版本也能在这里测试,不会污染生产数据。

前置条件

  • 项目下至少有一个 status=ready 的 ModelVersion。
  • 该 Version 下至少有一个可用的 ModelArtifact(.pt / ONNX / TensorRT / NPU 任一)。
  • 当前账号在项目内拥有检测相关权限。
draft 也可以测

训练完成但还没发布的 draft 版本,可以在训练 Tab 详情面板里点「测试此 draft」直接跳到检测页。这条路径会临时创建一个 source="draft_test" 的 Artifact,仅用于交互式测试,不会进入生产模型选择器。

入口

模型测试页统一入口在项目工作区:

  1. 进入项目工作区

    从工作台打开目标项目。

  2. 点击「测试」Tab

    左侧导航里的「测试」就是模型测试页。系统会自动按当前项目的任务类型(detect / segment / pose / obb)筛选可用模型。

  3. 选择模型制品

    顶部模型选择器是层级结构:先选 Model 系列,再选 Version,最后选具体的 Artifact(.pt / ONNX 等)。只有发布版本的 is_default=True 制品会出现在列表里。

模型测试页入口
图1:项目工作区「测试」Tab 的模型选择器与输入模式切换

四种输入模式

测试页支持四种输入,顶部切换栏选其一:

字段类型必填默认值说明
图片上传模式可选默认上传一张或多张本地图片,立即跑检测。适合快速验证单图效果和调阈值。
视频文件模式可选上传一段本地视频,逐帧检测并播放叠加效果。适合评估模型在连续帧上的稳定性。
摄像头模式可选调用本机摄像头做实时检测。需要浏览器授权摄像头权限,HTTPS 环境下可用。
流媒体 URL模式可选输入 RTSP / HTTP 流地址,拉流做实时检测。适合接入已有监控或推流服务。
摄像头和流媒体需要 HTTPS

浏览器只在 HTTPS(或 localhost)下授予摄像头权限。如果通过 HTTP 访问平台,摄像头模式会直接拒绝。流模式本身不受此限制,但跨域流地址可能需要服务端配置 CORS。

参数调整

参数调整面板
图2:置信度阈值、IoU 阈值与可视化选项
字段类型必填默认值说明
置信度阈值滑块可选0.6低于此值的检测框不显示。调高减少误检,调低找回更多目标。默认 0.6 是经验和效率的折中。
IoU 阈值滑块可选0.45NMS(非极大值抑制)的重叠判定阈值。两个框 IoU 超过此值时保留置信度高的那个。

阈值调整后结果会重新渲染,不需要重新上传图片或重启摄像头。

检测结果可视化

Canvas overlay 渲染

检测结果通过前端 Canvas overlay 叠加在原图上,不走后端预渲染。这样可以实时调阈值、显隐标注层,不需要每次重新请求接口。

不同任务类型的可视化方式:

  • detect:矩形框 + 类别标签 + 置信度,标签位于框左上角并带连接线。
  • segment:多边形掩码 + 类别标签,标签定位在多边形质心(顶点坐标平均),无连接线。
  • pose:关键点 + 骨架连线。
  • obb:带角度的旋转矩形。
分割标签为什么在多边形中心

分割任务的多边形可能形状不规则,框左上角往往落在背景区域,标签放在那里看不清。改成定位在多边形质心后,标签永远压在目标本体上,配合掩码半透明叠加,一眼就能对上号。

置信度等级标签

检测框上的置信度数字会按等级着色,方便快速识别模型有多确信:

  • 高(≥ 0.8):绿色,模型很确信。
  • 中(0.5 ~ 0.8):黄色,有一定把握,可以重点复核。
  • 低(< 0.5):红色,模型不确定,可能是误检或边界样本。
用置信度等级做快速抽检

想评估模型的整体表现,把一批图都跑一遍,重点看黄色和红色的框。绿色框通常没问题,红黄框才是模型容易出错的地方。把这些样本收集起来加入下一轮训练,效果会明显提升。

结果导出

跑完检测后,可以下载当前画面的可视化结果:

  • 图片模式:直接下载带标注叠加的 PNG / JPG。
  • 视频模式:导出整段叠加视频(异步处理,完成后通知下载)。
  • 摄像头 / 流模式:不支持整段导出,可以截取当前帧。
导出的是叠加图不是原图

下载的可视化图片已经画上了检测框、类别标签和置信度,方便直接分享或归档。如果需要原始图片,请保留上传时的本地文件。

操作流程

  1. 确认前置条件

    项目下有 ready 的 ModelVersion 和可用 Artifact。draft 也可以通过训练详情的「测试此 draft」入口进入。

  2. 选择模型制品

    在顶部模型选择器里挑好 Model / Version / Artifact。系统按项目任务类型自动过滤。

  3. 选输入模式

    按需切到图片 / 视频 / 摄像头 / 流模式,上传文件或输入流地址。

  4. 调阈值

    拖动置信度和 IoU 滑块,结果实时刷新。找到适合当前场景的阈值组合。

  5. 查看与导出

    在 Canvas overlay 上看叠加效果,按需下载可视化结果。

常见问题

模型选择器是空的

说明项目下没有 ready 状态的 Version,或者发布版本下没有 is_default=True 的 Artifact。先去模型管理确认版本已发布、Artifact 已导出并标记为 default。draft 测试不通过选择器进入,而是从训练详情面板跳转。

为什么 ONNX 推理结果和 .pt 略有差异

ONNX Runtime 和 PyTorch 在某些算子上的实现细节、浮点精度处理可能略有差异,结果数字会有微小波动(通常在小数点后几位)。如果差异明显,可能是导出时精度设置或算子兼容问题,建议重新导出或联系管理员排查。

摄像头画面卡顿

摄像头实时检测的性能取决于本机 GPU 和浏览器渲染能力。可以尝试降低分辨率、关闭其他占显存的程序,或换成图片 / 视频模式做精度评估,摄像头模式更适合做接入验证。

怎么对比两个版本的差异

当前页面只支持单模型测试,不能并行对比。如果想对比 Version A 和 Version B,先选 A 跑一遍同一批图,截图保存,再切到 B 跑同样这批图做目视对比。下一版会加入并排对比能力。

流地址拉不到画面

常见原因:地址拼写错误、流服务需要鉴权但没填凭据、跨域被拒、流编码格式不被浏览器支持。建议先用 VLC 等工具验证流地址本身可播,再回到测试页接入。