以下、図面を参照し、本発明の実施形態を説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態の内視鏡装置1(計測装置)の外観を示す。内視鏡装置1は、被写体を撮像し、画像から被写体の幾何学的特徴を計測する。検査者は、種々の被写体の観察と計測とを行うために、挿入部2の先端に装着される光学アダプターの交換と、内蔵された計測処理プログラムの選択と、計測処理プログラムの追加とを行うことが可能である。以下では、計測の一例として、SfMによる3次元形状復元とユーザーによる基準距離入力とを組み合わせた計測を行う場合について説明する。
図1に示すように、内視鏡装置1は、挿入部2と、コントロールユニット3と、操作部4と、表示部5とを有する。
挿入部2は、被写体の内部に挿入される。挿入部2は、先端20から基端部にわたって屈曲可能な細長い管状である。挿入部2は、計測部分を撮像し、かつ撮像信号をコントロールユニット3に出力する。挿入部2の先端20には、光学アダプターが装着される。例えば、単眼の光学アダプターが挿入部2の先端20に装着される。コントロールユニット3は、挿入部2を収納する収納部を備えた制御装置である。操作部4は、内視鏡装置1に対するユーザーの操作を受ける。表示部5は、表示画面を有し、かつ挿入部2で撮像された被写体の画像および操作メニュー等を表示画面に表示する。
操作部4は、ユーザーインタフェースである。例えば、ユーザーインタフェースは、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つである。表示部5は、LCD(Liquid Crystal Display)等のモニタ(ディスプレイ)である。
図2に示すように、コントロールユニット3は、内視鏡ユニット8と、CCU(Camera Control Unit)9と、制御ユニット10とを有する。内視鏡ユニット8は、図示していない光源装置および湾曲装置を有する。光源装置は、観察に必要な照明光を供給する。湾曲装置は、図示していない湾曲機構を湾曲させる。挿入部2の先端20には撮像素子28が内蔵されている。撮像素子28は、イメージセンサである。撮像素子28は、光学アダプターを介して結像された被写体像を光電変換し、かつ撮像信号を生成する。CCU9は、撮像素子28を駆動する。撮像素子28から出力された撮像信号がCCU9に入力される。CCU9は、撮像素子28により取得された撮像信号に対して、増幅およびノイズ除去等を含む前処理を行う。CCU9は、前処理が行われた撮像信号をNTSC信号等の映像信号に変換する。
制御ユニット10は、映像信号処理回路12と、ROM(Read Only Memory)13と、RAM(Random Access Memory)14と、カードインタフェース15と、外部機器インタフェース16と、制御インタフェース17と、CPU(Central Processing Unit)18aとを有する。
映像信号処理回路12は、CCU9から出力された映像信号に対して、所定の映像処理を施す。例えば、映像信号処理回路12は、視認性向上に関わる映像処理を行う。例えば、その映像処理は、色再現、階調補正、ノイズ抑制、および輪郭強調などである。映像信号処理回路12は、計測実行時には、計測性能を向上させるための処理も行う。また、映像信号処理回路12は、CCU9から出力された映像信号と、CPU18aによって生成されるグラフィック画像信号とを合成する。グラフィック画像信号は、操作画面の画像および計測情報等を含む。計測情報は、カーソルの画像、指定点の画像、および計測結果等を含む。映像信号処理回路12は、合成された映像信号を表示部5に出力する。
ROM13は、CPU18aが内視鏡装置1の動作を制御するためのプログラムが記録された不揮発性の記録媒体である。RAM14は、CPU18aが内視鏡装置1の制御のために使用する情報を一時的に記憶する揮発性の記録媒体である。CPU18aは、ROM13に記録されたプログラムに基づいて内視鏡装置1の動作を制御する。
着脱可能な記録媒体であるメモリカード42がカードインタフェース15に接続される。カードインタフェース15は、メモリカード42に記憶されている制御処理情報および画像情報等を制御ユニット10に取り込む。また、カードインタフェース15は、内視鏡装置1によって生成された制御処理情報および画像情報等をメモリカード42に記録する。
USB機器等の外部機器が外部機器インタフェース16に接続される。例えば、パーソナルコンピュータ41が外部機器インタフェース16に接続される。外部機器インタフェース16は、パーソナルコンピュータ41への情報の送信とパーソナルコンピュータ41からの情報の受信とを行う。これによって、パーソナルコンピュータ41のモニタが情報を表示することができる。また、ユーザーがパーソナルコンピュータ41を介して、内視鏡装置1の制御に関する操作を行うことができる。
制御インタフェース17は、操作部4、内視鏡ユニット8、およびCCU9と動作制御のための通信を行う。制御インタフェース17は、操作部4を介してユーザーによって入力された指示をCPU18aに通知する。制御インタフェース17は、光源装置および湾曲装置の制御のための制御信号を内視鏡ユニット8に出力する。制御インタフェース17は、撮像素子28の制御のための制御信号をCCU9に出力する。
CPU18aが実行するプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。この記録媒体に記録されたプログラムを内視鏡装置1以外のコンピュータが読み込み、かつ実行してもよい。例えば、パーソナルコンピュータ41がプログラムを読み込んで実行してもよい。パーソナルコンピュータ41は、プログラムに従って、内視鏡装置1を制御するための制御情報を内視鏡装置1に送信することにより内視鏡装置1を制御してもよい。あるいは、パーソナルコンピュータ41は、内視鏡装置1から映像信号を取得し、かつ取得された映像信号を使用して計測を行ってもよい。
上述したプログラムは、このプログラムが保存された記憶装置等を有するコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により内視鏡装置1に伝送されてもよい。プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体である。また、上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、前述した機能をコンピュータに既に記録されているプログラムとの組合せで実現できる差分ファイル(差分プログラム)であってもよい。
上記のように、内視鏡装置1は、撮像素子28(撮像部)、CCU9(画像取得部)、およびCPU18aを有する。撮像素子28は、被写体を撮像し、かつ撮像信号を生成する。これにより、撮像素子28は、計測対象の物体の画像を生成する。CCU9は、撮像信号に基づいて映像信号を生成する。映像信号は、被写体の画像を含む。したがって、CCU9は、計測対象の物体を撮像することにより生成された、その物体の画像を取得する。CCU9により取得された画像はCPU18aに入力される。
CCU9は、第1画像取得処理を実行する。CCU9は、第1画像取得処理において、計測対象の物体の第1画像を取得する。第1画像は、計測対象の物体を第1撮像状態で撮像することにより生成される。また、CCU9は、第2画像取得処理を実行する。CCU9は、第2画像取得処理において、1枚以上の第2画像を取得する。第2画像は、1つ以上の第2撮像状態で計測対象の物体を撮像することにより生成される。第1撮像状態および第2撮像状態では撮像位置および撮像姿勢の少なくとも1つが互いに異なる。2つ以上の第2撮像状態では撮像位置および撮像姿勢の少なくとも1つが互いに異なる。第1撮像状態での撮像は、1回または複数回実行される。第2撮像状態での撮像は、1回または複数回実行される。
図3は、CPU18aの機能構成を示す。制御部180、画像表示制御部181、カーソル表示制御部182、指定点設定部183、基準寸法設定部184、画像判定部185、3次元形状復元部186、計測部187、および湾曲制御部188によってCPU18aの機能が構成されている。図3に示すブロックの少なくとも1つがCPU18aとは別の回路で構成されてもよい。
図3に示す各部は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。例えば、プロセッサは、CPU、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)の少なくとも1つである。例えば、論理回路は、特定用途向け集積回路(ASIC)およびFPGA(Field−Programmable Gate Array)の少なくとも1つである。図3に示す各部は、1つまたは複数のプロセッサを含むことができる。図3に示す各部は、1つまたは複数の論理回路を含むことができる。
制御部180は、各部が行う処理を制御する。画像表示制御部181は、画像表示処理を実行することにより、第1画像取得処理により取得された第1画像を表示部5に表示させる。例えば、画像表示制御部181は、映像信号処理回路12による第1画像の処理を制御する。画像表示制御部181は、映像信号処理回路12により処理された第1画像を表示部5に出力させる。表示部5は、第1画像を表示する。
カーソル表示制御部182は、カーソル表示処理を実行する。カーソル表示制御部182は、カーソル表示処理において、ユーザーが指定点を指定するためのカーソルを第1画像上に表示させる。例えば、カーソル表示制御部182は、カーソルのグラフィック画像信号を生成する。カーソル表示制御部182は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18aから出力されたグラフィック画像信号とを合成する。これにより、カーソルが第1画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、カーソルが重畳された第1画像を表示する。カーソル表示制御部182は、ユーザーが操作部4を操作することにより入力したカーソル移動指示を検出し、かつカーソル移動指示に基づいてカーソルの位置を逐次更新する。
第1画像上に表示されるマークはカーソルに限らない。例えば、アイコンまたはポインター等が表示されてもよい。指定点をユーザーに知らせることができる限り、カーソル等のマークの形状および大きさは問わない。また、本明細書では、便宜上、「点」という言葉を使っているが、指定点は画面上の1ピクセルに対応する1点である必要はない。指定点は、任意の大きさの領域を含んでもよい。また、指定点はサブピクセル単位で指定できても良い。
指定点設定部183は、指定点設定処理を実行する。指定点設定部183は、指定点設定処理において、CCU9により取得された第1画像上に指定点を設定する。指定点は、計測位置を示す計測指定点と基準寸法の位置を示す基準指定点との少なくとも1つである。例えば、指定点は、ユーザーにより入力される。指定点設定部183は、1つ以上の計測指定点および1つ以上の基準指定点を設定する。しかし、指定点設定部183は、第1画像上に計測指定点または基準指定点のいずれか一方のみを設定しても構わない。
たとえば、計測指定点のみが第1画像上に設定された場合に、指定点設定部183は、第2指定点設定処理を実行する。指定点設定部183は、第2指定点設定処理において、3次元形状復元部186により復元された3次元形状上に基準指定点を設定してもよい。また、基準指定点のみが第1画像上に設定された場合に、指定点設定部183は、第3指定点設定処理を実行する。指定点設定部183は、第3指定点設定処理において、3次元形状復元部186により復元された3次元形状上に計測指定点を設定してもよい。
操作部4は、ユーザーが操作部4を操作することにより入力した計測指定点および基準指定点を受け付ける。操作部4は、計測指定点および基準指定点の位置を示す情報を出力する。操作部4から出力されたその情報は、入力部である制御インタフェース17に入力される。制御インタフェース17に入力されたその情報は、CPU18aに入力される。指定点設定部183は、CPU18aに入力されたその情報に基づいて計測指定点および基準指定点を設定する。指定点設定部183により設定された計測指定点および基準指定点の情報は、RAM14に保持される。計測指定点および基準指定点が特定の第1画像に関連付けられることにより、計測指定点および基準指定点が設定される。
指定点は、ユーザーの指示により決定された画像における注目位置の座標情報である。上記のように、指定点は、計測指定点および基準指定点を含む。指定点は、計測位置および基準寸法の位置を指定するための点であることを想定している。しかし、指定点は、これらの目的のための点に限定されない。また、指定点を決定するための手段は、ユーザーによる入力に限定されない。例えば、内視鏡装置1に予め登録された情報に基づいて、指定点設定部183が自動的に指定点を決定してもよい。例えば、指定点が予め設定された参照画像がパーソナルコンピュータ41またはメモリカード42から内視鏡装置1に取り込まれる。指定点設定部183は、参照画像上に設定された指定点と類似する点をパターンマッチングにより第1画像から検出し、かつ検出された点を指定点として設定してもよい。
基準寸法設定部184は、基準寸法設定処理を実行する。基準寸法設定部184は、基準寸法設定処理において、CCU9により取得された第1画像または3次元形状復元部186により復元された3次元形状上に基準寸法を設定する。例えば、操作部4は、ユーザーが操作部4を操作することにより入力した基準寸法を受け付ける。操作部4は、基準寸法を示す情報を出力する。操作部4から出力されたその情報は、入力部である制御インタフェース17に入力される。制御インタフェース17に入力されたその情報は、CPU18aに入力される。基準寸法設定部184は、CPU18aに入力されたその情報に基づいて基準寸法を設定する。基準寸法設定部184により設定された基準寸法は、RAM14に保持される。基準寸法が特定の第1画像において特定の基準指定点と関連付けられることにより、基準寸法が設定される。あるいは、基準寸法が、特定の3次元形状において特定の基準指定点に対応する点と関連付けられることにより、基準寸法が設定される。
以下の例では、基準寸法は2点間の基準距離である。上記のように、基準距離はユーザーによって与えられる。例えば、ユーザーは、2つの基準指定点を指定し、かつそれらの距離を基準距離として指定する。ユーザーにより指定される基準距離は既知である。例えば、被写体上の既知の構造における基準距離がユーザーにより指定される。
基準距離は、図示していない距離取得部から内視鏡装置1に入力されてもよい。例えば、距離取得部は、アクティブ投影系および3次元計測部を有する。アクティブ投影系は、点、線、および縞等の形状を持つ光を被写体に投影する。3次元計測部は、その光が投影された被写体の画像に基づいて基準距離を算出する。3次元計測部は、基準距離が算出された位置に基づいて基準指定点を取得してもよい。基準寸法の位置を示す基準指定点は、基準寸法を計測する機器から入力されてもよい。例えば、基準指定点が3次元計測部または距離取得部から内視鏡装置1に入力されてもよい。距離取得部は、飛行時間測定法(Time Of Flight)により基準距離を算出してもよい。距離取得部は、3次元加速度センサー、ジャイロセンサー、および電波センサー等のセンサーを使用するセンシング手段であってもよい。
例えば、外部機器インタフェース16は、基準指定点および基準距離を距離取得部から取得してもよい。上記のように、1つの例では、距離取得部は、アクティブ投影系および3次元計測部を有する。距離取得部から出力された基準指定点および基準距離が外部機器インタフェース16に入力される。外部機器インタフェース16に入力された基準指定点および基準距離は、CPU18aに入力される。指定点設定部183は、距離取得部から出力された基準指定点を第1画像または3次元形状に設定する。基準寸法設定部184は、距離取得部から出力された基準距離を第1画像または3次元形状に設定する。この場合、基準指定点および基準距離が自動的に決定されるため、ユーザーの手間がかからない。
内視鏡装置1は、予め算出された基準寸法を記憶するメモリを有してもよい。基準寸法設定部184は、指定点設定部183により設定された基準指定点に対応する基準寸法をメモリから読み出し、かつ読み出された基準寸法を第1画像または3次元形状に設定してもよい。
画像判定部185は、画像判定処理を実行する。画像判定部185は、画像判定処理において、指定点に対応する点が1枚以上の第2画像に含まれるか否かを判定する。第1の実施形態の画像判定部185は、画像判定処理を実行することにより、計測指定点および基準指定点の各々に対応する点が1枚以上の第2画像に含まれるか否かを判定する。画像判定部185は、CCU9により取得された第2画像のうち、計測指定点および基準指定点の各々に対応する点を含む第2画像を抽出または選択する。
3次元形状復元部186は、3次元形状復元処理を実行する。3次元形状復元部186は、3次元形状復元処理において、画像判定部185により指定点に対応する点が含まれると判定された第2画像を含む複数の画像を使用して、計測対象の物体の3次元形状を復元する。例えば、3次元形状復元部186は、1枚の第1画像および1枚以上の第2画像を使用する。あるいは、3次元形状復元部186は、複数枚の第2画像を使用する。複数枚の第2画像が使用される場合、3次元形状復元部186は、第1画像を使用しなくてもよい。但し、複数枚の第2画像の撮像位置および撮像姿勢の少なくとも1つが互いに異なっている必要がある。3次元形状の復元方法については後述する。
計測部187は、計測処理を実行する。計測部187は、計測処理において、3次元形状、指定点、および基準寸法に基づいて、計測対象の物体の計測を行う。3次元形状は、3次元形状復元部186により復元される。指定点は、計測指定点および基準指定点である。指定点は、指定点設定部183により設定される。基準寸法は、基準寸法設定部184により設定される。計測部187は、計測指定点および基準指定点の2次元座標と、基準距離とを使用して、計測指定点に対応する3次元座標を算出する。計測部187は、計測指定点に対応する3次元座標に基づいて被写体の3次元での寸法を計測する。
湾曲制御部188は、湾曲制御処理を実行する。湾曲制御部188は、湾曲制御処理において、挿入部2の先端20を湾曲させるための湾曲機構を制御する。例えば、湾曲制御部188は、制御部180からの指示に基づいて、挿入部2の先端20を上、下、左、および右のいずれか1つの方向に湾曲させるための命令を生成する。湾曲制御部188により生成された命令は、制御インタフェース17を介して内視鏡ユニット8に出力される。内視鏡ユニット8は、その命令に基づいて湾曲機構を駆動することにより、挿入部2の先端20を湾曲させる。
3次元形状復元部186および計測部187が実行する具体的な処理の手順について説明する。3次元形状復元部186は、映像信号処理回路12から出力された複数枚の画像と、RAM14に保持されている指定点の座標情報とを受け取る。以下では、3次元形状復元部186が映像信号処理回路12から2枚の画像を受け取る例について説明する。3枚以上の画像が使用される場合でも、基本原理は、2枚の画像が使用される場合と変わらない。以下で説明される方法は、3枚以上の画像が使用される場合にも適用できる。
図4は、計測対象の被写体の2枚の画像が取得される場合の画像取得の状況を模式的に示す。以下の説明では、広義のカメラという表現を使用する。以下の説明におけるカメラは、具体的には内視鏡先端(挿入部2の先端20)の観察光学系を指す。
図4に示すように、最初にカメラの撮像状態c1において画像I1が取得される。次に、カメラの撮像状態c2において画像I2が取得される。撮像状態c1と撮像状態c2とでは、撮像位置および撮像姿勢の少なくとも1つが異なる。図4において、撮像状態c1と撮像状態c2とでは、撮像位置および撮像姿勢の両方が異なる。
本発明の各実施形態では、画像I1および画像I2は同じ内視鏡で取得されることを想定している。また、本発明の各実施形態では、内視鏡の対物光学系のパラメーターが変化しないことを想定している。対物光学系のパラメーターは、焦点距離、歪曲収差、およびイメージセンサのピクセルサイズ等である。以下では、対物光学系のパラメーターを便宜上、内部パラメーターと略す。このような条件を仮定したとき、内視鏡の光学系の特性が記述された内部パラメーターは、内視鏡先端のカメラの位置および姿勢に関わらず共通に使用できる。本発明の各実施形態では、内部パラメーターは工場出荷時に取得されており、かつ計測時には内部パラメーターは既知であることを想定している。
異なる内視鏡装置を使って画像I1および画像I2を取得する場合、共通の内部パラメーターは使用できない。また、同じ内視鏡装置を使って画像I1および画像I2を取得する際に内部パラメーターが画像毎に異なる場合には共通の内部パラメーターは使用できない。しかしながら、内部パラメーターを未知数として計算を行うことはできるので、内部パラメーターが既知であるか否かにより以後の手順が大きく変わることはない。前者の場合、それぞれの内視鏡装置が個別の内部パラメーターを予め保持してもよい。
図5を参照し、取得された被写体画像に基づいて被写体の3次元座標を計算するための手順について説明する。図5は、3次元形状復元および計測のための処理の手順を示す。
まず、3次元形状復元部186は、特徴点検出処理を実行する(ステップSA)。3次元形状復元部186は、特徴点検出処理において、取得された2枚の画像から特徴点を検出する。特徴点とは、画像に写っている被写体情報のうち、画像輝度勾配の大きいコーナーおよびエッジ等を指す。この特徴点を検出する方法として、SIFT(Scale−invariant Feature Transform)およびFAST(Features from Accelerated Segment Test)等が使用される。このような方法を用いることにより画像内の特徴点を検出することができる。
図4は、画像I1から特徴点m1が検出され、かつ画像I2から特徴点m2が検出された例を示す。図4では各画像の1つの特徴点のみが表示されているが、実際には各画像に対して、複数の特徴点が検出される。各画像で検出される特徴点の数は異なる可能性がある。各画像から検出された各特徴点は特徴量というデータに変換される。特徴量は、特徴点の特徴を表すデータである。
ステップSAの後、3次元形状復元部186は、特徴点対応付け処理を実行する(ステップSB)。3次元形状復元部186は、特徴点対応付け処理において、ステップSAにおける特徴点検出処理により検出された各特徴点に対して、画像間で特徴量の相関を比較する。特徴量の相関が比較された結果、各画像において特徴量が近い特徴点が見つかった場合、3次元形状復元部186は、その情報をRAM14に保持する。一方、特徴量が近い特徴点が見つからなかった場合には、3次元形状復元部186は、その特徴点の情報を破棄する。
ステップSBの後、3次元形状復元部186は、互いに対応付けられた2枚の画像の特徴点(特徴点ペア)の座標をRAM14から読み出す。3次元形状復元部186は、読み出された座標に基づいて、位置および姿勢の算出処理を実行する(ステップSC)。3次元形状復元部186は、位置および姿勢の算出処理において、画像I1を取得したカメラの撮像状態c1と画像I2を取得したカメラの撮像状態c2との間の相対的な位置および姿勢を算出する。より具体的には、3次元形状復元部186は、エピポーラ制約を利用した以下の方程式(1)を解くことにより、行列Eを算出する。
Eは基本行列と呼ばれる。基本行列Eは、画像I1を取得したカメラの撮像状態c1と画像I2を取得したカメラの撮像状態c2との相対的な位置および姿勢を保持する行列である。方程式(1)において、p1は、画像I1から検出された特徴点の座標を含む行列である。p2は、画像I2から検出された特徴点の座標を含む行列である。基本行列Eは、カメラの相対的な位置および姿勢に関する情報を含んでいるため、カメラの外部パラメーターに相当する。基本行列Eは、公知のアルゴリズムを使用して解くことができる。
図4に示すように、カメラの位置変化量がtであり、かつカメラの姿勢変化量がRである場合、式(2)および式(3)が成り立つ。
式(2)において、txはx軸方向の移動量であり、tyはy軸方向の移動量であり、かつtzはz軸方向の移動量である。式(3)において、Rx(α)はx軸周りの回転量αであり、Ry(β)はy軸周りの回転量βであり、かつRz(γ)はz軸周りの回転量γである。基本行列Eが算出された後、3次元座標の復元精度を高めるためにバンドル調整という最適化処理が実行されてもよい。
ステップSCの後、3次元形状復元部186は、ステップSCにおいて算出されたカメラの相対的な位置および姿勢(位置変化量tおよび姿勢変化量R)に基づいて、被写体の3次元形状の復元処理を実行する(ステップSD)。被写体の3次元形状を復元する手法としては、PMVS(Patch−based Multi−view Stereo)、および平行化ステレオによるマッチング処理等が挙げられる。しかし、特に手段を限定する訳ではない。
ステップSDの後、計測部187は、ステップSDにおける3次元形状復元処理により算出された被写体の3次元形状データと、RAM14から読み出された基準距離の情報とに基づいて3次元座標変換処理を実行する。計測部187は、3次元座標変換処理において、被写体の3次元形状データを、長さの次元を持つ3次元座標データへと変換する(ステップSE)。
ステップSEの後、計測部187は、被写体の3次元座標データに基づいて寸法計測処理を実行する(ステップSF)。寸法計測処理は、従来の工業用内視鏡に搭載されている計測処理と変わらないので、その詳細な説明を割愛する。例えば、計測部187は、ユーザーにより選択された計測モードに従って、2点間距離計測および面基準計測などの寸法計測を行う。
上記は、3次元座標を得る一般的な処理手順である。上記の説明では、指定点に関する情報は使用されていない。本発明の各実施形態の最大の特徴は、上記処理手順に加えて、指定点の情報を使用することである。以下では、その詳細を説明する。
図6を使用して、第1の実施形態における3次元計測処理について説明する。図6は、3次元計測処理の手順を示す。以下では、計測部187が2点間距離を計測する例について説明する。
内視鏡による検査では、ユーザーは、ライブ画像で被写体の状況を確認することにより、欠陥および傷が存在するか否かを検査する。このときの内視鏡装置1のモードは検査モードと呼ばれる。検査中において、被写体に計測対象である欠陥または傷が発見された場合などにユーザーは計測の実行を所望する。そのとき、ユーザーは、内視鏡装置1のモードを計測モードに移行させるために操作部4を操作する(ステップS101)。例えば、ユーザーが表示部5に表示されているアイコンをタップすることにより、内視鏡装置1のモードが検査モードから計測モードへ移行する。あるいは、ユーザーがリモートコントローラー等の入力装置を使用して計測モード移行ボタンを押下してもよい。内視鏡装置1のモードを検査モードから計測モードへ移行させるための操作は、上記の例に限らない。
ステップS101において内視鏡装置1のモードが検査モードから計測モードに切り替わった後、指定点入力のための1枚の画像が取得される。つまり、撮像素子28は、被写体を第1撮像状態で1回撮像することにより1枚の第1画像を生成する。CCU9は、生成された1枚の第1画像を取得する(ステップS102)。
ステップS102において第1画像が取得された後、画像表示制御部181は、取得された第1画像を表示部5に表示させる(ステップS103)。複数の第1撮像状態で複数枚の第1画像が取得されてもよい。複数の第1撮像状態では撮像位置および撮像姿勢の少なくとも1つが互いに異なる。複数枚の第1画像が取得された場合、各第1画像がサムネイルとして表示部5に表示され、ユーザーにより最適な1枚の第1画像が選択されてもよい。あるいは、画像表示制御部181が、ユーザーが指定点を入力するための最適な1枚の画像を自動で抽出し、かつその画像を表示部5に表示させてもよい。
ステップS103において第1画像が表示部5に表示された後、ユーザーは、操作部4を操作することにより、表示された第1画像上に指定点を指定する。操作部4は、ユーザーにより指定された計測指定点および基準指定点を受け付ける。指定点設定部183は、表示された第1画像上に、ユーザーにより指定された基準指定点および計測指定点を設定する(ステップS104)。
図7は、表示部5の画面を示す。図7に示すように、第1画像501が表示される。この例では、表示部5に表示された第1画像501上に2つの基準指定点P1,P2および2つの計測指定点P3,P4が設定される。
ユーザーは、表示部5上に表示された第1画像上で基準距離を規定するために、既知である基準距離を構成する2つの基準指定点P1および基準指定点P2を指定する。基準指定点P1と基準指定点P2との距離L1は基準距離である。さらに、ユーザーは、ユーザー自身が計測したいと所望する2点間距離を規定するために、計測指定点P3および計測指定点P4を指定する。計測指定点P3と計測指定点P4との距離L2は、計測対象の2点間距離である。
図7に示す例において、表示部5は、タッチパネルとして構成されている。ボタンBT1、ボタンBT2、およびボタンBT3は、タッチパネルとしての操作部4を構成する。ユーザーは、ボタンBT1を操作することにより、図示していないカーソルを移動させる。ユーザーがボタンBT2を押したとき、カーソルの位置に指定点が指定される。ユーザーがボタンBT3を押したとき、指定された指定点がキャンセルされる。ユーザーの操作により各指定点が指定されたとき、指定点設定部183は、指定された各指定点の各位置(座標)を算出する。4つの指定点の位置情報(座標情報)は、RAM14に保持される。
指定された2つの基準指定点P1,P2および2つの計測指定点P3,P4は、表示部5に表示される。画像表示制御部181は、計測指定点および基準指定点を表示部5に表示させる。具体的には、画像表示制御部181は、各指定点のグラフィック画像信号を生成する。画像表示制御部181は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18aから出力されたグラフィック画像信号とを合成する。これにより、各指定点が第1画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、各指定点が重畳された第1画像を表示する。これにより、ユーザーは、各指定点の位置を認識することができる。
ステップS104において指定点が設定された後、ユーザーは、操作部4を操作することにより、基準距離を指定する。ユーザーは、自身が既に把握している基準距離の長さを数値として指定する。操作部4は、ユーザーにより指定された基準距離を受け付ける。基準寸法設定部184は、取得された第1画像上に基準距離を設定する(ステップS105)。
この例では、基準距離は被写体面上に設定された2つの基準指定点間の距離であり、2点で規定される。しかし、基準距離は2点で規定される距離に限定されない。例えば、被写体上に基準指定点が1点だけ設定され、当該基準指定点から内視鏡先端までの距離(物体距離)が基準距離に設定されてもよい。この場合、基準距離は1点だけで規定される。
ステップS105において基準距離が設定された後、3次元形状復元のための画像が取得される。つまり、撮像素子28は、被写体を第2撮像状態で1回以上撮像することにより1枚以上の第2画像を生成する。CCU9は、生成された1枚以上の第2画像を取得する(ステップS106)。第2画像が1枚である場合は、ステップS102で被写体が撮像されたときのカメラの第1撮像状態とは異なる第2撮像状態での撮像により生成される。また、第2画像が複数枚である場合は、撮像位置および撮像姿勢が互いに異なる複数の第2撮像状態での撮像により生成される。
内視鏡装置1は、計測対象の物体の内部に挿入され、かつ屈曲可能な挿入部2を有する。第1画像および第2画像を生成する撮像素子28が挿入部2に配置されている。第1撮像状態における撮像と第2撮像状態における撮像とが行われる間、または第2撮像状態における複数回の撮像が行われる間に挿入部2が湾曲することにより撮像状態が変更される。カメラの先端の撮像状態を変化させるために、湾曲制御部188は、第1撮像状態における撮像と第2撮像状態における撮像とが行われる間に、湾曲機構を駆動することにより内視鏡先端を湾曲させる。また、湾曲制御部188は、複数の第2撮像状態における撮像が行われる間に、湾曲機構を駆動することにより内視鏡先端を湾曲させる。
湾曲機構の駆動による湾曲制御以外の方法によりカメラの撮像状態が変化してもよい。例えば、第1撮像状態における撮像と第2撮像状態における撮像とが行われる間に、第1の操作、第2の操作、および第3の操作の少なくとも1つがユーザーにより行われてもよい。第1の操作は、ユーザーが挿入部2を被写体の内部に向かって押す操作である。第2の操作は、ユーザーが挿入部2を手元側に引く操作である。第3の操作は、ユーザーが挿入部2を捩じる操作である。複数の第2撮像状態における撮像が行われる間に、第1の操作、第2の操作、および第3の操作の少なくとも1つがユーザーにより行われてもよい。上記のように、第1撮像状態における撮像と第2撮像状態における撮像とが行われる間、または第2撮像状態における複数回の撮像が行われる間にユーザーにより撮像状態が変更されてもよい。
1枚以上の第2画像が取得された後、画像判定部185は、第1画像上に設定された4つの指定点の各々に対応する点が、取得された1枚以上の第2画像に含まれるか否かを判定する。画像判定部185は、CCU9により取得された第2画像のうち、4つの指定点の各々に対応する点が含まれている第2画像のみを抽出する(ステップS107)。
この処理において、画像判定部185は、4つの指定点の各々の座標情報をRAM14から読み出す。画像判定部185は、複数枚の第2画像の各々において、4つの座標情報に対応する4つの対応点を探索する。画像判定部185は、4つの対応点の全てが存在する第2画像のみを抽出し、かつ抽出された第2画像をRAM14に保持する。4つの対応点のうち1つでも存在しない第2画像は破棄され、かつ3次元形状復元処理に使用されない。
取得された第1画像が3次元形状復元処理に使用されない場合、画像判定部185は、ステップS107において複数枚の第2画像を抽出する。取得された第1画像が3次元形状復元処理に使用される場合、画像判定部185は、ステップS107において1枚のみの第2画像を抽出してもよい。
対応点が第2画像に含まれ、かつその対応点が第2画像の画像端にある場合、3次元形状復元の精度が悪化する可能性がある。このため、画像判定部185は、対応点が、第2画像において第2画像の中心を含む所定領域の内側にあるか否かを判定してもよい。画像判定部185は、対応点が、第2画像において第2画像の中心を含む所定領域の内側にある第2画像のみを抽出してもよい。対応点が、第2画像において第2画像の中心を含む所定領域の外側にある場合、画像判定部185は、対応点が第2画像の撮像視野内に写っていないと判断し、その第2画像を3次元形状復元処理の対象から除外してもよい。取得された第1画像が3次元形状復元処理に使用される場合、画像判定部185は、第1画像に対して、上記の判定と同様の判定を行ってもよい。
ステップS107において対応点を含む第2画像が抽出された後、3次元形状復元部186は、抽出された第2画像のみを使用して被写体の3次元形状を復元する(ステップS108)。3次元形状復元処理に関する技術的な処理手順は、前述したとおりである。
ステップS108において被写体の3次元形状が復元された後、計測部187は、被写体の3次元形状データを、長さの次元を持つ3次元座標データに変換する(ステップS109)。このとき、計測部187は、ステップS104において設定された2つの基準指定点と、ステップS105において設定された基準距離とを使用する。
ステップS109の後、計測部187は、ステップS109において得られた3次元座標データに基づいて、公知の計測方法で、2つの計測指定点P3,P4で規定される2点間距離を計測する(ステップS110)。
2点間距離の長さが計測された後、画像表示制御部181は、計測結果を第1画像上に表示させる。例えば、画像表示制御部181は、計測結果のグラフィック画像信号を生成する。画像表示制御部181は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18aから出力されたグラフィック画像信号とを合成する。これにより、計測結果が第1画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、計測結果が重畳された第1画像を表示する(ステップS111)。計測結果は、メモリカード42等の外部メディアに記録されてもよい。ステップS111における処理が実行されることにより、3次元計測処理が終了する。
上記の説明では、3次元形状復元のための複数枚の第2画像のうち、4つの指定点に対応する4つの対応点の全てが含まれる第2画像のみが抽出され、抽出された第2画像に基づいて3次元形状が復元される。しかし、4つの指定点に対応する4つの対応点の全てを含む第2画像を抽出することは必須ではない。例えば、4つの指定点のうちの少なくとも1つに対応する対応点が含まれている第2画像が抽出されてもよい。この場合、対応点は、4つの指定点のいずれに対応する点であっても構わない。また、第2画像が複数ある場合には、抽出される複数の第2画像の全てに、共通の指定点に対応する対応点が含まれるように、第2画像が抽出されても良い。この場合、4つの指定点のうち少なくとも1つが共通の指定点として予め特定され、その共通の指定点に対応する対応点が含まれる第2画像が抽出される。
4つの指定点に対応する4つの対応点が含まれる第2画像の全ての抽出は必須ではない。4つの対応点が含まれる複数枚の第2画像のうちの一部のみが抽出されてもよい。つまり、抽出する第2画像が間引きされてもよい。3次元形状復元処理の精度が許容できる範囲内で、3次元形状復元処理に使用される画像の枚数が減ることにより、処理時間をより短縮することができる。
第1の実施形態では、基準距離の設定(ステップS105)が実行された後、3次元形状の復元(ステップS108)が実行される。つまり、3次元形状復元処理が実行される前に基準寸法設定処理が実行される。言い換えると、3次元形状復元部186が3次元形状を復元する前に、基準寸法設定部184は、CCU9により取得された第1画像上に基準寸法を設定する。基準距離の設定(ステップS105)が実行されるタイミングは、長さの次元を持つ3次元座標データへの変換処理(ステップS109)が実行されるタイミングの前であればいつでもよい。例えば、3次元形状の復元(ステップS108)が実行された後、基準距離の設定(ステップS105)が実行されてもよい。つまり、3次元形状復元処理が実行された後に基準寸法設定処理が実行されてもよい。言い換えると、3次元形状復元部186が3次元形状を復元した後に、基準寸法設定部184は、3次元形状復元部186により復元された3次元形状上に基準寸法を設定してもよい。
指定点および基準距離は、ユーザーの指示により決定されるとは限らない。内視鏡装置1が指定点および基準距離の少なくとも1つを決定するための支援機能を有し、かつユーザーが指定点および基準距離の少なくとも1つの最終決定を行ってもよい。あるいは、内視鏡装置1が指定点および基準距離の少なくとも1つの最終決定を行ってもよい。本発明の各実施形態では、分かりやすさを重視するため、ユーザーにより指定点および基準距離が指定される場合を想定している。
本発明の各実施形態では、2点間計測が行われる場合を想定しているので、計測指定点として2点が指定される。しかし、2点間計測以外の計測、例えば面基準計測が行われる場合には、5つの基準指定点および1つの計測指定点が指定される。このように、ユーザーが指定する点の数が変化する可能性がある。
第1の実施形態では、指定点の設定(ステップS104)が実行された後、第2画像の取得(ステップS106)が実行される。つまり、第2画像取得処理が実行される前に指定点設定処理が実行される。言い換えると、CCU9が第2画像を取得する前に、指定点設定部183は、CCU9により取得された第1画像上に指定点を設定している。しかしながら、指定点の設定のタイミングはこれに限られない。指定点の設定は、少なくとも3次元形状の復元に使われる画像の抽出(ステップS107)が実行される前に実行されればよい。
例えば、第2画像の取得(ステップS106)が実行された後、指定点の設定(ステップS104)が実行されてもよい。つまり、第2画像取得処理が実行された後に指定点設定処理が実行されてもよい。言い換えると、CCU9が第2画像を取得した後に指定点設定部183は指定点を設定してもよい。
CPU18aは、画像表示制御部181、カーソル表示制御部182、および湾曲制御部188の少なくとも1つを有していなくてもよい。これらは、本発明の必須構成ではない。
図6に示す処理において、ステップS101、ステップS103、およびステップS111の少なくとも1つにおける処理が実行されなくてもよい。これらは、本発明の必須処理ではない。
上記のように、第1画像上に設定された指定点に対応する対応点を含む第2画像のみに基づいて3次元形状の復元が実行される。対応点を含まない第2画像に対しては3次元形状の復元が実行されない。これにより、従来の構成と比較して、3次元形状復元処理の時間が短縮される。このため、内視鏡装置1は、計測結果が表示部5に表示されることによりユーザーが計測結果を得るまでの計測処理時間を大幅に短縮することができる。このため、検査効率が向上する。
(第1の実施形態の変形例)
本発明の第1の実施形態の変形例において、指定点の設定処理は、計測指定点の設定処理および基準指定点の設定処理に分割される。3次元形状復元処理が実行される前に計測指定点の設定処理が実行される。つまり、3次元形状復元部186が3次元形状を復元する前に指定点設定部183は、CCU9により取得された第1画像上に計測指定点を設定する。また、3次元形状復元処理が実行された後に基準指定点の設定処理が実行される。つまり、指定点設定部183は、3次元形状復元部186により復元された3次元形状上に基準指定点を設定する。
第1の実施形態の変形例において、第1の実施形態におけるCPU18aは、図8に示すCPU18bに変更される。図8は、CPU18bの機能構成を示す。図8に示す構成について、図3に示す構成と異なる点を説明する。
CPU18bは、図3に示す構成に加えて、3次元形状表示制御部189を有する。3次元形状表示制御部189は、3次元形状表示処理を実行する。3次元形状表示制御部189は、3次元形状表示処理において、ユーザーが指定点を指定するための3次元形状を表示部5に表示させる。例えば、3次元形状表示制御部189は、3次元形状復元部186により復元された3次元形状のグラフィック画像信号を生成する。3次元形状表示制御部189は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号を表示部5に出力する。表示部5は、3次元形状を表示する。
指定点設定部183は、CCU9により取得された第1画像上に計測指定点を設定する。指定点設定部183により計測指定点が設定された後、画像判定部185は、計測指定点に対応する点が1枚以上の第2画像に含まれるか否かを判定する。3次元形状復元部186は、画像判定処理により計測指定点に対応する点が含まれると判定された第2画像を含む複数の画像を用いて、計測対象の物体の3次元形状を復元する。指定点設定部183は、3次元形状復元部186により復元された3次元形状上に基準指定点を設定する。
上記以外の点について、図8に示す構成は、図3に示す構成と同様である。
図9を使用して、第1の実施形態の変形例における3次元計測処理について説明する。図9は、3次元計測処理の手順を示す。図9に示す処理について、図6に示す処理と異なる点を説明する。
ステップS103において第1画像が表示部5に表示された後、ユーザーは、操作部4を操作することにより、表示された第1画像上に2つの計測指定点を指定する。操作部4は、ユーザーにより指定された2つの計測指定点を受け付ける。指定点設定部183は、取得された第1画像上に2つの計測指定点を設定する(ステップS1041)。ステップS1041において2つの計測指定点が設定された後、ステップS106における処理が実行される。
ステップS106において第2画像が取得された後、画像判定部185は、設定された2つの計測指定点の各々に対応する点が、取得された1枚以上の第2画像に含まれるか否かを判定する。画像判定部185は、CCU9により取得された第2画像のうち、2つの計測指定点の各々に対応する点を含む第2画像のみを抽出する。このとき、画像判定部185は、2つの計測指定点に対応する2つの点の全てが存在する第2画像のみを抽出する(ステップS1071)。ステップS1071において第2画像が抽出された後、ステップS108における処理が実行される。
ステップS108において3次元形状が復元された後、3次元形状表示制御部189は、3次元形状復元部186により復元された3次元形状を表示部5に表示させる(ステップS121)。ステップS121において3次元形状が表示された後、ユーザーは、操作部4を操作することにより、表示された3次元形状上に2つの基準指定点を指定する。操作部4は、ユーザーにより指定された2つの基準指定点を受け付ける。指定点設定部183は、復元された3次元形状上に2つの基準指定点を設定する(ステップS1042)。
ステップS1042において2つの基準指定点が設定された後、ステップS105における処理が実行される。ステップS105において基準寸法設定部184は、復元された3次元形状上に基準距離を設定する。基準距離が設定された後、ステップS109における処理が実行される。なお、基準距離の設定は、3次元形状復元処理よりも前に行われてもよい。
また、3次元形状復元処理が実行される前に基準指定点の設定処理が実行され、かつ3次元形状復元処理が実行された後に計測指定点の設定処理が実行されてもよい。つまり、指定点設定部183は、CCU9により取得された第1画像上に2つの基準指定点を設定し、復元された3次元形状上に2つの計測指定点を設定してもよい。
上記以外の点について、図9に示す処理は、図6に示す処理と同様である。
このように、3次元形状復元のための第2画像が取得される前に、いずれか一方の指定点(計測指定点もしくは基準指定点)のみの設定が実行されることにより、ユーザーによる指定点の入力にかかる時間が短縮される。このため、内視鏡装置1は、第2画像の取得に速やかに移行することができる。
(第2の実施形態)
図3に示すCPU18aを使用して、本発明の第2の実施形態を説明する。
第2の実施形態において、CCU9が第2画像を取得した後に指定点設定部183は、CCU9により取得された第1画像上に指定点を設定する。つまり、第2画像取得処理が実行された後に指定点設定処理が実行される。
図10を使用して、第2の実施形態における3次元計測処理について説明する。図10は、3次元計測処理の手順を示す。図10に示す処理について、図6に示す処理と異なる点を説明する。
ステップS103において第1画像が表示部5に表示された後、ステップS106における第2画像取得処理が実行される。第2画像が取得された後、ステップS104における指定点設定処理が実行される。指定点は、表示部5に表示されている第1画像上に設定される。指定点が設定された後、ステップS107における処理が実行される。
ステップS108において3次元形状が復元された後、ステップS105における基準距離設定処理が実行される。基準寸法設定部184は、復元された3次元形状上に基準距離を設定する。基準距離が設定された後、ステップS109における処理が実行される。なお、基準距離の設定は、3次元形状が復元される前に、行われてもよい。
上記以外の点について、図10に示す処理は、図6に示す処理と同様である。
第1の実施形態では、2つの計測指定点および2つの基準指定点を含む4つの指定点が設定された後、3次元形状復元のための第2画像が取得される。ユーザーにより4つの指定点が決定されるまでに時間が長くかかる場合がある。このため、第2画像が取得されるとき、計測モード移行時にユーザーが決定した構図から被写体が外れる可能性がある。被写体が構図から外れることにより、注目領域がフレームアウトする可能がある。その場合、ユーザーは構図を再度決定する必要がある。ユーザーが構図を再度決定するためには、ユーザーは内視鏡装置1のモードを計測モードから検査モードに戻す必要がある。このため、使い勝手が悪い場合がある。
第2の実施形態では、指定点入力のための第1画像が取得された直後に3次元形状復元のための第2画像が取得される。第2画像が取得された後に指定点が設定される。このため、ユーザーが指定点を指定する前に、第2画像の取得が完了している。これにより、指定点入力のための第1画像が取得されてから、もしくは第1画像が表示されてから、3次元形状復元のための第2画像が取得するまでの時間が短縮される。このため、ユーザーによる指定点の入力に時間がかかった場合であっても、第2画像における構図が、ユーザーが所望する構図からずれることを抑制することができる。ユーザーが所望する構図は、指定点入力のための第1画像が取得されたときの構図である。
(第3の実施形態)
図3に示すCPU18aを使用して、本発明の第3の実施形態を説明する。
第3の実施形態において、第2画像取得処理および指定点設定処理は、並行的に実行される。言い換えると、CCU9による第2画像の取得と、指定点設定部183による指定点の設定とは、並行的に実行される。また、第2画像取得処理および基準寸法設定処理は、並行的に実行される。言い換えると、CCU9による第2画像の取得と、基準寸法設定部184による基準寸法の設定とは、並行的に実行される。
図11を使用して、第3の実施形態における3次元計測処理について説明する。図11は、3次元計測処理の手順を示す。図11に示す処理について、図6に示す処理と異なる点を説明する。
ステップS102において第1画像が取得された後、ステップS103およびステップS106における処理が実行される。つまり、3次元形状復元のための第2画像の取得と指定点入力のための第1画像の表示とが並行的に実行される。ステップS106における処理は、バックグラウンド処理として実行される。
ステップS103において第1画像が表示部5に表示された後、ステップS104およびステップS105における処理が実行される。つまり、第2画像の取得と指定点の設定とが並行的に実行される。また、第2画像の取得と基準距離の設定とが並行的に実行される。ステップS105において基準距離が設定され、かつステップS106において第2画像が取得された後、ステップS107における処理が実行される。
指定点設定部183は、第2画像の取得開始タイミングから第2画像の取得終了タイミングまでの期間において、指定点を設定する。第2画像の取得開始タイミングにおいて、撮像素子28による第2撮像状態における撮像と、CCU9による第2画像の取得とが開始される。第2画像の取得終了タイミングにおいて、撮像素子28による第2撮像状態における撮像と、CCU9による第2画像の取得とが終了する。基準寸法設定部184は、第2画像の取得開始タイミングから第2画像の取得終了タイミングまでの期間において、基準寸法を設定する。
上記以外の点について、図11に示す処理は、図6に示す処理と同様である。
ステップS104およびステップS105における処理では、ユーザーによる操作が行われる。そしてこのユーザーによる操作には、ある程度の時間を要することが予め想定される。この時間が、3次元形状復元のための第2画像の取得に利用される。ステップS105において基準距離が設定されたときには、第2画像の取得が既に完了している可能性がある。その結果、ステップS107における第2画像の抽出処理を速やかに開始できる可能性がある。少なくとも、基準距離の設定が完了した後に第2画像の取得が開始される第1の実施形態と比較して、ユーザーは明らかに画像取得時間が短いと感じることができる。
上記のように、ユーザーによる操作が必要である処理と、3次元形状復元のための第2画像の取得とが並行的に実行される。これにより、ユーザーが計測結果を受け取るまでの時間が大幅に短縮され、かつ検査効率が向上する。
(第4の実施形態)
本発明の第4の実施形態において、第1の実施形態におけるCPU18aは、図12に示すCPU18cに変更される。図12は、CPU18cの機能構成を示す。図12に示す構成について、図3に示す構成と異なる点を説明する。
CPU18cは、図3に示す構成に加えて、部分領域設定部190および平滑化部191を有する。部分領域設定部190は、部分領域設定処理を実行する。部分領域設定部190は、部分領域設定処理において、指定点設定部183により設定された指定点の位置に基づいて、CCU9により取得された第1画像上に部分領域を設定する。画像判定部185は、部分領域に対応する領域が1枚以上の第2画像に含まれるか否かを判定する。画像判定部185は、CCU9により取得された第2画像のうち、部分領域に対応する領域を含む第2画像を抽出または選択する。このとき、画像判定部185は、部分領域に対応する領域の全体を含む第2画像を抽出または選択する。
平滑化部191は、平滑化処理を実行する。平滑化部191は、平滑化処理において、3次元形状復元部186により復元された3次元形状のうち、部分領域に対応する部分を平滑化する。計測部187は、平滑化部191により平滑化された3次元形状、指定点、および基準寸法に基づいて、計測対象の物体の計測を行う。
上記以外の点について、図12に示す構成は、図3に示す構成と同様である。
図13を使用して、第4の実施形態における3次元計測処理について説明する。図13は、3次元計測処理の手順を示す。図13に示す処理について、図6に示す処理と異なる点を説明する。
ステップS104において指定点が設定された後、部分領域設定部190は、設定された指定点の位置に基づいて、CCU9により取得された第1画像上に部分領域を設定する(ステップS201)。
ステップS201における処理の詳細を説明する。部分領域設定部190は、ユーザーにより指定された2つの基準指定点および2つの計測指定点の各々に対して、各指定点を含む部分領域を設定する。図14は、表示部5の画面を示す。図14に示すように、第1画像502が表示される。この例では、表示部5に表示された第1画像502上に2つの基準指定点P1,P2および2つの計測指定点P3,P4が設定される。
さらに、基準指定点P1に対して部分領域A1が設定され、基準指定点P2に対して部分領域A2が設定され、計測指定点P3に対して部分領域A3が設定され、かつ計測指定点P4に対して部分領域A4が設定される。各部分領域A1からA4は、各指定点を領域の中心にもつ矩形状の領域である。全ての部分領域A1からA4は、同じ形状および同じ大きさをもつように設定されている。部分領域設定部190は、各部分領域A1からA4の各位置(座標)を算出する。4つの部分領域の位置情報(座標情報)は、RAM14に保持される。例えば、部分領域の位置情報は、部分領域の代表点の位置情報(座標情報)と部分領域の大きさ情報とを含む。部分領域が特定の第1画像に関連付けられることにより、部分領域が設定される。
4つの部分領域A1からA4は、表示部5に表示される。画像表示制御部181は、部分領域A1からA4を表示部5に表示させる。具体的には、画像表示制御部181は、各部分領域のグラフィック画像信号を生成する。画像表示制御部181は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18cから出力されたグラフィック画像信号とを合成する。これにより、各部分領域が第1画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、各部分領域が重畳された第1画像を表示する。例えば、各部分領域は線で表示される。これにより、ユーザーは、部分領域の位置を認識することができる。
ステップS201において部分領域が設定された後、ステップS105における処理が実行される。ステップS106において第2画像が取得された後、画像判定部185は、4つの部分領域の各々に対応する領域が、取得された1枚以上の第2画像に含まれるか否かを判定する。画像判定部185は、CCU9により取得された第2画像のうち、4つの部分領域の各々に対応する領域を含む第2画像のみを抽出する(ステップS202)。
この処理において、画像判定部185は、4つの部分領域の各々の座標情報をRAM14から読み出す。画像判定部185は、複数枚の第2画像の各々において、4つの座標情報に対応する4つの対応領域を探索する。画像判定部185は、4つの対応領域の全てが存在する第2画像のみを抽出し、かつ抽出された第2画像をRAM14に保持する。4つの対応領域の少なくとも1つが存在しない第2画像は破棄され、かつ3次元形状復元処理に使用されない。
ステップS202において部分領域を含む第2画像が抽出された後、ステップS108における処理が実行される。ステップS108において被写体の3次元形状が復元された後、平滑化部191は、復元された3次元形状のうち、部分領域に対応する部分を平滑化する(ステップS203)。平滑化処理の具体例として、ガウシアンフィルターおよびメディアンフィルター等の公知技術がある。
ステップS203において平滑化処理が実行された後、ステップS109における処理が実行される。ステップS109において計測部187は、平滑化された3次元形状データを、長さの次元を持つ3次元座標データに変換する。ステップ109における処理が実行された後、ステップS110における処理が実行される。ステップS110において計測部187は、平滑化された3次元形状データから得られた3次元座標データに基づいて、公知の計測方法で、2つの計測指定点P3,P4で規定される2点間距離の長さを計測する。
上記以外の点について、図13に示す処理は、図6に示す処理と同様である。
上記の例では、矩形状の部分領域が設定される。部分領域の形状は矩形に限らない。部分領域の形状は、円、楕円、および多角形のような形状であってもよい。また、部分領域の大きさも制限されない。
上記の例では、部分領域は、ユーザーにより指定された指定点が部分領域の中央に位置するように設定される。ただし、指定点の位置に対して設定される部分領域の位置は、これに限られない。部分領域は、指定点の位置から特定の距離および方向に離間した位置に設定されてもよい。
ステップS203において平滑化処理が実行されなくてもよい。したがって、CPU18cが平滑化部191を有していなくてもよい。
上記のように、第1画像上に設定された部分領域を含む第2画像のみに基づいて3次元形状の復元が実行される。部分領域を含まない第2画像に対しては3次元形状の復元が実行されない。これにより、従来の構成と比較して、3次元形状復元処理の時間が短縮される。このため、内視鏡装置1は、計測結果が表示部5に表示されることによりユーザーが計測結果を得るまでの計測処理時間を大幅に短縮することができる。このため、検査効率が向上する。
また、部分領域のみを含む第2画像を3次元形状復元処理に使用することにより、処理時間に影響のない範囲において、部分領域を含む注目領域に平滑化処理を実行することができる。これにより、部分領域の3次元形状のばらつきが抑制される。その結果、計測精度が向上する。
(第5の実施形態)
本発明の第5の実施形態において、第1の実施形態におけるCPU18aは、図15に示すCPU18dに変更される。図15は、CPU18dの機能構成を示す。図15に示す構成について、図3に示す構成と異なる点を説明する。
CPU18dは、図3に示す構成に加えて、指標算出部192(計測信頼度算出部)、計測信頼度判定部193、および通知制御部194を有する。指標算出部192は、指標算出処理を実行する。指標算出部192は、指標算出処理において、復元された3次元形状に基づいて、設定された指定点に対応する点の計測信頼度の指標を算出する。計測信頼度判定部193は、計測信頼度判定処理を実行する。計測信頼度判定部193は、計測信頼度判定処理において、指標算出部192により算出された指標と所定の閾値とを比較することにより、計測信頼度を判定する。計測部187は、計測信頼度判定部193により計測信頼度が高いと判定された場合に計測対象の物体の計測を行う。つまり、計測部187は、CCU9により取得された第2画像のうち、計測信頼度判定部193により計測信頼度が高いと判定された第2画像を使用して計測を行う。
通知制御部194は、計測信頼度通知処理を実行する。通知制御部194は、計測信頼度通知処理において、計測信頼度判定部193により判定された計測信頼度をユーザーに通知する。具体的には、通知制御部194は、計測信頼度判定部193により判定された計測信頼度を示すメッセージを第1画像上に表示させる。例えば、通知制御部194は、メッセージのグラフィック画像信号を生成する。通知制御部194は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18dから出力されたグラフィック画像信号とを合成する。これにより、メッセージが第1画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、メッセージが重畳された第1画像を表示する。メッセージは、計測信頼度判定部193による判定の結果を示す。
上記以外の点について、図15に示す構成は、図3に示す構成と同様である。
図16を使用して、第5の実施形態における3次元計測処理について説明する。図16は、3次元計測処理の手順を示す。図16に示す処理について、図6に示す処理と異なる点を説明する。
ステップS108において被写体の3次元形状が復元された後、指標算出部192は、設定された指定点における計測信頼度の指標を算出する。具体的には、指標算出部192は、復元された3次元形状において、指定点に対応する点における計測信頼度の指標を算出する(ステップS301)。
ステップS301における処理の詳細を説明する。指標算出部192は、第1画像上にて設定された4つの指定点と、復元された被写体の3次元形状とに基づいて、各指定点における計測信頼度の指標を計算する。第5の実施形態における計測信頼度は、復元された3次元形状が計測(または基準)に適しているか否かを示す。指標算出部192は、3次元形状復元処理において生成される様々な要因に基づく指標を、4つの指定点の各々に対して算出する。例えば、計測信頼度の指標は、3次元形状復元処理におけるマッチング処理時に算出される相関値および物体距離等の値である。指標算出部192は、算出された各指標の各値を適宜組み合わせることにより、各指定点における計測信頼度の指標を算出する。第5の実施形態では4つの指定点に対応する4つの計測信頼度に関する指標が算出される。
ステップS301において計測信頼度の指標が算出された後、計測信頼度判定部193は、ステップS301において算出された4つの指標のそれぞれと所定の閾値とを比較することにより計測信頼度を判定する(ステップS302)。4つの指定点に対応する4つの指標の全てが所定の閾値以上である場合、計測信頼度判定部193は、計測信頼度が高い、すなわち3次元形状が計測に適していると判定する。4つの指定点に対応する4つの指標のうち、少なくとも1つが所定の閾値よりも小さい場合、計測信頼度判定部193は、計測信頼度が低い、すなわち3次元形状が計測に適していないと判定する。
ステップS302において計測信頼度が高いと計測信頼度判定部193が判定した場合、ステップS109における処理が実行される。ステップS302において計測信頼度が低いと計測信頼度判定部193が判定した場合、通知制御部194は、計測信頼度判定部193により判定された計測信頼度を示すメッセージを第1画像上に表示させる。これにより、通知制御部194は、3次元形状が計測に適していないことをユーザーに通知する(ステップS303)。通知制御部194は、計測信頼度の判定結果に加えて、その判定結果に至った理由および解決策を第1画像上に表示させてもよい。
ステップS303における処理が実行されることにより、3次元計測処理が終了する。ステップS302において計測信頼度が低いと計測信頼度判定部193が判定した場合、ステップS106において第2画像が取得されてもよい。あるいは、内視鏡装置1のモードが計測モードから検査モードへと移行してもよい。
上記以外の点について、図16に示す処理は、図6に示す処理と同様である。
なお、第4の実施形態のように部分領域A1からA4が設定される場合、ステップS301において指標算出部192は、復元された被写体の3次元形状と、設定された4つの部分領域A1からA4とに基づいて、4つの部分領域A1からA4の各々に対してそれぞれ指標を算出する。例えば、指標算出部192は、各種要因から算出される指標に対して、式(4)に示すような重み付き線形和により最終的な指標Eを算出する。
式(4)は、部分領域A1における指標Eを示す。式(4)におけるeiは、各要因の指標を示す。式(4)におけるwiは、各要因の重み量を示す。式(4)におけるNは、想定される要因の数を示す。部分領域A2からA4における指標Eも、式(4)と同様の演算により算出される。指標算出部192は、部分領域A1からA4の全ての指標を合計することにより最終的な指標を算出してもよい。
計測信頼度の指標の算出方法は、上記の方法に限らない。例えば、計測信頼度の指標は複数種類あってもよい。指標の算出方法は、各要因の指標の論理演算であってもよい。
通知制御部194は、計測信頼度を示すマーク等を第1画像上に表示させてもよい。ステップS302において計測信頼度が高いと計測信頼度判定部193が判定した場合も、通知制御部194は計測信頼度をユーザーに通知してもよい。ユーザーへの計測信頼度の通知方法は、表示部5による情報の表示に限らない。例えば、計測信頼度を示す音声が出力されてもよい。
ステップS303においてユーザーに対する通知が実行されなくてもよい。したがって、CPU18dが通知制御部194を有していなくてもよい。
上記のように、復元された3次元形状に基づいて計測信頼度の指標が算出され、かつその指標に基づいて計測信頼度が判定される。これにより、計測結果の精度が低くなりそうだと判断されているにもかかわらず寸法計測処理が実行されるという状況を回避することができる。このため、検査効率が向上する。
(第6の実施形態)
図15に示すCPU18dを使用して、本発明の第6の実施形態を説明する。
第6の実施形態において、指標算出部192は、指定点設定部183により設定された指定点における計測信頼度の指標を算出する。指標算出部192は、CCU9により取得された第2画像において、指定点に対応する点における計測信頼度の指標を算出する。
図17および図18を使用して、第6の実施形態における3次元計測処理について説明する。図17および図18は、3次元計測処理の手順を示す。図17および図18に示す処理について、図16に示す処理と異なる点を説明する。
ステップS105において基準距離が設定された後、撮像素子28は、被写体を第2撮像状態で1回撮像することにより1枚の第2画像を生成する。CCU9は、生成された1枚の第2画像を取得する(ステップS311)。
ステップS311において1枚の第2画像が取得された後、画像判定部185は、ステップS104において第1画像上に設定された4つの指定点の各々に対応する点が、ステップS311において取得された1枚の第2画像に含まれるか否かを判定する(ステップS312)。
この処理において、画像判定部185は、4つの指定点の各々の、第1画像上の座標情報をRAM14から読み出す。画像判定部185は、読み出した4つの座標情報に対応する4つの対応点を、1枚の第2画像から探索する。4つの対応点の少なくとも1つが第2画像に含まれないと画像判定部185が判定した場合、ステップS311における処理が実行される。このとき、ステップS311において前回被写体が撮像されたときのカメラの第2撮像状態とは異なる第2撮像状態での撮像が実行される。
4つの対応点の全てが第2画像に含まれると画像判定部185が判定した場合、指標算出部192は、ステップS104において設定された指定点における計測信頼度の指標を算出する。具体的には、指標算出部192は、ステップS106において取得された第2画像において、指定点に対応する点における計測信頼度の指標を算出する(ステップS313)。
ステップS313における処理の詳細を説明する。指標算出部192は、ステップS311において取得された第2画像と、ステップS104において第1画像上に設定された4つの指定点とに基づいて、各指定点における計測信頼度の指標を計算する。第6の実施形態における計測信頼度は、3次元形状復元のための第2画像が計測(または基準)に適しているか否かを示す。指標算出部192は、4つの指定点の各々に対して指標を算出する。例えば、計測信頼度の指標は、様々なマッチング阻害要因による計測への影響度である。複数のマッチング阻害要因が存在しうる。例えば、マッチング阻害要因は、ハレーションおよびオクルージョンである。あるいは、計測信頼度の指標は、内視鏡先端のブレの発生量である。複数枚の第2画像が取得される場合、計測信頼度の指標は、第2画像における指定点の移動量であってもよい。指標算出部192は、算出された各値を適宜組み合わせることにより、各指定点における計測信頼度の指標を算出する。第6の実施形態では4つの指定点に対応する4つの指標が算出される。
ステップS313において計測信頼度の指標が算出された後、ステップS302における計測信頼度判定処理が実行される。計測信頼度が低いと計測信頼度判定部193が判定した場合、第2画像は破棄され、3次元形状復元処理に使用されない。計測信頼度が高いと計測信頼度判定部193が判定した場合、画像判定部185は、第2画像をRAM14に保持する(ステップS314)。
ステップS314において第2画像がRAM14に保持された後、画像判定部185は、RAM14に所定枚数の第2画像が保持されたか否かを判定する(ステップS315)。所定枚数は、2以上の整数である。
所定枚数の第2画像が保持されていないと画像判定部185が判定した場合、ステップS311における処理が実行される。このとき、ステップS311において前回被写体が撮像されたときのカメラの第2撮像状態とは異なる第2撮像状態での撮像が実行される。
所定枚数の第2画像が保持されたと画像判定部185が判定した場合、3次元形状復元部186は、RAM14に保持されている所定枚数の第2画像のみを使用して、被写体の3次元形状を復元する(ステップS316)。ステップS316における処理が実行された後、ステップS109における処理が実行される。
上記以外の点について、図17および図18に示す処理は、図16に示す処理と同様である。
上記のように、3次元形状が復元される前に取得された第2画像に基づいて計測信頼度の指標が算出され、かつその指標に基づいて計測信頼度が判定される。これにより、計測結果の精度が低くなりそうだと判断されているにもかかわらず寸法計測処理が実行されるという状況を回避することができる。このため、検査効率が向上する。
(第7の実施形態)
本発明の第1から第6の実施形態の内視鏡装置1は、指定点の位置に基づいて効率的に3次元形状復元処理を実行する特徴を有する。本発明の第7から第11の実施形態の内視鏡装置1は、指定点の位置に基づいて効率的に第2画像を取得する特徴を有する。本発明の第7の実施形態の内視鏡装置1は、指定点の位置に基づいて、第2画像を取得するカメラの第2撮像状態を自動的に算出する特徴がある。
本発明の第7の実施形態において、第1の実施形態におけるCPU18aは、図19に示すCPU18eに変更される。図19は、CPU18eの機能構成を示す。図19に示す構成について、図3に示す構成と異なる点を説明する。
CPU18eは、図3に示す構成のうち画像判定部185を除く構成を有する。1つ以上の第2撮像状態では、指定点設定部183により設定された指定点に対応する位置が撮像視野に含まれる。つまり、指定点に対応する位置が撮像視野に含まれるとき、撮像素子28は被写体を第2撮像状態で撮像する。
上記以外の点について、図19に示す構成は、図3に示す構成と同様である。
図20を使用して、第7の実施形態における3次元計測処理について説明する。図20は、3次元計測処理の手順を示す。図20に示す処理について、図6に示す処理と異なる点を説明する。
第7の実施形態において、指定点入力のための1枚の第1画像が3次元形状復元のための画像として使用されることを想定している。3次元形状復元部186は、1枚の第1画像および1枚の第2画像を使用して、3次元形状を復元する。
ステップS105において基準距離が設定された後、3次元形状復元のための第2画像を取得するための準備が行われる。その準備として、指定点入力のための第1画像が取得されたときの第1撮像状態から、第2画像が取得されるときの第2撮像状態へと撮像状態を変化させるための変化量が算出される。具体的には、湾曲制御部188は、第1画像と、ステップS102において取得された第1画像における指定点の位置とに基づいて、内視鏡先端の湾曲駆動方向を算出する(ステップS401)。
ステップS401における処理の詳細を説明する。図21は、表示部5の画面を示す。図21に示すように、第1画像503が表示される。この例では、表示部5に表示された第1画像503上に2つの基準指定点P1,P2および2つの計測指定点P3,P4が設定される。湾曲制御部188は、撮像視野(第1画像503)の中心位置C1と、4つの指定点の重心位置G1とを算出する。重心位置G1は4つの指定点の位置に基づいて算出される。湾曲制御部188は、4つの指定点の重心位置G1から撮像視野の中心位置C1に向かう方向D1を算出する。そして湾曲制御部188は、4つの指定点の重心位置G1が撮像視野の中心位置C1に向かって方向D1に沿って移動するような、挿入部2の先端20の湾曲駆動方向を求める。湾曲駆動方向は方向D1とは正反対である。湾曲駆動方向は、算出した方向D1に基づいて算出される。
ステップS401において湾曲駆動方向が算出された後、湾曲制御部188は、メモリに予め記憶されている湾曲駆動量を読み出す(ステップS402)。例えば、湾曲駆動量はROM13に記憶されている。この湾曲駆動量は、指定点位置、重心位置G1、および湾曲駆動方向に関わらず一定値(固定値)である。
ステップS402において湾曲駆動量が読み出された後、湾曲制御部188は、湾曲駆動方向および湾曲駆動量に基づいて、挿入部2の先端20を湾曲させるための命令を生成する。湾曲制御部188により生成された命令は、制御インタフェース17を介して内視鏡ユニット8に出力される。内視鏡ユニット8は、その命令に基づいて挿入部2の先端20を湾曲させる(ステップS403)。これにより、指定点に対応する位置が撮像視野に含まれ、かつ指定点に対応する位置が撮像視野の中心に近づくように挿入部2の先端20が湾曲する。その結果、第2画像が取得されるとき、指定点に対応する点が撮像視野から外れる可能性が低減する。
ステップS403において湾曲駆動が実行された後、撮像素子28は、被写体を第2撮像状態で1回撮像することにより1枚の第2画像を生成する。CCU9は、生成された1枚の第2画像を取得する(ステップS404)。
ステップS404において1枚の第2画像が取得された後、3次元形状復元部186は、取得された第1画像と第2画像とを使用して被写体の3次元形状を復元する(ステップS405)。ステップS405において被写体の3次元形状が復元された後、ステップS109における処理が実行される。
上記以外の点について、図20に示す処理は、図6に示す処理と同様である。
上記の例では、湾曲駆動方向を算出するために4つの指定点の重心位置が算出される。湾曲駆動方向の算出方法は、上記の方法に限らない。例えば、2つの計測指定点のみ、あるいは2つの基準指定点のみの重心位置が算出されてもよい。あるいは、最初に指定された1つの指定点から撮像視野の中心位置C1に向かう方向が湾曲駆動方向として算出されてもよい。また、画面の横方向が湾曲駆動方向として算出されてもよい。
第7の実施形態では、基準距離の設定(ステップS105)が実行された後、3次元形状の復元(ステップS405)が実行される。つまり、3次元形状復元部186が3次元形状を復元する前に、基準寸法設定部184は、CCU9により取得された第1画像上に基準寸法を設定する。しかしながら、基準距離の設定が実行されるタイミングは、ステップS109における処理が実行されるタイミングの前であればいつでもよい。例えば、3次元形状の復元が実行された後、基準距離の設定が実行されてもよい。つまり、3次元形状復元部186が3次元形状を復元した後に、基準寸法設定部184は、3次元形状復元部186により復元された3次元形状上に基準寸法を設定してもよい。
第1の実施形態の変形例と同様に、指定点の設定処理は、計測指定点の設定処理および基準指定点の設定処理に分割されてもよい。例えば、3次元形状復元処理が実行される前に計測指定点の設定処理が実行される。つまり、3次元形状復元部186が3次元形状を復元する前に指定点設定部183は、CCU9により取得された第1画像上に計測指定点を設定する。また、3次元形状復元処理が実行された後に基準指定点の設定処理が実行される。つまり、指定点設定部183は、3次元形状復元部186により復元された3次元形状上に基準指定点を設定する。
3次元形状復元処理が実行される前に基準指定点の設定処理が実行され、かつ3次元形状復元処理が実行された後に計測指定点の設定処理が実行されてもよい。つまり、3次元形状復元部186が3次元形状を復元する前に指定点設定部183は、CCU9により取得された第1画像上に基準指定点を設定してもよい。指定点設定部183は、3次元形状復元部186により復元された3次元形状上に計測指定点を設定してもよい。
上記のように、第1画像上に設定された指定点に基づいて第2画像が取得される。このため、3次元形状復元処理に使用される第2画像の抽出(選択)処理を省略することができる。これにより、内視鏡装置1は、計測結果が表示部5に表示されることによりユーザーが計測結果を得るまでの計測処理時間を大幅に短縮することができる。このため、検査効率が向上する。
(第8の実施形態)
本発明の第8の実施形態において、第1の実施形態におけるCPU18aは、図22に示すCPU18fに変更される。図22は、CPU18fの機能構成を示す。図22に示す構成について、図3に示す構成と異なる点を説明する。
CPU18fは、図3に示す構成に加えて、撮像状態算出部195を有する。3次元形状復元部186が3次元形状を復元する前に、画像判定部185は、第2画像が3次元形状の復元に使用する画像として適切であるか否かを判定する。画像判定部185により、第2画像が3次元形状の復元に使用する画像として適切であると判定された場合に、3次元形状復元部186は3次元形状を復元する。
画像判定部185により、第2画像が3次元形状の復元に使用する画像として不適切であると判定された場合に、撮像状態算出部195は、撮像状態算出処理を実行する。撮像状態算出部195は、撮像状態算出処理において、撮像位置および撮像姿勢の少なくとも1つを算出する。撮像素子28は、撮像状態算出部195により算出された撮像位置および撮像姿勢の少なくとも1つで計測対象の物体を撮像することにより第2画像を生成する。CCU9は、撮像状態算出部195により算出された撮像位置および撮像姿勢の少なくとも1つで計測対象の物体を撮像することにより生成された第2画像を取得する。
上記以外の点について、図22に示す構成は、図3に示す構成と同様である。
図23および図24を使用して、第8の実施形態における3次元計測処理について説明する。図23および図24は、3次元計測処理の手順を示す。図23および図24に示す処理について、図20に示す処理と異なる点を説明する。
ステップS105において基準距離が設定された後、湾曲制御部188は、メモリに予め記憶されている湾曲駆動方向および湾曲駆動量を読み出す(ステップS411)。例えば、湾曲駆動方向および湾曲駆動量はROM13に記憶されている。湾曲駆動方向は、一定方向(固定方向)である。湾曲駆動量は、一定値(固定値)である。ステップS411において湾曲駆動方向および湾曲駆動量が読み出された後、ステップS403における処理が実行される。ステップS403において挿入部2の先端20は所定方向に湾曲する。
ステップS404において1枚の第2画像が取得された後、画像判定部185は、ステップS104においてRAM14に保持された指定点の座標情報をRAM14から読み出す。画像判定部185は、ステップS404において取得された第2画像から、指定点に最も類似する類似点を検出する(ステップS412)。この例では第1画像上に4つの指定点が設定されているため、画像判定部185は、4つの指定点に対応する4つの類似点を第2画像から検出する。
ステップS412において類似点が検出された後、画像判定部185は、第1画像における指定点と、第2画像における類似点との距離すなわち変位量を算出する(ステップS413)。この例では4つの指定点とそれらに対応する4つの類似点とがあるため、4つの変位量が算出される。
ステップS413において変位量が算出された後、画像判定部185は、ステップS413において算出された4つの変位量の各々が所定範囲内であるか否かを判定する。これにより、画像判定部185は、第2画像が3次元形状の復元に使用する画像として適切であるか否かを判定する(ステップS414)。
4つの変位量の全てが所定範囲内であると画像判定部185が判定した場合、ステップS405における処理が実行される。つまり、第2画像が3次元形状の復元に使用する画像として適切であると判定された場合に、ステップS405において3次元形状復元部186は3次元形状を復元する。
4つの変位量の少なくとも1つが所定範囲内でない、言い換えると、第2画像が3次元形状の復元に使用する画像として適切でない、と画像判定部185が判定した場合、その第2画像は破棄され、3次元形状復元処理に使用されない(ステップS415)。
変位量が小さすぎる場合、視差量が小さく、かつ3次元形状の復元に失敗する(正確な3次元形状が復元されない)可能性がある。変位量が大きすぎる場合、取得された複数の画像間で視野の重なる領域が小さくなる。これらの問題が生じるため、変化量が適切な範囲に収まることが重要である。
ステップS415において第2画像が破棄された後、3次元形状復元のための新たな第2画像すなわち2枚目の第2画像を取得するための準備が行われる。具体的には、撮像状態算出部195は、次に取得される第2画像における類似点がその第2画像の撮像視野内に収まるような第2撮像状態を算出する。撮像状態算出部195は、類似点が第2画像の撮像視野内のあらかじめ決められた所定範囲内(第8の実施形態では撮像視野の視野中心を含む所定の範囲内)に収まるような第2撮像状態を算出してもよい。より具体的には、撮像状態算出部195は、類似点が視差方向に一定量変位するために必要な内視鏡先端の湾曲駆動方向および湾曲駆動量を算出する(ステップS416)。このとき、撮像状態算出部195は、ステップS411において読み出された湾曲駆動量と、ステップS413において算出された変位量とを使用する。
つまり、ステップS414において第2画像が3次元形状の復元に使用する画像として不適切であると判定された場合に、ステップS416において撮像状態算出部195は、第2画像を取得するための撮像位置および撮像姿勢の少なくとも1つを算出する。ステップS416において湾曲駆動方向および湾曲駆動量が算出された後、ステップS403における処理が実行される。ステップS403において湾曲駆動が実行された後、ステップS404における処理が実行される。このとき、撮像素子28は、撮像状態算出部195により算出された撮像位置および撮像姿勢の少なくとも1つで被写体を撮像することにより第2画像を生成する。CCU9は、撮像素子28により生成された第2画像を取得する。
撮像素子28が新たな第2画像のための撮像を実行できない場合、あるいは、ステップS414において変位量が所定範囲内にないと判定された場合、内視鏡装置1のモードが検査モードに戻ってもよい。
上記以外の点について、図23および図24に示す処理は、図20に示す処理と同様である。
CPU18fは、図15に示すCPU18dにおける通知制御部194を有してもよい。通知制御部194は、指示通知処理を実行してもよい。通知制御部194は、指示通知処理において、内視鏡先端の移動のための操作の指示をユーザーに通知する。例えば、通知制御部194は、ステップS416において算出された湾曲駆動方向における湾曲操作の指示をユーザーに通知する。通知制御部194は、第1の操作、第2の操作、および第3の操作の少なくとも1つの指示をユーザーに通知してもよい。第1の操作は、ユーザーが挿入部2を被写体の内部に向かって押す操作である。第2の操作は、ユーザーが挿入部2を手元側に引く操作である。第3の操作は、ユーザーが挿入部2を捩じる操作である。
第5の実施形態における図16に示すステップS302における判定には、3次元形状復元処理で生成される各種情報が使用される。一方、図24に示すステップS414における判定では、2次元の画像から得られた情報が使用される。このため、計算負荷の高い3次元形状復元処理が実行される前に判定を行うことができる。その結果、内視鏡装置1は、早い段階でユーザーに結果を通知することができる。
(第9の実施形態)
図22に示すCPU18fを使用して、本発明の第9の実施形態を説明する。
第8の実施形態では1枚の第2画像が3次元形状復元に使用されるが、第9の実施形態では複数枚の第2画像が3次元形状復元に使用される。
図25を使用して、第9の実施形態における3次元計測処理について説明する。図25は、3次元計測処理の手順を示す。第8の実施形態における図24に示す処理(ステップS412の類似点検出処理以降の処理)が、図25に示す処理に変更される。図25に示す処理について、図24に示す処理と異なる点を説明する。
ステップS414において、4つの変位量の全てが所定範囲内であると画像判定部185が判定した場合、画像判定部185は、判定に使用された第2画像をRAM14に保持する(ステップS421)。ステップS421において第2画像がRAM14に保持された後、画像判定部185は、RAM14内に保持された第2画像の枚数が所定枚数に達したか否かを判定する。(ステップS422)。所定枚数は、1以上の整数である。
ステップS422において、所定枚数の第2画像が取得されたと画像判定部185が判定した場合、ステップS405における処理が実行される。ステップS422において、所定枚数の第2画像が取得されていないと画像判定部185が判定した場合、ステップS412において検出された類似点は指定点に置換される(ステップS423)。ステップS423において類似点が指定点に置換された後、ステップS416における処理が実行される。
上記以外の点について、図25に示す処理は、図24に示す処理と同様である。
第9の実施形態では、内視鏡装置1は、第8の実施形態と比較して、計測精度を向上させることができる。
(第10の実施形態)
図22に示すCPU18fを使用して、本発明の第10の実施形態を説明する。
第10の実施形態において、第2画像取得処理および指定点設定処理は、並行的に実行される。言い換えると、CCU9による第2画像の取得と、指定点設定部183による指定点の設定とは、並行的に実行される。また、第2画像取得処理および基準寸法設定処理は、並行的に実行される。言い換えると、CCU9による第2画像の取得と、基準寸法設定部184による基準寸法の設定とは、並行的に実行される。
第10の実施形態において、撮像状態算出処理および指定点設定処理は、並行的に実行される。言い換えると、撮像状態算出部195による撮像状態の算出と、指定点設定部183による指定点の設定とは、並行的に実行される。また、撮像状態算出処理および基準寸法設定処理は、並行的に実行される。言い換えると、撮像状態算出部195による撮像状態の算出と、基準寸法設定部184による基準寸法の設定とは、並行的に実行される。
第10の実施形態において、湾曲制御処理および指定点設定処理は、並行的に実行される。言い換えると、湾曲制御部188による湾曲機構の制御と、指定点設定部183による指定点の設定とは、並行的に実行される。また、湾曲制御処理および基準寸法設定処理は、並行的に実行される。言い換えると、湾曲制御部188による湾曲機構の制御と、基準寸法設定部184による基準寸法の設定とは、並行的に実行される。
図26を使用して、第10の実施形態における3次元計測処理について説明する。図26は、3次元計測処理の手順を示す。図26に示す処理について、図20に示す処理と異なる点を説明する。
ステップS102において第1画像が取得された後、ステップS103からステップS105における処理が実行される。また、ステップS102において第1画像が取得された後、制御部180は、ユーザーにより指定された指定点を操作部4が受け付けたか否かを判定する(ステップS501)。ステップS501における判定は、ステップS104において受け付けられた複数の指定点のうち少なくとも1つに対して行われればよい。
ステップS501において、指定点を操作部4が受け付けていないと制御部180が判定した場合、ステップS501における処理が再度実行される。つまり、操作部4が指定点を受け付けるまで、ステップS501における処理が繰り返される。
ステップS501において、指定点を操作部4が受け付けたと制御部180が判定した場合、ステップS401からステップS404における処理が実行される。つまり、撮像状態の算出(ステップS401からステップS402)と指定点の設定(ステップS104)とが並行的に実行される。あるいは、撮像状態の算出(ステップS401からステップS402)と基準距離の設定(ステップS105)とが並行的に実行される。あるいは、湾曲制御(ステップS403)と指定点の設定(ステップS104)とが並行的に実行される。あるいは、湾曲制御(ステップS403)と基準距離の設定(ステップS105)とが並行的に実行される。あるいは、第2画像の取得(ステップS404)と指定点の設定(ステップS104)とが並行的に実行される。あるいは、第2画像の取得(ステップS404)と基準距離の設定(ステップS105)とが並行的に実行される。ステップS401からステップS404における処理は、バックグラウンド処理として実行される。ステップS105において基準距離が設定され、かつステップS404において第2画像が取得された後、ステップS405における3次元形状復元処理が実行される。
撮像状態算出部195は、指定点の設定開始タイミングから指定点の設定終了タイミングまでの期間において、撮像状態を算出する。指定点の設定開始タイミングにおいて、指定点設定部183による指定点の設定が開始される。指定点の設定終了タイミングにおいて、指定点設定部183による指定点の設定が終了する。あるいは、撮像状態算出部195は、基準寸法の設定開始タイミングから基準寸法の設定終了タイミングまでの期間において、撮像状態を算出する。基準寸法の設定開始タイミングにおいて、基準寸法設定部184による基準寸法の設定が開始される。基準寸法の設定終了タイミングにおいて、基準寸法設定部184による基準寸法の設定が終了する。
あるいは、指定点設定部183は、湾曲開始タイミングから湾曲終了タイミングまでの期間において、指定点を設定する。湾曲開始タイミングにおいて、湾曲制御部188による湾曲制御に基づく内視鏡先端の湾曲が開始される。湾曲終了タイミングにおいて、湾曲制御部188による湾曲制御に基づく内視鏡先端の湾曲が終了する。あるいは、基準寸法設定部184は、湾曲開始タイミングから湾曲終了タイミングまでの期間において、基準寸法を設定する。
あるいは、指定点設定部183は、第2画像の取得開始タイミングから第2画像の取得終了タイミングまでの期間において、指定点を設定する。第2画像の取得開始タイミングにおいて、撮像素子28による第2撮像状態における撮像と、CCU9による第2画像の取得とが開始される。第2画像の取得終了タイミングにおいて、撮像素子28による第2撮像状態における撮像と、CCU9による第2画像の取得とが終了する。あるいは、基準寸法設定部184は、第2画像の取得開始タイミングから第2画像の取得終了タイミングまでの期間において、基準寸法を設定する。
上記以外の点について、図26に示す処理は、図20に示す処理と同様である。
ユーザーによる操作が行われるステップS104およびステップS105における処理にある程度の時間を要することが予め想定される。この時間が、撮像状態の算出、湾曲制御、および第2画像の取得に利用される。ステップS105において基準距離が設定されたときには、第2画像の取得が既に完了している可能性がある。その結果、ステップS405における3次元形状復元処理を速やかに開始できる可能性がある。少なくとも、基準距離の設定が完了した後に第2画像の取得が開始される第7の実施形態と比較して、ユーザーは明らかに画像取得時間が短いと感じることができる。
上記のように、ユーザーによる操作が必要である処理と、3次元形状復元のための第2画像の取得に関する処理とが並行的に実行される。これにより、ユーザーが計測結果を受け取るまでの時間が大幅に短縮され、かつ検査効率が向上する。
(第11の実施形態)
本発明の第11の実施形態において、第1の実施形態におけるCPU18aは、図27に示すCPU18gに変更される。図27は、CPU18gの機能構成を示す。図27に示す構成について、図3に示す構成と異なる点を説明する。
CPU18gは、図3に示す構成に加えて、3次元形状表示制御部189、仮指定点設定部196、および注目領域設定部197を有する。3次元形状表示制御部189は、3次元形状表示処理を実行する。3次元形状表示制御部189は、3次元形状表示処理において、ユーザーが指定点を指定するための3次元形状を表示部5に表示させる。
仮指定点設定部196は、仮指定点設定処理を実行する。仮指定点設定部196は、仮指定点設定処理において、CCU9により取得された第1画像上に仮指定点を設定する。仮指定点は、第2画像を取得するための基準位置を示す。例えば、仮指定点は、ユーザーにより入力される。仮指定点設定部196は、1つ以上の仮指定点を設定する。1つ以上の第2撮像状態では、仮指定点設定部196により設定された仮指定点に対応する位置が撮像視野に含まれる。指定点設定部183は、3次元形状復元部186により復元された3次元形状または第1画像上に指定点を設定する。基準寸法設定部184は、3次元形状復元部186により復元された3次元形状上に基準寸法を設定する。
注目領域設定部197は、注目領域設定処理を実行する。注目領域設定部197は、注目領域設定処理において、仮指定点設定部196により設定された仮指定点の位置に基づいて、CCU9により取得された第1画像上に注目領域を設定する。
上記以外の点について、図27に示す構成は、図3に示す構成と同様である。
図28を使用して、第11の実施形態における3次元計測処理について説明する。図28は、3次元計測処理の手順を示す。図28に示す処理について、図20に示す処理と異なる点を説明する。
ステップS103において第1画像が表示部5に表示された後、ユーザーは、操作部4を操作することにより、表示された第1画像上に仮指定点を指定する。操作部4は、ユーザーにより指定された仮指定点を受け付ける。仮指定点設定部196は、ステップS102において取得された第1画像上に仮指定点を設定する(ステップS601)。
図29は、表示部5の画面を示す。図29に示すように、第1画像504が表示される。この例では、表示部5に表示された第1画像504上に2つの仮指定点Q1およびQ2が設定される。仮指定点Q1は仮計測指定点であり、かつ仮指定点Q2は仮基準指定点である。
図29に示す例において、ユーザーによる仮指定点の指定方法は、指定点の指定方法と同様である。ユーザーは、ボタンBT1を操作することにより、図示していないカーソルを移動させる。ユーザーがボタンBT2を押したとき、カーソルの位置に仮指定点が指定される。ユーザーがボタンBT3を押したとき、指定された仮指定点がキャンセルされる。ユーザーの操作により各仮指定点が指定されたとき、仮指定点設定部196は、指定された各仮指定点の各位置(座標)を算出する。2つの仮指定点の位置情報(座標情報)は、RAM14に保持される。仮指定点の位置は、時間をかけて決定された正確な座標位置である必要はない。
例えば、ユーザーは、計測指定点が設定されると想定される領域において仮指定点を指定し、かつ基準指定点が設定されると想定される領域において他の仮指定点を指定する。ユーザーが簡易的に(素早く)仮指定点を設定できることが重要である。
指定された2つの仮指定点Q1およびQ2は、表示部5に表示される。画像表示制御部181は、仮指定点を表示部5に表示させる。具体的には、画像表示制御部181は、各仮指定点のグラフィック画像信号を生成する。画像表示制御部181は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18gから出力されたグラフィック画像信号とを合成する。これにより、各仮指定点が第1画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、各仮指定点が重畳された第1画像を表示する。これにより、ユーザーは、仮指定点の位置を認識することができる。
ステップS601において仮指定点が設定された後、注目領域設定部197は、ステップS601において設定された仮指定点の位置に基づいて、CCU9により取得された第1画像上に注目領域を設定する(ステップS602)。
ステップS602における処理の詳細を説明する。注目領域設定部197は、ユーザーにより指定された2つの仮指定点の各々に対して、各仮指定点を含む注目領域を設定する。図29に示す例では、仮指定点Q1に対して注目領域B1が設定され、かつ仮指定点Q2に対して注目領域B2が設定される。各注目領域B1およびB2は、各仮指定点を領域の中心にもつ矩形状の領域である。注目領域設定部197は、各注目領域B1およびB2の各位置(座標)を算出する。2つの注目領域B1および注目領域B2の位置情報(座標情報)は、RAM14に保持される。例えば、注目領域の位置情報は、注目領域の代表点の位置情報(座標情報)と注目領域の大きさ情報とを含む。注目領域が特定の第1画像に関連付けられることにより、注目領域が設定される。
2つの注目領域B1およびB2は、表示部5に表示される。画像表示制御部181は、注目領域B1およびB2を表示部5に表示させる。具体的には、画像表示制御部181は、各注目領域のグラフィック画像信号を生成する。画像表示制御部181は、生成されたグラフィック画像信号を映像信号処理回路12に出力する。映像信号処理回路12は、CCU9から出力された映像信号と、CPU18gから出力されたグラフィック画像信号とを合成する。これにより、各注目領域が第1画像に重畳される。映像信号処理回路12は、合成された映像信号を表示部5に出力する。表示部5は、各注目領域が重畳された第1画像を表示する。例えば、各注目領域は線で表示される。これにより、ユーザーは、注目領域の位置を認識することができる。
仮指定点を決定するための手段は、ユーザーによる入力に限定されない。例えば、内視鏡装置1に予め登録された情報に基づいて、仮指定点設定部196が自動的に仮指定点を決定してもよい。例えば、仮指定点が予め設定された参照画像がパーソナルコンピュータ41またはメモリカード42から内視鏡装置1に取り込まれる。仮指定点設定部196は、参照画像上に設定された仮指定点と類似する点をパターンマッチングにより第1画像から検出し、かつ検出された点を仮指定点として設定してもよい。
仮指定点としてメモリに予め登録された座標情報が表示部5に表示されてもよい。ユーザーが仮指定点を指定するとき、ユーザーは、表示部5に表示された座標情報を参考にすることができる。
上記の例では、矩形状の注目領域が設定される。注目領域の形状は矩形に限らない。注目領域の形状は、円、楕円、および多角形のような形状であってもよい。また、注目領域の大きさも制限されない。
上記の例では、注目領域は、ユーザーにより指定された仮指定点が注目領域の中央に位置するように設定される。注目領域の位置は、これに限られない。注目領域は、仮指定点の位置から特定の距離および方向に離間した位置に設定されてもよい。
注目領域の大きさは、内視鏡装置1により自動的に設定されてもよい。あるいは、ユーザーが注目領域の大きさを決定してもよい。また、仮指定点の数に限定はない。例えば、上記の例のように、複数の計測指定点を代表する1つの仮指定点および複数の基準指定点を代表する1つの仮指定点が設定される。複数の計測指定点および複数の基準指定点の各々に対して1つずつ仮指定点が設定されてもよい。第1画像における視野範囲内の狭い領域において計測指定点および基準指定点の候補点が重なる場合、1つのみの仮指定点が設定されてもよい。
ステップS602において注目領域が設定された後、ステップS401における処理が実行される。ステップS401において湾曲制御部188は、ステップS102において取得された第1画像における注目領域の位置に基づいて、内視鏡先端の湾曲駆動方向を算出する。
ステップS405において3次元形状が復元された後、3次元形状表示制御部189は、3次元形状復元部186により復元された3次元形状を表示部5に表示させる(ステップS603)。ステップS603において3次元形状が表示された後、ユーザーは、操作部4を操作することにより、表示された3次元形状上に指定点を指定する。操作部4は、ユーザーにより指定された計測指定点および基準指定点を受け付ける。指定点設定部183は、復元された3次元形状上に計測指定点および基準指定点を設定する(ステップS604)。
なお、3次元形状表示制御部189は、3次元形状復元部186により復元された3次元形状だけでなく、第1画像も表示部5に表示させても良い。その場合、指定点設定部183は、第1画像または3次元形状上に計測指定点及び基準指定点を設定する。指定点設定部183は、第1画像上に計測指定点を設定し、かつ3次元形状上に基準指定点を設定してもよい。あるいは、指定点設定部183は、第1画像上に基準指定点を設定し、かつ3次元形状上に計測指定点を設定してもよい。
3次元形状表示制御部189は、3次元形状復元部186により復元された3次元形状を表示させずに、第1画像を表示部5に表示させても良い。その場合、指定点設定部183は、第1画像上に計測指定点および基準指定点を設定する。上記のように、指定点設定部183は、第1画像および3次元形状の少なくとも1つに指定点を設定してもよい。
ステップS604において指定点が設定された後、ステップS105における処理が実行される。ステップS105において基準寸法設定部184は、復元された3次元形状上に基準距離を設定する。ステップS105において基準距離が設定された後、ステップS109における処理が実行される。
図28に示す処理において、図6に示すステップS107に相当する処理は含まれない。つまり、CCU9により取得された第2画像のうち、仮指定点に対応する点を含む第2画像のみを抽出する処理は図28に示す処理に含まれない。しかし、仮指定点の座標を使用することにより、注目領域が含まれてない第2画像を、3次元形状復元処理の対象から外すことができる。その結果、3次元形状復元処理の処理時間を短縮することができる。
上記以外の点について、図28に示す処理は、図20に示す処理と同様である。
ステップS602において注目領域が設定されなくてもよい。ステップS401において湾曲制御部188は、設定された仮指定点の位置に基づいて、内視鏡先端の湾曲駆動方向を算出してもよい。したがって、CPU18gが注目領域設定部197を有していなくてもよい。
第1の実施形態では、2つの計測指定点および2つの基準指定点を含む4つの指定点が設定された後、3次元形状復元のための第2画像が取得される。指定点の正確な位置の決定のためにユーザーにより4つの指定点が決定されるまでに時間が長くかかる場合がある。このため、第2画像が取得されるとき、計測モード移行時にユーザーが決定した構図から被写体が外れる可能性がある。被写体が構図から外れることにより、注目領域がフレームアウトする可能がある。その場合、ユーザーは構図を再度決定する必要がある。ユーザーが構図を再度決定するためには、ユーザーは内視鏡装置1のモードを計測モードから検査モードに戻す必要がある。このため、使い勝手が悪い場合がある。
これに対して、第11の実施形態では、指定点入力のための第1画像が取得された直後に仮指定点が簡易的に設定される。仮指定点に基づいて、3次元形状復元のための第2画像が取得される。第2画像が取得された後に指定点が設定される。ユーザーが指定点を指定する前に、第2画像の取得が完了している。これにより、指定点入力のための第1画像が取得されてから、もしくは第1画像が表示されてから、3次元形状復元のための第2画像が取得されるまでの時間が短縮される。このため、ユーザーによる指定点の入力に時間がかかった場合であっても、第2画像における構図が、ユーザーが所望する構図からずれることを抑制することができる。ユーザーが所望する構図は、指定点入力のための第1画像が取得されたときの構図である。したがって、検査効率の向上と使い勝手の向上とを両立することができる。
(第12の実施形態)
本発明の第12の実施形態では、3次元形状復元のための第2画像を取得する装置と、3次元形状復元機能が搭載されている装置とが異なる。図30は、第12の実施形態の内視鏡システム100(計測システム)の構成を示す。図30に示すように、内視鏡システム100は、内視鏡装置1(画像取得装置)および外部端末装置6(3次元形状復元装置)を有する。内視鏡装置1は、画像取得装置を構成する。外部端末装置6は、3次元形状復元装置を構成する。
CPU18aが、図31に示すCPU18hに変更される点を除いて、内視鏡装置1の構成は、図2に示す構成と同様である。内視鏡装置1において、外部機器インタフェース16(データ通信部)は、外部端末装置6と通信を行う。具体的には、外部機器インタフェース16は、取得された第2画像を外部端末装置6に送信する。
また、外部機器インタフェース16は、指定点情報および基準寸法情報を外部端末装置6に送信する。指定点情報は、指定点設定部183によって設定された指定点の位置(座標)を示す。基準寸法情報は、基準寸法設定部184によって設定された基準寸法(基準距離)を示す。したがって、外部機器インタフェース16は、少なくとも第2画像を含む複数の画像と、指定点設定部183によって設定された指定点の情報と、基準寸法設定部184によって設定された基準寸法の情報と、を含む計測処理用情報を外部端末装置6に送信する。例えば、複数の画像は、複数枚の第2画像で構成される。あるいは、複数の画像は、1枚の第1画像および1枚以上の第2画像で構成される。また、外部機器インタフェース16は、内視鏡の対物光学系のパラメーター、すなわち内部パラメーターを外部端末装置6に送信する。
例えば、外部機器インタフェース16は、無線モジュールであり、外部端末装置6と無線通信を行う。内視鏡装置1および外部端末装置6がLAN(Local Area Network)ケーブル等のケーブルで接続され、かつ外部機器インタフェース16はケーブルを介して外部端末装置6と通信を行ってもよい。
外部端末装置6は、計測処理用情報および内部パラメーターを内視鏡装置1から受信する。つまり、外部端末装置6は、第2画像を含む複数の画像、指定点情報、基準寸法情報、および内部パラメーターを内視鏡装置1から受信する。外部端末装置6は、受信された複数枚の第2画像の中から、指定点情報に基づく指定点が含まれる第2画像を抽出し、抽出された第2画像、指定点情報、基準寸法情報、および内部パラメーターに基づいて3次元形状復元処理を実行する。
例えば、外部端末装置6はモバイル端末である。外部端末装置6は、固定型端末であってもよい。外部端末装置6の形態は、これらに限らない。
第12の実施形態において、第1の実施形態におけるCPU18aは、図31に示すCPU18hに変更される。図31は、CPU18hの機能構成を示す。図31に示す構成について、図3に示す構成と異なる点を説明する。
CPU18hは、図3に示す構成のうち画像判定部185、3次元形状復元部186、および計測部187を除く構成を有する。また、CPU18hは、データ通信制御部198を有する。データ通信制御部198は、外部機器インタフェース16が外部端末装置6と行う通信を制御する。つまり、データ通信制御部198は、外部機器インタフェース16に対して、取得された第2画像、指定点情報、基準寸法情報、および内部パラメーターを外部端末装置6へと送信させる。
上記以外の点について、図31に示す構成は、図3に示す構成と同様である。
図32は、外部端末装置6の機能構成を示す。図32に示すように、外部端末装置6は、データ通信部60、CPU61、および表示部62を有する。
データ通信部60は、取得された第2画像、指定点情報、基準寸法情報、および内部パラメーターを内視鏡装置1から受信する。例えば、データ通信部60は、無線モジュールであり、内視鏡装置1と無線通信を行う。データ通信部60はケーブルを介して内視鏡装置1と通信を行ってもよい。
画像判定部611、3次元形状復元部612、計測部613、およびデータ通信制御部614によってCPU61の機能が構成されている。CPU61を構成するブロックの少なくとも1つがCPU61とは別の回路で構成されてもよい。
画像判定部611、3次元形状復元部612、計測部613、およびデータ通信制御部614は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。例えば、プロセッサは、CPU、DSP、およびGPUの少なくとも1つである。例えば、論理回路は、ASICおよびFPGAの少なくとも1つである。画像判定部611、3次元形状復元部612、計測部613、およびデータ通信制御部614は、1つまたは複数のプロセッサを含むことができる。画像判定部611、3次元形状復元部612、計測部613、およびデータ通信制御部614は、1つまたは複数の論理回路を含むことができる。
画像判定部611は、図3に示す画像判定部185と同様に構成されている。画像判定部611は、受信された指定点の情報に基づいて、当該指定点に対応する点が、受信された第2画像に含まれるか否かを判定する。画像判定部611(画像抽出部)は、指定点に対応する点が含まれると判定された第2画像を抽出する。3次元形状復元部612は、図3に示す3次元形状復元部186と同様に構成されている。3次元形状復元部612は、抽出された第2画像を含む複数の画像を使用して、物体の3次元形状を復元する。計測部613は、図3に示す計測部187と同様に構成されている。計測部613は、復元された3次元形状、受信された指定点の情報、および受信された基準寸法の情報に基づいて、物体の計測を行う。データ通信制御部614は、データ通信部60が内視鏡装置1と行う通信を制御する。つまり、データ通信制御部614は、データ通信部60に対して、第2画像、指定点情報、基準寸法情報、および内部パラメーターを内視鏡装置1から受信させる。
CPU61は、CPU61の動作を規定する命令を含むプログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。つまり、CPU61の機能はソフトウェアにより実現されてもよい。このプログラムの実現形態は、内視鏡装置1の機能を実現するプログラムの実現形態と同様である。
表示部62は、表示画面を有し、かつ操作メニュー等を表示画面に表示する。表示部62は、LCD等のモニタ(ディスプレイ)である。
図33を使用して、第12の実施形態における3次元計測処理について説明する。図33は、内視鏡装置1および外部端末装置6が実行する処理の手順を示す。3次元計測処理は、内視鏡装置1における処理SG10と、外部端末装置6における処理SG20とに分割されている。内視鏡装置1が実行する処理について、図6に示す処理と異なる点を説明する。
ステップS106において複数枚の第2画像が取得された後、データ通信制御部198は、外部機器インタフェース16に対して、複数枚の第2画像、指定点情報、基準寸法情報、および内部パラメーターを外部端末装置6へ送信する命令を出す。これにより、外部機器インタフェース16は、第2画像、指定点情報、基準寸法情報、および内部パラメーターを外部端末装置6に送信する(ステップS701)。ステップS701における処理が実行されることにより、内視鏡装置1における処理が終了する。
外部端末装置6が実行する処理について説明する。データ通信制御部614は、データ通信部60に対して、第2画像、指定点情報、基準寸法情報、および内部パラメーターを内視鏡装置1から受信させる。これにより、データ通信部60は、第2画像、指定点情報、基準寸法情報、および内部パラメーターを内視鏡装置1から受信する(ステップS801)。
ステップS801において、第2画像、指定点情報、基準寸法情報、および内部パラメーターが受信された後、画像判定部611は、受信された複数枚の第2画像の中から、指定点に対応する対応点を含む第2画像を抽出する(ステップS802)。ステップS802における処理は、図6に示すステップS107における処理と同様である。ステップS802において対応点を含む第2画像が抽出された後、3次元形状復元部612は、抽出された第2画像のみを使用して被写体の3次元形状を復元する(ステップS803)。ステップS803における処理は、図6に示すステップS108における処理と同様である。
ステップS803において被写体の3次元形状が復元された後、計測部613は、被写体の3次元形状データを、長さの次元を持つ3次元座標データに変換する(ステップS804)。ステップS804における処理は、図6に示すステップS109における処理と同様である。
ステップS804の後、計測部613は、得られた3次元座標データに基づいて、公知の計測方法で、2つの計測指定点で規定される2点間距離の長さを計測する(ステップS805)。ステップS805における処理は、図6に示すステップS110における処理と同様である。
ステップS805において2点間距離の長さが計測された後、計測結果が表示部62に表示される(ステップS806)。ステップS806における処理が実行されることにより、外部端末装置6における処理が終了する。
なお、第12の実施形態では、指定点の受け付け、指定点設定処理、基準寸法の受け付け、及び基準寸法設定処理を内視鏡装置1が行っているが、これらの処理を外部端末装置6が行っても良い。この場合、内視鏡装置1からは、第1画像、第2画像、及び内部パラメーターが送信され、外部端末装置6によってそれらが受信される。そして、外部端末装置6では、受信された第1画像が表示され、第1画像上の指定点の受け付け及び指定点設定処理が行われる。さらに基準寸法の受け付け及び基準寸法設定処理が行われる。そして複数枚の第2画像の中から指定点に対応する対応点が含まれる第2画像が抽出され、抽出された第2画像を用いて3次元形状復元処理が行われる。その後、ステップS804からステップS806における処理が行われる。
また、第12の実施形態では、3次元形状復元処理が第2画像のみを用いて行われているが、第1画像および第2画像を用いて3次元形状復元処理が行われても良い。この場合、内視鏡装置1からは、第1画像、第2画像、及び内部パラメーターが送信され、外部端末装置6によってそれらが受信される。そして、複数枚の第2画像の中から指定点に対応する対応点が含まれる第2画像が抽出され、抽出された第2画像と、受信された第1の画像とを用いて3次元形状復元処理が行われる。
上記のように、計算負荷が高い3次元形状復元処理は、3次元形状復元のための第2画像を取得する内視鏡装置1とは異なる外部端末装置6により実行される。外部端末装置6の処理性能が内視鏡装置1の処理性能よりも高い場合、処理時間を短縮することができる。また、内視鏡装置1が使用される現場以外の場所でユーザーは計測結果を確認することができる。外部端末装置6がモバイル端末である場合、ユーザーは、計測結果をどこでも確認することができる。このため、ユーザーの作業場所が固定されない。その結果、検査効率が向上する。
(第13の実施形態)
本発明の第13の実施形態は、第12の実施形態と同様に、内視鏡装置1および外部端末装置6とからなる内視鏡システム100に関する。
第13の実施形態における内視鏡システム100における外部端末装置6は、内視鏡装置1から受信した第1画像に基づいて指定点を指定すると共に基準寸法を設定する。さらに外部端末装置6は、第2画像取得時の撮像位置及び撮像姿勢に到達するための、内視鏡先端の湾曲駆動方向及び湾曲駆動量を算出し、算出した湾曲駆動方向及び湾曲駆動量を内視鏡装置1に送信する。第13の実施形態における内視鏡システム100における内視鏡装置1は、受信した湾曲駆動方向及び湾曲駆動量に基づいて、内視鏡先端を湾曲させる。その後、内視鏡装置1は、第2画像を取得する。
第13の実施形態において、第12の実施形態におけるCPU18hは、図34に示すCPU18iに変更される。図34は、CPU18iの機能構成を示す。図34に示す構成について、図31に示す構成と異なる点を説明する。
CPU18iは、図31に示す構成のうち指定点設定部183および基準寸法設定部184を除く構成を有する。データ通信制御部198は、外部機器インタフェース16に対して、取得された第1画像、第2画像、および内部パラメーターを外部端末装置6へと送信させる。また、データ通信制御部198は、外部機器インタフェース16に対して、外部端末装置6から送信される、内視鏡先端の湾曲駆動に関する湾曲情報(湾曲駆動方向及び湾曲駆動量)を受信させる。湾曲情報は、指定点に対応する点が含まれる第2画像を撮像するための内視鏡装置1(撮像素子28)の撮像状態を示す。
上記以外の点について、図34に示す構成は、図31に示す構成と同様である。
図35は外部端末装置6の構成を示す。図35に示す構成について、図32に示す構成と異なる点を説明する。
外部端末装置6において、操作部63が追加されている。操作部63は、ユーザーインタフェースである。操作部63は、ユーザーが操作部63を操作することにより入力した計測指定点および基準指定点を受け付ける。操作部63は、計測指定点および基準指定点の位置を示す情報をCPU61aに出力する。また、操作部63は、ユーザーが操作部63を操作することにより入力した基準寸法を受け付ける。操作部63は、基準寸法を示す情報をCPU61aに出力する。
第13の実施形態において、第12の実施形態におけるCPU61は、図35に示すCPU61aに変更される。CPU61aは、図32に示す画像判定部611、3次元形状復元部612、計測部613、およびデータ通信制御部614を有する。また、CPU61aは、カーソル表示制御部615、指定点設定部616、基準寸法設定部617、撮像状態算出部618(第2画像撮像状態算出部)、および画像表示制御部619を有する。なお、カーソル表示制御部615、指定点設定部616、および基準寸法設定部617はそれぞれ、図31のカーソル表示制御部182、指定点設定部183、および基準寸法設定部184と同じ機能を有する。また、撮像状態算出部618および画像表示制御部619はそれぞれ、図22の撮像状態算出部195および画像表示制御部181と同じ機能を有する。
データ通信制御部614は、データ通信部60に対して、第1画像、第2画像、および内部パラメーターを内視鏡装置1から受信させる。これにより、データ通信部60(受信部)は、第1画像、第2画像、および内部パラメーターを内視鏡装置1から受信する。また、データ通信制御部614は、データ通信部60に対して、内視鏡先端の湾曲駆動に関する湾曲情報を内視鏡装置1に送信させる。これにより、データ通信部60(送信部)は、湾曲情報を内視鏡装置1に送信する。つまり、データ通信部60は、指定点に対応する点が含まれる第2画像を撮像するための内視鏡装置1の撮像状態を内視鏡装置1に送信する。撮像状態算出部618は、第1画像および指定点に基づいて、指定点に対応する点が含まれる第2画像を撮像するための内視鏡装置1の撮像状態を算出する。3次元形状復元部612は、受信された第2画像を含む複数の画像に基づいて、物体の3次元形状を復元する。計測部613は、3次元形状、指定点、および基準寸法に基づいて、物体の計測を行う。
図36を使用して、第13の実施形態における3次元計測処理について説明する。3次元計測処理は、内視鏡装置1における処理SG11と、外部端末装置6における処理SG21とに分割されている。内視鏡装置1および外部端末装置6が実行する処理について、図33に示す処理と異なる点を説明する。
ステップS102において第1画像が取得された後、データ通信制御部198は、外部機器インタフェース16に対して、取得した第1画像を外部端末装置6へ送信させる命令を出す。これにより、外部機器インタフェース16は、第1画像を外部端末装置6に送信する(ステップS901)。ステップS901における処理が実行されることにより、内視鏡装置1における処理が一旦終了する。
外部端末装置6のデータ通信制御部614は、データ通信部60(受信部)に対して、内視鏡装置1から送信される第1画像を受信させる。これにより、データ通信部60は、第1画像を内視鏡装置1から受信する(ステップS1001)。
ステップS1001において第1画像が受信された後、画像表示制御部619は、受信された第1画像を表示部5に表示させる(ステップS1002)。
ステップS1002において第1画像が表示部5に表示された後、ユーザーは、操作部63を操作することにより、表示された第1画像上に指定点を指定する。操作部63は、ユーザーにより指定された計測指定点および基準指定点を受け付ける。指定点設定部616は、表示された第1画像上に、ユーザーにより指定された基準指定点および計測指定点を設定する(ステップS1003)。
ステップS1003において指定点が設定された後、ユーザーは、操作部63を操作することにより、基準距離を指定する。操作部63は、ユーザーにより指定された基準距離を受け付ける。基準寸法設定部184は、取得された第1画像上に基準距離を設定する(ステップS1004)。
指定点設定処理(ステップS1003)及び基準寸法設定処理(ステップS1004)が終わった後に、撮像状態算出部618は、第1画像が取得されたときの第1撮像状態から、第2画像が取得されるときの第2撮像状態へと撮像状態を変化させるための内視鏡先端の変化量を算出する。まず、撮像状態算出部618は、内視鏡先端を第1撮像状態から第2撮像状態にするための、内視鏡先端の撮像条件としての湾曲駆動方向を、第1画像及び指定点位置情報に基づいて算出する(ステップS1005)。湾曲駆動方向の算出処理に関しては、第7の実施形態を参照されたい。その後、撮像状態算出部618は、内視鏡先端を第1撮像状態から第2撮像状態にするための、内視鏡先端の撮像条件としての湾曲駆動量を、第1画像及び指定点位置情報に基づいて算出する(ステップS1006)。
ステップS1006において湾曲駆動量が算出された後、データ通信制御部614は、データ通信部60(送信部)に対して、撮像条件としての湾曲駆動に関する情報、即ち、湾曲駆動方向及び湾曲駆動量を、内視鏡装置1に向けて送信させる命令を出す。これにより、データ通信部60は、湾曲駆動方向及び湾曲駆動量を内視鏡装置1に送信する(ステップS1007)。ステップS1007における処理が実行されることにより、外部端末装置6における処理が一旦終了する。
内視鏡装置1のデータ通信制御部198は、外部機器インタフェース16に対して、外部端末装置6から送信される湾曲駆動方向及び湾曲駆動量を受信するように命令を出す。これにより、外部機器インタフェース16は、湾曲駆動方向及び湾曲駆動量を受信する(ステップS902)。
ステップS902において、湾曲駆動方向及び湾曲駆動量が受信された後、湾曲制御部188は、受信された湾曲駆動方向および湾曲駆動量に基づいて、挿入部2の先端20を湾曲させるための命令を生成する。湾曲制御部188により生成された命令は、制御インタフェース17を介して内視鏡ユニット8に出力される。内視鏡ユニット8は、その命令に基づいて挿入部2の先端20を湾曲させる(ステップS403)。
ステップS403において湾曲駆動が実行された後、撮像素子28は、被写体を第2撮像状態で1回撮像することにより1枚の第2画像を生成する。CCU9は、生成された1枚の第2画像を取得する(ステップS404)。
ステップS404において1枚の第2画像が取得された後、データ通信制御部198は、外部機器インタフェース16に対して、取得した第2画像及び3次元形状復元に必要な情報、例えば内部パラメーターを外部端末装置6へ送信させる命令を出す。これにより、外部機器インタフェース16は、第2画像および内部パラメーターを外部端末装置6に送信する(ステップS903)。ステップS903における処理が実行されることにより、内視鏡装置1における処理が終了する。
外部端末装置6のデータ通信制御部614は、データ通信部60に対して、内視鏡装置1から送信される第2画像及び内部パラメーターを受信させる。これにより、データ通信部60は、第2画像及び内部パラメーターを内視鏡装置1から受信する(ステップS1008)。
ステップS1008において第2画像および内部パラメーターが受信された後、3次元形状復元部612は、ステップS1001で受信された第1画像と、ステップS1008で受信された第2画像とを用いて被写体の3次元形状を復元する(ステップS1009)。ステップS1009の後、ステップS804からステップS806における処理が実行される。
上記のように、計算負荷が高い3次元形状復元処理は、3次元形状復元のための第2画像を取得する内視鏡装置1とは異なる外部端末装置6により実行される。外部端末装置6の処理性能が内視鏡装置1の処理性能よりも高い場合、処理時間を短縮することができる。また、内視鏡装置1が使用される現場以外の場所でユーザーは計測結果を確認することができる。外部端末装置6がモバイル端末である場合、ユーザーは、計測結果をどこでも確認することができる。このため、ユーザーの作業場所が固定されない。その結果、検査効率が向上する。
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。