(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023183808
(43)【公開日】2023-12-28
(54)【発明の名称】画像生成方法及び外観検査装置
(51)【国際特許分類】
G01N 21/88 20060101AFI20231221BHJP
【FI】
G01N21/88 J
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022097546
(22)【出願日】2022-06-16
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000198
【氏名又は名称】弁理士法人湘洋特許事務所
(72)【発明者】
【氏名】前田 健宏
(72)【発明者】
【氏名】宮本 敦
(72)【発明者】
【氏名】大崎 真由香
(72)【発明者】
【氏名】笠井 啓晃
【テーマコード(参考)】
2G051
【Fターム(参考)】
2G051AA90
2G051AB02
2G051AC21
2G051CA04
2G051CB01
2G051CB05
2G051EA14
2G051EB01
2G051EB09
2G051EC01
2G051ED08
2G051ED11
(57)【要約】
【課題】機械学習による異常の有無の判定が不正確になるのを抑制すること。
【解決手段】プロセッサを備える外観検査装置であって、前記プロセッサは、検査対象の外観を写した複数の外観画像を取得し、前記複数の外観画像を母集団としたときの前記各外観画像の特徴のばらつきを表す統計分布を生成し、前記統計分布が示す前記ばらつきに基づいて、前記外観を写した追加画像を生成し、前記複数の外観画像と前記追加画像とを含む学習データを用いた機械学習により学習済モデルを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
プロセッサを備える外観検査装置であって、
前記プロセッサは、
検査対象の外観を写した複数の外観画像を取得し、
前記複数の外観画像を母集団としたときの前記各外観画像の特徴のばらつきを表す統計分布を生成し、
前記統計分布が示す前記ばらつきに基づいて、前記外観を写した追加画像を生成し、
前記複数の外観画像と前記追加画像とを含む学習データを用いた機械学習により学習済モデルを生成する、
外観検査装置。
【請求項2】
請求項1に記載の外観検査装置であって、
前記プロセッサは、前記統計分布において前記ばらつきが大きい分布領域ほど、前記追加画像の枚数を多くする、
外観検査装置。
【請求項3】
請求項2に記載の外観検査装置であって、
前記特徴は、前記外観画像に写った前記検査対象の変形量である、
外観検査装置。
【請求項4】
請求項2に記載の外観検査装置であって、
前記特徴は、前記外観画像に写った前記検査対象に変形が生じた位置であり、
前記プロセッサは、前記外観画像の前記位置に欠陥を重ねることにより前記追加画像を生成する、
外観検査装置。
【請求項5】
請求項1に記載の外観検査装置であって、
前記プロセッサは、前記統計分布において前記外観画像の枚数が少ない分布領域ほど、前記追加画像の前記枚数を多くする、
外観検査装置。
【請求項6】
請求項5に記載の外観検査装置であって、
前記特徴は、前記外観画像の輝度、コントラスト、及びノイズ強度のいずれかである、
外観検査装置。
【請求項7】
請求項1に記載の外観検査装置であって、
前記プロセッサは、更に、前記学習済モデルを用いて、検査画像に写った前記検査対象に異常があるかを検査する、
外観検査装置。
【請求項8】
請求項7に記載の外観検査装置であって、
前記学習済モデルは、前記学習データを正解データとして学習した自己符号化器であり、
前記プロセッサは、前記自己符号化器に前記検査画像を入力し、前記自己符号化器から出力された再構成画像と前記検査画像との差分を取った差分画像に異物が含まれているかを判定することにより、前記検査対象に異常があるかを検査する、
外観検査装置。
【請求項9】
請求項1に記載の外観検査装置であって、
前記複数の外観画像の各々は、正常な前記検査対象の前記外観を写した画像である、
外観検査装置。
【請求項10】
請求項1に記載の外観検査装置であって、
前記複数の外観画像の各々は、異常な前記検査対象の前記外観を写した画像である、
外観検査装置。
【請求項11】
請求項9又は10に記載の外観検査装置であって、
前記プロセッサは、正常な前記検査対象の外観を写した画像を加工して、正常を示す前記追加画像を生成する
外観検査装置。
【請求項12】
請求項9に記載の外観検査装置であって、
前記プロセッサは、異常又は正常な前記検査対象の外観を写した画像を加工して、異常を示す前記追加画像を生成する
外観検査装置。
【請求項13】
コンピュータが、
検査対象の外観を写した複数の外観画像を取得するステップと、
前記複数の外観画像を母集団としたときの前記各外観画像の特徴のばらつきを表す統計分布を生成するステップと、
前記統計分布が示す前記ばらつきに基づいて、前記外観を写した追加画像を生成するステップと、
前記複数の外観画像と前記追加画像とを含む学習データを用いた機械学習により学習済モデルを生成するステップと、
を実行する画像生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成方法及び外観検査装置に関する。
【背景技術】
【0002】
製品を製造する製造ライン等においては、製造途中の製品やその部品に欠陥があるかどうかを画像認識技術で認識し、欠陥を早期に発見することが行われる。特に、近年の機械学習の進展により、機械学習で欠陥を発見することも盛んに行われている。その場合、CNN (Convolutional Neural Network)等の機械学習モデルに種々の学習画像を学習させた後、実際の製品の画像に基づいて製品に欠陥があるかを学習済の機械学習モデルが判定する。
【0003】
但し、学習画像のバリエーションが少ないと機械学習モデルの学習が不十分となり、欠陥があるかの判定が不正確となる。そこで、特許文献1では、学習画像から傷を抽出し、その傷を種々に変形した部分画像を生成してそれらを合成先画像と合成して新たな学習画像とすることで、学習画像のバリエーションを増やす技術を提案している。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、製品に欠陥が発生する頻度は欠陥ごとに異なるため、その頻度を考慮せずに学習画像のバリエーションを増やすと、機械学習モデルが欠陥を誤検出したり、欠陥を見逃したりして、機械学習モデルの判定結果が不正確になるおそれがある。
【0006】
本発明は、このような状況に鑑みてなされたものであり、機械学習による異常の有無の判定が不正確になるのを抑制することを目的とする。
【課題を解決するための手段】
【0007】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。
【0008】
上記課題を解決するため、本発明の一態様に係る外観検査装置は、プロセッサを備える外観検査装置であって、前記プロセッサは、検査対象の外観を写した複数の外観画像を取得し、前記複数の外観画像を母集団としたときの前記各外観画像の特徴のばらつきを表す統計分布を生成し、前記統計分布が示す前記ばらつきに基づいて、前記外観を写した追加画像を生成し、前記複数の外観画像と前記追加画像とを含む学習データを用いた機械学習により学習済モデルを生成する。
【発明の効果】
【0009】
本発明によれば、機械学習による異常の有無の判定が不正確になるのを抑制することができる。
【0010】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、外観検査装置の機能構成の一例を示す模式図である。
【
図2】
図2は、第1実施形態に係る外観検査方法のフローチャートの一例を示す模式図である。
【
図3】
図3は、第1実施形態に係る追加画像の生成処理の一例を示すフローチャートである。
【
図4】
図4は、第1実施形態に係る追加画像の生成処理の一例を説明するための模式図である。
【
図5】
図5は、外観画像の特徴として部品に変形が生じた位置を採用した場合における、第1実施形態に係る追加画像の生成処理の一例を説明するための模式図である。
【
図6】
図6は、外観画像の特徴として外観画像の画像全体の輝度を採用した場合における、第1実施形態に係る追加画像の生成処理の一例を説明するための模式図である。
【
図7】
図7は、外観画像の特徴として外観画像のコントラストを採用した場合における、第1実施形態に係る追加画像の生成処理の一例を説明するための模式図である。
【
図8】
図8は、外観画像の特徴として外観画像のノイズ強度を採用した場合における、第1実施形態に係る追加画像の生成処理の一例を説明するための模式図である。
【
図9】
図9は、第1実施形態に係る学習済モデルの生成方法の一例について示す模式図である。
【
図10】
図10は、第1実施形態に係る検査の方法の一例について示す模式図である。
【
図11】
図11は、第1実施形態に係る表示部の表示例を示す模式図である。
【
図12】
図12は、第2実施形態における追加画像の生成処理の一例を説明するための模式図である。
【
図13】
図13は、第3実施形態における学習済モデルの生成方法の一例について示す模式図である。
【
図14】
図14は、第3実施形態における検査の方法の一例について示す模式図である。
【
図15】
図15は、第1~第3実施形態に係る外観検査装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明に係る一実施形態を図面に基づいて説明する。なお、実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は適宜省略する。また、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合及び原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。
【0013】
<第1実施形態>
図1は、本実施形態に係る外観検査装置100の機能構成の一例を示す模式図である。
【0014】
外観検査装置100は、例えば検査対象物である部品の外観に異常があるかを検査する装置であって、処理部110、記憶部120、入力部130、表示部140、及び撮像部150を備える。
【0015】
入力部130は、ユーザからの種々の入力を受け付けるためのキーボード又はマウス等の入力デバイスである。表示部140は、例えば、部品の外観の検査結果等を表示する液晶表示ディスプレイ又は有機EL(Electro Luminescence)ディスプレイ等の表示デバイスである。
【0016】
撮像部150は、検査対象物である部品の外観を撮像し、その外観を写した外観画像121aを記憶部120に格納するカメラ等の撮像デバイスである。
【0017】
記憶部120は、外観画像DB(Database)121、拡張学習画像DB122、学習済パラメータDB123、及びプログラム124の各々を記憶する機能部である。
【0018】
外観画像DB121は、撮像部150が撮像した部品の外観画像121aとその属性情報121bとを記憶するデータベースである。属性情報121bは、外観画像121aに写った部品が正常か異常かを示す情報と、異常の種類と、部品に異常が発生した位置とを含む情報である。
【0019】
拡張学習画像DB122は、拡張学習画像122aと属性情報122bとを記憶するデータベースである。拡張学習画像122aは、部品に異常があるかを検査する機械学習モデルが学習をするときの学習データである。一例として、拡張学習画像122aは、前述の外観画像121aと、後述の画像生成部113が生成した追加画像とを含む画像である。このように外観画像121aだけでなく、追加画像を学習データとすることで、学習データのバリエーションを増やすことができる。
【0020】
属性情報122bは、拡張学習画像122aに写った部品が正常か異常かを示す情報と、異常の種類と、部品に異常が発生した位置とを含む情報である。
【0021】
学習済パラメータDB123は、拡張学習画像122aを学習データとして学習した機械学習モデルの内部パラメータを格納するデータベースである。
【0022】
プログラム124は、本実施形態に係る外観検査プログラムである。そのプログラム124を外観検査装置100が実行することで処理部110の各機能が実現される。
【0023】
処理部110は、外観検査装置100の各部を制御する機能部である。一例として、処理部110は、画像取得部111、統計分布生成部112、画像生成部113、学習部114、及び検査部115を備える。
【0024】
画像取得部111は、外観画像DB121から外観画像121aを取得する機能部である。
【0025】
統計分布生成部112は、複数の外観画像121aを母集団としたときの各外観画像121aの特徴のばらつきを表す統計分布を生成する処理部である。その特徴の一例としては、後述のように検査対象である部品の変形量、又は部品に変形が生じた位置がある。また、各外観画像121aの輝度、コントラスト、及びノイズ強度も特徴の一例である。
【0026】
画像生成部113は、統計分布生成部112が生成した統計分布が示す特徴のばらつきに基づいて部品の外観を写した追加画像を生成し、それを拡張学習画像122aとして拡張学習画像DBに格納する機能部である。
【0027】
学習部114は、拡張学習画像122aを学習データとする機械学習により学習済モデルを生成する機能部である。
【0028】
検査部115は、学習済モデルを用いて検査対象の部品の外観に異常があるかを検査する機能部である。また、検査部115は、検査結果等を表示するように表示部140に指示し、表示部140を見たユーザが検査結果を把握できるようにしてもよい。
【0029】
図2は、本実施形態に係る外観検査方法のフローチャートの一例を示す模式図である。
【0030】
まず、画像取得部111が、外観画像DB121から1枚以上の外観画像121aを取得する(ステップS21)。この例では、画像取得部111は、外観画像DB121に格納されている全ての外観画像121aのうち、1枚以上の正常な外観画像121aをランダムに取得する。外観画像121aが正常かどうかは、その外観画像121aに対応した属性情報121bに基づいて画像取得部111が判断できる。更に、画像取得部111は、取得した外観画像121aの各々に対応した属性情報121bも外観画像DB121から取得する。
【0031】
次いで、統計分布生成部112と画像生成部113が、追加画像の生成処理を行う(ステップS22)。この生成処理の詳細については後述する。
【0032】
次に、学習部114が、拡張学習画像122aを学習データとする機械学習により学習済モデルを生成する(ステップS23)。このステップの詳細については後述する。
【0033】
次いで、検査部115が、学習済モデルを用いて、部品に異常があるかを検査する(ステップS24)。ここでは、検査部115は、撮像部150によって撮像された部品の検査画像を取得し、その検査画像に写った部品に異常があるかを検査する。その詳細については後述する。
【0034】
以上により、本実施形態に係る外観検査方法の基本的な処理を終える。
【0035】
次に、ステップS22の追加画像の生成処理について説明する。
図3は、追加画像の生成処理の一例を示すフローチャートである。また、
図4は、追加画像の生成処理の一例を説明するための模式図である。なお、追加画像の生成処理は、画像生成方法の一例である。
【0036】
まず、
図3に示すように、統計分布生成部112が、ステップS21で取得した各外観画像121aを母集団としたときの各外観画像121aの特徴のばらつきを表す統計分布を生成する(ステップS31)。
【0037】
図4の例では、統計分布の母集団となる各外観画像121aを画像セット401で表す。統計分布生成部112は、その画像セット401に含まれる各外観画像121aから基準値画像402を生成する。この例では、統計分布生成部112は、各外観画像121aの画素値の中央値を位置ごとに算出し、各位置での画素値がその中央値となる中央値画像を基準値画像として生成する。なお、中央値に代えて、画素値の平均値を採用してもよい。また、中央値は、各画素の位置で算出してもよいし、複数の画素を含む領域で算出してもよい。次いで、統計分布生成部112は、各外観画像121aと基準値画像402との画素値の差分を位置ごとに求める。ある位置で算出された当該差分は、基準値画像402を基準とした場合における、外観画像121aに写った部品のその位置での変形量である。そして、統計分布生成部112は、各外観画像121aの差分を位置ごとに合計した累積値を求める。その累積値が大きい位置は、画像セット401を母集団としたときに変形量のばらつきが大きい位置である。逆に、累積値が小さい位置は、画像セット401を母集団としたときに変形量のばらつきが小さい位置である。統計分布生成部112は、このような累積値をマッピングした統計分布403を生成する。統計分布403において色が濃い位置は変形量のばらつきが大きい位置であり、色が薄い位置は変形量のばらつきが小さい領域である。
【0038】
ここでは、部品の位置ごとの変形量のばらつきを示す統計分布403を統計分布生成部112が生成したが、統計分布生成部112は複数種類の統計分布403を生成してもよい。例えば、統計分布生成部112は、後述のように部品の形状のばらつきを示す統計分布を生成してもよいし、各外観画像121aの輝度、コントラスト、及びノイズ強度の各々のばらつきを示す統計分布を生成してもよい。
【0039】
再び
図3を参照する。次に、画像生成部113が、統計分布生成部112が生成した複数の統計分布のうちの一つ以上を選択する(ステップS32)。ここでは、説明を簡単にするために、前述の変形量のばらつきを示す統計分布403を画像生成部113が選択した場合を例にして説明する。
【0040】
次に、画像生成部113が、選択した統計分布403を基にして追加画像を生成する(ステップS33)。追加画像の生成方法について
図4を参照して説明する。
【0041】
統計分布403が示すように、部品の位置によって変形量のばらつきは異なる。ばらつきが大きい位置で変形した部品を写した外観画像112aは、ばらつきが小さい位置で変形した部品を写した外観画像112aと比較して、外観画像DB121に含まれる枚数が統計的に少なく、バリエーションも少ないと考えられる。
【0042】
そこで、画像生成部113は、外観画像DB121に含まれる外観画像121aに対して変形処理を施した追加画像404を生成し、変形のバリエーションを増やす。変形量と追加画像404の枚数は、統計分布403に基づいて画像生成部113が決定する。例えば、画像生成部113は、統計分布403においてばらつきが大きい分布領域ほど変形量を大きくすると共に追加画像404の枚数を多くする。なお、変形処理を施す外観画像121aは、外観画像DB121から任意に選択した1枚の外観画像121aでもよいし、複数枚の外観画像121aでもよい。これにより、ばらつきが大きい追加画像404のバリエーションが増やすことができる。
【0043】
なお、画像生成部113は、追加画像404における変形量を、正常な外観画像121aの統計分布403における分布の範囲内に収める。これにより、追加画像404に写った部品は正常とみなすことができる。なお、変形処理によって追加画像404となる外観画像121は正常でも異常でもよい。また、画像生成部113は、このように正常又は異常な外観画像121に対して変形処理を施すことにより、異常な追加画像404を生成してもよい。これについては後述の
図5~
図8の例でも同様である。
【0044】
再び
図3を参照する。次に、画像生成部113は、外観画像DBに含まれる全ての外観画像121aと、ステップS33で生成した全ての追加画像404とを拡張学習画像DB122に保存する(ステップS34)。また、画像生成部113は、外観画像121aの属性情報121bを拡張学習画像DB122に保存すると共に、追加画像404の属性情報122bも拡張学習画像DB122に保存する。なお、ここでは正常な外観画像121aを画像セット401としたため、前述のように追加画像404に写った部品も正常とみなすことができる。そのため、追加画像404の属性情報122bは、部品が正常であることを示す情報となる。
【0045】
以上により、追加画像の生成処理における基本的な処理を終える。
【0046】
上記のようにして生成した拡張学習画像DB122における外観画像121aと追加画像404は、学習部114が学習済モデルを生成するときの学習データとなる。本実施形態では前述のように統計分布403において変形量のばらつきが大きい分布領域における追加画像404の枚数を増やしたため、その分布領域における学習データのバリエーションが増える。これにより、学習部114が、学習データに基づいて、正常と異常とを区別する識別境界を正確に学習することができる。その結果、検査部115が、正常な範囲内で大きく変形した部品を誤って異常であると誤判定する可能性を低減でき、機械学習による異常の有無の判定が不正確になるのを抑制することができる。
【0047】
図5は、外観画像121aの特徴として部品に変形が生じた位置を採用した場合における、追加画像404の生成処理の一例を説明するための模式図である。
【0048】
図5の例では、統計分布の母集団となる複数の外観画像121aを画像セット501で表す。そして、ステップS31においては、統計分布生成部112は、画像セット501に含まれる各外観画像121aの形状を輪郭抽出等の画像処理で抽出する。次いで、統計分布生成部112は、画像セット501における部品の形状の中央値を示す中央値画像を基準値画像502として生成する。なお、統計分布生成部112は、中央値画像に代えて、画像セット501にわたる部品の形状の平均値を示す平均値画像を生成してもよい。
【0049】
更に、統計分布生成部112は、画像セット501に含まれる各外観画像121aと基準値画像502との画素値の差分を位置ごとに算出することで、基準値画像502を基準とした場合に部品に変形が生じた位置を外観画像121aごとに算出する。そして、統計分布生成部112は、画像セット501を母集団とした場合における、変形が生じた位置のばらつきを示す統計分布503を生成する。
【0050】
また、この例では、擦り傷及びシミ等の種々の欠陥画像を保存した異常テンプレート505を予め記憶部120に格納しておく。そして、ステップS33においては、画像生成部113が、外観画像DB121に含まれる外観画像121aに対して画像処理等で加工を行うことで、正常な範囲内で部品の形状が種々に変形した画像を生成する。例えば、画像生成部113は、統計分布503においてばらつきが大きい分布領域ほど変形が大きい画像を多く生成する。
【0051】
画像生成部113は、外観画像DB121から任意の1枚の外観画像121aを取得し、その外観画像121aに対して上記の画像処理を行ってもよい。これに代えて、画像生成部113は、外観画像DB121から複数枚の外観画像121aを取得し、各々の外観画像121aに対して画像処理を行ってもよい。そして、画像生成部113は、このように画像処理が施された画像に異常テンプレート505の欠陥画像を重ねた(合成した)追加画像504を生成する。
【0052】
外観画像121aにおいて欠陥画像を重ねる位置は、その外観画像121aにおいて変形が生じた位置とする。例えば、ある外観画像121aにおいて部品の縁部に変形が生じた場合は、画像生成部113はその縁部に欠陥画像を重ねる。
【0053】
画像生成部113は、異常テンプレート505の欠陥画像に対して回転、拡大、及び縮小のいずれか、又はこれらの組み合わせの処理を行い、処理後の画像を外観画像121aに重ねてもよい。
【0054】
追加画像504には欠陥画像が含まれているが、追加画像504の基になった画像は正常な範囲内で部品の形状が変形した画像である。よって、ステップS34で拡張学習画像DB122に保存する追加画像504の属性情報122bは、正常であることを示す情報となる。
【0055】
外観画像DB121には部品に変形が生じた位置が種々にばらついた外観画像121aが含まれるが、
図4の例と同様に、統計分布503においてばらつきが大きい分布領域にある外観画像121aは、ばらつきが小さい分布領域にある外観画像121aと比較して枚数が少なくバリエーションが少ないと考えられる。
【0056】
そのため、この例のように追加画像504を生成することで、画像のバリエーションを増やすことができ、学習データのバリエーションが豊富になる。更に、その外観画像121aに欠陥画像を重ねることで、変形と欠陥との組み合わせが豊富となり、学習データのバリエーションが一層増える。
【0057】
これにより、学習部114が、変形が生じた位置に欠陥が存在する学習データに基づいて、正常と異常とを区別する識別境界を正確に学習することができる。その結果、検査部115が、正常範囲内での形状ばらつきを誤って異常であると誤判定する可能性を低減できる。
【0058】
図6は、外観画像121aの特徴として外観画像121aの画像全体の輝度を採用した場合における、追加画像の生成処理の一例を説明するための模式図である。
【0059】
図6の例では、統計分布の母集団となる複数の外観画像121aを画像セット601で表す。そして、ステップS31において、統計分布生成部112は、外観画像121aの画像全体の輝度を画像セット601で平均した平均輝度を基準輝度として算出する。なお、統計分布生成部112は、平均輝度に代えて、画像セット601における輝度の中央値を基準輝度として算出してもよい。
【0060】
更に、統計分布生成部112は、画像セット601に含まれる外観画像121aごとに、画像全体の輝度と基準輝度との差を算出し、その差のばらつきを示す統計分布602を生成する。その統計分布602の横軸は基準輝度と輝度との差であり、縦軸は外観画像121aの枚数である。
【0061】
そして、ステップS33において、画像生成部113は、外観画像DB121から外観画像121aを適宜選択する。なお、選択する外観画像121aの枚数は、1枚でもよいし複数枚でもよい。そして、画像生成部113は、選択した外観画像121aに対して輝度補正処理を行うことで、統計分布602における分布の範囲内に基準輝度と輝度との差が収まるような種々の追加画像604を統計分布602に応じた枚数だけ生成する。
【0062】
例えば、画像生成部113は、統計分布602において外観画像121aの枚数が少ない分布領域ほど追加画像604の枚数を多くする。これにより、統計分布602において枚数が少ない画像のバリエーションを増やすことができる。
【0063】
なお、追加画像604の輝度と基準輝度との差は、正常な外観画像121aの統計分布602における分布の範囲内に収まるため、追加画像604に写った部品は正常とみなすことができる。そのため、ステップS34で拡張学習画像DB122に保存する追加画像604の属性情報122bは、正常であることを示す情報となる。
【0064】
この例によれば、統計分布602において枚数が少ない画像のバリエーションが増えるため、学習データにおける輝度のバリエーションが豊富になると共に、学習データにおける輝度の偏りが低減される。そのため、学習部114が、検査対象である部品の色を考慮して正常な部品の外観を学習することができる。その結果、検査部115が、色の相違に起因して正常な部品を誤って異常であると誤判定する可能性を低減できる。
【0065】
図7は、外観画像121aの特徴として外観画像121aのコントラストを採用した場合における、追加画像の生成処理の一例を説明するための模式図である。
【0066】
図7の例では、統計分布の母集団となる複数の外観画像121aを画像セット701で表す。そして、ステップS31において、統計分布生成部112は、画像セット701に含まれる外観画像121aごとに、輝度値と画素数とを関連付けた輝度ヒストグラム702を算出する。次いで、統計分布生成部112は、画像セット701において輝度ヒストグラム702を平均した平均輝度ヒストグラムを基準ヒストグラム703として算出する。
【0067】
更に、統計分布生成部112は、例えば基準ヒストグラム703における最大輝度と最小輝度との差に基づいて基準コントラストを算出する。同様に、統計分布生成部112は、各輝度ヒストグラム702における最大輝度と最小輝度との差に基づいて、画像セット701に含まれる各外観画像121aのコントラストを算出する。そして、統計分布生成部112は、各外観画像121aのコントラストと基準コントラストとの差を算出し、その差のばらつきを示す統計分布704を生成する。その統計分布704の横軸は基準コントラストとコントラストとの差であり、縦軸は外観画像121aの枚数である。
【0068】
そして、ステップS33において、画像生成部113は、外観画像DB121から外観画像121aを適宜選択する。選択する外観画像121aの枚数は、1枚でもよいし複数枚でもよい。そして、画像生成部113は、選択した外観画像121aに対してコントラスト補正処理を行うことで、統計分布704における分布の範囲内に基準コントラストとコントラストとの差が収まるような種々の追加画像705を統計分布704に応じた枚数だけ生成する。
【0069】
一例として、画像生成部113は、統計分布704において外観画像121aの枚数が少ない分布領域ほど、当該ばらつきを有する追加画像705の枚数を多くする。これにより、統計分布704において枚数が少ない画像のバリエーションを増やすことができる。
【0070】
なお、追加画像705のコントラストと基準コントラストとの差は、正常な外観画像121aの統計分布704における分布の範囲内に収まるため、追加画像705に写った部品は正常とみなすことができる。そのため、ステップS34で拡張学習画像DB122に保存する追加画像705の属性情報122bは、正常であることを示す情報となる。
【0071】
この例によれば、統計分布704において枚数が少ない画像のバリエーションが増えるため、学習データにおけるコントラストのバリエーションが豊富になると共に、学習データにおけるコントラストの偏りが低減される。そのため、学習部114が、画像のコントラストを考慮して正常な部品の外観を学習することができる。その結果、検査部115が、画像のコントラストの相違に起因して正常な部品を誤って異常であると誤判定する可能性を低減できる。
【0072】
図8は、外観画像121aの特徴として外観画像121aのノイズ強度を採用した場合における、追加画像の生成処理の一例を説明するための模式図である。
【0073】
図8の例では、統計分布の母集団となる複数の外観画像121aを画像セット801で表す。そして、ステップS31において、統計分布生成部112は、画像セット801に含まれる外観画像121aの各々のノイズを除去したデノイズ画像802を生成する。
【0074】
次いで、統計分布生成部112は、画像セット801の各外観画像121aとそれに対応するデノイズ画像802との差分画像を生成し、その差分画像の画像全体での平均ノイズ強度を算出する。そして、統計分布生成部112は、画像セット801における平均ノイズ強度の平均を基準ノイズ強度として算出する。なお、画像セット801における平均ノイズ強度の中央値を基準ノイズ強度としてもよい。更に、統計分布生成部112は、各外観画像121aの平均ノイズ強度と基準ノイズ強度との差を算出し、その差のばらつきを示す統計分布803を生成する。その統計分布803の横軸は基準ノイズ強度と平均ノイズ強度との差であり、縦軸は外観画像121aの枚数である。
【0075】
そして、ステップS33において、画像生成部113は、外観画像DB121から外観画像121aを適宜選択する。選択する外観画像121aの枚数は、1枚でもよいし複数枚でもよい。そして、画像生成部113は、選択した外観画像121aに対してノイズ付加処理を行うことで、統計分布803における分布の範囲内に基準ノイズ強度と平均ノイズ強度との差が収まるような種々の追加画像804を統計分布803に応じた枚数だけ生成する。
【0076】
一例として、画像生成部113は、統計分布803において外観画像121aの枚数が少ない分布領域ほど追加画像804の枚数を多くする。これにより、統計分布803において枚数が少ない画像のバリエーションを増やすことができる。
【0077】
なお、追加画像804の平均ノイズ強度と基準ノイズ強度との差は、正常な外観画像121aの統計分布803における分布の範囲内に収まるため、追加画像804に写った部品は正常とみなすことができる。そのため、ステップS34で拡張学習画像DB122に保存する追加画像804の属性情報122bは、正常であることを示す情報となる。
【0078】
この例によれば、統計分布803において枚数が少ない画像のバリエーションが増えるため、学習データにおける平均ノイズ強度のバリエーションが豊富になると共に、学習データにおける平均ノイズ強度の偏りが低減される。そのため、学習部114が、画像の平均ノイズ強度を考慮して正常な部品の外観を学習することができる。その結果、検査部115が、撮像環境によるノイズ強度の変化に起因して正常な部品を誤って異常であると誤判定する可能性を低減できる。
【0079】
次に、
図2のステップS23における学習済モデルの生成方法について説明する。
【0080】
図9は、学習済モデルの生成方法の一例について示す模式図である。
【0081】
まず、学習部114が、拡張学習画像DB122から1枚以上の拡張学習画像122aを取得する。ここでは、このように取得した拡張学習画像122aのセットを学習画像セット901と呼ぶ。
【0082】
次に、学習部114が、CNN等の機械学習モデル902に、学習画像セット901の各拡張学習画像122aを学習データとして入力する。これにより、機械学習モデル902は、その内部パラメータに基づいて、拡張学習画像122aに写った部品が正常か異常かを判定し、その判定結果を含む推定評価値903を出力する。推定評価値903には、正常か異常かの判定結果の他に、異常の種類と、異常が発生した位置も含まれる。
【0083】
次いで、学習部114は、推定評価値903と属性情報122bとの誤差を算出し、その誤差が最小になるように機械学習モデル902の内部パラメータを更新する。そして、学習部114は、更新後の内部パラメータを学習済パラメータDB123に格納する。
【0084】
この後は、機械学習モデル902は、学習済パラメータDBに格納された内部パラメータを用いて推定評価値903を出力する。このように学習済パラメータDBに格納された内部パラメータを用いて推定評価値903を出力する機械学習モデル902が学習済モデルである。
【0085】
以上により、学習済モデルを生成するときの基本的な処理を終える。この例によれば、前述の統計分布403、503、602、704、803のいずれかに応じた枚数の追加画像によってバリエーションが増えた拡張学習画像DB122から学習画像セット901の拡張学習画像122aを選択し、それを機械学習モデル902の学習データとする。これにより、バリエーションに富んだ学習データを機械学習モデル902が学習するため、学習済の機械学習モデル902が誤判定する可能性を低減できる。
【0086】
次に、
図2のステップS24における検査の方法について説明する。
【0087】
図10は、検査の方法の一例について示す模式図である。まず、検査部115は、撮像部150によって撮像された部品の検査画像1001を取得する。
【0088】
次いで、検査部115は、機械学習モデル902に学習済パラメータDB123から内部パラメータを読み込ませた後、機械学習モデル902に検査画像1001を入力する。これにより、学習済モデルである機械学習モデル902が、その内部パラメータに基づいて、検査画像1001に写った部品が正常か異常かを判定し、その判定結果を含む推定評価値903を出力する。
【0089】
そして、検査部115は、推定評価値903において正常であることが示されている場合には部品に異常はない(OK)と判定する。一方、推定評価値903において異常であることが示されている場合には、検査部115は、部品に異常がある(NG)と判定する。
【0090】
以上により、部品を検査するときの基本的な処理を終える。
【0091】
図11は、表示部140の表示例を示す模式図である。この例では、表示部140は、外観画像DB121における外観画像121aを表示する。なお、表示部140は、属性情報121bが示す正常と異常との別、及び異常の場合には「擦り傷」等の異常の種類も外観画像121aと共に表示してもよい。
【0092】
また、表示部140は、拡張学習画像DB122における拡張学習画像122aも表示する。このとき、表示部140は、属性情報122bが示す正常と異常との別、及び異常の場合には「シミ」等の異常の種類も拡張学習画像122aと共に表示してもよい。
【0093】
更に、表示部140は、外観画像DB121と拡張学習画像DB122の各々における統計分布も表示する。ここでは、その統計分布として、表示部140が、拡張学習画像DB122における追加画像を生成するために選択した統計分布704、803を表示する。この場合、統計分布704を利用して生成した追加画像705と、統計分布803を利用して生成した追加画像804とが、拡張学習画像DB122の拡張学習画像122aに含まれることになる。
【0094】
外観画像DB121においては、統計分布704に示すように、基準コントラストとコントラストとの差が大きくなるほど画像枚数が少なくなり外観画像121aのバリエーションが不足している。一方、拡張学習画像DB122においては、上向きの矢印で示すように統計分布704のばらつきが解消され、コントラストの大小に関わらず画像枚数がほぼ一様となっている。統計分布803についても同様である。これにより、コントラスト及び平均ノイズ強度の大小に関わらずバリエーションに富んだ拡張学習画像122aを得ることができる。その結果、機械学習モデル902に拡張学習画像122aを学習データとして学習させることで、誤判定の少ない学習済モデルを得ることができる。
【0095】
更に、表示部140は、検査部115が行った検査結果も表示する。この例では、表示部140は、検査画像1001と推定評価値903とを表示する。推定評価値903は、正常である確率と、「シミ」及び「擦り傷」等の異常が含まれている確率とを含む。また、異常がある場合には、表示部140は欠陥位置も表示する。
【0096】
これにより、ユーザは、欠陥の位置と異常の種類とを把握することができる。
【0097】
<第2実施形態>
第1実施形態では、
図4~
図8に示したように、画像取得部111は、外観画像DB121から正常な外観画像121aを取得した。これに対し、本実施形態では、以下のように画像取得部111が外観画像DB121から異常な外観画像121aを取得する。
【0098】
図12は、本実施形態における追加画像の生成処理の一例を説明するための模式図である。
【0099】
まず、
図1のステップS21において、画像取得部111が、外観画像DB121に格納されている全ての外観画像121aのうち、1枚以上の異常な外観画像121aとその属性情報121bとをランダムに取得する。取得した外観画像121aは、統計分布の母集団となる画像であり、以下ではそれらを画像セット1201で表す。
【0100】
次に、ステップS31において、統計分布生成部112が、取得した外観画像121aの各々について、属性情報121bが示す異常の位置にある画素を特定する。次いで、統計分布生成部112が、画像セット1201において特定した画素の分布を示す統計分布1202を生成する。この統計分布1202は、変形に伴う異常が発生した頻度を色の濃さで表した分布であり、色が濃いほど異常が頻発して変形し易く、変形量のばらつきが大きい位置を示す。
【0101】
外観画像DB121には種々の変形量を有する異常な外観画像121aが含まれているが、異常な外観画像121aの多くは変形量が画像セット1201における中央値の近くにあり、変形量が大きい異常な外観画像121aの枚数は統計的には少ないと考えられる。
【0102】
そこで、ステップS31において、画像生成部113は、外観画像DB121から正常な外観画像121aを適宜選択する。選択する外観画像121aの枚数は、1枚でもよいし複数枚でもよい。そして、画像生成部113は、選択した外観画像121aに対して画像処理等の加工を行うことで、種々の追加画像1203を統計分布1202に応じた枚数だけ生成する。
【0103】
このとき、画像生成部113は、統計分布1202において変形量のばらつきが大きい分布領域ほど追加画像1203の枚数を多くする。これにより、異常が生じやすい分布領域における正常な追加画像1203のバリエーションが増やすことができる。その追加画像1203の変形量は、異常な画像セット1201の統計分布1202に応じて定められる。
【0104】
そして、ステップS34において、画像生成部113は、外観画像DB121に含まれる全ての外観画像121aと全ての追加画像1203とを拡張学習画像DB122に保存する。このとき、画像生成部113は、外観画像121aと追加画像1203のそれぞれの属性情報も拡張学習画像DB122に保存する。
【0105】
これにより、前述のように異常が生じやすい領域における正常な拡張学習画像122aのバリエーションが拡張学習画像DB122において増える。その結果、学習部114が、異常と正常を区別する識別境界を正確に学習することができ、検査部115が誤判定する可能性を低減できる。
【0106】
<第3実施形態>
本実施形態では、ステップS23の学習済モデルの生成において自己符号化器を利用する例について説明する。
【0107】
図13は、本実施形態における学習済モデルの生成方法の一例について示す模式図である。
【0108】
本実施形態では、まず学習部114が、拡張学習画像DB122から1枚以上の正常な拡張学習画像122aを取得する。このように取得した拡張学習画像122aのセットを以下では学習画像セット1302と呼ぶ。
【0109】
次に、学習部114が、自己符号化器1303に学習画像セット1302の各拡張学習画像122aを正解データとして入力する。これにより、自己符号化器1303は、内部パラメータに基づいて処理を行い、再構成画像1304を出力する。自己符号化器1303は、入力画像と再構成画像1304とが同じ画像になるように学習するモデルであるため、入力画像と再構成画像1304との誤差が最小になるように内部パラメータを更新する。そして、学習部114が、更新された内部パラメータを学習済パラメータDB123に格納する。
【0110】
この後は、自己符号化器1303は、学習済パラメータDBに格納された内部パラメータを用いて再構成画像1304を出力する。このように学習済パラメータDBに格納された内部パラメータを用いて再構成画像1304を出力する自己符号化器1303が本実施形態における学習済モデルである。
【0111】
以上により、自己符号化器を用いて学習済モデルを生成するときの基本的な処理を終える。
【0112】
次に、
図2のステップS24における検査の方法について説明する。
【0113】
図14は、本実施形態における検査の方法の一例について示す模式図である。まず、検査部115は、撮像部150によって撮像された部品の検査画像1401を取得する。
【0114】
次いで、検査部115は、自己符号化器1303に学習済パラメータDB123から内部パラメータを読み込ませた後、自己符号化器1303に検査画像1401を入力する。これにより、自己符号化器1303は、その内部パラメータに基づいて再構成画像1304を出力する。
【0115】
図13に示したように、自己符号化器1303は、正常な拡張学習画像122aを正解データとして学習しているため、異常のない正常な再構成画像1304を出力する。そのため、検査画像1401に異物が含まれていても、その異物が取り除かれた正常な再構成画像1304が出力される。よって、検査画像1401に異物が含まれていると、検査画像1401と再構成画像1304との差分を取った差分画像1305には異物が含まれることになる。
【0116】
そこで、検査部115は、差分画像1305に異物が含まれている場合には検査対象の部品に異常があると判定し、差分画像1305に異物が含まれていない場合には部品は正常であると判定する。
【0117】
以上により、本実施形態において部品を検査するときの基本的な処理を終える。これによれば、自己符号化器1303が出力した再構成画像1304と検査画像1401との差分を取ることで、部品に異常があるかを検査部115が検査することができる。
【0118】
<ハードウェア構成>
図15は、第1~第3実施形態に係る外観検査装置100のハードウェア構成の一例を示す図である。
【0119】
図15に示すように、外観検査装置100は、撮像装置100a、メモリ100b、プロセッサ100c、記憶装置100d、表示装置100e、入力装置100f、及び読取装置100gを備える。これらの装置はバス100iにより相互に接続される。
【0120】
撮像装置100aは、
図1の撮像部150を実現するためのハードウェアである。例えば、撮像装置100aは、部品の外観を撮像するためのCCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を備えたカメラである。
【0121】
メモリ100bは、DRAM(Dynamic Random Access Memory)等のようにデータを一時的に記憶するハードウェアであって、その上にプログラム124が展開される。
【0122】
プロセッサ100cは、外観検査装置100の各部を制御するCPU(Central Processing Unit)又はGPU(Graphical Processing Unit)である。そのプロセッサ100cがメモリ100bと協働してプログラム124を実行することで
図1の処理部110が実現される。
【0123】
記憶装置100dは、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置であって、プログラム124を記憶する。
【0124】
なお、プログラム124をコンピュータが読み取り可能な記録媒体100hに記録させておき、プロセッサ100cに記録媒体100hのプログラム124を読み取らせるようにしてもよい。
【0125】
記録媒体100hとしては、例えばCD-ROM(Compact Disc - Read Only Memory)、DVD(Digital Versatile Disc)、及びUSB(Universal Serial Bus)メモリ等の物理的な可搬型記録媒体がある。フラッシュメモリ等の半導体メモリやハードディスクドライブを記録媒体100hとして使用してもよい。
【0126】
公衆回線、インターネット、及びLAN(Local Area Network)等に接続された装置にプログラム124を記憶させてもよい。その場合は、プロセッサ100cがそのプログラム124を読み出して実行すればよい。
【0127】
図1の記憶部120は、メモリ100bと記憶装置100dとにより実現される。
【0128】
表示装置100eは、
図1の表示部140を実現するための液晶ディスプレイ又は有機ELディスプレイ等のハードウェアである。入力装置100fは、
図1の入力部130を実現するためのキーボード又はマウス等のハードウェアである。
【0129】
読取装置100gは、記録媒体100hに記録されているデータを読み取るためのCDドライブ等のハードウェアである。
【0130】
本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【0131】
本発明は、上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、
図1の例では外観検査装置100が撮像部150を備えているが、外観検査装置100の外部に撮像部150を設けてもよい。この場合は、LAN又はインターネット等の不図示のネットワークにより撮像部150と外観検査装置100とを接続し、撮像部150が撮像した外観画像121aを外観検査装置100が外観画像DB121に格納すればよい。このような構成を採用することで、外観画像121aを含む拡張学習画像122aを学習データとして学習部114が学習済モデルを生成し、その学習済モデルの内部パラメータを出力するクラウドサービスを外観検査装置100で実現できる。
【0132】
また、上記した各実施形態は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明が、必ずしも説明した全ての構成要素を備えるものに限定されるものではない。また、ある実施形態の構成の一部を、他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に、他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0133】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現されてもよい。各機能を実現するプログラム、判定テーブル、ファイル等の情報は、メモリや、HDD、SSD等の記憶装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、DVD(Digital Versatile Disc)等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0134】
100…外観検査装置、110…処理部、111…画像取得部、112…統計分布生成部、113…画像生成部、114…学習部、115…検査部、120…記憶部、121a…外観画像、121b…属性情報、122a…拡張学習画像、122b…属性情報、124…プログラム、130…入力部、140…表示部、150…撮像部、401、501、601、701、801、1201…画像セット、402…基準値画像、403、503、602、704、803、1202…統計分布、404、504、604、705、804、1203…追加画像、502…基準値画像、505…異常テンプレート、702…輝度ヒストグラム、703…基準ヒストグラム、802…デノイズ画像、901…学習画像セット、902…機械学習モデル、903…推定評価値、1001…検査画像、1302…学習画像セット、1303…自己符号化器、1304…再構成画像、1305…差分画像、1401…検査画像。