Datasets:
Request access to Suturing Skills Action Clips
Fill in the form and accept the license to request access. QURE reviews each request by hand. Please tell us who you are and how you plan to use the dataset.
This dataset is shared for evaluation under the Dataset Evaluation License (LICENSE.md). You may not redistribute it or try to identify anyone who appears in it. It must not be used for clinical decisions.
Log in or Sign Up to review the conditions and access this dataset content.
Suturing Skills Action Clips
First-person video of suturing practice on a silicone pad, cut into one-action clips with structured JSON labels. Use it to fine-tune a vision-language model to describe an action or grade one against written criteria.
This is a sample. The full dataset has 3 camera angles of every action: headset, tool close-up and room view. See Full datasets.
At a glance
Describe (default) |
Grade (execution_grading) |
|
|---|---|---|
| Who is in the video | Trainer | Trainee |
| Model input | Clip | Clip + trainer's criteria as text |
| Model output | JSON description of the action | JSON grade and reason |
| Original clips | 105 (19.2 min) | 14 (8.0 min) |
| Source | 5 protocols, 18 step videos | 1 full run of protocol 1849 (15.2 min) |
| Train / validation | 468 / 27 | 66 / 3 |
Video: 720×540, 10 fps, H.264 MP4, no audio. Language: English. Contact: QURE Industries, Inc., shar@qurexr.com
Labels
- Describe: Drafted by NVIDIA Cosmos 3 Nano, then every label corrected against the video in human review.
- Grade: Evaluations generated by NVIDIA Cosmos 3 Nano, then validated against the video frame by frame, with incorrect results corrected under human review.
Quick start
Request access above, log in, then:
from datasets import load_dataset
describe = load_dataset("qure-ai/suturing-skills-action-clips")
grade = load_dataset("qure-ai/suturing-skills-action-clips", "execution_grading")
sample = grade["train"][0]
sample["video"] # decoding needs torchcodec
sample["prompt"], sample["answer"]
| Trainer | How to use it |
|---|---|
| NVIDIA Cosmos 3 Reasoner SFT | cosmos/<split>/meta.json or execution_grading/cosmos/<split>/meta.json; repo folder as data root, video_0 as media field |
| TRL, LLaMA-Factory, custom loop | Map file_name, prompt and answer to your chat format |
Training has not been run on this release yet. The layouts follow each trainer's documented format.
The two tasks
Describe an action
Target for 1849_2_a03:
{"title": "Take the tissue forceps out of the case",
"step_context": "The user pulls the tissue forceps out of its strap in the open instrument case and lays it in front of the case.",
"detailed_steps": ["Pinch the tissue forceps and slide it out of its strap",
"Lay the tissue forceps in front of the case"],
"objects_expected": ["Tissue forceps", "Instrument case"],
"hand_pose_expectation": {"left": "open", "right": "pinching"},
"success_criteria": ["The tissue forceps lies in front of the case."],
"failure_modes": ["The tissue forceps stays in its strap or is dropped."]}
Grade an action
The prompt holds the trainer's success criteria and failure modes. The trainer's clip is linked in reference_video but
is not part of the prompt.
Target for 1849_5_a01_trainee, graded against "Make a second stitch across the incision":
{"observed": true,
"outcome_score": 0,
"recovered": false,
"verdict": "The thread is wrapped around the forceps and the short tail is pulled through with the needle holder, tying a knot on the first stitch. The needle stays off the pad, so no second pass crosses the cut.",
"deviations": [{"why": "A knot was tied on the first stitch in place of a second stitch.", "evidence": "The thread enters the pad only at the one spot of the first stitch, with the free length running off the pad to the forceps."}]}
The trainee run
| Result | |
|---|---|
| Actions graded | 14: 9 done, 2 recovered, 3 not done |
| Score | 76.1 of 100, leaving out posture and time |
| Mistakes | Case left open after the pad; wrong instrument for the needle; knot in place of the second stitch |
| Cosmos 3 Nano, no fine-tuning | 8 of 14 grades correct |
| Marking every action done | 9 of 14 correct, so do not judge a model on accuracy alone |
A wrong object or procedure counts as not done; there are no partial grades. The full video, every grade and the score
report are in execution_grading/run_1849/.
Splits
| Config | Train | Validation | What it means |
|---|---|---|---|
default |
Protocols 1849, 1850, 1859, 1860: 78 clips + 5 augmented copies of each | Protocol 1861: 27 clips | Validation is an unseen protocol |
execution_grading |
Steps 1–3: 11 clips + 5 augmented copies of each | Steps 4–5: 3 clips | Same trainee and run, so not an unseen person |
Both validation sets are small, and there is no test split. The trainer clips for the grading actions are in default train.
How it was made
| Stage | Trainer clips | Trainee clips |
|---|---|---|
| Record | Headset, silicone pad, standard kit, at a desk | Same setup, one full run of protocol 1849 |
| Generate | Cosmos 3 Nano, zero-shot, splits each step video into labelled actions | Cosmos 3 Nano grades each step against the trainer's reviewed labels |
| Review | Second by second: wrong labels fixed, missed actions added, non-actions removed | Graded windows checked at 1 s frames (2 s for two), with close-ups of the stitch |
| Finish | Cut, resized, audio removed, names standardised | Labels rewritten to describe only the clip; cut the same way |
| Augment (train) | 5 copies, with mirroring where labels allow | 5 copies, no mirroring |
Limits
| Limit | What it means |
|---|---|
| Small: one task, indoor desks, one kind of kit | Adapts a model to the format, not to other rooms, tools or procedures |
| Time windows checked at 0.5–1 s | A clip may start or end about 1 s off |
| 32-frame loaders | Clips over 16 s are sampled sparsely, including 2 trainer clips over 60 s and the 76 s and 146 s trainee clips |
| Coarse hand poses | One of four words per hand; no joints or 3D tracking |
| One trainee, one run, every action attempted | Shows the format; too small to train a grader alone, and has no skipped action |
| Recorded by QA, no list of planned mistakes available | Grades have no independent check; some mistakes may have been planned |
| The headset assistant's script did not ask for the second stitch | The failed grade is real against the reference, but the trainee may have been following instructions |
| The two long ring-handled instruments look alike | Which is which follows the reference order; noted in label_note |
1849_1_a01_trainee and 1849_2_a01_trainee are the same 5 s |
Count them once when reporting accuracy over actions |
| Trainee run outside the graded windows was checked more coarsely; its audio was not checked | That footage in run_1849/ is less verified |
Use
Good for: fine-tuning and evaluating structured action description; trying out grading of a practice run against written criteria; testing prompts, pipelines and output formats; step-progress and failure detection for robot learning.
Not for: clinical or medical decisions; certifying or assessing real surgical competence; use as a benchmark; identifying, tracking or profiling anyone in the videos.
Full datasets
Full datasets are graded human-hand surgery, licensed per accepted hour. Contact shar@qurexr.com.
| This sample | Full capture | |
|---|---|---|
| Camera views | Headset only | Headset, tool close-up, room |
| Video | 720×540, 10 fps | Headset 1024×768, up to 30 fps |
| Hands | Four pose words per hand | 3D tracking on request |
| Audio | None | Time-synced narration of each step |
| Haptic glove | None | Time-synced force and grip data |
Privacy and consent
- Consent: all clips, including the trainee run, were recorded by QURE Industries, Inc., with a participant performing simulated suturing. Each participant signed a written recording release granting QURE the right to use, license and distribute the recordings, including for commercial evaluation and model training.
- Not present: patients, a clinical setting, protected health information or audio.
- Visible: hands, arms, wrist jewellery, a watch, a sleeve, the instruments and desk items, including a keyboard and a room camera. Protocol 1859 shows part of a laptop screen with a dashboard; only two numbers and the taskbar can be read.
- Faces: none seen in a check of 4 frames from each trainer source video, or in the trainee run's review (1 s frames in graded windows, coarser elsewhere). Not every frame was checked.
License
Proprietary, under the Dataset Evaluation License (LICENSE.md). Access is gated and QURE approves each request by hand.
- Internal evaluation and fine-tuning for 30 days after approval.
- Models trained on it can be kept for internal use.
- No redistribution. Commercial use needs a separate agreement: shar@qurexr.com.
Reference
Files
train/, validation/ default config: metadata.jsonl, videos/<id>.mp4
cosmos/ default config in Cosmos 3 Reasoner SFT layout
execution_grading/
train/, validation/ grading config: metadata.jsonl, videos/<id>.mp4
cosmos/ grading config in Cosmos 3 Reasoner SFT layout
run_1849/ trainee_run.mp4, judgment.json, report.json, validation.json
Sample ids are <protocol>_<step>_a<action>, with _trainee for trainee clips and _aug<n> for augmented copies.
Fields in both configs
| Field | What it means |
|---|---|
file_name, id |
Video path within the split, and sample id |
protocol_id, step_number, action_id |
Where the action sits in the protocol |
duration_s |
Length in seconds |
is_augmented, augmentation |
Augmented copy, and its settings as JSON |
prompt, answer |
Instruction and target JSON |
Fields in default only
| Field | What it means |
|---|---|
source_clip |
The original clip behind a sample |
is_mirrored |
Mirrored left to right, with hands and side words swapped in the labels |
title |
Short imperative name of the action |
step_context |
One sentence on what the hands do and why, starting "The user" |
detailed_steps |
2–6 short steps |
objects_expected |
Objects used, from the 12 names below |
hand_pose_expectation |
left and right: grasping, pinching, open or idle, from the wearer's view |
success_criteria, failure_modes |
How the finished action looks; visible mistakes |
Objects (samples): Instrument case (288), Suture pad (156), Needle holder (155), Tissue forceps (141), Suture thread (116), Suture packet (100), Suture needle (66), Plastic sleeve (49), Scalpel handle (39), Hemostatic forceps (33), Surgical scissors (33), Plastic wrap (24).
Hand poses (hands): grasping 400, pinching 393, open 186, idle 11.
Fields in execution_grading only
| Field | What it means |
|---|---|
run_id |
The trainee run |
reference_clip, reference_video |
The trainer's clip for this action: id, and path from the repo root |
source_start_s, source_end_s |
Where the clip sits in the full run |
grade |
done, recovered or not_done, for filtering and balancing |
label_note |
A caveat on the label, if any |
Fields inside answer:
| Field | What it means |
|---|---|
observed |
The action was attempted |
outcome_score |
1 if the end state meets the criteria, otherwise 0 |
recovered |
A wrong object or move came first, then the action was done correctly |
verdict |
What the clip shows |
deviations |
One why and evidence per mistake |
Augmentation (seed 1849)
| Augmentation | How often | Range |
|---|---|---|
| Boundary jitter | Every copy | Start and end ±0.5 s |
| Colour and lighting | Every copy | Brightness ±0.08, contrast ±15%, saturation ±20%, gamma ±10%, hue ±8° |
| Crop and scale | About 70% | Keep 85–95% of the frame |
| Small rotation | 40% | ±5° |
| Speed | 50% | 0.9–1.1× |
| Mirror + hand swap | 50% of copies whose labels allow it (104 copies), default only |
Left/right labels and side words swapped |
| Sensor noise | 30% | Strength 4–10 |
| Blur | 20% | Sigma 0.6–1.4 |
| Heavy compression | 30% | H.264 CRF 30–34 |
To train without augmentation, keep rows where is_augmented is false.
Citation
@misc{qure2026suturing,
author = {{QURE Industries, Inc.}},
title = {Suturing Skills Action Clips},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/datasets/qure-ai/suturing-skills-action-clips}}
}
- Downloads last month
- 896
