(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-13
(54)【発明の名称】検査対象のセマンティックセグメンテーション
(51)【国際特許分類】
G06T 7/70 20170101AFI20231005BHJP
G06T 7/00 20170101ALI20231005BHJP
【FI】
G06T7/70 Z
G06T7/00 610C
G06T7/00 350B
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023519684
(86)(22)【出願日】2021-09-29
(85)【翻訳文提出日】2023-05-19
(86)【国際出願番号】 IL2021051173
(87)【国際公開番号】W WO2022070186
(87)【国際公開日】2022-04-07
(32)【優先日】2020-09-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523041506
【氏名又は名称】キトフ システムズ リミテッド
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ツォレフ、ジッブ
(72)【発明者】
【氏名】アブラハミ、ニア
(72)【発明者】
【氏名】シュムル、トメル
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA03
5L096DA02
5L096FA06
5L096FA67
5L096FA69
5L096HA11
5L096JA22
5L096KA04
(57)【要約】
品質検査システムへの製品の自動登録は、製品の例の登録画像の、対応するカメラ姿勢への関連付けを利用することを含む。検査対象(例えば、製品の構成要素)を、製品のさらなるインスタンスの外観検査での使用にも適しているビュー(視界)で表示する登録画像が識別される。それらに関連付けられたカメラ姿勢が選択され、検査計画で使用するために提供される。一部の実施形態において、カメラ姿勢の適合性は、登録画像に対して検査テストを実行することによって検証される。
【特許請求の範囲】
【請求項1】
製品の外観検査パラメータを特定する方法であって、
製品の例の複数の登録画像にアクセスし、
前記複数の登録画像の各々の画像に出現する複数の領域の各々について、検査対象タイプを有する識別された検査対象を撮影したものとして前記領域を分類し、
前記領域とその分類を使用して、検査対象の空間的位置決めとそれぞれの検査対象タイプを示す前記製品の空間モデルを生成し、
モデル化された空間的位置及び検査対象タイプのそれぞれに基づいて、前記検査対象の検査に適した画像を取得する際に使用するカメラ姿勢を計算する
ことを含む方法。
【請求項2】
前記複数の登録画像のうち少なくとも1つを取得するために使用された初期カメラ姿勢の変更を識別し、前記変更は、初期カメラ姿勢と比較して、前記識別された検査対象を登録するための適合性が向上した画像を潜在的に提供するものであり、
前記変更されたカメラ姿勢を用いて補助的登録画像を取得し、
前記補助的登録画像を分類において使用する
ことを含む請求項1に記載の方法。
【請求項3】
前記計算されたカメラ姿勢は、前記製品の前記空間モデルを生成するために使用された前記登録画像において使用されなかったカメラ姿勢を含み、前記計算されたカメラ姿勢は、前記登録画像を取得する際に使用されたカメラ姿勢よりも、前記検査対象の検査画像として比較的適している、請求項1に記載の方法。
【請求項4】
前記製品の前記空間モデルは、少なくともいくつかの表面の相対的位置決めにおいて、少なくとも1cmの相対誤差を含む、請求項1に記載の方法。
【請求項5】
前記空間モデルを生成することは、前記空間モデルの同一部分に対応する異なる画像内の領域を識別するために前記分類を使用することを含む、請求項1に記載の方法。
【請求項6】
前記空間モデルを生成することは、前記検査対象タイプの分類に基づいて、前記識別された検査対象に幾何学的制約を課すことを含む、請求項1に記載の方法。
【請求項7】
前記生成することは、前記製品の例の表面角度の推定に前記課された幾何学的制約を利用する、請求項6に記載の方法。
【請求項8】
前記生成することは、前記製品の例の向きの推定に前記課された幾何学的制約を利用する、請求項6に記載の方法。
【請求項9】
前記空間モデルを生成することは、前記空間モデルの同一部分に対応する異なる画像内の領域を識別するために、前記課された幾何学的制約を利用することを含む、請求項6~8のいずれか一項に記載の方法。
【請求項10】
前記登録画像は、前記製品の例の2D画像を含む、請求項1~9のいずれか一項に記載の方法。
【請求項11】
前記分類することは、前記検査対象タイプを識別するために機械学習製品を使用することを含む、請求項1~10のいずれか一項に記載の方法。
【請求項12】
前記登録画像を生成するために撮影することを含む、請求項1~11のいずれか一項に記載の方法。
【請求項13】
複数の前記登録画像から結合画像を合成し、前記複数の登録画像のうち2以上にまたがる前記結合画像内の領域も使用して分類及び生成を行うことを含む、請求項1~12のいずれか一項に記載の方法。
【請求項14】
前記分類することは、少なくとも1つの前記検査対象について少なくとも2つの分類の段階を含み、前記分類の第2段階の操作は、前記分類の第1段階の結果によってトリガされる、請求項1~13のいずれか一項に記載の方法。
【請求項15】
前記分類の第2段階は、前記分類の第1段階で分類された別の領域の少なくとも一部を含むがサイズが異なる領域を分類する、請求項14に記載の方法。
【請求項16】
前記分類の第2段階は、前記分類の第1段階で識別されたタイプに属するより特定のタイプに領域を分類する、請求項14に記載の方法。
【請求項17】
前記生成することは、前記複数の登録画像が撮影されたカメラ姿勢を示すカメラ姿勢データも使用する、請求項1~16のいずれか一項に記載の方法。
【請求項18】
製品の外観検査パラメータを特定する方法であって、
製品の例の複数の登録画像にアクセスし、
各登録画像を、製品に対するカメラ姿勢の対応する仕様に関連付け、
各領域が前記複数の登録画像のそれぞれの画像に出現する複数の領域の各々について、
検査対象タイプを有する識別された検査対象の表示として領域を分類し、
検査対象タイプを有する検査対象の撮影に適したカメラ姿勢を定義するカメラ姿勢の仕様にアクセスし、
前記複数の登録画像のカメラ姿勢の中から、前記カメラ姿勢の仕様を満たす少なくとも1つのカメラ姿勢を選択し、
前記製品のインスタンスの外観検査の計画のパラメータとして、少なくとも検査対象のそれぞれのタイプと少なくとも1つのそれぞれのカメラ姿勢とを含む検査対象識別情報を提供する
ことを含む方法。
【請求項19】
異なる登録画像に撮影された前記製品の例の同じ特徴を含む、撮影のオーバーラップを決定することを含み、前記提供された検査対象識別情報からは、前記決定されたオーバーラップに基づいて、同一検査対象の重複が取り除かれる、請求項18に記載の方法。
【請求項20】
前記オーバーラップを決定することは、前記検査対象タイプの分類に基づいて、前記識別された検査対象に幾何学的制約を課すことを含む、請求項19に記載の方法。
【請求項21】
前記オーバーラップを決定することは、前記製品の空間モデルを生成し、前記複数の登録画像のどの領域が前記製品の例の同じ特徴を撮影しているかを決定することを含む、請求項19又は請求項20に記載の方法。
【請求項22】
前記空間モデルを使用して、前記製品の例に対する前記登録画像カメラ姿勢の少なくともいくつかを計算することを含む、請求項21に記載の方法。
【請求項23】
前記空間モデルを生成することは、検査対象タイプの分類に基づいて、前記識別された検査対象に幾何学的制約を課し、前記課された幾何学的制約を利用して、前記製品の例の表面角度を推定することを含む、請求項21又は請求項22に記載の方法。
【請求項24】
前記分類することは、前記識別された検査対象の一般的なクラスを決定し、次いで前記一般的なクラスのより具体的なサブクラスを決定することを含み、前記オーバーラップを決定することは、異なる検査対象識別情報の検査対象タイプが同じクラス及びサブクラスを有することをチェックすることを含む、請求項19~23のいずれか一項に記載の方法。
【請求項25】
それぞれの登録画像がどのように取得されたかを記述するパラメータとして、製品の例に対するカメラ姿勢の少なくともいくつかにアクセスすることを含む、請求項18~23のいずれか一項に記載の方法。
【請求項26】
前記提供された検査対象識別情報は、前記提供された少なくとも1つのカメラ姿勢を用いて取得された画像内の前記検査対象の位置決めも特定する、請求項18~25のいずれか一項に記載の方法。
【請求項27】
前記登録画像は、前記製品の例の2D画像を含む、請求項18~26のいずれか一項に記載の方法。
【請求項28】
前記分類することは、前記検査対象タイプを識別するために機械学習製品を使用することを含む、請求項18~27のいずれか一項に記載の方法。
【請求項29】
前記複数の登録画像は、それ以前に実行された分類、アクセス、及び選択のうちの少なくとも1つからのフィードバックを使用して反復的に収集される、請求項18~28のいずれか一項に記載の方法。
【請求項30】
前記アクセスされた複数の登録画像は、変更されたカメラ姿勢を用いて取得された少なくとも1つの補助的登録画像を含み、前記変更されたカメラ姿勢は、
前記識別された検査対象の1つを外観検査する際に初期カメラ姿勢を使用することの適合性に従って、前記初期カメラ姿勢について初期登録画像を評価し、
前記初期カメラ姿勢と比較して、前記識別された検査対象を外観検査するための向上した適合性を潜在的に提供する前記初期カメラ姿勢の変更を識別し、
前記変更されたカメラ姿勢を用いて補助的登録画像を取得する
ことを含むプロセスによって改良される、請求項29に記載の方法。
【請求項31】
前記登録画像を生成するために撮影を行うことを含む、請求項18~30のいずれか一項に記載の方法。
【請求項32】
前記登録画像は、複数の平面領域のそれぞれに沿ってカメラを平行移動させることを含むパターンに従って取得され、
各平面領域に沿った平行移動の間、
前記カメラ姿勢は、前記平面領域に対して固定されたそれぞれの角度に向けられ、
異なる平行移動のそれぞれにおいて、複数の登録画像が取得される
請求項31に記載の方法。
【請求項33】
前記平面領域の各々について、前記取得された複数の登録画像は、別の平面領域との交点の両側に位置するカメラ姿勢から取得された画像を含む、請求項32に記載の方法。
【請求項34】
異なるカメラ姿勢で取得されたオブジェクトの複数の2D画像を使用してオブジェクトの3D表示を構築する方法であって、
複数の2D画像にアクセスし、
タイプに従って前記複数の2D画像の領域を分類し、
タイプに基づいて、前記分類された領域のサブタイプ検出器を選択し、
前記サブタイプ検出器を使用して、前記分類された領域をサブ分類し、
前記分類及びサブ分類された領域の前記タイプ及びサブタイプを、前記3D表示の同一部分に対応する異なる画像内の領域を識別するための基礎として使用して、3D表示を構築する
ことを含む方法。
【請求項35】
タイプ及びサブタイプのそれぞれに基づいて、前記分類及び/又はサブ分類された領域に幾何学的制約を関連付けることを含む、請求項34に記載の方法。
【請求項36】
前記3D表示を構築することは、前記3D表示の同一部分に対応する異なる画像内の領域を識別するために前記関連付けられた幾何学的制約を利用することを含む、請求項35に記載の方法。
【請求項37】
前記3D表示を構築することは、前記3D表示内の異なる画像内の領域を登録するために前記関連付けられた幾何学的制約を利用することを含む、請求項35又は請求項36に記載の方法。
【請求項38】
前記サブ分類することは、前記領域内のサブ領域を識別することを含む、請求項34~37のいずれか一項に記載の方法。
【請求項39】
サブ領域の幾何学的制約を、サブタイプのそれぞれに基づいて、当該サブ領域に関連付けることを含む、請求項38に記載の方法。
【請求項40】
前記3D表示を構築することは、前記3D表示の同一部分に対応する異なる画像内の領域を識別するために、前記関連付けられたサブ領域の幾何学的制約を利用することを含む、請求項39に記載の方法。
【請求項41】
前記3D表示を構築することは、前記3D表示内の異なる画像内の領域を登録するために、前記関連付けられたサブ領域の幾何学的制約を利用することを含む、請求項39に記載の方法。
【請求項42】
前記サブ分類することは、サブタイプを領域全体に割り当てることを含む、請求項34~38のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2020年9月29日に出願された米国仮特許出願第63/084,605号の優先権の利益を主張するものであり、参照することによって同特許出願の全体が本明細書に組み込まれる。
【0002】
本発明は、その一部の実施形態において、品質検査の分野に関し、より詳しくは、これに限定はされないが、自動化された外観品質検査に関する。
【背景技術】
【0003】
製品は、通常、様々なタイプ及び外観の複数の構成要素を含む。製造プロセスにおいて、例えば成形、組み立て、及び/又は仕上げに関連する欠陥が発生し得ることから、製品の品質を確認、維持、及び/又は改善できるように、通常、品質検査プロセスが製造に導入されている。
【0004】
製品の自動品質検査を実行する方法は、通常、製品の特定のインスタンスの実際の詳細が対応する予測に対応することを確認することを目的とした、機械により行われるテストを含む。
【0005】
国際特許公開第WO/2019/156783A1号(その内容は参照することによって全体が本明細書に含まれる)は、自動部品登録のためのシステム及び方法を記載する。登録プロセスは、検査テスト、及び/又は品質検査結果を比較できるベースラインモデルを特定するのに役立つ。
【発明の概要】
【課題を解決するための手段】
【0006】
本開示の一部の実施形態の一態様によれば、製品の外観検査パラメータを特定する方法が提供され、該方法は、製品の例の複数の登録画像にアクセスし、前記複数の登録画像の各々の画像に出現する複数の領域の各々について、検査対象タイプを有する識別された検査対象を撮影したものとして前記領域を分類し、前記領域とその分類を使用して、検査対象の空間的位置決めとそれぞれの検査対象タイプを示す前記製品の空間モデルを生成し、モデル化された空間的位置及び検査対象タイプのそれぞれに基づいて、前記検査対象の検査に適した画像を取得する際に使用するカメラ姿勢を計算することを含む。
【0007】
本開示の一部の実施形態によれば、前記方法は、前記複数の登録画像のうち少なくとも1つを取得するために使用される初期カメラ姿勢の変更を識別し、該変更は、初期カメラ姿勢と比較して、前記識別された検査対象を登録するための適合性が向上した画像を潜在的に提供するものであり、前記変更されたカメラ姿勢を用いて補助的登録画像を取得し、前記補助的登録画像を分類において使用することを含む。
【0008】
本開示の一部の実施形態によれば、前記計算されたカメラ姿勢は、前記製品の前記空間モデルを生成するために使用された前記登録画像において使用されなかったカメラ姿勢を含み、前記計算されたカメラ姿勢は、前記登録画像を取得する際に使用されたカメラ姿勢よりも、前記検査対象の検査画像として比較的適している。
【0009】
本開示の一部の実施形態によれば、前記製品の前記空間モデルは、少なくともいくつかの表面の相対的位置決めにおいて、少なくとも1cmの相対誤差を含む。
【0010】
本開示の一部の実施形態によれば、前記空間モデルを生成することは、前記空間モデルの同一部分に対応する異なる画像内の領域を識別するために前記分類を使用することを含む。
【0011】
本開示の一部の実施形態によれば、前記空間モデルを生成することは、前記検査対象タイプの分類に基づいて、前記識別された検査対象に幾何学的制約を課すことを含む。
【0012】
本開示の一部の実施形態によれば、前記生成することは、前記製品の例の表面角度の推定に前記課された幾何学的制約を利用する。
【0013】
本開示の一部の実施形態によれば、前記生成することは、前記製品の例の向きの推定に前記課された幾何学的制約を利用する。
【0014】
本開示の一部の実施形態によれば、前記空間モデルを生成することは、前記空間モデルの同一部分に対応する異なる画像内の領域を識別するために、前記課された幾何学的制約を利用することを含む。
【0015】
本開示の一部の実施形態によれば、前記登録画像は、前記製品の例の2D画像を含む。
【0016】
本開示の一部の実施形態によれば、前記分類することは、前記検査対象タイプを識別するために機械学習製品を使用することを含む。
【0017】
本開示の一部の実施形態によれば、前記方法は、前記登録画像を作成するために撮影することを含む。
【0018】
本開示の一部の実施形態によれば、前記方法は、複数の前記登録画像から結合画像を合成し、前記複数の登録画像のうち2以上にまたがる前記結合画像内の領域も使用して分類及び生成を行うことを含む。
【0019】
本開示の一部の実施形態によれば、前記分類することは、少なくとも1つの前記検査対象について少なくとも2つの分類の段階を含み、前記分類の第2段階の操作は、前記分類の第1段階の結果によってトリガされる。
【0020】
本開示の一部の実施形態によれば、前記分類の第2段階は、前記分類の第1段階で分類された別の領域の少なくとも一部を含むがサイズが異なる領域を分類する。
【0021】
本開示の一部の実施形態によれば、前記分類の第2段階は、前記分類の第1段階で識別されたタイプに属する、より特定のタイプに領域を分類する。
【0022】
本開示の一部の実施形態によれば、前記生成することは、前記複数の登録画像が撮影されたカメラ姿勢を示すカメラ姿勢データも使用する。
【0023】
本開示の一部の実施形態の一態様によれば、製品の外観検査パラメータを特定する方法が提供され、該方法は、製品の例の複数の登録画像にアクセスし、各登録画像を、製品に対するカメラ姿勢の対応する仕様に関連付け、前記複数の登録画像の各々の画像に出現する複数の領域の各々について、検査対象タイプを有する識別された検査対象の表現として前記領域を分類し、検査対象タイプを有する検査対象の撮影に適したカメラ姿勢を定義するカメラ姿勢の仕様にアクセスし、前記複数の登録画像のカメラ姿勢の中から、前記カメラ姿勢の仕様を満たす少なくとも1つのカメラ姿勢を選択し、前記製品のインスタンスの外観検査の計画のパラメータとして、少なくとも検査対象のそれぞれのタイプと少なくとも1つのそれぞれのカメラ姿勢とを含む検査対象識別情報を提供することを含む。
【0024】
本開示の一部の実施形態によれば、前記方法は、異なる登録画像で撮影された前記製品の例の同じ特徴を含む、撮影のオーバーラップを決定することを含み、前記提供された検査対象識別情報からは、前記決定されたオーバーラップに基づいて、同一検査対象の重複が取り除かれる。
【0025】
本開示の一部の実施形態によれば、前記オーバーラップを決定することは、検査対象タイプの分類に基づいて、前記識別された検査対象に幾何学的制約を課すことを含む。
【0026】
本開示の一部の実施形態によれば、前記オーバーラップを決定することは、前記製品の空間モデルを生成し、前記複数の登録画像のどの領域が前記製品の例の同じ特徴を撮影しているかを決定することを含む。
【0027】
本開示の一部の実施形態によれば、前記方法は、前記空間モデルを使用して、前記製品の例に対する前記登録画像カメラ姿勢の少なくともいくつかを計算することを含む。
【0028】
本開示の一部の実施形態によれば、前記空間モデルを生成することは、検査対象タイプの分類に基づいて、前記識別された検査対象に幾何学的制約を課し、前記課された幾何学的制約を利用して、前記製品の例の表面角度を推定することを含む。
【0029】
本開示の一部の実施形態によれば、前記分類することは、前記識別された検査対象の一般的なクラスを決定し、次いで前記一般的なクラスのより具体的なサブクラスを決定することを含み、前記オーバーラップを決定することは、異なる検査対象識別情報の検査対象タイプが同じクラス及びサブクラスを有することをチェックすることを含む。
【0030】
本開示の一部の実施形態によれば、前記方法は、それぞれの登録画像がどのように取得されたかを記述するパラメータとして、製品の例に対するカメラ姿勢の少なくともいくつかにアクセスすることを含む。
【0031】
本開示の一部の実施形態によれば、前記提供された検査対象識別情報は、前記提供された少なくとも1つのカメラ姿勢を用いて取得された画像内の前記検査対象の位置決めも特定する。
【0032】
本開示の一部の実施形態によれば、前記登録画像は、前記製品の例の2D画像を含む。
【0033】
本開示の一部の実施形態によれば、前記分類することは、前記検査対象タイプを識別するために機械学習製品を使用することを含む。
【0034】
本開示の一部の実施形態によれば、前記複数の登録画像は、それ以前に実行された分類、アクセス、及び選択のうちの少なくとも1つからのフィードバックを使用して反復的に収集される。
【0035】
本開示の一部の実施形態によれば、前記アクセスされた複数の登録画像は変更されたカメラ姿勢を用いて取得された少なくとも1つの補助的登録画像を含み、前記変更されたカメラ姿勢は、前記識別された検査対象の1つを外観検査する際に初期カメラ姿勢を使用すること適合性に従って、前記初期カメラ姿勢について初期登録画像を評価し、前記初期カメラ姿勢と比較して、前記識別された検査対象を外観検査するための向上した適合性を潜在的に提供する前記初期カメラ姿勢の変更を識別し、前記変更されたカメラ姿勢を用いて補助的登録画像を取得することを含むプロセスによって改良される。
【0036】
本開示の一部の実施形態によれば、前記方法は、前記登録画像を作成するために撮影することを含む。
【0037】
本開示の一部の実施形態によれば、前記登録画像は、複数の平面領域のそれぞれに沿ってカメラを平行移動させることを含むパターンに従って取得され、各平面領域に沿った平行移動の間、前記カメラ姿勢は、前記平面領域に対して固定されたそれぞれの角度に向けられ、異なる平行移動の各々において、複数の登録画像が取得される。
【0038】
本開示の一部の実施形態によれば、前記平面領域の各々について、前記取得された複数の登録画像は、別の平面領域との交点の両側に位置するカメラ姿勢から取得された画像を含む。
【0039】
本開示の一部の実施形態の一態様によれば、異なるカメラ姿勢で取得されたオブジェクトの複数の2D画像を使用してオブジェクトの3D表示を構築する方法であって、複数の2D画像にアクセスし、タイプに従って前記複数の2D画像の領域を分類し、タイプに基づいて、前記分類された領域のサブタイプ検出器を選択し、前記サブタイプ検出器を使用して、前記分類された領域をサブ分類し、前記分類及びサブ分類された領域の前記タイプ及びサブタイプを、前記3D表示の同一部分に対応する異なる画像内の領域を識別するための基礎として使用して、3D表示を構築することを含む方法が提供される。
【0040】
本開示の一部の実施形態によれば、前記方法は、タイプ及びサブタイプのそれぞれに基づいて、前記分類及び/又はサブ分類された領域に幾何学的制約を関連付けることを含む。
【0041】
本開示の一部の実施形態によれば、前記3D表示を構築することは、前記3D表示の同一部分に対応する異なる画像内の領域を識別するために前記関連付けられた幾何学的制約を利用することを含む。
【0042】
本開示の一部の実施形態によれば、前記3D表示を構築することは、前記3D表示内の異なる画像内の領域を登録するために前記関連付けられた幾何学的制約を利用することを含む。
【0043】
本開示の一部の実施形態によれば、前記サブ分類することは、前記領域内のサブ領域を識別することを含む。
【0044】
本開示の一部の実施形態によれば、前記方法は、サブ領域の幾何学的制約を、サブタイプのそれぞれに基づいて、当該サブ領域に関連付けることを含む。
【0045】
本開示の一部の実施形態によれば、前記3D表示を構築することは、前記3D表示の同一部分に対応する異なる画像内の領域を識別するために前記関連付けられたサブ領域の幾何学的制約を利用することを含む。
【0046】
本開示の一部の実施形態によれば、前記3D表示を構築することは、前記3D表示内の異なる画像内の領域を登録するために前記関連付けられたサブ領域の幾何学的制約を利用することを含む。
【0047】
本開示の一部の実施形態によれば、前記サブ分類することは、サブタイプを領域全体に割り当てることを含む。
【0048】
別段の定めがある場合を除き、本明細書で使用される全ての技術用語及び/又は科学用語は、本開示が関連する技術の当業者によって一般的に理解されているものと同じ意味を有する。本開示の実施形態の実施又はテストには、本明細書に記載のものと同様又は同等の方法及び材料を使用することができるが、例示的方法及び/又は材料を以下に記載する。何らかの矛盾が生じる場合、定義を含む特許明細書が優先される。また、材料、方法、及び実施例はあくまで例示であり、必ずしも限定的であることを意図しない。
【0049】
当業者によって理解されるように、本開示の態様は、システム、方法、又はコンピュータプログラム製品として具現化され得る。したがって、本開示の態様は、完全なるハードウェアの実施形態、完全なるソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、あるいは、本明細書において全てを一般的に「回路」、「モジュール」又は「システム」と称することがあるソフトウェアとハードウェアの側面を組み合わせた実施形態の形をとることができる(例えば、方法は「コンピュータ回路」を使用して実施することができる)。さらに、本開示の一部の実施形態は、コンピュータ可読プログラムコードが具現化された1以上のコンピュータ可読媒体で具現化されたコンピュータプログラム製品の形態をなすことができる。本開示の一部の実施形態の方法及び/又はシステムの実施は、選択されたタスクを手動で、自動的に、又はそれらの組み合わせで実行及び/又は完了することを含んでもよい。さらに、本開示の方法及び/又はシステムの一部の実施形態の実際の計装及び機器によれば、いくつかの選択されたタスクは、ハードウェア、ソフトウェア、又はファームウェア、及び/又はそれらの組み合わせによって、例えばオペレーティングシステムを使用して実装され得る。
【0050】
例えば、本開示の一部の実施形態に従って選択されたタスクを実行するためのハードウェアは、チップ又は回路として実装され得る。ソフトウェアとして、本開示の一部の実施形態による選択されたタスクは、コンピュータによって任意の適切なオペレーティングシステムを使用して実行される、複数のソフトウェア命令として実施され得る。本開示の一部の実施形態において、方法において及び/又はシステムによって実行される1以上のタスクは、複数の命令を実行するためのコンピューティングプラットフォーム等のデータプロセッサ(デジタルビットのグループを使用して動作するデータプロセッサに関して、本明細書では「デジタルプロセッサ」ともよばれる)によって実行される。任意選択的に、データプロセッサは、命令及び/又はデータを格納するための揮発性メモリ、及び/又は、命令及び/又はデータを格納するための例えば磁気ハードディスク及び/又はリムーバブルメディア等の不揮発性ストレージを含む。任意選択的に、ネットワーク接続も提供される。ディスプレイ及び/又は、キーボードやマウス等のユーザ入力デバイスも任意選択的に提供される。これらの実装のいずれも、本明細書ではより一般的にコンピュータ回路のインスタンス(実体)とよばれる。
【0051】
本開示の一部の実施形態において、1以上のコンピュータ可読媒体の任意の組み合わせを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、これらに限定はされないが、電子、磁気、光学、電磁気、赤外線、又は半導体システム、装置、又はデバイス、又はこれらの任意の適切な組み合わせとすることができる。コンピュータ可読記憶媒体のより具体的な例(網羅的でないリスト)は、1以上のワイヤを有する電気接続、ポータブルコンピュータのディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能PROM(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含む。本明細書の文脈では、コンピュータ可読記憶媒体は、命令を実行するシステム、装置、又はデバイスによって、又はそれに関連して使用するためのプログラムを含む、又は記憶できる任意の有形の媒体であり得る。コンピュータ可読記憶媒体は、コンピュータプログラムが、例えば、1以上の表、リスト、配列、データツリー、及び/又は別のデータ構造としてデータにアクセスできるように、そのようなプログラムによって使用される情報、例えば、コンピュータ可読記憶媒体によって記録される方法で構造化されたデータを含み又は保存することもできる。本明細書では、デジタルビットのグループとして検索可能な形式でデータを記録するコンピュータ可読記憶媒体は、デジタルメモリともよばれる。一部の実施形態において、本来読み取り専用ではない、及び/又は読み取り専用状態にあるコンピュータ可読記憶媒体の場合、コンピュータ可読記憶媒体は、一部の実施形態において、任意選択的に、コンピュータ書き込み可能な記憶媒体としても使用されることに留意されたい。
【0052】
本明細書では、データプロセッサは、そこから指示及び/又はデータを受信し、指示及び/又はデータを処理し、及び/又は処理結果を同じ又は別のコンピュータ可読記憶メモリに保存するためにコンピュータ可読メモリに結合されている限り、データ処理動作を実行すべく「構成されている」と言われる。(任意選択でデータに対して)実行される処理は、命令によって指定される。処理行為は、追加的又は代替的に、1以上の他の用語でよばれる場合がある。例えば、比較する、推定する、決定する、計算する、識別する、関連付ける、保存する、分析する、選択する、及び/又は変換する、である。例えば、一部の実施形態において、デジタルプロセッサは、デジタルメモリから命令及びデータを受信し、命令に従ってデータを処理し、及び/又は処理結果をデジタルメモリに格納する。一部の実施形態において、処理結果を「提供する」ことは、処理結果を送信、格納、及び/又は提示することのうち1以上を含む。提示することは、任意選択的に、ディスプレイ上に表示すること、音によって示すこと、印刷物に印刷すること、又は人間の感覚能力がアクセス可能な形式で結果を与えることを含む。
【0053】
コンピュータ可読信号媒体は、例えばベースバンドで、又は搬送波の一部として、コンピュータ可読プログラムコードが組み込まれた伝播データ信号を含んでもよい。そのような伝搬信号は、電磁、光学、又はこれらの任意の適切な組み合わせを含むがこれらに限定されない、様々な形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによって、又はこれらに関連して使用するためのプログラムを通信、伝達、又は転送できる任意のコンピュータ可読媒体とすることができる。
【0054】
コンピュータ可読媒体に具現化されたプログラムコード及び/又はそれによって使用されるデータは、無線、有線、光ファイバーケーブル、RF等、又はこれら任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して送信され得る。
【0055】
本開示の一部の実施形態の動作を実行するためのコンピュータプログラムコードは、1以上のプログラミング言語の任意の組み合わせで記述され得る。プログラミング言語としては、Java(登録商標)、Smalltalk、C++等のオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語等の従来の手続き型プログラミング言語が挙げられる。プログラムコードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、一部はユーザのコンピュータ上、一部はリモートコンピュータ上で、あるいは完全にリモートコンピュータ又はサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)等、任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、あるいは、(例えば、インターネットサービスプロバイダを使用したインターネット経由で)外部コンピュータへの接続が確立されていてもよい。
【0056】
本開示の一部の実施形態は、本開示の実施形態による方法、装置(システム)及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して以下に説明され得る。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図におけるブロックの組み合わせは、コンピュータプログラム命令によって実施できることが理解されるであろう。これらのコンピュータプログラム命令は、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図のブロックで指定された機能/動作を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータ、又はマシンを製造するための他のプログラム可能なデータ処理装置のプロセッサに提供されてもよい。
【0057】
これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスを、コンピュータ可読媒体に格納された命令が、フローチャート及び/又はブロック図のブロックで指定された機能/動作を実施する命令を含む製品を生成するように、特定の方法で機能させることができるコンピュータ可読媒体に格納されてもよい。
【0058】
コンピュータプログラム命令はまた、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、又は他のデバイスで一連の操作ステップを実行させてコンピュータ又は他のプログラム可能な装置上で実行される命令が、フローチャート及び/又はブロック図のブロックで指定された機能/動作を実行するためのプロセスを提供するように、コンピュータ実装プロセスを作成してもよい。
【0059】
本開示の一部の実施形態を、あくまで例として、添付の図面を参照してここに説明する。ここで図面を詳細に参照すると、示されている詳細は例としてのものであり、本開示の実施形態の例示的な議論を目的としていることが強調される。この点に関して、図面を用いた説明は、本開示の実施形態がどのように実施され得るかを当業者に明らかにする。
図面において以下が示される。
【図面の簡単な説明】
【0060】
【
図1A】本開示の一部の実施形態による、製品の外観検査パラメータを特定する方法の概略フローチャートである。
【
図1B】本開示の一部の実施形態による、製品の外観検査パラメータを特定する方法の概略フローチャートである。
【
図2A】本開示の一部の実施形態による、登録撮影で使用されるカメラ姿勢設定及びカメラ姿勢パターン用のデバイスを概略的に表す図である。
【
図2B】本開示の一部の実施形態による、登録撮影で使用されるカメラ姿勢設定及びカメラ姿勢パターン用のデバイスを概略的に表す図である。
【
図2C】本開示の一部の実施形態による、登録撮影で使用されるカメラ姿勢設定及びカメラ姿勢パターン用のデバイスを概略的に表す図である。
【
図2D】本開示の一部の実施形態による、登録撮影で使用されるカメラ姿勢設定及びカメラ姿勢パターン用のデバイスを概略的に表す図である。
【
図3】本開示の一部の実施形態による、異なる角度で同じ領域を撮影する効果を概略的に示す図である。
【
図4A】本開示の一部の実施形態による、異なる角度で同じ領域を撮影する効果を概略的に示す図である。
【
図4B】本開示の一部の実施形態による、異なる角度で同じ領域を撮影する効果を概略的に示す図である。
【
図4C】本開示の一部の実施形態による、異なる角度で同じ領域を撮影する効果を概略的に示す図である。
【
図4D】本開示の一部の実施形態による、異なる角度で同じ領域を撮影する効果を概略的に示す図である。
【
図5】本開示の一部の実施形態による、一定の相対角度で、異なる平行オフセットで同一面を撮影する効果を概略的に示す図である。
【
図6A】本開示の一部の実施形態による、一定の相対角度で、異なる平行オフセットで同一面を撮影する効果を概略的に示す図である。
【
図6B】本開示の一部の実施形態による、一定の相対角度で、異なる平行オフセットで同一面を撮影する効果を概略的に示す図である。
【
図6C】本開示の一部の実施形態による、一定の相対角度で、異なる平行オフセットで同一面を撮影する効果を概略的に示す図である。
【
図6D】本開示の一部の実施形態による、一定の相対角度で、異なる平行オフセットで同一面を撮影する効果を概略的に示す図である。
【
図7】本開示の一部の実施形態による、識別された検査対象の外観検査に適したカメラ姿勢を選択する方法を示す概略フローチャートである。
【
図8】本開示の一部の実施形態による、異なるカメラ姿勢から取得されたオブジェクトの複数次元画像を使用して、オブジェクトの次元表示を構築する方法を示す概略フローチャートである。
【
図9】本開示の一部の実施形態による、製品の外観検査パラメータを特定するためのシステムの概略図である。
【発明を実施するための形態】
【0061】
本発明は、その一部の実施形態において、品質検査の分野に関し、より詳しくは、これに限定はされないが、自動化された外観品質検査に関する。
【0062】
概要
本開示の一部の実施形態の一態様は、製品の構成要素である外観検査対象の自動識別に関し、製品のインスタンスの自動検査を実行するために、識別された検査対象を撮影できるカメラ姿勢の識別を含む。一部の実施形態において、製品上で識別された検査対象のモデル化された位置に対して、複数の異なる角度から製品を撮影した登録画像から再構成されたものとしてカメラ姿勢が識別される。追加的又は代替的に、一部の実施形態において、外観検査に使用されるカメラ姿勢は、登録画像を撮影するために使用されるカメラ姿勢に、直接若しくはその変更に基づいて選択される。
【0063】
本明細書では、検査対象及びカメラ姿勢を識別する工程を「部品登録」ともよぶ(製品は、それ自体完成品であるか製品の構成要素であるかに関わらず、登録された「部品」とよぶ)。「検査対象」とは、外観品質検査で顕著な製品の部分である。検査対象としては、例えば、製品の選択された構成要素、表面、接続部及び/又は接合部が挙げられる。一部の実施形態において、検査対象は、対応する多数のカメラ姿勢からの製品の例の多数の画像を含む登録画像から自動的に識別される。
【0064】
一部の実施形態において、より具体的には、部品登録は、タイプ分類等、製品の様々な検査対象に関連付けられた注釈を伴う、製品の多次元モデル(MDM)の生成を含み、任意選択的に製品の幾何学形状の3Dモデルを含む。MDMの生成は、主に、多様なカメラ姿勢から取得された代表的な製品の例の画像に基づく。一部の実施形態において、品質検査計画自体で使用されるカメラ姿勢を選択するための基礎として使用するために、複数の上記カメラ姿勢も保存される。一部の実施形態において、カメラ姿勢は、MDMの関連部分、特にMDMで識別された検査対象にも関連付けられる。カメラ姿勢は、そのまま使用及び/又は関連付けることができ、及び/又は検査に適したものに変更することができる。
【0065】
本開示の一部の実施形態の態様は、品質検査を計画するための最終用途の要件を考慮して、MDMを構築する部品登録に関する。これにより、登録タスクがより扱いやすくなる可能性がある。すなわち最終用途に不要なMDM特徴を省略できるようになり、及び/又は製品のMDM表示の特定の側面における精度要件が減少する。
【0066】
一部の実施形態において、品質検査計画が決定する2つの特定事項は、
・検査対象の有用な画像を取得するためにカメラをどのように配置するか、及び
・上記有用な画像のうち、検査対象はどこに位置されるか、である。
【0067】
正確な自動外観検査結果のために、上記の各々が高精度で提供されることが好ましい。驚くべきことには、本発明者らは、検査対象自体の3D座標の分析的知識については、同様に高い精度、又は完全な自己整合さえも必ずしも必要としないことを見出した。実際には、MDMは、検査カメラによって生成された画像内の検査項目の表面の投影を正確にフレーミングする際の使用に適している必要がある。しかし、検査対象のフレーミングを妨げない空間的位置表示のMDMの省略及び/又は誤差は、許容できる可能性がある。
【0068】
本開示の一部の実施形態において、部品登録に使用される画像を取得すべく使用されるカメラ姿勢のいくつかは、最終的な部品検査にも(任意選択的に、軽微な及び/又は分析により生成された修正を加えて)適切であることが判明する。したがって、一部の実施形態において、MDMは、その構築に使用される部品登録画像を取得すべく使用されるカメラ姿勢の一部分を検査計画に使用するために識別するように構築される。上記一部分は、一部の実施形態において、既知の検査対象のセットを後で検査するのに適したカメラ姿勢のセットを含む。カメラ姿勢データを直接使用することには、検査対象位置のローカルキャリブレーションをカメラ位置決めシステムの基準フレームに提供できるという潜在的な利点がある。例えば、特定の登録画像の取得を命令されたカメラ姿勢は、登録画像が外観検査テストに使用するのに有用な画像でもあると判断された場合、反復できる。
【0069】
一部の実施形態において、選択されたカメラ姿勢は、さらに修正される可能性がある。例えば、特定のカメラ姿勢から小さなオフセット分変更されたり、及び/又はカメラ姿勢間の補間がなされたりする。特に、登録画像からの検査結果がカメラ姿勢の検証に使用される場合、その検証への影響が予想通り最小限となるよう、変更は任意選択的に十分に小さく保たれ、及び/又は、変更は、変更されたカメラ姿勢から取得された新しい登録画像を使用して検証される。
【0070】
追加的又は代替的に、登録画像のカメラ姿勢データは、カメラの位置決めに使用される基準フレームを、検査対象等の選択されたランドマークの相対位置でキャリブレーションする方法として、より間接的に役立つ場合がある。相対位置誤差が発生しやすい、相互に十分に離れている検査対象(例えば、角部)の場合、実際の検査中にモデリング誤差がカメラの位置決め誤差に伝播しないように、異なるキャリブレーションカメラ姿勢とランドマークを使用することができる。
【0071】
追加的又は代替的に、実際の検査で使用するために選択されたカメラ姿勢は、MDM自体のジオメトリによって定義された検査対象位置に対して相対的に決定される(必ずしも登録画像を取得するために使用されるカメラ姿勢を参照する必要はない)。この場合でも、登録画像からMDMジオメトリを再構築する際に発生し得る一定のタイプの誤差は無視できる可能性がある。例えば、異なる向きの面の境界である点を除いて再構成が同じである場合、及び/又は誤差が外観検査対象である領域の外側に存在する場合、等である。一部の実施形態において、再構成誤差は、画像及び/又は照明の許容範囲内にある。例えば、距離誤差がカメラの光学系の有効な被写界深度を超えない場合、及び/又は照明角度の誤差が外観検査結果に大きな影響を与えない場合である。経時的に繰り返される同じ外観検査手順の一貫性は、外観検査手順の初期設計で使用されるパラメータ値の測定精度よりも潜在的に重要であることに留意されたい。
【0072】
一部の実施形態において、MDM内の異なる面(例えば、角度の異なる面、又はMDMの他の潜在的にまとまりのない部分)に向けられた計画された検査カメラ姿勢は、それぞれの異なる基準フレームに対して任意選択的に定義される。これにより、モデル自体がその空間関係の一部において不正確であったとしても、位置決め仕様は検査対象を向く精度を維持できる可能性がある。例えば、カメラ姿勢が、(例えば、絶対的な3D空間基準フレームではなく)カメラが見ている面(又はその上の何らかのランドマーク)の位置に対して相対的に定義されている場合、製品の第1面と第2面のMDMで表される相対位置の1cmの誤差は、実際の検査カメラの位置決め中に誤差を生じることはない。実際の検査時に、例えば、最終的なオフセットを測定するための検査システム上の基準マーク、及び/又は、カメラモーションコントロールシステムが「期待する」ように配置されるよう、検査されるサンプルの位置決め(及び必要に応じて任意選択的に再位置決め)に対する配慮を利用して、カメラ位置決めシステムの基準フレームをこれらの異なる基準フレームに合わせてキャリブレーションできる。任意選択的に、キャリブレーションは、接触センサ、及び/又はカメラマウント上の距離測定装置等の別の方法を含む。
【0073】
任意選択的に、MDMは、これらのいずれか又は別のキャリブレーションシステムからの入力を使用して調整され、自己整合に近いレベルになる。これにより、異なるサンプルごと及び/又はサンプル部分ごとの再キャリブレーションを簡素化及び/又は省略することができる可能性がある。
【0074】
好ましくは、製品のサンプルの検査を実行するために最終的に使用されるカメラ姿勢のセットはコンパクトである。すなわち、検査対象の画像の冗長な収集を回避する。検査対象を有効に撮影し得る複数の潜在的に冗長なカメラ姿勢の中から、選択/決定基準は、任意選択的に、例えば検査対象の完全な画像表示、2以上の検査対象の完全な画像表示、検査対象又はその近傍で推定された表面角度に対して特定の角度(例えば、直交する角度)に最も近いカメラ位置、検査対象のフォーカス品質、及び/又は検査対象の角度サイズを含む。一部の実施形態において、特定の登録画像を使用して検査対象の有効な自動外観検査結果を取得することを含む検証は、選択カメラ姿勢の選択/決定を支配する基準内にある。
【0075】
残りは、検査対象自体を特定することである。このことは、異なる視野角から撮影したアイテムの1セットの2D部品登録画像において、それぞれが少なくとも1回(一般的なケースでは2回以上)出現する、各検査対象の好ましくは一意(固有)の識別に到達することとして定義できる。
【0076】
本開示の一部の実施形態において、検査対象は、2D登録画像においてその外観に従って識別される。一部の実施形態において、識別は、ポート、ラベル、留具、表面、及び/又は接合部等の検査対象の例で訓練された機械学習アルゴリズムの製品を使用して実行される。一部の実施形態において、複数の専用検出器が提供され、それぞれが異なるクラス(タイプ)の検査対象に対して訓練される。
【0077】
検査対象が複数の登録画像に現れる可能性があるとしても、その固有の識別に基づいて検査対象を検査することが好ましい。製品の3Dモデリングは、独自性の基準を満たす有効な方法である。各2D登録画像の領域を3Dモデルに登録すると、モデル上のオーバーラップ領域が同じ特徴を撮影する。
【0078】
3Dモデルを参照することは、他の一般的な検査要件を満たすのにも役立つ。例えば、カメラや任意の移動取り付け部品が検査対象物と接触しないようにする。
【0079】
3Dモデリングの一定の誤差は、検査計画の目的では許容される可能性があることに留意されたい。例えば、検査されていない特徴は、あいまいに位置決めされたままになったり、表示されなかったりする場合がある。表面が「浮いて」いたり、切断されていたり、及び/又は相互に対して誤って配置されていたりする可能性がある。一部の画像、例えば検査対象を明確に示さない画像では、検査対象でさえ任意選択的に無視されることがある(例えば、識別に失敗する)。(他の理由で役立つ場合でも)3D表示は不要である可能性がある。例えば、一部の実施形態において、2D表面は、MDMで個別に再構築され、各表面は、検査対象及びカメラ姿勢及び/又は基準フレームのそれ自身の対応するセットを有する。モデルフリーの部品登録は、別の任意選択のタイプの実施形態であり、例えば、各検査対象は、相互に関連する、及び/又は共通の基準フレーム内での検査対象の空間的位置の直接的な表現が存在しない場合があるとしても、検査対象の検査画像を生成するのに有用であることが判明したカメラ姿勢の対応するグループに関連付けられている。
【0080】
本開示の一部の実施形態の一態様は、MDMの構築の一部として、2D画像内の特徴のセマンティック識別情報に関連付けられたセマンティック情報の使用に関する。具体的には、セマンティック識別情報は、幾何学的制約を対象に関連付けるために使用される。幾何学的制約は、MDM内で対象の一意の表示を定義するのに役立つ。
【0081】
一部の実施形態において、検査対象を特定することは、ある検査対象の特定のタイプラベルが、単なるタイプラベル自体を超える追加情報(セマンティック情報)に関連付けられるという意味において「セマンティック(意味論的)」である。画像ベースの検査対象の識別は、特に「セマンティックセグメンテーション」とよばれる。以下でさらに説明する。
【0082】
一例として、意味的に「ネジ」として識別される(ラベル付けされる)登録画像内の領域は、従って、本開示の一部の実施形態において、ネジに適した、アプリケーションにより定義されたセマンティック情報にも関連付けられる。品質検査アプリケーションの場合、セマンティック情報は、例えば、ネジが存在する若しくは存在しない、締まっている若しくは緩んでいる、及び/又は特定の方法で破損している(例えば、駆動部若しくはスクリュー(凹部)が潰れている)可能性があることを含んでもよい。さらに、セマンティック情報は、対象が何らかのサブタイプのセマンティック識別情報、例えば、ネジが特定のサイズ、スクリュー/駆動部形状、及び/又は頭部の幾何学形状、によってさらに特徴付けられることを含んでもよい。このことは、例えば、どの特定のサイズ、スクリュー形状、及び/又は頭部の幾何学形状をネジが有するかを識別するために動作する、1以上のサブタイプ検出器の動作を任意選択的にトリガする。この結果自体が、対象をより具体的なセマンティック情報に関連付けるさらなるセマンティック識別情報を含んでもよい。
【0083】
幾何学的制約のもう1つの例は、(カメラの方向にほぼ垂直な面に対して)上下が定義された要素の向きである。例えば、グループ内のポート(例えば、隣接するポート及び/又は規則的に配置されたポートの領域)は、任意選択的に、同じ向きを共有するように制約される。同様に、ラベル上のテキスト領域は、向きを共有するように制約され得る。
【0084】
複数の2D画像から3Dシーンを生成する際の典型的な段階はオーバーラップ(重複部分)の識別であり、異なる画像におけるこの部分が当該シーンの同一部分に対応する。本開示の一部の実施形態において、セマンティック情報は、MDMの空間表示部分を生成することの一部として、オーバーラップの識別を支援すべく使用される。幾何学的制約を導入することにより、セマンティック情報を使用して、意味的に識別された対象の境界を特徴付けることもできる。検査計画の一環として、登録された製品内で作成されたセマンティック識別情報を使用して、特定の検査対象に適用可能な検査テスト、及び/又はそれらの実行方法を選択できる。
【0085】
品質検査の領域内で、意味的に識別された検査対象は、特徴的な幾何学的特徴を含むことがある。例えば、物理的なラベル(タグやステッカー等)や多くのコネクタポートは、直線状の端縁を有する傾向がある。さらに、直線状の端縁は、典型的には、相互に及び/又は製品の他の端縁に対して平行及び/又は直角の向きとなる。別の例として、ネジやボルトは特徴的な頭部形状(丸形や六角形等)を有する。このタイプの幾何学的情報は、追加のセマンティック情報として「インポート」でき、この情報は代表的な製品の例のMDM表示をガイドすべく任意選択的に使用される。
【0086】
例えば、「ネジ」として意味的に識別された画像領域は、推定された周囲表面に垂直な方向から見られた際に円形を含むように関連付けられたセマンティック情報によって制約され得る。任意選択的に、ネジの外観は、他の角度から見られた際に(例えば、ネジ頭部のスタイルに応じて)他の形状の範囲内になるように制約される。このような制約の適用は、ネジ位置をより正確に定義するのに潜在的に役立つ。これは、部分的な影、反射、及び/又は背景とのブレンド等の要因により、ネジの画像の一部があいまいになる可能性があるためである。
【0087】
さらに、セマンティック識別情報を使用して、カメラ位置に対する周囲表面の角度に対する幾何学的制約を暗示することができる。例えば、ネジ頭部が円形に見える場合、周囲表面はネジからカメラの方向に対し略垂直に延在するよう拘束される。
【0088】
幾何学的制約もオーバーラップを特定するのに役立つ。例えば、「ステッカー」として意味的に識別される物理的なラベルは、ある画像では垂直方向から、別の画像では斜め方向から見られ得る。斜めから見たステッカーが「実際には」表面の直角をなすパッチであると(ステッカーに利用可能なセマンティック情報に基づいて)仮定することにより、変換を選択することができ、これにより、2つのビューを同じ対象に一致させることが、計算上容易になる可能性がある。
【0089】
機械学習製品に基づくセマンティック識別情報は、原則として、上記説明した幾何学的制約の同じ「セマンティック情報」に対応するものと解釈し得る幾何学的特徴を暗示的に利用する場合があることに留意されたい。ただし、機械学習の性質は、少なくとも技術的な理解の現状においては、特定の分類につながる特徴を検査若しくは使用に(仮にあったとしても)直接にさらすことはない。したがって、本明細書における説明のために、幾何学的特徴及び制約は、それらが最初に識別において何らかの役割を果たした可能性があるかどうかに関わらず、任意の特定のセマンティック識別情報とは別のセマンティック情報であると見なされる。
【0090】
一部の実施形態において、セマンティック識別情報は、任意選択的に階層的に作成される。最初にセマンティックタイプを識別し、次にセマンティックサブタイプを識別する。サブタイプは、タイプによって最初に識別された領域全体のより具体的なセマンティック識別情報、及び/又はその領域全体の一部のセマンティック識別情報であってもよい。例えば、1つのポートが特定タイプのポートとしてサブタイプ分類され、ポートクラスタは、複数のサブ領域にサブタイプ分類され、それぞれが個別のポート及び/又はポートタイプとして分類されてもよい。後者の例は、例えば、ポートクラスタから個々のポートへ、個々のポートからポートタイプへ、というように階層が2以上のレベルの深さを有しうることも示している。
【0091】
初期のタイプの識別によって(条件次第で)サブタイプを識別する操作がトリガされ得る。例えば、意味的に「ネジ」とラベル付けされた対象は、それに基づき、より具体的なネジタイプ(例えば、なべ頭、皿頭、トラス頭、標準的な駆動部、フィリップス型駆動部)の1以上の検出器にさらされる。セマンティック識別情報が具体的になるにつれ、オーバーラップ検出におけるその有効性は向上する可能性がある(これは、比較するマッチング候補が少なくなるため、及び/又は、駆動部の向きのような識別性のある認識された特徴が存在し得るためである)。
【0092】
領域/サブ領域の識別により、階層の流れはどちらの方向にも進むことがあり得る。例えば、ポート検出器は、ポートブロックで動作すべくトリガされ得る。しかし逆に、ポートブロック検出器は、相互に近接して個別に検出されたポートで動作すべくトリガされ得る。より大きな領域のタイプ識別は、サブ領域でどの検出器を使用するかを知らせる情報(例えば、「これはキーボードです」)だけでなく、それらのサブ領域が相互にどのように関連するかを知らせるのに役立つ情報(例えば、キーボードのキーは等間隔に配置する必要があります)を提供できる。
【0093】
具体的であることは、MDMの幾何学的制約を特定することにも役立つ。一部の幾何学的制約は、あるタイプに関する事前知識からそのモデル化された表示に伝播された情報を含む。一部の幾何学的制約は、あるタイプのイメージ化されたインスタンス間で伝播される情報を含み、幾何学的な自己整合及び/又はモデル化された表示の豊かさを改善する可能性がある。
【0094】
例えば、側面から見たネジ頭部形状がトラス頭(より球状で、斜めから見ると楕円形ではない可能性がある)ではなく、なべ頭(斜めから見ると楕円形)として識別できる場合、カメラ姿勢に対する周囲の表面の角度は、より厳密に制限される可能性がある。これは、なべ頭タイプであるという識別に基づいて部品の表示に伝播する事前知識(例えば、なべ頭ネジの3D形状)の一例である。
【0095】
インスタンス間で伝達される幾何学的制約情報の一例として、
・テキスト及び/又は画像は、意味的に識別された「ラベル」から抽出でき、角度及び/又はアイデンティティの決定を相互に制約すべく使用可能である。
・より大きな領域のサブ領域は、例えば、同じ向きを共有したり、オーバーラップを避けたりするために、幾何学的に制約できる。
・同じタイプの領域を拘束して、幾何学形状プロパティを共有することもできる。例えば、特定のタイプの全てのポートは、同じ全体寸法(例えば、当該タイプの最も鮮明な画像の例)、同じ平均寸法、又はその他の方法で計算された幾何学的制約によって拘束される。
【0096】
用語
本明細書において、用語「カメラ姿勢(camera pose)」は、撮影対象に対するカメラの位置及び関連する構成パラメータを指す。例えば、カメラ姿勢は、6自由度(3つの空間座標、3つの角度座標)で位置決めを特定してもよく、任意選択的に、例えば、フォーカス、露出、絞り、及び/又は視野を特定するさらなる自由度を含んでもよい。任意選択的に、カメラ姿勢は、照明を管理するパラメータ、例えば、強度、方向、及び/又は光源の位置決めを含む。
【0097】
本明細書において、セマンティック識別情報は、対象をタイプによって識別する「ラベル(labels)」を含む(すなわち、それらは分類である)。セマンティック識別は、いくつかの方法、例えば、ラベルの手動割り当て、明確に定義されたプロパティの自動識別、及び/又は機械学習製品による分類等により実行できる。セマンティック情報は、セマンティックIDに基づいてサブジェクトに発生することが許可されている追加のデータを含む。
【0098】
本明細書では、「機械学習製品(machine learning product)」という表現は、それ自体が機械学習アルゴリズムの出力である分類アルゴリズムを指す。分類アルゴリズムは通常、入力に適用される数学的重みの形をとり、例えば接続されたニューラルネットワークによって実施されるように、分類を出力として生成する。この分野の用語に従って、分類アルゴリズムは、通常はトレーニングデータセットを使用して、機械学習アルゴリズムによって「学習される(learned)」と言われる。訓練データのメンバーは、好ましくは、そのメンバーが、分類アルゴリズムが分類に使用される入力のドメインの内部的に特徴的な特徴を表すように選択される。
【0099】
本開示の少なくとも1つの実施形態を詳細に説明する前に、本開示は、その適用において、以下の説明及び/又は図面に示される構成要素及び/又は方法の詳細な構成及び配置に必ずしも限定されないことを理解されたい。本発明の特徴を含む本開示に記載された特徴は、他の実施形態が可能であり、又は種々の方法にて実行若しくは実施することができる。
【0100】
外観検査パラメータの仕様
ここで
図1A~
図1Bを参照すると、本開示の一部の実施形態による、製品の外観検査パラメータを特定する方法の概略フローチャートである。
図1Aの方法は、登録画像を使用して製品の3Dモデルを生成する方法に関する。これにより、登録された検査対象のモデル化された3D位置に関して、後の検査中に使用される少なくともいくつかのカメラ姿勢を決定することができる。
図1Bの方法は、登録画像の取得中に検査計画への入力として使用されるカメラ姿勢を具体的に追跡する方法に関する。
図1Bの方法は、登録されている部品のモデルを任意選択的に生成する。
図1A及び1Bの方法は、同じ全体的な方法の一部として任意選択的に実行される方法である。すなわち、製品の3D表示を生成及び提供し(
図1Aのブロック107及び113)、例えば検査計画で使用するために、カメラ姿勢を追跡し、登録画像取得で使用された中から選択する(
図1Bのブロック105及び112)。上記方法はいくつかの特徴を共有し、組み合わされた一連の操作内で任意選択的に重複するため、2つの方法は並行して説明される。
【0101】
ブロック102では、一部の実施形態(
図1A~
図1Bの両方)において、製品の登録画像がアクセスされる。登録画像を取得するために任意選択的に使用されるパターン、手順、及び装置は、
図2A~
図2Dに関連して説明される。
【0102】
一般に、登録画像は、製品の例の周囲及び/又は内部の空間的位置を含む、多くの異なるカメラ姿勢から取得された画像を含む。カメラ姿勢のパラメータは、例えば、位置決めの自由度(空間における平行移動及び/又は回転)、撮影角度、撮影絞り、露出時間、及び/又はカメラフォーカスを含んでもよい。製品の例は、例えば、完全に組み立てられたもの、部分的に組み立てられたもの、及び/又は組み立て前の構成要素であってもよい。単純な例では、登録された例は「完全」部品("golden" part)、つまり、製造品質の目標レベルを例示する製品の例である。一部の実施形態において、登録撮影は、1以上の欠陥例を使用して実行される。
【0103】
一部の実施形態において、撮影システムは、製品の例の画像を撮影する間、製品の例の近くの様々な位置に移動するロボット操作カメラを含む。追加的又は代替的に、製品の例自体は、登録撮影中に移動及び/又は操作されてもよい。例えば、ベルトコンベヤーで運ばれ、ターンテーブルで回転され、表裏を返され、あるいは例えば内部表面を露出するために開かれる等の他の方法で操作されてもよい。一部の実施形態において、複数のカメラが、製品の例に対する複数のカメラ姿勢から操作される(そして任意選択的に、カメラの各々自体が、製品の例に対して複数の位置から撮影する)。
【0104】
一部の実施形態において、登録画像は、外観検査のために製品のインスタンスを撮影するために後で使用されるものと同じ撮影システムを使用して撮影される。ただし、これは制限条件ではない。例えば、登録撮影カメラと後で使用される検査撮影カメラは、あるシステムからのカメラ姿勢パラメータを別のシステムの対応するカメラ姿勢パラメータに変換できるようにするために、任意の適切な変換及び/又はキャリブレーションによって関連付けられてもよい。
【0105】
使用されるカメラ姿勢は、製品の例に対して、及び/又は例が登録されている基準位置(例えば、ポイント又はボリューム)に対して定義された、自動及び/又は手動で選択されたカメラ姿勢の任意の組み合わせを含み得る。
【0106】
自動的に選択されたカメラ姿勢は、例えば、ロボットマニピュレータによって生成されたカメラの移動パターン内のカメラ姿勢を含み得る。例えば、移動パターンは、例が位置する仮想シェル上の点に対応するカメラ位置への移動を含み得る。本方法の後の操作で適切なサンプリングを確実に行うために、多数のカメラ姿勢から多数の画像を取得する必要がある場合があるものの、このタイプのパターンは、製品の設計(例えば、ジオメトリ)に関する事前情報を殆ど又は全く必要としない。
【0107】
任意選択的に、登録撮影のためのカメラ姿勢の選択は、製品の設計によっていくらかガイドされ、及び/又は修正される。例えば、カメラのロボット動作は、例が限定される境界(例えば、仮想の箱又は円柱として定義される)の外にとどまる場合がある。任意選択的に、一部の登録画像の大まかな分析を使用して、表面の一般的な角度及び/又は位置(例えば、対照的な背景に対する表面の輪郭)、及び必要な解像度及び/又はフォーカス品質を取得するのに適切な距離からこれらの表面をカバーすべく選択されたさらなる登録画像のためのカメラ姿勢を特定する。
【0108】
手動で選択されたカメラ姿勢は、例えば、自動的に選択されたカメラ姿勢のセットから欠落していると見なされる画像を補完し得る。任意選択的に、全ての登録画像のカメラ姿勢が手動で選択される。
【0109】
一部の実施形態において、カメラ姿勢は、特定の照明条件にさらに関連付けられる。例えば、カメラと共に移動するように複数の照明要素を取り付け、選択的に作動させてもよい。例えば、深さ情報(例えば、ハイライトスクラッチ)を強調するのに役立つよう、より斜めの照明を使用してもよく、一方、アーティファクトの画像値の不規則性を最小限に抑える助けとし、製品自体のインスタンスに固有の不規則性の検出可能性を潜在的に高めるべく、より垂直な照明を使用してもよい。本明細書における説明を簡略化する目的で、照明条件は、カメラ姿勢の仕様自体の任意選択的な部分であると理解されるべきである(例えば、照明の変更は、カメラのパラメータが変更されていなくても、カメラ姿勢の変更として扱われる)。ただし、上述のように照明条件をカメラ姿勢に含める必要があるという特別な要件はない。例えば、登録画像は、別々のカメラ姿勢の仕様と照明条件仕様に組み合わせて関連付けられるものとして記述されることもある。
【0110】
特に
図1Bの方法の場合、複数の角度及び/又は距離から登録されるサンプル製品の各表面部分をカバーするパターンを撮影することには潜在的な利点がある。これは、各カメラ姿勢は、製品によって提示された検査対象に関する潜在的な情報源であるだけでなく、特定のカメラ姿勢から取得された画像によってそれらの検査対象がどれだけうまく表現されるかにも関わるためである。
図1Aの方法では、例えば、登録画像の結果に基づいて検証され得るカメラ姿勢ではなく、主に製品の3Dモデルに基づいてカメラ姿勢を決定する場合等、可能なカメラ姿勢の範囲をよりまばらにカバーすることが潜在的に好ましい。撮影パターンは、例えば
図4A~
図6Dに関連してさらに議論される。
【0111】
ブロック104で、一部の実施形態(
図1B)では、登録画像は、画像が取得されたカメラ姿勢の対応する仕様に関連付けられる。
【0112】
一部の実施形態において、登録画像を撮影するために使用される撮影システムの構成が各画像とともに提供され、各画像に関連付けられたカメラ姿勢を直接的に特定する。カメラ姿勢は、製品の例の位置に対して特定され、及び/又は、例えば、取り付けテーブル上のマーク等の中間基準マークを介してそれに登録されてもよい。
【0113】
ロボット制御のカメラ姿勢を使用する実施形態では、対応する画像が取得される際にカメラ姿勢を記録することが潜在的に便利である。カメラ姿勢は、例えば、ロボットアーム又は他のマニピュレータの位置エンコーダから記録され、及び/又はそのようなマニピュレータに発行されたコマンドに基づいて決定され得る。登録システムと検査システムが同じ(又はタイプと構成が同じ)場合、例えば、潜在的に異なる位置決めシステム間でカメラ姿勢パラメータの変換(transformation,translation)を必要とせずに、位置決めパラメータを直接再生できる限り、同様に潜在的な利点がある。
【0114】
図1Aの方法は、以下にブロック107(
図1B)に関連して説明するように、製品の3D表示を生成するプロセスの一部として上記に説明した方法のうち1以上によって取得されたカメラ姿勢を任意選択的に使用する。
【0115】
追加的又は代替的に、登録画像自体からカメラ姿勢を抽出してもよい。要約すると、登録画像は、それぞれの視野において、製品の例に属する表面の共通のセットの異なる部分の各画像として扱われる。
【0116】
例えば、
図1Aのブロック107に関してさらに説明するように、これらの表面の利用可能な2D画像の利用可能なセットと一致する表面の3D構成を推定するための計算方法が存在する。カメラ姿勢自体の推定は、そのような多くの計算方法の結果として生じる。例えば、推定されたカメラ姿勢の距離を調整することによって、2以上の画像内の同じ領域の相対的なスケールが一致し、推定されたカメラ姿勢の角度を調整することによって、幾何学的歪みが一致する。以下に、3Dモデルを推定するより具体的な方法を、検査対象の一意の識別を支援するために製品のそのような3Dモデルの生成を使用する実施形態に関連させてさらに説明する。
【0117】
推定されたカメラ姿勢は、直接追跡されたカメラ姿勢(例えば、撮影中に記録されたカメラ姿勢、及び/又は撮影の制御に使用されるカメラ姿勢)よりも潜在的に誤差が発生しやすいが、カメラ姿勢をエンコード可能なハードウェアを使用して登録画像を取得する必要がないという潜在的な利点を有する。例えば、比較的安価な手で調整可能なカメラマウントとターンテーブルを使用する登録ワークステーションを使用して、ロボットシステムによる検査撮影の計画をガイドする画像を取得してもよい。このことは、例えば、比較的高価なロボットカメラ姿勢コントローラをオフラインにすることを回避したり、製造フロアから離れた場所での登録撮影を許可したりするのに有用であり得る。任意選択的に、このような取り付けシステムの基本的な制約は、2D画像からカメラ姿勢を計算するモジュールに提供され得る。基本的な制約として、例えば、カメラ姿勢角度のセットを同じ値(又は値の範囲)に制限し、及び/又はカメラ姿勢のセットを同じ線、曲線、又は平面に沿ったカメラの平行移動と一致するように制限することが挙げられる。任意選択的に、登録画像キャプチャの一部として、少なくとも数枚のフリーハンド写真撮影が実行される。ただし、このような画像からのカメラ姿勢の抽出は、撮影者の専門知識のばらつきやカメラ姿勢の制約の減少等の要因により、特に不正確な結果を生む傾向がある。
【0118】
ブロック105(
図1B)内で、一部の実施形態において、カメラ姿勢は、登録画像及び対応するカメラ姿勢に基づいて、製品の自動外観検査の計画をガイドするパラメータとして使用するために識別される。
【0119】
より具体的には、一部の実施形態において、カメラ姿勢の識別は、要約すると、
・登録画像に示される検査対象を識別し(ブロック106)、
・検査対象の外観検査に適したカメラ姿勢の仕様にアクセスし(ブロック108)、
・ブロック105で識別されたカメラ姿勢の中から、ブロック108のカメラ姿勢の仕様を満たすカメラ姿勢を選択する(ブロック110)ことを含む。
【0120】
さらに詳細には、ブロック106(
図1B)で、一部の実施形態において、登録画像の領域は、識別された検査対象を含むものとして分類される。
【0121】
この操作の結果は、好ましくは2つの目標を満たす。第1に、特定の外観検査を必要とする製品の物理的要素が、少なくとも1つの登録画像での外観に基づいて分類されること、第2に、2以上の登録画像における任意の1つの物理的要素の外観が、当該単一の物理的要素の外観として統一されることである。
【0122】
一部の実施形態において(例えば、ブロック106の動作の任意選択的な部分として、又はより具体的には
図1Aのブロック107の実施形態として)、上記目標は、一つには、製品表面への、登録画像の一貫した数学的逆投影を可能とするモデル及びカメラ姿勢パラメータを発見することで製品の3Dモデルを生成するシステムを実施することによって満たされる。異なる画像に出現する同じ要素のビューは、3Dモデルの同じ面にマッピングされるため、同じ要素のビューであることがわかる。
【0123】
2D画像から3Dモデルを生成する一般的なアプローチは、異なる画像において対応する候補領域を特定し、この制約と幾何学的制約から、それらを同じ3D位置に配置することで対応関係を共同で説明するカメラ姿勢と3D構成の組み合わせを発見する(よって第2の目標に到達する)方法である。これにより、より良い対応関係の初期識別によって、3Dモデリングの問題が緩和される可能性があるものの、対応関係の初期識別を任意選択的に暫定的な(例えば、誤りを含む)ものとすることができる。幾何学的制約は、画像に厳密に基づいていてもよく(例えば、それらが示す特徴は、何らかの3D空間に共同かつ一貫してマッピングされる必要がある)、又は任意選択的に、モデルに組み立てられる登録画像をキャプチャすべく使用されるカメラ姿勢に関する既知のデータ等の追加情報を含んでもよい。
【0124】
対応領域の識別に用いられる様々な方法には、アプリケーション固有の長所と短所があり得る。本開示の一部の実施形態において、製品の登録の最終的な用途は、識別された検査対象を検査することにある。また、検査対象は特に顕著であることから、これを対応関係発見の対象として優先的に使用することには、さらに潜在的な利点がある。一意の識別を受け取るのが特に検査対象(任意選択的には検査対象のみ)であり得る3Dモデリングの実施形態を考慮すると、それらは対応関係発見の対象としてさらに好ましい。ここから進んで、
図1Bに対応する一部の実施形態において、さらに特に重要な対応関係は、後の外観検査で使用できるカメラ姿勢からの検査対象の代替的なビューの間の対応関係である。これらの考慮事項は、本開示の実施形態内で潜在的な相乗効果をもたらすことが本発明者によって見出された。
【0125】
したがって、本発明の一部の実施形態において、異なる登録画像間の領域対応関係は、検査対象自体を使用して定義される。
【0126】
一部の実施形態において、一連の特徴検出器は、例えば国際特許公開第WO/2019/156783A1号に記載されているように、ある範囲の検査対象タイプの明確に撮影された例を検出するものして定義される。上記特許出願の内容は参照することによってその全体が本明細書に含まれる。検出器の例として、ネジ、物理的なラベル、コネクタ(ケーブルポート等)、又は表面仕上げ特性用の検出器が挙げられる。検出器は、他のタイプの構成要素及び/又は特徴、例えば、インジケーター、ボタン、軸、ホイール、縫合部(closure)、継ぎ目、溶接部、ギャップ、亀裂、グリル、穴、ハンドル、ピン、ケーブル及び/又は配線等のために追加的に提供されてもよい。
【0127】
本明細書では、これらの検出器は「セマンティック検出器」ともよばれ、これらが作成する識別子が、上記で定義した「セマンティック識別情報」である。一部の実施形態において、セマンティック検出器は、2D画像上で動作して、特定のラベル(セマンティック識別情報)を2D画像の定義された領域に割り当てる。セマンティック検出器は、任意選択的に、明示的に定義されたアルゴリズム及び/又は機械学習製品を含む。
【0128】
セマンティック識別情報に適用されるさらなる制約は、実施によって任意選択的に異なる。識別自体(セマンティック性質とは別に)が有用である場合がある。例えば、カメラ姿勢情報が個別に利用可能な場合、それを使用して、同じタイプの分類が同一であるという強い制約を提供できる。セマンティック識別領域の空間パターンも有用であり得るが、これは複数の画像にわたって壊れていることがあり、一般的にはあまり役立たない。
【0129】
「セマンティック」な性質において、セマンティック検出器は、対応関係を見出すための追加の任意選択的な用途を有する。第1に、セマンティックタイプは、セマンティック情報として特定の形状に関連付けることができる。例えば、ネジは通常、(少なくとも垂直な角度から見た場合)円形の頭部形状を有する。物理的なラベルは、例えば、直線的、又は任意選択的に円形といったように、明瞭かつ規則的な輪郭を持つ傾向がある。サイズにも制限がある場合がある。例えば、ネジ頭部は特定の段階に限定されたサイズの範囲で提供されてもよい。
【0130】
一部の実施形態において、特定の形状又は利用可能な形状オプションのセットが、対応する領域の識別に対する幾何学的制約として使用される。このような幾何学的制約は、対応する領域の幾何学的一致をより信頼できるものとするのに役立つ可能性がある。また、検査対象の位置及び/又は表面角度を正確に特定する支援にもなり得る。
【0131】
本開示の一部の実施形態において、セマンティックタイプの識別は、段階的に実施される。一部の実施形態において、これらの段階は、広く特定されたタイプの検査対象を含むものとして領域を識別する第1の弁別段階と、当該広範なタイプをより具体的なタイプとして識別する任意選択的な第2の弁別段階とを含む。一部の実施形態において、上記段階は、領域とサブ領域の識別を(その順序又は逆の順序で)含む。
【0132】
例えば、広範なタイプの「ネジ」は、例えば、サイズ、スクリュー/駆動部形状、及び頭部スタイルに対応する多数のサブタイプを有することがあり得る。ワッシャーや周囲の皿穴等、関連する特徴の補助的なサブタイプが存在する場合もある。一部の実施形態において、第2段階の弁別は、例えば、メトリック基準(例えば、テンプレート形状との比較)に基づいて、及び/又は異なるサブタイプのインスタンスを区別すべく訓練された機械学習製品の使用に基づいて、特定のサブタイプを識別する。
【0133】
サブタイプの識別は、それ自体がさらに幾何学的制約に関連付けられている場合があり、より具体的なものとなる可能性がある。例えば、穴付きの皿頭ネジを斜めから撮影すると、トラス頭ネジとは異なる予想される形状が得られる。この差異は、任意選択的に、対応関係決定の一部として利用でき、及び/又はネジを取り囲む表面の角度の推定を制限するのに役立つことがある。ネジの駆動部/スクリュー形状の向き及び/又は垂直から外れた歪みは、検査対象の対応関係及び/又は3D再構成の決定を制約するために使用され得る別の特性である。
【0134】
ネジの駆動部/スクリューもまた、ネジのサブ領域の一例と見なすことができる。サブ領域識別の別のタイプは、テキスト、図像、及び/又は物理的なラベルの他のコンテンツを含むコンテンツ領域である。第1のセマンティック段階では、物理的なラベルはアウトラインで識別され、第2のセマンティック段階では、それらのコンテンツがラベルの外形内からセグメント化される。さらなる処理、例えば、テキストの構文解析やバーコード情報の読み取りを実行してもよい。サブ領域の詳細は、例えば、同じ駆動部/スクリューの向きのネジ、又は同じラベルの異なる画像内のテキストの配置等、異なる画像間の対応関係を識別するために任意選択的に使用される。
【0135】
サブタイプの他の例には、表面仕上げのサブタイプが含まれる。例えば、表面領域は、「仕上げ」タイプを有すると識別されてもよく、一部の実施形態で識別可能なサブタイプの例には、塗装、クラックルコーティング、ブラッシング、研磨、及び/又は反射レベル(例えば、つや消しと光沢の間)のうち1以上が含まれる。
【0136】
サブタイプの他の例には、ポート、ポートの集合体、及び/又はコネクタのサブタイプが含まれる。ポートの集合体の概要はタイプによって識別でき、サブタイプ検出器を使用してポートの集合体を個々のポートに分割できる。ポート(個別に及び/又は集合的に)は、例えば、RJ-45、DIN-9、DIN-25、3mmオーディオ、RCA、BNC、USB(定義されたいくつかのタイプのUSBポートのいずれか)、HDMI(登録商標)、SFP(QSFPポートタイプ及び/又はOSFPポートタイプを含む、定義されたいくつかのタイプのSFPポートのいずれか)、及び/又は他のポートタイプを含むサブタイプに従って識別され得る。
【0137】
上述したように、一部の実施形態において、完全な3Dモデル、完全に一貫性のある3Dモデル(たとえば、共有する端縁が正確に揃った別個の表面)、あるいは、何らかの3Dモデルを生成する必要すらない。同様に、製品の表面の2D表示は必ずしも完全でなくてもよい。特に:
・表面が有効な検査対象を有さない場合、表示する必要はない。
・別個の表面(例えば、箱状の製品の異なる面)に関する限り、検査対象を共有しなければ、その3D関係を決定する際の誤差は無視できる。そのため検査撮影計画を損なうことなく、不正確に表現されたり、全く表現されなかったりしてもよい。
・検査対象が2回以上特定された場合(例えば、2つの異なる対象であるように)、このことは、(同じ要素を2回検査することによって)検査効率を低下させたとしても、検査計画にとって致命的ではない。さらに、例えば、検査計画自体の一環として、プロセスの後半で別個の識別情報を統合することに特に制限はない。
・検査対象のある表面でさえ、完全に表現する必要はない。特定の画像に顕著な特徴がない場合(例えば、検査対象がない場合)、同画像を使用する必要は特にない。特定の表面領域が検査対象から分離されているために「特定」されない場合、表示から省略できる。
【0138】
一部の実施形態において、製品の完全な3D再構成(モデル)を実行する代わりに、表面間の関係を未定義及び/又は不完全のままにして、製品を表面ごとに再構成する。例えば、いわゆるRGB-D又は「2.5-D」カメラが利用可能で、表面深度(カメラからの距離)及び表面からの反射光をエンコードする画像を生成する。一部の実施形態では、表面は、距離及び/又は向き、及び特定の表面を含む画像領域での検出に基づいて識別される検査対象に基づいてセグメント化される。特に、カメラ姿勢情報が個別に利用できる場合、面は相互に独立して処理され得る。3Dモデルが必要な場合(例えば、オペレータ向けの視覚化を生成する目的で)、3Dモデルを個別に構築することに特に制限はない。
【0139】
ブロック108(
図1A)で、一部の実施形態において、識別された検査対象の外観検査に適した適切なカメラ姿勢の仕様にアクセスする。
【0140】
これは、検査対象のセマンティック識別情報を使用してセマンティック情報を参照する別の例である。即ち、どのカメラ姿勢が検査対象の特定のタイプ/サブタイプに適しているか、である。
【0141】
検査対象に対する適切なカメラ姿勢の範囲は、最終的に使用される検査検出器に任意選択的に依存する。カメラ姿勢の仕様は、例えば、相対角度(例えば、カメラが検査対象の表面に対して垂直又は斜めの角度で配置される)、距離、及び/又は必要な解像度等のパラメータを含み得る。特定の検査対象を検査するために、2以上のカメラ姿勢が必要な場合もある。許容可能なカメラ姿勢の範囲が存在する場合があり、その中でいくつかのカメラ姿勢が他のカメラ姿勢よりも優先される。
【0142】
特殊なケースでは、外観検査のためのカメラ姿勢の適切性は、自動外観検査テストでそのカメラ姿勢から取得された登録画像を使用する実際の試みに基づいて自己定義されてもよい。テストが成功した場合、カメラ姿勢は少なくとも暫定的に適切である。ただし、これにより、不安定な端縁ケースがカメラ姿勢の仕様に入る可能性がある。例えばブロック110に関連して説明したように、実際の検査テスト結果を、範囲ベースの選択の二重チェックとして使用する方が潜在的に有利である。
【0143】
ブロック110(
図1B)で、一部の実施形態において、カメラ姿勢は、ブロック108の仕様を満たすために、ブロック106で識別されたカメラ姿勢の中から選択される。ブロック104から知られている1以上のカメラ姿勢のパラメータは、ブロック108の仕様を満たすことが判明し得る。
【0144】
登録画像のカメラ姿勢のいずれも、カメラ姿勢の仕様を満たしていない可能性がある。これはあり得る状況であることに注意する必要がある。その理由として少なくとも(1)検出器は、特定したカメラ姿勢の範囲外でも正しく動作することがある点、そして(2)登録に使用される検出器は、実際の検査で最終的に使用される検出器と必ずしも同じ(及び/又は同じように操作される)とは限らない点が挙げられる。
【0145】
この場合、任意選択的に、新しいカメラ姿勢で追加の登録画像が撮影される。これらの登録画像についてのカメラ姿勢は、最初に検査対象を認識可能とするカメラ姿勢によって任意選択的にガイドされる。例えば、異なる方向に離れている2つのカメラ姿勢の設定間のフォーカス設定を選択してもよい。このタイプのカメラ姿勢の合成は、実際の画像処理で再確認しないと、結果にリスクが生じる可能性がある。ただし、結果の有効性が保証されていると考えられる場合には、外挿又は内挿によってカメラ姿勢の微調整が任意選択的に生じる。
【0146】
2以上の画像がカメラ姿勢の仕様を満たす場合、選択が行われる。全ての候補カメラ姿勢が予想される結果の品質において同等である場合、選択は任意であってよい。あるいは、カメラ姿勢の仕様自体で、一部のカメラ姿勢が他のカメラ姿勢に優先されるように指定してもよい。
【0147】
カメラ姿勢の選択には、より高いレベルの懸念があり得る。例えば、一部の実施形態において、製品の検査を完全にカバーするのに必要な検査画像の数を減らすことが好ましい場合がある。したがって、2つの異なる検査対象の各々に対しては2番目に良いに過ぎないカメラ姿勢が、2以上の検査対象には有用でない最良のカメラ姿勢に優先して使用されるべく選択されてもよい。
【0148】
一部の実施形態において、実際の検査タスクを実行しているかのように登録画像をテストすることによって、カメラ姿勢が検証される。製品の例の既知の品質状態と一致する結果が得られない場合は、カメラ姿勢が実際には検査対象に適していない可能性があることを示している。
【0149】
特に、製品の空間ジオメトリのモデルを生成する方法(例えば、
図1Aの方法)では、特定のカメラ姿勢に対して予想される検査結果と、実際に取得される検査結果との間に歪が生じるリスクが潜在的に高まっている状態では、利用可能な登録画像と対応するカメラ姿勢の強化が任意選択的に省略される。
【0150】
ブロック112(
図1B)で、一部の実施形態において、検査対象のタイプ及び/又はサブタイプ、並びにその選択されたカメラ姿勢を含む検査対象識別情報が、製品の外観検査計画での使用に適した形式でパラメータとして提供される。
【0151】
ブロック113(
図1A)で、一部の実施形態において、検査対象のタイプ及び/又はサブタイプ、並びにそのモデル化された空間的位置を含む検査対象識別情報が、製品の外観検査計画での使用に適した形式でパラメータとして提供される。
【0152】
任意選択的に、ブロック112及び113の特徴は一緒に提供される。
【0153】
一部の実施形態において、検査対象のタイプ及び/又はサブタイプは、どの検査テストが実行されるべきかの選択をするために検査計画者によって使用される。これは、セマンティック情報に関連付けられているセマンティック識別情報のもう1つの例である。検査対象のタイプを知っていれば、計画者はどの外観検査テストがその検査対象の検査に適しているかを理解できる。
【0154】
検査計画の一環として、これらの外観検査テスト自体が指定され、その指定の一部は、画像の撮影方法である。ブロック112で提供されるカメラ姿勢情報は、画像撮影がどのように行われるかについて、少なくとも部分的に事前検証された情報を検査計画者に与える。追加的又は代替的に、ブロック113の検査対象位置を使用して、検査対象の、テストで指定される撮影を可能とするにはカメラ姿勢をどの相対位置で定義すべきかを決定してもよい。
【0155】
提供されたカメラ姿勢(及びその様々なサブパラメータ)は、必ずしも実際の外観検査テストにそのまま使用されるとは限らないことを理解する必要がある。登録画像のカメラ姿勢は、より好ましいカメラ姿勢を取得するために任意選択的に調整されることは既に述べた。そしてこれは、検査計画段階でも任意選択的に実行できる(ただし、調整されたカメラ姿勢が検証されない限り、リスクが伴う)。
【0156】
任意選択的に、検査計画では、検査対象が部分的に不確定な位置において検査のために提示される可能性を考慮する。例えば、アクセスウェル(access well)の底にあるネジが見えるかどうかは、高い信頼性をもって達成されるよりも厳しい公差内での製品の位置決めに依存し得る。一部の実施形態において、このことは、実際の検査中の少なくとも1つの画像が有効であることを確実にするのを助けるため、登録カメラ姿勢を効果的に「ファジング(fuzzing)」しながら、特定の設定の周囲で数枚の画像を撮ることで任意選択的に補償される。
【0157】
本明細書の
図1A~
図1B及び他のフローチャート図の動作は、説明の目的で、一般に連続した(インターレースではあるが)順序で提示されている。これらの図の動作は、任意の適切な順序付け、反復、インターレースの程度、及び/又は同時性の程度で任意選択的に実行されることを理解されたい。
【0158】
登録画像の取得
ここで
図2A~2Dを参照すると、本開示の一部の実施形態による、登録撮影で使用されるカメラ姿勢設定及びカメラ姿勢パターン用のデバイスが概略的に表されている。ウィジェット200は、製品の一般的なインスタンスを表す。
【0159】
本開示の一部の実施形態において、部品登録システムで利用可能なフォーマットで製品を説明する、利用可能な事前情報は殆どない。代わりに、部品登録システムは、外観検査を計画できるよう、製品の十分に詳細な表示に自力で到達(bootstrap)する。
【0160】
図2Aは、動作の半球パターン203を示す。ロボットアーム202は、支持面201のある中心点から一定の距離でウィジェット200の周りを移動しながら、カメラ206を支持面201の中心に向けて保持すべく移動する。画像は、連続的にではなく、半球上の選択されたノード(点)で任意選択的に撮影される。任意選択的に、2以上の半球シェルから画像が取得される。このパターンは、露出した各表面(ウィジェット200は回転又は反転して適用範囲を広げることができる)をある角度からサンプリングするという合理的な任務を行うが、特定の表面が斜めにしか撮影されないという潜在的な欠点を有する。例えば、カメラ206の結像面には平行な面がカメラ206の視野の端縁では歪む、あるいは、中心ではあるがカメラの結像面に対して斜めになる、等である。
【0161】
図2Cは、別のモードでの撮影を示している。ここでは、カメラ姿勢の動きがより「ファセット(facet)」である。ファセットパターン205Aの各ファセット(切子面)に沿ったカメラ位置から多数の画像が取得され、表面が有効な角度で撮影される可能性が高くなる。各ファセットから取得した画像は、ファセットに対して同じ角度に向けられ、一方でファセット面に沿って異なる平行移動を行うカメラ姿勢を用いる。一部の実施形態において、少なくとも3、4、9、16、又は他の数の画像が、ファセット面に沿って異なる位置に平行移動されるカメラ姿勢で取得される。
【0162】
図2Bは、ファセット(垂直ファセットのみが示されている)が、ファセットパターン205Aの多面体シェルのファセットを越えて任意選択的に平面領域205内に延在し得ることを示している。このことは、特に狭い視野角及び/又は近いカメラ作動距離が用いられる場合に、外観検査の支援となる表面領域に対する角度を有するカメラ姿勢から表面領域が撮影される可能性をさらに高めるのを潜在的に助ける。ここでも、各平面領域から取得した画像は、平面領域に対して同じ角度に向けられ、一方で平面領域の平面に沿って異なる平行移動を行うカメラ姿勢を用いる。一部の実施形態において、少なくとも3、4、9、16、又は他の数の画像が、平面領域の平面に沿って異なる位置に平行移動されるカメラ姿勢で取得される。
【0163】
図2A~
図2Cに示されているパターンは、規則性、及びカメラ姿勢の制御の容易さという潜在的な利点を有する。任意選択的に、サンプリングされたカメラ姿勢は、ウィジェット200の特定の形状に反応する。例えば、RGB-D(2.5-D)カメラは、カメラが画像中央においてオブジェクトから特定の推定距離にあるような姿勢とされ、結像面が画像中央においてオブジェクトの推定接平面と平行となるアングルとされてもよい。このタイプのカメラポージングを、任意選択的に複数の距離に対して、及び/又は推定された接平面に対する複数の結像面の角度に対して、オブジェクト全体にわたって行うことができる。このような反応スキームは、撮影のカバレッジ(範囲)と効率との良好なバランスを達成するための潜在的な利点を有する。任意選択的に、結像面の角度は、製品に一般的に存在する角度と一致するように選択される。例えば、矩形ブロック形状の製品は、製品の表面に揃えて矩形に配置された1セットの結像面から撮影してもよい。
【0164】
図2Dは、2軸フレームカメラマウント209及びターンテーブル210を含む、別の撮影設定を示す。ウィジェット200が静止している限り、その2軸フレームにおけるカメラ206の上下又は前後の動きは、
図2Bに関して説明した拡張平面ファセットの1つに対応する。任意選択的に、ターンテーブル210を異なる角度に傾けることによって、又はターンテーブル210上のウィジェット200自体の角度を操作することによって、異なる仰角での撮影角度が得られる。任意選択的に、フレームカメラマウント209に第3の軸が追加され、カメラとオブジェクトとの間の距離を操作可能となる。あるいは、平行移動軸がターンテーブル210のマウントに追加され、例えばカメラ206及びその2Dフレームマウントに接近離反するように移動可能となる。
図2Dのシステムは、自動操作と手動操作の組み合わせに潜在的に適していることに留意されたい。自由度は、カメラ206を平面パターンで移動するように容易に操作することができ、また適切な平面領域は、ターンテーブル210を回転させてカメラ206の結像面に平行な向きで異なる表面を提示することでオペレータによって容易に選択できるためである。
【0165】
図2A~
図2Dの撮影配置は、一連の計画されたカメラ姿勢に基づくカメラの正確な制御、及び位置エンコーダデータからのカメラ姿勢の読み出しのいずれか又は両方により、画像をカメラ姿勢に正確に関連付けるのに適していることに留意されたい。一部の実施形態において、製品の2D画像を使用した製品の3D再構成のプロセス中に、カメラ姿勢が画像について計算される。これにより、はるかに単純な登録撮影設定、すなわちいくつかの角度からの手持ち写真と同程度に潜在的に単純な登録撮影設定の使用が潜在的に可能となり得る。ただし、このためにより多くのオペレータ専門知識が必要である。このような登録画像が注意して撮影されたとしても、計算で推定されたカメラ姿勢が、検査システムに実装された際に実際のカメラ姿勢の結果を再現しない場合に限り、検査撮影カメラ姿勢の精度は依然として低下する可能性がある(許容できないほど低下する可能性がある)。
【0166】
照明構成は、任意選択的にカメラ姿勢の一部と見なされ得ることが、上記で説明された。一部の実施形態において、照明要素は、カメラに対してさらに固定され、カメラと共に移動する。任意選択的に、照明条件は登録段階で経験的に解決される。即ち、異なる特定の画像を取得するためには異なる照明が使用され、それ以外は同じ関連するカメラ姿勢パラメータを有していてもよい。「最良の照明」を有するカメラ姿勢は、カメラ姿勢の他の特徴が選択される方法と同様に、所定の基準に従って、及び/又は試行検査結果に従って選択され得る。
【0167】
追加的又は代替的に、検査のための照明条件は、例えば検査対象のタイプに適した外観検査テストの仕様に基づいて、他のカメラ姿勢パラメータとは別に設定される。例えば、表面仕上げの欠陥の検査テストは、検査が必要な仕上面を特定した登録画像において検査対象自体がそれほど照明されていなくても、斜め照明が指定される場合がある。このような場合でも、そのような試行照明仕様にアクセスし、それをカメラ姿勢に統合して新規登録画像を取得することにより、登録時の試行検査による検証は任意選択的に可能になる。
【0168】
一般に、カメラ姿勢の任意の側面は反復プロセスによって任意選択的に洗練され、該プロセスは(例えば、
図1Bのブロック110の選択に従って)初期カメラ姿勢と関連付けられた初期登録画像を評価し、(元のカメラ姿勢と比較して)変更されたカメラ姿勢を使用して取得された検査結果を潜在的に改善する初期カメラ姿勢の変更を識別し、カメラ姿勢の変更を使用して新規登録画像を取得し、新規登録画像を再度評価することを含む。評価は、例えば、特定の検査対象のタイプに対して特定されたカメラ姿勢、及び/又は撮影されている製品の例の試行検査について行われる。一部の実施形態において、複数の製品の例、例えば、既知の欠陥のない標準的な例、及び既知の欠陥のある1以上の例が登録される。
【0169】
外観検査テストに関連するカメラ姿勢の側面
ここで
図3~
図4Dを参照すると、同じ領域を異なる角度で撮影する効果が模式的に示されている。
図3は、それぞれが異なるカメラ姿勢からウィジェット200の表面200Aに衝突するカメラ姿勢中心光線301A~301D(及びそのカメラ姿勢から取得される画像の中心)を示す。
図4A~
図4D(それぞれ、角度301A~301Dから撮影された画像に対応する)は、画像角度に応じて、2D画像において表面200Aがどのように異なって短縮され及び/又は角度的に歪められるかを示す。多くの検査対象のタイプでは、最も垂直な角度(ここでは
図4Cのビュー(視界)に対応する角度301C)が優先され、及び/又は主要な角度となる。追加的又は代替的に、対象検査は、例えば、カールするステッカーや不完全に締められたネジのような深さに関わる問題の検出に役立つよう、斜めの撮影角度を利用してもよい。
【0170】
しかしながら、例えば±5°、±10°、又は他の角度範囲内等、理想から幾分逸脱する角度は依然として許容可能である。いずれにせよ、画像の端縁に近くなり、また視野角が広い場合は特に、結像面がその中心にある対象表面と平行な画像内においても少なくとも幾分傾斜が生じる。(例えば、
図6A~
図6Dに示す)より狭い視野により、上記は減少する傾向があるが、所与の表面積をカバーするのに必要な画像が増える可能性がある。所与の検査対象に適するものとしてカメラ姿勢角度を受け入れる場合、画像内の検査対象の偏心を任意選択的に考慮に入れる。
【0171】
ここで、
図5~
図6Dを参照すると、一定の相対角度で、異なる平行オフセットで同一面を撮影する効果を概略的に示している。
【0172】
ここでも、ウィジェット200の表面200Aが対象である。カメラ姿勢中心光線501A~501Dはそれぞれ表面200Aに垂直であり、対応する画像がそれぞれ
図6A~
図6Dに示され、表面200Aの一部のみをキャプチャする(
図4A~
図4Dと比較して)相対的に狭い視野について示されている。このことは、
図2B~
図2Cに関連して説明したように、略平面の「ファセット」に沿って撮影カメラを移動することの潜在的な意義を示している。
【0173】
任意の所与の検査対象(例えば、ステッカー601、ネジ602、603)は、適切な向きのカメラ姿勢で撮影された画像に表示されるのと同様に、それぞれの検出器によって確実に認識されるように画像内に完全に表示されることが好ましい。実際の検査では、このことは望ましいだけでなく、正確な結果を得るために重要である。一部の実施形態において、識別可能であるが部分的な検査対象(例えば、ネジ604)に、例えばそれらが利用可能な最良の画像視野の端縁に近すぎるという事実に基づき、任意選択的にフラグが立てられる。カメラ姿勢は、後の検査撮影で使用するために変更され、周縁部の検査対象を画像フレームの中央に近づけてもよい。オフセットは、例えば、異なるカメラ姿勢から撮影された画像の画像特徴のオフセットを、それらの間の既知の差で抽出することによって計算できる。
【0174】
検査対象全体を含む画像を利用できるようにすることで、検査対象の識別が潜在的に容易となる。画像が共通の3D又は2D空間にマッピングされると、それらの様々な領域がつなぎ合わされ、このような検査対象全体を潜在的に提供する合成画像を提供し得ることを理解されたい。一部の部分的な検査対象(ラベルのサブ部品等)は、特徴的なサブ部品の特徴(ラベルテキスト等)の存在に基づいて潜在的には識別されることも認識されるべきである。事実上、「検査対象全体」は、このような場合、より大きな検査対象(完全なラベル)の一部でもある。
【0175】
カメラ姿勢の選択方法
ここで、
図7を参照すると、本開示の一部の実施形態による、識別された検査対象の外観検査に適したカメラ姿勢を選択する方法を示す概略フローチャートである。一部の実施形態において、
図7の方法は、
図1Bのブロック110の動作に対応する。本方法は、単一の検査対象に対して指定されるが、本方法の動作は、典型的には、複数の検査対象に対して、任意の適切な順序で、同時に、又はインターレース式に実行されることを理解されたい。
【0176】
ブロック702で、一部の実施形態において、カメラ姿勢がアクセスされ、このカメラ姿勢は、検査対象のビューを含む登録画像を撮影するために使用されるカメラ姿勢に対応する。前述のように、外観検査テストの実行に適したカメラ姿勢よりもはるかに多くのカメラ姿勢が使用できる場合がある。外観検査を実行するのに必要である以上に多くの適切なカメラ姿勢が利用できる場合もある。
【0177】
ブロック704で、一部の実施形態において、(例えば、
図1Bのブロック106で識別されるような)検査対象のタイプ及び/又はサブタイプに適したカメラ姿勢の仕様がアクセスされる(例えば、
図1Bのブロック108に関連して説明されている)。
【0178】
例えば、指定されたタイプ及び/又はサブタイプの検査対象に対して実行される検査テストが複数存在し得るため、2以上のカメラ姿勢の仕様が存在し得ることが理解されるべきである。2以上のタイプが識別される場合もあり(例えば、キーボードは「スイッチアレイ」と「インジケータパネル」の両方である場合がある)、それぞれが異なるテストに関連付けられる。同様に、2以上のサブタイプ、及び/又は、サブタイプに関連付けられた複数のサブ領域が存在し得る。サブ領域自体が、関連付けられた独自のカメラ姿勢の仕様を有することがある。例えば、キーボードの異なるキーは、異なる絶対的位置にあるカメラ姿勢からの画像においてそれぞれ検査する必要がある場合がある。
【0179】
ブロック706で、一部の実施形態において、ブロック704でアクセスされた仕様を満たすことに基づき、少なくとも1つのカメラ姿勢が選択される。2以上のカメラ姿勢が同じ仕様を満たす場合、選択には、利用可能なカメラ姿勢範囲の中心に近いオプション等、より優先されるオプションの、利用可能な選択肢の分析が含まれる。あるいは、カメラ姿勢オプションを最終的に選択されたオプションに絞り込むことは、追加のチェック、例えばブロック708~710に関連して説明したチェックが終わるまで延期される。
【0180】
ブロック708、710、及び711は任意選択的なものである。ブロック708で、一部の実施形態において、ブロック706で選択されたカメラ姿勢に対応する登録画像がアクセスされ、後の製造活動の過程で検査テストを実行するように実質上構成されている自動化された外観検査モジュールへの入力として提供される。
【0181】
ブロック710で、検査テストが実行される。登録されている製品の例が「ゴールデン」(略完璧)な例である場合、検査結果は合格となる。例がテストに関して既知の欠陥を有する場合、その欠陥は示されなければならない。ブロック712で、一部の実施形態において、前述の条件のいずれも真でない場合、及び/又は検査テストが別の理由(例えば、無効な入力)で失敗した場合、ブロック706で選択され現在チェックされているカメラ姿勢は、有用でないものとして破棄される。上記が生じるのは、最初に検査対象を発見するのに使用された検出器がいずれであれ、その「検出」能力において、検査テストモジュールがその「検査」能力において有するものとは異なる入力要件及び/又は性能特性を有する可能性があるためである。
【0182】
あるいは、一部の実施形態において、検査対象を検出するための基準は、欠陥のない部品の検出を含む(すなわち、識別は、任意選択的に、例えばブロック106内の完全に成功した外観検査に部分的に基づく)。その場合、ブロック708~710の再テストは冗長であるものとして省略される。
【0183】
前述のように、ブロック708~711の確認テストは省略可能であるが、その場合、ブロック706でアクセスした基準に明らかに適合しているにも関わらず、所与のカメラ姿勢が指定された検査テストを実行するのに実際には有効でないというリスクを受け入れることになる。上記がどのように発生するかの一例として、フォーカスがわずかにずれて撮影された物理的なラベルを考えることができる。ラベル検出器は物理的なラベルを正常に識別できるが、フォーカスが合っていないために検査テストでテキスト内容を識別できないことがある。
【0184】
ブロック712において、一部の実施形態において、残りのカメラ姿勢(存在する場合)について、最終的なカメラ姿勢の選択が行われる。このことは、可能であれば、2以上の検査テスト及び/又は単一の検査画像(及びカメラ姿勢)の2以上の検査対象に対する併用の優先等、追加の基準を任意選択的に考慮する。
【0185】
ブロック714で、一部の実施形態において、任意選択的にカメラ姿勢修正が発生してもよい。このことは、例えば2つのカメラ姿勢が相互に所定の関係にあることを保証するため、例えば深さの立体処理を可能とするため、例えばブロック712で選択されたカメラ姿勢にパラメータオフセットを付与することを含んでもよい。別の修正は、選択されたカメラ姿勢を「ファジング」する(複数の関連付けられた、しかしわずかに異なるカメラ姿勢へと増やす)ことを含んでもよい。このことは、後の外観検査中に発生し得る位置決め誤差を説明するために使用できる。代替的に、わずかに異なる撮影位置からの結果の共同分析(例えば、統計分析)を可能としてもよい。ブロック714の修正は、必要に応じて、代替的に検査テスト自体まで延期され、及び/又は、すでに事前計算された検査計画に提供されるのではなく、検査計画中に決定される。
【0186】
3D表示の構築方法
ここで
図8を参照すると、本開示の一部の実施形態による、異なるカメラ姿勢から取得されたオブジェクトの複数の2D画像を使用して、オブジェクトの3D表示を構築する方法を示す概略フローチャートである。
【0187】
ブロック802で、一部の実施形態において、オブジェクト(例えば、製品の例であってもよい)の2D画像がアクセスされる。例えば
図2A~
図2Dに関連して説明したように、2D画像は複数のそれぞれのカメラ姿勢から取得される。
【0188】
ブロック804で、一部の実施形態において、2D画像の領域がタイプに従って分類される。タイプは、一部の実施形態において、セマンティック識別情報である。一部の実施形態において、タイプは、より具体的には、製品の要素に関連付けられたセマンティック識別情報である。要素としては、ポート(例えば、電気及び/又は電子デバイスのインタフェースに使用されるポート)、物理的なラベル(例えば、ステッカー、タグ、及び/又はステンシル)、留具(ネジ、ボルト、クリップ)、表面(特に仕上面)、及び/又は接合部(例えば、セパレート留具及び/又は一体的に形成されたスナップ等の方法によって締結される、構成要素間の溶接部及び/又は継ぎ目)が挙げられる。タイプ分類は、任意選択的に、2D画像における外観から様々なタイプの要素を認識すべく訓練された機械学習製品を使用して実行される。
【0189】
ブロック806で、一部の実施形態において、ブロック804の分類された領域に対する1以上のサブタイプ検出器が選択される。セクションは領域ごとで、領域タイプに基づく。例えば、ネジタイプの領域の場合、サブタイプ検出器は、様々な駆動部/スクリュータイプの位置を特定して分類することに特化した1以上の検出器を含んでもよい。サブタイプ分類の他の例は、本明細書において、例えば、概要における態様、及び/又は
図1Bのブロック106で説明される。タイプ/サブタイプ分類の例は、国際特許公開第WO/2019/156783A1号にも記載されており、その内容は参照することによってその全体が本明細書に組み込まれる。
【0190】
ブロック807で、一部の実施形態において、選択されたサブタイプ検出器が分類された画像領域に適用され、サブ分類が割り当てられる。
【0191】
ブロック808で、一部の実施形態において、ブロック804及びブロック806で割り当てられた分類及びサブ分類を使用して、2D画像で撮影されたオブジェクトの3D表示が構築される。一部の実施形態において、これらの割り当てを使用して、2D画像間のオーバーラップの候補(異なる画像のどの領域が同じオブジェクトの表面を示すか)を識別する。一部の実施形態において、例えば概要における態様で説明したように、分類割り当てを使用して幾何学的制約を領域に関連付ける。幾何学的制約は、オーバーラップ候補を識別するのに役立ち、及び/又は同じ撮影領域を共有する異なる2D画像の3Dでの位置合わせを支援するために、任意選択的に使用される。
【0192】
外観検査パラメータの自動指定システム
ここで
図9を参照すると、本開示の一部の実施形態による、製品の外観検査パラメータを特定するためのシステムの概略図である。
図8の要素は、実施形態の特定の構成に応じて、任意選択的に存在し又は省略される。本明細書の説明から、特定の実施形態において構成オプションをどのように組み合わせ得るかが理解される。
【0193】
製品900は、例えば
図1A~
図1Bに関して説明したように、部品登録の対象である(システム自体の一部ではない)。製品900は、静的に取り付けられてもよいし、(任意選択的な)ダイナミックマウント901に任意選択的に取り付けられてもよい。ダイナミックマウント901は、ターンテーブル、平行移動ステージ、又は1以上の自由度で制御された動きを製品900に加えることが可能な他の機械装置を含んでもよい。
【0194】
カメラ904は、一部の実施形態において、登録画像を取得するために構成されたカメラを含む。カメラマニピュレータ906は、一部の実施形態において、ロボットアーム、フレームマウント、又はカメラ904を異なる(かつ好ましくは測定され及び/又は正確に制御された)カメラ姿勢に移動すべく構成された他のデバイスを含む。本明細書で説明するように、例えばブロック104に関連して、カメラ姿勢は、例えば、製品900の形状の3D再構成のプロセスの一部として、カメラ904を使用して撮影された2D画像の分析によって代替として取得されてもよい。
【0195】
プロセッサ902は、一部の実施形態において、デジタルプロセッサと、デジタルプロセッサがアクセスして本明細書に記載の方法の計算態様を実行するプログラミング命令を格納するメモリとを含む。この方法とは、例えば、
図1A~
図1B、
図7、及び/又は
図8の方法である。より具体的には、プロセッサ902のメモリは、1以上のタイプ検出器910(2D画像内の検査対象タイプを検出及び分類すべく使用される)、1以上のサブタイプ検出器912(特定タイプの検査対象をサブ分類するために使用され、任意選択的にそれらをサブ領域に分割することを含む)、及び任意選択的に、検査対象を撮影する画像領域で動作して、当該検査対象が1以上の検査基準に従って有効であるか否かを判断する、1以上の検査テストモジュール914に対応するプログラミング命令を格納してもよい。任意選択的なモデルジェネレータ915は、例えば
図1Aのブロック107に関して説明したように、カメラ904を使用して生成され、アクセスされた画像を使用して、製品900の空間モデルを生成するよう構成される。
【0196】
一部の実施形態において、プロセッサ902は、カメラ904、ダイナミックマウント901、及びカメラマニピュレータ906のうち1以上からのデータを制御及び/又は受信するよう機能的に接続される。
【0197】
一部の実施形態において、プロセッサ902は、例えば入力装置(キーボード、トラックパッド及び/又はマウス等)及び/又はディスプレイを含むユーザインタフェースハードウェア916に機能的に接続される。
【0198】
一般的事項
量又は値に関して本明細書で使用される用語「約」は、「±10%以内」を意味する。
【0199】
用語「含む(comprises)」、「含む(comprising)」、「含む(includes)」、「含む(including)」、「有する(having)」及びこれらの活用形は、「含むがこれに限定されない」ことを意味する。
【0200】
用語「~からなる(consisting of)」は、「~を含み、~に限定される」ことを意味する。
【0201】
用語「~から本質的になる(consisting essentially of)」は、組成物、方法又は構造が追加の成分、工程、及び/又は部分を含んでもよいことを意味するが、ただし、追加の成分、工程、及び/又は部分が、クレームされた組成物、方法、又は構造の基本的かつ新規な特徴を著しく変更しない場合に限る。
【0202】
本明細書で使用されるとき、単数形「a」、「an」及び「the」は、文脈上明確に指示されない限り、複数への言及を含む。例えば、用語「化合物」又は「少なくとも1つの化合物」は、その混合物を含む複数の化合物を含み得る。
【0203】
「例(example)」及び「例示的な(exemplary)」という語句は、本明細書では「例(example)、実例(instance)又は図示(illustration)として機能する」ことを意味するよう使用される。「例」又は「例示的」として説明された実施形態は、必ずしも他の実施形態よりも好適である若しくは有利であると解釈されるべきではなく、及び/又は他の実施形態からの特徴の組み込みを除外すると解釈されるべきではない。
【0204】
語句「任意選択的に(optionally)」は、本明細書において、「一部の実施形態において提供され、他の実施形態では提供されない」という意味で使用される。本開示の任意の特定の実施形態は、複数の「任意選択的な(optional)」特徴を含んでもよいが、そのような特徴が矛盾する場合を除く。
【0205】
本明細書で使用される用語「方法(method)」は、所与のタスクを達成するための方法、手段、技術、及び手順を指し、これらは、限定はされないが、化学、薬理学、生物学、生化学、及び医療技術に熟練した者には既知の方法、手段、技術、及び手順、あるいは既知の方法、手段、技術、及び手順からこれらの熟練者により容易に開発された方法、手段、技術、及び手順を含む。
【0206】
本明細書で使用される場合、用語「治療すること(treating)」は、状態の進行を止める、実質的に阻害する、遅延させる、又は逆転させる、状態の臨床的又は審美的症状を大幅に改善する、あるいは状態の臨床的又は審美的症状の出現を実質的に防止することを含む。
【0207】
本出願を通して、実施形態は範囲形式を参照して提示され得る。範囲形式での説明は、あくまで便宜上及び簡潔さのためものであり、本開示の説明の範囲に対する非柔軟な制限として解釈されるべきではないことを理解されたい。したがって、範囲説明は、その範囲内の個々の数値だけでなく、全ての可能なサブ範囲を具体的に開示したものと見なされるべきである。例えば、「1から6まで」等の範囲説明は、その範囲内の個々の数値(1、2、3、4、5、及び6等)と同様に、「1から3」、「1から4」、「1から5」、「2から4」、「2から6」、「3から6」等、具体的に開示されたサブ範囲を有するものと見なされるべきである。上記は範囲の広さに関係なく適用される。
【0208】
本明細書で数値範囲が示されている場合(例えば「10~15」、「10から15」、あるいは範囲表示で繋がれた任意のペアの数値)は常に、指定された範囲制限内に任意の数(分数又は整数)を含めることを意味する。また、文脈上明確に指示されない限り、範囲制限を含む。表現「range/ranging/ranges between」第1の指示数と第2の指示数、及び「range/ranging/ranges from」第1の指示数「to」、「up to」、「until」又は「through」(又は他のそのような範囲を示す用語)第2の指示数、は本明細書において交換可能に使用され、第1の指示数と第2の指示数、及びその間の全ての分数と整数を含むことを意味する。
【0209】
本開示の説明は特定の実施形態に関連して提供されるが、当業者には多くの代替、修正、及び変形が容易であることは明らかである。したがって、添付の特許請求の範囲の精神及び広い範囲内にある、そのような全ての代替、修正、及び変形を包含することを意図している。
【0210】
明確にするために、別個の実施形態の文脈で本開示に記載されている特定の特徴は、単一の実施形態において組み合わせて提供されてもよいことを理解されたい。逆に、簡潔にするために単一の実施形態の文脈で説明されている様々な特徴は、別々に、又は任意の適切なサブコンビネーションで、又は本開示の任意の他の説明された実施形態で適切に提供されてもよい。実施形態がそれらの要素なしでは機能しない場合を除き、様々な実施形態の文脈で説明される特定の特徴は、それらの実施形態に必須の特徴とみなされるべきではない。
【0211】
出願人は、本明細書で参照される全ての刊行物、特許、及び特許出願が-あたかも個々の刊行物、特許、又は特許出願が、参照することによって本明細書に組み込まれることが参照時に具体的かつ個別的に記載されているかのように-参照することによってその全体が本明細書に組み込まれることを意図している。さらに、本出願における任意の参考文献の引用又は識別は、そのような参考文献が本発明に対する先行技術として利用可能であることを認めるものと解釈されるべきではない。セクションの見出しが使用されている限りにおいて、それらは必ずしも限定的であると解釈されるべきではない。さらに、本出願のいずれの優先権書類も、参照することによってその全体が本明細書に組み込まれる。
【国際調査報告】