JP2023115913A - Method and system for visual inspection of sensor chip - Google Patents

Method and system for visual inspection of sensor chip Download PDF

Info

Publication number
JP2023115913A
JP2023115913A JP2023016919A JP2023016919A JP2023115913A JP 2023115913 A JP2023115913 A JP 2023115913A JP 2023016919 A JP2023016919 A JP 2023016919A JP 2023016919 A JP2023016919 A JP 2023016919A JP 2023115913 A JP2023115913 A JP 2023115913A
Authority
JP
Japan
Prior art keywords
image
chip
defect
interest
defects
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.)
Pending
Application number
JP2023016919A
Other languages
Japanese (ja)
Inventor
ディーパ・プラブ
Prabhu Deepa
スワルナ・ナゲンドラ
Nagendra Swarna
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Publication of JP2023115913A publication Critical patent/JP2023115913A/en
Pending legal-status Critical Current

Links

Landscapes

  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Image Analysis (AREA)

Abstract

To provide a method, a system and a computer program product for detection based on an image of an abnormality event (e.g., defects) in an environment of chip manufacture.SOLUTION: A method for visually detecting a defect includes: identifying an area of concern by processing an image of a chip (e.g., pattern matching/template matching); dividing the identified area of concern into a first image and a second image (e.g., image segmentation); analyzing the first image and/or the second image using a trained model to determine whether or not a defect is detected in the first image and/or the second image; and issuing an alert if a defect is detected within the first image and/or the second image.SELECTED DRAWING: Figure 4

Description

著作権表示
本特許文献の開示の一部は、著作権保護を受ける事項を含む。著作権所有者は、特許商標庁の特許ファイルまたは記録に現れるとおりの、本特許文献または本特許開示の何人による複製に対しても異議を唱えていないが、そうでない場合は、著作権の全ての権利を何であれ留保する。
COPYRIGHT NOTICE A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any person of this patent document or this patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. reserves any right to

本開示は一般に、チップ内の異常の視覚的検出に関し、より詳細には、画像の処理および解析に基づく異常の検出に関する。 FIELD OF THE DISCLOSURE The present disclosure relates generally to visual detection of anomalies in chips, and more particularly to detection of anomalies based on image processing and analysis.

品質を確保するために、チップ製造者は、欠陥についての検査を実施する。欠陥を識別する1つの方法に、手作業での検査がある。しかし、欠陥についてチップを手作業で検査することは、非効率となる(例えば時間がかかる、労働力を多用する、かつ/またはエラーを起こしやすい)ことがある。より一貫性がありコスト効果の高い欠陥検出を達成するための1つの解決策が、視覚を基にしたシステム(例えば異常を検出するためのカメラを基にした解決策)を使用するというものである。この解決策には、画像を受け取り、受け取った画像に対して、異常事象(例えば欠陥)を識別するために画像処理アルゴリズムを実行することが関与する。異常事象が検出されると、是正措置を求めてアラートまたはアラームがトリガされることが可能である。 To ensure quality, chip manufacturers perform inspections for defects. One method of identifying defects is manual inspection. However, manually inspecting chips for defects can be inefficient (eg, time consuming, labor intensive, and/or error prone). One solution to achieving more consistent and cost-effective defect detection is to use vision-based systems (e.g., camera-based solutions for detecting anomalies). be. This solution involves receiving an image and running an image processing algorithm on the received image to identify anomalous events (eg, defects). When an abnormal event is detected, an alert or alarm can be triggered soliciting corrective action.

本開示の実施形態は、無欠陥画像を含むデータセットを使用してトレーニングされたモデルを使用した画像の処理および解析に基づいて、欠陥/異常を視覚的に検出しようとするものである。 Embodiments of the present disclosure seek to visually detect defects/anomalies based on image processing and analysis using models trained using datasets containing defect-free images.

したがって、画像セグメント化を使用して欠陥についてチップを視覚的に検査する方法を提供することが、本開示の一態様である。より具体的には、チップの画像を処理して、関心エリアを識別することと、識別された関心エリアを第1の画像と第2の画像に分割することと、トレーニング済みモデルを使用して第1の画像および/または第2の画像を解析して、第1の画像および/または第2の画像内に欠陥が検出されるかどうかを判定することと、第1の画像および/または第2の画像内に欠陥が検出された場合、アラートを出すこととを含む、方法。 Accordingly, it is an aspect of the present disclosure to provide a method of visually inspecting chips for defects using image segmentation. More specifically, processing an image of the chip to identify an area of interest, splitting the identified area of interest into a first image and a second image, and using the trained model analyzing the first image and/or the second image to determine whether defects are detected in the first image and/or the second image; and issuing an alert if a defect is detected in the image of 2.

既存の解決策では、欠陥を検出するためのモデルをトレーニングするのに、比較的大きなデータセットが必要である。しかし、無欠陥サンプルのみを含むデータセットのみを使用することによって、データセットのサイズを低減することができる。それに加えて、無欠陥サンプルのみを含むデータセットのみを使用することによって、未確認の/未知の欠陥を検出することもできる。すなわち、特定の欠陥を検出するためにモデルをトレーニングしなければならないのではなく、構成要素の期待される状態からの逸脱を検出するためにモデルがトレーニングされる、ということである。 Existing solutions require relatively large datasets to train models to detect defects. However, the size of the dataset can be reduced by using only datasets containing only defect-free samples. In addition, unconfirmed/unknown defects can also be detected by using only data sets containing only defect-free samples. That is, rather than the model having to be trained to detect specific defects, the model is trained to detect deviations from the expected state of the components.

例えば、捕捉された画像は、4000*4000画素の規模を有することがある。RGB形式またはグレースケール形式の未加工画像データは、関心対象ではない画像特徴を含むことがあり、モデル学習に寄与するのではなく、学習時間を増大させるにすぎないことがあり、時にはノイズの一因となることすらある。したがって、そのような画像を処理し、そのような画像を使用して人工知能(AI)モデルをトレーニングするには、大きな計算リソースが必要であり、またそのトレーニングの結果、欠陥/異常識別における精度が低くなることもある。画像セグメント化を使用して、画像が、関心エリアを各部分が表す2つ以上のより小さな部分に分割される(例えば一意の反復パターン)。テンプレートマッチングと呼ばれる技法を使用して、テンプレート(例えばタイル部分)のセットが作成される。各タイル部分は、関心エリアを表すことができる。別の例では、方法およびシステムは、画像内のマッチングパターンを探索し、見いだされると、その部分が画像全体から切り取られる。 For example, a captured image may have a scale of 4000*4000 pixels. Raw image data in RGB or grayscale format may contain image features that are not of interest, may only increase training time rather than contribute to model training, and may sometimes be a source of noise. There are a lot of things that cause it. Therefore, processing such images and training an artificial intelligence (AI) model using such images requires significant computational resources, and the training results in accuracy in defect/anomaly identification. may be lower. Using image segmentation, an image is divided into two or more smaller parts, each part representing an area of interest (eg, a unique repeating pattern). A set of templates (eg, tile segments) is created using a technique called template matching. Each tile portion can represent an area of interest. In another example, the methods and systems search for matching patterns in the image and, when found, crop that portion from the entire image.

異常分類に寄与する主要な特徴(例えば関心エリア)のみを抽出するように画像を事前処理することによって、方法およびシステムは、AIモデルの実装とトレーニングの両方において、より効率的な欠陥/異常識別を可能にする。いくつかの実施形態では、コンピュータビジョンライブラリを使用して、画像を事前処理することができる。それに加えて、画像セグメント化により、方法およびシステムが、チップのさまざまな領域をターゲットにし、かつ/または既知であろうと未知であろうとさまざまなタイプの欠陥/異常をターゲットにすることが可能になる。 By pre-processing the images to extract only the key features (e.g., areas of interest) that contribute to anomaly classification, the method and system provide more efficient defect/anomaly identification in both AI model implementation and training. enable In some embodiments, computer vision libraries can be used to pre-process the images. In addition, image segmentation enables methods and systems to target different regions of the chip and/or target different types of defects/anomalies, whether known or unknown. .

オートエンコーダは、入力データを表す特徴の数を削減するプロセスである規模削減を目的として、所与の入力を作成し直すために使用される人工ニューラルネットワークである。入力のセットが符号化され、次いで、有益な情報が抽出される。例えば、あなたは、一例として256×256画素のグレースケール画像を使用して情報を抽出したい(例えば欠陥を識別したい)とする。画像のサイズが256×256画素であることは、65,536の規模の入力ベクトルに対応する。4000×3000画素の画像を使用すると、解析すべき1200万の規模があることになる。この例が示すように、規模は、画像のサイズに伴って指数関数的に増加する。しかし、本発明者らは一般に、欠陥を識別するために65,536の規模の全てを使用する必要はない。欠陥/異常は、特定の関心エリアの逸脱から識別することができ、例示的な欠陥は、図2A~図2Bおよび図3A~図3Bに示されている。 An autoencoder is an artificial neural network used to recreate a given input for the purpose of scale reduction, the process of reducing the number of features that represent the input data. A set of inputs is encoded and then useful information is extracted. For example, you want to extract information (eg identify defects) using a 256x256 pixel grayscale image as an example. An image size of 256×256 pixels corresponds to an input vector of magnitude 65,536. Using a 4000x3000 pixel image, there are 12 million scales to analyze. As this example shows, the scale increases exponentially with the size of the image. However, we generally do not need to use all 65,536 magnitudes to identify defects. Defects/abnormalities can be identified from deviations of a particular area of interest, and exemplary defects are shown in FIGS. 2A-2B and 3A-3B.

オートエンコーダは、エンコーダとデコーダの2つの部分に分割することができる。エンコーダは、入力の表現を圧縮する(例えば有益な情報を選択/抽出することによって画像の規模を削減する)。デコーダは、逆のプロセスを実施する(例えば入力を可能な限りよく似せて作成し直す)。例えば、デコーダは、放射状に対称な画像を生成することができる。このプロセスの間、狙いは、符号化の際に最大量の情報を維持し、したがって、復号の際の再構築誤差が最小になることにある。変分オートエンコーダは、データの再生成を目的としたオートエンコーダである。オートエンコーダは、500から1000サンプル画像の範囲内の、無欠陥画像のみからなるサンプルを用いてトレーニングされる。モデルが生成され、予測解析に使用される。次いで、このモデルによってテスト画像が予測される。次いで、大きな再構築損失を有する(例えば再構築損失が事前定義のしきい値を上回る)画像があればそれが、欠陥と分類される。換言すれば、タイル画像を用いてオートエンコーダがトレーニングされ、画像ごとの再構築損失に基づいて欠陥が分類される。 An autoencoder can be divided into two parts, an encoder and a decoder. The encoder compresses the representation of the input (eg, reduces image size by selecting/extracting useful information). The decoder performs the reverse process (eg, recreates the input as closely as possible). For example, the decoder can produce radially symmetric images. During this process, the aim is to preserve the maximum amount of information when encoding, thus minimizing reconstruction errors when decoding. Variational autoencoders are autoencoders aimed at regenerating data. The autoencoder is trained with samples consisting only of defect-free images in the range of 500 to 1000 sample images. A model is generated and used for predictive analysis. A test image is then predicted by this model. Any image with large reconstruction loss (eg, reconstruction loss above a predefined threshold) is then classified as defective. In other words, the tile images are used to train an autoencoder to classify defects based on the reconstruction loss for each image.

一実施形態では、画像を使用してチップ内の欠陥を検出するための方法であって、チップの参照画像を受け取ることであって、参照画像が少なくとも1つの関心エリアを含む、ことと、入力画像を受け取ることであって、入力画像がこの少なくとも1つの関心エリアを実質的に含む、前記受け取ることと、入力画像を使用して参照画像を再構築し、再構築損失を決定することであって、再構築損失が、再構築の間に損失した情報を示す、前記決定することと、再構築損失が事前定義のしきい値を超えるかどうかを判定することとを含む、方法が開示される。 In one embodiment, a method for detecting defects in a chip using images comprises receiving a reference image of the chip, the reference image including at least one area of interest; receiving an image, wherein the input image substantially includes the at least one area of interest; and reconstructing a reference image using the input image and determining a reconstruction loss. the reconstruction loss is indicative of information lost during reconstruction; and determining whether the reconstruction loss exceeds a predefined threshold. be.

別の実施形態では、画像を使用してチップ内の欠陥を検出する方法を実行するためのシステムであって、コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、この少なくとも1つのメモリにアクセスし、このコンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサとを備え、このコンピュータプログラムコードが、チップの参照画像を受け取ることであって、参照画像が少なくとも1つの関心エリアを含む、前記受け取ることと、入力画像を受け取ることであって、入力画像がこの少なくとも1つの関心エリアを実質的に含む、ことと、入力画像を使用して参照画像を再構築し、再構築損失を決定することであって、再構築損失が、再構築の間に損失した情報を示す、前記決定することと、再構築損失が事前定義のしきい値を超えるかどうかを判定することとを含む、システム。 In another embodiment, a system for performing a method of using images to detect defects in a chip, comprising: at least one memory configured to store computer program code; and at least one processor configured to access memory and operate according to the computer program code, the computer program code receiving a reference image of the chip, the reference image representing at least one area of interest. receiving an input image, wherein the input image substantially includes the at least one area of interest; reconstructing a reference image using the input image; determining a loss, wherein the reconstruction loss indicates information lost during reconstruction; and determining whether the reconstruction loss exceeds a predefined threshold. system, including

別の実施形態では、チップ内の欠陥を視覚的に検出するためのニューラルネットワークをトレーニングするためにオートエンコーダをトレーニングする、コンピュータによって実行される方法であって、全体画像のセットを収集することと、この全体画像のセットを使用して第1のトレーニングセットを生成することと、第1のモデルにおいて第1のトレーニングセットを使用してニューラルネットワークをトレーニングすることと、第2のトレーニングセットを生成することであって、第2のトレーニングセットが全体画像の少なくとも1つのセグメントを含む、前記生成することと、第2のモデルにおいて第2のトレーニングセットを使用してニューラルネットワークをトレーニングすることであって、第2のモデルが第1および第2の対称な半分(symmetrical half)を解析する、前記トレーニングすることとを含む、コンピュータによって実行される方法。 In another embodiment, a computer-implemented method of training an autoencoder to train a neural network for visually detecting defects in a chip, comprising collecting a set of entire images; , using this set of whole images to generate a first training set, training a neural network using the first training set in the first model, and generating a second training set said generating a second training set comprising at least one segment of the whole image; and training a neural network using the second training set in the second model. and training a second model to analyze first and second symmetrical halves.

