(57)【要約】本発明は、半導体コンポーネントのための部分モデルを自動的に画定するための方法を提供する。コンポーネントのイメージが提供される。自動的方法は、試行錯誤法、体系的な方法、または距離−角シグニチャに基づく方法のいずれであることも可能である。試行錯誤法は、ボールグリッドアレイのための部分モデルを画定することの文脈で説明する。体系的な手法は、リード付き半導体の文脈で説明し、距離角シグニチャの手法は、異形の半導体コンポーネントのための部分モデルを画定することの文脈で説明する。
2005524220.tif 000002
【特許請求の範囲】
【請求項１】
部分モデルを自動的に画定する方法であって、
部分モデルのイメージを提供するステップと、
画定されるべき部分モデルのタイプを選択するステップと、
前記部分モデルを自動的に画定するステップと、
前記部分モデルを記録するステップとを含むことを特徴とする方法。
【請求項２】
前記部分モデルの前記イメージが、ボールグリッドアレイのイメージであり、部分モデルのタイプが、ボールグリッドアレイであるように選択され、前記部分モデルを自動的に画定する前記ステップが、
複数の恣意的な半径を選択するステップと、
前記半径をループして各半径に基づいて複数のキューを探し出すステップと、
各半径に関連する前記複数のキューをグループに分類して複数のボールグループを生成するステップと、
ボールグループの前記セットから最良グループを選択するステップとをさらに含むことを特徴とする請求項１記載の方法。
【請求項３】
前記ボールグループが、前記キューの複数の右側近隣および左側近隣を探し出し、前記キュー間の直線距離を算出し、前記キュー間の角を算出してＸピッチおよびＹピッチを特定し、前記Ｘピッチおよび前記Ｙピッチを記録することによって前記キューから生成されることを特徴とする請求項２記載の方法。
【請求項４】
前記部分モデルの前記イメージが、リード付きコンポーネントのイメージであり、前記リード付きコンポーネントが、画定されたピッチを有するいくつかのリードを含み、各リードが、画定された位置を有し、部分モデルのタイプが、リード付きコンポーネントであるように選択され、前記部分モデルを自動的に画定する前記ステップが、
前記イメージから少なくとも１つのリード列の長方形を抽出するステップと、
前記リード列の長方形からリード数、リードの位置、およびリードのピッチを特定し、前記リード数、前記リードの位置、および前記リードのピッチによって前記部分モデルが画定されるステップとをさらに含むことを特徴とする請求項１記載の方法。
【請求項５】
前記リード付きコンポーネントの前記イメージが、リード列の長方形を抽出するステップに先立って回転させられることを特徴とする請求項４記載の方法。
【請求項６】
前記部分モデルの前記イメージが、異形コンポーネントのイメージであり、部分モデルのタイプが、異形コンポーネントであるように選択され、前記部分モデルを自動的に画定する前記ステップが、
距離値および角値で画定されるポイントの集合を含む複数のテンプレートを提供するステップと、
前記部分モデルの前記イメージからブロブを抽出するステップと、
前記ブロブから距離値および角値で画定される複数のポイントを抽出するステップと、
前記ブロブから抽出された前記複数のポイントを前記複数のテンプレートに対して比較するステップと、
前記ブロブから抽出された前記複数のポイントにいずれのテンプレートが最もよく合致するかを特定するステップとをさらに含むことを特徴とする請求項１記載の方法。
【請求項７】
半導体コンポーネントのための部分モデルを画定する方法であって、
特定の寸法を有する幾何学的特徴を含む前記コンポーネントのイメージを提供するステップと、
前記コンポーネントの前記イメージの中の前記特定の寸法に合致する可能性がある複数の可能な寸法をすべてループするステップと、
前記複数の可能な寸法のそれぞれに関するスコアを決定するステップと、
前記部分モデルを画定する前記可能な寸法の１つを前記スコアに応じて選択するステップとを含むことを特徴とする方法。
【請求項８】
前記半導体が、複数のボールによって画定されるボールグリッドアレイであり、ボールの集合が、単一の半径によって画定されることを特徴とする請求項７記載の方法。
【請求項９】
前記複数の可能な寸法が、異なる値をそれぞれが有する複数の半径であることを特徴とする請求項８記載の方法。
【請求項１０】
前記複数の半径が、複数のキューを探し出すのに使用されることを特徴とする請求項９記載の方法。
【請求項１１】
前記キューが、水平方向の位置に基づいて分類されることを特徴とする請求項１０記載の方法。
【請求項１２】
パラメータ空間イメージを生成するステップと、
ボールグループを成長させるステップと、
各半径に関して最大ボールグループを記憶するステップとを含み、前記スコアが、各半径に関して計算されることを特徴とする請求項１１記載の方法。
【請求項１３】
前記部分モデルが、部分モデルのライブラリと比較され、部分モデルが、前記イメージから導出された前記部分モデルと部分モデルの前記ライブラリの間の前記比較に基づいて部分モデルの前記ライブラリから選択されることを特徴とする請求項１２記載の方法。
【請求項１４】
前記部分モデルが、記憶されると共に、ボールグリッドアレイを探し出すのに使用されることを特徴とする請求項１２記載の方法。
【請求項１５】
半導体コンポーネントのための部分モデルを画定する方法であって、
サイズおよびピッチで画定されるパターンでイメージの中に配置された固有の幾何学的特徴を含むコンポーネントの前記イメージを提供するステップと、
前記イメージから前記固有の幾何学的特徴を抽出するステップと、
前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチを特定するステップと、
前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチに基づいて前記部分モデルを画定するステップとを含むことを特徴とする方法。
【請求項１６】
前記半導体コンポーネントが、複数のリードによって画定されるリード付き半導体であり、前記リードが、エッジおよび中心位置を含み、前記リードが、数およびピッチをさらに含み、前記固有の幾何学的特徴が、前記リードの前記数、前記ピッチ、および前記中心に合致し、前記コンポーネントの前記イメージが、リード付きコンポーネントのイメージであることを特徴とする請求項１５記載の方法。
【請求項１７】
前記リードの前記エッジを抽出するステップと、
相補エッジに基づいてリードを画定し、前記相補エッジに基づいて前記中心位置を特定するステップをさらに含むことを特徴とする請求項１６記載の方法。
【請求項１８】
前記半導体の前記イメージが、前記リードのエッジを抽出するステップに先立って垂直の向きに回転させられることを特徴とする請求項１７記載の方法。
【請求項１９】
前記リードの前記エッジが、前記回転されたイメージから抽出されたエッジに基づいて元のイメージから抽出されることを特徴とする請求項１８記載の方法。
【請求項２０】
半導体コンポーネントのための部分モデルを自動的に画定する方法であって、
別個のプロファイルを含む前記半導体コンポーネントのイメージを提供するステップと、
距離値および角値でそれぞれが画定される複数の試験プロファイルを提供するステップと、
前記半導体コンポーネントの前記イメージからブロブを抽出するステップと、
距離値および角値で画定される複数のポイントを前記ブロブから抽出するステップと、
前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップと、
前記ブロブから抽出された前記複数のポイントにいずれの試験プロファイルが最もよく合致するかを特定するステップとを含むことを特徴とする方法。
【請求項２１】
前記半導体が、異形部分であり、前記半導体の前記イメージが、異形部分のイメージであることを特徴とする請求項２０記載の方法。
【請求項２２】
前記ブロブから抽出された前記距離成分が、前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップに先立って正規化されることを特徴とする請求項２１記載の方法。
【請求項２３】
部分モデルを画定するタスクを実行するための内部に実現されたコンピュータプログラムコードを担持し、部分モデルのイメージを獲得するための手段と、画定されるべき部分モデルのタイプに合致する選択を受け取るための手段と、前記部分モデルを自動的に画定するための手段と、前記部分モデルを記録するための手段とを含むコンピュータ可読媒体を備えることを特徴とする製造品。
【請求項２４】
前記部分モデルの前記イメージが、ボールグリッドアレイのイメージであり、部分モデルのタイプが、ボールグリッドアレイであるように選択され、前記部分モデルを自動的に画定するための前記手段が、複数の恣意的な半径を選択するための手段と、前記半径のすべてをループして、各半径に基づいて複数のキューを探し出すための手段と、各半径に関連する前記複数のキューをグループに分類して複数のボールグループを生成する手段と、ボールグループの前記セットから最良のグループを選択するための手段とをさらに含むことを特徴とする請求項２３記載の製造品。
【請求項２５】
前記半径をループしてボールグループを生成するための前記手段が、前記キューの右側の近隣および左側の近隣を探し出し、前記キュー間の直線距離を算出し、前記キュー間の角を算出するための手段と、キュー位置ＸピッチおよびＹピッチを記録するための手段とをさらに含むことを特徴とする請求項２４記載の製造品。
【請求項２６】
前記部分モデルの前記イメージが、リード付きコンポーネントのイメージであり、部分モデルのタイプが、リード付きコンポーネントであるように選択され、前記部分モデルを自動的に画定するための前記手段が、前記イメージからリード列の長方形を抽出するための手段と、前記リード列の長方形からリード数、リードの位置、およびリードのピッチを特定して、前記リード数、前記リードの位置、および前記リードのピッチにより前記部分モデルが画定されるようにするための手段とをさらに含むことを特徴とする請求項２３記載の製造品。
【請求項２７】
前記部分モデルの前記イメージが、異形コンポーネントのイメージであり、部分モデルのタイプが、リード付きコンポーネントであるように選択され、前記部分モデルを自動的に画定するための前記手段が、距離成分および角成分で画定されるポイントの集合を含む複数のテンプレートを獲得するための手段と、前記部分モデルの前記イメージからブロブを抽出するための手段と、距離成分および角成分で画定される複数のポイントを前記ブロブから抽出するための手段と、前記ブロブから抽出された前記複数のポイントを前記複数のテンプレートに対して比較するための手段と、前記ブロブから抽出された前記複数のポイントにいずれのテンプレートが最もよく合致するかを特定するための手段とをさらに含むことを特徴とする請求項２３記載の製造品。
【請求項２８】
半導体コンポーネントのための部分モデルを自動的に画定するプロセスステップを実行するようにコンピュータによって実行可能なソフトウェアを含み、特定の寸法を有する幾何学的特徴を含む前記コンポーネントのイメージが提供されるコンピュータ可読記憶媒体であって、
前記プロセスステップが、
前記コンポーネントの前記イメージの中の前記特定の寸法に合致することが可能な複数の寸法の可能性をすべてループするステップと、
前記複数の可能な寸法のそれぞれに関するスコアを決定するステップと、
前記部分モデルを画定する前記可能な寸法の１つを前記スコアに応じて選択するステップとを含むことを特徴とするコンピュータ可読記憶媒体。
【請求項２９】
前記半導体が、複数のボールによって画定されるボールグリッドアレイであり、ボールの集合が、単一の半径によって画定されることを特徴とする請求項２８記載のコンピュータ可読記憶媒体。
【請求項３０】
前記複数の可能な寸法が、複数の半径であることを特徴とする請求項２９記載のコンピュータ可読記憶媒体。
【請求項３１】
前記複数の半径が、複数のキューを探し出すのに使用されることを特徴とする請求項３０記載のコンピュータ可読記憶媒体。
【請求項３２】
前記キューが、水平方向の位置に基づいて分類されることを特徴とする請求項３１記載のコンピュータ可読記憶媒体。
【請求項３３】
前記プロセスステップが、パラメータ空間イメージを生成するステップと、ボールグループを成長させるステップと、各半径に関して最大ボールグループを記憶するステップとをさらに含み、前記スコアが、各半径に関して計算されることを特徴とする請求項３２記載のコンピュータ可読記憶媒体。
【請求項３４】
前記プロセスステップが、前記部分モデルを部分モデルのライブラリと比較するステップと、前記イメージから導出された前記部分モデルと部分モデルの前記ライブラリの間における前記比較に基づいて部分モデルの前記ライブラリから部分モデルを選択するステップとをさらに含むことを特徴とする請求項３３記載のコンピュータ可読記憶媒体。
【請求項３５】
半導体コンポーネントのための部分モデルを自動的に画定するプロセスステップを実行するようにコンピュータによって実行可能なソフトウェアを含み、前記半導体コンポーネントのイメージが提供され、前記イメージが、サイズおよびピッチで画定されるパターンに前記イメージの中で配置された固有の幾何学的特徴を含むコンピュータ可読記憶媒体であって、
前記プロセスステップが、
前記固有の幾何学的特徴を前記イメージから抽出するステップと、
前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチを特定するステップと、
前記イメージの中の前記幾何学的特徴の前記サイズおよび前記ピッチに基づいて前記部分モデルを画定するステップとを含むことを特徴とするコンピュータ可読記憶媒体。
【請求項３６】
前記半導体コンポーネントが、エッジと中心、数とピッチを含む複数のリードによって画定されるリード付き半導体であり、前記固有の幾何学的特徴が、前記リードの前記数、前記ピッチ、および前記中心に合致し、前記コンポーネントの前記イメージが、リード付き半導体のイメージであることを特徴とする請求項３５記載のコンピュータ可読記憶媒体。
【請求項３７】
前記プロセスステップは、
前記リードの前記エッジを抽出するステップと、
相補エッジに基づいてリードを画定し、前記相補エッジに基づいて前記中心を特定するステップとをさらに含むことを特徴とする請求項３６記載のコンピュータ可読記憶媒体。
【請求項３８】
前記プロセスステップは、前記リードのエッジを抽出するステップに先立って前記半導体の前記イメージを垂直の向きに回転させるステップをさらに含むことを特徴とする請求項３７記載のコンピュータ可読記憶媒体。
【請求項３９】
半導体コンポーネントのための部分モデルを自動的に画定するプロセスステップを実行するようにコンピュータによって実行可能なソフトウェアを含み、前記半導体コンポーネントの個別のプロファイルを有するイメージが提供され、距離成分および角成分でそれぞれが画定される複数の試験プロファイルが提供されるコンピュータ可読記憶媒体であって、
前記プロセスステップが、
前記半導体コンポーネントの前記イメージからブロブを抽出するステップと、
前記ブロブから距離成分および角成分で画定される複数のポイントを抽出するステップと、
前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップと、
前記ブロブから抽出された前記複数のポイントにいずれの試験プロファイルが最もよく合致するかを特定するステップとを含むことを特徴とするコンピュータ可読記憶媒体。
【請求項４０】
前記半導体が、異形部分であり、前記半導体の前記イメージが、異形部分のイメージであることを特徴とする請求項３９記載のコンピュータ可読記憶媒体。
【請求項４１】
前記プロセスステップが、前記ブロブから抽出された前記複数のポイントを前記複数の試験プロファイルに対して比較するステップに先立って、前記ブロブから抽出された前記距離成分を正規化するステップをさらに含むことを特徴とする請求項４０記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体コンポーネントを探し出す方法および装置に関する。本発明は、同様の半導体コンポーネントを探し出すのに後に使用することができる理想的な半導体コンポーネントの部分モデル特性を自動的に画定する方法を提供する。
【背景技術】
【０００２】
半導体デバイスの最新の製造には、大量製造環境が関わる。１つのそのような環境は、回路基板に部品を実装することに関わる。回路基板には、「ピックアンドプレース」マシンと一般に呼ばれる自動化されたマシンによって部品が実装される。一般に、ピックアンドプレースマシンは、コンポーネントのトレイから半導体コンポーネントを獲得し、そのコンポーネントを探し出し、回路基板上に配置する。半導体コンポーネントを探し出す機能は、コンピュータビジョンシステムによって実行される。通常、ビジョンシステムは、一回につき単一の特定の半導体コンポーネントを探し出す。
【０００３】
操作に先立ち、操作者は、探し出され、回路基板上に配置されるべき特定の半導体コンポーネントを認識するようにビジョンシステムをプログラミングする、または訓練することをしばしば行わなければならない。これは部分モデルの生成を含む。部分モデルは、半導体デバイスの特性または固有の特徴を表す。例えば、デバイスがリード付きデバイスである場合、部分モデルは、リードの数、リードのサイズ、リードのピッチ、およびその他の関連する特徴に関する情報を含むことが可能である。
【０００４】
多くの異なるタイプのビジョンシステムが利用可能であるが、それぞれに、相当ないくらかの量の操作者入力が関与する。これは、比較的少数のタイプの半導体コンポーネント、例えば、リード付きコンポーネント、ボールグリッドアレイ、および異形デバイスが存在していても、任意の所与のコンポーネントタイプに関して数百の、場合によっては数千の異なるサイズおよび構成のコンポーネントが存在するからである。したがって、ユーザは、ビジョンシステムに単にコンポーネントのタイプを知らせるだけではだめであり、コンポーネントを徹底的に記述しなければならない。ユーザがこの記述を行うのを助ける多くの異なる技術が存在するが、それでもユーザは、しばしば、誤りを犯す。異なる半導体コンポーネントを認識するようにビジョンシステムを訓練する際に、ユーザ入力の量をさらに最小限に抑える必要性が存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、部分モデルを自動的に画定するための方法、製造品を提供する。
【課題を解決するための手段】
【０００６】
部分モデルのイメージを提供すること、および画定されるべき部分モデルのタイプを選択することを含む部分モデルを自動的に画定するための方法を提供する。部分モデルの選択は、自動的であっても、手動であってもよい。また、方法は、部分モデルを自動的に画定し、部分モデルを記録するためのステップも含む。
部分モデルのイメージは、部分モデルのタイプがボールグリッドアレイであるように選択されるボールグリッドアレイのイメージであることが可能である。そのような状況では、部分モデルを自動的に画定するためのステップは、複数の任意の半径を選択し、その半径上をループして各半径に基づく複数のキューを探し出すことをさらに含むことが可能である。複数のキューは、各半径に関してグループに分類されて複数のボールグループがもたらされる。ボールグループのセットから最良のグループが選択される。
【０００７】
部分モデルのイメージは、リード付きコンポーネントが画定されたピッチを有するいくつかのリードを含み、各リードが画定された位置を有するリード付きコンポーネントのイメージであることが可能である。この場合、部分モデルのタイプは、リード付きコンポーネントであるように選択されることが可能である。そのような状況では、部分モデルを自動的に画定するためのステップは、少なくとも１つのリード列の長方形をイメージから抽出して、リードの数、リードの位置、およびリードのピッチをリード列の長方形から特定することをさらに含むことが可能である。
【０００８】
部分モデルのイメージは、異形コンポーネントのイメージであることが可能であり、部分モデルは、異形コンポーネントであるように選択されることが可能である。そのような状況では、部分モデルを自動的に画定するためのステップは、複数のテンプレートを提供することをさらに含むことが可能である。テンプレートは、距離値および角値で画定されるポイントの集合を含むことが可能である。ブロブが、部分モデルのイメージから抽出されることが可能である。複数のポイントがブロブから抽出されることが可能であり、ただし、複数のポイントは、距離値および角値で画定される。また、部分モデルを自動的に画定するためのステップは、ブロブから抽出された複数のポイントを複数のテンプレートと比較し、いずれのテンプレートがブロブから抽出された複数のポイントに最もよく合致するかを特定することも含むことが可能である。
【０００９】
画定されるべきコンポーネントのイメージが提供される部分モデルを画定するための試行錯誤法が提供されることが可能である。コンポーネントのイメージは、特定の寸法を有する幾何学的特徴を含む。コンポーネントのイメージの中の特定の寸法に合致することが可能な複数の可能な寸法のすべてをループして、複数の可能な寸法のそれぞれに関してスコアが決定される。スコアに応じて部分モデルを画定するように可能な寸法の１つが選択される。
【００１０】
画定されるべきコンポーネントのイメージが提供される部分モデルを画定するための体系的な手法も企図されている。コンポーネントのイメージは、サイズおよびピッチで画定されたパターンでイメージの中に配置された固有の幾何学的特徴を含む。それらの固有の幾何学的特徴がイメージから抽出され、イメージの中の幾何学的特徴のサイズおよびピッチが特定される。部分モデルは、イメージの中の幾何学的特徴のサイズおよびピッチに基づいて画定される。
【００１１】
距離角シグニチャを使用して部分モデルを画定する方法も提供される。この場合、個別のプロファイルを含むイメージが提供される。距離値および角値でそれぞれが画定される複数の試験プロファイルも提供される。ブロブが、半導体コンポーネントのイメージから抽出され、複数のポイントが、距離値および角値で画定される複数のポイントをブロブから抽出している。ブロブから抽出された複数のポイントが、複数の試験プロファイルと比較されて、いずれの試験プロファイルがブロブから抽出された複数のポイントに最もよく合致するかが特定される。
【００１２】
本発明は、部分モデルを画定するタスクを実行するためのコンピュータプログラムコードを内部に実装して担持するコンピュータ可読媒体を含む製造品も企図している。コンピュータプログラムは、部分モデルのイメージを獲得するための手段、画定されるべき部分モデルのタイプに合致する選択を受け取るための手段、部分モデルを自動的に画定するための手段、および部分モデルを記録するための手段を含む。
【００１３】
前述した試行錯誤法、体系的方法、および角距離シグニチャ法は、コンポーネントのイメージが提供される半導体コンポーネントの部分モデルを自動的に画定するための関連するプロセスステップを実行するようにコンピュータによって実行可能なソフトウェアを含むコンピュータ可読記憶媒体上にエンコードすることができるものと理解する。
【発明を実施するための最良の形態】
【００１４】
本発明は、半導体を探し出す訓練段階を実質的に自動化する。好ましい実施形態では、操作者は、探し出されるべきコンポーネントタイプを単に特定する。このコンポーネントタイプには、例えば、リード付きコンポーネント、リードのないコンポーネント、ボールグリッドアレイコンポーネント、および異形コンポーネントが含まれることが可能である。コンポーネントタイプが分かると、本発明は、訓練されている特定のコンポーネントタイプの詳細に合致する部分モデルを自動的に生成するか、または訓練する。結果の部分モデルを使用して、同じ半導体コンポーネントを配置のために探し出すことができる。
【００１５】
図１Ａを参照すると、本発明を示す高レベルの概略図が示されている。自動教示動作および本発明が、５０で開始する。モデルタイプが５２で選択される。モデルタイプは、自動的に選択されても、手動で選択されてもよいものと理解する。部分モデルの自動的教示は、サブルーチン５４によって実行される。本説明は、画定されることが可能な３つの異なるタイプの部分モデルを提供する。３つのタイプの部分モデルには、ボールグリッドアレイに関する部分モデル、リード付きコンポーネントに関する部分モデル、および追加形の形状に関する部分モデルが含まれる。さらなる半導体タイプも自動的に画定されることが可能であるものと理解する。部分モデルは、５６で画定され、５８で処理が終了する。部分モデルが画定されると、部分モデルを使用して半導体コンポーネントを配置のために探し出すことができる。
【００１６】
本発明は、既知のコンポーネントタイプの部分モデルを生成する３つの代替技術を提供する。第１の代替技術は、コンポーネントが既知の幾何学的形状、例えば、円形または長方形を含むものと想定し、その幾何学的形状のいずれのサイズが訓練されているモデルに最もよく合致するかを特定することに関わる。第１の方法は、形状の異なるサイズを試みて最適なサイズを探し出す試行錯誤法として説明することができる。第２の代替技術は、重要な特徴が中に存在する限定されたウインドウを確立し、重要な特徴を探し出すのが容易になるまでそのウインドウのサイズを縮小することに関わる。最後の方法は、モデルを特徴付ける固有のシグニチャを生成する角−距離図の使用に関わる。
【００１７】
本明細書は、異なる半導体コンポーネントタイプの例、ならびに異なる半導体コンポーネントタイプが自動的に訓練される仕方を提示する。本発明は、提示する特定の例に限定されず、提示するそれぞれの特定の技術の使用は、その技術を説明するのに用いられる特定のコンポーネントタイプに限定されないものと理解する。
（Ｉ．ボールグリッドアレイに関する第１の好ましい実施形態による部分モデルの自動教示）
図１〜１６を参照すると、ボールグリッドアレイを訓練することの文脈において、試行錯誤法を利用する第１の好ましい実施形態を示す一連の流れ図が示されている。ＢＧＡは、面のうち１つの上の一連のボールまたはバンプを特徴とする。それらのボールは、連続的であることも、不連続であることも可能なアレイに配置される。一般に、ボールグリッドアレイを訓練する処理により、数またはボール、ボールの直径、およびボールのピッチを含むことが可能な情報を画定する部分モデルがもたらされる。部分モデルは、アレイにおけるギャップも明らかにすることができる。
【００１８】
図１は、ボールグリッドアレイ（ＢＧＡ）半導体コンポーネントを自動的に教示すること、すなわち、ＢＧＡに関する部分モデルを生成することに関連する第１の好ましい実施形態の高レベルの流れ図である。１００に示すとおり、操作者が、ＢＧＡコンポーネントが訓練されることをシステムに明らかにすることにより、ＢＧＡ訓練関数を開始する。次に、操作者は、１０２に示される探索領域を選択する単純なタスクを実行し、１０４で探索空間パラメータを設定する。探索領域は、ビジョンシステムに対して単に探索の領域を画定する。基本的に、ビジョンシステムは、探索空間内のイメージデータを調べ、探索空間外部のイメージデータは無視する。画定されるとおり、探索空間パラメータは、ＢＧＡモデルのボールに関する可能な最大半径と最小半径を示す。好ましい実施形態では、それらの値の既定値が与えられる。
【００１９】
１０６で、システムは、ＢＧＡ部分モデルを生成するためにＢＧＡ機能を実行する。この例では、ＢＧＡは、一群の可能なボール半径のすべてをループし、最高スコアを有する特定の半径を選択することによって訓練される。好ましくは、最良のボールの直径、アレイのピッチおよびサイズを含む自動教示からの結果が、１０８で報告され、１１０で表示される。ＢＧＡ部分モデルが画定されると、ピックアンドプレースが、同様のＢＧＡコンポーネントを探し出し、そのコンポーネントを回路基板上の適切な位置に配置することができる。
【００２０】
図２ＡおよびＢを参照すると、ＢＧＡ半導体コンポーネントに自動的に教示することの文脈における第１の好ましい実施形態の技術をより詳細に示している。詳細には、システムは、１１４および１１６において可能なボールの最小半径を選択肢、その半径が訓練されるべきコンポーネントのイメージの中のボールに合致するかどうかを判定する。システムは、ピッチを推定し、エッジ拡張パラメータをゼロに設定する。エッジ拡張は、エッジを厚くするのに使用される周知の技術である。システムは、１２２でバイナリベクトル相関サブルーチンを呼び出して、ボールの可能な候補を探し出す。バイナリベクトル相関は、このケースでは、円形である高レベルの特徴と、この例では、訓練されているＢＧＡコンポーネントのイメージからのエッジである低レベルの特徴の集合の間における対応を特定する。バイナリベクトル相関の適用により、選択された半径に対する可能な最良のマッチに相当するキュー位置の集合がもたらされる。１２０で、キュー位置が記録される。
【００２１】
正規化された相関またはグレースケールベクトル相関などの他の相関技術をバイナリベクトル相関の代わりに使用してもよい。グレースケールベクトル相関は、参照により本明細書に組み込まれている「イメージの中のパターンを自動的に探し出すためのベクトル相関システム」という名称の本明細書と同じ譲受人に譲渡された米国特許第６６２３５３０号明細書で説明している。
【００２２】
１２４で、キュー位置がピクセル座標に変換される。これは、ピクセル位置に対応して、寸法に関してではなくキュー位置をアドレス指定することに関わる。例えば、ビジョンシステムが、１０００×１０００ピクセルのピクセルアレイを有するＣＭＯＳセンサを使用していたとすると、キューは、そのアレイに関してアドレス指定される。次に１２６で、キューは水平方向の位置に基づいて分類される。水平方向の分類は、ボールのアレイが長方形であるという前提に基づいて行われ、したがって、各ボールは、それぞれ０度、９０度、１８０度、および２７０度に最も近接した近隣有し、０度と１８０度の水平方向における最も近接した近隣がＸピッチであり、垂直方向における最も近接した近隣がＹピッチになっている。
【００２３】
図３は、ＸピッチがＸ０に等しく、ＹピッチがＹ０に等しいサンプルのボールグリッドアレイを表している。中空のボールから引かれた線は、０度、４５度、６７．５度、および９０度の角に沿ったアレイの周期性を示している。図４を参照すると、この関係は、円形のサイズが各スポットの輝度を表す角−ピッチ空間に変換することができる。図３および４は、アレイの妥当性を確認するのに役立つ。
【００２４】
図５により詳細に示すサブルーチン１３０によってパラメータ空間イメージが生成される。パラメータ空間イメージのグラフによる例を図４に示している。パラメータ空間は、キュー間の角、ならびにキュー間の距離で画定される。各パラメータ空間イメージは、好ましくは、各角につき１つの１８０の列と、ピクセル空間における許容される最大ピッチに２を足した数で画定される数の行を有する。パラメータ空間イメージは、ＸピッチとＹピッチを特定するのにも、各アレイ方向とＸ軸およびＹ軸の間の角を特定するのにも使用される。システムは、１２０で前に記録されたキュー位置のすべてを使用する。符号１８０で示すとおり、サブルーチン１３０は、１２０におけるキュー位置のすべてに対して処理を行う。
【００２５】
個別のキュー位置に関して、サブルーチン１３０は、次のように動作する。サブルーチン１３０は、１８２で、各キューの右側の近隣キューを獲得し、１８４で、それらのキュー間の直線距離を算出する。キュー間の角が、１８６で算出され、サブルーチン１３０は、その角が０度以上であり、１８０度未満であると想定している。１８８で示すとおり、各ピクセルの値は、各ピクセルのまわりの３×３領域内で増分される。この操作は、すべての方向でエッジを厚くすることに関わる。２００で、評価されているキューに関する関連する角および距離が記憶され、１９０で距離−角ベクトルに変換される。評価されているキューの右側に位置するさらなるキュー、すなわち、右側の近隣キューが存在する場合、システムは、１８２に戻り、別のパラメータ空間イメージを生成する。
【００２６】
サブルーチン１３０が、１２０におけるあらゆる所与のキュー位置に関して右側の近隣キューのすべてを通った場合、システムは、次に２０４で、左側のキューに移る。サブルーチン１３０は、２０６で、右側の近隣に関して行ったのと同じやり方で当該のキューとその左側の近隣キューの間の直線距離を算出する。サブルーチン１３０は、２０８で、キュー間の角も算出する。２１０で、各ピクセルの値が、当該のキューのまわりの３×３の領域内で増分される。２１４で、そのキューに関する角および距離が記憶され、２１２で、距離−角ベクトルに変換される。さらなる左側の近隣キューが存在する場合、システムは、２０４にループして戻り、左側の近隣キューに関してパラメータ空間イメージを構築することを続ける。
【００２７】
もはや左側の近隣キューが存在しない場合、システムは、２１８で、リストの中にさらなるキューが存在するかどうかを検査する。このようにして、システムは、２次元アレイの複数の行をすべて進むことができる。さらなるキューが存在する場合、システムは、１８０にループして戻り、そのキューに関するパラメータ空間イメージを、前述したとおり、そのキューの右側の近隣キューと左側の近隣キューを使用して生成する。
【００２８】
図２ＡおよびＢを再び参照すると、１２８で、パラメータ空間イメージが記録される。パラメータ空間イメージを使用して、システムは、サブルーチン１３２を利用して初期ピッチおよび初期角を計算する。初期ピッチ−初期角のサブルーチンは、Ｘ方向とＹ方向の両方で角およびピッチを算出するのに使用される目的関数を参照する。最初、目的関数は、高いピクセル値を有するパラメータ空間内の位置、つまり、０度、９０度、および１８０度に近い角、ならびに短い距離に報酬を与える（ピッチの単位値で生じるピークをピッチのより大きい整数値と区別するため）。基本的に、これは、ばらつきのないアレイに該当する位置に報酬を与える。
【００２９】
図６を参照すると、ピッチ−角のサブルーチン１３２の初期計算を説明する流れ図が示されている。１２８からのパラメータ空間イメージを使用して、システムは、２４２で、０度、９０度、および１８０度の角で、小さいピッチ値におけるパラメータ空間イメージの中のピークを見出す。２４４で、システムは、小さいピッチ値を優先して、ステップ２４２で見出された角に対して９０度の角においてパラメータ空間イメージの中でピークを見出す。システムは、２４８で、ＸピッチとＹピッチ、Ｘ角とＹ角を報告する。前述した目的関数の数式は、図６Ａでグラフによって示しており、以下のように書くことができる。すなわち、
ｆ（θ，ピッチ）＝ピクセル値（θ，ピッチ）−ｍｉｎ（θ％９０，９０−（θ％９０））−２*ピッチ
図２ＡおよびＢを再び参照すると、本発明の自動教示技術は、好ましくは、サブルーチン１４０を使用してピッチ推定および角推定を精密にする。ピッチ推定および角推定の精度を高める仕方を図７により詳細に示している。システムは、各距離−角ベクトルに関してピッチ推定および角推定の精度を高める。前述したとおり、各キューに関して１つだけの距離−角ベクトルが存在する。２２４で示すとおり、サブルーチン１４０は、１３４で記録された各距離−角ベクトルに関してピッチ推定および角推定の精度を高める。２２６で、サブルーチン１４０は、距離とおおよそのＸピッチの差が、キュー位置許容差より小さいかどうかのクエリを行う。その差がキュー位置許容差より小さい場合、システムは、２２８で、その距離をピッチ平均の中に含める。次に２３０で、サブルーチン１４０は、角とおおよそのＸ角の差が角許容差より小さいかどうかのクエリを行う。角とおおよそのＸ角が角許容差より小さい場合、角は、角平均の一部に含められる。図示するとおり、システムは、距離および角のすべてをループし、距離とおおよそのＸピッチの差、ならびに角とおおよそのＸ角の差がそれぞれの許容差より小さくなるまで、ピッチ平均および角平均を使用して距離および角の精度を高める。
【００３０】
２３４で示すとおり、次に、サブルーチン１４０は、Ｙ方向で同じく距離および角の精度を向上させる。詳細には、２３４で、サブルーチン１４０は、距離とおおよそのＹピッチの差をキュー位置許容差と比較する。その差がキュー位置許容差より小さい場合、距離は、２３６でピッチ平均に含められる。同様に、サブルーチン１４０は、２３８で、角とおおよそのＹ角の差が角許容差より小さいかどうかを調べ、２４０で、角を角平均の一部に含める。２４２で、ベクトルからの項のすべてが尽きた場合、サブルーチン１４０は、２４４および１３６で、より精度の高い角平均およびピッチ平均を計算して、記憶する。このようにして、システムは、角キューに関してＸ方向とＹ方向の両方でピッチおよび角の精度を高める。
【００３１】
図２ＡおよびＢを再び参照すると、１４０で、ピッチ推定および角推定の精度が高められ、１３６で記録された後、システムは、１４２で、１つが水平方向であり、１つが垂直方向であるようにピッチ／角を方向付ける。ピッチ／角が垂直方向に方向付けられると、１４６で、システムは、ボールグループを成長させる。ボールグループを成長させることは、基本的には、任意の特定の半径に対する最良のピッチおよび角に関する想定されるキュー位置を追加する。最初に、見出されたピッチおよび角に適合するグリッドを形成する隣接するキュー位置をグループ化する一連のボールグループが形成される。次に、最大のボールグループから始めて、同じグリッド上にある（ただし、最も近接する近隣ではない可能性がある）他のグループが一緒にマージされる。この人工的に作られたボールグループを実際の位置と比較して、合致を確認することができる。
【００３２】
ボールグループ成長サブルーチン１４６の動作を図８および９から始めてより詳細に示している。２５０および２５２で示すとおり、システムは、キュー位置を取り込み、各キューに、例えば、１、２、３、４などの番号が付けられる場合、キュー番号イメージを生成して、各キュー位置が番号を有するようにする。次に、システムは、符号２５４から始めて、各キュー位置（またはキュー番号）をループする。キューが既にグループに含まれる場合、システムは、２５４にループして戻り、新たなキューが選択される。グループに割り当てられていないキューが見つかった場合、２５８で、新しいグループが生成される。前述し、１３６で記録されたキューのＸピッチ、Ｙピッチ、Ｘ角、およびＹ角が、２５８で、新しいグループのＸピッチ、Ｙピッチ、Ｘ角、およびＹ角に照らして評価される。ピッチおよび角が同等である場合、２６２で、その新しいグループが、発見済みグループとして記録される。
【００３３】
次に２６４で、それぞれの新しいボールグループが拡張される。各ボールグループの拡張を図９により包括的に示している。２６２におけるそれぞれの発見済みボールグループに関して、２７２で、サブルーチン２６４は、グループの中の各ボールをループする。サブルーチン２６４は、隣接する方向、すなわち、０度、９０度、１８０度、および２７０度で各キューをループする。この動作中、サブルーチン２６４は、２７６で示されるとおり、予期される位置から４ピクセルの範囲内に対応するキューが存在するかどうかについてクエリを行う。システムは、キューを見出した場合、２７８で、そのキューが既にグループに割り当てられているかどうかについてクエリを行う。キューがグループの一部でない場合、キューは２８０でグループに追加される。キューがグループの一部である場合、またはキューがグループに追加済みである場合、２８２で、システムは、さらなる隣接キューが存在するかどうかについてクエリを行う。隣接キューが存在する場合、システムは、２７６にループして戻り、その隣接キューをグループに追加しようと試みる。
【００３４】
もはやキューが存在しない場合、２８４で、サブルーチン２６４は、グループの中にさらなるボールが存在するかどうかについてクエリを行う。グループの中にさらなるボールが存在する場合、サブルーチン２６４は、２７２にループして戻り、グループを拡張しようと再び試みる。グループの中にもはやボールが存在しない場合、２８６で、サブルーチン２６４は、東西方向で、すなわち、９０度および２７０度で２０を超えるボールが追加済みであるかどうかについてクエリを行う。２０を超えるボールが追加済みである場合、２８８で、システムは、Ｘピッチを再計算し、再計算されたＸピッチが、１３６で記憶される。２９０で、サブルーチン２６４は、Ｙ方向で２０を超えるボールが追加済みであるかどうかについてもクエリを行い、追加済みである場合、２９２でＹピッチが再計算される。これにより、評価されているボール直径に関してＸピッチ、Ｙピッチ、Ｘ角、およびＹ角が更新される。
【００３５】
図８に戻ると、グループが拡張された後、２６６で、サブルーチン１４６は、さらなるキューを探す。さらなるキューが存在する場合、サブルーチン１４６は、ループして２５４に戻り、残りのキューに対して、１回に１つづつ拡張を行う。２６６で、さらなるキューが存在しない場合、２６８で、ボールグループ成長サブルーチンは停止される。
図２ＡおよびＢに戻ると、サブルーチン１４６によって成長させられたボールグループが、１４４で、発見済みボールグループとして記憶される。ボールグループは、サブルーチンステップ１５０において重心法に基づいてマージされる。
【００３６】
サブルーチン１５０のボールグループマージ関数の詳細を図１０により詳細に示している。３００で、１４４において記憶された発見済みボールグループからの最大グループが選択される。３０２で、サブルーチン１５０は、残りのグループのすべてを評価してグループをマージすることができるかどうかを判定するループに入る。３０４で、サブルーチン１５０は、最大グループに適合するグループが存在するかどうかについてクエリを行う。第１の好ましい実施形態では、グループが内部に単一のボールを有する場合、または次の４つの条件、すなわち、１）２つのグループのＸピッチ間の差が、最大グループのＸピッチの５％より小さい、２）２つのグループのＹピッチ間の差が、最大グループのＹピッチの５％より小さい、３）２つのグループ間でＸ角間の差が、２度より小さい、あるいは４）２つのグループ間でＹ角間の差が、２度より小さいの１つが満たされる場合、適合する可能性があるボールグループが画定される。
【００３７】
２つの適合するボールグループが存在する場合、３０６で、サブルーチン１５０は、小さい方のグループの重心に最も近い最大グループの中のポイントを計算する。また、サブルーチン１５０は、３０８で、最大グループの中の重心に最も近い小さい方のグループの中のポイントも計算する。３０６および３０８で計算されたポイント間の距離が、キュー位置許容差より小さい場合、３１２で、２つのグループはマージされる。マージされたグループは、３１４で、新しい最大ボールグループであるように画定される。さらに、３１６で、サブルーチン１５０が、新しいグループのピッチおよび角を更新し、符号３２０で示すとおり、新しい最大グループに等しくないすべてのグループを探す。３２２で行われるクエリにより、さらなるグループが存在する場合、サブルーチン１５０は、３０２に戻り、３０４で適合性を探す。３１０で、ポイント間の距離がキュー位置許容差より小さい場合、３２２で、サブルーチン１５０は、さらなるグループが存在するかどうかについてクエリを行い、存在する場合、３０４で、適合性を探す。
【００３８】
図２ＡおよびＢを再び参照すると、ボールグループは、１５０で重心法を使用してマージされた後、サブルーチン１５６で示されるとおり、グループ公称位置に基づいて再びマージされる。サブルーチン１５６を図１１により詳細に示している。図１１を参照すると、サブルーチン１５６は、サブルーチン１５０と非常に似通った形で動作し、サブルーチン１５６は、グループの重心ではなく、グループの公称位置に基づいて２つのグループをマージしようと試みることだけが異なっている。サブルーチン１５６は、３１４におけるサブルーチン１５０からの最大の発見済みボールグループを入力することで始まる。３２４で示すとおり、サブルーチン１５６は、最大の発見済みボールグループに等しくないグループのすべてに適用される。３２６で、サブルーチン１５０の場合と同じやり方で適合性が測定される。３２８および３３０で、最大ボールグループと最小ボールグループの両方に関して、それぞれ、公称位置が計算される。３３２で、最大ボールグループの公称位置と最小ボールグループの公称位置の間の距離がキュー位置許容差より小さい場合、３３４で、小さい方のボールグループが、最大ボールグループにマージされる。次に３３６で、最大ボールグループが更新される。サブルーチン１５０の場合と同様に、３１４で、新しいグループのピッチおよび角が更新され、１３６で、新しいピッチおよび角が記憶される。次に、サブルーチン１５６は、３４２で、最大ボールグループに等しくないボールグループを探すループを再スタートする。さらなるボールグループが存在する場合、サブルーチン１５６は、先に説明したとおり、適合性を探し、最大ボールグループを拡張しようと努める。サブルーチン１５０と同様に、ステップ３３２で、小さい方のボールグループが最大ボールグループに適合しない場合、サブルーチン１５６は、最大ボールグループに追加済みでないさらなるボールグループを探すことに戻る。このようにして、サブルーチン１５０と１５６はともに、ボールグループをマージして単一のボールグループを生成するように努める。
【００３９】
図２ＡおよびＢを再び参照すると、１６０および１５８で、最大の発見済みボールグループが記憶され、１１６で想定された特定の半径に対する最良のボールグループであるように画定される。次にサブルーチン１６６で、考慮されている半径に関するスコアが計算される。一般に、スコアは、１３６で前に算出され、記録された最良のＸ角およびＹ角、ならびに最良のＸピッチおよびＹピッチに近いパラメータ空間イメージを調べることによって計算される。このスコアにより、１２２からの相関結果が評価され、高い輝度、鋭いピークに報酬が与えられ、ピークのまわりの領域内の背景雑音にペナルティーが科される。スコアの値は、３つの成分の合計から成る。第１の成分は、最良のＹおよびＹの角とピッチにおけるピクセル値である。第２の成分は、最良ポイントのまわりの小さい区域におけるピークである。この成分は、最良ポイントのそれぞれのまわりの５×５領域内のすべてのピクセル値の合計である。最後の成分は、最良ポイントのまわりの区域における背景雑音である。
【００４０】
スコアサブルーチン１６６を図１２に示している。図示するとおり、スコアは、パラメータ空間イメージ１２８、ならびに１３６で記憶されたピッチおよび角を利用する。サブルーチン１６６の最初のステップは、３５０で示すとおり、所望のＸピッチ、Ｙピッチ、ならびにＸ角、Ｙ角におけるパラメータ空間イメージからピクセル値を獲得することである。スコアは、３５４で、Ｘピッチ、Ｘ角における値にＹピッチとＹ角における値を足した２倍に設定される。３５６で、スコア計算サブルーチン１６６は、活動化領域および阻止領域を計算する。活動化領域は、ボールが見出されるべき区域に関し、阻止領域は、ボールが見出されるべきでない場所に関する。好ましい実施形態では、２つの活動化領域が存在する。第１の活動化領域は、ＸピッチとＸ角のまわりの５×５領域であり、第２の活動化領域は、ＹピッチとＹ角のまわりの５×５領域である。３５８で、各活動化領域におけるイメージ値の合計が計算され、スコアに加算される。
【００４１】
３６０で、阻止領域が計算される。２つの阻止領域が存在する。第１の領域は、Ｘピッチの２５％とＸ角のまわりの２０度のサイズの領域である。第２の領域は、Ｙピッチの２５％とＹ角のまわりの２０度のサイズの領域である。これらは、活動化領域と阻止領域の両方に関する好ましい値に過ぎず、値は変更することができるものと理解される。３６２で、各阻止領域に関する最大値が計算される。３６４で、スコアから、阻止領域からの各最大値から２５が減算される。２５という値は、活動領域内のポイントの数に過ぎない。この調整は、他の数を減算することによって行われることも可能であるものと理解される。３６６で、１６８における各半径に関する最良のボールグループに関してグループスコアが記憶される。
【００４２】
図２ＡおよびＢを再び参照すると、１６６で、スコアが計算された後、システムは、１７０で試みられるべきさらなる半径が存在するかどうかを判定する。さらなる半径が用意されている場合、システムは、１１６に戻り、次の半径に関して前述したプロセスを再び開始する。最終的に、システムは、それぞれの異なる半径に１つの最大の最良グループが関連する一連の最大の最良ボールグループを有する。最大ボールグループの各々は関連するスコアを有することになる。サブルーチン１７２において判定された最高スコアを有するボールグループが、最良ボールグループである。したがって、この最良ボールグループが、評価されているイメージに関する部分モデルである。
【００４３】
図１３を参照すると、サブルーチン１７２が最良ボールグループを選択する仕方が示されており、これは、最終的に、部分モデルに相当する。サブルーチン１７２は、１６８からの各半径に関する最良ボールグループにアクセスする。符号３７２により、サブルーチン１７２が、各半径に対する最大ボールグループ、つまり最良ボールグループのすべてに適用されることが示されている。３７６で、合成グループスコアが計算される。合成グループスコアは、当該のグループのスコアに２つの近隣グループからのスコアを足した合計に等しい。近隣グループは、グループの半径の近さに基づいて選択される。合成スコアの目的は、偽陽性をなくすことによって最良部分モデルをより正確に選択することである。偽陽性は、良好なスコアを有するが、元のイメージに合致しない半径である。それらの偽陽性は、通常、劣ったスコアと隣接している。真の陽性は、一般に、良好なスコアと隣接している。合成に隣接スコアを含めることにより、偽陽性を排除することができる。
【００４４】
３７８、３８０、および３８２で、サブルーチン１７２は、最大グループスコアを合成グループスコアに等しくなるように設定し、次に、後のグループスコアをそのスコアに対して比較する。このプロセスにより、最高合成スコアの選択がもたらされる。３８４で、サブルーチン１７２は、グループ合成スコアをループして、最高スコア、ならびに最高スコアに関連するグループを部分モデルとして選択する。次に、サブルーチンは、選択されたグループに対して品質検査サブルーチン３８６を実行する。
【００４５】
品質検査サブルーチン３８６では、公称許容差の範囲から外れるいずれのボールも、そのボールが最終モデルから取り除かれることになる。図１４を参照すると、品質検査の詳細が示されている。最初に、サブルーチン３８６は、検査許容差をセットアップする。サブルーチン３８６は、次のとおり検査許容差をセットアップする。すなわち、ｘ，ｙ位置許容差が、キュー位置許容差と同じになるように設定され、直径許容差が、好ましくは、半径の直径の３３％に設定され、丸み許容差が、０．３３に恣意的に設定される。サブルーチン３８６は、３９８で示すとおり、ボールグループの中の各ボールを考慮して、ボールが画定された品質標準を満たすかどうかを判定する。４１０で示すとおり、各ボールが検査される。４１２および４１４で、ボールが検査に合格しなかった場合、そのボールは、ボールグループから除去される。次に４１８で、サブルーチン３８６は、ボールグループに関する訂正された公称位置を計算し、４１８で、ボール検査結果が記録される。
【００４６】
サブルーチン３８６は、４２０で、ボール信頼度も計算し、これが、４２２で記録される。４２４で、検査を受けているボールのボール半径が記録され、サブルーチン３８６は、４０２で、グループの中にさらなるボールが存在するかどうかを検査する。グループの中にさらなるボールが存在する場合、サブルーチン３８６は、３９８に戻り、プロセスが継続される。すべてのボールの検査が済んだ場合、サブルーチン３８６は、４０４で示されるとおり、グループの中に最初にあったボールの総数を使用してグループ信頼度を正規化する。サブルーチンは、残りのグループの中のボールの総数を使用してグループ半径を正規化することも行う。１７４で、最良ボールグループが記録される。さらに、サブルーチン１７２は、モデルの中の各ボールに関する信頼度を計算することによって信頼度を生成する。ボール信頼度は、サブルーチン４２０によって反映され、ボールが、予期される半径を有する予期される場所にどれだけ近いか、ならびにボールがどれだけ丸いかに関連する。
【００４７】
サブルーチン４２０を図１５に示している。図１５は、４１８からのボール検査結果を利用して、ｘ位置信頼度４３０Ａ、Ｙ位置信頼度４３０Ｂ、直径信頼度４３０Ｃ、および丸み信頼度４３０Ｄを計算する。４３２で、これらの信頼度値が平均されて、４３４でボール信頼度が与えられる。多種多様な技術を使用して４３０Ａ〜Ｄで示す信頼度を計算することができることが、当分野の技術者には理解されよう。
【００４８】
図１６は、全体的な信頼度を計算するサブルーチン４３８を示している。全体的な部分モデル信頼度は、すべてのボール信頼度の合計を、品質検査に先立って部分モデルの中に最初に存在したボールの数で割ったものに過ぎない。これにより、基本的に、どれだけの数のボールが真円でないかのパーセンテージが与えられる。代替の実施形態では、最良ボールグループを使用して、既知の部分モデルのライブラリから部分モデルを選択することができる。より具体的には、サブルーチン４３８は、チームに関する検査ボール結果を使用して、そのタスクを実現することができる。４４０で、最大許容値が計算される。最大許容値は、予期される値に許容差を足した値になるように設定される。４４２で、デルタ値、つまり差分値が計算される。デルタ値は、測定値と期待値の差の絶対値になるように設定される。４４４で、信頼度が計算される。信頼度は、最大値とデルタ値の差の絶対値を最大値で割った値である。信頼度値は、１を超えた場合、それは誤ったデータポイントであるため、ゼロに設定される。
【００４９】
（ＩＩ．リード付き部分モデルの文脈における第２の好ましい実施形態による自動教示）
第２の好ましい実施形態では、本発明は、試行錯誤ではなく、体系的な手法を利用して、負担がかけられている半導体デバイスの際立った特徴を探し出し、記述する。第２の好ましい実施形態は、リード付き半導体コンポーネントに関する部分モデルを生成する文脈において説明する。リード付き半導体コンポーネントは、周辺部から延びるリードと呼ばれる複数の電線を含む。
【００５０】
第１の好ましい実施形態と同様に、第２の好ましい実施形態は、部分モデルを生成するのに使用される。部分モデルは、後に、例えば、ピックアンドプレースマシンにおいて、部分モデルが表す半導体デバイスを探し出すのに使用される。第２の好ましい実施形態では、例えば、ユーザは、リード付きコンポーネントのモデルが生成されるべきことをシステムに対して明らかにする。第２の好ましい実施形態では、システムは、システムがモデルを生成しているリード付き部分の構成に関する仮説を立てる。説明を簡単にするため、その仮説には、次のものが含まれることが可能である。リード付きコンポーネントに関して、部分は、実質的に長方形の構成に配置された複数のリードグループを含むものと仮定することができる。このため、リードグループは、４つの向き、東、西、北、および南（それぞれ９０度、１８０度、０度、および２７０度）を含むことが可能である。また、各リードグループは、全く同じピッチ、フット長（２次元でリードがどれだけの長さであるか）、およびリード幅を有する１組の均等間隔のリードを有すると仮定することもできる。さらに、リード付きコンポーネントに関して、同じ向きを有する複数のリードグループが存在する場合、それらのリードグループは、全く同じピッチ、フット長、およびリード幅を有するものと仮定することもできる。
【００５１】
本発明の第２の好ましい実施形態は、異なるタイプの半導体デバイスが評価されている場合、異なる仮定を有することが可能であるものと理解される。例えば、ＢＧＡコンポーネントに関する部分モデルが生成されている場合、デバイスの外側の境界内に一群のボールが存在し、そのボールにより直交アレイが画定されるものと仮定することができる。
図１７を参照すると、モデルが生成されているリード付きコンポーネントの典型的なイメージが示されている。図１８は、リード付きコンポーネントに関するモデルを生成するアルゴリズムの流れ図を示している。図示するとおり、プロセスは、５００で始まり、ユーザが、部分モデルが生成されるリード付きコンポーネントの例、つまり、５０４で示すとおり、そのようなコンポーネントのイメージを提供する。５０２で、ユーザは探索ウインドウを選択し、システムは、このウインドウの中で部分モデルが生成されるべきイメージを見出すことが予期される。システムは、５０８で、イメージを平滑化することから始める。イメージを平滑化することは、イメージの中の雑音を抑えるいくつかの周知のフィルタのいずれかを使用することに関わる。この平滑化操作の結果が、５０８で示すオリジナルサブイメージと呼ばれる。
【００５２】
５１０で、おおよその部分回転角が見出される。おおよその部分回転角により、部分が垂直の向きからそれている角が与えられる。部分の回転角を特定する１つの好ましいやり方は、Ｘ軸とＹ軸の両方に沿って勾配を変化させることによる。イメージのおおよその回転角が分かると、システムは、５１２で、その角だけイメージを回転させて、いくぶん垂直なイメージを生成することができる。ここで説明するとおり、第２の好ましい実施形態の好ましいやり方は、部分回転角を再計算して、正確にし、それに基づいて関連する情報を明らかにすることに関わる。
【００５３】
次に、第２の好ましい実施形態は、サブルーチン５１４を適用して、リード列の長方形を抽出する。リード列の長方形は、個々のリード列を囲む長方形の領域を表す。サブルーチン５１４を図１９でさらに示している。サブルーチンは、コーナフィルタ５６４を垂直なイメージ５１２に適用する。好ましいコーナフィルタは、イメージの中に存在することが可能な他の明るいオブジェクトからリードを孤立させるメジアンフィルタである。他のコーナフィルタを使用することも可能であるものと理解される。この操作により、５６６で示すコーナ輝度イメージがもたらされる。５６８で、ペアの同心の長方形がコーナ輝度イメージに合わされる。長方形は、全体のイメージ輝度のおよそ９９％が長方形の中に含まれるように合わされる。長方形は、好ましくは、リードグループを探し出すための新しい探索ウインドウとして使用される。５７０で、部分中心が長方形の中心となるように記録される。５７２で、探索領域は、４つのリード列に対応する４つの長方形の下位領域に分割される。図２０を参照すると、これが、符号５７３でよく示されている。５７６で、部分中心が、適切なフット長、ならびに部分中心からの列のオフセットとともに記録される。この時点で、適切なフット長は、各長方形の幅であり、列のオフセットは、列の中央線から部分中心までの距離である。
【００５４】
図１８を再び参照すると、システムは、５１６で、記録されたリード列の長方形５７４内のイメージの平均回転角を計算して、より正確な部分回転角を提供し、これが、５１８で記録される。好ましくは、射影勾配法を使用して、このより精度の高い角を計算し、５０８におけるオリジナルサブイメージが、５２０で、より精度の高い部分回転角操作からの５１８で記録された角を使用して再び回転される。これにより、新しい垂直のサブイメージがもたらされ、これが、５２２で記録される。５２２で記録された新しい垂直のサブイメージは、垂直の向きにおけるオリジナルサブイメージのより正確な表現である。好ましい実施形態の前述した態様は、絶対に必要ではないが、部分モデルの精度を高める反復法を提供する。システムは、前述したとおり、サブルーチン５１４を再び実行し、より正確な部分中心、おおよそのフット長、ならびに部分中心からの列のオフセットを計算する。これらの新しい値が、５７６で、前に計算された値の代わりに記録される。
【００５５】
サブルーチン５２８は、垂直のサブイメージ５２２からのリードのおおよその抽出を実行する。サブルーチン５２８を図２１により詳細に示している。前に計算され、記録された（５７６および５１８で）列のオフセット、フット長、および部分回転角を使用して、サブルーチン５２８は、それぞれの列の軸に沿って、５８０で示す太いルーラを適用する。５８０におけるこのルーラは、その幅のために「太い」と呼ばれる。太いルーラは、図２０に符号５８０′で図示している。太いルーラの操作の結果が、５８２で示すリード側方エッジ候補である。ユーザによって設定されたリード幅許容差およびリードピッチ許容差を使用して、サブルーチン５２８は、５８６で示すとおり、適合する上方エッジおよび下方エッジを選び、各リードの側部を明らかにする。上方エッジおよび下方エッジは、リードコンポーネントに関して立てられた仮説を満足させる場合、適合していると考えられる。それらの対応する上方エッジおよび下方エッジは、図２０に５８７で示されて、よく見ることができる。それらの対応する上方エッジおよび下方エッジの特定および選択により、サブルーチン５２８が、５８８に示すとおり、リード中心およびリード幅を計算することができるようになる。リード中心が分かると、サブルーチン５２８は、各リードの中央線に沿って、すなわち、太いルーラ５８０に対して直角にルーラ５９２を使用して、５９６で示すとおり、各リードに関する先端の位置と肩の位置を抽出する。このプロセスが、サブイメージ５９４として示した各リードグループに関して行われる。
【００５６】
前述したプロセスにより、リードに対応する可能性が高い一群のエッジがもたらされる。ただし、好ましい実施形態は、リードに対応しないエッジを拒否する追加のプロセスを提供する。６００で、エッジデータの支配的なパラメータが、個々のリードパラメータにヒストグラムを適用することによって抽出される。つまり、例えば、ヒストグラム分析により、支配的なリード幅およびフット長がもたらされる。６００で、具体的には示していないが、上方エッジおよび下方エッジが支配的なパラメータを使用することに合致するかどうかを判定することに基づき、エッジをリードに分類しなおすことができる。６００で計算されたリードの新しいセットから、リードの先端の位置、ならびにリードの肩の位置が計算され、妥当であるものと見なされる。それらの値が、６０２で記録される。これにより、６０２で妥当なリードの先端と肩がもたらされる。この情報を使用して、６０４で、各リード先端の中点を、６１２で記録されるグループ位置とともに導出することができ、６１４で、中心からのより精度の高い列のオフセットが計算され、記録される。グループ位置により、リード列の中にギャップが存在する状況で、複数のリードグループに関する情報が提供される。
【００５７】
６０８で、リード列の中の各リードに関するリードの先端および肩に直線が当てられて、より精度の高い部分回転角６１０が算出される。このデータ集合のすべてに直線を当てることにより、部分がどこにあるかのより正確な指示が提供され、したがって、より良好な部分回転角がもたらされる。前述したとおり、垂直のイメージにサブルーチン５２８を適用することにより、おおよその部分モデルがもたらされる。部分モデルは、回転されたイメージからリード情報が導出されるため、おおよそであると考えられる。
【００５８】
図１８を再び参照すると、好ましい実施形態が、リードの探索を向上させるさらなる処理を実行する。必要ではないが、この追加の処理により、部分モデルの精度が向上する。詳細には、サブルーチン５２８によって計算された部分中心、おおよそのフット長、ならびに部分中心からの列のオフセットを使用して、探索ウインドウが回転させられ、５２８ａで示すとおり、元のイメージにサブルーチン５２８が適用される。これにより、５３６で示すとおり、部分中心、フット長、ならびに部分中心からの列のオフセットの改良された計算が提供される。このより精度の高い列のオフセットおよびフット長を使用して、別のセットのコーナポイントを確立することができ、そのセットを使用して元の回転されていないイメージに関するリード列を再確立することができる。そのより精度の高い情報を使用して「列の中のリードを抽出する」サブルーチン５２８を再び適用して、リード付きコンポーネントに関する情報を提供することができる。好ましい実施形態では、イメージの中のリードの位置特定の精度を高めるさらなる処理は、イメージに対して行われない。
【００５９】
この情報により、モデルの画定に含められるより精度の高い部分回転角５４４、リード数、リード幅、ピッチ、フット長、および位置が与えられる。ただし、すなわち、サブルーチン５２８は、任意の回数、実行することができ、列のオフセット、フット長、および部分回転角は、再計算し、繰り返し計算し、例えば、ｉｃａｄ、数、フット長、幅ピッチグループ位置、およびより精度の高いオフセットをより正確に算出するのに使用することができるものと理解する。
【００６０】
リード付きコンポーネントの自動的教示は、通常、Ｊリードまたはガルウイングリードであるリードのタイプの分類も含む。リードを分類するため、システムはまず、部分のエッジを探し出す。サブルーチン５４２を使用して部分のエッジが見出され、リードが分類される。
図２２を参照すると、サブルーチン５４２がより詳細に示されている。リード付きコンポーネントに関する特定の情報、すなわち、５４６からのリード数、リード幅、ピッチ、および位置を使用して、オリジナルサブイメージ５０８の中のリードが、６２０で、黒で塗りつぶされる。放射状の太いルーラが、各リード列の中央線に沿って引かれる。サブルーチン５４２は、６２４で、リードグループの外半分の中に部分エッジが存在するかどうかについてのクエリを行う。答えが「はい」である場合、リードは、６２６で、Ｊリードとして分類され、答えが「いいえ」である場合、リードは、６２８で、ガルウイングリードとして分類される。リードタイプが、５４８で報告され、リードモデルが、５５０で報告される。
【００６１】
リード付き部分モデル５５０は、記憶されたモデル５５２に応じることが可能である。これらのモデルは、任意の所与の半導体に関するより反復可能なモデルであることが可能である。５５０でリード付き部分モデルが画定され、記録された後、システムは、既知の部分モデルのデータベースを探索して、いずれの既知の部分モデルが教示される部分モデルに最もよく合致するかを特定することができる。
【００６２】
モデルに関して信頼度を計算することもできる。信頼度は、好ましくは、５５６で示すとおり、モデルと探索領域内の垂直なイメージの間で正規化された相関を実行することによって計算される。計算係数は、モデルの信頼度を正確に表すことが確認されている。
前述したとおり、第２の好ましい実施形態を使用する部分モデルの生成は、訓練されている半導体のタイプに関する仮説を立て、次に、適切なイメージデータを絞り込んで半導体を正確に記述する。前述したとおり、第２の好ましい実施形態は、反復して部分の回転角の精度を高めて、直交リードの位置特定をより明確にし、より高速にする。
【００６３】
（ＩＩＩ．異形の形状の部分モデルを生成する文脈における第３の好ましい実施形態による自動教示）
本発明は、自動的に訓練を行うための第３の好ましい実施形態も提供する。第３の好ましい実施形態は、当該の形状に関連する固有のシグニチャを生成することに関わる。前述した自動的教示技術と同様に、異形の形状の文脈において、ユーザが、単に訓練されるべき形状は異形であることを指定し、システムが、その形状に合致する最良部分モデルを選択する。システムは、事前画定された形状のライブラリを含み、このライブラリから部分モデルを生成することができる。第３の好ましい実施形態では、その事前画定された形状には、楕円形、円形、長方形、正方形、三角形、菱形、ダブルの正方形、十字形、ダブルの十字形、四半円形、ダブルの四半円形、およびカスタム画定の形状が含まれる。
【００６４】
動作の際、システムには、部分モデルが生成されるべきオブジェクトのイメージが提供される。一般に、第３の好ましい実施形態の自動的教示技術は、２つの主な段階に分割される。第１の段階は、イメージから特徴が抽出される特徴抽出段階である。第２の段階は、システムが特徴を既知のテンプレート、事前画定された形状にマッチさせるテンプレートマッチング段階である。マッチが行われると、モデルを画定することができる。
【００６５】
図２３を参照すると、異形の基準形状を訓練する文脈における自動的教示技術に関する流れ図が示されている。６００で、ユーザは、異形の形状が訓練されることを明らかにしており、システムは、イメージが入力済みであることを検証する。当該の領域、つまりＲＯＩも指定される。ＲＯＩは、異形の形状が見出されることが予期されるイメージフレーム内の場所を記述する。６０２で、システムは、事前画定された形状のテンプレートがシステムにロード済みであることを検証する。
【００６６】
事前画定された形状のテンプレートは、固有のシグニチャの集合を特徴とする。その固有のシグニチャは、形状の中心からの径方向の距離を測ることによって導出される。図２３Ａを参照すると、それぞれ円形および正方形に関するシグニチャが示されている。図から自明であるように、各形状は、異なるシグニチャを含む。
サブルーチン６０４で、６００で前に入力されたイメージから形状が抽出される。図２４を参照すると、サブルーチン６０４がより詳細に示されている。６２０で、サブルーチン６０４は、イメージが平滑化されるべきかどうかを判定する。好ましい実施形態では、提供されるイメージは、どの場合にも平滑化される。ただし、ユーザは、この関数を非アクティブにするのを選択することができる。６２２で示すとおり、平滑化する決定が行われた場合、ＲＯＩ内のイメージにガウスフィルタが適用される。他の平滑化関数を適用することも可能であるものと理解される。平滑化関数が非アクティブにされている場合、ＲＯＩイメージは、６２４で単にコピーされる。
【００６７】
次に、サブルーチン６０４は、自動閾値操作が適切であるかどうかを考慮する。この場合も、好ましい実施形態では、サブルーチン６０４は、イメージを自動閾値処理する。ただし、ユーザが、特定の閾値によってよりよい結果が与えられることを確認する可能性があり、その場合、ユーザは、自動閾値を非アクティブにし、かつ／または値を置き換える。６２８に示すとおり、自動閾値を実行するため、適切な閾値を求めて分析されるヒストグラムが生成される。ヒストグラムにより、イメージの支配的なパラメータが与えられ、このパラメータから閾値操作を実行することができる。自動閾値は、好ましくは、分散法を使用して行われるが、他の方法も利用できることが当分野の技術者には認識されよう。閾値は、６２８で選択されると、６３０で適用される。６２６で自動閾値が指定されていない場合、ユーザが選択した閾値が、６３０で適用される。閾値は、バイナリイメージを生成する。
【００６８】
６３２で、システムは、バイナリ形態が適切であるかどうかについてクエリを行う。第３の好ましい実施形態では、サブルーチン６０４は、バイナリ形態を既定で適用することを、その関数がユーザによって非アクティブにされていない限り行う。バイナリ形態が適切である場合、サブルーチン６０４は、サイズが既定値として設定されているか、またはユーザによって与えられているバイナリ閉フィルタを６３４で適用する。好ましくは、このサイズは、使用に先立って入力される。バイナリフィルタの結果は、イメージを明瞭にするように作用する。
【００６９】
前述した前処理の後、サブルーチンは、結合コンポーネント分析を介して、６３６でＣＣＡブロブを抽出する。当技術分野で周知のとおり、ＣＣＡは、Ｃｏｎｎｅｃｔｅｄ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ（結合コンポーネント分析）を表す。結合コンポーネント分析は、事前画定されたサイズのブロブを抽出し、かつ／またはその他の特徴を抽出する能力を提供する周知のエンコード変換であり、したがって、抽出操作をフィルタリング操作と結合する。結合コンポーネント分析は、事前画定された基準を満たさないブロブをフィルタ処理することに関わる。このケースでは、基準は、６３８で示す最小サイズに基づく。サイズ以外の基準を使用してブロブを濾過して除いてもよいことが、当分野の技術者には認められよう。
【００７０】
６４０で、サブルーチン６０４は、すべての形状が見つかっているかどうかについてクエリを行う。さらなる形状が見つかっていない場合、最大のブロブが、６４４で示すＣＣＡオブジェクトであり、サブルーチン６０４は、６４２で、さらなるＣＣＡオブジェクトが分析を要するかどうかについてクエリを行う。さらなるＣＣＡオブジェクトが用意されている場合、サブルーチン６０４は、６４２で、さらなるＣＣＡオブジェクトが分析を要するかどうかについて即時にクエリを行う。ＣＣＡオブジェクトが分析済みではない場合、サブルーチン６４６が適用される。
【００７１】
サブルーチン６４６は、放射ポイントを抽出し、ＣＣＡオブジェクトに対応する固有のシグニチャを生成する。このシグニチャは、図２３Ａに示したものと同じタイプである。ＣＣＡオブジェクトのシグニチャは、正規化して、事前画定された形状のライブラリに対応するシグニチャと比較し、これにより、部分モデルのための形状を確立することができる。図２５を参照すると、サブルーチン６４６がより詳細に示されている。
【００７２】
図２５で示すとおり、サブルーチン６４６に対する入力は、ＣＣＡオブジェクトである。図２５で使用するブロブという用語は、ＣＣＡオブジェクトという用語と同じである。サブルーチン６４６は、ブロブ重心がブロブの一部であるかどうかについてクエリを行う。一部ではない場合、サブルーチンは、６６０で、何らかの極性の手がかりが与えられていないかどうかを確かめる。その極性の手がかりは、ユーザによって与えられていること、または既定値により与えられることが可能である。極性の手がかりは、オプションである。極性の手がかりには、形状がダブルの正方形であることの特定が含まれることが可能である。手がかりが全く与えられていない場合、サブルーチンは、６７０で、失敗を示し、６８２で終了する。手がかりが与えられている場合、サブルーチン６４６は、逆抽出変数を真に設定する。これにより、イメージの極性が逆転される。ブロブ重心がブロブの一部である場合、逆抽出変数は偽に設定される。以下に説明するとおり、逆抽出が偽である場合、シグニチャは、ブロブの重心から外向きに計算され、逆抽出が真である場合、シグニチャは、ＣＣＡオブジェクトの外のポイントから生成され、重心に向かって進む。
【００７３】
サブルーチン６４６は、６６８で、ブロブがＲＯＩより大きいかどうかも判定する。ブロブがＲＯＩより大きい場合、サブルーチンは、６７０で失敗し、６８２で終了する。
ブロブがＲＯＩより小さい場合、６７２に示すとおり、サブルーチン６４６は、ブロブの重心から角シータで放射するポイントまで線を構成する。６７４で、線がブロブと交差するポイントが、ポイントリストに追加される。６７４で示すとおり、ポイントを抽出するのに使用される線は、おおよそであることも、細かいことも可能である。これを「線に沿ったステップ」変数で示している。この変数もユーザによって与えられていることが可能であり、理解されるとおり、線とブロブの交差が計算される精度に関連する。６７６、６７８、および６８０で示すとおり、サブルーチン６４６は、ユーザが増分させる値または既定値で増分して３６０度にわたってループする。既定値は、１度であるように設定される。このプロセスにより、ポイントのリストがもたらされる。次に、サブルーチン６４６は、６８２で示されるとおり、ポイントのリストを戻す。
【００７４】
図２３を再び参照すると、６４６で示されるとおり、ポイントが平滑化され、画定された形状とマッチングするために正規化されることが可能である。符号６４６は、抽出された放射ポイントがテンプレートに対してマッチングされることも示している。図２６を参照すると、どのようにテンプレートを抽出された放射ポイント上で径方向に移動させてマッチを試みることができるかが示されている。図示では、破線が抽出されたシグニチャを表し、他方、実線がテンプレートを表している。
【００７５】
６４８で示すテンプレートマッチが成功しなかった場合、システムは、さらなるＣＣＡオブジェクトが分析を要するかどうかを判定する。したがって、第３の好ましい実施形態は、ＣＣＡブロブのすべてをテンプレートにマッチさせようと試みる。６５２で、システムは、見つかった形状の数が１を超えるかどうかについてクエリを行う。１つだけのテンプレートがある形状にマッチした場合、その形状が、基準のための部分モデルに対応する。複数の形状が見つかった場合には、６５４で、複数のテンプレートの指示が提供され、６５６で結果が戻される。
【００７６】
図２３を再び参照すると、第３の好ましい実施形態の残り部分が示されている。極性の手がかりが全く与えられていないために失敗が生じた場合、システムは、６０８で極性を切り替え、サブルーチン６０４を最適用することができる。これにより、マッチの成功がもたらされる可能性がある。次に、システムは、示されるとおり、６１６および６１８で最良の結果を戻す。いずれの極性も、マッチをもたらさなかった場合、システムは、６１４で誤りを戻す。
【００７７】
このようにして、第３の好ましい実施形態は、訓練されるべき各形状に関して固有のシグニチャを生成する。それらの固有のシグニチャを訓練されているイメージから抽出されたＣＣＡオブジェクトに対してマッチングすることができる。第３の好ましい実施形態は、極めて迅速であり、堅牢であることが分かっている。
（照明）
第１の好ましい実施形態から第３の好ましい実施形態までのいずれに関しても、使用される照明が自動的に選択されることが可能である。１つのやり方は、０ｘ０Ｄ「照明スコア」コマンドを介して報告される照明スコア、つまりＬreportedを最大化することにより、好ましくは、以下のとおり計算される。すなわち、
Ｌreported＝１０，０００×Ｌ
ただし、０．０から１．０まで変化する基本照明スコアＬは、以下のとおり計算される。すなわち、
Ｌ＝（Ｖ×Ｓ）Ｖmax
上記では、Ｖは、イメージウインドウの中の「前景」および「背景」に関連する分布のグレースケール平均値間の「分散正規化距離」である。したがって、Ｖの数式は、以下のとおり表すことができる。すなわち、
Ｖ＝｜ＭF−ＭB｜／√（σ2F−σ2B）
ここで使用する変数ＭFは、前景ピクセルの平均グレースケール値であり、変数ＭBは、背景ピクセルの平均グレースケール値であり、分散σ2Fは、平均値のまわりの前景ピクセルのグレースケール値の分散であり、分散σ2Bは、平均値のまわりの背景ピクセルのグレースケール値の分散である。分散値は、１．０より小さい値をとることが許されないことに留意されたい。
【００７８】
上記では、基本照明スコアＬを計算する際、Ｓは、グレースケール値が結合分布の最小値にも最大値にもないピクセルの２つの分布の分画の積である「飽和係数」である。Ｓの数式は、以下のとおり表すことができる。すなわち、
Ｓ＝ＳF×ＳB
使用される変数ＳFは、グレースケール値が低い飽和値または高い飽和値にはない前景ピクセルの分画であり、変数ＳBは、グレースケール値が低い飽和値または高い飽和値にはない背景ピクセルの分画である。
【００７９】
上記では、基本照明スコアＬを計算する際、Ｖmaxは、飽和係数低減を考慮に入れる「可能な最大の分散正規化距離」である。Ｖmaxの数式は、以下のとおり表すことができる。すなわち、
【００８０】
【数１】
2005524220.tif 000003
【００８１】
使用される変数Ｇmaxは、デジタル化中に実現可能な最大グレースケール（例えば、２５５）であり、変数Ｇminは、デジタル化中に実現可能な最小グレースケール（例えば、０）である。
照明スコアは、前景のピクセルグレースケール分布と背景のピクセルグレースケール分布に強く依存するため、照明スコアは非常にシーン依存であるものと理解される。したがって、２つの異なるイメージからの照明スコアを比較する際、照明自体が、唯一の変数でなければならない。
【００８２】
本発明を特定の方法に関連して説明してきたが、それらの方法のそれぞれは、ＣＤ−ＲＯＭなどのコンピュータ可読記憶媒体上にエンコードすることができるものと理解される。さらに、方法のそれぞれは、説明したタイプの部分モデルを自動的に画定することに限定されないものと理解される。例えば、リード付き半導体の文脈で説明した体系的な手法を使用してあるボールグリッドアレイタイプのコンポーネントを画定することができ、あるいは逆に、ボールグリッドアレイの文脈で説明した試行錯誤法を使用して、リード付き半導体のための部分モデルを画定することができるものと理解される。さらに、半導体技術が進展するにつれ、さらなるタイプのコンポーネントも開発される可能性があるものと理解される。部分モデルを画定する本方法は、それらのまだ開発されていないコンポーネントのための部分モデルを画定することにも適用可能性を有する可能性がある。したがって、本発明は、本明細書によってではなく、特許請求の範囲によって限定される。
【図面の簡単な説明】
【００８３】
【図１】ボールグリッドアレイを訓練することの文脈における本発明の第１の実施形態を示す高レベルの流れ図である。
【図１Ａ】本発明を示す高レベルの流れ図である。
【図２Ａ】ボールグリッドアレイを訓練することの文脈における本発明の第１の好ましい実施形態に関するアルゴリズムの詳細を提供する図である。
【図２Ｂ】ボールグリッドアレイを訓練することの文脈における本発明の第１の好ましい実施形態に関するアルゴリズムの詳細を提供する図である。
【図３】サンプルのボールグリッドアレイを示す図である。
【図４】角−ピッチ空間に変換されたボールグリッドアレイのイメージを示す図である。
【図５】ボールグリッドアレイを訓練することの文脈におけるパラメータ空間イメージの生成を示す流れ図である。
【図６】ボールグリッドアレイを訓練することの文脈におけるおおよそのピッチおよび角の推定を示す流れ図である。
【図６Ａ】ボールグリッドアレイを訓練することの文脈における目的関数の角部分および距離部分を示す図である。
【図７】ボールグリッドアレイを訓練することの文脈におけるより精度の高いピッチ−角推定を示す流れ図である。
【図８】ボールグリッドアレイを訓練することの文脈における第１の実施形態のボールグループ成長関数を示す流れ図である。
【図９】ボールグリッドアレイを訓練することの文脈における第１の実施形態のグループアレイ拡張関数を示す流れ図である。
【図１０】ボールグリッドアレイを訓練することの文脈における第１の実施形態のボールグループ重心マージ法関数を示す流れ図である。
【図１１】ボールグリッドアレイを訓練することの文脈における第１の実施形態のボールグループ公称位置マージ法関数を示す流れ図である。
【図１２】ボールグリッドアレイを訓練することの文脈における第１の実施形態に関するスコアの計算を示す流れ図である。
【図１３】ボールグリッドアレイを訓練することの文脈における第１の実施形態の最良ボールグループ選択関数を示す流れ図である。
【図１４】ボールグリッドアレイを訓練することの文脈における第１の実施形態の品質検査関数を示す流れ図である。
【図１５】ボールグリッドアレイを訓練することの文脈における第１の実施形態に関するボール信頼度計算を示す流れ図である。
【図１６】ボールグリッドアレイを訓練することの文脈における第１の実施形態の信頼度計算関数を示す流れ図である。
【図１７】リード付き半導体コンポーネントを示す図である。
【図１８】リード付き半導体コンポーネントに教示することの文脈における第２の実施形態を示す流れ図である。
【図１９】リード付き半導体コンポーネントを訓練することの文脈における第２の実施形態に関するリード列の長方形の抽出を示す流れ図である。
【図２０】リード付き半導体コンポーネントを訓練することの文脈における第２の実施形態でルーラおよび長方形の適用を示す図である。
【図２１】リード付き半導体コンポーネントを訓練することの文脈における第２の実施形態に関して列の中のリードの抽出を示す流れ図である。
【図２２】リード付き半導体コンポーネントを訓練することの文脈における第２の実施形態に関して部品エッジを画定することを示す流れ図である。
【図２３】異形の形状に関する自動化された教示技術を示す第３の実施形態の最高レベルの流れ図である。
【図２３Ａ】第３の実施形態による正方形および円のシグニチャを示す図である。
【図２４】第３の実施形態の形状の抽出を示す流れ図である。
【図２５】第３の実施形態の放射ポイントの抽出を示す流れ図である。
【図２６Ａ】第３の実施形態の対応する形状にシグニチャをマッチさせることができるやり方を示す図である。
【図２６Ｂ】第３の実施形態の対応する形状にシグニチャをマッチさせることができるやり方を示す図である。
【図１】
2005524220.tif 000004
【図１Ａ】
2005524220.tif 000005
【図２Ａ】
2005524220.tif 000006
【図２Ｂ】
2005524220.tif 000007
【図３】
2005524220.tif 000008
【図４】
2005524220.tif 000009
【図５】
2005524220.tif 000010
【図６】
2005524220.tif 000011
【図６Ａ】
2005524220.tif 000012
【図７】
2005524220.tif 000013
【図８】
2005524220.tif 000014
【図９】
2005524220.tif 000015
【図１０】
2005524220.tif 000016
【図１１】
2005524220.tif 000017
【図１２】
2005524220.tif 000018
【図１３】
2005524220.tif 000019
【図１４】
2005524220.tif 000020
【図１５】
2005524220.tif 000021
【図１６】
2005524220.tif 000022
【図１７】
2005524220.tif 000023
【図１８】
2005524220.tif 000024
【図１９】
2005524220.tif 000025
【図２０】
2005524220.tif 000026
【図２１】
2005524220.tif 000027
【図２２】
2005524220.tif 000028
【図２３Ａ】
2005524220.tif 000029
【図２４】
2005524220.tif 000030
【図２５】
2005524220.tif 000031
【図２６Ａ】
2005524220.tif 000032
【図２６Ｂ】
2005524220.tif 000033
【手続補正書】
【提出日】平成17年4月4日(2005.4.4)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図２３
【補正方法】追加
【補正の内容】
【図２３】
2005524220.tif 000034
【国際調査報告】
2005524220.tif 000035