Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions physical-ai-research/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Physical AI Research: Medical Motion Content Generation

**과제명**: (2세부) 의료용 Physical AI 학습을 위한 의료 동작 콘텐츠 생성 및 증강 기술 개발

## 프로젝트 개요

NVIDIA 통합 생태계(MONAI, Isaac Sim, Cosmos)를 기반으로 물리적·해부학적 정합성이 보장된 의료 동작 콘텐츠를 생성하고 증강하는 기술 개발

### 최종 목표 (4년)
- 합성 수술 비디오 FVD ≤ 300
- 동작 추론 RMSE ≤ 5° (관절각) 또는 ≤ 5mm (도구 tip)
- 물리 제약 조건 만족률 99%
- 표준 데이터 포맷 v3.0 개발 및 공개

### 1차년도 목표 (9개월)
1. ORBIT-Surgical 기반 의료 시뮬레이션 환경 v1.0
2. 파일럿 합성 비디오 (FVD 기준선 확보)
3. 액션 데이터 표준 포맷 v0.1

## 기술 스택

| 영역 | 기술 | 용도 |
|------|------|------|
| CT 합성 | NVIDIA MAISI (MONAI) | 3D CT 합성 데이터 생성 |
| 비디오 생성 | MONAI Generative Models | 수술 비디오 생성 |
| Sim2Real | NVIDIA Cosmos Transfer | 시뮬레이션→실제 영상 변환 |
| 수술 로봇 시뮬레이션 | ORBIT-Surgical | Isaac Sim 기반 수술 환경 |
| 로봇 학습 | NVIDIA Isaac Lab | 물리 시뮬레이션 및 학습 |
| 모방학습 | LeRobot (Hugging Face) | 로봇 정책 학습 |

## 프로젝트 구조

```
physical-ai-research/
├── README.md # 프로젝트 개요
├── docs/ # 문서
│ ├── research_proposal.pdf # 연구 제안서
│ ├── progress/ # 진행 상황 리포트
│ └── technical/ # 기술 문서
├── data/ # 데이터
│ ├── raw/ # 원본 수술 비디오
│ ├── processed/ # 전처리된 데이터
│ └── synthetic/ # 생성된 합성 데이터
├── src/ # 소스 코드
│ ├── data/ # 데이터 처리
│ │ ├── preprocessing.py # 전처리
│ │ ├── augmentation.py # 증강
│ │ └── loaders.py # 데이터 로더
│ ├── generation/ # 생성 모델
│ │ ├── monai_gen/ # MONAI Generative Models
│ │ ├── maisi/ # MAISI CT 합성
│ │ └── cosmos/ # Cosmos Transfer
│ ├── simulation/ # 시뮬레이션
│ │ ├── orbit_surgical/ # ORBIT-Surgical
│ │ └── isaac_sim/ # Isaac Sim
│ ├── training/ # 학습
│ │ ├── isaac_lab/ # Isaac Lab
│ │ └── lerobot/ # LeRobot
│ ├── evaluation/ # 평가
│ │ ├── metrics.py # FVD, RMSE 계산
│ │ └── validation.py # 물리 규칙 검증
│ └── utils/ # 유틸리티
├── notebooks/ # 실험 노트북
│ ├── 01_data_exploration.ipynb
│ ├── 02_monai_generation_test.ipynb
│ └── 03_orbit_surgical_setup.ipynb
├── configs/ # 설정 파일
│ ├── data.yaml
│ ├── training.yaml
│ └── generation.yaml
├── experiments/ # 실험 결과
│ └── logs/
├── tests/ # 테스트
└── requirements.txt # 의존성
```

## 환경 설정

### 하드웨어
- GPU: 2x NVIDIA RTX 6000 (48GB each)
- CUDA 지원

### 소프트웨어
```bash
# MONAI 기반 환경
pip install monai[all]
pip install generative-models

# Isaac Sim/Lab (별도 설치 필요)
# ORBIT-Surgical
# LeRobot
```

## 빠른 시작

### Phase 1: PoC - 의료 영상 생성 테스트
```bash
# 1. 오픈소스 수술 데이터셋 다운로드
python scripts/download_datasets.py

# 2. MONAI Generative Models 테스트
jupyter notebook notebooks/02_monai_generation_test.ipynb

# 3. 기준선 메트릭 계산
python src/evaluation/metrics.py --baseline
```

### Phase 2: ORBIT-Surgical 환경 구축
```bash
# Isaac Sim 설치 후
python scripts/setup_orbit_surgical.py
```

## 진행 상황

- [x] 프로젝트 초기 설정
- [x] 연구 제안서 분석
- [ ] 오픈소스 수술 데이터셋 조사
- [ ] MONAI Generative Models PoC
- [ ] ORBIT-Surgical 환경 구축
- [ ] 파일럿 합성 비디오 생성

## 참고 문헌

연구 제안서의 참고문헌 참조 (research_proposal.pdf)

## 라이선스

과기정통부 연구 과제 - 내부 사용
Binary file added physical-ai-research/docs/research_proposal.pdf
Binary file not shown.
157 changes: 157 additions & 0 deletions physical-ai-research/docs/technical/open_source_datasets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# 오픈소스 수술 비디오 데이터셋

## 1. Cholec80 (복강경 담낭 절제술)