別の実施形態では、欠陥についてチップを視覚的に検査する方法であって、チップの画像を処理して、関心エリアを識別することと、識別された関心エリアを第1の画像と第2の画像に分割することと、トレーニング済みモデルを使用して第1の画像および/または第2の画像を解析して、第1の画像および/または第2の画像内に欠陥が検出されるかどうかを判定することと、第1の画像および/または第2の画像内に欠陥が検出された場合、アラートを出すこととを含む方法。 In another embodiment, a method of visually inspecting a chip for defects comprises processing an image of the chip to identify an area of interest; Splitting into images and analyzing the first image and/or the second image using the trained model to determine whether defects are detected in the first image and/or the second image and issuing an alert if a defect is detected in the first image and/or the second image.

別の実施形態では、チップ内の欠陥を検出する方法を実行するためのシステムであって、コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、この少なくとも1つのメモリにアクセスし、このコンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサとを備え、このコンピュータプログラムコードが、チップの画像を処理して、関心エリアを識別することと、識別された関心エリアを第1の画像と第2の画像に分割することと、トレーニング済みモデルを使用して第1の画像および/または第2の画像を解析して、第1の画像および/または第2の画像内に欠陥が検出されるかどうかを判定することと、第1の画像および/または第2の画像内に欠陥が検出された場合、アラートを出すこととを含むシステム。 In another embodiment, a system for performing a method of detecting defects in a chip, comprising: at least one memory configured to store computer program code; accessing the at least one memory; and at least one processor configured to operate according to the computer program code, the computer program code processing the image of the chip to identify an area of interest, and the identified area of interest to the first and analyzing the first image and/or the second image using the trained model to detect defects in the first image and/or the second image is detected, and issuing an alert if a defect is detected in the first image and/or the second image.

別の実施形態では、チップ内の欠陥を視覚的に検出するためのニューラルネットワークをトレーニングするためにオートエンコーダをトレーニングする、コンピュータによって実行される方法であって、全体画像のセットを収集することと、この全体画像のセットを使用して第1のトレーニングセットを生成することと、第1のモデルにおいて第1のトレーニングセットを使用してニューラルネットワークをトレーニングすることと、第2のトレーニングセットを生成することであって、第2のトレーニングセットが全体画像の少なくとも1つのセグメントを含む、前記生成することと、第2のモデルにおいて第2のトレーニングセットを使用してニューラルネットワークをトレーニングすることであって、第2のモデルが第1および第2の対称な半分を解析する、前記トレーニングすることとを含む、コンピュータによって実行される方法。 In another embodiment, a computer-implemented method of training an autoencoder to train a neural network for visually detecting defects in a chip, comprising collecting a set of entire images; , using this set of whole images to generate a first training set, training a neural network using the first training set in the first model, and generating a second training set said generating a second training set comprising at least one segment of the whole image; and training a neural network using the second training set in the second model. and training a second model to analyze first and second symmetric halves.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、再構築損失が事前定義のしきい値を超える場合、入力画像内に欠陥が検出されることを含む。 An aspect of any one or more of the foregoing embodiments includes detecting a defect in the input image if the reconstruction loss exceeds a predefined threshold.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、複数のチップの無欠陥画像のセットから参照画像を生成することを含む。 An aspect of any one or more of the foregoing embodiments includes generating a reference image from a set of defect-free images of a plurality of chips.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、少なくとも1つの関心エリアを第1および第2のセグメントに分割することを含む。 An aspect of any one or more of the foregoing embodiments includes dividing at least one area of interest into first and second segments.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、第1および第2のセグメントが放射状に対称であることを含む。 An aspect of any one or more of the foregoing embodiments includes the first and second segments being radially symmetrical.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、テンプレートを使用して少なくとも1つの関心エリアを識別することであって、テンプレートが、チップに関連する少なくとも1つの既知の関心エリアの所定の入力パターンを提供する、前記識別することを含む。 An aspect of any one or more of the foregoing embodiments is identifying at least one area of interest using a template, wherein the template identifies at least one known area associated with the chip. The identifying includes providing a predetermined input pattern of areas of interest.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、チップがセンサチップを備えることを含む。 An aspect of any one or more of the foregoing embodiments includes the chip comprising a sensor chip.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、第1の画像および第2の画像が無欠陥である場合、第1の画像および第2の画像を処理し、トレーニングデータセットに組み込むことを含む。 An aspect of any one or more of the foregoing embodiments processes the first image and the second image if the first image and the second image are defect-free, and trains the Including incorporation into datasets.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、第1の画像または第2の画像が無欠陥である場合、第1の画像および第2の画像を処理し、参照画像に組み込むことと、入力画像を受け取ることであって、入力画像が関心エリアを実質的に含む、前記受け取ることと、入力画像を使用して参照画像を再構築し、再構築損失を決定することであって、再構築損失が、再構築の間に損失した情報を示す、前記決定することと、再構築損失が事前定義のしきい値を超えるかどうかを判定することとを含む。 An aspect of any one or more of the foregoing embodiments is processing the first image and the second image if the first image or the second image is defect-free, and referencing embedding in an image; and receiving an input image, wherein the input image substantially includes an area of interest; reconstructing a reference image using the input image; and determining a reconstruction loss. determining whether the reconstruction loss is indicative of information lost during reconstruction; and determining whether the reconstruction loss exceeds a predefined threshold.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、第1の画像および第2の画像が互いに放射状に対称であることを含む。 An aspect of any one or more of the foregoing embodiments includes the first image and the second image being radially symmetrical to each other.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、無欠陥画像を含むデータセットを使用してトレーニング済みモデルを生成することを含む。 An aspect of any one or more of the foregoing embodiments includes generating a trained model using a dataset containing defect-free images.

前述の実施形態のうちのいずれか1つまたは複数の実施形態の態様は、チップに関連するタイプについてのテンプレートを作成することを含み、テンプレートが、チップに関連するそのタイプについての少なくとも1つの既知の関心エリアの所定の入力パターンを提供し、チップの画像を処理して、関心エリアを識別することが、テンプレートマッチングを実施することを含む。 An aspect of any one or more of the foregoing embodiments includes creating a template for a type associated with the chip, wherein the template comprises at least one known template for that type associated with the chip. Providing a predetermined input pattern of the area of interest of the chip and processing the image of the chip to identify the area of interest includes performing template matching.

上記の実施形態のうちの、または本明細書において説明する実施形態の態様のうちのいずれか1つまたは複数を含むシステムオンチップ(SoC)。 A system-on-chip (SoC) comprising any one or more of the above embodiments or aspects of embodiments described herein.

上記の実施形態のうちの、または本明細書において説明する実施形態の態様のうちのいずれか1つまたは複数を実施するための1つまたは複数の手段。 One or more means for implementing any one or more of the above embodiments or aspects of the embodiments described herein.

いずれか1つまたは複数の他の態様と組み合わせた任意の態様。 Any aspect in combination with any one or more other aspects.

本明細書において開示する特徴のうちのいずれか1つまたは複数。 Any one or more of the features disclosed herein.

本明細書において実質的に開示する特徴のうちのいずれか1つまたは複数。 Any one or more of the features substantially disclosed herein.

本明細書において実質的に開示するいずれか1つまたは複数の他の特徴と組み合わせた、本明細書において実質的に開示する特徴のうちのいずれか1つまたは複数。 Any one or more of the features substantially disclosed herein in combination with any one or more other features substantially disclosed herein.

いずれか1つまたは複数の他の態様/特徴/実施形態と組み合わせた、態様/特徴/実施形態のうちのいずれか1つ。 Any one of the aspects/features/embodiments in combination with any one or more of the other aspects/features/embodiments.

本明細書において開示する態様または特徴のうちのいずれか1つまたは複数の態様または特徴の使用。 Use of any one or more of the aspects or features disclosed herein.

データストレージが非一時的記憶デバイスを備え、非一時的記憶デバイスが、プロセッサ内のオンチップメモリ、プロセッサのレジスタ、処理ボード上にプロセッサと共に配置されたオンボードメモリ、バスを介してプロセッサがアクセス可能なメモリ、磁気媒体、光学媒体、ソリッドステート媒体、入力-出力バッファ、プロセッサと通信する入力-出力構成要素のメモリ、ネットワーク通信バッファ、およびプロセッサとネットワークインターフェースを介して通信するネットワーク接続された構成要素のうちの少なくとも1つを備える、上記の実施形態の、またはそれらの実施形態の態様のいずれか。 The data storage comprises a non-temporary storage device, the non-temporary storage device being on-chip memory within the processor, registers of the processor, on-board memory co-located with the processor on a processing board, accessible by the processor via a bus memory, magnetic media, optical media, solid-state media, input-output buffers, memory of input-output components that communicate with the processor, network communication buffers, and network-connected components that communicate with the processor via network interfaces Any of the above embodiments, or aspects of those embodiments, comprising at least one of:

本明細書において説明する任意の特徴は、本明細書において説明する他の任意の特徴と、説明する同じ実施形態にそれらの特徴が由来するかどうかにかかわらず、組み合わせて特許請求され得ることを理解されたい。 Note that any feature described in this specification may be claimed in combination with any other feature described in this specification, whether or not those features originate from the same embodiment described. be understood.

「欠陥」、「異常」、または「異常事象」という用語、およびそれらの変形は、本明細書では、プロセス環境における期待または所望されるプロセス状態または構成要素の状態から逸脱する、またはその状態を満たし損ねる、事象または状態を指す。チップ(例えばセンサチップ)内で識別されることのある異常の例示的な事例は、図2A~図2Bおよび図3A~図3Bに示されている。 The terms "defect", "abnormality", or "abnormal event", and variations thereof, are used herein to deviate from or change the expected or desired process state or component state in the process environment. Refers to an event or condition that fails to meet. Exemplary cases of anomalies that may be identified within a chip (eg, sensor chip) are shown in FIGS. 2A-2B and 3A-3B.

「画像取得デバイス」という用語およびその変形は、本明細書では、紫外スペクトル、可視光スペクトル、近赤外スペクトル、または赤外スペクトルを含む電磁スペクトルの任意の領域において画像を取得可能な任意のデバイスを指し、デジタルカメラ、ビデオカメラ、赤外線カメラ、監視カメラ、デジタル画像および熱画像を生成可能な画像センサを含む。 The term "image acquisition device" and variations thereof, as used herein, is any device capable of acquiring images in any region of the electromagnetic spectrum, including the ultraviolet, visible, near-infrared, or infrared spectrum. and includes digital cameras, video cameras, infrared cameras, surveillance cameras, and image sensors capable of producing digital and thermal images.

「自動的」という用語およびその変形は、本明細書では、任意のプロセスまたは動作が実施されるときに人間による実体的な入力なしに行われる、プロセスまたは動作を指す。しかし、たとえプロセスまたは動作の実施に、人間による実体的または非実体的な入力が使用されても、プロセスまたは動作の実施前に入力が受け取られる場合、プロセスまたは動作は自動的とすることができる。人間による入力は、そのような入力がプロセスまたは動作がどのように実施されるかに影響を及ぼす場合、実体的であるとみなされる。プロセスまたは動作の実施に同意する、人間による入力は、「実体的」であるとはみなされない。 The term "automatic" and variations thereof, as used herein, refer to processes or actions that occur without tangible human input when any process or action is performed. However, even if the performance of the process or action uses tangible or immaterial human input, the process or action can be automatic if the input is received prior to the performance of the process or action. . Human input is considered tangible if such input affects how a process or action is performed. Human input that agrees to perform a process or action is not considered "substantial."

「コンピュータ可読媒体」という用語は、本明細書では、命令を実行のためにプロセッサに供給することに関与する、任意の有形のストレージを指す。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがそれらに限定されない、多くの形態を取ることができる。不揮発性媒体には、例えば、NVRAMまたは磁気ディスクもしくは光ディスクが含まれる。揮発性媒体には、メインメモリなどのダイナミックメモリが含まれる。コンピュータ可読媒体の一般的な形態には、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープもしくは他の任意の磁気媒体、光磁気媒体、CD-ROM、他の任意の光学媒体、パンチカード、紙テープ、孔のパターンを有する他の任意の物理的な媒体、RAM、PROM、およびEPROM、フラッシュEPROM、メモリカードのようなソリッドステート媒体、他の任意のメモリチップもしくはメモリカートリッジ、またはコンピュータがそこから読み出すことのできる他の任意の媒体が含まれる。コンピュータ可読媒体がデータベースとして構成されるとき、データベースは、本明細書において説明するグラフデータベースとすることができることを理解されたい。したがって、本開示は、本開示のソフトウェア実装物が中に記憶される、有形の記憶媒体、および従来技術において認められている等価物、および後継媒体を含むとみなされる。 The term "computer-readable medium" as used herein refers to any tangible storage that participates in providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, NVRAM or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer readable media include, for example, floppy disks, floppy disks, hard disks, magnetic tape or any other magnetic medium, magneto-optical media, CD-ROMs, any other optical medium, punch cards, paper tapes. , any other physical medium having a pattern of holes, RAM, PROM and EPROM, flash EPROM, solid state media such as memory cards, any other memory chip or memory cartridge, or from which a computer reads Any other medium capable of It should be appreciated that when the computer-readable medium is configured as a database, the database may be a graph database as described herein. Accordingly, the present disclosure is considered to include tangible storage media, and art-recognized equivalents and successor media, in which the software implementations of the present disclosure are stored.

「決定する」、「算出する」、および「計算する」という用語、ならびにそれらの変形は、本明細書では、交換可能に使用され、任意のタイプの方法、プロセス、数学演算、または技法を含む。 The terms "determine," "calculate," and "compute," and variations thereof, are used interchangeably herein and include any type of method, process, mathematical operation, or technique. .

