JP7351898B2 - 外観検査のための画像サンプリング - Google Patents

外観検査のための画像サンプリング Download PDF

Info

Publication number
JP7351898B2
JP7351898B2 JP2021503054A JP2021503054A JP7351898B2 JP 7351898 B2 JP7351898 B2 JP 7351898B2 JP 2021503054 A JP2021503054 A JP 2021503054A JP 2021503054 A JP2021503054 A JP 2021503054A JP 7351898 B2 JP7351898 B2 JP 7351898B2
Authority
JP
Japan
Prior art keywords
image
images
subsequent
image library
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021503054A
Other languages
English (en)
Other versions
JP2022501691A (ja
Inventor
ライアン,キリアーン
Original Assignee
アムジエン・インコーポレーテツド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アムジエン・インコーポレーテツド filed Critical アムジエン・インコーポレーテツド
Publication of JP2022501691A publication Critical patent/JP2022501691A/ja
Application granted granted Critical
Publication of JP7351898B2 publication Critical patent/JP7351898B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06V10/7747Organisation of the process, e.g. bagging or boosting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00071Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for characterised by the action taken
    • H04N1/0009Storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Description

関連出願の相互参照
2018年7月26日に出願された米国仮特許出願第62/736,975号に付与された優先権が主張される。その内容全体はこの参照により本明細書に組み込まれる。
本出願は、一般に、品質管理の目的で医薬製品の分析に使用されるものなどの自動外観検査システムに関し、より具体的には、自動撮像装置によって生成された画像をサンプリングするための技法に関する。
医薬製品の検査は、手動で(すなわち、人間により目視で)行われる場合もあれば、又ははるかに効率的には、自動外観検査システムによって行われる場合もある。自動システムでは、外観検査レシピ(アルゴリズムなど)が複雑であり得、検査レシピの開発は、自動検査プロセスを微調整するために多くのサンプル画像を必要とし得る。特に、自動外観検査システムは、厳格な品質管理基準を満たすべき場合には大規模な訓練画像の集合を使用して訓練しなければならない機械学習モデルを採用する場合がある。最初のレシピが開発された後、追加の画像が、実行時の動作中(例えば、製造ロットの処理中)に保存され、検査レシピの微調整及び/又はトラブルシューティングに使用され得る。これらの追加の画像は1つの製造ロットに対して数百万あり、大規模なストレージ要件を発生させる場合がある。例えば、8台のカメラが20枚のサンプルの画像をそれぞれキャプチャし、製造ロットが500,000個のサンプルを含み、各画像に4メガバイト(MB)のストレージが必要とされる場合、たった1つの製造ロットに対する完全な画像の集合は320テラバイト(TB)のストレージスペースを必要とする。
ストレージ要件を減らすために、様々なサンプリング技法が使用されてきた。例えば、最後の(最新の)X枚の画像のみを保存して分析する場合もあれば、又はY枚の画像ごとに1枚のみを保存して分析する場合もある。前者の(最新のX枚の画像のみを保存する)技法は、ロットの外観検査が途中で中断された場合でも、一般に必要総数のサンプルが確実に保存されるという点で有利であり得る。しかしながら、この技法ではロット全体にわたって画像が保存されないため、例えばサンプル及び/又は動作条件がロットの検査中に少しでも変化する場合などに問題になり得る。一方、後者の(Y枚の画像ごとに1枚を保存する)技法は、ロット全体にわたってサンプルを収集するが、ロットの検査が途中で中断された場合、必要総数のサンプルを提供できない場合がある。このことが問題なのは、特に新製品のための新しいアルゴリズムを開発するときには、検査プロセスが途中で中断されることは珍しいことではないためである(例えば、品質管理手順において誤検出及び/又は検出漏れが多すぎることが示された場合など)。
したがって、上記の両方の手法の利点を持つ、すなわち、ロット全体にわたってサンプルを取得すると同時に、検査プロセスの早い段階であっても必要総数のサンプルを得ることによる画像サンプリング技法が必要とされている。サンプルの多様性により、製造ロットの検査中に検査モデルをより効果的に微調整することが可能になり、また必要総数のサンプルを利用できることにより、検査プロセスが途中で中断された場合に、より効果的なトラブルシューティングが可能になる。
本明細書において記述されている実施形態は、自動外観検査システムにおいて生成された画像をサンプリングするための従来の技法を改善するシステム及び方法に関する。自動外観検査において、最初に必要総数の画像が画像ライブラリに(例えば、必要総数をXとし、第1のX枚の画像を保存することによって)保存される。「必要総数」は、例えば分類/予測モデルを適切に訓練したり、又はそのようなモデルを適切に微調整若しくはトラブルシューティングしたりなどするために必要な何らかの最小数の画像(又は画像サブセット)と見なされ得る。自動外観検査システムの設計者は、Xの値を適宜選択することができる。
外観検査プロセスが進むにつれて、画像ライブラリの画像は、検査プロセス全体を通して、又は検査プロセスを実質的に通して次の2つの要件を満たす(又は実質的に満たす)ように順次置き換えられる。(1)画像ライブラリが必要総数の画像を(例えば、Xが必要総数である場合、第1のX枚の画像が生成されるとすぐに)含み、(2)画像ライブラリが検査されたロット全体にわたって(すなわち、その時点までに検査されているロットの部分全体にわたって)分布している画像を含む。そのような一実施形態では、第nの画像集合が受信されると、画像ライブラリのn枚ごとの画像が第nの画像集合のn枚ごとの画像に置き換えられ、画像ライブラリの他の画像はそのまま残される。例えば、必要総数が250枚の画像の場合、第1の250枚の画像のすべてが保存され得る。画像251~500が利用可能になると、保存されている画像の2枚ごとの画像が、画像251~500の2枚ごとの画像に置き換えられる(例えば、画像番号252が画像番号2に置き換わり、画像番号254が画像番号4に置き換わり、画像番号256が画像番号6に置き換わり、以下同様)。画像501~750が利用可能になると、保存されている画像の3枚ごとの画像が、画像501~750の3枚ごとの画像に置き換えられる(例えば、画像番号503が画像番号3に置き換わり、画像番号506が画像番号256に置き換わり、以下同様)。このサンプリングプロセスは、例えば、最後の250枚の画像の集合(又はその一部)が生成されるまで繰り返されてもよいし、又はプロセスは、第250の画像の集合の第250の画像が生成された後などに変更されてもよい。
このような技法を使用すると、画像ライブラリは、各反復/パス後の画像の分散を良好にし、少なくとも最初の反復/パスが終了するとすぐに必要総数の画像を含む。更に、これらの有用な特性は、多くの反復/パスの後でも維持される。
本技法の変形形態を用いることもできる。例えば、画像ライブラリのn枚ごとの画像を置き換えるのではなく、2つ以上の画像のサブセットをn個ごとに置き換えてもよい(例えば、各サブセットが異なる製品サンプル、又は異なるイメージャの視点に対応するなどの状態で)。
当業者は、本明細書において記述されている図は、例示を目的として含まれるものであり、且つ、本開示を限定するものではないことを理解するであろう。図面は、必ずしも縮尺が正確ではなく、その代わりに、本開示の原理を図示することに重点が置かれている。いくつかの例においては、記述されている実装形態の理解を促進するべく、記述されている実装形態の様々な態様が誇張又は拡大された状態で示されている場合があることを理解されたい。図面においては、様々な図面の全体を通じて、同一の参照符号は一般に、機能的に類似した且つ/又は構造的に類似したコンポーネントを参照している。
本明細書において記述されている画像サンプリング技法を実装し得る例示的な自動外観検査システムの概略ブロック図である。 図1の自動外観検査システムにおいて生成され得る例示的な一連の連続する画像集合を示すテーブルである。 図2Aの連続する画像集合を受信したときに実行され得る画像ライブラリのための例示的な一連の連続する画像置換動作を示すテーブルである。 図2Aの連続する画像集合を受信し、図2Bの連続する画像置換動作を適用したときの画像ライブラリの例示的な一連の連続する内容を示すテーブルである。 自動撮像装置によって生成された画像をサンプリングするための例示的なアルゴリズムのフロー図である。 自動撮像装置によって生成された画像をサンプリングするための例示的な方法のフロー図である。
上記において紹介されると共に以下において更に詳述される様々な概念は、多数の方法のうちの任意のものにおいて実装することができると共に、記述されている概念は、実装の任意の特定の方式に限定されるものではない。例示を目的として、実装形態の例が提供されている。
図1は、本明細書において記述されている画像サンプリング技法を実装し得る例示的な自動外観検査システム100の概略ブロック図である。システム100は、撮像装置102と、撮像装置102に通信可能に結合されたコンピュータ104と、ネットワーク108を介してコンピュータ104に通信可能に結合されたデータベースサーバ106とを備える。ネットワーク108は、単一の通信ネットワークであってもよいし、又は1つ又は複数のタイプの複数の通信ネットワーク(例えば、1つ若しくは複数の有線及び/若しくは無線ローカルエリアネットワーク(LAN)、並びに/又はインターネットなどの1つ若しくは複数の有線及び/若しくは無線広域ネットワーク(WAN))を含んでもよい。
撮像装置102は、1つ又は複数のイメージャ(例えば、電荷結合素子(CCD))と光学系(例えば、1つ又は複数のレンズ、場合により1つ又は複数のミラーなど)とを備え得る。1つ又は複数のイメージャ及び光学系は、外観検査のためにサンプルのデジタル画像をキャプチャするように一緒に構成される。検査対象のサンプル(図1に示さず)は、特定の用途にとって重要な視覚的属性又は特性を示し得るものであればどのようなものであってもよい。例えば製薬との関連では、検査されるサンプルは、シリンジ、バイアル、若しくは流体(例えば、医薬製品)を入れる他の容器であってよく、任意の流体が、望ましくない粒子(又は特定の視覚的属性を有する粒子など)を含む場合も含まない場合もある、並びに/又は検査されるサンプルは容器自体であってよく、任意の容器が、亀裂及び/若しくは他の欠陥を呈する場合も呈さない場合もある。そのような実施形態では、視覚的特性/属性は、例えば品質管理基準を満たす目的のためには重要であり得る。サンプルは、コンピュータ104によって制御されるモータ駆動システム又は別の装置若しくはシステムを使用することなどによって自動的に撮像装置102に順次提示され得る。
実装形態に応じて、撮像装置102は、サンプルごとに1つの画像、又はサンプルごとに複数の画像をキャプチャし得る。例えば、撮像装置102は、特定のサンプルを異なる視点から捉える物理的構成をそれぞれ有する3つのイメージャ(又は10個のイメージャ、20個のイメージャなど)を備え得る。イメージャのそれぞれは、各サンプルの単一の画像のみをキャプチャしてもよいし、又は各サンプルの複数の画像を経時的にキャプチャしてもよい(例えば、任意の瞬間に1つ又は複数の粒子による閉塞の可能性に起因する問題を克服し得る、粒子を経時的に追跡可能にする時系列画像を生成するために)。よって、例えば、撮像装置は、サンプルごとに1枚、2枚、3枚、10枚、20枚、100枚、又は任意の他の適切な枚数の画像をキャプチャし得る。サンプルの数も、例えば現在検査中の製造ロットの規模によって異なる場合がある。
コンピュータ104は、一般に、撮像装置102によって生成/キャプチャされた画像を分析し、それらの画像のサンプリングを長期ストレージのためのデータベースサーバ106に送信するために、撮像装置102を自動化/制御するように構成される。いくつかの代替的な実施形態では、これらの機能は、代わりに、2つ以上の異なるコンピュータに分割され得る、及び/又はこれらの機能の1つ又は複数が、代わりに、撮像装置102によって実装され得ることが理解される。図1から分かるように、コンピュータ104は、処理ユニット110と、ネットワークインターフェース112と、メモリ114とを備える。処理ユニット110は1つ又は複数のプロセッサを備え、1つ又は複数のプロセッサのそれぞれが、メモリ114に格納されたソフトウェア命令を実行して、本明細書において記述されているようにコンピュータ104の機能の一部又はすべてを実行するプログラム可能なマイクロプロセッサであり得る。或いは、処理ユニット110におけるプロセッサのうちの1つ、いくつか、又はすべては、他のタイプのプロセッサ(例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)など)であってもよく、本明細書において記述されているコンピュータ104の機能は、代わりに、部分的又は全体的にハードウェアにおいて実装されてもよい。
ネットワークインターフェース112は、1つ又は複数の通信プロトコルを使用してネットワーク108を介して通信するように構成された任意の適切なハードウェア(例えば、フロントエンド送信機及び受信機ハードウェア)、ファームウェア、及び/又はソフトウェアを含み得る。例えば、ネットワークインターフェース112は、コンピュータ104がインターネット又はイントラネットなどを介してデータベースサーバ106と通信することを可能にするイーサネットインターフェースであり得るか、又はイーサネットインターフェースを含み得る。
メモリ114は、揮発性及び/又は不揮発性メモリを含む1つ又は複数の物理メモリデバイス又はユニットを備え得る。読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ、ソリッドステートドライブ(SSD)、ハードディスクドライブ(HDD)など、1つ又は複数の任意の適切なメモリタイプを含めることができる。まとめて、メモリ114は、1つ又は複数のソフトウェアアプリケーション、それらのアプリケーションによって受信/使用されるデータ、及びそれらのアプリケーションによって出力/生成されるデータを格納し得る。
メモリ114は、処理ユニット110によって実行されると、撮像装置102と制御メッセージを交換させる制御モジュール126のソフトウェア命令を格納する。制御モジュール126は、一般に、サンプルの画像が人間の介入をほとんど又はまったく必要とせずに収集され得るように撮像装置102の動作を自動化するように構成され得る。特に、制御モジュール126は、サンプルごとに特定の数の画像を撮像装置102にキャプチャ/生成させることができ(おそらく、1つ又は複数のイメージャ、又はサンプル自体の自動回転又は他の動きを伴うなど)、更にそれらの画像をコンピュータ104に撮像装置102に送信させることができる。コンピュータ104は、最初に、受信した画像を画像メモリ128に格納し、画像メモリ128は、コンピュータ104が各画像を削除前に分析できるようにする任意の適切なタイプの一時ストレージ(例えば、RAM)であり得る。画像メモリ128は、例えば、新しい画像又は新しい画像のサブセットが撮像装置102から到着するたびに上書きされ得る。
メモリ114は、処理ユニット110によって実行されると、1つ又は複数のサンプル属性又は特性に関して各サンプルを分類する(又はより正確には、各サンプルの1つ又は複数の画像を分類する)分類モジュール130のソフトウェア命令を格納する。この目的のために、分類モジュール130は、機械学習(ML)モデル132を訓練及び実装し得る。例えば、流体サンプルの1つ又は複数の画像をMLモデル132に入力することができ、画像を処理した後、MLモデル132は、流体サンプル中の予測粒子数を出力し得る、及び/又は流体サンプルなどに含まれる粒子又はオブジェクトタイプの分布を出力し得る。MLモデル132は、線形回帰モデル、畳み込みニューラルネットワーク、再帰型ニューラルネットワークなど、任意の適切なタイプの機械学習モデルであり得る。或いは、MLモデル132は、代わりに、訓練を必要とせずに分類機能を実行する非MLアルゴリズムのソフトウェア命令(すなわち、視覚分析ソフトウェア)を含み得る。いくつかの実施形態では、分類モジュール130はまた、MLモデル132の出力を使用して、所与のサンプルを拒否するべきか又は受け入れるべきか(又は手動での検査などのために取っておくべきか)を判定する。代替的な実施形態では、MLモデル132の出力自体が、サンプルを受け入れるべきか若しくは拒否するべきか(若しくは更なる検討のために取っておくべきかなど)を直接示す分類を含むか、又はメモリ114(若しくは、図1に示されていないが、システム100の別のコンピュータのメモリ)の異なるモジュールがサンプルを受け入れるべきか拒否するべきかを判定する。
MLモデル132は、撮像装置102によってキャプチャされた画像が、画像を確認する人間によって手動でラベル付けされて訓練データとして使用される試行を実行することなどによる、任意の適切な方式で訓練され得る。MLモデル132を最初に生成/訓練することに加えて、分類モジュール130は、例えば製造ロットの検査の進行中に、追加の画像に基づいてMLモデル132を維持又は「微調整」し得る。例えば、品質管理手順は、撮像装置102によってキャプチャされた限られた画像の集合を、人間が手動で検査してラベル付けすることを必要とし得る。次に、分類モジュール130は、これらのラベル付き画像を追加の訓練データとして使用して、MLモデル132を改良し得る。いくつかの実施形態又はシナリオでは、特定の画像の人間による検査を使用して、検査プロセスがトラブルシューティングを必要とするか否かを判定することもできる。例えば、人間による画像の検査(及び/又はサンプル自体の検査)は、許容できないほど多数の誤検出及び/又は検出漏れがMLモデル132によって出力されていることを明らかにし得る。このようなシナリオでは、トラブルシューティング技法を適用して、よりロバストな検査プロセス及びより正確なMLモデル132を確保した後、製造ロットの検査を停止及び/又は再実行する必要があり得る。これらのトラブルシューティング技法は、十分な数及び十分な多様性(例えば、その時点までに検査されている様々なサンプル中に十分に分布していること)の両方を備えた画像の集合を得ることに大きく依存し得る。
MLモデル132の微調整及び/又はトラブルシューティングをサポートするために、データベースサーバ106は、データベースサーバ106にあるか、又はデータベースサーバ106に通信可能に結合されたメモリ(図1に示さず)に格納された画像ライブラリ134を維持する。メモリは、例えばHHD又はSSDメモリなどの不揮発性で永続的なメモリとすることができる。撮像装置102によってキャプチャされたすべての画像が、画像ライブラリ134に格納され、将来使用するために利用可能になることが理想的である。残念ながら、このことは、画像及びそのメモリ要件が膨大な数になる可能性があるため、並びに/又はネットワーク108上で十分に高速に画像を移すことが難しいため、実現困難であり得るか、又は多くの費用がかかり得る。例えば背景技術において上述したように、いくつかの検査レシピは、単一の製造ロットのみに対して数百テラバイト以上のストレージを必要とし得る。
ストレージ要件を減らすために、コンピュータ104のメモリ114は、漸進的更新サンプリングモジュール136のソフトウェア命令を格納する。ソフトウェア命令は、処理ユニット110によって実行されると、画像ライブラリ134でのストレージのために撮像装置102からの限られた画像のサブセットのみを選択/識別する。一実施形態では、漸進的更新サンプリングモジュール136は、ネットワークインターフェース112に、これらの選択された画像のみをデータベースサーバ106に(ネットワーク108を介して)送信させる。次に、漸進的更新記録モジュール140は、受信した画像のそれぞれを画像ライブラリ134に格納する。漸進的更新記録モジュール140はまた、新しいイメージを追加するときに画像ライブラリ134から削除する古い画像を判定する。いくつかの実施形態では、漸進的更新記録モジュール140は、削除される古い画像が存在するメモリロケーションにおいて新しい画像のそれぞれを上書きする。他の実施形態では、そのような対応は必要とされない(例えば、画像ライブラリ134から「削除」された画像は、しばらくの間メモリに依然として存在し得るが、新しいデータで上書きされることからもはや保護されていない)。
他の実施形態も可能である。例えば、コンピュータ104は、撮像装置102からネットワーク108を介してデータベースサーバ106にすべての画像を転送/送信でき、この場合、漸進的更新サンプリングモジュール136は、メモリ114ではなくデータベースサーバ106のメモリに存在し得る。しかしながら、このような手法では、一般に、ネットワーク108上で必要以上のトラフィックを必要とするため、好ましくない場合がある。別の代替的な実施形態では、画像ライブラリ134はメモリ114(又はコンピュータ104に通信可能に結合された別のローカルメモリ)にローカルに格納され、漸進的更新記録モジュール140はデータベースサーバ106のメモリではなくメモリ114に含まれる(例えば、コンピュータ104が、画像ライブラリ134におけるストレージ及び更新に関連する、本明細書において記述されているデータベースサーバ106の動作を行うように)。この後者の実施形態では、システム100は、データベースサーバ106及びネットワーク108を省略してもよい。
漸進的更新サンプリングモジュール136及び漸進的更新記録モジュール140が、画像ライブラリ134に追加する画像、及び画像ライブラリ134から削除する画像を一緒に判定するアルゴリズムは、具体的な実施形態に応じて変わり得る。しかしながら、一般に、アルゴリズムは、画像ライブラリ134が常に、又は実質的に常に(例えば、少なくとも何らかの閾値数の画像が最初に収集された後など)、MLモデル132の適切な改良及び/又はトラブルシューティングを可能にするために、十分に数が多く、十分に多様である(例えば、その時点までに収集されている様々な画像中に十分に分布している)画像の集合を維持することを確保しようとする。いくつかの実施形態では、例えば、漸進的更新サンプリングモジュール136及び漸進的更新記録モジュール140は、到来する画像を離散画像「集合」として扱い、各画像集合は互いに及び画像ライブラリ134と同じ数の画像を有する。次に、漸進的更新サンプリングモジュール136及び漸進的更新記録モジュール140は一緒に、撮像装置102から受信された画像集合ごとに、画像集合中に均一又は不均一に分散されている合計j枚の画像を画像ライブラリ134に追加し、画像ライブラリ134の現在のインスタンス中に均一又は不均一に分散されている合計j枚の画像を画像ライブラリ134から削除し、jは連続する画像集合ごとに減少する正の整数である。加えて、いくつかの実施形態では、(現在の画像集合及び画像ライブラリ134の現在のインスタンスの両方において)j枚の画像のそれぞれを分離する画像の数は、連続する画像集合ごとに増加する。
例えば、1つのアルゴリズムでは、漸進的更新記録モジュール140は、例えば、データベースサーバ106によって受信された第1のX枚の画像のすべてを格納することによって、最初に必要総数のX枚の画像を画像ライブラリ134に格納する。第2のX枚の画像の集合がコンピュータ104で利用可能になると、漸進的更新記録モジュール140は、画像ライブラリ134の2枚ごとの画像をその第2の画像の集合の2枚ごとの画像に置き換えることができる。次に、プロセスは、第3のX枚の画像の集合がコンピュータ104で利用可能になると、漸進的更新記録モジュール140によって、画像ライブラリ134の3枚ごとの画像をその第3の画像の集合の3枚ごとの画像に置き換えることを繰り返す。一般に、第nのX枚の画像の集合がコンピュータ104で利用可能になると、漸進的更新記録モジュール140は、画像ライブラリ134のn枚ごとの画像をその第nの画像の集合のn枚ごとの画像に置き換える。いくつかの実施形態では、任意の新しい画像集合についての画像ライブラリ134への更新が漸進的に行われ、漸進的更新サンプリングモジュール136によって、撮像装置102からの次の画像を受信するのを待たずに、選択された各画像がデータベースサーバ106に送信される、及び/又はデータベースサーバ106によって、コンピュータ104からの次の画像を受信するのを待たずに、画像ライブラリ134に新しい画像が追加される(且つ、古い画像を画像ライブラリ134から削除する)。他の実施形態では、バッチ処理手法が使用され、バッチ処理手法では、漸進的更新サンプリングモジュール136が、現在の画像集合全体がコンピュータ104で受信された後でのみ、選択されたすべての画像(例えば、第2の画像集合の2枚ごとの画像)をデータベースサーバ106に送信し、漸進的更新記録モジュール140が、その時点でその画像集合についてすべての置換動作を実行する。
上記のアルゴリズムの動作は図2A~図2Cに示され、一実施形態では、画像集合のそれぞれ及び画像ライブラリ134が、250枚の画像をそれぞれ含む。読みやすくするために、図2A、図2B、及び図2Cはそれぞれ、部分的なテーブル200、210、及び220のみを示している。テーブル200、210、及び220のそれぞれにおける列は、検査期間及び対応する画像集合の時系列番号を表す。
次に図2Aのテーブル200を特に参照すると、各行は、それぞれの250枚の画像の集合内の所与の画像の通し番号を表す。通し番号は、同じ画像集合の残りの部分に対して所与の画像が受信された順序を表し得る。或いは、行は、代わりに、それぞれの画像集合内の画像に割り当てられた任意の識別子(例えば、撮像装置102、制御モジュール126、分類モジュール130、又は漸進的更新サンプリングモジュール136によって割り当てられた識別子)を表し得る。テーブル200のエントリに示されている様々な値は、一意の画像を表す。値は、他のすべての画像に対する撮像装置102によって一意の画像が生成された順序、撮像装置102がコンピュータ104に一意の画像を送信した順序、一意の画像が分類モジュール130によって処理された順序などとすることができる。或いは、値は、画像番号1~250がすべて第1の検査期間の間に撮像装置102によって生成され、画像番号251~500がすべて第2の検査期間の間に撮像装置102によって生成され、以下同様であるという時間的制約を条件として、(例えば、上記のように)画像に割り当てられた任意の識別子であってもよい。
テーブル200は、撮像装置102によって生成された画像が各画像集合内にどのように配置されるかを簡単に示している。例えば、第1の検査期間の間に撮像装置102によって生成された第1の画像集合は、「1」~「250」とラベル付けされた250枚の画像を含む(分かりやすくするために、図1には最初の16枚のみを示す)。次の/第2の検査期間の間に撮像装置102によって生成された第2の画像集合は、「251」~「500」とラベル付けされた別の250枚の画像を含み(同様に、図1には最初の16枚のみを示す)、以下同様である。
次に図2Bを参照すると、テーブル210は、新しい画像集合/検査期間ごとに画像ライブラリ134のどの位置が更新されるかを示している。テーブル210の行によって表される「位置」は、純粋に論理的な構成概念であり得、特定のメモリロケーションが関与することを必ずしも意味しないことが理解される。テーブル210において、空白のエントリは、(画像ライブラリ134がその時点で存在するとき)画像ライブラリ134の対応する位置がそれぞれの画像集合に対して変更されないことを意味し、「Y」は画像ライブラリ134の対応する位置が、現在の画像を新しい画像集合からの画像に置き換えることにより更新されることを示す。
上記の例示的なアルゴリズムでは、テーブル210にしたがって更新された位置ごとに、新しい画像集合の対応する通し番号を有する画像を使用して、古いエントリが置き換えられる。例えば、第1の画像集合の場合、第1の画像集合の250枚の画像すべてが画像ライブラリ134の入力に使用される。その後、第2の画像集合の2枚ごとの画像が、現在画像ライブラリ134の2つごとの位置にある画像を置き換える。次の検査期間に移ると、第3の画像集合の3枚ごとの画像が、現在画像ライブラリ134の3つごとの位置にある画像を置き換え、以下同様である。これは、テーブル210に示されているように、またその先も進み得る。
図2Cのテーブル220は、各検査期間/画像集合後に、本手法により結果として得られる画像ライブラリ134の内容を示している。テーブル220では、各行は(図2Bに関連して上述したように)画像ライブラリ134の異なる位置を表し、テーブルの各エントリは(図2Aに関連して上述したように)一意の画像を表す。よって、テーブル220の第1の列は、第1の画像集合に基づいて更新が行われた後であるが第2の画像集合に基づいて更新が行われる前の画像ライブラリ134の内容を表し、テーブル220の第2の列は、第2の画像集合に基づいて更新が行われた後であるが第3の画像集合に基づいて更新が行われる前の画像ライブラリ134の内容を表し、以下同様である。図2Cから分かるように(テーブル220の行が省略されなかった場合には、示されているパターンは画像ライブラリ134の位置番号250まで続くことを理解した上で)、画像ライブラリ134は、第1の画像集合を受信した後、必要総数の250枚の画像を含み、現在の画像集合/検査期間までに受信された画像集合のすべてにわたって極めて均一に分布しているサンプリングされた画像を含む。
図2Cにおいてテーブル220の列が省略されなかった場合には、これらの有益な属性の両方が、少なくとも最初の250の検査期間/画像集合についてはそのまま残ることも分かるはずである。検査期間及び画像集合の数が最終的に画像ライブラリ134のエントリ数を超え得るシナリオを扱うために、漸進的更新サンプリングモジュール136及び漸進的更新記録モジュール140によって一緒に実装されるアルゴリズムは更なる工程を含み得る。例えば、画像ライブラリ134及び各画像集合がX個のエントリを含む場合、第(X+1)の画像集合から始まる異なるアルゴリズムが使用され得る。一実施形態では、例えば、第(X+1)の画像集合からの画像は画像ライブラリ134に追加されず、第(X+2)の画像集合からの1つの画像が画像ライブラリ134の第2の画像に置き換わり、第(X+3)の画像集合からの画像はライブラリに追加されず、第(X+4)の画像集合からの1つの画像が画像ライブラリ134の第4の画像に置き換わり、以下同様である。受信される画像集合の数によっては、アルゴリズムへの更なる工程又は変更も必要になり得る。しかしながら、必要総数の画像及び十分に多様な画像サンプリングを実現することの利益は、アルゴリズムの開発の比較的初期の段階(例えば、初期ロット)で最も重要であり得る。これはなぜなら、MLモデル132の微調整が初期段階でより重要であり得るためである、及び/又は初期段階でトラブルシューティングの必要性がより高くなり得るためである。
いくつかの実施形態では、上記のアルゴリズムにおける画像のそれぞれ(及び図2A~図2Cにおいて表されている画像のそれぞれ)は、代わりに、2つ以上の画像を含む画像サブセットであり、例えば各サブセットのサイズが等しい。各サブセットは、例えば、特定のロットサンプルに対して撮像装置102が生成したすべての画像を含み得る。そのような実施形態では、画像ライブラリ134に対する更新は、上記のように一度に1つの画像ではなく、一度に1つの画像サブセットで行われ得る。
図3は、(制御モジュール126を介してコンピュータ104によって自動化/制御されている)撮像装置102など、自動撮像装置によって生成された画像をサンプリングするための例示的なアルゴリズム300のフロー図である。アルゴリズム300は、例えば、コンピュータ104の漸進的更新サンプリングモジュール136と、データベースサーバ106の漸進的更新記録モジュール140とによって一緒に実施され得る。他の実施形態では、アルゴリズム300は、コンピュータ104によってのみ(例えば、図1の画像ライブラリ134がコンピュータ104に対してローカルである実施形態において)、又はデータベースサーバ106によってのみ(例えば、コンピュータ104が、すべての画像を、最初にそれらの画像のうちの特定の画像をサンプリングすることなく、データベースサーバ106に送信する実施形態において)実施され得る。
例示的なアルゴリズム300では、ステップ302において、(例えば、撮像装置102からコンピュータ104によって)第nの画像集合の第iの画像が受信され、第nの画像集合はX枚の画像を含む(例えば、250枚の画像、1000枚の画像など)。アルゴリズム300が開始されるとき、i及びnの両方とも1に等しい。ステップ302の後、フローはステップ304に進む。ステップ304において、iがnの倍数である整数であるか否かが判定される。否である場合、フローはステップ306に進む。しかしながら、iがnの倍数である整数である場合、フローは代わりにステップ308に進む。ステップ308において、画像ライブラリ314の第iの画像は、第nの画像集合の第iの画像に置き換えられる。ステップ308の後、フローはステップ306に進む。
ステップ306において、iがXに等しいか否かが判定される。否である場合、フローはステップ310に進み、現在の画像集合内の次の画像に進むためにiがインクリメントされる。しかしながら、iがXに等しい場合(すなわち、画像集合が完成している場合)、フローは代わりにステップ312に進み、次の画像集合に進むためにnがインクリメントされる。次に、実施されているのがステップ310であっても又はステップ312であっても、フローはステップ302に戻る。ステップ302~310(又は312)は、例えば異なる又は修正されたアルゴリズムが適用され得る時点に第Xの画像集合が受信されるまで繰り返され得る。
図3は1つの可能なアルゴリズムにのみ対応することが理解される。例えば、1つの代替的なアルゴリズムでは、画像ライブラリは、画像集合全体が受信された後、画像集合ごとに1回だけ更新される。別の例として、アルゴリズム300において言及される各「画像」は、代わりに、それぞれの画像集合内の2つ以上の連続する画像のサブセットである。別の例として、アルゴリズムは、画像ライブラリのn枚ごとの画像を置き換えるのではなく、画像ライブラリの(2n)枚ごとの画像を現在の画像集合の(2n)枚ごとの画像を使用して置き換えることができる。更に別の例として、アルゴリズムは、現在の画像集合の(X-n)枚ごとの画像を使用して、画像ライブラリの(X-n)枚ごとの画像を置き換えることができる(Xは、各画像集合及び画像ライブラリの画像の数である)。更に他の例では、画像ライブラリのどの画像を置き換えるかを判定するとき、及び/又は画像ライブラリのどの画像が古い画像を置き換えるかを判定するときに、ある程度のランダム性が導入され得る。当業者であれば、本明細書に開示された原理に含まれるアルゴリズムについて更に他の可能性又は変形形態を理解するはずである。
図4は、(制御モジュール126を介してコンピュータ104によって自動化/制御されている)撮像装置102など、自動撮像装置によって生成された画像をサンプリングするための例示的な方法400のフロー図である。方法400は、例えば、コンピュータ104の漸進的更新サンプリングモジュール136と、データベースサーバ106の漸進的更新記録モジュール140とによって一緒に実施され得る。他の実施形態では、方法400は、コンピュータ104によってのみ(例えば、図1の画像ライブラリ134がコンピュータ104に対してローカルである実施形態において)、又はデータベースサーバ106によってのみ(例えば、コンピュータ104が、すべての画像を、最初にそれらの画像のうちの特定の画像をサンプリングすることなく、データベースサーバ106に送信する実施形態において)実施され得る。画像は、任意のタイプのアイテム(例えば、シリンジ又は液体を収容する他の容器、空の容器など)の画像であってよく、実施形態に応じて任意の目的(例えば、機械学習モデルの微調整及び/若しくはトラブルシューティング並びに/又はアーカイブ目的など)のためにサンプリング/格納され得る。
ブロック402において、第1の画像集合が受信される。第1の画像集合は、第1の検査期間の間に自動撮像装置(例えば、制御モジュール126を介してコンピュータ104によって自動化/制御されている図1の撮像装置102)によって生成される/生成された画像を含む。第1の検査期間は、第1のサンプル(例えば、製品サンプル)のみの分析に対応するのであってもよいし、又は自動撮像装置が何らかの特定の数の画像(例えば、250枚の画像又は1000枚の画像など)をキャプチャするのにかかる時間に対応するのであってもよい。いくつかの実施形態では、第1の画像集合のすべての画像は、第1の検査期間の間に自動撮像装置によって連続的に生成された画像である。
ブロック404において、画像ライブラリがメモリに格納される。画像ライブラリ(例えば、図1の画像ライブラリ134)は、すべてに入力されると、第1の画像集合と同じ数の画像を含み得る。メモリは、例えばSSD又はHDDメモリなどの任意の不揮発性又は永続的なメモリデバイスを含み得る。ブロック404に最初に格納されるため、画像ライブラリは第1の画像集合のみから構成され得る。ブロック404は、ブロック402と同時に行われてもよいし(例えば、第1の画像集合の新しい画像のそれぞれが、新しい画像が受信されるとすぐに画像ライブラリに格納される)、又はブロック402の完全に後に(例えば、バッチプロセスで)行われてもよい。いくつかの実施形態では、画像ライブラリの各画像は、画像がキャプチャされた(又は受信などされた)時間及び/又は同じロットの他の画像に対してその画像がキャプチャされた(又は受信などされた)順序を示す関連メタデータとともに格納される。メタデータは、例えば、ブロック402で画像とともに受信されてもよいし、又はブロック404で生成されてもよい。
ブロック406において、後続の検査期間の間に自動撮像装置によって生成された後続の画像集合が順次受信される。後続の画像集合のそれぞれが、第1の画像集合及び画像ライブラリと同じ数の画像を含み得る。後続の検査期間のそれぞれは、異なるサンプルの分析に対応する場合もあるし、又は自動撮像装置が特定の数の画像(例えば、第1の検査期間の間にキャプチャされた同じ数の画像)をキャプチャするのにかかる時間に対応する場合もある。いくつかの実施形態では、後続の画像集合のそれぞれのすべての画像は、それぞれの検査期間の間に自動撮像装置によって連続的に生成された画像である。
ブロック408において、メモリに格納された画像ライブラリが更新される。更新プロセスは、後続の画像集合ごとに、その画像集合中に分布しているj枚の画像を画像ライブラリに追加し、画像ライブラリの現在のインスタンス中に分布しているj枚の画像を削除することであって、jは連続する画像集合ごとに減少する正の整数である、ことを含み得る。加えて、いくつかの実施形態では、(画像集合及び画像ライブラリの両方において)j枚の画像のそれぞれを分離する画像の数は、連続する画像集合ごとに増加する。いくつかの実施形態では、ブロック408における更新プロセスは、ブロック406で受信された画像集合ごとに、画像集合のn枚ごとの画像を画像ライブラリに追加し、画像ライブラリの現在のインスタンスのn枚ごとの画像を画像ライブラリから削除することであって、nは画像集合が自動撮像装置によって生成された検査期間の番号である、ことを含み得る。例えば、更新プロセスは、図3に示されるアルゴリズムにしたがうことができる、及び/又は図2A~図2Cのテーブル200、210、及び220に対応するアルゴリズムにしたがうことができる。いくつかの実施形態では、上述のように、画像ライブラリに追加された各画像は、画像がキャプチャされた(又は受信などされた)時間及び/又は同じロットの他の画像に対してその画像がキャプチャされた(又は受信などされた)順序を示す関連メタデータとともに格納される。メタデータは、例えば、ブロック406で画像とともに受信されてもよいし、又はブロック408で生成されてもよい。
或いは、画像ライブラリを更新するたびに、2枚以上の画像(すなわち、画像サブセット)を置き換えることを含むこともできる。例えば、ブロック408における更新プロセスは、ブロック406で受信された画像集合ごとに、画像集合の2枚以上の画像のサブセットをn個ごとに画像ライブラリに追加し、画像ライブラリの現在のインスタンスの2枚以上の画像のサブセットをn個ごとに画像ライブラリから削除することであって、nは、同様に、画像集合が自動撮像装置によって生成された検査期間の番号である、ことを含み得る。ブロック408は、ブロック406と同時に行われ得る(例えば、後続の画像集合のそれぞれが受信されたときに画像ライブラリへの更新が行われ、場合により、第nの画像集合の第nの画像又は画像サブセットが受信されるたびに画像ライブラリの単一の画像又は画像サブセットへの更新が行われる状態で)。
実施形態に応じて、上記の異なるブロックは、異なるロケーションで行われ得る。例えば、ブロック402及び406は、図1のコンピュータ104で行われ得る一方、ブロック404及び408は、図1のデータベースサーバ106で行われ得る。更に、いくつかの実施形態では、方法400は、図4に示されていない1つ又は複数のブロックを含む。例えば、方法400は、画像ライブラリの現在のインスタンスのいくつか又はすべての画像が、機械学習モデル(例えば、図1のMLモデル132)の更なる訓練(例えば、「微調整」)などの特定の目的のため、又は検査レシピのトラブルシューティングなどに使用される、更なるブロックを含み得る。別の例として、方法400は、ロットに関連するすべての画像が、それらの画像がキャプチャされた(又は受信などされた)順序にしたがって並べ替えされる、更なるブロックを(例えば、ブロック408の後に)含み得る。
次に、上記の開示及び図面に関連する更なる考慮事項について取り上げる。
本明細書において記述されている図のいくつかは、1つ又は複数の機能可能なコンポーネントを有する例示用のブロック図を示している。このようなブロック図は、例示を目的としたものであり、且つ、記述及び図示されている装置は、図示されているものよりも多くの数の、少ない数の、又は代替的な、コンポーネントを有し得ることを理解されたい。これに加えて、様々な実施形態においては、コンポーネント(のみならず、個々のコンポーネントによって提供される機能)は、任意の適切なコンポーネントと関連付けられていてもよく、或いは、さもなければ、その一部として統合されてもよい。
本開示の実施形態は、様々なコンピュータ実装された動作を実行するべくコンピュータコードを有する非一時的コンピュータ可読ストレージ媒体に関する。「コンピュータ可読ストレージ媒体」という用語は、本明細書においては、本明細書において記述されている動作、方法、及び技法を実行するべく、命令又はコンピュータコードのシーケンスを保存又はエンコードする能力を有する任意の媒体を含むべく、使用されている。媒体及びコンピュータコードは、本開示の実施形態を目的として特別に設計及び構築されたものであってもよく、或いは、これらは、コンピュータソフトウェア技術の分野における当業者にとって周知の且つ入手可能な種類のものであってもよい。コンピュータ可読ストレージ媒体の例は、限定を伴うことなしに、ハードディスク、フロッピーディスク、及び磁気テープなどの磁気媒体、CD-ROM及びホログラフィック装置などの光媒体、光ディスクなどの磁気-光媒体、並びに、ASIC、プログラム可能な論理装置(「PLD:programmable logic device」)、及びROM装置やRAM装置などのプログラムコードを保存及び実行するように特別に構成されたハードウェア装置を含む。
コンピュータコードの例は、コンパイラによって生成されるものなどの、機械コードと、インタープリタ又はコンパイラを使用してコンピュータによって実行される相対的にハイレベルなコードを収容するファイルと、を含む。例えば、本開示の一実施形態は、Java、C++、又はその他のオブジェクト指向のプログラミング言語及び開発ツールを使用することにより、実装することができる。コンピュータコードの更なる例は、暗号化されたコード及び圧縮されたコードを含む。更には、本開示の一実施形態は、コンピュータプログラム製品としてダウンロードされてもよく、これは、リモートコンピュータ(例えば、サーバコンピュータ)から要求元のコンピュータ(例えば、クライアントコンピュータ又は異なるサーバコンピュータ)に送信チャネルを介して転送されてもよい。本開示の別の実施形態は、機械実行可能なソフトウェア命令の代わりに、或いは、これとの組合せにおいて、配線接続された回路として実装することができる。
本明細書において使用されている「1つの(a)」、「1つの(an)」、及び「その(the)」という単数形の用語は、文脈がそうではない旨を明示的に示していない限り、複数の参照物を含み得る。
本明細書において使用されている「接続する(connect)」、「接続された(connected)」、及び「接続(connection)」という用語は、機能可能な結合又はリンク付けを意味している。接続されたコンポーネントは、例えば、別のコンポーネントの組を通じて、互いに直接的に又は間接的に結合され得る。
本明細書において使用されている「ほぼ(approximately)」、「実質的に(substantially)」、「実質的な(substantial)」、及び「約(about)」という用語は、小さな変動を記述及び説明するべく使用されている。イベント又は状況との関連において使用された際に、これらの用語は、そのイベント又は状況が正確に発生している事例のみならず、イベント又は状況が、近接した程度にまで、発生している事例をも意味し得る。例えば、数値との関連において使用された際に、これらの用語は、±5%以下、±4%以下、±3%以下、±2%以下、±1%以下、±0.5%以下、±0.1%以下、又は±0.05%以下などの、その数値の±10%以下の変動の範囲を意味し得る。例えば、2つの数値は、値の間の差が、値の平均の±5%以下、±4%以下、±3%以下、±2%以下、±1%以下、±0.5%以下、±0.1%以下、又は±0.05%以下などの、±10%以下である場合に、「実質的に(substantially)」同一であると判断され得る。
これに加えて、量、比率、及びその他の数値は、場合により、本明細書においては、範囲のフォーマットにおいて提示されている。このような範囲のフォーマットは、利便及び簡潔性を目的として使用されており、且つ、範囲の限度として明示的に規定された数値を含んでいるが、それぞれの数値及びサブ範囲がまるで明示的に規定されているのかのように、その範囲内において包含されるすべての個々の数値又はサブ範囲をも含むものとして、柔軟に理解するべきであることを理解されたい。
本開示は、その特定の実施形態を参照して説明及び図示されているが、これらの説明及び図示は、本開示を限定するものではない。当業者には、添付の請求項によって定義されている本開示の真の趣旨及び範囲を逸脱することなしに、様々な変更が実施され得ると共に、均等物が置換され得ることが理解されるはずである。図示は、必ずしもその縮尺が正確ではない場合がある。製造プロセス、公差、及び/又は他の理由に起因して、本開示における技術的表現と実際の装置との間には、差異が存在し得る。具体的に示されていない本開示のその他の実施形態が存在し得る。(特許請求の範囲以外の)本明細書及び図面は、限定ではなく、例示を目的としたものとして見なすことを要する。特定の状況、材料、事物の組成、技法、又はプロセスを本開示の目的、趣旨、及び範囲に対して適合させるべく、変更を実施することができる。すべてのこのような変更は、本明細書に添付されている特許請求の範囲に含まれるべく意図されている。本明細書において開示されている技法は、特定の順序において実行される特定の動作を参照して記述されているが、これらの動作は、本開示の教示内容を逸脱することなしに、均等な技法を形成するべく、組み合わせられてもよく、サブ分割されてもよく、或いは、再順序付けられてもよいことを理解されたい。したがって、本明細書において具体的に示されていない限り、動作の順序及びグループ分けは、本開示を限定するものではない。

