複数の画像を加算平均処理する技術では、ノイズの影響を抑制する精度を高めようとする程、同一部位が多数繰り返し撮影される必要がある。よって、加算する画像の枚数に比例して撮影時間が増加するという問題があった。
本開示の典型的な目的は、高画質の眼科画像を適切に取得するための眼科画像処理装置、OCT装置、および眼科画像処理プログラムを提供することである。
本開示における典型的な実施形態が提供する眼科画像処理装置は、被検眼の組織の画像である眼科画像を処理する眼科画像処理装置であって、前記眼科画像処理装置の制御部は、眼科画像撮影装置によって撮影された眼科画像、または、前記眼科画像撮影装置によって組織の同一部位を撮影した複数の眼科画像を加算平均した加算平均画像を、基画像として取得し、機械学習アルゴリズムによって訓練された数学モデルに前記基画像を入力することで、前記基画像よりも高画質の目的画像を取得し、前記数学モデルは、組織の同一部位を撮影した複数の訓練用眼科画像のうち、L枚(L≧1)の前記訓練用眼科画像に基づくデータを入力用訓練データとし、且つ、H枚(H>L)前記訓練用眼科画像を加算平均した加算平均画像のデータを出力用訓練データとして訓練されており、複数の前記入力用訓練データの中に、使用される前記訓練用眼科画像の枚数が互いに異なる複数の前記入力用訓練データが含まれる。
本開示における典型的な実施形態が提供するOCT装置は、参照光と、被検眼の組織に照射された測定光の反射光とによるOCT信号を処理することで、前記組織の眼科画像を撮影するOCT装置であって、前記OCT装置の制御部は、撮影した前記組織の眼科画像、または、前記組織の同一部位を撮影した複数の眼科画像を加算平均した加算平均画像を、基画像として取得し、機械学習アルゴリズムによって訓練された数学モデルに前記基画像を入力することで、前記基画像よりも高画質の目的画像を取得し、前記数学モデルは、組織の同一部位を撮影した複数の訓練用眼科画像のうち、L枚(L≧1)の前記訓練用眼科画像に基づくデータを入力用訓練データとし、且つ、H枚(H>L)前記訓練用眼科画像を加算平均した加算平均画像のデータを出力用訓練データとして訓練されており、複数の前記入力用訓練データの中に、使用される前記訓練用眼科画像の枚数が互いに異なる複数の前記入力用訓練データが含まれる。
本開示における典型的な実施形態が提供する眼科画像処理プログラムは、被検眼の組織の画像である眼科画像を処理する眼科画像処理装置によって実行される眼科画像処理プログラムであって、前記眼科画像処理プログラムが前記眼科画像処理装置の制御部によって実行されることで、眼科画像撮影装置によって撮影された眼科画像、または、前記眼科画像撮影装置によって組織の同一部位を撮影した複数の眼科画像を加算平均した加算平均画像を、基画像として取得する基画像取得ステップと、機械学習アルゴリズムによって訓練された数学モデルに前記基画像を入力することで、前記基画像よりも高画質の目的画像を取得する目的画像取得ステップと、を前記眼科画像処理装置に実行させ、前記数学モデルは、組織の同一部位を撮影した複数の訓練用眼科画像のうち、L枚(L≧1)の前記訓練用眼科画像に基づくデータを入力用訓練データとし、且つ、H枚(H>L)前記訓練用眼科画像を加算平均した加算平均画像のデータを出力用訓練データとして訓練されており、複数の前記入力用訓練データの中に、使用される前記訓練用眼科画像の枚数が互いに異なる複数の前記入力用訓練データが含まれる。
本開示に係る眼科画像処理装置、OCT装置、および眼科画像処理プログラムによると、高画質の眼科画像が適切に取得される。
本開示で例示する眼科画像処理装置の制御部は、眼科画像撮影装置によって撮影された眼科画像、または、眼科画像撮影装置によって組織の同一部位を撮影した複数の眼科画像を加算平均した加算平均画像を、基画像として取得する。制御部は、機械学習アルゴリズムによって訓練された数学モデルに基画像を入力することで、基画像よりも高品質の目的画像を取得する。数学モデルは、入力用訓練データと出力用訓練データのセットである訓練データセットによって訓練されている。組織の同一部位を撮影した複数の訓練用眼科画像のうち、L枚(L≧1)の訓練用眼科画像に基づくデータが、入力用訓練データとされる。また、複数の訓練用眼科画像のうち、H枚(H>L)の訓練用眼科画像を加算平均した加算平均画像のデータが、出力用訓練データ(正解データと言われる場合もある)とされる。換言すると、Hは、入力用訓練データに使用される訓練用眼科画像の枚数よりも大きい数である。
つまり、数学モデルを構築する数学モデル構築装置は、画像セット取得ステップと訓練ステップを実行する。画像セット取得ステップでは、被検眼の組織の同一部位を撮影した複数の訓練用眼科画像が取得される。訓練ステップでは、複数の訓練用眼科画像のうち、L枚(L≧1)の訓練用眼科画像に基づくデータが入力用訓練データとされ、且つ、H枚(H>L)の訓練用眼科画像の加算平均画像のデータが出力用訓練データとされて数学モデルが訓練されることで、数学モデルが構築される。
この場合、構築された数学モデルは、少ない枚数の眼科画像、または、少ない枚数の眼科画像の加算平均画像が基画像として入力された場合でも、多数の眼科画像を加算平均した画像と同程度にノイズの影響が抑制された目的画像を出力することができる。従って、基画像を撮影する際の撮影時間を短縮することが容易である。また、従来の画像処理でも、加算平均処理を行わずにノイズの影響を抑制することは可能ではあった。しかし、従来の画像処理では、微弱な信号とノイズを区別することができずに、本来ならば必要である微弱な信号が消去されてしまう場合があった。これに対し、本開示で例示する数学モデルは、ノイズ以外の影響で画像の信号が微弱となった部分が消去されていない目的画像を、基画像に基づいて出力することができる。よって、高品質の眼科画像が適切に取得される。
なお、訓練データセットの入力用訓練データとして用いるデータ(つまり、「L枚の訓練用眼科画像に基づくデータ」)は、撮影された眼科画像そのもの(つまり、加算平均されていない原画像)のデータあってもよいし、複数の眼科画像を加算平均した加算平均画像のデータであってもよい。原画像のデータと加算平均画像のデータが共に入力用訓練データとして用いられてもよい。入力用訓練データが原画像のデータである場合には、数学モデルに入力される基画像も、加算平均されていない原画像であることが望ましい。また、入力用訓練データが加算平均画像のデータである場合には、基画像も加算平均画像であることが望ましい。また、入力用訓練データに使用される画像(原画像および加算平均画像の少なくともいずれか)の数は、1枚であってもよいし、複数枚(例えば、2枚~5枚程度)であってもよい。また、出力用訓練データとして用いる加算平均画像を生成する際に使用する訓練用眼科画像の枚数Hは、少なくとも、入力用訓練データに使用される訓練用眼科画像の枚数よりも多い。例えば、入力用訓練データとしてL枚の原画像が使用される場合には、H>Lとなる。また、入力用訓練データとして、L´枚の画像を加算平均した画像が使用される場合には、H>L´となる。なお、基画像に使用する眼科画像の枚数は、H枚よりも少ない枚数となる。
眼科画像は、OCT装置によって撮影された被検眼の組織の二次元断層画像であってもよい。眼科画像処理装置の制御部は、被検眼の組織のうち、互いに異なる複数の位置の各々を撮影した複数の基画像を取得してもよい。制御部は、複数の基画像の各々を数学モデルに入力することで、複数の位置の各々の目的画像を取得してもよい。制御部は、複数の目的画像に基づいて、組織の三次元断層画像、および、組織を正面(つまり、被検眼の視線方向)から見た場合の二次元正面画像の少なくともいずれかを生成してもよい。つまり、眼科画像撮影装置は、複数の目的画像に基づいて組織の三次元断層画像を生成する三次元断層画像生成ステップ、および、複数の目的画像に基づいて組織の二次元正面画像を生成する正面画像生成ステップの少なくともいずれかを実行してもよい。この場合、多数の二次元断層画像が撮影されることなく、ノイズの影響が抑制された組織の三次元断層画像または二次元正面画像が適切に生成される。
二次元正面画像は、所謂「Enface画像」であってもよい。Enface画像のデータは、例えば、XY方向の各位置で深さ方向(Z方向)に輝度値が積算された積算画像データ、XY方向の各位置でのスペクトルデータの積算値、ある一定の深さ方向におけるXY方向の各位置での輝度データ、網膜のいずれかの層(例えば、網膜表層)におけるXY方向の各位置での輝度データ等であってもよい。
眼科画像は、OCT装置によって撮影された被検眼の眼底の二次元断層画像であってもよい。眼科画像処理装置の制御部は、二次元断層画像である目的画像に対して解析処理を行うことで、眼底に含まれる複数の層の少なくともいずれかを識別してもよい。つまり、眼科画像処理装置は、取得した目的画像から眼底の層を識別するセグメンテーションステップを実行してもよい。この場合、多数の二次元断層画像が撮影されることなく、ノイズの影響が抑制されたセグメンテーション結果が適切に取得される。
なお、眼科画像として、二次元断層画像以外の画像を用いることも可能である。例えば、眼科画像は、二次元断層画像でなく、組織(例えば眼底)を正面(つまり、被検眼の視線方向)から撮影した二次元正面画像であってもよい。この場合、二次元正面画像は、OCTアンジオ画像であってもよい。OCTアンジオ画像は、例えば、同一位置に関して異なる時間に取得された少なくとも2つのOCT信号が処理されることで取得されるモーションコントラスト画像であってもよい。また、レーザ走査型検眼装置(SLO)によって、被検眼の眼底の自発蛍光(FAF)を撮影した画像(以下、「FAF画像」という)が、眼科画像として用いられてもよい。OCTアンジオ画像およびFAF画像も、OCT二次元断層画像と同様に、複数の画像の加算平均処理を行うことによってノイズの影響が適切に抑制される。また、眼科画像の撮影部位は、例えば、被検眼の眼底であってもよいし、前眼部であってもよい。以上のように、本開示における眼科画像には、複数の画像の加算平均処理によってノイズの影響を抑制可能な種々の画像を用いることができる。
また、眼科画像処理装置の制御部は、層を識別するセグメンテーション処理とは異なる解析処理を目的画像に対して実行してもよい。例えば、制御部は、血管が写っている眼底の正面画像(例えば、前述したOCTアンジオ画像等)を目的画像として取得し、取得した目的画像に対して、眼底の血管密度を解析する処理を実行してもよい。また、制御部は、複数の目的画像に基づいて生成した画像(例えば、前述した三次元断層画像またはEnface画像等)に対して解析処理を行ってもよい。
眼科画像処理装置の制御部は、同時表示処理および切替表示処理の少なくとも一方を実行してもよい。同時表示処理では、制御部は、基画像と目的画像を表示装置に同時に表示させる。切替表示処理では、制御部は、ユーザによって入力された指示に応じて、基画像と目的画像を切り替えて表示装置に表示させる。この場合、ユーザは、ノイズの影響が抑制された目的画像と、目的画像の基となった基画像(原画像、または、原画像の加算平均画像)の両方を容易に確認することができる。よって、ユーザは、診断等をより適切に行うことができる。なお、基画像と目的画像は、同一の表示装置に表示されてもよいし、別々の表示装置に表示されてもよい。
制御部は、眼科画像撮影装置によって連続して撮影される複数の基画像を取得してもよい。制御部は、取得した複数の基画像を数学モデルに順次入力することで、複数の目的画像を取得してもよい。制御部は、取得した複数の目的画像に基づいて、前記組織の動画データを生成してもよい。つまり、眼科画像処理装置は、複数の目的画像に基づいて組織の動画データを生成する動画生成ステップを実行してもよい。この場合、ユーザは、ノイズの影響が抑制された状態で表示される組織の動画を確認することができる。つまり、従来の技術でも、複数の眼科画像を加算平均することでノイズの影響を抑制することは可能である。しかし、従来の技術では、複数の眼科画像から1つの加算平均画像が作成されるので、加算平均画像を用いて組織の動画を表示させる場合には、フレームレートが著しく低下し易い。特に、撮影位置が時間の経過に伴って変化する場合等には、加算平均画像を用いて良好な動画を生成することは困難である。これに対し、本開示の眼科画像処理装置は、フレームレートが低下することを抑制しつつ、ノイズの影響が抑制された組織の動画を生成することが可能である。よって、ユーザは、診断等をより適切に行うことができる。
なお、制御部は、基画像の動画と目的画像の動画を表示装置に同時に表示させてもよい。また、制御部は、ユーザによって入力された指示に応じて、基画像の動画と目的画像の動画を切り替えて表示装置に表示させてもよい。この場合、ユーザは、目的画像の動画と基画像の動画の両方を容易に確認することができる。
(装置構成)
以下、本開示における典型的な実施形態の1つについて、図面を参照して説明する。図1に示すように、本実施形態では、数学モデル構築装置1、眼科画像処理装置21、および眼科画像撮影装置11A,11Bが用いられる。数学モデル構築装置1は、機械学習アルゴリズムによって数学モデルを訓練させることで、数学モデルを構築する。構築された数学モデルは、入力された基画像に基づいて、基画像よりも高画質の(本実施形態では、ノイズの影響が適切に抑制された)目的画像を出力する。眼科画像処理装置21は、数学モデルを用いて、基画像から目的画像を取得する。眼科画像撮影装置11A,11Bは、被検眼の組織の画像である眼科画像を撮影する。
一例として、本実施形態の数学モデル構築装置1にはパーソナルコンピュータ(以下、「PC」という)が用いられる。詳細は後述するが、数学モデル構築装置1は、眼科画像撮影装置11Aから取得した眼科画像を利用して数学モデルを訓練させることで、数学モデルを構築する。しかし、数学モデル構築装置1として機能できるデバイスは、PCに限定されない。例えば、眼科画像撮影装置11Aが数学モデル構築装置1として機能してもよい。また、複数のデバイスの制御部(例えば、PCのCPUと、眼科画像撮影装置11AのCPU13A)が、協働して数学モデルを構築してもよい。
また、本実施形態の眼科画像処理装置21にはPCが用いられる。しかし、眼科画像処理装置21として機能できるデバイスも、PCに限定されない。例えば、眼科画像撮影装置11Bまたはサーバ等が、眼科画像処理装置21として機能してもよい。眼科画像撮影装置(本実施形態ではOCT装置)11Bが眼科画像処理装置21として機能する場合、眼科画像撮影装置11Bは、眼科画像を撮影しつつ、撮影した眼科画像よりも高画質の眼科画像を適切に取得することができる。また、タブレット端末またはスマートフォン等の携帯端末が、眼科画像処理装置21として機能してもよい。複数のデバイスの制御部(例えば、PCのCPUと、眼科画像撮影装置11BのCPU13B)が、協働して各種処理を行ってもよい。
また、本実施形態では、各種処理を行うコントローラの一例としてCPUが用いられる場合について例示する。しかし、各種デバイスの少なくとも一部に、CPU以外のコントローラが用いられてもよいことは言うまでもない。例えば、コントローラとしてGPUを採用することで、処理の高速化を図ってもよい。
数学モデル構築装置1について説明する。数学モデル構築装置1は、例えば、眼科画像処理装置21または眼科画像処理プログラムをユーザに提供するメーカー等に配置される。数学モデル構築装置1は、各種制御処理を行う制御ユニット2と、通信I/F5を備える。制御ユニット2は、制御を司るコントローラであるCPU3と、プログラムおよびデータ等を記憶することが可能な記憶装置4を備える。記憶装置4には、後述する数学モデル構築処理(図2参照)を実行するための数学モデル構築プログラムが記憶されている。また、通信I/F5は、数学モデル構築装置1を他のデバイス(例えば、眼科画像撮影装置11Aおよび眼科画像処理装置21等)と接続する。
数学モデル構築装置1は、操作部7および表示装置8に接続されている。操作部7は、ユーザが各種指示を数学モデル構築装置1に入力するために、ユーザによって操作される。操作部7には、例えば、キーボード、マウス、タッチパネル等の少なくともいずれかを使用できる。なお、操作部7と共に、または操作部7に代えて、各種指示を入力するためのマイク等が使用されてもよい。表示装置8は、各種画像を表示する。表示装置8には、画像を表示可能な種々のデバイス(例えば、モニタ、ディスプレイ、プロジェクタ等の少なくともいずれか)を使用できる。なお、本開示における「画像」には、静止画像も動画像も共に含まれる。
数学モデル構築装置1は、眼科画像撮影装置11Aから眼科画像のデータ(以下、単に「眼科画像」という場合もある)を取得することができる。数学モデル構築装置1は、例えば、有線通信、無線通信、着脱可能な記憶媒体(例えばUSBメモリ)等の少なくともいずれかによって、眼科画像撮影装置11Aから眼科画像のデータを取得してもよい。
眼科画像処理装置21について説明する。眼科画像処理装置21は、例えば、被検者の診断または検査等を行う施設(例えば、病院または健康診断施設等)に配置される。眼科画像処理装置21は、各種制御処理を行う制御ユニット22と、通信I/F25を備える。制御ユニット22は、制御を司るコントローラであるCPU23と、プログラムおよびデータ等を記憶することが可能な記憶装置24を備える。記憶装置24には、後述する眼科画像処理(例えば、図7に例示する高画質動画生成処理、および、図8に示す高画質三次元画像生成処理等)を実行するための眼科画像処理プログラムが記憶されている。眼科画像処理プログラムには、数学モデル構築装置1によって構築された数学モデルを実現させるプログラムが含まれる。通信I/F25は、眼科画像処理装置21を他のデバイス(例えば、眼科画像撮影装置11Bおよび数学モデル構築装置1等)と接続する。
眼科画像処理装置21は、操作部27および表示装置28に接続されている。操作部27および表示装置28には、前述した操作部7および表示装置8と同様に、種々のデバイスを使用することができる。
眼科画像処理装置21は、眼科画像撮影装置11Bから眼科画像を取得することができる。眼科画像処理装置21は、例えば、有線通信、無線通信、着脱可能な記憶媒体(例えばUSBメモリ)等の少なくともいずれかによって、眼科画像撮影装置11Bから眼科画像を取得してもよい。また、眼科画像処理装置21は、数学モデル構築装置1によって構築された数学モデルを実現させるプログラム等を、通信等を介して取得してもよい。
眼科画像撮影装置11A,11Bについて説明する。一例として、本実施形態では、数学モデル構築装置1に眼科画像を提供する眼科画像撮影装置11Aと、眼科画像処理装置21に眼科画像を提供する眼科画像撮影装置11Bが使用される場合について説明する。しかし、使用される眼科画像撮影装置の数は2つに限定されない。例えば、数学モデル構築装置1および眼科画像処理装置21は、複数の眼科画像撮影装置から眼科画像を取得してもよい。また、数学モデル構築装置1および眼科画像処理装置21は、共通する1つの眼科画像撮影装置から眼科画像を取得してもよい。なお、本実施形態で例示する2つの眼科画像撮影装置11A,11Bは、同一の構成を備える。従って、以下では、2つの眼科画像撮影装置11A,11Bについて纏めて説明を行う。
また、本実施形態では、眼科画像撮影装置11(11A,11B)として、OCT装置を例示する。ただし、OCT装置以外の眼科画像撮影装置(例えば、レーザ走査型検眼装置(SLO)、眼底カメラ、または角膜内皮細胞撮影装置(CEM)等)が用いられてもよい。
眼科画像撮影装置11(11A,11B)は、各種制御処理を行う制御ユニット12(12A,12B)と、眼科画像撮影部16(16A,16B)を備える。制御ユニット12は、制御を司るコントローラであるCPU13(13A,13B)と、プログラムおよびデータ等を記憶することが可能な記憶装置14(14A,14B)を備える。
眼科画像撮影部16は、被検眼の眼科画像を撮影するために必要な各種構成を備える。本実施形態の眼科画像撮影部16には、OCT光源、OCT光源から出射されたOCT光を測定光と参照光に分岐する分岐光学素子、測定光を走査するための走査部、測定光を被検眼に照射するための光学系、被検眼の組織によって反射された光と参照光の合成光を受光する受光素子等が含まれる。
眼科画像撮影装置11は、被検眼の眼底の二次元断層画像および三次元断層画像を撮影することができる。詳細には、CPU13は、スキャンライン上にOCT光(測定光)を走査させることで、スキャンラインに交差する断面の二次元断層画像を撮影する。また、CPU13は、OCT光を二次元的に走査することによって、組織における三次元断層画像を撮影することができる。例えば、CPU13は、組織を正面から見た際の二次元の領域内において、位置が互いに異なる複数のスキャンライン上の各々に測定光を走査させることで、複数の二次元断層画像を取得する。次いで、CPU13は、撮影された複数の二次元断層画像を組み合わせることで、三次元断層画像を取得する。
さらに、CPU13は、組織上の同一部位(本実施形態では、同一のスキャンライン上)に測定光を複数回走査させることで、同一部位の眼科画像を複数撮影する。CPU13は、同一部位の複数の眼科画像に対して加算平均処理を行うことで、スペックルノイズの影響が抑制された加算平均画像を取得することができる。加算平均処理は、例えば、複数の眼科画像のうち、同一の位置の画素の画素値を平均化することで行われてもよい。加算平均処理を行う画像の数が多い程、スペックルノイズの影響は抑制され易いが、撮影時間は長くなる。なお、眼科画像撮影装置11は、同一部位の眼科画像を複数撮影する間に、被検眼の動きにOCT光の走査位置を追従させるトラッキング処理を実行する。
(数学モデル構築処理)
図2~図6を参照して、数学モデル構築装置1が実行する数学モデル構築処理について説明する。数学モデル構築処理は、記憶装置4に記憶された数学モデル構築プログラムに従って、CPU3によって実行される。
数学モデル構築処理では、訓練データセットによって数学モデルが訓練されることで、基画像から高画質の目的画像を出力するための数学モデルが構築される。詳細は後述するが、訓練データセットには、入力用訓練データと出力用訓練データが含まれる。本実施形態では、入力用訓練データとして、1枚~複数枚の眼科画像(本実施形態では眼底の二次元断層画像)に基づくデータが使用される。また、出力用訓練データとして、入力用訓練データに使用される眼科画像の枚数(L枚)よりも多い枚数(H枚)の眼科画像に基づく加算平均画像のデータが使用される。入力用訓練データと出力用訓練データは、組織の同一部位を撮影対象としている。
図2に示すように、CPU3は、組織の同一部位を撮影した複数の訓練用眼科画像300A~300X(Xは2以上の任意の整数)のセット30(図3~図6参照)を取得する(S1)。詳細には、本実施形態では、眼底上の同一のスキャンライン上にOCT光を複数回走査させることで撮影された、複数の二次元断層画像のセットが、訓練用眼科画像のセットとして、眼科画像撮影装置11Aから取得される。ただし、CPU3は、二次元断層画像を生成する基となる信号(例えばOCT信号)を眼科画像撮影装置11Aから取得し、取得した信号に基づいて二次元断層画像を生成することで、二次元断層画像を取得してもよい。
次いで、CPU3は、セット30内の複数の訓練用眼科画像300A~300Xの一部から、入力用訓練データを取得する(S2)。入力用訓練データの具体的な取得方法は適宜選択できるが、この詳細については、図3~図6を参照して後述する。
次いで、CPU3は、セット30内の複数の訓練用眼科画像300A~300Xの加算平均画像31(図3~図6参照)を、出力用訓練データとして取得する(S3)。前述したように、出力用訓練データである加算平均画像31に使用される訓練用眼科画像の枚数Hは、入力用訓練データに使用される訓練用眼科画像の枚数Lよりも多い。一例として、本実施形態では、図3~図6に示すように、セット30内の複数の訓練用眼科画像300A~300Xの全て(例えば120枚)が、加算平均画像31に使用される。なお、加算平均画像31は、数学モデル構築装置1が生成してもよい。また、数学モデル構築装置1は、眼科画像撮影装置11Aによって生成された加算平均画像31を取得してもよい。
図3を参照して、入力用訓練データの第1取得パターンについて説明する。第1取得パターンでは、CPU3は、セット30内に含まれる複数の訓練用眼科画像300A~300Xのうち、1枚の訓練用眼科画像300Aのそのもの(つまり、加算平均処理されていない原画像)のデータを、入力用訓練データとして取得する。この場合、眼科画像処理装置21は、構築された数学モデルに基画像を入力して目的画像を取得する際に、1枚の原画像を基画像として数学モデルに入力することが好ましい。眼科画像処理装置21は、1枚の基画像に基づいて目的画像を取得することができるので、基画像の撮影時間が短縮され易い。また、目的画像の動画を生成する際に、動画のフレームレートを大きくし易い。
図4を参照して、入力用訓練データの第2取得パターンについて説明する。第2取得パターンでは、CPU3は、セット30内に含まれる複数の訓練用眼科画像300A~300Xのうち、複数枚の訓練用眼科画像の原画像のデータを、入力用訓練データとして取得する。図4に示す例では、2枚の訓練用眼科画像300A,300Bのデータが、入力用訓練データとして取得されている。しかし、入力用訓練データとして取得する訓練用眼科画像の枚数は、加算平均画像31に使用される訓練用眼科画像の枚数よりも少ない範囲内で変更することができる。第2取得パターンが採用される場合、眼科画像処理装置21は、構築された数学モデルに基画像を入力する際に、入力用訓練データとして使用された訓練用眼科画像の枚数に極力近い枚数の原画像を、基画像として数学モデルに入力することが好ましい。この場合には、1枚の原画像が基画像がとして数学モデルに入力される場合に比べて、取得される目的画像の品質が向上し易い。ただし、第2取得パターンが採用された場合でも、1枚の原画像が基画像として数学モデルに入力されてもよい。以上のように、入力用訓練データとして原画像が使用される場合、使用される原画像の枚数Lは、1以上、且つ、加算平均画像31に使用される枚数よりも小さい数となる。
図5を参照して、入力用訓練データの第3取得パターンについて説明する。第3取得パターンでは、CPU3は、セット30内に含まれる複数の訓練用眼科画像300A~300Xのうち、L枚(L≧2)の訓練用眼科画像を加算平均した加算平均画像32のデータを、入力用訓練データとして取得する。図5に示す例では、2枚の訓練用眼科画像300A,300Bの加算平均画像32のデータが、入力用訓練データとして取得されている。しかし、加算平均画像32に使用される訓練用眼科画像の枚数は、加算平均画像31に使用される訓練用眼科画像の枚数よりも少ない範囲内で変更することができる。第3取得パターンが採用される場合、眼科画像処理装置21は、構築された数学モデルに基画像を入力する際に、加算平均画像を基画像として入力することが好ましい。基画像の加算平均に使用する眼科画像の枚数は、加算平均画像32に使用される訓練用眼科画像の枚数に極力近いことが好ましい。この場合には、1枚の原画像が基画像として数学モデルに入力される場合に比べて、取得される目的画像の品質が向上し易い。ただし、第3取得パターンが採用された場合でも、1枚の原画像が基画像として数学モデルに入力されてもよい。
図6を参照して、入力用訓練データの第4取得パターンについて説明する。第4取得パターンでは、CPU3は、L枚(L≧2)の訓練用眼科画像を加算平均した加算平均画像32を複数枚取得し、取得した複数枚の加算平均画像32のデータを入力用訓練データとして使用する。図6に示す例では、2枚の加算平均画像32A,32Bのデータが、入力用訓練データとして取得されている。しかし、加算平均画像32の枚数を変更することも可能である。第4取得パターンが採用される場合、眼科画像処理装置21は、構築された数学モデルに基画像を入力する際に、複数枚の加算平均画像を基画像として入力することが好ましい。この場合には、1枚の原画像が基画像として入力される場合に比べて、取得される目的画像の品質が向上し易い。ただし、第4取得パターンが採用された場合でも、1枚の原画像が基画像として数学モデルに入力されてもよい。
以上説明した4つのパターンは一例であり、上記のパターンを変更することも可能である。例えば、CPU3は、P枚の訓練用眼科画像の原画像のデータと、P´枚の訓練用眼科画像の加算平均画像32のデータを、共に入力用訓練データとして使用してもよい。この場合、出力用訓練データである加算平均画像31に使用される訓練用眼科画像の枚数は、入力用訓練データに使用される訓練用眼科画像の枚数(例えば、PとP´の和)よりも多い。
また、1組の訓練用眼科画像300A~300Xのセット30から、複数組の訓練データセットを取得することも可能である。例えば、図3に示す例では、訓練用眼科画像300Aのデータを入力用訓練データとし、加算平均画像31のデータを出力用訓練データとする1組の訓練データセットが取得されている。ここで、CPU3は、同一のセット30から、訓練用眼科画像300Bのデータを入力用訓練データとし、加算平均画像31のデータを出力用訓練データとする訓練データセットを取得することも可能である。
図2の説明に戻る。CPU3は、機械学習アルゴリズムによって、訓練データセットを用いた数学モデルの訓練を実行する(S4)。機械学習アルゴリズムとしては、例えば、ニューラルネットワーク、ランダムフォレスト、ブースティング、サポートベクターマシン(SVM)等が一般的に知られている。
ニューラルネットワークは、生物の神経細胞ネットワークの挙動を模倣する手法である。ニューラルネットワークには、例えば、フィードフォワード(順伝播型)ニューラルネットワーク、RBFネットワーク(放射基底関数)、スパイキングニューラルネットワーク、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク(リカレントニューラルネット、フィードバックニューラルネット等)、確率的ニューラルネット(ボルツマンマシン、ベイシアンネットワーク等)等がある。
ランダムフォレストは、ランダムサンプリングされた訓練データに基づいて学習を行って、多数の決定木を生成する方法である。ランダムフォレストを用いる場合、予め識別器として学習しておいた複数の決定木の分岐を辿り、各決定木から得られる結果の平均(あるいは多数決)を取る。
ブースティングは、複数の弱識別器を組み合わせることで強識別器を生成する手法である。単純で弱い識別器を逐次的に学習させることで、強識別器を構築する。
SVMは、線形入力素子を利用して2クラスのパターン識別器を構成する手法である。SVMは、例えば、訓練データから、各データ点との距離が最大となるマージン最大化超平面を求めるという基準(超平面分離定理)で、線形入力素子のパラメータを学習する。
数学モデルは、例えば、入力データと出力データの関係を予測するためのデータ構造を指す。数学モデルは、訓練データセットを用いて訓練されることで構築される。訓練データセットは、入力用訓練データと出力用訓練データのセットである。数学モデルは、ある入力用訓練データが入力された時に、それに対応する出力用訓練データが出力されるように訓練される。例えば、訓練によって、各入力と出力の相関データ(例えば、重み)が更新される。
本実施形態では、機械学習アルゴリズムとして多層型のニューラルネットワークが用いられている。ニューラルネットワークは、データを入力するための入力層と、予測したいデータを生成するための出力層と、入力層と出力層の間の1つ以上の隠れ層を含む。各層には、複数のノード(ユニットとも言われる)が配置される。詳細には、本実施形態では、多層型ニューラルネットワークの一種である畳み込みニューラルネットワーク(CNN)が用いられている。ただし、他の機械学習アルゴリズムが用いられてもよい。例えば、競合する2つのニューラルネットワークを利用する敵対的生成ネットワーク(Generative adversarial networks:GAN)が、機械学習アルゴリズムとして採用されてもよい。
数学モデルの構築が完了するまで(S5:NO)、S1~S4の処理が繰り返される。数学モデルの構築が完了すると(S5:YES)、数学モデル構築処理は終了する。構築された数学モデルを実現させるプログラムおよびデータは、眼科画像処理装置21に組み込まれる。
(眼科画像処理)
図7~図9を参照して、眼科画像処理装置21が実行する眼科画像処理について説明する。眼科画像処理は、記憶装置24に記憶された眼科画像処理プログラムに従って、CPU23によって実行される。
図7を参照して、眼科画像処理の一例である高画質動画生成処理について説明する。高画質動画生成処理では、数学モデルを用いて高画質の目的画像の静止画が取得されると共に、組織の高画質の動画が生成される。
まず、CPU23は、眼科画像(静止画像)である基画像を取得する(S11)。本実施形態の基画像は、前述した訓練用眼科画像300A~300Xと同様に、眼底の二次元断層画像である。CPU23は、前述した数学モデルに基画像を入力することで、基画像よりも高画質の目的画像を取得する(S12)。
図7に示す例では、眼科画像撮影装置11Bは、眼底の二次元断層画像を連続して撮影することで、動画を撮影する。CPU23は、S11において、眼科画像撮影装置11Bによって撮影された動画を構成する各々の静止画像を、順次取得する。CPU23は、取得した静止画像の原画像、および、複数の原画像を加算平均した加算平均画像の少なくともいずれかを、数学モデルに入力する基画像として取得する。CPU23は、連続して取得される基画像を数学モデルに順次入力することで、目的画像を連続して取得する。
S11において取得する基画像の種類(原画像および加算平均画像の少なくともいずれか)、および、数学モデルに入力する基画像に使用する原画像の枚数は、前述した入力用訓練データの取得パターン等に応じて適宜設定されればよい。数学モデルに入力する基画像として加算平均画像が用いられる場合、CPU23は、同一の撮影部位を撮影した複数の眼科画像を加算平均することで、加算平均画像を取得してもよい。また、CPU23は、眼科画像撮影装置11Bによって生成された加算平均画像を取得してもよい。
なお、図7に例示する高画質動画生成処理では、組織の動画が生成される。ここで、良好な動画を生成するためには、フレームレート(単位時間あたりの静止画像の数)を極力大きくすることが望ましい。つまり、目的画像の動画のフレームレートを大きくするためには、単位時間あたりに取得する目的画像(静止画像)の数を極力大きくする必要がある。従って、図7のS11では、極力少ない原画像が、数学モデルに入力する基画像として取得されることが好ましい。例えば、CPU23は、眼科画像撮影装置11Bから1枚の原画像を取得する毎に、取得した1枚の原画像を数学モデルに入力して目的画像を生成することで、眼科画像撮影装置11Bが撮影する動画と同じフレームレートの動画を、高画質の目的画像を用いて生成することができる。
次いで、CPU23は、表示装置28に目的画像を表示させる指示が入力されているか否かを判断する(S14)。本実施形態では、ユーザは、目的画像、基画像、および、目的画像と基画像の両方のいずれを表示装置28に表示させるかの指示を、操作部27を操作することで眼科画像処理装置21に入力することができる。目的画像を表示させる指示が入力されていなければ(S14:NO)、処理はそのままS17へ移行する。目的画像を表示させる指示が入力されている場合(S14:YES)、CPU23は、目的画像を表示装置28に表示させる(S15)。詳細には、本実施形態のS15では、S12で連続して取得される複数の目的画像が表示装置28に順次表示されることで、組織の動画が表示される。つまり、眼科画像撮影装置11Bによってその時点で撮影されている原画像の動画に基づいて、撮影中の組織の高画質の動画がリアルタイムに表示装置28に表示される。なお、CPU23は、S12で連続して取得される複数の目的画像に基づいて、目的画像の動画のデータを生成し、記憶装置に記憶させてもよい。
なお、眼科画像処理装置21は、目的画像、基画像、および、目的画像と基画像の両方のいずれを表示装置28に表示させるかの指示を、種々の方法で入力することができる。例えば、CPU23は、目的画像の表示指示を入力するアイコン、基画像の表示指示を入力するアイコン、および、両方の画像の表示指示を入力するアイコンを、表示装置28に表示させてもよい。ユーザは、希望するアイコンを選択することで、表示指示を眼科画像処理装置21に入力してもよい。
次いで、CPU23は、表示装置28に基画像を表示させる指示が入力されているか否かを判断する(S17)。入力されていなければ(S17:NO)、処理はそのままS20へ移行する。基画像を表示させる指示が入力されている場合(S17:YES)、CPU23は、基画像を表示装置28に表示させる(S18)。詳細には、本実施形態のS18では、S11で連続して取得される複数の基画像が表示装置28に順次表示されることで、組織の動画が表示される。以上のように、CPU23は、ユーザによって入力された指示に応じて、目的画像と基画像を切り替えて表示装置28に表示させることができる。よって、ユーザは、目的画像と基画像の両方を容易に確認することができる。
次いで、CPU23は、目的画像と基画像を同時に表示装置28に表示させる指示が入力されているか否かを判断する(S20)。入力されていなければ(S20:NO)、処理はそのままS23へ移行する。同時表示指示が入力されていれる場合(S20:YES)、CPU23は、目的画像と基画像を同時に表示装置28に表示させる。詳細には、本実施形態のS20では、目的画像の動画と基画像の動画が共に表示装置28に表示される。
なお、S15,S18,S21では、動画でなく静止画が表示されてもよい。CPU23は、ユーザによって入力される指示に応じて、動画の表示と静止画の表示を切り替えてもよい。また、CPU23は、動画および静止画を表示装置28に表示させずに、動画および静止画の少なくとも一方のデータを記憶装置24に保存させてもよい。
また、CPU23は、目的画像の動画または静止画を表示装置28に表示させる際に、何枚の眼科画像の加算平均画像に相当する目的画像であるかを、表示装置28に表示させることができる。例えば、数学モデルを構築する際に、出力用訓練データとして使用された加算平均画像32が、H枚の眼科画像に基づく加算平均画像である場合には、S12で取得される目的画像も、H枚の眼科画像の加算平均画像に相当する画像となる。従って、CPU23は、表示中の目的画像が、H枚の眼科画像の加算平均画像に相当する旨を、表示装置28に表示させる。よって、ユーザは、目的画像の品質を適切に把握することができる。
また、目的画像を表示させるタイミングには、例えば、眼科画像撮影装置11Bによる撮影中にリアルタイムで表示させるタイミング、撮影された画像が良好であるか否かをユーザに確認させるタイミング、撮影後に解析結果またはレポートと共に表示させるタイミング等、複数のタイミングがある。CPU23は、目的画像を表示させることが可能な複数のタイミングのそれぞれに対し、目的画像、基画像、および、目的画像と基画像の両方のいずれを表示装置28に表示させるかの指示を、別々に入力することができる。つまり、ユーザは、目的画像を表示させることが可能なタイミングに応じて、目的画像、基画像、および、目的画像と基画像の両方のいずれを表示装置28に表示させるかを、予め設定しておくことができる。その結果、ユーザの利便性がさらに向上する。
次いで、CPU23は、表示を終了させる指示が入力されたか否かを判断する(S23)。入力されていなければ(S23:NO)、処理はS11へ戻り、S11~S23の処理が繰り返される。表示を終了させる指示が入力されると(S23:YES)、CPU23は、目的画像(本実施形態では、連続して取得される複数の目的画像の少なくともいずれか)に対するセグメンテーション処理を実行する(S24)。セグメンテーション処理とは、画像に写っている組織の複数の層の少なくともいずれかを識別する処理である。層の識別は、例えば、目的画像に対する画像処理によって行われてもよいし、機械学習アルゴリズムによって訓練された数学モデルが利用されてもよい。目的画像に対するセグメンテーション処理が行われることで、ノイズの影響が抑制されたセグメンテーション結果が適切に取得される。なお、ユーザが操作部27を操作して手動でセグメンテーション処理を行う場合もある。この場合にも、CPU23は、セグメンテーション処理が行われる対象となる画像として、目的画像を表示装置28に表示させてもよい。
図8および図9を参照して、眼科画像処理の一例である高画質三次元断層画像生成処理について説明する。高画質三次元断層画像生成処理では、数学モデルを用いて高画質の二次元断層画像および三次元断層画像が取得される。高画質三次元断層画像生成処理が実行される場合には、眼科画像撮影装置11Bでは、OCT光(測定光)が二次元的に走査されることで、組織における三次元断層画像が撮影される。詳細には、眼科画像撮影装置11Bは、組織を正面から見た際の二次元の領域内において、位置が互いに異なる複数のスキャンライン上の各々に測定光を走査させることで、複数(1番目~Z番目)の二次元断層画像を取得する。複数の二次元断層画像が組み合わされることで、三次元断層画像が取得される。
CPU23は、眼科画像撮影装置1Bによって撮影された複数(1番目~Z番目)の二次元断層画像のうち、N番目(Nの初期値は「1」)の二次元断層画像を、基画像として取得する(S31)。CPU23は、取得した基画像を数学モデルに入力することで、N番目の目的画像を取得する(S32)。次いで、CPU23は、複数(1番目~Z番目)の基画像の全てに対する処理が完了したか否かを判断する(S33)。完了していなければ(S33:NO)、Nの値に「1」が加算されて(S34)、処理はS31へ戻る。全ての基画像に対する処理が完了するまで、S31~S33の処理が繰り返される。
全ての基画像に対する処理が完了すると(S33:YES)、取得された複数の目的画像が組み合わされることで、組織の三次元断層画像40(図9参照)が生成される(S35)。図8に例示した高画質三次元断層画像生成処理によると、三次元断層画像を構成する各々の二次元断層画像として加算平均画像を使用しなくても、加算平均画像と同等にノイズの影響が抑制された目的画像によって、三次元断層画像が生成される。
なお、CPU23は、複数の目的画像に基づいて、三次元断層画像以外の画像を生成することも可能である。例えば、CPU23は、S32で取得された複数の目的画像に基づいて、組織を正面から見た場合の二次元正面画像(所謂「Enface画像」を生成してもよい。
また、CPU23は、複数の目的画像に基づいて生成した三次元断層画像40に対して解析処理を行うことも可能である。例えば、CPU23は、三次元断層画像40に対して、眼底に含まれる複数の層の少なくともいずれかを抽出するセグメンテーション処理を行ってもよい。CPU23は、セグメンテーション処理の結果に基づいて、少なくともいずれかの層の厚み分布を二次元的に示す厚みマップを生成してもよい。この場合、ノイズの影響が抑制された三次元断層画像40に基づいて、厚みマップが適切に生成される。
また、CPU23は、複数の目的画像に基づいて生成した三次元断層画像40に基づいて、三次元断層画像40の撮影範囲に含まれる組織中の任意の位置の二次元断層画像を生成してもよい。CPU23は、生成した二次元断層画像を表示装置28に表示させてもよい。一例として、本実施形態のCPU23は、断層画像を生成する位置を指定するためのユーザからの指示を入力する。例えば、ユーザは、操作部27を操作することで、表示装置28に表示された二次元正面画像上または三次元断層画像40上で、断層画像の生成位置を指定してもよい。断層画像の生成位置は、例えば、各種形状のライン(直線上のライン、円形状のライン等)で指定されてもよい。CPU23は、三次元断層画像40から、ユーザによって指定された位置の二次元断層画像を生成(抽出)してもよい。この場合、ユーザが希望する任意の位置の断層画像が、ノイズの影響が抑制された三次元断層画像40に基づいて適切に生成される。
また、CPU23は、眼科画像撮影装置11Bによって撮影された眼科画像が良好であるか否かを、眼科画像が1枚または複数枚撮影される毎に判定してもよい。CPU23は、撮影された眼科画像が良好であると判定した場合に、良好な眼科画像を基画像として数学モデルに入力してもよい。また、CPU23は、撮影された眼科画像が良好でないと判定した場合に、同じ位置の眼科画像を再撮影させる指示を眼科画像撮影装置11Bに出力してもよい。この場合、良好な基画像に基づいて目的画像が取得される。なお、撮影された眼科画像が良好であるか否かを判定するための具体的な方法は、適宜選択できる。例えば、CPU23は、撮影された眼科画像の信号の強さ、または、信号の良好さを示す指標(例えば、SSI(Signal Strength Index)またはQI(Quality Index)等)を用いて、眼科画像が良好であるか否かを判定してもよい。また、CPU23は、撮影された眼科画像をテンプレートと比較することで、眼科画像が良好であるか否かを判定してもよい。
また、CPU23は、複数の目的画像のいずれかに対して解析処理(例えばセグメンテーション処理等)を行う場合、複数の目的画像、または、複数の目的画像の基となった複数の基画像から、良好な画像を抽出してもよい。CPU23は、抽出した良好な目的画像、または、良好な基画像に基づく目的画像に対して解析処理を行ってもよい。この場合、解析処理の精度が向上する。なお、良好な画像を抽出する手法には、例えば、前述したSSI等を利用する手法等、種々の手法を採用することができる。
また、CPU23は、モーションコントラスト画像を生成する際に、本開示で例示した数学モデルを用いて目的画像を取得し、取得した目的画像に基づいてモーションコントラスト画像を生成してもよい。前述したように、モーションコントラスト画像を生成する際には、同一位置に関して異なる時間に複数のOCT信号が取得され、複数のOCT信号に対して演算処理が行われる。CPU23は、複数のOCT信号(二次元断層画像)の各々に基づいて目的画像を取得し、取得した複数の目的画像に対して演算処理を行うことで、モーションコントラスト画像を取得してもよい。この場合、ノイズの影響が抑制されたモーションコントラスト画像が適切に生成される。
上記実施形態で開示された技術は一例に過ぎない。従って、上記実施形態で例示された技術を変更することも可能である。まず、上記実施形態で例示された複数の技術のうちの一部のみを実行することも可能である。例えば、眼科画像処理装置21は、高画質動画生成処理(図7参照)、および、高画質三次元断層画像生成処理(図8参照)の一方のみを実行してもよい。
なお、図7のS11および図8のS31で基画像を取得する処理は、「基画像取得ステップ」の一例である。図7のS12および図8のS32で目的画像を取得する処理は、「目的画像取得ステップ」の一例である。図8のS35で三次元断層画像を生成する処理は、「三次元断層画像生成ステップ」の一例である。図7のS24に示すセグメンテーション処理は、「セグメンテーションステップ」の一例である。図7のS14~S18で目的画像と基画像を切り替えて表示させる処理は、「切替表示処理」および「切替表示ステップ」の一例である。図7のS21で目的画像と基画像を同時に表示させる処理は、「同時表示処理」および「同時表示ステップ」の一例である。図7のS15で目的画像の動画データを生成する処理は、「動画生成ステップ」の一例である。図2のS1で訓練用眼科画像のセット30を取得する処理は、「画像セット取得ステップ」の一例である。図2のS2~S4で数学モデルを構築する処理は、「訓練ステップ」の一例である。