「モジュール」という用語は、本明細書では、その要素に関連する機能を実行可能な、任意の既知の、または後に開発されるハードウェア、ソフトウェア、ファームウェア、人工知能、ファジー論理、またはハードウェアとソフトウェアの組み合わせを指す。また、本開示については、例示的な実施形態の点から説明されるが、本開示の個々の態様が別々に特許請求され得ることを理解されたい。 The term "module" is used herein to refer to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or hardware capable of performing the functions associated with that element. Refers to a combination of software. Also, while the disclosure is described in terms of exemplary embodiments, it should be understood that individual aspects of the disclosure may be separately claimed.

以下の説明および関連の図は、本発明の最良の形態を教示する。本発明の原理を教示する目的で、最良の形態のいくつかの従来的態様が、簡略化または省略されることがある。添付の特許請求の範囲は、本発明の範囲を規定する。最良の形態のいくつかの態様が、特許請求の範囲によって規定される本発明の範囲内に含まれないことがあることに、留意されたい。したがって、本発明の範囲内に含まれる、最良の形態からの変形形態を、当業者なら理解するであろう。以下に説明する特徴同士を、さまざまな形で組み合わせて、本発明の複数の変形形態を形成できることを、当業者なら理解するであろう。結果として、本発明は、以下に説明する特定の例に限定されるのではなく、特許請求の範囲およびその等価物によってのみ限定される。 The following description and related drawings teach the best mode of the invention. For the purpose of teaching inventive principles, some conventional aspects of the best mode may be simplified or omitted. The appended claims define the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as defined by the claims. Accordingly, those skilled in the art will recognize variations from the best mode that fall within the scope of this invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific examples described below, but only by the claims and their equivalents.

本開示については、添付の図に関して説明される。 The present disclosure is described with respect to the accompanying figures.

本開示の実施形態によるセンサチップの例示的な画像を示す図である。FIG. 12 shows an exemplary image of a sensor chip according to embodiments of the present disclosure; 本開示の実施形態によるテンプレートおよび/またはタイル部分の例を示す図である。[0014] Figure 4 illustrates an example of a template and/or tile portion according to embodiments of the present disclosure; 本開示の実施形態によるテンプレートおよび/またはタイル部分の例を示す図である。[0014] Figure 4 illustrates an example of a template and/or tile portion according to embodiments of the present disclosure; 本開示の実施形態によるさまざまな欠陥の例を示す図である。4A-4D illustrate examples of various defects according to embodiments of the present disclosure; 本開示の実施形態によるさまざまな欠陥の例を示す図である。4A-4D illustrate examples of various defects according to embodiments of the present disclosure; 本開示の実施形態によるさまざまな欠陥のさらなる例を示す図である。4A-4D illustrate further examples of various defects according to embodiments of the present disclosure; 本開示の実施形態によるさまざまな欠陥のさらなる例を示す図である。4A-4D illustrate further examples of various defects according to embodiments of the present disclosure; 本開示の実施形態によるチップ欠陥の視覚的検出のための方法について説明するフローチャートである。4 is a flowchart describing a method for visual detection of chip defects according to embodiments of the present disclosure; 本開示の実施形態によるチップ欠陥の視覚的検出のための別の方法について説明するフローチャートである。5 is a flow chart describing another method for visual detection of chip defects according to an embodiment of the present disclosure; 本開示の実施形態による、モデルをトレーニングするために使用される例示的なデータセットを示す図である。FIG. 10 illustrates an exemplary dataset used to train a model, in accordance with embodiments of the present disclosure; 本開示の実施形態による、方法を実行するように構成された例示的なプロセス環境を示す図である。1 depicts an exemplary process environment configured to perform a method, in accordance with an embodiment of the present disclosure; FIG. 本開示の実施形態による、方法を実行するように構成された例示的なコンピューティングシステムを示す図である。FIG. 1 illustrates an exemplary computing system configured to perform methods, in accordance with embodiments of the present disclosure;

続く説明は、実施形態を提供するにすぎず、特許請求の範囲に記載の範囲、適用可能性、または構成を限定することは意図されていない。そうではなく、続く説明は、実施形態を実装するための実施可能な説明を当業者に提供する。なお、添付の特許請求の範囲に記載の趣旨および範囲から逸脱することなく、要素の機能および配置にさまざまな変更を加えることができることが理解されよう。 The ensuing description provides embodiments only and is not intended to limit the scope, applicability, or configuration of the claims. Rather, the ensuing description provides those skilled in the art with an enabling description for implementing the embodiments. It will be appreciated that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the appended claims.

数字参照番号を含む説明において、図中にサブ参照識別子が存在するときにアルファベットのサブ参照識別子を伴わない任意の参照が複数形で使用されているとき、それは、同様の参照番号を有するいずれか2つ以上の要素への参照である。そのような参照が単数形で、ただしサブ参照識別子の識別なしに行われるときは、同様の番号付き要素のうちの1つへの参照であるが、それらの要素のうちの特定の1つについては限定されない。これに反する、またはさらなる修飾もしくは識別を提供する、本明細書における明示的な使用があればそれが優先するものとする。 In descriptions that include numerical reference numbers, when any reference without an alphabetic sub-reference identifier is used in the plural when a sub-reference identifier is present in a figure, it refers to any reference with a similar reference number. A reference to two or more elements. When such a reference is made in the singular but without identification of a sub-reference identifier, it is a reference to one of like numbered elements but to a particular one of those elements. is not limited. Any express use herein to the contrary or to provide further modification or identification shall prevail.

本開示の例示的なシステムおよび方法については、解析ソフトウェア、解析モジュール、および関連の解析ハードウェアに関しても説明される。しかし、本開示を不必要に不明瞭にすることを避けるために、以下の説明では、よく知られている構造、構成要素、およびデバイスを省略しており、これらは、図から省略されるかもしくは図中に簡略化された形態で示され、またはその他の方法で要約されることがある。 The exemplary systems and methods of this disclosure are also described in terms of analysis software, analysis modules, and associated analysis hardware. However, to avoid unnecessarily obscuring the present disclosure, the following description omits well-known structures, components and devices that may or may not be omitted from the drawings. or shown in simplified form in the figures or otherwise summarized.

説明を目的として、本開示の完全な理解を可能にするために、多数の詳細が記載されている。しかし、本開示は、本明細書に記載された具体的詳細を超える多様な方途で実践できることを、理解されたい。 For purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the present disclosure. However, it should be understood that the present disclosure can be practiced in many ways beyond the specific details set forth herein.

本開示の実施形態は、WIFIネットワークやマルチリンクサブネットネットワークなど、多数のコンピューティング環境において利用できることを理解されたい。 It should be appreciated that embodiments of the present disclosure can be utilized in many computing environments, such as WIFI networks and multi-link subnet networks.

さらに、本明細書における例示的な実施形態は、システムの併置されたさまざまな構成要素を示すが、システムのさまざまな構成要素は、通信ネットワークおよび/もしくはインターネットなどの分散ネットワークの遠隔部分に、または専用のセキュアな、非セキュアな、かつ/もしくは暗号化されたシステム内に、位置付けることができることを理解されたい。したがって、システムの構成要素は、エンタープライズサーバなど、1つまたは複数のデバイスに統合することもでき、あるいはアナログおよび/またはデジタル通信ネットワークなどの分散ネットワークの特定のノード上に併置することもできることを理解されたい。以下の説明から理解されるように、また計算効率の理由から、システムの構成要素は、システムの動作に影響を及ぼすことなく、分散ネットワーク内の任意の位置に配置することができる。例えば、さまざまな構成要素は、ローカルサーバ内に、ユーザの1つもしくは複数の構内に、またはそれらの何らかの組み合わせに、位置付けることができる。 Further, although the exemplary embodiments herein show various components of the system collocated, the various components of the system may be remote portions of a distributed network, such as a communication network and/or the Internet, or It should be appreciated that it can reside within a dedicated secure, non-secure and/or encrypted system. It is therefore understood that the components of the system may be integrated into one or more devices, such as enterprise servers, or may be collocated on specific nodes of distributed networks such as analog and/or digital communications networks. want to be As will be appreciated from the discussion below, and for computational efficiency reasons, the components of the system can be placed anywhere within the distributed network without affecting the operation of the system. For example, various components may be located within a local server, at one or more of the user's premises, or some combination thereof.

以下の説明および関連の図は、本発明の最良の形態を教示する。本発明の原理を教示する目的で、最良の形態のいくつかの従来的態様が、簡略化または省略されることがある。添付の特許請求の範囲は、本発明の範囲を規定する。最良の形態のいくつかの態様が、特許請求の範囲によって規定される本発明の範囲内に含まれないことがあることに、留意されたい。したがって、本発明の範囲内に含まれる、最良の形態からの変形形態を、当業者なら理解するであろう。以下に説明する特徴同士を、さまざまな形で組み合わせて、本発明の複数の変形形態を形成できることを、当業者なら理解するであろう。結果として、本発明は、以下に説明する特定の例に限定されるのではなく、特許請求の範囲およびその等価物によってのみ限定される。 The following description and related drawings teach the best mode of the invention. For the purpose of teaching inventive principles, some conventional aspects of the best mode may be simplified or omitted. The appended claims define the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as defined by the claims. Accordingly, those skilled in the art will recognize variations from the best mode that fall within the scope of this invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific examples described below, but only by the claims and their equivalents.

異常検出は、製造のさまざまな段階において実施することができる。例えば、製造プロセスの各ステップ後に、画像を捕捉することができ、異常検出を実施することができる。各ステップ後の実施された異常検出によって、製造の特定の段階において発生する欠陥を識別し、修正することができる。 Anomaly detection can be implemented at various stages of manufacturing. For example, images can be captured and anomaly detection can be performed after each step of the manufacturing process. Anomaly detection performed after each step allows defects that occur during a particular stage of manufacturing to be identified and corrected.

既知の/識別された欠陥に加えて、未知の/未確認の欠陥が存在することがある。欠陥が未知/未確認であるので、トレーニングのための画像データはない。有利には、無欠陥画像を使用して無欠陥状態からの逸脱を観察することによって、視覚的欠陥検出が、存在することのある未知の/未確認の欠陥を識別するように改善される。 In addition to known/identified defects, there may be unknown/unidentified defects. There is no image data for training as the defects are unknown/unconfirmed. Advantageously, by using defect-free images to observe deviations from a defect-free condition, visual defect detection is improved to identify unknown/unconfirmed defects that may be present.

画像解析を、いずれか1つまたは複数の画像解析アルゴリズムに基づいて実施することができ、画像解析には、一実施形態では、異常を検出または識別するように構成された1つまたは複数のニューラルネットワークを使用して画像情報を処理することが関与してよい。さまざまな実施形態では、異常検出を目的として、軌道解析、物体を基にした画像認識、および画素を基にした画像解析を含む、1つまたは複数の手法を実施することができる。 Image analysis can be performed based on any one or more image analysis algorithms, and includes, in one embodiment, one or more neural networks configured to detect or identify anomalies. Processing image information using a network may be involved. Various embodiments may implement one or more techniques for anomaly detection, including trajectory analysis, object-based image recognition, and pixel-based image analysis.

本開示の目的のための画像解析の前に適切な画像事前処理ステップを行うことができ、かつ/または画像解析は適切な画像事前処理ステップを含むことができ、この適切な画像事前処理ステップには、それらに限定されないが、受け取った画像のノイズフィルタリング、クロッピング、リサイジング、デサイジング(de-sizing)、サブサンプリングなどが含まれる。 Any suitable image pre-processing step may be performed prior to image analysis for the purposes of this disclosure and/or the image analysis may include any suitable image pre-processing step, which suitable image pre-processing step may include: includes, but is not limited to, noise filtering, cropping, resizing, de-sizing, subsampling, etc. of the received image.

いくつかの実施形態では、画像解析ステップは、異常検出が正確である可能性(例えば異常を表すと解釈された画像情報が実際に真の異常を表す可能性)を示し、または識別する、スコアまたは他の標識(例えば信頼スコア)を決定/算出することを含むこともできる。いくつかの実施形態では、信頼スコアがしきい値未満であるとき、検証アクション(例えば手作業の検査)をトリガすることができる。それに加えて、無欠陥画像(および/または無欠陥画像の部分)を、中心軸に沿ってミラーリングして、画像を生成することができ、この画像を、異常の検出に使用されるモデルのトレーニングに使用することができる。 In some embodiments, the image analysis step generates a score that indicates or identifies the likelihood that the anomaly detection is accurate (e.g., the likelihood that image information interpreted to represent an anomaly actually represents a true anomaly). Or it may involve determining/calculating other indicators (eg, confidence scores). In some embodiments, verification actions (eg, manual inspection) can be triggered when the confidence score is below a threshold. In addition, the defect-free image (and/or portions of the defect-free image) can be mirrored along the central axis to generate an image, which is used to train the model used to detect anomalies. can be used for

図1Aは、本開示の実施形態によるセンサチップの例示的な画像100を示す。いくつかの実施形態では、センサチップの画像100は、中心軸に沿って(例えば点線Aに沿って)2等分することができ、画像100の各半分をミラーリングすることによって、2つのさらなる画像を生成することができる。換言すれば、ある画像が、左側をミラーリングすることによって生成され、第2の画像が、右側をミラーリングすることによって生成され、それにより、1つの画像から、3つの画像からなるデータセットが生成される。図示していないが、画像100は水平方向に2等分することができ、各半分(例えば上部および下部)をミラーリングすると、さらなる無欠陥画像が生成される。 FIG. 1A shows an exemplary image 100 of a sensor chip according to embodiments of the disclosure. In some embodiments, the sensor chip image 100 can be bisected along a central axis (e.g., along dotted line A) and mirroring each half of the image 100 produces two additional images. can be generated. In other words, one image is generated by mirroring the left side and the second image is generated by mirroring the right side, thereby generating a data set of three images from one image. be. Although not shown, the image 100 can be horizontally divided into two halves, and each half (eg top and bottom) mirrored to produce a further defect-free image.

図1B~図1Cは、本開示の実施形態によるテンプレートの例を示す。いくつかの実施形態では、関心エリア(例えばタイル部分)102、104、106、および108を2等分し、ミラーリングして、さらなる無欠陥画像を生成することができる。 1B-1C illustrate examples of templates according to embodiments of the present disclosure. In some embodiments, the areas of interest (eg, tile portions) 102, 104, 106, and 108 can be bisected and mirrored to generate a further defect-free image.

