(57)【要約】【課題】画像の分類精度が良い画像分類装置などを提供する。【解決手段】画像分類装置は、画像に対して、畳み込みを行ってからプーリングを行う処理を複数回施し、当該画像から複数種類の特徴量を抽出するＣＮＮ３１３の中間層と、ＣＮＮ３１３の中間層が抽出した複数種類の特徴量のうちの少なくとも一部の種類の特徴量を決定木群３２７に入力し、決定木群３２７を構成する複数の決定木それぞれの出力に基づいて前記画像を分類する分類手段（例えば、決定木群３２７、解析部３３３の組合せなど）と、を備える。【選択図】図６
2018005639.tif 000002
【特許請求の範囲】
【請求項１】
画像に対して、畳み込みを行ってからプーリングを行う処理を複数回施し、当該画像から複数種類の特徴量を抽出する特徴量抽出手段と、
前記特徴量抽出手段が抽出した前記複数種類の特徴量のうちの少なくとも一部の種類の特徴量を複数の決定木に入力し、当該複数の決定木それぞれの出力に基づいて前記画像を分類する分類手段と、
を備える画像分類装置。
【請求項２】
前記特徴量抽出手段が抽出した前記複数種類の特徴量から一部の種類の特徴量を削減する削減手段をさらに備え、
前記分類手段は、前記複数種類の特徴量のうちの、前記削減手段により削減されたあとの残りの特徴量の少なくとも一部の種類の特徴量を前記複数の決定木に入力する、
請求項１又は２に記載の画像分類装置。
【請求項３】
前記特徴量抽出手段は、ＣＮＮ（Convolutional Neural Network）の中間層及び前記ＣＮＮの識別層のうちの一部の層である第１〜Ｎ（Ｎは、１以上の整数）番目の層と、同じ機能を有し、
前記特徴量抽出手段により抽出される前記複数種類の特徴量は、前記第Ｎ番目の層から出力されたものである、
請求項１〜３のいずれか１項に記載の画像分類装置。
【請求項４】
欠陥の有無を検査する対象である検査対象を撮像する撮像部と、
請求項１〜３のいずれか１項に記載の画像分類装置と、を備え、
前記画像は、前記撮像部により前記検査対象を撮像した画像である、
画像検査装置。
【請求項５】
コンピュータに、
画像に対して、畳み込みを行ってからプーリングを行う処理を複数回施し、当該画像から複数種類の特徴量を抽出する特徴量抽出ステップと、
前記特徴量抽出ステップで抽出した前記複数種類の特徴量のうちの少なくとも一部の種類の特徴量を複数の決定木に入力し、当該複数の決定木それぞれの出力に基づいて前記画像を分類する分類ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像分類装置、画像検査装置、及び、プログラムに関する。
【背景技術】
【０００２】
従来から、検査対象を撮像した撮像画像（特に、特徴量）に基づいて、当該検査対象の欠陥（キズ、異物など）の有無などを検査する画像検査装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２６６８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記画像検査装置は、画像の分類（欠陥の分類）が可能であるが、さらなる分類精度の向上が望まれている。
【０００５】
本発明は、画像の分類精度が良い画像分類装置、画像検査装置、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の第１の観点に係る画像分類装置は、
画像に対して、畳み込みを行ってからプーリングを行う処理を複数回施し、当該画像から複数種類の特徴量を抽出する特徴量抽出手段と、
前記特徴量抽出手段が抽出した前記複数種類の特徴量のうちの少なくとも一部の種類の特徴量を複数の決定木に入力し、当該複数の決定木それぞれの出力に基づいて前記画像を分類する分類手段と、
を備える。
【０００７】
上記目的を達成するため、本発明の第２の観点に係る画像検査装置は、
欠陥の有無を検査する対象である検査対象を撮像する撮像部と、
上記画像分類装置と、を備え、
前記画像は、前記撮像部により前記検査対象を撮像した画像である。
【０００８】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、
コンピュータに、
画像に対して、畳み込みを行ってからプーリングを行う処理を複数回施し、当該画像から複数種類の特徴量を抽出する特徴量抽出ステップと、
前記特徴量抽出ステップで抽出した前記複数種類の特徴量のうちの少なくとも一部の種類の特徴量を複数の決定木に入力し、当該複数の決定木それぞれの出力に基づいて前記画像を分類する分類ステップと、
を実行させる。
【発明の効果】
【０００９】
本発明によれば、画像の分類精度が良い。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る外観検査装置の構成例を示す図である。
【図２】欠陥の例である。
【図３】ＣＮＮ生成機能を実現するための制御部等の構成例を示す図である。
【図４】ＣＮＮの構成例を示す図である。
【図５】決定木生成機能を実現するための制御部等の構成例を示す図である。
【図６】画像検査機能を実現するための制御部等の構成例を示す図である。
【図７】特徴量削減処理の一例を示すフローチャートである。
【図８】教師データベース（教師データ）の構築機能を実現するための制御部等の構成例を示す図である。
【図９】教師データ生成部が実行する教師データ生成処理の一例を示すフローチャートである。
【図１０】教師データ生成部の制御のもとで表示部に表示される画面の一例である。
【発明を実施するための形態】
【００１１】
（外観検査装置１００の概要等）
本発明の一実施形態に係る画像検査装置１００は、以下の機能を有する。
（１）深層学習によりＣＮＮ（Convolutional Neural Network、畳み込みニューラルネットワーク）を生成するＣＮＮ生成機能
（２）前記ＣＮＮの中間層から出力される特徴量を教師データとした機械学習により、複数の決定木からなる決定木群をランダムフォレスト法により生成する決定木生成機能
（３）検査対象（例えば、実際の製造ラインにおいて欠陥の有無を検査したい製品等）を撮像した画像に基づいて画像検査を行う機能、具体的には、検査対象を撮像した画像に基づいて欠陥候補を検出するとともに、検出した欠陥候補の種別を、前記ＣＮＮの中間層と前記決定木群とを用いて分類する画像検査機能
【００１２】
この実施の形態では、検査対象は、透明フィルムである。欠陥は、透明フィルムについた異物（黒点）、キズ（黒キズ）などである。ＣＮＮの生成、及び、決定木群の生成では、教師データとして、欠陥が実際に付いた透明フィルム（サンプル）が写ったサンプル画像（予め用意されているものとする。）が使用される。なお、ＣＮＮは、特に、ＤＣＮＮ（Deep Convolutional Neural Network）であるとよい。
【００１３】
（画像検査装置１００の構成）
画像検査装置１００は、図１に示すように、撮像部１０、記憶部２０、制御部３０、操作部４０、表示部５０を備える。これらは、バス６０に接続されている。
【００１４】
撮像部１０は、ＣＣＤ（Charge Coupled Device）イメージセンサを用いたカメラ、又は、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサを用いたカメラなどからなる。撮像部１０は、制御部３０により制御され、検査対象を撮像し、当該検査対象が写った撮像画像を得る。撮像部１０は、撮像画像の画像データを、制御部３０に供給する。
【００１５】
記憶部２０は、ハードディスク、又は、フラッシュメモリなどからなる。記憶部２０は、プログラムと、第１教師データベース（詳しくは後述）、第２教師データベース（詳しくは後述）、それぞれを構成するデータを含む各種データと、を記憶する。
【００１６】
制御部３０は、ＣＰＵ（Central Processing Unit）、及び、ＲＡＭ（Random Access Memory）などを含んで構成される。記憶部２０に記憶されているプログラムやデータは、ＲＡＭに読み出される。ＣＰＵは、ＲＡＭに読み出されたプログラムに従って、かつ、ＲＡＭに読み出されたデータを用いて、所定の処理を行うことで、制御部３０の各部分（教師データ供給部３１１、ＣＮＮ３１３、特徴量取得部３２１、次元削減部３２３、ランダムフォレスト処理部３２５、決定木群３２７、画像処理部３３１、及び、解析部３３３など）として動作し、画像検査装置１００の上記（１）〜（３）の機能を実現する。
【００１７】
操作部４０は、キーボード、及び、マウスなどから構成され、ユーザからの操作を受け付ける。
【００１８】
表示部５０は、液晶ディスプレイ、又は、ＥＬ（Electro Luminescence）ディスプレイなどからなり、各種の画像を表示する。なお、表示部５０は、タッチパネルからなってもよく、この場合、当該タッチパネルは操作部４０でもある。
【００１９】
（制御部３０の構成と動作）
次に、制御部３０の構成と動作を、図２〜６などを参照しながら説明する。なお、ここでの画像検査での欠陥又は欠陥候補の種別は、図２に示すような、黒点、黒キズとする。黒点は、検査対象（透明フィルム）に付着した異物（ゴミ等）の画像である。黒キズは、検査対象に付着したキズの画像である。図２（Ａ−１）〜図２（Ａ−４）に例示するように、同じ黒点でも、様々な態様がある。制御部３０は、態様が異なるが同じ黒点と分類できる欠陥を黒点と分類する。このようなことは、黒キズでも同じである（図２（Ｂ−１））〜図２（Ｂ−３）参照）。
【００２０】
（深層学習によりＣＮＮを生成する制御部３０）
制御部３０は、図３に示すように、教師データ供給部３１１と、ＣＮＮ３１３と、を備える。教師データ供給部３１１は、記憶部２０に格納されている第１教師データベース（Data Base）の教師データを読み出してＣＮＮ３１３に供給する。ＣＮＮ３１３は、供給された教師データを用いて深層学習を行う。
【００２１】
第１教師データベースは、予め作成されるものであり、複数の教師データ（教師データＡ等）から構成されている。１つの教師データは、欠陥付きの透明フィルム（検査対象のサンプル）が写ったサンプル画像（画像Ａ等）と、当該サンプル画像に写った欠陥の種別（黒キズ等。以下、正解種別という。）とからなる。サンプル画像は、検査対象のサンプルを撮像して得られた撮像画像の他、当該撮像画像にノイズ除去やコントラスト強調等を施したあとの画像であってもよい。サンプル画像は、例えば、グレースケールの画像である。第１教師データベースでは、１つの教師データ毎に、サンプル画像と正解種別とが対応付けて記憶されている。正解種別は、当該画像を人が目視により確認して分類した種別であり、各教師データにおける正解のデータである。
【００２２】
教師データ供給部３１１は、第１教師データベースから、１つずつ教師データを取得してＣＮＮ３１３に供給する。ＣＮＮ３１３は、１つの教師データが供給される度に学習する。
【００２３】
ＣＮＮ３１３の構成は、例えば、図４に示すように、畳み込み層３１３Ｂ、プーリング層３１３Ｃ、畳み込み層３１３Ｄ、プーリング層３１３Ｅ、正規化層３１３Ｆ、第１パーセプトロン層３１３Ｇ、第２パーセプトロン層３１３Ｈ、第３パーセプトロン層３１３Ｉを備える。ＣＮＮ３１３は、画像の種別を分類（画像に写った欠陥候補の種別の分類等を含む。）する。なお、画像の種別を分類するとは、画像に写った被写体（欠陥及び欠陥候補を含む。）の種別を分類することと同義である。
【００２４】
畳み込み層３１３Ｂには、種別を分類したい画像（輝度データ等）が入力される。この画像を以下では、入力画像という。畳み込み層３１３Ｂは、ＣＮＮ３１３の入力層としての役割も有している。
【００２５】
畳み込み層３１３Ｂは、入力画像に対して畳み込みを行い、プーリング層３１３Ｃは、畳み込み後の入力画像に対してプーリングを行う。畳み込み層３１３Ｄは、プーリング後の入力画像に対して再度畳み込みを行い、プーリング層３１３Ｅは、畳み込み後の入力画像に対して再度プーリングを行う。畳み込みは、ある画素を中心としたある領域内の画素に畳み込み演算を行うことである。このような畳み込みにより、画像のボカシ処理や輪郭抽出処理などを表現でき、画像上の局所的特徴を抽出することができる。プーリングは、画像の各画素の輝度値等を一定領域毎に１つの値に変換する処理であり、１つの値としては、その領域内の輝度値等の最大値(Max Pooling)又は平均値(Average Pooling)などを採用できる。プーリングにより、領域内の位置的な感度を低下させることにより、画像の平行移動不変性（平行移動に対するロバストネス）を得ることができる。
【００２６】
正規化層３１３Ｆは、プーリング層３１３Ｅから出力された情報を、後の識別層が処理しやすいように正規化する。正規化は、適宜の方法で行われればよい。例えば、この正規化層３１３Ｆでは、画像の輝度差等の濃淡差を吸収する。
【００２７】
第１パーセプトロン層３１３Ｇ〜第３パーセプトロン層３１３Ｉは、正規化層３１３Ｆから出力された情報を処理することで、入力画像の種別を識別（分類）する。第３パーセプトロン層３１３Ｉから出力される情報は、分類により特定された入力画像の種別を示す情報である。この情報は、例えば、分類により特定された入力画像の種別と、その種別の確からしさ（その種別である可能性）と、が対応付けられた形式で出力される。例えば、分類により特定された入力画像の欠陥の種別が、黒キズ：９０％、黒点：１０％などのような形式で出力される。ＣＮＮ３１３は、最も可能性が高い種別を分類結果として出力してもよい。
【００２８】
畳み込み層３１３Ｂ、プーリング層３１３Ｃ、畳み込み層３１３Ｄ、プーリング層３１３Ｅ、及び、正規化層３１３Ｆは、まとめて中間層と呼ばれる。なお、畳み込み層３１３Ｂの前段に中間層の一層目としての入力層を設けてもよい。正規化層３１３Ｆは、適宜の位置に複数設けてもよい。第１パーセプトロン層３１３Ｇ〜第３パーセプトロン層３１３Ｉは、まとめて識別層（画像を分類する分類器に相当している。）と呼ばれる。なお、第３パーセプトロン層３１３Ｉの後段に識別層の最終層としての出力層を設けてもよい。中間層は、識別層の前段にあり、入力画像の特徴量を抽出する層として捉えることができる。ここでは、正規化層３１３Ｆから、第１パーセプトロン層３１３Ｇに供給される情報が、入力画像の特徴量である。ここでは、複数種類（例えば、４０９６種類）の特徴量（数値によって表される）が抽出され、識別層に出力される。
【００２９】
畳み込み層及びプーリング層は、３つ以上設け、畳み込みとプーリングとを１セットとする処理を３回以上行ってもよい。また、１つの畳み込み層では、畳み込みを２回以上行ってもよい。また、畳み込み層では、畳み込みの他に他の演算処理を行ってもよい。上記中間層のように、入力画像に対して、畳み込みを行ってからプーリングを行う処理を複数回施すことで、適切な特徴量を抽出できる。特に、ここで抽出される特徴量は、人が把握困難という意味での非常に抽象的な特徴（人が見出す、真円度などの具体的な特徴ではない。）に関する量であり、人が見出せる特徴量よりも画像の分類等に適切な特徴量であることが多い（後述の決定木群３２７などの他の分類器でも適切な特徴量であると考えられる）。また、識別層を構成するパーセプトロン層の数も適宜の数を採用できる。
【００３０】
前記の教師データの供給が開始される前のＣＮＮ３１３は、既存のものを採用できる（学習方法も公知のものを採用できる）。ＣＮＮ３１３は、畳み込みやプーリングで使用される変数（畳み込みに使用されるフィルタの変数等）を更新することで、深層学習する。教師データが供給開始される前のＣＮＮ３１３は、ある程度学習したもの（欠陥以外を被写体とした画像により学習をしたものを含む）であってもよいし（所謂、ファインチューニング）、未学習のものであってもよい。ＣＮＮ３１３の学習は、第１教師データベースに含まれる全ての教師データが使用されたときに終了する。また、予め用意されたテストデータを用いてＣＮＮ３１３に欠陥の種別の分類を行わせ、所望の正解率が得られたときにＣＮＮ３１３の学習を終了させてもよい。なお、これ以降に使用されるＣＮＮ３１３は、それ以上の学習を行わないものとするが、言及しない適宜のタイミングでさらなる学習をしてもよい。また、これ以降では、ＣＮＮ３１３の中間層をのみ用いるので、識別層は削除してもよい。
【００３１】
（ランダムフォレスト法により決定木群を生成する制御部３０）
制御部３０は、上記で生成したＣＮＮ３１３の他、図５に示すように、特徴量取得部３２１、次元削減部３２３、ランダムフォレスト処理部３２５を備える。
【００３２】
特徴量取得部３２１は、記憶部２０に予め格納されている第２教師データベースにアクセスする。第２教師データベースは、予め作成されるものであり、複数の教師データ（教師データａ等）から構成されている。１つの教師データは、欠陥付きの透明フィルム（検査対象のサンプル）が写ったサンプル画像（画像ａ等）と、当該サンプル画像の特徴量（以下、サンプル特徴量ともいう。）と、当該サンプル画像に写った欠陥の種別（黒キズ等。以下、正解種別という。）と、を有する。なお、サンプル特徴量は、最初は第２教師データベースに格納されておらず、後述のタイミングにて追加される。第２教師データベースでは、１つの教師データ毎に、サンプル画像とサンプル特徴量と正解種別とが対応付けて記憶される。正解種別とサンプル画像とについての説明は、第１教師データベースに準じる。
【００３３】
第２教師データベースと第１教師データベースとにおける、サンプル画像及び正解種別は、少なくとも一部が共通であってもよい。サンプル画像及び正解種別を全て共通としてもよく、その場合は、第２教師データベースのみを用意してもよい。両データベースでサンプル画像及び正解種別を共通にすることで、必要なデータ量を少なくできる。
【００３４】
特徴量取得部３２１は、第２教師データベースから１つの教師データを読み出し、読み出した教師データ（処理対象の教師データ）に含まれるサンプル画像をＣＮＮ３１３に入力する。ＣＮＮ３１３は、供給されたサンプル画像を表す複数種類の特徴量を中間層で抽出して出力する。特徴量取得部３２１は、当該中間層で抽出された複数種類の特徴量を今回の処理対象の教師データに含まれるサンプル特徴量として第２教師データベースに追加する。特徴量取得部３２１は、第２教師データベースの全ての教師データについて、これらの処理を行う。これにより、図５における第２教師データベース（特徴量追加前）から、第２教師データベース（特徴量追加後）が生成される。なお、サンプル特徴量と、正解種別と、で第２教師データベースとは異なるデータベースを生成し、そのデータベースに基づいて以下の処理を行ってもよい。
【００３５】
その後、次元削減部３２３は、特徴量取得部３２１が抽出する特徴量の次元（特徴量の種類）を削減する。一例として、次元削減部３２３は、第２教師データベースに格納されている全てのサンプル特徴量に基づいて、主成分分析、多様体学習（ＩＳＯマップを用いたものを含む）などの統計的処理を行い、ＣＮＮ３１３から出力される複数種類の特徴量の中から削減可能な１種類以上の特徴量を特定する。ここで特定された特徴量を削減特徴量という。次元削減部３２３は、第２教師データベースに格納されている、教師データ毎の複数種類のサンプル特徴量から１種類以上の削減特徴量を削除して、第２教師データベースを更新する（図５の第２教師データベース（特徴量削減後）を参照。ここでは、ｘｉ（ｉ＝１，２，３，４，・・・）が削減されている。）。削除後の特徴量は、複数種類残る。以下、複数種類の特徴量から削減特徴量を削減したあとの残りの特徴量それぞれを、残特徴量という。なお、次元削減部３２３は、削減特徴量がどの種類の特徴量であるかを特定する情報を、記憶部２０に記録しておく。
【００３６】
ランダムフォレスト処理部３２５は、第３教師データベースの各教師データを正解を含む教師データとして、ランダムフォレスト法による機械学習により、複数の決定木からなる決定木群３２７を生成する。ここでの各教師データは、複数種類の残特徴量と正解種別とからなる。ここで生成された決定木群３２７は、制御部の構成要素であり、ＣＮＮ３１３の中間層とともに、画像の種別を分類する分類装置の構成要素となる。決定木群３２７を構成する複数の決定木それぞれは、相関の低い、分類精度の低い弱分類器といえるが、当該弱分類器を生成するときに与えられるランダム性により（例えば、どの特徴量を使用するかを各決定木についてランダムで選択するなどにより）、複数の決定木（決定木群）全体は、高い分類性能を持つ分類器となる。
【００３７】
なお、次元削減部３２３は、第２教師データベースから削減特徴量を削除するのではなく、次元削減部３２３は、記憶部２０に記録された、削減特徴量がどの種類の特徴量であるかを特定する情報を参照し、ランダムフォレスト処理部３２５が決定木群３２７を生成する際に、サンプル特徴量から削減特徴量を削除してもよい。
【００３８】
（検査対象を撮像した画像に基づいて画像検査を行う制御部３０）
制御部３０は、上記で生成したＣＮＮ３１３（特に中間層）、次元削減部３２３、決定木群３２７の他、図６に示すように、画像処理部３３１、解析部３３３を備える。画像処理部３３１は、撮像部１０に接続されている。撮像部１０は、適宜のタイミングで検査対象を撮像する。例えば、制御部３０が備える撮像制御部により、撮像部１０を制御して撮像を行わせる。画像処理部３３１は、撮像部１０から検査対象を撮像した画像を取得する。画像処理部３３１は、取得した画像に欠陥が写っているかを判定する処理を行う。例えば、画像処理部３３１は、撮像部１０からの画像（ノイズ除去やコントラスト強調などを施したものであってもよい。）を所定の閾値により２値化し、２値化した画像における黒の領域をラベリング処理などにより特定する。画像処理部３３１は、特定した領域の画素が所定の数以上であれば、当該領域が欠陥であると判定し、当該欠陥を中心にした所定範囲の画像を前記撮像画像から切り出す。
【００３９】
そして、画像処理部３３１は、切り出した画像を、欠陥候補有り画像として、ＣＮＮ３１３に入力する。なお、上記サンプル画像がグレースケールの画像であれば、欠陥候補有り画像もグレースケールとする。この場合、撮像部１０が出力する画像がグレースケールでもよいし、画像処理部３３１が、カラー画像をグレースケールに変換してもよい。このように、上記サンプル画像の形式と欠陥候補有り画像の形式は、同じものとする。
【００４０】
ＣＮＮ３１３の中間層は、入力された欠陥候補有り画像の複数種類の特徴量を抽出する。抽出された複数種類の特徴量は、次元削減部３２３により削減される。具体的には、次元削減部３２３は、削減特徴量がどの種類の特徴量であるかを特定する情報を記憶部２０から読み出す。そして、次元削減部３２３は、読み出した情報に基づいて、ＣＮＮ３１３の中間層が抽出した前記複数種類の特徴量から、削減特徴量を削除し、削除したあとの種類の特徴量（複数種類の残特徴量）を決定木群３２７に供給する。決定木群３２７は、供給された複数種類の残特徴量に基づいて、欠陥候補有り画像に写った欠陥候補の種別を決定木それぞれにより分類し、各決定木の分類結果（分類した種別）を解析部３３３に供給する。なお、各決定木は、ランダムフォレスト法により生成されており、次元削減部３２３からの全ての種類の残特徴量のうちの一部又は全部の種類の残特徴量を使用して、種別を分類する。従って、決定木群３２７を生成するときにランダムに選択された特徴量の種類によっては、決定木群３２７は、全ての種類の残特徴量を使用するとは限らない。
【００４１】
解析部３３３は、決定木群３２７の各決定木による分類結果を集計し、集計結果を決定木群３２７全体の分類結果として表示部５０に出力する。解析部３３３は、例えば、今回の分類で特定された、欠陥候補有り画像に写った欠陥候補の種別と、その種別の確からしさ（その種別である可能性）と、が対応付けて表示部５０に表示する。解析部３３３は、例えば、欠陥候補の種別を、黒キズ：９０％、黒点：１０％などのような形式で表示する。なお、解析部３３３は、決定木群３２７の各決定木による分類結果の多数決をとり、最も多い分類結果を決定木群３２７全体の分類結果として表示部５０に出力してもよい。解析部３３３は、決定木群３２７の各決定木による分類結果の確率分布を取り、その平均値が最大の分類結果を決定木群３２７全体の分類結果として表示部５０に出力してもよい。
【００４２】
（本実施形態の効果等）
本実施形態によれば、決定木群３２７に入力される特徴量を学習済みのＣＮＮ３１３の中間層（特に、畳み込み及びプーリングを１セットした処理を複数回行うこと）により抽出するので、欠陥候補の種別の分類に有用な特徴量（上述のように、人が把握困難という意味で抽象的な特徴の量であるが有用な特徴量）を機械により得ることができる。さらに、ＣＮＮ３１３の識別層の代わりにランダムフォレスト法で生成した決定木群３２７を使用することで、分類精度が向上している。以上のように、本実施形態での画像検査は、分類精度はよい（実験により分類精度が向上していることが分かっている）。また、どのような種類の特徴量を決定木群３２７に入力するかを人が決定しないので、使用する特徴量の決定を人の経験に頼る必要がなくなる。このため、本実施形態によれば、欠陥候補の種別の分類を高精度に保つことができる。
【００４３】
また、欠陥の種別の分類に使用する分類器（ここでは、決定木群３２７）の生成に使用する特徴量を、学習済みのＣＮＮの中間層により抽出するので、当該分類器を生成するための有用な特徴量を機械により得ることができ、その結果、欠陥の種別の分類を高精度にすることができる（実験により、上記の構成は、欠陥の分類にも適していることが分かっている）。
【００４４】
また、次元削減部３２３がＣＮＮ３１３の中間層から出力される複数種類の特徴量のうちの一部の種類の特徴量を削減するので、決定木群３２７の生成に関する処理、及び、画像検査時の処理の負担を軽減できる。
【００４５】
（特徴量削減について）
次元削減部３２３は、図７に例示する特徴量削減処理を実行することで、特徴量を削減してもよい。
【００４６】
次元削減部３２３は、第２教師データベース（次元削減前のデータベース）に格納されている、各種類の特徴量の１つ１つについて、正答率に対する寄与度を測定する（ステップＳ３０１）。次元削減部３２３は、例えば、全種類の特徴量を使用して生成し、生成した分類器の正答率を測定する。次元削減部３２３は、次に、寄与度の測定対象とする特徴量を削除し、削除後の残った特徴量を使用して生成し、生成した分類器の正答率を測定する。なお、ここでの分類器は、例えば、サポートベクタマシン、ニューラルネットワーク、ランダムフォレストによる分類器等の分類器であればよい。正答率の測定は、例えば、別途用意したテストデータで行う。次元削減部３２３は、前記で生成した２つの分類器それぞれの正答率の差を寄与度として特定する。次元削減部３２３は、上記測定を全ての特徴量について行い、全ての特徴量について寄与度を特定する。なお、正答率の劣化（正答率の差）が大きいほど寄与度が高い。
【００４７】
次に、次元削減部３２３は、寄与度の低い順に特徴量をソートしたテーブルを作成する（ステップＳ３０２）。その後、次元削減部３２３は、削除する特徴量の数を表すカウンタＫを「１」に設定する（ステップＳ３０３）。次に、次元削減部３２３は、前記のテーブルを参照し、寄与度の低い上位Ｋ個の特徴量を削除前の全種類の特徴量から削減する。またＫ＝Ｋ＋１の処理を行う（ステップＳ３０４）。そして、次元削減部３２３は、削除後の残った特徴量を使用して分類器を生成し、生成した分類器の正答率を測定する（ステップＳ３０５）。
【００４８】
次に、次元削減部３２３は、測定した正答率が予め設定されている閾値以上であるか否かを判別する（ステップＳ３０６）。次元削減部３２３は、閾値以上であった場合（ステップＳ３０６：Ｙｅｓ）、ステップＳ３０４以降の処理を再度行う。これによって、削除する特徴量の数が順次増えていく（これに伴って分類器の正答率も下がっていく）。
【００４９】
測定した正答率が予め設定した閾値未満となった場合（ステップＳ３０６：Ｎｏ）、次元削減部３２３は、Ｋ＝Ｋ−１の処理を行う。正答率の閾値条件を満たすＫの値を取得するためである。そして、次元削減部３２３は、寄与度が低い順にＫ番目までの特徴量を削減する（ステップＳ３０７）。
【００５０】
このような処理により、特徴量を削減できる。
【００５１】
（教師データの生成について）
深層学習では、膨大な数の教師データが必要になる。ここで、第１教師データベース及び第２教師データベースを構成する教師データは、上述のように、欠陥付きの透明フィルム（検査対象のサンプル）のサンプル画像と、当該サンプル画像に写った欠陥の正解種別と、を含む。第１教師データベース及び第２教師データベースを生成するとき（教師データの生成時）、欠陥の種別は、人が画像を目視して与えるが、膨大な数の教師データについてこれを行うと時間も労力も非常にかかってしまう。このため、以下のようにして、教師データベースを構築してもよい。なお、以下では、第１教師データベースの構築を例に取って説明するが、第２教師データベースも同様にして構築できる。また、以下の説明では、正解種別が格納されていない第１教師データベース（サンプル画像のみ格納されている図８の第１教師データベース（正解種別追加前）参照）が予め用意されているものとする。また、サンプル画像の特徴量を抽出するアルゴリズムの情報（プログラム等）も、予め人により設計され、記憶部２０に用意されているものとする。サンプル画像の数は、ここでは、１００００枚とする。サンプル画像は、欠陥付きの透明フィルム全体を撮像した撮像画像から欠陥とその周囲とを切り出した画像（ノイズ除去やコントラスト強調などを施したものであってもよい）である。
【００５２】
このような処理を行う制御部３０は、図８に示すように、教師データ生成部３４１を有し、当該教師データ生成部３４１は、図９に例示する教師データ生成処理を行う。
【００５３】
まず、教師データ生成部３４１は、記憶部２０に格納された１００００枚のサンプル画像のうち、５００枚のサンプル画像をランダムに選択して取得する（ステップＳ４０１）。教師データ生成部３４１は、選択したサンプル画像を表示部５０に表示するとともに、正解の入力を受け付ける（ステップＳ４０２）。ユーザは、操作部４０を操作して、表示部５０に表示された画像に写った種別を正解種別として入力する。教師データ生成部３４１は、入力された正解種別を、当該正解種別の対象となるサンプル画像に対応付けて、第１教師データベースに追加する。その後、教師データ生成部３４１は、第１教師データベースに格納されている、正解種別が追加されている教師データを全て用いて、ランダムフォレスト法により、決定木群３４３を生成する（ステップＳ４０３）。具体的には、教師データ生成部３４１は、記憶部２０に用意された上記アルゴリズムの情報を用いて、各サンプル画像について特徴量を算出し、算出した特徴量と、正解種別とに基づいて決定木群３４３を生成する。なお、２回目以降のステップＳ４０３では、古い決定木群３４３を、今回生成した新たな決定木群３４３に置き換える。
【００５４】
次に、教師データ生成部３４１は、１００００枚のサンプル画像のうち、他の所定枚数（例えば、１０００枚）のサンプル画像をランダムに選択する（ステップＳ４０４）。なお、ステップＳ４０４は、１００００枚のサンプル画像全てに正解種別が対応付けられるまで、繰り返される。このため、最後のステップＳ４０４では、正解種別が対応付けられていない残りのサンプル画像（例えば、５００枚のサンプル画像）が全て選択される。教師データ生成部３４１は、ステップＳ４０４で選択したサンプル画像を、決定木群３４３を用いて分類する（ステップＳ４０５）。具体的には、教師データ生成部３４１は、選択したサンプル画像それぞれについて特徴量を算出し（算出方法は、上記参照）、算出した特徴量を決定木群３４３に入力して、サンプル画像それぞれの種別（欠陥の種別）を分類させる。
【００５５】
その後、教師データ生成部３４１は、今回の分類対象のサンプル画像と、決定木群３４３を用いた分類結果とを、サンプル画像毎に表示部５０に一覧表示し、分類が間違っているものについての正解の入力を受け付ける（ステップＳ４０６）。分類の結果は、決定木群３４３の各決定木による分類結果の多数決の結果、最も多い分類結果とするとよい。なお、分類の結果が共通するもの同士をソートして表示することで、画面を見やすくしてもよい。分類の正解、不正解は、ユーザの目視により判断され、ユーザは、不正解のものについてのみ、種別を訂正する（操作部４０を介して行う）。例えば、図１０のように、サンプル画像５１と分類結果５２とをマトリックス状にセットで表示し、分類結果が誤っているものをユーザが選択して正解を入力する。なお、図１０では、サンプル画像と分類結果とについて一部にのみ符号を付した。また、教師データ生成部３４１は、決定木群３４３による分類結果、又は、ユーザによる入力（訂正）がある場合には入力された種別を、正解種別として、当該正解種別の対象となるサンプル画像に対応付けて、第１教師データベースに追加格納する（ステップＳ４０６）。その後、教師データ生成部３４１は、未処理のサンプル画像（正解種別が対応付けられていない画像）が無いかを判別し（ステップＳ４０７）、未処理のサンプル画像がある場合には（ステップＳ４０７；Ｎｏ）、ステップＳ４０３の処理を再度行う。未処理のサンプル画像がない場合には（ステップＳ４０７；Ｙｅｓ）、本処理を終了する。
【００５６】
このような一連の処理により、第１教師データベース（又は第２教師データベース）を比較的容易に構築できる。なお、ステップＳ４０３の処理による決定木群の生成は、所定の正答率を有する決定木群３４３を得られた時点で省略してもよい。正答率は、ステップＳ４０６でユーザにより入力（訂正）された正解の数から得られる。なお、ユーザにより入力（訂正）された正解の数が所定数以下のときに、以降の決定木群３４３の生成を省略してもよい。なお、決定木群３４３は、他のサポートベクタマシン等の分類器（必要な教師データの数がＣＮＮの深層学習よりも少なくて済むもの）に変更してもよい。このような教師データの生成方法は、正解データを含む教師データ一般に利用できる。
【００５７】
（変形例）
本発明は、上記の実施の形態に限られない。上記実施の形態に種々の変更（構成や処理の削除を含む）を加えてもよい。以下に変形例を例示するが、各変形例の少なくとも一部同士を組み合わせてもよい。
【００５８】
（変形例１）
次元量削減部３２３は、省略してもよい。この場合、ＣＮＮ３１３の中間層から出力される全ての種類の特徴量により決定木群３２７が生成され、画像検査時には全ての種類の特徴量が決定木群３２７に入力される。
【００５９】
（変形例２）
特徴量を抽出する部分は、ＣＮＮ３１３における、中間層と、識別層の第１層目（つまり、第１パーセプトロン層３１３Ｇ）又は１〜２層目（つまり、第１〜第２パーセプトロン層３１３Ｇ〜３１３Ｈ）と、から構成されてもよい（上記説明における中間層を、これら層に置き換えてもよい）。何層目まで使用するかは、識別層のパーセプトロン層の数に応じて決定すればよい。これら層（中間層側から数えてＮ（１以上の整数）番目のパーセプトロン層）からの出力も、特徴量と捉えることができ、このような構成により、分類精度を向上させることができる。
【００６０】
（変形例３）
決定木群３２７等を生成するときに、教師データを増やすようにしてもよい。例えば、ある教師データのある特徴量の数値を所定の範囲で変化させ、変化後の数値を有する教師データを当該ある教師データとは別の他の教師データとしてもよい。これにより、少ない教師データしか用意できない場合であっても、決定木群３２７等を生成できる。
【００６１】
（変形例４）
教師データ供給部３１１、ＣＮＮ３１３、特徴量取得部３２１、次元削減部３２３、ランダムフォレスト処理部３２５、決定木群３２７、画像処理部３３１、解析部３３３、教師データ生成部３４１、決定木群３４３のそれぞれ、又は、２以上の組合せは、プログラムを実行する１以上のプロセッサ（ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などを含む）、プログラムによらない１以上の処理回路、前記プロセッサと前記処理回路との組合せなどから構成されてもよい。記憶部２０、制御部３０、操作部４０、表示部５０は、パーソナルコンピュータ等の各種コンピュータにより構成されてもよい。プログラムは、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）等の各種の記憶媒体、インターネットからのダウンロード等により供給されてもよい。
【００６２】
（変形例５）
画像検査において分類を行うのは、サポートベクタマシンや、ＣＮＮの識別層等の他の分類器であってもよい。また、分類する欠陥は、上記の実施の形態では、説明の理解のため、上記の黒点、黒キズとしたが、これらに限らず、種々のものがある（実際には、２種類に限らず、多数設定される）。例えば、白キズ、白点などを含んでもよい（この場合、画像処理部３３１は、撮像部１０からの画像を２値化した画像における白の領域をラベリング処理などにより特定して、白キズ等の欠陥を検出する）。また、分類する欠陥の種別として、予め用意された種別のどれにも属さない「その他」があってもよい。検査対象は、透明フィルムに限らない。検査対象は、フィルムの他、例えば、ガラス基板、半導体ウェーハなどの微細パターンを有する、または、無地の被検査物であればよい。また、画像検査により分類したい対象は、欠陥でなくてもよい。
【００６３】
（本明細書が開示する構成等）
上記実施の形態や、変形例を一例とする構成を以下に記載する。以下の各構成は、少なくとも一部同士を組み合わせることができる。
【００６４】
（１）画像に対して、畳み込みを行ってからプーリングを行う処理を複数回施し、当該画像から複数種類の特徴量を抽出する特徴量抽出手段（例えば、ＣＮＮ３１３の中間層など）と、
前記特徴量抽出手段が抽出した前記複数種類の特徴量のうちの少なくとも一部の種類の特徴量（例えば、残特徴量、次元削減部３２３が無い場合のＣＮＮ３１３の中間層から出力される特徴量など）を複数の決定木に入力し、当該複数の決定木それぞれの出力に基づいて前記画像を分類する分類手段（例えば、次元削減部３２３、決定木群３２７、解析部３３３の組合せなど）と、
を備える画像分類装置（例えば、制御部３０、制御部３０等を備えるコンピュータなど）。
【００６５】
なお、特徴量抽出手段は、例えば、学習済みのＣＮＮ３１３から中間層を取り出したものであってもよいし、学習済みのＣＮＮ３１３に含まれたままの中間層であってもよい。特徴量抽出手段は、畳み込みを行ってからプーリングを行う処理を複数回施す以外の処理をさらに行うものを含む。特徴量抽出手段は、例えば、ＣＮＮ３１３における、中間層と、識別層の第１層目（つまり、第１パーセプトロン層３１３Ｇ）又は１〜２層目（つまり、第１〜第２パーセプトロン層３１３Ｇ〜３１３Ｈ）と、から構成されてもよい。
【００６６】
分類手段は、複数の決定木を備えるものであってもよい。特徴量を複数の決定木に入力するときの、各決定木に入力される特徴量は、当然各決定木により異なってもよい（ランダムフォレストにより生成されるため）。複数の決定木は、ランダムフォレストにより生成されたものを含むので、全体として、入力可能な特徴量（残特徴量、又は、次元削減部３２３が無い場合のＣＮＮ３１３の中間層から出力される特徴量など）のうちの全ての種類の特徴量を使用しなくてもよい。従って、「少なくとも一部の種類の特徴量」は、実際に複数の決定木で使用される特徴量のみであってもよい。例えば、制御部３０のランダムフォレスト処理部３２５は、決定木群３２７を生成するときに、各決定木で使用する特徴量の情報を記憶部２０に記録しておき、制御部３０における、決定木群３２７の各決定木に特徴量を入力する部分は、前記情報を参照して、特徴量を各決定木に入力する（なお、当該情報を参照して次元削減部３２３が特徴量を削減してもよい）。
【００６７】
複数の決定木、ＣＮＮの中間層などは、機械学習により得られるものであり、特に、機械学習の方法により、その性質や構造を特定できるものである。
【００６８】
（２）前記特徴量抽出手段が抽出した前記複数種類の特徴量から一部の種類の特徴量を削減する削減手段（例えば、次元削減部３２３など）をさらに備え、
前記分類手段は、前記複数種類の特徴量のうちの、前記削減手段により削減されたあとの残りの特徴量の少なくとも一部の種類の特徴量（例えば、実際に複数の決定木で使用される特徴量のみであってもよい。）を前記複数の決定木に入力する、
ようにしてもよい。
【００６９】
（３）前記特徴量抽出手段は、ＣＮＮ（Convolutional Neural Network）の中間層及び前記ＣＮＮの識別層のうちの一部の層である第１〜Ｎ（Ｎは、１以上の整数）番目の層と、同じ機能を有し（例えば、前記中間層及び前記第１〜Ｎ（Ｎは、１以上の整数）番目の層そのもの（ＣＮＮから抜き出したものを含む）であってもよい。）、
前記特徴量抽出手段により抽出される前記複数種類の特徴量は、前記第Ｎ番目の層から出力されたものである、
ようにしてもよい。
【００７０】
（４）上記画像分類装置に撮像部１０を加えた画像検査装置、上記画像分類装置が実行する処理をコンピュータに実行させるプログラム。
【００７１】
（５）欠陥が写った複数の第１画像（例えば、サンプル画像などであり、欠陥有りのサンプルを撮像した撮像画像や、当該撮像画像についてノイズ除去やコントラスト強調などの処理を施した画像など）を含む第１教師データ（例えば、第１教師データベースの各教師データなど）に基づいて深層学習によりＣＮＮ（Convolutional Neural Network）（例えば、ＣＮＮ３１３など）を生成するＣＮＮ生成手段（例えば、制御部３０など）と、
前記ＣＮＮ生成手段により生成された前記ＣＮＮを構成する中間層に、欠陥が写った複数の第２画像（例えば、サンプル画像などであり、欠陥有りのサンプルを撮像した撮像画像や、当該撮像画像についてノイズ除去やコントラスト強調などの処理を施した画像など）それぞれを入力し、当該複数の第２画像それぞれについての複数種類の特徴量を取得する特徴量取得手段（例えば、ＣＮＮの中間層から特徴量取得部３２１など。なお、特徴量取得手段は、ＣＮＮの中間層及び当該ＣＮＮの識別層のうちの一部の層である中間層側から第１〜Ｎ（Ｎは、１以上の整数）番目の層のうちの最後の層である第Ｎ番目の層からの出力により特徴量を取得してもよい。中間層、又は、中間層及び第１〜Ｎ番目の層をここで用いるとき、ＣＮＮのそれ以外の層は削除されていてもよい。）と、
前記特徴量取得手段により取得された前記複数種類の特徴量の少なくとも一部の種類の特徴量を含む第２教師データ（例えば、第２教師データベースの各教師データの特徴量と正解種別など）に基づいて機械学習により分類器を生成する分類器生成手段（例えば、ランダムフォレスト処理部３２５など）と、
を備える分類器生成装置（例えば、制御部３０、制御部３０等を備えるコンピュータなど）。
【００７２】
上記複数の第１画像の少なくとも一部の画像と、上記複数の第２画像の少なくとも一部の画像と、は、共通の画像であってもよい。分類器は、サポートベクタマシンなどであってもよい。
【００７３】
（６）前記特徴量取得手段が取得した前記複数種類の特徴量から一部の種類の特徴量を削減する削減手段（例えば、統計的処理により特徴量の種類を減らす次元削減部３２３など）をさらに備え、
前記分類器生成手段は、前記複数種類の特徴量のうちの、前記削減手段により削減されたあとの残りの特徴量を含む第２教師データに基づいて前記分類器を生成する、
ようにしてもよい。
【００７４】
（７）前記第１教師データは、前記複数の第１画像と、当該複数の第１画像それぞれに写っている欠陥の正解種別（例えば、正解のデータである欠陥の正解種別など）と、を含み、
前記複数の第１画像のうちの一部の第１画像をユーザに提示する第１提示手段（例えば、サンプル画像を表示部５０に表示する教師データ生成部３４１など）と、
前記第１提示手段によりユーザに提示した前記一部の第１画像それぞれに写った欠陥の種別の正解をユーザから受け付ける正解受付手段（例えば、操作部４０を介してユーザからの操作を受け付ける教師データ生成部３４１など）と、
前記正解受付手段が受け付けた正解と前記一部の第1画像とに基づいて、第２の分類器（例えば、決定木群３４３など）を生成する第２の分類器生成手段（例えば、ランダムフォレストにより決定木群を生成する教師データ生成部３４１など）と、
前記第２の分類器を用いて、前記複数の第１画像のうちの他の第１画像に写った欠陥の種別を分類する分類手段（例えば、決定木群３４３を用いて画像を分類する教師データ生成部３４１など）と、
前記分類手段が分類した分類結果をユーザに提示する第２提示手段（例えば、図１０の画面を表示部５０に表示する教師データ生成部３４１など）と、
ユーザによる、前記分類結果の誤りを訂正する訂正操作を受け付ける訂正受付手段（例えば、操作部４０を介してユーザからの訂正操作を受け付ける教師データ生成部３４１など）と、
前記訂正受付手段により受け付けられた訂正操作により訂正された前記分類結果と、前記分類手段が分類した正解の前記分類結果と、を前記第１教師データに含まれる前記正解種別として設定する設定手段（例えば、ステップＳ４０６などの処理を行う教師データ生成部３４１）と、
をさらに備えるようにしてもよい。
【００７５】
（８）上記分類器生成装置が実行する処理をコンピュータに実行させるプログラム。また、前記分類器生成装置と、前記分類器生成装置により生成された前記分類器と、を備え、検査対象を撮像した画像であって欠陥が写った画像（検査対象を撮像した撮像画像や、当該撮像画像についてノイズ除去やコントラスト強調などの処理を施した画像など）を前記分類器により分類する画像検査装置。
【００７６】
（９）なお、上記構成とは別に、複数の第１画像（例えば、サンプル画像）それぞれと、当該複数の第１画像それぞれの正解種別（例えば、サンプル画像に写った欠陥の正解種別など）と、が互いに対応付けられた教師データベースを構築する装置（例えば、制御部３０、制御部３０等を備えるコンピュータなど）であって、
前記複数の第１画像のうちの一部の第１画像をユーザに提示する第１提示手段（例えば、サンプル画像を表示部５０に表示する教師データ生成部３４１など）と、
前記第１提示手段によりユーザに提示した前記一部の第１画像の種別の正解をユーザから受け付ける正解受付手段（例えば、操作部４０を介してユーザからの操作を受け付ける教師データ生成部３４１など）と、
前記正解受付手段が受け付けた正解と前記一部の第1画像とに基づいて、第２の分類器（例えば、決定木群３４３など）を生成する第２の分類器生成手段（例えば、ランダムフォレストにより決定木群を生成する教師データ生成部３４１など）と、
前記第２の分類器を用いて、前記複数の第１画像のうちの他の第１画像の種別を分類する分類手段（例えば、決定木群３４３を用いて画像を分類する教師データ生成部３４１など）と、
前記分類手段が分類した分類結果をユーザに提示する第２提示手段（例えば、図１０の画面を表示部５０に表示する教師データ生成部３４１など）と、
ユーザによる、前記分類結果の誤りを訂正する訂正操作を受け付ける訂正受付手段（例えば、操作部４０を介してユーザからの訂正操作を受け付ける教師データ生成部３４１など）と、
前記訂正受付手段により受け付けられた訂正操作により訂正された前記分類結果と、前記分類手段が分類した正解の前記分類結果と、を前記第１教師データに含まれる前記正解種別として設定する設定手段（例えば、ステップＳ４０６などの処理を行う教師データ生成部３４１）と、
を備える教師データベース構築装置。
又は、上記各種の手段をコンピュータに実行させるプログラム、又は、上記手段が実行する処理と同様の方法により教師データベースを生成する方法。
【００７７】
以上のような構成により、正解種別を全て人が入力するよりも、教師データベースが容易になる。
【符号の説明】
【００７８】
１０  撮像部
２０  記憶部
３０  制御部
４０  操作部
５０  表示部
１００  画像検査装置
３１１  教師データ供給部
３１３  ＣＮＮ
３２１  特徴量取得部
３２３  次元削減部
３２５  ランダムフォレスト処理部
３２７  決定木群
３３１  画像処理部
３３３  解析部
３４１  教師データ生成部
３４３  決定木群
【図１】
2018005639.tif 000003
【図２】
2018005639.tif 000004
【図３】
2018005639.tif 000005
【図４】
2018005639.tif 000006
【図５】
2018005639.tif 000007
【図６】
2018005639.tif 000008
【図７】
2018005639.tif 000009
【図８】
2018005639.tif 000010
【図９】
2018005639.tif 000011
【図１０】
2018005639.tif 000012