跳到主要内容

模型测试与检测

这个功能解决什么问题​

训练完一个模型,发布之前你想先看看它在真实图片上效果怎么样。模型上线之前,你还需要拿它跑一段视频,或者接到监控视频流上做实时检测验证。

模型测试页把这些验证统一到一个界面:选一个可用的模型制品,挑一种输入模式,调好置信度和 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 的模型选择器与输入模式切换

三种输入模式​

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

字段类型必填默认值说明
图片上传模式可选默认上传一张或多张本地图片,立即跑检测。适合快速验证单图效果和调阈值。选好模型、上传成功后自动检测,无需手动点按钮。
视频文件模式可选—上传一段本地视频,逐帧检测并播放叠加效果。适合评估模型在连续帧上的稳定性。
视频流 URL模式可选—输入 RTSP / RTMP / HTTP 流地址做实时检测。适合接入已有监控或推流服务。
视频流由服务器侧拉流

视频流模式下,流地址由平台服务器负责打开和拉取(服务器需要有到摄像头 / 流媒体的网络连通性),浏览器从服务器逐帧取回画面并叠加检测结果——浏览器不直接连接流地址,因此不受浏览器跨域限制。如果画面一直不出来,优先排查服务器到摄像头的网络连通性和地址中的账号密码。

参数调整​

参数调整面板
图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):红色,模型不确定,可能是误检或边界样本。
用置信度等级做快速抽检

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

关于结果保存​

测试页当前不提供结果导出(下载叠加图 / 导出叠加视频)。检测结果只在画布上实时呈现,关闭页面或切换输入后即不再保留。

需要留存或交付检测结果时:

  • 验证阶段的原始文件请在上传前自行保管。
  • 需要在生产环境跑检测,请通过模型导出拿到 ONNX / TensorRT 等部署格式,在业务侧集成。

操作流程​

  1. 确认前置条件

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

  2. 选择模型制品

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

  3. 选输入模式

    按需切到图片 / 视频 / 视频流模式,上传文件或输入流地址。视频和视频流检测过程中画面会显示实时 FPS 和红色 REC 指示。

  4. 调阈值

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

  5. 查看与导出

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

常见问题​

模型选择器是空的

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

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

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

视频流画面卡顿

视频流实时检测的流畅度取决于服务器拉流质量和推理速度。如果画面延迟明显,可以先用图片 / 视频文件模式做精度评估——视频流模式更适合做接入验证和持续监控场景的联调。

怎么对比两个版本的差异

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

流地址拉不到画面

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