(57)【要約】      （修正有）【課題】撮影画像から被写体までの距離を算出する場合の算出誤差を低減し、高精度な距離情報を取得する。【解決手段】視差を有する第１の画像と第２の画像とを用いて被写体までの距離を算出する距離算出装置であって、第１の画像上に第１の基準画像を設定し、第２の画像上に第１の参照画像を設定し、第１の参照画像の位置を所定方向に移動させ第１の基準画像と第１の参照画像との相互相関値を算出する相互相関算出部と、第１の画像又は第２の画像又は第１の画像と第２の画像の合成画像に対して、第２の基準画像と第２の参照画像とを設定し、第２の参照画像の位置を所定方向に移動させ第２の基準画像と第２の参照画像との自己相関値を算出する自己相関算出部と、相互相関値を用いて第１の画像と第２の画像の視差を算出する視差算出部と、自己相関値を用いて補正視差量を算出する補正視差量算出部と、補正視差量を用いて距離情報を算出する距離算出部とを備える。【選択図】図５
2020112881.tif 000002
【特許請求の範囲】
【請求項１】
視差を有する第１の画像と第２の画像とを用いて被写体までの距離情報を算出する距離算出装置であって、
前記第１の画像上に第１の基準画像を設定するとともに前記第２の画像上に第１の参照画像を設定し、前記第１の参照画像の位置を所定の方向に移動させながら前記第１の基準画像と前記第１の参照画像との相互相関値を算出する相互相関算出手段と、
前記第１の画像または前記第２の画像または前記第１の画像と前記第２の画像の合成画像に対して、第２の基準画像と第２の参照画像とを設定し、前記第２の参照画像の位置を前記所定の方向に移動させながら前記第２の基準画像と前記第２の参照画像との自己相関値を算出する自己相関算出手段と、
前記相互相関値を用いて前記第１の画像と前記第２の画像の視差量を算出する視差算出手段と、
前記自己相関値を用いて前記視差量を補正して、補正視差量を算出する補正視差量算出手段と、
前記補正視差量を用いて前記距離情報を算出する距離算出手段と、
を備えることを特徴とする距離算出装置。
【請求項２】
前記自己相関算出手段は、前記第２の参照画像を前記所定の方向に少なくとも±１画素移動させて前記自己相関値を算出することを特徴とする請求項１に記載の距離算出装置。
【請求項３】
前記視差算出手段は、前記相互相関値を所定の多項式で内挿することにより、前記第１の基準画像に対して最も相関が高い前記第１の参照画像の位置を前記視差量として算出することを特徴とする請求項１または２に記載の距離算出装置。
【請求項４】
前記補正視差量算出手段は、前記第１または第２の基準画像のコントラスト変化の大きさを所定の方向に沿って評価したコントラスト評価値と、前記自己相関値との比を用いて補正量を算出し、前記視差量を補正して前記補正視差量を算出することを特徴とする請求項１乃至３のいずれか１項に記載の距離算出装置。
【請求項５】
前記コントラスト評価値は、前記相互相関値の内挿に用いた多項式の係数であることを特徴とする請求項４に記載の距離算出装置。
【請求項６】
前記コントラスト評価値は、前記所定の方向に沿って算出した前記基準画像の標準偏差または分散を用いて算出されることを特徴とする請求項４または５に記載の距離算出装置。
【請求項７】
前記補正視差量算出手段は、前記自己相関値を用いて、前記第２の基準画像と最も相関が高い前記第２の参照画像の位置を補正量として算出し、前記視差量を補正して前記補正視差量を算出することを特徴とする請求項１に記載の距離算出装置。
【請求項８】
前記視差算出手段は、前記相互相関値を所定の多項式で内挿することにより、前記第１の基準画像に対して最も相関が高い前記第１の参照画像の位置を前記視差量として算出し、前記補正視差量算出手段は、前記相互相関値を内挿する際に用いた多項式の係数を少なくとも１つ用いて、前記自己相関値を所定の多項式で内挿することにより、前記第２の基準画像に対して最も相関が高い前記第２の参照画像の位置を補正量として算出し、前記視差量を補正して前記補正視差量を算出することを特徴とする請求項１に記載の距離算出装置。
【請求項９】
視差を有する第１の画像と第２の画像とを用いて被写体までの距離情報を算出する距離算出装置であって、
前記第１の画像上に第１の基準画像を設定するとともに前記第２の画像上に第１の参照画像を設定し、前記第１の参照画像の位置を所定の方向に移動させながら前記第１の基準画像と前記第１の参照画像との相互相関値を算出する相互相関算出手段と、
前記第１の画像または前記第１の画像と前記第２の画像の合成画像に対して、第２の基準画像と第２の参照画像とを設定し、前記第２の参照画像の位置を前記所定の方向に移動させながら前記第２の基準画像と前記第２の参照画像との自己相関値を算出する自己相関算出手段と、
前記自己相関値を用いて前記相互相関値を補正する相互相関値補正手段と、
補正された前記相互相関値を用いて、補正視差量を算出する補正視差量算出手段と、
前記補正視差量を用いて前記被写体までの距離を算出する距離算出手段と、
を備えることを特徴とする距離算出装置。
【請求項１０】
前記相互相関算出手段は、前記第１の基準画像と前記第１の参照画像の差分二乗和、または差分絶対値和、または正規化相互相関のいずれかを評価値として用いて前記相互相関値を算出し、前記自己相関算出手段は、前記相互相関値と同じ評価値を用いて前記自己相関値を算出することを特徴とする請求項１乃至９のいずれか１項に記載の距離算出装置。
【請求項１１】
前記視差量の大きさを判定する判定手段をさらに備え、前記判定手段により、前記視差量の算出誤差が大きいと判定された場合は、前記自己相関値算出手段による前記自己相関値の算出、及び前記補正視差量算出手段による前記補正視差量の算出を行い、前記判定手段により、前記視差量の算出誤差が小さいと判定された場合は、前記視差算出手段により算出された前記視差量を用いて、前記距離情報を算出することを特徴とする請求項１乃至８のいずれか１項に記載の距離算出装置。
【請求項１２】
前記判定手段は、前記第１の基準画像に含まれる一部領域の画素値の最大値と最小値の差分が、所定の閾値よりも大きい場合は、前記視差量の算出誤差が大きいと判定し、所定の閾値以下の場合は前記視差量の算出誤差が小さいと判定することを特徴とする請求項１１に記載の距離算出装置。
【請求項１３】
前記判定手段は、微分フィルタを施した前記第１の画像の画素値の絶対値が所定の閾値よりも大きい場合は、前記視差量の算出誤差が大きいと判定し、所定の閾値以下の場合は前記視差量の算出誤差が小さいと判定することを特徴とする請求項１１に記載の距離算出装置。
【請求項１４】
被写体像を撮像する撮像手段と、
請求項１〜１３のいずれか１項に記載の距離算出装置と、
を備えることを特徴とする撮像装置。
【請求項１５】
前記撮像手段は、それぞれの画素が前記第１の画像を生成するための第１の光電変換部と、前記第２の画像を生成するための第２の光電変換部とを有する撮像素子を備えることを特徴とする請求項１４に記載の撮像装置。
【請求項１６】
前記撮像手段は、第１の撮像素子と、被写体の像を前記第１の撮像素子上に形成する第１の光学系と、第２の撮像素子と、被写体の像を前記第２の撮像素子上に形成する第２の光学系とを備え、前記第１の撮像素子により前記第１の画像を取得し、前記第２の撮像素子により前記第２の画像を取得することを特徴とする請求項１４に記載の撮像装置。
【請求項１７】
空間的に明暗を有するパターンを被写体に向かって投光するパターン投光手段をさらに備えることを特徴とする請求項１４乃至１６のいずれか１項に記載の撮像装置。
【請求項１８】
請求項１４乃至１６のいずれか１項に記載の撮像装置と、制御装置とを備えた自らが移動可能な移動体であって、
前記制御装置は、前記撮像装置が生成する画像情報と距離情報とに基づいて前記移動体を制御することを特徴とする移動体。
【請求項１９】
請求項１７に記載の撮像装置と、ロボットアームと、ロボットハンドと、制御装置とを備えたロボット装置であって、
前記制御装置は、前記撮像装置により取得した画像情報と距離情報とを用いて対象物の位置姿勢を算出し、前記位置姿勢に基づいて前記ロボットアームと前記ロボットハンドの駆動量を算出し、前記ロボットアームと前記ロボットハンドへ制御信号を送信することを特徴とするロボット装置。
【請求項２０】
視差を有する第１の画像と第２の画像とを用いて被写体までの距離情報を算出する距離算出方法であって、
前記第１の画像上に第１の基準画像を設定するとともに前記第２の画像上に第１の参照画像を設定し、前記第１の参照画像の位置を所定の方向に移動させながら前記第１の基準画像と前記第１の参照画像との相互相関値を算出する相互相関算出工程と、
前記第１の画像または前記第２の画像または前記第１の画像と前記第２の画像の合成画像に対して、第２の基準画像と第２の参照画像とを設定し、前記第２の参照画像の位置を前記所定の方向に移動させながら前記第２の基準画像と前記第２の参照画像との自己相関値を算出する自己相関算出工程と、
前記相互相関値を用いて前記第１の画像と前記第２の画像の視差量を算出する視差算出工程と、
前記自己相関値を用いて前記視差量を補正して、補正視差量を算出する補正視差量算出工程と、
前記補正視差量を用いて前記距離情報を算出する距離算出工程と、
を有することを特徴とする距離算出方法。
【請求項２１】
視差を有する第１の画像と第２の画像とを用いて被写体までの距離情報を算出する距離算出方法であって
前記第１の画像上に第１の基準画像を設定するとともに前記第２の画像上に第１の参照画像を設定し、前記第１の参照画像の位置を所定の方向に移動させながら前記第１の基準画像と前記第１の参照画像との相互相関値を算出する相互相関算出工程と、
前記第１の画像または前記第１の画像と前記第２の画像の合成画像に対して、第２の基準画像と第２の参照画像とを設定し、前記第２の参照画像の位置を前記所定の方向に移動させながら前記第２の基準画像と前記第２の参照画像との自己相関値を算出する自己相関算出工程と、
前記自己相関値を用いて前記相互相関値を補正する相互相関値補正工程と、
補正された前記相互相関値を用いて、補正視差量を算出する補正視差量算出工程と、
前記補正視差量を用いて前記被写体までの距離を算出する距離算出工程と、
を有することを特徴とする距離算出方法。
【請求項２２】
請求項２０または２１に記載の距離算出方法の各工程をコンピュータに実行させるためのプログラム。
【請求項２３】
請求項２０または２１に記載の距離算出方法の各工程をコンピュータに実行させるためのプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体までの距離を算出する技術に関するものである。
【背景技術】
【０００２】
撮影を行って撮影画像を取得し、撮影画像から距離情報を算出する手法が提案されている。例えば、異なる視点からの画像を取得し、各画像間の相関値（類似度とも言う）から視差量を求め、距離情報を取得する場合がある。具体的には、画像組の片方の画像において注目画素を含む部分領域の画像信号を基準画像として抜き出し、他方の画像の部分領域の画像信号を参照画像として抜き出す。参照画像の抜き出す位置を変え、各位置における相関値を計算する。各位置における相関値から最も相関が高くなる位置を求めることにより、注目画素における視差量を算出する。このとき、撮影画像中に模様が少ない領域では、画像信号のコントラスト変化が画像信号に含まれるノイズと比較して小さくなり、視差量の再現性が低下する。視差量の再現性を高くするために、パターン光の投影を併用して撮影画像の取得を行うことで、模様の少ない領域の測距を可能にする手法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５８０３０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、視差量の算出誤差は、画像信号中に含まれるノイズ以外の要因によっても発生する。撮影画像の画素値が大きく変化する領域と基準画像の端部とが重なる状態で視差量を算出するとき、算出される視差量に誤差が発生する。この場合には、視差量に誤差が生じていることに起因して、変換して求められる距離情報にも誤差が生じる。
【０００５】
本発明は上述した課題に鑑みてなされたものであり、その目的は、撮影画像から被写体距離情報を算出する場合の算出誤差を低減し、高精度な距離情報を取得できるようにすることである。
【課題を解決するための手段】
【０００６】
本発明に係わる距離算出装置は、視差を有する第１の画像と第２の画像とを用いて被写体までの距離情報を算出する距離算出装置であって、前記第１の画像上に第１の基準画像を設定するとともに前記第２の画像上に第１の参照画像を設定し、前記第１の参照画像の位置を所定の方向に移動させながら前記第１の基準画像と前記第１の参照画像との相互相関値を算出する相互相関算出手段と、前記第１の画像または前記第２の画像または前記第１の画像と前記第２の画像の合成画像に対して、第２の基準画像と第２の参照画像とを設定し、前記第２の参照画像の位置を前記所定の方向に移動させながら前記第２の基準画像と前記第２の参照画像との自己相関値を算出する自己相関算出手段と、前記相互相関値を用いて前記第１の画像と前記第２の画像の視差量を算出する視差算出手段と、前記自己相関値を用いて前記視差量を補正して、補正視差量を算出する補正視差量算出手段と、前記補正視差量を用いて前記距離情報を算出する距離算出手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、撮影画像から被写体距離情報を算出する場合の算出誤差を低減し、高精度な距離情報を取得することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施形態に係わる撮像装置の構成を示す図。
【図２】撮像素子が受光する光束の説明図。
【図３】第１の実施形態における距離算出方法の説明図。
【図４】第１の実施形態における距離算出方法の説明図。
【図５】第１の実施形態の変形例における距離算出方法を示すフローチャート。
【図６】第２の実施形態に係わる撮像装置の構成を示す図。
【図７】本発明の第３の実施形態について説明する図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、添付図面を参照して詳細に説明する。なお、以下の形態に記載されている構成要素は、あくまで例示に過ぎず、本発明は、各実施形態に記載された内容に限定されるものではない。また、各実施形態を適宜組み合わせてもよい。
【００１０】
＜第１の実施形態＞
（装置構成）
図１は、本発明の第１の実施形態に係わる撮像装置の構成を概略的に示す図である。
【００１１】
図１（Ａ）において、撮像装置１００は、撮像部１２０と距離算出装置１１０とを備える。撮像部１２０は、撮像素子１２１、光学系１２２を備える。距離算出装置１１０は、論理回路を用いて構成することができる。また距離算出装置１１０の別の形態として、中央演算処理装置（ＣＰＵ）と演算処理プログラムを格納するメモリとから構成してもよい。
【００１２】
光学系１２２は、撮像装置１００の撮影レンズであり、被写体の像を撮像素子１２１上（撮像素子上）に形成する機能を有する。光学系１２２は複数のレンズ群（不図示）および絞り（不図示）等を備えて構成され、撮像素子１２１から所定距離離れた位置に射出瞳１２３を有する。なお、本実施形態では、ｚ軸を、光学系１２２の光軸１３０と平行とする。さらに、ｘ軸とｙ軸は互いに垂直であり、且つ光軸と垂直な軸とする。
【００１３】
撮像素子１２１はＣＭＯＳ（相補型金属酸化膜半導体）やＣＣＤ（電荷結合素子）から構成される。光学系１２２を介して撮像素子１２１上に結像した被写体像は、撮像素子１２１により光電変換され、被写体像に基づく画像信号を生成する。
【００１４】
図１（Ｂ）は、撮像素子１２１のｘｙ断面図である。撮像素子１２１は、２行×２列の画素群１５０を複数配列することで構成される。画素群１５０は、対角方向に緑画素１５０Ｇ１及び１５０Ｇ２、他の２画素に赤画素１５０Ｒ及び青画素１５０Ｂが配置され、構成されている。
【００１５】
図１（Ｃ）は、画素群１５０の図１（Ｂ）におけるＩ−Ｉ’断面を模式的に示した図である。各画素は受光層１８２と導光層１８１とから構成される。受光層１８２には、受光した光を光電変換するための２つの光電変換部（第１の光電変換部１６１、第２の光電変換部１６２）が配置される。導光層１８１には、画素へ入射した光束を光電変換部へ効率良く導くためのマイクロレンズ１８３、所定の波長帯域の光を通過させるカラーフィルタ（不図示）、画像読み出し用及び画素駆動用の配線（不図示）などが配置される。また、各画素には不図示の配線が設けられており、各画素は配線を介して画像信号（出力信号）を距離算出装置１１０に送ることができる。図１（Ｂ）及び図１（Ｃ）は、１つの瞳分割方向（ｘ軸方向）に２分割された光電変換部の例であるが、仕様に応じて、２つの瞳分割方向（ｘ軸方向およびｙ軸方向）に分割された（つまり４つ以上に分割された）光電変換部を備える撮像素子が用いられる。瞳分割方向及び分割数については任意である。
【００１６】
図２は、光軸１３０と撮像素子１２１の交点（中心像高）から見た、光学系１２２の射出瞳１２３を示す図である。光電変換部１６１及び光電変換部１６２には、それぞれ射出瞳１２３の異なる領域である第１の瞳領域２１０を通過した第１の光束及び第２の瞳領域２２０を通過した第２の光束が入射する。各画素における光電変換部１６１及び光電変換部１６２は入射した光束を光電変換することにより、それぞれＡ画像（第１の画像）及びＢ画像（第２の画像）に対応する画像信号を生成することができる。生成された画像信号は距離算出装置１１０に伝送され、距離算出装置１１０は受け取った画像信号に基づいて、Ａ画像及びＢ画像を生成する。距離算出装置１１０は、Ａ画像及びＢ画像を用いて距離算出処理により距離値（被写体距離）を算出し、算出した距離値を本体メモリ（不図示）に蓄える。また、距離算出装置１１０は、Ａ画像とＢ画像を加算した画像を画像情報として本体メモリに記憶し、以降の処理で利用することができる。なお、距離算出装置１１０は、Ａ画像及びＢ画像自体を本体メモリに記憶させることもできる。
【００１７】
図２には第１の瞳領域２１０の重心位置（第１の重心位置２１１）、及び第２の瞳領域２２０の重心位置（第２の重心位置２２１）が示されている。本実施形態においては、第１の重心位置２１１は、射出瞳１２３の中心から第１の軸２００に沿って偏心（移動）している。一方、第２の重心位置２２１は、第１の軸２００に沿って、第１の重心位置２１１とは逆の方向に偏心（移動）している。第１の重心位置２１１と第２の重心位置２２１とを結ぶ方向を瞳分割方向と呼ぶ。また、第１の重心位置２１１と第２の重心位置２２１との重心間距離が基線長２３０となる。
【００１８】
Ａ画像とＢ画像は、デフォーカスによって瞳分割方向と同じ方向（本実施形態ではｘ軸方向）に位置がずれる。この画像間の相対的な位置ずれ量、すなわちＡ画像とＢ画像の視差量は、デフォーカス量に応じた量となる。よって、この視差量を後述の手法により取得し、既知の変換手法によって視差量をデフォーカス量に変換することができる。また、既知の変換手法によってデフォーカス量を被写体までの距離に変換することができる。
【００１９】
距離算出装置１１０は、相互相関算出部、自己相関算出部、視差算出部、視差補正部、及び距離算出部を備えている。
【００２０】
相互相関算出部は、Ａ画像上において、距離算出を行う画素（注目画素）を含む部分領域の画像を基準画像として設定し、Ｂ画像に参照画像を設定し、参照画像の位置を所定の方向に移動させながら基準画像と参照画像との相互相関値を算出する。
【００２１】
自己相関算出部は、Ａ画像上において、距離算出を行う画素（注目画素）を含む部分領域の画像を基準画像として設定し、参照画像もＡ画像に設定し、参照画像の位置を所定の方向に−１画素と＋１画素移動させて基準画像と参照画像との自己相関値を算出する。
【００２２】
視差算出部は、相互相関算出部によって算出された相関値を、所定の多項式で内挿する。内挿した多項式を用いて、Ａ画像およびＢ画像を含む画像組の視差量を算出する。
【００２３】
視差補正部は、視差算出部が内挿に用いた多項式の係数の内、画像のコントラスト変化を表す項の係数と自己相関値の比を用いて補正量を算出し、視差量を補正量で補正した補正視差量を算出する（補正視差量算出）。距離算出部は、補正視差量を用いて距離情報を算出する。
【００２４】
（距離算出装置の説明）
本実施形態の距離算出装置１１０について説明する。図３（Ａ）は、本実施形態の距離算出装置１１０の動作を示すフローチャートである。本実施形態における距離算出処理が開始されると、処理はステップＳ３１０に移行する。
【００２５】
ステップＳ３１０では、撮像装置１００を用いて撮影を行い、距離に応じた視差を有するＡ画像とＢ画像を含む画像組を生成し、生成した画像組を本体メモリ（不図示）に記憶させる。
【００２６】
ステップＳ３１１〜ステップＳ３１４の処理は距離算出装置１１０によって行われる。ここで図３（Ｂ）、３（Ｃ）及び３（Ｄ）は、ステップＳ３１１において設定する基準画像および参照画像の位置関係を説明するための図である。図３（Ｂ）にはＡ画像３２０Ａが示され、図３（Ｃ）にはＢ画像３２０Ｂが示され、図３（Ｄ）にはＡ画像３２０Ａが示されている。
【００２７】
ステップＳ３１１では、距離算出装置１１０の相互相関算出部がＡ画像３２０ＡとＢ画像３２０Ｂの相互相関値を算出する。具体的には、相互相関算出部は、まず、Ａ画像３２０Ａ上において、注目画素３３０とその近傍画素を含む部分領域を抜き出して、基準画像３２１として設定する。次に、相互相関算出部は、Ｂ画像３２０Ｂ上において、基準画像３２１と同じ面積（画像サイズ）の領域を抜き出して参照画像３２２として設定する。その後、相互相関算出部は、Ｂ画像３２０Ｂ上で参照画像３２２を抜き出す位置を瞳分割方向と同じｘ方向に移動させて、各移動量（各位置）における参照画像３２２と基準画像３２１との相関値を算出する。これにより、相互相関算出部は、各移動量に対応する相関値データ列からなる相互相関値を算出する。
【００２８】
参照画像３２２を移動させて相互相関演算を行う方向を視差算出方向と呼ぶ。視差算出方向と瞳分割方向を同じ方向に設定することにより、Ａ画像３２０ＡとＢ画像３２０Ｂの距離に応じた視差量を正しく算出することができる。相互相関値は、基準画像３２１と参照画像３２２の差の二乗和（差分二乗和：以下、ＳＳＤと呼ぶ）を用いて算出することができる。ＳＳＤは基準画像３２１と参照画像３２２の相違度を評価しており、相互相関値の値が低いほど、相関度が高くなる。
【００２９】
次に、ステップＳ３１２では、距離算出装置１１０の視差算出部が、ステップＳ３１１で求めた相互相関値を用いて、視差量を算出する。具体的には、視差算出部は、相互相関値の中で最も相関が得られる移動量と、その近傍の移動量に対応する相互相関値のデータ列を抽出し、２次多項式で内挿することで最も相関が高くなる移動量をサブピクセル精度で推定する。最も相関が高くなる移動量を視差量として算出することができる。基準画像３２１のコントラスト変化が大きいほど、相互相関値の内挿に用いた２次多項式の２次の項の係数（以降、２次の項の係数）も大きくなる。従って、２次の項の係数を評価することで、基準画像３２１のコントラスト変化の大きさを評価できる。
【００３０】
ステップＳ３１３「自己相関算出処理」では、距離算出装置１１０の自己相関算出部が、Ａ画像３２０Ａの自己相関値を算出する。具体的には、自己相関算出部は、まず、Ａ画像３２０Ａ上において、注目画素３３０とその近傍画素を含む部分領域を抜き出して、基準画像３２１を設定する。次に、自己相関算出部は、図３（Ｄ）に示すようにＡ画像３２０Ａ上において、基準画像３２１と同じ面積（画像サイズ）の領域を抜き出して参照画像３２３として設定する。その後、自己相関算出部は、Ａ画像３２０Ａ上で参照画像３２３を抜き出す位置を視差算出方向に移動させて、各移動量（各位置）における参照画像３２３と基準画像３２１との相関値を算出する。これにより、自己相関算出部は、各移動量に対応する相関値データ列からなる自己相関値を算出する。自己相関値は、相互相関値と同じ評価値を用いることが望ましく、本実施形態の距離算出装置１１０では、ＳＳＤを用いて算出している。
【００３１】
ステップＳ３１４では、距離算出装置１１０の視差補正部が、ステップＳ３１３で求めた自己相関値とステップＳ３１２で求めた２次の項の係数を用いて、ステップＳ３１１で求めた視差量を補正し、補正視差量を算出する。具体的には、視差補正部は、式（１）及び式（２）を用いて補正視差量ｃｄｉｓｐを算出する。
【００３２】
γ＝（Ｒsc（＋１）−Ｒsc（−１））／２        …（１）
ｃｄｉｓｐ＝ｄｉｓｐ＋γ／（２α）            …（２）
式（１）においてＲsc（ｄ）は、移動量ｄに対応した自己相関値である。Ｒsc（＋１）は、注目画素３３０から視差算出方向に＋１画素移動した位置に参照画像３２３を設定した時の自己相関値を示している。式（２）において、ｄｉｓｐはステップＳ３１２において求めた視差量を示し、αは２次の項の係数を示している。
【００３３】
ステップＳ３１５では、距離算出装置１１０の距離算出部が、既知の任意の手法により、ステップＳ３１４で求めた補正視差量をデフォーカス量または被写体までの距離（被写体距離）に変換する。補正視差量からデフォーカス量への換算は、基線長を用いた幾何学的な関係を用いて行うことができる。また、デフォーカス量から被写体距離への変換は、光学系１２２の結像関係を用いて行うことができる。また、補正視差量に所定の変換係数を乗算することにより、補正視差量をデフォーカス量、または被写体距離に変換してもよい。このような方法により、距離算出部は、注目画素３３０における距離情報を生成することができる。
【００３４】
本実施形態の距離算出装置１１０では、自己相関値を用いて、相互相関値を用いて算出した視差量を補正し、補正視差量を算出している。この処理によれば、撮影画像中の輝度値の分布（輝度分布）と基準画像の位置とに関係して発生する視差量の算出誤差を低減して測距誤差を低減することができ、高精度な測距を行うことができる。
【００３５】
次に、図４（Ａ）乃至図４（Ｃ）を参照して、従来の処理では視差量の算出に誤差が発生し、本実施形態による処理では視差量の算出誤差を低減できる理由について説明する。以降の説明では、Ａ画像とＢ画像は同じ濃淡を有する画像で視差が無いものと仮定する。図４（Ａ）乃至図４（Ｃ）は誤差の発生理由を説明する図である。
【００３６】
図４（Ａ）は、撮像装置１００を用いて取得した明領域及び暗領域が交互に表れるラインパターンを有する被写体のＡ画像４０１における基準画像４０２と別の基準画像４０３の位置関係を示した図である。基準画像４０２は、Ａ画像４０１の明領域と暗領域が切り替わる画像エッジ４０４，４０５（境界部）を基準画像４０２の内部に含んでいる。図４（Ｂ）は、基準画像４０２に対して設定された参照画像を移動させて基準画像４０２と参照画像の相互相関算出処理を行うことにより算出される相互相関値を示している。
【００３７】
相互相関値Ｃ０，Ｃｐ，Ｃｍはそれぞれ参照画像の位置を０、＋１、−１画素だけ移動させたときの相互相関値である。ここでは、Ａ画像及びＢ画像が視差を有さないものと仮定しているため、移動量が０のとき、両画像は一致し、相互相関値Ｃ０は低い値となる。参照画像を＋１画素又は−１画素だけ移動させると、画像エッジ４０４，４０５に起因して基準画像４０２と参照画像に差（違い）が生じるため、相互相関値Ｃｐ，Ｃｍは相互相関値Ｃ０より増加する。このとき、相互相関値Ｃｐ，Ｃｍに対応する参照画像の移動量の絶対値は同じであるため、ラインパターン上の画像エッジ４０４，４０５に起因する画像間の差も同量となる。そのため、相互相関値Ｃｐと相互相関値Ｃｍは同じ値となる。この相互相関値を２次多項式で内挿して相互相関曲線４１０を求め、最も高い相関値となる移動量（視差量）を算出することにより視差量４１１が求まり、正しい値（視差量０）が求まる。
【００３８】
一方、基準画像４０３では、画像エッジ４０４と基準画像４０３の右端が重なる。図４（Ｃ）は、基準画像４０３に対して設定された参照画像を移動させて基準画像４０３と参照画像の相互相関処理を行うことにより算出される相互相関値を示している。移動量が０のとき、両画像は一致し、相互相関値Ｃ０は低い値となる。移動量が＋１画素のとき、基準画像４０２の場合と同様に、相互相関値Ｃｐは相互相関値Ｃ０より増加する。これに対し、移動量が−１画素のときには、画像エッジ４０５のみに起因して基準画像と参照画像との差が生じるため、相互相関値Ｃ０からの相互相関値Ｃｍの増加量は微量となる。そのため、この場合の相互相関値は、参照画像の移動量の＋側と−側で非対称となり、これを２次多項式で内挿した相互相関曲線４１２により求まる視差量４１３は正しい値（視差量０）とは異なる値となり、誤差が発生する。これが、撮影画像中の輝度分布と基準画像の位置とに関係して発生する視差量の算出誤差となる。
【００３９】
次に、本実施形態の距離算出装置１１０のように、自己相関値を用いて視差量を補正することにより、視差量の算出誤差を低減できる理由について説明する。
【００４０】
図４（Ｂ）のように視差量の算出誤差が生じない場合、相互相関曲線は式（３）のように２次多項式で表すことができる。
【００４１】
Ｒc（ｄ）＝α（ｄ−ｄ0）2＋β      …（３）
ここで、Ｒc（ｄ）は移動量ｄに対応した相互相関値、ｄ0は正解の視差量、αは２次の項の係数、βは０次の項の係数である。
【００４２】
一方、図４（Ｃ）のように視差量の算出誤差が生じる場合、相互相関値の非対称性成分を1次多項式で表すことができる。従って、相互相関曲線は式（４）のように、視差量の算出誤差が生じない場合の式（３）に、相互相関値の非対称成分を表す１次多項式を第３項として加えた式で表すことができる。
【００４３】
Ｒc（ｄ）＝α（ｄ−ｄ0）2＋β＋γ（ｄ−ｄ0）    …（４）
式（４）から、視差量の算出誤差Δｄｉｓｐは、式（５）となる。
【００４４】
Δｄｉｓｐ＝−γ／（２α）                                  …（５）
ここで、２次の項の係数αは、ステップＳ３１２において算出している。
【００４５】
本実施形態の距離算出装置１１０においては、視差補正部がステップＳ３１４において、式（１）により係数γを算出している。自己相関値はＡ画像同士の相関を評価するため、視差量の正解値＝０となる。このことを利用し、参照画像の移動量＋１画素の自己相関値Ｒsc（＋１）と移動量−１画素の自己相関値Ｒsc（−１）を用いて、相互相関値の非対称成分を表す１次多項式の1次の係数γを算出することができる。
【００４６】
本実施形態の距離算出装置１１０においては、相互相関値の内挿に用いた２次多項式の２次の項の係数と、自己相関値とを用いて、視差量の算出誤差を推定している。推定した視差量の算出誤差を用いて、視差量を補正することにより、視差量の算出誤差を低減している。
【００４７】
本実施形態の視差補正部は、視差量算出部が算出した２次の項の係数を、視差量の算出誤差の推定に用いているが、基準画像のコントラスト変化の大きさを評価できる値（コントラスト評価値）であれば他のものでもよい。例えば、基準画像の画素値の標準偏差または分散を用いることができる。また、本実施形態の視差補正部は、参照画像の移動量が＋１画素と−１画素の自己相関値のみを用いている。従って、その移動量のみ自己相関値を算出することが、演算量を低減するためには望ましい。また、本実施形態の距離算出装置１１０の動作フローにおいては、ステップＳ３１１からＳ３１５まで順次処理を行う場合について説明したが、ステップＳ３１１を行う前に、ステップＳ３１３を行っても構わない。
【００４８】
本実施形態の自己相関算出部は、Ａ画像を用いて自己相関値を算出しているが、Ｂ画像を用いて自己相関値を算出しても構わない。Ｂ画像を用いて自己相関値を算出する場合には、視差算出部が算出した移動量を用いて注目画素３３０を設定する位置をずらすことが望ましい。また、Ａ画像とＢ画像の合成画像を用いても構わない。Ａ画像とＢ画像の合成画像を用いることで、画像に含まれるノイズの影響を低減することができる。
【００４９】
本実施形態の距離算出装置１１０は、ステップＳ３１０において取得した画像組に対し、主として光学系１２２のヴィネッティングに起因して生じる光量バランスの崩れを補正する処理を行っても構わない。具体的には、予め撮像装置１００が輝度一定の面光源を撮影した結果に基づき、Ａ画像とＢ画像の輝度値が、画角に依らず略一定値になるように補正することにより、光量バランスを補正することができる。また、例えば撮像素子１２１において生じる光ショットノイズ等の影響を低減するために、取得したＡ画像とＢ画像にバンドパスフィルタを施しても構わない。
【００５０】
また、本実施形態の視差補正部が行う視差補正処理では、視差量算出部が相互相関値の内挿に用いた２次の項の係数と自己相関値とを用いて、式（１）及び式（２）に基づき補正視差量を算出している。これとは異なり、次のような方法により補正視差量を算出してもよい。つまり、視差補正部が、参照画像の移動量−１画素から＋１画素の自己相関値を、視差量算出部と同様の手法により内挿し、最も相関が高い移動量をサブピクセル精度で算出する。自己相関値を用いて算出した移動量が、視差量の算出誤差であるとして、補正視差量を算出する。自己相関値は、A画像同士の相関を評価するため、視差量の正解値＝０となる。このことから、推定した移動量は基準画像内の輝度分布に応じて生じる視差量の算出誤差と考えることができる。
【００５１】
なお、視差補正部が、自己相関値を内挿して視差量の算出誤差を推定する際に、視差量算出部が相互相関値の内挿に用いた係数を用いて、参照画像の移動量−１画素と＋１画素の自己相関値を内挿しても構わない。例えば、視差量算出部が相互相関値の内挿に用いた２次の項の係数を、自己相関値の内挿に用いることができる。
【００５２】
また、距離に応じた視差を有するA画像とB画像を取得する撮像装置は、2つ以上の複数の光学系とそれに対応する撮像素子から構成されたステレオカメラで構成されてもよい。この場合には、基線長の設計自由度が向上し、測距分解能を向上することができる。
【００５３】
また、本実施形態の距離算出装置１１０は、自己相関値算出部が算出した自己相関値を用いて、視差補正処理部が補正視差量を算出しているが、自己相関値を用いて相互相関値を補正することで、視差量の算出誤差を低減することもできる。
【００５４】
図５（Ａ）は、自己相関値を用いて相互相関値を補正する場合の、距離算出装置１１０の動作を示すフローチャートである。なお、図５（Ａ）では、図３（Ａ）で説明した動作と同一の動作については、図３（Ａ）のステップ番号と同じステップ番号を付して説明を省略する。
【００５５】
ステップＳ５０１では、距離算出装置１１０の相互相関値補正部が、自己相関算出部が算出した自己相関値を用いて、相互相関算出部が算出した相互相関値を補正している。具体的には、相互相関値補正部は、相互相関値の中で最も相関が得られる移動量と、その近傍の移動量に対応する相互相関値のデータ列を抽出する。抽出した相互相関値を、式（６）を用いて補正した相互相関値Ｒccを算出する。
【００５６】
Ｒcc（−１）＝Ｒc（−１）＋γ
Ｒcc（＋１）＝Ｒc（＋１）−γ                      …（６）
Ｒc（−１）は、最も相関が得られる移動量から視差算出方向に―1画素の位置の相互相関値であり、Ｒｃ（＋１）は、最も相関が得られる移動量から視差算出方向に＋1画素の位置の相互相関値である。γは自己相関値を用いて式（１）により算出した相互相関値の補正量である。
【００５７】
次に、ステップＳ５０２では、距離算出装置１１０の視差量算出部が、ステップＳ５０１で補正した相互相関値を用いて、視差量を算出する。具体的には、補正した相互相関値Ｒcc（−１）、Ｒcc（＋１）と、相互相関値Ｒc（０）を、２次多項式で内挿することにより、最も相関が得られる移動量をサブピクセル精度で推定できる。
【００５８】
式（１）により算出した係数γは、相互相関値の非対称性を表している。係数γを用いて相互相関値を補正することにより、撮像画像中の輝度分布に応じた視差量の算出誤差を低減することができる。
【００５９】
また、本実施形態の距離算出装置１１０が行う距離算出処理において、撮影画像中の輝度分布に応じた視差量の算出誤差が大きいと判定された場合について、ステップＳ３１３とステップＳ３１４を行っても構わない。
【００６０】
図５（Ｂ）は、撮影画像中の輝度分布に応じた視差量の算出誤差を評価する場合の、距離算出装置１１０の動作を表すフローチャートである。なお、図５（Ｂ）においても、図３（Ａ）で説明した動作と同一の動作については、図３（Ａ）のステップ番号と同じステップ番号を付して説明を省略する。
【００６１】
ステップＳ５０３では、距離算出装置１１０の判定部が、撮影画像中の視差量の算出誤差が発生しうるかを推定し、自己相関値を用いた視差量の補正を行うか否かを判定している。具体的には、基準画像の視差算出方向の端部近傍の画素値をデータ列として抽出する。抽出した一部領域のデータ列の最大値と最小値の差（ＰＶ値）を算出する。ＰＶ値が所定の閾値と比較して大きい場合には、基準画像の端部において輝度変化が大きいと考えられるため、視差量の算出誤差が大きいと判定し、ステップＳ３１３の処理に進む。一方、ＰＶ値が所定の閾値と比較して小さい（閾値以下の）場合には、視差量の算出誤差が小さいと判定し、ステップＳ３１５の処理に進む。
【００６２】
ステップＳ３１５では、ステップＳ５０３において視差量の算出誤差が大きいと判定された場合には、ステップＳ３１４で算出した補正視差量を用いて距離情報を算出する。一方、ステップＳ５０３において視差量の算出誤差が小さいと判定された場合には、ステップＳ３１２で算出した視差量を用いて距離情報を算出する。
【００６３】
視差量の算出誤差が大きい場合に限り、視差量の補正を行うことにより、演算量を削減することができる。
【００６４】
なお、判定部は、ＰＶ値とは異なる評価指標を用いて上記の判定を行っても構わない。例えば、光学系が一定サイズのボケを有することから、高次の微分フィルタを施した画像の画素値が小さい位置では、その周辺領域も輝度変化が小さいと考えることができる。すなわち、Ａ画像に対して、視差算出方向に沿って例えば２次微分フィルタを施し、注目画素のフィルタ処理後の画素値の絶対値が小さい場合は、視差量の算出誤差が小さいと判定することができる。一方、注目画素のフィルタ処理後の画素値の絶対値が大きい場合は、視差量の算出誤差が大きいと判定することができる。
【００６５】
また、本実施形態の相互相関部は、相互相関値を評価するために、ＳＳＤを用いたが、基準画像と参照画像の相関度を評価できればよく、例えば、差の絶対値和（差分絶対値和：ＳＡＤ）や正規化相互相関（ＮＣＣ）を用いることもできる。いずれの場合においても、基準画像中のコントラスト変化の大きさを評価可能な係数と、自己相関値から推定した相互相関値の非対称性成分とを用いることで、視差量の算出誤差を低減することができる。
【００６６】
＜第２の実施形態＞
第１の実施形態の撮像装置１００は、例えば移動装置の外界を認識するための情報取得手段として用いることができる。以下では、図６を参照して、撮像装置１００を移動装置（移動可能な移動体）に搭載した第２の実施形態について説明する。動力源により移動する移動装置としては、自動車、船舶、航空機、ドローンあるいは産業用ロボット等への適用が可能である。以下では、自動車への適用例について説明する。なお、第１の実施形態において説明した各構成部については既に使用した符号を用いることにより、それらの詳細な説明を省略し、主に相違点について説明する。このような説明の省略の仕方は後述の実施形態でも同じである。
【００６７】
図６（Ａ）は、本実施形態における自動車の構成の主要部を説明する概略図である。車両６００には、本実施形態の撮像装置１００、外界認識装置６１０、警報装置６２０、制御装置６３０、車両情報取得装置６４０が搭載される。外界認識装置６１０は、撮像装置１００が取得した距離情報と画像に基づき、外界の認識を行う。例えば、撮像装置１００は車両６００のフロント（またはリア）ウィンドシールドに近接した車内の所定位置に設置され、車両６００の前方視野（または後方視野）の撮像を行う。外界認識装置６１０は、撮像装置１００のＡ画像とＢ画像を加算した画像から、前走車の存在を認識可能である。さらには、前走車までの距離情報に基づいて車両６００を基準とする前走車の位置を認識することができる。
【００６８】
外界認識装置６１０は、警報装置６２０、制御装置６３０、車両情報取得装置６４０と接続される。外界認識装置６１０は、車両情報取得装置６４０から車速度、ヨーレート、および舵角等のうち、１つ以上の車両情報（移動装置の情報）を取得する。制御装置６３０は、外界認識装置６１０の認識結果に基づいて車両６００を制御する。警報装置６２０は、外界認識装置６１０の認識結果に基づいて警報を発する。
【００６９】
例えば、外界認識装置６１０の認識結果として、前走車との衝突の可能性が高い場合を想定する。制御装置６３０は、車両６００のブレーキをかける、アクセルを戻す、エンジン出力を抑制する等の制御を行い、前走車との衝突を回避し、または被害を軽減するために車両制御を行う。また、警報装置６２０は警報音等を発生させる処理や、カーナビゲーション装置等の表示画面やヘッドアップディスプレイ等に警告情報を表示させる処理を行う。あるいは、警報装置６２０はシートベルトやステアリングホィールに振動を与えること等により、車両６００の運転者に警告を行う。
【００７０】
図６（Ｂ）は、本実施形態における運転支援システムの動作例としての衝突回避処理を説明するフローチャートである。
【００７１】
Ｓ６０１では、外界認識装置６１０は、撮像装置１００から画像を取得する。次にＳ６０２では、外界認識装置６１０は、車両情報取得装置６４０から車両情報を取得する。Ｓ６０３では、外界認識装置６１０は、取得された画像に対して特徴解析を含む認識処理を行う。具体的には、画像におけるエッジの量や方向、濃度値、色、輝度値等の特徴量の解析処理が行われることにより、対象物が認識される。検知対象は、自動車、歩行者、自転車、車線、ガードレール、車両のブレーキランプ、標識等である。
【００７２】
続くＳ６０４では、撮像装置１００が距離情報を生成する。撮像された画像内（撮像画角内）に存在する対象物の距離情報が取得される。対象物の距離情報は、撮像装置１００から検知する対象物までの距離に対応する画像内の対象物（被写体）に係る深度情報である。Ｓ６０５では、外界認識装置６１０は対象物の距離情報を取得し、予め定められた距離範囲の情報と比較する。対象物の距離情報に基づき、予め定められた距離範囲内に障害物が存在するか否かについて判定処理が行われる。具体的には、車両６００の前方または後方の衝突可能性の判定処理が行われ、設定距離内に障害物が存在する場合、衝突の可能性が有ると判定し、Ｓ６０６の処理に進む。設定距離内に障害物が存在しない場合には、衝突の可能性が無いと判定し、処理を終了する。
【００７３】
Ｓ６０６では、制御装置６３０は、車両６００の移動方向および移動速度の少なくとも１つを制御する。例えば、制御装置６３０は車両６００の各駆動輪に制動力を発生させる制御信号を生成して車両制御部に出力する。エンジンの出力等を抑制する制御が行われて、車両６００と前走車との衝突を回避し、衝突可能性が低減される。警報装置６２０は、音や映像、振動等で運転者等に警報する。その後、本処理を終了する。
【００７４】
図６（Ｂ）の処理によって、障害物の検知を効果的に行うことができる。つまり、正確に障害物を検知し、衝突の回避および被害の軽減のための車両制御を行うことが可能となる。
【００７５】
車両６００の運転支援システムは、撮像装置１００により取得される距離情報と画像に基づいて外界を認識し、車両の制御を行う。撮像装置１００においては、撮像画像中の輝度分布に応じた測距誤差を低減した高精度な距離情報を取得することができる。従って、高精度に外界を認識することができる。外界を高精度に認識することにより、衝突の回避および被害の低減のための車両制御を安定して行うことが可能となる。
【００７６】
＜第３の実施形態＞
以下、図を参照しながら本発明の第３の実施形態について説明する。図７は、本発明の第３の実施形態について説明する図である。
【００７７】
図７（Ａ）において、距離算出システム７００は、第１の実施形態の撮像装置１００、パターン光を被写体に向かって投光するパターン投光部７１０、投光制御部７２０を備えている。パターン投光部７１０は、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）などの光源と、投光光学系と、パターン形成手段（例えば、すりガラスや金属板などにパターンを形成したパターンマスク）とで構成することができる。パターン投光部７１０の光源は、光を放射し、パターン形成手段を介して空間的な明暗パターンを被写体に向かって照射する。投光制御部７２０は、パターン光を撮像装置１００の撮影と同期して照射するようにパターン投光部７１０を制御する。すなわち、本実施形態の撮像装置１００は被写体へパターン光を投影した状態で撮影した画像を取得している。投光するパターンの一例として、図７（Ｂ）に示すラインパターン７３０を用いることができる。
【００７８】
撮像装置１００が取得したＡ画像及びＢ画像中に、視差算出方向に沿ったコントラスト変化が小さい領域があると、図３（Ａ）のステップＳ３１２において、最も相関が得られる移動量を誤算出してしまい、測距誤差となる。本実施形態の距離算出システム７００においては、パターン投光部７１０によりパターン光を被写体に投光することにより、コントラスト変化を大きくし、測距誤差を低減することができる。
【００７９】
本実施形態の測距装置は、例えば生産作業用ロボット装置に用いることができる。図７（Ｃ）は、本実施形態の測距装置を備えたロボット装置を説明するブロック図である。
【００８０】
ロボット装置７５０は、架台７５１と、ロボットアーム７５２とを備えており、ロボットアーム７５２の先端にはロボットハンド７５３が取り付けられている。ロボットハンド７５３は、ワーク７５４を把持して他の部品に取り付け作業する機能を有している。ロボットアーム７５２の先端近傍には、本実施形態の距離算出システム７００が、ワーク７５４が撮影画角内に収まるように固定されている。また、ロボット装置７５０には、距離算出システム７００、ロボットアーム７５２、ロボットハンド７５３などを制御する制御装置７５５が備えられている。
【００８１】
制御装置７５５はコンピュータであり、制御装置内の各部はハードウェアや回路で構成されていてもよいし、ソフトウェアで処理されてもよい。制御装置７５５は、演算部及び制御部を有している。演算部は、距離算出システム７００が取得した距離情報と画像とに基づいて、ワーク７５４の位置姿勢の推定やロボットアーム７５２やロボットハンド７５３の駆動量の算出を行う。制御部は、距離算出システム７００に対する計測指令を送信するタイミングや、演算部での演算結果に基づいてロボットアーム７５２とロボットハンド７５３の駆動を制御する。
【００８２】
ロボット装置７５０を用いた生産工程では、ロボットハンド７５３で架台７５１上に載置されたワーク７５４を把持するため、ロボットアーム７５２に対して制御部から通信路を介して移動指令を送信する。そして、ワーク７５４の付近にロボットハンド７５３が来るように移動させる。この時、ワーク７５４の位置姿勢は不定であるため、ワーク７５４の把持を行う前に、ワーク７５４を距離算出システム７００で撮影し、画像と距離情報を取得する。これら画像と距離情報とに基づいて、制御装置７５５内の演算部においてワーク７５４の位置姿勢を演算する。更にワーク７５４の位置姿勢情報に基づいて、ロボットアーム７５２の移動量を演算する。この演算した移動量のデータを制御部に送信し、制御部からロボットアーム７５２に対してこの移動量分だけ移動するように指令を送信する。これらの制御により、ロボットアーム７５２はワーク７５４を把持するのに適した位置に移動する。移動が完了したら、制御部からロボットハンド７５３に対してハンドを閉じるように指令を送信することにより、ワーク７５４を把持する。制御部は、把持したワーク７５４を不図示の本体部品に組み付けるために、所定の位置にロボットアーム７５２を移動させ、移動した後にロボットハンド７５３を開くように指令を送信する。これらの作業を繰り返し行うことにより、ロボット装置７５０による組み付け作業が行われる。
【００８３】
一般的なワーク７５４は表面に模様が無いことが多い。パターン投光部７１０からパターン光の投影を行い、ワーク７５４の表面に明暗の模様を重畳した状態で撮影を行うことにより、撮影画角内の領域に依らず高精度な測距が可能となる。さらに、本実施形態の距離算出システム７００が備える距離算出装置１１０は、撮影画像中の輝度分布に応じて測距誤差を低減しているため、高精度な測距が可能となる。
【００８４】
制御装置７５５は、取得したワーク７５４の端部と距離の情報を、制御装置７５５内に格納されているワークの形状情報と照合することにより、ワーク７５４の位置姿勢を算出する。高精度な距離情報を用いることにより、本実施形態のロボット装置７５０は、ワーク７５４の位置姿勢を高精度に算出することができる。
【００８５】
本実施形態の測距装置では、パターン投光部の光源としてＬＤ（Ｌａｓｅｒ  Ｄｉｏｄｅ）を用いてもよい。また、パターン形成手段として反射型ＬＣＯＳ（Ｌｉｑｕｉｄ Ｃｒｙｓｔａｌ Ｏｎ Ｓｉｌｉｃｏｎ）や透過型ＬＣＯＳやＤＭＤ（Ｄｉｇｉｔａｌ Ｍｉｃｒｏｍｉｒｒｏｒ Ｄｅｖｉｃｅ）を用いてもよい。被写体の大きさや距離に応じて投影パターンの周期を適宜変えることができ、状況に応じてより高精度な測距が可能となる。
【００８６】
本発明は、測距装置の他に、コンピュータプログラムをも包含する。本実施形態のコンピュータプログラムは、距離あるいは視差量の算出のために、コンピュータに所定の工程を実行させるものである。本実施形態のプログラムは、測距装置またはそれを備えるデジタルカメラ等の撮像装置のコンピュータにインストールされる。インストールされたプログラムがコンピュータによって実行されることにより上記の機能が実現され、高速で高精度な距離の検出が可能となる。
【００８７】
（他の実施形態）
また本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現できる。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現できる。
【符号の説明】
【００８８】
１００：撮像装置、１１０：距離算出装置、１２０：撮像部、１２２：光学系、１２３：射出瞳、１３０：光軸
【図１】
2020112881.tif 000003
【図２】
2020112881.tif 000004
【図３】
2020112881.tif 000005
【図４】
2020112881.tif 000006
【図５】
2020112881.tif 000007
【図６】
2020112881.tif 000008
【図７】
2020112881.tif 000009