DSH 杂草图像标注协作插件:协议与复核在插件,标注策略在 Agent

前言

在 DSH 里做杂草或田间作物的视觉数据集,常见两条路:用独立标注工具把「怎么标」写死在界面里,换物种或换拍摄条件就要改配置甚至改代码;要么全靠对话让模型逐张描述,难以落成可追溯的 Pascal VOC 目录结构。DeepSeek Harness 的插件机制允许把数据契约、存储、可视复核和导出固化在 Host 侧,而把经典 CV、检测器、多模态模型或手工策略留给对话里的 Agent。

下面介绍社区工作流类插件 dsh-weed-annotation-assistant(维护者 destinywalker2025-design):插件只管协议与存档,怎么标注由 Agent 现场决定;侧栏负责看和挑错,不能自行发起标注。

这是什么

dsh-weed-annotation-assistant 是面向 DSH 的杂草图像标注协作协议实现:插件持有数据契约、review.json / flags.json 真源、侧栏复核与 anno_export 导出;对话中的 Agent 通过 anno_* 工具建项目、分批出稿、根据人工标记返工。插件不内置任何检测/分割模型,也不内置物种类别——类别完全来自你本地的参考图目录与标签说明文档。

与「又一个全功能标注桌面软件」的区别在于职责拆分:人通过复核面板标记四类错误;AI 读取标记后 anno_commit 修正;干净标签与问题原图在导出时自动分离,避免错标混入训练集。

核心功能

输入与输出

插件只认本地三样输入(路径由你在对话里指定,anno_open 会校验缺项并报错):

images\     待标注图片,jpg / png / bmp / webp(必需,平铺在目录下)
refs\       每个杂草种类一个子文件夹 + 各标签英文名的说明文档(必需)
labeled\    已有手工标注,Pascal VOC(可选)

导出侧为 Pascal VOC 布局,并附带统计报告:

<导出目录>\
├─ Annotations\   未被判错的标注(每株杂草一个多边形 + 英文类别名)
├─ JPEGImages\    全部原图
├─ flagged\       被人工标错的图(对应 XML 不导出)
└─ report.json    总数、各类数量、错因清单

标注几何与训练注意

输出中的几何是 <polygon> 多边形,不是检测框架默认读取的 <bndbox> 矩形框。若直接把 XML 交给只认外接矩形的 YOLOv5/v8 等流程,可能整批被当成背景图且不一定报错。训练前需在训练侧自行转换(例如多边形取外接矩形,或转成分割格式)。这是刻意设计:多边形更贴合叶片轮廓,复核界面也依赖多边形展示。

Agent 工具与唯一写入口

工具 作用摘要
anno_open 校验输入、建项目、确定类别
anno_worklist 按条件取待处理文件
anno_commit 唯一写入口:写入或修正标注
anno_review 进度、类别分布、人工标记聚合
anno_export 三目录导出 + report.json
anno_baseline 可选经典 CV 初稿(需 Python 与 opencv)

anno_commit 单条结果可含 polygon 或 bbox、class、empty、confidence、method 等字段;项目内部以 <out>/review.json 为真源,Annotations/*.xml 由真源派生并可重建。

复核侧栏

安装并重启 DSH 后,侧栏出现「标注复核」。该面板不能自己发起标注;须先在对话中让 Agent 建项目并提交标注,存在 review.json 后界面才正常显示缩略图与多边形。控件包括刷新、返工(整理标记供粘贴回对话)、导出,以及四类错误码(类别错、框偏移、漏标、该空)与筛选能力。Agent 提交后界面约在 3 秒内自动刷新。

安装与启用

插件面向 DSH 0.2.x(README 记载桌面端 0.2.1 实测、CLI 0.1.0-rc.6 可安装)。需要 Node.js ≥ 20。许可证为 MIT。npm 包当前版本为 1.1.0(见仓库 package.json);安装后依赖记为 ^1.x,补丁版本会自动跟上。插件市场尚未收录,请用命令行安装。

命令行(推荐):

dsh plugin --profile <你的profile> add dsh-weed-annotation-assistant

桌面客户端的 profile 固定为 desktop:

dsh plugin --profile desktop add dsh-weed-annotation-assistant

装完重启 DSH。离线安装可从 GitHub Releases 下载 dsh-weed-annotation-assistant-1.0.1.tgz,再执行:

dsh plugin --profile desktop add <tgz 的绝对路径>

DSH 插件在本机以当前 DSH 进程权限运行,安装前应自行查看仓库源码与许可证,确认符合你的环境与合规要求。

典型用法

准备目录

示例布局(盘符与路径按本机修改):

D:\data\
├─ images\              待标注图片
├─ refs\
│   ├─ 稗草1\           该类样例图
│   ├─ 马齿苋\
│   └─ labels.md        子文件夹与英文标签映射(格式任意,由 Agent 读取)
└─ labeled\             可选,已有 VOC

标签文档示例:

稗草1   → barnyard_grass
马齿苋  → purslane

Agent 读取后把 {子文件夹: 英文名} 作为 classMap 传给插件。

对话与工具顺序

README 给出的协作顺序如下:

你:帮我标注这批图,图片在 D:\data\images,参考图在 D:\data\refs,输出到 D:\data\out

AI:anno_open(images=..., refs=..., out=..., classMap={...})
    → 校验输入、建项目、返回类别与待标数量
AI:anno_worklist(out, filter="unlabeled")
    → 分批取文件(可调 anno_baseline 先出一版初稿)
AI:anno_commit(out, items=[{file, class, polygon, method:"ai"}])
    → 唯一写入口

你:侧栏「标注复核」翻一遍,把错的标红

AI:anno_review(out) → 按四类拿到标记 → anno_commit 修正
你:刷新 → 红框消失
AI:anno_export(out) → 三个目录

典型规模参考(来自 README):单批约 1000~2000 张、每张 1~5 株杂草;参考图每类 3~20 张即可,仅用于 Agent 认类,不参与训练导出。

适用场景与注意

适合谁:已在 DSH 中以 Agent 驱动数据准备的团队;需要可换标注算法(基线 CV、检测器、多模态或人工)但希望 VOC 目录、复核与导出规则统一;类别随 refs 更换、不希望改插件代码。

应当知晓的限制:

  • 复核页不含多边形绘制工具,漏标等问题需 Agent 重新定位;仍无法解决时,原图留在 flagged/ 交回人工。
  • 插件不提高单张标注精度,只保证流程可追溯、错误可回流、导出时隔离错标。
  • 可选 anno_baseline 需要 Python 3.10+ 与 opencv-python、numpy;不安装也可直接 anno_commit。
  • 需要 DSH 提供 tools、webServer 等服务能力。

结尾

dsh-weed-annotation-assistant 把杂草图像标注拆成「Agent 决定怎么标 + 插件守住数据契约与交付形态」,适合在 DSH 工作流里迭代田间视觉数据集。更多说明见仓库 README 与 docs/SPEC.md。

  • 社区目录页:https://www.skillhub.cn/plugins/destinywalker2025-design/dsh-weed-annotation-assistant
  • 源码与文档:https://github.com/destinywalker2025-design/dsh-weed-annotation-assistant
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