الرؤية الحاسوبية2017متوسط11 دقيقة قراءة

إلى أين يتّجه تمييز الأفعال؟ نموذج جديد ومجموعة بيانات Kinetics

Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset

Carreira, J. · Zisserman, A. — CVPR

المشكلة

بحلول 2017 وصل مجال تمييز الأفعال في الفيديو إلى طريق مسدود. مجموعات البيانات المتاحة مثل UCF-101 وHMDB-51 كانت صغيرة لدرجة أنّ كل البنى تقريباً تُعطي دقة متقاربة، فلا يمكن معرفة أيّ تصميم أفضل فعلاً. والأسوأ أنّ أفضل نماذج الفيديو لم تكد تتفوّق على مصنِّف صور قوي يعمل إطاراً بإطار، لأنّ البيانات ببساطة لم تكن كافية لتعلُّم أنماط زمنية حقيقية.

الإسهام

إسهامان رئيسيان: الأول مجموعة بيانات Kinetics التي تضمّ 400 فئة من الأفعال البشرية بأكثر من 400 مقطع لكل فئة من YouTube — أكبر بمئة ضعف من المعايير السابقة. الثاني هو شبكات I3D: الفكرة أن تأخذ بنية صور ناجحة مثل Inception-v1 وتوسّع مرشّحاتها ونوى التجميع من بُعدين إلى ثلاثة أبعاد، ثم تنقل الأوزان المُدرَّبة من الشبكة الأصلية لتهيئة الشبكة الجديدة. في إعداد ثنائي التيار (RGB + انسياب بصري) مع مسبق على Kinetics، حققت I3D دقة 80.9% على HMDB-51 و98.0% على UCF-101.

الأثر

أثبتت I3D أنّ توسيع بنى الصور الناجحة نحو الفيديو أجدى بكثير من بناء شبكات ثلاثية الأبعاد من الصفر. أمّا Kinetics فأصبحت بمنزلة لعالم الفيديو — المرجع المعياري في تمييز الأفعال وفهم الفيديو وتعلّم التمثيلات المكانية-الزمنية. وبنت نماذج لاحقة كثيرة على مبدأ النفخ هذا، مثل SlowFast وX3D.

تخيّل أنك محقّق صور خبير — تكفيك نظرة واحدة لأيّ صورة حتى تميّز كل شيء فيها. يأتيك أحدهم بـدفتر صور متحركة ويسألك: «ما الفعل الذي يحدث هنا؟» صفحة واحدة تُظهر شخصين متقابلين — هل هما يتصافحان أم انتهيا للتوّ من العناق؟ لن تعرف إلا إذا قلبت عدة صفحات.

بناء لفهم الفيديو من الصفر يشبه تدريب محقّق جديد منذ نعومة أظفاره. I3D تختصر الطريق: تأخذ عدسة المحقّق المسطّحة وتحوّلها إلى عدسة مكعّبة ترى عدة صفحات دفعة واحدة، ثم تنسخ إليها كل خبرات المحقّق الأصلي. هكذا يتحوّل محقّق الصور إلى محقّق فيديو بين عشيّة وضحاها.

المشكلة: بيانات الفيديو كانت أقلّ من أن تكشف الفرق بين البنى

بحلول 2017 كان تمييز الصور مسألة محسومة عملياً — العميقة المُدرَّبة على 1.2 مليون صورة من ImageNet وصلت إلى دقة تفوق أداء البشر. في المقابل، ظلّ فهم الفيديو متأخراً بمراحل. السبب الجوهري هو شُحّ البيانات: المعياران الأساسيان UCF-101 (نحو 13 ألف مقطع) وHMDB-51 (نحو 7 آلاف مقطع) أصغر من ImageNet بنحو مئة ضعف.

بهذا القدر الضئيل من البيانات، أعطت كل البنى تقريباً الدقة نفسها. لا يمكنك أن تعرف إن كان الأفضل هو تطبيق شبكة التفافية ثنائية الأبعاد على كل إطار وحده، أو وضع فوق الصور، أو تدريب شبكة التفافية ثلاثية الأبعاد من الصفر — فالجميع اصطدم بالسقف نفسه. بدون مجموعة بيانات فيديو بحجم ImageNet، لم يكن بالإمكان الحكم على أيّ تصميم.

خمس طرق لمشاهدة الفيديو

قيّمت الورقة خمس بنى بشكل منهجي، كلّ واحدة تمثّل فلسفة مختلفة في التعامل مع البُعد الزمني:

(أ) شبكة التفافية + LSTM — تستخلص شبكة التفافية ثنائية الأبعاد (Inception-v1) السمات من كل إطار على حدة، ثم تتولّى شبكة LSTM نمذجة التسلسل الزمني. المشكلة أنّ المعالجة الزمنية هنا مجرد إضافة سطحية فوق شبكة صور قوية.

