wolny/pytorch-3dunet

3D U-Net model for volumetric semantic segmentation written in pytorch

해결하는 문제

볼륨 이미지 분석은 종종 3D 공간에서 세포나 핵과 같은 구조를 분할해야 합니다. pytorch-3dunet은 3D U-Net 아키텍처와 그 변형을 즉시 사용할 수 있는 구현을 제공하므로, 연구자는 모델을 학습시켜 볼륨 내의 모든 복셀에 자동으로 라벨을 지정하거나 노이즈 제거와 같은 회귀 작업을 수행할 수 있습니다. 데이터 로딩, 손실 계산, 평가와 같은 복잡한 작업을 처리합니다.

작동 방식

이 라이브러리는 모델, 데이터 경로, 손실 함수 및 학습 설정을 지정하는 YAML 구성 파일을 중심으로 구축되었습니다. 학습은 train3dunet --config <CONFIG>로 시작하고, 예측은 predict3dunet --config <CONFIG>로 수행합니다. 입력 데이터는 raw 및 label 데이터셋을 포함하는 HDF5 파일에 저장되어야 합니다. 이 코드는 3D 및 2D U-Net을 모두 지원하며, 2D의 경우 z 차원을 싱글톤으로 유지합니다. 표준, 잔차(Residual), Squeeze-and-Excitation 블록이 포함된 잔차 U-Net 등 여러 U-Net 변형이 포함되어 있습니다. 또한 분할 및 회귀에 적합한 많은 손실 함수(예: Dice, cross-entropy, mean squared error)와 평가 지표(예: IoU, Dice, PSNR)를 제공합니다. 여러 GPU를 사용할 수 있는 경우, 학습 및 예측은 자동으로 DataParallel을 사용합니다.

대상 사용자

구조(예: 세포 경계, 핵)를 분할하거나 회귀 작업을 수행해야 하는 볼륨 생물학 또는 의학 이미지 연구자 및 엔지니어. 처음부터 구축하지 않고 검증된 3D U-Net 구현을 적용하려는 모든 사람에게 유용합니다.

주요 특징

  • 3D U-Net, Residual U-Net, Squeeze-and-Excitation 블록이 포함된 Residual U-Net 구현.
  • 의미론적 분할(이진 및 다중 클래스)과 회귀(예: 노이즈 제거)를 모두 지원.
  • HDF5에서 z 차원을 싱글톤으로 유지하여 2D U-Net도 지원.
  • 분할 및 회귀를 위한 광범위한 손실 함수 및 평가 지표 제공.
  • 식물 세포 경계 및 핵 분할을 위한 사전 학습된 모델과 예제 구성 제공.
  • DataParallel을 통해 여러 GPU에서 자동으로 실행 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트