広告

[P] fastrad:GPUネイティブ放射線画像(ラジオミクス)ライブラリ—PyRadiomicsの25倍高速、100% IBSI準拠、全8つの特徴クラス

Reddit r/MachineLearning / 2026/3/31

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • fastradは、torch.Tensor上で完全に動作することを目的とした、PyTorchネイティブの放射線画像(ラジオミクス)特徴抽出ライブラリとして紹介されており、GPU/CPUへ自動的にルーティングされます。
  • 本ライブラリは、IBSIの8つの特徴クラス(一次統計、形状2D/3D、GLCM、GLRLM、GLSZM、GLDM、NGTDM)をすべてテンソル演算として実装しています。
  • ベンチマークでは、RTX 4070 Ti上でスキャンあたりのエンドツーエンド実行時間が0.116sであるのに対し、PyRadiomicsでは約2.90sとなり、約25倍の速度向上が得られます。特徴クラスごとの改善は約13倍〜約49倍の範囲です。
  • 正しさは、IBSI Phase 1のデジタルファントム(105特徴量、偏差≤10⁻¹³%)に対して検証され、TCIAのNSCLC CTデータでは、全105特徴量に対して約10⁻¹¹以内でPyRadiomicsと一致することが示されています。
  • 本プロジェクトでは、実装上の詳細(特にGLCMおよびGLSZMカーネルにおける数値的同等性の達成の難しさ)とともに、プレプリントおよびGitHubリポジトリを共有しています。

PyRadiomicsは放射線画像の特徴抽出(ラジオミクス)における事実上の標準ですが、CPUのみで動作し、1スキャンあたり約3秒かかります。大量処理ではボトルネックになります。

私はfastradを作りました。fastradはPyTorchネイティブのライブラリで、IBSIの8つの特徴クラス(一次統計、形状2D/3D、GLCM、GLRLM、GLSZM、GLDM、NGTDM)をすべてネイティブのテンソル演算として実装しています。すべてtorch.Tensorで動作し、デバイスのルーティングは透過的(自動/cuda/cpu)です。

RTX 4070 Tiでの主要数値(PyRadiomicsとの比較):

• 終端から終端まで:0.116秒 vs 2.90秒 → 25倍の高速化

• クラスごとの向上幅は、GLRLMが12.9×から、一次統計が49.3×まで

• シングルスレッドCPU:x86ではPyRadiomicsの32スレッドより2.63倍速く、Apple Siliconでは3.56倍速い

• 最大VRAM使用量:654 MB

正確性:IBSI Phase 1のデジタルファントム(105特徴量、最大偏差 ≤ 10⁻¹³%)およびTCIAのNSCLC CTにおけるPyRadiomicsとの比較で検証済み — すべての105特徴量が10⁻¹¹以内で一致しています。

実装についての質問には喜んでお答えします。GLCMおよびGLSZMのカーネルは、PyRadiomicsと数値的に完全に一致させるのが最も難しかった部分です。

プレプリント:https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6436486

Githubリポジトリ:https://github.com/helloerikaaa/fastrad

投稿者 /u/helloerikaaa
[リンク] [コメント]

広告