【问题标题】:How to extract frames from videos at a certain fps (ex. 15fps) using nvidia-dali?如何使用 nvidia-dali 从特定 fps(例如 15fps)的视频中提取帧?
【发布时间】:2021-12-31 14:26:04
【问题描述】:

我已尝试遵循 DALI 的官方文档和示例。但是我对以下三个变量的含义和使用感到茫然-

  1. batch_size
  2. sequence_length
  3. n_iter

官方文档链接-https://docs.nvidia.com/deeplearning/dali/user-guide/docs/examples/sequence_processing/video/video_reader_simple_example.html

提前致谢。

【问题讨论】:

    标签: video frame nvidia video-processing


    【解决方案1】:

    回答标题中的问题,DALI 使用默认设置从输入视频中加载所有帧。如果您的视频以 30 FPS 录制,您可以通过设置参数 stride=2 将其读取为 15 FPS(DALI 将每秒跳过一帧)。

    解释教程中变量的含义:

    1. batch_size: DALI算子可以在GPU上运行(当设置device="gpu"时),GPU是为并行计算而设计的。 batch_size 变量告诉 DALI 要并行处理多少视频。
    2. sequence_length:告诉 DALI 将在输出中包含多少帧。
    3. n_iter:仅供教程使用。下面示例中的循环将多次运行管道。

    【讨论】:

    • 非常感谢您解决这个问题。让我们假设一个目录中有 100 个任意长度的视频,我想处理这些视频。所有视频中的所有帧都标记在一个文件中。我如何使用 DALI 做到这一点?
    • 帧的标签到底是怎样的?是视频抠图、分割还是其他?地面实况如何存储?每个输入视频是否都有带有标签的视频?
    • 所有视频中的每一帧都由一个整数值标记,代表域中的类。例如,有三个类,所有的帧都标有0/1/2。此标签存储在另一个文件中。它不像视频中的所有帧都有视频级别标签。它更像是所有视频的帧级标签。
    • 这是一个使用 DALI PyTorch 插件的示例:gist.github.com/mwawrzos/4ef080b79305429a495b6a10b614c118
    • 非常感谢演示。我正在使用 keras。因此,我为 tensorflow 搜索了 DALIGenericIterator。但遗憾的是我找不到它。
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2015-11-06
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 2021-09-15
    相关资源
    最近更新 更多