(57)【特許請求の範囲】
【請求項１】
計測対象物に、明暗の切り替わりが粗な粗領域と、この粗な領域よりも明暗の切り替わりが密な密領域とを有する非周期的な明暗パターンを投影する投影手段と、
複数のカメラを有し、この複数のカメラで上記明暗パターンが投影された計測対象物の画像を複数取得する画像取得手段と、
上記画像取得手段により取得された上記計測対象物の画像同士の対応点を探索し、この探索された対応点間の距離を表わす視差情報を算出する対応点探索視差算出手段と、
上記対応点探索視差算出手段により算出された視差情報に基づいて、３次元距離情報を算出する３次元距離情報生成手段と
を備え、
上記投影手段は、上記粗領域と上記密領域とを入れ換える明暗パターン入れ換え手段を有していることを特徴とする３次元計測装置。
【請求項２】
請求項１に記載の３次元計測装置において、
上記明暗パターン入れ換え手段は、異なる上記明暗パターンを複数有しており、この複数の明暗パターンから２つの明暗パターンを選択して入れ換えると共に、
上記選択された２つの明暗パターンは、一方の明暗パターンの上記粗領域に対応する他方の明暗パターンの領域が上記密領域であり、一方の明暗パターンの上記密領域に対応する他方の明暗パターンの領域が上記粗領域である粗密相補パターンであることを特徴とする３次元計測装置。
【請求項３】
請求項２に記載の３次元計測装置において、
上記明暗パターンは、マトリクスパターンであり、
上記選択された２つの明暗パターンのうち、一方の上記明暗パターンは、ランダムパターンであり、他方の上記明暗パターンは、この一方の上記明暗パターンの奇数行かつ奇数列のドットの明暗と、偶数行かつ偶数列のドットの明暗とが反転されたパターン、もしくは、奇数行かつ偶数列のドットの明暗と、偶数行かつ奇数列のドットの明暗とが反転されたパターンであることを特徴とする３次元計測装置。
【請求項４】
請求項１から３のいずれか１つに記載の３次元計測装置において、
上記対応点検索視差算出手段により算出された視差が、既定の基準を満たしているか否かを判定する視差判定手段と、
上記判定手段により上記基準を満たさないと判定された視差を、上記明暗パターン入れ換え手段により明暗パターンを入れ換えた上記計測対象物から算出される視差に置き換える視差置換手段と
を備えることを特徴とする３次元計測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラを用いて距離・形状などの計測を行うための３次元計測装置に関する。
【背景技術】
【０００２】
複数のカメラを用いて対称物までの距離や対象物の形状などを計測する３次元計測装置が実用化されている。３次元計測の手法としては、一般に、「光切断法」と「ステレオ３次元計測」と呼ばれる方法が知られている。
【０００３】
「光切断法」とは、対象物に直線や多角形などの既知の光パターンを投影し、投影されたパターン形状の変化から対象物の形状を求める方法である。一方、「ステレオ３次元計測」とは、カメラを左右に配置して対象物を同時に撮影し、得られた左右画像から対応する画素の対、即ち対応点を探索し、左右画像の対応点同士が左右方向にどれだけ離れているか、即ち視差を求め、この視差から三角測量の原理を用いて対象物までの距離を算出する計測方法である。
【０００４】
ステレオ３次元計測において、対応点探索の方法としては、「ステレオマッチング法」や「セミグローバルステレオマッチング法」が提案されているが、対象物に際立った特徴点がない場合、たとえば淡色の壁や机などのようなものの場合、対応点が見つからない領域が発生してしまう。
【０００５】
このような問題を解決するために、特許文献１（特公平４−２５７５８号公報）では、対応点の対応度を判定し、対応が乏しいと判断された場合に、計測時に対応点探索の補助となる明暗パターンを計測対象物上に投影する投影手段を備え、対応点が見つからないエラーを防ぐステレオ３次元計測装置が開示されている。また、特許文献２（特開２００１−９１２３２号公報）では、乱数を用いて非周期的な明暗パターンを生成する明暗パターン生成手段と、被写体に複数の明暗パターンを切り替えて投影する投影手段とを備え、対応点が見つからないエラーの箇所を補完する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特公平４−２５７５８号公報
【特許文献２】特開２００１−９１２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に示された従来の方法では、明暗パターンを投影しても計測対象物上に明暗の切り替わりが粗な粗領域が生じる場合があった。明暗の切り替わりが粗な粗領域では、計測時に明暗パターンによる対応点探索に対する補助が得られず、対応点探索が困難になる場合があり、この場合、対応点を探索することができなくなるか、あるいは、対応点の探索が出来たとしても計測結果に誤差が生じてしまい、精度の高い計測が行えないという問題があった。
【０００８】
また、特許文献２に示された従来の方法では、複数の明暗パターンを用いているが、これらの明暗パターンは、変数を用いてランダムに生成されているため、領域によっては、明暗パターンが変更されても明暗の切り替わりの粗密が変わらない場合があった。そのため、領域の明暗の切り替わりが粗のまま変わらない領域においては、精度の高い対応点探索が困難になる場合があり、この場合には、対応点を探索することができなくなるか、あるいは、対応点の探索が出来たとしても計測結果に誤差が生じてしまい、精度の高い３次元計測を行うことができないという問題があった。
【０００９】
本発明は、上記従来の問題点に鑑みてなされたものであって、その目的は、対応点探索の精度を高めることができて、計測精度の高い３次元計測装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、この発明の３次元計測装置は、
計測対象物に、明暗の切り替わりが粗な粗領域と、この粗領域よりも明暗の切り替わりが密な密領域とを有する非周期的な明暗パターンを投影する投影手段と、
複数のカメラを有し、この複数のカメラで上記明暗パターンが投影された計測対象物の画像を複数取得する画像取得手段と、
上記画像取得手段により取得された上記計測対象物の画像同士の対応点を探索し、この探索された対応点間の距離を表わす視差情報を算出する対応点探索視差算出手段と、
上記対応点探索視差算出手段により算出された視差情報に基づいて、３次元距離情報を算出する３次元距離情報生成手段と
を備え、
上記投影手段は、上記粗領域と上記密領域とを入れ換える明暗パターン入れ換え手段を有していることを特徴とする。
【００１１】
上記構成によれば、投影手段が、明暗の切り替わりが粗な粗領域と、この粗領域よりも明暗の切り替わりが密な密領域とを入れ換える明暗パターン入れ換え手段を有しているので、計測対象物の画像同士の対応点を探索するときに、明暗パターン入れ換え手段により明暗パターンの明暗の切り替わりが粗な粗領域と、この粗領域よりも明暗の切り替わりが密な密領域とを入れ換えることによって、あらゆる箇所に密領域を投影することができるので、計測対象物の画像同士の対応点の探索を高精度で確実かつ容易にできて、視差情報を正確に検出することができる。したがって、正確な３次元距離情報を得ることができる。
【００１２】
また、一実施形態の３次元計測装置は、
上記明暗パターン入れ換え手段は、異なる上記明暗パターンを複数有しており、この複数の明暗パターンから２つの明暗パターンを選択して入れ換えると共に、
上記選択された２つの明暗パターンは、一方の明暗パターンの上記粗領域に対応する他方の明暗パターンの領域が上記密領域であり、一方の明暗パターンの上記密領域に対応する他方の明暗パターンの領域が上記粗領域である粗密相補パターンである。
【００１３】
上記実施形態によれば、明暗パターン入れ換え手段は、異なる明暗パターンを複数有しており、この複数の明暗パターンから２つの明暗パターンを選択して入れ換えると共に、選択された２つの明暗パターンは、一方の明暗パターンの粗領域に対応する他方の明暗パターンの領域が密領域であり、一方の明暗パターンの密領域に対応する他方の明暗パターンの領域が粗領域である粗密相補パターンであるので、どの箇所にも密領域が投影され、計測対象物の画像同士の対応点を探索するときに、明暗パターン入れ換え手段により粗密相補パターンである２つの明暗パターンを選択して入れ換えて、計測対象物の画像同士の対応点の探索をより確実かつ容易にできて、視差情報を正確に検出することができる。したがって、より正確な３次元距離情報を得ることができる。
【００１４】
また、一実施形態の３次元計測装置は、
上記明暗パターンは、マトリクスパターンであり、
上記選択された２つの明暗パターンのうち、一方の上記明暗パターンは、ランダムパターンであり、他方の上記明暗パターンは、この一方の上記明暗パターンの奇数行かつ奇数列のドットの明暗と、偶数行かつ偶数列のドットの明暗とが反転されたパターン、もしくは、奇数行かつ偶数列のドットの明暗と、偶数行かつ奇数列のドットの明暗とが反転されたパターンである。
【００１５】
上記実施形態によれば、明暗パターンは、マトリクスパターンであり、選択された２つの明暗パターンのうち、一方の明暗パターンは、ランダムパターンであり、他方の明暗パターンは、この一方の明暗パターンの奇数行かつ奇数列のドットの明暗と、偶数行かつ偶数列のドットの明暗とが反転されたパターン、もしくは、奇数行かつ偶数列のドットの明暗と、偶数行かつ奇数列のドットの明暗とが反転されたパターンであるので、粗密相補パターンの明暗パターンを簡単なロジックで作成することができ、３次元計測装置の製造コストを低減することができる。
【００１６】
また、一実施形態の３次元計測装置は、
上記投影手段は、上記明暗パターンを移動させる明暗パターン移動手段を有する。
【００１７】
上記実施形態によれば、投影手段は、明暗パターンを移動させる明暗パターン移動手段を有するので、明暗パターンを移動させて、明暗の切り替わりが粗な粗領域と、この粗領域よりも明暗の切り替わりが密な密領域とを入れ換えることができ、１つの明暗パターンで精度の高い３次元計測を行うことができる。また、明暗パターンを移動させて、明暗パターンを計測対象物に投影した際に生じる影やハレーションの影響が少ない位置で計測することができ、より精度の高い３次元計測を行うことができる。
【００１８】
また、一実施形態の３次元計測装置は、
上記対応点検索視差算出手段により算出された視差が、既定の基準を満たしているか否かを判定する視差判定手段と、
上記判定手段により上記基準を満たさないと判定された視差を、上記明暗パターン入れ換え手段により明暗パターンを入れ換えた上記計測対象物から算出される視差に置き換える視差置換手段と
を備える。
【００１９】
上記実施形態によれば、対応点検索手段により算出された視差が、既定の基準を満たしているか否かを判定する視差判定手段と、判定手段により基準を満たさないと判定された視差を、上記明暗パターン入れ換え手段により明暗パターンを入れ換えた計測対象物から算出される視差に置き換える視差置換手段とを備えるので、計測対象物の画像同士の対応点を探索して視差を算出するときに、既定の基準を満たす視差からなる視差情報を得ることができ、より精度の高い３次元距離情報を得ることができる。
【発明の効果】
【００２０】
以上より明らかなように、この発明の３次元計測装置によれば、対応点探索の精度を高めることができて、計測精度の高い３次元計測装置を実現することが出来る。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の第１実施形態の３次元計測装置の全体構成を示すブロック図である。
【図２】図２は、上記３次元計測装置の第１ランダムドットパターンを（Ａ）欄に示し、第２ランダムドットパターンを（Ｂ）欄に示す。
【図３】図３は、第１ランダムドットパターンの一部を拡大した図を（ａ）欄に示し、第１ランダムパターンに対応する第２ランダムドットパターンの一部を拡大した図を（ｂ）欄に示す。
【図４ａ】図４ａは、上記３次元計測装置を用いた３次元計測の手順を示す通常フローチャートである。
【図４ｂ】図４ｂは、上記３次元計測装置を用いた３次元計測の手順を示す並列処理フローチャートである。
【図５】図５は、本発明の第２実施形態の３次元計測装置の全体構成を示すブロック図である。
【図６ａ】図６ａは、上記３次元計測装置を用いた３次元計測の手順を示す通常フローチャートである。
【図６ｂ】図６ｂは、上記３次元計測装置を用いた３次元計測の手順を示す並列処理フローチャートである。
【図７】図７は、本発明の第３実施形態の３次元計測装置の全体構成を示すブロック図である。
【図８ａ】図８ａは、上記３次元計測装置を用いた３次元計測の手順を示す通常フローチャートである。
【図８ｂ】図８ｂは、上記３次元計測装置を用いた３次元計測の手順を示す並列処理フローチャートである。
【発明を実施するための形態】
【００２２】
以下、この発明の３次元計測装置を図示の実施の形態により詳細に説明する。
【００２３】
（第１実施形態）
本発明の第１実施形態の３次元計測装置１は、図１に示すように、画像取得手段の一例の画像取得部２と、計測処理部３と、投影手段の一例のパターン投影部４とを備えている。
【００２４】
上記画像取得部２は、第１カメラ２１と、第２カメラ２２と、画像取得回路２３とから構成されている。
【００２５】
上記第１カメラ２１および第２カメラは、カメラモジュールであり、図示していないが、例えば、撮像素子、レンズおよびレンズ駆動素子から構成されている。撮像素子として、例えば、ＣＭＯＳ（相補性金属酸化膜半導体）センサまたはＣＣＤ（電荷結合素子）センサを用いている。ＣＭＯＳセンサを用いる場合、制御用ＤＳＰ（Digital Signal Processor（デジタル信号処理装置））が一体となったＣＭＯＳセンサを用いることで、撮像画像サイズ、焦点距離、露出、ホワイトバランス等のカメラパラメータを簡素な構成で電気的に制御することができる。レンズとして、ガラスレンズとプラスチックレンズが複数枚組み合わさったレンズ群を用いていて、精度の高い計測が可能である。また、レンズ駆動素子として、ボイスコイルモータまたはステッピングモータを用いている。これらのモータを用いることで、近距離から遠距離までフォーカスを調整することが可能となり、計測距離を広くすることができる。
【００２６】
また、第１カメラ２１および第２カメラ２２の画素サイズや設置位置は、計測対象物のサイズや必要な計測精度によって選択・設置する。計測精度は、理論上、カメラの画素ピッチを小さく、焦点距離を長く、２つのカメラ間の距離すなわち基線長を長く、計測対象物までの距離を短くすることで向上する。本実施形態では、１５０ｍｍ程度の計測対象物を奥行き方向の分解能０．１５ｍｍ程度で計測を行う場合、画素ピッチ１．４μｍ、焦点距離３ｍｍ、基線長６０ｍｍ、計測距離１５０ｍｍに設定している。なお、第１カメラ２１の視方向と第２カメラ２２の視方向とが成す角、すなわち輻輳角は、第１カメラ２１および第２カメラ２２の両方の画角に計測対象物が収まる角度であればよく、本実施形態では、略２０度に調整している。
【００２７】
上記画像取得回路２３は、上記第１カメラ２１および第２カメラ２２で撮影された画像を取得する。この画像には、多数の画素がマトリクス状に配列されている。動画像から画像を取得する場合には、画像取得回路２３から第１カメラ２１および第２カメラ２２に同期信号が送信され、第１カメラ２１および第２カメラ２２を同期させる。なお、第１カメラ２１および第２カメラ２２を同期させる場合、取り込みタイミングの同期、明るさの同期、色バランスの同期を行うのが望ましい。以下、画像取得回路２３が取得した第１カメラ２１で撮像された画像を第１キャプチャ画像、第２カメラ２２で撮像された画像を第２キャプチャ画像とする。
【００２８】
上記計測処理部３は、対応点探索視差算出手段の一例の対応点探索視差算出部３１と、視差判定手段の一例の視差判定部３２と、視差置換手段の一例の視差置換部３３と、３次元距離情報生成手段の一例の３次元座標算出部３４とから構成されている。
【００２９】
上記対応点探索視差算出部３１は第１キャプチャ画像を基準として、この第１キャプチャ画像の各画素に対応する、第２キャプチャ画像の対応点探索を行い、探索された対応点から視差を算出する。
【００３０】
ここで、対応点探索について説明する。まず、画像取得回路２３から対応点探索視差算出部３１に送信された第１，第２キャプチャ画像の輝度差や、これらの画像の局所的な輝度レベルの変動などを吸収するために、プレフィルタとしてエッジ強調処理を施す。なお、プレフィルタとして、例えば、ソベルフィルタおよびラプラシアンフィルタを用いている。
【００３１】
次に、エッジ強調処理が施された第１，第２キャプチャ画像に対応点探索処理を施して、対応点を求める。具体的には、まず、第１キャプチャ画像の注目する画素を中心として、縦横それぞれｐ(０を除く自然数)画素の正方形状の「相関窓」と呼ばれる領域（基準領域）を設定する。そして、第２キャプチャ画像において、注目する画素と同一列に、基準領域と同じ大きさの相関窓（比較領域）を設定し、この相関窓を左右方向にスライドさせながら、両画像の相関窓に含まれる画素間の相関度合いを示す評価量を計算して行く。この相関度合いを示す評価量としては、例えば、ＳＡＤ（Sum of Absolute Difference（差分絶対値和））の画素演算で計算できる量が用いられる。所定の相関探索範囲を探索し終えたときに、相関度合いが最も高くなる位置の比較領域の中心の画素が、基準領域の注目する画素に対応する対応点となる。
【００３２】
なお、相関探索範囲の端から端まで探索しても相関度合いが所定の値以上にならない場合は、対応点が存在しないと見なされる。これは、第１カメラ２１からは見えているが第２カメラ２２からは見えない部分（オクルージョン領域）を計測する場合や、計測対象物のコントラストが低い場合等に起こり得る。
【００３３】
対応点が見出せなかったり対応点を誤って検出したりすると、ノイズが混じることがある。特に、対応点探索時の相関窓サイズが比較的小さい場合、計測精度が高まる代わりにノイズの割合が大きくなる傾向がある。このようなノイズを低減するため、対応点探索結果にポストフィルタを適用してノイズ除去を行う。ポストフィルタとして、例えば、ガウシアンおよびメディアン等の平滑化フィルタやモルフォロジー処理を用いる。
【００３４】
そして、得られた対応点に対して視差算出処理を施して、視差を算出する。なお、視差とは、第１キャプチャ画像の注目する画素と第２キャプチャ画像の対応点との間の水平方向距離であり、この距離を画素で表したものである。上記対応点検索は、第１キャプチャ画像の注目する画素を順次変更して行われ、算出された視差の値を視差情報として取得する。
【００３５】
上記視差判定部３２では、上記対応点探索視差算出部３１で得られた視差情報が既定の基準を満たしているか否かを判定する。この既定の基準は、任意に設定することが可能であり、例えば、異常値と想定される値を基準に設定してもいいし、周囲の画素の視差から飛びぬけて離れた値を基準に設定しても良い。
【００３６】
上記視差置換部３３は、上記視差判定部３２で既定の基準を満たしていないと判定された視差を別の視差に置き換える。置き換えられる視差は、判定された視差情報に対応する明暗パターンとは異なる明暗パターンを計測対象物に投影して撮影された画像から得られる、異なる視差情報の視差を用いる。
【００３７】
上記３次元座標算出部３４は得られた視差の値に基づき、三角測量の原理により、３次元座標を算出し、３次元座標データを出力する。
【００３８】
上記パターン投影部４は、プロジェクタ４１と、明暗パターン入れ換え手段の一例の投影パターン入換部４２とから構成されている。
【００３９】
上記プロジェクタ４１は、計測時に、非周期的な明暗パターンの一例のランダムドットパターンを計測対象物に投影する。このランダムドットパターンが投影された計測対象物の表面には、細かい輝度変化が付与される。このランダムドットパターンは非周期的（ランダム）であるため、第１キャプチャ画像と第２キャプチャ画像との間で、これらの輝度変化を一対一に対応付けて認識することができ、精度の高い計測結果を得ることが可能になる。
【００４０】
上記投影パターン入換部４２は、図示しないパターン記憶部を有しており、このパターン記憶部に２つの異なるランダムドットパターンを記憶している。ランダムドットパターンとして、図２に示す２つのランダム２値ドットパターンを用いている。図２の（Ａ）欄と（Ｂ）欄に示されているランダムドットパターンは粗密相補パターンであり、一方のランダムドットパターンの明暗の切り替わりが粗である粗領域に対応する他方のランダムドットパターンの領域は、明暗の切り替わりが密な密領域となっており、一方のランダムドットパターンの明暗の切り替わりが密である密領域に対応する他方のランダムドットパターンの領域は、明暗の切り替わりが粗な粗領域となっている。
【００４１】
ここで、粗密相補パターンの作成方法について説明する。まず、マトリクス状の全ドットを規則性なくランダムに明ドットまたは暗ドットのいずれか一方に振り分けて、図２の（Ａ）欄に示す第１ランダムドットパターンを作成する。パターンの解像度（ドット数）はプロジェクタ４１の解像度に合わせて作成すればよい。
【００４２】
次に、作成した第１ランダムドットパターンの明ドットおよび暗ドットを一定の間隔で反転させて、図２の（Ｂ）欄に示す第２ランダムドットパターンを作成する。反転とは、第１ランダムドットパターンの明ドットを暗ドットに、暗ドットを明ドットに変換することをいう。このとき、第１ランダムドットパターンの奇数行の奇数列のドットを反転し、偶数行の偶数列のドットを反転するようにする。つまり、１行１列，１行３列，１行５列…、２行２列，２行４列，２行６列…というように、１つ置きにドットを反転させる。
【００４３】
図３は、第１ランダムドットパターンの一部を拡大した図を（ａ）欄に示し、第１ランダムパターンに対応する第２ランダムドットパターンの一部を拡大した図を（ｂ）欄に示している。
【００４４】
図３に示されるように、第１ランダムドットパターンは、上半分の領域が明暗の切り替わりが密な密領域であり、下半分の領域が明暗の切り替わりが粗な粗領域であるのに対し、第２ランダムドットパターンは、上半分の領域が明暗の切り替わりが粗な粗領域であり、下半分の領域が明暗の切り替わりが密な密領域となっている。つまり、第１ランダムドットパターンと第２ランダムドットパターンとは、明暗の切り替わりの粗な粗領域と明暗の切り替わりの密な密領域とが入れ替わった粗密相補パターンになっている。なお、奇数行の偶数列のドットの明暗を反転させ、偶数行の奇数列のドットの明暗を反転させて、第２ランダムドットパターンを作成してもよい。
【００４５】
このようなロジックで第１ランダムドットパターンと第２ランダムドットパターンを作成することで、粗密相補パターンのランダムドットパターンを簡単に作成することができ、３次元計測装置の製造コストを低減することができる。
【００４６】
次に、上記３次元計測装置１を用いた３次元計測の手順について、図４ａのフローチャートを用いて説明する。
【００４７】
まず、ステップＳ１０１では、計測対象物にランダムドットパターンの投影を開始して、ステップＳ１０２に進む。このとき、投影パターン入換部４２からプロジェクタ４１に第１ランダムドットパターンが送信され、この第１ランダムドットパターンが、プロジェクタ４１を介して計測対象物に投影される。
【００４８】
ステップＳ１０２では、画像取得部２が、計測対象の第１の第１キャプチャ画像および第１の第２キャプチャ画像を取得する。このとき、第１カメラ２１および第２カメラ２２によって計測対象物が撮影され、この撮影された第１の第１，第２キャプチャ画像が画像取得回路２３に取り込まれる。そして、取り込まれた第１の第１，第２キャプチャ画像を、計測処理部３内の対応点探索視差算出部３１に送信して、ステップＳ１０３に進む。
【００４９】
ステップＳ１０３では、対応点探索視差算出部３１が、画像取得部２から送られた第１の第１，第２キャプチャ画像に対して対応点探索処理および視差算出処理を行い、この処理により得られた第１視差情報を視差判定部３２に送信して、ステップＳ１０４に進む。
【００５０】
ステップＳ１０４では、視差判定部３２が、対応点探索視差算出部３１から送信された第１視差情報を処理して、第１視差情報の視差が既定の基準を満たしているか否かを判定する。判定方法は、異常値と想定される値に閾値を設けて、閾値を逸脱した領域を判定する方法や周りの画素の視差から飛びぬけて離れた値を判定する方法などがあり、目的に応じて選択すれば良い。
【００５１】
判定の結果、第１視差情報に既定の基準を満たさない視差（不正確視差）が存在する場合には、視差判定部３２は、第１視差情報と判定情報とを視差置換部３３に送信して、ステップＳ１０５に進む。一方、第１視差情報の全ての視差が既定の基準を満たす場合には、視差判定部３２は、第１視差情報を３次元座標算出部３４に送信して、ステップＳ１０９に進む。
【００５２】
ステップＳ１０５では、パターン投影部４が第２ランダムドットパターンを計測対象物に投影を開始して、ステップＳ１０６に進む。このとき、投影パターン入換部４２からプロジェクタ４１に第２ランダムドットパターンが送信され、この第２ランダムドットパターンが、プロジェクタ４１を介して計測対象物に投影される。
【００５３】
ステップＳ１０６では、画像取得部２が、第２ランダムドットパターンが投影された計測対象の第２の第１，第２キャプチャ画像を取得する。この第２の第１，第２キャプチャ画像は、計測対象物に投影されているランダムドットパターンを除いて、第１の第１，第２キャプチャ画像と同一である。そして、取得した第２の第１，第２キャプチャ画像を計測処理部３内の対応点探索視差算出部３１に送信して、ステップＳ１０７に進む。
【００５４】
ステップＳ１０７では、対応点探索視差算出部３１が、画像取得部２から送信された第２の第１，第２キャプチャ画像に対して対応点探索処理および視差算出処理を行い、この処理により得られた第２視差情報を視差置換部３３に送信して、ステップＳ１０８に進む。
【００５５】
ステップＳ１０８では、視差置換部３３が、視差判定部３２から送信された第１視差情報の不正確視差を、対応点探索視差算出部３１から送信された第２視差情報の不正確視差に対応する視差に置換する。そして、置換された視差情報を３次元座標算出部３４に送信して、ステップＳ１０９に進む。
【００５６】
最後に、ステップＳ１０９で、３次元座標算出部３４が、視差判定部３２または視差置換部３３から送信された視差情報から、三角測量の原理を用いて計測対象物の３次元座標（Ｘ，Ｙ，Ｚ）を算出して、３次元計測を終了する。ここで、水平方向の距離Ｘ，垂直方向の距離Ｙ、奥行き方向の距離をＺとする。例えば、計測対象物までの奥行き方向の距離Ｚを計測する場合、具体的には、２つのカメラの基線長をＡ、カメラの焦点距離をｆ、視差ｄとして、距離Ｚ＝Ａ・ｆ／ｄで計算できる。
【００５７】
また、時間短縮のため、図４ｂに示すフローチャートの手順で３次元計測することも可能である。以下、図４ｂのフローチャートを用いて説明する。
【００５８】
まず、Ｓ１１１では、パターン投影部４が計測対象物に第１ランダムドットパターンの投影を開始して、ステップＳ１１２に進む。
【００５９】
ステップＳ１１２では、画像取得部２が、計測対象の第１の第１，第２キャプチャ画像を取得する。このとき、画像取得回路２３は、第１の第１，第２キャプチャ画像を計測処理部３に送信して、ステップＳ１１３に進む。
【００６０】
ステップＳ１１３では、画像取得部２から送信された第１の第１，第２キャプチャ画像が対応点探索視差算出部３１に入力される。そして、対応点探索視差算出部３１が、画像取得部２から送られた第１の第１，第２キャプチャ画像に対して対応点探索処理および視差算出処理を行い、この処理により得られた第１視差情報を視差判定部３２に送信して、ステップＳ１１４に進む。
【００６１】
ステップＳ１１４では、視差判定部３２が、対応点探索視差算出部３１から送信された第１視差情報を処理して、第１視差情報の視差が既定の基準を満たしているか否かを判定する。第１視差情報に既定の基準を満たさない視差が存在する場合には、視差判定部３２は、第１視差情報と判定情報とを視差置換部３３に送信して、ステップＳ１１８に進む。第１視差情報の全ての視差が既定の基準を満たす場合には、視差判定部３２は、第１視差情報を３次元座標算出部３４に送信して、ステップＳ１１９に進む。
【００６２】
一方、ステップＳ１１３と平行して、ステップＳ１１５では、パターン投影部４が第２ランダムドットパターンを計測対象物に投影を開始し、ステップＳ１１６に進む。
【００６３】
ステップＳ１１６では、画像取得部２が、第２ランダムドットパターンが投影された計測対象の第２の第１，第２キャプチャ画像を取得する。そして、取得した第２の第１，第２キャプチャ画像を計測処理部３内の対応点探索視差算出部３１に送信して、ステップＳ１１７に進む。
【００６４】
ステップＳ１１７では、対応点探索視差算出部３１が、第２の第１，第２キャプチャ画像に対して対応点探索処理および視差算出処理を行い、この処理により得られた第２視差情報を視差置換部３３に送信して、ステップＳ１１８に進む。
【００６５】
ステップＳ１１８では、視差置換部３３が、視差判定部３２から送信された第１視差情報の不正確視差を、対応点探索視差算出部３１から送信された第２視差情報の不正確視差に対応する視差に置換する。そして、置換された視差情報を３次元座標算出部３４に送信して、ステップＳ１１９に進む。
【００６６】
最後に、ステップＳ１１９で、３次元座標算出部３４が、視差判定部３２または視差置換部３３から送信された視差情報から、三角測量の原理を用いて計測対象物の３次元座標（Ｘ，Ｙ，Ｚ）を算出して、３次元計測を終了する。
【００６７】
図４ｂに示すフローチャートの手順では、Ｓ１１３からＳ１１４までの処理とＳ１１５からＳ１１７までの処理を同時に行うため、図４ａに示すフローチャートの手順に比べて、３次元計測にかかる時間を短縮することが可能である。
【００６８】
このように、上記３次元計測装置１では、計測対象物に第１ランダムパターンを投影して得られた第１視差情報が既定の基準を満たすか否かを判定して、既定の基準を満たさない不正確視差である判定された視差を、粗密相補パターンである第２ランダムパターンを投影して得られた第２視差情報の第１視差情報の不正視差に対応する視差に置換しているので、計測対象物の画像同士の対応点を探索して視差を算出するときに、既定の基準を満たす視差からなる視差情報を得ることができ、より精度の高い３次元距離情報を得ることができる。
【００６９】
一般に、明暗パターンを投影しない場合であっても３次元計測は可能であるが、非周期的な明暗パターンを計測対象物に投影することで、投影しない場合と比較して、対応点の認識率を飛躍的に高めることができ、計測対象物の表面の特徴点が乏しい場合やコントラストが低い場合であっても、対応点探索を正確に行うことができて、正確な３次元計測を可能にする。
【００７０】
この非周期的な明暗パターンには、明暗パターンに画素の明暗の切り替わりが少ない「粗領域」と、画素の明暗の切り替わりが多い「密領域」とが形成される。粗領域では輝度変化が乏しくなるため、計測対象物の特徴を十分に把握できず、対応点探索の精度が低下して、計測精度が低下したり、計測エラーになったりする場合がある。この問題を解決するために、複数の非周期的な明暗パターンを用いて３次元計測を行うことが考えられる。しかし、非周期的な明暗パターンを複数用いて３次元計測を行う場合でも、用いる明暗パターンが非周期的であるため、明暗パターンを変更しても明暗の切り替わりが粗のまま変わらない領域が存在する場合があり、この場合には、計測時に明暗パターンを投影することによる対応点探索に対する補助が得られない。
【００７１】
上記３次元計測装置１では、パターン投影部４が、明暗の切り替わりが粗な粗領域と、この粗領域よりも明暗の切り替わりが密な密領域とを入れ換える投影パターン入換部４２を有しているので、計測対象物の画像同士の対応点を探索するときに、パターン投影部４によりランダムドットパターンの明暗の切り替わりが粗な粗領域と、この粗領域よりも明暗の切り替わりが密な密領域とを入れ換えることによって、計測対象物の画像同士の対応点の探索を確実かつ容易にできて、視差情報を正確に検出することができる。したがって、正確な３次元距離情報を得ることができる。
【００７２】
また、投影パターン入換部４２は、２つのランダムドットパターンを入れ換えると共に、これらの２つのランダムドットパターンは、一方のランダムドットパターンの粗領域に対応する他方のランダムドットパターンの領域が密領域であり、一方のランダムドットパターンの密領域に対応する他方のランダムドットパターンの領域が粗領域である粗密相補パターンであるので、計測対象物の画像同士の対応点を探索するときに、パターン投影部４により、粗密相補パターンである２つの明暗パターンを選択して入れ換えるので、計測対象物の画像同士の対応点の探索をより確実かつ容易にできて、視差情報を正確に検出することができる。したがって、より正確な３次元距離情報を得ることができる。
【００７３】
（第２実施形態）
図５は、本発明の第２実施形態の３次元計測装置１０１の全体構成を示すブロック図である。この第２実施形態の３次元計測装置１０１は、画像取得部２と、計測処理部３と、パターン投影部１０４とを備えている。この実施形態の３次元計測装置１０１は、基本的には、第１実施形態と同様の構成である。なお、上記第１実施形態と同一構成部には同一番号を付して、それらの詳しい説明は省略する。
【００７４】
図５に示すように、上記３次元計測装置は、上記パターン投影部１０４に、明暗パターン移動手段の一例のアクチュエータ４３を設けている点で第１実施形態と異なっている。
【００７５】
上記パターン投影部４は、プロジェクタ４１と、投影パターン入換部４２と、アクチュエータ４３とで構成される。投影パターン入換部４２の構成は、第１実施形態１と同様であるが、１種類のランダムドットパターンのみを記憶している。なお、記憶されるランダムドットパターンは、１種類であっても複数であってもよい。
【００７６】
上記アクチュエータ４３は、プロジェクタ４１を駆動させて、投影するランダムドットパターンの投影位置を移動させる。このアクチュエータ４３は、投影するランダムドットパターンの粗領域と密領域とが確実に入れ替わるように、プロジェクタ４１の駆動量を調整することができる。なお、プロジェクタ４１の駆動量は、予め実験等で決定しておけばよい。
【００７７】
次に、本実施形態における３次元計測の手順について、図６ａのフローチャートを用いて説明する。
【００７８】
まず、ステップＳ２０１のランダムドットパターンの投影、ステップＳ２０２の画像取得、ステップＳ２０３の対応点探索および視差算出、ステップＳ２０４の視差判定を順次実行する。このステップＳ２０１，Ｓ２０２，Ｓ２０３，Ｓ２０４の処理は、図４ａに示す第１実施形態のステップＳ１０１，Ｓ１０２，Ｓ１０３，Ｓ１０４の処理と同じであるため、詳細は省略する。
【００７９】
次に、ステップＳ２０５では、プロジェクタ４１がアクチュエータ４３により駆動され、ランダムドットパターンの粗領域を密領域に入れ替えるようにずらして、ステップＳ２０６に進む。
【００８０】
ステップＳ２０６では、画像取得部２が、明暗を入れ換えられたランダムドットパターンが投影された計測対象の第２の第１，第２キャプチャ画像を取得する。そして、取得した第２の第１，第２キャプチャ画像を計測処理部３内の対応点探索視差算出部３１に送信して、図４ａに示す第１実施形態のステップＳ１０７からステップＳ１０９と同様に、ステップＳ２０７からステップＳ２０９を順次行って、３次元計測を終了する。
【００８１】
このように、第２実施形態の３次元計測装置１０１では、ランダムパターンを投影して得られた第１視差情報のうちの不正確視差のみが、プロジェクタの投影位置をずらして明暗を切り替えたランダムパターンを投影して得られる第２視差情報の第１視差情報に対応する視差に置換されるので、精度の高い計測が可能となる。
【００８２】
また、計測時間の短縮のために、図６ｂに示すフローチャートの手順で３次元計測することも可能である。以下、図６ｂのフローチャートを用いて説明する。
【００８３】
まず、ステップＳ２１１のランダムドットパターンの投影、ステップＳ２１２の画像取得、ステップＳ２１３の対応点探索および視差算出、ステップＳ２１４の視差判定を順次実行する。このステップＳ２１１，Ｓ２１２，Ｓ２１３，Ｓ２１４の処理は、図６ａのステップＳ２０１，Ｓ２０２，Ｓ２０３，Ｓ２０４の処理と同じであるため、詳細は省略する。
【００８４】
一方、ステップＳ２１３と平行して、ステップＳ２１５では、プロジェクタ４１がアクチュエータ４３により駆動され、ランダムドットパターンの粗領域が密領域に入れ替えられるようにずらして、ステップＳ２１６に進む。
【００８５】
ステップＳ２１６では、画像取得部２が、明暗を入れ換えられたランダムドットパターンが投影された計測対象の第２の第１，第２キャプチャ画像を取得する。そして、取得した第２の第１，第２キャプチャ画像を計測処理部３内の対応点探索視差算出部３１に送信して、図６ａのステップＳ２０７からステップＳ２０９と同様に、ステップＳ２１７からステップＳ２１９を順次行って、３次元計測を終了する。
【００８６】
このように、ステップＳ２１３からステップＳ２１４までの処理と、ステップＳ２１５からステップＳ２１７までの処理を同時に行うことで、計測時間を短縮することが可能である。
【００８７】
上記３次元計測装置１０１では、パターン投影部４が、ランダムドットパターンを移動させるアクチュエータ４３を有するので、ランダムドットパターンを移動させて、明暗の切り替わりが粗な粗領域と、この粗領域よりも明暗の切り替わりが密な密領域とを入れ換えることができ、１つのランダムドットパターンで精度の高い３次元計測を行うことができる。また、ランダムドットパターンを計測対象物に投影した際に生じる影やハレーションの影響が少ない位置にランダムドットパターンを移動させて計測することができるので、より精度の高い３次元計測を行うことができる。
【００８８】
（第３実施形態）
図７は、本発明の第３実施形態の３次元計測装置２０１の全体構成を示すブロック図である。この第３実施形態の３次元計測装置２０１は、画像取得部２と、計測処理部２０３と、パターン投影部１０４とを備えている。この実施形態の３次元計測装置２０１は、基本的には、第２実施形態と同様の構成である。なお、上記第２実施形態と同一構成部には同一番号を付して、それらの詳しい説明は省略する。
【００８９】
図７に示すように、上記３次元計測装置は、上記計測処理部２０３に視差演算部３５を設け、視差判定部３２および視差置換部３３を設けていない点で第２実施形態と異なっている。
【００９０】
上記計測処理部２０３は、対応点探索視差演算部３１と、視差演算部３５と、３次元座標算出部３４とから構成されている。
【００９１】
上記視差演算部３５は、対応点探索視差演算部３１から得られた視差情報に対して四則演算を実行する。この視差演算部３５は、得られた視差情報に含まれる全ての視差の平均値を算出することができる演算回路であればよい。
【００９２】
上記３次元座標算出部３４は、上記視差演算部３５で算出された視差平均の値に基づいて、三角測量の原理により３次元座標を算出し、３次元座標データを出力する。
【００９３】
次に、本実施形態における３次元計測の手順について、図８ａのフローチャートを用いて説明する。
【００９４】
まず、ステップＳ３０１の第１ランダムドットパターンの投影、ステップＳ３０２の画像取得、ステップＳ３０３の対応点探索および視差算出を順次実行する。このステップＳ３０１，Ｓ３０２，Ｓ３０３の処理は、図４ａに示す第１実施形態のステップＳ１０１，Ｓ１０２，Ｓ１０３の処理と同じであるため、詳細は省略する。
【００９５】
次に、ステップＳ３０４では、視差演算部３５が、図示しないメモリに対応点探索視差算出部３１から送信された第１視差情報を保存して、図４ａに示す第１実施形態のステップＳ１０５からステップＳ１０７と同様に、ステップＳ３０５からステップＳ３０７を順次行って、ステップＳ３０８に進む。
【００９６】
ステップＳ３０８では、視差演算部３５が、図示しないメモリに対応点探索視差算出部３１から送信された第２視差情報を保存すると共に、先に保存されていた第１視差情報との平均値を算出する。そして、この視差情報の平均値を３次元座標算出部３４に送信して、ステップＳ３０９に進む。
【００９７】
最後に、ステップＳ３０９で、３次元座標算出部３４が、視差演算部３５から送信された視差情報の平均値から、三角測量の原理により、計測対象物の３次元座標（Ｘ，Ｙ，Ｚ）を算出する。
【００９８】
また、計測時間の短縮のために、図８ｂに示すフローチャートの手順で３次元計測することも可能である。以下、図８ｂのフローチャートを用いて説明する。
【００９９】
まず、ステップＳ３１１の第１ランダムドットパターンの投影、ステップＳ３１２の画像取得、ステップＳ３１３の対応点探索および視差算出を順次実行する。このステップＳ３０１，Ｓ３０２，Ｓ３０３の処理は、図８ａのステップＳ３０１，Ｓ３０２，Ｓ３０３の処理と同じであるため、詳細は省略する。
【０１００】
次に、ステップＳ３１４では、視差演算部３５が、図示しないメモリに対応点探索視差算出部３１から送信された第１視差情報を保存して、ステップＳ３１８に進む。
【０１０１】
一方、ステップＳ３１３と平行して、ステップＳ３１５では、パターン投影部４が第２ランダムドットパターンを計測対象物に投影を開始し、図８ａのステップＳ３０６，ステップＳ３０７と同様に、ステップＳ３１６，ステップＳ３１７を順次行って、ステップＳ３１８に進む。
【０１０２】
ステップＳ３１８では、視差演算部３５が、図示しないメモリに対応点探索視差算出部３１から送信された第２視差情報を保存すると共に、先に保存されていた第１視差情報との平均値を算出する。そして、この視差情報の平均値を３次元座標算出部３４に送信して、ステップＳ３１９に進む。
【０１０３】
最後に、ステップＳ３１９で、３次元座標算出部３４が、視差演算部３５から送信された視差情報の平均値から、三角測量の原理により、計測対象物の３次元座標（Ｘ，Ｙ，Ｚ）を算出する。
【０１０４】
このように、Ｓ３１３からＳ３１４までの処理とＳ３１５からＳ３１７までの処理を同時に処理することで、計測時間を短縮することが可能である。
【０１０５】
上記３次元計測装置２０１では、対応点探索視差演算部３１から得られた視差情報は、視差演算部３５で単純に四則演算を実行されるだけであるので、処理時間の高速化と構成の簡略化が可能となる。しかし、上記３次元計測器２０１の構成では、算出された視差情報に含まれる不正確視差も用いるため、上記第１実施形態の３次元測定装置１および上記第２実施形態の３次元測定装置１０１と比べて、計測精度が低くなる場合がある。
【０１０６】
したがって、上記３次元計測装置２０１は、例えば、得られた３次元座標データに対して閾値を決めて２値化することで計測対象物の凹凸を切り出す場合など、計測精度を必要としないが、処理の高速化を必要とする用途に用いるのが好ましい。
【０１０７】
以上で説明した第１〜第３実施形態においては、２つのカメラ２１，２２を搭載し、２枚の画像対から対応点探索を行っているが、カメラの個数は２つに限られず、３つ以上のカメラを使った３次元計測装置の場合においても本発明を応用することは可能である。
【０１０８】
また、上記第１〜第３実施形態では、ランダムドットパターンとして、２つの粗密相補的パターンを用いて計測を行なっているが、ランダムドットパターンは２つに限られず、３つ以上のランダムドットパターンを使った３次元計測装置の場合においても本発明を応用することは可能である。
【０１０９】
また、上記第１〜第３実施形態では、明暗パターンとして、マトリクスパターンを用いているが、これに限られず、例えば、ストライプパターンを用いてもよい。また、明暗パターンのドットとして、それぞれ１種類の輝度を有するドットを用いているが、これに限られず、複数の種類の輝度を有するドットを用いてもよい。
【０１１０】
上記第１〜第３実施形態の３次元計測装置の各々の構成要素は、可能ならば、お互いに入れ換え、あるいは追加してもよいことは勿論である。
【０１１１】
本発明のステレオ３次元計測装置は、３次元計測装置として産業用、民生用その他用途に用いる他、携帯情報端末などの一部に組み込むことが可能である。
【産業上の利用可能性】
【０１１２】
本発明は、複数のカメラを用いて距離・形状などの計測を行うためのステレオ３次元計測装置に関するものであり、３次元計測装置として産業用、民生用その他用途に用いる他に、携帯情報端末などの一部に組み込むことが可能である。
【符号の説明】
【０１１３】
１，１０１，２０１  ３次元計測装置
２  画像取得部
３，２０３  計測処理部
４，１０４  パターン投影部
２１  第１カメラ
２２  第２カメラ
２３  画像取得回路
３１  対応点探索視差算出部
３２  視差判定部
３３  視差置換部
３４  ３次元座標算出部
４１  プロジェクタ
４２  投影パターン入換部
４３  アクチュエータ
【図１】
0006009206.tif 000002
【図２】
0006009206.tif 000003
【図３】
0006009206.tif 000004
【図４ａ】
0006009206.tif 000005
【図４ｂ】
0006009206.tif 000006
【図５】
0006009206.tif 000007
【図６ａ】
0006009206.tif 000008
【図６ｂ】
0006009206.tif 000009
【図７】
0006009206.tif 000010
【図８ａ】
0006009206.tif 000011
【図８ｂ】
0006009206.tif 000012