Hub documentation
Набор данных видео
Набор данных видео
В этом руководстве показано, как настроить репозиторий датасета с видеофайлами.
Набор данных с поддерживаемой структурой и форматами файлов автоматически получает Dataset Viewer на своей странице в Hub.
Дополнительная информация о ваших видео — например, субтитры или ограничивающие рамки для обнаружения объектов — загружается автоматически, если вы включите эти данные в файл метаданных (metadata.csv/metadata.jsonl/metadata.parquet).
В качестве альтернативы видео могут храниться в файлах Parquet или в TAR-архивах, следующих формату WebDataset.
Только видео
Если ваш набор данных состоит только из одного столбца с видео, вы можете просто сохранить файлы видео в корне:
my_dataset_repository/ ├── 1.mp4 ├── 2.mp4 ├── 3.mp4 └── 4.mp4
или в подкаталоге:
my_dataset_repository/
└── videos
├── 1.mp4
├── 2.mp4
├── 3.mp4
└── 4.mp4Одновременно поддерживаются несколько форматов, включая MP4, MOV и AVI.
my_dataset_repository/
└── videos
├── 1.mp4
├── 2.mov
└── 3.aviЕсли у вас несколько разбиений, вы можете разместить видео в каталогах с соответствующими именами:
my_dataset_repository/
├── train
│ ├── 1.mp4
│ └── 2.mp4
└── test
├── 3.mp4
└── 4.mp4См. Имена файлов и разбиения для получения дополнительной информации и других способов организации данных по разбиениям.
Дополнительные столбцы
Если вы хотите добавить дополнительную информацию о вашем наборе данных, например текстовые подписи или ограничивающие прямоугольники, добавьте её в виде файла metadata.csv в вашем репозитории. Это позволяет быстро создавать наборы данных для различных задач компьютерного зрения, таких как генерация видео или обнаружение объектов.
my_dataset_repository/
└── train
├── 1.mp4
├── 2.mp4
├── 3.mp4
├── 4.mp4
└── metadata.csvФайл metadata.csv должен содержать столбец file_name, который связывает видеофайлы с их метаданными:
file_name,text
1.mp4,an animation of a green pokemon with red eyes
2.mp4,a short video of a green and yellow toy with a red nose
3.mp4,a red and white ball shows an angry look on its face
4.mp4,a cartoon ball is smilingВы также можете использовать файл JSONL metadata.jsonl:
{"file_name": "1.mp4","text": "an animation of a green pokemon with red eyes"}
{"file_name": "2.mp4","text": "a short video of a green and yellow toy with a red nose"}
{"file_name": "3.mp4","text": "a red and white ball shows an angry look on its face"}
{"file_name": "4.mp4","text": "a cartoon ball is smiling"}А для больших наборов данных или если вас интересуют расширенные функции получения данных, вы можете использовать файл Parquet metadata.parquet.
Относительные пути
Файл метаданных должен находиться либо в той же директории, что и связанные с ним видео, либо в любой родительской директории, как в этом примере:
my_dataset_repository/
└── train
├── videos
│ ├── 1.mp4
│ ├── 2.mp4
│ ├── 3.mp4
│ └── 4.mp4
└── metadata.csvВ этом случае столбец file_name должен содержать полный относительный путь к видеофайлам, а не только имя файла:
file_name,text
videos/1.mp4,an animation of a green pokemon with red eyes
videos/2.mp4,a short video of a green and yellow toy with a red nose
videos/3.mp4,a red and white ball shows an angry look on its face
videos/4.mp4,a cartoon ball is smilingФайлы метаданных нельзя размещать в подкаталогах каталога с видео.
Более общо, любая колонка с именем file_name или *_file_name должна содержать полный относительный путь к видео.
Классификация видео
Для наборов данных для классификации видео можно также использовать простую структуру: использовать каталоги для именования классов видео. Храните файлы видео в структуре каталогов, например:
my_dataset_repository/
├── green
│ ├── 1.mp4
│ └── 2.mp4
└── red
├── 3.mp4
└── 4.mp4Набор данных, созданный с этой структурой, содержит две колонки: video и label (со значениями green и red).
Вы также можете указать несколько разбиений. Для этого каталог вашего набора данных должен иметь следующую структуру (см. Имена файлов и разбиения для получения дополнительной информации):
my_dataset_repository/
├── test
│ ├── green
│ │ └── 2.mp4
│ └── red
│ └── 4.mp4
└── train
├── green
│ └── 1.mp4
└── red
└── 3.mp4Вы можете отключить автоматическое добавление столбца label в YAML-конфигурации. Если имена ваших каталогов не имеют специального значения, установите drop_labels: true в заголовке README:
configs:
- config_name: default # Name of the dataset subset, if applicable.
drop_labels: trueНаборы данных большого масштаба
Формат WebDataset
Формат WebDataset хорошо подходит для видеодатасетов большого масштаба. Он состоит из TAR-архивов, содержащих видео и их метаданные, и оптимизирован для потоковой передачи. Он полезен, если у вас большое количество видео и вам нужны потоковые загрузчики данных для обучения в большом масштабе.
my_dataset_repository/
├── train-0000.tar
├── train-0001.tar
├── ...
└── train-1023.tarЧтобы создать TAR-архив WebDataset, создайте каталог, содержащий видео и файлы метаданных для архивирования, и создайте TAR-архив, например, с помощью команды tar.
Обычный размер одного архива составляет примерно 1 ГБ.
Убедитесь, что каждая пара видео и метаданных имеет одинаковый префикс имени файла, например:
train-0000/
├── 000.mp4
├── 000.json
├── 001.mp4
├── 001.json
├── ...
├── 999.mp4
└── 999.jsonОбратите внимание, что для удобства пользователей и для обеспечения работы Dataset Viewer каждый датасет, размещённый в Hub, автоматически конвертируется в формат Parquet при размере до 5 ГБ. Поскольку видеофайлы могут быть достаточно большими, в сконвертированных данных Parquet хранятся URL-адреса видео без самих байтов видео. Подробнее об этом читайте в документации по формату Parquet.
Update on GitHub