(58)【調査した分野】(Int.Cl.,DB名)
第1の対物光学系を介して第1の被写体像を第1の撮像タイミングで撮像し、前記第1の対物光学系に対して視差を有するように配置された第2の対物光学系を介して第2の被写体像を前記第1の撮像タイミングと異なる第2の撮像タイミングで撮像し、前記第1の被写体像に基づく第1の画像を生成し、かつ前記第2の被写体像に基づく第2の画像を生成する撮像部と、
被写体距離を検出する被写体距離検出部と、
前記撮像部のぶれ量を検出するぶれ検出部と、
前記ぶれ検出部によって検出された前記ぶれ量と、前記被写体距離検出部によって検出された前記被写体距離に応じた許容しきい値とを比較することにより計測の実行可否を判定する計測可否判定部と、
前記計測可否判定部によって前記計測が実行可能であると判定された場合に前記第1の画像および前記第2の画像に基づいて計測処理を実行する計測処理部と、
を有することを特徴とする計測装置。
前記計測可否判定部は、前記被写体距離毎に予め定められた、前記計測処理の結果の誤差量に基づいて、前記被写体距離検出部によって検出された前記被写体距離に対応する前記許容しきい値を算出する
ことを特徴とする請求項1に記載の計測装置。
第1の対物光学系を介して第1の被写体像を第1の撮像タイミングで撮像し、前記第1の対物光学系に対して視差を有するように配置された第2の対物光学系を介して第2の被写体像を前記第1の撮像タイミングと異なる第2の撮像タイミングで撮像し、前記第1の被写体像に基づく第1の画像を生成し、かつ前記第2の被写体像に基づく第2の画像を生成する撮像部と、
前記第1の画像および前記第2の画像の間の視差量を検出する視差検出部と、
前記撮像部のぶれ量を検出するぶれ検出部と、
前記ぶれ検出部によって検出された前記ぶれ量と、前記視差検出部によって検出された前記視差量に応じた許容しきい値とを比較することにより計測の実行可否を判定する計測可否判定部と、
前記計測可否判定部によって前記計測が実行可能であると判定された場合に前記第1の画像および前記第2の画像に基づいて計測処理を実行する計測処理部と、
を有することを特徴とする計測装置。
前記計測可否判定部は、前記視差量毎に予め定められた、前記計測処理の結果の誤差量に基づいて、前記視差検出部によって検出された前記視差量に対応する前記許容しきい値を算出する
ことを特徴とする請求項8に記載の計測装置。
第1の対物光学系を介して第1の被写体像を第1の撮像タイミングで撮像し、前記第1の対物光学系に対して視差を有するように配置された第2の対物光学系を介して第2の被写体像を前記第1の撮像タイミングと異なる第2の撮像タイミングで撮像し、前記第1の被写体像に基づく第1の画像を生成し、かつ前記第2の被写体像に基づく第2の画像を生成する撮像部と、
前記撮像部のぶれ量を検出するぶれ検出部と、
前記第1の画像および前記第2の画像に基づいて計測処理を実行し、かつ前記計測処理において被写体距離を検出する計測処理部と、
前記ぶれ検出部によって検出された前記ぶれ量と、前記計測処理部によって検出された前記被写体距離に応じた許容しきい値とを比較することにより前記計測処理の結果の妥当性を判定する妥当性判定部と、
を有することを特徴とする計測装置。
第1の対物光学系を介して第1の被写体像を第1の撮像タイミングで撮像し、前記第1の対物光学系に対して視差を有するように配置された第2の対物光学系を介して第2の被写体像を前記第1の撮像タイミングと異なる第2の撮像タイミングで撮像し、前記第1の被写体像に基づく第1の画像を生成し、かつ前記第2の被写体像に基づく第2の画像を生成する撮像部と、
前記撮像部のぶれ量を検出するぶれ検出部と、
前記第1の画像および前記第2の画像に基づいて計測処理を実行し、かつ前記計測処理において前記第1の画像および前記第2の画像の間の視差量を検出する計測処理部と、
前記ぶれ検出部によって検出された前記ぶれ量と、前記計測処理部によって検出された前記視差量に応じた許容しきい値とを比較することにより前記計測処理の結果の妥当性を判定する妥当性判定部と、
を有することを特徴とする計測装置。
【発明を実施するための形態】
【0031】
以下、図面を参照し、本発明の実施形態を説明する。
【0032】
(第1の実施形態)
図1は、本発明の第1の実施形態の計測装置10の構成を示す。例えば、計測装置10は、計測対象の物体の内部に挿入される挿入部を含む内視鏡装置である。
図1に示すように、計測装置10は、第1の対物光学系100、第2の対物光学系101、光路切替部102、結像光学系103、撮像素子104(撮像部)、コントローラ105、制御部106、フレームメモリ107(記憶部)、被写体距離検出部108、ぶれ検出部109、計測可否判定部110、および計測処理部111を有する。
【0033】
例えば、第1の対物光学系100および第2の対物光学系101は、凹レンズと凸レンズとを組み合わせた対物レンズを有する。第2の対物光学系101は、第1の対物光学系100に対して視差を有するように配置されている。つまり、第1の対物光学系100および第2の対物光学系101は、視差方向に離間している。視差方向は、第1の対物光学系100の光学中心(主点)と第2の対物光学系101の光学中心(主点)とを通る直線の方向である。第1の対物光学系100に入射した光は第1の光路を通る。第2の対物光学系101に入射した光は第1の光路と異なる第2の光路を通る。第1の対物光学系100は第1の被写体像を形成し、かつ第2の対物光学系101は第2の被写体像を形成する。
【0034】
光路切替部102は、第1の被写体像および第2の被写体像のうちのいずれか1つのみが撮像素子104に結像されるように、第1の光路と第2の光路との間で光路を切り替える。光路切替部102が第1の光路の光を透過させるとき、第2の光路の光は遮蔽される。光路切替部102が第2の光路の光を透過させるとき、第1の光路の光は遮蔽される。光路切替部102による光路の切替動作は、制御部106からの制御信号によって制御される。結像光学系103は、第1の光路を通った光と第2の光路を通った光とのいずれか1つに基づく被写体像を撮像素子104の表面に結像させる。
【0035】
撮像素子104は、第1の対物光学系100を介して第1の被写体像を第1の撮像タイミングで撮像する。撮像素子104は、第2の対物光学系101を介して第2の被写体像を第1の撮像タイミングと異なる第2の撮像タイミングで撮像する。撮像素子104は、第1の被写体像に基づく第1の画像を生成する。撮像素子104は、第2の被写体像に基づく第2の画像を生成する。撮像素子104は、互いに異なる複数の第1の撮像タイミングで第1の被写体像を撮像し、かつ複数の第1の画像を生成する。第1の対物光学系100、第2の対物光学系101、光路切替部102、結像光学系103、および撮像素子104は、スコープ120を構成する。例えば、内視鏡装置においてスコープ120は挿入部に配置される。
【0036】
コントローラ105は、ユーザによって操作される操作部(ユーザインターフェース)である。例えば、操作部は、ボタン、スイッチ、キー、マウス、ジョイスティック、タッチパッド、トラックボール、およびタッチパネルの少なくとも1つである。コントローラ105は、「撮影開始」、「計測開始」、「撮影停止」、および「計測結果の取得」などの指示をユーザから受け付ける。コントローラ105は、ユーザから受け付けた指示に応じたコマンドを制御部106に出力する。
【0037】
コントローラ105からのコマンドは制御部106に入力される。制御部106は、後述する各部の状態に応じて、コマンドに対応する制御信号を各部に送り、かつ被写体形状および被写体距離の計測のための一連の処理シーケンスを制御する。被写体距離は、撮像素子104が配置されたスコープ120または撮像素子104から被写体までの距離である。フレームメモリ107は、撮像素子104によって生成された第1の画像および第2の画像を記憶する。また、フレームメモリ107は、被写体距離と許容しきい値とが関連付けられたテーブルを記憶する。
【0038】
フレームメモリ107は、揮発性または不揮発性のメモリとして構成される。例えば、フレームメモリ107は、RAM(Random Access Memory)、DRAM(DynamicRandom Access Memory)、SRAM(Static Random Access Memory)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、およびフラッシュメモリの少なくとも1つである。計測装置10は、被写体距離と許容しきい値とが関連付けられたテーブルを記憶するためのハードディスクドライブを有してもよい。
【0039】
被写体距離検出部108は、被写体距離を検出する。
図1に示す例では、被写体距離検出部108は、第1の画像および第2の画像を使用するステレオ計測により被写体距離を検出する。したがって、被写体距離検出部108は、撮像素子104から被写体までの距離を被写体距離として検出する。計測処理部111が被写体距離検出部108の機能を有してもよい。
【0040】
被写体距離検出部108は、レーザ測長等の手段により被写体距離を検出してもよい。その場合、被写体距離検出部108は、撮像素子104と一緒にスコープ120に配置され、かつ被写体距離検出部108から被写体までの距離を被写体距離として検出してもよい。被写体距離検出部108は、ステレオ計測およびレーザ測長の少なくとも1つにより被写体距離を検出してもよい。
【0041】
ぶれ検出部109は、撮像素子104のぶれ量を検出する。
図1に示す例では、ぶれ検出部109は、複数の第1の画像の間の位置ずれ量を検出することによりぶれ量を検出する。ぶれ検出部109は、撮像素子104と一緒にスコープ120に配置された加速度センサおよびジャイロセンサの少なくとも1つであってもよい。その場合、撮像素子104およびぶれ検出部109は、スコープ120に対して固定される。ぶれ検出部109は、撮像素子104のぶれ量に基づく信号を出力する。
【0042】
計測可否判定部110は、ぶれ検出部109によって検出されたぶれ量と、被写体距離検出部108によって検出された被写体距離に応じた許容しきい値とを比較することにより計測の実行可否を判定する。計測可否判定部110は、被写体距離検出部108によって検出された被写体距離に対応する許容しきい値を、フレームメモリ107に記憶されたテーブルから取得する。
【0043】
計測処理部111は、計測可否判定部110によって計測が実行可能であると判定された場合に第1の画像および第2の画像に基づいて計測処理を実行する。計測処理部111は、計測処理により、被写体形状および被写体距離の少なくとも1つを算出する。例えば、被写体形状は、任意の2点間の距離である。
【0044】
図1に示す例では、制御部106、被写体距離検出部108、ぶれ検出部109、計測可否判定部110、および計測処理部111は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。例えば、プロセッサは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、およびGPU(Graphics Processing Unit)の少なくとも1つである。例えば、論理回路は、ASIC(Application Specific Integrated Circuit)およびFPGA(Field−Programmable Gate Array)の少なくとも1つである。制御部106、被写体距離検出部108、ぶれ検出部109、計測可否判定部110、および計測処理部111は、1つまたは複数のプロセッサを含むことができる。制御部106、被写体距離検出部108、ぶれ検出部109、計測可否判定部110、および計測処理部111は、1つまたは複数の論理回路を含むことができる。
【0045】
計測装置10のコンピュータが、制御部106、被写体距離検出部108、ぶれ検出部109、計測可否判定部110、および計測処理部111の動作を規定する命令を含むプログラムを読み込み、かつ読み込まれたプログラムを実行してもよい。つまり、制御部106、被写体距離検出部108、ぶれ検出部109、計測可否判定部110、および計測処理部111の機能はソフトウェアにより実現されてもよい。このプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。また、上述したプログラムは、このプログラムが保存された記憶装置等を有するコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波により計測装置10に伝送されてもよい。プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように、情報を伝送する機能を有する媒体である。また、上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、前述した機能をコンピュータに既に記録されているプログラムとの組合せで実現できる差分ファイル(差分プログラム)であってもよい。
【0046】
フレームメモリ107に記憶されたテーブルに含まれる許容しきい値は、被写体距離に応じて異なる。例えば、ぶれ量は大きいが計測精度は低下しにくい被写体距離に対応する許容しきい値は大きく設定されている。また、ぶれ量は小さいが計測精度は低下しやすい被写体距離に対応するぶれ許容値は小さく設定されている。これにより、所望の計測精度を確保することができ、かつ計測の実行頻度を増加させることができる。
【0047】
工業用内視鏡では、被写体に応じて適切な観察方向を実現するために、スコープ120の先端の光学アダプタを交換できる。光学アダプタは、第1の対物光学系100および第2の対物光学系101を含む。例えば、交換式の光学アダプタには、直視アダプタおよび側視アダプタがある。
図2は、光学アダプタの外観図である。
図2(a)に示す光学アダプタ121は、直視アダプタである。
図2(b)に示す光学アダプタ122は、側視アダプタである。
【0048】
直視アダプタは、スコープ120の先端方向を観察するための光学アダプタである。側視アダプタは、スコープ120の側面方向を観察するための光学アダプタである。
図2(a)および
図2(b)において、光学アダプタ121および光学アダプタ122の観察方向はZ軸方向である。
【0049】
撮像素子104のぶれは、Z軸、Y軸、およびX軸の各軸方向の移動と、各軸周りの回転との6個の動きに分解することができる。ここで検出対象となる撮像素子104のぶれは、光軸と直行するX軸およびY軸方向の並進移動である。直視アダプタにおいて、特にXおよびY軸方向の並進ずれが支配的である。
【0050】
図3は、第1の実施形態における計測の手順を示す。
図3を用いて計測の詳細を説明する。
【0051】
計測が開始された後、光路切替部102は、光路を第1の光路に設定する。これにより、第1の対物光学系100を通った光に基づく第1の被写体像が撮像素子104の表面に結像される。撮像素子104は、第1の被写体像を撮像し、かつ第1の被写体像に基づく第1の画像を生成する。第1の被写体像が撮像されたタイミングが第1のタイミングである。撮像素子104によって生成された第1の画像はフレームメモリ107に記憶される(ステップS101)。
【0052】
ステップS101の後、光路切替部102は、光路を第2の光路に設定する。これにより、第2の対物光学系101を通った光に基づく第2の被写体像が撮像素子104の表面に結像される。撮像素子104は、第2の被写体像を撮像し、かつ第2の被写体像に基づく第2の画像を生成する。第2の被写体像が撮像されたタイミングが第2のタイミングである。撮像素子104によって生成された第2の画像はフレームメモリ107に記憶される(ステップS102)。
【0053】
ステップS102の後、被写体距離検出部108は、第1の画像および第2の画像をフレームメモリ107から読み込む。被写体距離検出部108は、被写体距離の粗計測を実行する。つまり、被写体距離検出部108は、第1の画像および第2の画像を使用するステレオ計測により被写体距離を検出する(ステップS103)。多くの場合、第1の画像および第2の画像の撮像タイミングの間にぶれが発生する。しかし、ステップS103において被写体距離検出部108は、そのぶれを補正することなく被写体距離を計測する。
【0054】
ステップS103の後、ステップS101における処理と同様の処理が行われる。つまり、第1の画像の取得が行われる(ステップS104)。
【0055】
ステップS104の後、ステップS101における処理と同様の処理が行われる。つまり、第1の画像の取得が行われる(ステップS105)。
【0056】
ステップS105の後、ぶれ検出部109は、ぶれ検出処理を実行する。つまり、ぶれ検出部109は、複数の第1の画像間の位置ずれ量を算出することにより、撮像素子104のぶれ量を検出する(ステップS106)。ステップS106における処理が最初に実行されるとき、位置ずれ量の算出対象である第1の画像は、ステップS104およびステップS105における処理により生成された2枚の第1の画像である。その後、ステップS106における処理が実行されるとき、位置ずれ量の算出対象である第1の画像は、連続する2回のステップS105における処理により生成された2枚の第1の画像である。
【0057】
ステップS106の後、計測可否判定部110は、テーブルをフレームメモリ107から読み込む。計測可否判定部110は、ステップS103において計測された被写体距離に対応する許容しきい値をテーブルから取得する。計測可否判定部110は、計測可否判定を実行する。つまり、計測可否判定部110は、ステップS106において検出されたぶれ量と許容しきい値とを比較することにより、計測の実行可否を判定する(ステップS107)。
【0058】
ステップS107において、ぶれ量が許容しきい値よりも大きい場合、計測可否判定部110は、計測を実行できないと判定する。その場合、ステップS105における処理が実行される。ステップS107において、ぶれ量が許容しきい値よりも小さい場合、計測可否判定部110は、計測を実行できると判定する。その場合、ステップS102における処理と同様の処理が行われる。つまり、第2の画像の取得が行われる(ステップS108)。
【0059】
ステップS108の後、計測処理部111は、ステップS105において取得された第1の画像と、ステップS108において取得された第2の画像とをフレームメモリ107から読み込む。ステップS105における処理が複数回実行された場合、計測処理部111は、フレームメモリ107に記憶された複数の第1の画像のうち最後に取得された第1の画像をフレームメモリ107から読み込む。計測処理部111は、第1の画像および第2の画像に基づいて計測処理を実行し、かつ計測結果を制御部106に出力する(ステップS109)。ステップS109における処理が行われることにより、計測が終了する。
【0060】
ステップS103における被写体距離の粗計測の詳細を説明する。ステップS103において、第1の画像および第2の画像が被写体距離検出部108に入力され、かつ被写体距離検出部108は被写体距離を検出する。
【0061】
図4および
図5は、被写体距離が計測される計測点の例を示す。処理を高速化するために、画像上に設定された計測点のみにおいて被写体距離が計測される。1つ以上の計測点が第1の画像または第2の画像に設定される。以下では、複数の計測点が第1の画像に設定される例を説明する。
【0062】
図4(a)では、5つの計測点401が第1の画像400の中央部に設定される。
図4(b)では、多数の計測点403が第1の画像402にグリッド状に設定される。
【0063】
図5(a)は、ユーザがタッチパネルにより、計測点が設定される領域を指定する例を示す。計測装置10がタッチパネルを有する例を説明する。ユーザは、タッチパネルに表示された第1の画像500において、計測したい領域をタッチする。
図5(b)は、ユーザにより指定された領域501および計測点502を示す。ユーザがタッチパネル上でタッチした位置に領域501が指定される。多数の計測点502が領域501の内部に設定される。
【0064】
以下では、
図4(b)に示す計測点403が設定された例について説明する。被写体距離検出部108は、上記のように設定された各計測点において、ステレオ計測により被写体距離を算出する。被写体距離の算出処理の詳細を、
図6を用いて説明する。
【0065】
計測対象である被写体の位置は(X,Y,Z)である。
図6において、XYZ座標系およびX’Y’Z’座標系が示されている。XYZ座標系は、第1の対物光学系100の光学中心を原点とする座標系である。X’Y’Z’座標系は、第2の対物光学系101の光学中心を原点とする座標系である。被写体の位置は、XYZ座標系の座標として示されている。第1の画像600の中心を原点とするUV座標系における計測点602の座標は(u,v)である。第2の画像601の中心を原点とするU’V’座標系における計測点603の位置は(u’,v’)である。被写体距離検出部108は、第1の画像600および第2の画像601を用いてステレオ計測を行う。
【0066】
視差量dは式(1)により与えられる。例えば、視差量dは、画素数として与えられる。
d=u−u’ ・・・(1)
【0067】
被写体距離検出部108は、通常のステレオ計測と同様に、三角測量の原理に基づく式(2)、式(3)、および式(4)を用いて、任意の計測点の物理座標を求めることができる。各式において、bは基線長、すなわち第1の対物光学系100の光学中心と第2の対物光学系101の光学中心との距離である。fは、焦点距離である。δは、撮像素子104の画素サイズである。算出されたZの値が被写体距離を示す。
【0069】
被写体距離検出部108は、第1の画像および第2の画像の各々の計測点の対応関係を、公知の画像の位置合わせ、および対応点マッチング手法により求める。以下では、テンプレートマッチングを使用する例を説明する。テンプレートマッチングにより各画像の計測点の対応関係を求める場合、必ずしも全ての計測点における対応関係を一意に求めることができるわけではない。位置あわせの手がかりがない低コントラスト領域、あるいは同じパターンが繰り返される領域などにおいては、計測点の対応関係を求めた結果の信頼度が低くなる。そのため、被写体距離検出部108は、既知の手法を用いて、各計測点の信頼度を評価してもよい。例えば、計測点の信頼度を算出する手法は、特許第5744614号公報に開示されている。被写体距離検出部108は、信頼度が高い計測点において被写体距離の検出に成功したと判定する。被写体距離検出部108は、信頼度が低い計測点において被写体距離の検出に失敗したと判定する。
【0070】
図7は、各計測点における被写体距離の検出結果の例を示す。第1の画像700において黒い丸で示される計測点701は、被写体距離の検出に成功した、すなわち信頼度が高い計測点である。第1の画像700において白い丸で示される計測点702は、被写体距離の検出に失敗した、すなわち信頼度が低い計測点である。
【0071】
被写体距離検出部108は、信頼度が高い複数の計測点701において検出された被写体距離に基づいて代表的な被写体距離を決定する。例えば、代表的な被写体距離は、複数の被写体距離の中央値または平均値である。あるいは、代表的な被写体距離は、最も遠い距離である。
【0072】
ステップS106におけるぶれ検出処理の詳細を説明する。ステップS106において、時間的に連続する2枚の第1の画像がぶれ検出部109に入力され、かつぶれ検出部109は2枚の第1の画像間のずれ量をぶれ量として検出する。第1の画像間のずれ量は、スコープ120の並進方向のぶれ量に関係している。すなわち、スコープ120の並進方向の動きが小さいときは第1の画像間のずれは小さくなり、スコープ120の並進方向の動きが大きいときは、第1の画像間のずれは大きくなる。ステップS106では、スコープ120の並進方向の動きの大きさを撮像素子104のぶれ量として検出することを目標とする。
【0073】
図8は、ステップS106におけるぶれ検出処理の手順を示す。
図8を用いてぶれ検出処理の詳細を説明する。
【0074】
時間的に連続する2枚の第1の画像がぶれ検出部109に入力される。ぶれ検出部109は、入力された2枚の第1の画像を用いて、領域毎のテンプレートマッチングを行う(ステップS201)。
【0075】
図9を用いて、ステップS201における処理の詳細を説明する。時間的により先に生成された第1の画像が基準画像900(
図9(a))であり、かつ時間的により後に生成された第1の画像が位置合わせ画像901である(
図9(b))。時間的により後に生成された第1の画像が基準画像900であり、かつ時間的により先に生成された第1の画像が位置合わせ画像901であってもよい。
【0076】
基準画像900には一定間隔でテンプレート領域902が配置される。ぶれ検出部109は、位置合わせ画像901において、テンプレート領域902内の画像と一致する領域を探索する。位置合わせ画像901において基準画像900のテンプレート領域902の位置を中心とする一定範囲のマッチング探索範囲903が設定される。ぶれ検出部109は、このマッチング探索範囲903の位置ずれ画像901とテンプレート領域902の基準画像900との一致度が最も高くなるマッチング探索範囲903内のマッチング位置904を算出する。この一致度を示す指標として、SSD(Sum of Squared Difference)、SAD(Sum of Absolute Difference), NCC(Normalized Cross Correlation)、およびZNCC(Zero means Normalized Cross Correlation)などの公知の指標を用いることができる。
【0077】
ステップS201においてぶれ検出部109は、位置ずれ画像901におけるマッチング位置904と基準画像900の各テンプレート領域902の位置との位置ずれを各テンプレート領域902の移動ベクトルとして算出する。テンプレートマッチング処理では、対応点が一意に求められる手がかりがある場合、信頼度の高い移動ベクトルを算出することができる。しかし、位置合わせの手がかりがない低コントラスト領域および繰り返しパターン領域などにおいて、移動ベクトルの信頼性は低い。ステップS201の後、ぶれ検出部109は、各テンプレート領域902の移動ベクトルの信頼性を判定する(ステップS202)。
【0078】
移動ベクトルの信頼度の判定方法として、例えば特許第5744614号公報に開示されている手法のような既知の手法を用いることができる。例えば、
図9(b)における移動ベクトル905の信頼度は高く、かつ移動ベクトル906の信頼度は低い。ステップS202の後、ぶれ検出部109は、ステップS201において算出された移動ベクトルのうちステップS202において算出された信頼度が高い移動ベクトルの平均を計算することによりグローバルベクトルを算出する(ステップS203)。このとき、ぶれ検出部109は、画像中央部の領域の移動ベクトルのみからグローバルベクトルを算出してもよい。あるいは、ぶれ検出部109は、信頼度の値を重みとして、重み付き平均を算出することによってグローバルベクトルを算出してもよい。グローバルベクトルの大きさは2枚の第1の画像間の位置ずれ量、すなわちぶれ量を示す。グローバルベクトルの方向は2枚の第1の画像間の位置ずれの方向、すなわちぶれ方向を示す。ステップS203における処理が行われることにより、ぶれ検出処理が終了する。
【0079】
ステップS107における計測可否判定の詳細を説明する。ステップS107において、被写体距離の検出結果と、第1の画像間の位置ずれ量とが計測可否判定部110に入力され、かつ計測可否判定部110は計測の実行可否を判定する。第1の画像間の位置ずれ量は、撮像素子104のぶれ量である。
【0080】
スコープ120の並進ぶれが視差に与える影響を説明する。連続的に撮像を行っているスコープ120に並進ぶれが重畳すると、基線長bが(b+Δb)に変化する。この基線長bの変化量Δbが視差に与える影響である視差変化量Δdは、式(4)から得られる式(5)により与えられる。
【0082】
この基線長bの変化量Δbが一定である場合、すなわち連続する2枚の第1の画像が取得されるタイミングの間で常に同じ並進ぶれが発生する場合を例に説明する。被写体距離Zが近いと、視差変化量Δd、すなわちぶれ量が大きくなる。被写体距離Zが遠いと、視差変化量Δd、すなわちぶれ量が小さくなる。したがって、ぶれ量に対して一定のしきい値を使用する判定では、被写体距離Zが近いと、ぶれ量が許容しきい値内に収束する頻度が低下する。その結果、いつまで経っても計測を起動できない問題が発生する。
【0083】
スコープ120の並進ぶれに起因する視差変化量Δdが被写体距離計測精度に与える影響は、被写体距離の誤差率ErrorRate(Z)を用いて式(6)により表わされる。式(6)は、被写体距離Zに対する被写体距離変化量(Z’−Z)の割合を示す。
【0085】
並進ぶれが発生すると、視差変化量Δdが発生し、かつ実際には基線長bが(b+Δb)に変化する。基線長bは固定パラメータとして扱われる。そのため、被写体距離がZからZ’に変化することによる奥行き方向の誤差が発生する。
【0086】
前述した式(4)が示すように、被写体距離Zと視差量dとには反比例の関係がある。被写体距離Zが近いと視差量dは大きくなるため、視差変化量Δd、すなわちぶれ量が被写体距離計測精度に与える影響は小さい。一方、被写体距離Zが遠いと視差量dは小さくなるため、視差変化量Δd、すなわちぶれ量が被写体距離計測精度に与える影響は大きい。
【0087】
したがって、被写体距離Zが近い場合には大きな許容しきい値を設定し、被写体距離Zが遠い場合には小さな許容しきい値の許容を設定することにより、計測精度を確保し、かつ計測の実行頻度を増加させることができる。確保される計測精度は、被写体形状および被写体距離の計測結果の精度である。この原理を用いて、被写体距離と許容しきい値とが関連付けられたテーブルが生成される。
【0088】
被写体距離と許容しきい値とが関連付けられたテーブルの生成方法について説明する。式(4)、式(5)、および式(6)により、視差変化量Δdと被写体距離Zとの関係は、式(7)により与えられる。
【0090】
被写体距離Z毎に許容できる被写体距離の誤差率ErrorRate(Z)を予め仕様として定める、すなわち定数化することにより、被写体距離Z毎に視差変化量Δdの許容値を決定することができる。したがって、被写体距離と許容しきい値とが関連付けられたテーブルを予め生成することができる。
【0091】
図10は、被写体距離と許容しきい値とが関連付けられたテーブルの例を示す。10mm以下の被写体距離に対して、1.0画素の許容しきい値が関連付けられている。被写体距離検出部108により検出された被写体距離が10mm以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が1.0画素よりも小さければ計測の実行が許容される。10mmよりも大きく、かつ20mm以下の被写体距離に対して、0.5画素の許容しきい値が関連付けられている。被写体距離検出部108により検出された被写体距離が10mmよりも大きく、かつ20mm以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.5画素よりも小さければ計測の実行が許容される。
【0092】
20mmよりも大きく、かつ30mm以下の被写体距離に対して、0.3画素の許容しきい値が関連付けられている。被写体距離検出部108により検出された被写体距離が20mmよりも大きく、かつ30mm以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.3画素よりも小さければ計測の実行が許容される。30mmよりも大きく、かつ40mm以下の被写体距離に対して、0.2画素の許容しきい値が関連付けられている。被写体距離検出部108により検出された被写体距離が30mmよりも大きく、かつ40mm以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.2画素よりも小さければ計測の実行が許容される。
【0093】
40mmよりも大きく、かつ50mm以下の被写体距離に対して、0.2画素の許容しきい値が関連付けられている。被写体距離検出部108により検出された被写体距離が40mmよりも大きく、かつ50mm以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.2画素よりも小さければ計測の実行が許容される。50mmよりも大きな被写体距離に対して、0.2画素の許容しきい値が関連付けられている。被写体距離検出部108により検出された被写体距離が50mmよりも大きい場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.2画素よりも小さければ計測の実行が許容される。テーブルの内容は、上記の例に限らない。
【0094】
図10に示すように、第1の被写体距離に対応する第1の許容しきい値は、第1の被写体距離よりも大きい第2の被写体距離に対応する第2の許容しきい値よりも大きい。
【0095】
図10に示すテーブルを用いた計測可否判定の方法を説明する。計測可否判定部110は、ステップS103において計測された被写体距離に対応する許容しきい値を
図10に示すテーブルから取得する。ステップS106において検出されたぶれ量が許容しきい値よりも小さい場合、計測可否判定部110は、計測を実行できると判定する。ステップS106において検出されたぶれ量が許容しきい値よりも大きい場合、計測可否判定部110は、計測を実行できないと判定する。
【0096】
ステップS109における計測処理の詳細を説明する。ステップS109において、第1画像および第2画像が計測処理部111に入力され、かつ計測処理部111は計測処理を実行する。計測処理部111は計測結果を出力する。計測結果は、被写体形状および被写体距離の少なくとも1つである。
【0097】
図11は、計測処理の対象となる計測領域の例を示す。
図11(a)では、第1の画像1100において予め決められた領域1101内で計測が行われる。
図11(b)では、第1の画像1102における第1の領域1103に含まれる第2の領域1104内で計測が行われる。第1の領域1103は、被写体距離の粗計測(ステップS103)において被写体距離の検出に成功した、信頼度が高い計測点を含む領域である。第2の領域1104は、各計測点で検出されたぶれ量が許容しきい値よりも小さい領域である。
【0098】
計測処理の具体的な内容は、ステレオ計測処理である。その基本的な原理は、ステップS103における被写体処理の粗計測に関して説明した原理と同じである。計測処理部111は、被写体距離Zを算出する。あるいは、計測処理部111は、各計測点の3次元座標(X,Y,Z)を算出し、かつ複数の計測点の3次元座標を用いて被写体形状を算出する。
【0099】
計測処理の後、計測処理部111は、式(8)に示す計測の信頼度を算出してもよい。式(8)において、Δbは、計測領域における第1の画像間の位置ずれ量、すなわちぶれ量である。b
th(Z)は、被写体距離毎に定められた許容しきい値である。式(8)が示すように、計測の信頼度は、ぶれ量と許容しきい値との比率である。
【0101】
計測装置10がディスプレイを有する場合、式(8)により算出された信頼度がディスプレイに表示されてもよい。
図12は、ディスプレイに表示される信頼度分布1200の例を示す。被写体距離の粗計測(ステップS103)において設定された計測点における信頼度が式(8)により算出される。信頼度分布1200は、各計測点における信頼度を視覚的に示す。ユーザは、計測処理(ステップS109)において設定された計測点の信頼度を信頼度分布1200上で確認することにより、計測結果の妥当性を判断することができる。
【0102】
上記のように、計測装置10は、第1の光路および第2の光路を切り替えながら画像を取得し、かつステレオ計測の原理で被写体の計測を行う。撮像素子104のぶれが発生しやすく、かつ、そのぶれが計測精度に影響しにくい近距離の被写体領域ではぶれ量に対する大きな許容量が設定される。撮像素子104のぶれが発生しにくいが、そのぶれが計測精度に影響しやすい遠距離の被写体領域ではぶれ量に対する小さな許容量が設定される。これにより、計測装置10は、所望の計測精度を確保することができ、かつ計測の実行頻度を増加させることができる。
【0103】
(第1の実施形態の第1の変形例)
第1の実施形態の第1の変形例において、フレームメモリ107は、被写体距離と許容しきい値とが関連付けられたテーブルを記憶しなくてもよい。計測可否判定部110は、被写体距離毎に予め定められた、計測処理の結果の誤差量に基づいて、被写体距離検出部108によって検出された被写体距離に対応する許容しきい値を算出する。
【0104】
被写体距離Z毎に許容できる被写体距離の誤差率ErrorRate(Z)が、予め仕様として定められている、すなわち定数化されている。
図3に示すステップS107において計測可否判定部110は、ステップS103において検出された被写体距離Z毎に視差変化量Δdの許容しきい値を式(7)により算出する。計測可否判定部110は、ステップS106において検出されたぶれ量と、算出された許容しきい値とを比較することにより、計測の実行可否を判定する。
【0105】
上記のように、計測可否判定部110は、計測可否の判定毎に、被写体距離に対応する許容しきい値を算出する。そのため、フレームメモリ107は、被写体距離と許容しきい値とが関連付けられたテーブルを記憶する必要がない。
【0106】
(第1の実施形態の第2の変形例)
第1の実施形態において、被写体距離の粗計測(ステップS103)の前に第1の画像の取得(ステップS101)および第2の画像の取得(ステップS102)が行われ、かつこれらの画像が被写体距離の粗計測(ステップS103)に用いられる。第1の画像の取得(ステップS101)および第2の画像の取得(ステップS102)の間に極端に大きなぶれが撮像素子104に発生した場合、正しい被写体距離を求めることは困難である。
【0107】
第1の実施形態の第2の変形例は、この課題を解決する。第1の画像間の位置ずれ量の大きさが、予め決められたしきい値よりも小さい場合にのみ第2の画像が取得される。
【0108】
図13は、第1の実施形態の第2の変形例における計測の手順を示す。
図13を用いて、第1の実施形態の第2の変形例における計測の詳細を説明する。
【0109】
計測が開始された後、第1の画像が取得される(ステップS301)。ステップS301における処理は、
図3に示すステップS101における処理と同様である。
【0110】
ステップS301の後、ステップS301における処理と同様の処理が行われる。つまり、第1の画像の取得が行われる(ステップS302)。
【0111】
ステップS302の後、ぶれ検出部109はぶれ検出処理を実行する(ステップS303)。ステップS303における処理は、
図3に示すステップS106における処理と同様である。
【0112】
ステップS303の後、制御部106は、ステップS303において検出された第1の画像間の位置ずれ量、すなわち撮像素子104のぶれ量と、予め決定されたしきい値とを比較する。これにより、制御部106は、第2の画像の取得可否を判定する(ステップS304)。ステップS304における判定に用いられるしきい値は、
図10に示すテーブルにおける許容しきい値とは独立している。
【0113】
ステップS304において、ぶれ量がしきい値よりも大きい場合、制御部106は、第2の画像を取得できないと判定する。その場合、ステップS302における処理が実行される。ステップS304において、ぶれ量がしきい値よりも小さい場合、制御部106は、第2の画像を取得できると判定する。その場合、第2の画像の取得が行われる(ステップS305)。ステップS305からステップS312における処理は、
図3に示すステップS102からステップS109における処理と同様である。
【0114】
図13に示す処理では、ステップS303において検出されたぶれ量が予め決定されたしきい値よりも小さい場合のみ、ステップS305において第2の画像が取得される。そのため、撮像素子104のぶれに対するロバスト性が向上する。
【0115】
(第2の実施形態)
第1の実施形態において、被写体距離に応じた許容しきい値が計測可否の判定に用いられる。一方、第2の実施形態において、第1の画像および第2の画像の間の視差量に応じた許容しきい値が計測可否の判定に用いられる。
【0116】
図14は、本発明の第2の実施形態の計測装置11の構成を示す。
図14に示す構成について、
図1に示す構成と異なる点を説明する。
【0117】
計測装置11は、
図1に示す計測装置10における被写体距離検出部108の代わりに視差検出部112を有する。視差検出部112は、第1の画像および第2の画像の間の視差量を検出する。視差検出部112は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。視差検出部112は、1つまたは複数のプロセッサを含むことができる。視差検出部112は、1つまたは複数の論理回路を含むことができる。
【0118】
計測可否判定部110は、ぶれ検出部109によって検出されたぶれ量と、視差検出部112によって検出された視差量に応じた許容しきい値とを比較することにより計測の実行可否を判定する。フレームメモリ107は、ぶれ量と許容しきい値とが関連付けられたテーブルを記憶する。
【0119】
上記以外の点について、
図14に示す構成は、
図1に示す構成と同様である。
【0120】
図15は、第2の実施形態における計測の手順を示す。
図15を用いて、第2の実施形態における計測の詳細を説明する。
【0121】
ステップS401およびステップS402における処理が実行される。ステップS401およびステップS402における処理は、
図3に示すステップS101およびステップS102における処理と同様である。
【0122】
ステップS402の後、視差検出部112は、第1の画像および第2の画像をフレームメモリ107から読み込む。視差検出部112は、第1の画像および第2の画像の間の視差量を検出する(ステップS403)。
【0123】
ステップS403の後、ステップS404からステップS406における処理が実行される。ステップS404からステップS406における処理は、
図3に示すステップS104からステップS106における処理と同様である。
【0124】
ステップS406の後、計測可否判定部110は、テーブルをフレームメモリ107から読み込む。計測可否判定部110は、ステップS403において検出された視差量に対応する許容しきい値をテーブルから取得する。計測可否判定部110は、計測可否判定を実行する。つまり、計測可否判定部110は、ステップS406において検出されたぶれ量と許容しきい値とを比較することにより、計測の実行可否を判定する(ステップS407)。
【0125】
ステップS407において、ぶれ量が許容しきい値よりも大きい場合、計測可否判定部110は、計測を実行できないと判定する。その場合、ステップS405における処理が実行される。ステップS107において、ぶれ量が許容しきい値よりも小さい場合、計測可否判定部110は、計測を実行できると判定する。その場合、ステップS402における処理と同様の処理が行われる。つまり、第2の画像の取得が行われる(ステップS408)。
【0126】
ステップS408の後、計測処理部111は、計測処理を実行する(ステップS409)。ステップS409における処理は、
図3に示すステップS109における処理と同様である。ステップS409における処理が行われることにより、計測が終了する。
【0127】
ステップS407における計測可否判定の詳細を説明する。ステップS407において、視差量の検出結果と、第1の画像間の位置ずれ量とが計測可否判定部110に入力され、かつ計測可否判定部110は計測の実行可否を判定する。第1の画像間の位置ずれ量は、撮像素子104のぶれ量である。
【0128】
前述した式(4)、式(5)、および式(6)により、視差量dと視差変化量Δdとの関係は式(9)により与えられる。
【0130】
視差量d毎に許容できる被写体距離の誤差率ErrorRate(Z)を予め仕様として定める、すなわち定数化することにより、視差量d毎に視差変化量Δdの許容値を決定することができる。したがって、視差量と許容しきい値とが関連付けられたテーブルを予め生成することができる。
【0131】
図16は、視差量と許容しきい値とが関連付けられたテーブルの例を示す。10画素以下の視差量に対して、0.2画素の許容しきい値が関連付けられている。視差検出部112により検出された視差量が10画素以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.2画素よりも小さければ計測の実行が許容される。10画素よりも大きく、かつ20画素以下の視差量に対して、0.2画素の許容しきい値が関連付けられている。視差検出部112により検出された視差量が10画素よりも大きく、かつ20画素以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.2画素よりも小さければ計測の実行が許容される。
【0132】
20画素よりも大きく、かつ30画素以下の視差量に対して、0.2画素の許容しきい値が関連付けられている。視差検出部112により検出された視差量が20画素よりも大きく、かつ30画素以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.2画素よりも小さければ計測の実行が許容される。30画素よりも大きく、かつ40画素以下の視差量に対して、0.3画素の許容しきい値が関連付けられている。視差検出部112により検出された視差量が30画素よりも大きく、かつ40画素以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.3画素よりも小さければ計測の実行が許容される。
【0133】
40画素よりも大きく、かつ50画素以下の視差量離に対して、0.5画素の許容しきい値が関連付けられている。視差検出部112により検出された視差量が40画素よりも大きく、かつ50画素以下である場合、第1の画像間の位置ずれ量、すなわちぶれ量が0.5画素よりも小さければ計測の実行が許容される。50画素よりも大きな視差量に対して、1.0画素の許容しきい値が関連付けられている。視差検出部112により検出された視差量が50画素よりも大きい場合、第1の画像間の位置ずれ量、すなわちぶれ量が1.0画素よりも小さければ計測の実行が許容される。テーブルの内容は、上記の例に限らない。
【0134】
図16に示すように、第1の視差量に対応する第1の許容しきい値は、第1の視差量よりも小さい第2の視差量に対応する第2の許容しきい値よりも大きい。
【0135】
図16に示すテーブルを用いた計測可否判定の方法を説明する。計測可否判定部110は、ステップS403において検出された視差量に対応する許容しきい値を
図16に示すテーブルから取得する。ステップS406において検出されたぶれ量が許容しきい値よりも小さい場合、計測可否判定部110は、計測を実行できると判定する。ステップS406において検出されたぶれ量が許容しきい値よりも大きい場合、計測可否判定部110は、計測を実行できないと判定する。
【0136】
上記のように、計測装置11は、第1の光路および第2の光路を切り替えながら画像を取得し、かつステレオ計測の原理で被写体の計測を行う。撮像素子104のぶれが発生しやすく、かつ、そのぶれが計測精度に影響しにくい近距離の被写体領域ではぶれ量に対する大きな許容量が設定される。撮像素子104のぶれが発生しにくいが、そのぶれが計測精度に影響しやすい遠距離の被写体領域ではぶれ量に対する小さな許容量が設定される。これにより、計測装置11は、所望の計測精度を確保することができ、かつ計測の実行頻度を増加させることができる。
【0137】
(第2の実施形態の変形例)
第2の実施形態の変形例において、フレームメモリ107は、視差量と許容しきい値とが関連付けられたテーブルを記憶しなくてもよい。計測可否判定部110は、視差量毎に予め定められた、計測処理の結果の誤差量に基づいて、視差検出部112によって検出された視差量に対応する許容しきい値を算出する。
【0138】
視差量d毎に許容できる被写体距離の誤差率ErrorRate(Z)が、予め仕様として定められている、すなわち定数化されている。
図15に示すステップS407において計測可否判定部110は、ステップS403において検出された視差量d毎に視差変化量Δdの許容しきい値を式(9)により算出する。計測可否判定部110は、ステップS406において検出されたぶれ量と、算出された許容しきい値とを比較することにより、計測の実行可否を判定する。
【0139】
上記のように、計測可否判定部110は、計測可否の判定毎に、視差量に対応する許容しきい値を算出する。そのため、フレームメモリ107は、視差量と許容しきい値とが関連付けられたテーブルを記憶する必要がない。
【0140】
(第3の実施形態)
第1の実施形態において、計測処理の前に計測可否の判定が行われる。一方、第3の実施形態において、計測処理の後、計測処理で得られた被写体距離を用いて計測結果の妥当性が判定される。
【0141】
図17は、本発明の第3の実施形態の計測装置12の構成を示す。
図17に示す構成について、
図1に示す構成と異なる点を説明する。
【0142】
計測装置11は、
図1に示す計測装置10における被写体距離検出部108を有していない。計測処理部111は、第1の画像および第2の画像に基づいて計測処理を実行し、かつ計測処理において被写体距離を検出する。被写体形状の計測が計測処理の主目的である場合、計測処理部111は、被写体形状に加えて被写体距離を計測する。計測装置11は、
図1に示す計測装置10における計測可否判定部110の代わりに妥当性判定部113を有する。妥当性判定部113は、ぶれ検出部109によって検出されたぶれ量と、計測処理部111によって検出された被写体距離に応じた許容しきい値とを比較することにより計測処理の結果の妥当性を判定する。妥当性判定部113は、プロセッサおよび論理回路の少なくとも1つで構成されてもよい。妥当性判定部113は、1つまたは複数のプロセッサを含むことができる。妥当性判定部113は、1つまたは複数の論理回路を含むことができる。
【0143】
上記以外の点について、
図17に示す構成は、
図1に示す構成と同様である。
【0144】
図18は、第3の実施形態における計測の手順を示す。
図18を用いて、第3の実施形態における計測の詳細を説明する。
【0145】
ステップS501およびステップS502における処理が実行される。ステップS501およびステップS502における処理は、
図3に示すステップS101およびステップS102における処理と同様である。
【0146】
ステップS502の後、ぶれ検出部109はぶれ検出処理を実行する(ステップS503)。ステップS503における処理は、
図3に示すステップS106における処理と同様である。
【0147】
ステップS503の後、制御部106は、ステップS503において検出された第1の画像間の位置ずれ量、すなわち撮像素子104のぶれ量と、予め決定されたしきい値とを比較する。これにより、制御部106は、第2の画像の取得可否を判定する(ステップS504)。ステップS504における処理は、
図13に示すステップS304における処理と同様である。
【0148】
ステップS504において、ぶれ量がしきい値よりも大きい場合、制御部106は、第2の画像を取得できないと判定する。その場合、ステップS502における処理が実行される。ステップS504において、ぶれ量がしきい値よりも小さい場合、制御部106は、第2の画像を取得できると判定する。その場合、第2の画像の取得が行われる(ステップS505)。ステップS505における処理は、
図3に示すステップS108における処理と同様である。
【0149】
ステップS505の後、計測処理部111は、第1の画像および第2の画像に基づいて計測処理を実行し、かつ計測結果を制御部106に出力する(ステップS506)。ステップS506において計測処理部111は、被写体の形状および被写体距離を計測する。この場合、計測処理の過程で被写体距離が計測される。あるいは、ステップS506において計測処理部111は、被写体距離のみを計測する。
【0150】
ステップS506の後、妥当性判定部113は、テーブルをフレームメモリ107から読み込む。妥当性判定部113は、ステップS506において計測された被写体距離に対応する許容しきい値をテーブルから取得する。妥当性判定部113は、妥当性判定を実行する。つまり、妥当性判定部113は、ステップS503において検出されたぶれ量と許容しきい値とを比較することにより、計測結果の妥当性を判定する(ステップS507)。ステップS507における判定では、
図10に示すテーブルと同様のテーブルが用いられる。
【0151】
ステップS507において、ぶれ量が許容しきい値よりも大きい場合、妥当性判定部113は、計測結果が妥当ではないと判定する。その場合、ステップS501における処理が実行される。ステップS507において、ぶれ量が許容しきい値よりも小さい場合、妥当性判定部113は、計測結果が妥当であると判定する。その場合、計測が終了する。
【0152】
ステップS504における判定に用いられるしきい値は、被写体距離に応じたしきい値であってもよい。例えば、ステップS504における処理が最初に実行されるとき、予め決定された初期値がしきい値として用いられる。その後のステップS504における処理では、ステップS506において計測された被写体距離に応じたしきい値が用いられる。ステップS504における処理は必須ではない。
【0153】
上記のように、計測装置12は、第1の光路および第2の光路を切り替えながら画像を取得し、かつステレオ計測の原理で被写体の計測を行う。撮像素子104のぶれが発生しやすく、かつ、そのぶれが計測精度に影響しにくい近距離の被写体領域ではぶれ量に対する大きな許容量が設定される。撮像素子104のぶれが発生しにくいが、そのぶれが計測精度に影響しやすい遠距離の被写体領域ではぶれ量に対する小さな許容量が設定される。これにより、計測装置12は、所望の計測精度を確保することができ、かつ計測の実行頻度を増加させることができる。また、被写体距離の検出を行うための処理系は計測処理部111とは独立している必要がないため、処理系を単純化することができる。
【0154】
(第3の実施形態の変形例)
第3の実施形態の変形例において、フレームメモリ107は、被写体距離と許容しきい値とが関連付けられたテーブルを記憶しなくてもよい。妥当性判定部113は、被写体距離毎に予め定められた、計測処理の結果の誤差量に基づいて、計測処理部111によって検出された被写体距離に対応する許容しきい値を算出する。
【0155】
被写体距離Z毎に許容できる被写体距離の誤差率ErrorRate(Z)が、予め仕様として定められている、すなわち定数化されている。
図18に示すステップS507において妥当性判定部113は、ステップS506において検出された被写体距離Z毎に視差変化量Δdの許容しきい値を式(7)により算出する。妥当性判定部113は、ステップS503において検出されたぶれ量と、算出された許容しきい値とを比較することにより、計測結果の妥当性を判定する。
【0156】
上記のように、妥当性判定部113は、計測結果の妥当性の判定毎に、被写体距離に対応する許容しきい値を算出する。そのため、フレームメモリ107は、被写体距離と許容しきい値とが関連付けられたテーブルを記憶する必要がない。
【0157】
(第4の実施形態)
第3の実施形態において、被写体距離に応じた許容しきい値が妥当性判定に用いられる。一方、第4の実施形態において、第1の画像および第2の画像の間の視差量に応じた許容しきい値が妥当性判定に用いられる。
【0158】
図17に示す計測装置12において、計測処理部111は、第1の画像および第2の画像に基づいて計測処理を実行し、かつ計測処理において第1の画像および第2の画像の間の視差量を検出する。妥当性判定部113は、ぶれ検出部109によって検出されたぶれ量と、計測処理部111によって検出された視差量に応じた許容しきい値とを比較することにより計測処理の結果の妥当性を判定する。
【0159】
図19は、第4の実施形態における計測の手順を示す。
図19を用いて、第4の実施形態における計測の詳細を説明する。
【0160】
ステップS601およびステップS602における処理が実行される。ステップS601およびステップS602における処理は、
図3に示すステップS101およびステップS102における処理と同様である。
【0161】
ステップS602の後、ぶれ検出部109はぶれ検出処理を実行する(ステップS603)。ステップS603における処理は、
図3に示すステップS106における処理と同様である。
【0162】
ステップS603の後、制御部106は、ステップS603において検出された第1の画像間の位置ずれ量、すなわち撮像素子104のぶれ量と、予め決定されたしきい値とを比較する。これにより、制御部106は、第2の画像の取得可否を判定する(ステップS604)。ステップS604における処理は、
図13に示すステップS304における処理と同様である。
【0163】
ステップS604において、ぶれ量がしきい値よりも大きい場合、制御部106は、第2の画像を取得できないと判定する。その場合、ステップS602における処理が実行される。ステップS604において、ぶれ量がしきい値よりも小さい場合、制御部106は、第2の画像を取得できると判定する。その場合、第2の画像の取得が行われる(ステップS605)。ステップS605における処理は、
図3に示すステップS108における処理と同様である。
【0164】
ステップS605の後、計測処理部111は、第1の画像および第2の画像に基づいて計測処理を実行し、かつ計測結果を制御部106に出力する(ステップS606)。ステップS606において計測処理部111は、被写体の形状および被写体距離の少なくとも1つを計測する。また、ステップS606において計測処理部111は、計測処理の過程で第1画像および第2の画像の間の視差量を検出する。
【0165】
ステップS606の後、妥当性判定部113は、テーブルをフレームメモリ107から読み込む。妥当性判定部113は、ステップS606において検出された視差量に対応する許容しきい値をテーブルから取得する。妥当性判定部113は、妥当性判定を実行する。つまり、妥当性判定部113は、ステップS603において検出されたぶれ量と許容しきい値とを比較することにより、計測結果の妥当性を判定する(ステップS607)。ステップS607における判定では、
図16に示すテーブルと同様のテーブルが用いられる。
【0166】
ステップS607において、ぶれ量が許容しきい値よりも大きい場合、妥当性判定部113は、計測結果が妥当ではないと判定する。その場合、ステップS601における処理が実行される。ステップS607において、ぶれ量が許容しきい値よりも小さい場合、妥当性判定部113は、計測結果が妥当であると判定する。その場合、計測が終了する。
【0167】
ステップS604における判定に用いられるしきい値は、被写体距離に応じたしきい値であってもよい。例えば、ステップS604における処理が最初に実行されるとき、予め決定された初期値がしきい値として用いられる。その後のステップS604における処理では、ステップS606において計測された被写体距離に応じたしきい値が用いられる。ステップS604における処理は必須ではない。
【0168】
第4の実施形態の計測装置12は、第3の実施形態と同様に、所望の計測精度を確保することができ、かつ計測の実行頻度を増加させることができる。また、視差量の検出を行うための処理系は計測処理部111とは独立している必要がないため、第3の実施形態と同様に、処理系を単純化することができる。
【0169】
(第4の実施形態の変形例)
第4の実施形態の変形例において、フレームメモリ107は、視差量と許容しきい値とが関連付けられたテーブルを記憶しなくてもよい。妥当性判定部113は、視差量毎に予め定められた、計測処理の結果の誤差量に基づいて、計測処理部111によって検出された視差量に対応する許容しきい値を算出する。
【0170】
視差量d毎に許容できる被写体距離の誤差率ErrorRate(Z)が、予め仕様として定められている、すなわち定数化されている。
図19に示すステップS607において妥当性判定部113は、ステップS606において検出された視差量d毎に視差変化量Δdの許容しきい値を式(9)により算出する。妥当性判定部113は、ステップS603において検出されたぶれ量と、算出された許容しきい値とを比較することにより、計測結果の妥当性を判定する。
【0171】
上記のように、妥当性判定部113は、計測結果の妥当性の判定毎に、視差量に対応する許容しきい値を算出する。そのため、フレームメモリ107は、視差量と許容しきい値とが関連付けられたテーブルを記憶する必要がない。
【0172】
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。