(ب) شبكة التفافية ثلاثية الأبعاد (C3D) — تستخدم التفافية ثلاثية الأبعاد تعمل على مقاطع قصيرة وتتعلّم الأنماط المكانية والزمنية معاً. لكنّ بنيتها كانت ضحلة مقارنة بنماذج ImageNet، والبيانات لم تكن كافية لتدريب شبكة ثلاثية عميقة من الصفر.

(ج) شبكات ثنائية التيار — شبكة تعالج إطار RGB واحداً لالتقاط المظهر، وشبكة أخرى تعالج رزمة إطارات انسياب بصري لالتقاط الحركة، ثم يُحسب متوسط تنبؤاتهما. نتائجها جيدة، لكنّ التيارين لا يندمجان فعلاً في تمثيل مكاني-زمني موحّد.

(د) ثنائي التيار مع دمج ثلاثي — الفكرة ذاتها لكن مع ثلاثية الأبعاد تدمج التيارين في منتصف الشبكة.

(هـ) شبكة I3D ثنائية التيار — وهذا إسهام الورقة. الفكرة: خُذ بنية ثنائية الأبعاد عميقة وناجحة، وسِّع كل مرشّح و فيها إلى ثلاثة أبعاد، ثم انقل المُدرَّبة إليها. النتيجة: شبكة ثلاثية عميقة جداً ترث معرفة التدريب المسبق على ImageNet دون الحاجة للبدء من الصفر.

افتح في المختبر
قارن بين البنى الخمس التي قيّمتها الورقة. انقر على كل تبويب لترى كيف تعالج مقطع فيديو.
تستيقظ التجربة عند وصولك…

الفكرة الجوهرية: انفخ الثنائي ليصبح ثلاثي الأبعاد

الفكرة الجوهرية بسيطة وأنيقة: المرشّح الالتفافي ثنائي الأبعاد بحجم N×NN \times N ينزلق على ارتفاع الصورة وعرضها. أمّا المرشّح ثلاثي الأبعاد بحجم N×N×NN \times N \times N فينزلق على الارتفاع والعرض والزمن معاً. فإذا كان عندك مرشّح N×NN \times N مُدرَّب ومُحكَم، يمكنك صنع مرشّح N×N×NN \times N \times N بتكرار أوزانه NN مرة على محور الزمن ثم القسمة على NN حتى يبقى مقياس التنشيط كما هو.

الصورة الذهنية: تخيّل قاطع كعك مسطّحاً تُكدِّس منه NN نسخة متطابقة لتحصل على قاطع مكعّب. كل شريحة فيه لها الشكل ذاته، فالقاطع المكعّب يتعرّف على النمط المكاني نفسه الذي يعرفه الأصلي — لكنه الآن يرصد أيضاً كيف يتغيّر هذا النمط عبر الزمن.

السبب الرياضي وراء نجاح هذا هو الخطّية: إذا أنتج المرشّح الأصلي خرجاً yy لصورة واحدة، فإنّ المرشّح المنفوخ يُنتج yy نفسه حين يُطبَّق على «فيديو ثابت» ليس سوى تلك الصورة مكرّرة. أي أنّ يبدأ بنفس كفاءة نموذج الصور تماماً — ومن هناك يتعلّم الأنماط الزمنية الجديدة.

Wi,j,t3D=1NWi,j2Dt{1,,N}W^{3D}_{i,j,t} = \frac{1}{N} \cdot W^{2D}_{i,j} \quad \forall\, t \in \{1, \ldots, N\}
نفخ المرشّح — من بُعدين إلى ثلاثة أبعاديُنسخ كل وزن ثنائي الأبعاد N مرة على محور الزمن، ثم يُقسَم على N بحيث يُنتج المرشّح الثلاثي — حين يُطبَّق على صورة ثابتة مكرّرة — الخرج نفسه الذي يُنتجه المرشّح الثنائي على صورة واحدة.
افتح في المختبر
شاهد كيف يُنفخ مرشّح ثنائي الأبعاد مُدرَّب إلى ثلاثة أبعاد. كل شريحة زمنية تبدأ نسخة مطابقة، ثم يسمح الضبط الدقيق على بيانات الفيديو لكل شريحة بالتخصّص.
تستيقظ التجربة عند وصولك…

توسيع حقل الاستقبال الزمني

ليس من الصواب نفخ كل طبقات التجميع بالتساوي. في الأولى يكون الزمني صغيراً — الشبكة لا ترى سوى بضعة إطارات. لو طبّقت تجميعاً زمنياً عنيفاً في هذه المرحلة المبكرة، ستسحق التفاصيل الزمنية قبل أن تبني الشبكة أيّ سمات منها.