Claims (20)

  1. 自動撮像装置によって生成された画像をサンプリングするためのコンピュータ実施方法であって、前記方法が、
    第1の検査期間の間に前記自動撮像装置によって生成された第1の画像集合を受信することと、
    画像ライブラリをメモリに格納することであって、最初に前記画像ライブラリが前記第1の画像集合から構成される、ことと、
    複数の後続の検査期間の間に前記自動撮像装置によって生成された複数の後続の画像集合を順次受信することと、
    前記メモリに格納された前記画像ライブラリを更新することであって、
    前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、前記後続の画像集合中に分布しているj枚の画像を前記画像ライブラリに追加し、前記画像ライブラリの現在のインスタンス中に分布しているj枚の画像を前記画像ライブラリから削除することであって、jはゼロより大きい整数である、ことを含み、
    前記複数の後続の画像集合の連続する画像集合ごとに、jが減少する、ことと
    を含む、コンピュータ実施方法。
  2. (i)前記画像ライブラリと、(ii)前記第1の画像集合と、(iii)前記複数の後続の画像集合のそれぞれとのそれぞれが、同じ数の画像を含む、請求項1に記載のコンピュータ実施方法。
  3. 第1の画像集合を受信することが、前記自動撮像装置によって連続的に生成された第1のX枚の画像の集合を受信することであって、Xは1より大きい整数である、ことを含み、
    前記複数の後続の画像集合を順次受信することが、後続の画像集合ごとに、前記自動撮像装置によって連続的に生成された新しいX枚の画像の集合を受信することを含む、請求項1又は2に記載のコンピュータ実施方法。
  4. 前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像を前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことを含む、請求項1~3のいずれか一項に記載のコンピュータ実施方法。
  5. 前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、前記後続の画像集合のn枚ごとの画像を前記画像ライブラリに追加し、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像を前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことを含む、請求項1~4のいずれか一項に記載のコンピュータ実施方法。
  6. 前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、前記後続の画像集合のY枚の画像のサブセットをn個ごとに前記画像ライブラリに追加し、前記画像ライブラリの前記現在のインスタンスのY枚の画像のサブセットをn個ごとに前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号であり、Yは1より大きい整数である、ことを含む、請求項1~3のいずれか一項に記載のコンピュータ実施方法。
  7. 前記メモリがサーバ内にあるか、又は前記サーバと通信可能に結合され、
    前記第1の画像集合を受信することが、コンピュータにおいて前記第1の画像集合を受信することを含み、
    前記画像ライブラリを前記メモリに格納することが、前記第1の画像集合をネットワークを介して前記サーバに送信し、前記サーバによって前記第1の画像集合を前記メモリに格納することを含み、
    前記複数の後続の画像集合を順次受信することが、前記コンピュータにおいて前記複数の後続の画像集合を順次受信することを含み、
    前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、
    前記サーバによって、前記後続の画像集合中に分布している前記j枚の画像を前記画像ライブラリに追加することと、
    前記サーバによって、前記画像ライブラリの前記現在のインスタンス中に分布している前記j枚の画像を前記画像ライブラリから削除することと
    を含む、請求項1~6のいずれか一項に記載のコンピュータ実施方法。
  8. 第1の画像集合を受信することが、前記自動撮像装置によって連続的に生成された第1のX枚の画像の集合を受信することであって、Xは1より大きい整数である、ことを含み、
    前記複数の後続の画像集合を順次受信することが、後続の画像集合ごとに、前記自動撮像装置によって連続的に生成された新しいX枚の画像の集合を受信することを含み、
    前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、前記後続の画像集合のn枚ごとの画像又は画像サブセットを前記画像ライブラリに追加し、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像又は画像サブセットを前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことを含む、請求項1又は7に記載のコンピュータ実施方法。
  9. 1つ又は複数のイメージャを備え、サンプルの画像をキャプチャするように構成された自動撮像装置と、
    メモリと、
    1つ又は複数のプロセッサであって、
    第1の検査期間の間に前記自動撮像装置によって生成された第1の画像集合を受信し、
    画像ライブラリを前記メモリに格納し、最初に前記画像ライブラリが前記第1の画像集合から構成され、
    複数の後続の検査期間の間に前記自動撮像装置によって生成された複数の後続の画像集合を順次受信し、
    前記メモリに格納された前記画像ライブラリを更新し、
    前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、前記後続の画像集合中に分布しているj枚の画像を前記画像ライブラリに追加し、前記画像ライブラリの現在のインスタンス中に分布しているj枚の画像を前記画像ライブラリから削除することであって、jはゼロより大きい整数である、ことを含み、
    前記複数の後続の画像集合の連続する画像集合ごとに、jが減少する、
    ように構成された1つ又は複数のプロセッサと
    を備える、自動外観検査システム。
  10. (i)前記画像ライブラリと、(ii)前記第1の画像集合と、(iii)前記複数の後続の画像集合のそれぞれとのそれぞれが、同じ数の画像を含む、請求項9に記載のシステム。
  11. 前記第1の画像集合が、前記自動撮像装置によって連続的に生成された第1のX枚の画像の集合を含み、
    後続の画像集合のそれぞれが、前記自動撮像装置によって連続的に生成されたそれぞれの新しいX枚の画像の集合を含む、請求項9又は10に記載のシステム。
  12. 前記1つ又は複数のプロセッサが、少なくとも、後続の画像集合ごとに、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像を前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことにより、前記メモリに格納された前記画像ライブラリを更新するように構成される、請求項9~11のいずれか一項に記載のシステム。
  13. 前記1つ又は複数のプロセッサが、少なくとも、後続の画像集合ごとに、前記後続の画像集合のn枚ごとの画像を前記画像ライブラリに追加し、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像を前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことにより、前記メモリに格納された前記画像ライブラリを更新するように構成される、請求項9~12のいずれか一項に記載のシステム。
  14. 前記1つ又は複数のプロセッサが、少なくとも、後続の画像集合ごとに、前記後続の画像集合のY枚の画像のサブセットをn個ごとに前記画像ライブラリに追加し、前記画像ライブラリの前記現在のインスタンスのY枚の画像のサブセットをn個ごとに前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号であり、Yは1より大きい整数である、ことにより、前記メモリに格納された前記画像ライブラリを更新するように構成される、請求項9~13のいずれか一項に記載のシステム。
  15. 前記システムが、(i)前記自動撮像装置に通信可能に結合されたコンピュータと、(ii)ネットワークを介して前記コンピュータに通信可能に結合されたサーバとを備え、
    前記1つ又は複数のプロセッサが、(i)前記コンピュータの少なくとも1つのプロセッサと、(ii)前記サーバの少なくとも1つのプロセッサとを含み、
    前記メモリが前記サーバ内にあるか、又は前記サーバと通信可能に結合され、
    前記コンピュータの前記少なくとも1つのプロセッサが、前記自動撮像装置からの前記第1の画像集合を受信し、前記第1の画像集合を前記ネットワークを介して前記サーバに送信し、前記複数の後続の画像集合を順次受信し、後続の画像集合ごとに、前記後続の画像集合中に分布している前記j枚の画像のみを前記ネットワークを介して前記サーバに送信するように構成され、
    前記サーバの前記少なくとも1つのプロセッサが、前記第1の画像集合を前記画像ライブラリに追加し、後続の画像集合ごとに、前記後続の画像集合中に分布している前記j枚の画像を前記画像ライブラリに追加し、前記画像ライブラリの現在のインスタンス中に分布している前記j枚の画像を前記画像ライブラリから削除するように構成される、請求項9~14のいずれか一項に記載のシステム。
  16. 1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに、
    第1の検査期間の間に自動撮像装置によって生成された第1の画像集合を受信し、
    画像ライブラリをメモリに格納し、最初に前記画像ライブラリが前記第1の画像集合から構成され、
    複数のそれぞれの検査期間の間に前記自動撮像装置によって生成された複数の後続の画像集合を順次受信し、
    前記メモリに格納された前記画像ライブラリを更新し、
    前記メモリに格納された前記画像ライブラリを更新することが、後続の画像集合ごとに、前記後続の画像集合中に分布しているj枚の画像を前記画像ライブラリに追加し、前記画像ライブラリの現在のインスタンス中に分布しているj枚の画像を前記画像ライブラリから削除することであって、jはゼロより大きい整数である、ことを含み、
    前記複数の後続の画像集合の連続する画像集合ごとに、jが減少する、
    ようにさせる命令を格納する、1つ又は複数の非一時的コンピュータ可読媒体。
  17. (i)前記画像ライブラリと、(ii)前記第1の画像集合と、(iii)前記複数の後続の画像集合のそれぞれとのそれぞれが、同じ数の画像を含む、請求項16に記載の1つ又は複数の非一時的コンピュータ可読媒体。
  18. 前記命令が、前記1つ又は複数のプロセッサに、少なくとも、後続の画像集合ごとに、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像を前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことにより、前記メモリに格納された前記画像ライブラリを更新するようにさせる、請求項16又は17に記載の1つ又は複数の非一時的コンピュータ可読媒体。
  19. 前記命令が、前記1つ又は複数のプロセッサに、少なくとも、後続の画像集合ごとに、前記後続の画像集合のn枚ごとの画像を前記画像ライブラリに追加し、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像を前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことにより、前記メモリに格納された前記画像ライブラリを更新するようにさせる、請求項16~18のいずれか一項に記載の1つ又は複数の非一時的コンピュータ可読媒体。
  20. 前記第1の画像集合が、前記自動撮像装置によって連続的に生成された第1のX枚の画像の集合を含み、Xは1より大きい整数であり、
    前記複数の後続の画像集合のそれぞれが、前記自動撮像装置によって連続的に生成された新しいX枚の画像の集合を含み、
    前記命令が、前記1つ又は複数のプロセッサに、少なくとも、後続の画像集合ごとに、前記後続の画像集合のn枚ごとの画像又は画像サブセットを前記画像ライブラリに追加し、前記画像ライブラリの前記現在のインスタンスのn枚ごとの画像又は画像サブセットを前記画像ライブラリから削除することであって、nは前記後続の画像集合が生成された前記検査期間の番号である、ことにより、前記メモリに格納された前記画像ライブラリを更新するようにさせる、請求項16に記載の1つ又は複数の非一時的コンピュータ可読媒体。
