Skip to content

影片標註

標註影片的時間片段、分類幀、標記關鍵幀和跟蹤物件。

Potato 提供全面的影片標註功能,包括時間分割、幀分類、關鍵幀標記和物件跟蹤。

標註模式

模式描述使用場景
segment標記時間範圍場景檢測、說話人輪次
frame分類單個幀幀級標註
keyframe標記重要時刻高亮檢測
tracking跨幀跟蹤物件物件跟蹤
combined在一個介面中使用所有模式複雜標註任務

基本配置

yaml
annotation_schemes:
  - name: "video_segments"

配置選項

欄位類型預設值描述
namestring必填標註的唯一識別符號
descriptionstring必填顯示給標註者的說明
annotation_typestring必填必須為 "video_annotation"
labelslist必填可用的標註標籤
modestring"segment"標註模式
min_segmentsinteger0最少所需標註數
max_segmentsintegernull最大允許標註數
timeline_heightinteger70時間軸高度(畫素)
overview_heightinteger40概覽欄高度(畫素)
zoom_enabledbooleantrue啟用時間軸縮放
playback_rate_controlbooleantrue顯示播放速度選擇器
frame_steppingbooleantrue啟用逐幀導航
show_timecodebooleantrue顯示幀號和時間
video_fpsinteger30用於計算的影片幀率

標籤配置

標籤可以是簡單字串或帶顏色和鍵盤快捷鍵的詳細物件:

yaml
labels:
  - name: "intro"
    color: "#4ECDC4"
    key_value: "1"
  - name: "content"
    color: "#3B82F6"
    key_value: "2"
  - name: "outro"
    color: "#8B5CF6"
    key_value: "3"

按模式的示例

片段模式(預設)

標記帶有開始和結束時間的時間範圍:

yaml
annotation_schemes:
  - name: "scene_detection"

幀模式

分類單個幀:

yaml
annotation_schemes:
  - name: "frame_quality"

關鍵幀模式

標記重要時刻:

yaml
annotation_schemes:
  - name: "highlights"

跟蹤模式

使用邊界框跨幀跟蹤物件:

yaml
annotation_schemes:
  - name: "object_tracking"

組合模式

在一個介面中使用多種標註類型:

yaml
annotation_schemes:
  - name: "comprehensive"

影片顯示

用於簡單影片播放而不進行標註(例如與其他標註類型配合),使用 video 類型:

yaml
annotation_schemes:
  - name: "video_player"

鍵盤快捷鍵

按鍵操作
Space播放/暫停
, / .上一幀/下一幀
[標記片段起始
]標記片段結束
Enter建立片段
K標記關鍵幀
C分類當前幀
Delete刪除選中的標註
1-9選擇標籤
+ / -放大/縮小

資料格式

輸入資料

資料檔案應包含影片路徑或 URL:

json
[
  {
    "id": "video_1",
    "video_url": "https://example.com/videos/sample1.mp4",
    "description": "Meeting recording - identify speakers"
  },
  {
    "id": "video_2",
    "video_url": "/data/videos/sample2.mp4",
    "description": "Activity video - label actions"
  }
]

輸出格式

輸出因模式而異:

片段模式:

json
{
  "id": "video_1",
  "annotations": {
    "scene_detection": [
      {
        "start": 0.0,
        "end": 5.2,
        "start_frame": 0,
        "end_frame": 156,
        "label": "indoor"
      }
    ]
  }
}

幀模式:

json
{
  "id": "video_1",
  "annotations": {
    "frame_quality": [
      {
        "frame": 120,
        "time": 4.0,
        "label": "good"
      }
    ]
  }
}

關鍵幀模式:

json
{
  "id": "video_1",
  "annotations": {
    "highlights": [
      {
        "frame": 450,
        "time": 15.0,
        "label": "goal",
        "note": "First goal of the match"
      }
    ]
  }
}

跟蹤模式:

json
{
  "id": "video_1",
  "annotations": {
    "object_tracking": [
      {
        "id": "track_1",
        "label": "ball",
        "frames": [
          {"frame": 0, "bbox": {"x": 100, "y": 200, "w": 30, "h": 30}},
          {"frame": 1, "bbox": {"x": 105, "y": 198, "w": 30, "h": 30}}
        ]
      }
    ]
  }
}

支援的影片格式

  • MP4(推薦)
  • WebM
  • MOV
  • OGG

影片物件跟蹤與關鍵幀插值

v2.2.0 新增

跟蹤模式現在支援關鍵幀插值,允許標註者在關鍵幀標記物件位置,中間幀會自動插值。這顯著加快了物件跟蹤任務。

yaml
annotation_schemes:
  - name: "tracking"

工作流程

  1. 導航到關鍵幀並在物件周圍繪製邊界框
  2. 跳過幾幀並重新定位邊界框
  3. 系統自動插值中間幀的位置
  4. 根據需要檢視和調整插值位置

完整的有效標註模式集為:segmentframekeyframetrackingcombined

技術說明

  • 使用 Peaks.js 進行時間軸視覺化
  • 標準 HTML5 影片元素(無需額外伺服器依賴)
  • 時間軸支援拖動選擇建立片段

最佳實踐

  1. 使用壓縮影片 - 大檔案會減慢載入速度
  2. 設定合適的幀率 - 使 video_fps 與實際影片幀率匹配
  3. 啟用逐幀步進 - 精確幀級標註所必需
  4. 使用播放速率控制 - 慢動作有助於精細工作
  5. 提供清晰的片段定義 - 明確什麼構成片段邊界
  6. 使用獨特的顏色 - 使標籤在視覺上容易區分
  7. 考慮時間軸高度 - 對於複雜的分割任務可以增加高度