(57)【要約】【課題】集光レンズ結像方式の投影部、複数の撮像部及び位相シフトパターンを用いることにより、単純化した構造で耐久性が高く、しかも高い精度で計測対象の形状を計測することができる。【解決手段】３次元計測システム１０００は、３次元計測カメラ１００と制御装置２００とを備える。３次元計測カメラ１００は、集光レンズ結像方式の投影部１４０と、左撮像部１５０と、右撮像部１６０と、通信部１３０と、カメラ制御部１１０と、を備える。制御装置２００は、通信部２３０と、制御部２１０と、を備える。カメラ制御部１１０は、投影部１４０によりグレイコードパターン画像及び位相シフトパターン画像を計測対象に投影し、左撮像部１５０及び右撮像部１６０で撮像し、撮像した画像のデータを送信する。制御部２１０は、画像のデータを受信し、画像のデータから視差画像データを生成し、視差画像データから計測対象の３次元形状を表す点群データを生成する。【選択図】図１
2020041822.tif 000002
【特許請求の範囲】
【請求項１】
３次元計測カメラと、制御装置と、を備え、
前記３次元計測カメラは、
集光レンズ結像方式により計測対象に画像を投影する投影部と、
前記投影部の左から前記計測対象を撮像する左撮像部と、
前記投影部の右から前記計測対象を撮像する右撮像部と、
前記左撮像部で撮像した左画像のデータ及び前記右撮像部で撮像した右画像のデータを前記制御装置に送信する送信部と、
カメラ制御部と、
を備え、
前記制御装置は、
前記送信部から送信されたデータを受信する受信部と、
制御部と、
を備え、
前記カメラ制御部は、
前記投影部によりグレイコードパターン画像及び位相シフトパターン画像を前記計測対象に投影し、
前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を前記左撮像部及び前記右撮像部で撮像し、
前記送信部を介して前記撮像した前記左画像のデータ及び前記右画像のデータを前記制御装置に送信し、
前記制御部は、
前記受信部を介して前記左画像のデータ及び前記右画像のデータを前記３次元計測カメラから受信し、
前記左画像のデータ及び前記右画像のデータから視差画像データを生成し、
前記視差画像データから前記計測対象の３次元形状を表す点群データを生成する、
３次元計測システム。
【請求項２】
前記制御装置が備える前記制御部は、前記視差画像データの生成の際に、前記左画像内及び前記右画像内の相互に対応するエピポーラ線に沿って、前記左画像の位相値と前記右画像の位相値とが一致する点を求め、それらの点の横方向の位置の差を視差とする、
請求項１に記載の３次元計測システム。
【請求項３】
集光レンズ結像方式により計測対象に画像を投影する投影部と、
前記投影部の左から前記計測対象を撮像する左撮像部と、
前記投影部の右から前記計測対象を撮像する右撮像部と、
前記左撮像部で撮像した左画像のデータ及び前記右撮像部で撮像した右画像のデータを外部の制御装置に送信する送信部と、
カメラ制御部と、
を備え、
前記カメラ制御部は、
前記投影部によりグレイコードパターン画像及び位相シフトパターン画像を前記計測対象に投影し、
前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を前記左撮像部及び前記右撮像部で撮像し、
前記送信部を介して前記撮像した前記左画像のデータ及び前記右画像のデータを前記制御装置に送信する、
３次元計測カメラ。
【請求項４】
前記カメラ制御部は、前記左撮像部及び前記右撮像部に対して、同時に撮像指示を出し、撮像して得られた同期した前記左画像のデータ及び前記右画像のデータを１つに結合して前記制御装置に送信する、
請求項３に記載の３次元計測カメラ。
【請求項５】
前記撮像した前記左画像のデータ及び前記右画像のデータを補正するためのデータテーブルであるレクティファイテーブルをさらに備え、
前記カメラ制御部は、前記撮像した前記左画像のデータ及び前記右画像のデータを、前記レクティファイテーブルを用いて補正し、補正後のデータを前記制御装置に送信する、
請求項３又は４に記載の３次元計測カメラ。
【請求項６】
前記カメラ制御部は、
前記投影部により９０度ずつ位相をずらした４枚の位相シフトパターン画像を前記計測対象に投影し、
前記位相シフトパターン画像が投影された前記計測対象を前記位相シフトパターン画像の位相を９０度ずつずらして前記左撮像部及び前記右撮像部でそれぞれ４枚撮像し、
前記撮像した４枚の前記左画像のデータからピクセル毎の位相値を算出して左の位相画像データを生成し、
前記撮像した４枚の前記右画像のデータからピクセル毎の位相値を算出して右の位相画像データを生成し、
前記送信部を介して前記生成した前記左の位相画像データ及び前記右の位相画像データを前記制御装置に送信する、
請求項３から５のいずれか１項に記載の３次元計測カメラ。
【請求項７】
前記カメラ制御部は、
前記投影部により規定枚数のグレイコードパターン画像を前記計測対象に投影し、
前記各グレイコードパターン画像が投影された前記計測対象を前記左撮像部及び前記右撮像部でそれぞれ前記規定枚数撮像し、
前記撮像した前記規定枚数の前記左画像のデータからピクセル毎のコード値を算出して左のコード画像データを生成し、
前記撮像した前記規定枚数の前記右画像のデータからピクセル毎のコード値を算出して右のコード画像データを生成し、
前記送信部を介して前記生成した前記左のコード画像データ及び前記右のコード画像データを前記制御装置に送信する、
請求項３から６のいずれか１項に記載の３次元計測カメラ。
【請求項８】
グレイコードパターン画像及び位相シフトパターン画像を集光レンズ結像方式により計測対象に投影する投影ステップと、
前記投影ステップで前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を左撮像部及び右撮像部で撮像する撮像ステップと、
前記撮像ステップで前記左撮像部が撮像した左画像のデータ及び前記右撮像部が撮像した右画像のデータから視差画像データを生成する視差画像データ生成ステップと、
前記視差画像データ生成ステップで生成した視差画像データから前記計測対象の３次元形状を表す点群データを生成する点群データ生成ステップと、
を有する３次元計測方法。
【請求項９】
コンピュータに、
グレイコードパターン画像及び位相シフトパターン画像を集光レンズ結像方式により計測対象に投影する投影ステップ、
前記投影ステップで前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を左撮像部及び右撮像部で撮像する撮像ステップ、
前記撮像ステップで前記左撮像部が撮像した左画像のデータ及び前記右撮像部が撮像した右画像のデータから視差画像データを生成する視差画像データ生成ステップ、及び、
前記視差画像データ生成ステップで生成した視差画像データから前記計測対象の３次元形状を表す点群データを生成する点群データ生成ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元計測システム、３次元計測カメラ、３次元計測方法及びプログラムに関する。
【背景技術】
【０００２】
カメラを２台用いてステレオカメラを構成し、３次元形状を取得する装置が知られている。例えば、特許文献１には、計測対象にプロジェクタからランダムドットパターンを照射してステレオカメラで左右画像を撮影し、左右の画像から対応点を探索して距離画像を得るステレオ３次元計測装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１７４５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示されているような、ステレオカメラによる３次元計測装置では、左右の画像で対応する点が探索されたら、右の画像中の該点の位置と左の画像中の該点の位置との差から求まる視差値から、三角測量の原理により、該点までの距離を算出することができる。しかし、視差値は各画像のピクセル単位で求まるものであるから、算出される距離の精度は、ステレオカメラが取得する画像のピクセルの大きさに依存することになる。したがって、ステレオカメラの解像度を上げないと距離の精度を上げることができない。
【０００５】
また、位相シフト法を用いることにより、計測精度を上げることができるが、位相シフト法を用いるためには、所定の画像（例えば位相シフトパターン画像）を投影する必要がある。この画像の投影のために一般的な構造のプロジェクタを組み込むと、カメラ本体が大きく、複雑になり、振動や衝撃にも弱いものになってしまう。
【０００６】
本発明は、上記実情に鑑みてなされたものであり、集光レンズ結像方式の投影部、複数の撮像部及び位相シフトパターンを用いることにより、単純化した構造で耐久性が高く、しかも高い精度で計測対象の形状を計測することができる３次元計測システム、３次元計測カメラ、３次元計測方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る３次元計測システムは、
３次元計測カメラと、制御装置と、を備え、
前記３次元計測カメラは、
集光レンズ結像方式により計測対象に画像を投影する投影部と、
前記投影部の左から前記計測対象を撮像する左撮像部と、
前記投影部の右から前記計測対象を撮像する右撮像部と、
前記左撮像部で撮像した左画像のデータ及び前記右撮像部で撮像した右画像のデータを前記制御装置に送信する送信部と、
カメラ制御部と、
を備え、
前記制御装置は、
前記送信部から送信されたデータを受信する受信部と、
制御部と、
を備え、
前記カメラ制御部は、
前記投影部によりグレイコードパターン画像及び位相シフトパターン画像を前記計測対象に投影し、
前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を前記左撮像部及び前記右撮像部で撮像し、
前記送信部を介して前記撮像した前記左画像のデータ及び前記右画像のデータを前記制御装置に送信し、
前記制御部は、
前記受信部を介して前記左画像のデータ及び前記右画像のデータを前記３次元計測カメラから受信し、
前記左画像のデータ及び前記右画像のデータから視差画像データを生成し、
前記視差画像データから前記計測対象の３次元形状を表す点群データを生成する。
【０００８】
前記制御装置が備える前記制御部は、前記視差画像データの生成の際に、前記左画像内及び前記右画像内の相互に対応するエピポーラ線に沿って、前記左画像の位相値と前記右画像の位相値とが一致する点を求め、それらの点の横方向の位置の差を視差とする、
ようにしてもよい。
【０００９】
また、本発明の第２の観点に係る３次元計測カメラは、
集光レンズ結像方式により計測対象に画像を投影する投影部と、
前記投影部の左から前記計測対象を撮像する左撮像部と、
前記投影部の右から前記計測対象を撮像する右撮像部と、
前記左撮像部で撮像した左画像のデータ及び前記右撮像部で撮像した右画像のデータを外部の制御装置に送信する送信部と、
カメラ制御部と、
を備え、
前記カメラ制御部は、
前記投影部によりグレイコードパターン画像及び位相シフトパターン画像を前記計測対象に投影し、
前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を前記左撮像部及び前記右撮像部で撮像し、
前記送信部を介して前記撮像した前記左画像のデータ及び前記右画像のデータを前記制御装置に送信する。
【００１０】
前記カメラ制御部は、前記左撮像部及び前記右撮像部に対して、同時に撮像指示を出し、撮像して得られた同期した前記左画像のデータ及び前記右画像のデータを１つに結合して前記制御装置に送信する、
ようにしてもよい。
【００１１】
前記撮像した前記左画像のデータ及び前記右画像のデータを補正するためのデータテーブルであるレクティファイテーブルをさらに備え、
前記カメラ制御部は、前記撮像した前記左画像のデータ及び前記右画像のデータを、前記レクティファイテーブルを用いて補正し、補正後のデータを前記制御装置に送信する、
ようにしてもよい。
【００１２】
前記カメラ制御部は、
前記投影部により９０度ずつ位相をずらした４枚の位相シフトパターン画像を前記計測対象に投影し、
前記位相シフトパターン画像が投影された前記計測対象を前記位相シフトパターン画像の位相を９０度ずつずらして前記左撮像部及び前記右撮像部でそれぞれ４枚撮像し、
前記撮像した４枚の前記左画像のデータからピクセル毎の位相値を算出して左の位相画像データを生成し、
前記撮像した４枚の前記右画像のデータからピクセル毎の位相値を算出して右の位相画像データを生成し、
前記送信部を介して前記生成した前記左の位相画像データ及び前記右の位相画像データを前記制御装置に送信する、
ようにしてもよい。
【００１３】
前記カメラ制御部は、
前記投影部により規定枚数のグレイコードパターン画像を前記計測対象に投影し、
前記各グレイコードパターン画像が投影された前記計測対象を前記左撮像部及び前記右撮像部でそれぞれ前記規定枚数撮像し、
前記撮像した前記規定枚数の前記左画像のデータからピクセル毎のコード値を算出して左のコード画像データを生成し、
前記撮像した前記規定枚数の前記右画像のデータからピクセル毎のコード値を算出して右のコード画像データを生成し、
前記送信部を介して前記生成した前記左のコード画像データ及び前記右のコード画像データを前記制御装置に送信する、
ようにしてもよい。
【００１４】
また、本発明の第３の観点に係る３次元計測方法は、
グレイコードパターン画像及び位相シフトパターン画像を集光レンズ結像方式により計測対象に投影する投影ステップと、
前記投影ステップで前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を左撮像部及び右撮像部で撮像する撮像ステップと、
前記撮像ステップで前記左撮像部が撮像した左画像のデータ及び前記右撮像部が撮像した右画像のデータから視差画像データを生成する視差画像データ生成ステップと、
前記視差画像データ生成ステップで生成した視差画像データから前記計測対象の３次元形状を表す点群データを生成する点群データ生成ステップと、
を有する。
【００１５】
また、本発明の第４の観点に係るプログラムは、
コンピュータに、
グレイコードパターン画像及び位相シフトパターン画像を集光レンズ結像方式により計測対象に投影する投影ステップ、
前記投影ステップで前記グレイコードパターン画像が投影された前記計測対象及び前記位相シフトパターン画像が投影された前記計測対象を左撮像部及び右撮像部で撮像する撮像ステップ、
前記撮像ステップで前記左撮像部が撮像した左画像のデータ及び前記右撮像部が撮像した右画像のデータから視差画像データを生成する視差画像データ生成ステップ、及び、
前記視差画像データ生成ステップで生成した視差画像データから前記計測対象の３次元形状を表す点群データを生成する点群データ生成ステップ、
を実行させる。
【発明の効果】
【００１６】
本発明によれば、集光レンズ結像方式の投影部、複数の撮像部及び位相シフトパターンを用いることにより、単純化した構造で耐久性が高く、しかも高い精度で計測対象の形状を計測することができる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１に係る３次元計測システムの機能構成を示すブロック図である。
【図２】グレイコード画像データ及びコード画像データを説明する図である。
【図３】実施の形態１に係る３次元計測カメラの光学系（集光レンズ結像方式）の構造の一例を示す図である。
【図４】フライアイレンズ照明系の構造の一例を示す図である。
【図５】ミラーを２枚入れた集光レンズ結像方式の構造の一例を示す図である。
【図６】ミラーを１枚入れた集光レンズ結像方式の構造の一例を示す図である。
【図７】実施の形態１に係る３次元計測カメラの撮像処理のフローチャートである。
【図８】実施の形態１に係る制御装置の計測処理のフローチャートである。
【図９】ｕｎｗｒａｐ位相画像データから視差画像データを求める一例を説明する図である。
【図１０】実施の形態２に係る３次元計測カメラの撮像処理のフローチャートである。
【図１１】実施の形態２に係る制御装置の計測処理のフローチャートである。
【発明を実施するための形態】
【００１８】
（実施の形態１）
本発明の実施の形態１について図面を参照して詳細に説明する。
【００１９】
本実施の形態に係る３次元計測システム１０００は、図１に示すように、３次元計測カメラ１００と制御装置２００とを備え、３次元計測カメラ１００で撮影した計測対象の形状を計測する（具体的には計測対象を構成する点の３次元位置の集まり（点群）を取得する）システムである。
【００２０】
３次元計測カメラ１００は、図１に示すように、カメラ制御部１１０と、記憶部１２０と、通信部１３０と、投影部１４０と、左撮像部１５０と、右撮像部１６０と、を備える。制御装置２００は、図１に示すように、制御部２１０と、記憶部２２０と、通信部２３０と、入力部２４０と、出力部２５０と、を備える。
【００２１】
カメラ制御部１１０は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成され、３次元計測カメラ１００の各部を制御する。
【００２２】
記憶部１２０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等で構成される。記憶部１２０には、カメラ制御部１１０で各種処理を行うためのプログラム、投影部１４０から計測対象に投影する画像（投影画像）のデータ、後述するレクティファイテーブル等が予め記憶されている。また、記憶部１２０は、左撮像部１５０及び右撮像部１６０が撮像した画像データや、カメラ制御部１１０が演算処理等に使用するデータ等を記憶する。
【００２３】
上述したように、記憶部１２０には、投影画像のデータが記憶されているが、この投影画像には、全発光画像、全消灯画像、グレイコードパターン画像（７種類）、位相シフトパターン画像（４種類）の全部で１３種類の画像が存在する。
【００２４】
全発光画像は、全てのピクセルが最高明度の白である画像であり、この画像を投影すると投影部１４０は一種のフラッシュのように働く。全消灯画像は、全てのピクセルが最低明度の黒である画像であり、この画像を投影しても、投影部１４０は、何も投影していないのと同様になる。グレイコードパターン画像及び位相シフトパターン画像は、投影部１４０と撮像部（左撮像部１５０及び右撮像部１６０）のピクセルの対応関係を求めるために使用される。
【００２５】
グレイコードパターン画像（７種類）は、各ピクセルのｘ方向（横方向）に７ビットのグレイコードを割り当てて、そのグレイコードを１ビットずつ７種類のグレイコードパターン画像の１枚１枚に割り振った画像である。ここでは「各ピクセルにグレイコードを割り当てる」としたが、グレイコードで表現できる数値（７ビットの場合０から１２７まで）よりもｘ方向のピクセル数の方が多い場合には、隣り合うピクセルを複数集めてピクセル群にし、「ピクセル群にグレイコードを割り当てる」としてもよい。
【００２６】
また、本実施の形態ではグレイコードパターン画像を７種類（７枚）としたが、投影部１４０の備えるＤＭＤや、左撮像部１５０及び右撮像部１６０の備えるＣＭＯＳセンサのｘ方向のピクセル数に合わせて、ピクセル数が多いなら８種類（８枚）以上にしてもよいし、ピクセル数が少ないなら７種類（７枚）未満にしてもよい。ＤＭＤやＣＭＯＳセンサのピクセル数に応じて、グレイコードパターン画像の種類数（枚数）である規定枚数を設定すればよい。そして、規定枚数のグレイコードパターン画像から各ピクセルに割り当てられたグレイコードを復元した画像データを、本実施の形態ではコード画像データと呼ぶ。
【００２７】
例えば、図２に示すように、ｘ方向のピクセル数が８の場合は、グレイコードパターン画像の規定枚数は３枚でよい。そして、この３枚のグレイコードパターン画像の各ピクセルを枚数方向に重ね合わせて３ビットのグレイコードとして表現すると、図２に示すように、０から７までのコード値を持つコード画像データを得ることができる。
【００２８】
なお、図２では、白い部分を０、黒い部分を１に対応させ、１枚目をＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）、３枚目をＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）として表した場合である。白と黒のどちらを１に対応させるか、また、何枚目をＭＳＢやＬＳＢにするかは任意である。また、コード画像データの各ピクセルの値は、グレイコードそのものではなく、グレイコードに任意のバイアス値を加算したものにしてもよい。例えば、バイアス値として１００を加算することにすると、コード画像データの各ピクセルの値は１００から２２７までの値を取ることになる。
【００２９】
位相シフトパターン画像（４種類）は、ｘ方向（横方向）に、所定の周期のサイン波で輝度を変化させた画像であり、サイン波の位相を９０度ずつずらして４種類（４枚）用意したものである。輝度の値を何ビットで表現するかは任意であるが、本実施の形態では８ビットで表し、輝度の値は０から２５５までの値を取ることとする。
【００３０】
位相シフト法の原理から、この４枚の画像を撮像部で撮像し、ｎ枚目の各ピクセル（ｘ，ｙ）の輝度をＩｎ（ｘ，ｙ）で表すと、各ピクセル（ｘ，ｙ）における位相値φ（ｘ，ｙ）は、以下の式（１）で表すことができる。
φ（ｘ，ｙ）＝ｔａｎ−１（（Ｉ３（ｘ，ｙ）−Ｉ１（ｘ，ｙ））
／（Ｉ０（ｘ，ｙ）−Ｉ２（ｘ，ｙ）））  …（１）
【００３１】
ピクセル（ｘ，ｙ）に、式（１）によって求めた位相値φ（ｘ，ｙ）を割り当てたデータを、本実施の形態では位相画像データと呼ぶ。位相値φ（ｘ，ｙ）は、−π／２からπ／２の実数値を取るが、位相画像データの各ピクセルの値は位相値そのものではなく、位相値に任意のバイアス値を加算したものにしてもよい。例えば、バイアス値としてπ／２を加算することにすると、位相画像データの各ピクセルの値は０からπまでの値を取ることになる。
【００３２】
なお、本実施の形態では位相シフトパターン画像を４種類（４枚）としたが、サイン波の位相をずらす値を９０度以外にする場合は、それに応じて異なる枚数にしてもよい。例えば位相を１２０度ずつずらす場合には、位相シフトパターン画像は３種類（３枚）になる。
【００３３】
通信部１３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）アダプタ等で構成され、３次元計測カメラ１００と制御装置２００との間でデータ通信を行う。データ通信の一例として、通信部１３０は、左撮像部１５０及び右撮像部１６０が撮像した画像データを、制御装置２００に送信する。この例のように、画像データを制御装置２００に送信する際は、通信部１３０は、送信部として機能する。
【００３４】
投影部１４０は、投影デバイス（例えば、ＤＬＰ（Ｄｉｇｉｔａｌ  Ｌｉｇｈｔ  Ｐｒｏｃｅｓｓｉｎｇ）で用いられるＤＭＤ（Ｄｉｇｉｔａｌ  Ｍｉｒｒｏｒ  Ｄｅｖｉｃｅ））と、そのコントローラ（例えば、ＤＬＰＣ（Ｄｉｇｉｔａｌ  Ｌｉｇｈｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｃｏｎｔｒｏｌｌｅｒ））、マイクロコントローラ等で構成される。投影部１４０は、カメラ制御部１１０から投影画像のデータ及び投影タイミングのトリガを受けて、計測対象に投影画像を投影する。
【００３５】
左撮像部１５０は、投影部１４０の左に設置される撮像デバイス（例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサ）である。左撮像部１５０は、投影部１４０の左側から計測対象を撮像する。
【００３６】
右撮像部１６０は、投影部１４０の右に設置される撮像デバイス（例えばＣＭＯＳセンサ）である。右撮像部１６０は、投影部１４０の右側から計測対象を撮像する。左撮像部１５０と右撮像部１６０は、カメラ制御部１１０からの撮像指示により、同期が取れた撮像（同じタイミングでの撮像）を行うことができる。また、左撮像部１５０と右撮像部１６０のレンズ歪み補正を行ったり、左撮像部１５０と右撮像部１６０を疑似的に平行化したりするためのデータテーブルであるレクティファイテーブルが、記憶部１２０に記憶されている。
【００３７】
位相シフト法では、上述した位相シフトパターン画像等を投影する手段（プロジェクタ等）が必要となるので、本実施の形態に係る３次元計測カメラ１００は投影部１４０を備える。そして、投影部１４０は、図３に示すような光学系の構造を持っている。ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）１１から出力された光は、レンズ１２及びレンズ１３で集光され、コンデンサレンズ１４上で結像する。そして、コンデンサレンズ１４を通った光は、全反射プリズム１５でＤＭＤが搭載されたＤＬＰ基板１６の方に反射して、ＤＬＰ基板１６のＤＬＰ素子上にレンズ１２及びレンズ１３の合成レンズの像を投影する。投影された光はＤＬＰ素子で反射して、プロジェクタレンズ１７を通って出力される。このように集光レンズ（コンデンサレンズ１４）上で結像させているので、ここではこの光学系のことを集光レンズ結像方式と呼ぶ。集光レンズ結像方式では、ＬＥＤ１１からの光がコンデンサレンズ１４上で結像し、レンズ１２及びレンズ１３で構成される合成レンズの像がＤＬＰ素子上に投影されるため、照明ムラが少なくなるが、中央が明るく周辺が暗い照度分布になる。
【００３８】
これに対し、図４に示すようなフライアイ照明系では、ＬＥＤ１１から出力された光は、レンズ１２及びレンズ１３で集光された後に、フライアイレンズ１８を２枚透過することにより、照度ムラが打ち消されて、隅々まで明るい均一光を得ることができる。したがって、一般的なプロジェクタでは図４に示すようなフライアイ照明系が使われることが多い。しかし、フライアイ照明系では、２枚のフライアイレンズ１８を、照度ムラが打ち消されるように調整する必要があり、レンズの枚数も増えることから構造的にも複雑になり、振動や衝撃に弱く、また、サイズも大きくなってしまう。
【００３９】
しかし、本実施の形態で用いる位相シフト法はピクセル単位の輝度変化を用いてピクセル位相値を求めることから、本実施の形態に係る３次元計測カメラ１００では、投影部１４０が照射する光の全体均一性はあまり重要ではない。それよりも、低コストで振動等に強く、高輝度で高コントラストな光源であることが求められる。フライアイ照明系はフライアイレンズを２枚必要とするので構造が複雑で、しかもこの２枚のフライアイレンズの調整も煩雑な点で、集光レンズ結像方式より振動等に弱く、コストが高くなる。また、フライアイ照明系では、光がフライアイレンズを２枚透過するため、光の強さも集光レンズ結像方式より弱くなる。したがって、本実施の形態に係る３次元計測カメラ１００では、集光レンズ結像方式を用いる。また、構造を単純化、コンパクト化でき、耐久性を高くできる点でも、集光レンズ結像方式はフライアイ照明系よりも本実施の形態に適している。
【００４０】
なお、３次元計測カメラ１００の左撮像部１５０と右撮像部１６０は、図３に示すように、それぞれ、ＣＭＯＳ基板２１、カメラレンズホルダ２２及びカメラレンズ２３を備え、投影部１４０の左側と右側とに設置された構造になっている。
【００４１】
また、図５に示すように、コンデンサレンズ１４の前後にミラー１９を入れることにより、光学系をさらにコンパクトにすることもできる。この時、ミラー１９は必ずしも２枚入れる必要はなく、コンデンサレンズ１４の前又は後ろに１枚だけ入れてもよい。例えば、コンデンサレンズ１４の前に１枚のミラー１９を入れると、図６に示すような光学系になる。これらも全て、集光レンズ結像方式の一例である。
【００４２】
図１に戻り、制御部２１０は、ＣＰＵ等で構成され、記憶部２２０に記憶されているプログラムを実行することにより、各種演算処理を実行する。
【００４３】
記憶部２２０は、ＲＡＭ、ＲＯＭ等で構成される。記憶部２２０には、制御部２１０で各種処理を行うためのプログラム等が予め記憶されている。また、記憶部２２０は、３次元計測カメラ１００から受信したデータや、制御部２１０が演算処理等に使用するデータ等を記憶する。
【００４４】
通信部２３０は、ＬＡＮアダプタ等で構成され、３次元計測カメラ１００と制御装置２００との間でデータ通信を行う。データ通信の一例として、通信部２３０は、３次元計測カメラ１００から送信された画像データを受信する。この例のように、画像データを３次元計測カメラ１００から受信する際は、通信部２３０は、受信部として機能する。
【００４５】
入力部２４０は、キーボード、マウス、タッチパネル等で構成され、制御装置２００に対するユーザの指示を取得する。
【００４６】
出力部２５０は、液晶、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）等によるディスプレイを備え、計測対象の３次元形状を表す点群データの表示等を行う。
【００４７】
以上、３次元計測カメラ１００及び制御装置２００を含む３次元計測システム１０００の構成について説明した。
【００４８】
次に、３次元計測カメラ１００のカメラ制御部１１０が実行する撮像処理について、図７を参照して説明する。この撮像処理は、制御装置２００から、通信部１３０を介して撮像指示を受けると処理が開始される。以下の説明では、この時、制御装置２００は、投影部１４０から計測対象に投影する投影画像の種類を、３次元計測カメラ１００に送信するものとして説明する。もっとも、投影部１４０は上述した１３種類の投影画像を予め決められた順番（シーケンス）で投影するので、３次元計測カメラ１００の方で投影画像の種類を示すカウンタを持たせる等すれば、制御装置２００は投影画像の種類を３次元計測カメラ１００に送信しなくてもよい。
【００４９】
まず、カメラ制御部１１０は、制御装置２００から受信した投影画像の種類の画像を、投影部１４０から投影する（ステップＳ１０１）。ステップＳ１０１は投影ステップとも呼ばれる。ここで投影画像の種類は、上述した、全発光画像、全消灯画像、グレイコードパターン画像（７種類）、位相シフトパターン画像（４種類）の１３種類のいずれかである。
【００５０】
次に、カメラ制御部１１０は、左撮像部１５０及び右撮像部１６０で計測対象を同時に撮像する（ステップＳ１０２）。ステップＳ１０２は撮像ステップとも呼ばれる。そして、カメラ制御部１１０は、左撮像部１５０で撮像した画像データ（左画像データ）及び右撮像部１６０で撮像した画像データ（右画像データ）を記憶部１２０に保存する（ステップＳ１０３）。
【００５１】
次にカメラ制御部１１０は、記憶部１２０に記憶されているレクティファイテーブルを参照して、レクティファイを実行する（ステップＳ１０４）。レクティファイとは、撮像部のレンズの歪曲収差を補正したり、左右の撮像部を疑似平行化したりすることを言う。例えば、校正用画像データを左撮像部１５０で撮像して得られた画像を、元の校正用画像データに戻すための演算テーブルを算出すれば、それが左撮像部１５０用のレクティファイテーブル（左画像用レクティファイテーブル）になる。右撮像部１６０についても同様である。このようなレクティファイテーブルを予め記憶部１２０に用意しておき、ステップＳ１０４では、左画像データに対して左画像用レクティファイテーブルを適用し、右画像データに対して右画像用レクティファイテーブルを適用する。
【００５２】
そして、カメラ制御部１１０は、レクティファイ後の左画像データとレクティファイ後の右画像データを１つに結合して、通信部１３０を介して、制御装置２００に送信し（ステップＳ１０５）、撮像処理を終了する。
【００５３】
次に、上述した撮像処理をサブルーチン的に用いて、計測対象を構成する点群を取得する計測処理について、図８を参照して説明する。この処理は、入力部２４０にユーザが計測指示を入力すると開始する。
【００５４】
まず、制御部２１０は、投影画像の種類として、全発光画像を指定して、３次元計測カメラ１００に、撮像指示を送信する（ステップＳ２０１）。すると、３次元計測カメラ１００で上述の撮像処理が行われ、撮像した左画像及び右画像のデータが制御装置２００に送信される。そして、制御部２１０は、３次元計測カメラ１００から受信した左画像データを左の白画像データとして、右画像データを右の白画像データとして、それぞれ記憶部２２０に保存する（ステップＳ２０２）。なお、３次元計測カメラ１００の方で予め決められた投影画像のシーケンスを記憶している場合には、ステップＳ２０１で制御部２１０は、投影画像の種類を指定する必要はなく、撮像指示を送信するだけでよい。この場合、予め決められたシーケンスの最初の投影画像が全発光画像であり、以下、後述するように、全消灯画像、グレイコードパターン画像（７種類）、位相シフトパターン画像（４種類）が続く。
【００５５】
次に、制御部２１０は、投影画像の種類として、全消灯画像を指定して、３次元計測カメラ１００に、撮像指示を送信する（ステップＳ２０３）。すると、３次元計測カメラ１００で上述の撮像処理が行われ、撮像した左画像データ及び右画像データが制御装置２００に送信される。そして、制御部２１０は、３次元計測カメラ１００から受信した左画像データを左の黒画像データとして、右画像データを右の黒画像データとして、それぞれ記憶部２２０に保存する（ステップＳ２０４）。
【００５６】
次に、制御部２１０は、投影画像の種類として、グレイコードパターン画像の７種類を順次指定して、３次元計測カメラ１００に撮像指示し、３次元計測カメラ１００で撮像処理が行われて送信された左画像データ及び右画像データを、それぞれ左のグレイコード画像データ及び右のグレイコード画像データとして記憶部２２０に保存する（ステップＳ２０５）。制御部２１０は、グレイコードパターン画像の７枚を順次指定しては、３次元計測カメラ１００に撮像指示を出すので、左のグレイコード画像データ及び右のグレイコード画像データも、それぞれ７枚得られ、それらが記憶部２２０に保存される。
【００５７】
そして、制御部２１０は、左のグレイコード画像データからは左の黒画像データを減算し、右のグレイコード画像データからは右の黒画像データを減算し、左の黒画像データを減算した後の左のグレイコード画像データ７枚から左のコード画像データを生成し、右の黒画像データを減算した後の右のグレイコード画像データ７枚から右のコード画像データを生成する（ステップＳ２０６）。このステップでは、制御部２１０は、グレイコード画像データから黒画像データを減算した画像データを、各ピクセルが０又は１の画像データにする。例えば、制御部２１０は、判定閾値として、各ピクセルについて（白画像データ−黒画像データ）÷２を求めておき、各ピクセルについて（グレイコード画像データ−黒画像データ）がこの判定閾値より小さいか否かにより、そのピクセルの値を０又は１にする。そして、制御部２１０は、このような各ピクセルが０又は１になっているデータを７つ束ねることでコード画像データを生成する。
【００５８】
次に、制御部２１０は、投影画像の種類として、位相シフトパターン画像の４種類を順次指定して、３次元計測カメラ１００に撮像指示し、３次元計測カメラ１００で撮像処理が行われて送信された左画像データ及び右画像データを、それぞれ左の位相シフト画像データ及び右の位相シフト画像データとして記憶部２２０に保存する（ステップＳ２０７）。制御部２１０は、位相シフトパターン画像の４枚を順次指定しては、３次元計測カメラ１００に撮像指示を出すので、左の位相シフト画像データ及び右の位相シフト画像データも、それぞれ４枚得られ、それらが記憶部２２０に保存される。
【００５９】
そして、制御部２１０は、左の位相シフト画像データ４枚から左の位相画像データを生成し、右の位相シフト画像データ４枚から右の位相画像データを生成する（ステップＳ２０８）。位相画像データはラジアンで表されるので、通常は各ピクセルは浮動小数点型である。ただし、メモリの効率化、計算処理の高速化のために１６ビット整数化等して、整数や固定小数点の数として表してもよい。
【００６０】
次に、制御部２１０は、左のコード画像データと左の位相画像データから左のｕｎｗｒａｐ位相画像データを生成し、右のコード画像データと右の位相画像データから右のｕｎｗｒａｐ位相画像データを生成する（ステップＳ２０９）。位相画像データは周期的に同じ範囲（例えば０からπまで）の値が波状に繰り返されるデータになるが、このデータをコード画像データの情報を用いて、単調増加的なデータに変換したものがｕｎｗｒａｐ位相画像データである。
【００６１】
そして、制御部２１０は、左右のｕｎｗｒａｐ位相画像データから、視差画像データを生成する（ステップＳ２１０）。ステップＳ２１０は、視差画像データ生成ステップとも呼ばれる。ここで、視差画像データとは、左画像データを基準にした各ピクセルでの視差を値とするデータである。具体的には、左右のｕｎｗｒａｐ位相画像データ内の相互に対応するエピポーラ線（ｙ座標が一定の水平線になる）に沿って、左右のピクセル値（ｕｎｗｒａｐ位相値）が一致する一致点を求め、この一致点のｘ座標の左右の差（右のｕｎｗｒａｐ位相画像データ中の一致点のｘ座標−左のｕｎｗｒａｐ位相画像データ中の一致点のｘ座標）を、ピクセル（ｘ，ｙ）の値にしたデータである。
【００６２】
実際には、ｕｎｗｒａｐ位相画像データの各ピクセルの値（ｕｎｗｒａｐ後の位相値）は実数値であり、左右で値が一致することはあまりない。そこで、左右で値が一致しない場合には、右のｕｎｗｒａｐ位相画像データをピクセル間で内挿（場合によってはピクセル外に外挿）して、左のｕｎｗｒａｐ位相画像データの当該ピクセルの値に一致したであろう仮想的なｘ座標を算出し、その仮想的なｘ座標から、左のｕｎｗｒａｐ位相画像データのｘ座標を引くことによって視差画像データの当該ピクセル（ｘ，ｙ）の値を求める。
【００６３】
ｕｎｗｒａｐ位相画像データから視差画像データを求める場合の具体例を図９に示す。図９では、左撮像部１５０が撮像した画像データのうち一点鎖線３１に対応する部分のｕｎｗｒａｐ位相値を実線４１で表し、右撮像部１６０が撮像した画像データのうち一点鎖線３２に対応する部分のｕｎｗｒａｐ位相値を点線４２で表している。この例では、物体３３に投影部１４０からの光を投射すると影３４ができ、影３４の部分には投影部１４０からの光が到達しないため、グラフ上では左の光不達領域４３及び、右の光不達領域４４として間隙ができている。そして、視差４５で表される値が、視差画像データの値となる。
【００６４】
次に、制御部２１０は、視差画像データと、各撮像部のカメラパラメータに基づき、三角法の原理により各ピクセルの３次元位置を求めて点群データを生成する（ステップＳ２１１）。ステップＳ２１１は、点群データ生成ステップとも呼ばれる。そして、制御部２１０は、左の白画像データを計測対象のテクスチャ画像として、点群データに貼り付けて出力部２５０に表示し（ステップＳ２１２）、計測処理を終了する。
【００６５】
視差画像データから各ピクセルの３次元位置を求める方法について補足説明する。なお、ここでは、視差画像データの［ｘ，ｙ］座標の値（符号付き浮動小数点型）をｐａｒ［ｘ，ｙ］で表し、カメラパラメータから算出される同次座標系の４×４の透視変換行列をＱで表す。また、右肩のＴは転置を表す。そして、視差画像データの［ｘ，ｙ］座標のピクセルの３次元位置を３ｄＩｍａｇｅ［ｘ，ｙ］で表す。すると、
［Ｘ  Ｙ  Ｚ  Ｗ］Ｔ＝Ｑ×［ｘ  ｙ  ｐａｒ［ｘ，ｙ］  １］Ｔ
３ｄＩｍａｇｅ［ｘ，ｙ］＝（Ｘ／Ｗ，Ｙ／Ｗ，Ｚ／Ｗ）
となる。
【００６６】
以上の計測処理により、計測対象の形状がテクスチャとともに確認できる点群データが出力部２５０に表示される。この点群データの３次元位置は、位相シフト法を用いて算出しているので、撮像部が取得する画像のピクセルの大きさよりも細かい精度で求めることができる。
【００６７】
なお、単眼カメラとプロジェクタとで位相シフト法により３次元位置を計測する方法も知られているが、この方法では、単眼カメラとプロジェクタとの間のキャリブレーションを正確に行わないと、位相シフト法の特長である高精度での３次元位置計測ができない。しかし、単眼カメラとプロジェクタとの間のキャリブレーションはかなり煩雑である。
【００６８】
それに対し、本実施の形態では、左撮像部１５０と右撮像部１６０により、ステレオカメラが構成されており、この２つのカメラで撮像した画像から視差画像データを求めることによって３次元位置計測を行っているので、カメラとプロジェクタ（投影部１４０）との間のキャリブレーションは不要である。本実施の形態では、ステレオカメラのキャリブレーション（左撮像部１５０と右撮像部１６０の間のキャリブレーション）は必要だが、カメラ間のキャリブレーションは、用意したキャリブレーション板を左撮像部１５０と右撮像部１６０のカメラで同時に撮影した画像を複数セット用意することで精度良く行うことができ、カメラとプロジェクタとの間のキャリブレーションに比較すると格段に容易に行うことができる。したがって、本実施の形態では、煩雑なキャリブレーション不要で、位相シフト法による正確な３次元位置計測を行うことができる。
【００６９】
なお、上述の実施の形態１では、記憶部１２０にレクティファイテーブルが記憶されており、カメラ制御部１１０がレクティファイを実行した（ステップＳ１０４）。しかし、レクティファイテーブルが記憶部１２０ではなく、記憶部２２０に記憶されている実施の形態であってもよい。この場合、カメラ制御部１１０はレクティファイを実行せず（ステップＳ１０４は削除）、制御部２１０が、３次元計測カメラ１００から受信した画像データをレクティファイしてから記憶部２２０に保存することになる。
【００７０】
（実施の形態２）
上述の実施の形態１では、３次元計測カメラ１００は、記憶部１２０に記憶されている１３種類の投影画像に対応する撮像画像のデータを制御装置２００に送信する必要があった。このデータは、白画像データ、黒画像データ、グレイコード画像データ（７枚）及び位相シフト画像データ（４枚）で、それぞれ左右のデータがあるので、合計２６枚の画像データを送信する必要があった。３次元計測カメラ１００から制御装置２００に転送するデータ量が多くなるほど、計測に必要な時間が増え、また、データ転送失敗による再撮影が必要になる可能性も高くなる。これに対し、３次元計測カメラ１００の内部で、コード画像及び位相画像の生成まで行うようにすれば、制御装置２００に送信する画像データは左の白画像データ並びに左右のコード画像データ及び位相画像データだけでよくなり、合計５枚の画像データの送信だけで済む。そうすれば、転送データ量が削減され、データ転送時間も短縮され、データ転送エラーになる確率も低減される。このように、３次元計測カメラ１００でコード画像及び位相画像を生成する実施の形態２について、説明する。
【００７１】
実施の形態２に係る３次元計測システム１００１の構成は、実施の形態１に係る３次元計測システム１０００と同じであり、図１に示される。異なる点は、３次元計測カメラ１００が実行する撮像処理と、制御装置２００が実行する計測処理である。そこで、これらの処理について順次説明する。
【００７２】
まず、実施の形態２に係る３次元計測カメラ１００のカメラ制御部１１０が実行する撮像処理について、図１０を参照して説明する。この撮像処理は、制御装置２００から、通信部１３０を介して撮像指示を受けると処理が開始される。実施の形態１では、制御装置２００が、投影画像の種類の情報を送信する場合もあり得たが、実施の形態２では、制御装置２００は投影画像の種類の情報を送信しない３次元計測カメラ１００が自ら予め決められたシーケンスで各投影画像を順次投影していくからである。
【００７３】
まず、カメラ制御部１１０は、投影部１４０で全発光画像を投影する（ステップＳ１２１）。そして、カメラ制御部１１０は、左撮像部１５０及び右撮像部１６０で計測対象を撮像し、撮像して得られた画像データを（記憶部１２０に記憶されているレクティファイテーブルを参照して）レクティファイしてから、左画像データを左の白画像データとして、右画像データを右の白画像データとして、それぞれ記憶部１２０に保存する（ステップＳ１２２）。
【００７４】
次に、カメラ制御部１１０は、投影部１４０で全消灯画像を投影する（ステップＳ１２３）。そして、カメラ制御部１１０は、左撮像部１５０及び右撮像部１６０で計測対象を撮像し、撮像して得られた画像データをレクティファイしてから、左画像データを左の黒画像データとして、右画像データを右の黒画像データとして、それぞれ記憶部１２０に保存する（ステップＳ１２４）。
【００７５】
次に、カメラ制御部１１０は、投影部１４０でグレイコードパターン画像の７種類を順次投影し、左撮像部１５０及び右撮像部１６０で計測対象を撮像し、撮像して得られた左画像データ及び右画像データをレクティファイしてから、それぞれ左のグレイコード画像データ及び右のグレイコード画像データとして記憶部１２０に保存する（ステップＳ１２５）。カメラ制御部１１０は、グレイコードパターン画像の７枚を順次投影しては、左撮像部１５０及び右撮像部１６０で撮像するので、左のグレイコード画像データ及び右のグレイコード画像データも、それぞれ７枚得られ、それらが記憶部１２０に保存される。
【００７６】
そして、カメラ制御部１１０は、左のグレイコード画像データからは左の黒画像データを減算し、右のグレイコード画像データからは右の黒画像データを減算し、左の黒画像データを減算した後の左のグレイコード画像データ７枚から左のコード画像データを生成し、右の黒画像データを減算した後の右のグレイコード画像データ７枚から右のコード画像データを生成する（ステップＳ１２６）。
【００７７】
次に、カメラ制御部１１０は、投影部１４０で位相シフトパターン画像の４種類を順次投影し、左撮像部１５０及び右撮像部１６０で計測対象を撮像し、撮像して得られた左画像データ及び右画像データをレクティファイしてから、それぞれ左の位相シフト画像データ及び右の位相シフト画像データとして記憶部１２０に保存する（ステップＳ１２７）。カメラ制御部１１０は、位相シフトパターン画像の４枚を順次投影しては、左撮像部１５０及び右撮像部１６０で撮像するので、左の位相シフト画像データ及び右の位相シフト画像データも、それぞれ４枚得られ、それらが記憶部１２０に保存される。
【００７８】
そして、カメラ制御部１１０は、左の位相シフト画像データ４枚から左の位相画像データを生成し、右の位相シフト画像データ４枚から右の位相画像データを生成する（ステップＳ１２８）。位相画像データは単位がラジアンで表されるため、通常は各ピクセルの値を浮動小数点型（４バイト又は８バイト）で表す。ただし、転送データ量を減らすために、２バイト（１６ビット）固定小数点型で表したり、８ビットシフト（２５６倍）した２バイト表現の位相データ値として表してもよい。この場合、データを受信した制御装置２００側では、受信データを浮動小数点型に変換してから扱ってもよい。
【００７９】
そして、カメラ制御部１１０は、左の白画像データ、左のコード画像データ、右のコード画像データ、左の位相画像データ及び右の位相画像データを、通信部１３０を介して、制御装置２００に送信し（ステップＳ１２９）、撮像処理を終了する。
【００８０】
次に、上述した撮像処理を用いて、計測対象を構成する点群を取得する計測処理について、図１１を参照して説明する。この処理は、入力部２４０にユーザが計測指示を入力すると開始する。
【００８１】
まず、制御部２１０は、３次元計測カメラ１００に、撮像指示を送信する（ステップＳ２２１）。すると、３次元計測カメラ１００で上述の撮像処理が行われ、３次元計測カメラ１００から、制御装置２００に、レクティファイ後の白画像データ、左のコード画像データ、右のコード画像データ、左の位相画像データ及び右の位相画像データが送信される。そして、制御部２１０は、通信部２３０を介して、３次元計測カメラ１００から、レクティファイ後の左の白画像データ、左のコード画像データ、右のコード画像データ、左の位相画像データ及び右の位相画像データを受信し、記憶部２２０に保存する（ステップＳ２２２）。
【００８２】
次に、制御部２１０は、左のコード画像データと左の位相画像データから左のｕｎｗｒａｐ位相画像データを生成し、右のコード画像データと右の位相画像データから右のｕｎｗｒａｐ位相画像データを生成する（ステップＳ２２３）。ｕｎｗｒａｐ位相画像データについては実施の形態１で説明した通りである。
【００８３】
そして、制御部２１０は、左右のｕｎｗｒａｐ位相画像データから、視差画像データを生成する（ステップＳ２２４）。視差画像データも実施の形態１で説明した通りである。
【００８４】
次に、制御部２１０は、視差画像データと、各撮像部のカメラパラメータに基づき、各ピクセル毎の３次元位置を求めて点群データを生成する（ステップＳ２２５）。そして、制御部２１０は、左の白画像データを計測対象のテクスチャ画像として、点群データに貼り付けて出力部２５０に表示し（ステップＳ２２６）、計測処理を終了する。
【００８５】
以上の計測処理により、計測対象の形状がテクスチャとともに確認できる点群データが出力部２５０に表示される。この点群データの３次元位置は、位相シフト法を用いて算出しているので、撮像部が取得する画像のピクセルの大きさよりも細かい精度で求めることができる。しかも、３次元計測カメラ１００は、レクティファイ後の白画像データ、左のコード画像データ、右のコード画像データ、左の位相画像データ及び右の位相画像データのみを送信するので、実施の形態１に比較して、制御装置２００の負荷は軽く、また転送データ量が少ないため、転送データをロスして画像転送に失敗する確率も低くなる。
【００８６】
以上、実施の形態１及び実施の形態２について説明したが、本発明は、上記実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々の変更を行うことが可能である。
【００８７】
例えば、上述の実施の形態１では制御装置２００がコード画像の生成及び位相画像の生成を行い、上述の実施の形態２では３次元計測カメラ１００がコード画像の生成及び位相画像の生成を行っていたが、この２つの装置の間の処理の分担はこれに限定されるわけではない。例えば、３次元計測カメラ１００がコード画像の生成を行うが、位相画像の生成は制御装置２００が行うようにしてもよい。
【００８８】
また、上述の実施の形態２では、３次元計測カメラ１００は、撮像データを毎回レクティファイしてから記憶部１２０に保存していたが、記憶部１２０にはレクティファイ前の撮像データを保存し、レクティファイ前の画像データを用いてコード画像データ及び位相画像データを生成し、その最終的に得られたコード画像データ及び位相画像データに対してレクティファイを行うようにしてもよい。このようにすると、レクティファイを行う画像データの枚数を２６枚から５枚（左の白画像データ並びに左右のコード画像データ及び位相画像データ）に減らすことができる。
【００８９】
また、上述の実施の形態では、投影部１４０の照明系として、コスト面、調整の簡便さ、耐久性等の点から集光レンズ結像方式を用いたが、他の照明系（フライアイ照明系、クリティカル照明系）を用いてもよい。
【００９０】
なお、３次元計測カメラ１００のカメラ制御部１１０及び制御装置２００の制御部２１０の各機能は、通常のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のコンピュータによっても実施することができる。具体的には、上記実施の形態では、３次元計測カメラ１００のカメラ制御部１１０が行う撮像処理のプログラムが記憶部１２０のＲＯＭに、制御装置２００の制御部２１０が行う計測処理のプログラムが記憶部２２０のＲＯＭに、それぞれ予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｄｉｓｃ）、メモリカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の機能を実現することができるコンピュータを構成してもよい。
【００９１】
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。
【符号の説明】
【００９２】
１１…ＬＥＤ
１２，１３…レンズ
１４…コンデンサレンズ
１５…全反射プリズム
１６…ＤＬＰ基板
１７…プロジェクタレンズ
１８…フライアイレンズ
２１…ＣＭＯＳ基板
２２…カメラレンズホルダ
２３…カメラレンズ
３１，３２…一点鎖線
３３…物体
３４…影
４１…実線
４２…点線
４３，４４…光不達領域
４５…視差
１００…３次元計測カメラ
１１０…カメラ制御部
１２０，２２０…記憶部
１３０，２３０…通信部
１４０…投影部
１５０…左撮像部
１６０…右撮像部
２００…制御装置
２１０…制御部
２４０…入力部
２５０…出力部
１０００，１００１…３次元計測システム
【図１】
2020041822.tif 000003
【図２】
2020041822.tif 000004
【図３】
2020041822.tif 000005
【図４】
2020041822.tif 000006
【図５】
2020041822.tif 000007
【図６】
2020041822.tif 000008
【図７】
2020041822.tif 000009
【図８】
2020041822.tif 000010
【図９】
2020041822.tif 000011
【図１０】
2020041822.tif 000012
【図１１】
2020041822.tif 000013