(58)【調査した分野】(Int.Cl.,DB名)
前記位置関係に変化が生じていないと判定された場合に、前記計測部は、前記補正部によって補正される前の前記パラメータに基づいて、被写体の大きさを計測することを特徴とする請求項1に記載の内視鏡装置。
前記対応点算出部は、第1の条件に基づいて前記計測点に対する第1の対応点の位置を算出し、前記表示部は、前記映像信号に基づく画像に対して前記計測点および前記第1の対応点を重畳して表示し、
前記第1の対応点の位置が妥当でないと判断された場合に、前記対応点算出部は、前記第1の条件と異なる第2の条件に基づいて前記計測点に対する第2の対応点の位置を算出し、前記表示部は、前記映像信号に基づく画像に対して前記計測点および前記第2の対応点を重畳して表示することを特徴とする請求項1または請求項2に記載の内視鏡装置。
前記対応点算出部は、前記第1の対応点の位置が妥当でないと判断された場合に、前記第1の条件と異なる第2の条件に基づいて前記計測点に対する第2の対応点の位置を算出し、
前記表示部は、前記映像信号に基づく画像に対して前記計測点および前記第2の対応点を重畳して表示し、
前記要求部は、前記第2の対応点の位置の確認をユーザーに要求し、
前記補正部は、前記第2の対応点の位置が妥当であると判断された場合に、前記指標値に基づく前記位置関係の変化分だけ、前記環境データから生成される計測用のパラメータを補正することを特徴とする請求項4に記載の内視鏡装置。
前記指標値算出部は、前記第2の被写体像における前記対応点とエピポーララインのずれの値を前記指標値として算出することを特徴とする請求項1〜請求項5のいずれか一項に記載の内視鏡装置。
前記指標値算出部は、前記第2の被写体像における前記対応点とエピポーララインのずれの値を第1の指標値として算出し、さらに、前記第1の被写体像と前記第2の被写体像との相関を示す相関値を第2の指標値として算出することを特徴とする請求項6に記載の内視鏡装置。
光学系によって結像された被写体像に基づく撮像信号を生成する内視鏡を有し、前記光学系を交換可能な挿入部と、前記撮像信号に基づいて映像信号を生成する映像信号生成部と、を有する内視鏡装置における前記光学系の光学特性と、前記光学系および前記挿入部の位置関係とに基づく環境データを記憶する記憶部と、
前記映像信号に基づいて、第1の被写体像において指定された計測点の位置から、前記第1の被写体像に対して視差を有する第2の被写体像において前記計測点に対応する対応点の位置を算出する対応点算出部と、
前記位置関係を示す指標値を算出する指標値算出部と、
前記指標値に基づいて、前記位置関係の変化を判定する判定部と、
前記映像信号に基づく画像に対して前記計測点および前記対応点を重畳して表示する表示部と、
前記位置関係に変化が生じていると判定された場合に、前記対応点の位置の確認をユーザーに要求する要求部と、
前記対応点の位置を確認したユーザーが前記対応点の位置の妥当性を判断した結果を入力する入力部と、
前記対応点の位置が妥当であると判断された場合に、前記指標値に基づく前記位置関係の変化分だけ、前記環境データから生成される計測用のパラメータを補正する補正部と、
前記補正部によって補正された前記パラメータに基づいて、被写体の大きさを計測する計測部と、
としてコンピュータを機能させるためのプログラム。
【発明を実施するための形態】
【0024】
以下、図面を参照し、本発明の実施形態を説明する。
【0025】
(装置構成)
まず、以下の第1〜第6の動作例で共通する内視鏡装置の構成を説明する。
図1は、本実施形態による内視鏡装置の全体構成を示している。
図1に示すように、内視鏡装置1は、内視鏡2と、この内視鏡2に接続された装置本体3とを備えている。内視鏡2は、細長な挿入部20と、装置全体の各種動作制御を実行する際に必要な操作を行うための操作部6とを備えている。装置本体3は、内視鏡2で撮像された被写体の画像や操作制御内容(例えば処理メニュー)等を表示するモニタ4と、内部に制御ユニット10(
図2参照)を有する筐体5とを備えている。
【0026】
挿入部20は、硬質な先端部21と、例えば上下左右に湾曲可能な湾曲部22と、柔軟性を有する可撓管部23とを先端側から順に連設して構成されている。先端部21には、観察視野を2つ有するステレオアダプターや観察視野が1つの通常観察光学アダプター等、各種光学アダプターが着脱自在になっている。
【0027】
図2に示すように筐体5内には、CCU9(カメラコントロールユニット)および制御ユニット10が設けられている。挿入部20の基端部は内視鏡ユニット8に接続されている。内視鏡ユニット8は、観察時に必要な照明光を供給する光源装置(不図示)と、挿入部20を構成する湾曲部22を湾曲させる湾曲装置(不図示)とを備えて構成されている。CCU9は、撮像素子28を駆動する駆動装置(不図示)を備えて構成されている。
【0028】
先端部21には撮像素子28が内蔵されている。撮像素子28は、光学アダプターを介して結像された被写体像を光電変換し、撮像信号を生成する。この撮像信号は、CCU9内で例えばNTSC信号等の映像信号(画像データ)に変換されて、制御ユニット10へ供給される。
【0029】
制御ユニット10内には、映像信号が入力される映像信号処理回路12、ROM13、RAM14、カードI/F15(カードインターフェイス)、USB I/F16(USBインターフェイス)、RS−232C I/F17(RS−232Cインターフェイス)、およびCPU18が設けられている。
【0030】
RS−232C I/F17には、CCU9および内視鏡ユニット8が接続されると共に、これらCCU9や内視鏡ユニット8等の制御および動作指示を行う操作部6が接続されている。ユーザーが操作部6を操作すると、その操作内容に基づいて、CCU9および内視鏡ユニット8を動作制御する際に必要な通信が行われる。
【0031】
USB I/F16は、制御ユニット10とパーソナルコンピュータ31とを電気的に接続するためのインターフェイスである。このUSB I/F16を介して制御ユニット10とパーソナルコンピュータ31とを接続することによって、パーソナルコンピュータ31側で内視鏡画像の表示指示や、計測時における画像処理等の各種の指示に基づく制御を行うことが可能になると共に、制御ユニット10とパーソナルコンピュータ31との間での各種の処理に必要な制御情報やデータ等の入出力を行うことが可能になる。
【0032】
また、カードI/F15には、メモリカード32を自由に着脱することができるようになっている。メモリカード32をカードI/F15に装着することにより、CPU18による制御に従って、このメモリカード32に記憶されている制御処理情報や画像情報等のデータの制御ユニット10への取り込み、あるいは制御処理情報や画像情報等のデータのメモリカード32への記録を行うことが可能になる。
【0033】
映像信号処理回路12は、CCU9から供給された映像信号に基づく内視鏡画像と、グラフィックによる操作メニューとを合成した合成画像を表示するため、CPU18により生成される、操作メニューに基づくグラフィック画像信号とCCU9からの映像信号を合成する処理や、モニタ4の画面上に表示するのに必要な処理等を行い、表示信号をモニタ4に供給する。また、この映像信号処理回路12は、単に内視鏡画像、あるいは操作メニュー等の画像を単独で表示するための処理を行うことも可能である。したがって、モニタ4の画面上には、内視鏡画像、操作メニュー画像、内視鏡画像と操作メニュー画像との合成画像等が表示される。
【0034】
CPU18は、ROM13に格納されているプログラムを実行することによって、目的に応じた処理を行うように各種回路部等を制御して、内視鏡装置1全体の動作制御を行う。RAM14は、CPU18によって、データの一時格納用の作業領域として使用される。
【0035】
CPU18が実行するプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムを内視鏡装置1以外のコンピュータに読み込ませ、実行させてもよい。例えば、パーソナルコンピュータ31がプログラムを読み込んで実行し、プログラムに従って、内視鏡装置1を制御するための制御情報を内視鏡装置1に送信して内視鏡装置1を制御し、内視鏡装置1から映像信号を取得して、取得した映像信号を用いて計測を行ってもよい。
【0036】
ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM、DVD−ROM、フラッシュメモリ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0037】
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0038】
図3は、内視鏡装置1のうち、本実施形態の説明の中心となる部分の機能構成を示している。映像信号生成部41はCCU9の機能に対応する。この映像信号生成部41は、撮像素子28から出力された撮像信号に基づいて映像信号を生成する。先端部21にステレオアダプターが装着された場合に生成される映像信号は、左側の視野に対応する光学系により得られた第1の被写体像を含む左画像と、右側の視野に対応する光学系により得られた、第1の被写体像に対して視差を有する第2の被写体像を含む右画像とを構成する。
【0039】
操作検出部42、対応点算出部43、計測処理部44、指標値算出部45、判定部46、補正部47、グラフィック画像生成部48、制御部49はCPU18の機能に対応する。操作検出部42は、ユーザーによる操作部6の操作を検出し、操作内容を制御部49に通知する。操作部6が操作され、モニタ4の画面に表示される画像における被写体上の計測位置を示す計測点の位置が指定された場合、操作検出部42は画像における計測点の2次元座標を算出し、制御部49に通知する。本実施形態では、一例として、左画像上で計測点の位置が指定される。
【0040】
対応点算出部43は、マッチングにより、左画像上の計測点の2次元座標に対応する右画像上の対応点の2次元座標を算出する。計測処理部44は計測処理を実行する。計測処理は、ユーザーが指定した計測点およびその対応点の2次元座標に基づいて実空間上の3次元座標を算出し、被写体の実空間上の長さや面積等を計算する処理である。指標値算出部45は、対応点の2次元座標に基づいて、ステレオアダプターと挿入部20との位置関係を示す指標値を算出する。本実施形態の指標値は、ステレオアダプターにどの程度の緩みが生じているのかを示す指標である。この指標値は、例えば対応点とエピポーララインのずれやマッチング結果の相関値等に基づいている。
【0041】
判定部46は、指標値に基づいて、ステレオアダプターと挿入部20との位置関係に所定の変化が生じているか否か、すなわちステレオアダプターに緩みが生じているか否かを判定する。補正部47は、ステレオアダプターに緩みが生じていると判定された場合に、計測精度の低下を防止するため、環境データから生成される計測用のパラメータを補正する。本実施形態の計測用のパラメータは、例えばエピポーララインの式を決定する係数である。グラフィック画像生成部48は、モニタ4の画面上に表示する操作メニューや、計測点および対応点のマーク、メッセージ等を含むグラフィック画像信号を生成する。制御部49は、操作検出部42、対応点算出部43、計測処理部44、指標値算出部45、判定部46、補正部47、グラフィック画像生成部48のそれぞれへの処理の割り当てを制御すると共に、内視鏡装置1全体の動作を制御する。
【0042】
表示信号生成部50は映像信号処理回路12の機能に対応する。この表示信号生成部50は、映像信号生成部41によって生成された映像信号と、グラフィック画像生成部48によって生成されたグラフィック画像信号とを合成し、表示信号を生成する。モニタ4は、表示信号生成部50によって生成された表示信号に基づいて画像を表示する。
【0043】
RAM14は、本発明の内視鏡装置における記憶部に対応する。モニタ4は、本発明の内視鏡装置における表示部に対応する。対応点算出部43および計測処理部44は、本発明の内視鏡装置における計測部に対応する。グラフィック画像生成部48、表示信号生成部50、およびモニタ4は、本発明の内視鏡装置における要求部に対応する。操作部6は、本発明の内視鏡装置における入力部に対応する。
【0044】
次に、本実施形態の計測の原理を説明する。左右2つの視野を形成するステレオアダプターを使用し、被写体像を左右の光学系で捉えたときの左右の光学測距点の座標に基づいて、三角測量の原理を使用して被写体の3次元空間座標を求めることで、各種計測(ステレオ計測)が可能となる。
図17は、ステレオ計測による計測点の3次元座標の求め方を示している。左側および右側の光学系で撮像された画像に対して、三角測量の方法により、左側の光学中心63と右側の光学中心64とを結ぶ線分の中点を原点Oとして、点60の3次元座標(X,Y,Z)が以下の(1)式〜(3)式で計算される。ただし、歪み補正が施された左右の画像上の計測点61および対応点62の座標を、左右それぞれの光学系の光軸と画像面との交点OL、ORを原点として、それぞれ(XL,YL)、(XR,YR)とし、左側と右側の光学中心63,64の距離をDとし、焦点距離をFとし、t=D/(XR−XL)とする。
X=t×XR+D/2 ・・・(1)
Y=−t×YR ・・・(2)
Z=t×F ・・・(3)
【0045】
上記のように元画像上の計測点61および対応点62の座標が決定されると、パラメータDおよびFを用いて点60の3次元座標が求まる。いくつかの点の3次元座標を求めることによって、2点間の距離、2点を結ぶ線と1点の距離、面積、深さ、表面形状等の様々な計測が可能である。また、左側の光学中心63または右側の光学中心64から被写体までの距離(物体距離)を求めることも可能となる。物体距離は、先端部21から被写体までの距離であって、例えば撮像素子28または観察光学系から被写体までの距離である。上記のステレオ計測を行うためには、先端部21とステレオ光学アダプターを含む光学系の特性を示す光学データが必要である。なお、光学データの詳細や、環境データの生成方法、ステレオアダプターと挿入部20との位置関係による計測精度への影響については、例えば特許文献1に記載されているので、その説明を省略する。
【0046】
次に、内視鏡装置1の動作の概要を説明する。
図4は、内視鏡装置1の概略動作の手順を示している。本実施形態では、既にキャリブレーションが行われて環境データが生成され、メモリカード32に環境データが記録されているものとする。ステレオアダプターが装着された挿入部20が検査対象物に挿入され、環境データがメモリカード32からRAM14に読み込まれた後、被写体の観察が開始される。
【0047】
被写体の観察が開始されると、被写体を撮像した動画像(ライブ画像)がモニタ4に表示される(ステップS1)。ユーザーが計測したい被写体が見つかった場合、静止画像の画像データがRAM14に保存される(ステップS2)。続いて、ユーザーによって左画像上で計測点の位置が指定されると、対応点算出部43は、マッチングを行い、計測点に対応する右画像上の対応点の2次元座標を算出し、指標値算出部45は、対応点の2次元座標に基づいて、ステレオアダプターと挿入部20との位置関係を示す指標値を算出する(ステップS3)。
【0048】
続いて、判定部46は、ステレオアダプターと挿入部20との位置関係に所定の変化が生じているか否か、すなわちステレオアダプターに緩みが生じているか否かを指標値に基づいて判定する(ステップS4)。ステレオアダプターと挿入部20との位置関係の変化は、所定の基準状態における位置関係からの変化を指す。所定の基準状態は、ステレオアダプターが挿入部20に緩みなく装着された理想的な状態である。
【0049】
ステレオアダプターに緩みが生じていると判定された場合、対応点の位置の確認をユーザーに要求するためのメッセージがモニタ4に表示される(ステップS5)。マッチングの結果を利用して算出した指標値に基づいてステレオアダプターの緩みを判定する場合、実際にはステレオアダプターに緩みが生じていないにもかかわらず、画像のテクスチャが不適切であることが原因で、探索範囲内から、計測点に対応する真の対応点と異なる偽の対応点が検出される誤対応が発生し、ステレオアダプターに緩みが生じていると判定されることがある。このため、本実施形態では、対応点の位置が妥当であるか否かの確認が行われる。
【0050】
図5は、ステップS5でモニタ4に表示されるメッセージの一例である。例えば、
図5(a)のようにステレオアダプターに緩みが生じていることを伝えるメッセージM1が表示された後、
図5(b)のようにマッチングが正確に行われたか否かの確認を促すメッセージM2が表示される。
【0051】
メッセージの表示後、ユーザーは画像上の対応点の位置を確認する。
図6は、ユーザーが対応点の位置を確認するときにモニタ4に表示される画像の一例である。左画像L1上の計測点の位置にマークMA1が表示されると共に、右画像R1上の対応点の位置にマークMA2が表示される。
図6(a)のように計測点と対応点が被写体上のほぼ同様の位置にある場合、誤対応は発生していないので、対応点の位置が妥当であると判断される。また、
図6(b)のように計測点と対応点が被写体上の異なる位置にある場合、誤対応が発生しているので、対応点の位置が妥当でないと判断される。ユーザーが対応点の位置を確認するときには、
図5に示したメッセージは非表示となるか、ユーザーが対応点の位置を確認するのを妨げない位置に表示される。
【0052】
ユーザーは、操作部6を操作し、対応点の位置を確認した結果、すなわち対応点の位置が妥当か否かを判断した結果を入力する(ステップS6)。画像のテクスチャが不適切であることによる誤対応が発生しており、対応点の位置が妥当でないと判断された場合には、ステレオアダプターと挿入部20との位置関係が正しく検出されていないので、計測用のパラメータを補正すると計測精度が低下する可能性がある。この場合、ステレオアダプターと挿入部20との位置関係を再度検出するために、計測点の変更をユーザーに要求するためのメッセージがモニタ4に表示される(ステップS7)。
図7は、ステップS7でモニタ4に表示されるメッセージの一例である。例えば、
図7(a)のように計測点の変更を促すメッセージM3が表示される。メッセージの表示後、再度ステップS3で計測点が指定され、指標値が算出される。部分的な画像のテクスチャが不適切であることによる誤対応が発生している場合には、計測点を変更することで、誤対応が発生しにくくなると考えられる。
【0053】
図4では、対応点の位置が妥当でないと判断された場合、計測点の変更が行われるが、対応点の位置が妥当でないと判断された場合に画像の撮影が再度行われるようにしてもよい。例えば、
図7(b)のように画像の再撮影を促すメッセージM4がステップS7で表示された後、処理がステップS1に戻り、モニタ4に動画像が表示されるようにしてもよい。画像全体のテクスチャが不適切であることによる誤対応が発生している場合には、画像を変更することで、誤対応が発生しにくくなると考えられる。
【0054】
あるいは、対応点の位置が妥当でないと判断された場合にステレオアダプターの装着をやり直すようにしてもよい。例えば、
図7(c)のようにステレオアダプターの装着のやり直しを促すメッセージM5がステップS7で表示された後、ユーザーによって挿入部20が検査対象物から引き抜かれ、ステレオアダプターの装着がやり直された後、挿入部20が検査対象物に挿入される。この後、ステップS1からの処理が再度行われる。ステレオアダプターが大きく緩んでいることによる誤対応が発生している場合には、ステレオアダプターの装着をやり直すことで、誤対応が発生しにくくなると考えられる。
【0055】
一方、対応点の位置が妥当であると判断された場合、補正部47は、計測精度の低下を防止するため、ステレオアダプターの緩みの度合いに応じて計測用のパラメータを補正する(ステップS8)。計測用のパラメータの補正後、計測処理部44は、前述したステップS3における計測点および対応点の2次元座標に基づいて実空間上の3次元座標を算出する(ステップS9)。その後、計測点の指定が終了したか否かが判定され(ステップS10)、計測点の指定が終了していない場合には、再度ステップS3で計測点が指定され、指標値が算出される。
【0056】
また、計測点の指定が終了した場合には、計測処理部44は、指定された計測点に基づく3次元座標に基づいて被写体の実空間上の長さ等を算出する(ステップS11)。続いて、ステップS11で算出された長さ等の計測結果がモニタ4に表示され(ステップS12)、計測の処理が終了する。また、ステップS4でステレオアダプターに緩みが生じていないと判定された場合、計測処理部44は、計測用のパラメータの補正を行わずに、ステップS11で被写体の実空間上の長さ等を算出する。
【0057】
上記のように、ステレオアダプターと挿入部20との位置関係に変化が生じ、ステレオアダプターに緩みが生じていると判定された(ステップS4)場合に、対応点の位置の確認がユーザーに要求され(ステップS5)、対応点の位置が妥当であるとユーザーが判断した(ステップS6)場合のみ、計測用のパラメータが補正される(ステップS8)。これによって、ステレオアダプターと挿入部20との位置関係に変化が生じている場合に計測用のパラメータを補正しつつ、誤対応が発生した場合に計測用のパラメータが補正されることを回避することが可能となるので、計測精度の低下を低減することができる。また、ステレオアダプターに緩みが生じていないと判定された(ステップS4)場合には、対応点の位置の確認をユーザーに要求する処理や、計測用のパラメータを補正する処理を省くことができる。
【0058】
マッチングを行う際の対応点の探索範囲はエピポーララインを基準に設定されるため、計測用のパラメータをエピポーララインの式としている本実施形態では、計測用のパラメータが補正されると、ステレオアダプターの緩みを考慮してマッチングが行われるようになる。このため、マッチングの結果を利用して算出した指標値に基づいてステレオアダプターの緩みを検出する場合、ステレオアダプターの緩みが生じていないと判定されやすくなるので、ユーザーが対応点の位置を確認する手間が発生しにくくなる。
【0059】
図4では、計測点が指定されるごとにステップS4の判定が行われているが、例えば計測点が2点、5点等の複数点指定されたらステップS4の判定が行われるようにしてもよい。
【0060】
次に、内視鏡装置1の詳細な動作を説明する。以下では第1〜第6の動作例を説明する。
【0061】
(第1の動作例)
図8および
図9は、第1の動作例における内視鏡装置1の動作の手順を示している。ステレオアダプターが装着された挿入部20が検査対象物に挿入され、環境データがメモリカード32からRAM14に読み込まれた後、被写体の観察が開始される。
【0062】
被写体の観察が開始されると、被写体を撮像した動画像(ライブ画像)がモニタ4に表示される(ステップS100)。ユーザーが計測したい被写体が見つかった場合、静止画像の画像データがRAM14に保存される(ステップS101)。
【0063】
より具体的には、ステップS101では、ユーザーによって操作部6が操作され、静止画像を保存する指示が入力されると、操作検出部42はこの指示を検出し、制御部49に指示を通知する。制御部49は、この指示に基づいて、映像信号生成部41で生成された映像信号を構成する画像データを取り込み、RAM14に保存する。このとき、制御部49が取り込んだ画像データと同じ画像データに基づく画像がモニタ4に表示され、以後は、映像の同期信号に基づくタイミングで、同じ画像データに基づいて画像の表示が更新される。
【0064】
画像データがRAM14に保存された後、ユーザーによって左画像上で計測点の位置が指定される(ステップS102)。より具体的には、ステップS102では、ユーザーによって操作部6が操作され、左画像上の計測点の位置を指定する指示が入力されると、操作検出部42はこの指示を検出して計測点の2次元座標を算出し、制御部49に計測点の2次元座標を通知する。制御部49は対応点算出部43に計測点の2次元座標を通知する。
【0065】
計測点の位置が指定された後、対応点算出部43は対応点の探索範囲を設定してマッチングを行い、計測点に対応する右画像上の対応点の2次元座標を算出し、指標値算出部45に対応点の2次元座標を通知する(ステップS103)。対応点算出部43がマッチングを行う際の対応点の探索範囲は以下のようにして決定される。対応点算出部43は、環境データ内の複数のパラメータを用いて、エピポーララインの式を算出する。エピポーララインの式は一般的な一次関数「y=ax+b」で表せる(aは傾き、bは切片)。対応点算出部43は、計測点の2次元座標と環境データ内の複数のパラメータにより、a,bの値を決定する。対応点算出部43は、生成したエピポーララインの式を用いて探索範囲を決定する。エピポーララインの式を構成するa,bの値は指標値算出部45に通知される。
【0066】
指標値算出部45は、対応点の2次元座標とエピポーララインの式に基づいて、対応点とエピポーララインのずれ量を算出し、判定部46にずれ量を通知する(ステップS104)。
図10に示すように、対応点P1とエピポーララインEL1のずれ量は、エピポーララインEL1上で対応点P1とx座標が等しい点のy座標と対応点P1のy座標との差D1である。判定部46は、対応点とエピポーララインのずれ量が所定値以上であるか否かを判定し、判定結果を制御部49に通知する(ステップS105)。
【0067】
対応点とエピポーララインのずれ量が所定値以上である場合、ステレオアダプターに緩みが生じている可能性がある。対応点とエピポーララインのずれ量が所定値以上である場合、対応点の位置の確認をユーザーに要求するためのメッセージがモニタ4に表示される(ステップS106)。より具体的には、ステップS106では、制御部49は、対応点の位置の確認をユーザーに要求するためのメッセージの生成をグラフィック画像生成部48に指示する。グラフィック画像生成部48は、メッセージを含むグラフィック画像信号を生成し、表示信号生成部50に出力する。表示信号生成部50は、制御部49が取り込んだ画像データと同じ画像データと、グラフィック画像生成部48によって生成されたグラフィック画像信号とを合成し、表示信号を生成する。モニタ4は、この表示信号に基づいて、メッセージが重畳された画像を表示する。
【0068】
ユーザーは、操作部6を操作し、対応点の位置を確認した結果、すなわち対応点の位置が妥当か否かを判断した結果を入力する(ステップS107)。より具体的には、ステップS107では、ユーザーによって操作部6が操作され、判断結果が入力されると、操作検出部42はこの判断結果を検出し、制御部49に判断結果を通知する。制御部49は、判断結果に基づいて、以降の処理を決定する。
【0069】
ステップS107でモニタ4に表示されている画像には、
図6に示したように、計測点および対応点の位置を示すマークが重畳されている。この画像は、以下のようにして表示される。制御部49は、対応点算出部43が算出した計測点および対応点の2次元座標を取得し、グラフィック画像生成部48に通知する。グラフィック画像生成部48は、計測点および対応点の位置を示すマークを含むグラフィック画像信号を生成し、表示信号生成部50に出力する。これ以降は、前述した処理と同様の処理が行われ、モニタ4に画像が表示される。
【0070】
画像のテクスチャが不適切であることによる誤対応が発生しており、対応点の位置が妥当でないと判断された場合には、ステレオアダプターと挿入部20との位置関係が正しく検出されていないので、計測用のパラメータを補正すると計測精度が低下する可能性がある。この場合、以下のように、探索範囲を変更してマッチングが再度行われ、誤対応が発生していないことが確認されてから、計測用のパラメータが補正される。
【0071】
対応点の位置が妥当でないと判定された場合、制御部49は対応点算出部43にマッチングの実行を指示する。対応点算出部43は、探索範囲を拡大し(ステップS108)、マッチングを行う(ステップS109)。
図11は、ステップS109のマッチングにおける探索範囲を示している。拡大される前の探索範囲A1(第1の処理条件)がy方向に拡大され、探索範囲A2(第2の処理条件)となる。ステップS109のマッチングでは、ステップS102で指定された計測点に対応する右画像上の対応点の2次元座標が算出され、指標値算出部45に対応点の2次元座標が通知される。この後、処理がステップS103に戻ってマッチングが行われる際の探索範囲は、拡大される前の探索範囲となる。
【0072】
続いて、対応点の位置の確認をユーザーに要求するためのメッセージがモニタ4に表示される(ステップS110)。ステップS110で行われる処理は、ステップS106で行われる処理と同様である。ユーザーは、操作部6を操作し、対応点の位置を確認した結果、すなわち対応点の位置が妥当か否かを判断した結果を入力する(ステップS111)。ステップS111で行われる処理は、ステップS107で行われる処理と同様である。
【0073】
画像のテクスチャが不適切であることによる誤対応が発生しており、対応点の位置が妥当でないと判断された場合には、ステレオアダプターと挿入部20との位置関係が正しく検出されていないので、計測用のパラメータを補正すると計測精度が低下する可能性がある。この場合、ステレオアダプターと挿入部20との位置関係を再度検出するために、計測点の変更をユーザーに要求するためのメッセージがモニタ4に表示される(ステップS112)。ステップS112で行われる処理は、ステップS106で行われる処理と同様である。メッセージの表示後、再度ステップS102で計測点が指定される。
【0074】
図8および
図9では、ステップS111で対応点の位置が妥当でないと判断された場合、計測点の変更が行われるが、前述したように、画像の撮影が再度行われるようにしたり、ステレオアダプターの装着をやり直したりするようにしてもよい。例えば、画像の再撮影を促すメッセージがステップS112で表示された後、処理がステップS100に戻り、モニタ4に動画像が表示される。あるいは、ステレオアダプターの装着のやり直しを促すメッセージがステップS112で表示された後、ユーザーによって挿入部20が検査対象物から引き抜かれ、ステレオアダプターの装着がやり直された後、挿入部20が検査対象物に挿入される。この後、ステップS100からの処理が再度行われる。
【0075】
一方、ステップS111で対応点の位置が妥当であると判断された場合、指標値算出部45は、ステップS109で再度算出された対応点の2次元座標とエピポーララインの式に基づいて、対応点とエピポーララインのずれ量を算出し、制御部49を介して補正部47にずれ量を通知する(ステップS113)。ステップS113でずれ量を算出する処理は、ステップS104でずれ量を算出する処理と同様である。
【0076】
続いて、補正部47は、計測精度の低下を防止するため、対応点とエピポーララインのずれ量に応じてエピポーララインの式を補正する(ステップS114)。ステップS114では、エピポーララインの式の切片bの値に対してずれ量を加算または減算することにより、エピポーララインの式が補正される。また、ステップS107で対応点の位置が妥当であると判断された場合も、補正部47はステップS114でエピポーララインの式を補正する。
【0077】
エピポーララインの式の補正後、計測処理部44は、ステップS109における計測点および対応点の2次元座標に基づいて実空間上の3次元座標を算出する(ステップS116)。その後、計測点の指定が終了したか否かが判定され(ステップS117)、計測点の指定が終了していない場合には、再度ステップS103で計測点が指定される。
【0078】
また、計測点の指定が終了した場合には、計測処理部44は、指定された計測点に基づく3次元座標に基づいて被写体の実空間上の長さ等を算出する(ステップS118)。続いて、ステップS118で算出された長さ等の計測結果がモニタ4に表示され(ステップS119)、計測の処理が終了する。また、ステップS105でずれ量が所定値未満である場合、計測処理部44はステップS116で3次元座標を算出する。
【0079】
上記のように、ステレオアダプターと挿入部20との位置関係に変化が生じ、対応点とエピポーララインのずれ量が所定値以上であると判定された(ステップS105)場合に、対応点の位置の確認がユーザーに要求され(ステップS106,S110)、対応点の位置が妥当であるとユーザーが判断した(ステップS107,S111)場合のみ、エピポーララインの式が補正される(ステップS114)。これによって、ステレオアダプターと挿入部20との位置関係に変化が生じている場合にエピポーララインの式を補正しつつ、誤対応が発生した場合にエピポーララインの式が補正されることを回避することが可能となるので、計測精度の低下を低減することができる。また、対応点とエピポーララインのずれ量が所定値未満であると判定された(ステップS105)場合には、対応点の位置の確認をユーザーに要求する処理や、エピポーララインの式を補正する処理を省くことができる。
【0080】
また、対応点の位置が妥当でないとユーザーが判断した(ステップS107)場合に探索範囲を広げて再度マッチングを行い(ステップS109)、対応点の位置の確認をユーザーに再度要求する(ステップS110)ことによって、誤対応の発生を低減することができる。
【0081】
(第2の動作例)
図12および
図9は、第2の動作例における内視鏡装置1の動作の手順を示している。
図9に示す動作は第1の動作例と共通である。第1の動作例では、ステレオアダプターに緩みが生じている場合でも、マッチングにより偽の対応点が検出され、その偽の対応点が偶然エピポーララインの近傍に存在していると、ステレオアダプターに緩みが生じていることを検出することができない。このため、第2の動作例では、ステレオアダプターと挿入部20との位置関係を示す指標値として、対応点とエピポーララインのずれ量と、左右の画像の相関を示す相関値との両方を使用する。
【0082】
ステップS103では、対応点算出部43は、左画像上の計測点の位置を基準とするパターンエリアの画像と、右画像上の探索範囲のうちパターンエリアと同じサイズの画像との間で、探索範囲内で画像の位置をずらしながら各位置で、公知の正規化相互相関によるマッチングを行う。このマッチングに利用する正規化相互相関関数M(u,v)には、一般的に以下の式を用いる。すなわち、t(x,y)をテンプレートとし、g(x,y)を画像データとし、t’をテンプレートの平均輝度とし、さらに、g’を画像の平均輝度として、以下の(4)式が適用される。ここでΣΣ
Sは画素の和をとることを表す。
M(u,v)={ΣΣ
S(g(x+u,y+v)−g’)(t(x,y)−t’)}/{ΣΣ
S(g(x+u,y+v)−g’)
2×ΣΣ
S(t(x,y)−t’)
2}
1/2 ・・・(4)
【0083】
最も正規化相互相関係数が大きくなる座標(X,Y)が対応点の2次元座標であり、正規化相互相関係数の最大値(−1〜1のいずれかの値)が本実施形態の相関値である。本実施形態の対応点算出部43は、本発明の内視鏡装置における対応点算出部と指標値算出部の両方に対応する。対応点算出部43が算出した相関値は判定部46に通知される。
【0084】
ステップS105で対応点とエピポーララインのずれ量が所定値未満である場合、判定部46は、相関値が所定値以上であるか否かを判定する(ステップS120)。相関値が所定値未満である場合、ステレオアダプターに緩みが生じている可能性があるため、ステップS106で対応点の位置の確認をユーザーに要求するためのメッセージがモニタ4に表示される。また、相関値が所定値以上である場合、計測処理部44はステップS116で3次元座標を算出する。
【0085】
上記のように、対応点とエピポーララインのずれ量が所定値未満であると判定された(ステップS105)場合に、相関値が所定値以上であるか否かが判定され(ステップS120)、相関値が所定値以下である場合に、ステレオアダプターに緩みが生じていると判定され、対応点の位置の確認がユーザーに要求される(ステップS106)。これによって、ステレオアダプターに緩みが生じているか否かの判定の精度を向上させることができる。
【0086】
上記では正規化相互相関係数に基づく相関値を用いて、ステレオアダプターに緩みが生じているか否かを判定しているが、画像のコントラスト値を用いて同様の判定を行ってもよい。
【0087】
(第3の動作例)
第3の動作例では、ステップS108,S109,S111で行われる処理が、第1の動作例の各ステップで行われる処理と異なる。ステップS108では、ステップS103で設定される探索範囲よりも広い範囲に対して複数の探索範囲が設定される。
図13は、ステップS108で設定される探索範囲の一例を示している。
図13に示す例では、5つの探索範囲A10〜A14が設定される。設定される探索範囲の数は複数であればよい。ステップS109では、ステップS108で設定された探索範囲毎にマッチングが行われる。
【0088】
ステップS111では、探索範囲毎のマッチングで求められた各対応点の位置を示すマークが重畳された画像が表示される。つまり、モニタ4に表示される画像には複数のマークが表示される。ユーザーは、操作部6を操作し、最も正確な(妥当な)対応点を選択した結果を入力する。また、全ての対応点が正確でないと判断される場合、ユーザーは、操作部6を操作し、その旨を示す情報を入力する。
【0089】
全ての対応点が正確でないと判断された場合、ステップS112で計測点の変更をユーザーに要求するためのメッセージがモニタ4に表示される。また、最も正確な対応点が選択された場合、ステップS113でエピポーララインと、選択された対応点とのずれ量が算出される。
【0090】
上記のように、複数の探索範囲でマッチングを行うと、第1の動作例にように探索範囲を広げてマッチングを行うことと比較して、より正確な対応点が求まる場合がある。例えば、ステップS103で設定される探索範囲の外に、真の対応点と、真の対応点で得られる相関値よりも高い相関値が得られる偽の対応点とが存在している場合に、第1の動作例のように単純に探索範囲を広げてマッチングを行うと、偽の対応点が検出される場合がある。しかし、上記のように複数の探索範囲を設定した場合に、真の対応点と偽の対応点とが異なる探索範囲内に存在していれば、それぞれが別々に検出され、ユーザーによって真の対応点が選択される。したがって、より正確な対応点をユーザーが選択することができる。
【0091】
(第4の動作例)
図14および
図9は、第4の動作例における内視鏡装置1の動作の手順を示している。
図9に示す動作は第1の動作例と共通である。
図14に示す動作では、
図8に示す動作と比較して、ステップS130〜S133の処理が追加されている点が異なる。ステップS101で画像データがRAM14に保存された後、判定部46は、以後の判定で使用する変数iの値を0に初期化する(ステップS130)。続いて、ステップS102で計測点の位置が指定される。
【0092】
ステップS105で対応点とエピポーララインのずれ量が所定値以上であると判定された場合、判定部46は変数iの値を1増加する(ステップS131)。また、ステップS105で対応点とエピポーララインのずれ量が所定値未満であると判定された場合、判定部46は変数iの値を0に初期化する(ステップS132)。ステップS132で変数iの値が0に初期化された後、計測処理部44はステップS116で3次元座標を算出する。
【0093】
ステップS131で変数iの値が1増加された後、判定部46は、変数iの値が所定値(2以上の整数)以上であるか否かを判定する(ステップS133)。変数iの値が所定値以上である場合、ステップS106で対応点の位置の確認をユーザーに要求するためのメッセージがモニタ4に表示される。また、変数iの値が所定値未満である場合、計測処理部44はステップS116で3次元座標を算出する。
【0094】
上記の処理では、所定回数連続で計測点が指定され(ステップS102)、それらの計測点に対応する対応点とエピポーララインのずれ量が全て所定値以上であると判定された(ステップS105)場合に、変数iの値が所定値以上となり、ステレオアダプターに緩みが生じていると判定され(ステップS133)、対応点の位置の確認がユーザーに要求される(ステップS106)。このように、対応点とエピポーララインのずれ量が所定値以上であることが所定回数続く場合には、ステレオアダプターに緩みが生じていると判定される。
【0095】
また、対応点とエピポーララインのずれ量が所定値未満であると判定される(ステップS105)と、変数iの値が0に初期化される(ステップS132)。したがって、対応点とエピポーララインのずれ量が所定値以上であることが所定回数続かない場合には、仮にずれ量が一定値以上であっても、その原因はステレオアダプターの緩みではなく、部分的な画像のテクスチャが不適切であることによる誤対応であると考えられるため、エピポーララインの式の補正は行われない。これによって、エピポーララインの式が誤って補正されることを回避することができる。この場合、計測結果の信頼性が低いことをユーザーに通知してもよい。
【0096】
(第5の動作例)
第5の動作例は第4の動作例の変形である。
図15および
図9は、第5の動作例における内視鏡装置1の動作の手順を示している。
図9に示す動作は第1の動作例と共通である。
図15に示す動作では、
図14に示す動作と比較して、ステップS103のマッチング時に相関値が算出され、ステップS104の処理が削除され、ステップS105の処理がステップS140の処理に変更されている点が異なる。
【0097】
ステップS103の処理が行われた後、判定部46は、相関値が所定値以下であるか否かを判定する(ステップS140)。相関値が所定値以下である場合、判定部46は変数iの値を1増加する(ステップS131)。また、相関値が所定値を超えている場合、判定部46は変数iの値を0に初期化する(ステップS132)。
【0098】
上記の処理では、所定回数連続で計測点が指定され(ステップS102)、それらの計測点に対応する対応点を算出したときの相関値が全て所定値以下であると判定された(ステップS140)場合に、変数iの値が所定値以上となり、ステレオアダプターに緩みが生じていると判定され(ステップS133)、対応点の位置の確認がユーザーに要求される(ステップS106)。このように、相関値が所定値以下であることが所定回数続く場合には、ステレオアダプターに緩みが生じていると判定される。
【0099】
また、相関値が所定値を超えていると判定される(ステップS140)と、変数iの値が0に初期化される(ステップS133)。したがって、相関値が所定値以下であることが所定回数続かない場合には、仮に相関値が一定値以下であっても、その原因はステレオアダプターの緩みではなく、部分的な画像のテクスチャが不適切であることであると考えられるため、エピポーララインの式の補正は行われない。これによって、エピポーララインの式が誤って補正されることを回避することができる。この場合、計測結果の信頼性が低いことをユーザーに通知してもよい。
【0100】
(第6の動作例)
第6の動作例は第4の動作例および第5の動作例の変形である。
図16および
図9は、第6の動作例における内視鏡装置1の動作の手順を示している。
図9に示す動作は第1の動作例と共通である。
図16に示す動作では、
図14に示す動作と比較して、ステップS103のマッチング時に相関値が算出され、ステップS105の処理がステップS150の処理に変更されている点が異なる。
【0101】
ステップS104の処理が行われた後、判定部46は、対応点とエピポーララインのずれ量が所定値以上かつ相関値が所定値以下であるか否かを判定する(ステップS150)。対応点とエピポーララインのずれ量が所定値以上かつ相関値が所定値以下である場合、判定部46は変数iの値を1増加する(ステップS131)。また、対応点とエピポーララインのずれ量が所定値未満であるか、対応点の位置を算出したときの相関値が所定値を超えている場合、判定部46は変数iの値を0に初期化する(ステップS132)。
【0102】
上記の処理では、所定回数連続で計測点が指定され(ステップS102)、それらの計測点に対応する対応点とエピポーララインのずれ量が全て所定値以上であり、対応点を算出したときの相関値が全て所定値以下であると判定された(ステップS150)場合に、変数iの値が所定値以上となり、ステレオアダプターに緩みが生じていると判定され(ステップS133)、対応点の位置の確認がユーザーに要求される(ステップS106)。このように、対応点とエピポーララインのずれ量が所定値以上かつ相関値が所定値以下であることが所定回数続く場合には、ステレオアダプターに緩みが生じていると判定される。
【0103】
また、対応点とエピポーララインのずれ量が所定値未満であるか相関値が所定値を超えていると判定される(ステップS150)と、変数iの値が0に初期化される(ステップS133)。したがって、対応点とエピポーララインのずれ量が所定値以上かつ相関値が所定値以下であることが所定回数続かない場合には、仮に対応点とエピポーララインのずれ量が所定値以上かつ相関値が一定値以下であっても、その原因はステレオアダプターの緩みではなく、部分的な画像のテクスチャが不適切であることであると考えられるため、エピポーララインの式の補正は行われない。これによって、エピポーララインの式が誤って補正されることを回避することができる。この場合、計測結果の信頼性が低いことをユーザーに通知してもよい。
【0104】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。