비디오 데이터셋
비디오 데이터셋 (Video Dataset)
이 가이드는 데이터셋 저장소를 비디오 파일로 구성하는 방법을 보여줘요.
지원되는 구조와 파일 형식을 갖춘 데이터셋은 허브 페이지에 Dataset Viewer가 자동으로 표시돼요.
비디오에 대한 추가 정보(예: 캡션, 객체 감지용 바운딩 박스)는 메타데이터 파일(metadata.csv/metadata.jsonl/metadata.parquet)에 포함하면 자동으로 로드됩니다.
또는 비디오가 WebDataset 형식의 Parquet 파일이나 TAR 아카이브에 담길 수도 있어요.
출처: 문서
본문
비디오만 있는 경우
데이터셋이 비디오만 있는 한 컬럼으로 구성된다면, 비디오 파일을 저장소 루트에 간단히 저장할 수 있어요:
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
여러 split이 있다면 비디오를 그에 맞는 이름의 디렉터리에 넣을 수 있어요:
my_dataset_repository/
├── train
│ ├── 1.mp4
│ └── 2.mp4
└── test
├── 3.mp4
└── 4.mp4
split별 데이터 구성의 다른 방법은 File names and splits를 참고하세요.
추가 컬럼
텍스트 캡션이나 바운딩 박스 같은 추가 정보를 포함하고 싶다면 저장소에 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를 사용할 수 있어요.
상대 경로 (Relative paths)
메타데이터 파일은 연결된 비디오와 같은 디렉터리 또는 어떤 상위 디렉터리에 있어야 해요:
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이라는 이름의 컬럼은 비디오까지의 전체 상대 경로를 담아야 해요.
비디오 분류 (Video classification)
비디오 분류 데이터셋의 경우 디렉터리 이름을 비디오 클래스로 사용하는 간단한 구성도 가능해요:
my_dataset_repository/
├── green
│ ├── 1.mp4
│ └── 2.mp4
└── red
├── 3.mp4
└── 4.mp4
이 구조로 만들어진 데이터셋에는 video와 label(값 green, red) 두 컬럼이 포함돼요.
여러 split을 제공할 수도 있어요. 데이터셋 디렉터리는 다음과 같은 구조여야 합니다(자세한 내용은 File names and splits 참고):
my_dataset_repository/
├── test
│ ├── green
│ │ └── 2.mp4
│ └── red
│ └── 4.mp4
└── train
├── green
│ └── 1.mp4
└── red
└── 3.mp4
YAML 구성에서 label 컬럼의 자동 추가를 비활성화할 수 있어요. 디렉터리 이름에 특별한 의미가 없다면 README 헤더에 drop_labels: true를 설정하세요:
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
WebDataset TAR 아카이브를 만들려면 아카이브할 비디오와 메타데이터 파일을 담은 디렉터리를 만든 뒤 예를 들어 tar 명령으로 TAR 아카이브를 생성하세요. 일반적으로 아카이브당 크기는 1GB 내외예요. 각 비디오와 메타데이터 쌍이 같은 파일 접두사를 공유해야 해요:
train-0000/
├── 000.mp4
├── 000.json
├── 001.mp4
├── 001.json
├── ...
├── 999.mp4
└── 999.json
사용자 편의와 Dataset Viewer 활성화를 위해 허브에 호스팅된 모든 데이터셋은 최대 5GB까지 자동으로 Parquet 형식으로 변환된다는 점을 참고하세요. 비디오는 꽤 클 수 있으므로 비디오 바이트 자체가 아니라 URL이 변환된 Parquet 데이터에 저장됩니다. 자세한 내용은 Parquet 형식 문서를 참고하세요.
더 알아보기 (Learn more)
- Audio Dataset 가이드에서 오디오 파일로 데이터셋을 구성하는 법을 배울 수 있어요.
- File names and splits에서 split별 데이터 구성 방법을 확인하세요.