فهم الفيديو

يمكن لروبوت Gemini Robotics ER 2 تتبُّع تقدّم المهمة من خلال خلاصات الفيديو المستمرة باستخدام ميزتَين:

  • العثور على اللحظات: يحدّد الطابع الزمني الدقيق الذي يقع فيه حدث رئيسي.
  • تصنيف مستوى التقدّم: يتم تصنيف كل فيديو ضمن إحدى فئات مستوى الإكمال الخمس (من 0 إلى 20%، ومن 20 إلى 40%، ومن 40 إلى 60%، ومن 60 إلى 80%، ومن 80 إلى 100%).

العثور على اللحظات المميزة

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

يطلب مثال الطلب التالي من النموذج تحديد لحظة إكمال مهمة معيّنة في فيديو:

from google import genai
from google.genai import types

client = genai.Client()

with open("task_video.mp4", "rb") as f:
    video_bytes = f.read()

prompt = """
At what timestamp (in seconds) does the task reach successful completion?
Return a JSON object: {"completion_time_seconds": <float>}.
If the task is not completed, return {"completion_time_seconds": null}.
"""

response = client.models.generate_content(
    model="gemini-robotics-er-2-preview",
    contents=[
        types.Part.from_bytes(data=video_bytes, mime_type="video/mp4"),
        prompt,
    ],
)

print(response.text)

تعرض الصورة التالية لقطات نموذجية من فيديو يهدف إلى العثور على لحظة معيّنة، حيث يحدّد النموذج الطابع الزمني لإكمال المهمة:

مثال على إطارات فيديو تعرض نتيجة العثور على اللحظة مع تراكب طابع زمني

تصنيف مستوى التقدم

يصنّف الفيديو ضمن إحدى فئات الاكتمال الخمس التالية: من 0 إلى %20 أو من %20 إلى %40 أو من %40 إلى %60 أو من %60 إلى %80 أو من %80 إلى %100. يمنح ذلك الروبوتات إدراكًا للوضع في الوقت الفعلي، ما يتيح لها تعديل الإجراءات أو إعادة محاولة الخطوات التي تعذّر تنفيذها بدون إعادة تشغيل سير العمل بأكمله.

يطلب الطلب النموذجي التالي من النموذج تصنيف مستوى التقدّم الحالي من فيديو:

from google import genai
from google.genai import types

client = genai.Client()

with open("task_video.mp4", "rb") as f:
    video_bytes = f.read()

prompt = """
Watch this video and classify the task progress level at the final frame.
Return a JSON object with the progress bracket:
{"progress_level": "0-20" | "20-40" | "40-60" | "60-80" | "80-100"}.
"""

response = client.models.generate_content(
    model="gemini-robotics-er-2-preview",
    contents=[
        types.Part.from_bytes(data=video_bytes, mime_type="video/mp4"),
        prompt,
    ],
)

print(response.text)

تعرض الصورة التالية أمثلة على لقطات من فيديو لتصنيف مستوى التقدّم، مع تحديد فئة مستوى التقدّم من خلال النموذج:

أمثلة على لقطات فيديو تعرض ناتج تصنيف مستوى التقدّم مع تصنيف بين قوسين

أمثلة

للاطّلاع على أمثلة كاملة قابلة للتنفيذ تتضمّن تتبُّع المهام المتعدّدة الخطوات، يُرجى الرجوع إلى كتاب وصفات الروبوتات.

الخطوات التالية