【文献】
岩岡直樹,大腸NBI内視鏡画像のポリープ領域分割のための計算コストと認識率の評価,第17回画像センシングシンポジウム講演論文集,日本,2011年 6月 8日,p. IS1-09-1 - IS1-09-7
【文献】
三島翼,大腸NBI拡大内視鏡画像診断支援のためのリアルタイム特徴量抽出アーキテクチャ,電子情報通信学会技術研究報告,日本,2013年11月 1日,第113巻, 第282号,p. 25-30
【文献】
小出哲士,Support Vector Machineを用いたピラミッド型識別器による大腸NBI拡大内視鏡画像の領域分割,第20回画像センシングシンポジウム講演論文集,日本,画像センシング技術研究会,2014年 6月11日,p. IS3-12-1 - IS3-12-7
(58)【調査した分野】(Int.Cl.,DB名)
前記処理装置が、前記識別対象領域および前記各細分化領域における各病理タイプの識別確率を領域サイズ別の識別精度に応じて重み付けして前記平均値を計算するものである、請求項1または請求項2に記載の内視鏡画像診断支援システム。
前記処理装置が、各病理タイプについて1対多の2クラス識別を行い、これら2クラス識別の識別結果に基づいて前記識別対象領域および前記各細分化領域における各病理タイプの識別確率を計算するものである、請求項1ないし請求項4のいずれかに記載の内視鏡画像診断支援システム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の内視鏡画像診断支援システムでは、スキャンウィンドウ(SW:Scan Window)(例えば、サイズ120×120画素の領域)でFull HDの内視鏡画像全体をスキャンして各スキャンウィンドウにおける病理タイプを判定していた。しかし、内視鏡画像に映し出された実際の患部は矩形でないことが多いため、一つのスキャンウィンドウに複数の病理タイプが混在する場合には複数の病理タイプの識別確率が拮抗し、そのスキャンウィンドウにおける病理タイプの判定が難しくなる。この問題を解消するためにスキャンウィンドウサイズを小さくすると、今度は、一つのスキャンウィンドウの画像から抽出される特徴量が少なくなるため、識別精度が劣化するおそれがある。また、スキャンウィンドウサイズが小さくなると、Full HD(1920×1080画素)の内視鏡画像全体のスキャン量が増えて処理速度が低下したり、処理結果の表示までの時間(レイテンシ)が大きくなり、リアルタイム表示をすることが困難になる。
【0007】
上記問題に鑑み、本発明は、内視鏡画像中の識別対象領域における病理タイプを識別する内視鏡画像診断支援システムにおいて識別精度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
本発明の一局面に従った内視鏡画像診断支援システムは、あらかじめ各病理タイプに分類された学習用画像群を保存する記憶装置と、内視鏡画像が与えられ、該画像中の識別対象領域の画像と前記学習用画像群との特徴量マッチングを行って該識別対象領域における各病理タイプを識別する処理装置とを備え、前記処理装置が、前記識別対象領域の画像と前記学習用画像群との特徴量マッチングを行って前記識別対象領域における各病理タイプの識別確率を計算し、前記識別確率の最大値が閾値よりも小さい場合、前記識別対象領域を細分化して各細分化領域の画像と前記学習用画像群との特徴量マッチングを行って該各細分化領域における各病理タイプの識別確率を計算し、前記識別対象領域および前記各細分化領域の階層的な重複領域における各病理タイプの識別確率として、前記識別対象領域および前記各細分化領域における各病理タイプの識別確率の平均値を計算するものである。
【0009】
また、本発明の別局面に従った内視鏡画像診断支援システムは、あらかじめ各病理タイプに分類された学習用画像群を保存する記憶装置と、内視鏡画像が与えられ、該画像中の識別対象領域の画像と前記学習用画像群との特徴量マッチングを行って該識別対象領域における各病理タイプを識別する処理装置とを備え、前記処理装置が、前記識別対象領域および前記識別対象領域の各細分化領域の画像と前記学習用画像群との特徴量マッチングを行って前記識別対象領域および前記各細分化領域における各病理タイプの識別確率を計算し、前記識別対象領域および前記各細分化領域の階層的な重複領域における各病理タイプの識別確率として、前記識別対象領域および前記各細分化領域における各病理タイプの識別確率の平均値を計算するものである。
【0010】
これらによると、内視鏡画像中の階層的に重複するさまざまなサイズの領域において各病理タイプの識別確率が計算されてそれらが平均されることにより、複雑な形状の患部の病理タイプの識別が可能となる。
【0011】
前記処理装置が、前記識別対象領域および前記各細分化領域における各病理タイプの識別確率を領域サイズ別の識別精度に応じて重み付けして前記平均値を計算するものであってもよい。これによると、識別精度をより向上させることができる。
【0012】
前記識別対象領域および前記各細分化領域の画像から得られる特徴量が、Bag-of-Features法に基づくビジュアルワードのヒストグラムで表現されており、前記処理装置が、上位階層領域の画像から得られる特徴量を表すヒストグラムを、階層的に重複する下位階層領域の画像から得られる特徴量を表すヒストグラムの加算により計算するものであってもよい。これによると、上位階層領域の画像から得られる特徴量を表すヒストグラムの生成処理が簡単になり、計算量を削減して処理速度を向上させることができる。
【0013】
前記処理装置が、各病理タイプについて1対多の2クラス識別を行い、これら2クラス識別の識別結果に基づいて前記識別対象領域および前記各細分化領域における各病理タイプの識別確率を計算するものであってもよい。これによると、識別精度を向上させることができる。
【発明の効果】
【0014】
本発明によると、内視鏡画像中の識別対象領域における病理タイプを識別する内視鏡画像診断支援システムにおいて識別精度を向上させることができる。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明を実施するための形態について説明する。なお、以下の説明において、便宜上、内視鏡画像は大腸のNBI拡大内視鏡画像とし、病理タイプとして広島大学病院のNBI拡大観察所見分類(特に、Type A、Type B、Type C3の3タイプ)を用いる。しかし、本発明は下記の実施形態に限定されるものではなく、例えば、消化管内視鏡画像を用いた診断支援システムにも適用可能である。
【0017】
図1は、本発明の一実施形態に係る内視鏡画像診断支援システム(以下、「本システム」と称する)の概略構成を示す。本システム100は、大腸のNBI拡大内視鏡画像に映し出された患部の病理タイプを客観的指標に基づいて識別することで、医師による内視鏡診断を支援したり、経験の少ない医師の教育支援を行うものである。
【0018】
具体的に、本システム100は、記憶装置10、処理装置20、および表示装置30を備える。記憶装置10は、フラッシュメモリなどの不揮発性メモリやハードディスクドライブなどで構成される。処理装置20は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)などの各種ハードウェアで構成される。表示装置30は、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などで構成される。
【0019】
処理装置20は、内視鏡画像を受け、当該画像中の識別対象領域(スキャンウィンドウ:SW)における各病理タイプを判定する。判定結果は、例えば、病理タイプ別の確率(識別確率)として表され、表示装置30に内視鏡画像とともに、もしくは別画面に判定結果がリアルタイムに示される。
【0020】
処理装置20に入力される内視鏡画像は、診察中の内視鏡カメラからのリアルタイム映像でもよいし、過去の診察において撮影され保存された映像でもよい。前者の場合、診察時にリアルタイムで患部の病理タイプの判定を行うことができる。後者の場合、過去の膨大な数のアーカイブ映像を活用して内視鏡診断の教育・訓練を行うことができる。
【0021】
処理装置20は、特徴量抽出処理部21、識別特徴ベクトル変換処理部22、識別判定部23、および識別確率計算部24を含む。このうち、特徴量抽出処理部21および識別判定部23についてはハードウェア化を実現している(非特許文献1,2を参照)。残りの識別特徴ベクトル変換処理部22および識別確率計算部24についてもハードウェア化が可能であり、処理装置20における図示しないCPUなどによってソフトウェア処理で行ってもよい。
【0022】
特徴量抽出処理部21は、内視鏡画像中のスキャンウィンドウの画像から局所特徴量を抽出する。ここで、局所特徴記述子として、例えば、D−SIFT(Dense Scale-Invariant Feature Transform)を用いることができる。
【0023】
D−SIFTは、入力画像に対してgrid状に特徴点(キーポイント)をとっていき、その特徴点の周囲の局所領域における輝度値の勾配情報を128次元のパラメータ(特徴量)に変換するものである。まず、特徴量抽出処理部21は、ガウシアンフィルタによる平滑化を行い、各ピクセルごとにx方向およびy方向への輝度勾配を求める。次に、特徴量抽出処理部21は、求めた輝度勾配を用いて各ピクセルの勾配方向を8方向に分類し、勾配強度を算出する。その後、特徴量抽出処理部21は、局所領域を4×4=16分割したブロックごとで方向ごと(8方向)に畳み込みを行い、さらに特徴点からの距離でブロックごとにガウス関数に基づいた重み付けを行う。こうして得られた4×4×8方向=128次元の値を正規化することで、128次元の特徴量ベクトル群が得られる。
【0024】
なお、非特許文献1に開示されているように、特徴点からの距離に応じたブロックの重み付けを省略することにより、重なり合う特徴量記述領域のすべてのブロックの値を共有することが可能となる。これにより、必要なメモリ量を大幅に削減することができる。さらに、同文献に開示されているように、arctan関数を用いずに各ピクセルの輝度勾配方向の算出できるようにしたり、輝度勾配方向を4方向に削減したり、正規化処理を閾値処理に変更したりすることで、ソフトウェアやハードウェアへのD−SIFTアルゴリズムの実装が容易になり、特徴量抽出処理が大幅に高速化される。
【0025】
識別特徴ベクトル変換処理部22は、特徴量抽出処理部21で抽出された特徴量ベクトル群を、Bag-of-Features(BoF)法に基づくビジュアルワード(VW:Visual Word)のヒストグラムに変換する。
【0026】
ビジュアルワードは、学習用画像群から抽出された特徴量ベクトル群をクラスタリングすることにより得られる。より詳細には、あらかじめType Aに分類された学習用画像群から特徴量ベクトル群を抽出し、k-means法などにより特徴量ベクトル群を複数(例えば、256個)のクラスタにクラスタリングする。各クラスタの中心がビジュアルワードである。すなわち、あらかじめType Aに分類された学習用画像群からType Aを特徴付ける複数(例えば、256個)のビジュアルワードが得られる。同様に、あらかじめType Bに分類された学習用画像群からType Bを特徴付ける複数(例えば、256個)のビジュアルワードが、また、あらかじめType C3に分類された学習用画像群からType C3を特徴付ける複数(例えば、256個)のビジュアルワードが、それぞれ得られる。
【0027】
識別特徴ベクトル変換処理部22は、上記の各256個のビジュアルワード3セットに対して、特徴量抽出処理部21で抽出された特徴量ベクトルと最も類似するもの、すなわち、ベクトル間距離が最小のものを見つけ、その3セットのビジュアルワードに各1回ずつ投票する。この投票処理を特徴量抽出処理部21で抽出された特徴量ベクトル群について行うことで、特徴量ベクトル群は768(=256×3)個のビジュアルワードのヒストグラムに変換される。すなわち、内視鏡画像中のスキャンウィンドウの画像が768次元の識別空間における特徴ベクトルで表現される。
【0028】
なお、あらかじめ学習量画像群から抽出した特徴量ベクトルを用いて、他の方法でビジュアルワードを生成してもよい。また、ビジュアルワードの次元数も変更可能である。
【0029】
記憶装置10は、あらかじめ各病理タイプに分類された学習用画像群を保存している。記憶装置10に保存された学習用画像群もまた上記の768個のビジュアルワードのヒストグラム、すなわち、768次元の識別空間における特徴ベクトルで表現される。
【0030】
識別判定部23は、記憶装置10に保存された学習用画像群を教師データとして用いて、識別特徴ベクトル変換処理部22によって生成されたビジュアルワードのヒストグラムがType A、Type B、Type C3のいずれの病理タイプのものであるかを識別する。識別器として、例えば、SVM(Support Vector Machine)を用いることができる。
【0031】
非特許文献2に開示されているように、2クラス識別器であるSVMに基づく多クラス識別として、One-versus-Oneアプローチと、2段階判定とがある。例えば、One-versus-Oneアプローチでは、Type AとType Bとの識別を行う識別器「AvsB」、Type BとType C3との識別を行う識別器「BvsC3」、およびType C3とType Aとの識別を行う識別器「C3vsA」を並列に配置して、各識別器の識別結果をもとに最終的な識別結果を得ることができる。
【0032】
上記以外に、各病理タイプについて1対多の2クラス識別を行う識別器をカスケード接続した識別(以下、カスケード識別と称する)も可能である。
図2は、カスケード識別の概念図である。同図に示したように、Type Aとそれ以外との識別を行う識別器「Avs¬A」、Type Bとそれ以外との識別を行う識別器「Bvs¬B」、Type C3とそれ以外との識別を行う識別器「C3vs¬C3」をカスケード接続して、各識別器の識別結果をもとに最終的な識別結果を得ることができる。
【0033】
さらに、識別器「C3vs¬C3」の後段に、Type AとType Bとの識別を行う識別器「AvsB」を接続してもよい。これは、Type Aに分類されるべき未知データxが初段の識別器「Avs¬A」において¬Aのクラスに分類されてしまった場合に、もう一度Type Aに分類される機会を与えるためである。これは、識別器「Avs¬A」の精度が100%でない場合には効果的である。そのため、この識別器「AvsB」を最終段に接続することで、識別判定部23の識別精度を向上させることができる。
【0034】
また、処理装置20に入力される内視鏡画像には、ライトによる画像の白飛び、水による洗浄に伴う画像の乱れ、大腸壁面の血管による脈動、内視鏡操作による画像のボケ、などが存在する。このようなボケ画像については正しく病理タイプが識別されない蓋然性が高いため、上記のカスケード識別の初段に、ボケ画像とそれ以外との識別を行う2クラス識別器を接続してもよい。
【0035】
上記のカスケード識別は、ソフトウェア処理およびハードウェア処理のいずれも可能である。
図3は、カスケード識別をハードウェア化する場合のアーキテクチャ例を示す。カスケード識別をハードウェア処理する場合には、各識別器を並列に配置して、各識別器の識別結果をもとに最終的な識別結果を得ることができる。
【0036】
図1へ戻り、識別確率計算部24は、識別判定部23における各識別器の識別結果を受け、例えば、最急降下法により各病理タイプの識別確率を計算する。
【0037】
上記のごとく、処理装置20は、内視鏡画像を受け、該画像中のスキャンウィンドウの画像と前記学習用画像群との画像マッチング(特徴量マッチング)を行ってスキャンウィンドウにおける各病理タイプを識別する。
【0038】
さらに、処理装置20は、スキャンウィンドウを階層的に細分化して、矩形ではない複雑な形状の患部の病理タイプの識別ができるようになっている。
【0039】
図4は、スキャンウィンドウの階層的細分化を説明する図である。例えば、
図4に示すように、内視鏡画像中の各スキャンウィンドウSW
1〜SW
9に対して処理を行って各病理タイプの識別確率が計算される。ここで、スキャンウィンドウSW
1、SW
9ではType Aがほぼ領域全体を占めているため、これらスキャンウィンドウにおいてType Aの識別確率が非常に高くなる。また、スキャンウィンドウSW
5ではType Bがほぼ領域全体を占めているため、このスキャンウィンドウにおいてType Bの識別確率が非常に高くなる。一方、その他のスキャンウィンドウではType AとType Bが混在しているため、病理タイプがType AであるかType Bであるかの判定が難しくなる。そこで、そのようなスキャンウィンドウについては階層的に細分化してより小さいサイズの下位階層(例えば、レベル2)のスキャンウィンドウやさらに小さいサイズの下位階層(例えば、レベル3)のスキャンウィンドウを生成し、これら小サイズのスキャンウィンドウにおいて病理タイプを識別(以下、階層的識別と称する)する。なお、以下の説明において、レベルとはスキャンウィンドウSWの階層を指す。
【0040】
階層的識別にはトップダウンによるアプローチとボトムアップによるアプローチの二つがある。以下、各アプローチについて説明する。
【0041】
図5は、トップダウンの階層的識別の例を示す。トップダウンの階層的識別では、まず、内視鏡画像を大きいサイズのスキャンウィンドウ、すなわち、最上位のレベルのスキャンウィンドウでスキャンして各スキャンウィンドウにおいて識別処理を行う。
図5の左側は、内視鏡画像をスキャンウィンドウSW
1,1〜SW
9,1に分けて各スキャンウィンドウで識別処理を行った結果を示している。なお、SWの添え字における右側数字はスキャンウィンドウのレベルを表し(最上位をレベル1とする)、左側数字はそのレベルにおけるスキャンウィンドウの通し番号を表し、以下の説明において同様である。
図5の例では、スキャンウィンドウSW
1,1〜SW
4,1、SW
6,1〜SW
9,1ではType Aの識別確率が90%となっている。このことから、これらスキャンウィンドウにおける病理タイプはType Aであると判定することができる。一方、スキャンウィンドウSW
5,1では3つの病理タイプの識別確率が拮抗している。このことから、スキャンウィンドウSW
5,1では病理タイプの判定が困難である。
【0042】
処理装置20は、スキャンウィンドウSW
5,1のように、いずれの病理タイプであるか判定が困難な場合、具体的には、識別確率の最大値が閾値(例えば、80〜90%)よりも小さい場合、そのスキャンウィンドウを細分化して、下位レベルのスキャンウィンドウ、すなわち、より小さいサイズのスキャンウィンドウにおいて識別処理を行う。
【0043】
例えば、
図5の右側に示すように、3つの病理タイプの識別確率が拮抗するスキャンウィンドウSW
5,1を4分割し、小さいスキャンウィンドウSW
1,2〜SW
4,2で識別処理を行う。このように、スキャンウィンドウを細分化することで、矩形ではない複雑な形状の患部の病理タイプをより精度よく識別することができる。
【0044】
なお、
図5の例では、スキャンウィンドウSW
5,1を、領域が互いに重複しないスキャンウィンドウSW
1,2〜SW
4,2に細分化しているが、細分化した各スキャンウィンドウの領域が部分的に重複していてもよい。
【0045】
上記のトップダウンの識別処理は、識別確率の最大値が閾値よりも小さい場合にスキャンウィンドウを細分化していくといった逐次的処理を行う点で、特にソフトウェア処理に向いている。そして、内視鏡画像全体を小さいサイズのスキャンウィンドウで識別処理するのではなく、必要な場合(識別確率の最大値が閾値よりも小さい場合)にのみ、より小さいサイズのスキャンウィンドウで識別処理が行われるため、Full HD(1920×1080画素)の内視鏡画像全体を高速に処理することができる。
【0046】
図6は、ボトムアップによる階層的識別の例を示す。ボトムアップの階層的識別では、大小さまざまなサイズのスキャンウィンドウで識別処理を行う。例えば、
図6の例では、大(レベル1)、中(レベル2)、小(レベル3)の各サイズのスキャンウィンドウで識別処理を行う。各スキャンウィンドウは、異なるレベル間はもちろん同じレベル内で一部または全部の領域が重複していてもよい。
【0047】
ボトムアップの階層的識別では、上位階層のスキャンウィンドウの画像の特徴量から得られるビジュアルワードのヒストグラムは、下位階層のスキャンウィンドウの画像の特徴量から得られるヒストグラムの重み付き足し合わせにより計算することができる。ここで、上述したように、特徴量抽出処理部21において、特徴点からの距離に応じたブロックの重み付けを省略することで、上位階層のスキャンウィンドウの画像から得られる特徴量を表すヒストグラムは、下位階層のスキャンウィンドウの画像から得られる特徴量を表すヒストグラムを単に足し合わせて正規化するだけで生成することができる。すなわち、最下位レベル(
図6の例ではレベル3)の各スキャンウィンドウについてのみビジュアルワードのヒストグラムを生成しておけばよく、それよりも上位レベルの各スキャンウィンドウのヒストグラムは最下位レベルの各スキャンウィンドウのヒストグラムから容易に計算することができる。また、最下位レベルの各スキャンウィンドウにおける特徴量計算は並列処理することが可能である。このような点において、ボトムアップの識別処理は、特に並列処理が容易なハードウェア処理に向いている。
【0048】
トップダウンおよびボトムアップのいずれの階層的識別においても、各スキャンウィンドウの階層的な重複領域における各病理タイプの識別確率は、重複領域の各スキャンウィンドウにおける各病理タイプの識別確率の平均値として計算される。
図5の例では、処理装置20は、スキャンウィンドウSW
1,2およびその上位階層のスキャンウィンドウSW
5,1における各病理タイプの識別確率の平均値を計算する。また、
図6の例では、処理装置20は、スキャンウィンドウSW
6,3、その上位階層のスキャンウィンドウSW
1,2、SW
5,2、SW
6,2、SW
9,2、さらにその上位階層のスキャンウィンドウSW
1,1〜SW
4,1における各病理タイプの識別確率の平均値を計算する。
【0049】
図7は、病理タイプ別(Type A、Type B、Type C3、および全タイプの平均(all))およびスキャンウィンドウのサイズ別(60×60画素、120×120画素、200×200画素、500×500画素)の識別精度(True Positive)の例を示すグラフである。なお、iをType A、Type B、Type C3、Allのいずれかとして、True Positive(i)は次式で定義される。
【0050】
True Positive(i) = Posi_Num(i)/Img_Num(i) * 100[%]
ただし、Img_Num(i)はType iの全入力画像データ数であり、Posi_Num(i)はType iの全入力画像データ中で正しくType iと識別された数である。
【0051】
図7に示したように、いずれの病理タイプでも、スキャンウィンドウのサイズが小さくなるにつれ、識別精度(True Positive)は低下する。そこで、処理装置20は、各スキャンウィンドウにおける各病理タイプの識別確率の平均値を計算する場合、各スキャンウィンドウのサイズ別の識別精度に応じて重み付けしてもよい。これにより、識別精度を向上させることができる。
【0052】
以上のように、本実施形態によると、矩形ではない複雑な形状の患部の病理タイプを高速かつ高精度に識別することができる。
【0053】
なお、スキャンウィンドウは矩形である必要はなく、さまざまな形状を取り得る。また、スキャンウィンドウのサイズも任意である。