【解決手段】三次元画像をセグメント化するためのコンピュータ実施方法は、撮像装置によって取得された三次元画像を受信することと、三次元画像の第1の平面から二次元画像の第1のスタックを生成し、三次元画像の第2の平面から二次元画像の第2のスタックとを生成することとを含む。方法は、プロセッサにより、少なくとも1つのニューラルネットワークモデルを使用して、二次元画像の第1のスタックと第2のスタックをセグメンテーションすることをさらに含む。方法は、また、プロセッサにより、第1のスタックと第2のスタックからのセグメンテーション結果を集約することによって三次元画像のラベルマップを決定することを含む。
少なくとも1つのプロセッサにより実行されたときに、前記少なくとも1つのプロセッサが三次元画像をセグメンテーションする方法を実行するような命令を含む非一時的コンピュータ可読媒体であって、
前記方法は、
撮像装置により取得された前記三次元画像を受け取ることと、
前記三次元画像の第1の平面から二次元画像の第1のスタックを生成し、前記三次元画像の第2の平面から二次元画像の第2のスタックを生成することと、
プロセッサにより、少なくとも1つのニューラルネットワークモデルを用いて前記二次元画像の前記第1のスタックと前記第2のスタックをセグメンテーションすることと、
前記プロセッサにより、前記第1のスタックおよび前記第2のスタックからの前記セグメンテーション結果を集約することにより前記三次元画像のラベルマップを決定することと
を有することを特徴とする非一時的コンピュータ可読媒体。
【発明を実施するための形態】
【0023】
[023]
本開示によるシステム、方法、装置、およびプロセスは、機械学習アルゴリズムに基づく画像セグメンテーション方法を使用して3D画像をセグメント化することに関する。特別に、例示的な実施形態は、3D画像から得られた隣接する2D画像のスタックの依存構造情報を使用して、3D画像をセグメント化することの精度およびロバストネスを改善することを可能にする。
【0024】
[024]
本明細書で使用されるとき、セグメント化されるかまたはトレーニングデータとして使用されることになる「3D医用画像」又は「3D画像」は、CT、磁気共鳴イメージング(MRI)機能的MRI(例えば、fMRI、DCE−MRI、および拡散MRI)、コーンビームコンピュータ断層撮影(CBCT)、スパイラルCT、陽電子放出断層撮影(PET)、単光子放出型コンピュータ断層撮影(SPECT)、X線、光断層撮影、蛍光イメージング、超音波イメージング、放射線治療ポータルイメージング、等のような、任意の種類の画像診断法によって取得された3D画像データセットを指す。さらに、本明細書では、「機械学習アルゴリズム」とは、既存の情報または知識に基づいてモデルまたはパターンを学習し、新しい情報または知識の入力を使用して出力を予測または推定することができる任意のアルゴリズムを指す。
【0025】
[025]
教師あり学習は、一連のトレーニングデータを与えられた予測モデルを推論する機械学習の一分野である。トレーニングデータの各個々のサンプルは、データセット(例えば、画像)と所望の出力値またはデータセットとを含む対である。教師あり学習アルゴリズムは、トレーニングデータを分析し、予測関数を生成する。予測関数は、いったんトレーニングによって導出されると、有効な入力に対する正しい出力値またはデータセットを合理的に予測または推定することができる。予測関数は、様々な機械学習モデル、アルゴリズム、および/またはプロセスに基づいて定式化することができる。
【0026】
[026]
畳み込みニューラルネットワーク(CNN)は、教師あり学習によってトレーニングすることができる一種の機械学習アルゴリズムである。CNNモデルのアーキテクチャには、入力を出力に変換する個別の層のスタックが含まれている。異なる層の例は、1つまたは複数のコンボリューション層、非線形演算子層(整流線形単位(ReLu)関数、シグモイド関数、または双曲線正接関数など)、プーリングまたはサブサンプリング層、完全接続層、および/または最終損失層を含むことができる。各層は、1つの上流層と1つの下流層を接続してもよい。入力は入力層と見なすことができ、出力は最終出力層と考えることができる。
【0027】
[027]
CNNモデルの性能および学習能力を高めるために、異なる層の数を選択的に増やすことができる。入力層から出力層までの中間の別個の層の数は非常に多くなる可能性があり、それによってCNNモデルのアーキテクチャの複雑さが増す。多数の中間層を持つCNNモデルは、深層CNNモデル(deep convolutional neural network model)と呼ばれる。例えば、いくつかの深層CNNモデルは20から30を超える層を含むことができ、他の深層CNNモデルは数百を超える層を含むことさえできる。深層CNNモデルの例には、AlexNet、VGGNet、GoogLeNet、ResNetなどがある。
【0028】
[028]
本開示は、3D画像の解剖学的構造をセグメント化するために、CNNモデル、特に深層CNNモデルの強力な学習機能を利用する。開示された実施形態による3D画像のセグメンテーションは、トレーニングされたCNNモデルを使用して実行されて、入力3D画像の各ボクセルを解剖学的構造でラベル付けする。特に、本開示の実施形態における画像セグメンテーションのためのCNNモデルは、手動の特徴抽出を必要とせずに解剖学的構造の自動セグメンテーションを可能にする。
【0029】
[029]
本明細書で使用されるとき、開示されたセグメンテーション方法によって使用されるCNNモデルは、畳み込みニューラルネットワークのフレームワークに基づいて定式化、適合、または修正された任意のニューラルネットワークモデルを指す。例えば、本開示の実施形態においてセグメンテーションに使用されるCNNモデルは、1つまたは複数のデコンボリューション層、アップサンプリング層またはアッププーリング層、ピクセル単位の予測層、および/またはコピーおよびクロップオペレータ層のような、入力層と出力層との間の中間層を選択的に含み得る。
【0030】
[030]
開示された画像セグメンテーション方法、システム、デバイス、およびプロセスは、一般に、ボクセルごとに異なる解剖学的構造でラベル付けされた3D画像を含むトレーニングデータセットを使用してCNNモデルを「トレーニング」または「学習」するトレーニングステージと、トレーニングされたCNNモデルを使用して入力3D画像の各ボクセルの解剖学的構造を予測し、および/または入力3D画像の各ボクセルを解剖学的構造にラベル付けするステージという、2つのステージを含む。
【0031】
[031]
本明細書で使用されるように、CNNモデルを「トレーニングする」とは、CNNモデル内の少なくとも1つの層の1つまたは複数のパラメータを決定することを指す。例えば、CNNモデルのコンボリューション層は、少なくとも1つのフィルタまたはカーネルを含み得る。少なくとも1つのフィルタのカーネル重み、サイズ、形状、および構造などの1つまたは複数のパラメータは、例えば、逆伝播ベースのトレーニング処理によって決定され得る。
【0032】
[032]
開示された実施形態によれば、CNNモデルをトレーニングするために、トレーニング処理は少なくとも1組のトレーニング画像を使用する。トレーニング画像の各セットは、解剖学的構造を3D画像のボクセルの各々に関連付ける3D画像およびその対応する3Dグラウンドトルースラベルマップ(3D ground truth label map)を含み得る。限定されない実施例として、3D画像は、隣接する2D画像の順次スタックと、隣接する2D画像の順次スタックにそれぞれ対応する順次2Dグラウンドトルースラベルマップからなる3Dグラウンドトルースラベルマップに分割することができる。本明細書で使用されるように、トレーニング画像は既にセグメント化された画像であり、グラウンドトゥルースラベルマップはトレーニング画像の代表的な画像スライスの各ピクセルについて既知の解剖学的構造ラベルを提供する。言い換えれば、グラウンドトゥルースラベルマップのピクセルは、既知の解剖学的構造と関連している。隣接する2D画像のスタックが奇数個の画像を含む場合、グラウンドトルースラベルマップは、スタックの中央の画像の構造ラベルを提供する。あるいは、隣接する2D画像のスタックが偶数の画像を含む場合、グラウンドトルースラベルマップは、スタックの2つの中央画像のうちの一方の構造ラベルを提供する。
【0033】
[033]
開示された実施形態によれば、隣接する2D画像のスタックは、軸平面、矢状面、または冠状面などの選択された解剖学的平面に沿った隣接する2D画像スライスである。したがって、隣接する2D画像内の解剖学的構造は、空間的に依存しているか、相関しているか、または解剖学的平面に直交する軸に沿って連続的である。特には、隣接する2D画像間のこのような依存構造情報は、開示された画像セグメンテーション方法によって使用され、3D医用画像のセグメンテーション結果の頑強さ(robustness)および精度を向上させる。
【0034】
[034]
開示された実施形態によれば、異なる解剖学的平面に沿った隣接する2D画像のスタックは異なるCNNモデルをトレーニングするために使用される。限定されない実施例として、軸平面、矢状面、および冠状面などの解剖学的平面に沿った隣接する2D画像のスタックのセットを含む3つの異なるセットのトレーニング画像が、それぞれ3つのCNNモデルをトレーニングするために使用される。各トレーニングされたCNNモデルは、対応する解剖学的平面に沿って3D画像から得られた隣接する2D画像のスタックを使用して3D画像をセグメント化するために使用することができる。あるいは、3つの異なる解剖学的平面に沿った隣接する2D画像のスタックは、1つのCNNモデルをトレーニングするために組み合わされる。トレーニングされたCNNモデルは、3つの解剖学的平面のいずれかに沿って3D画像から得られた隣接する2D画像のスタックを使用して3D画像をセグメント化するために使用され得る。
【0035】
[035]
開示された実施形態によれば、少なくとも1つのトレーニングされたCNNモデルが3D画像をセグメント化するために使用される。限定されない実施例として、3D画像は、複数の隣接する2D画像の形態にセグメンテーションされてもよい、複数の隣接する2D画像に形態で提供されてもよい。例えば、解剖学的平面に沿った一連の隣接する2D画像のスタックは、セグメント化されるべき3D画像から取得され得る。隣接する2D画像の一連のスタックは連続していて、スタックの中間画像が一緒になって実質的に全体の3D画像を構成するように1つ以上の重なり合う画像を有していてもよい。シリーズの各スタックはトレーニングされたCNNモデルに入力されて、スタックの中央の画像の2D出力ラベルマップを決定する。2D隣接画像のスタックの中間画像の2Dラベルマップに基づいて、3Dラベルマップを決定することができる。限定されない実施例として、3Dラベルマップは、隣接する2D画像のスタックの解剖学的平面に直交する軸に沿って中間画像のシーケンスに従って中間画像の2Dラベルマップを集約することによって得られてもよい。
【0036】
[036]
上述のように、軸平面、矢状面、および冠状面などの解剖学的平面に沿った一連の隣接する2D画像のスタックは、3D画像から取得することができる。そのような場合、3つの3Dラベルマップは、それぞれ3つの解剖学的平面の隣接する2D画像の3つの一連のスタックに基づいて決定されることができる。限定されない実施例として、3つの異なる解剖学的平面の隣接する2D画像の3つの一連のスタックをそれぞれ使用して3つの異なるトレーニングされたCNNモデルによって3つの3Dラベルマップを決定することができる。別の限定されない実施例として、3つの異なる解剖学的平面の隣接する2D画像の3つの一連のスタックをそれぞれ使用して、1つのトレーニングされたCNNモデルによって3つの3Dラベルマップを決定することができる。3つの決定された3Dラベルマップは、3D画像の最終的な3Dラベルマップを決定するために融合することができる。
【0037】
[037]
開示された実施形態によれば、決定された3Dラベルマップは解剖学的構造を3D画像の各ボクセルに関連付ける。限定されない実施例として、3Dラベルマップは、3D画像の各ボクセルが表す解剖学的構造を予測する。
【0038】
[038]
開示された画像セグメンテーションシステム、方法、装置、およびプロセスは、任意の種類の画像診断様式から得られる3D画像のセグメンテーションに適用できる。任意の種類の画像診断様式は、X線、CT、CBCT、スパイラルCT、MRI、機能的MRI(例えば、fMRI、DCE−MRIおよび拡散MRI)、PET、SPECT、光断層撮影、蛍光イメージング、超音波イメージング、放射線治療ポータルイメージング、等を含むが、これらに限定されない。さらに、開示された画像セグメンテーションシステム、方法、装置、およびプロセスは、2D画像と3D画像の両方をセグメント化するために使用することができる。
【0039】
[039]
いくつかの実施形態による、開示された画像セグメンテーションシステムは、
図2を参照して説明されるような放射線治療装置の一部であり得る。
図2は、本開示のいくつかの実施形態による、例示的な画像誘導型放射線治療装置150を示す図である。装置150は、治療台210と、画像取得装置140に対応する画像取得部と、放射線治療装置130に対応する放射線送達部とを含む。
【0040】
[040]
治療台210は、治療セッション中に患者(図示せず)を支持するために使用することができ、また患者支持システムと呼ぶこともできる。治療台210は、治療台210の上に横たわっている患者が装置150の内外に移動できるように、水平の並進軸(「I」)に沿って移動可能であってもよい。いくつかの実施形態では、治療台210は、並進軸を横切る中心垂直回転軸を中心に回転可能である。治療台210は、治療計画に従って患者を適切に位置決めするために様々な方向に移動し、様々な軸に沿って回転するように電動化されてもよい。
【0041】
[041]
画像取得装置140は、治療セッションの前、最中、および/または後に患者の2Dまたは3DのMRI画像を取得するために使用されるMRI装置を含むことができる。画像取得装置140は、磁気共鳴イメージング用の一次磁場を発生させるための磁石146を含むことができる。磁石146の動作によって発生した磁力線は、中心並進軸Iと実質的に平行に延びる。磁石146は、並進軸Iと平行に延びる軸を有する1つ以上のコイルを含むことができる。いくつかの実施形態では、磁石146内の1つまたは複数のコイルは、磁石146の中央窓147がコイルを含まないように離間されてもよい。他の実施形態では、磁石146内のコイルは、それらが放射線治療装置130によって生成された波長の放射線に対して実質的に透明であるように十分に薄いか、または密度が低くてもよい。画像取得装置140は、磁石146の外側の磁界を打ち消すためにほぼ等しい大きさで反対の極性の磁石146の外側の磁界を発生させることができる1つまたは複数の能動遮蔽コイルも含むことができる。放射線治療装置130の放射線源134は、磁場が相殺される領域に、少なくとも一次的に配置することができる。
【0042】
[042]
画像取得装置140は、また、2つの傾斜磁場コイル148、149を含むことができ、これらは1次磁場に重ね合わされる傾斜磁場を発生させる。傾斜磁場コイル148、149は、プロトンの位置を決定することができるようにプロトンの空間的符号化を可能にする合成磁場内に勾配を生成する。傾斜磁場コイル148、149は、磁石146と共通の中心軸の周りに配置され、その中心軸に沿って他の中心軸から変位されてもよい。その変位は、傾斜磁場コイル148、149との間にギャップまたは窓を作り出す。磁石146が傾斜磁場コイル間の中央窓147を含む実施形態では、2つの窓は互いに整列していてもよい。
【0043】
[043]
画像取得装置140は、X線、CT、CBCT、スパイラルCT、PET、SPECT、光断層撮影、蛍光撮像、超音波撮像、および放射線治療ポータル撮像装置などのようなMRI以外の撮像装置であってもよいとされている。
【0044】
[044]
放射線治療装置130は、X線源または線形加速器のような放射線源134と、マルチリーフコリメータ(MLC)132とを含むことができる。放射線治療装置130はシャーシ138上に取り付けることができる。シャーシ138は、治療領域に挿入されたときに治療台210の周りを連続的に回転可能であり、1つまたは複数のシャーシモータによって駆動される。放射線検出器もシャーシ138に取り付けられ、必要に応じて好ましくは放射線源134の反対側に取り付けられ、シャーシ138の回転軸が放射線源134と検出器との間に配置される。放射線治療装置130の制御回路は、装置150内に統合されてもよく、または装置150外に設けられてもよい。
【0045】
[045]
放射線療法治療セッションの間、患者は治療台210上に配置され、それは磁気コイル146、148、149とシャーシ138によって画定された治療領域内に挿入される。制御コンソール110は、放射線源134、MLC132、シャーシモータを制御して、傾斜磁場コイル148、149の間の窓を通して放射線を患者に送達することができる。
【0046】
[3D画像セグメンテーションのためのCNNモデル]
[046]
図3は、本開示のいくつかの実施形態による、画像セグメンテーションのための例示的なCNNモデルを示す図である。
図3に示すように、画像セグメンテーション用のCNNモデルは、入力として隣接する2D画像のスタックを受け取り、そのスタックの中央にある画像のうちの1つの予測2Dラベルマップを出力することができる。上述のように、隣接する2D画像のスタックが奇数個の画像を含む場合、2Dラベルマップはスタックの中間画像の構造ラベルを提供する。あるいは、隣接する2D画像のスタックが偶数の画像を含む場合、2Dラベルマップはスタックの2つの中間画像のうちの一方の構造ラベルを提供する。
【0047】
[047]
図3に示すように、CNNモデル10は、一般に、2つの部分、すなわち第1の特徴抽出部20と第2のピクセル単位ラベリング部30とを含むことができる。特徴抽出部20は、隣接する2D画像22の入力スタックの1つまたは複数の特徴を抽出することができる。特徴抽出部は、畳み込みニューラルネットワーク24を使用して、隣接する2D画像22の入力スタックを受け取り、その入力スタックの特徴を表す少なくとも1つの特徴ベクトルまたは行列を出力する。ピクセル単位ラベリング部30は、特徴抽出部20の出力を用いて、隣接する2D画像22の入力スタックの中間画像26の2Dラベルマップ32を予測する。ピクセル単位ラベリング部分30は、以下でさらに詳細に説明されるように、パッチベースのアプローチおよび完全マッピングアプローチのような任意の適切なアプローチを使用して実行することができる。
【0048】
[048]
特には、トレーニングのためおよびCNNモデル10の入力として両方の依存構造情報を含む隣接する2D画像のスタックの使用は、CNNモデル10による出力2Dラベルマップ32の予測の精度を向上させる。これにより、3D画像の各画像スライスについて予測された2Dラベルマップから構築された3D画像の予測3Dラベルマップの精度がさらに向上する。
【0049】
[049]
本明細書で使用されるとき、依存構造情報は、2D画像の解剖学的平面に直交する軸に沿って隣接する2D画像のスタックに示される解剖学的構造の間の空間的に依存する関係を指す。限定されない実施例として、スタックの第1の画像内の第1のセットのピクセルによって表される解剖学的構造の形状および種類はまた、第1の画像に隣接する第2の画像内の第2のセットのピクセルによって表されてもよい。これは、解剖学的平面に直交する軸に沿った第1および第2の画像の空間的な隣接がこれらの画像に示される解剖学的構造のある程度の依存性または連続性を可能にするためである。したがって、1つの画像内の解剖学的構造の形状、サイズ、および/またはタイプは、同じ平面に沿って別の隣接する画像内の解剖学的構造の形状、サイズ、および/またはタイプの情報を提供することができる。
【0050】
[050]
別の限定されない実施例として、隣接する2D画像のスタックが3つの連続画像、例えば順に積み重ねられた第1、第2、および第3の画像スライスを含むとき、解剖学的構造は、スタックの第1の画像スライス内の第1のセットのピクセルとスタックの第3の画像スライス内の第3のセットのピクセルとの両方の中に示されるが、第1の画像スライスと第3の画像スライスの間であって隣接する第2の画像スライスの対応する第2のセットのピクセル(例えば、第1および/または第3のセットのピクセルと同様の空間位置を有するピクセル)の中に示されない。そのような場合、第2の画像スライス内の対応するピクセルは誤ってラベル付けされることがある。3つの隣接する2D画像スライスのスタックにおける解剖学的構造のそのような不連続性は、CNNモデル10をトレーニングするための依存構造情報として使用することができる。
【0051】
[051]
別の限定されない実施例として、3つの隣接する2D画像、例えば、順番に積み重ねられた第1、第2、第3の画像スライスのスタックにおいて、スタックの第1の画像スライス内の第1のセットのピクセルと第3の画像スライスの第3のセットのピクセルの両方はバックグラウンドを示すが、第1の画像スライスと第3の画像スライスの間であって隣接する第2の画像スライスの対応する第2のセットのピクセルは解剖学的構造を示すことができる。第2の画像スライス内の対応するピクセルは、偽陽性信号を生成するノイズを受ける可能性がある。3つの隣接する2D画像スライスのスタックにおけるバックグラウンドのこのような不連続性は、またCNNモデル10をトレーニングするための依存構造情報として使用されてもよい。
【0052】
[052]
異なるタイプの依存構造情報を、スタック内の隣接画像の数、セグメント化される解剖学的構造のタイプ、形状、サイズ、位置、および/または数、および/または、画像を取得するために使用されるイメージングモダリティのような、さまざまな要因に基づいて選択的に使用することができる。上述のように、3D画像から得られる隣接する2D画像のスタックのこのような依存構造情報を使用することにより、3D画像をセグメント化すること、または3Dラベルマップを生成することの精度が向上する。
【0053】
[053]
本開示の実施形態において使用されるCNNモデル10の様々な構成要素および特徴について、以下、詳細に説明する。
【0054】
(特徴抽出のための畳み込みニューラルネットワーク)
[054]
いくつかの実施形態では、CNNモデル10の畳み込みニューラルネットワーク24は入力層、例えば隣接する2D画像22のスタックを含む。隣接する2D画像のスタックが入力として使用されるので、入力層はボリュームを有し、その空間的寸法は2D画像の幅および高さによって決定され、その深さはスタック内の画像の数によって決定される。本明細書に記載されるように、CNNモデル10の入力層の深さは、望ましくは、隣接する2D画像22の入力スタック内の画像の数と一致するように調整される。
【0055】
[055]
いくつかの実施形態では、CNNモデル10の畳み込みニューラルネットワーク24は、1つまたは複数のコンボリューション層28を含む。各コンボリューション層28は、上側入力層(例えば、コンボリューション層28の入力のサイズ)によって決定される幅(「W」)および高さ(「H」)、層内のフィルタまたはカーネルの数(「N」)とそれらのサイズのような、複数のパラメータを有することができる。フィルタの数は、コンボリューション層の深さと呼ばれることがある。したがって、各コンボリューション層28は、
図3に示すように3Dボリュームの面で説明することができる。各コンボリューション層28の入力は、その幅と高さにわたって1つのフィルタと畳み込まれ、そのフィルタに対応する2D活性化マップまたは特徴マップを生成する。畳み込みは、各コンボリューション層のすべてのフィルタに対して実行され、結果として得られる活性化マップまたは特徴マップは深度次元に沿って積み重ねられ、3D出力を生成する。先行するコンボリューション層の出力は、次のコンボリューション層への入力として使用できる。
【0056】
[056]
いくつかの実施形態では、CNNモデル10の畳み込みニューラルネットワーク24は、1つまたは複数のプーリング層(図示せず)を含む。CNNモデル10内の2つの連続したコンボリューション層28の間にプーリング層を追加することができる。プーリング層は、入力のあらゆる深さスライス(例えば、先行するコンボリューション層からの活性化マップまたは特徴マップ)に対して独立して動作し、ある形式の非線形ダウンサンプリングを実行することによってその空間的次元を縮小する。
図3に示すように、プーリング層の機能は、抽出された活性化マップまたは特徴マップの空間次元を漸進的に減少させて、ネットワーク内のパラメータおよび計算の量を減少させ、したがって過適合も制御することである。プーリング層の数および配置は、畳み込みネットワークアーキテクチャの設計、入力のサイズ、コンボリューション層28のサイズおよび/またはCNNモデル10の適用などの様々な要因に基づいて決定することができる。
【0057】
[057]
プーリング層を実装するために様々な非線形関数を使用することができる。例えば、最大のプーリングが使用されてもよい。最大プーリングは、入力の画像スライスを、所定のストライドを有する一組の重複または非重複サブ領域に分割することができる。各サブ領域に対して、最大プーリングは最大値を出力する。これは、幅と高さの両方に沿って入力の各スライスをダウンサンプリングしながら、奥行きの寸法は変更しないままにする。平均プーリング、またはL2ノルムプーリングのような他の適切な機能がプーリング層を実施するために使用されてもよい。
【0058】
[058]
様々な実施形態において、CNNモデル10は、その畳み込みニューラルネットワーク24内に1つまたは複数の追加の層を選択的に含むことができる。限定されない実施例として、ReLu層(図示せず)をコンボリューション層の後に選択的に追加して中間活性化マップまたは特徴マップを生成することができる。ReLu層は、コンボリューション層28のそれぞれの大きさに影響を与えることなく、予測関数及びCNNモデル10の全体の非線形特性を増加させることができる。さらに、ReLu層は、バックプロパゲーショントレーニング処理中の飽和を低減または回避することができる。
【0059】
[059]
別の限定されない実施例として、コンボリューション層および/またはプーリング層の後に、1つまたは複数の完全に接続された層29を追加することができる。完全に接続された層は、前の層のすべてのアクティベーションマップまたは機能マップと完全に接続されている。例えば、完全に接続された層は、最後のコンボリューション層または最後のプーリング層の出力をベクトル形式の入力として取り、高レベルの決定を実行し、深さ次元に沿って配置された特徴ベクトルを出力することができる。出力ベクトルは、出力層と呼ばれることがある。ベクトルは、CNNモデル10の画像22の入力スタック内の解剖学的構造の情報を含むことができる。
【0060】
[060]
更なる限定されない実施例として、損失層(図示せず)をCNNモデル10に含めることができる。損失層は、畳み込みニューラルネットワーク24またはCNNモデル10の最後の層であり得る。CNNモデル10のトレーニング中に、損失層は、ネットワークトレーニングが予測された2Dラベルマップと2Dグラウンドトゥルースラベルマップとの間の偏差をどのように不利にするかを決定することができる。損失層は、様々な適切な損失関数によって実施することができる。例えば、ソフトマックス関数をCNNモデル10の最終損失層として使用することができる。
【0061】
(ピクセル単位のラベリングアプローチ)
[061]
上述のように、CNNモデル10の第2の部分では、畳み込みニューラルネットワーク24によって抽出された1つまたは複数の特徴を入力として使用してピクセル単位のラベリングが行われ、予測2Dラベルマップ32が生成される。2Dラベルマップは、隣接する2D画像のスタックの中間画像の構造ラベル提供することができる。
【0062】
[062]
いくつかの実施形態では、パッチベースのアプローチが、隣接する2D画像22の入力スタックの中間画像26の2Dラベルマップ32を予測するために使用される。隣接する2D画像のスタック内の各画像は、それぞれが中心ピクセルを有する、重なり合ったまたは重ならない長方形パッチに同じように分割される。これにより、隣接する2D画像パッチのスタックが生成される。2D画像パッチのスタックは、トレーニングデータとCNNモデル10の入力の両方として使用することができる。パッチは、パッチの中心ピクセルが一緒になって実質的に全体の2D画像を構成するように設計することができる。CNNモデル10は、例えば中央ピクセルによって表される解剖学的構造を予測するなど、パッチの各スタックの中央パッチの中央ピクセルを分類することができる。例えば、CNNモデル10は、スタック内の中央パッチの中心ピクセルの特徴ベクトルを予測することができ、それによって中心ピクセルの解剖学的構造を分類することを可能にする。このような分類は、隣接する2D画像パッチの全てのスタックの中央パッチの全ての中心ピクセルが分類又はラベル付けされるまで繰り返し実行され、それにより隣接する2D画像のスタックの中央画像のセグメンテーションが達成される。
【0063】
[063]
上述したパッチベースのアプローチでは、隣接する2D画像22の入力スタックの中央画像26のピクセル単位のラベリングは、中央画像26全体を構成する全ての中央ピクセルが分類されるときに実行される。
【0064】
[064]
他の実施形態では、隣接する2D画像22の入力スタックの中間画像26の2Dラベルマップ32を予測するためにフルマップアプローチが使用される。そのような場合、中間画像26の2Dラベルマップ32は、隣接する2D画像22の入力スタックに基づいてCNNモデル10の出力として生成される。CNNモデル10内の畳み込みニューラルネットワーク24は、活性化マップまたは特徴マップを出力として抽出するために使用され、これは、2Dラベルマップを予測するために1つまたは複数の演算層を含むピクセル単位のラベリング構造によって受信される。そのような場合、畳み込みニューラルネットワーク24の最終層は、活性化マップまたは特徴マップを出力するコンボリューション層であり得る。
【0065】
[065]
限定されない実施例として、ピクセル単位予測層(図示せず)をCNNモデル10に追加して、ピクセル単位のラベリングを実行することができる。ピクセル単位予測層は、畳み込みニューラルネットワーク24の粗い出力特徴マップ(例えば、特徴ベクトル)を、隣接する2D画像22の入力スタックの中間画像26の(例えば、各ピクセルのより多くの情報を提供する)高密度の予測ピクセル単位2Dラベルマップ32に変換する。逆方向アップサンプリングまたはアンプーリング(例えば、双一次または非線形補間)、および逆方向畳み込み(デコンボリューション)などの様々な機能を使用して、ピクセル単位の予測層を実装することができる。
【0066】
[066]
他の限定されない実施例として、デコンボリューションネットワーク34がCNNモデル10に追加されて、ピクセル単位のラベリングが行われる。
図3に示すように、デコンボリューションネットワーク34は、CNNモデル10の畳み込みニューラルネットワーク24のミラーバージョンであり得る。抽出された活性化マップまたは特徴マップの空間寸法を漸進的に減少させる畳み込みニューラルネットワーク24とは反対に、デコンボリューションネットワーク34は、デコンボリューション層36および/またはアンプーリング層(図示せず)の選択を用いることによって中間活性化マップまたは特徴マップを拡大する。アンプーリング層(例えば、アップサンプリング層)は、特徴マップのピクセルをそれらの前または元のプールの位置に戻し、それによって拡大されたが希薄な活性化マップまたは特徴マップを生成するのに用いることができる。デコンボリューション層を使用して、入力活性化マップまたは特徴マップの単一のピクセルを複数の出力ピクセルに関連付け、それによって活性化マップまたは特徴マップの密度を拡大および増大させることができる。したがって、デコンボリューションネットワーク34は、2Dラベルマップを予測するために畳み込みニューラルネットワーク24と共にトレーニングされて使用される。
【0067】
[067]
当業者には理解されるように、ピクセル単位のラベリングを実行するための他の適切な方法は、本開示の実施形態において適合され、修正され、および/または使用されることができる。
【0068】
[068]
本開示の実施形態による、上述のCNNモデルに基づく画像セグメンテーション方法、システム、デバイス、および/またはプロセスは、2つの段階、すなわち、各ボクセルの異なる解剖学的構造でラベル付けされた3D画像を含むトレーニングデータセットを使用してCNNモデルを「トレーニング」または「学習」するトレーニング段階と、トレーニングされたCNNモデルを使用して入力3D画像の各ボクセルの解剖学的構造を予測するおよび/または入力3D医用画像の各ボクセルにラベル付けするセグメンテーション段階とを含む。上述のCNNモデルに基づく画像セグメンテーション方法、システム、装置、および/またはプロセスは、以下詳細に説明される。
【0069】
[CNNモデルに基づく画像セグメンテーションシステム]
[069]
図4は、本開示のいくつかの実施形態による、少なくとも1つのCNNモデルに基づいて3D画像をセグメント化するための例示的な画像セグメント化システム100を示す図である。
図4に示すように、画像セグメンテーションシステム100は、2つの段階、トレーニング段階およびセグメンテーション段階を実行するための構成要素を含むことができる。トレーニング段階を実行するために、画像セグメンテーションシステム100は、トレーニング画像データベース101およびCNNモデルトレーニングユニット102を含むことができる。セグメンテーション段階を実行するために、画像セグメンテーションシステム100は、CNNモデルベースの画像セグメンテーションユニット103および医用画像データベース104を含むことができる。いくつかの実施形態では、画像セグメンテーションシステム100は、
図4に示される構成要素のうちのより多くのまたはより少ない構成要素を含むことができる。例えば、画像セグメンテーションのためのCNNモデルが予めトレーニングされ提供されている場合、画像セグメンテーションシステム100はセグメンテーションユニット103および医用画像データベース104を含むだけでもよい。画像セグメンテーションシステム100は任意選択でネットワーク105を含むことができる。いくつかの実施形態では、ネットワーク105は有線データ通信システムまたは装置によって置き換えられることができる。
【0070】
[070]
いくつかの実施形態では、画像セグメンテーションシステム100の様々な構成要素は、互いに離れてまたは異なる空間に配置されてもよく、
図4に示されるようにネットワーク105を介して接続されてもよい。いくつかの代替可能な実施形態では、画像セグメンテーションシステム100の特定の構成要素は、同じ場所に配置してもよいし、1つの装置の内部に配置してもよい。例えば、トレーニング画像データベース101は、CNNモデルトレーニングユニット102の場所に配置されてもよく、またはCNNモデルトレーニングユニット102の一部であってもよい。他の例として、CNNモデルトレーニングユニット102およびセグメンテーションユニット103は同じコンピュータまたは処理装置の内部にあってもよい。
【0071】
[071]
図4に示すように、CNNモデルトレーニングユニット102は、トレーニング画像データベース101と通信して、トレーニング画像の1つまたは複数の組を受け取ることができる。トレーニング画像データベース101に格納されたトレーニング画像のセットは、医療画像データベース、例えば、放射線治療セッション中に以前に取得された医療画像を含む医療画像データベースから取得されてもよい。トレーニング画像の各セットは、解剖学的構造を3D画像のボクセルの各々に関連付ける3D画像およびその対応する3Dグラウンドトゥルースラベルマップを含むことができる。3D画像は、隣接する2D画像の1つまたは複数の順次スタックに選択的に分割されてもよい。3Dグラウンドトルースラベルマップは、隣接する2D画像の順次スタックにそれぞれ対応する順次2Dグラウンドトルースラベルマップに分割することができ、2Dグラウンドトルースラベルマップのピクセルは、既知の解剖学的構造と関連付けられる。各スタック内の隣接する2D画像の数は、3D画像のサイズ、CNNモデルの特定の枠組み、2D画像に垂直な軸に沿った隣接する2D画像内の解剖学的構造間の関係、および/またはセグメントのアプリケーションのような、さまざまな要因に基づいて決定される。
【0072】
[072]
いくつかの実施形態では、隣接する2D画像のスタックは、3、5、7、または任意の適切な奇数のような、奇数の画像を含む。そのような場合、グラウンドトゥルースラベルマップは、スタックの中央画像の各ピクセルに対して既知の解剖学的構造ラベルを提供する。他の実施形態では、隣接する2D画像のスタックは、2、4、6、または任意の適切な偶数のような、偶数の画像を含む。そのような場合、グラウンドトゥルースラベルマップは、スタックの2つの中央画像のうちの1つの各ピクセルについて既知の解剖学的構造ラベルを提供する。
【0073】
[073]
開示された実施形態によれば、トレーニング画像は、MRI、機能的MRI(例えば、fMRI、DCE−MRI、拡散MRI)、CT、CBCT、スパイラルCT、PET、SPECT、X線、光トモグラフィ、蛍光イメージング、超音波イメージング、放射線治療ポータルイメージングなどを含む様々な画像診断様式を用いて取得されることができる。いくつかの実施形態では、トレーニングデータは、腫瘍学情報システムから収集することができる。例えば、トレーニング画像は、画像取得装置140によって取得されてもよい。
【0074】
[074]
CNNモデルトレーニングユニット102は、トレーニング画像データベース101から受信したトレーニング画像を使用して、新しい3D画像の画像セグメンテーションを実行するためにCNNモデルをトレーニングすることができる。CNNモデルトレーニングユニット102は、プロセッサおよび非一時的コンピュータ可読媒体(
図5で詳細に説明される)を含むことができる。プロセッサは、コンピュータ可読媒体に格納されているトレーニング処理の命令を実行することによってトレーニングを実施することができる。CNNモデルトレーニングユニット102は、入力および出力インターフェース(
図5で詳細に説明される)をさらに含み、トレーニング画像データベース101、ネットワーク105、および/またはユーザインターフェース(図示せず)と通信することができる。ユーザインターフェースは、トレーニング画像のセットを選択すること、トレーニング処理の1つまたは複数のパラメータ(例えば、各スタック内の隣接画像スライスの数)を調整すること、CNNモデルのフレームワークを選択または修正すること、および/またはトレーニングのために画像を手動または半自動でセグメント化することに使用される。トレーニング処理の例は、
図6を参照して詳細に説明される。
【0075】
[075]
いくつかの実施形態によれば、CNNモデルトレーニングユニット102は、トレーニング処理(例えば、
図6に開示されるような)を実行するソフトウェアによって特別にプログラムされたハードウェア(例えば、
図5に開示されるような)により実施されてもよい。
【0076】
[076]
セグメンテーションユニット103は、CNNモデルトレーニングユニット102から少なくとも1つのトレーニングされたCNNモデルを受け取ることができる。セグメンテーションユニット103は、プロセッサおよび非一時的コンピュータ可読媒体(
図5で詳細に説明される)を含み得る。プロセッサは、媒体に格納されている画像セグメンテーション処理の命令を実行することによって3D画像のセグメンテーションを実行することができる。セグメンテーションユニット103はさらに、入力および出力インターフェース(
図5で詳細に説明される)を含み、医用画像データベース104、ネットワーク105、および/またはユーザインターフェース(図示せず)と通信することができる。ユーザインターフェースは、セグメント化される3D画像を選択すること、セグメンテーション処理を開始すること、セグメント化された3D画像または3Dラベルマップを表示すること、および/またはセグメント化された画像または3Dラベルマップに基づいてさらなる分析を実行することのために使用することができる。画像セグメンテーション処理の例については、
図7A〜
図8Bを参照して詳細に説明する。
【0077】
[077]
いくつかの実施形態によれば、セグメンテーションユニット103は、画像セグメンテーション処理(例えば、
図7A、7Bに開示されるような)を実行するソフトウェアによって特別にプログラムされたハードウェア(例えば、
図5に開示されるような)により実施されてもよい。
【0078】
[078]
セグメンテーションユニット103は、医用画像データベース104と通信して、1つまたは複数の3D画像を受け取ることができる。医用画像データベース104に格納された3D画像は、例えば、放射線療法治療セッションの2Dおよび/または3D画像を含む医用画像データベースから取得することができる。本明細書で説明されるように、3D画像は、画像取得装置140のような医用撮像装置によって取得された2D投影画像から再構成することができる。これらの3D画像は通常、まだセグメント化されていない。
【0079】
[079]
セグメンテーションユニット103は、CNNモデルトレーニングユニット102から受信した少なくとも1つのトレーニングされたCNNモデルを使用して、3D画像の各ボクセルが表す解剖学的構造を予測することができる。画像セグメンテーションが完了すると、セグメンテーションユニット103は、3D画像の各ボクセルを解剖学的構造に関連付ける3Dラベルマップを出力することができる。3Dラベルマップは、ユーザインターフェースに表示されてもよく、および/または治療計画におけるさらなる使用のために医用画像データベース104に格納されてもよい。いくつかの実施形態では、セグメント化された画像はトレーニング画像データベース101に自動的に格納されてトレーニング画像となることができる。
【0080】
[080]
開示された実施形態によれば、セグメント化されるべき3D画像は、MRI、機能的MRI(例えば、fMRI、DCE−MRI、拡散MRI)、CT、CBCT、スパイラルCT、PET、SPECT、X線、光トモグラフィ、蛍光イメージング、超音波イメージング、および放射線療法ポータルイメージングなどのような、様々な画像診断様式を用いて取得することができる。いくつかの実施形態では、医用画像データベース104は、セグメンテーションユニット103の統合された部分であるか、または、放射線療法治療室のようなセグメンテーションユニット103と同じ場所に配置され得る。
【0081】
[081]
ネットワーク105は、画像セグメンテーションシステム100内の上述の構成要素のうちのいずれかの間の接続を提供することができる。例えば、ネットワーク105は、ローカルエリアネットワーク(LAN)、無線ネットワーク、クラウドコンピューティング環境(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしてのインフラストラクチャ)、クライアントサーバ、広域ネットワーク(WAN)などであり得る。
【0082】
[CNNモデルベース画像処理装置]
[082]
図5は、本開示のいくつかの実施形態による、例示的な画像処理装置200を示す図である。画像処理装置200は、CNNモデルトレーニングユニット102、セグメンテーションユニット103、またはその2つの組み合わせの実施形態であり得る当業者には理解されるように、いくつかの実施形態では、画像処理装置200は特殊用途のコンピュータまたは汎用のコンピュータであり得る。例えば、画像処理装置200は、画像取得および画像処理タスクを実行するために病院用の特注のコンピュータとすることができる。
【0083】
[083]
図3に示すように、画像処理装置200は、画像処理部221、メモリ222、医用画像データベース225、画像データ記憶装置226、入出力インターフェース227、ネットワークインターフェース228、および画像ディスプレイ229を含む。
【0084】
[084]
画像プロセッサ221は、マイクロプロセッサ、中央処理装置(CPU)、グラフィック処理装置(GPU)のような1つまたは複数の汎用処理装置とすることができる。画像プロセッサ221は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、システムオンチップ(SoC)などのような1つまたは複数の専用処理装置とすることもできる。
【0085】
[085]
画像プロセッサ221は、メモリ222に通信可能に接続され、その上に格納されているコンピュータ実行可能命令を実行するように構成されてもよい。メモリ222は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、相変化ランダムアクセスメモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、他の種類のランダムアクセスメモリ(RAM)、フラッシュディスクまたは他の形態のフラッシュメモリ、キャッシュ、レジスタ、静的メモリ、コンパクトディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)または他の光学的記憶デバイス、カセットテープまたは他の磁気記憶デバイス、または、コンピュータ装置などによってアクセスされることができる情報または命令を格納するために使用される他の任意の非一時的媒体のような、非一時的コンピュータ可読媒体であり得る。
【0086】
[086]
いくつかの実施形態では、メモリ222は、1つまたは複数の画像処理プログラム223のようなコンピュータ実行可能命令、ならびに医用画像データ224のようなコンピュータプログラムの実行中に使用または生成されるデータを格納することができる。画像プロセッサ221は、画像処理プログラム223を実行して、CNNモデルトレーニングユニット102および/またはセグメンテーションユニット103の機能を実施することができる。画像プロセッサ221は、またメモリ222から医用画像データ224を送信および/または受け取ることができる。例えば、画像プロセッサ221は、メモリ222に格納されているトレーニング画像データまたは医用画像データを受け取ることができる。画像プロセッサ221は、またCNNモデルの更新されたパラメータ、および/または中間の2Dおよび/もしくは3Dのセグメント化画像もしくはラベルマップなどの中間データを生成し、それらをメモリ222に送信することができる。
【0087】
[087]
画像処理装置200は、トレーニング画像データベース101および医用画像データベース104の一方または両方を含む医用画像データベース225を任意に含んでもよい。当業者であれば、医用画像データベース225が集中的または分散的に配置された複数の装置を含むことができることを理解するであろう。画像プロセッサ221は、医用画像データベース225と通信して、画像をメモリ222に読み込む、またはセグメント化された画像をメモリ222から医用画像データベース225に格納することができる。
【0088】
[088]
画像データ記憶装置226は、画像プロセッサ221によって実行される画像処理タスクに関連するデータを記憶するのに利用可能な追加の記憶装置である。いくつかの実施形態では、画像データ記憶装置226は、非一時的機械可読またはコンピュータ可読記憶媒体を含むことができる。一実施形態における機械可読記憶媒体またはコンピュータ可読記憶媒体は単一の媒体とすることができ、「機械可読記憶媒体」または「コンピュータ可読記憶媒体」という用語は、1つまたは複数のコンピュータ実行可能命令またはデータのセットを格納する、単一の媒体または複数の媒体(例えば、集中型または分散型データベースおよび/または関連するキャッシュおよびサーバ)を含むものとして理解されるべきである。用語「機械可読記憶媒体」または「コンピュータ可読記憶媒体」は、機械またはコンピュータによる実行のための一組の命令を記憶またはエンコードすることができ、任意の1つまたは複数の本開示の方法を実行することを機械またはコンピュータに引き起こす任意の媒体を含むと理解されるべきである。したがって、「機械可読記憶媒体」または「コンピュータ可読記憶媒体」という用語は、それだけに限定されないが、固体メモリ、光媒体、および磁気媒体を含むと解釈されるものである。
【0089】
[089]
入出力インターフェース227は、データが画像処理装置200によって受信および/または送信されることを可能にするように構成されることができる。入出力インターフェース227は、画像処理装置200がユーザまたは他の機械および装置と通信することを可能にする1つまたは複数のデジタルおよび/またはアナログ通信装置を含むことができる。例えば、入出力インターフェース227は、ユーザが画像処理装置200に入力するためのキーボードおよびマウスを含むことができる。
【0090】
[090]
ネットワークインターフェース228は、ネットワークアダプタ、ケーブルコネクタ、シリアルコネクタ、USBコネクタ、パラレルコネクタ、ファイバ、USB3.0、サンダーボルトなどのような高速データ伝送アダプター、WiFiアダプター、電気通信(3G、4G/LTEなど)アダプターなどのような無線ネットワークアダプタを含むことができる。画像処理装置200は、ネットワークインターフェース228を介してネットワーク105に接続することができる。画像ディスプレイ229は、医用画像を表示するのに適した任意の表示装置であることができる。例えば、画像ディスプレイ229は、LCD、CRT、またはLEDディスプレイで歩ことができる。
【0091】
[例示的なCNNモデルトレーニング処理]
[091]
本開示の画像セグメンテーション方法、システム、およびデバイスによって実行される例示的なトレーニング処理を、
図6を参照しながら以下詳細に説明する。
【0092】
[092]
図6は、本開示のいくつかの実施形態による、CNNモデルをトレーニングするための例示的なトレーニング処理400を示すフローチャートである。いくつかの実施形態では、トレーニング処理400は、CNNモデルトレーニングユニット102によって実行される。
【0093】
[093]
トレーニング処理400は、CNNモデルトレーニングユニット102が一組のトレーニング画像を受信したときに開始する(ステップ410)。上記のように、トレーニング画像のセットは、3Dトレーニング画像とそれに対応する3Dグラウンドトゥルースラベルマップとを含むことができる。例えば、3Dトレーニング画像は、患者の骨盤領域、頭部領域、心臓領域、肝臓領域、または他の解剖学的領域を示す。いくつかの実施形態では、トレーニング画像は、セグメント化される画像と同じまたは類似の関心領域である。
【0094】
[094]
図6に示すように、CNNモデルをトレーニングするための反復の開始点を設定するために、ステップ412において、反復回数を追跡するためのインデックスが例えばゼロに設定される。ステップ414において、CNNモデルトレーニングユニット102は、3Dトレーニング画像および対応する2Dグラウンドトゥルースラベルマップから隣接する2D画像の1つ以上のスタックを例えばランダムに選択し、CNNモデルをトレーニングするためのひとつのバッチとして選択された画像およびマップを集約して使用する。例えば、解剖学的平面に沿った隣接する2D画像の一連の順次スタックは、3Dトレーニング画像から得られてもよい。一連のスタックの中間画像が実質的に全体の3Dトレーニング画像を構成することができるように、順次スタックは1つまたは複数の重なり合う画像を有することができる。加えて、CNNモデルトレーニングユニット102は、隣接する2D画像の選択されたスタックのそれぞれの中間画像の対応する2Dグラウンドトルースラベルマップを受け取ることができる。例えば、上述のように、3Dグランドトゥルースラベルマップは、隣接する2D画像の順次スタックにそれぞれ対応する一連の順次2Dグランドトゥルースラベルマップに分割されてもよい。2Dラベルマップは、隣接する2D画像の選択されたスタックの中間画像の各ピクセルに対する既知の解剖学的構造のラベルを提供する。したがって、2Dラベルマップの各ピクセルは、背景、または隣接する2D画像の選択されたスタックに含まれる既知の解剖学的構造のうちの1つのいずれかと関連付けられる。上述のように、隣接する2D画像のスタックは、解剖学的平面に直交する軸に沿ってそれらの間の依存構造情報を含む。
【0095】
[095]
いくつかの実施形態では、ステップ414において選択された隣接する2D画像の1つまたは複数のスタックは、軸平面、矢状面、冠状面のような3つの解剖学的平面から選択された平面に沿っている。そのような場合、処理400は、例えば、この選択された平面に沿ってスライスされた3D画像をセグメント化するために、この選択された平面に対するCNNモデルを出力することができる。いくつかの実施形態では、処理400を繰り返して、3つの解剖学的平面に沿ってそれぞれ3D画像スライスをセグメント化するためにトレーニングされた3つの異なるCNNモデルを出力することができる。
【0096】
[096]
他の実施形態では、ステップ414で選択された隣接する2D画像の1つまたは複数のスタックは、2つ以上の選択された解剖学的平面に沿っていてもよい。処理400は、2つ以上の選択された解剖学的平面のうちの任意の1つに沿って画像をセグメント化するために使用され得る1つのトレーニングされたCNNモデルを出力するために実行される。他の実施形態では、ステップ414で選択された隣接する2D画像の1つまたは複数のスタックは、3つの解剖学的平面のうちのいずれかに沿っていてもよく、例えば、隣接する2D画像の少なくとも1つのスタックが各解剖学的平面に対して選択される。処理400は、3つの解剖学的平面のうちのいずれかに沿って画像をセグメント化するために使用される1つのトレーニングされたCNNモデルを得るために実行される。そのような場合、出力CNNモデルは、3つすべての解剖学的平面に沿って隣接する2D画像の組合せスタックを使用してトレーニングされる。
【0097】
[097]
ステップ414からステップ422までを複数回繰り返して実行して、CNNモデルが、満足できる推定2Dおよび/または3Dラベルマップを出力するまで、CNNモデルをトレーニングする。反復回数は様々な停止基準によって決定される。いくつかの実施形態では、最大の反復回数が使用され得る。各反復において、最大反復回数に達するまで、トレーニングデータの新しいバッチがランダムに選択され、CNNモデルをトレーニングするために使用することができる。追加的または代替的に、期待される精度は、CNNモデルをトレーニングする前に予め決定してもよい。CNNモデルパラメータのバッチ選択および更新は、出力の2Dおよび/または3Dラベルマップの精度が予想される精度を満たすまで繰り返し実行される。
【0098】
[098]
ステップ412において、CNNモデルをトレーニングするための反復の開始点を設定するために、
図6に示すように、反復回数を追跡するための指標は、例えば0に設定されている。ステップ414において、トレーニングデータのバッチが、上述のように、例えば、ランダムに選択される。ステップ416において、CNNモデルトレーニングユニット102は、トレーニング用のCNNモデルにトレーニングデータの選択されたバッチを入力する。ステップ418において、CNNモデルトレーニングユニット102は、CNNモデルをその現在のパラメータ、例えばフィルタの重みと共に用いて、隣接する2D画像の入力スタックに対応する推定2Dラベルマップを得る。
【0099】
[099]
ステップ420において、CNNモデルトレーニングユニット102は、推定された2Dラベルマップをステップ412において選択された2Dグラウンドトゥルースラベルマップと比較し、そして対応するエラーマップを計算する。ステップ422において、CNNモデルトレーニングユニット102は、得られたエラーマップに基づいてCNNモデルの1つまたは複数の層のパラメータを決定または更新する。例えば、バックプロパゲーション法を使用して、2Dグラウンドトゥルースラベルマップと出力された推定2Dラベルマップとの間の差に基づいて、CNNモデルの1つまたは複数の層のパラメータを決定または更新することができる。バックプロパゲーション法は、例えば、CNNモデル内のすべてのパラメータに関して損失関数を最小化することによってパラメータを最適化することができる。
【0100】
[0100]
ステップ424において、CNNモデルトレーニングユニット102は、反復回数を追跡するためのインデックスを1つ増加させる。ステップ426において、CNNモデルトレーニングユニット102は、反復を停止するための基準が満たされているかどうかを判定する。上述のように、いくつかの実施形態では、CNNモデルトレーニングユニット102は、インデックスが所定の最大インデックス数以上であるかどうかを判定する。追加的または代替的に、CNNモデルトレーニングユニット102は、例えば、損失関数がしきい値より小さいかどうかを判定することによって、推定された2Dラベルマップの正確さが期待される正確さを満たすまたは拡張するかどうかを判定することができる。CNNモデルトレーニングユニット102が、反復を停止するための基準が満たされていないと判断した場合(ステップ426:No)、CNNモデルをトレーニングするためにトレーニングデータの新しいバッチをもう一度選択するためにステップ414に戻る。CNNモデルトレーニングユニット102が、反復を停止するための基準が満たされたと判断した場合(ステップ426:Yes)、トレーニング処理400はステップ428に進み、CNNモデルを更新されたパラメータと共に保存し、および/またはトレーニングされたCNNモデルを出力する。
【0101】
[0101]
いくつかの実施形態では、CNNモデルをトレーニングするために、2つ以上のトレーニング画像データセット(例えば、2つ以上の3Dトレーニング画像および対応する3Dグラウンドトゥルースラベルマップ)が使用される。そのような場合、ステップ414においてトレーニングデータのバッチを選択するとき、最初に1つまたは複数の3Dトレーニング画像データセットをランダムに選択し、次に、選択された3D画像データセットから、隣接する2D画像の1つまたは複数のスタックおよび対応する2Dグラウンドトルースラベルマップをランダムに選択する。その後、ステップ414からステップ426は上記と同様に進行する。
【0102】
[例示的なCNNモデルに基づく画像セグメンテーション処理]
[0102]
本開示の画像セグメンテーション方法、システム、およびデバイスによって実行される例示的な画像セグメンテーション処理は、
図7Aから
図8Bを参照して、以下詳細に説明する。
【0103】
[0103]
図7Aは、本開示のいくつかの実施形態による
図6の処理を通じて得られたトレーニング済みCNNモデルを使用した例示的な画像セグメンテーション処理500Aを示すフローチャートである。画像セグメンテーション処理500Aは、セグメンテーションユニット103によって実行される。
図7Aに示されるように、画像セグメンテーション処理500Aは、セグメンテーションユニット103がセグメンテーションされるべき3D画像を受信したときに開始する(ステップ512)。3D画像は、3D医用画像、例えば、患者の骨盤領域、頭部領域、心臓領域、肝臓領域、または他の解剖学的領域を示す3D医用画像であり得る。ステップ514において、セグメンテーションユニット103はトレーニングされたCNNモデルを受け取る。
【0104】
[0104]
ステップ516において、セグメンテーションユニット103は、3D画像から生成された隣接する2D画像の一連のスタックから隣接する2D画像のスタックを選択する。上述のように、隣接する2D画像の一連のスタックは連続していてもよく、スタックの中間画像が一緒になって全体の3D画像を実質的に構成するように、1つまたは複数の重なり合う画像を有してもよい。ステップ518において、シリーズ内のスタックがトレーニング済みCNNモデルに入力される。ステップ520において、セグメンテーションユニット103は、スタック内の中間画像の2D出力ラベルマップを決定する。ステップ522において、セグメンテーションユニット103は、隣接する2D画像の全てのスタックがトレーニングされたCNNモデルに入力されたかどうかを判定する。3D画像から生成された隣接する2D画像の全てのスタックが使用されていないとセグメンテーションユニット103が判定した場合(ステップ522:No)、画像セグメンテーション処理500Aはステップ516に戻る。3D画像から生成された隣接する2D画像のすべてのスタックが使用されているとセグメンテーションユニット103が判定した場合(ステップ522:Yes)、画像セグメンテーション処理500Aはステップ524に進む。
【0105】
[0105]
ステップ524において、3Dラベルマップは、隣接する2D画像のスタックの中間画像の2Dラベルマップに基づいて決定される。例えば、3Dラベルマップは、2D画像のスタックの解剖学的平面に直交する軸に沿って中間画像のシーケンスに従って中間画像の2Dラベルマップを集約することによって得ることができる。任意であるが、画像セグメンテーション処理500Aはステップ526を含んでもよい。ステップ526において、セグメンテーションユニット103はセグメンテーション3D画像を出力する。例えば、セグメンテーションユニット103は、さらなる分析または観察のためにセグメント化された3D画像または3Dラベルマップを表示する。
【0106】
[0106]
図7Bは、本開示のいくつかの実施形態による
図6の処理を通じて得られた1つまたは複数のトレーニングされたCNNモデルを使用した別の例示的な画像セグメンテーション処理500Bを示すフローチャートである。画像セグメンテーション処理500Bは、セグメンテーションユニット103によって実行される。画像セグメンテーション処理500Bは、画像セグメンテーション処理500Aにおけるものと同様のステップを含む。画像セグメンテーション処理500Bは、セグメンテーションユニット103がセグメンテーションされるべき3D画像を受信したときに開始する(ステップ528)。3D画像は、3D医用画像、例えば患者の骨盤領域、頭部領域、心臓領域、肝臓領域、または他の解剖学的領域を示す3D医用画像であり得る。
【0107】
[0107]
ステップ530において、セグメンテーションユニット103は、隣接する2D画像のスタックを取得するために、ステップ528において受信された3D画像の平面を選択する。例えば、3D画像が3D医用画像である場合、ステップ530は、軸面、矢状面、および冠状面などの3つの解剖学的面のうちの1つを選択する。ステップ532において、セグメンテーションユニット103は、選択された解剖学的平面に沿って3D画像から一連の隣接する2D画像のスタックを生成する。
【0108】
[0108]
ステップ534において、セグメンテーションユニット103は、1つまたは複数のトレーニングされたCNNモデルを受信する。いくつかの実施形態では、受信したトレーニングされたCNNモデルは、ステップ530で選択されたものと同じ解剖学的平面に沿って隣接する2D画像のスタックを用いてトレーニングされていてもよい。そのような場合、ステップ530で選択された平面が変更されると、解剖学的平面に対応する別のトレーニングされたCNNモデルが受信され、画像セグメンテーションを実行するために使用される。他の実施形態では、トレーニングされたCNNモデルは、3D画像の3つ全ての解剖学的平面に沿って隣接する2D画像のスタックを用いてトレーニングされる。そのような場合、同じトレーニングされたCNNモデルは、任意の選択された解剖学的平面に沿って隣接する2D画像のスタック、または3つの解剖学的平面から組み合わされた隣接する2D画像の任意のスタックの画像セグメンテーションを実行するために使用できる。
【0109】
[0109]
ステップ536からステップ542は、画像セグメンテーション処理500Aのステップ516からステップ522と同様である。ステップ536において、セグメンテーションユニット103は、ステップ532において生成された一連の隣接する2D画像のスタックから、隣接する2D画像のスタックを選択する。ステップ538において、シリーズ内のスタックがトレーニング済みCNNモデルに入力される。ステップ540において、セグメンテーションユニット103は、スタック内の中間画像の2D出力ラベルマップを決定する。ステップ542において、セグメンテーションユニット103は、隣接する2D画像の全てのスタックがトレーニングされたCNNモデルに入力されたかどうかを判定する。選択された解剖学的平面に沿って3D画像から生成された隣接する2D画像の全てのスタックが使用されていないとセグメンテーションユニット103が判定した場合(ステップ542:No)、画像セグメンテーション処理500Bはステップ536に戻る。選択された解剖学的平面に沿って3D画像から生成された隣接する2D画像のすべてのスタックが使用されているとセグメンテーションユニット103が判定した場合(ステップ542:Yes)、画像セグメンテーション処理500Bはステップ544に進む。
【0110】
[0110]
ステップ544において、3Dラベルマップは、2D隣接画像のスタックの中間画像の2Dラベルマップに基づいて決定される。例えば、3Dラベルマップは、2D画像のスタックの解剖学的平面に直交する軸に沿って中間画像のシーケンスに従って中間画像の2Dラベルマップを集約することによって得ることができる。また、画像セグメンテーション処理500Bはステップ546を含んでもよい。ステップ546において、セグメンテーションユニット103は、3つすべての平面(例えば、軸平面、矢状面、冠状面)に沿った3つの一連の隣接する2D画像のスタックすべてが3D画像のセグメント化に使用されたかどうかを判定する。3つ全ての平面に対応する2D画像の3つのシリーズのスタックの全てが使用されていないとセグメンテーションユニット103が判定した場合(ステップ546:No)、別の解剖学的平面を選択するために画像セグメンテーション処理500Bはステップ530に戻る。セグメンテーションユニット103が、3つすべての平面に対応する2つの一連の2D画像スタックすべてが使用されたと判断した場合(ステップ546:Yes)、画像セグメンテーション処理500Bはステップ548に進む。
【0111】
[0111]
ステップ548において、セグメンテーションユニット103は最終3Dラベルマップを決定する。3つの解剖学的平面について決定された3つの3Dラベルマップを融合することによって最終的な3Dラベルマップを決定することができる。いくつかの実施形態では、融合された3Dラベルマップのボクセルの値は多数決によって決定されてもよい。例えば、3つの3Dラベルマップのうち2つが解剖学的構造として3D画像のボクセルをラベル付けする場合、融合された3Dラベルマップの対応するボクセルは同じ解剖学的構造に関連付けられていると決定される。他の実施形態では、融合3Dラベルマップのボクセルは、3つの3Dラベルマップ内の対応するボクセルについて推定された最大尤度または確率に基づいて決定される。例えば、第1の3Dラベルマップが、ボクセルは0.5の確率で膀胱を表すと決定し、第2の3Dラベルマップが、ボクセルは0.4の確率で前立腺を表すと決定し、第3の3Dラベルマップが、ボクセルは0.2の確率で直腸を表すと決定したならば、そのボクセルは融合された3Dラベルマップでは膀胱を表すものとしてラベル付けされる。本明細書に記載されるように、画像セグメンテーション処理500Bにおいて決定された3つの3Dラベルマップを融合するために任意の適切な方法が使用されてもよい。
【0112】
[0112]
上述のように、CNNモデルは、3つの解剖学的平面に沿って隣接する2D画像のスタックを使用してトレーニングすることができる。そのような場合、画像セグメンテーション処理500Bが第2の解剖学的平面を選択するためにステップ530を実行し、選択された解剖学的平面に沿って隣接する2D画像の一連のスタックを生成するためにステップ532を実行するとき、画像セグメンテーション処理500Bはステップ534をスキップしてステップ536に進む。3D医用画像をセグメント化するための画像セグメンテーション処理500Bは、さらに
図8Aおよび
図8Bに示されている。
【0113】
[0113]
図8Aに示すように、セグメンテーションユニット103は、1つより多い解剖学的平面(例えば、軸平面、矢状平面、冠状平面)に沿って隣接する2D画像のスタックを使用してトレーニングされたCNNモデルを受信する。3つの解剖学的平面に沿ってセグメント化されるべき3D医用画像から生成された隣接する2D画像の3つの一連のスタックは、2Dラベルマップを得るためにトレーニングされたCNNモデルに独立して入力する。あるいは、3つの解剖学的平面に沿った3つの一連の隣接する2D画像のスタックを組み合わせ、例えば1つずつ積み重ね、そして同じトレーニングされたCNNモデルに入力してもよい。上述したように、各解剖学的平面に沿った一連の隣接する2D画像のスタックの中間画像の2Dラベルマップは、3Dラベルマップを得るために、例えば、解剖学的平面に直交する軸に沿って積み重ねることができる。したがって、
図8Aに示すように、3つの異なる解剖学的平面に対応する隣接する画像の3つの一連のスタックに基づいて、3D画像の3つの3Dラベルマップを得る。上述したように、3つの3Dラベルマップを融合して3D医用画像の最終的な3Dラベルマップを生成する。
【0114】
[0114]
あるいは、
図8Bに示すように、セグメンテーションユニット103は、3つの解剖学的平面(例えば、軸平面、冠状平面、矢状面)のうちの1つに沿った隣接する2D画像のスタックをそれぞれ使用してトレーニングされた3つのCNNモデルを受信する。そのような場合、セグメンテーションユニット103は各解剖学的平面を選択し、各解剖学的平面に沿って3D医用画像から一連の隣接する2D画像のスタックを生成する。3つの解剖学的平面のうちの1つに沿って生成された一連の隣接する2D画像のスタックのそれぞれは、対応する解剖学的平面の2D画像のスタックでトレーニングされた別個のCNNモデルに独立して入力されて2Dラベルマップを得る。例えば、
図8Bに示すように、3つのCNNモデル、CNNモデル1、CNNモデル2、CNNモデル3は、それぞれ、軸平面、矢状平面、冠状平面に沿って得られた隣接する2D画像のスタックを処理するために別々に使用される。同様に、各解剖学的平面に沿った隣接する2D画像のスタックの中間画像の2Dラベルマップは、3Dラベルマップを得るために、例えば、解剖学的平面に直交する軸に沿って積み重ねることによって集約することができる。したがって、3つの異なる解剖学的平面の隣接する画像の3つの一連のスタックに基づいて3つの3Dラベルマップを得る。上述のように、3つの3Dラベルマップを融合して3D医用画像の最終的な3Dラベルマップを生成する。
【0115】
[0115]
本明細書で説明するように、いくつかの実施形態では、セグメンテーションユニット103は、3つの解剖学的平面のうちの1つに沿って隣接する2D画像のスタックを使用してそれぞれトレーニングされた2つまたは3つのCNNモデルを受信し得る。そのような場合、選択された2つまたは3つの異なる解剖学的平面に沿って3D医用画像から得られる隣接する2D画像の2つまたは3つの一連のスタックに基づいて2つまたは3つの3Dラベルマップを得ることができる。同様に、2つまたは3つの3Dラベルマップを融合して3D医用画像の最終的な3Dラベルマップを生成することができる。
【0116】
[0116]
本明細書では、ソフトウェアコードまたは命令として実施または定義することができる様々な動作または機能を説明する。そのようなコンテンツは、直接実行可能(「オブジェクト」または「実行可能」形式)、ソースコード、または差分コード(「デルタ」または「パッチ」コード)であり得る。本明細書に記載された実施形態のソフトウェアの実装は、コードまたは命令を格納した製品を介して、または通信インターフェースを介してデータを送信するように通信インターフェースを動作させる方法を介して提供することができる。機械またはコンピュータ可読記憶媒体は、説明された機能または動作を機械(例えば、コンピューティングデバイス、電子システムなど)に実行させることができ、記録可能/記録不可能媒体(例えば、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスなど)のような機械によってアクセス可能な形式で情報を記憶する任意の機構を含む。通信インターフェースは、メモリバスインターフェース、プロセッサバスインターフェース、インターネット接続、ディスクコントローラ、およびディスクコントローラなどのような、有線、無線、光学など、他の装置への通信する媒体のいずれかにインターフェースする任意の機構を含む。通信インターフェースは、構成パラメータを提供すること、および/またはソフトウェアコンテンツを記述するデータ信号を提供するために通信インターフェースを準備するために信号を送信することによって構成することができる。通信インターフェースは、通信インターフェースに送信された1つまたは複数のコマンドまたは信号を介してアクセスすることができる。
【0117】
[0117]
本発明はまた、本明細書の動作を実行するためのシステムに関する。このシステムは、要求される目的のために特別に構築されてもよく、あるいはコンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成された汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、これらに限定されないが、フロッピーディスク、光ディスク、CD−ROM、および光磁気ディスクを含む任意の種類のディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気または光学カード、または電子命令を格納するのに適した任意の種類の媒体であって、それぞれコンピュータシステムバスに結合されているような、コンピュータ可読記憶媒体に記憶することができる。
【0118】
[0118]
本明細書に図示および記載された本発明の実施形態における動作の実行または実行の順序は、他に特定されない限り必須ではない。すなわち、動作は、他に特定されない限り、任意の順序で実行されてもよく、本発明の実施形態は、本明細書に開示されたものよりも追加の動作を含んでもよく、またはより少ない動作でもよい。例えば、特定の動作を他の動作の前、それと同時に、またはその後に実行することは、本発明の態様の範囲内であると考えられる。
【0119】
[0119]
本発明の実施形態は、コンピュータ実行可能命令を用いて実施することができる。コンピュータ実行可能命令は、1つまたは複数のコンピュータ実行可能コンポーネントまたはモジュールに編成することができる。本発明の態様は、任意の数および構成のそのような構成要素またはモジュールを用いて実施することができる。例えば、本発明の態様は、図に示され本明細書に記載された特定のコンピュータ実行可能命令または特定の構成要素もしくはモジュールに限定されない。本発明の他の実施形態は、本明細書に図示および説明されたものよりも多いまたは少ない機能を有する異なるコンピュータ実行可能命令または構成要素を含み得る。
【0120】
[0120]
開示された原理の例および特徴が本明細書に記載されているが、開示された実施形態の精神および範囲から逸脱することなく、修正、適応、および他の実装が可能である。また、「含む」、「有する」、「含む」、「含んでいる」という用語、および他の同様の形態は、意味において同等であり、これらの単語のいずれかに続く単数または複数の項目は、単数または複数の項目の網羅的なリストであることを意味するのではなく、またはリストされた単数または複数の項目のみに限定されることを意味するように、オープンエンドとして解釈されるように意図されている。そして、単数形「a」、「an」、「the」は、文脈が明らかにそうでないことを示さない限り、複数の言及を含むことを意図している。
【0121】
[0123]
本発明の態様を詳細に説明してきたが、添付の特許請求の範囲に規定されるような本発明の態様の範囲から逸脱することなく修正および変形が可能であることは明らかであろう。本発明の態様の範囲から逸脱することなく上記の構成、製品、および方法に様々な変更を加えることができるので、上記の説明に含まれ添付の図面に示されるすべての事項は例示として解釈されるべきであり、限定的な意味ではない。