Action Recognition
يُصنّف التعرّف على الأفعال، أو التعرّف على الأنشطة البشرية (HAR)، ما يفعله الأشخاص في الفيديو عبر نمذجة الحركة بمرور الوقت. الأساليب ومجموعات البيانات والشيفرة.
التعرّف على الأفعال هو مهمة في الرؤية الحاسوبية تصنّف ما يفعله شخص، أو أحياناً حيوان أو روبوت، في مقطع فيديو: كالمشي أو التلويح أو السقوط أو ضرب كرة الغولف أو أداء تمرين الضغط. وهو يمدّ تصنيف الصور على امتداد الزمن، لأن كثيراً من الأفعال لا يمكن التمييز بينها في إطار واحد. فقد تُظهر صورة ثابتة لشخص في منتصف حركة الهبوط أنه يجلس أو ينهض، بينما يوضح مقطع قصير أيهما يحدث. ويُستخدم المصطلح غالباً بالتبادل مع التعرّف على الأنشطة البشرية (HAR)، مع أن HAR يشمل أيضاً التعرّف باستخدام مستشعرات قابلة للارتداء مثل مقاييس التسارع.
آلية عمل التعرّف على الأفعال#
تأخذ النماذج مقطعاً، يتكون عادةً من 8 إلى 64 إطاراً مأخوذاً من بضع ثوانٍ من الفيديو، وتتعلم نوعين من المعلومات: سمات مكانية تصف مظهر الأشخاص والأجسام، وسمات زمنية تصف حركتها. عالجت الشبكات المبكرة ذات المسارين إطارات RGB والتدفق البصري في فرعين منفصلين، ثم دمجت تنبؤاتهما. وتُجري الشبكات العصبية الالتفافية ثلاثية الأبعاد التفافاً على الارتفاع والعرض والزمن في آن واحد؛ وقد أنشأت I3D هذه الشبكات بتحويل مرشحات صور ثنائية الأبعاد مدرّبة مسبقاً على ImageNet إلى مرشحات ثلاثية الأبعاد، بينما تجمع SlowFast بين مسار بمعدل إطارات منخفض للمظهر ومسار بمعدل إطارات مرتفع للحركة. وتطبّق محولات الفيديو الانتباه الذاتي على رقع المكان والزمان، وتدرّبها VideoMAE مسبقاً بإعادة بناء الفيديو المحجوب بدرجة كبيرة.
يصنّف نموذج CNN ثلاثي الأبعاد من نماذج الفيديو في TorchVision مقطعاً ببضعة أسطر:
import cv2
import numpy as np
import torch
from torchvision.models.video import R3D_18_Weights, r3d_18
# Load a 3D CNN pretrained on the 400 action classes of Kinetics-400
weights = R3D_18_Weights.KINETICS400_V1
model = r3d_18(weights=weights).eval()
# Read 16 consecutive frames from a short exercise video
cap = cv2.VideoCapture("https://github.com/ultralytics/assets/releases/download/v0.0.0/solution_ci_pose_demo.mp4")
frames = [cv2.cvtColor(cap.read()[1], cv2.COLOR_BGR2RGB) for _ in range(16)]
# Stack the frames into one clip shaped (time, channels, height, width) and classify it
clip = torch.from_numpy(np.stack(frames)).permute(0, 3, 1, 2)
batch = weights.transforms()(clip).unsqueeze(0)
with torch.no_grad():
probs = model(batch).softmax(dim=1)[0]
top = probs.argmax().item()
print(f"{weights.meta['categories'][top]}: {probs[top]:.2f}")يطبع النموذج push up: 0.99: إذ يصنّف مقطعاً كاملاً مدته نصف ثانية بفعل واحد من أفعاله الـ400.
تتبع الأساليب القائمة على الهيكل العظمي نهجاً مختلفاً. إذ يعثر نموذج تقدير الوضعية أولاً على النقاط الرئيسية للجسم في كل إطار، ثم يصنّف نموذج زمني مثل الشبكة البيانية ST-GCN مسارات المفاصل الناتجة. وتتجاهل الهياكل العظمية الملابس والإضاءة والخلفية، كما أنها صغيرة بما يكفي للمعالجة في الوقت الفعلي على الأجهزة الطرفية. وتوفر نماذج الوضعية في YOLO26 من Ultralytics النقاط الرئيسية الـ17 لجسم كل شخص لهذا النهج، بينما يحوّل حل مراقبة التمارين الزاوية بين ثلاث من تلك النقاط الرئيسية إلى عدد التكرارات لتمارين مثل الضغط والقرفصاء.
التعرّف على الأفعال والمهام ذات الصلة#
- تقدير الوضعية وتتبّع الأجسام: يحدد تقدير الوضعية مواقع المفاصل، ويحافظ التتبّع على هوية كل شخص عبر الإطارات. وغالباً ما يُستخدم كلاهما مدخلين للتعرّف على الأفعال، الذي يفسّر الحركة التي يصفانها؛ ففي الحشود، يحصل كل شخص متتبَّع على مقطعه وتسميته الخاصة.
- تحديد الموقع الزمني للأفعال: يحدّد وقت بدء كل فعل وانتهائه في فيديو طويل غير مقطّع. ويذهب اكتشاف الأفعال المكاني الزمني أبعد من ذلك، فيرسم إطاراً حول كل شخص في كل إطار، كما في مجموعة بيانات AVA.
- فهم الفيديو: المجال الأوسع الذي يشمل أيضاً إنشاء التعليقات التوضيحية، والإجابة عن الأسئلة، والاستدلال بشأن الأحداث وأسبابها في الفيديو.
تطبيقات عملية#
- الرعاية الصحية ورعاية المسنين: تتعرّف أنظمة اكتشاف السقوط على السقوط من بيانات الكاميرا أو الأجهزة القابلة للارتداء، وتنبه الموظفين؛ كما تتحقق تطبيقات إعادة التأهيل من أداء المرضى للتمارين على نحو صحيح.
- اللياقة البدنية والرياضة: تحسب التطبيقات التكرارات وتقيّم الأداء، وتصنّف تحليلات الرياضة التسديدات والتمريرات والضربات في لقطات البث.
- السلامة والأمن: ترصد أنظمة المراقبة الشجارات في الأماكن العامة، وحالات السقوط أو الرفع غير الآمن في أرضيات المصانع.
- التفاعل بين الإنسان والروبوت: تستجيب الروبوتات والأجهزة الذكية لإيماءات مثل التلويح أو الإشارة.
مجموعات البيانات والتحديات#
يتطلب تصنيف مقاطع الفيديو جهداً أكبر بكثير من تصنيف الصور، لذا ارتبط التقدم بظهور مجموعات بيانات كبيرة. وتضم Kinetics-400 ما لا يقل عن 400 مقطع من YouTube، مدة كل منها نحو 10 ثوانٍ، لكل فئة من فئات الأفعال البشرية الـ400، بينما تضم UCF101 نحو 13,320 مقطعاً ضمن 101 فئة. وتستهدف Something-Something V2 التحيز للمشهد، أي ميل النماذج إلى التعرّف على السباحة من حوض السباحة بدلاً من حركات السباحة: إذ تعرض مقاطعها البالغ عددها نحو 220,000 تفاعلات الأيدي مع أشياء يومية ضمن 174 فئة لا تختلف إلا في الحركة، مثل «دفع شيء من اليسار إلى اليمين» و«دفع شيء من اليمين إلى اليسار».










