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など、複数のバリエーションが含まれています。また、セグメンテーションや回帰に適した多くの損失関数(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で自動的に実行可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト