(57)【要約】【課題】予め定められた投影パターンを対象物に照射した状態で対象物を撮像した画像に基づいて対象物の位置を計測する構成において、計測のロバスト性を高める。【解決手段】計測システムは、投影パターンに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索する第１の探索部と、投影パターンに含まれるモデルコード列のうち対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードをコードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する第２の探索部と含む。【選択図】図１
2020024200.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた投影パターンを対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得する取得部を備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得する検出部と、
前記投影パターンに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索する第１の探索部と、
前記投影パターンに含まれるモデルコード列のうち対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードを前記コードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する第２の探索部と、
前記第１の探索部および前記第２の探索部により探索された、前記モデルコード列と対応領域との対応関係に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出する距離算出部とを備える、計測システム。
【請求項２】
前記第１の探索部および前記第２の探索部は、前記入力画像のエピポーララインに沿って探索する、請求項１に記載の計測システム。
【請求項３】
前記第２の探索部は、対応領域の探索に失敗したモデルコード列のすべてについて、探索処理を繰返す、請求項１または２に記載の計測システム。
【請求項４】
前記第２の探索部は、前記予め定められた数を異ならせて、対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードの探索を繰返す、請求項１〜３のいずれか１項に記載の計測システム。
【請求項５】
予め定められた投影パターンを対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得するステップを備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得するステップと、
前記投影パターンに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索するステップと、
前記投影パターンに含まれるモデルコード列のうち対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードを前記コードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定するステップと、
探索された前記モデルコード列と対応領域との対応関係に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出するステップとを備える、計測方法。
【請求項６】
前記基準パターンは、前記入力画像のエピポーララインに沿って探索される、請求項５に記載の計測方法。
【請求項７】
対応領域の探索に失敗したモデルコード列のすべてについて、探索処理が繰返される、請求項５または６に記載の計測方法。
【請求項８】
前記予め定められた数を異ならせて、対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードの探索を繰返すステップをさらに備える、請求項５〜７のいずれか１項に記載の計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、予め定められた投影パターンを対象物に照射した状態で対象物を撮像した画像に基づいて対象物の位置を計測する計測システムおよび計測方法に関する。
【背景技術】
【０００２】
従来から、光学的な手法を用いて対象物の三次元形状を計測する技術が知られている。例えば、特開２０１２−０７９２９４号公報（特許文献１）は、複数種類の符号が二次元に並ぶ投影符号列の各符号に、符号の種類ごとに異なる色または輝度を有する点をシンボルとして割り当てることで得られた二次元の点列を含む投影パターンを被写体に投影し、投影パターンが投影された被写体を撮像することにより得られた撮像画像を用いて被写体の三次元計測を行う画像情報処理装置を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−０７９２９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１に開示される方法では、所定数の情報符号列を用いて符号誤り検出を行うことで情報符号列を復元する。しかしながら、所定数の情報符号列を取得できない場合には、目的の情報符号列を復元できない可能性がある。すなわち、周辺探索だけでは、情報符号列を復元できず、計測できない欠損部分が生じ得る。
【０００５】
本技術は、予め定められた投影パターンを対象物に照射した状態で対象物を撮像した画像に基づいて対象物の位置を計測する構成において、計測のロバスト性を高める解決手段を提供することを一つの目的とする。
【課題を解決するための手段】
【０００６】
本技術の一つの実施形態に従う計測システムは、予め定められた投影パターンを対象物に照射した状態で、対象物を撮像した画像である入力画像を取得する取得部を含む。投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものである。計測システムは、照射された投影パターンに含まれる各基準パターンを入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得する検出部と、投影パターンに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索する第１の探索部と、投影パターンに含まれるモデルコード列のうち対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードをコードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する第２の探索部と、第１の探索部および第２の探索部により探索された、モデルコード列と対応領域との対応関係に基づいて、投影パターンの照射基準面から対象物の各部までの距離を算出する距離算出部とを含む。
【０００７】
本開示によれば、モデルコードと対応領域との対応関係を厳密に決定した上で、予め定められた数のコードが不一致であることを許容する緩和された条件下で、対応関係が決定できなかったモデルコードについて対応領域を探索するので、何らかの原因で入力画像にノイズが含まれている場合であっても、対象物までの距離を適切に算出できる。
【０００８】
第１の探索部および第２の探索部は、入力画像のエピポーララインに沿って探索するようにしてもよい。エピポーララインに沿って探索することで、効率的な探索を実現できる。
【０００９】
第２の探索部は、対応領域の探索に失敗したモデルコード列のすべてについて、探索処理を繰返すようにしてもよい。探索処理の繰返しによって、投影パターンの照射基準面から対象物の各部までの距離の算出をより確実に行うことができる。
【００１０】
第２の探索部は、予め定められた数を異ならせて、対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードの探索を繰返すようにしてもよい。予め定められた数を異ならせることで、誤った探索を防止しつつ、対象物の各部までの距離の算出をより確実に行うことができる。
【００１１】
本技術の別の実施形態に従う計測方法は、予め定められた投影パターンを対象物に照射した状態で、対象物を撮像した画像である入力画像を取得するステップを含む。投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものである。計測方法は、照射された投影パターンに含まれる各基準パターンを入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得するステップと、投影パターンに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索するステップと、投影パターンに含まれるモデルコード列のうち対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードをコードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定するステップとを含む。
【００１２】
本開示によれば、モデルコードと対応領域との対応関係を厳密に決定した上で、予め定められた数のコードが不一致であることを許容する緩和された条件下で、対応関係が決定できなかったモデルコードについて対応領域を探索するので、何らかの原因で入力画像にノイズが含まれている場合であっても、対象物までの距離を適切に算出できる。
【００１３】
基準パターンは、入力画像のエピポーララインに沿って探索されてもよい。エピポーララインに沿って探索することで、効率的な探索を実現できる。
【００１４】
対応領域の探索に失敗したモデルコード列のすべてについて、探索処理が繰返されるようにしてもよい。探索処理の繰返しによって、投影パターンの照射基準面から対象物の各部までの距離の算出をより確実に行うことができる。
【００１５】
計測方法は、予め定められた数を異ならせて、対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードの探索を繰返すステップをさらに含むようにしてもよい。予め定められた数を異ならせることで、誤った探索を防止しつつ、対象物の各部までの距離の算出をより確実に行うことができる。
【発明の効果】
【００１６】
本技術によれば、予め定められた投影パターンを対象物に照射した状態で対象物を撮像した画像に基づいて対象物の位置を計測する構成において、計測のロバスト性を高めることができる。
【図面の簡単な説明】
【００１７】
【図１】本実施の形態に従う計測システムの適用例を示す模式図である。
【図２】本実施の形態に従う計測システムを構成する計測ヘッドの構成例を示す模式図である。
【図３】本実施の形態に従う計測システムに含まれる画像計測装置の構成例を示す模式図である。
【図４】本実施の形態に従う計測システムの計測ヘッドから照射される投影パターンの一例を示す図である。
【図５】本実施の形態に従う計測システムが実行する三次元計測の原理を説明するための図である。
【図６】本実施の形態に従う計測システムによる計測形態の一例を示す模式図である。
【図７】図６に示すワークを撮像することで得られる入力画像に対するプリミティブの検出結果の一例を示す図である。
【図８】図７（Ｂ）に示すプリミティブ検出結果に対応する三次元情報の復元結果の一例を示す図である。
【図９】図８に示す三次元情報の復元結果に対して三次元情報を推定する処理を説明するための図である。
【図１０】本実施の形態に従う計測システムにおける周辺探索の処理を説明する模式図である。
【図１１】本実施の形態に従う計測システムにおいて用いられる投影パターンの一例を示す図である。
【図１２】本実施の形態に従う計測システムにおいて入力画像から検出されたプリミティブから得られるデコード結果の一例を示す図である。
【図１３】本実施の形態に従う計測システムにおけるエピポーララインを説明するための図である。
【図１４】本実施の形態に従う計測システムにおいて入力画像から検出されたプリミティブから得られる最終のデコード結果の一例を示す図である。
【図１５】本実施の形態に従う計測システムが提供する三次元情報を推定する処理を実現するための機能構成の一例を示す模式図である。
【図１６】本実施の形態に従う計測システムが提供する三次元情報を推定する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００１９】
＜Ａ．適用例＞
まず、本発明が適用される場面の一例について説明する。
【００２０】
図１は、本実施の形態に従う計測システム１の適用例を示す模式図である。図１を参照して、本実施の形態に従う計測システム１は、計測ヘッド１０を含む。
【００２１】
計測ヘッド１０から予め定められた投影パターンＰを対象物に照射した状態で、当該対象物を計測ヘッド１０で撮像した画像である入力画像２が取得される。典型的には、構造化照明に従う投影パターンＰが採用される。すなわち、投影パターンＰは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものが採用される。投影パターンＰに含まれる各基準パターンは、「プリミティブ」とも称される。
【００２２】
数値を用いて投影パターンＰに含まれる各基準パターンの種類を表現することができる。このような表現の変更をコード化とも称す。図１に示す例においては、投影パターンＰをコード化することにより等価な行列Ｋを生成できる。
【００２３】
計測システム１を構成する画像計測装置は、投影パターンＰの情報および入力画像２に現れる投影パターンＰに対応する濃淡パターンを用いて三次元計測処理を実行する。
【００２４】
画像計測装置は、照射された投影パターンＰに含まれる各プリミティブを入力画像２内で探索することで、各プリミティブが照射された位置および当該照射されたプリミティブが示すコードの集合である計測コード列２００を取得する。
【００２５】
画像計測装置は、投影パターンＰに設定される単位領域（以下、「ワード」とも称す。）に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域（以下、「格子状コードパターン」とも称す。）を計測コード列２００から探索する（ステップＳ１）。図１に示す例では、計測コード列２００に対して、格子状コードパターン２１１，２１２，２１３，２１４の認識を確定できる。
【００２６】
但し、計測コード列２００には、ワードを構成するプリミティブの一部が探索できず、ワードを再構成できない欠損部分が存在し得る。
【００２７】
そこで、画像計測装置は、投影パターンＰに含まれるモデルコード列のうちワード（対応領域）の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードを計測コード列２００から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する（ステップＳ２）。
【００２８】
図１に示す例では、計測コード列２００に対して、格子状コードパターン２２１，２２２，２２３，２２４の各々が囲む領域について、欠損している３つのプリミティブを除く、すべてのプリミティブをモデルワードと対応付けることができる。
【００２９】
最終的に、画像計測装置は、ステップＳ１およびステップＳ２において探索された、モデルコード列とワードとの対応関係に基づいて、投影パターンＰの照射基準面から対象物の各部までの距離を算出する。この算出された距離の集合を三次元計測結果画像として表現できる。
【００３０】
本実施の形態に従う画像計測システムは、モデルコードと対応領域との対応関係を厳密に決定した上で、予め定められた数のコードが不一致であることを許容する緩和された条件下で、対応関係が決定できなかったモデルコードについて対応領域を探索するので、何らかの原因で入力画像にノイズが含まれている場合であっても、対象物までの距離を適切に算出できる。
【００３１】
＜Ｂ．装置構成＞
次に、本実施の形態に従う計測システム１を構成する装置構成例について説明する。
【００３２】
（ｂ１：計測ヘッド１０）
図２は、本実施の形態に従う計測システム１を構成する計測ヘッド１０の構成例を示す模式図である。図２を参照して、計測ヘッド１０は、処理部１１と、投光部１２と、撮像部１３と、表示部１４と、記憶部１５とを含む。
【００３３】
処理部１１は、計測ヘッド１０における全体処理を司る。処理部１１は、典型的には、プロセッサと、プロセッサで実行される命令コードを格納するストレージと、命令コードを展開するメモリとを含む。この場合、処理部１１において、プロセッサが命令コードをメモリ上に展開して実行することで各種処理を実現する。処理部１１の全部または一部を専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。
【００３４】
表示部１４は、計測ヘッド１０において取得あるいは算出された各種情報を外部へ通知する。
【００３５】
記憶部１５は、撮像部１３により撮像された画像や予め設定されるキャリブレーションパラメータなどを格納する。
【００３６】
通信インターフェイス（Ｉ／Ｆ）部１６は、計測ヘッド１０と画像計測装置１００との間のデータの遣り取りを担当する。
【００３７】
（ｂ２：画像計測装置１００）
図３は、本実施の形態に従う計測システム１に含まれる画像計測装置１００の構成例を示す模式図である。典型的には、画像計測装置１００は、汎用コンピュータを用いて実現される。図３を参照して、画像計測装置１００は、プロセッサ１０２と、メインメモリ１０４と、ストレージ１０６と、入力部１０８と、表示部１１０と、光学ドライブ１１２と、下位インターフェイス部１１４と、上位インターフェイス部１１６とを含む。これらのコンポーネントは、プロセッサバス１１８を介して接続されている。
【００３８】
プロセッサ１０２は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）などで構成され、ストレージ１０６に格納されたプログラム（一例として、ＯＳ１０６０および三次元計測プログラム１０６２）を読出して、メインメモリ１０４に展開して実行することで、後述するような各種処理を実現する。
【００３９】
メインメモリ１０４は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置などで構成される。ストレージ１０６は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの不揮発性記憶装置などで構成される。
【００４０】
ストレージ１０６には、基本的な機能を実現するためのＯＳ１０６０に加えて、画像計測装置１００としての機能を提供するための三次元計測プログラム１０６２が格納される。
【００４１】
入力部１０８は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部１１０は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ１０２からの処理結果などを出力する。
【００４２】
下位インターフェイス部１１４は、計測ヘッド１０との間のデータの遣り取りを担当する。上位インターフェイス部１１６は、図示しない上位装置（例えば、ＰＬＣ（プログラマブルコンピュータ））との間のデータの遣り取りを担当する。
【００４３】
画像計測装置１００は、光学ドライブ１１２を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体１１５（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られてストレージ１０６などにインストールされる。
【００４４】
画像計測装置１００で実行される三次元計測プログラム１０６２などは、コンピュータ読取可能な記録媒体１１５を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従う三次元計測プログラム１０６２が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００４５】
図３には、プロセッサ１０２がプログラムを実行することで、画像計測装置１００として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００４６】
＜Ｃ．三次元計測＞
次に、本実施の形態に従う計測システム１による三次元計測について説明する。本実施の形態においては、構造化照明と称される手法を用いて三次元計測を実現する。構造化照明の手法では、予め定められた投影パターンを対象物に照射するともに、投影パターンが照射された状態で対象物を撮像することで得られる画像（以下、「入力画像」とも称す）に基づいて対象物の位置（投光部または受光部からの距離）を計測する計測システムに関する。すなわち、対象物の形状が計測される。
【００４７】
本実施の形態においては、構造化照明の一例として、予め定められた投影パターン（典型的には、濃淡パターン）をもつ計測光が照射する方法を採用する。
【００４８】
本実施の形態に従う計測システム１は、予め定められた投影パターンを投光部１２から対象物に照射した状態で、当該対象物を撮像した画像である入力画像を取得する取得部に相当する撮像部１３を有している。以下の説明においては、投光部１２の照射面を投影パターンＰの「照射基準面」とみなす。
【００４９】
計測システム１において、計測ヘッド１０に含まれる投光部１２と撮像部１３との間でキャリブレーションが実行されており、投光部１２および撮像部１３の光学パラメータおよび両者を関連付ける行列は予め決定されている。投光部１２および撮像部１３の光学パラメータは、いずれも同じ基準点に基づいて決定されており、投光部１２の投影面の高さを指定すれば、投光部１２から照射される投影パターンが撮像部１３の受光面上のどの画素に対応するのかを算出できる。
【００５０】
投光部１２から照射される投影パターンは、投光部１２の光軸に対する対象物の位置や傾きに応じて大きさや位置（隣接する要素間の間隔の伸縮）が変化することになり、このような情報に基づいて、三角測量の原理によって、対象物の形状を計測できる。
【００５１】
図４は、本実施の形態に従う計測システム１の計測ヘッド１０から照射される投影パターンの一例を示す図である。図５は、本実施の形態に従う計測システム１が実行する三次元計測の原理を説明するための図である。
【００５２】
計測ヘッド１０の投光部１２からは、例えば、図４に示すような投影パターンＰを含む計測光を対象物に照射する。計測ヘッド１０の撮像部１３は、投影パターンＰが投影された状態で対象物を撮像する。
【００５３】
図５に示す投影パターンＰは、空間コードを格子状に配置したもの（以下、「格子状コード」とも称す。）であって、所定方向において所定長のパターンについて自己相関が生じないような固有のコードが割当てられている。より具体的には、投影パターンＰは、複数種類のプリミティブ（基準パターンに相当）の組合せによって規定される。図５（Ａ）には、４種類のプリミティブが示される。各プリミティブは、それぞれに割当てられたコード（図５（Ａ）に示す例では、１〜４の４つの数値）を示す。
【００５４】
各プリミティブは、４つの大きな正方形Ｑａ〜Ｑｄと、中心部に位置する１つの小さな正方形Ｑｅ）とで構成される。正方形Ｑａ〜Ｑｄの各々は、プリミティブ位置Ｒがコーナとなるように配置されている。プリミティブ位置Ｒは、小さな正方形Ｑｅの中心位置でもある。
【００５５】
図５（Ａ）に示すように、大きな正方形Ｑａ〜Ｑｄの交点（格子のコーナ一点）がプリミティブ位置Ｒと定義される。なお、プリミティブ位置Ｒについての大きさおよび形状については限定されない。プリミティブの各々が三次元点の１つとして復元される。
【００５６】
図５（Ａ）に示すように、プリミティブ位置Ｒが「白」のときｐ０＝１とし、「黒」のときｐ０＝０とし、プリミティブ位置Ｒの左上の大きい正方形Ｑｂが「白」のときｐ１＝１とし、「黒」のときｐ１＝０と表現する。プリミティブの種類は、２ｐ１＋ｐ０と数値表現できる。
【００５７】
図５（Ｂ）には、投影パターンＰ（図４参照）の部分に含まれるプリミティブの種類を数値で表現したものである。すなわち、投影パターンＰに含まれる各プリミティブの種類を特定し、各特定したプリミティブの種類を数値で表現することにより、投影パターンＰと等価な行列Ｋを生成できる。
【００５８】
以下の説明においては、投影パターンＰの面内方向をＸ方向およびＹ方向と規定するとともに、光軸方向（高さ）方向をＺ方向と規定する。
【００５９】
図５（Ｃ）には、図５（Ｂ）に示す行列Ｋの部分行列を示す。行列Ｋに設定される所定の大きさ（ワード高さＨｗｏｒｄ×ワード幅Ｗｗｏｒｄ）の部分行列を想定する。このような部分行列を「ワード」とも称する。すなわち、各ワードは、所定数のプリミティブの種類の組合せ（図５（Ｃ）に示す例では、３×３）によって規定される。投影パターンＰは、すべてのワードの各々がユニークとなるように、プリミティブが配置されることで生成される。
【００６０】
投影パターンＰが対象物に照射した状態で撮像することで取得される入力画像から、行列Ｋに含まれるすべてのワードが抽出される。なお、プリミティブを抽出して、ワードを特定あるいは再構成する処理を（ワードの）「デコード」とも称す。
【００６１】
図５（Ｃ）には、抽出された３つのワード（ワードＷ１，Ｗ２，Ｗ３）を示している。入力画像に写るパターンからすべてのワードを抽出したときに、各抽出したワード中に部分行列の数値の並びがユニークであれば、そのワードのパターン中での位置が特定される。すなわち、投影パターンＰにおける位置（ワードの位置）を特定できる。
【００６２】
計測ヘッド１０（投光部１２）から投影パターンＰを照射する場合において、対象物の表面形状に応じて、照射された像から特定されるワードの位置は変化することになる。
【００６３】
このような投影パターンＰを対象物に照射した状態で対象物を撮像して得られる画像に含まれるプリミティブから規定されるワードの大きさおよび隣接するワード間の位置ずれに基づいて、計測ヘッド１０から対象物の各部までの距離および対象物の三次元形状を計測できる。
【００６４】
例えば、図５（Ｃ）に示す例においては、隣り合うワードＷ１〜Ｗ３は一部のプリミティブを共有している。
【００６５】
画像計測装置１００（図２参照）は、それぞれの計測ヘッド１０から出力される画像に対して、プリミティブの抽出処理、ならびに、抽出されたプリミティブにより特定されたワードの位置および大きさの評価処理を実行することで、対象物の三次元形状の計測結果を出力する。
【００６６】
なお、図５（Ａ）には、４種類のプリミティブを使用する例を示すが、プリミティブの種類数は４種類に限定されない。また、図５（Ａ）に示すようなプリミティブの形状および色に限定されることなく、任意の形状および色を採用できる。
【００６７】
また、プリミティブの検出手法としては、各プリミティブをモデルとしたパターンマッチングや、黒画素方向／白画素方向および中央値の色を条件とするフィルタ処理などを採用できる。
【００６８】
例えば、５Ｍ画素のカメラ（≒２５００×２０００画素）を採用し、その視野を視野５００ｍｍ×４００ｍｍとする。ここで、１つのプリミティブが５画素で形成され、１ワードが５×５（計２５個）のプリミティブにより構成される場合を想定する。
【００６９】
この場合には、プリミティブのピッチは、約１ｍｍ（＝５００ｍｍ／（２５００画素／５画素））となり、最小検出幅は５ｍｍ（＝１ｍｍ×５画素）となる。１つのワードを検出するためには、５×５画素が必要であるので、投光部１２と撮像部１３との間の対応付けには、５ｍｍ×５ｍｍの面積が必要となる。なお、三次元情報の空間分解能（Ｘ−Ｙ方向）」は、プリミティブの単位（この例では、１ｍｍ×１ｍｍ）となる。
【００７０】
なお、以下の説明においては、復元された（あるいは、復元されるべき）三次元空間上の点の集合を「点群」とも称す。すなわち、「点群」は、各プリミティブに対応して計算される（あるいは、計算されるべき）三次元空間上の点の集合を意味する。
【００７１】
＜Ｄ．解決すべき課題および解決手段＞
次に、本実施の形態に従う計測システム１が解決すべき課題および解決手段について説明する。
【００７２】
図６は、本実施の形態に従う計測システム１による計測形態の一例を示す模式図である。図６を参照して、平坦状のワーク４の三次元形状の測定を想定する。平坦状のワーク４の上面には、所定幅を有する突起部５が形成されている。図６に示す例においては、突起部５の幅は、図５（Ｃ）において説明したワードを再構成するために必要な距離（ワード幅Ｗｗｏｒｄ）より狭いとする。すなわち、突起部５の露出面に照射されて現れるパターンと、突起部５以外のワーク４の露出面に照射されて現れるパターンとの間にはギャップが生じるとともに、現れるプリミティブの大きさなども異なったものとなる。
【００７３】
その結果、検出されたプリミティブの種類から再構成されるワードは、いずれのプリミティブ種類の組合せにも合致しなくなり、パターン中の各ワードの位置を特定できない。その結果、突起部５の形状情報を取得できない（高さ情報が欠損する）状態になる。
【００７４】
図７は、図６に示すワークを撮像することで得られる入力画像に対するプリミティブの検出結果の一例を示す図である。図７（Ａ）には、平坦部を視野とする入力画像に対するプリミティブの検出結果の一例を示し、図７（Ｂ）には、凸部を視野とする入力画像に対するプリミティブの検出結果の一例を示す。
【００７５】
図７（Ａ）を参照して、計測面が平坦であれば、ワードの再構成に必要な数のプリミティブを検出できる。これによって、投光部１２と撮像部１３との間を対応付けることができるので、各点について三次元情報を復元できる。
【００７６】
これに対して、図７（Ｂ）に示すように、計測面にワード幅以下の凹凸がある場合であって、段差が相対的に大きい場合には、段差により生じるプリミティブの歪み、コントラストの低下、相対的に大きな視差の発生などにより、プリミティブの検出に失敗する（図７（Ｂ）の「プリミティブ検出不可」の領域）。この結果、ワードの再構成に必要な数のプリミティブが揃わないので、投光部１２と撮像部１３との間を対応付けることができず、プリミティブの検出に失敗した領域だけではなく、その周辺も含めて、点群の三次元情報を復元できないことになる（図７（Ｂ）の「点群欠損」の領域）。このように、点群欠損の領域について検出されるコードは不完全なコードとなっている。
【００７７】
図８は、図７（Ｂ）に示すプリミティブ検出結果に対応する三次元情報の復元結果の一例を示す図である。平坦状のワーク４に形成された突起部５の幅がワードを再構成するために必要な幅に満たない場合には、図８に示すように、突起部５の周辺については、点群の三次元情報が存在しない（点群欠損の領域）となる。
【００７８】
図９は、図８に示す三次元情報の復元結果に対して三次元情報を推定する処理を説明するための図である。図９に示す例において、点群欠損となった領域については、ワードを再構成できるだけのプリミティブを検出できていないが、実際には、４つのプリミティブの検出には成功している。本実施の形態に従う計測システム１は、このような点群欠損となった領域内で検出されたプリミティブを、近傍のプリミティブの情報を用いて救済することで、点群の三次元情報を推定する。
【００７９】
すなわち、本実施の形態に従う計測システム１は、このような、投影パターンＰに含まれる単一のワードの大きさより変化幅の小さい部分（点群欠損領域）などについて、三次元情報を推定する処理を提供する。
【００８０】
なお、図９において、Ｘ１は、入力画像上の点群欠損領域のうちプリミティブが検出できている右側の境界を示し、Ｘ２は、入力画像上の点群の三次元情報を復元できている領域（ワードを再構成できている領域）の左側の境界を示す。
【００８１】
図１０は、本実施の形態に従う計測システム１における周辺探索の処理を説明する模式図である。図１０には、照射されたパターンから検出された各プリミティブをコード化した結果の一例を示す。すなわち、検出された各プリミティブの種類を対応する符号で表現した例を示す。
【００８２】
単なる周辺探索では、任意の注目プリミティブを基準にして、上下左右で隣接しているプリミティブを検出することでワードを復元する。周辺探索の範囲を広くすれば、デコード処理に時間を要する。また、隣接するプリミティブが欠損している場合、周辺探索ではワードを復元することができない。そこで、本実施の形態に従う計測システム１が提供する三次元情報を推定する処理を適用することで、隣接するプリミティブが欠損している場合であっても、デコード処理が適切に実行されるようにする。
【００８３】
＜Ｅ．推定処理＞
次に、本実施の形態に従う計測システム１による三次元情報を推定する処理（以下、単に「推定処理」と称することもある。）の処理手順について説明する。
【００８４】
図１１は、本実施の形態に従う計測システム１において用いられる投影パターンの一例を示す図である。以下の説明においては、一例として、図１１（Ａ）に示すような投影パターンＰを照射する場合を想定する。図１１（Ｂ）に示すように、図１１（Ａ）の投影パターンＰに対応するプリミティブが示すコード（一例として、０〜３のいずれかの値）のコード列を示す。図１１（Ｂ）に示すコード列に設定される任意のワードを「モデルワード」とも称す。
【００８５】
ここで、投光部１２および撮像部１３は、各々の光軸が平行であるとともに、それぞれの光軸はＸ軸と平行であるとする。また、複数のプリミティブで構成されるワードのサイズは３×３であるとする。
【００８６】
ワードを再構成する処理（格子状コードパターンの認識アルゴリズム）においては、入力画像全体に対してプリミティブの検出処理が先に実行され、続いて、近傍のプリミティブ同士を対応付けることでワードを再構成する。
【００８７】
図１２は、本実施の形態に従う計測システム１において入力画像から検出されたプリミティブから得られるデコード結果の一例を示す図である。
【００８８】
対象物の露出面が投光部１２および撮像部１３の光軸に垂直な平面であれば、撮像部１３により撮像される入力画像に現れるパターンは、図１１（Ａ）に示されるような歪みのないパターンとなる。一方、対象物の露出面に凹凸が存在する場合には、図１２に示すように、検出されたプリミティブの位置はエピポーララインの方向にずれることになる。さらに、遮へいや潰れなどの光学的な要因により、検出できないプリミティブ（プリミティブの欠損；図１２に示すハッチングされた数字の部分）が生じ得る。
【００８９】
図１３は、本実施の形態に従う計測システム１におけるエピポーララインを説明するための図である。図１３を参照して、投光部１２の視野と撮像部１３の視野との重複領域内において、対象物が奥行き方向に変化した場合に、両光軸の交点が変化する線がエピポーラライン３２に相当する。エピポーラライン３２に沿ってパターンをずらすことは、投光部１２の投影面からの距離を変更することを意味する。
【００９０】
以下の説明においては、図１１（Ｂ）に示されるモデルコード列を図１２に示される検出されたコード列（以下、「計測コード列」とも称す。）と対応付ける具体的な手順について説明する。
【００９１】
（１：コード列の探索）
先に、画像計測装置１００は、照射された投影パターンＰに含まれる各プリミティブ（基準パターンに相当）を入力画像内で探索することで、各プリミティブが照射された位置および当該照射されたプリミティブが示すコードの集合である計測コード列を取得する。
【００９２】
そして、画像計測装置１００は、投影パターンＰに設定されるワード（単位領域に相当）に含まれる所定数のコードからなるモデルコード列と同一の配列を示す格子状コードパターン（対応領域に相当）を計測コード列（コードの集合）から探索する。
【００９３】
このとき、照射された投影パターンＰに含まれる各プリミティブ（基準パターン）は、エピポーララインに沿ってずれることになるので、入力画像のエピポーララインに沿って格子状コードパターンを探索することが好ましい。
【００９４】
より具体的には、図１１（Ｂ）に示すモデルコード列に含まれるモデルワード２０１の第一行のコード「３０２」を、図１２に示す計測コード列の第一行のコード列から探索する。同様に、モデルワード２０１の第二行のコード「１２１」を、図１２に示す計測コード列の第二行のコード列から探索し、モデルワード２０１の第三行のコード「２０２」を、図１２に示す計測コード列の第三行のコード列から探索する。モデルワード２０１については、各行のコードの探索に成功するので、格子状コードパターン２１１の認識を確定できる。
【００９５】
次に、図１１（Ｂ）に示すモデルコード列において右隣のワードに移り、モデルワード２０１と同様に、各行のコードの探索を試みる。しかしながら、この例においては、「３」が欠損しているため検出できない。
【００９６】
そのため、さらに右隣のモデルワードに移り、モデルワード２０２を設定し、ワードの再構成を試みると、「２１３」，「１３０」，「２１３」の各行のコード列を探索できるので、格子状コードパターン２１２の認識を確定できる。
【００９７】
図１１（Ｂ）に示すコード列に対してモデルコード列を左端から右端に向けて、順次設定するとともに、上述したようなワードの再構成に係る一連の操作を繰返す。モデルコード列が右端に到達するとその行に対するモデルコード列の設定は終了し、ワード高さ分（図１２に示す例では３行分）だけ下に移動して、再度左端から右端に向けてモデルコード列を順次設定するとともに、ワードの再構成に係る一連の操作を繰返す。すると、格子状コードパターン２１３および格子状コードパターン２１４の認識を確定できる。
【００９８】
以上の操作によって、キーとなる格子状コードパターンを確定できたので、次に、同一行内において確定された格子状コードパターン間に存在する未確定の格子状コードパターンを確定させる。ここで、画像計測装置１００は、投影パターンＰに含まれるモデルコード列のうち格子状コードパターン（対応領域）の探索に失敗したモデルコード列について、予め定められた数のコードが不一致であることを許容する条件下において、計測コード列から再度探索する。
【００９９】
この再度の探索においては、モデルコード列に含まれる各コードと一致するコードを計測コード列（コードの集合）から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する。
【０１００】
図１４は、本実施の形態に従う計測システム１において入力画像から検出されたプリミティブから得られる最終のデコード結果の一例を示す図である。図１４に示すように、以上の操作により、格子状コードパターン２２１〜格子状コードパターン２２４で囲まれる領域だけでなく、欠損しているプリミティブを除く、すべてのプリミティブがモデルワードと対応付けられたことになる。
【０１０１】
図１４に示す例においては、モデルワード２０１の右隣りに存在するモデルワード２０５（「０２０」，「２１３」，「０２１」）を、計測コード列から不一致数「１」を許して探索すると、それぞれ「０２０」，「２１Ｘ」，「０２１」を検出できる。但し、Ｘは、コードが一致してないこと（すなわち、検出に失敗したこと）を示す。図１４に示す例では、本来は「３」が存在しなければならないところ、その「３」が欠損している。
【０１０２】
同様に、モデルワード２０３とモデルワード２０４との間にあるモデルワード２０６（「０２１」，「２０２」，「１３１」）を、計測コード列から不一致数「１」を許して探索すると、それぞれ「０２１」，「２０Ｘ」，「１３１」を検出できる。また、モデルワード２０３とモデルワード２０４との間にあるモデルワード２０７（「３１３」，「１３１」，「３０２」）を、計測コード列から不一致の許容数「１」として探索すると、それぞれ「３１３」，「Ｘ３１」，「３０２」を検出できる。
【０１０３】
（２：格子状コードパターン法に基づく距離推定）
上述のような操作により、モデルワードと対応付けられたプリミティブの位置情報に基づいて距離を推定する。すなわち、画像計測装置１００は、先の探索処理により探索された、モデルコード列から構成するモデルワードの位置と基準面に投影されるワードの位置関係に基づいて、投影パターンＰの照射基準面から対象物の各部までの距離を算出する。
【０１０４】
例えば、格子状コードパターンのサイズに相当する３×３の単位で、入力画像上で左右上下に１ワードずつずらしながら、それぞれの重心位置を算出し、それぞれ算出された重心位置に基づいて、計測ヘッド１０からの距離を算出してもよい。
【０１０５】
一方、上述したようなワード単位での距離算出ではなく、プリミティブ単位で距離を算出してもよい。この場合には、空間的に密（ＸＹ方向）な距離データの波形を得ることができる。
【０１０６】
（３：応用例・変形例）
上述の探索方法は、モデルコード列の全領域に対して適用してもよいが、例えば、特許文献１に開示される周辺探索によって格子状コードパターンの対応付けを行った後に、対応付けに失敗した部分領域に対して適用するようにしてもよい。このように段階的な対応付けを行うことにより、対応付けを誤ってしまうというリスクを軽減しつつ、対応付け可能数を増加させることができる。
【０１０７】
上述の探索方法において、対象物の奥行き方向の存在範囲、すなわち発生する視差の大きさに制約条件を設けていなかったが、所定の制約条件を設けるようにしてもよい。このような奥行き方向の制約条件を設けることで、プリミティブコードの探索範囲が制限されるので、計算時間を削減できるとともに、対応付けを誤ってしまうというリスクを軽減できる。
【０１０８】
上述の探索方法においては、モデルコード列の左上からモデルワードを順次設定する例を示した。この設定方法によれば、モデルコード列の下端あるいは右端に対応付けできないプリミティブが発生し得る。このような場合には、左上からモデルワードを順次設定する方法に代えて、あるいは、左上からモデルワードを順次設定するに加えて、モデルコード列の右上からモデルワードを順次設定するようにしてもよい。すなわち、モデルワードを順次設定する走査方向を複数に設定し、これらを併用することで、プリミティブの対応付け数を増加させることができる。
【０１０９】
また、上述の探索方法においては、未確定の格子状コードパターンを確定させるにあたって、計測コード列内で既に確定された格子状コードパターンをキーポイントとして間を埋めるように他の格子状コードパターンを決定（内挿）したが、これに限られない。例えば、特許文献１に開示されるような周辺探索によって確定された格子状コードパターンが計測コード列の外側に存在するのであれば、そのような外側に存在する格子状コードパターンとの間で内挿処理を実行してもよい。このような内挿処理の範囲を拡大することで、例えば、図１４において、格子状コードパターン２２３の左側に位置し、対応付けできていない３点「３１２」を対応付けることができる。
【０１１０】
上述の説明においては、一例として３×３の格子状コードパターンを採用したが、この格子状コードパターンのサイズは任意に設計でき、例えば５×５の格子状コードパターンを採用してもよい。
【０１１１】
＜Ｆ．機能構成＞
次に、本実施の形態に従う計測システム１が提供する三次元情報を推定する処理を実現するための機能構成について説明する。
【０１１２】
図１５は、本実施の形態に従う計測システム１が提供する三次元情報を推定する処理を実現するための機能構成の一例を示す模式図である。図１５に示す各機能は、典型的には、画像計測装置１００のプロセッサ１０２が三次元計測プログラム１０６２を実行することで実現される。
【０１１３】
図１５を参照して、画像計測装置１００は、計測ヘッド１０と接続されており、投影パターンＰを対象物に照射した状態で、対象物を撮像することで得られる入力画像に基づいて、三次元情報および二次元画像（入力画像と実質的に同一）を出力する。より具体的には、画像計測装置１００は、パターン検出部１５０と、１次探索部１５２と、欠損部分抽出部１５４と、パターン生成部１５６と、２次探索部１６０と、三次元情報復元部１６２とを含む。
【０１１４】
パターン生成部１５６は、予め定められた投影パターンＰを生成し、投光部１２およびパターン検出部１５０へ出力する。投光部１２は、パターン生成部１５６から指示された投影パターンＰを対象物に照射する。
【０１１５】
パターン検出部１５０は、照射された投影パターンＰに含まれる各プリミティブ（基準パターン）を入力画像内で探索することで、各プリミティブが照射された位置および当該照射されたプリミティブが示すコードの集合を生成する。より具体的には、パターン検出部１５０は、撮像部１３が対象物を撮像することで生成される入力画像を受けて、当該入力画像中に現れる濃淡パターンからプリミティブを検出する。
【０１１６】
１次探索部１５２は、投影パターンＰに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索する。すなわち、１次探索部１５２は、パターン検出部１５０により生成されたコードの集合を取得し、投影パターンＰに設定されるワード（単位領域に相当）に含まれる所定数のプリミティブが示すコードの配列と同一の配列を示す格子状コードパターン（対応領域に相当）を当該コードの集合から探索する。１次探索部１５２は、検出したプリミティブおよびワードの位置を欠損部分抽出部１５４へ出力する。
【０１１７】
欠損部分抽出部１５４は、１次探索部１５２が検出したプリミティブおよびワードの位置の情報に基づいて、ワードを再構成できなかった領域（高さ情報が欠損している部分）を特定する。欠損部分の情報は、２次探索部１６０へ出力される。
【０１１８】
２次探索部１６０は、入力画像の欠損部分に対応する部分または当該対応する部分の周辺に対して、対応するプリミティブの探索およびワードの再構成を試みる。特定的には、２次探索部１６０は、投影パターンＰに含まれるモデルコード列のうち格子状コードパターン（対応領域に相当）の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードをコードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する。２次探索部１６０による探索結果は、三次元情報復元部１６２へ出力される。
【０１１９】
三次元情報復元部１６２は、距離算出部に相当し、１次探索部１５２および２次探索部１６０により探索された、モデルコード列と対応領域との対応関係に基づいて、投影パターンＰの照射基準面（投光部１２の照射面）から対象物の各部までの距離を算出する。より具体的には、三次元情報復元部１６２は、検出されたプリミティブおよびワードの位置に基づいて、入力画像に対応する視野内の三次元情報を復元する。
【０１２０】
なお、図１５には示していないが、三次元情報復元部１６２から出力される三次元情報に基づいて、ロボットを制御するなどの各種アプリケーション処理が実行されてもよい。
【０１２１】
＜Ｇ．処理手順＞
次に、本実施の形態に従う計測システム１が提供する三次元情報を推定する処理を実現するための処理手順について説明する。
【０１２２】
図１６は、本実施の形態に従う計測システム１が提供する三次元情報を推定する処理手順を示すフローチャートである。図１６に示す各ステップは、典型的には、画像計測装置１００のプロセッサ１０２が三次元計測プログラム１０６２を実行することで実現される。
【０１２３】
図１６を参照して、画像計測装置１００は、投影パターンＰを対象物に照射する（ステップＳ１００）とともに、投影パターンＰを対象物に照射した状態で対象物を撮像する（ステップＳ１０２）。
【０１２４】
続いて、画像計測装置１００は、照射された投影パターンＰに含まれる各プリミティブ（基準パターンに相当）を、ステップＳ１０２において取得した入力画像内で探索することで、各プリミティブが照射された位置および当該照射されたプリミティブが示す計測コード列（コードの集合に相当）を取得する（ステップＳ１０４）。すなわち、画像計測装置１００は、入力画像に含まれるプリミティブを探索して、計測コード列を生成する。
【０１２５】
続いて、画像計測装置１００は、投影パターンＰに設定されるワード（単位領域に相当）に含まれる所定数のコードからなるモデルコード列と同一の配列を示す格子状コードパターン（対応領域に相当）を計測コード列（コードの集合）から探索する（ステップＳ１０６）。すなわち、画像計測装置１００は、投影パターンＰに含まれるであろうワード（複数のプリミティブの組み合わせ）と同一のワードを入力画像内から探索する。
【０１２６】
そして、画像計測装置１００は、入力画像内から探索されたワードの数および位置などに基づいて、欠損部分が存在するか否かを判断する（ステップＳ１０８）。欠損部分が存在しなければ（ステップＳ１０８においてＮＯ）、処理はステップＳ１２２へ進む。
【０１２７】
欠損部分が存在していれば（ステップＳ１０８においてＹＥＳ）、画像計測装置１００は、投影パターンＰに含まれるモデルコード列のうち格子状コードパターンの探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードを計測コード列から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する。
【０１２８】
具体的には、画像計測装置１００は、格子状コードパターンの探索に失敗したモデルコード列のいずれかを選択する（ステップＳ１１０）。そして、画像計測装置１００は、選択したモデルコード列に含まれる各コードと一致するコードを計測コード列から探索する（ステップＳ１１２）。画像計測装置１００は、ステップＳ１１２における探索において探索に失敗したコードの数が予め定められた数以下であるか否かを判断する（ステップＳ１１４）。
【０１２９】
探索に失敗したコードの数が予め定められた数以下であれば（ステップＳ１１４においてＹＥＳ）、画像計測装置１００は、選択したモデルコード列の認識を確定する（ステップＳ１１６）。そして、処理はステップＳ１２０へ進む。
【０１３０】
これに対して、探索に失敗したコードの数が予め定められた数を超えていれば（ステップＳ１１４においてＮＯ）、画像計測装置１００は、選択したモデルコード列の認識を失敗と決定する（ステップＳ１１８）。そして、処理はステップＳ１２０へ進む。
【０１３１】
ステップＳ１２０において、画像計測装置１００は、格子状コードパターンの探索に失敗したモデルコード列のうち未処理のものが残っているか否かを判断する（ステップＳ１２０）。格子状コードパターンの探索に失敗したモデルコード列のうち未処理のものが残っていれば（ステップＳ１２０においてＹＥＳ）、画像計測装置１００は、格子状コードパターンの探索に失敗した別のモデルコード列を選択し（ステップＳ１２２）、ステップＳ１１２以下の処理を繰返す。すなわち、格子状コードパターン（対応領域）の探索に失敗したモデルコード列のすべてについて、探索処理が繰返される。
【０１３２】
格子状コードパターンの探索に失敗したモデルコード列のうち未処理のものが残っていなければ（ステップＳ１２０においてＮＯ）、画像計測装置１００は、探索されたモデルコード列と対応領域との対応関係に基づいて、投影パターンＰの照射基準面から対象物の各部までの距離を算出する（ステップＳ１２４）。すなわち、画像計測装置１００は、探索された格子状コードパターンの位置に基づいて、対象物の三次元情報を構成する。そして、処理は終了する。
【０１３３】
＜Ｈ．変形例＞
上述の実施の形態においては、予め定められた数のコードが不一致であることを許容する単一の条件を用いる処理例について説明したが、不一致であることを許容する条件を動的に変更するようにしてもよい。この場合、計測コード列に対する不一致の許容数を順次緩和して、探索処理を繰返すようにしてもよい。
【０１３４】
例えば、計測コード列に対する不一致の許容数をワードに含まれるプリミティブの数に対して「１０％」を設定して、三次元情報の復元を試みる。この設定される不一致の許容数では、認識できないコードが多いため、三次元情報の復元が難しい場合には、その部位に対して不一致の許容数を「２０％」に引き上げて、三次元情報の復元を再度試みる。
【０１３５】
このように、不一致の許容数あるいは許容率を徐々に引き上げて、三次元情報の復元がうまくいくまで繰返すようにしてもよい。すなわち、画像計測装置１００は、計測コード列に対する不一致の許容数である、予め定められた数を異ならせて、対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードの探索を繰返すようにしてもよい。
【０１３６】
最初から不一致の許容数あるいは許容率を緩和する方法に比較して、誤った対応付けが生じ得る可能性を低減しつつ、三次元情報の復元の成功率を高めることができる。
【０１３７】
＜Ｉ．付記＞
上述したような本実施の形態は、以下のような技術思想を含む。
［構成１］
予め定められた投影パターン（Ｐ）を対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得する取得部（１０）を備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得する検出部（１５０）と、
前記投影パターンに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索する第１の探索部（１５２）と、
前記投影パターンに含まれるモデルコード列のうち対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードを前記コードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定する第２の探索部（１６０）と、
前記第１の探索部および前記第２の探索部により探索された、前記モデルコード列と対応領域との対応関係に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出する距離算出部（１６２）とを備える、計測システム。
［構成２］
前記第１の探索部および前記第２の探索部は、前記入力画像のエピポーラライン（３２）に沿って探索する、構成１に記載の計測システム。
［構成３］
前記第２の探索部は、対応領域の探索に失敗したモデルコード列のすべてについて、探索処理を繰返す、構成１または２に記載の計測システム。
［構成４］
前記第２の探索部は、前記予め定められた数を異ならせて、対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードの探索を繰返す、構成１〜３のいずれか１項に記載の計測システム。
［構成５］
予め定められた投影パターン（Ｐ）を対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得するステップ（Ｓ１００，Ｓ１０２）を備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得するステップ（Ｓ１０４）と、
前記投影パターンに設定される単位領域に含まれる所定数のコードからなるモデルコード列と同一の配列を示す対応領域を当該コードの集合から探索するステップ（ステップＳ１０６）と、
前記投影パターンに含まれるモデルコード列のうち対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードを前記コードの集合から探索した上で、当該探索において探索に失敗したコードの数が予め定められた数以下である場合に、当該モデルコード列の認識を確定するステップ（Ｓ１１０，Ｓ１１２，１１４，Ｓ１１６，Ｓ１２２）と、
探索された前記モデルコード列と対応領域との対応関係に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出するステップ（Ｓ１２４）とを備える、計測方法。
［構成６］
前記基準パターンは、前記入力画像のエピポーラライン（３２）に沿って探索される、構成５に記載の計測方法。
［構成７］
対応領域の探索に失敗したモデルコード列のすべてについて、探索処理が繰返される（Ｓ１２０，Ｓ１２２）、構成５または６に記載の計測方法。
［構成８］
前記予め定められた数を異ならせて、対応領域の探索に失敗したモデルコード列について、当該モデルコード列に含まれる各コードと一致するコードの探索を繰返すステップをさらに備える、構成５〜７のいずれか１項に記載の計測方法。
【０１３８】
＜Ｊ．利点＞
本実施の形態に従う画像計測システムは、モデルコードと対応領域との対応関係を厳密に決定した上で、予め定められた数のコードが不一致であることを許容する緩和された条件下で、対応関係が決定できなかったモデルコードについて対応領域を探索するので、何らかの原因で入力画像にノイズが含まれている場合であっても、対象物までの距離を適切に算出できる。
【０１３９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４０】
１  計測システム、２  入力画像、４  ワーク、５  突起部、１０  計測ヘッド、１１  処理部、１２  投光部、１３  撮像部、１４，１１０  表示部、１５  記憶部、１６  通信インターフェイス（Ｉ／Ｆ）部、３２  エピポーラライン、１００  画像計測装置、１０２  プロセッサ、１０４  メインメモリ、１０６  ストレージ、１０８  入力部、１１２  光学ドライブ、１１４  下位インターフェイス部、１１５  記録媒体、１１６  上位インターフェイス部、１１８  プロセッサバス、１５０  パターン検出部、１５２  １次探索部、１５４  欠損部分抽出部、１５６  パターン生成部、１６０  ２次探索部、１６２  三次元情報復元部、２００  計測コード列、２０１，２０２，２０３，２０４，２０５，２０６，２０７  モデルワード、２１１，２１２，２１３，２１４，２２１，２２２，２２３，２２４  格子状コードパターン、１０６０  ＯＳ、１０６２  三次元計測プログラム、Ｋ  行列、Ｐ  投影パターン、Ｒ  プリミティブ位置、Ｗ１，Ｗ２，Ｗ３  ワード。
【図１】
2020024200.tif 000003
【図２】
2020024200.tif 000004
【図３】
2020024200.tif 000005
【図４】
2020024200.tif 000006
【図５】
2020024200.tif 000007
【図６】
2020024200.tif 000008
【図７】
2020024200.tif 000009
【図８】
2020024200.tif 000010
【図９】
2020024200.tif 000011
【図１０】
2020024200.tif 000012
【図１１】
2020024200.tif 000013
【図１２】
2020024200.tif 000014
【図１３】
2020024200.tif 000015
【図１４】
2020024200.tif 000016
【図１５】
2020024200.tif 000017
【図１６】
2020024200.tif 000018