画像セグメント化を使用して、センサチップの画像100が、2つ以上のより小さな部分(例えば部分102、104、106、および108)に分割される。各タイル部分102、104、106、および108は、関心エリアを表す。それに加えて、画像セグメント化により、方法およびシステムが、チップ100のさまざまな領域をターゲットにし、かつ/またはさまざまなタイプの欠陥/異常をターゲットにすることが可能になる。関心エリア(例えばタイル部分)102、104、106、および108の拡大図が、図1Cに示されている。 Using image segmentation, the sensor chip image 100 is divided into two or more smaller portions (eg, portions 102, 104, 106, and 108). Each tile portion 102, 104, 106, and 108 represents an area of interest. In addition, image segmentation allows methods and systems to target different regions of chip 100 and/or target different types of defects/anomalies. An enlarged view of areas of interest (eg, tile portions) 102, 104, 106, and 108 is shown in FIG. 1C.

図2A~図2Bおよび図3A~図3Bは、本開示の実施形態によるさまざまなチップ欠陥の例を示す。欠陥はそれぞれ、点線202、204、206、および208によって示されている。例示を目的として、さまざまな欠陥が関心エリア106上に示されているが、欠陥はチップ100の任意の部分内に存在し得ることが理解されよう。さらに、図示のように、欠陥は同一エリア(例えば関心エリア106)内にある場合があるが、欠陥は異なる(例えば異なるサイズ、形状などである)場合がある。それに加えて、欠陥/異常を含まない画像を使用して、モデルのトレーニング用に無欠陥画像を生成することもできる。例えば、図2Aでは、欠陥が左側に検出されているが、図2Aの画像が2等分され、右側がミラーリングされる場合、無欠陥画像を生成することができる。同様に、図2Bでは、欠陥が右側に検出されているが、図2Bの画像が2等分され、左側がミラーリングされる場合、無欠陥画像を生成することができる。 2A-2B and 3A-3B illustrate examples of various chip defects according to embodiments of the present disclosure. Defects are indicated by dotted lines 202, 204, 206 and 208 respectively. Although various defects are shown on area of interest 106 for purposes of illustration, it is understood that defects may exist within any portion of chip 100 . Further, as shown, the defects may be within the same area (eg, area of interest 106), but the defects may be different (eg, different sizes, shapes, etc.). In addition, images without defects/abnormalities can be used to generate defect-free images for model training. For example, in FIG. 2A, a defect is detected on the left side, but if the image in FIG. 2A is bisected and mirrored on the right side, a defect-free image can be produced. Similarly, in FIG. 2B the defect is detected on the right side, but if the image in FIG. 2B is bisected and mirrored on the left side, a defect-free image can be produced.

異常分類に寄与する主要な特徴(例えば関心エリア)のみを抽出するように画像を事前処理することによって、方法およびシステムは、AIモデルの実装とトレーニングの両方において、より効率的な欠陥/異常識別を可能にする。いくつかの実施形態では、コンピュータビジョンライブラリを使用して、画像を事前処理することができる。換言すれば、画像事前処理により、元画像よりも少ない規模を有する入力ベクトルが生成される。 By pre-processing the images to extract only the key features (e.g., areas of interest) that contribute to anomaly classification, the method and system provide more efficient defect/anomaly identification in both AI model implementation and training. enable In some embodiments, computer vision libraries can be used to pre-process the images. In other words, the image preprocessing produces input vectors that have a smaller magnitude than the original image.

図4は、本開示の実施形態によるチップ欠陥の視覚的検出のためのプロセス400について説明するフローチャートを示す。 FIG. 4 shows a flowchart describing a process 400 for visual detection of chip defects according to an embodiment of the present disclosure.

プロセス400は、デバイス802のプロセッサ804などのプロセッサによって読み出されるとプロセス400のステップをプロセッサに実行させる、非一時的メモリ内に保持された機械可読命令として具現化することができる。 Process 400 may be embodied as machine-readable instructions retained in non-transitory memory that, when read by a processor, such as processor 804 of device 802, cause the processor to perform the steps of process 400.

方法400は、受け取った(例えば取得デバイス702から受け取った)画像を解析し、受け取った画像が異常/欠陥の存在を示す画像情報を含むかどうかを判定することを含む。プロセス400は、ステップ402において開始する。 Method 400 includes analyzing a received image (eg, received from acquisition device 702) and determining whether the received image contains image information indicative of the presence of an anomaly/defect. Process 400 begins at step 402 .

ステップ404において、画像が受け取られる。例えば、画像は画像取得デバイス702によって捕捉されてよい。製造の各段階後に、異常検出を繰り返し実施することができる。 At step 404, an image is received. For example, images may be captured by image acquisition device 702 . Anomaly detection can be performed repeatedly after each stage of manufacturing.

ステップ406において、受け取った画像が処理される。ステップ404において受け取った画像は、事前処理を受けることができる(例えばカラー画像を白黒に変更することができるなど)。ステップ408において、画像は1つまたは複数のタイル部分にセグメント化される。例えば、図1B~図1Cに示されるような関心エリア(例えばタイル部分)を識別するテンプレートを作成することができる。これらの関心エリア/セグメント/部分が、ステップ410において解析される。例えば、これらの部分を参照画像(例えば無欠陥画像)と比較することができ、かつ/または受け取った画像の逸脱を検出するためにモデルがトレーニングされる。 At step 406, the received image is processed. The images received at step 404 may undergo pre-processing (eg, color images may be changed to black and white, etc.). At step 408, the image is segmented into one or more tile portions. For example, templates can be created that identify areas of interest (eg, tile portions) as shown in FIGS. 1B-1C. These areas/segments/parts of interest are analyzed in step 410 . For example, these portions can be compared to a reference image (eg, defect-free image) and/or a model trained to detect deviations in the received image.

ステップ412において欠陥が検出された場合(はい/ステップ414)、ステップ416においてアラートがトリガされる。それに加えて、欠陥判定に関連する信頼スコアが、アラートとともに示されてもよい。それに加えてまたはその代わりに、信頼スコアに基づいて、検証アクションがトリガされてもよい。例えば、信頼スコアがしきい値未満である場合、検証アクション(例えば人手による検査)がトリガされる。 If a defect is detected at step 412 (yes/step 414), an alert is triggered at step 416. FIG. Additionally, a confidence score associated with the defect determination may be shown along with the alert. Additionally or alternatively, verification actions may be triggered based on the confidence score. For example, if the confidence score is below a threshold, a verification action (eg, manual inspection) is triggered.

ステップ412において欠陥が検出されない場合(いいえ/ステップ418)、画像をトレーニングデータセットに追加することができる。ステップ422において、プロセス400が終了する。 If no defects are detected in step 412 (no/step 418), the images can be added to the training data set. At step 422, process 400 ends.

これらのステップは、プロセス400の他のステップが実行されている間に、プロセスが終わるまで、連続して実施することができる。 These steps can be performed continuously while other steps of process 400 are performed until the process is terminated.

図5は、本開示の実施形態による、オートエンコーダを使用してチップ欠陥を視覚的に検出するための別のプロセス500について説明するフローチャートを示す。 FIG. 5 shows a flowchart describing another process 500 for visually detecting chip defects using an autoencoder, according to an embodiment of the present disclosure.

プロセス500は、デバイス802のプロセッサ804などのプロセッサによって読み出されるとプロセス500のステップをプロセッサに実行させる、非一時的メモリ内に保持された機械可読命令として具現化することができる。プロセス500は、ステップ502において開始する。 Process 500 may be embodied as machine-readable instructions retained in non-transitory memory that, when read by a processor, such as processor 804 of device 802 , cause the processor to perform the steps of process 500 . Process 500 begins at step 502 .

ステップ504において、エンコーダが入力の表現を圧縮する(例えば有益な情報を選択/抽出することによって画像の規模を削減する)。ステップ506において、デコーダが逆のプロセスを実施する(例えば入力を可能な限りよく似せて作成し直す)。例えば、デコーダは、放射状に対称な画像を生成することができる。次いで、大きな再構築損失を有する(例えば再構築損失が事前定義のしきい値を上回る)画像が、欠陥と分類される。ステップ508において、再構築損失が決定される。再構築損失が事前定義のしきい値を上回る場合(はい/ステップ512)、欠陥が検出される(ステップ514)。再構築損失が事前定義のしきい値を上回らない場合(いいえ/ステップ516)、欠陥は検出されない。ステップ518において、プロセス500が終了する。 At step 504, the encoder compresses the representation of the input (eg, reduces image size by selecting/extracting useful information). At step 506, the decoder performs the reverse process (eg, recreates the input as closely as possible). For example, the decoder can produce radially symmetric images. Images with large reconstruction loss (eg, reconstruction loss above a predefined threshold) are then classified as defects. At step 508, the reconstruction loss is determined. If the reconstruction loss is above a predefined threshold (yes/step 512), a defect is detected (step 514). If the reconstruction loss does not exceed the predefined threshold (no/step 516), no defect is detected. At step 518, process 500 ends.

これらのステップは、プロセス500の他のステップが実行されている間に、プロセスが終わるまで、連続して実施することができる。 These steps can be performed continuously while other steps of process 500 are performed until the process is terminated.

図6は、例示的なデータセット600を示す。データセット600は、無欠陥画像のみからなり、それにより、モデルを適切にトレーニングするために必要となるデータセットの相対的なサイズが削減される。いくつかの実施形態では、データセット600は、チップ画像内の欠陥を視覚的に識別するためのモデルをトレーニングするために使用される。それに加えて、データセット600内の一部または全ての画像は、放射状対称(例えば無欠陥画像あるいは部分的無欠陥画像さえも中心軸の周りでミラーリングすること)によって生成することができる。放射状対称を使用して無欠陥画像を生成すると、異常がないかどうかスキャンしたときに捕捉された無欠陥画像のみを使用することから作成するよりも大規模なトレーニングセットを作成することが可能になる。 FIG. 6 shows an exemplary data set 600. FIG. The dataset 600 consists only of defect-free images, which reduces the relative size of the dataset required to properly train the model. In some embodiments, dataset 600 is used to train a model for visually identifying defects in chip images. Additionally, some or all of the images in dataset 600 may be generated by radial symmetry (eg mirroring a defect-free image or even a partially defect-free image about a central axis). Using radial symmetry to generate defect-free images makes it possible to create a larger training set than would be created from using only defect-free images captured when scanning for anomalies. Become.

図7は、本開示の実施形態による、欠陥を視覚的に検出する方法を実行するように構成された例示的なプロセス環境700を示す。 FIG. 7 illustrates an exemplary process environment 700 configured to perform a method of visually detecting defects according to embodiments of the present disclosure.

プロセス環境700は、それぞれが画像処理ノード704に通信可能に結合された、複数の画像取得デバイス702a~nを備える。いくつかの実施形態では、各画像取得デバイス702a~nを、別々の画像処理ノード704a~nに通信可能に結合することができる。画像処理ノード704は、画像解析器706に通信可能に結合されている。画像解析器706は、本明細書において説明した方法のいずれかによる画像を基にした異常検出を実施するように構成されている。 The process environment 700 comprises a plurality of image acquisition devices 702a-n, each communicatively coupled to an image processing node 704. As shown in FIG. In some embodiments, each image acquisition device 702a-n can be communicatively coupled to a separate image processing node 704a-n. Image processing node 704 is communicatively coupled to image analyzer 706 . Image analyzer 706 is configured to perform image-based anomaly detection according to any of the methods described herein.

画像解析器706をさらに、データベース710に通信可能に結合することができ、データベース710は、画像のリポジトリを備えることができる。例えば、無欠陥画像からなるデータセットを、データベース710内に格納することができ、画像解析器をトレーニングするためにこのデータセットが使用される。画像解析器706は、異常検出器708を含むことができる。異常検出器708は、本明細書において説明した方法のいずれかに従って異常/欠陥の存在を検出するように構成することができる。異常検出器708は、画像内の異常の検出に対するいずれか1つまたは複数の事前定義の応答(例えば通知、フラグ、および/またはアラート)をトリガまたは実施するようにさらに構成することができる。 Image analyzer 706 can also be communicatively coupled to database 710, which can comprise a repository of images. For example, a dataset consisting of defect-free images can be stored in database 710 and used to train the image analyzer. Image analyzer 706 can include anomaly detector 708 . Anomaly detector 708 may be configured to detect the presence of anomalies/defects according to any of the methods described herein. Anomaly detector 708 can be further configured to trigger or implement any one or more predefined responses (eg, notifications, flags, and/or alerts) to detection of anomalies in images.

図8は、本開示の実施形態によるシステム800内のデバイス802を示す。構成要素はさまざまに具現化され、またプロセッサ804を備えることができる。「プロセッサ」という用語は、本明細書では、電気回路と、符号化された電気信号を電気回路にまた電気回路から伝達するための接続(例えばピンアウト)とを備える、電子ハードウェア構成要素を専ら指す。プロセッサ804はさらに、電気回路をその中に有し、電気回路がさらに、制御ユニット、入力/出力ユニット、算術論理演算装置、レジスタ、主メモリ、および/またはバス814を介して受け取ったものなどの情報(例えばデータ、命令など)にアクセスし、命令を実行し、やはりバス814を介してなど、データを出力する他の構成要素を備えることのできる、単一の電子マイクロプロセッサまたはマルチプロセッサデバイス(例えばマルチコア)として具現化することができる。 FIG. 8 shows device 802 in system 800 according to an embodiment of the disclosure. A component can be variously embodied and comprise a processor 804 . The term "processor" is used herein exclusively to an electronic hardware component comprising electrical circuitry and connections (e.g., pinouts) for communicating encoded electrical signals to and from the electrical circuitry. Point. Processor 804 further includes electrical circuitry therein, which may further include control units, input/output units, arithmetic logic units, registers, main memory, and/or those received via bus 814 . A single electronic microprocessor or multiprocessor device (e.g., data, instructions, etc.) that can have other components that access information (e.g., data, instructions, etc.), execute instructions, and output data, also via bus 814. For example, it can be embodied as a multi-core).

