(57)【特許請求の範囲】
【請求項１】
複数の画像取得条件で画像を取得する画像取得装置と複数の検査アルゴリズムを用いて一の検査対象物を検査する自動検査装置における検査プログラムファイルの格納構造において、記憶部に、
一の検査対象物を検査する際に使用される複数の検査アルゴリズム毎に個別に設定された複数の第一記憶領域と、
当該第一記憶領域に対応して、検査アルゴリズム毎に設定された複数の第一基準領域と、
前記複数の第一記憶領域内に、当該検査アルゴリズムで使用される画像取得条件毎に個別に設定された複数の第二記憶領域と、
当該第二記憶領域に対応して、画像取得条件毎に設定された第二基準領域と、
前記第二記憶領域内に、当該画像取得条件に基づいて得られた画像で検査するための複数の検査プログラムファイルを格納する第三記憶領域と、
当該第三記憶領域に対応して、検査プログラムファイル毎に設定され、当該検査プログラムファイルの実行に使用される基準データを格納する第三基準領域と
を備えてなり、
前記第一記憶領域、第二記憶領域、第三記憶領域をそれぞれ関連付けて記憶させるとともに、前記第一記憶領域と第一基準領域、第二記憶領域と第二記憶領域、第三記憶領域と第三基準領域とを関連付けて記憶させ、
前記第三基準領域に格納された基準データを参照して、前記第三記憶領域内に独立して格納された検査プログラムファイルの実行に基づいて検査対象物の良否を判定するようにしたことを特徴とする自動検査装置における検査プログラムファイルの格納構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物品の形成状態を検査する自動検査装置に関し、より詳しくは、検査アルゴリズムや画像取得条件の変更に基づく検査プログラムが追加、削除、変更されたりした場合であっても簡単にその検査プログラムを追加、削除、変更することのできる検査プログラムファイルの格納構造に関するものである。なお、ここで、「検査アルゴリズム」とは、検査を行うための基本的な方法や考え方を意味し、また、「画像取得条件」とは、検査対象物から画像を取得するためのカメラや照明の位置・種類などの条件を示す。また、「検査プログラムファイル」とは、一つのファイルによって纏められた検査プログラムの集合体を意味し、「検査プログラム」とは、一つの処理を実行する関数の集合体を意味する。
【背景技術】
【０００２】
一般に、物品の形成状態を検査する場合、カメラによってその物品の表面画像を取得するとともに、その取得された画像に基づくデータとあらかじめ記憶部に記憶されている基準データとを比較することによってその物品の形成状態の良否を判定する。
【０００３】
ところで、このような物品の検査に関して、近年では、品質精度の要求から、検査アルゴリズムや画像取得条件などを種々変更して検査されることがある。
【０００４】
例えば、これらの検査アルゴリズムとして、取得された画像を特定のブロック領域毎に検査するアルゴリズムを用いたり（特許文献１）、あるいは、取得された画像をピクセル毎に緻密に検査するアルゴリズム（特許文献２）を用いることがある。また、これ以外にも、形状のみの検査を行ったり（特許文献３）、あるいは、輝度のみの検査（特許文献４）を行ったりすることもある。一方、画像取得条件としては、カメラの位置や光の照射角度を変えて画像を取得したり（特許文献５）、ＲＧＢ毎に画像を取得して検査したりすることもある（特許文献６）。
【０００５】
そして、このような検査アルゴリズムや画像取得条件を変更する場合、あらかじめ、所定の検査アルゴリズムに対応した検査プログラムファイルを読み出す。このときの検査プログラムファイルの構造を図１４に模式的に示すと、符号７は、既存の検査アルゴリズムや画像取得条件に対応した一つの検査プログラムファイルであり、その内部に一または複数の検査プログラムを備えている。通常、一の検査アルゴリズムおよび一の画像取得条件で検査する場合、検査プログラムファイルには、一種類の検査プログラムが格納され、一方、複数の検査アルゴリズムや画像取得条件によって検査する場合は、複数の種類の検査プログラムが格納される。図においては、複数の検査アルゴリズムや画像取得条件に対応した検査プログラムを格納した場合を示しており、一つの検査プログラムファイル７の中に、例えば、一の照射角度でブロック検査を行うための検査プログラム領域７１と、別の照射角度でブロック検査を行うための検査プログラム領域７２を設けている。そして、これらの検査プログラムを格納する場合、一つの検査プログラムファイル７内で、変数などを重複させないようにして配列構造で記述するとともに、この検査プログラムファイルを修正する場合は、検査アルゴリズムや画像取得条件の変更に対応する検査プログラムの変更や追加や削除などを行うとともに、その検査プログラムの変更に対応する基準データについても適宜修正していく。
【特許文献１】特開2006-208191号公報
【特許文献２】特開2006-170890号公報
【特許文献３】特開2005-181218号公報
【特許文献４】特開2005-037243号公報
【特許文献５】特開2007-033236号公報
【特許文献６】特開2000-046650号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような一つの検査プログラムファイルを用いて検査をする場合、次のような問題を生ずる。
【０００７】
まず、例えば、物品を検査する場合、将来的に、高精度な検査をするために検査アルゴリズムに基づく新たな検査プログラムを追加したり、もしくは、古い検査アルゴリズムに基づく検査プログラムを変更、削除したりする場合がある。具体的には、従来の検査アルゴリズムに対して、ブロック毎の検査アルゴリズムを追加したり、ピクセル毎の検査アルゴリズムを追加したりする場合がある。さらには、各検査アルゴリズムに対応して、基本となる検査対象物の画像によっては大きく検査精度が変化してしまうため、光の照射角度を変えて画像を取得したり、あるいは、赤外線による検査を追加したりする場合がある。
【０００８】
このような場合、図１４に示すような配列構造で記述された一つの検査プログラムファイルを使用している場合は、その検査プログラムファイル内に新たな検査アルゴリズムに対応する検査プログラムの追加や削除、変更などをしていかなければならなかった。しかるに、このように既存の検査プログラムファイルに新たな検査プログラムを追加、削除、変更すると、その追加、削除、変更された検査プログラムのパラメータなどが他の検査プログラムのパラメータなどに影響を及ぼし、バグの原因となりかねなかった。また、その検査プログラム実行中においては、他の検査プログラムを適宜追加することができないという問題もあった。
【０００９】
これに対して、新たな検査アルゴリズムに基づく検査プログラムを追加する際に、検査プログラムファイルを独立して記憶させる方法も考えられるが、このように検査プログラムファイルを独立した状態で記憶させる場合は、どの検査アルゴリズムやどの画像取得条件に対応して作られた検査プログラムファイルであるのかを管理しておかなければならず、例えば、一の検査アルゴリズムに対応する検査プログラムファイルをまとめて削除・変更する場合に、間違って他の検査アルゴリズムに対応する検査プログラムファイルも削除・変更してしまう可能性もあった。
【００１０】
そこで、本発明は、上記課題に着目してなされたもので、検査アルゴリズムや画像取得条件などが追加、削除、変更された場合であっても、容易にその検査プログラムを追加、削除、変更することができる自動検査装置における検査プログラムファイルの格納構造を提供することを目的とする。
【課題を解決するための手段】
【００１１】
すなわち、本発明は、上記課題を解決するために、複数の画像取得条件で画像を取得する画像取得装置と複数の検査アルゴリズムを用いて一の検査対象物を検査する自動検査装置における検査プログラムファイルの格納構造において、記憶部に、一の検査対象物を検査する際に使用される複数の検査アルゴリズム毎に個別に設定された複数の第一記憶領域と、当該第一記憶領域に対応して、検査アルゴリズム毎に設定された複数の第一基準領域と、前記複数の第一記憶領域内に、当該検査アルゴリズムで使用される画像取得条件毎に個別に設定された複数の第二記憶領域と、当該第二記憶領域に対応して、画像取得条件毎に設定された第二基準領域と、前記第二記憶領域内に、当該画像取得条件に基づいて得られた画像で検査するための複数の検査プログラムファイルを格納する第三記憶領域と、当該第三記憶領域に対応して、検査プログラムファイル毎に設定され、当該検査プログラムファイルの実行に使用される基準データを格納する第三基準領域とを備えてなり、前記第一記憶領域、第二記憶領域、第三記憶領域をそれぞれ関連付けて記憶させるとともに、前記第一記憶領域と第一基準領域、第二記憶領域と第二記憶領域、第三記憶領域と第三基準領域とを関連付けて記憶させ、前記第三基準領域に格納された基準データを参照して、前記第三記憶領域内に独立して格納された検査プログラムファイルの実行に基づいて検査対象物の良否を判定するようにしたものである。
【発明の効果】
【００１２】
このように、本発明によれば、検査アルゴリズム、画像取得条件、検査プログラムファイルの順に階層化した状態で検査プログラムファイルを記憶させているので、検査アルゴリズムや画像取得条件などが追加、削除、変更された場合であっても、これに対応する一つの検査プログラムファイルの特定が容易であり、その検査プログラムファイルのみをそのカテゴリー内で簡単に追加、削除、変更することができる。また、独立して検査プログラムファイルを格納させているため、従来のように配列構造で記述された検査プログラムを一から書き換える必要がなくなり、バグの発生などを防止することができる。また、ある検査プログラムの実行中に、他の検査アルゴリズムから階層化された記憶領域を動的に追加したり削除したりすることができ、また、同じ検査アルゴリズム内であっても、同階層内の他の検査プログラムについても同様に追加したり削除したりすることができるようになる。また、各検査プログラムファイルで使用される基準データについてもその検査プログラムファイルに対応させて記憶させておくため、基準データの参照が容易になり、検査プログラムが追加、削除、変更された場合であっても、これに対応して、その基準データの追加、削除、変更を容易にすることができる。特に、第一記憶領域、第二記憶領域、第三記憶領域と縦方向に階層化されて関連付けられたデータと、基準領域の方向（横方向）に関連付けられたデータを参照することで、関連する検査プログラムや基準データなどを容易に削除、修正などすることができるようになる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施の形態について図面を参照して説明する。図１は、この実施の形態で使用される自動検査装置１の概要を示す図であり、図２は、その画像取得装置１５を示す図である。また、図３は、自動検査装置１の機能ブロック図を示したものである。また、図４は、その自動検査装置１における記憶部１７に記憶された検査プログラムなどのデータ格納構造を示したものである。
【００１４】
この実施の形態における自動検査装置１は、図１に示すように、プリント基板６の形成状態を検査するものであって、スタッカ１１に積層されたプリント基板６を一枚ずつステージ１３上に移し換えるピックアップ機構１２と、このピックアップ機構１２によってピックアップされたプリント基板６を画像取得装置１５まで移動させる移動機構１４と、この画像取得装置１５によって取得された画像に基づいて検査を行ってプリント基板６を分別して回収する回収機構１５３とを備えてなる。なお、本実施の形態では、自動検査装置１としてプリント基板６の形成状態を検査する装置を例に挙げて説明するが、必ずしもプリント基板６を検査する装置に限定されるものではなく、液晶基板や実装基板、印刷状態の検査、物品の傷や破損などの検査装置などにも適用することができる。
【００１５】
このような自動検査装置１は、図３に示すように、画像取得装置１５によって取得された画像を前処理手段１６によってＡ／Ｄ変換処理し、この画像から得られたデータとあらかじめ記憶部１７に格納された基準データとを比較することによって判定手段５で判定する。
【００１６】
１．画像取得条件の設定
そして、このようなプリント基板６の自動検査装置１において、この実施の形態における画像取得装置１５は、図２に示すように、複数の角度から光を照射する照明装置１５１と、その複数の角度から照射された光のうちプリント基板６からの反射光を撮影するカメラ１５２とを備える。この照明装置１５１としては、例えば、ＬＥＤ、赤外線を照射する光源、ハロゲンランプなどの光源などを使用するが、ＬＥＤを使用する場合は、図２に示すように、円筒状のブラケットの内側に所定の角度で種々の発光色を有するＬＥＤを取り付け、また、このＬＥＤを所定の角度毎に部分的に発光させて使用する。また、このようにＬＥＤを発光させる場合、所定の角度のＬＥＤだけを発光させるだけでなく、図２における紙面奥行方向にも発光体数を変えて発光させ、また、発光色も切り替えて、赤色（Ｒ）、緑色（Ｇ）、青色（Ｂ）、赤外線領域、紫外線領域などの光を照射させる。また、ハロゲンランプを使用する場合は、光源を離れた位置にハロゲンランプを設け、そこから光ファイバーを通してプリント基板６近傍まで導き、先端部分から所定の角度で光を照射させる。この角度としては、可能な限り小刻みに設定しておくことが好ましく、例えば、５度〜１５度刻みに設定しておくとよい。
【００１７】
一方、カメラ１５２は、ラインセンサカメラやエリアセンサカメラや解像度の異なる複数のカメラ１５２によって構成されるもので、プリント基板６に対して種々の方向から画像を取得する。ここではラインセンサカメラ１５２を用いることとし、所定の角度をなして第一カメラ１５２１と第二カメラ１５２２を設ける。これらのカメラ１５２１、１５２２を設ける場合、図２に示すように、円筒状の照明装置１５１の隙間からプリント基板６の反射光を受光できるようにする。
【００１８】
２．検査プログラムのデータ格納構造
次に、このような画像取得装置１５を用いて取得されが画像に基づいてプリント基板６を検査する方法、検査プログラム、基準データ、検査結果データなどのデータ格納構造について図４などを用いて説明する。
【００１９】
２−１．検査アルゴリズム記憶領域
まず、プリント基板６に対して複数の検査アルゴリズムを適用して検査する場合、第一の方法として、ブロック単位で検査する検査アルゴリズムを使用し、また、第二の方法として、ピクセル単位で検査する検査アルゴリズムを使用する。ここで、ブロック単位での検査アルゴリズムとは、取得した画像について所定の矩形領域単位で一定輝度幅内の画素がどれくらい存在するかで良否を判定する手法である。また、ピクセル単位での検査アルゴリズムとは、取得した画像をピクセル単位で基準データと比較して良否を判定する手法である。
【００２０】
記憶部１７には、この検査アルゴリズムに対応して、図４に示すように、２つのアルゴリズム記憶領域２ａが設けられており、ブロック単位での検査アルゴリズムに対応する第一アルゴリズム記憶領域２１ａと、ピクセル単位の検査アルゴリズムに対応する第二アルゴリズム記憶領域２２ａを独立して設けている。もちろん、他の検査アルゴリズムを用いて検査する場合は、順次そのアルゴリズムに対応したアルゴリズム記憶領域を確保しておく。
【００２１】
２−２．カメラ毎記憶領域
次に、この第一アルゴリズム記憶領域２１ａと第二アルゴリズム記憶領域２２ａの内部に、カメラ毎に設定されたカメラ毎記憶領域３ａを設定する。なお、図４では、引出線を用いて第一アルゴリズム記憶領域２１ａの横に図示している。この実施の形態では、２つのカメラ１５２１、１５２２を設けているため、各カメラ１５２１、１５２２に対応した第一カメラ領域３１ａと第二カメラ領域３２aを設定している。そして、ブロック単位で検査する場合であって、かつ、これら２つのカメラ１５２１、１５２２を用いて検査する場合は、第一アルゴリズム記憶領域２１ａ内に第一カメラ領域３１ａおよび第二カメラ領域３２aを設定する。また、いずれか一方のラインセンサカメラのみを使用する場合は、使用するカメラに対応する領域として、第一カメラ領域３１ａもしくは第二カメラ領域３２aのみを設定する。この実施の形態では、各検査アルゴリズムで２つのカメラ１５２１、１５２２を用いることとし、それぞれのアルゴリズム記憶領域２１ａ、２２ａに第一カメラ領域３１ａと第二カメラ領域３２aを設定する。この場合も、もちろん、他のカメラを追加する場合は、新たなカメラ毎領域を設定する。
【００２２】
２−３．検査プログラムファイル記憶領域
次に、このようにカメラ毎記憶領域３ａを設定した後、このカメラ毎記憶領域３ａ内にその検査アルゴリズムおよび当該カメラを用いて検査するための検査プログラムファイルを記憶させる。この検査プログラムファイルは、それ自体によって検査プログラムファイル記憶領域４ａを構成し、また逆に、その検査プログラムファイル記憶領域４ａで一つの検査プログラムファイルを構成する。そして、この検査プログラムファイルに格納された検査プログラムによって、そのファイルが所属する記憶領域に対応する検査アルゴリズムやカメラ１５２を用いて検査を行う。
【００２３】
この検査プログラムファイルを生成する場合、例えば、パッドや配線パターン、シルク、レジスト、スルーホールなどの検査アイテム毎に生成する。また、同じパッドなどの領域であっても形状が異なる場合は別の検査アイテムの検査プログラムとして生成する。そして、このように検査アルゴリズム、画像取得条件、検査アイテム毎に検査プログラムファイルを格納することによって、複数人が分担して検査プログラムを開発する場合であっても、各人が独立して検査プログラムを設計・開発できるようにしておく。
【００２４】
次に、ここで使用される検査プログラムの例を述べる。ここでは、第一の方法としてブロック単位の検査アルゴリズムで第一カメラ１５２１を用い、プリント基板６に形成されたパッドを検査する場合について図５を用いて説明する。
【００２５】
２−３−１．ブロック検査の検査プログラム
取得された画像からパッドをブロック単位で検査する場合、パッドの存在する座標位置などからブロックの存在する領域の画像を抽出し、そのブロック内における輝度毎の画素数を計数する。ここでは、例えば、パッドの輝度として、Ｐ１からＰ４までの輝度値を有する画素を抽出する。そして、このＰ１からＰ４までの輝度値を有する画素の数を計数し、図５の下２つのグラフにおける細い実線で示されるようなヒストグラムを生成する。なお、下左側のグラフはパッドに汚れやスリ傷が存在して輝度が低くなったグラフを示し、下右側のグラフはパッドに突起が存在して輝度が高くなったグラフを示している。そして、このようなグラフにおいて、あらかじめ設定された暗い側の第一の輝度Ｐ２よりも暗い輝度の画素数を計数するとともに、明るい側の第二の輝度Ｐ３よりも明るい輝度の画素数を計数する。その後、輝度Ｐ１から輝度Ｐ２までの画素数と輝度Ｐ３から輝度Ｐ４までの画素数を計数し、そして、あらかじめ、対応基準データ記憶領域３ｂに記憶させておいた基準データと比較することによってパッドのブロック領域での判定を行う。具体的には、基準プリント基板から生成された基準データである輝度Ｐ１から輝度Ｐ２までの基準画素数Ｓ１と検査対象の画素数Ｓ１’を比較するとともに、輝度Ｐ３から輝度Ｐ３までの基準画素数Ｓ２と検査対象物の画素数Ｓ２’を比較する。そして、画素数Ｓ１よりもＳ１’の方が大きい場合、および、画素数Ｓ２よりもＳ２’の方が大きい場合は不良品であると判定する。
【００２６】
なお、このブロック検査は、同様に、異なる位置や形状のパッド、スルーホールなどについても適用され、検査アイテム毎に独立した状態（すなわち、一つのプログラムファイルを追加・削除・修正した場合であっても他の検査プログラムに影響を与えない状態）で検査プログラムファイル記憶領域４ａに格納される。
【００２７】
２−３−２．ピクセル検査の検査プログラム
次に、他の検査例として、ピクセル単位での検査を行う場合について図６や図７を用いて説明する。まず、ピクセル単位で画像を検査する場合、あらかじめ基準画像を記憶部１７に格納しておき、この基準画像とほぼ一致させるための補正処理を行う。補正処理に際しては、全体形状での補正処理を行い、具体的には、図６に示すように、プリント基板６上のコーナーの３点を抽出し、その３点からプリント基板６の縦横の寸法（図６（ａ））、回転角度（同（ｂ））、平行移動距離（同（ｃ））などを算出する。そして、これらの縦横長さや回転角度、平行移動距離などに基づいて、プリント基板６の全体画像を基準画像と一致させる。
【００２８】
そして、これらの補正処理が終了した後、基準画像の各座標位置に存在するピクセルが良ピクセルであるか否かを判定する。この判定に際しては、まず、図７に示すように、基準対象物における各ピクセルの位置、輝度、許容輝度幅、探索距離を読み出し、その読み出されたピクセル位置に対応する検査対象物であるプリント基板６のピクセル位置を特定する。図においては、座標位置（ｘ、ｙ）のピクセルにおける情報として、輝度１８０、許容輝度幅±２０、探索距離３ピクセルなどの情報を読み出している。そして、そのピクセル位置を中心として、読み出された探索距離内に、基準画像のピクセルの輝度に対応する許容輝度幅内の輝度のピクセルが存在するか否かを判断する。そして、探索距離内に許容輝度幅内のピクセルが一つも存在しない場合は、その基準画像におけるピクセル位置でのピクセルを「不良ピクセル位置」であると判定する。図７においては、検査対象物であるプリント基板６の座標（ｘ、ｙ）の探査距離である３ピクセル範囲内に輝度１８３（すなわち、輝度１８０±２０の範囲内に含まれる輝度）のピクセルが存在しているため、このピクセルが対応ピクセルであるとして、その基準対象物の位置（ｘ、ｙ）を「良ピクセル」であると判定している。
【００２９】
このようにピクセル判定が終了すると、今度は逆に、補正処理された後のプリント基板６の画像を基準として、そのプリント基板６のピクセル位置に対応する基準画像の位置を中心とする探索距離内に許容輝度幅内のピクセルが存在するか否かを判定する。このとき、プリント基板６のピクセル位置に対応した基準画像のピクセル位置の許容輝度幅や探索距離を用いる。具体的には、まず、そのプリント基板６のピクセル位置に対応した基準画像のピクセル位置の許容輝度幅、探索距離を読み出し、そして、この読み出された許容輝度幅及び探索距離に基づいて、対応する基準画像のピクセル位置を中心として、その探索距離内にプリント基板６の輝度に対する許容輝度幅内のピクセルが存在するか否かを判定する。そして、探索距離内に許容輝度幅内の輝度のピクセルが一つも存在しない場合は、そのプリント基板６のピクセル位置を「不良ピクセル」であると判定する。
【００３０】
そして、全てのピクセルの検査が終了すると、「不良ピクセル」と判定された基準画像のピクセルのうち、隣接する不良ピクセルの数をカウントし、所定数以上の不良ピクセルの存在する場合は、このプリント基板６は不良であると判定した、一方、全ての隣接する不良ピクセルの数が所定数よりも少ない場合は良品であると判定する。
【００３１】
３．基準データのデータ格納構造
このような検査プログラムで使用される基準データは、検査プログラムのデータ記憶構造に対応して図８に示すようなデータ構造で記憶される。すなわち、まず、各アルゴリズムに対応して、検査対象物の画像を記憶させるための全体画像領域２ｂを確保する。ここでは、ブロック単位での検査とピクセル単位での検査の２つのアルゴリズムを用いるため全体画像領域２ｂを２つ設定する。そして、各全体画像領域２ｂの中に、各カメラ１５２（１５２１、１５２２）で取得された画像を格納するためのカメラ毎基準領域３ｂ（３１ｂ、３２ｂ）を設定する。ここでは、２つのカメラ１５２（１５２１、１５２２）を設けているため、各全体画像領域２ｂ内に第一カメラ基準領域２１ｂと第二カメラ基準領域２２ｂが設定される。
【００３２】
次に、このカメラ毎基準領域３ｂ内に、各検査プログラムに対応した対応基準データ記憶領域３ｂを設定し、その対応基準データ記憶領域３ｂの内部に各検査プログラムで使用される基準データを記憶させておく。すなわち、上述のブロック単位での検査に対応して、対応基準データ記憶領域３ｂにＳ１やＳ２などの基準データを格納しておき、また、上述のピクセル単位での検査に対応しては、基準画像や探索距離、許容輝度幅などを対応基準データ記憶領域３ｂに格納しておく。以下、同様に、各検査プログラムに対応して対応基準データ記憶領域３ｂを設定し、その対応基準データ記憶領域３ｂに基準データを格納していく。このとき、対応基準データ記憶領域３ｂと各検査プログラムとを関連付けるようにしており、それぞれの対応領域について一つの識別情報などを付すなどして管理できるようにしている。
【００３３】
４．判定結果のデータ格納構造
これらの検査プログラムによって検査された判定結果は、同様のデータ構造を有する結果記憶領域に格納される。すなわち、判定結果を記憶させる場合、図９に示すように、まず、各アルゴリズムに対応して全体結果領域２ｃを設定し、その内部にカメラ毎結果領域３ｃを生成する。そして、さらに、その内部に、各検査プログラムから出力された結果データを格納するための結果データ記憶領域４ｃを生成する。そして、このように各領域を設定した後、結果データ記憶領域４ｃと検査プログラムファイル記憶領域４ａとを関連付けし、上述の識別情報を付すなどして結果データを格納していく。ここでは、上述のブロック検査の検査プログラムに対応して、結果データ記憶領域４ｃにブロック単位での良否結果が記憶され、また、上述のピクセル単位での検査に対応して、結果データ記憶領域４ｃにピクセル毎の良否結果や総合的な判定結果などが記憶される。
【００３４】
次に、このように構成された自動検査装置１の検査処理方法について図１０のフローチャートを用いて説明する。
【００３５】
＜基準データの格納処理＞
まず、上述の２種類の検査アルゴリズムを用いてプリント基板６を検査するに先立って、各検査プログラムで使用される基準データを作成する。基準データを作成する場合は、正規のプリント基板６からその表面画像を取得し（ステップＳ１）、その取得された全体画像を全体画像領域２ｂ内に格納していく（ステップＳ２）。このとき、第一カメラ１５２で取得された画像を、対応するカメラ毎基準領域３ｂに格納し、また、第二カメラ１５２で取得された画像をカメラ毎基準領域３ｂに格納する。そして、この画像から自動もしくは手動によって基準データを作成し（ステップＳ３）、使用される検査プログラムに対応した対応基準データ記憶領域３ｂに格納していく（ステップＳ４）。
【００３６】
＜検査処理＞
次に、検査対象となるプリント基板６を検査する場合、ステージ１３を移動させてプリント基板６の表面画像を取得し、Ａ／Ｄ変換処理などを行った後、検査プログラムを起動させる（ステップＴ１）。このとき、この検査プログラムに対応して設けられた対応基準データ記憶領域３ｂから基準データを読み出し（ステップＴ２）、これを用いて検査を行う（ステップＴ３）。そして、検査プログラムの実行によって得られた検査結果を対応する結果データ記憶領域４ｃに記憶させていく（ステップＴ３）。
【００３７】
＜追加、修正、削除処理＞
次に、このような検査アルゴリズム、画像取得条件、検査プログラムなどが追加、削除、変更される場合について図１１から図１３のフローチャートを用いて説明する。
【００３８】
まず、新たな検査アルゴリズムを追加する場合、最上位層として新たに検査第一アルゴリズム記憶領域２１ａを確保するとともに（ステップＵ１）、その内部に中位層としてのカメラ毎記憶領域３ａ（ステップＵ２）、検査プログラムファイル記憶領域４ａを設定していく（ステップＵ３）。また、対応する基準データを格納する場合についても、同様に、最上位層としての全体画像領域２ｂ内に中位層としてのカメラ毎基準領域３ｂを設定し、さらに、下位層として対応基準データ記憶領域３ｂを設定する（ステップＵ４）。同様に、検査結果データを格納する領域についても、新たなアルゴリズムに対応した最上位層としての全体結果領域２ｃを新たに設定し、その内部に中位層としてのカメラ毎結果領域３ｃ、下位層としての結果データ記憶領域４ｃを設定していく（ステップＵ５）。そして、これらの検査アルゴリズム記憶領域２ａと全体画像領域２ｂと全体結果領域２ｃに識別番号などを付するなどして横方向への関連付けを行うとともに、カメラ毎記憶領域３ａ、カメラ毎基準領域３ｂ、カメラ毎結果領域３ｃについても識別番号を付するなどして横方向へと関連付ける。同様に、検査プログラムファイル記憶領域４ａについても、対応基準データ記憶領域３ｂ、結果データ記憶領域４ｃと関連付ける（ステップＵ６）。このとき、上位層、中位層、下位層（これを縦方向とする）についてもそれぞれを関連付け、例えば、一つの検査アルゴリズムに対応するデータをすべて事後的に削除する場合は、横方向（検査プログラム、基準データ、結果データなどの領域を確保する方向）に関連付けられたデータをすべて削除するとともに、縦方向に関連付けられた領域のデータについてもすべて削除する。
【００３９】
また、検査アルゴリズムを変更することなく新たにカメラを追加する場合は、図１２に示すように、対応する検査アルゴリズムの下層にそのカメラのカメラ毎記憶領域３ａを設定し（ステップＶ１）、その下層に検査プログラムファイルの記憶領域を確保する（ステップＶ２）。また、これに対応して、全体画像領域２ｂの下層にカメラ毎基準領域３ｂや、さらにその下層に対応基準データ記憶領域４ｂを設定し（ステップＶ３）、また、全体結果領域２ｃの下層にカメラ毎結果領域３ｃや、さらにその下層に結果データ記憶領域４ｃを設定する（ステップＶ４）。そして、この新たに設定された縦方向と横方向の領域を関連付ける（ステップＶ５）。
【００４０】
一方、すでに設けられているカメラ１５２を削除・修正する場合は、すでに関連付けられた識別情報を読み出すことによってそれぞれ関連するカメラ毎記憶領域３ａやカメラ毎基準領域３ｂ、カメラ毎結果領域３ｃのデータを読み出し（ステップＶ１１）、また、それぞれの下層に関連する検査プログラムや基準データなどを削除・変更していく（ステップＶ１２）。
【００４１】
一方、最下層である検査プログラムを追加する場合は、図１３に示すように、対応する検査アルゴリズムやカメラの領域内にその検査プログラムに対応する検査プログラムファイル記憶領域４ａを確保するとともに（ステップＷ１）、これに関連付けて対応基準データ記憶領域３ｂ、結果データ記憶領域４ｃを設定する（ステップＷ２、Ｗ３）。そして、これらの横方向に対応して設けられた領域との関連付けを行う（ステップＷ４）。
【００４２】
一方、すでに設けられているプログラムを削除、修正する場合は、すでに横方向に関連付けられた識別情報を読み出すことによって検査プログラムファイル記憶領域４ａや対応基準データ記憶領域３ｂを読み出し（ステップＷ１１）、それぞれの領域に格納された検査プログラムや基準データなどをまとめて削除・修正する（ステップＷ１２）。
【００４３】
このように上記実施の形態によれば、検査アルゴリズムから検査プログラムファイルまでを階層化し、各検査プログラムファイルを独立して追加、削除、変更できるようにしたので、検査アルゴリズムや画像取得条件などが追加、削除、変更された場合であっても、これに対応する一つの検査プログラムファイルのみをそのカテゴリー内で簡単に追加、削除、変更することができ、検査プログラムファイルの追加、削除、変更などの管理を容易にすることができる。また、独立して検査プログラムファイルを格納させているため、従来のように配列構造で記述された検査プログラムを一から書き換える必要がなくなり、バグの発生などを防止することができる。さらには、ある検査プログラムを実行している際に、他の検査アルゴリズムで階層化された記憶領域を動的に追加したり削除したりすることができ、また、同じ検査アルゴリズム内であっても、同階層内における他の検査プログラムを追加したり削除したりすることができるようになる。
【００４４】
また、検査プログラムに対応して、全体画像領域２ｂ、カメラ毎基準領域３ｂ、対応基準データ記憶領域３ｂを設け、これと関連付けることで検査できるようにしたので、基準データの参照が容易になり、検査プログラムが追加、削除、変更された場合であっても、これに対応して、その基準データの追加、削除、変更を容易にすることができる。
【００４５】
さらには、各検査プログラムファイルで使用される基準データについてもその検査プログラムファイルに対応させて記憶させておくため、基準データの参照が容易になり、検査プログラムが追加、削除、変更された場合であっても、これに対応して、その基準データの追加、削除、変更を容易にすることができる。特に、第一記憶領域、第二記憶領域、第三記憶領域と縦方向に階層化されて関連付けられたデータと、基準領域の方向（横方向）に関連付けられたデータを参照することで、関連する検査プログラムや基準データなどを容易に削除、修正などすることができるようになる。
【００４６】
なお、本発明は、上記実施の形態に限定されることなく、種々の態様で実施することができる。
【００４７】
例えば、上記実施の形態では、画像取得条件としてカメラの種類によって新たな領域を設定するようにしたが、光の照射条件によって新たな領域を設定するようにしてもよい。この場合としては、カメラを一つだけ設定しておき、光の照射角度や光の波長などを選択して画像を取得する方法などが考えられる。なお、この場合、上記実施の形態におけるカメラ毎記憶領域３ａやカメラ毎基準領域３ｂ、カメラ毎結果領域３ｃの用語は、画像取得条件毎領域、画像取得条件毎基準領域、画像取得条件毎結果領域などに置き換えられる。
【００４８】
また、上記実施の形態では、３階層化して記憶領域を設定するようにしたが、さらに、これを細分化して領域を設定するようにしてもよい。ただし、このように細分化する場合においても、縦方向や横方向へ関連付けしておくことが好ましい。
【００４９】
さらに、上記実施の形態では、ブロック単位やピクセル単位での検査アルゴリズムを使用するようにしているが、これ以外にもシルクの検査、レジストの塗布状態の検査アルゴリズムなど、多種多様のアルゴリズムや検査プログラムなどを用いるようにしてもよい。
【図面の簡単な説明】
【００５０】
【図１】本発明の一実施の形態である自動検査装置の断面概略図
【図２】同形態における照明装置の概要を示す図
【図３】同形態における自動検査装置の機能ブロック図
【図４】同形態における検査プログラムのデータ格納構造を示す図
【図５】同形態におけるブロック毎の検査で使用されるヒストグラムを示す図
【図６】同形態におけるピクセル毎の検査で使用される補正処理を示す図
【図７】同形態におけるピクセル毎の検査の検査処理を示す図
【図８】同形態における基準データの格納構造を示す図
【図９】同形態における検査結果データの格納構造を示す図
【図１０】同形態における検査処理を示すフローチャート
【図１１】同形態における検査アルゴリズムを削除・追加・変更する場合のフローチャート
【図１２】同形態における画像取得条件を削除・追加・変更する場合のフローチャート
【図１３】同形態における検査プログラムを削除・追加・変更する場合のフローチャート
【図１４】従来例における検査プログラムの格納構造
【符号の説明】
【００５１】
１・・・自動検査装置
１１・・・スタッカ
１２・・・ピックアップ機構
１３・・・ステージ
１４・・・移動機構
１５・・・画像取得装置
１５１・・・・照明装置
１５２・・・カメラ
１５３・・・回収機構
１６・・・前処理部
１７・・・記憶部
２ａ・・・アルゴリズム記憶領域
２１ａ・・・第一アルゴリズム記憶領域
２２ａ・・・第二アルゴリズム記憶領域
３ａ・・・カメラ毎記憶領域
３１ａ・・・・第一カメラ領域
３２ａ・・・・第二カメラ領域
４ａ・・・検査プログラムファイル記憶領域
２ｂ・・・全体画像領域
３ｂ・・カメラ毎基準領域
２１ｂ・・・第一カメラ基準領域
２２ｂ・・・第二カメラ基準領域
３ｂ・・対応基準データ記憶領域
３１ｂ・・・対応基準データ記憶領域
３２ｂ・・・対応基準データ記憶領域
２ｃ・・・全体結果領域
３ｃ・・・カメラ毎結果領域
３１ｃ・・・カメラ毎結果領域
３２ｃ・・・カメラ毎結果領域
４ｃ・・・結果データ記憶領域
４１ｃ・・・結果データ記憶領域
４２ｃ・・・結果データ記憶領域
５・・・判定手段
６・・・プリント基板
【図１】
0005073523.tif 000002
【図２】
0005073523.tif 000003
【図３】
0005073523.tif 000004
【図４】
0005073523.tif 000005
【図５】
0005073523.tif 000006
【図６】
0005073523.tif 000007
【図７】
0005073523.tif 000008
【図８】
0005073523.tif 000009
【図９】
0005073523.tif 000010
【図１０】
0005073523.tif 000011
【図１１】
0005073523.tif 000012
【図１２】
0005073523.tif 000013
【図１３】
0005073523.tif 000014
【図１４】
0005073523.tif 000015