### 개요
- **비디오 수**: 80개 수술 비디오
- **해상도**: 1920x1080 @ 25fps
- **총 길이**: ~80시간
- **내용**: 복강경 담낭 절제술 전체 과정
- **어노테이션**: 7가지 수술 단계, 7가지 수술 도구

### 다운로드
- **웹사이트**: http://camma.u-strasbg.fr/datasets
- **논문**: Twinanda et al., "EndoNet: A Deep Architecture for Recognition Tasks on Laparoscopic Videos" (2017)
- **라이선스**: 연구 목적 사용 가능 (신청 필요)

### 활용 방안
- 수술 단계 인식 학습
- 도구 검출 및 추적
- 비디오 생성 모델의 기준 데이터

---

## 2. JIGSAWS (Da Vinci Surgical Skills Dataset)

### 개요
- **비디오 수**: 39명의 외과의가 수행한 103개 시연
- **태스크**: Suturing, Needle Passing, Knot Tying
- **데이터**: 비디오 + 키네마틱스 (관절 위치, 속도, 그리퍼 각도)
- **로봇**: da Vinci Research Kit (dVRK)

### 다운로드
- **웹사이트**: https://cirl.lcsr.jhu.edu/research/hmm/datasets/jigsaws_release/
- **논문**: Gao et al., "JHU-ISI Gesture and Skill Assessment Working Set (JIGSAWS)" (2014)
- **라이선스**: 오픈 액세스

### 활용 방안
- **1차년도 핵심**: 비디오-키네마틱스 쌍 데이터
- 로봇 동작 학습 및 검증
- 액션 데이터 추출 기술 검증
- da Vinci 로봇 ORBIT-Surgical 시뮬레이션 검증

---

## 3. MICCAI EndoVis Challenge Datasets

### 개요
- **시리즈**: 2015-2024 매년 개최
- **태스크**:
- Instrument Segmentation
- Tracking
- Robotic Scene Segmentation (2017, 2019)
- Surgical Action Triplet (2021-2022)

### 주요 데이터셋
- **EndoVis 2017**: Robotic Instrument Segmentation (8 videos, 255 frames)
- **EndoVis 2018**: Robotic Scene Segmentation (19 videos)
- **SAR-RARP50**: 50 prostatectomy videos

### 다운로드
- **웹사이트**: https://endovis.grand-challenge.org/
- **라이선스**: Challenge 등록 후 다운로드

### 활용 방안
- 수술 장면 세그멘테이션
- 도구 추적 및 동작 인식
- 합성 데이터 품질 평가 벤치마크

---

## 4. HeiChole (Heidelberg Colorectal Dataset)

### 개요
- **비디오 수**: 30개 복강경 대장 수술
- **어노테이션**: 수술 단계, 해부학적 구조, 도구
- **해상도**: Full HD

### 다운로드
- **웹사이트**: https://www.synapse.org/#!Synapse:syn18824884/
- **라이선스**: 연구 목적 사용 가능

---

## 5. CholecT50 (Surgical Action Triplet)

### 개요
- **비디오 수**: 50개 복강경 담낭 절제술
- **어노테이션**: Triplet (Instrument, Verb, Target) - 100개 action triplets
- **예시**: <grasper, grasp, gallbladder>

### 다운로드
- **웹사이트**: http://camma.u-strasbg.fr/datasets
- **논문**: Nwoye et al., "Rendezvous: Attention Mechanisms for the Recognition of Surgical Action Triplets in Endoscopic Videos" (2020)

### 활용 방안
- 수술 동작의 세밀한 이해
- 액션 데이터 표준 포맷 설계 참고

---

## 6. m2cai16-tool (MICCAI 2016 Tool Detection)

### 개요
- **비디오 수**: 15개 훈련, 10개 테스트
- **태스크**: 7가지 수술 도구 실시간 검출
- **프레임**: 10,000+ 어노테이션

### 다운로드
- **웹사이트**: http://ai.stanford.edu/~syyeung/tooldetection.html

---

## 추천 우선순위 (1차년도 PoC용)

### 1순위: **JIGSAWS**
- ✅ **비디오 + 키네마틱스** 모두 포함
- ✅ da Vinci 로봇 (ORBIT-Surgical 호환)
- ✅ 즉시 다운로드 가능
- ✅ 1차년도 목표 직접 부합

### 2순위: **Cholec80**
- ✅ 대용량 수술 비디오
- ✅ 비디오 생성 모델 학습/평가
- ⚠️ 키네마틱스 없음 (추출 필요)

### 3순위: **EndoVis 2017/2018**
- ✅ 로봇 수술 특화
- ✅ 세그멘테이션 어노테이션
- ⚠️ 상대적으로 적은 비디오 수

---

## 다운로드 스크립트 작성 계획

```python
# scripts/download_datasets.py
def download_jigsaws():
"""JIGSAWS 데이터셋 다운로드"""
pass

def download_cholec80():
"""Cholec80 신청 및 다운로드 안내"""
pass

def download_endovis():
"""EndoVis 데이터셋 다운로드"""
pass
```

---

## 참고 링크

- CAMMA Lab (Strasbourg): http://camma.u-strasbg.fr/
- Johns Hopkins CIRL: https://cirl.lcsr.jhu.edu/
- EndoVis Grand Challenge: https://endovis.grand-challenge.org/
- Surgical Data Science Review: https://arxiv.org/abs/2206.02053
Loading
Loading