JP2004062784A - 被検体の識別方法及び被検体の位置検出方法 - Google Patents
被検体の識別方法及び被検体の位置検出方法 Download PDFInfo
- Publication number
- JP2004062784A JP2004062784A JP2002223575A JP2002223575A JP2004062784A JP 2004062784 A JP2004062784 A JP 2004062784A JP 2002223575 A JP2002223575 A JP 2002223575A JP 2002223575 A JP2002223575 A JP 2002223575A JP 2004062784 A JP2004062784 A JP 2004062784A
- Authority
- JP
- Japan
- Prior art keywords
- code
- chain
- subject
- coding
- coded
- 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
Links
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
【課題】電子部品を位置決めするための境界検索アルゴリズムを用いて高速に電子部品の位置決めを行なえる。
【解決手段】8チェインコード化及び16チェインコード化を用いて被検体の位置の識別及び位置検出を高速に行なう。
【選択図】 図1
【解決手段】8チェインコード化及び16チェインコード化を用いて被検体の位置の識別及び位置検出を高速に行なう。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、電子用チップ部品等の被検体の認識方法及び被検体の位置検出方法に関する。
【0002】
【従来の技術】
従来から、電子部品として、チップ部品等を実装する実装装置として基板保持テーブル上に載置した回路パターンが形成された基板上に電子部品を実装するため、吸着ノズルを介して、電子部品を吸着し、この吸着した電子部品を撮像手段で撮像し、この撮像した電子部品の画像から吸着位置や傾き等を検出して、電子部品の形状、ノズルの中心軸回りの回転角度等を補正して基板上の所定位置に搭載し、電子部品を実装するように成した実装装置が特開平6−11326号公報に示されている。
【0003】
上述の公報には被検体を撮像手段で撮像して、被検体の像を取り込んで、輪郭線を抽出し、輪郭線に沿って向きが同じで、略同一絶対値を有し、かつ全輪郭線上で一列に連続して配置された複数のベクトルを設定し、この設定したベクトルの傾き分布を求め、この分布に基づいて被検体の長手方向を検出する検出方法及び認識方法が開示されている。
【0004】
又、例えば1つの画像ijに対してその8近傍に存在する画素の相対位置1乃至8(または0乃至7)を1つのマクロブロックとして、図14(A)に示す様な相対位置コードを作り、線図形等の連続した画素列を例えば図14(B)に示す様に線図形をコードで表すことで線図形の曲がり具合等を解り易く表したチェインコードが知られている。(テレビジョン・画像情報工学ハンドブック1990年11月30日発行p422参照)
【0005】
図14(B)の線図形はこのチェインコードで表すと007655700101となり、線図形の向く方向が解るので形状の特徴が解り易くなる。
【0006】
【発明が解決しようとする課題】
従来技術で説明した実装装置に於ては撮像手段で取り込んだ被検体の画像の輪郭上に同一絶対値を有し、かつ全輪郭線上に一列に連続するように配置された複数のベクトルを設定し、この設定したベクトルの傾き分布を求めるために複数の傾き角を求める必要があり、輪郭線上の所定の線分を定めるのに多くの時間を要する課題を生じていた。更に、従来では相関や特殊なアルゴリズムを用いて、形状認識や被検体の位置決めを行なっているため、特殊なハードウェアが必要と成り、開発に多くの時間を要し、認識精度も悪い結果を生じていた。
【0007】
本発明は叙上の課題を解決するために成されたもので、本発明が解決しようとする課題は輪郭線の線分決定時にチェインコードを用いて短時間に被検体の形状や線分の演算が可能で簡単かつ短時間に被検体の輪郭形状の認識が可能であり、又被検体の位置決めが容易でかつ高精度に実装可能な被検体の識別方法及び被検体の位置検出方法を提供しようとするものである。
【0008】
【課題を解決するための手段】
本発明の被検体の識別方法は被検体の像を撮像手段を介して記憶手段に取り込み、像の輪郭線を抽出して、被検体の形状を識別する被検体の識別方法に於いて、n分割して相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウを被検体の輪郭線に沿ってトレースして、nコード化する第1のチェインコード化ステップと、第1のチェインコード化ステップでコード化したチェインコードの隣り合う境界のコードを2n分割した相対位置とベクトル方向をマクロブロック毎にコード化した相対コードによってコード化を行なって平均化する第2のチェインコード化ステップと、第2のチェインコード化ステップで得たコードの0又はn番のコードを必要に応じてn+1又は−1番のコードに修正する修正ステップと、この修正ステップに基づくコードによって被検体の形状を識別する様に成したものである。
【0009】
本発明の被検体の位置検出方法は被検体の像を撮像手段を介して、記憶手段に取り込み、像の輪郭線を抽出し、被検体の位置検出方法に於いて、分割して、相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウを被検体の輪郭線に沿ってトレースして、nコード化する第1のチェインコード化ステップと、この第1のチェインコード化ステップでコード化したチェインコードの隣り合う境界のコードを2n分割した相対位置とベクトル方向をマクロブロック毎にコード化した相対コードによってコード化を行なって平均化する第2のチェインコード化ステップと、この第2のチェインコード化ステップで得たコードの0又はn番のコードを必要に応じてn+1又は−1番のコードに修正する修正ステップとこの修正ステップに基づくコードによって被検体の位置を検出する様に成したものである。
【0010】
本発明の被検体の識別方法及び被検体の位置検出方法に依れば、共通化させた境界探索アルゴリズム(n方向コード化と2n方向コード化)を用いて簡単に被検体の輪郭及び位置決めが出来ると共に、高速度でかつ高精度に被検体の位置決めを行なうことが出来るものが得られる。
【0011】
【発明の実施の形態】
以下、本発明の被検体の識別装置及び被検体の位置検出方法を図1乃至図13を用いて詳記する。
【0012】
図1は本発明の被検体の識別装置及び被検体の位置検出方法を示すブロック図であるが本発明を説明するに先だち、図2を用いて本発明に使用する電子部品の実装装置の一形態例を説明する。
【0013】
図2において、3は移載ヘッドであり、移載ヘッド移動制御手段14によって水平方向及び垂直方向に移動できるように設けられている。Nは移載ヘッド3の下部に取り付けられた吸着ノズルであり、図示しない吸引手段に連通しており、被検体である電子部品OBを吸着する。この吸着ノズルNは、移載ヘッド3に内蔵されたモータMにより吸着ノズルNの中心線を中心にθ方向に回転するようになっている。3aは、吸着ノズルNに同軸的に設けられた円板状の反射板であり、光源2からの光aの照射により照明される。
【0014】
1は撮像手段を構成するカメラであり、反射板3aの下方に位置する電子部品OBのシルエットを撮像する。このカメラ1には、固体撮像素子であるCCDカメラを使用する。4は電子部品OBを供給するパーツフィーダ、11はその表面に回路パターンLが形成された基板10を保持する基板保持テーブルである。5は、カメラ1から出力された画像信号を、ディジタル信号に変換するA/D変換器、6はこのディジタル信号を格納するフレームメモリ、7はROM8内に記憶されたプログラムに従って、各種の演算や処理を行なうCPU、9は演算結果を記憶するRAMであり、基準のパターンデータが格納されている。13はモータMを制御する駆動回路、15は移載ヘッド移動制御手段14と駆動回路13を制御するマシンコントローラでありCPU7に接続されている。この電子部品の実装装置は、カメラ1によって電子部品OBを観察してその位置や形状をCPU7により算出し、この結果に基づいてマシンコントローラ15が駆動回路13及び移載ヘッド移動制御手段14を制御して、電子部品OBを基板10へ搭載するように構成されている。
【0015】
次に図1に示すフローチャートに基づいて、本発明の被検体である電子部品OBの識別方法及び電子部品位置検出方法を説明する。
【0016】
本発明は電子部品を位置決めするためにチェインコードを用いた境界探査方法及びチェインコード化した隣り合うコードを平均化をする演算方法並びにこの演算方法で得られたチェインコード化したコードを用いて電子部品の輪郭や吸着位置を認識又は検出する検出方法から成るもので、図1は本発明の電子部品であるチップ部品、QFP(Qwad Flat Package :表面実装型フラット4方向パッケージ)、BGA(Ball Grid Array :表面実装エリア型パッケージ)等を位置決めして実装する場合の検索アルゴリズムを示すものである。
【0017】
先ず、図2に示すカメラで被検体OBの輪郭形状画像を取り込み、A/D変換器5を介して画像デジタルデータをフレームメモリ6に格納する。この画像デジタルデータは例えば図3の様に画像の輪郭が境界線12で示す様な形状のシルエットパターンが得られたとすると、輪郭境界線12の所定の開始点17を中心に図3のA部の拡大部を示す図4の如き3×3に9分割し、相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウ16を輪郭境界線12に沿って例えば反時計方向(左回り)にトレースさせて、チェインコード化を行なう。
【0018】
即ち、第1ステップS1 では、ウィンドウ16に図5(A)(B)に示す様な被検体OBの輪郭境界線12の境界点Mに対し、下方向(垂直)を示す相対コードを8、左下45°方向を示す相対コードを9(1)、左方向(水平)方向を示す相対コードを10(2)、左上45°方向を示す相対コードを11(3)、上方向(垂直)を示す相対コードを12(4)、右上45°方向を示す相対コードを5(13)、右方向(水平)を示す相対コードを6(14)、右下45°方向を示す相対コードを7(15)と定めて、相対位置とベクトルの方向をコード化する。尚、括弧でくくったコードは後述するも輪郭線12の切れ目部分の演算時に用いる相対位置及びベクトル方向を示すコードである。
【0019】
即ち、境界点Mに対し各マクロブロックを8方向コード化したウィンドウ16は図4に示す様に例えばトレース方向18に向って右方向(水平)を示すコード6又は(14)から順に矢印Bの様に反時計方向(左回り)にトレースして境界線12があった場合にコード11又は(3)を定め、次の進行方向とする。
【0020】
今、境界点Mが5<=M<=12の相対コードを用いて、図3に示す被検体OBの撮像画像19の輪郭境界線12の開始点17からトレースを開始して、コード化を進めた場合、コードは図3に示すように8→7→8→8→7→6→6→6→6→5と順次コード化されることに成る。反時計方向に1周して開示点17の手前迄トレースして第1のチェインコード化が成される。
【0021】
この場合、上述の重複してコード付けした括弧内のコードを用いて、撮像画像19の例えば右下点20ではコードは6→12→12→11となるので6→(4)→(4)→(3)の様なコードの用い方をして、平均化する時に6→12の様に差の大きいコードとせず演算し易い様にすることも出来る。
【0022】
上述の様に第1の8方向のチェインコード化に係わる第1ステップS1 の終了後に図1に示す第2ステップS2 による第2の16方向のチェインコード化が行なわれる。
【0023】
第2の16方向のチェインコード化は図6及び図7に示す如く16方向コード化が行なわれる。即ち、図6に示す様に被検体OBを撮像した撮像画像19の輪郭境界線12に対して第1ステップS1 で8方向コード化した隣り合う2つの境界コードM0 ,M1 を平均化する。この平均化は下記1式から算出する。
N=24−M0 −M1 ・・・(1)
【0024】
即ち、図7に於いて、開始点17での隣接する8方向化コードはM0 =8、M1 =7であるからN0 =24−8−7=9、次のM1 =7、M2 =8ではN1 =24−7−8=9、次のM2 =8、M3 =9ではN2 =24−8−8=8・・・と極めて簡単な(1)式を用いて、図6に示す様な0<=N<=15で示す16方向コード化が行なわれる。従って、第2ステップS2 では境界画素の前後のコードM0 ,M1 ,M2 ,M3 ・・・から新たな16種類のコードNを各境界画素にコード化したことになり、上下左右25°方向のベクトル方向の傾きに対応する相対コードのコード化を図ることが出来る。
【0025】
次の第3ステップS3 では0,15番のコード修正を行なう。これは0番と15番のコードを必要に応じて、演算が簡単で連続番号と成る様に16番と−1番或は17と−2等の急激に境界点で変化するコードの平均化時の誤差を少なくする様にコードの付け変える修正を行なう。例えば14→15→14→15→0→15→0→15とコード化された場合は14→15→14→15→16→15→16→15に又、0→1→2→2→0→15→0→15の場合は0−1−2→2→0→−1→0→−1の様にコード修正を行なうことになる。
【0026】
第4ステップST4 では輪郭境界線12の辺の切れ目の修正が行なわれることになり、エンドに至る。
【0027】
上述のアルゴリズムを用いることで、境界検索アルゴリズム(8方向コード化及び16方向コード化)を使って電子部品である。チップ部品の境界検索時間を8m秒程度の極めて高速な境界検索が可能と成り、特殊なハードウェアが必要でなくなって、開発時間や費用を大幅に削減可能と成った。
【0028】
次に図8乃至図12を用いて、電子部品OBとして、チップ部品の位置決めする場合のアルゴリズムを説明する。図8はチップ部品を基板11に位置決めするためのフローチャートを示すものであり、第1ステップST1 では被検体OBをカメラ1を介してフレームメモリ6に格納した画像データを2値化して画像を白黒2色にし、チップ部品の輪郭外を例えば白、輪郭内を黒とする様な2値化が行なわれる。
【0029】
次の第2ステップST2 では2次モーメント即ち、重心と傾きを計算してチップ部品の重心を求める。
【0030】
次の第3ステップST3 ではチップ部品の境界を検索するトレースを行ない図1のフローチャートで説明した8方向コード化及び16方向コード化を行なう。
【0031】
次の第4ステップST4 ではチップ部品の輪郭を複数の直線で近似する直線化を行なった後に、第5ステップST5 でチップ部品の形状判断が行なわれて、エンドに至り位置決めが成される。
【0032】
上述の第4及び第5ステップST4 及びST5 の直線化のフローチャートの詳細を図9及び図10に、形状判定のフローチャートの詳細を図11及び図12で説明する。
【0033】
図9は直線化の為のフローチャートを示すもので、第1ステップST4aでは撮像画像19の境界線12を構成する図10に示す直線20aコーナの16方向チェインコードで定めたコードの始点及び終点をサーチする。
【0034】
次の第2ステップST4bでは始点P0 と終点P1 の内側近傍に3×3のウィンドウ16を持ち来して、図10に示す始点P0 、終点P1 の内側のR0 ,R1 の始点及び終点のインデックスを検出する。
【0035】
第3ステップST4cではウィンドウ16のインデックスR0 の座標、XY方向コードを取得する。
【0036】
次の第4ステップST4dでは2値化レベル差(濃淡差)から境界線12の直線20a上の2値閾値をよぎる位置をサブピクセル(マクロブロック)で求めたQ0 ,Q1 の座標を取得する。
【0037】
第5ステップST4eでは各直線20a,20bを直線式のax+by=1から直線の係数a,bを求める。
【0038】
第6ステップST4fでは部品に外接する直線を描画する。
【0039】
第7ステップST4gでは直線20aとペアと成る直線20bの番号を検出する。
【0040】
第8ステップST4hではペアの2直線の解を求めてPn を算出する。即ちサブピクセルを取得することで直線化ステップが終了する。
【0041】
図11は図8で示した形状判断を示す第5ステップの詳細を示すものであり、第1ステップST5aではこの2直線20a,20b等の角度θ0 ,θ1 ,θ2 ,θ3 を算出する。
【0042】
第2ステップST5bでは直線20a,20b等の辺の長さL0 ,L1 ,L2 ,L3 を算出する。
【0043】
第3ステップST5cでは予め被検体の電子部品が解っているのでこの電子部品の形状等の基準データとのマッチングを行なう。
【0044】
第4ステップST5dではチップ部品の中心と傾きを算出することでエンドに至る。
【0045】
上述では電子部品としてチップ部品の形状についての識別方法及び位置検出方法を説明したが電子部品としてQFPやBGA等も同様に位置決めすることが出来る。QFPを位置決めする場合のアルゴリズムは、2値化し、ラベリングを行ない、固まり(リード)ごとに重心と長軸の角度を求める。その後、重心の近いもの同士を分類し、リードがどの辺に属しているかを求める。その際、長軸でリードの方向を確認する。長辺で挟まれた直線が短辺をよぎったところ(座標)を得ることでリードの先端座標を得たことになる。最小2乗近似でリード先端列の直線を得て、QFPの位置と傾きを算出する様にする。
【0046】
又、BGAでは2値化し、ラベリングを行ない、固まり(ボール)ごとに重心を求める。その後、重心の近いもの同士を分類し、ボールがどの辺に属しているかを求める。一番出っ張っているところをよぎったところ(座標)を得ることで、ボールの先端座標を得たことになる。最小2乗近似でボール先端列の直線を得て、BGAの位置と傾きを算出する様にすればよい。
【0047】
従来では特殊なハードウェアが必要となり、多くの時間と費用が掛かったが本発明は上述の様に成されているので共通化させた境界検索アルゴリズム(8方向コード化と16コード化)を使って簡単に電子部品の位置決めをすることが可能となった。
【0048】
又、従来では処理速度がBGA等では200m秒以上であったものがBGAで80m秒程度に部品の位置決めを行なうことが可能となった。更に、チップ部品では23m秒、BFPでは67m秒で位置決めを行なうことが可能となった。
【0049】
更に、認識精度が従来では1/4画素程度であったものが、本発明では1/20画素以内の高精度で部品の位置決めを行なうことが出来る。
【0050】
上述の認識精度を測定するためにはカメラスタンド上にマイクロテーブルを置き、その上にチップ部品を置く。このチップ部品の画像をカメラで取り込むために、カメラスタンドの支柱にカメラを取り付けて、マイクロテーブルを10μmずつ移動させながら10回画像を取り込んだ。画像処理上で何μm移動したかをサブピクセルで測定するために、絶対位置を10回繰り返して測定した。移動距離の誤差がどれくらいあったかを、図13のグラフに示す。図13では一画素が45.9ミクロンで10μm水平方向に移動させた時の誤差は±0.05(1/20)画素以内に入っていることを確認した。
【0051】
【発明の効果】
本発明の被検体の識別方法及び被検体の位置検出方法によれば共通化させた境界検索アルゴリズムを使って、簡単に部品位置決めが可能でチップ部品等では23m秒で位置決めが可能となり認識精度も1/20画素以内の精度を得た。
【図面の簡単な説明】
【図1】本発明のコード化方法のフローチャートである。
【図2】本発明の実装装置の一形態例を示す説明図である。
【図3】本発明の8コード化方法を説明するための説明図である。
【図4】図3のA部拡大図である。
【図5】本発明に用いる8コード化ウィンドウの説明図である。
【図6】本発明に用いる16コード化ウィンドウの説明図である。
【図7】本発明の16コード化方法を示す説明図である。
【図8】本発明に用いるチップ部品の位置決めアルゴリズムのフローチャートである。
【図9】本発明に用いるチップ部品の位置決めアルゴリズムの直線化のフローチャートである。
【図10】直線化の設定方法を説明する説明図である。
【図11】本発明に用いるチップ部品の位置決めアルゴリズムの形状判断のフローチャートである。
【図12】本発明の形状判定方法説明図である。
【図13】認識精度を説明するためのグラフである。
【図14】従来のチェインコードを説明する説明図である。
【符号の説明】
1‥‥カメラ、3‥‥移載ヘッド、OB‥‥被検体、12‥‥境界線、16‥‥ウィンドウ
【発明の属する技術分野】
本発明は、電子用チップ部品等の被検体の認識方法及び被検体の位置検出方法に関する。
【0002】
【従来の技術】
従来から、電子部品として、チップ部品等を実装する実装装置として基板保持テーブル上に載置した回路パターンが形成された基板上に電子部品を実装するため、吸着ノズルを介して、電子部品を吸着し、この吸着した電子部品を撮像手段で撮像し、この撮像した電子部品の画像から吸着位置や傾き等を検出して、電子部品の形状、ノズルの中心軸回りの回転角度等を補正して基板上の所定位置に搭載し、電子部品を実装するように成した実装装置が特開平6−11326号公報に示されている。
【0003】
上述の公報には被検体を撮像手段で撮像して、被検体の像を取り込んで、輪郭線を抽出し、輪郭線に沿って向きが同じで、略同一絶対値を有し、かつ全輪郭線上で一列に連続して配置された複数のベクトルを設定し、この設定したベクトルの傾き分布を求め、この分布に基づいて被検体の長手方向を検出する検出方法及び認識方法が開示されている。
【0004】
又、例えば1つの画像ijに対してその8近傍に存在する画素の相対位置1乃至8(または0乃至7)を1つのマクロブロックとして、図14(A)に示す様な相対位置コードを作り、線図形等の連続した画素列を例えば図14(B)に示す様に線図形をコードで表すことで線図形の曲がり具合等を解り易く表したチェインコードが知られている。(テレビジョン・画像情報工学ハンドブック1990年11月30日発行p422参照)
【0005】
図14(B)の線図形はこのチェインコードで表すと007655700101となり、線図形の向く方向が解るので形状の特徴が解り易くなる。
【0006】
【発明が解決しようとする課題】
従来技術で説明した実装装置に於ては撮像手段で取り込んだ被検体の画像の輪郭上に同一絶対値を有し、かつ全輪郭線上に一列に連続するように配置された複数のベクトルを設定し、この設定したベクトルの傾き分布を求めるために複数の傾き角を求める必要があり、輪郭線上の所定の線分を定めるのに多くの時間を要する課題を生じていた。更に、従来では相関や特殊なアルゴリズムを用いて、形状認識や被検体の位置決めを行なっているため、特殊なハードウェアが必要と成り、開発に多くの時間を要し、認識精度も悪い結果を生じていた。
【0007】
本発明は叙上の課題を解決するために成されたもので、本発明が解決しようとする課題は輪郭線の線分決定時にチェインコードを用いて短時間に被検体の形状や線分の演算が可能で簡単かつ短時間に被検体の輪郭形状の認識が可能であり、又被検体の位置決めが容易でかつ高精度に実装可能な被検体の識別方法及び被検体の位置検出方法を提供しようとするものである。
【0008】
【課題を解決するための手段】
本発明の被検体の識別方法は被検体の像を撮像手段を介して記憶手段に取り込み、像の輪郭線を抽出して、被検体の形状を識別する被検体の識別方法に於いて、n分割して相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウを被検体の輪郭線に沿ってトレースして、nコード化する第1のチェインコード化ステップと、第1のチェインコード化ステップでコード化したチェインコードの隣り合う境界のコードを2n分割した相対位置とベクトル方向をマクロブロック毎にコード化した相対コードによってコード化を行なって平均化する第2のチェインコード化ステップと、第2のチェインコード化ステップで得たコードの0又はn番のコードを必要に応じてn+1又は−1番のコードに修正する修正ステップと、この修正ステップに基づくコードによって被検体の形状を識別する様に成したものである。
【0009】
本発明の被検体の位置検出方法は被検体の像を撮像手段を介して、記憶手段に取り込み、像の輪郭線を抽出し、被検体の位置検出方法に於いて、分割して、相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウを被検体の輪郭線に沿ってトレースして、nコード化する第1のチェインコード化ステップと、この第1のチェインコード化ステップでコード化したチェインコードの隣り合う境界のコードを2n分割した相対位置とベクトル方向をマクロブロック毎にコード化した相対コードによってコード化を行なって平均化する第2のチェインコード化ステップと、この第2のチェインコード化ステップで得たコードの0又はn番のコードを必要に応じてn+1又は−1番のコードに修正する修正ステップとこの修正ステップに基づくコードによって被検体の位置を検出する様に成したものである。
【0010】
本発明の被検体の識別方法及び被検体の位置検出方法に依れば、共通化させた境界探索アルゴリズム(n方向コード化と2n方向コード化)を用いて簡単に被検体の輪郭及び位置決めが出来ると共に、高速度でかつ高精度に被検体の位置決めを行なうことが出来るものが得られる。
【0011】
【発明の実施の形態】
以下、本発明の被検体の識別装置及び被検体の位置検出方法を図1乃至図13を用いて詳記する。
【0012】
図1は本発明の被検体の識別装置及び被検体の位置検出方法を示すブロック図であるが本発明を説明するに先だち、図2を用いて本発明に使用する電子部品の実装装置の一形態例を説明する。
【0013】
図2において、3は移載ヘッドであり、移載ヘッド移動制御手段14によって水平方向及び垂直方向に移動できるように設けられている。Nは移載ヘッド3の下部に取り付けられた吸着ノズルであり、図示しない吸引手段に連通しており、被検体である電子部品OBを吸着する。この吸着ノズルNは、移載ヘッド3に内蔵されたモータMにより吸着ノズルNの中心線を中心にθ方向に回転するようになっている。3aは、吸着ノズルNに同軸的に設けられた円板状の反射板であり、光源2からの光aの照射により照明される。
【0014】
1は撮像手段を構成するカメラであり、反射板3aの下方に位置する電子部品OBのシルエットを撮像する。このカメラ1には、固体撮像素子であるCCDカメラを使用する。4は電子部品OBを供給するパーツフィーダ、11はその表面に回路パターンLが形成された基板10を保持する基板保持テーブルである。5は、カメラ1から出力された画像信号を、ディジタル信号に変換するA/D変換器、6はこのディジタル信号を格納するフレームメモリ、7はROM8内に記憶されたプログラムに従って、各種の演算や処理を行なうCPU、9は演算結果を記憶するRAMであり、基準のパターンデータが格納されている。13はモータMを制御する駆動回路、15は移載ヘッド移動制御手段14と駆動回路13を制御するマシンコントローラでありCPU7に接続されている。この電子部品の実装装置は、カメラ1によって電子部品OBを観察してその位置や形状をCPU7により算出し、この結果に基づいてマシンコントローラ15が駆動回路13及び移載ヘッド移動制御手段14を制御して、電子部品OBを基板10へ搭載するように構成されている。
【0015】
次に図1に示すフローチャートに基づいて、本発明の被検体である電子部品OBの識別方法及び電子部品位置検出方法を説明する。
【0016】
本発明は電子部品を位置決めするためにチェインコードを用いた境界探査方法及びチェインコード化した隣り合うコードを平均化をする演算方法並びにこの演算方法で得られたチェインコード化したコードを用いて電子部品の輪郭や吸着位置を認識又は検出する検出方法から成るもので、図1は本発明の電子部品であるチップ部品、QFP(Qwad Flat Package :表面実装型フラット4方向パッケージ)、BGA(Ball Grid Array :表面実装エリア型パッケージ)等を位置決めして実装する場合の検索アルゴリズムを示すものである。
【0017】
先ず、図2に示すカメラで被検体OBの輪郭形状画像を取り込み、A/D変換器5を介して画像デジタルデータをフレームメモリ6に格納する。この画像デジタルデータは例えば図3の様に画像の輪郭が境界線12で示す様な形状のシルエットパターンが得られたとすると、輪郭境界線12の所定の開始点17を中心に図3のA部の拡大部を示す図4の如き3×3に9分割し、相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウ16を輪郭境界線12に沿って例えば反時計方向(左回り)にトレースさせて、チェインコード化を行なう。
【0018】
即ち、第1ステップS1 では、ウィンドウ16に図5(A)(B)に示す様な被検体OBの輪郭境界線12の境界点Mに対し、下方向(垂直)を示す相対コードを8、左下45°方向を示す相対コードを9(1)、左方向(水平)方向を示す相対コードを10(2)、左上45°方向を示す相対コードを11(3)、上方向(垂直)を示す相対コードを12(4)、右上45°方向を示す相対コードを5(13)、右方向(水平)を示す相対コードを6(14)、右下45°方向を示す相対コードを7(15)と定めて、相対位置とベクトルの方向をコード化する。尚、括弧でくくったコードは後述するも輪郭線12の切れ目部分の演算時に用いる相対位置及びベクトル方向を示すコードである。
【0019】
即ち、境界点Mに対し各マクロブロックを8方向コード化したウィンドウ16は図4に示す様に例えばトレース方向18に向って右方向(水平)を示すコード6又は(14)から順に矢印Bの様に反時計方向(左回り)にトレースして境界線12があった場合にコード11又は(3)を定め、次の進行方向とする。
【0020】
今、境界点Mが5<=M<=12の相対コードを用いて、図3に示す被検体OBの撮像画像19の輪郭境界線12の開始点17からトレースを開始して、コード化を進めた場合、コードは図3に示すように8→7→8→8→7→6→6→6→6→5と順次コード化されることに成る。反時計方向に1周して開示点17の手前迄トレースして第1のチェインコード化が成される。
【0021】
この場合、上述の重複してコード付けした括弧内のコードを用いて、撮像画像19の例えば右下点20ではコードは6→12→12→11となるので6→(4)→(4)→(3)の様なコードの用い方をして、平均化する時に6→12の様に差の大きいコードとせず演算し易い様にすることも出来る。
【0022】
上述の様に第1の8方向のチェインコード化に係わる第1ステップS1 の終了後に図1に示す第2ステップS2 による第2の16方向のチェインコード化が行なわれる。
【0023】
第2の16方向のチェインコード化は図6及び図7に示す如く16方向コード化が行なわれる。即ち、図6に示す様に被検体OBを撮像した撮像画像19の輪郭境界線12に対して第1ステップS1 で8方向コード化した隣り合う2つの境界コードM0 ,M1 を平均化する。この平均化は下記1式から算出する。
N=24−M0 −M1 ・・・(1)
【0024】
即ち、図7に於いて、開始点17での隣接する8方向化コードはM0 =8、M1 =7であるからN0 =24−8−7=9、次のM1 =7、M2 =8ではN1 =24−7−8=9、次のM2 =8、M3 =9ではN2 =24−8−8=8・・・と極めて簡単な(1)式を用いて、図6に示す様な0<=N<=15で示す16方向コード化が行なわれる。従って、第2ステップS2 では境界画素の前後のコードM0 ,M1 ,M2 ,M3 ・・・から新たな16種類のコードNを各境界画素にコード化したことになり、上下左右25°方向のベクトル方向の傾きに対応する相対コードのコード化を図ることが出来る。
【0025】
次の第3ステップS3 では0,15番のコード修正を行なう。これは0番と15番のコードを必要に応じて、演算が簡単で連続番号と成る様に16番と−1番或は17と−2等の急激に境界点で変化するコードの平均化時の誤差を少なくする様にコードの付け変える修正を行なう。例えば14→15→14→15→0→15→0→15とコード化された場合は14→15→14→15→16→15→16→15に又、0→1→2→2→0→15→0→15の場合は0−1−2→2→0→−1→0→−1の様にコード修正を行なうことになる。
【0026】
第4ステップST4 では輪郭境界線12の辺の切れ目の修正が行なわれることになり、エンドに至る。
【0027】
上述のアルゴリズムを用いることで、境界検索アルゴリズム(8方向コード化及び16方向コード化)を使って電子部品である。チップ部品の境界検索時間を8m秒程度の極めて高速な境界検索が可能と成り、特殊なハードウェアが必要でなくなって、開発時間や費用を大幅に削減可能と成った。
【0028】
次に図8乃至図12を用いて、電子部品OBとして、チップ部品の位置決めする場合のアルゴリズムを説明する。図8はチップ部品を基板11に位置決めするためのフローチャートを示すものであり、第1ステップST1 では被検体OBをカメラ1を介してフレームメモリ6に格納した画像データを2値化して画像を白黒2色にし、チップ部品の輪郭外を例えば白、輪郭内を黒とする様な2値化が行なわれる。
【0029】
次の第2ステップST2 では2次モーメント即ち、重心と傾きを計算してチップ部品の重心を求める。
【0030】
次の第3ステップST3 ではチップ部品の境界を検索するトレースを行ない図1のフローチャートで説明した8方向コード化及び16方向コード化を行なう。
【0031】
次の第4ステップST4 ではチップ部品の輪郭を複数の直線で近似する直線化を行なった後に、第5ステップST5 でチップ部品の形状判断が行なわれて、エンドに至り位置決めが成される。
【0032】
上述の第4及び第5ステップST4 及びST5 の直線化のフローチャートの詳細を図9及び図10に、形状判定のフローチャートの詳細を図11及び図12で説明する。
【0033】
図9は直線化の為のフローチャートを示すもので、第1ステップST4aでは撮像画像19の境界線12を構成する図10に示す直線20aコーナの16方向チェインコードで定めたコードの始点及び終点をサーチする。
【0034】
次の第2ステップST4bでは始点P0 と終点P1 の内側近傍に3×3のウィンドウ16を持ち来して、図10に示す始点P0 、終点P1 の内側のR0 ,R1 の始点及び終点のインデックスを検出する。
【0035】
第3ステップST4cではウィンドウ16のインデックスR0 の座標、XY方向コードを取得する。
【0036】
次の第4ステップST4dでは2値化レベル差(濃淡差)から境界線12の直線20a上の2値閾値をよぎる位置をサブピクセル(マクロブロック)で求めたQ0 ,Q1 の座標を取得する。
【0037】
第5ステップST4eでは各直線20a,20bを直線式のax+by=1から直線の係数a,bを求める。
【0038】
第6ステップST4fでは部品に外接する直線を描画する。
【0039】
第7ステップST4gでは直線20aとペアと成る直線20bの番号を検出する。
【0040】
第8ステップST4hではペアの2直線の解を求めてPn を算出する。即ちサブピクセルを取得することで直線化ステップが終了する。
【0041】
図11は図8で示した形状判断を示す第5ステップの詳細を示すものであり、第1ステップST5aではこの2直線20a,20b等の角度θ0 ,θ1 ,θ2 ,θ3 を算出する。
【0042】
第2ステップST5bでは直線20a,20b等の辺の長さL0 ,L1 ,L2 ,L3 を算出する。
【0043】
第3ステップST5cでは予め被検体の電子部品が解っているのでこの電子部品の形状等の基準データとのマッチングを行なう。
【0044】
第4ステップST5dではチップ部品の中心と傾きを算出することでエンドに至る。
【0045】
上述では電子部品としてチップ部品の形状についての識別方法及び位置検出方法を説明したが電子部品としてQFPやBGA等も同様に位置決めすることが出来る。QFPを位置決めする場合のアルゴリズムは、2値化し、ラベリングを行ない、固まり(リード)ごとに重心と長軸の角度を求める。その後、重心の近いもの同士を分類し、リードがどの辺に属しているかを求める。その際、長軸でリードの方向を確認する。長辺で挟まれた直線が短辺をよぎったところ(座標)を得ることでリードの先端座標を得たことになる。最小2乗近似でリード先端列の直線を得て、QFPの位置と傾きを算出する様にする。
【0046】
又、BGAでは2値化し、ラベリングを行ない、固まり(ボール)ごとに重心を求める。その後、重心の近いもの同士を分類し、ボールがどの辺に属しているかを求める。一番出っ張っているところをよぎったところ(座標)を得ることで、ボールの先端座標を得たことになる。最小2乗近似でボール先端列の直線を得て、BGAの位置と傾きを算出する様にすればよい。
【0047】
従来では特殊なハードウェアが必要となり、多くの時間と費用が掛かったが本発明は上述の様に成されているので共通化させた境界検索アルゴリズム(8方向コード化と16コード化)を使って簡単に電子部品の位置決めをすることが可能となった。
【0048】
又、従来では処理速度がBGA等では200m秒以上であったものがBGAで80m秒程度に部品の位置決めを行なうことが可能となった。更に、チップ部品では23m秒、BFPでは67m秒で位置決めを行なうことが可能となった。
【0049】
更に、認識精度が従来では1/4画素程度であったものが、本発明では1/20画素以内の高精度で部品の位置決めを行なうことが出来る。
【0050】
上述の認識精度を測定するためにはカメラスタンド上にマイクロテーブルを置き、その上にチップ部品を置く。このチップ部品の画像をカメラで取り込むために、カメラスタンドの支柱にカメラを取り付けて、マイクロテーブルを10μmずつ移動させながら10回画像を取り込んだ。画像処理上で何μm移動したかをサブピクセルで測定するために、絶対位置を10回繰り返して測定した。移動距離の誤差がどれくらいあったかを、図13のグラフに示す。図13では一画素が45.9ミクロンで10μm水平方向に移動させた時の誤差は±0.05(1/20)画素以内に入っていることを確認した。
【0051】
【発明の効果】
本発明の被検体の識別方法及び被検体の位置検出方法によれば共通化させた境界検索アルゴリズムを使って、簡単に部品位置決めが可能でチップ部品等では23m秒で位置決めが可能となり認識精度も1/20画素以内の精度を得た。
【図面の簡単な説明】
【図1】本発明のコード化方法のフローチャートである。
【図2】本発明の実装装置の一形態例を示す説明図である。
【図3】本発明の8コード化方法を説明するための説明図である。
【図4】図3のA部拡大図である。
【図5】本発明に用いる8コード化ウィンドウの説明図である。
【図6】本発明に用いる16コード化ウィンドウの説明図である。
【図7】本発明の16コード化方法を示す説明図である。
【図8】本発明に用いるチップ部品の位置決めアルゴリズムのフローチャートである。
【図9】本発明に用いるチップ部品の位置決めアルゴリズムの直線化のフローチャートである。
【図10】直線化の設定方法を説明する説明図である。
【図11】本発明に用いるチップ部品の位置決めアルゴリズムの形状判断のフローチャートである。
【図12】本発明の形状判定方法説明図である。
【図13】認識精度を説明するためのグラフである。
【図14】従来のチェインコードを説明する説明図である。
【符号の説明】
1‥‥カメラ、3‥‥移載ヘッド、OB‥‥被検体、12‥‥境界線、16‥‥ウィンドウ
Claims (6)
- 被検体の像を撮像手段を介して記憶手段に取り込み、該像の輪郭線を抽出して、該被検体の形状を識別する被検体の識別方法に於いて、
n分割して相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウを上記被検体の上記輪郭線に沿ってトレースして、nコード化する第1のチェインコード化ステップと、
上記第1のチェインコード化でコード化したチェインコードの隣り合う境界のコードを2n分割した相対位置とベクトル方向をマクロブロック毎にコード化した相対コードによってコード化を行なって平均化する第2のチェインコード化ステップと、
上記第2のチェインコード化ステップで得たコードの0又はn番のコードを必要に応じてn+1又は−1番のコードに修正する修正ステップと、
上記修正に基づくコードによって上記被検体の形状を識別して成ることを特徴とする被検体の識別方法。 - 被検体の像を撮像手段を介して、記憶手段に取り込み、該像の輪郭線を抽出して、該被検体の形状を識別する被検体の識別方法に於いて、
上記被検体の上記輪郭線の境界点で8近傍に存在する画素の相対位置を1乃至8のコードにコード化する第1のチェインコード化ステップと、
上記第1のチェインコード化ステップでコード化したチェインコードの隣り合う境界コードを平均化し、相対位置を0乃至15のコードにコード化する第2のチェインコード化ステップと、
上記第2のチェインコード化ステップに基づくコードによって上記被検体の形状を識別することを特徴とする被検体の識別方法。 - 前記第1のチェインコードのコード化ステップの前記1乃至8のコードに更に9〜15のコードを重複してコード化させるステップを有することを特徴とする請求項2記載の被検体の識別方法。
- 前記第2のチェインコードのコード化ステップの前記0又は15のコードを必要に応じて、16又は−1或は17又は−2の如き平均時の差の少ない値のコードに修正させる様に成したことを特徴とする請求項2記載の被検体の識別方法。
- 被検体の像を撮像手段を介して記憶手段に取り込み、該像の輪郭線を抽出して、該被検体の位置を検出する被検体の位置検出方法に於いて、
n分割して相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウを上記被検体の上記輪郭線に沿ってトレースして、nコード化する第1のチェインコード化ステップと、
上記第1のチェインコード化したチェインコードの隣り合う境界のコードを2n分割した相対位置とベクトル方向をマクロブロック毎にコード化した相対コードによってコード化を行なって平均化する第2のチェインコード化ステップと、
上記第2のチェインコード化ステップで得たコードの0又はn番のコードを必要に応じてn+1又は−1番のコードに修正するステップと、
上記修正ステップに基づくコードによって上記被検体の位置を検出して成ることを特徴とする被検体の位置検出方法。 - 被検体の像を撮像手段を介して記憶手段に取り込み、該像の輪郭線を抽出して、該被検体の形状を識別する被検体の位置検出方法に於いて、
n分割して相対位置とベクトル方向をマクロブロック毎にコード化したウィンドウを上記被検体の上記輪郭線に沿ってトレースして、nコード化する第1のチェインコード化ステップと、
上記第1のチェインコード化でコード化したチェインコードの隣り合う境界のコードを2n分割した相対位置とベクトル方向をマクロブロック毎にコード化した相対コードによってコード化を行なって平均化する第2のチェインコード化ステップと、
上記第2のチェインコード化ステップで得たコードの0又はn番のコードを必要に応じてn+1又は−1番のコードに修正する修正ステップと、
上記第2のチェインコード化ステップ後に上記被検体の輪郭に囲まれた複数の線分に近似させる直線化ステップと、
上記直線化ステップで得られた2直線から角度及び辺の長さを求め被検体の形状を判断し、基準データとマッチングをとるマッチングステップと、
上記被検体の中心と傾きを算出するステップとにより該被検体の位置を検出して成ることを特徴とする被検体の位置検出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002223575A JP2004062784A (ja) | 2002-07-31 | 2002-07-31 | 被検体の識別方法及び被検体の位置検出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002223575A JP2004062784A (ja) | 2002-07-31 | 2002-07-31 | 被検体の識別方法及び被検体の位置検出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004062784A true JP2004062784A (ja) | 2004-02-26 |
Family
ID=31943291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002223575A Pending JP2004062784A (ja) | 2002-07-31 | 2002-07-31 | 被検体の識別方法及び被検体の位置検出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004062784A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005331272A (ja) * | 2004-05-18 | 2005-12-02 | Pentax Corp | 光学部材検査装置 |
JP2008151606A (ja) * | 2006-12-15 | 2008-07-03 | Juki Corp | 画像処理方法および画像処理装置 |
JP2013061302A (ja) * | 2011-09-15 | 2013-04-04 | Mitsutoyo Corp | 硬さ試験機、及び硬さ試験方法 |
JP2013104864A (ja) * | 2011-11-17 | 2013-05-30 | Mitsutoyo Corp | 硬さ試験機、及び硬さ試験方法 |
-
2002
- 2002-07-31 JP JP2002223575A patent/JP2004062784A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005331272A (ja) * | 2004-05-18 | 2005-12-02 | Pentax Corp | 光学部材検査装置 |
JP2008151606A (ja) * | 2006-12-15 | 2008-07-03 | Juki Corp | 画像処理方法および画像処理装置 |
JP2013061302A (ja) * | 2011-09-15 | 2013-04-04 | Mitsutoyo Corp | 硬さ試験機、及び硬さ試験方法 |
JP2013104864A (ja) * | 2011-11-17 | 2013-05-30 | Mitsutoyo Corp | 硬さ試験機、及び硬さ試験方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7813559B2 (en) | Image analysis for pick and place machines with in situ component placement inspection | |
US20140043472A1 (en) | Tire surface shape measuring device and tire surface shape measuring method | |
JP2019192248A (ja) | 物体の連続的な画像をつなぎ合わせるためのシステムおよび方法 | |
JP4190819B2 (ja) | 電子部品実装装置及び画像認識方法の選択方法 | |
KR100394208B1 (ko) | 인체를 계측하는 장치 및 방법 | |
EP2975921B1 (en) | Component recognition system for component mounting machine | |
JP2004062784A (ja) | 被検体の識別方法及び被検体の位置検出方法 | |
JP4191295B2 (ja) | 半導体パッケージの検査装置 | |
JP2008294065A (ja) | 電子部品の実装方法及び装置 | |
JP2930746B2 (ja) | 部品検査装置 | |
JP4707423B2 (ja) | 部品位置検出方法及び装置 | |
JP5160366B2 (ja) | 電子部品のパターンマッチング方法 | |
JP4073995B2 (ja) | 電子部品位置検出方法 | |
CN115388785A (zh) | 一种基于视觉的柔性线束的测量方法及*** | |
JP2003156311A (ja) | アライメントマークの検出、登録方法及び装置 | |
JPH11132737A (ja) | 画像処理方法 | |
JP2000097677A (ja) | 画像認識方法 | |
JP4380864B2 (ja) | 部品検出方法及び装置 | |
JP2006112930A (ja) | 対象物の形状判別方法及び装置 | |
JP2010061201A (ja) | アライメントマーク画像認識装置およびアライメントマーク画像認識方法 | |
JP3306978B2 (ja) | 検査対象物の認識方法 | |
JP3680578B2 (ja) | 画像認識方法および検査方法 | |
JPH09167232A (ja) | 線分抽出方法 | |
JP2836580B2 (ja) | 半導体集積回路装置の突起部検査装置 | |
Han et al. | Study on rectification algorithm of irregular electronic components in surface mounter |