ما وجدته الورقة هو أنّ أول طبقتي ينبغي أن تستخدما نوى بحجم 1×3×31 \times 3 \times 3 — أي بدون تجميع زمني — بينما تستخدم الطبقات اللاحقة نوى 2×3×32 \times 3 \times 3 تجمع مكانياً وزمنياً معاً. هذا النهج غير المتناظر يوسّع حقل الاستقبال الزمني بالتدريج، تماماً كما تفعل الشبكات الالتفافية التقليدية مع حقل الاستقبال المكاني طبقةً بعد طبقة. عند الطبقات الأخيرة تكون كل وحدة «ترى» نافذة من 64 إطاراً — أي نحو 2.5 ثانية من الفيديو.

افتح في المختبر
شاهد كيف يتوسّع حقل الاستقبال الزمني عبر طبقات الشبكة. الطبقات الأولى ترى إطارات قليلة، والطبقات العميقة ترى المقطع كاملاً المكوَّن من 64 إطاراً.
تستيقظ التجربة عند وصولك…

تياران: المظهر والحركة

حتى مع وجود ثلاثية الأبعاد تلتقط الأنماط الزمنية مباشرةً من بكسلات RGB، اتّضح أنّ إضافة تيار منفصل للانسياب البصري تُحسّن الدقة بشكل ملموس. بنية I3D ثنائية التيار تدرّب شبكتي Inception-v1 منفوختين متماثلتين، كلّ واحدة بشكل مستقل:

  • تيار RGB يستقبل 64 إطار فيديو متتالياً. مرشّحاته الثلاثية المنفوخة تتعلّم المظهر — ماذا يوجد في المشهد وكيف يبدو — مع التقاط بعض الديناميكيات الزمنية.

  • تيار الانسياب البصري يستقبل 64 إطار انسياب بصري محسوبة مسبقاً (كل إطار بقناتين: الإزاحة الأفقية والرأسية). هذا التيار يركّز حصرياً على أنماط الحركة — المسار والسرعة والاتجاه — بمعزل عن المظهر.

عند الاختبار يُحسب المتوسط الحسابي لاحتمالات من الشبكتين. رغم بساطة هذا الدمج، تفوّق باستمرار على أيّ تيار بمفرده: تيار RGB على Kinetics حقّق 71.1%، والانسياب البصري حقّق 63.4%، لكنّهما معاً وصلا إلى 74.2%.

افتح في المختبر
بنية I3D ثنائية التيار. انقر على أيّ تيار لترى المعلومات التي يلتقطها. تُجمَّع تنبؤاتهما بالمتوسط عند الاختبار.
تستيقظ التجربة عند وصولك…

Kinetics: الـ ImageNet لعالم الفيديو

من الإسهامات المحورية في هذه الورقة مجموعة بيانات Kinetics نفسها. تضمّ 400 فئة من الأفعال البشرية — أفعال فردية (كالرسم والضحك)، وتفاعلات بين شخصين (كالعناق والمصافحة)، وتفاعلات بين شخص وأشياء (كفتح الهدايا وغسل الأطباق) — بواقع 400 مقطع على الأقل لكل فئة، مدة كل منها نحو 10 ثوانٍ، مصدرها YouTube.

هذا الحجم يفوق UCF-101 وHMDB-51 بنحو مئة ضعف، والفارق جوهري: حين دُرِّبت كل البنى مسبقاً على Kinetics، تحسّن أداء كلّ بنية بشكل واضح على المعايير الأصغر. I3D استفادت أكثر من غيرها لأنّ بنيتها الثلاثية العميقة تملك معاملات كافية لاستيعاب الأنماط الزمنية الغنية التي لا توفّرها المجموعات الصغيرة.

باختصار، فعلت Kinetics في الفيديو ما فعلته ImageNet في الصور — مكّنت الباحثين من التمييز بين البنى الجيدة والضعيفة، ووفّرت مصدراً معيارياً لـالتدريب المسبق و نحو مهام الفيديو اللاحقة.

النتائج: I3D تتصدّر المعايير

بعد التدريب المسبق على Kinetics، حققت I3D ثنائية التيار دقة 80.9% على HMDB-51 و98.0% على UCF-101 — أي انخفاض في معدّل الخطأ بنسبة 33% و57% على التوالي مقارنة بأفضل النماذج السابقة. واللافت أنّ كل تيار بمفرده (RGB أو الانسياب) تفوّق على جميع الطرق السابقة، والجمع بينهما وسّع الفارق أكثر.