他の実施形態では、プロセッサ804は、システム内の処理アレイ(例えばブレード、マルチプロセッサボードなど)や分散処理システム(例えば「クラウド」、ファームなど)内などで、他のプロセスおよび/またはプロセスオーナによって利用されることが可能な、共有処理デバイスを備えることができる。プロセッサ804は、非一時的コンピューティングデバイス(例えば、回路と、他の構成要素およびデバイスと通信するための接続とを備える電子機械)であることを理解されたい。プロセッサ804は、プロセッサにとってネイティブではない機械命令を処理する(例えば、VAX固有のアプリケーションが仮想VAXプロセッサ上で実行されることを可能にするために、VAXオペレーティングシステムおよびVAX機械命令コードセットをIntel(登録商標)9xxチップセットコードに変換する)などのために、仮想プロセッサを動作させることができるが、当業者なら理解するように、そのような仮想プロセッサは、ハードウェアによって、より具体的には、プロセッサ(例えばプロセッサ804)の基礎をなす電気回路および他のハードウェアによって実行されるアプリケーションである。プロセッサ804は、アプリケーション(すなわちPod)がKubernetesによってオーケストレーションされるときなどに、仮想プロセッサによって実行されることが可能である。仮想プロセッサは、アプリケーションに、そのアプリケーションの命令を実行する静的なかつ/または専用のプロセッサのように見えるものが与えられることを可能にし、その間、基礎をなす非仮想プロセッサがこの命令を実行しており、この非仮想プロセッサは、いくつかのプロセッサの間で、動的とすることができ、かつ/または分割することができる。 In other embodiments, processor 804 may be used by other processes and/or process owners, such as within a processing array (e.g., blade, multiprocessor board, etc.) within a system or within a distributed processing system (e.g., "cloud," farm, etc.). A shared processing device can be provided that can be utilized. It should be understood that processor 804 is a non-transitory computing device (eg, an electronic machine with circuits and connections for communicating with other components and devices). The processor 804 handles machine instructions that are not native to the processor (e.g., the VAX operating system and the VAX machine instruction code set by Intel(R) to allow VAX-specific applications to run on virtual VAX processors). 9xx chipset code), etc., but as those skilled in the art will appreciate, such virtual processors are implemented by hardware, more specifically , the applications executed by the underlying electrical circuitry of a processor (eg, processor 804) and other hardware. Processor 804 can be run by a virtual processor, such as when an application (or Pod) is orchestrated by Kubernetes. Virtual processors allow an application to be given what appears to be a static and/or dedicated processor that executes the application's instructions, while the underlying non-virtual processors execute the instructions. and this non-virtual processor may be dynamic and/or split among several processors.

プロセッサ804の構成要素に加えて、デバイス802は、命令、値などのアクセス可能データを記憶するために、メモリ806および/またはデータストレージ808を利用することができる。通信インターフェース810が、プロセッサ804などの構成要素の、バス814を介した、バス814を介してアクセスできない構成要素との通信を円滑にする。通信インターフェース810は、ネットワークポート、ネットワークカード、ネットワークケーブル、または他の構成されたハードウェアデバイスとして具現化することができる。それに加えてまたはその代わりに、ヒューマン入力/出力インターフェース812が、人間および/もしくは電子デバイスからかつ/または人間および/もしくは電子デバイスに情報(例えば命令、データ、値など)を受け取りかつ/または提示するために、1つまたは複数のインターフェース構成要素に接続する。入力/出力インターフェースに接続することのできる入力/出力デバイス830の例には、それらに限定されないが、キーボード、マウス、トラックボール、プリンタ、ディスプレイ、センサ、スイッチ、リレー、スピーカ、マイクロホン、スチルカメラおよび/またはビデオカメラなどが含まれる。別の実施形態では、通信インターフェース810は、ヒューマン入力/出力インターフェース812を含んでもよく、ヒューマン入力/出力インターフェース812に含まれてもよい。通信インターフェース810は、ネットワーク接続された構成要素と直接通信するように、またはネットワーク820および/もしくはネットワーク824など、1つもしくは複数のネットワークを利用するように、構成することができる。 In addition to the components of processor 804, device 802 can utilize memory 806 and/or data storage 808 for storing accessible data such as instructions, values, and the like. A communication interface 810 facilitates communication of components, such as processor 804 , with components not accessible via bus 814 . Communication interface 810 may be embodied as a network port, network card, network cable, or other configured hardware device. Additionally or alternatively, a human input/output interface 812 receives and/or presents information (eg, instructions, data, values, etc.) from and/or to humans and/or electronic devices. connect to one or more interface components for Examples of input/output devices 830 that can be connected to the input/output interface include, but are not limited to, keyboards, mice, trackballs, printers, displays, sensors, switches, relays, speakers, microphones, still cameras and and/or include video cameras and the like. In another embodiment, the communication interface 810 may include a human input/output interface 812 and may be included in the human input/output interface 812 . Communication interface 810 can be configured to communicate directly with networked components or to utilize one or more networks, such as network 820 and/or network 824 .

ネットワーク820は、有線ネットワーク(例えばイーサネット)、ワイヤレス(例えばWi-Fi、Bluetooth、セルラーなどの)ネットワーク、またはそれらの組み合わせとすることができ、ネットワーク接続された構成要素822とデバイス802が通信できるようにすることができる。他の実施形態では、ネットワーク820は、全体または一部において、電話網(例えば公衆交換電話網(PSTN)、構内交換(PBX)、セルラー電話網など)として具現化することができる。 Network 820 can be a wired network (eg, Ethernet), a wireless (eg, Wi-Fi, Bluetooth, cellular, etc.) network, or a combination thereof, allowing networked components 822 and devices 802 to communicate. can be In other embodiments, network 820 may be embodied in whole or in part as a telephone network (eg, public switched telephone network (PSTN), private branch exchange (PBX), cellular telephone network, etc.).

それに加えてまたはその代わりに、1つまたは複数の他のネットワークを利用することもできる。例えば、ネットワーク824は第2のネットワークを表すことができ、これは、デバイス802によって利用される構成要素との通信を円滑にすることができる。例えば、ネットワーク824は、企業体または他の組織に至る内部ネットワークとすることができ、それにより、構成要素が、内部ネットワークほどは信頼されないことのある公衆ネットワーク(例えばインターネット)を備えるネットワーク820に接続することのできるネットワーク接続された構成要素822よりも信頼される(または少なくとももっと信頼される)。 Additionally or alternatively, one or more other networks may be utilized. For example, network 824 can represent a second network, which can facilitate communication with components utilized by device 802 . For example, network 824 may be an internal network leading to a business entity or other organization, whereby components connect to network 820 comprising a public network (eg, the Internet) that may not be as trusted as the internal network. more trusted (or at least more trusted) than the networked component 822 that can.

ネットワーク824に接続される構成要素としては、メモリ826、データストレージ828、入力/出力デバイス830、および/またはプロセッサ804にとってアクセス可能であってよい他の構成要素があり得る。例えば、メモリ826および/またはデータストレージ828は、全体的にまたは特定のタスクもしくは目的のために、メモリ806および/またはデータストレージ808を補完し、またはメモリ806および/またはデータストレージ808に取って代わることができる。例えば、メモリ826および/またはデータストレージ828は、外部データリポジトリ(例えばサーバファーム、アレイ、「クラウド」など)とすることができ、デバイス802および/または他のデバイスがその上のデータにアクセスすることを可能にすることができる。同様に、入力/出力デバイス830は、プロセッサ804によって、ヒューマン入力/出力インターフェース812を介してアクセスされることが可能であり、かつ/あるいは通信インターフェース810を介し、直接、ネットワーク824を介して、ネットワーク820のみ(図示せず)を介してか、またはネットワーク824と820を介して、アクセスされることが可能である。メモリ806、データストレージ808、メモリ826、データストレージ828はそれぞれ、データストレージデバイスを備えた非一時的データストレージを備える。 Components connected to network 824 may include memory 826 , data storage 828 , input/output devices 830 , and/or other components that may be accessible to processor 804 . For example, memory 826 and/or data storage 828 may supplement memory 806 and/or data storage 808 or replace memory 806 and/or data storage 808 generally or for a particular task or purpose. be able to. For example, memory 826 and/or data storage 828 can be an external data repository (eg, server farm, array, “cloud,” etc.) that device 802 and/or other devices can access data on. can make it possible. Similarly, input/output devices 830 can be accessed by processor 804 via human input/output interface 812 and/or via communication interface 810 directly, via network 824, via network It can be accessed via 820 alone (not shown) or via networks 824 and 820 . Memory 806, data storage 808, memory 826, and data storage 828 each comprise non-transitory data storage comprising data storage devices.

コンピュータ可読データが、多様な構成要素によって送出、受信、記憶、処理、および提示され得ることを理解されたい。図示の構成要素は他の構成要素を、本明細書に図示されていようとそうでなかろうと、制御できることも理解されたい。例えば、ある入力/出力デバイス830を、ルータ、スイッチ、ポート、または他の通信構成要素とすることができ、それによって、プロセッサ804の特定の出力が、ネットワーク820および/またはネットワーク824に関連付けられていてよい入力/出力デバイス830をイネーブル(またはディスエーブル)にすると、ネットワーク820および/またはネットワーク824上の2つ以上のノード間の通信が可能になる(または不可能になる)。実施形態の範囲から逸脱することなく、本明細書において説明したものに加えてまたはその代わりに他の通信機器を利用できることを、当業者なら理解するであろう。 It should be appreciated that computer readable data can be sent, received, stored, processed, and presented by a variety of components. It should also be understood that the illustrated components can control other components, whether they are illustrated herein or not. For example, an input/output device 830 may be a router, switch, port, or other communication component by which a particular output of processor 804 is associated with network 820 and/or network 824. Enabling (or disabling) an input/output device 830 may enable (or disable) communication between two or more nodes on network 820 and/or network 824 . Those skilled in the art will appreciate that other communication devices may be utilized in addition to or in place of those described herein without departing from the scope of the embodiments.

前述の説明では、例示を目的として、方法については特定の順序で説明していた。代替実施形態では、実施形態の範囲から逸脱することなく、方法を、説明した順序とは異なる順序で実施できることを理解されたい。上で説明した方法は、本明細書において説明した1つまたは複数のアルゴリズムまたはその部分を実行することを目的として構築されたハードウェア構成要素(例えば回路)によって実行されるアルゴリズムとして実現できることも理解されたい。別の実施形態では、ハードウェア構成要素は、汎用マイクロプロセッサ(例えばCPU、GPU)を備えることができ、これは最初に専用マイクロプロセッサに変換される。その場合、専用マイクロプロセッサにはその中に、符号化された信号がロードされており、それによって、この時点で専用であるマイクロプロセッサが機械可読命令を保持して、本明細書において説明したアルゴリズムおよび/または他の命令から得られた機械可読命令セットをマイクロプロセッサが読み取り、実行できるようになる。アルゴリズムまたはその部分を実行するために利用される機械可読命令は、無制限ではなく、マイクロプロセッサにとって既知の有限の命令セットを利用する。機械可読命令は、マイクロプロセッサ内に、信号生成構成要素内の信号または値として符号化されることが可能であり、1つまたは複数の実施形態では、メモリ回路内の電圧、スイッチング回路の構成、および/または特定の論理ゲート回路の選択的使用を含むことができる。それに加えてまたはその代わりに、機械可読命令は、マイクロプロセッサにとってアクセス可能であり、媒体またはデバイス内に、磁界、電圧値、電荷値、反射/非反射部分、および/または物理的なしるし(physical indicium)として符号化されることも可能である。 In the foregoing description, for purposes of illustration, the methods were described in a particular order. It should be appreciated that in alternate embodiments, the methods may be performed in a different order than the order described without departing from the scope of the embodiments. It is also understood that the methods described above can be implemented as algorithms executed by hardware components (eg, circuits) constructed for the purpose of executing one or more of the algorithms or portions thereof described herein. want to be In another embodiment, the hardware component may comprise a general purpose microprocessor (eg CPU, GPU), which is first converted to a dedicated microprocessor. In that case, the dedicated microprocessor has been loaded with encoded signals therein such that the microprocessor, which is now dedicated, holds machine-readable instructions to implement the algorithms described herein. and/or enable a microprocessor to read and execute a machine-readable instruction set derived from other instructions. The machine-readable instructions utilized to implement the algorithm, or portions thereof, utilize a finite instruction set known to microprocessors, rather than being unlimited. The machine-readable instructions can be encoded in the microprocessor as signals or values in the signal generating components, and in one or more embodiments, voltages in memory circuits, configuration of switching circuits, and/or selective use of certain logic gate circuits. Additionally or alternatively, the machine-readable instructions are accessible to the microprocessor to store magnetic fields, voltage values, charge values, reflective/non-reflective portions, and/or physical indicia in the medium or device. indicium).

別の実施形態では、マイクロプロセッサは、単一のマイクロプロセッサ、マルチコアプロセッサ、複数のマイクロプロセッサ、分散処理システム(例えばアレイ、ブレード、サーバファーム、「クラウド」、多目的プロセッサアレイ、クラスタなど)のうちの1つもしくは複数をさらに備え、かつ/または他の処理動作を実施するマイクロプロセッサと共に配置することができる。いずれか1つまたは複数のマイクロプロセッサは、単一の処理装置(例えばコンピュータ、サーバ、ブレードなど)に統合することもでき、あるいは通信リンク(例えばバス、ネットワーク、バックプレーンなど、または複数のそれら)を介して接続された個別構成要素内に、全体的にまたは一部位置付けることもできる。 In another embodiment, the microprocessor is one of a single microprocessor, a multicore processor, multiple microprocessors, distributed processing systems (e.g., arrays, blades, server farms, "clouds," multipurpose processor arrays, clusters, etc.). One or more may be further provided and/or co-located with a microprocessor to perform other processing operations. Any one or more microprocessors may be integrated into a single processing unit (eg, computer, server, blade, etc.) or a communication link (eg, bus, network, backplane, etc., or multiple thereof). It can also be located wholly or partly within separate components connected via the .

汎用マイクロプロセッサの例としては、命令レジスタ(もしくは命令を保持する他の回路)内に符号化されたデータ値、またはメモリロケーションを含むデータ値を有する中央処理装置(CPU)があり得、メモリロケーションは、命令として利用される値を含む。メモリロケーションは、CPUの外部にあるメモリロケーションをさらに含むことができる。そのようなCPU外部構成要素は、フィールドプログラマブルゲートアレイ(FPGA)、し専用メモリ(ROM)、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマ読み出ブル読み出し専用メモリ(EPROM)、ランダムアクセスメモリ(RAM)、バスアクセス可能なストレージ、ネットワークアクセス可能なストレージなどのうちの1つまたは複数として具現化することができる。 An example of a general-purpose microprocessor can be a central processing unit (CPU), which has data values encoded in instruction registers (or other circuitry that holds instructions) or contains memory locations. contains values that are used as instructions. The memory locations can further include memory locations external to the CPU. Such CPU external components include field programmable gate arrays (FPGA), dedicated memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), random access memory (RAM). ), bus-accessible storage, network-accessible storage, and the like.

これらの機械実行可能命令は、CD-ROMもしくは他のタイプの光ディスク、フロッピーディスケット、ROM、RAM、EPROM、EEPROM、磁気カードもしくは光カード、フラッシュメモリ、または電子命令を記憶するのに適した他のタイプの機械可読媒体など、1つまたは複数の機械可読媒体上に記憶させることができる。あるいは、方法は、ハードウェアとソフトウェアの組み合わせによって実現することもできる。 These machine-executable instructions may be on a CD-ROM or other type of optical disk, floppy diskette, ROM, RAM, EPROM, EEPROM, magnetic or optical card, flash memory, or other suitable medium for storing electronic instructions. can be stored on one or more machine-readable media, such as any type of machine-readable media. Alternatively, the method can be implemented by a combination of hardware and software.

別の実施形態では、マイクロプロセッサは、クライアントデバイス上のマイクロプロセッサとサーバ上のマイクロプロセッサ、デバイスとそれらのそれぞれに対応するマイクロプロセッサとの集まり、または共有もしくはリモートの処理サービス(例えば「クラウド」を基にしたマイクロプロセッサ)など、処理ハードウェア構成要素のシステムまたは集まりとすることができる。マイクロプロセッサのシステムは、処理タスクおよび/または共有処理タスクもしくは分散処理タスクの、タスク別の割り振りを含むことができる。さらに別の実施形態では、マイクロプロセッサは、1つまたは複数の異なるマイクロプロセッサをエミュレートするサービスを提供するソフトウェアを実行することができる。結果として、ハードウェア構成要素の第1のセットからなる第1のマイクロプロセッサが、第2のマイクロプロセッサのサービスを実質的に提供することができ、それにより、第1のマイクロプロセッサに関連するハードウェアが、第2のマイクロプロセッサに関連する命令セットを使用して動作することが可能である。 In another embodiment, the microprocessor is a microprocessor on a client device and a microprocessor on a server, a collection of devices and their respective microprocessors, or a shared or remote processing service (e.g., a "cloud"). It can be a system or collection of processing hardware components, such as a microprocessor based processor. A system of microprocessors may include a task-based allocation of processing tasks and/or shared or distributed processing tasks. In yet another embodiment, the microprocessor may execute software that provides services that emulate one or more different microprocessors. As a result, a first microprocessor comprising a first set of hardware components can substantially provide the services of a second microprocessor, thereby providing hardware associated with the first microprocessor. ware can operate using an instruction set associated with the second microprocessor.

機械実行可能命令は、特定の機械(例えばパーソナルコンピュータ、モバイルコンピューティングデバイス、ラップトップ機など)にローカルに記憶および実行されてよいが、理解されるべきであるのは、データおよび/もしくは命令の記憶、ならびに/または命令の少なくとも部分の実行は、リモートのデータストレージおよび/もしくは処理デバイスへの、または一般に「クラウド」として知られているデバイスの集まりへの接続性を介して行うことができ、ただし、公設の、私設の、専用の、共有の、かつ/または他のサービスビューロ、コンピューティングサービス、および/または「サーバファーム」を含むことがある、ということである。 Although machine-executable instructions may be stored and executed locally on a particular machine (e.g., personal computer, mobile computing device, laptop, etc.), it should be understood that data and/or instructions storage and/or execution of at least a portion of the instructions may be via connectivity to remote data storage and/or processing devices or to a collection of devices commonly known as the "cloud"; provided, however, that it may include public, private, dedicated, shared, and/or other service bureaus, computing services, and/or "server farms."

本明細書において説明したマイクロプロセッサの例としては、それらに限定されないが、Qualcomm(登録商標)Snapdragon(登録商標)800および801、4G LTE統合および64-ビットコンピューティングのQualcomm(登録商標)Snapdragon(登録商標)610および615、64-ビットアーキテクチャのApple(登録商標)A7マイクロプロセッサ、Apple(登録商標)M7モーションコプロセッサ、Samsung(登録商標)Exynos(登録商標)シリーズ、Intel(登録商標)Core(商標)ファミリのマイクロプロセッサ、Intel(登録商標)Xeon(登録商標)ファミリのマイクロプロセッサ、Intel(登録商標)Atom(商標)ファミリのマイクロプロセッサ、Intel Itanium(登録商標)ファミリのマイクロプロセッサ、Intel(登録商標)Core(登録商標)i5-4670Kおよびi7-4770K 22nm Haswell、Intel(登録商標)Core(登録商標)i5-3570K 22nm Ivy Bridge、AMD(登録商標)FX(商標)ファミリのマイクロプロセッサ、AMD(登録商標)FX-4300、FX-6300、およびFX-8350 32nm Vishera、AMD(登録商標)Kaveriマイクロプロセッサ、Texas Instruments(登録商標)JacintoC6000(商標)オートモーティブインフォテイメントマイクロプロセッサ、Texas Instruments(登録商標)OMAP(商標)オートモーティブグレードモバイルマイクロプロセッサ、ARM(登録商標)Cortex(商標)-Mマイクロプロセッサ、ARM(登録商標)Cortex-AおよびARM926EJ-S(商標)マイクロプロセッサ、産業的に同等の(industry-equivalent)他のマイクロプロセッサのうちの少なくとも1つがあり得、これらの例は、任意の既知の、または将来開発される標準、命令セット、ライブラリ、および/またはアーキテクチャを使用して、計算機能を実行することができる。 Examples of microprocessors described herein include, but are not limited to, Qualcomm® Snapdragon® 800 and 801, Qualcomm® Snapdragon® with 4G LTE integration and 64-bit computing ( 610 and 615, 64-bit architecture Apple® A7 microprocessor, Apple® M7 motion coprocessor, Samsung® Exynos® series, Intel® Core ( trademark) family of microprocessors, Intel® Xeon® family of microprocessors, Intel® Atom™ family of microprocessors, Intel Itanium® family of microprocessors, Intel® Trademarked Core® i5-4670K and i7-4770K 22nm Haswell, Intel® Core® i5-3570K 22nm Ivy Bridge, AMD® FX™ family of microprocessors, AMD ( FX-4300, FX-6300, and FX-8350 32nm Vishera, AMD Kaveri Microprocessor, Texas Instruments JacintoC6000 Automotive Infotainment Microprocessor, Texas Instruments OMAP ™ Automotive Grade Mobile Microprocessors, ARM ® Cortex ™-M Microprocessors, ARM ® Cortex-A and ARM926EJ-S ™ Microprocessors, industry-equivalent ) other microprocessors, examples of which perform computational functions using any known or future-developed standards, instruction sets, libraries, and/or architectures be able to.

本明細書において論じたステップ、機能、および動作のいずれも、連続的かつ自動的に実行することができる。 Any of the steps, functions and actions discussed herein can be executed continuously and automatically.

本発明の例示的なシステムおよび方法については、通信およびメッセージを監視し、強化し、通信およびメッセージに装飾するための、通信のシステムおよび構成要素および方法に関して説明してきた。しかし、本発明を不必要に不明瞭にすることを避けるために、先の説明では、いくつかの知られている構造およびデバイスを省略している。この省略は、特許請求の範囲に記載の発明の範囲を限定するものと解釈すべきではない。本発明の理解を可能にするために、具体的詳細が記載されている。しかし、本発明は、本明細書に記載された具体的詳細を超える多様な方途で実践できることを、理解されたい。 The exemplary systems and methods of the present invention have been described in terms of communication systems and components and methods for monitoring, enhancing, and embellishing communications and messages. However, in order to avoid unnecessarily obscuring the present invention, the above description omits some well-known structures and devices. This omission should not be construed as limiting the scope of the claimed invention. Specific details are set forth to enable an understanding of the invention. However, it should be understood that the present invention may be practiced in many different ways beyond the specific details set forth herein.

さらに、本明細書において示した例示的な実施形態は、システムの併置されたさまざまな構成要素を示すが、システムのいくつかの構成要素はリモートに、LANおよび/もしくはインターネットなどの分散ネットワークの遠隔部分、または専用のシステム内に位置付けることができる。したがって、システムの構成要素またはその部分(例えばマイクロプロセッサ、メモリ/ストレージ、インターフェースなど)は、1つのサーバ、複数のサーバ、コンピュータ、コンピューティングデバイス、端末、「クラウド」、または他の分散処理など、1つまたは複数のデバイスに統合することもでき、あるいはアナログおよび/もしくはデジタルの電気通信ネットワーク、パケット交換ネットワーク、または回路交換ネットワークなどの分散ネットワークの特定のノード上に併置することもできることを理解されたい。別の実施形態では、構成要素は、複数の構成要素にわたって物理的または論理的に分散させることができる(例えば、マイクロプロセッサは、共有タスクおよび/または割り振られたタスクの部分をそれぞれが実施する、ある構成要素上の第1のマイクロプロセッサと別の構成要素上の第2のマイクロプロセッサとを備えることができる)。先の説明から、また計算効率の理由から、システムの構成要素は、システムの動作に影響を及ぼすことなく、構成要素の分散ネットワーク内の任意の位置に配置できることが理解されよう。例えば、さまざまな構成要素は、PBXおよびメディアサーバなどのスイッチ内に、ゲートウェイ内に、1つもしくは複数の通信デバイス内に、ユーザの1つもしくは複数の構内に、またはそれらの何らかの組み合わせに、位置付けることができる。同様に、システムの1つまたは複数の機能部分を、電気通信デバイスと、関連するコンピューティングデバイスとの間に、分散させることもできる。 Further, although the exemplary embodiments presented herein show various components of the system collocated, some components of the system may be remotely located in distributed networks such as LANs and/or the Internet. It can be located within a partial or dedicated system. As such, components of the system or portions thereof (e.g., microprocessors, memory/storage, interfaces, etc.) can It will be appreciated that it may be integrated into one or more devices or collocated on a particular node of a distributed network such as an analog and/or digital telecommunications network, packet switched network, or circuit switched network. sea bream. In another embodiment, the components may be physically or logically distributed across multiple components (e.g., microprocessors each perform portions of shared and/or assigned tasks, a first microprocessor on one component and a second microprocessor on another component). From the foregoing discussion, and for computational efficiency reasons, it will be appreciated that the components of the system can be placed anywhere within the distributed network of components without affecting the operation of the system. For example, various components may be located within switches such as PBXs and media servers, within gateways, within one or more communication devices, at one or more user premises, or some combination thereof. be able to. Similarly, one or more functional portions of the system may be distributed between telecommunications devices and associated computing devices.

さらに、要素同士を接続するさまざまなリンクは、有線リンクもしくはワイヤレスリンク、またはそれらの任意の組み合わせ、あるいは接続された要素間でデータを供給および/または通信可能な、他の任意の既知の、または後に開発される要素とすることができることを理解されたい。これらの有線リンクまたはワイヤレスリンクは、セキュアなリンクとすることもでき、暗号化された情報を通信することが可能であってよい。リンクとして使用される伝送媒体は、例えば、同軸ケーブル、銅線、および光ファイバを含む、電気信号に適した任意のキャリアとすることができ、リンクとして使用される伝送媒体はまた、無線波データ通信および赤外線データ通信中に生成されるような音波または光波の形態をとってもよい。 Moreover, the various links connecting the elements may be wired or wireless links, or any combination thereof, or any other known or It should be understood that it can be a later developed element. These wired or wireless links may also be secure links and may be capable of communicating encrypted information. The transmission medium used as a link can be any carrier suitable for electrical signals, including, for example, coaxial cable, copper wire, and fiber optics; It may also take the form of acoustic or light waves, such as those generated during communications and infrared data communications.

また、フローチャートについては、イベントの特定のシーケンスに関して論じ、図示してきたが、本発明の動作に実質的に影響を及ぼすことなく、このシーケンスに対する変更、追加、および省略を行えることを理解されたい。 Also, while the flowchart has been discussed and illustrated with respect to a particular sequence of events, it should be understood that modifications, additions, and omissions can be made to this sequence without materially affecting the operation of the present invention.

本発明のいくつかの変形形態および変更形態を使用することができる。本発明のいくつかの特徴を提供し、それ以外のものを提供しないことが、可能である。 Several variations and modifications of the invention can be used. It is possible to provide some features of the invention and not others.

さらに別の実施形態では、本発明のシステムおよび方法を、専用コンピュータ、プログラムされたマイクロプロセッサもしくはマイクロコントローラと周辺の集積回路要素、ASICもしくは他の集積回路、デジタル信号マイクロプロセッサ、ディスクリート要素回路などの結線接続された電子回路もしくは結線接続された論理回路、PLD、PLA、FPGA、PALなどのプログラマブル論理デバイスもしくはプログラマブルゲートアレイ、専用コンピュータ、任意の同等手段、または同様のものと組み合わせて実装することができる。一般に、本明細書において示した方法を実行可能な任意のデバイスまたは手段を使用して、本発明のさまざまな態様を実装することができる。本発明に使用することのできる例示的なハードウェアには、コンピュータ、ハンドヘルドデバイス、電話機(例えばセルラー、インターネット対応、デジタル、アナログ、ハイブリッドなど)、および当技術分野で知られている他のハードウェアが含まれる。これらのデバイスのいくつかは、マイクロプロセッサ(例えば単一のまたは複数のマイクロプロセッサ)、メモリ、不揮発性ストレージ、入力デバイス、および出力デバイスを含む。さらに、それらに限定されないが、分散処理もしくは構成要素/オブジェクト分散処理、並列処理、または仮想機械処理を含む代替ソフトウェア実装形態も、1つまたは複数の処理構成要素によって行われる、本明細書において説明した方法を実行するように、構築することもできる。 In yet another embodiment, the system and method of the present invention can be implemented using special purpose computers, programmed microprocessors or microcontrollers and peripheral integrated circuit elements, ASICs or other integrated circuits, digital signal microprocessors, discrete component circuits, and the like. may be implemented in combination with hard-wired electronic or hard-wired logic circuits, programmable logic devices or programmable gate arrays such as PLDs, PLA, FPGAs, PALs, dedicated computers, any equivalent means, or the like; can. In general, any device or means capable of performing the methods presented herein can be used to implement the various aspects of the present invention. Exemplary hardware that can be used with the present invention include computers, handheld devices, telephones (eg, cellular, internet-enabled, digital, analog, hybrid, etc.), and other hardware known in the art. is included. Some of these devices include microprocessors (eg, single or multiple microprocessors), memory, non-volatile storage, input devices, and output devices. Further, alternative software implementations including, but not limited to, distributed or component/object distributed processing, parallel processing, or virtual machine processing are also performed by one or more processing components described herein. It can also be constructed to perform the method described above.

さらに別の実施形態では、ここで開示した方法を、多様なコンピュータプラットフォームまたはワークステーションプラットフォーム上で使用することのできる移植可能なソースコードを提供するオブジェクトソフトウェア開発環境またはオブジェクト指向ソフトウェア開発環境を使用して、ソフトウェアと組み合わせて容易に実装することができる。あるいは、ここで開示したシステムを、標準的な論理回路またはVLSI設計を使用して、ハードウェアの形で部分的にまたは完全に実装することもできる。本発明によるシステムを実装するためにソフトウェアが使用されるか、それともハードウェアが使用されるかは、システムの速度要件および/または効率要件、特定の機能、ならびに利用されている特定のソフトウェアシステムもしくはハードウェアシステムまたはマイクロプロセッサシステムもしくはマイクロコンピュータシステムに応じて決まる。 In yet another embodiment, the methods disclosed herein use an object or object-oriented software development environment that provides portable source code that can be used on a variety of computer or workstation platforms. can be easily implemented in combination with software. Alternatively, the system disclosed herein can be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement a system according to the invention depends on the speed and/or efficiency requirements of the system, the particular functionality and the particular software system or systems being utilized. It depends on the hardware system or microprocessor system or microcomputer system.

さらに別の実施形態では、ここで開示した方法を、ソフトウェアの形で部分的に実装することができ、このソフトウェアは、記憶媒体上に記憶させ、プログラムされた汎用コンピュータ上でコントローラおよびメモリの協力のもとに、専用コンピュータ上で、マイクロプロセッサ上で、または同様のものの上で、実行することができる。これらの場合、本発明のシステムおよび方法は、パーソナルコンピュータ上に埋め込まれた、アプレット、JAVA(登録商標)、またはCGIスクリプトなどのプログラムとして、サーバまたはコンピュータワークステーション上に存在するリソースとして、専用の測定システム、システム構成要素、または同様のものに埋め込まれたルーチンとして、実装することができる。システムは、システムおよび/または方法をソフトウェアシステムおよび/またはハードウェアシステムに物理的に組み込むことによって実装することもできる。 In yet another embodiment, the methods disclosed herein can be partially implemented in the form of software, which software is stored on a storage medium and which operates in cooperation with a controller and memory on a programmed general purpose computer. It can be run on a dedicated computer, on a microprocessor, or the like. In these cases, the system and method of the present invention can be implemented as a program, such as an applet, JAVA, or CGI script, embedded on a personal computer, as a resource residing on a server or computer workstation. It can be implemented as a routine embedded in a measurement system, system component, or the like. Systems may also be implemented by physically incorporating systems and/or methods into software and/or hardware systems.

ソフトウェアを含む本明細書における実施形態は、1つまたは複数のマイクロプロセッサによって実行されるかまたは後に実行できるように記憶され、実行可能コードとして実行される。実行可能コードは、特定の実施形態を含む命令を実行するために選択される。実行される命令は、マイクロプロセッサが理解する個別のネイティブ命令セットから選択される制約された命令セットであり、実行前に、マイクロプロセッサがアクセス可能なメモリに投入される。別の実施形態では、人間が読める「ソースコード」ソフトウェアが、1つまたは複数のマイクロプロセッサによる実行前に、プラットフォーム(例えばコンピュータ、マイクロプロセッサ、データベースなど)のネイティブ命令セットから選択されるプラットフォーム固有の命令セットを含めるために、最初にシステムソフトウェアに変換される。 Embodiments herein that include software are executed as executable code, stored for execution by one or more microprocessors, or stored for later execution. Executable code is selected to execute instructions comprising a particular embodiment. The instructions to be executed are a constrained set of instructions selected from a separate native instruction set understood by the microprocessor and, prior to execution, are injected into memory accessible to the microprocessor. In another embodiment, the human-readable "source code" software is selected from a platform's (e.g., computer, microprocessor, database, etc.) native instruction set prior to execution by one or more microprocessors. It is first translated into system software to include the instruction set.

本発明では、実施形態において実装される構成要素および機能について、特定の標準およびプロトコルを参照して説明しているが、本発明はそのような標準およびプロトコルに限定されない。本明細書において言及していない他の類似の標準およびプロトコルが存在しており、それらは本発明に含まれるとみなされる。さらに、本明細書において言及した標準およびプロトコル、ならびに本明細書において言及していない他の類似の標準およびプロトコルは、基本的に同じ機能を有する、より高速のまたはより効果的な等価物に、定期的に取って代わられる。同じ機能を有するそのような置換えの標準およびプロトコルは、本発明に含まれる等価物とみなされる。 Although the invention describes the components and functionality implemented in embodiments with reference to particular standards and protocols, the invention is not limited to such standards and protocols. Other similar standards and protocols not mentioned herein exist and are considered to be included in the present invention. Moreover, the standards and protocols mentioned herein, and other similar standards and protocols not Periodically superseded. Such replacement standards and protocols having the same functionality are considered equivalents included in this invention.

本発明は、さまざまな実施形態、構成、および態様において、さまざまな実施形態、それらの部分組み合わせおよび部分集合を含む本明細書において実質的に図示および説明した構成要素、方法、プロセス、システム、および/または装置を含む。当業者なら、本開示について理解した後で、本発明をどのように作成し使用するかを理解されよう。本発明は、さまざまな実施形態、構成、および態様において、例えば性能を改善するために、容易さを得るために、かつ/または実装コストを削減するために従来のデバイスまたはプロセスにおいて使用されていた可能性のある項目がない場合を含めて、本明細書においてまたは本明細書のさまざまな実施形態、構成もしくは態様において図示および/または説明されていない項目がない場合に、デバイスおよびプロセスを提供することを含む。 The present invention, in its various embodiments, configurations, and aspects, complies with the components, methods, processes, systems, and components substantially illustrated and described herein, including various embodiments, subcombinations, and subsets thereof. / or includes a device. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, configurations, and aspects, has been used in conventional devices or processes, e.g., to improve performance, obtain ease, and/or reduce implementation costs. To provide devices and processes in the absence of items not shown and/or described herein or in various embodiments, configurations or aspects herein, including possible items Including.

本発明の前述の議論は、例示および説明を目的として提示されている。前述の内容は、本明細書において開示した1つまたは複数の形態に本発明を限定することは意図されていない。例えば、前述の、発明を実施するための形態では、本開示を合理的にする目的で、本発明のさまざまな特徴が1つまたは複数の実施形態、構成、または態様にまとめられている。本発明の実施形態、構成、または態様の特徴は、上で論じたもの以外の代替の実施形態、構成、または態様において、組み合わせることができる。開示のこの方法は、特許請求の範囲に記載の発明が各請求項に明示的に記述されているよりも多くの特徴を必要とする、という意図を反映していると解釈すべきではない。そうではなく、添付の特許請求の範囲が反映しているように、本発明の態様は、前述の開示した単一の実施形態、構成、または態様の、一部の(less than all)特徴にある。したがって、添付の特許請求の範囲はここに、各請求項が本発明の別々の好ましい実施形態としてそれ自体で成立した状態で、この、発明を実施するための形態に組み込まれている。 The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. For example, in the foregoing Detailed Description, various features of the invention are summarized in one or more embodiments, configurations, or aspects for the purpose of streamlining the disclosure. Features of embodiments, configurations, or aspects of the invention may be combined in alternative embodiments, configurations, or aspects other than those discussed above. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment, configuration, or aspect. be. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the present invention.

さらに、本発明の説明は、1つまたは複数の実施形態、構成、または態様、ならびにいくつかの変形形態および変更形態の説明を含んでいるが、他の変形形態、組み合わせ、および変更形態が、例えば本開示について理解した後で当業者の技術および知識の範囲内に含まれ得るので、本発明の範囲に含まれる。特許請求の範囲に記載のものに対する代替の、交換可能な、かつ/または等価な構造、機能、範囲、またはステップが本明細書において開示されていようとなかろうと、また特許性のある任意の主題を公に供することを意図することなく、そのような代替の、交換可能な、かつ/または等価な構造、機能、範囲、またはステップを含めて、代替の実施形態、構成、または態様を許容される程度まで含んだ権利を得ることが意図されている。 Further, while the description of the present invention includes a description of one or more embodiments, configurations, or aspects, and some variations and modifications, other variations, combinations, and modifications may include: It is included within the scope of the present invention, for example, because it is within the skill and knowledge of one of ordinary skill in the art after understanding the present disclosure. Any subject matter patentable, whether or not alternative, interchangeable, and/or equivalent structures, functions, ranges, or steps to those recited in a claim are disclosed herein Alternate embodiments, configurations, or aspects are permitted, including such alternative, interchangeable, and/or equivalent structures, functions, ranges, or steps, without intending to make public the It is intended to obtain inclusive rights to the extent possible.

やはり理解されるべきであるのは、上で説明した方法は、ハードウェア構成要素によって実現することもでき、あるいは機械実行可能命令のシーケンスの形で具現化することもでき、この機械実行可能命令のシーケンスを使用して、汎用または専用プロセッサ(GPUまたはCPU)や、この命令を用いてプログラムされた論理回路(FPGA)などの機械に、方法を実行させることができる、ということである。これらの機械実行可能命令は、CD-ROMもしくは他のタイプの光ディスク、フロッピーディスケット、ROM、RAM、EPROM、EEPROM、磁気カードもしくは光カード、フラッシュメモリ、または電子命令を記憶するのに適した他のタイプの機械可読媒体など、1つまたは複数の機械可読媒体上に記憶させることができる。あるいは、方法は、ハードウェアとソフトウェアの組み合わせによって実行することもできる。 It should also be understood that the methods described above may be implemented by means of hardware components or embodied in a sequence of machine-executable instructions, which machine-executable instructions can be used to cause a machine, such as a general-purpose or special-purpose processor (GPU or CPU) or a logic circuit (FPGA) programmed with this instruction, to perform the method. These machine-executable instructions may be on a CD-ROM or other type of optical disk, floppy diskette, ROM, RAM, EPROM, EEPROM, magnetic or optical card, flash memory, or other suitable medium for storing electronic instructions. can be stored on one or more machine-readable media, such as any type of machine-readable media. Alternatively, the method can be performed by a combination of hardware and software.

実施形態の完全な理解を可能にするために、説明の中で具体的詳細が与えられた。しかし、これらの具体的詳細なしに実施形態を実践できることが、当業者には理解されよう。例えば、実施形態を不必要に詳細にして不明瞭にしないために、回路はブロック図の形で示されることがある。他の場合には、実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法が、不必要な詳細なしで示されることがある。 Specific details are given in the description to enable a thorough understanding of the embodiments. However, it will be understood by those skilled in the art that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques are shown without unnecessary detail in order to avoid obscuring the embodiments.

また、実施形態については、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されたことに留意されたい。フローチャートは、動作を逐次プロセスとして表すことができるが、動作の多くは並列にまたは同時に実施することができる。加えて、動作の順序は並べ替えることができる。プロセスは、その動作が完了すると終了するが、図中に含まれていない追加のステップを有することができる。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応するとき、その終了は、その関数の、呼び出し側関数またはメイン関数への戻り値に対応する。 Also, note that embodiments have been described as processes depicted as flowcharts, flow diagrams, data flow diagrams, structural diagrams, or block diagrams. Although a flowchart may represent the actions as a sequential process, many of the actions can be performed in parallel or concurrently. Additionally, the order of operations can be rearranged. A process is terminated when its operations are completed, but may have additional steps not included in the figure. A process can correspond to a method, function, procedure, subroutine, subprogram, or the like. When a process corresponds to a function, its termination corresponds to that function's return value to the calling or main function.

さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせによって実装することができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードの形で実装されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントを、記憶媒体などの機械可読媒体内に記憶させることができる。プロセッサが、必要なタスクを実行することができる。コードセグメントは、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラム文の任意の組み合わせを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を受け渡しかつ/または受け取ることによって、別のコードセグメントまたはハードウェア回路に結合させることができる。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む任意の適切な手段を介して、受け渡し、転送し、または送信することができる。 Furthermore, embodiments can be implemented in hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the required tasks can be stored in a machine-readable medium such as a storage medium. A processor can perform the necessary tasks. A code segment can represent a procedure, function, subprogram, program, routine, subroutine, module, software package, class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, transferred, or transmitted via any suitable means, including memory sharing, message passing, token passing, network transmission, and the like.

以上、本開示の例示的な実施形態について、本明細書において詳細に説明してきたが、本発明の概念は、その他の方法でさまざまに具現化し、用いることができること、また添付の特許請求の範囲は、従来技術によって制限される場合を除き、そのような変形形態を含むものと解釈されることが意図されていることを、理解されたい。 Although exemplary embodiments of the present disclosure have been described in detail above, the concepts of the present invention can be variously embodied and used in other ways, and the scope of the claims appended hereto. is intended to be construed as including such variations except as limited by the prior art.

上記の説明および関連の図は、本発明の最良の形態を教示する。添付の特許請求の範囲は、本発明の範囲を規定する。最良の形態のいくつかの態様が、特許請求の範囲によって規定される本発明の範囲内に含まれないことがあることに、留意されたい。上で説明した特徴同士を、さまざまな形で組み合わせて、本発明の複数の変形形態を形成できることを、当業者なら理解するであろう。結果として、本発明は、上で説明した特定の実施形態に限定されるのではなく、添付の特許請求の範囲およびその等価物によってのみ限定される。 The foregoing description and related drawings teach the best mode of the invention. The appended claims define the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as defined by the claims. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the appended claims and their equivalents.

100 画像、チップ
102 関心エリア、タイル部分
104 関心エリア、タイル部分
106 関心エリア、タイル部分
108 関心エリア、タイル部分
202 点線
204 点線
206 点線
208 点線
400 プロセス、方法
500 プロセス
600 データセット
700 プロセス環境
702 画像取得デバイス
702a~n 画像取得デバイス
704 画像処理ノード
704a~n 画像処理ノード
706 画像解析器
708 異常検出器
710 データベース
800 システム
802 デバイス
804 プロセッサ
806 メモリ
808 データストレージ
810 通信インターフェース
812 ヒューマン入力/出力インターフェース
814 バス
820 ネットワーク
822 ネットワーク接続された構成要素
824 ネットワーク
826 メモリ
828 データストレージ
830 入力/出力デバイス
100 images, chips
102 Area of Interest, Tile Section
104 Area of Interest, Tile Section
106 Area of Interest, Tile Section
108 Area of Interest, Tiles
202 dotted line
204 dotted line
206 dotted line
208 dotted line
400 processes, methods
500 processes
600 datasets
700 process environment
702 image acquisition device
702a-n Image Acquisition Devices
704 Image Processing Node
704a-n Image processing nodes
706 Image Analyzer
708 Anomaly Detector
710 databases
800 system
802 devices
804 processor
806 memory
808 data storage
810 communication interface
812 Human Input/Output Interface
814 Bus
820 network
822 networked components
824 network
826 memory
828 data storage
830 input/output devices

Claims (20)

欠陥についてチップを視覚的に検査する方法であって、
前記チップの画像を処理して、関心エリアを識別するステップと、
前記識別された関心エリアを第1の画像と第2の画像に分割するステップと、
トレーニング済みモデルを使用して前記第1の画像および/または前記第2の画像を解析して、前記第1の画像および/または前記第2の画像内に欠陥が検出されるかどうかを判定するステップと、
前記第1の画像および/または前記第2の画像内に前記欠陥が検出された場合、アラートを出すステップと
を含む方法。
A method of visually inspecting a chip for defects, comprising:
processing an image of the chip to identify areas of interest;
dividing the identified area of interest into a first image and a second image;
Analyzing the first image and/or the second image using a trained model to determine if defects are detected in the first image and/or the second image a step;
and issuing an alert if said defect is detected in said first image and/or said second image.
前記第1の画像および前記第2の画像が無欠陥である場合、前記第1の画像および前記第2の画像を処理し、トレーニングデータセットに組み込むステップ
をさらに含む、請求項1に記載の方法。
2. The method of claim 1, further comprising processing and incorporating the first image and the second image into a training data set if the first image and the second image are defect-free. .
前記第1の画像または前記第2の画像が無欠陥である場合、前記第1の画像および前記第2の画像を処理し、参照画像に組み込むステップと、
入力画像を受け取るステップであって、前記入力画像が前記関心エリアを実質的に含む、ステップと、
前記入力画像を使用して前記参照画像を再構築し、再構築損失を決定するステップであって、前記再構築損失が、前記再構築の間に損失した情報を示す、ステップと、
前記再構築損失が事前定義のしきい値を超えるかどうかを判定するステップと
をさらに含む、請求項1に記載の方法。
if the first image or the second image is defect-free, processing the first image and the second image and incorporating them into a reference image;
receiving an input image, said input image substantially comprising said area of interest;
reconstructing the reference image using the input image and determining a reconstruction loss, the reconstruction loss indicating information lost during the reconstruction;
and determining whether the reconstruction loss exceeds a predefined threshold.
前記第1の画像および前記第2の画像が互いに放射状に対称である、請求項1に記載の方法。 2. The method of claim 1, wherein said first image and said second image are radially symmetrical to each other. 前記トレーニング済みモデルが、無欠陥画像を含むデータセットを使用して生成される、請求項1に記載の方法。 2. The method of claim 1, wherein the trained model is generated using a dataset containing defect-free images. 前記チップに関連するタイプについてのテンプレートを作成するステップ
をさらに含み、前記テンプレートが、前記チップに関連する前記タイプについての少なくとも1つの既知の関心エリアの所定の入力パターンを提供し、前記チップの前記画像を処理して、前記関心エリアを識別することが、テンプレートマッチングを実施することを含む、請求項1に記載の方法。
creating a template for a type associated with said chip, said template providing a predetermined input pattern of at least one known area of interest for said type associated with said chip; 2. The method of claim 1, wherein processing an image to identify the area of interest comprises performing template matching.
前記チップがセンサチップを備える、請求項1に記載の方法。 2. The method of claim 1, wherein said chip comprises a sensor chip. チップ内の欠陥を検出する方法を実行するためのシステムであって、
コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに従って動作するように構成された少なくとも1つのプロセッサと
を備え、前記コンピュータプログラムコードが、
前記チップの画像を処理して、関心エリアを識別することと、
前記識別された関心エリアを第1の画像と第2の画像に分割することと、
トレーニング済みモデルを使用して前記第1の画像および/または前記第2の画像を解析して、前記第1の画像および/または前記第2の画像内に欠陥が検出されるかどうかを判定することと、
前記第1の画像および/または前記第2の画像内に前記欠陥が検出された場合、アラートを出すことと
を含む、システム。
A system for performing a method of detecting defects in a chip, comprising:
at least one memory configured to store computer program code;
at least one processor configured to access said at least one memory and operate according to said computer program code, said computer program code comprising:
processing an image of the chip to identify areas of interest;
splitting the identified area of interest into a first image and a second image;
Analyzing the first image and/or the second image using a trained model to determine if defects are detected in the first image and/or the second image and
and issuing an alert if the defect is detected in the first image and/or the second image.
前記プログラムコードが、
前記第1の画像および前記第2の画像が無欠陥である場合、前記第1の画像および前記第2の画像を処理し、トレーニングデータセットに組み込むこと
をさらに含む、請求項8に記載のシステム。
The program code is
9. The system of claim 8, further comprising processing the first image and the second image if the first image and the second image are defect-free and incorporating them into a training data set. .
前記プログラムコードが、
前記第1の画像または前記第2の画像が無欠陥である場合、前記第1の画像および前記第2の画像を処理し、参照画像に組み込むことと、
入力画像を受け取ることであって、前記入力画像が前記関心エリアを実質的に含む、前記受け取ることと、
前記入力画像を使用して前記参照画像を再構築し、再構築損失を決定することであって、前記再構築損失が、前記再構築の間に損失した情報を示す、前記決定することと、
前記再構築損失が事前定義のしきい値を超えるかどうかを判定することと
をさらに含む、請求項8に記載のシステム。
The program code is
if the first image or the second image is defect-free, processing the first image and the second image and incorporating them into a reference image;
receiving an input image, said input image substantially including said area of interest;
reconstructing the reference image using the input image and determining a reconstruction loss, wherein the reconstruction loss indicates information lost during the reconstruction;
9. The system of claim 8, further comprising determining whether the reconstruction loss exceeds a predefined threshold.
前記第1の画像および前記第2の画像が互いに放射状に対称である、請求項8に記載のシステム。 9. The system of claim 8, wherein said first image and said second image are radially symmetrical to each other. 前記トレーニング済みモデルが、無欠陥画像を含むデータセットを使用して生成される、請求項8に記載のシステム。 9. The system of claim 8, wherein the trained model is generated using a dataset containing defect-free images. 前記プログラムコードが、
前記チップに関連するタイプについてのテンプレートを作成すること
をさらに含み、前記テンプレートが、前記チップに関連するタイプについての少なくとも1つの既知の関心エリアの所定の入力パターンを提供し、前記チップの画像を処理して、前記関心エリアを識別することが、テンプレートマッチングを実施することを含む、請求項8に記載のシステム。
The program code is
further comprising creating a template for the type associated with the chip, the template providing a predetermined input pattern of at least one known area of interest for the type associated with the chip; 9. The system of Claim 8, wherein processing to identify the area of interest comprises performing template matching.
前記チップがセンサチップを備える、請求項8に記載のシステム。 9. The system of claim 8, wherein said chip comprises a sensor chip. チップ内の欠陥を視覚的に検出するためのニューラルネットワークをトレーニングするためにオートエンコーダをトレーニングする、コンピュータによって実行される方法であって、
全体画像のセットを収集するステップと、
前記全体画像のセットを使用して第1のトレーニングセットを生成するステップと、
第1のモデルにおいて前記第1のトレーニングセットを使用して前記ニューラルネットワークをトレーニングするステップと、
第2のトレーニングセットを生成するステップであって、前記第2のトレーニングセットが全体画像の少なくとも1つのセグメントを含む、ステップと、
第2のモデルにおいて前記第2のトレーニングセットを使用して前記ニューラルネットワークをトレーニングするステップであって、前記第2のモデルが第1および第2の対称な半分を解析する、ステップと
を含む、コンピュータによって実行される方法。
A computer-implemented method of training an autoencoder to train a neural network to visually detect defects in a chip, the method comprising:
collecting a set of whole images;
generating a first training set using the set of full images;
training the neural network using the first training set in a first model;
generating a second training set, said second training set comprising at least one segment of a full image;
training the neural network using the second training set in a second model, wherein the second model analyzes first and second symmetric halves; A computer-implemented method.
前記第1および第2の対称な半分が互いに放射状に対称である、請求項15に記載のコンピュータによって実行される方法。 16. The computer-implemented method of Claim 15, wherein the first and second symmetrical halves are radially symmetrical to each other. 前記チップがセンサチップを備える、請求項15に記載のコンピュータによって実行される方法。 16. The computer-implemented method of Claim 15, wherein the chip comprises a sensor chip. 第3のトレーニングセットを生成するステップと、
第3のモデルにおいて前記第3のトレーニングセットを使用して前記ニューラルネットワークをトレーニングするステップであって、前記第3のモデルが、前記第1および第2の対称な半分内の、より小さな構成要素を解析する、ステップと
をさらに含む、請求項15に記載のコンピュータによって実行される方法。
generating a third training set;
training the neural network using the third training set in a third model, wherein the third model is the smaller component in the first and second symmetric halves; 16. The computer-implemented method of claim 15, further comprising the step of parsing the .
前記第3のモデルについての再構築損失しきい値が、前記第2のモデルについての再構築損失しきい値よりも大きい、請求項18に記載のコンピュータによって実行される方法。 19. The computer-implemented method of claim 18, wherein a reconstruction loss threshold for the third model is greater than a reconstruction loss threshold for the second model. 前記ニューラルネットワークが、エンコーダニューラルネットワークおよびデコーダニューラルネットワークのうちの少なくとも1つを備える、請求項15に記載のコンピュータによって実行される方法。 16. The computer-implemented method of Claim 15, wherein the neural network comprises at least one of an encoder neural network and a decoder neural network.
JP2023016919A 2022-02-08 2023-02-07 Method and system for visual inspection of sensor chip Pending JP2023115913A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202241006789 2022-02-08
IN202241006789 2022-02-08

Publications (1)

Publication Number Publication Date
JP2023115913A true JP2023115913A (en) 2023-08-21

Family

ID=87576425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023016919A Pending JP2023115913A (en) 2022-02-08 2023-02-07 Method and system for visual inspection of sensor chip

Country Status (1)

Country Link
JP (1) JP2023115913A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117314909A (en) * 2023-11-29 2023-12-29 无棣源通电子科技有限公司 Circuit board defect detection method, device, equipment and medium based on artificial intelligence

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117314909A (en) * 2023-11-29 2023-12-29 无棣源通电子科技有限公司 Circuit board defect detection method, device, equipment and medium based on artificial intelligence
CN117314909B (en) * 2023-11-29 2024-02-09 无棣源通电子科技有限公司 Circuit board defect detection method, device, equipment and medium based on artificial intelligence

Similar Documents

Publication Publication Date Title
JP7547751B2 (en) Surface defect identification method and apparatus
US11715190B2 (en) Inspection system, image discrimination system, discrimination system, discriminator generation system, and learning data generation device
CN111797326A (en) False news detection method and system fusing multi-scale visual information
CN106203461B (en) Image processing method and device
CN113095438A (en) Wafer defect classification method and device, system, electronic equipment and storage medium thereof
CN110826429A (en) Scenic spot video-based method and system for automatically monitoring travel emergency
WO2020007119A1 (en) Display screen peripheral circuit detection method and device, electronic device and storage medium
CN111027450A (en) Bank card information identification method and device, computer equipment and storage medium
JP2023115913A (en) Method and system for visual inspection of sensor chip
CN112613380A (en) Machine room patrol inspection method and device, electronic equipment and storage medium
CN116485779B (en) Adaptive wafer defect detection method and device, electronic equipment and storage medium
CN111226226A (en) Motion-based object detection method, object detection device and electronic equipment
CN112784835A (en) Method and device for identifying authenticity of circular seal, electronic equipment and storage medium
CN116168351A (en) Inspection method and device for power equipment
Xiao et al. Research on defect detection method of powder metallurgy gear based on machine vision
CN111931721B (en) Method and device for detecting color and number of annual inspection label and electronic equipment
JP5137805B2 (en) Inspection system, control method therefor, and computer program
CN117745681A (en) Pipeline defect early warning method and device and electronic equipment
CN117011216A (en) Defect detection method and device, electronic equipment and storage medium
CN116152191A (en) Display screen crack defect detection method, device and equipment based on deep learning
US11321843B1 (en) Adaptive machine learning system for image based biological sample constituent analysis
CN115346138A (en) Target detection method, device and equipment of aerial image based on unmanned aerial vehicle
CN114445873A (en) Training of face recognition model, face recognition method and electronic equipment
Fekih et al. An efficient and flexible FPGA implementation of a face detection system
CN117351196B (en) Image segmentation method, device, computer equipment and storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230316