以下、図面を参照して、実施形態に係る医用画像処理装置、X線診断装置及び医用画像処理プログラムを説明する。
(第1の実施形態)
まず、第1の実施形態について説明する。第1の実施形態では、X線診断装置10、画像保管装置20及び医用画像処理装置30を含んだ医用画像処理システム1について説明する。また、第1の実施形態では、医用画像データの例として、X線診断装置10により収集されるX線画像データについて説明する。
図1は、第1の実施形態に係る医用画像処理システム1の構成の一例を示すブロック図である。図1に示すように、第1の実施形態に係る医用画像処理システム1は、X線診断装置10と、画像保管装置20と、医用画像処理装置30とを備える。図1に示すように、X線診断装置10、画像保管装置20及び医用画像処理装置30は、ネットワークNWを介して相互に接続される。
X線診断装置10は、被検体からX線画像データを収集する装置である。具体的には、X線診断装置10は、被検体をX線撮像してX線画像データを収集し、収集したX線画像データを画像保管装置20及び医用画像処理装置30に対して出力する。なお、X線診断装置10の構成については後述する。
画像保管装置20は、医用画像処理システム1に含まれる装置により収集された各種の医用画像データを保管する装置である。例えば、画像保管装置20は、X線診断装置10により収集されたX線画像データや、医用画像処理装置30による画像処理後のX線画像データを受け付けて、装置内又は装置外に設けられたメモリに記憶させる。例えば、画像保管装置20は、サーバ装置等のコンピュータ機器によって実現される。
医用画像処理装置30は、ネットワークNWを介して、X線診断装置10により収集されたX線画像データを取得し、取得したX線画像データを用いた種々の処理を実行する。例えば、医用画像処理装置30は、X線画像データ上で、医療デバイスに付されたマーカを特定する。また、例えば、医用画像処理装置30は、特定したマーカに基づいて、X線画像データに対する画像処理を実行する。なお、医用画像処理装置30が行なう処理については後述する。例えば、医用画像処理装置30は、ワークステーション等のコンピュータ機器によって実現される。
なお、ネットワークNWを介して接続可能であれば、X線診断装置10、画像保管装置20及び医用画像処理装置30が設置される場所は任意である。例えば、医用画像処理装置30は、X線診断装置10と異なる病院に設置されてもよい。即ち、ネットワークNWは、院内で閉じたローカルネットワークにより構成されてもよいし、インターネットを介したネットワークでもよい。また、図1においてはX線診断装置10を1つ示すが、医用画像処理システム1は複数のX線診断装置10を含んでもよい。
図1に示すように、医用画像処理装置30は、入力インターフェース31と、ディスプレイ32と、記憶回路33と、モデル記憶回路34と、処理回路35とを有する。
入力インターフェース31は、操作者からの各種の入力操作を受け付け、受け付けた入力操作を電気信号に変換して処理回路35に出力する。例えば、入力インターフェース31は、マウスやキーボード、トラックボール、スイッチ、ボタン、ジョイスティック、操作面へ触れることで入力操作を行うタッチパッド、表示画面とタッチパッドとが一体化されたタッチスクリーン、光学センサを用いた非接触入力回路、音声入力回路等により実現される。なお、入力インターフェース31は、医用画像処理装置30本体と無線通信可能なタブレット端末等で構成されることにしても構わない。また、入力インターフェース31は、マウスやキーボード等の物理的な操作部品を備えるものだけに限られない。例えば、医用画像処理装置30とは別体に設けられた外部の入力機器から入力操作に対応する電気信号を受け取り、この電気信号を処理回路35へ出力する電気信号の処理回路も入力インターフェース31の例に含まれる。
ディスプレイ32は、各種の情報を表示する。例えば、ディスプレイ32は、入力インターフェース31を介して操作者から各種指示や各種設定等を受け付けるためのGUI(Graphical User Interface)を表示する。また、ディスプレイ32は、被検体について収集された各種の画像データを表示する。例えば、ディスプレイ32は、処理回路35による画像処理後のX線画像データを表示させる。例えば、ディスプレイ32は、液晶ディスプレイやCRT(Cathode Ray Tube)ディスプレイである。ディスプレイ32は、デスクトップ型でもよいし、医用画像処理装置30本体と無線通信可能なタブレット端末等で構成されることにしても構わない。
記憶回路33は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等により実現される。例えば、記憶回路33は、医用画像処理装置30に含まれる回路がその機能を実現するためのプログラムを記憶する。なお、記憶回路33は、医用画像処理装置30とネットワークNWを介して接続されたサーバ群(クラウド)により実現されることとしてもよい。
モデル記憶回路34は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等により実現される。例えば、モデル記憶回路34は、画像データの入力を受けて入力された画像データの解析結果を出力するように機能付けられた学習済みモデルM1を記憶する。なお、学習済みモデルM1については後述する。モデル記憶回路34は、クラウドにより実現されることとしてもよい。
処理回路35は、取得機能351、検出機能352、抽出機能353、解析機能354、特定機能355、モデル生成機能356、画像処理機能357及び制御機能358を実行することで、医用画像処理装置30全体の動作を制御する。ここで、取得機能351は、取得部の一例である。また、検出機能352は、検出部の一例である。また、抽出機能353は、抽出部の一例である。また、解析機能354は、解析部の一例である。また、特定機能355は、特定部の一例である。また、モデル生成機能356は、モデル生成部の一例である。また、画像処理機能357は、画像処理部の一例である。また、処理回路35は、処理部の一例である。
例えば、処理回路35は、取得機能351に対応するプログラムを記憶回路33から読み出して実行することにより、X線診断装置10により収集されたX線画像データを取得する。例えば、取得機能351は、X線診断装置10から、複数のマーカを有する医療デバイスを撮像した時系列の複数のX線画像データを取得する。また、例えば、処理回路35は、検出機能352に対応するプログラムを記憶回路33から読み出して実行することにより、X線画像データ上で、医療デバイスに付されたマーカの候補点を少なくとも3つ検出する。また、処理回路35は、抽出機能353に対応するプログラムを記憶回路33から読み出して実行することにより、X線画像データから検出された少なくとも3つの候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域をX線画像データから抽出する。また、処理回路35は、解析機能354に対応するプログラムを記憶回路33から読み出して実行することにより、学習済みモデルM1を用いて、X線画像データから抽出した複数の領域それぞれを解析する。また、処理回路35は、特定機能355に対応するプログラムを記憶回路33から読み出して実行することにより、解析結果に基づいて、複数の候補対の中から一又は複数の対を特定する。また、処理回路35は、モデル生成機能356に対応するプログラムを記憶回路33から読み出して実行することにより、学習済みモデルM1を生成する。また、処理回路35は、画像処理機能357に対応するプログラムを記憶回路33から読み出して実行することにより、特定機能355が特定した一又は複数の対に基づいて、X線画像データに対する画像処理を実行する。なお、取得機能351、検出機能352、抽出機能353、解析機能354、特定機能355、モデル生成機能356及び画像処理機能357による処理については後に詳述する。
また、例えば、処理回路35は、制御機能358に対応するプログラムを記憶回路33から読み出して実行することにより、画像処理機能357による画像処理後のX線画像データをディスプレイ32に表示させる。また、制御機能358は、画像処理機能357による画像処理後のX線画像データを、X線診断装置10及び画像保管装置20に対して送信する。
図1に示す医用画像処理装置30においては、各処理機能がコンピュータによって実行可能なプログラムの形態で記憶回路33へ記憶されている。処理回路35は、記憶回路33からプログラムを読み出して実行することで各プログラムに対応する機能を実現するプロセッサである。換言すると、各プログラムを読み出した状態の処理回路35は、読み出したプログラムに対応する機能を有することとなる。
なお、図1においては単一の処理回路35にて、取得機能351、検出機能352、抽出機能353、解析機能354、特定機能355、モデル生成機能356、画像処理機能357及び制御機能358が実現するものとして説明したが、複数の独立したプロセッサを組み合わせて処理回路35を構成し、各プロセッサがプログラムを実行することにより機能を実現するものとしても構わない。また、処理回路35が有する各処理機能は、単一又は複数の処理回路に適宜に分散又は統合されて実現されてもよい。
次に、図2を用いて、X線診断装置10について説明する。図2は、第1の実施形態に係るX線診断装置10の構成の一例を示すブロック図である。図2に示すように、X線診断装置10は、X線高電圧装置101と、X線管102と、X線絞り器103と、天板104と、Cアーム105と、X線検出器106と、記憶回路107と、ディスプレイ108と、入力インターフェース109と、処理回路110とを備える。
X線高電圧装置101は、処理回路110による制御の下、X線管102に高電圧を供給する。例えば、X線高電圧装置101は、変圧器(トランス)及び整流器等の電気回路を有し、X線管102に印加する高電圧を発生する高電圧発生装置と、X線管102が照射するX線に応じた出力電圧の制御を行うX線制御装置とを有する。なお、高電圧発生装置は、変圧器方式であってもよいし、インバータ方式であってもよい。
X線管102は、熱電子を発生する陰極(フィラメント)と、熱電子の衝突を受けてX線を発生する陽極(ターゲット)とを有する真空管である。X線管102は、X線高電圧装置101から供給される高電圧を用いて、陰極から陽極に向けて熱電子を照射することにより、X線を発生する。
X線絞り器103は、X線管102により発生されたX線の照射範囲を絞り込むコリメータと、X線管102から曝射されたX線を調節するフィルタとを有する。
X線絞り器103におけるコリメータは、例えば、スライド可能な4枚の絞り羽根を有する。コリメータは、絞り羽根をスライドさせることで、X線管102が発生したX線を絞り込んで被検体Pに照射させる。ここで、絞り羽根は、鉛などで構成された板状部材であり、X線の照射範囲を調整するためにX線管102のX線照射口付近に設けられる。
X線絞り器103におけるフィルタは、被検体Pに対する被曝線量の低減とX線画像データの画質向上を目的として、その材質や厚みによって透過するX線の線質を変化させ、被検体Pに吸収されやすい軟線成分を低減したり、X線画像データのコントラスト低下を招く高エネルギー成分を低減したりする。また、フィルタは、その材質や厚み、位置などによってX線の線量及び照射範囲を変化させ、X線管102から被検体Pへ照射されるX線が予め定められた分布になるようにX線を減衰させる。
例えば、X線絞り器103は、モータ及びアクチュエータ等の駆動機構を有し、後述する処理回路110による制御の下、駆動機構を動作させることによりX線の照射を制御する。例えば、X線絞り器103は、処理回路110から受け付けた制御信号に応じて駆動電圧を駆動機構に付加することにより、コリメータの絞り羽根の開度を調整して、被検体Pに対して照射されるX線の照射範囲を制御する。また、例えば、X線絞り器103は、処理回路110から受け付けた制御信号に応じて駆動電圧を駆動機構に付加することにより、フィルタの位置を調整することで、被検体Pに対して照射されるX線の線量の分布を制御する。
天板104は、被検体Pを載せるベッドであり、図示しない寝台の上に配置される。なお、被検体Pは、X線診断装置10に含まれない。例えば、寝台は、モータ及びアクチュエータ等の駆動機構を有し、後述する処理回路110による制御の下、駆動機構を動作させることにより、天板104の移動・傾斜を制御する。例えば、寝台は、処理回路110から受け付けた制御信号に応じて駆動電圧を駆動機構に付加することにより、天板104を移動させたり、傾斜させたりする。
Cアーム105は、X線管102及びX線絞り器103と、X線検出器106とを、被検体Pを挟んで対向するように保持する。例えば、Cアーム105は、モータ及びアクチュエータ等の駆動機構を有し、後述する処理回路110による制御の下、駆動機構を動作させることにより、回転したり移動したりする。例えば、Cアーム105は、処理回路110から受け付けた制御信号に応じて駆動電圧を駆動機構に付加することにより、X線管102及びX線絞り器103と、X線検出器106とを被検体Pに対して回転・移動させ、X線の照射位置や照射角度を制御する。なお、図2では、X線診断装置10がシングルプレーンの場合を例に挙げて説明しているが、実施形態はこれに限定されるものではなく、バイプレーンの場合であってもよい。
X線検出器106は、例えば、マトリクス状に配列された検出素子を有するX線平面検出器(Flat Panel Detector:FPD)である。X線検出器106は、X線管102から照射されて被検体Pを透過したX線を検出して、検出したX線量に対応した検出信号を処理回路110へと出力する。なお、X線検出器106は、グリッド、シンチレータアレイ及び光センサアレイを有する間接変換型の検出器であってもよいし、入射したX線を電気信号に変換する半導体素子を有する直接変換型の検出器であっても構わない。
記憶回路107は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等により実現される。例えば、記憶回路107は、処理回路110によって収集されたX線画像データを受け付けて記憶する。また、記憶回路107は、処理回路110によって読み出されて実行される各種機能に対応するプログラムを記憶する。なお、記憶回路107は、クラウドにより実現されることとしてもよい。
ディスプレイ108は、各種の情報を表示する。例えば、ディスプレイ108は、処理回路110による制御の下、操作者の指示を受け付けるためのGUIや、各種のX線画像を表示する。例えば、ディスプレイ108は、液晶ディスプレイやCRTディスプレイである。なお、ディスプレイ108はデスクトップ型でもよいし、処理回路110と無線通信可能なタブレット端末等で構成されることにしても構わない。
入力インターフェース109は、操作者からの各種の入力操作を受け付け、受け付けた入力操作を電気信号に変換して処理回路110に出力する。例えば、入力インターフェース109は、マウスやキーボード、トラックボール、スイッチ、ボタン、ジョイスティック、操作面へ触れることで入力操作を行うタッチパッド、表示画面とタッチパッドとが一体化されたタッチスクリーン、光学センサを用いた非接触入力回路、音声入力回路等により実現される。なお、入力インターフェース109は、処理回路110と無線通信可能なタブレット端末等で構成されることにしても構わない。また、入力インターフェース109は、マウスやキーボード等の物理的な操作部品を備えるものだけに限られない。例えば、X線診断装置10とは別体に設けられた外部の入力機器から入力操作に対応する電気信号を受け取り、この電気信号を処理回路110へ出力する電気信号の処理回路も入力インターフェース109の例に含まれる。
処理回路110は、収集機能110a、表示制御機能110b及び送信機能110cを実行することで、X線診断装置10全体の動作を制御する。
例えば、処理回路110は、記憶回路107から収集機能110aに相当するプログラムを読み出して実行することにより、被検体PをX線撮像して、X線画像データを収集する。例えば、収集機能110aは、X線高電圧装置101を制御し、X線管102に供給する電圧を調整することで、被検体Pに対して照射されるX線量やオン/オフを制御する。
また、例えば、収集機能110aは、X線管102、X線絞り器103、天板104、Cアーム105及びX線検出器106の動作を制御することにより、X線の照射範囲やX線の線量の分布、X線の照射角度等を制御する。具体的には、収集機能110aは、X線絞り器103の動作を制御し、コリメータが有する絞り羽根の開度を調整することで、被検体Pに対して照射されるX線の照射範囲を制御する。また、収集機能110aは、X線絞り器103の動作を制御し、フィルタの位置を調整することで、X線の線量の分布を制御する。また、収集機能110aは、Cアーム105を回転させたり、移動させたりすることで、X線の照射範囲及び照射角度を制御する。また、収集機能110aは、天板104を移動させたり、傾斜させたりすることで、X線の照射範囲及び照射角度を制御する。また、収集機能110aは、X線検出器106から受信した検出信号に基づいてX線画像データを生成し、生成したX線画像データを記憶回路107に格納する。
また、処理回路110は、記憶回路107から表示制御機能110bに相当するプログラムを読み出して実行することにより、各種のX線画像データをディスプレイ108に表示させる。例えば、表示制御機能110bは、収集機能110aが収集したX線画像データや、医用画像処理装置30による画像処理後のX線画像データをディスプレイ108に表示させる。また、処理回路110は、記憶回路107から送信機能110cに相当するプログラムを読み出して実行することにより、収集機能110aが収集したX線画像データを、医用画像処理装置30に対して送信する。
図2に示すX線診断装置10においては、各処理機能がコンピュータによって実行可能なプログラムの形態で記憶回路107へ記憶されている。処理回路110は、記憶回路107からプログラムを読み出して実行することで各プログラムに対応する機能を実現するプロセッサである。換言すると、プログラムを読み出した状態の処理回路110は、読み出したプログラムに対応する機能を有することとなる。
なお、図2においては単一の処理回路110にて、収集機能110a、表示制御機能110b及び送信機能110cが実現するものとして説明したが、複数の独立したプロセッサを組み合わせて処理回路110を構成し、各プロセッサがプログラムを実行することにより機能を実現するものとしても構わない。また、処理回路110が有する各処理機能は、単一又は複数の処理回路に適宜に分散又は統合されて実現されてもよい。
上記説明において用いた「プロセッサ」という文言は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、あるいは、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(Simple Programmable Logic Device:SPLD)、複合プログラマブル論理デバイス(Complex Programmable Logic Device:CPLD)、及びフィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA))等の回路を意味する。プロセッサは記憶回路33又は記憶回路107に保存されたプログラムを読み出し実行することで機能を実現する。
なお、図1及び図2においては、単一の記憶回路33又は記憶回路107が各処理機能に対応するプログラムを記憶するものとして説明した。しかしながら、実施形態はこれに限定されるものではない。例えば、複数の記憶回路33を分散して配置し、処理回路35は、個別の記憶回路33から対応するプログラムを読み出す構成としても構わない。同様に、複数の記憶回路107を分散して配置し、処理回路110は、個別の記憶回路107から対応するプログラムを読み出す構成としても構わない。また、記憶回路33及び記憶回路107にプログラムを保存する代わりに、プロセッサの回路内にプログラムを直接組み込むよう構成しても構わない。この場合、プロセッサは回路内に組み込まれたプログラムを読み出し実行することで機能を実現する。
また、処理回路35及び処理回路110は、ネットワークNWを介して接続された外部装置のプロセッサを利用して、機能を実現することとしてもよい。例えば、処理回路35は、記憶回路33から各機能に対応するプログラムを読み出して実行するとともに、医用画像処理装置30とネットワークNWを介して接続されたサーバ群(クラウド)を計算資源として利用することにより、図1に示す各機能を実現する。
以上、X線診断装置10、画像保管装置20及び医用画像処理装置30を含んだ医用画像処理システム1について説明した。かかる構成のもと、医用画像処理システム1における医用画像処理装置30は、処理回路35による処理によって、X線画像データ上でのマーカ特定の精度を向上させる。
まず、X線診断装置10における収集機能110aは、複数のマーカを有する医療デバイスを撮像したX線画像データを収集する。ここで、マーカとは、例えば、医療デバイスに付されるX線不透過の金属であり、X線画像データ上に比較的明瞭に描出される。従って、X線画像データ上の医療デバイスが不明瞭な場合でも、マーカによりX線画像データ上の医療デバイスを特定することができる。なお、マーカが1つのみである場合、X線画像データ上で医療デバイスの位置は特定できるにしても、向きが特定できないため、通常は複数のマーカが医療デバイスに付される。以下では一例として、医療デバイスに2つのマーカが付されているものとして説明する。
また、医療デバイスとは、例えば、被検体Pの体内に挿入されるカテーテルやガイドワイヤ、ステント等である。なお、マーカが付される医療デバイスの種類は、治療対象部位や手技の目的に応じて変化する。即ち、マーカは、カテーテルに付される場合もあれば、ガイドワイヤに付される場合もあり、ステントに付される場合もある。一例を挙げると、バルーン付きカテーテルを用いたステント留置術では、バルーン付きカテーテルのバルーン部分にマーカが付される。別の例を挙げると、被検体Pの脳内血管に対するステント留置術では、ステント自体にマーカが付される。
次に、送信機能110cは、収集機能110aが収集したX線画像データを医用画像処理装置30に対して送信する。ここで、取得機能351は、X線診断装置10から送信されたX線画像データを受信することにより、X線画像データを取得する。例えば、取得機能351は、X線診断装置10によりX線画像データが収集されるごとに、収集されたX線画像データを順次取得する。即ち、取得機能351は、時系列の複数のX線画像データを取得する。
次に、検出機能352は、取得機能351が取得したX線画像データ上で、医療デバイスが有する2つのマーカの候補点を検出する。例えば、検出機能352は、パターンマッチングにより、2つのマーカの候補点を検出する。一例を挙げると、検出機能352は、マーカの形状を模したカーネルを用いて、X線画像データ上の各位置について類似度を算出し、類似度が閾値以上となる位置を候補点として検出する。
ここで、2つのマーカに対応する2つの候補点のみ検出されることが理想ではあるものの、種々の要因により、マーカの誤検出が生じる場合がある。例えば、検出機能352は、X線画像データに生じたノイズを候補点として検出してしまう場合がある。また、例えば、検出機能352は、X線画像データに現れた被検体Pの骨のエッジを候補点として検出してしまう場合がある。即ち、検出機能352は、2つのマーカに対して、3つ以上の候補点を検出してしまう場合がある。なお、パターンマッチングにおける類似度の閾値を高く設定することにより、検出する候補点の数を制限することが可能である。しかしながら、この場合、検出機能352は、マーカに対応する候補点を検出し損ねる場合がある。
そこで、抽出機能353、解析機能354及び特定機能355は、検出機能352が3つ以上の候補点を検出した場合、検出された3つ以上の候補点の中から、医療デバイスが有する2つのマーカに対応する2つの候補点を特定する。具体的には、抽出機能353は、検出された3つ以上の候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域をX線画像データから抽出する。また、解析機能354は、学習済みモデルM1に複数の領域を入力することによって、複数の領域それぞれを解析する。また、特定機能355は、解析結果に基づいて、複数の候補対の中から、医療デバイスが有する2つのマーカに対応する一の対を特定する。なお、検出機能352が2つの候補点を検出した場合、例えば、抽出機能353は、検出された2つの候補点から候補対を作成し、特定機能355は、作成された候補対を、医療デバイスが有する2つのマーカに対応する一の対として特定することができる。
以下、検出機能352が検出した少なくとも3つの候補点の中から2つの候補点を特定する処理について詳細に説明する。まず、学習済みモデルM1の生成処理について、図3を用いて説明する。図3は、第1の実施形態に係る学習済みモデルM1の生成処理について説明するための図である。モデル生成機能356は、被検体PからのX線画像データの収集が開始されるよりも前に学習済みモデルM1を生成し、生成した学習済みモデルM1をモデル記憶回路34に記憶させる。
まず、モデル生成機能356は、学習済みモデルM1の学習に用いる学習データセットを生成する。例えば、モデル生成機能356は、過去の検査においてマーカの特定が行われた複数のX線画像データを取得する。ここで、モデル生成機能356が取得するX線画像データは、被検体PのX線画像データであってもよいし、他の被検体のX線画像データであってもよい。
図3においては一例として、モデル生成機能356が、X線画像データI11及びX線画像データI12を含む複数のX線画像データを取得した場合について説明する。X線画像データI11及びX線画像データI12は、マーカD11及びマーカD12を有するガイドワイヤD14を撮像した画像データである。なお、マーカD11とマーカD12との間には、ステントD13が配置される。ステントD13は、血管内に留置するために拡張されている途中のものであってもよいし、拡張前のものであってもよい。
次に、モデル生成機能356は、過去の検査におけるマーカの特定結果に基づいて、各X線画像データから領域を抽出する。例えば、モデル生成機能356は、図3に示すように、X線画像データI11上に点線で示す矩形領域を、画像データI111として抽出する。ここで、モデル生成機能356は、X線画像データI11上で特定されたマーカ間の距離に応じて、画像データI111を抽出する。即ち、モデル生成機能356は、マーカ間の距離に応じてサイズを調整した矩形領域を、画像データI111として抽出する。また、モデル生成機能356は、X線画像データI11上で特定されたマーカ対の向きに応じて、画像データI111を抽出する。即ち、モデル生成機能356は、マーカ対の向きに応じて回転させた矩形領域を、画像データI111として抽出する。
ここで、X線画像データI11は、マーカが正しく特定された画像データの例である。この場合、X線画像データI11から抽出される画像データI111においては、所定の位置にマーカD11及びマーカD12が配置されることとなる。例えば、図3に示す場合、画像データI111におけるマーカD11及びマーカD12は、いずれも画像のふち近傍に位置し、且つ、画像中央で縦に並ぶように配置される。
同様に、モデル生成機能356はX線画像データI12上に点線で示す矩形領域を、画像データI121として抽出する。ここで、モデル生成機能356は、X線画像データI11上で特定されたマーカ間の距離に応じて、画像データI121を抽出する。また、モデル生成機能356は、X線画像データI11上で特定されたマーカ対の向きに応じて、画像データI121を抽出する。
ここで、X線画像データI12は、マーカが正しく特定されなかった画像データの例である。具体的には、X線画像データI12は、マーカD12については正しく特定されたものの、マーカD11と誤って骨のエッジ部分を特定してしまった場合を示す。この場合、X線画像データI12から抽出される画像データI121において、マーカD11は、所定の位置に配置されないこととなる。例えば、図3に示す場合、マーカD11は画像データI121に含まれていない。
次に、モデル生成機能356は、複数のX線画像データから抽出した各画像データについて、画像サイズを調整する。具体的には、モデル生成機能356は、図3に示すように、画像データI111や画像データI121について画像サイズが一定となるようにリサイズを行なう。以下、画像サイズを調整した画像データI111を、画像データI111’と記載する。また、画像サイズを調整した画像データI121を、画像データI121’と記載する。
次に、モデル生成機能356は、画像サイズを調整した画像データについて、マーカが正しく特定されたか否かを示す情報を付加することにより、学習データを生成する。即ち、モデル生成機能356は、画像データI111’や画像データI121’等の画像データと、マーカが正しく特定されたか否かを示す情報とを組み合わせることにより、学習データを生成する。
例えば、X線画像データI11においてはマーカが正しく特定されているため、モデル生成機能356は、X線画像データI11に基づく画像データI111’に対して、マーカが正しく特定されたことを示す情報「○」を付加する。一方で、X線画像データI12においてはマーカが正しく特定されていないため、モデル生成機能356は、X線画像データI12に基づく画像データI121’に対して、マーカが正しく特定されていないことを示す情報「×」を付加する。
なお、各X線画像データについてマーカが正しく特定されたか否かの判定は、操作者が行ってもよいし、モデル生成機能356が自動で行ってもよい。一例を挙げると、モデル生成機能356は、X線画像データと、マーカの特定結果に基づく矩形領域との重畳画像を表示させる。そして、操作者は、矩形領域内の所定の位置にマーカが現れているか否かに応じてマーカが正しく特定されているか否かを判定し、入力インターフェース109を介して、判定の結果を入力する。
別の例を挙げると、モデル生成機能356は、時系列の複数のX線画像データを、マーカの特定結果に基づいて表示位置を補正しながら、連続的に表示させる。ここで、操作者は、表示に乱れが生じているか否かを判断する。即ち、時系列の複数のX線画像データにおいてマーカが正しく特定されている場合、表示位置は適切に補正され、マーカが付された医療デバイスの表示位置は固定される。一方で、時系列の複数のX線画像データの中にマーカが正しく特定されていないX線画像データがある場合、このX線画像データが表示される時のみ、医療デバイスが異なる位置及び向きで表示され、或いは医療デバイスが画像内に表示されなくなる。
例えば、表示に乱れが生じなかった場合、操作者は、表示された時系列の複数のX線画像データについてマーカが正しく特定されていると判定し、入力インターフェース109を介して判定の結果を入力する。一方で、表示に乱れが生じた場合、操作者は、乱れが生じた時に表示されていたX線画像データについてマーカが正しく特定されていないと判定するとともに、他のX線画像データについてはマーカが正しく特定されていると判定して、判定の結果を入力する。
別の例を挙げると、モデル生成機能356は、時系列の複数のX線画像データのそれぞれについて、マーカの特定結果に基づいて表示位置を補正した場合の表示領域を特定する。次に、モデル生成機能356は、各表示領域の中の平均画素値を算出する。ここで、時系列の複数のX線画像データについてマーカが正しく特定されている場合、表示領域内の平均画素値は、時間的に連続的な変化を示す。一方で、時系列の複数のX線画像データの中にマーカが正しく特定されていないX線画像データがある場合、このX線画像データの表示領域内の平均画素値は、前後のX線画像データの表示領域内の平均画素値と比較して大幅に変化する。
従って、モデル生成機能356は、表示領域内の平均画素値の変化に応じて、各X線画像データについてマーカが正しく特定されているか否かを判定することができる。例えば、モデル生成機能356は、表示領域内の平均画素値の変化量について閾値を設け、変化量が閾値を超えるX線画像データについてマーカが正しく特定されていないと判定する。なお、表示領域内の平均画素値を例に説明したが、モデル生成機能356は、表示領域内の画素値に関する他の統計量を用いてもよい。また、モデル生成機能356は、表示領域内の画素値についてヒストグラムを作成し、ヒストグラムの変化に応じて、各X線画像データについてマーカが正しく特定されているか否かを判定することとしてもよい。
上述したように、モデル生成機能356は、画像サイズを調整した画像データ(画像データI111’や画像データI121’等)と、マーカが正しく特定されたか否かを示す情報との組み合わせから成る学習データを生成する。モデル生成機能356は、このような学習データを複数生成することで、図4に示す学習データセットを生成する。なお、図4は、第1の実施形態に係る学習データセットの例を示す図である。次に、モデル生成機能356は、生成した学習データセットを用いて機械学習を実行することにより、学習済みモデルM1を生成する。
学習済みモデルM1は、例えば、ニューラルネットワーク(Neural Network)により構成することができる。ニューラルネットワークとは、層状に並べた隣接層間が結合した構造を有し、情報が入力層側から出力層側に伝播するネットワークである。例えば、モデル生成機能356は、図4に示した入力側データ(画像データI111’や画像データI121’等)をニューラルネットワークに入力する。ここで、ニューラルネットワークにおいては、入力層側から出力層側に向かって一方向に、隣接層間でのみ結合しながら情報が伝播する。
例えば、モデル生成機能356は、図4に示した学習データセットを用いて、多層のニューラルネットワークについて深層学習(ディープラーニング)を実行することで、学習済みモデルM1を生成する。なお、多層のニューラルネットワークは、例えば、入力層と、複数の中間層(隠れ層)と、出力層とにより構成される。このようなニューラルネットワークでは、パラメータを調整することにより、任意の関数を表現することができる。
例えば、ニューラルネットワークは、入力された画像データと、マーカが正しく特定されている確度との関係を示したロジスティック曲線を表現することができる。この場合、ニューラルネットワークは、例えば、確度に基づく分類結果を出力することができる。例えば、ニューラルネットワークは、画像データの入力を受けて、マーカが正しく特定されていることを示すクラス「○」と、マーカが正しく特定されていないことを示すクラス「×」とへの確度付き二値分類を行なうことができる。
そして、モデル生成機能356は、画像データI111’や画像データI121’等の入力側データを入力した際にニューラルネットワークが好ましい結果を出力することができるよう、ニューラルネットワークのパラメータを調整する。例えば、モデル生成機能356は、ニューラルネットワークからの出力と、図4に示した出力側データとの不整合を解消するように、ニューラルネットワークのパラメータを調整する。これにより、モデル生成機能356は、画像データの入力を受けて確度付き二値分類を実行するように機能付けられた学習済みモデルM1を生成することができる。換言すると、モデル生成機能356は、入力された画像データの解析結果を出力するように機能付けられた学習済みモデルM1を生成することができる。
なお、学習済みモデルM1がニューラルネットワークにより構成されるものとして説明したが、実施形態はこれに限定されるものではない。即ち、モデル生成機能356は、ニューラルネットワーク以外の機械学習手法により、学習済みモデルM1を生成してもよい。例えば、モデル生成機能356は、SVM(サポートベクターマシン)等のデータの分類を行う機械学習手法によって、入力された画像データの解析結果を出力するように機能付けられた学習済みモデルM1を生成してもよい。
モデル生成機能356が学習済みモデルM1を生成してモデル記憶回路34に記憶させた後、X線診断装置10は被検体PからX線画像データを収集し、取得機能351は、X線診断装置10からX線画像データを取得する。例えば、取得機能351は、X線診断装置10から時系列の複数のX線画像データを取得する。以下、被検体Pから収集されたX線画像データの例として、図5Aに示すX線画像データI21について説明する。図5Aは、第1の実施形態に係るX線画像データの一例を示す図である。図5に示すように、X線画像データI21は、マーカD21及びマーカD22を有するガイドワイヤD24を撮像した画像データである。なお、マーカD21とマーカD22との間には、ステントD23が配置される。
検出機能352は、取得機能351が取得したX線画像データI21上で、マーカD21及びマーカD22の候補点を検出する。例えば、検出機能352は、パターンマッチングにより、マーカD21及びマーカD22の候補点を検出する。一例を挙げると、検出機能352は、マーカD21及びマーカD22の形状を模したカーネルを用いて、X線画像データI21上の各位置について類似度を算出し、類似度が閾値以上となる位置を、マーカD21及びマーカD22の候補点として検出する。
なお、検出機能352は、パターンマッチングに加え、種々の手法を用いてマーカD21及びマーカD22の候補点を検出することができる。例えば、検出機能352は、パターンマッチング及び固定物除去処理を実行することで、マーカD21及びマーカD22の候補点を検出する。ここで、固定物とは、時系列の複数のX線画像データにおいて、X線画像データ上の位置が時間方向に固定されている対象物である。
例えば、検出機能352は、パターンマッチングにより、骨のエッジ部分を検出してしまうことがある。ここで、通常、被検体Pの心拍や呼吸等に応じて動いてしまう医療デバイスとは異なり、骨の位置は固定されている。従って、検出機能352は、パターンマッチングにより検出したX線画像データ上の位置のうち固定物を除く位置を候補点として検出することで、候補点検出の精度を向上させることができる。なお、以下では一例として、候補点C11、候補点C12、候補点C13及び候補点C14の4つの候補点が検出されたものとして説明する。
また、検出機能352は、候補点の検出結果を示す情報をX線画像データI21に対して付加する。例えば、検出機能352は、X線画像データI21上に、候補点C11、候補点C12、候補点C13及び候補点C14のそれぞれを示すラベルを付加する。以下、候補点の検出結果を示す情報が付加されたX線画像データI21を、X線画像データI21aと記載する。
次に、抽出機能353は、検出機能352が検出した4つの候補点の中から複数の候補対を選択する。換言すると、抽出機能353は、検出機能352が検出した4つの候補点の中から複数の候補対を作成する。例えば、抽出機能353は、候補点C11、候補点C12、候補点C13及び候補点C14の中から、候補対(C11,C12)、候補対(C11,C13)、候補対(C11,C14)、候補対(C12,C13)、候補対(C12,C14)、及び、候補対(C13,C14)の6つの候補対を選択する。なお、抽出機能353は、検出機能352が検出した4つの候補点の中から全ての候補対を選択してもよいし、一部の候補対のみを選択してもよい。例えば、抽出機能353は、候補対における候補点間の距離について閾値を設け、閾値を満たす候補対のみを選択するようにしてもよい。
次に、抽出機能353は、選択した複数の候補対それぞれに対応する複数の領域をX線画像データI21aから抽出する。例えば、抽出機能353は、図5Bに示すように、X線画像データI21aから、候補対(C11,C13)に対応する領域I212を抽出する。ここで、抽出機能353は、候補対(C11,C13)における候補点間の距離に応じて、領域I212を抽出する。例えば、抽出機能353は、候補点間の距離に応じてサイズを調整した矩形領域を、領域I212として抽出する。また、抽出機能353は、候補対(C11,C13)の向きに応じて、領域I212を抽出する。例えば、抽出機能353は、候補対(C11,C13)の向きに応じて回転させた矩形領域を、領域I212として抽出する。なお、図5Bは、第1の実施形態に係る抽出処理について説明するための図である。
なお、図5Bはあくまで一例であり、X線画像データI21aからの領域抽出については種々の変形が可能である。例えば、図5Bに示す領域I212においては、候補点C11及び候補点C13がいずれも画像のふち近傍に位置し、且つ、画像中央で縦に並ぶように配置されている。しかしながら、抽出機能353は、例えば、候補点C11及び候補点C13が画像のふちの上に位置するように領域I212を抽出してもよいし、候補点C11及び候補点C13が画像外に位置するように領域I212を抽出してもよい。なお、後述する解析機能354による解析精度を向上させる上で、X線画像データI21aからの領域抽出は、学習済みモデルM1の生成に用いられた学習データ(図3の画像データI111’や画像データI121’等)と同様の条件で行われることが好ましい。
また、図5Bに示す領域I212は、略正方形の形状を有している。しかしながら、抽出機能353は、例えば、候補点C11及び候補点C13が並ぶ方向に長い長方形の領域を、領域I212として抽出してもよい。これにより、抽出した領域I212の中に他の対象物(例えば、ステントD23とは別のステント等)が含まれる可能性を低減し、後述する解析機能354による解析精度を向上させることができる。
同様に、抽出機能353は、X線画像データI21aから、候補対(C12,C13)に対応する領域I214を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C11,C12)に対応する領域I211(図示せず)を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C11,C14)に対応する領域I213(図示せず)を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C12,C14)に対応する領域I215(図示せず)を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C13,C14)に対応する領域I216(図示せず)を抽出する。
次に、解析機能354は、抽出機能353が抽出した複数の領域それぞれについて、画像サイズを調整する。例えば、解析機能354は、図5Bに示すように、領域I212や領域I214について画像サイズが一定となるようにリサイズを行なう。ここで、解析機能354は、図3に示した画像データI111’や画像データI121’と画像サイズを揃えるようにリサイズを行なう。即ち、解析機能354は、抽出機能353が抽出した複数の領域それぞれについて、学習済みモデルM1における学習データと画像サイズを揃える。以下、画像サイズを調整した領域I211、領域I212、領域I213、領域I214、領域I215及び領域I216を、それぞれ、領域I211’、領域I212’、領域I213’、領域I214’、領域I215’及び領域I216’と記載する。
次に、解析機能354は、領域I211’~領域I216’それぞれを解析する。例えば、解析機能354は、モデル記憶回路34から学習済みモデルM1を読み出し、読み出した学習済みモデルM1に領域I211’~領域I216’を入力することによって、領域I211’~領域I216’それぞれを解析する。
例えば、解析機能354は、図6Aに示すように、学習済みモデルM1に領域I212’を入力する。ここで、学習済みモデルM1は、領域I212’の入力を受けて、領域I212’における候補対(C11,C13)がマーカD21及びマーカD22に対応することを示すクラス「○」と、候補対(C11,C13)がマーカD21及びマーカD22に対応しないことを示すクラス「×」とへの確度付き二値分類を行なう。なお、図6Aは、第1の実施形態に係る解析処理について説明するための図である。
即ち、解析機能354は、学習済みモデルM1に領域I212’を入力することによって、領域I212’について確度付き二値分類を行ない、候補対(C11,C13)がマーカD21及びマーカD22に対応する確度を算出する。一例を挙げると、学習済みモデルM1は、図6Aに示すように、領域I212’の解析結果として、「○(92%)」を出力する。解析結果「○(92%)」は、「92%」の確度で、候補対(C11,C13)がマーカD21及びマーカD22に対応することを示す。
同様に、解析機能354は、学習済みモデルM1に領域I211’を入力することによって、領域I211’について確度付き二値分類を行ない、候補対(C11,C12)についてマーカD21及びマーカD22に対応する確度を算出する。一例を挙げると、学習済みモデルM1は、図6Bに示すように、領域I211’の解析結果として、「×(83%)」を出力する。解析結果「×(83%)」は、「83%」の確度で、候補対(C11,C12)がマーカD21及びマーカD22に対応しないことを示す。同様に、学習済みモデルM1は、領域I213’の解析結果として「×(78%)」を出力し、領域I214’の解析結果として「×(66%)」を出力し、領域I215’の解析結果として「×(97%)」を出力し、領域I216’の解析結果として「○(55%)」を出力する。なお、図6Bは、第1の実施形態に係る解析処理について説明するための図である。
次に、特定機能355は、解析機能354による解析結果に基づいて、複数の候補対の中から、マーカD21及びマーカD22に対応する対を特定する。例えば、特定機能355は、まず、解析機能354による解析結果に基づいて、領域I211’~領域I216’の中から、クラス「○」に分類され且つ確度が最も高い領域を特定する。例えば、図6Bに示す場合、特定機能355は、領域I211’~領域I216’の中から、領域I212’を特定する。そして、特定機能355は、領域I212’における候補対(C11,C13)を、マーカD21及びマーカD22に対応する対として特定する。換言すると、特定機能355は、候補点C11及び候補点C13を、マーカD21及びマーカD22に対応する候補点として特定する。
次に、画像処理機能357は、特定機能355が特定した対に基づいて、X線画像データI21に対する画像処理を実行する。例えば、画像処理機能357は、特定機能355が特定した候補対(C11,C13)に応じて、X線画像データI21の表示位置を補正する処理を実行する。
例えば、画像処理機能357は、まず、候補対(C11,C13)に応じてX線画像データI21の領域を抽出する。一例を挙げると、画像処理機能357は、所定のサイズを有する矩形領域であって、候補対(C11,C13)を所定の位置及び向きで含む領域を、X線画像データI21から抽出する。次に、制御機能358は、画像処理機能357が抽出した領域をディスプレイ32に表示させる。X線画像データI21の後に収集された時系列の複数のX線画像データについても同様に、画像処理機能357は、特定機能355が特定した対に応じて領域を抽出し、制御機能358は、画像処理機能357が抽出した領域をディスプレイ32に表示させる。これにより、マーカD21及びマーカD22について表示位置が固定される。即ち、画像処理機能357は、特定機能355が特定した対に基づく画像処理により、マーカD21及びマーカD22を有する医療デバイスの表示位置を固定することができる。
また、画像処理機能357は、特定機能355が特定した対に基づいて、時間方向のフィルタ処理を更に行なってもよい。例えば、X線画像データI21の後に、X線画像データI22、X線画像データI23及びX線画像データI24が順次収集された場合、画像処理機能357は、X線画像データI21、X線画像データI22、X線画像データI23及びX線画像データI24のそれぞれについて、特定機能355が特定した対に応じて領域を抽出する。次に、画像処理機能357は、時間方向に連続する複数のX線画像データから抽出した複数の領域を加算する。例えば、画像処理機能357は、X線画像データI23から抽出した領域に対して、X線画像データI21から抽出した領域、及び、X線画像データI22から抽出した領域を加算する。また、例えば、画像処理機能357は、X線画像データI24から抽出した領域に対して、X線画像データI22から抽出した領域、及び、X線画像データI23から抽出した領域を加算する。そして、制御機能358は、画像処理機能357による加算処理後の領域を、ディスプレイ32に表示させる。
なお、時間方向に連続する複数の画像データを加算する処理については、リカーシブフィルタ処理とも記載する。即ち、画像処理機能357は、特定機能355が特定した対に基づいて、リカーシブフィルタ処理を行なう。これにより、画像処理機能357は、マーカD21及びマーカD22を有する医療デバイスの表示位置を固定するとともに、医療デバイスを明瞭に表示させることができる。
例えば、X線画像データにおいてステントを示す信号は比較的弱く、収集されたX線画像データをそのまま表示させる場合には、通常、操作者がステントの形状を認識することはできない。ここで、リカーシブフィルタ処理によって、複数のX線画像データにおけるステントの信号を加算して表示することにより、操作者がステントの形状を認識することが可能となる。
なお、特定機能355は、解析機能354による解析結果に応じて、マーカD21及びマーカD22に対応する対を特定するか否かを判定してもよい。一例を挙げると、特定機能355は、解析機能354が算出する確度について閾値を設ける。次に、特定機能355は、図6Bに示した領域I211’~領域I216’の中から、クラス「○」に分類され且つ確度が最も高い2つの領域を特定する。ここで、特定した2つの領域の確度が閾値に満たない場合、特定機能355は、X線画像データI21についてはマーカD21及びマーカD22に対応する対を特定しないこととする。この場合、画像処理機能357は、対が特定されなかったX線画像データI21をスキップする。例えば、画像処理機能357は、リカーシブフィルタ処理において、X線画像データI21の使用を回避する。
また、学習済みモデルM1は、医療デバイスの種類ごとに生成されてもよい。例えば、モデル生成機能356は、医療デバイスの用途ごとに、複数の学習済みモデルM1を生成する。一例を挙げると、モデル生成機能356は、カテーテル用の学習済みモデルM1、ガイドワイヤ用の学習済みモデルM1、及び、ステント用の学習済みモデルM1をそれぞれ生成して、モデル記憶回路34に記憶させる。或いは、モデル生成機能356は、医療デバイスの型番ごとに複数の学習済みモデルM1を生成することとしてもよい。
モデル記憶回路34が医療デバイスの種類ごとに生成された複数の学習済みモデルM1を記憶する場合、解析機能354は、X線画像データI21に現れた医療デバイスの種類に応じて、学習済みモデルM1をモデル記憶回路34から読み出す。例えば、解析機能354は、操作者からの入力操作を受け付けることで、医療デバイスの種類を取得することができる。また、例えば、解析機能354は、HIS(Hospital Information System)やRIS(Radiology Information System)等の情報システムから被検体Pに関する検査情報を取得し、取得した検査情報に基づいて医療デバイスの種類を自動取得することができる。そして、解析機能354は、医療デバイスの種類に応じて読み出した学習済みモデルM1に領域I211’~ 領域I216’を入力することによって、複数の領域それぞれを解析する。
また、画像処理機能357による画像処理後のX線画像データをディスプレイ32に表示させる場合について説明したが、実施形態はこれに限定されるものではない。例えば、制御機能358は、画像処理後のX線画像データをX線診断装置10に対して送信し、画像処理後のX線画像データをX線診断装置10が表示することとしてもよい。
例えば、X線診断装置10における収集機能110aは、時系列の複数のX線画像データを収集し、収集したX線画像データを、医用画像処理装置30に対して順次送信する。また、取得機能351は、X線診断装置10から送信されたX線画像データを順次取得する。また、検出機能352は、取得機能351がX線画像データを取得するごとに、少なくとも3つの候補点を順次検出する。また、抽出機能353は、検出機能352が少なくとも3つの候補点を検出するごとに、複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域を順次抽出する。また、解析機能354は、抽出機能353が複数の領域を抽出するごとに、複数の領域それぞれを順次解析する。また、特定機能355は、解析機能354が複数の領域それぞれを解析するごとに、複数の候補対の中から一又は複数の対を順次特定する。また、画像処理機能357は、特定機能355が対を特定するごとに、X線画像データに対する画像処理を実行する。また、制御機能358は、画像処理機能357が画像処理を実行するごとに、画像処理後のX線画像データをX線診断装置10に対して送信する。また、表示制御機能110bは、医用画像処理装置30から送信された画像処理後のX線画像データを順次取得し、取得したX線画像データをディスプレイ108に順次表示させる。なお、収集と並行して表示されるX線画像データについては、透視像とも記載する。
また、特定機能355が特定した対に基づく画像処理を画像処理機能357が実行するものとして説明したが、実施形態はこれに限定されるものではない。例えば、制御機能358は、画像処理前のX線画像データと、特定機能355が特定した対を示す情報とをX線診断装置10に対して送信し、特定機能355が特定した対に基づく画像処理をX線診断装置10が実行することとしてもよい。
例えば、特定機能355は、対を特定した後、特定した対を示すラベルをX線画像データ上に付加する。次に、制御機能358は、ラベル付きのX線画像データをX線診断装置10に対して送信し、X線診断装置10は、ラベル付きのX線画像データを取得する。そして、X線診断装置10は、特定機能355が特定した対に基づく画像処理を実行し、画像処理後のX線画像データを表示する。
次に、医用画像処理装置30による処理の手順の一例を、図7を用いて説明する。図7は、第1の実施形態に係る医用画像処理装置30の処理の一連の流れを説明するためのフローチャートである。なお、図7においては、特定機能355が特定した対に基づく画像処理、及び、画像処理後のX線画像データの表示を、医用画像処理装置30が実行する場合について説明する。
ステップS101及びステップS102は、取得機能351に対応するステップである。ステップS103は、検出機能352に対応するステップである。ステップS104は、抽出機能353に対応するステップである。ステップS105は、解析機能354に対応するステップである。ステップS106は、特定機能355に対応するステップである。ステップS107及びステップS108は、画像処理機能357に対応するステップである。ステップS109は、制御機能358に対応するステップである。
まず、処理回路35は、X線診断装置10において撮像が開始されたか否かを判定し(ステップS101)、撮像が開始されていない場合には(ステップS101否定)、待機状態となる。一方で、撮像が開始された場合(ステップS101肯定)、処理回路35は、X線診断装置10からX線画像データを取得したか否かを判定する(ステップS102)。
X線診断装置10からX線画像データを取得した場合(ステップS102肯定)、処理回路35は、取得したX線画像データ上で少なくとも3つの候補点を検出する(ステップS103)。次に、処理回路35は、少なくとも3つの候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域をX線画像データから抽出する(ステップS104)。次に、処理回路35は、X線画像データから抽出した複数の領域それぞれを解析する(ステップS105)。次に、処理回路35は、解析結果に基づいて、複数の候補対の中から、医療デバイスに付されたマーカに対応する対を特定する(ステップS106)。
次に、処理回路35は、特定した対に応じてX線画像データから領域を抽出し(ステップS107)、抽出した領域を加算処理する(ステップS108)。即ち、処理回路35は、特定した対に基づいてX線画像データに対する画像処理を実行する。次に、処理回路35は、画像処理後のX線画像データを表示させる(ステップS109)。次に、処理回路35は、再度ステップS102に移行して、新たにX線画像データを取得したか否かを判定する。ここで、X線画像データを取得しない場合(ステップS102否定)、処理回路35は、処理を終了する。
上述したように、第1の実施形態によれば、検出機能352は、X線画像データ上で少なくとも3つの候補点を検出する。また、抽出機能353は、少なくとも3つの候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域をX線画像データから抽出する。また、解析機能354は、X線画像データから抽出された複数の領域それぞれを解析する。また、特定機能355は、解析結果に基づいて、複数の候補対の中から、医療デバイスに付されたマーカに対応する対を特定する。従って、第1の実施形態に係る医用画像処理装置30は、X線画像データ上でのマーカ特定の精度を向上させることができる。
また、上述したように、第1の実施形態によれば、抽出機能353は、検出機能352による検出結果に基づいて複数の領域をX線画像データから抽出し、解析機能354は、抽出された複数の領域を解析する。即ち、解析機能354は、検出機能352によって絞り込まれた対象について解析を行なう。例えば、解析機能354は、パターンマッチングや固定物除去処理等の演繹的手法によって絞り込まれた対象について解析を行なう。従って、第1の実施形態に係る医用画像処理装置30は、単にX線画像データの全体を解析する場合と比較して解析に要する処理負荷を軽減し、X線画像データ上でマーカを容易に特定することができる。
また、上述したように、第1の実施形態によれば、モデル生成機能356は、複数のマーカを有する医療デバイスを撮像した画像データからマーカ対間の距離に応じて抽出された画像データであって、画像サイズが調整された画像データを入力側データとする機械学習を実行することにより、学習済みモデルM1を生成する。例えば、モデル生成機能356は、図3のX線画像データI11からマーカ対間の距離に応じて抽出され、画像サイズが調整された画像データI111’を入力側データとする機械学習を実行することにより、学習済みモデルM1を生成する。また、抽出機能353は、検出機能352により検出された少なくとも3つの候補点の中から複数の候補対を選択し、各候補対における候補点間の距離に応じて、複数の候補対それぞれに対応する複数の領域をX線画像データから抽出する。また、解析機能354は、抽出機能353が抽出した複数の領域それぞれについて画像サイズを調整し、調整後の複数の領域を学習済みモデルM1に入力することによって、複数の領域それぞれを解析する。
即ち、モデル生成機能356は、画像内のマーカ対間の距離及び画像サイズを揃えた学習データを用いて、学習済みモデルM1を生成する。また、解析機能354は、画像内の候補対間の距離及び画像サイズを学習済みモデルM1の学習データと揃えた状態で、複数の候補対それぞれに対応する複数の領域を学習済みモデルM1に入力する。従って、医用画像処理装置30は、学習済みモデルM1で解く問題を簡単にし、学習済みモデルM1を容易に生成するとともに、X線画像データ上でのマーカ特定の精度を更に向上させることができる。
また、上述したように、第1の実施形態によれば、モデル生成機能356は、複数のマーカを有する医療デバイスを撮像した画像データからマーカ対の向きに応じて抽出された画像データを入力側データとする機械学習を実行することにより、学習済みモデルM1を生成する。例えば、モデル生成機能356は、図3のX線画像データI11からマーカ対間の向きに応じて抽出され、画像サイズが調整された画像データI111’を入力側データとする機械学習を実行することにより、学習済みモデルM1を生成する。また、抽出機能353は、検出機能352により検出された少なくとも3つの候補点の中から複数の候補対を選択し、各候補対の向きに応じて、複数の候補対それぞれに対応する複数の領域をX線画像データから抽出する。また、解析機能354は、抽出された複数の領域を学習済みモデルM1に入力することによって、複数の領域それぞれを解析する。
即ち、モデル生成機能356は、画像内のマーカ対の向きを揃えた学習データを用いて、学習済みモデルM1を生成する。また、解析機能354は、画像内の候補対の向きを学習済みモデルM1の学習データと揃えた状態で、複数の候補対それぞれに対応する複数の領域を学習済みモデルM1に入力する。従って、医用画像処理装置30は、学習済みモデルM1で解く問題を簡単にし、学習済みモデルM1を容易に生成するとともに、X線画像データ上でのマーカ特定の精度を更に向上させることができる。
また、上述したように、第1の実施形態によれば、モデル記憶回路34は、医療デバイスの種類ごとに生成された学習済みモデルM1を記憶する。また、解析機能354は、X線画像データに現れた医療デバイスの種類に応じて学習済みモデルM1をモデル記憶回路34から読み出し、読み出した学習済みモデルM1に、X線画像データから抽出された複数の領域を入力することによって、複数の領域それぞれを解析する。従って、医用画像処理装置30は、医療デバイスの種類ごとに生成された学習済みモデルM1を用いて適切に解析を行ない、X線画像データ上でのマーカ特定の精度を更に向上させることができる。
なお、上述した実施形態では、X線画像データ上で検出された複数の候補点の中に、医療デバイスに付されたマーカに対応する対が含まれるものとして説明した。即ち、上述した実施形態では、検出された複数の候補点の中に対象とする対が含まれるものとして説明した。しかしながら、検出された複数の候補点の中に対象とする対が含まれていない場合も想定される。そこで、医用画像処理装置30は、解析結果に応じて、検出された複数の候補点の中に対象とする対が含まれているか否かを判定してもよい。
例えば、まず、例えば、検出機能352は、X線画像データ上で3つの候補点を検出する。次に、抽出機能353は、検出された3つの候補点の中から複数の候補対を作成し、作成した候補対に対応する複数の領域をX線画像データから抽出する。次に、解析機能354は、抽出された複数の領域それぞれを解析する。次に、特定機能355は、解析機能354による解析結果に基づき、作成された複数の候補対それぞれについて、対象とする対であるか否かを判定する。一例を挙げると、解析機能354は、学習済みモデルM1を用いて確度付き二値分類を行ない、複数の候補対それぞれについて、対象とする対であるか否かを示す確度を算出する。次に、特定機能355は、解析機能354による解析結果に基づき、複数の候補対それぞれについて算出された確度が閾値を超えているか否かを判定する。ここで、確度が閾値を超えている候補対が1つのみである場合、特定機能355は、当該候補対を、対象とする対として特定する。また、確度が閾値を超えている候補対が複数ある場合、特定機能355は、最も確度が高い候補対を、対象とする対として特定する。また、確度が閾値を超えている候補対がない場合、特定機能355は、検出機能352により検出された複数の候補点の中に対象とする対が含まれないと判定する。
別の例を挙げると、例えば、検出機能352は、X線画像データ上で2つの候補点を検出する。次に、抽出機能353は、検出された2つの候補点から候補対を作成し、作成した候補対に対応する領域をX線画像データから抽出する。次に、解析機能354は、抽出された領域を解析する。次に、特定機能355は、解析機能354による解析結果に基づいて、作成された候補対が対象とする対であるか否かを判定する。一例を挙げると、解析機能354は、学習済みモデルM1を用いて確度付き二値分類を行ない、作成された候補対について、対象とする対であるか否かを示す確度を算出する。次に、特定機能355は、解析機能354による解析結果に基づいて、算出された確度が閾値を超えているか否かを判定する。ここで、確度が閾値を超えている場合、特定機能355は、当該候補対を、対象とする対として特定する。一方で、確度が閾値を超えていない場合、特定機能355は、検出機能352により検出された複数の候補点の中に対象とする対が含まれないと判定する。
なお、検出された複数の候補点の中に対象とする対が含まれないと判定された場合、当該X線画像データについては使用しないこととしてもよい。例えば、検出された複数の候補点の中に対象とする対が含まれないと判定された場合、画像処理機能357は、当該X線画像データに対する画像処理を実行しないこととしてもよい。或いは、検出された複数の候補点の中に対象とする対が含まれないと判定された場合、検出機能352は、当該X線画像データから候補点を再度検出することとしてもよい。
(第2の実施形態)
上述した第1の実施形態では、学習済みモデルM1を用いて解析処理を実行する場合について説明した。これに対し、第2の実施形態では、解析処理に用いる学習済みモデルの変形例について説明する。
第2の実施形態に係る医用画像処理システム1は、図1~図2に示した第1の実施形態に係る医用画像処理システム1と同様の構成を有し、モデル生成機能356、抽出機能353及び解析機能354による処理の一部が相違する。第1の実施形態において説明した構成と同様の構成を有する点については、図1~図2と同一の符号を付し、説明を省略する。
以下、図8A及び図8Bを用いて、学習済みモデルM2の生成処理について説明する。図8A及び図8Bは、第2の実施形態に係る学習済みモデルM2の生成処理について説明するための図である。モデル生成機能356は、被検体PからのX線画像データの収集が開始されるよりも前に学習済みモデルM2を生成し、生成した学習済みモデルM2をモデル記憶回路34に記憶させる。
まず、モデル生成機能356は、過去の検査においてマーカの特定が行われたX線画像データを取得する。例えば、モデル生成機能356は、図3と同様に、X線画像データI11及びX線画像データI12を含む複数のX線画像データを取得する。次に、モデル生成機能356は、過去の検査におけるマーカの特定結果に基づいて、各X線画像データから領域を抽出する。
例えば、モデル生成機能356は、図8Aに示すように、X線画像データI11上に点線で示す3つの矩形領域を、それぞれ、画像データI112、画像データI113及び画像データI114として抽出する。即ち、モデル生成機能356は、X線画像データI11上のマーカ対について、複数の画像サイズで複数の画像データを抽出する。
次に、モデル生成機能356は、X線画像データI11から複数の画像サイズで抽出した画像データについて、画像サイズを調整する。例えば、モデル生成機能356は、画像データI112、画像データI113及び画像データI114の画像サイズが一定となるようにリサイズを行なう。以下、画像サイズを調整した画像データI112を画像データI112’と記載する。また、画像サイズを調整した画像データI113を画像データI113’と記載する。また、画像サイズを調整した画像データI114を画像データI114’と記載する。
同様に、モデル生成機能356は、X線画像データI12から、複数の画像サイズで画像データI122、画像データI123及び画像データI124を抽出する。また、モデル生成機能356は、抽出した画像データについて画像サイズを調整する。以下、画像サイズを調整した画像データI122を画像データI122’と記載する。また、画像サイズを調整した画像データI123を画像データI123’と記載する。また、画像サイズを調整した画像データI124を画像データI124’と記載する。X線画像データI11及びX線画像データI12以外の他のX線画像データについても同様に、モデル生成機能356は、各X線画像データから複数の画像サイズで複数の画像データを抽出し、抽出した画像データについて画像サイズを調整する。
また、例えば、モデル生成機能356は、図8Bに示すように、X線画像データI11上に点線で示す3つの矩形領域を、それぞれ、画像データI115、画像データI116及び画像データI117として抽出する。即ち、モデル生成機能356は、X線画像データI11上のマーカ対について、複数の向きで複数の画像データを抽出する。ここで、モデル生成機能356は、例えば、画像データI112’、画像データI113’及び画像データI114’と同じ画像サイズで、画像データI115、画像データI116及び画像データI117を抽出する。
同様に、モデル生成機能356は、X線画像データI12から、複数の向きで画像データI125、画像データI126及び画像データI127を抽出する。X線画像データI11及びX線画像データI12以外の他のX線画像データについても同様に、モデル生成機能356は、各X線画像データから複数の向きで複数の画像データを抽出する。
次に、モデル生成機能356は、各X線画像データから抽出した画像データについて、マーカが正しく特定されたか否かを示す情報を付加することにより、学習データを生成する。即ち、モデル生成機能356は、各X線画像データから抽出した画像データと、マーカが正しく特定されたか否かを示す情報とを組み合わせることにより、学習データを生成する。
例えば、X線画像データI11は、マーカが正しく特定された画像データの例である。この場合、モデル生成機能356は、X線画像データI11から抽出された画像データI112’、画像データI113’、画像データI114’、画像データI115、画像データI116及び画像データI117のそれぞれに対して、マーカが正しく特定されたことを示す情報「○」を付加する。
また、例えば、図3に示したX線画像データI12は、マーカが正しく特定されていない画像データの例である。この場合、モデル生成機能356は、X線画像データI12から抽出された画像データI122’、画像データI123’、画像データI124’、画像データI125、画像データI126及び画像データI127のそれぞれに対して、マーカが正しく特定されていないことを示す情報「×」を付加する。
そして、モデル生成機能356は、X線画像データから抽出した画像データと、マーカが正しく特定されたか否かを示す情報との組み合わせから成る学習データを複数生成することにより、図9に示す学習データセットを生成する。なお、図9は、第2の実施形態に係る学習データセットの例を示す図である。次に、モデル生成機能356は、図9の学習データセットを用いて機械学習を実行することによって学習済みモデルM2を生成し、生成した学習済みモデルM2をモデル記憶回路34に記憶させる。なお、モデル生成機能356は、医療デバイスの種類ごとに学習済みモデルM2を生成してもよい。
次に、X線診断装置10は被検体PからX線画像データを収集し、取得機能351は、X線診断装置10からX線画像データを取得する。例えば、取得機能351は、図5Aに示したX線画像データI21を含む時系列の複数のX線画像データを取得する。次に、検出機能352は、パターンマッチングにより、取得機能351が取得したX線画像データ上で候補点を検出する。例えば、検出機能352は、X線画像データI21上で、マーカD21及びマーカD22の候補点として、候補点C11、候補点C12、候補点C13及び候補点C14の4つの候補点を検出する。また、検出機能352は、候補点の検出結果を示す情報をX線画像データI21に対して付加する。なお、候補点の検出結果を示す情報が付加されたX線画像データI21aについては、X線画像データI21aと記載する。
次に、抽出機能353は、検出機能352が検出した4つの候補点の中から複数の候補対を選択する。次に、抽出機能353は、選択した複数の候補対それぞれに対応する複数の領域をX線画像データI21aから抽出する。例えば、抽出機能353は、図10に示すように、X線画像データI21aから、候補対(C11,C13)に対応する領域I222を抽出する。なお、図10は、第2の実施形態に係る抽出処理について説明するための図である。
同様に、抽出機能353は、X線画像データI21aから、候補対(C12,C13)に対応する領域I224を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C11,C12)に対応する領域I221(図示せず)を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C11,C14)に対応する領域I223(図示せず)を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C12,C14)に対応する領域I225(図示せず)を抽出する。また、抽出機能353は、X線画像データI21aから、候補対(C13,C14)に対応する領域I226(図示せず)を抽出する。
ここで、抽出機能353は、領域I221~領域I226を所定の画像サイズで抽出する。例えば、図10に示すように、領域I222及び領域I224の画像サイズは同じである。一例を挙げると、抽出機能353は、学習済みモデルM2の生成に用いられた画像データ(画像データI112’、画像データI113’、画像データI114’、画像データI115、画像データI116及び画像データI117等)と同じ画像サイズで、領域I221~領域I226を抽出する。
また、抽出機能353は、領域I221~領域I226を所定の向きで抽出する。例えば、図10に示すように、X線画像データI21aに対する領域I222及び領域I224の向きは同じである。一例を挙げると、抽出機能353は、矩形のX線画像データI21aに対して各辺が平行となる矩形領域として、領域I221~領域I226を抽出する。
次に、解析機能354は、領域I221~領域I226それぞれを解析する。例えば、解析機能354は、モデル記憶回路34から学習済みモデルM2を読み出し、読み出した学習済みモデルM2に領域I221~領域I226を入力することによって、領域I221~領域I226それぞれを解析する。
例えば、解析機能354は、図11に示すように、学習済みモデルM2に領域I222を入力する。ここで、学習済みモデルM2は、領域I222の入力を受けて、領域I222における候補対(C11,C13)がマーカD21及びマーカD22に対応することを示すクラス「○」と、候補対(C11,C13)がマーカD21及びマーカD22に対応しないことを示すクラス「×」とへの確度付き二値分類を行なう。なお、図11は、第2の実施形態に係る解析処理について説明するための図である。
即ち、解析機能354は、学習済みモデルM2に領域I222を入力することによって、領域I222について確度付き二値分類を行ない、候補対(C11,C13)がマーカD21及びマーカD22に対応する確度を算出する。一例を挙げると、学習済みモデルM2は、図11に示すように、領域I222の解析結果として、「○(92%)」を出力する。同様に、解析機能354は、領域I221、領域I223、領域I224、領域I225及び領域I226のそれぞれについて確度付き二値分類を行ない、候補対(C11,C12)、候補対(C12,C13)、候補対(C11,C14)、候補対(C12,C14)及び候補対(C13,C14)のそれぞれについて、マーカD21及びマーカD22に対応する確度を算出する。
次に、特定機能355は、解析機能354による解析結果に基づいて、複数の候補対の中から、マーカD21及びマーカD22に対応する対を特定する。例えば、特定機能355は、まず、解析機能354による解析結果に基づいて、領域I221~領域I226の中から、クラス「○」に分類され且つ確度が最も高い領域を特定する。そして、特定機能355は、特定した領域における候補対を、マーカD21及びマーカD22に対応する対として特定する。
次に、画像処理機能357は、特定機能355が特定した対に基づいてX線画像データI21に対する画像処理を実行し、制御機能358は、画像処理後のX線画像データをディスプレイ32に表示させる。或いは、制御機能358は、画像処理後のX線画像データをX線診断装置10に対して送信し、X線診断装置10は、画像処理後のX線画像データを表示させる。或いは、制御機能358は、画像処理前のX線画像データと、特定機能355が特定した対を示す情報とをX線診断装置10に対して送信する。この場合、X線診断装置10は、特定機能355が特定した対に基づく画像処理を実行し、画像処理後のX線画像データを表示する。
上述したように、第2の実施形態によれば、モデル生成機能356は、複数のマーカを有する医療デバイスを撮像した画像データからマーカ対ごとに複数の画像サイズで抽出された画像データであって、画像サイズが調整された画像データを入力側データとする機械学習を実行することにより、学習済みモデルM2を生成する。例えば、モデル生成機能356は、図8Aに示したように、X線画像データI11から異なる複数の画像サイズで画像データI112、画像データI113及び画像データI114を抽出し、抽出した各画像データの画像サイズを調整する。そして、モデル生成機能356は、画像サイズが調整された画像データI112’、画像データI113’及び画像データI114’を入力側データとする機械学習を実行することにより、学習済みモデルM2を生成する。また、抽出機能353は、検出機能352により検出された少なくとも3つの候補点の中から複数の候補対を選択し、所定の画像サイズで、複数の候補対それぞれに対応する複数の領域をX線画像データから抽出する。また、解析機能354は、抽出機能353が抽出した複数の領域を学習済みモデルM2に入力することによって、複数の領域それぞれを解析する。
即ち、モデル生成機能356は、画像内のマーカ対間の距離が異なる種々の学習データを用いて、学習済みモデルM2を生成する。これにより、学習済みモデルM2は、画像内の候補対間の距離が異なる複数の領域が入力された場合でも適切に解析を行なうことができるように機能付けられる。また、抽出機能353及び解析機能354は、学習済みモデルM2を用いて解析処理を実行する際、所定のサイズでX線画像データから複数の領域を抽出し、リサイズ等の処理を行うことなく、学習済みモデルM2に複数の領域を入力する。即ち、医用画像処理装置30は、学習済みモデルM2に複数の領域を入力するまでの処理工程を削減し、迅速に解析結果を得ることができる。
また、上述したように、モデル生成機能356は、複数のマーカを有する医療デバイスを撮像した画像データからマーカ対ごとに複数の向きで抽出された画像データを入力側データとする機械学習を実行することにより、学習済みモデルM2を生成する。例えば、モデル生成機能356は、図8Bに示したように、異なる向きでX線画像データI11から抽出した画像データI115、画像データI116及び画像データI117を入力側データとする機械学習を実行することにより、学習済みモデルM2を生成する。また、抽出機能353は、検出機能352により検出された少なくとも3つの候補点の中から複数の候補対を選択し、複数の候補対それぞれに対応する複数の領域を所定の向きで抽出する。また、解析機能354は、抽出された複数の領域を学習済みモデルM2に入力することによって、複数の領域それぞれを解析する。即ち、モデル生成機能356は、画像内のマーカ対の向きが異なる種々の学習データを用いて、学習済みモデルM2を生成する。これにより、学習済みモデルM2は、画像内の候補対の向きが異なる複数の領域が入力された場合でも適切に解析を行なうことができるように機能付けられる。
また、抽出機能353及び解析機能354は、学習済みモデルM2を用いて解析処理を実行する際、所定の向きでX線画像データから複数の領域を抽出し、学習済みモデルM2に複数の領域を入力する。これにより、医用画像処理装置30は、X線画像データの端に候補点が位置する場合においても、適切に複数の領域を抽出することができる。例えば、矩形のX線画像データから矩形領域を抽出する際、X線画像データに対して矩形領域が傾いていると、X線画像データの端に位置する候補対について矩形領域を設定できない場合がある。これに対し、X線画像データと矩形領域との向きが揃っていれば、X線画像データの端に位置する候補対についても矩形領域を設定することが可能である。
また、上述したように、モデル生成機能356は、一の画像データから、学習済みモデルM2の生成に用いる複数の学習データを取得することができる。従って、医用画像処理装置30は、より多くの学習データを用いて学習済みモデルM2を生成し、X線画像データ上でのマーカ特定の精度を向上させることができる。
(第3の実施形態)
上述した第1~第2の実施形態では、パターンマッチングを実行することによってX線画像データから候補点を検出し、検出結果に基づく複数の領域について学習済みモデルを用いて解析することで、マーカを特定する場合について説明した。これに対し、第3の実施形態では、パターンマッチングを実行することによってX線画像データから候補点を検出するとともに、学習済みモデルを用いてX線画像データから候補点を検出することで、マーカを特定する場合について説明する。
第3の実施形態に係る医用画像処理システム1は、図1~図2に示した第1の実施形態に係る医用画像処理システム1と同様の構成を有し、検出機能352、特定機能355及びモデル生成機能356による処理の一部が相違する。なお、本実施形態における検出機能352は、第1検出部及び第2検出部の一例である。以下、第1の実施形態において説明した構成と同様の構成を有する点については、図1~図2と同一の符号を付し、説明を省略する。
例えば、検出機能352は、X線画像データI21についてパターンマッチングを実行することによって少なくとも3つの候補点を検出し、検出結果及びX線画像データI21を学習済みモデルM3に入力することによって、パターンマッチングにより検出した少なくとも3つの候補点の中から2つの候補点を検出する。そして、特定機能355は、検出機能352による検出結果に基づいて、マーカD21及びマーカD22に対応する対を特定する。
具体的には、まず、モデル生成機能356は、学習済みモデルM3を生成し、生成した学習済みモデルM3をモデル記憶回路34に記憶させる。例えば、モデル生成機能356は、学習済みモデルM3の学習に用いる学習データセットを生成する。例えば、モデル生成機能356は、過去の検査において、パターンマッチングや固定物除去処理等の演繹的手法に基づいてマーカの検出が行われたX線画像データを取得する。ここで、モデル生成機能356が取得するX線画像データは、被検体PのX線画像データであってもよいし、他の被検体のX線画像データであってもよい。
一例を挙げると、モデル生成機能356は、2つのマーカを有する医療デバイスを撮像したX線画像データであって、3つ以上のマーカが検出されたX線画像データを取得する。以下、かかるX線画像データを、X線画像データI13と記載する。即ち、モデル生成機能356は、マーカの誤検出が生じたX線画像データI13を取得する。次に、モデル生成機能356は、X線画像データI13上に、検出された3つ以上のマーカをそれぞれ示すラベルを付加する。以下、検出された3つ以上のマーカをそれぞれ示すラベルを付加したX線画像データI13を、画像データI131と記載する。
次に、モデル生成機能356は、X線画像データI13において検出された3つ以上のマーカのうち、医療デバイスに付された2つのマーカに対応する正解マーカを特定する。正解マーカの特定については、操作者が行ってもよいし、モデル生成機能356が自動で行ってもよい。例えば、モデル生成機能356は、検出された3つ以上のマーカのうちの任意の2つのマーカを選択し、選択したマーカに基づく画像処理を実行し、画像処理後のX線画像データI13を評価することで、選択した2つのマーカが正解マーカであるか否かを判定することができる。次に、モデル生成機能356は、X線画像データI13上に、特定した2つの正解マーカをそれぞれ示すラベルを付加する。以下、特定した2つの正解マーカをそれぞれ示すラベルを付加したX線画像データI13を、画像データI132と記載する。
モデル生成機能356は、画像データI131及び画像データI132を、学習済みモデルM3の学習データとして生成する。また、モデル生成機能356は、複数のX線画像データに基づいて複数の学習データを同様に生成することにより、学習データセットを生成する。次に、モデル生成機能356は、生成した学習データセットを用いて機械学習を実行することにより、学習済みモデルM3を生成する。具体的には、モデル生成機能356は、画像データI131を含む複数の画像データを入力側データとし、画像データI132を含む複数の画像データを出力側データとする機械学習を実行することにより、学習済みモデルM3を生成する。
学習済みモデルM3は、例えば、ニューラルネットワークにより構成することができる。例えば、モデル生成機能356は、上述した学習データセットを用いて、多層のニューラルネットワークについて深層学習を実行することで、学習済みモデルM3を生成する。例えば、ニューラルネットワークは、入力された画像データ(画像データI131等)にラベル付された3つ以上のマーカそれぞれについて、正解マーカであることを示すクラス「○」と正解マーカでないことを示すクラス「×」とへの確度付き二値分類を行ない、確度に基づいて2つのマーカを検出する。そして、モデル生成機能356は、ニューラルネットワークが好ましい結果を出力することができるよう、ニューラルネットワークのパラメータを調整する。
これにより、モデル生成機能356は、画像データの入力を受けて、入力された画像データ上で2つの候補点を検出するように機能付けられた学習済みモデルM3を生成することができる。より具体的には、学習済みモデルM3は、パターンマッチング等の演繹的手法による検出結果及び画像データの入力を受けて、検出された3つ以上の候補点の中から2つの候補点を検出するように機能付けられる。なお、モデル生成機能356は、医療デバイスの種類ごとに学習済みモデルM3を生成してもよい。
次に、X線診断装置10は被検体PからX線画像データを収集し、取得機能351は、X線診断装置10からX線画像データを取得する。例えば、取得機能351は、図5Aに示したX線画像データI21を含む時系列の複数のX線画像データを取得する。次に、検出機能352は、パターンマッチングを実行することによって、取得機能351が取得したX線画像データ上で候補点を検出する。なお、検出機能352は、パターンマッチングに加えて、固定物除去処理を更に実行することで、候補点を検出してもよい。
例えば、検出機能352は、X線画像データI21上で、マーカD21及びマーカD22の候補点として、候補点C11、候補点C12、候補点C13及び候補点C14の4つの候補点を検出する。また、検出機能352は、候補点の検出結果を示す情報をX線画像データI21に対して付加する。なお、候補点の検出結果を示す情報が付加されたX線画像データI21aについては、X線画像データI21aと記載する。
次に、検出機能352は、図12に示すように、X線画像データI21aを学習済みモデルM3に入力する。即ち、検出機能352は、パターンマッチング等の演繹的手法による検出結果、及び、X線画像データI21を学習済みモデルM3に入力する。これにより、検出機能352は、候補点C11、候補点C12、候補点C13及び候補点C14の4つの候補点の中から、2つの候補点を検出する。
例えば、検出機能352は、図12に示すように、候補点C21及び候補点C22の2つの候補点を検出する。なお、候補点C21は、X線画像データI21a上にラベル付された候補点C11に対応するものであり、候補点C22は、X線画像データI21a上にラベル付された候補点C13に対応するものである。また、検出機能352は、X線画像データI21上に、検出した2つの候補点をそれぞれ示すラベルを付加する。以下、候補点C21及び候補点C22をそれぞれ示すラベルを付加したX線画像データI21を、X線画像データI21bと記載する。なお、図12は、第3の実施形態に係る候補点の検出処理を説明するための図である。
そして、特定機能355は、検出機能352による検出結果に基づいて、検出された4つの候補点に含まれる複数の候補対の中から、マーカD21及びマーカD22に対応する対を特定する。即ち、特定機能355は、候補対(C11,C12)、候補対(C11,C13)、候補対(C11,C14)、候補対(C12,C13)、候補対(C12,C14)、及び、候補対(C13,C14)の中から、マーカD21及びマーカD22に対応する対を特定する。
例えば、図12に示す場合、検出機能352は、X線画像データI21aを学習済みモデルM3に入力することによって、4つの候補点(候補点C11、候補点C12、候補点C13及び候補点C14)の中から、候補点C21及び候補点C22を検出する。この場合、特定機能355は、候補点C21及び候補点C22に対応する候補対(C11,C13)を、マーカD21及びマーカD22に対応する対として特定する。即ち、特定機能355は、検出機能352による検出結果に基づいて、マーカD21及びマーカD22に対応する対を特定する。換言すると、処理回路35は、X線画像データに対して、パターンマッチングと学習済みモデルM3による抽出とを組み合わせて実行することにより、マーカD21及びマーカD22に対応する特徴点の対を特定する。
別の例を挙げると、検出機能352は、学習済みモデルM4にX線画像データI21を入力することによって少なくとも3つの候補点を検出し、X線画像データI21についてパターンマッチングを実行することによって、学習済みモデルM4を用いて検出した少なくとも3つの候補点の中から2つの候補点を検出する。そして、特定機能355は、検出機能352による検出結果に基づいて、マーカD21及びマーカD22に対応する対を特定する。
具体的には、まず、モデル生成機能356は、学習済みモデルM4を生成し、生成した学習済みモデルM3をモデル記憶回路34に記憶させる。例えば、モデル生成機能356は、学習済みモデルM4の学習に用いる学習データセットを生成する。例えば、モデル生成機能356は、過去の検査において2つのマーカを有する医療デバイスを撮像したX線画像データI14を取得する。ここで、X線画像データI14は、被検体PのX線画像データであってもよいし、他の被検体のX線画像データであってもよい。
次に、モデル生成機能356は、X線画像データI14において、医療デバイスに付された2つのマーカに対応する正解マーカを特定する。正解マーカの特定については、操作者が行ってもよいし、モデル生成機能356が自動で行ってもよい。以下、特定した2つの正解マーカをそれぞれ示すラベルを付加したX線画像データI14を、画像データI141と記載する。
モデル生成機能356は、X線画像データI14及び画像データI141の組み合わせを、学習済みモデルM4の学習データとして特定する。また、モデル生成機能356は、複数のX線画像データのそれぞれについて同様にラベルを付加し、複数の学習データを特定することにより、学習データセットを生成する。次に、モデル生成機能356は、生成した学習データセットを用いて機械学習を実行することにより、学習済みモデルM4を生成する。具体的には、モデル生成機能356は、X線画像データI14を含む複数の画像データを入力側データとし、画像データI141を含む複数の画像データを出力側データとする機械学習を実行することにより、学習済みモデルM4を生成する。
学習済みモデルM4は、例えば、ニューラルネットワークにより構成することができる。例えば、モデル生成機能356は、上述した学習データセットを用いて、多層のニューラルネットワークについて深層学習を実行することで、学習済みモデルM4を生成する。例えば、ニューラルネットワークは、入力された画像データ(X線画像データI14等)の各位置について、正解マーカであることを示すクラス「○」と正解マーカでないことを示すクラス「×」とへの確度付き二値分類を行ない、確度に基づいて少なくとも3つのマーカを検出する。そして、モデル生成機能356は、ニューラルネットワークが好ましい結果を出力することができるよう、ニューラルネットワークのパラメータを調整する。一例を挙げると、モデル生成機能356は、X線画像データI14の入力を受けてニューラルネットワークが検出した少なくとも3つのマーカの中に画像データI141にラベル付された2つの正解マーカが含まれるよう、ニューラルネットワークのパラメータを調整する。これにより、モデル生成機能356は、画像データの入力を受けて、入力された画像データ上で少なくとも3つの候補点を検出するように機能付けられた学習済みモデルM4を生成することができる。なお、モデル生成機能356は、医療デバイスの種類ごとに学習済みモデルM4を生成してもよい。
次に、X線診断装置10は被検体PからX線画像データを収集し、取得機能351は、X線診断装置10からX線画像データを取得する。例えば、取得機能351は、図5Aに示したX線画像データI21を含む時系列の複数のX線画像データを取得する。次に、検出機能352は、学習済みモデルM4にX線画像データを入力することによって、X線画像データ上で少なくとも3つの候補点を検出する。
例えば、検出機能352は、図13Aに示すように、X線画像データI21を学習済みモデルM4に入力することによって、マーカD21及びマーカD22の候補点として、候補点C31、候補点C32、候補点C33及び候補点C34の4つの候補点を検出する。なお、図13Aは、第3の実施形態に係る候補点の検出処理を説明するための図である。
また、検出機能352は、候補点の検出結果を示す情報をX線画像データI21に対して付加する。例えば、検出機能352は、X線画像データI21上に、候補点C31、候補点C32、候補点C33及び候補点C34のそれぞれを示すラベルを付加する。以下、学習済みモデルM4に基づく検出結果がラベル付けされたX線画像データI21を、X線画像データI21cと記載する。
次に、検出機能352は、図13Bに示すように、X線画像データI21cについてパターンマッチングを実行することによって、学習済みモデルM4を用いて検出した4つの候補点の中から、2つの候補点を検出する。例えば、検出機能352は、X線画像データI21cのうち、候補点を示すラベルが付加された位置の近傍についてのみパターンマッチングを実行して類似度を算出し、類似度が最も高くなる2つの位置を候補点として検出する。なお、図13Bは、第3の実施形態に係る候補点の検出処理を説明するための図である。
例えば、検出機能352は、図13Bに示すように、候補点C41及び候補点C42の2つの候補点を検出する。なお、候補点C41は、X線画像データI21c上にラベル付された候補点C31に対応するものであり、候補点C42は、X線画像データI21c上にラベル付された候補点C32に対応するものである。また、検出機能352は、X線画像データI21上に、検出した2つの候補点をそれぞれ示すラベルを付加する。以下、候補点C41及び候補点C42をそれぞれ示すラベルを付加したX線画像データI21を、X線画像データI21dと記載する。
そして、特定機能355は、検出機能352による検出結果に基づいて、検出された4つの候補点に含まれる複数の候補対の中から、マーカD21及びマーカD22に対応する対を特定する。即ち、特定機能355は、候補対(C31,C32)、候補対(C31,C33)、候補対(C31,C34)、候補対(C32,C33)、候補対(C32,C34)、及び、候補対(C33,C34)の中から、マーカD21及びマーカD22に対応する対を特定する。
例えば、図13Bに示す場合、検出機能352は、X線画像データI21cについてパターンマッチングを実行することによって、4つの候補点(候補点C31、候補点C32、候補点C33及び候補点C34)の中から、候補点C41及び候補点C42を検出する。この場合、特定機能355は、候補点C41及び候補点C42に対応する候補対(C31,C33)を、マーカD21及びマーカD22に対応する対として特定する。即ち、特定機能355は、検出機能352による検出結果に基づいて、マーカD21及びマーカD22に対応する対を特定する。換言すると、処理回路35は、X線画像データに対して、パターンマッチングと学習済みモデルM4による抽出とを組み合わせて実行することにより、マーカD21及びマーカD22に対応する特徴点の対を特定する。
なお、X線画像データI21cについてパターンマッチングを実行する場合について説明したが、実施形態はこれに限定されるものではない。例えば、検出機能352は、X線画像データI21cを二値化することによってX線画像データI21c’を生成し、X線画像データI21c’についてパターンマッチングを行なってもよい。X線画像データI21c’は、例えば、図14Aに示すように、各画素が「0」又は「1」のいずれか一方の情報を有するデータである。一例を挙げると、検出機能352は、図14Bに示すカーネルA1を用いて、X線画像データI21c’上の各位置について類似度を算出し、類似度が最も高くなる2つの位置を候補点として検出する。なお、図14A及び図14Bは、第3の実施形態に係る候補点の検出処理を説明するための図である。
別の例を挙げると、検出機能352は、学習済みモデルM4にX線画像データを入力することによってX線画像データ上で少なくとも3つの候補点を検出するとともに、検出した各候補点がマーカD21及びマーカD22に対応する確度を算出する。更に、検出機能352は、X線画像データについてパターンマッチングを実行することによってX線画像データ上で少なくとも3つの候補点を検出するとともに、検出した各候補点がマーカD21及びマーカD22に対応する確度を算出する。そして、特定機能355は、検出機能352による検出結果に基づいて、マーカD21及びマーカD22に対応する対を特定する。
具体的には、まず、モデル生成機能356は、学習済みモデルM4を生成し、生成した学習済みモデルM3をモデル記憶回路34に記憶させる。次に、X線診断装置10は被検体PからX線画像データを収集し、取得機能351は、X線診断装置10からX線画像データを取得する。例えば、取得機能351は、図5Aに示したX線画像データI21を含む時系列の複数のX線画像データを取得する。次に、検出機能352は、学習済みモデルM4にX線画像データを入力することによって、X線画像データ上で少なくとも3つの候補点を検出する。
例えば、検出機能352は、X線画像データI21を学習済みモデルM4に入力することによって、X線画像データI21の各位置について、マーカD21及びマーカD22に対応する確度を算出する。そして、検出機能352は、算出した確度が閾値以上となるX線画像データI21上の位置を、マーカD21及びマーカD22の候補点として検出する。
一例を挙げると、検出機能352は、図13Aに示したように、マーカD21及びマーカD22の候補点として、候補点C31、候補点C32、候補点C33及び候補点C34の4つの候補点を検出する。また、検出機能352は、候補点の検出結果を示す情報をX線画像データI21に対して付加する。なお、候補点C31、候補点C32、候補点C33及び候補点C34を示す情報が付加されたX線画像データI21については、X線画像データI21cと記載する。
また、検出機能352は、X線画像データについてパターンマッチングを実行することによって、X線画像データ上で少なくとも3つの候補点を検出する。例えば、検出機能352は、マーカD21及びマーカD22の形状を模したカーネルを用いて、X線画像データI21上の各位置について類似度を算出する。次に、検出機能352は、X線画像データI21上の各位置について、算出した類似度を閾値と比較し、類似度が閾値以上となる位置をマーカD21及びマーカD22の候補点として検出する。
一例を挙げると、検出機能352は、図5Bに示したように、マーカD21及びマーカD22の候補点として、候補点C11、候補点C12、候補点C13及び候補点C14の4つの候補点を検出する。なお、候補点C11の位置について算出された類似度は、候補点C11がマーカD21及びマーカD22に対応する確度を示す。同様に、候補点C12、候補点C13及び候補点C14の各位置について算出された類似度は、それぞれ、候補点C12、候補点C13及び候補点C14がマーカD21及びマーカD22に対応する確度を示す。また、検出機能352は、候補点の検出結果を示す情報をX線画像データI21に対して付加する。なお、候補点C11、候補点C12、候補点C13及び候補点C14を示す情報が付加されたX線画像データI21については、X線画像データI21aと記載する。
次に、特定機能355は、図15に示すように、X線画像データI21aとX線画像データI21cとに基づいて、検出機能352が検出した複数の候補点に含まれる複数の候補対の中から、マーカD21及びマーカD22に対応する候補対を特定する。なお、図15は、第3の実施形態に係る候補対の特定処理について説明するための図である。例えば、特定機能355は、X線画像データI21aにラベル付された複数の候補点それぞれについて算出された確度、及び、X線画像データI21cにラベル付された複数の候補点それぞれについて算出された確度に基づいて、マーカD21及びマーカD22に対応する候補対を特定する。
例えば、検出機能352は、候補点C11、候補点C12、候補点C13及び候補点C14のそれぞれについて、パターンマッチングを実行することにより、類似度を算出している。即ち、検出機能352は、候補点C11、候補点C12、候補点C13及び候補点C14のそれぞれについて、マーカD21及びマーカD22に対応する確度を算出している。以下、候補点C11について算出された確度を、確度L11とする。また、候補点C12について算出された確度を、確度L12とする。また、候補点C13について算出された確度を、確度L13とする。また、候補点C14について算出された確度を、確度L14とする。
また、検出機能352は、候補点C31、候補点C32、候補点C33及び候補点C34のそれぞれについて、学習済みモデルM4を用いた確度付き二値分類により、マーカD21及びマーカD22に対応する確度を算出している。以下、候補点C31について算出された確度を、確度L31とする。また、候補点C32について算出された確度を、確度L32とする。また、候補点C33について算出された確度を、確度L33とする。また、候補点C34について算出された確度を、確度L34とする。
特定機能355は、検出機能352が検出した複数の候補点のうち、対応する候補点間で確度の和を算出する。例えば、X線画像データI21aにおける候補点C11とX線画像データI21cにおける候補点C31とは位置が対応していることから、特定機能355は、候補点C11について算出された確度L11と候補点C31について算出された確度L31との和を算出する。以下、確度L11と確度L31との和を、確度Ls1とする。
同様に、特定機能355は、候補点C13について算出された確度L13と候補点C32について算出された確度L32との和を算出する。以下、確度L13と確度L32との和を確度Ls2とする。同様に、特定機能355は、候補点C12について算出された確度L12と候補点C33について算出された確度L33との和を算出する。以下、確度L12と確度L33との和を確度Ls3とする。なお、図15は、候補点C14に対応する候補点がX線画像データI21c上には無い場合を示す。また、図15は、候補点C34に対応する候補点がX線画像データI21a上には無い場合を示す。
次に、特定機能355は、算出した確度の和、又は、各候補点について算出された確度のうち、最も値の大きい2つを特定する。即ち、特定機能355は、確度L11と確度L31との和である確度Ls1、確度L13と確度L32との和である確度Ls2、確度L13と確度L32との和である確度Ls3、候補点C14について算出された確度L14、及び、候補点C34について算出された確度L34のうち、最も値の大きい2つを特定する。また、特定機能355は、特定した確度に基づいて、マーカD21及びマーカD22に対応する2つの候補点を特定する。換言すると、処理回路35は、X線画像データに対して、パターンマッチングと学習済みモデルM4による抽出とを組み合わせて実行することにより、マーカD21及びマーカD22に対応する特徴点の対を特定する。
これにより、特定機能355は、パターンマッチングによる候補点の検出結果と、学習済みモデルM4を用いた候補点の検出結果との双方を適切に考慮して、マーカD21及びマーカD22に対応する2つの候補点を精度良く特定することができる。例えば、通常、各候補点について算出された確度(確度L14等)より、確度の和(確度Ls1等)の方が値は大きくなる。即ち、特定機能355は、パターンマッチングによる候補点検出と、学習済みモデルM4を用いた候補点検出との双方で検出された候補点を、優先的に特定することができる。
以下では、確度Ls1及び確度Ls2の値が最も大きかったものとして説明する。この場合、特定機能355は、例えば、X線画像データI21aにおける候補点C11及び候補点C13を、マーカD21及びマーカD22に対応する候補点として特定する。即ち、特定機能355は、候補対(C11,C13)を、マーカD21及びマーカD22に対応する対として特定する。即ち、検出機能352が検出した複数の候補点には候補対(C11,C12)や候補対(C31,C32)等の複数の候補対が含まれるところ、特定機能355は、これら複数の候補対の中から、マーカD21及びマーカD22に対応する対として、候補対(C11,C13)を特定する。
或いは、特定機能355は、X線画像データI21cにおける候補点C31及び候補点C32を、マーカD21及びマーカD22に対応する候補点として特定してもよい。即ち、特定機能355は、候補対(C31,C32)を、マーカD21及びマーカD22に対応する対として特定してもよい。
即ち、候補対(C11,C13)と候補対(C31,C32)とは、X線画像データI21上の同じ位置を示すものであり、特定機能355は、マーカD21及びマーカD22に対応する対としていずれを特定してもよい。以下では、候補点C11と候補点C31とを総称して、候補点C51と記載する。また、以下では、候補点C13と候補点C32とを総称して、候補点C52と記載する。即ち、特定機能355は、検出機能352による検出結果に基づいて、候補対(C51,C52)を、マーカD21及びマーカD22に対応する対として特定する。また、検出機能352は、X線画像データI21上に、検出した2つの候補点をそれぞれ示すラベルを付加する。候補点C51及び候補点C52をそれぞれ示すラベルを付加したX線画像データI21については、図15に示すように、X線画像データI21eと記載する。
次に、画像処理機能357は、特定機能355が特定した候補対(C51,C52)に基づいてX線画像データI21に対する画像処理を実行し、制御機能358は、画像処理後のX線画像データをディスプレイ32に表示させる。或いは、制御機能358は、画像処理後のX線画像データをX線診断装置10に対して送信し、X線診断装置10は、画像処理後のX線画像データを表示させる。或いは、制御機能358は、画像処理前のX線画像データと、特定機能355が特定した候補対(C51,C52)を示す情報とをX線診断装置10に対して送信する。この場合、X線診断装置10は、特定機能355が特定した対に基づく画像処理を実行し、画像処理後のX線画像データを表示する。
上述したように、第3の実施形態によれば、モデル記憶回路34は、X線画像データの入力を受けて、入力されたX線画像データ上で複数の候補点を検出するように機能付けられた学習済みモデルM3又は学習済みモデルM4を記憶する。また、検出機能352は、学習済みモデルM3又は学習済みモデルM4にX線画像データを入力することによって、X線画像データ上で複数の候補点を検出する。また、検出機能352は、X線画像データについてパターンマッチングを実行することによって、X線画像データ上で複数の候補点を検出する。また、特定機能355は、検出機能352による検出結果に基づいて、検出機能352が検出した複数の候補点に含まれる複数の候補対の中から、マーカD21及びマーカD22に対応する対を特定する。そして、医用画像処理装置30は、パターンマッチング及び機械学習の2つの手法を併せて用いることにより、X線画像データ上でのマーカ特定の精度を向上させることができる。
(第4の実施形態)
さて、これまで第1~第3の実施形態について説明したが、上述した実施形態以外にも、種々の異なる形態にて実施されてよいものである。
上述した実施形態では、マーカD21及びマーカD22に対応する対を特定する場合について説明した。即ち、上述した実施形態では、一の対を特定する場合について説明した。しかしながら、実施形態はこれに限定されるものではない。即ち、特定機能355は、複数の候補対の中から、複数のマーカ対に対応する複数の対を特定してもよい。
例えば、取得機能351は、まず、各々が複数のマーカを有する、複数の医療デバイスを撮像したX線画像データを取得する。複数の医療デバイスを撮像したX線画像データが収集される手技の例としては、例えば、KBT(Kissing Balloon Technique)が挙げられる。KBTは、分岐する血管のそれぞれに対してバルーンを配置し、血管の分岐部分をまとめて拡張する手技である。かかる手技を実行する際、操作者は、被検体Pの血管内に2つのバルーンを挿入して血管の分岐部分まで進行させた後、バルーンを拡張する。なお、これら2つのバルーンは、それぞれが複数のマーカを有する。この場合、X線診断装置10は、それぞれが複数のマーカを有する2つのバルーンを撮像したX線画像データを収集する。
また、複数の医療デバイスを撮像したX線画像データが収集される手技の他の例としては、例えば、YST(Y stenting Technique)が挙げられる。YSTは、血管の分岐部分に生じた動脈瘤に対するステント留置術であり、操作者は、2つのステントを分岐する血管のそれぞれに留置する。具体的には、操作者は、2つのガイドワイヤを用いて被検体Pの血管内に2つのステントを挿入し、動脈瘤の位置に留置する。なお、これら2つのガイドワイヤは、それぞれが複数のマーカを有する。この場合、X線診断装置10は、それぞれが複数のマーカを有する2つのガイドワイヤを撮像したX線画像データを収集する。
例えば、取得機能351は、マーカD31及びマーカD32を有する医療デバイスと、マーカD33及びマーカD34を有する医療デバイスとを撮像したX線画像データI31を取得する。次に、検出機能352は、X線画像データI31についてパターンマッチングを実行することによって、X線画像データI31上で複数の候補点を検出する。例えば、検出機能352は、X線画像データI31上で5つ以上の候補点を検出する。次に、抽出機能353は、検出された複数の候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域をX線画像データI31から抽出する。また、解析機能354は、X線画像データI31から抽出された複数の領域それぞれを解析する。また、特定機能355は、解析結果に基づいて、複数の候補対の中から、医療デバイスに付されたマーカに対する2つの対を特定する。
或いは、検出機能352は、学習済みモデルM3又は学習済みモデルM4にX線画像データI31を入力することによって、X線画像データI31上で複数の候補点を検出する。また、検出機能352は、X線画像データI31についてパターンマッチングを実行することによって、X線画像データI31上で複数の候補点を検出する。また、特定機能355は、検出機能352による検出結果に基づいて、検出機能352が検出した複数の候補点に含まれる複数の候補対の中から、医療デバイスに付されたマーカに対する2つの対を特定する。
なお、特定機能355は、時系列の複数のX線画像データについて、フレーム間でのマーカ対の特定を更に行なうこととしてもよい。例えば、取得機能351は、マーカD31及びマーカD32を有する医療デバイスと、マーカD33及びマーカD34を有する医療デバイスとを撮像した時系列の複数のX線画像データであるX線画像データI31及びX線画像データI32を取得する。次に、特定機能355は、X線画像データI31上で、マーカD31~マーカD34に対する2つの対として、候補対(C61,C62)と、候補対(C63,C64)とを特定する。また、特定機能355は、X線画像データI32上で、マーカD31~マーカD34に対する2つの対として、候補対(C71,C72)と、候補対(C73,C74)とを特定する。
ここで、特定機能355は、X線画像データI31とX線画像データI32との間において、各X線画像データ上で特定した2つの対の対応関係を特定する。即ち、特定機能355は、候補対(C61,C62)及び候補対(C63,C64)と、候補対(C71,C72)及び候補対(C73,C74)との対応関係を特定する。
例えば、特定機能355は、X線画像データI31とX線画像データI32との間で、特定した2つの対(即ち、4つの候補点)の位置がほぼ一致するように、X線画像データI31を変形させる。一例を挙げると、特定機能355は、X線画像データI31における4つの候補点C61~C64に対するアフィン変換を実行し、写像後の4つの候補点C61~C64の位置が、X線画像データI32における4つの候補点C71~C74の位置に略一致するように回転/平行移動させた写像を特定する。なお、特定機能355は、回転/平行移動に加え、拡大/縮小を行なってもよい。そして、特定機能355は、特定した写像に基づいて、候補対(C61,C62)及び候補対(C63,C64)と、候補対(C71,C72)及び候補対(C73,C74)との対応関係を特定する。
別の例を挙げると、特定機能355は、各候補対に関する特徴量を比較することで、各X線画像データ上で特定した2つの対の対応関係を特定してもよい。ここで、候補対に関する特徴量とは、例えば、候補点間の距離や、候補点間を繋いだ線分の傾き等である。例えば、特定機能355は、候補対(C61,C62)、候補対(C63,C64)、候補対(C71,C72)及び候補対(C73,C74)のそれぞれについて特徴量を算出する。そして、特定機能355は、算出した特徴量を比較することによって、候補対(C61,C62)及び候補対(C63,C64)と、候補対(C71,C72)及び候補対(C73,C74)との対応関係を特定する。
別の例を挙げると、特定機能355は、各候補対に対応する領域をX線画像データから抽出し、抽出した領域の類似度を算出することで、各X線画像データ上で特定した2つの対の対応関係を特定してもよい。例えば、特定機能355は、X線画像データI31から、候補対(C61,C62)に対応する領域I311と、候補対(C63,C64)に対応する領域I312とを抽出する。また、特定機能355は、X線画像データI32から、候補対(C71,C72)に対応する領域I321と、候補対(C73,C74)に対応する領域I322とを抽出する。次に、特定機能355は、領域I311と領域I321との類似度、領域I311と領域I322との類似度、領域I312と領域I321との類似度、及び、領域I312と領域I322との類似度をそれぞれ算出する。そして、特定機能355は、算出した類似度に基づいて、候補対(C61,C62)及び候補対(C63,C64)と、候補対(C71,C72)及び候補対(C73,C74)との対応関係を特定する。
また、上述した実施形態では、1つの医療デバイスが2つのマーカを有するものとして説明した。しかしながら、実施形態はこれに限定されるものではない。即ち、3つ以上のマーカを有するデバイスについても適用が可能である。
例えば、取得機能351は、遠位側(先端側)からマーカD41、マーカD42及びマーカD43が順に付されたガイドワイヤを撮像したX線画像データI41を取得する。次に、検出機能352は、X線画像データI41についてパターンマッチングを実行することで、X線画像データI41上で、マーカD41、マーカD42及びマーカD43の候補点を少なくとも3つ検出する。そして、特定機能355は、複数の候補対の中から、マーカD41、マーカD42及びマーカD43のうち所定の2つのマーカに対応する対を特定する。
例えば、モデル生成機能356は、予め、医療デバイスの種類ごと且つ選択される2つのマーカごとに学習済みモデルM1を生成する。一例を挙げると、モデル生成機能356は、3つのマーカが付されたガイドワイヤ用の学習済みモデルM1であって、遠位側から2つのマーカの解析に用いられる学習済みモデルM11、遠位側のマーカと近位側のマーカとの解析に用いられる学習済みモデルM12、及び、近位側から2つのマーカの解析に用いられる学習済みモデルM13をそれぞれ生成し、モデル記憶回路34に記憶させる。
次に、取得機能351はX線画像データI41を取得する。また、操作者は、ガイドワイヤに付された3つのマーカのうち、2つのマーカを選択する。なお、以下では一例として、ガイドワイヤに付された3つのマーカのうち、マーカD41及びマーカD42が選択されたものとして説明する。
次に、検出機能352は、X線画像データI41上で少なくとも3つの候補点を検出する。次に、抽出機能353は、検出された少なくとも3つの候補点の中から複数の候補対を選択する。ここで、抽出機能353は、検出機能352が検出した少なくとも3つの候補点の中から全ての候補対を選択してもよいし、一部の候補対のみを選択してもよい。例えば、抽出機能353は、候補対における候補点間の距離について閾値を設け、閾値を満たす候補対のみを選択するようにしてもよい。ここで、抽出機能353は、選択された2つのマーカに応じて、候補点間の距離の閾値を変化させてもよい。例えば、マーカD41及びマーカD42が選択された場合、抽出機能353は、マーカD41及びマーカD43が選択された場合よりも小さい閾値を設け、閾値を下回る候補対のみを選択する。次に、抽出機能353は、選択した複数の候補対それぞれに対応する複数の領域をX線画像データI41から抽出する。
次に、解析機能354は、医療デバイスの種類、及び、選択された2つのマーカに応じて学習済みモデルM1をモデル記憶回路34から読み出す。例えば、医療デバイスの種類がガイドワイヤであり、遠位側に付された2つのマーカであるマーカD41及びマーカD42が選択された場合、解析機能354は、学習済みモデルM11を読み出す。次に、解析機能354は、X線画像データI41から抽出された複数の領域を学習済みモデルM11に入力することによって複数の領域それぞれを解析する。
そして、特定機能355は、解析機能354による解析結果に基づいて、複数の候補対の中からマーカD41及びマーカD42に対応する対を特定する。また、画像処理機能357は、特定機能355が特定した対に基づいて、X線画像データI41に対する画像処理を実行する。例えば、画像処理機能357は、特定機能355が特定した対に応じて、X線画像データI41の表示位置を補正する処理を実行する。この場合、画像処理機能357は、X線画像データI41に現れたガイドワイヤのうち、マーカD41及びマーカD42が付された部分の表示位置を固定することができる。即ち、画像処理機能357は、ガイドワイヤ先端の表示位置を固定することができる。
なお、学習済みモデルM1を用いるものとして説明したが、学習済みモデルM1に代えて学習済みモデルM2を用いる場合であってもよい。この場合、検出機能352は、X線画像データI41上で少なくとも3つの候補点を検出し、抽出機能353は、検出された少なくとも3つの候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域を、所定の画像サイズで抽出する。ここで、検出機能352は、抽出する領域の画像サイズを、選択された2つのマーカに応じて変化させることができる。例えば、マーカD41及びマーカD42が選択された場合、検出機能352は、マーカD41及びマーカD43が選択された場合よりも小さい画像サイズで、複数の領域を抽出する。次に、解析機能354は、医療デバイスの種類、及び、選択された2つのマーカに応じて学習済みモデルM2をモデル記憶回路34から読み出し、複数の領域を学習済みモデルM2に入力することによって複数の領域それぞれを解析する。そして、特定機能355は、複数の候補対の中から、選択された2つのマーカに対応する対を特定する。
また、上述した実施形態では、学習済みモデルM1又は学習済みモデルM2を用いて、抽出機能353が抽出した複数の領域それぞれを解析するものとして説明した。しかしながら、実施形態はこれに限定されるものではない。
例えば、解析機能354は、機械学習以外の手法で、抽出機能353が抽出した複数の領域それぞれを解析してもよい。一例を挙げると、まず、取得機能351は、X線診断装置10から、X線画像データI21を取得する。次に、検出機能352は、X線画像データI21上で少なくとも3つの候補点を検出する。次に、抽出機能353は、検出された少なくとも3つの候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域をX線画像データI21から抽出する。例えば、抽出機能353は、候補対(C11,C12)に対応する領域I211、候補対(C11,C13)に対応する領域I212、候補対(C11,C14)に対応する領域I213、候補対(C12,C13)に対応する領域I214、候補対(C12,C14)に対応する領域I215及び候補対(C13,C14)に対応する領域I216の6つの領域を、X線画像データI21から抽出する。
次に、解析機能354は、学習済みモデルM1及び学習済みモデルM2を用いずに、抽出された6つの領域それぞれを解析する。例えば、解析機能354は、領域I211~領域I216のそれぞれについて、候補点間の領域における信号を解析する。例えば、図5Aに示したように、マーカD21とマーカD22との間は、ガイドワイヤD24で接続されている。即ち、正解の候補対においては、候補点間の領域に、ガイドワイヤD24に基づく信号が存在することとなる。そこで、解析機能354は、領域I211~領域I216のそれぞれについて候補点間の領域における信号を解析し、線状信号の強度や高周波成分の強度を算出する。そして、特定機能355は、解析機能354による解析結果に基づいて、マーカD21及びマーカD22に対応する対を特定する。例えば、特定機能355は、候補点間の領域において線状信号の強度や高周波成分の強度が最も大きかった候補対を、マーカD21及びマーカD22に対応する対として特定する。
また、上述した実施形態では、X線診断装置10がX線画像データを収集するごとに取得機能351がX線画像データを順次取得し、取得機能351がX線画像データを取得するごとに特定機能355が対を順次特定するものとして説明した。即ち、上述した実施形態では、収集される時系列の複数のX線画像データをリアルタイムに処理するものとして説明した。しかしながら、実施形態はこれに限定されるものではなく、ポストプロセスで処理してもよい。
一例を挙げると、医用画像処理装置30は、図16に示すように、入力インターフェース31、ディスプレイ32、記憶回路33、モデル記憶回路34及び処理回路35に加えて、画像記憶回路36を更に備える。画像記憶回路36は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等により実現される。なお、画像記憶回路36は、画像記憶部の一例である。また、図16は、第4の実施形態に係る医用画像処理装置30の構成の一例を示すブロック図である。
例えば、取得機能351は、X線診断装置10によって取集された時系列の複数のX線画像データを取得し、画像記憶回路36に記憶させる。次に、検出機能352は、画像記憶回路36から複数のX線画像データを読み出す。例えば、検出機能352は、操作者による入力操作をトリガとして、画像記憶回路36から複数のX線画像データを読み出す。
次に、検出機能352は、読み出した複数のX線画像データのそれぞれについて、少なくとも3つの候補点を検出する。また、抽出機能353は、複数のX線画像データのそれぞれについて、少なくとも3つの候補点の中から複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域を抽出する。また、解析機能354は、複数のX線画像データのそれぞれについて、抽出された複数の領域それぞれを解析する。また、特定機能355は、解析機能354による解析結果に基づいて、医療デバイスに付されたマーカに対応する対を複数のX線画像データのそれぞれについて特定する。
或いは、検出機能352は、学習済みモデルM3又は学習済みモデルM4にX線画像データを入力することによって、読み出した複数のX線画像データのそれぞれについて、複数の候補点を検出する。また、検出機能352は、パターンマッチングを実行することによって、読み出した複数のX線画像データのそれぞれについて、複数の候補点を検出する。また、特定機能355は、検出機能352による検出結果に基づいて、医療デバイスに付されたマーカに対応する対を複数のX線画像データのそれぞれについて特定する。
そして、画像処理機能357は、特定機能355が特定した一又は複数の対に基づいて、複数のX線画像データのそれぞれについて画像処理を実行する。また、制御機能358は、画像処理後の複数のX線画像データをディスプレイ32に表示させる。例えば、制御機能358は、画像処理後の複数のX線画像データを動画像として表示させる。
また、上述した実施形態では、医用画像処理装置30における処理回路35が、X線画像データ上でマーカを特定する場合について説明した。しかしながら、実施形態はこれに限定されるものではない。例えば、X線診断装置10における処理回路110が、X線画像データ上でマーカを特定する場合であってもよい。
例えば、処理回路110は、図17に示すように、収集機能110a、表示制御機能110b及び送信機能110cに加えて、検出機能110d、抽出機能110e、解析機能110f、特定機能110g、モデル生成機能110h及び画像処理機能110iを更に有する。ここで、検出機能110dは、検出機能352に対応した機能である。また、抽出機能110eは、抽出機能353に対応した機能である。また、解析機能110fは、解析機能354に対応した機能である。また、特定機能110gは、特定機能355に対応した機能である。また、モデル生成機能110hは、モデル生成機能356に対応した機能である。また、画像処理機能110iは、画像処理機能357に対応した機能である。また、X線診断装置10は、図17に示すように、モデル記憶回路111及び画像記憶回路112を更に備える。なお、図17は、第4の実施形態に係るX線診断装置10の構成の一例を示すブロック図である。
一例を挙げると、モデル生成機能110hは、学習済みモデルM1又は学習済みモデルM2を事前に生成してモデル記憶回路111に記憶させる。次に、収集機能110aは、時系列の複数のX線画像データを収集する。また、検出機能110dは、収集機能110aがX線画像データを収集するごとに、少なくとも3つの候補点を順次検出する。また、抽出機能110eは、検出機能110dが少なくとも3つの候補点を検出するごとに複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域を順次抽出する。また、解析機能110fは、抽出機能110eが複数の領域を抽出するごとに、学習済みモデルM1又は学習済みモデルM2に複数の領域を入力することによって、複数の領域それぞれを順次解析する。また、特定機能110gは、解析機能110fが複数の領域それぞれを解析するごとに、複数の候補対の中から一又は複数の対を順次特定する。また、画像処理機能110iは、特定機能110gが対を特定するごとに、X線画像データに対する画像処理を順次実行する。また、表示制御機能110bは、画像処理機能110iが画像処理を実行するごとに、画像処理後のX線画像データをディスプレイ108に順次表示させる。
或いは、収集機能110aは、時系列の複数のX線画像データを収集し、収集した複数のX線画像データを画像記憶回路112に記憶させる。次に、検出機能110dは、画像記憶回路112から複数のX線画像データを読み出し、読み出した複数のX線画像データのそれぞれについて、少なくとも3つの候補点を検出する。また、抽出機能110eは、複数のX線画像データのそれぞれについて複数の候補対を選択し、選択した複数の候補対それぞれに対応する複数の領域を抽出する。また、解析機能110fは、複数のX線画像データのそれぞれについて、学習済みモデルM1又は学習済みモデルM2に複数の領域を入力することによって、複数の領域それぞれを解析する。また、特定機能110gは、複数のX線画像データのそれぞれについて、複数の候補対の中から一又は複数の対を特定する。また、画像処理機能110iは、複数のX線画像データのそれぞれについて画像処理を実行する。また、表示制御機能110bは、画像処理後の複数のX線画像データをディスプレイ108に表示させる。
別の例を挙げると、モデル生成機能110hは、学習済みモデルM3又は学習済みモデルM4を事前に生成してモデル記憶回路111に記憶させる。次に、収集機能110aは、時系列の複数のX線画像データを収集する。また、検出機能110dは、収集機能110aがX線画像データを収集するごとに、学習済みモデルM3又は学習済みモデルM4にX線画像データを入力することによって、複数の候補点を順次検出する。また、検出機能110dは、収集機能110aがX線画像データを収集するごとに、X線画像データについてパターンマッチングを実行することによって、複数の候補点を順次検出する。また、特定機能110gは、検出機能110dが複数の候補点を検出するごとに、複数の候補対の中から一又は複数の対を順次特定する。また、画像処理機能110iは、特定機能110gが対を特定するごとに、X線画像データに対する画像処理を実行する。また、表示制御機能110bは、画像処理機能110iが画像処理を実行するごとに、画像処理後のX線画像データをディスプレイ108に順次表示させる。
或いは、収集機能110aは、時系列の複数のX線画像データを収集し、収集した複数のX線画像データを画像記憶回路112に記憶させる。次に、検出機能110dは、画像記憶回路112から複数のX線画像データを読み出し、学習済みモデルM3又は学習済みモデルM4にX線画像データを入力することによって、読み出した複数のX線画像データのそれぞれについて複数の候補点を検出する。また、検出機能110dは、パターンマッチングを実行することによって、読み出した複数のX線画像データのそれぞれについて複数の候補点を検出する。また、特定機能110gは、検出機能110dによる検出結果に基づいて、複数のX線画像データのそれぞれについて複数の候補対の中から一又は複数の対を特定する。また、画像処理機能110iは、複数のX線画像データのそれぞれについて画像処理を実行する。また、表示制御機能110bは、画像処理後の複数のX線画像データをディスプレイ108に表示させる。
第1~第4の実施形態に係る各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されうる。
また、第1~第4の実施形態で説明した医用画像処理方法は、予め用意された医用画像処理プログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。この医用画像処理プログラムは、インターネット等のネットワークを介して配布することができる。また、この医用画像処理プログラムは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO、DVD等のコンピュータで読み取り可能な非一過性の記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上説明した少なくとも一つの実施形態によれば、医用画像データ上でのマーカ特定の精度を向上させることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。