Technology

患者ごとの血管形状でカテーテル操作を再現するGPUシミュレーター

この記事のポイント

  1. 実現したこと

    血管内を進むカテーテルの操作を、透視画像を参照する環境でリアルタイムに模擬できる。

  2. 実現の仕組み

    器具の曲げやねじれを連結した制約式に変え、GPU上で先端までの動きを計算する。

  3. 得られた結果

    NVIDIAによると、手元側の挿入や回転が各計算ステップ内で器具の先端へ伝わる。

  4. 従来との違い

    血管内シミュレーションモジュールが一般提供となり、単体パッケージとして個別の作業環境にも組み込めるようになった。

患者別の血管モデル内を進むカテーテルとGPUシミュレーションの模式図
AI生成画像

血管内を進むカテーテルの変形と血管壁への接触を、患者ごとの血管形状を使ってGPU上で計算するモジュールが一般提供となった。器具全体の動きを連結した制約式として解き、透視画像を参照する操作をリアルタイムで模擬する。

血管内の操作を単体モジュールで模擬

NVIDIAは、医療ロボット向け基盤Isaac for Healthcareの血管内シミュレーションモジュールを一般提供した。初期リリースでは、透視画像を参照しながら血管内を進むカテーテルの操作をリアルタイムで模擬する。

このモジュールは単体のパッケージとして実装され、異なる作業環境にも個別に組み込める。操作対象となる柔軟な器具の動きは、次の物理計算へ渡される。

器具全体の変形を連結した制約式で解く

柔軟な器具の曲げ、ねじれ、伸びには、細長い物体の変形を表すCosserat rodsを使う。XPBDによる計算では、器具の各区間に伸び・せん断の制約式を3本、曲げ・ねじれの制約式を3本設ける。

これらを連結すると、6×6のブロックを持つ三重対角の行列系になる。この行列系をThomas algorithmで解く処理量は、器具の長さに対して線形に増える。NVIDIAによると、手元側から加えた挿入や回転は、この連結した計算を通じて各シミュレーションステップ内に先端へ伝わる。

患者別の血管メッシュで壁との接触を判定

先端まで伝わった器具の動きは、患者ごとの血管形状との接触判定に使われる。判定では血管の三角形メッシュへ直接最近点を問い合わせ、距離場を事前計算する工程を省く。

器具のサンプル点が血管壁に入り込むと、計算上は血管内腔へ戻し、壁に沿った滑りは残す。現行リリースでは血管壁を変形しない境界として扱い、器具の側を拘束する一方向の相互作用になっている。

複数環境の計算と学習データをGPU上でつなぐ

独立した器具の計算は、GPU上の複数のシミュレーション環境で並行して進む。器具全体の変形と血管壁との接触を、それぞれの環境で処理する構成だ。

制御や強化学習とのデータの受け渡しには、TorchとWarpの相互運用機能を使う。データをGPU上に保ったままコピーなしで受け渡せるため、シミュレーションの状態を学習側へ接続できる。