Comprensione dei video

Gemini Robotics ER 2 può monitorare l'avanzamento delle attività dai feed video continui utilizzando due funzionalità:

  • Ricerca di momenti: identifica il timestamp preciso in cui si verifica un evento chiave.
  • Classificazione dell'avanzamento: assegna a ogni video una delle cinque fasce di completamento (0-20%, 20-40%, 40-60%, 60-80%, 80-100%).

Ricerca di momenti

La ricerca di momenti identifica il frame video esatto in cui si verifica un evento critico, ad esempio quando una tazza è piena o viene fatto un nodo. I robot lo utilizzano per verificare il successo, sequenziare i passaggi e attivare le correzioni.

Il seguente prompt di esempio chiede al modello di identificare il momento di completamento di una determinata attività in un video:

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)

Di seguito sono riportati esempi di frame di un video di ricerca di momenti, con il modello che identifica il timestamp di completamento dell'attività:

Esempio di fotogrammi video che mostrano l'output della ricerca di momenti con una sovrapposizione di timestamp

Classificazione dell'avanzamento

La classificazione dell'avanzamento assegna un video a una delle cinque fasce di completamento: 0-20%, 20-40%, 40-60%, 60-80% o 80-100%. In questo modo, i robot hanno una consapevolezza situazionale in tempo reale, in modo da poter regolare le azioni o riprovare i passaggi non riusciti senza riavviare un intero flusso di lavoro.

Il seguente prompt di esempio chiede al modello di classificare il livello di avanzamento corrente di un video:

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)

Di seguito sono riportati esempi di frame di un video di classificazione dell'avanzamento, con il modello che assegna una fascia di avanzamento:

Esempio di fotogrammi video che mostrano l'output della classificazione dell'avanzamento con un'etichetta di parentesi di avanzamento

Esempi

Per esempi eseguibili completi, incluso il monitoraggio delle attività in più passaggi, consulta il ricettario di robotica.

Passaggi successivi