Hub documentation

مجموعة بيانات الفيديو

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

مجموعة بيانات الفيديو

ستُظهر لك هذه الدليل كيفية تكوين مستودع مجموعة البيانات الخاصة بك مع ملفات الفيديو.

يتمتع مجموعة بيانات ذات بنية مدعومة وصيغ ملفات تلقائيًا بمشغل مجموعات البيانات في صفحتها على 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

لإنشاء أرشيف WebDataset بصيغة TAR، أنشئ مجلداً يحتوي على ملفات الفيديو وملفات البيانات الوصفية المراد أرشفتها، ثم أنشئ أرشيف TAR باستخدام أمر tar على سبيل المثال. عادةً ما يكون الحجم المعتاد لكل أرشيف حوالي 1 غيغابايت. تأكد من أن كل زوج من ملف الفيديو وملف البيانات الوصفية يتشاركان في نفس بادئة الملف، على سبيل المثال:

train-0000/
├── 000.mp4
├── 000.json
├── 001.mp4
├── 001.json
├── ...
├── 999.mp4
└── 999.json

لاحظ أنه من أجل راحة المستخدم وتمكين Dataset Viewer، يتم تحويل كل مجموعة بيانات مستضافة في Hub تلقائيًا إلى صيغة Parquet حتى حجم 5 جيجابايت. وبما أن مقاطع الفيديو قد تكون كبيرة الحجم، تُخزَّن عناوين URLs الخاصة بالفيديوهات في بيانات Parquet المحوّلة دون تخزين بايتات الفيديو نفسها. اقرأ المزيد حول ذلك في وثائق Parquet format.

Update on GitHub