Compreensão do vídeo

O Gemini Robotics ER 2 pode acompanhar o progresso da tarefa em feeds de vídeo contínuos usando dois recursos:

  • Localização de momentos: identifica o carimbo de data/hora exato em que um evento principal ocorre.
  • Classificação de progresso: atribui cada vídeo a um dos cinco intervalos de conclusão (0 a 20%, 20 a 40%, 40 a 60%, 60 a 80%, 80 a 100%).

Localização de momentos

A localização de momentos identifica o frame de vídeo exato em que um evento crítico ocorre, por exemplo, quando um copo está cheio ou um nó é amarrado. Os robôs usam isso para verificar o sucesso, sequenciar etapas e acionar correções.

O exemplo de comando a seguir pede ao modelo para identificar o momento de conclusão de uma determinada tarefa em um vídeo:

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)

A seguir, mostramos exemplos de frames de um vídeo de localização de momentos, com o modelo identificando o carimbo de data/hora de conclusão da tarefa:

Exemplo de frames de vídeo mostrando o resultado da descoberta de momentos com uma sobreposição de carimbo de data/hora

Classificação de progresso

A classificação de progresso atribui um vídeo a um dos cinco intervalos de conclusão: 0 a 20%, 20 a 40%, 40 a 60%, 60 a 80% ou 80 a 100%. Isso oferece aos robôs reconhecimento situacional em tempo real para que eles possam ajustar ações ou repetir etapas com falha sem reiniciar todo um fluxo de trabalho.

O exemplo de comando a seguir pede ao modelo para classificar o nível de progresso atual de um vídeo:

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)

A seguir, mostramos exemplos de frames de um vídeo de classificação de progresso, com o modelo atribuindo um intervalo de progresso:

Exemplo de frames de vídeo mostrando a saída da classificação de progresso com um rótulo de intervalo de progresso

Exemplos

Para exemplos executáveis completos, incluindo o acompanhamento de tarefas de várias etapas, consulte o cookbook de robótica.

A seguir