以下、図面を参照し、本発明の実施形態を説明する。以下では、計測装置の一例である計測用内視鏡装置を使用して、航空機エンジンへの異物等の侵入によりタービンブレードあるいはコンプレッサーブレードのエッジの一部が欠けることにより形成される欠損に対して計測を行う場合を例として説明する。
(第1の実施形態)
まず、本発明の第1の実施形態を説明する。図1は、本実施形態による計測用内視鏡装置の構成を示している。図1に示すように、計測用内視鏡装置1は、内視鏡2と、コントロールユニット3と、リモートコントローラ4と、液晶モニタ5(表示部)と、光学アダプタ7a,7b,7cと、内視鏡ユニット8と、カメラコントロールユニット9と、制御ユニット10とから構成されている。
計測対象物を撮像し撮像信号を生成する内視鏡2(撮像部)は細長の挿入部20を備えている。挿入部20は、先端側から順に、硬質な先端部21と、例えば上下左右に湾曲可能な湾曲部22と、柔軟性を有する可撓管部23とを連設して構成されている。挿入部20の基端部は内視鏡ユニット8に接続されている。先端部21は、観察視野を2つ有するステレオ用の光学アダプタ7a,7bあるいは観察視野が1つだけの通常観察光学アダプタ7c等、各種の光学アダプタが例えば螺合によって着脱自在な構成になっている。
コントロールユニット3は、内視鏡ユニット8、画像処理手段であるカメラコントロールユニット(以下、CCUと記載する)9、および制御装置である制御ユニット10を内部に備えている。内視鏡ユニット8は、観察時に必要な照明光を供給する光源装置と、挿入部20を構成する湾曲部22を湾曲させる湾曲装置とを備えている。CCU9は、挿入部20の先端部21に内蔵されている固体撮像素子2aから出力された撮像信号を入力し、これをNTSC信号等の映像信号(画像データ)に変換して制御ユニット10に供給する。
制御ユニット10は、映像信号処理回路12と、ROM13と、RAM14と、PCカードインターフェース(以下、PCカードI/Fと記載する)15と、USBインターフェース(以下、USB I/Fと記載する)16と、RS−232Cインターフェース(以下、RS−232C I/Fと記載する)17と、計測処理部18とから構成されている。
映像信号処理回路12は、CCU9から供給された内視鏡画像とグラフィックによる操作メニューとを合成した合成画像を表示するために、CCU9からの映像信号を、計測処理部18の制御により生成される操作メニュー等のための表示信号と合成する処理を行う。また、映像信号処理回路12は、液晶モニタ5の画面上に映像を表示するために合成後の映像信号に所定の処理を施して液晶モニタ5に供給する。
PCカードI/F15は、PCMCIAメモリカード32やフラッシュメモリカード33等のメモリカード(記録媒体)を自由に着脱できるようになっている。メモリカードを装着することにより、計測処理部18の制御に従って、このメモリカードに記憶されている制御処理情報や画像情報等を取り込んだり、制御処理情報や画像情報等をメモリカードに記録したりすることができる。
USB I/F16は、コントロールユニット3とパーソナルコンピュータ31とを電気的に接続するためのインターフェースである。このUSB I/F16を介してコントロールユニット3とパーソナルコンピュータ31とを電気的に接続することにより、パーソナルコンピュータ31側で内視鏡画像の表示の指示や計測時における画像処理等の各種の制御指示を行うことが可能となる。また、コントロールユニット3とパーソナルコンピュータ31との間で各種の処理情報やデータを入出力することが可能となる。
RS−232C I/F17には、CCU9および内視鏡ユニット8が接続されると共に、これらCCU9や内視鏡ユニット8等の制御および動作指示を行うリモートコントローラ4が接続されている。ユーザがリモートコントローラ4を操作すると、その操作内容に基づいて、CCU9および内視鏡ユニット8を動作制御する際に必要な通信が行われる。
計測処理部18は、ROM13に格納されている計測用プログラム等のプログラムを実行することによって、目的に応じた処理を行うように各種回路部等を制御して、計測用内視鏡装置1全体の動作制御を行う。RAM14は、計測処理部18によって、データの一時格納用の作業領域として使用される。
計測処理部18が実行するプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムを計測用内視鏡装置1以外のコンピュータに読み込ませ、実行させてもよい。例えば、パーソナルコンピュータ31がプログラムを読み込んで実行し、プログラムに従って、計測用内視鏡装置1を制御するための制御情報を計測用内視鏡装置1に送信して計測用内視鏡装置1を制御し、計測用内視鏡装置1から映像信号を取得して、取得した映像信号を用いて計測を行ってもよい。
ここで、「コンピュータ」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM、DVD−ROM、フラッシュメモリ等の可搬媒体、コンピュータに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体のことをいう。また、上述したプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能を、コンピュータに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
図2は計測処理部18の構成を示している。図2(a)に示すように計測処理部18は、制御部18aと、基準点指定部18bと、基準線算出部18cと、欠損構成点算出部18dと、欠損種類判別部18eと、欠損サイズ算出部18fと、記憶部18gとから構成されている。
制御部18aは計測処理部18内の各部を制御する。また、制御部18aは、液晶モニタ5に計測結果や操作メニュー等を表示させるための表示信号を生成して映像信号処理回路12へ出力する機能も有している。
基準点指定部18bは、リモートコントローラ4から入力される信号に基づいて、被写体である計測対象物上の基準点(基準点の詳細は後述する)を指定する。ユーザが、液晶モニタ5に表示された計測対象物の画像を見ながら所望の基準点を2点入力すると、それらの座標が基準点指定部18bによって算出される。
基準線算出部18c(第1の基準線算出部)は、基準点指定部18bによって指定された基準点に基づいて、計測対象物の輪郭を近似する輪郭近似線に相当する基準線(基準線の詳細は後述する)を算出する。欠損構成点算出部18dは、基準点および基準線に基づいて、計測対象物に形成された欠損の輪郭(エッジ)を構成する欠損構成点(欠損構成点の詳細は後述する)を算出する。
欠損種類判別部18eは、基準点指定部18bによって指定された2つの基準点に対応した2本の基準線がなす、画像上の角度を算出し、その角度に応じて欠損の種類を判別する。欠損サイズ算出部18fは、欠損構成点に基づいて欠損のサイズを計測する。記憶部18gは、計測処理部18内で処理される各種情報を記憶する。記憶部18gに格納された情報は、適宜、制御部18aによって読み出されて各部へ出力される。
欠損サイズ算出部18fは、角部の一部が欠けている計測対象物(後述する角の欠損)のサイズを算出するための構成として、図2(b)に示す角度指定部18fa、点指定部18fb、方向選択部18fc、基準線算出部18fd(第2の基準線算出部)、サイズ算出部18feを有する。ユーザによって指定された基準点に基づいてエッジ抽出が行われて基準線が算出された後、視野内において欠けていない部分の量が評価される。この量が少ない場合、エッジ抽出の結果に基づいて算出された基準線の方向が不安定となりやすいので、設計上の基準線の3次元空間内での角度(設計角度)に基づいて、再度、基準線が算出される。
角度指定部18faは、角部の一部が欠けている計測対象物の2つのエッジに対応する2本の基準線のうち一方の基準線に対して他方の基準線がなす角度(0度よりも大きく180度よりも小さい3次元空間内での角度)を指定する。点指定部18fbは、他方の基準線が通る点を指定する。方向選択部18fcは、角度指定部18faによって指定された3次元空間内での角度に対応して他方の基準線がとりうる2つの方向のうち一方を選択する。基準線算出部18fdは、他方の基準線を算出する。サイズ算出部18feは、2本の基準線の交点に対応する3次元座標に基づいて角部のサイズを算出する。
次に、本実施形態で使用する用語の内容を説明する。まず、図3を参照し、基準点、基準線、および基準点エリアを説明する。基準点301,302は、表示される計測画面上においてユーザが実際に指定する点であり、図3のように欠損300の両側に位置し、かつ欠損の存在しないエッジ上の点である。
基準線311,312は、計測対象物の輪郭(エッジ)を近似する線であり、2つの基準点301,302に基づいて算出される。基準線は直線であってもよいし、内視鏡2の先端(先端部21内)に設置された撮像光学系、および内視鏡2の先端に別途装着される撮像光学系(光学アダプタ7a,7b,7c)の歪みを補正した歪補正曲線であってもよい。
基準点エリア321,322は、基準線311,312を求める際に基準点周囲のエッジを抽出するための画像範囲である。基準点エリア321,322のサイズは、基準線の算出に適した値に設定するのが良い。
次に、図4〜図5を参照し、欠損の種類、欠損始点・終点・頂点、および欠損構成点を説明する。本実施形態で計測対象となる欠損には、辺の欠損と角の欠損の2種類がある。辺の欠損は図4の欠損400のように計測対象のエッジの辺上に形成された欠損であり、角の欠損は図5の欠損500のように計測対象のエッジの角に形成された欠損である。
欠損始点401,501は、表示される計測画面上において、後述する欠損計算で欠損を構成する点として最初に認識される点である。欠損終点402,502は、欠損を構成する点として最後に認識される点である。欠損頂点503は、角の欠損500において、2つの基準線521,522の交点として認識される点である。欠損構成点410,510は、計測対象物に形成された欠損のエッジを構成する点であり、欠損始点・欠損終点・欠損頂点を含む。
次に、図6〜図7を参照し、欠損サイズを説明する。欠損サイズとは、検出された欠損の大きさを表すパラメータである。本実施形態で計算される欠損サイズは、辺の欠損では欠損の幅、深さ、面積であり、角の欠損では欠損の幅、2つの辺の長さ、面積である。より具体的には、欠損の幅は欠損始点−欠損終点間の空間距離である。欠損の深さは、所定の欠損構成点から、欠損始点と欠損終点を結んだ直線までの空間距離である。欠損の辺は欠損頂点−欠損始点間の空間距離および欠損頂点−欠損終点間の空間距離である。欠損の面積は、全ての欠損構成点で囲まれた領域の空間面積である。
図6は辺の欠損サイズを示しており、欠損の幅600は、後述する欠損計算で欠損始点611と欠損終点612の空間距離として算出される。欠損の深さ601は所定の欠損構成点613から、欠損始点611と欠損終点612を結んだ直線までの空間距離として算出される。欠損の面積は、図示していない欠損構成点を含む全ての欠損構成点で囲まれた領域620の空間面積として算出される。面積の算出方法は、例えば特開平6−339454号公報に開示されている。
図7は角の欠損サイズを示しており、欠損の幅700は、後述する欠損計算で欠損始点711と欠損終点712の空間距離として算出される。欠損の辺701は欠損頂点713と欠損始点711の空間距離として算出され、欠損の辺702は欠損頂点713と欠損終点712の空間距離として算出される。欠損の面積は、図示していない欠損構成点を含む全ての欠損構成点で囲まれた領域720の空間面積として算出される。
次に、図8を参照し、計測点および計測点エリアを説明する。計測点801は、表示される計測画面上における計測対象物のエッジ上の点であり、後述する欠損計算で第1の基準点802から第2の基準点803に向かう方向(方向T8)に順次サーチ(探索)される。さらに、サーチされた計測点の一部は、欠損構成点として認識される。
計測点エリア804は、計測点801をサーチする際に、計測点周囲のエッジを抽出するための画像範囲である。計測点エリア804のサイズは、エッジ抽出を行うのに適した値に設定するのが良い。
次に、図9〜図10を参照し、特徴点を説明する。特徴点901,902および特徴点1001,1002は、基準点903を含む基準点エリア910および計測点1003を含む計測点エリア1010内で抽出されるエッジ上の特徴的な点である。基準点エリア910内で抽出された特徴点901,902は、後述する欠損計算で基準線を算出するために用いられる。また、計測点エリア1010等で抽出された特徴点の一部は、欠損計算で計測点として選択される。
次に、本実施形態における欠損計測の手順を説明する。以下、図11〜図12を参照し、欠損計測の手順と計測画面を説明する。図11は欠損計測の手順を示し、図12は計測画面を示している。以後の説明に用いる図12等の計測画面では、操作メニュー等が説明に不要な場合、その図示を省略することがある。図12において、計測画面1200,1210,1220は、辺の欠損を計測対象としたときの計測画面であり、計測画面1230,1240,1250は、角の欠損を計測対象としたときの計測画面である。
本実施形態では、ステレオ計測による欠損計測が行われる。ステレオ計測においては、ステレオ光学アダプタを内視鏡2の先端部21に装着した状態で計測対象物を撮像するため、計測画面では計測対象物の画像が左右1対で表示される。なお、3次元座標を求める方法としては、ステレオ計測以外のパターン投影法、タイム・オブ・フライト法等の他の方法を用いてもよい。
欠損計測では、まず、液晶モニタ5に表示された計測画面上において、リモートコントローラ4の操作により、ユーザが基準点を2つ指定すると、指定された基準点の情報が計測処理部18に入力される(ステップSA)。このとき、ユーザは、欠損の両側に位置する点であって欠損の存在しないエッジ上の点を基準点として選択することが望ましい。図12において、左画像内の基準点1201,1202と基準点1231,1232が指定されている。
続いて、指定された基準点の座標に基づいて、計測処理部18が欠損計算を行う(ステップSB)。欠損計算では、欠損構成点の座標や欠損サイズの算出、欠損の種類の判別が行われる。計測画面1210,1240は計算中の計測画面である。欠損計算の詳細については後述する。
欠損計算が終了すると、計測処理部18の指示により、検出された欠損領域が計測画面上に表示される(ステップSC)と共に、欠損の種類および欠損サイズが表示される(ステップSD〜SE)。図12に示すように、欠損領域は計測画面1220の左画面1221上および計測画面1250上の左画面1251上に表示される。より具体的には、算出された欠損構成点が線で結ばれて表示される。さらに、欠損構成点の中で、欠損始点・終点・頂点が、それぞれ○・*・□のカーソルで表示される。
また、検出された欠損の種類は計測画面1220,1250の右画面1222,1252上の結果ウィンドウ1223,1253の上部にイメージで表示される。さらに、検出された欠損のサイズが計測画面1220,1250の右画面1222,1252上の結果ウィンドウ1223,1253の下部に文字で表示される。
次に、図13を参照し、図11のステップSB2における欠損計算の手順を説明する。ユーザによって指定された左画面内の2つの基準点の位置情報が計測処理部18に入力されると、基準点指定部18bは2つの基準点の画像座標(液晶モニタ5に表示される画像上の2次元座標)を算出する(ステップSB1)。続いて、基準線算出部18cは、2つの基準点の画像座標に基づいて、2本の基準線を算出する(ステップSB2)。
続いて、欠損種類判別部18eは、2本の基準線がなす画像上の角度を算出し、その角度に応じて欠損の種類を判別する(ステップSB3)。続いて、欠損構成点算出部18dは、2つの基準点の画像座標に基づいて(角の欠損の場合には基準線も用いて)欠損構成点の画像座標を算出する(ステップSB4)。
続いて、欠損構成点算出部18dは、算出した左画面内の各欠損構成点に対応した右画面内のマッチング点の画像座標を算出し(ステップSB5)、算出された欠損構成点およびそのマッチング点の画像座標に基づいて各欠損構成点の空間座標(現実の空間上の3次元座標)を算出する(ステップSB6)。
空間座標の計算方法は、特開2004−49638号公報に記載されているものと同様である。最後に、欠損サイズ算出部18fは、算出された欠損構成点の空間座標に基づいて、欠損の種類に応じた欠損サイズを算出する(ステップSB7)。
次に、図14を参照し、図12のステップSB2における基準線の算出処理の手順を説明する。基準点指定部18bによって算出された2つの基準点の画像座標が入力される(ステップSB21)と、基準線算出部18cは、入力された基準点の画像座標に基づいて、各基準点について特徴点を2つずつ算出する(ステップSB22)。
続いて、基準線算出部18cは、2つの特徴点を通る基準線を算出する(ステップSB23)。基準点が2つであるので、2本の基準線が算出される。最後に、基準線算出部18cは、この基準線の情報(基準線を構成する点の画像座標または基準線の式)を制御部18aへ出力する(ステップSB24)。
以下、図15を参照し、上記のステップSB22における特徴点の算出処理の手順を説明する。特徴点の算出処理は基準線の算出時だけでなく欠損構成点の算出時にも行われる。欠損構成点の算出処理については後述するが、ここでは特徴点の算出処理をまとめて説明する。
また、図16〜図17は特徴点の算出処理の手順を模式的に示しており、適宜図16〜図17も参照する。図16は基準点周囲の特徴点を算出する場合の手順を示し、図17は計測点周囲の特徴点を算出する場合の手順を示している。
基準点の画像座標もしくは計測点の画像座標が入力される(ステップSF1)と、入力された基準点の画像座標もしくは計測点の画像座標に基づいて、基準点エリア内もしくは計測点エリア内のエリア画像が抽出される(ステップSF2)。これによって、基準点1600を含む基準点エリア内のエリア画像1601、もしくは計測点1700を含む計測点エリア内のエリア画像1701が抽出される。
続いて、抽出されたエリア画像がグレースケール化され(ステップSF3)、グレースケール化された画像に対してエッジ抽出が行われる(ステップSF4)。続いて、抽出されたエッジの近似直線が算出され(ステップSF5)、算出されたエッジ近似直線とエリア境界線との2つの交点が算出される(ステップSF6)。これによって、エッジ近似直線1602もしくはエッジ近似直線1702が算出され、エッジ近似直線1602とエリア境界線との交点1603,1604もしくはエッジ近似直線1702とエリア境界線との交点1703,1704が算出される。
最後に、算出された各交点と抽出されたエッジとの最近傍点が算出され(ステップSF7)、算出された2つの最近傍点が特徴点として制御部18aへ出力される(ステップSF8)。これによって、交点1603,1604に対応した最近傍点1605,1606、もしくは交点1703,1704に対応した最近傍点1705,1706が特徴点として出力される。
ステップSF4のエッジ抽出後にエッジ近似直線の算出を行うため、エッジ抽出には、抽出後の画像にできるだけノイズが発生しない処理を用いるのが良い。例えばSobel・Prewitt・Gradientフィルタ等の1次微分フィルタやLaplacianフィルタ等の2次微分フィルタを用いると良い。
また、膨張・収縮・差分処理およびノイズ低減フィルタ等を組み合わせた処理を用いてエッジ抽出を行っても良い。このとき、グレースケール画像を2値化する必要があるが、2値化閾値には固定値を用いても良いし、P−タイル法、モード法、判別分析法など、グレースケール画像の輝度に基づいて閾値を変更する方法を用いても良い。
また、ステップSF5のエッジ近似直線の算出では、ステップSF4で抽出されたエッジの情報に基づいて、例えば最小2乗法を用いて近似直線を算出する。なお、上記では、エッジの形状に対して直線近似を行っているが、2次以上の関数を使って曲線近似を行っても良い。エッジの形状が直線よりも曲線に近い場合には、曲線近似を行った方がより精度の良い特徴点算出が可能となる。
次に、図18を参照し、図13のステップSB3における欠損種類の判別処理の手順を説明する。2本の基準線の情報が制御部18aから入力される(ステップSB31)と、欠損種類判別部18eは2本の基準線がなす画像上の角度を0〜180度の範囲で算出する(ステップSB32)。続いて、欠損種類判別部18eは、2本の基準線のなす画像上の角度が所定の範囲であるか否かを判定する(ステップSB33)。
2本の基準線のなす画像上の角度が所定の範囲であった場合(例えば角度が175度以上の場合)、欠損種類判別部18eは、欠損が辺の欠損であると判断し、欠損の判別結果を制御部18aへ出力する。制御部18aは欠損の判別結果を記憶部18gに格納する(ステップSB34)。また、2本の基準線のなす画像上の角度が所定の範囲でなかった場合(例えば角度が175度未満の場合)、欠損種類判別部18eは、欠損が角の欠損であると判断し、欠損の判別結果を制御部18aへ出力する。制御部18aは欠損の判別結果を記憶部18gに格納する(ステップSB35)。
次に、図13のステップSB4における欠損構成点の算出処理の手順を説明する。欠損構成点の算出処理は、欠損頂点算出処理、欠損始点算出処理、2種類の計測点算出処理、および欠損終点算出処理で構成される。まず、図19を参照し、欠損頂点算出処理の手順を説明する。
制御部18aから欠損の判別結果が入力される(ステップSB411a)と、欠損構成点算出部18dは、判別結果に基づいて欠損の種類を判別する(ステップSB411b)。欠損の種類が角の欠損であった場合、制御部18aから2本の基準線の情報が入力される(ステップSB411c)。
欠損構成点算出部18dは、入力された情報に基づいて2本の基準線の交点を算出し(ステップSB411d)、算出した交点の画像座標を制御部18aへ出力する。なお、画像のノイズや計算の丸め誤差等の影響で、2本の基準線は実際には交わらないことがほとんどなので、それぞれの基準線上でもう1つの基準線にもっとも近い点を求め、その2点の中点を交点として出力する。制御部18aは2本の基準線の交点の画像座標を欠損構成点(欠損頂点)の画像座標として記憶部18gに格納する(ステップSB411e)。続いて、図20に示す第1の計測点算出処理へ処理が移行する。また、欠損の種類が辺の欠損であった場合、ステップSB411bに続いて、図20に示す第1の計測点算出処理へ処理が移行する。
次に、図20を参照し、第1の計測点算出処理の手順を説明する。また、図21は第1の計測点算出処理の手順を模式的に示しており、適宜図21も参照する。ユーザによって指定された2つの基準点のうち、最初に指定された第1の基準点の画像座標が制御部18aから入力される(ステップSB412a)と、欠損構成点算出部18dは図15に示した特徴点の算出処理を実行し、2つの特徴点を算出する(ステップSB412b)。これによって、第1の基準点2200に対応した2つの特徴点2201,2202が算出される。
続いて、第2の基準点の画像座標が制御部18aから入力される(ステップSB412c)。欠損構成点算出部18dは2つの特徴点と第2の基準点の2次元距離を算出し、2つの特徴点のうち第2の基準点に近い方を次の計測点とする(ステップSB412d)。第2の基準点のある方向が図21の方向T22である場合、特徴点2201,2202のうち特徴点2202が次の計測点2203となる。
続いて、欠損構成点算出部18dは、算出した計測点の画像座標を制御部18aへ出力する。制御部18aは計測点の画像座標を記憶部18gに格納する(ステップSB412e)。続いて、図22に示す欠損始点算出処理へ処理が移行する。
次に、図22を参照し、欠損始点算出処理の手順を説明する。また、図23は欠損始点算出処理の手順を模式的に示しており、適宜図23も参照する。まず、前回求めた計測点の画像座標が制御部18aから入力され(ステップSB413a)、2本の基準線のうち第1の基準点から算出された第1の基準線の情報が制御部18aから入力される(ステップSB413b)。
続いて、欠損構成点算出部18dは第1の基準線と計測点の2次元距離を算出し(ステップSB413c)、算出した2次元距離が所定値以上であるか否かを判定する(ステップSB413d)。算出した2次元距離が所定値以上であった場合、欠損構成点算出部18dは、計測対象物のエッジを近似する直線であるエッジ近似直線を算出する(ステップSB413e)。例えば図23に示すように、第1の基準点2401から算出された第1の基準線2410と計測点2402の2次元距離D24が所定値以上であった場合、エッジ近似直線2411が算出される。
続いて、欠損構成点算出部18dは第1の基準線とエッジ近似直線の交点を算出する(ステップSB413f)。これによって、第1の基準線2410とエッジ近似直線2411の交点2403が算出される。
続いて、欠損構成点算出部18dは、算出した交点の画像座標を制御部18aへ出力する。制御部18aは交点の画像座標を欠損構成点(欠損始点)の画像座標として記憶部18gに格納する(ステップSB413g)。続いて、図24に示す第2の計測点算出処理へ処理が移行する。また、ステップSB413cで算出した2次元距離が所定値未満であった場合、ステップSB413dに続いて、図24に示す第2の計測点算出処理へ処理が移行する。
次に、図24を参照し、第2の計測点算出処理の手順を説明する。また、図25は第2の計測点算出処理の手順を模式的に示しており、適宜図25も参照する。前回求めた計測点の画像座標が制御部18aから入力される(ステップSB414a)と、欠損構成点算出部18dは図15に示した特徴点の算出処理を実行し、2つの特徴点を算出する(ステップSB414b)。これによって、計測点2600に対応した2つの特徴点2601,2602が算出される。
続いて、欠損構成点算出部18dは、前回求めた計測点と2つの特徴点のそれぞれとの2次元距離を算出し、2つの特徴点のうち、前回求めた計測点から遠い方を次の計測点とする(ステップSB414c)。前回求めた計測点のある方向が図25の方向T26である場合、特徴点2601,2602のうち特徴点2602が次の計測点2603となる。
続いて、欠損構成点算出部18dは、欠損始点の画像座標が既に記憶部18gに格納されているか否かを判定する(ステップSB414d)。欠損始点の画像座標が既に記憶部18gに格納されている場合、欠損構成点算出部18dは、算出した計測点の画像座標を制御部18aへ出力する。制御部18aは計測点の画像座標を欠損構成点の画像座標として記憶部18gに格納する(ステップSB414e)。続いて、図26に示す欠損終点算出処理へ処理が移行する。また、欠損始点の画像座標が記憶部18gにまだ格納されていない場合、図22に示す欠損始点算出処理へ処理が再度移行する。
次に、図26を参照し、欠損終点算出処理の手順を説明する。また、図27は欠損終点算出処理の手順を模式的に示しており、適宜図27も参照する。まず、前回求めた計測点の画像座標が制御部18aから入力され(ステップSB415a)、2本の基準線のうち第2の基準点から算出された第2の基準線の情報が制御部18aから入力される(ステップSB415b)。
続いて、欠損構成点算出部18dは第2の基準線と計測点の2次元距離を算出し(ステップSB415c)、算出した2次元距離が所定値以下であるか否かを判定する(ステップSB415d)。算出した2次元距離が所定値以下であった場合、欠損構成点算出部18dは、計測対象物のエッジを近似する直線であるエッジ近似直線を算出する(ステップSB415e)。例えば図27に示すように、第2の基準点2800から算出された第2の基準線2810と計測点2801の2次元距離D28が所定値以下であった場合、エッジ近似直線2811が算出される。
続いて、欠損構成点算出部18dは第2の基準線とエッジ近似直線の交点を算出する(ステップSB415f)。これによって、第2の基準線2810とエッジ近似直線2811の交点2803が算出される。
続いて、欠損構成点算出部18dは、算出した交点の画像座標を制御部18aへ出力する。制御部18aは交点の画像座標を欠損構成点(欠損終点)の画像座標として記憶部18gに格納する(ステップSB415g)。この処理によって、上述した欠損構成点の算出処理の全体が終了する。また、ステップSB415cで算出した2次元距離が所定値を超えた場合、ステップSB415dに続いて、図24に示した第2の計測点算出処理へ処理が再度移行する。
次に、図28を参照し、図22のステップSB413eおよび図26のステップSB415eにおけるエッジ近似直線の算出処理の手順を説明する。計測点の画像座標が入力される(ステップSG1)と、欠損構成点算出部18dは、入力された計測点の画像座標に基づいて、計測点エリア内のエリア画像を抽出する(ステップSG2)。
続いて、欠損構成点算出部18dは、抽出したエリア画像をグレースケール化し(ステップSG3)、グレースケール化した画像に対してエッジ抽出を行う(ステップSG4)。続いて、欠損構成点算出部18dは、抽出したエッジの近似直線を算出し(ステップSG5)、算出したエッジ近似直線の情報を制御部18aへ出力する(ステップSG6)。上記のステップSG1〜SG5の処理は図15のステップSF1〜SF5の処理と同様である。
次に、図13のステップSB5におけるマッチング点の算出方法を説明する。欠損構成点算出部18dは、上述した欠損計算で算出した欠損構成点に基づいてパターンマッチング処理を実行し、左右2画像の対応点であるマッチング点を算出する。このパターンマッチング処理の方法は特開2004−49638号公報に記載されたものと同じである。
しかし、欠損の種類が角の欠損であった場合、欠損頂点は計測対象物の背景に位置しており、画像上ではエッジ等の特徴的なパターンが存在しないので、パターンマッチング処理がうまく機能せず、マッチング点を算出できないことがある。そこで、本実施形態では、欠損の種類が角の欠損であった場合、欠損頂点のマッチング点の算出は以下のようにして行われる。
図29(a)に示すように、まず、左画像3000の基準点3001,3002に対応した右画像3020のマッチング点3021,3022が算出される。続いて、基準点3001,3002のそれぞれを通る基準線3010,3011と、マッチング点3021,3022のそれぞれを通る基準線3030,3031とが算出される。
続いて、図29(b)に示すように、左画像3000の基準線3010,3011の交点3003が欠損頂点として算出される。また、右画像3020の基準線3030,3031の交点3023が算出され、欠損頂点のマッチング点とみなされる。
次に、図30を参照し、図13のステップSB7における欠損サイズの算出処理の手順を説明する。欠損構成点の空間座標(3次元座標)および欠損の判別結果が制御部18aから入力される(ステップSB71)と、欠損サイズ算出部18fは欠損の幅(欠損始点−欠損終点間の空間距離)を算出する(ステップSB72)。
続いて、欠損サイズ算出部18fは、欠損の判別結果に基づいて欠損の種類を判定する(ステップSB73)。欠損の種類が辺の欠損であった場合、欠損サイズ算出部18fは欠損の深さ(所定の欠損構成点から、欠損始点と欠損終点を結んだ直線までの空間距離)を算出する(ステップSB74)。さらに、欠損サイズ算出部18fは欠損の面積(全ての欠損構成点で囲まれた領域の空間面積)を算出する(ステップSB75)。
続いて、欠損サイズ算出部18fは、算出した欠損サイズを制御部18aへ出力する。制御部18aは欠損サイズを記憶部18gに格納する(ステップSB76)。また、欠損の種類が角の欠損であった場合には、欠損サイズ算出部18fは欠損の辺の長さ(欠損頂点−欠損始点間の空間距離および欠損頂点−欠損終点間の空間距離)を算出する(ステップSB77)。これに続いて、処理はステップSB75に移行する。
次に、図31を参照し、図30のステップSB77における欠損の辺の長さの算出処理の手順を説明する。また、図32〜図35は欠損の辺の長さの算出処理の手順または計測画面を示しており、適宜図32〜図35も参照する。基準線算出部18fdは、ステップSB1で指定された2つの基準点のうち欠損始点により近い第1の基準点と欠損始点との画像距離を算出する(ステップSB771)。続いて、基準線算出部18fdは、ステップSB1で指定された2つの基準点のうち欠損終点により近い第2の基準点と欠損終点との画像距離を算出する(ステップSB772)。ステップSB771,SB772の処理の順番は逆でもよい。
図32に示すように、被写体OB1の領域R1では、角の先端の部分が欠けている。ステップSB73の欠損の種類の判定では、被写体OB1は角の欠損であると判定される。第1の基準点P1および第2の基準点P2は、ステップSB1で指定された基準点である。領域R1の欠けた部分の両端のエッジ上に欠損始点P3および欠損終点P4がある。ステップSB771では第1の基準点P1と欠損始点P3との画像距離が算出され、ステップSB772では第2の基準点P2と欠損終点P4との画像距離が算出される。
続いて、基準線算出部18fdは、ステップSB771,SB772で算出された2つの画像距離のうち短い方の距離が所定の閾値よりも小さいか否かを判定する。2つの画像距離のうち短い方の距離が閾値以上である場合、欠損の辺の長さの算出処理が終了する。また、2つの画像距離のうち短い方の距離が閾値よりも小さい場合、ステップSB22でエッジ抽出により算出された特徴点に基づいてステップSB23で算出された基準線の方向が不安定となりやすい。このため、ステップSB774〜SB781の処理により、2つの基準線のうち一方が設計上の基準線の角度に基づいて再度算出され、算出された基準線に基づいて欠損頂点が算出される。
以下では、ステップSB2で算出された基準線と区別するため、欠損頂点を算出するための基準線をエッジ基準線と記載する。2本のエッジ基準線のうち一方はステップSBで算出された基準線と同一であり、他方はステップSB774〜SB781の処理により算出される基準線である。
基準線算出部18fdは、ステップSB771,SB772で算出された2つの画像距離のうち長い方の距離に対応する欠損始点または欠損終点と、その点に最も近い基準点とを通る線を第1のエッジ基準線に指定する(ステップSB774)。第1のエッジ基準線は、ステップSBで算出された2本の基準線のいずれかと同一である。続いて、点指定部18fbは、ステップSB771,SB772で算出された2つの画像距離のうち短い方の距離に対応する欠損始点または欠損終点を第2のエッジ基準線の開始点に指定する(ステップSB775)。ステップSB774,SB775の処理の順番は逆でもよい。
図32における画像距離D1よりも画像距離D2のほうが長い場合、第2の基準点P2と欠損終点P4とを通る線が第1のエッジ基準線となる。また、欠損始点P3が第2のエッジ基準線の開始点となる。
続いて、液晶モニタ5に表示された計測画面上において、リモートコントローラ4の操作により、ユーザが角の欠損の設計角度(例えば、120度)を指定する指示を入力すると、角度指定部18faは、指示された設計角度を、以降の処理に用いる角度に指定する(ステップSB776)。指定される角度は、0度よりも大きく180度よりも小さい3次元空間内での角度である。また、設計角度は計測対象物毎に既知である。
図33は、ステップSB776における計測画面の一部を示している。所定の角度を選択するためのチェックボックスC1と共に、任意の数値を入力するための入力欄I1が表示される。リモートコントローラ4の操作により、いずれかのチェックボックスC1が選択され、または入力欄I1に数値が入力され、ボタンB1が押下されると、選択されたチェックボックスC1に対応する角度または入力欄I1に入力された数値に対応する角度が指定される。
続いて、基準線算出部18fdは、第2のエッジ基準線の開始点を通り、指定された角度に対応する2つの方向に引いた2本の直線を算出し(ステップSB777)、2本の直線と第1のエッジ基準線とを画像上に描画した場合のそれらの交点の画像座標を算出する(ステップSB778)。図34において、第1のエッジ基準線L1は、第2の基準点P2および欠損終点P4を通る。第2のエッジ基準線の開始点である欠損始点P3を通り、第1のエッジ基準線L1に対して、3次元空間内で指定された角度αで交わる直線L2,L3が第2のエッジ基準線の候補である。ステップSB777では、直線L2,L3と第1のエッジ基準線L1との交点P5,P6の画像座標が算出される。また、ステップSB777では、ステップSB780で選択される方向に対応する直線と、ステップSB780で選択されない方向に対応する直線との両方が算出される。
続いて、基準線算出部18fdは、ステップSB777で算出された2本の直線を液晶モニタ5の計測画面上に表示する(ステップSB779)。ステップSB779では、図34の直線L2,L3が表示される。これによって、エッジ基準線の候補がユーザに提示される。ユーザは、ステップSB779で表示された2本の直線を確認し、どちらの直線がエッジ基準線として適切であるのかを判断する。例えば、図34では、直線L2の方がエッジ基準線として適切である。
続いて、ユーザがリモートコントローラ4を操作し、ステップSB779で表示された2本の直線のうち一方を選択する指示を入力すると、方向選択部18fcは、入力された指示に対応する直線を第2のエッジ基準線として選択する(ステップSB780)。ステップSB780の処理は、概念的には第2のエッジ基準線の方向を選択することを包含する。選択された第2のエッジ基準線は、設計角度に基づいて算出された基準線であるので、本来のエッジに近い基準線を得ることができる。
図35は、ステップSB780における計測画面の一部を示している。左画面上に直線L4,L5が表示され、それらの一方(図34では直線L4)が強調されている。また、2本の直線のうちの一方の選択をユーザに促すメッセージM1が表示される。ユーザは、リモートコントローラ4を操作し、強調される直線を切り替えることが可能である。例えば、図35では直線L4が強調され、直線L5は強調されていないが、リモートコントローラ4の操作により、直線L5が強調され、直線L4が強調されていない状態にすることができる。リモートコントローラ4により、直線を選択する指示が入力されると、そのとき強調されている直線が第2のエッジ基準線として選択される。
本実施形態の例では、第2のエッジ基準線の候補となる2本の直線が算出された後、2本の直線のうち一方が選択されることで第2のエッジ基準線が選択される。すなわち、第2のエッジ基準線の方向が選択された時点で第2のエッジ基準線は既に算出されている。これに対して、第2のエッジ基準線の開始点を基準とした2つの方向が提示され、ユーザによって方向が選択された後、選択された方向に基づいて第2のエッジ基準線が算出されてもよい。
続いて、基準線算出部18fdは、ステップSB780で選択された第2のエッジ基準線と第1のエッジ基準線とを画像に描画した場合の交点の画像座標を制御部18aへ出力する。制御部18aは交点の画像座標を欠損構成点(欠損頂点)の画像座標として記憶部18gに格納する(ステップSB781)。続いて、サイズ算出部18feは、左画面内の欠損頂点に対応した右画面内のマッチング点の画像座標を算出し(ステップSB782)、算出された欠損頂点およびそのマッチング点の画像座標に基づいて欠損頂点の空間座標を算出する(ステップSB783)。ステップSB782では、図29を参照して説明した方法により、マッチング点の画像座標が算出される。続いて、サイズ算出部18feは、欠損頂点−欠損始点間の空間距離および欠損頂点−欠損終点間の空間距離を算出する(ステップSB784)。
なお、ステップSB776で選択された角度が90度であった場合、図示していないが、以下の処理が行われる。基準線算出部18fdは、第2のエッジ基準線の開始点を通り、第1のエッジ基準線に対して90度で交わる方向に引いた直線を算出し、その直線と第1のエッジ基準線とを画像上に描画した場合のそれらの交点の画像座標を算出する。方向選択部18fcは、算出された直線を第2のエッジ基準線として選択する。続いて、ステップSB731の処理が行われる。
上述したように、本実施形態によれば、第1のエッジ基準線に対して第2のエッジ基準線がなす3次元空間内での角度(設計角度)が指定され、指定された角度に対応して第2のエッジ基準線がとりうる2つの方向のうち一方が選択され、指定された点(本実施形態の例では欠損始点または欠損終点)を通り、選択された方向を向く第2のエッジ基準線と、第1のエッジ基準線との交点(欠損頂点)に対応する3次元座標に基づいて角の欠損のサイズが算出される。これによって、第2のエッジ基準線の方向の誤差が低減されるので、角部を有し、角部の一部が欠けている被写体の計測精度の低下を低減することができる。
(第2の実施形態)
次に、本発明の第2の実施形態を説明する。第1の実施形態では第2のエッジ基準線の方向がユーザの指示に基づいて選択されるが、第2の実施形態では第2のエッジ基準線の適切な方向が自動的に選択される。
図30のステップSB77における欠損の辺の算出処理以外の処理は、第1の実施形態で説明した処理と同様である。以下、図36を参照し、図30のステップSB77における欠損の辺の算出処理の手順を説明する。図36では、ステップSB778の処理が行われた後、ステップSB781の処理が行われる前に、第2のエッジ基準線の方向を選択する処理が行われる(ステップSB785)。図36におけるステップSB785の処理以外の処理は、第1の実施形態で説明した処理と同様である。
以下、図37を参照し、図36のステップSB785における方向選択処理の手順を説明する。以下では、ステップSB771,SB772で算出された2つの画像距離のうち長い方の距離に対応する欠損始点または欠損終点と、その点に最も近い基準点とを結ぶ線分が第1の線分であり、ステップSB771,SB772で算出された2つの画像距離のうち短い方の距離に対応する欠損始点または欠損終点と、その点に最も近い基準点とを結ぶ線分が第2の線分である。図38において、第1の基準点P1と欠損始点P3とを結ぶ線分L6、第2の基準点P2と欠損終点P4とを結ぶ線分L7のうち両端の2点間の距離が長い方が第1の線分であり、両端の2点間の距離が短い方が第2の線分である。
方向選択部18fcは、ステップSB778で算出された2つの交点の画像座標のうち一方が視野内にあり他方が視野外にあるか否かを判定する(ステップSB7851)。視野は、例えば左画面である。2つの交点の画像座標のうち一方が視野内にあり他方が視野外にある場合、方向選択部18fcは、視野内にある交点を通る方向の直線を第2のエッジ基準線として選択する(ステップSB7852)。
また、2つの交点の画像座標の両方が視野内または視野外にある場合、方向選択部18fcは、ステップSB778で算出された2つの交点の画像座標のうち一方が第1の線分上にあり他方が第1の線分上以外にあるか否かを判定する(ステップSB7853)。2つの交点の画像座標のうち一方が第1の線分上にあり他方が第1の線分上以外にある場合、方向選択部18fcは、交点が第1の線分上にある方向の直線を第2のエッジ基準線として選択する(ステップSB7854)。この場合、第1の線分の両端の2つの点の間の部分に交点がある。
また、2つの交点の画像座標の両方が第1の線分上または第1の線分上以外にある場合、方向選択部18fcは、第2の線分の方向により近い方向の直線を第2のエッジ基準線として選択する(ステップSB7855)。この場合、第2のエッジ基準線が通る通過点となる欠損始点または欠損終点から見て、第1の線分と第2の線分とのうち長さが短い方の第2の線分により近い方向の直線が選択される。
上述したように、本実施形態によれば、第2のエッジ基準線の方向が自動的に選択されるので、ユーザの手間を削減することができる。
(第3の実施形態)
次に、本発明の第3の実施形態を説明する。第3の実施形態では、被写体である計測対象物毎の設計角度が記録された角度リストから設計角度が選択される。
PC31あるいはメモリカードには、計測対象物を識別するラベルと設計角度とが関連付けられて記録された角度リストが保持されている。この角度リストは計測用内視鏡装置1に読み込まれて計測処理部18内の記憶部18gに記憶される。図39は角度リストの一例を示している。計測対象物のラベルと設計角度とが1対1に対応している。
図31または図36のステップSB776では、角度指定部18faは、角度リストの内容を計測画面上に表示する。図40は、ステップSB776における計測画面の一部を示している。角度リストに記録されている計測対象物のラベルに基づく計測対象物の名称と設計角度の一覧が計測画面上に表示される。選択枠F1は、現在選択されている計測対象物の名称と設計角度の組合せを示している。
ユーザは、リモートコントローラ4を操作することで、選択枠F1を移動させ、選択される組合せを変更することができる。また、計測対象物の名称を検索するための文字列を入力するための入力欄I2が設けられている。ユーザは、リモートコントローラ4を操作し、入力欄I2に文字列を入力してボタンB2を押下することで、所望の名称を検索することができる。角度リストの要素が多い場合には、計測対象物の名称を検索することで、ユーザが所望の計測対象物を探す手間を省くことができる。検索語の入力は、図示しないオンスクリーンキーボードの文字を、ユーザがリモートコントローラ4を操作して選択することで行う。
リモートコントローラ4の操作により、ボタンB3が押下されると、選択枠F1により選択されている設計角度を指定する指示が入力される。角度指定部18faは、指示された設計角度を、以降の処理に用いる角度に指定する。
上述したように、本実施形態によれば、ユーザが設計角度を入力する際の入力ミスの発生を低減することができる。したがって、入力ミスの発生による被写体の計測精度の低下を低減することができる。また、ユーザが設計角度を簡便に入力することができる。
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。