IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ムサシ エーアイ ノース アメリカ インコーポレイテッドの特許一覧

特表2024-513838適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス
<>
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図1
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図2
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図3
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図4
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図5A
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図5B
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図6
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図7
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図8
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図9
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図10
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図11
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図12
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図13
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図14
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図15
  • 特表-適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-27
(54)【発明の名称】適応型関心領域セグメンテーションを用いる自動外観検査のためのシステム、方法、およびコンピュータデバイス
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240319BHJP
   G01N 21/88 20060101ALI20240319BHJP
【FI】
G06T7/00 610
G06T7/00 610C
G06T7/00 350B
G01N21/88 J
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023560414
(86)(22)【出願日】2022-03-01
(85)【翻訳文提出日】2023-11-21
(86)【国際出願番号】 CA2022050289
(87)【国際公開番号】W WO2022204788
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】63/167,386
(32)【優先日】2021-03-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522492244
【氏名又は名称】ムサシ エーアイ ノース アメリカ インコーポレイテッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】バクシュマンド、サイード
【テーマコード(参考)】
2G051
5L096
【Fターム(参考)】
2G051AA90
2G051CA04
2G051EB05
2G051ED01
5L096BA03
5L096CA02
5L096DA02
5L096EA37
5L096FA04
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【解決手段】適応型ROIセグメンテーションを用いる外観検査のためのコンピュータシステム、方法、およびデバイスが提供される。システムは、対象物品の検査画像を取得するためのカメラと、対象物品の欠陥または異常を検出するためのAI外観検査コンピューティングデバイスとを含む。デバイスは、検査画像を受信するための通信インターフェースと、検査画像を処理して非関心領域がマスクされた検査画像を生成するための適応型ROIセグメンテーションモジュールと、マスク検査画像を受信し、画像解析モデルを用いてマスク検査画像を解析して、検出された欠陥または異常の存在を示す出力データを生成するための画像解析モジュールであって、マスクされた検査画像の解析は、マスクされていない関心領域(「ROI」)に限定される、画像解析モジュールと、出力データを表示するための出力インターフェースと、を含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
適応型関心領域(「ROI」)セグメンテーションを用いる対象物品の外観検査のためのシステムであって、
前記対象物品の検査画像を取得するためのカメラと、
前記対象物品の欠陥または異常を検出するためのAI外観検査コンピューティングデバイスと、を備え、
前記AI外観検査コンピューティングデバイスは、
前記カメラによって取得された前記検査画像を受信するための通信インターフェースと、
ROIセグメンテーションモデルを用いて検査画像を処理して、非関心領域(「nROI」)がマスクされたマスク検査画像を生成するための適応型ROIセグメンテーションモジュールと、
前記マスク検査画像を受信し、画像解析モデルを用いて前記マスク検査画像を解析して、前記画像解析モデルによって検出された前記欠陥または異常の存在を示す出力データを生成するための画像解析モジュールであって、前記マスク検査画像の解析はマスクされていないROIに限定される、画像解析モジュールと、
前記出力データを表示するための出力インターフェースと、を備える、
システム。
【請求項2】
前記画像解析モデルは、前記マスク検査画像内の少なくとも1つの欠陥クラスを検出するように訓練された物体検出モデルを含む、請求項1に記載のシステム。
【請求項3】
前記画像解析モデルは、前記マスク検査画像を前記対象物品のゴールデンサンプル画像と比較するように構成されたゴールデンサンプル解析モジュールを含む、請求項1に記載のシステム。
【請求項4】
前記画像解析モデルは、物体検出モデルとゴールデンサンプル解析モジュールとを含む、請求項1に記載のシステム。
【請求項5】
前記物体検出モデルにより生成された物体検出出力データと前記ゴールデンサンプル解析モジュールにより生成されたゴールデンサンプル出力データとを比較するための比較モジュールをさらに含む、請求項4に記載のシステム。
【請求項6】
前記ゴールデンサンプルモジュールは、前記検査画像から前記ゴールデンサンプル画像を生成するための生成モデルを含む、請求項3に記載のシステム。
【請求項7】
前記出力データは、前記物体検出モデルにより検出された各欠陥の欠陥タイプと欠陥位置とを含む、請求項2に記載のシステム。
【請求項8】
前記適応型ROIセグメンテーションモデルは、前記検査画像の非一様エリアを識別およびマスクするように訓練される、請求項1に記載のシステム。
【請求項9】
前記非一様エリアは、前記検査画像内の不適切に照明されたエリア、ユーザー定義された非一様エリア、同じクラスの異なる対象物品間で変化する前記対象物品の構成要素、および前記対象物品の不規則にテクスチャ化されたエリアのうちのいずれか1つ以上を含む、請求項8に記載のシステム。
【請求項10】
前記出力データは、前記対象物品を欠陥品または非欠陥品のいずれかに分類する、請求項2に記載のシステム。
【請求項11】
適応型関心領域(「ROI」)セグメンテーションを用いる対象物品の外観検査方法であって、
対象物品の検査画像を取得するステップと、
適応型ROIセグメンテーションモデルを用いて前記検査画像内のnROIをマスクすることによって前記検査画像を処理するステップと、
画像解析モデルを用いて前記マスクされた検査画像を解析し、前記対象物品の欠陥または異常を検出するステップと、
前記画像解析モデルの出力に基づいて出力データを生成するステップであって、前記出力データは前記検出された欠陥または異常の存在を示す、ステップと、
前記出力データをユーザー機器に表示させるステップと、
を含む方法。
【請求項12】
物体検出モデルによって生成された物体検出出力データを、ゴールデンサンプル解析モジュールによって生成されたゴールデンサンプル出力データと比較するステップをさらに含む、請求項11に記載の方法。
【請求項13】
前記出力データは、前記物体検出モデルによって検出された各欠陥の欠陥タイプおよび欠陥位置を含む、請求項11に記載の方法。
【請求項14】
前記適応型ROIセグメンテーションモデルは、前記検査画像の非一様エリアを識別およびマスクするように訓練される、請求項11に記載の方法。
【請求項15】
前記非一様エリアは、前記検査画像内の不適切に照明されたエリア、ユーザー定義された非一様エリア、同じクラスの異なる対象物品間で変化する前記対象物品の構成要素、および前記対象物品の不規則にテクスチャ化されたエリアのいずれか1つ以上を含む、請求項14に記載の方法。
【請求項16】
適応型関心領域(「ROI」)セグメンテーションを用いて検査画像内の物体を検出するためのAI外観検査コンピューティングデバイスであって、
カメラによって取得された前記検査画像を受信するための通信インターフェースと、
ROIセグメンテーションモデルを用いて前記検査画像を処理して、非関心領域(「nROI」)がマスクされたマスク検査画像を生成するための適応型ROIセグメンテーションモジュールと、
前記マスク検査画像を受信し、画像解析モデルを用いて前記マスク検査画像を解析して、前記画像解析モデルによって検出された前記物体の存在を示す出力データを生成するための画像解析モジュールであって、前記マスク検査画像の解析は、マスクされていない関心領域(「ROI」)に限定される、画像解析モジュールと、
前記出力データを表示するための出力インターフェースと、
を備えるデバイス。
【請求項17】
物体検出モデルによって生成された物体検出出力データを、ゴールデンサンプル解析モジュールによって生成されたゴールデンサンプル出力データと比較するための比較モジュールをさらに含む、請求項16に記載のデバイス。
【請求項18】
前記出力データは、前記物体検出モデルによって検出された各欠陥の欠陥タイプおよび欠陥位置を含む、請求項16に記載のデバイス。
【請求項19】
前記適応型ROIセグメンテーションモデルは、前記検査画像の非一様エリアを識別およびマスクするように訓練される、請求項16に記載のデバイス。
【請求項20】
前記非一様エリアは、前記検査画像内の不適切に照明されたエリア、ユーザー定義された非一様エリア、同じクラスの異なる対象物品間で変化する前記対象物品の構成要素、および前記対象物品の不規則にテクスチャ化されたエリアのいずれか1つ以上を含む、請求項19に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
以下は、一般に、機械学習に基づく外観検査に関し、より詳細には、適応型関心領域(「ROI」)セグメンテーションを用いる外観検査に関する。
【背景技術】
【0002】
画像解析、物体検出などの手順は、入力画像の各部分を徹底的に解析するために、多くの場合、多大な計算リソースを必要とする。このような多大な計算リソースは、全ての入力画像が有用な可能性または価値ある情報を明らかにする可能性があるわけではない場合、コストおよび時間の関数として法外なものになる可能性がある。
【0003】
同様に、物体検出および解析の発展に伴い、入力画像および/またはその背景の領域に、所望の物体や特徴などと類似しているが同一ではない特徴または要素を含み得る場合には、偽陽性が発生し得る。このような物体検出および解析を実行するコンピュータシステムおよび装置にとってこれらの区別が明白ではない場合、このような偽陽性の検出だけでなく、偽陽性の検出によって引き起こされる下流の操作にも、さらなる計算リソースが浪費される可能性がある。このことは、製造品質管理などへの応用のように、物体を検査する時間が限られている外観検査作業において、特に問題となり得る。
【0004】
したがって、実行されるコンピュータタスクについて、関心のない入力画像のエリアをマスクまたはブロックすることができるシステム、方法、および装置に対する必要性が実証されている。
【発明の概要】
【課題を解決するための手段】
【0005】
適応型関心領域(「ROI」)セグメンテーションを用いる対象物品の外観検査のためのシステムが提供される。このシステムは、カメラと、対象物品の欠陥または異常を検出するためのAI外観検査コンピューティングデバイスとを含む。カメラは対象物品の検査画像を取得する。AI外観検査コンピューティングデバイスは、カメラによって取得された検査画像を受信するための通信インターフェースと、ROIセグメンテーションモデルを用いて検査画像を処理して、非関心領域(「nROI」)がマスクされたマスク検査画像を生成するための適応型ROIセグメンテーションモジュールと、マスク検査画像を受信し、画像解析モデルを用いてマスク検査画像を解析して、画像解析モデルによって検出された欠陥または異常の存在を示す出力データを生成するための画像解析モジュールとを含み、マスク検査画像の解析はマスクされていないROIに限定される。AI外観検査コンピューティングデバイスは、出力データを表示するための出力インターフェースをさらに含む。
【0006】
画像解析モデルは、マスク検査画像内の少なくとも1つの欠陥クラスを検出するように訓練された物体検出モデルを含んでもよい。
【0007】
画像解析モデルは、マスク検査画像を対象物品のゴールデンサンプル画像と比較するように構成されたゴールデンサンプル解析モジュールを含んでもよい。
【0008】
画像解析モデルは、物体検出モデルとゴールデンサンプル解析モジュールとを含み得る。
【0009】
システムは、物体検出モデルによって生成された物体検出出力データを、ゴールデンサンプル解析モジュールによって生成されたゴールデンサンプル出力データと比較するための比較モジュールを含んでもよい。
【0010】
ゴールデンサンプルモジュールは、検査画像からゴールデンサンプル画像を生成するための生成モデルを含んでもよい。
【0011】
出力データは、物体検出モデルによって検出された各欠陥の欠陥タイプおよび欠陥位置を含んでもよい。
【0012】
適応型ROIセグメンテーションモデルは、検査画像の非一様エリアを識別およびマスクするように訓練されてもよい。
【0013】
非一様エリアは、検査画像内の不適切に照明されたエリア、ユーザー定義された非一様エリア、同じクラスの異なる対象物品間で変化する対象物品の構成要素、および対象物品の不規則にテクスチャ化されたエリアのうちのいずれか1つ以上を含んでもよい。
【0014】
出力データは、対象物品を欠陥品または非欠陥品のいずれかに分類してもよい。
【0015】
適応型関心領域(「ROI」)セグメンテーションを用いる、対象物品の外観検査方法が提供される。この方法は、対象物品の検査画像を取得するステップと、適応型ROIセグメンテーションモデルを用いて検査画像内のnROIをマスクすることによって検査画像を処理するステップと、画像解析モデルを用いてマスクされた検査画像を解析して対象物品の欠陥または異常を検出するステップと、画像解析モデルの出力に基づいて出力データを生成するステップであって、出力データは検出された欠陥または異常の存在を示す、ステップと、出力データをユーザー機器に表示させるステップと、を含む。
【0016】
この方法は、物体検出モデルによって生成された物体検出出力データを、ゴールデンサンプル解析モジュールによって生成されたゴールデンサンプル出力データと比較するステップを含んでもよい。
【0017】
出力データは、物体検出モデルによって検出された各欠陥の欠陥タイプおよび欠陥位置を含んでもよい。
【0018】
適応型ROIセグメンテーションモデルは、検査画像の非一様エリアを識別およびマスクするように訓練されてもよい。
【0019】
非一様エリアは、検査画像内の不適切に照明されたエリア、ユーザー定義された非一様エリア、同じクラスの異なる対象物品間で変化する対象物品の構成要素、および対象物品の不規則にテクスチャ化されたエリアのいずれか1つ以上を含んでもよい。
【0020】
適応型関心領域(「ROI」)セグメンテーションを用いて検査画像内の対象物を検出するためのAI外観検査コンピューティングデバイスが提供される。このデバイスは、カメラによって取得された検査画像を受信するための通信インターフェースと、ROIセグメンテーションモデルを用いて検査画像を処理して、非関心領域(「nROI」)がマスクされたマスク検査画像を生成するための適応型ROIセグメンテーションモジュールと、マスク検査画像を受信し、画像解析モデルを用いてマスク検査画像を解析して、画像解析モデルによって検出された物体の存在を示す出力データを生成するための画像解析モジュールであって、マスク検査画像の解析は、マスクされていない関心領域(「ROI」)に限定される、画像解析モジュールと、出力データを表示するための出力インターフェースと、を含む。
【0021】
この装置は、物体検出モデルによって生成された物体検出出力データを、ゴールデンサンプル解析モジュールによって生成されたゴールデンサンプル出力データと比較するための比較モジュールを含んでもよい。
【0022】
出力データは、物体検出モデルによって検出された各欠陥の欠陥タイプおよび欠陥位置を含んでもよい。
【0023】
適応型ROIセグメンテーションモデルは、検査画像の非一様エリアを識別およびマスクするように訓練されてもよい。
【0024】
非一様エリアは、検査画像内の不適切に照明されたエリア、ユーザー定義された非一様エリア、同じクラスの異なる対象物品間で変化する対象物品の構成要素、および対象物品の不規則にテクスチャ化されたエリアのいずれか1つ以上を含んでもよい。
【0025】
他の態様および特徴は、いくつかの例示的な実施形態に関する以下の説明を検討することで、当業者にとって明らかになるであろう。
【図面の簡単な説明】
【0026】
ここに含まれる図面は、本明細書の物品、方法、および装置の様々な例を説明するためのものである。
【0027】
図1】一実施形態に係る、適応型ROIセグメンテーションのためのコンピュータシステムの模式図である。
【0028】
図2】一実施形態に係る、本開示のコンピューティングデバイスのブロック図である。
【0029】
図3】一実施形態に係る、適応型ROIセグメンテーションを含む外観検査システムのブロック図である。
【0030】
図4】一実施形態に係る、適応型ROIセグメンテーションを用いる外観検査のためのコンピュータシステムのブロック図である。
【0031】
図5A】一実施形態に係る、適応型ROIセグメンテーションを含む外観検査システムの欠陥検出パイプラインのブロック図である。
【0032】
図5B】一実施形態に係る、図5Aの欠陥検出パイプラインで用いるための適応型ROIセグメンテーションモジュールを訓練するための訓練パイプラインのブロック図である。
【0033】
図6】一実施形態に係る、入力画像および出力画像の例と、入力画像を受信して出力画像を生成するための適応型ROIセグメンテーション装置の模式図とを示す図である。
【0034】
図7】一実施形態に係る、ROIセグメンテーションのためのシステムにそれぞれ提供され、生成されたカムシャフトの入力画像と出力画像とを含む複数組の画像ペアの図である。
【0035】
図8】一実施形態に係る、適応型ROIセグメンテーションを用いるゴールデンサンプル画像解析のための外観検査処理パイプラインのブロック図である。
【0036】
図9】一実施形態に係る、ゴールデンサンプル画像解析のコンテキストで適応型ROIセグメンテーションを用いる外観検査方法のフロー図である。
【0037】
図10】一実施形態に係る、適応型ROIセグメンテーションを用いるゴールデンサンプル画像解析のための外観検査パイプラインのブロック図である。
【0038】
図11】一実施形態に係る、ゴールデン画像解析のコンテキストで適応型ROIセグメンテーションを用いる外観検査方法のフロー図である。
【0039】
図12】一実施形態に係る、適応型ROIセグメンテーションを用いるゴールデンサンプル画像解析のための外観検査処理パイプラインのブロック図である。
【0040】
図13】一実施形態に係る、ゴールデンサンプル画像解析のコンテキストで適応型ROIセグメンテーションを用いる外観検査方法のフロー図である。
【0041】
図14】一実施形態に係る、適応型ROIセグメンテーションを用いる物体検出画像解析のための外観検査処理パイプラインのブロック図である。
【0042】
図15】一実施形態に係る、図14の物体検出モデルのブロック図である。
【0043】
図16】一実施形態に係る、物体検出画像解析のコンテキストで適応型ROIセグメンテーションを用いる外観検査方法のフロー図である。
【発明を実施するための形態】
【0044】
以下、請求項の実施形態を例示するために、様々な装置またはプロセスを説明する。以下で説明する実施形態は、請求項に係る実施形態を限定するものではなく、請求項に係る実施形態は、以下で説明するものとは異なるプロセスまたは装置をカバーすることができる。請求項に係る実施形態は、以下で説明する任意の1つの装置またはプロセスのすべての特徴を有する装置またはプロセスには限定されず、以下で説明する複数またはすべての装置に共通する特徴にも限定されることはない。
【0045】
本明細書に記載の1つまたは複数のシステムは、それぞれが少なくとも1つのプロセッサ、データ記憶システム(揮発性および不揮発性の、メモリおよび/または記憶要素を含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを備えるプログラマブルコンピュータ上で実行するコンピュータプログラムにおいて実装され得る。例えば、限定するものではないが、プログラマブルコンピュータは、プログラマブル論理ユニット、メインフレームコンピュータ、サーバ、およびパーソナルコンピュータ、クラウドベースプログラムまたはシステム、ラップトップ、パーソナルデータアシスタンス、携帯電話、スマートフォン、またはタブレットデバイスであってもよい。
【0046】
各プログラムは、好ましくは、コンピュータシステムと通信するための高レベルの手続き型またはオブジェクト指向のプログラミング、および/またはスクリプト言語で実装される。しかしながら、プログラムは、必要に応じて、アセンブリ言語または機械語で実装することができる。いずれにせよ、言語は、コンパイル言語またはインタプリタ型言語であってもよい。このような各コンピュータプログラムは、本明細書で説明する手順を実行するためにコンピュータによって記憶媒体またはデバイスが読み取られたときに、コンピュータを構成および機能させるための、汎用または特定用途のプログラマブルコンピュータによって読み取り可能な記憶媒体またはデバイスに格納されることが好ましい。
【0047】
互いに通信するいくつかの構成要素を有する実施形態の説明は、そのようなすべての構成要素が必要であることを意味するものではない。それどころか、本発明の多種多様な可能な実施形態を説明するために、様々な選択的な構成要素が説明されている。
【0048】
さらに、プロセスステップ、方法ステップ、アルゴリズムなどは、(本開示および/または特許請求の範囲において)連続した順序で記述されることがあるが、そのようなプロセス、方法およびアルゴリズムは、代替の順序で動作するように構成され得る。換言すれば、記述され得るステップの任意のシーケンスまたは順序は、ステップがその順序で実行されることを必ずしも要求するものではない。本明細書に記載されるプロセスのステップは、実用的な任意の順序で実行され得る。さらに、いくつかのステップは、同時に実行されてもよい。
【0049】
単一の装置または物品が本明細書に記載される場合、複数の装置または物品(それらが協働するか否かに関わらず)が単一の装置/物品の代わりに使用され得ることは、容易に明らかであろう。同様に、複数の装置または物品が本明細書に記載されている場合(それらが協働するか否かに関わらず)、単一の装置/物品が複数の装置または物品の代わりに使用され得ることは、容易に明らかであろう。
【0050】
以下は、概して機械学習に基づく外観検査に関し、より詳細には、適応型関心領域(「ROI」)セグメンテーションを用いる外観検査のためのシステム、方法、および装置に関する。このシステムは、ROIセグメンテーションを用いて、検査画像内の関心領域(「ROI」)を識別し、非関心領域(「非ROI」、「nROI」)をマスクまたはブロックする。検査画像のROIは、機械学習モデルを含む画像解析モジュールを用いて解析され、検査画像内(すなわちROI内)の欠陥が検出される。ROIセグメンテーションプロセスによって決定されたROIに解析を限定することで、システムは、偽陽性を有利に最小限に抑え、計算リソースをより効率的に使用することができる。
【0051】
本開示はまた、適応型ROIセグメンテーションのユーザーを通じて、自動化された外観検査プロセスの外観検査サイクル時間を短縮するためのシステム、方法、および装置を提供する。
【0052】
本開示のシステムは、解析される画像の処理されるエリアを、予め決定された最適エリアに有利に制限できる。偽陽性の可能性を低減できる。連結成分解析や領域ラベリングなどの画像処理方法によって、個々の領域に対して異なる許容誤差または演算を割り当てることができる。本システムは、物体検出アプリケーションにおける背景のブロッキングを支援することができる(それにより、偽陽性の可能性を低下させる)。本システムは、幾何学的領域の柔軟な定義を提供することができる(物体検出では、領域は矩形でなければならない)。不規則な形状(例えば、楕円体)を有するエリアでは、ROIの外側と矩形の内側の画素は無視されることがある。例えば、外観検査の対象物がロボットグリッパーで把持されている場合、ロボットグリッパーが画像に写り込むことがある。ロボットグリッパーの一部は、検出される可能性があり、画像を解析する際に欠陥として解釈され得る(偽陽性)。本システムは、偽陽性を生じさせ得るロボットグリッパーまたはその一部を覆うことによって、そのような偽陽性を低減することができる。
【0053】
工業的および/または商業的な環境では、様々な部品が、顧客への納入前または顧客による使用前に、機械的な適合性についての解析される必要がある場合がある。同様に、様々な部品の各々は、多くの異なるクラスの欠陥または異常の影響を受け得る。このような欠陥により部品が欠陥品となり得るため、その製造者は、顧客の忠誠心を維持しながら、および/または、適用される法律および/または規制を遵守しながら、その部品を販売することができなくなる可能性がある。このような異常は、部品をそこまで欠陥品とはしないかも知れない。しかしながら、どの部品にどのような欠陥および/または異常が発生しているかを把握しておくことは、製造者にとって有利な場合がある。そのような知識により、製造者は、特定の機械、工程、供給品、または前駆物質についての問題を追跡し得る。そのような知識により、製造者は、解析で明らかになった欠陥や異常をさらに修正および予防し得る。
【0054】
様々な部品それぞれについての詳細な解析は、時間の関数としてコストが掛かり得る。短期的には細部が損なわれることなく、長期的には仕事の満足度が損なわれることなく、細部に集中した暗記作業を長時間行う能力に関して、人間の作業者は、一般的にコンピュータや機械ほど高くない。したがって、自動化された外観検査システムを用いて部品を解析し、欠陥および/または異常を検出することは、製造者にとって非常に有利である。
【0055】
しかしながら、自動化された外観検査解析は、特にコンピュータビジョンアプリケーションを用いる場合、計算集約的である可能性があり、コンピュータのかなりの時間および/または計算能力を必要とし得る。さらに、関心のない画像領域、および/または偽陽性を生じ得る画像領域を解析することにより、計算資源が浪費される可能性がある。関心のない画像の領域を解析することによる処理時間の増加は、タスクにほとんどまたは全く価値を与えない一方で、サイクル時間(すなわち、部品を完全に検査する時間)を大幅に増加させる可能性がある。外観検査における偽陽性の検出は、欠陥品でない部品を欠陥品として分類するなど、下流に多大な悪影響を及ぼす可能性がある。
【0056】
したがって、入力画像のセグメンテーションによって検査画像内のROIおよびnROIを決定し、関心のない領域をマスクまたはブロックすることは、画像解析の効率を有利に改善し、それに応じて外観検査プロセスを改善する可能性がある。本開示では、このような関心のない領域をマスクする入力画像のセグメンテーションを、ROIセグメンテーションという。
【0057】
例えば、ある機械部品が、部品構成要素の適切なアセンブリまたは部品内の欠陥の存在について検査される必要があり、その機械部品の入力画像が、物体検出モデル、ニューラルネットワーク、人工知能プラットフォーム、または他のコンピュータ装置またはシステムに提供される場合、本開示は、機械部品の検査に関連しない入力画像のエリアをマスクまたはブロックしてもよい。
【0058】
更なる利点として、適応型ROIセグメンテーションは、処理されるエリアを予め設定された最適領域に制限することができる。個々のエリアに対して異なる許容誤差または操作を割り当てることができる。
【0059】
更なる利点として、適応型ROIセグメンテーションは、複数のフレームまたは画像にわたる領域追跡機能を可能にすることができる。
【0060】
更なる利点として、適応型ROIセグメンテーションは、画像上の幾何学的領域の柔軟な定義を提供することができる。
【0061】
本開示は、物体の欠陥検出および外観検査のためのROIセグメンテーションのためのシステムおよび方法を説明するが、本明細書で提供されるシステム、方法、および装置は、物体の欠陥検出および外観検査のコンテキストであるか否かに関わらず、本明細書で説明されるものを超える更なる用途および異なる用途を有してもよい。本明細書において物体検出用に構成されたものとして説明される計算装置は、物体検出以外の機能を有してもよい。そのような場合には、入力データは変化する可能性があり、出力データも同様であるが、本開示の要素、例えば関心のない領域のマスキングなどは、同様に機能し得る。
【0062】
ここで、図1を参照すると、そこに示されているのは、一実施形態に係る、適応型ROIセグメンテーションを用いる外観検査のためのコンピュータシステム10である。システム10は、適応型ROIセグメンテーション装置12を含み、この装置はネットワーク20を介してカメラ装置14、第2のモデル装置16、および統合装置18と通信する。
【0063】
適応型ROIセグメンテーション装置12は、適応型ROIセグメンテーションを実行するように構成されている。適応型ROIセグメンテーション装置12は、複数のマスキングモデルを含み得る。各マスキングモデルは、以前の入力画像の特定の領域を非関心領域(nROI)として以前にユーザーがラベリングしたことに応じて、特定のマスキングタスクを実行するように訓練され得る。このようなユーザーラベリングは、ユーザーがnROIをマスキングすることを含み得る。マスキングは、適応型ROIセグメンテーション装置12に提示された入力画像内の特定の物体の明るさなど、入力画像内の最適な明るさを検出することを含み得る。各マスキングモデルは、ニューラルネットワーク(例えば、畳み込みニューラルネットワークまたはCNN)などのディープラーニング技術、および機械学習アプローチを含み得る。機械学習によるROIセグメンテーションアプローチでは、求められる物体に関連する特徴が事前に定義されるが、ニューラルネットワークではそのような定義は必要ない。古典的なコンピュータビジョンアプローチでは、適応型ROIセグメンテーション装置12が画素コントラストまたは色情報を用いて境界線を描くタスクを実行できるようにするために、ルールベースのセグメンテーションが用いられる。ディープラーニングモデルでは、全体的な画像の外観を用いて境界を描画するように、アルゴリズムが訓練される。
【0064】
適応型ROIセグメンテーション装置12は、ROIセグメンテーションのコンテキスト以外のタスクを実行するようにも構成され得る。このようなタスクには、他の形態の機械学習(「ML」)タスクもしくは人工知能タスク、または非MLタスクが含まれ得る。
【0065】
装置12、14、16、18は、サーバコンピュータ、ノードコンピューティングデバイス(例えば、JETSONコンピューティングデバイスなど)、組み込みデバイス、デスクトップコンピュータ、ノートブックコンピュータ、タブレット、PDA、スマートフォン、または他のコンピューティングデバイスであってもよい。装置12、14、16、18は、インターネットへの有線または無線の接続などのネットワーク20との接続を含み得る。いくつかの例では、ネットワーク20は、他のタイプのコンピュータまたは通信ネットワークを含み得る。装置12、14、16、18は、メモリ、二次記憶装置、プロセッサ、入力装置、表示装置、および出力装置のうちの1つ以上を含み得る。メモリは、ランダムアクセスメモリ(RAM)または同様のタイプのメモリを含み得る。また、メモリは、プロセッサによる実行のための1つ以上のアプリケーションを記憶し得る。アプリケーションは、以下に説明する機能のための処理を実行するためのコンピュータ実行可能命令を備えるソフトウェアモジュールに対応し得る。二次記憶装置は、ハードディスクドライブ、フロッピーディスクドライブ、CDドライブ、DVDドライブ、Blu-ray(登録商標)ドライブ、または他のタイプの不揮発性データ記憶装置を含み得る。プロセッサは、アプリケーション、コンピュータ可読命令またはプログラムを実行し得る。アプリケーション、コンピュータ可読命令またはプログラムは、メモリまたは二次記憶装置に格納されてもよく、インターネットまたは他のネットワーク20から受信されてもよい。
【0066】
入力装置は、装置12、14、16、18に情報を入力するための任意の装置を含み得る。例えば、入力装置は、キーボード、キーパッド、カーソル制御装置、タッチスクリーン、カメラ、またはマイクであってもよい。表示装置は、視覚情報を提示するための任意のタイプの装置を含み得る。例えば、表示装置は、コンピュータモニタ、フラットスクリーンディスプレイ、プロジェクタ、またはディスプレイパネルであってもよい。出力装置は、例えばプリンタなど、情報のハードコピーを提示するための任意のタイプの装置を含み得る。また、出力装置は、例えばスピーカなどの他のタイプの出力装置を含み得る。いくつかの例では、装置12、14、16、18は、プロセッサ、アプリケーション、ソフトウェアモジュール、第2の記憶装置、ネットワーク接続、入力装置、出力装置、および表示装置のうちの任意の1つ以上の組み合わせを含み得る。
【0067】
装置12、14、16、18は、様々な構成要素とともに説明されるが、当業者であれば、装置12、14、16、18は、いくつか例では、より少ない構成要素、追加的な構成要素、または異なる構成要素を含み得ることを理解するであろう。さらに、装置12、14、16、18の実施の態様は、メモリに記憶されるものとして説明されることがあるが、当業者であれば、これらの態様は、ハードディスク、フロッピーディスク、CD、またはDVDを含む二次記憶装置、インターネットまたは他のネットワークからの搬送波、または他の形態のRAMまたはROMなどの、他のタイプのコンピュータプログラム製品またはコンピュータ読み取り可能媒体に記憶されるか、またはそれらから読み取られ得ることも理解されよう。コンピュータ読み取り可能媒体は、装置12、14、16、18および/またはプロセッサを制御して、特定の方法を実行するための命令を含み得る。
【0068】
装置12、14、16、18は、特定の動作を実行するとして説明できる。これらの装置のうちの任意の1つ以上が、自動的に、またはその装置のユーザによる相互作用に応答して、動作を実行し得ることが理解されよう。すなわち、装置のユーザーは、1つ以上の入力装置(例えば、タッチスクリーン、マウス、またはボタン)を操作して、説明された動作を装置に実行させることができる。多くの場合、この態様は以下に説明されないかもしれないが、理解されるであろう。
【0069】
一例として、装置12、14、16、18が1つ以上の他の装置12、14、16、18に情報を送信し得ることを以下に説明する。通常、装置は、ネットワーク20から(例えば、ウェブページの形態で)、ユーザーインターフェースを受信してもよい。あるいは、またはそれに加えて、ユーザーインターフェースは、装置にローカルに格納されてもよい(例えば、ウェブページまたはモバイルアプリケーションのキャッシュ)。
【0070】
適応型ROIセグメンテーション装置12のユーザーインターフェースコンポーネントは、ユーザーからの入力を受け取るための1つ以上のユーザーインターフェースエレメントを含み得る。例えば、ユーザーインターフェースコンポーネントは、入力画像内の領域が関心領域であるか否かを示すユーザー入力データを受信するためのイエス/ノーまたは同様のバイナリオプションを提供することができる。特定の例では、ユーザーインターフェースは、ユーザーがその領域が関心領域であるかどうかを判断できるように、入力画像内の適応型ROIセグメンテーション装置12によって区切られた特定の領域を提示および強調表示してもよい。他の例では、ユーザーは、ユーザーインターフェースを介してROIセグメンテーション装置12に入力データを提供することによってnROIを定義してもよい。
【0071】
さらに別の例として、適応型ROIセグメンテーション装置12のユーザーインターフェースコンポーネントが特定の入力データ(例えば、「いいえ」とラベル付けされたユーザーインターフェースエレメントをクリックするなどして、所定の領域が関心領域であるかどうかの質問に対する「いいえ」という回答)を受信すると、適応型ROIセグメンテーション装置12は、訓練中にその新しいデータを組み込むように構成されてもよい。このように組み込まれたデータは、適応型ROIセグメンテーション装置12をさらに訓練するために用いることができる将来の訓練データセットのための訓練サンプルとして記録されてもよい。例えば、ユーザーインターフェースを介して提供された入力データは、適応型ROIセグメンテーション装置12によって用いられてもよく、これにより、適応型ROIセグメンテーション装置12は、システム10によって生成された特定の入力画像が特定のROIまたはnROIのための訓練サンプルであることをタグ付けまたは他の方法で(メタデータを関連付けることなどによって)示してもよい。
【0072】
装置12、14、16、18は、複数の装置12、14、16、18のうちの1つ以上から、複数の情報を受信するように構成されてもよい。
【0073】
情報を受信することに応答して、それぞれの装置12、14、16、18は、情報をストレージデータベースに記憶してもよい。ストレージは、1つ以上の他の装置12、14、16、18の二次ストレージに対応してもよい。通常、ストレージデータベースは、ハードディスクドライブ、ソリッドステートドライブ、メモリカード、またはディスク(例えば、CD、DVD、またはBlu-ray(登録商標)など)などの任意の適切なストレージデバイスであってよい。また、ストレージデータベースは、装置12、14、16、18とローカルに接続されていてもよい。いくつかの例では、ストレージデータベースは、装置12、14、16、18から遠隔に位置し、例えばネットワークを介して装置12、14、16、18にアクセス可能であってもよい。いくつかの例では、ストレージデータベースは、ネットワーク化されたクラウドストレージプロバイダに配置された1つ以上のストレージデバイスから構成されてもよい。
【0074】
適応型ROIセグメンテーション装置12は、カメラ装置14によってキャプチャーされた検査画像を用いる、ROIセグメンテーションタスク、画像解析タスク、物体(例えば欠陥)検出タスク、物体(例えば欠陥)分類タスク、ゴールデンサンプル解析タスク、物体(例えば欠陥)追跡タスク、および他の関連データ処理タスクを実行するために特別に設計された専用機であってもよい。
【0075】
カメラ装置14は画像データを取り込む。画像データは、検査対象の部品または物体、あるいはその一部分または領域のものであってもよい。画像データは、単一の画像または複数の画像を含み得る。複数の画像(フレーム)は、カメラ14によってビデオとしてキャプチャーされてもよい。検査される物体(「被検査物体」または「対象物体」とも呼ばれることがある)のエリアを撮像するために、カメラ14と検査される物体とは相対的に移動し得る。例えば、物体が回転させられ、異なる位置のカメラ14によって複数の画像がキャプチャーされることで、複数の角度からの適切な検査を行ってもよい。カメラ14は、複数のフレームをキャプチャーするように構成されてもよく、各フレームはそれぞれの位置で取得されてもよい(例えば、物体がカメラ14に対して相対的に回転している場合)。
【0076】
通常、対象物体は、欠陥が望ましくない物体であってよい。検査される物体に欠陥があると、その物体またはその物体が構成要素であるより大きな物体(例えば、システムまたは機械)の機能的性能の低下を招き得る。検査される物体の欠陥は、物品の視覚的な魅力を低下させ得る。欠陥品を発見することは、欠陥品の販売および使用を避け、欠陥に関連する根本的な原因を特定し、そのような原因を改善できるようにするために、事業者にとって重要なステップとなり得る。
【0077】
検査される物体は、成形品であってもよい。検査される物体は、製造工程中に欠陥が発生しやすい製造品であってもよい。物体は、視覚的外観から何らかの価値が得られ、特定の欠陥が視覚的外観に悪影響を与え得る物品であってもよい。検査される物体の欠陥は、物体自体の製造中、または他の工程(例えば、輸送、試験)中に発現し得る。
【0078】
検査される物体は、金属、鋼鉄、プラスチック、複合材、木材、ガラスなどの1つ以上の材料で構成され得る。
【0079】
検査される物体は、大きさおよび形状が均一であっても不均一であってもよい。物体は湾曲した外面を有していてもよい。
【0080】
検査される物体は複数のセクションを含んでもよい。物体のセクションはさらに物体のサブセクションに分割されてもよい。物体のセクション(またはサブセクション)は、物体の外観または機能に基づいて決定され得る。物体のセクションは、物体の外観検査をより容易にし、許容できない欠陥のある物体をよりよく識別するために決定され得る。
【0081】
物体のセクションは、異なる機能を有する物体の異なる部分に対応してもよい。異なるセクションは、類似のまたは異なる寸法を有してもよい。いくつかの例では、物体は複数の異なるセクションタイプを含み、各セクションタイプは検査される物体中に1回以上出現する。セクションは、規則的な形状であってもよいし、不規則な形状であってもよい。異なるセクションは、異なる欠陥仕様(すなわち、特定の欠陥に対する許容誤差)を有していてもよい。
【0082】
検査される物体は、システム10を用いて検出可能な複数の種類またはクラスの欠陥が存在しやすい場合がある。欠陥の種類の例としては、塗料、多孔性、へこみ、傷、スラッジなどが挙げられる。欠陥の種類は、物体によって異なり得る。例えば、欠陥の種類は、物体の製造工程または材料組成に基づく物体に特有のものであってもよい。物体の欠陥は、製造自体の期間中に得られる場合もあれば、物体についての後続の処理を通じて得られる場合もある。
【0083】
適応型ROIセグメンテーションは、異なる種類またはタイプのnROIをマスクするように訓練され得る。
【0084】
nROIは、検査される物体が描画されている検査画像の非一様エリアを含み得る。非一様エリアは、外観が物品ごとに異なる可能性があり、外観検査の対象ではない、または外観検査に関連しないような、対象物品の構成要素を含み得る。このような関連性の判定は、ユーザーが事前に行ってもよいし、処理時にシステム10が行ってもよい。
【0085】
非一様エリアは、さらに、不適切に照明されたエリアまたは領域を含み得る。外観検査タスクの中には、対象物品を照明することを必要とするものがある。そのような照明は、照明された対象物品の検査画像に変換され得る。いくつかの例では、照明は、複数の照明源を必要としたり、使用したりするような複雑なものである。照明は、対象物品の一様でない照明(例えば、適切に照明され、または十分に照明されたエリア、不適切に照明され、または十分に照明されていないエリア)をもたらし得る。一様でない照明は、(例えば、偽陽性をもたらすことによって、)欠陥や異常の検出など、下流の画像解析プロセスに問題や非効率を引き起こす可能性がある。外観検査システムにとって関心のない不適切に照明された領域を識別およびマスクすることにより、システムは改善された画像解析(例えば欠陥検出、異常検出)を提供することができる。
【0086】
非一様エリアには、さらに、画像解析において多種多様な異常および/または欠陥を潜在的に発生させる可能性のある表面、例えば、テクスチャ表面(例えば、カムシャフト上の鋳肌)が含まれ得る。このような表面で覆われた領域をマスキングすることで、偽陽性を減らし、全体的な欠陥および異常検出を改善することができる。
【0087】
適応型ROIセグメンテーション装置12は、ユーザーインターフェースコンポーネント(またはモジュール)(例えば、ヒューマンマシンインターフェース)を含む。適応型ROIセグメンテーション装置12の訓練フェーズにおいて、ユーザーは、ユーザーインターフェースコンポーネント(またはモジュール)を介して、入力画像において関心のない領域を切り出す、マスクする、ラベルを付ける、または他の方法でブロックしてもよい。他の実施形態では、ROIセグメンテーション装置12は、訓練サンプルのnROIをプログラムに従って識別してもよい。ルールは、訓練期間の前および/または訓練期間中に、適応型ROIセグメンテーション装置12にハードコードされてもよい。適応型ROIセグメンテーション装置12の実行フェーズにおいて、適応型ROIセグメンテーション装置12は、更なるユーザー入力なしにマスキングを実行してもよい。
【0088】
第2のモデル装置16は、ネットワーク20を介して、適応型ROIセグメンテーション装置12からデータを受信する。受信されたデータは、適応型ROIセグメンテーション装置12からのマスク画像を含んでもよい。例えば、マスク画像データは、特定の領域が切り出されまたはブロックされた元の画像データを含んでもよい。このような切り出し、ブロック、または他の形態のマスキングには、マスクされた領域内のすべての画素を黒に設定することが含まれ得る。マスクされた領域内のすべての画素には、訓練データに含まれていたものに応じた画素値が割り当てられてもよい。このような黒への設定により、第2のモデル装置16に、画像のマスクされた領域を解析することで計算資源を消費しないように、有利に働きかけることができる。
【0089】
第2のモデル装置16は、物体検出タスクを実行するための1つ以上のモデルを含む物体検出装置16であってもよい。第2のモデル装置16は、マスク画像にメタデータを自動的に割り当てるための自動画像注釈ソフトウェアを含み得る。例えば、検査画像は、欠陥位置情報(例えば、バウンディングボックス座標、セントロイド座標)、欠陥サイズデータ、および欠陥クラス情報などの、物体検出モデルによって生成された欠陥データからなるメタデータで注釈付けされてもよい。
【0090】
システム10では、複数の第2のモデル装置16が存在し得る。第2のモデル装置16の各々は、カメラ14からの入力画像、適応型ROIセグメンテーション装置12からのマスク画像、および/または、適応型ROIセグメンテーション装置12および/または以前の第2のモデル装置16によって修正されたカメラ14からの入力画像、を入力として受け取ることができる。
【0091】
統合装置18は、適応型ROIセグメンテーション装置12および第2のモデル装置16のいずれかによって修正された入力画像およびマスク画像を受信するように構成される。統合装置18は単一の出力、例えば画像を生成する。この出力は、適応型ROIセグメンテーション装置12および/または第2のモデル装置16によって識別された特徴または領域の一部または全部が、ラベル付け、区切り、注釈、または他の方法で示されたものであってもよい。いくつかの例では、ROIセグメンテーション装置12、第2のモデル装置16、および統合装置18は、単一の装置として実装され得る。
【0092】
ここで、図2を参照すると、そこに示されているのは、一実施形態に係る、図1のシステム10のコンピューティングデバイス1000のブロック図である。コンピューティングデバイス1000は、例えば、図1の装置12、14、16、18のいずれか1つであってもよい。
【0093】
コンピューティングデバイス1000は、コンピューティングデバイス1000の動作を制御するプロセッサ1020などの複数のコンポーネントを含む。データ通信、音声通信、またはそれら両方を含む通信機能は、通信サブシステム1040を介して実行されてもよい。コンピューティングデバイス1000によって受信されたデータは、デコーダ1060によって展開および復号化されてもよい。通信サブシステム1040は、無線ネットワーク1500からメッセージを受信し、無線ネットワーク1500にメッセージを送信してもよい。
【0094】
無線ネットワーク1500は、データ中心の無線ネットワーク、音声中心の無線ネットワーク、および音声通信とデータ通信との両方をサポートするデュアルモードネットワークを含むが、これらに限定されない、任意のタイプの無線ネットワークであってよい。
【0095】
コンピューティングデバイス1000は、バッテリ駆動デバイスであってもよく、図示されるように、1つ以上の充電式バッテリ1440を受け取るためのバッテリインターフェース1420を含んでもよい。
【0096】
プロセッサ1020はまた、ランダムアクセスメモリ(RAM)1080、フラッシュメモリ1110、ディスプレイ1120(例えば、電子コントローラ1160に接続されたタッチセンシティブオーバーレイ1140と共に、タッチセンシティブディスプレイ1180を構成する)、アクチュエータアセンブリ1200、省略可能な1つ以上のフォースセンサ1220、補助入出力(I/O)サブシステム1240、データポート1260、スピーカ1280、マイクロフォン1300、短距離通信システム1320、および他のデバイスサブシステム1340などの追加のサブシステムと相互作用する。
【0097】
いくつかの実施形態では、グラフィカルユーザーインターフェースとのユーザーインタラクションは、タッチセンシティブオーバーレイ1140を介して実行されてもよい。プロセッサ1020は、電子コントローラ1160を介してタッチセンシティブオーバーレイ1140と相互作用してもよい。プロセッサ1020によって生成された、テキスト、文字、記号、画像、アイコン、およびコンピューティングデバイス上に表示またはレンダリングされ得る他のアイテムなどの情報は、タッチセンシティブディスプレイ1180上に表示され得る。
【0098】
プロセッサ1020は、加速度計1360とも相互作用し得る。加速度計1360は、重力または重力によって誘発される反力の方向を検出するために利用されてもよい。
【0099】
本実施形態に係るネットワークアクセスのための加入者を識別するために、コンピューティングデバイス1000は、ネットワーク(無線ネットワーク1500など)との通信のために、SIM/RUIMインターフェース1400に挿入された加入者識別モジュールまたは取り外し可能なユーザー識別モジュール(SIM/RUIM)カード1380を使用してもよい。あるいは、ユーザー識別情報は、フラッシュメモリ1110にプログラムされてもよいし、他の技術を用いて実行されてもよい。
【0100】
コンピューティングデバイス1000は、オペレーティングシステム1460と、プロセッサ1020によって実行され、フラッシュメモリ1110などの永続的データ記憶装置に記憶され得るソフトウェアコンポーネント1480と、をさらに含む。追加のアプリケーションは、無線ネットワーク1500、補助I/Oサブシステム1240、データポート1260、短距離通信サブシステム1320、または任意の他の適切なデバイスサブシステム1340を介して、コンピューティングデバイス1000にロードされ得る。
【0101】
使用時、テキストメッセージ、電子メールメッセージ、ウェブページダウンロード、または他のデータなどの受信された信号は、通信サブシステム1040によって処理され、プロセッサ1020に入力され得る。その後、プロセッサ1020は、ディスプレイ1120への出力または補助I/Oサブシステム1240への出力のための受信信号を処理する。加入者は、例えば電子メールメッセージなどのデータ項目をさらに作成してもよく、これは通信サブシステム1040を通じて無線ネットワーク1500を介して送信され得る。
【0102】
音声通信について、コンピューティングデバイス1000の全体的な動作は同様であってよい。スピーカ1280は、電気信号から変換された可聴情報を出力してもよく、マイクロフォン1300は、可聴情報を処理のための電気信号に変換してもよい。
【0103】
ここで、図3を参照すると、そこに示されているのは、一実施形態に係る、適応型ROIセグメンテーションを用いる外観検査のためのコンピュータシステム300のブロック図である。システム300は、対象物品を視覚的に検査するために使用できる。外観検査は、欠陥検出、欠陥分類、および異常検出のうちのいずれか1つ以上を含み得る。
【0104】
システム300はカメラ304を含む。カメラ304は、対象物品306の画像データをキャプチャーする。画像データは、単一の画像または複数の画像を含み得る。複数の画像(フレーム)は、カメラ304によってビデオとしてキャプチャーされてもよい。対象物品306のエリアを撮像するために、カメラ304と対象物品306とは互いに相対的に移動してもよい。例えば、複数の角度から適切な検査を行うために、対象物品306を回転させ、対象物品306の異なる位置でカメラ304によって複数の画像をキャプチャーしてもよい。カメラ304は、複数のフレームをキャプチャーするように構成されてもよく、(例えば、対象物品306がカメラ304に対して回転している場合、)各フレームは、それぞれの対象物品の位置で撮像される。カメラ304は、USB3.0カメラまたはインターネットプロトコル(「IP」)カメラであってもよい。
【0105】
システム300は、物品306を検査し、物品306に欠陥があるか否かを判定する。物品306は、システム300によって欠陥品または非欠陥品として分類され得る。
【0106】
物品306を欠陥品または非欠陥品として識別することによって、検査された物品は、外観検査の結果に基づいて異なる扱いを受けてもよい。欠陥品306は、廃棄されるか、または更なる処理から取り除かれてよい。非欠陥品306は、更なる処理を継続してよい。
【0107】
カメラ304は、通信リンク313を介して作業者ノード装置310に通信可能に接続される。
【0108】
カメラ304は、通信リンク313を介して画像データを作業者ノード装置310に送信する。一実施形態では、カメラ304は、現在の対象物品の位置で画像フレームをキャプチャーし、画像フレームを作業者ノード装置310に送信する。
【0109】
作業者ノード装置310は適応型ROIセグメンテーションコンポーネント312を含む。適応型ROIセグメンテーションコンポーネント312は、入力として検査画像を受信し、出力としてマスク画像を生成する。マスク画像はROIと非ROIとを含む。nROIはマスク画像のマスク領域に対応する。マスク画像は、解析のために画像解析コンポーネント316に提供される。画像解析コンポーネント316は、マスク画像に対して欠陥および/または異常検出を実行することができる。マスク画像を画像解析コンポーネント316に提供することにより、画像解析コンポーネント316は、ROIに画像解析を集中させ、非ROIを無視するなどによって、検査画像を直接受信する場合よりも効率的に機能することができる。
【0110】
画像解析コンポーネント316は、機械学習(ML)モデルを含み得る。MLモデルは、欠陥検出プロセスの一部として用いられる。MLモデルはニューラルネットワーク(NN)であってもよい。ニューラルネットワークは、畳み込みニューラルネットワーク(CNN)であってもよい。ニューラルネットワークは物体検出(OD)タスクを実行してもよい。ニューラルネットワークは画像分類タスクを実行してもよい。
【0111】
一実施形態では、画像解析コンポーネント316は、画像内の欠陥の存在を識別する出力データを生成するように構成される。出力データは、欠陥クラス、欠陥位置、欠陥サイズ、および欠陥信頼度のいずれか1つ以上を含み得る。欠陥位置は、バウンディングボックスによって定義されてもよい。出力データは、注釈付き検査画像の形態であってもよい。例えば、注釈付き検査画像は、欠陥を囲むバウンディングボックスと、欠陥タイプを識別するクラスラベルとを含み得る。いくつかの実施形態では、画像解析コンポーネント316は、異常などの画像内の異なるタイプのアーティファクトを識別する出力データを生成するように構成される。
【0112】
一実施形態では、画像解析コンポーネント316は、物体検出を実行するための物体検出コンポーネントを含む。
【0113】
物体検出コンポーネントは、画像データ内の欠陥を検出するために、画像データに対して物体検出プロセスを実行するように構成され得る。通常、物体検出プロセスは、欠陥(または複数の欠陥)が画像データ内に存在するか否かを判定する。
【0114】
物体検出コンポーネントは、欠陥タイプを分類する(すなわち、検出された欠陥に欠陥クラスを割り当てる)欠陥分類プロセスを実行するようにさらに構成されてもよい。欠陥分類は、物体検出プロセスから提供された入力に対して実行することができる。欠陥分類プロセスは、画像データにおいて1つ以上の欠陥が検出されたときに起動され得る。欠陥分類プロセスは、物体検出プロセスから提供された欠陥にクラスラベル(例えば、「スクラッチ」などの欠陥名または欠陥タイプ)を割り当てる。いくつかの実施形態では、物体検出コンポーネントは物体検出モデルと物体分類モデルとを含む。物体検出モデルは、検出された物体ごとに物体クラスを生成する。検出された物体を含む画像データは、物体分類モデルに提供され、物体分類モデルは物体クラスを出力する。物体検出コンポーネントは、物体検出モデルによって決定された物体クラスと、分類モデルによって決定された物体クラスとを比較し、物体のクラスラベルを確認する。クラスラベルが分類モデルによって確認されない場合、物体検出コンポーネントは検出を無視するように構成される。
【0115】
物体検出コンポーネントは、人工知能、ニューラルネットワーク、または他の手段を用いて、適応型ROIセグメンテーションコンポーネント312から受信した、マスク画像などの入力によって示される関心領域内の物体、その部品、それらの部品の適切なアセンブリ、および/またはそれらの欠陥を識別することができる。マスク画像を用いることにより、物体検出コンポーネントは、カメラ304によって提供される入力画像について物体検出が実行される場合よりも、時間および計算リソースに関してより効率的に動作し得る。
【0116】
一実施形態では、画像解析コンポーネント316は、ゴールデンサンプル(GS)画像解析を実行するためのゴールデンサンプルコンポーネントを含む。ゴールデンサンプルコンポーネントは、(検査画像からGS画像を生成するための)生成ゴールデンサンプルコンポーネントであってもよいし、そうでなくてもよい。生成GSコンポーネントでないゴールデンサンプルコンポーネントは、適切なGS画像を検索するためのGS画像のバンクを持ってもよい。
【0117】
ゴールデンサンプルコンポーネントは、画像比較コンポーネント(不図示)を有してもよい。画像比較コンポーネントは、GS画像と検査画像とを解析し、GS画像と検査画像との差異に対応するアーティファクトを識別する。通常、GS画像は「完全な」または「きれいな」画像を表すため、アーティファクトは検査画像に存在し、GS画像には存在しない。一実施形態では、検査画像とGS画像とはそれぞれ事前に訓練されたCNNに提供され、それぞれの特徴マップが生成される。特徴マップは、アーティファクトを識別するために比較/解析される。他の実施形態では、GS画像と検査画像とは、マトリックス減算または画素間グレースケール減算を用いて比較され、アーティファクトを識別する出力が生成される。画像比較コンポーネントの結果は、異常の検出や欠陥の新しいタイプまたはクラスの識別など、後続の処理操作で使用され得る。例えば、ゴールデンサンプルコンポーネントの出力(識別された差異、または物体)と、物体検出コンポーネントの出力(検出された物体)とが比較され得る。
【0118】
ゴールデンサンプルコンポーネントは、画像分類モデルを含んでもよい。画像分類モデルは、画像比較コンポーネントによって検出されたアーティファクトを含む入力画像を受信する。入力画像は、アーティファクトを含む検査画像の切り出しバージョンであってもよい。画像分類モデルは、クラスラベルを決定し、クラスラベルをアーティファクトに割り当てるように構成される。画像分類モデルは、欠陥ラベルまたは異常ラベルを入力画像に割り当てるように構成された二値分類器であってもよい。
【0119】
ゴールデンサンプルコンポーネントは、人工知能、ニューラルネットワーク、または他の手段を用いて、適応型ROIセグメンテーションコンポーネント312から受信したマスク画像などの入力によって示される関心領域の理想化された表現を作成してもよい。この理想化された表現を、「ゴールデンサンプル」または「ゴールデンサンプル画像」という。このゴールデンサンプルは、マスク画像のゴールデンサンプルとマスク画像自体との比較が行えるように、欠陥または不適切なアセンブリのない物体または部品の画像を表してもよい。マスク画像を用いることにより、ゴールデンサンプルコンポーネントは、カメラ304から提供される入力画像に対してゴールデンサンプルを作成する場合よりも、時間および計算リソースに関して、より効率的に動作し得る。
【0120】
物体検出コンポーネントおよびゴールデンサンプルコンポーネントは、ROIセグメンテーションコンポーネント312内の通信リンクを介して通信可能に接続されてもよい。通信リンクは、アプリケーションプログラミングインターフェース(API)などを含んでよい。
【0121】
物体検出コンポーネントおよびゴールデンサンプルコンポーネントは、それぞれ独自の指定されたハードウェアコンポーネント(不図示)を有してよい。例えば、物体検出コンポーネントは第1の組み込み装置上で実行され、ゴールデンサンプルコンポーネントは第2の組み込み装置上で実行されてもよい。組み込み装置は、人工知能タイプのタスクを実行するために特別に構成された組み込み装置であってもよい。一実施形態では、組み込み装置はJETSONボックスである。
【0122】
一実施形態では、画像解析コンポーネント316は、ODコンポーネント、GSコンポーネント、および統合コンポーネントを含む。統合コンポーネントは、図1の統合装置18に実装されてもよい。統合コンポーネントは、(例えば、検査画像内で発見された欠陥を記述する)ODコンポーネントと、(例えば、検査画像内で発見された欠陥または異常を記述する)GSコンポーネントとから出力データを受信するように構成される。統合コンポーネントは、OD出力データとGS出力データとを比較する。比較には、それぞれの出力における欠陥/異常の位置データを比較することが含まれ得る。統合コンポーネントは、位置データがOD出力とGS出力との間で(例えば閾値内で)一致することが発見された欠陥を確認してもよい。
【0123】
適応型ROIセグメンテーションコンポーネント312からマスク画像が提供された場合、画像解析コンポーネント316は、代わりに、物体検出コンポーネントで物体検出機能を実行してもよく、および/または、ゴールデンサンプルコンポーネントでゴールデンサンプル機能を実行してもよい。その後、統合コンポーネントは比較機能を実行してもよい。
【0124】
物体検出コンポーネントおよびゴールデンサンプルコンポーネントのいずれか一方または両方は、1つ以上の画像解析コンポーネント316内に収容されてもよい。画像解析コンポーネント316は、入力画像および/またはマスク画像を解析するための、さらなるモデルおよび/またはコンポーネントを含んでもよい。
【0125】
統合コンポーネントは、出力画像を生成するために、入力画像および/またはマスク画像に関してなされた情報および判定を統合してもよい。出力画像は、クライアント装置338に受信され、ユーザーに向けて表示される。出力画像は、画像解析コンポーネント316によって検出された視覚的に識別された欠陥または異常を含む注釈付き検査画像であってもよい。出力画像は、クライアント装置338のディスプレイ346でユーザーに向けて表示されてもよい。クライアント装置338を通じて、統合コンポーネントは、物体検出コンポーネント、ゴールデンサンプルコンポーネント、および/または、画像解析コンポーネント316の任意のさらなるモデルおよび/またはコンポーネント、によって生成された情報の全てまたは一部のみを提供してもよい。クライアント装置338におけるユーザーへの出力は、入力画像、または上に注釈が付されたまたはそのような情報が共に提供されたマスク画像のいずれかを含んでもよい。さらなる実施形態では、クライアント装置338におけるユーザーへの出力は、入力画像またはマスク画像とは無関係に提示された情報を含んでもよい。
【0126】
システム300のデバイス、コンポーネント、およびデータベースは、ここではカメラ304と適応型ROIセグメンテーションコンポーネント312とを接続するように図示されている通信リンク313などの通信リンクを通じて互いに通信する。このような通信リンクが、より多くの、より少ない、および全てのシステム300のデバイスと、コンポーネントと、データベースとの間に存在し得ることが、当業者には理解されよう。
【0127】
システム300は、PLC装置320をさらに含む。PLC装置320は、通信リンク322を介して作業者ノード装置310に通信可能に接続されている。
【0128】
PLC装置320は、対象物品306の操作および物理的処理を制御するように構成されている。これは、通信リンク321を介して物品操作ユニット(不図示)に制御命令を送受信することによって行うことができる。このような操作および物理的処理は、撮像のために対象物品306を回転もしくは移動させること、および、検査エリアへ対象物品306を入れたり検査エリアから対象物品306を出したりすることを含んでもよい。PLC320が通信リンク321を介して物品操作ユニットに送信する命令の一例は、「対象物品を「n」度回転させる」であってよい。いくつかの例では、このような命令の送信は、作業者ノード装置310(例えば、物体検出コンポーネント314)から受信した情報に依存し得る。
【0129】
PLC320は、欠陥許容誤差データを格納してもよい。欠陥許容誤差データは、特定の欠陥クラスに固有の欠陥クラス識別子と、欠陥クラス識別子にリンクされた1つ以上の許容値とを含み得る。他の実施形態では、欠陥許容誤差データは、作業者ノード装置310などの別の装置に格納されてもよい。欠陥許容誤差データは、欠陥許容誤差データベースに格納されてもよい。欠陥許容誤差データベース内の欠陥許容誤差データは、作業者ノード装置310によって(例えば、コンポーネント314、316を介して)生成されたデータと比較するための許容データ値の検索を容易にするために、欠陥クラス識別子を用いて参照されてもよい。
【0130】
例えば、一実施形態では、PLC320は、欠陥検出プロセスの結果を示すデータを、通信リンク322を介して作業者ノード装置310から受信するように構成される。例えば、欠陥が物体検出コンポーネント314によって検出された場合、欠陥データはPLC320に送信されてもよい。PLC320は欠陥許容誤差データを記憶する。PLC320は、許容誤差データを考慮して欠陥データを解析し、対象物品306が欠陥(例えば、「NG」)であるか許容誤差内(例えば、「OK」)であるかを判定する。PLC320は、許容差解析の結果を示す信号を作業者ノード装置310に送信してもよい。PLC320が欠陥データが許容誤差外であると判定した場合、PLC320は対象物品306の検査を停止し、欠陥対象物品の除去および新しい対象物品の準備のためのプロセスを開始してもよい。PLC320は、対象物品の検査を停止するための制御信号を生成し、対象物品306の操作を担当するアクチュエータに制御信号を送信してもよい。
【0131】
物体検出コンポーネント314が検査画像内に欠陥を検出していない場合、作業者ノード装置310は、(例えば、物体検出コンポーネント314を介して)、画像に欠陥が見つからなかったことを示す物体検出プロセスの結果を示す信号(例えば、「OK」)をPLC320に送信する。OKメッセージを受信すると、PLC320は、対象物品306のアクチュエータまたはマニピュレータに制御信号を送信して、対象物品306の現在の検査位置を調整する(例えば、対象物品306を「n」度回転させる)。
【0132】
他の実施形態では、欠陥許容誤差データは作業者ノード装置310に記憶され、許容差解析は作業者ノード装置310によって実行されてもよい。その後、作業者ノード装置310は、対象物品が欠陥品であるか否かを示す信号をPLC320に送信してもよい。
【0133】
システム300は、オペレータ装置324をさらに含む。オペレータ装置324は、通信リンク326を介して作業者ノード装置310と通信可能に接続されている。
【0134】
オペレータ装置324は、ユーザーインターフェースコンポーネント(またはモジュール)(例えば、ヒューマンマシンインターフェース)を含む。オペレータ装置324は、通信リンク326を介して作業者ノード装置310からデータを受信する。受信データは、作業者ノード装置310の画像解析コンポーネント316からの出力データを含んでもよい。例えば、出力データは、アーティファクトデータを含む注釈付き検査画像を含んでもよい。アーティファクトデータは、作業者ノード装置310によって識別された検査画像内のアーティファクト(例えば、欠陥、異常)を表示画像内で視覚的に識別できるように、位置情報(例えば、座標、バウンディングボックス)およびラベル情報を含んでもよい。
【0135】
作業者ノード装置310またはオペレータ装置324は、画像解析コンポーネント316によって生成されたデータを備えるメタデータをデジタル検査画像に自動的に割り当てるための自動画像注釈ソフトウェアを含んでもよい。
【0136】
オペレータ装置324は、作業者ノード装置310からの出力データを、注釈付き検査画像を表示するユーザーインターフェース画面を生成するユーザーインターフェースコンポーネントに提供する。例えば、検査画像は、欠陥位置情報(例えば、バウンディングボックス座標、セントロイド座標)、欠陥サイズデータ、欠陥クラス情報など、コンポーネントによって生成された欠陥データを含むメタデータで注釈付けされてもよい。
【0137】
オペレータ装置324のユーザーインターフェースコンポーネントは、オペレータからの入力を受け取るための1つ以上のユーザーインターフェースエレメントをレンダリングしてもよい。例えば、ユーザーインターフェースコンポーネントは、オプションの選択を示すユーザー入力データを受け取るために、はい/いいえ、または同様のバイナリオプションを提供してもよい。特定の例では、ユーザーインターフェースは、作業者ノード装置310によって注釈付き検査画像内から検出された特定の物体を提示して強調表示し、その物体が異常であるか否かを尋ねてもよい(また、ユーザーから対応する入力を受け取ってもよい)。
【0138】
ユーザーから受け取った入力データに応じて、注釈付き検査画像(またはその一部)は、システム300内で異なる経路制御をされてもよい。例えば、オペレータ装置324のユーザーインターフェースコンポーネントが特定の入力データ(例えば、ユーザーが「いいえ」とラベル付けされたユーザーインターフェースエレメントをクリックするなどして、所定のアーティファクトが異常であるかどうかの質問に対する「いいえ」という回答)を受け取ると、オペレータ装置324または作業者ノード装置310は、それぞれ、通信リンク332または333を介して、注釈付き検査画像(または画像データのサブセット)を訓練データベース330などのMLモデル訓練データベースに送信するように構成されてもよい。MLモデル訓練データベース330によって受信されたデータは、作業者ノード装置310の1つ以上の人工知能コンポーネントをさらに訓練するために使用可能な、将来の訓練データセットのための訓練サンプルとして記録することができる。
【0139】
オペレータ装置324は、ROIセグメンテーションコンポーネント312の訓練フェーズで使用されてもよい。例えば、検査画像は、オペレータ装置324のユーザーインターフェース(訓練サンプル注釈ユーザーインターフェース)に表示されてもよい。ユーザーは、検査画像内のnROIを特定するデータをユーザーインターフェースを介して入力することができる。いくつかの例では、ユーザーは画像内のROIを定義することによりnROIを特定することができる(すなわち、nROIはROIとして特定されない画像の領域である)。nROIが識別された結果画像は、訓練データベース330に追加されてROIセグメンテーションコンポーネント312の訓練(または再訓練もしくは更新)に使用され得る、訓練サンプルを構成する。一度訓練されると、システム300、特に適応型ROIセグメンテーションコンポーネント312は、訓練データベース330に依存することにより、更なるユーザー入力なしに適応型ROIセグメンテーションを実行することができる。
【0140】
システム300は、サーバーノード装置334をさらに含む。サーバーノード装置334は、通信リンク336を介して作業者ノード装置310と通信可能に接続されている。特に、サーバーノード装置は、通信リンク336を介して作業者ノード装置310の画像解析コンポーネント316と通信し得る。サーバーノード装置334は、Jetsonデバイスなどを含み得る。
【0141】
サーバーノード装置334は、作業者ノード装置310から外観検査データを受信する。外観検査データは、画像解析コンポーネント316からの出力データ(または「欠陥データ」)を含む。欠陥データは、欠陥が発見されたか否か、検出された各欠陥に固有の欠陥識別子、発見された欠陥の数、対象物品が欠陥品であるか否か、欠陥の位置(バウンディングボックス座標などの欠陥位置データ)、欠陥クラス識別子などを含み得る。サーバーノード装置334は、受信した欠陥データを解析するように構成された外観検査解析コンポーネントを含む。
【0142】
サーバーノード装置334は、通信リンク340を介してクライアント装置338に通信可能に接続される。いくつかの例では、クライアント装置338は、サーバーノード装置334を含み得る(すなわち、サーバーノード装置334はクライアント装置338の構成要素である)。
【0143】
サーバーノード装置334は、通信リンク344を介して解析データベース342に通信可能に接続される。解析データベース342は、作業者ノード装置310からの外観検査出力データ(例えば、欠陥データ)と同様に、解析データを格納する。
【0144】
各検査対象物品306についてのデータベースレコードが生成されかつ維持されるように、欠陥データが格納されてもよい。レコードは対象物品識別子を含み、この識別子は対象物品自体からキャプチャーされてもよいし(例えば、カメラによってキャプチャーされた物品のコード)、サーバーノード装置334によって自動的に生成されてもよい。様々な欠陥データが、対象物品306のデータベースレコードに関連付けられ、またはリンクされる。各欠陥には、その欠陥に関する他のデータがリンクされ得る固有の識別子が割り当てられてもよい。
【0145】
解析データは、サーバーノード装置334によって外観検査データから生成されてもよい。解析データは、外観検査データへの統計解析技術の適用によって生成されてもよい。解析データは、多数の対象物品306にわたってシステム300によってなされた判定に関する洞察を、オペレータまたは他のユーザーに提供し得る。
【0146】
クライアント装置338は、ディスプレイ346を介してグラフィカルユーザーインターフェースを提供するように構成されたユーザーインターフェースコンポーネントを含む。ユーザーインターフェースコンポーネントは、サーバーノード装置334から解析データを受信し、ディスプレイ346上のグラフィカルユーザーインターフェースを介して解析データを表示する。いくつかの例では、サーバーノード装置334およびユーザーインターフェースコンポーネントは、サーバーノード装置334が作業者ノード装置310から外観検査データを受信すると、グラフィカルユーザーインターフェースをリアルタイムで更新するように構成される。
【0147】
ここで、図4を参照すると、そこに示されているのは、一実施形態に係る、適応型ROIセグメンテーションを用いる外観検査のためのコンピュータシステム400である。コンピュータシステム400は、図1のコンピュータシステム10の1つ以上の装置で実装されてもよい。例えば、コンピュータシステム400の構成要素は、図1の適応型ROIセグメンテーション装置12、第2のモデル装置16、および統合装置18のいずれか1つ以上によって実装されてもよい。コンピュータシステムは、図3のシステム300の1つ以上の装置で実装されてもよい。例えば、コンピュータシステム400の構成要素は、図3の作業者ノード装置310に実装されてもよい。
【0148】
システム400は、ソフトウェアモデルおよびモジュールを実行するためのプロセッサ402を含む。
【0149】
システム400は、プロセッサ402からの出力データを含むデータを格納するための、プロセッサ402と通信するメモリ404をさらに含む。
【0150】
メモリ404は、検査画像に対応する検査画像データ410を記憶する。検査画像は、図3のカメラ304によって生成および提供されてもよい。
【0151】
プロセッサ402は、適応型ROIセグメンテーションモデル(例えばROIセグメンテーションモデル413)を訓練するための訓練モジュール406を含む。訓練モジュール406は、ROIセグメンテーションモデルの訓練に用いる入力画像内のnROI(またはROI)を示すユーザー入力を受信する。ユーザー入力は、訓練サンプル注釈データ408としてメモリ404に格納される。訓練モジュール406は、訓練サンプル注釈データ408を用いて入力画像に注釈を付けることで、訓練画像を生成する。訓練画像は、訓練画像データ407として(例えば、複数の訓練画像を備える訓練データセットの一部として)、メモリ404に格納される。いくつかの例では、訓練モジュール406は、訓練画像の注釈付けを、ユーザー入力なしにプログラム的または自動的に、実行することができる。
【0152】
プロセッサ402は、適応型ROIセグメンテーションモジュール412をさらに含む。適応型ROIセグメンテーションモジュール412と協働して、訓練モジュール406を用いて適応型ROIセグメンテーションモデル413を訓練する訓練フェーズが存在する。メモリ404は、訓練画像データ407を格納する。訓練モジュール406は、訓練画像データ407をユーザーインターフェース(不図示)に表示するように構成される。ユーザーは、訓練画像データ407を確認し、ユーザーインターフェースを介して訓練サンプル注釈データ408を訓練モジュール406に入力する。訓練サンプル注釈データ408は、訓練画像データ407内のマスクされた非ROI領域を示す。訓練モジュール406は、訓練サンプル注釈データ408を用いて訓練画像データ407に注釈を付け、注釈付き訓練画像データ409(マスクされた訓練画像データ)を生成する。注釈付き訓練画像データ409はメモリ404に格納される。ユーザーは、例えば、公知の写真改変技術および/またはソフトウェアによって非ROI領域をブラックアウトすることにより、訓練サンプル注釈データ408を手動で提供することができる。
【0153】
一実施形態では、訓練モジュール406は、適応型ROIセグメンテーションモデル413を訓練して、適応型ROIセグメンテーションモデル413がリングセグメンテーションを実行するように構成されてもよい。訓練モジュール406は、ソフトウェアコードを含んでもよく、当該ソフトウェアコードは、所定の直径を有する2つの円を発見し、円検出アルゴリズムを用いて内側と外側の円を抽出するように構成される。訓練モジュール406は、抽出された内側と外側の円を用いて、訓練画像データ407上にROIマスクを描画する。したがって、訓練済み適応型ROIセグメンテーションモデル413(例えば、訓練済みネットワーク)は、円検出アルゴリズム(それは例えば、深層学習ネットワークよりも遅く、複数の円形の物体が存在する複雑なタスクで失敗する可能性がある)にさらに依存することなく、そのようなリングを描画するように汎化することができる。
【0154】
訓練モジュール406は、訓練画像データ407および注釈付き訓練画像データ409を用いて、訓練プロセスを実行するようにさらに構成される。訓練画像データ407および対応する注釈付き訓練画像データ409は、オートエンコーダ型モデルのモデル構成を学習し、学習プロセスを通じて訓練済みROIセグメンテーションモデル413を生成するために、訓練モジュール406によって用いられてもよい。訓練モジュール406によって採用されるモデル訓練プロセスは、典型的なオートエンコーダのモデル訓練プロセスと同じであるか、または類似していてもよい。
【0155】
適応型ROIセグメンテーションモジュール412は、マスク画像を生成する。マスクされた画像内のnROIは、出力画像を他の画像処理アルゴリズムに提供することにより、画像から切り出される。適応型ROIセグメンテーションモジュール412は、nROI内の画素を黒(黒画素は無であり、コンテンツを含まない)に設定することにより、ブロックされたnROIを含むマスクされた出力画像を生成してもよい。
【0156】
適応型ROIセグメンテーションモジュール412は、訓練済みROIセグメンテーションモデル413を含む。訓練済みモデル413は、訓練モジュール406によって生成されたものであってもよい。適応型ROIセグメンテーションモジュール412は、適応型ROIセグメンテーション装置12と同様に機能してもよい。訓練済みROIセグメンテーションモデル413は、既存のオートエンコーダと構造的および機能的に類似していてもよい。訓練済みROIセグメンテーションモデル413は、畳み込み層を用いて検査画像データ410をダウンサンプリングし、検査画像データ410を潜在ベクトルにマッピングするように構成されてもよい。訓練済みROIセグメンテーションモデル413は、その後、検査画像データ410をアップサンプリングし、出力画像を生成してもよい。
【0157】
メモリ404とプロセッサ402と間の通信を通じて、検査画像データ410は、適応型ROIセグメンテーションモジュール412に供給され、ROIセグメンテーションモデル413への入力として提供される。ROIセグメンテーションモデル413は、出力としてセグメンテーション出力データ414を生成する。セグメンテーション出力データ414はメモリ404に格納される。セグメンテーション出力データ414は、nROIがマスクされたマスク画像を備えてもよい。例えば、セグメンテーション出力データ414は、(注釈付けされた訓練画像データ409と同様に)nROIがブロックで描画された画像であってもよい。
【0158】
セグメンテーション出力データ414は、検査画像データ410内の1つ以上の関心領域(ROI)を示すROIデータ416を含む。セグメンテーション出力データ414は、検査画像データ410において関心のない(したがってマスクされる)1つ以上の領域を示すnROIデータ418をさらに含む。ROI416およびnROI418のいずれか一方または両方は、ROIが強調表示され、および/または、nROIが切り出され、ブロックされ、ブラックアウトされ、または他の方法でマスクされた入力画像の形態であってもよい。
【0159】
プロセッサ402は、画像解析モジュール420をさらに含む。画像解析モジュール420は、入力画像内の物体を検出するための、ニューラルネットワークなどの1つ以上の機械学習モデル421を含む。機械学習モデル421が検出するように訓練される対象は、欠陥であってもよい。例えば、機械学習モデル421は、入力画像内の欠陥の1つ以上のカテゴリまたはタイプを検出または分類するように構成されてもよい。機械学習モデル421は、物体検出モデルであってもよい。機械学習モデル421は、画像分類モデルであってもよい。機械学習モデル421は、入力画像(例えばマスク検査画像414)内の特徴を検出するように構成された、CNNなどのニューラルネットワークであってもよい。
【0160】
画像解析モジュール420は、機械学習モデル421を用いてマスク検査画像内の物体/アーティファクトを検出するために、マスク検査画像414を受信および解析する。特に、マスク検査画像414の解析は、ROIセグメンテーションモデル413によって決定されたROI416に限定される。
【0161】
メモリ404とプロセッサ402との間の通信を通じて、検査画像データ410、ROIデータ416、および/またはnROIデータ418は、画像解析モジュール420に供給されてもよい。
【0162】
画像解析モジュール420は、機械学習モデル421を用いて、画像解析出力データ422を生成する。例えば、機械学習モデル421が物体検出モデルを含む実施形態では、画像解析出力データ422は物体検出出力データを含む。
【0163】
いくつかの例では、画像解析出力データ422は、注釈付き検査画像(例えば、以下に説明するように、検出された物体データに注釈が付けられたもの)であってもよい。
【0164】
画像解析出力データ422は、検出物体データ424を含む。検出物体データ424は、画像解析モジュール420によってROI416(マスク検査画像414)内で識別された1つ以上の物体を記述する。物体は欠陥であってもよい。物体は異常であってもよい。
【0165】
検出された物体データ424は、物体識別子データ426を含む。物体識別子データ426は、検出された物体ごとに(画像解析モジュール420によって生成された)固有の識別子を含んでもよい。
【0166】
検出物体データ424は、物体クラスデータ428を含んでもよい。物体クラスデータ428は、各検出物体に対するクラスラベルの割り当てを含んでもよい。クラスラベルは、欠陥の特定のカテゴリ、クラス、またはタイプに対応してもよい。
【0167】
検出物体データ424は、物体位置データ430を含んでもよい。物体位置データ430は、検査画像内の検出物体の位置を規定する各検出物体の位置データを含んでもよい。例えば、物体位置データ430は、ROI416、マスク検査画像414、または検査画像410内の検出された物体を囲むバウンディングボックスの形態であってもよい。
【0168】
検出された物体データ424は、物体信頼度データ432を含んでもよい。物体信頼度データ432は、各検出物体の信頼度を示す。
【0169】
検出物体データ424は、物体サイズデータ434を含んでもよい。物体サイズデータは、各検出物体のサイズを識別するサイズデータを含んでもよい。
【0170】
ここで図5Aを参照すると、そこに示されているのは、一実施形態に係る、ROIセグメンテーションを用いる欠陥検出パイプライン500である。パイプライン500は、図3のシステム300または図4のコンピュータシステム400などの外観検査システムによって実装される。
【0171】
502において、カメラ304は対象物品306を撮像する。撮像動作は、検査画像504(例えば、図4の検査画像410)を生成する。
【0172】
検査画像504は、適応型ROIセグメンテーションの実行およびnROI(例えば、図4のnROI418)のマスキングのために、適応型ROIセグメンターモジュール506に提供される。ROIセグメンターモジュール506は、図4のROIセグメンテーションモジュール412であってもよい。
【0173】
適応型ROIセグメンターモジュール506は、検査画像内のnROIを識別し、マスキングすることにより、マスク検査画像508を生成する。マスク検査画像508は、検査画像504から非ROI領域を切り出すか、または他の方法でブラックアウトしたものである。マスク検査画像508は、後続の解析をより効率的にROIに向けさせることができる。
【0174】
マスク検査画像508は、欠陥検出を実行するための第1の画像解析モジュール510に提供される。第1の画像解析モジュール510は、ROIセグメンターモジュール506によって識別されたように、ROIのみを解析し、nROIを無視するように構成される。
【0175】
第1の画像解析モジュール510は、欠陥データを含む出力画像512を生成する。欠陥データは、マスク検査画像から検出された欠陥を識別する。欠陥データは、図4の検出物体データ424であってもよい。出力画像512は、検出された欠陥を記述する注釈(ラベル、クラスラベル、バウンディングボックス、および/または座標など)を有する、検査画像504またはマスク検査画像508のいずれかの注釈付きバージョンの形態をとり得る。
【0176】
パイプライン500は、オプションコンポーネント514を含む。
【0177】
オプションコンポーネント514において、マスク検査画像508は、欠陥検出を実行するための第2の画像解析モジュール516にも提供される。第2の画像解析モジュール516は、ROIセグメンターモジュール506によって識別されたように、ROIのみを解析し、非ROIを無視するように構成される。
【0178】
第2の画像解析モジュール516は、欠陥データを含む出力画像518を生成する。欠陥データは、マスク検査画像から検出された欠陥を識別する。欠陥データは、図4の検出物体データ424であってもよい。出力画像518は、検出された欠陥を記述する注釈(ラベル、クラスラベル、バウンディングボックス、および/または座標など)を有する、検査画像504またはマスク検査画像508のいずれかの注釈付きバージョンの形態をとり得る。
【0179】
出力画像512、518は、第1の画像解析モジュール510と第2の画像解析モジュール516とによって検出された欠陥を比較するための比較モジュール520に提供される。比較モジュール520は、欠陥が出力画像512および518の両方に存在すると比較モジュール520によって判定された場合に、検査画像504および/またはマスク検査画像508の欠陥を確認するように構成されてもよい。比較は、それぞれの出力画像512、518内の欠陥の欠陥位置データ(例えば、図4の物体位置データ430)を使用して実行されてもよい。比較モジュール520は、欠陥を確認した場合、その欠陥をさらに分類してもよい。
【0180】
第1の画像解析モジュール510および第2の画像解析モジュール516は、異なる技術および/またはモデルを通じて欠陥検出を実行してもよい。例えば、第1の画像解析モジュールは、物体検出技術および/またはモデルに従って欠陥検出を実行してもよく、第2の画像解析モジュールは、ゴールデンサンプル技術および/またはモデルに従って欠陥検出を実行してもよい。
【0181】
ここで図5Bを参照すると、そこに示されているのは、一実施形態に係る、ROIセグメンテーションを用いる欠陥検出のための外観検査システムの訓練パイプライン501である。訓練パイプライン501は、図4の訓練モジュール406によって実装されてもよい。
【0182】
パイプライン501において、検査画像504は、前処理画像524を生成する前処理モジュール522に提供される。前処理画像524は、ROIおよびnROIを識別する注釈を有する、検査画像504の注釈付きバージョンの形態をとってもよい。注釈は、教師ありまたは半教師ありの方法でユーザーによって提供され得る。注釈は、代替的にプログラムによって提供されてもよく、検査画像504内の(検査されている)物体の位置または回転に基づいてもよい。例えば、検査中に物体が回転または移動し、複数の画像が取得される場合がある。このような場合、画像がどのような位置または回転で撮影されたかが分かるように、物体の位置または回転を示すメタデータを検査画像に関連付けてもよい。この位置情報は、ROIおよびnROIを自動的に識別するために、前処理モジュールによって活用され得る。
【0183】
前処理モジュール522は、検査画像504をユーザーに提供することを通じて(例えば、検査画像504をユーザーインターフェースに表示することによって)、前処理を実行してもよい。その後、ユーザーは、ユーザーインターフェースに入力データを提供することによって(例えば、nROIを手動で切り出すまたはブラックアウトすることによって)、検査画像504内のROIおよびnROIを指示することができる。このようなユーザーによる切り出しまたはブラックアウトは、公知の写真改変技術および/またはソフトウェア(例えばフォトショップ(登録商標)など)を用いて行うことができる。他の場合には、前処理モジュール522は、例えば、MLおよび/またはCNN技術に従って、画像を自動的に前処理するように構成されてもよい。前処理画像524は、nROIが切り出されるか、さもなければブラックアウトされる。
【0184】
526において、前処理画像524は、ROIセグメンテーションモデルを訓練するための訓練データセット528に追加される。
【0185】
訓練データセット528は、ROIセグメンターモデルの訓練および訓練済みROIセグメンターモデル507の生成のための、訓練モジュール530を構築するために用いられる。
【0186】
訓練済みROIセグメンターモデル507は、適応型ROIセグメンターモジュール506に組み込むことができる。
【0187】
パイプライン500および501は、検査画像504をインテリジェントに切り出してnROIを除去してもよく、ROIセグメンターモジュール506の訓練済みモデル507への入力を制限してもよい。
【0188】
非ROIのマスキングは、正確な検査を実行するために検査画像内の物体の表面の完璧な照明が必要な下流アルゴリズムにおいて、有利である。
【0189】
更なる例として、適応型ROIセグメンテーションがエリア走査カメラからのステッチ画像を生成するために用いられる場合、マスキングが有利に働くことがある。画像の非重複エリアは、出力画像に追加するために切り出されてもよい。
【0190】
更なる例として、医療用途では、組織の所定の部位に対して診断アルゴリズム(例えば、機械学習モデルを用いる画像解析)を実行する必要がある場合がある。例えば、医療専門家などのユーザーが、個人の状態を診断する(すなわち、個人に特定の病状が存在するか否かを判定する)目的で、個人の組織の画像を取得してもよい。画像は、本開示の適応型ROIセグメンテーション技術を用いてマスクされてもよい。特に、ROIセグメンテーションによって決定されたROIは、診断のために関心のある組織の1つ以上の所定の領域または部位に対応してもよく、nROIは、関心のない組織の他の部位または領域(したがってマスクされる)に対応してもよい。マスク画像は、機械学習モデル(例えば、物体検出、分類)を用いる下流の画像解析プロセスに提供されてもよい。機械学習モデルによる解析は、ROIに限定される。そうすることで、nROI内で画像内の何かを検出するなどの偽陽性の可能性が低減し得る。
【0191】
検査画像504内で検査される物体のROIは、用途によって異なり得る。例えば、カムシャフトの外観検査においては、ROIはカムシャフト画像の均一な照明がある領域(例えばカムシャフトの中心)であってもよい。適応型ROIセグメンテーションの下流で実行され得る異常検出タスクは、検査画像504の異なる領域に対して異なる要件を有する場合がある。さらに、検査画像504の全ての画素が検査に用いられるとは限らず、検査に用いられない画素をマスクすることで、偽陽性が低減し得る。
【0192】
ここで図6を参照すると、そこに示されているのは、一実施形態に係る、本開示のシステムおよび装置に対応する例示的な画像602a、602b、604a、604b、およびロジック606の図である。画像602a、602b、604a、604bは、ロジック606を用いて図4のコンピュータシステム400によって処理されてもよい。ロジック606は、図4のモデル413のような、訓練済みROIセグメンテーションモデルを表す。
【0193】
サンプル入力画像602aは、適応型ROIセグメンテーションが適用される前の、検査中のカムシャフトの入力画像(検査画像データ410など)を示す。具体的には、入力画像602aは、カムシャフトのジャーナル部を描画している。
【0194】
入力画像602aはROIセグメンテーションモデル606に提供され、ROIセグメンテーションモデル606は出力画像602bを生成する。
【0195】
出力画像602bはマスク検査画像である。出力画像602aは、ROIとnROIとを含む。nROIはモデル606によって黒画素でマスクされている。出力画像602bのマスクされた領域は、ハッチパターン(黒画素を表す)を用いて図示されている。nROIのマスキングは、他のモデルによる後続の検査画像の処理をROIのみに限定するのに有利である。
【0196】
出力画像602bは、非一様領域がマスクされたジャーナルである。出力画像602bのシールリングはマスクされている。適応型ROIセグメンテーションは、シールリングの外観がカムシャフト毎に異なり得るため、シールリングをマスクするように構成されている。出力画像内でシールリングがマスクされていない場合、シールリングは異常検出などの下流の画像解析処理に悪影響を及ぼし得る(例えば、偽陽性を生成することによって)。出力画像602b内の不適切に照明された領域がマスクされている。鋳肌もまた、出力画像602b内でマスクされている。鋳肌はテクスチャを有し、このテクスチャは、異常検出などの下流の画像解析プロセスに提示された場合、偽陽性、すなわち不要な検出を引き起こし得る。
【0197】
サンプル入力画像604aは、ROIセグメンテーションが適用される前の検査中のカムシャフトの別の入力画像の例である。具体的には、入力画像604aはカムシャフトのスラスト部を描画している。入力画像604aはROIセグメンテーションモデル606に供給され、ROIセグメンテーションモデル606は出力画像604bを生成する。出力画像604bは、(出力画像602bと同様に)マスク画像である。
【0198】
出力画像604bは、ROIとnROIとを含む。nROIはモデル606によって黒画素でマスクされている。出力画像604b内のマスクされた領域は、ハッチパターン(黒画素を表す)を用いて図示される。訓練済みROIセグメンテーションモデル413は、(入力画像604aの照明条件が悪いために)スラストエリアの強調画像を生成するように訓練される。出力画像604bでは、入力画像604aに存在する鋳肌がマスクされる。上述したように、異常検出などの下流の画像解析のために鋳肌が提示されると、鋳肌のテクスチャに起因する不要な検出が生じ得る。
【0199】
モデル606は、セグメンテーションタスクを学習するように設定されたノイズ除去オートエンコーダである。ノイズ除去オートエンコーダ606のレイヤ、コスト関数、および重みは、検査タスク毎に異なり得る。例えば、入力画像602aが出力画像602bを生成するために用いられるとき、入力画像602aの内容は、潜在空間(コード)にダウンサンプリングされる。再構成フェーズにおいて、画像データ内の非ROIは黒画素に変換される。
【0200】
ここで図7を参照すると、そこに示されているのは、一実施形態に係る、本開示のROIセグメンテーションモジュールによって処理される例示的な入力画像と出力画像とのペアの図である。入出力画像ペアは、検査中に回転されるカムシャフトを描画しており、回転の異なるポイントで画像がキャプチャーされている。入力画像および出力画像は、図3のシステム300によって生成および処理されてもよい。入力画像は、図4の検査画像データ410であってもよい。出力画像は、図4のセグメンテーション出力データ414であってもよい。
【0201】
列702a、704a、706aのそれぞれは、適応型ROIセグメンテーションが適用される前の入力画像(検査画像データ410など)を含む。適応型ROIセグメンテーションが、例えば図6のロジック606または図4の適応型ROIセグメンテーションモジュール412に従って実行された後である。列702b、704b、706bは、対応する入力画像に適用されたROIセグメンテーション処理によって生成された出力画像を含む(例えば、702aの第1行の入力画像は、702bの第1行の出力画像に対応する)。出力画像は、マスク検査画像(すなわち、対応する入力画像のマスクされたバージョン)である。マスク検査画像は、nROIに対応するマスクされた領域を含む。ROIはマスクされていない。出力画像702b、704b、706bのnROIは、黒画素でマスクされている。図7では、出力画像702b、704b、706b内のマスクされた領域がハッチパターン(黒画素を表す)を用いて図示されている。このマスキングは、他のモデルによる後続の処理を、各出力画像702b、704b、706b内のROIのみに有利に限定することができる。
【0202】
上述したように、入出力画像ペアは、検査中のカムシャフトが回転している様子を描画している。したがって、カムシャフトが回転するにつれてROIがどのように変化または移動し得るかを、画像ペアで見ることができる。列702aおよび702bでは、カムシャフトの明るいエリアが複数フレームにわたって追跡されている。列704aおよび704bでは、真空スロットの開口部が、加工面のどのエリアも逃すことなく、複数のフレームにわたってマスクされている。さらに、センサリングは検査が必要なエリアではないため、センサリングもまた、マスクされている。列706aおよび706bでは、VTCオイル穴とステッピングモータの切り欠きとが複数フレームにわたってマスクされている。
【0203】
外観検査のためのシステム10は、機械加工面を外観検査するために用いられてよい。機械加工面は、本明細書で説明するように、機械学習またはコンピュータビジョンプロセスを用いる外観検査に特に適している場合がある。システム10は、機械加工面を含む物品を外観検査するためにさらに用いられてもよい。物品は、検査される機械加工面以外の他の部品、構成要素、領域などを含んでいてもよい。そのような他の部品、構成要素、領域などは、外観検査に用いられる物品の画像データにキャプチャーされ、存在してもよい。さらに、物品の一部ではない他の側面も、画像データに含まれ得る。外観検査は、機械加工面に集中させてもよい。
【0204】
ここで図8を参照すると、そこに示されているのは、一実施形態に係る、適応型ROIセグメンテーションを用いるゴールデンサンプル画像解析のための外観検査処理パイプライン800である。パイプライン800は、例えば、図3のシステム300または図4のコンピュータシステム400を用いて実装することができる。
【0205】
パイプライン800は、入力画像802(例えば、検査画像データ410)から開始する。入力画像802は、カメラ304によってキャプチャーされた対象物品306の検査画像であってもよい。
【0206】
入力画像802は、適応型ROIセグメンター(例えば、図4の適応型ROIセグメンテーションモジュール412)に提供される。適応型ROIセグメンター804は、マスクされた入力画像データ806を生成する。
【0207】
マスクされた入力画像データ806はマスクを含む。マスクは、ROIセグメンター804によって識別された入力画像データ802内のnROIをカバーする。nROIのマスキングは、入力画像802内のnROIの画素を黒に設定することによって行うことができる。これには、nROI内の画素を黒に設定すること、または、ROIの外側にある画像内の全ての画素を黒に設定することが特に含まれ得る。
【0208】
マスクされた入力画像データ806は、生成モデル810に提供される。生成モデル810は、マスクされたゴールデンサンプル画像812を生成する。有利なことに、マスクされた入力画像データ806内ではnROIがマスクされているので、生成モデル810はそれらの領域に関して生成を実行しない。したがって、生成モデル810は、適応型ROIセグメンター804によって識別されるような関心のない領域を不必要に処理することを回避することによって、より効率的かつ効果的に処理を進めることができる。
【0209】
マスクされた入力画像806およびマスクされたゴールデンサンプル画像812は、それぞれ画像比較モジュール808に提供される。
【0210】
画像比較モジュール808は、マスクされた入力画像データ806およびマスクされたゴールデンサンプル画像812(すなわち、生成モデル810を経る前と経た後のマスクされた入力画像データ)について直接画像比較を実行し、比較出力データ814を生成する。比較出力データ814は、1つ以上の検出された物体(またはアーティファクト)を含み得る。この文脈における検出された物体とは、マスクされた入力画像806内に存在し、マスクされたゴールデンサンプル画像812内には存在しない物体またはアーティファクトを指す。換言すれば、検出された物体は、画像806、812間で検出された差異を表す。
【0211】
画像比較モジュール808は、画素単位で画像806、812を比較してもよい。一実施形態では、直接画像比較は、行列減算または画素間グレースケール減算を用いて実行される。有利なことに、このような比較は、マスキングの存在により、nROIが無視され、画像比較モジュール808がそのような領域に関して比較を実行する必要性がなくなるため、より効率的に進行し得る。
【0212】
比較出力データ814は、画像比較モジュール808によって発見された物体の分類(例えば、欠陥、部品識別)のために、分類モデル816に提供されてもよい。いくつかの例では、画像比較モジュール808によって識別された物体は、マスクされた入力画像から切り出され、物体を含む切り出し画像は、切り出し画像の画像分類のために分類モデル816に提供される。
【0213】
分類モデル816は、分類出力データ818を生成する。分類出力データ818は、分類される物体に割り当てられたクラスラベル(例えば、欠陥タイプ、欠陥対異常)を含む。分類出力データ818は、適応型ROIセグメンター804によって提供されるマスキングの存在によって、不要な処理および計算を回避することを通じて、より効率的かつ効果的に、有利に生成され得る。さらに、適応型ROIセグメンター804は、nROI内の偽陽性検出が分類モデル816に送信され、分類モデル816によって処理されることを防止することによって、分類モデル816に要求される負荷を有利に低減することができる(そのようなnROIはマスクされるため)。
【0214】
ここで図9を参照すると、そこに示されているのは、一実施形態に係る、図8の外観検査処理パイプライン800を用いる外観検査の方法900である。
【0215】
902において、入力画像802が取得される。
【0216】
904において、入力画像802が適応型ROIセグメンター804に提供される。
【0217】
906において、オートエンコーダ出力が生成され、個別のマスクがオートエンコーダ出力から導出される。
【0218】
908において、個別のマスクが入力画像802に適用されて、入力画像802内の関心のない領域がブロックされる。その結果、マスクされた入力画像データ806が得られる。
【0219】
910において、マスクされたゴールデンサンプル画像812を生成するために、マスクされた入力画像データ806が生成モデル810に入力される。
【0220】
912において、画像比較モジュール808は、マスクされた入力画像データ806とマスクされたゴールデンサンプル画像812との間の画像比較を実行する。このような比較は、適応型ROIセグメンター804によって識別された関心領域において、除外された画素(すなわち、マスクの外側の画素)に限定して、画素毎に行うことができる。
【0221】
914において、マスクされた入力画像データ806とマスクされたゴールデンサンプル画像812との間の検出されたアーティファクトまたは差異を含む、比較出力データ814が生成される。
【0222】
916において、検出されたアーティファクトまたは差異のそれぞれが分類モデル816に提供され、分類モデル816はそれらにクラスラベルを割り当てるように構成されている。分類モデル816は、二値分類モデルであってもよい。
【0223】
918において、分類出力データ818が生成される。分類出力データ818は、割り当てられたクラスラベルを含み得る。
【0224】
適応型ROIセグメンター804によって関心領域が識別され、その結果としてマスキングされるため、オペレータおよび/または適応型ROIセグメンター804のロジックによって関連性があるとみなされる入力画像802の部分(およびそれに応じてマスクされた入力画像データ806およびマスクされたゴールデンサンプル画像812の部分)のみに処理が有利に制限され得る。したがって、方法900は、コンピュータ処理において、より大きな効率性および有効性を促進することができる。
【0225】
ここで図10を参照すると、そこに示されているのは、一実施形態に係る、適応型ROIセグメンテーションを用いるゴールデンサンプル画像解析のための外観検査パイプライン801である。パイプライン801は、図8に示すパイプライン800の代替構成である。したがって、同様の参照番号が使用される。相違点のみを説明する。
【0226】
パイプライン801において、入力画像802は、ゴールデンサンプル画像820を生成するために生成モデル810に提供される。したがって、ゴールデンサンプル画像820が生成され、その後適応型ROIセグメンター804に提供され、マスクされたゴールデンサンプル画像812が得られる。このプロセスは、システム800について開示されたプロセスとは対照的であり、そこではマスクされたゴールデンサンプル画像812がマスクされた画像データ806から生成される。
【0227】
ここで図11を参照すると、そこに示されているのは、一実施形態に係る、システム801が動作する方法1100である。図11において、図9のステップと類似するステップは、同一の最後の2つの参照番号(例えば1102、902)によって示される。例えば、1102-1108は、図9の902-908と同様に機能する。
【0228】
方法1100では、910は1120に置き換えられる。図10のシステム801と同様に、マスクされたゴールデンサンプル画像812は、適応型ROIセグメンター804の個別のマスクをゴールデンサンプル画像820に適用することによって生成される。選択的に、ゴールデンサンプル画像820は、生成モデル810によって入力画像データ802から生成される。
【0229】
ここで図12を参照すると、そこに示されているのは、一実施形態に係る、適応型ROIセグメンテーションを用いるゴールデンサンプル画像解析のための外観検査処理パイプライン1200である。
【0230】
パイプライン1200は、図8と同様に、入力画像802から開始する。
【0231】
入力画像802は適応型ROIセグメンター804に送られる。適応型ROIセグメンター804は、マスクされた入力画像データ806を生成する。
【0232】
マスクされた入力画像データ806は、第1の事前訓練された畳み込みニューラルネットワーク(「CNN」)822への入力として提供される。第1のCNN822は、マスクされた入力画像データ806を処理し、第1の特徴マップを生成する。第1の特徴マップは、特徴マップ解析モジュール826に提供される。
【0233】
マスクされた入力画像806は、生成モデル810にも提供される。生成モデル810は、マスクされたゴールデンサンプル画像812を生成する。他の実施形態では、入力画像802は、ゴールデンサンプル画像を生成するために生成モデル810に直接提供されてもよく、ゴールデンサンプル画像は、マスクされたゴールデンサンプル画像812を生成するために適応型ROIセグメンター804に提供される。
【0234】
マスクされたゴールデンサンプル画像812は、第2の事前訓練されたCNN824への入力として提供される。第2のCNN824は、第1のCNN822と同じ構成を有してもよい。第2のCNN824および第1のCNN822は、同一の事前訓練がされたCNNの個別のインスタンスであってもよい。いくつかの例では、第2のCNN824は用いられず、マスクされたゴールデンサンプル画像812が第1のCNN822に提供されてもよい。
【0235】
第2のCNN824は、マスクされたゴールデンサンプル画像812を処理し、第2の特徴マップを生成する。第2の特徴マップは、特徴マップ解析モジュール826に提供される。
【0236】
特徴マップ解析モジュール826は、第1および第2の特徴マップの特徴マップ比較を実行し、差異(特徴マップ差異)を識別する。一実施形態では、特徴マップ比較は、画像のダウンサンプリングされたバージョンを使用し、その各画素は、入力画像の特徴マップからの同一の画素に関する同様のサイズのベクトルと同等のベクトルを含む。
【0237】
特徴マップ解析は、第1および第2の特徴マップ間で識別された差異(特徴)を含む出力を生成する。通常、識別された特徴は、入力画像内に存在する特徴または物体に対応し、ゴールデンサンプル画像内に存在する特徴または物体には対応しない。特徴マップ解析826は、入力画像802の特徴の識別および位置特定を含み得る。そのような特徴は、欠陥または特定の部品の存在を含み得る。そのような識別および位置特定は、識別された特徴に関してラベリングし、座標またはバウンディングボックスを提供することを含み得る。
【0238】
識別された特徴は、重心および形状の解析のために、重心および形状解析モジュール828に提供される。
【0239】
ここで図13を参照すると、そこに示されているのは、一実施形態に係る、システム1200が動作する方法1300である。図13において、図9のステップと類似するステップは、同一の最後の2つの参照番号(例えば1302、902)によって示される。
【0240】
ステップ1302から1308は、図9の902から908と同様に機能し、ここでは詳細を繰り返さない。
【0241】
1320において、個別のマスクをゴールデンサンプル画像に適用することによって、マスクされたゴールデンサンプル画像が生成される。これには、オートエンコーダ出力画像を用いて第2の(二値)画像を作成することが含まれる。二値画像は、その後、元の入力画像をマスクするために用いられる。ゴールデンサンプル画像は、ゴールデンサンプル画像を生成するように訓練された生成モデルに入力画像を提供することによって生成された、生成ゴールデンサンプル画像であってもよい。
【0242】
1322において、入力画像特徴マップを生成するために、マスクされた入力画像806が第1のCNN822に提供される。
【0243】
1324において、ゴールデンサンプル特徴マップを生成するために、マスクされたゴールデンサンプル画像812が第2のCNN824に提供される。
【0244】
1326において、特徴マップ差異を識別するために、入力画像特徴マップおよびゴールデンサンプル特徴マップについて特徴マップ解析が実行される。この特徴マップ解析は、比較の形式であってもよい。
【0245】
選択的に、1328において、重心および形状の解析が、1326において識別された特徴マップ差異に対して実行されてもよい。これらの処理には、二値画像に対するエロージョン演算子およびダイレーション演算子の組合せが含まれる。
【0246】
ここで図14を参照すると、そこに示されているのは、一実施形態に係る、適応型ROIセグメンテーションを用いる物体検出画像解析のための外観検査処理パイプライン1400である。
【0247】
パイプライン1400は、図8と同様に、入力画像802から開始する。
【0248】
入力画像802は、適応型ROIセグメンター804に送られる。適応型ROIセグメンター804は、マスクされた入力画像データ806を生成する。
【0249】
マスクされた入力画像データ806は、物体検出モデル830への入力として提供される。物体検出モデル830は、マスクされた入力画像データ806に対して物体検出タスクを実行するように構成される。物体検出モデル830は、入力画像内の物体の位置を特定し、識別する(クラスラベルを割り当てる)ように構成される。物体検出モデル830への入力としてマスクされた入力画像データ806を用いることで、マスクされた入力画像データ806の性質により、ROIのみが物体検出モデル830による処理に利用可能となるので、より効率的かつ効果的なコンピュータ処理を有利に促進できる。したがって、不必要な処理および計算が回避され得る。
【0250】
物体検出モデル830は、物体検出出力データ832を生成する。物体検出出力データ832は、マスクされた入力画像806内で検出される物体を記述する。物体検出出力データ832は、位置データ(例えばバウンディングボックス)および検出される各物体のクラスラベルを含み得る。特定の実施形態では、検出される物体は、検査されている物品の欠陥または特定の部品であってもよい。
【0251】
ここで図15を参照すると、そこに示されているのは、一実施形態に係る、図14の物体検出モデル830をより詳細に示している。図15に示す実施形態は、CNNアーキテクチャを含む。
【0252】
物体検出モデル830は、複数のコンポーネントまたはレイヤを含む。コンポーネントは、物体提案コンポーネント834、特徴マップコンポーネント836、関心領域(ROI)プーリングコンポーネント838、完全連結レイヤーコンポーネント840、ソフトマックスコンポーネント842、およびリグレッサコンポーネント844を含む。ソフトマックスコンポーネント842は、画像806内で検出された各物体についてのクラスラベル出力を提供する。リグレッサコンポーネント844は、画像806内で検出された各物体の最終的なバウンディングボックス座標を提供する。バウンディングボックス座標は、目標位置(すなわち、検出された物体)を定義する。バウンディングボックスは、矩形における左上隅のx軸およびy軸座標と、矩形における右下隅のx軸およびy軸座標とによって決定され得る矩形ボックスである。クラスラベルおよび最終的なバウンディングボックス座標の出力は、物体検出モデル830による物体検出出力832に結合されてもよい。物体検出出力832は、信頼度スコア(例えば0と1の間)を含んでもよい。
【0253】
ここで図16を参照すると、そこに示されているのは、一実施形態に係る、物体検出画像解析の文脈で適応型ROIセグメンテーションを用いる外観検査の方法1600である。図16において、ステップ1602から1608は、図9のステップ902から908と同様に機能し、ここでの再度の説明は省略する。
【0254】
1630において、マスクされた入力画像806は、マスクされた入力画像802内の少なくとも1つの物体クラスを検出するように構成された物体検出モデル830への入力として提供される。
【0255】
1632において、物体検出モデル830によって検出された各物体の検出物体データを含む、物体検出出力データが生成される。
【0256】
上記の説明は、1つ以上の装置、方法、またはシステムの例を提供するが、当業者に理解されるように、他の装置、方法、またはシステムもまた、請求項の範囲に含まれる。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
【国際調査報告】