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

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

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

特許7518086OCT画像変換、眼科画像のノイズ除去のためのシステム、およびそのためのニューラルネットワーク
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】OCT画像変換、眼科画像のノイズ除去のためのシステム、およびそのためのニューラルネットワーク
(51)【国際特許分類】
   A61B 3/10 20060101AFI20240709BHJP
【FI】
A61B3/10 100
【請求項の数】 19
(21)【出願番号】P 2021547257
(86)(22)【出願日】2020-02-12
(65)【公表番号】
(43)【公表日】2022-03-30
(86)【国際出願番号】 EP2020053515
(87)【国際公開番号】W WO2020165196
(87)【国際公開日】2020-08-20
【審査請求日】2023-01-18
(31)【優先権主張番号】62/805,835
(32)【優先日】2019-02-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】503317201
【氏名又は名称】カール ツァイス メディテック インコーポレイテッド
【氏名又は名称原語表記】Carl Zeiss Meditec Inc.
(73)【特許権者】
【識別番号】502303382
【氏名又は名称】カール ツアイス メディテック アクチエンゲゼルシャフト
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】バッタチャリア、アリンダム
(72)【発明者】
【氏名】ルイス、ウォーレン
(72)【発明者】
【氏名】クーバッハ、ソフィー
(72)【発明者】
【氏名】オムラー、ラース
(72)【発明者】
【氏名】ダービン、メアリー
【審査官】北島 拓馬
(56)【参考文献】
【文献】欧州特許出願公開第03404611(EP,A1)
【文献】米国特許出願公開第2017/0238877(US,A1)
【文献】国際公開第2018/200493(WO,A1)
【文献】特表2008-528954(JP,A)
【文献】特表2005-525893(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61B 3/00 - 3/18
G06T 1/00 - 1/40
G06T 3/00 - 5/94
G06T 7/00 - 7/90
G06V 10/00 -20/90
G06V 30/418
G06V 40/16
G06V 40/20
(57)【特許請求の範囲】
【請求項1】
光干渉断層撮影(OCT)システムであって、
光ビームを生成するための光源と、
光の第1の部分を参照アームに向け、光の第2の部分をサンプルアームに向けるためのビーム分割面を有するビームスプリッタと、
前記サンプルアームにおける光をサンプル上の1つまたは複数の場所に向けるための光学系と、
前記サンプルアームおよび前記参照アームから戻る光を受信し、その光に応答して信号を生成するための検出器と、
前記信号を第1の画像に変換して、前記第1の画像を画像変換モジュールに提供するためのプロセッサであって、前記画像変換モジュールは、前記第1の画像を、前記第1の画像と比較して、ジッターが減少していること、および架空の構造の作成が最小化されていることのうちの1つまたは複数を特徴とする第2の画像に変換する、前記プロセッサと、
前記第2の画像に基づいて出力画像を表示するための出力ディスプレイと、を備え、
前記画像変換モジュールは、訓練入力画像のセットおよび訓練出力画像のターゲットセットを使用して訓練された機械学習モジュールを含み、前記訓練入力画像は、前記訓練出力画像とは独立して生成される、システム。
【請求項2】
前記プロセッサが、現在の第2の画像を、1つまたは複数の以前に取得された第2の画像とさらに結合して、前記出力画像を生成する、請求項1に記載のシステム。
【請求項3】
現在の第2の画像が、より重く重み付けされたより高い画像品質の第2の画像との直接平均化または重み付け平均化のうちの1つによって1つまたは複数の以前に取得された第2の画像と結合される、請求項2に記載のシステム。
【請求項4】
前記プロセッサは、複数の第1の画像を定義し、前記複数の第1の画像を対応する複数の第2の画像を生成するように前記画像変換モジュールに提供するとともに、OCT血管造影(OCTA)処理技術を使用して前記複数の第2の画像からモーションコントラスト情報を計算し、
前記出力画像には、前記モーションコントラスト情報が表示される、請求項1に記載のシステム。
【請求項5】
前記プロセッサは、
複数の前記第1の画像を定義し、
前記複数の第1の画像を対応する複数の第2の画像を生成するように前記画像変換モジュールに提供し、
前記複数の第2の画像に画像登録技術を適用して、画像整列設定を生成し、
前記複数の第2の画像の前記画像整列設定に少なくとも部分的に基づいて、前記複数の第1の画像を整列させる、請求項1に記載のシステム。
【請求項6】
前記第1の画像は、複数の第1の画像セグメントに分割され、
前記画像変換モジュールは、各第1の画像セグメントを対応する第2の画像セグメントに個別に変換し、複数の前記第2の画像セグメントを結合して、前記第2の画像を構築する、請求項1に記載のシステム。
【請求項7】
前記訓練出力画像の少なくとも1つは、テストサンプルの同じ領域のOCTテスト画像のセットの平均として定義され、
前記訓練入力画像の少なくとも一部は、OCTテスト画像の前記セットに含まれている、請求項1に記載のシステム。
【請求項8】
前記第1の画像は、サンプルの第1の領域のものであり、
前記第2の画像は、前記第1の画像を用いた前記第1の領域の複数の仮想的なOCTスキャンの平均として定義された特性を有する、請求項1に記載のシステム。
【請求項9】
前記機械学習モジュールは、訓練されたニューラルネットワークであり、前記ニューラルネットワークの訓練は、
ターゲット眼領域の複数のOCTテスト画像を収集すること、
前記複数のOCTテスト画像を平均化して、前記ターゲット眼領域の対応する平均化された画像を定義すること、
前記ターゲット眼領域の前記OCTテスト画像を前記ニューラルネットワークへの訓練入力画像として別々に個別に入力し、それらの対応する平均化された画像をそれらの個別に対応する前記ニューラルネットワークの訓練出力画像として提供することを含む、請求項1に記載のシステム。
【請求項10】
前記ニューラルネットワークの訓練は、さらに
各OCTテスト画像を複数のテストセグメントに分割すること、
それらの対応する平均化された画像を複数の対応するグラウンドトゥルースセグメントに分割すること、
前記テストセグメントを対応するグラウンドトゥルースセグメントに相関させること、
相関のあるテストセグメントを訓練入力画像として前記ニューラルネットワークに別々に個別に提供し、それらと相関のあるグラウンドトゥルースセグメントを前記ニューラルネットワークの訓練出力画像として提供することを含む、請求項9に記載のシステム。
【請求項11】
現在入力されているOCTテスト画像を前記ニューラルネットワークの対応する現在の出力と結合して結合されたネットワーク出力を定義すること、前記結合されたネットワーク出力を対応する訓練出力画像と比較することをさらに含む、請求項9に記載のシステム。
【請求項12】
前記訓練入力画像および前記訓練出力画像は、健康な眼の画像と疾患のある眼の画像との混合を含む、請求項1に記載のシステム。
【請求項13】
前記第1の画像は第1のイメージングモダリティのものであり、
前記第2の画像は、前記第1のイメージングモダリティとは異なる第2のイメージングモダリティをシミュレートする、請求項1に記載のシステム。
【請求項14】
第1および第2のモダリティは、時間領域OCT、スペクトル領域OCT、掃引光源OCT、および補償光学OCT(AO-OCT)のうちの1つまたは複数を含む混合である、請求項13に記載のシステム。
【請求項15】
前記OCTシステムは第1のモダリティのものであり、
前記機械学習モジュールは、前記第1のモダリティの第1のOCTデバイスで取得された第3の画像を訓練入力画像のセットとして用い、第2のモダリティの第2のOCTデバイスで取得された第4の画像を訓練出力画像のターゲットセットとして用いて訓練され、前記第2のモダリティは前記第1のモダリティとは異なり、
前記第2の画像は、前記第2のモダリティのOCTシステムによって生成された画像に特有の特徴を有する、請求項1に記載のシステム。
【請求項16】
前記第1のモダリティの前記第1のOCTデバイスは、非補償光学OCTタイプのものであり、
前記第2のモダリティの前記第2のOCTデバイスは、補償光学OCTタイプのものであり、
前記第1のOCTデバイスによって取得された前記第3の画像は、前記第2のOCTデバイスによって取得された前記第4の画像よりも大きく、前記第3の画像は、前記第4の画像と同様のサイズの第3の画像セグメントに分割され、各第3の画像セグメントは、対応する第4の画像と相関され、
相関のある第3のセグメントは、ニューラルネットワークに訓練入力画像として別々に個別に提供され、それらと対応する相関のある第4の画像は、前記ニューラルネットワークの訓練出力画像として提供される、請求項15に記載のシステム。
【請求項17】
前記機械学習モジュールは、ニューラルネットワークであり、前記ニューラルネットワークは、
a)第1の画像を受信するための入力モジュールと、
b)前記入力モジュールに続く収縮パスであって、前記収縮パスは、複数の符号化モジュールを含み、各符号化モジュールは、畳み込みステージ、活性化関数、および最大プーリング演算を有する、前記収縮パスと、
c)前記収縮パスに続く拡張パスであって、前記拡張パスは、複数の復号化モジュールを有し、各復号化モジュールは、現在の値を対応する符号化モジュールの値と連結する、前記拡張パスと、
d)プーリング層とシグモイド層活性化関数を除く出力畳み込みモジュールであって、前記出力畳み込みモジュールは、前記拡張パスの最後の復号化モジュールからの出力を受信して、予備的な出力エラーを生成する、前記出力畳み込みモジュールと、
e)少なくとも1つの符号化モジュールおよび/または1つの復号化モジュールのエラー測定値を決定する中間エラーモジュールとを含み、
前記ニューラルネットワークの訓練中に、前記出力畳み込みモジュールからの前記予備的な出力エラーが前記中間エラーモジュールからの前記エラー測定値と結合される、請求項1に記載のシステム。
【請求項18】
前記出力畳み込みモジュールはさらに前記第1の画像を受信し、生成された予備的な出力エラーは、前記出力畳み込みモジュールによって受信された入力画像に少なくとも部分的に基づく、請求項17に記載のシステム。
【請求項19】
前記ニューラルネットワークの訓練中に、
前記中間エラーモジュールは、現在の訓練出力画像と、前記中間エラーモジュールの対応する符号化モジュールおよび/または復号化モジュールの現在の値との間のエラーとして前記エラー測定値を決定し、
前記出力畳み込みモジュールからの前記予備的な出力エラーは、前記現在の訓練出力画像と前記出力畳み込みモジュールの前記現在の値とに基づく、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、光干渉断層撮影(OCT:optical coherence tomography)の分野に関する。より具体的には、OCTスキャン/画像およびその他の眼科画像の品質を向上させることに関する。
【背景技術】
【0002】
早期診断は様々な眼疾患の治療を成功させる上で極めて重要である。光学イメージングは、網膜の非侵襲的検査に適した方法である。加齢黄斑変性症、糖尿病性網膜症、緑内障は失明の主原因であることが知られているが、診断は、ダメージ自体が発現するまで下されないことが多い。これは主に、いくつかの網膜イメージング技術の解像度が比較的低いことに起因する。従って、最新の高感度で高精度の眼科イメージングおよび診断ツールの目標は、疾患の前臨床段階で網膜微細構造の病理学的変化を解像/表示する(例えば、検出およびモニタリングのために)ことができるイメージングモダリティを提供することである。
【0003】
そのような最新の眼科イメージングおよび診断ツールの1つが、光干渉断層撮影(OCT)システムである。使用する技術に応じて、OCTは、約1μm~15μmの範囲の軸方向の解像度と、数ミクロンから数十ミクロンの範囲の横方向の解像度とを提供し得る。より高い解像度を達成するためには、一般的に広範な研究、コスト、および複雑性を必要とすることは、理解されるものと思われる。
【0004】
ソフトウェアソリューションを通じて改善された画像品質を達成する試みは、成功が限定的である。例えば、当該技術分野で知られているヘシアン(Hessian)ベースの血管性フィルタは、改善された血管接続性を提供し得るが、オリジナルの(例えば、真の)スキャンでは見られない架空の(例えば、仮想的な)構造を導入することが分かっている。ヘシアンベースの血管性フィルタは、オリジナルのスキャンの真の血管構造に忠実ではないため、眼科画像の病理検査における使用は限定的である。
【0005】
本発明の目的は、改善された解像度を備えたOCTシステムを提供することである。
本発明の目的は、既存のOCTシステムまたはOCT血管造影(OCTA:OCT angiography)システムのイメージング能力を、OCTシステムまたはOCTAシステムに対する最小限のハードウェア変更で改善するためのシステムおよび方法を提供することである。
【0006】
本発明のさらなる目的は、既存のOCT画像の画像品質を向上させるためのシステムおよび方法を提供することである。
【発明の概要】
【0007】
上記の目的は、光ビームを生成するための光源と、光の第1の部分を参照アームに向け、光の第2の部分をサンプルアームに向けるためのビーム分割面を有するビームスプリッタと、サンプルアームにおける光をサンプル上の1つまたは複数の場所に向けるための光学系と、サンプルアームおよび参照アームから戻る光を受信し、その光に応答して信号を生成するための検出器と、信号を第1の画像に変換して、第1の画像を画像変換モジュールに提供するためのプロセッサであって、画像変換モジュールは、第1の画像を、第1の画像と比較して、ジッターが減少していること、架空の構造の作成が最小化されていることのうちの1つまたは複数を特徴とする第2の画像に変換する、プロセッサと、第2の画像に基づく出力画像を表示するための出力ディスプレイとを有する光干渉断層撮影(OCT)システムで達成される。画像変換モジュールは、好ましくは、訓練入力画像のセットおよび訓練出力画像のターゲットセットを使用して訓練された機械学習モジュール(例えば、深層学習、ニューラルネットワーク)を含み、訓練入力画像は、訓練出力画像とは独立して生成される。例えば、訓練入力は、既知の種類のノイズ(ガウスノイズ、ポアソンノイズ、スペックルノイズ、ソルト&ペッパーノイズなど)が付加された訓練出力画像に基づいていない。訓練された機械学習モジュール(例えば、動作時)は、第1の画像のより高品質の表現である第2の画像を生成するように訓練出力画像は、訓練入力画像よりも高品質であり得る。例えば、個別の訓練出力画像は、訓練入力画像のセットを平均することによって構築され得る。代替的に、訓練入力画像と訓練出力画像は、異なるモダリティのOCTによって生成され得る。この場合、高品質の画像を生成することができるOCTモダリティを使用して訓練出力画像を生成し、低品質の画像を生成するOCTモダリティを使用して入力訓練画像を生成する。例えば、補償光学OCTシステムを使用して、訓練出力画像を生成し、1つまたは複数の非補償OCTシステム(例えば、時間領域OCT、周波数領域(FD)OCT、スペクトル領域(SD)OCT、および/または掃引光源(SS)OCT)を使用して、訓練入力画像を生成し得る。このようにして、変換モジュールは、第1のモダリティのOCT画像を、第2の異なるモダリティのOCTによって生成されたものに類似した画像に効果的に変換する。
【0008】
典型的には、このような画像変換モジュールは、効果的な深層学習のために、多数の訓練サンプル(例えば、多数の訓練入力画像と訓練出力画像)を必要とする。これは、例えば自然のシーンの画像を撮影する場合は問題ではないかもしれないが、機械学習モデルを訓練するために眼科画像の大規模なライブラリ(特に多数のOCT画像)を収集しようとする場合は問題となる。深層学習用の眼科画像の大規模なライブラリを作成することは、経済的に困難な場合がある。本発明は、典型的なものよりも少ない訓練サンプルのライブラリで深層学習結果を提供する新たなニューラルネットワーク(NN)アーキテクチャを提供する。さらに、本ニューラルネットワークは、従来の既知の画像変換ニューラルネットワークアーキテクチャから逸脱して、より少ない学習層またはモジュールでコンパクトな形態を実現する。本NNは、複数のイメージングモダリティ、例えば、眼底イメージングシステムおよびOCTシステムからの画像などの異なるタイプの眼科画像に適しているが、本明細書では、OCT画像のコンテキストで例示的に説明される。従って、本NNは、OCTシステム内に組み込まれるものとして記載されているが、本NNアーキテクチャは、他のタイプの眼科イメージングシステムにも組み込むことができ、他のタイプの眼科画像の処理に適用することができることが理解されるべきである。例えば、本NNは、以前に生成された眼科画像の既存のライブラリ(例えば、既存のOCT画像または眼底画像のメモリストア)を処理し、その画像品質を向上させるために使用され得る。
【0009】
既知のU-Netアーキテクチャは、従来、画像の分類および画像セグメンテーションに限定されていた。本NNアーキテクチャはU-Netに基づいているが、その機能を画像変換に拡張している。これまでは、U-Netを敵対的ネットワーク(GAN)などの別のNNと組み合わせて、画像変換を実施していた。この先行技術の場合、U-Netは画像セグメンテーションを提供し、GANは画像変換を提供する。しかしながら、本アーキテクチャは基本的なU-Netアーキテクチャに基づいているため、画像変換を実現するためにGANまたはその他の二次的なNNを必要とせずに直接画像変換を提供する。本NNアーキテクチャは、第1の画像(例えば、入力OCTまたは眼底画像)を受信するための入力モジュールと、入力モジュールに続く収縮パス(contracting path)であって、収縮パスは、複数の符号化モジュールを含み、各符号化モジュールは、畳み込みステージ(例えば、1つまたは複数の畳み込み層)、活性化関数、および最大プーリング演算を有する、収縮パスと、収縮パスに続く拡張パス(expanding path)であって、拡張パスは、複数の復号化モジュール(例えば、1つまたは複数の復号化層)を含み、各復号化モジュールは、その現在の値を対応する符号化モジュールの値と連結する、拡張パスと、プーリング層を除き、活性化関数を除く出力畳み込みモジュールとを含み、出力畳み込みモジュールは、拡張パスにおける最後の復号化モジュールから出力を受信する。従来のU-Netでは、拡張パス内の各復号化モジュールには、活性化関数(シグモイドなど)層が含まれていた。しかしながら、本発明では、拡張パスにおける1つまたは複数の、好ましくは全ての復号化モジュールは、いかなる活性化層も有していない。復号化モジュールにおけるこの活性化層の欠如により、本アーキテクチャは画像変換機能を実現している。従来のニューラルネットワークでは、出力畳み込みモジュールからの出力は通常、ターゲット訓練出力画像と比較されて損失エラーが決定され、この損失エラーはNNを介してフィードバックされて(例えば、バックプロパゲーションプロセスで)、NNの重みおよびバイアスを調整して、後続の訓練サイクルでエラーの少ない出力を生成するようにしている。本発明は、このような慣行とは異なる。本NNは、少なくとも1つの符号化モジュールおよび/または1つの復号化モジュールのエラー測定値を決定する少なくとも1つの中間エラーモジュールをさらに含む。この中間エラーモジュールは、少なくとも1つの符号化モジュールおよび/または1つの復号化モジュールの現在の結果を取得し、現在の結果を現在の訓練出力画像の解像度にアップスケールし、現在の訓練出力画像と比較して1つまたは複数の深層エラー測定値を定義する。次に、追加の深層エラー測定値を出力畳み込みモジュールからの損失エラーと結合して、システムに関する全損失エラーを定義し、この全損失エラーは、NNを介してフィードバックされて、内部の重みおよびバイアスを調整することができる。これらの複数のエラーのソースは、例えば、直接加算、重み付け結合、および/または平均化によって結合することができる。訓練出力画像をNNの様々な内部ステージに導入することにより、NNがターゲット出力から大きく外れるのを防止し、画像変換を実現するのにも役立つ。
【0010】
本NNは、眼科画像におけるノイズアーティファクトの低減などのさらなる目的のために使用され得る。しかしながら、他のNNアーキテクチャが同様に、本画像変換およびノイズ低減機能の一部を実施するために使用され得ることが理解されるべきである。
【0011】
上記の目的はさらに、眼科画像のノイズアーティファクトを低減するため、または低減されたノイズアーティファクトの眼科画像を生成するための眼科イメージングシステムまたは方法(例えば、眼底イメージングシステムまたはOCTシステム)においてさらに達成される。システムまたは方法は、第1の眼科画像を取得し、第1の眼科画像を画像修正モジュールに提供するためのプロセッサを使用すること、画像修正モジュールは、第1の画像に基づいて第1の眼科画像と比較してノイズアーティファクトが低減された第2の眼科画像を作成し、第2の画像に基づく出力画像を電子ディスプレイに表示することを含む。好ましくは、画像修正モジュールは、ニューラルネットワークを含み、ニューラルネットワークの訓練が、少なくとも1つのサンプル(例えば、眼)の複数のテスト眼科画像を収集すること、収集されたテスト眼科画像はノイズの多い画像であり、テスト眼科画像の1つを訓練出力画像としてランダムに選択すること、残りのテスト眼科画像の1つまたは複数を訓練入力画像の訓練セットとしてランダムに選択すること、各訓練入力画像をニューラルネットワークに別々に個別に提供し、訓練出力画像をニューラルネットワークのターゲット出力として提供することを含む。
【0012】
本発明のその他の目的及び達成事項は、本発明のより十分な理解と共に、添付の図面と併せて解釈される以下の説明と特許請求の範囲を参照することにより明らかとなり、理解されるであろう。
【0013】
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。1つの請求カテゴリ、例えばシステムにおいて記載される何れの実施形態の特徴も、他の請求カテプリ、例えば方法においても特許請求できる。付属の請求項中の従属性又は後方参照は、形式的な理由のためにのみ選択されている。しかしながら、それ以前の請求項への慎重な後方参照から得られる何れの主題もまた特許請求でき、それによって請求項及びその特徴のあらゆる組合せが開示され、付属の特許請求の範囲の中で選択された従属性に関係なく、特許請求できる。
【0014】
図中、同様の参照記号/文字は同様の構成要素を指す。
【図面の簡単な説明】
【0015】
図1】本発明によるニューラルネットワークアーキテクチャを示す。
図2】グラウンドトゥルース(ground truth)の真の平均化された画像を作成するプロセスを示す。
図3】本発明によるニューラルネットワークを訓練するための訓練サンプルペアのセットを定義するための方法を示す。
図4】本発明によるニューラルネットワークの訓練を示す。
図5】本発明による(例えば、畳み込み)ニューラルネットワークの訓練の別の図を提供する。
図6】訓練後のライブデータ入力または評価段階中のテストデータ入力のいずれかを使用した畳み込みニューラルネットワークの動作例を示す。
図7図8のワークフローと同様に、複数のスキャン/画像を平均化するためのワークフローへの訓練済みニューラルネットワークの実装を示す。
図8】対応する画像パッチのペアを使用してニューラルネットワークを訓練するための本発明によるパッチ適用ベースの技法を示す。
図9】本発明によるニューラルネットワークを訓練するための対応するパッチのペアの使用を示す。
図10】本発明による画像パッチのペアで訓練されたニューラルネットワークの動作を示す。
図11】本発明によるAO-OCTシステムによって生成された一連の個々のAO-OCT画像を使用してニューラルネットワークを訓練することを示す。
図12】AO-OCTの特性を有する画像/スキャンを出力するように訓練されたニューラルネットワークの動作を示す。
図13A-13B】真の平均化された画像を、本発明に従って訓練されたニューラルネットワークで生成された「予測された平均化された」(例えば、平均化されたように見える)画像と比較したものである。
図14】6mmの入力画像/スキャンが訓練されたニューラルネットワークに提供されて、予測された平均化されたように見える6mmの画像を生成する、本発明の別の応用例を示す。
図15】平均化された画像および/または平均化されたパッチで訓練されたNN MLモデルに入力される眼科(例えば、en face)の画像の例を示す。
図16図21の入力画像の受信に応答して、訓練されたNNMLモデルによって生成された結果の出力画像を示す。
図17A-17B】現在訓練されているNNモデルが眼の血管の構造を学習することを示す。
図18】疾患のある眼の画像を本発明に従って訓練されたニューラルネットワークに入力した結果を示す。
図19】本発明によるOCTスキャン/画像のノイズを除去するためのニューラルネットワークの訓練を示す。
図20】本発明による訓練されたニューラルネットワークへの例示的なライブ入力en face画像、および結果として生じるノイズ除去されたen face画像を示す。
図21A-21B】訓練されたニューラルネットワークへのライブBスキャン入力およびそれらの個々に出力されたノイズ除去されたBスキャンの2つの別個の例を示す。
図22】本発明と使用するのに適した眼の3D画像データを収集するために使用される一般型周波数領域光干渉断層撮影(FD-OCT)システムを図解する。
図23】en face脈管画像の例を示す。
図24】AOサブシステムおよびOCT/OCTAサブシステムで構成される一般化型補償光学光コヒーレンス断層撮影(AO-OCT)システムを図解する。
図25】多層パーセプトロン(MLP)ニューラルネットワークの例を図解する。
図26】入力層、隠れ層、及び出力層からなる単純化されたニューラルネットワークを示す。
図27】例示的な畳み込みニューラルネットワークアーキテクチャを図解する。
図28】例示的なU-Netアーキテクチャを図解する。
図29】例示的なコンピュータシステム(又はコンピューティングデバイス又はコンピュータデバイス)を図解する。
【発明を実施するための形態】
【0016】
眼科画像にはいくつかの異なるタイプがある。例えば、眼科画像は、眼底写真撮影、蛍光血管造影(FA:fluorescein angiography)、眼底自発蛍光(FAF:fundus auto-fluorescence)、光干渉断層撮影(OCT)、OCT血管造影(OCTA)、眼球超音波検査によって作成され得る。各々が眼の異なる情報(または異なる方法で収集された情報)を提供し、各々が眼の異なる特徴を強調し得る。一般的に、眼科画像は、特定の眼に関連する疾患を診断するために不可欠なものであり、その有効性は、十分な解像度、焦点、倍率、および信号対雑音比(SNR)を備えた画像など、高品質の画像を生成する能力に依存する。眼底イメージャの例は、米国特許第8,967,806号明細書および米国特許第8,998,411号明細書において提供されており、OCTシステムの例は、米国特許第6,741,359号明細書および米国特許第9,706,915号明細書において提供されており、OCTAイメージングシステムの例は、米国特許第9,700,206号明細書および米国特許第9,759,544に見出すことができ、これらは全て、参照によりその全体が本明細書に組み込まれる。本発明は、機械学習(ML)技術(例えば、決定木学習、サポートベクターマシン、人工ニューラルネットワーク(ANN)、深層学習など)を使用して、任意の選択されたタイプのイメージングシステムによって生成される眼科画像の品質を改善する眼科画像変換ツールおよび/またはノイズ除去ツールを提供することを探求するものである。以下の例示的な実施形態では、本発明をOCTシステムに適用した場合について説明するが、本発明は、眼底イメージングなどの他の眼科イメージングモダリティにも適用可能であることを理解されたい。
【0017】
さらに、本発明は、第1のOCTモダリティのOCT画像を第2のOCTモダリティの画像に変換することを提供する。特に、OCT/OCTAイメージングモダリティには、時間領域(TD)OCT/OCTAおよび周波数領域(FD)OCT/OCTAなどの様々なタイプがある。他のより具体的なOCTモダリティには、スペクトル領域(SD)OCT/OCTA、掃引光源(SS:Swept Source)OCT/OCTA、補償光学(AO:Adaptive optics)OCT/OCTAなどが含まれ、それぞれに長所および短所がある。例えば、AO-OCTは、一般的に、従来のOCTシステムよりも良質な画像品質および高解像度を提供するが、従来のOCTシステムよりもはるかに複雑で、高価な部品を必要とし、一般的に視野(FOV:field-of-view)が大幅に減少する。本発明は、別の異なるモダリティのOCT画像(例えば、模倣する、シミュレートする、または類似する)に変換されるOCT画像を選択的に生成することができる第1のモダリティのOCTシステムを提供する。例えば、SD-OCTは、SS-OCTまたはAO-OCTによって提供される画像と類似する画像を提供するように作製され得る。代替的に、本発明は、眼の所与のサンプル領域の単一のキャプチャされたOCT画像を、同じサンプル領域の複数のOCT画像の平均化によって生成された画像に類似する画像に変換するOCTシステムを、同じサンプル領域を繰り返しスキャンする必要なしに提供し得る。
【0018】
さらに、本発明は、眼科画像、例えば、OCT画像におけるノイズを低減する(例えば、ノイズを除去する)ための改善された方法/ツールを提供する。本ノイズ除去ツールは、画像変換ツールとは別に、またはそれに加えて適用することができる。即ち、本ノイズ除去ツールは、本願の画像変換ツールとは独立して、またはそれと組み合わせて適用することができる。さらに、本ノイズ除去技術は、任意選択的に、本願の画像変換ツールの訓練と組み合わせることができる。
【0019】
本眼科画像強調(ophthalmic image enhancement)ツール(単数または複数)は、眼底イメージャまたはOCTシステムなどの眼科イメージング装置に組み込まれ得るか、またはネットワークアクセス可能なサービスとして提供され得る。例えば、画像強調ツール(単数または複数)は、インターネットを介してリモートホストにアクセスするコンピューティングタブレットまたはスマートフォンなどのモバイルデバイス上で実行可能なアプリケーションとして実装することができ、リモートホストは、本発明を眼科画像強調サービスとして提供する。このようにして、モバイルデバイス(またはOCTシステム)からリモートホストに、より高いコンピューティング要件をオフロードすることができる。代替的に、眼科画像強調ツールは、ウェブブラウザを使用してインターネット上でアクセス可能なウェブサイトとしてインターネット上で完全に提供され得る。このようにして、医師または技術者は、インターネットにアクセスでき、かつウェブブラウザを稼動することができる任意のデバイスを使用して、どの場所からでも本眼科画像強調ツールを利用することができる。
【0020】
説明のために、OCTシステムおよびAO-OCTシステムを含む様々なイメージングシステムを、図22図24を参照して以下に説明する。
以下の実施形態は、第1のモダリティのOCT/OCTA画像を、第2のモダリティの別の(好ましくはより高品質および/またはより高解像度の)OCT画像に変換することができるOCT/OCTAシステムを提供するためのシステムおよび方法について説明する。例えば、変換された画像は、真の平均化されたOCT/OCTA画像または真のAO-OCT/OCTA画像の生成に関連する困難さを伴うことなく、複数のOCT/OCTA画像を平均化することによって作成された画像(以下、平均シミュレーション画像と称する)および/またはAO-OCTシステムによって作成された画像(以下、AOシミュレーション画像と称する)の特性を有し得る。代替的に、または画像変換機能に加えて、本システムは、ノイズ低減ユーティリティをさらに提供することができる。いくつかの実施形態では、これらの追加された機能は、機械学習に基づくデータ処理モジュールによって提供される。本発明では、様々なタイプの機械学習技術が想定されているが(例えば、最近傍法(nearest neighbor)、単純ベイズ、決定木学習、サポートベクターマシン、人工ニューラルネットワーク(ANN)、深層学習など)、現時点での好ましい実施形態は、ニューラルネットワーク(NN)に基づいており、特に、U-Netアーキテクチャ上に構築され、簡素化された訓練、ネットワークレベルの数の減少、および典型的なものよりも小さい訓練セットを提供する新たなNNアーキテクチャに基づいている。
【0021】
多層パーセプトロン(MLP)ニューラルネットワーク、畳み込みニューラルネットワーク(CNN)、U-Netなどの様々なニューラルネットワークアーキテクチャについて、図25図28を参照して以下に説明する。任意選択的に、本発明は、これらのニューラルネットワークの任意の1つまたは組み合わせを使用して実施することができるが、好ましい実施形態は、画像変換機能および/またはノイズ除去機能を実装するために、U-Netアーキテクチャに基づく特殊な画像変換ニューラルネットワークアーキテクチャを使用してもよい。
【0022】
典型的なニューラルネットワーク(NN)は、複数の隠れ層を有し、学習可能な重みおよびバイアスを有するニューロンで構成され、各ニューロンは、入力を受信し、演算を実行し、任意選択的に、非線形性(例えば、活性化関数)を伴う。一般的に、深層学習NNは、大規模な訓練セットを必要とし、かつ数ピクセルよりも大きい画像を取り扱うのには適していない。畳み込みニューラルネットワーク(CNN)は、(深層学習)ニューラルネットワーク(NN)と同様のものであるが、CNNは、画像をより効率的に処理するように最適化することができる。CNNは、近くにあるデータは遠くにあるデータよりも関連性が高いと仮定しているため、フォワード関数をより効率的にし、パラメータの数を減少させることができる。しかしながら、CNNは、依然として大規模な訓練セットを必要とし得る。大規模な訓練セットをコンパイルするために、より多くの関連する医用画像(特に、眼科画像)を取得することは、経済的および規制上の様々な理由で問題となる可能性があることは、当業者であれば理解されると思われる。U-Netニューラルネットワークアーキテクチャは、従来のNNよりも小さい訓練セットを使用することができ、CNNと同様に、U-Netも画像の訓練用に最適化することができる。U-Netの主な用途は、従来、画像をさらに処理するための前処理ステップとしての画像セグメンテーション(例えば、画像内の前景オブジェクトの形状の識別)であった。例えば、U-Netは、前処理ステップとして敵対的ネットワーク(GAN)に結合されて、画像変換を実施することができる。この場合、GANは、U-Netから出力されたセグメンテーション情報を受信し、GANは、セグメント化されたアイテムに画像変換を適用する。本発明は、画像セグメンテーションを提供する代わりに(またはそれに加えて)、本U-Netベースのアーキテクチャが画像変換を直接提供するように、GANの必要性を排除するU-Netに基づくアーキテクチャを提供する。
【0023】
図1を参照すると、本アーキテクチャは、典型的なU-Netアーキテクチャ(例えば、図28を参照)に基づいて構築され、任意のサイズ(例えば、128x128ピクセルのサイズ)の入力Uin(例えば、入力画像または画像パッチ)を受信する入力モジュール(または入力層または入力ステージ)12を含む。説明のために、任意のステージまたは層における画像サイズは、画像を表すボックス内に示されており、例えば、ボックス12は、入力画像Uinが128x128ピクセルで構成されていることを示すように番号「128×128」を囲んでいる。入力画像は、OCT/OCTAのen face画像またはBスキャン画像であり得る。しかしながら、入力は任意のサイズおよびディメンションであってもよいことを理解されたい。例えば、入力画像は、図27に示すように、RGBカラー画像であり得る。入力画像は一連の処理層を経ており、各層は例示的なサイズで示されているが、これらのサイズは、説明のみを目的としており、かつ画像のサイズ、畳み込みフィルタ、プーリングステージなどの複数の要素に依存する。本アーキテクチャは、収縮パス(contracting path)(本明細書では、例示的に、5個の符号化モジュール14、16、18、20、および22からなる)と、それに続く拡張パス(expanding path)(同様に5個の対応する復号化モジュール24、26、28、30、および34からなる)と、収縮パス内の1つの符号化モジュールの出力をコピーして、それを拡張パス内の対応する復号化モジュールのアップコンバートされた入力に連結する(例えば、後ろに追加する)対応するモジュール/ステージ間の5個のコピーアンドクロップリンク(例えば、スキップ接続)CL1~CL5とを含む。収縮パスは符号化器と同様のものであり、一般的に、特徴マップを使用してコンテキスト(または特徴)情報をキャプチャする。収縮パス内の各符号化モジュールは、アスタリスク記号「*」で例示的に示される1つまたは複数の畳み込み層を含み得、その後に最大プーリング層(例えば、ダウンサンプリング層内に具体化される)が続いてもよい。例えば、入力画像Uinは、各々が32個の特徴マップを生成する2つの畳み込み層を経ることが例示的に示されている。各畳み込みカーネルが、特徴マップ(例えば、所与のカーネルを用いた畳み込み演算からの出力は、典型的に「特徴マップ」と呼ばれる画像である)を生成することは、理解されると思われる。例えば、入力Uinは、32個の畳み込みカーネル(図示せず)を適用する第1の畳み込みを経て、32個の個々の特徴マップからなる出力36を生成する。しかしながら、当該技術分野で知られているように、畳み込み演算によって生成される特徴マップの数は、(増加または減少に)調整することができる。例えば、特徴マップの数は、特徴マップのグループを平均化すること、いくつかの特徴マップを削除すること、または特徴マップ削減の他の既知の方法によって削減することができる。この場合、第1の畳み込みの後に第2の畳み込みが続き、その出力38は32個の特徴マップに制限される。特徴マップを想定する別の方法は、畳み込み層の出力を、リストされたXY平面ピクセルディメンション(例えば、128×128ピクセル)によって2Dディメンションが与えられ、その深さが特徴マップの数(例えば、32個の平面画像の深さ)によって与えられる3D画像として考えることである。この類推に従って、符号化モジュール14の出力38は、128×128×32の画像として記述され得る。次に、第2の畳み込みからの出力38は、プーリング演算を受け、これにより、各特徴マップの2Dディメンションが縮小される(例えば、XおよびYディメンションがそれぞれ半分に縮小され得る)。プーリング演算は、下向き矢印40によって示されるように、ダウンサンプリング演算内で実施することができる。最大プーリングなどのいくつかのプーリング方法が当該技術分野で既知であり、特定のプーリング方法は本発明にとって重要ではない。従って、収縮パスは、畳み込みネットワークを形成し、本明細書では5個の符号化モジュール(またはステージまたは層)14、16、18、20、および22で示されている。畳み込みネットワークの典型的な例として(例えば、図27および28を参照)、各符号化モジュールは、好ましくは、少なくとも1つの畳み込みステージを提供し、続いて、図示しない活性化関数(例えば、正規化線形ユニット(ReLU)またはシグモイド層)および最大プーリング演算が行われる。一般に、活性化関数は、層に非線形性を導入し(これは、オーバーフィッティング問題を回避するのに役立つ)、層の結果を受け取り、出力を「活性化」するかどうかを決定する(例えば、特定のノードの値が出力を次の層/ノードに転送するための基準を満たすかどうかを判定する)。
【0024】
拡張パスは復号化器と同様のものであり、とりわけ、収縮パスの結果に関するローカリゼーション情報および空間情報を提供し得る。拡張パスは、本明細書では、5個の復号化モジュール24、26、28、30、および34を有するように示され、各復号化モジュールは、その現在のアップコンバートされた入力を対応する符号化モジュールの出力と連結する。例えば、復号化モジュール24のアップコンバートされた入力42は、対応する符号化モジュール22の出力44と連結されて示されている。より具体的には、出力44(そのディメンションが8×8×512である)がアップコンバートされた入力42(そのディメンションが8×8×1024である)に付加されて、そのディメンションが8×8×1536である連結画像が形成され得る。このようにして、(符号化モジュール22からの)特徴情報は、(復号化モジュール24からの)空間情報と結合される。特徴情報および空間情報のこの結合は、一連のアップコンボリューション(例えば、アップサンプリングまたは転置コンボリューションまたは逆畳み込み)および縮小パスからの高解像度特徴との(例えば、CL1~CL5を介した)連結を介して拡張パスにおいて継続される。逆畳み込み層の出力は、収縮パスからの対応する(任意選択的にトリミングされた)特徴マップと連結され、その後に、2つ(またはそれ以上)の畳み込み層が続く。収縮パスと拡張パスとの間には、典型的には、2つ以上の畳み込み層で構成され得るボトルネックモジュールBNKがある。
【0025】
図1の本アーキテクチャは、U-Net(図28を参照)に基づいているが、いくつかの際立った特徴を有する。第一に、本アーキテクチャにおける拡張パスは、活性化関数を欠いていてもよい。即ち、拡張パス内の1つまたは複数、好ましくは、全ての復号化モジュール24、26、28、30、および/または34は、任意の活性化層、例えば、シグモイド層を欠いていてもよい。拡張パスにおけるこの活性化関数(単数または複数)の欠如は、本アーキテクチャが画像変換機能を実現するのに役立ち得る。第二に、本ニューラルネットワークは新たな訓練アーキテクチャを組み込んでいる。当該技術分野で知られているように、ニューラルネットワークは、訓練サイクル中に、現在のニューラルネットワーク出力(例えば、Uout)を現在の訓練出力画像Toutと比較して、現在の損失エラーE1を決定するバックプロパゲーションによって訓練することができる。通常、この損失エラーE1は、後続の訓練サイクルにおいてより小さなエラーでより良好な出力を生成するように、内部の重みおよびバイアスを調整するためにニューラルネットワークを介してフィードバックされる。しかしながら、本アーキテクチャは、収縮パスおよび/または拡張パスの任意の段階からの深層エラー(deep error)を決定するための深層監視(deep supervision)リンクを組み込んで、この深層エラーを出力モジュール/層50における損失エラーと結合して、システムに関する全損失エラーを定義する。深層監視は、少なくとも1つの符号化モジュールおよび/または少なくとも1つの復号化モジュールに関する深層エラー測定値を決定する中間エラーモジュール(例えば、EM1/EM2)の形態であり得る。任意選択的に、選択された符号化モジュール(単数または複数)および復号化モジュール(単数または複数)は、ランダムに選択され得るか、またはそれらの対応するコピーアンドクロップリンク(単数または複数)に従って互いに対応し得る。選択された符号化モジュール(単数または複数)および/または復号化モジュール(単数または複数)の現在の状態が現在の訓練出力画像と比較されて、出力が入力から過度に逸脱しないことを保証するようにする。これにより、収束が速くなり、訓練時間が短くなる。例えば、訓練中に、符号化ステージ18からの現在の出力が、現在の訓練出力画像Toutの解像度にアップコンバートされ、Toutと比較されて、深層エラーE2を決定することができる。同様に、訓練中に、復号化ステージ28からの現在の出力は、現在の訓練出力画像Toutの解像度にアップコンバートされ、Toutと比較されて、深層エラーE3を決定することができる。次に、深層エラーE2およびE3は、重み付き線形結合(weighted linear combination)などによってエラーE1と結合される。任意選択的に、損失エラーE1を決定する前に、入力Uinが出力Uoutにフィードフォワードされて(例えば、結合されて)もよい。例えば、入力Uinを出力Uoutに加えて(図示しないUinからUoutへのフィードフォワードリンクを使用するなどにより)、エラー損失E1を決定する前に、結合ネットワーク出力Uin+Uout(または両方の重み付けされた結合)を定義してもよい。結合ネットワーク出力Uin+Uoutは、図1におけるUoutの代わりになり、現在の訓練出力画像Toutと比較されて、現在の損失エラーE1が決定されてもよい。入力と出力を結合することにより、入力がすでに目的の出力(Tout)と一致している場合、ネットワークは、何もしないように「学習」する必要がない(例えば、恒等式「入力=出力」を自明にする)。実際には、これによって訓練のスピードが上がり、より良好な結果を得ることができる。さらに、本アーキテクチャは、UoutとToutを比較する際に、L-1損失(例えば、絶対差の合計)およびL-2損失(例えば、二乗差の合計)を決定するカスタマイズされた損失関数を使用して、(例えば、加重和によって)2つの損失を結合して、E1を定義することができる。好ましくは、元の画像/スキャンの忠実な表現を保証するために、E1を定義する際に、L-1損失がL-2損失よりも重く重み付けされる。エラー測定値E2およびE3は、L-1損失、L-2損失、または両方の結合によって決定される。エラー測定値E1、E2、および/またはE3は、ゲイン(例えば、それぞれのα1、α2、および/またはα3)によって重み付けされ得る。例えば、全てのゲインの合計が1になり、出力モジュール(例えば、E1)の損失エラーがより重く重み付けされるように、E2はα2=0.2のゲインで重み付けされ、E3はα3=0.2のゲインで重み付けされ、E1(これは、L-1損失とL-2損失の結合であり得る)は、α1=0.6のゲインで重み付けされ得る。結果として得られた全損失エラーは、バックプロパゲーションプロセスでニューラルネットワークを介してフィードバックされ得る。深層監視を使用することにより、出力が制限されるため、架空の構造(例えば、入力画像にない構造)が作成されない(または作成が大幅に制限される)。医用画像を扱う場合、出力画像に架空の構造を作成しないようにすることは、臨床医にとって非常に重要なことである。従って、本深層監視アーキテクチャは、従来のU-net構造よりも高速な収束と良好な特徴表現を実現する。本深層監視アーキテクチャが本発明に従ってMLモデルの訓練に使用されるが、MLモデルが訓練されると、様々なステージ/モジュールの重みおよびバイアスが設定される(例えば、固定される)ため、訓練されたMLモデルの動作段階においてアーキテクチャ中に深層監視部分を使用する必要がない場合があることを理解されたい。
【0026】
図1の本NNアーキテクチャは、MLモデルを訓練して複数のタスクを実行するために使用することができる。第1のタスクは画像変換であり、第2のタスクはノイズ低減であり得る。説明を簡単にするために、各タスクを以下のように個別に説明する。
【0027】
画像変換
個々のOCT/OCTAスキャンは、他の問題の中でもとりわけ、ジッター、ドロップアウト、スペックルノイズなどの問題の影響を受ける。これらの問題は、それらが血管系密度の定量化に使用されるため、定性的および定量的の両方でen face画像の品質に影響を与える可能性がある。本発明は、訓練されたニューラルネットワークを使用することによって眼科画像の品質を改善することを探求する。以下で説明するように、これには、複数の訓練ペアセット(例えば、訓練入力画像とそれに対応するグラウンドトゥルース、ターゲット訓練出力画像とのペア)が必要である。深層学習を使用する際に問題となるのが、訓練セットで使用するためのグラウンドトゥルース出力を取得することである。真の平均化された画像(true averaged images)の品質(例えば、血管の連続性、ノイズレベル)は、一般に、個々のスキャンの品質よりもはるかに優れている。従って、本発明における1つの手法は、単一の眼科入力画像を、平均シミュレーション画像(例えば、真の平均化された画像の特性を有する画像)に変換することである。この手法では、真の平均化された画像が、本ニューラルネットワークの訓練においてグラウンドトゥルース画像として(例えば、訓練出力画像として)使用される。別の手法は、第1のモダリティの眼科入力画像を、典型的にはより高品質である異なるモダリティをシミュレートする出力眼科画像に変換することである。例えば、AO-OCT画像をグラウンドトゥルース、訓練出力画像として使用して、ニューラルネットワークを訓練してAOシミュレーション画像を生成することができる。説明を簡単にするために、以下の説明の多くは、訓練セットにおけるグラウンドトゥルース、ターゲット出力画像としての真の平均化された画像の使用について説明しているが、特に明記しない限り、訓練セットにおけるグラウンドトゥルースターゲット出力としてAO-OCT画像(または他のより高品質の画像および/またはより高解像度の画像)を使用する場合にも同様の説明が適用されることを理解されたい。
【0028】
図2は、グラウンドトゥルース、真の平均化された画像Avg1を作成するプロセスを示している。OCT/OCTAシステム13(図22および24に示されるような)などの眼科イメージングシステムは、サンプル(例えば、眼)の同じ領域のn個の個別の画像/スキャンS1S1~S1Snからなる画像セットS1をキャプチャする。例えば、画像セットS1の最初のスキャンにはS1S1というラベルが付けられ、画像セットS1のn番目のスキャンにはS1Snというラベルが付けられている。同様に、pスキャンの第2の画像セットS2(図示せず)が収集された場合、第2の画像セットS2における個々のスキャンには、S2S1~S2Spというラベルが付けられ得る。いずれにしても、画像セットの個々のスキャン(例えば、S1S1~S1Sn)は、画像セット(例えば、S1)内の前処理されたスキャンを本質的に整列させる画像登録(例えば、整列)モジュール/ブロック17に提供される前に、画像前処理プロセッサモジュール/ブロック15によって、画像前処理(例えば、照明補正、ぼかしおよび焦点補正、フィルタリングおよびノイズ除去、エッジ強調など)を任意選択的に受けてもよい。個々のスキャン(S1S1~S1Sn)は、各個々のスキャン内の特徴的な特徴(例えば、ポリゴン形状記述子(例えば、血管構造)、スペクトル記述子(例えば、SIFT、SURF)など)を識別し、複数の個別のスキャン内で、一致する特徴的な特徴を識別し、それぞれ一致する特徴的な特徴を整列することによって個々のスキャンを整列することによって登録することができる。このプロセスにより、複数の画像整列設定(例えば、登録パラメータ)が生成される。次に、整列されたスキャン/画像が平均化され(例えば、画像平均化モジュール/ブロック19によって)、真の平均化された画像Avg1が生成される。複数の画像セットの各々の中で個々のスキャン/画像を登録して平均化することにより、各画像セットに関する個々の平均化された画像が生成され、各平均化された画像は、その対応する画像セット内の構成画像よりも高品質である。しかしながら、真の平均化された画像の生成にはかなり長い時間を要するため、その用途が制限される。本発明は、ニューラルネットワークを訓練するために、個々のスキャンの複数の画像セットと、それらに対応する平均化された画像とを使用する。
【0029】
図3は、一組の訓練サンプルペアを定義する方法を示す。この例では、個々のスキャンS1S1~S1Snの各々が、それらに対応する真の平均化された画像Avg1と個別にペアリングされて、n個の個別の訓練ペアTP1~TPnが定義される。ここで、スキャンS1~Snの各々は、ニューラルネットワークへの個別の訓練入力であり、それらに対応する真の平均化された画像Avg1は、各入力に対応するターゲット訓練出力である。複数の訓練ペアセットは、図2に示されているように、眼の様々な領域の複数の画像セット(例えば、S1、S2、…、Sm)を取得し、各画像セットの複数の構成スキャンを平均して、各画像セットに関する対応する真の平均化された画像を定義することによって定義され得ることは、理解されると思われる。
【0030】
図4は、本発明によるニューラルネットワーク25(図1に示されているものなど)の訓練を示す。この例では、複数の訓練ペアセットTS1~TSmが収集される。各訓練セットは、一組の構成OCT/OCTAスキャン21で構成され、それらに対応する真の平均化された画像23を定義するために使用される。各訓練セット(TS1~TSm)は、以下に説明するように、訓練のためにニューラルネットワーク25に提供される。任意選択的に、前処理プロセッサモジュール/ブロック15を省略して、ニューラルネットワーク25を、前処理された(例えば、フィルタリングされた)データの代わりに、生データ(スキャン/画像)で訓練することができる。
【0031】
図5は、本発明による(畳み込み)ニューラルネットワーク25の訓練の別の図を提供する。前と同じように、各訓練ペアTP1~TPnは、訓練入力サンプルとして提供される個別の画像/スキャンS1S1~S1Snと、ターゲット訓練出力サンプルとして提供されるその真の平均化された画像Avg1とで構成される。従って、訓練段階中に、畳み込みネットワーク(例えば、図1のNN)25は、訓練入力としてのシングルスキャン画像S1S1~S1Snと、対応する訓練出力としてのそれらの真の平均化された画像Avg1とで訓練される。
【0032】
図6は、訓練後のライブデータ入力または評価段階中のテストデータ入力のいずれかを用いた、本CNN25の動作例を示す。本CNN25は、入力として単一の眼科画像31(例えば、ライブOCT/OCTAスキャン)を受信し、対応する出力画像33(例えば、訓練による、真の平均化された画像の特徴を有する平均シミュレーション画像、または異なるイメージングモダリティ(例えば、AOシミュレーション画像)の特性を有する出力画像)を予測する。この例では、出力画像33は平均シミュレーション画像であり、かつ真の平均化されたen face画像の特性を有する。換言すれば、出力画像33は、入力画像によって撮影された領域と同様の領域の複数の仮想的な画像を用いた入力画像の平均化をシミュレートしている。入力画像31は、訓練で使用された画像ではなく、また訓練で使用された任意の画像から派生した画像ではないことに留意されたい。即ち、ネットワーク25によって以前に確認されなかった入力テストスキャン(例えば、31)が、テスト/評価/処理段階のために選択され、ネットワーク25は、入力画像が共に平均化された一組の画像の一部であったという状況に対応する、可能性のある出力を予測する。
【0033】
上記で説明したように、真の平均化された画像を作成するには、共に平均化された複数の個別のスキャン/画像を登録する必要がある。個々のスキャンが十分な品質でないため、個々のスキャン間で良好な登録を確立することが困難である場合がある。その結果、結果的に得られる平均化された画像は、最適ではない場合があり、例えば、曇り(haziness)および/またはぼやけが見られる場合がある。従って、真の平均化された画像が複数の画像の不良な登録の結果である場合、真の平均化された画像が必ずしも個々の画像よりも高品質であるとは限らないことがある。本発明はまた、個々の画像の登録を改善して、より高品質の真の平均化された画像を定義するために使用され得る。
【0034】
図7を参照すると、訓練された本NN25は、図2のワークフローと同様に、複数のスキャン/画像を平均化するためのワークフローに組み込まれ得る。例えば、本ワークフローは、データ収集から開始され、サンプルの同じ領域の複数のOCT/OCTAスキャンI-1~I-qが収集される。任意選択的に、複数のスキャンI-1~I-qは、en face画像、Bスキャン、キューブスキャンなどであり得る。いずれにしても、入力スキャンI-1~I-qは、訓練されたニューラルネットワーク25(例えば、図1および図25図28のニューラルネットワークのいずれか、または組み合わせに基づく)に提供され、ニューラルネットワーク25は、各入力画像I-1~I-qに対して別個のおよび対応する変換された画像A-1~A-qを生成する。変換された各画像A-1~A-qは、対応する入力画像I-1~I-qよりも高品質の画像であり得、これにより、画像登録ブロック17によるそれらの登録(例えば、整列)が容易になる。画像の登録が良好となるため、平均化の結果が、図2を参照して前述したように、元のスキャンI-1~I-qを直接平均化した場合よりも良好となる。任意選択的に、ニューラルネットワーク25からの出力画像A-1~A-qは、画像登録ブロック17に提供される前に、画像前処理プロセッサブロック15に提供されてもよく、このブロックは、当該技術分野で既知の複数の画像登録技術のうちの少なくとも1つを適用して、画像登録設定(例えば、登録パラメータまたは変換パラメータ)を生成する。ニューラルネットワーク25から出力される画像A-1~A-qは、元の画像I-1~I-qよりも高品質であるため、画像登録ブロック17は、より良好な登録を提供することができ、従って、画像平均化モジュール19は、より高品質の真の平均化された画像45を提供することができる。即ち、平均化モジュール19は、変換された画像A-1~A-qを共に平均化し得る。代替的に、変換された画像A-1~A-qと入力画像I-1~I-qとの間には1対1の対応関係があるので、点線47で示されるように、画像A-1~A-qへの登録パラメータを使用して入力画像I-1~I-qを登録(例えば、画像整列)するように、個々の画像A-1~A-qに対して画像登録モジュール17によって生成された登録パラメータ/変換パラメータを、個別に対応する入力画像I-1~I-qに適用してもよい。このようにして、登録された(例えば、整列された)入力画像I-1~I-qは、画像平均化モジュール19によって平均化されて、入力画像I-1~I-qの真の平均化された画像が生成され得る。任意選択的に、平均化された画像45が登録された画像A-1~A-qの平均化の結果であるか、入力画像I-1~I-qの平均化の結果であるか、または両方の組み合わせであるかに関係なく、平均化された画像45を新たな訓練サンプルペアを生成するために任意選択的に使用することができ、その訓練サンプルペアは、次に、追加の訓練を提供するためにニューラルネットワーク25に提供されるか、または別のニューラルネットワークを訓練するために使用されるか、またはさらなる処理のために使用され得る。
【0035】
上記の実施形態では、本画像変換ニューラルネットワークは、対応する入力画像と出力画像のペアで訓練される。例えば、ニューラルネットワークを訓練して平均シミュレーション画像を作成するには、眼の同じ領域の複数のOCT/OCTAスキャンが取得され、互いに登録/整列され、共に平均化される。これにより、複数のスキャンの各々がそれに対応する真の平均化された画像とペアリングされている複数の訓練サンプルペアが作成される。従って、本ネットワークは、単一入力画像の画像スタイルを、異なる画像条件または異なるイメージングモダリティ(例えば、平均シミュレーション画像またはAOシミュレーション画像)の画像の画像スタイル/特性に変換するために必要な重みを学習する。真の平均化されたOCT画像(または真のAO-OCT画像)を使用することで、ネットワークは、補助的な画像特性を探求する平滑化手法またはコヒーレンスベースの手法ではなく、実際の画像特性から学習することになる。
【0036】
深層学習ネットワークは、非常に大きなデータセットから恩恵を受ける。任意選択的に、訓練画像のより小さなパッチでネットワークを訓練するためにパッチ適用ベースの技法を使用することにより、訓練サンプルペアの数を増加させることができる。
【0037】
図8は、対応する画像パッチのペアを使用してニューラルネットワークを訓練するための本発明によるパッチ適用ベースの技法を示す。フルサイズの単一画像S1S3と、対応するフルサイズの真の平均化された画像Avg1が表示されている。例えば、フルサイズの画像S1S3は、上記で説明したように、真の平均化された画像Avg1を定義するために共に平均化される一組の画像の一部であり得る。フルサイズの画像は訓練に使用され得るが、各訓練ペアにおける画像は、任意選択的に、複数の同様のサイズの対応する画像セグメント(例えば、パッチ)に分割され得る。例えば、フルサイズの画像S1S3は、25個のパッチ(S1S3P1~S1S3P25)の第1のパッチグループS1S3PGに分割され得、フルサイズの真の平均化された画像Avg1は、同様に、25個のパッチ(Avg1P1~Avg1P25)の第2のパッチグループAvg1PGに分割され得る。この例では、パッチグループS2S3PGの一番上の最初の行のパッチにS1S3P1からS1S3P5まで、最後の行のパッチに同様にS1S3P21からS1S3P25まで、5行においてパッチに連続して番号が付されている。フルサイズ画像S1S3およびAvg1は、64×64タイル/パッチまたは他の任意の数のパッチなど、任意の数の対応するパッチに分割され得ることを理解されたい。いずれにしても、パッチグループS1S3PGにおける各パッチは、第2のグループAvg1PGにおけるパッチと対応関係にあり、対応するパッチの各ペアは、個別の訓練ペアを定義することができる。説明のために、対応するパッチの3つの訓練ペア(TP1’、TP2’、およびTP3’)が示されている。この例では、訓練ペアTP1’は、訓練入力としてのパッチS1S37と、訓練ターゲット出力としての対応するパッチAvgP7とで構成されている。同様に、訓練ペアTP2’は、訓練入力パッチS1S3P17と訓練ターゲット出力パッチAvg1P17とで構成され、訓練ペアTP3’は、訓練入力パッチS1S3P19と訓練出力パッチAvg1P19とで構成されている。このようにして、ニューラルネットワークは、シングルスキャンからのパッチのペアと、真の平均化されたスキャン(または真のAO-OCTスキャン)からの対応するパッチで訓練することができる。
【0038】
図9は、本発明によるニューラルネットワークを訓練するための対応するパッチのペアの使用を示す。各フルサイズの単一画像/スキャンS1S1~S1Snは、複数のパッチ(例えば、P1~P25)に分割され、それらの対応する真の平均化された画像Avg1は、同様の数の同様のサイズのパッチに分割される。各単一画像/スキャンからの個別のパッチは、平均化された画像からのそれらに対応するパッチとペアリングされ、訓練パッチペアが定義される。例えば、各サンプル画像(S1S1~S1Sn)の左上のパッチ(S1S1P1~S1SnP1)は、平均化された画像Avg1の左上のパッチAvg1P1とペアリングされる。このようにして、ニューラルネットワーク31は、フルサイズスキャンからのパッチの多数のペアと、フルサイズの真の平均化されたスキャンからの対応するパッチで訓練される。これにより、ネットワークの重みは、単一の画像パッチの画像スタイルを単一の平均化された画像パッチの画像スタイル/特性に移行させることを学習する。
【0039】
図10は、本発明による画像パッチのペアで訓練されたニューラルネットワークの動作を示す。処理中、または推定および/またはテスト中に、テスト入力画像(またはライブ画像)Live_1は、(ニューラルネットワーク31の訓練に使用されるのと同様の数およびサイズの)入力パッチP_inのグループに分解され、各個別のパッチがニューラルネットワーク31を介して処理され、変換された出力画像パッチP_outの対応するグループが生成される。次に、生成されたパッチのグループP_outをシームレスに再構築(例えば、モンタージュ)して、単一の出力画像Out_1が形成され得る。
【0040】
上記したように、単一の入力画像を平均シミュレーション画像に変換する本実施形態は、第1のモダリティの入力OCT/OCTA画像を、第2の異なるモダリティのOCT/OCTA画像の特性を有する出力OCT/OCTA画像に変換するように拡張することができる。これは、異なるモダリティの2つのOCT/OCTAシステムを使用して眼の同じ領域の複数のOCT/OCTAスキャンを取得し、スキャンを登録し、登録されたスキャンでニューラルネットワークを訓練することによって実現することができる。例えば、一方のOCT/OCTAシステムはSS-OCTであり、他方のOCT/OCTAシステムはAO-OCTであり得る。この場合、SS-OCTおよびAO-OCTスキャン/画像を共に登録し、対応する画像をペアリングして、訓練セット(例えば、SS-OCTシステムからの訓練入力画像およびAO-OCT画像からの対応するターゲット訓練出力画像)を定義することができる。2つのOCT/OCTAモダリティによって生成された画像/スキャンのサイズが異なる場合、任意選択的に、それらを同様のサイズのパッチに分割して、上記と同様の方法でパッチの訓練ペアセットを定義するようにしてもよい。
【0041】
図11は、本発明によるAO-OCTシステム65によって生成された一組の個々のAO-OCT画像67を使用してニューラルネットワークを訓練することを示す。図示されるように、SS-OCTシステム61は、AO-OCTシステム65によって生成される個別の画像よりも一般的に大きいスキャン/画像63を生成する。この例では、AO-OCTシステム65は、SS-OCT61からの単一の画像/スキャン63によってカバーされる同じ領域に及ぶようにするために、複数の画像/スキャンのセット67をキャプチャする必要がある。この場合、SS-OCT61からの単一の画像63は、AO-OCTシステム65の画像セット67と同様のサイズで、それに対応する画像パッチ69のグループに分割され得る。代替的に、画像のセット67は、さらに小さなパッチに分割され得、単一の画像/スキャン63は、画像のセット67から導出されたより小さなパッチに一致し、かつ対応するより小さなパッチサイズに分割され得る。いずれにしても、SS-OCTユニット61からの各画像パッチと、それに対応するAO-OCT画像/パッチとをペアリングして、訓練サンプルペアを定義してもよく、SS-OCT画像パッチは、訓練のためのニューラルネットワークへの入力であり、対応するAO-OCT画像/スキャンは、ニューラルネットワークを訓練するためのターゲット出力である。説明のために、対応するパッチ/画像の3つの訓練ペア(TP1”、TP2”、およびTP3”)が示されている。次に、訓練ペアを使用して、以下で説明するようにニューラルネットワークを訓練することができる。
【0042】
図12は、AO-OCTの特性を有する画像/スキャンを出力するように訓練されたニューラルネットワークの動作を示す。処理段階(または評価段階/テスト段階)の間に、入力スキャン71(SS-OCTシステムからのスキャンなど)が収集され、図11を参照して上記で説明したように、ニューラルネットワーク31を訓練するために使用されるパッチ/画像と好ましくは同様のサイズの画像パッチ73のグループに分割される。訓練されたニューラルネットワーク31は、画像パッチ73を受信し、各パッチを、AO-OCTシステムからのスキャンの特性を有する対応する出力パッチ(例えば、それは、AO-OCTシステムを模倣する)に変換する。ニューラルネットワーク31は、それによって、出力パッチ75のグループを生成し、これらのパッチは、再構成モジュール77によってモンタージュされて、AOシミュレーション画像79(例えば、AO-OCTシステムによって生成された大規模スキャンに類似する画像)を出力する。
【0043】
推定/テスト/処理中に、本発明に従って訓練されたニューラルネットワークアーキテクチャは、入力として個々のスキャンを取得し、より高品質の画像の特徴を有する出力画像を予測する。例えば、出力画像は、真の平均化された画像または真のAO-OCT画像を模倣し得る。この手法を使用した実験結果は、入力として表面的なスキャン(例えば、en face画像)を使用すると、真の平均化された画像に非常に近く類似した出力が生成されることを示している。本MLモデルは、ドロップアウトおよび/またはジッターなどの不要な特性が減少した出力画像であって、架空の構造の作成を排除または最小限に抑えながら、血管構造の接続性および減少したノイズアーティファクトを含む画像品質が向上した出力画像を生成することができる。本質的に、本深層学習NNは、従来の画像強調技術では不可能な血管の構造の暗黙の理解(implicit understanding)を学習する。
【0044】
例えば、図13Aおよび図13Bは、真の平均化された画像81を、本発明に従って訓練されたニューラルネットワーク95で生成された平均シミュレーション画像91と比較したものである。図13Aでは、8個の個別のスキャン83-1~83-8が平均化モジュール(例えば、図2のものと同様)によって平均化されて、真の平均化された画像81が生成される。同様に、訓練されたニューラルネットワーク95は、(画像83-1~83-8には含まれない)単一の入力画像93を受信し、平均シミュレーション画像91を予測する。図示されるように、平均シミュレーション画像91は、血管構造の接続性を改善し、ジッターを低減し、人工的な血管構造を導入することなく、真の平均化された画像81に非常に類似している。
【0045】
図14は、6mmの入力画像/スキャン201が訓練されたニューラルネットワーク95に提供されて、6mmの平均シミュレーション画像203を生成する、本発明の別の応用例を示す。この場合も、平均シミュレーション画像203は、架空の神経構造を導入することなく、画像201のより高品質な表現を提供する。即ち、平均シミュレーション画像203は、入力画像201に見られない新たな(例えば、架空の)血管系構造を導入することなく、入力画像201の血管系におけるギャップを接続する。平均シミュレーション画像203は、さらに、入力画像201の対応する血管系と比較して、血管系の厚さ/サイズの一貫性を維持している。
【0046】
例えば、図15は、真の平均化された画像および/またはパッチで訓練されたNN MLモデルに入力される眼科(例えば、en face)画像206の例を示す。円C1および円C2は、入力画像206におけるジッターの領域を示す。図16は、図15の入力画像208の受信に応答して、訓練されたNN MLモデルによって生成された結果の平均シミュレーション画像208を示す。図16の円C1’および円C2’の領域は、図15の円C1および円C2の領域に対応している。明らかなように、図16の出力画像208は、ジッターおよびノイズを除去して血管を強調している。
【0047】
図17Aおよび図17Bは、現在訓練されているNNモデルが血管の構造を学習することを示す。図17Aは、個々の画像のグループから作成された真の平均化された画像を示しているが、そのうちの少なくとも1つは低品質であり、個々の画像の登録を妨げている。例えば、画像/スキャンの1つは、en face画像であり得、このen face画像は、en face画像が作成されたBスキャンにおける登録エラーによる不連続性を含んでいる。このように登録が良好に行われないと、平均化に支障をきたし、真の平均化された画像がぼやけてしまう場合がある。図17Bは、図17Aの真の平均化された画像の作成に使用された個別の画像の1つを、現在訓練されているNNに入力した結果を示す。図示されているように、本深層ネットワークは、血管ネットワーク構造を維持し、図17Aにおいて明らかなぼやけを導入することなく維持しようとしている。
【0048】
従って、低品質のスキャンの場合、本NN MLモデルは、真の平均化された画像の構築から得られる画像よりも優れた画像を作成することができる。さらに、本発明で達成可能な画像品質(例えば、血管の連続性、ノイズレベル)は、個々のスキャンの画像品質よりも優れており、より良好な視覚化を提供することができる。また、前述したように、密度計算および平均化のハイブリッド技法などの下流のタスクのためのより良好な入力を形成する。
【0049】
本NNは、NNが訓練中にさらされた例に基づいて、血管の連続性を維持することを学習する。いくつかの病状は、異常な厚さ/サイズの血管を含む異常な血管構造をもたらし得ることが理解されると思われる。本NNMLモデルがこのような異常を視覚化する能力を向上させるためには、訓練に様々なタイプの病変血管のスキャン/画像の例を含ませることが有益であり得る。例えば、高血圧性網膜症、微小動脈瘤、および網膜静脈閉塞症(RVO)に起因する血管構造のスキャン/画像を、本ニューラルネットワークを訓練するために使用される訓練セットに含ませることができる。この場合、これらの例に疾患のラベルを付ける必要はなく、むしろ、正常な血管から疾患のある血管までの様々な真の血管構造でニューラルネットワークを訓練するために、それらを単に訓練セットに含ませるだけでよい。
【0050】
一例として、図18は、疾患のある眼の画像212を訓練されたニューラルネットワーク95に入力した結果を示す。図示されるように、出力画像214は、架空の構造を導入することなく、血管の視覚化を向上させる。
【0051】
ノイズ低減
図1のものを含む、本明細書で説明される様々なニューラルネットワークアーキテクチャは、他の用途に拡張され得る。例えば、本ニューラルネットワークアーキテクチャを使用して、ニューラルネットワーク(NN)機械学習(ML)モデルを訓練して、A-スキャン、B-スキャン、キューブスキャン、およびen face画像などのOCT/OCTAスキャン/画像のノイズを低減する(例えば、ノイズ除去する)ことができる。従来、個々のOCTスキャンの改善には、テスト機器(例えば、使用されている特定のOCTシステム)における信号対雑音(SNR)比を改善すること、個々のOCTスキャン(例えば、Bスキャン)をモーショントラッキングに使用される対応するラインスキャン型検眼鏡(LSO)画像(通常、最近取得されたもの)に登録すること、およびスキャンを後処理して、OCTスキャンの取得と同時に実質的にキャプチャされていたLSO画像にスキャンを登録することが含まれる。ノイズを低減するためのソフトウェアベースの方法も既知である。これらの方法は、典型的に、「クリーンな」画像の存在と既知のノイズ分布を前提とする「超解像」技術に焦点を当てたものである。
【0052】
ニューラルネットワークは、画像のノイズ除去にも使用されている。一般的に、画像のノイズを除去するためにニューラルネットワークを訓練する場合、元の画像(例えば、例示的なターゲット訓練出力画像)を取得し、当該技術分野で知られている様々なノイズ付加フィルタを使用して、特定のタイプのノイズ(例えば、既知のノイズ分布)を元の画像に付加して、人工的にノイズの多い訓練入力サンプルを作成する。次に、これらの人工的に作成されたノイズの多い訓練入力サンプルは、(それらが作成された)元の画像とペアリングされて訓練ペアを形成する。このように作成された、人工的にノイズの多いサンプルは、ニューラルネットワークへの訓練入力として使用され、元の画像はニューラルネットワークのターゲット訓練出力として使用される。この手法の例は、デバラ エス.ケイ.(Devalla、S.K.et al.)他による視神経乳頭の光干渉断層撮影画像のノイズ除去のための深層学習手法(A Deep Learning Approach to Denoise Optical Coherence Tomography Images of the Optic Nerve Head)、arXiv:1809.10589[cs.CV]に記載されており、ニューラルネットワークを使用して特定の既知の種類のノイズでOCTスキャンのノイズを除去することの実現可能性を検討している。デバラは、ニューラルネットワークの訓練に使用されたのと同じ人工的にノイズの多いサンプルの中から、テストサンプルとして使用されるサンプルを選択することにより、訓練されたニューラルネットワークの有効性をテストしている。これらのテストサンプルは、訓練されたニューラルネットワークに提供され、除去するように訓練された特定のタイプの人工ノイズを除去するためのニューラルネットワークの能力を決定する。
【0053】
この手法とは対照的に、本ニューラルネットワークは、真の(即ち、人工的にノイズのない)画像の集合で訓練され、訓練された本ニューラルネットワークの性能を評価するために、ライブ画像(即ち、ニューラルネットワークの訓練で使用された画像ではないもの)を使用する。さらに、本ニューラルネットワークを訓練するために、元のクリーンなサンプルは必要ない。
【0054】
個別のOCTAスキャンおよび関連するen face画像は一般的にノイズが多い。ノイズは、画像品質と血管系密度などの定量化結果に直接影響する。上記で説明したように、深層学習は、データを処理するための機械学習モデルを開発するための手法であり、画像処理の問題に関する最先端の結果を生み出してきた。本明細書で説明されるニューラルネットワークアーキテクチャのいずれかを本発明で使用することができるが、図1のNNアーキテクチャは、OCTスキャン/画像(例えば、Bスキャン、en face画像など)をノイズ除去するためのカスタム深層学習フレームワークとして本明細書で例示的に使用される。これは、一般的にノイズの多い画像であるOCTスキャン/画像の真の(任意選択的に、ランダムな、かつ/または生の(例えば、前処理なしの))ペアを訓練サンプルペアとして本ニューラルネットワークに提供することによって実現される。パッチ適用ベースの技法を使用して、訓練セットのサイズを増加させることもできることが理解されるものと思われる。任意選択的に、訓練画像のペアは、対象(例えば、眼)の同じ領域のものであり得るが、訓練画像のペアは、任意選択的に、異なる領域からのものであり得る。さらに、本ニューラルネットワークの訓練のためにクリーンな画像の「先行」例は使用されていない。従って、本ニューラルネットワークMLモデルは、追加の「先行例」、例えば、グラウンドトゥルースの例(平均化された画像またはクリーニングされた画像または高品質の画像など)または事前定義されたノイズ分布を有する画像を見ることなく、OCTスキャン/画像をノイズ除去するために学習する。これにより、ノイズの統計がデータによって完全に記述されるようにすることができる。従って、本NN MLは、訓練ペアのサンプルの収集を簡素化しながら、未発見のノイズ特性のノイズを除去して、大幅に向上した画像品質を実現することを学習する。
【0055】
図19は、本発明によるOCTスキャン/画像のノイズを除去するためのニューラルネットワークの訓練を示す。深層学習を使用してen face/Bスキャン画像を処理する上で最も難しい部分は、訓練セットで使用するためのグラウンドトゥルース(例えば、高品質で元の状態)、ターゲット出力画像(例えば、「先行例」)を取得することである。上記で説明したように、真の平均化された画像をグラウンドトゥルースの訓練の出力サンプルとして使用することも、その他の関連する「クリーンな」画像を使用することもできる。これらの「先行例」は、超解像の手段として使用することができる。別の手法は、ノイズ特性を定義し、既知のノイズ特性を有するサンプル画像を意図的に劣化させ、劣化した画像を訓練入力画像として使用し、元のサンプル画像を「クリーンな」訓練出力画像として使用するということである。現在の好ましい実施形態は、(ノイズおよびデータの両方に対して)先行例を使用する必要性を回避することによって、これらの技術を上回る重要な利点を提供する。これは、スペックルノイズの定量化が困難であるOCT画像での使用に特に有利である。本ニューラルネットワーク(任意選択的に、畳み込みニューラルネットワーク)97は、生の入力画像のペアのみを見て、OCT Bスキャンおよび/またはen face画像をノイズ除去するように訓練される(例えば、同じ領域からの画像の各ペアにおける画像の一方を訓練入力サンプルとしてランダムに割り当て、ペアにおける他方の画像を訓練出力サンプルとして割り当てる)。即ち、訓練の「先行例」を定義するために、最適な画像を選択したり、生画像をクリーニング/前処理するための特別なプロセスは必要はなく、また使用されることがない。Bスキャンをノイズ除去するためのニューラルネットワーク97の訓練には、Bスキャン92のペアが訓練用に使用され、en face画像をノイズ除去するためのニューラルネットワーク97の訓練には、en face画像のペア94が訓練用に使用される。このように、処理において、ニューラルネットワーク97にライブBスキャンまたはライブen face画像が入力されると、ニューラルネットワーク97は、ノイズ除去されたBスキャン96またはノイズ除去されたen face画像98をそれぞれ生成する。例えば、訓練段階において、畳み込みニューラルネットワーク97は、同じスキャン(例えば、血管造影画像または真の平均化された画像を定義するために使用されるのと同様の方法で同じ領域の複数のスキャン)からの画像のペア、または同じ眼の同じ領域からの登録されたen face画像からの画像のペアで訓練されてもよい。テスト段階または処理段階の間、ニューラルネットワーク97によって以前に確認されなかった単一のBスキャン(またはen face画像)がニューラルネットワーク97への入力として提供されてもよく、ニューラルネットワーク97は、ノイズ除去された出力(必要に応じて、Bスキャン96またはen face画像98)を予測する。
【0056】
訓練のためにBスキャンまたはen face画像を収集する場合、収集されたスキャン/画像の任意のものを訓練ペアにおける訓練入力サンプルまたは訓練出力サンプルとして使用することができる。例えば、訓練サンプルペア92または94を定義する場合、複数のBスキャンまたはen face画像は、眼のランダムな領域からの生画像であり得る。しかしながら、訓練ペアは、眼の実質的に同じ領域のスキャン/画像から構築され得る。任意選択的に、訓練ペアが異なる品質の画像の混合を含むように、様々な品質のスキャン/画像を生成するようにOCTシステムが構成されてもよい(例えば、SNRを低くしてもよく、および/または選択画像処理を省略してもよく、および/またはモーショントラッキングを低減または排除してもよい)。さらに、本訓練方法は、全く同じ物体構造でありながらスペックルが異なる(例えば、光の偏光または角度を変更することによる)スキャン/画像を記録することを含み得る。従って、ニューラルネットワーク97は、生画像のみを使用し、特別な先行例を使用しないで(例えば、空間平均化なしで)画像をノイズ除去し、Bスキャンおよび/またはen face画像をノイズ除去することを学習する。
【0057】
図20は、(本発明による)訓練されたニューラルネットワーク97に使用される例示的なライブ入力en face画像221、および結果として生じるノイズ除去されたen face画像223を示す。図21Aおよび図21Bは、ニューラルネットワーク97を訓練するために使用されるライブBスキャン入力225/227およびそれらの個々に出力されたノイズ除去されたBスキャン226/228の2つの別個の例を示す。図20および図21から明らかなように、本NN機械学習モデルは、大幅なノイズ除去を提供する。
【0058】
例示的な光干渉断層撮影(OCT)システム
図22には、本発明との使用に適した眼の3D画像データ収集用の一般型周波数領域光干渉断層撮影(FD-OCT)システムが図解されている。FD-OCTシステム100は、光源101を含む。典型的な光源には、時間コヒーレンス長が短い広帯域光源、又は掃引レーザー源が含まれるがこれらに限定されない。光源101からの光のビームは、典型的に光ファイバ105によってサンプル110を照明するように誘導され、典型的なサンプルは人間の眼内組織である。光源101は、スペクトル領域OCT(SD-OCT)の場合の短い時間コヒーレンス長の広帯域光源か、掃引光源OCT(SS-OCT)の場合の波長調整可能レーザー源の何れかとすることができる。光は、典型的には光ファイバ105の出力とサンプル110との間のスキャナ107でスキャンされ、それによって光のビーム(破線108)はサンプルの画像撮影対象領域を横方向に(x及びyに)スキャンされる。フルフィールドOCTの場合、スキャナは不要であり、光は一度に所望の視野(FOV)全体に当てられる。サンプルから散乱した光は、典型的に照明用の光を案内するために使用されるものと同じ光ファイバ105へと集光される。同じ源101から派生する参照光は別の経路に沿って移動し、この場合、これには光ファイバ103及び調整可能な光学遅延を有する逆反射板104が含まれる。透過性参照経路も使用でき、調整可能遅延はサンプル又は干渉計の参照アームの中に設置できることは、当業者であれば理解されると思われる。集光されたサンプル光は、典型的にファイバカプラ102において参照光と結合され、OCT光検出器120内の光干渉を形成する。1つのファイバポートが検出器120に到達するように示されているが、干渉信号のバランス又はアンバランス検出のために様々な設計の干渉計を使用できることは、当業者であれば理解されるものと思われる。検出器120からの出力は、プロセッサ121(例えば、コンピューティングデバイス)に供給され、それが観察された干渉をサンプルの深さ情報へと変換する。深さ情報は、プロセッサ121に関連付けられるメモリ内に保存され、及び/又はディスプレイ122に表示されてよい。処理及び保存機能はOCT機器内に配置されてよく、又は機能は収集されたデータが転送される外部処理ユニット(例えば、図29に示されるコンピュータシステム)上で実行されてもよい。このユニットは、データ処理専用とすることも、又はごく一般的で、OCTデバイス装置に専用ではないその他のタスクを実行することもできる。プロセッサ121は例えば、ホストプロセッサに供給される前に、又は並行してデータ処理ステップの一部又は全部を実行するフィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、特定用途集積回路(ASIC)、グラフィクス処理ユニット(GPU)、システムオンチップ(SoC)、中央処理ユニット(CPU)、汎用グラフィクス処理ユニット(GPGPU)、又はそれらの組合せを含んでいてよい。
【0059】
サンプルと干渉計内の参照アームは、バルク光学系、ファイバ光学系、又はハイブリッドバルク光学システムで構成でき、また、当業者の間で知られているように、マイケルソン、マッハ・ツェンダ、又は共通光路系設計等、異なるアーキテクチャを有することができる。光ビームとは、本明細書において使用されるかぎり、慎重に方向付けられるあらゆる光路と解釈されるべきである。ビームを機械的にスキャンする代わりに、光の場が網膜の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システムにも、又はその他の種類の眼科診断システム及び/又は、眼底イメージングシステム、視野試験装置、及び走査型レーザー偏光計を含むがこれらに限定されない複数の眼科診断システムにも適用できる。
【0060】
フーリエドメイン光干渉断層撮影法(FD-OCT)において、各測定値は実数値スペクトル制御干渉図形(Sj(k))である。実数値スペクトルデータには典型的に、背景除去、分散補正等を含む幾つかの後処理ステップが行われる。処理された干渉図形のフーリエ変換によって、複素OCT信号出力Aj(z)=|Aj|eiφが得られる。この複素OCT信号の絶対値、|Aj|から、異なる経路長での散乱強度、したがってサンプル内の深さ(z-方向)に関する散乱のプロファイルが明らかとなる。同様に、位相φjもまた、複素OCT信号から抽出できる。深さに関する手散乱のプロファイルは、軸方向スキャン(A-スキャン)と呼ばれる。サンプル内の隣接する位置において測定されたA-スキャンの集合により、サンプルの断面画像(断層画像又はB-スキャン)が生成される。サンプル上の横方向の異なる位置で収集されたBスキャンの集合が、データボリューム又はキューブを構成する。特定のデータボリュームについて、速い軸とは1つのB-スキャンに沿ったスキャン方向を指し、遅い軸とは、それに沿って複数のB-スキャンが収集される軸を指す。「クラスタスキャン」という用語は、血流を識別するために使用されてよいモーションコントラストを解析するために、同じ(又は実質的に同じ)位置(又は領域)での反復的取得により生成されるデータの1つのユニット又はブロックを指してよい。クラスタスキャンは、サンプル上のほぼ同じ位置において比較的短い時間間隔で収集された複数のA-スキャン又はB-スキャンで構成できる。クラスタスキャンのスキャンは同じ領域のものであるため、静止構造はクラスタスキャン中のスキャン間で比較的変化しないままであるのに対し、所定の基準を満たすスキャン間のモーションコントラストは血液流として識別されてよい。B-スキャンを生成するための様々な方法が当業界で知られており、これには、水平又はx方向に沿ったもの、垂直又はy方向に沿ったもの、x及びyの対角線に沿ったもの、又は円形若しくは螺旋パターンのものが含まれるがこれらに限定されない。B-スキャンは、x-z次元内であってよいが、z次元を含む何れの断面画像であってもよい。
【0061】
OCT血管造影法又は関数型OCTにおいて、解析アルゴリズムは、動き又は流れを解析するために、サンプル上の同じ、又はほぼ同じサンプル位置において異なる時間に収集された(例えば、クラスタスキャン)OCTデータに適用されてよい(例えば、米国特許出願公開第2005/0171438号明細書、同第2012/0307014号明細書、同第2010/0027857号明細書、同第2012/0277579号明細書、及び米国特許第6,549,801号明細書を参照されたく、これらの全ての全体を参照によって本願に援用する)。OCTシステムでは、血流を識別するために多くのOCT血管造影法処理アルゴリズム(例えば、モーションコントラストアルゴリズム)のうちの何れの1つを使用してもよい。例えば、モーションコントラストアルゴリズムは、画像データから導出される強度情報(強度に基づくアルゴリズム)、画像データからの位相情報(位相に基づくアルゴリズム)、又は複素画像データ(複素に基づくアルゴリズム)に適用できる。en face画像は3D OCTデータの2D投射である(例えば、個々のA-スキャンの各々の強度を平均することにより、これによって、各A-スキャンが2D投射内のピクセルを画定する)。同様に、en face脈管画像は、モーションコントラスト信号を表示する画像であり、その中で深さに対応するデータディメンション(例えば、A-スキャンに沿ったz方向)は、典型的にはデータの全部又は隔離部分を加算又は集積することによって、1つの代表値(例えば、2D投射画像内のピクセル)として表示される(例えば、米国特許第7,301,644号明細書を参照されたく、その全体を参照によって本願に援用する)。血管造影機能を提供するOCTシステムは、OCT血管造影(OCTA)システムと呼ばれてよい。
【0062】
図23は、en face脈管構造画像130の例を示す。データを処理し、当業界で知られるモーションコントラスト法の何れかを用いてモーションコントラストをハイライトした後に、網膜の内境界膜(ILM:internal limiting membrane)の表面からのある組織深さに対応するピクセル範囲を加算して、その脈管構造のen face(例えば、正面図)画像130が生成されてよい。
【0063】
本明細書で説明されるOCTシステムは、2D(即ち、断面)画像、en face画像、3D画像、健康状態に関連する測定基準(metrics)などを提供することができる。このシステムは、他のシステムと共に使用することができる。例えば、OCTシステムは、診断または治療の目的で、外科システムまたは外科顕微鏡システムと共に使用することができる。OCTシステムは、任意のサンプルを分析するために使用することができる。例えば、OCTシステムは、あらゆる種類の生命体および無生物の分析(例えば、画像の形成)において使用することができる。生命体の例としては、動物、植物、細胞などがあり得る。
【0064】
OCTおよびOCTAは非常に良好な画像を提供することができるが、それでも画像アーティファクトの影響を受けやすく、臨床医が画像を確認する際の信頼性に影響を与える可能性がある。例えば、臨床医が画像アーティファクトを実際の物理的な構造物と混同する可能性がある。従って、画像アーティファクトは、架空の構造を導入したり、実際の物理的構造を不明瞭にしたりする可能性があり、いずれも画像の診断効果を低下させ得る。従って、収集されたスキャン画像の画像品質を向上させるための方法を提供することは有益である。画像の品質を向上させ、一部の画像アーティファクトを除去する方法の1つとして、標本の同じ領域の複数(例えば、4~10)の画像/スキャンを収集し、収集された画像における共通の特徴を識別し、識別された共通の特徴に基づいて収集された画像を共に登録(例えば、整列)し、登録された画像を平均化することが挙げられる。実際の構造物は、収集された全ての画像の同じような場所に存在する可能性があるが、同じ画像アーティファクトが全ての画像の同じ場所に存在する可能性は低いため、収集された画像を平均化することで、一部の画像アーティファクトの視認性が低下して、実際の構造物の存在を強化するという効果がある。しかしながら、この手法にはいくつかの問題がある。例えば、多数の画像(4~10など)を収集すると、必要な画像を取得するのに必要な時間が大幅に長くなり、患者の快適性および眼球運動による潜在的なエラーの問題が発生する可能性がある。第二に、エラーの可能性が高まると、画像アーティファクトが増加し、収集された画像内の共通の特徴の識別および登録が複雑になる可能性がある。即ち、平均化のために収集する画像が多いほど、良好な平均化された画像を取得するのが困難となる。各クラスタ画像は複数の個別のスキャンで構成されているため、クラスタ画像を平均化しようとすると、これらの問題はさらに大きくなる。
【0065】
例示的な補償光学光干渉断層撮影(AO-OCT)システム
改良された画像(例えば、OCTまたはOCTA画像)を生成するための別の手法は、補償光学を使用することである。眼の光学系とそれらの配列は完全ではないため、眼に入る(または出る)光ビームが所望の経路から逸脱することになる。これらの偏差(例えば、光学収差)は、眼科イメージングシステムによって撮影された画像をぼかす可能性がある。補償光学(AO)は、光学収差の影響を低減することにより、光学系の性能を向上させる。例えば、補償光学をOCT/OCTAと組み合わせて、画像品質が向上したAO-OCTシステムを形成することができる。
【0066】
図24は、AOサブシステムおよびOCT/OCTAサブシステムから構成される例示的なAO-OCTシステム200を示す。図22の構成要素と同様のOCT/OCTAサブシステムの全ての構成要素は、同様の参照番号を有しており、上記で説明されている。この例では、OCT/OCTAサブシステムは、OCT光源101を含み、その光ビーム(破線として図示される)は、反射器(例えば、ミラー)111によってビームスプリッタ202に向かって折り返され、ビームスプリッタ202は、光ビームを再帰反射器104を含む参照アーム上に、サンプル(例えば、眼)110につながるスキャナ107を含むサンプルアーム上に分割する。このようにして、OCT光源101からの光ビームは、イメージングされるべき眼101のターゲット領域上で横方向に(xおよびy方向)にスキャンされ得る。眼101から戻る収集されたサンプル光は、ビームスプリッタ202によって再帰反射器104から戻る参照光と組み合わされて、OCT光検出器120において光干渉が形成され、その出力は、プロセッサ121によって処理され、深度情報に変換される。前と同様に、深度情報は、プロセッサ121に関連付けられたメモリに格納され、かつ/またはディスプレイ122に表示され得る。
【0067】
AOサブシステムは、独自のAO光源201(例えば、レーザーまたはスーパールミネッセントダイオード、SLD)を有し得、その光ビーム(二点鎖線として図示される)は、反射器211によって、ビームスプリッタ202に向かってOCT光源101の光路上に折り返される。AO光源201からの光は、ビームスプリッタ202からOCTサブシステムと同じ光路をたどって眼110に至り、眼の光学系によって網膜上の一点に集束される。眼が完全な光学系である場合、眼から反射される波面は完全に平坦になるが、眼は完全ではないため、戻る波面は平坦ではなく、光学収差(例えば、不規則な湾曲形状)が発生する傾向にある。OAサブシステムはOCT/OCTAサブシステムと共通の光路を共有しているため、AOサブシステムは、OCT/OCTAサブシステムが眼をスキャンする前に、共有光路における光学収差を観察して補正することができる。
【0068】
眼から反射された戻りAO光は、ビームスプリッタ202を通って、収差を補償するように構成可能な変形可能ミラーなどの波面補正器205に進行する。共通の光路は、反射器207によって導かれるように、波面補正器205からビームスプリッタ209に向かって続いている。ビームスプリッタ209において、OCT/OCTAサブシステムおよびAOサブシステムの光路が分岐する。ビームスプリッタ209は、収集されたサンプル光(眼110からの)および参照光(再帰反射器104からの)をOCT光検出器120に渡し、戻りAO光を波面センサ210に折り返し、波面センサ210は、眼110からの光学収差を測定/モニタリングする。波面センサ210は、レンズレットアレイ215(例えば、微小なレンズのアレイ)およびAO光検出器213(例えば、光検出器)から構成され得る。
【0069】
レンズレットアレイ215は、レンズレット平面での波面形状が眼の瞳孔での波面形状と一致するように、眼の瞳孔の共役面にある。レンズレットアレイは、波面形状に応じてAO光検出器213上にスポット画像のアレイを生成する。プロセッサ121、または図示されていない別のコンピューティングシステムは、AOサブシステムの制御システムとして機能し、波面センサ210からの波面情報を検査して、波面補正器205の補正構成を決定することができる。完全な眼であれば、レンズレットアレイ215は、AO光検出器213上に完全に規則的なスポットのアレイを生成するが、光学収差は、これらのスポットを歪め、変位させる。観察されたスポット歪みおよび変位から、プロセッサ121は、眼110から現れる波面の形状を決定し、それによって、観察された収差を補正する(例えば、低減する)ために、波面補正器205の補償形状を決定することができる。即ち、眼110からの波面は、眼の波面収差を測定する波面センサ210によって受信され、プロセッサ121は、波面補正器205にその反射面を、観察された収差を補償するように計算された形状に構成するように制御信号を提供する。従って、波面補正器205、波面センサ210、およびプロセッサ121は、観察された光学収差が各フィードバックの反復ごとに低減される(例えば、少なくとも回折限界まで)フィードバックシステムを形成する。観察された光学収差が十分に低減されると(例えば、事前定義された閾値内に低減されると)、OCT/OCTAサブシステムが起動され、はるかに改善された解像度(例えば、横方向の解像度)で眼がスキャン(またはイメージング)される。
【0070】
要約すると、AOサブシステムは、共有光路の光学収差を識別して補正するものであり、網膜のイメージング/スキャン機能を提供するものではない。むしろ、AOサブシステムが共有光路の光学収差を補正した後、OCT/OCTAサブシステムが網膜のイメージング/スキャン機能を提供する。AO-OCTは、AOサブシステムの追加コストと複雑さの影響を受けるが、横方向の解像度の向上、スペックルサイズ(粒状アーティファクト)の低減、および弱い反射に対する感度の向上などの利益があり、その結果、網膜の微細構造の可視化および検出が向上され得る。AO-OCTシステムのもう1つの欠点は、AOサブシステムの特殊な光学系により、取得可能なスキャン/画像のサイズが、上記したように、従来のOCT/OCTAシステムで取得可能なサイズよりもはるかに小さいことである。従来のOCT/OCTAシステムと同等のサイズのAO-OCT画像を取得するには、異なる重複する場所で複数のAO-OCTスキャンをキャプチャして、共にモンタージュする必要があり、これにより、総スキャン時間が長くなる。さらに、AOサブシステムが光学収差を観察して補正するために必要な時間は、個々のOCT/OCTAスキャンシーケンスの時間の要件を増加させる。その結果、AO-OCTシステムは従来のOCT/OCTAシステムよりも複雑で低速であり、視野も非常に限られているため、商業的に成功したAO-OCTシステムの製造が困難なものとなっている。
【0071】
ニューラルネットワーク
ニューラルネットワーク、又はニューラルネットは、相互接続されたニューロンの(ノードを介した)ネットワークであり、各ニューロンはネットワーク内のノードを表す。ニューロンの集合は層状に配置されてよく、1つの層の出力は多層パーセプトロン(MLP)配置の中の次の層へと順方向に供給される。MLPは、入力データの集合を出力データの集合にマッピングするフィードフォワードニューラルネットワークと理解されてよい。
【0072】
図25は、多層パーセプトロン(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次元ベクトルとして示されている)を生成する。
【0073】
典型的に、各ニューロン(すなわちノード)は1つの出力を生成し、それがその直後の層のニューロンへと順方向に供給される。しかし、隠れ層内の各ニューロンは、入力層から、又はその直前の隠れ層内のニューロンの出力から、複数の入力を受け取るかもしれない。一般に、各ノードはその入力に関数を適用して、そのノードのための出力を生成してよい。隠れ層(例えば、学習層)内のノードは、それぞれの入力に同じ関数を適用して、それぞれの出力を生成してよい。しかしながら、幾つかのノード、例えば入力層InL内のノードは1つの入力しか受け取らず、受動的であってよく、これは、それらが単純にその1つの入力の値をその出力へと中継することを意味し、例えばこれらはその入力のコピーをその出力に提供し、これは説明のために入力層InLのノード内の破線矢印によって示されている。
【0074】
説明を目的として、図26は、入力層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モデルの演算、ニューラルネットの挙動は重みの値に依存し、これはニューラルネットワークがある入力のための所望の出力を提供するように学習されてよい。
【0075】
ニューラルネットは、訓練、又は学習段階中に、ある入力にとって望ましい出力を実現するための適当な重み値を学習する(例えば、それを特定するように訓練される)。ニューラルネットが訓練される前に、各重みは個々に初期の(例えば、ランダムな、任意選択的にゼロ以外の)値、例えば乱数シードに割り当てられてもよい。初期重みを割り当てる様々な方法が当業界で知られている。すると、重みは、ある訓練ベクトル入力について、ニューラルネットワークが所望の(所定の)訓練ベクトル出力に近い出力を生成するように訓練される(最適化される)。例えば、重みはバックプロパゲーションと呼ばれる方法によって、何千回もの繰返し(訓練)サイクルで徐々に調整されてよい。バックプロパゲーションの各サイクルで、訓練入力(例えば、ベクトル入力又は訓練入力画像/サンプル)はニューラルネットワークを通じてフォワードパスが行われて、その実際の出力(例えば、ベクトル出力)が提供される。その後、各出力ニューロン、又は出力ノードのエラー(例えば、訓練サイクルエラーまたは損失エラー)が、実際のニューロンの出力及びそのニューロンのための教師値訓練出力(例えば、現在の訓練入力画像/サンプルに対応する訓練出力画像/サンプル)に基づいて計算される。すると、それはニューラルネットワークを通じて逆方向に(出力層から入力層へと逆方向に)伝搬し、各重みが全体的エラーに対してどの程度の影響を有するかに基づいて重みが更新され、それによってニューラルネットワークの出力は所望の訓練出力に近付く。このサイクルはその後、ニューラルネットワークの実際の出力がその訓練入力のための所望の訓練出力の容認可能なエラー範囲内になるまで繰り返される。理解されるように、各訓練入力は、所望のエラー範囲を実現するまでに多くのバックプロパゲーションイテレーションを必要とするかもしれない。典型的に、エポックは全ての訓練サンプルの1つのバックプロパゲーションイテレーション(例えば、1回のフォワードパスと1回のバックワードパス)を指し、ニューラルネットワークの訓練には多くのエポックが必要かもしれない。一般に、訓練セットが大きいほど、訓練されるMLモデルのパフォーマンスは向上するため、各種のデータ拡張方法が、訓練セットのサイズを大きくするために使用されてよい。例えば、訓練セットが対応する訓練入力画像と訓練出力画像のペアを含む場合、訓練画像は複数の対応する画像セグメント(又はパッチ)に分割されてよい。訓練入力画像及び訓練出力画像からの対応するパッチがペアにされて、1つの入力/出力画像ペアから複数の訓練パッチペアが画定されてよく、それによって訓練セットが拡張される。しかしながら、大きい訓練セットを訓練することによって、コンピュータリソース、例えばメモリ及びデータ処理リソースへの要求が高まる。演算要求は、大きい訓練セットを複数のミニバッチに分割することによって軽減されるかもしれず、このミニバッチのサイズは1回のフォワード/バックワードパスにおける訓練サンプルの数が決まる。この場合、1つのエポックは複数のミニバッチを含んでいてよい。他の問題は、NNが訓練セットを過剰適合して、訓練入力から以前に未確認のライブ入力へと一般化するNNの能力が減少する可能性である。過剰適合の問題は、ニューラルネットワークのアンサンブルを作るか、又は訓練中にニューラルネットワーク内のノードをランダムにドロップアウトすることによって軽減されるかもしれず、これはドロップされたリードをニューラルネットワークから有効に除去する。インバースドロップアウト等、各種のドロップアウト調整方法が当業界で知られている。
【0076】
留意すべき点として、訓練済みのNN機械モデルの演算は、演算/解析ステップの単純なアルゴリズムではない。実際に、訓練済みのNN機械モデルが入力を受け取ると、その入力は従来の意味では解析されない。むしろ、入力の主旨や性質(例えば、ライブ画像/スキャンを画定するベクトル、又は人口構造的説明又は活動の記録等のその他何れかのエンティティを画定するベクトル)に関係なく、入力は、訓練済みニューラルネットワークの同じアーキテクチャ構築(例えば、同じノード/層配置、訓練済み重み及びバイアス値、所定の畳み込み/逆畳み込み演算、活性化関数、プーリング演算等)の対象となり、訓練済みネットワークのアーキテクチャ構築がその出力をどのように生成するかは明らかでないかもしれない。さらに、訓練された重みとバイアスの値は、決定的ではなく、そのニューラルネットワークに付与される訓練のための時間の量(例えば、訓練におけるエポック数)、訓練開始前の重みのランダムな開始値、NNがそこで訓練されるマシンのコンピュータアーキテクチャ、訓練サンプルの選択、複数のミニバッチ間の訓練サンプルの分布、活性化関数の選択、重みを変更するエラー関数の選択、さらには訓練が1つのマシン(例えば、第一のコンピュータアーキテクチャを有する)で中断され、他のマシン(例えば、異なるコンピュータアーキテクチャを有する)で完了したか等、多くの要素に依存する。ポイントは、訓練済みのMLモデルが特定の出力になぜ到達したかの理由は明白でなく、MLモデルがその出力の基礎とする要素を特定しようとする多くの研究が現在行われている、ということである。したがって、ライブデータに対するニューラルネットワークの処理は、単純なステップのアルゴリズムまで減少させることはできない。むしろ、その演算は、その訓練アーキテクチャ、訓練サンプルセット、訓練シーケンス、及びMLモデルの訓練における様々な状況に依存する。
【0077】
概略すると、NN機械学習モデルの構成は、学習(又は訓練)ステージと分類(又は演算)ステージを含んでいてよい。学習ステージでは、ニューラルネットワークは特定の目的のために訓練されてよく、また訓練例の集合が提供されてよく、これには訓練(サンプル)入力及び訓練(サンプル)出力が含まれ、任意選択的に、訓練の進行状況を試験するためのバリデーションの例の集合が含まれる。この学習プロセス中、ニューラルネットワーク内のノード及びノード相互接続に関係付けられる各種の重みが徐々に調整されて、ニューラルネットワークの実際の出力と所望の訓練出力との間のエラーが縮小される。このようにして、多層フィードフォワードニューラルネットワークは、何れの測定可能関数を何れの所望の精度までも概算できるかもしれない。学習ステージの結果として得られるのは、学習した(例えば、訓練済みの)(ニューラルネットワーク)機械学習(ML)である。演算ステージで、試験入力(又はライブ入力)の集合が学習済み(訓練済み)MLモデルに提供されてよく、それが学習したことを応用して、試験入力に基づいて出力予測を生成するかもしれない。
【0078】
以前に説明したニューラルネットワークと同様に、畳み込みニューラルネットワーク(CNN)もまた、学習可能な重みとバイアスを有するニューロンで構成される。各ニューロンは入力を受け取り、演算(例えば、ドット積)を行い、任意選択的にそれに非線形変換が続く。しかしながら、CNNは、一方の端(例えば入力端)で生の画像ピクセルを受け取り、反対の端(例えば、出力端)で分類(又はクラス)のスコアを提供する。CNNは入力として画像を予測するため、これらはボリューム(例えば、画像のピククセル高さと幅及び、画像の深さ、例えば赤、緑、及び青の3色で定義されるRGB深さ等の色深さ)を扱うように最適化される。例えば、CNNの層は、3次元で配置されるニューロンのために最適化されてよい。CNN層内のニューロンは、完全に接続されたNNのニューロンの全部ではなく、その前の層の小さい領域に接続されてもよい。CNNの最終的な出力層は、フル画像を深さの次元に沿って配置される1つのベクトル(分類)に縮小するかもしれない。
【0079】
図27は、例示的な畳み込みニューラルネットワークアーキテクチャを提供する。畳み込みニューラルネットワークは、2つ又はそれ以上の層(例えば、層1~層N)の連続として定義されてよく、層は(画像)畳み込みステップ、(結果の)加重和ステップ、及び非線形関数ステップを含んでいてよい。畳み込みは入力データ(例えば、層への入力)について、例えばその入力データにわたる移動ウィンドウ上のフィルタ(又はカーネル)を適用して特徴マップを生成することによって行われてよい。各層及び層の構成要素は、異なる所定のフィルタ(フィルタバンクからのもの)、重み(又は重み付けパラメータ)、及び/又は関数パラメータを有していてよい。入力データは、あるピクセル高さと幅の画像であってよく、この画像の生のピクセル値であってもよい。この例において、入力画像は3つの色チャネルRGB(赤、緑、青)の深さを有するように描かれている。任意選択的に、入力画像には様々な前処理が行われてよく、前処理の結果が生の画像データの代わりに、又はそれに加えて入力されてもよい。画像処理の幾つかの例には、網膜血管マップセグメンテーション、色空間変換、適応型ヒストグラム均一化、接続構成要素生成等が含まれていてよい。ある層内で、ドット積がある重みとそれらが入力ボリューム内で接続された小さい領域との間で計算されてよい。CNNを構成するための多くの方法が当業界で知られているが、例として、層はゼロにおけるmax(0,x)閾値等、要素ごと活性化関数を適用するために構成されてもよい。プーリング関数は、ボリュームをダウンサンプルするために(例えばx-y方向に沿って)行われてもよい。
【0080】
このアーキテクチャは、画像認識及び分類に有益であることが判明している。例えば、完全に接続されたCNN(例えば、完全に接続された層を備えるCNN)は、分類出力を特定し、入力画像内に存在するオブジェクトの特定のクラスの確率を示す重みを提供する1次元出力ベクトルを生成するために使用されてよい。しかしながら、画像セグメンテーションのためには、1次元出力ベクトルは十分ではなく、1次元出力ベクトルからの各分類出力は、入力画像を識別されたクラスに適切にセグメント化するために、当初の入力画像に(例えば、ピクセルごとに)マッピングし直す必要がある。各CNN層は入力画像の解像度を低下させる傾向があるため、画像セグメンテーションを達成するために、画像をその当初の解像度へとアップサンプルするための追加のステージを加えてもよい。これは、転置畳み込み(又は逆畳み込み)ステージTCの適用によって実現されてよく、これは典型的に、何れの所定の補間方法も使用せず、その代わりに学習可能パラメータを有する。そのため、TCは、訓練段階でCNNの他の部分と共に学習される。
【0081】
畳み込みニューラルネットワークは、コンピュータビジョンの多くの問題にうまく適用されているが、CNNは数百万もの自由パラメータを持つことが多いため、これらのネットワークの学習には、通常、大規模な(グランドトゥルース)ラベル付きデータセットが必要となる。U-NetアーキテクチャはCNNに基づいており、一般に従来のCNNより小さい訓練データセットで訓練される。
【0082】
図28は、例示的なU-Netアーキテクチャを図解する。この例示的なU-Netは、入力モジュール(又は入力層若しくはステージ)を含み、これは何れかのサイズ(例えば、128×128ピクセルのサイズ)の入力U-in(例えば、入力画像又は画像パッチ)を受け取る。入力画像は、眼底画像、OCT/OCTA en face、B-スキャン画像等であってよい。理解すべき点として、入力は何れの大きさ及び次元のものであってもよい。例えば、入力画像はRGBカラー画像、モノクロ画像、体積スキャン等であってよい。入力画像は一連の処理層を経て、その各々は例示的な大きさで図解されているが、これらの大きさは説明を目的としているにすぎず、例えば画像のサイズ、畳み込みフィルタ、及び/又はプーリングステージに依存するであろう。このアーキテクチャは、収縮パス(本明細書では、4つの符号化モジュールを含むものとして示されている)とそれに続く拡張パス(本明細書では、4つの復号化モジュールを含むものとして示されている)、及び対応するモジュール/ステージ間にあり、収縮パス内の1つの符号化モジュールの出力をコピーして、それを拡張パス内の対応する復号化モジュールの入力に連結する4つのコピー・アンド・クロップリンク(例えば、CC1~CC4)からなる。その結果、特徴的なU字型となり、そこからこのアーキテクチャが名付られている。収縮パスはエンコーダと同様であり、その基本機能はコンパクトの特徴マップを介してコンテキストを捕捉することである。この例において、収縮パス内の各符号化モジュールは2つの畳み込みニューラルネットワーク層を含み、それに続いて1つの最大プーリング層(例えば、ダウンサンプリング層)があってよい。例えば、入力画像U-inは2つの畳み込み層を経るが、各々が32の特徴マップを生成する。したがって、収縮パスは、各々が畳み込みステージを提供する複数の符号化モジュール(又はステージ)と、それに続く活性化関数(例えば、正規化線形ユニットReLU、又はシグモイド層)及び最大プーリング演算からなる畳み込みネットワークを形成する。拡張パスはデコーダと同様であり、その機能は、収縮ステージで行われたダウンサンプリング及び何れの最大プーリングにもかかわらず、局所化を提供し、空間情報を保持することである。収縮パスでは、空間情報が縮小され、特徴情報は増大される。拡張パスは、複数の復号化モジュールを含み、各復号化モジュールは、その現在の値を対応する符号化モジュールの出力と連結する。すなわち、特徴及び空間情報は拡張パスにおいてアップコンボリューション(例えば、アップサンプリング又は転置畳み込み、すなわち逆畳み込み)と収縮パスからの高解像度特徴との連結(例えば、CC1~CC4を介する)の連続を通じて組み合わされる。それゆえ、逆畳み込み層の出力は、収縮パスからの対応する(任意選択的にクロップされた)特徴マップと、それに続いて2つの畳み込み層及び活性化関数(任意選択的にバッチ正規化)に連結される。拡張パス内の最後のモジュールからの出力は、分類器ブロック等、他の処理/訓練ブロック又は層(図示せず)に供給されてよく、これはU-Netアーキテクチャと共に訓練されてもよい。
【0083】
収縮パスと拡張パスとの間のモジュール/ステージ(BN)は、「ボトルネック」と呼ばれ、2つの畳み込み層(バッチ正規化と任意選択的にドロップアウトを伴う)からなっていてよい。
【0084】
コンピューティングデバイス/システム
図29は、例示的なコンピュータシステム(又はコンピューティングデバイス又はコンピュータデバイス)を図解する。幾つかの実施形態において、1つ又は複数のコンピュータシステムは本明細書において記載又は図解された機能を提供し、及び/又は本明細書において記載又は図解された1つ又は複数の方法の1つ又は複数のステップを実行してよい。コンピュータシステムは、何れの適当な物理的形態をとってもよい。例えば、コンピュータシステムは、埋込みコンピュータシステム、システムオンチップ(SOC)、又はシングルボードコンピュータシステム(SBC)(例えば、コンピュータ・オン・モジュール(COM)又はシステム・オン・モジュール(SOM)等)、デスクトップコンピュータシステム、ラップトップ若しくはノートブックコンピュータシステム、コンピュータシステムのメッシュ、携帯電話、携帯型情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実装置、又はこれらのうちの2つ以上の組合せであってよい。適当であれば、コンピュータシステムはクラウド内にあってよく、これは1つ又は複数のクラウドコンポーネントを1つ又は複数のネットワーク内に含んでいてよい。
【0085】
幾つかの実施形態において、コンピュータシステムはプロセッサCmp1、メモリCmp2、ストレージCmp3、入力/出力(I/O)インタフェースCmp4、通信インタフェースCmp5、及びバスCmp6を含んでいてよい。コンピュータシステムは、任意選択的に、ディスプレイCmp7、例えばコンピュータモニタ又はスクリーンも含んでいてよい。
【0086】
プロセッサCmp1は、コンピュータプログラムを構成するもの等、命令を実行するためのハードウェアを含む。例えば、プロセッサCmp1は、中央処理ユニット(CPU)又は汎用コンピューティング・オン・グラフィクス処理ユニット(GPGPU)であってもよい。プロセッサCmp1は、命令を内部レジスタ、内部キャッシュ、メモリCmp2、又はストレージCmp3から読み出し(又はフェッチし)、この命令を復号して実行し、1つ又は複数の結果を内部レジスタ、内部キャッシュ、メモリCmp2、又はストレージCmp3に書き込んでよい。特定の実施形態において、プロセッサCmp1は、データ、命令、又はアドレスのための1つ又は複数の内部キャッシュを含んでいてよい。プロセッサCmp1は、1つ又は複数の命令キャッシュ、1つ又は複数のデータキャッシュを、例えばデータテーブルを保持するために含んでいてよい。命令キャッシュ内の命令は、メモリCmp2又はストレージCmp3内の命令のコピーであってもよく、命令キャッシュはプロセッサCmp1によるこれらの命令の読出しをスピードアップするかもしれない。プロセッサCmp1は、何れの適当な数の内部レジスタを含んでいてもよく、1つ又は複数の算術論理演算ユニット(ALU:arithmetic logic units)を含んでいてよい。プロセッサCmp1は、マルチコアプロセッサであるか、又は1つ若しくは複数のプロセッサCmp1を含んでいてよい。本開示は特定のプロセッサを説明し、図解しているが、本開示は何れの適当なプロセッサも想定している。
【0087】
メモリCmp2は、処理を実行し、又は処理中に中間データを保持するプロセッサCmp1のための命令を保存するメインメモリを含んでいてよい。例えば、コンピュータシステムは、命令又はデータ(例えば、データテーブル)をストレージCmp3から、又は他のソース(例えば、他のコンピュータシステム)からメモリCmp2にロードしてもよい。プロセッサCmp1は、メモリCmp2からの命令とデータを1つ又は複数の内部レジスタ又は内部キャッシュにロードしてもよい。命令を実行するために、プロセッサCmp1は内部レジスタ又は内部キャッシュから命令を読み出して復号してもよい。命令の実行中又はその後に、プロセッサCmp1は1つ又は複数の結果(これは、中間結果でも最終結果でもよい)を内部レジスタ、内部キャッシュ、メモリCmp2、又はストレージCmp3に書き込んでよい。バスCmp6は、1つ又は複数のメモリバス(これは各々、アドレスバスとデータバスを含んでいてよい)を含んでいてよく、プロセッサCmp1をメモリCmp2及び/又はストレージCmp3に連結してよい。任意選択的に、1つ又は複数のメモリ管理ユニット(MMU)は、プロセッサCmp1とメモリCmp2との間のデータ伝送を容易にする。メモリCmp2(これは、高速揮発性メモリであってもよい)には、ランダムアクセスメモリ(RAM)、例えばダイナミックRAM(DRAM)又はスタティックRAM(SRAM)が含まれていてよい。ストレージCmp3には、データ又は命令のための長期又は大容量メストレージを含んでいてよい。ストレージCmp3はコンピュータシステムに内蔵されても外付けでもよく、ディスクドライブ(例えば、ハードディスクドライブHDD、又はソリッドステートドライブSSD)、フラッシュメモリ、ROM、EPROM、光ディスク、磁気光ディスク、磁気テープ、ユニバーサルシリアルバス(USB)-アクセス可能ドライブ、又はその他の種類の不揮発性メモリのうちの1つ又は複数を含んでいてよい。
【0088】
I/OインタフェースCmp4は、ソフトウェア、ハードウェア、又はそれら両方の組合せであってよく、I/Oデバイスと通信するための1つ又は複数のインタフェース(例えば、シリアル又はパラレル通信ポート)を含んでいてよく、これはヒト(例えば、ユーザ)との通信を可能にしてもよい。例えば、I/Oデバイスとしては、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、テーブル、タッチスクリーン、トラックボール、ビデオカメラ、他の適当なI/Oデバイス、又はこれら2つ以上の組合せが含まれていてよい。
【0089】
通信インタフェースCmp5は、他のシステム又はネットワークと通信するためのネットワークインタフェースを提供してもよい。通信インタフェースCmp5は、Bluetooth(登録商標)インタフェース又はその他の種類のパケットベース通信を含んでいてよい。例えば、通信インタフェースCmp5は、ネットワークインタフェースコントローラ(NIC)及び/又は、無線ネットワークとの通信のための無線NIC若しくは無線アダプタを含んでいてよい。通信インタフェースCmp5は、WI-FIネットワーク、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、無線PAN(例えば、Bluetooth WPAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、携帯電話ネットワーク(例えば、汎欧州デジタル移動電話方式(Global System for Mobile Communications)(GSM(登録商標))ネットワーク等)、インターネット、又はこれらの2つ以上の組合せとの通信を提供してよい。
【0090】
バスCmp6は、コンピューティングシステムの上述のコンポーネント間の通信リンクを提供してよい。例えば、バスCmp6は、アクセラレーテッド・グラフィックス・ポート(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つ以上の組合せを含んでいてよい。
【0091】
本開示は、特定の数の特定のコンポーネントを特定の配置で有する特定のコンピュータシステムを説明し、図解しているが、本開示は何れの適当な数の何れの適当なコンポーネントを何れの適当な配置で有する何れの適当なコンピュータシステムも想定している。
【0092】
本明細書において、コンピュータ可読非一時的記憶媒体は、1つ又は複数の半導体ベース又はその他の集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)若しくは特定用途IC(ASIC))、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、磁気光ディスク、磁気光ドライブ、フロッピディスケット、フロッピディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAM-ドライブ、SECURE DIGITALカード若しくはドライブ、その他のあらゆる適当なコンピュータ可読非一時的記憶媒体、又は適当であればこれらの2つ以上あらゆる適当な組合せを含んでいてよい。コンピュータ可読非一時的記憶媒体は、揮発性、不揮発性、又は適当であれば揮発性と不揮発性の組合せであってよい。
【0093】
本発明は幾つかの具体的な実施形態と共に説明されているが、当業者にとっては明白であるように、上記の説明を参照すれば多くのその他の代替案、改良、及び変形型が明らかである。それゆえ、本明細書に記載の発明は、付属の特許請求の範囲の主旨と範囲に含まれるかもしれないあらゆるこのような代替案、改良、応用、及び変形型の全てを包含することが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13A-13B】
図14
図15
図16
図17A
図17B
図18
図19
図20
図21A-21B】
図22
図23
図24
図25
図26
図27
図28
図29