ملاحظة مهمة ظهرت في النتائج: على Kinetics كان تيار RGB أقوى (71.1% مقابل 63.4% للانسياب)، والسبب المرجّح أنّ Kinetics تحوي حركة كاميرا كثيرة تُربك الانسياب البصري. أمّا على HMDB-51 وUCF-101 فكان تيار الانسياب البصري هو الأقوى، وهذا يشير إلى أنّ المجموعات الأصغر تعتمد أكثر على إشارات الحركة الصريحة. وفي كل الحالات، الجمع بين التيارين حسّن الدقة.

افتح في المختبر
دقة جميع البنى على UCF-101 وHMDB-51 بعد التدريب المسبق على Kinetics. I3D (ثنائية التيار) تتصدّر المعيارين بفارق كبير.
تستيقظ التجربة عند وصولك…

الفكرة ذاتها في شيفرة برمجية

نفخ مرشّح التفافي ثنائي الأبعاد إلى ثلاثي الأبعادpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import numpy as np

def inflate_conv_weights(weights_2d, time_dim):
    """
    نفخ مرشّح التفافي ثنائي الأبعاد (H, W, C_in, C_out)
    إلى مرشّح ثلاثي الأبعاد (T, H, W, C_in, C_out).

    كل شريحة زمنية تحصل على الأوزان الثنائية ذاتها،
    مقسومة على T للحفاظ على مقدار التنشيط.
    """
    H, W, C_in, C_out = weights_2d.shape
    weights_3d = np.stack([weights_2d] * time_dim, axis=0)
    weights_3d = weights_3d / time_dim   # الحفاظ على المقياس
    return weights_3d  # الشكل: (T, H, W, C_in, C_out)

# مثال: نفخ مرشّح 7×7 من ImageNet إلى 7×7×7
filter_2d = np.random.randn(7, 7, 3, 64)  # conv1 من Inception-v1
filter_3d = inflate_conv_weights(filter_2d, time_dim=7)
print(f"2D: {filter_2d.shape}  →  3D: {filter_3d.shape}")

# على «فيديو ممل» (صورة ثابتة مكرّرة)، المرشّح الثلاثي
# يُنتج نفس الخرج تماماً كالمرشّح الثنائي:
# sum_over_t( W_2d / T ) * img = W_2d * img  ✓

لماذا كانت مهمة

  1. 2014

    الشبكات الالتفافية ثنائية التيار

    أظهر سيمونيان وزيسرمان أنّ الفصل بين المظهر (RGB) والحركة (الانسياب البصري) في شبكتين ثنائيتي الأبعاد مستقلتين يُعطي نتائج فعّالة في تمييز الأفعال.

  2. 2015

    C3D

    بيّن تران وزملاؤه أنّ الالتفافات الثلاثية قادرة على تعلّم السمات المكانية-الزمنية مباشرةً، لكنّ بنيتهم الضحلة لم تستطع مجاراة النماذج الثنائية المُدرَّبة على ImageNet.

  3. 2017

    I3D + Kinetics

    عالج كاريرا وزيسرمان المشكلتين دفعة واحدة: نفخ بنى ثنائية ناجحة إلى ثلاثية الأبعاد للاستفادة من معرفة ImageNet، وتوفير مجموعة بيانات فيديو كبيرة (Kinetics) للتدريب المسبق.

  4. 2019

    شبكات SlowFast

    طوّر فايشتنهوفر وزملاؤه فكرة I3D بمسارين يعملان بدقّتين زمنيتين مختلفتين — مسار بطيء للمعنى المكاني ومسار سريع لالتقاط ديناميكيات الحركة.

  5. 2020

    X3D

    اقترح فايشتنهوفر شبكات ثلاثية الأبعاد عالية الكفاءة عبر توسيع الدقة الزمنية والمكانية والعرض والعمق بشكل منهجي — محقّقاً دقة مماثلة لـI3D بتكلفة حسابية أقل بكثير.

  6. 2021

    محوِّلات الفيديو (ViViT, TimeSformer)

    حلّت المحوِّلات محلّ الالتفافات الثلاثية باستخدام الانتباه الذاتي المكاني-الزمني، لكنّ Kinetics بقيت معيار التدريب المسبق الذي أرسته I3D.

ما أثبتته I3D هو أنّ فهم الفيديو لا يحتاج البدء من الصفر — يمكنه أن يبني على عقود من التقدّم في تمييز الصور. مبدأ النفخ حالة خاصة من فكرة أعمق: حين تتشارك طريقة إدخال جديدة في بنيتها مع طريقة موجودة — كما يتشارك الفيديو البنية المكانية مع الصور — فالنهج الأنجع هو توسيع ما ينجح بدلاً من إعادة اختراعه.

المرجعCarreira, Zisserman. Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset. CVPR, 2017.

مصطلحات هذه الورقة