(57)【特許請求の範囲】
【請求項１】
被写体に光を照射する光源と、被写体からの反射光を集光するとともに光軸方向に移動可能なレンズと、レンズを介して照射される被写体像に応じた画像信号を発生する撮像素子と、撮像素子上に焦点のあった被写体像を投影できるフォーカス機構とを備え、レンズと撮像素子とを光軸方向に移動して撮像することにより得られる２つの画像信号のうち、レンズと被写体との間の距離が短い画像信号を基準画像信号とし他方を探索画像信号として、測定したい被写体部分を含むように写像半径を設定し座標変換した後、前記２つの画像の写像半径内の画像要素が同一の時に最大値を示す評価関数を計算しながら探索画像の写像半径を小さくしていき、評価関数が最大になる探索画像の写像半径ｒmaxを求め、その写像半径ｒmaxから基準画像と探索画像との相対的な倍率を計算することで、それぞれの画像を撮影した際のレンズと被写体との間の距離をレンズ公式により求めるようにした距離測定装置。
【請求項２】
座標変換時に原点付近の値を除いて評価関数を計算することにより、測定誤差を小さくするようにしたことを特徴とする請求項１に記載の距離測定装置。
【請求項３】
評価関数を計算する時の原点を座標原点近傍に複数個仮定し、各仮定した原点に対してそれぞれ評価関数の計算を行い、評価関数が最大になる仮の原点をその写像半径での原点とすることにより、測定誤差を小さくするようにしたことを特徴とする請求項１または２に記載の距離測定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、被写体からレンズまでの距離を測定できる距離測定装置に関するものである。
【０００２】
【従来の技術】
従来、レンズと撮影素子を用いて距離を測定する方法として、ステレオ法と光投影法がある。ステレオ法は、図５において、複数のカメラ２で被写体６を撮影した２枚以上の画像に対して、公知の両眼立体視法の原理を用いて距離を求める方法で、まず、複数のカメラ２の幾何学的配置等から被写体の形状を算出する。
【０００３】
また、光投影法は、図６において、被写体６にスリット光源１２よりスリット光１１を照射する。スリット光１１は、レーザ光源等の高輝度の光源を用い、投影されたスリット光１１を、スリット光源１２と別の方向からのカメラ２で観測すると、被写体６の表面形状に沿って変調されたスリット像が得られる。このスリット光１１の変形量、基線長および変調されたスリット光１３とカメラ２の幾何学的配置から被写体６の形状を算出するものである。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記の従来の構成では、被写体や計測環境によって計測が困難な場合や、あるいは、不可能な場合がある。これは、ステレオ法では、被写体表面上のパターンによって対応点探索が困難な場合があり、距離測定が不可能な場合がある。また、光投影法は被写体にスリットなどの光源を投影して距離を求める方法であるため、自然光の下や色またはパターンによっては十分な輝度差が得られず計測が難しいという問題点がある。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明の距離測定装置は、被写体に光を照射する光源と、被写体からの反射光を集光するとともに光軸方向に移動可能なレンズと、レンズを介して照射される被写体像に応じた画像信号を発生する撮像素子と、撮像素子上に焦点のあった被写体像を投影できるフォーカス機構とを備え、レンズと撮像素子とを光軸方向に移動して撮像することにより得られる２つの画像信号のうち、レンズと被写体との間の距離が短い画像信号を基準画像信号とし他方を探索画像信号として、測定したい被写体部分を含むように写像半径を設定し座標変換した後、前記２つの画像の写像半径内の画像要素が同一の時に最大値を示す評価関数を計算しながら探索画像の写像半径を小さくしていき、評価関数が最大になる探索画像の写像半径ｒmaxを求め、その写像半径ｒmaxから基準画像と探索画像との相対的な倍率を計算することで、それぞれの画像を撮影した際のレンズと被写体との間の距離をレンズ公式により求めるようにしたものである。
【０００６】
これによれば、撮像する画像は２つであるため従来のものに比べて測定時間を短縮できる。またステレオ法のように２つの画像内で対応点を探索する必要がないので、被写体の表面がテクスチャ性をもっていても測定可能である。
【０００７】
【発明の実施の形態】
本発明の請求項１に記載の発明は、被写体に光を照射する光源と、被写体からの反射光を集光するとともに光軸方向に移動可能なレンズと、レンズを介して照射される被写体像に応じた画像信号を発生する撮像素子上に焦点のあった被写体像を投影できるフォーカス機構とを備え、レンズと撮像素子を光軸方向に移動して撮像することにより得られる２つの画像信号のうち、レンズと被写体間の距離が短い画像信号を基準画像信号とし他方を探索画像信号として、測定したい被写体部分を含むように写像半径を設定し座標変換した後、前記２つの画像の写像半径内の画像要素が同一の時に最大値を示す評価関数を計算しながら探索画像の写像半径を小さくしていき、評価関数が最大になる探索画像の写像半径ｒmaxを求め、その写像半径ｒmaxから基準画像と探索画像との相対的な倍率を計算することで、それぞれの画像を撮影した際のレンズと被写体との間の距離をレンズ公式により求めることを特徴とするものであり、２つの撮影画像からレンズと被写体の間の距離を測定することができる。ステレオ法と異なり、２つの画像内で対応点を探索する必要がないので被写体の表面がテクスチャ性を有していても測定可能である。
【０００８】
本発明の請求項２に記載の発明は、座標変換時に原点付近の値を除いて評価関数を計算することにより、測定誤差を小さくするようにしたことを特徴とするものであり、特に原点付近に生じる大きな倍率計算上の誤差を除くことができるため測定誤差を小さくする作用を有する。
【０００９】
本発明の請求項３に記載の発明は、評価関数を計算する時の原点を座標原点近傍に複数個仮定し、各仮定した原点に対してそれぞれ評価関数の計算を行い、評価関数が最大になる仮の原点をその写像半径での原点とすることにより、測定誤差を小さくするようにしたことを特徴としており、２つの画像を撮影したときの光軸のずれによる測定誤差を小さくする作用を有する。
【００１０】
(実施の形態１)
以下に本発明の実施の形態について図面を参照しながら詳細に説明する。図１は本発明の一実施の形態における距離測定装置の構成図である。図において、１は被写体６に光を照射する光源である。２はレンズとフォーカス機構とを備えたCCDカメラであり、ロボットアーム３に固定されて正確に移動される。CCDカメラ２には、CCDカメラ２からの画像信号をＡ／Ｄ変換するＡ／Ｄ変換器４とコンピュータ５が取り付けられており、CCDカメラ２からの画像信号を演算処理してレンズから被写体までの距離を求める。
【００１１】
演算処理部分では、以下のような処理を行っている。CCDカメラ２で取り込んだ画像信号のうち、CCDカメラ２のレンズと被写体間の距離が短い画像信号（撮像倍率の大きい画像信号）を基準画像信号とし他方を探索画像信号とする。２つの画像とも像面（CCD撮像素子面）と光軸との交点（視野中心）を原点（cx , cy）として測定したい被写体部分を含むように写像半径ｒを設定し、写像半径内において以下（数１）に示す座標変換を行う（Complex Log Maping法）。
【００１２】
【数１】
0004003274.tif 000002
【００１３】
ここで（ｘi,yi）は、図２に示すように、（ｃx,ｃy）を原点とする直角座標系上の点である。mi,niは座標変換後の値であり、それぞれ（ｃx,ｃy）から（ｘi,yi）までの角度と距離を表す軸上の座標値を示している。また、Ｎは写像画像のサイズである。写像画像のサイズは、CCD撮像素子上の撮像素子の数で表す（CCD撮像素子は、小さな撮像素子の集合で構成されている。）。（ｘi,yi）における画素の濃度値をＦ０（xi,yi）とすると、写像後の画素の濃度値Ｍ0（ｍi,ｎi）は（数２）で表される。
【００１４】
【数２】
0004003274.tif 000003
【００１５】
ここで式（１）〜（４）によって写像される基準画像上の点Ａ１と探索画像上の点Ａ２を考える（図３（ａ），（ｂ）参照）。点Ａ１と点Ａ２は被写体上の同一点の像である。２つの画像は、CCDカメラ２の光軸を傾けないように移動して同じ光軸上で撮影されるため、原点を中心にして２つの画像は相似である。したがってｚ1／ｚ2は２つの画像の倍率の比になる。
【００１６】
ここでｚ1／ｚ2＝ｒ1／ｒ2が成立する写像半径を考えると、そのような写像半径内に含まれる画像要素は、２つの画像で同一のものになることが分かる。つまり、基準画像と探索画像で写像半径内の画像要素が同じになるときの写像半径を調べれば２つの画像間の倍率の比が分かる。２つの画像の写像半径内の画像要素が同一の時に最大値を示す評価関数として以下の式（数３）を考える。
【００１７】
【数３】
0004003274.tif 000004
【００１８】
ここでμ１，μ２は各画像の濃度値の平均値、σ21，σ22は各画像の分散値、σ212は共分散値である。この評価関数の変化を観察しながら写像半径を変化させることで、ｒ1／ｒ2つまりｚ1／ｚ2（画像間の倍率）を決定する。
【００１９】
評価関数は、探索画像中の写像半径を小さくしながら計算する。これは、図３（ｂ）中で基準画像を被写体から近い点Ｐ１で取得し、探索画像を被写体から遠い点Ｐ２で取得したことに対応する（基準画像の方が探索画像に比べてCCDで撮像された時の拡大率が大きいことになる）。この理由を次に述べる。
【００２０】
Ｐ２で取得した画像を基準画像とした場合の基準画像と探索画像を図４（ａ），（ｂ）に示す。図から基準画像の視野は探索画像の視野より広くなり、基準画像内に探索画像に含まれない要素が存在する。その結果、探索画像の写像半径をどのようにとっても写像半径内の画像要素が同一になることはない。したがって、式（６）の評価関数で２つの画像間の倍率を求めることができない。このため、基準画像の視野は常に探索画像の視野の中に含まれるように、図３（ｂ）中ではＰ１点で撮像される。
【００２１】
ここで上記のように計算された２つの画像間の倍率から被写体とレンズ間の距離を求める方法を示す。図３（ｂ）に示すように被写体の大きさをａ、被写体からレンズまでの距離をｘi、カメラからCCD撮像素子までの距離をyi、投影された被写体の大きさをｈi、レンズの位置をＰiとする。ここでｉ＝１，２であり、ｆは焦点距離である。レンズ公式から以下の式（数４）が成立する。
【００２２】
【数４】
0004003274.tif 000005
【００２３】
地点Ｐ1で画像を取得した後、ｔだけ離れた地点Ｐ2までCCDカメラを移動し画像を取得する。この時、ｋ＝ｈ2／ｈ1とすると式（７），（８）から次式（数５）が成立する。
【００２４】
【数５】
0004003274.tif 000006
【００２５】
式（９）をｔを用いて変形すると以下の（数６）のようになる。
【００２６】
【数６】
0004003274.tif 000007
【００２７】
したがって、２つの画像間の倍率ｋを前記の演算により求めることでレンズと被写体間の距離を測定できる。
【００２８】
（実施の形態２）
実施の形態１と同様の光学配置と演算処理を行う。実施の形態１においてCCDカメラを光軸が変化しないように移動させるのは実際には困難であるため、写像中心のずれのために測定結果に誤差を生じる。この誤差を小さくするために、写像原点（ｃx,ｃy）のまわりの画素に新たな原点を仮定して、実施の形態１で説明した演算を繰り返し、評価関数が最大なる原点と写像半径の組を見つける。前記のように評価関数が最大になるとき、写像半径内の画像要素が２つの画像で等しくなるので、これによって写像中心のずれによる誤差を小さくすることができる。
【００２９】
（実施の形態３）
実施の形態１と同様の光学配置と演算処理を行う。演算処理の過程において、CCDカメラで撮像された画像の視野の中心付近の点の移動量は、CCDカメラの光軸方向の移動量に非常に鈍感である。そのため、視野中心付近では、撮像素子上の１ピクセルの違いが倍率誤差を生じる原因になる（CCD撮像素子は、複数の小さな撮像素子の集合であり、連続的な画像を得ることはできない。）。したがって、視野中心付近の点を評価関数の計算から除くことで、誤差の小さな距離測定ができる。
【００３０】
【発明の効果】
以上のように本発明によれば、２つ画像を撮像することで、精度の高い距離測定を高速に行うことができ、被写体の表面がテクスチャ性を有する場合でも距離を測定できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態における距離測定装置の構成図
【図２】同装置の演算処理における座標変換の説明図
【図３】同装置で撮像される２つの画像の関係図
【図４】同装置で撮像される探索画像と基準画像の関係図
【図５】従来の距離測定装置を示す構成図
【図６】従来の距離測定装置の説明図
【符号の説明】
１  光源
２  CCDカメラ
３  ロボットアーム
４  Ａ／Ｄ変換器
５  コンピュータ
６  被写体
７  被写体
８  レンズ
９  撮像素子
１０  カメラの視野
１１  スリット光
１２  スリット光源
１３  変調されたスリット光
【図１】
0004003274.tif 000008
【図２】
0004003274.tif 000009
【図３】
0004003274.tif 000010
【図４】
0004003274.tif 000011
【図５】
0004003274.tif 000012
【図６】
0004003274.tif 000013