快捷方式

clips_at_regular_timestamps

torchcodec.samplers.clips_at_regular_timestamps(decoder, *, seconds_between_clip_starts: float, num_frames_per_clip: int = 1, seconds_between_frames: Optional[float] = None, sampling_range_start: Optional[float] = None, sampling_range_end: Optional[float] = None, policy: Literal['repeat_last', 'wrap', 'error'] = 'repeat_last') FrameBatch[原始碼]

在規則(等間隔)時間戳處取樣clips

注意

為了與現有的取樣 API(如 torchvision)保持一致,此取樣器接受 seconds_between_clip_starts 引數而不是 num_clips。如果您發現支援 num_clips 會很有用,請透過開啟功能請求告訴我們。

引數:
  • decoder (VideoDecoder) – 用於從中取樣 clips 的 VideoDecoder 例項。

  • seconds_between_clip_starts (float) – 每個 clip 開始之間的間隔(以秒為單位)。

  • num_frames_per_clip (int, 可選) – 每個 clip 的幀數。預設為:1。

  • seconds_between_frames (floatNone, 可選) – clip 中每幀之間的時間(以秒為單位)。更準確地說,這定義了*幀取樣點*之間的時間,即我們取樣幀的時間戳。由於幀跨越時間間隔,因此 clip 中幀的實際開始時間可能不精確地間隔 seconds_between_frames - 但平均而言,它們會是。預設為 None,設定為平均幀持續時間(1/average_fps)。

  • sampling_range_start (floatNone, 可選) – 取樣範圍的開始,定義了 clip 可能*開始*的第一個時間戳(以秒為單位)。預設值:None,對應於影片的開始。(注意:有些影片以負值開始,因此預設值不是 0)。

  • sampling_range_end (floatNone, 可選) – 取樣範圍的結束,定義了 clip 可能*開始*的最後一個時間戳(以秒為單位)。此值是排他的,即 clip 只能在 [sampling_range_start, sampling_range_end) 中開始。如果為 None(預設),則自動設定該值,以確保 clips 永遠不會超出影片的結尾,即設定為 end_video_seconds - (num_frames_per_clip - 1) * seconds_between_frames。當 clip 超出影片結尾時,policy 引數定義瞭如何構造此類 clip。

  • policy (str, 可選) –

    定義如何構造超出影片結尾的 clips。最好透過示例來描述:假設影片中最後一個可行的(可跳轉的)時間戳為 10.9,並且一個 clip 被取樣為從時間戳 10.5 開始,num_frames_per_clip=5seconds_between_frames=0.2,那麼 clip 中幀的取樣時間戳應為 [10.5, 10.7, 10.9, 11.1, 11.2]。但是 11.1 和 11.2 是無效的時間戳,因此 policy 引數定義瞭如何用有效取樣時間戳替換這些幀。

    • ”repeat_last”:重複 clip 的最後一幀。我們將獲得取樣時間戳為 [10.5, 10.7, 10.9, 10.9, 10.9] 的幀。

    • ”wrap”:迴圈到 clip 的開頭。我們將獲得取樣時間戳為 [10.5, 10.7, 10.9, 10.5, 10.7] 的幀。

    • “error”:引發錯誤。

    預設為“repeat_last”。請注意,當 sampling_range_end=None(預設)時,此 policy 引數不太可能相關。

返回:

取樣到的 clips,作為 5D FrameBatchdata 欄位的形狀為(num_clips, num_frames_per_clips, ...),其中 ... 為(H, W, C)或(C, H, W),具體取決於 VideoDecoderdimension_order 引數。 pts_secondsduration_seconds 欄位的形狀為(num_clips, num_frames_per_clips)。

返回型別:

FrameBatch

clips_at_regular_timestamps 的用法示例

如何取樣影片片段

如何取樣影片片段

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源