درک ویدیویی

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)

در زیر نمونه‌هایی از فریم‌های یک ویدیوی طبقه‌بندی پیشرفت نشان داده شده است که در آن مدل، یک براکت پیشرفت را اختصاص می‌دهد:

فریم‌های ویدیویی نمونه که خروجی طبقه‌بندی پیشرفت را با برچسب براکت پیشرفت نشان می‌دهند

مثال‌ها

برای مثال‌های کامل قابل اجرا، از جمله ردیابی وظایف چند مرحله‌ای، به کتاب آشپزی رباتیک مراجعه کنید.

قدم بعدی چیست؟