Skip to content
Guides1 min read

3D 物體、時間片段和智慧體軌跡上的標註者間一致性

把結構化標註簡化為標籤名,會讓所有標註者都顯得一致。應按 IoU 匹配 3D 框和時間片段,並逐步為智慧體軌跡打分。

Potato Team

要衡量結構化標註上的一致性,就要比較結構本身。按 IoU 把一位標註者的 3D 框或時間片段與另一位的相匹配,把未匹配的物件計為不一致,並逐步為智慧體軌跡打分,讓每一步都成為計算 kappa 或 alpha 的一個單元。

當每個條目只得到一個標籤時,標註者間一致性很容易定義。而如今的許多工給一個條目標出的是一組東西,例如雷射雷達掃描中圍住每輛車的長方體、標明每位說話人何時說話的片段,或者對智慧體每一步的判定。為“每個條目一個標籤”設計的度量,必須把這些結構簡化為它能比較的東西,而最省事的簡化方式,也就是簡化為標籤名,會讓任意兩位標註者都顯得一致。

標籤名帶來的完全一致

這種簡化保留標籤名,丟掉其餘一切。兩位標註者在同一次雷射雷達掃描上各畫了三個標為“car”的框,簡化後都變成“car”,即使他們的框位置各不相同,也會顯得完全一致。

在 2.11 版之前,Potato 的逐方案一致性介面 /admin/api/agreement 就是這樣處理結構化方案的,結果在智慧體軌跡、片段、區域和 3D 物體上,任意兩位標註者都顯示為完全一致。在一項困難的空間或時間任務上得到滿分,通常意味著度量丟掉了結構。在 2.11 中,這個介面不再報告結構化方案,而是指向位於 /admin/iaa 的完整一致性報告,後者會比較結構本身。

匹配 3D 物體和時間片段

一組物件上的一致性從匹配開始。用一種重疊度量,把一位標註者的每個物件與另一位的至多一個物件配對,只有重疊高於閾值時,這一對才算同一個物件。時間片段用時間 IoU(交併比),即重疊部分的長度除以並集的長度;3D 物體用 3D IoU,即同樣的比值,只是換成體積。Potato 對片段的匹配閾值是 0.5,對 3D 物體是 0.25,因為同樣的小偏移在三維中損失的 IoU 比在二維中更多。一個沿每條軸各偏移自身尺寸 10% 的框,2D IoU 約為 0.68,而 3D IoU 只有約 0.57。

匹配之後,每個匹配對貢獻它的 IoU,標籤不同的匹配對貢獻其 IoU 的一半,任何一方每個未匹配的物件都貢獻零。條目的一致性是總分除以物件數,匹配對只計一次。因此,漏標一半物件的標註者,即使標出的物件完美無缺,得分也會很低;而兩位都什麼也沒標的標註者則算作一致。

對於 3D 物體(spatial_annotation)以及 temporal_grounding 和 tiered_annotation 下的時間片段,/admin/iaa 為每個方案報告兩個數字:

  • mean_agreement,即在每個有兩位或以上標註者的條目上,對每一對標註者計算的上述條目級得分的平均值;以及
  • mean_object_count_diff,即兩位標註者所標物件數量之差的平均值。

數量差區分了一組物件可能出現不一致的兩種方式。一致性低而數量差接近零,意味著人們找到了相同的物件,只是位置放得不同。數量差大,則意味著一位標註者找到了另一位漏掉的物件,這指向的是標註指南把什麼算作一個物件。

這兩個數字都沒有做機會校正。空間一致性的機會基線需要一個模型來描述標註者隨機不一致時物件會落在哪裡,而 Potato 只為 2D 框和多邊形構建了這樣的模型,詳見幾何形狀上的一致性。對時間片段,同樣的方法行不通,因為當各段剪輯長度不同時,取自另一段剪輯的片段並不是有意義的隨機比較,時間維度上的一致性解釋了這一點。請在同一任務的不同試點輪次之間比較這些數字,因為在同一任務裡,放置一個物件的難度是固定的。

2.11 中有一個邊界情況發生了變化。兩個相同的零長度片段,也就是兩位標註者在同一時刻標出的一個瞬間,其 IoU 是 0 除以 0。它們過去被計為完全不一致,現在算作一致。

智慧體軌跡的步驟級一致性

智慧體軌跡是一串步驟,各種軌跡方案(process_reward、trajectory_eval、tool_call_review、failure_attribution、gui_trajectory)要求為每一步給出一個標籤。按標籤集合為軌跡打分,會重蹈標籤名的覆轍;按整體判定打分,又會丟掉步驟。

/admin/iaa 把每條軌跡的每一步都當作一個獨立單元。兩位標註者為第 12 條軌跡的第 4 步打分,就貢獻一對資料,然後在所有這樣的單元上計算名義尺度的 Krippendorff's alpha 和 Cohen's kappa,以及百分比一致率。與上面的集合度量不同,這兩個係數都做了機會校正,所以過程獎勵任務上 0.6 的步驟級 alpha,與任何分類任務上的 alpha 處在同一尺度上。標註引擎在拿 LLM 評審與人對比打分時,也用同樣的方式解析步驟標籤,它的得分是雙方都標註過的步驟中標籤不同的比例。

為每個條目分配兩位標註者

/admin/iaa 不需要任何配置。它會為每個有兩位或以上標註者作答的條目打分,所以功夫在分配上。要讓每個條目都有兩位標註者,就把每個條目的標註者數設為兩位,並優先發放標註次數最少的條目:

yaml
assignment_strategy: least_annotated
num_annotators_per_item: 2

每個條目兩位標註者是這份報告所需的最低數量。在一個較小的重疊集上,一條不尋常的軌跡或一次雷射雷達掃描,就可能讓平均值變動到足以改變你結論的程度,所以請在標註開始之前而不是之後規劃好重疊。較早的 agreement_metrics 配置塊用於設定面板上的逐方案數字,從 2.11 起,這些數字會跳過上述方案並指向 /admin/iaa。

各試點輪次之間的一致性與數量差

請把 mean_agreement 與 /admin/iaa 在它旁邊報告的數量差和標註者對數一起解讀。如果兩輪試點之間一致性下降而數量差穩定,問題出在位置上,所以關於框的鬆緊或片段邊界的指南需要改進。如果數量差上升,問題出在什麼算作一個物件或一個事件上。對於智慧體軌跡,請把步驟級 alpha 與同一批標註者在同一研究中一個更簡單的分類問題上達到的 alpha 作比較,這有助於把難標的步驟標籤與不可靠的標註者區分開來。

延伸閱讀