以下に、本開示を実施するための形態に係る検査装置、検査方法及びプログラムについて図面を参照して詳細に説明する。なお、図中同一又は相当する部分には同じ符号を付す。
実施の形態1
本開示の実施の形態1に係る検査装置、検査方法及びプログラムは、検査対象物の形状及び検査対象物が配置された位置を検査するものである。
[検査装置1について]
図1は、実施の形態1に係る検査装置の説明図である。図2Aは、実施の形態1に係る撮像装置の側面図である。図2Bは、図2Aを2B-2B線から下方に見下ろした断面図である。
図1に示すように、実施の形態1に係る検査装置1は、検査対象物を撮像する撮像装置2、撮像された検査対象物を含む画像から検査対象物の表面の異常及び検査対象物が配置された位置を検査するコンピュータ3を備える。実施の形態1では、図2A、図2Bに示すように、異常検査の検査対象物として基板4が設定されており、位置検査の検査対象物として基板4に設けられた金属部品401が設定されている。
検査装置1では、撮像装置2によって撮像された基板4の学習用の画像の画像情報を機械学習し、位置検出モデル及び異常検出モデルを生成し、生成した位置検出モデル及び異常検出モデルを記憶する。以下、学習用の画像は、学習対象画像と記載する。
検査装置1は、検査対象の基板4の画像を撮像装置2によって撮像して検査用の画像を取得する。以下、検査用の画像は、検査対象画像と記載する。また、検査装置1は、検査対象画像を位置検出モデルに適用して、金属部品401の位置が規格に適合するか否かを判定する。また、検査装置1は、検査対象画像を異常検出モデルに適用して、基板4が規格に適合するか否かを判定する。また、検査装置1は、位置検査結果と異常検査結果との総合判定を行う。
[撮像装置2について]
図2A、図2Bに示すように、撮像装置2は、異常検査の検査対象物である基板4を設置する設置台である底板201、底板201の四隅で底板201に支持されて上方に延びる円柱状の支柱202~205、支柱202~205に支持された天板206を備える。撮像装置2は、底板201上には、基板4のX方向の一端を押し当てて設置位置を決める横方向位置決めブロック207、基板4のY方向の一端を押し当てて設置位置を決める縦方向位置決めブロック208を備える。また、撮像装置2は、天板206の底面の中央部に配置され、下方の基板4を撮像する撮像部209、天板206のX方向両端部でY方向に延びて配置され、下方の基板4を照明する照明光出力部210、211を備える。なお、撮像部209は、例えば、カメラであり、照明光出力部210、211は、例えば、調光機能を備える照明器具である。
基板4は、位置検査の検査対象物である金属部品401を備える。金属部品401は、基板4の上面中央部に設けられ、縦方向に延びる半円柱状の金属板である。金属部品401は、照明光出力部210、211から照明光が出力されると照明光が反射して横方向中央部において縦方向に延びる光沢部分402が現れる。なお、金属部品を半円柱状としたが、これに限定されず、例えば、直方体状、半球体状、円錐形状等の任意の形状としてもよい。この場合、光沢部分402の形状も変化する。
[コンピュータ3について]
図1に示すように、コンピュータ3は、パーソナルコンピュータである。なお、コンピュータ3については、パーソナルコンピュータに限定されない。例えば、コンピュータ3は、スーパーコンピュータ、ワークステーション、GPU(Graphics Processing Unit)が搭載されたGPUサーバであってもよい。また、例えば、コンピュータ3は、マイクロコンピュータが搭載された所謂マイコンボード又はFPGA(Field Programmable Gate Array)が搭載されたFPGAボードを備えた機械学習及び検査対象物の検査の演算が可能なその他の計算機であってもよい。また、検査装置1は、撮像装置2とコンピュータ3とが別体であるが、これに限定されず、例えば、コンピュータ3と撮像装置2とが一体化している装置であってもよい。
図3は、実施の形態1に係る検査装置の機能構成を示す図である。図3に示すように、コンピュータ3は、使用者からの入力を受け付ける入力部301、撮像部209を制御する撮像制御部302、照明光出力部210、211を制御する照明光制御部303、検査装置1で用いられる設定情報を記憶する設定情報記憶部304を備える。また、コンピュータ3は、基板4を含む画像の画像情報を記憶する画像情報記憶部305を備える。また、コンピュータ3は、金属部品401の位置を検出するための機械学習に用いる位置学習情報を記憶する位置学習情報記憶部306、基板4の表面の異常を検出するための機械学習に用いる異常学習情報を記憶する異常学習情報記憶部307を備える。
また、コンピュータ3は、位置検出のための基準位置を算出する基準位置算出部308、金属部品401の部分の画像にマスクをしたマスク画像を生成するマスク画像生成部309を備える。また、コンピュータ3は、機械学習によって画像と金属部品401の位置との関係性を示す位置検出モデルを生成する位置検出モデル生成部310、生成された位置検出モデルを記憶する位置検出モデル記憶部311を備える。また、コンピュータ3は、撮像部209が撮像した基板4を含む画像から金属部品401の位置を検出する位置検出部312を備える。また、コンピュータ3は、検出された金属部品401の位置が規格に適合するか否かを判定する位置規格判定部313、検出された金属部品401の位置を出力する位置出力部314を備える。
また、コンピュータ3は、機械学習によって画像と基板4の表面の異常との関係性を示す異常検出モデルを生成する異常検出モデル生成部315、生成された異常検出モデルを記憶する異常検出モデル記憶部316を備える。また、コンピュータ3は、撮像部209が撮像した基板4を含む画像から基板4の表面の異常を検出する異常検出部317を備える。また、コンピュータ3は、検出された基板4の表面の異常が規格に適合するか否かを判定する異常規格判定部318、検出された基板4の表面の異常を出力する異常出力部319を備える。
また、コンピュータ3は、検査装置1を使用するために使用者が入力する初期画面を表示する初期画面表示部320を備える。また、コンピュータ3は、機械学習によって位置検出モデル及び異常検出モデルを生成するために使用者が入力する学習画面を表示する学習画面表示部321を備える。また、コンピュータ3は、基板4の表面の異常を検査したり金属部品401の位置を検査したりするために使用者が入力する検査画面を表示する検査画面表示部322を備える。また、コンピュータ3は、金属部品401の位置の検査結果と基板4の表面の異常の検査結果とを総合判定する総合判定部323、総合判定結果を出力する総合判定結果出力部324、総合判定結果を記憶する総合判定結果記憶部325を備える。
図4は、実施の形態1に係るコンピュータのハードウェア構成を示すブロック図である。図4に示すように、コンピュータ3は、制御プログラム59に従って処理を実行する制御部51を備える。制御部51は、CPU(Central Processing Unit)を備える。制御部51は、制御プログラム59に従って、コンピュータ3の撮像制御部302、照明光制御部303、基準位置算出部308、マスク画像生成部309、位置検出モデル生成部310、位置検出部312、位置規格判定部313、位置出力部314として機能する。また、制御部51は、制御プログラム59に従って、コンピュータ3の異常検出モデル生成部315、異常検出部317、異常規格判定部318、異常出力部319、総合判定部323、総合判定結果出力部324として機能する。
また、コンピュータ3は、制御プログラム59をロードし、制御部51の作業領域として用いられる主記憶部52を備える。主記憶部52は、RAM(Random-Access Memory)を備える。
また、コンピュータ3は、制御プログラム59を予め記憶する外部記憶部53を備える。外部記憶部53は、制御部51の指示に従って、このプログラムが記憶するデータを制御部51に供給し、制御部51から供給されたデータを記憶する。外部記憶部53は、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Dive)、DVD(Digital Versatile Disc)-RAM、DVD-RW(ReWritable)等の不揮発性メモリを備える。外部記憶部53は、設定情報記憶部304、画像情報記憶部305、位置学習情報記憶部306、異常学習情報記憶部307、位置検出モデル記憶部311、異常検出モデル記憶部316、総合判定結果記憶部325として機能する。
また、コンピュータ3は、ユーザに操作される操作部54を備える。操作部54を介して、入力された情報が制御部51に供給される。操作部54は、キーボード、マウス等の情報入力部品を備える。操作部54は、入力部301として機能する。
また、コンピュータ3は、操作部54を介して入力された情報及び制御部51が出力した情報を表示する表示部55を備える。表示部55は、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を備える。表示部55は、初期画面表示部320、学習画面表示部321、検査画面表示部322として機能する。
また、コンピュータ3は、情報を送受信する送受信部56を備える。送受信部56は、ネットワークに接続する網終端装置、無線通信装置等の情報通信部品を備える。
また、コンピュータ3では、主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56はいずれも内部バス50を介して制御部51に接続されている。
図1、図3に示すコンピュータ3は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、入力部301、撮像制御部302、照明光制御部303の機能を実現する。例えば、コンピュータ3は、入力部301が行う入力ステップを実行し、撮像制御部302が行う撮像制御ステップを実行し、照明光制御部303が行う照明光制御ステップを実行する。また、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、設定情報記憶部304、画像情報記憶部305、位置学習情報記憶部306、異常学習情報記憶部307の機能を実現する。例えば、コンピュータ3は、設定情報記憶部304が行う設定情報記憶ステップを実行し、画像情報記憶部305が行う画像情報記憶ステップを実行する。また、例えば、コンピュータ3は、位置学習情報記憶部306が行う位置学習情報記憶ステップを実行し、異常学習情報記憶部307が行う異常学習情報記憶ステップを実行する。
また、コンピュータ3は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、基準位置算出部308、マスク画像生成部309の機能を実現する。例えば、コンピュータ3は、基準位置算出部308が行う基準位置算出ステップを実行し、マスク画像生成部309が行うマスク画像生成ステップを実行する。また、コンピュータ3は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、位置検出モデル生成部310、位置検出モデル記憶部311、位置検出部312、位置規格判定部313、位置出力部314の機能を実現する。また、例えば、コンピュータ3は、位置検出モデル生成部310が行う位置検出モデル生成ステップを実行し、位置検出モデル記憶部311が行う位置検出モデル記憶ステップを実行し、位置検出部312が行う位置検出ステップを実行する。また、例えば、コンピュータ3は、位置規格判定部313が行う位置規格判定ステップを実行し、位置出力部314が行う位置出力ステップを実行する。
また、コンピュータ3は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、異常検出モデル生成部315、異常検出モデル記憶部316、異常検出部317の機能を実現する。例えば、コンピュータ3は、異常検出モデル生成部315が行う異常検出モデル生成ステップを実行し、異常検出モデル記憶部316が行う異常検出モデル記憶ステップを実行し、異常検出部317が行う異常検出ステップを実行する。また、コンピュータ3は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、異常規格判定部318、異常出力部319、総合判定部323、総合判定結果出力部324、総合判定結果記憶部325の機能を実現する。例えば、コンピュータ3は、異常規格判定部318が行う異常規格判定ステップを実行するとともに、異常出力部319が行う異常出力ステップを実行する。また、例えば、コンピュータ3は、総合判定部323が行う総合判定ステップを実行し、合判定結果出力部324が行う合判定結果出力ステップを実行し、総合判定結果記憶部325が行う総合判定結果記憶ステップを実行する。
[コンピュータ3の機能構成の詳細について]
図3に示すように、撮像制御部302は、撮像部209に基板4を撮像させる制御を行う。撮像制御部302は、検査を行うときに検査対象の画像である検査対象画像を取得するときだけでなく、機械学習を行う前に予め学習対象の画像である学習対象画像を取得するときにも撮像部209を制御して基板4を撮像する。
照明光制御部303は、撮像制御部302が撮像部209を制御して基板4を撮像するときの照明光出力部210、211が出力する照明光を調光する制御を行う。
設定情報記憶部304は、検査装置1で用いられる設定情報を記憶する。設定情報は、後述する図5A~図5Dに示す、検査装置1で用いられる情報の記憶領域及び撮像装置2が撮像する画像の画像サイズを示す装置設定情報、基板4の製品毎に設定された製品設定一覧情報、金属部品401の位置検査に用いられる位置検査設定情報、基板4の異常検査に用いられる異常検査設定情報を含む。
図5Aは、実施の形態1に係る装置設定情報の一例を示す図である。装置設定情報は、図5Aに示すように、基板4の製品名を示す「製品名」、検査対象画像の画像情報の一時記憶領域の位置を示す「検査用画像情報一時記憶領域」、学習対象画像の画像情報の記憶領域の位置を示す「学習用画像情報記憶領域」、位置検出の学習に用いる位置学習情報の記憶領域の位置を示す「位置学習情報記憶領域」、異常検出の学習に用いる異常学習情報の記憶領域の位置を示す「異常学習情報記憶領域」、検査対象画像の画像サイズを示す「画像サイズ」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。なお、前述のように、検査対象画像の画像情報の一時記憶領域と学習対象画像の画像情報の記憶領域は、画像情報記憶部305内に設定され、位置学習情報記憶領域は、位置学習情報記憶部306に設定され、異常学習情報記憶領域は異常学習情報記憶部307に設定される。
例えば、装置設定情報は、図5Aに示す第1行において、「製品名」が「基板A」の製品について、「FA1」で特定される位置に検査用画像情報を一時的に記憶する領域が設定されていることを示している。また、装置設定情報は、「製品名」が「基板A」の製品について、「FA2」で特定される位置に学習用画像情報を記憶する領域が設定され、「FA3」で特定される位置に位置学習情報を記憶する領域が設定されていることを示している。また、装置設定情報は、「製品名」が「基板A」の製品について、「FA4」で特定される位置に異常学習情報を記憶する領域が設定され、学習及び検査に使用される画像のサイズが「SZA1」であることが設定されている。
図5Bは、実施の形態1に係る製品設定一覧情報の一例を示す図である。また、製品設定一覧情報は、図5Bに示すように、基板4の製品名を示す「製品名」、金属部品401の位置の基準である基板4の設計上の座標位置を示す「位置検査基準」、金属部品401の位置検査で用いる規格である後述する判定値の閾値を示す「位置検査規格」、基板4の異常検査で用いる規格である後述するサイズの閾値を示す「異常検査規格」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。なお、実施の形態1において、横方向位置決めブロック207及び縦方向位置決めブロック208に基板4を押し当てた状態で撮像装置2が基板4の画像を撮像することで、基板4の座標位置は、撮像装置2が撮像した画像の座標位置に置き換えられている。以下、基板4の設計上の座標位置は、X座標及びY座標の基準値と記載することがある。なお、判定値は、位置検出時に検出した基板4の座標位置のX座標及びY座標の値である測定値と基準値との差分値の絶対値である。すなわち、位置検査で用いる規格である判定値の閾値とは、位置検出時に検出した基板4のX座標及びY座標の測定値と基板4の設計上のX座標及びY座標の基準値との差分値の絶対値として許容される値である。
例えば、製品設定一覧情報は、図5Bの第1行において、「製品名」が「基板A」の製品について、金属部品401の設計上の座標位置が(XA1,YA1)であり、金属部品401の位置についてX座標の測定値と基準値との差分値の閾値が「XA2」であることを示している。また、製品設定一覧情報は、「製品名」が「基板A」の製品について、Y座標の測定値と基準値との差分値の絶対値の閾値が「YA2」であり、基板4の表面の異常について許容されるサイズの閾値が「SZA3」であることを示している。以下、差分値の閾値は、規格値と記載することがある。なお、実施の形態1では、差分値の絶対値を判定値とし、差分値の絶対値の閾値を規格値としたが、これに限定されず、例えば、差分値を判定値とし、差分値の下限値から上限値までを規格の範囲としてもよい。この場合、図5Bの第1行の情報については「YA2」に替えて「(-YA2)以上(+YA2)以下」又は「±YA2」と表現してもよく、異なる数値である「YA21」及び「YA22」を用いて「YA21以上YA22以下」としてもよい。
図5Cは、実施の形態1に係る位置検査設定情報の一例を示す図である。位置検査設定情報は、図5Cに示すように、基板4の製品名を示す「製品名」、検査対象画像における位置検出範囲情報として始点から終点までのX座標の値の範囲と始点から終点までのY座標の値の範囲とを示す「位置検出範囲」、学習対象画像又は検査対象画像から抽出する画像のサイズの特定に用いられる横幅と縦幅を示す「パターンサイズ」、金属部品401の位置のX座標及びY座標の測定値を補正するために用いるオフセットの値を示す「オフセット」、機械学習の学習モデルの形式を示す「モデル形式」、学習対象画像又は検査対象画像から抽出した画像をマスクするサイズを特定する横幅と縦幅の長さを示す「マスクサイズ」、検査時に抽出した画像について求めたスコアの閾値を示す「スコア閾値」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。
例えば、位置検査設定情報は、図5Cの第1行において、「製品名」が「基板A」の製品について、その画像の始点(XSA1,YSA1)と終点(XEA1,YEA1)を対角頂点とする矩形状の検出範囲内で、X方向のサイズである横幅WA1、Y方向のサイズである縦幅LA1の画像を抽出して検査対象とすることを示している。また、位置検査設定情報は、「製品名」が「基板A」の製品について、金属部品401の位置のX座標の測定値を補正するオフセットの値が「XOA1」、X座標の測定値を補正するオフセットの値が「YOA1」であることを示している。また、位置検査設定情報は、「製品名」が「基板A」の製品について、検査に使用する学習モデルは「MA1」であり、画像をマスクする縦方向のサイズが「MWA1」、横方向のサイズが「MLA1」であり、スコアの閾値が「SA1」であることを示している。
図5Dは、実施の形態1に係る異常検査設定情報の一例を示す図である。異常検査設定情報は、図5Dに示すように、基板4の製品名を示す「製品名」、検査対象画像における異常検出範囲情報として始点から終点までのX座標の値の範囲と始点から終点までのY座標の値の範囲とを示す「異常検出範囲」、学習対象画像又は検査対象画像から抽出する画像のサイズの特定に用いられる横幅と縦幅の長さを示す「パターンサイズ」、機械学習の学習モデルの形式を示す「モデル形式」、検査時に抽出した画像について求めたスコアが十分に高いか否かの閾値を示す「スコア閾値」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。また、「スコア閾値」の項目については、異常の種別の一例としての「錆」、「歪み」、「打痕」、「付着物」の項目に分類されている。なお、異常の種別として、「錆」、「歪み」、「打痕」、「付着物」を例示したが、異常の種別についてはこれに限定されず、例えば、「傷」、「欠損」についても異常の種別に追加してもよい。
例えば、異常検査設定情報は、図5Dの第1行において、「製品名」が「基板A」の製品について、その画像の始点(XSA2,YSA2)と終点(XEA2,YEA2)を対角頂点とする矩形状が検査範囲であることを示している。また、異常検査設定情報は、「製品名」が「基板A」の製品について、検査範囲からX方向のサイズである横幅が「WA2」、Y方向のサイズである縦幅が「LA2」の画像を抽出して検査対象とすることを示している。また、異常検査設定情報は、「製品名」が「基板A」の製品について、検査に使用する学習モデルは「MA2」であり、「錆」のスコア閾値が「SA21」、「歪み」のスコア閾値が「SA22」、「打痕」のスコア閾値が「SA23」、「付着物」のスコア閾値が「SA24」であることを示している。
画像情報記憶部305は、予め取得した複数種類の学習対象画像の画像情報を記憶する。また、画像情報記憶部305は、検査を行うときに取得した検査対象画像の画像情報を一時記憶する。
図6は、実施の形態1に係る位置学習情報の一例を示す図である。位置学習情報記憶部306は、前述のように、金属部品401の位置を検出するための機械学習、すなわち、位置学習に用いる位置学習情報を記憶する。ここで、位置学習情報は、学習対象画像における金属部品401の光沢部分402の位置のX座標及びY座標の測定値を示す情報である。図6に示すように、位置学習情報は、光沢部分402のX座標及びY座標の測定値を示す「測定値」の項目の情報を含んでおり、「X座標」及び「Y座標」の測定値の項目の情報が製品名毎に分類されている。また、位置学習情報の位置は、図5Aの位置学習情報記憶領域に設定されている情報により特定される。
例えば、位置学習情報は、図6に示すように、学習時に取得した「基板A」の学習対象画像について、「X座標」が「261」、「Y座標」が「115」の位置に光沢部分402が存在していることを示している。なお、その記憶位置は、図5Aの「位置学習情報記憶領域」の情報から「FA3」で特定される。
図7は、実施の形態1に係る異常学習情報の一例を示す図である。異常学習情報記憶部307は、前述のように、基板4の表面の異常を検出するための機械学習、すなわち、異常学習に用いる異常学習情報を記憶する。ここで、異常学習情報は、学習対象画像における基板4の表面の異常の位置のX座標及びY座標の測定値、異常の種別、異常のサイズを示す情報である。図7に示すように、異常学習情報は、実際又はシミュレーションで特定した異常のX座標及びY座標の測定値を示す「X座標」及び「Y座標」、異常の種別を示す「種別」、異常のサイズを示す「サイズ」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。なお、1つの製品について複数の異常を学習する必要があれば学習する異常毎にこれらの情報が分類されている。
例えば、異常学習情報は、図7に示すように、学習時に取得した「基板A」の学習対象画像について、1つ目の異常として、「X座標」が「110」、「Y座標」が「170」の位置に、サイズ「16」の異物が「付着」する異常があることを示している。
図3に示す基準位置算出部308は、金属部品401の位置学習時に位置を検出する基準位置となるX座標及びY座標の値を算出する。詳細には、基準位置算出部308は、設定情報記憶部304に記憶されている装置設定情報の「位置学習情報記憶領域」の項目の情報で特定される位置から、製品名に対応する位置学習情報の「X座標」及び「Y座標」の測定値を取得する。また、基準位置算出部308は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する位置検査設定情報の「オフセット」の項目の情報、すなわち、X座標及びY座標の測定値を補正するオフセットの値を取得する。そして、基準位置算出部308は、X座標の測定値とオフセットの値とを加算するとともに、Y座標の測定値とオフセットの値とを加算することで、X座標及びY座標の基準値を算出する。ここで、オフセットは、例えば、検査装置が複数ある場合のように、カメラの設置のバラツキによって撮像範囲内で対象物が写る位置が同一にならない状況において、検査装置毎の測定値のバラツキを抑えるために設けられている。具体的には、オフセットの値として、基板4の画像における基板4の左上端のX座標及びY座標の値のそれぞれ正負を反転させて得られたマイナス値が検査装置毎に設定されている。そして、基準位置算出部308は、基板4の画像における金属部品401の位置のX座標及びY座標の値にオフセットのX座標及びY座標の値を加算する。この結果、検査装置1は、基板4の左上端からの相対位置として金属部品401の位置の測定値を検査装置毎のバラツキをなくした状態で算出することができる。
例えば、基準位置算出部308は、「基板A」の学習対象画像を取得したときに、「位置学習情報記憶領域」の「FA3」から位置学習情報が記憶されているアドレスを特定し、位置学習情報から金属部品401位置のX座標及びY座標の測定値として「261」及び「115」を取得する。また、基準位置算出部308は、位置検査設定情報からX座標及びY座標のオフセットの値として「XOA1」及び「YOA1」を取得する。そして、基準位置算出部308は、X座標及びY座標の基準値として(261+XOA1,115+YOA1)を算出する。
マスク画像生成部309は、学習対象画像又は検出用の画像から抽出したパターンサイズの画像に異常が検出されているときにマスクをすることでマスク画像を生成する。マスク画像生成部309は、異常が検出されているときに、設定情報記憶部304に記憶されている金属部品401の製品名に対応する位置検査設定情報の「マスクサイズ」の項目の情報、すなわち、マスクの横幅と縦幅の長さを取得する。そして、マスク画像生成部309は、異常が検出されているX座標及びY座標の値の座標位置を中心として取得した横幅及び縦幅の長さのマスクをすることでマスク画像を生成する。ここで、マスクは、白色で塗りつぶした画像である。なお、マスクについては、白色で塗りつぶした画像に限定されず、例えば、白色以外の色で塗りつぶした画像であってもよく、取得した横幅及び縦幅の範囲の平均色で塗りつぶした画像であってもよい。また、例えば、複数種類の色を含む画像であってもよく、取得した横幅及び縦幅の範囲をぼかした画像であってもよい。また、例えば、格子模様、縞模様等の特定パターンの画像であってもよい。
例えば、マスク画像生成部309は、「基板A」の学習対象画像を取得したときに、位置検査設定情報の「マスクサイズ」の横幅MWA1及び縦幅MLA1を取得する。また、マスク画像生成部309は、異常学習情報の「X座標」及び「Y座標」の項目から異常の座標位置のX座標及びY座標の測定値として「110」及び「170」を取得する。また、マスク画像生成部309は、抽出したパターンサイズの画像に(110,170)の位置が含まれているか否かを特定する。また、マスク画像生成部309は、例えば、抽出したパターンサイズの画像に(110,170)の位置が含まれていることを特定した場合、抽出したパターンサイズの画像のうち、(110,170)の座標位置を中心とする横幅がMWA1、縦幅がMLA1の範囲の画像を白色で塗りつぶした画像に置き換える。
位置検出モデル生成部310は、前述のように、機械学習によって画像と金属部品401の位置との関係性を示す位置検出モデルを生成する。位置検出モデル生成部310は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する位置検査設定情報の「モデル形式」の項目の情報、すなわち、機械学習の学習モデルの形式を取得して位置検出モデルの雛形を生成する。ここで、位置検出モデル生成部310が行う機械学習の手法は、画像認識の深層学習で一般的に用いられているCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)である。また、位置検出モデル生成部310が生成可能な機械学習の学習モデルの形式は、CNNにおいて代表的な深層学習モデルである「AlexNet」、「VGG」、「ResNet」の何れかから選択可能である。しかしながら、学習モデルの形式は、これらに限定されず、CNNの他の学習モデルが選択可能であってもよい。なお、機械学習の手法についてはCNNに限定されず、画像認識可能な任意の機械学習の手法であってもよい。この場合、設定された機械学習の手法の学習モデルの形式を選択可能とする必要がある。
また、位置検出モデル生成部310は、設定情報記憶部304に記憶されている装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して画像情報記憶部305に記憶されている学習対象画像の画像情報を取得する。また、位置検出モデル生成部310は、金属部品401の製品名に対応する位置検査設定情報の「パターンサイズ」の項目の情報、すなわち、学習対象画像から抽出する画像の横幅と縦幅の長さを取得する。また、位置検出モデル生成部310は、基準位置算出部308が算出したX座標及びY座標の基準値を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出する。ここで、抽出した画像は、学習対象画像における金属部品401の光沢部分402の位置のX座標及びY座標の測定値に基づく基準値から抽出した画像であり、金属部品401の位置を特定可能な画像である。よって、抽出した画像は、位置検出において位置を検出したと特定可能な部分の画像、所謂OK分類の画像として取り扱われる画像である。このため、位置検出モデル生成部310は、抽出した画像をOK分類の画像として機械学習を行うことで位置検出モデルを更新する。
なお、位置検出モデル生成部310は、抽出した画像についてマスク画像生成部309がマスク画像を生成しているときにはマスク画像についてもOK分類の画像として機械学習を行うことで位置検出モデルを更新する。また、位置検出モデル生成部310は、X座標及びY座標の基準値とは異なる任意の値によって示された座標位置を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出し、抽出した画像をNG分類の画像として機械学習を行うことで位置検出モデルを更新する。なお、X座標及びY座標の基準値とは異なる任意の値によって示された座標位置を中心としてNG分類の画像を抽出したが、これに限定されない。例えば、NG分類の画像は、X座標の基準値に予め定められた値を加算したり減算したりした値によって示された座標位置を中心としてもよく、Y座標の基準値に予め定められた値を加算したり減算したりした値によって示された座標位置を中心としてもよい。すなわち、位置検出モデル生成部310は、基準位置から予め定められた間隔を空けて離れた座標位置を中心としてNG分類の画像を抽出してもよい。
例えば、位置検出モデル生成部310は、「基板A」の学習対象画像を取得したときに、位置検査設定情報の「モデル形式」の項目の「MA1」を取得する。ここで、例えば、「MA1」が16層の「VGG」を示す「VGG16」であれば、位置検出モデル生成部310は、学習モデルの形式が「VGG16」の位置検出モデルの雛形を生成する。また、位置検出モデル生成部310は、装置設定情報の「学習用画像情報記憶領域」の「FA2」を参照して学習対象画像の画像情報が記憶されているアドレスを特定し、学習対象画像の画像情報を取得する。また、位置検出モデル生成部310は、位置検査設定情報の「パターンサイズ」の横幅WA1、縦幅LA1を取得して、学習対象画像から(261+XOA1,115+YOA1)の座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を抽出する。また、位置検出モデル生成部310は、抽出した画像をOK分類の画像として機械学習を行うことで位置検出モデルを更新する。なお、位置検出モデル生成部310は、抽出した画像のマスク画像が生成されていれば、マスク画像もOK分類の画像として機械学習を行うことで位置検出モデルを更新する。また、位置検出モデル生成部310は、学習対象画像から(261+XOA1,115+YOA1)以外の座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を抽出する。また、位置検出モデル生成部310は、抽出した画像をNG分類の画像として機械学習を行うことで位置検出モデルを更新する。
位置検出部312は、前述のように、撮像部209が撮像した基板4を含む検査対象画像から金属部品401の位置を検出する。位置検出部312は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する装置設定情報の「検査用画像情報一時記憶領域」の項目の情報を参照して画像情報記憶部305に一時記憶されている検査対象画像の画像情報を取得する。また、位置検出部312は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部304に記憶されている金属部品401の製品名に対応する位置検査設定情報の「位置検出範囲」及び「パターンサイズ」の項目の情報を取得する。すなわち、位置検出部312は、検査対象画像における位置検出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値及び抽出する画像の横幅と縦幅の長さを取得する。
また、位置検出部312は、位置検出範囲内から選択されたX座標及びY座標の値によって示された座標位置を中心として取得した横幅と縦幅が示すパターンサイズの画像を検査対象画像から抽出する。また、位置検出部312は、位置検出モデル記憶部311に記憶されている位置検出モデルを取得し、位置検出モデルを抽出した画像に適用して画像の評価値であるスコアを算出する。ここで、算出されたスコアは、OK分類の画像である可能性を示すスコアであり、抽出した画像がOK分類の画像である可能性が高くなるに連れてスコアが高くなり、抽出した画像がOK分類の画像である可能性が低くなるに連れてスコアが低くなる。また、位置検出部312は、位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出し、抽出した画像のスコアをそれぞれ算出する。また、位置検出部312は、金属部品401の製品名に対応する位置検査設定情報の「スコア閾値」の項目の情報、すなわち、スコア閾値を取得し、算出したスコアが取得したスコア閾値以上となる画像があるか否かを判定する。また、位置検出部312は、スコア閾値以上となるスコアがあれば最大スコアとなった画像から取得したときのX座標及びY座標の測定値を算出することで、金属部品401の位置を検出する。
例えば、位置検出部312は、「基板A」の検査対象画像を取得したときに、装置設定情報の「検査用画像情報一時記憶領域」の項目の「FA1」を参照して検査対象画像の画像情報が記憶されているアドレスを特定し、検査対象画像の画像情報を取得する。また、位置検出部312は、装置設定情報の「画像サイズ」の「SZA1」を取得するとともに、位置検査設定情報の「位置検出範囲」のX座標の値の範囲XSA1~XEA1、Y座標の値の範囲YSA1~YEA1及び「パターンサイズ」の横幅WA1、縦幅LA1を取得する。また、位置検出部312は、始点(XSA1,YSA1)と終点(XEA1,YEA1)を対角頂点とする矩形状の位置検出範囲内で選択された座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を検査対象画像から抽出する。
また、位置検出部312は、位置検出範囲内に選択可能な座標の位置がN個ある場合、取得した位置検出モデルをN個の抽出した画像に適用してこれらN個の画像のスコアSC11~SC1Nを算出する。また、位置検出部312は、位置検査設定情報の「スコア閾値」の「SA1」を取得し、算出したスコアSC11~SC1NからSA1以上となる画像があるか否かを判定する。また、位置検出部312は、SA1以上となるスコアのうち最大スコアがSC1Mである場合、例えば、最大スコアSC1Mとなった画像からX座標及びY座標の測定値を検出する。具体的には、位置検出部312は、最大スコアSC1Mとなった画像から取得したX座標及びY座標の値が(X0,Y0)であれば、オフセットのX座標及びY座標の値(XOA1,YOA1)を加算した(X0+XOA1,Y0+YOA1)をX座標及びY座標の測定値として算出することで、金属部品401の位置を検出する。ここで、(X1,Y1)=(X0+XOA1,Y0+YOA1)とし、以降、X座標及びY座標の測定値を(X1,Y1)と記載する。
位置規格判定部313は、前述のように、検出された金属部品401の位置が規格に適合するか否かを判定する。位置規格判定部313は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する製品設定一覧情報の「位置検査基準」及び「位置検査規格」の項目の情報、すなわち、金属部品401の位置検査におけるX座標及びY座標の基準値及び規格値である判定値の閾値を取得する。また、位置規格判定部313は、位置検出部312が特定したX座標の測定値から基準値を減算するとともに、位置検出部312が特定したY座標の測定値から基準値を減算することでX座標及びY座標の差分値を算出する。そして、位置規格判定部313は、算出したX座標の判定値である差分値の絶対値が閾値以下であり且つ算出したY座標の判定値である差分値の絶対値が閾値以下であれば、検出された金属部品401の位置が規格に適合していると判定する。また、位置規格判定部313は、算出したX座標の差分値の絶対値が閾値を超えるか算出したY座標の差分値の絶対値が閾値を超えていれば、検出された金属部品401の位置が規格に適合してないと判定する。
例えば、位置規格判定部313は、「基板A」の検査対象画像を取得したときに、製品設定一覧情報の「位置検査基準」のX座標及びY座標の基準値(XA1,YA1)及び「位置検査規格」のX座標の差分値の閾値XA2、Y座標の差分値の閾値YA2を取得する。また、位置規格判定部313は、X座標及びY座標の測定値(X1,Y1)と基準値(XA1,YA1)との差分値(X1-XA1、Y1-YA1)を算出する。そして、位置規格判定部313は、|X1-XA1|≦XA2且つ|Y1-YA1|≦YA2であれば規格に適合していると判定する一方、|X1-XA1|>XA2又は|Y1-YA1|>YA2であれば規格に適合していないと判定する。
位置出力部314は、検出された金属部品401の位置として位置検出部312が算出したX座標及びY座標の測定値を出力する。また、位置出力部314は、位置規格判定部313が取得したX座標及びY座標の基準値及び規格値、位置規格判定部313が算出したX座標及びY座標の判定値である差分値の絶対値を出力する。また、位置出力部314は、位置規格判定部313が規格に適合していると判定したときには判定結果情報として規格に適合している旨を示す判定OK情報を出力し、位置規格判定部313が規格に適合してないと判定したときには判定結果情報として規格に適合していない旨を示す判定NG情報を出力する。なお、判定OK情報及び判定NG情報は、例えば、「OK」及び「NG」の情報である。また、位置出力部314は、位置検出部312が金属部品401の位置の検出に失敗した場合、検査失敗情報を出力する。なお、検査失敗情報は、例えば、「N/A」の情報である。
例えば、位置出力部314は、「基板A」の検査対象画像を取得したときに、(X1,Y1)、(XA1,YA1)、(XA2,YA2)、(X1-XA1,Y1-YA1)を出力する。また、位置出力部314は、|X1-XA1|≦XA2且つ|Y1-YA1|≦YA2であれば判定OK情報を出力し、|X1-XA1|>XA2又は|Y1-YA1|>YA2であれば判定NG情報を出力する。
異常検出モデル生成部315は、前述のように、機械学習によって画像と基板4の表面の異常との関係性を示す異常検出モデルを生成する。異常検出モデル生成部315は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する異常検査設定情報の「モデル形式」の項目の情報、すなわち、機械学習の学習モデルの形式を取得して異常検出モデルの雛形を生成する。また、異常検出モデル生成部315は、設定情報記憶部304に記憶されている装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して画像情報記憶部305に記憶されている学習対象画像の画像情報を取得する。また、異常検出モデル生成部315は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する装置設定情報の「異常学習情報記憶領域」の項目の情報を参照して異常学習情報記憶部307に記憶されている金属部品401の製品名に対応する異常学習情報の「X座標」及び「Y座標」の項目の情報を取得する。すなわち、異常検出モデル生成部315は、X座標及びY座標の測定値を取得する。
また、異常検出モデル生成部315は、異常検査設定情報の「パターンサイズ」の項目の情報、すなわち、学習対象画像から抽出する画像の横幅と縦幅の長さを取得する。また、異常検出モデル生成部315は、取得したX座標及びY座標の測定値を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出する。また、異常検出モデル生成部315は、金属部品401の製品名に対応する異常学習情報の「種別」の項目の情報、すなわち、学習する異常の種別を取得し、抽出した画像を取得した種別の分類の異常の画像として機械学習を行うことで異常検出モデルを更新する。
例えば、異常検出モデル生成部315は、「基板A」の学習対象画像を取得したときに、異常検査設定情報の「モデル形式」の「MA2」を取得して異常検出モデルの雛形を生成する。ここで、例えば、「MA2」が「VGG16」であれば、異常検出モデル生成部315は、学習モデルの形式が「VGG16」の異常検出モデルの雛形を生成する。また、異常検出モデル生成部315は、「学習用画像情報記憶領域」の「FA2」を参照して学習対象画像の画像情報を取得する。
また、異常検出モデル生成部315は、「異常学習情報記憶領域」の「FA4」を参照して異常学習情報が記憶されているアドレスを特定し、異常学習情報から基板4の表面の異常の位置のX座標及びY座標の測定値として「110」及び「170」を取得する。また、異常検出モデル生成部315は、異常検査設定情報から「パターンサイズ」の横幅WA2、縦幅LA2を取得する。また、異常検出モデル生成部315は、学習対象画像から(110,170)の座標位置を中心とする横幅がWA2、縦幅がLA2の範囲の画像を抽出する。また、異常検出モデル生成部315は、異常学習情報の「種別」の項目の「付着物」を取得し、抽出した画像を付着物の分類の異常の画像として機械学習を行うことで異常検出モデルを更新する。
異常検出部317は、前述のように、撮像部209が撮像した基板4を含む画像から基板4の表面の異常を検出する。異常検出部317は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する装置設定情報の「検査用画像情報一時記憶領域」の項目の情報を参照して画像情報記憶部305に一時記憶されている検査対象画像の画像情報を取得する。また、異常検出部317は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部304に記憶されている金属部品401の製品名に対応する異常検査設定情報の「異常検出範囲」及び「パターンサイズ」の項目の情報を取得する。すなわち、異常検出部317は、検査対象画像における異常検出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値及び抽出する画像の横幅と縦幅の長さを取得する。
また、異常検出部317は、異常検出範囲内から選択されたX座標及びY座標の値によって示された座標位置を中心として取得した横幅と縦幅のパターンサイズの画像を検査対象画像から抽出する。また、異常検出部317は、異常検出モデル記憶部316に記憶されている異常検出モデルを取得し、異常検出モデルを抽出した画像に適用して当該画像の評価値であるスコアを異常の種別毎に算出する。ここで、算出されたスコアは、特定の種別の異常を含む画像である可能性を示すスコアである。例えば、「錆」のスコアについては、抽出した画像が「錆」の異常を含む画像である可能性が高くなるに連れてスコアが高くなり、抽出した画像が「錆」の異常を含む画像である可能性が低くなるに連れてスコアが低くなる。
また、異常検出部317は、金属部品401の製品名に対応する位置検査設定情報の「スコア閾値」の項目の情報、すなわち、異常の種別毎のスコア閾値を取得し、算出したスコアが取得したスコア閾値以上となる種別があるか否かを判定する。また、異常検出部317は、スコア閾値以上となるスコアがあれば最大スコアとなった種別の異常と特定し、異常と特定した画像のX座標及びY座標の測定値を算出するとともに、画像処理によって異常と特定した部分のサイズを算出する。なお、異常検出部317は、スコア閾値以上となるスコアがなければ基板4の表面の異常を検出しなかったことになる。そして、異常検出部317は、異常検出範囲内の全てのパターンサイズの画像を抽出し、抽出した画像における異常の種別毎のスコアをそれぞれ算出し、スコア閾値以上となる種別があれば最大スコアとなった種別の異常の種別と特定し、X座標及びY座標の測定値及びサイズを算出する。
例えば、異常検出部317は、「基板A」の検査対象画像を取得したときに、「検査用画像情報一時記憶領域」の「FA1」を参照して検査対象画像の画像情報を取得する。また、異常検出部317は、「画像サイズ」の項目の「SZA1」を取得するとともに、異常検査設定情報の「異常検出範囲」のX座標の値の範囲XSA2~XEA2、Y座標の値の範囲YSA2~YEA2及び「パターンサイズ」の横幅WA2、縦幅LA2を取得する。また、位置検出部312は、始点(XSA2,YSA2)と終点(XEA2,YEA2)を対角頂点とする矩形状の異常検出範囲内で選択された座標位置を中心とする横幅がWA2、縦幅がLA2の範囲の画像を学習対象画像から抽出する。
また、異常検出部317は、取得した異常検出モデルを抽出した画像に適用して当該画像のスコアを異常の種別毎に算出する。また、異常検出部317は、位置検査設定情報の「スコア閾値」の「錆」のスコア閾値のSA21、「歪み」のスコア閾値SA22、「打痕」のスコア閾値SA23、「付着物」のスコア閾値SA24を取得し、算出したスコアが取得したスコア閾値以上となる種別があるか否かを判定する。また、異常検出部317は、スコア閾値以上となるスコアがあれば最大スコアとなった種別の異常と特定する。具体的には、異常検出部317は、「錆」のスコアがSC21、「歪み」のスコアがSC22、「打痕」のスコアがSC23、「付着物」のスコアがSC24であり、SC21<SC22<SC23<SC24、SC21<SA21、SC22<SA22、SC23<SA23、SC24>SA24であれば、付着物の異常と特定する。
なお、実施の形態1では、異常検出部317は、スコア閾値以上となるスコアがあれば最大スコアとなった種別の異常と特定したが、最大スコアではなくてもスコア閾値以上のスコアであればそのスコアとなった種別の異常と特定してもよい。例えば、異常検出部317は、SC22<SC23<SC21<SC24、SC21>SA21、SC22<SA22、SC23<SA23、SC24>SA24であれば、錆及び付着物の異常と特定してもよい。また、異常検出部317は、例えば、異常と特定した画像のX座標及びY座標の値が(X2,Y2)、サイズがSZ2であれば、(X2,Y2)をX座標及びY座標の測定値として算出するとともに、SZ2を画像処理によって異常と特定した部分のサイズとして算出する。そして、異常検出部317は、異常検出範囲内の全てのパターンサイズの画像を抽出し、抽出した画像における異常の種別毎のスコアを算出し、スコア閾値以上となる種別があれば最大スコアとなった種別の異常の種別と特定し、X座標及びY座標の測定値及びサイズを算出する。
異常規格判定部318は、前述のように、検出された基板4の表面の異常が規格に適合するか否かを判定する。異常規格判定部318は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する製品設定一覧情報の「異常検査規格」の項目の情報、すなわち、金属部品401の異常検査における異常のサイズの規格値を取得する。また、異常規格判定部318は、異常検出部317が算出した異常のサイズの値が規格値以下であれば、検出された基板4の表面の異常があっても規格に適合していると判定する。また、異常規格判定部318は、異常検出部317が算出した異常のサイズの値が規格値を超えていれば、検出された基板4の表面の異常によって規格に適合してないと判定する。
例えば、異常規格判定部318は、「基板A」の検査対象画像を取得したときに、製品設定一覧情報の「異常検査規格」のサイズの閾値SZA3を取得する。また、異常規格判定部318は、SZ2≦SZA3であれば規格に適合していると判定する一方、SZ2>SZA3であれば規格に適合してないと判定する。
異常出力部319は、検出された基板4の表面の異常として、異常検出部317が特定した異常の種別、異常検出部317が算出したX座標及びY座標の値及び異常のサイズを出力する。また、異常出力部319は、異常規格判定部318が取得した異常のサイズの規格値を出力する。また、異常出力部319は、異常規格判定部318が規格に適合していると判定したときには判定結果情報として規格に適合している旨を示す判定OK情報を出力し、異常規格判定部318が規格に適合してないと判定したときには判定結果情報として規格に適合していない旨を示す判定NG情報を出力する。
例えば、異常出力部319は、「基板A」の検査対象画像を取得したときに、「付着物」、(X2,Y2)、SZ2、SZA3を出力する。また、異常出力部319は、SZ2≦SZA3であれば判定OK情報を出力する一方、SZ2>SZA3であれば判定NG情報を出力する。
図8は、実施の形態1に係る初期画面の表示例を示す図である。初期画面表示部320は、検査のためのプログラムを実行したときに図8に示す初期画面5を表示する。初期画面5は、学習画面を表示するための学習画面表示ボタン501、検査画面を表示するための検査画面表示ボタン502、プログラムを終了するための終了ボタン503を備える。図8に示すように、初期画面5において、学習画面表示ボタン501は、初期画面5の上側左部に設けられ、検査画面表示ボタン502は、初期画面5の上側右部に設けられ、終了ボタン503は、初期画面5の下側の左右方向中央部に設けられている。
図9は、実施の形態1に係る学習画面の表示例を示す図である。学習画面表示部321は、初期画面5において学習画面表示ボタン501が操作されたときに図9に示す学習画面6を表示する。学習画面6は、学習対象画像を表示するための学習用画像表示欄601、基板4の製品名を選択するための製品選択欄602、学習対象画像を選択するための学習用画像選択欄603を備える。また、学習画面6は、学習対象画像を撮像するための学習用画像撮像ボタン604、選択された学習対象画像の画像情報を読み込むための学習用画像読込ボタン605、選択された学習対象画像の画像情報を削除するための学習用画像削除ボタン606を備える。
また、学習画面6は、位置学習情報を表示するための位置学習情報表示欄607、異常学習情報を表示するための異常学習情報表示欄608、金属部品401の位置を位置学習情報表示欄607に反映させるための位置学習情報反映ボタン609を備える。また、学習画面6は、基板4の表面の異常の位置を異常学習情報表示欄608に反映させるための第1異常学習情報反映ボタン610、基板4の表面の画像を拡大表示するための拡大表示欄611を備える。また、学習画面6は、基板4の表面の異常のサイズを異常学習情報表示欄608に反映させるための第2異常学習情報反映ボタン612を備える。また、学習画面6は、位置学習情報表示欄607及び異常学習情報表示欄608の内容を位置学習情報及び異常学習情報として保存するための保存ボタン613、機械学習を実行するための学習ボタン614を備える。
また、学習画面6は、初期画面5の表示に戻るための戻るボタン615、基板4の表面の異常の種別を選択するための異常種別選択欄616、基板4の表面の異常の種別の項目を異常学習情報表示欄608に追加するための異常種別追加ボタン617を備える。また、学習画面6は、異常学習情報表示欄608で選択した基板4の表面の異常の種別の項目を削除するための異常種別削除ボタン618を備える。
図9に示すように、学習画面6において、学習用画像表示欄601は、学習画面6の左側上部に設けられ、製品選択欄602は、学習画面6の右側上部に設けられ、学習用画像選択欄603は、製品選択欄602の下方に設けられている。また、学習用画像撮像ボタン604は、学習用画像選択欄603の左側下方に設けられ、学習用画像読込ボタン605は、学習用画像選択欄603の下方に設けられ、学習用画像削除ボタン606は、学習用画像選択欄603の右側下方に設けられている。また、位置学習情報表示欄607は、学習用画像表示欄601の左側下方に設けられ、異常学習情報表示欄608は、学習用画像表示欄601の下方に設けられ、位置学習情報反映ボタン609は、ボタン604~606の下方に設けられている。
また、第1異常学習情報反映ボタン610は、位置学習情報反映ボタン609の下方に設けられ、拡大表示欄611は、第1異常学習情報反映ボタン610の下方に設けられ、第2異常学習情報反映ボタン612は、拡大表示欄611の下方に設けられている。また、保存ボタン613は、第2異常学習情報反映ボタン612の左側下方に設けられ、学習ボタン614は、第2異常学習情報反映ボタン612の下方に設けられ、戻るボタン615は、第2異常学習情報反映ボタン612の右側下方に設けられている。また、異常種別選択欄616は、学習用画像表示欄601の右側下方に設けられ、異常種別追加ボタン617は、異常種別選択欄616の左側下方に設けられ、異常種別削除ボタン618は、異常種別選択欄616の右側下方に設けられている。
学習画面表示部321は、設定情報記憶部304に記憶されている「製品名」の項目の情報、すなわち、製品名を全て取得し、製品選択欄602において選択可能とする。また、学習画面表示部321は、使用者が入力部301を介して製品選択欄602において製品名を選択すると、設定情報記憶部304に記憶されている選択された製品名に対応する装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して学習用画像選択欄603に選択された製品名についての学習対象画像のファイル名を一覧表示する。また、学習画面表示部321は、使用者が入力部301を介して学習用画像選択欄603においてファイル名を選択してから学習用画像読込ボタン605を操作すると、画像情報記憶部305から選択されたファイル名の学習対象画像の画像情報を取得して学習対象画像を学習用画像表示欄601に表示する。
なお、製品選択欄602において製品名が選択された状態で使用者が入力部301を介して学習用画像撮像ボタン604を操作すると、照明光制御部303が照明光出力部210、211を制御して照明光が出力されるとともに、撮像制御部202が撮像部209を制御して学習対象画像を撮像して画像情報を画像情報記憶部305に記憶する。そして、学習画面表示部321は、撮像された学習対象画像のファイル名を学習用画像選択欄603に追加表示し、撮像された学習対象画像を学習用画像表示欄601に表示する。
また、学習画面表示部321は、学習用画像表示欄601にカーソル619を表示しており、使用者が入力部301を介してカーソル619の表示位置を変更可能となっている。よって、使用者は、入力部301を介してカーソル619の表示位置を学習用画像表示欄601に表示された学習対象画像から金属部品401の光沢部分402に対応する位置620又は基板4の表面の異常に対応する位置621に変更可能である。また、学習画面表示部321は、使用者がカーソル619の表示位置を光沢部分402に対応する位置620に変更すると、光沢部分402に対応する位置620の拡大画像を拡大表示欄611に表示する。また、学習画面表示部321は、拡大画像が拡大表示欄611に表示された状態で使用者が入力部301を介して位置学習情報反映ボタン609を操作すると、カーソル619の表示位置に対応するX座標及びY座標の測定値を位置学習情報表示欄607に表示する。
また、学習画面表示部321は、使用者がカーソル619の表示位置を基板4の表面の異常に対応する位置621に変更すると、基板4の表面の異常に対応する位置621の拡大画像を拡大表示欄611に表示する。このとき、学習画面表示部321は、領域表示枠622を表示し、基板4の表面の異常に対応する位置621を中心とする異常の画像623を領域表示枠622で囲んだ状態で表示する。また、学習画面表示部321は、異常種別選択欄616において「錆」、「歪み」、「打痕」、「付着物」の4種類の異常の種別を選択可能としている。
学習画面表示部321は、拡大表示欄611に領域表示枠622が表示された状態で使用者が入力部301を介して異常種別選択欄616において異常の種別を選択してから異常種別追加ボタン617を操作すると、異常学習の項目を追加して選択された異常の種別を異常学習情報表示欄608の「種別」の項目に表示する。また、学習画面表示部321は、使用者が入力部301を介して異常学習情報表示欄608の異常学習の種類を選択した状態で第1異常学習情報反映ボタン610を操作すると、カーソル619の表示位置に対応するX座標及びY座標の測定値を異常学習情報表示欄608の選択した異常学習の「X座標」及び「Y座標」の項目に表示する。また、学習画面表示部321は、使用者が入力部301を介して異常学習情報表示欄608の異常学習の種類を選択した状態で第2異常学習情報反映ボタン612を操作すると、領域表示枠622のサイズを異常学習情報表示欄608の選択した異常学習の「サイズ」の項目に表示する。
なお、学習画面表示部321は、使用者が入力部301を介して異常学習情報表示欄608の異常学習の種類を選択した状態で異常種別削除ボタン618を操作すると、選択された異常学習の項目を非表示する。
また、学習画面表示部321は、位置学習情報表示欄607に表示がある状態で使用者が入力部301を介して保存ボタン613を操作すると、設定情報記憶部304に記憶されている選択された製品名の画像表示情報の「位置学習情報記憶領域」の項目を参照し、位置学習情報表示欄607に表示された情報を選択された製品名の位置学習情報として位置学習情報記憶部306に記憶させる。また、学習画面表示部321は、異常学習情報表示欄608に表示がある状態で使用者が入力部301を介して保存ボタン613を操作すると、設定情報記憶部304に記憶されている選択された製品名の画像表示情報の「異常学習情報記憶領域」の項目を参照し、異常学習情報表示欄608に表示された情報を選択された製品名の異常学習情報として異常学習情報記憶部307に記憶させる。
また、学習画面表示部321は、位置学習情報表示欄607に表示がある状態で使用者が入力部301を介して学習ボタン614を操作すると、前述のように、位置検出モデル生成部310に位置検出モデルを生成させる。また、学習画面表示部321は、異常学習情報表示欄608に表示がある状態で使用者が入力部301を介して学習ボタン614を操作すると、前述のように、異常検出モデル生成部315に異常検出モデルを生成させる。なお、学習画面表示部321は、位置検出モデル及び異常検出モデルの生成中に使用者が入力部301を介して学習ボタン614を操作すると、位置検出モデル生成部310及び異常検出モデル生成部315に生成を中止させる。
また、学習画面表示部321は、使用者が入力部301を介して学習用画像選択欄603においてファイル名を選択した状態で学習用画像削除ボタン606を操作すると、学習用画像選択欄603の選択されたファイル名を非表示にする。また、このとき、学習画面表示部321は、学習用画像表示欄601、拡大表示欄611、位置学習情報表示欄607、異常学習情報表示欄608に選択されたファイル名の学習対象画像に関連する情報があれば非表示にする。また、このとき、学習画面表示部321は、画像情報記憶部305に選択されたファイル名の学習対象画像の画像情報を削除させる。また、学習画面表示部321は、使用者が入力部301を介して戻るボタン615を操作すると、学習画面6を非表示にして初期画面表示部320に初期画面5を表示させる。
図10は、実施の形態1に係る検査画面の表示例を示す図である。検査画面表示部322は、初期画面5において検査画面表示ボタン502が操作されたときに図10に示す検査画面7を表示する。検査画面7は、検査対象画像を表示する検査用画像表示欄701、基板4の製品名を選択するための製品選択欄702、金属部品401の位置の検査に関する情報を表示するための位置検査情報表示欄703を備える。また、検査画面7は、基板4の表面の異常の検査に関する情報を表示するための異常検査情報表示欄704、検査用画像表示欄701における位置検査情報表示欄703の測定値及び基準値に基づくマークの表示の有無を切り替えるためのマーク表示切替欄705を備える。また、検査画面7は、金属部品401の位置の検査及び基板4の表面の異常の検査の総合判定結果を表示するための総合判定欄706、検査を実行するための検査実行ボタン707を備える。また、検査画面7は、位置検査情報表示欄703及び異常検査情報表示欄704に表示された情報を保存するための保存ボタン708、初期画面の表示に戻るための戻るボタン709を備える。
図10に示すように、検査画面7において、検査用画像表示欄701は、検査画面7の左側上部に設けられ、製品選択欄702は、検査画面7の右側上部に設けられている。また、位置検査情報表示欄703は、検査用画像表示欄701の下方に設けられ、異常検査情報表示欄704は、位置検査情報表示欄703の右方に設けられている。また、マーク表示切替欄705は、製品選択欄702の下方に設けられ、総合判定欄706は、マーク表示切替欄705の下方に設けられ、検査実行ボタン707は、総合判定欄706の下方に設けられている。また、保存ボタン708は、検査実行ボタン707の左側下方に設けられ、戻るボタン709は、検査実行ボタン707の右側下方に設けられている。
検査画面表示部322が検査画面7を表示すると、照明光制御部303は、照明光出力部210、211を制御して照明光を出力するとともに、撮像制御部302は、撮像部209を制御して撮像した検査対象画像を検査用画像表示欄701に表示する。検査画面表示部322は、設定情報記憶部304に記憶されている「製品名」の項目の情報、すなわち、製品名を全て取得し、製品選択欄702において選択可能とする。また、検査画面表示部322は、使用者が入力部301を介して製品選択欄702において製品名を選択した状態で検査実行ボタン707を操作すると、前述のように、位置検出部312に金属部品401の位置を検出させる。また、検査画面表示部322は、位置規格判定部313に規格に適合しているか否かを判定させ、位置出力部314にX座標及びY座標の測定値、基準値、規格値、判定値、判定結果情報を出力させる。また、検査画面表示部322は、出力されたX座標及びY座標の測定値、基準値、規格値、判定値、判定結果情報を位置検査情報表示欄703に表示する。
なお、検査画面表示部322は、マーク表示切替欄705において「測定値」の項目と「基準値」の項目とが選択可能となっている。検査画面表示部322は、位置検査情報表示欄703にX座標及びY座標の測定値の表示がある状態で使用者が入力部301を介してマーク表示切替欄705において「測定値」の項目を選択すると、検査用画像表示欄701におけるX座標及びY座標の測定値に対応する位置710に測定値用のマーク711を表示する。また、検査画面表示部322は、位置検査情報表示欄703にX座標及びY座標の基準値の表示がある状態で使用者が入力部301を介してマーク表示切替欄705において「基準値」の項目を選択すると、検査用画像表示欄701におけるX座標及びY座標の基準値に対応する位置に図示しない基準値用のマークを表示する。なお、検査画面表示部322は、検査用画像表示欄701に基準値用のマークが表示された状態で使用者が入力部301を介して基準値用のマークの位置を移動させると位置検査情報表示欄703にX座標及びY座標の基準値の表示を変更してもよい。
また、検査画面表示部322は、使用者が入力部301を介して製品選択欄702において製品名を選択した状態で検査実行ボタン707を操作すると、前述のように、異常検出部317に基板4の表面の異常を検出させる。また、検査画面表示部322は、異常規格判定部318に規格に適合しているか否かを判定させ、異常出力部319に異常の種別、異常のX座標及びY座標の値、異常のサイズの測定値、規格値、判定結果情報を出力させる。また、検査画面表示部322は、出力された異常の種別、異常のX座標及びY座標の値、異常のサイズの測定値、規格値、判定結果情報を異常検査情報表示欄704に表示する。
また、検査画面表示部322は、使用者が入力部301を介して製品選択欄702において製品名を選択した状態で検査実行ボタン707を操作すると、総合判定部323に総合判定を行わせ、総合判定結果出力部324に総合判定結果情報を出力させる。また、検査画面表示部322は、出力された総合判定結果情報を総合判定欄706に表示する。
また、検査画面表示部322は、位置検査情報表示欄703に表示がある状態で使用者が入力部301を介して保存ボタン708を操作すると、位置検査情報表示欄703に表示されたX座標及びY座標の測定値、基準値、規格値、判定値及び判定結果情報を位置検査情報として総合判定結果記憶部325に記憶させる。なお、このとき、位置検査情報表示欄703にX座標及びY座標の基準値の表示が変更されていれば、設定情報記憶部304に製品設定一覧情報の「位置検査基準」の項目の情報を変更した値に更新してもよい。また、検査画面表示部322は、異常検査情報表示欄704に表示がある状態で使用者が入力部301を介して保存ボタン708を操作すると、異常検査情報表示欄704に表示された異常の種別、異常のX座標及びY座標の値、異常のサイズの測定値、規格値、判定結果情報を異常検査情報として総合判定結果記憶部325に記憶させる。また、検査画面表示部322は、異常検査情報表示欄704に表示がある状態で使用者が入力部301を介して保存ボタン708を操作すると、総合判定欄706に表示された総合判定情報を総合判定結果記憶部325に記憶させる。また、検査画面表示部322は、使用者が入力部301を介して戻るボタン709を操作すると、検査画面7を非表示にして初期画面表示部320に初期画面5を表示させる。
総合判定部323は、前述のように、金属部品401の位置の検査結果と基板4の表面の異常の検査結果とを総合判定する。総合判定部323は、位置出力部314が出力した判定結果情報が判定OK情報であり且つ異常出力部319が出力した判定結果情報が全て判定OK情報であれば総合判定結果として総合判定OKと判定する。一方、総合判定部323は、位置出力部314が出力した判定結果情報が判定NG情報、又は、異常出力部319が出力した判定結果情報のうち一つでも判定NG情報があれば総合判定結果として総合判定NGと判定する。
総合判定結果出力部324は、総合判定部323が総合判定OKと判定すれば総合判定結果情報として総合判定OK情報を出力する一方、総合判定部323が総合判定NGと判定すれば総合判定結果情報として総合判定NG情報を出力する。なお、総合判定OK情報及び総合判定NG情報は、例えば、「判定OK」及び「判定NG」の情報である。
総合判定結果記憶部325は、前述のように、検査画面7の位置検査情報表示欄703に表示された位置検査情報、検査画面7の異常検査情報表示欄704に表示された異常検査情報、検査画面7の総合判定欄706に表示された総合判定情報を記憶する。
図11は、実施の形態1に係る位置検出モデル生成処理を示すフローチャートである。図11に示すフローチャートを用いて検査装置1が位置検出モデルを生成する動作について説明する。位置検出モデル生成部310は、学習画面6において使用者が入力部301を介して学習ボタン614を操作すると、位置検出モデル生成処理の実行を開始する。先ず、図11に示すように、位置検出モデル生成部310は、学習画面6において選択された製品名に対応する位置検査設定情報からモデル形式を取得して機械学習前の位置検出モデルを生成する(ステップS101)。例えば、学習画面6において「基板A」が選択されていれば、位置検出モデル生成部310は、位置検査設定情報から「MA1」を取得してモデル形式が「MA1」の位置検出モデルを生成する。
また、位置検出モデル生成部310は、学習画面6において選択された製品名に対応する画像情報から学習対象画像を取得する(ステップS102)。また、位置検出モデル生成部310は、学習画面6において選択された製品名に対応する位置学習情報のX座標及びY座標の測定値と位置検査設定情報のオフセットのX座標及びY座標の値とを取得して基準位置、すなわち、X座標及びY座標の基準値を基準位置算出部308に算出させる(ステップS103)。例えば、学習画面6において「基板A」が選択されていれば、基準位置算出部308は、位置学習情報から「261」及び「115」を取得し、位置検査設定情報から「(XOA1,YOA1)」を取得して(261+XOA1,115+YOA1)を算出する。
また、位置検出モデル生成部310は、学習画面6において選択された製品名に対応する位置検査設定情報のパターンサイズを取得して学習対象画像からX座標及びY座標の基準値を中心としたパターンサイズの画像を抽出する(ステップS104)。例えば、学習画面6において「基板A」が選択されていれば、位置検出モデル生成部310は、位置検査設定情報の「(WA1,LA1)」を取得し、学習対象画像から(261+XOA1,115+YOA1)の座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を抽出する。また、位置検出モデル生成部310は、抽出された画像をOK分類の画像として機械学習させて位置検出モデルを更新する(ステップS105)。
また、位置検出モデル生成部310は、異常学習情報記憶部307に記憶されている異常学習情報のX座標及びY座標の値を取得して抽出された画像に基板4の表面の異常が検出されているか否かを判定する(ステップS106)。例えば、学習画面6において「基板A」が選択されていれば、位置検出モデル生成部310は、異常学習情報の「110」及び「170」を取得し、抽出したパターンサイズの画像に(110,170)の座標の位置が含まれているか否かを判定する。
位置検出モデル生成部310は、異常が検出されている場合(ステップS106;YES)、学習画面6において選択された製品名に対応する位置検査設定情報からマスクサイズを取得して抽出された画像にマスクサイズのマスクをしたマスク画像をマスク画像生成部309に生成させる(ステップS107)。例えば、学習画面6において「基板A」が選択されていれば、マスク画像生成部309は、抽出したパターンサイズの画像に(110,170)の座標位置が含まれているときに、位置検査設定情報から「(MWA1,MLA1)」を取得する。また、マスク画像生成部309は、(110,170)の座標位置を中心とする横幅がMWA1、縦幅がMLA1の範囲を白色で塗りつぶした画像に置き換える。
また、位置検出モデル生成部310は、生成したマスク画像をOK分類の画像として機械学習させて位置検出モデルを更新する(ステップS108)。また、位置検出モデル生成部310は、マスク画像に基づく位置検出モデル更新後、又は、異常が検出されていない場合(ステップS106;NO)、学習対象画像からX座標及びY座標の基準値以外の任意の値を中心としたパターンサイズの画像を抽出する(ステップS109)。例えば、学習画面6において「基板A」が選択されていれば、位置検出モデル生成部310は、位置検査設定情報の「(WA1,LA1)」を取得し、学習対象画像から(261+XOA1,115+YOA1)以外の任意の座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を抽出する。また、位置検出モデル生成部310は、抽出した画像をNG分類の画像として機械学習させて位置検出モデルを更新する(ステップS110)。
また、位置検出モデル生成部310は、全ての学習対象画像を用いて機械学習を行ったか否かを判定する(ステップS111)。位置検出モデル生成部310は、全ての学習対象画像を用いて機械学習を行っていない場合(ステップS111;NO)、全ての学習対象画像を用いて機械学習を行うまでステップS102~S110の処理を繰り返す。一方、位置検出モデル生成部310は、全ての学習対象画像を用いて機械学習を行った場合(ステップS111;YES)、処理を終了する。
図12は、実施の形態1に係る異常検出モデル生成処理を示すフローチャートである。図12に示すフローチャートを用いて検査装置1が異常検出モデルを生成する動作について説明する。異常検出モデル生成部315は、学習画面6において使用者が入力部301を介して学習ボタン614を操作すると、異常検出モデル生成処理の実行を開始する。先ず、図12に示すように、異常検出モデル生成部315は、学習画面6において選択された製品名に対応する異常検査設定情報からモデル形式を取得して機械学習前の異常検出モデルを生成する(ステップS201)。例えば、学習画面6において「基板A」が選択されていれば、異常検出モデル生成部315は、異常検査設定情報から「MA2」を取得してモデル形式が「MA2」の異常検出モデルを生成する。
また、異常検出モデル生成部315は、学習画面6において選択された製品名に対応する画像情報から学習対象画像を取得する(ステップS202)。また、異常検出モデル生成部315は、学習画面6において選択された製品名に対応する異常学習情報のX座標及びY座標の値と異常検査設定情報のパターンサイズを取得する(ステップS203)。例えば、学習画面6において「基板A」が選択されていれば、異常検出モデル生成部315は、異常学習情報の「110」及び「170」を取得し、異常検査設定情報の「(WA2,LA2)」を取得する。また、異常検出モデル生成部315は、学習対象画像からX座標及びY座標の値を中心としたパターンサイズの画像を抽出する(ステップS204)。例えば、学習画面6において「基板A」が選択されていれば、異常検出モデル生成部315は、学習対象画像から(110,170)の座標位置を中心とする横幅がWA2、縦幅がLA2の範囲の画像を抽出する。
また、異常検出モデル生成部315は、異常学習情報から取得したX座標及びY座標が含まれる項目の種別を取得して抽出された画像を取得した種別の分類の画像として機械学習させて異常検出モデルを更新する(ステップS205)。例えば、学習画面6において「基板A」が選択されていれば、異常検出モデル生成部315は、異常学習情報の「付着物」を取得し、抽出した画像を付着物の分類の異常の画像として機械学習を行うことで異常検出モデルを更新する。
また、異常検出モデル生成部315は、異常学習情報の全ての項目のX座標及びY座標の値を取得したか否かを判定する(ステップS206)。異常検出モデル生成部315は、全ての項目のX座標及びY座標の値を取得していない場合(ステップS206;NO)、全ての項目のX座標及びY座標の値を取得するまでステップS203~S205の処理を繰り返す。一方、異常検出モデル生成部315は、全ての項目のX座標及びY座標の値を取得した場合(ステップS206;YES)、全ての学習対象画像を用いて機械学習を行ったか否かを判定する(ステップS207)。異常検出モデル生成部315は、全ての学習対象画像を用いて機械学習を行っていない場合(ステップS207;NO)、全ての学習対象画像を用いて機械学習を行うまでステップS202~S206の処理を繰り返す。一方、異常検出モデル生成部315は、全ての学習対象画像を用いて機械学習を行った場合(ステップS207;YES)、処理を終了する。
図13は、実施の形態1に係る異常検査処理を示すフローチャートである。図13に示すフローチャートを用いて検査装置1が基板4の表面の異常を検査する動作について説明する。異常検出部317は、検査画面7において使用者が入力部301を介して検査実行ボタン707を操作すると、異常検査処理の実行を開始する。先ず、図13に示すように、異常検出部317は、撮像部209が撮像した基板4を含む画像である検査対象画像を取得する(ステップS301)。また、異常検出部317は、検査画面7において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに異常検査設定情報の異常検出範囲とパターンサイズとを取得する(ステップS302)。例えば、検査画面7において「基板A」が選択されていれば、異常検出部317は、装置設定情報の「SZA1」を取得し、異常検査設定情報の「XSA2~XEA2,YSA2~YEA2」及び「(WA2,LA2)」を取得する。
また、異常検出部317は、検査対象画像から異常検出範囲内でパターンサイズの画像を抽出する(ステップS303)。例えば、検査画面7において「基板A」が選択されていれば、異常検出部317は、始点(XSA2,YSA2)と終点(XEA2,YEA2)を対角頂点とする矩形状の異常検出範囲内の選択された座標位置を中心とする横幅がWA2、縦幅がLA2の範囲の画像を検査対象画像から抽出する。また、異常検出部317は、検査画面7において選択された製品名に対応する異常検出モデルを抽出された画像に適用して異常の種別毎のスコアを算出する(ステップS304)。例えば、検査画面7において「基板A」が選択されていれば、異常検出部317は、「錆」のスコアSC21、「歪み」のスコアSC22、「打痕」のスコアSC23、「付着物」のスコアSC24を算出する。
また、異常検出部317は、検査画面7において選択された製品名に対応する異常検査設定情報の種別のスコア閾値を取得して算出されたスコアがスコア閾値以上となる種別があるか否かを判定する(ステップS305)。例えば、検査画面7において「基板A」が選択されていれば、異常検出部317は、SC21<SC22<SC23<SC24、SC21<SA21、SC22<SA22、SC23<SA23、SC24>SA24であれば付着物のスコアSC24がスコア閾値SA24以上であると判定する。異常検出部317は、算出されたスコアがスコア閾値以上となる種別がある場合(ステップS305;YES)、スコア閾値以上となったスコアのうちの最大スコアとなった種別の異常と特定する(ステップS306)。例えば、検査画面7において「基板A」が選択されていれば、異常検出部317は、最大スコアSC24の付着物の異常と特定する。
また、異常検出部317は、異常と特定したX座標及びY座標とサイズを算出する(ステップS307)。例えば、検査画面7において「基板A」が選択されていれば、異常検出部317は、(X2,Y2)及びSZ2を算出する。また、異常規格判定部318は、検査画面7において選択された製品名に対応する製品設定一覧情報から異常検査規格の値を取得する(ステップS308)。例えば、検査画面7において「基板A」が選択されていれば、異常規格判定部318は、製品設定一覧情報の「SZA3」を取得する。
また、異常規格判定部318は、算出されたサイズの値が異常検査規格の値以下であるか否かを判定する(ステップS309)。異常規格判定部318は、異常検査規格の値以下である場合(ステップS309;YES)、判定結果情報として判定OK情報を異常出力部319に出力させる(ステップS310)。一方、異常規格判定部318は、異常検査規格の値を超える場合(ステップS309;NO)、判定結果情報として判定NG情報を異常出力部319に出力させる(ステップS311)。例えば、検査画面7において「基板A」が選択されていれば、異常規格判定部318は、SZ2≦SZA3であれば規格に適合していると判定して異常出力部319が判定OK情報を出力する一方、SZ2>SZA3であれば規格に適合してないと判定して異常出力部319が判定NG情報を出力する。
また、異常検出部317は、判定結果情報出力後、又は、算出されたスコアがスコア閾値以上となる種別がない場合(ステップS305;NO)、検査対象画像から異常検出範囲内でパターンサイズの画像を全て抽出したか否かを判定する(ステップS312)。例えば、検査画面7において「基板A」が選択されていれば、異常検出部317は、始点(XSA2,YSA2)と終点(XEA2,YEA2)を対角頂点とする矩形状の異常検出範囲内の選択可能な全ての座標からパターンサイズの画像を抽出したか否かを判定する。異常検出部317は、パターンサイズの画像を全て抽出していない場合(ステップS312;NO)、パターンサイズの画像を全て抽出するまでステップS303~S311の処理を繰り返す。一方、異常検出部317は、パターンサイズの画像を全て抽出した場合(ステップS312;YES)、処理を終了する。
図14及び図15は、実施の形態1に係る位置検査処理を示すフローチャートである。図14及び図15に示すフローチャートを用いて検査装置1が金属部品401の位置を検査する動作について説明する。位置検出部312は、検査画面7において使用者が入力部301を介して検査実行ボタン707を操作すると、位置検査処理の実行を開始する。先ず、図14に示すように、位置検出部312は、撮像部209が撮像した基板4を含む画像である検査対象画像を取得する(ステップS401)。
また、位置検出部312は、検査画面7において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに位置検査設定情報の位置検出範囲とパターンサイズとを取得する(ステップS402)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、装置設定情報の「SZA1」を取得し、位置検査設定情報の「XSA1~XEA1,YSA1~YEA1」及び「(WA1,LA1)」を取得する。また、位置検出部312は、検査対象画像から位置検出範囲内でパターンサイズの画像を抽出する(ステップS403)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、始点(XSA1,YSA1)と終点(XEA1,YEA1)を対角頂点とする矩形状の位置検出範囲内の選択された座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を検査対象画像から抽出する。
また、位置検出部312は、異常検出部317が算出した異常と特定したX座標及びY座標を取得して抽出された画像に基板4の表面の異常が検出されているか否かを判定する(ステップS404)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、異常検出部317が算出した(X2,Y2)の座標の位置が抽出された画像に含まれているか否かを判定する。位置検出部312は、異常が検出されている場合(ステップS404;YES)、位置検査設定情報からマスクサイズを取得して抽出された画像にマスクサイズのマスクをしたマスク画像をマスク画像生成部309に生成させる(ステップS405)。例えば、検査画面7において「基板A」が選択されていれば、マスク画像生成部309は、抽出したパターンサイズの画像に(X2,Y2)の座標の位置が含まれているときに、位置検査設定情報から「(MWA1,MLA1)」を取得する。また、マスク画像生成部309は、(X2,Y2)の座標位置を中心とする横幅がMWA1、縦幅がMLA1の範囲を白色で塗りつぶした画像に置き換える。
また、位置検出部312は、マスク画像生成後、又は、異常が検出されていない場合(ステップS404;NO)、検査画面7において選択された製品名に対応する位置検出モデルを画像に適用してスコアを算出する(ステップS406)。また、位置検出部312は、検査対象画像から位置検出範囲内でパターンサイズの画像を全て抽出したか否かを判定する(ステップS407)。位置検出部312は、パターンサイズの画像を全て抽出していない場合(ステップS407;NO)、パターンサイズの画像を全て抽出するまでステップS403~S406の処理を繰り返す。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、N個の画像のスコアSC11~SC1Nを算出するまで、検査対象画像からパターンサイズの画像を抽出し続ける。
一方、図15に示すように、位置検出部312は、パターンサイズの画像を全て抽出した場合(ステップS407;YES)、位置検査設定情報のスコア閾値を取得して算出されたスコアがスコア閾値以上となる画像があるか否かを判定する(ステップS408)。位置検出部312は、算出されたスコアがスコア閾値以上となる画像がない場合(ステップS408;NO)、検出失敗情報を出力し(ステップS409)、処理を終了する。一方、位置検出部312は、算出されたスコアがスコア閾値以上となる画像がある場合(ステップS408;YES)、スコア閾値以上となったスコアのうちの最大スコアとなった画像からX座標及びY座標の測定値を算出する(ステップS410)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、SA1以上となるスコアのうちの最大スコアSC1Mとなった画像から取得したときのX座標及びY座標の測定値として(X1,Y1)=(X0+XOA1,Y0+YOA1)を算出する。
また、位置規格判定部313は、検査画面7において選択された製品名に対応する製品設定一覧情報から位置検査基準のX座標及びY座標の基準値と位置検査規格のX座標及びY座標の規格値、すなわち、判定値の閾値を取得する(ステップS411)。例えば、検査画面7において「基板A」が選択されていれば、位置規格判定部313は、製品設定一覧情報から「(XA1,YA1)」及び「(XA2,YA2)」を算出する。また、位置規格判定部313は、算出されたX座標及びY座標の測定値と位置検査基準のX座標及びY座標の基準値との差分値を算出する(ステップS412)。例えば、検査画面7において「基板A」が選択されていれば、位置規格判定部313は、(X1-XA1,Y1-YA1)を算出する。
また、位置規格判定部313は、X座標及びY座標の差分値の絶対値が閾値以下であるか否かを判定する(ステップS413)。位置規格判定部313は、X座標及びY座標の差分値の絶対値が閾値以下である場合(ステップS413;YES)、判定結果情報として判定OK情報を位置出力部314に出力させ(ステップS414)、処理を終了する。一方、位置規格判定部313は、X座標及びY座標の差分値の絶対値のうちの何れかの絶対値が閾値を超える場合(ステップS413;NO)、判定結果情報として判定NG情報を位置出力部314に出力させ(ステップS415)、処理を終了する。例えば、位置規格判定部313は、|X1-XA1|≦XA2且つ|Y1-YA1|≦YA2であれば規格に適合していると判定して位置出力部314が判定OK情報を出力する。一方、位置規格判定部313は、|X1-XA1|>XA2又は|Y1-YA1|>YA2であれば規格に適合していないと判定して位置出力部314が判定NG情報を出力する。
以上説明したように、実施の形態1に係る検査装置1によれば、位置検出部312は、撮像部209が撮像した検査対象画像を位置検出モデルに適用して検査対象画像の位置検出範囲内から抽出されたパターンサイズの画像について画像毎にスコアを算出する。そして、位置検出部312は、スコアがスコア閾値以上となった最大スコアの画像を特定することで、検査対象画像における金属部品401の位置を検出し、位置出力部314は、検出した金属部品401の位置を出力する。
この結果、検査装置1は、表面に異常がある金属部品401を含む画像の画像情報を用いた機械学習によって位置検出モデルを生成すれば金属部品401の表面の異常を許容して金属部品401の位置を検出でき、金属部品401の位置が位置検査規格に適合しているか否かを検査できる。
なお、実施の形態1のように、検査装置1は、使用者が設定した位置検査設定情報及び位置学習情報を用いて機械学習を行うことが好ましいが、位置検査設定情報及び位置学習情報を用いずに画像情報のみを用いて機械学習を行ってもよい。すなわち、設定情報記憶部304、位置学習情報記憶部306については省略してもよい。
また、実施の形態1に係る検査装置1によれば、位置検出モデル生成部310は、予め取得した学習対象画像の画像情報、使用者が設定した位置検査設定情報及び位置学習情報を用いた機械学習によって学習対象画像と金属部品401の位置との関係性を示す位置検出モデルを生成する。
この結果、検査装置1は、学習対象画像の画像情報、位置検査設定情報及び位置学習情報を用いて学習対象画像と金属部品401の位置との関係性を学習できる。
なお、実施の形態1では、検査装置1は、位置検出モデル生成部310及び位置検出モデル記憶部311を備えているが、位置検出モデル生成部310及び位置検出モデル記憶部311を備えていなくてもよい。例えば、外部の学習装置が位置検出モデル生成部310及び位置検出モデル記憶部311を備え、位置検出モデル生成部310が上述した情報を用いた機械学習によって位置検出モデルを生成し、生成された位置検出モデルを位置検出モデル記憶部311に記憶してもよい。この場合、検査装置1は、学習装置に記憶されている位置検出モデルを取得する必要がある。
また、実施の形態1に係る検査装置1によれば、位置規格判定部313は、位置検出部312が検出した金属部品401の位置が予め定められた位置検査規格に適合するか否かを判定する。具体的には、位置規格判定部313は、位置検出時に検出した基板4のX座標及びY座標の測定値と基板4の設計上のX座標及びY座標の基準値との差分値として許容される値であるか否かを判定することで、金属部品401の位置が位置検査規格に適合するか否かを判定する。
この結果、検査装置1は、検出した金属部品401の位置が位置検査規格に適合するか否かを判定できる。
また、実施の形態1に係る検査装置1によれば、異常検出部317は、撮像部209が撮像した検査対象画像を異常検出モデルに適用して検査対象画像の異常検出範囲内から抽出されたパターンサイズの画像について異常の種別毎のスコアを算出する。そして、異常検出部317は、スコアがスコア閾値以上となった最大スコアの種別を特定することで、検査対象画像における基板4の表面の異常を検出し、異常出力部319は、検出した基板4の表面の異常の種別、位置及びサイズを出力する。
この結果、検査装置1は、基板4の表面の異常の種別、位置及びサイズを検出でき、基板4の表面の異常があっても異常検査規格に適合しているか否かを検査できる。
なお、実施の形態1のように、検査装置1は、異常検査において異常の種別を検出することが好ましいが、異常の種別については検出しなくてもよい。
なお、実施の形態1のように、検査装置1は、使用者が設定した異常検査設定情報及び異常学習情報を用いて機械学習を行うことが好ましいが、異常検査設定情報及び異常学習情報を用いずに画像情報のみを用いて機械学習を行ってもよい。すなわち、設定情報記憶部304、異常学習情報記憶部307については省略してもよい。
なお、実施の形態1のように、検査装置1は、異常検査を行うために異常検出モデル生成部315が異常検出モデルを生成し、異常検出部317が基板4の表面の異常を検出し、異常出力部319が検出した基板4の表面の異常の種別、位置及びサイズを出力することが好ましい。しかしながら、異常検出モデル生成部315、異常検出部317、異常出力部319については省略してもよい。
また、実施の形態1に係る検査装置1によれば、異常検出モデル生成部315は、予め取得した学習対象画像の画像情報、使用者が設定した異常検査設定情報及び異常学習情報を用いた機械学習によって学習対象画像と基板4の表面の異常との関係性を示す異常検出モデルを生成する。
この結果、検査装置1は、学習対象画像の画像情報、異常検査設定情報及び異常学習情報を用いて学習対象画像と基板4の表面の異常との関係性を学習できる。
なお、実施の形態1では、検査装置1は、異常検出モデル生成部315及び異常検出モデル記憶部316を備えているが、異常検出モデル生成部315及び異常検出モデル記憶部316を備えていなくてもよい。例えば、検査装置1は、外部の学習装置が異常検出モデル生成部315及び異常検出モデル記憶部316を備え、異常検出モデル生成部315が上述した情報を用いた機械学習によって異常検出モデルを生成し、生成された異常検出モデルを異常検出モデル記憶部316に記憶してもよい。この場合、検査装置1は、学習装置に記憶されている異常検出モデルを取得する必要がある。
また、実施の形態1に係る検査装置1によれば、異常規格判定部318は、異常検出部317が検出した基板4の表面の異常があっても予め定められた異常検査規格に適合するか否かを判定する。具体的には、異常規格判定部318は、異常検出時に検出した異常のサイズが許容される値であるか否かを判定することで、基板4の表面の異常があっても異常検査規格に適合するか否かを判定する。
この結果、検査装置1は、検出した基板4の表面の異常があっても異常検査規格に適合するか否かを判定できる。
また、実施の形態1に係る検査装置1によれば、マスク画像生成部309は、学習対象画像から抽出された画像において基板4の表面の異常が検出されている場合、異常が検出されている部分を覆うマスクをしたマスク画像を生成する。そして、位置検出モデル生成部310は、抽出された画像だけでなくマスク画像の画像情報を更に用いた機械学習によって位置検出モデルを更新する。
この結果、検査装置1は、マスク画像の画像情報を更に用いた機械学習によって位置検出モデルを更新しない検査装置よりも金属部品401の表面の異常を許容して金属部品401の位置を検出し易くなる。
なお、実施の形態1のように、検査装置1は、位置検査設定情報において設定されているマスクサイズに基づいて検出されている異常の座標位置を中心としてマスクをすることが好ましいが、これに限定されない。検査装置1は、検出されている異常の位置とは異なる任意の位置にマスクをしてもよく、予め定められた間隔で離れた複数の位置にマスクをしてもよい。
なお、実施の形態1のように、検査装置1は、マスク画像の画像情報を用いた機械学習を行うためにマスク画像生成部309がマスク画像を生成することが好ましいが、マスク画像生成部309については省略してもよい。すなわち、検査装置1では、学習対象画像から抽出された画像において基板4の表面の異常が検出されている場合であってもマスク画像を生成しなくてもよい。この場合、位置検出モデル生成部310は、マスク画像が含まれておらず抽出された画像のみが含まれる画像情報を用いた機械学習によって位置検出モデルを更新してもよい。
また、実施の形態1に係る検査装置1によれば、マスク画像生成部309は、検査対象画像から抽出された画像において基板4の表面の異常が検出されている場合にも、異常が検出されている部分を覆うマスクをしたマスク画像を生成する。そして、位置検出部312は、抽出された画像だけでなくマスク画像についても位置検出モデルに適用してスコアを算出する。
この結果、検査装置1は、マスク画像についても位置検出モデルに適用してスコアを算出しない検査装置よりも金属部品401の表面の異常を許容して金属部品401の位置を検出し易くなる。
なお、実施の形態1のように、検査装置1は、マスク画像を位置検出モデルに適用してスコアを算出するためにマスク画像生成部309がマスク画像を生成することが好ましいが、マスク画像生成部309については省略してもよい。すなわち、検査装置1では、検査対象画像から抽出された画像において基板4の表面の異常が検出されている場合であってもマスク画像を生成しなくてもよい。この場合、位置検出部312は、マスク画像については位置検出モデルに適用してスコアを算出せず、抽出された画像のみ位置検出モデルに適用してスコアを算出してもよい。
また、実施の形態1に係る検査装置1によれば、撮像部209は、照明光出力部210、211が照明光を出力した状態で基板4を撮像する。また、位置検出モデル生成部310は、照明光出力部210、211が照明光を出力した状態で撮像された学習対象画像の画像情報を用いた機械学習によって位置検出モデルを生成している。さらに、位置学習情報のX座標及びY座標の測定値は、光沢部分402の位置に基づいて設定されている。
この結果、検査装置1は、照明光出力部210、211から出力された照明光の反射光による光沢部分402の位置に基づいて金属部品401の位置を検出できる。すなわち、検査装置1は、金属部品401に対して照明光を出力したときの反射光を含む画像について機械学習を行うことで、照明光の反射光から得られる金属部品401の形状に関する特徴量である光沢部分402の位置、大きさ及び範囲に基づいて金属部品401の位置を検出できる。
なお、実施の形態1のように、検査装置1は、光沢部分402の位置に基づいて金属部品401の位置を検出するために照明光が出力された状態で撮像部209が基板4を撮像することが好ましいが、これに限定されない。検査装置1では、照明光が出力された状態で撮像部209が基板4を撮像しなくてもよく、照明光出力部210、211及び照明光制御部303については省略してもよい。
また、実施の形態1に係る検査装置1によれば、学習画面表示部321は、学習画面6を表示している。また、使用者は、入力部301を介して学習画面6を操作して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したり、機械学習を行って位置検出モデル及び異常検出モデルを生成したりすることが可能となっている。
この結果、検査装置1は、金属部品401の位置の検査及び基板4の表面の異常の検査のための機械学習を可視化して行うことができ、学習画面を表示しない検査装置よりも使用者が機械学習に必要な情報を容易に追加することができる。
なお、実施の形態1では、検査装置1は、学習画面6を介して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したりしているが、これに限定されない。検査装置1は、学習画面6を介して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したりしなくてもよく、例えば、使用者が入力部301を介して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したりしてもよい。
なお、実施の形態1のように、検査装置1は、機械学習を可視化して行うために学習画面6を表示することが好ましいが、学習画面6を表示しなくてもよく、学習画面表示部321については省略してもよい。この場合、使用者は、入力部301を介して機械学習を実行可能とする必要がある。
また、実施の形態1に係る検査装置1によれば、検査画面表示部322は、検査画面7を表示している。また、使用者は、入力部301を介して検査画面7を操作して検査対象画像を取得して金属部品401の位置の検査及び基板4の表面の異常の検査を行ったり、総合判定を行ったりすることが可能となっている。
この結果、検査装置1は、これらの検査及び総合判定を可視化して行うことができる。
なお、実施の形態1では、検査装置1は、検査画面7を介して総合判定を行っているが、検査画面7を介して総合判定を行わなくてもよい。すなわち、検査装置1は、総合判定については行わなくてもよく、総合判定部323、総合判定結果出力部324、総合判定結果記憶部325については省略してもよい。
なお、実施の形態1のように、検査装置1は、検査及び総合判定を可視化して行うために検査画面7を表示することが好ましいが、検査画面7を表示しなくてもよく、検査画面表示部322については省略してもよい。この場合、検査装置1は、使用者が入力部301を介して検査を実行する必要がある。
なお、実施の形態1では、検査装置1は、初期画面表示部320が初期画面5を表示しており、使用者は、入力部301を介して初期画面5を操作して学習画面6を表示したり検査画面7を表示したりしているが、初期画面5を表示しなくてもよい。すなわち、初期画面表示部320については省略してもよい。
なお、実施の形態1では、検査装置1は、位置検出モデル生成部310が位置検出モデルを生成するときに基準位置算出部308が位置学習のためのX座標及びY座標の基準値を算出してからX座標及びY座標の基準値を中心としたパターンサイズの画像を抽出している。しかしながら、検査装置1は、X座標及びY座標の基準値を算出せずにX座標及びY座標の測定値を中心としたパターンサイズの画像を抽出してもよい。すなわち、基準位置算出部308及び位置検査設定情報の「オフセット」の項目については省略してもよい。
実施の形態2
実施の形態1に係る検査装置1では、位置検出部312は、位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出している。しかしながら、本開示は、これに限定されず、位置検出部312は、位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出しなくてもよい。実施の形態2に係る検査装置1では、位置検出部312は、位置検出範囲内から複数種類のパターンサイズの画像を粗く抽出する。以下、図16~図18を参照して、実施の形態2に係る検査装置1の構成を説明する。なお、実施の形態2では、実施の形態1と異なる構成について説明し、実施の形態1と同一の構成については冗長であるため説明を省略する。
本開示の実施の形態2に係る検査装置、検査方法及びプログラムは、実施の形態1に係る検査装置、検査方法及びプログラムよりも位置検出にかかる処理時間の短縮を図るものである。
[コンピュータ3の機能構成の詳細について]
図16は、実施の形態2に係る位置検査設定情報の一例を示す図である。実施の形態2では、位置検査設定情報は、図16に示すように、製品名毎に分類されている項目の情報としてパターンサイズの画像の中心の座標位置どうしの間隔を示す「粗検出用間隔」の項目の情報を更に含んでいる。なお、実施の形態2では、座標位置どうしの間隔は、座標位置どうしのX方向又はY方向の長さとしたが、座標位置どうしの間隔を特定可能である限りにおいてこれに限定されない。例えば、座標位置どうしの間隔は、座標位置に対応する画素どうしのX方向又はY方向の画素ピッチの数、画素数分の画素サイズ等であってもよい。
例えば、位置検査設定情報は、図16の第1行において、「製品名」が「基板A」の製品について、その画像の始点(XSA1,YSA1)と終点(XEA1,YEA1)を対角頂点とする矩形状の検出範囲内で、中心の座標位置どうしの間隔がPA1となる横幅WA1、縦幅LA1のパターンサイズの画像を抽出して検査対象とすることを示している。具体的には、位置検査設定情報は、中心の座標が(XSA1,YSA1)、(XSA1+PA1,YSA1)、(XSA1+2×PA1,YSA1)、…、(XSA1,YSA1+PA1)、(XSA1,YSA1+2×PA1)、…となるパターンサイズの画像を抽出することを示している。
また、実施の形態2では、位置検出部312は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部304に記憶されている金属部品401の製品名に対応する位置検査設定情報の「位置検出範囲」、「パターンサイズ」、「粗検出用間隔」の項目の情報を取得する。また、位置検出部312は、位置検出範囲内から抽出可能な全てのパターンサイズの画像のうち、位置検出範囲の始点の座標位置から順番に粗検出用間隔毎に間隔を空けて選択した座標位置を中心とするパターンサイズの画像を抽出し、抽出した画像のスコアをそれぞれ算出する。また、位置検出部312は、スコア閾値以上となるスコアがあれば最大スコアとなった画像から取得したときのX座標及びY座標の測定値を算出することで、金属部品401の位置を粗く検出する。以下、算出した測定値となるX座標及びY座標を粗検出結果座標と記載する。
また、位置検出部312は、粗検出結果座標に基づいて、金属部品401の製品名に対応する位置検査設定情報の「位置検出範囲」の項目の情報を更新する。具体的には、先ず、位置検出部312は、算出したX座標及びY座標の測定値が示す座標を中央点とする始点と終点とを算出することで、位置検出範囲を再定義する。そして、位置検出部312は、算出した始点となるX座標及びY座標の値と終点となるX座標及びY座標の値とを用いて「位置検出範囲」の項目の情報を置き換える。
例えば、位置検出部312は、「基板A」の検査対象画像を取得したときに、装置設定情報の「検査用画像情報一時記憶領域」の項目の「FA1」を参照して検査対象画像の画像情報が記憶されているアドレスを特定し、検査対象画像の画像情報を取得する。また、位置検出部312は、装置設定情報の「画像サイズ」の「SZA1」を取得するとともに、位置検査設定情報の「位置検出範囲」のX座標の値の範囲XSA1~XEA1、Y座標の値の範囲YSA1~YEA1及び「パターンサイズ」の横幅WA1、縦幅LA1を取得する。また、位置検出部312は、位置検査設定情報の「粗検出用間隔」の「PA1」を取得する。
また、位置検出部312は、始点(XSA1,YSA1)と終点(XEA1,YEA1)を対角頂点とする矩形状の位置検出範囲内で選択された座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を検査対象画像から抽出する。このとき、位置検出部312は、始点(XSA1,YSA1)から順番にX方向又はY方向の間隔がPA1ずつ離れた座標(XSA1+PA1,YSA1)、(XSA1+2×PA1,YSA1)、…、(XSA1,YSA1+PA1)、(XSA1,YSA1+2×PA1)、…を中心とする横幅がWA1、縦幅がLA1の範囲の画像を検査対象画像から抽出する。
また、位置検出部312は、位置検出範囲内に選択可能な座標の位置がM個ある場合、取得した位置検出モデルをM個の抽出した画像に適用してこれらM個の画像のスコアSC11~SC1Mを算出する。また、位置検出部312は、例えば、スコア閾値であるSA1以上となるスコアのうち最大スコアがSC1Mである場合、最大スコアSC1Mとなった画像からX座標及びY座標の測定値(X1,Y1)を検出する。そして、位置検出部312は、算出したX座標及びY座標の測定値(X1,Y1)が中央点となる新たな始点(XSA21,YSA21)と新たな終点(XEA21,YEA21)とを算出して位置検査設定情報の「位置検出範囲」の項目の情報を更新する。
具体的には、先ず、位置検出範囲のX座標の値の範囲XSA1~XEA1の中央値をXCA1、Y座標の値の範囲YSA1~YEA1の中央値をYCA1とする。また、X座標の測定値X1と位置検出範囲のX座標の中央値XCA1との誤差をαxとし、Y座標の測定値Y1と位置検出範囲のY座標の中央値YCA1との誤差αyとする。この場合、位置検出部312は、αx=X1-XCA1、αy=Y1-YCA1を算出することでX座標及びY座標の誤差αx、αyを算出する。
また、位置検出部312は、XSA21=XSA1-αx、XEA21=XEA1-αx、YSA21=YSA1-αy、YEA21=YEA1-αyを算出することで、位置検出範囲の新たなX座標の値の範囲XSA21~XEA21と新たなY座標の値の範囲YSA21~YEA21を算出する。そして、位置検出部312は、位置検査設定情報の「位置検出範囲」の項目の情報を、算出した新たなX座標の値の範囲XSA21~XEA21と新たなY座標の値の範囲YSA21~YEA21とに基づいて更新する。
図17及び図18は、実施の形態2に係る位置検査処理を示すフローチャートである。図17及び図18に示すフローチャートを用いて実施の形態2に係る検査装置1が金属部品401の位置を検査する動作について説明する。先ず、図17に示すように、位置検出部312は、ステップS401の処理を実行した後、検査画面7において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに位置検査設定情報の位置検出範囲とパターンサイズと粗検出用間隔とを取得する(ステップS451)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、装置設定情報の「SZA1」を取得し、位置検査設定情報の「XSA1~XEA1,YSA1~YEA1」及び「(WA1,LA1)」、「PA1」を取得する。
また、位置検出部312は、検査対象画像から位置検出範囲内で粗検出用間隔毎にパターンサイズの画像を抽出する(ステップS452)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、始点(XSA1,YSA1)から順番にX方向又はY方向の間隔がPA1ずつ離れた座標(XSA1+PA1,YSA1)、(XSA1+2×PA1,YSA1)、…、(XSA1,YSA1+PA1)、(XSA1,YSA1+2×PA1)、…を中心とする横幅がWA1、縦幅がLA1の範囲の画像を検査対象画像から抽出する。また、位置検出部312は、ステップS404~S407の処理を実行する。位置検出部312は、パターンサイズの画像を全て抽出していない場合(ステップS407;NO)、パターンサイズの画像を全て抽出するまでステップS452、S404~S406の処理を繰り返す。
一方、図18に示すように、位置検出部312は、粗検出用間隔毎にパターンサイズの画像を全て抽出した場合(ステップS407;YES)、ステップS408~410の処理を実行し、算出したX座標及びY座標の測定値に基づいて位置検査設定情報の位置検出範囲を更新する(ステップS453)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、算出したX座標及びY座標の測定値が示す座標(X1,Y1)が中央点となる新たな始点(XSA21,YSA21)と新たな終点(XEA21,YEA21)とを算出して位置検査設定情報の「位置検出範囲」の項目の情報を更新する。また、位置規格判定部313は、ステップS411~S415の処理を実行し、処理を終了する。
以上説明したように、実施の形態2に係る検査装置1によれば、位置検出部312は、位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで、複数種類のパターンサイズの画像を粗く抽出する。そして、位置検出部312は、抽出したパターンサイズの画像に位置検出モデルを適用してスコアをそれぞれ算出し、スコアがスコア閾値以上となった最大スコアの画像を特定することで、検査対象画像における金属部品401の位置を検出し、位置出力部314は、検出した金属部品401の位置を出力する。
この結果、検査装置1は、位置検出範囲内から取得可能な全てのパターンサイズの画像を抽出しなくても金属部品401の位置を検出でき、金属部品401の位置が位置検査規格に適合しているか否かを検査でき、検査のための作業の負荷及び時間を低減できる。
特に、実施の形態2に係る検査装置1によれば、位置検出部312は、算出した粗検出結果座標に基づいて位置検査設定情報の位置検出範囲を更新する。ここで、算出した粗検出結果座標は、金属部品401の中央付近になることが期待できる。
この結果、検査装置1は、粗検出結果座標に基づいて位置検出範囲を更新しない検査装置よりも検査対象画像における金属部品401の位置を精度良く検出できる。このため、検査装置1は、粗検出結果座標と金属部品401の実際の位置との間に想定される誤差の程度に基づいて位置検出範囲を狭くすることができ、位置検出部312の動作にかかる時間を短縮することができる。例えば、粗検出用間隔PA1が5画素分の長さであれば、位置検出範囲をX方向及びY方向にそれぞれ±15画素程度としても、位置検出部312は、金属部品401の位置を十分に検出できる。この結果、検査装置1は、検査のための作業の負荷及び時間を更に低減できる。
その他、実施の形態2に係る検査装置1は、実施の形態1に係る検査装置1と同様の作用効果を奏する。
なお、実施の形態2のように、位置検出部312は、狭い位置検出範囲であっても金属部品401の位置を検出可能とするために、算出した粗検出結果座標に基づいて位置検査設定情報の位置検出範囲を更新することが好ましいが、これに限定されない。例えば、位置検出部312は、算出された粗検出結果座標と設定されている位置検出範囲の中央点の座標との誤差が予め定めた閾値を超えたときに位置検出範囲を更新してもよい。また、例えば、位置検出部312は、粗検出結果座標が算出されても位置検出範囲を更新しなくてもよい。
実施の形態3
実施の形態1、2に係る検査装置1では、位置検出部312は、位置検出モデルを用いて検査対象画像における金属部品401の位置を検出している。しかしながら、本開示は、これに限定されず、位置検出部312は、位置検出モデルだけではなく他の学習モデルも用いて検査対象画像における金属部品401の位置を検出してもよい。実施の形態3に係る検査装置1では、位置検出部312は、位置検出モデルだけではなく後述する粗検出モデルも用いて検査対象画像における金属部品401の位置を検出する。以下、図19~図22を参照して、実施の形態3に係る検査装置1の構成を説明する。なお、実施の形態3では、実施の形態1、2と異なる構成について説明し、実施の形態1、2と同一の構成については冗長であるため説明を省略する。
本開示の実施の形態3に係る検査装置、検査方法及びプログラムは、実施の形態1に係る検査装置、検査方法及びプログラムよりも位置検出にかかる処理時間の短縮を図るものである。
[コンピュータ3について]
図19は、実施の形態3に係る検査装置の機能構成を示す図である。図19に示すように、コンピュータ3は、機械学習によって画像と金属部品401の位置との関係性を示す位置粗検出モデルの一例としての粗検出モデルを生成する位置粗検出モデル生成部の一例としての粗検出モデル生成部326を更に備える。また、コンピュータ3は、生成された粗検出モデルを記憶する粗検出モデル記憶部327を更に備える。図4に戻り、実施の形態3では、制御部51は、制御プログラム59に従って、コンピュータ3の粗検出モデル生成部326として機能する。また、実施の形態3では、外部記憶部53は、粗検出モデル記憶部327として機能する。
また、コンピュータ3は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、粗検出モデル生成部326、粗検出モデル記憶部327の機能を実現する。例えば、コンピュータ3は、粗検出モデル生成部326が行う粗検出モデル生成ステップを実行し、粗検出モデル記憶部327が行う粗検出モデル記憶ステップを実行する。
[コンピュータ3の機能構成の詳細について]
図20は、実施の形態3に係る位置検査設定情報の一例を示す図である。実施の形態3では、位置検査設定情報は、図20に示すように、製品名毎に分類されている項目の情報として金属部品401の位置を粗く検出する範囲として始点から終点までのX座標の値の範囲と始点から終点までのY座標の値の範囲とを示す「粗検出範囲」の項目の情報を更に含んでいる。また、「モデル形式」の項目の情報は、位置検出モデルの形式だけでなく粗検出モデルの形式についても示している。
例えば、位置検査設定情報は、図20の第1行において、「製品名」が「基板A」の製品について、その画像の始点(XSA3,YSA3)と終点(XEA3,YEA3)を対角頂点とする矩形状の粗検出範囲内で、横幅WA1、縦幅LA1となる画像を抽出することを示している。また、位置検査設定情報は、「製品名」が「基板A」の製品について、検査に使用する学習モデルは、位置検出モデルが「MA1」、粗検出モデルが「MA3」であることを示している。
粗検出モデル生成部326は、前述のように、機械学習によって画像と金属部品401の位置との関係性を示す粗検出モデルを生成する。ここで、粗検出モデルとは、位置検出モデルを用いて金属部品401の位置を検出する前に金属部品401の位置を粗く検出するときに用いられる学習モデルである。粗検出モデル生成部326は、設定情報記憶部304に記憶されている金属部品401の製品名に対応する位置検査設定情報の「モデル形式」の項目の情報、すなわち、機械学習の学習モデルの形式を取得して粗検出モデルの雛形を生成する。なお、粗検出モデル生成部326が生成可能な機械学習の学習モデルの形式は、画像から物体の種別と位置を検出する用途に用いられる代表的な物体認識モデルである「SSD」、「YOLOv3」、「M2Det」の何れかから選択可能である。しかしながら、学習モデルの形式は、これらに限定されず、例えば、物体認識用途の他の物体認識モデルが選択可能であってもよい。この場合、設定された機械学習の手法の学習モデルの形式を選択可能とする必要がある。
また、粗検出モデル生成部326は、設定情報記憶部304に記憶されている装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して画像情報記憶部305に記憶されている学習対象画像の画像情報を取得する。また、粗検出モデル生成部326は、金属部品401の製品名に対応する位置検査設定情報の「パターンサイズ」の項目の情報、すなわち、学習対象画像から抽出する画像の横幅と縦幅の長さを取得する。また、粗検出モデル生成部326は、基準位置算出部308が算出したX座標及びY座標の基準値を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出する。また、粗検出モデル生成部326は、抽出した画像と、当該画像の抽出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値とを用いて機械学習を行うことで粗検出モデルを更新する。なお、粗検出モデル生成部326は、抽出した画像とX座標及びY座標の基準値とに基づいて、当該画像の抽出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値とを算出する。また、粗検出モデル生成部326は、抽出した画像についてマスク画像生成部309がマスク画像を生成しているときにはマスク画像についても機械学習を行うことで粗検出モデルを更新する。
例えば、粗検出モデル生成部326は、「基板A」の学習対象画像を取得したときに、位置検査設定情報の「モデル形式」の項目の「MA3」を取得する。ここで、例えば、「MA3」が「M2Det」であれば、粗検出モデル生成部326は、学習モデルの形式が「M2Det」の粗検出モデルの雛形を生成する。また、粗検出モデル生成部326は、装置設定情報の「学習用画像情報記憶領域」の「FA2」を参照して学習対象画像の画像情報が記憶されているアドレスを特定し、学習対象画像の画像情報を取得する。また、粗検出モデル生成部326は、位置検査設定情報の「パターンサイズ」の横幅WA1、縦幅LA1を取得して、学習対象画像から(261+XOA1,115+YOA1)の座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を抽出する。また、粗検出モデル生成部326は、抽出した画像と、当該画像の抽出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値とを用いて機械学習を行うことで粗検出モデルを更新する。なお、粗検出モデル生成部326は、抽出した画像のマスク画像が生成されていれば、マスク画像と抽出範囲の始点となるX座標及びY座標の値とを用いて機械学習を行うことで粗検出モデルを更新する。
図9に戻り、実施の形態3では、学習画面表示部321は、位置学習情報表示欄607に表示がある状態で使用者が入力部301を介して学習ボタン614を操作すると、位置検出モデル生成部310に位置検出モデルを生成させるとともに粗検出モデル生成部326に粗検出モデルを生成させる。なお、学習画面表示部321は、位置検出モデル、粗検出モデル及び異常検出モデルの生成中に使用者が入力部301を介して学習ボタン614を操作すると、位置検出モデル生成部310、粗検出モデル生成部326及び異常検出モデル生成部315に生成を中止させる。
図20に戻り、実施の形態3では、位置検出部312は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部304に記憶されている金属部品401の製品名に対応する位置検査設定情報の「位置検出範囲」、「パターンサイズ」及び「粗検出範囲」の項目の情報を取得する。すなわち、位置検出部312は、検査対象画像における位置検出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値及び抽出する画像の横幅と縦幅の長さを取得するだけでなく、粗検出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値も取得する。
また、位置検出部312は、粗検出モデル記憶部327に記憶されている粗検出モデルを取得し、検出対象画像から粗検出範囲に基づいて抽出した画像に粗検出モデルを適用して抽出した画像における金属部品401の位置の座標の値を粗く検出した結果として算出する。以下、算出した値となるX座標及びY座標を粗検出結果座標と記載する。
また、位置検出部312は、粗検出結果座標に基づいて、金属部品401の製品名に対応する位置検査設定情報の「位置検出範囲」の項目の情報を更新する。具体的には、先ず、位置検出部312は、算出したX座標の値を中心点とするX座標の値の始点と終点を算出するとともに、算出したY座標の値を中央値とするY座標の値の最小値と最大値を算出することで、位置検出範囲を再定義する。そして、位置検出部312は、算出した最小値となるX座標及びY座標の値と最大値となるX座標及びY座標の値とを用いて「位置検出範囲」の項目の情報を置き換える。
また、位置検出部312は、更新した位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出し、抽出した画像のスコアをそれぞれ算出する。また、位置検出部312は、スコア閾値以上となるスコアがあれば最大スコアとなった画像から取得したときのX座標及びY座標の測定値を算出することで、金属部品401の位置を検出する。
例えば、位置検出部312は、「基板A」の検査対象画像を取得したときに、装置設定情報の「検査用画像情報一時記憶領域」の項目の「FA1」を参照して検査対象画像の画像情報が記憶されているアドレスを特定し、検査対象画像の画像情報を取得する。また、位置検出部312は、装置設定情報の「画像サイズ」の「SZA1」を取得するとともに、位置検査設定情報の「位置検出範囲」のX座標の値の範囲XSA1~XEA1、Y座標の値の範囲YSA1~YEA1及び「パターンサイズ」の横幅WA1、縦幅LA1を取得する。また、位置検出部312は、位置検査設定情報の「粗検出範囲」のX座標の値の範囲XSA3~XEA3、Y座標の値の範囲YSA3~YEA3を取得する。
また、位置検出部312は、始点(XSA3,YSA3)と終点(XEA3,YEA3)を対角頂点とする矩形状の粗検出範囲の画像を検査対象画像から抽出する。また、位置検出部312は、取得した粗検出モデルを抽出した画像に適用して粗検出結果座標を算出する。また、位置検出部312は、算出した粗検出結果座標を(X3,X3)とした場合、粗検出結果座標(X3,X3)が中央点となる新たな始点(XSA31,YSA31)と新たな終点(XEA31,YEA31)とを算出する。また、位置検出部312は、取得したX座標の値の範囲XSA1~XEA1とY座標の値の範囲YSA1~YEA1からXSA31~XEA31、YSA31~YEA31に更新する。
具体的には、先ず、粗検出結果座標のX座標の値X3と位置検出範囲のX座標の中央値XCA1との誤差をβxとし、粗検出結果座標のY座標の値Y3と位置検出範囲のY座標の中央値YCA1との誤差βyとする。この場合、位置検出部312は、βx=X3-XCA1、βy=y3-YCA1を算出することでX座標及びY座標の誤差βx、βyを算出する。そして、位置検出部312は、XSA31=XSA1-βx、YSA31=YSA1-βy、XEA31=XEA1-βx、YEA31=YEA1-βyを算出することで、取得した位置検出範囲を更新する。
また、位置検出部312は、更新された新たな始点(XSA31,YSA31)と新たな終点(XEA31,YEA31)とを対角頂点とする矩形状の位置検出範囲内で選択された座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を検査対象画像から抽出する。また、位置検出部312は、位置検出範囲内に選択可能な座標の位置がN個ある場合、取得した位置検出モデルをN個の抽出した画像に適用してこれらN個の画像のスコアSC11~SC1Nを算出する。そして、位置検出部312は、例えば、スコア閾値であるSA1以上となるスコアのうち最大スコアがSC1Mである場合、最大スコアSC1Mとなった画像からX座標及びY座標の測定値(X1,Y1)を検出する。
図21は、実施の形態3に係る粗検出モデル生成処理を示すフローチャートである。図21に示すフローチャートを用いて実施の形態3に係る検査装置1が粗検出モデルを生成する動作について説明する。粗検出モデル生成部326は、学習画面6において使用者が入力部301を介して学習ボタン614を操作すると、粗検出モデル生成処理の実行を開始する。先ず、図21に示すように、粗検出モデル生成部326は、学習画面6において選択された製品名に対応する位置検査設定情報からモデル形式を取得して機械学習前の粗検出モデルを生成する(ステップS501)。例えば、学習画面6において「基板A」が選択されていれば、粗検出モデル生成部326は、位置検査設定情報から「MA3」を取得してモデル形式が「MA3」の粗検出モデルを生成する。
また、粗検出モデル生成部326は、学習画面6において選択された製品名に対応する画像情報から学習対象画像を取得する(ステップS502)。また、粗検出モデル生成部326は、学習画面6において選択された製品名に対応する位置学習情報のX座標及びY座標の測定値と位置検査設定情報のオフセットのX座標及びY座標の値とを取得してX座標及びY座標の基準値を基準位置算出部308に算出させる(ステップS503)。例えば、学習画面6において「基板A」が選択されていれば、基準位置算出部308は、位置学習情報から「261」及び「115」を取得し、位置検査設定情報から「(XOA1,YOA1)」を取得して(261+XOA1,115+YOA1)を算出する。
また、粗検出モデル生成部326は、学習画面6において選択された製品名に対応する位置検査設定情報のパターンサイズを取得して学習対象画像からX座標及びY座標の基準値を中心としたパターンサイズの画像を抽出する(ステップS504)。例えば、学習画面6において「基板A」が選択されていれば、粗検出モデル生成部326は、位置検査設定情報の「(WA1,LA1)」を取得し、学習対象画像から(261+XOA1,115+YOA1)の座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を抽出する。また、粗検出モデル生成部326は、抽出された画像と当該画像の抽出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値とを用いて機械学習を行い粗検出モデルを更新する(ステップS505)。
また、粗検出モデル生成部326は、異常学習情報記憶部307に記憶されている異常学習情報のX座標及びY座標の値を取得して抽出された画像に基板4の表面の異常が検出されているか否かを判定する(ステップS506)。例えば、学習画面6において「基板A」が選択されていれば、粗検出モデル生成部326は、異常学習情報の「110」及び「170」を取得し、抽出したパターンサイズの画像に(110,170)の座標の位置が含まれているか否かを判定する。
粗検出モデル生成部326は、異常が検出されている場合(ステップS506;YES)、学習画面6において選択された製品名に対応する位置検査設定情報からマスクサイズを取得して抽出された画像にマスクサイズのマスクをしたマスク画像をマスク画像生成部309に生成させる(ステップS507)。例えば、学習画面6において「基板A」が選択されていれば、マスク画像生成部309は、抽出したパターンサイズの画像に(110,170)の座標位置が含まれているときに、位置検査設定情報から「(MWA1,MLA1)」を取得する。また、マスク画像生成部309は、(110,170)の座標位置を中心とする横幅がMWA1、縦幅がMLA1の範囲を白色で塗りつぶした画像に置き換える。
また、粗検出モデル生成部326は、生成したマスク画像と当該画像の抽出範囲の始点となるX座標及びY座標の値と終点となるX座標及びY座標の値とを用いて機械学習を行い粗検出モデルを更新する(ステップS508)。また、粗検出モデル生成部326は、粗検出モデル更新後、又は、異常が検出されていない場合(ステップS506;NO)、粗検出モデル生成部326は、全ての学習対象画像を用いて機械学習を行ったか否かを判定する(ステップS509)。粗検出モデル生成部326は、全ての学習対象画像を用いて機械学習を行っていない場合(ステップS509;NO)、全ての学習対象画像を用いて機械学習を行うまでステップS502~S508の処理を繰り返す。一方、粗検出モデル生成部326は、全ての学習対象画像を用いて機械学習を行った場合(ステップS509;YES)、処理を終了する。
図22は、実施の形態3に係る位置検査処理を示すフローチャートである。図22に示すフローチャートを用いて実施の形態3に係る検査装置1が金属部品401の位置を検査する動作について説明する。先ず、図22に示すように、位置検出部312は、ステップS401の処理を実行した後、検査画面7において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに位置検査設定情報の位置検出範囲とパターンサイズと粗検出範囲とを取得する(ステップS461)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、装置設定情報の「SZA1」を取得し、位置検査設定情報の「XSA1~XEA1,YSA1~YEA1」及び「(WA1,LA1)」、「XSA3~XEA3,YSA3~YEA3」を取得する。
また、位置検出部312は、検査対象画像から粗検出範囲に基づいて抽出した画像に粗検出モデルを適用して粗検出結果座標を算出し(ステップS462)、算出した粗検出結果座標に基づいて位置検査設定情報の位置検出範囲を更新する(ステップS463)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、始点(XSA3,YSA3)と終点(XEA3,YEA3)を対角頂点とする矩形状の粗検出範囲の画像を検査対象画像から抽出する。また、位置検出部312は、検査画面7において選択された製品名に対応する粗検出モデルを抽出した画像に適用して粗検出結果座標(X3,Y3)を算出する。また、位置検出部312は、粗検出結果座標(X3,Y3)が中央点となる新たな始点(XSA31,YSA31)と新たな終点(XEA31,YEA31)とを算出する。
また、位置検出部312は、検査対象画像から更新された位置検出範囲内でパターンサイズの画像を抽出する(ステップS464)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、新たな始点(XSA31,YSA31)と新たな終点(XEA31,YEA31)とを対角頂点とする矩形状の位置検出範囲内の選択された座標位置を中心とする横幅がWA1、縦幅がLA1の範囲の画像を検査対象画像から抽出する。
また、位置検出部312は、ステップS404~S407の処理を実行する。位置検出部312は、パターンサイズの画像を全て抽出していない場合(ステップS407;NO)、パターンサイズの画像を全て抽出するまでステップS464、S404~S406の処理を繰り返す。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、N個の画像のスコアSC11~SC1Nを算出するまで、検査対象画像からパターンサイズの画像を抽出し続ける。一方、図15に示すように、位置検出部312は、位置検出部312は、パターンサイズの画像を全て抽出した場合(ステップS407;YES)、ステップS408~S415の処理を実行し、処理を終了する。
以上説明したように、実施の形態3に係る検査装置1によれば、位置検出部312は、粗検出範囲に基づいて検査対象画像から抽出した画像に粗検出モデルを適用して粗検出結果座標を算出する。また、位置検出部312は、算出した粗検出結果座標に基づく新たな位置検出範囲内からパターンサイズの画像を抽出することで、複数種類のパターンサイズの画像を抽出する。そして、位置検出部312は、抽出したパターンサイズの画像に位置検出モデルを適用してスコアをそれぞれ算出し、スコアがスコア閾値以上となった最大スコアの画像を特定することで、検査対象画像における金属部品401の位置を検出し、位置出力部314は、検出した金属部品401の位置を出力する。
この結果、検査装置1は、位置検出モデルだけではなく粗検出モデルも用いて検査対象画像における金属部品401の位置を検出することができる。
特に、実施の形態3に係る検査装置1によれば、位置検出部312は、算出した粗検出結果座標に基づいて位置検査設定情報から取得した位置検出範囲を更新する。なお、算出した粗検出結果座標は、金属部品401の中央付近になることが期待できる。
この結果、検査装置1は、粗検出結果座標に基づいて位置検出範囲を更新しない検査装置よりも検査対象画像における金属部品401の位置を精度良く検出できる。このため、検査装置1は、粗検出結果座標と金属部品401の実際の位置との間に想定される誤差の程度に基づいて位置検出範囲を狭くすることができ、位置検出部312の動作にかかる時間を短縮することができる。例えば、粗検出結果座標の誤差が20画素程度の長さであれば、位置検出範囲をX方向及びY方向にそれぞれ±40画素程度としても、位置検出部312は、金属部品401の位置を十分に検出できる。この結果、検査装置1は、検査のための作業の負荷及び時間を更に低減できる。
その他、実施の形態3に係る検査装置1は、実施の形態1に係る検査装置1と同様の作用効果を奏する。
なお、実施の形態3では、検査装置1は、粗検出モデル生成部326及び粗検出モデル記憶部327を備えているが、粗検出モデル生成部326及び粗検出モデル記憶部327を備えていなくてもよい。例えば、外部の学習装置が粗検出モデル生成部326及び粗検出モデル記憶部327を備え、粗検出モデル生成部326が上述した情報を用いた機械学習によって粗検出モデルを生成し、生成された粗検出モデルを粗検出モデル記憶部327に記憶してもよい。この場合、検査装置1は、学習装置に記憶されている粗検出モデルを取得する必要がある。
なお、実施の形態3では、実施の形態2のように、位置検出部312が位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで複数種類のパターンサイズの画像を粗く抽出していないが、これに限定されない。例えば、実施の形態2、3の構成を組み合わせて、位置検出部312は、粗検出モデルを用いて算出した粗検出結果座標に基づいて新たな位置検出範囲に更新するとともに、更新した新たな位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで複数種類のパターンサイズの画像を粗く抽出してもよい。
実施の形態4
実施の形態1~3に係る検査装置1では、位置検出部312は、検査対象画像において算出したX座標及びY座標の測定値に対応する位置、すなわち、最大スコアとなったパターンサイズの画像の中心の座標に対応する位置を金属部品401の位置として検出している。しかしながら、本開示は、これに限定されず、位置検出部312は、最大スコアとなったパターンサイズの画像の中心の座標に対応する位置を金属部品401の位置として検出しなくてもよい。実施の形態4に係る検査装置1では、位置検出部312は、検査対象画像において算出したX座標及びY座標の測定値に基づいて特定した位置を金属部品401の位置として検出する。以下、図23~図25を参照して、実施の形態4に係る検査装置1の構成を説明する。なお、実施の形態4では、実施の形態1~3と異なる構成について説明し、実施の形態1~3と同一の構成については冗長であるため説明を省略する。
本開示の実施の形態4に係る検査装置、検査方法及びプログラムは、実施の形態1に係る検査装置、検査方法及びプログラムよりも位置検出の精度向上を図るものである。
[コンピュータ3の機能構成の詳細について]
図23は、実施の形態4に係る位置検査設定情報の一例を示す図である。実施の形態4では、位置検査設定情報は、図23に示すように、製品名毎に分類されている項目の情報として画素の輝度値の最大値、所謂ピークの検出範囲としての縦幅及び横幅の長さを示す「ピーク検出範囲」の項目の情報を更に含んでいる。
例えば、位置検査設定情報は、図23の第1行において、「製品名」が「基板A」の製品について、ピーク検出範囲として横幅WA4、縦幅LA4となる画像を抽出して金属部品401の位置を検出することを示している。
また、実施の形態4では、位置検出部312は、最大スコアとなったパターンサイズの画像からX座標及びY座標の測定値を算出した後、金属部品401の製品名に対応する位置検査設定情報の「ピーク検出範囲」の横幅と縦幅とを取得する。また、位置検出部312は、検査対象画像から算出したX座標及びY座標の測定値を中心として取得した横幅と縦幅となる画像を抽出する。
図24は、実施の形態4に係るフィッティング処理の一例を示す図である。ここで、図24に示すグラフは、横軸がX座標の値、縦軸がY方向に並んだ画素の輝度の平均値を示しており、X座標の値とY方向に並んだ画素の輝度の平均値との関係性を示すピーク形状関数のグラフである。上述したように、金属部品401の光沢部分402は、縦方向、すなわち、Y方向に延びて現れている。このため、位置検出部312は、抽出した画像においてX座標毎にY方向に並んだ画素の輝度の平均値を算出する。また、位置検出部312は、図24に示すように、算出したX座標毎のY方向に並んだ画素の輝度の平均値を予め定められたピーク形状関数に対して誤差を最小にしながら当て嵌める所謂フィッティング処理を実行し、ピーク形状関数の値がピークとなるX座標の値を算出する。なお、ピーク形状関数は、例えば、ガウス関数、ローレンツ関数等を用いることができる。そして、位置検出部312は、X座標の測定値を算出した値に更新し、更新したX座標及びY座標の測定値に基づく位置を金属部品401の位置として検出する。
例えば、位置検出部312は、X座標及びY座標の測定値(X1,Y1)を算出した後、位置検査設定情報の「ピーク検出範囲」の横幅WA4、縦幅LA4を取得する。また、位置検出部312は、X座標及びY座標の測定値(X1,Y1)を中心として横幅WA4、縦幅LA4となる画像を抽出し、抽出した画像から選択可能な全てのX座標のY方向に並んだ画素の輝度の平均値を算出する。
ここで、抽出した画像に選択可能なX座標がK個ある場合、選択可能なX座標をXP1、XP2、…、XPKとし、K個のX座標XP1、XP2、…、XPKのY方向に並んだ画素の輝度の平均値をYP1、YP2、…、YPKとする。この場合、位置検出部312は、X座標XP1~XPKのY方向に並んだ画素の輝度の平均値YP1~YPKを算出し、ピーク形状関数に当て嵌めるフィッティング処理を実行してピーク形状関数の値がピークとなるX座標の値を算出する。そして、位置検出部312は、例えば、図24に示すグラフでピーク形状関数が示される場合、ピーク形状関数の値がピークとなるX座標の値が「381」であるため、X1=381とすることで、X座標の測定値X1を「381」に更新する。
図25は、実施の形態2に係る位置検査処理を示すフローチャートである。図25に示すフローチャートを用いて実施の形態4に係る検査装置1が金属部品401の位置を検査する動作について説明する。先ず、図25に示すように、位置検出部312は、ステップS401~S410の処理を実行した後、検査画面7において選択された製品名に対応する位置検査設定情報のピーク検出範囲を取得する(ステップS471)。例えば、検査画面7において「基板A」が選択されていれば、位置検出部312は、位置検査設定情報の「(WA4,LA4)」を取得する。
また、位置検出部312は、検査対象画像から算出したX座標及びY座標の測定値の座標を中心として取得したピーク検出範囲の横幅と縦幅の長さの分の画像を抽出する(ステップS472)。また、位置検出部312は、抽出した画像から選択可能な全てのX座標のY方向に並んだ画素の輝度の平均値を算出する(ステップS473)。例えば、位置検出部312は、検査対象画像から算出したX座標及びY座標の測定値(X1,Y1)の座標を中心として横幅WA4、縦幅LA4となる画像を抽出し、X座標XP1~XPKのY方向に並んだ画素の輝度の平均値YP1~YPKを算出する。
また、位置検出部312は、算出したX座標毎のY方向に並んだ画素の輝度の平均値をピーク形状関数に当て嵌めるフィッティング処理を実行し、ピーク形状関数の値がピークとなるX座標の値を算出し(ステップS474)、X座標の測定値を算出した値に更新する(ステップS475)。例えば、位置検出部312は、図24に示すフィッティング処理を実行し、ピーク形状関数の値がピークとなるX座標の値として「381」を算出し、X1=381とすることで、X座標の測定値X1を「381」に更新する。そして、位置規格判定部313は、ステップS411~S415の処理を実行し、処理を終了する。
以上説明したように、実施の形態2に係る検査装置1によれば、位置検出部312は、X座標及びY座標の測定値、すなわち、最大スコアとなったパターンサイズの画像の中心の座標を算出した後、当該座標を中心とするピーク検出範囲の画像を抽出する。また、位置検出部312は、抽出した画像からY方向に並んだ画素の輝度の平均値をX座標毎に算出し、平均値の近似関数であるピーク形状関数の値がピークとなるX座標の値を算出する。そして、位置検出部312は、X座標の測定値を算出した値に更新し、更新したX座標及びY座標の測定値に基づく位置を金属部品401の位置として検出する。
この結果、検査装置1は、ピーク形状関数の値がピークとなるX座標の値にX座標の測定値を更新しない検査装置よりも検出する金属部品401の位置を光沢部分402の輝度がピークとなる位置に近づけることができ、金属部品401の位置を精度良く検出することができる。
その他、実施の形態4に係る検査装置1は、実施の形態1に係る検査装置1と同様の作用効果を奏する。
なお、実施の形態4では、金属部品401の光沢部分402がY方向に延びて現れているため、位置検出部312は、Y方向に並んだ画素の輝度の平均値をX座標毎に求めてX方向のピークのみを算出したが、これに限定されない。例えば、位置検出部312は、金属部品401の光沢部分402がX方向に延びて現れている場合、X方向に並んだ画素の輝度の平均値をY座標毎に求めてY方向のピークのみを算出してもよい。また、例えば、位置検出部312は、金属部品401の光沢部分402が円形状に現れている場合、Y方向に並んだ画素の輝度の平均値をX座標毎に求めてX方向のピークを算出するとともに、X方向に並んだ画素の輝度の平均値をY座標毎に求めてY方向のピークを算出してもよい。更に、位置検出部312は、金属部品401の光沢部分402の形状に応じてX方向及びY方向のピークを算出してもよい。
また、例えば、位置検出部312は、金属部品401の光沢部分402がX方向及びY方向に対して傾斜する傾斜方向に延びて現れている場合、傾斜方向に並んだ画素の輝度の平均値を傾斜方向と直交する直交方向の座標毎に求めて傾斜方向のピークを算出してもよい。更に、位置検出部312は、金属部品401の光沢部分402の形状に応じて傾斜方向のピークを算出してもよい。
なお、実施の形態4のように、X座標の測定値を更新するために、位置検出部312は、抽出した画像から算出したX座標毎のY方向に並んだ画素の輝度の平均値とピーク形状関数とのフィッティング処理を実行してピーク形状関数の値がピークとなるX座標の値を算出することが好ましい。しかしながら、X座標の測定値を更新する方法についてはこれに限定されない。例えば、位置検出部312は、X座標毎のY方向に並んだ画素の輝度の平均値が最大となるX座標の値でX座標の測定値を更新してもよい。この場合、フィッティング処理よりも簡易な処理で検出する金属部品401の位置を光沢部分402の輝度がピークとなる位置に近づけることができる。
なお、実施の形態4では、実施の形態2のように、位置検出部312が位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで複数種類のパターンサイズの画像を粗く抽出していないが、これに限定されない。例えば、実施の形態2、4の構成を組み合わせてもよい。具体的には、位置検出部312は、位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を粗く抽出するとともに、最大スコアとなったパターンサイズの画像の座標を中心として抽出した画像の画素の輝度値に基づいて当該座標を更新してもよい。
なお、実施の形態4では、実施の形態3のように、位置検出部312が粗検出モデルを用いて算出した粗検出結果座標に基づいて位置検出範囲を更新してからパターンサイズの画像を抽出していないが、これに限定されない。例えば、実施の形態3、4の構成を組み合わせて、位置検出部312は、粗検出モデルを用いて算出した粗検出結果座標に基づいて位置検出範囲を更新してから抽出したパターンサイズの画像のうちの最大スコアとなった画像の座標を中心として抽出した画像から画素の輝度値に基づいて当該座標を更新してもよい。
なお、制御部51、主記憶部52、外部記憶部53、操作部54、表示部55、送受信部56、内部バス50等を備えるコンピュータ3の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータ3が読み取り可能な記録媒体、例えば、フレキシブルディスク、DVD-ROM(Read-Only Memory)等に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、上記の処理を実行するコンピュータ3を構成してもよい。また、インターネットなどの通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロードなどすることでコンピュータ3を構成してもよい。
また、コンピュータ3の機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、又はOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体又は記憶装置に格納してもよい。
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを提供してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行してもよい。
その他、実施の形態1~4に係る検査装置1、検査方法及びプログラムの構成は一例であり、本開示が解決しようとする課題を解決可能な限りにおいて任意に変更及び修正が可能である。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
本出願は、2019年7月18日に出願された、日本国出願特願2019-132473号に基づく。本明細書中に日本国出願特願2019-132473号の明細書、請求の範囲、図面全体を参照として取り込むものとする。