(57)【要約】【課題】従来に比して、測定対象物の３次元点群データの再現性及び画像の明瞭性が高い３次元計測技術を提供する。【解決手段】測定対象物に対して、ハイブリッドパターンＰｈを有するパターン光を投影して３次元測定を行う。ハイブリッドパターンＰｈは、構造化光パターンＰｓにランダムパターンＰｒを重畳したものであり、ランダムパターンＰｒと構造化光パターンＰｓが相互干渉しないように、パターン配置されている。これにより、画像の明瞭性という点で優れた構造化光パターンと、３次元点群データの再現性という点で優れたランダムパターンの両方の利点を享受することが可能となる。【選択図】図５
2019086294.tif 000002
【特許請求の範囲】
【請求項１】
測定対象物の３次元形状を測定する３次元測定装置であって、
互いに区別可能な複数の種類のワードを２次元に配置した２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したパターン光を前記測定対象物に投影する投影部と、
前記パターン光が投影された前記測定対象物を撮像する、第１カメラ及び第２カメラを備えた撮像部と、
前記２次元符号化パターンを記憶するパターン記憶部と、
前記第１カメラまたは前記第２カメラによって撮像された撮像画像から対象画素を選別し、選別された前記対象画素ごとに、当該画素に写っているパターン光のワードを抽出し、抽出された前記ワード及び前記パターン記憶部に記憶された前記２次元符号化パターンに基づき、前記各対象画素の３次元位置を求める第１算出部と、
前記第１カメラ及び前記第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、前記基準画像から前記各ランダム片に対応した各特徴点を抽出し、抽出された前記各特徴点を用いて前記比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、前記各特徴点の３次りも”元位置を求める第２算出部と
を備える、３次元測定装置。
【請求項２】
前記第１カメラによって撮像された撮像画像と、前記第２カメラによって撮像された撮像画像について、前記投影部から前記測定対象物に投影される前記パターン光は同じパターン光である、請求項１に記載の３次元測定装置。
【請求項３】
前記各２次元符号化パターンには、前記複数のランダム片をそれぞれ重畳するための複数の矩形領域が設けられ、全ての前記ランダム片の大きさは、それぞれ前記矩形領域の大きさよりも小さく設定されている、請求項１または２に記載の３次元測定装置。
【請求項４】
前記第１カメラから前記投影部までの距離と、前記第２カメラから前記投影部までの距離は異なっている、請求項１から３のいずれか一項に記載の３次元測定装置。
【請求項５】
前記第１算出部は、前記各対象画素の３次元位置をあらわす３次元点群データを生成し、
前記第２算出部は、前記各特徴点の３次元位置をあらわす３次元点群データを生成し、
前記第１算出部によって生成された３次元点群データ及び前記第２算出部によって生成された３次元点群データを精緻化することで、最終点群データを生成する精緻化部をさらに備える、請求項１に記載の３次元測定装置。
【請求項６】
前記精緻化部は、前記第２算出部によって算出された前記３次元点群データを構成する点が、前記第１算出部によって算出された前記３次元点群データを構成するいずれかの点の近傍に位置すると判断した場合、前記第２算出部によって算出された前記３次元点群データを構成する点については第１の重みで重み付けを行う一方、前記第１算出部によって算出された前記３次元点群データを構成するいずれかの点については前記第１の重みよりも大きい第２の重みで重み付けを行ってフィルタリングを行うことで、前記精緻化を行う請求項５に記載の３次元測定装置。
【請求項７】
前記第１算出部は、
前記第１カメラによって撮像された撮像画像から対象画素を選別し、選別された前記対象画素ごとに、当該画素に写っているパターン光のワードを抽出し、抽出された前記ワード及び前記パターン記憶部に記憶された前記２次元符号化パターンに基づき、前記各対象画素の３次元位置を求める第１補助算出部と、
前記第２カメラによって撮像された撮像画像から対象画素を選別し、選別された前記対象画素ごとに、当該画素に写っているパターン光のワードを抽出し、抽出された前記ワード及び前記パターン記憶部に記憶された前記２次元符号化パターンに基づき、前記各対象画素の３次元位置を求める第２補助算出部と、を備える請求項１から６のいずれか一項に記載の３次元測定装置。
【請求項８】
測定対象物の３次元形状を測定する３次元測定方法であって、
互いに区別可能な複数の種類のワードを２次元に配置した２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したハイブリッドパターンのパターン光を前記測定対象物に投影する投影ステップと、
第１カメラ及び第２カメラを備えた撮像部により、前記パターン光が投影された前記測定対象物を撮像する撮像ステップと、
前記第１カメラまたは前記第２カメラによって撮像された撮像画像から対象画素を選別し、選別された前記対象画素ごとに、当該画素に写っているパターン光のワードを抽出し、抽出された前記ワード及び記憶部に記憶された前記２次元符号化パターンに基づき、前記各対象画素の３次元位置を求める第１算出ステップと、
前記第１カメラ及び前記第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、前記基準画像から前記各ランダム片に対応した各特徴点を抽出し、抽出された前記各特徴点を用いて前記比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、前記各特徴点の３次元位置を求める第２算出ステップと
を含む、３次元測定方法。
【請求項９】
２次元符号化パターンを記憶した記憶部と、第１カメラ及び第２カメラを備えた撮像部を備えたコンピュータに、測定対象物の３次元形状を測定させるためのプログラムであって、
前記コンピュータに、
互いに区別可能な複数の種類のワードを２次元に配置した前記２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したハイブリッドパターンのパターン光を前記測定対象物に投影する投影ステップと、
前記撮像部により前記パターン光が投影された前記測定対象物を撮像する撮像ステップと、
前記第１カメラまたは前記第２カメラによって撮像された撮像画像から対象画素を選別し、選別された前記対象画素ごとに、当該画素に写っているパターン光のワードを抽出し、抽出された前記ワード及び記憶部に記憶された前記２次元符号化パターンに基づき、前記各対象画素の３次元位置を求める第１算出ステップと、
前記第１カメラ及び前記第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、前記基準画像から前記各ランダム片に対応した各特徴点を抽出し、抽出された前記各特徴点を用いて前記比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、前記各特徴点の３次元位置を求める第２算出ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン光を投影して測定対象物の３次元位置を測定する３次元測定技術に関する。
【背景技術】
【０００２】
測定対象物の３次元形状を測定する手法として能動型計測（アクティブ計測）が知られている。能動型計測では、測定対象物にパターン光を投影した状態で撮影を行い、撮影された画像上でのパターンの位置から、三角測量の原理を用いて測定対象物の３次元形状（各画素の３次元位置）を求める。
【０００３】
能動型計測の中でも、１枚の画像のみから３次元形状を測定可能なワンショットアクティブ形状計測は、１枚の画像のみを利用するのでリアルタイム計測が可能になる等の理由から、有益な技術として注目されている。
【０００４】
ワンショットアクティブ形状計測を行う方法として、構造化光パターンを用いる方法が知られている。構造化光パターンを用いる方法では、測定対象物にパターン光を投影した状態で撮像を行い、撮像された画像上でのパターンの位置から測定対象物の３次元形状を求める。構造化光パターンを用いる方法は、高精度（特に近距離において）、広い視野、安価なコストという利点がある。
【０００５】
構造化光パターンを用いる方法の一例として、非特許文献１には、空間的な符号化（コード化）がなされたパターン光を用いる方法が開示されている。非特許文献１における２次元パターンは、プリミティブと称されるパターン構成要素が２次元的に敷き詰められた構造を有する。複数のプリミティブを含むウィンドウ（例えば２×３のプリミティブからなる）は、当該ウィンドウに含まれる複数のプリミティブによって特定できる。したがって、撮像画像からプリミティブの並びを検出することで、３次元位置を算出することができる。
【０００６】
一方、受動型計測（パッシブ計測）として、２台のカメラ（いわゆるステレオカメラ）を用いて測定対象物の３次元形状を求める方法が知られている。ステレオカメラを用いる方法では、カメラを左右に配置して測定対象物を同時に撮像し、得られた画像から対応する画素の対、すなわち対応点を探索し、左右画像の対応点同士が左右方向にどれだけ離れているか（すなわち、視差）を求め、この視差に三角測量の原理を用いて、得られた画像の各画素の３次元位置を算出する方法（ステレオ方式による３次元計測法）が利用される。
【０００７】
しかしながら、ステレオ方式による３次元計測法では、測定精度が測定対象物の表面のテクスチャに直接的な影響を受けるため、テクスチャが少ない平坦な面や反射面では、対応点の検出や３次元位置の計算が非常に困難となる。
【０００８】
このような問題を解消するために、ステレオカメラと１台のプロジェクタを用いて、プロジェクタからパターン光を投射し、計測対象物の表面にテクスチャを与え、テンプレートマッチングを行うことで、対応点の検出や３次元位置の計算の精度を向上させる方法が提案されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】P. Vuylsteke and A. Oosterlinck, Range Image Acquisition with a Single Binary-Encoded Light Pattern, IEEE PAMI 12(2), pp. 148-164, 1990.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、非特許文献１に開示されている構造化光パターンを用いた方法では、測定対象物に符号化パターンを有するパターン光が投射されるため、測定対象物が小さいと、測定対象物の撮像画像に写っているパターン光の符号を、精度よく復号化（デコード）するのが難しく、測定対象物の３次元形状を復元した点群（以下、「３次元点群データ」ともいう）の再現性が低いという問題がある。
【００１１】
この点、ステレオカメラを用いた方法では、パターン光の投影によって得られるテクスチャは、対応点の探索のために用いられ、パターン光の符号をデコードするといった処理は必要ない。このため、測定対象物が小さくても、ステレオカメラを用いた場合の３次元点群データの再現性は、構造化光パターンを用いた場合の３次元点群データの再現性と比較して高い。
【００１２】
しかしながら、ステレオカメラを用いた方法では、３次元点群データの精度が低いために、得られる画像は不明瞭なものとなる。図１４は、ステレオカメラを用いた場合の画像の明瞭性と、構造化光パターンを用いた場合の画像の明瞭性を比較した図である。
【００１３】
図１４に示すように、ステレオカメラを用いた方法では、構造化光パターンを用いた場合よりも３次元点群データの精度が低いために、構造化光パターンを用いた場合の画像に比べて画像の明瞭性は低い。
【００１４】
本発明は以上説明した事情を鑑みてなされたものであり、従来に比して、測定対象物の３次元点群データの再現性及び画像の明瞭性が高い３次元計測技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一態様に係る３次元測定装置は、測定対象物の３次元形状を測定する３次元測定装置であって、互いに区別可能な複数の種類のワードを２次元に配置した２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したハイブリッドパターンのパターン光を測定対象物に投影する投影部と、パターン光が投影された測定対象物を撮像する、第１カメラ及び第２カメラを備えた撮像部と、２次元符号化パターンを記憶するパターン記憶部と、第１カメラまたは第２カメラによって撮像された撮像画像から対象画素を選別し、選別された対象画素ごとに、画素に写っているパターン光のワードを抽出し、抽出されたワード及びパターン記憶部に記憶された２次元符号化パターンに基づき、各対象画素の３次元位置を求める第１算出部と、第１カメラ及び第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、基準画像から各ランダム片に対応した各特徴点を抽出し、抽出された各特徴点を用いて比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、各特徴点の３次元位置を求める第２算出部とを備える。
【００１６】
上記構成によれば、測定対象物に対して、ハイブリッドパターンを有するパターン光を投影して３次元測定を行う。ここで、ハイブリッドパターンは、互いに区別可能な複数の種類のワードを２次元に配置した２次元符号化パターン（すなわち、構造化光パターン）にランダムパターンを重畳したものであり、ランダムパターンと構造化光パターンが相互干渉しないように、パターン配置されている。これにより、構造化光パターンとランダムパターンの両方の利点を享受し得る。すなわち、画像の明瞭性という点で優れた構造化光パターンと、３次元点群データの再現性という点で優れたランダムパターンの両方の利点を享受することが可能となる。
【００１７】
本発明の他の態様に係る３次元測定方法は、測定対象物の３次元形状を測定する３次元測定方法であって、互いに区別可能な複数の種類のワードを２次元に配置した２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したハイブリッドパターンのパターン光を測定対象物に投影する投影ステップと、第１カメラ及び第２カメラを備えた撮像部により、パターン光が投影された測定対象物を撮像する撮像ステップと、第１カメラまたは第２カメラによって撮像された撮像画像から対象画素を選別し、選別された対象画素ごとに、画素に写っているパターン光のワードを抽出し、抽出されたワード及び記憶部に記憶された２次元符号化パターンに基づき、各対象画素の３次元位置を求める第１算出ステップと、第１カメラ及び第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、基準画像から各ランダム片に対応した各特徴点を抽出し、抽出された各特徴点を用いて比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、各特徴点の３次元位置を求める第２算出ステップとを含む。
【００１８】
本発明の他の態様に係るプログラムは、２次元符号化パターンを記憶した記憶部と、第１カメラ及び第２カメラを備えた撮像部を備えたコンピュータに、測定対象物の３次元形状を測定させるためのプログラムであって、コンピュータに、互いに区別可能な複数の種類のワードを２次元に配置した前記２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したハイブリッドパターンのパターン光を測定対象物に投影する投影ステップと、撮像部によりパターン光が投影された測定対象物を撮像する撮像ステップと、第１カメラまたは第２カメラによって撮像された撮像画像から対象画素を選別し、選別された対象画素ごとに、画素に写っているパターン光のワードを抽出し、抽出されたワード及び記憶部に記憶された２次元符号化パターンに基づき、各対象画素の３次元位置を求める第１算出ステップと、第１カメラ及び第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、基準画像から前記各ランダム片に対応した各特徴点を抽出し、抽出された各特徴点を用いて比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、各特徴点の３次元位置を求める第２算出ステップとを実行させる。
【発明の効果】
【００１９】
本発明によれば、従来に比して、測定対象物の３次元点群データの再現性及び画像の明瞭性が高い３次元計測技術を提供することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】３次元測定システムの全体構成を示す図である。
【図２】ハイブリッドパターンを例示した図である。
【図３】投影部と撮像部の位置関係を例示した図である。
【図４】３次元点群データを精緻化する方法を説明するための図である。
【図５】ハイブリッドパターンの生成方法を説明するための図である。
【図６】構造化光パターンに対するランダムパターンの重畳の影響を説明するための図である。
【図７Ａ】構造化光パターンを例示した図である。
【図７Ｂ】構造化光パターンを用いた３次元計測の原理を説明するための図である。
【図８】（Ａ）〜（Ｅ）は、プリミティブを説明するための図である。
【図９】（Ａ）及び（Ｂ）は、複数のプリミティブから構成されるワードを説明するための図である。
【図１０】ハイブリッドパターンの設計方法の流れを示すフローチャートである。
【図１１】他のハイブリッドパターンの設計方法を説明するための図である。
【図１２】３次元測定システムによって実行されるハイブリッドパターンを用いた３次元測定の処理を示すフローチャートである。
【図１３】精緻化処理を示すフローチャートである。
【図１４】画像の明瞭性の比較例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施形態について詳細に説明する。本実施形態に係る３次元測定システムは、測定対象物にパターン光を投影して撮影を行い、三角測量の原理を用いて測定対象物の３次元形状を測定する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００２２】
Ａ．本実施形態
[構成]
図１は、本実施形態に係る３次元測定システム１０００の構成を示す図である。
３次元測定システム１０００は、投影部１００、撮像部２００、コンピュータ３００を備えて構成される。本実施形態に係る３次元測定システム１０００は、構造化光パターンを用いて測定対象物の３次元位置を求めるシステム（以下、「構造化光システム」ともいう。）と、ステレオカメラを用いて測定対象物の３次元位置を求めるシステム（以下、「ステレオカメラシステム」ともいう。）を融合したハイブリッド３次元測定システムである。
【００２３】
投影部１００は、本実施形態に特徴的なハイブリッドパターンを有するパターン光を投影する装置である。投影部１００は、レーザ光源１１０と、パターンマスク１２０と、レンズ１３０とを備えている。レーザ光源１１０から出射された光は、パターンマスク１２０によってハイブリッドパターンを有するパターン光に変換され、レンズ１３０を介して外部に投影される。
【００２４】
レーザ光源１１０は、例えば複数のＬＥＤ素子からなるＬＥＤモジュールを備えて構成される。レーザ光源１１０が生成するレーザ光の波長は特に限定されず、例えば赤外光、可視光、紫外光などを用いることができる。
【００２５】
パターンマスク１２０は、構造化光パターンとランダムパターンとを組み合わせてハイブリッドパターンを形成したパターンマスクである。図２にハイブリッドパターンＰｈ（hybrid pattern）の例を示す。もっとも、パターンマスク１２０によってハイブリッドパターンＰｈを形成する代わりに、構造化光パターンとランダムパターンとの２つに分けて、それぞれのパターン光を個別に測定対象物に投影することでハイブリッドパターンを形成する方法でも構わない。なお、構造化光パターンＰｓ（structured light pattern）とランダムパターンＰｒ（random pattern）の役割等については後に詳述することとし、説明を続ける。
【００２６】
ここで、投影部１００は、上記構成に限定する趣旨ではなく、一般的なプロジェクタを利用してもよい。この場合、ハイブリッドパターンを形成するパターンマスク１２０をプロジェクタ本体に保存等して対応すればよい。
【００２７】
撮像部２００は、投影部１００によるパターン光が投影された物体（測定対象物）を撮像するものであり、第１カメラ２１０及び第２カメラ２２０を備えて構成される。第１カメラ２１０及び第２カメラ２２０は、例えば、撮像素子、レンズ、レンズ駆動素子などから構成されるカメラモジュールである。撮像素子としては、例えばＣＭＯＳセンサやＣＣＤセンサなどが用いられ、投影部１００が投影するパターン光の波長を検出できるものが選択される。
【００２８】
第１カメラ２１０及び第２カメラ２２０の画素サイズや設置位置は、計測対象物のサイズや要求される計測精度に基づき、適宜選択・設定される。図３は、投影部１００と第１カメラ２１０と第２カメラ２２０の位置関係を例示した図である。
【００２９】
図３に示すように、投影部（Ｐ）１００は、第１カメラ（Ｃ１）２１０と第２カメラ（Ｃ２）２２０との間に設置されている。かかる構成により、測定対象物をそれぞれ異なる視覚方向から見た２つの構造化光システムと、１つのステレオカメラシステムが形成される。すなわち、投影部１００と第１カメラ２１０によって第１の構造化光システム（Ｃ１＋Ｐ）が形成され、投影部１００と第２カメラ２２０によって第２の構造化光システム（Ｃ２＋Ｐ）が形成される一方、第１カメラ２１０と第２カメラ２２０によってステレオカメラシステム（Ｃ１＋Ｃ２）が形成される。図３に示す例では、第１カメラ２１０と投影部１００との間の距離（第１ベースライン）Ｌ１は、第２カメラ２２０と投影部１００との間の距離（第２ベースライン）Ｌ２よりも長く設定されているが、第１ベースラインＬ１と第２ベースラインＬ２は同一長さであってもよい。また、第１カメラ２１０、第２カメラ２２０、投影部１００の配置をそれぞれ入れ替えてもよい。さらには、２Ｄカメラを１つ追加し、２Ｄカメラによって可視光のみを撮影する一方、第１カメラ（Ｃ１）２１０と第２カメラ（Ｃ２）２２０によって、投影部１００から出射される不可視光のみを撮影するようにしてもよい。
【００３０】
コンピュータ３００は、ＣＰＵ（中央演算処理装置）などのプロセッサ、ワークメモリとして用いられるＲＡＭやＲＯＭなどの主記憶装置、ハードディスクなどの補助記憶装置、キーボードや種々のポインティングデバイス（マウス、タッチパッド、タッチパネルなど）やマイクなどの入力装置、ディスプレイ装置（液晶ディスプレイなど）やスピーカなどの出力装置、有線通信や無線通信を行うための通信装置などを含んで構成される汎用コンピュータ（情報処理装置）として構成される。コンピュータ３００は、プロセッサが補助記憶装置等に格納されたコンピュータプログラムを読み込むことで、各種処理を実行する。このようなプログラムは、メモリカードや光ディスクなどのコンピュータ読取可能な記録媒体に格納された状態か、インターネットなどを通じて提供される。なお、本実施形態に係るプログラムは単体のアプリケーションプログラムとして提供されてもよいし、他のプログラムの一部に組み込まれるモジュールとして提供されてもよい。また、そのプログラムによって実行される処理の一部又は全部をＡＳＩＣなどの専用回路で実行してもよい。
【００３１】
コンピュータ３００は、プロセッサが補助記憶装置等に格納されたプログラムを読み込み、実行することで、制御部３１０、画像入力部３２０、３次元処理部３３０、精緻化部３４０として動作する。
【００３２】
制御部３１０は、３次元測定システム１０００全体を中枢的に制御し、特に、投影部１００によるハイブリッドパターンのパターン光の投影、撮像部２００による撮像、及び撮像画像に基づく３次元位置の測定などを制御する。
【００３３】
画像入力部３２０は、第１カメラ２１０及び第２カメラ２２０によって撮像される画像を入力し、撮像画像としてメモリに記憶する。なお、制御部３１０は、第１カメラ２１０及び第２カメラ２２０による撮像タイミングが一致する（すなわち同期する）ように、タイミング制御回路（図示略）から第１カメラ２１０及び第２カメラ２２０に同期信号を送信する。説明の便宜上、以下では第１カメラ２１０で撮像した画像を第１キャプチャ画像Ｉｍｇ１と呼び、第２カメラ２２０で撮像した画像を第２キャプチャ画像Ｉｍｇ２と呼ぶ。
【００３４】
３次元処理部３３０は、第１の３次元点群データ生成部３３１、第２の３次元点群データ生成部３３２、第３の３次元点群データ生成部３３３、パターン記憶部３３４を備えている。３次元処理部３３０は、画像入力部３２０から供給される第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２に基づき、以下（１）〜（３）に示す３種類の３次元点群データを生成する。なお、（１）及び（２）は、構造化光パターンＰｓを利用して３次元点群データを生成するモードであり、（３）は、ランダムパターンＰｒを利用して３次元点群データを生成するモードである。本実施形態では、以下（１）〜（３）をすべて同時に利用して３次元点群データを生成する融合モードを想定するが、構造化光パターンＰｓのみを利用して３次元点群データを生成してもよく、またランダムパターンＰｒのみを利用して３次元点群データを生成してもよい。
【００３５】
（１）第１の３次元点群データ生成部３３１は、投影部１００と第１カメラ２１０から構成された第１の構造化光システム（Ｃ１＋Ｐ）を利用して、第１キャプチャ画像Ｉｍｇ１に基づき３次元点群データＲ１を生成する。
（２）第２の３次元点群データ生成部３３２は、投影部１００と第２カメラ２２０から構成された第２の構造化光システム（Ｃ２＋Ｐ）を利用して、第２キャプチャ画像Ｉｍｇ２に基づき３次元点群データＲ２を生成する。
（３）第３の３次元点群データ生成部３３３は、第１カメラ２１０と第２カメラ２２０から構成されたステレオカメラシステム（Ｃ１＋Ｃ２）を利用して、第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２に基づき３次元点群データＲ３を生成する。
【００３６】
なお、第１の３次元点群データ生成部３３１〜第３の３次元点群データ生成部３３３によって生成される３次元点群データＲ１〜Ｒ３の詳細は後述する。
【００３７】
精緻化部３４０は、３次元処理部３３０から供給される３種類の３次元点群データＲ１〜Ｒ３を精緻化することで、最終点群データＲｆを生成する。３次元点群データを精緻化する方法としては、例えば図４に示すような方法が挙げられる。
【００３８】
図４のαは、第１の構造化光システム（Ｃ１＋Ｐ）及び第２の構造化光システム（Ｃ２＋Ｐ）によって生成された精緻化前の測定対象物（図４では中空円板）Ｗの３次元点群データＲ１及びＲ２を示し、図４のβは、ステレオカメラシステム（Ｃ１＋Ｃ２）によって生成された精緻化前の測定対象物Ｗの３次元点群データＲ３を示し、図４のγは、精緻化後の測定対象物Ｗの最終点群データＲｆを示す。前述したように、測定対象物Ｗが小さい場合には、構造化光システムを用いて得られる３次元点群データの再現性は低くなり、図４に示す例では、構造化光システムによって生成された３次元点群データＲ１及びＲ２のうち、測定対象物Ｗの内周の境界部分Ｂ１の３次元点群データＲ１及びＲ２（図４のαに示す破線枠参照）の再現性が低くなる。そこで、測定対象物Ｗの内周の境界部分Ｂ１については、構造化光システムによって生成された３次元点群データＲ１及びＲ２に、ステレオカメラシステムを用いて得られた３次元点群データＲ３（図４のβに示す実線枠参照）を重畳することで、３次元点群データを精緻化し、最終点群データＲｆを生成する。精緻化部３４０は、生成した最終点群データＲｆを３次元マップのメモリへの記憶、または外部装置への出力を行う。なお、図４に示す方法は、３次元点群データを精緻化する一例にすぎず、測定対象物の形状、大きさなどに応じて適宜設定・変更可能である。
【００３９】
[ハイブリッドパターンの概要]
本実施形態に係るハイブリッドパターンＰｈは、構造化光パターンＰｓにランダムパターンＰｒを重畳したものであり（図２参照）、構造化光パターンＰｓとランダムパターンＰｒの両方の利点を享受し得る。詳述すると、３次元点群データの精度（accuracy）、すなわち画像の明瞭性という点では、測定対象物Ｗに構造化光パターンＰｓを投影した場合の方が、測定対象物ＷにランダムパターンＰｒを投影した場合よりも高く、構造化光パターンＰｓに利点があるのに対し、測定対象物Ｗが小さい場合の３次元点群データの再現性（reconstruction ability to small areas）という点では、測定対象物ＷにランダムパターンＰｒを投影した場合の方が、測定対象物に構造化光パターンＰｓを投影した場合よりも高く、ランダムパターンＰｒに利点がある。これら両方の利点を享受することを目的としたのがハイブリッドパターンＰｈである。
【００４０】
図５は、ハイブリッドパターンＰｈの生成方法を説明するための図であり、図５のＡは、ハイブリッドパターンＰｈを構成する構造化光パターンＰｓの一部を拡大したパターン図、図５のＢは、ハイブリッドパターンＰｈを構成するランダムパターンＰｒの一部であるランダム片Ｐｒｐを表した図、図５のＣは、構造化光パターンＰｓにランダムパターンＰｒを重畳することで生成したハイブリッドパターンＰｈの一部を拡大したパターン図を示す。なお、図５において、パターンの黒色部分は光が照射されていることを示し、パターンの白色部分は光が照射されていないことを示すが、これは逆であってもよい。
【００４１】
本実施形態では、構造化光パターンＰｓを構成するバウンディングボックス（後述する「ビット」に対応）Ｂｂに重ならないように位置する矩形領域Ａｎａ（図５のＡ参照）に、ランダムパターンＰｒを構成するランダム片Ｐｒｐ（図５のＢ参照）を重畳することで、ハイブリッドパターンＰｈを生成する（図５のＣ参照）。
【００４２】
ここで、ランダム片Ｐｒｐのサイズ（大きさ）は、常に、構造化光パターンにおける矩形領域Ａｎａのサイズ（大きさ）よりも小さくなるように設定されている。このようなサイズのランダム片Ｐｒｐを、バウンディングボックスＢｂに重ならないように位置する矩形領域Ａｎａ内に重畳することで、ランダム片Ｐｒｐによって構成されるランダムパターンＰｒと、構造化光パターンＰｓの干渉（すなわちパターンの相互干渉）を防いでいる。なお、このような干渉を防ぐため、ランダム片Ｐｒｐは矩形領域Ａｎａ内に重畳することが望ましいが、構造化光パターンの特徴点の検出に及ぼす影響が小さい範囲内で、ランダム片Ｐｒｐが矩形領域Ａｎａ以外の領域に重畳しても構わない。
【００４３】
なお、図５のＢに示すように、各ランダム片Ｐｒｐは、ドットや、線、曲線などを適宜組み合わせたものを利用することができる。また、各矩形領域Ａｎａには、それぞれ異なるユニークなランダム片Ｐｒｐが重畳されている。これにより、各ランダム片Ｐｒｐを一意に特定することが可能となる。また、各ランダム片Ｐｒｐと、各ランダム片Ｐｒｐが重畳される各矩形領域Ａｎａは、白黒反転するように設定される。例えば、黒色の矩形領域Ａｎａにランダム片Ｐｒｐが重畳される場合、重畳されるランダム片Ｐｒｐは白色に設定される一方、白色の矩形領域Ａｎａにランダム片Ｐｒｐが重畳される場合には、重畳されるランダム片Ｐｒｐは黒色に設定される（図５のＣ参照）。
【００４４】
図６は、構造化光パターンＰｓに対するランダムパターンＰｒの重畳の影響を説明する
ための図である。図６のＡは、構造化光パターンＰｓを示し、図６のＢは、構造化パターンＰｓにランダムパターンＰｒが重畳されたハイブリッドパターンＰｈを示している。なお、図６のＡでは、フィルタ処理の対象領域を実線で示し、所定量（例えば２０画素分）だけシフトした後の対象領域を破線で示す。図６のＢでは、フィルタ処理の対象領域を実線で示す。
また、図６のＣは、コンボリューション行列（二次元畳み込み行列）を用いたフィルタの一例を示している。ここで、図６のＤは、図６のＣに示すフィルタを１画素ずつ右方向にシフトさせたときの、構造化光パターンＰｓのフィルタ後の対象領域の畳み込み演算結果（畳み込み値）の変化を示す一方、図６のＥは、図６のＣに示すフィルタを同様に１画素ずつ右方向にシフトさせたときの、ハイブリッドパターンＰｈのフィルタ後の対象領域の畳み込み演算結果（畳み込み値）の変化を示している。なお、図６のＤ及び図６のＥでは、畳み込み演算結果のピーク値（最大値）とバレー値（最小値）をそれぞれ四角で囲っている。
ここで、図６のＡにおけるフィルタ処理の対象領域が実線で示した領域のときの畳み込み演算結果は、図６のＤに示すピーク値となる。この状態で図６のＣに示すフィルタを１画素ずつ右方向にシフトすると、畳み込み演算結果は、図６のＤにあるように減少していく。最終的にフィルタを２０画素分だけ右側にシフトすると、図６のＡにおけるフィルタ処理の対象領域は破線で示した領域となり、このときの畳み込み演算結果は、図６のＤに示すバレー値となる。このように、フィルタの対象領域がシフトすると、フィルタ後の対象領域の畳み込み演算結果のピーク値が減少するか、またはバレー値が増大し、ピーク値とバレー値の関係が大きく崩れてしまい、測定対象物の撮像画像から抽出される特徴点の検出に大きな影響を及ぼす。
これに対し、フィルタ処理の対象領域はそのままで、構造化パターンＰｓにランダムパターンＰｒを重畳した場合には、図６のＤと図６のＥを比較して明らかなように、対象領域の畳み込み演算結果に多少の変化はみられるものの、畳み込み演算結果のピーク値とバレー値の関係が大きく崩れることはない。このため、構造化パターンＰｓにランダムパターンＰｒを重畳しても、構造化光パターンＰｓだけを用いた場合に対して、特徴点の検出に及ぼす影響はほとんどないと言える。
なお、本願発明者らは、構造化光パターンＰｓに対するランダムパターンＰｒの重畳の影響が小さいことを確かめるために、本実施形態に係るハイブリッドパターンＰｈ（すなわち、構造化光パターンＰｓにランダムパターンＰｒを重畳したもの）のほか、比較用のパターンとして、ランダムパターンＰｒが重畳されていない構造化光パターンＰｓを用意し、ハイブリッドパターンＰｈのパターン光を投影したときに撮像画像に写る各算出対象画素と、比較用のパターンのパターン光を投影したときに撮像画像に写る各算出対象画素との間の平均位置ずれ量を求めた。その結果、平均位置ずれ量は、略０．０３３ピクセルと非常に小さく、構造化光パターンＰｓを用いた３次元計測において、ランダムパターンＰｒの重畳の影響は非常に小さいことが確認できた。
【００４５】
＜構造化光パターンＰｓの説明＞
構造化光パターンＰｓは、所定の符号化が施されており、図７Ａに示すような符号の２次元配列とみなすことができる。構造化光パターンＰｓは、列ごとに特有の符号列を有するため、コンピュータ３００の３次元処理部３３０は、パターン光が投影された測定対象物の撮像画像を解析し、撮像画像における対象画素が構造化光パターンＰｓのどの列に対応するかを求めことで、各画素の３次元位置を求めることができる。より具体的には、画素はプリミティブ（後述する）の単位で処理される。
【００４６】
図７Ｂは、本実施形態における構造化光パターンＰｓを用いた３次元計測の原理を説明する図である。図７Ｂは、測定対象物Ｗに対して投影部１００から構造化光パターンを有するパターン光２３が投影されており、パターン光が投影された測定対象物Ｗを第１カメラ２１０（または第２カメラ２２０）によって撮像することを示す。ここで、第１カメラ２１０（または第２カメラ２２０）の位置Ｏと測定対象物Ｗの点Ｘを結ぶ直線ＯＸ上の点は、投影部１００の画像平面上では直線を形成する。この直線は、撮像画像２６における対象画素ｘのエピポーラ線ｌ’と呼ばれるものであり、対象画素ｘに対するパターン光の対応点（別言すると、対象画素ｘに写っているパターン光が、どの列のパターン光であるか）は、エピポーラ線ｌ’上を探索することで求めることができる。エピポーラ線ｌ’上を探索して対象画素ｘの対応点を把握し、把握した対象画素ｘの対応点に三角測量の原理を適用することで測定対象物Ｗの点Ｘの３次元位置を求めることができる。
【００４７】
本実施形態における構造化光パターンのパターン光は、２次元符号化パターンを有する。具体的には、明暗２値からなる有限種類の「プリミティブ」（基本パターン）を２次元的に所定数個並べた「ワード」を有し、各種類の「ワード」はそれぞれが異なる２次元構造を有し、互いに区別可能である。
【００４８】
図８（Ａ）は、「プリミティブ」を説明する図である。プリミティブ３０は、中央の１つの小さな矩形である「ビット」３１とその周囲の４つの大きな矩形である「グリッド」３２−３５から構成される。１つのプリミティブは、ビットおよびグリッドの光照射の有無の組み合わせにより、図８（Ｄ）に示すような４つの値をとる。なお、図８（Ａ）では、中央部に配置された１つのビット３１を実線で示しているが、破線で示すように、ビット３１は中央部だけでなくその周囲にも存在する。
【００４９】
まず、図８（Ｂ）に示すように、ビット３１に対する光照射の有無により、プリミティブの値（絶対値）が「０」または「１」に決まる。
【００５０】
次に、図８（Ｃ）に示すように、グリッド３２−３５の組み合わせにより、プリミティブ３０の符号が「プラス」または「マイナス」に決まる。プラスとマイナスのパターンは、それぞれ逆であっても構わない。
【００５１】
そして、図８（Ｄ）に示すように、ビット３１とグリッド３２−３５の組み合わせにより、プリミティブ３０は「＋１」、「−１」、「＋０」、「−０」の４つの値を取り得る。
【００５２】
図８（Ｅ）は、プリミティブ３０に設定される矩形領域Ａｎａ（図５のＡ参照）を例示した図である。図８（Ｅ）に示すように、プリミティブ３０の中央だけでなく、プリミティブ３０の周囲（グリッド３２−３５の各頂点）にもビット３１が存在する。そして、各グリッド３２−３５の内側には、各ビット３１に重ならないように、矩形領域Ａｎａが設定される（図８（Ｅ）の破線で囲まれた領域参照）。
【００５３】
図９（Ａ）は、複数のプリミティブから構成される「ワード」の例を示す図である。ここでは、４行４列のプリミティブから１つのワードが構成される例を示しているが、１ワードを構成するプリミティブ数は適宜決めて構わない。例えば、３×３や２×４のプリミティブを１ワードとしてもよい。
【００５４】
図９（Ｂ）は、ワード４０に含まれるプリミティブの一部を示す。ワード４０は、５×５のグリッドを含む。ここで、ワード４０内のプリミティブは、２×２グリッド（１プリミティブ）の範囲を１グリッドずつずらすことによって得られる。したがって、ワード４０の左端の列には、図９（Ｂ）に示すように、４つのプリミティブ４１−４４が含まれる。各行も同様に４つのプリミティブから構成されるので、ワード４０は１６個のプリミティブから構成される。すなわち、１ワードは１６プリミティブからなる符号と対応付けられる。
【００５５】
＜ランダムパターンＰｒの説明＞
ランダムパターンＰｒは、非周期的な明暗パターンであり、それぞれが一意に特定可能（すなわちユニーク）な複数のランダム片Ｐｒｐ（図５のＢ参照）を不規則に配置することにより二値のランダムパターンＰｒが作成される。「不規則に配置」とは、全く規則性も再現性もないランダムな配置でもよいし、疑似乱数のようなものを利用した配置であってもよい。本実施形態では、ランダムパターンＰｒが測定対象物に投影され、第１カメラ２１０及び第２カメラ２２０を含むステレオカメラシステムによって撮像される。コンピュータ３００の３次元処理部３３０は、投影部１００によって測定対象物に投影されたランダムパターンＰｒを構成するユニークなランダム片Ｐｒｐを特徴点として、第１カメラ２１０及び第２カメラ２２０で撮像された第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２から同じ特徴点（対応する画素の対、すなわち対応点）を探索する処理（以下、「対応点探索処理」ともいう。）を行う。
【００５６】
対応点探索処理には、例えばＳＳＤ（Sum of Squared Difference）、ＳＡＤ（Sum of Absolute Difference）、ＮＣＣ（Normalized Cross-Correlation）、ＺＮＣＣ（Zero-mean Normalized Cross-Correlation）といった様々なテンプレートマッチング手法を用いることができる。コンピュータ３００は、対応点探索処理を実行することによって、特徴点ごとに、第１キャプチャ画像Ｉｍｇ１上の座標及び第２キャプチャ画像Ｉｍｇ２上の座標を特定すると、カメラの光学的仕様からステレオ計測の原理により、各カメラから特徴点までの位置（３次元位置）を計算し、各特徴点の３次元位置を求める。
【００５７】
[ハイブリッドパターンの設計方法]
図１０は、ハイブリッドパターンＰｈの設計方法の流れを示すフローチャートである。
まず、明暗２値からなる有限種類のプリミティブ（基本パターン）３０を２次元的に所定数個並べたワードを有する構造化光パターンＰｓを生成する（ステップＳ１；図８のＡ参照）。
【００５８】
次に、プリミティブ３０の中央及びプリミティブ３０の周囲（グリッド３２−３５の各頂点）に存在するビット３１に重ならないように、矩形領域Ａｎａを設定する（ステップＳ２；図８のＥ参照）。
【００５９】
そして、様々な形状のランダム片Ｐｒｐを生成する（ステップＳ３；図５のＢ参照）。ただし、全てのランダム片Ｐｒｐのサイズは、いずれも矩形領域Ａｎａ内に収まるように設計される。
【００６０】
最後に、各矩形領域Ａｎａに、それぞれ異なるユニークなランダム片Ｐｒｐを重畳する（ステップＳ４；図５のＣ参照）。ただし、各ランダム片Ｐｒｐと、各ランダム片Ｐｒｐが重畳される各矩形領域Ａｎａとは、白黒反転するように設定される。
【００６１】
なお、上記ハイブリッドパターンＰｈの設計方法は、あくまで一例にすぎず、様々な方法を採用することができる。図１１は、他のハイブリッドパターンＰｈの設計方法を説明するための図である。他のハイブリッドパターンＰｈの設計方法では、まず、ランダム曲線（白色）のみからなるランダム片Ｐｒｐを生成する（図１１のＡ参照）。そして、生成したランダム片Ｐｒｐを、構造化光パターンＰｓを構成するバウンディングボックス（すなわち「ビット」）Ｂｂに重ならないように位置する矩形領域Ａｎａ（図１１のＢ参照）に重畳する。この結果、図１１のＣに示すようなハイブリッドパターンＰｈが形成される。
【００６２】
ただし、各ランダム片Ｐｒｐと、各ランダム片Ｐｒｐが重畳される各矩形領域Ａｎａとは、白黒反転するように設定される。ここでは、全てのランダム片Ｐｒｐが白色であることから、黒色の矩形領域Ａｎａにランダム片Ｐｒｐが重畳される場合には、ランダム片Ｐｒｐの色は変更されないが（すなわち白色のまま）、白色の矩形領域Ａｎａにランダム片Ｐｒｐが重畳される場合には、ランダム片Ｐｒｐの色は白色から黒色に変更される。
【００６３】
[ハイブリッドパターンを用いた３次元測定方法]
図１２は、３次元測定システム１０００によって実行されるハイブリッドパターンを用いた３次元測定の処理を示すフローチャートである。
【００６４】
制御部３１０は、投影部１００を制御してハイブリッドパターンのパターン光を測定対象物へ投影する（ステップＳ１００）。制御部３１０は、撮像部２００を制御して、ハイブリッドパターンのパターン光が投影された測定対象物の画像を第１カメラ２１０及び第２カメラ２２０を用いて撮像し、第１カメラ２１０が撮像した第１キャプチャ画像Ｉｍｇ１及び第２カメラ２２０が撮像した第２キャプチャ画像Ｉｍｇ２を、画像入力部３２０から取り込む（ステップＳ２００）。ここで、第１カメラ２１０が撮像した第１キャプチャ画像Ｉｍｇ１に示される、測定対象物に投影されたパターン光と、第２カメラ２２０が撮像した第２キャプチャ画像Ｉｍｇ２に示される、測定対象物に投影されたパターン光とは、同一である。
【００６５】
３次元処理部３３０は、画像入力部３２０から供給される第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２に基づき、以下に示す３種類の３次元点群データを生成する。
【００６６】
＜３次元点群データＲ１の生成＞
第１の３次元点群データ生成部３３１は、投影部１００と第１カメラ２１０から構成された第１の構造化光システム（Ｃ１＋Ｐ）を利用して、第１キャプチャ画像Ｉｍｇ１に基づき３次元点群データＲ１を生成する（ステップＳ３００）。詳述すると、第１の３次元点群データ生成部（第１算出部、第１補助算出部）３３１は、第１キャプチャ画像Ｉｍｇ１の３次元位置の算出対象画素の選別を行い、選別された対象画素ごとに、当該画素に写っているパターン光の符号（ワード）すなわち、パターンにおける列（ワード列）の特定、列と画素位置に基づく３次元位置の算出を行う。
【００６７】
パターン記憶部３３４には、投影部１００から投影されるハイブリッドパターンＰｈに含まれる構造化光パターンＰｓが登録されている。第１の３次元点群データ生成部３３１は、選別した算出対象画素と、パターン記憶部３３４に記憶されている構造化光パターンＰｓを比較することで、当該算出対象画素に対応するワードのパターンから、構造化光パターンＰｓにおける列を特定する。また、第１の３次元点群データ生成部３３１は、投影部１００と第１カメラ２１０の設置位置の関係を保持している。第１の３次元点群データ生成部３３１は、構造化光パターンＰｓにおける列（すなわち、算出対象画素に対応するパターン光の対応点）を特定し、特定した対象画素ｘの対応点に三角測量の原理を適用することで、算出対象画素の３次元位置（実空間内の位置）を求める。第１の３次元点群データ生成部３３１は、すべての算出対象画素の３次元位置を求めた後、３次元点群データＲ１を生成し、生成した３次元点群データＲ１を精緻化部３４０に送る。
【００６８】
＜３次元点群データＲ２の生成＞
第２の３次元点群データ生成部３３２は、投影部１００と第２カメラ２２０から構成された第２の構造化光システム（Ｃ２＋Ｐ）を利用して、第２キャプチャ画像Ｉｍｇ２に基づき３次元点群データＲ２を生成する（ステップＳ４００）。詳述すると、第２の３次元点群データ生成部（第１算出部、第２補助算出部）３３２は、第２キャプチャ画像Ｉｍｇ２の３次元位置の算出対象画素の選別を行い、選別された対象画素ごとに、当該画素に写っているパターン光の符号（ワード）すなわち、パターンにおける列（ワード列）の特定、列と画素位置に基づく３次元位置の算出を行う。
【００６９】
パターン記憶部３３４には、投影部１００から投影されるハイブリッドパターンＰｈに含まれる構造化光パターンＰｓが登録されている。第２の３次元点群データ生成部３３２は、選別した算出対象画素と、パターン記憶部３３４に記憶されている構造化光パターンＰｓを比較することで、当該算出対象画素に対応するワードのパターンから、構造化光パターンＰｓにおける列を特定する。また、第２の３次元点群データ生成部３３２は、投影部１００と第２カメラ２２０の設置位置の関係を保持している。したがって、第２の３次元点群データ生成部３３２は、構造化光パターンＰｓにおける列（すなわち、算出対象画素に対応するパターン光の対応点）を特定し、特定した対象画素ｘの対応点に三角測量の原理を適用することで、算出対象画素の３次元位置（実空間内の位置）を求める。第２の３次元点群データ生成部３３２は、すべての算出対象画素の３次元位置を求めた後、３次元点群データＲ２を生成し、生成した３次元点群データＲ２を精緻化部３４０に送る。
【００７０】
＜３次元点群データＲ３の生成＞
第３の３次元点群データ生成部３３３は、第１カメラ２１０と第２カメラ２２０から構成されたステレオカメラシステム（Ｃ１＋Ｃ２）を利用して、第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２に基づき３次元点群データＲ３を生成する（ステップＳ５００）。詳述すると、第３の３次元点群データ生成部（第２算出部）３３３は、投影部１００によって測定対象物に投影されたランダムパターンＰｒを構成するユニークなランダム片Ｐｒｐを特徴点として、第１カメラ２１０及び第２カメラ２２０で撮像された第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２から同じ特徴点（対応する画素の対、すなわち対応点）を探索する対応点探索処理を行う。
【００７１】
対応点探索処理（ステレオマッチング）について詳述すると、第３の３次元点群データ生成部３３３は、例えば第１キャプチャ画像Ｉｍｇ１を基準画像とし、第２キャプチャ画像Ｉｍｇ２を比較画像とした場合、第１キャプチャ画像Ｉｍｇ１の特徴点に対し、対応する特徴点を第２キャプチャ画像Ｉｍｇ２の中から見つけ出す。第３の３次元点群データ生成部３３３は、すべての特徴点について同様な処理を行うことで、第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２上のすべての同じ特徴点の座標を特定する。第３の３次元点群データ生成部３３３は、対応点探索処理によって、特徴点ごとに第１キャプチャ画像Ｉｍｇ１及び第２キャプチャ画像Ｉｍｇ２上の座標を特定すると、ステレオ計測の原理により、各カメラから特徴点までの位置を計算することで、各特徴点の３次元位置（実空間内の位置）を求める。第３の３次元点群データ生成部３３３は、全ての特徴点の３次元位置を求めた後、３次元点群データＲ３を生成し、生成した３次元点群データＲ３を精緻化部３４０に送る。
【００７２】
精緻化部３４０は、３次元処理部３３０から供給される３種類の３次元点群データＲ１〜Ｒ３を精緻化することで、最終点群データＲｆを生成する（ステップＳ６００）。
【００７３】
図１３は、精緻化部３４０によって実行される精緻化処理を示すフローチャートである。なお、図１３に示す精緻化処理はあくまで一例にすぎず、いかなる方法で３次元点群データＲ１〜Ｒ３を精緻化するかは、測定対象物の形状、大きさなどに応じて適宜設定・変更可能である。
【００７４】
精緻化部３４０は、３次元点群データＲ１及びＲ２を３次元マップのメモリ等に格納した後（ステップＳ１００ａ）、３次元点群データＲ３を構成する点Ｐｐが、３次元点群データＲ１またはＲ２のいずれかの点Ｐａの近傍に位置するか（例えば、点Ｐｐと点Ｐａの間の距離Ｌ１が、閾値距離Ｌｔｈよりも小さいか）を判断する（ステップＳ２００ａ；以下、「位置判断」ともいう。）。
【００７５】
精緻化部３４０は、点Ｐｐと点Ｐａの間の距離Ｌ１が、閾値距離Ｌｔｈ以上であることから、３次元点群データＲ３を構成する点Ｐｐが、３次元点群データＲ１またはＲ２のいずれかの点Ｐａの近傍に位置しないと判断すると（ステップＳ２００ａ；ＮＯ）、３次元点群データＲ３を構成する点Ｐｐを、そのまま３次元マップのメモリ等に格納し（ステップＳ３００ａ）、ステップＳ５００ａに進む。
【００７６】
精緻化部３４０は、３次元点群データＲ３を構成するすべての点Ｐｐについて、位置判断を行ったか否かを確認する。精緻化部３４０は、３次元点群データＲ３を構成するすべての点Ｐｐについて位置判断を行っている場合には（ステップＳ５００ａ；ＹＥＳ）、精緻化後の３次元点群データＲ１〜Ｒ３を用いて、最終点群データＲｆを生成し、処理を終了する。
【００７７】
一方、精緻化部３４０は、位置判断を行っていない点Ｐｐが存在する場合には（ステップＳ５００ａ；ＮＯ）、ステップＳ２００ａに戻り、残りの点Ｐｐについて位置判断を行う。精緻化部３４０は、点Ｐｐと点Ｐａの間の距離Ｌ１が、閾値距離Ｌｔｈ未満であることから、３次元点群データＲ３を構成する点Ｐｐが、３次元点群データＲ１またはＲ２のいずれかの点Ｐａの近傍に位置すると判断すると（ステップＳ２００ａ；ＹＥＳ）、次のようなフィルタ処理を行う（ステップＳ４００ａ）。
【００７８】
すなわち、精緻化部３４０は、点Ｐｐについては重み付けを低くする一方、点Ｐｐの近傍に位置する３次元点群データＲ１またはＲ２のいずれかの点Ｐａについては重み付けを高くして、フィルタリングを行う。例えば、点Ｐｐについては第１の重みで重み付けを行う一方、点Ｐｐの近傍に位置する３次元点群データＲ１またはＲ２のいずれかの点Ｐａについては前記第１の重みよりも大きい第２の重みで重み付けを行ってフィルタリングを行う。精緻化部３４０は、フィルタリングを行うと、ステップＳ５００ａに進み、３次元点群データＲ３を構成するすべての点Ｐｐについて、位置判断を行ったか否かを確認する。
【００７９】
精緻化部３４０は、３次元点群データＲ３を構成するすべての点Ｐｐについて位置判断を行っている場合には（ステップＳ５００ａ；ＹＥＳ）、精緻化後の３次元点群データＲ１〜Ｒ３を用いて、最終点群データＲｆを生成し、処理を終了する。一方、精緻化部３４０は、位置判断を行っていない点Ｐｐが存在する場合には（ステップＳ５００ａ；ＮＯ）、ステップＳ２００ａに戻り、残りの点Ｐｐについて位置判断を行う。なお、この後の動作については、すでに説明したため割愛する。
【００８０】
以上説明したように、本実施形態によれば、測定対象物に対して、ハイブリッドパターンＰｈを有するパターン光を投影して３次元測定を行う。ここで、ハイブリッドパターンＰｈは、構造化光パターンＰｓにランダムパターンＰｒを重畳したものであり、ランダムパターンＰｒと構造化光パターンＰｓが相互干渉しないように、パターン配置されている（例えば図５参照）。これにより、構造化光パターンとランダムパターンの両方の利点を享受し得る。すなわち、画像の明瞭性という点で優れた構造化光パターンと、３次元点群データの再現性という点で優れたランダムパターンの両方の利点を享受することが可能となる。
【００８１】
Ｂ．その他
上記実施形態では、１枚の撮像画像のみを対象として３次元位置を求めているが、動画像の各フレームを対象として同様の処理を行うことで、移動物体の３次元測定を行ってもよい。
【００８２】
本明細書において、「部」とは、単に物理的構成を意味するものではなく、その「部」が実行する処理をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が実行する処理を２つ以上の物理的構成や装置により実現されても、２つ以上の「部」や装置が実行する処理を１つの物理的手段や装置により実現されてもよい。
【００８３】
本明細書において上述した各処理におけるステップは、処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【００８４】
本明細書において説明した各処理を実施するプログラムは、記録媒体に記憶させてもよい。この記録媒体を用いれば、コンピュータ３００に、上記プログラムをインストールすることができる。ここで、上記プログラムを記憶した記録媒体は、非一過性の記録媒体であっても良い。非一過性の記録媒体は特に限定されないが、例えば、ＣＤ−ＲＯＭ等の記録媒体であっても良い。
【００８５】
（付記１）
少なくとも１つのメモリと前記メモリに接続された少なくとも１つのハードウェアプロセッサを備え、測定対象物の３次元形状を測定する３次元測定装置であって、
前記メモリには、所定のプログラムと２次元符号化パターンが記憶され
前記ハードウェアプロセッサは、前記メモリに格納された前記所定のプログラムを実行することにより、
互いに区別可能な複数の種類のワードを２次元に配置した前記２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したハイブリッドパターンのパターン光を前記測定対象物に投影する投影部と、
前記パターン光が投影された前記測定対象物を撮像する、第１カメラ及び第２カメラを備えた撮像部と、
前記第１カメラまたは前記第２カメラによって撮像された撮像画像から対象画素を選別し、選別された前記対象画素ごとに、当該画素に写っているパターン光のワードを抽出し、抽出された前記ワード及び前記メモリに記憶された前記２次元符号化パターンに基づき、前記各対象画素の３次元位置を求める第１算出部と、
前記第１カメラ及び前記第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、前記基準画像から前記各ランダム片に対応した各特徴点を抽出し、抽出された前記各特徴点を用いて前記比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、前記各特徴点の３次元位置を求める第２算出部として処理を実行する、３次元測定装置。
（付記２）
少なくとも１つのハードウェアプロセッサによって、測定対象物の３次元形状を測定する３次元測定方法であって、
前記ハードウェアプロセッサは、
互いに区別可能な複数の種類のワードを２次元に配置した２次元符号化パターンと、それぞれが一意に特定可能な複数のランダム片を不規則に配置したランダムパターンとを、パターンの相互干渉が起こらないように配置したハイブリッドパターンのパターン光を前記測定対象物に投影する投影ステップと、
第１カメラ及び第２カメラを備えた撮像部により、前記パターン光が投影された前記測定対象物を撮像する撮像ステップと、
前記第１カメラまたは前記第２カメラによって撮像された撮像画像から対象画素を選別し、選別された前記対象画素ごとに、当該画素に写っているパターン光のワードを抽出し、抽出された前記ワード及び記憶部に記憶された前記２次元符号化パターンに基づき、前記各対象画素の３次元位置を求める第１算出ステップと、
前記第１カメラ及び前記第２カメラによって撮像された撮像画像のうちの一方の撮像画像を基準画像とし、他方の撮像画像を比較画像とした場合、前記基準画像から前記各ランダム片に対応した各特徴点を抽出し、抽出された前記各特徴点を用いて前記比較画像に対するステレオマッチングを行い、ステレオマッチング結果に基づき、前記各特徴点の３次元位置を求める第２算出ステップとを実行する、３次元測定方法。
【符号の説明】
【００８６】
１０００…３次元測定システム、１００…投影部、１１０…レーザ光源、１２０…パターンマスク、１３０…レンズ、２００…撮像部、２１０…第１カメラ、２２０…第２カメラ、３００…コンピュータ、３１０…制御部、３２０…画像入力部、３３０…３次元処理部、３３１…第１の３次元点群データ生成部、３３２…第２の３次元点群データ生成部、３３３…第３の３次元点群データ生成部、３３４…パターン記憶部、３４０…精緻化部、Ｐｈ…ハイブリッドパターン、Ｐｓ…構造化光パターン、Ｐｒ…ランダムパターン。
【図１】
2019086294.tif 000003
【図２】
2019086294.tif 000004
【図３】
2019086294.tif 000005
【図４】
2019086294.tif 000006
【図５】
2019086294.tif 000007
【図６】
2019086294.tif 000008
【図７Ａ】
2019086294.tif 000009
【図７Ｂ】
2019086294.tif 000010
【図８】
2019086294.tif 000011
【図９】
2019086294.tif 000012
【図１０】
2019086294.tif 000013
【図１１】
2019086294.tif 000014
【図１２】
2019086294.tif 000015
【図１３】
2019086294.tif 000016
【図１４】
2019086294.tif 000017