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で自動的に実行可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト