Videos verstehen

Gemini Robotics ER 2 kann den Aufgabenfortschritt anhand von kontinuierlichen Video-Feeds mit zwei Funktionen verfolgen:

  • Momenterkennung: Ermittelt den genauen Zeitstempel, an dem ein Schlüsselereignis eintritt.
  • Fortschrittsklassifizierung: Weist jedes Video einer von fünf Abschlusskategorien zu (0–20%, 20–40%, 40–60%, 60–80%, 80–100%).

Momenterkennung

Bei der Momenterkennung wird der genaue Videoframe ermittelt, in dem ein kritisches Ereignis eintritt, z. B. wenn eine Tasse voll ist oder ein Knoten gebunden wird. Roboter verwenden diese Funktion, um den Erfolg zu überprüfen, Schritte zu sequenzieren und Korrekturen auszulösen.

Im folgenden Beispiel wird das Modell aufgefordert, den Zeitpunkt des Abschlusses einer bestimmten Aufgabe in einem Video zu ermitteln:

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)

Das folgende Beispiel zeigt Frames aus einem Video zur Momenterkennung, wobei das Modell den Zeitstempel für den Abschluss der Aufgabe ermittelt:

Beispiel für Videoframes mit der Ausgabe der Moment-Erkennung und einem Zeitstempel-Overlay

Fortschrittsklassifizierung

Bei der Fortschrittsklassifizierung wird ein Video einer von fünf Abschlusskategorien zugewiesen: 0–20%, 20–40%, 40–60%, 60–80 % oder 80–100%. So erhalten Roboter in Echtzeit Informationen zur jeweiligen Situation, damit sie Aktionen anpassen oder fehlgeschlagene Schritte wiederholen können, ohne einen gesamten Workflow neu starten zu müssen.

Im folgenden Beispiel wird das Modell aufgefordert, den aktuellen Fortschritt anhand eines Videos zu klassifizieren:

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)

Das folgende Beispiel zeigt Frames aus einem Video zur Fortschrittsklassifizierung, wobei das Modell eine Fortschrittskategorie zuweist:

Beispiel für Videoframes mit der Ausgabe der Fortschrittsklassifizierung und einem Label für die Fortschrittskategorie

Beispiele

Vollständige ausführbare Beispiele, einschließlich der Verfolgung von Aufgaben mit mehreren Schritten, finden Sie im Robotics-Kochbuch.

Nächste Schritte