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
羽毛球分组比赛记分
小程序二维码

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

小夜