IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カール ツァイス メディテック インコーポレイテッドの特許一覧 ▶ カール ツアイス メディテック アクチエンゲゼルシャフトの特許一覧

特許7611932ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正
<>
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図1
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図2
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図3
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図4
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図5
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図6
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図7
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図8
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図9
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図10
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図11
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図12
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図13
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図14
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図15
  • 特許-ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-26
(45)【発行日】2025-01-10
(54)【発明の名称】ニューラルネットワークを用いたOCTAボリュームにおけるフロー投影アーチファクトの補正
(51)【国際特許分類】
   A61B 3/10 20060101AFI20241227BHJP
   G06T 1/40 20060101ALI20241227BHJP
   A61B 3/12 20060101ALI20241227BHJP
【FI】
A61B3/10 100
G06T1/40
A61B3/12 300
【請求項の数】 14
(21)【出願番号】P 2022559745
(86)(22)【出願日】2021-03-26
(65)【公表番号】
(43)【公表日】2023-05-15
(86)【国際出願番号】 EP2021058038
(87)【国際公開番号】W WO2021198112
(87)【国際公開日】2021-10-07
【審査請求日】2024-03-13
(31)【優先権主張番号】63/002,172
(32)【優先日】2020-03-30
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】503317201
【氏名又は名称】カール ツァイス メディテック インコーポレイテッド
【氏名又は名称原語表記】Carl Zeiss Meditec Inc.
(73)【特許権者】
【識別番号】502303382
【氏名又は名称】カール ツアイス メディテック アクチエンゲゼルシャフト
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】リー、アーロン
(72)【発明者】
【氏名】ルイス、ウォーレン
(72)【発明者】
【氏名】デ システルネス、ルイス
(72)【発明者】
【氏名】スパイド、セオドア
【審査官】増渕 俊仁
(56)【参考文献】
【文献】国際公開第2020/049828(WO,A1)
【文献】Sripad Krishna Devalla, et al.,Learning Approach to Denoise Optical Coherence Tomography Images of the Optic Nerve Head,arXiv,2018年09月27日,https://arxiv.org/abs/1809.10589
(58)【調査した分野】(Int.Cl.,DB名)
A61B 3/00-3/18
(57)【特許請求の範囲】
【請求項1】
眼の光干渉断層撮影(以下、OCTとする)ベースの画像におけるアーチファクトを低減する方法であって、
OCTシステム(OCT_1)から眼のOCT画像データ(36)を収集するステップ(S1)であって、前記OCT画像データは深さ指標情報を含む、前記OCT画像データを収集するステップ(S1)と、
前記OCT画像データ(36)を訓練済みのニューラルネットワークに提供するステップ(S2)と、を含み、前記ニューラルネットワークは、前記深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を適用し、かつ収集された前記OCT画像データ(36)と比較してアーチファクトが低減された出力OCTベースの画像を生成(S3)、
前記ニューラルネットワークは、
前記OCT画像データ(36)を受信するための入力層(34)と、
受信した前記OCT画像データ(36)内の予め選択された複数の網膜ランドマークの位置によって定義された可変深さ範囲外の画像情報を圧縮するための、前記入力層(34)に続く動的プーリング層(32)と、
前記深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を実行する、前記動的プーリング層(32)に続く複数のデータ処理層(31a、31b、33a、33b)と、
前記複数のデータ処理層(31a、31b、33a、33b)の出力と目標出力OCTA画像(59)とを比較して、バックプロパゲーション処理により前記複数のデータ処理層(31a、31b、33a、33b)の内部重みを調整する出力層(57)と、を含む、方法。
【請求項2】
前記異なる複数の計算は、予め定義された複数の局所的な網膜ランドマークにコンテキスト的に依存する、請求項1に記載の方法。
【請求項3】
前記複数の網膜ランドマークは、所定の複数の網膜層である、請求項2に記載の方法。
【請求項4】
前記アーチファクトは、投影アーチファクト、脱相関テール、陰影アーチファクト、および不透明度のうちの1つまたは複数である、請求項1乃至3のいずれか一項に記載の方法。
【請求項5】
前記ニューラルネットワークは、処理中の前記OCT画像データの現在の軸方向位置に対する前記予め選択された複数の網膜ランドマークの局所的な近接性に基づいて、異なる複数の重みを有する損失関数(61)を適用する、請求項1乃至4のいずれか一項に記載の方法。
【請求項6】
前記予め選択された複数の網膜ランドマークは、特定の複数の網膜層である、請求項1乃至4のいずれか一項に記載の方法。
【請求項7】
前記ニューラルネットワークは、特定の複数の網膜層に基づく異なる複数の重みを有する損失関数(61)を適用する、請求項に記載の方法。
【請求項8】
前記損失関数(61)は、内境界膜(ILM)と網膜色素上皮(RPE)との間の領域に対する第1の重みと、他の場所に対する第2の重みとを有する、請求項に記載の方法。
【請求項9】
前記第1の重みは、前記第2の重みよりも少なくとも1桁大きい、請求項に記載の方法。
【請求項10】
眼の光干渉断層撮影(以下、OCTとする)ベースの画像におけるアーチファクトを低減する方法であって、
OCTシステム(OCT_1)から眼のOCT画像データ(36)を収集するステップ(S1)であって、前記OCT画像データは深さ指標情報を含む、前記OCT画像データを収集するステップ(S1)と、
前記OCT画像データ(36)を訓練済みのニューラルネットワークに提供するステップ(S2)と、を含み、前記ニューラルネットワークは、前記深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を適用し、かつ収集された前記OCT画像データ(36)と比較してアーチファクトが低減された出力OCTベースの画像を生成し(S3)、
前記ニューラルネットワークがU-Net構造を含み、前記U-Net構造は、
収束経路(CC1、CC2、CC3、CC4)内の複数の符号化モジュールと、
拡張経路内の複数の復号モジュールであって、各復号モジュールが前記収束経路(CC1、CC2、CC3、CC4)内の個別の符号化モジュールと対応している、前記複数の復号モジュールと、を含み、
各符号化モジュールは、畳み込みを入力に適用し、列方向最大プーリングを畳み込み結果に適用して、縮小画像を形成し、前記縮小画像は、次いで、入力の次元にアップサンプリングされて入力に結合され、その後、別の畳み込みが行われる、方法。
【請求項11】
前記U-Net構造は、前記収束経路(CC1、CC2、CC3、CC4)と前記拡張経路との間のボトルネックモジュール(BN)をさらに含み、前記ボトルネックモジュール(BN)は、列方向プーリングを適用する、請求項10に記載の方法。
【請求項12】
眼の光干渉断層撮影(以下、OCTとする)ベースの画像におけるアーチファクトを低減する方法であって、
OCTシステム(OCT_1)から眼のOCT画像データ(36)を収集するステップ(S1)であって、前記OCT画像データは深さ指標情報を含む、前記OCT画像データを収集するステップ(S1)と、
OCT血管造影(以下、OCTAとする)処理技術を使用して、収集された前記OCT画像データにおけるモーションコントラスト情報を算出するステップ(Sub2)と、
収集された前記OCT画像データから眼の構造画像を作成するステップであって、前記構造画像は、組織構造情報を描写する、眼の構造画像を作成するステップ(Sub1)と、
前記モーションコントラスト情報から眼のフロー画像を作成するステップ(Sub3)であって、前記フロー画像は、血管系フロー情報を描写し、かつアーチファクトを含む、眼のフロー画像を作成するステップ(Sub3)と、
前記フロー画像に軸方向に沿って前記深さ指標情報を割り当てるステップ(Sub4)と、
前記構造画像、前記フロー画像、および割り当てられた前記深さ指標情報を訓練済みのニューラルネットワークに提供するステップ(S2)と、を含み、前記ニューラルネットワークは、前記深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を適用し、かつ収集された前記OCT画像データ(36)と比較してアーチファクトが低減された出力OCTベースの画像を生成し(S3)、生成された前記出力OCTベースの画像は、前記フロー画像と比較してアーチファクトが低減された血管画像である、方法。
【請求項13】
前記ニューラルネットワークを訓練することは、
訓練入力OCT画像(16)を形成するために複数のOCT取得を収集するステップ(B1)と、
前記OCT取得から複数のOCTA画像を形成して、対応する訓練入力OCTA画像(16)を形成するステップ(B2)と、
各OCTA画像をアーチファクト除去アルゴリズム(B5)に提供して、低減されたアーチファクトの対応する目標出力OCTA画像を形成するステップ(B6)と、
複数の訓練入力セットを定義するステップ(B7)と、を含み、各訓練入力セットは、訓練入力OCT画像(16)と、対応するOCTA画像(14)と、前記OCTA画像(14)内の複数のピクセルの複数の軸方向位置に関する深さ情報(18)とを含む、請求項1乃至12のいずれか一項に記載の方法。
【請求項14】
眼の光干渉断層撮影(以下、OCTとする)ベースの画像におけるアーチファクトを低減する方法であって、
OCTシステム(OCT_1)から眼のOCT画像データ(36)を収集するステップ(S1)であって、前記OCT画像データは深さ指標情報を含む、前記OCT画像データを収集するステップ(S1)と、
前記OCT画像データ(36)を訓練済みのニューラルネットワークに提供するステップ(S2)と、を含み、前記ニューラルネットワークは、前記深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を適用し、かつ収集された前記OCT画像データ(36)と比較してアーチファクトが低減された出力OCTベースの画像を生成し(S3)、
前記ニューラルネットワークは、
構造画像、フロー画像、及び割り当てられた深さ指標情報を受信するための入力層(34)と、
予め選択された複数の網膜ランドマークの位置によって定義された可変深さ範囲外の情報を圧縮するための、前記入力層(34)に続く動的プーリング層(32)と、
前記深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を実行する、前記動的プーリング層(32)に続く複数のデータ処理層(31a、31b、33a、33b)と、
前記複数のデータ処理層(31a、31b、33a、33b)の出力と目標出力OCTA画像(59)とを比較して、バックプロパゲーション処理により前記複数のデータ処理層の内部重みを調整する出力層(57)と、を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、光干渉断層撮影(OCT)画像およびOCT血管造影画像を改善することに関する。より詳細には、本発明は、OCTベースの画像におけるフローアーチファクト/脱相関テール(decorrelation tails)を除去することに関する。
【背景技術】
【0002】
光干渉断層撮影(OCT)は、光波を使用して、組織、例えば、網膜組織の断面画像を生成する非侵襲的撮像技法である。例えば、OCTは、網膜の特徴的な組織層を観察することを可能にする。概して、OCTシステムは、サンプルから反射された光と、サンプルの三次元(3D)表現を生成する参照ビームとの干渉を検出することによって、OCTビームに沿ったサンプルの散乱プロファイルを決定する干渉撮像システムである。深さ方向(例えば、z軸または軸方向)における各散乱プロファイルは、軸方向スキャン又はAスキャンに個々に再構成される。断面2次元(2D)画像(Bスキャン)、および拡張3Dボリューム(Cスキャンまたはキューブスキャン)は、OCTビームがサンプル上の一組の横断(例えば、x軸およびy軸)位置を通ってスキャン/移動されるときに取得される複数のAスキャンから構築され得る。また、OCTは、組織ボリューム(例えば、網膜の標的組織スラブまたは標的組織層(単数又は複数))の選択部分のen faceビュー(例えば、en face)2D画像の構築を可能にする。OCTの拡張は、OCT血管造影(OCTA:OCT angiography)であり、これは、組織層における血流を識別する(例えば、画像フォーマットでレンダリングする)。OCTAは、同じ網膜領域の複数のOCT画像における経時的な差(例えば、コントラスト差)を識別し、所定の基準を満たす差を血流として指定することによって、血流を識別することができる。
【0003】
OCTは、脱相関テールまたは陰影(shadows)を含む異なるタイプの画像アーチファクトの影響を受けやすく、上位組織層における構造/構成(例えば、組織または血管形成)は、下位組織層において「陰影」を生成する。特に、OCTAは、血管の画像が誤った位置でレンダリングされる得るフロー投影アーチファクトを生じやすい。これは、網膜血管造影結果の解釈を妨げるアーチファクトを発生させる、上層にある血管内の血液の高い散乱特性に起因し得る。言い換えれば、深層組織層は、反射信号の変動を引き起こす、それらの上方の大きな内部網膜血管に血液が流れることによって投影される変動する陰影に起因する投影アーチファクトを有し得る。信号変動は、真の流れ(フロー)から容易に区別することができない(血液)流れ(フロー)として誤って解釈され得る。
【0004】
これらの問題を克服するための方法が開発されており、方法では、予め定義されかつ生成されたen faceスラブ内のアーチファクトを補正することによって、またはOCTボリューム内のアーチファクトを補正することによって、これらの問題を克服しようとする。en faceスラブにおける投影アーチファクトを補正するためのスラブベースの方法の例としては、非特許文献1、非特許文献2、および非特許文献3があり、これらは全て、参照により全体が本明細書に組み込まれる。概して、そのようなスラブベースの方法は、克服することが困難であるいくつかの制限および依存性(例えば、それらはセグメンテーション依存である)を有し得、かつ標的スラブ以外の平面における補正されたデータの視覚化を可能にしない。その結果、それらは、OCTAフロー特性の視覚化、セグメンテーション、又は定量化のための3D技術を可能にしない。また、スラブベースの方法は、標的スラブ形成に変化があるたびに、この変化がいかに最小であっても、または現在の標的スラブ形成が前のステップの形成に戻される場合であっても、アーチファクト補正アルゴリズムが実行されなければならないという準最適な処理ワークフローを生成し得る。
【0005】
OCTボリューム内の投影アーチファクトを補正するためのボリュームベースの方法の例は、本発明と同じ譲受人に譲渡された特許文献1、非特許文献4、非特許文献5、非特許文献6、および非特許文献7に記載されており、これらは全て参照によりその全体が本明細書に組み込まれる。概して、ボリュームベースの方法は、スラブベースの方法に見られる問題のいくつかを克服し、かつ(例えば、Bスキャンにおける)(標的)en faceスラブ以外の平面における補正されたフローデータの視覚化を可能にするとともに、補正されたボリュームデータの処理を可能にする。しかしながら、ボリュームベースの方法は、大規模な3Dデータアレイの解析を必要とするため時間がかかり、かつ全ての血管発現に対して有効ではない手製の仮定に依存している。
【0006】
必要とされているのは、高速であり、業界で定評のあるスラブベースの方法と同程度に良好な結果を提供するが、セグメンテーションに依存せず、スラブベースの方法の他の制限によって妨げられない、ボリュームベースのフローアーチファクト補正の方法である。
【先行技術文献】
【特許文献】
【0007】
【文献】米国特許第10441164号明細書
【非特許文献】
【0008】
【文献】エイチ・バゲリニア(H Bagherinia)他著、「OCT血管造影における脱相関テールアーチファクトを低減する高速な方法(A Fast Method to Reduce Decorrelation Tail Artifact in OCT Angiography)」、眼科・視覚科学研究(Investigative Ophthalmology&Visual Science)、2017年、58(8)、643~643
【文献】チャン・キュー(Zhang Q)他著、「光干渉断層撮像血管造影で撮像された黄斑新生血管の可視化および定量化を向上させる投影アーチファクトの除去(Projection Artifact Removal Improves Visualization and Quantitation of Macular Neovascularization Imaged by Optical Coherence Tomography Angiography)」、オフサルモル・レチナ(Ophthalmol Retina)、2017年、1(2)、124-136
【文献】アンチー・チャン(Anqi Zhang)他著、「OCTマイクロ血管造影における脈絡膜新生血管の正確な表現のための投影アーチファクトの最小化(Minimizing projection artifact for accurate presentation of choroidal Neovascularization in OCT micro-angiography)」、バイオメディカル・オプティクス・エクスプレス(Biomedical Optics Express)、2015年、Vol.6、No.10
【文献】チャン・エム(Zhang M)他著、「投影分解型光干渉断層撮像血管造影(Projection-resolved optical coherence tomography angiography)」、バイオメッド・オプト・エクスプレス(Biomed Opt Express)、2016年、第7号、第3巻
【文献】ホァン・ティー・エス(Hwang TS)他著、「糖尿病網膜症における投影分解型光干渉断層撮像血管造影による3つの明確な網膜叢の可視化(Visualization of 3 Distinct Retinal Plexuses by Projection-Resolved Optical Coherence Tomography Angiography in Diabetic Retinopathy)」、日本眼科学会(JAMA Ophthalmol )、2016年、134(12)
【文献】ネスパー・ピー・エル(Nesper PL)他著、「ボリュームレンダリング型投影分解型OCT血管造影:3D病変の複雑さは、湿潤型加齢黄斑変性症における治療効果と関連している(Volume-Rendered Projection-Resolved OCT Angiography:3D Lesion Complexity is Associated with Therapy Response in Wet Age-Related Macular Degeneration)」、眼科・視覚科学研究(Invest Ophthalmol Vis Sci)、2018年、第59巻、第5号
【文献】フェイド・エイ・イー(Fayed AE)他著、「投影分解型光干渉断層撮像血管造影による網膜血管腫性増殖のフロー信号とフローアーチファクトの識別(Projection Resolved Optical Coherence Tomography Angiography to Distinguished Flow Signal in Retinal Angiomatous Proliferation from Flow Artifact)」、プロス・ワン(PLOS ONE)、2019年、14(5)
【発明の概要】
【0009】
本発明の目的は、現在の方法で達成可能であるよりも速い結果を提供するボリュームベースのフローアーチファクト補正方法を提供することである。
本発明の別の目的は、カスタム数学公式手法と同様の結果を達成するが、そのコンピュータ処理の容易な並列化によって特徴付けられる、フローアーチファクト補正の方法を提供することである。
【0010】
本発明のさらなる目的は、既存のOCTシステムの計算能力で容易に実装することができ、その実装が既存の臨床処置に過度の時間的負担をかけない、ボリュームベースのフローアーチファクト補正システムを提供することである。
【0011】
上記の目的は、ニューラルネットワーク手法を用いて光干渉断層撮影血管造影(OCTA)におけるフローアーチファクトを補正する(例えば、除去又は低減する)ための方法/システムにおいて達成される。各個別のAスキャンにおけるフローアーチファクトを補正するための数式を構築する場合、フレーム反復、OCT信号の変調特性、およびヒトの網膜の散乱特性を分析することによって、テールアーチファクトに起因するフロー信号の量を推定し得る。この手法は、良好な結果を提供し得るが、そのような手製の定形的手法は、機器ごとに異なり得、各被験者における異なる網膜の不透明度および散乱特性によって影響され得、その実施を複雑化し、臨床現場に対して非実用的なものとなるであろう。
【0012】
他の手製の手法は、特にフローアーチファクト補正をボリュームスキャン(例えば、ボリュームベースの手法)に適用するときに、非常に複雑であり、時間がかかり、及び/又はコンピュータリソース集中的である(例えば、既存のOCT/OCTAシステムでは利用できないコンピュータ処理リソースを必要とする)という同様の制限を有し得る。本発明は、OCTAボリュームにおける投影アーチファクトを補正し、ニューラルネットワークに基づく方法/システムを使用することによって、従来の手製の手法に見られた制限のいくつかを克服する。本手法は、少なくとも部分的に、その処理の簡易な並列化を可能にすることにより、手製の手法よりも高速に実行することができる。さらに、本発明は、いくつかの血管の発現において他のボリュームベースの方法によって生成されたいくつかの単独のエラーを補正することもできることが提案されている。
【0013】
本発明は、OCTAボリュームにおけるフロー投影アーチファクトの補正のためにニューラルネットワークアーキテクチャを使用し、健康な被験者及び疾患のある被験者のいずれにおいても良好な結果を得ることができ、任意のスラブ形成又はセグメンテーションに依存しないことが示されている。本手法は、出力として投影/陰影アーチファクトのない(又は低減された)(OCTA)フローボリューム(又はOCT構造ボリューム)を生成するために、入力としてオリジナルのOCT構造ボリューム及びOCTAフローボリュームを用いて訓練され得る。ニューラルネットワークを訓練するために目標出力として使用されるゴールドスタンダード訓練サンプル(例えば、目標、訓練出力サンプルとして使用される訓練サンプル)は、各ボリュームにおけるAスキャンの大部分が良好な(または満足できる)結果を示すことが知られている一つのセットのサンプルケース(例えば、サンプルOCT/OCTAボリューム)に適用される、脱相関テールアーチファクト(例えば、フローアーチファクトまたは陰影)を補正する、上述したような、および/または当技術分野で既知の1つまたは複数の手製の手法(1つまたは複数のスラブベースのアルゴリズムおよび/またはボリュームベースのアルゴリズムの単独または組み合わせを含む)の使用によって生成され得る。そのような手製のアルゴリズム(特に、ボリュームベースのアルゴリズム)は、コンピュータ集中的であり、長い実行時間を必要とし得るが、これは、それらの実行時間が、訓練のための試験データ(または訓練サンプル)収集段階の一部であり、本発明の実行の一部(例えば、臨床現場内等の現場における既に訓練済みのニューラルネットワークの実行/使用)ではないため、負担ではない。
【0014】
本発明は、少なくとも部分的に、現在の問題を解決するために構造データおよびフローデータの両方を使用するニューラルネットワークの採用を通して、およびそれを解決するためのカスタムニューラルネットワークの設計を通して達成される。時間の短縮とは別に、本ニューラルネットワークソリューションは、OCTAデータを分析する際に構造およびフローの両方を考慮する。フローアーチファクトを補正することに加えて、本発明のニューラルネットワークは、手製の手法では補正できない可能性がある他の残りのアーチファクトも補正することができる。
【0015】
本発明のその他の目的及び達成事項は、本発明のより十分な理解と共に、添付の図面と併せて解釈される以下の説明と特許請求の範囲を参照することにより明らかとなり、理解されるであろう。
【0016】
本発明の理解を容易にするために、本明細書においていくつかの刊行物を引用または参照している。本明細書で引用または参照される全ての刊行物は、参照によりその全体が本明細書に組み込まれる。
【0017】
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。1つの請求カテゴリ、例えばシステムにおいて記載される何れの実施形態の特徴も、他の請求カテゴリ、例えば方法においても特許請求できる。付属の請求項中の従属性又は後方参照は、形式的な理由のためにのみ選択されている。しかしながら、それ以前の請求項への慎重な後方参照から得られる何れの主題もまた特許請求でき、それによって請求項及びその特徴のあらゆる組合せが開示され、付属の特許請求の範囲の中で選択された従属性に関係なく、特許請求できる。
【図面の簡単な説明】
【0018】
図面では、同様の参照記号/文字が同様の構成要素を指す。
図1】表層網膜層(SRL)及び深層網膜層(DRL)の横断するen face画像の位置をそれぞれ示す上位破線及び下位破線を有するヒトの網膜の例示的なOCTAのBスキャンを示す図である。
図2図1のDRLなどの標的en faceスラブからフローアーチファクトを除去するためのスラブベースの方法であって、本発明によるニューラルネットワークのための訓練入力/出力セットの定義などにおいて本発明とともに使用するのに適したスラブベースの方法を示す図である。
図3】訓練入力(画像)セットおよび対応する訓練出力(画像)を含む例示的な訓練入力/出力セットを示す図である。
図4】本発明によるニューラルネットワークのための、図3に示されるような訓練入力/出力セットを定義するための方法/システムを示す図である。
図5】本発明の例示的な実施形態において使用されるU-Netアーキテクチャの簡略化された概要を提供する図である。
図6図5のニューラルネットワークの収束経路(contracting path)におけるダウンサンプリングブロック(例えば、符号化モジュール)内の処理ステップの拡大図を提供する図である。
図7】本発明による眼のOCTベースの画像におけるアーチファクトを低減するための方法を示す図である。
図8】本発明で使用するのに適した眼の3D画像データを収集するために使用される一般型周波数領域光干渉断層撮影システムを示す図である。
図9】ヒトの眼の正常な網膜の例示的なOCT Bスキャン画像を示し、例示的に、種々の正規の網膜層および境界を識別する図である。
図10】例示的なen face脈管画像を示す図である。
図11】例示的なBスキャン血管画像を示す図である。
図12】多層パーセプトロン(MLP)ニューラルネットワークの例を示す図である。
図13】入力層、隠れ層、および出力層からなる簡略化されたニューラルネットワークを示す図である。
図14】例示的な畳み込みニューラルネットワークアーキテクチャを示す図である。
図15】例示的なU-Netアーキテクチャを示す図である。
図16】例示的なコンピュータシステム(またはコンピューティングデバイス又はコンピュータ)を示す図である。
【発明を実施するための形態】
【0019】
光干渉断層撮影(OCT)は、低コヒーレンス光を使用して、光散乱媒体(例えば、生物学的組織)内からマイクロメートル解像度の2Dおよび3D画像を捕捉する撮像技法である。OCTは、網膜の断面のインビボ撮像を可能にする非侵襲的干渉撮像モダリティである。OCTは、眼構造の画像を提供し、網膜の厚さを定量的に評価し、網膜内および網膜下液を含む病理学的特徴の有無などの定性的な解剖学的変化を評価するために使用されている。OCTのより詳細な説明が以下に提供される。
【0020】
OCT技術の進歩は、さらなるOCTベースの撮像モダリティの創出をもたらした。OCT血管造影(OCTA)は、臨床的に急速に受け入れられているそのような撮像モダリティの1つである。OCTA画像は、網膜における血管及び神経感覚組織からの光の可変的な後方散乱に基づくものである。網膜組織からの後方散乱光の強度及び位相は、組織の固有の動きに基づいて変化するため(例えば、赤血球は動くが、神経感覚組織は一般に静止している)、OCTA画像は本質的にモーションコントラスト画像である。このモーションコントラスト撮像は、網膜血管系の高解像度で非侵襲的な画像を効率的な方法で提供する。
【0021】
OCTA画像は、動き又は流れの領域を識別及び/又は視覚化するために、典型的には異なる時間にサンプル上の同じ又はほぼ同じ横方向位置で収集されたOCTスキャンデータに、いくつかの既知のOCTA処理アルゴリズムのうちの1つを適用することによって生成され得る。従って、典型的なOCT血管造影データセットは、同じ横断位置で繰り返される複数のOCTスキャンを含み得る。モーションコントラストアルゴリズムは、画像データから導出された強度情報(強度ベースのアルゴリズム)、画像データからの位相情報(位相ベースのアルゴリズム)、または複素画像データ(複素ベースのアルゴリズム)に適用され得る。モーションコントラストデータは、ボリュームデータ(例えば、キューブデータ)として収集され、かつ複数の方法で表示され得る。例えば、en face血管系画像は、モーションコントラスト信号を表示するen faceの平面画像であり、深さに対応するデータ次元(例えば、「深さ次元」またはサンプルに対するシステムの撮像z軸)が、典型的にはボリュームデータの全てまたは分離された部分(例えば、2つの特定の層によって形成されるスラブ)を合計または積分することによって、単一の代表値として表示される。
【0022】
OCTAは、上にある血管内の血液の高い散乱特性に起因して脱相関テールアーチファクトを生じやすく、網膜血管造影結果の解釈を妨げるアーチファクトを生成する。言い換えれば、より深い層は、反射信号の変動を引き起こし得る、より深い層の上の網膜血管に血液が流れることによって投影される変動する陰影による投影アーチファクトを有し得る。この信号変動は、真の流れから容易に区別することができない脱相関として発現し得る。
【0023】
標準的なOCT血管造影アルゴリズムにおけるステップのうちの1つは、取得されたフローコントラスト画像からの深さ次元に沿った(およびそれに対して横断または垂直な)組織の異なる領域またはスラブの2D血管造影血管系画像(血管造影図)を生成することを含み、これは、ユーザが異なる網膜層から血管系情報を視覚化するのに役立ち得る。スラブ画像(例えば、en face画像)は、2つの選択された層の間の特定の軸に沿ってキューブモーションコントラストデータの単一の代表値を選択するために、加算、積分、または他の技法によって生成され得る(例えば、内容は参照により本明細書に組み込まれる米国特許第7301644号明細書を参照されたい)。脱相関テールアーチファクトによって最も影響を受けるスラブは、例えば、深層網膜層(DRL:Deeper Retinal Layer)、無血管網膜層(ARL:Avascular Retinal Layer)、脈絡毛細管板層(CC:Choriocapillaris Layer)、および任意のカスタムスラブ、特に網膜色素上皮(RPE:Retinal Pigment Epithelium)を含むものを含み得る。
【0024】
図1は、ヒトの網膜の例示的なOCTA Bスキャン11を示しており、上位破線13及び下位破線15は、それぞれ、2つの横断するen face画像が形成される場所を示している。上側の破線13は、網膜の最上位の近傍に位置する表層網膜層(SRL:superficial retinal layer)17を示し、下位破線15は、深層網膜層(DRL)19を示す。この例では、深層網膜層19は、検査を所望する標的スラブであるが、それは表層網膜層17の下方に位置しているため、上位のen face SRL層17内の血管系パターン17aは、標的のより深いen face DRL層19内にフロー投影(flow projections)(例えば、脱相関テールまたは陰影)19aを発現することがあり、これは、真の血管系として誤って識別される場合がある。より良好な視覚化及び解釈のために、標的スラブ19内のフロー投影(例えば、脱相関)アーチファクト19aを補正(例えば、除去又は低減)することが有益である。
【0025】
フロー投影アーチファクトは、典型的にはスラブベースの方法又はボリュームベースの方法によって補正される。スラブベースの方法は、個々の標的en faceスラブ(OCTAボリューム内の2つの選択された表面/層内に形成されたOCTAサブボリュームのトポグラフィ投影)を一度に1つ補正する。スラブベースの方法は、2つの(en face)スラブ画像(例えば、上位スラブ画像および下位スラブ画像)の使用を必要とし得る。即ち、スラブベースの方法は、より深い/より下位の標的en faceスラブ内の陰影を識別および補正するために、より高い深さ位置(例えば、標的en faceスラブの上方)において形成される追加の上位基準スラブからの情報を必要とし得る。例えば、図2に示されるように、スラブベースの方法は、深層標的en faceスラブ(例えば、DRL画像19)が、上位基準スラブ(例えば、SRL17)と、理論的なアーチファクトのないスラブ21a(再構成されるべき未知の脱相関テールのない画像)とを混合した結果である(例えば、混合によって生成され得る)と仮定し得る。アーチファクトは、モデルの混合23の選択を使用して除去することができ、混合は、例えば、本質的に加法的または乗法的であってもよい。例えば、モデルの混合23は、脱相関テールのない画像21bが生成されるまで、反復的に適用されてもよい。各反復において、十分な脱相関テール補正を有する最終的に生成された画像21bが達成されるまで、現在の(例えば、暫定の)生成された画像21bがモデルの混合23において理論スラブ21aの代わりをしてもよいことが理解されるべきである。
【0026】
陰影アーチファクトを除去するためのスラブベースの方法は、効果的であることが示されているが、いくつかの制限を有する。第1に、補正されるべき標的スラブおよび上位基準スラブの両方が、典型的には自動層セグメンテーションアルゴリズムによって定義される2つの個々の表面/層のペアの定義によって決定される。層セグメンテーションにおけるエラーおよび/または標的スラブと基準スラブとの間の関係における不明確さは、補正されたスラブにおける重要な情報の除去につながる可能性がある。例えば、標的スラブ及び上位基準スラブの両方に部分的に存在する真の血管が、補正されたスラブから誤って除去される可能性がある。逆に、スラブベースの方法は、その形成におけるエラーに起因して基準スラブ内に存在しない血管に起因するアーチファクトなど、いくつかの深刻なアーチファクトを除去することができない場合がある。
【0027】
スラブベースの方法の有効性は、スラブ形成(例えば、スラブがどのように形成/生成されるか)に依存し得る。例えば、スラブベースの方法は、最大投影法を使用して生成されたスラブに対して満足に機能することができても、スラブが加算投影法を使用して生成される場合には当てはまらないことがある。厚いスラブの形成の場合、例えば、投影アーチファクトは、投影アーチファクトがスラブ(例えば、ボリューム)内により深く伝播するにつれて、実際のサンプル信号を圧倒する可能性がある。この結果、スラブ内の実信号がマスキングされ、アーチファクトが補正された後であっても、実信号を表示することができなくなる可能性がある。
【0028】
スラブベースの方法の性質の直接的な結果として、2つのさらなる制限がある。上記で説明したように、スラブベースの方法では、単一の標的スラブのみが一度に補正され得る。その結果、スラブベースのアルゴリズムは、標的スラブ形成に変更があるたびに、この変更がいかに最小であっても、またはその形成が前のステップからのものに戻されても、実行される必要がある。これは、ユーザが、選択された関心のある血管を視覚化するために標的スラブを形成する表面/層を修正すると、処理時間およびメモリ要件の増加につながる。加えて、スラブベースの補正は、スラブ平面(例えば、en face平面ビュー、またはOCTシステムの撮像z軸に垂直な平面ビュー)においてのみ観察または処理される。その結果、Bスキャン(またはボリュームにスライスした断面画像)を観察することができず、結果のボリューム分析は不可能である。
【0029】
ボリュームベースの方法は、これらの制限のうちのいくつかを軽減し得るが、従来のボリュームベースの方法は、それら自体の制限があった。いくつかの従来のボリュームベースの方法は、スラブベースの方法と同様の考えに基づいているが、ボリューム全体にわたる複数の標的スラブに対して反復的に実施されている。例えば、ボリューム全体を補正するために、移動する変形可能なウィンドウ(例えば、移動する標的スラブ)をOCTAキューブ深さ全体にわたって軸方向に移動させることができ、スラブベースの方法を各ウィンドウ位置において適用することができる。別のボリュームベースの方法は、各Aスキャンについて複数の異なる深さでのフローOCTA信号におけるピークの分析に基づく。しかしながら、ボリュームベースの方法は、分析が反復的にまたはピーク検索によって行われ、並列コンピュータ処理システムにおいてそれらの実行を並列化することは容易なタスクではないため、従来、非常に時間がかかっていた。さらに、従来のボリュームベースの方法は、手製の仮定に基づいており、この仮定は、全体的に満足できる結果をもたらすが、全ての種類の血管発現に当てはまるわけではない。例えば、移動ウィンドウに基づくボリュームベースの方法は、血管がどこで終わり、(脱相関)テールがどこで始まるかを正確に決定するという課題を克服しなければならない。より良い補正を行うために血管についての高度な仮定が提案されているが、大きな血管の端部においてアーチファクトが依然として観察されることがある。ピーク分析に基づく方法は、全ての被験者について網膜特性を十分な精度で再現するわけではない光学ベンチ測定に依存し、各Aスキャンにおいて(脱相関)テールを除去する際に二分決定を行う傾向があり、これは、深い網膜位置における真のフローデータを除去する可能性がある。
【0030】
血管造影フロースラブ又はボリュームにおけるフロー投影アーチファクトを補正するための上述の手製のソリューションとは対照的に、本好適な実施形態は、構造データ(例えば、OCT構造データ)及びフローデータ(例えば、OCTAフローコントラストデータ)の両方を訓練入力として使用するように訓練され、投影(フロー)アーチファクト対実際の(真の)血管の特定の特性を学習するニューラルネットワークソリューションを適用する。この手法は、手製のボリュームベースの手法よりも有利であることが示されている。例えば、本ニューラルネットワークモデルは、反復手法を使用して、または全てのAスキャンにおいてピークを発見することによって、ボリューム内のフロー投影を補正する手製のアルゴリズムよりも速い速度で、大規模ボリュームデータを処理することができる。本手法のより速い処理時間は、並列動作のために最適化された汎用グラフィックス処理ユニット(GPGPU)における本モデルのより容易な並列化から少なくとも部分的に利益を得ることができるが、他のコンピュータ処理アーキテクチャも本モデルから利益を得ることができる。加えて、本手法では、データを処理する際に、より少ない仮定が行われる。目標(例えば、目標訓練出力)として適切なゴールドスタンダードが与えられると、本ニューラルネットワークは、データ全体にわたって変化し得、かつヒューリスティック手法で推定することが困難であり得る手製の仮定を行うことなく、構造データおよびフローデータの両方を使用して、フローアーチファクトの特性およびフローアーチファクトを低減する方法を学習することができる。さらに、不完全に補正されたデータは、それが適度に正しい限り、本発明のニューラルネットワークを訓練するためのゴールドスタンダードとして使用することもできることが提示されている。また、本方法は、本ニューラルネットワークが、アーチファクトを特徴付ける合成された構造データおよびフローデータの全体的挙動を学習するため、使用されるネットワークアーキテクチャおよび利用可能な訓練データの量に応じて、出力を改善し得る。例えば、訓練出力セットが、ノイズなどのフローアーチファクトに加えて、追加のアーチファクトエラーを補正する場合、訓練済みのニューラルネットワークは、これらの追加のアーチファクトエラーも補正することができる。
【0031】
本好適なニューラルネットワークは、主に、OCTAボリュームにおける投影アーチファクトを補正するように訓練されるが、同じサンプル/領域のOCT構造データ及び対応するOCTAフローデータからなる訓練入力データペアを使用して訓練される。即ち、本方法は、アーチファクトを補正するために構造情報及びフロー情報の両方を使用し、かつセグメンテーションライン(例えば、層定義)及びスラブ形成に依存しないことが可能である。訓練済みのニューラルネットワークは、試験OCTAボリューム(例えば、ニューラルネットワークの訓練において以前に使用されていない新たに取得されたOCTAデータ)を受信し、補正されたフロー(OCTA)ボリュームを生成することができ、これは、異なる平面及び3次元における補正されたフローデータの視覚化又は処理のために使用することができる。例えば、補正されたOCTAボリュームを使用して、補正されたOCTAボリュームの任意の領域のAスキャン画像、Bスキャン画像、及び/又はen face画像を生成することができる。
【0032】
図3は、訓練入力(画像)セット10および対応する訓練出力目標(画像)12を含む例示的な訓練入力/出力セットを示す。上述し、以下により詳細に説明するように、OCTA画像(又はスキャン若しくはデータセット)14を生成することは、典型的には、同じ網膜領域の複数のOCTスキャン(又は画像データ)16を必要とし、所定の基準を満たす差を血流として指定する。この場合、深さデータ18(例えば、対応するOCTデータ16からの深さ情報に相関され得る軸方向深さ情報)が、生成されたOCTAデータ14に追加される。生成されたOCTAデータ16(及び任意選択で個々のOCT画像16)は、対応する訓練出力目標OCTA画像20を生成するための1つまたは複数の手製アルゴリズムの使用などによって、フローアーチファクト及び/又は他のアーチファクトに対して補正される。任意選択的に、対応する深さ情報22も目標出力OCTA画像20に付加されてもよい。
【0033】
図4は、本発明によるニューラルネットワークのための、図3に示されるような訓練入力/出力セットを定義するための方法/システムを示す。ブロックB1において、サンプルの実質的に同じ領域から複数のOCT取得が収集される。収集されたOCT取得は、ブロックB2に示されるように、(例えば、眼の)OCT(構造)画像16を形成するために使用され得る。OCT(構造)画像データは、網膜組織層、視神経、中心窩、網膜内液および網膜下液、黄斑円孔、黄斑パッカー等の組織構造情報を描写し得る。これらのOCT画像は、複数の収集されたOCTデータのうちの2つ以上の1つまたは複数の平均画像を含んでもよく、かつノイズ、構造的陰影、不透明度および他の画像アーチファクトを補正してもよい。ブロックB3は、OCT血管造影(OCTA)処理技術を用いて、ブロックB1から収集されたOCTデータ(及び/又はブロックB2から形成されたOCT画像16、又はこれら2つの組み合わせ)におけるモーションコントラスト情報を算出して、OCTA(フロー)画像データを形成する。形成されたフロー画像は、血管系フロー情報を描写し、かつ投影アーチファクト、脱相関テール、陰影アーチファクト、および不透明度等のアーチファクトを含有し得る。任意選択的に、符号26に示すように、フロー画像にその軸方向に沿って深さ指標情報を付与してもよい。この深さ情報は、破線矢印24およびブロックB4によって示されるように、フローデータを形成するために使用される形成されたOCT画像に相関され得る。ブロックB3からの形成されたOCTA画像(任意選択的に、追加された深さ情報を有しているか、又は有していない)は、アーチファクト除去アルゴリズムに提供され(ブロックB5)、ブロックB6によって示されるように、低減されたアーチファクトの対応する目標出力OCTA画像(例えば、図3の訓練出力目標OCTA画像20)を形成する。ブロックB7において、OCT(構造)画像、形成されたOCTA(フロー)画像、及び目標出力OCTA画像(任意選択的に、深さ指標情報も)は、図3に示すように、グループ化されて、訓練入力/出力セットを定義する。従って、各訓練入力セット10は、1つまたは複数の訓練入力OCT画像16と、対応する訓練入力OCTA画像14と、訓練入力OCTA画像14内のピクセルの軸方向位置に関する深さ情報18とを含む。上述したように、目標出力OCTA画像20は、任意選択的に、対応する深さ情報22(例えば、深さデータ18に対応する)をも有し得る。複数の訓練入力/出力セットは、複数の対応する訓練入力OCTA画像20を形成するために、対応する複数のセットのOCT取得16から複数のOCTA画像14を形成することによって形成され得ることが理解されるであろう。
【0034】
従って、本発明によるニューラルネットワークは、補正されたフローデータを有する1つのセットのOCTA取得と、(OCTAデータが決定され得る)対応するセットのOCT取得とを使用して訓練されてもよく、また、陰影または他のアーチファクトに関して補正されてもよい。補正されたフローデータは、既知であるか、または訓練目的のために先験的に事前に算出され得るが、訓練入力セットにおいても出力訓練画像においても、補正された領域を識別するラベルを提供する必要はない。(OCT)構造キューブ及び(OCTA)フローキューブの両方が訓練入力として使用され、ニューラルネットワークは、投影アーチファクトが補正された出力(OCTA)フローキューブを生成するように訓練される。このようにして、事前生成された補正データ(例えば、訓練出力、目標画像)は、ニューラルネットワークを訓練する際のガイダンスとして使用される。
【0035】
ニューラルネットワークの訓練において訓練出力目標として使用される補正されたOCTAフローデータは、追加の手動補正を用いるか、または用いることなく、手製のアルゴリズムの使用によって取得されてもよく、アーチファクト補正に関する完全なソリューションを構成する必要はないが、その性能は、ボリュームサンプルにおけるAスキャンの大半(大部分)にわたって満足できるものであるべきである。即ち、個々のAスキャンフローアーチファクト補正、又はスラブベースの補正、又はボリュームベースの補正(例えば、上述したような)に基づく手製のソリューションを使用して、各訓練入力セット(訓練OCTAボリューム及び対応する1つまたは複数のOCT構造ボリュームを含む)に対応する訓練出力目標ボリューム(例えば、画像)を形成することができる。任意選択的に、訓練出力目標ボリュームは、訓練出力サブボリュームセットに分割され得る。例えば、補正された訓練ボリュームが依然として重度のフローアーチファクトの領域を有する場合、補正された訓練ボリュームはサブボリュームに分割されてもよく、補正されたボリュームの満足できる部分(重度のフローアーチファクトを除く部分)のみが訓練入力セットを形成するために使用されてもよい。加えて、補正されたOCTAボリューム及びその対応するセットのOCTサンプル及び未補正のOCTAボリュームは、より多数の訓練入力/出力セットを形成するように、対応するサブボリュームセグメントに分割されてもよく、各セットはサブボリューム領域によって形成される。
【0036】
動作中(例えば、ニューラルネットワークが訓練された後)、収集された構造的OCT画像(単数または複数)、対応するOCTAフロー画像、及び割り当てられた/決定された/算出された深さ指標情報は、訓練済みのニューラルネットワークに提供され、次いで、訓練済みのニューラルネットワークは、入力OCTAフロー画像と比較して低減されたアーチファクトのOCTベースの画像血管画像(例えば、OCTA画像)を出力/生成する。
【0037】
本発明によれば、複数のタイプのニューラルネットワークを使用することができるが、本発明の好ましい実施形態は、U-Netタイプのニューラルネットワークを使用する。U-Netニューラルネットワークの概略的な説明が以下に提供される。しかしながら、好ましい実施形態は、この一般的なU-Netから派生してもよく、速度および精度に関して最適化されたU-Netアーキテクチャに基づいてもよい。一例として、本発明の概念実装の実証において使用されるU-Netニューラルネットワークアーキテクチャが以下に提供される。
【0038】
概念実証として、262眼からの6×6×3mm視野のOCTA取得(及びそれらの対応するOCTデータ)を、掃引光源OCTデバイス(プレックスエリート9000(PLEX Elite(登録商標)9000)、カール・ツァイス・メディテック社(Carl Zeiss Meditec,Inc(商標))を用いて撮像した。これらの眼のうち、153人が健康であり、109人が罹患していた。262眼のうち、211眼(正常眼からの123眼および罹患眼からの88眼を含む)が、訓練のために使用された(例えば、OCTA/OCT訓練入力ペアおよびそれらの対応する補正された出力訓練目標を含む、訓練入力/出力セットを準備するために使用された)。また、51眼(正常眼からの30眼および罹患眼からの21眼を含む)が、検証のために使用された(例えば、ニューラルネットワークの試験段階において、訓練済みのニューラルネットワークの有効性を検証するための試験入力として使用された)。各OCTA取得に関して、(例えば、ボリュームベースの)手製の脱相関テール除去アルゴリズムを使用して、フローボリュームの対応する訓練出力目標補正済みのバージョンを生成した。同様に、(手製の)アルゴリズムも、それらの対応するOCTボリュームデータにおけるアーチファクトを補正するために使用された。
【0039】
その訓練段階では、2つの訓練手法が検討された。両方の手法において、ニューラルネットワークは、補正されるべきフロー(OCTA)データと、各OCTA取得からの構造(OCT)データとを入力として受け入れた。同様に、両方の手法において、ニューラルネットワークの出力は、グラウンドトゥルース(例えば、対応する訓練出力目標)、例えば、理想的な補正されたフローデータに対して測定した(または、グラウンドトゥルースと比較した)。訓練出力目標は、訓練入力OCTA取得を手製のフローアーチファクト補正アルゴリズムに提供することによって得られた。手製のボリュームベースの投影除去アルゴリズムの例は、本出願と同じ譲受人に譲渡された米国特許第10441164号明細書に記載されている。しかしながら、2つの手法は、訓練の目的がどのように定義されたかという点で異なっていた。説明を簡単にするために、補正されるべき入力フローデータを、「フローオリジナル」と呼び、ニューラルネットワークが生成することが期待される所望の補正されたフローデータは、「フロー補正済み」と呼ぶ。第1の手法では、ニューラルネットワークは、「フローオリジナル」を入力として与えて、「フロー補正済み」を予測する(例えば、訓練出力目標を厳密に複製する)ように訓練された。この第1の訓練手法は、以下に説明するものと同様である。第2の手法は、その目的が「フローオリジナル」と「フロー補正済み」との間の差を定義することであった点で異なっていた。即ち、各訓練反復(例えば、エポック)中に、ニューラルネットワークは、「フロー補正済み」と「フローオリジナル」との差に基づいて「残差」を予測するように訓練され、この残差は、フローオリジナルに加算した。次に、ニューラルネットワークによって生成された最終残差をオリジナルの入力フロースキャンに加算して、入力フロースキャンの補正バージョンを形成した。この第2の手法は、いくつかの場合において、第1の手法よりも良好な結果を提供することが見出された。この理由は、第1の手法では、ニューラルネットワークが、オリジナルのフロー画像を大きく変化させずに再現するように学習する必要があった(例えば、目標出力フロー画像は、入力フロー画像に非常に類似し得る)のに対して、第2の手法では、残差データを生成すればよい(例えば、訓練入力と目標出力との間の変化/差に対応する位置に関する信号データを提供すればよい)ためであり得る。
【0040】
本ニューラルネットワークは、図16を参照して以下に説明するような一般的なU-Netニューラルネットワークアーキテクチャに基づくが、いくつかの変更が加えられている。図5は、本発明の例示的な実施形態において使用されるU-Netアーキテクチャの簡略化された概要を提供する。図16のものからの第1の変更は、本機械学習モデルにおける層の総数が低減されていることである。本実施形態は、収束経路に2つのダウンサンプリングブロック(例えば、符号化モジュール)31a/31bを有し、拡張経路(expanding path)に2つの対応するアップサンプリングブロック(例えば、復号モジュール)33a/33bを有する。これは、4つのダウンサンプリングブロックおよび4つのアップサンプリングブロックを有する図16の例示的なU-Netとは対照的である。このダウンサンプリングおよび拡張ブロックの削減は、満足できる結果を依然として生成しながら、速度の点で性能を向上させる。しかしながら、適切なU-Netは、本発明から逸脱することなく、より多くのまたはより少ないダウンサンプリングブロックおよび対応するアップサンプリングブロックを有し得ることを理解されたい。追加のダウンサンプリング/アップサンプリングブロックにより、より長い訓練(および/または実行)時間を犠牲にして、より良好な結果が生成され得る。本例では、各ダウンサンプリングブロック31a/31bおよびアップサンプリングブロック33a/33bは、3つの層39a、39b、および39cから構成され、層の各々は、所与の処理段階における画像データ(例えば、ボリュームデータ)を表すが、ダウンサンプリングブロックおよびアップサンプリングブロックは、より多くのまたはより少ない層を有し得ることを理解されたい。説明の簡略化のために示されていないが、本U-Netは、対応するダウンサンプリングブロックとアップサンプリングブロックとの間に(例えば、図16のリンクCC1~CC4と同様の)コピー・アンド・クロップリンクを有し得ることも理解されたい。これらのコピー・アンド・クロップリンクは、1つのダウンサンプリングブロックの出力をコピーし、その出力をその対応するアップサンプリングブロックの入力に結合することができる。
【0041】
本U-Netの異なる動作は、矢印のキーチャートによって図示され/示される。各ダウンサンプリングブロック31a/31bは、2つのセットの演算を適用する。矢印35によって示される第1のセットは、図16のセットと同様であり、(例えば、3×3)畳み込みと、バッチ正規化を有する活性化関数(例えば、正規化線形(ReLU)ユニット)とを含む。しかしながら、P矢印37によって示される第2のセットは、図16のセットとは異なり、列プーリング(column pooling)を追加する。
【0042】
図6は、ダウンサンプリングブロックにおいてP矢印37によって示される例示的な動作(または動作ステップ)のより詳細な図を示す。この第2のセットの演算は、垂直(または列方向の最大)プーリング51を層39bに適用し、その高さデータ次元および幅データ次元はH×Wとして示される。列方向プーリング51は、1×Wのプーリングされたデータ41を形成し、その後、アップサンプリングして、層39bの次元サイズH×Wに一致するアップサンプリングされたデータ43を形成する。結合ステップ45において、アップサンプリングされたデータ43は、個々のブロックのローカル出力層39cを生成するために、畳み込みステップ47およびバッチ正規化ステップ49を有する活性化関数に提供される前に、層39bからの画像データに結合される。垂直プーリング層51の追加により、本機械モデルは、画像の異なる部分間で情報を迅速に移動させることができる(例えば、OCT/OCTAボリュームの異なる層間でデータを垂直に移動させることができる)。例えば、第1の位置(x,z)にある血管は、任意の介在領域(例えば、第3の位置(x,z+50))において目に見える変化(任意のテールアーチファクト)を引き起こすことなく、第2の垂直方向にオフセットされた(例えば、深層)位置(x,z+100)においてテールアーチファクトを引き起こす可能性がある。従って、これらの2つのポイント(例えば、第1の位置および第2の位置)を接続する「ショートカット」がなければ、ネットワークは、第1の位置から第2の位置にまで合計100ピクセルの情報を転送するいくつかの畳み込みフィルタを個別に学習しなければならなくなる。
【0043】
上記で説明したように、ボリューム(又はスラブ若しくはen face)画像データ内の各ピクセル(又はボクセル)は、ボリューム内のその深さ指標情報又は位置(例えば、z座標)を指定する追加情報チャネルを含む。これにより、ニューラルネットワークは、深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向(例えば、深さ)位置においてコンテキスト的に(contextually)異なる複数の計算を学習/展開することができる。さらに、訓練入力サンプルは、定義された複数の網膜ランドマーク(例えば、構造的OCTデータから決定された構造的特徴)を含んでもよく、コンテキスト的に異なる複数の計算は、複数の網膜層などの複数の局所的な網膜ランドマークに依存してもよい。
【0044】
図5に戻ると、1つのダウンサンプリングブロック31aからの出力は、下向きの矢印によって示されるように最大プーリングされ(例えば、2×2最大プーリング)、任意の「ボトルネック」ブロック/モジュール53に到達して、拡張経路に入るまでに、収束経路内の次のダウンサンプリングブロック31bに入力される。任意選択的に、下向きの矢印によって示される最大プーリング関数は、ダウンサンプリング関数を提供するため、それに先行するダウンサンプリングブロックと一体化されてもよい。ボトルネック53は、図16を参照して示されるように、2つの畳み込み層(バッチ正規化および任意選択的なドロップアウトを伴う)から構成され得るが、本実施形態では、P矢印によって示されるように、列方向プーリングを追加している。これにより、ネットワークが行い得る列方向プーリングの量が増加し、これは、試験では性能を向上させることが確認された。
【0045】
拡張経路では、各ブロックの出力が転置畳み込み(または逆畳み込み)段階に提供されて、画像/情報/データがアップサンプリングされる。本例では、転置畳み込みは、ストライド(例えば、カーネルのシフト)が2(例えば、2つのピクセル又はボクセル)の2×2カーネル(又は畳み込み行列)によって特徴付けられる。拡張経路の終わりにおいて、最後のアップサンプリングブロック33aの出力は、その出力57を生成する前に、点線矢印によって示されるように、別の畳み込み演算(例えば、1×1畳み込み)にかけられる。ニューラルネットワークは、1×1畳み込みに到達する直前に複数のピクセルごとに複数の特徴を有し得るが、1×1畳み込みは、ピクセルごとのレベルで、これらの複数の特徴をピクセルごとの単一の出力値に合成する。
【0046】
図16のU-Netと図5のU-Netとの間の別の違いは、入力層34に続き、ダウンサンプリングブロック31a/31bに先行する動的プーリング層32(例えば、網膜構造に基づく)が追加されていることである。上記で説明したように、本ネットワークに入力される前に、各ピクセルにおける値がボリューム内のそのピクセル/ボクセルのz座標(深さ)である追加情報チャネル(例えば、追加のカラーチャネルに類似する)が、入力データに結合される。これは、ネットワークが、完全な畳み込み構造を依然として保持しながら、複数の異なる深さにおいてコンテキスト的に異なる複数の計算を実行することを可能にする。即ち、入力層34は、入力OCTベースのデータ36(例えば、OCT構造データ及び深さ指標情報を含むOCTAフローデータ)を受信し、動的プーリング層32は、受信したOCTベースのデータ内の(例えば、予め選択された)複数の網膜ランドマークの位置によって定義された可変深さ範囲外の入力OCTベースのデータ(画像情報)を圧縮する。複数の網膜ランドマークは、(例えば、特定の)複数の網膜層、または他の既知の複数の構造であってもよい。例えば、図9及び図11に示すように、関連する網膜組織情報は、関心のある網膜層が存在する特定の軸方向範囲に限定されてもよく、これらの層の深さ位置は、ボリュームデータ間で変化する可能性がある。従って、動的プーリング層32は、本機械学習モデルが処理するデータの量を、本機械学習モデルが、フローアーチファクトを有する可能性がある、またはフローアーチファクトの生成に関与する可能性がある層、または人間の観察者にとって関心があり得る特定の層など、関心のある層を含むボリュームの部分のみに低減することを可能にする。一例として、動的プーリング層32は、内境界膜(ILM)及び網膜色素上皮(RPE)がAスキャンに沿った高コントラストの領域であり、かつ概して、網膜の最上位層領域及び下位層領域を特定するため、それらを迅速に識別することができる。正常なヒトの眼における異なる網膜層および境界の簡単な説明については、図9を参照されたい。他の網膜層も識別され、それらの特定の深さ情報と関連付けられ得る。これは、動的プーリング層32に続くデータ処理層が、深さ指標情報及び/又は複数の局所的な網膜ランドマーク(例えば、複数の網膜層などの網膜構造)に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を適用するのを支援する。従って、動的プーリング層32は、入力データ自体によって定義される(例えば、入力OCTベースのデータ36内の特定の複数の網膜ランドマークの位置によって定義される)可変深さ範囲外の画像情報を圧縮する。
【0047】
図16のU-Netの場合のように、訓練段階中に、損失関数61(例えば、L1損失関数、L2損失関数など)を適用することによって本U-Netの出力57が目標出力OCTA画像59と比較され、データ処理層(例えば、ダウンサンプリングブロック31a/31bおよびアップサンプリングブロック33a/33b)の内部重みが、後続のバックプロパゲーションイテレーションにおいてこのエラーを低減するために、(バックプロパゲーションプロセスなどによって)適宜調整される。任意選択的に、本ニューラルネットワークは、特定の複数の網膜層に基づいて異なる複数の重みを有する損失関数を適用することができる。即ち、損失関数は、処理中のOCT画像データの現在の軸方向位置に対する予め選択された複数の網膜ランドマーク(例えば、複数の網膜層)の局所的な近接性に基づいて異なる複数の重みを有するようにされ得る。例えば、本実施形態は、内境界層(ILM)と網膜色素上皮(RPE)との間の入力OCTA(またはOCT)ボリュームの領域が、ボリュームの他の領域の少なくとも1桁の大きさだけより重く重み付けされる(例えば、11倍の重みを有する)ように再重み付けされたL1損失関数を使用し得る。
【0048】
図7は、本発明による眼のOCTベースの画像におけるアーチファクトを低減するための例示的な方法を示す。方法は、ステップS1において、OCTシステムから眼のOCT画像データを収集することによって開始され、ここで、収集されたOCT画像データは、深さ指標情報を含む。OCT画像データは、ステップS2において、訓練済みのニューラルネットワークに提供され、ここで、ニューラルネットワークは、畳み込み構造(例えば、U-Net)を有し、かつ深さ指標情報に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を適用するように訓練される。例えば、異なる複数の計算は、(任意選択的に事前定義された)複数の網膜層などの事前定義された複数の局所的な網膜ランドマークにコンテキスト的に依存し得る。ステップS3において、訓練済みのニューラルネットワークは、収集されたOCT画像データと比較して低減されたアーチファクトの出力OCTベースの画像を生成する。
【0049】
任意選択的に、収集されたOCT画像は、いくつかのデータ調整サブステップを受けてもよい。例えば、サブステップSub1において、収集されたOCT画像データから眼の構造(OCT)データが作成され、ここで、作成された構造画像は、網膜層などの眼の組織構造情報を示す。同様に、サブステップSub2において、モーションコントラスト情報が、OCTA処理技術を使用して(例えば、収集されたOCT画像データ及び/又は初期構造データから)算出される。サブステップSub3において、フロー(OCTA)画像がモーションコントラスト情報から作成され、ここで、フロー画像は、血管系フロー情報を示し、かつ投影アーチファクト、脱相関テール、陰影アーチファクト、及び不透明度などのアーチファクトを含む。サブステップSub4では、作成されたフロー画像に、その軸方向に沿って深さ指標情報が割り当てられる。例えば、作成されたフロー画像は、(例えば、追加の色情報の代わりに)深さ指標情報を組み込んだ追加情報チャネル(例えば、ピクセルごとの追加の色チャネル)を含むように拡張される。
【0050】
訓練済みのニューラルネットワークは、いくつかの際立った特性を有し得る。例えば、ニューラルネットワークは、受信したOCT画像データ内の(任意選択的に予め選択された)複数の網膜ランドマーク(複数の網膜層など)の(例えば、軸方向/深さ)複数の位置によって定義された可変深さ範囲外の画像情報を圧縮するための、入力層に続く動的プーリング層を含む。また、ニューラルネットワークは、動的プーリング層に続く複数のデータ処理層を有し、ここで、複数のデータ処理層は、深さ指標情報および/または(任意選択的に特定の)複数の網膜層等の複数の網膜ランドマークの(例えば、軸方向の)複数の位置に少なくとも部分的に基づいて、異なる複数の軸方向位置においてコンテキスト的に異なる複数の計算を実行する。訓練中に、ニューラルネットワークは、複数のデータ処理層の出力を目標出力OCTA画像と比較し、バックプロパゲーションプロセスによってデータ処理層の内部重みを調整する出力層を含む。訓練中、ニューラルネットワークは、処理中のOCT画像データの現在の軸方向位置に対する(任意選択に、予め選択された)複数の網膜ランドマーク(例えば、複数の網膜層)の局所的な近接性に基づいて異なる複数の重みを有する損失関数(例えば、L1関数)を適用する。任意選択的に、損失関数は、特定の複数の網膜層に基づく異なる複数の重みを有する。例えば、損失関数は、内境界膜(ILM)と網膜色素上皮(RPE)との間の領域に対する第1の重みと、他の場所に対する第2の重みとを有する。任意選択的に、第1の重みは、第2の重みよりも1桁大きい。
【0051】
以下に、本発明に好適な各種ハードウェアおよびアーキテクチャについて説明する。
概して、光干渉断層撮影(OCT)は、低コヒーレンス光を使用して、生体組織の2次元(2D)および3次元(3D)内部ビューを生成する。OCTは、網膜構造の生体内撮像を可能にする。OCT血管造影(OCTA)は、網膜内からの血管の流れなどのフロー情報を生成する。OCTシステムの例は、米国特許第6741359号明細書及び同第9706915号明細書に提供されており、OCTAシステムの例には、米国特許第9700206号明細書及び米国特許第9759544号明細書があり、これらは全て、参照によりその全体が本明細書に組み込まれる。例示的なOCT/OCTAシステムが本明細書で提供される。
【0052】
図8は、本発明との使用に適した眼の3D画像データ収集用の一般型周波数領域光干渉断層撮影(FD-OCT)システムを図解する。FD-OCTシステムOCT_1は、光源LtSrc1を含む。典型的な光源には、時間コヒーレンス長が短い広帯域光源、又は掃引レーザ源が含まれるがこれらに限定されない。光源LtScr1からの光のビームは、典型的に光ファイバFbr1によってサンプル、例えば眼Eを照明するように誘導され、典型的なサンプルは人間の眼内組織である。光源LrSrc1は、例えば、スペクトルドメインOCT(SD-OCT)の場合に時間コヒーレンス長が短い広帯域光源であり、掃引光源OCT(SS-OCT)の場合には波長可変レーザ光源であり得る。光は、典型的には、光ファイバFbr1の出力とサンプルEとの間のスキャナScnr1を用いてスキャンされ得、その結果、光のビーム(破線Bm)は、撮像されるべきサンプルの領域にわたって横方向にスキャンされる。スキャナScnr1からの光ビームは、走査レンズSLおよび眼科用レンズOLを通過し、撮像されるサンプルE上に合焦され得る。走査レンズSLは、複数の入射角でスキャナScnr1から光ビームを受け取り、実質的にコリメートされた光を生成することができ、眼科用レンズOLは、次いで、サンプル上に合焦させることができる。本例は、所望の視野(FOV)をスキャンするために2つの横方向(例えば、デカルト平面上のx方向及びy方向)にスキャンされる必要がある走査ビームを示す。この例は、サンプルを横切ってスキャンするためにポイントフィールドビームを使用するポイントフィールドOCTである。従って、スキャナScnr1は、2つのサブスキャナ、即ち、第1の方向(例えば、水平x方向)にサンプルにわたってポイントフィールドビームをスキャンするための第1のサブスキャナXscnと、交差する第2の方向(例えば、垂直y方向)にサンプル上でポイントフィールドビームをスキャンするための第2のサブスキャナYscnとを含むように例示的に示されている。走査ビームがラインフィールドビーム(例えば、ラインフィールドOCT)であり、一度にサンプルのライン部分全体をサンプリングし得る場合、所望のFOVに及ぶようにサンプルにわたってラインフィールドビームをスキャンするために、1つのスキャナのみが必要とされ得る。走査ビームがフルフィールドビーム(例えば、フルフィールドOCT)である場合、スキャナは必要とされなくてもよく、フルフィールド光ビームは、一度に所望のFOV全体にわたって照射されてもよい。
【0053】
使用されるビームの種類に関係なく、サンプルから散乱された光(例えば、サンプル光)が収集される。本実施例では、サンプルから戻る散乱光は、照明のために光をルーティングするために使用される同じ光ファイバFbr1に収集される。同じ光源LtSrc1から派生する参照光は別の経路に沿って移動し、この場合、これには光ファイバFbr2及び調整可能な光学遅延を有する逆反射板RR1が含まれる。当業者であればわかるように、透過性参照経路も使用でき、調整可能遅延はサンプル又は干渉計の参照アームの中に設置できる。集光されたサンプル光は、例えばファイバカプラCplr1において参照光と結合され、OCT光検出器Dtctr1(例えば、光検出器アレイ、デジタルカメラ等)内の光干渉を形成する。1つのファイバポートが検出器Dtctr1に到達するように示されているが、当業者であればわかるように、干渉信号のバランス又はアンバランス検出のために様々な設計の干渉計を使用できる。検出器Dtctr1からの出力は、プロセッサ(例えば、内部または外部コンピューティングデバイス)Cmp1に供給され、それが観察された干渉をサンプルの深さ情報へと変換する。深さ情報は、プロセッサCmp1に関連付けられるメモリ内に保存され、及び/又はディスプレイ(例えば、コンピュータ/電子ディスプレイ/スクリーン)Scn1に表示されてよい。処理及び保存機能は、OCT機器内に局在化されてよく、又は機能は、収集されたデータが転送される外部プロセッサ(例えば、外部コンピュータシステム)にオフロードされてもよい(例えば、外部プロセッサ上で実行されてもよい)。図15に、コンピューティングデバイス(またはコンピュータシステム)の一例を示す。このユニットは、データ処理専用とすることも、又はごく一般的で、OCTデバイス装置に専用ではないその他のタスクを実行することもできる。プロセッサ(コンピューティングデバイス)Cmp1は例えば、1つまたは複数のホストプロセッサおよび/または1つまたは複数の外部コンピューティングデバイスとシリアル方式および/または並列化方式で処理ステップの一部または全体を実行し得るフィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、特定用途集積回路(ASIC)、グラフィクス処理ユニット(GPU)、システムオンチップ(SoC)、中央処理ユニット(CPU)、汎用グラフィクス処理ユニット(GPGPU)、又はそれらの組合せを含んでいてよい。
【0054】
干渉計内のサンプルアームと参照アームは、バルク光学系、ファイバ光学系、又はハイブリッドバルク光学システムで構成でき、また、当業者の間で知られているように、マイケルソン、マッハ・ツェンダ、又は共通光路系設計等、異なるアーキテクチャを有することができる。光ビームとは、本明細書において使用されるかぎり、慎重に方向付けられるあらゆる光路と解釈されるべきである。ビームを機械的にスキャンする代わりに、光の場が網膜の1次元又は2次元エリアを照明して、OCTデータを生成できる(例えば、米国特許第9332902号明細書、ディー.ヒルマン(D.Hillmann)他著、「ホロスコピ-ホログラフィック光干渉断層撮影(Holoscopy-holographic optical coherence tomography)」オプティクスレターズ(Optics Letters)、第36巻(13)、p.2290、2011年、ワイ.ナカムラ(Y.Nakamura)他著、「ラインフィールドスペクトルドメイン光干渉断層撮影法による高速3次元ヒト網膜撮像(High-Speed three dimensional human retinal imaging by line field spectral domain optical coherence tomography)」、オプティクスエクスプレス(Optics Express)、第15巻(12)、p.7103、2007年、ブラスコヴィッチ(Blazkiewicz)他著、「フルフィールドフーリエドメイン光干渉断層撮影法の信号対ノイズ比の研究(Signal-to-noise ratio study of full-field Fourier-domain optical coherence tomography)」、アプライド・オプティクス(Applied Optics)、第44巻(36)、p.7722(2005年)参照)。時間領域システムでは、参照アームは干渉を生じさせるために調整可能な光学遅延を有する必要がある。バランス検出システムは典型的にTD-OCT及びSS-OCTシステムで使用され、分光計はSD-OCTシステムのための検出ポートで使用される。本明細書に記載の発明は、何れの種類のOCTシステムにも応用できる。本発明の様々な態様は、何れの種類のOCTシステムにも、又はその他の種類の眼科診断システム及び/又は、眼底撮像システム、視野試験装置、及び走査型レーザ偏光計を含むがこれらに限定されない複数の眼科診断システムにも適用できる。
【0055】
フーリエドメイン光干渉断層撮影法(FD-OCT)において、各測定値は実数値スペクトル制御干渉図形(Sj(k))である。実数値スペクトルデータには典型的に、背景除去、分散補正等を含む幾つかの後処理ステップが行われる。処理された干渉図形のフーリエ変換によって、複素OCT信号出力Aj(z)=|Aj|eiφが得られる。この複素OCT信号の絶対値、|Aj|から、異なる経路長での散乱強度、したがってサンプル内の深さ(z-方向)に関する散乱のプロファイルが明らかとなる。同様に、位相φjもまた、複素OCT信号から抽出できる。深さに関する手散乱のプロファイルは、軸方向スキャン(A-スキャン)と呼ばれる。サンプル内の隣接する位置において測定されたA-スキャンの集合により、サンプルの断面画像(断層画像又はB-スキャン)が生成される。サンプル上の横方向の異なる位置で収集されたBスキャンの集合が、データボリューム又はキューブを構成する。特定のデータボリュームについて、速い軸とは1つのB-スキャンに沿ったスキャン方向を指し、遅い軸とは、それに沿って複数のB-スキャンが収集される軸を指す。「クラスタスキャン」という用語は、血流を識別するために使用されてよいモーションコントラストを解析するために、同じ(又は実質的に同じ)位置(又は領域)での反復的取得により生成されるデータの1つのユニット又はブロックを指してよい。クラスタスキャンは、サンプル上のほぼ同じ位置において比較的短い時間間隔で収集された複数のA-スキャン又はB-スキャンで構成できる。クラスタスキャンのスキャンは同じ領域のものであるため、静止構造はクラスタスキャン中のスキャン間で比較的変化しないままであるのに対し、所定の基準を満たすスキャン間のモーションコントラストは血液流として識別されてよい。
【0056】
B-スキャンを生成するための様々な方法が当業界で知られており、これには、水平又はx方向に沿ったもの、垂直又はy方向に沿ったもの、x及びyの対角線に沿ったもの、又は円形若しくは螺旋パターンのものが含まれるがこれらに限定されない。B-スキャンは、x-z次元内であってよいが、z次元を含む何れの断面画像であってもよい。ヒトの眼の正常な網膜の例示的なOCT Bスキャン画像が図13に示されている。網膜のOCT Bスキャンは、網膜組織の構造のビューを提供する。例示目的のために、図9は、種々の正規の網膜層および層の境界を識別する。識別された網膜境界層は、(上から下へ順に)内境界膜(ILM:inner limiting membrane)層1、網膜神経線維層(RNFL:retinal nerve fiber layerまたはNFL)層2、神経節細胞層(GCL:ganglion cell layer)層3、内網状層(IPL:inner plexiform layer)層4、内顆粒層(INL:inner nuclear layer)層5、外網状層(OPL:outer plexiform layer)層6、外顆粒層(ONL:outer nuclear layer)層7、視細胞の外節(OS:outer segments)と内節(IS:inner segments)との間の接合部(参照符号層8によって示される)、外限界膜又は外境界膜(ELM:external limiting membrane 又はOLM:outer limiting membrane)層9、網膜色素上皮(RPE:retinal pigment epithelium)層10、およびブルッフ膜(BM:Bruch’s membrane)層11を含む。
【0057】
OCT血管造影法又は関数型OCTにおいて、解析アルゴリズムは、動き又は流れを解析するために、サンプル上の同じ、又はほぼ同じサンプル位置において異なる時間に収集された(例えば、クラスタスキャン)OCTデータに適用されてよい(例えば、米国特許出願公開第2005/0171438号明細書、同第2012/0307014号明細書、同第2010/0027857号明細書、同第2012/0277579号明細書、及び米国特許第6549801号明細書を参照されたく、これらの全ての全体を参照によって本願に援用する)。OCTシステムでは、血流を識別するために多くのOCT血管造影法処理アルゴリズム(例えば、モーションコントラストアルゴリズム)のうちの何れの1つを使用してもよい。例えば、モーションコントラストアルゴリズムは、画像データから導出される強度情報(強度に基づくアルゴリズム)、画像データからの位相情報(位相に基づくアルゴリズム)、又は複素画像データ(複素に基づくアルゴリズム)に適用できる。en face画像は3D OCTデータの2D投射である(例えば、個々のA-スキャンの各々の強度を平均することにより、これによって、各A-スキャンが2D投射内のピクセルを画定する)。同様に、en face脈管画像は、モーションコントラスト信号を表示する画像であり、その中で深さに対応するデータディメンション(例えば、A-スキャンに沿ったz方向)は、典型的にはデータの全部又は隔離部分を加算又は集積することによって、1つの代表値(例えば、2D投射画像内のピクセル)として表示される(例えば、米国特許第7301644号明細書を参照されたく、その全体を参照によって本願に援用する)。血管造影機能を提供するOCTシステムは、OCT血管造影(OCTA)システムと呼ばれてよい。
【0058】
図10は、en face脈管構造画像の例を示す。データを処理し、当業界で知られるモーションコントラスト法の何れかを用いてモーションコントラストをハイライトした後に、網膜の内境界膜(ILM:internal limiting membrane)の表面からのある組織深さに対応するピクセル範囲を加算して、その脈管構造のen face(例えば、正面図)画像が生成されてよい。図11は、脈管構造(OCTA)画像の例示的なBスキャンを示す。図示されるように、血流が複数の網膜層を横断することで、図9に示されるような構造的OCT Bスキャンにおけるよりも複数の網膜層を不明確にし得るため、構造的情報は明確ではない場合がある。それにもかかわらず、OCTAは、網膜および脈絡膜の微小血管系を撮像するための非侵襲的技法を提供し、これは、様々な病変を診断および/またはモニタリングするために重要であり得る。例えば、OCTAは、微小動脈瘤、血管新生複合体を識別し、中心窩無血管ゾーンおよび非灌流領域を定量化することによって、糖尿病性網膜症を識別するために使用され得る。さらに、OCTAは、網膜における血管の流れを観察するために色素の注入を必要とする、より伝統的であるがより回避的な技術である蛍光血管造影(FA:fluorescein angiography)と良好に一致することが示されている。さらに、萎縮型加齢黄斑変性において、OCTAは、脈絡膜毛細血管板フローの全般的な減少をモニタリングするために使用されている。同様に、滲出型加齢黄斑変性において、OCTAは、脈絡膜新生血管膜の定性的および定量的分析を提供することができる。OCTAはまた、血管閉塞を研究するために、例えば、非灌流領域の評価ならびに浅神経叢および深層神経叢の完全性の評価のために使用されている。
【0059】
ニューラルネットワーク
前述のように、本発明はニューラルネットワーク(NN)機械学習(ML)モデルを使用してよい。万全を期して、本明細書ではニューラルネットワークについて概説する。発明は、下記のニューラルネットワークアーキテクチャの何れも、単独でも組み合わせても使用してよい。ニューラルネットワーク、又はニューラルネットは、相互接続されたニューロンの(ノードを介した)ネットワークであり、各ニューロンはネットワーク内のノードを表す。ニューロンの集合は層状に配置されてよく、1つの層の出力は多層パーセプトロン(MLP)配置の中の次の層へと順方向に供給される。MLPは、入力データの集合を出力データの集合にマッピングするフィードフォワードニューラルネットワークと理解されてよい。
【0060】
図12は、多層パーセプトロン(MLP)ニューラルネットワークの例を図解する。その構造は、複数の隠れ(例えば内側)層HL1~HLnを含んでいてよく、これは入力層InL(入力(又はベクトル入力)の集合in_1~in_3を受け取る)を出力層OutLにマッピングし、それが出力(又はベクトル出力)の集合、例えばout_1及びout_2を生成する。各層は、何れの数のノードを有していてもよく、これらはここでは説明のために各層内の円として示されている。この例では、第一の隠れ層HL1は2つのノードを有し、隠れ層HL2、HL3、及びHLnは各々3つのノードを有する。一般に、MLPが深いほど(例えば、MLP内の隠れ層の数が多いほど)、その学習容量は大きい。入力層InLは、ベクトル入力(説明のために、in_1、in_2、及びin_3からなる3次元ベクトルとして示されている)を受け取り、受け取ったベクトル入力を隠れ層のシーケンス内の第一の隠れ層HL1に供給してよい。出力層OutLは、多層モデル内の最後の隠れ層、例えばHLnからの出力を受け取り、ベクトル出力結果(説明のためにout_1及びout_2からなる2次元ベクトルとして示されている)を生成する。
【0061】
典型的に、各ニューロン(すなわちノード)は1つの出力を生成し、それがその直後の層のニューロンへと順方向に供給される。しかし、隠れ層内の各ニューロンは、入力層から、又はその直前の隠れ層内のニューロンの出力から、複数の入力を受け取るかもしれない。一般に、各ノードはその入力に関数を適用して、そのノードのための出力を生成してよい。隠れ層(例えば、学習層)内のノードは、それぞれの入力に同じ関数を適用して、それぞれの出力を生成してよい。しかしながら、幾つかのノード、例えば入力層InL内のノードは1つの入力しか受け取らず、受動的であってよく、これは、それらが単純にその1つの入力の値をその出力へと中継することを意味し、例えばこれらはその入力のコピーをその出力に提供し、これは説明のために入力層InLのノード内の破線矢印によって示されている。
【0062】
説明を目的として、図13は、入力層InL’、隠れ層HL1’、及び出力層OutL’からなる単純化されたニューラルネットワークを示す。入力層InL’は、2つの入力ノードi1及びi2を有するように示されており、これらはそれぞれ入力Input_1及びInput_2を受け取る(例えば、層InL’の入力ノードは、2次元の入力ベクトルを受け取る)。入力層InL’は、2つのノードh1及びh2を有する1つの隠れ層HL1’へと順方向に供給し、それが今度は、2つのノードo1及びo2の出力層OutL’に順方向に供給する。ニューロン間の相互接続、又はリンクは(説明のために実線の矢印で示されている)は重みw1~w8を有する。典型的に、入力層を除き、ノード(ニューロン)は入力としてその直前の層のノードの出力を受け取るかもしれない。各ノードは、その入力の各々に各入力の対応する相互接続重みを乗じ、その入力の積を加算し、その特定のノードに関連付けられるかもしれない他の重み又はバイアス(例えば、それぞれノードh1、h2、o1、及びo2に対応するノード重みw9、w10、w11、w12)により定義される定数を加算し(又は、それを乗じ)、その後、その結果に非線形関数又は対数関数を適用することによってその出力を計算してよい。非線形関数は、活性化関数又は伝達関数と呼ばれてよい。複数の活性化関数が当業界で知られており、特定の活性化関数の選択はこの説明には重要ではない。しかしながら、留意すべき点として、MLモデルの演算、ニューラルネットの挙動は重みの値に依存し、これはニューラルネットワークがある入力のための所望の出力を提供するように学習されてよい。
【0063】
ニューラルネットは、訓練、又は学習段階中に、ある入力にとって望ましい出力を実現するための適当な重み値を学習する(例えば、それを特定するように訓練される)。ニューラルネットが訓練される前に、各重みは個々に初期の(例えば、ランダムな、任意選択によりゼロ以外の)値、例えば乱数シードに割り当てられてもよい。初期重みを割り当てる様々な方法が当業界で知られている。すると、重みは、ある訓練ベクトル入力について、ニューラルネットワークが所望の(所定の)訓練ベクトル出力に近い出力を生成するように訓練される(最適化される)。例えば、重みはバックプロパゲーションと呼ばれる方法によって、何千回もの繰返しサイクルで徐々に調整されてよい。バックプロパゲーションの各サイクルで、訓練入力(例えば、ベクトル入力又は訓練入力画像/サンプル)はニューラルネットワークを通じてフォワードパスが行われて、その実際の出力(例えば、ベクトル出力)が提供される。その後、各出力ニューロン、又は出力ノードのエラーが、実際のニューロンの出力及びそのニューロンのための教師値訓練出力(例えば、現在の訓練入力画像/サンプルに対応する訓練出力画像/サンプル)に基づいて計算される。すると、それはニューラルネットワークを通じて逆方向に(出力層から入力層へと逆方向に)伝搬し、各重みが全体的エラーに対してどの程度の影響を有するかに基づいて重みが更新され、それによってニューラルネットワークの出力は所望の訓練出力に近付く。このサイクルはその後、ニューラルネットワークの実際の出力がその訓練入力のための所望の訓練出力の容認可能なエラー範囲内になるまで繰り返される。理解されるように、各訓練入力は、所望のエラー範囲を実現するまでに多くのバックプロパゲーションイテレーションを必要とするかもしれない。典型的に、エポックは全ての訓練サンプルの1つのバックプロパゲーションイテレーション(例えば、1回のフォワードパスと1回のバックワードパス)を指し、ニューラルネットワークの訓練には多くのエポックが必要かもしれない。一般に、訓練セットが大きいほど、訓練されるMLモデルのパフォーマンスは向上するため、各種のデータ拡張方法が、訓練セットのサイズを大きくするために使用されてよい。例えば、訓練セットが対応する訓練入力画像と訓練出力画像のペアを含む場合、訓練画像は複数の対応する画像セグメント(又はパッチ)に分割されてよい。訓練入力画像及び訓練出力画像からの対応するパッチがペアにされて、1つの入力/出力画像ペアから複数の訓練パッチペアが画定されてよく、それによって訓練セットが拡張される。しかしながら、大きい訓練セットを訓練することによって、コンピュータリソース、例えばメモリ及びデータ処理リソースへの要求が高まる。演算要求は、大きい訓練セットを複数のミニバッチに分割することによって軽減されるかもしれず、このミニバッチのサイズは1回のフォワード/バックワードパスにおける訓練サンプルの数が決まる。この場合、そして1つのエポックは複数のミニバッチを含んでいてよい。他の問題は、NNが訓練セットを過剰適合して、特定の入力から異なる入力へと一般化するその能力が減少する可能性である。過剰適合の問題は、ニューラルネットワークのアンサンブルを作るか、又は訓練中にニューラルネットワーク内のノードをランダムにドロップアウトすることによって軽減されるかもしれず、これはドロップされたリードをニューラルネットワークから有効に除去する。インバースドロップアウト等、各種のドロップアウト調整方法が当業界で知られている。
【0064】
留意すべき点として、訓練済みのNN機械モデルの演算は、演算/解析ステップの単純なアルゴリズムではない。実際に、訓練済みのNN機械モデルが入力を受け取ると、その入力は従来の意味では解析されない。むしろ、入力の主旨や性質(例えば、ライブ画像/スキャンを画定するベクトル、又は人口構造的説明又は活動の記録等のその他何れかのエンティティを画定するベクトル)に関係なく、入力は、訓練済みニューラルネットワークの同じアーキテクチャ構築(例えば、同じノード/層配置、訓練済み重み及びバイアス値、所定の畳み込み/逆畳み込み演算、活性化関数、プーリング演算等)の対象となり、訓練済みネットワークのアーキテクチャ構築がその出力をどのように生成するかは明らかでないかもしれない。さらに、訓練された重みとバイアスの値は、決定的ではなく、そのニューラルネットワークに付与される訓練のための時間の量(例えば、訓練におけるエポック数)、訓練開始前の重みのランダムな開始値、NNがそこで訓練されるマシンのコンピュータアーキテクチャ、訓練サンプルの選択、複数のミニバッチ間の訓練サンプルの分布、活性化関数の選択、重みを変更するエラー関数の選択、さらには訓練が1つのマシン(例えば、第一のコンピュータアーキテクチャを有する)で中断され、他のマシン(例えば、異なるコンピュータアーキテクチャを有する)で完了したか等、多くの要素に依存する。ポイントは、訓練済みのMLモデルが特定の出力になぜ到達したかの理由は明白でなく、MLモデルがその出力の基礎とする要素を特定しようとする多くの研究が現在行われている、ということである。したがって、ライブデータに対するニューラルネットワークの処理は、単純なステップのアルゴリズムまで減少させることはできない。むしろ、その演算は、その訓練アーキテクチャ、訓練サンプルセット、訓練シーケンス、及びMLモデルの訓練における様々な状況に依存する。
【0065】
概略すると、NN機械学習モデルの構成は、学習(又は訓練)ステージと分類(又は演算)ステージを含んでいてよい。学習ステージでは、ニューラルネットワークは特定の目的のために訓練されてよく、また訓練例の集合が提供されてよく、これには訓練(サンプル)入力及び訓練(サンプル)出力が含まれ、任意選択により、訓練の進行状況を試験するためのバリデーションの例の集合が含まれる。この学習プロセス中、ニューラルネットワーク内のノード及びノード相互接続に関係付けられる各種の重みが徐々に調整されて、ニューラルネットワークの実際の出力と所望の訓練出力との間のエラーが縮小される。このようにして、多層フィードフォワードニューラルネットワーク(例えば前述のもの)は、何れの測定可能関数を何れの所望の精度までも概算できるかもしれない。学習ステージの結果として得られるのは、学習した(例えば、訓練済みの)(ニューラルネットワーク)機械学習(ML)である。演算ステージで、試験入力(又はライブ入力)の集合が学習済み(訓練済み)MLモデルに提供されてよく、それが学習したことを応用して、試験入力に基づいて出力予測を生成するかもしれない。
【0066】
図12及び図13の通常のニューラルネットワークと同様に、畳み込みニューラルネットワーク(CNN)もまた、学習可能な重みとバイアスを有するニューロンで構成される。各ニューロンは入力を受け取り、演算(例えば、ドット積)を行い、任意選択によってそれに非線形変換が続く。しかしながら、CNNは、一方の端(例えば入力端)で生の画像ピクセルを受け取り、反対の端(例えば、出力端)で分類(又はクラス)のスコアを提供する。CNNは入力として画像を予想するため、これらはボリューム(例えば、画像のピククセル高さと幅及び、画像の深さ、例えば赤、緑、及び青の3色で定義されるRGB深さ等の色深さ)を扱うように最適化される。例えば、CNNの層は、3次元で配置されるニューロンのために最適化されてよい。CNN層内のニューロンは、完全に接続されたNNのニューロンの全部ではなく、その前の層の小さい領域に接続されてもよい。CNNの最終的な出力層は、フル画像を深さの次元に沿って配置される1つのベクトル(分類)に縮小するかもしれない。
【0067】
図14は、例示的な畳み込みニューラルネットワークアーキテクチャを提供する。畳み込みニューラルネットワークは、2つ又はそれ以上の層(例えば、層1~層N)の連続として定義されてよく、層は(画像)畳み込みステップ、(結果の)加重和ステップ、及び非線形関数ステップを含んでいてよい。畳み込みはその入力データについて、例えばその入力データにわたる移動ウィンドウ上のフィルタ(又はカーネル)を適用して特徴マップを生成することによって行われてよい。各層及び層の構成要素は、異なる所定のフィルタ(フィルタバンクからのもの)、重み(又は重み付けパラメータ)、及び/又は関数パラメータを有していてよい。この例において、入力データは、あるピクセル高さと幅の画像であり、この画像の生のピクセル値であってもよい。この例において、入力画像は3つの色チャネルRGB(赤、緑、青)の深さを有するように描かれている。任意選択により、入力画像には様々な前処理が行われてよく、前処理の結果が生の画像データの代わりに、又はそれに加えて入力されてもよい。画像処理の幾つかの例には、網膜血管マップセグメンテーション、色空間変換、適応型ヒストグラム均一化、接続構成要素生成等が含まれていてよい。ある層内で、ドット積がある重みとそれらが入力ボリューム内で接続された小さい領域との間で計算されてよい。CNNを構成するための多くの方法が当業界で知られているが、例として、層はゼロにおけるmax(0,x)閾値等、要素ごと活性化関数を適用するために構成されてもよい。プーリング関数は、ボリュームをダウンサンプルするために(例えばx-y方向に沿って)行われてもよい。完全に接続された層は、分類出力を特定し、画像認識及び分類に有益であることが判明している1次元出力ベクトルを生成するために使用されてよい。しかしながら、画像セグメンテーションのためには、CNNは各ピクセルを分類する必要がある。各CNN層は入力画像の解像度を低下させる傾向があるため、画像をその当初の解像度へとアップサンプルするための別のステージが必要である。これは、転置畳み込み(又は逆畳み込み)ステージTCの適用によって実現されてよく、これは典型的に、何れの所定の補間方法も使用せず、その代わりに学習可能パラメータを有する。
【0068】
畳み込みニューラルネットワークは、コンピュータビジョンの多くの問題にうまく適用されている。前述のように、CNNを訓練するには一般に、大きな訓練データセットが必要である。U-NetアーキテクチャはCNNに基づいており、一般に従来のCNNより小さい訓練データセットで訓練できる。
【0069】
図15は、例示的なU-Netアーキテクチャを図解する。この例示的なU-Netは、入力モジュール(又は入力層若しくはステージ)を含み、これは何れかのサイズの入力U-in(例えば、入力画像又は画像パッチ)を受け取る。便宜上、任意のステージまたは層における画像サイズは、画像を表すボックス内に示され、例えば、入力モジュールでは、「128×128」の数字が囲まれており、入力画像U-inが128×128ピクセルで構成されていることを示している。入力画像は、眼底画像、OCT/OCTA en face、B-スキャン画像等であってよい。しかしながら、理解すべき点として、入力は何れの大きさまたは次元のものであってもよい。例えば、入力画像は、RGBカラー画像、モノクロ画像、ボリューム画像等であってよい。入力画像は一連の処理層を経て、その各々は例示的な大きさで図解されているが、これらの大きさは説明を目的としているにすぎず、例えば画像のサイズ、畳み込みフィルタ、及び/又はプーリングステージに依存するであろう。このアーキテクチャは、収束経路(本明細書では、例示的に4つの符号化モジュールを含む)とそれに続く拡張経路(本明細書では、例示的に4つの復号モジュールを含む)、及び対応するモジュール/ステージ間にあり、収束経路内の1つの符号化モジュールの出力をコピーして、それを拡張経路内の対応する復号モジュールのアップコンバートされた入力に結合する(例えば、後ろに追加する)コピー・アンド・クロップリンク(例えば、CC1~CC4)からなる。その結果、特徴的なU字型となり、そこからこのアーキテクチャが名付られている。任意選択的に、計算上の考慮等から、「ボトルネック」モジュール/ステージ(BN)を収束経路と拡張経路との間に配置することができる。ボトルネックBNは、2つの畳み込み層(バッチ正規化および任意選択的なドロップアウトを伴う)で構成されてもよい。
【0070】
収束経路はエンコーダと同様であり、通常、特徴マップを使用してコンテキスト(または特徴)情報をキャプチャする。この例では、収束経路内の各符号化モジュールは、アスタリスク記号「*」で示される2つ以上の畳み込み層を含み、それに続いて最大プーリング層(例えば、ダウンサンプリング層)があってもよい。例えば、入力画像U-inは、2つの畳み込み層を経るように示されており、各々が32個の特徴マップを有する。各畳み込みカーネルは特徴マップを生成する(例えば、所与のカーネルを用いた畳み込み演算からの出力は、一般に「特徴マップ」と呼ばれる画像である)ことが理解され得る。例えば、入力U-inは、32個の畳み込みカーネル(図示せず)を適用する最初の畳み込みを経て、32個の個々の特徴マップからなる出力を生成する。しかしながら、当該技術分野で既知であるように、畳み込み演算によって生成される特徴マップの数は、(上方または下方に)調整することができる。例えば、特徴マップの数は、特徴マップのグループを平均化すること、いくつかの特徴マップを削除すること、または特徴マップを削減する他の既知の方法によって削減することができる。この例では、この最初の畳み込みの後に、出力が32個の特徴マップに制限される第2の畳み込みが続く。特徴マップを想定する別の方法は、畳み込み層の出力を、2D寸法が記載されたXY平面ピクセル寸法(例えば、128×128ピクセル)によって与えられ、深さが特徴マップの数(例えば、32個の平面画像の深さ)によって与えられる3D画像として考えることである。この例示に従うと、第2の畳み込みの出力(例えば、収束経路の最初の符号化モジュールの出力)は、128×128×32の画像として記述され得る。次に、第2の畳み込みからの出力は、プーリング演算にかけられる。これにより、各特徴マップの2D次元が縮小される(例えば、X寸法およびY寸法がそれぞれ半分に縮小され得る)。プーリング演算は、下向き矢印で示されているように、ダウンサンプリング処理内で具体化され得る。最大プーリングなどのいくつかのプーリング方法は当該技術分野で既知であり、特定のプーリング方法は本発明にとって重要ではない。特徴マップの数は、最初の符号化モジュール(またはブロック)内の32個の特徴マップ、第2の符号化モジュール内の64個の特徴マップなど、各プーリングにおいて2倍になる。従って、収束経路は、複数の符号化モジュール(またはステージまたはブロック)で構成される畳み込みネットワークを形成する。畳み込みネットワークに典型的なように、各符号化モジュールは、少なくとも1つの畳み込みステージと、それに続く活性化関数(例えば、正規化線形ユニット(ReLU:rectified linear unit)またはシグモイド層)(図示せず)、および最大プーリング演算を提供し得る。一般に、活性化関数は、層に非線形性を導入し(例えば、過剰適合の問題を回避するため)、層の結果を受け取り、出力を「活性化」するかどうかを判断する(例えば、特定のノードに値が出力を次の層/ノードに転送する所定の基準を満たすかどうかを判断する)。要約すると、収束経路は一般に空間情報を削減し、特徴情報を増加させる。
【0071】
拡張経路はデコーダと同様であり、とりわけ、収縮ステージで行われたダウンサンプリング及び何れの最大プーリングにもかかわらず、局所化、および収束経路の結果に対する空間情報を提供することである。拡張経路は、複数の復号モジュールを含み、各復号モジュールは、その現在のアップコンバートされた入力を対応する符号化モジュールの出力と結合する。このように、特徴及び空間情報は拡張経路においてアップコンボリューション(例えば、アップサンプリング又は転置畳み込み、すなわち逆畳み込み)と収束経路からの高解像度特徴との結合(例えば、CC1~CC4を介する)の連続を通じて組み合わされる。それゆえ、逆畳み込み層の出力は、収束経路からの対応する(任意選択によりクロップされた)特徴マップと、それに続いて2つの畳み込み層及び活性化関数(任意選択によるバッチ正規化)に結合される。拡張経路内の最後の拡張モジュールからの出力は、分類器ブロック等、他の処理/訓練ブロック又は層に供給されてよく、これはU-Netアーキテクチャと共に訓練されてもよい。
【0072】
コンピューティングデバイス/システム
図16は、例示的なコンピュータシステム(又はコンピューティングデバイス又はコンピュータデバイス)を図解する。幾つかの実施形態において、1つ又は複数のコンピュータシステムは本明細書において記載又は図解された機能を提供し、及び/又は本明細書において記載又は図解された1つ又は複数の方法の1つ又は複数のステップを実行してよい。コンピュータシステムは、何れの適当な物理的形態をとってもよい。例えば、コンピュータシステムは、埋込みコンピュータシステム、システムオンチップ(SOC)、又はシングルボードコンピュータシステム(SBC)(例えば、コンピュータ・オン・モジュール(COM)又はシステム・オン・モジュール(SOM)等)、デスクトップコンピュータシステム、ラップトップ若しくはノートブックコンピュータシステム、コンピュータシステムのメッシュ、携帯電話、携帯型情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実装置、又はこれらのうちの2つ以上の組合せであってよい。適当であれば、コンピュータシステムはクラウド内にあってよく、これは1つ又は複数のクラウドコンポーネントを1つ又は複数のネットワーク内に含んでいてよい。
【0073】
幾つかの実施形態において、コンピュータシステムはプロセッサCpnt1、メモリCpnt2、ストレージCpnt3、入力/出力(I/O)インタフェースCpnt4、通信インタフェースCpnt5、及びバスCpnt6を含んでいてよい。コンピュータシステムは、任意選択により、ディスプレイCpnt7、例えばコンピュータモニタ又はスクリーンも含んでいてよい。
【0074】
プロセッサCpnt1は、コンピュータプログラムを構成するもの等、命令を実行するためのハードウェアを含む。例えば、プロセッサCpnt1は、中央処理ユニット(CPU)又は汎用コンピューティング・オン・グラフィクス処理ユニット(GPGPU)であってもよい。プロセッサCpnt1は、命令を内部レジスタ、内部キャッシュ、メモリCpnt2、又はストレージCpnt3から読み出し(又はフェッチし)、この命令を復号して実行し、1つ又は複数の結果を内部レジスタ、内部キャッシュ、メモリCpnt2、又はストレージCpnt3に書き込んでよい。特定の実施形態において、プロセッサCpnt1は、データ、命令、又はアドレスのための1つ又は複数の内部キャッシュを含んでいてよい。プロセッサCpnt1は、1つ又は複数の命令キャッシュ、1つ又は複数のデータキャッシュを、例えばデータテーブルを保持するために含んでいてよい。命令キャッシュ内の命令は、メモリCpnt2又はストレージCpnt3内の命令のコピーであってもよく、命令キャッシュはプロセッサCpnt1によるこれらの命令の読出しをスピードアップするかもしれない。プロセッサCpnt1は、何れの適当な数の内部レジスタを含んでいてもよく、1つ又は複数の算術論理演算ユニット(ALU:arithmetic logic units)を含んでいてよい。プロセッサCpnt1は、マルチコアプロセッサであるか、又は1つ若しくは複数のプロセッサCpnt1を含んでいてよい。本開示は特定のプロセッサを説明し、図解しているが、本開示は何れの適当なプロセッサも想定している。
【0075】
メモリCpnt2は、処理を実行し、又は処理中に中間データを保持するプロセッサCpnt1のための命令を保存するメインメモリを含んでいてよい。例えば、コンピュータシステムは、命令又はデータ(例えば、データテーブル)をストレージCpnt3から、又は他のソース(例えば、他のコンピュータシステム)からメモリCpnt2にロードしてもよい。プロセッサCpnt1は、メモリCpnt2からの命令とデータを1つ又は複数の内部レジスタ又は内部キャッシュにロードしてもよい。命令を実行するために、プロセッサCpnt1は内部レジスタ又は内部キャッシュから命令を読み出して復号してもよい。命令の実行中又はその後に、プロセッサCpnt1は1つ又は複数の結果(これは、中間結果でも最終結果でもよい)を内部レジスタ、内部キャッシュ、メモリCpnt2、又はストレージCpnt3に書き込んでよい。バスCpnt6は、1つ又は複数のメモリバス(これは各々、アズレスバスとデータバスを含んでいてよい)を含んでいてよく、プロセッサCpnt1をメモリCpnt2及び/又はストレージCpnt3に連結してよい。任意選択により、1つ又は複数のメモリ管理ユニット(MMU)は、プロセッサCpnt1とメモリCpnt2との間のデータ伝送を容易にする。メモリCpnt2(これは、高速揮発性メモリであってもよい)には、ランダムアクセスメモリ(RAM)、例えばダイナミックRAM(DRAM)又はスタティックRAM(SRAM)が含まれていてよい。ストレージCpnt3には、データ又は命令のための長期又は大容量メストレージを含んでいてよい。ストレージCpnt3はコンピュータシステムに内蔵されても外付けでもよく、ディスクドライブ(例えば、ハードディスクドライブHDD、又はソリッドステートドライブSSD)、フラッシュメモリ、ROM、EPROM、光ディスク、磁気光ディスク、磁気テープ、ユニバーサルシリアルバス(USB)-アクセス可能ドライブ、又はその他の種類の不揮発性メモリのうちの1つ又は複数を含んでいてよい。
【0076】
I/OインタフェースCpnt4は、ソフトウェア、ハードウェア、又はそれら両方の組合せであってよく、I/Oデバイスと通信するための1つ又は複数のインタフェース(例えば、シリアル又はパラレル通信ポート)を含んでいてよく、これはヒト(例えば、ユーザ)との通信を可能にしてもよい。例えば、I/Oデバイスとしては、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、テーブル、タッチスクリーン、トラックボール、ビデオカメラ、他の適当なI/Oデバイス、又はこれら2つ以上の組合せが含まれていてよい。
【0077】
通信インタフェースCpnt5は、他のシステム又はネットワークと通信するためのネットワークインタフェースを提供してもよい。通信インタフェースCpnt5は、Bluetooth(登録商標)インタフェース又はその他の種類のパケットベース通信を含んでいてよい。例えば、通信インタフェースCpnt5は、ネットワークインタフェースコントローラ(NIC)及び/又は、無線ネットワークとの通信のための無線NIC若しくは無線アダプタを含んでいてよい。通信インタフェースCpnt5は、WI-FIネットワーク、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、無線PAN(例えば、Bluetooth WPAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、携帯電話ネットワーク(例えば、汎欧州デジタル移動電話方式(Global System for Mobile Communications)(GSM(登録商標))ネットワーク等)、インタネット、又はこれらの2つ以上の組合せとの通信を提供してよい。
【0078】
バスCpnt6は、コンピューティングシステムの上述のコンポーネント間の通信リンクを提供してよい。例えば、バスCpnt6は、アクセラレーテッド・グラフィックス・ポート(Accelerated Graphics Port)(AGP)若しくはその他のグラフィクスバス、拡張業界標準(Enhanced Industry Standard)アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HyperTransport)(HT)インタコネクト、業界標準アーキテクチャ(ISA)バス、インフィニバンド(InfiniBand)バス、low-pin-count(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(Peripheral Component Interconnect)(PCI)バス、PCI-Express(PCIe)バス、シリアル・アドバンスト・テクノロジ・アタッチメント(serial advanced technology attachment)(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(Video Electronics Standards Association local)(VLB)バス、若しくはその他の適当なバス、又はこれらの2つ以上の組合せを含んでいてよい。
【0079】
本開示は、特定の数の特定のコンポーネントを特定の配置で有する特定のコンピュータシステムを説明し、図解しているが、本開示は何れの適当な数の何れの適当なコンポーネントを何れの適当な配置で有する何れの適当なコンピュータシステムも想定している。
【0080】
本明細書において、コンピュータ可読非一時的記憶媒体は、1つ又は複数の半導体ベース又はその他の集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)若しくは特定用途IC(ASIC))、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、磁気光ディスク、磁気光ドライブ、フロッピディスケット、フロッピディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAM-ドライブ、SECURE DIGITALカード若しくはドライブ、その他のあらゆる適当なコンピュータ可読非一時的記憶媒体、又は適当であればこれらの2つ以上あらゆる適当な組合せを含んでいてよい。コンピュータ可読非一時的記憶媒体は、揮発性、不揮発性、又は適当であれば揮発性と不揮発性の組合せであってよい。
【0081】
本発明は幾つかの具体的な実施形態と共に説明されているが、当業者にとっては明白であるように、上記の説明を参照すれば多くのその他の代替案、改良、及び変形型が明らかである。それゆえ、本明細書に記載の発明は、付属の特許請求の範囲の主旨と範囲に含まれるかもしれないあらゆるこのような代替案、改良、応用、及び変形型の全てを包含することが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16