Spaces:
Running on Zero
Running on Zero
Commit ·
2e5766d
1
Parent(s): 91d54f4
Initial MedVidQA demo: 8 medical video tasks with Qwen3.5-VL predictions
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitignore +1 -0
- README.md +32 -5
- app.py +222 -0
- examples.json +450 -0
- examples/example_000/frame_000.jpg +0 -0
- examples/example_000/frame_001.jpg +0 -0
- examples/example_000/frame_002.jpg +0 -0
- examples/example_000/frame_003.jpg +0 -0
- examples/example_000/frame_004.jpg +0 -0
- examples/example_000/frame_005.jpg +0 -0
- examples/example_000/frame_006.jpg +0 -0
- examples/example_000/frame_007.jpg +0 -0
- examples/example_000/frame_008.jpg +0 -0
- examples/example_000/frame_009.jpg +0 -0
- examples/example_000/frame_010.jpg +0 -0
- examples/example_000/frame_011.jpg +0 -0
- examples/example_000/frame_012.jpg +0 -0
- examples/example_000/frame_013.jpg +0 -0
- examples/example_000/frame_014.jpg +0 -0
- examples/example_000/frame_015.jpg +0 -0
- examples/example_001/frame_000.jpg +0 -0
- examples/example_001/frame_001.jpg +0 -0
- examples/example_001/frame_002.jpg +0 -0
- examples/example_001/frame_003.jpg +0 -0
- examples/example_001/frame_004.jpg +0 -0
- examples/example_001/frame_005.jpg +0 -0
- examples/example_001/frame_006.jpg +0 -0
- examples/example_001/frame_007.jpg +0 -0
- examples/example_001/frame_008.jpg +0 -0
- examples/example_001/frame_009.jpg +0 -0
- examples/example_001/frame_010.jpg +0 -0
- examples/example_001/frame_011.jpg +0 -0
- examples/example_001/frame_012.jpg +0 -0
- examples/example_001/frame_013.jpg +0 -0
- examples/example_001/frame_014.jpg +0 -0
- examples/example_001/frame_015.jpg +0 -0
- examples/example_002/frame_000.jpg +0 -0
- examples/example_002/frame_001.jpg +0 -0
- examples/example_002/frame_002.jpg +0 -0
- examples/example_002/frame_003.jpg +0 -0
- examples/example_002/frame_004.jpg +0 -0
- examples/example_002/frame_005.jpg +0 -0
- examples/example_002/frame_006.jpg +0 -0
- examples/example_002/frame_007.jpg +0 -0
- examples/example_002/frame_008.jpg +0 -0
- examples/example_002/frame_009.jpg +0 -0
- examples/example_002/frame_010.jpg +0 -0
- examples/example_002/frame_011.jpg +0 -0
- examples/example_002/frame_012.jpg +0 -0
- examples/example_002/frame_013.jpg +0 -0
.gitignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
__pycache__/
|
README.md
CHANGED
|
@@ -1,12 +1,39 @@
|
|
| 1 |
---
|
| 2 |
-
title: MedVidQA
|
| 3 |
-
emoji:
|
| 4 |
colorFrom: blue
|
| 5 |
-
colorTo:
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version:
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
|
|
|
| 10 |
---
|
| 11 |
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: MedVidQA — Medical Video Understanding
|
| 3 |
+
emoji: 🏥
|
| 4 |
colorFrom: blue
|
| 5 |
+
colorTo: indigo
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: "5.0"
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
+
license: apache-2.0
|
| 11 |
---
|
| 12 |
|
| 13 |
+
# MedVidQA — Medical Video Understanding with Qwen3.5-VL
|
| 14 |
+
|
| 15 |
+
Interactive demo for **Qwen3.5-VL** fine-tuned on [MedVidBench](https://huggingface.co/datasets/UIIAmerica/MedVidBench)
|
| 16 |
+
for medical video question answering.
|
| 17 |
+
|
| 18 |
+
## Tasks
|
| 19 |
+
|
| 20 |
+
| Task | Description |
|
| 21 |
+
|------|-------------|
|
| 22 |
+
| **Temporal Action Localization** | Identify when surgical actions occur (start–end times) |
|
| 23 |
+
| **Spatiotemporal Grounding** | Locate instruments/anatomy in space and time |
|
| 24 |
+
| **Dense Captioning** | Time-stamped descriptions of action segments |
|
| 25 |
+
| **Next Action Prediction** | Predict the next procedural step |
|
| 26 |
+
| **Video Summary** | Summarize the surgical procedure |
|
| 27 |
+
| **Region Caption** | Describe activity of a specific instrument/region |
|
| 28 |
+
| **CVS Assessment** | Score Critical View of Safety criteria |
|
| 29 |
+
| **Skill Assessment** | Rate surgical skill (1–5 scale) |
|
| 30 |
+
|
| 31 |
+
## Data Sources
|
| 32 |
+
|
| 33 |
+
Examples drawn from 8 medical video datasets: AVOS, Cholec80-CVS, CholecT50, CholecTrack20, CoPESD, EgoSurgery, NurViD, and JIGSAWS.
|
| 34 |
+
|
| 35 |
+
## Links
|
| 36 |
+
|
| 37 |
+
- [Paper](https://arxiv.org/abs/2512.06581)
|
| 38 |
+
- [MedVidBench](https://huggingface.co/datasets/UIIAmerica/MedVidBench)
|
| 39 |
+
- [MedVidBench Leaderboard](https://huggingface.co/spaces/UIIAmerica/MedVidBench-Leaderboard)
|
app.py
ADDED
|
@@ -0,0 +1,222 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
MedVidQA Demo — Qwen3.5-VL Medical Video Understanding
|
| 3 |
+
|
| 4 |
+
A Gradio demo showcasing Qwen3.5-VL fine-tuned on MedVidBench across 8 medical
|
| 5 |
+
video understanding tasks. Examples are pre-computed from the test set.
|
| 6 |
+
"""
|
| 7 |
+
|
| 8 |
+
import json
|
| 9 |
+
from pathlib import Path
|
| 10 |
+
|
| 11 |
+
import gradio as gr
|
| 12 |
+
|
| 13 |
+
ROOT = Path(__file__).parent
|
| 14 |
+
|
| 15 |
+
# Load examples
|
| 16 |
+
with open(ROOT / "examples.json") as f:
|
| 17 |
+
EXAMPLES = json.load(f)
|
| 18 |
+
|
| 19 |
+
# Task metadata: short descriptions and emoji icons
|
| 20 |
+
TASK_INFO = {
|
| 21 |
+
"Temporal Action Localization": {
|
| 22 |
+
"icon": "⏱️",
|
| 23 |
+
"short": "TAL",
|
| 24 |
+
"desc": "Identify when specific surgical actions occur in the video (start–end times).",
|
| 25 |
+
},
|
| 26 |
+
"Spatiotemporal Grounding": {
|
| 27 |
+
"icon": "📍",
|
| 28 |
+
"short": "STG",
|
| 29 |
+
"desc": "Locate instruments or anatomy in both space (bounding boxes) and time.",
|
| 30 |
+
},
|
| 31 |
+
"Dense Captioning": {
|
| 32 |
+
"icon": "📝",
|
| 33 |
+
"short": "DC",
|
| 34 |
+
"desc": "Generate detailed, time-stamped descriptions of each action segment.",
|
| 35 |
+
},
|
| 36 |
+
"Next Action Prediction": {
|
| 37 |
+
"icon": "🔮",
|
| 38 |
+
"short": "NAP",
|
| 39 |
+
"desc": "Predict the next procedural step given the current video context.",
|
| 40 |
+
},
|
| 41 |
+
"Video Summary": {
|
| 42 |
+
"icon": "📋",
|
| 43 |
+
"short": "VS",
|
| 44 |
+
"desc": "Produce a concise summary of the entire surgical procedure shown.",
|
| 45 |
+
},
|
| 46 |
+
"Region Caption": {
|
| 47 |
+
"icon": "🔍",
|
| 48 |
+
"short": "RC",
|
| 49 |
+
"desc": "Describe the activity of a specific instrument or region across the clip.",
|
| 50 |
+
},
|
| 51 |
+
"CVS Assessment": {
|
| 52 |
+
"icon": "✅",
|
| 53 |
+
"short": "CVS",
|
| 54 |
+
"desc": "Score the three Critical View of Safety criteria for cholecystectomy.",
|
| 55 |
+
},
|
| 56 |
+
"Skill Assessment": {
|
| 57 |
+
"icon": "🎯",
|
| 58 |
+
"short": "SA",
|
| 59 |
+
"desc": "Rate surgical skill on multiple dimensions (1–5 scale).",
|
| 60 |
+
},
|
| 61 |
+
}
|
| 62 |
+
|
| 63 |
+
TASKS = list(TASK_INFO.keys())
|
| 64 |
+
|
| 65 |
+
|
| 66 |
+
def get_examples_for_task(task_name: str) -> list[dict]:
|
| 67 |
+
return [ex for ex in EXAMPLES if ex["task"] == task_name]
|
| 68 |
+
|
| 69 |
+
|
| 70 |
+
def load_example(task_name: str, example_idx: int):
|
| 71 |
+
"""Return (gallery_images, question, ground_truth, prediction, info_text)."""
|
| 72 |
+
task_examples = get_examples_for_task(task_name)
|
| 73 |
+
if not task_examples or example_idx >= len(task_examples):
|
| 74 |
+
return [], "", "", "", ""
|
| 75 |
+
|
| 76 |
+
ex = task_examples[example_idx]
|
| 77 |
+
images = []
|
| 78 |
+
for fp in ex["frames"]:
|
| 79 |
+
full_path = ROOT / fp
|
| 80 |
+
if full_path.exists():
|
| 81 |
+
images.append(str(full_path))
|
| 82 |
+
|
| 83 |
+
info = (
|
| 84 |
+
f"**Task:** {ex['task']} \n"
|
| 85 |
+
f"**Data Source:** {ex['data_source']} \n"
|
| 86 |
+
f"**Original Frames:** {ex['n_original_frames']} "
|
| 87 |
+
f"(showing {len(images)} sampled)"
|
| 88 |
+
)
|
| 89 |
+
|
| 90 |
+
return images, ex["question"], ex["ground_truth"], ex["prediction"], info
|
| 91 |
+
|
| 92 |
+
|
| 93 |
+
def on_task_change(task_name):
|
| 94 |
+
"""When task changes, load example 0 and update dropdown."""
|
| 95 |
+
task_examples = get_examples_for_task(task_name)
|
| 96 |
+
choices = [f"Example {i+1}" for i in range(len(task_examples))]
|
| 97 |
+
images, question, gt, pred, info = load_example(task_name, 0)
|
| 98 |
+
task_meta = TASK_INFO[task_name]
|
| 99 |
+
desc = f"### {task_meta['icon']} {task_name} ({task_meta['short']})\n{task_meta['desc']}"
|
| 100 |
+
return (
|
| 101 |
+
gr.update(choices=choices, value=choices[0] if choices else None),
|
| 102 |
+
images,
|
| 103 |
+
question,
|
| 104 |
+
gt,
|
| 105 |
+
pred,
|
| 106 |
+
info,
|
| 107 |
+
desc,
|
| 108 |
+
)
|
| 109 |
+
|
| 110 |
+
|
| 111 |
+
def on_example_change(task_name, example_choice):
|
| 112 |
+
"""When example dropdown changes, load that example."""
|
| 113 |
+
if not example_choice:
|
| 114 |
+
return [], "", "", "", ""
|
| 115 |
+
idx = int(example_choice.split()[-1]) - 1
|
| 116 |
+
return load_example(task_name, idx)
|
| 117 |
+
|
| 118 |
+
|
| 119 |
+
# ── Build UI ──────────────────────────────────────────────────────────────────
|
| 120 |
+
|
| 121 |
+
TITLE = "🏥 MedVidQA — Medical Video Understanding with Qwen3.5-VL"
|
| 122 |
+
|
| 123 |
+
DESCRIPTION = """
|
| 124 |
+
This demo showcases **Qwen3.5-VL** fine-tuned on [MedVidBench](https://huggingface.co/datasets/UIIAmerica/MedVidBench)
|
| 125 |
+
for medical video question answering. The model handles **8 distinct tasks** spanning temporal reasoning,
|
| 126 |
+
spatial grounding, captioning, and clinical assessment across diverse surgical and nursing video sources.
|
| 127 |
+
|
| 128 |
+
Select a task and example below to see the model's predictions compared to ground truth.
|
| 129 |
+
|
| 130 |
+
> **Note:** Examples are pre-computed from the test set. Video frames are subsampled for display.
|
| 131 |
+
"""
|
| 132 |
+
|
| 133 |
+
CSS = """
|
| 134 |
+
.task-btn { min-height: 60px !important; }
|
| 135 |
+
.output-box { min-height: 120px; }
|
| 136 |
+
#gallery { height: 380px !important; }
|
| 137 |
+
"""
|
| 138 |
+
|
| 139 |
+
with gr.Blocks(
|
| 140 |
+
title="MedVidQA Demo",
|
| 141 |
+
css=CSS,
|
| 142 |
+
theme=gr.themes.Soft(primary_hue="blue", secondary_hue="sky"),
|
| 143 |
+
) as demo:
|
| 144 |
+
gr.Markdown(f"# {TITLE}")
|
| 145 |
+
gr.Markdown(DESCRIPTION)
|
| 146 |
+
|
| 147 |
+
with gr.Row():
|
| 148 |
+
# ── Left: Task selection ──
|
| 149 |
+
with gr.Column(scale=1):
|
| 150 |
+
gr.Markdown("### Select Task")
|
| 151 |
+
task_radio = gr.Radio(
|
| 152 |
+
choices=TASKS,
|
| 153 |
+
value=TASKS[0],
|
| 154 |
+
label="Task",
|
| 155 |
+
interactive=True,
|
| 156 |
+
)
|
| 157 |
+
task_desc = gr.Markdown(
|
| 158 |
+
f"### {TASK_INFO[TASKS[0]]['icon']} {TASKS[0]} "
|
| 159 |
+
f"({TASK_INFO[TASKS[0]]['short']})\n{TASK_INFO[TASKS[0]]['desc']}"
|
| 160 |
+
)
|
| 161 |
+
example_dropdown = gr.Dropdown(
|
| 162 |
+
choices=["Example 1", "Example 2"],
|
| 163 |
+
value="Example 1",
|
| 164 |
+
label="Choose Example",
|
| 165 |
+
interactive=True,
|
| 166 |
+
)
|
| 167 |
+
info_md = gr.Markdown("")
|
| 168 |
+
|
| 169 |
+
# ── Right: Display ──
|
| 170 |
+
with gr.Column(scale=3):
|
| 171 |
+
gallery = gr.Gallery(
|
| 172 |
+
label="Video Frames",
|
| 173 |
+
columns=4,
|
| 174 |
+
rows=2,
|
| 175 |
+
height=380,
|
| 176 |
+
object_fit="contain",
|
| 177 |
+
elem_id="gallery",
|
| 178 |
+
)
|
| 179 |
+
with gr.Row():
|
| 180 |
+
with gr.Column():
|
| 181 |
+
question_box = gr.Textbox(
|
| 182 |
+
label="Question",
|
| 183 |
+
lines=4,
|
| 184 |
+
interactive=False,
|
| 185 |
+
elem_classes="output-box",
|
| 186 |
+
)
|
| 187 |
+
with gr.Column():
|
| 188 |
+
gt_box = gr.Textbox(
|
| 189 |
+
label="Ground Truth",
|
| 190 |
+
lines=4,
|
| 191 |
+
interactive=False,
|
| 192 |
+
elem_classes="output-box",
|
| 193 |
+
)
|
| 194 |
+
with gr.Column():
|
| 195 |
+
pred_box = gr.Textbox(
|
| 196 |
+
label="Model Prediction",
|
| 197 |
+
lines=4,
|
| 198 |
+
interactive=False,
|
| 199 |
+
elem_classes="output-box",
|
| 200 |
+
)
|
| 201 |
+
|
| 202 |
+
# ── Events ──
|
| 203 |
+
task_radio.change(
|
| 204 |
+
fn=on_task_change,
|
| 205 |
+
inputs=[task_radio],
|
| 206 |
+
outputs=[example_dropdown, gallery, question_box, gt_box, pred_box, info_md, task_desc],
|
| 207 |
+
)
|
| 208 |
+
example_dropdown.change(
|
| 209 |
+
fn=on_example_change,
|
| 210 |
+
inputs=[task_radio, example_dropdown],
|
| 211 |
+
outputs=[gallery, question_box, gt_box, pred_box, info_md],
|
| 212 |
+
)
|
| 213 |
+
|
| 214 |
+
# Load first example on start
|
| 215 |
+
demo.load(
|
| 216 |
+
fn=on_task_change,
|
| 217 |
+
inputs=[task_radio],
|
| 218 |
+
outputs=[example_dropdown, gallery, question_box, gt_box, pred_box, info_md, task_desc],
|
| 219 |
+
)
|
| 220 |
+
|
| 221 |
+
if __name__ == "__main__":
|
| 222 |
+
demo.launch()
|
examples.json
ADDED
|
@@ -0,0 +1,450 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"id": 0,
|
| 4 |
+
"task": "Temporal Action Localization",
|
| 5 |
+
"qa_type": "tal",
|
| 6 |
+
"data_source": "NurViD",
|
| 7 |
+
"question": "You are a specialist in analyzing nursing procedure videos. This clip presents a portion of a nursing task performed by a healthcare professional. The video shows part of the Vital Sign Assessment procedure. Possible actions include: Check the blood pressure meter, Check the thermometer, Document, Handwashing, Measure blood pressure, Measure body temperature, Measure pulse, Measure respiration. When does Measure pulse happen?",
|
| 8 |
+
"ground_truth": "46.0-61.8 seconds.",
|
| 9 |
+
"prediction": "43.0-65.0 seconds.",
|
| 10 |
+
"frames": [
|
| 11 |
+
"examples/example_000/frame_000.jpg",
|
| 12 |
+
"examples/example_000/frame_001.jpg",
|
| 13 |
+
"examples/example_000/frame_002.jpg",
|
| 14 |
+
"examples/example_000/frame_003.jpg",
|
| 15 |
+
"examples/example_000/frame_004.jpg",
|
| 16 |
+
"examples/example_000/frame_005.jpg",
|
| 17 |
+
"examples/example_000/frame_006.jpg",
|
| 18 |
+
"examples/example_000/frame_007.jpg",
|
| 19 |
+
"examples/example_000/frame_008.jpg",
|
| 20 |
+
"examples/example_000/frame_009.jpg",
|
| 21 |
+
"examples/example_000/frame_010.jpg",
|
| 22 |
+
"examples/example_000/frame_011.jpg",
|
| 23 |
+
"examples/example_000/frame_012.jpg",
|
| 24 |
+
"examples/example_000/frame_013.jpg",
|
| 25 |
+
"examples/example_000/frame_014.jpg",
|
| 26 |
+
"examples/example_000/frame_015.jpg"
|
| 27 |
+
],
|
| 28 |
+
"n_original_frames": 66
|
| 29 |
+
},
|
| 30 |
+
{
|
| 31 |
+
"id": 1,
|
| 32 |
+
"task": "Temporal Action Localization",
|
| 33 |
+
"qa_type": "tal",
|
| 34 |
+
"data_source": "NurViD",
|
| 35 |
+
"question": "You are an expert in clinical video analysis. The video depicts a stage of a nursing procedure, showing specific actions within the process. The video shows part of the Vital Sign Assessment procedure. Possible actions include: Check the blood pressure meter, Check the thermometer, Document, Handwashing, Measure blood pressure, Measure body temperature, Measure pulse, Measure respiration. When does Measure respiration happen?",
|
| 36 |
+
"ground_truth": "40.4-50.8 seconds.",
|
| 37 |
+
"prediction": "42.0-56.0 seconds.",
|
| 38 |
+
"frames": [
|
| 39 |
+
"examples/example_001/frame_000.jpg",
|
| 40 |
+
"examples/example_001/frame_001.jpg",
|
| 41 |
+
"examples/example_001/frame_002.jpg",
|
| 42 |
+
"examples/example_001/frame_003.jpg",
|
| 43 |
+
"examples/example_001/frame_004.jpg",
|
| 44 |
+
"examples/example_001/frame_005.jpg",
|
| 45 |
+
"examples/example_001/frame_006.jpg",
|
| 46 |
+
"examples/example_001/frame_007.jpg",
|
| 47 |
+
"examples/example_001/frame_008.jpg",
|
| 48 |
+
"examples/example_001/frame_009.jpg",
|
| 49 |
+
"examples/example_001/frame_010.jpg",
|
| 50 |
+
"examples/example_001/frame_011.jpg",
|
| 51 |
+
"examples/example_001/frame_012.jpg",
|
| 52 |
+
"examples/example_001/frame_013.jpg",
|
| 53 |
+
"examples/example_001/frame_014.jpg",
|
| 54 |
+
"examples/example_001/frame_015.jpg"
|
| 55 |
+
],
|
| 56 |
+
"n_original_frames": 70
|
| 57 |
+
},
|
| 58 |
+
{
|
| 59 |
+
"id": 2,
|
| 60 |
+
"task": "Spatiotemporal Grounding",
|
| 61 |
+
"qa_type": "stg",
|
| 62 |
+
"data_source": "CholecTrack20",
|
| 63 |
+
"question": "You are a specialist in analyzing minimally invasive surgery videos. This recording shows a laparoscopic cholecystectomy, a procedure to remove the gallbladder through small abdominal incisions. Between 60.0 seconds and 72.0 seconds, where is the grasper every 4 seconds?",
|
| 64 |
+
"ground_truth": "60.0 seconds: [130, 352, 222, 462] 64.0 seconds: [131, 321, 225, 410] 68.0 seconds: [129, 360, 206, 446] 72.0 seconds: [128, 333, 260, 438]",
|
| 65 |
+
"prediction": "60.0 seconds: [640, 0, 744, 110] 64.0 seconds: [640, 0, 744, 110] 68.0 seconds: [640, 0, 744, 110] 72.0 seconds: [640, 0, 744, 110]",
|
| 66 |
+
"frames": [
|
| 67 |
+
"examples/example_002/frame_000.jpg",
|
| 68 |
+
"examples/example_002/frame_001.jpg",
|
| 69 |
+
"examples/example_002/frame_002.jpg",
|
| 70 |
+
"examples/example_002/frame_003.jpg",
|
| 71 |
+
"examples/example_002/frame_004.jpg",
|
| 72 |
+
"examples/example_002/frame_005.jpg",
|
| 73 |
+
"examples/example_002/frame_006.jpg",
|
| 74 |
+
"examples/example_002/frame_007.jpg",
|
| 75 |
+
"examples/example_002/frame_008.jpg",
|
| 76 |
+
"examples/example_002/frame_009.jpg",
|
| 77 |
+
"examples/example_002/frame_010.jpg",
|
| 78 |
+
"examples/example_002/frame_011.jpg",
|
| 79 |
+
"examples/example_002/frame_012.jpg",
|
| 80 |
+
"examples/example_002/frame_013.jpg",
|
| 81 |
+
"examples/example_002/frame_014.jpg",
|
| 82 |
+
"examples/example_002/frame_015.jpg"
|
| 83 |
+
],
|
| 84 |
+
"n_original_frames": 90
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"id": 3,
|
| 88 |
+
"task": "Spatiotemporal Grounding",
|
| 89 |
+
"qa_type": "stg",
|
| 90 |
+
"data_source": "CholecTrack20",
|
| 91 |
+
"question": "You are an expert surgical analyst specializing in minimally invasive procedures. This video shows an endoscopic view of a laparoscopic cholecystectomy, a keyhole surgery to remove the gallbladder. Give the bounding boxes for the hook at every 4 seconds between 5.0 and 29.0 seconds.",
|
| 92 |
+
"ground_truth": "5.0 seconds: [578, 102, 834, 479] 9.0 seconds: [541, 202, 671, 433] 13.0 seconds: [632, 85, 841, 408] 17.0 seconds: [614, 208, 762, 433] 21.0 seconds: [651, 419, 759, 569] 25.0 seconds: [596, 79, 707, 333] 29.0 seconds: [562, 179, 707, 423]",
|
| 93 |
+
"prediction": "5.0 seconds: [560, 323, 679, 508] 9.0 seconds: [560, 323, 679, 508] 13.0 seconds: [560, 323, 679, 508] 17.0 seconds: [560, 323, 679, 508] 21.0 seconds: [560, 323, 679, 508] 25.0 seconds: [560, 323, 679, 508] 29.0 seconds: [560, 323, 679, 508]",
|
| 94 |
+
"frames": [
|
| 95 |
+
"examples/example_003/frame_000.jpg",
|
| 96 |
+
"examples/example_003/frame_001.jpg",
|
| 97 |
+
"examples/example_003/frame_002.jpg",
|
| 98 |
+
"examples/example_003/frame_003.jpg",
|
| 99 |
+
"examples/example_003/frame_004.jpg",
|
| 100 |
+
"examples/example_003/frame_005.jpg",
|
| 101 |
+
"examples/example_003/frame_006.jpg",
|
| 102 |
+
"examples/example_003/frame_007.jpg",
|
| 103 |
+
"examples/example_003/frame_008.jpg",
|
| 104 |
+
"examples/example_003/frame_009.jpg",
|
| 105 |
+
"examples/example_003/frame_010.jpg",
|
| 106 |
+
"examples/example_003/frame_011.jpg",
|
| 107 |
+
"examples/example_003/frame_012.jpg",
|
| 108 |
+
"examples/example_003/frame_013.jpg",
|
| 109 |
+
"examples/example_003/frame_014.jpg",
|
| 110 |
+
"examples/example_003/frame_015.jpg"
|
| 111 |
+
],
|
| 112 |
+
"n_original_frames": 60
|
| 113 |
+
},
|
| 114 |
+
{
|
| 115 |
+
"id": 4,
|
| 116 |
+
"task": "Dense Captioning",
|
| 117 |
+
"qa_type": "dense_captioning_gemini",
|
| 118 |
+
"data_source": "NurViD",
|
| 119 |
+
"question": "You are an expert in procedural video interpretation. This video shows part of a nursing procedure performed in a clinical environment. You are reviewing a Infusion by Pump procedure. Detect and caption only clinically relevant actions from Connect infusion device, Flush the sealed tube, Release trapped air, Set parameters. Return start/end times with a brief, objective description.",
|
| 120 |
+
"ground_truth": "35.0-50.0 seconds: set parameters: A gloved hand interacts with the Baxter IV pump's control panel and screen, navigating through menus, inputting characters via the keypad to type a drug name, and selecting a specific drug from a displayed list, thereby setting the infusion parameters.",
|
| 121 |
+
"prediction": "0.0-14.0 seconds: flush the sealed tube: A gloved hand inserts a syringe into the port of a sealed IV catheter on the mannequin's arm, depresses the plunger to flush the line, and then detaches the syringe, leaving the IV port cap in place.\n33.0-50.0 seconds: set parameters: A gloved hand interacts with the control panel of an infusion pump, pressing buttons to adjust settings and confirm parameters, while the pump's display updates to reflect the configured infusion protocol.",
|
| 122 |
+
"frames": [
|
| 123 |
+
"examples/example_004/frame_000.jpg",
|
| 124 |
+
"examples/example_004/frame_001.jpg",
|
| 125 |
+
"examples/example_004/frame_002.jpg",
|
| 126 |
+
"examples/example_004/frame_003.jpg",
|
| 127 |
+
"examples/example_004/frame_004.jpg",
|
| 128 |
+
"examples/example_004/frame_005.jpg",
|
| 129 |
+
"examples/example_004/frame_006.jpg",
|
| 130 |
+
"examples/example_004/frame_007.jpg",
|
| 131 |
+
"examples/example_004/frame_008.jpg",
|
| 132 |
+
"examples/example_004/frame_009.jpg",
|
| 133 |
+
"examples/example_004/frame_010.jpg",
|
| 134 |
+
"examples/example_004/frame_011.jpg",
|
| 135 |
+
"examples/example_004/frame_012.jpg",
|
| 136 |
+
"examples/example_004/frame_013.jpg",
|
| 137 |
+
"examples/example_004/frame_014.jpg",
|
| 138 |
+
"examples/example_004/frame_015.jpg"
|
| 139 |
+
],
|
| 140 |
+
"n_original_frames": 67
|
| 141 |
+
},
|
| 142 |
+
{
|
| 143 |
+
"id": 5,
|
| 144 |
+
"task": "Dense Captioning",
|
| 145 |
+
"qa_type": "dense_captioning_gpt",
|
| 146 |
+
"data_source": "NurViD",
|
| 147 |
+
"question": "You are a specialist in analyzing nursing procedure videos. This clip presents a portion of a nursing task performed by a healthcare professional. The following video is part of a Perineal Care procedure. Construct a compact summary of all occurrences of Clean and scrub the perineum, Draw bed curtains, Place an underpad, Position the patient. For each, provide [start, end] and a one-sentence caption.",
|
| 148 |
+
"ground_truth": "39.6-50.6 seconds: place an underpad: Over the course of these frames, the nurse\u2014wearing gloves\u2014unfolds and maneuvers an absorbent underpad beneath the patient\u2019s hips, ensuring it is smoothed into place and extends fully under the pelvic and perineal area in preparation for perineal care.",
|
| 149 |
+
"prediction": "41.0-50.0 seconds: place an underpad: The nurse unfolds and positions an underpad beneath the patient's hips, then rolls the patient's gown down to expose the perineal area, and finally smooths the underpad into place.",
|
| 150 |
+
"frames": [
|
| 151 |
+
"examples/example_005/frame_000.jpg",
|
| 152 |
+
"examples/example_005/frame_001.jpg",
|
| 153 |
+
"examples/example_005/frame_002.jpg",
|
| 154 |
+
"examples/example_005/frame_003.jpg",
|
| 155 |
+
"examples/example_005/frame_004.jpg",
|
| 156 |
+
"examples/example_005/frame_005.jpg",
|
| 157 |
+
"examples/example_005/frame_006.jpg",
|
| 158 |
+
"examples/example_005/frame_007.jpg",
|
| 159 |
+
"examples/example_005/frame_008.jpg",
|
| 160 |
+
"examples/example_005/frame_009.jpg",
|
| 161 |
+
"examples/example_005/frame_010.jpg",
|
| 162 |
+
"examples/example_005/frame_011.jpg",
|
| 163 |
+
"examples/example_005/frame_012.jpg",
|
| 164 |
+
"examples/example_005/frame_013.jpg",
|
| 165 |
+
"examples/example_005/frame_014.jpg",
|
| 166 |
+
"examples/example_005/frame_015.jpg"
|
| 167 |
+
],
|
| 168 |
+
"n_original_frames": 51
|
| 169 |
+
},
|
| 170 |
+
{
|
| 171 |
+
"id": 6,
|
| 172 |
+
"task": "Next Action Prediction",
|
| 173 |
+
"qa_type": "next_action",
|
| 174 |
+
"data_source": "CholecT50",
|
| 175 |
+
"question": "You are an expert in operative video analysis. The following video contains endoscopic footage of a laparoscopic cholecystectomy, where the gallbladder is removed using small incisions and specialized instruments. Based on the phase candidates: ['preparation', 'carlot-triangle-dissection', 'clipping-and-cutting', 'gallbladder-dissection', 'gallbladder-packaging', 'cleaning-and-coagulation', 'gallbladder-extraction'], predict the next step after this video.",
|
| 176 |
+
"ground_truth": "gallbladder-extraction",
|
| 177 |
+
"prediction": "gallbladder-extraction",
|
| 178 |
+
"frames": [
|
| 179 |
+
"examples/example_006/frame_000.jpg",
|
| 180 |
+
"examples/example_006/frame_001.jpg",
|
| 181 |
+
"examples/example_006/frame_002.jpg",
|
| 182 |
+
"examples/example_006/frame_003.jpg",
|
| 183 |
+
"examples/example_006/frame_004.jpg",
|
| 184 |
+
"examples/example_006/frame_005.jpg",
|
| 185 |
+
"examples/example_006/frame_006.jpg",
|
| 186 |
+
"examples/example_006/frame_007.jpg",
|
| 187 |
+
"examples/example_006/frame_008.jpg",
|
| 188 |
+
"examples/example_006/frame_009.jpg",
|
| 189 |
+
"examples/example_006/frame_010.jpg",
|
| 190 |
+
"examples/example_006/frame_011.jpg",
|
| 191 |
+
"examples/example_006/frame_012.jpg",
|
| 192 |
+
"examples/example_006/frame_013.jpg",
|
| 193 |
+
"examples/example_006/frame_014.jpg",
|
| 194 |
+
"examples/example_006/frame_015.jpg"
|
| 195 |
+
],
|
| 196 |
+
"n_original_frames": 53
|
| 197 |
+
},
|
| 198 |
+
{
|
| 199 |
+
"id": 7,
|
| 200 |
+
"task": "Next Action Prediction",
|
| 201 |
+
"qa_type": "next_action",
|
| 202 |
+
"data_source": "NurViD",
|
| 203 |
+
"question": "You are an expert in understanding procedural healthcare videos. This recording shows a partial sequence from a nursing procedure in a clinical setting. The Perineal Care procedure includes the following step list: Clean and scrub the perineum, Draw bed curtains, Place an underpad, Position the patient. What comes next after the current video?",
|
| 204 |
+
"ground_truth": "Position the patient",
|
| 205 |
+
"prediction": "Place an underpad",
|
| 206 |
+
"frames": [
|
| 207 |
+
"examples/example_007/frame_000.jpg",
|
| 208 |
+
"examples/example_007/frame_001.jpg",
|
| 209 |
+
"examples/example_007/frame_002.jpg",
|
| 210 |
+
"examples/example_007/frame_003.jpg",
|
| 211 |
+
"examples/example_007/frame_004.jpg",
|
| 212 |
+
"examples/example_007/frame_005.jpg",
|
| 213 |
+
"examples/example_007/frame_006.jpg",
|
| 214 |
+
"examples/example_007/frame_007.jpg",
|
| 215 |
+
"examples/example_007/frame_008.jpg",
|
| 216 |
+
"examples/example_007/frame_009.jpg",
|
| 217 |
+
"examples/example_007/frame_010.jpg",
|
| 218 |
+
"examples/example_007/frame_011.jpg",
|
| 219 |
+
"examples/example_007/frame_012.jpg",
|
| 220 |
+
"examples/example_007/frame_013.jpg",
|
| 221 |
+
"examples/example_007/frame_014.jpg",
|
| 222 |
+
"examples/example_007/frame_015.jpg"
|
| 223 |
+
],
|
| 224 |
+
"n_original_frames": 64
|
| 225 |
+
},
|
| 226 |
+
{
|
| 227 |
+
"id": 8,
|
| 228 |
+
"task": "Video Summary",
|
| 229 |
+
"qa_type": "video_summary_gpt",
|
| 230 |
+
"data_source": "CoPESD",
|
| 231 |
+
"question": "You are an expert in surgical video interpretation. The following clip depicts an endoscopic submucosal dissection (ESD), a precise technique for lesion removal captured via an endoscopic camera. What is this video generally about? Write a short summary capturing the overall activity.",
|
| 232 |
+
"ground_truth": "The forceps consistently elevate and retract the mucosal flap, optimizing submucosal exposure, while the knife intermittently dissects the flap margin with controlled strokes during coordinated tissue separation.",
|
| 233 |
+
"prediction": "The procedure alternates between forceps-driven mucosal flap retraction and precise knife dissection, with coordinated instrument pauses for exposure optimization, enabling controlled, progressive submucosal tissue separation.",
|
| 234 |
+
"frames": [
|
| 235 |
+
"examples/example_008/frame_000.jpg",
|
| 236 |
+
"examples/example_008/frame_001.jpg",
|
| 237 |
+
"examples/example_008/frame_002.jpg",
|
| 238 |
+
"examples/example_008/frame_003.jpg",
|
| 239 |
+
"examples/example_008/frame_004.jpg",
|
| 240 |
+
"examples/example_008/frame_005.jpg",
|
| 241 |
+
"examples/example_008/frame_006.jpg",
|
| 242 |
+
"examples/example_008/frame_007.jpg",
|
| 243 |
+
"examples/example_008/frame_008.jpg",
|
| 244 |
+
"examples/example_008/frame_009.jpg",
|
| 245 |
+
"examples/example_008/frame_010.jpg",
|
| 246 |
+
"examples/example_008/frame_011.jpg",
|
| 247 |
+
"examples/example_008/frame_012.jpg",
|
| 248 |
+
"examples/example_008/frame_013.jpg",
|
| 249 |
+
"examples/example_008/frame_014.jpg",
|
| 250 |
+
"examples/example_008/frame_015.jpg"
|
| 251 |
+
],
|
| 252 |
+
"n_original_frames": 64
|
| 253 |
+
},
|
| 254 |
+
{
|
| 255 |
+
"id": 9,
|
| 256 |
+
"task": "Video Summary",
|
| 257 |
+
"qa_type": "video_summary_gpt",
|
| 258 |
+
"data_source": "CoPESD",
|
| 259 |
+
"question": "You are an expert surgical video reviewer. This endoscopic footage captures the steps of a submucosal dissection, a minimally invasive procedure for precise tissue removal. Give a concise overview of what the video is about, without going into detailed steps.",
|
| 260 |
+
"ground_truth": "The procedure features coordinated forceps-driven elevation and retraction of the mucosal flap, intermittently enabling precise submucosal dissection by the knife, with careful transitions between active dissection and controlled exposure.",
|
| 261 |
+
"prediction": "The procedure alternates between forceps-mediated mucosal flap retraction and knife dissection, with coordinated instrument adjustments ensuring controlled submucosal separation and optimal visualization throughout the resection.",
|
| 262 |
+
"frames": [
|
| 263 |
+
"examples/example_009/frame_000.jpg",
|
| 264 |
+
"examples/example_009/frame_001.jpg",
|
| 265 |
+
"examples/example_009/frame_002.jpg",
|
| 266 |
+
"examples/example_009/frame_003.jpg",
|
| 267 |
+
"examples/example_009/frame_004.jpg",
|
| 268 |
+
"examples/example_009/frame_005.jpg",
|
| 269 |
+
"examples/example_009/frame_006.jpg",
|
| 270 |
+
"examples/example_009/frame_007.jpg",
|
| 271 |
+
"examples/example_009/frame_008.jpg",
|
| 272 |
+
"examples/example_009/frame_009.jpg",
|
| 273 |
+
"examples/example_009/frame_010.jpg",
|
| 274 |
+
"examples/example_009/frame_011.jpg",
|
| 275 |
+
"examples/example_009/frame_012.jpg",
|
| 276 |
+
"examples/example_009/frame_013.jpg",
|
| 277 |
+
"examples/example_009/frame_014.jpg",
|
| 278 |
+
"examples/example_009/frame_015.jpg"
|
| 279 |
+
],
|
| 280 |
+
"n_original_frames": 53
|
| 281 |
+
},
|
| 282 |
+
{
|
| 283 |
+
"id": 10,
|
| 284 |
+
"task": "Region Caption",
|
| 285 |
+
"qa_type": "region_caption_gemini",
|
| 286 |
+
"data_source": "CholecTrack20",
|
| 287 |
+
"question": "You are an expert surgical video reviewer. This endoscopic footage captures the steps of a laparoscopic cholecystectomy, a minimally invasive gallbladder removal surgery. Describe the activity or state of the object inside the bounding box at 0.0 seconds, over the interval from 0.0 to 30.0 seconds.",
|
| 288 |
+
"ground_truth": "Positioned on the left side of the field, this grasper consistently retracts the gallbladder to maintain surgical exposure during dissection.",
|
| 289 |
+
"prediction": "The grasper on the top left consistently holds and retracts the gallbladder to provide exposure of the dissection area throughout the sequence.",
|
| 290 |
+
"frames": [
|
| 291 |
+
"examples/example_010/frame_000.jpg",
|
| 292 |
+
"examples/example_010/frame_001.jpg",
|
| 293 |
+
"examples/example_010/frame_002.jpg",
|
| 294 |
+
"examples/example_010/frame_003.jpg",
|
| 295 |
+
"examples/example_010/frame_004.jpg",
|
| 296 |
+
"examples/example_010/frame_005.jpg",
|
| 297 |
+
"examples/example_010/frame_006.jpg",
|
| 298 |
+
"examples/example_010/frame_007.jpg",
|
| 299 |
+
"examples/example_010/frame_008.jpg",
|
| 300 |
+
"examples/example_010/frame_009.jpg",
|
| 301 |
+
"examples/example_010/frame_010.jpg",
|
| 302 |
+
"examples/example_010/frame_011.jpg",
|
| 303 |
+
"examples/example_010/frame_012.jpg",
|
| 304 |
+
"examples/example_010/frame_013.jpg",
|
| 305 |
+
"examples/example_010/frame_014.jpg",
|
| 306 |
+
"examples/example_010/frame_015.jpg"
|
| 307 |
+
],
|
| 308 |
+
"n_original_frames": 60
|
| 309 |
+
},
|
| 310 |
+
{
|
| 311 |
+
"id": 11,
|
| 312 |
+
"task": "Region Caption",
|
| 313 |
+
"qa_type": "region_caption_gemini",
|
| 314 |
+
"data_source": "CholecTrack20",
|
| 315 |
+
"question": "You are an expert in surgical video interpretation. The following clip depicts a laparoscopic cholecystectomy, a minimally invasive operation for gallbladder removal, captured via an endoscopic camera. Describe the activity or state of the object inside the bounding box at 0.0 seconds, over the interval from 0.0 to 30.0 seconds.",
|
| 316 |
+
"ground_truth": "The grasper in the upper portion of the frame consistently grasps and retracts the gallbladder upwards, maintaining tension to expose the dissection plane for the other instruments.",
|
| 317 |
+
"prediction": "The grasper on the top right consistently retracts the gallbladder upward and to the right throughout the sequence, maintaining tension on the tissue.",
|
| 318 |
+
"frames": [
|
| 319 |
+
"examples/example_011/frame_000.jpg",
|
| 320 |
+
"examples/example_011/frame_001.jpg",
|
| 321 |
+
"examples/example_011/frame_002.jpg",
|
| 322 |
+
"examples/example_011/frame_003.jpg",
|
| 323 |
+
"examples/example_011/frame_004.jpg",
|
| 324 |
+
"examples/example_011/frame_005.jpg",
|
| 325 |
+
"examples/example_011/frame_006.jpg",
|
| 326 |
+
"examples/example_011/frame_007.jpg",
|
| 327 |
+
"examples/example_011/frame_008.jpg",
|
| 328 |
+
"examples/example_011/frame_009.jpg",
|
| 329 |
+
"examples/example_011/frame_010.jpg",
|
| 330 |
+
"examples/example_011/frame_011.jpg",
|
| 331 |
+
"examples/example_011/frame_012.jpg",
|
| 332 |
+
"examples/example_011/frame_013.jpg",
|
| 333 |
+
"examples/example_011/frame_014.jpg",
|
| 334 |
+
"examples/example_011/frame_015.jpg"
|
| 335 |
+
],
|
| 336 |
+
"n_original_frames": 60
|
| 337 |
+
},
|
| 338 |
+
{
|
| 339 |
+
"id": 12,
|
| 340 |
+
"task": "CVS Assessment",
|
| 341 |
+
"qa_type": "cvs_assessment",
|
| 342 |
+
"data_source": "Cholec80_CVS",
|
| 343 |
+
"question": "You are an expert surgical video evaluator. This Cholec80-CVS recording is for assessing Strasberg\u2019s three Critical View of Safety criteria. Scoring the CVS requires evaluating three components: (1) Are there exactly two structures entering the gallbladder? (2) Is the cystic plate clearly seen? (3) Is the hepatocystic triangle free of tissue? Use a 0,1,2 scale for each.",
|
| 344 |
+
"ground_truth": "Two structures: 0, Cystic plate: 0, Hepatocystic triangle: 0",
|
| 345 |
+
"prediction": "Two structures: 0, Cystic plate: 0, Hepatocystic triangle: 0",
|
| 346 |
+
"frames": [
|
| 347 |
+
"examples/example_012/frame_000.jpg",
|
| 348 |
+
"examples/example_012/frame_001.jpg",
|
| 349 |
+
"examples/example_012/frame_002.jpg",
|
| 350 |
+
"examples/example_012/frame_003.jpg",
|
| 351 |
+
"examples/example_012/frame_004.jpg",
|
| 352 |
+
"examples/example_012/frame_005.jpg",
|
| 353 |
+
"examples/example_012/frame_006.jpg",
|
| 354 |
+
"examples/example_012/frame_007.jpg",
|
| 355 |
+
"examples/example_012/frame_008.jpg",
|
| 356 |
+
"examples/example_012/frame_009.jpg",
|
| 357 |
+
"examples/example_012/frame_010.jpg",
|
| 358 |
+
"examples/example_012/frame_011.jpg",
|
| 359 |
+
"examples/example_012/frame_012.jpg",
|
| 360 |
+
"examples/example_012/frame_013.jpg",
|
| 361 |
+
"examples/example_012/frame_014.jpg",
|
| 362 |
+
"examples/example_012/frame_015.jpg"
|
| 363 |
+
],
|
| 364 |
+
"n_original_frames": 120
|
| 365 |
+
},
|
| 366 |
+
{
|
| 367 |
+
"id": 13,
|
| 368 |
+
"task": "CVS Assessment",
|
| 369 |
+
"qa_type": "cvs_assessment",
|
| 370 |
+
"data_source": "Cholec80_CVS",
|
| 371 |
+
"question": "You are an expert in intraoperative safety assessment. This Cholec80-CVS clip is used to score the Critical View of Safety. For this laparoscopic cholecystectomy procedure, evaluate the Critical View of Safety based on the three essential criteria: proper identification of two structures, adequate cystic plate exposure, and complete hepatocystic triangle clearance. Provide scores (0,1,2) for each criterion.",
|
| 372 |
+
"ground_truth": "Two structures: 0, Cystic plate: 0, Hepatocystic triangle: 0",
|
| 373 |
+
"prediction": "Two structures: 0, Cystic plate: 0, Hepatocystic triangle: 0",
|
| 374 |
+
"frames": [
|
| 375 |
+
"examples/example_013/frame_000.jpg",
|
| 376 |
+
"examples/example_013/frame_001.jpg",
|
| 377 |
+
"examples/example_013/frame_002.jpg",
|
| 378 |
+
"examples/example_013/frame_003.jpg",
|
| 379 |
+
"examples/example_013/frame_004.jpg",
|
| 380 |
+
"examples/example_013/frame_005.jpg",
|
| 381 |
+
"examples/example_013/frame_006.jpg",
|
| 382 |
+
"examples/example_013/frame_007.jpg",
|
| 383 |
+
"examples/example_013/frame_008.jpg",
|
| 384 |
+
"examples/example_013/frame_009.jpg",
|
| 385 |
+
"examples/example_013/frame_010.jpg",
|
| 386 |
+
"examples/example_013/frame_011.jpg",
|
| 387 |
+
"examples/example_013/frame_012.jpg",
|
| 388 |
+
"examples/example_013/frame_013.jpg",
|
| 389 |
+
"examples/example_013/frame_014.jpg",
|
| 390 |
+
"examples/example_013/frame_015.jpg"
|
| 391 |
+
],
|
| 392 |
+
"n_original_frames": 120
|
| 393 |
+
},
|
| 394 |
+
{
|
| 395 |
+
"id": 14,
|
| 396 |
+
"task": "Skill Assessment",
|
| 397 |
+
"qa_type": "skill_assessment",
|
| 398 |
+
"data_source": "jigsaws",
|
| 399 |
+
"question": "You are a surgical analyst. The video shows basic robotic surgical tasks\u2014suturing, knot-tying, or needle-passing. Analyze the surgical performance and provide ratings (1,2,3,4,5) for: Respect for tissue, Suture/needle handling, Time and motion, Flow of operation, Overall performance, Quality of final product.",
|
| 400 |
+
"ground_truth": "Respect for tissue: 1/5, Suture/needle handling: 1/5, Time and motion: 2/5, Flow of operation: 3/5, Overall performance: 2/5, Quality of final product: 1/5",
|
| 401 |
+
"prediction": "Respect for tissue: 3/5, Suture/needle handling: 2/5, Time and motion: 2/5, Flow of operation: 3/5, Overall performance: 3/5, Quality of final product: 3/5",
|
| 402 |
+
"frames": [
|
| 403 |
+
"examples/example_014/frame_000.jpg",
|
| 404 |
+
"examples/example_014/frame_001.jpg",
|
| 405 |
+
"examples/example_014/frame_002.jpg",
|
| 406 |
+
"examples/example_014/frame_003.jpg",
|
| 407 |
+
"examples/example_014/frame_004.jpg",
|
| 408 |
+
"examples/example_014/frame_005.jpg",
|
| 409 |
+
"examples/example_014/frame_006.jpg",
|
| 410 |
+
"examples/example_014/frame_007.jpg",
|
| 411 |
+
"examples/example_014/frame_008.jpg",
|
| 412 |
+
"examples/example_014/frame_009.jpg",
|
| 413 |
+
"examples/example_014/frame_010.jpg",
|
| 414 |
+
"examples/example_014/frame_011.jpg",
|
| 415 |
+
"examples/example_014/frame_012.jpg",
|
| 416 |
+
"examples/example_014/frame_013.jpg",
|
| 417 |
+
"examples/example_014/frame_014.jpg",
|
| 418 |
+
"examples/example_014/frame_015.jpg"
|
| 419 |
+
],
|
| 420 |
+
"n_original_frames": 90
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"id": 15,
|
| 424 |
+
"task": "Skill Assessment",
|
| 425 |
+
"qa_type": "skill_assessment",
|
| 426 |
+
"data_source": "jigsaws",
|
| 427 |
+
"question": "You are a surgical analyst. The video shows basic robotic surgical tasks\u2014suturing, knot-tying, or needle-passing. Watch the entire video and assess the surgical skills. Provide scores (1,2,3,4,5) for each metric: Respect for tissue, Suture/needle handling, Time and motion, Flow of operation, Overall performance, Quality of final product.",
|
| 428 |
+
"ground_truth": "Respect for tissue: 3/5, Suture/needle handling: 3/5, Time and motion: 3/5, Flow of operation: 3/5, Overall performance: 3/5, Quality of final product: 3/5",
|
| 429 |
+
"prediction": "Respect for tissue: 1/5, Suture/needle handling: 1/5, Time and motion: 1/5, Flow of operation: 1/5, Overall performance: 1/5, Quality of final product: 1/5",
|
| 430 |
+
"frames": [
|
| 431 |
+
"examples/example_015/frame_000.jpg",
|
| 432 |
+
"examples/example_015/frame_001.jpg",
|
| 433 |
+
"examples/example_015/frame_002.jpg",
|
| 434 |
+
"examples/example_015/frame_003.jpg",
|
| 435 |
+
"examples/example_015/frame_004.jpg",
|
| 436 |
+
"examples/example_015/frame_005.jpg",
|
| 437 |
+
"examples/example_015/frame_006.jpg",
|
| 438 |
+
"examples/example_015/frame_007.jpg",
|
| 439 |
+
"examples/example_015/frame_008.jpg",
|
| 440 |
+
"examples/example_015/frame_009.jpg",
|
| 441 |
+
"examples/example_015/frame_010.jpg",
|
| 442 |
+
"examples/example_015/frame_011.jpg",
|
| 443 |
+
"examples/example_015/frame_012.jpg",
|
| 444 |
+
"examples/example_015/frame_013.jpg",
|
| 445 |
+
"examples/example_015/frame_014.jpg",
|
| 446 |
+
"examples/example_015/frame_015.jpg"
|
| 447 |
+
],
|
| 448 |
+
"n_original_frames": 60
|
| 449 |
+
}
|
| 450 |
+
]
|
examples/example_000/frame_000.jpg
ADDED
|
examples/example_000/frame_001.jpg
ADDED
|
examples/example_000/frame_002.jpg
ADDED
|
examples/example_000/frame_003.jpg
ADDED
|
examples/example_000/frame_004.jpg
ADDED
|
examples/example_000/frame_005.jpg
ADDED
|
examples/example_000/frame_006.jpg
ADDED
|
examples/example_000/frame_007.jpg
ADDED
|
examples/example_000/frame_008.jpg
ADDED
|
examples/example_000/frame_009.jpg
ADDED
|
examples/example_000/frame_010.jpg
ADDED
|
examples/example_000/frame_011.jpg
ADDED
|
examples/example_000/frame_012.jpg
ADDED
|
examples/example_000/frame_013.jpg
ADDED
|
examples/example_000/frame_014.jpg
ADDED
|
examples/example_000/frame_015.jpg
ADDED
|
examples/example_001/frame_000.jpg
ADDED
|
examples/example_001/frame_001.jpg
ADDED
|
examples/example_001/frame_002.jpg
ADDED
|
examples/example_001/frame_003.jpg
ADDED
|
examples/example_001/frame_004.jpg
ADDED
|
examples/example_001/frame_005.jpg
ADDED
|
examples/example_001/frame_006.jpg
ADDED
|
examples/example_001/frame_007.jpg
ADDED
|
examples/example_001/frame_008.jpg
ADDED
|
examples/example_001/frame_009.jpg
ADDED
|
examples/example_001/frame_010.jpg
ADDED
|
examples/example_001/frame_011.jpg
ADDED
|
examples/example_001/frame_012.jpg
ADDED
|
examples/example_001/frame_013.jpg
ADDED
|
examples/example_001/frame_014.jpg
ADDED
|
examples/example_001/frame_015.jpg
ADDED
|
examples/example_002/frame_000.jpg
ADDED
|
examples/example_002/frame_001.jpg
ADDED
|
examples/example_002/frame_002.jpg
ADDED
|
examples/example_002/frame_003.jpg
ADDED
|
examples/example_002/frame_004.jpg
ADDED
|
examples/example_002/frame_005.jpg
ADDED
|
examples/example_002/frame_006.jpg
ADDED
|
examples/example_002/frame_007.jpg
ADDED
|
examples/example_002/frame_008.jpg
ADDED
|
examples/example_002/frame_009.jpg
ADDED
|
examples/example_002/frame_010.jpg
ADDED
|
examples/example_002/frame_011.jpg
ADDED
|
examples/example_002/frame_012.jpg
ADDED
|
examples/example_002/frame_013.jpg
ADDED
|