JP2021503054A 2018-09-26 2019-08-19 外観検査のための画像サンプリング Active JP7351898B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862736975P 2018-09-26 2018-09-26
US62/736,975 2018-09-26
PCT/US2019/047023 WO2020068298A1 (en) 2018-09-26 2019-08-19 Image sampling for visual inspection

Publications (2)

Publication Number Publication Date
JP2022501691A JP2022501691A (ja) 2022-01-06
JP7351898B2 true JP7351898B2 (ja) 2023-09-27

Family

ID=67874509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021503054A Active JP7351898B2 (ja) 2018-09-26 2019-08-19 外観検査のための画像サンプリング

Country Status (12)

Country Link
US (1) US20210334930A1 (ja)
EP (2) EP4235457A3 (ja)
JP (1) JP7351898B2 (ja)
CN (1) CN112513881B (ja)
AU (1) AU2019346838B2 (ja)
CA (1) CA3107003A1 (ja)
ES (1) ES2965078T3 (ja)
IL (1) IL280274A (ja)
MA (1) MA53710A (ja)
PL (1) PL3857445T3 (ja)
SG (1) SG11202102634PA (ja)
WO (1) WO2020068298A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3871910B1 (en) * 2020-02-28 2023-07-26 Ningbo Geely Automobile Research & Development Co. Ltd. Regulation of vehicle interior climate

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030223A (ja) 2001-07-12 2003-01-31 Fuji Photo Film Co Ltd 画像分類方法および装置並びにプログラム
JP2005208890A (ja) 2004-01-22 2005-08-04 Fuji Xerox Co Ltd 検査装置、検査プログラム、検査方法、制御装置、制御プログラム、及び、制御方法
JP2016164748A (ja) 2015-03-06 2016-09-08 キヤノン株式会社 情報処理装置、プログラム、及び情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434413B1 (en) * 1999-11-24 2002-08-13 Koninklijke Philips Electronics, N.V. Shifting sampling window and interleaves sparse K-space data acquisition for improved temporal resolution
US20040003149A1 (en) * 2002-06-26 2004-01-01 Engel Glenn R. Decimation of fixed length queues
US8392381B2 (en) * 2007-05-08 2013-03-05 The University Of Vermont And State Agricultural College Systems and methods for reservoir sampling of streaming data and stream joins
US8005949B2 (en) * 2008-12-01 2011-08-23 At&T Intellectual Property I, Lp Variance-optimal sampling-based estimation of subset sums
US8457414B2 (en) * 2009-08-03 2013-06-04 National Instruments Corporation Detection of textural defects using a one class support vector machine
TWI582408B (zh) * 2011-08-29 2017-05-11 安美基公司 用於非破壞性檢測-流體中未溶解粒子之方法及裝置
US20180032586A1 (en) * 2016-07-30 2018-02-01 Futurewei Technologies, Inc. Scalable reservoir sampling
US20180181621A1 (en) * 2016-12-22 2018-06-28 Teradata Us, Inc. Multi-level reservoir sampling over distributed databases and distributed streams

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030223A (ja) 2001-07-12 2003-01-31 Fuji Photo Film Co Ltd 画像分類方法および装置並びにプログラム
JP2005208890A (ja) 2004-01-22 2005-08-04 Fuji Xerox Co Ltd 検査装置、検査プログラム、検査方法、制御装置、制御プログラム、及び、制御方法
JP2016164748A (ja) 2015-03-06 2016-09-08 キヤノン株式会社 情報処理装置、プログラム、及び情報処理方法

