JP4576513B2 - 部分モデルを自動的に画定するための方法 - Google Patents

部分モデルを自動的に画定するための方法 Download PDF

Info

Publication number
JP4576513B2
JP4576513B2 JP2003558755A JP2003558755A JP4576513B2 JP 4576513 B2 JP4576513 B2 JP 4576513B2 JP 2003558755 A JP2003558755 A JP 2003558755A JP 2003558755 A JP2003558755 A JP 2003558755A JP 4576513 B2 JP4576513 B2 JP 4576513B2
Authority
JP
Japan
Prior art keywords
image
partial model
component
pitch
partial
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.)
Expired - Fee Related
Application number
JP2003558755A
Other languages
English (en)
Other versions
JP2005524220A (ja
Inventor
クズニッキ,スティーブン
ゴールドバーグ,ジル
バンドニ,デーパク
ジェンセン,ピーター
ボール,ブルース
Original Assignee
エレクトロ サイエンティフィック インダストリーズ インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エレクトロ サイエンティフィック インダストリーズ インコーポレーテッド filed Critical エレクトロ サイエンティフィック インダストリーズ インコーポレーテッド
Publication of JP2005524220A publication Critical patent/JP2005524220A/ja
Application granted granted Critical
Publication of JP4576513B2 publication Critical patent/JP4576513B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30152Solder

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Description

本発明は、半導体コンポーネントを探し出す方法および装置に関する。本発明は、同様の半導体コンポーネントを探し出すのに後に使用することができる理想的な半導体コンポーネントの部分モデル特性を自動的に画定する方法を提供する。
半導体デバイスの最新の製造には、大量製造環境が関わる。1つのそのような環境は、回路基板に部品を実装することに関わる。回路基板には、「ピックアンドプレース」マシンと一般に呼ばれる自動化されたマシンによって部品が実装される。一般に、ピックアンドプレースマシンは、コンポーネントのトレイから半導体コンポーネントを獲得し、そのコンポーネントを探し出し、回路基板上に配置する。半導体コンポーネントを探し出す機能は、コンピュータビジョンシステムによって実行される。通常、ビジョンシステムは、一回につき単一の特定の半導体コンポーネントを探し出す。
操作に先立ち、操作者は、探し出され、回路基板上に配置されるべき特定の半導体コンポーネントを認識するようにビジョンシステムをプログラミングする、または訓練することをしばしば行わなければならない。これは部分モデルの生成を含む。部分モデルは、半導体デバイスの特性または固有の特徴を表す。例えば、デバイスがリード付きデバイスである場合、部分モデルは、リードの数、リードのサイズ、リードのピッチ、およびその他の関連する特徴に関する情報を含むことが可能である。
多くの異なるタイプのビジョンシステムが利用可能であるが、それぞれに、相当ないくらかの量の操作者入力が関与する。これは、比較的少数のタイプの半導体コンポーネント、例えば、リード付きコンポーネント、ボールグリッドアレイ、および異形デバイスが存在していても、任意の所与のコンポーネントタイプに関して数百の、場合によっては数千の異なるサイズおよび構成のコンポーネントが存在するからである。したがって、ユーザは、ビジョンシステムに単にコンポーネントのタイプを知らせるだけではだめであり、コンポーネントを徹底的に記述しなければならない。ユーザがこの記述を行うのを助ける多くの異なる技術が存在するが、それでもユーザは、しばしば、誤りを犯す。異なる半導体コンポーネントを認識するようにビジョンシステムを訓練する際に、ユーザ入力の量をさらに最小限に抑える必要性が存在する。
本発明は、部分モデルを自動的に画定するための方法、製造品を提供する。
部分モデルのイメージを提供すること、および画定されるべき部分モデルのタイプを選択することを含む部分モデルを自動的に画定するための方法を提供する。部分モデルの選択は、自動的であっても、手動であってもよい。また、方法は、部分モデルを自動的に画定し、部分モデルを記録するためのステップも含む。
部分モデルのイメージは、部分モデルのタイプがボールグリッドアレイであるように選択されるボールグリッドアレイのイメージであることが可能である。そのような状況では、部分モデルを自動的に画定するためのステップは、複数の任意の半径を選択し、その半径上をループして各半径に基づく複数のキューを探し出すことをさらに含むことが可能である。複数のキューは、各半径に関してグループに分類されて複数のボールグループがもたらされる。ボールグループのセットから最良のグループが選択される。
部分モデルのイメージは、リード付きコンポーネントが画定されたピッチを有するいくつかのリードを含み、各リードが画定された位置を有するリード付きコンポーネントのイメージであることが可能である。この場合、部分モデルのタイプは、リード付きコンポーネントであるように選択されることが可能である。そのような状況では、部分モデルを自動的に画定するためのステップは、少なくとも1つのリード列の長方形をイメージから抽出して、リードの数、リードの位置、およびリードのピッチをリード列の長方形から特定することをさらに含むことが可能である。
部分モデルのイメージは、異形コンポーネントのイメージであることが可能であり、部分モデルは、異形コンポーネントであるように選択されることが可能である。そのような状況では、部分モデルを自動的に画定するためのステップは、複数のテンプレートを提供することをさらに含むことが可能である。テンプレートは、距離値および角値で画定されるポイントの集合を含むことが可能である。ブロブが、部分モデルのイメージから抽出されることが可能である。複数のポイントがブロブから抽出されることが可能であり、ただし、複数のポイントは、距離値および角値で画定される。また、部分モデルを自動的に画定するためのステップは、ブロブから抽出された複数のポイントを複数のテンプレートと比較し、いずれのテンプレートがブロブから抽出された複数のポイントに最もよく合致するかを特定することも含むことが可能である。
画定されるべきコンポーネントのイメージが提供される部分モデルを画定するための試行錯誤法が提供されることが可能である。コンポーネントのイメージは、特定の寸法を有する幾何学的特徴を含む。コンポーネントのイメージの中の特定の寸法に合致することが可能な複数の可能な寸法のすべてをループして、複数の可能な寸法のそれぞれに関してスコアが決定される。スコアに応じて部分モデルを画定するように可能な寸法の1つが選択される。
画定されるべきコンポーネントのイメージが提供される部分モデルを画定するための体系的な手法も企図されている。コンポーネントのイメージは、サイズおよびピッチで画定されたパターンでイメージの中に配置された固有の幾何学的特徴を含む。それらの固有の幾何学的特徴がイメージから抽出され、イメージの中の幾何学的特徴のサイズおよびピッチが特定される。部分モデルは、イメージの中の幾何学的特徴のサイズおよびピッチに基づいて画定される。
距離角シグニチャを使用して部分モデルを画定する方法も提供される。この場合、個別のプロファイルを含むイメージが提供される。距離値および角値でそれぞれが画定される複数の試験プロファイルも提供される。ブロブが、半導体コンポーネントのイメージから抽出され、複数のポイントが、複数のポイントが距離値および角値で画定されるブロブから抽出される。ブロブから抽出された複数のポイントが、複数の試験プロファイルと比較されて、いずれの試験プロファイルがブロブから抽出された複数のポイントに最もよく合致するかが特定される。
本発明は、部分モデルを画定するタスクを実行するためのコンピュータプログラムコードを内部に実装して担持するコンピュータ可読媒体を含む製造品も企図している。コンピュータプログラムは、部分モデルのイメージを獲得するための手段、画定されるべき部分モデルのタイプに合致する選択を受け取るための手段、部分モデルを自動的に画定するための手段、および部分モデルを記録するための手段を含む。
前述した試行錯誤法、体系的方法、および角距離シグニチャ法は、コンポーネントのイメージが提供される半導体コンポーネントの部分モデルを自動的に画定するための関連するプロセスステップを実行するようにコンピュータによって実行可能なソフトウェアを含むコンピュータ可読記憶媒体上にエンコードすることができるものと理解する。
本発明は、半導体を探し出す訓練段階を実質的に自動化する。好ましい実施形態では、操作者は、探し出されるべきコンポーネントタイプを単に特定する。このコンポーネントタイプには、例えば、リード付きコンポーネント、リードのないコンポーネント、ボールグリッドアレイコンポーネント、および異形コンポーネントが含まれることが可能である。コンポーネントタイプが分かると、本発明は、訓練されている特定のコンポーネントタイプの詳細に合致する部分モデルを自動的に生成するか、または訓練する。結果の部分モデルを使用して、同じ半導体コンポーネントを配置のために探し出すことができる。
図1Aを参照すると、本発明を示す高レベルの概略図が示されている。本発明の自動教示動作が、50で開始する。モデルタイプが52で選択される。モデルタイプは、自動的に選択されても、手動で選択されてもよいものと理解する。部分モデルの自動教示は、サブルーチン54によって実行される。本説明は、画定されることが可能な3つの異なるタイプの部分モデルを提供する。3つのタイプの部分モデルには、ボールグリッドアレイに関する部分モデル、リード付きコンポーネントに関する部分モデル、および異形の形状に
関する部分モデルが含まれる。さらなる半導体タイプも自動的に画定されることが可能であるものと理解する。部分モデルは、56で画定され、58で処理が終了する。部分モデルが画定されると、部分モデルを使用して半導体コンポーネントを配置のために探し出すことができる。
本発明は、既知のコンポーネントタイプの部分モデルを生成する3つの代替技術を提供する。第1の代替技術は、コンポーネントが既知の幾何学的形状、例えば、円形または長方形を含むものと想定し、その幾何学的形状のいずれのサイズが訓練されているモデルに最もよく合致するかを特定することに関わる。第1の方法は、形状の異なるサイズを試みて最適なサイズを探し出す試行錯誤法として説明することができる。第2の代替技術は、重要な特徴が中に存在する限定されたウインドウを確立し、重要な特徴を探し出すのが容易になるまでそのウインドウのサイズを縮小することに関わる。最後の方法は、モデルを特徴付ける固有のシグニチャを生成する角−距離図の使用に関わる。
本明細書は、異なる半導体コンポーネントタイプの例、ならびに異なる半導体コンポーネントタイプが自動的に訓練される仕方を提示する。本発明は、提示する特定の例に限定されず、提示するそれぞれの特定の技術の私用は、その技術を説明するのに用いられる特定のコンポーネントタイプに限定されないものと理解する。
(I.ボールグリッドアレイに関する第1の好ましい実施形態による部分モデルの自動教示)
図1〜16を参照すると、ボールグリッドアレイを訓練することの状況において、試行錯誤法を利用する第1の好ましい実施形態を示す一連の流れ図が示されている。BGAは、面のうち1つの上の一連のボールまたはバンプを特徴とする。それらのボールは、連続的であることも、不連続であることも可能なアレイに配置される。一般にボールグリッドアレイを訓練する処理により、ボールの数、ボールの直径、およびボールのピッチを含むことが可能な情報を画定する部分モデルがもたらされる。部分モデルは、アレイにおけるギャップも明らかにすることができる。
図1は、ボールグリッドアレイ(BGA)半導体コンポーネントを自動的に教示すること、すなわち、BGAに関する部分モデルを生成することに関連する第1の好ましい実施形態の高レベルの流れ図である。100に示すとおり、操作者が、BGAコンポーネントが訓練されることをシステムに明らかにすることにより、BGA訓練関数を開始する。次に、操作者は、102に示される探索領域を選択する単純なタスクを実行し、104で探索空間パラメータを設定する。探索領域は、ビジョンシステムに対して単に探索の領域を画定する。基本的に、ビジョンシステムは、探索空間内のイメージデータを調べ、探索空間外部のイメージデータは無視する。画定されるとおり、探索空間パラメータは、BGAモデルのボールに関する可能な最大半径と最小半径を示す。好ましい実施形態では、それらの値の既定値が与えられる。
106で、システムは、BGA部分モデルを生成するためにBGA機能サブルーチンを実行する。この例では、BGAは、一群の可能なボール半径のすべてをループし、最高スコアを有する特定の半径を選択することによって訓練される。好ましくは、最良のボールの直径、アレイのピッチおよびサイズを含む自動教示からの結果が、108で報告され、110で表示される。BGA部分モデルが画定されると、ピックアンドプレースが、同様のBGAコンポーネントを探し出し、そのコンポーネントを回路基板上の適切な位置に配置することができる。
図2A及び図2Bを参照すると、BGA半導体コンポーネント自動的に教示する状況における第1の好ましい実施形態が符号106でより詳細に示してある。詳細には、システムは、114および116において可能なボール最小半径を選択、その半径が訓練されるべきコンポーネントのイメージの中のボールに合致するかどうかを判定する。システムは、ピッチを推定し、エッジ拡張パラメータを118でゼロに設定する。エッジ拡張は、エッジを厚くするのに使用される周知の技術である。システムは、122でバイナリベクトル相関サブルーチンを呼び出して、ボールの可能な候補を探し出す。バイナリベクトル相関は、このケースでは、円形である高レベルの特徴と、この例では、訓練されている
BGAコンポーネントのイメージからのエッジである低レベルの特徴の集合の間における対応を特定する。バイナリベクトル相関の適用により、選択された半径に対する可能な最良のマッチに相当するキューの位置の集合がもたらされる。120でキューの位置が記録される。
正規化された相関またはグレースケールベクトル相関などの他の相関技術をバイナリベクトル相関の代わりに使用してもよい。グレースケールベクトル相関は、参照により本明細書に組み込まれている「イメージの中のパターンを自動的に探し出すためのベクトル相関システム」という名称の本明細書と同じ譲受人に譲渡された米国特許第6623530号明細書で説明している。
124で、キュー位置がピクセル座標に変換される。これは、ピクセル位置に対応して、寸法に関してではなくキュー位置をアドレス指定することに関わる。例えば、ビジョンシステムが、1000×1000ピクセルのピクセルアレイを有するCMOSセンサを使用していたとすると、キューは、そのアレイに関してアドレス指定される。次に126で、キューは水平方向の位置に基づいて分類される。水平方向の分類は、ボールのアレイが長方形であるという前提に基づいて行われ、したがって、各ボールは、それぞれ0度、90度、180度、および270度に最も近接した近隣有し、0度と180度の水平方向における最も近接した近隣がXピッチであり、垂直方向における最も近接した近隣がYピッチになっている。
図3は、XピッチがX0に等しく、YピッチがY0に等しいサンプルのボールグリッドアレイを表している。中空のボールから引かれた線は、0度、45度、67.5度、および90度の角に沿ったアレイの周期性を示している。図4を参照すると、この関係は、円形のサイズが各スポットの輝度を表す角−ピッチ空間に変換することができる。図3および4は、アレイの妥当性を確認するのに役立つ。
図5により詳細に示すサブルーチン130によってパラメータ空間イメージが生成される。パラメータ空間イメージのグラフによる例を図4に示している。パラメータ空間は、キュー間の角、ならびにキュー間の距離で画定される。各パラメータ空間イメージは、好ましくは、各角につき1つの180の列と、ピクセル空間における許容される最大ピッチに2を足した数で画定される数の行を有する。パラメータ空間イメージは、XピッチとYピッチを特定するのにも、各アレイ方向とX軸およびY軸の間の角を特定するのにも使用される。システムは、120で前に記録されたキュー位置のすべてを使用する。符号180で示すとおり、サブルーチン130は、120におけるキュー位置のすべてに対して処理を行う。
個別のキューに関して、サブルーチン130は、次のように動作する。サブルーチン130は、182で、各キューの右側の近隣キューを獲得し、184で、それらのキュー間の直線距離を算出する。キュー間の角が、186で算出され、サブルーチン130は、その角が0度以上であり、180度未満であると想定している。188で示すとおり、各ピクセルの値は、各ピクセルのまわり3×3領域内で増分される。この操作は、すべての方向でエッジを厚くすることに関わる。200で、評価されているキューに関する関連する角および距離が記憶され、190で距離―角ベクトルに変換される。202で、評価されているキューの右側に位置するさらなるキュー、すなわち、右側の近隣キューが存在する場合、システムは、182に戻り、別のパラメータ空間イメージを生成する。
サブルーチン130が、120におけるあらゆる所与のキュー位置に関して右側の近隣キューのすべてを通った場合、システムは、次に204で、左側のキューに移る。サブルーチン130は、206で、右側の近隣に関して行ったと同じやり方で当該キューとその左側の近隣キュー間の直線距離を算出する。サブルーチン130は、208で、キュー間の角も算出する。210で、各ピクセルの値が、当該キューのまわり3×3の領域内で増分される。214で、そのキューに関する角および距離が算出され、212で、距離―角ベクトルに変換される。216で、さらなる左側の近隣キューが存在する場合、システムは、204にループして戻り、左側の近隣キューに関してパラメータ空間イメージを構築することを続ける。
もはや左側の近隣キューが存在しない場合、システムは、218で、リストの中にさらなるキューが存在するかどうかを検査する。このようにして、システムは、2次元アレイの複数の行をすべて進むことができる。さらなるキューが存在する場合、システムは、180にループして戻り、そのキューに関するパラメータ空間イメージを、前述したとおり、そのキューの右側の近隣キューと左側の近隣キューを使用して生成する。サブルーチン130は、220で終了する。
図2AおよびBを再び参照すると、128で、パラメータ空間イメージが記録される。パラメータ空間イメージを使用して、システムは、サブルーチン132を利用して初期ピッチおよび初期角を計算する。初期ピッチ−初期角のサブルーチンは、X方向とY方向の両方で角およびピッチを算出するのに使用される目的関数を参照する。最初、目的関数は、高いピクセル値を有するパラメータ空間内の位置、つまり、0度、90度、および180度に近い角、ならびに短い距離に報酬を与える(ピッチの単位値で生じるピークをピッチのより大きい整数値と区別するため)。基本的に、これは、ばらつきのないアレイに該当する位置に報酬を与える。
図6を参照すると。ピッチ−角のサブルーチン132の初期計算を説明する流れ図が示されている。128からのパラメータ空間イメージを使用して、システムは、242で、0度、90度、および180度の角で、小さいピッチ値におけるパラメータ空間イメージの中のピークを見出す。244で、システムは、小さいピッチ値を優先して、ステップ242で見出された角に対して90度の角においてパラメータ空間イメージの中でピークを見出す。システムは、248で、XピッチとYピッチ、X角とY角を報告する。前述した目的関数の数式は、図6Aでグラフによって示しており、以下のように書くことができる。すなわち、
f(θ,ピッチ)=ピクセル値(θ,ピッチ)−min(θ%90,90−(θ%90))−2ピッチ
図2Aおよび図2Bを再び参照すると、本発明の自動教示技術は、好ましくは、サブルーチン140を使用してピッチ推定および角推定を精密にする。ピッチ推定および角推定の精度を高める仕方を図7により詳細に示している。システムは、各距離−角ベクトルに関してピッチ推定および角推定の精度を高める。前述したとおり、各キューに関して1つだけの距離−角ベクトルが存在する。224で示すとおり、サブルーチン140は、134で記録された各距離−角ベクトルに関してピッチ推定および角推定の精度を高める。226で、サブルーチン140は、距離とおおよそのXピッチの差が、キュー位置許容差より小さいかどうかのクエリを行う。その差がキュー位置許容差より小さい場合、システムは228で、その距離をピッチ平均の中に含める。次に、230で、サブルーチン140は、角とおおよそのX角の差が角許容差より小さいかどうかのクエリを行う。角とおおよそのX角の差が角許容差より小さい場合、角は、角平均の一部に含められる。図示するとおり、システムは、距離および角のすべてをループし、距離とおおよそのXピッチの差、ならびに角とおおよそのX角の差がそれぞれの許容差より小さくなるまで、ピッチ平均および角平均を使用して距離および角の精度を高める。
234で示すとおり、次に、サブルーチン140は、Y方向で同じく距離および角の精度を向上させる。詳細には、234で、サブルーチン140は、距離とおおよそのYピッチの差をキュー位置許容差と比較する。その差がキュー位置許容差より小さい場合、距離は、236でピッチ平均に含められる。同様に、サブルーチン140は、238で、角とおおよそのY角の差が角許容差より小さいかどうかを調べ、240で、角を角平均の一部に含める。242で、ベクトルからの項のすべてが尽きた場合、サブルーチン140は、244および136で、より精度の高い角平均およびピッチ平均を計算して、記憶する。このようにして、システムは、角キューに関してX方向とY方向の両方でピッチおよび角の精度を高める。
図2AおよびBを再び参照すると、140で、ピッチ推定および角推定の精度が高められ、136で記録された後、システムは、142で、1つが水平方向であり、1つが垂直方向であるようにピッチ/角を方向付ける。ピッチ/角が垂直方向に方向付けられると、146で、システムは、ボールグループを成長させる。ボールグループを成長させることは、基本的には、任意の特定の半径に対する最良のピッチおよび角に関する想定されるキュー位置を追加する。最初に、見出されたピッチおよび角に適合するグリッドを形成する隣接するキュー位置をグループ化する一連のボールグループが形成される。次に、最大のボールグループから始めて、同じグリッド上にある(ただし、最も近接する近隣ではない可能性がある)他のグループが一緒にマージされる。この人工的に作られたボールグループを実際の位置と比較して、合致を確認することができる。
ボールグループ成長サブルーチン146の動作を図8および図9から始めてより詳細に示している。250および252で示すとおり、システムは、キュー位置を取り込み、各キューに、例えば、1、2、3、4などの番号が付けられる場合、キュー番号イメージを生成して、各キュー位置が番号を有するようにする。次に、システムは、符号254から始めて、各キュー位置(またはキュー番号)をループする。256で、キューが既にグループに含まれる場合、システムは、254にループして戻り、新たなキューが選択される。グループに割り当てられていないキューが見つかった場合、258で、新しいグループが生成される。前述し、136で記録されたキューのXピッチ、Yピッチ、X角、およびY角が、258で、新しいグループのXピッチ、Yピッチ、X角、およびY角に照らして評価される。ピッチおよび角が同等である場合、262で、その新しいグループが、発見済みグループとして記録される。
次にサブルーチン264で、それぞれの新しいボールグループが拡張される。各ボール
グループの拡張を図9により包括的に示している。262におけるそれぞれの発見済みボールグループに関して、272で、サブルーチン264は、グループの中の各ボールをループする。サブルーチン264は、隣接する方向、すなわち、0度、90度、180度、および270度で各キューをループする。この動作中、サブルーチン264は、276で示されるとおり、予期される位置から4ピクセルの範囲内に対応するキューが存在するかどうかについてクエリを行う。システムは、キューを発見した場合、278で、そのキューが既にグループに割り当てられているかどうかについてクエリを行う。キューがグループの一部でない場合、キューは280でグループに追加される。キューがグループの一部である場合、またはキューがグループに追加済みである場合、282で、システムは、さらなる隣接キューが存在するかどうかについてクエリを行う。隣接キューが存在する場合、システムは、274にループして戻り、その隣接キューをグループに追加しようと試みる。
もはやキューが存在しない場合、284で、サブルーチン264は、グループの中にさらなるボールが存在するかどうかについてクエリを行う。グループの中にさらなるボールが存在する場合、サブルーチン264は、272にループして戻り、グループを拡張しようと再び試みる。グループの中にもはやボールが存在しない場合、286で、サブルーチン264は、東西方向で、すなわち、90度および270で20を超えるボールが追加済みであるかどうかについてクエリを行う。20を超えるボールが追加済みである場合、288で、システムは、Xピッチを再計算し、再計算されたXピッチが、136で記憶される。290で、サブルーチン264は、北南方向(Y方向)で20を超えるボールが追加済みであるかどうかについてもクエリを行い、追加済みである場合、292でYピッチが再計算される。これにより、評価されているボール直径に関してXピッチ、Yピッチ、X角、およびY角が更新される。拡張グループサブルーチン264は、296で終了する。
図8に戻ると、グループが拡張された後、266で、サブルーチン146は、さらなるキューを探す。さらなるキューが存在する場合、サブルーチン146は、ループして254に戻り、残りのキューに対して、1回に1つづつ拡張を行う。266で、さらなるキューが存在しない場合、268で、ボールグループ成長サブルーチンは停止される。
図2AおよびBに戻ると、サブルーチン146によって成長させられたボールグループが、144で、発見済みボールグループとして記憶される。ボールグループは、サブルーチンステップ150において重心法に基づいてマージされる。
サブルーチン150のボールグループマージ関数の詳細を図10に示す。300で、144において記憶された発見済みボールグループから最大グループが選択される。302で、サブルーチン150は、残りのグループのすべてを評価してグループをマージすることができるかどうかを判定するループに入る。304で、サブルーチン150は、各グループが最大グループに合致するかどうかについてクエリを行う。第1の好ましい実施形態では、グループが内部に単一のボールを有する場合、または次の4つの条件、すなわち、1)2つのグループのXピッチ間の差が、最大グループのXピッチの5%より小さい、2)2つのグループのYピッチ間の差が、最大グループのYピッチの5%より小さい、3)2つのグループ間でX角間の差が、2度より小さい、あるいは4)2つのグループ間でY角間の差が、2度より小さいの1つが満たされる場合、適合する可能性があるボールグループが画定される。
2つの適合するボールグループが存在する場合、306で、サブルーチン150は、小さい方のグループの重心に最も近い最大グループの中のポイントを計算する。また、サブルーチン150は、308で、最大グループの中の重心に最も近い小さい方のグループの中のポイントも計算する。306および308で計算されたポイント間の距離が、キュー位置許容差より小さい場合、312で、2つのグループはマージされる。マージされたグループは、314で、新しい最大ボールグループであるように画定される。さらに、316で、サブルーチン150が、新しいグループのピッチおよび角を更新し、符号320で示すとおり、新しい最大グループに等しくないすべてのグループを探す。322で行われるクエリにより、さらなるグループが存在する場合、サブルーチン150は、302に戻り、304で適合性を探す。310で、ポイント間の距離がキュー位置許容差より小さい場合、322で、サブルーチン150は、さらなるグループが存在するかどうかについてクエリを行い、存在する場合、304で、適合性を探す。
図2Aおよび図2Bを再び参照すると、ボールグループは、150で重心法を使用してマージされた後、サブルーチン156で示されるとおり、グループ公称位置に基づいて再びマージされる。サブルーチン156を図11により詳細に示している。図11を参照すると、サブルーチン156は、サブルーチン150と非常に似通った形で動作し、サブルーチン156は、グループの重心ではなく、グループの公称位置に基づいて2つのグループをマージしようと試みることだけが異なっている。サブルーチン156は、314におけるサブルーチン150からの最大の発見済みボールグループを入力することで始まる。324で示すとおり、サブルーチン156は、最大の発見済みボールグループに等しくないグループのすべてに適用される。326で、サブルーチン150の場合と同じやり方で適合性が測定される。328および330で、最大ボールグループと最小ボールグループの両方に関して、それぞれ、公称位置が計算される。332で、最大ボールグループの公称位置と最小ボールグループの公称位置の間の距離がキュー位置許容差より小さい場合、334で、小さい方のボールグループが、最大ボールグループにマージされる。次に336で、最大ボールグループが更新される。サブルーチン150の場合と同様に、338で、新しいグループのピッチおよび角が更新され、136で、新しいピッチおよび角が記憶される。次に、サブルーチン156は、342で、最大ボールグループに等しくないボールグループを探すループを再スタートする。さらなるボールグループが存在する場合、サブルーチン156は、先に説明したとおり、適合性を探し、最大ボールグループを拡張しようと努める。サブルーチン150と同様に、ステップ332で、小さい方のボールグループが最大ボールグループに適合しない場合、サブルーチン156は、最大ボールグループに追加済みでないさらなるボールグループを探すことになる。このようにして、サブルーチン150と156はとみに、ボールグループをマージして単一のボールグループを生成するように努める。サブルーチン156は、346で終了する。
図2AおよびBを再び参照すると、160および158で、最大の発見済みボールグループが記憶され、116で想定された特定の半径に対する最良のボールグループであるように画定される。次にサブルーチン166で、考慮されている半径に関するスコアが計算される。一般に、スコアは、136で前に算出され、記録された最良のX角およびY角、ならびに最良のXピッチおよびYピッチに近いパラメータ空間イメージを調べることによって計算される。このスコアにより、122からの相関結果が評価され、高い輝度、鋭いピークに報酬が与えられ、ピークのまわりの領域内の背景雑音にペナルティーが科される。スコアの値は、3つの成分の合計から成る。第1の成分は、最良のYおよびYの角とピッチにおけるピクセル値である。第2の成分は、最良ポイントのまわりの小さい区域におけるピークである。この成分は、最良ポイントのそれぞれのまわりの5×5領域内のすべてのピクセル値の合計である。最後の成分は、最良ポイントのまわりの区域における背景雑音である。
スコアサブルーチン166を図12に示している。図示するとおり、スコアは、パラメータ空間イメージ128、ならびに136で記憶されたピッチおよび角を利用する。サブルーチン166の最初のステップは、350で示すとおり、所望のXピッチ、Yピッチ、ならびにX角、Y角におけるパラメータ空間イメージからピクセル値を獲得することである。スコアは、354で、Xピッチ、X角における値にYピッチとY角における値を足した2倍に設定される。356で、スコア計算サブルーチン166は、活動化領域および阻止領域を計算する。活動化領域は、ボールが見出されるべき区域に関し、阻止領域は、ボールが見出されるべきでない場所に関する。好ましい実施形態では、2つの活動化領域が存在する。第1の活動化領域は、XピッチとX角のまわりの5×5領域であり、第2の活動化領域は、YピッチとY角のまわりの5×5領域である。358で、各活動化領域におけるイメージ値の合計が計算され、スコアに加算される。
360で、阻止領域が計算される。2つの阻止領域が存在する。第1の領域は、Xピッチの25%とX角のまわりの20度のサイズの領域である。第2の領域は、Yピッチの25%とY角のまわりの20度のサイズの領域である。これらは、活動化領域と阻止領域の両方に関する好ましい値に過ぎず、値は変更することができるものと理解される。362でで、各阻止領域に関する最大値が計算される。364で、スコアから、阻止領域からの各最大値から25が減算される。25という値は、活動領域内のポイントの数に過ぎない。この調整は、他の数を減算することによって行われることも可能であるものと理解される。366で、168における各半径に関する最良のボールグループに関してグループスコアが記憶される。サブルーチン166は、370で終了する。
図2Aおよび図2Bを再び参照すると、166で、スコアが計算された後、システムは、170で試みられるべきさらなる半径が存在するかどうかを判定する。さらなる半径が用意されている場合、システムは、116に戻り、次の半径に関して前述したプロセスを再び開始する。最終的に、システムは、それぞれの異なる半径に1つの最大の最良ボール
グループが関連する一連の最大の最良ボールグループを有する。最大のボールグループの各々は関連するスコアを有することになる。サブルーチン172において判定された最高スコアを有するボールグループが、最良ボールグループである。したがって、この最良ボールグループが、174で評価されているイメージに関する部分モデルとして画定されるこのプロセスは、176で終了する。
図13を参照すると、サブルーチン172が最良ボールグループを選択する仕方が示されており、これは、最終的に、部分モデルに相当する。サブルーチン172は、168からの各半径に関する最良ボールグループにアクセスする。符号372により、サブルーチン172が、各半径に対する最大ボールグループ、つまり最良ボールグループのすべてに適用されることが示されている。376で、合成グループスコアが計算される。合成グループスコアは、当該のグループのスコアに2つの近隣グループからのスコアを足した合計に等しい。近隣グループは、グループの半径の近さに基づいて選択される。合成スコアの目的は、偽陽性をなくすことによって最良部分モデルをより正確に選択することである。偽陽性は、良好なスコアを有するが、元のイメージに合致しない半径である。それらの偽陽性は、通常、劣ったスコアと隣接している。真の陽性は、一般に、良好なスコアと隣接している。合成に隣接スコアを含めることにより、偽陽性を排除することができる。
378、380、および382で、サブルーチン172は、最大グループスコアを合成グループスコアに等しくなるように設定し、次に、後のグループスコアをそのスコアに対して比較する。このプロセスにより、最高合成スコアの選択がもたらされる。384で、サブルーチン172は、グループ合成スコアをループして、最高スコア、ならびに最高スコアに関連するグループを部分モデルとして選択する。次に、サブルーチン172は、選択されたグループに対して品質検査サブルーチン386を実行する。
品質検査サブルーチン386では、公称許容差の範囲から外れるいずれのボールも、そのボールが最終モデルから取り除かれることになる。図14を参照すると、品質検査の詳細が示されている。最初に、サブルーチン386は、396で、検査許容差をセットアップする。サブルーチン386は、次のとおり検査許容差をセットアップする。すなわち、x,y位置許容差が、キュー位置許容差と同じになるように設定され、直径許容差が、好ましくは、半径に関連した直径の33%に設定され、丸み許容差が、0.33に恣意的に設定される。サブルーチン386は、398で示すとおり、ボールグループの中の各ボールを考慮して、ボールが画定された品質標準を満たすかどうかを判定する。410で示すとおり、各ボールが検査される。412および414で、ボールが検査に合格しなかった場合、そのボールは、ボールグループから除去される。次に418で、サブルーチン386は、ボールグループに関する訂正された公称位置を計算し、418で、ボール検査結果が記録される。
以下に詳細に述べるように、サブルーチン386は、サブルーチン420で、ボール信頼度も計算し、このボール信頼度が422で記録される。424で、検査を受けているボールのボール半径が記録され、サブルーチン386は、402で、グループの中にさらなるボールが存在するかどうかを検査する。グループの中にさらなるボールが存在する場合、サブルーチン386は、398に戻り、プロセスが継続される。402で、すべてのボールの検査が済んだ場合、サブルーチン386は、404で示されるとおり、グループの中に最初にあったボールの総数を使用してグループ半径を正規化する。サブルーチン386は、残りのグループの中のボールの総数を使用してグループ半径を正規化することも行う。174で、ボールグループは記録される。サブルーチン386は、426で終了する
。前述したように、モデルの中の各ボールに関する信頼度は、計算されるとともに、422で記録される。ボール信頼度は、サブルーチン420によって反映され、ボールが、予期される半径を有する予期される場所にどれだけ近いか、ならびにボールがどれだけ丸いかに関連する。
サブルーチン420を図15に示している。図15は、418からのボール検査結果を利用して、位置信頼度430A、Y位置信頼度430B、直径信頼度430C、および丸み信頼度430Dを計算する。432で、これらの信頼度値が平均されて、434でボール信頼度が与えられる。サブルーチン420は、436で終了する。多種多様な技術を使用して430A〜Dで示す信頼度を計算することができることが、当分野の技術者には理解されよう。
図16は、全体的な信頼度を計算するサブルーチン438を示している。全体的な部分モデル信頼度は、すべてのボール信頼度の合計を、品質検査に先立って部分モデルの中に最初に存在しボールの数で割ったものに過ぎない。これにより、基本的に、どれだけの数のボールが真円でないかのパーセンテージが与えられる。代替の実施形態では、最良ボールグループを使用して、既知の部分モデルのライブラリから部分モデルを選択することができる。より具体的には、サブルーチン438は、チームに関する検査ボール結果を使用して、そのタスクを実現することができる。440で、最大許容値が計算される。最大許容値は、予期される値に許容差を足した値になるように設定される。442で、デルタ値、つまり差分値が計算される。デルタ値は、測定値と期待値の差の絶対値になるように設定される。444で、信頼度が計算される。信頼度は、最大値とデルタ値の差の絶対値を最大値で割った値である。信頼度値は、446で、1を超えた場合、それは誤ったデータポイントであるため、448でゼロに設定される。サブルーチン438は、450で終了する。
(II.リード付き部分モデルの文脈における第2の好ましい実施形態による自動教示)
第2の好ましい実施形態では、本発明は、試行錯誤ではなく、体系的な手法を利用して、負担がかけられている半導体デバイスの際立った特徴を探し出し、記述する。第2の好ましい実施形態は、リード付き半導体コンポーネントに関する部分モデルを生成する文脈において説明する。リード付き半導体コンポーネントは、周辺部から延びるリードと呼ばれる複数の電線を含む。
第1の好ましい実施形態と同様に、第2の好ましい実施形態は、部分モデルを生成するのに使用される。部分モデルは、後に、例えば、ピックアンドプレースマシンにおいて、部分モデルが表す半導体デバイスを探し出すのに使用される。第2の好ましい実施形態では、例えば、ユーザは、リード付きコンポーネントのモデルが生成されるべきことをシステムに対して明らかにする。第2の好ましい実施形態では、システムは、システムがモデルを生成しているリード付き部分の構成に関する仮説を立てる。説明を簡単にするため、その仮説には、次のものが含まれることが可能である。リード付きコンポーネントに関して、部分は、実質的に長方形の構成に配置された複数のリードグループを含むものと仮定することができる。このため、リードグループは、4つの向き、東、西、北、および南(それぞれ90度、180度、0度、および270度)を含むことが可能である。また、各リードグループは、全く同じピッチ、フット長(2次元でリードがどれだけの長さであるか)、およびリード幅を有する1組の均等間隔のリードを有すると仮定することもできる。さらに、リード付きコンポーネントに関して、同じ向きを有する複数のリードグループが存在する場合、それらのリードグループは、全く同じピッチ、フット長、およびリード幅を有するものと仮定することもできる。
本発明の第2の好ましい実施形態は、異なるタイプの半導体デバイスが評価されている場合、異なる仮定を有することが可能であるものと理解される。例えば、BGAコンポーネントに関する部分モデルが生成されている場合、デバイスの外側の境界内に一群のボールが存在し、そのボールにより直交アレイが画定されるものと仮定することができる。
図17を参照すると、モデルが生成されているリード付きコンポーネントの典型的なイメージが示されている。図18は、リード付きコンポーネントに関するモデルを生成するアルゴリズムの流れ図を示している。図示するとおり、プロセスは、500で始まり、ユーザが、部分モデルが生成されるリード付きコンポーネントの例、つまり、504で示すとおり、そのようなコンポーネントのイメージを提供する。502で、ユーザは探索ウインドウを選択し、システムは、このウインドウの中で部分モデルが生成されるべきイメージを見出すことが予期される。システムは、508で、イメージを平滑化することから始める。イメージを平滑化することは、イメージの中の雑音を抑えるいくつかの周知のフィルタのいずれかを使用することに関わる。この平滑化操作の結果が、508で示すオリジナルサブイメージと呼ばれる。
510で、おおよその部分回転角が見出される。おおよその部分回転角により、部分が垂直の向きからそれている角が与えられる。部分の回転角を特定する1つの好ましいやり方は、X軸とY軸の両方に沿って勾配を変化させることによる。イメージのおおよその回転角が分かると、システムは、512で、その角だけイメージを回転させて、いくぶん垂直なイメージを生成することができる。ここで説明するとおり、第2の好ましい実施形態の好ましいやり方は、部分回転角を再計算して、正確にし、それに基づいて関連する情報を明らかにすることに関わる。
次に、第2の好ましい実施形態は、サブルーチン514を適用して、リード列の長方形を抽出する。リード列の長方形は、個々のリード列を囲む長方形の領域を表す。サブルーチン514を図19でさらに示している。サブルーチンは、コーナフィルタ564を垂直なイメージ512に適用する。好ましいコーナフィルタは、イメージの中に存在することが可能な他の明るいオブジェクトからリードを孤立させるメジアンフィルタである。他のコーナフィルタを使用することも可能であるものと理解される。この操作により、566で示すコーナ輝度イメージがもたらされる。568で、ペアの同心の長方形がコーナ輝度イメージに合わされる。長方形は、全体のイメージ輝度のおよそ99%が長方形の中に含まれるように合わされる。長方形は、好ましくは、リードグループを探し出すための新しい探索ウインドウとして使用される。570で、部分中心が長方形の中心となるように記録される。572で、探索領域は、4つのリード列に対応する4つの長方形の下位領域に分割される。図20を参照すると、これが、符号573でよく示されている。576で、部分中心が、適切なフット長、ならびに部分中心からの列のオフセットとともに記録される。この時点で、適切なフット長は、各長方形の幅であり、列のオフセットは、列の中央線から部分中心までの距離である。
図18を再び参照すると、システムは、516で、記録されたリード列の長方形574内のイメージの平均回転角を計算して、より正確な部分回転角を提供し、これが、518で記録される。好ましくは、射影勾配法を使用して、このより精度の高い角を計算し、508におけるオリジナルサブイメージが、520で、より精度の高い部分回転角操作からの518で記録された角を使用して再び回転される。これにより、新しい垂直のサブイメージがもたらされ、これが、522で記録される。522で記録された新しい垂直のサブイメージは、垂直の向きにおけるオリジナルサブイメージのより正確な表現である。好ましい実施形態の前述した態様は、絶対に必要ではないが、部分モデルの精度を高める反復法を提供する。システムは、前述したとおり、サブルーチン514を再び実行し、より正確な部分中心、おおよそのフット長、ならびに部分中心からの列のオフセットを計算する。これらの新しい値が、576で、前に計算された値の代わりに記録される。
サブルーチン528は、垂直のサブイメージ522からのリードのおおよその抽出を実行する。サブルーチン528を図21により詳細に示している。前に計算され、記録された(576および518で)列のオフセット、フット長、および部分回転角を使用して、サブルーチン528は、それぞれの列の軸に沿って、580で示す太いルーラを適用する。580におけるこのルーラは、その幅のために「太い」と呼ばれる。太いルーラは、図20に符号580′で図示している。太いルーラの操作の結果が、582で示すリード側方エッジ候補である。ユーザによって設定されたリード幅許容差およびリードピッチ許容差を使用して、サブルーチン528は、586で示すとおり、適合する上方エッジおよび下方エッジを選び、各リードの側部を明らかにする。上方エッジおよび下方エッジは、リードコンポーネントに関して立てられた仮説を満足させる場合、適合していると考えられる。それらの対応する上方エッジおよび下方エッジは、図20に587で示されて、よく見ることができる。それらの対応する上方エッジおよび下方エッジの特定および選択により、サブルーチン528が、588に示すとおり、リード中心およびリード幅を計算することができるようになる。リード中心が分かると、サブルーチン528は、各リードの中央線に沿って、すなわち、太いルーラ580に対して直角にルーラ592を使用して、596で示すとおり、各リードに関する先端の位置と肩の位置を抽出する。このプロセスが、サブイメージ594として示した各リードグループに関して行われる。
前述したプロセスにより、エッジがリードに対応する可能性が高い一群のエッジがもたらされる。ただし、好ましい実施形態は、リードに対応しないエッジを拒否する追加のプロセスを提供する。600で、エッジデータの支配的なパラメータが、個々のリードパラメータにヒストグラムを適用することによって抽出される。つまり、例えば、ヒストグラム分析により、支配的なリード幅およびフット長がもたらされる。600で、具体的には示していないが、上方エッジおよび下方エッジが支配的なパラメータを使用することに合致するかどうかを判定することに基づき、エッジをリードに分類しなおすことができる。600で計算されたリードの新しいセットから、リードの先端の位置、ならびにリードの肩の位置が計算され、妥当であるものと見なされる。これにより、602で妥当なリード
の先端と肩が記録される。この情報を使用して、604で、各リードの先端の中点を、612で記録されるグループの位置とともに導出することができ、614で、中心からのより精度の高い列のオフセットが計算され、記録される。グループ位置により、リード列の中にギャップが存在する状況で、複数のリードグループに関する情報が提供される。
608で、リード列の中の各リードに関するリードの先端および肩に直線が当てられて、より精度の高い部分回転角610が算出される。このデータ集合のすべてに直線を当てることにより、部分がどこにあるかのより正確な指示が提供され、したがって、より良好な部分回転角がもたらされる。前述したとおり、垂直のイメージにサブルーチン528を適用することにより、おおよその部分モデルがもたらされる。部分モデルは、回転されたイメージからリード情報が導出されるため、おおよそであると考えられる。
図18を再び参照すると、好ましい実施形態が、リードの探索を向上させるさらなる処理を実行する。必要ではないが、この追加の処理により、部分モデルの精度が向上する。サブルーチン528によって計算され、532における部分中心、おおよそのフット長、ならびに部分中心からの列のオフセットを使用して、探索ウインドウが回転させられ、528aで示すとおり、508におけるオリジナルサブイメージにサブルーチン528が適用される。これにより、536で示すとおり、部分中心、フット長、ならびに部分中心からの列のオフセットの改良された計算が提供される。このより精度の高い列のオフセットおよびフット長を使用して、別のセットのコーナポイントを確立することができ、そのセットを使用して元の回転されていないイメージに関するリード列を再確立することができる。そのより精度の高い情報を使用して抽出リードサブルーチン528を再び適用して、リード付きコンポーネントに関する情報を提供することができる。好ましい実施形態では、イメージの中のリードの位置特定の精度をたかめるさらなる処理は、イメージに対して行われない。
この情報により、550におけるモデル画定に含まれる、544におけるより精度の高い部分回転角、546におけるリード数、リード幅、ピッチ、フット長、および位置が与えられる。ただし、すなわち、サブルーチン528は、任意の回数、実行することができ、列のオフセット、フット長、および部分回転角は、繰り返し計算され、例えば、icad、数、フット長、幅ピッチグループ位置、およびより精度の高いオフセットをより正確に算出するのに使用することができるものとする。
リード付きコンポーネントの自動的教示は、通常、Jリードまたはガルウイングリードであるリードのタイプの分類も含む。リードを分類するため、システムはまず、部分のエッジを探し出す。サブルーチン542を使用して部分のエッジが見出され、リードが分類される。
図22を参照すると、サブルーチン542がより詳細に示されている。リード付きコンポーネントに関する特定の情報、すなわち、546からのリード数、リード幅、ピッチ、および位置を使用して、オリジナルサブイメージ508の中のリードが、620で、黒く塗りつぶされる。放射状の太いルーラが、622で、各リード列の中央線に沿って引かれる。サブルーチン542は、624で、リードグループの外半分の中に部分エッジが存在
するかどうかについてクエリを行う。答えが「はい」である場合、リードは。626で、Jリードとして分類され、答えが「いいえ」である場合、リードは、628で、ガルウイングリードとして分類される。リードタイプが、548で報告され、リードモデルが、550で報告される。
リード付き部分モデル550は、記憶されたモデル552に応じることが可能である。これらのモデルは、任意の所与の半導体に関するより反復可能なモデルであることが可能である。550でリード付き部分モデルが画定され、記録された後、システムは、既知の部分モデルのデータベースを探索して、いずれの既知の部分モデルが教示される部分モデルに最もよく合致するかを特定することができる。
モデルに関して信頼度を計算することもできる。信頼度は、好ましくは、556で示すとおり、モデルと探索領域内の垂直なイメージの間で正規化された相関を実行することによって計算される。計算係数は、558で、モデルの信頼度を正確に表わすことが計算されている。
前述したとおり、第2の好ましい実施形態を使用する部分モデルの生成は、訓練されている半導体のタイプに関する仮説を立て、次に、適切なイメージデータを絞り込んで半導体を正確に記述する。前述したとおり、第2の好ましい実施形態は、反復して部分の回転角の精度を高めて、直交リードの位置特定をより明確にし、より高速にする。
(III.異形の形状の部分モデルを生成する文脈における第3の好ましい実施形態による自動教示)
本発明は、自動的に訓練を行うための第3の好ましい実施形態も提供する。第3の好ましい実施形態は、当該の形状に関連する固有のシグニチャを生成することに関わる。前述した自動的教示技術と同様に、異形の形状の文脈において、ユーザが、単に訓練されるべき形状は異形であることを指定し、システムが、その形状に合致する最良部分モデルを選択する。システムは、事前画定された形状のライブラリを含み、このライブラリから部分モデルを生成することができる。第3の好ましい実施形態では、その事前画定された形状には、楕円形、円形、長方形、正方形、三角形、菱形、ダブルの正方形、十字形、ダブルの十字形、四半円形、ダブルの四半円形、およびカスタム画定の形状が含まれる。
動作の際、システムには、部分モデルが生成されるべきオブジェクトのイメージが提供される。一般に、第3の好ましい実施形態の自動的教示技術は、2つの主な段階に分割される。第1の段階は、イメージから特徴が抽出される特徴抽出段階である。第2の段階は、システムが特徴を既知のテンプレート、事前画定された形状にマッチさせるテンプレートマッチング段階である。マッチが行われると、モデルを画定することができる。
形の基準形状を訓練する状況における自動的教示技術を次に説明するーザは、異形の形状が訓練されることを明らかにしており、システムは、イメージが入力済みであることを検証する。当該の領域、つまり」ROIも指定される。ROIは、異形の形状が見出されることが予期されるイメージフレーム内の場所を記述する。システムは、それから事前計画された形状のテンプレートがシステムにロード済みであることを検証する。
事前画定された形状のテンプレートは、固有のシグニチャの集合を特徴とする。その固有のシグニチャは、形状の中心からの径方向の距離を測ることによって導出される。図23Aを参照すると、それぞれ円形および正方形に関するシグニチャが示されている。図から自明であるように、各形状は、異なるシグニチャを含む。
サブルーチン605で、前に入力されたイメージから形状が抽出される。図24を参照すると、サブルーチン605がより詳細に示されている。620で、サブルーチン605は、イメージが平滑化されるべきかどうかを判定する。好ましい実施形態では、提供されるイメージは、どの場合にも平滑化される。ただし、ユーザは、この関数を非アクティブにするのを選択することができる。622で示すとおり、平滑化する決定が行われた場合、ROI内のイメージにガウスフィルタが適用される。他の平滑化関数を適用することも可能であるものと理解される。平滑化関数が非アクティブにされている場合、ROIイメージは、624で単にコピーされる。
次に、サブルーチン605は、自動閾値操作が適切であるかどうかを考慮する。この場合も、好ましい実施形態では、サブルーチン605は、イメージを自動閾値処理する。ただし、ユーザが、特定の閾値によってよりよい結果が与えられることを確認する可能性があり、その場合、ユーザは、自動閾値を非アクティブにし、かつ/または値を置き換える。628に示すとおり、自動閾値を実行するため、適切な閾値を求めて分析されるヒストグラムが作成される。ヒストグラムにより、イメージの支配的なパラメータが与えられ、このパラメータから閾値操作を実行することができる。自動閾値は、好ましくは、分散法を使用して行われるが、他の方法も利用することが当分野の技術者には認識されよう。閾値は、628で選択されると、630で適用される。626で自動閾値が指定されていない場合、ユーザが選択した閾値が、630で適用される。
632で、システムは、バイナリ形態が適切であるかどうかについてクエリを行う。第3の好ましい実施形態では、サブルーチン605は、バイナリ形態を既定で適用することを、その関数がユーザによって非アクティブにされていない限り行う。バイナリ形態が適切である場合、サブルーチン605は、サイズが既定値として設定されているか、またはユーザによって与えられているバイナリ閉フィルタ634で適用する。好ましくは、このサイズは、使用に先立って入力される。バイナリフィルタの結果は、イメージを明瞭にするように作用する。
前述した前処理の後、サブルーチン605は、結合コンポーネント分析を介して、636でCCAブロブを抽出する。当技術分野で周知のとおり、CCAは、Connected Component Analysis(結合コンポーネント分析)を表す。結合コンポーネント分析は、事前画定されたサイズのブロブを抽出し、かつ/またはその他の特徴を抽出する能力を提供する周知のエンコード変換であり、したがって、抽出操作をフィルタリング操作と結合する。結合コンポーネント分析は、事前画定された基準を満たさないブロブをフィルタ処理することに関わる。このケースでは、基準は、638で示す最小サイズに基づく。サイズ以外の基準を使用してブロブを濾過して除いてもよいことが、当分野の技術者には認められよう。
640で、サブルーチン605は、すべての形状が見つかっているかどうかについてクエリを行う。さらなる形状が見つかっていない場合、最大のブロブが、644で示すCCAオブジェクトであり、サブルーチン605は、642で、さらなるCCAオブジェクトが分析を要するかどうかについてクエリを行う。さらなるCCAオブジェクトが用意されている場合、サブルーチン605は、642で、さらなるCCAオブジェクトが分析を要するかどうかについて即時にクエリを行う。CCAオブジェクトが分析済みではない場合、サブルーチン646が適用される。
サブルーチン646は、放射ポイントを抽出し、CCAオブジェクトに対応する固有のシグニチャを生成する。このシグニチャは、図23Aに示したものと同じタイプである。CCAオブジェクトのシグニチャは、正規化して、事前画定された形状のライブラリに対応するシグニチャと比較し、これにより、部分モデルのための形状を確立することができる。図25を参照すると、サブルーチン646がより詳細に示されている。
図25で示すとおり、サブルーチン646に対する入力は、CCAオブジェクトである。図25で使用するブロブという用語は、CCAオブジェクトという用語と同じである。サブルーチン646は、658で、ブロブ重心がブロブの一部であるかどうかについてクエリを行う。一部ではない場合、サブルーチン646は、660で、何らかの極性の手が
かりが与えられていないかどうかを確かめる。その極性の手がかりは、ユーザによって与えられていること、または既定値により与えられることが可能である。極性の手がかりは、オプションである。手がかりが全く与えられていない場合、サブルーチン646は、670で、失敗を示し、682で終了する。手がかりが与えられている場合、サブルーチン646は、662で、逆抽出変数を真に設定する。これにより、イメージの極性が逆転される。658で、ブロブ重心がブロブの一部である場合、664で、逆抽出変数は偽に設定される。以下に説明するとおり、逆抽出が偽である場合、シグニチャは、ブロブの重心から外向きに計算され、逆抽出が真である場合、シグニチャは、CCAオブジェクトの外のポイントから生成され、重心に向かって進む。
サブルーチン646は、668で、ブロブがROIより大きいかどうかも判定する。ブロブがROIより大きい場合、サブルーチン646は、670で失敗し、682で終了する。
668で、ブロブがROIより小さい場合、672に示すとおり、サブルーチン646は、ブロブの重心から角シータで放射するポイントまで線を構成する。674で、線がブロブと交差するポイントが、ポイントリストに追加される。674で示すとおり、ポイントを抽出するのに使用される線は、おおよそであることも、細かいことも可能である。これを「線に沿ったステップ」変数で示している。この変数もユーザによって与えられることが可能であり、理解されるとおり、線とブロブの交差が計算される精度に関連する。676、678、および680で示すとおり、サブルーチン646は、ユーザが増分させる値または既定値で増分して360度にわたってループする。既定値は、1度であるように設定される。このプロセスにより、ポイントのリストがもたらされる。次に、サブルーチン646は、682で示されるとおり、ポイントのリストを戻す。
24を再び参照すると、646で示されるとおり、ポイントが平滑化され、画定された形状とマッチングするために正規化されることが可能」である。符号646は、抽出された放射ポイントがテンプレートに対してマッチングされることも示している。図26A及び図26Bを参照すると、どのようにテンプレートを抽出された放射ポイント上で径方向に移動させてマッチを試みることができるかが示されている。図示では、破線が抽出されたシグニチャを表し、他方、実線がテンプレートを表わしている。
648で示すテンプレートマッチが成功しなかった場合、システムは、さらなるCCAオブジェクトが分析を要するかどうかを判定する。したがって、第3の好ましい実施形態は、CCAブロブのすべてをテンプレートにマッチさせようと試みる。652で、システムは、見つかった形状の数が1を超えるかどうかについてクエリを行う。1つだけのテンプレートがある形状にマッチした場合、その形状が、基準のための部分モデルに対応する。複数の形状が見つかった場合には、654で、複数のテンプレートの指示が提供され、656で結果が戻される。
サブルーチン605からの結果の後の第3の好ましい実施形態の残りの部分を次に説明する。極性の手がかりが全く与えられていないために失敗が生じた場合、システムは、極性を切り替え、サブルーチン605を再適用することができる。これにより、マッチの成功がもたらされる可能性がある。次に、システムは、最良の結果を戻す。いずれの極性も、マッチをもたらさなかった場合、システムは、誤りを戻す。
このようにして、第3の好ましい実施形態は、訓練されるべき各形状に関して固有のシグニチャを生成する。それらの固有のシグニチャを訓練されているイメージから抽出されたCCAオブジェクトに対してマッチングすることができる。第3の好ましい実施形態は、極めて迅速であり、堅牢であることが分かっている。
(照明)
第1の好ましい実施形態から第3の好ましい実施形態までのいずれに関しても、使用される照明が自動的に選択されることが可能である。1つのやり方は、0x0D「照明スコア」コマンドを介して報告される照明スコア、つまりLreportedを最大化することにより、好ましくは、以下のとおり計算される。すなわち、
reported=10,000×L
ただし、0.0から1.0まで変化する基本照明スコアLは、以下のとおり計算される。すなわち、
L=(V×S)Vmax
上記では、Vは、イメージウインドウの中の「前景」および「背景」に関連する分布のグレースケール平均値間の「分散正規化距離」である。したがって、Vの数式は、以下のとおり表すことができる。すなわち、
V=|MF−MB|/√(σ2 F−σ2 B
ここで使用する変数MFは、前景ピクセルの平均グレースケール値であり、変数MBは、背景ピクセルの平均グレースケール値であり、分散σ2 Fは、平均値のまわりの前景ピクセルのグレースケール値の分散であり、分散σ2 Bは、平均値のまわりの背景ピクセルのグレースケール値の分散である。分散値は、1.0より小さい値をとることが許されないことに留意されたい。
上記では、基本照明スコアLを計算する際、Sは、グレースケール値が結合分布の最小値にも最大値にもないピクセルの2つの分布の分画の積である「飽和係数」である。Sの数式は、以下のとおり表すことができる。すなわち、
S=SF×SB
使用される変数SFは、グレースケール値が低い飽和値または高い飽和値にはない前景ピクセルの分画であり、変数SBは、グレースケール値が低い飽和値または高い飽和値にはない背景ピクセルの分画である。
上記では、基本照明スコアLを計算する際、Vmaxは、飽和係数低減を考慮に入れる「可能な最大の分散正規化距離」である。Vmaxの数式は、以下のとおり表すことができる。すなわち、
Figure 0004576513
使用される変数Gmaxは、デジタル化中に実現可能な最大グレースケール(例えば、255)であり、変数Gminは、デジタル化中に実現可能な最小グレースケール(例えば、0)である。
照明スコアは、前景のピクセルグレースケール分布と背景のピクセルグレースケール分布に強く依存するため、照明スコアは非常にシーン依存であるものと理解される。したがって、2つの異なるイメージからの照明スコアを比較する際、照明自体が、唯一の変数でなければならない。
本発明を特定の方法に関連して説明してきたが、それらの方法のそれぞれは、CD−ROMなどのコンピュータ可読記憶媒体上にエンコードすることができるものと理解される。さらに、方法のそれぞれは、説明したタイプの部分モデルを自動的に画定することに限定されないものと理解される。例えば、リード付き半導体の文脈で説明した体系的な手法を使用してあるボールグリッドアレイタイプのコンポーネントを画定することができ、あるいは逆に、ボールグリッドアレイの文脈で説明した試行錯誤法を使用して、リード付き半導体のための部分モデルを画定することができるものと理解される。さらに、半導体技術が進展するにつれ、さらなるタイプのコンポーネントも開発される可能性があるものと理解される。部分モデルを画定する本方法は、それらのまだ開発されていないコンポーネントのための部分モデルを画定することにも適用可能性を有する可能性がある。したがって、本発明は、本明細書によってではなく、特許請求の範囲によって限定される。
ボールグリッドアレイを訓練することの状況における本発明の第1の実施形態を示す高レベルの流れ図である。 本発明を示す高レベルの流れ図である。 ボールグリッドアレイを訓練することの状況における本発明の第1の好ましい実施形態に関するアルゴリズムの詳細を提供する図である。 ボールグリッドアレイを訓練することの状況における本発明の第1の好ましい実施形態に関するアルゴリズムの詳細を提供する図である。 サンプルのボールグリッドアレイを示す図である。 角−ピッチ空間に変換されたボールグリッドアレイのイメージを示す図である。 ボールグリッドアレイを訓練することの状況におけるパラメータ空間イメージの生成を示す流れ図である。 ボールグリッドアレイを訓練することの状況におけるおおよそのピッチおよび角の推定を示す流れ図である。 ボールグリッドアレイを訓練することの状況における目的関数の角部分および距離部分を示す図である。 ボールグリッドアレイを訓練することの状況におけるより精度の高いピッチ−角推定を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態のボールグループ成長関数を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態のグループアレイ拡張関数を示す流れ図である。 ボールグリドアレイを訓練することの状況における第1の実施形態のボールグループ重心マージ法関数を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態のボールグループ公称位置マージ法関数を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態に関するスコアの計算を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態の最良ボールグループ選択関数を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態の品質検査関数を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態に関するボール信頼度計算を示す流れ図である。 ボールグリッドアレイを訓練することの状況における第1の実施形態の信頼度計算関数を示す流れ図である。 リード付き半導体コンポーネントを示す図である。 リード付き半導体コンポーネントに教示することの状況における第2の実施形態を示す流れ図である。 リード付き半導体コンポーネントを訓練することの状況における第2の実施形態に関するリード列の長方形の抽出を示す流れ図である。 リード付き半導体コンポーネントを訓練することの状況における第2の実施形態でルーラおよび長方形の適用を示す図である。 リード付き半導体コンポーネントを訓練することの状況における第2の実施形態に関して列の中のリードの抽出を示す流れ図である。 リード付き半導体コンポーネントを訓練することの状況における第2の実施形態に関して部品エッジを画定することを示す流れ図である 第3の実施形態による正方形および円のシグニチャを示す図である。 第3の実施形態の形状の抽出を示す流れ図である。 第3の実施形態の放射ポイントの抽出を示す流れ図である。 第3の実施形態の対応する形状にシグニチャをマッチさせることができるやり方を示す図である。 第3の実施形態の対応する形状にシグニチャをマッチさせることができるやり方を示す図である。

Claims (35)

  1. 部分モデルを自動的に画定する方法であって、
    部分モデルのイメージを提供するステップと、
    画定されるべき部分モデルのタイプを選択するステップと、
    前記部分モデルを自動的に画定するステップと、
    前記部分モデルを記録するステップとを含み、
    前記部分モデルの前記イメージが、ボールグリッドアレイのイメージであり、前記部分モデルのタイプが、ボールグリッドアレイであるように選択され、前記部分モデルを自動的に画定するステップが、
    複数の恣意的な半径を選択するステップと、
    前記半径をループして各半径に基づいて複数のキューを探し出すステップと、
    各半径に関連する前記複数のキューをグループに分類して複数のボールグループを生成するステップと、
    ボールグループのセットから最良グループを選択するステップとを含むことを特徴とする方法。
  2. 前記ボールグループが、前記キューの複数の右側近隣および左側近隣を探し出し、前記キュー間の直線距離を算出し、前記キュー間の角を算出してXピッチおよびYピッチを特定し、前記Xピッチおよび前記Yピッチを記録することによって前記キューから生成されることを特徴とする請求項1記載の方法。
  3. 部分モデルを自動的に画定する方法であって、
    部分モデルのイメージを提供するステップと、
    画定されるべき部分モデルのタイプを選択するステップと、
    前記部分モデルを自動的に画定するステップと、
    前記部分モデルを記録するステップとを含み、
    前記部分モデルの前記イメージが、リード付きコンポーネントのイメージであり、前記リード付きコンポーネントが、画定されたピッチを有するいくつかのリードを含み、各リードが、画定された位置を有し、前記部分モデルのタイプが、リード付きコンポーネントであるように選択され、前記部分モデルを自動的に画定するステップが、
    前記リード付きコンポーネントの前記イメージから少なくとも1つのリード列の長方形を抽出するステップと、
    ード数、リードの位置、およびリードのピッチによって前記部分モデルが画定されるステップとを含むことを特徴とする方法。
  4. 前記リード付きコンポーネントの前記イメージが、リード列の長方形を抽出するステップに先立って回転させられることを特徴とする請求項3記載の方法。
  5. 半導体コンポーネントのための部分モデルを自動的に画定する方法であって、
    部分モデルのイメージを提供するステップと、
    画定されるべき部分モデルのタイプを選択するステップと、
    前記部分モデルを自動的に画定するステップと、
    前記部分モデルを記録するステップとを含み、
    前記部分モデルの前記イメージが、異形コンポーネントのイメージであり、前記部分モデルのタイプが、異形コンポーネントであるように選択され、前記部分モデルを自動的に画定するステップが、
    距離値および角値で画定されるポイントの集合を含む複数のテンプレートを提供するステップと、
    前記部分モデルの前記イメージからブロブを抽出するステップと、
    前記ブロブから距離値および角値で画定される複数のポイントを抽出するステップと、
    前記ブロブから抽出された前記複数のポイントを前記複数のテンプレートに対して比較するステップと、
    前記ブロブから抽出された前記複数のポイントにいずれのテンプレートが最もよく合致するかを特定するステップとを含むことを特徴とする方法。
  6. 半導体コンポーネントのための部分モデルを画定する方法であって、
    特定の寸法を有する幾何学的特徴を含む前記コンポーネントのイメージを提供するステップと、
    前記コンポーネントの前記イメージの中の前記特定の寸法に合致する可能性がある複数の寸法をすべてループするステップと、
    前記複数の寸法のそれぞれに関するスコアを決定するステップと、
    前記部分モデルを画定する前記複数の寸法の1つを前記スコアに応じて選択するステップとを含み、
    前記コンポーネントは複数のボールによって画定されるボールグリッドアレイであり、前記複数のボールが単一の半径によって画定されることを特徴とする方法。
  7. 前記複数の寸法が、異なる値をそれぞれが有する複数の半径であることを特徴とする請求項6記載の方法。
  8. 前記複数の半径が、複数のキューを探し出すのに使用されることを特徴とする請求項7記載の方法。
  9. 前記キューが、水平方向の位置に基づいて分類されることを特徴とする請求項記載の方法。
  10. パラメータ空間イメージを生成するステップと、
    ボールグループを成長させるステップと、
    各半径に関して最大ボールグループを記憶するステップと、
    前記スコアを各半径に関して計算するステップとを含むことを特徴とする請求項9記載の方法。
  11. 前記部分モデルが、部分モデルのライブラリと比較され、部分モデルが、前記イメージから導出された前記部分モデルと部分モデルの前記ライブラリの間の前記比較に基づいて部分モデルの前記ライブラリから選択されることを特徴とする請求項10記載の方法。
  12. 前記部分モデルが、記憶されると共に、ボールグリッドアレイを探し出すのに使用されることを特徴とする請求項10記載の方法。
  13. 半導体コンポーネントのための部分モデルを画定する方法であって、
    サイズおよびピッチで画定されるパターンでイメージの中に配置された固有の幾何学的特徴を含むコンポーネントの前記イメージを提供するステップと、
    前記イメージから前記固有の幾何学的特徴を抽出するステップと、
    前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチを特定するステップと、
    前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチに基づいて前記部分モデルを画定するステップとを含み、
    前記半導体コンポーネントが、複数のリードによって画定されるリード付き半導体であり、前記リードが、エッジおよび中心位置を含み、前記リードが、数およびピッチをさらに含み、前記固有の幾何学的特徴が、前記リードの前記数、前記ピッチおよび前記中心に合致し、前記コンポーネントの前記イメージが、リード付き半導体のイメージであることを特徴とする方法。
  14. 前記リードの前記エッジを抽出するステップと、
    相補エッジに基づいてリードを画定し、前記相補エッジに基づいて前記中心位置を特定するステップとをさらに含むことを特徴とする請求項13記載の方法。
  15. 前記リード付き半導体の前記イメージが、前記リードのエッジを抽出するステップに先立って垂直の向きに回転させられることを特徴とする請求項14記載の方法。
  16. 前記リードの前記エッジが、前記回転されたイメージから抽出されたエッジに基づいて元のイメージから抽出されることを特徴とする請求項15記載の方法。
  17. 半導体コンポーネントのための部分モデルを自動的に画定する方法であって、
    別個のプロファイルを含む前記半導体コンポーネントのイメージを提供するステップと、
    距離値および角値でそれぞれ画定される複数の試験プロファイルを提供するステップと、
    前記半導体コンポーネントの前記イメージからブロブを抽出するステップと、
    距離値および角値で画定される複数のポイントを前記ブロブから抽出するステップと、
    前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップと、
    前記ブロブから抽出された前記複数のポイントにいずれの試験プロファイルが最もよく合致するかを特定するステップとを含むことを特徴とする方法。
  18. 前記半導体が、異形部分であり、前記半導体の前記イメージが、異形部分のイメージであることを特徴とする請求項17記載の方法。
  19. 前記ブロブから抽出された距離成分が、前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップに先立って正規化されることを特徴とする請求項18記載の方法。
  20. 部分モデルを画定するタスクを実行するための内部に実現されたコンピュータプログラムコードを担持し、部分モデルのイメージを獲得するための手段と、画定されるべき部分モデルのタイプに合致する選択を受け取るための手段と、前記部分モデルを自動的に画定するための手段と、前記部分モデルを記録するための手段とを含むコンピュータ可読媒体を備え、
    前記部分モデルの前記イメージが、ボールグリッドアレイのイメージであり、前記部分モデルのタイプが、ボールグリッドアレイであるように選択され、
    前記部分モデルを自動的に画定するための手段が、複数の恣意的な半径を選択するための手段と、前記半径のすべてをループして、各半径に基づいて複数のキューを探し出すための手段と、各半径に関連する前記複数のキューをグループに分類して複数のボールグループを生成する手段と、ボールグループのセットから最良のグループを選択するための手段とを含むことを特徴とする製造品。
  21. 前記半径をループしてボールグループを生成するための手段が、前記キューの右側の近隣および左側の近隣を探し出す手段と、前記キュー間の直線距離を算出する手段と、前記キュー間の角を算出するための手段と、キュー位置XピッチおよびYピッチを記録するための手段とをさらに含むことを特徴とする請求項20記載の製造品。
  22. 部分モデルを画定するタスクを実行するための内部に実現されたコンピュータプログラムコードを担持し、部分モデルのイメージを獲得するための手段と、画定されるべき部分モデルのタイプに合致する選択を受け取るための手段と、前記部分モデルを自動的に画定するための手段と、前記部分モデルを記録するための手段とを含むコンピュータ可読媒体を備え、
    前記部分モデルの前記イメージが、リード付きコンポーネントのイメージであり、前記部分モデルのタイプが、リード付きコンポーネントであるように選択され、
    前記部分モデルを自動的に画定するための手段が、前記イメージからリード列の長方形を抽出するための手段と、前記リード列の長方形からリード数、リードの位置、およびリードのピッチを特定して、前記リード数、前記リードの位置、および前記リードのピッチにより前記部分モデルが画定されるようにするための手段とを含むことを特徴とする製造品。
  23. 半導体コンポーネントのための部分モデルを画定するタスクを実行するための内部に実現されたコンピュータプログラムコードを担持し、部分モデルのイメージを獲得するための手段と、画定されるべき部分モデルのタイプに合致する選択を受け取るための手段と、前記部分モデルを自動的に画定するための手段と、前記部分モデルを記録するための手段とを含むコンピュータ可読媒体を備え、
    前記部分モデルの前記イメージが、異形コンポーネントのイメージであり、前記部分モデルのタイプが、リード付きコンポーネントであるように選択され、
    前記部分モデルを自動的に画定するための手段が、距離成分および角成分で画定されるポイントの集合を含む複数のテンプレートを獲得するための手段と、前記部分モデルの前記イメージからブロブを抽出するための手段と、距離成分および角成分で画定される複数のポイントを前記ブロブから抽出するための手段と、前記ブロブから抽出された前記複数のポイントを前記複数のテンプレートに対して比較するための手段と、前記ブロブから抽出された前記複数のポイントにいずれのテンプレートが最もよく合致するかを特定するための手段とを含むことを特徴とする製造品。
  24. 半導体コンポーネントのための部分モデルを自動的に画定するプロセスステップを実行するようにコンピュータによって実行可能なソフトウェアを含み、特定の寸法を有する幾何学的特徴を含む前記コンポーネントのイメージが提供されるコンピュータ可読記憶媒体であって、
    前記プロセスステップが、
    前記コンポーネントの前記イメージの中の前記特定の寸法に合致することが可能な複数の寸法の可能性をすべてループするステップと、
    前記複数の寸法のそれぞれに関するスコアを決定するステップと、
    前記部分モデルを画定する前記複数の寸法の1つを前記スコアに応じて選択するステップとを含み、
    前記コンポーネントが、複数のボールによって画定されるボールグリッドアレイであり、前記複数のボールが単一の半径によって画定されることを特徴とするコンピュータ可読記憶媒体。
  25. 前記複数の寸法が、複数の半径であることを特徴とする請求項24記載のコンピュータ可読記憶媒体。
  26. 前記複数の半径が、複数のキューを探し出すのに使用されることを特徴とする請求項25記載のコンピュータ可読記憶媒体。
  27. 前記キューが、水平方向の位置に基づいて分類されることを特徴とする請求項26記載のコンピュータ可読記憶媒体。
  28. 前記プロセスステップが、パラメータ空間イメージを生成するステップと、ボールグループを成長させるステップと、各半径に関して最大ボールグループを記憶するステップと、前記スコアを各半径に関して計算するステップとをさらに含むことを特徴とする請求項27記載のコンピュータ可読記憶媒体。
  29. 前記プロセスステップが、前記部分モデルを部分モデルのライブラリと比較するステップと、前記イメージから導出された前記部分モデルと部分モデルの前記ライブラリの間における前記比較に基づいて部分モデルの前記ライブラリから部分モデルを選択するステップとをさらに含むことを特徴とする請求項28記載のコンピュータ可読記憶媒体。
  30. 半導体コンポーネントのための部分モデルを自動的に画定するプロセセステップを実行するようにコンピュータによって実行可能なソフトウェアを含み、前記半導体コンポーネントのイメージが提供され、前記イメージが、サイズおよびピッチで画定されるパターンに前記イメージの中で配置された固有の幾何学的特徴を含むコンピュータ可読記憶媒体であって、
    前記プロセスステップが、
    前記固有の幾何学的特徴を前記イメージから抽出するステップと、
    前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチを特定するステップと、
    前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチに基づいて前記部分モデルを画定するステップとを含み、
    前記半導体コンポーネントが、エッジと中心、数とピッチを含む複数のリードによって画定されるリード付き半導体であり、前記固有の幾何学的特徴が、前記リードの前記数、前記ピッチ、および前記中心に合致し、前記コンポーネントの前記イメージが、リード付き半導体のイメージであることを特徴とするコンピュータ可読記憶媒体。
  31. 前記プロセスステップは、
    前記リードの前記エッジを抽出するステップと、
    相補エッジに基づいてリードを画定し、前記相補エッジに基づいて前記中心を特定するステップとをさらに含むことを特徴とする請求項30記載のコンピュータ可読記憶媒体。
  32. 前記プロセスステップは、前記リードのエッジを抽出するステップに先立って前記半導体の前記イメージを垂直の向きに回転させるステップをさらに含むことを特徴とする請求項31記載のコンピュータ可読記憶媒体。
  33. 半導体コンポーネントのための部分モデルを自動的に画定するプロセスステップを実行するようにコンピュータによって実行可能なソフトウェアを含み、前記半導体コンポーネントの個別のプロファイルを有するイメージが提供され、距離および角成分でそれぞれが画定される複数の試験プロファイルが提供されるコンピュータ可読記憶媒体であって、
    前記プロセスステップが、
    前記半導体コンポーネントの前記イメージからブロブを抽出するステップと、
    前記ブロブから距離成分および角成分で画定される複数のポイントを抽出するステップと、
    前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップと、
    前記ブロブから抽出された前記複数のポイントにいずれの試験プロファイルが最もよく合致するかを特定するステップとを含むことを特徴とするコンピュータ可読記憶媒体。
  34. 前記半導体が、異形部分であり、前記半導体の前記イメージが、異形部分のイメージであることを特徴とする請求項33記載のコンピュータ可読記憶媒体。
  35. 前記プロセスステップが、前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップに先立って、前記ブロブから抽出された前記距離成分を正規化するステップをさらに含むことを特徴とする請求項34記載のコンピュータ可読記憶媒体。
JP2003558755A 2001-12-28 2002-12-27 部分モデルを自動的に画定するための方法 Expired - Fee Related JP4576513B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34406401P 2001-12-28 2001-12-28
PCT/US2002/041624 WO2003058515A1 (en) 2001-12-28 2002-12-27 Method for automatically defining a part model
US10/330,891 US7055112B2 (en) 2001-12-28 2002-12-27 Method for automatically defining a part model for semiconductor components

Publications (2)

Publication Number Publication Date
JP2005524220A JP2005524220A (ja) 2005-08-11
JP4576513B2 true JP4576513B2 (ja) 2010-11-10

Family

ID=23348882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003558755A Expired - Fee Related JP4576513B2 (ja) 2001-12-28 2002-12-27 部分モデルを自動的に画定するための方法

Country Status (6)

Country Link
US (1) US7055112B2 (ja)
JP (1) JP4576513B2 (ja)
KR (1) KR100987094B1 (ja)
AU (1) AU2002367375A1 (ja)
DE (1) DE10297595T5 (ja)
WO (1) WO2003058515A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145664B2 (en) * 2003-04-18 2006-12-05 Therma-Wave, Inc. Global shape definition method for scatterometry
US8014991B2 (en) * 2003-09-30 2011-09-06 Tokyo Electron Limited System and method for using first-principles simulation to characterize a semiconductor manufacturing process
US8036869B2 (en) * 2003-09-30 2011-10-11 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process via a simulation result or a derived empirical model
US8032348B2 (en) * 2003-09-30 2011-10-04 Tokyo Electron Limited System and method for using first-principles simulation to facilitate a semiconductor manufacturing process
US8073667B2 (en) * 2003-09-30 2011-12-06 Tokyo Electron Limited System and method for using first-principles simulation to control a semiconductor manufacturing process
US8380246B2 (en) * 2007-03-01 2013-02-19 Microsoft Corporation Connecting mobile devices via interactive input medium
US8024060B2 (en) * 2008-06-16 2011-09-20 Electro Scientific Industries, Inc. Method for defining safe zones in laser machining systems
DE102009016289A1 (de) * 2009-01-02 2010-07-15 Singulus Technologies Ag Verfahren und Vorrichtung zur Identifizierung von Gegenständen sowie zum Verfolgen von Gegenständen in einem Produktionsprozess
US8428339B2 (en) * 2009-11-05 2013-04-23 Cognex Corporation System and method for alignment and inspection of ball grid array devices
CN104915963B (zh) * 2015-06-25 2017-11-03 哈尔滨工业大学 一种用于plcc元件的检测与定位方法
US11288423B2 (en) * 2018-01-17 2022-03-29 Fuji Corporation Component shape data creation system for image processing and component shape data creation method for image processing
CN117055790B (zh) * 2023-08-11 2024-02-13 广东盈科电子有限公司 应用于图像测试区域的交互控制方法、装置及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141009A (en) * 1997-07-16 2000-10-31 Cognex Corporation Interface for model definition
US6151406A (en) * 1997-10-09 2000-11-21 Cognex Corporation Method and apparatus for locating ball grid array packages from two-dimensional image data
US6173070B1 (en) * 1997-12-30 2001-01-09 Cognex Corporation Machine vision method using search models to find features in three dimensional images
US6501554B1 (en) * 2000-06-20 2002-12-31 Ppt Vision, Inc. 3D scanner and method for measuring heights and angles of manufactured parts
KR101030735B1 (ko) * 2002-08-13 2011-04-26 인터벳 인터내셔널 비.브이. 첨가제를 전달하는 조성물 및 전달 방법
US20060151406A1 (en) * 2005-01-11 2006-07-13 Hsien-Chung Tuan M Socket suspension assembly

Also Published As

Publication number Publication date
AU2002367375A1 (en) 2003-07-24
US20030151054A1 (en) 2003-08-14
JP2005524220A (ja) 2005-08-11
WO2003058515A1 (en) 2003-07-17
KR20040081102A (ko) 2004-09-20
KR100987094B1 (ko) 2010-10-12
US7055112B2 (en) 2006-05-30
DE10297595T5 (de) 2005-01-05

Similar Documents

Publication Publication Date Title
CN110717489B (zh) Osd的文字区域的识别方法、装置及存储介质
US10824853B2 (en) Human detection system for construction machine
JP4576513B2 (ja) 部分モデルを自動的に画定するための方法
US7418363B2 (en) Micropattern measuring method, micropattern measuring apparatus, and computer-readable recording medium on which a micropattern measuring program is recorded
CN106529573A (zh) 一种结合三维点云分割和局部特征匹配的实时物体检测方法
CN102834845A (zh) 用于多摄像装置校准的方法与装置
CN111783722B (zh) 一种激光点云的车道线提取方法和电子设备
CN112330678A (zh) 产品边缘缺陷检测方法
JP2009211138A (ja) 対象領域抽出方法および装置ならびにプログラム
WO2013181004A1 (en) Shape detection using chain code states
CN108960267A (zh) 用于模型调整的系统和方法
US6735343B2 (en) Polygon finder and pruned tree geometric match method
CN112329880A (zh) 一种基于相似性度量和几何特征的模板快速匹配方法
KR102366364B1 (ko) 기하학적 패턴 매칭 방법 및 이러한 방법을 수행하는 장치
CN111192324A (zh) 线段交点位置的确定方法、装置及可读存储介质
JP2011054062A (ja) 画像処理装置、画像処理方法及びプログラム
CN112258536B (zh) 一种胼胝体及小脑蚓部的一体化定位及分割方法
CN111127542B (zh) 一种基于图像的非合作目标对接环提取方法
JP2003317106A (ja) 走行路認識装置
US7027637B2 (en) Adaptive threshold determination for ball grid array component modeling
CN114299399B (zh) 一种基于骨架线关系的飞机目标确认方法
JPH1196372A (ja) 画像処理方法およびその装置、ならびに画像処理用の制御プログラムの記録媒体
CN112597908A (zh) 基于骨骼点位的人脸特征识别方法、设备及存储介质
JP2010009437A (ja) パターンの消失に対応したマッチング方式及びそれを用いた検査装置
JP2005071125A (ja) 被写体検出装置、被写体検出方法、被写体データ選定プログラムおよび被写体位置検出プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100617

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100713

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100727

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees