以下、技術を実施するための形態(以下、実施の形態と称する)について説明する。なお、説明は以下の順序で行う。
1.画像処理装置の構成
2.表示処理
3.病変進行度ラベル
4.辞書の作成
5.学習方法
6.本技術のプログラムへの適用
7.その他
[画像処理装置の構成]
図1は、画像処理装置の構成例を示すブロック図である。画像処理装置1は、例えばパーソナルコンピュータにより構成される。
画像処理装置1において、CPU(Central Processing Unit)21,ROM(Read Only Memory)22,RAM(Random Access Memory)23は、バス24により相互に接続されている。
バス24には、さらに、入出力インタフェース25が接続されている。入出力インタフェース25には、入力部26、出力部27、記憶部28、通信部29、及びドライブ30が接続されている。
入力部26は、キーボード、マウス、マイクロフォンなどよりなる。出力部27は、ディスプレイ、スピーカなどよりなる。記憶部28は、ハードディスクや不揮発性のメモリなどよりなる。通信部29は、ネットワークインタフェースなどよりなる。ドライブ30は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア31を駆動する。
以上のように構成される画像処理装置1では、CPU21が、例えば、記憶部28に記憶されているプログラムを、入出力インタフェース25及びバス24を介して、RAM23にロードして実行することにより、所定の処理が実行される。
画像処理装置1では、プログラムは、例えば、パッケージメディア等としてのリムーバブルメディア31をドライブ30に装着することにより、入出力インタフェース25を介して、記憶部28にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部29で受信し、記憶部28にインストールすることができる。その他、プログラムは、ROM22や記憶部28に、あらかじめインストールしておくことができる。
次にCPU21の機能的構成について説明する。図2は、CPU21の機能的構成を示すブロック図である。同図に示されるように、CPU21は、取得部51、検出部52、グルーピング部53、補正部54、抽出部55、表示部56、判定部57、移動部58、スケーリング部59、および設定部60を有している。各部は必要に応じて情報を授受する機能を有している。
取得部51は、画像、モード等の各種の情報を取得する。検出部52は、領域を検出する。検出部52はまた、腫瘍を識別するとともに、病変進行度を識別する。グルーピング部53は、画像をグルーピングする。補正部54は、画像を補整する。抽出部55は、スクロールラインを抽出する。表示部56は、画像や所定のメッセージ等を表示する。判定部57は、各種の判定処理を実行する。移動部58は、画像をスクロールしたり、所定の位置に移動させる。スケーリング部59は、画像を拡大または縮小する。設定部60は、速度を設定する。
図3は、入力部26の構成例を示す図である。すなわち入力部26は、少なくとも、ボタン71U,71D,71L,71R,72,73,74,75,76を有している。ボタン71U,71D,71L,71Rは、それぞれ画像を上下左右に移動させるとき操作される。なお、ボタン71U,71D,71L,71Rを個々に区別する必要が無い場合、単にボタン71と記述する。他の構成要素についても同様とする。ボタン72は、画像を拡大するとき上方に操作され、縮小するとき下方に操作される。ボタン71,72は、操作されている期間だけ指示が出され、操作を停止すると、指示は終了される。
ボタン73は、モードを自動モードに設定するとき操作され、ボタン74は、モードを手動モードに設定するとき操作される。ボタン73,74は、一旦操作されると、操作を解除しても、その指示は継続される。ボタン75は、画像の番号などの数字を入力するとき操作される。ボタン76は、画像の選択を確定するとき等に操作される。
[表示処理]
次に画像処理装置1により実行される表示処理について説明する。図4乃至図8は、表示処理を説明するフローチャートである。この処理は、例えば医師等のユーザが患者の医用画像を観察するために行われる。
ステップS1において取得部51は、画像を取得する。例えば図9に示されるように、患者の針生検が行われた場合において、得られたサンプルをプレパラート上に配置して、顕微鏡で観察して得られた画像が取得される。
図9は、針生検の画像の例を示す図である。この例においては、針生検が3回行われ、各回において得られた細胞組織のサンプルの画像82−1乃至82−3が画像81内に含まれている。
ステップS2において検出部52は、診断対象領域を検出する。例えば図10に示されるように、診断対象領域が検出される。
図10は、診断対象領域を説明する図である。図10は、図9の画像81から診断対象領域を検出した例を示している。図10に示される例では、図9に示される細胞組織の画像82−1乃至82−3に対応する領域83−1乃至83−3が、診断対象領域として検出されている。換言すれば、この処理により、画像81から、細胞組織の画像82−1乃至82−3以外の領域(すなわち、背景となっている領域)が、診断対象領域から除外される。
ステップS3においてグルーピング部53は、ステップS2の処理で得られた1枚の医用画像から、そこに含まれる複数の診断対象領域をグルーピングする。これにより、各回の針生検により得られた細胞組織の画像が異なる画像とされる。その結果、異なる細胞組織が同じ細胞組織として誤認されるようなことが防止される。
グルーピングの数は、1でも、2以上でもよいが、この数が、後述するステップS14で実行されるスクロールの対象の数となるので、診断の場面に応じて適切な値とされる。それが肺の画像であれば、左右に2個あるので、グルーピング数は2とし、大腸であれば1個なので1とするなど、診断対象の性質に基づいて決定するのが好ましい。この実施の形態の場合、針生検の回数は3回であり、3個の細胞組織が存在するので、グルーピングの数は3とされる。
病理画像を生検数でグルーピングする場合、一般的にプレパラート作成時に生検数が既知であるため、クラスタ数が既知であるクラスタリング問題となる。以下に、スペクトルクラスタリングの技術を用いたグルーピング方法を説明する。
いま、診断対象領域の画素数をnとし、目標とするグルーピングのクラス数をCとする。dijを画素iと画素jの座標値におけるユークリッド距離として、affinity matrix Aijを式(1)のように定義する。
式(1)におけるσはスケーパラメータであり、例えば、0.1など、対象にとって適切な値が設定される。
また対角行列Dが式(2)のように定義され、式(1)と式(2)から、式(3)の行列Lが演算される。
行列Lの固有値の大きい順にC個の固有ベクトルx1,x2,・・・,xCを求め、式(4)の行列Xを作成する。
X=[x1,x2,・・・,xC] (4)
この行列Xを各行で正規化した次の式(5)の行列Yを求める。
行列Yの各行を要素ベクトルとしてK-means法によりC個にクラスタリングすると、行列Yの行番号iのクラスタが画素iのクラスタに対応する。
なお、以上では、スペクトラルクラスタリングを使用するようにしたが、入力データにK-means法を直接適用するなどして、他のクラスタリング手法を用いることもできる。入力されるデータの特性に応じて適切なクラスタリング手法を用いるのが好ましい。
図11は、グルーピングを説明する図である。図11は、図10に示される領域83−1乃至83−3をグルーピングした結果を表している。図11においては、図10の領域83−1乃至83−3が、それぞれ領域84−1乃至84−3として、異なるグループにグルーピングされている。
ステップS4において補正部54は、ステップS3でグルーピングされた各領域を、図12に示されるように、回転補正する。具体的には、各グループ毎に各領域84の慣性主軸が求められる。各領域84は、その慣性主軸が垂直方向(つまりy軸方向)と平行になるように回転補正される。慣性主軸θは、領域84の重心周りのモーメントをupqとしたとき、式(6)で表される。pは、x軸のモーメントの次数を表し、qは、y軸のモーメントの次数を表す。
図12は、回転補正を説明する図である。図12の例では、ステップS3の処理で1つのグループとされた領域84−1を含む画像が画像91−1とされている。同様に、他の1つのグループとされた領域84−2を含む画像が画像91−2とされ、さらに他の1つのグループとされた領域84−3を含む画像が画像91−3とされている。各領域84−1乃至84−3は、その慣性主軸が垂直方向となるように、画像91−1乃至91−3内に配置されている。
ステップS5において抽出部55は、スクロールラインを抽出する。スクロールラインはステップS3の処理で生成された各グループ毎に抽出される。すなわち、回転補正された領域84−1乃至84−3において、それぞれの水平方向の中心を線で結ぶことでスクロールラインが得られる。
なお、以上の処理は、別の装置により実行させることもできる。この場合、画像処理装置1には、画像データとそのスクロールラインを表すメタデータが取得される。
図13は、スクロールラインを説明する図である。図13においては、領域84−1乃至84−3にそれぞれスクロールライン95-1乃至95−3が示されている。
なお、スクロールライン95を求めるのに回転補正は必ずしも必要ではない。例えば2値画像の最線化処理によりスクロールライン95を求めることもできる。
次にユーザは、以上のようにして取得された画像を出力部27を構成するディスプレイに表示させ、観察する。
そのためユーザは、ボタン75を操作して画像の番号を入力し、観察する画像を選択する。例えば3つの画像が存在する場合、そのうちの観察する画像に対応する番号が入力される。さらにユーザは、ボタン76を操作して画像の選択を確定する。画像の数が1つである場合には、ボタン76の操作だけが行われる。
ボタン76が操作されたとき、ステップS6において取得部51は、画像を取得する。例えば3つの画像91−1乃至91−3のうちの、ユーザにより指定された番号の画像91−1が取得される。
ステップS7において表示部56は、画像を表示する。すなわちステップS6で取得された画像が、図14に示されるように、出力部27を構成するディスプレイ101に表示される。
図14は、病理画像の表示例を示す図である。図14の表示例においては、ディスプレイ101の左側の略1/4の領域102に、取得された画像91−1乃至91−3のサムネイルが表示されている。ディスプレイ101の右側の略3/4の領域103には、選択したサムネイルに対応する画像が表示されている。ユーザは、領域102に表示されているカーソル104を、ボタン71U,71Dを操作することで上下させて、所望の画像を選択する。図14の例においては、画像91−1上にカーソル104が配置されているので、領域103には画像82−1を含む画像91−1が表示されている。なお、スクロールライン95は、仮想的な線であり、領域103に実際に表示されることはない。
また、領域103の右下の領域105には、領域103に表示されている画像の全体の中における位置をユーザが容易に識別できるようにするための画像が表示されている。図14の例においては、画像82−1のサムネイル上の、現在の表示位置に対応する位置に、マーカ106が表示されている。
なお、図14の例においては、領域102に3個の画像91−1乃至91−3が表示されているが、4個以上の画像が存在する場合には、カーソル104を一番下側に配置した状態で、ボタン71Dがさらに操作される。これにより、サムネイルが上方向にスクロールされ、4番目以降の画像が順次表示される。
なお、複数の細胞組織の画像82−1乃至82−3が近接していると、図15に示されるように、各グループの画像とともに、異なるグループにグルーピングされた他の画像の一部が同時に表示されてしまうおそれがある。
図15は、マスクを説明する図である。図15Aに示される例では、細胞組織の画像82−1の右側に、画像82−2が表示されている。画像82−1を表示する場合に、図15Aに示されるような画像を表示してしまうと、ユーザは、画像82−2を画像82−1の一部の画像と誤認してしまうおそれがある。
図15Bに示されるように、ステップS3のグルーピング処理により、画像82−2の領域84−2は、画像82−1の領域84−1とは異なる領域(すなわち、異なるグループ)として検出されている。この検出結果に基づいて、図15Cに示されるように、画像82−1を表示する場合には、他の画像82−2はマスクされ、表示されない。これによりユーザは、1つの画像を確実に観察することができる。その結果、例えば画像82−1と画像82−2は、異なる患者の針生検の画像であるような場合においても、1人の患者に対して、他の患者の画像に基づき誤った判断が行われてしまうようなことが抑制される。
ステップS8において取得部61は、モードを取得する。すなわち、ユーザがボタン73,74を操作することで設定したモードが取得される。
ユーザがボタン73を操作することで自動モードが設定された場合、ボタン71Uが操作されている期間、画像が下から上方向に一定の速度でスクロールされる。また、ボタン71Dが操作されている期間、画像が上から下方向に一定の速度でスクロールされる。
一方、ユーザがボタン74を操作することで手動モードが設定された場合、ボタン71Uまたはボタン71Dが操作されている期間、画像が上方向または下方向にスクロールされるが、その速度はボタン71U,71Dを押圧する力により変化する。押圧力が大きいほど、速度は速くなり、小さいほど、遅くなる。
ステップS9において判定部57は、ステップS208で取得されたスクロールモードが、自動モードであるかを判定する。
設定されたのが自動モードである場合、ステップS10において判定部57は、上方向または下方向へのスクロールが指示されたかを判定する。つまり、ユーザはスクロールを開始したいとき、ボタン71U,71Dを操作する。上方向へのスクロールを指示する場合、ボタン71Uが操作され、下方向へのスクロールを指示する場合、ボタン71Dが操作される。ボタン71Uまたはボタン71Dが操作された場合、上方向または下方向へのスクロールが指示されたと判定される。
自動モードにおいてはボタン71U,71Dのみが操作可能であり、これらのボタンのいずれも操作されない場合には、処理はステップS9に戻る。ボタン71U,71Dが操作されるまで、ステップS9,S10の処理が繰り返される。
上方向または下方向へのスクロールが指示された場合、ステップS11において移動部58は、表示位置をスクロール中断位置に移動する。
すなわち、この実施の形態の場合、自動モードが設定されているとき、画像はスクロールライン95が画面の中央に位置するようにスクロールされる。つまり、画像をスクロールして観察する場合の観察基準位置が、画像のスクロール方向と垂直な方向の中心、すなわちスクロールライン95とされる。そして、スクロールする画像を表示する場合の表示基準位置は、表示領域の中心とされる。勿論、ここにおける中心は、実際には正確な中心である必要はなく、中心近傍であればよい。
しかし、後述するように、上方向または下方向へのスクロールが一旦中断され、手動モードで左方向または右方向へスクロールが行われると、スクロールライン95が画面の中央に位置していない状態が発生する。そこで、このような場合、移動部58は、画像をスクロール中断位置に移動する。これにより観察漏れが生じることが防止される。なお、手動モードでのスクロールが一度も実行されていない場合には、表示位置は中断位置のままであるので、実質的にこの処理は実行されないことになる。
ここで、手動モードでのスクロールが行われた場合(つまり、後述する図7のステップS22乃至S30の処理が実行された場合)の画像の移動について、図16乃至図18を参照して説明する。図16乃至図18は、スクロールを説明する図である。
図16において画面121は、ディスプレイ101の画像82を表示する領域であり、図14の領域103に対応する。この実施の形態においては、スクロールライン95が画面121の中心122に位置するように画像82がスクロールされる。上方向へのスクロールが指示された場合、画面121−1,121−2,121−3に示されるように、次第に画像82の下の部分が表示されることになる。なお、上述したように画像82のスクロールライン95は仮想的な線であり、実際には表示されない。
画面121−1,121−2,121−3のいずれにおいても、その中心122−1,122−2,122−3上に、スクロールライン95が位置している。すなわち、通常の装置においては、例えば画面121−1の位置から上方向にスクロールが指示された場合、画面121−4の位置の画像が表示される。画像82が曲がっているので、画面121−4には画像82が表示されず、背景のみが表示される。このような場合、ユーザはボタン71Lを操作し、画像82を左方向にスクロールしないと画像82を観察することができない。しかし本技術においては、ユーザは下方向のボタン71Dだけを操作していればよく、それだけで画像82が常に画面121内に表示されるので、操作性が良好となる。
また、図17Aに示されるように、自動モードでの下方向へのスクロールが画面121−11の位置で一旦中断されたとする。そしてさらにボタン74が操作されて、モードが自動モードから手動モードに切り替えられ、ボタン71が操作されて、画像がスクロールされ、表示位置が画面121−12または画面121−13の位置に達したとする。画面121−12,121−13において、スクロールライン95は中心122−12,122−13上に位置する。
この状態で、再度ボタン73が操作され、自動モードが設定されて、ボタン71Uが操作されると、画面121−12または画面121−13の位置から、自動スクロールを中断した画面122−11の位置まで画像82が移動され、そこから自動モードのスクロールが再開される。
さらに図17Bに示されるように、画面121−21の位置で、自動モードのスクロールを一旦中断した後、手動モードで画面121−22または画面121−23の位置まで画像82の表示位置が移動されたとする。画面121−22,121−23の位置では、スクロールライン95は画面の中心122−22,122−23上に位置していない。この状態で、再度自動モードのスクロールが指示された場合、表示位置が、画面121−22または画面121−23の位置から、画面121−21の位置まで移動し、そこから自動スクロールが再開される。
例えば画面121−13(または画面121−23)の位置から自動スクロールが再開されると、画面121−11(または画面121−21)との間の画像82が表示されないことになる。そこで本技術においては、中断位置から自動スクロールが再開される。
以上においては、一旦中断した自動スクロールを再開した場合、スクロールライン95に沿って自動スクロールを行うようにした。しかし、再開が指示された場合、例えば図18に示されるように、スクロールライン95と平行な仮想的な線95Aに沿って自動スクロールさせるようにすることもできる。図18の例では、画面121−31の位置で自動スクロールが一旦中断された後、画面121−32の位置まで画像82が手動スクロールされている。
この状態で、自動スクロールの再開が指示された場合、画面121−32の中心122−32を通るスクロールライン95に平行な線95A(図18において点線で示されている線)が演算される。そしてこの線95Aに沿って自動スクロールが実行される。その結果、例えば画面121−33においては、その中心122−33上に線95Aが配置されている。
図5の説明に戻って、以上のようにしてステップS11で表示位置をスクロール中断位置に移動する処理が行われた後、ステップS12において速度調整処理が実行される。この速度調整処理について図19を参照して説明する。
図19は、速度調整処理を説明するフローチャートである。ステップS81において判定部57は、腫瘍があるかを判定する。すなわち、ディスプレイ101の領域103に表示されている画像82に腫瘍が存在するかが判定される。腫瘍が存在しない場合、ステップS82において移動部58は、自動スクロールの速度として、標準速度を設定する。
これに対して腫瘍という異常部が存在する場合、ステップS83において移動部58は、スクロールの速度を制限する。例えば自動スクロールの速度として、確認速度が設定される。この確認速度はステップS82で設定される標準速度より遅い速度とされている。これによりユーザは、腫瘍がある場合、その存在を識別することが容易になる。また腫瘍が存在しない場合には、スクロールの速度は遅くならないので、迅速に画像を確認することができる。また、腫瘍が存在する場合には、スクロールを停止することもできる。
さらにステップS84において表示部56は、画像の腫瘍の部分を強調表示する。つまり、検出部52は画像82の中に存在する腫瘍を識別し、腫瘍が識別されたときその部分を強調表示する。これにより、ユーザはさらに確実に腫瘍の存在を確認することができる。
図20は、強調表示の例を示す図である。腫瘍が存在しない場合、図20Aに示されるように、画像82−1はありのままに表示される。これに対して、腫瘍が存在する場合、図20Bに示されるように、腫瘍の位置に強調表示が行われる。この例では、腫瘍と判断された部分が目立つ色(例えば、黄色、赤などの色)の線151により囲まれて表示されている。この他、腫瘍の部分を拡大表示することで、強調表示することもできる。
図5の説明に戻って、ステップS12で速度調整処理が行われた後、ステップS13において横幅調整処理が実行される。この横幅調整処理について図21を参照して説明する。
図21は、横幅調整処理を説明するフローチャートである。ステップS91において取得部51は、対象画像の横幅を取得する。対象画像とは、ディスプレイ101の領域103に表示される診断対象領域の画像、すなわち画像82であり、この画像82が領域103に表示される場合の横幅が演算され、取得される。
ステップS92において判定部57は、ステップS91の処理で取得された対象画像の横幅(つまり、スクロール方向と垂直な方向の幅)が、縮小閾値以上であるかを判定する。縮小閾値は領域103の大きさ(横幅)に応じて予め設定されている。縮小閾値は、例えば領域103の横幅と略等しい値とすることができる。対象画像の横幅が縮小閾値以上である場合、ステップS93においてスケーリング部59は、画像を縮小する。つまり、画像82の横幅が領域103の横幅より大きくならないように(つまり、領域103の幅より狭くなるように)調整される。このとき少なくとも横方向のスケールだけを縮小してもよいが、全体を縮小してもよい。
これにより画像82の横方向の一部が領域103からはみ出してしまうようなことが防止される。その結果、ユーザは画像82を漏れなく観察することができる。また、ユーザは、手動で画像82を左右にスクロールしたり、画像82を縮小する操作をする必要が無いので、操作性が良好となる。
これに対してステップS92において、対象画像の横幅が縮小閾値以上ではないと判定された場合、ステップS94において判定部57は、対象画像の横幅(つまり、スクロール方向と垂直な方向の幅)が、拡大閾値以下であるかを判定する。拡大閾値は領域103の大きさ(横幅)に応じて予め設定されている。拡大閾値は、縮小閾値より小さい値に設定されている。対象画像の横幅が拡大閾値以下である場合、ステップS95においてスケーリング部59は、画像を拡大する。つまり、画像82の横幅が領域103の横幅に較べて、狭くなり過ぎないように、領域103の幅より狭い範囲内で調整される。このとき少なくとも横方向のスケールだけを拡大してもよいが、全体を拡大してもよい。
これにより、ユーザは、手動で画像82を拡大する操作をせずとも、画像82を適切な大きさで確認することができ、操作性が良好となる。
ステップS94において、対象画像の横幅が拡大閾値より大きいと判定された場合、結局、画像82の横幅は、領域103内に適切な大きさで表示されていることになるので、拡大または縮小処理は行われず、画像82はそのままの大きさで表示される。
図22は、横幅調整処理を説明する図である。図22に示されるように、画像82−1のうち、枠106−1で囲まれている横幅が広い部分は、右上のスクリーン101の領域103に、横方向の画像が飛び出さないように、全体が縮小されて、画像82−1として表示されている。
また、画像82−1のうち、枠106−2で囲まれている横幅が狭い部分は、右下のスクリーン101の領域103に、横方向の幅が、極端に狭くならないように、全体が拡大されて、適切な幅で画像82−1として表示されている。このように、幅の広い部分も狭い部分も、略同じ幅で表示されるので、画像の確認が容易となる。
図5に戻って、ステップS13で横幅調整処理が行われた後、ステップS14において移動部58は、画像を上方向または下方向へスクロールする。すなわちユーザがボタン71Uを操作した場合、領域103に表示されている画像82が上方向にスクロールされ、ボタン71Dを操作した場合、下方向にスクロールされる。
このとき表示部56は、観察対象画像である画像82の観察基準位置である横方向の幅の中心が、領域103の表示基準位置である中心122を通るように制御する。つまり。スクロールライン95が中心122を通るように画像82がスクロールされる。さらにこのとき、スクロールライン95が常に領域103の垂直方向(スクリーン101の領域103のy軸方向)を指向するように制御することも可能である。しかしその場合、スクロールが行われたとき、スクロールライン95の曲がりに応じてスクロールライン95の左右の注目点が左右方向にも移動することになり、却って観察がし難くなる。そこで本実施の形態においては、領域84のy軸方向(すなわち慣性主軸θの方向)が領域103のy軸方向と平行になるように制御される。
スクロールの速度は、図19のステップS82またはステップS83で設定された速度である。すなわち、スクロールの速度は基本的に一定の標準速度とされ、腫瘍がある部分では一定の確認速度とされる。また、画像82は、その横幅がディスプレイ101の領域103の範囲内に入るように調整される。
ステップS15において判定部57は、スクロール方向の画像の端部であるかを判定する。まだ画像の端部ではない場合、処理はステップS16に進む。ステップS16において判定部57は、上方向又は下方向へのスクロールの指示が解除されたかを判定する。ユーザは、上方向へのスクロールを行う場合、ボタン71Uを操作し続け、停止する場合、ボタン71Uの操作を中止する。また、ユーザは、下方向へのスクロールを行う場合、ボタン71Dを操作し続け、停止する場合、ボタン71Dの操作を中止する。
ボタン71U,71Dの操作が中止された場合、スクロールの指示が解除されたと判定され、まだ操作されている場合、スクロールの指示はまだ解除されていないと判定される。スクロールの指示が解除されていない場合、処理はステップS11に戻り、それ以降の処理が繰り返される。つまり、スクロールが継続される。
スクロールの指示が解除されたと判定された場合、ステップS17において移動部58は、上方向または下方向へのスクロールを停止する。つまり、ユーザがボタン71U,71Dから手を離すと、スクロールが一旦中断される。その後、処理はステップS9に戻る。
ステップS9において再び自動モードであるかが判定され、まだ自動モードである場合には、ステップS10以降の処理が繰り返される。すなわち、ユーザがボタン71U,71Dを操作した場合、自動スクロールが再開される。
自動スクロール中に、画像82のスクロール方向の端部(下方または上方の端部)に達したとき、ステップS15においてYESと判定され、処理はステップS18に進む。ステップS18において移動部58は、スクロールを終了する。ステップS19において表示部56は、例えば図23に示されるように、スクロール完了を表示する。
図23は、スクロール完了の表示の例を示す図である。この例においては、メニュー201が表示されている。メニュー201には、「この画像のスクロールは完了しました。」のメッセージが表示されている。また、「次の画像」ボタン202と、「戻る」ボタン203がメニュー201内に表示されている。さらにメニュー201の右上には、メニュー201を閉じるとき操作されるボタン204が表示されている。これにより画像82が途中で一旦途切れているような場合に、ユーザが最後まで画像82を確認したと誤認することが防止される。
図24は、スクロールを説明する図である。この例においては、画像82が、画像82Aと画像82Bの上下2つの部分に分かれている。このような場合に、自動スクロールで画像82Aを画面121−61で確認し、観察位置が画面121−62で示されるような、画像82Aと画像82Bの間であって、画像82が存在しない位置に到達したとき、画像82が表示されないので、ユーザは画像82を全て確認したと誤解するおそれがある。
これに対して、図23に示されるように、スクロールの完了位置でメニュー201を表示させるようにしておけば、ユーザはこのメニュー201が表示されるまでスクロールを継続するので、観測漏れが発生することが防止される。
図6のステップS19でスクロール完了を表示した後、ステップS20において判定部57は、次の画像の表示が指示されたかを判定する。画像82−1を観察した後、次に画像82−2を観察する場合、ユーザは次の画像として、画像82−2を指定する。このとき処理は図4のステップS6に戻り、指定された画像が新たに取得され、その新たな画像について、上述した場合と同様の処理が実行される。
次の画像の表示が指示されない場合、ステップS21において、表示部56は、表示処理を終了する。
ユーザは、自動スクロールを一旦中止した後、画像82の左または右の端部を画面の中央に配置して観察したい場合、または画像82を拡大または縮小したい場合、ボタン74を操作する。これにより自動モードは解除され、その代わりに手動モードが設定される。このとき図5のステップS9において設定されているモードは自動モードではないと判定され、処理はステップS22に進む。
ステップS22において上方向または下方向へのスクロールが指示されたかが判定される。上方向または下方向へのスクロールが指示されていない場合、処理はステップS31に進み、判定部57は左方向または右方向へのスクロールが指示されたかを判定する。ステップS31において、左方向または右方向へのスクロールが指示されていないと判定された場合、処理はステップS35に進む。ステップS35において判定部57は、拡大又は縮小が指示されたかを判定する。拡大又は縮小が指示されていない場合、処理はステップS9に戻り、再び自動モードであるかが判定される。
手動スクロールモードが設定された場合、ユーザは、ボタン71またはボタン72を操作することで、画像82を手動で上下左右にスクロールするか、またはスケーリングすることができる。そこで、上述したように、ステップS22,S31,S35において、ボタン71またはボタン72が操作されたかが判定される。
ステップS22において、上方向または下方向へのスクロールが指示されたと判定された場合、つまりユーザが手動モードでボタン71Uまたは71Dを操作した場合、ステップS23において移動部58は、画像を上方向または下方向へスクロールする。すなわちユーザがボタン71Uを操作した場合、領域103に表示されている画像82が上方向にスクロールされ、ボタン71Dを操作した場合、下方向にスクロールされる。
ステップS24において判定部57は、スクロール方向の画像の端部であるかを判定する。まだスクロール方向の画像の端部ではない場合、処理はステップS29に進む。ステップS29において判定部57は、上方向又は下方向へのスクロールの指示が解除されたかを判定する。ユーザは、上方向へのスクロールを行う場合、ボタン71Uを操作し続け、停止する場合、ボタン71Uの操作を中止する。また、ユーザは、下方向へのスクロールを行う場合、ボタン71Dを操作し続け、停止する場合、ボタン71Dの操作を中止する。
ボタン71U,71Dの操作が中止された場合、スクロールの指示が解除されたと判定され、まだ操作されている場合、スクロールの指示はまだ解除されていないと判定される。スクロールの指示が解除されていない場合、処理はステップS23に戻り、それ以降の処理が繰り返される。つまり、スクロールが継続される。
スクロールの指示が解除されたと判定された場合、ステップS30において移動部58は、上方向または下方向へのスクロールを停止する。つまり、ユーザがボタン71U,71Dから手を離すと、スクロールが一旦中断される。その後、処理はステップS9に戻る。
手動スクロール中においても、スクロール方向の画像82の端部(下方または上方の端部)に達したとき、ステップS24においてYESと判定され、処理はステップS25に進む。ステップS25において移動部58は、スクロールを終了する。ステップS26において表示部56は、図23に示されるように、スクロール完了を表示する。なお、手動モードにおいてはスクロール完了の表示を省略することもできる。
ステップS27において判定部57は、次の画像の表示が指示されたかを判定する。画像82−1を観察した後、次の画像82−2を観察する場合、ユーザは次の画像として、画像82−2を指定する。このとき処理は図4のステップS6に戻り、指定された画像が新たに取得され、その新たな画像について、上述した場合と同様の処理が実行される。
次の画像の表示が指示されない場合、ステップS28において、表示部56は、表示処理を終了する。
一方、図8のステップS31において左方向または右方向へのスクロールが指示されたと判定された場合、ステップS32において移動部58は、画像82を左方向または右方向にスクロールする。ユーザは、左方向にスクロールする場合、ボタン71Lを操作し、右方向にスクロールする場合、ボタン71Rを操作する。
ステップS33において判定部57は、左方向または右方向へのスクロールの指示が解除されたかを判定する。ユーザは、スクロールを継続する場合、ボタン71L,71Rを操作し続け、中止する場合、ボタン71L,71Rの操作を中止する。ボタン71L,71Rが操作し続けられている場合、処理はステップS32に戻り、左方向または右方向へのスクロールが継続される。
左方向または右方向へのスクロールの指示が解除された場合、ステップS34において移動部58は、左方向または右方向へのスクロールを停止する。その後、処理はステップS35に進む。
ステップS35において、判定部57は拡大または縮小が指示されたかを判定する。拡大または縮小が指示された場合、ステップS36においてスケーリング部59は、画像82を拡大または縮小する。ユーザは、画像を拡大するときボタン72を上方に操作し、縮小するとき下方に操作する。ボタン72の操作が中止されると、拡大または縮小の指示は解除されたと判断される。
ステップS37において判定部57は、拡大または縮小の指示が解除されたかを判定する。まだ解除されていない場合、処理はステップS36に戻り、指示が解除されるまで、ステップS36,S37の処理が繰り返される。
ステップS37において拡大または縮小の指示が解除されたと判定された場合、ステップS38においてスケーリング部59は、拡大または縮小を停止する。限度まで拡大または縮小が行われた場合にも、拡大または縮小が停止される。
図25は、スケーリング処理を説明する図である。図25Aは拡大前の画像82−1の表示状態を表しており、図25Bは、拡大後の画像82−1の表示状態を表している。図25Bに示される状態でボタン72が下方に操作された場合には、図25Aに示されるように、画像82−1は縮小表示される。
以上のように、本実施の形態においては、自動モードが設定されている場合、ボタン71U,71Dが操作されている間、一定の速度で画像がスクロールされるようにした。これを、ボタン71U,71Dが一度操作されたとき、操作が解除されても、スクロールを継続させるようにすることも可能である。しかし、そのようにすると、観察するときの集中力が却って削がれるので、ボタン71U,71Dが継続的に操作されている期間だけ、スクロールが実行されるようにするのが好ましい。
なお、以上においては画像82を長手方向にスクロールするに際し、ディスプレイ101の縦方向をスクロール方向としたが、長手方向を横方向にスクロールすることもできる。この場合、縮小閾値と拡張閾値は、領域103の縦方向の長さに対応して決定される。
[病変進行度ラベル]
図19のステップS84において腫瘍を線151で囲んで強調表示するようにしたが、病変進行度ラベルを表示するようにすることもできる。
図26は、病変進行度ラベルを説明する図である。図26においては、上方に3つの病理画像301が示されており、その下側には、対応する病変進行度ラベルで表されたラベル画像302が示されている。左側の病理画像301には、組織画像311−1が、中央の病理画像301には、組織画像311−2が、そして右側の病理画像301には、組織画像311−3が、それぞれ示されている。
組織画像311−1は、その全体が正常であるため、ラベル画像302においては、組織画像311−1に対応する領域321のうちの全体の領域331が第1のラベルの色(例えば緑色)で表示される。組織画像311−2は、その一部が良性腫瘍となっており、残りの部分は正常である。そこで、そのラベル画像302においては、組織画像311−2に対応する領域321のうちの良性腫瘍の部分の領域332は正常部分とは異なる第2のラベルの色(例えば黄色)で表示され、残りの正常な部分の領域331は第1のラベルの色で表示される。
組織画像311−3は、その一部が悪性腫瘍となっており、残りの部分は正常である。そこで、そのラベル画像302においては、組織画像311−3に対応する領域321のうちの悪性腫瘍の部分の領域323は正常部分および良性腫瘍とは異なる第3のラベルの色(例えば赤色)で表示され、残りの正常な部分の領域331は第1のラベルの色で表示される。
このように、病変の進行度に応じて異なる色でラベリングしたラベル画像を表示することで、容易に腫瘍を発見することができる。
図27は、病変進行度の識別を説明する図である。病理画像301からラベル画像302を得るには、図27に示されるように、病理画像301から腫瘍を検出し、検出結果をラベリングする病変進行度識別器361が必要になる。本実施の形態においては、図2の検出部52がこの病変進行度識別器361として機能する。
[辞書の作成]
図4のステップS2で診断対象領域を検出する処理を行うには、細胞組織の領域を背景から識別する辞書が必要である。
図28は、学習のサンプルを説明する図であり、図29は、辞書の作成を説明する図である。診断対象領域を検出するには、細胞組織領域を背景と区別できるようにするための学習を行い、辞書を作成する必要がある。
そのため、図28に示されるように、サンプル画像401から、細胞組織領域の画像411−1乃至411−5と背景の画像412−1乃至412−5がまず取得される。この例ではそれぞれの画像の数が5個ずつとされているが、実際にはもっと多い数が取得される。
このようにして取得された細胞組織領域の画像411−1乃至411−5からなるポジティブデータ421と、背景の画像412−1乃至412−5からなるネガティブデータ422を区別できるように学習することで、辞書431を生成することができる。
また、図19のステップS84で強調表示を行うには、検出された細胞組織からさらに腫瘍を検出するために、腫瘍のデータをポジティブデータとして学習が行われる。さらに図27に示されるように病変進行度識別器361により病変の進行度を検出する場合、良性腫瘍と悪性腫瘍のデータをポジティブデータとして学習が行われる。
診断対象領域を表示したり、腫瘍を線で囲む表示を行ったり、病変進行度を表すラベル画像を表示するには、このようにして生成された辞書431が用いられる。
[学習方法]
次に、辞書431を生成する学習機500の学習方法について説明する。以下においては、説明を簡単にするため、細胞組織を背景から識別する辞書を作成するものとする。なお学習機500は、CPU21が実行するプログラムにより実現される。
与えられたデータが、例えば細胞組織であるか否かを判別する問題など、一般的な2クラス判別のパターン識別問題の前提として、予め人手によりラベリング(正解付け)された学習サンプルとなる画像(訓練データ)が用意される。学習サンプルは、検出したい対象物体の領域を切り出した画像群(ポジティブサンプル)と、全く関係のない、例えば背景画像などを切り出したランダムな画像群(ネガティブサンプル)とからなる。
これらの学習サンプルを基に学習アルゴリズムを適用し、判別時に用いる学習データを生成する。判別時に用いる学習データとは、本実施の形態においては、上述した学習データを含む以下の4つの学習データである。すなわち、
(A)2つのピクセル位置の組(K個)
(B)弱判別器の閾値(K個)
(C)重み付き多数決の重み(弱判別器の信頼度)(K個)
(D)打ち切り閾値(K個)
(1)判別器の生成
以下に、上述したような多数の学習サンプルから、上記(A)乃至(D)に示す4種類の学習データを学習するアルゴリズムを説明する。
この学習処理を実施するため、学習機500は、図30に示されるような機能的構成を有している。学習機500は、CPU21により構成することができる。この実施の形態において、学習機500は、初期化部501、選択部502、誤り率演算部503、信頼度演算部504、閾値演算部505、判定部506、削除部507、更新部508、および反映部509を有する。これらの各部は、図示はされていないが、相互に適宜データを授受することが可能とされる。
初期化部501は、学習サンプルのデータ重みを初期化する処理を実行する。選択部502は、弱判別器の選択処理を行う。誤り率演算部503は、重み付き誤り率etを演算する。信頼度演算部504は、信頼度αtを演算する。閾値演算部505は、識別閾値RMと学習閾値RLを演算する。判定部506は、サンプル数が充分であるか否かを判定する。削除部507は、サンプル数が充分である場合に、ネガティブサンプル、すなわち、非対象物としてラベリングされた学習サンプルを削除する。更新部508は、学習サンプルのデータ重みDtを更新する。反映部509は、学習処理の回数を管理する。
図31は、学習機500の学習方法を示すフローチャートである。なお、ここでは、学習アルゴリズムとして、弱判別の際の閾値として一定の値を使用するアルゴリズム(AdaBoost)に従った学習について説明するが、閾値として正解の確からしさ(確率)を示す連続値を使用する例えばReal-AdaBoostなど、弱判別器を複数結合するために集団学習するものであれば、学習アルゴリズムはAdaBoostに限らない。
上述したように、最初に、予め対象物または非対象物であることがラベリングされたN個の学習サンプル(xi,yi)が用意される。
この学習サンプルは、N個の画像とされ、例えば、1個の画像は、24×24画素で構成される。各学習サンプルは、細胞組織の画像とされる。
なお、xi,yi,X,Y,Nは、それぞれ次の意味を有する。
学習サンプル(xi,yi):(x1,y1),・・・,(xN,yN)
xi∈X,yi∈{−1,1}
X:学習サンプルのデータ
Y:学習サンプルのラベル(正解)
N:学習サンプル数
即ち、xiは、学習サンプル画像の全輝度値からなる特徴ベクトルを示す。また、yi=−1は、学習サンプルが非対象物としてラベリングされている場合を意味し、yi=1は、学習サンプルが対象物としてラベリングされていることを意味する。
ステップS201において、初期化部501は、学習サンプルのデータ重みを初期化する。ブースティングにおいては、各学習サンプルの重み(データ重み)を異ならせ、判別が難しい学習サンプルに対するデータ重みが相対的に次第に大きくされる。判別結果は、弱判別器を評価する誤り率(エラー)の算出に使用されるが、判別結果にデータ重みを乗算することで、より難しい学習サンプルの判別を誤った弱判別器の評価が実際の判別率より下まわることになる。後述するステップS209でデータ重みは逐次更新されるが、先ず最初にこの学習サンプルのデータ重みの初期化が行われる。学習サンプルのデータ重みの初期化は、全学習サンプルの重みを一定にすることにより行われ、下記式(7)のように定義される。
学習サンプルのデータ重みD1,iは、繰り返し回数t=1回目の学習サンプルxi(=x1乃至xN)のデータ重みを示す。Nは学習サンプル数である。
選択部502は、ステップS202で、弱判別器の選択処理(生成)を行う。この選択処理の詳細については図34を参照して後述するが、この処理により、ステップS202乃至S209までの1回の繰り返し処理毎に、1つの弱判別器が生成される。
ステップS203において、誤り率演算部503は、重み付き誤り率etを演算する。具体的には、ステップS202にて生成された弱判別器の重み付き誤り率etが下記式(8)により演算される。
上記式(8)に示されるように、重み付き誤り率etは、学習サンプルのうち、弱判別器の判別結果が誤った(ft(xi)≠yi)学習サンプル(yi=1とラベリングされた学習サンプルであって、ft(xi)=−1と判定された学習サンプル、およびyi=−1とラベリングされた学習サンプルであって、ft(xi)=1と判定された学習サンプル)のデータ重みのみを加算したものとなる。上述したように、データ重みDt,iが大きい(判別が難しい)学習サンプルの判別を間違えると重み付き誤り率etが大きくなる。なお、重み付き誤り率etは0.5未満となるが、この理由は後述する。
ステップS204において、信頼度演算部504は、弱判別器の信頼度αtを演算する。具体的には、上述の式(8)に示す重み付き誤り率etに基づき、重み付き多数決の重みである信頼度αtが、下記式(9)により算出される。この、信頼度αtは、繰り返し回数t回目に生成された弱判別器の信頼度を示す。
上記式(9)から明らかなように、重み付き誤り率etが小さいほど、その弱判別器の信頼度αtが大きくなる。
ステップS205において、閾値演算部505は、識別閾値RMを演算する。この識別閾値RMは、上述したように、判別工程にて判別を打ち切るための打ち切り閾値(基準値)である。この識別閾値RMは、上述の式(8)に従って、対象物である学習サンプル(ポジディブなサンプル)x1乃至xJの重み付き多数決の値または0のうち、最も小さい値が選択される。なお、上述したように、最小値または0を打ち切り閾値に設定するのは、0を閾値にして判別を行うAdaBoostの場合である。いずれにせよ、打ち切り閾値RMは、少なくとも全てのポジティブなサンプルが通過できる最大の値となるよう設定される。
次に、ステップS206において、閾値演算部505は、学習閾値RLを演算する。この学習閾値RLは、次の式(10)に基づいて演算される。
なお、上記式において、mは正の値であり、マージンを表す。すなわち、学習閾値RLは、識別閾値RMよりマージンmだけ小さい値に設定される。
次に、ステップS207において、判定部506は学習サンプル数が充分か否かを判定する。具体的には、ネガティブサンプルの数がポジティブサンプルの1/2以上である場合には、ネガティブサンプルの数は充分であると判定される。ネガティブサンプル数がポジティブサンプル数の1/2以上である場合には、ステップS208において、削除部507は、ネガティブサンプルを削除する。具体的には、式(11)で表される重み付け多数決の値F(x)が、ステップS206で演算された学習閾値RLより小さいネガティブサンプルが削除される。
式(11)において、t(=1,・・・,K)は弱判別機の個数であり、αtは、各弱判別器に対応する多数決の重み(信頼度)であり、ft(x)は、各弱判別器の出力である。
ステップS207において、ネガティブサンプルの数がポジティブサンプルの数の1/2未満であると判定された場合、ステップS208のネガティブサンプルを削除する処理はスキップされる。
このことを、図32を参照してさらに説明すると次のようになる。すなわち、図32は、識別閾値と学習閾値とを説明する図である。つまり図32は、ある程度学習が進んだ場合における(t回目の学習が行われた場合の)学習サンプル数(縦軸)に対する重み付き多数決の値F(x)の分布を表している。実線が、ポジティブサンプル(yi=1にラベリングされた学習サンプル)の分布を表し、破線がネガティブサンプル(yi=−1にラベリングされた学習サンプル)の分布を表している。
学習時においても、この識別閾値RMを基準にして、重み付き多数決F(x)の値が、識別閾値RMより小さくなった場合には、ネガティブサンプルの一部を削除することが可能である。
すなわち、判別工程においては、図32に示されるように、ネガティブサンプルのうち、重み付き多数決の値F(x)が識別閾値RMより小さい領域R1のサンプルは、実質的に判断対象から削除される(リジェクトされる)。
このように、識別時に判断対象から削除(リジェクト)されるサンプルを、学習時においても、削除(リジェクト)することで、重み付き誤り率etを無くすように学習することが可能である。しかしながら、サンプル数を減らしてしまうと統計学習の性質上、弱判別器の汎化能力(1データに対する識別能力)が低下してしまうことが知られている。また、ブースティング学習は、学習サンプルの重み付き誤り率etが0になっても学習を続けることで、さらに汎化性能を向上させることが期待できることが知られている。この場合、全てのネガティブサンプルは、識別閾値RMより小さくなっているので、ネガティブサンプルがなくなってしまうか、あるいはネガティブサンプルがなくなってしまわないにしても、ポジティブサンプルとネガティブサンプルの数に隔たりがあると、弱判別器の出力が隔たりやすくなることがある。
そこで、本実施の形態においては、判別工程における識別閾値RMから一定のマージンmを減算した学習閾値RLを設定することで、極端な出力をする一部の学習サンプルを少しずつ減少させていき、汎化性を保持しつつ、学習を早く収束させることが可能となる。
従って、ステップS208の処理では、重み付き多数決F(x)が演算され、ネガティブサンプルのうち、図32における学習閾値RLより、重み付き多数決F(x)の値が小さい領域R2のネガティブサンプルが削除される。
ステップS209において、更新部508は、学習サンプルのデータ重みDt,iを更新する。すなわち、上記式(9)にて得られた信頼度αtを使用して、下記式(12)により学習サンプルのデータ重みDt,iが更新される。データ重みDt,iは、通常全部足し合わせると1になるよう正規化する必要がある。そこでデータ重みDt,iは、式(13)に示されるように正規化される。
そして、ステップS210において、反映部509は、所定回数Kの学習が終了したか(ブースティングK回が行われたか)否かを判定し、まだK回行われていない場合は、処理をステップS202に戻し、それ以降の処理を繰り返す。
Kは、1個の学習サンプルの画素データから、2個の画素データを抽出することが可能な組合せの数を表す。例えば、1個の学習サンプルが24×24画素で構成されている場合、Kは242×(242−1)=576×575=331200となる。
1組の画素の組合せに対して1個の弱判別器が構成されるため、ステップS202乃至ステップS209の処理を1回行うことで、1個の弱判別器が生成される。従って、ステップS202乃至ステップS209の処理をK回繰り返すことで、K個の弱判別器が生成される(学習される)ことになる。
K回の学習が終了した場合、学習処理は終了される。
(2)弱判別器の生成
次に、上述したステップS202における弱判別器の選択処理(生成方法)について説明する。弱判別器の生成は、弱判別器が2値出力の場合と、下記式(14)に示す関数f(x)として連続値を出力する場合とで異なる。
つまり、確率的な出力をする弱判別器は、ある決められた一定値(閾値)により判別問題を解き、2値出力(f(x)=1または−1)する場合と異なり、入力された画像が対象物である度合いを、確率密度関数として出力する。
このような、対象物体である度合い(確率)を示す確率的な出力は、2つの画素の輝度値I1,I2の差であるピクセル間差分特徴d(=I1−I2)を入力したとき,PP(x)を、学習サンプルの対象物の確率密度関数、Pn(x)を、学習サンプルの非対象物の確率密度関数とすると、式(14)に示す関数f(x)とすることができる。
また、2値出力の場合においても、式(15)に示されるように1つの閾値Th1で判別する場合と、式(16)または式(17)に示されるように、2つの閾値Th11,Th12,Th21,Th22で判別する場合とで処理が若干異なる。ここでは、1つの閾値Th1で2値出力する弱判別器の学習方法(生成方法)を説明する。
このため、選択部502は、図33に示されるように、決定部521、頻度分布算出部522、閾値設定部523、弱仮説演算部524、重み付き誤り率演算部525、判定部526、および選定部527により構成される。
決定部521は、入力された学習サンプルから、2個の画素をランダムに決定する。頻度分布算出部522は、決定部521により決定された画素に関するピクセル間差分特徴dを収集し、その頻度分布を算出する。閾値設定部523は、弱判別器の閾値を設定する。弱仮説演算部524は、弱判別器による弱仮説の演算を行い、その判別結果f(x)を出力する。
重み付き誤り率演算部525は、式(8)に示される重み付き誤り率etを演算する。判定部526は、弱判別器の閾値Thと最大のピクセル間差分特徴dとの大小関係を判定する。選定部527は、最小の重み付き誤り率etに対応する閾値Thに対応する弱判別器を選定する。
図34は、1つの閾値Th1で2値出力するステップS202の弱判別器の学習方法(生成方法)のフローチャートである。
ステップS231において、決定部521は、1つの学習サンプル(24×24画素)中の2つの画素の位置S1,S2をランダムに決定する。24×24画素の学習サンプルを使用する場合、2つの画素の選択方法は、576×575通りあるが、そのうちの1つが選択される。ここで、2つの画素の位置をS1,S2,その輝度値をそれぞれI1,I2とする。
ステップS232において、頻度分布算出部522は、すべての学習サンプルに対してピクセル間差分特徴を求め、その頻度分布を算出する。すなわち、全ての(N個の)学習サンプルに対して、ステップS231にて選択した2つの位置S1,S2の画素の輝度値I1,I2の差(I1−I2)であるピクセル間差分特徴dが求められ、そのヒストグラム(頻度分布)が算出される。
ステップS233において、閾値設定部523は、最小のピクセル間差分特徴dより小さい閾値Thを設定する。例えば、図35に示されるように、ピクセル間差分特徴dの値が、d1乃至d9に分布する場合、最小のピクセル間差分特徴dの値はd1となる。従って、このピクセル間差分特徴d1より小さい閾値Th31がここで閾値Thとして設定される。
次に、ステップS234において、弱仮説演算部524は、弱仮説として次式を演算する。なお、sign(A)は、値Aが正のとき+1、負のとき−1を出力する関数である。
f(x)=sign(d−Th) ・・・(18)
今の場合、Th=Th31であるため、ピクセル間差分特徴dの値がd1乃至d9のいずれであっても、d−Thの値は正となる。従って、式(18)で表される弱仮説の判別結果f(x)は、+1となる。
ステップS235において、重み付き誤り率演算部525は、重み付き誤り率et1,et2を演算する。重み付き誤り率et1とet2とは、次の関係にある。
et2=1−et1 ・・・・・(19)
重み付き誤り率et1は、式(8)により求められる値である。重み付き誤り率et1は、位置S1,S2の画素値をそれぞれI1,I2とした場合の重み付き誤り率である。これに対して、重み付き誤り率et2は、位置S1の画素値をI2とし、位置S2の画素値をI1とした場合の重み付き誤り率である。すなわち、第1の位置を位置S1とし、第2の位置を位置S2とする組合せは、第1の位置を位置S2とし、第2の位置を位置S1とする組合せとは異なる組合せとなる。しかしながら、両者の重み付き誤り率etの値は、上記した式(19)の関係にある。そこで、ステップS235の処理において、2つの組合せの重み付き誤り率etを同時にまとめて演算するのである。これにより、仮にそのようにしなければ、ステップS231乃至ステップS241の処理を、ステップS241において学習サンプルの画素の中から2個の画素を抽出する全組合せの数分(K回)繰り返したと判定されるまで繰り返すことが必要になるのであるが、ステップS235で、2つの重み付き誤り率et1,et2を演算しておくことで、その繰り返し回数を全組合せ回数Kの1/2とすることができる。
そこで、ステップS236において、重み付き誤り率演算部525は、ステップS235の処理で演算した重み付き誤り率et1とet2のうち、小さい方を選択する。
ステップS237において、判定部526は、閾値が最大のピクセル間差分特徴より大きいか否かを判定する。すなわち、いま設定されている閾値Thが、最大のピクセル間差分特徴d(例えば、図35に示されている例の場合、d9)より大きいか否かを判定する。いまの場合、閾値Thは、図35における閾値Th31であるので、最大のピクセル間差分特徴d9より小さいと判定され、処理はステップS238に進む。
ステップS238において、閾値設定部523は、現在の閾値に最も近い次の大きさのピクセル間差分特徴と、さらにその次の大きさのピクセル間差分特徴の中間の大きさの閾値Thを設定する。いまの場合、図35の例において、現在の閾値Th31に最も近い次の大きさのピクセル間差分特徴d1と、さらに次の大きさのピクセル間差分特徴d2の中間の値の閾値Th32が設定される。
その後、処理はステップS234に戻り、弱仮説演算部524は、上記した式(18)に従って、弱仮説の判定出力f(x)を演算する。この場合、図35に示されるように、ピクセル間差分特徴dの値がd2乃至d9のとき、f(x)の値は+1となり、d1のときは−1となる。
ステップS235において、式(8)に従って、重み付き誤り率et1が演算され、式(19)に従って重み付き誤り率et2が演算される。そして、ステップS236において、重み付き誤り率et1とet2のうち、小さい方が選択される。
ステップS237において、再び閾値が最大のピクセル間差分特徴より大きいか否かが判定される。いまの場合、閾値Th32は、最大のピクセル間差分特徴d9より小さいので、処理はステップS238に進み、閾値Thは、ピクセル間差分特徴d2とd3の間の閾値Th33に設定される。
以上のようにして、閾値Thが順次大きい値に更新される。ステップS234においては、閾値Thが、例えば、ピクセル間差分特徴d3とd4の間のTh34である場合には、ピクセル間差分特徴dの値がd4以上である場合には+1、d3以下である場合には−1となる。以下同様に、ピクセル間差分特徴dの値が閾値Thi以上である場合には、弱仮説の判別結果f(x)の値が+1となり、閾値Thi以下である場合には−1となる。
以上の処理が、ステップS237において、閾値Thが最大のピクセル間差分特徴より大きいと判定されるまで繰り返し実行される。図35の例においては、閾値が最大のピクセル間差分特徴d9より大きい値Th40となるまで繰り返される。すなわち、ステップS234乃至ステップS238の処理を繰り返し実行することで、1つの画素の組合せを選択した場合における、各閾値Thを設定したときの重み付き誤り率etが求められることになる。そこで、ステップS239において、選択部527は、それまでに求めた重み付き誤り率etの中から、最小の重み付き誤り率を求める。そして、ステップS240において、選定部527は、最小の重み付き誤り率に対応する閾値を現在の弱仮説の閾値とする。すなわち、ステップS239で選定された最小の重み付き誤り率etが得られる閾値Thiが、その弱判別器(1組の画素の組合せにより生成される弱判別器)の閾値とされる。
ステップS241において、判定部526は、処理を全組合せ分繰り返したか否かを判定する。全組合せ分の処理がまだ実行されていない場合には、処理はステップS231に戻り、それ以降の処理が繰り返し実行される。すなわち、24×24個の画素の中から、再び2つの画素の位置S1,S2(但し、前回とは異なる位置)がランダムに決定され、その位置S1,S2の画素I1,I2に関して同様の処理が実行される。
以上の処理は、ステップS241において、学習サンプルから2個の画素を抽出可能な全組合せの数分(K回)繰り返されたと判定されるまで繰り返し実行される。ただし、上述したように、この実施の形態においては、ステップS235において、位置S1,S2が逆の場合における処理を実質的に実行しているため、ステップS241における処理は、全組合せの数Kの1/2でよいことになる。
ステップS241において、全ての組合せの処理が完了したと判定された場合、ステップS242において、選定部527は、生成した弱判別器の中で最も重み付き誤り率の小さいものを選択する。すなわち、これにより、K個の弱判別器のうちの1つの弱判別器が学習され、生成されたことになる。
その後、処理は図31のステップS202に戻り、ステップS203以降の処理が実行される。そして、ステップS210において、K回の学習が終了したと判定されるまで、図31の処理が繰り返し実行されることになる。すなわち、図31の2回目の処理で、2個目の弱判別器の生成学習が行れ、3回目の処理で3個目の弱判別器の生成学習が行われる。そして、K回目の処理で、K個目の弱判別器の生成学習が行われることになる。
なお、本実施の形態においては、前回の繰り返し処理においてステップS209にて求めたデータ重みDt,iを使用し、複数の弱判別器の特徴量を学習し、これらの弱判別器(弱判別器候補)の中から上記式(8)に示す重み付き誤り率etが最も小さいものを選択することで、1つの弱判別器を生成する場合について説明したが、上述のステップS202において、例えば予め用意または学習した複数の画素位置から任意の画素位置を選択して弱判別器を生成するようにしてもよい。また、上述のステップS202乃至ステップS209までの繰り返し処理に使用する学習サンプルとは異なる学習サンプルを使用して弱判別器を生成してもよい。さらに、cross-validation(交差検定)法またはjack-knife法の評価のように、学習サンプルとは別のサンプルを用意して、生成された弱判別器や判別器の評価を行うようにしてもよい。交差検定とは、学習サンプルを均等にI個に分割し、その中から1つ以外を使用して学習を行い、当該1つを使用して学習結果を評価する作業をI回繰り返して学習結果の評価を行う手法である。
一方、上記式(16)または式(17)に示されるように、弱判別器が2つの閾値Th11,Th12,Th21,Th22を有するような場合、図34に示すステップS234乃至ステップS238の処理が若干異なる。上記式(15)に示されるように、閾値Thが1つの場合は、1から減算することにより、重み付き誤り率etを演算することができたが、式(16)に示されるように、ピクセル間差分特徴が閾値Th12より大きく、かつ閾値Th11より小さい場合が正解の判別結果であるとき、これを1から減算すると、式(17)に示されるように、閾値Th22より小さいか、閾値Th21より大きい場合が正解の判別結果になる。即ち、式(16)の反転は式(17)となり、式(17)の反転は式(16)となる。
弱判別器が2つの閾値Th11,Th12,Th21,Th22を有して判別結果を出力するような場合は、図34に示すステップS232において、ピクセル間差分特徴における頻度分布が求められ、重み付き誤り率etを最小にする閾値Th11,Th12,Th21,Th22が求められる。そして、ステップS241で所定回数繰り返されたか否かが判定され、所定回数繰り返され、生成された弱判別器の中で最も誤り率が小さい弱判別器が採用される。
また、上記式(14)に示されるように、連続値を出力する弱判別器の場合、図20のステップS231と同様、先ず2つの画素がランダムに選択される。そして、ステップS232と同様、全学習サンプルにおける頻度分布が求められる。さらに、得られた頻度分布に基づき上記式(14)に示す関数f(x)が求められる。そして、弱判別器の出力として対象物である度合い(正解である度合い)を出力するような所定の学習アルゴリズムに従って誤り率を算出するという一連の処理を所定回数繰り返し、最も誤り率が小さい(正答率が高い)パラメータを選択することで弱判別器が生成される。
図34の弱判別器の生成において、例えば24×24画素の学習サンプルを使用する場合、2つの画素の選択方法は、331200(=576×575)通りあり、最大331200回、上記繰り返し処理を行った中で最も誤り率が小さいものを弱判別器として採用することができる。このように、繰り返し回数の最大数繰り返す、即ち生成し得る最大数の弱判別器を生成し、それらの中から最も誤り率が小さいものを弱判別器として採用すると性能が高い弱判別器を生成することができるが、最大回数未満の例えば数百回繰り返し処理を行って、その中から最も誤り率が小さいものを採用してもよい。
なお以上においては、病理画像を観察する場合について説明したが、レントゲン画像その他の医用画像を観察する場合に本技術は適用することができる。また2次元画像に限らず、例えばCT(Computerized Tomography)スキャナにより得られたCT画像や、MRI(magnetic resonance imaging)画像等の3次元画像を観察する場合にも、本技術を適用することができる。
[本技術のプログラムへの適用]
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることができる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
このようなプログラムを含む記録媒体は、図1に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVDを含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア31により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているフラッシュROM22や、記憶部28に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
[その他]
本技術は、以下のような構成もとることができる。
(1)
前記医用画像をスクリーン上でスクロールする移動部と、
前記医用画像が前記スクリーン上でスクロールされる場合、前記医用画像の診断対象領域の観察基準位置が、前記スクリーンの表示領域の表示基準位置を通るように前記医用画像を表示する表示部と
を備える画像処理装置。
(2)
前記観察基準位置は、前記医用画像のスクロール方向と垂直な方向の中心近傍であり、
前記表示基準位置は、前記表示領域の中心近傍である
前記(1)に記載の画像処理装置。
(3)
前記診断対象領域の観察基準位置が、前記スクリーンの表示領域の表示基準位置を通るように前記医用画像を表示するのは、自動モードでスクロールが行われる場合である
前記(1)または(2)に記載の画像処理装置。
(4)
前記自動モードでのスクロールが中断された場合、手動モードでのスクロールが可能であり、前記手動モードでのスクロールは、ユーザが指示する方向に行われる
前記(3)に記載の画像処理装置。
(5)
前記自動モードでのスクロールが一旦中断された後、前記手動モードでユーザが指示する方向にスクロールが行われた状態で、再度前記自動モードでのスクロールが指示された場合、前記自動モードでのスクロールを中断した位置から、前記自動モードでのスクロールが再開される
前記(4)に記載の画像処理装置。
(6)
前記移動部は、前記診断対象領域の異常部ではスクロールの速度を制限する
前記(1)乃至(5)のいずれかに記載の画像処理装置。
(7)
前記診断対象領域の異常部を強調表示する
前記(1)乃至(6)に記載の画像処理装置。
(8)
前記異常部を所定の色でラベル表示する
前記(7)に記載の画像処理装置。
(9)
前記診断対象領域のスクロール方向の端部に達したとき、前記端部に達したことを表示する
前記(1)乃至(8)のいずれかに記載の画像処理装置。
(10)
前記医用画像から前記診断対象領域を検出する検出部をさらに備える
前記(9)に記載の画像処理装置。
(11)
1枚の前記医用画像に含まれる複数の前記診察対象領域をグルーピングし、1つのグループの前記診察対象画像をスクロールする
前記(1)乃至(10)のいずれかに記載の画像処理装置。
(12)
前記医用画像の観察対象以外の前記診断対象領域をマスクする
前記(11)に記載の画像処理装置。
(13)
前記診断対象領域のスクロール方向と垂直な方向の幅が、前記表示領域の幅に基づき設定された縮小閾値より広いとき、前記表示領域の幅より狭くなるように、前記診断対象領域のスクロール方向と垂直な方向の幅を縮小するスケーリング部
をさらに備える前記(1)乃至(12)に記載の画像処理装置。
(14)
前記スケーリング部は、前記診断対象領域のスクロール方向と垂直な方向の幅が、前記表示領域の幅に基づき設定された拡大閾値より狭いとき、前記表示領域の幅より狭い範囲内で、前記診断対象領域のスクロール方向と垂直な方向の幅を拡大する
前記(13)に記載の画像処理装置。
(15)
前記医用画像をスクリーン上でスクロールする移動ステップと、
前記医用画像が前記スクリーン上でスクロールされる場合、前記医用画像の診断対象領域の観察基準位置が、前記スクリーンの表示領域の表示基準位置を通るように前記医用画像を表示する表示ステップと
を含む画像処理方法。
(16)
コンピュータに、
前記医用画像をスクリーン上でスクロールする移動ステップと、
前記医用画像が前記スクリーン上でスクロールされる場合、前記医用画像の診断対象領域の観察基準位置が、前記スクリーンの表示領域の表示基準位置を通るように前記医用画像を表示する表示ステップと
を実行させるプログラムが記録されているコンピュータが読み取り可能な記録媒体。
(17)
コンピュータに、
前記医用画像をスクリーン上でスクロールする移動ステップと、
前記医用画像が前記スクリーン上でスクロールされる場合、前記医用画像の記診断対象領域の観察基準位置が、前記スクリーンの表示領域の表示基準位置を通るように前記医用画像を表示する表示ステップと
を実行させるプログラム。