Video anlama

Gemini Robotics ER 2, iki özelliği kullanarak sürekli video feed'lerinden görev ilerlemesini takip edebilir:

  • An bulma: Önemli bir etkinliğin gerçekleştiği tam zaman damgasını belirler.
  • Tamamlama sınıflandırması: Her videoyu beş tamamlama aralığından birine atar (%0-20, %20-40, %40-60, %60-80, %80-100).

An bulma

An bulma, önemli bir olayın gerçekleştiği tam video karesini tanımlar. Örneğin, bir bardağın dolduğu veya bir düğmenin iliklendiği an. Robotlar, başarıyı doğrulamak, adımları sıralamak ve düzeltmeleri tetiklemek için bunu kullanır.

Aşağıdaki örnek istemde modelden, videodaki belirli bir görevin tamamlanma anını belirlemesi isteniyor:

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)

Aşağıda, bir an bulma videosundan örnek kareler gösterilmektedir. Model, görevin tamamlanma zaman damgasını tanımlamaktadır:

Zaman damgası yerleşimiyle an bulma çıktısını gösteren örnek video kareleri

İlerleme sınıflandırması

İlerleme sınıflandırması, bir videoyu beş tamamlama aralığından birine atar: 0-20%, 20-40%, 40-60%, 60-80% veya 80-100%. Bu sayede robotlar, tüm iş akışını yeniden başlatmadan eylemleri ayarlayabilir veya başarısız olan adımları yeniden deneyebilir.

Aşağıdaki örnek istemde modelden, bir videodaki mevcut ilerleme düzeyini sınıflandırması isteniyor:

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)

Aşağıda, modelin ilerleme aralığı atadığı bir ilerleme sınıflandırması videosundan örnek kareler gösterilmektedir:

İlerleme aralığı etiketiyle ilerleme sınıflandırma çıkışını gösteren örnek video kareleri

Örnekler

Çok adımlı görev izleme de dahil olmak üzere tam olarak çalıştırılabilir örnekler için Robotik çözüm kitabına bakın.

Sırada ne var?