(57)【要約】  従来の検査装置では、画素毎に演算及び異常の有無を判定し、全ての画素で高精度に位置合わせを行う必要があるため、導入コストの増加及びコンピュータの計算時間の増加を招くという問題があった。  異常を含まない対象物のデータをデータの次元を減らす次元圧縮をすることにより異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータをパラメータを用いて次元圧縮する解析部（１２ａ）と、解析部（１２ａ）で次元圧縮した検査する対象物のデータを復元した復元データを生成する復元部（１４ａ）と、検査する対象物のデータと復元データとの差分の大小に基づき検査する対象物が異常であるか否かを示す判定結果を出力する判定部（１４ａ）と、判定部（１４ａ）が出力した判定結果を出力する出力部（１５）とを設けるようにする。
2018105028.tif 000002
【特許請求の範囲】
【請求項１】
異常を含まない対象物のデータをデータの次元を減らす次元圧縮をすることにより前記異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータを前記パラメータを用いて次元圧縮する解析部と、
前記解析部で次元圧縮した前記検査する対象物のデータを復元した復元データを生成する復元部と、
前記検査する対象物のデータと前記復元データとの差分の大小に基づき前記検査する対象物が異常であるか否かを示す判定結果を出力する判定部と、
前記判定部が出力した前記判定結果を出力する出力部と
を備えた検査装置。
【請求項２】
前記解析部が算出した前記パラメータを記憶する記憶部とを備え、
前記解析部は、前記検査する対象物のデータを前記記憶部に記憶した前記パラメータを用いて次元圧縮する
請求項１に記載の検査装置。
【請求項３】
前記復元部が復元した復元データと前記検査する対象物のデータとの誤差を補正するフィルタを用いて前記復元データをフィルタリングして補正した復元データを生成する補正部とを備え、
前記判定部は、前記検査する対象物のデータと補正した前記復元データとの差分の大小に基づき前記検査する対象物が異常であるか否かを示す判定結果を出力する
請求項１〜２のいずれか１項に記載の検査装置。
【請求項４】
前記フィルタは、ウィーナーフィルタである
請求項３に記載の検査装置。
【請求項５】
前記判定部は、前記差分が閾値以上のとき前記検査する対象物が異常であると示す判定結果を出力する
請求項１〜４のいずれか１項に記載の検査装置。
【請求項６】
前記異常を含まない対象物のデータは、異常を含まない対象物の画像データであり、
前記検査する対象物のデータは、検査する対象物の画像データである
請求項１〜５のいずれか１項に記載の検査装置。
【請求項７】
前記次元圧縮は、主成分分析を用いる
請求項１〜６のいずれか１項に記載の検査装置。
【請求項８】
前記次元圧縮は、ニューラルネットワークを用いた自己符号化器を用いる
請求項１〜６のいずれか１項に記載の検査装置。
【請求項９】
前記復元部は、前記パラメータを用いて前記復元データを生成する
請求項８記載の検査装置。
【請求項１０】
前記判定部は、前記検査する対象物が異常であると示す判定結果を出力した前記差分が閾値以上の領域に外接する矩形であるバウンディングボックスを算出し、
前記出力部は、前記判定部が算出した前記バウンディングボックスを前記判定結果として出力する
請求項５に記載の検査装置。
【請求項１１】
前記出力部は、前記バウンディングボックスに基づき特定された前記検査する対象物の画像データの異常個所を点線で前記検査する対象物の画像データに重畳表示させるように出力する
請求項１０に記載の検査装置。
【請求項１２】
前記出力部は、前記検査する対象物の画像データに対して前記差分の画像データを合成した差分合成画像データを出力する
請求項１０に記載の検査装置。
【請求項１３】
前記出力部は、前記判定部が前記検査する対象物が異常であると示す判定結果を出力する場合、異常が検出されたことを通知するためのメッセージを表示させるように出力する
請求項１〜１２のいずれか１項に記載の検査装置。
【請求項１４】
前記出力部が出力した前記判定結果を表示する表示部とを備えた
請求項１〜１３のいずれか１項に記載の検査装置。
【請求項１５】
異常を含まない対象物のデータをデータの次元を減らす次元圧縮をすることにより前記異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータを記憶媒体に記憶された前記パラメータを用いて次元圧縮するステップと、
次元圧縮した前記検査する対象物のデータを復元した復元データを生成するステップと、
前記検査する対象物のデータと前記復元データとの差分の大小に基づき前記検査する対象物が異常であるか否かを示す判定結果を出力するステップと、
前記判定結果を出力するステップと
を備えた検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取得した対象物のデータから、対象物の欠損、誤配置、欠陥等の異常の有無を検査する検査装置及び検査方法に関するものである。
【背景技術】
【０００２】
対象物をカメラで撮影し、取得した画像データから対象物の異常の有無を機械が自動的に検査することは、例えば工業製品の製造過程で行われる目視検査または外観検査の自動化または省力化のために重要な技術である。【０００３】
従来、対象物の欠損、誤配置、欠陥等の異常の有無の検査は、例えば、特許文献１の検査装置では、対象物を撮影して取得した画像データを複数記憶し、その複数の画像データから同一座標をもつ画素毎に対象物に異常がないと判定する輝度値の範囲を算出し、対象物の異常の有無の検査の基準に設定する。検査装置は、同一座標をもつ画素毎に、検査する対象物を撮影して取得した画像データの輝度値が設定した対象物に異常がないと判定する輝度値の範囲内であるか否かを判定することによって、対象物の欠損、誤配置、欠陥等の異常の有無を検査していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−３２９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来の検査装置では、画素毎に対象物に異常がないと判定する輝度値の範囲を算出し、画素毎に対象物の欠損、誤配置、欠陥等の異常の有無を判定して検査をしている。そのため、撮影時の対象物とカメラの位置関係は常に一定であり、全ての画素に対し、高精度に位置合わせを行う処理が必要である。検査装置の導入に伴って全ての画素に対し、高精度に位置合わせを行うためのカメラ及び対象物を固定するための治具、位置決め装置等も導入する必要がある。したがって、導入コストの増加及びコンピュータの計算時間の増加を招くという問題があった。【０００６】
本発明は、上述のような問題を解決するためになされたものであって、従来の検査装置よりも、対象物とカメラの確実な固定及び対象物を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物の欠損、誤配置、欠陥等の異常の有無を検査する検査装置及び検査方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る検査装置は、異常を含まない対象物のデータをデータの次元を減らす次元圧縮をすることにより異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータをパラメータを用いて次元圧縮する解析部と、解析部で次元圧縮した検査する対象物のデータを復元した復元データを生成する復元部と、検査する対象物のデータと復元データとの差分の大小に基づき検査する対象物が異常であるか否かを示す判定結果を出力する判定部と、判定部が出力した判定結果を出力する出力部とを備える。
【発明の効果】
【０００８】
本発明によれば、異常を含まない対象物のデータをデータの次元を減らす次元圧縮をすることにより異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータをパラメータを用いて次元圧縮し、次元圧縮した検査する対象物のデータを復元した復元データを生成し、検査する対象物のデータと復元データとの差分の大小に基づき検査する対象物が異常であるか否かを示す判定結果を出力するため、従来の検査装置よりも、対象物とカメラの確実な固定及び対象物を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物の欠損、誤配置、欠陥等の異常の有無を検査できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係る検査装置を含む検査システムの機能ブロック図である。
【図２】本発明の実施の形態１に係る検査装置のハードウェア構成図である。
【図３】本発明の実施の形態１に係る検査装置の学習モードにおける動作を示すフローチャートである。
【図４】主成分分析の概念図である。
【図５】本発明の実施の形態１に係る検査装置の検査モードにおける動作を示すフローチャートの一部である。
【図６】本発明の実施の形態１に係る検査装置の検査モードにおける動作を示すフローチャートの一部である。
【図７】プリント基板を対象物とし、基板上に異常がないかどうかを検査する例である。
【図８】検査する対象物となっている基板の一部に欠損がある場合の例である。
【図９】閾値処理の結果である。
【図１０】検査対象領域を限定するための２次元マスクの例である。
【図１１】入出力装置がその構成にディスプレイを含む場合に、入出力部が入出力装置に対して指示する表示内容の例である。
【図１２】入出力装置がその構成にディスプレイを含む場合に、入出力部が入出力装置に対して指示する表示内容の別の例である。
【図１３】入出力装置がその構成にディスプレイを含む場合に、入出力部が入出力装置に対して指示する表示内容のさらに別の例である。
【図１４】本発明の実施の形態２に係る検査装置を含む検査システムの機能ブロック図である。
【図１５】本発明の実施の形態２に係る検査装置の学習モードにおける動作を示すフローチャートである。
【図１６】ニューロンを多入力１出力のノードとしてモデル化した図である。
【図１７】砂時計型ニューラルネットワークの例である。
【図１８】自己符号化器の隠れ層の総数を変更したときの様子を示す一例である。
【図１９】本発明の実施の形態２に係る検査装置の検査モードにおける動作を示すフローチャートの一部である。
【図２０】本発明の実施の形態２に係る検査装置の検査モードにおける動作を示すフローチャートの一部である。
【図２１】本発明の実施の形態３に係る検査装置を含む検査システムの機能ブロック図である。
【図２２】本発明の実施の形態３に係る検査装置の検査モードにおける動作を示すフローチャートの一部である。
【図２３】本発明の実施の形態３に係る検査装置の検査モードにおける動作を示すフローチャートの一部である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１は、本発明の実施の形態１に係る検査装置１を含む検査システムの機能ブロック図である。
【００１１】
検査システムは、対象物３を検査する検査装置１と対象物３を撮影するカメラ２と検査内容の入力及び検査結果を出力する入出力装置４とを備えている。検査装置１は、カメラ２で撮影した対象物３の画像データを入力データとして受信し、解析を行ってその結果を入出力装置４に送信する。
【００１２】
検査装置１は、各部を制御する制御部１０と、画像データが入力される入力部１１と、入力部１１から入力された画像データを解析する解析部１２ａと、解析した結果を記録する記憶部１３ａと、解析した結果と取得した画像データから対象物３が異常か否かを示す判定結果を出力する判定部１４ａと、判定部１４ａが出力した判定結果を出力する入出力部１５とを備えている。
【００１３】
制御部１０は、入力部１１と、解析部１２ａと、記憶部１３ａと、判定部１４ａと、入出力部１５と指示を送受信することで、各部を制御する。
【００１４】
入力部１１は、カメラ２から対象物３の画像データを受信する。画像データは、対象物３のデータの一例であり、画像に限らず波形、立体等を示すデータでもよい。なお、実施の形態１では入力される画像データはデジタルデータであることを前提とするが、アナログデータであってもよい。
【００１５】
解析部１２ａは、制御部１０から送信された指示に基づいて２つの異なる動作モードを切り替えて実行する。ここで、２つの動作モードとは学習モードと検査モードである。学習モードでは、異常を含まない正常な対象物３の画像データを１枚以上使用し、異常を含まない正常な対象物３の画像データを対象物３の画像データの次元を減らす次元圧縮をすることにより、異常を含まない正常な対象物３のデータの性質を表すパラメータを算出することで正常な状態がどんな状態であるかを学習する。したがって、学習モードでは検査装置１は対象物３の異常の有無の検査は行わない。異常の有無の検査は、学習モードの完了後に実施される検査モードにて行われる。ここで、異常を含まない正常な対象物３の画像データは複数でも算出される正常な対象物３のデータの性質を表すパラメータは１つである。なお、学習モードにおいては、対象物３は異常を含まない正常な状態であることを前提とする。ただし、対象物３が同じ種類の物体であれば、複数の異なる物体から画像データを取得しても構わない。以下では、異常を含まない対象物３を撮影することで取得される画像データを正常画像データと記載する。
【００１６】
検査モードでは、検査する対象物３の画像データを学習モードで学習した正常な対象物３のデータの性質を表すパラメータを算出した際に行った次元圧縮と同様の次元圧縮を行う。
【００１７】
記憶部１３ａは、制御部１０からの指示に基づいて学習結果を記憶及び学習結果を読み出し、解析部１２ａに送信する。ここで読み出される学習結果は学習モードにおいて用いた次元圧縮手法に対応した学習結果である。
【００１８】
判定部１４ａは、次元圧縮した検査する対象物３の画像データを次元圧縮で用いた方法と同様の方法で復元し、復元した画像データである復元データと検査する対象物３の画像データとの差分の大小に基づき、検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力する。なお、判定部１４ａは、復元部と判定部とを合わせた部の一例である。
【００１９】
入出力部１５は、制御部１０からの指示に基づき、学習の進捗状況等を表す情報を入出力装置４から外部に出力する。なお、ここでは外部で作業者が入出力装置４を確認することを想定しているが、必ずしもそのようにする必要はなく、特に作業者を介在させることなく外部の制御装置等に信号を出力するようにしてもよい。また、入出力部１５は、制御部１０からの指示に基づき、判定部１４ａから受信した判定結果を入出力装置４から外部に出力する。なお、ここでは外部で作業者が入出力装置４を確認することを想定しているが、必ずしもそのようにする必要はなく、特に作業者を介在させることなく外部の制御装置等に信号を出力するようにしてもよい。なお、入出力部１５は、出力部の一例であり、実施の形態１では出力部にさらに入力部も備えられたものである。
【００２０】
カメラ２は、対象物３を撮影して画像データに保存することで対象物３の画像データを取得する。カメラ２は、対象物３の画像データを検査装置１に送信する。カメラ２は一例であり、対象物３のデータを取得できればこれに限らない。
【００２１】
入出力装置４は、検査装置１の検査内容を入力し、検査装置１が出した検査結果を出力する。入出力装置４は、例えばディスプレイ、スピーカ、キーボード、マウス等で構成することが考えられる。また、ディスプレイは表示部の一例である。
【００２２】
図２は、本発明の実施の形態１に係る検査装置１のハードウェア構成図である。図２を用いて、本発明の実施の形態１に係る検査装置１の構成について説明する。
【００２３】
実施の形態１において、検査装置１はコンピュータで構成される。検査装置１を構成するコンピュータは、バス１０４、データを送受信する入出力インターフェース１００、メモリ１０２、プログラム、学習データ等を記憶する記憶媒体１０３、メモリ１０２にロードした記憶媒体１０３のプログラムを読み込み実行するプロセッサ１０１といったハードウェアを備える。なお、以下では入出力インターフェース１００は入出力ＩＦ１００と記載する。
【００２４】
バス１０４は、各装置間を電気的に接続し、データのやり取りを行う信号経路である。
【００２５】
入出力ＩＦ１００は、データを送受信する。例えば、入出力ＩＦ１００は、入出力装置４からの検査装置１の起動信号及び設定信号を受信すると、制御部１０に送信する。また、例えば、入出力ＩＦ１００は、制御部１０から解析部１２ａへの指示信号を受信すると、解析部１２ａへ指示信号を送信する。入力部１１と、入出力部１５とは、入出力ＩＦ１００によって実現する。
【００２６】
メモリ１０２は、記憶媒体１０３に記憶したプログラムをロードするワークエリアとして機能する。メモリ１０２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００２７】
記憶媒体１０３は、学習モードのプログラム、検査モードのプログラムの機能を実現するプログラムを記憶する。また、記憶媒体１０３は、学習データ等を記憶する。記憶媒体１０３は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、又は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。記憶媒体１０３は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶する。記憶部１３ａは、記憶媒体１０３によって実現する。
【００２８】
プロセッサ１０１は、バス１０４を介して他の装置と接続し、これら他の装置及び各部を制御する。プロセッサ１０１は、メモリ１０２にロードした記憶媒体１０３のプログラムを読み込み、実行する。プロセッサ１０１は、記憶媒体１０３に記憶したＯＳの少なくとも一部をメモリ１０２にロードし、ＯＳを実行しながら、プログラムを実行する。プロセッサ１０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。制御部１０と、解析部１２ａと、判定部１４ａとは、プロセッサ１０１がメモリ１０２にロードした記憶媒体１０３のプログラムを読み込み、実行することにより実現する。
【００２９】
なお、各装置の結果を示す情報、データ、信号値、変数値等を、メモリ１０２、記憶媒体１０３、又は、プロセッサ１０１内のレジスタ又はキャッシュメモリに記憶する。
【００３０】
また、メモリ１０２と記憶媒体１０３とは、装置を分けずに同一の装置であってもよい。
【００３１】
さらに、プログラムを、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）といった可搬記録媒体に記憶してもよい。
【００３２】
次に、本発明の実施の形態１に係る検査装置１の動作について説明する。
【００３３】
図３は本発明の実施の形態１に係る検査装置１の学習モードにおける動作を示すフローチャートである。図３を用いて、検査装置１の学習モードにおける動作を以下に説明する。
【００３４】
ステップＳ１０において、制御部１０は、入出力部１５を経由して入出力装置４から起動信号及び設定信号を受信する。そして、その設定信号に基づいて入力部１１に指示を与える。入力部１１は、カメラ２から対象物３の正常画像データを受信する。このとき、正常画像データを受信するタイミングは、例えば１秒間に３０回といったように予め決めておいてもよいし、制御部１０からの指示に基づいて決めてもよい。制御部１０は、解析部１２ａに学習モードの処理開始の指示を与える。解析部１２ａは、メモリ１０２にロードした記憶媒体１０３の学習モードに対応するプログラムをメモリ１０２から読み出してプロセッサ１０１で実行することにより学習モードに切り替える。解析部１２ａは、入力部１１からカメラ２が撮影した対象物３の正常画像データを受信する。
【００３５】
ステップＳ１１において、解析部１２ａは、さらに正常画像データを受信するか、あるいは正常画像データを受信するのを終了するかを判定する。ここで、正常画像データ受信の終了判定は解析部１２ａが決定してもよいし、制御部１０からの指示に基づいて決定してもよい。解析部１２ａが決定する場合は、例えば受信した正常画像データの枚数が予め指定された枚数に達した時点で正常画像データの受信を終了することが考えられる。予め指定された枚数は、例えば１００枚、１０００枚等である。制御部１０からの指示に基づいて決定する場合は、例えば制御部１０が入出力部１５を経由して入出力装置４から正常画像データの受信終了指示を受信し、それを解析部１２ａに送信することが考えられる。
【００３６】
ステップＳ１２において、解析部１２ａは、ステップＳ１１の判定結果に基づいて正常画像データの受信に戻るか、あるいは次のステップへ進める。正常画像データ受信終了判定の結果、さらに正常画像データの受信が必要であると判断された場合、ステップＳ１２：Ｎｏとなり、再びステップＳ１０に戻る。正常画像データ受信終了と判定された場合、ステップＳ１２：Ｙｅｓとなり、次のステップへ進む。
【００３７】
ステップＳ１３において、解析部１２ａは受信した正常画像データを使って次元圧縮を行う。ここで、次元圧縮とは、画像データ、３次元立体データ等の高次元データを低次元のデータに変換することを指す。解析部１２ａは、学習モードにおいて正常画像データを用いて学習を行い、正常画像データに最適なデータ変換方法を獲得する。
【００３８】
次元圧縮手法としては、主成分分析、線形判別分析、正準相関分析、離散コサイン変換、ランダムプロジェクション、ニューラルネットワークによる自己符号化器等が知られている。これらの中で、線形の次元圧縮手法としては主成分分析が最もよく用いられる手法の一つである。以下では、主成分分析を用いた場合について説明する。
【００３９】
主成分分析とは、多次元の空間に分散する多数の学習用の正常画像データから、分布の特徴を示す低次元の空間を求める手法である。この低次元の空間を部分空間と呼ぶ。ステップＳ１０で受信した多数の正常画像データの画素値をそのまま空間にプロットすると、きわめて低い次元の部分空間に固まって分布する場合が多い。
【００４０】
図４は、主成分分析の概念図である。図４に示すように、例えば、３次元の空間に分布する正常画像データは面の中に閉じ込められた集まりとして示される。主成分分析では、この集まりの特徴を示す図４のような２次元平面を求める。ここで、次元とは物理的な意味を持っておらず、データに含まれる要素のことである。つまり、次元数とはデータに含まれる要素の数のことである。ここでは、１画素＝１次元であり、例えば、縦１０画素、横１０画素の画像データがあったとすると、この画像データは１０×１０で１００個の画素を持つので、「１００次元のデータ」ということになる。これはつまり、１００次元空間における一つの点として表される。図４は、主成分分析を可視化できるように３次元で図示した模式図である。図４における楕円の一つ一つが１枚の画像データに対応する。図４では、３次元で表しているため、画像データは３画素の画像データである。この例では、実際には３次元空間に分布する画像データを２次元の部分空間で示す、つまり、次元圧縮する様子を示している。
【００４１】
ステップＳ１０で受信した正常画像データの総数をＮとし、正常画像データ１枚あたりの画素数の総数をＫとする。例えば、Ｎの値は１００、１０００等であり、Ｋの値は正常画像データのサイズが３２画素×３２画素であれば１０２４、６４０画素×６４０画素であれば４０９６００等である。このとき、正常画像データの枚数をｎとすると、正常画像データｘｎはベクトルとして式（１）で表すことができる。ただし、Ｔは転置ベクトルである。
【００４２】
【数１】
2018105028.tif 000003
【００４３】
次に、この平均ベクトルＭと分散共分散行列Ｓを式（２）、式（３）で求める。
【００４４】
【数２】
2018105028.tif 000004
【００４５】
【数３】
2018105028.tif 000005
【００４６】
主成分分析では、正常画像データの空間中の分布において、平均値となる点を通り、広がりの最も大きい方向の直線である第１主成分を求める。次に、その第１主成分に直交しかつ平均を通る２番目に広がりの大きい方向の第２主成分の直線を求める。このように次々と主成分を求めていく。平均を通る広がりの大きい方向とは分散共分散行列Ｓの固有ベクトルを求める問題と同じとなる。
【００４７】
すなわち、計算した分散共分散行列Ｓを用いて、式（４）を満たす固有値λｊと固有ベクトルｕｊを求める。ここで、ｊは次元の個数である。
【００４８】
【数４】
2018105028.tif 000006
【００４９】
固有値λｊの大きい方からそれに対応する固有ベクトルｕｊをｄ個選ぶとｄ次元の主成分（ｕ１、ｕ２、…、ｕｄ）が求まる。固有値λｊの大きい方とは、主成分分析の中で主要な成分を示す。主要な成分を抜き出すことで主成分分析の重要なパラメータ順にソートする。ただし、ｄ≦Ｋであり、一般にｄはＫよりも大幅に小さい。ｕｊを第ｊ主成分と呼ぶ。主成分は互いに直交しており、基底と呼ばれることもある。ｄ次元の主成分（ｕ１、ｕ２、…、ｕｄ）の値が、対象物３のデータの性質を表すパラメータの一例である。
【００５０】
次元圧縮する前の元の正常画像データは、この主成分の線形結合で表すことができる。ｄ次元までを採用し、それ以外であるｄ＋１次元以上を捨てることで元はＫ次元であった正常画像データをｄ次元に圧縮できることになる。
【００５１】
ここで、ｄの値は実施の形態１に係る検査装置１の性能を左右する重要なパラメータである。ｄの値を適切に設定することで、ステップＳ１０で受信した正常画像データに共通して現れる重要な成分だけを取り出すことができる。一方で、同じ種類の対象物３間でのばらつき、撮影タイミングが異なることによる画像データのばらつき、カメラのノイズ等といった不要な成分は除外することができる。
【００５２】
しかし、ｄの値を小さくしすぎると重要な成分までが除外されてしまい、また、ｄの値を大きくしすぎると不要な成分が残ってしまう。
【００５３】
ｄの値は例えば制御部１０からの指示に基づいて決定することが考えられる。この場合、制御部１０は入出力部１５を経由して入出力装置４からｄの値を受信し、解析部１２ａに送信する。
【００５４】
また、解析部１２ａは、メモリ１０２あるいは記憶媒体１０３に記憶されているｄの値を読み出して用いてもよい。この場合に予め記憶しておくｄの値は例えば画像データの画素数の総数Ｋの１０分の１程度、５分の１程度等とすることが考えられる。
【００５５】
また、解析部１２ａは、学習用の正常画像データの性質に基づいて適応的にｄの値を決定することも考えられる。この場合、式（５）で計算される累積寄与率Ｐを用いることが有効である。
【００５６】
【数５】
2018105028.tif 000007
【００５７】
累積寄与率Ｐは、ｄ次元までの成分を用いることで次元圧縮する前の元の正常画像データが持っている情報をどの程度まで特徴を示すことができるかを表す指標であり、解析部１２ａにおいてＰの値が閾値を超える最小のｄの値を求めることで正常画像データの性質に応じた適切な次元圧縮を行うことができる。
【００５８】
累積寄与率Ｐに対する閾値は例えば制御部１０からの指示に基づいて決定することが考えられる。この場合、制御部１０は入出力部１５を経由して入出力装置４から閾値を受信し、解析部１２ａに送信する。
【００５９】
また、解析部１２ａは、メモリ１０２あるいは記憶媒体１０３に記憶されている閾値を読み出して用いてもよい。この場合に予め記憶しておく閾値は例えば８０、１００等とすることが考えられる。
【００６０】
図３に戻って、ステップＳ１４において、次元圧縮を行った後、解析部１２ａは正常画像データを学習した結果である対象物３のデータの性質を表すパラメータとしてｄ次元の主成分（ｕ１、ｕ２、…、ｕｄ）を記憶部１３ａに送信する。記憶部１３ａは、解析部１２ａから出力された学習結果である対象物３のデータの性質を表すパラメータを制御部１０からの指示に基づいて記憶媒体１０３に保存する。なお、記憶部１３ａは、解析部１２ａから出力された学習結果である対象物３のデータの性質を表すパラメータを制御部１０からの指示に基づいて記憶媒体１０３に保存するとしたが、保存場所はメモリ１０２でもよい。
【００６１】
学習モードの場合、制御部１０は、解析部１２ａの処理完了後、入出力部１５に処理開始の指示を与える。入出力部１５は、制御部１０からの指示に基づき、学習の進捗状況等を表す情報を入出力装置４から外部に出力する。なお、ここでは外部で作業者が入出力装置４を確認することを想定しているが、必ずしもそのようにする必要はなく、特に作業者を介在させることなく外部の制御装置に信号を出力するようにしてもよい。
【００６２】
図５は、本発明の実施の形態１に係る検査装置１の検査モードにおける動作を示すフローチャートの一部である。図５を用いて、検査装置１の検査モードにおける動作を以下に説明する。
【００６３】
ステップＳ２０において、制御部１０は、入出力部１５を経由して入出力装置４から起動信号及び設定信号を受信する。そして、その設定信号に基づいて入力部１１に指示を与える。入力部１１は、カメラ２から対象物３の検査する画像データを受信する。このとき、画像データを受信するタイミングは、例えば１秒間に３０回といったように予め決めておいてもよいし、制御部１０からの指示に基づいて決めてもよい。制御部１０は、解析部１２ａに検査モードの処理開始の指示を与える。解析部１２ａは、メモリ１０２にロードした記憶媒体１０３の検査モードに対応するプログラムをメモリ１０２から読み出してプロセッサ１０１で実行することにより検査モードに切り替える。解析部１２ａは、入力部１１からカメラ２が撮影した対象物３の画像データを受信する。なお、対象物３の検査する画像データが検査する対象物のデータの一例である。
【００６４】
ステップＳ２１において、解析部１２ａは、さらに画像データを受信するか、あるいは画像データを受信するのを終了するかを判定する。ここで、画像データ受信の終了判定は解析部１２ａが決定してもよいし、制御部１０からの指示に基づいて決定してもよい。解析部１２ａが決定する場合は、例えば受信した画像データの枚数が予め指定された枚数に達した時点で画像データの受信を終了することが考えられる。予め指定された枚数は、例えば１枚、１０枚等である。制御部１０からの指示に基づいて決定する場合は、例えば制御部１０が入出力部１５を経由して入出力装置４から画像データの受信終了指示を受信し、それを解析部１２ａに送信することが考えられる。
【００６５】
ステップＳ２２において、解析部１２ａは、ステップＳ２１の判定結果に基づいて画像データの受信に戻るか、あるいは次のステップへ進める。画像データ受信終了判定の結果、さらに画像データの受信が必要であると判断された場合、ステップＳ２２：Ｎｏとなり、再びＳ２０に戻る。画像データ取得終了と判断された場合、ステップＳ２２：Ｙｅｓとなり、次のステップへ進む。
【００６６】
ステップＳ２３において、解析部１２ａは学習モードで学習した結果を読み出すため制御部１０に対して読み出し要求を送信する。記憶部１３ａは、制御部１０からの指示に基づいて必要な学習結果を記憶媒体１０３から読み出し、解析部１２ａに入力する。ここで読み出される学習結果は学習モードにおいて用いた次元圧縮手法ステップＳ１３に対応した学習結果である。つまり、実施の形態１では、例として主成分分析を用いたので、主成分を表すベクトルであるｄ次元の主成分（ｕ１、ｕ２、…、ｕｄ）の値が読みだされる学習結果となる。
【００６７】
ステップＳ２４において、解析部１２ａは、読み出した学習結果に基づき受信した検査する画像データの次元圧縮を行う。次元圧縮の方法は、学習モードにおいて用いた次元圧縮手法ステップＳ１３に対応した次元圧縮の方法である。学習モードにおいて主成分を表すベクトルであるｄ次元の主成分（ｕ１、ｕ２、…、ｕｄ）の値が得られているため、検査する画像データをｄ次元のベクトルに投影することで次元圧縮を行う。解析部１２ａは、検査する画像データと、検査する画像データを次元圧縮した結果であるベクトルとを判定部１４ａに送信する。ここで、Ａは次の処理であって、詳細は後述する。
【００６８】
図６は本発明の実施の形態１に係る検査装置１の検査モードにおける動作を示すフローチャートの一部である。図６を用いて、検査装置１の検査モードにおける動作の続きを以下に説明する。
【００６９】
ステップＳ３０において、ステップＳ２４の後のＡの処理の続きとして、制御部１０は、解析部１２ａの処理完了後、判定部１４ａに処理開始の指示を与える。判定部１４ａは、制御部１０からの指示に基づいてメモリ１０２にロードした記憶媒体１０３のプログラムをメモリ１０２から読み出してプロセッサ１０１で実行する。判定部１４ａは、まず解析部１２ａから受信した検査する画像データを次元圧縮した結果であるベクトルを画像データとして復元する。ここで、画像データを復元する方法は、ステップＳ２４の次元圧縮で用いた手法と同様の復元をする。つまり、実施の形態１では、主成分分析を用いて復元を行う。
【００７０】
次元圧縮に主成分分析を用いた場合、受信した検査する画像データを次元圧縮した結果であるベクトルは図４に示すような低次元の部分空間で示されているため、これを元の画像データと同じ次元の空間に投影することで画像データの復元が行われる。
【００７１】
ステップＳ３１において、判定部１４ａは、復元した画像データと検査する画像データとの差分を計算する。このとき差分は画素ごとに差分を計算する。なお、差分は絶対値差分としてもよい。ここで、以下では復元した画像データを復元データと記載する。
【００７２】
図７は、プリント基板を対象物３とし、基板上に異常がないかどうかを検査する例である。図７は、左図が検査する画像データ、中央図が復元データ、右図が検査する画像データと復元データとの差分を表すデータである。右図の検査する画像データと復元データとの差分を表すデータでは、黒いほど差分が小さく、白くなるほど差分が大きいことを示している。いま、検査する対象物３となっている基板が正常である場合、次元圧縮を行っても検査する画像データとほぼ同じ画像データを復元することが可能である。これは、学習モードにおいて、正常画像データの特徴を効率的に示す方法を学習しており、検査モードにおいても検査する対象物３が正常であれば学習に使用した正常画像データときわめて類似した画像データが検査する画像データとなるためである。
【００７３】
したがって、図７に示すように、復元データと検査する画像データとの差分を計算しても画像データ全体に渡って差分値はほぼゼロとなる。
【００７４】
一方、検査する対象物３に異常がある場合、正常画像データで学習した結果を使って次元圧縮を行うと正常画像データと著しく異なる部分は正しく復元することはできない。
【００７５】
図８は、検査する対象物３となっている基板の一部に欠損がある場合の例である。図８は、左図が検査する画像データ、中央図が復元データ、右図が検査する画像データと復元データとの差分を表すデータである。右図の検査する画像データと復元データとの差分を表すデータでは、黒いほど差分が小さく、白くなるほど差分が大きいことを示している。この場合、正常部分については復元データにおいて正しく復元されるものの、欠損部分については学習モードで使用した正常画像データに基づいて復元されるため正しく復元することができない。
【００７６】
したがって、図８に示すように、復元データと検査する画像データとの差分を計算すると、異常部分となる正常画像データと異なる箇所だけ差分が大きくなる。
【００７７】
図６に戻って、ステップＳ３２において、判定部１４ａは、復元データと検査する画像データとの差分に基づいて検査する画像データに異常が存在するかどうかを示す判定結果を入出力部１５に出力する。判定部１４ａは、復元データと検査する画像データとの差分に閾値処理を行い、差分値が閾値未満となる画素の値を０、閾値以上となる画素の値を１とする。ここで、０と１を入れ替えたり、他の値を用いたりしても構わない。
【００７８】
閾値は例えば制御部１０からの指示に基づいて決定することが考えられる。この場合、制御部１０は入出力部１５を経由して入出力装置４から閾値を受信し、解析部１２ａに送信する。
【００７９】
また、判定部１４ａは、メモリ１０２あるいは記憶媒体１０３に記憶している閾値の値を読み出して用いてもよい。この場合に予め記憶しておく閾値の値は例えば１００、２００等である。
【００８０】
さらに、判定部１４ａは、差分値の分布に応じて適応的に閾値を決定してもよい。ある閾値を決めたときにその閾値以上の画素値を持つ画素の集合をクラス１、それ以外の画素の集合をクラス２とすると、クラス１とクラス２との画素値からクラス間分散とクラス内分散を求め、これらの値から計算される分離度が最大となるように閾値を決定する。
【００８１】
図９は、閾値処理の結果である。閾値処理により図９のような結果が得られたとする。ただし、図９において、黒で示した領域が閾値未満となる領域、白で示した領域が閾値以上となる領域である。
【００８２】
判定部１４ａは、図９に破線で示すように白領域に外接する矩形を求め、当該位置に異常が存在することを入出力部１５に送信する。ここで、以下では、白領域に外接する矩形をバウンディングボックスと記載する。なお、送信する情報としては、バウンディングボックスの左上座標、縦幅、横幅等である。なお、判定部１４ａは、バウンディングボックスを入出力部１５に送信せず、異常がある画素の位置のすべてを入出力部１５に送信してもよい。
【００８３】
また、判定部１４ａは、計算した差分画像データを入出力部１５に送信するようにしてもよい。
【００８４】
なお、バウンディングボックスの位置または大きさに対して条件を設け、その条件を満たさないバウンディングボックスについては無視するようにしてもよい。このようにすることで、画像データ中の対象領域外での誤検知を防いだり、ノイズによる誤検知を防いだりすることが可能となる。
【００８５】
バウンディングボックスに対する条件は例えば制御部１０からの指示に基づいて決定することが考えられる。この場合、制御部１０は入出力部１５を経由して入出力装置４から条件を受信し、解析部１２ａに送信する。
【００８６】
また、判定部１４ａは、メモリ１０２あるいは記憶媒体１０３に記憶している条件を読み出して用いてもよい。この場合に予め記憶しておく条件は例えば、バウンディングボックスの縦幅が３画素以上であること、バウンディングボックスの横幅が３画素以上であること、検査対象領域を限定するための２次元マスク内にあること等があげられる。
【００８７】
図１０は、検査対象領域を限定するための２次元マスクの例である。図１０は、左図が検査する画像データであり、右図が２次元マスクである。判定部１４ａは、右図の２次元マスクを左図の検査する画像データに適応する。図１０の右図の２次元マスクにおいて、白で示された領域が検査対象領域であり、黒で示された領域がバウンディングボックスである。したがって、右図の２次元マスクを左図の検査する画像データに適応した場合、右図の２次元マスクの黒で示されたバウンディングボックス内に対応する左図の領域内は異常があっても無視される。
【００８８】
図６に戻って、検査モードの場合、制御部１０は、判定部１４ａの処理完了後、入出力部１５に処理開始の指示を与える。入出力部１５は、制御部１０からの指示に基づき、判定部１４ａから受信した判定結果を入出力装置４から外部に出力する。なお、ここでは外部で作業者が入出力装置４を確認することを想定しているが、必ずしもそのようにする必要はなく、特に作業者を介在させることなく外部の制御装置などに信号を出力するようにしてもよい。
【００８９】
図１１は、入出力装置４がその構成にディスプレイを含む場合に、入出力部１５が入出力装置４に対して指示する表示内容の例である。
【００９０】
図１１は、判定部１４ａで異常が検出されなかった場合を示している。この場合、単に検査する画像データをそのまま表示し、かつ異常がないことを通知するためのメッセージを表示する。異常がないことを通知するためのメッセージは、例えば図１１の左上に示したＯＫマークがあげられる。なお、ＯＫマークではなく、異常なし、正常、○マーク等のマークでもよい。
【００９１】
図１２は、入出力装置４がその構成にディスプレイを含む場合に、入出力部１５が入出力装置４に対して指示する表示内容の別の例である。
【００９２】
図１２は、判定部１４ａで２ヶ所の異常が検出された場合を示している。この場合、検査する画像データに対して検出された異常箇所を点線で重畳表示し、かつ異常が検出されたことを通知するためのメッセージを表示する。異常が検出されたことを通知するためのメッセージは、例えば図１２の左上に示したＮＧマークがあげられる。なお、ＮＧマークではなく、異常、非正常、×マーク等のマークでもよい。また、異常箇所にメッセージとして「ＣＨＥＣＫ！」マークを付けてもよい。異常箇所は、判定部１４ａから受信したバウンディングボックスに基づいて特定する。バウンディングボックスに基づいて異常個所を特定するのは、判定部１４ａまたは入出力部１５いずれが行ってもよい。なお、バウンディングボックスは、表示されてもされなくてもよい。
【００９３】
図１３は、入出力装置４がその構成にディスプレイを含む場合に、入出力部１５が入出力装置４に対して指示する表示内容のさらに別の例である。
【００９４】
図１３は、図１２と同じく判定部１４ａで２ヶ所の異常が検出された場合を示している。ただし、検出された異常箇所を直接的に示すのではなく、左側に検査する画像データを、右側に検査する画像データに対して判定部１４ａで計算した差分画像データを合成した差分合成画像データを表示する。差分合成画像データについては、黒いほど差分が小さく、白いほど差分が大きいことを示している。このようにすると、図１３の右側の差分合成画像データで白く目立っている部分が、検査する画像データにおいて正常状態からの差分が大きくなっている箇所として著しく目立って見えるため、異常の検査を行う作業者が着目すべき箇所を容易に把握できるようになる。図１２と同様に、バウンディングボックスに基づいて異常個所を特定するのは、判定部１４ａまたは入出力部１５いずれが行ってもよい。
【００９５】
なお、図１１、図１２、図１３に示した入出力装置４での表示方法はあくまでも例であり、実際にはこれらの組み合わせまたはこれらとは異なる表示方法を用いることも考えられる。また、入出力装置４がディスプレイではなく、スピーカで構成される場合もあり、その場合は音声、音楽等により外部に情報を出力することも考えられる。
【００９６】
電源をＯＦＦにすることあるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような学習モードの処理及び検査モードの処理を繰り返すことによって、対象物３とカメラ２の確実な固定及び対象物３を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物３の欠損、誤配置、欠陥等の異常の有無を検査できる。なお、学習モードの処理及び検査モードの処理を繰り返すとしたが、学習モードの処理は繰り返さず１回行うだけでもよい。同様に、検査モードの処理は繰り返さず１回行うだけでもよい。
【００９７】
以上述べたように、本実施の形態１の検査システムに含まれる検査装置１は、異常を含まない対象物３のデータを次元圧縮することにより異常を含まない対象物３のデータの性質を表すパラメータを算出し、検査する対象物３のデータをパラメータを用いて次元圧縮し、次元圧縮した検査する対象物３のデータを復元した復元データを生成し、検査する対象物３のデータと復元データとの差分の大小に基づき検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力するため、従来の検査装置よりも、対象物３とカメラ２の確実な固定及び対象物３を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物３の欠損、誤配置、欠陥等の異常の有無を検査できる。
【００９８】
また、本実施の形態１の検査システムに含まれる検査装置１は、主成分分析を用いた次元圧縮により、正常画像データに共通して現れる対象物３のデータの性質を表すパラメータだけを取り出した効率的な特徴を得ることができる。この過程で同じ種類の対象物３間でのばらつき、撮影タイミングが異なることによる画像データのばらつき、カメラのノイズ等といった不要な情報は捨て去れるため、データサイズが小さくなり記憶媒体１０３が必要とする記憶容量を削減することができる。
【００９９】
さらに、本実施の形態１の検査システムに含まれる検査装置１は、正常画像データから正常状態の対象物３の画像データを学習し、検査を行うため、異常状態について利用者、開発者等が定義する必要がない。そのため、異常状態の定義に漏れがあり、異常を見逃すといったことがなく、どのような異常にも汎用的に適用することができる。
【０１００】
なお、上記した本実施の形態１の検査システムでは、検査装置１、カメラ２、および入出力装置４を分離した構成としているが、カメラ２または入出力装置４またはカメラ２と入出力装置４の両方を検査装置１の中に含めた構成としてもよい。このように構成された検査システムであっても、上記した実施の形態１の効果を得ることができる。
【０１０１】
上記した本実施の形態１の検査システムでは、判定部１４ａは、次元圧縮した検査する対象物３の画像データを次元圧縮で用いた方法と同様の方法で復元し、復元した画像データである復元データと検査する対象物３の画像データとの差分の大小に基づき、検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力する。そして、判定部１４ａは、復元部と判定部とを合わせた部の一例であるとした。しかし、次元圧縮した検査する対象物３の画像データを次元圧縮で用いた方法と同様の方法で復元する復元部は独立して検査装置１に備えていてもよいし、解析部１２ａが復元部の機能を備えていてもよい。このように構成された検査システムであっても、上記した実施の形態１の効果を得ることができる。
【０１０２】
上記した本実施の形態１の検査システムでは、解析部１２ａは、対象物３の次元圧縮に主成分分析を用い、記憶部１３ａは、主成分分析の結果を記憶し、判定部１４ａは、主成分分析を用いて復元を行ったが、対象物３に複数の種類が存在する場合、対象物３の種類ごとに次元圧縮方法を変更してもよい。例えば、１種類目の対象物３において、解析部１２ａは、１種類目の対象物３の次元圧縮に主成分分析を用い、記憶部１３ａは、主成分分析の結果を記憶し、判定部１４ａは、主成分分析を用いて復元を行い、２種類目の対象物３において、解析部１２ａは、２種類目の対象物３の次元圧縮に線形判別分析を用い、記憶部１３ａは、線形判別分析の結果を記憶し、判定部１４ａは、線形判別分析を用いて復元を行う等してもよい。なお、対象物３の種類はいくつでもよく、対象物３の種類と次元圧縮方法との組み合わせは、任意である。ただし、同一種類の対象物３の場合は、同一の次元圧縮の方法を用いる。このように構成された検査システムであっても、上記した実施の形態１の効果を得ることができる。
【０１０３】
実施の形態２．
実施の形態１では、解析部１２ａは、対象物３の次元圧縮に主成分分析を用い、記憶部１３ａは、主成分分析の結果を記憶し、判定部１４ａは、主成分分析を用いて復元を行った。主成分分析は線形な次元圧縮手法の代表例である。実施の形態２に係る解析部１２ｂ、記憶部１３ｂ及び判定部１４ｂは、図１４〜図２０に示すように、次元圧縮にニューラルネットワークを用いた自己符号化器を用いる。ニューラルネットワークを用いた自己符号化器は、非線形な次元圧縮が可能な手法として知られている。このため、線形な次元圧縮手法である主成分分析と比べ、非線形な次元圧縮が可能であるため、さらに効率的に特徴を獲得することが可能である。それ以外は、実施の形態１と同様である。
【０１０４】
図１４は本発明の実施の形態２に係る検査装置２００を含む検査システムの機能ブロック図である。以下の説明において既に説明した構成及び動作については同一符号を付して、重複する説明を省略する。
【０１０５】
実施の形態２では、実施の形態１の図１の解析部１２ａ、記憶部１３ａ及び判定部１４ａの代わりに解析部１２ｂ、記憶部１３ｂ及び判定部１４ｂが機能ブロック図の構成として加わる。
【０１０６】
解析部１２ｂは、実施の形態１の解析部１２ａでの次元圧縮において用いた主成分分析の代わりに、ニューラルネットワークを用いた自己符号化器を用いて次元圧縮を行う。それ以外は、解析部１２ａと同様である。
【０１０７】
記憶部１３ｂは、実施の形態１の記憶部１３ａで記憶した主成分分析の学習結果を記憶及び主成分分析の学習結果を読み出し、解析部１２ａに入力する代わりに、ニューラルネットワークを用いた自己符号化器の学習結果を記憶及びニューラルネットワークを用いた自己符号化器の学習結果を読み出し、解析部１２ｂに入力する。それ以外は、記憶部１３ａと同様である。
【０１０８】
判定部１４ｂは、実施の形態１の判定部１４ｂでの復元において用いた主成分分析の代わりに、ニューラルネットワークを用いた自己符号化器を用いて復元を行う。それ以外は、判定部１４ａと同様である。
【０１０９】
本発明の実施の形態２に係る検査装置２００のハードウェア構成図は、実施の形態１の図２と同様である。解析部１２ｂのハードウェア構成は解析部１２ａと同様、記憶部１３ｂのハードウェア構成は記憶部１３ａと同様、判定部１４ｂのハードウェア構成は判定部１４ａと同様である。
【０１１０】
次に、本発明の実施の形態２に係る検査装置２００の学習モードにおける動作について説明する。
【０１１１】
図１５は、本発明の実施の形態２に係る検査装置２００の学習モードにおける動作を示すフローチャートである。図１５を用いて、検査装置２００の学習モードにおける動作を以下に説明する。
【０１１２】
ステップＳ４０、ステップＳ４１、ステップＳ４２は実施の形態１のステップＳ１０、ステップＳ１１、ステップＳ１２と同様である。ただし、解析部１２ａの代わりに解析部１２ｂが処理を行う。
【０１１３】
ステップＳ４３において、解析部１２ｂは受信した正常画像データを使って次元圧縮を行う。ここで、次元圧縮とは、実施の形態１と同様に、画像データ、３次元立体データ等の高次元データを低次元のデータに変換することを指す。解析部１２ｂは、学習モードにおいて正常画像データを用いて学習を行い、正常画像データに最適なデータ変換方法を獲得する。以下では、次元圧縮の方法として、ニューラルネットワークによる自己符号化器を用いた場合について説明する。
【０１１４】
ニューラルネットワークとは、シナプスを通じてネットワーク状に結びついたニューロンがそこを流れる電流の強弱で学習、パターン認識等を行うという人間の脳のメカニズムを計算機で模したものであり、最も単純なモデルはパーセプトロンと呼ばれる。
【０１１５】
図１６は、ニューロンを多入力１出力のノードとしてモデル化した図である。
【０１１６】
パーセプトロンは、図１６に示すように、ニューロンを多入力１出力のノードとしてモデル化した図である。実施の形態１と同様に、ステップＳ４０で受信した正常画像データ１枚あたりの画素数の総数をＫ、次元の個数をｊとする。例えば、Ｋの値は正常画像データのサイズが３２画素×３２画素であれば１０２４、６４０画素×６４０画素であれば４０９６００等である。パーセプトロンは、入力データである正常画像データの画素ｘｊに対して重みｗｊで重みづけしてバイアスｂを減じた線形加重和と、その線形加重和の正負によって１と０を出力する閾値論理関数ｚ（ｕ）から構成される。なお、入力データである正常画像データの画素ｘｊの集まりが正常画像データのベクトルｘ、重みｗｊの集まりが重みベクトルｗとなる。ｙを出力データとすると、パーセプトロンは、式（６）で表される。なお、図１６は画像データ１枚に対する計算であり、画像データが１０００枚ある場合は、同様の計算を１０００回行う。
【０１１７】
【数６】
2018105028.tif 000008
【０１１８】
式（６）は、入力データである正常画像データの画素ｘｊの閾値論理関数ｚ（ｕ）がクラスｃ１に属するかクラスｃ２に属するかで、１または０の値をとる２クラスの識別関数となる。識別関数とは、例えば、予め犬の画像データを集めたクラスｃ１と猫の画像データを集めたクラスｃ２を用意しておき、それぞれの画像データに犬の画像データであること、猫の画像データであることのラベル付けをしておく。入力データとしてラベル付けのされていない犬の画像データを識別関数に入れると、クラスｃ１の犬の画像データとクラスｃ２の猫の画像データとから入力データとしてラベル付けのされていない画像データがクラスｃ１の犬の画像データであるのかクラスｃ２の猫の画像データであるのかを判定し、入力データとしてラベル付けのされていない犬の画像データを犬の画像データであると判定する。なお、パーセプトロンにおける閾値論理関数ｚ（ｕ）は、より一般には活性化関数と呼ばれる他の様々な関数で置き換えることが可能である。例えば、シグモイド関数、ＲｅＬＵ等があげられる。
【０１１９】
式（６）では、クラスｃ１に属するデータとクラスｃ２に属するデータを予め複数用意しておく。ここで、予め用意したクラスｃ１に属するデータとクラスｃ２に属するデータを学習データと記載する。学習データに対してクラスｃ１に属するかクラスｃ２に属するかを識別できるように重みベクトルｗを学習することで、新たなデータが入力されたときにそのクラスを識別することが可能となる。重みベクトルｗの値が、対象物３のデータの性質を表すパラメータの一例である。
【０１２０】
図１７は、砂時計型ニューラルネットワークの例である。
【０１２１】
自己符号化器とは、図１７に示すようにデータが入力される入力層と出力される出力層との中間にある隠れ層のノード数が入力層及び出力層のノード数よりも小さい砂時計型ニューラルネットワークである。なお、図１７に示すネットワークの左端が入力層、図１７に示すネットワークの右端が出力層、図１７に示すネットワークの中間が隠れ層である。ここで、図１６と同様に、ステップＳ４０で受信した正常画像データ１枚あたりの画素数の総数をＫ、次元の個数をｊとする。例えば、Ｋの値は正常画像データのサイズが３２画素×３２画素であれば１０２４、６４０画素×６４０画素であれば４０９６００等である。入力データは、正常画像データの画素ｘｊの集まりである正常画像データのベクトルｘとし、重みｗｊの集まりを重みベクトルｗとする。また、隠れ層のベクトルをaｊとする。出力データは、正常画像データの画素ｘｊの集まりである正常画像データのベクトルｘとほぼ同じである画素ｙｊの集まりである画像データのベクトルｙであり、重みｖｊの集まりが重みベクトルｖとなる。入力データである正常画像データの画素ｘｊの集まりの正常画像データのベクトルｘに、重みｗｊの集まりの重みベクトルｗをかけると、隠れ層のベクトルaｊとなり、隠れ層のベクトルaｊに、重みｖｊの集まりの重みベクトルｖをかけると、正常画像データの画素ｘｊの集まりである正常画像データのベクトルｘとほぼ同じである画素ｙｊの集まりである画像データのベクトルｙになる。隠れ層のベクトルaｊが画像データで主要な成分を示し、重みベクトルｗの値及び重みベクトルｖの値が、対象物３のデータの性質を表すパラメータの一例である。なお、図１７は画像データ１枚に対する計算であり、画像データが１０００枚ある場合は、同様の計算を１０００回行う。
【０１２２】
自己符号化器は、学習データに対して入力データと出力データとがほぼ一致するように各ノードの重みを学習する。このようにすることで、隠れ層に入力データの情報をできるだけ保存しつつ低次元化した特徴が得られることが知られている。
【０１２３】
図１５に戻って、ステップＳ４３において、ステップＳ４０で取得した正常画像データを入力データとし、入力データと出力データとがほぼ一致するような自己符号化器を学習することで、正常画像データに共通して現れる重要な成分だけを隠れ層において取り出すことができる。つまり、入力データとして入力した正常画像データと隠れ層を通して出力する入力データを復元した画像データとが正常画像データに共通して現れる重要な成分に対して一致するような自己符号化器を学習する。一方で、同じ種類の物体間でのばらつき、撮影タイミングが異なることによる画像のばらつき、カメラのノイズ等といった不要な成分は除外することができる。
【０１２４】
図１８は、自己符号化器の隠れ層の総数を変更したときの様子を示す一例である。
【０１２５】
図１７に示す自己符号化器の隠れ層は１層であるが、この総数は自由に変更することができる。総数の変更は容易であり、図１８の（１）に示すように、まず図１７に示す隠れ層が１層の自己符号化器を学習させる。その後、図１８の（２）に示すように、自己符号化器の出力層を取り除き、入力層と隠れ層を残すことで、入力データの次元を圧縮するネットワークが得られる。次に、図１８の（３）に示すように、その次元圧縮されたデータを入力データとして、新たに図１８の（１）とは異なる重みベクトルとなる自己符号化器を学習することでさらに次元を圧縮することができる。
【０１２６】
ここで、自己符号化器の層数は実施の形態２に係る検査装置２００の性能を左右する重要なパラメータである。層数を適切に設定することで、Ｓ４０で取得した正常画像データに共通して現れる重要な成分だけを取り出すことができる。一方で、同じ種類の対象物３間でのばらつき、撮影タイミングが異なることによる画像データのばらつき、カメラのノイズ等といった不要な成分は除外することができる。
【０１２７】
しかし、層数を大きくしすぎると重要な成分までが除外されてしまい、また、層数を小さくしすぎると不要な成分が残ってしまう。
【０１２８】
層数は例えば制御部１０からの指示に基づいて決定することが考えられる。この場合、制御部１０は入出力部１５を経由して入出力装置４から層数を受信し、解析部１２ｂに送信する。
【０１２９】
また、解析部１２ｂは、メモリ１０２あるいは記憶媒体１０３に記憶されている層数の値を読み出して用いてもよい。この場合に予め記憶しておく層数の値は例えば５程度、１０程度等とすることが考えられる。
【０１３０】
図１５に戻って、ステップＳ２４において、次元圧縮を行った後、解析部１２ｂは正常画像データを学習した結果として各ノードの重みベクトルの値を記憶部１３ｂに送信する。なお、層数に応じて記憶する重みベクトルの値の数も異なる。記憶部１３ｂは、解析部１２ｂから出力された学習結果を制御部１０からの指示に基づいて記憶媒体１０３に保存する。なお、記憶部１３ｂは、解析部１２ｂから出力された学習結果を制御部１０からの指示に基づいて記憶媒体１０３に保存するとしたが、保存場所はメモリ１０２でもよい。
【０１３１】
学習モードの場合、制御部１０は、解析部１２ａの処理完了後、入出力部１５に処理開始の指示を与える。入出力部１５は、制御部１０からの指示に基づき、学習の進捗状況等を表す情報を入出力装置４から外部に出力する。なお、ここでは外部で作業者が入出力装置４を確認することを想定しているが、必ずしもそのようにする必要はなく、特に作業者を介在させることなく外部の制御装置に信号を出力するようにしてもよい。
【０１３２】
図１９は、本発明の実施の形態２に係る検査装置２００の検査モードにおける動作を示すフローチャートの一部である。図１９を用いて、検査装置２００の検査モードにおける動作を以下に説明する。
【０１３３】
ステップＳ５０、ステップＳ５１、ステップＳ５２は実施の形態１のステップＳ２０、ステップＳ２１、ステップＳ２２と同様である。ただし、解析部１２ａの代わりに解析部１２ｂが処理を行う。
【０１３４】
ステップＳ５３において、解析部１２ｂは学習モードで学習した結果を読み出すため制御部１０に対して読み出し要求を送信する。記憶部１３ｂは、制御部１０からの指示に基づいて必要な学習結果を記憶媒体１０３から読み出し、解析部１２ｂに入力する。ここで読み出される学習結果は学習モードにおいて用いた次元圧縮手法ステップＳ４３に対応した学習結果である。つまり、実施の形態２では、例としてニューラルネットワークによる自己符号化器を用いたので、各ノードの重みベクトルの値が読みだされる学習結果となる。
【０１３５】
ステップＳ５４において、解析部１２ｂは、読み出した学習結果に基づき受信した検査する画像データの次元圧縮を行う。次元圧縮の方法は、学習モードにおいて用いた次元圧縮手法ステップＳ４３に対応した次元圧縮の方法である。学習モードにおいて各ノードの重みベクトルの値が得られているため、同じ重みを使ったニューラルネットワークに検査する画像データを入力することで次元圧縮を行うことができる。解析部１２ｂは、検査する画像データと、検査する画像データを次元圧縮した結果であるベクトルとを判定部１４ｂに送信する。検査する画像データを次元圧縮した結果であるベクトルとは、出力層の値である出力データとなる。ここで、Ｂは次の処理であって、詳細は後述する。
【０１３６】
図２０は本発明の実施の形態２に係る検査装置２００の検査モードにおける動作を示すフローチャートの一部である。図２０を用いて、検査装置２００の検査モードにおける動作の続きを以下に説明する。
【０１３７】
ステップＳ６０において、ステップＳ５４の後のＢの処理の続きとして、制御部１０は、解析部１２ｂの処理完了後、判定部１４ｂに処理開始の指示を与える。判定部１４ｂは、制御部１０からの指示に基づいてメモリ１０２にロードした記憶媒体１０３のプログラムをメモリ１０２から読み出してプロセッサ１０１で実行する。判定部１４ｂは、まず解析部１２ｂから受信した検査する画像データを次元圧縮した結果であるベクトルを画像データとして復元する。ここで、画像データを復元する方法は、ステップＳ５４の次元圧縮で用いた手法と同様の復元をする。つまり、実施の形態２では、ニューラルネットワークによる自己符号化器を用いて復元を行う。
【０１３８】
次元圧縮にニューラルネットワークを用いた場合、ニューラルネットワークの出力は１次元ベクトルとなっているため、これを２次元の配列に整列しなおすことで画像データの復元が行われる。なお、用いるニューラルネットワークの種類によっては、ニューラルネットワークの出力が２次元の画像データとなっている場合もある。この場合は、画像データの復元処理は不要である。
【０１３９】
ステップＳ６１、ステップＳ６２は実施の形態１のステップＳ３１、ステップＳ３２と同様である。ただし、解析部１２ａの代わりに解析部１２ｂが、記憶部１３ａの代わりに記憶部１３ｂが、判定部１４ａの代わりに判定部１４ｂが処理を行う。
【０１４０】
電源をＯＦＦにすることあるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような学習モードの処理及び検査モードの処理を繰り返すことによって、対象物３とカメラ２の確実な固定及び対象物３を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物３の欠損、誤配置、欠陥等の異常の有無を検査できる。なお、学習モードの処理及び検査モードの処理を繰り返すとしたが、学習モードの処理は繰り返さず１回行うだけでもよい。同様に、検査モードの処理は繰り返さず１回行うだけでもよい。
【０１４１】
以上述べたように、本実施の形態２の検査システムに含まれる検査装置２００は、異常を含まない対象物３のデータを次元圧縮することにより異常を含まない対象物３のデータの性質を表すパラメータを算出し、検査する対象物３のデータをパラメータを用いて次元圧縮し、次元圧縮した検査する対象物３のデータを復元した復元データを生成し、検査する対象物３のデータと復元データとの差分の大小に基づき検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力するため、従来の検査装置よりも、対象物３とカメラ２の確実な固定及び対象物３を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物３の欠損、誤配置、欠陥等の異常の有無を検査できる。
【０１４２】
また、本実施の形態２の検査システムに含まれる検査装置２００は、ニューラルネットワークによる自己符号化器を用いた次元圧縮により、正常画像データに共通して現れるパラメータだけを取り出した効率的な特徴を得ることができる。この過程で同じ種類の対象物３間でのばらつき、撮影タイミングが異なることによる画像データのばらつき、カメラのノイズ等といった不要な情報は捨て去れるため、データサイズが小さくなり記憶媒体１０３が必要とする記憶容量を削減することができる。
【０１４３】
さらに、本実施の形態２の検査システムに含まれる検査装置２００は、正常画像データから正常状態の対象物３の画像データを学習し、検査を行うため、異常状態について利用者、開発者等が定義する必要がない。そのため、異常状態の定義に漏れがあり、異常を見逃すといったことがなく、どのような異常にも汎用的に適用することができる。
【０１４４】
本実施の形態２の検査システムに含まれる検査装置２００は、自己符号化器は、線形な次元圧縮手法である主成分分析と比べ、非線形な次元圧縮が可能であるためさらに効率的な特徴の獲得ができる。
【０１４５】
なお、上記した本実施の形態２の検査システムでは、検査装置２００、カメラ２、および入出力装置４を分離した構成としているが、カメラ２または入出力装置４またはカメラ２と入出力装置４の両方を検査装置２００の中に含めた構成としてもよい。このように構成された検査システムであっても、上記した実施の形態２の効果を得ることができる。
【０１４６】
上記した本実施の形態２の検査システムでは、判定部１４ｂは、次元圧縮した検査する対象物３の画像データを次元圧縮で用いた方法と同様の方法で復元し、復元した画像データである復元データと検査する対象物３の画像データとの差分の大小に基づき、検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力する。そして、判定部１４ｂは、復元部と判定部とを合わせた部の一例であるとした。しかし、次元圧縮した検査する対象物３の画像データを次元圧縮で用いた方法と同様の方法で復元する復元部は独立して検査装置２００に備えていてもよいし、解析部１２ｂが復元部の機能を備えていてもよい。このように構成された検査システムであっても、上記した実施の形態２の効果を得ることができる。
【０１４７】
上記した本実施の形態２の検査システムでは、解析部１２ｂは、対象物３の次元圧縮にニューラルネットワークによる自己符号化器を用い、記憶部１３ｂは、ニューラルネットワークによる自己符号化器の結果を記憶し、判定部１４ｂは、ニューラルネットワークによる自己符号化器を用いて復元を行ったが、対象物３に複数の種類が存在する場合、対象物３の種類ごとに次元圧縮方法を変更してもよい。例えば、１種類目の対象物３において、解析部１２ｂは、１種類目の対象物３の次元圧縮にニューラルネットワークによる自己符号化器を用い、記憶部１３ｂは、ニューラルネットワークによる自己符号化器の結果を記憶し、判定部１４ｂは、ニューラルネットワークによる自己符号化器を用いて復元を行い、２種類目の対象物３において、解析部１２ｂは、２種類目の対象物３の次元圧縮に線形判別分析を用い、記憶部１３ｂは、線形判別分析の結果を記憶し、判定部１４ｂは、線形判別分析を用いて復元を行う等してもよい。なお、対象物３の種類はいくつでもよく、対象物３の種類と次元圧縮方法との組み合わせは、任意である。ただし、同一種類の対象物３の場合は、同一の次元圧縮の方法を用いる。このように構成された検査システムであっても、上記した実施の形態２の効果を得ることができる。
【０１４８】
上記した本実施の形態２の検査システムでは、解析部１２ｂは、対象物３の次元圧縮にニューラルネットワークによる自己符号化器を用いたが、自己符号化器は、ニューラルネットワークに基づく次元圧縮手法の中では最も単純な方式であるため、より複雑な方式を用いてもよい。このように構成された検査システムであっても、上記した実施の形態２の効果に加え、さらに性能を向上させることができるという効果を得ることができる。より複雑な方式の例としては、畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ等を用いる方法がある。実施の形態２に係る検査装置１では、こうした様々な次元圧縮手法のいずれを用いてもよく、用いた手法に応じて図１５のステップＳ４３、ステップＳ４４、図１９のステップＳ５３、ステップＳ５４、図２０のステップＳ６０におけるニューラルネットワークによる自己符号化器の処理方法を畳み込みニューラルネットワークまたはＧｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ等に変更すればよい。
【０１４９】
実施の形態３．
実施の形態１では、異常を含まない対象物３のデータを次元圧縮することにより異常を含まない対象物３のデータの性質を表すパラメータを算出し、検査する対象物３のデータをパラメータを用いて次元圧縮し、次元圧縮した検査する対象物３のデータを復元した復元データを生成し、検査する対象物３のデータと復元データとの差分の大小に基づき検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力していた。実施の形態３では、図２１〜図２３に示すように、復元データと検査する画像データとの間の誤差を小さくするようなフィルタを設計及びその設計したフィルタを用いて復元データをフィルタリングする補正部１６が新たに加えられ、判定部１４ａの代わりに判定部１４ｃを備える。このため、例えば学習モードにおいて使用した学習用の正常画像データの不足等により、復元データと検査する画像データとの間に著しい誤差が生じてしまう場合でも補正部１６において両者の誤差を低減することで、続く判定部１４ｃにおける判定精度を高めることが可能となる。それ以外は、実施の形態１と同様である。
【０１５０】
図２１は本発明の実施の形態３に係る検査装置３００を含む検査システムの機能ブロック図である。以下の説明において既に説明した構成及び動作については同一符号を付して、重複する説明を省略する。
【０１５１】
実施の形態３では、実施の形態１の図１の判定部１４ａの代わりに判定部１４ｃが加わり、さらに補正部１６が新たに機能ブロック図の構成として加わる。
【０１５２】
補正部１６は、次元圧縮した検査する対象物３の画像データを次元圧縮で用いた方法と同様の方法で復元し、復元データと検査する画像データとの間の誤差を補正するフィルタを設計及びその設計したフィルタを用いて復元データをフィルタリングし、補正データを生成する。補正データは、復元データと検査する対象物のデータとの誤差を補正するフィルタを用いて復元データをフィルタリングして補正した復元データである。なお、補正部１６は、復元部と補正部とを合わせた部の一例である。
【０１５３】
判定部１４ｃは、補正部１６で復元及び補正した画像データである補正データと検査する対象物３の画像データとの差分の大小に基づき、検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力する。なお、判定部１４ｃは、復元部を備える１４ａと異なり、復元は補正部１６が行うため、判定部１４ｃは復元を行わない。それ以外は、判定部１４ａと同様である。
【０１５４】
本発明の実施の形態３に係る検査装置３００のハードウェア構成図は、実施の形態１の図２と同様である。判定部１４ｃのハードウェア構成は判定部１４ａと同様である。また、補正部１６は、プロセッサ１０１がメモリ１０２にロードした記憶媒体１０３のプログラムを読み込み、実行することにより実現する。
【０１５５】
本発明の実施の形態３に係る検査装置３００の学習モードにおける動作を示すフローチャートは、実施の形態１の図３と同様である。
【０１５６】
本発明の実施の形態３に係る検査装置３００の検査モードにおける動作を示すフローチャートの一部は、実施の形態１の図５と同様である。
【０１５７】
図２２は本発明の実施の形態３に係る検査装置３００の検査モードにおける動作を示すフローチャートの一部である。図２２を用いて、検査装置３００の検査モードにおける動作の続きを以下に説明する。
【０１５８】
ステップＳ７０において、ステップＳ２４の後のＡの処理の続きとして、制御部１０は、解析部１２ａの処理完了後、補正部１６に処理開始の指示を与える。補正部１６は、制御部１０からの指示に基づいてメモリ１０２にロードした記憶媒体１０３のプログラムをメモリ１０２から読み出してプロセッサ１０１で実行する。補正部１６は、まず解析部１２ａから受信した検査する画像データを次元圧縮した結果であるベクトルと検査する画像データとを受信し、受信した検査する画像データを次元圧縮した結果であるベクトルを画像データとして復元する。画像データの復元の方法は、実施の形態１の図６のステップＳ３０における判定部１４ａで行われる方法と同様である。
【０１５９】
ステップＳ７１において、補正部１６は、復元した復元データと検査する画像データとの間の誤差を小さくするようなフィルタを設計する。このことによって、例えば学習モードにおいて使用した学習用の正常画像データの不足等により、復元データと検査する画像データとの間に著しい誤差が生じてしまう場合、補正部１６において両者の誤差を低減することで、続く判定部１４ｃにおける判定精度を高めることができる。
【０１６０】
ある信号がノイズにより劣化した場合、それを復元するためのフィルタとしては逆フィルタ、ウィーナーフィルタ、適応フィルタ、ノイズ除去フィルタ等がある。ここで、本発明の実施の形態３においては劣化前の原信号である検査する画像データが既知であることから、ウィーナーフィルタを用いることが最も効果的である。以下では例としてウィーナーフィルタの設計方法について述べる。
【０１６１】
劣化した信号ｇから、原信号ｆを復元するための空間フィルタｋを考える。このとき、周波数領域においては、劣化信号のフーリエ変換Ｇは、原信号のフーリエ変換Ｆと点拡がり関数のフーリエ変換Ｈとの積で表される。そこで、点拡がり関数が既知である場合、式（７）に示すように逆フィルタＫｉｎｖを用いて劣化信号をフィルタリングすることによって、式（８）のように原信号のフーリエ変換Ｆを求めることができる。
【０１６２】
【数７】
2018105028.tif 000009
【０１６３】
【数８】
2018105028.tif 000010
【０１６４】
ここで、周波数領域におけるノイズを考慮した劣化過程は式（９）のように表される。ただし、Ｎはノイズのフーリエ変換を表す。
【０１６５】
【数９】
2018105028.tif 000011
【０１６６】
このとき、復元データｆ’と原信号となる検査する画像データである元データｆ間の誤差を最小にするようなフィルタＫｗは式（１０）で与えられる。
【０１６７】
【数１０】
2018105028.tif 000012
【０１６８】
式（１０）で表されるフィルタＫｗをウィーナーフィルタと呼ぶ。
【０１６９】
図２２に戻って、ステップＳ７２において、補正部１６は復元データに対してフィルタＫｗを用いてフィルタリングして補正を行ったうえで検査する画像データと補正データとを判定部１４ｃに送信する。ここで、Ｃは次の処理であって、詳細は後述する。
【０１７０】
図２３は本発明の実施の形態３に係る検査装置３００の検査モードにおける動作を示すフローチャートの一部である。図２３を用いて、検査装置３００の検査モードにおける動作の続きを以下に説明する。
【０１７１】
ステップＳ８０において、ステップＳ７２の後のＣの処理の続きとして、制御部１０は、判定部１４ｃに処理開始の指示を与える。判定部１４ｃは、制御部１０からの指示に基づいてメモリ１０２にロードした記憶媒体１０３のプログラムをメモリ１０２から読み出してプロセッサ１０１で実行する。判定部１４ｃは、まず補正部１６から検査する画像データと補正データとを受信する。判定部１４ｃは、補正データと検査する画像データとの差分を計算する。上記以外は、判定部１４ｃは、図６のステップＳ３１の判定部１４ａと同様の処理を行う。
【０１７２】
ステップＳ８１は実施の形態１のステップＳ３２と同様である。ただし、判定部ａの代わりに判定部１４ｃが処理を行う。
【０１７３】
電源をＯＦＦにすることあるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような学習モードの処理及び検査モードの処理を繰り返すことによって、対象物３とカメラ２の確実な固定及び対象物３を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物３の欠損、誤配置、欠陥等の異常の有無を検査できる。なお、学習モードの処理及び検査モードの処理を繰り返すとしたが、学習モードの処理は繰り返さず１回行うだけでもよい。同様に、検査モードの処理は繰り返さず１回行うだけでもよい。
【０１７４】
以上述べたように、本実施の形態３の検査システムに含まれる検査装置３００は、異常を含まない対象物３のデータを次元圧縮することにより異常を含まない対象物３のデータの性質を表すパラメータを算出し、検査する対象物３のデータをパラメータを用いて次元圧縮し、次元圧縮した検査する対象物３のデータを復元した復元データを生成し、検査する対象物３のデータと復元データとの差分の大小に基づき検査する対象物３が異常であるか否かを示す判定結果を入出力部１５に出力するため、従来の検査装置よりも、対象物３とカメラ２の確実な固定及び対象物３を撮影して取得した画像データの画素毎に高精度な位置合わせを行うといった制約を緩和しつつ、対象物３の欠損、誤配置、欠陥等の異常の有無を検査できる。
【０１７５】
また、本実施の形態３の検査システムに含まれる検査装置３００は、主成分分析を用いた次元圧縮により、正常画像データに共通して現れる対象物３のデータの性質を表すパラメータだけを取り出した効率的な特徴を得ることができる。この過程で同じ種類の対象物３間でのばらつき、撮影タイミングが異なることによる画像データのばらつき、カメラのノイズ等といった不要な情報は捨て去れるため、データサイズが小さくなり記憶媒体１０３が必要とする記憶容量を削減することができる。
【０１７６】
さらに、本実施の形態３の検査システムに含まれる検査装置３００は、正常画像データから正常状態の対象物３の画像データを学習し、検査を行うため、異常状態について利用者、開発者等が定義する必要がない。そのため、異常状態の定義に漏れがあり、異常を見逃すといったことがなく、どのような異常にも汎用的に適用することができる。
【０１７７】
本実施の形態３の検査システムに含まれる検査装置３００は、次元圧縮した検査する対象物３の画像データから復元した復元データと検査する画像データとの間の誤差を小さくするようなフィルタを設計及びその設計したフィルタを用いて復元データをフィルタリングする補正部１６が新たに加えられ、判定部１４ａの代わりに判定部１４ｃを備える。このため、例えば学習モードにおいて使用した学習用の正常画像データの不足等により、復元データと検査する画像データとの間に著しい誤差が生じてしまう場合でも補正部１６において両者の誤差を低減することで、続く判定部１４ｃにおける判定精度を高めることが可能となる。
【０１７８】
なお、上記した本実施の形態３の検査システムでは、検査装置３００、カメラ２、および入出力装置４を分離した構成としているが、カメラ２または入出力装置４またはカメラ２と入出力装置４の両方を検査装置３００の中に含めた構成としてもよい。このように構成された検査システムであっても、上記した実施の形態３の効果を得ることができる。
【０１７９】
上記した本実施の形態３の検査システムでは、補正部１６は、復元データと検査する画像データとの間の誤差を補正するフィルタを設計及びその設計したフィルタを用いて復元データをフィルタリングする。そして、補正部１６は、復元部と補正部とを合わせた部の一例であるとした。しかし、次元圧縮した検査する対象物３の画像データを次元圧縮で用いた方法と同様の方法で復元する復元部は独立して検査装置３００に備えていてもよいし、解析部１２ａが復元部の機能を備えていてもよい。このように構成された検査システムであっても、上記した実施の形態３の効果を得ることができる。
【０１８０】
上記した本実施の形態３の検査システムでは、解析部１２ａは、対象物３の次元圧縮に主成分分析を用い、記憶部１３ａは、主成分分析の結果を記憶し、補正部１６は、主成分分析を用いて復元を行ったが、対象物３に複数の種類が存在する場合、対象物３の種類ごとに次元圧縮方法を変更してもよい。例えば、１種類目の対象物３において、解析部１２ａは、１種類目の対象物３の次元圧縮に主成分分析を用い、記憶部１３ａは、主成分分析の結果を記憶し、補正部１６は、主成分分析を用いて復元を行い、２種類目の対象物３において、解析部１２ａは、２種類目の対象物３の次元圧縮に線形判別分析を用い、記憶部１３ａは、線形判別分析の結果を記憶し、補正部１６は、線形判別分析を用いて復元を行う等してもよい。なお、対象物３の種類はいくつでもよく、対象物３の種類と次元圧縮方法との組み合わせは、任意である。ただし、同一種類の対象物３の場合は、同一の次元圧縮の方法を用いる。このように構成された検査システムであっても、上記した実施の形態３の効果を得ることができる。
【０１８１】
上記した本実施の形態３の検査システムでは、解析部１２ａは、対象物３の次元圧縮に主成分分析を用いたが、ニューラルネットワークによる自己符号化器または畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）、Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ等のニューラルネットワークによる自己符号化器より複雑な方式を用いてもよい。このように構成された検査システムであっても、上記した実施の形態３の効果に加え、さらに性能を向上させることができるという効果を得ることができる。実施の形態３に係る検査装置３００では、こうした様々な次元圧縮手法のいずれを用いてもよい。
【０１８２】
ところで、上記した実施の形態に示した検査装置を備えた検査システムは一例に過ぎず、適宜、組み合わせて構成することが出来るものであって、実施の形態単独の構成に限られるものではない。
【符号の説明】
【０１８３】
１,  ２００,  ３００  検査装置、  ２  カメラ、  ３  対象物、
４  入出力装置、  １０  制御部、  １１  入力部、
１２ａ,  １２ｂ  解析部、  １３ａ,  １３ｂ  記憶部、
１４ａ,  １４ｂ,  １４ｃ  判定部、  １５  入出力部、
１６  補正部、  １００  入出力ＩＦ、  １０１  プロセッサ、
１０２  メモリ、  １０３  記憶媒体、  １０４  バス。
【図１】
2018105028.tif 000013
【図２】
2018105028.tif 000014
【図３】
2018105028.tif 000015
【図４】
2018105028.tif 000016
【図５】
2018105028.tif 000017
【図６】
2018105028.tif 000018
【図７】
2018105028.tif 000019
【図８】
2018105028.tif 000020
【図９】
2018105028.tif 000021
【図１０】
2018105028.tif 000022
【図１１】
2018105028.tif 000023
【図１２】
2018105028.tif 000024
【図１３】
2018105028.tif 000025
【図１４】
2018105028.tif 000026
【図１５】
2018105028.tif 000027
【図１６】
2018105028.tif 000028
【図１７】
2018105028.tif 000029
【図１８】
2018105028.tif 000030
【図１９】
2018105028.tif 000031
【図２０】
2018105028.tif 000032
【図２１】
2018105028.tif 000033
【図２２】
2018105028.tif 000034
【図２３】
2018105028.tif 000035
【手続補正書】
【提出日】平成29年4月27日(2017.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
異常を含まない対象物のデータをデータの次元を減らす次元圧縮をすることにより前記異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータを前記パラメータを用いて次元圧縮する解析部と、
前記解析部で次元圧縮した前記検査する対象物のデータを復元した復元データを生成する復元部と、
前記復元部が復元した復元データと前記検査する対象物のデータとの誤差を補正するフィルタを用いて前記復元データをフィルタリングして補正した復元データを生成する補正部とを備え、
前記検査する対象物のデータと補正した前記復元データとの差分の大小に基づき前記検査する対象物が異常であるか否かを示す判定結果を出力する判定部と、
前記判定部が出力した前記判定結果を出力する出力部と
を備えた検査装置。
【請求項２】
前記解析部が算出した前記パラメータを記憶する記憶部とを備え、
前記解析部は、前記検査する対象物のデータを前記記憶部に記憶した前記パラメータを用いて次元圧縮する
請求項１に記載の検査装置。
【請求項３】
前記フィルタは、ウィーナーフィルタである
請求項１または２に記載の検査装置。
【請求項４】
前記判定部は、前記差分が閾値以上のとき前記検査する対象物が異常であると示す判定結果を出力する
請求項１〜３のいずれか１項に記載の検査装置。
【請求項５】
前記異常を含まない対象物のデータは、異常を含まない対象物の画像データであり、
前記検査する対象物のデータは、検査する対象物の画像データである
請求項１〜４のいずれか１項に記載の検査装置。
【請求項６】
前記次元圧縮は、主成分分析を用いる
請求項１〜５のいずれか１項に記載の検査装置。
【請求項７】
前記次元圧縮は、ニューラルネットワークを用いた自己符号化器を用いる
請求項１〜５のいずれか１項に記載の検査装置。
【請求項８】
前記復元部は、前記パラメータを用いて前記復元データを生成する
請求項７記載の検査装置。
【請求項９】
前記判定部は、前記検査する対象物が異常であると示す判定結果を出力した前記差分が閾値以上の領域に外接する矩形であるバウンディングボックスを算出し、
前記出力部は、前記判定部が算出した前記バウンディングボックスを前記判定結果として出力する
請求項４に記載の検査装置。
【請求項１０】
前記出力部は、前記バウンディングボックスに基づき特定された前記検査する対象物の画像データの異常個所を点線で前記検査する対象物の画像データに重畳表示させるように出力する
請求項９に記載の検査装置。
【請求項１１】
前記出力部は、前記検査する対象物の画像データに対して前記差分の画像データを合成した差分合成画像データを出力する
請求項９に記載の検査装置。
【請求項１２】
前記出力部は、前記判定部が前記検査する対象物が異常であると示す判定結果を出力する場合、異常が検出されたことを通知するためのメッセージを表示させるように出力する請求項１〜１１のいずれか１項に記載の検査装置。
【請求項１３】
前記出力部が出力した前記判定結果を表示する表示部とを備えた
請求項１〜１２のいずれか１項に記載の検査装置。
【請求項１４】
異常を含まない対象物のデータをデータの次元を減らす次元圧縮をすることにより前記異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータを記憶媒体に記憶された前記パラメータを用いて次元圧縮するステップと、
次元圧縮した前記検査する対象物のデータを復元した復元データを生成するステップと、
復元した前記復元データと前記検査する対象物のデータとの誤差を補正するフィルタを用いて前記復元データをフィルタリングして補正した復元データを生成するステップとを有し、
前記検査する対象物のデータと補正した前記復元データとの差分の大小に基づき前記検査する対象物が異常であるか否かを示す判定結果を出力するステップと、
前記判定結果を出力するステップと
を有する検査方法。
【手続補正書】
【提出日】平成29年8月9日(2017.8.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明に係る検査装置は、異常を含まない対象物の画像データをデータの次元を減らす次元圧縮をすることにより異常を含まない対象物の画像データの性質を表すパラメータを算出し、検査する対象物の画像データをパラメータを用いて次元圧縮する解析部と、解析部で次元圧縮した検査する対象物の画像データを復元した復元データを生成する復元部と、復元部が復元した復元データと検査する対象物の画像データとの誤差を補正するフィルタを用いて復元データをフィルタリングして補正した復元データを生成する補正部と、検査する対象物の画像データと補正した復元データとの画素毎の差分の大小に基づき検査する対象物が異常であるか否かを示す判定結果を出力する判定部と、判定部が出力した判定結果を出力する出力部とを備える。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
異常を含まない対象物の画像データをデータの次元を減らす次元圧縮をすることにより前記異常を含まない対象物の画像データの性質を表すパラメータを算出し、検査する対象物の画像データを前記パラメータを用いて次元圧縮する解析部と、
前記解析部で次元圧縮した前記検査する対象物の画像データを復元した復元データを生成する復元部と、
前記復元部が復元した前記復元データと前記検査する対象物の画像データとの誤差を補正するフィルタを用いて前記復元データをフィルタリングして補正した復元データを生成する補正部と、
前記検査する対象物の画像データと補正した前記復元データとの画素毎の差分の大小に基づき前記検査する対象物が異常であるか否かを示す判定結果を出力する判定部と、
前記判定部が出力した前記判定結果を出力する出力部と
を備えた検査装置。
【請求項２】
前記解析部が算出した前記パラメータを記憶する記憶部とを備え、
前記解析部は、前記検査する対象物の画像データを前記記憶部に記憶した前記パラメータを用いて次元圧縮する
請求項１に記載の検査装置。
【請求項３】
前記フィルタは、ウィーナーフィルタである
請求項１または２に記載の検査装置。
【請求項４】
前記判定部は、前記差分が閾値以上のとき前記検査する対象物が異常であると示す判定結果を出力する
請求項１〜３のいずれか１項に記載の検査装置。
【請求項５】
前記次元圧縮は、主成分分析を用いる
請求項１〜４のいずれか１項に記載の検査装置。
【請求項６】
前記次元圧縮は、ニューラルネットワークを用いた自己符号化器を用いる
請求項１〜４のいずれか１項に記載の検査装置。
【請求項７】
前記復元部は、前記パラメータを用いて前記復元データを生成する
請求項６に記載の検査装置。
【請求項８】
前記判定部は、前記検査する対象物が異常であると示す判定結果を出力した前記差分が閾値以上の領域に外接する矩形であるバウンディングボックスを算出し、
前記出力部は、前記判定部が算出した前記バウンディングボックスを前記判定結果として出力する
請求項４に記載の検査装置。
【請求項９】
前記出力部は、前記バウンディングボックスに基づき特定された前記検査する対象物の画像データの異常個所を点線で前記検査する対象物の画像データに重畳表示させるように出力する
請求項８に記載の検査装置。
【請求項１０】
前記出力部は、前記検査する対象物の画像データに対して前記差分の画像データを合成した差分合成画像データを出力する
請求項８に記載の検査装置。
【請求項１１】
前記出力部は、前記判定部が前記検査する対象物が異常であると示す判定結果を出力する場合、異常が検出されたことを通知するためのメッセージを表示させるように出力する請求項１〜１０のいずれか１項に記載の検査装置。
【請求項１２】
前記出力部が出力した前記判定結果を表示する表示部とを備えた
請求項１〜１１のいずれか１項に記載の検査装置。
【請求項１３】
異常を含まない対象物の画像データをデータの次元を減らす次元圧縮をすることにより前記異常を含まない対象物の画像データの性質を表すパラメータを算出し、検査する対象物の画像データを記憶媒体に記憶された前記パラメータを用いて次元圧縮するステップと、
次元圧縮した前記検査する対象物の画像データを復元した復元データを生成するステップと、
復元した前記復元データと前記検査する対象物の画像データとの誤差を補正するフィルタを用いて前記復元データをフィルタリングして補正した復元データを生成するステップと、
前記検査する対象物の画像データと補正した前記復元データとの画素毎の差分の大小に基づき前記検査する対象物が異常であるか否かを示す判定結果を出力するステップと、
前記判定結果を出力するステップと
を有する検査方法。
【国際調査報告】
2018105028.tif 000036
2018105028.tif 000037
2018105028.tif 000038
2018105028.tif 000039