(57)【要約】  位置検出部（３１２）は、学習対象画像の画像情報を用いた機械学習によって生成された位置検出モデルに検査対象画像を適用して検査対象画像の部分についてスコアを算出する。また、位置検出部（３１２）は、算出したスコアが予め設定された関係となるスコアの画像の部分を特定することで、検査対象画像における金属部品の位置を検出する。そして、位置出力部（３１４）は、位置検出部（３１２）が検出した金属部品の位置を出力する。
2021010269.tif 000002
【特許請求の範囲】
【請求項１】
学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルに検査対象物を含む検査用の画像を適用して前記検査用の画像の部分についてスコアを算出し、前記スコアが予め設定された関係となる前記検査用の画像の部分を特定することで、前記検査用の画像における検査対象物の位置を検出する位置検出部と、
前記位置検出部が検出した検査対象物の位置を出力する位置出力部と、
を備える検査装置。
【請求項２】
前記位置検出部が検出した検査対象物の位置が予め定められた規格に適合するか否かを判定する位置規格判定部を更に備える、
請求項１に記載の検査装置。
【請求項３】
前記位置検出モデルは、前記学習用の画像における検出範囲を示す位置検出範囲情報を更に用いた機械学習によって生成されている、
請求項１又は２に記載の検査装置。
【請求項４】
前記位置検出部は、学習用の画像の画像情報を用いた機械学習によって生成された位置粗検出モデルに前記検査用の画像を適用して算出した検査対象物の位置の粗検出結果に基づいて抽出した前記検査用の画像の部分を前記位置検出モデルに適用して前記検査用の画像の部分についてスコアを算出する、
請求項１から３の何れか１項に記載の検査装置。
【請求項５】
前記学習用の画像の画像情報を用いた機械学習によって生成された異常検出モデルに前記検査用の画像を適用して前記検査用の画像の部分についてスコアを算出し、前記スコアが予め設定された関係となる前記検査用の画像の部分を特定することで、前記検査用の画像における検査対象物の表面の異常を検出する異常検出部と、
前記異常検出部が検出した前記検査対象物の異常を出力する異常出力部とを更に備える、
請求項１から４の何れか１項に記載の検査装置。
【請求項６】
前記異常検出部が検出した検査対象物の表面の異常があっても予め定められた規格に適合するか否かを判定する異常規格判定部を更に備える、
請求項５に記載の検査装置。
【請求項７】
前記異常検出モデルは、前記学習用の画像における検出範囲を示す異常検出範囲情報を更に用いた機械学習によって生成されている、
請求項５又は６に記載の検査装置。
【請求項８】
前記位置検出部は、前記スコアが予め設定された関係となる前記検査用の画像の部分を特定した後、特定した前記検査用の画像の部分の位置を中心とする予め定めた範囲内において画素の輝度値が最大となる位置を特定することで、検査対象物の位置を検出する、
請求項１から７の何れか１項に記載の検査装置。
【請求項９】
前記学習用の画像の画像情報を用いた機械学習によって前記位置検出モデルを生成する位置検出モデル生成部を更に備える、
請求項１から８の何れか１項に記載の検査装置。
【請求項１０】
予め取得した異常が検出されている検査対象物を含む前記学習用の画像に対して異常が検出されている部分を覆うマスクをしたマスク画像を生成するマスク画像生成部を更に備え、
前記位置検出モデル生成部は、前記マスク画像の画像情報を用いた機械学習によって位置検出モデルを生成可能である、
請求項９に記載の検査装置。
【請求項１１】
前記マスク画像生成部は、検査用の画像に異常が検出された場合、前記検査用の画像に対して異常が検出されている部分を覆うマスクをしたマスク画像を生成し、
前記位置検出部は、前記マスク画像を前記位置検出モデルに適用して前記マスク画像の部分についてスコアを算出し、前記スコアが予め設定された関係となる前記マスク画像の部分を特定することで、前記マスク画像における検査対象物の位置を検出可能である、
請求項１０に記載の検査装置。
【請求項１２】
検査対象物を撮像する撮像部と、
検査対象物に対して照明光を出力する照明光出力部とを更に備え、
前記位置検出モデル生成部は、検査対象物に対して照明光を出力したときの反射光を含む画像について機械学習することによって前記位置検出モデルを生成する、
請求項９から１１の何れか１項に記載の検査装置。
【請求項１３】
前記学習用の画像の画像情報を用いた機械学習によって前記位置粗検出モデルを生成する位置粗検出モデル生成部を更に備える、
請求項４に記載の検査装置。
【請求項１４】
前記学習用の画像の画像情報を用いた機械学習によって前記異常検出モデルを生成する異常検出モデル生成部を更に備える、
請求項５から７の何れか１項に記載の検査装置。
【請求項１５】
学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルと検査対象物を含む検査用の画像とに基づいて、前記検査用の画像における検査対象物の位置を検出する位置検出ステップと、
前記位置検出ステップで検出した前記検査対象物の位置を出力する位置出力ステップと、
を含む検査方法。
【請求項１６】
コンピュータを、
学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルと検査対象物を含む検査用の画像とに基づいて、前記検査用の画像における検査対象物の位置を検出する位置検出部、
前記位置検出部が検出した前記検査対象物の位置を出力する位置出力部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、検査装置、検査方法及びプログラムに関する。
【背景技術】
【０００２】
画像処理によって、検査対象物の形状、配置された位置等を検査する検査装置が知られている。【０００３】
このような検査装置の一例として、特許文献１には、コネクタに収容された金属端子を照明装置により照明しつつ撮像し、撮像した画像と基準パターンとの一致度合いによって金属端子の形状と位置の良否を検査する検査装置が開示されている。この検査装置は、撮像された画像のうち、照明による金属端子の光沢部分の周辺の画素を除外して基準パターンとの一致度合いを算出することで、光沢部分の位置、大きさ等の違いによる検査の誤りを低減している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−９１７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
検査の種類によっては、検査対象物の表面に錆、歪み、打痕、付着物等の異常があっても、その異常の存在を許容しつつ配置された位置だけでも検出したい場合がある。しかしながら、特許文献１に記載の検査装置は、金属端子の表面にこれらの異常があると、光沢部分の形状及び位置が変化するため、撮像された画像と基準パターンとの一致度合いが低下して各金属端子の位置が検出できなくなる問題がある。【０００６】
本開示は、上述のような事情に鑑みてなされたものであり、検査対象物の表面に異常があっても検査対象物が配置された位置の検査ができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本開示に係る検査装置は、位置検出部、位置出力部を備える。位置検出部は、学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルに検査対象物を含む検査用の画像を適用して検査用の画像の部分についてスコアを算出し、スコアが予め設定された関係となる検査用の画像の部分を特定することで、検査用の画像における検査対象物の位置を検出する。位置出力部は、位置検出部が検出した検査対象物の位置を出力する。
【発明の効果】
【０００８】
本開示によれば、学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルに検査用の画像を適用して算出されたスコアが予め設定された関係となる画像の部分を特定することで、検査用の画像における検査対象物の位置を検出して出力する。したがって、検査装置は、表面に異常がある検査対象物を含む学習用の画像の画像情報を用いた機械学習によって位置検出モデルが生成されていれば検査対象物の表面の異常があっても検査対象物が配置された位置の検査ができる。
【図面の簡単な説明】
【０００９】
【図１】本開示の実施の形態１に係る検査装置の説明図
【図２Ａ】実施の形態１に係る撮像装置の側面図
【図２Ｂ】図２Ａを２Ｂ−２Ｂ線から下方に見下ろした断面図
【図３】実施の形態１に係る検査装置の機能構成を示す図
【図４】実施の形態１に係るコンピュータのハードウェア構成を示すブロック図
【図５Ａ】実施の形態１に係る装置設定情報の一例を示す図
【図５Ｂ】実施の形態１に係る製品設定一覧情報の一例を示す図
【図５Ｃ】実施の形態１に係る位置検査設定情報の一例を示す図
【図５Ｄ】実施の形態１に係る異常検査設定情報の一例を示す図
【図６】実施の形態１に係る位置学習情報の一例を示す図
【図７】実施の形態１に係る異常学習情報の一例を示す図
【図８】実施の形態１に係る初期画面の表示例を示す図
【図９】実施の形態１に係る学習画面の表示例を示す図
【図１０】実施の形態１に係る検査画面の表示例を示す図
【図１１】実施の形態１に係る位置検出モデル生成処理を示すフローチャート
【図１２】実施の形態１に係る異常検出モデル生成処理を示すフローチャート
【図１３】実施の形態１に係る異常検査処理を示すフローチャート
【図１４】実施の形態１に係る位置検査処理を示すフローチャート
【図１５】図１４の続きのフローチャート
【図１６】実施の形態２に係る位置検査設定情報の一例を示す図
【図１７】実施の形態２に係る位置検査処理を示すフローチャート
【図１８】図１７の続きのフローチャート
【図１９】実施の形態３に係る検査装置の機能構成を示す図
【図２０】実施の形態３に係る位置検査設定情報の一例を示す図
【図２１】実施の形態３に係る位置検出モデル生成処理を示すフローチャート
【図２２】実施の形態３に係る位置検査処理を示すフローチャート
【図２３】実施の形態４に係る位置検査設定情報の一例を示す図
【図２４】実施の形態４に係るフィッティング処理の一例を示す図
【図２５】実施の形態４に係る位置検査処理を示すフローチャート
【発明を実施するための形態】
【００１０】
以下に、本開示を実施するための形態に係る検査装置、検査方法及びプログラムについて図面を参照して詳細に説明する。なお、図中同一又は相当する部分には同じ符号を付す。
【実施の形態１】
【００１１】
本開示の実施の形態１に係る検査装置、検査方法及びプログラムは、検査対象物の形状及び検査対象物が配置された位置を検査するものである。
【００１２】
［検査装置１について］
図１は、実施の形態１に係る検査装置の説明図である。図２Ａは、実施の形態１に係る撮像装置の側面図である。図２Ｂは、図２Ａを２Ｂ−２Ｂ線から下方に見下ろした断面図である。
図１に示すように、実施の形態１に係る検査装置１は、検査対象物を撮像する撮像装置２、撮像された検査対象物を含む画像から検査対象物の表面の異常及び検査対象物が配置された位置を検査するコンピュータ３を備える。実施の形態１では、図２Ａ、図２Ｂに示すように、異常検査の検査対象物として基板４が設定されており、位置検査の検査対象物として基板４に設けられた金属部品４０１が設定されている。
【００１３】
検査装置１では、撮像装置２によって撮像された基板４の学習用の画像の画像情報を機械学習し、位置検出モデル及び異常検出モデルを生成し、生成した位置検出モデル及び異常検出モデルを記憶する。以下、学習用の画像は、学習対象画像と記載する。
【００１４】
検査装置１は、検査対象の基板４の画像を撮像装置２によって撮像して検査用の画像を取得する。以下、検査用の画像は、検査対象画像と記載する。また、検査装置１は、検査対象画像を位置検出モデルに適用して、金属部品４０１の位置が規格に適合するか否かを判定する。また、検査装置１は、検査対象画像を異常検出モデルに適用して、基板４が規格に適合するか否かを判定する。また、検査装置１は、位置検査結果と異常検査結果との総合判定を行う。
【００１５】
［撮像装置２について］
図２Ａ、図２Ｂに示すように、撮像装置２は、異常検査の検査対象物である基板４を設置する設置台である底板２０１、底板２０１の四隅で底板２０１に支持されて上方に延びる円柱状の支柱２０２〜２０５、支柱２０２〜２０５に支持された天板２０６を備える。撮像装置２は、底板２０１上には、基板４のＸ方向の一端を押し当てて設置位置を決める横方向位置決めブロック２０７、基板４のＹ方向の一端を押し当てて設置位置を決める縦方向位置決めブロック２０８を備える。また、撮像装置２は、天板２０６の底面の中央部に配置され、下方の基板４を撮像する撮像部２０９、天板２０６のＸ方向両端部でＹ方向に延びて配置され、下方の基板４を照明する照明光出力部２１０、２１１を備える。なお、撮像部２０９は、例えば、カメラであり、照明光出力部２１０、２１１は、例えば、調光機能を備える照明器具である。
【００１６】
基板４は、位置検査の検査対象物である金属部品４０１を備える。金属部品４０１は、基板４の上面中央部に設けられ、縦方向に延びる半円柱状の金属板である。金属部品４０１は、照明光出力部２１０、２１１から照明光が出力されると照明光が反射して横方向中央部において縦方向に延びる光沢部分４０２が現れる。なお、金属部品を半円柱状としたが、これに限定されず、例えば、直方体状、半球体状、円錐形状等の任意の形状としてもよい。この場合、光沢部分４０２の形状も変化する。
【００１７】
［コンピュータ３について］
図１に示すように、コンピュータ３は、パーソナルコンピュータである。なお、コンピュータ３については、パーソナルコンピュータに限定されない。例えば、コンピュータ３は、スーパーコンピュータ、ワークステーション、ＧＰＵ（Graphics Processing Unit）が搭載されたＧＰＵサーバであってもよい。また、例えば、コンピュータ３は、マイクロコンピュータが搭載された所謂マイコンボード又はＦＰＧＡ（Field Programmable Gate Array）が搭載されたＦＰＧＡボードを備えた機械学習及び検査対象物の検査の演算が可能なその他の計算機であってもよい。また、検査装置１は、撮像装置２とコンピュータ３とが別体であるが、これに限定されず、例えば、コンピュータ３と撮像装置２とが一体化している装置であってもよい。
【００１８】
図３は、実施の形態１に係る検査装置の機能構成を示す図である。図３に示すように、コンピュータ３は、使用者からの入力を受け付ける入力部３０１、撮像部２０９を制御する撮像制御部３０２、照明光出力部２１０、２１１を制御する照明光制御部３０３、検査装置１で用いられる設定情報を記憶する設定情報記憶部３０４を備える。また、コンピュータ３は、基板４を含む画像の画像情報を記憶する画像情報記憶部３０５を備える。また、コンピュータ３は、金属部品４０１の位置を検出するための機械学習に用いる位置学習情報を記憶する位置学習情報記憶部３０６、基板４の表面の異常を検出するための機械学習に用いる異常学習情報を記憶する異常学習情報記憶部３０７を備える。
【００１９】
また、コンピュータ３は、位置検出のための基準位置を算出する基準位置算出部３０８、金属部品４０１の部分の画像にマスクをしたマスク画像を生成するマスク画像生成部３０９を備える。また、コンピュータ３は、機械学習によって画像と金属部品４０１の位置との関係性を示す位置検出モデルを生成する位置検出モデル生成部３１０、生成された位置検出モデルを記憶する位置検出モデル記憶部３１１を備える。また、コンピュータ３は、撮像部２０９が撮像した基板４を含む画像から金属部品４０１の位置を検出する位置検出部３１２を備える。また、コンピュータ３は、検出された金属部品４０１の位置が規格に適合するか否かを判定する位置規格判定部３１３、検出された金属部品４０１の位置を出力する位置出力部３１４を備える。
【００２０】
また、コンピュータ３は、機械学習によって画像と基板４の表面の異常との関係性を示す異常検出モデルを生成する異常検出モデル生成部３１５、生成された異常検出モデルを記憶する異常検出モデル記憶部３１６を備える。また、コンピュータ３は、撮像部２０９が撮像した基板４を含む画像から基板４の表面の異常を検出する異常検出部３１７を備える。また、コンピュータ３は、検出された基板４の表面の異常が規格に適合するか否かを判定する異常規格判定部３１８、検出された基板４の表面の異常を出力する異常出力部３１９を備える。
【００２１】
また、コンピュータ３は、検査装置１を使用するために使用者が入力する初期画面を表示する初期画面表示部３２０を備える。また、コンピュータ３は、機械学習によって位置検出モデル及び異常検出モデルを生成するために使用者が入力する学習画面を表示する学習画面表示部３２１を備える。また、コンピュータ３は、基板４の表面の異常を検査したり金属部品４０１の位置を検査したりするために使用者が入力する検査画面を表示する検査画面表示部３２２を備える。また、コンピュータ３は、金属部品４０１の位置の検査結果と基板４の表面の異常の検査結果とを総合判定する総合判定部３２３、総合判定結果を出力する総合判定結果出力部３２４、総合判定結果を記憶する総合判定結果記憶部３２５を備える。
【００２２】
図４は、実施の形態１に係るコンピュータのハードウェア構成を示すブロック図である。図４に示すように、コンピュータ３は、制御プログラム５９に従って処理を実行する制御部５１を備える。制御部５１は、ＣＰＵ（Central Processing Unit）を備える。制御部５１は、制御プログラム５９に従って、コンピュータ３の撮像制御部３０２、照明光制御部３０３、基準位置算出部３０８、マスク画像生成部３０９、位置検出モデル生成部３１０、位置検出部３１２、位置規格判定部３１３、位置出力部３１４として機能する。また、制御部５１は、制御プログラム５９に従って、コンピュータ３の異常検出モデル生成部３１５、異常検出部３１７、異常規格判定部３１８、異常出力部３１９、総合判定部３２３、総合判定結果出力部３２４として機能する。
【００２３】
また、コンピュータ３は、制御プログラム５９をロードし、制御部５１の作業領域として用いられる主記憶部５２を備える。主記憶部５２は、ＲＡＭ（Random-Access Memory）を備える。
【００２４】
また、コンピュータ３は、制御プログラム５９を予め記憶する外部記憶部５３を備える。外部記憶部５３は、制御部５１の指示に従って、このプログラムが記憶するデータを制御部５１に供給し、制御部５１から供給されたデータを記憶する。外部記憶部５３は、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Dive）、ＤＶＤ（Digital Versatile Disc）−ＲＡＭ、ＤＶＤ−ＲＷ（ReWritable）等の不揮発性メモリを備える。外部記憶部５３は、設定情報記憶部３０４、画像情報記憶部３０５、位置学習情報記憶部３０６、異常学習情報記憶部３０７、位置検出モデル記憶部３１１、異常検出モデル記憶部３１６、総合判定結果記憶部３２５として機能する。
【００２５】
また、コンピュータ３は、ユーザに操作される操作部５４を備える。操作部５４を介して、入力された情報が制御部５１に供給される。操作部５４は、キーボード、マウス等の情報入力部品を備える。操作部５４は、入力部３０１として機能する。
【００２６】
また、コンピュータ３は、操作部５４を介して入力された情報及び制御部５１が出力した情報を表示する表示部５５を備える。表示部５５は、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイ等の表示装置を備える。表示部５５は、初期画面表示部３２０、学習画面表示部３２１、検査画面表示部３２２として機能する。
【００２７】
また、コンピュータ３は、情報を送受信する送受信部５６を備える。送受信部５６は、ネットワークに接続する網終端装置、無線通信装置等の情報通信部品を備える。
【００２８】
また、コンピュータ３では、主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６はいずれも内部バス５０を介して制御部５１に接続されている。
【００２９】
図１、図３に示すコンピュータ３は、制御部５１が主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６を資源として用いることによって、入力部３０１、撮像制御部３０２、照明光制御部３０３の機能を実現する。例えば、コンピュータ３は、入力部３０１が行う入力ステップを実行し、撮像制御部３０２が行う撮像制御ステップを実行し、照明光制御部３０３が行う照明光制御ステップを実行する。また、制御部５１が主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６を資源として用いることによって、設定情報記憶部３０４、画像情報記憶部３０５、位置学習情報記憶部３０６、異常学習情報記憶部３０７の機能を実現する。例えば、コンピュータ３は、設定情報記憶部３０４が行う設定情報記憶ステップを実行し、画像情報記憶部３０５が行う画像情報記憶ステップを実行する。また、例えば、コンピュータ３は、位置学習情報記憶部３０６が行う位置学習情報記憶ステップを実行し、異常学習情報記憶部３０７が行う異常学習情報記憶ステップを実行する。
【００３０】
また、コンピュータ３は、制御部５１が主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６を資源として用いることによって、基準位置算出部３０８、マスク画像生成部３０９の機能を実現する。例えば、コンピュータ３は、基準位置算出部３０８が行う基準位置算出ステップを実行し、マスク画像生成部３０９が行うマスク画像生成ステップを実行する。また、コンピュータ３は、制御部５１が主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６を資源として用いることによって、位置検出モデル生成部３１０、位置検出モデル記憶部３１１、位置検出部３１２、位置規格判定部３１３、位置出力部３１４の機能を実現する。また、例えば、コンピュータ３は、位置検出モデル生成部３１０が行う位置検出モデル生成ステップを実行し、位置検出モデル記憶部３１１が行う位置検出モデル記憶ステップを実行し、位置検出部３１２が行う位置検出ステップを実行する。また、例えば、コンピュータ３は、位置規格判定部３１３が行う位置規格判定ステップを実行し、位置出力部３１４が行う位置出力ステップを実行する。
【００３１】
また、コンピュータ３は、制御部５１が主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６を資源として用いることによって、異常検出モデル生成部３１５、異常検出モデル記憶部３１６、異常検出部３１７の機能を実現する。例えば、コンピュータ３は、異常検出モデル生成部３１５が行う異常検出モデル生成ステップを実行し、異常検出モデル記憶部３１６が行う異常検出モデル記憶ステップを実行し、異常検出部３１７が行う異常検出ステップを実行する。また、コンピュータ３は、制御部５１が主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６を資源として用いることによって、異常規格判定部３１８、異常出力部３１９、総合判定部３２３、総合判定結果出力部３２４、総合判定結果記憶部３２５の機能を実現する。例えば、コンピュータ３は、異常規格判定部３１８が行う異常規格判定ステップを実行するとともに、異常出力部３１９が行う異常出力ステップを実行する。また、例えば、コンピュータ３は、総合判定部３２３が行う総合判定ステップを実行し、合判定結果出力部３２４が行う合判定結果出力ステップを実行し、総合判定結果記憶部３２５が行う総合判定結果記憶ステップを実行する。
【００３２】
［コンピュータ３の機能構成の詳細について］
図３に示すように、撮像制御部３０２は、撮像部２０９に基板４を撮像させる制御を行う。撮像制御部３０２は、検査を行うときに検査対象の画像である検査対象画像を取得するときだけでなく、機械学習を行う前に予め学習対象の画像である学習対象画像を取得するときにも撮像部２０９を制御して基板４を撮像する。
【００３３】
照明光制御部３０３は、撮像制御部３０２が撮像部２０９を制御して基板４を撮像するときの照明光出力部２１０、２１１が出力する照明光を調光する制御を行う。
【００３４】
設定情報記憶部３０４は、検査装置１で用いられる設定情報を記憶する。設定情報は、後述する図５Ａ〜図５Ｄに示す、検査装置１で用いられる情報の記憶領域及び撮像装置２が撮像する画像の画像サイズを示す装置設定情報、基板４の製品毎に設定された製品設定一覧情報、金属部品４０１の位置検査に用いられる位置検査設定情報、基板４の異常検査に用いられる異常検査設定情報を含む。
【００３５】
図５Ａは、実施の形態１に係る装置設定情報の一例を示す図である。装置設定情報は、図５Ａに示すように、基板４の製品名を示す「製品名」、検査対象画像の画像情報の一時記憶領域の位置を示す「検査用画像情報一時記憶領域」、学習対象画像の画像情報の記憶領域の位置を示す「学習用画像情報記憶領域」、位置検出の学習に用いる位置学習情報の記憶領域の位置を示す「位置学習情報記憶領域」、異常検出の学習に用いる異常学習情報の記憶領域の位置を示す「異常学習情報記憶領域」、検査対象画像の画像サイズを示す「画像サイズ」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。なお、前述のように、検査対象画像の画像情報の一時記憶領域と学習対象画像の画像情報の記憶領域は、画像情報記憶部３０５内に設定され、位置学習情報記憶領域は、位置学習情報記憶部３０６に設定され、異常学習情報記憶領域は異常学習情報記憶部３０７に設定される。
【００３６】
例えば、装置設定情報は、図５Ａに示す第1行において、「製品名」が「基板Ａ」の製品について、「ＦＡ１」で特定される位置に検査用画像情報を一時的に記憶する領域が設定されていることを示している。また、装置設定情報は、「製品名」が「基板Ａ」の製品について、「ＦＡ２」で特定される位置に学習用画像情報を記憶する領域が設定され、「ＦＡ３」で特定される位置に位置学習情報を記憶する領域が設定されていることを示している。また、装置設定情報は、「製品名」が「基板Ａ」の製品について、「ＦＡ４」で特定される位置に異常学習情報を記憶する領域が設定され、学習及び検査に使用される画像のサイズが「ＳＺＡ１」であることが設定されている。
【００３７】
図５Ｂは、実施の形態１に係る製品設定一覧情報の一例を示す図である。また、製品設定一覧情報は、図５Ｂに示すように、基板４の製品名を示す「製品名」、金属部品４０１の位置の基準である基板４の設計上の座標位置を示す「位置検査基準」、金属部品４０１の位置検査で用いる規格である後述する判定値の閾値を示す「位置検査規格」、基板４の異常検査で用いる規格である後述するサイズの閾値を示す「異常検査規格」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。なお、実施の形態１において、横方向位置決めブロック２０７及び縦方向位置決めブロック２０８に基板４を押し当てた状態で撮像装置２が基板４の画像を撮像することで、基板４の座標位置は、撮像装置２が撮像した画像の座標位置に置き換えられている。以下、基板４の設計上の座標位置は、Ｘ座標及びＹ座標の基準値と記載することがある。なお、判定値は、位置検出時に検出した基板４の座標位置のＸ座標及びＹ座標の値である測定値と基準値との差分値の絶対値である。すなわち、位置検査で用いる規格である判定値の閾値とは、位置検出時に検出した基板４のＸ座標及びＹ座標の測定値と基板４の設計上のＸ座標及びＹ座標の基準値との差分値の絶対値として許容される値である。
【００３８】
例えば、製品設定一覧情報は、図５Ｂの第１行において、「製品名」が「基板Ａ」の製品について、金属部品４０１の設計上の座標位置が（ＸＡ１，ＹＡ１）であり、金属部品４０１の位置についてＸ座標の測定値と基準値との差分値の閾値が「ＸＡ２」であることを示している。また、製品設定一覧情報は、「製品名」が「基板Ａ」の製品について、Ｙ座標の測定値と基準値との差分値の絶対値の閾値が「ＹＡ２」であり、基板４の表面の異常について許容されるサイズの閾値が「ＳＺＡ３」であることを示している。以下、差分値の閾値は、規格値と記載することがある。なお、実施の形態１では、差分値の絶対値を判定値とし、差分値の絶対値の閾値を規格値としたが、これに限定されず、例えば、差分値を判定値とし、差分値の下限値から上限値までを規格の範囲としてもよい。この場合、図５Ｂの第１行の情報については「ＹＡ２」に替えて「（−ＹＡ２）以上（＋ＹＡ２）以下」又は「±ＹＡ２」と表現してもよく、異なる数値である「ＹＡ２１」及び「ＹＡ２２」を用いて「ＹＡ２１以上ＹＡ２２以下」としてもよい。
【００３９】
図５Ｃは、実施の形態１に係る位置検査設定情報の一例を示す図である。位置検査設定情報は、図５Ｃに示すように、基板４の製品名を示す「製品名」、検査対象画像における位置検出範囲情報として始点から終点までのＸ座標の値の範囲と始点から終点までのＹ座標の値の範囲とを示す「位置検出範囲」、学習対象画像又は検査対象画像から抽出する画像のサイズの特定に用いられる横幅と縦幅を示す「パターンサイズ」、金属部品４０１の位置のＸ座標及びＹ座標の測定値を補正するために用いるオフセットの値を示す「オフセット」、機械学習の学習モデルの形式を示す「モデル形式」、学習対象画像又は検査対象画像から抽出した画像をマスクするサイズを特定する横幅と縦幅の長さを示す「マスクサイズ」、検査時に抽出した画像について求めたスコアの閾値を示す「スコア閾値」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。
【００４０】
例えば、位置検査設定情報は、図５Ｃの第１行において、「製品名」が「基板Ａ」の製品について、その画像の始点（ＸＳＡ１，ＹＳＡ１）と終点（ＸＥＡ１，ＹＥＡ１）を対角頂点とする矩形状の検出範囲内で、Ｘ方向のサイズである横幅ＷＡ１、Ｙ方向のサイズである縦幅ＬＡ１の画像を抽出して検査対象とすることを示している。また、位置検査設定情報は、「製品名」が「基板Ａ」の製品について、金属部品４０１の位置のＸ座標の測定値を補正するオフセットの値が「ＸＯＡ１」、Ｘ座標の測定値を補正するオフセットの値が「ＹＯＡ１」であることを示している。また、位置検査設定情報は、「製品名」が「基板Ａ」の製品について、検査に使用する学習モデルは「ＭＡ１」であり、画像をマスクする縦方向のサイズが「ＭＷＡ１」、横方向のサイズが「ＭＬＡ１」であり、スコアの閾値が「ＳＡ１」であることを示している。
【００４１】
図５Ｄは、実施の形態１に係る異常検査設定情報の一例を示す図である。異常検査設定情報は、図５Ｄに示すように、基板４の製品名を示す「製品名」、検査対象画像における異常検出範囲情報として始点から終点までのＸ座標の値の範囲と始点から終点までのＹ座標の値の範囲とを示す「異常検出範囲」、学習対象画像又は検査対象画像から抽出する画像のサイズの特定に用いられる横幅と縦幅の長さを示す「パターンサイズ」、機械学習の学習モデルの形式を示す「モデル形式」、検査時に抽出した画像について求めたスコアが十分に高いか否かの閾値を示す「スコア閾値」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。また、「スコア閾値」の項目については、異常の種別の一例としての「錆」、「歪み」、「打痕」、「付着物」の項目に分類されている。なお、異常の種別として、「錆」、「歪み」、「打痕」、「付着物」を例示したが、異常の種別についてはこれに限定されず、例えば、「傷」、「欠損」についても異常の種別に追加してもよい。
【００４２】
例えば、異常検査設定情報は、図５Ｄの第１行において、「製品名」が「基板Ａ」の製品について、その画像の始点（ＸＳＡ２，ＹＳＡ２）と終点（ＸＥＡ２，ＹＥＡ２）を対角頂点とする矩形状が検査範囲であることを示している。また、異常検査設定情報は、「製品名」が「基板Ａ」の製品について、検査範囲からＸ方向のサイズである横幅が「ＷＡ２」、Ｙ方向のサイズである縦幅が「ＬＡ２」の画像を抽出して検査対象とすることを示している。また、異常検査設定情報は、「製品名」が「基板Ａ」の製品について、検査に使用する学習モデルは「ＭＡ２」であり、「錆」のスコア閾値が「ＳＡ２１」、「歪み」のスコア閾値が「ＳＡ２２」、「打痕」のスコア閾値が「ＳＡ２３」、「付着物」のスコア閾値が「ＳＡ２４」であることを示している。
【００４３】
画像情報記憶部３０５は、予め取得した複数種類の学習対象画像の画像情報を記憶する。また、画像情報記憶部３０５は、検査を行うときに取得した検査対象画像の画像情報を一時記憶する。
【００４４】
図６は、実施の形態１に係る位置学習情報の一例を示す図である。位置学習情報記憶部３０６は、前述のように、金属部品４０１の位置を検出するための機械学習、すなわち、位置学習に用いる位置学習情報を記憶する。ここで、位置学習情報は、学習対象画像における金属部品４０１の光沢部分４０２の位置のＸ座標及びＹ座標の測定値を示す情報である。図６に示すように、位置学習情報は、光沢部分４０２のＸ座標及びＹ座標の測定値を示す「測定値」の項目の情報を含んでおり、「Ｘ座標」及び「Ｙ座標」の測定値の項目の情報が製品名毎に分類されている。また、位置学習情報の位置は、図５Ａの位置学習情報記憶領域に設定されている情報により特定される。
【００４５】
例えば、位置学習情報は、図６に示すように、学習時に取得した「基板Ａ」の学習対象画像について、「Ｘ座標」が「２６１」、「Ｙ座標」が「１１５」の位置に光沢部分４０２が存在していることを示している。なお、その記憶位置は、図５Ａの「位置学習情報記憶領域」の情報から「ＦＡ３」で特定される。
【００４６】
図７は、実施の形態１に係る異常学習情報の一例を示す図である。異常学習情報記憶部３０７は、前述のように、基板４の表面の異常を検出するための機械学習、すなわち、異常学習に用いる異常学習情報を記憶する。ここで、異常学習情報は、学習対象画像における基板４の表面の異常の位置のＸ座標及びＹ座標の測定値、異常の種別、異常のサイズを示す情報である。図７に示すように、異常学習情報は、実際又はシミュレーションで特定した異常のＸ座標及びＹ座標の測定値を示す「Ｘ座標」及び「Ｙ座標」、異常の種別を示す「種別」、異常のサイズを示す「サイズ」の項目の情報を含んでおり、これらの項目の情報が製品名毎に分類されている。なお、１つの製品について複数の異常を学習する必要があれば学習する異常毎にこれらの情報が分類されている。
【００４７】
例えば、異常学習情報は、図７に示すように、学習時に取得した「基板Ａ」の学習対象画像について、１つ目の異常として、「Ｘ座標」が「１１０」、「Ｙ座標」が「１７０」の位置に、サイズ「１６」の異物が「付着」する異常があることを示している。
【００４８】
図３に示す基準位置算出部３０８は、金属部品４０１の位置学習時に位置を検出する基準位置となるＸ座標及びＹ座標の値を算出する。詳細には、基準位置算出部３０８は、設定情報記憶部３０４に記憶されている装置設定情報の「位置学習情報記憶領域」の項目の情報で特定される位置から、製品名に対応する位置学習情報の「Ｘ座標」及び「Ｙ座標」の測定値を取得する。また、基準位置算出部３０８は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する位置検査設定情報の「オフセット」の項目の情報、すなわち、Ｘ座標及びＹ座標の測定値を補正するオフセットの値を取得する。そして、基準位置算出部３０８は、Ｘ座標の測定値とオフセットの値とを加算するとともに、Ｙ座標の測定値とオフセットの値とを加算することで、Ｘ座標及びＹ座標の基準値を算出する。ここで、オフセットは、例えば、検査装置が複数ある場合のように、カメラの設置のバラツキによって撮像範囲内で対象物が写る位置が同一にならない状況において、検査装置毎の測定値のバラツキを抑えるために設けられている。具体的には、オフセットの値として、基板４の画像における基板４の左上端のＸ座標及びＹ座標の値のそれぞれ正負を反転させて得られたマイナス値が検査装置毎に設定されている。そして、基準位置算出部３０８は、基板４の画像における金属部品４０１の位置のＸ座標及びＹ座標の値にオフセットのＸ座標及びＹ座標の値を加算する。この結果、検査装置１は、基板４の左上端からの相対位置として金属部品４０１の位置の測定値を検査装置毎のバラツキをなくした状態で算出することができる。
【００４９】
例えば、基準位置算出部３０８は、「基板Ａ」の学習対象画像を取得したときに、「位置学習情報記憶領域」の「ＦＡ３」から位置学習情報が記憶されているアドレスを特定し、位置学習情報から金属部品４０１位置のＸ座標及びＹ座標の測定値として「２６１」及び「１１５」を取得する。また、基準位置算出部３０８は、位置検査設定情報からＸ座標及びＹ座標のオフセットの値として「ＸＯＡ１」及び「ＹＯＡ１」を取得する。そして、基準位置算出部３０８は、Ｘ座標及びＹ座標の基準値として（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）を算出する。
【００５０】
マスク画像生成部３０９は、学習対象画像又は検出用の画像から抽出したパターンサイズの画像に異常が検出されているときにマスクをすることでマスク画像を生成する。マスク画像生成部３０９は、異常が検出されているときに、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する位置検査設定情報の「マスクサイズ」の項目の情報、すなわち、マスクの横幅と縦幅の長さを取得する。そして、マスク画像生成部３０９は、異常が検出されているＸ座標及びＹ座標の値の座標位置を中心として取得した横幅及び縦幅の長さのマスクをすることでマスク画像を生成する。ここで、マスクは、白色で塗りつぶした画像である。なお、マスクについては、白色で塗りつぶした画像に限定されず、例えば、白色以外の色で塗りつぶした画像であってもよく、取得した横幅及び縦幅の範囲の平均色で塗りつぶした画像であってもよい。また、例えば、複数種類の色を含む画像であってもよく、取得した横幅及び縦幅の範囲をぼかした画像であってもよい。また、例えば、格子模様、縞模様等の特定パターンの画像であってもよい。
【００５１】
例えば、マスク画像生成部３０９は、「基板Ａ」の学習対象画像を取得したときに、位置検査設定情報の「マスクサイズ」の横幅ＭＷＡ１及び縦幅ＭＬＡ１を取得する。また、マスク画像生成部３０９は、異常学習情報の「Ｘ座標」及び「Ｙ座標」の項目から異常の座標位置のＸ座標及びＹ座標の測定値として「１１０」及び「１７０」を取得する。また、マスク画像生成部３０９は、抽出したパターンサイズの画像に（１１０，１７０）の位置が含まれているか否かを特定する。また、マスク画像生成部３０９は、例えば、抽出したパターンサイズの画像に（１１０，１７０）の位置が含まれていることを特定した場合、抽出したパターンサイズの画像のうち、（１１０，１７０）の座標位置を中心とする横幅がＭＷＡ１、縦幅がＭＬＡ１の範囲の画像を白色で塗りつぶした画像に置き換える。
【００５２】
位置検出モデル生成部３１０は、前述のように、機械学習によって画像と金属部品４０１の位置との関係性を示す位置検出モデルを生成する。位置検出モデル生成部３１０は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する位置検査設定情報の「モデル形式」の項目の情報、すなわち、機械学習の学習モデルの形式を取得して位置検出モデルの雛形を生成する。ここで、位置検出モデル生成部３１０が行う機械学習の手法は、画像認識の深層学習で一般的に用いられているＣＮＮ（Convolutional Neural Network、畳み込みニューラルネットワーク）である。また、位置検出モデル生成部３１０が生成可能な機械学習の学習モデルの形式は、ＣＮＮにおいて代表的な深層学習モデルである「ＡｌｅｘＮｅｔ」、「ＶＧＧ」、「ＲｅｓＮｅｔ」の何れかから選択可能である。しかしながら、学習モデルの形式は、これらに限定されず、ＣＮＮの他の学習モデルが選択可能であってもよい。なお、機械学習の手法についてはＣＮＮに限定されず、画像認識可能な任意の機械学習の手法であってもよい。この場合、設定された機械学習の手法の学習モデルの形式を選択可能とする必要がある。
【００５３】
また、位置検出モデル生成部３１０は、設定情報記憶部３０４に記憶されている装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して画像情報記憶部３０５に記憶されている学習対象画像の画像情報を取得する。また、位置検出モデル生成部３１０は、金属部品４０１の製品名に対応する位置検査設定情報の「パターンサイズ」の項目の情報、すなわち、学習対象画像から抽出する画像の横幅と縦幅の長さを取得する。また、位置検出モデル生成部３１０は、基準位置算出部３０８が算出したＸ座標及びＹ座標の基準値を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出する。ここで、抽出した画像は、学習対象画像における金属部品４０１の光沢部分４０２の位置のＸ座標及びＹ座標の測定値に基づく基準値から抽出した画像であり、金属部品４０１の位置を特定可能な画像である。よって、抽出した画像は、位置検出において位置を検出したと特定可能な部分の画像、所謂ＯＫ分類の画像として取り扱われる画像である。このため、位置検出モデル生成部３１０は、抽出した画像をＯＫ分類の画像として機械学習を行うことで位置検出モデルを更新する。
【００５４】
なお、位置検出モデル生成部３１０は、抽出した画像についてマスク画像生成部３０９がマスク画像を生成しているときにはマスク画像についてもＯＫ分類の画像として機械学習を行うことで位置検出モデルを更新する。また、位置検出モデル生成部３１０は、Ｘ座標及びＹ座標の基準値とは異なる任意の値によって示された座標位置を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出し、抽出した画像をＮＧ分類の画像として機械学習を行うことで位置検出モデルを更新する。なお、Ｘ座標及びＹ座標の基準値とは異なる任意の値によって示された座標位置を中心としてＮＧ分類の画像を抽出したが、これに限定されない。例えば、ＮＧ分類の画像は、Ｘ座標の基準値に予め定められた値を加算したり減算したりした値によって示された座標位置を中心としてもよく、Ｙ座標の基準値に予め定められた値を加算したり減算したりした値によって示された座標位置を中心としてもよい。すなわち、位置検出モデル生成部３１０は、基準位置から予め定められた間隔を空けて離れた座標位置を中心としてＮＧ分類の画像を抽出してもよい。
【００５５】
例えば、位置検出モデル生成部３１０は、「基板Ａ」の学習対象画像を取得したときに、位置検査設定情報の「モデル形式」の項目の「ＭＡ１」を取得する。ここで、例えば、「ＭＡ１」が１６層の「ＶＧＧ」を示す「ＶＧＧ１６」であれば、位置検出モデル生成部３１０は、学習モデルの形式が「ＶＧＧ１６」の位置検出モデルの雛形を生成する。また、位置検出モデル生成部３１０は、装置設定情報の「学習用画像情報記憶領域」の「ＦＡ２」を参照して学習対象画像の画像情報が記憶されているアドレスを特定し、学習対象画像の画像情報を取得する。また、位置検出モデル生成部３１０は、位置検査設定情報の「パターンサイズ」の横幅ＷＡ１、縦幅ＬＡ１を取得して、学習対象画像から（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）の座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を抽出する。また、位置検出モデル生成部３１０は、抽出した画像をＯＫ分類の画像として機械学習を行うことで位置検出モデルを更新する。なお、位置検出モデル生成部３１０は、抽出した画像のマスク画像が生成されていれば、マスク画像もＯＫ分類の画像として機械学習を行うことで位置検出モデルを更新する。また、位置検出モデル生成部３１０は、学習対象画像から（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）以外の座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を抽出する。また、位置検出モデル生成部３１０は、抽出した画像をＮＧ分類の画像として機械学習を行うことで位置検出モデルを更新する。
【００５６】
位置検出部３１２は、前述のように、撮像部２０９が撮像した基板４を含む検査対象画像から金属部品４０１の位置を検出する。位置検出部３１２は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する装置設定情報の「検査用画像情報一時記憶領域」の項目の情報を参照して画像情報記憶部３０５に一時記憶されている検査対象画像の画像情報を取得する。また、位置検出部３１２は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する位置検査設定情報の「位置検出範囲」及び「パターンサイズ」の項目の情報を取得する。すなわち、位置検出部３１２は、検査対象画像における位置検出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値及び抽出する画像の横幅と縦幅の長さを取得する。
【００５７】
また、位置検出部３１２は、位置検出範囲内から選択されたＸ座標及びＹ座標の値によって示された座標位置を中心として取得した横幅と縦幅が示すパターンサイズの画像を検査対象画像から抽出する。また、位置検出部３１２は、位置検出モデル記憶部３１１に記憶されている位置検出モデルを取得し、位置検出モデルを抽出した画像に適用して画像の評価値であるスコアを算出する。ここで、算出されたスコアは、ＯＫ分類の画像である可能性を示すスコアであり、抽出した画像がＯＫ分類の画像である可能性が高くなるに連れてスコアが高くなり、抽出した画像がＯＫ分類の画像である可能性が低くなるに連れてスコアが低くなる。また、位置検出部３１２は、位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出し、抽出した画像のスコアをそれぞれ算出する。また、位置検出部３１２は、金属部品４０１の製品名に対応する位置検査設定情報の「スコア閾値」の項目の情報、すなわち、スコア閾値を取得し、算出したスコアが取得したスコア閾値以上となる画像があるか否かを判定する。また、位置検出部３１２は、スコア閾値以上となるスコアがあれば最大スコアとなった画像から取得したときのＸ座標及びＹ座標の測定値を算出することで、金属部品４０１の位置を検出する。
【００５８】
例えば、位置検出部３１２は、「基板Ａ」の検査対象画像を取得したときに、装置設定情報の「検査用画像情報一時記憶領域」の項目の「ＦＡ１」を参照して検査対象画像の画像情報が記憶されているアドレスを特定し、検査対象画像の画像情報を取得する。また、位置検出部３１２は、装置設定情報の「画像サイズ」の「ＳＺＡ１」を取得するとともに、位置検査設定情報の「位置検出範囲」のＸ座標の値の範囲ＸＳＡ１〜ＸＥＡ１、Ｙ座標の値の範囲ＹＳＡ１〜ＹＥＡ１及び「パターンサイズ」の横幅ＷＡ１、縦幅ＬＡ１を取得する。また、位置検出部３１２は、始点（ＸＳＡ１，ＹＳＡ１）と終点（ＸＥＡ１，ＹＥＡ１）を対角頂点とする矩形状の位置検出範囲内で選択された座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を検査対象画像から抽出する。
【００５９】
また、位置検出部３１２は、位置検出範囲内に選択可能な座標の位置がＮ個ある場合、取得した位置検出モデルをＮ個の抽出した画像に適用してこれらＮ個の画像のスコアＳＣ１１〜ＳＣ１Ｎを算出する。また、位置検出部３１２は、位置検査設定情報の「スコア閾値」の「ＳＡ１」を取得し、算出したスコアＳＣ１１〜ＳＣ１ＮからＳＡ１以上となる画像があるか否かを判定する。また、位置検出部３１２は、ＳＡ１以上となるスコアのうち最大スコアがＳＣ１Ｍである場合、例えば、最大スコアＳＣ１Ｍとなった画像からＸ座標及びＹ座標の測定値を検出する。具体的には、位置検出部３１２は、最大スコアＳＣ１Ｍとなった画像から取得したＸ座標及びＹ座標の値が（Ｘ０，Ｙ０）であれば、オフセットのＸ座標及びＹ座標の値（ＸＯＡ１，ＹＯＡ１）を加算した（Ｘ０＋ＸＯＡ１，Ｙ０＋ＹＯＡ１）をＸ座標及びＹ座標の測定値として算出することで、金属部品４０１の位置を検出する。ここで、（Ｘ１，Ｙ１）＝（Ｘ０＋ＸＯＡ１，Ｙ０＋ＹＯＡ１）とし、以降、Ｘ座標及びＹ座標の測定値を（Ｘ１，Ｙ１）と記載する。
【００６０】
位置規格判定部３１３は、前述のように、検出された金属部品４０１の位置が規格に適合するか否かを判定する。位置規格判定部３１３は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する製品設定一覧情報の「位置検査基準」及び「位置検査規格」の項目の情報、すなわち、金属部品４０１の位置検査におけるＸ座標及びＹ座標の基準値及び規格値である判定値の閾値を取得する。また、位置規格判定部３１３は、位置検出部３１２が特定したＸ座標の測定値から基準値を減算するとともに、位置検出部３１２が特定したＹ座標の測定値から基準値を減算することでＸ座標及びＹ座標の差分値を算出する。そして、位置規格判定部３１３は、算出したＸ座標の判定値である差分値の絶対値が閾値以下であり且つ算出したＹ座標の判定値である差分値の絶対値が閾値以下であれば、検出された金属部品４０１の位置が規格に適合していると判定する。また、位置規格判定部３１３は、算出したＸ座標の差分値の絶対値が閾値を超えるか算出したＹ座標の差分値の絶対値が閾値を超えていれば、検出された金属部品４０１の位置が規格に適合してないと判定する。
【００６１】
例えば、位置規格判定部３１３は、「基板Ａ」の検査対象画像を取得したときに、製品設定一覧情報の「位置検査基準」のＸ座標及びＹ座標の基準値（ＸＡ１，ＹＡ１）及び「位置検査規格」のＸ座標の差分値の閾値ＸＡ２、Ｙ座標の差分値の閾値ＹＡ２を取得する。また、位置規格判定部３１３は、Ｘ座標及びＹ座標の測定値（Ｘ１，Ｙ１）と基準値（ＸＡ１，ＹＡ１）との差分値（Ｘ１−ＸＡ１、Ｙ１−ＹＡ１）を算出する。そして、位置規格判定部３１３は、｜Ｘ１−ＸＡ１｜≦ＸＡ２且つ｜Ｙ１−ＹＡ１｜≦ＹＡ２であれば規格に適合していると判定する一方、｜Ｘ１−ＸＡ１｜＞ＸＡ２又は｜Ｙ１−ＹＡ１｜＞ＹＡ２であれば規格に適合していないと判定する。
【００６２】
位置出力部３１４は、検出された金属部品４０１の位置として位置検出部３１２が算出したＸ座標及びＹ座標の測定値を出力する。また、位置出力部３１４は、位置規格判定部３１３が取得したＸ座標及びＹ座標の基準値及び規格値、位置規格判定部３１３が算出したＸ座標及びＹ座標の判定値である差分値の絶対値を出力する。また、位置出力部３１４は、位置規格判定部３１３が規格に適合していると判定したときには判定結果情報として規格に適合している旨を示す判定ＯＫ情報を出力し、位置規格判定部３１３が規格に適合してないと判定したときには判定結果情報として規格に適合していない旨を示す判定ＮＧ情報を出力する。なお、判定ＯＫ情報及び判定ＮＧ情報は、例えば、「ＯＫ」及び「ＮＧ」の情報である。また、位置出力部３１４は、位置検出部３１２が金属部品４０１の位置の検出に失敗した場合、検査失敗情報を出力する。なお、検査失敗情報は、例えば、「Ｎ／Ａ」の情報である。
【００６３】
例えば、位置出力部３１４は、「基板Ａ」の検査対象画像を取得したときに、（Ｘ１，Ｙ１）、（ＸＡ１，ＹＡ１）、（ＸＡ２，ＹＡ２）、（Ｘ１−ＸＡ１，Ｙ１−ＹＡ１）を出力する。また、位置出力部３１４は、｜Ｘ１−ＸＡ１｜≦ＸＡ２且つ｜Ｙ１−ＹＡ１｜≦ＹＡ２であれば判定ＯＫ情報を出力し、｜Ｘ１−ＸＡ１｜＞ＸＡ２又は｜Ｙ１−ＹＡ１｜＞ＹＡ２であれば判定ＮＧ情報を出力する。
【００６４】
異常検出モデル生成部３１５は、前述のように、機械学習によって画像と基板４の表面の異常との関係性を示す異常検出モデルを生成する。異常検出モデル生成部３１５は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する異常検査設定情報の「モデル形式」の項目の情報、すなわち、機械学習の学習モデルの形式を取得して異常検出モデルの雛形を生成する。また、異常検出モデル生成部３１５は、設定情報記憶部３０４に記憶されている装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して画像情報記憶部３０５に記憶されている学習対象画像の画像情報を取得する。また、異常検出モデル生成部３１５は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する装置設定情報の「異常学習情報記憶領域」の項目の情報を参照して異常学習情報記憶部３０７に記憶されている金属部品４０１の製品名に対応する異常学習情報の「Ｘ座標」及び「Ｙ座標」の項目の情報を取得する。すなわち、異常検出モデル生成部３１５は、Ｘ座標及びＹ座標の測定値を取得する。
【００６５】
また、異常検出モデル生成部３１５は、異常検査設定情報の「パターンサイズ」の項目の情報、すなわち、学習対象画像から抽出する画像の横幅と縦幅の長さを取得する。また、異常検出モデル生成部３１５は、取得したＸ座標及びＹ座標の測定値を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出する。また、異常検出モデル生成部３１５は、金属部品４０１の製品名に対応する異常学習情報の「種別」の項目の情報、すなわち、学習する異常の種別を取得し、抽出した画像を取得した種別の分類の異常の画像として機械学習を行うことで異常検出モデルを更新する。
【００６６】
例えば、異常検出モデル生成部３１５は、「基板Ａ」の学習対象画像を取得したときに、異常検査設定情報の「モデル形式」の「ＭＡ２」を取得して異常検出モデルの雛形を生成する。ここで、例えば、「ＭＡ２」が「ＶＧＧ１６」であれば、異常検出モデル生成部３１５は、学習モデルの形式が「ＶＧＧ１６」の異常検出モデルの雛形を生成する。また、異常検出モデル生成部３１５は、「学習用画像情報記憶領域」の「ＦＡ２」を参照して学習対象画像の画像情報を取得する。
【００６７】
また、異常検出モデル生成部３１５は、「異常学習情報記憶領域」の「ＦＡ４」を参照して異常学習情報が記憶されているアドレスを特定し、異常学習情報から基板４の表面の異常の位置のＸ座標及びＹ座標の測定値として「１１０」及び「１７０」を取得する。また、異常検出モデル生成部３１５は、異常検査設定情報から「パターンサイズ」の横幅ＷＡ２、縦幅ＬＡ２を取得する。また、異常検出モデル生成部３１５は、学習対象画像から（１１０，１７０）の座標位置を中心とする横幅がＷＡ２、縦幅がＬＡ２の範囲の画像を抽出する。また、異常検出モデル生成部３１５は、異常学習情報の「種別」の項目の「付着物」を取得し、抽出した画像を付着物の分類の異常の画像として機械学習を行うことで異常検出モデルを更新する。
【００６８】
異常検出部３１７は、前述のように、撮像部２０９が撮像した基板４を含む画像から基板４の表面の異常を検出する。異常検出部３１７は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する装置設定情報の「検査用画像情報一時記憶領域」の項目の情報を参照して画像情報記憶部３０５に一時記憶されている検査対象画像の画像情報を取得する。また、異常検出部３１７は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する異常検査設定情報の「異常検出範囲」及び「パターンサイズ」の項目の情報を取得する。すなわち、異常検出部３１７は、検査対象画像における異常検出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値及び抽出する画像の横幅と縦幅の長さを取得する。
【００６９】
また、異常検出部３１７は、異常検出範囲内から選択されたＸ座標及びＹ座標の値によって示された座標位置を中心として取得した横幅と縦幅のパターンサイズの画像を検査対象画像から抽出する。また、異常検出部３１７は、異常検出モデル記憶部３１６に記憶されている異常検出モデルを取得し、異常検出モデルを抽出した画像に適用して当該画像の評価値であるスコアを異常の種別毎に算出する。ここで、算出されたスコアは、特定の種別の異常を含む画像である可能性を示すスコアである。例えば、「錆」のスコアについては、抽出した画像が「錆」の異常を含む画像である可能性が高くなるに連れてスコアが高くなり、抽出した画像が「錆」の異常を含む画像である可能性が低くなるに連れてスコアが低くなる。
【００７０】
また、異常検出部３１７は、金属部品４０１の製品名に対応する位置検査設定情報の「スコア閾値」の項目の情報、すなわち、異常の種別毎のスコア閾値を取得し、算出したスコアが取得したスコア閾値以上となる種別があるか否かを判定する。また、異常検出部３１７は、スコア閾値以上となるスコアがあれば最大スコアとなった種別の異常と特定し、異常と特定した画像のＸ座標及びＹ座標の測定値を算出するとともに、画像処理によって異常と特定した部分のサイズを算出する。なお、異常検出部３１７は、スコア閾値以上となるスコアがなければ基板４の表面の異常を検出しなかったことになる。そして、異常検出部３１７は、異常検出範囲内の全てのパターンサイズの画像を抽出し、抽出した画像における異常の種別毎のスコアをそれぞれ算出し、スコア閾値以上となる種別があれば最大スコアとなった種別の異常の種別と特定し、Ｘ座標及びＹ座標の測定値及びサイズを算出する。
【００７１】
例えば、異常検出部３１７は、「基板Ａ」の検査対象画像を取得したときに、「検査用画像情報一時記憶領域」の「ＦＡ１」を参照して検査対象画像の画像情報を取得する。また、異常検出部３１７は、「画像サイズ」の項目の「ＳＺＡ１」を取得するとともに、異常検査設定情報の「異常検出範囲」のＸ座標の値の範囲ＸＳＡ２〜ＸＥＡ２、Ｙ座標の値の範囲ＹＳＡ２〜ＹＥＡ２及び「パターンサイズ」の横幅ＷＡ２、縦幅ＬＡ２を取得する。また、位置検出部３１２は、始点（ＸＳＡ２，ＹＳＡ２）と終点（ＸＥＡ２，ＹＥＡ２）を対角頂点とする矩形状の異常検出範囲内で選択された座標位置を中心とする横幅がＷＡ２、縦幅がＬＡ２の範囲の画像を学習対象画像から抽出する。
【００７２】
また、異常検出部３１７は、取得した異常検出モデルを抽出した画像に適用して当該画像のスコアを異常の種別毎に算出する。また、異常検出部３１７は、位置検査設定情報の「スコア閾値」の「錆」のスコア閾値のＳＡ２１、「歪み」のスコア閾値ＳＡ２２、「打痕」のスコア閾値ＳＡ２３、「付着物」のスコア閾値ＳＡ２４を取得し、算出したスコアが取得したスコア閾値以上となる種別があるか否かを判定する。また、異常検出部３１７は、スコア閾値以上となるスコアがあれば最大スコアとなった種別の異常と特定する。具体的には、異常検出部３１７は、「錆」のスコアがＳＣ２１、「歪み」のスコアがＳＣ２２、「打痕」のスコアがＳＣ２３、「付着物」のスコアがＳＣ２４であり、ＳＣ２１＜ＳＣ２２＜ＳＣ２３＜ＳＣ２４、ＳＣ２１＜ＳＡ２１、ＳＣ２２＜ＳＡ２２、ＳＣ２３＜ＳＡ２３、ＳＣ２４＞ＳＡ２４であれば、付着物の異常と特定する。
【００７３】
なお、実施の形態１では、異常検出部３１７は、スコア閾値以上となるスコアがあれば最大スコアとなった種別の異常と特定したが、最大スコアではなくてもスコア閾値以上のスコアであればそのスコアとなった種別の異常と特定してもよい。例えば、異常検出部３１７は、ＳＣ２２＜ＳＣ２３＜ＳＣ２１＜ＳＣ２４、ＳＣ２１＞ＳＡ２１、ＳＣ２２＜ＳＡ２２、ＳＣ２３＜ＳＡ２３、ＳＣ２４＞ＳＡ２４であれば、錆及び付着物の異常と特定してもよい。また、異常検出部３１７は、例えば、異常と特定した画像のＸ座標及びＹ座標の値が（Ｘ２，Ｙ２）、サイズがＳＺ２であれば、（Ｘ２，Ｙ２）をＸ座標及びＹ座標の測定値として算出するとともに、ＳＺ２を画像処理によって異常と特定した部分のサイズとして算出する。そして、異常検出部３１７は、異常検出範囲内の全てのパターンサイズの画像を抽出し、抽出した画像における異常の種別毎のスコアを算出し、スコア閾値以上となる種別があれば最大スコアとなった種別の異常の種別と特定し、Ｘ座標及びＹ座標の測定値及びサイズを算出する。
【００７４】
異常規格判定部３１８は、前述のように、検出された基板４の表面の異常が規格に適合するか否かを判定する。異常規格判定部３１８は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する製品設定一覧情報の「異常検査規格」の項目の情報、すなわち、金属部品４０１の異常検査における異常のサイズの規格値を取得する。また、異常規格判定部３１８は、異常検出部３１７が算出した異常のサイズの値が規格値以下であれば、検出された基板４の表面の異常があっても規格に適合していると判定する。また、異常規格判定部３１８は、異常検出部３１７が算出した異常のサイズの値が規格値を超えていれば、検出された基板４の表面の異常によって規格に適合してないと判定する。
【００７５】
例えば、異常規格判定部３１８は、「基板Ａ」の検査対象画像を取得したときに、製品設定一覧情報の「異常検査規格」のサイズの閾値ＳＺＡ３を取得する。また、異常規格判定部３１８は、ＳＺ２≦ＳＺＡ３であれば規格に適合していると判定する一方、ＳＺ２＞ＳＺＡ３であれば規格に適合してないと判定する。
【００７６】
異常出力部３１９は、検出された基板４の表面の異常として、異常検出部３１７が特定した異常の種別、異常検出部３１７が算出したＸ座標及びＹ座標の値及び異常のサイズを出力する。また、異常出力部３１９は、異常規格判定部３１８が取得した異常のサイズの規格値を出力する。また、異常出力部３１９は、異常規格判定部３１８が規格に適合していると判定したときには判定結果情報として規格に適合している旨を示す判定ＯＫ情報を出力し、異常規格判定部３１８が規格に適合してないと判定したときには判定結果情報として規格に適合していない旨を示す判定ＮＧ情報を出力する。
【００７７】
例えば、異常出力部３１９は、「基板Ａ」の検査対象画像を取得したときに、「付着物」、（Ｘ２，Ｙ２）、ＳＺ２、ＳＺＡ３を出力する。また、異常出力部３１９は、ＳＺ２≦ＳＺＡ３であれば判定ＯＫ情報を出力する一方、ＳＺ２＞ＳＺＡ３であれば判定ＮＧ情報を出力する。
【００７８】
図８は、実施の形態１に係る初期画面の表示例を示す図である。初期画面表示部３２０は、検査のためのプログラムを実行したときに図８に示す初期画面５を表示する。初期画面５は、学習画面を表示するための学習画面表示ボタン５０１、検査画面を表示するための検査画面表示ボタン５０２、プログラムを終了するための終了ボタン５０３を備える。図８に示すように、初期画面５において、学習画面表示ボタン５０１は、初期画面５の上側左部に設けられ、検査画面表示ボタン５０２は、初期画面５の上側右部に設けられ、終了ボタン５０３は、初期画面５の下側の左右方向中央部に設けられている。
【００７９】
図９は、実施の形態１に係る学習画面の表示例を示す図である。学習画面表示部３２１は、初期画面５において学習画面表示ボタン５０１が操作されたときに図９に示す学習画面６を表示する。学習画面６は、学習対象画像を表示するための学習用画像表示欄６０１、基板４の製品名を選択するための製品選択欄６０２、学習対象画像を選択するための学習用画像選択欄６０３を備える。また、学習画面６は、学習対象画像を撮像するための学習用画像撮像ボタン６０４、選択された学習対象画像の画像情報を読み込むための学習用画像読込ボタン６０５、選択された学習対象画像の画像情報を削除するための学習用画像削除ボタン６０６を備える。
【００８０】
また、学習画面６は、位置学習情報を表示するための位置学習情報表示欄６０７、異常学習情報を表示するための異常学習情報表示欄６０８、金属部品４０１の位置を位置学習情報表示欄６０７に反映させるための位置学習情報反映ボタン６０９を備える。また、学習画面６は、基板４の表面の異常の位置を異常学習情報表示欄６０８に反映させるための第１異常学習情報反映ボタン６１０、基板４の表面の画像を拡大表示するための拡大表示欄６１１を備える。また、学習画面６は、基板４の表面の異常のサイズを異常学習情報表示欄６０８に反映させるための第２異常学習情報反映ボタン６１２を備える。また、学習画面６は、位置学習情報表示欄６０７及び異常学習情報表示欄６０８の内容を位置学習情報及び異常学習情報として保存するための保存ボタン６１３、機械学習を実行するための学習ボタン６１４を備える。
【００８１】
また、学習画面６は、初期画面５の表示に戻るための戻るボタン６１５、基板４の表面の異常の種別を選択するための異常種別選択欄６１６、基板４の表面の異常の種別の項目を異常学習情報表示欄６０８に追加するための異常種別追加ボタン６１７を備える。また、学習画面６は、異常学習情報表示欄６０８で選択した基板４の表面の異常の種別の項目を削除するための異常種別削除ボタン６１８を備える。
【００８２】
図９に示すように、学習画面６において、学習用画像表示欄６０１は、学習画面６の左側上部に設けられ、製品選択欄６０２は、学習画面６の右側上部に設けられ、学習用画像選択欄６０３は、製品選択欄６０２の下方に設けられている。また、学習用画像撮像ボタン６０４は、学習用画像選択欄６０３の左側下方に設けられ、学習用画像読込ボタン６０５は、学習用画像選択欄６０３の下方に設けられ、学習用画像削除ボタン６０６は、学習用画像選択欄６０３の右側下方に設けられている。また、位置学習情報表示欄６０７は、学習用画像表示欄６０１の左側下方に設けられ、異常学習情報表示欄６０８は、学習用画像表示欄６０１の下方に設けられ、位置学習情報反映ボタン６０９は、ボタン６０４〜６０６の下方に設けられている。
【００８３】
また、第１異常学習情報反映ボタン６１０は、位置学習情報反映ボタン６０９の下方に設けられ、拡大表示欄６１１は、第１異常学習情報反映ボタン６１０の下方に設けられ、第２異常学習情報反映ボタン６１２は、拡大表示欄６１１の下方に設けられている。また、保存ボタン６１３は、第２異常学習情報反映ボタン６１２の左側下方に設けられ、学習ボタン６１４は、第２異常学習情報反映ボタン６１２の下方に設けられ、戻るボタン６１５は、第２異常学習情報反映ボタン６１２の右側下方に設けられている。また、異常種別選択欄６１６は、学習用画像表示欄６０１の右側下方に設けられ、異常種別追加ボタン６１７は、異常種別選択欄６１６の左側下方に設けられ、異常種別削除ボタン６１８は、異常種別選択欄６１６の右側下方に設けられている。
【００８４】
学習画面表示部３２１は、設定情報記憶部３０４に記憶されている「製品名」の項目の情報、すなわち、製品名を全て取得し、製品選択欄６０２において選択可能とする。また、学習画面表示部３２１は、使用者が入力部３０１を介して製品選択欄６０２において製品名を選択すると、設定情報記憶部３０４に記憶されている選択された製品名に対応する装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して学習用画像選択欄６０３に選択された製品名についての学習対象画像のファイル名を一覧表示する。また、学習画面表示部３２１は、使用者が入力部３０１を介して学習用画像選択欄６０３においてファイル名を選択してから学習用画像読込ボタン６０５を操作すると、画像情報記憶部３０５から選択されたファイル名の学習対象画像の画像情報を取得して学習対象画像を学習用画像表示欄６０１に表示する。
【００８５】
なお、製品選択欄６０２において製品名が選択された状態で使用者が入力部３０１を介して学習用画像撮像ボタン６０４を操作すると、照明光制御部３０３が照明光出力部２１０、２１１を制御して照明光が出力されるとともに、撮像制御部２０２が撮像部２０９を制御して学習対象画像を撮像して画像情報を画像情報記憶部３０５に記憶する。そして、学習画面表示部３２１は、撮像された学習対象画像のファイル名を学習用画像選択欄６０３に追加表示し、撮像された学習対象画像を学習用画像表示欄６０１に表示する。
【００８６】
また、学習画面表示部３２１は、学習用画像表示欄６０１にカーソル６１９を表示しており、使用者が入力部３０１を介してカーソル６１９の表示位置を変更可能となっている。よって、使用者は、入力部３０１を介してカーソル６１９の表示位置を学習用画像表示欄６０１に表示された学習対象画像から金属部品４０１の光沢部分４０２に対応する位置６２０又は基板４の表面の異常に対応する位置６２１に変更可能である。また、学習画面表示部３２１は、使用者がカーソル６１９の表示位置を光沢部分４０２に対応する位置６２０に変更すると、光沢部分４０２に対応する位置６２０の拡大画像を拡大表示欄６１１に表示する。また、学習画面表示部３２１は、拡大画像が拡大表示欄６１１に表示された状態で使用者が入力部３０１を介して位置学習情報反映ボタン６０９を操作すると、カーソル６１９の表示位置に対応するＸ座標及びＹ座標の測定値を位置学習情報表示欄６０７に表示する。
【００８７】
また、学習画面表示部３２１は、使用者がカーソル６１９の表示位置を基板４の表面の異常に対応する位置６２１に変更すると、基板４の表面の異常に対応する位置６２１の拡大画像を拡大表示欄６１１に表示する。このとき、学習画面表示部３２１は、領域表示枠６２２を表示し、基板４の表面の異常に対応する位置６２１を中心とする異常の画像６２３を領域表示枠６２２で囲んだ状態で表示する。また、学習画面表示部３２１は、異常種別選択欄６１６において「錆」、「歪み」、「打痕」、「付着物」の４種類の異常の種別を選択可能としている。
【００８８】
学習画面表示部３２１は、拡大表示欄６１１に領域表示枠６２２が表示された状態で使用者が入力部３０１を介して異常種別選択欄６１６において異常の種別を選択してから異常種別追加ボタン６１７を操作すると、異常学習の項目を追加して選択された異常の種別を異常学習情報表示欄６０８の「種別」の項目に表示する。また、学習画面表示部３２１は、使用者が入力部３０１を介して異常学習情報表示欄６０８の異常学習の種類を選択した状態で第１異常学習情報反映ボタン６１０を操作すると、カーソル６１９の表示位置に対応するＸ座標及びＹ座標の測定値を異常学習情報表示欄６０８の選択した異常学習の「Ｘ座標」及び「Ｙ座標」の項目に表示する。また、学習画面表示部３２１は、使用者が入力部３０１を介して異常学習情報表示欄６０８の異常学習の種類を選択した状態で第２異常学習情報反映ボタン６１２を操作すると、領域表示枠６２２のサイズを異常学習情報表示欄６０８の選択した異常学習の「サイズ」の項目に表示する。
【００８９】
なお、学習画面表示部３２１は、使用者が入力部３０１を介して異常学習情報表示欄６０８の異常学習の種類を選択した状態で異常種別削除ボタン６１８を操作すると、選択された異常学習の項目を非表示する。
【００９０】
また、学習画面表示部３２１は、位置学習情報表示欄６０７に表示がある状態で使用者が入力部３０１を介して保存ボタン６１３を操作すると、設定情報記憶部３０４に記憶されている選択された製品名の画像表示情報の「位置学習情報記憶領域」の項目を参照し、位置学習情報表示欄６０７に表示された情報を選択された製品名の位置学習情報として位置学習情報記憶部３０６に記憶させる。また、学習画面表示部３２１は、異常学習情報表示欄６０８に表示がある状態で使用者が入力部３０１を介して保存ボタン６１３を操作すると、設定情報記憶部３０４に記憶されている選択された製品名の画像表示情報の「異常学習情報記憶領域」の項目を参照し、異常学習情報表示欄６０８に表示された情報を選択された製品名の異常学習情報として異常学習情報記憶部３０７に記憶させる。
【００９１】
また、学習画面表示部３２１は、位置学習情報表示欄６０７に表示がある状態で使用者が入力部３０１を介して学習ボタン６１４を操作すると、前述のように、位置検出モデル生成部３１０に位置検出モデルを生成させる。また、学習画面表示部３２１は、異常学習情報表示欄６０８に表示がある状態で使用者が入力部３０１を介して学習ボタン６１４を操作すると、前述のように、異常検出モデル生成部３１５に異常検出モデルを生成させる。なお、学習画面表示部３２１は、位置検出モデル及び異常検出モデルの生成中に使用者が入力部３０１を介して学習ボタン６１４を操作すると、位置検出モデル生成部３１０及び異常検出モデル生成部３１５に生成を中止させる。
【００９２】
また、学習画面表示部３２１は、使用者が入力部３０１を介して学習用画像選択欄６０３においてファイル名を選択した状態で学習用画像削除ボタン６０６を操作すると、学習用画像選択欄６０３の選択されたファイル名を非表示にする。また、このとき、学習画面表示部３２１は、学習用画像表示欄６０１、拡大表示欄６１１、位置学習情報表示欄６０７、異常学習情報表示欄６０８に選択されたファイル名の学習対象画像に関連する情報があれば非表示にする。また、このとき、学習画面表示部３２１は、画像情報記憶部３０５に選択されたファイル名の学習対象画像の画像情報を削除させる。また、学習画面表示部３２１は、使用者が入力部３０１を介して戻るボタン６１５を操作すると、学習画面６を非表示にして初期画面表示部３２０に初期画面５を表示させる。
【００９３】
図１０は、実施の形態１に係る検査画面の表示例を示す図である。検査画面表示部３２２は、初期画面５において検査画面表示ボタン５０２が操作されたときに図１０に示す検査画面７を表示する。検査画面７は、検査対象画像を表示する検査用画像表示欄７０１、基板４の製品名を選択するための製品選択欄７０２、金属部品４０１の位置の検査に関する情報を表示するための位置検査情報表示欄７０３を備える。また、検査画面７は、基板４の表面の異常の検査に関する情報を表示するための異常検査情報表示欄７０４、検査用画像表示欄７０１における位置検査情報表示欄７０３の測定値及び基準値に基づくマークの表示の有無を切り替えるためのマーク表示切替欄７０５を備える。また、検査画面７は、金属部品４０１の位置の検査及び基板４の表面の異常の検査の総合判定結果を表示するための総合判定欄７０６、検査を実行するための検査実行ボタン７０７を備える。また、検査画面７は、位置検査情報表示欄７０３及び異常検査情報表示欄７０４に表示された情報を保存するための保存ボタン７０８、初期画面の表示に戻るための戻るボタン７０９を備える。
【００９４】
図１０に示すように、検査画面７において、検査用画像表示欄７０１は、検査画面７の左側上部に設けられ、製品選択欄７０２は、検査画面７の右側上部に設けられている。また、位置検査情報表示欄７０３は、検査用画像表示欄７０１の下方に設けられ、異常検査情報表示欄７０４は、位置検査情報表示欄７０３の右方に設けられている。また、マーク表示切替欄７０５は、製品選択欄７０２の下方に設けられ、総合判定欄７０６は、マーク表示切替欄７０５の下方に設けられ、検査実行ボタン７０７は、総合判定欄７０６の下方に設けられている。また、保存ボタン７０８は、検査実行ボタン７０７の左側下方に設けられ、戻るボタン７０９は、検査実行ボタン７０７の右側下方に設けられている。
【００９５】
検査画面表示部３２２が検査画面７を表示すると、照明光制御部３０３は、照明光出力部２１０、２１１を制御して照明光を出力するとともに、撮像制御部３０２は、撮像部２０９を制御して撮像した検査対象画像を検査用画像表示欄７０１に表示する。検査画面表示部３２２は、設定情報記憶部３０４に記憶されている「製品名」の項目の情報、すなわち、製品名を全て取得し、製品選択欄７０２において選択可能とする。また、検査画面表示部３２２は、使用者が入力部３０１を介して製品選択欄７０２において製品名を選択した状態で検査実行ボタン７０７を操作すると、前述のように、位置検出部３１２に金属部品４０１の位置を検出させる。また、検査画面表示部３２２は、位置規格判定部３１３に規格に適合しているか否かを判定させ、位置出力部３１４にＸ座標及びＹ座標の測定値、基準値、規格値、判定値、判定結果情報を出力させる。また、検査画面表示部３２２は、出力されたＸ座標及びＹ座標の測定値、基準値、規格値、判定値、判定結果情報を位置検査情報表示欄７０３に表示する。
【００９６】
なお、検査画面表示部３２２は、マーク表示切替欄７０５において「測定値」の項目と「基準値」の項目とが選択可能となっている。検査画面表示部３２２は、位置検査情報表示欄７０３にＸ座標及びＹ座標の測定値の表示がある状態で使用者が入力部３０１を介してマーク表示切替欄７０５において「測定値」の項目を選択すると、検査用画像表示欄７０１におけるＸ座標及びＹ座標の測定値に対応する位置７１０に測定値用のマーク７１１を表示する。また、検査画面表示部３２２は、位置検査情報表示欄７０３にＸ座標及びＹ座標の基準値の表示がある状態で使用者が入力部３０１を介してマーク表示切替欄７０５において「基準値」の項目を選択すると、検査用画像表示欄７０１におけるＸ座標及びＹ座標の基準値に対応する位置に図示しない基準値用のマークを表示する。なお、検査画面表示部３２２は、検査用画像表示欄７０１に基準値用のマークが表示された状態で使用者が入力部３０１を介して基準値用のマークの位置を移動させると位置検査情報表示欄７０３にＸ座標及びＹ座標の基準値の表示を変更してもよい。
【００９７】
また、検査画面表示部３２２は、使用者が入力部３０１を介して製品選択欄７０２において製品名を選択した状態で検査実行ボタン７０７を操作すると、前述のように、異常検出部３１７に基板４の表面の異常を検出させる。また、検査画面表示部３２２は、異常規格判定部３１８に規格に適合しているか否かを判定させ、異常出力部３１９に異常の種別、異常のＸ座標及びＹ座標の値、異常のサイズの測定値、規格値、判定結果情報を出力させる。また、検査画面表示部３２２は、出力された異常の種別、異常のＸ座標及びＹ座標の値、異常のサイズの測定値、規格値、判定結果情報を異常検査情報表示欄７０４に表示する。
【００９８】
また、検査画面表示部３２２は、使用者が入力部３０１を介して製品選択欄７０２において製品名を選択した状態で検査実行ボタン７０７を操作すると、総合判定部３２３に総合判定を行わせ、総合判定結果出力部３２４に総合判定結果情報を出力させる。また、検査画面表示部３２２は、出力された総合判定結果情報を総合判定欄７０６に表示する。
【００９９】
また、検査画面表示部３２２は、位置検査情報表示欄７０３に表示がある状態で使用者が入力部３０１を介して保存ボタン７０８を操作すると、位置検査情報表示欄７０３に表示されたＸ座標及びＹ座標の測定値、基準値、規格値、判定値及び判定結果情報を位置検査情報として総合判定結果記憶部３２５に記憶させる。なお、このとき、位置検査情報表示欄７０３にＸ座標及びＹ座標の基準値の表示が変更されていれば、設定情報記憶部３０４に製品設定一覧情報の「位置検査基準」の項目の情報を変更した値に更新してもよい。また、検査画面表示部３２２は、異常検査情報表示欄７０４に表示がある状態で使用者が入力部３０１を介して保存ボタン７０８を操作すると、異常検査情報表示欄７０４に表示された異常の種別、異常のＸ座標及びＹ座標の値、異常のサイズの測定値、規格値、判定結果情報を異常検査情報として総合判定結果記憶部３２５に記憶させる。また、検査画面表示部３２２は、異常検査情報表示欄７０４に表示がある状態で使用者が入力部３０１を介して保存ボタン７０８を操作すると、総合判定欄７０６に表示された総合判定情報を総合判定結果記憶部３２５に記憶させる。また、検査画面表示部３２２は、使用者が入力部３０１を介して戻るボタン７０９を操作すると、検査画面７を非表示にして初期画面表示部３２０に初期画面５を表示させる。
【０１００】
総合判定部３２３は、前述のように、金属部品４０１の位置の検査結果と基板４の表面の異常の検査結果とを総合判定する。総合判定部３２３は、位置出力部３１４が出力した判定結果情報が判定ＯＫ情報であり且つ異常出力部３１９が出力した判定結果情報が全て判定ＯＫ情報であれば総合判定結果として総合判定ＯＫと判定する。一方、総合判定部３２３は、位置出力部３１４が出力した判定結果情報が判定ＮＧ情報、又は、異常出力部３１９が出力した判定結果情報のうち一つでも判定ＮＧ情報があれば総合判定結果として総合判定ＮＧと判定する。
【０１０１】
総合判定結果出力部３２４は、総合判定部３２３が総合判定ＯＫと判定すれば総合判定結果情報として総合判定ＯＫ情報を出力する一方、総合判定部３２３が総合判定ＮＧと判定すれば総合判定結果情報として総合判定ＮＧ情報を出力する。なお、総合判定ＯＫ情報及び総合判定ＮＧ情報は、例えば、「判定ＯＫ」及び「判定ＮＧ」の情報である。
総合判定結果記憶部３２５は、前述のように、検査画面７の位置検査情報表示欄７０３に表示された位置検査情報、検査画面７の異常検査情報表示欄７０４に表示された異常検査情報、検査画面７の総合判定欄７０６に表示された総合判定情報を記憶する。
【０１０２】
図１１は、実施の形態１に係る位置検出モデル生成処理を示すフローチャートである。図１１に示すフローチャートを用いて検査装置１が位置検出モデルを生成する動作について説明する。位置検出モデル生成部３１０は、学習画面６において使用者が入力部３０１を介して学習ボタン６１４を操作すると、位置検出モデル生成処理の実行を開始する。先ず、図１１に示すように、位置検出モデル生成部３１０は、学習画面６において選択された製品名に対応する位置検査設定情報からモデル形式を取得して機械学習前の位置検出モデルを生成する（ステップＳ１０１）。例えば、学習画面６において「基板Ａ」が選択されていれば、位置検出モデル生成部３１０は、位置検査設定情報から「ＭＡ１」を取得してモデル形式が「ＭＡ１」の位置検出モデルを生成する。
【０１０３】
また、位置検出モデル生成部３１０は、学習画面６において選択された製品名に対応する画像情報から学習対象画像を取得する（ステップＳ１０２）。また、位置検出モデル生成部３１０は、学習画面６において選択された製品名に対応する位置学習情報のＸ座標及びＹ座標の測定値と位置検査設定情報のオフセットのＸ座標及びＹ座標の値とを取得して基準位置、すなわち、Ｘ座標及びＹ座標の基準値を基準位置算出部３０８に算出させる（ステップＳ１０３）。例えば、学習画面６において「基板Ａ」が選択されていれば、基準位置算出部３０８は、位置学習情報から「２６１」及び「１１５」を取得し、位置検査設定情報から「（ＸＯＡ１，ＹＯＡ１）」を取得して（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）を算出する。
【０１０４】
また、位置検出モデル生成部３１０は、学習画面６において選択された製品名に対応する位置検査設定情報のパターンサイズを取得して学習対象画像からＸ座標及びＹ座標の基準値を中心としたパターンサイズの画像を抽出する（ステップＳ１０４）。例えば、学習画面６において「基板Ａ」が選択されていれば、位置検出モデル生成部３１０は、位置検査設定情報の「（ＷＡ１，ＬＡ１）」を取得し、学習対象画像から（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）の座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を抽出する。また、位置検出モデル生成部３１０は、抽出された画像をＯＫ分類の画像として機械学習させて位置検出モデルを更新する（ステップＳ１０５）。
【０１０５】
また、位置検出モデル生成部３１０は、異常学習情報記憶部３０７に記憶されている異常学習情報のＸ座標及びＹ座標の値を取得して抽出された画像に基板４の表面の異常が検出されているか否かを判定する（ステップＳ１０６）。例えば、学習画面６において「基板Ａ」が選択されていれば、位置検出モデル生成部３１０は、異常学習情報の「１１０」及び「１７０」を取得し、抽出したパターンサイズの画像に（１１０，１７０）の座標の位置が含まれているか否かを判定する。
【０１０６】
位置検出モデル生成部３１０は、異常が検出されている場合（ステップＳ１０６；ＹＥＳ）、学習画面６において選択された製品名に対応する位置検査設定情報からマスクサイズを取得して抽出された画像にマスクサイズのマスクをしたマスク画像をマスク画像生成部３０９に生成させる（ステップＳ１０７）。例えば、学習画面６において「基板Ａ」が選択されていれば、マスク画像生成部３０９は、抽出したパターンサイズの画像に（１１０，１７０）の座標位置が含まれているときに、位置検査設定情報から「（ＭＷＡ１，ＭＬＡ１）」を取得する。また、マスク画像生成部３０９は、（１１０，１７０）の座標位置を中心とする横幅がＭＷＡ１、縦幅がＭＬＡ１の範囲を白色で塗りつぶした画像に置き換える。
【０１０７】
また、位置検出モデル生成部３１０は、生成したマスク画像をＯＫ分類の画像として機械学習させて位置検出モデルを更新する（ステップＳ１０８）。また、位置検出モデル生成部３１０は、マスク画像に基づく位置検出モデル更新後、又は、異常が検出されていない場合（ステップＳ１０６；ＮＯ）、学習対象画像からＸ座標及びＹ座標の基準値以外の任意の値を中心としたパターンサイズの画像を抽出する（ステップＳ１０９）。例えば、学習画面６において「基板Ａ」が選択されていれば、位置検出モデル生成部３１０は、位置検査設定情報の「（ＷＡ１，ＬＡ１）」を取得し、学習対象画像から（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）以外の任意の座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を抽出する。また、位置検出モデル生成部３１０は、抽出した画像をＮＧ分類の画像として機械学習させて位置検出モデルを更新する（ステップＳ１１０）。
【０１０８】
また、位置検出モデル生成部３１０は、全ての学習対象画像を用いて機械学習を行ったか否かを判定する（ステップＳ１１１）。位置検出モデル生成部３１０は、全ての学習対象画像を用いて機械学習を行っていない場合（ステップＳ１１１；ＮＯ）、全ての学習対象画像を用いて機械学習を行うまでステップＳ１０２〜Ｓ１１０の処理を繰り返す。一方、位置検出モデル生成部３１０は、全ての学習対象画像を用いて機械学習を行った場合（ステップＳ１１１；ＹＥＳ）、処理を終了する。
【０１０９】
図１２は、実施の形態１に係る異常検出モデル生成処理を示すフローチャートである。図１２に示すフローチャートを用いて検査装置１が異常検出モデルを生成する動作について説明する。異常検出モデル生成部３１５は、学習画面６において使用者が入力部３０１を介して学習ボタン６１４を操作すると、異常検出モデル生成処理の実行を開始する。先ず、図１２に示すように、異常検出モデル生成部３１５は、学習画面６において選択された製品名に対応する異常検査設定情報からモデル形式を取得して機械学習前の異常検出モデルを生成する（ステップＳ２０１）。例えば、学習画面６において「基板Ａ」が選択されていれば、異常検出モデル生成部３１５は、異常検査設定情報から「ＭＡ２」を取得してモデル形式が「ＭＡ２」の異常検出モデルを生成する。
【０１１０】
また、異常検出モデル生成部３１５は、学習画面６において選択された製品名に対応する画像情報から学習対象画像を取得する（ステップＳ２０２）。また、異常検出モデル生成部３１５は、学習画面６において選択された製品名に対応する異常学習情報のＸ座標及びＹ座標の値と異常検査設定情報のパターンサイズを取得する（ステップＳ２０３）。例えば、学習画面６において「基板Ａ」が選択されていれば、異常検出モデル生成部３１５は、異常学習情報の「１１０」及び「１７０」を取得し、異常検査設定情報の「（ＷＡ２，ＬＡ２）」を取得する。また、異常検出モデル生成部３１５は、学習対象画像からＸ座標及びＹ座標の値を中心としたパターンサイズの画像を抽出する（ステップＳ２０４）。例えば、学習画面６において「基板Ａ」が選択されていれば、異常検出モデル生成部３１５は、学習対象画像から（１１０，１７０）の座標位置を中心とする横幅がＷＡ２、縦幅がＬＡ２の範囲の画像を抽出する。
【０１１１】
また、異常検出モデル生成部３１５は、異常学習情報から取得したＸ座標及びＹ座標が含まれる項目の種別を取得して抽出された画像を取得した種別の分類の画像として機械学習させて異常検出モデルを更新する（ステップＳ２０５）。例えば、学習画面６において「基板Ａ」が選択されていれば、異常検出モデル生成部３１５は、異常学習情報の「付着物」を取得し、抽出した画像を付着物の分類の異常の画像として機械学習を行うことで異常検出モデルを更新する。
【０１１２】
また、異常検出モデル生成部３１５は、異常学習情報の全ての項目のＸ座標及びＹ座標の値を取得したか否かを判定する（ステップＳ２０６）。異常検出モデル生成部３１５は、全ての項目のＸ座標及びＹ座標の値を取得していない場合（ステップＳ２０６；ＮＯ）、全ての項目のＸ座標及びＹ座標の値を取得するまでステップＳ２０３〜Ｓ２０５の処理を繰り返す。一方、異常検出モデル生成部３１５は、全ての項目のＸ座標及びＹ座標の値を取得した場合（ステップＳ２０６；ＹＥＳ）、全ての学習対象画像を用いて機械学習を行ったか否かを判定する（ステップＳ２０７）。異常検出モデル生成部３１５は、全ての学習対象画像を用いて機械学習を行っていない場合（ステップＳ２０７；ＮＯ）、全ての学習対象画像を用いて機械学習を行うまでステップＳ２０２〜Ｓ２０６の処理を繰り返す。一方、異常検出モデル生成部３１５は、全ての学習対象画像を用いて機械学習を行った場合（ステップＳ２０７；ＹＥＳ）、処理を終了する。
【０１１３】
図１３は、実施の形態１に係る異常検査処理を示すフローチャートである。図１３に示すフローチャートを用いて検査装置１が基板４の表面の異常を検査する動作について説明する。異常検出部３１７は、検査画面７において使用者が入力部３０１を介して検査実行ボタン７０７を操作すると、異常検査処理の実行を開始する。先ず、図１３に示すように、異常検出部３１７は、撮像部２０９が撮像した基板４を含む画像である検査対象画像を取得する（ステップＳ３０１）。また、異常検出部３１７は、検査画面７において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに異常検査設定情報の異常検出範囲とパターンサイズとを取得する（ステップＳ３０２）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常検出部３１７は、装置設定情報の「ＳＺＡ１」を取得し、異常検査設定情報の「ＸＳＡ２〜ＸＥＡ２，ＹＳＡ２〜ＹＥＡ２」及び「（ＷＡ２，ＬＡ２）」を取得する。
【０１１４】
また、異常検出部３１７は、検査対象画像から異常検出範囲内でパターンサイズの画像を抽出する（ステップＳ３０３）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常検出部３１７は、始点（ＸＳＡ２，ＹＳＡ２）と終点（ＸＥＡ２，ＹＥＡ２）を対角頂点とする矩形状の異常検出範囲内の選択された座標位置を中心とする横幅がＷＡ２、縦幅がＬＡ２の範囲の画像を検査対象画像から抽出する。また、異常検出部３１７は、検査画面７において選択された製品名に対応する異常検出モデルを抽出された画像に適用して異常の種別毎のスコアを算出する（ステップＳ３０４）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常検出部３１７は、「錆」のスコアＳＣ２１、「歪み」のスコアＳＣ２２、「打痕」のスコアＳＣ２３、「付着物」のスコアＳＣ２４を算出する。
【０１１５】
また、異常検出部３１７は、検査画面７において選択された製品名に対応する異常検査設定情報の種別のスコア閾値を取得して算出されたスコアがスコア閾値以上となる種別があるか否かを判定する（ステップＳ３０５）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常検出部３１７は、ＳＣ２１＜ＳＣ２２＜ＳＣ２３＜ＳＣ２４、ＳＣ２１＜ＳＡ２１、ＳＣ２２＜ＳＡ２２、ＳＣ２３＜ＳＡ２３、ＳＣ２４＞ＳＡ２４であれば付着物のスコアＳＣ２４がスコア閾値ＳＡ２４以上であると判定する。異常検出部３１７は、算出されたスコアがスコア閾値以上となる種別がある場合（ステップＳ３０５；ＹＥＳ）、スコア閾値以上となったスコアのうちの最大スコアとなった種別の異常と特定する（ステップＳ３０６）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常検出部３１７は、最大スコアＳＣ２４の付着物の異常と特定する。
【０１１６】
また、異常検出部３１７は、異常と特定したＸ座標及びＹ座標とサイズを算出する（ステップＳ３０７）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常検出部３１７は、（Ｘ２，Ｙ２）及びＳＺ２を算出する。また、異常規格判定部３１８は、検査画面７において選択された製品名に対応する製品設定一覧情報から異常検査規格の値を取得する（ステップＳ３０８）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常規格判定部３１８は、製品設定一覧情報の「ＳＺＡ３」を取得する。
【０１１７】
また、異常規格判定部３１８は、算出されたサイズの値が異常検査規格の値以下であるか否かを判定する（ステップＳ３０９）。異常規格判定部３１８は、異常検査規格の値以下である場合（ステップＳ３０９；ＹＥＳ）、判定結果情報として判定ＯＫ情報を異常出力部３１９に出力させる（ステップＳ３１０）。一方、異常規格判定部３１８は、異常検査規格の値を超える場合（ステップＳ３０９；ＮＯ）、判定結果情報として判定ＮＧ情報を異常出力部３１９に出力させる（ステップＳ３１１）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常規格判定部３１８は、ＳＺ２≦ＳＺＡ３であれば規格に適合していると判定して異常出力部３１９が判定ＯＫ情報を出力する一方、ＳＺ２＞ＳＺＡ３であれば規格に適合してないと判定して異常出力部３１９が判定ＮＧ情報を出力する。
【０１１８】
また、異常検出部３１７は、判定結果情報出力後、又は、算出されたスコアがスコア閾値以上となる種別がない場合（ステップＳ３０５；ＮＯ）、検査対象画像から異常検出範囲内でパターンサイズの画像を全て抽出したか否かを判定する（ステップＳ３１２）。例えば、検査画面７において「基板Ａ」が選択されていれば、異常検出部３１７は、始点（ＸＳＡ２，ＹＳＡ２）と終点（ＸＥＡ２，ＹＥＡ２）を対角頂点とする矩形状の異常検出範囲内の選択可能な全ての座標からパターンサイズの画像を抽出したか否かを判定する。異常検出部３１７は、パターンサイズの画像を全て抽出していない場合（ステップＳ３１２；ＮＯ）、パターンサイズの画像を全て抽出するまでステップＳ３０３〜Ｓ３１１の処理を繰り返す。一方、異常検出部３１７は、パターンサイズの画像を全て抽出した場合（ステップＳ３１２；ＹＥＳ）、処理を終了する。
【０１１９】
図１４及び図１５は、実施の形態１に係る位置検査処理を示すフローチャートである。図１４及び図１５に示すフローチャートを用いて検査装置１が金属部品４０１の位置を検査する動作について説明する。位置検出部３１２は、検査画面７において使用者が入力部３０１を介して検査実行ボタン７０７を操作すると、位置検査処理の実行を開始する。先ず、図１４に示すように、位置検出部３１２は、撮像部２０９が撮像した基板４を含む画像である検査対象画像を取得する（ステップＳ４０１）。
【０１２０】
また、位置検出部３１２は、検査画面７において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに位置検査設定情報の位置検出範囲とパターンサイズとを取得する（ステップＳ４０２）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、装置設定情報の「ＳＺＡ１」を取得し、位置検査設定情報の「ＸＳＡ１〜ＸＥＡ１，ＹＳＡ１〜ＹＥＡ１」及び「（ＷＡ１，ＬＡ１）」を取得する。また、位置検出部３１２は、検査対象画像から位置検出範囲内でパターンサイズの画像を抽出する（ステップＳ４０３）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、始点（ＸＳＡ１，ＹＳＡ１）と終点（ＸＥＡ１，ＹＥＡ１）を対角頂点とする矩形状の位置検出範囲内の選択された座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を検査対象画像から抽出する。
【０１２１】
また、位置検出部３１２は、異常検出部３１７が算出した異常と特定したＸ座標及びＹ座標を取得して抽出された画像に基板４の表面の異常が検出されているか否かを判定する（ステップＳ４０４）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、異常検出部３１７が算出した（Ｘ２，Ｙ２）の座標の位置が抽出された画像に含まれているか否かを判定する。位置検出部３１２は、異常が検出されている場合（ステップＳ４０４；ＹＥＳ）、位置検査設定情報からマスクサイズを取得して抽出された画像にマスクサイズのマスクをしたマスク画像をマスク画像生成部３０９に生成させる（ステップＳ４０５）。例えば、検査画面７において「基板Ａ」が選択されていれば、マスク画像生成部３０９は、抽出したパターンサイズの画像に（Ｘ２，Ｙ２）の座標の位置が含まれているときに、位置検査設定情報から「（ＭＷＡ１，ＭＬＡ１）」を取得する。また、マスク画像生成部３０９は、（Ｘ２，Ｙ２）の座標位置を中心とする横幅がＭＷＡ１、縦幅がＭＬＡ１の範囲を白色で塗りつぶした画像に置き換える。
【０１２２】
また、位置検出部３１２は、マスク画像生成後、又は、異常が検出されていない場合（ステップＳ４０４；ＮＯ）、検査画面７において選択された製品名に対応する位置検出モデルを画像に適用してスコアを算出する（ステップＳ４０６）。また、位置検出部３１２は、検査対象画像から位置検出範囲内でパターンサイズの画像を全て抽出したか否かを判定する（ステップＳ４０７）。位置検出部３１２は、パターンサイズの画像を全て抽出していない場合（ステップＳ４０７；ＮＯ）、パターンサイズの画像を全て抽出するまでステップＳ４０３〜Ｓ４０６の処理を繰り返す。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、Ｎ個の画像のスコアＳＣ１１〜ＳＣ１Ｎを算出するまで、検査対象画像からパターンサイズの画像を抽出し続ける。
【０１２３】
一方、図１５に示すように、位置検出部３１２は、パターンサイズの画像を全て抽出した場合（ステップＳ４０７；ＹＥＳ）、位置検査設定情報のスコア閾値を取得して算出されたスコアがスコア閾値以上となる画像があるか否かを判定する（ステップＳ４０８）。位置検出部３１２は、算出されたスコアがスコア閾値以上となる画像がない場合（ステップＳ４０８；ＮＯ）、検出失敗情報を出力し（ステップＳ４０９）、処理を終了する。一方、位置検出部３１２は、算出されたスコアがスコア閾値以上となる画像がある場合（ステップＳ４０８；ＹＥＳ）、スコア閾値以上となったスコアのうちの最大スコアとなった画像からＸ座標及びＹ座標の測定値を算出する（ステップＳ４１０）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、ＳＡ１以上となるスコアのうちの最大スコアＳＣ１Ｍとなった画像から取得したときのＸ座標及びＹ座標の測定値として（Ｘ１，Ｙ１）＝（Ｘ０＋ＸＯＡ１，Ｙ０＋ＹＯＡ１）を算出する。
【０１２４】
また、位置規格判定部３１３は、検査画面７において選択された製品名に対応する製品設定一覧情報から位置検査基準のＸ座標及びＹ座標の基準値と位置検査規格のＸ座標及びＹ座標の規格値、すなわち、判定値の閾値を取得する（ステップＳ４１１）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置規格判定部３１３は、製品設定一覧情報から「（ＸＡ１，ＹＡ１）」及び「（ＸＡ２，ＹＡ２）」を算出する。また、位置規格判定部３１３は、算出されたＸ座標及びＹ座標の測定値と位置検査基準のＸ座標及びＹ座標の基準値との差分値を算出する（ステップＳ４１２）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置規格判定部３１３は、（Ｘ１−ＸＡ１，Ｙ１−ＹＡ１）を算出する。
【０１２５】
また、位置規格判定部３１３は、Ｘ座標及びＹ座標の差分値の絶対値が閾値以下であるか否かを判定する（ステップＳ４１３）。位置規格判定部３１３は、Ｘ座標及びＹ座標の差分値の絶対値が閾値以下である場合（ステップＳ４１３；ＹＥＳ）、判定結果情報として判定ＯＫ情報を位置出力部３１４に出力させ（ステップＳ４１４）、処理を終了する。一方、位置規格判定部３１３は、Ｘ座標及びＹ座標の差分値の絶対値のうちの何れかの絶対値が閾値を超える場合（ステップＳ４１３；ＮＯ）、判定結果情報として判定ＮＧ情報を位置出力部３１４に出力させ（ステップＳ４１５）、処理を終了する。例えば、位置規格判定部３１３は、｜Ｘ１−ＸＡ１｜≦ＸＡ２且つ｜Ｙ１−ＹＡ１｜≦ＹＡ２であれば規格に適合していると判定して位置出力部３１４が判定ＯＫ情報を出力する。一方、位置規格判定部３１３は、｜Ｘ１−ＸＡ１｜＞ＸＡ２又は｜Ｙ１−ＹＡ１｜＞ＹＡ２であれば規格に適合していないと判定して位置出力部３１４が判定ＮＧ情報を出力する。
【０１２６】
以上説明したように、実施の形態１に係る検査装置１によれば、位置検出部３１２は、撮像部２０９が撮像した検査対象画像を位置検出モデルに適用して検査対象画像の位置検出範囲内から抽出されたパターンサイズの画像について画像毎にスコアを算出する。そして、位置検出部３１２は、スコアがスコア閾値以上となった最大スコアの画像を特定することで、検査対象画像における金属部品４０１の位置を検出し、位置出力部３１４は、検出した金属部品４０１の位置を出力する。
【０１２７】
この結果、検査装置１は、表面に異常がある金属部品４０１を含む画像の画像情報を用いた機械学習によって位置検出モデルを生成すれば金属部品４０１の表面の異常を許容して金属部品４０１の位置を検出でき、金属部品４０１の位置が位置検査規格に適合しているか否かを検査できる。
なお、実施の形態１のように、検査装置１は、使用者が設定した位置検査設定情報及び位置学習情報を用いて機械学習を行うことが好ましいが、位置検査設定情報及び位置学習情報を用いずに画像情報のみを用いて機械学習を行ってもよい。すなわち、設定情報記憶部３０４、位置学習情報記憶部３０６については省略してもよい。
【０１２８】
また、実施の形態１に係る検査装置１によれば、位置検出モデル生成部３１０は、予め取得した学習対象画像の画像情報、使用者が設定した位置検査設定情報及び位置学習情報を用いた機械学習によって学習対象画像と金属部品４０１の位置との関係性を示す位置検出モデルを生成する。
この結果、検査装置１は、学習対象画像の画像情報、位置検査設定情報及び位置学習情報を用いて学習対象画像と金属部品４０１の位置との関係性を学習できる。
【０１２９】
なお、実施の形態１では、検査装置１は、位置検出モデル生成部３１０及び位置検出モデル記憶部３１１を備えているが、位置検出モデル生成部３１０及び位置検出モデル記憶部３１１を備えていなくてもよい。例えば、外部の学習装置が位置検出モデル生成部３１０及び位置検出モデル記憶部３１１を備え、位置検出モデル生成部３１０が上述した情報を用いた機械学習によって位置検出モデルを生成し、生成された位置検出モデルを位置検出モデル記憶部３１１に記憶してもよい。この場合、検査装置１は、学習装置に記憶されている位置検出モデルを取得する必要がある。
【０１３０】
また、実施の形態１に係る検査装置１によれば、位置規格判定部３１３は、位置検出部３１２が検出した金属部品４０１の位置が予め定められた位置検査規格に適合するか否かを判定する。具体的には、位置規格判定部３１３は、位置検出時に検出した基板４のＸ座標及びＹ座標の測定値と基板４の設計上のＸ座標及びＹ座標の基準値との差分値として許容される値であるか否かを判定することで、金属部品４０１の位置が位置検査規格に適合するか否かを判定する。
この結果、検査装置１は、検出した金属部品４０１の位置が位置検査規格に適合するか否かを判定できる。
【０１３１】
また、実施の形態１に係る検査装置１によれば、異常検出部３１７は、撮像部２０９が撮像した検査対象画像を異常検出モデルに適用して検査対象画像の異常検出範囲内から抽出されたパターンサイズの画像について異常の種別毎のスコアを算出する。そして、異常検出部３１７は、スコアがスコア閾値以上となった最大スコアの種別を特定することで、検査対象画像における基板４の表面の異常を検出し、異常出力部３１９は、検出した基板４の表面の異常の種別、位置及びサイズを出力する。
【０１３２】
この結果、検査装置１は、基板４の表面の異常の種別、位置及びサイズを検出でき、基板４の表面の異常があっても異常検査規格に適合しているか否かを検査できる。
なお、実施の形態１のように、検査装置１は、異常検査において異常の種別を検出することが好ましいが、異常の種別については検出しなくてもよい。
【０１３３】
なお、実施の形態１のように、検査装置１は、使用者が設定した異常検査設定情報及び異常学習情報を用いて機械学習を行うことが好ましいが、異常検査設定情報及び異常学習情報を用いずに画像情報のみを用いて機械学習を行ってもよい。すなわち、設定情報記憶部３０４、異常学習情報記憶部３０７については省略してもよい。
なお、実施の形態１のように、検査装置１は、異常検査を行うために異常検出モデル生成部３１５が異常検出モデルを生成し、異常検出部３１７が基板４の表面の異常を検出し、異常出力部３１９が検出した基板４の表面の異常の種別、位置及びサイズを出力することが好ましい。しかしながら、異常検出モデル生成部３１５、異常検出部３１７、異常出力部３１９については省略してもよい。
【０１３４】
また、実施の形態１に係る検査装置１によれば、異常検出モデル生成部３１５は、予め取得した学習対象画像の画像情報、使用者が設定した異常検査設定情報及び異常学習情報を用いた機械学習によって学習対象画像と基板４の表面の異常との関係性を示す異常検出モデルを生成する。
この結果、検査装置１は、学習対象画像の画像情報、異常検査設定情報及び異常学習情報を用いて学習対象画像と基板４の表面の異常との関係性を学習できる。
【０１３５】
なお、実施の形態１では、検査装置１は、異常検出モデル生成部３１５及び異常検出モデル記憶部３１６を備えているが、異常検出モデル生成部３１５及び異常検出モデル記憶部３１６を備えていなくてもよい。例えば、検査装置１は、外部の学習装置が異常検出モデル生成部３１５及び異常検出モデル記憶部３１６を備え、異常検出モデル生成部３１５が上述した情報を用いた機械学習によって異常検出モデルを生成し、生成された異常検出モデルを異常検出モデル記憶部３１６に記憶してもよい。この場合、検査装置１は、学習装置に記憶されている異常検出モデルを取得する必要がある。
【０１３６】
また、実施の形態１に係る検査装置１によれば、異常規格判定部３１８は、異常検出部３１７が検出した基板４の表面の異常があっても予め定められた異常検査規格に適合するか否かを判定する。具体的には、異常規格判定部３１８は、異常検出時に検出した異常のサイズが許容される値であるか否かを判定することで、基板４の表面の異常があっても異常検査規格に適合するか否かを判定する。
この結果、検査装置１は、検出した基板４の表面の異常があっても異常検査規格に適合するか否かを判定できる。
【０１３７】
また、実施の形態１に係る検査装置１によれば、マスク画像生成部３０９は、学習対象画像から抽出された画像において基板４の表面の異常が検出されている場合、異常が検出されている部分を覆うマスクをしたマスク画像を生成する。そして、位置検出モデル生成部３１０は、抽出された画像だけでなくマスク画像の画像情報を更に用いた機械学習によって位置検出モデルを更新する。
【０１３８】
この結果、検査装置１は、マスク画像の画像情報を更に用いた機械学習によって位置検出モデルを更新しない検査装置よりも金属部品４０１の表面の異常を許容して金属部品４０１の位置を検出し易くなる。
なお、実施の形態１のように、検査装置１は、位置検査設定情報において設定されているマスクサイズに基づいて検出されている異常の座標位置を中心としてマスクをすることが好ましいが、これに限定されない。検査装置１は、検出されている異常の位置とは異なる任意の位置にマスクをしてもよく、予め定められた間隔で離れた複数の位置にマスクをしてもよい。
【０１３９】
なお、実施の形態１のように、検査装置１は、マスク画像の画像情報を用いた機械学習を行うためにマスク画像生成部３０９がマスク画像を生成することが好ましいが、マスク画像生成部３０９については省略してもよい。すなわち、検査装置１では、学習対象画像から抽出された画像において基板４の表面の異常が検出されている場合であってもマスク画像を生成しなくてもよい。この場合、位置検出モデル生成部３１０は、マスク画像が含まれておらず抽出された画像のみが含まれる画像情報を用いた機械学習によって位置検出モデルを更新してもよい。
【０１４０】
また、実施の形態１に係る検査装置１によれば、マスク画像生成部３０９は、検査対象画像から抽出された画像において基板４の表面の異常が検出されている場合にも、異常が検出されている部分を覆うマスクをしたマスク画像を生成する。そして、位置検出部３１２は、抽出された画像だけでなくマスク画像についても位置検出モデルに適用してスコアを算出する。
【０１４１】
この結果、検査装置１は、マスク画像についても位置検出モデルに適用してスコアを算出しない検査装置よりも金属部品４０１の表面の異常を許容して金属部品４０１の位置を検出し易くなる。
なお、実施の形態１のように、検査装置１は、マスク画像を位置検出モデルに適用してスコアを算出するためにマスク画像生成部３０９がマスク画像を生成することが好ましいが、マスク画像生成部３０９については省略してもよい。すなわち、検査装置１では、検査対象画像から抽出された画像において基板４の表面の異常が検出されている場合であってもマスク画像を生成しなくてもよい。この場合、位置検出部３１２は、マスク画像については位置検出モデルに適用してスコアを算出せず、抽出された画像のみ位置検出モデルに適用してスコアを算出してもよい。
【０１４２】
また、実施の形態１に係る検査装置１によれば、撮像部２０９は、照明光出力部２１０、２１１が照明光を出力した状態で基板４を撮像する。また、位置検出モデル生成部３１０は、照明光出力部２１０、２１１が照明光を出力した状態で撮像された学習対象画像の画像情報を用いた機械学習によって位置検出モデルを生成している。さらに、位置学習情報のＸ座標及びＹ座標の測定値は、光沢部分４０２の位置に基づいて設定されている。
【０１４３】
この結果、検査装置１は、照明光出力部２１０、２１１から出力された照明光の反射光による光沢部分４０２の位置に基づいて金属部品４０１の位置を検出できる。すなわち、検査装置１は、金属部品４０１に対して照明光を出力したときの反射光を含む画像について機械学習を行うことで、照明光の反射光から得られる金属部品４０１の形状に関する特徴量である光沢部分４０２の位置、大きさ及び範囲に基づいて金属部品４０１の位置を検出できる。
なお、実施の形態１のように、検査装置１は、光沢部分４０２の位置に基づいて金属部品４０１の位置を検出するために照明光が出力された状態で撮像部２０９が基板４を撮像することが好ましいが、これに限定されない。検査装置１では、照明光が出力された状態で撮像部２０９が基板４を撮像しなくてもよく、照明光出力部２１０、２１１及び照明光制御部３０３については省略してもよい。
【０１４４】
また、実施の形態１に係る検査装置１によれば、学習画面表示部３２１は、学習画面６を表示している。また、使用者は、入力部３０１を介して学習画面６を操作して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したり、機械学習を行って位置検出モデル及び異常検出モデルを生成したりすることが可能となっている。
【０１４５】
この結果、検査装置１は、金属部品４０１の位置の検査及び基板４の表面の異常の検査のための機械学習を可視化して行うことができ、学習画面を表示しない検査装置よりも使用者が機械学習に必要な情報を容易に追加することができる。
なお、実施の形態１では、検査装置１は、学習画面６を介して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したりしているが、これに限定されない。検査装置１は、学習画面６を介して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したりしなくてもよく、例えば、使用者が入力部３０１を介して学習対象画像を取得したり、位置学習情報及び異常学習情報を作成したりしてもよい。
なお、実施の形態１のように、検査装置１は、機械学習を可視化して行うために学習画面６を表示することが好ましいが、学習画面６を表示しなくてもよく、学習画面表示部３２１については省略してもよい。この場合、使用者は、入力部３０１を介して機械学習を実行可能とする必要がある。
【０１４６】
また、実施の形態１に係る検査装置１によれば、検査画面表示部３２２は、検査画面７を表示している。また、使用者は、入力部３０１を介して検査画面７を操作して検査対象画像を取得して金属部品４０１の位置の検査及び基板４の表面の異常の検査を行ったり、総合判定を行ったりすることが可能となっている。
【０１４７】
この結果、検査装置１は、これらの検査及び総合判定を可視化して行うことができる。
なお、実施の形態１では、検査装置１は、検査画面７を介して総合判定を行っているが、検査画面７を介して総合判定を行わなくてもよい。すなわち、検査装置１は、総合判定については行わなくてもよく、総合判定部３２３、総合判定結果出力部３２４、総合判定結果記憶部３２５については省略してもよい。
なお、実施の形態１のように、検査装置１は、検査及び総合判定を可視化して行うために検査画面７を表示することが好ましいが、検査画面７を表示しなくてもよく、検査画面表示部３２２については省略してもよい。この場合、検査装置１は、使用者が入力部３０１を介して検査を実行する必要がある。
【０１４８】
なお、実施の形態１では、検査装置１は、初期画面表示部３２０が初期画面５を表示しており、使用者は、入力部３０１を介して初期画面５を操作して学習画面６を表示したり検査画面７を表示したりしているが、初期画面５を表示しなくてもよい。すなわち、初期画面表示部３２０については省略してもよい。
なお、実施の形態１では、検査装置１は、位置検出モデル生成部３１０が位置検出モデルを生成するときに基準位置算出部３０８が位置学習のためのＸ座標及びＹ座標の基準値を算出してからＸ座標及びＹ座標の基準値を中心としたパターンサイズの画像を抽出している。しかしながら、検査装置１は、Ｘ座標及びＹ座標の基準値を算出せずにＸ座標及びＹ座標の測定値を中心としたパターンサイズの画像を抽出してもよい。すなわち、基準位置算出部３０８及び位置検査設定情報の「オフセット」の項目については省略してもよい。
【実施の形態２】
【０１４９】
実施の形態１に係る検査装置１では、位置検出部３１２は、位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出している。しかしながら、本開示は、これに限定されず、位置検出部３１２は、位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出しなくてもよい。実施の形態２に係る検査装置１では、位置検出部３１２は、位置検出範囲内から複数種類のパターンサイズの画像を粗く抽出する。以下、図１６〜図１８を参照して、実施の形態２に係る検査装置１の構成を説明する。なお、実施の形態２では、実施の形態１と異なる構成について説明し、実施の形態１と同一の構成については冗長であるため説明を省略する。
【０１５０】
本開示の実施の形態２に係る検査装置、検査方法及びプログラムは、実施の形態１に係る検査装置、検査方法及びプログラムよりも位置検出にかかる処理時間の短縮を図るものである。
【０１５１】
［コンピュータ３の機能構成の詳細について］
図１６は、実施の形態２に係る位置検査設定情報の一例を示す図である。実施の形態２では、位置検査設定情報は、図１６に示すように、製品名毎に分類されている項目の情報としてパターンサイズの画像の中心の座標位置どうしの間隔を示す「粗検出用間隔」の項目の情報を更に含んでいる。なお、実施の形態２では、座標位置どうしの間隔は、座標位置どうしのＸ方向又はＹ方向の長さとしたが、座標位置どうしの間隔を特定可能である限りにおいてこれに限定されない。例えば、座標位置どうしの間隔は、座標位置に対応する画素どうしのＸ方向又はＹ方向の画素ピッチの数、画素数分の画素サイズ等であってもよい。
【０１５２】
例えば、位置検査設定情報は、図１６の第１行において、「製品名」が「基板Ａ」の製品について、その画像の始点（ＸＳＡ１，ＹＳＡ１）と終点（ＸＥＡ１，ＹＥＡ１）を対角頂点とする矩形状の検出範囲内で、中心の座標位置どうしの間隔がＰＡ１となる横幅ＷＡ１、縦幅ＬＡ１のパターンサイズの画像を抽出して検査対象とすることを示している。具体的には、位置検査設定情報は、中心の座標が（ＸＳＡ１，ＹＳＡ１）、（ＸＳＡ１＋ＰＡ１，ＹＳＡ１）、（ＸＳＡ１＋２×ＰＡ１，ＹＳＡ１）、…、（ＸＳＡ１，ＹＳＡ１＋ＰＡ１）、（ＸＳＡ１，ＹＳＡ１＋２×ＰＡ１）、…となるパターンサイズの画像を抽出することを示している。
【０１５３】
また、実施の形態２では、位置検出部３１２は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する位置検査設定情報の「位置検出範囲」、「パターンサイズ」、「粗検出用間隔」の項目の情報を取得する。また、位置検出部３１２は、位置検出範囲内から抽出可能な全てのパターンサイズの画像のうち、位置検出範囲の始点の座標位置から順番に粗検出用間隔毎に間隔を空けて選択した座標位置を中心とするパターンサイズの画像を抽出し、抽出した画像のスコアをそれぞれ算出する。また、位置検出部３１２は、スコア閾値以上となるスコアがあれば最大スコアとなった画像から取得したときのＸ座標及びＹ座標の測定値を算出することで、金属部品４０１の位置を粗く検出する。以下、算出した測定値となるＸ座標及びＹ座標を粗検出結果座標と記載する。
【０１５４】
また、位置検出部３１２は、粗検出結果座標に基づいて、金属部品４０１の製品名に対応する位置検査設定情報の「位置検出範囲」の項目の情報を更新する。具体的には、先ず、位置検出部３１２は、算出したＸ座標及びＹ座標の測定値が示す座標を中央点とする始点と終点とを算出することで、位置検出範囲を再定義する。そして、位置検出部３１２は、算出した始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値とを用いて「位置検出範囲」の項目の情報を置き換える。
【０１５５】
例えば、位置検出部３１２は、「基板Ａ」の検査対象画像を取得したときに、装置設定情報の「検査用画像情報一時記憶領域」の項目の「ＦＡ１」を参照して検査対象画像の画像情報が記憶されているアドレスを特定し、検査対象画像の画像情報を取得する。また、位置検出部３１２は、装置設定情報の「画像サイズ」の「ＳＺＡ１」を取得するとともに、位置検査設定情報の「位置検出範囲」のＸ座標の値の範囲ＸＳＡ１〜ＸＥＡ１、Ｙ座標の値の範囲ＹＳＡ１〜ＹＥＡ１及び「パターンサイズ」の横幅ＷＡ１、縦幅ＬＡ１を取得する。また、位置検出部３１２は、位置検査設定情報の「粗検出用間隔」の「ＰＡ１」を取得する。
【０１５６】
また、位置検出部３１２は、始点（ＸＳＡ１，ＹＳＡ１）と終点（ＸＥＡ１，ＹＥＡ１）を対角頂点とする矩形状の位置検出範囲内で選択された座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を検査対象画像から抽出する。このとき、位置検出部３１２は、始点（ＸＳＡ１，ＹＳＡ１）から順番にＸ方向又はＹ方向の間隔がＰＡ１ずつ離れた座標（ＸＳＡ１＋ＰＡ１，ＹＳＡ１）、（ＸＳＡ１＋２×ＰＡ１，ＹＳＡ１）、…、（ＸＳＡ１，ＹＳＡ１＋ＰＡ１）、（ＸＳＡ１，ＹＳＡ１＋２×ＰＡ１）、…を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を検査対象画像から抽出する。
【０１５７】
また、位置検出部３１２は、位置検出範囲内に選択可能な座標の位置がＭ個ある場合、取得した位置検出モデルをＭ個の抽出した画像に適用してこれらＭ個の画像のスコアＳＣ１１〜ＳＣ１Ｍを算出する。また、位置検出部３１２は、例えば、スコア閾値であるＳＡ１以上となるスコアのうち最大スコアがＳＣ１Ｍである場合、最大スコアＳＣ１Ｍとなった画像からＸ座標及びＹ座標の測定値（Ｘ１，Ｙ１）を検出する。そして、位置検出部３１２は、算出したＸ座標及びＹ座標の測定値（Ｘ１，Ｙ１）が中央点となる新たな始点（ＸＳＡ２１，ＹＳＡ２１）と新たな終点（ＸＥＡ２１，ＹＥＡ２１）とを算出して位置検査設定情報の「位置検出範囲」の項目の情報を更新する。
【０１５８】
具体的には、先ず、位置検出範囲のＸ座標の値の範囲ＸＳＡ１〜ＸＥＡ１の中央値をＸＣＡ１、Ｙ座標の値の範囲ＹＳＡ１〜ＹＥＡ１の中央値をＹＣＡ１とする。また、Ｘ座標の測定値Ｘ１と位置検出範囲のＸ座標の中央値ＸＣＡ１との誤差をαｘとし、Ｙ座標の測定値Ｙ１と位置検出範囲のＹ座標の中央値ＹＣＡ１との誤差αｙとする。この場合、位置検出部３１２は、αｘ＝Ｘ１−ＸＣＡ１、αｙ＝Ｙ１−ＹＣＡ１を算出することでＸ座標及びＹ座標の誤差αｘ、αｙを算出する。
【０１５９】
また、位置検出部３１２は、ＸＳＡ２１＝ＸＳＡ１−αｘ、ＸＥＡ２１＝ＸＥＡ１−αｘ、ＹＳＡ２１＝ＹＳＡ１−αｙ、ＹＥＡ２１＝ＹＥＡ１−αｙを算出することで、位置検出範囲の新たなＸ座標の値の範囲ＸＳＡ２１〜ＸＥＡ２１と新たなＹ座標の値の範囲ＹＳＡ２１〜ＹＥＡ２１を算出する。そして、位置検出部３１２は、位置検査設定情報の「位置検出範囲」の項目の情報を、算出した新たなＸ座標の値の範囲ＸＳＡ２１〜ＸＥＡ２１と新たなＹ座標の値の範囲ＹＳＡ２１〜ＹＥＡ２１とに基づいて更新する。
【０１６０】
図１７及び図１８は、実施の形態２に係る位置検査処理を示すフローチャートである。図１７及び図１８に示すフローチャートを用いて実施の形態２に係る検査装置１が金属部品４０１の位置を検査する動作について説明する。先ず、図１７に示すように、位置検出部３１２は、ステップＳ４０１の処理を実行した後、検査画面７において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに位置検査設定情報の位置検出範囲とパターンサイズと粗検出用間隔とを取得する（ステップＳ４５１）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、装置設定情報の「ＳＺＡ１」を取得し、位置検査設定情報の「ＸＳＡ１〜ＸＥＡ１，ＹＳＡ１〜ＹＥＡ１」及び「（ＷＡ１，ＬＡ１）」、「ＰＡ１」を取得する。
【０１６１】
また、位置検出部３１２は、検査対象画像から位置検出範囲内で粗検出用間隔毎にパターンサイズの画像を抽出する（ステップＳ４５２）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、始点（ＸＳＡ１，ＹＳＡ１）から順番にＸ方向又はＹ方向の間隔がＰＡ１ずつ離れた座標（ＸＳＡ１＋ＰＡ１，ＹＳＡ１）、（ＸＳＡ１＋２×ＰＡ１，ＹＳＡ１）、…、（ＸＳＡ１，ＹＳＡ１＋ＰＡ１）、（ＸＳＡ１，ＹＳＡ１＋２×ＰＡ１）、…を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を検査対象画像から抽出する。また、位置検出部３１２は、ステップＳ４０４〜Ｓ４０７の処理を実行する。位置検出部３１２は、パターンサイズの画像を全て抽出していない場合（ステップＳ４０７；ＮＯ）、パターンサイズの画像を全て抽出するまでステップＳ４５２、Ｓ４０４〜Ｓ４０６の処理を繰り返す。
【０１６２】
一方、図１８に示すように、位置検出部３１２は、粗検出用間隔毎にパターンサイズの画像を全て抽出した場合（ステップＳ４０７；ＹＥＳ）、ステップＳ４０８〜４１０の処理を実行し、算出したＸ座標及びＹ座標の測定値に基づいて位置検査設定情報の位置検出範囲を更新する（ステップＳ４５３）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、算出したＸ座標及びＹ座標の測定値が示す座標（Ｘ１，Ｙ１）が中央点となる新たな始点（ＸＳＡ２１，ＹＳＡ２１）と新たな終点（ＸＥＡ２１，ＹＥＡ２１）とを算出して位置検査設定情報の「位置検出範囲」の項目の情報を更新する。また、位置規格判定部３１３は、ステップＳ４１１〜Ｓ４１５の処理を実行し、処理を終了する。
【０１６３】
以上説明したように、実施の形態２に係る検査装置１によれば、位置検出部３１２は、位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで、複数種類のパターンサイズの画像を粗く抽出する。そして、位置検出部３１２は、抽出したパターンサイズの画像に位置検出モデルを適用してスコアをそれぞれ算出し、スコアがスコア閾値以上となった最大スコアの画像を特定することで、検査対象画像における金属部品４０１の位置を検出し、位置出力部３１４は、検出した金属部品４０１の位置を出力する。
【０１６４】
この結果、検査装置１は、位置検出範囲内から取得可能な全てのパターンサイズの画像を抽出しなくても金属部品４０１の位置を検出でき、金属部品４０１の位置が位置検査規格に適合しているか否かを検査でき、検査のための作業の負荷及び時間を低減できる。
【０１６５】
特に、実施の形態２に係る検査装置１によれば、位置検出部３１２は、算出した粗検出結果座標に基づいて位置検査設定情報の位置検出範囲を更新する。ここで、算出した粗検出結果座標は、金属部品４０１の中央付近になることが期待できる。
この結果、検査装置１は、粗検出結果座標に基づいて位置検出範囲を更新しない検査装置よりも検査対象画像における金属部品４０１の位置を精度良く検出できる。このため、検査装置１は、粗検出結果座標と金属部品４０１の実際の位置との間に想定される誤差の程度に基づいて位置検出範囲を狭くすることができ、位置検出部３１２の動作にかかる時間を短縮することができる。例えば、粗検出用間隔ＰＡ１が５画素分の長さであれば、位置検出範囲をＸ方向及びＹ方向にそれぞれ±１５画素程度としても、位置検出部３１２は、金属部品４０１の位置を十分に検出できる。この結果、検査装置１は、検査のための作業の負荷及び時間を更に低減できる。
その他、実施の形態２に係る検査装置１は、実施の形態１に係る検査装置１と同様の作用効果を奏する。
【０１６６】
なお、実施の形態２のように、位置検出部３１２は、狭い位置検出範囲であっても金属部品４０１の位置を検出可能とするために、算出した粗検出結果座標に基づいて位置検査設定情報の位置検出範囲を更新することが好ましいが、これに限定されない。例えば、位置検出部３１２は、算出された粗検出結果座標と設定されている位置検出範囲の中央点の座標との誤差が予め定めた閾値を超えたときに位置検出範囲を更新してもよい。また、例えば、位置検出部３１２は、粗検出結果座標が算出されても位置検出範囲を更新しなくてもよい。
【実施の形態３】
【０１６７】
実施の形態１、２に係る検査装置１では、位置検出部３１２は、位置検出モデルを用いて検査対象画像における金属部品４０１の位置を検出している。しかしながら、本開示は、これに限定されず、位置検出部３１２は、位置検出モデルだけではなく他の学習モデルも用いて検査対象画像における金属部品４０１の位置を検出してもよい。実施の形態３に係る検査装置１では、位置検出部３１２は、位置検出モデルだけではなく後述する粗検出モデルも用いて検査対象画像における金属部品４０１の位置を検出する。以下、図１９〜図２２を参照して、実施の形態３に係る検査装置１の構成を説明する。なお、実施の形態３では、実施の形態１、２と異なる構成について説明し、実施の形態１、２と同一の構成については冗長であるため説明を省略する。
【０１６８】
本開示の実施の形態３に係る検査装置、検査方法及びプログラムは、実施の形態１に係る検査装置、検査方法及びプログラムよりも位置検出にかかる処理時間の短縮を図るものである。
【０１６９】
［コンピュータ３について］
図１９は、実施の形態３に係る検査装置の機能構成を示す図である。図１９に示すように、コンピュータ３は、機械学習によって画像と金属部品４０１の位置との関係性を示す位置粗検出モデルの一例としての粗検出モデルを生成する位置粗検出モデル生成部の一例としての粗検出モデル生成部３２６を更に備える。また、コンピュータ３は、生成された粗検出モデルを記憶する粗検出モデル記憶部３２７を更に備える。図４に戻り、実施の形態３では、制御部５１は、制御プログラム５９に従って、コンピュータ３の粗検出モデル生成部３２６として機能する。また、実施の形態３では、外部記憶部５３は、粗検出モデル記憶部３２７として機能する。
【０１７０】
また、コンピュータ３は、制御部５１が主記憶部５２、外部記憶部５３、操作部５４、表示部５５及び送受信部５６を資源として用いることによって、粗検出モデル生成部３２６、粗検出モデル記憶部３２７の機能を実現する。例えば、コンピュータ３は、粗検出モデル生成部３２６が行う粗検出モデル生成ステップを実行し、粗検出モデル記憶部３２７が行う粗検出モデル記憶ステップを実行する。
【０１７１】
［コンピュータ３の機能構成の詳細について］
図２０は、実施の形態３に係る位置検査設定情報の一例を示す図である。実施の形態３では、位置検査設定情報は、図２０に示すように、製品名毎に分類されている項目の情報として金属部品４０１の位置を粗く検出する範囲として始点から終点までのＸ座標の値の範囲と始点から終点までのＹ座標の値の範囲とを示す「粗検出範囲」の項目の情報を更に含んでいる。また、「モデル形式」の項目の情報は、位置検出モデルの形式だけでなく粗検出モデルの形式についても示している。
【０１７２】
例えば、位置検査設定情報は、図２０の第１行において、「製品名」が「基板Ａ」の製品について、その画像の始点（ＸＳＡ３，ＹＳＡ３）と終点（ＸＥＡ３，ＹＥＡ３）を対角頂点とする矩形状の粗検出範囲内で、横幅ＷＡ１、縦幅ＬＡ１となる画像を抽出することを示している。また、位置検査設定情報は、「製品名」が「基板Ａ」の製品について、検査に使用する学習モデルは、位置検出モデルが「ＭＡ１」、粗検出モデルが「ＭＡ３」であることを示している。
【０１７３】
粗検出モデル生成部３２６は、前述のように、機械学習によって画像と金属部品４０１の位置との関係性を示す粗検出モデルを生成する。ここで、粗検出モデルとは、位置検出モデルを用いて金属部品４０１の位置を検出する前に金属部品４０１の位置を粗く検出するときに用いられる学習モデルである。粗検出モデル生成部３２６は、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する位置検査設定情報の「モデル形式」の項目の情報、すなわち、機械学習の学習モデルの形式を取得して粗検出モデルの雛形を生成する。なお、粗検出モデル生成部３２６が生成可能な機械学習の学習モデルの形式は、画像から物体の種別と位置を検出する用途に用いられる代表的な物体認識モデルである「ＳＳＤ」、「ＹＯＬＯｖ３」、「Ｍ２Ｄｅｔ」の何れかから選択可能である。しかしながら、学習モデルの形式は、これらに限定されず、例えば、物体認識用途の他の物体認識モデルが選択可能であってもよい。この場合、設定された機械学習の手法の学習モデルの形式を選択可能とする必要がある。
【０１７４】
また、粗検出モデル生成部３２６は、設定情報記憶部３０４に記憶されている装置設定情報の「学習用画像情報記憶領域」の項目の情報を参照して画像情報記憶部３０５に記憶されている学習対象画像の画像情報を取得する。また、粗検出モデル生成部３２６は、金属部品４０１の製品名に対応する位置検査設定情報の「パターンサイズ」の項目の情報、すなわち、学習対象画像から抽出する画像の横幅と縦幅の長さを取得する。また、粗検出モデル生成部３２６は、基準位置算出部３０８が算出したＸ座標及びＹ座標の基準値を中心として取得した横幅と縦幅のパターンサイズの画像を学習対象画像から抽出する。また、粗検出モデル生成部３２６は、抽出した画像と、当該画像の抽出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値とを用いて機械学習を行うことで粗検出モデルを更新する。なお、粗検出モデル生成部３２６は、抽出した画像とＸ座標及びＹ座標の基準値とに基づいて、当該画像の抽出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値とを算出する。また、粗検出モデル生成部３２６は、抽出した画像についてマスク画像生成部３０９がマスク画像を生成しているときにはマスク画像についても機械学習を行うことで粗検出モデルを更新する。
【０１７５】
例えば、粗検出モデル生成部３２６は、「基板Ａ」の学習対象画像を取得したときに、位置検査設定情報の「モデル形式」の項目の「ＭＡ３」を取得する。ここで、例えば、「ＭＡ３」が「Ｍ２Ｄｅｔ」であれば、粗検出モデル生成部３２６は、学習モデルの形式が「Ｍ２Ｄｅｔ」の粗検出モデルの雛形を生成する。また、粗検出モデル生成部３２６は、装置設定情報の「学習用画像情報記憶領域」の「ＦＡ２」を参照して学習対象画像の画像情報が記憶されているアドレスを特定し、学習対象画像の画像情報を取得する。また、粗検出モデル生成部３２６は、位置検査設定情報の「パターンサイズ」の横幅ＷＡ１、縦幅ＬＡ１を取得して、学習対象画像から（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）の座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を抽出する。また、粗検出モデル生成部３２６は、抽出した画像と、当該画像の抽出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値とを用いて機械学習を行うことで粗検出モデルを更新する。なお、粗検出モデル生成部３２６は、抽出した画像のマスク画像が生成されていれば、マスク画像と抽出範囲の始点となるＸ座標及びＹ座標の値とを用いて機械学習を行うことで粗検出モデルを更新する。
【０１７６】
図９に戻り、実施の形態３では、学習画面表示部３２１は、位置学習情報表示欄６０７に表示がある状態で使用者が入力部３０１を介して学習ボタン６１４を操作すると、位置検出モデル生成部３１０に位置検出モデルを生成させるとともに粗検出モデル生成部３２６に粗検出モデルを生成させる。なお、学習画面表示部３２１は、位置検出モデル、粗検出モデル及び異常検出モデルの生成中に使用者が入力部３０１を介して学習ボタン６１４を操作すると、位置検出モデル生成部３１０、粗検出モデル生成部３２６及び異常検出モデル生成部３１５に生成を中止させる。
【０１７７】
図２０に戻り、実施の形態３では、位置検出部３１２は、装置設定情報の「画像サイズ」の項目の値を取得するとともに、設定情報記憶部３０４に記憶されている金属部品４０１の製品名に対応する位置検査設定情報の「位置検出範囲」、「パターンサイズ」及び「粗検出範囲」の項目の情報を取得する。すなわち、位置検出部３１２は、検査対象画像における位置検出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値及び抽出する画像の横幅と縦幅の長さを取得するだけでなく、粗検出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値も取得する。
【０１７８】
また、位置検出部３１２は、粗検出モデル記憶部３２７に記憶されている粗検出モデルを取得し、検出対象画像から粗検出範囲に基づいて抽出した画像に粗検出モデルを適用して抽出した画像における金属部品４０１の位置の座標の値を粗く検出した結果として算出する。以下、算出した値となるＸ座標及びＹ座標を粗検出結果座標と記載する。
【０１７９】
また、位置検出部３１２は、粗検出結果座標に基づいて、金属部品４０１の製品名に対応する位置検査設定情報の「位置検出範囲」の項目の情報を更新する。具体的には、先ず、位置検出部３１２は、算出したＸ座標の値を中心点とするＸ座標の値の始点と終点を算出するとともに、算出したＹ座標の値を中央値とするＹ座標の値の最小値と最大値を算出することで、位置検出範囲を再定義する。そして、位置検出部３１２は、算出した最小値となるＸ座標及びＹ座標の値と最大値となるＸ座標及びＹ座標の値とを用いて「位置検出範囲」の項目の情報を置き換える。
【０１８０】
また、位置検出部３１２は、更新した位置検出範囲内から抽出可能な全てのパターンサイズの画像を抽出し、抽出した画像のスコアをそれぞれ算出する。また、位置検出部３１２は、スコア閾値以上となるスコアがあれば最大スコアとなった画像から取得したときのＸ座標及びＹ座標の測定値を算出することで、金属部品４０１の位置を検出する。
【０１８１】
例えば、位置検出部３１２は、「基板Ａ」の検査対象画像を取得したときに、装置設定情報の「検査用画像情報一時記憶領域」の項目の「ＦＡ１」を参照して検査対象画像の画像情報が記憶されているアドレスを特定し、検査対象画像の画像情報を取得する。また、位置検出部３１２は、装置設定情報の「画像サイズ」の「ＳＺＡ１」を取得するとともに、位置検査設定情報の「位置検出範囲」のＸ座標の値の範囲ＸＳＡ１〜ＸＥＡ１、Ｙ座標の値の範囲ＹＳＡ１〜ＹＥＡ１及び「パターンサイズ」の横幅ＷＡ１、縦幅ＬＡ１を取得する。また、位置検出部３１２は、位置検査設定情報の「粗検出範囲」のＸ座標の値の範囲ＸＳＡ３〜ＸＥＡ３、Ｙ座標の値の範囲ＹＳＡ３〜ＹＥＡ３を取得する。
【０１８２】
また、位置検出部３１２は、始点（ＸＳＡ３，ＹＳＡ３）と終点（ＸＥＡ３，ＹＥＡ３）を対角頂点とする矩形状の粗検出範囲の画像を検査対象画像から抽出する。また、位置検出部３１２は、取得した粗検出モデルを抽出した画像に適用して粗検出結果座標を算出する。また、位置検出部３１２は、算出した粗検出結果座標を（Ｘ３，Ｘ３）とした場合、粗検出結果座標（Ｘ３，Ｘ３）が中央点となる新たな始点（ＸＳＡ３１，ＹＳＡ３１）と新たな終点（ＸＥＡ３１，ＹＥＡ３１）とを算出する。また、位置検出部３１２は、取得したＸ座標の値の範囲ＸＳＡ１〜ＸＥＡ１とＹ座標の値の範囲ＹＳＡ１〜ＹＥＡ１からＸＳＡ３１〜ＸＥＡ３１、ＹＳＡ３１〜ＹＥＡ３１に更新する。
【０１８３】
具体的には、先ず、粗検出結果座標のＸ座標の値Ｘ３と位置検出範囲のＸ座標の中央値ＸＣＡ１との誤差をβｘとし、粗検出結果座標のＹ座標の値Ｙ３と位置検出範囲のＹ座標の中央値ＹＣＡ１との誤差βｙとする。この場合、位置検出部３１２は、βｘ＝Ｘ３−ＸＣＡ１、βｙ＝ｙ３−ＹＣＡ１を算出することでＸ座標及びＹ座標の誤差βｘ、βｙを算出する。そして、位置検出部３１２は、ＸＳＡ３１＝ＸＳＡ１−βｘ、ＹＳＡ３１＝ＹＳＡ１−βｙ、ＸＥＡ３１＝ＸＥＡ１−βｘ、ＹＥＡ３１＝ＹＥＡ１−βｙを算出することで、取得した位置検出範囲を更新する。
【０１８４】
また、位置検出部３１２は、更新された新たな始点（ＸＳＡ３１，ＹＳＡ３１）と新たな終点（ＸＥＡ３１，ＹＥＡ３１）とを対角頂点とする矩形状の位置検出範囲内で選択された座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を検査対象画像から抽出する。また、位置検出部３１２は、位置検出範囲内に選択可能な座標の位置がＮ個ある場合、取得した位置検出モデルをＮ個の抽出した画像に適用してこれらＮ個の画像のスコアＳＣ１１〜ＳＣ１Ｎを算出する。そして、位置検出部３１２は、例えば、スコア閾値であるＳＡ１以上となるスコアのうち最大スコアがＳＣ１Ｍである場合、最大スコアＳＣ１Ｍとなった画像からＸ座標及びＹ座標の測定値（Ｘ１，Ｙ１）を検出する。
【０１８５】
図２１は、実施の形態３に係る粗検出モデル生成処理を示すフローチャートである。図２１に示すフローチャートを用いて実施の形態３に係る検査装置１が粗検出モデルを生成する動作について説明する。粗検出モデル生成部３２６は、学習画面６において使用者が入力部３０１を介して学習ボタン６１４を操作すると、粗検出モデル生成処理の実行を開始する。先ず、図２１に示すように、粗検出モデル生成部３２６は、学習画面６において選択された製品名に対応する位置検査設定情報からモデル形式を取得して機械学習前の粗検出モデルを生成する（ステップＳ５０１）。例えば、学習画面６において「基板Ａ」が選択されていれば、粗検出モデル生成部３２６は、位置検査設定情報から「ＭＡ３」を取得してモデル形式が「ＭＡ３」の粗検出モデルを生成する。
【０１８６】
また、粗検出モデル生成部３２６は、学習画面６において選択された製品名に対応する画像情報から学習対象画像を取得する（ステップＳ５０２）。また、粗検出モデル生成部３２６は、学習画面６において選択された製品名に対応する位置学習情報のＸ座標及びＹ座標の測定値と位置検査設定情報のオフセットのＸ座標及びＹ座標の値とを取得してＸ座標及びＹ座標の基準値を基準位置算出部３０８に算出させる（ステップＳ５０３）。例えば、学習画面６において「基板Ａ」が選択されていれば、基準位置算出部３０８は、位置学習情報から「２６１」及び「１１５」を取得し、位置検査設定情報から「（ＸＯＡ１，ＹＯＡ１）」を取得して（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）を算出する。
【０１８７】
また、粗検出モデル生成部３２６は、学習画面６において選択された製品名に対応する位置検査設定情報のパターンサイズを取得して学習対象画像からＸ座標及びＹ座標の基準値を中心としたパターンサイズの画像を抽出する（ステップＳ５０４）。例えば、学習画面６において「基板Ａ」が選択されていれば、粗検出モデル生成部３２６は、位置検査設定情報の「（ＷＡ１，ＬＡ１）」を取得し、学習対象画像から（２６１＋ＸＯＡ１，１１５＋ＹＯＡ１）の座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を抽出する。また、粗検出モデル生成部３２６は、抽出された画像と当該画像の抽出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値とを用いて機械学習を行い粗検出モデルを更新する（ステップＳ５０５）。
【０１８８】
また、粗検出モデル生成部３２６は、異常学習情報記憶部３０７に記憶されている異常学習情報のＸ座標及びＹ座標の値を取得して抽出された画像に基板４の表面の異常が検出されているか否かを判定する（ステップＳ５０６）。例えば、学習画面６において「基板Ａ」が選択されていれば、粗検出モデル生成部３２６は、異常学習情報の「１１０」及び「１７０」を取得し、抽出したパターンサイズの画像に（１１０，１７０）の座標の位置が含まれているか否かを判定する。
【０１８９】
粗検出モデル生成部３２６は、異常が検出されている場合（ステップＳ５０６；ＹＥＳ）、学習画面６において選択された製品名に対応する位置検査設定情報からマスクサイズを取得して抽出された画像にマスクサイズのマスクをしたマスク画像をマスク画像生成部３０９に生成させる（ステップＳ５０７）。例えば、学習画面６において「基板Ａ」が選択されていれば、マスク画像生成部３０９は、抽出したパターンサイズの画像に（１１０，１７０）の座標位置が含まれているときに、位置検査設定情報から「（ＭＷＡ１，ＭＬＡ１）」を取得する。また、マスク画像生成部３０９は、（１１０，１７０）の座標位置を中心とする横幅がＭＷＡ１、縦幅がＭＬＡ１の範囲を白色で塗りつぶした画像に置き換える。
【０１９０】
また、粗検出モデル生成部３２６は、生成したマスク画像と当該画像の抽出範囲の始点となるＸ座標及びＹ座標の値と終点となるＸ座標及びＹ座標の値とを用いて機械学習を行い粗検出モデルを更新する（ステップＳ５０８）。また、粗検出モデル生成部３２６は、粗検出モデル更新後、又は、異常が検出されていない場合（ステップＳ５０６；ＮＯ）、粗検出モデル生成部３２６は、全ての学習対象画像を用いて機械学習を行ったか否かを判定する（ステップＳ５０９）。粗検出モデル生成部３２６は、全ての学習対象画像を用いて機械学習を行っていない場合（ステップＳ５０９；ＮＯ）、全ての学習対象画像を用いて機械学習を行うまでステップＳ５０２〜Ｓ５０８の処理を繰り返す。一方、粗検出モデル生成部３２６は、全ての学習対象画像を用いて機械学習を行った場合（ステップＳ５０９；ＹＥＳ）、処理を終了する。
【０１９１】
図２２は、実施の形態３に係る位置検査処理を示すフローチャートである。図２２に示すフローチャートを用いて実施の形態３に係る検査装置１が金属部品４０１の位置を検査する動作について説明する。先ず、図２２に示すように、位置検出部３１２は、ステップＳ４０１の処理を実行した後、検査画面７において選択された製品名に対応する装置設定情報から画像サイズを取得するとともに位置検査設定情報の位置検出範囲とパターンサイズと粗検出範囲とを取得する（ステップＳ４６１）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、装置設定情報の「ＳＺＡ１」を取得し、位置検査設定情報の「ＸＳＡ１〜ＸＥＡ１，ＹＳＡ１〜ＹＥＡ１」及び「（ＷＡ１，ＬＡ１）」、「ＸＳＡ３〜ＸＥＡ３，ＹＳＡ３〜ＹＥＡ３」を取得する。
【０１９２】
また、位置検出部３１２は、検査対象画像から粗検出範囲に基づいて抽出した画像に粗検出モデルを適用して粗検出結果座標を算出し（ステップＳ４６２）、算出した粗検出結果座標に基づいて位置検査設定情報の位置検出範囲を更新する（ステップＳ４６３）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、始点（ＸＳＡ３，ＹＳＡ３）と終点（ＸＥＡ３，ＹＥＡ３）を対角頂点とする矩形状の粗検出範囲の画像を検査対象画像から抽出する。また、位置検出部３１２は、検査画面７において選択された製品名に対応する粗検出モデルを抽出した画像に適用して粗検出結果座標（Ｘ３，Ｙ３）を算出する。また、位置検出部３１２は、粗検出結果座標（Ｘ３，Ｙ３）が中央点となる新たな始点（ＸＳＡ３１，ＹＳＡ３１）と新たな終点（ＸＥＡ３１，ＹＥＡ３１）とを算出する。
【０１９３】
また、位置検出部３１２は、検査対象画像から更新された位置検出範囲内でパターンサイズの画像を抽出する（ステップＳ４６４）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、新たな始点（ＸＳＡ３１，ＹＳＡ３１）と新たな終点（ＸＥＡ３１，ＹＥＡ３１）とを対角頂点とする矩形状の位置検出範囲内の選択された座標位置を中心とする横幅がＷＡ１、縦幅がＬＡ１の範囲の画像を検査対象画像から抽出する。
【０１９４】
また、位置検出部３１２は、ステップＳ４０４〜Ｓ４０７の処理を実行する。位置検出部３１２は、パターンサイズの画像を全て抽出していない場合（ステップＳ４０７；ＮＯ）、パターンサイズの画像を全て抽出するまでステップＳ４６４、Ｓ４０４〜Ｓ４０６の処理を繰り返す。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、Ｎ個の画像のスコアＳＣ１１〜ＳＣ１Ｎを算出するまで、検査対象画像からパターンサイズの画像を抽出し続ける。一方、図１５に示すように、位置検出部３１２は、位置検出部３１２は、パターンサイズの画像を全て抽出した場合（ステップＳ４０７；ＹＥＳ）、ステップＳ４０８〜Ｓ４１５の処理を実行し、処理を終了する。
【０１９５】
以上説明したように、実施の形態３に係る検査装置１によれば、位置検出部３１２は、粗検出範囲に基づいて検査対象画像から抽出した画像に粗検出モデルを適用して粗検出結果座標を算出する。また、位置検出部３１２は、算出した粗検出結果座標に基づく新たな位置検出範囲内からパターンサイズの画像を抽出することで、複数種類のパターンサイズの画像を抽出する。そして、位置検出部３１２は、抽出したパターンサイズの画像に位置検出モデルを適用してスコアをそれぞれ算出し、スコアがスコア閾値以上となった最大スコアの画像を特定することで、検査対象画像における金属部品４０１の位置を検出し、位置出力部３１４は、検出した金属部品４０１の位置を出力する。
この結果、検査装置１は、位置検出モデルだけではなく粗検出モデルも用いて検査対象画像における金属部品４０１の位置を検出することができる。
【０１９６】
特に、実施の形態３に係る検査装置１によれば、位置検出部３１２は、算出した粗検出結果座標に基づいて位置検査設定情報から取得した位置検出範囲を更新する。なお、算出した粗検出結果座標は、金属部品４０１の中央付近になることが期待できる。
この結果、検査装置１は、粗検出結果座標に基づいて位置検出範囲を更新しない検査装置よりも検査対象画像における金属部品４０１の位置を精度良く検出できる。このため、検査装置１は、粗検出結果座標と金属部品４０１の実際の位置との間に想定される誤差の程度に基づいて位置検出範囲を狭くすることができ、位置検出部３１２の動作にかかる時間を短縮することができる。例えば、粗検出結果座標の誤差が２０画素程度の長さであれば、位置検出範囲をＸ方向及びＹ方向にそれぞれ±４０画素程度としても、位置検出部３１２は、金属部品４０１の位置を十分に検出できる。この結果、検査装置１は、検査のための作業の負荷及び時間を更に低減できる。
その他、実施の形態３に係る検査装置１は、実施の形態１に係る検査装置１と同様の作用効果を奏する。
【０１９７】
なお、実施の形態３では、検査装置１は、粗検出モデル生成部３２６及び粗検出モデル記憶部３２７を備えているが、粗検出モデル生成部３２６及び粗検出モデル記憶部３２７を備えていなくてもよい。例えば、外部の学習装置が粗検出モデル生成部３２６及び粗検出モデル記憶部３２７を備え、粗検出モデル生成部３２６が上述した情報を用いた機械学習によって粗検出モデルを生成し、生成された粗検出モデルを粗検出モデル記憶部３２７に記憶してもよい。この場合、検査装置１は、学習装置に記憶されている粗検出モデルを取得する必要がある。
【０１９８】
なお、実施の形態３では、実施の形態２のように、位置検出部３１２が位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで複数種類のパターンサイズの画像を粗く抽出していないが、これに限定されない。例えば、実施の形態２、３の構成を組み合わせて、位置検出部３１２は、粗検出モデルを用いて算出した粗検出結果座標に基づいて新たな位置検出範囲に更新するとともに、更新した新たな位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで複数種類のパターンサイズの画像を粗く抽出してもよい。
【実施の形態４】
【０１９９】
実施の形態１〜３に係る検査装置１では、位置検出部３１２は、検査対象画像において算出したＸ座標及びＹ座標の測定値に対応する位置、すなわち、最大スコアとなったパターンサイズの画像の中心の座標に対応する位置を金属部品４０１の位置として検出している。しかしながら、本開示は、これに限定されず、位置検出部３１２は、最大スコアとなったパターンサイズの画像の中心の座標に対応する位置を金属部品４０１の位置として検出しなくてもよい。実施の形態４に係る検査装置１では、位置検出部３１２は、検査対象画像において算出したＸ座標及びＹ座標の測定値に基づいて特定した位置を金属部品４０１の位置として検出する。以下、図２３〜図２５を参照して、実施の形態４に係る検査装置１の構成を説明する。なお、実施の形態４では、実施の形態１〜３と異なる構成について説明し、実施の形態１〜３と同一の構成については冗長であるため説明を省略する。
【０２００】
本開示の実施の形態４に係る検査装置、検査方法及びプログラムは、実施の形態１に係る検査装置、検査方法及びプログラムよりも位置検出の精度向上を図るものである。
【０２０１】
［コンピュータ３の機能構成の詳細について］
図２３は、実施の形態４に係る位置検査設定情報の一例を示す図である。実施の形態４では、位置検査設定情報は、図２３に示すように、製品名毎に分類されている項目の情報として画素の輝度値の最大値、所謂ピークの検出範囲としての縦幅及び横幅の長さを示す「ピーク検出範囲」の項目の情報を更に含んでいる。
例えば、位置検査設定情報は、図２３の第１行において、「製品名」が「基板Ａ」の製品について、ピーク検出範囲として横幅ＷＡ４、縦幅ＬＡ４となる画像を抽出して金属部品４０１の位置を検出することを示している。
【０２０２】
また、実施の形態４では、位置検出部３１２は、最大スコアとなったパターンサイズの画像からＸ座標及びＹ座標の測定値を算出した後、金属部品４０１の製品名に対応する位置検査設定情報の「ピーク検出範囲」の横幅と縦幅とを取得する。また、位置検出部３１２は、検査対象画像から算出したＸ座標及びＹ座標の測定値を中心として取得した横幅と縦幅となる画像を抽出する。
【０２０３】
図２４は、実施の形態４に係るフィッティング処理の一例を示す図である。ここで、図２４に示すグラフは、横軸がＸ座標の値、縦軸がＹ方向に並んだ画素の輝度の平均値を示しており、Ｘ座標の値とＹ方向に並んだ画素の輝度の平均値との関係性を示すピーク形状関数のグラフである。上述したように、金属部品４０１の光沢部分４０２は、縦方向、すなわち、Ｙ方向に延びて現れている。このため、位置検出部３１２は、抽出した画像においてＸ座標毎にＹ方向に並んだ画素の輝度の平均値を算出する。また、位置検出部３１２は、図２４に示すように、算出したＸ座標毎のＹ方向に並んだ画素の輝度の平均値を予め定められたピーク形状関数に対して誤差を最小にしながら当て嵌める所謂フィッティング処理を実行し、ピーク形状関数の値がピークとなるＸ座標の値を算出する。なお、ピーク形状関数は、例えば、ガウス関数、ローレンツ関数等を用いることができる。そして、位置検出部３１２は、Ｘ座標の測定値を算出した値に更新し、更新したＸ座標及びＹ座標の測定値に基づく位置を金属部品４０１の位置として検出する。
【０２０４】
例えば、位置検出部３１２は、Ｘ座標及びＹ座標の測定値（Ｘ１，Ｙ１）を算出した後、位置検査設定情報の「ピーク検出範囲」の横幅ＷＡ４、縦幅ＬＡ４を取得する。また、位置検出部３１２は、Ｘ座標及びＹ座標の測定値（Ｘ１，Ｙ１）を中心として横幅ＷＡ４、縦幅ＬＡ４となる画像を抽出し、抽出した画像から選択可能な全てのＸ座標のＹ方向に並んだ画素の輝度の平均値を算出する。
【０２０５】
ここで、抽出した画像に選択可能なＸ座標がＫ個ある場合、選択可能なＸ座標をＸＰ１、ＸＰ２、…、ＸＰＫとし、Ｋ個のＸ座標ＸＰ１、ＸＰ２、…、ＸＰＫのＹ方向に並んだ画素の輝度の平均値をＹＰ１、ＹＰ２、…、ＹＰＫとする。この場合、位置検出部３１２は、Ｘ座標ＸＰ１〜ＸＰＫのＹ方向に並んだ画素の輝度の平均値ＹＰ１〜ＹＰＫを算出し、ピーク形状関数に当て嵌めるフィッティング処理を実行してピーク形状関数の値がピークとなるＸ座標の値を算出する。そして、位置検出部３１２は、例えば、図２４に示すグラフでピーク形状関数が示される場合、ピーク形状関数の値がピークとなるＸ座標の値が「３８１」であるため、Ｘ１＝３８１とすることで、Ｘ座標の測定値Ｘ１を「３８１」に更新する。
【０２０６】
図２５は、実施の形態２に係る位置検査処理を示すフローチャートである。図２５に示すフローチャートを用いて実施の形態４に係る検査装置１が金属部品４０１の位置を検査する動作について説明する。先ず、図２５に示すように、位置検出部３１２は、ステップＳ４０１〜Ｓ４１０の処理を実行した後、検査画面７において選択された製品名に対応する位置検査設定情報のピーク検出範囲を取得する（ステップＳ４７１）。例えば、検査画面７において「基板Ａ」が選択されていれば、位置検出部３１２は、位置検査設定情報の「（ＷＡ４，ＬＡ４）」を取得する。
【０２０７】
また、位置検出部３１２は、検査対象画像から算出したＸ座標及びＹ座標の測定値の座標を中心として取得したピーク検出範囲の横幅と縦幅の長さの分の画像を抽出する（ステップＳ４７２）。また、位置検出部３１２は、抽出した画像から選択可能な全てのＸ座標のＹ方向に並んだ画素の輝度の平均値を算出する（ステップＳ４７３）。例えば、位置検出部３１２は、検査対象画像から算出したＸ座標及びＹ座標の測定値（Ｘ１，Ｙ１）の座標を中心として横幅ＷＡ４、縦幅ＬＡ４となる画像を抽出し、Ｘ座標ＸＰ１〜ＸＰＫのＹ方向に並んだ画素の輝度の平均値ＹＰ１〜ＹＰＫを算出する。
【０２０８】
また、位置検出部３１２は、算出したＸ座標毎のＹ方向に並んだ画素の輝度の平均値をピーク形状関数に当て嵌めるフィッティング処理を実行し、ピーク形状関数の値がピークとなるＸ座標の値を算出し（ステップＳ４７４）、Ｘ座標の測定値を算出した値に更新する（ステップＳ４７５）。例えば、位置検出部３１２は、図２４に示すフィッティング処理を実行し、ピーク形状関数の値がピークとなるＸ座標の値として「３８１」を算出し、Ｘ１＝３８１とすることで、Ｘ座標の測定値Ｘ１を「３８１」に更新する。そして、位置規格判定部３１３は、ステップＳ４１１〜Ｓ４１５の処理を実行し、処理を終了する。
【０２０９】
以上説明したように、実施の形態２に係る検査装置１によれば、位置検出部３１２は、Ｘ座標及びＹ座標の測定値、すなわち、最大スコアとなったパターンサイズの画像の中心の座標を算出した後、当該座標を中心とするピーク検出範囲の画像を抽出する。また、位置検出部３１２は、抽出した画像からＹ方向に並んだ画素の輝度の平均値をＸ座標毎に算出し、平均値の近似関数であるピーク形状関数の値がピークとなるＸ座標の値を算出する。そして、位置検出部３１２は、Ｘ座標の測定値を算出した値に更新し、更新したＸ座標及びＹ座標の測定値に基づく位置を金属部品４０１の位置として検出する。
【０２１０】
この結果、検査装置１は、ピーク形状関数の値がピークとなるＸ座標の値にＸ座標の測定値を更新しない検査装置よりも検出する金属部品４０１の位置を光沢部分４０２の輝度がピークとなる位置に近づけることができ、金属部品４０１の位置を精度良く検出することができる。
その他、実施の形態４に係る検査装置１は、実施の形態１に係る検査装置１と同様の作用効果を奏する。
【０２１１】
なお、実施の形態４では、金属部品４０１の光沢部分４０２がＹ方向に延びて現れているため、位置検出部３１２は、Ｙ方向に並んだ画素の輝度の平均値をＸ座標毎に求めてＸ方向のピークのみを算出したが、これに限定されない。例えば、位置検出部３１２は、金属部品４０１の光沢部分４０２がＸ方向に延びて現れている場合、Ｘ方向に並んだ画素の輝度の平均値をＹ座標毎に求めてＹ方向のピークのみを算出してもよい。また、例えば、位置検出部３１２は、金属部品４０１の光沢部分４０２が円形状に現れている場合、Ｙ方向に並んだ画素の輝度の平均値をＸ座標毎に求めてＸ方向のピークを算出するとともに、Ｘ方向に並んだ画素の輝度の平均値をＹ座標毎に求めてＹ方向のピークを算出してもよい。更に、位置検出部３１２は、金属部品４０１の光沢部分４０２の形状に応じてＸ方向及びＹ方向のピークを算出してもよい。
【０２１２】
また、例えば、位置検出部３１２は、金属部品４０１の光沢部分４０２がＸ方向及びＹ方向に対して傾斜する傾斜方向に延びて現れている場合、傾斜方向に並んだ画素の輝度の平均値を傾斜方向と直交する直交方向の座標毎に求めて傾斜方向のピークを算出してもよい。更に、位置検出部３１２は、金属部品４０１の光沢部分４０２の形状に応じて傾斜方向のピークを算出してもよい。
【０２１３】
なお、実施の形態４のように、Ｘ座標の測定値を更新するために、位置検出部３１２は、抽出した画像から算出したＸ座標毎のＹ方向に並んだ画素の輝度の平均値とピーク形状関数とのフィッティング処理を実行してピーク形状関数の値がピークとなるＸ座標の値を算出することが好ましい。しかしながら、Ｘ座標の測定値を更新する方法についてはこれに限定されない。例えば、位置検出部３１２は、Ｘ座標毎のＹ方向に並んだ画素の輝度の平均値が最大となるＸ座標の値でＸ座標の測定値を更新してもよい。この場合、フィッティング処理よりも簡易な処理で検出する金属部品４０１の位置を光沢部分４０２の輝度がピークとなる位置に近づけることができる。
【０２１４】
なお、実施の形態４では、実施の形態２のように、位置検出部３１２が位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を抽出することで複数種類のパターンサイズの画像を粗く抽出していないが、これに限定されない。例えば、実施の形態２、４の構成を組み合わせてもよい。具体的には、位置検出部３１２は、位置検出範囲内から粗検出用間隔毎にパターンサイズの画像を粗く抽出するとともに、最大スコアとなったパターンサイズの画像の座標を中心として抽出した画像の画素の輝度値に基づいて当該座標を更新してもよい。
【０２１５】
なお、実施の形態４では、実施の形態３のように、位置検出部３１２が粗検出モデルを用いて算出した粗検出結果座標に基づいて位置検出範囲を更新してからパターンサイズの画像を抽出していないが、これに限定されない。例えば、実施の形態３、４の構成を組み合わせて、位置検出部３１２は、粗検出モデルを用いて算出した粗検出結果座標に基づいて位置検出範囲を更新してから抽出したパターンサイズの画像のうちの最大スコアとなった画像の座標を中心として抽出した画像から画素の輝度値に基づいて当該座標を更新してもよい。
【０２１６】
なお、制御部５１、主記憶部５２、外部記憶部５３、操作部５４、表示部５５、送受信部５６、内部バス５０等を備えるコンピュータ３の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータ３が読み取り可能な記録媒体、例えば、フレキシブルディスク、ＤＶＤ−ＲＯＭ（Read-Only Memory）等に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、上記の処理を実行するコンピュータ３を構成してもよい。また、インターネットなどの通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロードなどすることでコンピュータ３を構成してもよい。
【０２１７】
また、コンピュータ３の機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、又はＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体又は記憶装置に格納してもよい。
【０２１８】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板（BBS, Bulletin Board System）に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを提供してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行してもよい。
【０２１９】
その他、実施の形態１〜４に係る検査装置１、検査方法及びプログラムの構成は一例であり、本開示が解決しようとする課題を解決可能な限りにおいて任意に変更及び修正が可能である。
【０２２０】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【０２２１】
本出願は、２０１９年７月１８日に出願された、日本国出願特願２０１９−１３２４７３号に基づく。本明細書中に日本国出願特願２０１９−１３２４７３号の明細書、請求の範囲、図面全体を参照として取り込むものとする。
【符号の説明】
【０２２２】
１  検査装置、２  撮像装置、３  コンピュータ、４  基板、５  初期画面、６  学習画面、７  検査画面、５０  内部バス、５１  制御部、５２  主記憶部、５３  外部記憶部、５４  操作部、５５  表示部、５６  送受信部、５９  制御プログラム、２０１  底板、２０２〜２０５  支柱、２０６  天板、２０７  横方向位置決めブロック、２０８  縦方向位置決めブロック、２０９  撮像部、２１０，２１１  照明光出力部、３０１  入力部、３０２  撮像制御部、３０３  照明光制御部、３０４  設定情報記憶部、３０５  画像情報記憶部、３０６  位置学習情報記憶部、３０７  異常学習情報記憶部、３０８  基準位置算出部、３０９  マスク画像生成部、３１０  位置検出モデル生成部、３１１  位置検出モデル記憶部、３１２  位置検出部、３１３  位置規格判定部、３１４  位置出力部、３１５  異常検出モデル生成部、３１６  異常検出モデル記憶部、３１７  異常検出部、３１８  異常規格判定部、３１９  異常出力部、３２０  初期画面表示部、３２１  学習画面表示部、３２２  検査画面表示部、３２３  総合判定部、３２４  総合判定結果出力部、３２５  総合判定結果記憶部、３２６  粗検出モデル生成部、３２７  粗検出モデル記憶部、４０１  金属部品、４０２  光沢部分、５０１  学習画面表示ボタン、５０２  検査画面表示ボタン、５０３  終了ボタン、６０１  学習用画像表示欄、６０２，７０２  製品選択欄、６０３  学習用画像選択欄、６０４  学習用画像撮像ボタン、６０５  学習用画像読込ボタン、６０６  学習用画像削除ボタン、６０７  位置学習情報表示欄、６０８  異常学習情報表示欄、６０９  位置学習情報反映ボタン、６１０  第１異常学習情報反映ボタン、６１１  拡大表示欄、６１２  第２異常学習情報反映ボタン、６１３，７０８  保存ボタン、６１４  学習ボタン、６１５，７０９  戻るボタン、６１６  異常種別選択欄、６１７  異常種別追加ボタン、６１８  異常種別削除ボタン、６１９  カーソル、６２０  光沢部分に対応する位置、６２１  異常に対応する位置、６２２  領域表示枠、６２３  異常の画像、７０１  検査用画像表示欄、７０３  位置検査情報表示欄、７０４  異常検査情報表示欄、７０５  マーク表示切替欄、７０６  総合判定欄、７０７  検査実行ボタン、７１０  測定値に対応する位置、７１１  測定値用のマーク。
【図１】
2021010269.tif 000003
【図２Ａ】
2021010269.tif 000004
【図２Ｂ】
2021010269.tif 000005
【図３】
2021010269.tif 000006
【図４】
2021010269.tif 000007
【図５Ａ】
2021010269.tif 000008
【図５Ｂ】
2021010269.tif 000009
【図５Ｃ】
2021010269.tif 000010
【図５Ｄ】
2021010269.tif 000011
【図６】
2021010269.tif 000012
【図７】
2021010269.tif 000013
【図８】
2021010269.tif 000014
【図９】
2021010269.tif 000015
【図１０】
2021010269.tif 000016
【図１１】
2021010269.tif 000017
【図１２】
2021010269.tif 000018
【図１３】
2021010269.tif 000019
【図１４】
2021010269.tif 000020
【図１５】
2021010269.tif 000021
【図１６】
2021010269.tif 000022
【図１７】
2021010269.tif 000023
【図１８】
2021010269.tif 000024
【図１９】
2021010269.tif 000025
【図２０】
2021010269.tif 000026
【図２１】
2021010269.tif 000027
【図２２】
2021010269.tif 000028
【図２３】
2021010269.tif 000029
【図２４】
2021010269.tif 000030
【図２５】
2021010269.tif 000031
【手続補正書】
【提出日】令和3年7月5日(2021.7.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記目的を達成するため、本開示に係る検査装置は、位置検出部、位置出力部を備える。位置検出部は、学習用の画像の画像情報を用いた機械学習によって生成された位置粗検出モデルに検査対象物を含む検査用の画像を適用して算出した検査対象物の位置の粗検出結果に基づいて検査用の画像の部分を抽出し、学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルに抽出した検査用の画像の部分を適用して検査用の画像の部分についてスコアを算出し、スコアが予め設定された関係となる検査用の画像の部分を特定することで、検査用の画像における検査対象物の位置を検出する。位置出力部は、位置検出部が検出した検査対象物の位置を出力する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
学習用の画像の画像情報を用いた機械学習によって生成された位置粗検出モデルに検査対象物を含む検査用の画像を適用して算出した検査対象物の位置の粗検出結果に基づいて前記検査用の画像の部分を抽出し、前記学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルに抽出した前記検査用の画像の部分を適用して前記検査用の画像の部分についてスコアを算出し、前記スコアが予め設定された関係となる前記検査用の画像の部分を特定することで、前記検査用の画像における検査対象物の位置を検出する位置検出部と、
前記位置検出部が検出した検査対象物の位置を出力する位置出力部と、
を備える検査装置。
【請求項２】
前記位置検出部が検出した検査対象物の位置が予め定められた規格に適合するか否かを判定する位置規格判定部を更に備える、
請求項１に記載の検査装置。
【請求項３】
前記位置検出モデルは、前記学習用の画像における検出範囲を示す位置検出範囲情報を更に用いた機械学習によって生成されている、
請求項１又は２に記載の検査装置。
【請求項４】
前記学習用の画像の画像情報を用いた機械学習によって生成された異常検出モデルに前記検査用の画像を適用して前記検査用の画像の部分についてスコアを算出し、前記スコアが予め設定された関係となる前記検査用の画像の部分を特定することで、前記検査用の画像における検査対象物の表面の異常を検出する異常検出部と、
前記異常検出部が検出した前記検査対象物の異常を出力する異常出力部とを更に備える、
請求項１から３の何れか１項に記載の検査装置。
【請求項５】
前記異常検出部が検出した検査対象物の表面の異常があっても予め定められた規格に適合するか否かを判定する異常規格判定部を更に備える、
請求項４に記載の検査装置。
【請求項６】
前記異常検出モデルは、前記学習用の画像における検出範囲を示す異常検出範囲情報を更に用いた機械学習によって生成されている、
請求項４又は５に記載の検査装置。
【請求項７】
前記位置検出部は、前記スコアが予め設定された関係となる前記検査用の画像の部分を特定した後、特定した前記検査用の画像の部分の位置を中心とする予め定めた範囲内において画素の輝度値が最大となる位置を特定することで、検査対象物の位置を検出する、
請求項１から６の何れか１項に記載の検査装置。
【請求項８】
前記学習用の画像の画像情報を用いた機械学習によって前記位置検出モデルを生成する位置検出モデル生成部を更に備える、
請求項１から７の何れか１項に記載の検査装置。
【請求項９】
予め取得した異常が検出されている検査対象物を含む前記学習用の画像に対して異常が検出されている部分を覆うマスクをしたマスク画像を生成するマスク画像生成部を更に備え、
前記位置検出モデル生成部は、前記マスク画像の画像情報を用いた機械学習によって位置検出モデルを生成可能である、
請求項８に記載の検査装置。
【請求項１０】
前記マスク画像生成部は、検査用の画像に異常が検出された場合、前記検査用の画像に対して異常が検出されている部分を覆うマスクをしたマスク画像を生成し、
前記位置検出部は、前記マスク画像を前記位置検出モデルに適用して前記マスク画像の部分についてスコアを算出し、前記スコアが予め設定された関係となる前記マスク画像の部分を特定することで、前記マスク画像における検査対象物の位置を検出可能である、
請求項９に記載の検査装置。
【請求項１１】
検査対象物を撮像する撮像部と、
検査対象物に対して照明光を出力する照明光出力部とを更に備え、
前記位置検出モデル生成部は、検査対象物に対して照明光を出力したときの反射光を含む画像について機械学習することによって前記位置検出モデルを生成する、
請求項８から１０の何れか１項に記載の検査装置。
【請求項１２】
前記学習用の画像の画像情報を用いた機械学習によって前記位置粗検出モデルを生成する位置粗検出モデル生成部を更に備える、
請求項１に記載の検査装置。
【請求項１３】
前記学習用の画像の画像情報を用いた機械学習によって前記異常検出モデルを生成する異常検出モデル生成部を更に備える、
請求項４から６の何れか１項に記載の検査装置。
【請求項１４】
学習用の画像の画像情報を用いた機械学習によって生成された位置粗検出モデルに検査対象物を含む検査用の画像を適用して算出した検査対象物の位置の粗検出結果に基づいて抽出した前記検査用の画像の部分と、前記学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルとに基づいて、前記検査用の画像における検査対象物の位置を検出する位置検出ステップと、
前記位置検出ステップで検出した前記検査対象物の位置を出力する位置出力ステップと、
を含む検査方法。
【請求項１５】
コンピュータを、
学習用の画像の画像情報を用いた機械学習によって生成された位置粗検出モデルに検査対象物を含む検査用の画像を適用して算出した検査対象物の位置の粗検出結果に基づいて抽出した前記検査用の画像の部分と、前記学習用の画像の画像情報を用いた機械学習によって生成された位置検出モデルとに基づいて、前記検査用の画像における検査対象物の位置を検出する位置検出部、
前記位置検出部が検出した前記検査対象物の位置を出力する位置出力部、
として機能させるプログラム。
【国際調査報告】
2021010269.tif 000032
2021010269.tif 000033
2021010269.tif 000034
2021010269.tif 000035