(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128940
(43)【公開日】2023-09-14
(54)【発明の名称】外観分析システム、外観分析方法、及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230907BHJP
G06V 10/82 20220101ALI20230907BHJP
【FI】
G06T7/00 350B
G06T7/00 610C
G06V10/82
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022033634
(22)【出願日】2022-03-04
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000198
【氏名又は名称】弁理士法人湘洋特許事務所
(72)【発明者】
【氏名】宮本 敦
(72)【発明者】
【氏名】大崎 真由香
(72)【発明者】
【氏名】近藤 直明
(72)【発明者】
【氏名】伊藤 晟
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA03
5L096CA02
5L096CA24
5L096DA02
5L096EA39
5L096FA19
5L096GA30
5L096HA11
5L096KA04
(57)【要約】
【課題】機械学習を活用した外観分析において効率的に学習を行う技術の提供を目的とする。
【解決手段】少なくとも1つのプロセッサと、メモリリソースとを備える外観分析システムであって、前記プロセッサは、*物品の外観を示す複数の学習用画像を含む学習データセットを取得する*分割モデルを用いて、前記学習用画像を複数の注目領域に分割する*前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する*前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサと、メモリリソースとを備える外観分析システムであって、
前記プロセッサは、
*物品の外観を示す複数の学習用画像を含む学習データセットを取得する
*分割モデルを用いて、前記学習用画像を複数の注目領域に分割する
*前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する
*前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う
外観分析システム。
【請求項2】
請求項1に記載の外観分析システムであって、
前記学習データセットは、前記複数の学習用画像に対する正解評価値を含むものであり、
前記プロセッサは、
*前記評価結果と前記正解評価値とを用いて得られる検査正解率を用いて前記分割モデルの学習を行う
外観分析システム。
【請求項3】
請求項2に記載の外観分析システムであって、
前記プロセッサは、
*前記学習用画像を構成する前記注目領域ごとの前記評価結果を統合した推定評価値と前記正解評価値とを用いて、前記学習用画像の前記検査正解率を算出する
外観分析システム。
【請求項4】
請求項1に記載の外観分析システムであって、
前記プロセッサは、
*前記複数の学習用画像のうちの1単位の前記学習用画像を分割して得られる前記注目領域に対する前記評価結果を出力する
*前記1単位の学習用画像について決定される前記値を用いて前記分割モデルの学習を行う
*学習した前記分割モデルを用いて、他の前記1単位の前記学習用画像を分割する
外観分析システム。
【請求項5】
請求項1に記載の外観分析システムであって、
前記プロセッサは、
*物品の外観を示す検査用画像を取得する
*学習した前記分割モデルを用いて前記検査用画像を分割する
*分割して得られた前記注目領域毎に、前記評価モデルによる評価結果を出力する
*前記評価結果を用いて前記検査用画像の検査結果を出力する
外観分析システム。
【請求項6】
請求項1に記載の外観分析システムであって、
前記プロセッサは、
*前記学習用画像を分割して複数の局所領域を得る
*前記局所領域と前記注目領域との関係を示す情報と、前記局所領域への評価を用いて前記注目領域の評価結果を出力する
外観分析システム。
【請求項7】
請求項6に記載の外観分析システムであって、
前記プロセッサは、
*前記局所領域ごとに各注目領域への帰属度を推定する
*前記局所領域への評価に前記帰属度に基づく重みづけを行うことにより前記注目領域の評価結果を出力する
外観分析システム。
【請求項8】
請求項1に記載の外観分析システムであって、
前記プロセッサは、
*所定の複数の前記注目領域に関する分割条件の指定を受け付ける
*指定された分割条件を満たすよう前記学習用画像を分割する
外観分析システム。
【請求項9】
請求項1に記載の外観分析システムであって、
前記プロセッサは、
*前記物品の設計情報を取得する
*前記設計情報と前記学習用画像との対応関係を用いて前記学習用画像を分割する
外観分析システム。
【請求項10】
外観分析システムによる外観分析方法であって、
物品の外観を示す複数の学習用画像を含む学習データセットを取得する学習データセット取得ステップと、
分割モデルを用いて、前記学習用画像を複数の注目領域に分割する学習用画像分割ステップと、
前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する学習用画像評価ステップと、
前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う学習ステップと、を含む、外観分析方法。
【請求項11】
請求項10に記載の外観分析方法であって、
前記学習データセットは、前記複数の学習用画像ごとに正解評価値を含むものであり、
前記学習ステップでは、前記評価結果と前記正解評価値とを用いて得られる検査正解率を用いて前記分割モデルの学習を行う、外観分析方法。
【請求項12】
請求項11に記載の外観分析方法であって、
前記学習ステップでは、前記学習用画像を構成する前記注目領域ごとの前記評価結果を統合した推定評価値と前記正解評価値とを用いて、前記学習用画像の前記検査正解率を算出する、外観分析方法。
【請求項13】
請求項10に記載の外観分析方法であって、
前記学習用画像評価ステップでは、前記複数の学習用画像のうちの1単位の前記学習用画像を分割して得られる前記注目領域に対する前記評価結果を出力し、
前記学習ステップでは、前記1単位の学習用画像について決定される前記値を用いて前記分割モデルの学習を行い、
前記学習用画像分割ステップでは、学習した前記分割モデルを用いて、他の前記1単位の前記学習用画像を分割する、外観分析方法。
【請求項14】
請求項10に記載の外観分析方法であって、
物品の外観を示す検査用画像を取得する検査用画像取得ステップと、
前記学習ステップにおいて学習した前記分割モデルを用いて前記検査用画像を分割する検査用画像分割ステップと、
前記検査用画像分割ステップにおいて得られた前記注目領域毎に、前記評価モデルによる評価結果を出力する検査用画像評価ステップと、
前記評価結果を用いて前記検査用画像の検査結果を出力する検査結果出力ステップと、を含む、外観分析方法。
【請求項15】
請求項10に記載の外観分析方法であって、
前記学習用画像を分割して複数の局所領域を得る局所領域取得ステップを含み、
前記学習用画像評価ステップでは、前記局所領域と前記注目領域との関係を示す情報と、前記局所領域への評価を用いて前記注目領域の評価結果を出力する、外観分析方法。
【請求項16】
請求項15に記載の外観分析方法であって、
前記局所領域ごとに各注目領域への帰属度を推定する帰属度推定ステップを含み、
前記学習用画像評価ステップでは、前記局所領域への評価に前記帰属度に基づく重みづけを行うことにより前記注目領域の評価結果を出力する、外観分析方法。
【請求項17】
請求項10に記載の外観分析方法であって、
所定の複数の前記注目領域に関する分割条件の指定を受け付ける分割指定ステップを含み、
前記学習用画像分割ステップでは、前記分割指定ステップで指定された分割条件を満たすよう前記学習用画像を分割する、外観分析方法。
【請求項18】
請求項10に記載の外観分析方法であって、
前記物品の設計情報を取得する設計情報取得ステップを含み、
前記学習用画像分割ステップでは、前記設計情報と前記学習用画像との対応関係を用いて前記学習用画像を分割する、外観分析方法。
【請求項19】
請求項10から18のいずれか一項に記載の外観分析方法をプロセッサに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外観分析システム、外観分析方法、及びプログラムに関する。
【背景技術】
【0002】
工業製品の製造において、検査用画像に基づいて、形状不良、組立不良、異物の付着等の判定を行うことにより、物品の外観を評価する外観検査が広く行われている。
【0003】
特許文献1に開示された外観検査装置に関し、段落[0054]において、「外観検査装置20の形状計測部21により、ワーク200の溶接箇所201の外観を検査する(ステップS1)。」と記載され、段落[0059]において、「ステップS5を実行することで、取得された画像データにおいて、形状不良の有無や形状不良の種類が特定される。この結果に基づいて、学習データセットの見直しや再作成あるいは新規作成が行われ(ステップS6)、ステップS6で作成された学習データセットを用いて判定モデルの再学習が実行される(ステップS7)。」と記載され、段落[0061]において、「
図5に示すルーティーンを必要に応じて、適切な回数や頻度で行うことにより、溶接箇所の形状の良否判定を行うための判定モデルの精度を向上して、溶接箇所の形状の良否判定に関する重要な形状不良の有無及び種類の判定精度を向上できる。」と記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開2020/129617号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来、外観検査の多くは検査員の目視により行われていたが、検査員の負荷の増大や検査結果のばらつきが生じることから、機械学習に基づく評価エンジンを活用して外観検査を行う手法が用いられる。多様な構造を有する物品の外観検査において、単一の評価エンジンを用いる場合、高い検査性能を得るために膨大な学習が必要となり、非効率である。
【0006】
本発明は、上記の点に鑑みてなされたものであって、機械学習を活用した外観分析において効率的に学習を行う技術の提供を目的とする。
【課題を解決するための手段】
【0007】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。
【0008】
上記課題を解決するため、本発明の外観分析システムは、少なくとも1つのプロセッサと、メモリリソースとを備える外観分析システムであって、前記プロセッサは、*物品の外観を示す複数の学習用画像を含む学習データセットを取得する*分割モデルを用いて、前記学習用画像を複数の注目領域に分割する*前記注目領域を評価する評価モデルを前記注目領域毎に生成し、各々の前記評価モデルによる前記注目領域の評価結果を出力する*前記評価結果と前記学習データセットとを用いて決定される値を用いて前記分割モデルの学習を行う。
【発明の効果】
【0009】
本発明によれば、機械学習を活用した外観分析において効率的に学習を行う技術を提供することができる。
【0010】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】外観分析システム全体の処理シーケンスの一例を示す図である。
【
図2】外観分析システムの学習フェーズでの処理方法の一例を示す図である。
【
図3】外観分析システムの検査フェーズでの処理方法の一例を示す図である。
【
図4】第1の変形例における外観分析システムの学習フェーズでの処理方法の一例を示す図である。
【
図5】第1の変形例における外観分析システムの検査フェーズでの処理方法の一例を示す図である。
【
図6】第2の変形例における外観分析システムの学習フェーズでの処理方法の一例を示す図である。
【
図7】第2の変形例における外観分析システムの検査フェーズでの処理方法の一例を示す図である。
【
図8】第3の変形例における外観分析システムの学習フェーズでの処理方法の一例を示す図である。
【
図9】分割条件の指定の一例を説明するための図である。
【
図10】第4の変形例における外観分析システムの学習フェーズでの処理方法の一例を示す図である。
【
図11】設計データを用いた分割方法の一例を説明するための図である。
【
図12】第4の変形例における外観分析システムの検査フェーズでの処理方法の一例を示す図である。
【
図13】外観分析システムのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0012】
機械、金属、化学、食品、繊維等を含む多くの工業製品においては、検査用画像を基に、形状不良、組立不良、異物の付着、内部の欠損や致命度、表面の傷や斑、汚れ等、様々な出来栄えを評価する外観検査が広く行われている。従来、これらの外観検査の多くは検査員の目視判断により行われてきた。一方、大量生産や品質向上への要求増大に伴い、検査コストならびに検査員の負荷が増大している。
【0013】
また、人間の感覚に基づく官能検査では特に高い経験やスキルが求められる。検査員によって評価基準が異なったり、検査の度に結果が異なったりといった属人性や再現性も課題となる。このような検査のコスト、スキル、属人性等の課題に対し、検査の自動化が強く求められている。
【0014】
近年、Convolutional Neural Network(CNN)に代表される深層ネットワークモデルの提案により、機械学習の性能は飛躍的に向上した。機械学習に基づく評価エンジンには様々な手法が提案されているが、単一の評価エンジンではなく、複数の評価エンジンを用いて判定を行うことにより判定性能を向上させる、いわゆる「アンサンブル学習」が知られている。
【0015】
アンサンブル学習にはいくつかの方法がある。例えば、同一の検査対象物を複数の評価エンジンを用いて評価し、その評価結果の平均値や多数決をとる並列的な処理や、検査対象物を第一の評価エンジンを用いて評価し、うまく評価できなかった場合、第二の評価エンジンを用いて評価を行う直列的な処理を行うことができる。
【0016】
評価エンジンの学習においては、学習用の検査対象物の画像(学習用画像)を入力して、評価エンジンから出力される推定評価値と検査員により教示された正解評価値との差分が小さくなるように評価エンジンの内部パラメータ(ネットワークの重みやバイアス等)を更新する。
【0017】
内部パラメータを更新するタイミングとしては、全ての学習用画像をまとめて学習するのではなく、学習用画像をいくつかのミニバッチと呼ばれる集合に分割し、ミニバッチ毎に内部パラメータの更新を行うことが可能である。これはミニバッチ学習と呼ばれ、全てのミニバッチが学習された時点で、全ての学習用画像が学習に用いられたことになる。この全てのミニバッチを1回学習することを1エポックと呼び、エポックを何回も繰り返すことで、内部パラメータを最適化していく。エポック毎にミニバッチに含まれる学習用画像をシャッフルすることもできる。
【0018】
多様な構造を有する工業製品等の検査対象物に対し、機械学習を活用した外観検査を行う場合、検査対象物の構造や見た目が多様であり、発生する欠陥種も多様であることから、高い検査性能が得られない場合がある。
【0019】
これに対し、多くのパターンバリエーションを判定可能な、自由度の高い単一の評価エンジンを用いることで、外観検査を行う手法が想定される。ここで、自由度の高い評価エンジンとは、例えば層数の多い深層ネットワークモデルのように、学習により決定すべき内部パラメータが多い評価エンジンのことである。
【0020】
この場合、多くの内部パラメータを適切に決定するには膨大な学習用画像が必要となるが、現実問題として、製造ライン等において多くの学習用画像を事前に収集することは困難な場合がある。本実施形態では、学習負荷の小さい複数の評価エンジンを用いることにより、多様な構造を有する工業製品等に対しても、精度の高い検査を行うことができる。
【0021】
<外観分析システム1の概要>
以下、図面に基づいて本発明の実施形態の例を説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0022】
図1は、外観分析システム1全体の処理シーケンスの一例を示す図である。外観分析システム1は、学習フェーズと、検査フェーズと、を実行する。学習フェーズは、学習用画像を用いた検査エンジンの学習を行うフェーズであり、検査フェーズは、学習フェーズで学習した検査エンジンを用いて、検査用画像の評価を行うフェーズである。
【0023】
まず、事前準備として、外観分析システム1は、検査対象物の画像を取得する(ステップS0)。画像は、物品の外観を示すものであり、CCD(Charge Coupled Device)カメラ、光学顕微鏡、荷電粒子顕微鏡、超音波検査装置、X線検査装置、等の撮像装置で検査対象物の表面あるいは内部をデジタル映像として撮像することで取得される。
【0024】
なお、外観分析システム1は、図示しない他のシステムで撮像した画像を受信して、外観分析システム1が有する後述の記憶資源102に格納することにより、検査対象物の画像を取得してもよい。物品の画像は、学習フェーズでは学習用画像として使用され、検査フェーズでは検査用画像として使用される。
【0025】
学習フェーズでは、次に、各学習用画像に正解評価値を付与する(ステップS1)。具体的には、外観分析システム1は、所定の評価基準を用いて決定される正解評価値を各学習用画像に付与する。なお、評価値とは、検査対象物の形状不良、組立不良、異物の付着、対処物内部の欠損や致命度、表面の傷や斑、汚れ等、様々な出来栄えを評価する指標であって、評価手法は限定されない。例えば、不良の致命度や表面の状態を数値化して評価値としてもよいし、発生した不良の種類をクラス分けしたラベルを評価値としてもよい。
【0026】
一例として、外観分析システム1は、ある評価基準に対し、検査者の目視判断による入力操作や他の検査装置・手段で解析された数値等を基に正解評価値を決定し、各学習用画像に関連付けて記憶する。なお、本実施形態における外観分析システム1は、予め定められた数の学習用画像毎に検査エンジンの学習即ち内部パラメータの更新を行うことができる。そのため、正解評価値は、学習用画像1単位につき1つ付与される。一例として、正解評価値は、ミニバッチ毎に付与される。その場合、1単位はミニバッチを構成する複数の学習用画像であって、検査エンジンはミニバッチ毎に学習を行う。
【0027】
ステップS0で取得された学習用画像と、ステップS1で付与された正解評価値とは、学習データセットとして使用される。
【0028】
次に、外観分析システム1は、検査エンジンの学習を実行する(ステップS2)。検査エンジンとは、検査用画像を入力すると推定評価値を出力する推定器である。本実施形態の検査エンジンは、分割モデルとしての画像分割エンジンEcと、評価モデルとしての評価エンジン{Ed_i}とを有し、それぞれが学習により最適化される。
【0029】
画像分割エンジンEcや評価エンジン{Ed_i}は、既存の様々な機械学習型のエンジンを用いることができるが、例えばConvolutional Neural Network(CNN)に代表される深層ニューラルネットワークや、Support Vector Machine(SVM)/Support Vector Regression(SVR)、k-nearest neighbor(k-NN)等を用いることができる。これらの検査エンジンは、領域セグメンテーションや分類問題、回帰問題を扱うことができる。
【0030】
本ステップにおいて、外観分析システム1は、ステップS0で取得した学習用画像を入力した際、ステップS1で付与された正解評価値に近い推定評価値が出力されるように、検査エンジン(画像分割エンジンEc及び評価エンジン{Ed_i})の内部パラメータを最適化する。なお、ニューラルネットワークの場合、内部パラメータには、ネットワーク構造、活性化関数、学習率や学習の終了条件等の「ハイパーパラメータ」や、ネットワークのノード間の重み(結合係数)やバイアス等の「モデルパラメータ」が含まれる。
【0031】
画像分割エンジンEcや評価エンジン{Ed_i}には、ルールベース型のエンジンを用いることもできる。この場合、内部パラメータは、各種画像処理のフィルタ係数、判定しきい値等の画像処理パラメータである。付言すれば、画像分割エンジンEcや評価エンジン{Ed_i}は、機械学習型のエンジンとルールベース型のエンジンを併用して用いてもよい。
【0032】
本ステップにおける学習の結果得られた、画像分割エンジンEcの内部パラメータと、評価エンジン{Ed_i}の内部パラメータは、検査フェーズで使用される。
【0033】
検査フェーズでは、検査エンジンによる自動検査を実行する(ステップS3)。外観分析システム1は、ステップS0で取得された検査用画像を対象とした検査を実行する。具体的には、外観分析システム1は、学習して得られた画像分割エンジンEcの内部パラメータ及び評価エンジン{Ed_i}の内部パラメータを、画像分割エンジンEcと評価エンジン{Ed_i}とにそれぞれ入力する。
【0034】
外観分析システム1は、画像分割エンジンEcを用いて検査用画像を注目領域に分割する。外観分析システム1は、評価エンジン{Ed_i}を用いて分割された注目領域を評価することにより、検査用画像に対する推定評価値を出力する。なお、画像分割エンジンEcと評価エンジン{Ed_i}の処理については、後に詳述する。必要に応じて、検査エンジンにより出力された検査結果を、検査員が確認してもよい。
【0035】
<学習フェーズでの処理方法>
次に、学習フェーズにおける外観分析システム1の処理について説明する。
図2は、外観分析システム1の学習フェーズでの処理方法の一例を示す図である。まず、外観分析システム1は、学習用画像群2を取得する(ステップS21)。具体的には、外観分析システム1は、
図1のステップS0に記載するように、検査対象物について撮影された複数の学習用画像である学習用画像群2を取得する。外観分析システム1は、学習用画像群2を1単位の学習用画像21ごとに分割する。
【0036】
また、外観分析システム1は、1単位の学習用画像21ごとに、正解評価値を付与する。正解評価値の付与は、
図1のステップS1で行われる処理と同様である。学習用画像群2と正解評価値は、学習データセットとして取り扱われる。外観分析システム1は、1単位の学習用画像21と正解評価値とを画像分割エンジンEcに引き渡す。以下、1単位の学習用画像21として、1つの学習用画像21が画像分割エンジンEcに入力される例を用いて説明する。なお、先述するように、1単位の学習用画像21は本例に限定されるものではない。
【0037】
なお、外観分析システム1は、1単位の学習用画像21毎にステップS22からステップS24までの処理を実行することにより、画像分割エンジンEcと評価エンジン{Ed_i}との内部パラメータを最適化する。
【0038】
次に、外観分析システム1は、画像分割エンジンEcを用いて学習用画像21の分割を行う(ステップS22)。具体的には、外観分析システム1は、学習用画像21を複数の注目領域{R_i}(i=1,…,NR, NR:注目領域数)に分割する。なお、詳細は後述するが、画像分割エンジンEcは、k-1回目の反復学習結果を使用して、k回目の反復学習を行う。即ち、k-1回目の反復学習結果に基づいて、k個目の単位の学習用画像21について、k回目の分割が実行される。
【0039】
図2は、1つの学習用画像21が、3つの注目領域(注目領域R_1(k)、注目領域R_2(k)、注目領域R_3(k))に分割された例を示す。注目領域R_iにおいて、白い画素が注目部分であることを示す。例えば、注目領域R_1(k)においては白い画素で示す歯車の領域が注目部分であり、後述のステップS23において、評価エンジンEd_1は黒い画素をマスク(除外)して処理する。なお、
図2に示す注目領域R_iの数は3つであるが、画像分割エンジンEcの学習結果によって注目領域の数や分割の仕方は変化しうる。
【0040】
なお、画像分割エンジンEcによる注目領域の決定は、
図2に示すように、学習用画像21内の画素毎にどの注目領域R_iに属するかのラベル付け(セマンティックセグメンテーション)をすることにより行われてもよい。又は、学習用画像21を、例えばある大きさの領域に格子状に分割し(図示せず)、その領域毎に注目領域R_iに分類してもよい。
【0041】
次に、外観分析システム1は、評価エンジンEd_iを用いて学習用画像21の評価を行う(ステップS23)。具体的には、外観分析システム1は、注目領域R_i(k)に特化した評価エンジンEd_iを生成し、それぞれの評価エンジンEd_iを用いて各注目領域R_i(k)を評価する。即ち、外観分析システム1において、注目領域R_iの数に応じて評価エンジンEd_iの数も変化する。
【0042】
図2に示す例では、外観分析システム1が、注目領域R_1(k)を評価するために生成された評価エンジンEd_1と、注目領域R_2(k)を評価するために生成された評価エンジンEd_2と、注目領域R_3(k)を評価するために生成された評価エンジンEd_3と、を用いて、各注目領域R_i(k)を評価する。なお、本図に示す例では、評価エンジンEd_iは、注目領域R_iの画素毎に評価値を算出することにより、注目領域R_iの個別評価値を算出するが、評価エンジンEd_iの評価方法はこれに限定されない。各評価エンジンEd_iは、評価結果として、注目領域R_iに対する個別評価値を出力する。
【0043】
外観分析システム1は、個別評価値を統合することにより、学習用画像21の推定評価値を得る。外観分析システム1は、学習用画像21の推定評価値と、学習データセットとして当該学習用画像21に対して付与された正解評価値とを用いて、検査正解率を決定する。なお、外観分析システム1は、正解評価値を注目領域に応じて分割し、個別評価値と比較して統合することにより、学習用画像21の検査正解率を決定してもよい。
【0044】
検査正解率は、学習用画像21に対する評価値といえる。付言すれば、学習用画像21に対する評価値は検査正解率に限定されるものではなく、学習用画像21と正解評価値との関係を示す値であればよい。
【0045】
また、外観分析システム1は、1単位の学習用画像21についてステップS23の処理を繰り返し、各評価エンジンEd_1の内部パラメータを最適化することができる。
【0046】
次に、外観分析システム1は、画像分割エンジンEcの学習を実行する(ステップS24)。まず、画像分割エンジンEcの学習の背景として、検査用画像をどのような注目領域R_iに分割するのが適切かを決定し、そのような注目領域R_iに分割するための内部パラメータを決定する必要がある。
【0047】
外観分析システム1は、学習した各評価エンジンEd_iの個別評価値を統合して得られた検査結果の正解率(検査正解率)を基に、検査正解率が改善するようにk+1回目の反復学習における注目領域{R_i[k+1]}の分割の仕方を更新し、そのような分割が行えるように画像分割エンジンEcの内部パラメータを学習する。例えば、外観分析システム1は、学習用画像21における検査正解率を評価値としてk回目の反復学習中の注目領域{R_i[k]}を統合あるいは分割し、最適な注目領域{R_i}の分け方を決定する。その後、外観分析システム1は、次の学習用画像21について、ステップS22からステップS24のk+1回目の処理を実行する。
【0048】
換言すれば、外観分析システム1は、1単位の学習用画像21を分割して得られる注目領域{R_i}について評価し、その結果決定される評価値を用いて画像分割エンジンEc及び評価エンジン{Ed_i}の学習を行う。外観分析システム1は、学習の結果得られた内部パラメータを用いて、他の1単位の学習用画像を分割する。
【0049】
なお、
図2に示す処理の終了条件は限定されない。例えば、所定のエポック数の学習が実行された場合に、外観分析システム1は本図の処理を終了してもよいし、バリデーションデータを用いて検証を行うことにより、処理を終了してもよい。
【0050】
以上、本実施形態では、画像分割エンジンEcによる領域セグメンテーションにより検査用画像を複数の注目領域R_iに分割し、注目領域R_iに特化した専用の評価エンジンEd_iを用いて検査を行う。すなわち、注目領域R_iに応じて評価エンジンを切り替える。検査対象物の構造や見た目、発生する欠陥種がなるべく限定されるように注目領域R_iを決定することで、個々の評価エンジンEd_iが扱うパターンバリエーションは減少する。そのため、学習負荷を小さくすることができ、仮に自由度の低い評価エンジンを用いるとしても、必要な学習用画像数の低減、および検査性能の向上が期待できる。
【0051】
本実施形態では、検査正解率を評価値として、画像分割エンジンEcと評価エンジンEd_iを反復的に学習することによって、両者を最適化する。即ち、複数の評価エンジンEd_iを有する検査エンジン全体で、高い検査正解率を得ることが可能となる。換言すれば、複数の評価エンジンEd_iで多様な検査対象・検査項目を分担するため、多様な構造を有する工業製品等に対して高い検査性能が得られる。
【0052】
<検査フェーズでの処理方法>
図3は、外観分析システム1の検査フェーズでの処理方法の一例を示す図である。
【0053】
まず、外観分析システム1は、物品の外観を示す検査用画像3を取得する(ステップS31)。本ステップの処理は、
図1のステップS0において行われる処理と同様である。
【0054】
次に、外観分析システム1は、画像分割エンジンEcを用いて、ステップS31で取得した検査用画像3を分割する(ステップS32)。本ステップにおいて、画像分割エンジンEcは、
図2に示す学習フェーズで得られた内部パラメータを用いて検査用画像3を分割する。検査用画像3は、学習後の内部パラメータに基づいて、複数の注目領域R_iに分割される。
【0055】
次に、外観分析システム1は、評価エンジンEd_iを用いて、ステップS32で分割して得た注目領域R_iを評価する(ステップS33)。本ステップにおいて、評価エンジンEd_iは、
図2に示す学習フェーズで得られた内部パラメータを用いて、注目領域R_iを評価する。なお、本ステップで評価に用いられる評価エンジンEd_iは、ステップS32で分割して得られた注目領域R_iの数だけ生成されている。即ち、分割の結果得られた注目領域R_i毎に、評価結果が出力される。
【0056】
次に、外観分析システム1は、検査結果を出力する(ステップS34)。外観分析システム1は、ステップS33で各評価エンジンEd_iにより出力された評価結果である個別評価値を統合することにより、検査用画像3の推定評価値を検査結果として出力する。
【0057】
<第1の変形例における学習フェーズでの処理方法>
次に、第1の変形例における外観分析システム1について説明する。以下、上述の実施形態と異なる点について説明する。
図2に示す学習フェーズの例において、評価エンジンEd_iの評価方法は限定されるものでなく、例えば注目領域R_iの画素毎に評価値を算出できる点を説明した。本変形例における外観分析システム1は、学習フェーズにおいて、局所領域を用いた注目領域R_iの評価を行う。
【0058】
図4は、第1の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS41及びステップS42において外観分析システム1が実行する処理は、
図2のステップS21及びステップS22において実行される処理と同様であるため、説明を省略する。
【0059】
次に、外観分析システム1は、評価エンジンEd_iを用いて学習用画像41の評価を行う(ステップS43)。外観分析システム1が、注目領域R_i(k)に特化した評価エンジンEd_iを生成し、それぞれの評価エンジンEd_iを用いて各注目領域R_i(k)を評価する点は、
図2のステップS23と同様である。
【0060】
本変形例における外観分析システム1は、各注目領域R_iを分割して複数の局所領域f_i(m)(m=1,…,NF_i, NF_i: 注目領域R_iを分割した局所領域数)とし、評価エンジンEd_iを用いて局所領域f_i(m)毎に評価することにより、局所領域f_i(m)により構成される注目領域R_iを評価する。なお、局所領域f_i(m)の分割方法は限定されるものではなく、例えば所定の大きさの格子状であってもよい。
【0061】
評価エンジンEd_1は、
図2に示す例と同様に、ステップS42において分割された注目領域R_iの数だけ生成される。例えば各評価エンジンEd_1は、対応する注目領域R_iを構成する局所領域f_i(m)を評価し、得た値を統合することにより、当該注目領域R_iの個別評価値を出力する。換言すれば、外観分析システム1は、局所領域f_i(m)と注目領域R_iとの関係を示す情報、即ち局所領域f_i(m)の属する注目領域R_iを示す情報と、局所領域f_i(m)への評価と、を用いて、注目領域R_iの個別評価値を出力する。なお、局所領域f_i(m)と注目領域R_iとの関係を示す情報は、本例に限定されない。
【0062】
ステップS44において外観分析システム1が実行する処理は、
図2のステップS24と同様である。
【0063】
<第1の変形例における検査フェーズでの処理方法>
図5は、第1の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS51及びステップS52において外観分析システム1が実行する処理は、
図3のステップS31及びステップS32において実行する処理と同様であるため、説明を省略する。
【0064】
次に、外観分析システム1は、評価エンジンEd_iを用いて検査用画像5の評価を行う(ステップS53)。第1の変形例における外観分析システム1の評価エンジンEd_iは、検査フェーズにおいても、
図4に示す学習フェーズと同様に、各注目領域R_iを局所領域に分割して評価する。ステップS54において外観分析システム1が実行する処理は、
図3のステップS34の処理と同様であるため、説明を省略する。
【0065】
<第2の変形例における学習フェーズでの処理方法>
以下、第2の変形例における外観分析システム1について説明する。以下、上述の実施形態と異なる点について説明する。本変形例における外観分析システム1は、局所領域に対して帰属度を設定することにより、画像の評価を行う。
【0066】
図6は、第2の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS61及びステップS62において外観分析システム1が実行する処理は、
図2のステップS21及びステップS22において実行される処理と同様であるため、説明を省略する。
【0067】
次に、外観分析システム1は、画像分割エンジンEcを用いて学習用画像61を局所領域{f_j}(j=1,…,Nr, Nr:分割領域数)に分割し、各局所領域f_jに対し、注目領域R_iへの帰属度{a_i(j)}(i=1,…,NR, NR:注目領域数)を推定する(ステップS63)。帰属度{a_i(j)}は、局所領域f_jが各注目領域R_iに属する確からしさを示す指標である。
【0068】
本変形例においても、上述の実施形態と同様に、画像分割エンジンEcにより検査用画像を複数の注目領域R_iに分割し、注目領域R_i毎に異なる評価エンジンEd_iを用いて検査を行うことが基本的な処理である。しかしながら、検査対象の中には、画像分割エンジンEcによる信頼性の高い領域セグメンテーションが困難な場合がある。
【0069】
すなわち、検査用画像中の局所領域f_j(画像を格子状に分割した領域、あるいは画素単位でもよい)が第一の注目領域R_1に属するのか、第二の注目領域R_2に属するかの判定が難しい場合である。この判定を誤った場合、本来用いる評価エンジンEd_iと異なる評価エンジンを用いて検査が行われることになるため、注目領域R_iへの分割性能は全体の検査性能に影響を与える。
【0070】
そのため、判定が難しい場合は無理に局所領域f_jを一つの注目領域R_iに割り当てず、可能性の高い複数の注目領域R_iに割り当てる。例えば、局所領域f_1が3つの注目領域R_1、R_2、R_3に属する可能性が高いのであれば、局所領域f_1の属する注目領域R_i={R_1,R_2,R_3}と決定する。
【0071】
なお、画像分割エンジンEcは、領域セグメンテーションを行う際、ある領域が注目領域R_iに属するか否かの2値ではなく、注目領域R_iに属する尤度を出力することができる。また、帰属度{a_i}はセグメンテーションされた領域形状を基に算出されてもよい。例えば、注目領域R_1の中に、注目領域R_2に分類された微小領域が含まれていた場合、この微小領域はノイズの可能性があり、周辺の注目領域R_1に分類した方が妥当かもしれない。この場合、画像分割エンジンEcは、微小領域の帰属度として、例えば{a_1, a_2}={0.4, 0.6}と算出することができる。これは、微小領域が注目領域R_1に属する可能性が40%であり、注目領域R_2に属する可能性が60%であることを意味する。
【0072】
また、注目領域R_1に分類されたの領域の形状が大きく歪んでいた場合も結果の信頼度は低いと考えられる。その場合、画像分割エンジンEcは、注目領域R_1の帰属度を下げ、それ以外の注目領域への帰属度を高くすることができる。
【0073】
次に、外観分析システム1は、評価エンジンEd_iを用いて、学習用画像61の評価を行う(ステップS64)。外観分析システム1が、注目領域R_i(k)に特化した評価エンジンEd_iを生成し、それぞれの評価エンジンEd_iを用いて各注目領域R_i(k)を評価する点は、
図2のステップS23と同様である。
【0074】
本変形例における外観分析システム1は、評価エンジンEd_iを用いて、局所領域{f_j}の評価を行う。具体的には、外観分析システム1は、各局所領域f_jの属する可能性のある注目領域R_iに対応する各評価エンジンEd_iを用いて、それぞれの評価値を得る。例えば、局所領域f_1が注目領域R_1、R_2、R_3に属する可能性がある場合、評価エンジンEd_1、Ed_2、Ed_3を用いて局所領域f_1を検査し、局所領域f_1が注目領域R_1に属する場合の評価値と、注目領域R_2に属する場合の評価値と、注目領域R_3に属する場合の評価値と、の3通りの評価値を得る。
【0075】
次に、外観分析システム1は、帰属度{a_i}に基づいてそれぞれの評価値を統合することで、局所領域f_jの最終的な検査結果である個別評価値を得る。統合の仕方としては、例えば帰属度{a_i}の大きさに基づき各評価値に重み付けを行うことができるが、統合方法はこれに限定されない。外観分析システム1は、局所画像{f_j}の最終的な検査結果を用いて、学習用画像61の推定評価値を得る。
【0076】
次に、外観分析システム1は、画像分割エンジンEcの学習を実行する(ステップS65)。本処理は、
図2におけるステップS24の処理と同様であるため、説明を省略する。
【0077】
以上、本変形例では、局所領域f_jが属する注目領域R_iを一つに限定せずに処理を行うことによって、信頼度の高い検査性能を得ることができる。
【0078】
<第2の変形例における検査フェーズでの処理方法>
図7は、第2の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS71及びステップS72において外観分析システム1が実行する処理は、
図3のステップS31及びステップS32において実行する処理と同様であるため、説明を省略する。
【0079】
次に、外観分析システム1は、画像分割エンジンEcを用いて、局所領域{f_j}の各注目領域R_iへの帰属度{a_i(j)}を推定する(ステップS73)。第2の変形例における外観分析システム1は、検査フェーズにおいても、
図6に示す学習フェーズと同様に、各局所領域f_jについて、属する可能性のある各注目領域R_iへの帰属度{a_i(j)}を推定する。帰属度の推定方法は、
図6のステップS63と同様である。
【0080】
次に、外観分析システム1は、評価エンジンEd_iを用いて、検査用画像7の評価を行う(ステップS74)。第2の変形例における外観分析システム1は、検査フェーズにおいても、
図6に示す学習フェーズのステップS64と同様に、帰属度に基づいて局所領域f_jの個別評価値を取得し、個別評価値に基づいて検査用画像7の推定評価値を得る。
【0081】
外観分析システム1が、ステップS75で実行する処理は、
図3のステップS34の処理と同様であるため、説明を省略する。
【0082】
<第3の変形例における学習フェーズでの処理方法>
以下、第3の変形例における外観分析システム1について説明する。本変形例における外観分析システム1は、ユーザからの注目領域R_iの統合指定あるいは分割指定を受け付けるGUI(Graphical User Interface)を有する。外観分析システム1は、学習ステップにおいて、ユーザからの指定に基づいて、画像分割エンジンEcが注目領域R_iの分け方を決定するよう、画像分割エンジンEcの内部パラメータを最適化する。以下、上述の実施形態と異なる点について説明する。
【0083】
図8は、第3の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS81において外観分析システム1が実行する処理は、
図2のステップS21において実行される処理と同様であるため、説明を省略する。
【0084】
次に、外観分析システム1は、分割条件の入力操作を受け付ける(ステップS82)。具体的には、外観分析システム1は、分割条件として、ユーザによる学習用画像81の分割方法の入力操作を受け付ける。
【0085】
上述の実施形態と同様に、本変形例においても、外観分析システム1は、画像分割エンジンEcがどのような領域セグメンテーションを行うか(どのような注目領域R_iに分割するか)を、検査正解率を評価値とした学習により決定する。検査対象が複雑な場合、あるいは学習用画像が少数である場合、適切な学習が行われない場合がある。本変形例では、注目領域R_iの分割の仕方に関してユーザに事前知識がある場合は、それをルールとして画像分割エンジンEcに組み込むことを可能とする。
【0086】
図9は、分割条件の指定の一例を説明するための図である。例えば、k回目の反復学習中の画像分割エンジンEcにおいて、学習用画像81を注目領域R_1[k]~R_4[k](画像811~画像814)に分割していたとする(領域分割の仕方1)。一方、検査対象の特性において注目領域R_1[k](画像811)、及びR_3[k](画像813)に発生する欠陥種が同種であることが分かっていた場合、注目領域R_3[k]を注目領域R_1[k]にマージして、両者を合わせたものを注目領域R_1[k](画像815)と設定し直すことができる(領域分割の仕方2)。即ち、外観分析システム1は、注目領域R_3[k]を注目領域R_1[k]にマージすることを示す、GUIへの入力操作を受け付ける。
【0087】
元の注目領域R_1[k]、R_3[k]が同様の欠陥種を扱うのであれば、同じ評価エンジンEd_iで検査することが可能と考えられる。また、評価エンジンEd_iを学習する際も、両者の画像を合わせることで、より効率的に学習を行うことができる。
【0088】
また、k回目の反復学習中の画像分割エンジンEcにおいて、一つの注目領域R_1[k]に属していた領域を二つ以上の領域に細かく分割するように指定することもできる。注目領域R_1[k]内に複数種類の検査対象の構造が含まれ、かつ、これらは異なる評価エンジンで検査することが望ましいと判断される場合、注目領域を分割するように画像分割エンジンEcを学習することができる。
【0089】
例えば、学習用画像81が注目領域R_1[k]~R_4[k](画像811~画像814)に分割されていた場合を考える(領域分割の仕方1)。注目領域R_1[k](画像811)に大小二つの歯車が存在するが、検査対象の特性により両者に発生する欠陥種が異なることが分かっていた場合、注目領域R_1[k](画像811)を2つの注目領域R_1[k](画像818)、R_2[k](画像819)に分割するように領域分割の仕方を指定する(領域分割の仕方3)。即ち、外観分析システム1は、注目領域R_1[k]を分割することを示す、GUIへの入力操作を受け付ける。
【0090】
これにより、注目領域R_1[k](画像818)、及びR_2[k](画像819)は、異なる評価エンジンEd_1、Ed_2を用いて検査されることになる。なお、学習フェーズにおいて指定した注目領域R_iの分割基準によって、検査フェーズにおいても注目領域の分割が行われることが期待される。
【0091】
付言すれば、外観分析システム1は、分割条件の入力操作に基づいて、検査不要の領域を設けてもよい。
図8における学習用画像81は、4つの注目領域R_1、R_2、R_3、R_4に分割されているが、注目領域R_4は、入力操作に基づいて検査不要と判断された注目領域である。例えば、外観分析システム1は、検査不要である注目領域R_4の注目部分である白い画素を、評価エンジンEd_iの評価対象から除外する。
【0092】
ステップS83~ステップS85において行われる処理は、
図2のステップS22~ステップS24において行われる処理と同様であるため、説明を省略する。なお、ステップS83において、外観分析システム1は、ステップS82で入力された分割条件を満たすよう、画像分割エンジンEcを用いて学習用画像81を分割する。
【0093】
付言すれば、
図8に係る処理方法の一例では、
図2と同様に、各評価エンジンEd_iは、各注目領域R_iの例えば画素毎に評価を行うが、
図4に示す第1の変形例における評価と同様に、局所領域{f_i}を用いて評価を行ってもよいし、
図6に示す第2の変形例における評価と同様に、学習用画像81を分割した局所領域{f_i}及び帰属度{a_i(j)}を用いて評価を行ってもよい。
【0094】
以上のように、ユーザが保有する、検査対象に対するドメイン知識を組み込むことによって、より適切な検査エンジンの最適化が可能となる。
【0095】
<第4の変形例における学習フェーズでの処理方法>
以下、第4の変形例における外観分析システム1について説明する。本変形例における外観分析システム1は、画像分割ステップにおいて、検査対象物の設計データ(例えばCAD(Computer-Aided Design)データ)の入力を受け付け、設計データにおける領域情報を基に検査用画像を複数の注目領域{R_i}に分割する。以下、上述の実施形態と異なる点について説明する。
【0096】
図10は、第4の変形例における外観分析システム1の学習フェーズでの処理方法の一例を示す図である。ステップS91において外観分析システム1が実行する処理は、
図2のステップS21において実行される処理と同様であるため、説明を省略する。
【0097】
次に、外観分析システム1は、検査対象物である物品の設計データを取得する(ステップS92)。本変形例において、外観分析システム1は、学習用画像91に表示される検査対象物の設計情報であるCAD等の設計データを活用することができる。
【0098】
次に、外観分析システム1は、画像分割エンジンEcを用いて学習用画像91を分割する(ステップS93)。
図2に示すステップS22と同様に、外観分析システム1は、学習用画像91を複数の注目領域{R_i}(i=1,…,NR, NR:注目領域数)に分割する。なお、学習用画像91の分割の際、外観分析システム1は、ステップS92で取得した設計データと学習用画像91の対応関係を使用する。
【0099】
図11は、設計データを用いた分割方法の一例を説明するための図である。設計データ900は、ステップS92で取得する設計データの一例であり、線901~904は検査対象物の設計形状の輪郭線を示す。設計データにより検査対象物の構造情報が分かるため、検査用画像905と設計データ900とを照合することにより、画像認識を用いなくても検査用画像905の構造情報が把握できる。従って、この構造情報を参照して注目領域{R_i}の分割を行うことができる。
【0100】
一般に、検査用画像の撮像範囲は検査対象物の一部であり、また撮像ずれも発生することから、検査用画像と設計データを照合することにより、両者の対応関係が分かる。一点鎖線901は、設計データ900における検査用画像905の照合位置であり、画像906は検査用画像905に設計データ900内の点線902~904をオーバーラップして描画したものである。
【0101】
注目領域{R_i}への分割は設計データから与えられる構造情報のみに基づいて行ってもよいし、画像処理による領域セグメンテーションと併用してもよい。検査用画像905を3つの注目領域R_1~R_3(画像907~909)に分割することを考える。検査用画像905において設計データ中の輪郭線である点線904に対応する構造が認識しにくいことが分かる。そのため、点線904を基に注目領域R_2、R_3の分割に行うことが有効である。
【0102】
一方、設計データはあくまで設計形状であるため、実際の形状とは乖離が発生する場合がある。例えば画像906に示すように、大小二つの歯車(点線902・903)は設計データと検査用画像間で大まかな位置は一致しているものの形状は多少乖離している。そのため、注目領域R_1(画像907)の分割については、設計データから概形の抽出は可能であるが、正確な形状は画像処理による領域セグメンテーションが必要である。
【0103】
本変形例では、設計データを画像分割エンジンEcに入力し、学習用画像91を注目領域に分割する際に用いることができる。なお、後述の検査フェーズにおいても、設計データを画像分割エンジンEcに入力し、同様に検査用画像を注目領域に分割する際に用いることができる。
【0104】
説明を
図10に戻す。ステップS94及びステップS95で行われる処理は、
図2のステップS23及びステップS24で行われる処理と同様であるため、説明を省略する。付言すれば、
図10に係る処理方法の一例では、
図2と同様に、各評価エンジンEd_iは、各注目領域R_iの例えば画素毎に評価を行うが、
図4に示す第1の変形例における評価と同様に、局所領域f_iを用いて評価を行ってもよいし、
図6に示す第2の変形例における評価と同様に、学習用画像91を分割した局所領域{f_i}及び帰属度{a_i(j)}を用いて評価を行ってもよい。
【0105】
なお、先述の第3の変形例において、ユーザからの注目領域R_iの統合あるいは分割の指定を受け付ける場合、ユーザは設計データ上で注目領域R_iを指定することができる。例えば、
図11の点線902と点線903とを同じ注目領域R_iに統合するように指定したり、あるいは逆に点線902と点線903を異なる注目領域R_iに分割するように指定したり等の指定が可能である。これにより、ユーザの指定通りの注目領域R_iが出力されるように画像分割エンジンEcを学習することができる。
【0106】
また、本変形例においても、
図8に示す第3の変形例と同様に、外観分析システム1は、注目領域R_4について、検査不要と判断し、評価エンジンEd_iを用いた評価から除外している。このように、本変形例についても、第3の変形例と同様に、画像分割エンジンEcは、検査不要の注目領域R_iを決定することができる。
【0107】
<第4の変形例における検査フェーズでの処理方法>
図12は、第4の変形例における外観分析システム1の検査フェーズでの処理方法の一例を示す図である。ステップS101において外観分析システム1が実行する処理は、
図3のステップS31において実行する処理と同様である。また、ステップS102からステップS103において外観分析システム1が実行する処理は、
図10のステップS92からステップS93において実行する処理と同様である。
【0108】
本変形例により、検査対象物の設計データを活用して、効率的に学習用画像及び検査用画像の分割を行うことができる。
【0109】
図13は、外観分析システム1のハードウェア構成の一例を示す図である。外観分析システム1は、前述の撮像装置106と、計算機100とを有する。撮像装置106は先述の通りである。計算機100は、本実施形態における外観分析方法を処理する構成物であり、プロセッサ101と、記憶資源(メモリリソース)102と、GUI装置103と、入力装置104と、通信インターフェイス105と、を備える。
【0110】
プロセッサ101は、CPU(Central Processing Unit)、GPU(Graphic Processing Unit等の処理装置であるが、これに限定されるものではなく、上述の外観分析方法を実行できるものであればよい。また、少なくとも、一つのプロセッサ101は、シングルコアでもよいしマルチコアでもよい。あるいは、処理の一部又は全部を行うハードウェア記述言語によりその機能が実現されるゲートアレイの集合体である回路(例えばFPGA(Field-Programmable Gate Array)、CPLD(Complex Programmable Logic Device)、又はASIC(Application Specific Integrated Circuit)といった広義のプロセッサデバイスでもよい。
【0111】
記憶資源102は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、不揮発メモリ(フラッシュメモリ等)等の記憶装置であり、プログラムやデータが一時的に読み出される記憶エリアとして機能する。記憶資源102は、上述の実施形態にて説明した外観分析方法をプロセッサ101に実行させるプログラム(外観分析プログラムと呼ぶ)を格納してもよい。
【0112】
GUI装置103は、GUIを表示する装置であって、例えばOLCD(Organic Liquid Crystal Display)等のディスプレイやプロジェクタである。入力装置104は、ユーザからの入力操作を受け付ける装置であって、例えばキーボード、マウス、タッチパネル等の入力装置である。入力装置104は、ユーザからの操作を受け付けられる構成物であれば特に限定されるものではなく、入力装置104とGUI装置103とは一体の装置であってもよい。
【0113】
通信インターフェイス105は、USB、Ethernet、Wi-Fi等であって、情報の入出力を仲介するインターフェイスである。なお、通信インターフェイス105は、撮像装置106から画像を直接受信できたり、又はユーザが当該画像を計算機100に送信できるインターフェイスであれば、ここに示す例に限定されない。なお、当該通信インターフェイスに、当該画像を格納した可搬不揮発記憶媒体(たとえばフラッシュメモリ、DVD、CD-ROM、ブルーレイディスク等の)を接続し、計算機100に当該画像を格納することができる。
【0114】
なお、外観分析システム1を構成する計算機100は複数であってもよく、撮像装置106が複数であってもよい。また、先述の外観分析プログラムは、外観分析プログラムを格納する可搬不揮発記憶媒体を通信インターフェイスに接続することで、計算機100に配布することができる。又は、外観分析プログラムは、プログラム配信サーバーにより計算機100に配信することができる。この場合、プログラム配信サーバーは、外観分析プログラムを格納した記憶資源102と、外観分析プログラムを配信する配信処理を行うプロセッサと、計算機100の通信インターフェイス装置と通信可能である通信インターフェイス装置と、を有する。なお、計算機100に配布又は配信された外観分析プログラムは、プロセッサ101により各種機能が実現される。
【0115】
付言すれば、先述のように、外観分析システム1は、検査エンジンの学習を行う学習フェーズと、学習フェーズで学習した検査エンジンを用いて、検査用画像の評価を行う検査フェーズとを実行する。学習フェーズを実行するプロセッサ101と、検査フェーズを実行するプロセッサ101は、同じであってもよいし、異っていてもよい。学習フェーズを実行するプロセッサ101と、検査フェーズを実行するプロセッサ101とが異なる場合、学習フェーズを実行するプロセッサ101は、検査フェーズを実行するプロセッサ101に、検査エンジンの内部パラメータを引き渡すことができる。
【0116】
なお、前述の通り、これまで説明した実施形態は特許請求の範囲に係る発明を限定するものではなく、また、実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0117】
また、本実施形態では検査フェーズの入力情報として一枚の検査用画像を検査対象としたが、検査用画像が複数枚、推定評価値が複数種類の場合も本発明を適用することが可能である。即ち、評価エンジンが多くの画像の入力を受け付けることも可能であり、多くの画像を評価対象とすることも可能である。
【0118】
以上、本発明に係る各実施形態及び変形例の説明を行ってきたが、本発明は、上記した実施形態の一例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態の一例は、本発明を分かり易くするために詳細に説明したものであり、本発明は、ここで説明した全ての構成を備えるものに限定されない。また、ある実施形態の一例の構成の一部を他の一例の構成に置き換えることが可能である。また、ある実施形態の一例の構成に他の一例の構成を加えることも可能である。また、各実施形態の一例の構成の一部について、他の構成の追加・削除・置換をすることもできる。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、図中の制御線や情報線は、説明上必要と考えられるものを示しており、全てを示しているとは限らない。ほとんど全ての構成が相互に接続されていると考えてもよい。
【0119】
また、上記の外観分析システム1の機能構成は、理解を容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。上述に示す通り、外観分析システム1は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
【0120】
以上、本実施形態により、各検査エンジンの負荷を抑制しながら、多様な構造を有する工業製品等に対しても精度の高い検査結果を得ることが可能となる。
【符号の説明】
【0121】
1:外観分析システム、2・4・6・8・9:学習用画像群、21・41・61・81・91:学習用画像、3・5・7・10・905:検査用画像、100:計算機、101:プロセッサ、102:記憶資源、103:GUI装置、104:入力装置、105:通信インターフェイス、106:撮像装置、900:設計データ、901:一点鎖線、902・903・904:点線、906・907・908・909:画像