動作篩選器模型可將長片段裁剪為包含動作事件的較短片段,藉此縮短運算時間。您可以使用這個模型設定動作感應度、事件最短長度、回溯期和冷卻期,以便根據用途調整動作事件的輸出內容。
模型參數
動作篩選器模型有四個控制參數,可用來調整事件區段和模型傳回方式。
參數 | 說明 | 旗標 | 預設值 | 可用的值 |
---|---|---|---|---|
事件錄製時間長度下限 | 動作事件結束後,系統會擷取的動作事件最短長度 (以秒為單位)。 | --min-event-length INT |
10 (秒) | 1 - 3600 |
動作偵測靈敏度 | 模型動作事件篩選的靈敏度。高靈敏度可更快回應動作,並提供更嚴格的動作篩選功能,因此可偵測到更多動作。 | --motion-sensitivity STRING |
"medium" |
"high" 、"medium" 或 "low" |
回溯期 | 服務在偵測到動作事件前,所擷取的影片內容長度 (以秒為單位)。 | --lookback-length INT |
3 (秒) | 0 - 300 |
等待期 | 動作事件結束後,就會進入指定時間長度的冷卻期。在等待期期間,模型不會註冊動作事件。 | --cooldown-length INT |
300 (秒) | 0 - 3600 |
動作感應靈敏度
執行動作篩選器時,動作敏感度在決定模型從影片串流建立多少分段影片時扮演最重要的角色。
動作偵測靈敏度越高,模型偵測雜訊和較小動作的靈敏度就越高。 建議在光線穩定且有小型移動物體 (例如遠距離拍攝人像) 的環境中使用較高感光度設定。
相反地,低靈敏度 對光線干擾和細微動作的敏感度最低。這項設定適合光線干擾較多的情境,例如戶外環境。由於這項設定是篩選功能中最積極的選項,因此會忽略小物件的動作。
事件錄製時間長度下限
最小事件長度是指模型停止在影格中偵測動作事件後,所擷取的影片長度。預設值為 10 秒,但您可以指定 1 秒至 3,600 秒之間的時間。如果在最短事件長度期間偵測到新動作,系統會在偵測到新動作事件的期間,將新動作加入目前的影片片段,加上最短事件長度的新倒數。
舉例來說,假設有一部影片拍到十字路口,畫面中出現兩輛正在移動的車輛。第一輛車在前三秒內通過,第二輛車則在兩秒後通過。如果將最短事件長度設為 1 秒,就會有兩個含有動作的影片片段。一個影片片段包含第一輛車,另一個片段則包含第二輛車。不過,如果將動作事件設為三秒,則只有一個含有動作的影片片段。在第一輛車出現後的兩秒內,第二輛車就會出現在畫面中。
設定最小事件長度時,請考量影片中動作事件的發生頻率,以及您要儲存的影片片段數量。如果動作事件發生頻率很高,但您希望將大部分動作事件儲存為個別的影片片段,請將最小事件長度設為較短的時間。如果動作事件發生的頻率不高,但您想將事件分組,請將最短事件長度設為較長的時間,以便在同一影片片段中擷取多個事件。
回溯期
回溯時間範圍是指偵測到動作事件前不久的時間。這個視窗可用於查看模型偵測到動作事件之前的畫面秒數。回溯期預設值為三秒,但您可以指定 0 到 300 秒的範圍。
您可以使用回溯視窗,查看移動物體的來源。您也可以使用回溯期,查看發生動作事件前幾秒的畫面內容。如果影格中出現小型移動物體,但系統未將其偵測為動作事件,回溯視窗就會派上用場。不過,影格中移動的小物體可能會導致系統偵測到較大的動作事件。
等待期
冷卻期是指在動作事件和事件最短長度擷取後的一段時間。在等待期期間,偵測到的動作不會觸發動作篩選器。這個期間的範圍介於 0 秒至 3,600 秒之間。預設值為 300 秒。
冷卻期可讓使用者節省運算成本。如果您預期影格中會出現動作,且只想瞭解動作發生的時間,而不在乎之後發生什麼事,那麼冷卻期就是實用的設定。
使用模型
您可以使用 Vertex AI Vision SDK 使用動作篩選器模型。
使用 vaictl
指令列工具,指定 applying encoded-motion-filter
並傳入值來設定控制參數,藉此啟用模型。
Vertex AI Vision SDK
如要使用動作篩選器模型傳送要求,您必須安裝 Vertex AI Vision SDK。
進行下列變數替換:
- PROJECT_ID:您的 Google Cloud 專案 ID。
- LOCATION_ID:您的位置 ID。例如,
us-central1
。支援的地區。瞭解詳情。 - LOCAL_FILE.EXT:本機影片檔案的檔案名稱。例如:
my-video.mp4
。 - STREAM_ID:您在叢集中建立的串流 ID。例如:
input-stream
。 --motion-sensitivity
:動作事件篩選的靈敏度。選項包括high
、medium
、low
。--min-event-length
:動作事件的時間長度下限 (以秒為單位)。預設值為10
秒。可用的值:1
-3600
。--lookback-length
:動作事件開始前回溯期間的時間長度,以秒為單位。預設值為3
秒。可用的值:0
-300
。--cooldown-length
:動作事件發生後的冷卻時間,以秒為單位。預設值為300
秒 (5 分鐘)。可用的值:0
-3600
。--continuous-mode
:是否以連續模式傳送。預設值為true
。- OUTPUT_DIRECTORY:您要儲存輸出影片片段 MP4 檔案的目錄。
查看指令資訊
使用下列指令,查看指令和其選用參數的更多資訊:
vaictl send video-file applying motion-filter -h
使用動作篩選器模型篩選本機檔案內容
這項指令只會傳送模型偵測到動作的影片片段。
vaictl -p PROJECT_ID \
-l LOCATION_ID \
-c application-cluster-0 \
--service-endpoint visionai.googleapis.com \
send video-file --file-path LOCAL_FILE.EXT \
applying motion-filter --motion-sensitivity=medium \
--min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to streams STREAM_ID --loop
使用動作篩選器模型篩選本機檔案內容並儲存輸出內容
這個指令會使用 --continuous_mode
旗標,為每個動作片段輸出個別的影片檔案。
vaictl -p PROJECT_ID \
-l LOCATION_ID \
-c application-cluster-0 \
--service-endpoint visionai.googleapis.com \
send video-file --file-path LOCAL_FILE.EXT --continuous-mode=false \
applying motion-filter --motion-sensitivity=medium \
--min-event-length=10 --lookback-length=3 --cooldown-length=0 \
to mp4file --mp4-file-path=OUTPUT_DIRECTORY
最佳做法
動態篩選器是輕量型模型,可在傳輸期間減少解碼已編碼影片的運算時間。為確保濾鏡運作正常,請將靜態相機直接放在感興趣的物體上。避免在畫面背景中加入不重要的移動物體。舉例來說,如果影格含有背景物件 (例如移動中的樹木、持續的車流或移動物件的陰影),系統就會偵測這些不重要的主體的動作。
將感興趣的物件放在前景,並盡可能減少背景中持續移動的物件數量。摘要:
- 使用靜態相機。
- 請務必避免背景持續移動。
- 系統不會偵測到微小動作。
- 確保物件足夠大。
室內最佳做法
對於室內環境,如果光線穩定且背景移動量不大,請遵循下列室內最佳做法:
- 提高敏感度。影格中的物體通常較大,影格中的雜訊也較少。
- 使用較短的回溯期和事件長度。室內移動速度較慢,且移動空間有限。
遵循這些室內做法,可讓動作篩選器在最短時間內記錄物體移動情形。
戶外最佳做法
在戶外環境中,戶外場景中的變數較多,可能會影響濾鏡的效能。舉例來說,移動樹木的陰影或畫面中陽光的變化,都會被視為動作篩選器模型的動作。請考慮下列條件,並找出最佳回應方式。
情境 1:
例如拍攝偶爾有行人經過的人行道。這些動作的速度可以像散步一樣緩慢,也可以像滑板滑過一樣快速。請參考以下指南:
- 將最小時間範圍和回溯期設為較長的值。動作的速度範圍比室內情境更廣,因此增加最小視窗長度和回溯期,可讓模型擷取完整動作事件。
- 將動作靈敏度調高。戶外環境包含更多自然移動的物體,例如移動的樹木和陰影。如要只關注人類和自行車等感興趣的物體,請將動作敏感度設為較高,以免不斷偵測背景物體。
情境 2:
請考慮使用另一部影片,以街道為主題,街道上有車輛經常行駛,偶爾有行人走過。請參考以下指南:
- 將靈敏度設為中或低:靈敏度越低,模型就能在影格中擷取各種移動物件的大小。
- 將回溯期和最短事件長度設為較短的值。街道上的汽車和其他車輛行駛速度遠高於行人和自行車。設定這些參數的值越短,就代表動作速度越快,且物件進入和離開影格時的速度也越快。
- 設定短暫的冷卻時間。由於移動速度較快,下一個物件可能會在第一個物件進入影格後不久進入。因此,我們將冷卻時間縮短。
限制
由於動作篩選器主要取決於每個影格中的動作向量,因此請注意以下幾項限制。
- 攝影機角度:使用靜態相機,因為移動中的攝影機畫面會不斷有動作。
- 物件大小:請盡量將主體置中,讓主要物件在畫面中顯示足夠大,以便透過動作濾鏡獲得最佳成效。
- 光線:光線變化 (例如影格中亮度突然改變或陰影劇烈移動) 可能會降低模型效能。動態範圍低,導致整部影片的亮度色調相似,進而影響模型解讀動作的方式,並降低模型效能。
- 攝影機位置:模型設計用於偵測畫面中的動作。這包括背景動作,例如風吹動樹木或物體離開畫面而產生的陰影。如果影格中大部分都指向會產生這些動作的背景物件,可能會影響模型效能。