(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-09
(45)【発行日】2022-03-17
(54)【発明の名称】自動工業検査における3Dビジョンの使用
(51)【国際特許分類】
G01N 21/88 20060101AFI20220310BHJP
G06T 7/00 20170101ALI20220310BHJP
【FI】
G01N21/88 J
G06T7/00 C
【外国語出願】
(21)【出願番号】P 2016125836
(22)【出願日】2016-06-24
【審査請求日】2019-05-10
(32)【優先日】2015-06-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100134832
【氏名又は名称】瀧野 文雄
(74)【代理人】
【識別番号】100165308
【氏名又は名称】津田 俊明
(74)【代理人】
【識別番号】100115048
【氏名又は名称】福田 康弘
(72)【発明者】
【氏名】マイケル デイヴィッド ジェイ.
【審査官】小野寺 麻美子
(56)【参考文献】
【文献】米国特許第05808735(US,A)
【文献】特開2012-021919(JP,A)
【文献】特開2010-230452(JP,A)
【文献】特開2011-214903(JP,A)
【文献】特開2009-145285(JP,A)
【文献】特開2002-039962(JP,A)
【文献】特開2014-109530(JP,A)
【文献】米国特許出願公開第2002/0186878(US,A1)
【文献】J.Guhring,Reliable 3D Surface Acquisition, Resistration and Validation using Statistical Error Models,PROCEEDINGS.THIRD INTERNATIONAL CONFERENCE,2001年,p224-231
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84 - G01N 21/958
G01B 11/00 - G01B 11/30
G06T 1/00 - G06T 1/40
G06T 3/00 - G06T 9/40
(57)【特許請求の範囲】
【請求項1】
三次元(3D)ビジョンシステムを用いる3Dビジョン検査の方法において、
前記3Dビジョンシステムを用いて、3D物体の少なくとも一つの3D画像
であってポイントクラウドを備える少なくとも一つの3D画像を取得する工程と、
前記3Dビジョンシステムを用いて、前記少なくとも一つの3D画像を3Dリファレンス画像にレジスターする工程と、
前記3Dビジョンシステムを用いて、前記レジスターされた少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、
前記3Dビジョンシステムを用いて、前記レジスターされた少なくとも一つの3D画像と前記3Dリファレンス画像との、3D分散モデルを超える3D差の検出に基づいて、前記3D物体における欠陥を検出する工程と、を含み、
前記3D分散モデルは、前記3Dリファレンス画像内における表面位置又は表面パッチに関する推定された統計を含み、
前記3D差が、前記3D分散モデルの対応する表面位置又は表面パッチの固定閾値を超えたこと又は標準偏差の倍数を超えたことに基づいて、前記欠陥が検出される
ことを特徴とする方法。
【請求項2】
前記方法が、前記少なくとも一つの3D画像をフィルタ処理する工程をさらに含み、
前記少なくとも一つの3D画像を前記3Dリファレンス画像にレジスターする工程が、前記少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像にレジスターすることを含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記方法が、前記レジスターされた少なくとも一つのフィルタ処理された3D画像をフィルタ処理する工程をさらに含み、
前記レジスターされた少なくとも一つのフィルタ処理された3D画像を前記3Dリファレンス画像と比較する工程が、前記フィルタ処理された、前記レジスターされた少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像と比較することを含む
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記レジスターされた少なくとも一つの3D画像と前記3Dリファレンス画像との3D差を検出する工程が、前記レジスターされた少なくとも一つのフィルタ処理された3D画像と前記3Dリファレンス画像との3D差を検出することを含む
ことを特徴とする請求項3に記載の方法。
【請求項5】
前記方法が、前記3Dビジョンシステムをトレーニングする工程をさらに含み、
前記トレーニングする工程が、
前記3Dビジョンシステムを用いて、前記3D物体の複数の3Dトレーニング画像を取得する工程と、
前記3Dビジョンシステムを用いて、前記複数の3Dトレーニング画像に基づいて前記3Dリファレンス画像を推定する工程と、
前記3Dビジョンシステムを用いて、前記3Dリファレンス画像に基づいて3D分散モデルを推定する工程と、によって、複数のサンプルから良い部分の許容可能なバリエーションを学習することを含む
ことを特徴とする請求項1~4の何れか一項に記載の方法。
【請求項6】
前記方法が、前記
複数の3Dトレーニング画像をフィルタ処理する工程をさらに含み、
前記
複数の3Dトレーニング画像に基づいて前記3Dリファレンス画像を推定する工程が、前記
複数のフィルタ処理された3Dトレーニング画像に基づいて、前記3Dリファレンス画像を推定することを含む
ことを特徴とする請求項5に記載の方法。
【請求項7】
前記方法が、前記3Dリファレンス画像をフィルタ処理する工程をさらに含み、
前記3Dリファレンス画像に基づいて前記3D分散モデルを推定する工程が、前記フィルタ処理された3Dリファレンス画像に基づいて前記3D分散モデルを推定することを含む
ことを特徴とする請求項5に記載の方法。
【請求項8】
三次元(3D)ビジョンシステムを用いる3Dビジョン検査の方法において、
前記3Dビジョンシステムを用いて複数の3Dトレーニング画像を取得し、前記3Dビジョンシステムを用いて前記複数の3Dトレーニング画像に基づいて3Dリファレンス画像を推定することによって、前記3Dビジョンシステムをトレーニングする工程と、
前記3Dビジョンシステムを用いて、3D物体の少なくとも一つの3D画像
であってポイントクラウドを備える少なくとも一つの3D画像を取得する工程と、
前記3Dビジョンシステムを用いて、前記少なくとも一つの3D画像を前記3Dリファレンス画像にレジスターする工程と、
前記3Dビジョンシステムを用いて、前記
レジスターされた少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、
前記3Dビジョンシステムを用いて、前記
レジスターされた少なくとも一つの3D画像と前記3Dリファレンス画像との3D差を検出する
ことに基づき前記3D物体における欠陥を検出する工程と、を含
み、
前記3D差は、3D分散モデルを超えるものであり、
前記3D分散モデルは、前記3Dリファレンス画像内における表面位置又は表面パッチに関する推定された統計を含み、
前記3D差が、前記3D分散モデルの対応する表面位置又は表面パッチの固定閾値を超えたこと又は標準偏差の倍数を超えたことに基づいて、前記欠陥が検出される、ことを特徴とする方法。
【請求項9】
前記方法が、前記少なくとも一つの3D画像をフィルタ処理する工程をさらに含み、
前記少なくとも一つの3D画像を前記3Dリファレンス画像にレジスターする工程が、前記少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像にレジスターすることを含む
ことを特徴とする請求項
8に記載の方法。
【請求項10】
前記方法が、前記少なくとも一つのフィルタ処理された3D画像をフィルタ処理する工程をさらに含み、
前記少なくとも一つのフィルタ処理された3D画像を前記3Dリファレンス画像と比較する工程が、前記フィルタ処理された少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像と比較することを含む
ことを特徴とする請求項
9に記載の方法。
【請求項11】
前記少なくとも一つの3D画像と前記3Dリファレンス画像との3D差を検出する工程が、前記少なくとも一つのフィルタ処理された3D画像と前記3Dリファレンス画像との3D差を検出することを含むことを特徴とする請求項
9に記載の方法。
【請求項12】
前記3Dビジョンシステムをトレーニングする工程が、
前記3Dビジョンシステムを用いて、前記3Dリファレンス画像に基づいて
前記3D分散モデルを推定する工程を含
む
ことを特徴とする請求項
8~1
1の何れか一項に記載の方法。
【請求項13】
前記方法が、前記
複数の3Dトレーニング画像をフィルタ処理する工程をさらに含み、
前記複数の3Dトレーニング画像に基づいて前記3Dリファレンス画像を推定する工程が、前記
複数のフィルタ処理された3Dトレーニング画像に基づいて、前記3Dリファレンス画像を推定することを含む
ことを特徴とする請求項
8に記載の方法。
【請求項14】
前記方法が、前記3Dリファレンス画像をフィルタ処理する工程をさらに含み、
前記3Dリファレンス画像に基づいて前記3D分散モデルを推定する工程が、前記フィルタ処理された3Dリファレンス画像に基づいて前記3D分散モデルを推定することを含む
ことを特徴とする請求項1
2に記載の方法。
【請求項15】
前記少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、前記少なくとも一つの3D画像と前記3Dリファレンス画像との3D差を検出する工程と、が、
前記3Dビジョンシステムを用いて、前記少なくとも一つの3D画像を前記3Dリファレンス画像にレジスターする工程と、
前記3Dビジョンシステムを用いて、前記レジスターされた少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、
前記3Dビジョンシステムを用いて、前記レジスターされた少なくとも一つの3D画像と前記3Dリファレンス画像との3D差を検出する工程と、をさらに含む
ことを特徴とする請求項
8に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2015年6月26日に出願された「自動工業検査における3Dビジョンの使用」と称される米国仮出願番号第62/185,444号に基づくとともにその利益を主張し、当該仮出願の内容はここに引用することにより盛り込まれているものとする。
【0002】
本出願は、さらに、2016年1月19日に出願された「自動工業検査における3Dビジョンの使用」と称される米国仮出願番号第62/280,625号に基づくとともにその利益を主張し、当該仮出願の内容はここに引用することにより盛り込まれているものとする。
【0003】
(連邦政府の支援による研究に関する言明)
該当無し。
【0004】
工業コンピュータビジョンにおいて、検査のための追加のデータソースとして3D画像の採用が増えている。本出願は、工業コンピュータビジョンシステムにおける自動視覚的検査3D画像データの使用を探る。以下の開示は、自動ビジュアル工業検査のためのシステム及び方法を提供し、3D工業検査と2D工業検査の違いを検証し、そして、自動3D工業検査アプローチの背後にある技術的詳細について例を含めて提供する。
【背景技術】
【0005】
工業コンピュータビジョンは、コンピュータビジョンの学問的/教育的及び政治的/軍事的応用と同じアルゴリズム及びアプローチの多くを使用するものの、異なる制約を有する。工業コンピュータビジョンシステムは、学問的/教育的コンピュータビジョンシステムに比べ、より高いロバスト性、信頼性及び安定性を暗示することができる。また、政治的/軍事的応用に比べてより低いコストを暗示することができる。コンピュータビジョンの他の応用分野に比べて、自動工業検査システムは、低コスト、許容精度、高ロバスト性、高信頼性、並びに検査される製造プロセスに内在又は伴うものに見合う高い機械的及び温度安定性を暗示することができる。
【0006】
工業コンピュータビジョンシステムが信頼できるものであるために、その部品、ハードウェアとソフトウェアの両方、は、各々信頼できるものでなければならない。極めて重要なハードウェア部品のうちの一つは、カメラである。民生用3Dカメラは民生用応用に用いられる。これらのカメラの例として、Microsoft製のKinect(登録商標) V2などの飛行時間カメラ、Intel製のRealsense(登録商標) 3Dなどのステレオカメラ、Lytro製のILLUM(登録商標)などの光照射野測定カメラがある。これらのカメラは工業応用での使用に十分な信頼性はないものの、構造化された照明に基づくものと同じ画像化原理が、工業3Dカメラに用いられている。
【0007】
2D画像を用いて物体を自動的に視覚的に検査するための技法は、当該分野において周知である。例えば、米国特許第5,640,200号、「効率的な画像レジストレーションを使用するゴールデンテンプレート比較」、1997年6月17日、David J. Michaelを参照されたく、その全体が参照により本明細書に盛り込まれている。検査のための2D画像の使用において、3D画像は2D画像に変換され、その後、2D画像として検査される。しかしながら、そのようにすることで、3D形状又は体積についての情報が失われる。3D画像から変換された2D画像を検査することにより、検査結果が、変換された2D画像において最も目立つ特徴に偏ってしまう可能性もある。3Dデータをスライスする又は3Dデータを2D画像に数学的に投影することで3D画像を2D画像に変換するための技法は、コンピュータグラフィックレンダリング分野において周知である。
【0008】
上で議論した2D検査に対して、3Dポイントクラウドを直接検査することは当該分野では知られていない。本明細書において、直接検査された3D画像のための3D検査技法、そして3Dデータの断片(patches)を処理するためにこれらの技法を直接応用することについて記載する。
【発明の概要】
【0009】
本実施形態は、三次元(3D)ビジョンシステムを用いる3Dビジョン検査のためのシステム及び方法を提供することによって、従来技術のデメリットを克服する。当該システム及び方法は、前記3Dビジョンシステムを用いて3D物体の少なくとも一つの3D画像を取得すること、前記3Dビジョンシステムを用いて前記3D画像の3D視覚ランタイムマスクを抽出すること、前記3Dビジョンシステムを用いて前記3Dランタイム視覚マスクを3Dリファレンス視覚マスクと比較すること、前記3Dビジョンシステムを用いて、前記3Dランタイム視覚マスクと前記3Dリファレンス視覚マスクの間に画素の差が存在するか否かを決定すること、を含むことを特徴とする。
【0010】
本発明の別の実施形態によれば、三次元(3D)ビジョンシステムを用いる3Dビジョン検査のための方法が開示される。この方法は、前記3Dビジョンシステムを用いて3D物体の少なくとも一つの3D画像を取得する工程と、前記3Dビジョンシステムを用いて、前記少なくとも一つの3D画像を3Dリファレンス画像にレジスターする工程と、前記3Dビジョンシステムを用いて、前記レジスターされた少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、前記3Dビジョンシステムを用いて、前記レジスターされた少なくとも一つの3D画像と前記3Dリファレンス画像の3D差を検出する工程と、を含み、前記3D差は3D分散モデルを超えるものであることを特徴とする。
【0011】
一部の実施形態では、前記方法が、前記少なくとも一つの3D画像をフィルタ処理する工程をさらに含み、前記少なくとも一つの3D画像を前記3Dリファレンス画像にレジスターする工程が、前記少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像にレジスターすることを含む。
【0012】
一部の実施形態では、前記方法が、前記レジスターされた少なくとも一つのフィルタ処理された3D画像をフィルタ処理する工程をさらに含み、前記レジスターされた少なくとも一つのフィルタ処理された3D画像を前記3Dリファレンス画像と比較する工程が、前記フィルタ処理されたレジスターされた少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像と比較することを含む。
【0013】
一部の実施形態では、前記レジスターされた少なくとも一つの3D画像と前記3Dリファレンス画像の3D差を検出する工程が、前記レジスターされた少なくとも一つのフィルタ処理された3D画像と前記3Dリファレンス画像の3D差を検出することを含む。
【0014】
一部の実施形態では、前記方法が、前記3Dビジョンシステムをトレーニングする工程をさらに含み、前記トレーニングする工程が、前記3Dビジョンシステムを用いて前記3D物体の少なくとも一つの3Dトレーニング画像を取得する工程と、前記3Dビジョンシステムを用いて前記少なくとも一つの3Dトレーニング画像に基づいて前記3Dリファレンス画像を推定する工程と、前記3Dビジョンシステムを用いて、前記3Dリファレンス画像に基づいて3D分散モデルを推定する工程と、を含む。
【0015】
一部の実施形態では、前記方法が、前記少なくとも一つの3Dトレーニング画像をフィルタ処理する工程をさらに含み、前記少なくとも一つの3Dトレーニング画像に基づいて前記3Dリファレンス画像を推定する工程が、前記少なくとも一つのフィルタ処理された3Dトレーニング画像に基づいて、前記3Dリファレンス画像を推定することを含む。
【0016】
一部の実施形態では、前記方法が、前記3Dリファレンス画像をフィルタ処理する工程をさらに含み、 前記3Dリファレンス画像に基づいて前記3D分散モデルを推定する工程が、前記フィルタ処理された3Dリファレンス画像に基づいて前記3D分散モデルを推定することを含む。
【0017】
本発明の別の実施形態によれば、三次元(3D)ビジョンシステムを用いる3Dビジョン検査のための方法が開示される。この方法は、前記3Dビジョンシステムを用いて3D物体の少なくとも一つの3D画像を取得する工程と、前記3Dビジョンシステムを用いて前記3D画像の3D視覚ランタイムマスクを抽出する工程と、前記3Dビジョンシステムを用いて前記3Dランタイム視覚マスクを3Dリファレンス視覚マスクと比較する工程と、前記3Dビジョンシステムを用いて、前記3Dランタイム視覚マスクと前記3Dリファレンス視覚マスクの間に画素の差が存在するか否かを決定する工程と、を含むことを特徴とする。
【0018】
一部の実施形態では、前記方法が、画素の差が3D分散モデルを超えるか否かを決定する工程をさらに含む。
【0019】
一部の実施形態では、前記方法が、ケアマスクを作成する工程をさらに含む。
【0020】
一部の実施形態では、前記方法が、前記ケアマスクを前記少なくとも一つの3D画像に適用する工程をさらに含む。
【0021】
一部の実施形態では、前記ケアマスクは、前記3Dビジョンシステムとユーザによる入力との組み合わせによって作成することができる。
【0022】
一部の実施形態では、前記方法が、前記ケアマスクを用いて、前記3Dリファレンス視覚マスクと前記3Dランタイム視覚マスクの比較のエリアを限定することを含む。
【0023】
一部の実施形態では、前記方法が、前記比較において前記ケアマスクをバイナリ・マスクとして用い、前記ケアマスク内に含まれない画素を除外することをさらに含む。
【0024】
一部の実施形態では、前記方法は、前記ケアマスクを重み付きマスクとして用い、前記ケアマスクの一部分内の画素により重みを与えるとともに、ケアマスクの他のエリア内の画素の重みを小さくすることをさらに含む。
【0025】
本発明の別の実施形態によれば、三次元(3D)ビジョンシステムを用いる3Dビジョン検査のための方法が開示される。この方法は、前記3Dビジョンシステムを用いて3D物体の少なくとも一つの3D画像を取得する工程と、前記3Dビジョンシステムを用いて前記少なくとも一つの3D画像を3Dリファレンス画像にレジスターする工程と、前記3Dビジョンシステムを用いて前記少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、前記3Dビジョンシステムを用いて、前記少なくとも一つの3D画像と前記3Dリファレンス画像の3D差を検出する工程と、を含むことを特徴とする。
【0026】
一部の実施形態では、前記3D差は3D分散モデルを超える。
【0027】
一部の実施形態では、前記方法が、前記少なくとも一つの3D画像をフィルタ処理する工程をさらに含み、前記少なくとも一つの3D画像を前記3Dリファレンス画像にレジスターする工程が、前記少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像にレジスターすることを含む。
【0028】
一部の実施形態では、前記方法が、前記少なくとも一つのフィルタ処理された3D画像をフィルタ処理する工程をさらに含み、前記少なくとも一つのフィルタ処理された3D画像を前記3Dリファレンス画像と比較する工程が、前記フィルタ処理された少なくとも一つのフィルタ処理された3D画像を、前記3Dリファレンス画像と比較することを含む。
【0029】
一部の実施形態では、前記少なくとも一つの3D画像と前記3Dリファレンス画像の3D差を検出する工程が、前記少なくとも一つのフィルタ処理された3D画像と前記3Dリファレンス画像の3D差を検出することを含む。
【0030】
一部の実施形態では、前記方法が、前記3Dビジョンシステムをトレーニングする工程をさらに含み、前記トレーニングする工程が、前記3Dビジョンシステムを用いて前記3D物体の少なくとも一つの3Dトレーニング画像を取得する工程と、前記3Dビジョンシステムを用いて前記少なくとも一つの3Dトレーニング画像に基づいて前記3Dリファレンス画像を推定する工程と、前記3Dビジョンシステムを用いて、前記3Dリファレンス画像に基づいて3D分散モデルを推定する工程と、を含む。
【0031】
一部の実施形態では、前記方法が、前記少なくとも一つの3Dトレーニング画像をフィルタ処理する工程をさらに含み、前記少なくとも一つの3Dトレーニング画像に基づいて前記3Dリファレンス画像を推定する工程が、前記少なくとも一つのフィルタ処理された3Dトレーニング画像に基づいて、前記3Dリファレンス画像を推定することを含む。
【0032】
一部の実施形態では、前記方法が、前記3Dリファレンス画像をフィルタ処理する工程をさらに含み、 前記3Dリファレンス画像に基づいて前記3D分散モデルを推定する工程が、前記フィルタ処理された3Dリファレンス画像に基づいて前記3D分散モデルを推定することを含む。
【0033】
一部の実施形態では、前記少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、前記少なくとも一つの3D画像と前記3Dリファレンス画像の3D差を検出する工程と、が、前記3Dビジョンシステムを用いて前記少なくとも一つの3D画像を前記3Dリファレンス画像にレジスターする工程と、前記3Dビジョンシステムを用いて前記レジスターされた少なくとも一つの3D画像を前記3Dリファレンス画像と比較する工程と、前記3Dビジョンシステムを用いて、前記レジスターされた少なくとも一つの3D画像と前記3Dリファレンス画像の3D差を検出する工程と、をさらに含む。
【図面の簡単な説明】
【0034】
【
図1】レーザープロファイルセンサの動作の原理を説明する図である。
【
図2】2Dプリント回路基板の上面図及び距離画像表現を用いた当該プリント回路基板の3D画像である。
【
図3】プリント回路基板の2D画像及び同じプリント回路基板の3D画像の斜視図である。
【
図4】3D検査プロセスのトレーニングフェーズ及びランタイムフェーズを説明するフローチャートである。
【
図5】多視点3Dカメラの仕様をリストしたチャートである。
【
図6】欠陥があるプリント回路基板の2D斜視図である。
【
図7】
図6の欠陥があるプリント回路基板の距離画像ビュー及びプリントクラウド表現である。
【
図8】視覚マスクを含む3D検査プロセスにおけるトレーニングフェーズ及びランタイムフェーズを説明するフローチャートである。
【
図9】オプションのケアマスクを用いる3D検査プロセスにおけるトレーニングフェーズ及びランタイムフェーズを説明するフローチャートである。
【発明を実施するための形態】
【0035】
本発明の実施形態について詳細に説明する前に、本発明は、以下の記載又は添付の図面に示される部品の構成及び配置の詳細での応用に限定されるものでないことは理解されるべきである。本発明は、他の形態も可能であると共に、様々な方法で実施又は実行可能である。また、本明細書で用いる表現及び用語は、説明のためのものであり、限定を意図するものでないことは、理解されるべきである。本明細書に記載の「含む」、「備える」又は「有する」及びこれらのバリエーションは、その前にリストされた要素、その同等のもの及び追加の要素を包括することを意味する。別途明記又は限定のない限り、「搭載」、「接続」、「支持」、「結合」及びこれらのバリエーションの用語は、広義に使用され、直接的及び間接的な搭載、接続、支持及び結合を包括する。さらに、「接続」及び「結合」は、物理的又は機械的な接続又は結合に制限されない。
【0036】
以下の解説は、当業者が本発明の実施形態を作成及び使用することを可能とするために示される。示された実施形態への様々な修正は当業者に明らかであり、本発明の実施形態から逸脱することなく本明細書に記載の包括的な原理を他の実施形態及び応用に適用することができる。したがって、本発明の実施形態は示された実施形態に限定されることは意図されておらず、本明細書に開示された原理及び特徴と一致する最も広い範囲とされるべきである。以下の詳細な記載は、図面を参照して理解されるべきであり、異なる図面における同様の構成要素には同様の符号を付してある。図面は、必ずしも原寸に比例しておらず、選択された実施形態を描写し、本発明の実施形態の範囲を限定することは意図していない。当業者であれば、本明細書に示された例が多くの有用な代替のものを有し、本発明の実施形態の範囲内であることを認識するであろう。
【0037】
自動検査は、数十年間にわたり工業コンピュータビジョンにおける重要なタスクであった。自動検査は、案内(例えば、組立用案内ロボット)、識別/認識(例えば、バーコード及び特徴の読取り、又は色、形状若しくは質感によるマッチング)、及び計測(寸法測定)とともに、重要な応用である。
【0038】
この応用のために、検査は、欠陥の発見又は製造プロセスが許容誤差内に維持されているかの決定として定義される。欠陥は、限定を意図しない一例として、許容範囲から外れた測定特徴として定義することができる。
【0039】
2D工業コンピュータビジョンにおける品質検査は多くの例が存在する。これらの品質検査は、四つのグループに分類することができ、それらは、表面検査、寸法検査、構造検査、及び動作検査である。2D工業コンピュータビジョンタスクを分類する他の方法は、システムにより測定される自由度によるもので、位置姿勢、サイズ、形状、色、質感又は照明である。
【0040】
工業検査として2Dビジョンの代わりに3Dビジョンを考慮する理由の一つは、2D検査が不適切な場合である。これは、2D画像よりも3D画像からより正確に又は安定して抽出された物理的サイズ、面積又は体積によって検査特性が特徴付けられる場合、及び3D画像のコストがそれほど高くない場合に起る。これが事実である場合、3D画像データが使用される可能性がある。
【0041】
3Dカメラ及び3Dデータセットを用いる3Dコンピュータビジョンと、2Dコンピュータビジョン及び2D画像を比較すると、多くの構成要素がよく知られている。これらは、カメラ及びカメラ較正、多次元画像データ及びそれに関連した表現品、ノイズ除去又は信号強調のための画像フィルタリング、及び画像レジストレーション又は位置姿勢推定を含む。各要素の詳細は、同じ部分の2D画像と3D画像を比べても、かなり異なる。
【0042】
欠陥を調べるために画像化され得る3D物体の限定を意図しない例は、ブラケット、タービンブレード、歯ブラシ又はタイルを含んでもよい。これら及び他の物体は、金属、プラスチック、木材及び/又はセラミックなどの多様な異なるタイプの材料から作成されてもよい。3D物体は、表面仕上げが粗いものから滑らかなものまで様々でよく、任意の色又はパターンでもよい。
【0043】
図1は、レーザープロファイルセンサ100の動作の原理を説明する図である。三角測定に基づき、カメラ及びレーザーは、物体を、ベースライン分離距離からとらえる(view)ことができる。とらえられたレーザーラインの位置が物体の高さに直接対応することから、これらの位置を距離画像又はポイントクラウドの形で3D高さデータに変換することができる。これにより3D高さデータの単一列が生成されるのみであることに留意する。物体全体をカバーするためには、カメラ又は物体の何れかを移動させなければならない。通常、物体がカメラの下で、移動ステージ又はコンベアベルトの上で移動し、あるいは、カメラがロボットにより移動される。
図2は、2Dプリント回路基板200の上面図及び距離画像表現202を用いたプリント回路基板の3D画像を示す。
【0044】
図3は、プリント回路基板300の2D画像と、同じプリント回路基板の3D画像302の差の一部を示す。2D画像は、回路基板の表面の透視マッピング(perspective mapping)である。これには、基板の表面上のパターンに関する情報(画像化光学システムにより歪められた回路基板表面のアルベド)及び入射照明が含まれる。3D画像は、プリント回路基板自体の3D形状、サイズ及び寸法に関する情報を含む。アルベド値は、明らかな3D形状に僅かに影響を及ぼしてもよく、アーチファクトを生じてもよく又は目に見えなくてもよい。
【0045】
また、
図3は、プリント回路基板の2D画像と、同じプリント回路基板の3D画像との差を、斜視図で示す。2D画像は、強い遠近感とともに、かなり異なる見た目を有し得る。前景はかなり広い。遠景はより狭い。一方、両方の図における内在する3Dデータは同一である。3D画像は異なるビューポイントから表示されているだけで、遠近感は画像データにはエンコードされない。
【0046】
カメラハードウェアもまたかなり異なり得る。3D工業カメラは、2D工業カメラ(日用品化されつつある)よりも、一般的に複雑であってコストも高い。
【0047】
較正プロセスは、2Dカメラと3Dカメラとではかなり異なる。2Dビジョンでは、完全に較正されたカメラ(内因性及び外因性で推定された)は、物体が平坦であるなどの特別な状況を除いて、物体空間における較正を暗示しない。3Dビジョンでは、カメラ較正は、しばしば物体空間較正をもたらすことができる。つまり、3Dビジョンでは、較正された物体寸法(物理的寸法)が得られる。
【0048】
2D工業コンピュータビジョンシステムカメラ光学は、しばしば柔軟かつ交換可能である。したがって、必要なレンズ較正を行わなければならないシステムインテグレーターによって、2Dカメラレンズの選択がなされる。この柔軟性は、3Dカメラでは、レンズまたは光学的構成が通常は製造業者によって固定されていることから、ほとんど得られない。しかしながら、このことは、3Dカメラ製造業者によって製造時に較正(又は部分較正)を達成することができるという利益がある。しかしながら、これは、レンズの交換という選択肢がない、正しい3Dカメラ仕様の選択において、システムインテグレーターがより大きな責任を負うこととなる。
【0049】
画像表現もまた3Dでは異なり得る。2Dビジョンでは、画像はほぼ常に、モノクロ又は色彩強度の2Dアレイとして表現される。3Dビジョンでは、画像は、3Dポイントの一群(ポイントクラウド)、又は深さ/高さの値からなる2Dアレイ(見える表面の距離画像表現)、又はスカラー若しくはベクトル測定値からなる3Dアレイ(高密度体積表現)でもよい。いかなる処理も、画像表現に対応しなければならない。
【0050】
さらに、3D画像データではノイズが異なる。カメラは、オクルージョン又は信号リターンの悪さが原因で、高密度3Dデータを取得しない場合がある。また、カメラ側で、画像データがどこで欠落しているのかを知ることができる。ノイズは、3Dカメラの詳細に依存して、ゴースト反射又は隔離された点という形をとる。ノイズ除去のための3Dにおける画像フィルタリングの選択は、3Dカメラの詳細な特徴に依存すべきである。
【0051】
したがって、3Dビジョンシステムを工業検査に使用することができ、以下に3Dビジョンシステムについてより詳細に記載する。本願に記載の工業検査へのアプローチは、いくつかの実施形態において、正常バリエーションの外にある製造部品の3Dバリエーションを検出するために用いることができる。欠陥の例としては、3D物体を3Dリファレンス物体と比較したときの、その3D物体からの材料の欠落、又はその3D物体への余分な材料などがある。しかしながら、部品の位置、部品の高さ、部品の向きなどの他の欠陥もまた、3Dビジョンシステムを用いて検出することができる。
【0052】
図4は、3D検査アプローチを要約したものをしめす。このアプローチは、トレーニングフェーズ400を含み、このフェーズは、検査のセットアップが終わり、リファレンス・アライメント・テンプレートと正常バリエーションの両方が推定されたときに、行われてもよい。さらに、上記アプローチは、ランタイムフェーズ450を含み、このフェーズでは、テスト部分が画像化され、レジスターされ、「ゴールデン部分」(アライメントにおいて、これはリファレンス・アライメント・テンプレートである)と比較されて、欠陥がテスト部分の正常バリエーションを超えた場合に、その欠陥が検出される。
【0053】
トレーニングフェーズ400は、セットアッププロセス中に起る。これは、許容可能なバリエーションを有する検査対象の物体の3D画像(「トレーニング画像」)の収集、及びこれらのバリエーションの理解に関連する。さらに、代表的なデータの収集は、検査の成功のカギを握る重要な部分である。代表的なデータセットは、分散モデルを作成し検証するために用いることもできる。トレーニング工程は、以下により具体的に記載するように、1)「良い(good)」サンプルの複数の例を収集して良いサンプルの3D画像(「トレーニング画像」)を取得し、2)ポイントクラウド・アライメント又は他の適切な3Dアライメント技法をもちいて、「良い」サンプルを互いに(又は最初のものと)整列させ、3)徐々に追加して又は「バッチモード」(例えば、統計的部分、各表面パッチの平均+標準偏差、を作成)の何れかで、全ての整列されたサンプルから良い部分の許容可能なバリエーションを学習すること、を含む。
【0054】
ブロック402において、3Dカメラを選択することができる。異なるベンダーから販売されている、異なる画像化原理を用いた工業3Dカメラが数多く存在する。用いられている画像化原理の例としては、Shape-from技法、ステレオ方式(Stereo)、構造化照明方式(Structured Light)、飛行時間方式(Time-of-Flight)、ライトフィールド生成(Light field generation)が挙げられる。入手可能な3D画像化装置は、Cognex社製のDS1000シリーズなどのレーザー光プロファイルカメラ、Microsoft製のKinect(登録商標) V2などの飛行時間カメラ、Intel製のRealsense(登録商標) 3Dなどのステレオカメラを含んでもよい。
【0055】
周辺光制限、限られたモーションキャプチャ能、表面特性、ノイズ特性又は分解能が原因で、使用される画像化原理によって検査できるものが限定される場合がある。しかしながら、画像化原理が検査を可能にしたとしても、3Dカメラは通常固定の光学を有する。したがって、画素分解能、サイズ、フォーマット及びインターフェースのみを制限する2Dカメラの選択とは異なり、3Dカメラは通常、固定の撮影範囲、フィールド・オブ・ビュー、照明及びx,y,zにおける分解能も有する。
図5は、3Dカメラ仕様500の例を示す。結論としては、3Dカメラの選択は慎重に行う必要がある。
【0056】
加えて、3D画像データは、ポイントクラウド(画像化装置からくるx,y,z座標を含む3Dポイントの収集)又は距離画像(z深さ又はz高さデータの2Dアレイ)などの異なる表現を有する点で、2D画像と異なる。
【0057】
トレーニングフェーズ中、プロセスブロック404において、3Dトレーニングデータセットを収集するために複数の3D画像を取得することができる。トレーニング画像を互いに整列させるのに使用できるとともに、平均及び分散データの推定を可能とする3Dアライメントモデルを作成するために、その後、許容可能なバリエーションを有する3D画像を選択することができる。さらなる検証及び試験のために、追加の画像を収集することもできる。
【0058】
プロセスブロック406において、取得された画像をフィルタ処理することができる。一実施例では、アライメントを向上させるためにアーチファクトを除去するために、画像をフィルタ処理してもよい。目標は、アライメントの正確さを低下させ得るアーチファクトの除去である。そのようなアーチファクトは、ある部分への鏡面反射性ハイライトに起因するゴースト・スパイクでもよい。スパイクは、その部分の表面から離れた隔離された点として定義することができる。これらのアーチファクトを除去するために、これらを検出することが必要となる。別個の及び/又は独立したフィルタリングを用いて、アライメント用のアーチファクト及び検査用のアーチファクトを除去することができる。検査フィルタリングは、後のステージで行ってもよい。可能な、限定を意図しないフィルタの例として、検出されたオクルージョンからの欠測データにわたる挿入、隔離された画素などの画像化アーチファクト(スパイク又は穴)の除去、及び密度正規化が挙げられる。このフィルタリングを用いて、アライメントのための画像分解能を選択すること、及びトレーニング画像が同じ画像分解能を有することを保証することもできる。また、フィルタリングを用いて、外れ値又は検査中に考慮すべきでない小さな領域を除去することもできる。加えて、フィルタリングは、Cognex製VisionPro(登録商標)などの市販のソフトウェアを用いて又はオープン・ソース・ツールを用いて行うことができる。
【0059】
プロセスブロック408において、3Dリファレンス画像を推定することができる。フィルタリングステップ406において決定された許容可能なバリエーションを有する3D画像を用いて、3Dアライメントモデルを作成することができる。3Dアライメントモデルを用いて、そのアライメントモデルに対するトレーニング画像の相対的アライメント(並進及び回転)を、バッチモードで、一つずつ、増加的に又は一度に推定することができる。この相対的アライメントの推定は、3D画像を互いに整列させるために当該分野で周知の3Dアライメント技法を用いて行うことができる。例えば、Cognex製VisionPro(登録商標)のツールキットなどの市販の画像レジストレーション・ツールを用いてもよく、又は、http://www.pointcloud.orgより入手可能なPCLライブラリあるいは3DTK、若しくはhttp://sourceforge.net/projects/slam6d/から入手可能な3Dツールキットなどのオープン・ソース・レジストレーション・ツールを用いてもよい。次に、オプションで、3Dレジストレーション・ツールにより得られた相対的アライメントの推定を用いて、3D画像を、互いに整列させるとともに、アライメントにできるだけ近づけて再レンダリングしてもよい。再レンダリングは、従来の3Dコンピュータグラフィック技法によって行ってもよい。この再レンダリングステップはオプションではあるものの、以下のステップを簡単化できるので望ましい。
【0060】
プロセスブロック410において、再度画像をフィルタ処理することができる。プロセスブロック410でのフィルタリングステップを用いて、欠陥を見付けるための適切なスケールを設定するために、分散推定のためにモデルの分解能を調整することができる。アライメントのためのフィルタリングとは異なり、画像内にスパイク及び穴が残されていてもよい。モデルの分解能の調整は、距離画像データに対して直接行ってもよく、又はポイントクラウドデータを再度メッシュ分割(re-meshing)することにより行ってもよい。
【0061】
最後に、プロセスブロック412において、3D分散モデルを推定することができる。一実施形態では、再レンダリングされた又は整列された3D画像内の各表面位置又は表面パッチの統計データを推定することができる。これらの統計データは、平均位置、平均表面配向、位置の標準偏差、表面配向の標準偏差などを含んでもよい。オプションで、これらの3D統計データは、各寸法(dimension)について異なる分解能で収集されてもよい。統計データの収集により、欠落した画素を考慮することができる(例えば、一部のパッチは、収集された画像の視点により一部のトレーニング画像で見ることができない)。通常、欠落画素は、どの表面位置又はパッチにおいても、画像統計データに寄与すべきでない。統計データの収集により、3Dデータからの表面パッチの推定の困難性も考慮することができる(たとえは、反射性の及び部分的に透明な部分は、平均表面パッチの推定が困難となる)。
【0062】
次にランタイム手順450について説明すると、単一検査部分の3D画像の取得、リファレンス部分に対する画像のアライメント、及び存在する欠陥の決定のプロセスが示されている。以下により詳細に記載するように、ランタイム手順450は、通常、1)「テスト」サンプルを取得するステップ、2)ポイントクラウド・アライメント又は他の適切な3Dアライメント技法を用いて「テスト」サンプルを整列させるステップ、3)整列された「テスト」サンプルを、トレーニング手順400中に決定された「良い」統計的部分と比較するステップ、及び4)各得られる画像分解能における潜在的欠陥を特定するステップを含んでもよい。潜在的欠陥は、統計的部分との差の閾値(閾値X標準偏差)を超える「テスト」サンプルの候補表面パッチ、又は「テスト」サンプルとの閾値差を超える平均の「良い」サンプルの候補表面パッチに対応する。欠陥の第一セットは、「テスト」サンプル内のマッチしない特徴に対応してもよい。欠陥の第二セットは、「良い」サンプル内のマッチしない特徴に対応してもよい。
【0063】
プロセスブロック452において、ユーザは3Dカメラを選択することができる。トレーニングの間のセットアッププロセス中に用いたものと同じカメラ及び同じ画像化条件を用いることが重要である。さもなければ、カメラのばらつき又は画像化のばらつきが欠陥として現れる可能性がある。プロセスブロック454において、欠陥を見つけるために3Dテスト画像を取得することができる。
【0064】
プロセスブロック456において、取得された画像をフィルタ処理することができる。第一のフィルタリングステップは、アライメント又は姿勢推定のために画像をフィルタ処理することを含むことができる。目標は、アライメントアルゴリズムの正確さ又はロバスト性を低減させ得るアーチファクトの除去であってもよい。そのようなアーチファクトは、ある部分への鏡面反射性ハイライトに起因するゴースト・スパイクでもよい。スパイクは、その部分の表面から離れた隔離された点として定義することができる。これらのスパイク又は隔離された点の除去には、これらの消去、これらの除去、これらをデータ内の穴又は正しく挿入されたデータと置き換えることが必要となる。
【0065】
プロセスブロック458において、3Dテスト画像を3Dリファレンス画像にレジスターすることができる。その後、適切な3Dアライメント技法を用いて、リファレンス画像に対するテスト部分の並進及び回転を見つけることができる。これは、Cognex製VisionPro(登録商標)ツールキットなどの市販の画像レジストレーション・ツールを用いて、又は、http://www.pointcloud.orgより入手可能なPCLライブラリあるいは3DTK、若しくはhttp://sourceforge.net/projects/slam6d/から入手可能な3Dツールキットなどのオープン・ソース・レジストレーション・ツールを用いて、達成することができる。
【0066】
プロセスブロック460において、画像を再レンダリング及びフィルタ処理することができる。ここで、3D画像データを、リファレンス画像と整列するよう再レンダリングすることができる。その後、3D画像データを、典型的には、表面密度にマッチさせるために、フィルタ処理することができる。他の3D画像データ正規化フィルタリングを、このステップで行ってもよい。
【0067】
プロセスブロック462において、3Dテスト画像を3Dリファレンス画像と比較することができる。3Dテスト画像は、整列され、フィルタ処理され、再レンダリングされた後、リファレンス3Dデータと直接比較されてもよい。例えば、表面パッチ又は個別の画素同士を直接比較してもよい。その際の差は、もしこれらが以下に記載する様々な統計的テストのうちの少なくとも一つを満たす場合、潜在的な欠陥として観測される。
【0068】
プロセスブロック464において、3D分散モデルを超える3D画像データの差を検出することができる。欠陥として考えるには、特定された潜在的欠陥はさまざまな統計的テストのうちの少なくとも一つを満たす必要がある。統計的テストの例としては、1)「良い」サンプルの最も近い平均表面パッチまでの、整列された「テスト」サンプル表面パッチからの距離が大きすぎる、2)整列された「テスト」サンプル表面パッチの配向が、「良い」サンプルの最も近い平均表面パッチの配向とかなり異なる、3)「テスト」サンプルの最も近い平均表面パッチまでの、整列された「良い」サンプル表面パッチからの距離が大きすぎる、又は4)整列された「良い」サンプル表面パッチの配向が、「テスト」サンプルの最も近い平均表面パッチの配向とかなり異なる、が挙げられる。上記の統計的テストの各々は、固定閾値又は平均からの標準偏差の倍数を設定することにより、システムによって、自動的に選択することができる。統計的テストの結果は、欠陥として指定することができる。
【0069】
図6は、欠陥があるプリント回路基板600の2D画像を示す。基板500は、欠落した又は誤った位置に置かれた部品に対応する基板上の4つの考えられる欠陥を示す。
図7は、欠陥があるプリント回路基板600を距離画像として示した3D距離画像700を示す。統計的テストによって特定された4つの欠陥が、参照符号702a-dに対応する。3D距離画像710は、4つの欠陥702a-dを有する、ポイントクラウドとしてみた場合の欠陥があるプリント回路基板600の3D画像を示す。
【0070】
上述のように、3Dアライメント(物体の3D画像を整列させる)は、2Dアライメントと大きく異なる。3Dアライメント及び3D検査においては、例えば、自己オクルージョン、カメラの視野構造及び照明による欠落画素、並びに自己オクルージョンによる3D画像の欠落部分について、対処しなければならない。さらに、画像の差の特定は、3D画像と2D画像でかなり異なる。例えば、3Dポイント位置のノイズが原因で、ポイント間の差分(2D画像で行われるように)は、通常、3Dにおいては効果的に機能しない。むしろ、与えられた分解能での平面間又はファセット間の比較によって、通常、より良いデータが提供される。
【0071】
この応用は、3D工業コンピュータビジョン検査をカバーする。工業コンピュータビジョンにおいて、検査のための追加のデータソースとして3D画像の採用が増えている。本出願では、工業コンピュータビジョンシステムでの自動視覚的検査における3D画像データの使用を記載した。自動ビジュアル工業検査を定義し、3D工業検査と2D工業検査の違いを検証した。最後に、自動3D工業検査アプローチの背後にある技術的詳細を提供するための例を示した。
【0072】
次に
図8を参照すると、欠落画素について3D画像を論理的に評価するためのプロセスが示されている。欠落画素について3D画像を論理的に評価することによって、欠落画素が画像化された物体における材料の欠如によるものなのか、あるいは欠落画素がオクルージョン、自己オクルージョン及び/又は画像キャプチャノイズなどの画像化エラーの結果であるのか、を決定するために欠落画素を評価できるよう、画像を評価することができる。
図8の論理評価プロセスによって、欠落材料と画像化エラーの相違を提供するための分析を提供することができる。
図8は、
図4に関して議論したものと同様の3D検査アプローチを要約したものである。例えば、このアプローチは、トレーニングフェーズ800を含み、このフェーズは、検査のセットアップが終わり、リファレンス・アライメント・テンプレートと正常バリエーションの両方が推定されたときに、行われてもよい。さらに、上記アプローチは、ランタイムフェーズ820を含み、このフェーズでは、テスト部分が画像化され、レジスターされ、「ゴールデン部分」(アライメントにおいて、これはリファレンス・アライメント・テンプレートである)と比較されて、欠陥がテスト部分の正常バリエーションを超えた場合に、その欠陥が検出される。
【0073】
トレーニング手順800は、プロセスブロック802において3Dカメラを選択する工程と、プロセスブロック804において3Dトレーニングデータセットを収集する(複数3D画像取得)工程と、プロセスブロック806において画像をフィルタ処理する工程と、を実行することができる。これらのプロセスは、上記のトレーニング手順400に関して議論したものと同じように動作することができる。プロセスブロック808において、3D視覚トレーニングマスクを抽出することができる。一実施形態において、3D視覚トレーニングマスクは、3Dカメラによって自動的に抽出できる。あるいは、ユーザが、取得された画像のエリアを3Dトレーニング視覚マスクとして選択してもよい。さらに、3Dトレーニング視覚マスクを、3Dカメラによる自動生成とユーザ仕様との組み合わせを介して抽出してもよい。他の実施形態では、コントローラ、コンピュータ又は他の適用可能装置などの外部装置を用いて、3Dトレーニング視覚マスクを抽出してもよい。3Dトレーニング視覚マスクによって、プロセスブロック806においてフィルタ処理された画像内の画素の存否を検出するために、フィルタ処理画像を評価することができる。
【0074】
プロセスブロック808で3Dトレーニング視覚マスクが抽出されると、プロセスブロック810で3Dリファレンス画像が推定される。3Dリファレンス画像は、上記のトレーニング手順400で述べたように推定することができる。プロセスブロック810で3Dリファレンス画像が推定されると、プロセスブロック812で3Dリファレンス視覚マスクを推定することができる。3Dリファレンス画像の推定について上述した方法と同様に、プロセスブロック808で抽出された3Dトレーニング視覚マスクを用いて、3Dリファレンス視覚マスクを推定することができる。3Dアライメントモデルを用いて、そのアライメントモデルに対する3Dトレーニング視覚マスクの相対的アライメント(並進及び回転)を、バッチモードで、一つずつ、増加的に又は一度に推定することができる。この相対的アライメントの推定は、3D画像を互いに整列させるために当該分野で周知の3Dアライメント技法を用いて行うことができる。例えば、Cognex製VisionPro(登録商標)のツールキットなどの市販の画像レジストレーション・ツールを用いてもよく、又は、http://www.pointcloud.orgより入手可能なPCLライブラリあるいは3DTK、若しくはhttp://sourceforge.net/projects/slam6d/から入手可能な3Dツールキットなどのオープン・ソース・レジストレーション・ツールを用いてもよい。次に、3Dレジストレーション・ツールにより得られた相対的アライメントの推定を用いて、3D画像を、互いに整列させるとともに、アライメントにできるだけ近づけて再レンダリングしてもよい。再レンダリングは、従来の3Dコンピュータグラフィック技法によって行ってもよい。この再レンダリングステップはオプションではあるものの、以下のステップを簡単化できるので望ましい。
【0075】
プロセスブロック812で3Dリファレンス視覚マスクが推定されると、プロセスブロック814で、推定された3Dリファレンス画像をフィルタ処理でき、プロセスブロック816で3D分散モデルを推定できる。3D分散モデル816は、上述のトレーニング手順400において説明したプロセスを用いて推定することができる。
【0076】
トレーニング手順800が完了した後、ランタイム手順820を実行することができる。ランタイム手順820では、プロセスブロック824で一以上の3Dテスト画像を取得するために、プロセスブロック822において、プロセスブロック802で選択された3Dカメラを用いることができる。一実施形態では、プロセスブロック824において3つのテスト画像を取得することができる。その後、プロセスブロック826でテスト画像をフィルタ処理することができる。プロセスブロック822、824及び826での、テスト画像を取得するための選択されたカメラの使用及び後続の取得画像のフィルタ処理は、それぞれ、上述したランタイム手順450で説明した方法を用いて実行することができる。プロセスブロック828において、3Dランタイム視覚マスクを抽出することができる。一実施形態において、3Dランタイム視覚マスクを3Dカメラによって自動で抽出できる。さらに、3Dランタイム視覚マスクを、3Dカメラによる自動生成とユーザ仕様との組み合わせを介して抽出してもよい。他の実施形態では、コントローラ、コンピュータ又は他の適用可能装置などの外部装置を用いて、3Dランタイム視覚マスクを抽出してもよい。3Dランタイム視覚マスクによって、プロセスブロック826においてフィルタ処理された画像内の画素の存否を検出するために、フィルタ処理画像を評価することができる。
【0077】
上述のランタイム手順450と同様に、プロセスブロック830において、3Dテスト画像を3Dリファレンス画像にレジスターすることができる。プロセスブロック832において、画像を再レンダリング及びフィルタ処理することができる。ここで、3D画像データは、リファレンス画像と整列するよう再レンダリングされる。その後、3D画像データを、典型的には、表面密度にマッチさせるために、フィルタ処理することができる。他の3D画像データ正規化フィルタリングを、このステップで行ってもよい。
【0078】
ランタイム手順450で説明したように、プロセスブロック834において、3Dテスト画像を3Dリファレンス画像と比較することができる。3Dリファレンス視覚マスクを3Dランタイム視覚マスクと比較するプロセスブロック834での3D画像の比較とは反対に、プロセスブロック836で実行される比較では、混合画素の構成が正確であることを検証するために、論理比較プロセスを用いることができる。比較方法の例としては、論理演算子(AND、OR、XORなど)の使用が挙げられる。例えば、AND演算子を用いて3Dリファレンス視覚マスクを3Dランタイム視覚マスクと比較することができる。AND演算子が用いられる場合、画素が、3Dリファレンス視覚マスクと3Dランタイム視覚マスクの両方に存在する場合のみ、論理値「1」が出力される。比較すると、画素が3Dリファレンス視覚マスクと3Dランタイム視覚マスクとのうちの少なくとも一つに存在する場合に、論理値「1」が出力される。あるいは、平均化、中央値分析、投票システム、及び/又は上記したようなアライメント方法を含む他の比較方法を用いてもよい。
【0079】
推定3Dリファレンス視覚マスクを3Dランタイム視覚マスクと比較することによって、何れの画素の欠落も物体上の材料の欠落に起因するものであって、オクルージョンや画像化ノイズなどに起因する画像化エラーではないことを検証することが可能である。さらに、上述の方法によって、取り込まれた画像内の画素の存否について、トレーニング画像とランタイム画像の両方を効率的に評価することができる。例えば、上記の分析は、与えられた画素が、トレーニング手順800において存在しかつランタイム手順820において欠落している;トレーニング手順800において欠落しかつランタイム手順820において存在している;又はトレーニング手順800とランタイム手順820の両方において欠落していることを、決定することができる。この情報を用いて、取得3D画像をさらに評価することができる。さらに、比較データを、上述した統計的分析などの取得3D画像の統計的分析に用いることができる。
【0080】
次に
図9を参照すると、3D画像を論理的に評価するプロセス900が示されている。プロセス900は上述した
図4及び
図8に示されたものと同様の工程を含む。プロセス900はトレーニング手順902を含む。トレーニング手順は、
図8に関連して説明したプロセスブロック802、804、806、808、810、812、814及び816を含むことができる。プロセスブロック904において、オプションのケアマスクを作成することができる。ケアマスクを用いて、3D物体の関心エリアを選択することができる。一実施形態において、ケアマスクによって選択された関心エリアは、3D物体の2Dエリアでもよい。さらに、ケアマスクによって選択された関心エリアは、3D物体の取得画像の一以上の特定画素でもよい。例えば、ケアマスクによって選択された関心領域は、3D物体の取得画像の特定画素のセットでもよい。ケアマスクは、ユーザによって作成されてもよい。例えば、ユーザは、ケアマスクに含まれるべき3D画像のエリアを選択することができる。あるいは、ケアマスクは、画像化システムによって自動で作成することができる。さらに、ケアマスクは、画像化システムとユーザ入力の組み合わせによって作成することができる。
【0081】
プロセスブロック920において、ランタイム手順が示されている。ランタイム手順920は、
図8に関連して説明したプロセスブロック822、824、826、828、830、832及び838を含むことができる。プロセスブロック922において、3Dテスト画像を3Dリファレンス画像及びケアマスクと比較することができる。ケアマスクは、3Dテスト画像と3Dリファレンス画像の比較のエリアを限定することができる。一実施形態において、ケアマスクは、比較においてバイナリ・マスクとして使用することができ、これによりケアマスク内に含まれていない画素を除外することができる。あるいは、ケアマスクは重み付きマスクとして使用することができ、これによりケアマスクの一部分内の画素により重みを与えるとともに、ケアマスクの他のエリア内の画素の重みを小さくすることができる。上述したように、ケアマスクはユーザによって作成することができ、したがって、ユーザは、プロセスブロック904においてケアマスクの部分によって与えられる重み付けを定めることができる。
【0082】
プロセスブロック924において、ケアマスクを用いて、推定3Dリファレンス視覚マスクを3Dランタイム視覚マスクと比較することができる。ケアマスクは、3Dリファレンス視覚マスクと3Dランタイム視覚マスクとの比較のエリアを限定することができる。一実施形態では、比較においてケアマスクをバイナリ・マスクとして用いることができ、これにより、ケアマスク内に含まれていない画素を除外することができる。あるいは、ケアマスクは、重み付きマスクとして使用することができ、これによりケアマスクの一部分内の画素により重みを与えるとともに、ケアマスクの他のエリア内の画素の重みを小さくすることができる。