การทำความเข้าใจวิดีโอ

Gemini Robotics ER 2 สามารถติดตามความคืบหน้าของงานจากฟีดวิดีโอต่อเนื่องโดยใช้ความสามารถ 2 อย่าง ได้แก่

  • การค้นหาช่วงเวลา: ระบุการประทับเวลาที่แม่นยำซึ่งเหตุการณ์สำคัญเกิดขึ้น
  • การจัดประเภทความคืบหน้า: กำหนดให้วิดีโอแต่ละรายการอยู่ในช่วงความสมบูรณ์ 5 ช่วง (0–20%, 20–40%, 40–60%, 60–80%, 80–100%)

การค้นหาช่วงเวลา

การค้นหาช่วงเวลาจะระบุเฟรมวิดีโอที่แน่นอนซึ่งเหตุการณ์สำคัญเกิดขึ้น เช่น เมื่อแก้วเต็มหรือมีการผูกปม หุ่นยนต์ใช้ข้อมูลนี้เพื่อยืนยันความสำเร็จ จัดลำดับขั้นตอน และทริกเกอร์การแก้ไข

ข้อความแจ้งตัวอย่างต่อไปนี้ขอให้โมเดลระบุช่วงเวลาที่งานที่กำหนดในวิดีโอเสร็จสมบูรณ์

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)

ตัวอย่างต่อไปนี้แสดงเฟรมตัวอย่างจากวิดีโอการค้นหาช่วงเวลา โดยโมเดลจะระบุการประทับเวลาที่งานเสร็จสมบูรณ์

ตัวอย่างเฟรมวิดีโอที่แสดงเอาต์พุตการค้นหาช่วงเวลาพร้อมการซ้อนทับการประทับเวลา

การจัดประเภทความคืบหน้า

การจัดประเภทความคืบหน้าจะกำหนดให้วิดีโออยู่ในช่วงความสมบูรณ์ 5 ช่วง ได้แก่ 0–20%, 20–40%, 40–60%, 60–80% หรือ 80–100% ซึ่งช่วยให้หุ่นยนต์รับรู้สถานการณ์แบบเรียลไทม์ จึงสามารถปรับการดำเนินการหรือลองขั้นตอนที่ล้มเหลวอีกครั้งได้โดยไม่ต้องรีสตาร์ทเวิร์กโฟลว์ทั้งหมด

ข้อความแจ้งตัวอย่างต่อไปนี้ขอให้โมเดลจัดประเภทระดับความคืบหน้าปัจจุบันจากวิดีโอ

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)

ตัวอย่างต่อไปนี้แสดงเฟรมตัวอย่างจากวิดีโอการจัดประเภทความคืบหน้า โดยโมเดลจะกำหนดช่วงความคืบหน้า

ตัวอย่างเฟรมวิดีโอที่แสดงเอาต์พุตการจัดประเภทความคืบหน้าพร้อมป้ายกำกับวงเล็บความคืบหน้า

ตัวอย่าง

ดูตัวอย่างที่เรียกใช้ได้ทั้งหมด รวมถึงการติดตามงานหลายขั้นตอนได้ที่ คู่มือการใช้งาน Robotics

ขั้นตอนถัดไป