説明

画像処理方法、プログラム、および画像処理装置

【課題】計測時の手間を低減する。
【解決手段】CPU34cは、ブレードを撮像した動画像を構成する第1のブレード画像からテンプレート画像を抽出する。CPU34cは、第1のブレード画像とテンプレート画像とを比較し、第1のブレード画像の中から、テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含む第2のブレード画像を抽出する。CPU34cは、予め算出された3次元形状を有する物体の画像をテンプレート画像に重畳した第1の画像を表示部に表示し、テンプレート画像におけるブレードの姿勢に一致するように、第1の画像における物体の姿勢を制御する。CPU34cは、この物体の画像を第2のブレード画像に重畳した第2の画像を表示部に表示する。CPU34cは、第2の画像における物体上の計測点の3次元座標を算出し、算出した3次元座標に基づいて、物体のサイズを算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジェットエンジン内に周期的に配置されたブレードを撮像した画像を処理する画像処理方法、プログラム、および画像処理装置に関する。
【背景技術】
【0002】
従来、内視鏡等の観察用治具を使用して、ジェットエンジン内のブレードの計測が行われている。特許文献1には、ブレード等の計測に適した技術が記載されている。この特許文献1に記載された技術では、被写体を撮像した被写体画像と、コンピュータグラフィックス(CG)により生成したCG画像とをモニタに表示し、CG画像における物体の状態と被写体画像における被写体の状態とが一致するように、ユーザの指示に基づいてCG画像を変更し、計測を行いたい部分に対してCG画像上で計測を行うことが可能である。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平3−102202号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載された技術では、被写体の見え方が異なる複数の被写体画像を切り替えながら各被写体画像に対して計測を行う場合、被写体画像を切り替えるたびに、CG画像における物体の状態を被写体画像における被写体の状態に一致させる操作が必要となる。このため、ジェットエンジン内に周期的に配置された複数のブレードの計測を行う場合、上記の操作が頻繁に発生し、手間がかかるという問題がある。
【0005】
本発明は、上述した課題に鑑みてなされたものであって、計測時の手間を低減することができる画像処理方法、プログラム、および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するためになされたもので、ジェットエンジン内に周期的に配置されたブレードを撮像した動画像を構成する第1のブレード画像からテンプレート画像を抽出する第1のステップと、前記第1のブレード画像と前記テンプレート画像とを比較し、比較結果に基づいて、前記第1のブレード画像の中から、前記テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含む第2のブレード画像を抽出する第2のステップと、予め算出された3次元形状を有する物体の画像を前記テンプレート画像に重畳した第1の画像を表示部に表示し、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御する第3のステップと、前記第3のステップで姿勢が制御された前記物体の画像を前記第2のブレード画像に重畳した第2の画像を前記表示部に表示する第4のステップと、入力装置を介して入力される指示に基づいて指定される、前記第2の画像における前記物体上の計測点の3次元座標を算出し、算出した3次元座標に基づいて、前記物体のサイズを算出する第5のステップと、を備えたことを特徴とする画像処理方法である。
【0007】
また、本発明の画像処理方法において、前記第3のステップでは、入力装置を介して入力される指示に基づいて、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御することを特徴とする。
【0008】
また、本発明の画像処理方法において、前記第3のステップでは、前記3次元形状の情報に基づいて、前記テンプレート画像におけるブレードの姿勢に一致する前記物体の姿勢を算出し、算出した姿勢となるように、前記第1の画像における前記物体の姿勢を制御することを特徴とする。
【0009】
また、本発明の画像処理方法において、前記第3のステップでは、入力装置を介して入力される指示に基づいて、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御した後、前記3次元形状の情報に基づいて、前記テンプレート画像におけるブレードの姿勢に一致する前記物体の姿勢を算出し、算出した姿勢となるように、前記第1の画像における前記物体の姿勢を制御することを特徴とする。
【0010】
また、本発明の画像処理方法において、前記第4のステップでは、前記第3のステップで姿勢が制御された前記物体の姿勢と同一姿勢の前記物体を前記第2のブレード画像に重畳することを特徴とする。
【0011】
また、本発明の画像処理方法は、前記第2のブレード画像を切り替えながら、前記第4のステップと前記第5のステップを繰り返すことを特徴とする。
【0012】
また、本発明の画像処理方法において、前記第5のステップではさらに、前記物体上に前記計測点を表示することを特徴とする。
【0013】
また、本発明の画像処理方法において、前記第5のステップではさらに、前記物体のサイズを表示することを特徴とする。
【0014】
また、本発明の画像処理方法において、前記テンプレート画像が、良品のブレードを撮像した画像であることを特徴とする。
【0015】
また、本発明は、ジェットエンジン内に周期的に配置されたブレードを撮像した動画像を構成する第1のブレード画像からテンプレート画像を抽出する第1のステップと、前記第1のブレード画像と前記テンプレート画像とを比較し、比較結果に基づいて、前記第1のブレード画像の中から、前記テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含む第2のブレード画像を抽出する第2のステップと、予め算出された3次元形状を有する物体の画像を前記テンプレート画像に重畳した第1の画像を表示部に表示し、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御する第3のステップと、前記第3のステップで姿勢が制御された前記物体の画像を前記第2のブレード画像に重畳した第2の画像を前記表示部に表示する第4のステップと、入力装置を介して入力される指示に基づいて指定される、前記第2の画像における前記物体上の計測点の3次元座標を算出し、算出した3次元座標に基づいて、前記物体のサイズを算出する第5のステップと、をコンピュータに実行させるためのプログラムである。
【0016】
また、本発明は、ジェットエンジン内に周期的に配置されたブレードを撮像した動画像を構成する第1のブレード画像からテンプレート画像を抽出するテンプレート画像抽出部と、前記第1のブレード画像と前記テンプレート画像とを比較し、比較結果に基づいて、前記第1のブレード画像の中から、前記テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含む第2のブレード画像を抽出するブレード画像抽出部と、予め算出された3次元形状を有する物体の画像を前記テンプレート画像に重畳した第1の画像を表示した後、前記物体の画像を前記第2のブレード画像に重畳した第2の画像を表示する表示部と、
前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御する制御部と、入力装置を介して入力される指示に基づいて指定される、前記第2の画像における前記物体上の計測点の3次元座標を算出し、算出した3次元座標に基づいて、前記物体のサイズを算出する算出部と、を備えたことを特徴とする画像処理装置である。
【発明の効果】
【0017】
本発明によれば、予め算出された3次元形状を有する物体の画像をテンプレート画像に重畳した第1の画像が表示され、テンプレート画像におけるブレードの姿勢に一致するように物体の姿勢が制御される。第2のブレード画像は、テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含むため、物体の画像を第2のブレード画像に重畳した第2の画像では、物体の姿勢を、第2のブレード画像におけるブレードの姿勢に一致させることが可能となる。したがって、第2のブレード画像を表示して計測を行う際、物体の姿勢を調整する操作が不要になるため、計測時の手間を低減することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施形態によるブレード検査システムの構成を示すブロック図である。
【図2】本発明の一実施形態によるブレード検査システムが備える内視鏡装置の構成を示すブロック図である。
【図3】本発明の一実施形態によるブレード検査システム(変形例)の構成を示すブロック図である。
【図4】本発明の一実施形態によるブレード検査システム(変形例)の構成を示すブロック図である。
【図5】本発明の一実施形態によるブレード検査システム(変形例)が備えるPCの構成を示すブロック図である。
【図6】本発明の一実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図7】本発明の一実施形態におけるブレード記録ソフトの画面を示す参考図である。
【図8】本発明の一実施形態におけるメモリカード内のディレクトリ構造を示す参考図である。
【図9】本発明の一実施形態における保存フォルダリストを示す参考図である。
【図10】本発明の一実施形態における画像ファイルリストを示す参考図である。
【図11】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図12】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図13】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図14】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図15】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図16】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図17】本発明の一実施形態における相関値の経時変化を示すグラフである。
【図18】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図19】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図20】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図21】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図22】本発明の一実施形態におけるブレード記録ソフトによる動作の手順を示すフローチャートである。
【図23】本発明の一実施形態におけるポーズパラメータの設定手順を説明するための参考図である。
【図24】本発明の一実施形態におけるポーズパラメータの設定手順を説明するための参考図である。
【図25】本発明の一実施形態におけるポーズパラメータの設定手順を説明するための参考図である。
【図26】本発明の一実施形態におけるカメラ位置の変更方法を説明するための参考図である。
【図27】本発明の一実施形態におけるポーズパラメータの設定手順を説明するための参考図である。
【図28】本発明の一実施形態におけるカメラ回転角度の変更方法を説明するための参考図である。
【図29】本発明の一実施形態におけるポーズパラメータの設定手順を説明するための参考図である。
【図30】本発明の一実施形態におけるカメラ奥行きの変更方法を説明するための参考図である。
【図31】本発明の一実施形態におけるCAD計測の手順を説明するための参考図である。
【図32】本発明の一実施形態におけるCAD計測の手順を説明するための参考図である。
【図33】本発明の一実施形態におけるCAD計測の手順を説明するための参考図である。
【図34】本発明の一実施形態におけるCAD計測の手順を説明するための参考図である。
【図35】本発明の一実施形態における3次元座標の算出方法を説明するための参考図である。
【図36】本発明の一実施形態における3次元座標の算出方法を説明するための参考図である。
【図37】本発明の一実施形態における3次元座標の算出方法を説明するための参考図である。
【図38】本発明の一実施形態における3次元座標の算出方法を説明するための参考図である。
【発明を実施するための形態】
【0019】
以下、図面を参照し、本発明の実施形態を説明する。図1は、本実施形態によるブレード検査システムの構成を示している。ジェットエンジン1内には、検査対象物である複数のタービンブレード10(もしくはコンプレッサーブレード)が所定の間隔で周期的に配置されている。また、ジェットエンジン1には、タービンブレード10を回転方向Aに所定の速度で回転させるターニングツール2が接続されている。本実施形態では、タービンブレード10の画像を取り込んでいる間は常にタービンブレード10を回転させた状態にしている。
【0020】
本実施形態では、タービンブレード10の画像を取得するため、内視鏡装置3(本発明の画像処理装置に対応)が用いられる。ジェットエンジン1の内部には、内視鏡装置3の内視鏡挿入部20が挿入されており、この内視鏡挿入部20により、回転しているタービンブレード10の映像が取り込まれる。また、内視鏡装置3には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
【0021】
図2は内視鏡装置3の構成を示している。内視鏡装置3は、内視鏡挿入部20、内視鏡装置本体21、モニタ22、およびリモコン(リモートコントローラ)23から構成されている。内視鏡挿入部20の先端には、撮像光学系30aおよび撮像素子30bが内蔵されている。また、内視鏡装置本体21には、画像信号処理装置(CCU)31、光源32、湾曲制御ユニット33、および制御用コンピュータ34が内蔵されている。
【0022】
内視鏡挿入部20において、撮像光学系30aは被写体からの光を集光し、撮像素子30bの撮像面上に被写体像を結像する。撮像素子30bは、被写体像を光電変換して撮像信号を生成する。撮像素子30bから出力された撮像信号は画像信号処理装置31に入力される。
【0023】
内視鏡装置本体21において、画像信号処理装置31は、撮像素子30bからの撮像信号をNTSC信号等の映像信号に変換して制御用コンピュータ34に供給し、さらに必要に応じてアナログビデオ出力として、外部に出力する。
【0024】
光源32は、光ファイバ等を通じて内視鏡挿入部20の先端に接続されており、光を外部に照射することができる。湾曲制御ユニット33は内視鏡挿入部20の先端と接続されており、先端を上下左右に湾曲させることができる。光源32および湾曲制御ユニット33の制御は、制御用コンピュータ34によって行われる。
【0025】
制御用コンピュータ34は、RAM34a、ROM34b、CPU34c、外部インターフェースとしてネットワークI/F34d、RS232C I/F34e、カード I/F34fから構成されている。RAM34aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。ROM34bには、内視鏡装置3を制御するための一連のソフトウェア(プログラム)が記憶されており、後述するブレード記録ソフトもROM34b内に記憶される。CPU34cは、ROM34bに記憶されているソフトウェアの命令コードに従って、RAM34aに記憶されたデータを用いて各種制御のための演算等を実行する。
【0026】
ネットワークI/F34dは、外部PCとLANケーブルによって接続するためのインターフェースであり、外部PCに対して、画像信号処理装置31から出力された映像情報を展開することができる。RS232C I/F34eは、リモコン23と接続するためのインターフェースであり、このリモコン23をユーザが操作することによって、内視鏡装置3の各種動作を制御することができる。カード I/F34fは、記録媒体である各種メモリカード50を自由に着脱できるようになっている。メモリカード50を装着することにより、CPU34cの制御によって、メモリカード50に記憶されている画像情報等のデータを取り込み、あるいは画像情報等のデータをメモリカード50に記録することができる。
【0027】
本実施形態によるブレード検査システムの構成の変形例として、図3に示す構成を用いてもよい。本変形例では、内視鏡装置3にビデオ端子ケーブル4およびビデオキャプチャカード5が接続されており、これによって、内視鏡装置3が取り込んだ映像をPC6(本発明の画像処理装置に対応)にも取り込ませることが可能となっている。PC6は、図3ではノート型PCとして描かれているが、デスクトップ型のPC等でもよい。PC6には、タービンブレード10を所望の角度で撮像した画像を記録するためのブレード記録ソフトが記憶されている。
【0028】
さらに、図3では、PC6への映像の取り込みにビデオ端子ケーブル4およびビデオキャプチャカード5を用いているが、図4に示すようにLANケーブル7を用いてもよい。内視鏡装置3は、取り込まれた映像をLANネットワーク上に展開することのできるネットワークI/F34dを備えている。そして、LANケーブル7を通じて、PC6に映像を取りませることができる。
【0029】
図5はPC6の構成を示している。PC6はPC本体24およびモニタ25から構成されている。PC本体24には、制御用コンピュータ35が内蔵されている。制御用コンピュータ35は、RAM35a、HDD(ハードディスクドライブ)35b、CPU35c、外部インターフェースとして、ネットワークI/F35d、USB I/F35eから構成されている。制御用コンピュータ35はモニタ25に接続されており、映像情報およびソフトウェアの画面等がモニタ25に表示される。
【0030】
RAM35aは、ソフトウェア動作に必要な画像情報等のデータを一時記憶するために使用される。HDD35bには、内視鏡装置を制御するために一連のソフトウェアが記憶されており、ブレード記録ソフトもHDD35b内に記憶される。また、本実施形態では、タービンブレード10の画像を保存する保存用フォルダはHDD35b内に設定される。CPU35cは、HDD35bに記憶されているソフトウェアの命令コードに従って、RAM35aに記憶されたデータを用いて各種制御のための演算等を実行する。
【0031】
ネットワークI/F35dは、内視鏡装置3とPC6をLANケーブル7によって接続するためのインターフェースであり、内視鏡装置3からLAN出力された映像情報をPC6に入力することができる。USB I/F35eは、内視鏡装置3とPC6をビデオキャプチャカード5によって接続するためのインターフェースであり、内視鏡装置3からアナログビデオ出力された映像情報をPC6に入力することができる。
【0032】
図3および図4に示すブレード検査システムでは、図1に示すブレード検査システムと同様の効果を得ることができる。特に、内視鏡装置の性能がPCよりも劣っており、内視鏡装置の動作速度等が十分でない場合等に、図3および図4に示すブレード検査システムは有効である。
【0033】
次に、ブレード記録ソフトの画面を説明する。図6は、ブレード記録ソフトのメインウィンドウを示している。図6に示すメインウィンドウ600は、ユーザがブレード記録ソフトを起動した際に表示される。
【0034】
メインウィンドウ600の表示は、CPU34cによる制御に従って行われる。CPU34cは、メインウィンドウ600を表示するためのグラフィック画像信号(表示信号)を生成し、モニタ22へ出力する。また、内視鏡装置3に取り込まれた映像(以下、内視鏡映像と記載)をメインウィンドウ600上に重畳表示する場合には、CPU34cは、画像信号処理装置31から取り込んだ画像データをグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
【0035】
また、メインウィンドウ600上のGUIの表示状態を更新する場合、CPU34cは、更新後のメインウィンドウ600に対応したグラフィック画像信号を生成し、上記と同様の処理を行う。メインウィンドウ600以外のウィンドウの表示に係る処理も上記と同様である。以下、メインウィンドウ600等を表示(更新も含む)するためにCPU34cがグラフィック画像信号を生成する処理のことを、メインウィンドウ600等を表示するための処理と記載する。
【0036】
ユーザは、GUI(グラフィカルユーザインタフェース)機能を利用して、リモコン23を介してメインウィンドウ600を操作することにより、内視鏡映像の閲覧および画像ファイルの保存を行うことができる。以下、各種GUIの機能を説明する。
【0037】
メインウィンドウ600の上部には、[プレビュー画像]ボックス601、[テンプレート画像]ボックス602、[レコード画像]ボックス603が配置されている。
【0038】
[プレビュー画像]ボックス601は、内視鏡映像を表示するためのボックスである。ターニングツール2によってタービンブレード10が回転している状態のとき、後述する[プレビュー開始]ボタン610が押下されると、内視鏡映像(タービンブレード10が回転している映像)がリアルタイムに表示される。このように、[プレビュー画像]ボックス601により、ユーザは内視鏡映像を閲覧することができる。以下、[プレビュー画像]ボックス601に内視鏡映像が表示されることを、プレビューと記載する。
【0039】
[テンプレート画像]ボックス602は、テンプレート画像を表示するためのボックスである。後述する[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。テンプレート画像とは、後述するレコード画像を表示する際に基準となる画像のことである。
【0040】
[レコード画像]ボックス603は、後述するレコード画像を表示するためのボックスである。後述する[レコード開始]ボタン613が押下された後、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い画像(以下、レコード画像と記載)が順次表示される。[レコード画像]ボックス603に表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
【0041】
ここで保存される画像ファイルを、以下、レコード画像ファイルと記載する。また、レコード画像ファイルをメモリカード50内の保存フォルダに順次保存することを、以下、レコードと記載する。保存フォルダの詳細については、後述する。
【0042】
[プレビュー開始]ボタン610は、[プレビュー画像]ボックス601への内視鏡映像の表示を開始するためのボタンである。[プレビュー停止]ボタン611は、[プレビュー画像]ボックス601への内視鏡映像の表示を停止するためのボタンである。
【0043】
[テンプレート登録]ボタン612は、所望の画像をテンプレート画像として登録するためのボタンである。[テンプレート登録]ボタン612が押下されると、内視鏡映像を構成する各フレームの画像のうち、そのタイミングで取りこまれた1フレーム分の画像が、[テンプレート画像]ボックス602にテンプレート画像として表示される。さらに、その1フレーム分の画像が、テンプレート画像としてRAM34aに記録される。
【0044】
[レコード開始]ボタン613は、レコードを開始するためのボタンである。[レコード開始]ボタン613が押下されると、後述する[レコード数]ボックス620の値が0にリセットされる。そして、内視鏡映像とテンプレート画像との比較が毎フレームで行われ、内視鏡映像を構成する各フレームの画像のうち、テンプレート画像との相関の高い1フレーム分のレコード画像が[レコード画像]ボックス603に順次表示される。さらに、表示されたレコード画像は、画像ファイルとしてメモリカード50内の保存フォルダに順次保存される。
【0045】
より具体的には、内視鏡映像内のタービンブレード10の位置や角度が、テンプレート画像内のタービンブレード10の位置や角度と同じになったとき(簡略化して言い換えると、内視鏡映像内のタービンブレード10と、テンプレート画像内のタービンブレード10との見え方すなわち姿勢が同じになったとき)の1フレーム分の画像が表示および保存されることになる。
【0046】
[レコード停止]ボタン614は、レコードを停止するためのボタンである。[画像閲覧]ボタン615は、メモリカード50内の保存フォルダに保存された画像ファイルを閲覧するためのボタンである。[レコード停止]ボタン614が押下されると、後述する[画像閲覧]ウィンドウが表示される。[画像閲覧]ウィンドウが表示されている間は、メインウィンドウ600は、ユーザによる操作が無効の状態となる。
【0047】
[レコード数]ボックス620には、レコード画像ファイルの現在の保存枚数(以下、レコード数と記載)を表示するためのボックスである。但し、テンプレート画像の画像ファイルはカウントされない。また、前述したように、[レコード開始]ボタン613が押下されると、[レコード数]ボックス620の値が0にリセットされる。
【0048】
[最大レコード]数ボックス621には、レコード画像ファイルの最大枚数(以下、最大レコード数と記載)を表示するためのボックスである。レコード中に、レコード数が最大レコード数と同じ値になった場合、レコードが自動的に終了する。[最大レコード]数ボックス621には、任意の最大レコード数を入力することが可能である。例えば、[最大レコード]数ボックス621にタービンブレード10の1周分のブレード枚数を入力しておくことにより、タービンブレード10の画像ファイルを必要な枚数だけ保存することができる。
【0049】
[終了]ボタン630は、ブレード記録ソフトを終了するためのボタンである。[終了]ボタン630が押下されると、メインウィンドウ600が非表示となり、ブレード記録ソフトの動作が終了する。
【0050】
図7は、ブレード記録ソフトの[画像閲覧]ウィンドウを示している。図7に示す[画像閲覧]ウィンドウ700は、前述したように、メインウィンドウ600の[画像閲覧]ボタン615が押下された際に、表示される。
【0051】
ユーザは、GUI機能を利用して、リモコン23を介して[画像閲覧]ウィンドウ700を操作することにより、レコード画像ファイルの閲覧を行うことができる。また、ユーザは、GUI機能を利用して、リモコン23を介して[画像閲覧]ウィンドウ700を操作することにより、CAD(Computer Aided Design)を利用して予め算出されたタービンブレード10の3次元形状を表すCADデータと、テンプレート画像とのCADマッチングを行うことができる。このCADマッチングは、CADデータを利用したタービンブレード10の計測(以下、CAD計測と記載)のための準備処理である。本実施形態のCAD計測では、ステレオ計測とは異なり、同一の被写体を、左右の光学系のそれぞれを通して撮影する必要がないので、複雑なハードウェアを必要としない。以下、各種GUIの機能を説明する。
【0052】
[閲覧画像]ボックス701は、レコード画像ファイルを表示するためのボックスである。後述する[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[閲覧画像]ボックス701に表示されるレコード画像ファイルが切り替わる。[閲覧画像]ボックス701により、ユーザはレコード画像ファイルを閲覧することができる。以下、[閲覧画像]ボックス701に表示されているレコード画像を閲覧画像と記載し、その画像ファイルを閲覧画像ファイルと記載する。
【0053】
[<< 前]ボタン710は、閲覧画像を切り替えるためのボタンである。[<< 前]ボタン710が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNo(画像ファイルナンバー)より1つ小さな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
【0054】
[次 >>]ボタン711も、閲覧画像を切り替えるためのボタンである。[次 >>]ボタン711が押下されると、後述する画像ファイルリストの中で、[閲覧画像]ボックス701に表示されている画像ファイルの画像ファイルNoより1つ大きな画像ファイルNoをもつ画像ファイルが表示される。それに伴い、後述する[画像ファイル名]ボックス720に表示されている画像ファイル名も切り替わる。
【0055】
[画像ファイル名]ボックス720は、閲覧画像ファイルのファイル名を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[画像ファイル名]ボックス720の画像ファイル名の表示が切り替わる。
【0056】
[画像ファイル数]ボックス721は、後述する画像ファイルリストの中の画像ファイル数を表示するためのボックスである。[日時選択]ボックス724の選択が変更されると、[画像ファイル数]ボックス721の画像ファイル数の表示が切り替わる。
【0057】
[保存日時]ボックス722は、閲覧画像ファイルの保存日時を表示するためのボックスである。[<< 前]ボタン710または[次 >>]ボタン711が押下される、もしくは[日時選択]ボックス724の選択が変更されると、[保存日時]ボックス722の画像ファイルの保存日時の表示が切り替わる。
【0058】
[日時選択]ボックス724は、閲覧画像を切り替えるためのボックスである。後述する保存フォルダリストのレコード開始日時が[日時選択]ボックス724にリスト形式で表示される。[日時選択]ボックス724のレコード開始日時の選択が変更されると、選択されたレコード開始日時をもつ保存フォルダに保存されたレコード画像ファイルが[閲覧画像]ボックス701に表示される。それに伴い、[画像ファイル名]ボックス720の画像ファイル名、および[画像ファイル数]ボックス721の画像ファイル数の表示も切り替わる。
【0059】
[CADマッチング]ボックス730は、CADデータに基づくCADオブジェクトとテンプレート画像とを表示し、かつそれらのCADマッチングを行うためのボックスである。CADオブジェクトは、CADデータファイルの内容をもとに構築されたCG物体である。[CADマッチング]ボックス730の詳細については、後述する。
【0060】
[パラメータ設定]ボックス740は、CADオブジェクトの姿勢(ポーズ)、すなわちCADオブジェクトをどの方向、どの位置から見ているかを設定するパラメータ(以下、ポーズパラメータと記載)を入力および表示するためのボックスである。[パラメータ設定]ボックス740内には、[オブジェクト位置]カーソルボタン、[カメラ位置]カーソルボタン、[カメラ回転]カーソルボタン、[カメラ奥行き]カーソルボタンが配置されている。ユーザは、[パラメータ設定]ボックス740内の各種カーソルボタンを操作することで、ポーズパラメータを設定することができる。[パラメータ設定]ボックス740の詳細については、後述する。
【0061】
[CADマッチング]ボタン750は、CADマッチングを実行するためのボタンである。[CADマッチング]ボタン750が押下されると、[パラメータ設定]ボックス740において設定されたポーズパラメータに基づいて、テンプレート画像とCADオブジェクトとのCADマッチングが実行され、テンプレート画像におけるタービンブレード10の姿勢と一致するCADオブジェクトの姿勢が算出される。
【0062】
[CADデータ選択]ボタン751は、CADマッチングに使用するCADデータファイルを選択するためのボタンである。CADデータファイルは、メモリカード50に記憶されている。[CADデータ選択]ボタン751が押下された際の処理の詳細については、記載しない。
【0063】
本実施形態で使用するCADデータファイルの形式には、STL(Stereo Triangulation Language)形式等を用いる。これらの形式のCADデータファイルでは、CADオブジェクトが複数の三角形の空間平面によって表現されており、それらの三角形を構成する空間座標データがファイルに記録されている。
【0064】
[CAD計測]チェックボックス760は、CAD計測を行うためのチェックボックスである。[CAD計測]チェックボックス760にチェックが入ると、[閲覧画像]ボックス701においてCAD計測を行うことができる。[CAD計測]チェックボックスの詳細については、後述する。
【0065】
[閉じる]ボタン770は、画像の閲覧を終了するためのボタンである。[閉じる]ボタン770が押下されると、[画像閲覧]ウィンドウ700が非表示となり、メインウィンドウ600が操作される状態に戻る。
【0066】
次に、図8〜図10を用いて、メモリカード50内の画像ファイルに関するディレクトリ構造を説明する。図8に示すように、メモリカード50の直下のディレクトリは複数の保存フォルダ800から構成されている。保存フォルダ800は、レコード画像ファイルが保存されるフォルダである。レコード開始日時が保存フォルダ800のフォルダ名となる。例えば、レコード開始日時が「2007/12/26 21:32:21」の場合、フォルダ名は「20071226_213221」となる。
【0067】
各保存フォルダの直下のディレクトリは複数のレコード画像ファイル810から構成されている。レコード画像ファイル名は、レコード画像ファイルが保存された順にそれぞれ「001.jpg」、「002.jpg」、「003.jpg」・・・となる。但し、テンプレート画像ファイルのファイル名は「Temp.jpg」となる。
【0068】
また、後述する画像閲覧処理の際には、保存フォルダリストおよび画像ファイルリストが作成される。
【0069】
保存フォルダリストとは、保存フォルダの一覧表である。図9に示すように、保存フォルダリストは、保存フォルダNo(保存フォルダナンバー)、レコード開始日時、およびフォルダ名から構成されている。保存フォルダNoには、保存フォルダが作成された順に、1、2、3・・・の番号が割り当てられる。
【0070】
画像ファイルリストとは、各保存フォルダに保存されたレコード画像ファイルの一覧表である。図10に示すように、画像ファイルリストは、画像ファイルNo、ファイル保存日時、およびファイル名から構成されている。画像ファイルNoには、ファイルが保存された順に、1、2、3・・・の番号が割り当てられる。但し、テンプレート画像のみ、最後の画像ファイルNoが割り当てられる。
【0071】
次に、図11を用いて、ブレード記録ソフトの動作の流れを説明する。ステップSAでは、ユーザがブレード記録ソフトを起動する。このとき、リモコン23に入力されたブレード記録ソフトの起動指示に基づいて、CPU34cは、ROM34bに格納されているブレード記録ソフトをRAM34aに読み込み、ブレード記録ソフトに従った動作を開始する。ステップSBでは、CPU34cが、メインウィンドウを表示するための処理を行う。
【0072】
ステップSCでは、CPU34cが初期化処理を行う。初期化処理とは、メインウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細については、後述する。ステップSDでは、CPU34cがプレビュー処理を行う。プレビュー処理とは、プレビューの開始および停止を行う処理のことである。プレビュー処理の詳細については、後述する。
【0073】
ステップSEでは、CPU34cがテンプレート登録処理を行う。テンプレート登録処理とは、[テンプレート画像]ボックスにテンプレート画像を表示し、さらにテンプレート画像をRAM34aに記録する処理のことである。テンプレート登録処理の詳細については、後述する。ステップSFでは、CPU34cがレコード処理を行う。レコード処理とは、レコードの開始および停止を行う処理のことである。レコード処理の詳細については、後述する。
【0074】
ステップSGでは、CPU34cが画像閲覧処理を行う。画像閲覧処理とは、ユーザがレコード画像ファイルを閲覧するために行う処理のことである。画像閲覧処理の詳細については、後述する。ステップSHでは、ユーザによる[終了]ボタンの押下の有無に応じて処理が分岐する。ユーザが[終了]ボタンを押下した場合、処理はステップSIに移行する。また、ユーザが[終了]ボタンを押下しなかった場合、処理はステップSDに移行する。ステップSIでは、CPU34cがメインウィンドウを非表示とし、ブレード記録ソフトの動作を終了する。
【0075】
次に、図12を用いて、初期化処理(ステップSC)の流れを説明する。ステップSC1では、CPU34cが、[プレビュー停止]ボタン、[テンプレート登録]ボタン、[レコード開始]ボタン、[レコード停止]ボタンの全てを、ユーザによる操作が無効の状態とする。以下、ボタン等のGUIが、ユーザによる操作無効の状態(例えば、グレー状態)であることを、単に無効と記載し、ユーザによる操作有効の状態であることを、単に有効と記載する。
【0076】
ステップSC2では、CPU34cが、レコード数Rを0、最大レコード数RmをRiとして、RAM34aに記録する。Riは最大レコード数Rmの初期値であり、Riとして所定の値がRAM34aに記録されている。ステップSC3では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSC4では、CPU34cが、[最大レコード数]ボックスに最大レコード数Rmを表示するための処理を行う。
【0077】
ステップSC5では、CPU34cが、プレビューフラグ、レコードフラグ、保存フラグを、全てOFFとして、RAM34aに記録する。プレビューフラグとは、現在の状態がプレビュー状態かどうかを示すフラグである。レコードフラグとは、現在の状態がレコード中かどうかを示すフラグである。保存フラグとは、レコード中に、後述するバッファ画像をレコード画像ファイルとして保存するかどうかを示すフラグである。以下、ブレード記録ソフトの動作中に使用される全てのフラグはONもしくはOFFの値を取る。ステップSC5の処理が終了すると、処理はステップSDに移行する。
【0078】
次に、図13を用いて、ステップSDのプレビュー処理の流れを説明する。ステップSD1では、CPU34cが、 [プレビュー開始]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー開始]ボタンが押下された場合、処理はステップSD2に移行し、[プレビュー開始]ボタンが押下されていない場合、処理はステップSD4に移行する。
【0079】
ステップSD2では、CPU34cが、[プレビュー開始]ボタンを無効、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効とする。ステップSD3では、CPU34cが、プレビューフラグをONとして、RAM34aに記録する。
【0080】
ステップSD4では、CPU34cが、RAM34aに記録されたプレビューフラグがONかどうかを確認する。プレビューフラグがONの場合、処理はステップSD5に移行し、OFFの場合、処理はステップSD8に移行する。
【0081】
ステップSD5では、CPU34cが、画像信号処理装置31から1フレーム分の画像(画像信号)をフレーム画像として取り込む。なお、ステップSD5よりも前の時点で、撮像素子30bは1フレーム分の撮像信号を生成し、画像信号処理装置31はその撮像信号を映像信号に変換し、1フレーム分の画像を生成している。
【0082】
ステップSD6では、CPU34cが、ステップSD5で取り込んだフレーム画像をRAM34aに記録する。RAM34aに記録されたフレーム画像は、CPU34cがフレーム画像を取り込む度に上書きされる。ステップSD7では、CPU34cが、ステップSD5で取り込んだフレーム画像を[プレビュー画像]ボックスに表示するための処理を行う。
【0083】
ステップSD8では、CPU34cが、[プレビュー停止]ボタンがユーザにより押下されたかどうかを確認する。[プレビュー停止]ボタンが押下された場合、処理はステップSD9に移行し、[プレビュー停止]ボタンが押下されていない場合、処理はステップSE1に移行する。
【0084】
ステップSD9では、CPU34cが、[プレビュー開始]ボタンを有効、[プレビュー停止]ボタンを無効、[テンプレート登録]ボタンを無効とする。ステップSD10では、CPU34cが、プレビューフラグをOFFとして、RAM34aに記録する。ステップSD10の処理が終了すると、処理はステップSEに移行する。
【0085】
次に、図14を用いて、ステップSEのテンプレート登録処理の流れを説明する。ステップSE1では、CPU34cが、 [テンプレート登録]ボタンがユーザにより押下されたかどうかを確認する。[テンプレート登録]ボタンが押下された場合、処理はステップSE2に移行し、[テンプレート登録]ボタンが押下されていない場合、処理はステップSFに移行する。
【0086】
ステップSE2では、CPU34cが、RAM34aに記録されたフレーム画像を、テンプレート画像として、RAM34aに記録する。RAM34aに記録されたテンプレート画像は、[テンプレート登録]ボタンが押下される度に上書きされる。ステップSE3では、CPU34cが、RAM34aに記録されたフレーム画像を[テンプレート画像]ボックスに表示するための処理を行う。具体的には、CPU34cは、RAM34aに記録されたフレーム画像をグラフィック画像信号に重畳する処理を行い、処理後の信号(表示信号)をモニタ22へ出力する。
【0087】
上記より、ステップSE2〜SE3の処理は、[テンプレート登録]ボタンが押下されたタイミングで取りこまれたフレーム画像を、テンプレート画像として登録する処理であることがわかる。ステップSE4では、CPU34cが[レコード開始]ボタンを有効とする。ステップSE4の処理が終了すると、処理はステップSFに移行する。
【0088】
次に、図15を用いて、ステップSFのレコード処理の流れを説明する。ステップSF1では、CPU34cが、[レコード開始]ボタンがユーザにより押下されたかどうかを確認する。[レコード開始]ボタンが押下された場合、処理はステップSF2に移行し、[レコード開始]ボタンが押下されていない場合、処理はステップSF9に移行する。
【0089】
ステップSF2では、CPU34cが、[プレビュー停止]ボタンを無効、[テンプレート登録]ボタンを無効、[レコード開始]ボタンを無効、[レコード停止]ボタンを有効、[画像閲覧]ボタンを無効、[最大レコード数]ボックスを無効とする。ステップSF3では、CPU34cが、レコード数R、相関値C、最大相関値Cm、相関値バッファCb、相関値ステータスScを全て0として(R=0、C=0、Cm=0、Cb=0、Sc=0)、RAM34aに記録する。相関値C、最大相関値Cm、相関値バッファCb、相関値ステータスCdの詳細については、後述する。
【0090】
ステップSF4では、CPU34cが、[レコード数]ボックスにレコード数R(=0)を表示するための処理を行う。ステップSF5では、CPU34cが、[最大レコード数]ボックスに入力されている最大レコード数Rmを取得し、RAM34aに記録する。ステップSF6では、CPU34cがメモリカード50内に保存フォルダを作成する。このとき、[レコード開始]ボタンがユーザにより押下された日時が、そのまま保存フォルダのフォルダ名となる。
【0091】
ステップSF7では、CPU34cが、図14のステップSE2でRAM34aに記録されたテンプレート画像を画像ファイルとして(以下、テンプレート画像ファイルと記載)、メモリカード50内の保存フォルダに保存する。このとき、テンプレート画像ファイル名は、「Temp.jpg」となる。ステップSF8では、CPU34cが、レコードフラグをONとして、RAM34aに記録する。
【0092】
ステップSF9では、CPU34cが、RAM34aに記録されたレコードフラグがONかどうかを確認する。レコードフラグがONの場合、処理はステップSF10に移行し、レコードフラグがOFFの場合、処理はステップSF18に移行する。
【0093】
ステップSF10では、CPU34cが、テンプレート画像とフレーム画像との相関値を算出し、相関値に基づいて、レコード画像を保存するタイミングを決定する相関処理を実行する。相関処理の詳細については、後述する。ステップSF11では、CPU34cが、RAM34aに記録された保存フラグがONかどうかを確認する。保存フラグがONの場合、処理はステップSF12に移行し、保存フラグがOFFの場合、処理はステップSF18に移行する。
【0094】
ステップSF12では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を[レコード画像]ボックスに表示するための処理を行う。ステップSF13では、CPU34cが、レコード数Rを1つインクリメント(R+1をRに代入)して、RAM34aに記録する。ステップSF14では、CPU34cが、[レコード画像]ボックスにレコード数Rを表示するための処理を行う。
【0095】
ステップSF15では、CPU34cが、ステップSF10の相関処理中にRAM34aに記録されたレコード画像を、画像ファイルとして、保存フォルダに保存する。ステップSF16では、CPU34cが、保存フラグをOFFとして、RAM34aに記録する。ステップSF17では、CPU34cが、レコード数Rが最大レコード数Rm以上(R≧Rm)であるかどうかを確認する。レコード数Rが最大レコード数Rm以上の場合、処理はステップSF19に移行し、最大レコード数Rm未満の場合、処理はステップSF18に移行する。
【0096】
ステップSF18では、CPU34cが、[レコード停止]ボタンがユーザにより押下されたかどうかを確認する。[レコード停止]ボタンが押下された場合、処理はステップSF19に移行し、[レコード停止]ボタンが押下されていない場合、処理はステップSGに移行する。
【0097】
ステップSF19では、CPU34cが、[プレビュー停止]ボタンを有効、[テンプレート登録]ボタンを有効、[レコード開始]ボタンを有効、[レコード停止]ボタンを無効、[画像閲覧]ボタンを有効、[最大レコード数]ボックスを有効とする。ステップSF20では、CPU34cが、レコードフラグをOFFとして、RAM34aに記録する。ステップSF20の処理が終了すると、処理はステップSGに移行する。
【0098】
次に、図16を用いて、ステップSF10の相関処理の流れを説明する。図16に示す相関処理と実際の相関値の変化との対応関係については、図17を用いて後述する。ステップSF100では、CPU34cが、RAM34aに記録されているテンプレート画像およびフレーム画像の各画素の輝度値(明度値)を取得する。ここで、例えばRGBの各成分の輝度で表された画素の輝度値は、以下の(1)式を用いて算出される。
Y=0.299×R+0.587 ×G+0.114×B ・・・(1)
【0099】
ステップSF101では、CPU34cが、RAM34aに記録されているテンプレート画像とフレーム画像との相関値Cを算出する。以下、相関値Cの詳細を説明する。ある2枚の画像の画素位置(x,y)の輝度値をそれぞれf1(x,y)、f2(x,y)とすると、2枚の画像の平均輝度値はそれぞれ(2)式、(3)式で表される。但し、X,Yはそれぞれx,y方向の画素数であり、Sizeは全画素数(Size=X×Y)である。
【0100】
【数1】

【0101】
【数2】

【0102】
さらに、2枚の画像の標準偏差はそれぞれ(4)式、(5)式で表される。
【0103】
【数3】

【0104】
【数4】

【0105】
さらに、2枚の画像の共分散は(6)式で表される。
【0106】
【数5】

【0107】
そして、2枚の画像の相関値Cは(7)式で表される。この相関値Cは、2枚の画像が類似しているかどうかを表す尺度となる。一般的に、類似していれば相関値は1に近い値となり、類似していなければ0に近づく傾向にある。
【0108】
【数6】

【0109】
画像サイズを間引いた上で相関値を求める場合は、上記の各式において、x,yに関する総和を計算する際にx,yの増加ステップ数を変更し、さらに全画素数Sizeを変更すればよい。例えば、画像サイズを1/4に間引いた上で相関値を求める場合、x,yの増加ステップ数を4とし、全画素数SizeをSize=(X×Y)/(4×4)とすればよい。相関処理の速度を向上させたい場合は、間引き処理を用いると、計算量が少なくて済むので有効である。
【0110】
ステップSF102では、CPU34cが、相関値ステータスScが0(Sc=0)であるかどうかを確認する。相関値ステータスScは、相関値Cのステータスのことである。相関値ステータスScは0〜2の値をとる。相関値ステータスScが0の場合は初期状態であり、1の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけるまでの状態であり、2の場合はCPU34cがレコード画像として保存すべきフレーム画像をみつけた状態である。相関値ステータスScが0の場合、処理はステップSF103に移行し、相関値ステータスScが0でない場合、処理はステップSF105に移行する。
【0111】
ステップSF103では、CPU34cが、相関値Cが相関値閾値Ctより大きく(C>Ct)、かつ相関値バッファCbが相関値閾値Ct以下(Cb≦Ct)であるかどうかを確認する。相関値閾値Ctとは、相関値Cの閾値であり、相関値閾値Ctとして所定の値がRAM34aに記録されている。相関値Cが相関値閾値Ctと比べてどのような値をとるかによって、相関値ステータスScが変化する。相関値閾値Ctにどのような値が設定されるかについては、後述する。相関値バッファCbは、CPU34cが1つ前に算出した相関値Cを保持しておくためにRAM34aに設けられたバッファ内の値である。ステップSF103でC>CtかつCb≦Ctの場合、処理はステップSF104に移行し、C≦CtまたはCb>Ctの場合、処理はステップSF105に移行する。
【0112】
ステップSF104では、CPU34cが、相関値ステータスScを1(Sc=1)として、RAM34aに記録する。ステップSF105では、CPU34cが、相関値ステータスScが1(Sc=1)であるかどうかを確認する。相関値ステータスScが1の場合、処理はステップSF106に移行し、相関値ステータスScが1でない場合、処理はステップSF110に移行する。
【0113】
ステップSF106では、CPU34cが、相関値Cが最大相関値Cmより大きいかどうか(C>Cm)を確認する。最大相関値Cmとは、相関値Cの最大値を保持しておくためのバッファの値である。C>Cmの場合、処理はステップSF107に移行し、C≦Cmの場合、処理はステップSF108に移行する。
【0114】
ステップSF107では、CPU34cが、最大相関値Cmを相関値C(Cm=C)として、RAM34aに記録する。ステップSF109では、CPU34cが、フレーム画像をバッファ画像としてRAM34aに記録する。RAM34aに記録されたバッファ画像は、ステップSF109の処理が実行される度に上書きされる。バッファ画像とは、CPU34cが、フレーム画像がレコード画像(テンプレート画像と相関の高い画像)であると確認できるまでフレーム画像を一時的に保持しておくためにRAM34aに設けられたバッファ内の画像のことである。
【0115】
ステップSF108では、CPU34cが、相関値ステータスScを2(Sc=2)として、RAM34aに記録する。ステップSF110では、CPU34cが、相関値ステータスScが2(Sc=2)であるかどうかを確認する。相関値ステータスScが2の場合、処理はステップSF111に移行し、相関値ステータスScが2でない場合、処理はステップSF116に移行する。
【0116】
ステップSF111では、CPU34cが、相関値Cが相関値閾値Ctより小さく(C<Ct)かつ相関値バッファCbが相関値閾値Ct以上(Cb≧Ct)であるかどうかを確認する。C<CtかつCb≧Ctの場合、処理はステップSF112に移行し、C≧CtまたはCb<Ctの場合、処理はステップSF116に移行する。
【0117】
ステップSF112では、CPU34cが、相関値ステータスScを0(Sc=0)として、RAM34aに記録する。ステップSF113では、CPU34cが、最大相関値Cmを0(Cm=0)として、RAM34aに記録する。ステップSF114では、CPU34cが、バッファ画像をレコード画像としてRAM34aに記録する。RAM34aに記録されたレコード画像は、ステップSF114の処理が実行される度に上書きされる。ステップSF115では、CPU34cが、保存フラグをONとして、RAM34aに記録する。
【0118】
ステップSF116では、CPU34cが、相関値バッファCbを相関値C(Cb=C)として、RAM34aに記録する。ステップSF116の処理が終了すると、処理はステップSF11に移行する。
【0119】
図17は、相関値Cの経時変化を示すグラフである。以下、図17を参照しながら、レコード処理および相関処理の詳細を説明する。
【0120】
図17に示すグラフの横軸は時間であり、縦軸はステップSF101でCPU34cが算出する相関値Cである。相関値Cには、周期的に極大値と極小値が現われている。相関値Cが極大値を示す領域は、テンプレート画像とブレード画像との相関値を示している。また、相関値Cが極小値を示す領域は、テンプレート画像とブレードの背景(ジェットエンジンの内壁等)の画像との相関値を示している。相関値閾値Ctは、両者のほぼ中間の値になるように設定され、RAM34aに記録されている。
【0121】
まず、ユーザが[レコード開始]ボタンを押下したタイミング(t=0)から、相関値Cが相関値閾値Ctより大きくなるタイミング(t=t1)までの間、相関値ステータスScは0(Sc=0)である。続いて、t=t1から、相関値Cが極大値を示すタイミング(t=t2)までの間、相関値ステータスScは1(Sc=1)である。この間、最大相関値Cmは相関値Cに順次更新され(Cm=C:ステップSF107)、かつフレーム画像はバッファ画像としてRAM34aに順次記録される(ステップSF109)。
【0122】
続いて、t=t2から、相関値Cが相関値閾値Ctより小さくなるタイミング(t=t3)までの間、相関値ステータスScは2(Sc=2)である。この間、最大相関値Cmは更新されず一定のままであり、かつフレーム画像がバッファ画像としてRAM34aに記録されることはない。
【0123】
続いて、t=t3において、相関値ステータスScは再度0(Sc=0)となり(ステップSF112)、バッファ画像はレコード画像としてRAM34aに記録される(ステップSF114)。このときのバッファ画像は、t=t2において、相関値Cが極大を示すタイミングでのフレーム画像である。これ以降、ユーザが[レコード停止]ボタンを押下するまで、相関値Cが極大を示すタイミング(t=t4,t5,t6,・・・)におけるフレーム画像がレコード画像として順次保存される。
【0124】
本実施形態の変形例として、ジェットエンジン1の個体を識別する手段を設けると共にジェットエンジン1毎のタービンブレード10の最大枚数を内視鏡装置3に記憶させておき、識別されたジェットエンジン1に対応した最大枚数をブレード記録ソフトの動作時に用いてもよい。ジェットエンジン1の個体を識別する手段としては、例えばバーコードやICタグ等をジェットエンジン1に取り付け、バーコードリーダやICタグリーダ等の読み取り器を内視鏡装置3に接続し、読み取り器でバーコードやICタグ等からジェットエンジン1の識別情報を読み取るようにすればよい。
【0125】
上記の処理によれば、以下の効果を得ることができる。上記の処理では、タービンブレードを撮像した複数のフレーム画像の中から、テンプレート画像との画像比較の結果である相関値に基づいて、一部のフレーム画像を選択することによって、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することができる。そのため、タービンブレードの回転と撮像のタイミングを合わせるための特別な制御を必要とせず、簡易な方法でタービンブレードの画像を取得することができる。
【0126】
本実施形態で示した手法により取得したタービンブレードの画像を用いて、タービンブレードの検査を行うことが可能となる。特に、図6のレコード画像ボックス603にレコード画像を表示することによって、タービンブレードの検査をリアルタイムで行うことができる。また、このレコード画像を画像ファイルとして記録媒体に保存することによって、検査を行うことが可能な時間や場所を拡張することができる。さらに、タービンブレードの画像を保存する場合に、内視鏡映像をそのまま動画ファイルとして保存すると、ファイルサイズが大きくなってしまうが、本実施形態のように、内視鏡映像のうち、一部のフレーム画像を静止画像ファイルとして保存することによって、記録媒体の記録容量が圧迫されることを防ぎながら、検査に必要なタービンブレードの画像を保存することができる。
【0127】
また、テンプレート画像を基準にして、フレーム画像内のタービンブレードの位置や角度がテンプレート画像内のタービンブレードの位置や角度と同じになったときのフレーム画像を取得することによって、ユーザにとってタービンブレードの検査を行うのに適した状態で撮像したフレーム画像を取得することができ、検査を効率的に行うことができる。また、フレーム画像の中から選択したテンプレート画像を使用することによって、図17に示した相関値の経時変化がはっきりとするので、所望の状態で撮像したフレーム画像を取得する精度を向上することができる。さらに、フレーム画像の中から選択したテンプレート画像を表示することによって、取得するフレーム画像内のタービンブレードの状態がユーザにとって適した状態となっているか否かをユーザに確認させることができる。
【0128】
次に、図18を用いて、ステップSGの画像閲覧処理の流れを説明する。ステップSG1では、CPU34cが、[画像閲覧]ボタンがユーザにより押下されたかどうかを確認する。[画像閲覧]ボタンが押下された場合、処理はステップSG2に移行し、[画像閲覧]ボタンが押下されていない場合、処理はステップSHに移行する。
【0129】
ステップSG2では、CPU34cが、[画像閲覧]ウィンドウを表示するための処理を行う。前述したように、[画像閲覧]ウィンドウが表示されている間、メインウィンドウはユーザによる操作が無効の状態となる。ステップSG3では、CPU34cが初期化処理を行う。初期化処理とは、[画像閲覧]ウィンドウ内の各種GUIの初期状態を設定したり、RAM34aに記録された各種データの初期値を設定したりする処理のことである。初期化処理の詳細については、後述する。
【0130】
ステップSG8では、CPU34cがCAD計測処理を行う。CAD計測処理では、CADデータを利用してタービンブレード10の計測が行われる。CAD計測処理の詳細については、後述する。
【0131】
ステップSG4では、CPU34cが日時選択処理行う。日時選択処理とは、ユーザが[日時選択]ボックスのレコード開始日時の選択を変更することをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。日時選択処理の詳細については、後述する。
【0132】
ステップSG5では、CPU34cが画像選択処理を行う。画像選択処理とは、ユーザが[<< 前]ボタン、[次 >>]ボタンを押下することをCPU34cが検出し、[閲覧画像]ボックスに表示される画像を変更する処理のことである。画像選択処理の詳細については、後述する。
【0133】
ステップSG6では、CPU34cが、[閉じる]ボタンがユーザにより押下されたかどうかを確認する。[閉じる]ボタンが押下された場合、処理はステップSG7に移行し、[閉じる]ボタンが押下されていない場合、処理はステップSG8に移行する。ステップSG7では、CPU34cが、[画像閲覧]ウィンドウを非表示とする処理を行う。ステップSG7の処理が終了すると、処理はステップSHに移行する。
【0134】
次に、図19を用いて、ステップSG3の初期化処理の流れを説明する。ステップSG300では、CPU34cが保存フォルダリストを作成する。ステップSG301では、CPU34cが、作成された保存フォルダリストをRAM34aに記録する。RAM34aに記録された保存フォルダリストは、保存フォルダリストが作成される度に、上書きされる。
【0135】
ステップSG302では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイルリストを作成する。ステップSG303では、CPU34cが、作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像フォルダリストは、画像フォルダリストが作成される度に上書きされる。
【0136】
ステップSG304では、CPU34cが、保存フォルダリストにおいて、全てのレコード開始日時を[日時選択]ボックスにリスト表示するための処理を行う。ステップSG305では、CPU34cが、[日時選択]ボックスにリスト形式で表示されたレコード開始日時のうち、保存フォルダリストにおいて、保存フォルダNoが1のレコード開始日時を強調表示するための処理を行う。
【0137】
ステップSG306では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG307では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0138】
ステップSG308では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG309では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG309の処理が終了すると、処理はステップSG4に移行する。
【0139】
なお、詳細は記載しないが、上記の初期化処理において、CPU34cが、その時点でRAM34aに記録されている画像ファイルリストに基づいて、[CADマッチング]ボックスにテンプレート画像を表示するための処理を行い、テンプレート画像が表示されるものとする。
【0140】
次に、図20を用いて、ステップSG4の日時選択処理の流れを説明する。ステップSG400では、CPU34cが、[日時選択]ボックスにおけるレコード開始日時の選択がユーザにより変更されたかどうかを確認する。レコード開始日時の選択が変更された場合、処理はステップSG401に移行し、レコード開始日時の選択が変更されていない場合、処理はステップSG5に移行する。
【0141】
ステップSG401では、CPU34cが、[日時選択]ボックスにおいてユーザが選択したレコード開始日時をもつ保存フォルダの保存フォルダNoを保存フォルダリストから取得する。このとき取得したフォルダナンバーをFとする。ステップSG402では、CPU34cが、保存フォルダリストにおいて、保存フォルダNoがFの保存フォルダ内の画像ファイルリストを作成する。ステップSG403では、CPU34cが、ステップSG402で作成された画像ファイルリストをRAM34aに記録する。RAM34aに記録された画像ファイルリストは、画像ファイルリストが作成される度に上書きされる。
【0142】
ステップSG404では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG405では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0143】
ステップSG406では、CPU34cが、保存フォルダリストにおいて、フォルダNoが1の保存フォルダ内の画像ファイル数を[画像ファイル数]ボックスに表示するための処理を行う。ステップSG407では、CPU34cが、画像ファイルリストにおいて、画像ファイルNoが1の画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG407の処理が終了すると、処理はステップSG5に移行する。
【0144】
なお、詳細は記載しないが、上記の日時選択処理において、CPU34cが、その時点でRAM34aに記録されている画像ファイルリストに基づいて、[CADマッチング]ボックスにテンプレート画像を表示するための処理を行い、テンプレート画像が表示されるものとする。
【0145】
次に、図21を用いて、ステップSG5の画像選択処理の流れを説明する。ステップSG500では、CPU34cが、[<< 前]ボタンがユーザにより押下されたかどうかを確認する。[<< 前]ボタンが押下された場合、処理はステップSG501に移行し、[<< 前]ボタンが押下されていない場合、処理はステップSG504に移行する。
【0146】
ステップSG501では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ前の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG502では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0147】
ステップSG503では、CPU34cが、画像ファイルリストにおいて、上記1つ前の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG504では、CPU34cが、[次 >>]ボタンがユーザにより押下されたかどうかを確認する。[次 >>]ボタンが押下された場合、処理はステップSG505に移行し、[次 >>]ボタンが押下されていない場合、処理はステップSG6に移行する。
【0148】
ステップSG505では、CPU34cが、画像ファイルリストにおいて、現在の[閲覧画像]ボックスに表示されている画像ファイルの画像ファイルNoより、1つ後の画像ファイルNoをもつ画像ファイルを[閲覧画像]ボックスに表示するための処理を行う。ステップSG506では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの画像ファイル名を[画像ファイル名]ボックスに表示するための処理を行う。
【0149】
ステップSG507では、CPU34cが、画像ファイルリストにおいて、上記1つ後の画像ファイルNoをもつ画像ファイルの保存日時を[保存日時]ボックスに表示するための処理を行う。ステップSG507の処理が終了すると、処理はステップSG6に移行する。
【0150】
次に、図22を用いて、ステップSG8のCAD計測処理の流れを説明する。ステップSG800では、CPU34cが、ユーザによる[CADデータ選択]ボタンの押下を検出し、CADデータファイルの選択を行う。CADデータファイルの選択方法、選択画面等については、ここでは記載しない。CADデータファイルが選択されると、CPU34cは、メモリカード50内のCADデータファイルに記録されたCADデータを読み込み、そのCADデータに基づいて、[CADマッチング]ボックスのテンプレート画像上にCADオブジェクトを重畳した画像(第1の画像)を表示するための処理を行う。
【0151】
ステップSG801では、CPU34cが、ユーザによる[CADマッチング]ボックスと[パラメータ設定]ボックスの操作を検出し、CADオブジェクトの姿勢を示すポーズパラメータの設定を行う。ポーズパラメータの設定の詳細については、後述する。
【0152】
ステップSG802では、CPU34cが、ユーザによる[CADマッチング]ボタンの押下を検出し、CADマッチングを実行する。CADマッチングの詳細については、後述する。
【0153】
ステップSG803では、CPU34cが、ユーザによる[CAD計測]チェックボックスおよび[閲覧画像]ボックスの操作を検出し、CAD計測を行う。CAD計測の詳細については、後述する。
【0154】
ステップSG804では、CPU34cが、CAD計測の結果を [閲覧画像]ボックスに重畳表示するための処理を行う。
【0155】
次に、図23〜図30を用いて、ステップSG801におけるポーズパラメータの設定手順の詳細を説明する(参考文献1:US2009/0096790)。ポーズパラメータの設定は、ユーザが[CADマッチング]ボックスを確認しながら[パラメータ設定]ボックスを操作することによって行う。以下、[CADマッチング]ボックスと[パラメータ設定]ボックスの図を用いながら、ポーズパラメータを設定していく様子を説明する。
【0156】
図23は、ポーズパラメータが設定される前の[CADマッチング]ボックスと[パラメータ設定]ボックスを示している。[CADマッチング]ボックス2300には、テンプレート画像のみが表示されている。
【0157】
図7の[CADデータ選択]ボタン751の操作によってCADデータファイルが選択されると、図24、図25、図27、図29に示すようにテンプレート画像上にCADオブジェクトOBが重畳表示される。CADオブジェクトはワイヤーフレームで表示されているが、レンダリング処理によって表面が半透明に塗りつぶされて表示されていても良いし、ワイヤーフレームとレンダリング処理後のCADオブジェクトとの両方が表示されていても良い。
【0158】
図24は、[オブジェクト位置]カーソルボタンによって、CADオブジェクトOBの位置の設定を行う際の[CADマッチング]ボックスと[パラメータ設定]ボックスを示している。CADオブジェクト位置とは、ポーズパラメータの1つであり、[CADマッチング]ボックス内におけるCADオブジェクトの2次元平面上の位置(pixel単位)のことである。CADオブジェクト位置は3次元空間上のCADオブジェクトの位置ではないことに注意が必要である。
【0159】
ユーザが、リモコン23を操作することによってカーソルCの操作指示を入力し、[オブジェクト位置]カーソルボタンを押下すると、[CADマッチング]ボックス内のCADオブジェクトOBが、図中の矢印が示す上下左右のいずれかの方向に移動する。CADオブジェクトOBの移動と同時に、[オブジェクト位置]カーソルボタンの下に配置された数値ボックスの値が変化する。この数値ボックスは、現在設定されているオブジェクト位置をpixel単位で表示するためのボックスである。ユーザは、テンプレート画像における、CADマッチングを行いたいタービンブレードの中心に位置するようにCADオブジェクトOBを移動させることにより、オブジェクト位置を決定する。
【0160】
図25は、[カメラ位置]カーソルボタンによって、カメラ位置の設定を行う際の[CADマッチング]ボックスと[パラメータ設定]ボックスを示している。カメラ位置とは、ポーズパラメータの1つであり、CADオブジェクトを観察している3次元空間上の視点位置のことである。
【0161】
ここで注意しなければならないのは、カメラ位置における視線方向は、常にCADオブジェクト(厳密には、CADオブジェクトの3次元空間上の重心点)を向いているということである。さらに、カメラ位置を変更しても、視点からCADオブジェクトまでの距離は一定であるということである。後述するように、視点からCADオブジェクトまでの距離は、[カメラ奥行き]カーソルボタンの操作によって変更される。すなわち、カメラ位置を変更するということは、図26のように、視線方向が常にCADオブジェクトOBを向いている視点を、CADオブジェクトOBを中心とする一定の半径をもつ球面SP上に沿って移動させる、ということと同様である。
【0162】
ユーザが、リモコン23を操作することによってカーソルCの操作指示を入力し、[カメラ位置]カーソルボタンを押下すると、[CADマッチング]ボックス内のCADオブジェクトOBが、図中の矢印が示すパン方向、チルト方向のいずれかに3次元的に回転する。CADオブジェクトOBの回転と同時に、[カメラ位置]カーソルボタンの下に配置された数値ボックスの値が変化する。この数値ボックスは、現在設定されているカメラ位置をmm単位で表示するためのボックスである。ユーザは、テンプレート画像における、CADマッチングを行いたいタービンブレードに可能な限りマッチするように、CADオブジェクトを回転させることにより、カメラ位置を決定する。このカメラ位置は、参考文献1における、CADオブジェクトのポーズを設定するパラメータλ(経度)およびφ(緯度)に相当する。
【0163】
図27は、[カメラ回転]カーソルボタンによって、カメラ回転角度の設定を行う際の[CADマッチング]ボックスと[パラメータ設定]ボックスを示している。カメラ回転角度とは、ポーズパラメータの1つであり、CADオブジェクトを観察している3次元空間上の視点の、視線回りの回転角度のことである。すなわち、カメラ回転角度を変更するということは、図28のように、視点位置を固定したまま、CADオブジェクトOBの方向へ向いた視点の、視線回りの回転角度を変更する、ということと同様である。
【0164】
ユーザが、リモコン23を操作することによってカーソルCの操作指示を入力し、[カメラ回転]カーソルを押下すると、[CADマッチング]ボックス内のCADオブジェクトOBが、図中の矢印が示すロール方向に3次元的に回転する。CADオブジェクトOBの回転と同時に、[カメラ回転]カーソルボタンの下に配置された数値ボックスの値が変化する。この数値ボックスは、現在設定されているカメラ回転角度をdeg単位で表示するためのボックスである。ユーザは、テンプレート画像における、CADマッチングを行いたいタービンブレードに可能な限りマッチするように、CADオブジェクトOBを回転させることにより、カメラ回転角度を決定する。このカメラ回転角度は、参考文献1における、CADオブジェクトのポーズを設定するパラメータω(カメラ光軸周りの回転角度)に相当する。
【0165】
図29は、[カメラ奥行き]カーソルボタンによって、カメラ奥行きの設定を行う際の[CADマッチング]ボックスと[パラメータ設定]ボックスを示している。カメラ奥行きとは、ポーズパラメータの1つであり、CADオブジェクトを観察している3次元空間上の視点からCADオブジェクトまでの距離のことである。すなわち、カメラ奥行きを変更するということは、図30のように、CADオブジェクトOB方向へ向いた視点からCADオブジェクトOBまでの距離を変更する、ということと同様である。
【0166】
ユーザが、リモコン23を操作することによってカーソルCの操作指示を入力し、[カメラ奥行き]カーソルボタンを押下すると、[CADマッチング]ボックス内のCADオブジェクトOBが拡大または縮小する。CADオブジェクトOBの拡大または縮小と同時に、[カメラ奥行き]カーソルボタンの下に配置された数値ボックスの値が変化する。この数値ボックスは、現在設定されているカメラ奥行きをmm単位で表示するためのボックスである。ユーザは、テンプレート画像における、CADマッチングを行いたいタービンブレードに可能な限りマッチするように、CADオブジェクトOBを拡大または縮小させることにより、カメラ奥行きを決定する。このカメラ奥行きは、参考文献1における、CADオブジェクトのポーズを設定するパラメータd(距離)に相当する。
【0167】
次に、図31〜図34を用いて、ステップSG802におけるCADマッチングの詳細を説明する。ポーズパラメータの設定が終了したら、ユーザは図7の[CADマッチング]ボタン750を押下する。[CADマッチング]ボタン750が押下されると、CPU34cは、CADマッチング処理を実行し、CADオブジェクトの姿勢を、テンプレート画像におけるタービンブレードの姿勢と一致するように制御する。本実施形態のCADマッチング処理は、参考文献1に記載されているCADマッチングの手法と同様の手法で実現されている。
【0168】
CPU34cは、ユーザによって設定されたポーズパラメータを所定の範囲内で変化させながら、各ポーズパラメータに対応したスクリーン平面(視点とCADオブジェクトとの間に位置し、視線方向に垂直に交わる空間平面)にCADデータを投影することにより、各スクリーン平面に対応した投影データを生成し、各投影データとテンプレート画像とのマッチングを行う。CPU34cは、テンプレート画像とのマッチングスコア(マッチングの度合いを表す数値)が最も高かった投影データに対応するポーズパラメータを選択する。
【0169】
ポーズパラメータのうち、カメラ位置、カメラ回転角度、カメラ奥行きは、参考文献1における、λ、φ、ω、dと同様に、所定の範囲をもたせた上でCADマッチング処理に適用される。具体的には、[パラメータ設定]ボックスにおいて設定されたカメラ位置、カメラ回転、カメラ奥行きの各数値ボックスの値を基準として、所定の範囲[λmin, λmax]、[φmin, φmax]、[ωmin, ωmax]、[dmin, dmax]が設定される。各所定の範囲の幅は、RAM34aに予め記録された所定値に基づいて決定される。
【0170】
CADマッチングが完了すると、[パラメータ設定]ボックス内の、カメラ位置、カメラ回転、カメラ奥行きの各数値ボックスの値が更新される。これらの値は、CADマッチング結果であり、テンプレート画像のタービンブレードと、CADオブジェクトとが、最も良くマッチするポーズパラメータである。そして、このCADマッチング結果に応じて、[CADマッチング]ボックスのCADオブジェクトの姿勢が変更される。
【0171】
ここで、ステップSG801,SG802の手順を要約すると、ユーザは、ポーズパラメータ設定において、テンプレート画像のタービンブレードとCADオブジェクトとを大まかにマッチングさせ、そのマッチング後の状態をもとに、CPU34cがCADマッチング処理を実行することで、詳細なマッチングを行う、と言うことができる。
【0172】
次に、ステップSG803におけるCAD計測およびステップSG804における計測結果表示の詳細を説明する。CADマッチングの実行後、ユーザが図7の[CAD計測]チェックボックス760にチェックを入れると、ユーザは[閲覧画像]ボックス701においてCAD計測を行うことができる。[CAD計測]チェックボックス760にチェックが入ると、CPU34cは、 [閲覧画像]ボックス701の閲覧画像上にCADオブジェクトを重畳した画像(第2の画像)を表示するための処理を行う。
【0173】
このとき、CPU34cは、ステップSG802で得られたCADマッチング結果に基づいて、[CADマッチング]ボックスにおいて、テンプレート画像のタービンブレードとマッチしたCADオブジェクトの姿勢と同じ姿勢を保ったCADオブジェクトを閲覧画像に重畳表示する。これによって、図31のように、[閲覧画像]ボックス701の閲覧画像上にCADオブジェクトOBが重畳表示される。閲覧画像は、テンプレート画像におけるタービンブレードの姿勢と同じ姿勢のタービンブレードを撮像した画像であるので、再度CADマッチングを行うことなく、閲覧画像のタービンブレードとCADオブジェクトとのマッチングが完了した状態の画像を得ることができる。
【0174】
ユーザは、リモコン23を操作することによってカーソルの操作指示を入力し、カーソルを移動させ、 [閲覧画像]ボックス701におけるCADオブジェクトOB上の点を1点目の計測点として指定する。計測点が指定されると、CPU34cは、カーソルの位置に基づいて、[閲覧画像]ボックス701における計測点の位置を認識し、その位置に計測点を表示するための処理を行う。これによって、図32のように、計測点S1が表示される。さらに、CPU34cは計測点の3次元座標を算出する。この3次元座標は、指定された点の、CADオブジェクト表面における3次元座標であり、CADデータを用いて算出される。3次元座標の算出方法の詳細については、後述する。
【0175】
続いて、ユーザは、リモコン23を操作することによってカーソルの操作指示を入力し、カーソルを移動させ、 [閲覧画像]ボックス701におけるCADオブジェクト上の別の点を2点目の計測点として指定する。CPU34cは、1点目の計測点と同様に2点目の計測点を表示するための処理を行う。これによって、図33のように、計測点S2が表示される。さらに、CPU34cは計測点の3次元座標を算出する。
【0176】
続いて、CPU34cは、2つの計測点の3次元座標間の距離(2点間距離)を算出する。上記が、ステップSG803におけるCAD計測の内容である。CPU34cは、2点間距離を算出すると、続けて、2点間距離を表示するための処理を行う。これによって、図34のように、2点間距離Dが計測結果として表示される。本実施形態のCAD計測では、閲覧画像のタービンブレードとCADオブジェクトとがマッチングした状態で計測を行うので、ユーザは、CADオブジェクトに対して計測を行いながら、あたかも閲覧画像のタービンブレードに対して直接計測を行っているかのように、作業を進めることができる。
【0177】
ステップSG5の画像選択処理において、ユーザが[<< 前]ボタンもしくは[次 >>]ボタンを押下し、[閲覧画像]ボックス701に表示される閲覧画像を切り替えても、[CAD計測]チェックボックス760にチェックが入っている間、CADオブジェクトは[閲覧画像]ボックス701の閲覧画像上に重畳表示されたままになっている。
【0178】
このとき、閲覧画像上に重畳されたCADオブジェクトの姿勢は、閲覧画像が切り替わっても、同じままである。ユーザが[<< 前]ボタンもしくは[次 >>]ボタンを押下した際に、順次表示される閲覧画像は全て、テンプレート画像のタービンブレードと同じ姿勢のタービンブレードを撮影した画像であるので、ユーザは、改めてポーズパラメータの設定やCADマッチングを実行する必要はなく、各閲覧画像に対して、CAD計測を行うことができる。ユーザは、各閲覧画像に対するCAD計測を行うことにより、各閲覧画像のタービンブレードに発生している欠陥等のサイズ(寸法)を計測することができる。
【0179】
[CAD計測]チェックボックス760のチェックが外されると、[閲覧画像]ボックス701に表示されていたCADオブジェクト、計測点、および2点間距離が非表示となり、CAD計測が終了する。本実施形態では2点間計測を行う例を説明したが、指定された領域の面積や凹部の深さ等の計測に対して本実施形態を適用してもよい。
【0180】
次に、図35〜図38を用いて、指定された計測点の、CADオブジェクト表面における3次元座標の算出方法について説明する。図35は、3次元空間におけるCADオブジェクトの一部と視点E(カメラ位置)との関係を示している。
【0181】
CADオブジェクトは、複数の三角形の空間平面から構成されている。視点EからCADオブジェクトの重心点Gへ向かう方向を視線方向とする。視点EとCADオブジェクトとの間には、視線方向と垂直に交わるスクリーン平面SCが設定されている。このスクリーン平面SCは、[閲覧画像]ボックスに相当するものであり、スクリーン平面SC上に映っているCADオブジェクトの平面投影像が、[閲覧画像]ボックスに重畳されているCADオブジェクトであると考えて良い。
【0182】
ユーザが[閲覧画像]ボックスにおけるCADオブジェクト上の点を指定すると、CPU34cは、図36のように、スクリーン平面SC上に計測点Sを設定する。計測点Sと視点Eとを通る空間直線を直線Lとする。そして、CPU34cは、CADオブジェクトを構成する複数の三角形の中から、直線Lと交差する全ての三角形を検索する。直線と空間三角形とが交差するかどうかを判定する方法として、例えばTomas Mollerの交差判定法を用いることが可能である。この例では、図37のように、三角形T1,T2が、直線Lと交差する三角形であると判定される。
【0183】
そして、図38のように、CPU34cは、直線Lと三角形T1,T2との交点を算出し、算出したそれぞれの交点を交点F1,F2とする。ここでは、CADオブジェクト表面における3次元座標を算出したいので、CPU34cは、交点F1,F2のうち、より視点Eに近い方を選択する。この場合、CPU34cは、交点F1の3次元座標を、CADオブジェクト表面における3次元座標として算出する。上記では、直線Lと交差すると判定された三角形を2つのみとしたが、CADオブジェクトの形状や視線方向によっては、より多くの三角形が交差すると判定される場合もある。その場合も、直線Lと三角形との交点をそれぞれ求め、求めた交点の中で、最も視点Eに近い交点を選択することになる。
【0184】
上記では、ポーズパラメータ設定において、ユーザがCADオブジェクトをテンプレート画像のタービンブレードに大まかにマッチさせる操作を行った後、CADマッチング処理が実行されているが、以下のようにしてもよい。例えば、高い計測精度を要求しなくてもよいのであれば、ユーザがCADオブジェクトをテンプレート画像のタービンブレードに大まかにマッチさせる操作を行った後、CADマッチング処理を実行せずにCAD計測を行ってもよい。あるいは、CADマッチング処理の処理時間の増加やCADマッチング処理の失敗を考慮しなくてもよいのであれば、ユーザがCADオブジェクトをテンプレート画像のタービンブレードに大まかにマッチさせる操作を行わず、CADマッチング処理を実行してもよい。
【0185】
上述したように、本実施形態によれば、テンプレート画像のタービンブレードのみに対してCADオブジェクトのCADマッチングを1度行うだけで、複数の閲覧画像に対して、CADマッチングを再度行うことなく、CAD計測を行うことが可能となる。したがって、閲覧画像に対してCAD計測を行う際、CADマッチングの操作が不要になるため、計測時の手間を低減することができる。
【0186】
本実施形態のテンプレート画像は、ブレード画像を抽出する際の基準となる画像であると共に、ブレード画像を用いたCAD計測を行う際のCADオブジェクトの姿勢をCADマッチングによって決定する際の基準となる画像である。本実施形態では、ブレード画像を用いてCAD計測を行う際にCADマッチングを行わないので、より高い計測精度を得るためには、テンプレート画像とブレード画像との相関がより高くなると共に、CADオブジェクトとマッチさせやすいブレードが映っているテンプレート画像を選択することが望ましい。このため、形状や色等に関する欠陥のない良品のブレードを撮像した画像をテンプレート画像とすることが望ましい。
【0187】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0188】
1・・・ジェットエンジン、2・・・ターニングツール、3・・・内視鏡装置、4・・・ビデオ端子ケーブル、5・・・ビデオキャプチャカード、6・・・PC、7・・・LANケーブル、10・・・タービンブレード、20・・・内視鏡挿入部、21・・・内視鏡装置本体、22,25・・・モニタ(表示部)、23・・・リモコン(入力装置)、24・・・PC本体、30a・・・撮像光学系、30b・・・撮像素子、31・・・画像信号処理装置、32・・・光源、33・・・湾曲制御ユニット、34,35・・・制御用コンピュータ、34a,35a・・・RAM、34b・・・ROM、34c,35c・・・CPU(テンプレート画像抽出部、ブレード画像抽出部、制御部、算出部)、34d,35d・・・ネットワークI/F、34e・・・RS232C I/F、34f・・・カードI/F、35b・・・HDD、35e・・・USB I/F

【特許請求の範囲】
【請求項1】
ジェットエンジン内に周期的に配置されたブレードを撮像した動画像を構成する第1のブレード画像からテンプレート画像を抽出する第1のステップと、
前記第1のブレード画像と前記テンプレート画像とを比較し、比較結果に基づいて、前記第1のブレード画像の中から、前記テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含む第2のブレード画像を抽出する第2のステップと、
予め算出された3次元形状を有する物体の画像を前記テンプレート画像に重畳した第1の画像を表示部に表示し、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御する第3のステップと、
前記第3のステップで姿勢が制御された前記物体の画像を前記第2のブレード画像に重畳した第2の画像を前記表示部に表示する第4のステップと、
入力装置を介して入力される指示に基づいて指定される、前記第2の画像における前記物体上の計測点の3次元座標を算出し、算出した3次元座標に基づいて、前記物体のサイズを算出する第5のステップと、
を備えたことを特徴とする画像処理方法。
【請求項2】
前記第3のステップでは、入力装置を介して入力される指示に基づいて、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御することを特徴とする請求項1に記載の画像処理方法。
【請求項3】
前記第3のステップでは、前記3次元形状の情報に基づいて、前記テンプレート画像におけるブレードの姿勢に一致する前記物体の姿勢を算出し、算出した姿勢となるように、前記第1の画像における前記物体の姿勢を制御することを特徴とする請求項1に記載の画像処理方法。
【請求項4】
前記第3のステップでは、入力装置を介して入力される指示に基づいて、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御した後、前記3次元形状の情報に基づいて、前記テンプレート画像におけるブレードの姿勢に一致する前記物体の姿勢を算出し、算出した姿勢となるように、前記第1の画像における前記物体の姿勢を制御することを特徴とする請求項1に記載の画像処理方法。
【請求項5】
前記第4のステップでは、前記第3のステップで姿勢が制御された前記物体の姿勢と同一姿勢の前記物体を前記第2のブレード画像に重畳することを特徴とする請求項1〜請求項4のいずれか一項に記載の画像処理方法。
【請求項6】
前記第2のブレード画像を切り替えながら、前記第4のステップと前記第5のステップを繰り返すことを特徴とする請求項1〜請求項5のいずれか一項に記載の画像処理方法。
【請求項7】
前記第5のステップではさらに、前記物体上に前記計測点を表示することを特徴とする請求項1〜請求項6のいずれか一項に記載の画像処理方法。
【請求項8】
前記第5のステップではさらに、前記物体のサイズを表示することを特徴とする請求項1〜請求項7のいずれか一項に記載の画像処理方法。
【請求項9】
前記テンプレート画像が、良品のブレードを撮像した画像であることを特徴とする請求項1〜請求項8のいずれか一項に記載の画像処理方法。
【請求項10】
ジェットエンジン内に周期的に配置されたブレードを撮像した動画像を構成する第1のブレード画像からテンプレート画像を抽出する第1のステップと、
前記第1のブレード画像と前記テンプレート画像とを比較し、比較結果に基づいて、前記第1のブレード画像の中から、前記テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含む第2のブレード画像を抽出する第2のステップと、
予め算出された3次元形状を有する物体の画像を前記テンプレート画像に重畳した第1の画像を表示部に表示し、前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御する第3のステップと、
前記第3のステップで姿勢が制御された前記物体の画像を前記第2のブレード画像に重畳した第2の画像を前記表示部に表示する第4のステップと、
入力装置を介して入力される指示に基づいて指定される、前記第2の画像における前記物体上の計測点の3次元座標を算出し、算出した3次元座標に基づいて、前記物体のサイズを算出する第5のステップと、
をコンピュータに実行させるためのプログラム。
【請求項11】
ジェットエンジン内に周期的に配置されたブレードを撮像した動画像を構成する第1のブレード画像からテンプレート画像を抽出するテンプレート画像抽出部と、
前記第1のブレード画像と前記テンプレート画像とを比較し、比較結果に基づいて、前記第1のブレード画像の中から、前記テンプレート画像におけるブレードの姿勢と一致する姿勢のブレードを含む第2のブレード画像を抽出するブレード画像抽出部と、
予め算出された3次元形状を有する物体の画像を前記テンプレート画像に重畳した第1の画像を表示した後、前記物体の画像を前記第2のブレード画像に重畳した第2の画像を表示する表示部と、
前記テンプレート画像におけるブレードの姿勢に一致するように、前記第1の画像における前記物体の姿勢を制御する制御部と、
入力装置を介して入力される指示に基づいて指定される、前記第2の画像における前記物体上の計測点の3次元座標を算出し、算出した3次元座標に基づいて、前記物体のサイズを算出する算出部と、
を備えたことを特徴とする画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図26】
image rotate

【図28】
image rotate

【図30】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図6】
image rotate

【図7】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図27】
image rotate

【図29】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2012−154672(P2012−154672A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−11928(P2011−11928)
【出願日】平成23年1月24日(2011.1.24)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】