JP2004279304A - Image processing method and image processing program - Google Patents
Image processing method and image processing program Download PDFInfo
- Publication number
- JP2004279304A JP2004279304A JP2003073395A JP2003073395A JP2004279304A JP 2004279304 A JP2004279304 A JP 2004279304A JP 2003073395 A JP2003073395 A JP 2003073395A JP 2003073395 A JP2003073395 A JP 2003073395A JP 2004279304 A JP2004279304 A JP 2004279304A
- Authority
- JP
- Japan
- Prior art keywords
- recognition
- image
- image processing
- characteristic value
- template
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 105
- 238000012937 correction Methods 0.000 claims abstract description 47
- 230000003287 optical effect Effects 0.000 claims description 56
- 238000003384 imaging method Methods 0.000 claims description 23
- 238000013500 data storage Methods 0.000 claims description 2
- 230000001965 increasing effect Effects 0.000 abstract description 5
- 230000002596 correlated effect Effects 0.000 abstract 1
- 230000002349 favourable effect Effects 0.000 abstract 1
- 235000019557 luminance Nutrition 0.000 description 67
- 238000000034 method Methods 0.000 description 66
- 230000008569 process Effects 0.000 description 58
- 238000005259 measurement Methods 0.000 description 40
- 238000007689 inspection Methods 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 230000015654 memory Effects 0.000 description 19
- 230000007547 defect Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- OQCFWECOQNPQCG-UHFFFAOYSA-N 1,3,4,8-tetrahydropyrimido[4,5-c]oxazin-7-one Chemical compound C1CONC2=C1C=NC(=O)N2 OQCFWECOQNPQCG-UHFFFAOYSA-N 0.000 description 7
- 239000011295 pitch Substances 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 5
- 230000003028 elevating effect Effects 0.000 description 5
- 238000005452 bending Methods 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、対象物を撮像した撮像データから、その対象物の存在位置等を認識する画像処理の方法およびその方法を実施するためのコンピュータプログラムに関する。
【0002】
【従来の技術】
対象物の撮像データからその対象物の存在位置等を認識する画像処理は、多くの分野で採用されている。例えば、電子部品等を回路基板に実装する回路部品実装の分野もその一つである。部品実装作業は、回路部品を保持する部品保持デバイスによって保持された回路部品を、位置が固定された回路基板の表面に実装するものであるが、この作業において、回路部品が回路基板の適正位置に実装されるように、部品保持デバイスによる回路部品の保持位置のずれ量,回路基板の固定位置のずれ量等が取得される。これらのずれ量の取得は、保持された回路部品,回路基板に付された基準マークを撮像し、その撮像データを画像処理することによって行われるのが一般的である。このように、部品実装の分野でも、対象物の撮像データからその対象物の存在位置等を認識する画像処理が利用されているのである。
【0003】
対象物を画像処理によって認識する場合、撮像されて得られた画像データは、輝度等の光学的特性値の集合であり、それらの光学的特性値は、画素ごとの値として一旦モリに格納され、そのメモリに格納されたデータを利用して認識処理が行なわれる。画像認識を行う際、得られた光学的特性値をそのまま利用して行う場合だけではなく、その光学的特性値を画像認識に好都合な値に補正し、その補正した特性値に基づいて画像認識を行うのが便利なことがある。その場合、例えば、メモリに格納する前に、コンバータ等のハード的なデバイスを用いて、取得された光学的特性を画像認識に都合のよい値に変換し、その変換した値をメモリに格納することが行われている。ところがその方法では、別途ハードデバイスを必要とすることに加え、一律な補正しか行い得ないといった問題がある。そのことを考慮して、一旦メモリに格納したデータを、変換テ−ブル等を用いソフトウェアでの処理によって好都合な値に変換し、その変換したデータで先のメモリの内容を書き換えるあるいは別のメモリに格納するといったことも行われている。しかし、その方法では、すべての画素のデータを変換するため、処理時間に長い時間を要するという問題がある。
【0004】
一方、本出願人は、特開平8−180191号公報,特開平11−351827号公報,特開2000−205826号公報等において、ポイントペア,シークライン,ネガティブシークラインといった画像認識の拠点を規定するための基準点等を有するテンプレートを、対象物を含む画面に重ね合わせ、それによって規定された認識拠点のデータに基づいて、対象物の存在位置等を認識する画像処理方法を提案している。これらテンプレート利用型画像処理方法は、認識拠点に対応する画像データに基づく処理を行うだけで済むことから、簡便に対象物の認識を行い得るという利点を有する。
【0005】
【特許文献1】
特開平8−180191号公報
【特許文献2】
特開平11−351827号公報
【特許文献3】
特開2000−205826号公報
【0006】
【発明が解決しようとする課題,課題解決手段および効果】
前述の問題に鑑み、本発明は、撮像で得られた画像データをソフトウェア的な処理によって画像認識に都合がよい値に補正してその補正したデータを用いて行う画像処理方法において、補正処理を行うデータ量を少なくすることで、処理時間の比較的短い画像処理を実現することを1つの課題としてなされたものであり、また、本発明は、画像処理に適した値に補正した画像データに基づく画像処理という観点から、前述のテンプレート利用型画像処理を改善することを別の1つの課題としてなされたものである。
【0007】
そして、本発明によって、下記各態様の画像処理方法,画像処理プログラム等が得られる。各態様は請求項と同様に、項に区分し、各項に番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、あくまでも本発明の理解を容易にするためであり、本明細書に記載の技術的特徴およびそれらの組合わせが以下の各項に記載のものに限定されると解釈されるべきではない。また、一つの項に複数の事項が記載されている場合、それら複数の事項を常に一緒に採用しなければならないわけではない。一部の事項のみを選択して採用することも可能である。
【0008】
なお、以下の各項において、(1)項が請求項1に相当し、(2)項が請求項2に、(3)項が請求項3に、(4)が請求項4に、(5)項と(6)項とを合わせたものが請求項5に、(8)項と(9)項とを合わせたものが請求項6に、(11)項と(12)項とを合わせたものが請求項7に、それぞれ相当する。また、(21)項が請求項8に相当する。
【0009】
(1)撮像されて得られた対象物を含む画面の画像データからその対象物を認識するための画像処理方法であって、
前記画像データを画素ごとの光学的特性値の集合として記憶する画像データ記憶工程と、
前記画面内において複数の認識拠点を選択する拠点選択工程と、
それら複数の認識拠点の各々における光学的特性値である拠点特性値を、それら複数の認識拠点の各々に対応する1以上の画素に記憶されている光学的特性値と、その光学的特性値を前記対象物の認識に好適な値に補正する特性値補正データとに基づいて取得する拠点特性値取得工程と、
取得された各々の前記認識拠点の拠点特性値に基づいて前記対象物を認識する対象物認識工程と
を含む画像処理方法。
【0010】
本項に記載の態様では、撮像されて得られた画像データのうち、上記認識根拠点に対応する画像データのみを対象物の認識に利用する。そしてその利用するデータのみを補正して使用するため、前述のように、画像データすべてを補正する場合に比較して、短時間で画像処理を行うことができる。
【0011】
「対象物を含む画面」とは、例えば、対象物と、背景等の対象物以外のものが撮像された画面を意味する。対象物は、独立した1個の物であることに限定されない。例えば、その1個の物の一部分を対象物とし、他の部分を対象物以外のものとすることができる。例えば、電子部品を撮像してそれを画像認識する場合、電子部品のリード、バンプ、電極等の部分を対象物とし、それらの部分以外の部分を対象物外とするもであってもよい。
【0012】
本発明において撮像デバイスは特に限定されない、例えば、CCDカメラ、ラインスキャンカメラ等、2次元画像データを取得可能なデバイスであればよい。画像データとしての「光学的特性値」は、例えば、輝度,明度,色相,彩度等の特性値であり、本発明においては、それらの1以上のものを特性値として採用すればよい。それらの特性値は、記憶されあるいは画像認識処理において利用される場合、撮像素子ごとの電気信号の大きさ自体を表すアナログ値であってもよく、離散値として表現されるデジタル値(例えば階調データ等)であってもよい。
【0013】
記憶される光学的特性値は画素ごとのデータであるが、画像認識で用いられる光学的特性値は、画素ごとのデータであってもよく、また、画素とは別の要素のデータ、例えば、画素とは異なる単位ごとのデータであってもよい。例えば、撮像されて得られた画像データに基づく画像と、画像認識処理が行われる画像とが別のものと観念されるものであってもよいのである。言い方を換えれば、画素ごとのデータに基づく画像を物理画像とし、その物理画像が存在する画面を物理画面とする場合、画像認識処理を、その物理画像とは別の画像である仮想画像を対象として、その仮想画像が存在する画面である仮想画面上で行ってもよいのである。物理画面は画素が配列したマトリクスとなるが、仮想画面は、画素よりも細かな、あるいは、画素よりも広い要素が配列したマトリクスとされてもよく、また、XY座標等のアナログ座標で表される仮想平面として定義される画面とされてもよい。一例を挙げれば、仮想画像は、物理画面の画素ごとのデータが画素の中央の点の光学的特性値を表すものとみなし、それらの多数の点の光学的特性値を満たす面(仮想画面の2次元座標と光学的特性値の1次元座標とによって定義される3次元空間内に存在する面)を想定した場合に、その面を規定する連続的な光学的特性値の集合として観念される画像とすることができる。
【0014】
対象物の認識処理を上記仮想画面内において行う場合は、その認識処理に利用される画像データの属する点である認識拠点は、仮想画像における点であり、仮想画面内の点となる。仮想画面が物理画面における画素とは別の単位のものとされている場合、認識拠点と画素とは1対1に対応しないことがあり、その場合、例えば、認識拠点における光学的特性値は、複数の画素に記憶されている光学的特性値の各々に基づいて補完された値であってもよい。
【0015】
本項に記載の態様では、「対象物の認識」とは、対象物の形状、寸法、表面状態、欠陥、対象物の存在する画面内の位置等、対象物に関する種々の諸元のうち、1以上のものを認識することを意味する。なお、本明細書では、画面内における「対象物の位置」,「対象物の存在位置」は、例えば対象物の重心点が存在する位置、つまり、対象物が平面に沿った移動によって変化するところのその対象物の平面内の位置のみを意味するのではなく、対象物が任意の一点(例えば重心)を中心に回転することによって変化する位置、すなわち、回転角度位置をも含む概念である。平たく言えば、対象物の方位位置,姿勢位置をも含む概念である。
【0016】
本項に記載の態様における「特性値補正データ」は、特に限定されるものではなく、「対象物の認識に好適な値」、例えば、画像処理を迅速に行い得る、対象物の認識精度を向上させ得るといった種々の利点のうちの少なくとも1つが得られるような値に、記憶されている光学的特性値を変換するためのデータであればよい。また、本項における「特性値補正データ」は、前述したように物理画面とは別の仮想画面で対象物の認識処理が行われる場合に、物理画面データとして記憶されている光学的特性値を仮想画面データとしての光学的特性値に変換する前に、その記憶されている光学的特性値を補正するものであってもよく、また、仮想画面におけるデータとして変換された光学的特性値を補正するものであってもよい。
【0017】
(2)前記特性値補正データが、前記対象物の画像と前記対象物の画像に隣接する前記対象物以外の画像とのコントラスト差を拡大する方向に前記光学的特性値を補正するものである(1)項に記載の画像処理方法。
(3)前記特性値補正データが、前記光学的特性値をその値が設定閾値より大きい場合にはより大きな値に、その設定閾値より小さい場合にはより小さな値に補正するものである(1)項または(2)項に記載の画像処理方法。
【0018】
上記2つの項に記載の態様は、特性値補正データに関する限定を加えた態様である。例えば、対象物の形状,寸法,画面内における存在位置等を認識する場合、対象物を際立たせるような画像であれば、認識を行い易い。また、対象物の輪郭(エッジ)を特定し、その特定結果に基づいて認識を行うような場合、輪郭の位置をより正確に特定可能である。(2)項に記載の態様は、例えばそのような場合に好適な態様であり、画面内において対象物が存在する部分の光学的特性値と、背景等,その対象物に隣接する部分の光学的特性値とのコンラストを強くするように補正するための補正データを用いる態様である。「コントラスト差を拡大する」態様には、平たく言えば、例えば、対象物が背景より明るい画像であれば、対象物をより明るく,背景をより暗くするような態様が含まれる。輝度差,明度差,彩度差等を大きくしたり、色相を違いをより明確にするといった態様が含まれる。何らかの手段で、対象物の光学的特性値と非対象物の光学的特性値とを予め取得しておき、その取得された特性値を基に、認識の目的に応じて適宜、適切な補正データを決定することもできる。(3)項に記載の態様は、画像における何らかの境界において光学的特性値が変化するような場合、その変化をより急激なものとする方向に補正を行う態様である。(2)項に記載の態様と同様、対象物の輪郭の特定等の際に好適な態様である。例えば、対象物の輪郭を挟んでその輪郭に近い両側の位置の各々における光学的特性値が既知である場合、それらの中間の値を閾値に設定すれば、対象物の輪郭の特定を容易に行うことができる。上記2つの項に記載の態様において、補正データは、変換テーブル等の形式で存在し、補正の際にその変換テーブル等が参照されるものであってもよく、また、式,関数等の形式で存在し、その式等に従った演算によって補正が行われるようなものであってもよい。また、補正データは1つに限られず、認識の目的,認識の箇所,対象物に隣接する画像の種類等応じ、複数の補正データを使い分けることも可能である。
【0019】
(4)前記拠点選択工程が、前記対象物が理論形状寸法のものである場合の輪郭線である理論輪郭線に関係付けられた複数の基準点と1以上の基準線との少なくとも一方を有するテンプレートを利用し、そのテンプレートを設定された位置において前記画面に重ね合わせ、それら基準点と基準線との少なくとも一方によって規定される前記画面内の点を前記複数の認識拠点として選択するテンプレート利用選択工程を含む(1)項ないし(3)項のいずれかに記載の画像処理方法。
【0020】
本項に記載の態様は、端的に言えば、認識拠点の選択においてテンプレートを利用する態様である。対象物の形状,寸法,画面内における存在位置等を認識する場合、理論形状寸法の対象物(以下、「理論対象物」という場合がある)を画像に重ね合わせ、その理論対象物と実際の対象物との相違状態から、その実際の対象物の認識処理を行うことが便利な場合が多い。本項に記載の態様は、そのような場合に好適な態様である。本項に記載の態様は、先に説明したところの本願出願人の発明に係る「テンプレート利用型画像処理」を、補正された光学的特性値に基づいて行うように改善した態様を含むものである。なお、対象物の認識処理を、物理画面上で行う場合は、画素に対応したテンプレートを物理画面に重ねればよく、仮想画面上で行う場合は、仮想画面に重ね合わせればよい。また、理論輪郭線は、必ずしもテンプレート上に実際に設定される必要はなく、基準線,基準点を設定するための仮想的なものであってよい。また、テンプレートは、対象物の輪郭のすべてに対応するものに限定されず、対象物の輪郭の一部分に対応するものであってよい。
【0021】
(5)前記テンプレート利用選択工程において、前記複数の基準点として前記理論輪郭線を挟んで位置する基準点対を複数有するテンプレートを利用し、前記複数の基準点対の各々によって規定される複数の点を前記複数の認識拠点として選択する(4)項に記載の画像処理方法。
(6)前記対象物認識工程が、1つの前記基準点対によって規定される2つの認識拠点の拠点特性値の相違状態が設定閾状態を超えるときに、その2つの認識拠点についてそれらの一方が前記対象物の輪郭内に属しかつ他方が前記対象物の輪郭外に属する適合状態にあるとし、複数の基準点対によって規定される複数の認識拠点の対のうち設定数以上のものについて適合状態である場合に、前記対象物が前記テンプレートに適合すると判定する適合判定工程を含む(5)項に記載の画像処理方法。
(7)前記対象物認識工程が、前記対象物適合判定工程において前記対象物が前記テンプレートに適合すると判断された場合に、前記対象物の前記画面内における存在位置が前記理論輪郭線の存在する位置と概ね同じ位置であると推認する存在位置推認工程を含む(6)項に記載の画像処理方法。
【0022】
上記3つの項に記載の態様は、例えば、画面内において対象物を捜索するのに好適な態様である。(5)項における基準点対は、ポイントペアと呼ぶことができるものであり、ポイントペアを構成する一方の基準点が対象物内に位置することが予定され、他方の基準点が対象物外に位置することが予定されたものである。したがって、対象物の画像における光学的特性値と対象物外の画像と光学的特性値との関係が既知であるような場合は、それぞれの基準点によって規定される認識拠点の光学的特性値がその関係にあるときには、それぞれの基準点が対象物の輪郭を挟んで位置すると判定することができる。(5)項に記載のテンプレートは、そのような判定を行うために用いることができる。なお、ポイントペアの数量のを変更する、各基準点の理論輪郭線からの離間距離を変更する等により、認識の目的に応じた種々の判定が行える。
【0023】
上記(6)項に記載の態様は、(5)項に記載するテンプレートを利用した認識処理の一態様に関するものである。複数のポイントペアのうちのいくつかのものが適合状態にあれば、理論輪郭線と実際の対象物の輪郭線とがある程度一致しているみなすことができる。例えば認識エラーを考慮する等、種々のことを想定して設定数以上の適合状態をもって適合判定とするが、この態様には、すべてのポイントペアが適合状態である場合に適合判定を行う態様も含まれる。「テンプレートに適合する」とは、テンプレートが重ね合わされた位置における理論輪郭線で規定される理論対象物の存在位置と、実際の対象物が存在する位置とがある程度一致していることを含む概念であり、また、実際の対象物が存在する位置に理論対象物が重なりあう場合には、対象物の輪郭が理論対象物の輪郭と略一致していることを含む概念である。(7)項に記載の態様は、それらのうちの前者に関するものであり、例えば、テンプレートとの適合によって、画面内の対象物の概略位置を特定する態様が含まれる。なお、後者に関するものとして、対象物が認識対象であるか否か、つまり対象物自体が予定とは異なるものではないことを確認することに利用できる。また、対象物の存在位置が不明であってその対象物を捜索する場合、テンプレートを重ね合わせる位置を設定条件に従って変更しつつ(平行移動と回転とを含む)、適合判定が得られるまで判定を繰り返すようにすればよい。
【0024】
(8)前記テンプレート利用選択工程において、前記1以上の基準線として前記理論輪郭線と交差する基準交線を複数有するテンプレートを利用し、それら複数の基準交線の各々によって規定される線上に並ぶ複数の点を前記複数の認識拠点として選択する(4)項に記載の画像処理方法。
(9)前記対象物認識工程が、前記複数の認識拠点の各々の拠点特性値に基づいて、前記複数の基準交線の各々によって規定される線上における前記対象物の輪郭の位置を特定する輪郭位置特定工程を含む(8)項に記載の画像処理方法。
(10)前記対象物認識工程が、前記輪郭位置特定工程において特定された前記輪郭の位置に基づいて、前記対象物の前記画面内における存在位置と理論形状寸法に対する誤差との少なくとも一方を認識する存在位置・形状寸法誤差認識工程を含む(9)項に記載の画像処理方法。
【0025】
上記3つの項に記載の態様は、例えば、対象物の輪郭、すなわち対象物のエッジを特定するために好適な態様である。(8)項における基準交線は、対象物の輪郭と交差することが予定された線であり、その線上において輪郭を探すツールであることから、シークラインと称することとする。画像を構成する光学的特性値は、対象物のエッジの近傍において連続的に変化することが多い。そのため、シークラインに沿った認識拠点の光学的特性値の変化によりエッジを捜索し、その位置、エッジの形状的特徴(例えば、切り立ったエッジ,丸みを帯びたエッジといった特徴)等を特定することが可能である。
【0026】
上記(9)項に記載の態様は、シークライン上におけるエッジの存在位置を特定する態様である。例えば、シークライン上において、光学的特性値が最も急変する位置を、対象物のエッジが存在する位置として特定することができる。上記(10)項に記載の態様は、特定されたエッジの位置を利用する認識処理の一態様である。理論輪郭線と、特定された対象物のエッジの位置との関係により、対象物の輪郭の歪み等の形状的な誤差,対象物の大きさの相違等の寸法的誤差等を認識することができる。また、テンプレートの重ね合わされた位置が既知である場合は、理論対象物の画面内の存在位置が既知であり、理論対象物に対しての実際の対象物の位置ずれを認識することができることで、その対象物の画面内の存在位置を認識することが可能である。
【0027】
(11)前記テンプレート利用選択工程において、前記1以上の基準線として前記理論輪郭線の外側あるいは内側にその理論輪郭線に沿って延びる基準沿線を有するテンプレートを利用し、前記基準沿線によって規定される線上に並ぶ複数の点を前記複数の認識拠点として選択する(4)項に記載の画像処理方法。
(12)前記対象物認識工程が、前記複数の認識拠点の各々の拠点特性値に基づいて、前記対象物の輪郭形状を認識する輪郭形状認識工程を含む(11)項に記載の画像処理方法。
【0028】
上記2つの項に記載の態様は、例えば、対象物の輪郭の形状的欠陥、つまり、エッジに存在する欠陥等を認識するために好適な態様である。(11)項における基準沿線は、対象物の輪郭と交差しないことが予定された線であり、その線上において対象物の輪郭が交差した場合に、対象物に何らかの異変があると判断できるため、その異変を探す機能を果たすことから、この基準沿線もシークラインと呼ぶことができる。(8)項におけるシークラインと区別するため、先のものをポジティブシークラインと呼び、本項のものをネガティブシークラインと称することにする。例えば、ネガティブシークラインを理論対象物の外に設定した場合、エッジの一部が曲がり等を生じて突出するときには、対象物の輪郭線がそのネガティブシークラインと交差する。逆に、ネガティブシークラインを理論対象物内に設定した場合、エッジの一部が欠損するようなときには、対象物の輪郭線がそのネガティブシークラインと交差する。
【0029】
上記(12)項に記載の態様には、ネガティブシークラインの特徴を利用し、ネガティブシークラインによって規定された認識拠点の光学的特性値の異変等から、対象物の輪郭形状、特に、輪郭形状の異変を認識するような態様が含まれ、その態様によれば、例えば、エッジに存在する欠陥を発見することができる。なお、ネガティブシークラインを利用した認識処理は、エッジの欠陥等だけではなく、シークライン上のいずれかの位置においてそのラインと対象物の輪郭線と交差するような場合において、対象物が位置ずれを生じていると判定するような態様で実施することも可能である。つまり、裏を返せば、ネガティブシークラインを用いた対象物の捜索も可能なのである。
【0030】
(13)部品保持デバイスによって保持された回路部品を位置が固定された回路基板に実装する部品実装作業において実施され、前記部品保持デバイスによって保持された回路部品の保持位置のずれあるいは回路基板の固定位置ずれを検出するために、回路基板に設けられた基準マークあるいは保持された回路部品を前記対象物として認識するための画像処理に適用される(1)項ないし(12)項のいずれかに記載の画像処理方法。
【0031】
部品実装作業は、高速で行うことを要求され、画像認識処理による回路部品,回路部品の位置ずれ量の検出等を迅速に行うことが望まれている。本発明の画像処理方法は、認識拠点という画面内の限られた点の画像データのみを扱って画像処理を行うことができるため、比較的短時間で上記位置ずれ量の検出等を行うことができ、部品実装作業に好適である。また、電子回路の小型化等に伴い、高い実装精度が求められる中、認識に好適な状態に補正されたデータを用いて画像処理を行う本発明の画像処理方法は、認識精度が高くすることができることから、実装精度という観点からも部品実装作業に好適である。
【0032】
(21)撮像されて得られた対象物を含む画面の画像データからその対象物を認識するための画像処理を行うためにコンピュータによって実行されるプログラムであって、
前記画像データを画素ごとの光学的特性値の集合として記憶する画像データ記憶ステップと、
前記画面内において複数の認識拠点を選択する拠点選択ステップと、
それら複数の認識拠点の各々における光学的特性値である拠点特性値を、それら複数の認識拠点の各々に対応する1以上の画素に記憶されている光学的特性値と、その光学的特性値を対象物の認識に好適な値に補正する特性値補正データとに基づいて取得する拠点特性値取得ステップと、
取得された各々の認識拠点の拠点特性値に基づいて前記対象物を認識する対象物認識ステップと
を含む画像処理プログラム。
(31)(21)項に記載の画像処理プログラムがコンピュータにより読み取り可能に記録された記録媒体。
【0033】
上記2つの項に記載の態様は、それぞれ、前述の画像処理方法を実現するためのコンピュータプログラムおよびそのプログラムが記録された記録媒体に関するものである。それら2つの項について説明は、先の説明と重複するため、ここでの説明は省略する。なお、上記2つの項の各々に、前記(2)項ないし(13)項に記載の技術的特徴を加えた態様で実施することも可能である。
【0034】
【発明の実施の形態】
以下、本発明の実施形態を、部品実装作業に適用される場合を例とって説明する。また、以下の実施形態は、先に述べた「テンプレート利用型」の画像処理に関するものであり、その細部は〔従来の技術〕の項に掲げたところの、本出願人による先の出願に詳しく説明されていることから、一部の説明は省略するものとする。なお、本発明は、以下の実施形態に限定されるものではなく、以下の実施形態の他、前記〔発明が解決しようとする課題,課題解決手段および効果〕の項に記載された態様を始めとして、当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。
【0035】
<回路部品実装機の構成と部品実装作業>
図1に本発明が適用される部品実装作業を行う回路部品実装機の10の全体斜視図を示す。回路部品実装機10(以下、単に「実装機10」と略す場合がある)は、ベースモジュール12と、ベースモジュール12上に互いに隣接してかつ整列して配置された複数の実装モジュール14と、実装機10全体を制御する制御モジュール16とを含んで構成されている。各実装モジュール14は、ハード的には互いに同じ構成のものとされている。実装モジュール14の並ぶ方向は、回路基板が搬送される方向とされており、回路基板は、図における左方に位置する実装モジュール14から右方に位置する作業モジュール14に向かって搬送され、順次、各実装モジュール14におけるが部品実装作業が実行される。
【0036】
図2は、2つの実装モジュール14が配置された部分を示すものであり、右側の実装モジュール14は、外装板等を取り外して示してある。この図が示すように、各々の実装モジュール14は、モジュールの躯体として機能するフレーム20と、フレーム20に配置された種々の装置等を含んで構成されている。例えば、それぞれが並んで配設されて回路部品を所定の部品供給位置において1個ずつ供給する複数のテープフィーダ(以下、「フィーダ」と略すことがある)22、回路基板18を搬送する機能を有して所定の作業位置に回路基板18を固定保持するコンベアユニット24、実装ヘッド26を有して、その実装ヘッド26を作業領域内において移動させ、その実装ヘッド26に部品実装作業を行わせる実装装置28等である。本実施形態においては、実装ヘッド26は、フィーダ22から供給される回路部品を保持して取出し、その回路部品をコンベアユニット24に固定された回路基板18に実装する。
【0037】
また、実装モジュール14には、複数のフィーダ22の群(以下、「フィーダ群」と呼ぶことがある)30とコンベアユニット24との間において、主に実装ヘッド26に保持されている回路部品を撮像する部品カメラ(CCDカメラである)32が配備されている。さらに、各々の実装モジュール14は、自身を制御するモジュール制御装置38(図2では省略、図4を参照)を有し、そのモジュール制御装置38により、上記各装置等が制御されつつ動作する。また、実装モジュール14の各々は、上部に入出力装置としての操作・表示パネル40を備え、この操作・表示パネル40は、モジュール制御装置38につながっており、各種指令、情報等についてのオペレータ入力を受け付け、実装モジュール14のステータス情報,後に説明する画像処理に関する情報等の表示等を行う。
【0038】
複数のフィーダ22の各々は、一般によく知られた構造のものであり、ここでは簡単に説明するが、テープ化された回路部品である回路部品テーピング(電子部品の場合は電子部品テーピングと呼ばれることがある)が巻き回されたリール48を保持しており、リール48から延び出すテーピングを実装装置28の動作に対応して部品保持ピッチずつ送るとともに、カバーテープが剥がすことで、回路部品を部品供給位置において1つずつ供給するような構造とされている。
【0039】
コンベアユニット24は、コンベアベルトが周回するコンベア装置を主体とするものであり、前部コンベア60および後部コンベア62の2つのコンベア装置を含んで構成されている。前部コンベア60および後部コンベア62は、それぞれ、コンベアレール64が移動して回路基板18の幅に合わせてその幅が変更可能とされており、また、図示を省略するコンベアベルトが周回する構造とされ、回路基板18は、そのコンベアベルトに支承されて移送される。コンベアユニット24は、複数の実装モジュール14の各々に備わっており、その各々のコンベアユニット24は、実装機10において、一直線上に位置するようにされている。各実装モジュール14のコンベアユニット24は、互いに協調して回路基板18を搬送可能とされており、各コンベアユニット24は、自身の作業領域内に移送されてきた回路基板18を、設定された停止位置である作業位置に停止させる。コンベアユニット24は、下部に、図示を省略する昇降装置によって昇降可能な回路基板支持板(以下、「支持板」と略すことがある)76を有し、この支持板76の上面には図示を省略する支持ピンが任意の位置に変更可能に設けられている。支持板76が上昇させられることで、その支持ピンに支持されて回路基板18が上昇し、コンベアベルトとの係合を解かれるとともに、コンベアレール64の一部分と支持ピンとに挟持されて、回路基板18が上記作業位置において固定される。
【0040】
図3に示すように、実装装置28は、実装ヘッド26と、その実装ヘッド26を作業領域内において略一平面に沿って移動させるヘッド移動装置80とを含んで構成される。ヘッド移動装置80は、XYロボット型の移動装置であり、実装ヘッド26を前後方向に移動させるYスライド装置82と、左右方向に移動させるXスライド装置84とを含んで構成される。実装ヘッド26は、ヘッド移動装置80により、フィーダ群30とコンベアユニット24において固定された回路基板18とにわたって移動させられる。なお、Xスライド96には、その下部に、マークカメラ(CCDカメラである)100が設けられている。このマークカメラ100は、主に回路基板18の表面に付された基準マーク等を撮像する。マークカメラ100は、実装ヘッド26とともに、ヘッド移動装置80によって移動させられる。
【0041】
実装ヘッド26は、概して軸状をなす実装ユニット110を複数備えて、インデックス回転する形式のものである。各実装ユニット110は、その下端部に回路部品を吸着保持する部品保持デバイスとしての吸着ノズル112を有している。また、各実装ユニット110は、自転可能とされているともに、1つのインデックス位置である昇降ステーションにおいて昇降可能とされている。実装ヘッド26の動作を簡単に説明すれば、実装ヘッド26がフィーダ群30の上方に位置する状態で、実装ユニット110の1つが下降させられ、その実装ユニット110の有する吸着ノズル112がフィーダ22の部品供給位置において供給される回路部品を吸着保持することによって、その実装ユニット110がその回路部品を取り出す。実装ユニット110が実装ヘッド26の間欠回転軸線を中心として間欠的に周回させられて、順次、各々の実装ユニット110が回路部品を取り出す。各実装ユニット110が回路部品を保持した状態で、実装ヘッド26は、コンベアユニット24に固定保持された回路基板18の上方に移動させられ、回路基板18の上方において、昇降ステーションに位置する1つの実装ユニット110が、回路部品の回転位置を調整するために自転されられた後に下降させられ、その実装ユニット110が保持する回路部品を回路基板18の表面に載置する。実装ユニット110は周回させられて、順次、各々の実装ユニット110が保持する回路部品を回路基板18に載置する。
【0042】
実装機10は、各実装モジュール14を制御するために各実装モジュール14に配置されたモジュール制御装置38と、各作業モジュール14を統括して制御する作業機制御装置としての制御モジュール16とによって制御されるが、作業の制御の中心をなす部分は、各モジュール制御装置38に存在する。図4に、モジュール制御装置38の制御に関するブロック図を示す。
【0043】
モジュール制御装置38は、コンピュータ120を主体とする制御装置であり、コンピュータ120は、CPU122と、ROM124と、RAM126と、入出力インタフェース128と、それらを互いに接続するバス130とを有している。入出力インタフェース128には、それぞれ駆動回路132を介して、フィーダ群30として配設された各フィーダ22と、コンベアユニット24と、実装ヘッド26と、ヘッド移動装置80とがそれぞれ接続されている。また、入出力インタフェース128には、コンピュータを主体とする画像処理を行う画像処理ユニット140が接続され、画像処理ユニット140には、部品カメラ32およびマークカメラ100が接続されている。この画像処理ユニット140については、後に詳しく説明する。また、操作・表示パネル40およびハードディスクを主体とする外部記憶装置142も、入出力インタフェース128に接続されている。実装機10は複数の実装モジュール14の各々が各種信号をやり取りしあって動作を行うようにされているため、入出力インターフェース128には、通信回路144を介して、他の実装モジュール14が接続されている。また、ホスト的な役割を果たす制御モジュール16とも通信回路200を介して接続されており、それとの間でも信号,情報等の通信が可能とされている。なお、外部記憶装置142には、実装モジュール14の基本動作プログラム,回路基板18に応じた実装プログラム等のアプリケーションプログラム,回路基板18,回路部品などに関する各種データ等が記憶されており、また、実装作業等の際には、それらの中から必要なものがRAM126に転送されて記憶され、そのRAM126の記憶内容に基づいて実装作業等が行われる。制御モジュール16も、コンピュータを主体とするものであるが、本発明とは関係が薄いため、説明を省略する。
【0044】
1つの実装モジュール14による部品実装作業を、説明すれば以下のようになる。まず、上流側から移送されてきた回路基板18は、コンベアユニット24によって、作業領域内の設定された作業位置に停止させられる。停止させられた回路基板18は、その位置において、回路基板支持板76が昇降装置によって上昇させられることにより、コンベアユニット24によって固定保持される。
【0045】
次いで、ヘッド移動装置80によってマークカメラ100が回路基板18に付された基準マークの上方に移動させられ、基準マークが撮像される。詳しく説明すれば、回路基板18には、その対角において設定された位置に2つの基準マーク付されており、マークカメラ100は、正規の位置に回路基板18が固定された場合における基準マークの各々の真上の位置に移動させられ、その位置において基準マークの各々が撮像される。回路基板18が正規の位置にある場合は、基準マークはそれぞれ、撮像視野の中心、すなわち撮影画面の中心に位置することになる。しかし、一般に、回路基板18は、平行移動的な位置ずれを生じているとともに、回転角度位置においてもずれを生じている。そのため、それぞれの基準マークは撮影画面の中心から外れて撮像されることなる。後に説明する画像処理においては、それぞれの基準マークの画面中心からの上記ずれ量が求められる。そして、そのずれ量に基づいて、幾何学的な演算処理が行なわれて、回路基板18の固定位置のずれ量が検出されるのである。
【0046】
次に、実装ヘッド26がフィーダ群30の上方に移動させられ、設定された取出順序に従って、回路部品が吸着ノズル112に吸着保持される。詳しくは、昇降ステーションに位置する実装ユニット110が、保持対象とされた回路部品を供給するフィーダ22の部品取出位置の上方に位置させられて、その位置でその実装ユニット110が下降させられ、その先端に保持された吸着ノズル112に負圧が供給されて、その回路部品を吸着保持する。そして実装ユニット110が周回させられ、次の実装ユニット110に関する同様の部品取出動作が行われる。このようにして、実装ヘッド26が備える実装ユニット110について、順次、部品取出動作が行われる。
【0047】
次に、回路部品を保持した実装ヘッド26は、部品カメラ32の上方に移動させられる。その位置において、部品カメラ32は、各実装ユニット110に保持されたすべての回路部品を一視野内に収めて撮像する。実装ヘッド26の間欠回転中心が、部品カメラの撮像視野の中心、つまり撮影画面の中心に位置するように撮像される。上記間欠回転中心に対するそれぞれの実装ユニット110の自転中心(軸心)の位置関係が求められていることから、各実装ユニット110の自転中心の撮影画面内における位置も既知のものとされており、また、撮像時における各実装ユニット110の自転角度も認識されている。後に説明する画像処理においては、各実装ユニット110に保持された回路部品のそれぞれが、その撮影画面内における各実装ユニット110の自転中心からどれだけ位置ずれ(XY方向位置および回転位置のずれ)を生じているのが求められる。それにより、それぞれの回路部品の保持位置のずれ量が検出されるのである。
【0048】
続いて、実装ヘッド26は、回路基板18の上方まで移動させられ、保持された回路部品が、設定された実装順序に従って、回路基板18の表面に載置される。詳しくは、まず、昇降ステーションに位置する実装ユニット110が自転させられて回路部品の回転角度位置が調整されるとともに、その実装ユニット110が定められた実装位置に回路部品を載置可能な位置に実装ヘッド26が移動させられる。その際、先に説明したところの検出された回路基板18の固定位置のずれ量,回路部品の保持位置のずれ量に基づいて、各実装ユニット110の自転角度が適正化されるとともに、実装ヘッド26の移動位置が適正化される。そして、その位置において、実装ユニット110が所定距離下降させられ、吸着ノズル112に正圧が供給されて、保持された回路部品が回路基板18の表面に載置される。続いて実装ユニット110が周回させられ、次の実装ユニット110に関する同様の載置動作が行われる。つまり、部品実装作業においては、検出された回路基板18の固定位置のずれ量,回路部品の保持位置のずれ量に基づいた補正が行われつつ、回路部品の載置が行われるため、回路部品は、回路基板18上の設定された実装位置に正確に実装されるのである。
【0049】
予定された全ての回路部品についての実装作業が終了するまで、実装ヘッド26がフィーダ群30と回路基板18との間を往復させられて、上記部品取出動作、部品載置動作が繰り返し行われる。全ての回路部品の実装が終了した後、回路基板18の固定保持が解除され、その回路基板18は、コンベアユニット24によって下流側へ移送される。このようにして、その回路基板18に予定されたその実装モジュール14による部品実装作業が終了する。
【0050】
<画像処理ユニット>
上述したところの、マークカメラ100,部品カメラ32による基準マークおよび回路基板の撮像の制御、回路基板18の固定位置のずれ量および回路部品の保持位置のずれ量の検出のための画像処理は、上記画像処理ユニット140によって行われる。図5に、画像処理ユニット140のブロック図を示す。
【0051】
画像処理ユニット140はコンピュータを主体とするものであり、CPU154,DRAM(ダイナミックラム)156,SRAM(スタティックラム)158,PROM(プログラマブルロム)160,漢字ROM162,フレームグラバメモリ164,および4面分のオーバレイ表示メモリ166を有し、これらは基板167上の図示しない内部バスによって互に接続されている。
【0052】
上記内部バスにはまた、2チャンネルのシリアルインタフェース170が接続され、入力装置172が接続可能とされている。通常、オペレータによるマニュアルの入力は、実装モジュール14の操作・表示パネル40から行われるが、画像処理ユニット140の調整時等に、別途、入力装置172を接続して、その入力装置172から必要な情報が入力可能とされているのである。
【0053】
バスにはまた、イーサネットインタフェース174(イーサネットは登録商標である)およびメモリカードインタフェース176が接続されている。インサーネットインタフェース174は、モジュール制御装置38との間(あるいは、オプションとして接続される外部の制御機器との間)で、P1コネクタ168を介してデータ交換を行う。具体的には、回路部品,回路基板18に関するデータ、後に説明するテンプレートの設定データ等がイーサネットインタフェース174を介してやり取りされる。メモリカードは、画像処理を行うために予め作成されたプログラムが記憶されたものであり、画像処理ユニット140にセットされれば、CPU154がPROM160を使用してメモリカード内のプログラムやプログラムの実行に必要なデータをメモリカードインタフェース176を介して読み出し、DRAM156に記憶させる。
【0054】
バスには更に、CCDカメラインタフェース180が接続され、前記部品カメラ32および前記マークカメラ100が接続されている。これらのカメラ32,100の撮像により得られた回路部品,基準マークの画像データはCCDカメラインタフェース180を介してそれぞれフレームグラバメモリ164に格納される。図では省略しているが、フレームグラバメモリ164は複数設けられており、複数の画像データが各フレームグラバメモリ164に順次格納されるようにされている。フレームグラバメモリ164にはまた、LSOバス182,ラインセンサ基板インタフェース184が接続され、ラインセンサの撮像により得られる画像データがフレームグラバメモリ164に記憶されるようになっている。CCDカメラに代えてラインスキャンカメラ等のラインセンサによって撮像された画像データに基づく画像処理も可能とされているのである。
【0055】
バスにはさらに、CRTインタフェース186が接続され、モニタCRT装置188が接続可能とされている。通常、画像処理ユニット140からの情報は、前述の操作・表示パネル40に表示されるが、調整時等において、モニタCRT装置188が接続され、そのモニタCRT装置188での表示が可能とされているのである。画像処理ユニット140による出力画像は、カラー表示およびモノクロ表示の両方が可能である。前述のように、カメラ32,100での撮像により得られた複数のモノクロ画像の画像データが、フレームグラバメモリ164に並列的に格納されるようになっており、一方オーバレイ表示メモリ166は、画像を16色のカラーで表示するカラー画像データを記憶し得るメモリを複数面分備えている。モニタCRT装置188には、上記モノクロ画像に、上記4面分のカラー画像のうちモノクロ画像に対応するものが重ねて表示され、画像処理の経過や結果が、操作・表示パネル40やモニタCRT装置188に表示可能となっている。
【0056】
<画像処理>
以下に、本発明の実施形態として、1つの実装ユニット110に保持された回路部品を対象物とした画像処理を例にとって、それの説明を行う。図6に、1つの実装ユニット110によって保持された回路部品200を部品カメラ32によって撮像した画像を示す。本実施形態では、説明を単純化するために、回路部品200は、長方形に撮像される形状のものとする。また、回路部品200の画像は、その周囲に隣接する背景部分202より高輝度に撮像されるものとする。そして、認識処理においては、理論形状寸法の回路部品である理論回路部品204に対しての寸法誤差lx−lx0,ly−ly0、保持位置のずれ量、すなわち正規位置(回路部品200の中心Oが実装ユニット110の軸心O0上に位置する位置)からのX方向のずれ量ΔX,Y方向のずれ量ΔYおよび回転角度位置のずれ量θを検出するものとし、また、その回路部品200の形状の良否、詳しくは、それの輪郭であるエッジ206の形状の良否を検査するものとする。
【0057】
i)物理画面,仮想画面および画像処理プログラム
本実施形態では、物理画面、仮想画面という2つの概念的な画面を利用して画像処理が行われる。図7に、物理画面,仮想画面および画像処理プログラムの相互関係を概念的に示す。物理画面210は、撮像によって得られてフレームグラバメモリ64に格納された画像データによる物理画像が存在する画面であり、部品カメラ32の画素に対応したマトリクスとして構成されている。仮想画面212は、画素に拘束されない、言い換えれば、画像を単位としない仮想画像が存在する画面である。
【0058】
画像処理の多くの部分は、所定の画像処理プログラムが画像処理ユニット150によって実行されることによって行われる。回路部品200の保持位置のずれ量の検出等の上記認識処理は、仮想画面上の仮想画像を対象に行われ、その認識処理を行うための認識処理プログラムは、画像処理アプリケーションソフトウェア214の一種であり、先に説明したように、メモリカードに格納されており、実装作業に先立ってDRAM156に読み込まれる。認識処理の実行においては、物理画面上のデータを仮想画面上のデータに変換する必要があり、その都度、所定の画像データ変換プログラム(画像データ変換サブルーチン)が呼び出されて、それが実行される。その変換プログラムは、物理画面/仮想画面変換ドライバ216の一種であり、認識処理プログラムと同様、メモリカードに格納されており、実装作業に先立ってDRAM156に読み込まれる。
【0059】
本実施形態では、物理画像のデータ,仮想画像のデータとして、光学特性値の一種である輝度が用いられる。つまり、フレームグラバメモリ64には、画素に対応した輝度データが格納されており、変換プログラムによって、この輝度データが、仮想画像の輝度データへ変換されるのである。なお、本実施形態では、輝度データは、0〜255の階調値として格納されており、変換された輝度データも階調値である。
【0060】
また、後に詳しく説明するが、本実施形態では、この輝度データは、上記変換の際に、認識処理に好適な値に補正される。この補正は、定められた条件に従って行われる。メモリカードには、光学的特性値補正データとしての輝度補正データがテーブル形式で格納されており、その補正データは、実装作業に先立ってDRAM156に読み込まれることで、ルックアップテーブル218がDRAM156上に設定される。上記輝度データの変換は、このルックアップテーブル218を参照しつつ行われるのである。
【0061】
以下、本実施形態の画像処理について、上記画像データの変換処理と、認識処理とに分けて説明する。
【0062】
ii)画像データの変換
上述のように、画像データの変換は、画像データ変換プログラム(画像データ変換サブルーチン)が実行されることによって行われる。具体的には、認識処理プログラムによって仮想画面上の選択された点である認識拠点における輝度データが、物理画面上のその認識拠点における輝度データと、上記補正データとに基づいて演算されるのである。図8に、画像データ変換プログラムのフローチャートを示す。以下、このフローチャートに従って説明する。また、図9に、画像データの変換における補完演算の手法を概念的に示し、以下、適宜この図を参照しつつ説明を行う。
【0063】
まず、ステップ1(以下、「S1」と略す。他のステップも同様とする。)において、認識処理プログラムにおいて選択された認識拠点に対応する画素が選出される。物理画面は、直交座標(後の仮想画面におけるXY座標と区別するため、以後「UV座標」と呼ぶ)によって規定されるマトリクスとされており、物理画面上の画像データは、画素の中心点の座標位置(u,v)(u,vはともに整数の値をとる)に対応付けられた輝度値とされている。認識拠点は、UV座標に対応付けられたXY座標で規定される仮想画面上の点(x,y)(x,yは整数値に限られない)として選択される。S1では、図8に示すように、選択された認識拠点(x,y)に対応する点(u0,v0)(u0,v0は整数とは限らない)を囲む4つの画素中心点(u´,v´),(u´+1,v´),(u´,v´+1),(u´+1,v´+1)が選出される(これらは、いずれも整数値となる)。この4つの画素中心点は、後に説明する線形補完の基になる点(補完基点)である。
【0064】
次に、S2において、上記4つの補完基点の各々における輝度データf0が読み出され、ルックアップテーブルである輝度補正テーブルを参照しつつ、その輝度データが補正される。図10に、輝度補正テーブルの補正データの内容を示す。この補正データは、ある回路部品200についてのものであり、一例としてのものである。図に示す補正データは、具体的に言えば、対象とする回路部品200の物理画面上の画像は、所定の撮像条件において、輝度値が170程度に撮像され、また、それに隣接する背景部分202の画像は、輝度値が60程度に撮像されることが把握されている(輝度値が大きいほど高輝度である)。補正データは、その場合において、回路部品200と背景部分202とのコントラスト差を大きくするデータである。また、回路部品200のエッジの輝度が概ね120であることも把握されており、その値を閾値としてその値以上の輝度の場合には、その輝度をさらに高くするとともに、その値未満の輝度の場合は、その輝度をさらに低くするように補正するものである。なお、輝度補正テーブルは、いくつかのパターンのものが設定されており、回路部品200および認識処理の目的、手法等に応じて選択される。どのパターンのものを採用するかは、前述の実装プログラムにおいて定められており、画像処理ユニット140は、モジュール制御装置38からその採択情報を取得し、採択情報に基づいて採用する輝度補正テーブルが決定される。
【0065】
補正値δfは、補正前輝度値f0に対応付けられた値であり、補正後の輝度値fは、
f=f0+δf
という式で求められる。選出された4つの補完基点の補正前の輝度値f0(u´,v´),f0(u´+1,v´),f0(u´,v´+1),f0(u´+1,v´+1)が取得され、上記式に基づいて、それぞれの補完基点の補正後の輝度値f(u´,v´),f(u´+1,v´),f(u´,v´+1),f(u´+1,v´+1)が算出される。
【0066】
次のS3において、算出された上記4つ補完基点の補正後の輝度値fを基に、前記点(u0,v0)における輝度値が線形補完によって求められる。まず、点(u0,v0)が上記4つの画素中心点内のどの位置に位置するか、具体的には、図9に示すα,βの値が求められる。そして、そのα,βの値を用い、
f(u0 ,v0 )=f(u´,v´)(1−α)(1−β)+f(u´+1,v´)α(1−β)+f(u´,v´+1)(1−α)β+f(u´+1,v´+1)αβ
という式に従って、線形補完がなされ、点(u0,v0)における輝度値f(u0 ,v0 )が算出される。このf(u0 ,v0 )は、すなわち、認識拠点(x,y)における拠点特性値としての輝度値f(x,y)である。
【0067】
このように、画像データ変換プログラムによれば、上記のステップにしたがって、仮想画面上の認識拠点における拠点特性値としての輝度データが取得される。なお、本実施形態のように線形補完を行うことで、画素ピッチより細かい画像データを取得でき、精度の高い対象物の認識が可能とされているのである。
【0068】
iii)回路部品の認識処理
回路部品の認識処理は、前述の認識処理プログラムが実行されることによって行われる。図11に、認識処理プログラムのフローチャートを示す。認識処理は、捜索工程,再捜索工程,測定工程,再測定工程,検査工程の5つの工程に区分することができ、それぞれの工程は、S10〜S50の5つのルーチンである捜索ルーチン,再捜索ルーチン,測定ルーチン,再測定ルーチン,検査ルーチンの5つのルーチンが順次実行されて行われる。以下、各工程を順に説明する。
【0069】
a)捜索工程
捜索工程は、回路部品200が、画面内の概ねどの存在位置に位置するかを認識ための工程である。図12に、捜索工程を行うために実行される捜索ルーチンのフローチャートを示す。
【0070】
捜索工程では、まず、S11において、捜索テンプレートが設定される。図13に捜索テンプレートの概念図を示す。捜索テンプレート220は、理論形状寸法を有する理論回路部品204のエッジを示す線である理論輪郭線222に関係付けられた複数の基準点SP1〜SP8,SP1’〜SP8’を有している。詳しくは、理論回路部品204の各コーナ付近に8組の基準点対であるポイントペアSP1−SP1’〜SP8−SP8’(以下、総称として、「SPn−SPn’」と呼ぶことがある。)を有している。各ポイントペアを構成する一方の基準点SP1〜SP8は、回路部品200の画像内に位置することが予定された点であり、他方の基準点SP1’〜SP8’は、回路部品200の画像外つまり背景部分202に位置することが予定された点である。つまり、各ポイントペアSPn−SPn’を構成する各々の基準点SPn,SPn’は、理論輪郭線222を挟むように位置しているのである。なお、本捜索テンプレート220では、基準点SP1とSP8のように、2つの点が同じ位置に位置するものも存在する。また、本実施形態においては、各ポイントペアSPn−SPn’を構成する2つの基準点SPn,SPn’は、それらを結ぶ直線が理論輪郭線222と直交し、かつ、各基準点SPn,SPn’の理論輪郭線222からの距離は等しくされている。
【0071】
捜索テンプレート220の設定データは、回路部品ごとに異なるものであり、モジュール制御装置38の外部記憶装置142に格納されている。実装に供される回路部品に付いての設定データ選択され、実装作業に先立って、画像処理ユニット150に送られ、DRAM156に格納される。S11においては、このDRAM156に格納されたデータの中から、画像処理を行う回路部品200のものが選択され、その選択されたデータに基づいて設定される。
【0072】
次に、S12において、捜索テンプレート220が仮想画面における初期位置に重ね合わされる(図6参照)。初期位置は、理論回路部品204が正規位置に位置する場合の位置、つまり保持位置のずれが生じていない場合の位置である。捜索テンプレート220が重ね合わされることで、ポイントペアSPn−SPn’の各々の基準点SPn,SPn’は、仮想画面212上における認識拠点とされるのである。つまり,テンプレートを重ね合わせることにより、認識拠点が選択されるのである。
【0073】
続いて、S13において、捜索テンプレート220と回路部品200(厳密には、回路部品200の仮想画像)との適否が判定される。図14に、適合状態と不適合状態とを例示する。図14(a)は適合状態であり、各ポイントペアSPn−SPn’のいずれも、それらを構成する一方の点SPnが回路部品200内に位置し(回路部品200の輪郭内に属し)かつ他方の点SPn’が回路部品200の外に位置する(回路部品200の輪郭外に属する)状態となっている。これに対し、不適合状態を示す図14(b)では、いずれかのポイントペアSPn−SPn’において、それを構成する2つの基準点SPn,SPn’の両者がともに回路部品220内に位置するかあるいは回路部品200の外に位置する状態となっている。
【0074】
適否の判定は、具体的は、以下のように行われる。まず、認識拠点とされた各ポイントペアSPn−SPn’を構成するそれぞれの基準点SPn,SPn’の輝度値が、前述の画像データ変換サブルーチンが実行されることによって求められる。なお、この輝度値には、前述したように、コントラスト差を拡大する補正が行われている。次いで、各ポイントペアSPn−SPn’について、各認識拠点SPn,SPn’における輝度値の差分f(SPn’)−f(SPn)が求められ、その差分によって判断される。回路部品200の輪郭線206がポイントペアSPn−SPn’の間に位置する場合、両者にはそれ相当の輝度差が存在するはずであり、本実施形態では設定された閾値(閾状態の一種である)として50を採用し、すべてのポイントペアSPn−SPn’に関して、
|f(SPn’)−f(SPn)|>50
という条件が成立する場合に、その回路部品200は重ね合わされた捜索テンプレート220に適合するものと判断される。なお、本実施形態においては、すべてのポイントペアに付いて上記条件が成立しなければならないとされているが、すべてではない所定の数のポイントペアについて所定条件が成立する場合に、適合状態と判断するような処理とすることもできる。
【0075】
いずれかのポイントペアにおいて上記条件が成立しない場合は、S14において捜索テンプレート220が移動させられ、その移動させられた位置において、S13の判定が再度行われ、適合状態となるまで、それらの処理が繰り返される。S14における捜索テンプレート220の移動は、設定された条件に従って行われる。図15に、捜索テンプレート220が移動する様子を模式的に示す。まず、捜索テンプレート220は、中心位置を固定したまま、設定回転角度位置範囲内(例えば、−45゜〜45゜)において、その中心位置を中心に設定角度(例えば、1゜,5゜等)ずつ回転させられる。各回転角度位置において、上記適合判定が行われる。次に、所定距離だけX方向における正方向に、移動させられ、その位置において上記設定回転角度位置範囲内の各回転角度位置における適合判断が行われる。続いてY方向に上記所定距離だけ、さらに続いてX方向における逆方向に上記所定距離だけといった具合に、初期位置から角形の螺旋状に移動させられ、各移動位置において各回転角度位置ごとの判定がなされるのである。
【0076】
S13の適合判定において、適合状態であると判定された場合、S15において、捜索終了処理がなされる。捜索終了処理では、適合状態にある場合における捜索テンプレート220の移動位置および回転角度位置が記憶される。捜索終了処理がなされて、捜索工程は終了する。なお、フローチャートでは省略しているが、捜索テンプレート220を設定された移動範囲まで移動させた場合に、いずれの移動位置においても適合状態とならなかったときには、その回路部品は不適当であるとして、その回路部品ついての実装動作が行われないようにされる。例えば、回路部品を正規の面とは異なった面において吸着したような場合(いわゆる「チップ立ち」)には、適合状態と判定されず、そのような事象に起因する実装不良を未然に防止することが可能である。
【0077】
b)再捜索工程
上記捜索工程では、回路部品200の概略の存在位置が認識された。本再捜索工程では、より正確な存在位置を認識すべく、回路部品200の存在位置が捜索される。図16に、再捜索工程を行うために実行される再捜索ルーチンのフローチャートを示す。
【0078】
再捜索工程では、まず、S21において、再捜索テンプレートが設定される。図17に、再捜索テンプレートが回路部品200に重ね合わされた状態を概念的に示す。再捜索テンプレート230は、前述の理論輪郭線222に関係付けられて理論輪郭線222と直角に交差する8つの基準交線SL1〜SL8(総称として「SLn」と呼ぶことがある)を有している。再捜索工程では、回路部品200のエッジのこれら基準交線SLn上における位置を特定する。本工程は、言い換えれば基準交線SLn上においてエッジ206の位置を探す工程を含むものであることから、基準交線SLnをシークラインSLnと呼ぶことにする。また、各シークラインSL1〜SL8におけるエッジ206の位置を示す点をエッジ点E1〜E8と呼ぶ(総称として「En」と呼ぶことがある)。シークラインSLnは、回路部品200内からその外部へ向かって方向付けられた線分であり、それの始点および終点のそれぞれは、捜索テンプレート220における各ポイントペアSPn−SPn’を構成する各々の基準点SPn,SPn’とされている。なお、再捜索テンプレート230の設定データは、捜索テンプレート220と同様、実装作業に先立ってモジュール制御装置38の外部記憶装置142から送られて画像処理ユニット140のDRAM156に格納されており、画像処理を行う回路部品のもが選択されるようになっている。
【0079】
次のS22において、再捜索テンプレート230が、図17に示すように仮想画面上に重ね合わされる。重ね合わせる位置は、捜索工程終了時において捜索テンプレートが存在していた位置である。図18に、1つのシークラインSLnと回路部品200のエッジおよび理論輪郭線222との関係を模式的に示す。図のように、シークラインSLn上には、それを等ピッチに分割する15の基準点P1〜P15(総称として「Pn」と呼ぶことがある)が設定されている。基準輪郭線222はシークラインSLnを2等分するものであり、基準点P8において、シークラインSLnと直角に交差する。S22では、これらシークラインSLnの基準点P8の各々で規定される点が認識拠点として選択される。
【0080】
続くS23において、ある1つのシークラインSLnにおけるエッジ点Enの位置が特定される。まず、認識拠点とされた基準点Pn(本工程において「認識拠点Pn」と呼ぶことがある)の輝度値が求められる。具体的には、先に説明したように、画像データ変換サブルーチンによって、物理画面上の輝度値から仮想画面上の各認識拠点Pnにおける輝度値が演算されるのである。図19に、その演算によって求められた各認識拠点Pnおける輝度値を表にして示す。なお、この表には、前述のコントラスト差を大きくする補正を行った輝度値の他に、その補正を行わなかったとした場合の輝度値を参考として掲げてある。次に、隣接する認識拠点Pn間の輝度の差分が演算される。具体的には、隣接拠点輝度差Δf(Pn+1−Pn)が、下式
Δf(Pn+1−Pn)=f(Pn+1)−f(Pn) ・・・・(3)
によって求められる。図20に、その演算結果を、上記補正を行わなかったとした場合をも含めて示す。また、図21に、その演算結果をグラフにして示す。
【0081】
図19から解るように、1つのシークラインSLnにおいて、各認識拠点Pnの輝度値は、回路部品200側から背景部202側に向かうにつれて、輝度値が小さくなる。このシークラインSLn上におけるエッジ点Enは、認識拠点Pnで区切られるいずれかの区間であって、輝度値の変化が最も大きな区間つまり隣接拠点輝度差Δf(Pn+1−Pn)の絶対値が最も大きい区間内に存在する。図19および図20から解るように、補正を行わなかった場合、区間P6−P7,区間P7−P8,区間P8−P9ともに同じ差分値であるため、どの区間であるか特定できない。ところが、本実施形態のように、コントラスト差を拡大する補正を行った場合は、区間P7−P8の差分値が大きく、エッジ点Enが存在する区間を容易に特定することが可能である。
【0082】
このS23での1つのシークラインSLnにおけるエッジ点Enの位置の特定は、S24の判断により、すべてのシークラインSLnについて行われ、それらにおける各エッジ点Enの存在位置が特定される。なお、S23では、エッジ点Enは、上記認識拠点Pnで区切られる区間の中点の位置に存在するものと推定される。
【0083】
次に、S25において、仮想画面上における回路部品200の存在位置が演算により求められる。再捜索テンプレート230の重ね合わされた位置は既知であり、また、各シークラインSLn,各認識拠点Pnの位置も既知であることから、仮想画面上のエッジ点Enの存在する位置が幾何学的な演算により求められる。具体的には、回路部品200輪郭をなす長方形の各辺がその辺に対応する2つのエッジ点Enにより規定され、その結果から、仮想画面を構成する座標における回路部品200の中心OのX方向およびY方向の位置、回転角度位置が特定されるのである。続くS26の再捜索終了処理において、上記特定された存在位置が記憶され、再捜索工程が終了する。
【0084】
c)測定工程
測定工程では、理論回路部品204に対する回路部品200の寸法誤差の測定が行われるとともに、回路部品200のより正確な仮想画面上の存在位置が認識される。図22に、測定工程を行うために実行される測定ルーチンのフローチャートを示す。
【0085】
測定工程では、まず、S31において、測定テンプレートが設定される。図23に、測定テンプレートを概念的に示す。測定テンプレート240も、前述の理論輪郭線222に関係付けられて理論輪郭線222と直角に交差する複数の基準交線であるシークラインSLを有している。再捜索テンプレートと比較して、シークラインSLの数が多く、また、各シークラインSLの長さは短くされている。既にある程度正確な存在位置が認識されており、さらに正確な存在位置を認識するために、シークラインSLの態様が、再捜索テンプレート230のものと異なるのである。測定テンプレート240の設定データは、捜索テンプレート220等と同様、実装作業に先立ってモジュール制御装置38の外部記憶装置142から送られて画像処理ユニット140のDRAM156に格納されており、画像処理を行う回路部品のもが選択されるようになっている。
【0086】
次のS32において、測定テンプレート240が仮想画面上に重ね合わされる。重ね合わせる位置は、再捜索工程によって取得された回路部品200の存在位置に基づいて決定される。測定工程の場合、再捜索工程における場合と比較して、より小さな等ピッチに各シークラインSLの分割する複数の基準点が設定されている。S32では、これらシークラインSLの基準点の各々で規定される点が認識拠点として選択される。
【0087】
続くS33において、ある1つのシークラインSLにおけるエッジ点Eの位置が特定される。まず、再捜索工程の場合と同様、まず、画像データ変換サブルーチンが実行されて、認識拠点Pにおける輝度値が求められる。測定工程においても、各認識拠点Pにおける輝度値の変化の程度によってエッジ点Eが特定されるが、再捜索工程において区間として特定されたのと異なり、各認識拠点Pの輝度値に基づいて補完的な演算を行うことによりエッジ点Eの座標位置が特定される。具体的な演算方法は省略するが、認識拠点Pのピッチより細かな位置においてエッジ点Eの位置が認識されることになる。再捜索工程の場合と同様、S34のにより、すべてのシークラインSLについて、各エッジ点Eの存在位置が特定される。
【0088】
次のS35において、回路部品200の理論寸法に対する寸法誤差が演算により求められる。簡単に説明するが、回路部品200は長方形をなし、互いに向かい合う各辺には、互いに向かい合う位置に設定されたシークラインSLの対が複数存在する。これら対をなすシークラインSL上の各エッジ点E間の距離を求め、長辺側,短辺側の各シークラインSLの対についてのエッジ点E間の距離の平均を求め、それと理論寸法と比較することにより、前述の寸法誤差lx−lx0,ly−ly0(図6参照)が求められるのである。
【0089】
続く、S36において、回路部品200の仮想画面上の存在位置が演算により求められる。簡単に説明すれば、まず、先に求められた寸法誤差lx−lx0,ly−ly0に基づいて、理論輪郭線222が変更される。次いで、エッジ点Eの前記変更された輪郭線からの変位が求められ、この変位に基づいて、回路部品200の存在位置が幾何学的手法に従って演算される。具体的な演算方法は、例えば、先に述べた本件出願人の出願に係る公報に記載された方法に従えばい。本明細書では、説明が冗長となるのを避けるために、具体的な演算方法の説明は省略する。S36の処理によって、前述の保持位置のずれ量ΔX,ΔY,θ(図6参照)が求まる。
【0090】
S37の測定終了処理において、求められた保持位置のずれ量ΔX,ΔY,θが記憶され、測定工程が終了する。なお、フローチャートでは省略したが、上記寸法誤差が設定されている閾誤差を超える場合には、回路部品200の実装動作が中止されるようにされている。
【0091】
d)再測定工程
再測定工程は、回路部品200のさらに正確な存在位置を認識する工程である。再測定ルーチンのフローチャートは省略するが、概ね、測定ルーチンにおけるS35が省略されたものであると考えてよい。再測定工程で使用される再測定テンプレートは、シークラインSLおよびシークラインSL上の基準点Pがさらに細かく設定されており、より正確にエッジ点Eが特定されるようになっている。また、その再測定テンプレートは、測定工程において求められた回路部品の存在位置に基づいて重ね合わされる。各ステップにおける処理は測定工程と同様であるためここでの説明は省略する。なお、再測定工程を省略して次の工程へ進むようなプログラムとすることができ、また、再測定工程を複数回繰り返してさらに認識精度を高めるようなプログラムとすることもできる。
【0092】
e)検査工程
検査工程は、存在位置が特定された回路部品200に対して、その回路部品200の輪郭形状の良否を検査する工程である。例えば、エッジの欠け,エッジの曲がり、エッジへの異物の付着等がある場合にそれを発見することができる。図24に、検査工程を行うために実行される検査ルーチンのフローチャートを示す。
【0093】
検査工程では、まず、S51において、検査テンプレートが設定される。図25に、検査テンプレートを概念的に示す。検査テンプレート250は、理論輪郭線222に関係付けられた基準沿線である2つのシークラインNSLを有している。この2つのシークラインNSLは、理論輪郭線222の近傍において理論輪郭線222に平行に延びる基準線であり、回路部品200のエッジ206と交差しないことが予定されており、前述のシークラインと区別するために、ネガティブシークラインNSLと呼ぶ。検査テンプレート250では、理論輪郭線222の内側に位置するインナネガティブシークラインとNSLIと、外側に位置するアウタネガティブシークラインNSLOとの2つのラインを有している。なお、ネガティブシークラインNSLは、厳密な意味においては、理論輪郭線222ではなく、理論輪郭線222が測定工程によって認識されている上記寸法誤差lx−lx0,ly−ly0に基づいて修正された修正理論輪郭線に沿って延びる線とされる。検査テンプレート250の設定データは、捜索テンプレート220等と同様、実装作業に先立ってモジュール制御装置38の外部記憶装置142から送られて画像処理ユニット140のDRAM156に格納されており、画像処理を行う回路部品のものが選択され、その選択されたデータと先に認識されている回路部品200の寸法誤差とに基づいて検査テンプレート250が設定される。なお、本実施形態では、ネガティブシークラインNSLは、回路部品200の全周にわたるものとされているが、対象物の輪郭の一部分のみにネガティブシークラインを設定することも可能である。
【0094】
次に、S52において、検査テンプレート250が、仮想画面上の回路部品200に重ね合わされる。重ね合わされる位置は、再測定工程で取得された回路部品の存在位置であり、前記修正された理論輪郭線222が回路部品200の輪郭線と合致する位置である。ネガティブシークラインNSL上には、細かなピッチで並ぶ複数の基準点が設定されており、それら複数の基準点の1つ1つが認識拠点として選択されることになる。
【0095】
続くS53において、各認識拠点の輝度値が求められ、ネガティブシークラインNSLごとの輝度値の偏差が算出される。各認識拠点の輝度値は、先に説明した画像データ変換ルーチンが実行されて行われる。図26に、各ネガティブシークラインNSLに沿った各認識拠点の輝度値の変化を線グラフにして模式的に示す。図26に示す輝度値の変化は、図27おいて模式的に示すところのエッジ206の部分におけるものである。
【0096】
図26(a)は、インナネガティブシークラインNSLIについての輝度値の変化であり、一部に輝度値が低くなる部分が存在する。インナネガティブシークラインNSLIは、回路部品200のエッジ206の内側に存在することが予定されており、通常は、各認識拠点において高い輝度値が連続するはずである。ところが、図27に示すように、エッジの一部に欠損254が生じてその欠損254部分に背景部202が撮像される場合にあっては、インナネガティブシークラインNSLIがその背景部202に重なる部分において、輝度値が低くなるのである。図26(b)は、アウタネガティブシークラインNSLOについての輝度値の変化であり、逆に、一部に輝度値が高くなる部分が存在する。アウタネガティブシークラインNSLOは、回路部品200のエッジ206の外側に存在することが予定されており、通常は、各認識拠点において低い輝度値が連続するはずである。ところが、図27に示すように、エッジ206の一部に異物256が付着しており、アウタネガティブシークラインNSLOがその異物256を通るの部分において、輝度値が高くなるのである。
【0097】
S53では、輝度値の偏差として、1つのシークラインにおける輝度の最大値と最低値との差分を求め、その差分を輝度偏差σfと推定する。続くS54において、推定された輝度偏差σfが所定の閾値(例えば50)を超えるときには、回路部品200のエッジ形状が不良であると判定し、また、超えないときにはエッジ形状は良好であると判定する。このようにして、検査ルーチンは終了するが、エッジ形状が不良であると判定された場合は、その回路部品200の実装動作は中止される。
【0098】
iv)本発明と上記実施形態との対応関係
上記実施形態と、本発明の画像処理とを対応付ければ、以下のようになる。部品カメラ32によって撮像された画像データをフレームグラバメモリ164に格納する工程が、画像データを画素ごとの光学的特性値の集合として記憶する画像データ記憶工程に相当する。また、捜索工程〜検査工程の各工程において、各テンプレートを設定し、そのテンプレートを回路部品200の画像に重ねあわせる処理を行う工程の各々が、画面内において複数の認識拠点を選択する拠点選択工程に相当し、また、それぞれが、テンプレート利用選択工程に相当する。また、捜索工程〜検査工程の各工程において、画像データ変換サブルーチンが実行されて行われる認識拠点における輝度値の取得が、拠点特性値取得工程に相当する。また、捜索工程〜検査工程の各工程において、認識拠点の輝度値に基づいて回路部品の諸元に関する認識処理を行う工程の各々が、対象物認識工程に相当する。具体的には、捜索ルーチンのS13等が実行されて行われる処理の工程が、存在位置推認工程に相当し、再捜索ルーチン,測定ルーチン等のS23等,S33等が実行されて行われる処理の工程が、輪郭位置特定工程に、S25等,S35,S36等が実行されて行われる処理の工程が、存在位置・寸法形状認識誤差に相当する。また、検査ルーチンのS53,S54等が実行されて行われる処理の工程が、輪郭形状認識工程に相当する。
【0099】
v)画像処理の変形態様等
上記実施形態では、説明を単純化するために、極めて単純な形状の回路部品を対象物とした画像処理について説明を行った。例えば、図28(a)に示すように、両端部に電極260を有するチップ部品262では、電極260は金属製のものが多く、本体部264より高輝度に撮像されることから、この電極260を対象物とする画像処理を行えばよい。その場合、例えば、図28(b)に示すような捜索テンプレート266、図28(c)に示すような測定テンプレート268を用いることができる。
【0100】
また、複数リードが本体部の外側に延び出すような電子部品(例えば、スモールアウトラインパッケージ(SOP),クワッドフラットパッケージ(QFP)等)においては、そのリードの部分を対象物とした画像処理を行って、電子部品の存在位置を認識する画像処理を行うこともできる。また、同様に、ボールグリッドアレイ(BGA),チップスケールパッケージ(CSP)等の電子部品では、はんだボールバンプ,ランド等の部分を対象物とした画像処理を行うこともできる。
【0101】
なお、複数のリード270がパッケージ272の外部に延び出して並ぶ電子部品274場合、図29に示すように、理論形状の回路部品のリード270に平行なネガティブシークラインNSLを、各リードの間(図29(a))に、あるいは、各リードの輪郭の内部(図29(b))に設定し、そのネガティブシークラインNSLに沿った認識処理を行うことで、リード270の曲がりを検出することができる。
【0102】
上記実施形態は、回路部品の画像処理であるが、回路基板に付された基準マークを対象物とした画像処理行うことができる。例えば、図30(a)に示すように、回路基板280には、対角の位置にある2つコーナ部のそれぞれに、基準マーク282が設けられている。この基準マーク282のそれぞれをマークカメラ100によって撮像し、その撮像データに基づいて各基準マーク282の理論位置からの位置ずれを検出し、その検出結果に基づいて、回路基板の固定位置のずれを算出するのである。回路基板280に付された基準マーク282は、図30(b)に示すような円形のものが多く、その場合、図30(c)に示すような捜索テンプレート284,図30(d)に示すような測定テンプレート286を用いて認識処理を行えばよい。円形の基準マーク282の場合は、その1個の基準マーク282の認識処理において回転角度位置のずれは検出し得ず、XY方向における位置ずれのみが検出されることになる。
【0103】
上記実施形態では、種々のテンプレートを用い、その種々のテンプレートには、ポイントペア,シークラインあるいはネガティブシークラインが設定されている。これらポイントペア等の数、理論輪郭線との位置関係等については、認識処理の目的等に応じて種々のものとすることができる。
【図面の簡単な説明】
【図1】本発明の画像処理が適用される部品実装作業を行う回路部品実装機を示す全体斜視図である。
【図2】回路部品実装機の実装モジュールの構成を示す斜視図である。
【図3】各実装モジュールが備える実装装置を示す斜視図である。
【図4】各実装モジュールを制御するモジュール制御装置の制御に関するブロック図である。
【図5】各実装モジュールに配備され、画像処理を行う画像処理ユニットのブロック図である。
【図6】1つの実装ユニットに保持された回路部品を部品カメラによって撮像した画像を示す概念図である。
【図7】本発明の実施形態である画像処理における物理画面,仮想画面および画像処理プログラムとの関係を示す概念図である。
【図8】本実施形態の画像処理プログラムの一部をなす画像データ変換サブルーチンのフローチャートである。
【図9】画像データの変換における補完演算を手法を示す概念図である。
【図10】画像データを補正するための補正テーブルのデータ内容を示す表である。
【図11】本実施形態の画像処理プログラムであって、回路部品を認識するための認識処理プログラムのフローチャートである。
【図12】認識処理プログラムにおいて、捜索工程を行うために実行される捜索ルーチンのフローチャートである。
【図13】捜索工程において用いられる捜索テンプレートを示す概念図である。
【図14】捜索テンプレートと回路部品との適合状態および不適合状態を例示する図である。
【図15】捜索テンプレートが移動する様子を模式的に示す図である。
【図16】認識処理プログラムにおいて、再捜索工程を行うために実行される再捜索ルーチンのフローチャートである。
【図17】再捜索工程において用いられる再捜索テンプレートが回路部品に重ね合わされた状態を示す概念図である。
【図18】再捜索テンプレートが有する1つのシークラインと回路部品のエッジおよび理論輪郭線との関係を示す模式図である。
【図19】演算によって求められたシークライン上の各認識拠点の輝度値を示す表である。
【図20】シークライン上の各認識拠点間の輝度差分を示す表である。
【図21】図20に示す輝度差分のグラグである。
【図22】認識処理プログラムにおいて、測定工程を行うために実行される測定ルーチンのフローチャートである。
【図23】測定工程において用いられる測定テンプレートを示す概念図である。
【図24】認識処理プログラムにおいて、検査工程を行うために実行される検査ルーチンのフローチャートである。
【図25】検査工程において用いられる検査テンプレートの概念図である。
【図26】ネガティブシークラインに沿った認識拠点の輝度値の変化を模式的に示す線グラフである。
【図27】エッジに存在する欠陥と、その欠陥を横切るネガティブシークラインとを示す模式図である。
【図28】両端部に電極を有する電子部品と、その電子部品の画像処理に用いるテンプレートとを示す概念図である。
【図29】リード付き電子部品のリードの曲がりを検出するための画像処理において利用されるネガティブシークラインを示す概念図である。
【図30】回路基板に付された基準マークと、その基準マークを対象物とする画像処理において利用されるテンプレートを示す概念図である。
【符号の説明】
10:回路部品実装機 14:実装モジュール 18:回路基板 26:実装ヘッド 28:実装装置 32:部品カメラ 38:モジュール制御装置 100:マークカメラ 110:実装ユニット 140:画像処理ユニット 156:DRAM 164:フレームグラバメモリ 200:回路部品 202:背景部分 204:理論形状寸法の回路部品 206:エッジ 210:物理画面 212:仮想画面 214:画像処理アプリケーションプログラム 216:物理画面/仮想画面変換ドライバ 218:ルックアップテーブル 220:捜索テンプレート 222:理論輪郭線 230:再捜索テンプレート 240:測定テンプレート 250:検査テンプレート 260:電極 262:チップ部品 270:リード 274:回路部品 280:回路基板 282:基準マーク 284:捜索テンプレート 286:捜索テンプレート 288:測定テンプレート SP:ポイントペアを構成する基準点 SL:シークライン P:シークライン上の基準点 E:エッジ点 NSL:ネガティブシーライン[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing method for recognizing the position of an object from image data obtained by imaging the object, and a computer program for implementing the method.
[0002]
[Prior art]
2. Description of the Related Art Image processing for recognizing an existing position of an object from image data of the object is employed in many fields. For example, the field of circuit component mounting in which electronic components and the like are mounted on a circuit board is one of them. In the component mounting work, the circuit component held by the component holding device that holds the circuit component is mounted on the surface of the circuit board whose position is fixed. In this case, the shift amount of the holding position of the circuit component by the component holding device, the shift amount of the fixed position of the circuit board, and the like are acquired. The acquisition of these shift amounts is generally performed by imaging a held reference mark attached to a circuit component or a circuit board, and performing image processing on the imaged data. As described above, even in the field of component mounting, image processing for recognizing the location of an object from the imaging data of the object is used.
[0003]
When an object is recognized by image processing, image data obtained by imaging is a set of optical characteristic values such as luminance, and those optical characteristic values are temporarily stored in a memory as values for each pixel. The recognition process is performed using the data stored in the memory. When performing image recognition, not only when the obtained optical characteristic value is used as it is, but also when the optical characteristic value is corrected to a value convenient for image recognition, and the image recognition is performed based on the corrected characteristic value. Sometimes it is convenient to do. In that case, for example, before storing in the memory, the acquired optical characteristics are converted into values convenient for image recognition using a hardware device such as a converter, and the converted values are stored in the memory. That is being done. However, this method has a problem that, in addition to requiring a separate hardware device, only uniform correction can be performed. In consideration of this, the data once stored in the memory is converted into a convenient value by processing with software using a conversion table or the like, and the contents of the previous memory are rewritten with the converted data or another memory is used. Is also stored. However, this method has a problem that a long processing time is required for converting data of all pixels.
[0004]
On the other hand, the present applicant defines a point of image recognition, such as a point pair, a seek line, and a negative seek line, in JP-A-8-180191, JP-A-11-352727, JP-A-2000-205826, and the like. An image processing method is proposed in which a template having reference points and the like is superimposed on a screen including an object, and an existing position of the object is recognized based on data of a recognition base defined thereby. These template-based image processing methods only have to perform processing based on image data corresponding to the recognition base, and thus have an advantage that the target can be easily recognized.
[0005]
[Patent Document 1]
JP-A-8-180191
[Patent Document 2]
JP-A-11-351827
[Patent Document 3]
JP 2000-205826 A
[0006]
Problems to be Solved by the Invention, Means for Solving Problems, and Effects
In view of the above-described problem, the present invention provides an image processing method that corrects image data obtained by imaging to a value convenient for image recognition by software processing and uses the corrected data to perform correction processing. One object of the present invention is to realize image processing with a relatively short processing time by reducing the amount of data to be performed. Further, the present invention provides an image data corrected to a value suitable for image processing. Another object is to improve the above-described template-based image processing from the viewpoint of image processing based on the template.
[0007]
According to the present invention, an image processing method, an image processing program, and the like in the following aspects can be obtained. As in the case of the claims, each aspect is divided into sections, each section is numbered, and the number of another section is cited as necessary. This is for the purpose of facilitating the understanding of the present invention and should not be construed as limiting the technical features and combinations thereof described in the present specification to those described in the following sections. . In addition, when a plurality of items are described in one section, the plurality of items need not always be adopted together. It is also possible to select and adopt only some items.
[0008]
In the following items, (1) corresponds to claim 1, (2) to claim 2, (3) to claim 3, (4) to claim 4, (4) to (4), The combination of items 5) and (6) corresponds to claim 5, the combination of items (8) and (9) corresponds to
[0009]
(1) An image processing method for recognizing a target from image data of a screen including the target obtained by imaging,
An image data storing step of storing the image data as a set of optical characteristic values for each pixel,
A base selection step of selecting a plurality of recognition bases in the screen;
A base characteristic value, which is an optical characteristic value at each of the plurality of recognition bases, is calculated by using an optical characteristic value stored in one or more pixels corresponding to each of the plurality of recognition bases and the optical characteristic value. A site characteristic value acquisition step of acquiring based on characteristic value correction data that is corrected to a value suitable for recognition of the target object,
An object recognition step of recognizing the object based on the acquired base characteristic values of the respective recognition bases;
An image processing method including:
[0010]
In the mode described in this section, of the image data obtained by imaging, only the image data corresponding to the recognition root base is used for object recognition. Since only the data to be used is corrected and used, image processing can be performed in a shorter time than in the case where all the image data is corrected as described above.
[0011]
The “screen including an object” means, for example, a screen in which an object and an object other than the object such as a background are imaged. The object is not limited to a single independent object. For example, a part of the one object may be set as an object, and the other part may be set as something other than the object. For example, when imaging an electronic component and recognizing the image, parts such as leads, bumps, and electrodes of the electronic part may be set as objects, and parts other than those parts may be set as outside the object.
[0012]
In the present invention, the imaging device is not particularly limited, and may be any device that can acquire two-dimensional image data, such as a CCD camera and a line scan camera. The “optical characteristic value” as the image data is, for example, a characteristic value such as luminance, lightness, hue, and saturation. In the present invention, one or more of them may be adopted as the characteristic value. When these characteristic values are stored or used in image recognition processing, they may be analog values representing the magnitude of the electric signal for each image sensor, or digital values represented as discrete values (for example, gray scales). Data, etc.).
[0013]
The stored optical characteristic values are data for each pixel, but the optical characteristic values used in image recognition may be data for each pixel, and data of another element than the pixel, for example, Data for each unit different from the pixel may be used. For example, an image based on image data obtained by imaging and an image on which image recognition processing is performed may be considered as different images. In other words, when an image based on data for each pixel is a physical image and a screen on which the physical image exists is a physical screen, the image recognition processing is performed on a virtual image that is an image different from the physical image. Alternatively, the processing may be performed on a virtual screen which is a screen on which the virtual image exists. The physical screen is a matrix in which pixels are arranged. The virtual screen may be a matrix in which elements finer than pixels or elements wider than pixels are arranged, and are represented by analog coordinates such as XY coordinates. May be a screen defined as a virtual plane. To give an example, the virtual image is regarded as data in which the data of each pixel of the physical screen represents the optical characteristic value of the center point of the pixel, and the surface (the virtual screen of the virtual screen) that satisfies the optical characteristic values of these many points. When a surface existing in a three-dimensional space defined by two-dimensional coordinates and one-dimensional coordinates of optical characteristic values is assumed, it is considered as a set of continuous optical characteristic values that define the surface. It can be an image.
[0014]
When the target object recognition processing is performed in the virtual screen, the recognition base, which is the point to which the image data used for the recognition processing belongs, is a point in the virtual image and is a point in the virtual screen. If the virtual screen is in a different unit from the pixels on the physical screen, the recognition base and the pixel may not correspond one-to-one, in which case, for example, the optical characteristic value at the recognition base is A value complemented based on each of the optical characteristic values stored in the plurality of pixels may be used.
[0015]
In the mode described in this section, "recognition of the object" refers to the shape, size, surface condition, defect, position of the object in the screen, etc. It means recognizing one or more things. In the present specification, the “position of the object” and the “position of the object” on the screen are changed, for example, by the position where the center of gravity of the object exists, that is, the object moves along a plane. However, the concept does not mean only the position of the object in the plane, but also includes a position at which the object changes by rotating around an arbitrary point (for example, the center of gravity), that is, a rotation angle position. . Put simply, the concept includes the azimuth position and the posture position of the target object.
[0016]
The “characteristic value correction data” in the mode described in this section is not particularly limited, and may be a “value suitable for target object recognition”, for example, a target object recognition accuracy that can quickly perform image processing. Any data may be used to convert the stored optical characteristic value into a value that provides at least one of various advantages such as being able to be improved. As described above, the “characteristic value correction data” refers to an optical characteristic value stored as physical screen data when the target object recognition process is performed on a virtual screen different from the physical screen as described above. Before converting the optical characteristic value as virtual screen data, the stored optical characteristic value may be corrected, or the optical characteristic value converted as data on the virtual screen may be corrected. May be used.
[0017]
(2) The characteristic value correction data corrects the optical characteristic value in a direction in which a contrast difference between an image of the object and an image other than the object adjacent to the image of the object is enlarged. The image processing method according to item (1).
(3) The characteristic value correction data corrects the optical characteristic value to a larger value when the value is larger than a set threshold, and to a smaller value when the value is smaller than the set threshold (1). Item) or the image processing method according to item (2).
[0018]
The modes described in the above two sections are modes in which a limitation regarding the characteristic value correction data is added. For example, when recognizing the shape and size of an object, the position of the object in a screen, and the like, an image that makes the object stand out can be easily recognized. In the case where the contour (edge) of the object is specified and recognition is performed based on the result of the specification, the position of the contour can be specified more accurately. The mode described in the item (2) is a mode suitable for such a case, for example, in which the optical characteristic value of the portion where the target object is present on the screen and the optical characteristics of the portion adjacent to the target object such as the background. This is an embodiment in which correction data for correcting so as to increase the contrast with the target characteristic value is used. The mode of “enlarging the contrast difference” includes, for example, a mode in which, if the target object is an image brighter than the background, the target object is brighter and the background is darker. Examples include a mode in which a luminance difference, a brightness difference, a saturation difference, and the like are increased, and a difference in hue is made clearer. By some means, the optical characteristic value of the target object and the optical characteristic value of the non-target object are obtained in advance, and based on the obtained characteristic values, appropriate correction data may be appropriately set according to the purpose of recognition. Can also be determined. The mode described in the item (3) is a mode in which, when the optical characteristic value changes at some boundary in the image, the correction is performed in a direction to make the change more abrupt. Similar to the mode described in the section (2), this is a mode suitable for specifying the contour of the object. For example, if the optical characteristic values at each of the positions on both sides close to the contour of the object are known, setting the intermediate value between them as the threshold makes it easy to specify the outline of the object. It can be carried out. In the embodiments described in the above two items, the correction data exists in a format such as a conversion table, and the conversion table or the like may be referred to at the time of correction. And the correction may be performed by an operation according to the equation or the like. Further, the number of correction data is not limited to one, and a plurality of correction data can be selectively used according to the purpose of recognition, the location of recognition, the type of image adjacent to the target object, and the like.
[0019]
(4) The site selection step includes at least one of a plurality of reference points and one or more reference lines associated with a theoretical contour line that is a contour line when the object has a theoretical shape and size. A template use selection that uses a template, superimposes the template on the screen at a set position, and selects a point in the screen defined by at least one of the reference point and the reference line as the plurality of recognition sites. The image processing method according to any one of the above modes (1) to (3), including a step.
[0020]
In short, the mode described in this section is a mode in which a template is used in selecting a recognition base. When recognizing the shape and size of an object, its position in the screen, and the like, an object having a theoretical shape and size (hereinafter, sometimes referred to as a “theoretical object”) is superimposed on an image, and the theoretical object and the actual In many cases, it is convenient to perform recognition processing of the actual object from the state of difference from the object. The embodiment described in this section is a preferred embodiment in such a case. The mode described in this section includes a mode in which the “template-based image processing” according to the invention of the present applicant described above is improved so as to be performed based on the corrected optical characteristic values. In addition, when performing the target object recognition processing on the physical screen, the template corresponding to the pixel may be superimposed on the physical screen, and when performing the recognition processing on the virtual screen, the template may be superimposed on the virtual screen. The theoretical contour does not necessarily have to be actually set on the template, but may be a virtual one for setting a reference line and a reference point. Further, the template is not limited to one corresponding to all the contours of the object, and may be one corresponding to a part of the contour of the object.
[0021]
(5) In the template use selecting step, a template having a plurality of reference point pairs positioned on both sides of the theoretical contour line as the plurality of reference points is used, and a plurality of templates defined by each of the plurality of reference point pairs is used. The image processing method according to (4), wherein a point is selected as the plurality of recognition sites.
(6) In the object recognition step, when the difference state between the base characteristic values of the two recognition bases defined by one reference point pair exceeds a set threshold state, one of the two recognition bases is determined. Suppose that the object belongs to the contour of the object and the other belongs to the outside of the contour of the object. The image processing method according to the mode (5), further comprising a conformity determining step of determining that the target conforms to the template in the case of.
(7) When the target object recognition step determines that the target object matches the template in the target object determination step, the existence position of the target object in the screen corresponds to the theoretical contour line. The image processing method according to item (6), further including an existence position estimation step of estimating that the position is substantially the same as the position.
[0022]
The modes described in the above three sections are, for example, modes suitable for searching for an object on a screen. The reference point pair in the term (5) can be called a point pair. One of the reference points constituting the point pair is expected to be located inside the object, and the other reference point is outside the object. It is intended to be located in. Therefore, when the relationship between the optical characteristic value in the image of the target object and the image outside the target object and the optical characteristic value is known, the optical characteristic value of the recognition base defined by each reference point is When there is such a relationship, it can be determined that each reference point is located with the contour of the object interposed therebetween. The template described in (5) can be used to make such a determination. Various determinations according to the purpose of recognition can be made by changing the number of point pairs, changing the distance of each reference point from the theoretical contour line, or the like.
[0023]
The mode described in the above item (6) relates to one mode of recognition processing using the template described in the item (5). If some of the plurality of point pairs are in the matching state, it can be considered that the theoretical contour and the contour of the actual object match to some extent. For example, a recognition error is taken into consideration, and various other situations are assumed, and a matching state is determined based on a matching state that is equal to or greater than a set number.In this mode, a matching state is determined when all the point pairs are in the matching state. included. The concept of “conformity with the template” is a concept including that the position of the theoretical object defined by the theoretical contour at the position where the template is superimposed and the position of the actual object somewhat match. In addition, when the theoretical object overlaps the position where the actual object exists, the concept includes that the outline of the object substantially coincides with the outline of the theoretical object. The mode described in the paragraph (7) relates to the former of them, and includes, for example, a mode of specifying the approximate position of the target object on the screen by matching with the template. As for the latter, it can be used to confirm whether or not the target object is a recognition target, that is, to confirm that the target object itself is not different from the intended one. When the position of the object is unknown and the object is searched for, the position where the template is superimposed is changed according to the setting conditions (including translation and rotation), and the judgment is made until the matching judgment is obtained. You just have to repeat it.
[0024]
(8) In the template use selecting step, a template having a plurality of reference intersection lines intersecting with the theoretical contour line is used as the one or more reference lines, and is arranged on a line defined by each of the plurality of reference intersection lines. The image processing method according to (4), wherein a plurality of points are selected as the plurality of recognition sites.
(9) The object recognizing step specifies a position of an outline of the object on a line defined by each of the plurality of reference intersection lines, based on the characteristic values of each of the plurality of recognition sites. The image processing method according to the above mode (8), comprising a position specifying step.
(10) The object recognition step recognizes at least one of an existing position of the object in the screen and an error with respect to a theoretical shape size based on the position of the contour specified in the contour position specifying step. The image processing method according to the mode (9), which includes a step of recognizing an error in an existing position and a shape dimension.
[0025]
The modes described in the above three sections are suitable modes for specifying, for example, the contour of the object, that is, the edge of the object. The reference intersection line in the item (8) is a line that is supposed to intersect with the outline of the object, and is a tool for searching for the outline on the line. In many cases, an optical characteristic value forming an image continuously changes in the vicinity of an edge of an object. Therefore, searching for an edge based on a change in the optical characteristic value of the recognition base along the seek line, and specifying the position, the shape characteristic of the edge (for example, a characteristic such as a sharp edge or a rounded edge) and the like. Is possible.
[0026]
The mode described in the above item (9) is a mode for specifying the position of the edge on the seek line. For example, on the seek line, the position where the optical characteristic value changes most rapidly can be specified as the position where the edge of the object exists. The mode described in the above item (10) is one mode of the recognition processing using the position of the specified edge. Based on the relationship between the theoretical contour and the position of the edge of the specified object, it is possible to recognize geometric errors such as distortion of the outline of the object and dimensional errors such as a difference in the size of the object. it can. In addition, when the position where the template is superimposed is known, the existence position of the theoretical object in the screen is known, and the displacement of the actual object with respect to the theoretical object can be recognized. It is possible to recognize the position of the object in the screen.
[0027]
(11) In the template use selecting step, a template having a reference line extending along the theoretical contour line outside or inside the theoretical contour line as the one or more reference lines is used, and is defined by the reference line. The image processing method according to (4), wherein a plurality of points arranged on a line are selected as the plurality of recognition bases.
(12) The image processing method according to (11), wherein the object recognition step includes a contour shape recognition step of recognizing a contour shape of the object based on each of the characteristic values of the plurality of recognition points. .
[0028]
The modes described in the above two sections are suitable modes for recognizing, for example, a shape defect of the contour of the object, that is, a defect existing at the edge. The reference railroad in (11) is a line that is not expected to intersect with the outline of the object, and when the outline of the object intersects on that line, it can be determined that the object has something unusual. This reference line can also be called a seek line because it performs the function of searching for the incident. In order to distinguish from the seek line in the item (8), the preceding one is called a positive seek line, and the one in this item is called a negative seek line. For example, when the negative seek line is set outside the theoretical target, and when a part of the edge protrudes due to bending or the like, the contour line of the target intersects the negative seek line. Conversely, when a negative seek line is set in a theoretical object, when a part of the edge is lost, the contour line of the object intersects the negative seek line.
[0029]
In the mode described in the above item (12), the contour shape of the target object, particularly the contour shape, is utilized by utilizing the characteristics of the negative seek line and detecting the change in the optical characteristic value of the recognition base defined by the negative seek line. In this case, for example, a defect existing at an edge can be found. Recognition processing using a negative seek line is not limited to edge defects, etc., and if the line intersects the contour of the object at any position on the seek line, the It is also possible to carry out the embodiment in such a manner that it is determined that the condition has occurred. In other words, if turned over, it is possible to search for an object using a negative seek line.
[0030]
(13) A component mounting operation for mounting a circuit component held by the component holding device on a circuit board having a fixed position, which is performed, and a shift in the holding position of the circuit component held by the component holding device or fixing of the circuit board. Any of the above items (1) to (12) is applied to image processing for recognizing a reference mark provided on a circuit board or a held circuit component as the object in order to detect a positional shift. The image processing method described in the above.
[0031]
The component mounting work is required to be performed at a high speed, and it is desired to quickly detect a circuit component and a positional shift amount of the circuit component by image recognition processing. Since the image processing method of the present invention can perform image processing by using only image data of a limited point in a screen called a recognition base, it is possible to detect the above-described displacement amount in a relatively short time. It is suitable for component mounting work. In addition, while high mounting accuracy is required due to miniaturization of electronic circuits and the like, the image processing method of the present invention, which performs image processing using data corrected to a state suitable for recognition, requires high recognition accuracy. Therefore, it is suitable for component mounting work from the viewpoint of mounting accuracy.
[0032]
(21) A program executed by a computer to perform image processing for recognizing a target from image data of a screen including the target obtained by imaging.
Image data storage step of storing the image data as a set of optical characteristic values for each pixel,
A base selection step of selecting a plurality of recognition bases in the screen;
A base characteristic value, which is an optical characteristic value at each of the plurality of recognition bases, is calculated by using an optical characteristic value stored in one or more pixels corresponding to each of the plurality of recognition bases and the optical characteristic value. A site characteristic value acquisition step of acquiring based on characteristic value correction data for correcting to a value suitable for recognition of the target,
An object recognition step of recognizing the object based on the acquired base characteristic values of the respective recognition bases;
An image processing program including:
(31) A recording medium on which the image processing program according to (21) is recorded so as to be readable by a computer.
[0033]
The aspects described in the above two sections respectively relate to a computer program for realizing the above-described image processing method and a recording medium on which the program is recorded. The description of these two items is the same as the previous description, and thus the description is omitted here. In addition, it is also possible to implement in a mode in which the technical features described in the above items (2) to (13) are added to each of the above two items.
[0034]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described by taking a case where it is applied to a component mounting operation as an example. Further, the following embodiment relates to the above-mentioned “template use type” image processing, the details of which are described in detail in the earlier application by the present applicant described in the section of [Prior Art]. Since it has been described, some description will be omitted. Note that the present invention is not limited to the following embodiments. In addition to the following embodiments, the present invention is not limited to the embodiments described in the above section [Problems to be Solved by the Invention, Problem Solving Means and Effects]. Various modifications and improvements can be made based on the knowledge of those skilled in the art.
[0035]
<Configuration of circuit component mounter and component mounting work>
FIG. 1 is an overall perspective view of a
[0036]
FIG. 2 shows a portion where two mounting
[0037]
The mounting
[0038]
Each of the plurality of
[0039]
The
[0040]
As shown in FIG. 3, the mounting
[0041]
The mounting
[0042]
The mounting
[0043]
The
[0044]
The component mounting operation by one mounting
[0045]
Next, the
[0046]
Next, the mounting
[0047]
Next, the mounting
[0048]
Subsequently, the mounting
[0049]
The mounting
[0050]
<Image processing unit>
Image processing for controlling the imaging of the reference mark and the circuit board by the
[0051]
The
[0052]
A two-channel
[0053]
An Ethernet interface 174 (Ethernet is a registered trademark) and a
[0054]
Further, a
[0055]
Further, a
[0056]
<Image processing>
Hereinafter, as an embodiment of the present invention, an image processing using a circuit component held in one mounting
[0057]
i) Physical screen, virtual screen and image processing program
In the present embodiment, image processing is performed using two conceptual screens, a physical screen and a virtual screen. FIG. 7 conceptually shows the relationship between the physical screen, the virtual screen, and the image processing program. The
[0058]
Many parts of the image processing are performed by the
[0059]
In the present embodiment, luminance, which is a kind of optical characteristic value, is used as data of a physical image and data of a virtual image. That is, the
[0060]
Further, as will be described later in detail, in the present embodiment, the luminance data is corrected to a value suitable for the recognition processing at the time of the conversion. This correction is performed according to the determined conditions. The memory card stores luminance correction data as optical characteristic value correction data in a table format. The correction data is read into the
[0061]
Hereinafter, the image processing according to the present embodiment will be described separately for the image data conversion processing and the recognition processing.
[0062]
ii) Conversion of image data
As described above, the conversion of the image data is performed by executing the image data conversion program (image data conversion subroutine). Specifically, the brightness data at the recognition site, which is the point selected on the virtual screen by the recognition processing program, is calculated based on the brightness data at the recognition site on the physical screen and the correction data. . FIG. 8 shows a flowchart of the image data conversion program. Hereinafter, description will be made according to this flowchart. FIG. 9 conceptually shows a method of a complementary operation in the conversion of image data. Hereinafter, description will be made with reference to this figure as appropriate.
[0063]
First, in step 1 (hereinafter abbreviated as "S1"; the same applies to other steps), a pixel corresponding to the recognition base selected in the recognition processing program is selected. The physical screen is a matrix defined by rectangular coordinates (hereinafter, referred to as “UV coordinates” to distinguish it from the XY coordinates on the virtual screen later), and the image data on the physical screen is defined by the center point of the pixel. The luminance value is associated with the coordinate position (u, v) (u and v both take integer values). The recognition base is selected as a point (x, y) (x, y is not limited to an integer value) on the virtual screen defined by the XY coordinates associated with the UV coordinates. In S1, as shown in FIG. 8, a point (u) corresponding to the selected recognition base (x, y) is set. 0 , V 0 ) (U 0 , V 0 Are not always integers). The four pixel center points (u ′, v ′), (u ′ + 1, v ′), (u ′, v ′ + 1), (u ′ + 1, v ′ + 1) surrounding the pixel Selected (these are all integer values). The four pixel center points are points (completion base points) that will be the basis of linear interpolation described later.
[0064]
Next, in S2, the luminance data f at each of the four complementary base points is calculated. 0 Is read, and the luminance data is corrected with reference to a luminance correction table which is a lookup table. FIG. 10 shows the contents of the correction data of the luminance correction table. This correction data is for a
[0065]
The correction value δf is the luminance value f before correction. 0 And the corrected luminance value f is
f = f 0 + Δf
It is obtained by the formula. Brightness value f before correction of the selected four complementary base points 0 (U ', v'), f 0 (U '+ 1, v'), f 0 (U ', v' + 1), f 0 (U ′ + 1, v ′ + 1) is acquired, and based on the above equation, the corrected luminance values f (u ′, v ′), f (u ′ + 1, v ′), f ( u ′, v ′ + 1) and f (u ′ + 1, v ′ + 1) are calculated.
[0066]
In the next S3, the point (u) is calculated based on the corrected luminance value f of the four complementary base points. 0 , V 0 The brightness value in () is obtained by linear interpolation. First, the point (u 0 , V 0 ) Is located in the four pixel center points, specifically, the values of α and β shown in FIG. 9 are obtained. Then, using the values of α and β,
f (u 0 , V 0 ) = F (u ′, v ′) (1-α) (1-β) + f (u ′ + 1, v ′) α (1-β) + f (u ′, v ′ + 1) (1-α) β + f (U ′ + 1, v ′ + 1) αβ
According to the equation, linear interpolation is performed, and the point (u 0 , V 0 ) At the luminance value f (u 0 , V 0 ) Is calculated. This f (u 0 , V 0 ) Is a luminance value f (x, y) as a base characteristic value at the recognition base (x, y).
[0067]
As described above, according to the image data conversion program, the luminance data as the base characteristic value at the recognition base on the virtual screen is obtained according to the above steps. Note that by performing linear interpolation as in the present embodiment, image data finer than the pixel pitch can be obtained, and an object with high accuracy can be recognized.
[0068]
iii) Circuit component recognition processing
The circuit component recognition processing is performed by executing the above-described recognition processing program. FIG. 11 shows a flowchart of the recognition processing program. The recognition process can be divided into five processes of a search process, a re-search process, a measurement process, a re-measurement process, and an inspection process, and each process is a search routine and a re-search, which are five routines of S10 to S50. A routine, a measurement routine, a re-measurement routine, and an inspection routine are sequentially executed and performed. Hereinafter, each step will be described in order.
[0069]
a) Search process
The search step is a step for recognizing approximately where the
[0070]
In the search step, first, in S11, a search template is set. FIG. 13 shows a conceptual diagram of the search template. The
[0071]
The setting data of the
[0072]
Next, in S12, the
[0073]
Subsequently, in S13, the suitability of the
[0074]
The determination of suitability is specifically made as follows. First, each point pair SP that was set as a recognition base n −SP n 'Each reference point SP n , SP n Is obtained by executing the above-described image data conversion subroutine. Note that, as described above, this brightness value is corrected to enlarge the contrast difference. Next, each point pair SP n −SP n 'About each recognition base SP n , SP n ', The difference f (SP n ') -F (SP n ) Is determined, and the difference is determined. The
| F (SP n ') -F (SP n ) |> 50
Is satisfied, the
[0075]
If the above condition is not satisfied in any of the point pairs, the
[0076]
When it is determined in the matching determination in S13 that the vehicle is in the matching state, a search end process is performed in S15. In the search ending process, the moving position and the rotation angle position of the
[0077]
b) Re-search process
In the search step, the approximate location of the
[0078]
In the re-search process, first, in S21, a re-search template is set. FIG. 17 conceptually shows a state where the re-search template is superimposed on
[0079]
In the next S22, the re-search template 230 is superimposed on the virtual screen as shown in FIG. The overlapping position is the position where the search template was present at the end of the search process. FIG. 18 shows one seek line SL. n And the relationship between the edge of the
[0080]
In the following S23, a certain seek line SL n The edge point E at n Is specified. First, the reference point P, which is the recognition base, n (In this process, "Recognition base P n ) May be obtained. Specifically, as described above, the image data conversion subroutine is used to convert each of the recognition points P on the virtual screen from the luminance value on the physical screen. n Is calculated. FIG. 19 shows each recognition point P obtained by the calculation. n The luminance values in the table are shown in a table. Note that, in this table, in addition to the luminance value subjected to the above-described correction for increasing the contrast difference, a luminance value obtained when the correction is not performed is listed for reference. Next, the adjacent recognition base P n The difference between the luminances is calculated. Specifically, the brightness difference Δf (P n + 1 −P n ) Is
Δf (P n + 1 −P n ) = F (P n + 1 ) -F (P n ・ ・ ・ ・ ・ (3)
Required by FIG. 20 shows the calculation result including the case where the above correction is not performed. FIG. 21 is a graph showing the calculation result.
[0081]
As can be seen from FIG. 19, one seek line SL n In each recognition base P n The luminance value becomes smaller from the
[0082]
One seek line SL in S23 n The edge point E at n Of the seek line SL is determined by the determination of S24. n For each edge point E in them n Is specified. In S23, the edge point E n Is the above recognition base P n It is estimated that it exists at the position of the midpoint of the section delimited by.
[0083]
Next, in S25, the position where the
[0084]
c) Measurement process
In the measurement process, the dimensional error of the
[0085]
In the measurement process, first, in S31, a measurement template is set. FIG. 23 conceptually shows a measurement template. The
[0086]
In the next S32, the
[0087]
In the following S33, the position of the edge point E in one seek line SL is specified. First, as in the case of the re-searching step, first, the image data conversion subroutine is executed, and the luminance value at the recognition point P is obtained. In the measurement step, the edge point E is specified based on the degree of change in the luminance value at each recognition point P. However, unlike the section specified in the re-search step, the edge point E is complemented based on the luminance value of each recognition point P. By performing a mathematical operation, the coordinate position of the edge point E is specified. Although a specific calculation method is omitted, the position of the edge point E is recognized at a position finer than the pitch of the recognition base P. As in the case of the re-search step, the existence position of each edge point E is specified for all the seek lines SL by S34.
[0088]
In the next step S35, a dimensional error with respect to the theoretical size of the
[0089]
In S36, the position of the
[0090]
In the measurement termination process of S37, the obtained shift amounts ΔX, ΔY, θ of the holding positions are stored, and the measurement process ends. Although omitted in the flowchart, when the dimensional error exceeds a set threshold error, the mounting operation of the
[0091]
d) Re-measurement process
The re-measurement step is a step of recognizing a more accurate existing position of the
[0092]
e) Inspection process
The inspection step is a step of inspecting the
[0093]
In the inspection process, first, in S51, an inspection template is set. FIG. 25 conceptually shows an inspection template. The
[0094]
Next, in S52, the
[0095]
In S53, the luminance value of each recognition point is obtained, and the deviation of the luminance value for each negative seek line NSL is calculated. The luminance value of each recognition point is determined by executing the image data conversion routine described above. FIG. 26 schematically shows a change in the luminance value of each recognition site along each negative seek line NSL as a line graph. The change in the luminance value shown in FIG. 26 is at the
[0096]
FIG. 26 (a) shows the negative seek line NSL. I , And there is a portion where the brightness value is low. Negative seek line NSL I Is expected to exist inside the
[0097]
In S53, a difference between the maximum value and the minimum value of the luminance in one seek line is determined as the deviation of the luminance value, and the difference is estimated as the luminance deviation σf. In subsequent S54, when the estimated luminance deviation σf exceeds a predetermined threshold value (for example, 50), it is determined that the edge shape of the
[0098]
iv) Correspondence between the present invention and the above embodiment
If the above embodiment is associated with the image processing of the present invention, the following is achieved. The step of storing the image data captured by the
[0099]
v) Modification of image processing
In the above embodiment, for simplification of the description, the image processing for a circuit component having an extremely simple shape has been described. For example, as shown in FIG. 28A, in a
[0100]
Further, in an electronic component (for example, a small outline package (SOP), a quad flat package (QFP), etc.) in which a plurality of leads extend outside the main body, image processing is performed on the lead portion as an object. Thus, image processing for recognizing the position of the electronic component can be performed. Similarly, in an electronic component such as a ball grid array (BGA) or a chip scale package (CSP), image processing can be performed on a portion such as a solder ball bump or a land.
[0101]
In the case where the plurality of
[0102]
In the above embodiment, the image processing of the circuit component is performed. However, the image processing can be performed using the reference mark provided on the circuit board as an object. For example, as shown in FIG. 30A, a
[0103]
In the above embodiment, various templates are used, and point pairs, seek lines or negative seek lines are set in the various templates. The number of these point pairs and the like, the positional relationship with the theoretical contour, and the like can be various depending on the purpose of the recognition processing and the like.
[Brief description of the drawings]
FIG. 1 is an overall perspective view showing a circuit component mounter that performs a component mounting operation to which image processing of the present invention is applied.
FIG. 2 is a perspective view showing a configuration of a mounting module of the circuit component mounter.
FIG. 3 is a perspective view illustrating a mounting device included in each mounting module.
FIG. 4 is a block diagram related to control of a module control device that controls each mounting module.
FIG. 5 is a block diagram of an image processing unit arranged in each mounting module and performing image processing.
FIG. 6 is a conceptual diagram illustrating an image obtained by capturing a circuit component held by one mounting unit with a component camera.
FIG. 7 is a conceptual diagram showing a relationship between a physical screen, a virtual screen, and an image processing program in image processing according to an embodiment of the present invention.
FIG. 8 is a flowchart of an image data conversion subroutine that forms part of the image processing program according to the present embodiment.
FIG. 9 is a conceptual diagram showing a method of performing a complementary operation in image data conversion.
FIG. 10 is a table showing data contents of a correction table for correcting image data.
FIG. 11 is a flowchart of an image processing program according to the present embodiment, which is a recognition processing program for recognizing circuit components.
FIG. 12 is a flowchart of a search routine executed to perform a search step in a recognition processing program.
FIG. 13 is a conceptual diagram showing a search template used in a search step.
FIG. 14 is a diagram exemplifying a matching state and a mismatching state between the search template and the circuit component.
FIG. 15 is a diagram schematically showing how a search template moves.
FIG. 16 is a flowchart of a re-search routine executed to perform a re-search step in the recognition processing program.
FIG. 17 is a conceptual diagram showing a state in which a re-search template used in the re-search step is overlaid on a circuit component.
FIG. 18 is a schematic diagram showing a relationship between one seek line of a re-search template, an edge of a circuit component, and a theoretical contour line.
FIG. 19 is a table showing luminance values of respective recognition points on a seek line obtained by calculation.
FIG. 20 is a table showing a luminance difference between respective recognition points on a seek line.
FIG. 21 is a graph of a luminance difference shown in FIG. 20;
FIG. 22 is a flowchart of a measurement routine executed to perform a measurement step in the recognition processing program.
FIG. 23 is a conceptual diagram showing a measurement template used in a measurement process.
FIG. 24 is a flowchart of an inspection routine executed for performing an inspection step in the recognition processing program.
FIG. 25 is a conceptual diagram of an inspection template used in an inspection process.
FIG. 26 is a line graph schematically showing a change in a luminance value at a recognition site along a negative seek line.
FIG. 27 is a schematic diagram showing a defect existing at an edge and a negative seek line crossing the defect.
FIG. 28 is a conceptual diagram showing an electronic component having electrodes at both ends and a template used for image processing of the electronic component.
FIG. 29 is a conceptual diagram showing a negative seek line used in image processing for detecting lead bending of an electronic component with leads.
FIG. 30 is a conceptual diagram showing a reference mark attached to a circuit board and a template used in image processing using the reference mark as an object.
[Explanation of symbols]
10: Circuit component mounting machine 14: Mounting module 18: Circuit board 26: Mounting head 28: Mounting device 32: Component camera 38: Module control device 100: Mark camera 110: Mounting unit 140: Image processing unit 156: DRAM 164: Frame Grabber memory 200: Circuit component 202: Background part 204: Circuit component of theoretical shape / dimension 206: Edge 210: Physical screen 212: Virtual screen 214: Image processing application program 216: Physical screen / virtual screen conversion driver 218: Look-up table 220 : Search template 222: theoretical contour 230: re-search template 240: measurement template 250: inspection template 260: electrode 262: chip component 270: lead 274: circuit component 280: circuit board 282 : Reference mark 284: Search template 286: Search template 288: Measurement template SP: Reference point forming a point pair SL: Seek line P: Reference point on seek line E: Edge point NSL: Negative sea line
Claims (8)
前記画像データを画素ごとの光学的特性値の集合として記憶する画像データ記憶工程と、
前記画面内において複数の認識拠点を選択する拠点選択工程と、
それら複数の認識拠点の各々における光学的特性値である拠点特性値を、それら複数の認識拠点の各々に対応する1以上の画素に記憶されている光学的特性値と、その光学的特性値を前記対象物の認識に好適な値に補正する特性値補正データとに基づいて取得する拠点特性値取得工程と、
取得された各々の前記認識拠点の拠点特性値に基づいて前記対象物を認識する対象物認識工程と
を含む画像処理方法。An image processing method for recognizing a target from image data of a screen including the target obtained by imaging,
An image data storing step of storing the image data as a set of optical characteristic values for each pixel,
A base selection step of selecting a plurality of recognition bases in the screen;
A base characteristic value, which is an optical characteristic value at each of the plurality of recognition bases, is calculated by using an optical characteristic value stored in one or more pixels corresponding to each of the plurality of recognition bases and the optical characteristic value. A site characteristic value acquisition step of acquiring based on characteristic value correction data that is corrected to a value suitable for recognition of the target object,
An object recognition step of recognizing the object based on the acquired base characteristic value of each of the recognition bases.
前記画像データを画素ごとの光学的特性値の集合として記憶する画像データ記憶ステップと、
前記画面内において複数の認識拠点を選択する拠点選択ステップと、
それら複数の認識拠点の各々における光学的特性値である拠点特性値を、それら複数の認識拠点の各々に対応する1以上の画素に記憶されている光学的特性値と、その光学的特性値を対象物の認識に好適な値に補正する特性値補正データとに基づいて取得する拠点特性値取得ステップと、
取得された各々の認識拠点の拠点特性値に基づいて前記対象物を認識する対象物認識ステップと
を含む画像処理プログラム。A program executed by a computer to perform image processing for recognizing the target from image data of a screen including the target obtained by imaging,
Image data storage step of storing the image data as a set of optical characteristic values for each pixel,
A base selection step of selecting a plurality of recognition bases in the screen;
A base characteristic value, which is an optical characteristic value at each of the plurality of recognition bases, is calculated by using an optical characteristic value stored in one or more pixels corresponding to each of the plurality of recognition bases and the optical characteristic value. A site characteristic value acquisition step of acquiring based on characteristic value correction data for correcting to a value suitable for recognition of the target,
An object recognition step of recognizing the object based on the acquired base characteristic values of the respective recognition bases.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003073395A JP2004279304A (en) | 2003-03-18 | 2003-03-18 | Image processing method and image processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003073395A JP2004279304A (en) | 2003-03-18 | 2003-03-18 | Image processing method and image processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004279304A true JP2004279304A (en) | 2004-10-07 |
Family
ID=33289304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003073395A Pending JP2004279304A (en) | 2003-03-18 | 2003-03-18 | Image processing method and image processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004279304A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012059933A (en) * | 2010-09-09 | 2012-03-22 | Hitachi High-Tech Instruments Co Ltd | Die bonder and die-bonding method |
WO2017145249A1 (en) * | 2016-02-22 | 2017-08-31 | 富士機械製造株式会社 | Image processing system and image processing method |
CN111914608A (en) * | 2019-05-09 | 2020-11-10 | 丰田自动车株式会社 | Workpiece recognition method |
CN113545185A (en) * | 2019-03-14 | 2021-10-22 | 株式会社富士 | Object determination method and object determination device |
WO2024121903A1 (en) * | 2022-12-05 | 2024-06-13 | 株式会社Fuji | Image processing device |
WO2024134866A1 (en) * | 2022-12-23 | 2024-06-27 | 株式会社Fuji | Substrate work machine |
-
2003
- 2003-03-18 JP JP2003073395A patent/JP2004279304A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012059933A (en) * | 2010-09-09 | 2012-03-22 | Hitachi High-Tech Instruments Co Ltd | Die bonder and die-bonding method |
WO2017145249A1 (en) * | 2016-02-22 | 2017-08-31 | 富士機械製造株式会社 | Image processing system and image processing method |
JPWO2017145249A1 (en) * | 2016-02-22 | 2018-12-13 | 株式会社Fuji | Image processing system and image processing method |
CN113545185A (en) * | 2019-03-14 | 2021-10-22 | 株式会社富士 | Object determination method and object determination device |
CN113545185B (en) * | 2019-03-14 | 2022-11-25 | 株式会社富士 | Object determination method and object determination device |
CN111914608A (en) * | 2019-05-09 | 2020-11-10 | 丰田自动车株式会社 | Workpiece recognition method |
CN111914608B (en) * | 2019-05-09 | 2024-05-28 | 丰田自动车株式会社 | Workpiece identification method |
WO2024121903A1 (en) * | 2022-12-05 | 2024-06-13 | 株式会社Fuji | Image processing device |
WO2024134866A1 (en) * | 2022-12-23 | 2024-06-27 | 株式会社Fuji | Substrate work machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6109317B2 (en) | Substrate production operation method, substrate imaging condition determination method, and substrate production operation apparatus | |
JP2007220837A (en) | Method and device for mounting electronic component | |
US10334770B2 (en) | Component holding state detection method and component mounting machine | |
JP2004050306A (en) | Carrier robot system and control method for carrier robot | |
US8588510B2 (en) | Image processing apparatus and image processing method | |
KR20020021174A (en) | Calibration methods for placement machines incorporating on-head linescan sensing | |
JP2009094283A (en) | Method of producing mounting board, surface mounting machine, and mounting board production control device | |
JP6472873B2 (en) | Parts inspection machine and parts placement machine | |
KR102506283B1 (en) | Die bonding apparatus and manufacturing method of semiconductor apparatus | |
JP2004279304A (en) | Image processing method and image processing program | |
JP4324442B2 (en) | Component data generation device and electronic component mounting device | |
JP4405009B2 (en) | Calibration method of inspection machine with line sensor camera | |
JP6466960B2 (en) | Mounting machine and electronic component suction posture inspection method using mounting machine | |
JP2011043998A (en) | Method and apparatus for analyzing image | |
JP5375488B2 (en) | Appearance inspection apparatus, appearance inspection method, and appearance inspection program | |
JP2022173585A (en) | Three-dimensional measuring device and work-piece work device | |
JP7377655B2 (en) | Die bonding equipment and semiconductor device manufacturing method | |
JPH07263897A (en) | Part recognition device and part mounting device | |
JPH10320565A (en) | Image processing method and device therefor | |
JPH11311506A (en) | Method and device for detecting position of electronic component | |
JPH08102599A (en) | Substrate position detecting device | |
JP2024048610A (en) | Board working device, board working system, and board working method | |
CN113808188B (en) | Imaging method for element | |
KR100586449B1 (en) | Method for correcting accuracy of feeder | |
JP2004273578A (en) | Electronic component mounting method and equipment thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080122 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080527 |