nct-tso/lasana
收藏Hugging Face2026-04-20 更新2026-04-26 收录
下载链接:
https://hf-mirror.com/datasets/nct-tso/lasana
下载链接
链接失效反馈官方服务:
资源简介:
---
pretty_name: "LASANA: Laparoscopic Skill Analysis and Assessment Video Dataset"
license: cc-by-4.0
task_categories:
- video-classification
tags:
- video
- medical
- surgical
- surgical-data-science
- laparoscopic
- skill-assessment
- error-recognition
- stereo
size_categories:
- 1K<n<10K
language:
- en
configs:
- config_name: peg_transfer
data_dir: peg_transfer
drop_labels: true
- config_name: circle_cutting
data_dir: circle_cutting
drop_labels: true
- config_name: balloon_resection
data_dir: balloon_resection
drop_labels: true
- config_name: suture_and_knot
data_dir: suture_and_knot
drop_labels: true
---
<p align="center">
<img src="assets/banner.gif" alt="LASANA Banner" width="100%"/>
</p>
<h1 align="center">LASANA: Laparoscopic Skill Analysis and Assessment Video Dataset</h1>
<p align="center">
<a href="https://arxiv.org/abs/2602.09927"><img src="https://img.shields.io/badge/arXiv-2602.09927-b31b1b.svg" alt="arXiv"/></a>
<a href="https://doi.org/10.25532/OPARA-1046"><img src="https://img.shields.io/badge/DOI-10.25532%2FOPARA--1046-blue" alt="DOI"/></a>
<a href="https://gitlab.com/nct_tso_public/LASANA/lasana"><img src="https://img.shields.io/badge/GitLab-Benchmark_Code-orange?logo=gitlab" alt="Benchmark Code"/></a>
<a href="https://gitlab.com/nct_tso_public/LASANA/data_analysis"><img src="https://img.shields.io/badge/GitLab-Data_Analysis-orange?logo=gitlab" alt="Data Analysis"/></a>
<a href="https://gitlab.com/nct_tso_public/LASANA/dense_matching"><img src="https://img.shields.io/badge/GitLab-Stereo_Matching-orange?logo=gitlab" alt="Stereo Matching"/></a>
</p>
The **LASANA** dataset provides 1,270 trimmed and synchronized stereo video recordings of four basic laparoscopic training tasks performed by 70 participants (58 medical students and 12 clinicians) in a Laparo Aspire training box. Each recording is annotated with a GOALS-inspired structured skill rating aggregated from three independent raters, as well as binary labels indicating the presence or absence of task-specific procedural errors. Predefined participant-level train/validation/test splits are provided for reproducible benchmarking of video-based skill assessment and error recognition methods.
## Tasks
<table>
<tr>
<td align="center" width="25%">
<img src="assets/PegTransfer.gif" alt="Peg transfer" width="100%"/>
<br/><b>Peg transfer</b> (329 videos)
</td>
<td align="center" width="25%">
<img src="assets/CircleCutting.gif" alt="Circle cutting" width="100%"/>
<br/><b>Circle cutting</b> (311 videos)
</td>
<td align="center" width="25%">
<img src="assets/BalloonResection.gif" alt="Balloon resection" width="100%"/>
<br/><b>Balloon resection</b> (316 videos)
</td>
<td align="center" width="25%">
<img src="assets/SutureAndKnot.gif" alt="Suture & knot" width="100%"/>
<br/><b>Suture & knot</b> (314 videos)
</td>
</tr>
</table>
| Task | Description | Videos | Mean Duration |
|------|-------------|--------|---------------|
| **Peg transfer** | Transfer six triangular objects from the left to the right side of a pegboard, then transfer them back | 329 | 2 min 32 s |
| **Circle cutting** | Accurately cut along a pre-marked circular path on a piece of gauze | 311 | 3 min 32 s |
| **Balloon resection** | Carefully incise the outer balloon without puncturing the inner balloon, which is filled with water | 316 | 3 min 55 s |
| **Suture & knot** | Pass a suture through a Penrose drain and close the slit with a laparoscopic knot consisting of three throws | 314 | 4 min 30 s |
Peg transfer, circle cutting, and suture & knot are adapted from the MISTELS curriculum. The balloon resection task was developed at the University Hospital Carl Gustav Carus, Dresden. Recordings are 960×540 stereo at 20 fps, captured with a Karl Storz TIPCAM 1 S 3D LAP 30° endoscope.
## Annotations
Each recording is annotated with a **Global Rating Score (GRS)** computed as the sum across four GOALS-inspired skill aspects rated on a 5-point Likert scale: depth perception, efficiency, bimanual dexterity, and tissue handling. Three independent raters score each video; their scores are normalized per rater and averaged to produce the final aggregated rating. Average pairwise inter-rater agreement (Lin's Concordance Correlation Coefficient) exceeds 0.65 for all tasks except circle cutting (0.49). The raw per-rater scores are also provided as `rater{0..3}_*` columns.
Each task additionally has binary labels for task-specific procedural errors:
| Task | Errors |
|------|--------|
| Peg transfer | `object_dropped_within_fov`, `object_dropped_outside_of_fov` |
| Circle cutting | `cutting_imprecise`, `gauze_detached` |
| Balloon resection | `cutting_imprecise`, `cutting_incomplete`, `balloon_opened`, `balloon_damaged`, `balloon_perforated` |
| Suture & knot | `needle_dropped`, `suture_imprecise`, `fewer_than_three_throws`, `slit_not_closed`, `knot_comes_apart`, `drain_detached` |
## Splits
Participant-level splits (approximate 75:10:15 ratio) ensure that all recordings from a single participant appear in only one subset:
| Task | Total | Train | Validation | Test |
|------|-------|-------|------------|------|
| Peg transfer | 329 | 243 | 32 | 54 |
| Circle cutting | 311 | 234 | 27 | 50 |
| Balloon resection | 316 | 235 | 30 | 51 |
| Suture & knot | 314 | 232 | 32 | 50 |
## Quick Start
```python
from datasets import load_dataset
# Load a task: peg_transfer, circle_cutting, balloon_resection, or suture_and_knot
ds = load_dataset("nct-tso/lasana", "peg_transfer")
# Iterate over training split
for sample in ds["train"]:
left_video = sample["left"] # torchcodec VideoDecoder
right_video = sample["right"] # torchcodec VideoDecoder
grs = sample["grs"] # aggregated Global Rating Score
# ... all annotation columns available
# Load all four tasks
tasks = ["peg_transfer", "circle_cutting", "balloon_resection", "suture_and_knot"]
all_ds = {task: load_dataset("nct-tso/lasana", task) for task in tasks}
# Stream without downloading everything
ds = load_dataset("nct-tso/lasana", "suture_and_knot", split="train", streaming=True)
```
### Downloading raw files
```python
from huggingface_hub import snapshot_download
# Download the entire dataset (~175 GB)
snapshot_download("nct-tso/lasana", repo_type="dataset", local_dir="./lasana")
# Download only a specific task
snapshot_download("nct-tso/lasana", repo_type="dataset", local_dir="./lasana",
allow_patterns="peg_transfer/**")
# Download only left camera videos across all tasks
snapshot_download("nct-tso/lasana", repo_type="dataset", local_dir="./lasana",
allow_patterns="*/*/left/*")
```
## Stereo calibration
Camera intrinsics, distortion coefficients, and stereo extrinsics for both cameras are provided in `camera_calibration.yaml` at the repository root. Sample code for image rectification and stereo matching is available in the [stereo matching repository](https://gitlab.com/nct_tso_public/LASANA/dense_matching).
## Citation
```bibtex
@article{funke2026lasana,
title = {A benchmark for video-based laparoscopic skill analysis and assessment},
author = {Funke, Isabel and Bodenstedt, Sebastian and von Bechtolsheim, Felix and Oehme, Florian and Maruschke, Michael and Herrlich, Stefanie and Weitz, J{\"u}rgen and Distler, Marius and Mees, S{\"o}ren Torge and Speidel, Stefanie},
year = {2026},
eprint = {2602.09927},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
doi = {10.25532/OPARA-1046},
url = {https://arxiv.org/abs/2602.09927}
}
```
提供机构:
nct-tso



