(57)【要約】【課題】信頼性のあるリード検出を行い、部品の認識を確実に行うことが可能な部品認識方法及び装置を提供する。【解決手段】リード端子を有する部品の画像処理からリード端子のエッジ並びにリード端子が検出され（Ｓ５、Ｓ６）、検出されたリード端子の数が、指定数と一致しているかが検査される（Ｓ７）。検出されたリード端子の数が指定数と相違する場合、エッジ判定しきい値が調整され（Ｓ１０）、リード端子のエッジ検出がリトライされる（Ｓ１１）。このような構成では、リード端子が暗かったり、あるいはノイズを検出して、検出されたリード端子の数が、部品データとして登録されているリード端子数と一致しない場合、リトライ処理によりエッジ判定しきい値を調整して再度エッジ検出が行われるので、信頼性の高いリード検出が可能となり、部品の認識精度を向上させることができる。【選択図】図４
2005166850.tif 000002
【特許請求の範囲】
【請求項１】
リード端子を有する部品の画像から部品のリード端子を検出し、検出されたリード端子に基づいて部品認識を行う部品認識方法において、
リード端子のエッジ部分を示す信号をエッジ判定しきい値と比較してリード端子のエッジを検出し、検出されたリード端子のエッジからリード端子を検出する検出工程と、
検出されたリード端子の数が、指定数と一致しているかを検査する検査工程と、
検出されたリード端子の数が指定数と相違する場合、エッジ判定しきい値を調整してリード端子のエッジ検出をリトライするリトライ工程と、
を有することを特徴とする部品認識方法。
【請求項２】
エッジ判定しきい値の調整方向及び／又は調整量を検査結果に応じて変化させることを特徴とする請求項１に記載の部品認識方法。
【請求項３】
リトライ回数及び／又はエッジ判定しきい値を部品の種類に応じて変化させることを特徴とする請求項１又は２に記載の部品認識方法。
【請求項４】
検出されたエッジの座標値を保存し、リトライ時、保存されていないエッジ部分についてのみエッジ検出を行うことを特徴とする請求項１から３のいずれか１項に記載の部品認識方法。
【請求項５】
リード端子を有する部品の画像から部品のリード端子を検出し、検出されたリード端子に基づいて部品認識を行う部品認識装置において、
部品を撮像する撮像装置と、
部品の画像を処理してリード端子のエッジ部分を示す信号を形成する手段と、
リード端子のエッジ部分を示す信号をエッジ判定しきい値と比較してリード端子のエッジを検出し、検出されたリード端子のエッジからリード端子を検出する検出手段と、
検出されたリード端子の数が、指定数と一致しているかを検査する検査手段と、
検出されたリード端子の数が指定数と相違する場合、エッジ判定しきい値を調整してリード端子のエッジ検出をリトライするリトライ手段と、
を有することを特徴とする部品認識装置。
【請求項６】
エッジ判定しきい値の調整方向及び／又は調整量を検査結果に応じて変化させることを特徴とする請求項５に記載の部品認識装置。
【請求項７】
リトライ回数及び／又はエッジ判定しきい値を部品の種類に応じて変化させることを特徴とする請求項５又は６に記載の部品認識装置。
【請求項８】
検出されたエッジの座標値を保存し、リトライ時、保存されていないエッジ部分についてのみエッジ検出を行うことを特徴とする請求項５から７のいずれか１項に記載の部品認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部品認識方法及び装置、更に詳細には、吸着された部品を撮像し、その画像を処理することにより部品のリード端子を検出し、検出されたリード端子に基づいて部品の吸着姿勢を認識する部品認識方法及び装置に関する。
【背景技術】
【０００２】
従来、部品実装機においてプリント基板に電子部品（以下単に部品という）を精度良く搭載するために、吸着ノズルにより吸着された部品をプリント基板に搭載する前にＣＣＤカメラなどの撮像装置により部品を撮像して部品中心や部品傾きを求め、吸着姿勢（部品中心と吸着中心のずれ並びに傾きのずれ）を計算しそれを補正することにより正確に部品をプリント基板に搭載している。このような部品実装機において部品の吸着姿勢を認識する場合、部品には各辺にリード端子が存在するので、リード端子の存在する辺毎にリード端子検出を行い、その検出結果に基づいて部品中心並びに傾きを計算している。
【０００３】
リード端子の検出方法としては、エッジ抽出フィルタを用いた手法が一般的である（特許文献１、特許文献２）。また、リードエッジからリード端子の先端座標の取得方法として、特許文献３が知られている。
【０００４】
エッジ抽出フィルタ結果から実際にエッジを抽出するためには、エッジか否かを判定するしきい値を用い、しきい値を超える信号値が検出された場合に、そこをリード端子のエッジと判定している。そして、従来のリード端子検出装置では、このしきい値は、フィルタの種別、サイズ毎に予めモデルリード端子についてフィルタ演算値を取得し、その結果を元にしきい値を決定し、固定値として組み込み使用していた。
【０００５】
モデルリード端子と同等の撮像画像が入力される環境下においては、安定したエッジ検出が可能であったが、撮像画像が標準状態からはずれるような場合は、照明条件を調整するなど、撮像画像の品質を調整し対応していた。
【特許文献１】特開平８−８８４９９号公報（請求項１、図５）
【特許文献２】特開平１０−１１１１０９号公報（請求項１）
【特許文献３】特開平６−２２３１８５号公報（図４）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、電極の材質の差で同一照明下で明るく映るものと暗く映るものが同一生産部品に混在することもしばしば発生するようになった。処理側の許容範囲をはずれる場合、照明調整で像コントラストを基準内にあわせていたが、相反する２つの特性に対してお互いに最適な調整を行うことはできず、どちらかを犠牲にするしかなかった。
【０００７】
また、同一部品種であってもロットごとのばらつきのため、同様の理由でロット替え後にエラーが多発することがあった。これについては、たとえ部品種毎に照明が調整できたとしても、それだけでは問題解決できない。従って、処理側の許容範囲をいかに拡大させるか、撮像画像にあわせてエッジ判定しきい値を調整することを考えなければならない。
【０００８】
エッジ判定のためのしきい値調整が必要なパターンとしては次の二つが考えられる。その一つは、部品のリード端子部分を撮像した画像のコントラストが低いため、デフォルトのしきい値ではエッジが検出できない場合である。他の場合は、画像にノイズが存在し、リード端子のほかに、ノイズが存在し、このノイズの信号値がデフォルトのしきい値を超えてしまい、ノイズがリードとして検出されてしまう場合である。
【０００９】
本発明の課題は、このような問題点を解決して、信頼性のあるリード検出を行い、部品の認識を確実に行うことが可能な部品認識方法及び装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明（請求項１）は、
リード端子を有する部品の画像から部品のリード端子を検出し、検出されたリード端子に基づいて部品認識を行う部品認識方法において、
リード端子のエッジ部分を示す信号をエッジ判定しきい値と比較してリード端子のエッジを検出し、検出されたリード端子のエッジからリード端子を検出する検出工程と、
検出されたリード端子の数が、指定数と一致しているかを検査する検査工程と、
検出されたリード端子の数が指定数と相違する場合、エッジ判定しきい値を調整してリード端子のエッジ検出をリトライするリトライ工程とを有することを特徴とする。
【００１１】
また、本発明（請求項５）は、
リード端子を有する部品の画像から部品のリード端子を検出し、検出されたリード端子に基づいて部品認識を行う部品認識装置において、
部品を撮像する撮像装置と、
部品の画像を処理してリード端子のエッジ部分を示す信号を形成する手段と、
リード端子のエッジ部分を示す信号をエッジ判定しきい値と比較してリード端子のエッジを検出し、検出されたリード端子のエッジからリード端子を検出する検出手段と、
検出されたリード端子の数が、指定数と一致しているかを検査する検査手段と、
検出されたリード端子の数が指定数と相違する場合、エッジ判定しきい値を調整してリード端子のエッジ検出をリトライするリトライ手段とを有することを特徴とする。
【００１２】
リトライ時のエッジ判定しきい値の調整方向及び／又は調整量は、検査結果に応じて変化され、また、リトライ回数及び／又はエッジ判定しきい値は部品の種類に応じて変化される。また、検出されたエッジの座標値を保存し、リトライ時、保存されていないエッジ部分についてのみエッジ検出が行われる。
【発明の効果】
【００１３】
本発明では、リード端子が暗かったり、あるいはノイズを検出して、検出されたリード端子の数が、部品データとして登録されているリード端子数と一致しない場合、リトライ処理によりエッジ判定しきい値を調整して再度エッジ検出が行われるので、信頼性の高いリード検出が可能となり、部品の認識精度を向上させることができる。
【発明を実施するための最良の形態】
【００１４】
本発明は、指定された本数のリード端子（以下単にリードという）が検出できなかった場合、エッジ判定しきい値を変動させ、再びリード検出処理を行い、リトライ処理を繰り返すことによって最適なエッジ判定しきい値への調整を行い、リードの認識許容範囲を拡大して、部品の認識率を向上させるもので、以下図面に示す実施例に基づいて本発明を詳細に説明する。
【実施例】
【００１５】
＜部品実装機と画像処理装置の構成＞
図１は、本発明が適用される部品実装装置（部品実装機）の制御構成を示すブロック図であり、部品実装装置は、フィーダなどの部品供給装置（不図示）から供給される部品（電子部品）２０を吸着する吸着ノズル３ａを備えたヘッド部３を有している。このヘッド部３はＣＰＵ、ＲＡＭ、ＲＯＭで構成されるコントローラ１０により駆動されるＸ軸モータ１１、Ｙ軸モータ１２により駆動されてＸＹ軸方向に移動可能に構成される。またヘッド部３は、部品吸着並びに部品搭載時にＺ軸モータ１３によってＺ軸方向に駆動されて昇降し、また吸着ノズル３ａはθ軸モータ１４によってノズル軸を中心に回転できるように構成される。
【００１６】
また、部品実装装置には、部品２０を撮像するＣＣＤカメラのようなレンズ５ａを備えた撮像装置５が配置され、ヘッド部３は、部品吸着後撮像装置５に移動して、照明装置１５により照明された部品２０が撮像装置５により撮像される。部品の撮影画像は、ＣＰＵ３１、Ａ／Ｄ変換器３２、ＲＡＭ３３、画像メモリ３４、部品データメモリ３５、リトライ制御データメモリ３６などを備えた画像処理装置３０に入力される。画像処理装置３０は、設定された領域の画像を取り込んで画像処理し、部品中心と吸着中心の位置ずれ、また部品傾きを演算する。コントローラ１０は、Ｘ軸、Ｙ軸、θ軸モータ１１、１２、１４を駆動するときこの位置ずれを補正し、搬送されてくる基板（不図示）に部品２０を搭載する。
【００１７】
また、部品実装装置には、部品データを入力するためのキーボード２１、マウス２２などの入力装置が設けられ、生成された部品データが、ハードディスク、フラッシュメモリなどで構成される記憶装置２３や画像処理装置３０内の部品データメモリ３５に格納できるようになっている。部品データは、このように入力装置を介さず、部品実装装置に接続されたホストコンピュータ（不図示）から供給されるものを記憶装置２３や部品データメモリ３５に格納しておくようにしてもよい。また、モニタ（表示器）２４が設けられ、この画面には、部品データ、演算データや撮像装置５で撮像した部品画像が表示できるようになっている。
【００１８】
図２には、吸着ノズル３ａに吸着された部品２０が、照明装置１５により照明され、撮像装置５により撮像される状態が図示されている。撮像装置５は、設定された領域の画像を撮像し、撮像された画像は、信号線３０ａを介して画像処理装置３０に入力され、Ａ／Ｄ変換器３２を介してデジタル信号に変換された後、画像メモリ３４に格納され、ＣＰＵ３１の制御の元に画像処理される。処理される画像はモニタ２４に表示させることができる。また、画像処理装置３０には、演算されたデータを格納するＲＡＭ３３、部品データを格納する部品データメモリ３５、及びリトライ制御データを格納するメモリ３６が設けられている。
【００１９】
＜画像処理装置でのデータの流れ＞
図３は、画像処理装置３０内の主なデータのやり取りを示している。実装機のコントローラ（メイン制御装置）１０は、部品の認識に先立って、あらかじめ部品データを記憶装置２３から画像処理装置３０の部品データメモリ３５に送信させる送信コマンド４０を実行する。画像処理装置３０は、受信した部品データを部品データメモリ３５の部品データ格納領域３５ａに格納し、部品のＩＤ毎に部品データを管理する。
【００２０】
部品データは、例えば、リード部品の場合には、部品サイズ（外形寸法ｅｔｃ）、リード端子情報（幅、長さ、ピッチ、端子数、不良端子判定率ｅｔｃ）、その他部品認識に用いられる情報（リトライ情報、フィルタ情報など）であり、これらの情報が部品データ領域３５ａに格納される。
【００２１】
フィルタ情報は、フィルタ格納領域３５ｂとフィルタパラメータ領域３５ｃに格納され、フィルタ格納領域３５ｂには、各フィルタ種別、各フィルタサイズのフィルタ係数が管理されている。また、フィルタパラメータ領域３５ｃには、部品種毎に各リードピッチのフィルタサイズ、エッジ判定しきい値がテーブルで管理されている。
【００２２】
４１は、装置レベルのリトライ制御フラグを設定する設定コマンドで、実装機のコントローラ１０は、このフラグの値を制御することができ、設定されたリトライ制御フラグはリトライ制御データメモリ３６に格納される。リトライ制御フラグが、ＯＮに設定されると、すべての部品でリトライ（再実行）が行われ、ＯＦＦが設定されると、すべての部品でリトライが行われず、また、部品個別指定がなされると、部品データのリトライ情報に記録された制御フラグが参照される。
【００２３】
画像処理装置３０がコントローラ１０から認識コマンド４２を受信すると、撮像装置５は部品２０を撮像し（４３）、その画像データが画像メモリ３４に格納される。
【００２４】
部品の認識時には部品ＩＤが指定されるので、画像処理装置３０は、その部品ＩＤに対応した部品データを取り出す（４４）。この場合、認識に用いるパラメータの指定は任意で、指定がないものに関してはデフォルト値が自動的に設定される。
【００２５】
部品ＩＤの指定時、フィルタ格納領域３５ｂから当該部品種とサイズに応じたフィルタ種が選択され、また、リードピッチに合わせてフィルタパラメータ選択領域３５ｃからフィルタサイズとエッジ判定しきい値が決定される。また、フィルタ種別とフィルタのサイズから、フィルタ係数が取得される。エッジ判定しきい値は、モデルリードに対して最適な値が設定されている。
【００２６】
このように、フィルタパラメータが設定されると（４５）と、ＣＰＵ３１は、画像メモリ３４に格納されている画像データに対して画像処理し、フィルタ演算を行いリード認識（リード検出）を行う（４６）。フィルタ演算結果は、ＲＡＭ３３のフィルタ演算結果領域３３ａに格納される。リード認識時、演算されたエッジ座標値は、エッジ座標格納領域３３ｂに格納される。
【００２７】
リード認識の結果、リトライが必要と判断されると、リード認識がエッジ判定しきい値を調整して再実行され（４７）、演算されたエッジ座標値が領域３３ｂに格納される。その場合初回検出のエッジ座標値とリトライ検出のエッジ座標値は別に管理され（３３ｃ）、２つのエッジ座標データが照合される（４８）。なお、３３ｄは、リード先端座標値を格納するＲＡＭ３３の領域である。
【００２８】
＜部品認識処理＞
図４には、リード部品の認識処理の概略フローチャートが図示されており、ＣＰＵ３１の制御の元に行われる。一点鎖線で囲った部分が本発明で主要なリトライ処理部分である。
【００２９】
まず、部品認識実行コマンド４２が出力されると、部品データメモリ３５から該当部品データが取り出され（ステップＳ１）、当該部品のリードピッチに合わせてフィルタパラメータ選択領域３５ｃからフィルタパラメータ（フィルタサイズ、エッジ判定しきい値など）が読み出される（ステップＳ２）。続いて、リード存在個所にリードの検出ウィンドウを設定し（ステップＳ３）、このリード検出ウィンドウ内にエッジ抽出フィルタをフィルタ演算を行ってリードのエッジ部分（ゼロクロス点変化量）を示す信号を形成する（ステップＳ４）。このとき、部品種に応じてフィルタ格納領域３５ｂに格納されているフィルタ種が使用される。
【００３０】
続いて、エッジ抽出フィルタの結果からリードエッジを検出し（ステップＳ５）、リードエッジ座標からリード先端座標を求め、リードを検出する（ステップＳ６）。これらの処理には、例えば、特開平６−２２３１８５号公報（特許文献３）に記載の方法を用いることができる。検出したリードエッジ座標並びにリード先端座標は、ＲＡＭ３３の領域３３ｂ、３３ｄに格納され、検出したリードの先端座標から、リード長、リードピッチ、リード曲がり、リード本数等に関してリード検査が行われる（ステップＳ７）。
【００３１】
リード検査で正常終了した場合は（ステップＳ８の正常）、同様に他辺のリードの検出を行う。逆にここで、エラーが発生した場合は、残辺のリード検出処理は行わないで認識をエラー終了する。ただし、検出されたリードの本数と、部品データメモリ３５に格納されている部品が有するリード本数が相違して、かつリトライ指定がＯＮになっている場合には（ステップＳ９のＯＮ）、リード本数異常として、エッジ判定しきい値を変動ないし調整し（ステップＳ１０）、エッジ検出とリード検出を再実行（リトライ）する（ステップＳ１１）。
【００３２】
リード検出のリトライは、エッジ判定しきい値を調整し、再度リード検出処理を行う処理であり、後で詳細に説明される。リトライ回数と各リトライ時のしきい値の調整レベルは、部品データとして指定でき、部品種毎でカスタマイズすることができる。リトライ結果の判定の結果（ステップＳ１２）、再リトライが必要な場合は、エッジ判定しきい値を再調整して正常終了するまで指定回数のリトライを繰り返す（ステップＳ１０〜Ｓ１２）。このとき、正常終了したときのエッジ判定しきい値を部品データメモリ３５のフィルタパラメータ領域３５ｃに保存しておけば、次回の認識時の初期値としてこの値が使われるので、不要なリトライ処理を回避できる。
【００３３】
ステップＳ１２でリード検出が正常に行われたと判断された場合は、ステップＳ１３に進んで他の辺について同様な処理を繰り返す。また、ステップＳ１２で、リトライ継続条件に合致しない異常が発生した場合には、異常終了としてリトライを打ち切る。
【００３４】
また、リトライ処理が正常終了したからといって、求めるべきリードが正しく検出されたとは限らない。リードが暗く撮像される場合、リード検出ウィンドウ設定用のしきい値が不適切であると、リード検出ウィンドウを誤った場所にかけてしまうことが起こる。このときにリトライ処理によって無理にリード検出を行うと、誤った部品中心を算出してしまう。これを防止するために、複数のリード列が存在する場合、リード列間の相対位置関係のチェックを行い、求めるべきリードが正しく検出されているかどうかの検証を行う（ステップＳ１４）。
【００３５】
ステップＳ１５で全辺でリード端子が正常に検出でき、位置関係が正常と判断された場合には、検出リード先端座標から部品の中心と部品傾きが算出され、部品の吸着姿勢が認識される（ステップＳ１６）。部品は、部品中心と吸着中心のずれと傾きのずれが補正されて、基板の所定位置に搭載される。
【００３６】
＜リトライ処理＞
以下に、エッジ抽出フィルタとしてＤＯＧフィルタ（Ｍａｒｒ＆ＰｏｓｉｏのＤｉｆｆｅｒｅｎｃｅ−Ｏｆ−Ｇａｕｓｓｉａｎフィルタ）を用いてエッジ検出を行い、リトライ処理（図４の一点鎖線で囲った部分）を行う場合の処理を説明する。
【００３７】
（１）リトライ処理を行うかどうかの判定
まず、以下の条件、すなわち、
（ａ）検出されたリードの数と部品データメモリ３５に格納されている部品が有するリードの数（指定数）が異なる、
（ｂ）リード濃度が正常範囲（２３０以下２値化しきい値の７０％以上の範囲）である、
（ｃ）リトライ指定がＯＮである、
の３つの条件のうち少なくとも一つが満たされているときに、リトライ処理を行うようにする。
【００３８】
（ａ）の条件が満たされているかどうかは、図４のステップＳ６で検出されたリード先端座標の数（リードの数に相当）と、部品データメモリ３５に格納されている当該部品のリード本数（指定数）を比較することにより、判断する。また、（ｂ）の条件が満たされているかは、検出できたリードの先端座標濃度を計測し、その最小値を採用することにより判断する。
【００３９】
また、（ｃ）の条件に関しては、図５に示したように、装置単位の指定と部品単位の指定が可能で、装置単位でのリトライ指定では、部品によらずリトライＯＦＦ、部品によらずリトライＯＮ、部品個別指定の３種類の指定が可能であり、図３のリトライＯＮ／ＯＦＦ設定コマンド４１により行う。部品単位の指定は、部品のリトライをＯＮにするかＯＦＦにするかの指定を部品データに記録することにより行われる。この部品単位の指定は、装置単位の指定で部品個別指定になっている場合のみ有効となる。どちらも初期状態（指定されていない場合）はＯＦＦとなっている。
【００４０】
（２）リトライ回数とエッジ判定しきい値の取得
リトライ回数とエッジ判定しきい値は、部品データとして定義し、部品の種類毎にカスタマイズして部品データメモリ３５に格納する。部品データにこれらが明示的に指定されていない場合は、デフォルト値を用いる。
【００４１】
（３）エッジ判定しきい値の調整
次に、エッジ判定しきい値の調整方法について説明する。図６は、ＤＯＧフィルタ演算の結果とエッジ判定しきい値の関係を示している。図６（Ａ）に示すように部品のリード部分にウインドウを設定しリードＬを矢印の方向に読み出す。続いて図６（Ｂ）に示すようにリードの濃度値を求め、これに対してＤＯＧフィルタ演算を行うと、（Ｃ）に示したようなフィルタ演算結果が得られ、このフィルタ演算結果のゼロクロス点がリードのエッジとして識別される。フィルタによっては、ちょっとした濃度変化にも反応しやすく、ゼロクロス点が全てリードエッジとは限らない。そこで、リードエッジの場合は、フィルタ反応値が大きくなることから、図６（Ｄ）に示すように、ゼロクロス点前後の変化量を形成し、これをしきい値Ｈ（エッジ判定しきい値）と比較してしきい値以上であるものをリードエッジとして抽出する。
【００４２】
しかし、図７（Ａ）に示すように、リードＬ’の写りが悪く、その画像が不良であるにも拘わらず、エッジ判定しきい値Ｈが高すぎると、図７（Ｃ）に示したように、検出できるリード本数が指定数より少なくなり誤検出となる。また、図８（Ａ）に示すように、リード以外にノイズＮが存在する場合には、エッジ判定しきい値Ｈが低すぎるとリード以外のノイズを誤検出し、リード検出本数が指定された本数より多くなる。つまり、図７のように、検出したリード本数が指定リード本数より少ない場合は、エッジ判定しきい値Ｈが高すぎたかもしれず、また逆に検出リード本数が多かった場合はエッジ判定しきい値Ｈが低すぎたのかもしれない。すなわち、リード検出本数と指定リード本数を比較することでエッジ判定しきい値を増大する方向か（図８）、あるいは減少させる方向（図７）のどちらの方向に調整したらいいのかが判断できるので、エッジ判定しきい値の調整方向を、リード検出本数と指定リード本数より多いか少ないかの検査結果に応じて変化させるようにする。
【００４３】
次に、しきい値をどれくらい変動させるか、すなわち調整量（変動量）は、まず、調整量の限界を規定する。例えば、リード本数が少ない場合、しきい値をどんどん下げていけば、背景部のちょっとした濃度変化さえ、エッジとみなしてしまうことになる。このような背景部のノイズを拾わないレベルが限界である。つまり、背景部の濃度分布によりこの値は規定できる。
【００４４】
また、リトライを段階的に複数回行うようにし、部品の種類毎に、リトライ回数、調整量を変化させるようにする。そして、このリトライ回数と調整量を部品データとして部品データメモリ３５に保存する。
【００４５】
また、エッジ判定しきい値を自動調整するようにすることもできる。この自動調整では、調整範囲内を二分探索するよう、しきい値調整量を内部で設定し、リトライを繰り返す。この方法が図９に図示されており、リードＬとノイズＮを含む画像を読み出して、そのエッジ位置の変化量を検出して、部品データメモリ３５に格納されている初期エッジ判定しきい値Ｈと比較する。図９（Ａ）に示した例では、初期しきい値Ｈが低すぎるので、ノイズＮを検出し、検出したリード本数が指定数より多くなるので、高くしたしきい値Ｈ１で１回目のリトライを行う。この１回目のリトライでは、しきい値Ｈ１が大きいので、検出本数が指定数より少なくなる。そこで、２回のリトライのときは、しきい値をＨとＨ１の間のしきい値Ｈ２に設定する。図９（Ｂ）の例は、初期しきい値Ｈが高すぎた場合で、同様に、リトライを２回行う。図９（Ａ）、（Ｂ）の例では、２回のリトライで検出したリード本数が指定数と一致するが、もし、２回目のリトライでも、検出したリード本数が多かったら３回目のリトライのしきい値は、初期しきい値Ｈと２回目のしきい値Ｈ２の間とし、少なかったら３回目のリトライのしきい値は１回目のしきい値Ｈ１と２回目のしきい値Ｈ２の間に設定する。但し、リード本数が多すぎて、しきい値を上げる方向に調整する場合のしきい値の初期値は、先に検出されたリードのエッジのフィルタ演算値の最小値を使用する。
【００４６】
図９（Ｃ）は、調整範囲Ｋでしきい値を変化させても検出されるリード数は同じであることを示している。この調整範囲Ｋは、あらかじめしきい値の変動値の最少値を規定しておき、調整範囲が規定値より小さくなったら、処理を終了する。この場合は、実際にリード本数が異なる部品だと判断する。
【００４７】
（４）再リード検出
基本的には、通常のフィルタしきい値でのリード検出処理やリード検査処理と全く同じ処理でよい。しかしながら、同処理を何度も行うのは非効率であり処理時間も増加する。例えば以下の対策を行うことでリトライ処理の効率化が図れる。
【００４８】
図１０（Ａ）で、水平に示す４本の読み出しライン（走査線）によりリードＬ１〜Ｌ５（Ｎ１はノイズを示す）で検出されたエッジが黒丸で図示されており、この検出したエッジの座標値を、例えばＲＡＭ３３に保存する。検出したリード（実線）数は、指定数より少ないので、エッジ判定しきい値が下げられてリトライ処理が行われる。この場合、前回リードエッジと判断されなかったエッジ部分に対してのみ（図１０（Ａ）の白丸の部分）リードエッジか否かを判断する。そして、図１０（Ｂ）に示すように、前回検出したエッジと今回検出したエッジを合成し、図１０（Ｃ）に示すように、各リードエッジを連結しリード先端座標の検出処理を行う。
【００４９】
一方、図１１（Ａ）は、初期のエッジ判定しきい値が低すぎ、すべてのリードＬ１〜Ｌ５のエッジとノイズＮ１のエッジが検出された場合を示し、この場合は、検出されたリード数がノイズ分指定数より多くなるので、リトライ時には、エッジ判定しきい値が大きくされる。同様に、図１１（Ａ）のエッジ検出結果を保存し、リトライ時に検出されているリードエッジのうち、フィルタ演算結果のゼロクロス点の変化量が一番小さなエッジから順に判定を行う。前回検出されたリードエッジのうちしきい値未満となったエッジを全て排除し、エッジが少なくなりリード端子を形成できなくなった検出端子があればその結果を削除する。これにより図１１（Ｂ）、（Ｃ）に示したように、ノイズＮ１が削除されることとなる。
【００５０】
このように、リトライ前のエッジ座標値を保存しておき、リトライ時のエッジ座標値と照合し、変化のあった部分についてのみ処理を行うので、リトライ時の不要なラベリングや、リード先端座標取得処理を軽減し、リトライによる処理速度低下を軽減させることができる。
【００５１】
（５）再検出リードの妥当性チェック
例えば、図１２（Ａ）に示したように、リード検査時にリードＬ１、Ｌ３、Ｌ４のみリードが検出されて検出リード数が少ない場合は、図１２（Ｂ）に示すように、検出ピッチやリード先端座標を結んだリード列直線から、どのあたりに不足している端子が存在するかの端子位置Ｅ１、Ｅ２、Ｅ３を予測することができる。図１２（Ｃ）は、リトライで新たにリード端子の座標Ｅ１’、Ｅ２’、Ｅ３’が検出されたことを示している。この検出された座標位置と予測した位置と一致すればリード端子の可能性が高い。一方検出した座標Ｅ１’は、予測位置Ｅ１と全く異なるところに存在するので、これは、ノイズと判断でき、削除する。
【００５２】
逆に、図１３（Ａ）は、エッジ判定しきい値が低く、指定数５より多いＬ０〜Ｌ５の６本のリードが検出された場合を示している。このように検出リード数が多い場合は、図１３（Ｂ）に示したように、検出端子は同一直線上に同一間隔で存在するので、どの検出リード端子が不要な端子位置（ノイズ予測位置Ｎ１、Ｎ２）かを求めることができる。リトライ時には、エッジ判定しきい値が増大されるので、Ｎ１は検出されず、それが削除され、一方、残りの予測端子Ｎ２はリード端子Ｌ５と判断することができる。
【００５３】
このように、再検出したリードの妥当性をチェックすることによりリード端子検出の精度を高めることができる。
【００５４】
（６）リード列間距離のチェック
リードが暗く撮像される場合、リード検出ウィンドウ設定用のしきい値が不適切であると、リード検出ウィンドウを誤った場所にかけてしまうことが起こる。このときにリトライ処理によって無理にリード検出を行うと、誤った部品中心を算出してしまう。これを防止するために、複数のリード列が存在する場合、リード列間の相対位置関係のチェックを行う（図４のステップＳ１４に対応）。この例が、図１４に図示されている。同図で、上辺にリードＬ１０〜Ｌ１３を有し、下辺にリードＬ１０’〜Ｌ１３’を有する部品の画像処理において、上辺のリードに対しては誤ってリードの根元にウインドウＷ１が設定され、下辺に対しては正しい位置にウインドウＷ２が設定されている状態が示されている。なお、各リードは根元から水平に延び、点線の部分で下方に湾曲して再び水平方向に延びるＬ字状の端子となっている。
【００５５】
この状態で、ウインドウＷ１で検出された上辺の各リード先端座標を結ぶ線と、ウインドウＷ２で検出された下辺の各リード先端座標を結ぶ線の間隔Ｒ１、即ち、上下リード列間距離を求め、これを部品データメモリ３５に格納されている寸法Ｒ２と比較する。一致していれば、正常であり、また不一致であれば、異常である信号を発生する。
【００５６】
（７）リトライ結果の反映
例えば図１５のような部品の場合、４辺Ｍ１〜Ｍ４それぞれに存在するリード端子はサイズも材質も全て同一のものである。このような部品は、どの辺のリード端子も同じような映りになるため、上辺Ｍ１のリードのコントラストが低くエッジ判定しきい値を下げるリトライが発生した場合は、他３辺のリード端子もコントラストが低く通常のエッジ判定しきい値では認識できない可能性が高い。上辺で正常に認識できた時のエッジ判定しきい値を用いて残りの３辺のリード認識を行えば、リトライが発生せずにリード検出が正常に行える。
【００５７】
これは、同じ環境下で繰り返し撮像された時に、リード端子の映りにばらつきのでない部品についても同様のことが言える。このような部品に対応するため、部品データメモリ３５にリトライ結果の反映の有無が指定できる。
【００５８】
リトライを行って正常にリード端子が検出されたとき（図４のステップＳ１２で当該辺で正常が検出されたとき）、リトライ結果の反映の指定が有効になっていた場合は、この時に用いたエッジ判定しきい値を次回以降の認識ではデフォルト値として用いられるように、部品データメモリに登録する。この指定が省略されている（指定なし）の場合は無効とする。
【００５９】
（８）リトライ発生状況の通知
リトライは画像処理装置が自動的に行う処理のため、ユーザーにはリトライの発生状況が把握しにくい。リトライ発生状況がユーザーに伝わらない場合、部品データでエッジ判定しきい値を設定したり、リトライの指定を行うことが困難である。そこで、リトライ発生時はモニタ２４にリトライの発生した辺とその時に用いたエッジ判定しきい値を表示するようにする。
【図面の簡単な説明】
【００６０】
【図１】本発明が用いられる部品実装機の構成を示したブロック図である。
【図２】画像処理装置の構成を示した構成図である。
【図３】部品認識時のデータの流れを示した説明図である。
【図４】部品認識の流れを示したフローチャートである。
【図５】リトライ処理を行うかどうかを指定する方法を示した表図である。
【図６】リードエッジ検出の流れを示した信号波形図である。
【図７】暗いリードがあるときのリードエッジ検出の流れを示した信号波形図である。
【図８】ノイズがあるときのリードエッジ検出の流れを示した信号波形図である。
【図９】エッジ判定しきい値を調整する方法を示した説明図である。
【図１０】検出したエッジ座標を保存してリトライ処理を行う例を示した説明図である。
【図１１】検出したエッジ座標を保存してリトライ処理を行う他の例を示した説明図である。
【図１２】再検出リードの妥当性チェックを行う例を説明した説明図である。
【図１３】再検出リードの妥当性チェックを行う他の例を説明した説明図である。
【図１４】リード列間距離のチェックを行う方法を示した説明図である。
【図１５】検出環境が部品の４辺で同じ部品の平面図である。
【符号の説明】
【００６１】
５  撮像装置
１０  コントローラ
２０  部品
３０  画像処理装置
３４  画像メモリ
３５  部品データメモリ
【図１】
2005166850.tif 000003
【図２】
2005166850.tif 000004
【図３】
2005166850.tif 000005
【図４】
2005166850.tif 000006
【図５】
2005166850.tif 000007
【図６】
2005166850.tif 000008
【図７】
2005166850.tif 000009
【図８】
2005166850.tif 000010
【図９】
2005166850.tif 000011
【図１０】
2005166850.tif 000012
【図１１】
2005166850.tif 000013
【図１２】
2005166850.tif 000014
【図１３】
2005166850.tif 000015
【図１４】
2005166850.tif 000016
【図１５】
2005166850.tif 000017