(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-01
(45)【発行日】2022-08-09
(54)【発明の名称】計測システムおよび計測方法
(51)【国際特許分類】
G01B 11/25 20060101AFI20220802BHJP
G06T 7/521 20170101ALI20220802BHJP
【FI】
G01B11/25 H
G06T7/521
(21)【出願番号】P 2018116989
(22)【出願日】2018-06-20
【審査請求日】2020-12-11
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】中塚 均
(72)【発明者】
【氏名】飯田 豊男
【審査官】信田 昌男
(56)【参考文献】
【文献】特開2012-079294(JP,A)
【文献】特開2010-256138(JP,A)
【文献】特開2017-053793(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G06T 7/521
(57)【特許請求の範囲】
【請求項1】
予め定められた投影パターンを対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得する取得部を備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得し、前記投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を示す対応領域を当該コードの集合から探索し、前記対応領域の探索結果に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出する第1の距離算出部と、
前記算出できなかった部分である欠損部分について、当該欠損部分に対応する不完全なコードを前記入力画像における周辺情報を用いて再構成することで、前記欠損部分についての距離の推定を試みる第2の距離算出部と
、
前記投影パターンを前記照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または当該仮想背景画像に対応する仮想背景画像コードを生成する背景情報生成部とを備え
、
前記第2の距離算出部は、前記欠損部分に対応する前記入力画像の情報と、前記仮想背景画像または前記仮想背景画像コードとを用いて、前記欠損部分の距離の推定を試みる、計測システム。
【請求項2】
前記入力画像の前記欠損部分に対応する部分または当該対応する部分の周辺に、前記仮想背景画像の対応する部分パターンを合成する合成パターン生成部をさらに備え、
前記第2の距離算出部は、前記入力画像に合成する前記仮想背景画像の前記部分パターン、および、前記仮想背景画像を生成する際の平面の距離、の少なくとも一方を順次変化させつつ、前記対応領域の探索を試みる、請求項
1に記載の計測システム。
【請求項3】
前記第2の距離算出部は、前記入力画像の前記欠損部分に対応する部分において探索されたコードの少なくとも一部と、前記仮想背景画像コードの対応するコードとを組合せて生成される1または複数のコード列に対して、前記投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を探索する処理を繰返す、請求項
1に記載の計測システム。
【請求項4】
前記背景情報生成部は、前記照射基準面から異なる複数の距離にある平面について、複数の前記仮想背景画像または前記仮想背景画像コードを生成する、請求項
1~
3のいずれか1項に記載の計測システム。
【請求項5】
前記第2の距離算出部は、前記欠損部分に対応する前記入力画像の情報と、前記仮想背景画像または前記仮想背景画像コードとの間の位置関係を、エピポーララインに沿って変化させる、請求項
1~
3のいずれか1項に記載の計測システム。
【請求項6】
前記第2の距離算出部は、前記欠損部分の推定した距離が当該推定に用いた前記仮想背景画像または前記仮想背景画像コードを生成した際の距離と異なっている場合に、前記欠損部分の距離の推定が成功であると決定する、請求項
1~
5のいずれか1項に記載の計測システム。
【請求項7】
予め定められた投影パターンを対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得するステップを備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得し、前記投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を示す対応領域を当該コードの集合から探索し、前記対応領域の探索結果に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出するステップと、
前記算出できなかった部分である欠損部分について、当該欠損部分に対応する不完全なコードを前記入力画像における周辺情報を用いて再構成することで、前記欠損部分についての距離の推定を試みるステップと
、
前記投影パターンを前記照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または当該仮想背景画像に対応する仮想背景画像コードを生成するステップとを備え
、
前記距離の推定を試みるステップとは、前記欠損部分に対応する前記入力画像の情報と、前記仮想背景画像または前記仮想背景画像コードとを用いて、前記欠損部分の距離の推定を試みるステップを含む、計測方法。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、予め定められた投影パターンを対象物に照射した状態で対象物を撮像した画像に基づいて対象物の位置を計測する計測システムおよび計測方法に関する。
【背景技術】
【0002】
従来から、光学的な手法を用いて対象物の三次元形状を計測する技術が知られている。例えば、特開2012-079294号公報(特許文献1)は、複数種類の符号が二次元に並ぶ投影符号列の各符号に、符号の種類ごとに異なる色または輝度を有する点をシンボルとおして割り当てることで得られた二次元の点列を含む投影パターンを被写体に投影し、投影パターンが投影された被写体を撮像することにより得られた撮像画像を用いて被写体の三次元計測を行う画像情報処理装置を開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の特許文献1に開示される方法では、所定数の情報符号列を用いて符号誤り検出を行うことで情報符号列を復元する。しかしながら、所定数の情報符号列を取得できない場合には、目的の情報符号列を復元できない可能性がある。すなわち、周辺探索だけでは、情報符号列を復元できず、計測できない欠損部分が生じ得る。
【0005】
本技術は、予め定められた投影パターンを対象物に照射した状態で対象物を撮像した画像に基づいて対象物の位置を計測する構成において、計測のロバスト性を高める解決手段を提供することを一つの目的とする。
【課題を解決するための手段】
【0006】
本技術の一つの実施形態に従う計測システムは、予め定められた投影パターンを対象物に照射した状態で、対象物を撮像した画像である入力画像を取得する取得部を含む。投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものである。計測システムは、照射された投影パターンに含まれる各基準パターンを入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得し、投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を示す対応領域を当該コードの集合から探索し、対応領域の探索結果に基づいて、投影パターンの照射基準面から対象物の各部までの距離を算出する第1の距離算出部と、投影パターンを照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または当該仮想背景画像に対応する仮想背景画像コードを生成する背景情報生成部と、第1の距離算出部が距離を算出できなかった部分である欠損部分について、当該欠損部分に対応する不完全なコードを入力画像における周辺情報を用いて再構成することで、欠損部分についての距離の推定を試みる第2の距離算出部とを含む。
【0007】
この開示によれば、距離を算出できなかった部分である欠損部分についても可能な限り距離の算出が実現される。
【0008】
上述の開示において、計測システムは、投影パターンを照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または当該仮想背景画像に対応する仮想背景画像コードを生成する背景情報生成部をさらに含む。第2の距離算出部は、欠損部分に対応する入力画像の情報と、仮想背景画像または仮想背景画像コードとを用いて、欠損部分の距離の推定を試みる。
【0009】
この開示によれば、投影パターンの照射基準面からの距離を算出できなかった欠損部分に対して、投影パターンを照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または仮想背景画像コードを用いた推定処理を適用することで、計測の解像度より小さい幅の形状変化を有する対象物であっても、その距離情報を検出できる。
【0010】
上述の開示において、画像計測システムは、入力画像の欠損部分に対応する部分または当該対応する部分の周辺に、仮想背景画像の対応する部分パターンを合成する合成パターン生成部をさらに含む。第2の距離算出部は、入力画像に合成する仮想背景画像の部分パターン、および、仮想背景画像を生成する際の平面の距離、の少なくとも一方を順次変化させつつ、対応領域の探索を試みる。
【0011】
この開示によれば、回帰的に対応領域の探索を試みることで、欠損部分の距離を推定できる確率を高めることができる。
【0012】
上述の開示において、第2の距離算出部は、入力画像の欠損部分に対応する部分において探索されたコードの少なくとも一部と、仮想背景画像コードの対応するコードとを組合せて生成される1または複数のコード列に対して、投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を探索する処理を繰返す。
【0013】
この開示によれば、投影パターンと入力画像内の照射先との対応関係をより確実に確定でき、距離の算出精度を高めることができる。
【0014】
上述の開示において、背景情報生成部は、照射基準面から異なる複数の距離にある平面について、複数の仮想背景画像または仮想背景画像コードを生成する。
【0015】
この開示によれば、異なる複数の距離についての仮想背景画像または仮想背景画像コードを適用することで、欠損部分の距離を推定できる確率を高めることができる。
【0016】
上述の開示において、第2の距離算出部は、欠損部分に対応する入力画像の情報と、仮想背景画像または仮想背景画像コードとの間の位置関係を、エピポーララインに沿って変化させる。
【0017】
この開示によれば、仮想背景画像または仮想背景画像コードとの間の位置関係をエピポーララインに沿って変化させることで、仮想背景画像または仮想背景画像コードの高さを異ならせることを実現でき、処理速度を高めることができる。
【0018】
上述の開示において、第2の距離算出部は、欠損部分の推定した距離が当該推定に用いた仮想背景画像または仮想背景画像コードを生成した際の距離と異なっている場合に、欠損部分の距離の推定が成功であると決定する。
【0019】
この開示によれば、仮想背景画像または仮想背景画像コードを生成した際の距離を誤って欠損部分の距離として算出する可能性を低減できる。
【0020】
本技術の別の実施形態に従う計測方法は、予め定められた投影パターンを対象物に照射した状態で、対象物を撮像した画像である入力画像を取得するステップを含む。投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものである。計測方法は、照射された投影パターンに含まれる各基準パターンを入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得し、投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を示す対応領域を当該コードの集合から探索し、対応領域の探索結果に基づいて、投影パターンの照射基準面から対象物の各部までの距離を算出するステップと、当該距離を算出できなかった部分である欠損部分について、当該欠損部分に対応する不完全なコードを入力画像における周辺情報を用いて再構成することで、欠損部分についての距離の推定を試みるステップとを含む。
【0021】
この開示によれば、距離を算出できなかった部分である欠損部分についても可能な限り距離の算出が実現される。
【発明の効果】
【0022】
本技術によれば、予め定められた投影パターンを対象物に照射した状態で対象物を撮像した画像に基づいて対象物の位置を計測する構成において、計測のロバスト性を高めることができる。
【図面の簡単な説明】
【0023】
【
図1】本実施の形態に従う計測システムの適用例を示す模式図である。
【
図2】本実施の形態に従う計測システムを構成する計測ヘッドの構成例を示す模式図である。
【
図3】本実施の形態に従う計測システムに含まれる画像計測装置の構成例を示す模式図である。
【
図4】本実施の形態に従う計測システムの計測ヘッドから照射される投影パターンの一例を示す図である。
【
図5】本実施の形態に従う計測システムが実行する三次元計測の原理を説明するための図である。
【
図6】本実施の形態に従う計測システムによる計測形態の一例を示す模式図である。
【
図7】
図6に示すワークを撮像することで得られる入力画像に対するプリミティブの検出結果の一例を示す図である。
【
図8】
図7(B)に示すプリミティブ検出結果に対応する三次元情報の復元結果の一例を示す図である。
【
図9】
図8に示す三次元情報の復元結果に対して三次元情報を推定する処理を説明するための図である。
【
図10】本実施の形態に従う計測システムによる三次元情報を推定できる処理を説明する模式図である。
【
図11】本実施の形態に従う計測システムにおける周辺探索の処理を説明する模式図である。
【
図12】本実施の形態に従う計測システムによる三次元情報を推定する処理内容を概説するための図である。
【
図13】本実施の形態に従う計測システムが提供する三次元情報を推定する処理を実現するための機能構成の一例を示す模式図である。
【
図14】本実施の形態に従う計測システムが提供する三次元情報を推定する処理手順を示すフローチャートである。
【
図15】本実施の形態に従う計測システムが提供する三次元情報の推定処理(画像ベース)を説明するための図である。
【
図16】本実施の形態に従う計測システムにおけるエピポーララインを説明するための図である。
【
図17】本実施の形態に従う計測システムが提供する三次元情報の推定処理の処理過程を示す図である。
【
図18】本実施の形態に従う計測システムが提供する三次元情報の推定処理(コードベース)を説明するための図である。
【発明を実施するための形態】
【0024】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0025】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
【0026】
図1は、本実施の形態に従う計測システム1の適用例を示す模式図である。
図1を参照して、本実施の形態に従う計測システム1は、計測ヘッド10および画像計測装置100を含む。
【0027】
画像計測装置100は、計測ヘッド10から予め定められた投影パターンを対象物に照射した状態で、当該対象物を計測ヘッド10で撮像した画像である入力画像を取得する。典型的には、構造化照明に従う投影パターンが採用される。すなわち、投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものが採用される。
【0028】
画像計測装置100は、投影パターンの情報および取得した入力画像に現れる投影パターンの情報を用いて三次元計測処理を実行することで、三次元計測結果(三次元計測結果画像)を取得する。
【0029】
より具体的には、画像計測装置100は、照射された投影パターンに含まれる各基準パターン(以下、「プリミティブ」とも称す。)を入力画像内で探索することで、各プリミティブが照射された位置および当該照射されたプリミティブが示すコードの集合を取得する。そして、画像計測装置100は、投影パターンに設定される単位領域(以下、「ワード」とも称す。)に含まれる所定数の基準パターンが示すコードの配列と同一の配列を示す対応領域(以下、「格子状コードパターン」とも称す。)を当該コードの集合から探索する。最終的に、画像計測装置100は、格子状コードパターンの探索結果に基づいて、投影パターンの照射基準面から対象物の各部までの距離を算出する。この算出された距離の集合を三次元計測結果画像として表現できる。
【0030】
三次元計測結果画像には、距離を算出できなかった部分である欠損部分が存在し得る。本実施の形態に従う計測システム1は、このような欠損部分の距離を推定する。より具体的には、画像計測装置100は、投影パターンを照射基準面から任意の距離にある平面に照射した場合に撮像されるであろうパターン画像(仮想背景画像)を生成する(
図1においては、(1)~(3)の3種類)。なお、パターン画像(仮想背景画像)ではなく、パターン画像(仮想背景画像)に対応する仮想背景画像コードを用いてもよい。
【0031】
画像計測装置100は、算出できなかった部分(欠損部分)について、当該欠損部分に対応する不完全なコードを入力画像における周辺情報を用いて再構成することで、欠損部分についての距離の推定を試みる。
【0032】
典型例として、入力画像における周辺情報として高さ情報などを用いて、画像計測装置100は、距離を算出できなかった部分(欠損部分)に対応する入力画像の情報と仮想背景画像とを用いて、欠損部分の距離の推定を試みる。すなわち、本実施の形態に従う画像計測装置100においては、三次元計測結果画像のうち距離が存在しない欠損部分を抽出し、抽出した欠損部分に対応する入力画像の領域を特定し、特定した入力画像の領域に異なる高さの仮想背景画像を当てはめることで、合成画像を生成する。画像計測装置100は、生成した合成画像に基づいて、欠損部分に含まれる各部の高さを推定する。これによって、解像度より小さい幅の形状変化を有する対象物であっても、その距離情報を検出できる。
【0033】
<B.装置構成>
次に、本実施の形態に従う計測システム1を構成する装置構成例について説明する。
【0034】
(b1:計測ヘッド10)
図2は、本実施の形態に従う計測システム1を構成する計測ヘッド10の構成例を示す模式図である。
図2を参照して、計測ヘッド10は、処理部11と、投光部12と、撮像部13と、表示部14と、記憶部15とを含む。
【0035】
処理部11は、計測ヘッド10における全体処理を司る。処理部11は、典型的には、プロセッサと、プロセッサで実行される命令コードを格納するストレージと、命令コードを展開するメモリとを含む。この場合、処理部11において、プロセッサが命令コードをメモリ上に展開して実行することで各種処理を実現する。処理部11の全部または一部を専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
【0036】
表示部14は、計測ヘッド10において取得あるいは算出された各種情報を外部へ通知する。
【0037】
記憶部15は、撮像部13により撮像された画像や予め設定されるキャリブレーションパラメータなどを格納する。
【0038】
通信インターフェイス(I/F)部16は、計測ヘッド10と画像計測装置100との間のデータの遣り取りを担当する。
【0039】
(b2:画像計測装置100)
図3は、本実施の形態に従う計測システム1に含まれる画像計測装置100の構成例を示す模式図である。典型的には、画像計測装置100は、汎用コンピュータを用いて実現される。
図3を参照して、画像計測装置100は、プロセッサ102と、メインメモリ104と、ストレージ106と、入力部108と、表示部110と、光学ドライブ112と、下位インターフェイス部114と、上位インターフェイス部116とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
【0040】
プロセッサ102は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成され、ストレージ106に格納されたプログラム(一例として、OS1060および三次元計測プログラム1062)を読出して、メインメモリ104に展開して実行することで、後述するような各種処理を実現する。
【0041】
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ106は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。
【0042】
ストレージ106には、基本的な機能を実現するためのOS1060に加えて、画像計測装置100としての機能を提供するための三次元計測プログラム1062が格納される。
【0043】
入力部108は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部110は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ102からの処理結果などを出力する。
【0044】
下位インターフェイス部114は、計測ヘッド10との間のデータの遣り取りを担当する。上位インターフェイス部116は、図示しない上位装置(例えば、PLC(プログラマブルコンピュータ))との間のデータの遣り取りを担当する。
【0045】
画像計測装置100は、光学ドライブ112を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体115(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られてストレージ106などにインストールされる。
【0046】
画像計測装置100で実行される三次元計測プログラム1062などは、コンピュータ読取可能な記録媒体115を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従う三次元計測プログラム1062が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
【0047】
図3には、プロセッサ102がプログラムを実行することで、画像計測装置100として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
【0048】
<C.三次元計測>
次に、本実施の形態に従う計測システム1による三次元計測について説明する。本実施の形態においては、構造化照明と称される手法を用いて三次元計測を実現する。構造化照明の手法では、予め定められた投影パターンを対象物に照射するともに、投影パターンが照射された状態で対象物を撮像することで得られる画像(以下、「入力画像」とも称す)に基づいて対象物の位置(投光部または受光部からの距離)を計測する計測システムに関する。すなわち、対象物の形状が計測される。
【0049】
本実施の形態においては、構造化照明の一例として、予め定められた投影パターン(典型的には、濃淡パターン)をもつ計測光が照射する方法を採用する。
【0050】
本実施の形態に従う計測システム1は、予め定められた投影パターンを投光部12から対象物に照射した状態で、当該対象物を撮像した画像である入力画像を取得する取得部に相当する撮像部13を有している。以下の説明においては、投光部12の照射面を投影パターンPの「照射基準面」とみなす。
【0051】
計測システム1において、計測ヘッド10に含まれる投光部12と撮像部13との間でキャリブレーションが実行されており、投光部12および撮像部13の光学パラメータおよび両者を関連付ける行列は予め決定されている。投光部12および撮像部13の光学パラメータは、いずれも同じ基準点に基づいて決定されており、投光部12の投影面の高さを指定すれば、投光部12から照射される投影パターンが撮像部13の受光面上のどの画素に対応するのかを算出できる。
【0052】
投光部12から照射される投影パターンは、投光部12の光軸に対する対象物の位置や傾きに応じて大きさや位置(隣接する要素間の間隔の伸縮)が変化することになり、このような情報に基づいて、三角測量の原理によって、対象物の形状を計測できる。
【0053】
図4は、本実施の形態に従う計測システム1の計測ヘッド10から照射される投影パターンの一例を示す図である。
図5は、本実施の形態に従う計測システム1が実行する三次元計測の原理を説明するための図である。
【0054】
計測ヘッド10の投光部12からは、例えば、
図4に示すような投影パターンPを含む計測光を対象物に照射する。計測ヘッド10の撮像部13は、投影パターンPが投影された状態で対象物を撮像する。
【0055】
図5に示す投影パターンPは、空間コードを格子状に配置したもの(以下、「格子状コード」とも称す。)であって、所定方向において所定長のパターンについて自己相関が生じないような固有のコードが割当てられている。より具体的には、投影パターンPは、複数種類のプリミティブ(基準パターンに相当)の組合せによって規定される。
図5(A)には、4種類のプリミティブが示される。各プリミティブは、それぞれに割当てられたコード(
図5(A)に示す例では、1~4の4つの数値)を示す。
【0056】
各プリミティブは、4つの大きな正方形Qa~Qdと、中心部に位置する1つの小さな正方形Qe)とで構成される。正方形Qa~Qdの各々は、プリミティブ位置Rがコーナとなるように配置されている。プリミティブ位置Rは、小さな正方形Qeの中心位置でもある。
【0057】
図5(A)に示すように、大きな正方形Qa~Qdの交点(格子のコーナ一点)がプリミティブ位置Rと定義される。なお、プリミティブ位置Rについての大きさおよび形状については限定されない。プリミティブの各々が三次元点の1つとして復元される。
【0058】
図5(A)に示すように、プリミティブ位置Rが「白」のときp
0=1とし、「黒」のときp
0=0とし、プリミティブ位置Rの左上の大きい正方形Qbが「白」のときp
1=1とし、「黒」のときp
1=0と表現する。プリミティブの種類は、2p
1+p
0と数値表現できる。
【0059】
図5(B)には、投影パターンP(
図4参照)の部分に含まれるプリミティブの種類を数値で表現したものである。すなわち、投影パターンPに含まれる各プリミティブの種類を特定し、各特定したプリミティブの種類を数値で表現することにより、投影パターンPと等価な行列Kを生成できる。
【0060】
以下の説明においては、投影パターンPの面内方向をX方向およびY方向と規定するとともに、光軸方向(高さ)方向をZ方向と規定する。
【0061】
図5(C)には、
図5(B)に示す行列Kの部分行列を示す。行列Kに設定される所定の大きさ(ワード高さH
word×ワード幅W
word)の部分行列を想定する。このような部分行列を「ワード」とも称する。すなわち、各ワードは、所定数のプリミティブの種類の組合せ(
図5(C)に示す例では、3×3)によって規定される。投影パターンPは、すべてのワードの各々がユニークとなるように、プリミティブが配置されることで生成される。
【0062】
投影パターンPが対象物に照射した状態で撮像することで取得される入力画像から、行列Kに含まれるすべてのワードが抽出される。なお、プリミティブを抽出して、ワードを特定あるいは再構成する処理を(ワードの)「デコード」とも称す。
【0063】
図5(C)には、抽出された3つのワード(ワードW1,W2,W3)を示している。入力画像に写るパターンからすべてのワードを抽出したときに、各抽出したワード中に部分行列の数値の並びがユニークであれば、そのワードのパターン中での位置が特定される。すなわち、投影パターンPにおける位置(ワードの位置)を特定できる。
【0064】
計測ヘッド10(投光部12)から投影パターンPを照射する場合において、対象物の表面形状に応じて、照射された像から特定されるワードの位置は変化することになる。
【0065】
このような投影パターンPを対象物に照射した状態で対象物を撮像して得られる画像に含まれるプリミティブから規定されるワードの大きさおよび隣接するワード間の位置ずれに基づいて、計測ヘッド10から対象物の各部までの距離および対象物の三次元形状を計測できる。
【0066】
例えば、
図5(C)に示す例においては、隣り合うワードW1~W3は一部のプリミティブを共有している。
【0067】
画像計測装置100(
図2参照)は、それぞれの計測ヘッド10から出力される画像に対して、プリミティブの抽出処理、ならびに、抽出されたプリミティブにより特定されたワードの位置および大きさの評価処理を実行することで、対象物の三次元形状の計測結果を出力する。
【0068】
なお、
図5(A)には、4種類のプリミティブを使用する例を示すが、プリミティブの種類数は4種類に限定されない。また、
図5(A)に示すようなプリミティブの形状および色に限定されることなく、任意の形状および色を採用できる。
【0069】
また、プリミティブの検出手法としては、各プリミティブをモデルとしたパターンマッチングや、黒画素方向/白画素方向および中央値の色を条件とするフィルタ処理などを採用できる。
【0070】
例えば、5M画素のカメラ(≒2500×2000画素)を採用し、その視野を視野500mm×400mmとする。ここで、1つのプリミティブが5画素で形成され、1ワードが5×5(計25個)のプリミティブにより構成される場合を想定する。
【0071】
この場合には、プリミティブのピッチは、約1mm(=500mm/(2500画素/5画素))となり、最小検出幅は5mm(=1mm×5画素)となる。1つのワードを検出するためには、5×5画素が必要であるので、投光部12と撮像部13との間の対応付けには、5mm×5mmの面積が必要となる。なお、三次元情報の空間分解能(X-Y方向)」は、プリミティブの単位(この例では、1mm×1mm)となる。
【0072】
なお、以下の説明においては、復元された(あるいは、復元されるべき)三次元空間上の点の集合を「点群」とも称す。すなわち、「点群」は、各プリミティブに対応して計算される(あるいは、計算されるべき)三次元空間上の点の集合を意味する。
【0073】
<D.解決すべき課題および解決手段>
次に、本実施の形態に従う計測システム1が解決すべき課題および解決手段について説明する。
【0074】
図6は、本実施の形態に従う計測システム1による計測形態の一例を示す模式図である。
図6を参照して、平坦状のワーク4の三次元形状の測定を想定する。平坦状のワーク4の上面には、所定幅を有する突起部5が形成されている。
図6に示す例においては、突起部5の幅は、
図5(C)において説明したワードを再構成するために必要な距離(ワード幅W
word)より狭いとする。すなわち、突起部5の露出面に照射されて現れるパターンと、突起部5以外のワーク4の露出面に照射されて現れるパターンとの間にはギャップが生じるとともに、現れるプリミティブの大きさなども異なったものとなる。
【0075】
その結果、検出されたプリミティブの種類から再構成されるワードは、いずれのプリミティブ種類の組合せにも合致しなくなり、パターン中の各ワードの位置を特定できない。その結果、突起部5の形状情報を取得できない(高さ情報が欠損する)状態になる。
【0076】
図7は、
図6に示すワークを撮像することで得られる入力画像に対するプリミティブの検出結果の一例を示す図である。
図7(A)には、平坦部を視野とする入力画像に対するプリミティブの検出結果の一例を示し、
図7(B)には、凸部を視野とする入力画像に対するプリミティブの検出結果の一例を示す。
【0077】
図7(A)を参照して、計測面が平坦であれば、ワードの再構成に必要な数のプリミティブを検出できる。これによって、投光部12と撮像部13との間を対応付けることができるので、各点について三次元情報を復元できる。
【0078】
これに対して、
図7(B)に示すように、計測面にワード幅以下の凹凸がある場合であって、段差が相対的に大きい場合には、段差により生じるプリミティブの歪み、コントラストの低下、相対的に大きな視差の発生などにより、プリミティブの検出に失敗する(
図7(B)の「プリミティブ検出不可」の領域)。この結果、ワードの再構成に必要な数のプリミティブが揃わないので、投光部12と撮像部13との間を対応付けることができず、プリミティブの検出に失敗した領域だけではなく、その周辺も含めて、点群の三次元情報を復元できないことになる(
図7(B)の「点群欠損」の領域)。このように、点群欠損の領域について検出されるコードは不完全なコードとなっている。
【0079】
図8は、
図7(B)に示すプリミティブ検出結果に対応する三次元情報の復元結果の一例を示す図である。平坦状のワーク4に形成された突起部5の幅がワードを再構成するために必要な幅に満たない場合には、
図8に示すように、突起部5の周辺については、点群の三次元情報が存在しない(点群欠損の領域)となる。
【0080】
図9は、
図8に示す三次元情報の復元結果に対して三次元情報を推定する処理を説明するための図である。
図9に示す例において、点群欠損となった領域については、ワードを再構成できるだけのプリミティブを検出できていないが、実際には、4つのプリミティブの検出には成功している。本実施の形態に従う計測システム1は、このような点群欠損となった領域内で検出されたプリミティブを、後述するような仮想背景画像を用いて救済することで、点群の三次元情報を推定する。
【0081】
すなわち、本実施の形態に従う計測システム1は、このような、投影パターンPに含まれる単一のワードの大きさより変化幅の小さい部分(点群欠損領域)などについて、三次元情報を推定する処理を提供する。
【0082】
なお、
図9において、X1は、入力画像上の点群欠損領域のうちプリミティブが検出できている右側の境界を示し、X2は、入力画像上の点群の三次元情報を復元できている領域(ワードを再構成できている領域)の左側の境界を示す。
【0083】
図10は、本実施の形態に従う計測システム1による三次元情報を推定できる処理を説明する模式図である。
図10(A)に示すように、単一のワードの大きさに相当するワードサイズより細かい変化については高さを検出できない。例えば、上述の
図6に示すワーク4表面に形成された突起部5などを想定する。
【0084】
このような高さを検出できない部分について、
図10(B)に示すように、1または複数の仮想背景画像8を用意する。仮想背景画像8は、投影パターンPを1または複数の高さの平面に照射したときに、当該平面に現れるパターンを示す画像である。
図10(B)には、3つの異なる高さh1,h2,h3のそれぞれに対応付けて、3つの仮想背景画像(1)~(3)が用意されている例を示す。
【0085】
そして、突起部5または突起部5の周辺部に現れたパターンと、仮想背景画像8の対応する領域のパターンとを合成した画像に対して、プリミティブを抽出し、その抽出されたプリミティブの種類および種類の組合せからワードを特定する。仮想背景画像8、あるいは、仮想背景画像8の合成対象の範囲を順次異ならせて、ワードのデコードが成功するまで処理を繰返す。最終的にワードがデコードされると、そのデコードされたワードを用いて、最初の計測では検出できなかった高さを推定する。
【0086】
図10に示す例では、仮想背景画像(2)および仮想背景画像(3)は、突起部5の高さとは離れているので、ワードを適切にデコードできない。すなわち、高さ情報が欠損する部分と仮想背景画像8とが適合しないので、ワードをデコードできない。
【0087】
これに対して、仮想背景画像(1)に対応する高さは、突起部5の高さと近いので、ワードをデコードできる可能性が高まる。なお、ワードのデコードにおいては、周辺探索が実行されるので、高さ方向にはある程度の余裕があり、ワーク4(または、突起部5)の高さと対象の仮想背景画像の高さとが近ければ、ワードを復元できることになる。
【0088】
ここで、周辺探索について説明する。
図11は、本実施の形態に従う計測システム1における周辺探索の処理を説明する模式図である。
図11には、照射されたパターンから検出された各プリミティブをコード化した結果の一例を示す。すなわち、検出された各プリミティブの種類を対応する符号で表現した例を示す。
【0089】
周辺探索では、任意の注目プリミティブを基準にして、上下左右で隣接しているプリミティブを検出することでワードを復元する。周辺探索の範囲を広くすれば、デコード処理に時間を要する。また、隣接するプリミティブが欠損している場合、周辺探索ではワードを復元することができない。
【0090】
図12は、本実施の形態に従う計測システム1による三次元情報を推定する処理内容を概説するための図である。
図12(A)には、一例として、1ワードが5×5(計25個)のプリミティブにより構成される例を示す。ここで、1つのプリミティブが5×5画素で構成されている場合には、ワードのデコードには、25×25画素の面積が必要となる。つまり、
図12(A)に示す高さ情報を検出できる最小単位(解像度)は25×25画素となる。言い換えれば、25×25画素以下の細かい部分の高さ情報については検出できない。
【0091】
図12(B)に示すように、単一のワード内における対象物の高さ変化量(段さ)が相対的に小さい場合には、計測ヘッド10の投光部12と撮像部13との間に生じる視差が小さいので、周辺探索によって、対応するプリミティブを検出できるのでワードを復元できる可能性が高い。
【0092】
これに対して、
図12(C)に示すように、単一のワード内における対象物の高さ変化量(段さ)が相対的に大きい場合には、計測ヘッド10の投光部12と撮像部13との間に生じる視差も大きくなり、周辺探索では対応するプリミティブを検出できなくなる。その結果、ワードを復元できる可能性が低くなる。
【0093】
そこで、
図12(D)に示すように、抽出されたもののワードへのデコードはできないプリミティブ断片P1と仮想背景画像の対応する領域から抽出されるプリミティブ断片P2とを突き合わせることで、いずれかの仮想背景画像に対応付けられる高さとは異なる高さが算出されると、プリミティブ断片同士が結合して、適切に復号できたことが分かる。
【0094】
なお、周辺探索の範囲を広くすれば、デコード処理に時間が要するという課題が生じ得る。周辺探索に必要な配列情報(コード列)を取得できなければ、本来の高さ情報を復元できない。
【0095】
そのため、周辺探索を試みたものの、高さ情報を復元できなかった場合には、周辺部の平均高さを周辺情報として採用し、当該平均高さに対応する仮想パターンを用いて、高さ情報の復元を再度試みてもよい。さらに高さ情報の復元が失敗した場合には、仮想背景画像の高さを1ステップずつ変化させて同様の処理を繰返すようにしてもよい。ここで、1ステップとは、周辺探索の対象となる視差分(高さ情報と同義)とすることができる。
【0096】
<E.機能構成>
次に、本実施の形態に従う計測システム1が提供する三次元情報を推定する処理を実現するための機能構成について説明する。
【0097】
図13は、本実施の形態に従う計測システム1が提供する三次元情報を推定する処理を実現するための機能構成の一例を示す模式図である。
図13に示す各機能は、典型的には、画像計測装置100のプロセッサ102が三次元計測プログラム1062を実行することで実現される。
【0098】
図13を参照して、画像計測装置100は、計測ヘッド10と接続されており、投影パターンPを対象物に照射した状態で、対象物を撮像することで得られる入力画像に基づいて、三次元情報および二次元画像(入力画像と実質的に同一)を出力する。より具体的には、画像計測装置100は、1次パターン検出部150と、1次三次元情報復元部152と、欠損部分抽出部154と、パターン生成部156と、仮想背景画像生成部158と、合成パターン生成部160と、2次三次元情報復元部162と、合成画像除去部164とを含む。
【0099】
パターン生成部156は、予め定められた投影パターンPを生成し、投光部12および1次パターン検出部150へ出力する。投光部12は、パターン生成部156から指示された投影パターンPを対象物に照射する。
【0100】
1次パターン検出部150は、照射された投影パターンPに含まれる各プリミティブ(基準パターン)を入力画像内で探索することで、各プリミティブが照射された位置および当該照射されたプリミティブが示すコードの集合を生成する。より具体的には、1次パターン検出部150は、撮像部13が対象物を撮像することで生成される入力画像を受けて、当該入力画像中に現れるパターンからプリミティブおよびワードを検出する。そして、1次パターン検出部150は、生成したコードの集合を取得し、投影パターンPに設定されるワード(単位領域に相当)に含まれる所定数のプリミティブが示すコードの配列と同一の配列を示す格子状コードパターン(対応領域に相当)を当該コードの集合から探索する。
【0101】
1次パターン検出部150は、検出したプリミティブおよびワードの位置を1次三次元情報復元部152へ出力する。また、1次パターン検出部150は、撮像部13からの入力画像を合成パターン生成部160へ出力する。
【0102】
1次三次元情報復元部152は、格子状コードパターン(対応領域に相当)の探索結果に基づいて、投影パターンPの照射基準面(投光部12の照射面)から対象物の各部までの距離を算出する。より具体的には、1次三次元情報復元部152は、1次パターン検出部150からのプリミティブおよびワードの位置に基づいて、入力画像に対応する視野内の三次元情報を復元する。復元された三次元情報は欠損部分抽出部154へ出力される。
【0103】
欠損部分抽出部154は、1次三次元情報復元部152からの三次元情報に基づいて、三次元情報を取得できなかった領域(高さ情報が欠損している部分)を特定する。欠損部分の情報は、合成パターン生成部160へ出力される。
【0104】
仮想背景画像生成部158は、背景情報生成部に相当し、投影パターンPを照射基準面(投光部12の照射面)から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像を生成する。仮想背景画像生成部158は、仮想背景画像に代えて、仮想背景画像に対応する仮想背景画像コードを生成するようにしてもよい。このように、仮想背景画像生成部158は、パターン生成部156からの投影パターンPの情報に基づいて、任意の高さに対応する1または複数の仮想背景画像8を生成する。通常、仮想背景画像生成部158は、照射基準面から異なる複数の距離にある平面について、複数の仮想背景画像8または仮想背景画像コードを生成する。生成された仮想背景画像8は、合成パターン生成部160へ出力される。
【0105】
合成パターン生成部160は、入力画像の欠損部分に対応する部分または当該対応する部分の周辺に、仮想背景画像の対応する部分パターンを合成する。より具体的には、合成パターン生成部160は、欠損部分抽出部154からの欠損部分の情報に基づいて、仮想背景画像生成部158から提供される仮想背景画像8から対応する画像を抽出するとともに、1次パターン検出部150からの入力画像に付加することで、合成画像を生成する。合成パターン生成部160は、生成された合成画像を2次三次元情報復元部162へ出力する。
【0106】
2次三次元情報復元部162は、欠損部分について、当該欠損部分に対応する不完全なコードを入力画像における周辺情報を用いて再構成することで、当該欠損部分についての距離の推定を試みる。本実施の形態において、2次三次元情報復元部162は、1次三次元情報復元部152が距離を算出できなかった部分である欠損部分に対応する入力画像の情報と、仮想背景画像または仮想背景画像コードとを用いて、欠損部分の距離の推定を試みる。
【0107】
すなわち、2次三次元情報復元部162は、生成された合成画像に基づいて、欠損部分についての三次元情報を復元する。
【0108】
2次三次元情報復元部162は、1次三次元情報復元部152により復元された三次元情報に、欠損部分についての復元した三次元情報を加えて、最終的な三次元情報として出力する。ここで、2次三次元情報復元部162は、入力画像に合成する仮想背景画像の部分パターン、および、仮想背景画像を生成する際の平面の距離、の少なくとも一方を順次変化させつつ、格子状コードパターン(対応領域に相当)の探索を試みる。詳細については、後述する。また、2次三次元情報復元部162は、合成画像を合成画像除去部164へ出力する。
【0109】
合成画像除去部164は、合成パターン生成部160での処理と逆の処理を実行する。より具体的には、合成画像除去部164は、2次三次元情報復元部162からの合成画像から、合成された画像を除去して、二次元画像として出力する。
【0110】
なお、
図13には示していないが、2次三次元情報復元部162から出力される三次元情報に基づいて、ロボットを制御するなどの各種アプリケーション処理が実行されてもよい。
【0111】
<F.処理手順>
次に、本実施の形態に従う計測システム1が提供する三次元情報を推定する処理を実現するための処理手順について説明する。
【0112】
図14は、本実施の形態に従う計測システム1が提供する三次元情報を推定する処理手順を示すフローチャートである。
図14に示す各ステップは、典型的には、画像計測装置100のプロセッサ102が三次元計測プログラム1062を実行することで実現される。
【0113】
図14を参照して、画像計測装置100は、投影パターンPを対象物に照射する(ステップS100)とともに、投影パターンPを対象物に照射した状態で対象物を撮像する(ステップS102)。そして、画像計測装置100は、ステップS102において取得した入力画像に含まれるパターンを検出する(ステップS104)。より具体的には、画像計測装置100は、入力画像に含まれるプリミティブを検出するとともに、検出されたプリミティブの種類に対応するワードを検出する。すなわち、画像計測装置100は、入力画像からワードをデコードする。
【0114】
続いて、画像計測装置100は、検出されたプリミティブおよびワードの位置に基づいて、入力画像に対応する視野内の三次元情報を復元する(ステップS106)。より具体的には、画像計測装置100は、検出されたプリミティブおよびワードの位置に基づく三角測量によって、各プリミティブ位置における高さを算出する。
【0115】
そして、画像計測装置100は、復元された三次元情報に欠損部分が存在するか否かを判断する(ステップS108)。欠損部分が存在しなければ(ステップS108においてNO)、画像計測装置100は、復元した三次元情報を出力し(ステップS126)、処理は終了する。
【0116】
これに対して、欠損部分が存在していれば(ステップS108においてYES)、画像計測装置100は、欠損部分に関して、三次元情報の復元が成功した周辺部の平均高さに対応する仮想背景画像8を生成する(ステップS110)。続いて、画像計測装置100は、生成した仮想背景画像8を入力画像の欠損部分に合成して合成画像を生成する(ステップS112)。そして、画像計測装置100は、ステップS112において生成された合成画像から、欠損部分の三次元情報を復元する(ステップS114)。
【0117】
画像計測装置100は、復元に成功した部分の高さが画像合成に用いられた仮想背景画像8の高さと同一であるか否かを判断する(ステップS116)。
【0118】
復元に成功した部分の高さが画像合成に用いられた仮想背景画像8の高さと同一であれば(ステップS116においてYES)、画像計測装置100は、復元結果を破棄する(ステップS120)。そして、処理はステップS122に進む。この場合に得られる三次元情報は、仮想背景画像8の情報を主体的に用いて復元されたものと考えられ、欠損部分の本来の高さではない可能性が高いからである。
【0119】
一方、復元に成功した部分の高さが画像合成に用いられた仮想背景画像8の高さと同一でなければ(ステップS116においてNO)、画像計測装置100は、ステップS114において復元された三次元情報を採用する(ステップS118)。
【0120】
すなわち、画像計測装置100は、欠損部分の推定した距離が当該推定に用いた仮想背景画像8(または、後述の仮想背景画像コード)を生成した際の距離と異なっている場合に、欠損部分の距離の推定が成功であると決定する。このような判断処理は、仮想背景画像8を生成した際の距離を欠損部分の距離と誤って推定することを防止することを目的としている。
【0121】
ステップS118またはS120の実行後、画像計測装置100は、所定の高さ範囲の仮想背景画像8をすべて試したか否かを判断する(ステップS122)。
【0122】
所定の高さ範囲の仮想背景画像8のうちまだ試していないものがあれば(ステップS122においてNO)、画像計測装置100は、欠損部分に関して、高さを変えて仮想背景画像8を生成する(ステップS124)。そして、ステップS112以下の処理が繰返される。
【0123】
一方、所定の高さ範囲の仮想背景画像8をすべて試していれば(ステップS122においてYES)、画像計測装置100は、復元した三次元情報を出力する(ステップS126)。すなわち、ステップS118において採用された三次元情報が出力される。但し、いずれの三次元情報も採用されなければ、三次元情報の復元が依然としてできていないことを示す情報を出力するようにしてもよい。そして、処理は終了する。
【0124】
なお、欠損部分の周辺で三次元情報の復元が成功した領域の平均高さに対応する仮想背景画像8が生成されるようにしてもよい。最初に生成された仮想背景画像8を用いても、三次元情報を適切に復元できなかった場合には、仮想背景画像8を生成する高さを変えて仮想背景画像8を再度生成する。
【0125】
仮想背景画像8の高さを変化させるステップの大きさとしては、周辺探索の探索範囲に相当する高さとしてもよい。所定の高さ範囲の間で仮想背景画像8の生成および三次元情報の復元を繰返し実行する。所定の高さ範囲は、有効測定範囲または検出ワークの形状に基づいた範囲としてもよい。
【0126】
<G.推定処理:画像ベース>
次に、本実施の形態に従う計測システム1が提供する三次元情報の推定処理(
図14に示すステップS112,S122,S124に相当)の詳細について説明する。
【0127】
図15は、本実施の形態に従う計測システム1が提供する三次元情報の推定処理(画像ベース)を説明するための図である。
【0128】
まず、(1)入力画像上の点群欠損領域のうちプリミティブが検出できている右側の境界X1、および、入力画像上で点群の三次元情報を復元できている領域(ワードを再構成できている領域)の左側の境界X2を探索する(
図9参照)。そして、(2)入力画像上でX1までの領域を部分入力画像18として切り出す(
図15(A)参照)。
【0129】
続いて、(3)点群検出領域の境界X2に近い側の点群の平均高さZ
0を算出する(
図9参照)。そして、(4)平均高さZ
0における点群欠損領域と点群検出領域との関係に基づいて、X1-α~X2+α区間で高さが平均高さZ
0の仮想背景画像8(平均高さZ
0)を生成する(
図15(A)参照)。
【0130】
そして、(5)部分入力画像に対して裏側(レイヤの奥側)から仮想背景画像8(平均高さZ
0)を重ね合わせる(
図15(B)参照)。ここで、重ね合わせる初期位置は、部分入力画像の右端と仮想背景画像8の左端とが一致する位置とする。
【0131】
(6)境界X1より右側の領域について、プリミティブの検出およびワードの再構成を試みる。もし、ワードを再構成できなければ、重ね合わせ位置を変えて(5)および(6)の処理を繰返す。すなわち、
図15(B)~
図15(D)に示すように、部分入力画像18と仮想背景画像8との相対的な位置関係を変化させる。
【0132】
ここで、重ね合わせ位置を変えるということは、高さを変えて仮想背景画像8を生成すること(
図14のステップS124)に相当する。すなわち、重ね合わせ位置を変えるということは、部分入力画像18に対して、仮想背景画像8をエピポーララインに沿って平行移動することを意味する。これは、仮想背景画像8の高さを変えることと等価になる。すなわち、欠損部分に対応する入力画像の情報と、仮想背景画像との間の位置関係を、エピポーララインに沿って変化させることで、仮想背景画像8の高さを変える処理を実現する。
【0133】
図16は、本実施の形態に従う計測システム1におけるエピポーララインを説明するための図である。
図16を参照して、投光部12の視野と撮像部13の視野との重複領域内において、対象物が奥行き方向に変化した場合に、両光軸の交点が変化する線がエピポーララインに相当する。エピポーララインに沿ってパターンをずらすことは、投光部12の投影面からの距離を変更することを意味する。
【0134】
なお、厳密に言えば、高さが変化することで、照射される投影パターンPには大きさ(スケール)の変化が生じることになるが、このような大きさ(スケール)の変化については、パターン検出の歪み許容範囲内に収まるとみなす。つまり、大きさ(スケール)が変化しても、パターンを適切に検出できると考える。
【0135】
より具体的には、
図15(B)~
図15(D)に示すように、部分入力画像18と仮想背景画像8との間の距離を変化させながら(すなわち、仮想背景画像8の高さを変化させながら)、三次元情報を復元できた部分については、その復元できた値を逐次確定する。
【0136】
なお、プリミティブの探索については、一定範囲の変形(すなわち、高さの変動)を許容するため、点群欠損領域側に多少の高さのばらつきが存在してもよいこととする。
【0137】
最終的に、(7)境界X1から境界X2の間の領域に対して、ワードを再構成できれば、三次元情報の推定処理は終了する。
【0138】
図17は、本実施の形態に従う計測システム1が提供する三次元情報の推定処理の処理過程を示す図である。
【0139】
図17(A)に示す例では、部分入力画像18と仮想背景画像8との間がある距離においては、投影パターンPにずれがあり、プリミティブの検出およびワードの再構成が適切に行えず、検出失敗となっている。
【0140】
一方、
図17(B)に示す例では、部分入力画像18と仮想背景画像8との間が適切な距離にあり、この場合には、プリミティブの検出およびワードの再構成を適切に実行でき、検出成功となっている。
【0141】
<H.推定処理:コードベース>
上述の説明においては、高さを変化させて生成した仮想背景画像8を用いた処理、すなわち画像ベースでの処理を採用した例を示したが、デコードされた各プリミティブの種類を示す値(コード;上述の例では、0~3のいずれかの値)を用いた処理、すなわちコードベースでの処理を採用してもよい。この場合には、ワードを再構成できるか否かが問題となる。
【0142】
すなわち、本実施の形態に従う計測システム1が提供する三次元情報の推定処理(
図14に示すステップS112,S122,S124に相当)をコードベースで実行する場合について説明する。
【0143】
図18は、本実施の形態に従う計測システム1が提供する三次元情報の推定処理(コードベース)を説明するための図である。
【0144】
まず、(1)入力画像上の点群欠損領域のうちプリミティブが検出できている右側の境界X1、および、入力画像上で点群の三次元情報を復元できている領域(ワードを再構成できている領域)の左側の境界X2を探索する(
図9参照)。そして、(2)入力画像上でX1までの領域を検出されている各プリミティブをコード化して入力画像コード18Cとして切り出す(
図18参照)。
【0145】
続いて、(3)点群検出領域の境界X2に近い側の点群の平均高さZ
0を算出する(
図9参照)。そして、(4)平均高さZ
0における点群欠損領域と点群検出領域との関係に基づいて、X1-α~X2+α区間で高さが平均高さZ
0の仮想背景画像コード8C(平均高さZ
0)を生成する(
図18参照)。
【0146】
そして、(5)入力画像コード18Cに対して仮想背景画像コード8Cを重ね合わせる。ここで、重ね合わせる初期位置は、入力画像コード18Cの最右列と仮想背景画像コード8Cのm列とが一致する位置とする。初期位置においては、「オーバラップ部」に相当する列が重ね合わされることになる。
【0147】
(6)重ね合わせたコードについて、プリミティブの検出およびワードの再構成を試みる。もし、ワードを再構成できなければ、重ね合わせ位置をm列から順次インクリメントして重ね合わせ位置を変えて(5)および(6)の処理を繰返す。ここで、重ね合わせ位置をm列から順次インクリメントして重ね合わせ位置を変えることは、入力画像コード18Cと仮想背景画像コード8Cとの相対関係をエピポーララインに沿って変化させることを意味する。すなわち、欠損部分に対応する入力画像の情報と、仮想背景画像コードとの間の位置関係を、エピポーララインに沿って変化させることで、仮想背景画像コード8Cの高さを変える処理を実現する。
【0148】
図18に示す処理は、画像計測装置100の2次三次元情報復元部162(
図13参照)によって実現されることになる。すなわち、2次三次元情報復元部162は、入力画像の欠損部分に対応する部分において探索されたコードの少なくとも一部と、仮想背景画像コードの対応するコードとを組合せて生成される1または複数のコード列に対して、投影パターンPに設定されるワード(単位領域に相当)に含まれる所定数の基準パターンが示すコードの配列と同一の配列を探索する処理を繰返す。
【0149】
コードベースの推定処理においては、周辺探索を行いながら、ワードの再構成が試みられるので、複数の高さやばらつきなどによって、完全に位置が一致しなくても、ワードを再構成できる。
【0150】
最終的に、(7)境界X1から境界X2の間の領域に対して、ワードを再構成できれば、三次元情報の推定処理は終了する。
【0151】
行方向にいてワードがユニークに配置されているとの条件を適用することで、存在しないワードや同じワードは成立しないと判断できる。
【0152】
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
予め定められた投影パターン(P)を対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得する取得部(10)を備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得し、前記投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を示す対応領域を当該コードの集合から探索し、前記対応領域の探索結果に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出する第1の距離算出部(150,152)と、
前記投影パターンを前記照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または当該仮想背景画像に対応する仮想背景画像コードを生成する背景情報生成部(158)と、
前記第1の距離算出部が距離を算出できなかった部分である欠損部分に対応する前記入力画像の情報と、前記仮想背景画像または前記仮想背景画像コードとを用いて、前記欠損部分の距離の推定を試みる第2の距離算出部(162)とを備える、計測システム。
【0153】
前記第1の距離算出部が距離を算出できなかった部分である欠損部分について、当該欠損部分に対応する不完全なコードを前記入力画像における周辺情報を用いて再構成することで、前記欠損部分についての距離の推定を試みる第2の距離算出部とを備える、計測システム。
[構成2]
前記投影パターンを前記照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または当該仮想背景画像に対応する仮想背景画像コードを生成する背景情報生成部をさらに備え、
前記第2の距離算出部は、前記欠損部分に対応する前記入力画像の情報と、前記仮想背景画像または前記仮想背景画像コードとを用いて、前記欠損部分の距離の推定を試みる、構成1に記載の計測システム。
[構成3]
前記入力画像の前記欠損部分に対応する部分または当該対応する部分の周辺に、前記仮想背景画像の対応する部分パターンを合成する合成パターン生成部(160)をさらに備え、
前記第2の距離算出部は、前記入力画像に合成する前記仮想背景画像の前記部分パターン、および、前記仮想背景画像を生成する際の平面の距離、の少なくとも一方を順次変化させつつ、前記対応領域の探索を試みる、構成2に記載の計測システム。
[構成4]
前記第2の距離算出部は、前記入力画像の前記欠損部分に対応する部分において探索されたコードの少なくとも一部と、前記仮想背景画像コードの対応するコードとを組合せて生成される1または複数のコード列に対して、前記投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を探索する処理を繰返す、構成2に記載の計測システム。
[構成5]
前記背景情報生成部は、前記照射基準面から異なる複数の距離にある平面について、複数の前記仮想背景画像または前記仮想背景画像コードを生成する、構成2~4のいずれか1項に記載の計測システム。
[構成6]
前記第2の距離算出部は、前記欠損部分に対応する前記入力画像の情報と、前記仮想背景画像または前記仮想背景画像コードとの間の位置関係を、エピポーララインに沿って変化させる、構成2~4のいずれか1項に記載の計測システム。
[構成7]
前記第2の距離算出部は、前記欠損部分の推定した距離が当該推定に用いた前記仮想背景画像または前記仮想背景画像コードを生成した際の距離と異なっている場合に、前記欠損部分の距離の推定が成功であると決定する、構成2~6のいずれか1項に記載の計測システム。
[構成8]
予め定められた投影パターン(P)を対象物に照射した状態で、前記対象物を撮像した画像である入力画像を取得するステップ(S100,S102)を備え、前記投影パターンは、それぞれ固有のコードが割当てられた複数種類の基準パターンを所定規則に従って配置したものであり、
前記照射された投影パターンに含まれる各基準パターンを前記入力画像内で探索することで、各基準パターンが照射された位置および当該照射された基準パターンが示すコードの集合を取得し、前記投影パターンに設定される単位領域に含まれる所定数の基準パターンが示すコードの配列と同一の配列を示す対応領域を当該コードの集合から探索し、前記対応領域の探索結果に基づいて、前記投影パターンの照射基準面から前記対象物の各部までの距離を算出するステップ(S104,S106)と、
前記第1の距離算出部が距離を算出できなかった部分である欠損部分について、当該欠損部分に対応する不完全なコードを前記入力画像における周辺情報を用いて再構成することで、前記欠損部分についての距離の推定を試みるステップ(S110,S112~S126)とを備える、計測方法。
【0154】
<J.利点>
本実施の形態に従う画像計測システムは、投影パターンの照射基準面からの距離を算出できなかった欠損部分に対して、投影パターンを照射基準面から任意の距離にある平面に照射した場合に撮像されるであろう仮想背景画像または仮想背景画像コードを用いた推定処理を適用することで、計測の解像度より小さい幅の形状変化を有する対象物であっても、その距離情報を検出できる。
【0155】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0156】
1 計測システム、4 ワーク、5 突起部、8 仮想背景画像、8C 仮想背景画像コード、10 計測ヘッド、11 処理部、12 投光部、13 撮像部、14,110 表示部、15 記憶部、16 通信インターフェイス(I/F)部、18 部分入力画像、18C 入力画像コード、100 画像計測装置、102 プロセッサ、104 メインメモリ、106 ストレージ、108 入力部、112 光学ドライブ、114 下位インターフェイス部、115 記録媒体、116 上位インターフェイス部、118 プロセッサバス、150 1次パターン検出部、152 1次三次元情報復元部、154 欠損部分抽出部、156 パターン生成部、158 仮想背景画像生成部、160 合成パターン生成部、162 2次三次元情報復元部、164 合成画像除去部、1060 OS、1062 三次元計測プログラム、P 投影パターン、P1,P2 プリミティブ断片、R プリミティブ位置、W1,W2,W3 ワード、Wword ワード幅、X1,X2 境界。