(57)【要約】【課題】人工知能に関する知識や経験が乏しくても、人工知能を活用して効果的な外観検査を行うための計算モデルを簡単に構築する。【解決手段】複数の初期計算モデルから検査対象の外観検査に利用する計算モデルを構築する際に、１つの初期計算モデルを選択し、選択した初期計算モデルに検査対象を複数の方向から撮影した画像データのセットを入力して出力値を算出し、教師データと出力値との差分が小さくなるように、初期計算モデルの各層の重み付けを順次変更して学習させ、初期計算モデルの学習を所定回数繰り返しても差分が収束しない場合は、初期計算モデルの層構造を順次変更して進化させ、進化させた初期計算モデルを学習させても、差分が予め定めた閾値以下に収束しない場合は他の初期計算モデルを選択し、差分が閾値以下に収束したら、その時の初期計算モデルを計算モデルとして登録する。【選択図】図４
2020112483.tif 000002
【特許請求の範囲】
【請求項１】
検査対象を照明する照明部と、前記検査対象を複数の方向から撮影可能な撮影部と、を備える外観検査システムであって、
前記撮影部から、前記照明部によって照明された前記検査対象を前記複数の方向から撮影した画像データのセットを取得する画像データ取得部と、
畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデルを作成する初期計算モデル作成部と、
前記初期計算モデルから、前記検査対象の外観検査に利用する計算モデルを構築する計算モデル構築部と、を備え、
前記計算モデル構築部は、
前記複数の初期計算モデルの中から１つの初期計算モデルを選択する選択部と、
選択した前記初期計算モデルに前記画像データのセットを入力して出力値を算出し、前記画像データのセットに基づいて予め作成された教師データと算出した前記出力値との差分が小さくなるように、前記初期計算モデルの各層の重み付けを順次変更して、前記初期計算モデルを学習させる学習部と、
前記初期計算モデルの学習を所定回数繰り返しても前記差分が収束しない場合は、前記初期計算モデルの層構造を順次変更して、前記初期計算モデルを進化させる進化部と、を含み、
進化させた前記初期計算モデルを学習させても、前記差分が予め定めた閾値以下に収束しない場合は、前記複数の初期計算モデルの中から他の初期計算モデルを選択させ、前記差分が前記閾値以下に収束したら、その時の前記初期計算モデルを前記計算モデルとして登録する、
ことを特徴とする外観検査システム。
【請求項２】
前記画像データ取得部は、前記撮影部の撮影条件、及び／又は、前記照明部の照明条件を変えて、前記複数の画像データのセットを取得する、
ことを特徴とする請求項１に記載の外観検査システム。
【請求項３】
前記検査対象に対応付けて登録された前記計算モデルを用いて、前記検査対象と同じ種類の製品又は部品の外観を検査する検査部を更に備える、
ことを特徴とする請求項１又は２に記載の外観検査システム。
【請求項４】
検査対象を照明する照明部と、前記検査対象を複数の方向から撮影可能な撮影部と、を備える外観検査システムにおける計算モデル構築方法であって、
前記撮影部から、前記照明部によって照明された前記検査対象を前記複数の方向から撮影した画像データのセットを取得する画像データ取得処理と、
畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデルを作成する初期計算モデル作成処理と、
前記初期計算モデルから、前記検査対象の外観検査に利用する計算モデルを構築する計算モデル構築処理と、を実行し、
前記計算モデル構築処理では、
前記複数の初期計算モデルの中から１つの初期計算モデルを選択する選択処理と、
選択した前記初期計算モデルに前記画像データのセットを入力して出力値を算出し、前記画像データのセットに基づいて予め作成された教師データと算出した前記出力値との差分が小さくなるように、前記初期計算モデルの各層の重み付けを順次変更して、前記初期計算モデルを学習させる学習処理と、
前記初期計算モデルの学習を所定回数繰り返しても前記差分が収束しない場合は、前記初期計算モデルの層構造を順次変更して、前記初期計算モデルを進化させる進化処理と、を実行し、
進化させた前記初期計算モデルを学習させても、前記差分が予め定めた閾値以下に収束しない場合は、前記複数の初期計算モデルの中から他の初期計算モデルを選択し、前記差分が前記閾値以下に収束したら、その時の前記初期計算モデルを前記計算モデルとして登録する、
ことを特徴とする計算モデル構築方法。
【請求項５】
前記画像データ取得処理では、前記撮影部の撮影条件、及び／又は、前記照明部の照明条件を変えて、前記複数の画像データのセットを取得する、
ことを特徴とする請求項４に記載の計算モデル構築方法。
【請求項６】
検査対象を照明する照明部と、前記検査対象を複数の方向から撮影可能な撮影部と、制御部と、を備える外観検査システムで動作する計算モデル構築プログラムであって、
前記制御部に、
前記撮影部から、前記照明部によって照明された前記検査対象を前記複数の方向から撮影した画像データのセットを取得する画像データ取得処理、
畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデルを作成する初期計算モデル作成処理、
前記初期計算モデルから、前記検査対象の外観検査に利用する計算モデルを構築する計算モデル構築処理、を実行させ、
前記計算モデル構築処理では、
前記複数の初期計算モデルの中から１つの初期計算モデルを選択する選択処理、
選択した前記初期計算モデルに前記画像データのセットを入力して出力値を算出し、前記画像データのセットに基づいて予め作成された教師データと算出した前記出力値との差分が小さくなるように、前記初期計算モデルの各層の重み付けを順次変更して、前記初期計算モデルを学習させる学習処理、
前記初期計算モデルの学習を所定回数繰り返しても前記差分が収束しない場合は、前記初期計算モデルの層構造を順次変更して、前記初期計算モデルを進化させる進化処理、を実行させ、
進化させた前記初期計算モデルを学習させても、前記差分が予め定めた閾値以下に収束しない場合は、前記複数の初期計算モデルの中から他の初期計算モデルを選択し、前記差分が前記閾値以下に収束したら、その時の前記初期計算モデルを前記計算モデルとして登録する、
ことを特徴とする計算モデル構築プログラム。
【請求項７】
前記画像データ取得処理では、前記撮影部の撮影条件、及び／又は、前記照明部の照明条件を変えて、前記複数の画像データのセットを取得する、
ことを特徴とする請求項６に記載の計算モデル構築プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外観検査システム、計算モデル構築方法及び計算モデル構築プログラムに関し、特に、製品や部品などの検査対象の外観を検査する外観検査システム、当該外観検査システムを用いて検査対象の外観を検査するための計算モデルを構築する計算モデル構築方法及び計算モデル構築プログラムに関する。
【背景技術】
【０００２】
近年、市場には様々な製品や部品が出回っており、市場での優位性を確保するためには、製品や部品の品質の向上が求められる。このような品質問題への対策は、多くの製造業にとって急務であると言えるが、多種多様な製品や部品に対して一律の方法で品質を検査することはできない。そこで、通常は、人手や時間を十分にかけて目視によって品質の検査を行っているが、このような従来通りの方法では人材確保が難しくなってきている。
【０００３】
一方、製造業における人工知能（ＡＩ）やＩｏＴ（Internet of Things）の活用が加速しており、ノウハウの共有やＩＣＴ（Information and Communication Technology）技術を活用した業務の効率化が進められている。
【０００４】
例えば、規格外の製品や欠陥がある製品を検知する技術に関して、下記特許文献１には、所定の次元数で表された識別対象データが正常データか否かを半教師あり異常検知手法を利用して識別する識別処理装置であって、前記識別対象データを取得するデータ取得手段と、前記識別対象データの特徴を抽出して、前記識別対象データから前記所定の次元数よりも少ない特定の次元数で表される圧縮データを生成する次元圧縮手段と、前記圧縮データの特徴を分析して、前記圧縮データから前記所定の次元数と同じ次元数で表される復元データを生成する次元復元手段と、前記識別対象データと前記復元データのデータ構造に基づいて前記識別対象データと前記復元データとの類似度又は非類似度を算出する類似度算出手段と、所定の閾値に対する前記類似度又は非類似度に基づいて、前記識別対象データが正常データか否かを識別するデータ識別手段と、を備える構成が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−９７７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＡＩのディープラーニングを利用して、製品や部品の外観検査を行うための計算モデルを構築する方法が考えられるが、計算モデルを構築するためには、計算モデルの雛形を作成する必要があり、また、雛形を用いて計算モデルを構築するためには、様々なパラメータを変化させて学習を行う必要がある。
【０００７】
しかしながら、計算モデルの雛形を作成するためには、人工知能の知識や経験が必要であり、雛形を作成できたとしても、雛形から有用な計算モデルを構築するためには様々なパラメータを変化させて学習を行わなければならず、１回あたりの学習と検証に膨大な時間がかかる。
【０００８】
そこで、外観検査の画像処理システムの開発をＳＩベンダーに委託する方法が採用されるが、この方法では、ＳＩベンダー側のＡＩエンジニアの人材不足により、システム構築が長納期、高コストになり、また、要求仕様の変更によるシステム修正が高コストになるといった問題がある。
【０００９】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、人工知能に関する知識や経験が乏しくても、人工知能を活用して効果的な外観検査を行うための計算モデルを簡単に構築することができる外観検査システム、計算モデル構築方法及び計算モデル構築プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一側面は、検査対象を照明する照明部と、前記検査対象を複数の方向から撮影可能な撮影部と、を備える外観検査システムであって、前記撮影部から、前記照明部によって照明された前記検査対象を前記複数の方向から撮影した画像データのセットを取得する画像データ取得部と、畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデルを作成する初期計算モデル作成部と、前記初期計算モデルから、前記検査対象の外観検査に利用する計算モデルを構築する計算モデル構築部と、を備え、前記計算モデル構築部は、前記複数の初期計算モデルの中から１つの初期計算モデルを選択する選択部と、選択した前記初期計算モデルに前記画像データのセットを入力して出力値を算出し、前記画像データのセットに基づいて予め作成された教師データと算出した前記出力値との差分が小さくなるように、前記初期計算モデルの各層の重み付けを順次変更して、前記初期計算モデルを学習させる学習部と、前記初期計算モデルの学習を所定回数繰り返しても前記差分が収束しない場合は、前記初期計算モデルの層構造を順次変更して、前記初期計算モデルを進化させる進化部と、を含み、進化させた前記初期計算モデルを学習させても、前記差分が予め定めた閾値以下に収束しない場合は、前記複数の初期計算モデルの中から他の初期計算モデルを選択させ、前記差分が前記閾値以下に収束したら、その時の前記初期計算モデルを前記計算モデルとして登録することを特徴とする。
【００１１】
本発明の一側面は、検査対象を照明する照明部と、前記検査対象を複数の方向から撮影可能な撮影部と、を備える外観検査システムにおける計算モデル構築方法であって、前記撮影部から、前記照明部によって照明された前記検査対象を前記複数の方向から撮影した画像データのセットを取得する画像データ取得処理と、畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデルを作成する初期計算モデル作成処理と、前記初期計算モデルから、前記検査対象の外観検査に利用する計算モデルを構築する計算モデル構築処理と、を実行し、前記計算モデル構築処理では、前記複数の初期計算モデルの中から１つの初期計算モデルを選択する選択処理と、選択した前記初期計算モデルに前記画像データのセットを入力して出力値を算出し、前記画像データのセットに基づいて予め作成された教師データと算出した前記出力値との差分が小さくなるように、前記初期計算モデルの各層の重み付けを順次変更して、前記初期計算モデルを学習させる学習処理と、前記初期計算モデルの学習を所定回数繰り返しても前記差分が収束しない場合は、前記初期計算モデルの層構造を順次変更して、前記初期計算モデルを進化させる進化処理と、を実行し、進化させた前記初期計算モデルを学習させても、前記差分が予め定めた閾値以下に収束しない場合は、前記複数の初期計算モデルの中から他の初期計算モデルを選択し、前記差分が前記閾値以下に収束したら、その時の前記初期計算モデルを前記計算モデルとして登録することを特徴とする。
【００１２】
本発明の一側面は、検査対象を照明する照明部と、前記検査対象を複数の方向から撮影可能な撮影部と、制御部と、を備える外観検査システムで動作する計算モデル構築プログラムであって、前記制御部に、前記撮影部から、前記照明部によって照明された前記検査対象を前記複数の方向から撮影した画像データのセットを取得する画像データ取得処理、畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデルを作成する初期計算モデル作成処理、前記初期計算モデルから、前記検査対象の外観検査に利用する計算モデルを構築する計算モデル構築処理、を実行させ、前記計算モデル構築処理では、前記複数の初期計算モデルの中から１つの初期計算モデルを選択する選択処理、選択した前記初期計算モデルに前記画像データのセットを入力して出力値を算出し、前記画像データのセットに基づいて予め作成された教師データと算出した前記出力値との差分が小さくなるように、前記初期計算モデルの各層の重み付けを順次変更して、前記初期計算モデルを学習させる学習処理、前記初期計算モデルの学習を所定回数繰り返しても前記差分が収束しない場合は、前記初期計算モデルの層構造を順次変更して、前記初期計算モデルを進化させる進化処理、を実行させ、進化させた前記初期計算モデルを学習させても、前記差分が予め定めた閾値以下に収束しない場合は、前記複数の初期計算モデルの中から他の初期計算モデルを選択し、前記差分が前記閾値以下に収束したら、その時の前記初期計算モデルを前記計算モデルとして登録することを特徴とする。
【発明の効果】
【００１３】
本発明の外観検査システム、計算モデル構築方法及び計算モデル構築プログラムによれば、人工知能に関する知識や経験が乏しくても、人工知能を活用して効果的な外観検査を行うための計算モデルを簡単に構築することができる。
【００１４】
その理由は、検査対象を照明する照明部と、検査対象を複数の方向から撮影可能な撮影部と、を備える外観検査システムにおいて、撮影部から、照明部によって照明された検査対象を複数の方向から撮影した画像データのセットを取得する画像データ取得処理と、畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデルを作成する初期計算モデル作成処理と、初期計算モデルから、検査対象の外観検査に利用する計算モデルを構築する計算モデル構築処理と、を実行し、計算モデル構築処理では、複数の初期計算モデルの中から１つの初期計算モデルを選択する選択処理と、選択した初期計算モデルに画像データのセットを入力して出力値を算出し、画像データのセットに基づいて予め作成された教師データと算出した出力値との差分が小さくなるように、初期計算モデルの各層の重み付けを順次変更して、初期計算モデルを学習させる学習処理と、初期計算モデルの学習を所定回数繰り返しても差分が収束しない場合は、初期計算モデルの層構造を順次変更して、初期計算モデルを進化させる進化処理と、を実行し、進化させた初期計算モデルを学習させても、差分が予め定めた閾値以下に収束しない場合は、複数の初期計算モデルの中から他の初期計算モデルを選択し、差分が閾値以下に収束したら、その時の初期計算モデルを計算モデルとして登録するからである。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施例に係る外観検査システムの構成を示す模式図である。
【図２】本発明の一実施例に係る外観検査システムにおける撮影装置の構造を示す模式図である。
【図３】本発明の一実施例に係る外観検査システムにおける制御装置の構成を示すブロック図である。
【図４】本発明の一実施例に係る外観検査システムの動作を示すフローチャート図である。
【図５】従来の外観検査方法の特徴を説明する図である。
【発明を実施するための形態】
【００１６】
背景技術で示したように、市場の優位性を確保するために製品や部品の品質の向上が必要であり、そのために人手や時間を十分にかけて目視によって品質の検査を行っているが、目視検査の多くは、高度なスキル・ノウハウを有するエンジニアを必要とするため、人手不足や技能の伝承が大きな課題となっている。一方、製造業における人工知能（ＡＩ）やＩｏＴの活用が加速しており、ノウハウの共有やＩＣＴ技術を活用した業務の効率化が進められている。
【００１７】
例えば、外観検査を自動化するための画像処理システムを作成する場合、図５に示すように、認識アルゴリズムを手動で作成する方法（図５（ａ）参照）と、機械学習による認識を利用する方法（図５（ｂ）参照）と、ＡＩディープラーニングによる認識を利用する方法（図５（ｃ）参照）と、が考えられる。
【００１８】
図５（ａ）に示すように、認識アルゴリズムを手動作成する方法では、検査対象を撮影した画像が入力されたら、エンジニアがその画像の特徴を分析し、画像の特徴から認識ターゲットに導ける認識アルゴリズムを設計し、その認識アルゴリズムを実装して評価及びテストを行い、評価結果が好ましくない場合は、画像の特徴を分析し直すといった処理を行う。この認識アルゴリズムを手動作成する手法は、データ指向ではなく、ロバスト性が低く、高度な画像認識が期待できない。
【００１９】
また、図５（ｂ）に示すように、機械学習による認識を利用する方法では、検査対象を撮影した画像が入力されたら、エンジニアがその画像の特徴を分析し、画像の特徴を抽出する部分を開発し、画像の特徴から認識ターゲットに導ける機械学習モデルを設計し、その機械学習モデルを実装して評価及びテストを行い、評価結果が好ましくない場合は、画像の特徴分析及び特徴抽出部分の開発、又は、機械学習モデルの設計をやり直すといった処理を行う。この機械学習による認識を利用する方法は、やはりデータ指向ではなく、ロバスト性が低く、高度な画像認識が期待できない。
【００２０】
一方、図５（ｃ）に示すように、ＡＩディープラーニングによる認識を利用する方法では、検査対象を撮影した画像が入力されたら、エンジニアが画像の特徴から認識ターゲットに導けるディープラーニングモデルを設計し、そのディープラーニングモデルを実装して評価及びテストを行い、評価結果が好ましくない場合は、ディープラーニングモデルの設計をやり直すといった処理を行う。このＡＩディープラーニングによる認識を利用する方法は、完全なデータ指向であり、ロバスト性が高く、高度な画像認識が可能である。
【００２１】
ここで、認識ターゲットに導けるディープラーニングモデルを設計するためには、ディープラーニングモデルの雛形を作成する必要があり、また、雛形を用いてディープラーニングモデルを構築するためには、様々なパラメータを変化させて学習を行う必要がある。
【００２２】
しかしながら、ディープラーニングモデルの雛形を作成するためには、人工知能の知識や経験がある技術者が必要であり、雛形を作成できたとしても、有用なディープラーニングモデルを構築するためには様々なパラメータを変化させて学習を行わなければならず、１回あたりの学習と検証を実施するために膨大な時間がかかる。
【００２３】
このように、ディープラーニングモデルの構築には、人工知能に関する知識や経験が必要であることから、通常はＳＩベンダーに委託する方法が採用されている。しかしながら、ＳＩベンダー側のＡＩエンジニアの人材不足により、システム構築が長納期、高コストになり、また、要求仕様の変更によるシステム修正が高コストになるといった問題が生じ、ＡＩのディープラーニングの活用の妨げになっている。
【００２４】
そこで、本発明の一実施の形態では、人工知能に関する知識や経験が乏しくても、人工知能を活用した効果的な外観検査を行うための計算モデルを簡単に構築できるように、ハードウェアとソフトウェアの両面に特徴を持たせた画像処理システムを提案する。
【００２５】
ハードウェアとして、人間の目でも発見できにくい傷や汚れなどの不良を発見できるようにするために、様々な方向から検査対象を撮影できる複数のカメラを設置する。また、上記の不良は照明の仕方によって見え方が変化することから、複数の照明を移動可能に設置する。また、ソフトウェアとして、人工知能の知識や経験がなくてもディープラーニングモデルを構築できるように、ディープラーニングモデルの雛形を自動的に作成し、その雛形に複数のカメラで検査対象を撮影した画像データのセットを入力して出力値を算出し、その出力値を自動的に評価して雛形を進化させ、出力値がある一定のレベルに達したら、その雛形をディープラーニングモデルに決定する。
【００２６】
具体的には、検査対象を照明する照明部と、検査対象を複数の方向から撮影可能な撮影部と、を備える外観検査システムにおいて、撮影部から、照明部によって照明された検査対象を複数の方向から撮影した画像データのセットを取得する画像データ取得処理と、畳み込みニューラルネットワークを構成する層を任意に組み合わせて、複数の初期計算モデル（計算モデルの雛形）を作成する初期計算モデル作成処理と、初期計算モデルから、検査対象の外観検査に利用する計算モデルを構築する計算モデル構築処理と、を実行し、計算モデル構築処理では、複数の初期計算モデルの中から１つの初期計算モデルを選択する選択処理と、選択した初期計算モデルに画像データのセットを入力して出力値を算出し、画像データのセットに基づいて予め作成された教師データと算出した出力値との差分が小さくなるように、初期計算モデルの各層の重み付けを順次変更して、初期計算モデルを学習させる学習処理と、初期計算モデルの学習を所定回数繰り返しても差分が収束しない場合は、初期計算モデルの層構造を順次変更して、初期計算モデルを進化させる進化処理と、を実行し、進化させた初期計算モデルを学習させても、差分が予め定めた閾値以下に収束しない場合は、複数の初期計算モデルの中から他の初期計算モデルを選択し、差分が閾値以下に収束したら、その時の初期計算モデルを計算モデルとして登録する。
【００２７】
このように、ハードウェアの技術（マルチカメラ＋移動可能なマルチ照明）とソフトウェアの技術（ディープラーニングモデルの構築）とを融合させることにより、ＡＩディープラーニング技術の知識や経験がなくてもＡＩ画像処理システムを簡単に構築して、ディープラーニングモデルの作成からそのディープラーニングモデルを用いた性能評価までを自動化することができ、外観検査における不良の発見力を大幅に向上させることができる。
【実施例】
【００２８】
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る外観検査システム、計算モデル構築方法及び計算モデル構築プログラムについて、図１乃至図４を参照して説明する。図１は、本実施例の外観検査システムの構成を示す模式図であり、図２は、外観検査システムにおける撮影装置の構造を示す模式図、図３は、外観検査システムにおける制御装置の構成を示すブロック図である。また、図４は、本実施例の外観検査システムの動作を示すフローチャート図である。
【００２９】
図１に示すように、本実施例の外観検査システム１０は、製品や部品などの検査対象を撮影する撮影装置２０と、撮影装置２０を制御する制御装置３０と、制御装置３０にディープラーニングのためのプログラムを提供するサーバ４０と、サーバ４０を管理する管理装置５０などで構成される。制御装置３０とサーバ４０とは、イーサネット（登録商標）、トークンリング、ＦＤＤＩ（Fiber-Distributed Data Interface）等の規格により定められる通信ネットワーク１１を介して通信可能に接続されている。また、撮影装置２０と制御装置３０、及び、サーバ４０と管理装置５０は、専用線を介して通信可能に接続されている。
【００３０】
なお、図１では、撮影装置２０と制御装置３０とを別々の装置としているが、制御装置３０は撮影装置２０に組み込まれていてもよい。また、図１では、サーバ４０が通信ネットワーク１１を介して制御装置３０にディープラーニングのためのプログラムを提供する構成としているが、このプログラムは、サーバ４０や管理装置５０上で動作させる構成（すなわち、ＡＳＰ（Application Service Provider）としてサービスを提供する）構成としてもよいし、ＵＳＢ（Universal Serial Bus）メモリやＳＤ（Secure Digital）カード、ＣＤ（Compact Disc）などの記録媒体に記録してユーザに提供する構成としてもよい。また、検査対象は撮影装置２０が撮影可能なサイズの製品や部品であればよく、例えば、スマートフォンやＬＣＤ（Liquid Crystal Display）パネル、カメラモジュール、バッテリー、薬品、食品、自動車部品、金属加工部品などを検査対象とすることができる。以下、図１の構成を前提にして、撮影装置２０と制御装置３０について詳細に説明する。
【００３１】
［撮影装置］
撮影装置２０は、所定のサイズ（好ましくは、Ａ５サイズまでの大きさ）の製品や部品などの検査対象を撮影して画像データを取得する装置であり、図２に示すように、検査対象２１を載置する検査台（ステージ）２２と、検査対象２１を撮影する複数の撮影部（カメラ）２３と、検査対象２１を照明する照明部（ライト）２４と、それらを固定する筐体２５などで構成される。
【００３２】
上記撮影部２３は、ＣＣＤ（Charge Coupled Devices）カメラやＣＭＯＳ（Complementary Metal Oxide Semiconductor）カメラなどを用いることができる。また、上記照明部２４は、ＬＥＤ（Light Emitting Diode）ライトなどを用いることができ、Ｒ（Red）、Ｇ（Green）、Ｂ（Blue）、Ｗ（White）などの複数色の光を任意に組み合わせて任意の照度で照明できる構成とすることができる。
【００３３】
ここで、画像を用いた外観検査においては、画像内に検査対象２１が映っていることが必要条件である。また、傷や汚れなどの不良部分と正常部分とで画像上の相違が全く無い場合には、いかなる高度な画像処理を施しても不良箇所の検出が不可能なことは自明である。これらの観点から、液晶画面、ウエハ、金属表面などの目視検査においても、一方向だけでなく多方向から検査対象を観察し、不良の有無を判断している。
【００３４】
そこで、本実施例では、この目視検査の方法を参考にして、検査対象２１を複数の方向から撮影することができるように、複数（図２では５つ）の撮影部２３を設けている。また、傷や汚れなどの不良をより鮮明に撮影できるように、複数（図２では２つ）の照明部２４を設け、各々の照明部２４を上下移動可能な構造（例えば、上下方向に延びる筐体２５に沿ってスライドする構造）にしている。これらのハードウェアの特徴により、一方向からの撮影では見えない不良も発見することでき、また、一方向からの撮影でも見える不良はより鮮明に見えるようにすることができる。
【００３５】
なお、撮影部２３や照明部２４の数や配置は図２の構成に限定されず、撮影部２３は少なくとも２つの方向から検査対象２１を撮影できる構成であればよく、例えば、検査台２２を取り囲むように複数台のカメラを配置してもよいし、１台のカメラが検査台２２の周囲を移動（若しくは検査台２２が回転）し、複数の位置から検査対象２１を撮影するようにしてもよい。また、複数の撮影部２３は同じ条件で検査対象２１を撮影してもよいし、倍率や解像度などの撮影条件を変えて検査対象２１を撮影してもよいし、照度や色（波長）、照明位置などの照明条件を変えて検査対象２１を撮影してもよい。
【００３６】
［制御装置］
制御装置３０は、撮影装置２０を制御するコンピュータ装置であり、図３（ａ）に示すように、制御部３１、記憶部３５、通信Ｉ／Ｆ部３６、撮影制御部３７、検査部３８、表示操作部３９などで構成される。
【００３７】
制御部３１は、マイクロプロセッサ等により構成されるＣＰＵ（Central Processing Unit）３２とＲＯＭ（Read Only Memory）３３やＲＡＭ（Random Access Memory）３４などのメモリとで構成され、ＣＰＵ３２は、ＲＯＭ３３に記憶した制御プログラム（後述する計算モデル構築プログラムを含む。）をＲＡＭ３４に展開して実行することにより、制御装置３０全体の動作を制御する。なお、本実施例では、ディープラーニングモデルの構築を行うことから、制御部３１は、マルチＣＰＵとマルチＧＰＵ（Graphics Processing Unit）とを備えることが好ましい。
【００３８】
記憶部３５は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などで構成され、各種データや各種プログラムを記憶する。本実施例では、特に、撮影装置２０から取得した画像データやサーバ４０からダウンロードした計算モデル構築プログラムなどを記憶する。
【００３９】
通信Ｉ／Ｆ部３６は、ＮＩＣ（Network Interface Card）やモデムなどで構成され、撮影装置２０から画像データを受信したり、サーバ４０から計算モデル構築プログラムを受信したり、撮影装置２０に制御信号を送信したりする。
【００４０】
撮影制御部３７は、撮影装置２０を制御する制御信号を生成し、撮影部２３に所定の撮影条件で検査対象２１の撮影を指示したり、照明部２４に所定の照明条件で検査対象２１の照明を指示したりする。
【００４１】
検査部３８は、後述する計算モデル構築部によって検査対象２１に対応付けて登録された計算モデルを用いて、当該検査対象２１と同じ種類の製品又は部品（例えば、型番や品名が同じ製品又は部品）の外観を検査する。
【００４２】
表示操作部３９は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）ディスプレイなどの表示部上に、電極が格子状に配列されたタッチセンサなどの操作部を備えるタッチパネルなどであり、各種画面（例えば、撮影装置２０の撮影部２３が撮影した検査対象２１の画像を表示する画面、検査部３８が検出した不良を表示する画面など）を表示すると共に、各種指示（例えば、撮影部２３の撮影条件や照明部２４の照明条件の変更操作など）を受け付ける。
【００４３】
また、上記制御部３１は、検査対象２１の外観検査のための計算モデルを構築する機能を有する。具体的には、上記制御部３１は、図３（ｂ）に示すように、画像データ取得部３１ａ、初期計算モデル作成部３１ｂ、計算モデル構築部３１ｃなどとして機能する。
【００４４】
画像データ取得部３１ａは、撮影装置２０から、所定の照明条件及び撮影条件で検査対象２１を複数の方向から撮影した画像データのセットを取得する。なお、取得する画像データの数は、撮影方向の数と同じにしても（すなわち、各々の撮影部２３から１つの画像データを取得しても）よいし、撮影方向の数よりも多くしても（すなわち、少なくとも１つの撮影部２３から複数の画像データを取得しても）よい。また、複数の撮影部２３の全てを用いて検査対象２１を撮影してもよいし、複数の撮影部２３の中から選択された２以上の撮影部２３を用いて検査対象２１を撮影しても（すなわち、少なくとも１つの撮影部２３を使用しなくても）よい。
【００４５】
初期計算モデル作成部３１ｂは、畳み込みニューラルネットワークを構成する畳み込み層やプーリング層、正規化層などの層を任意に組み合わせて、複数の初期計算モデル（計算モデルの雛形）を作成する。
【００４６】
計算モデル構築部３１ｃは、初期計算モデルから、検査対象の外観検査に利用する計算モデルを構築する。この計算モデル構築部３１ｃは、選択部３１ｄ、学習部３１ｅ、進化部３１ｆを含む。
【００４７】
選択部３１ｄは、初期計算モデル作成部３１ｂが作成した複数の初期計算モデルの中から１つの初期計算モデルを選択する。また、選択部３１ｄは、計算モデル構築部３１ｃの指示に従って、初期計算モデルを選択し直す。その際、複数の初期計算モデルの中からランダムに選択しても良いし、前回選択した初期計算モデルの学習過程を考慮して選択しても良い。
【００４８】
学習部３１ｅは、選択部３１ｄが選択した初期計算モデルに画像データのセットを入力して出力値を算出し、画像データのセットに基づいて予め作成された教師データと算出した出力値との差分が小さくなるように、初期計算モデルの各層の重み付けを順次変更して、初期学習モデルを学習させる。
【００４９】
進化部３１ｆは、初期計算モデルの学習を所定回数繰り返しても上記差分が収束しない場合は、初期計算モデルの層構造を順次変更して、初期計算モデルを進化させる。例えば、畳み込みニューラルネットワークの層を追加／削除したり、層の順番を入れ替えたり、所定の層の繰り返し回数を変更したりして、初期計算モデルを進化させる。
【００５０】
そして、計算モデル構築部３１ｃは、進化させた初期計算モデルを学習させても、上記差分が予め定めた閾値以下に収束しない場合は、複数の初期計算モデルの中から他の初期計算モデルを選択させ、差分が閾値以下に収束したら、その時の初期計算モデルを検査対象２１の外観検査に利用する計算モデルとして登録する。上記の所定回数や閾値は、検査対象２１の外観構造や外観検査の精度などに応じて適宜設定することができる。
【００５１】
なお、画像データ取得部３１ａ、初期計算モデル作成部３１ｂ、計算モデル構築部３１ｃ（選択部３１ｄ、学習部３１ｅ、進化部３１ｆ）はハードウェアとして構成してもよいし、制御部３１を画像データ取得部３１ａ、初期計算モデル作成部３１ｂ、計算モデル構築部３１ｃ（選択部３１ｄ、学習部３１ｅ、進化部３１ｆ）、必要に応じて検査部３８として機能させる計算モデル構築プログラムとして構成し、当該計算モデル構築プログラムをＣＰＵ３２に実行させるようにしてもよい。
【００５２】
次に、本実施例の計算モデル構築方法について説明する。まず、畳み込みニューラルネットワークについて説明する。
【００５３】
畳み込みニューラルネットワーク（ＣＮＮ：Convolutional Neural Network）は、畳み込み層やプーリング層、正規化層などが積層されて構成される。この畳み込みニューラルネットワークでは、手作業による特徴抽出は必要なく、画像分類に使う特徴を探し出す必要もなく、畳み込みニューラルネットワークが画像から直接、特徴抽出を行う。また、関連する特徴は事前に学習する必要はなく、大量の画像データにより学習を通して学び取ることができる。
【００５４】
そこで、本実施例では、このような特性を有する畳み込みニューラルネットワークを利用して、製品や部品などの検査対象における傷や汚れなどの不良を検出するための計算モデルを構築する。具体的には、画像データの量、検査対象間の統計的な類似性及び目標（分類、場所特定、形状特定）などの項目とディープラーニングの計算モデルの雛形集合間の知識ベースを構築し、ルールベースの推論によって、ディープラーニングの計算モデルの雛形の候補を絞る。また、複数の計算モデルの雛形に対して同時に学習／進化と検証を実施し、かつ、計算モデル間の共通部分（サブニューラルネットワーク）の学習済係数を再利用することにより、探索時間を短縮する。また、将来性がなさそうな計算モデルを検知し、その計算モデルの学習を早い段階で打ち切るアルゴリズムを利用することにより、学習／進化と検証トライの時間を短くする。
【００５５】
以下、図４を参照して、本実施例の計算モデル構築方法について、具体的に説明する。制御装置３０のＣＰＵ３２は、ＲＯＭ３３に記憶した計算モデル構築プログラムをＲＡＭ３４に展開して実行することにより、図４のフローチャート図に示す各ステップの処理を実行する。
【００５６】
まず、制御部３１（画像データ取得部３１ａ）は、撮影装置２０から、検査対象２１を複数の方向から撮影した画像データのセットを取得する（Ｓ１００）。その際、画像データ取得部３１ａは、撮影部２３の撮影条件、及び／又は、照明部２４の照明条件を変えて、複数の画像データのセットを取得してもよい。
【００５７】
次に、オペレータは、上記ステップで取得した画像データのセットに基づいて教師データを作成する（Ｓ１１０）。この教師データは、例えば、傷や汚れの有無、数、サイズ、場所などを示すデータである。
【００５８】
次に、制御部３１（初期計算モデル作成部３１ｂ）は、畳み込みニューラルネットワークの層を任意に組み合わせて、複数の初期計算モデルを作成する（Ｓ１２０）。
【００５９】
次に、制御部３１（計算モデル構築部３１ｃ（選択部３１ｄ））は、複数の初期計算モデルの中から１つの初期計算モデルを選択する（Ｓ１３０）。
【００６０】
次に、制御部３１（計算モデル構築部３１ｃ（学習部３１ｅ））は、選択した初期計算モデルに画像データのセットを入力して出力値を算出し（Ｓ１４０）、Ｓ１１０で作成した教師データとＳ１４０で算出した出力値との差分が小さくなるように、初期計算モデルの各層の重み付けを順次変更して、初期計算モデルを学習させる（Ｓ１５０）。そして、所定回数学習を繰り返す（Ｓ１６０のＮｏ）。
【００６１】
次に、制御部３１（計算モデル構築部３１ｃ（進化部３１ｆ））は、差分が収束したかを判断し（Ｓ１７０）、初期計算モデルの学習を所定回数繰り返しても差分が収束しない場合は（Ｓ１７０のＮｏ）、初期計算モデルの層構造を順次変更して、初期計算モデルを進化させ（Ｓ１８０）、Ｓ１４０に戻って、学習部３１ｅは、進化させた初期計算モデルを学習させる。
【００６２】
差分が収束した場合は（Ｓ１７０のＹｅｓ）、制御部３１（計算モデル構築部３１ｃ）は、差分が予め定めた閾値以下に収束したかを判断し（Ｓ１９０）、差分が閾値以下に収束しない場合は（Ｓ１９０のＮｏ）、Ｓ１３０に戻って、選択部３１ｄは、複数の初期計算モデルの中から他の初期計算モデルを選択し、学習部３１ｅ／進化部３１ｆは、その初期計算モデルを学習／進化させる。
【００６３】
そして、教師データと出力値との差分が閾値以下に収束したら（Ｓ１９０のＹｅｓ）、制御部３１（計算モデル構築部３１ｃ）は、その時の初期計算モデルを検査対象２１の外観検査に適した計算モデルとして登録する（Ｓ２００）。
【００６４】
その後、検査部３８は、検査対象２１に対応付けて登録された計算モデルに、検査対象２１と同じ種類の製品又は部品を撮影した画像データを入力して出力値を算出し、その出力値に基づいて検査対象２１に傷や汚れなどの不良があるかを検査する。
【００６５】
このように、撮影装置２０から、検査対象２１を複数の方向から撮影した画像データのセットを取得し、畳み込みニューラルネットワークの層を任意に組み合わせて、複数の初期計算モデルを作成し、複数の初期計算モデルの中から１つの初期計算モデルを選択し、選択した初期計算モデルに画像データのセットを入力して出力値を算出し、画像データのセットに基づいて予め作成された教師データと算出した出力値との差分が小さくなるように、初期計算モデルの各層の重み付けを順次変更して、初期計算モデルを学習させ、初期計算モデルの学習を所定回数繰り返しても差分が収束しない場合は、初期計算モデルの層構造を順次変更して、初期計算モデルを進化させ、進化させた初期計算モデルを学習させても、差分が予め定めた閾値以下に収束しない場合は、複数の初期計算モデルの中から他の初期計算モデルを選択させ、差分が閾値以下に収束したら、その時の初期計算モデルを検査対象２１の外観検査に利用する計算モデルとして登録することにより、人工知能に関する知識や経験が乏しくても、人工知能を活用した効果的な外観検査を行うための計算モデルを簡単に構築することができる。
【００６６】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。
【００６７】
例えば、上記実施例では、検査対象の傷や汚れなどの不良を検出するための計算モデルを構築する場合について説明したが、検査対象を撮影した画像データから判断できる任意の処理（例えば、平面度の判定や部品の実装状態の判定など）を行う場合に対して、本発明の計算モデル構築方法を同様に適用することができる。
【産業上の利用可能性】
【００６８】
本発明は、製品や部品などの検査対象の外観を検査する外観検査システム、当該外観検査システムを用いて検査対象の外観を検査するための計算モデルを構築する計算モデル構築方法、計算モデル構築プログラム及び当該外観検査プログラムを記録した記録媒体に利用可能である。
【符号の説明】
【００６９】
１０  外観検査システム
１１  通信ネットワーク
２０  撮影装置
２１  検査対象
２２  検査台（ステージ）
２３  撮影部（カメラ）
２４  照明部（ライト）
２５  筐体
３０  制御装置
３１  制御部
３１ａ  画像データ取得部
３１ｂ  初期計算モデル作成部
３１ｃ  計算モデル構築部
３１ｄ  選択部
３１ｅ  学習部
３１ｆ  進化部
３２  ＣＰＵ
３３  ＲＯＭ
３４  ＲＡＭ
３５  記憶部
３６  通信Ｉ／Ｆ部
３７  撮影制御部
３８  検査部
３９  表示操作部
４０  サーバ
５０  管理装置
【図１】
2020112483.tif 000003
【図２】
2020112483.tif 000004
【図３】
2020112483.tif 000005
【図４】
2020112483.tif 000006
【図５】
2020112483.tif 000007