Also Published As

Publication number Publication date
CN112513881B (zh) 2024-04-23
AU2019346838A1 (en) 2021-02-04
EP3857445B1 (en) 2023-09-27
EP3857445A1 (en) 2021-08-04
ES2965078T3 (es) 2024-04-11
MA53710A (fr) 2022-01-05
JP2022501691A (ja) 2022-01-06
CN112513881A (zh) 2021-03-16
AU2019346838B2 (en) 2024-02-08
US20210334930A1 (en) 2021-10-28
WO2020068298A1 (en) 2020-04-02
CA3107003A1 (en) 2020-04-02
PL3857445T3 (pl) 2024-02-26
EP4235457A2 (en) 2023-08-30
EP4235457A3 (en) 2023-10-18
IL280274A (en) 2021-03-01
SG11202102634PA (en) 2021-04-29

Similar Documents

Publication Publication Date Title
JP7351898B2 (ja) 外観検査のための画像サンプリング
CN103875229A (zh) 异步复制方法、装置与系统
WO2020135384A1 (zh) 进行数据压缩的方法和装置
CN109359207B (zh) 一种易于快速迭代更新的Logo检测方法
JP2018200683A (ja) 自動化された試験システムの方法及び設計
CN106126634B (zh) 一种基于直播行业的主数据去重处理方法及系统
CN105554044A (zh) 在本地对象存储节点中同步对象的方法及装置
CN107451190A (zh) 可持久化非关系型数据库的数据处理方法及装置
CN104092726A (zh) 同名文件的自动替换方法及其装置
CN116248836A (zh) 一种远程驾驶的视频传输方法、设备及介质
US9886490B1 (en) Common extract store
US8538188B2 (en) Method and apparatus for transferring and reconstructing an image of a computer readable medium
CN111611110A (zh) 基于FusionCompute平台的差异恢复方法及差异恢复装置
CN107483890B (zh) 一种智慧城市视频数据的数据更新存储方法及系统
CN109714218B (zh) 一种物联网服务器配置信息同步方法
CN114994046A (zh) 基于深度学习模型的缺陷检测系统
WO2021178605A1 (en) Systems and methods for assessing cell growth rates
JP2022509201A (ja) クローン選択を容易にするためのシステム及び方法
JP2020009315A (ja) 工程監視装置及びその制御方法、並びにプログラム
CN115455015B (zh) 一种海量数据存储方法以及装置、存储介质
CN112307117B (zh) 一种基于日志解析的同步方法和同步系统
US11372885B2 (en) Replication of complex augmented views
JP2016206696A (ja) 物体検出装置、物体検出装置の制御方法及び制御プログラム
CN106570024A (zh) 数据增量处理的方法和装置
KR19980066817A (ko) 웨이퍼검사장치의 자료관리 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220801

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230914

R150 Certificate of patent or registration of utility model

Ref document number: 7351898

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150