فهم الفيديو

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

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

العثور على اللحظات

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

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

from google import genai

client = genai.Client()

uploaded_file = client.files.upload(file="task_video.mp4")

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}.
"""

interaction = client.interactions.create(
    model="gemini-robotics-er-2-preview",
    input=[
        {
            "type": "video",
            "uri": uploaded_file.uri,
            "mime_type": uploaded_file.mime_type
        },
        {"type": "text", "text": prompt}
    ],
)

print(interaction.output_text)

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

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

تصنيف التقدّم

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

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

from google import genai

client = genai.Client()

uploaded_file = client.files.upload(file="task_video.mp4")

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"}.
"""

interaction = client.interactions.create(
    model="gemini-robotics-er-2-preview",
    input=[
        {
            "type": "video",
            "uri": uploaded_file.uri,
            "mime_type": uploaded_file.mime_type
        },
        {"type": "text", "text": prompt}
    ],
)

print(interaction.output_text)

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

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

أمثلة

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

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