JP2024075727A - 画像検査装置、画像検査方法及びプログラム - Google Patents

画像検査装置、画像検査方法及びプログラム Download PDF

Info

Publication number
JP2024075727A
JP2024075727A JP2024048142A JP2024048142A JP2024075727A JP 2024075727 A JP2024075727 A JP 2024075727A JP 2024048142 A JP2024048142 A JP 2024048142A JP 2024048142 A JP2024048142 A JP 2024048142A JP 2024075727 A JP2024075727 A JP 2024075727A
Authority
JP
Japan
Prior art keywords
image
learning
unit
inspection
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2024048142A
Other languages
English (en)
Inventor
竜也 園部
Tatsuya Sonobe
雅巳 森
Masami Mori
聡一朗 田中
Soichiro Tanaka
行矩 関谷
Yukinori Sekiya
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arithmer Inc
Original Assignee
Arithmer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arithmer Inc filed Critical Arithmer Inc
Publication of JP2024075727A publication Critical patent/JP2024075727A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

【課題】検査対象の画像を検査する画像検査装置、画像検査方法及びプログラムを提供する。【解決手段】画像検査装置1は、画像のテストデータを学習器(良品判定部10)に入力して得られる、正常又は異常の分類を示すテスト分類結果を記憶するテスト分類結果記憶部131と、テスト分類結果が、テストデータに関連付けられた正常ラベル又は異常ラベルに一致しない場合、当該一致しないテストデータの画像に類似する画像が学習データに含まれているか否かを判定する類似画像判定部132と、類似画像判定部132の判定結果を出力する判定結果出力部133と、を備える。【選択図】図17

Description

本発明は、検査対象の画像を検査する画像検査装置、画像検査方法及びプログラムに関する。
製品等の検査対象をカメラで撮影した画像を用いて検査対象の良否等を判定する画像検査装置がある。
例えば、特許文献1に記載の画像検査装置は、検査対象を含む学習用画像に基づいてニューラルネットワークの学習を行い、学習用画像の特徴量を出力する学習済みのニューラルネットワークを構築する特徴量学習部と、学習済みのニューラルネットワークが出力した学習用画像の特徴量に基づいて、検査対象の良否を判定する識別器を学習により生成する識別器学習部とを備える。また、この画像検査装置は、検査対象を含む判定用画像を学習済みのニューラルネットワークに入力し、判定用画像の特徴量を出力する特徴量算出部と、特徴量算出部が出力した判定用画像の特徴量を、識別器学習部によって生成された識別器に入力して、検査対象の良否の判定を行う識別部とを有する。
特開2019-87181号公報
ところで、ニューラルネットワークによる画像の学習には、学習用の画像が多数必要とされる。つまり、ニューラルネットワークによって検査対象の良否判定を行うには、良否判定に先立って、ニューラルネットワークの学習のために検査対象の映っている画像を学習用に多数収集しておかなければならない。
しかしながら、少量多品種生産のように検査対象の生産数が少ないと、ニューラルネットワークの学習に必要とされる検査対象の映っている画像を多数集めることが困難な場合がある。
上記課題を解決する画像検査装置は、画像から第1特徴量を抽出する特徴量抽出部と、検査対象物が映された検査画像の前記第1特徴量を次元削減して第2特徴量を算出する次元削減部と、前記第2特徴量に基づいて前記検査画像の異常度を算出し、前記検査画像が異常であるか否かを判定する異常度算出部と、を備え、前記次元削減部は、正常ラベル又は異常ラベルが個別に関連付けられた、複数の教師画像の前記第1特徴量と、前記正常ラベル又は前記異常ラベルとに基づいて導出された学習器とを用いて、前記第1特徴量を次元削減して前記第2特徴量を算出する。
上記課題を解決する画像検査方法は、コンピューターにより実行される画像検査方法であって、画像から第1特徴量を抽出する特徴量抽出ステップと、検査対象物が映された検査画像の前記第1特徴量を次元削減して第2特徴量を算出する次元削減ステップと、前記第2特徴量に基づいて前記検査画像の異常度を算出し、前記検査画像が異常であるか否かを判定する異常度算出ステップと、を備え、前記次元削減ステップは、正常ラベル又は異常ラベルが個別に関連付けられた、複数の教師画像の前記第1特徴量と、前記正常ラベル又は前記異常ラベルとに基づいて導出された学習器とを用いて、前記第1特徴量を次元削減して前記第2特徴量を算出する。
好ましい構成として、前記特徴量抽出部は、前記検査対象物の映されていない画像を一部又は全部に含む画像セットに基づいて学習された所定のネットワーク構造からなる学習器を用いて前記第1特徴量を抽出する。
好ましい構成として、前記異常度算出部は、前記異常ラベルには対応していない、かつ、前記正常ラベルに対応している前記第2特徴量に基づいて導出された学習器を用いて前記異常度を算出する。
好ましい方法として、前記異常度算出ステップは、前記異常ラベルには対応していない、かつ、前記正常ラベルに対応している前記第2特徴量に基づいて導出された学習器を用いて前記異常度を算出する。
好ましい構成として、前記次元削減部の学習器は、前記第2特徴量を前記正常ラベル又は前記異常ラベルへ回帰させることができるように学習される。
好ましい構成として、前記次元削減部の学習器は、部分最小二乗回帰又は主成分回帰により構成されている。
好ましい構成として、前記正常ラベル又は前記異常ラベルが個別に関連付けられた前記複数の教師画像から、前記次元削減部や前記異常度算出部の学習に用いられる複数の学習データと、検査精度の試験に用いられる複数の試験データとを作成するデータセット作成部を備える。
好ましい構成として、前記特徴量抽出部は、前記検査対象物の映されていない画像を一部又は全部に含む画像セットに基づいて学習された所定のネットワーク構造からなる学習器を用いて前記第1特徴量を抽出するものであり、前記特徴量抽出部の学習器に対して、複数の種類のネットワーク構造から1つのネットワーク構造を設定する、及び/又は、前記次元削減部の学習器に対して、複数の種類のモデルから1つのモデルを設定する、自動設定部を備える。
好ましい方法として、前記特徴量抽出ステップは、前記検査対象物の映されていない画像を一部又は全部に含む画像セットに基づいて学習された所定のネットワーク構造からなる学習器を用いて前記第1特徴量を抽出するものであり、前記特徴量抽出ステップにおける学習器に対して、複数の種類のネットワーク構造から1つのネットワーク構造を設定する、及び/又は、前記次元削減ステップにおける学習器に対して、複数の種類のモデルから1つのモデルを設定する、自動設定ステップを備える。
好ましい構成として、前記検査画像の前記第1特徴量に基づいてヒートマップを作成するヒートマップ作成部を備える。
好ましい構成として、前記検査画像の前記第1特徴量と、前記次元削減部の学習器と、前記異常度算出部の学習器と、前記異常度とに基づいて前記第1特徴量の各次元に関連付けられる重みをそれぞれ算出する特徴量重み算出部とを備え、前記ヒートマップ作成部は、前記第1特徴量の各次元を前記関連付けられる重みで重みづけするとともに、前記第1特徴量の各次元のチャンネル方向の総和に基づいて前記ヒートマップを作成する。
好ましい構成として、前記検査画像が異常であるか否かを示す表示と、前記検査画像に対応する前記ヒートマップとを表示する画像表示部をさらに備える。
上記課題を解決するプログラムは、上記記載の画像検査方法をコンピューターに実行させる。
本発明によれば、検査対象の画像を検査する画像検査装置、画像検査方法及びプログラムを提供することができる。
画像検査装置、画像検査方法及びプログラムの一実施形態について、その概略構成を示すブロック図。 同実施形態の良否判定部の構成と入出力データとを示すブロック図。 同実施形態の学習部の構成と入出力データとを示すブロック図。 同実施形態で作成される第1教師データセット、第2教師データセット及び検証データセットの一例を示す図。 同実施形態における第1教師データセットの利用態様を示す図。 同実施形態における第2教師データセットの利用態様を示す図。 同実施形態における検証データセットの利用態様を示す図。 同実施形態における学習部の学習手順を示すフローチャート。 同実施形態における注視箇所算出部の概略構成を示すブロック図。 同実施形態におけるヒートマップの一例を示す図。 同実施形態における特徴量抽出部を説明する説明図。 同実施形態における組合せ決定の手順を示すフローチャート。 画像検査装置、画像検査方法及びプログラムの他の実施形態について、その概略構成を示すブロック図。 画像検査装置の再学習提案機能を説明するための模式図である。 画像検査装置の再学習提案機能を説明するためのフローチャートである。 画像検査装置の学習データ選択機能を説明するための模式図である。 画像検査装置の学習データ判定機能を説明するための模式図である。 画像検査装置の学習データ判定機能を説明するためのフローチャートである。
以下、画像検査装置、画像検査方法及びプログラムを具体化した一実施形態について図を参照して説明する。
(画像検査装置1)
図1に示すように、本実施形態の画像検査装置1は、検査画像の「正常」又は「異常」を画像判定する良否判定部10を備えている。良否判定部10は、検査画像に映っている検査対象物100の「正常」又は「異常」を画像から判定する。また、画像検査装置1は、教師画像の「正常」又は「異常」を高精度に判定するようにパラメータが調整される学習部50を備えている。学習部50は、教師画像に映っている検査対象物100と、その検査対象物100の「正常」又は「異常」の情報とに基づいて、教師画像の「正常」又は「異常」を高精度に判定できるようにモデルや各種パラメータが調整される。
画像検査装置1は、1又は複数の小型コンピューター等の情報処理装置により構成されている。図1では、説明や図示の便宜上、良否判定部10と学習部50とを別々に図示しているが、良否判定部10と学習部50とは1つの構成であってもよい。良否判定部10と学習部50とが1つの構成である場合、良否判定部10及び学習部50のいずれか一方の機能発揮が動作モードの変更で切り替えられるように構成されるものでもよい。また、画像検査装置1は、情報処理装置における演算処理によって良否判定部10や学習部50の機能を実行させるプログラムを有している。プログラムは、情報処理装置の内部記憶装置や通信や読取可能な記憶装置に備えられている。
良否判定部10には、検査対象物100を撮影する画像取得部20から検査画像を入力される。検査対象物100は、例えば、製造設備で生産される任意の製品である。画像取得部20は、CMOSカメラやCCDカメラ等の光学センサーを有するカメラである。また、良否判定部10からは、検査画像に対する「正常」又は「異常」の判定結果が表示部30に出力される。
画像検査装置1は、検査対象物100の異常個所を可視化処理する注視箇所算出部40を備えている。注視箇所算出部40には、良否判定部10の画像処理に関する各種情報が入力される。注視箇所算出部40は、良否判定部10から入力される各種情報を演算処理することによって検査画像において「異常」の判定に寄与度の高い部分を可視化するとともに、表示部30に出力する。表示部30は、可視化された検査対象物100とともに、その異常個所を表示する。
学習部50は、良否判定部10の画像検査に必要な各種パラメータを学習し、良否判定部10に設定する。学習部50には、記憶部60に記憶されたラベル付き学習用画像のデータセットが入力される。ラベル付き学習用画像のデータセットは教師データを含むものである。教師データは、教師画像と、教師画像の「正常」を示す正常ラベル又は「異常」を示す異常ラベルとが関連付けられている。教師データに対する判定結果は、学習部50から検査精度算出部70に出力される。検査精度算出部70は、教師画像に対する判定結果と、同教師画像に関連付けられている正常ラベル又は異常ラベルとの対比に基づいて学習部50の検査精度を算出する。また、画像検査装置1は、情報処理装置における演算処理によって検査精度算出部70や注視箇所算出部40の機能を実行させるプログラムを有している。プログラムは、情報処理装置の内部記憶装置や通信や読取可能な記憶装置に備えられている。
(良否判定部10)
図1に示すように、良否判定部10は、特徴量抽出部11と、次元削減部12と、異常度算出部13とを備えている。
まず、図2を参照して、検査画像IMは、画像検査が実施される検査対象物100の映されている画像である。また、検査画像IMは、周知の画像処理技術によって、検査対象範囲外の画像情報は削除されているなど、検査対象範囲外が良否判定部10における画像処理等に影響を及ぼさない画像でもよい。例えば、検査画像IMは、検査対象範囲として検査対象物100のみが映されている画像である。
特徴量抽出部11は、画像取得部20から入力した検査画像IMから第1特徴量x1を抽出する(特徴量抽出ステップ)。特徴量抽出部11は、検査画像IMから抽出した第1特徴量x1を出力する。
次元削減部12は、特徴量抽出部11から入力する検査画像IMの第1特徴量x1を次元削減して第2特徴量x2を算出する(次元削減ステップ)。次元削減部12は、第2特徴量x2を出力する。
異常度算出部13は、次元削減部12から入力する第2特徴量x2に基づいて検査画像IMの異常度ARを算出し、検査画像IMが「異常」であるか否かを判定する(異常度算出ステップ)。異常度算出部13は、異常度ARを出力するとともに、異常度ARに基づく判定結果として「正常」又は「異常」を出力する。
詳述すると、特徴量抽出部11は、所定のネットワーク構造の1つとしてのニューラルネットワークからなる第1学習器を用いて第1特徴量x1を抽出する。第1特徴量x1は、多次元の特徴量として抽出される。所定のネットワーク構造は、畳み込みニューラルネットワークであって、例えば、「VGG16」、「VGG19」、「ResNet50」、「InceptionV3」、又は「MobileNetV2」である。第1学習器は、ニューラルネットワークが「ImageNet」等の画像認識用データセットで深層学習(ディープラーニング)されている。画像認識用データセットは、撮影されているものの種類等の属性がラベル付けされた一般的な画像データセットである。画像認識用データセットは、検査対象物100の映されていない画像を一部又は全部に含む画像セットでもよい。
次元削減部12は、第1特徴量x1を第2学習器で次元削減して第2特徴量x2を算出する。第2学習器は、いわゆる教師あり学習済みであり、教師あり学習のモデルが部分最小二乗回帰(Partial Least Squares、PLS)又は主成分回帰(Principal Component Regression、PCR)により構成されている。第2学習器は、正常ラベル又は異常ラベルが個別に関連付けられた複数の教師画像の第1特徴量x1と、正常ラベル又は異常ラベルとに基づいて導出されたものである。第2学習器は、第2特徴量x2を正常ラベル又は異常ラベルへ回帰させることができるように学習されている。
異常度算出部13は、正常ラベルに対応している第2特徴量x2に基づいて導出された第3学習器を用いて異常度ARを算出する。第3学習器は、いわゆる教師なし学習のモデルを用いて構成されている。第3学習器は、例えば「OneClassSVM」、「isolation forest」、「local outlier factor」、又は「kernel density estimation」により構成されている。そして、例えば、異常度算出部13は、異常度ARが閾値以上か否かで「正常」か「異常」かを判定する。
(学習部50)
図1を参照して、学習部50は、特徴量抽出部51と、次元削減部52と、異常度算出部53とを備えている。また、学習部50は、データセット作成部55を備えている。
図3に示すように、学習部50は、ラベル付き学習用画像のデータセットTDに基づいて次元削減部52の第2学習器及び異常度算出部53の第3学習器の学習を行う。学習部50は、良否判定部10による検査画像IMに対する「正常」又は「異常」の検査精度が高められるように第2学習器及び第3学習器の学習を行う。そして、学習部50の第2学習器及び第3学習器の学習結果が良否判定部10(図1参照)に反映されることで、良否判定部10(図1参照)による検査画像IM(図2参照)に対する検査精度が高められる。
本実施形態では、説明の便宜上、正常ラベル又は異常ラベルが付加されてなるラベル付き学習用画像のデータセットTDを用いて説明する。ラベル付き学習用画像のデータセットTDは、教師画像TMと、教師画像TMに関連付けられた正常ラベル又は異常ラベルを含んでいる。
教師画像TMは、良否判定部10による画像検査よりも前に利用される画像であって、検査対象物100が映されていて学習部50の学習に用いられる画像である。また、教師画像TMは、検査画像IMと同様に、周知の画像処理技術によって、検査対象範囲外の画像情報は削除されているなど、検査対象範囲外が学習部50における画像処理等に影響を及ぼさないような画像でもよい。例えば、教師画像TMは、検査対象範囲として検査対象物100のみが映されている画像である。
なお、本実施形態のように、正常ラベル及び異常ラベルがメタデータとして教師画像TMに含まれていてもよいし、これと相違した態様、例えば、教師画像TMに関連付けられているのみで教師画像TMとは別になっている情報であってもよい。学習部50は、正常ラベルに関連付けられている教師画像TMを「正常」と判定し、異常ラベルに関連付けられている教師画像TMを「異常」と判定することが精度よく行われるように学習される。つまり、学習部50は、複数のラベル付き学習用画像を学習することで教師画像TMに対する「正常」又は「異常」の判定結果の精度が高められることを通じて、この判定結果をだす学習結果の反映される良否判定部10における検査精度が高められるようにしている。
データセット作成部55は、ラベル付き学習用画像のデータセットTDから学習部50の学習に適した第1教師データセットD1、第2教師データセットD2及び検証データセットD3を作成して出力する。換言すると、ラベル付き学習用画像のデータセットTDは、検査対象物100(図1参照)が映された教師画像TMであって、正常ラベル又は異常ラベルが個別に関連付けられた教師画像TMを含んでいる。なお、ラベル付き学習用画像のデータセットTDは、複数のラベル付き学習用画像からなり、記憶部60(図1参照)に記憶されている。
特徴量抽出部51は、特徴量抽出部11と同様の構成であり、所定のネットワーク構造の1つとしてのニューラルネットワークからなる第1学習器を用いて第1特徴量x1を抽出する。特徴量抽出部51の第1学習器は、画像認識用データセットで深層学習(ディープラーニング)される。特徴量抽出部51の第1学習器の各種パラメータは、特徴量抽出部11の第1学習器の各種パラメータと同一になるように設定できる。また、特徴量抽出部51において学習された第1学習器を、良否判定部10の特徴量抽出部11と供用してもよい。
次元削減部52は、次元削減部12と同様の第2学習器を備えている。次元削減部52は、第1特徴量x1から第2特徴量x2を算出する第2学習器が、第2特徴量x2を正常ラベル又は異常ラベルへ回帰させることができるように教師あり学習される。次元削減部52は、第2学習器に各種パラメータを学習させる学習モードと、第2学習器の各種パラメータを固定させる固定モードとを切り替えることがきる。次元削減部52の第2学習器の各種パラメータは、次元削減部12の第2学習器の各種パラメータと同一になるように設定できる。また、次元削減部52において学習された第2学習器を、良否判定部10の次元削減部12と供用してもよい。
異常度算出部53は、異常度算出部13と同様の第3学習器を備えている。異常度算出部53は、異常度ARを算出する第3学習器が、正常ラベルに対応している第2特徴量x2に基づく教師なし学習によって導出される。また、異常度算出部53は、異常度ARに基づいて「正常」又は「異常」を判定して出力する。例えば、異常度算出部53は、異常度ARが閾値以上か否かで「正常」か「異常」かを判定する。異常度算出部53は、第3学習器に各種パラメータを学習させる学習モードと、第3学習器の各種パラメータを固定させる固定モードとを切り替えることがきる。異常度算出部53の第3学習器の各種パラメータは、異常度算出部13の第3学習器のパラメータと同一になるように設定できる。また異常度算出部53において学習された第3学習器を、良否判定部10の異常度算出部13と供用してもよい。
データセット作成部55は、記憶部60からラベル付き学習用画像のデータセットTDを取得する。
図4に示すように、ラベル付き学習用画像のデータセットTDは、正常ラベルに関連付けられた「n個」のラベル付き学習用画像と、異常ラベルに関連付けられた「m個」のラベル付き学習用画像とを含んでいる。図示の便宜上、正常ラベルに関連付けられたラベル付き学習用画像を「OKデータ」、異常ラベルに関連付けられたラベル付き学習用画像を「NGデータ」と示している。本実施形態では、「n個>m個」である。通常、正常である商品の製造数が異常である商品の製造数より多いことから、「n個>m個」となることが多い。
データセット作成部55は、ラベル付き学習用画像のデータセットTDから、次元削減部学習用の第1教師データセットD1と、異常度算出部学習用の第2教師データセットD2と、検査精度算出用の検証データセットD3とを作成する(データセット作成ステップ)。ここで、第1教師データセットD1と第2教師データセットD2とが複数の学習データに対応し、検証データセットD3が複数の試験データに対応する。
第1教師データセットD1は、「n1個」の「OKデータ」(図においてOK#1)と「m1個」の「NGデータ」(図においてNG#1)とを有する。第2教師データセットD2は、「n2個」の「OKデータ」(図においてOK#2)を有する。検証データセットD3は、「n3個」の「OKデータ」(図においてOK#3)と「m2個」の「NGデータ」(図においてNG#2)とを有する。ここで、「n1+n2+n3=n」であり、「m1+m2=m」である。
詳述すると、データセット作成部55は、「n個」の「OKデータ」を、「n1個」の「OK#1」と、「n2個」の「OK#2」と、「n3個」の「OK#3」とに仕分ける。また、データセット作成部55は、「m個」の「NGデータ」を、「m1個」の「NG#1」と、「m2個」の「NG#2」とに仕分ける。
そして、データセット作成部55は、「n1個」の「OK#1」と「m1個」の「NG#1」とを組み合わせて第1教師データセットD1を作成し、「n2個」の「OK#2」から第2教師データセットD2を作成し、「n3個」の「OK#3」と「m2個」の「NG#2」とを組み合わせて検証データセットD3を作成する。
このとき、第1教師データセットD1は、「OKデータ」の数「n1」と「NGデータ」の数「m1」とが同数又は近い数になるように調整されると好ましい。もし、記憶部60に記憶された「OKデータ」の数と「NGデータ」の数とに偏りがあったとしても、「n1」と「m1」とは同数又は近い数であると好ましい。また、検証データセットD3は、「OKデータ」の数「n3」と「NGデータ」の数「m2」とが同数又は近い数になるように調整されると好ましい。第2教師データセットD2は、「OKデータ」の総数「n」から、「n1」と「n3」とを除いた数に調整されている。より詳しくは、第2教師データセットD2は、「OK#2」が全ての「OKデータ」から「OK#1」と「OK#3」とを除いた残りからなる。なお、試験データに利用される「OK#3」は、学習データと重複しないようにする。学習データと試験データが重複すると、測定された検査精度の信頼性が低下するためである。一方、学習データである「OK#1」及び「OK#2」は一部又は全部が重複してもよい。よって、「OK#2」は、全「OKデータ」の数「n」から、「OK#3」の数「n3」を減じた数以下に調整することができる。
また、データセット作成部55は、第1教師データセットD1、第2教師データセットD2及び検証データセットD3(以下、単にデータセットと記す)の変更を行うことができる。データセットの変更とは、データセット作成部55が複数のラベル付き学習用画像のうちの「OKデータ」の「OK#1」、「OK#2」又は「OK#3」への割り当てと、「NGデータ」の「NG#1」又は「NG#2」への割り当てとの少なくとも一方の割り当てを以前の割り当てと相違するように割り当て直すことである。
図5~図7を参照して、学習部50における、次元削減部52の学習と、異常度算出部53の学習と、異常度算出部53の出力に基づく検査精度の検証とについてそれぞれ説明する。学習部50による学習により得られた各種パラメータは良否判定部10の良否判定に適用される。換言すると、学習部50は、良否判定部10の良否判定に必要な各種パラメータを得るための学習を行う。
図5に示すように、学習部50は、第1教師データセットD1を構成する複数のラベル付き学習用画像に対応する第1特徴量x1に基づいて次元削減部52の第2学習器の学習を行う。この学習は、第1教師データセットD1を構成する全てのラベル付き学習用画像の学習を終了することで完了する。なお、第1教師データセットD1の内容変更や、第1~第3学習器のいずれかのモデル変更や各種パラメータ変更の都度、次元削減部52の第2学習器は学習されることが好ましい。
図6に示すように、学習部50は、第2教師データセットD2を構成する複数のラベル付き学習用画像に対応する第2特徴量x2に基づいて異常度算出部53の第3学習器の学習を行う。この学習は、第2教師データセットD2を構成する全てのラベル付き学習用画像の学習を終了することで完了する。なお、第3学習器の学習は、第1教師データセットD1や第2教師データセットD2の内容変更や、第1~第3学習器のいずれかのモデル変更や各種パラメータ変更の都度、実行されることが好ましい。
図7に示すように、学習部50は、検証データセットD3を構成する複数のラベル付き学習用画像に対応する第2特徴量x2に基づいて「正常」又は「異常」の判定を行う。この判定結果は、検査精度の算出に利用される。なお、第1教師データセットD1、第2教師データセットD2及び検証データセットD3の少なくとも1つの内容変更や、第1~第3学習器のいずれかのモデル変更や各種パラメータ変更の都度、検査精度の検証が行われることが好ましい。
図5を参照して、次元削減部52の学習について説明する。
次元削減部52の学習では、特徴量抽出部51が固定モード(図において「固定」)に設定され、次元削減部52が学習モード(図において「学習」)に設定され、異常度算出部53が未使用又は固定モードに設定される。そして、第1教師データセットD1に含まれる複数のラベル付き学習用画像を順次、データセット作成部55から特徴量抽出部51に入力させて、特徴量抽出部51から出力されるラベル付き学習用画像に対応する第1特徴量x1を次元削減部52に入力させる。
次元削減部52は、第1特徴量x1を第1特徴量x1の次元数よりも小さい次元数である第2特徴量x2に変換させる。例えば、第1特徴量x1が「512次元」であるとすると、それより小さい「32次元」や「64次元」の第2特徴量x2に変換する。なお、次元削減部52には、第2特徴量x2の次元数がハイパーパラメータとして予め設定されている。本実施形態では、第2特徴量x2の次元がハイパーパラメータである。
次元削減部52は、ラベル付き学習用画像の正常ラベル又は異常ラベルに基づいて、入力された第1特徴量x1が「正常」又は「異常」に適切に判定されるようにする教師あり学習を行う。教師あり学習は、第2学習器を構成するモデルについて行われる。モデルは、例えば、主成分回帰又は部分最小二乗回帰からなる。
詳述すると、次元削減部52では、教師あり学習で、下式(1)に示す次元削減関数f(x1)及び下式(2)に示す回帰関数g(x2)を求める。これにより、次元削減部52では、第1特徴量x1よりも小さい次元数で得られる第2特徴量x2を、正常ラベルに対応する「正常」又は異常ラベルに示される「異常」に回帰させることができる。
x2=f(x1)・・・(1)
y =g(x2)=g(f(x1))・・・(2)
例えば、次元削減部52は、入力された第1特徴量x1と、第2教師データセットD2を構成する複数のラベル付き学習用画像の正常ラベル又は異常ラベルとから、次元削減された第2特徴量x2を出力する次元削減関数f(x1)を導出するように学習する。同時に、次元削減部52は、第2特徴量x2の出力を「正常」又は「異常」に回帰させる回帰関数g(x2)を導出するように学習する。そして、次元削減部52は、第2特徴量x2を出力するとともに、「正常」又は「異常」を「0」又は「1」に回帰させる連続値yを出力する。
次元削減関数f(x1)と回帰関数g(x2)との関係を説明する。次元削減関数f(x1)は、「正常(0)」と「異常(1)」とをなるべく区別しやすい方向の次元を第2特徴量x2に残すように働く。このとき、区別しやすい方向の次元を選択的に残すために回帰関数g(x2)の出力が利用される。つまり、次元削減関数f(x1)は、回帰関数g(x2)の出力を使う「教師あり学習」によって、「正常(0)」と「異常(1)」とに区分しやすいように第1特徴量x1を次元削減させて第2特徴量x2を得る関数として得られる。
従来、教師なし学習による次元削減も知られているが、主成分分析などの「教師なし学習」では、ラベル付き学習用画像のラベルを利用せず、第1特徴量x1のばらつきだけに基づく学習での次元削減となる。このため、次元削減する次元削減関数f(x1)が、必ずしもラベルに示される「正常(0)」又は「異常(1)」への判定が高い精度で行えるように導出されるものではない。
これに対し、本実施形態では、より高い精度でラベルに示される「正常(0)」又は「異常(1)」を反映することができる方向に軸を取らせるような次元削減関数f(x1)となるように、回帰関数g(x2)からなる回帰式を使う。具体的には、第2特徴量x2に基づく「正常」又は「異常」の判定が、対応するラベル付き学習用画像の正常ラベル又は異常ラベルに対応するように、次元削減関数f(x1)と回帰関数g(x2)とを同時に学習させる。これにより、上述した主成分分析によって導出される関数よりも高い精度で「正常(0)」又は「異常(1)」を判定することのできる次元削減関数f(x1)を導出することができる。
図6を参照して、異常度算出部53の学習について説明する。
学習部50は、次元削減部52の次元削減関数f(x1)及び回帰関数g(x2)が導出された後、異常度算出部53の第3学習器のモデルに対して教師あり学習を行う。第3学習器のモデルとしては、例えば「OneClassSVM」、「isolation forest」、「local outlier factor」及び「kernel density estimation」を用いることができる。
異常度算出部53の学習では、学習部50は、特徴量抽出部51が固定モードに設定され、次元削減部52が固定モードに設定され、異常度算出部53が学習モードに設定される。そして、第2教師データセットD2に含まれる複数のラベル付き学習用画像を順次、データセット作成部55から特徴量抽出部51に入力させて、次元削減部52から出力される第2特徴量x2を異常度算出部53に入力させる。
異常度算出部53は、入力される第2特徴量x2のうち、正常ラベルに関連付けられているラベル付き学習用画像に対応する第2特徴量x2だけを学習に利用する。異常度算出部53は、正常ラベルに関連付けられているラベル付き学習用画像に対応する第2特徴量x2だけが入力されてもよいし、入力された第2特徴量x2から正常ラベルに関連付けられているラベル付き学習用画像に対応する第2特徴量x2だけを選択的に学習に利用してもよい。そして、異常度算出部53は、正常ラベルに関連付けられている第2特徴量x2に基づいて、第2特徴量x2が「正常」に判定されるようにする教師なし学習を行う。また、学習結果に基づいて得られる「正常」に対するばらつきに基づいて異常度ARを算出できるようにする。
図7を参照して、学習部50による検査精度の算出について説明する。
「正常」又は「異常」の検査精度を算出するとき、学習部50では、特徴量抽出部51が固定モードに設定され、次元削減部52が固定モードに設定され、異常度算出部53が固定モードに設定される。そして、学習部50は、検証データセットD3に含まれる複数のラベル付き学習用画像を順次、データセット作成部55から特徴量抽出部51に入力させて、次元削減部52から出力される第2特徴量x2を異常度算出部53に入力させる。異常度算出部53は、入力された第2特徴量x2に対して異常度ARを算出するとともに、「正常」又は「異常」を判定する。学習部50は、第2特徴量x2に対する異常度算出部53の判定結果と、対応するラベル付き学習用画像に関連付けられている正常ラベル又は異常ラベルとを検査精度算出部70に入力する。
検査精度算出部70は、入力された判定結果の「正常」又は「異常」と、対応する正常ラベル又は異常ラベルとの一致の度合いに基づいて検査精度を算出する。また、検査精度の算出結果は、特徴量抽出部51のモデルと学習された各種パラメータ、次元削減部52のモデル及びハイパーパラメータと学習された各種パラメータの設定、及び、異常度算出部53のモデルと学習された各種パラメータの設定とともに記憶される。よって、検査精度に基づいて記憶された学習部50の設定が再現できるようになっている。なお、検査精度算出部70は、異常度算出部53から異常度ARが入力されたとき、閾値との比較によって異常度ARから「正常」又は「異常」を仕分けてもよい。
(学習部50の学習手順)
図8を参照して、学習部50の学習手順について説明する。ここでは、検査精度が高くなるように次元削減部52と異常度算出部53とが学習される場合について説明する。
学習部50は、特徴量抽出部51、次元削減部52又は異常度算出部53のハイパーパラメータが変更される都度、学習を行う。また、学習部50は、1つのハイパーパラメータについて、複数回のデータセット(第1教師データセットD1、第2教師データセットD2及び検証データセットD3)の変更を行い、データセット作成部55によるデータセットの変更の都度、次元削減部52の学習と、異常度算出部53の学習と、検査精度の算出との手順を繰り返す。これにより、学習部50は、多様なデータセットに対して検査精度が高く算出されるハイパーパラメータと、学習器の各種パラメータとを特定する。
学習部50は、学習手順を開始すると、特徴量抽出部51、次元削減部52及び異常度算出部53にハイパーパラメータを設定する(図8のステップS80)。ハイパーパラメータは、予め値の設定されたリストから順次選択された値でもよいし、初期値から2ビットずつ変化させて生成されたリストから順次選択された値でもよいし、初期値から10ビットずつ変化させて生成されたリストから順次選択された値等でもよい。
次に、学習部50は、データセット作成部55で、データセットを作成する(図8のステップS81)。データセット作成部55は、入力されたラベル付き学習用画像のデータセットTDから「OK#1」、「OK#2」及び「OK#3」と、「NG#1」及び「NG#2」とを作成する。なお、データセット作成部55は、同一のラベル付き学習用画像のデータセットTDの利用が2回目以降である場合、データセットの変更を行う。
データセットが作成されると、学習部50は、次元削減部52の学習(図8のステップS82)と、異常度算出部53の学習(図5のステップS83)と、検査精度の算出(図8のステップS84)とを順次行う。そして、学習部50は、学習及び検査精度算出を繰り返した回数がデータセットの変更回数の上限値である所定の繰返回数になったか否かを判定する(図8のステップS85)。
繰り返し回数が、所定の繰返回数未満である場合(図8のステップS85でNO)、学習部50は、処理をデータセットの作成(図8のステップS81)に戻して、新しく作成したデータセットに基づく学習及び検査精度の算出を行う(図8のステップS82~S84)。
一方、繰り返し回数が、所定の繰返回数である場合(図8のステップS85でYES)、学習部50は、処理を検査精度の集計(図8のステップS86)に進める。検査精度の集計では、繰返回数分の検査精度を集計することに基づいて、当該ハイパーパラメータにおける検査精度を導出する。
続いて、全てのハイパーパラメータの組合せを試したか否かを判定する(図8のステップS87)。全てのハイパーパラメータの組合せを試したことは、予め値の設定されたハイパーパラメータのリストを全て選択したか否かに基づいて判定する。
学習部50は、全てのハイパーパラメータの組合せを試していないと判定した場合(図8のステップS87でNO)、ハイパーパラメータの設定(図8のステップS80)の処理に戻り、新しく設定したハイパーパラメータに基づく学習及び検査精度算出を所定の繰返回数だけ行う(図8のステップS81~S85)。
一方、学習部50は、全てのハイパーパラメータの組合せを試したと判定した場合(図8のステップS87でYES)、全てのハイパーパラメータの組合せに対応する検査精度が得られたことから学習及び検査精度の算出を終了する。
学習部50は、全ての検査精度の算出を終了した後、最も良好であると判定した検査精度を選択する。検査精度は、周知の評価方法に基づいて判定する。周知の評価方法には、例えば、AUC(Area Under the Curve)や、F値や、正解率等が挙げられる。そして、例えば、評価方法による評価結果と、予め設定していた閾値との比較に基づいて、検査精度が最も良好であると判定する。
そして、学習部50は、最も良好な検査精度を出したモデルとハイパーパラメータとに対応する各種パラメータを設定するとともに、この設定が良否判定部10で良否判定に利用できるようにする。
(注視箇所算出部40)
図9を参照して、良否判定部10による検査画像IMの「正常」又は「異常」の判定とともに、注視箇所を算出する注視箇所算出部40について説明する。注視箇所算出部40は、検査画像IMに対応するように、良否判定部10の判定結果に対して貢献の高い個所を注視箇所として表示できるようにする。
良否判定部10は、検査画像IMが入力された特徴量抽出部11から第1特徴量x1を出力し、第1特徴量x1が入力された次元削減部12から第2特徴量x2を出力し、第2特徴量x2が入力された異常度算出部13から異常度ARを出力する。また異常度算出部13は、異常度ARに基づいて「正常」又は「異常」を出力する。
そして、注視箇所算出部40は、良否判定に利用されたモデル及び処理過程における演算結果に基づいて注視箇所を算出する。注視箇所算出部40は、特徴量重み算出部41と、ヒートマップ作成部42とを有する。注視箇所算出部40は、異常度算出部13が「異常」と判定した検査画像IMに対して注視箇所を算出することが好ましいが、「正常」と判定した検査画像IMに対して注視箇所を算出してもよい。
特徴量重み算出部41は、検査画像の第1特徴量x1と、次元削減部12の学習器のモデルと、異常度算出部13の学習器のモデルと、異常度ARとに基づいて第1特徴量x1の各次元に関連付けられる重みをそれぞれ算出する。特徴量重み算出部41は、検査画像IMの判定時に計算される第1特徴量x1と異常度AR及び判定に用いられる次元削減部12のモデルの情報と異常度算出部13のモデルの情報とを入力する。モデルの情報には、モデルの種類と各種パラメータとが含まれる。特徴量重み算出部41は、これらの入力から異常度ARに対する第1特徴量x1の寄与度を、機械学習モデルを解釈する手法により計算して特徴量重みw1として出力する。機械学習モデルを解釈する手法としては、SHAP(SHapley Additive exPlanations)やLIME(local interpretable model-agnostic explanations)等が挙げられる。
ヒートマップ作成部42は、第1特徴量x1の各次元を関連付けられる特徴量重みw1で重みづけするとともに、第1特徴量x1の各次元のチャンネル方向の総和に基づいてヒートマップHMを作成する。
ヒートマップ作成部42は、先に算出された特徴量重みw1で重み付けして各第1特徴量x1のチャネル方向への総和を計算し、重み付き特徴量を得る。ヒートマップ作成部42は、重み付き特徴量の縦横方向のサイズが検査画像IMの縦横方向のサイズと相違するとき、線形補間等の処理で少ない部分等を滑らかにする処理等を行って、検査画像IMと重み付き特徴量との縦横サイズを揃える。そして、ヒートマップ作成部42は、サイズが同じになった重み付き特徴量と検査画像IMとを所定の画像処理により重ね合わせて注視箇所のヒートマップHMとして出力する。ここで、所定の画像処理は、重み付き特徴量と検査画像IMとを重ね合わせた画像において注視箇所が分かりやすく表示されるような処理である。例えば、「異常」の判定に寄与した検査対象物100の部分が注視箇所として表示されるようになる。
表示部30は、良否表示部31と、注視箇所表示部32とを備えている。良否表示部31と注視箇所表示部32とは同じ表示装置であってもよいし、別の表示装置であってもよい。表示装置は、液晶ディスプレイや有機ELディスプレイ等の画像表示が可能な装置である。
良否表示部31は、異常度算出部13から入力した異常度ARに基づいて、検査画像IMの「正常」又は「異常」を表示する。
注視箇所表示部32は、検査画像IMに対応する、注視箇所算出部40から入力したヒートマップHMを表示する。
図10に示すように、注視箇所表示部32にはヒートマップHMが表示される。このヒートマップHMでは、検査対象物100の検査画像IMに対してサイズと重みが調整された第1特徴量x1が重ね合わせられており、異常部分101に対して現れる「異常」判定に寄与度が大きい寄与部分102が視認可能になっている。これにより、検査対象物100のどこに「異常」の判定に寄与した異常部分101があるのかが分かるようになるので検査対象物100の目視検査等の再検査も容易になる。また、第1特徴量x1の各次元の重みに基づく重ね合わせ画像であるため、寄与度の大小が表示の濃さ等に現れるため寄与部分102の優先度の判断が行いやすくなる。
(モデル及び各種パラメータの選択)
図1に示す、自動設定部57について詳述する。学習部50は、検査精度が高く得られるようになる第1~第3学習器のモデル及び各種パラメータの組合せを決める自動設定部57を備えている。
通常、学習部50の検査精度は、特徴量抽出部51の第1学習器のモデル、次元削減部52の第2学習器のモデル及び異常度算出部53の第3学習器のモデルの各特徴に応じて変化する。そこで、自動設定部57は、学習部50に対して複数のモデルの組合せを設定するとともに、学習部50に対する複数のモデルの組合せのそれぞれについて検査精度算出部70の算出した検査精度を比較することで、検査画像IMの「正常」又は「異常」の判定に適したモデルの組合せを得るようにしている(自動設定ステップ)。
本実施形態では、第1学習器のモデルと、第2学習器のモデルと、第3学習器のモデルとがそれぞれ組合せ要素であることに加えて、第1学習器のモデルの特徴量抽出層及び第2学習器のモデルのハイパーパラメータもそれぞれ組合せ要素である。特徴量抽出層は、出力用に設定されている複数の中間層のうちから選択された1つの中間層であり、ハイパーパラメータは、複数の次元から選択された1つの次元である。すなわち、組み合わせの内容は、5つの組合せ要素について、各要素に選択された内容により定まる。また、組み合わせの総数は、5つの要素に対応する各選択肢の数の積より算出できる。
自動設定部57は、複数のモデルの組合せから順次1つの組合せを選択して検査精度を算出し、複数のモデルの各組合せのそれぞれの検査精度を算出する。
自動設定部57は、特徴量抽出部51の第1学習器のモデルを第1要素として、予め設定された複数のネットワーク構造から1つを順次設定する。例えば、複数のネットワーク構造として、畳み込みニューラルネットワークである5つのモデル、「VGG16」、「VGG19」、「ResNet50」、「InceptionV3」及び「MobileNetV2」などが挙げられる。また、これに限らず、複数のネットワーク構造には、独自に生成したモデルを追加してもよい。
自動設定部57は、特徴量抽出部51の第1学習器のモデルの特徴量抽出層を第2要素として、予め設定された複数の中間層から1つの特徴量抽出層を設定する。複数の中間層は、第1要素で設定されるモデルに応じて出力用に設定されている複数の中間層である。
例えば、図11を参照して、特徴量抽出部51の第1学習器のモデルが「VGG16」のとき、「VGG16」の13層の畳み込み層のうち第1~第5ブロックblock1~5に区分された各ブロックにそれぞれ特徴量抽出層が設けられる。よって、自動設定部57は、選択する1つの特徴量抽出層として、順次、第1ブロックblock1、第2ブロックblock2、第3ブロックblock3、第4ブロックblock4及び第5ブロックblock5のうちの1つを選択する。
次元削減部52の第2学習器のモデルを第3要素として、予め設定されている教師あり学習のモデルから1つのモデルを順に設定する。教師あり学習のモデルは、部分最小二乗回帰及び主成分回帰等である。本実施形態では、教師画像を関連付けられたラベルに基づいて学習するモデルに、予め設定されている教師あり学習のモデルが対応する。
次元削減部52の第2学習器のモデルのハイパーパラメータを第4要素として、予め設定されている複数のハイパーパラメータから1つのハイパーパラメータを順に設定する。ハイパーパラメータは、例えば、第1特徴量x1の次元数よりも少ない整数値からなる「32次元」や「64次元」などであり、初期値から終了値までの2次元毎や10次元毎に設けられたパターンに含まれる次元や、予め設定されているリストに含まれる次元である。
異常度算出部53の第3学習器のモデルを第5要素として、予め設定されている複数の教師なし学習のモデルから1つのモデルを順に設定する。教師なし学習のモデルとしては、例えば「OneClassSVM」、「isolation forest」、「local outlier factor」及び「kernel density estimation」を用いることができる。本実施形態では、特定のラベルに関連する教師画像に基づいて学習するモデルに、予め設定されている教師なし学習のモデルが対応する。
学習部50は、自動設定部57で特徴量抽出部51に1つのモデル(ネットワーク構造)及び1つの特徴量抽出層、及び、次元削減部52に1つのモデル(教師あり学習)及びハイパーパラメータ(次元削減後の次元数)、及び異常度算出部53に1つのモデル(教師なし学習)からなる組合せを過去の組合せと重複しないように順次設定する。そして、学習部50は各設定された組合せ毎に検査精度を取得する。
例えば、自動設定部57が設定する組合せは、第1要素として「VGG16」、「VGG19」、「ResNet50」、「InceptionV3」及び「MobileNetV2」のうちの1つを含んでいるとともに、第2要素に1つの特徴量抽出層を含むものである。また、例えば、自動設定部57で設定される組合せは、第3要素に「部分最小二乗回帰」又は「主成分回帰」を含んでいるとともに、第4要素に1つのハイパーパラメータを含むものである。また、例えば、自動設定部57で設定される組合せは、第5要素に「OneClassSVM」、「isolation forest」、「local outlier factor」及び「kernel density estimation」のうちの1つを含むものである。
図12を参照して、モデル及び各種パラメータの選択の手順について説明する。
学習部50は、自動設定部57で組合せの決定をする(図12のステップSB1)。組合せの決定では、全ての組合せのうちから、未選択である1つの組合せが決定される。例えば、第2~第5要素については維持したうえで、第1要素について選択肢が終了するまで順に次の選択肢を設定することを繰り返す設定サイクルを行う。続いて、第2~第5要素のいずれか1つについて選択肢を変更する毎に、上述の設定サイクルを繰り返すことで、すべての組合せの設定を選択することができる。
学習部50は、組合せを決定すると自動設定部57で、組合せの設定を行う(図12のステップSB2)。自動設定部57は、選択した1つの組合せとなるように、特徴量抽出部51の第1学習器のモデル、同モデルの特徴量抽出層、次元削減部52の第2学習器のモデル、同モデルのハイパーパラメータ及び異常度算出部53の第3学習器のモデルをそれぞれ設定する。
学習部50は、組合せの設定が完了すると検査精度の測定を行う(図12のステップSB3)。検査精度の測定では、データセット作成部55で作成された学習データで学習部50が学習される。続いて、試験データに対して得られた判定結果に基づいて検査精度算出部70で検査精度が測定される。
学習部50は、検査精度が測定されると、測定された検査精度を記憶する(図12のステップSB4)。検査精度は、決定された組合せの内容と、測定された検査精度とが関連付けられて記憶部等に記憶される。
次に学習部50は、自動設定部57による全組合せを選択したか否かを判定する(図12のステップSB5)。学習部50は、自動設定部57による全組合せの選択が終了していないと判定した場合(図12のステップSB5でNO)、組合せの設定の処理(図12のステップSB1)に戻り、次の組合せの設定、検査精度の測定及び検査精度の記憶(図12のステップSB2~SB4)を行う。
一方、学習部50は、自動設定部57による全組合せの選択が終了したと判定した場合(図12のステップSB5でYES)、検査精度の高い組合せを選択する(図12のステップSB6)。
そして、学習部50は、選択された検査精度の高い組合せを学習部50に設定する(図12のステップSB7)とともに、この学習部50に設定された組合せを良否判定部10に反映させる。これにより、検査精度の高い組合せ(モデル及び各種パラメータ)が設定された良否判定部10によって、高い検査精度で検査画像IMに対する「正常」又は「異常」が判定されるようになる。
以上説明したように、本実施形態に係る画像検査装置、画像検査方法及びプログラムによれば、以下に記載する効果が得られる。
(1)画像検査装置1は、入力された検査画像IMを「正常」又は「異常」に判定することができる。この判定を行うため、次元削減部52は、正常ラベル及び異常ラベルが個別に関連付けられた教師画像TMの第1特徴量x1に対して、教師画像TMを「正常」又は「異常」に判定するための学習を行う。一般に、ラベル付き教師画像TMによる次元削減部52の学習に必要とされる画像数は、特徴量を抽出する特徴量抽出部51の学習に必要とされる画像数よりも少ない。よって、少ない教師画像TMからであっても検査画像IMを判定することのできる画像検査装置1を提供することができる。
補足すると、特徴量抽出部51は、一般的な画像認識用データセット(画像セット)で学習されるものである。このような画像認識用データセットは検査対象物100の映されていない画像を一部又は全部に含むものである。そのため、特徴量抽出部51の学習に際し、検査対象物100の映っている教師画像TMは必ずしも必要ではない。よって、検査対象物100の映っている教師画像TMを、次元削減部52の学習に必要とされる数だけ準備すれば学習部50を学習させることができる。
(2)特徴量抽出部51を学習させる教師画像TMとして一般的な画像認識用データセット(画像セット)が利用できるため、検査対象物100の映っている教師画像TMを必要数だけ収集するための手間や時間が不要となる。
(3)異常度ARの算出が、正常ラベルに対応する第2特徴量x2に基づいて導出された第3学習器を有する異常度算出部53で行われる。このとき、異常度算出部53は、次元削減部52とは相違する観点の学習、つまり正常データに対する教師なし学習により学習されているので次元削減部52の判定と併せてより適切な判定ができるようになる。
詳述すると、次元削減部52は線形であるので精度が高められづらいとともに、教師あり学習であるため教師画像TMに含まれない種類の異常を判定することが難しい傾向にある。そこで、異常度算出部53で「正常」な教師画像TMのみを学習することで「正常」な状態が精度よくモデリングされてより適切に「正常」又は「異常」を判定できるようになる。
(4)次元削減部52の第2学習器が、ラベル付きの教師画像TMを用いて、部分最小二乗回帰又は主成分回帰等の手法で構築されるので、第1特徴量x1から算出される第2特徴量x2を正常ラベル又は異常ラベルへ回帰させることができる。
(5)画像検査装置1はデータセット作成部55を具備するので、正常ラベル又は異常ラベルが個別に関連付けられている検査対象物100が映された学習用画像のデータセットTDから、複数の学習データ(第1教師データセットD1と第2教師データセットD2)や複数の試験データ(検証データセットD3)を作成できる。すなわち、第1教師データセットD1は、正常ラベルに関連付けられた画像及び異常ラベルに関連付けられた画像から作成される。また、第2教師データセットD2は、正常ラベルのみに関連付けられた画像から作成される。なお、第1教師データセットD1は次元削減部52の学習に用いられ、第2教師データセットD2は異常度算出部53の学習に用いられる。
(6)画像検査装置1は自動設定部57を具備するので、1つのネットワーク構造と1つの特徴量抽出層とを特徴量抽出部51の第1学習器に設定し、関連付けられたラベルに基づいて教師画像TMを学習する1つのモデルを次元削減部52の第2学習器に設定できる。また、画像検査装置1は自動設定部57を具備するので、異常度算出部53の第3学習器に正常ラベルの教師画像TMを学習する1つのモデルを設定できる。また、画像検査装置1は自動設定部57を具備するので、モデル及び各種パラメータの複数の組合せのうち検査精度が良好である組合せを、特徴量抽出部51のネットワーク構造と特徴量抽出層、及び次元削減部52の第2学習器、及び異常度算出部53の第3学習器に設定できる。
(7)画像検査装置1はヒートマップ作成部42を具備するので、各次元が関連付けられる特徴量重みw1で重みづけされた第1特徴量x1のチャンネル方向の総和により作成されるヒートマップHMを出力できる。
(8)画像検査装置1は、異常であるか否かと、ヒートマップHMとを表示部30に表示できる。これにより、検査対象物100の部分であって、異常の判定に寄与した部分が目視できるようになる。
(その他の実施形態)
・良否判定部10と学習部50とがそれぞれ相違する小型コンピューター等の情報処理装置として構成されていてもよい。このとき、これらの2つの情報処理装置の全体又は一部の組合せで画像検査装置1が構成される。
・図13に示すように、良否判定装置110と、画像取得装置120と、学習装置150と、データサーバ160とがインターネット等の通信回線180を介して、相互に情報伝達可能に接続されていてもよい。このとき、良否判定装置110は良否判定部10と表示部30と注視箇所算出部40とを備え、画像取得装置120は画像取得部20を備え、学習装置150は学習部50と検査精度算出部70とを備え、データサーバ160は記憶部60を備える。これにより、上記実施形態の画像検査装置1と該画像検査装置1に接続される各装置とからなる構成と同等の構成を得ることができる。
なお、良否判定装置110と、画像取得装置120と、学習装置150と、データサーバ160とのうちの2つ又は3つが1つの装置、例えば、良否判定装置110と画像取得装置120とが1つの装置であるような構成であってもよい。
・上記実施形態では、検査画像IMは、検査対象範囲として検査対象物100のみが映されている画像である場合について例示したが、これに限らず、検査対象範囲外のばらつきを含んだデータセットの学習結果として良否判定部10で除かれてもよい。
・画像検査装置1は良否判定部10と学習部50とを備えるものとしたが、画像検査装置1は必ずしも学習部50を備えるものでなくてもよい。第1~第3学習器の情報が予め設定された良否判定部10のみから画像検査装置1が構成されてもよい。
・次元削減部12の判定結果を利用して検査画像IMが「正常」であるか「異常」であるかを判定してもよい。この場合、異常度算出部13を利用しない構成とすることができる。
・自動設定部57では、第1~第5要素はそれぞれ、それらの選択肢の全部が設定されることに限らず、それらの選択肢の一部が設定されてもよい。例えば、検査精度に対する影響の少ない選択肢を設定しないようにしてもよいし、逆に、そうした選択肢を設定するようにしてもよい。これにより、検査精度を算出する回数や算出に要する時間を減らすことができるようになる。
・自動設定部57では、第1~第5要素からなる5つの要素の組合せを設定する場合について説明したが、一部の要素が除外された組合せ、つまり1つ、2つ、3つ、又は4つの要素の組合せを設定して検査精度を測定するようにしてもよい。これにより、設定が不要な要素がある構成にも自動設定部57を利用して、学習部50及び良否判定部10にモデル等を設定することができる。
(追加機能)
上述した画像検査装置1は、正常ラベル又は異常ラベルが個別に関連付けられた画像の学習データを用いて学習された学習器を含み、検査対象物が映された検査画像を正常又は異常に分類するものである。この画像検査装置1を構成する情報処理装置は、プログラムが読み込まれることにより、以下の追加機能を実現することが可能である。
なお、以下の説明において既に説明した構成については略同一符号を付して説明を省略する。
(1)再学習提案機能
画像検査装置1では、正常に分類される画像の傾向が、時間が経つにつれて変化することがある。これにより、画像検査装置1の検査精度が低下することがある。そこで画像検査装置1は、以下の構成を具備することで検査精度を維持する。
画像検査装置1は、図14に示すように、基準値記憶部111と、分類結果記憶部112と、再学習判定部113とを備えることができる。また、画像検査装置1は学習器(良品判定部10)を有しており、学習器が学習データの特徴量を抽出する。
基準値記憶部111は、学習データから得られる基準値を記憶する。ここで、基準値は、正常ラベルが関連付けれた画像の学習データから抽出された特徴量の平均ベクトル及び分散共分散行列とする。
分類結果記憶部112は、検査画像と、当該検査画像が正常又は異常のいずれかに分類されたことを示す分類結果とを関連付けて記憶する。
再学習判定部113は、正常に分類された検査画像から得られる判定値と、基準値とに基づいて学習器の再学習が必要か否かを判定する。ここで、再学習判定部113は、所定の判定期間に対応する分類結果に基づいて、学習器の再学習が必要か否かを判定する。具体的に、再学習判定部113は、正常ラベルが関連付けられた画像の学習データから得られる特徴量の分布の代表点から、検査画像から得られる特徴量までの所定距離を特徴量の各次元の分散で正規化した距離空間における長さを用いて算出し、その所定距離に基づいて再学習が必要であるか否かを判定する。例えば、所定距離として、マハラノビス距離が採用される。
図15は画像検査装置の再学習提案機能を説明するためのフローチャートである。
画像検査装置1は、良品判定部10で用いられる学習器を生成する(SC1)。この際、画像検査装置1は、学習データから基準値を計算し、計算した基準値を記憶する(SC2)。
次に、画像検査装置1は、検査画像の分類を所定期間が経過するまで実行する(SC3,SC4)。この際、画像検査装置1は、検査画像と、当該検査画像が正常又は異常のいずれかに分類されたことを示す分類結果とを関連付けて記憶する。
次に、画像検査装置1は、正常に分類された検査画像から判定値を算出する。そして、画像検査装置1は判定値と基準値とに基づいて学習器の再学習が必要か否かを判定する(SC5)。画像検査装置1は判定の結果、再学習が必要だと判定した場合、その旨をユーザに提案する情報を出力する(SC5-Yes,SC6)。
以上説明したような画像検査装置1では、正常に分類された検査画像から得られる判定値と、学習データから得られる基準値とに基づいて学習器の再学習が必要か否かを判定するので、画像検査装置1の検査精度を維持したまま継続して使用することが可能である。補足すると、画像検査装置1では、検査対象物が映される撮影環境などが変化することで、検査画像の特徴量が変化することがある。これに対し、上述した画像検査装置1であれば、検査対象物の撮影環境などに変化が生じ、正常に分類される画像の傾向に変化が生じた場合、再学習が必要であることを通知できるので、画像検査装置1の検査精度の低下を抑えることができる。
また、ここでは、所定の判定期間に対応する分類結果に基づいて、学習器の再学習が必要か否かを判定するので、定期的に再学習の必要性を判定できる。また、正常ラベルが関連付けれた画像の学習データから抽出された特徴量の分布を示す値を基準値とするので、検査画像の変化の傾向を捉えることができる。また、画像検査装置1は、正常ラベルが関連付けられた画像の学習データから得られる特徴量の分布を示す値を基準値とし、検査画像から得られる特徴量までの所定距離を算出することで、特徴量の分布に対する変化の傾向を捉えることができる。
なお、画像検査装置1は、判定期間の入力を受け付ける判定期間受付部をさらに備えるものであってもよい。このような構成であれば、ユーザの利用環境に応じた判定期間を設定できる。
(2)学習データ選択機能
画像検査装置1では、多数の画像から学習データを抽出する場合、互いに類似する画像が学習データに含まれて画像の特徴に偏りが生じ、画像検査装置1の検査精度が高まらないことがある。そこで画像検査装置1は、以下の構成を具備することで、学習データを適切に選択して検査精度を維持する。
画像検査装置1は、図16に示すように、画像データ分類部121と、学習データ生成部122とを備えることができる。
画像データ分類部121は、学習データの元となる画像のデータを所定数のグループに分類する。
学習データ生成部122は、画像データ分類部121により分類された各グループから所定数の画像のデータを抽出し、抽出した画像のデータを学習データとする。
画像検査装置1は、上述した構成を具備することにより、多数の画像から学習データを抽出する場合でも、画像の特徴に偏りが生じるのを回避することができる。さらに、学習データを減らすことで、学習に要する計算時間を短くすることができる。例えば、一般的に異常ラベルが付される画像に比して正常ラベルが付させる画像は多数集めることができる。そのため、互いに類似する正常ラベルが付された画像から学習データが抽出される場合がある。上述した学習データ選択機能を有する画像検査装置であれば、このような場合でも、学習データの画像の特徴に偏りが生じるのを回避することができる。結果として、画像検査装置1は検査精度を維持できる。
(3)学習データ判定機能
画像検査装置1において、学習データの数が少ない場合、検査対象となる画像に、学習データの特徴の傾向とは異なるものが含まれることがある。例えば、本来、学習データに含めるべきデータが学習データには含まれておらず、検査画像にそのようなデータが含まれている場合、画像検査装置1の検査精度が高くならないことがある。そこで画像検査装置1は、以下の構成を具備することで、学習データの妥当性を判定し、適切な学習データの選択を促して検査精度を維持する。
画像検査装置1は、図17に示すように、テスト分類結果記憶部131と、類似画像判定部132と、判定結果出力部133とを備えることができる。
テスト分類結果記憶部131は、正常ラベル又は異常ラベルが個別に関連付けられた画像のテストデータを学習器(良品判定部10)に入力して得られる、正常又は異常の分類を示すテスト分類結果を記憶する。ここで、テストデータは、学習器(良品判定部10)により出力された検査画像の正常又は異常の分類の正否を検証するための画像データである。なお、画像検査装置1で検査した検査画像に対して後から正常ラベル又は異常ラベルを個別に関連付けた検査画像をテストデータとして扱ってもよい。
類似画像判定部132は、テスト分類結果が、テストデータに関連付けられた正常ラベル又は異常ラベルに一致しない場合、当該一致しないテストデータの画像に類似する画像が学習データに含まれているか否かを判定する。なお、テストデータの画像と、学習データに含まれる画像との類似度は、各画像から抽出される特徴量に基づいて判定される。
判定結果出力部133は、類似画像判定部132の判定結果を出力する。
図18は画像検査装置1の学習データ判定機能を説明するためのフローチャートである。
画像検査装置1は、良品判定部10で用いられる学習器を生成する(SE1)。
次に、画像検査装置1は、検査画像のテストデータを入力する(SE2)。続いて、画像検査装置1は、良品判定部10により出力された検査画像の正常又は異常の分類を示すテスト分類結果を記憶する(SE3)。
次に、画像検査装置1は、テスト分類結果と、テストデータに関連付けられたラベルとが一致するか否かを判定する(SE4)。
画像検査装置1は、テスト分類結果と、テストデータに関連付けられたラベルとが一致しないと判定した場合、一致しないテストデータの画像に類似する画像が学習データに含まれているか否かを判定する(SE5)。
画像検査装置1は、ステップSE5において、テスト分類結果に一致しないテストデータの画像に類似する画像が学習データに含まれている場合は、学習データのバリエーションは十分であると判定する(SE5-Yes,SE6)。この場合、画像検査装置1は、学習データのバリエーションは十分であるが、再学習することで画像検査装置1の検査精度を高められる可能性がある旨を判定結果として出力する(SE8)。
一方、画像検査装置1は、ステップSE5において、テスト分類結果に一致しないテストデータの画像に類似する画像が学習データに含まれていない場合は、学習データのバリエーションが不足していると判定する(SE5-No,SE6)。この場合、画像検査装置1は、それらのテスト分類結果に一致しないテストデータの画像を学習データに加えて再学習することで画像検査装置1の検査精度を高められる可能性がある旨を判定結果として出力する(SE8)。
以上説明したような画像検査装置1では、テスト分類結果が、テストデータに関連付けられた正常ラベル又は異常ラベルに一致しない場合、当該一致しないテストデータの画像に類似する画像が学習データに含まれているか否かを判定して出力するので、学習データのバリエーションが十分でなかったことをユーザに認識させることができる。換言すると、画像検査装置1は、学習データの妥当性を判定し、適切な学習データの選択を促して検査精度を維持することができる。
1…画像検査装置、10…良否判定部、11…特徴量抽出部、12…次元削減部、13…異常度算出部、20…画像取得部、30…表示部、31…良否表示部、32…注視箇所表示部、40…注視箇所算出部、41…量重み算出部、42…ヒートマップ作成部、50…学習部、51…特徴量抽出部、52…次元削減部、53…異常度算出部、55…データセット作成部、57…自動設定部、60…記憶部、70…検査精度算出部、100…検査対象物、111…基準値記憶部、112…分類結果記憶部、113…再学習判定部、121…画像データ分類部、122…学習データ生成部、131…テスト分類結果記憶部、132…類似画像判定部、133…判定結果出力部、HM…ヒートマップ、IM…検査画像、TD…ラベル付き学習用画像のデータセット、TM…教師画像。
 

Claims (5)

  1. 正常ラベル又は異常ラベルが個別に関連付けられた画像の学習データを用いて学習された学習器から生成され、検査対象物が映された検査画像を正常又は異常に分類する画像検査装置であって、
    正常ラベル又は異常ラベルが個別に関連付けられた画像のテストデータを前記学習器に入力して得られる、正常又は異常の分類を示すテスト分類結果を記憶するテスト分類結果記憶部と、
    前記テスト分類結果が、前記テストデータに関連付けられた正常ラベル又は異常ラベルに一致しない場合、当該一致しないテストデータの画像に類似する画像が前記学習データに含まれているか否かを判定する類似画像判定部と、
    前記類似画像判定部の判定結果を出力する判定結果出力部と、
    を備える画像検査装置。
  2. 前記類似画像判定部は、前記テスト分類結果に一致しないテストデータの画像に類似する画像が学習データに含まれていないと判定した場合、学習データのバリエーションが不足していると判定する、
    請求項1に記載の画像検査装置。
  3. 正常ラベル又は異常ラベルが個別に関連付けられた画像の学習データを用いて学習された学習器から生成され、検査対象物が映された検査画像を正常又は異常に分類する画像検査装置のコンピュータを、
    正常ラベル又は異常ラベルが個別に関連付けられた画像のテストデータを前記学習器に入力して得られる、正常又は異常の分類を示すテスト分類結果を記憶するテスト分類結果記憶部、
    前記テスト分類結果が、前記テストデータに関連付けられた正常ラベル又は異常ラベルに一致しない場合、当該一致しないテストデータの画像に類似する画像が前記学習データに含まれているか否かを判定する類似画像判定部、
    前記類似画像判定部の判定結果を出力する判定結果出力部、
    として機能させるプログラム。
  4. 正常ラベル又は異常ラベルが個別に関連付けられた画像の学習データを用いて学習された学習器から生成され、検査対象物が映された検査画像を正常又は異常に分類する画像検査装置であって、
    前記学習データの元となる画像のデータを所定数のグループに分類する分類部と、
    前記分類部により分類された各グループから所定数の画像のデータを抽出し、抽出した画像のデータを前記学習データとする学習データ生成部と、
    を備える、画像検査装置。
  5. 正常ラベル又は異常ラベルが個別に関連付けられた画像の学習データを用いて学習された学習器から生成され、検査対象物が映された検査画像を正常又は異常に分類する画像検査装置のコンピュータを、
    前記学習データの元となる画像のデータを所定数のグループに分類する分類部、
    前記分類部により分類された各グループから所定数の画像のデータを抽出し、抽出した画像のデータを前記学習データとする学習データ生成部、
    として機能させるプログラム。

JP2024048142A 2020-05-02 2024-03-25 画像検査装置、画像検査方法及びプログラム Pending JP2024075727A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020081625 2020-05-02
JP2020081625 2020-05-02
PCT/JP2021/016866 WO2021225097A1 (ja) 2020-05-02 2021-04-27 画像検査装置、画像検査方法及びプログラム
JP2022519936A JPWO2021225097A1 (ja) 2020-05-02 2021-04-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022519936A Division JPWO2021225097A1 (ja) 2020-05-02 2021-04-27

Publications (1)

Publication Number Publication Date
JP2024075727A true JP2024075727A (ja) 2024-06-04

Family

ID=78372212

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2020137534A Active JP6989860B2 (ja) 2020-05-02 2020-08-17 画像検査装置、画像検査方法及びプログラム
JP2022519936A Pending JPWO2021225097A1 (ja) 2020-05-02 2021-04-27
JP2024048142A Pending JP2024075727A (ja) 2020-05-02 2024-03-25 画像検査装置、画像検査方法及びプログラム

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2020137534A Active JP6989860B2 (ja) 2020-05-02 2020-08-17 画像検査装置、画像検査方法及びプログラム
JP2022519936A Pending JPWO2021225097A1 (ja) 2020-05-02 2021-04-27

Country Status (2)

Country Link
JP (3) JP6989860B2 (ja)
WO (1) WO2021225097A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023132481A (ja) * 2022-03-11 2023-09-22 パナソニックIpマネジメント株式会社 画像処理装置および画像処理方法
WO2024079991A1 (ja) * 2022-10-12 2024-04-18 パナソニックIpマネジメント株式会社 分類モデル生成システム、分類モデル生成方法及びプログラム
JP7366325B1 (ja) * 2022-12-14 2023-10-20 三菱電機株式会社 情報処理装置
WO2024127684A1 (ja) * 2022-12-14 2024-06-20 三菱電機株式会社 情報処理装置
CN116664966B (zh) * 2023-03-27 2024-02-20 北京鹰之眼智能健康科技有限公司 一种红外图像处理系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002174603A (ja) 2000-12-08 2002-06-21 Olympus Optical Co Ltd 欠陥分類方法
JP2007027263A (ja) * 2005-07-13 2007-02-01 Canon Inc 露光装置および方法、位置検出装置および方法、ならびにデバイス製造方法
US10102451B2 (en) 2015-10-13 2018-10-16 Elekta, Inc. Pseudo-CT generation from MR data using tissue parameter estimation
JP6646234B2 (ja) 2015-10-22 2020-02-14 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム
JP2019531560A (ja) 2016-07-05 2019-10-31 ナウト, インコーポレイテッドNauto, Inc. 自動運転者識別システムおよび方法
CN110036279B (zh) 2016-12-06 2022-03-15 三菱电机株式会社 检查装置和检查方法
US10249389B2 (en) 2017-05-12 2019-04-02 The Regents Of The University Of Michigan Individual and cohort pharmacological phenotype prediction platform
JP7074460B2 (ja) * 2017-11-10 2022-05-24 アズビル株式会社 画像検査装置および方法
JP6958277B2 (ja) * 2017-11-20 2021-11-02 日本製鉄株式会社 異常判定方法及び装置
JP2019170881A (ja) 2018-03-29 2019-10-10 大日本印刷株式会社 コンピュータプログラム、分類装置、分類方法、画像出力装置及び画像出力装置の動作方法

Also Published As

Publication number Publication date
JPWO2021225097A1 (ja) 2021-11-11
JP2021176070A (ja) 2021-11-04
JP6989860B2 (ja) 2022-01-12
WO2021225097A1 (ja) 2021-11-11

Similar Documents

Publication Publication Date Title
JP2024075727A (ja) 画像検査装置、画像検査方法及びプログラム
JP6573226B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
US11599803B2 (en) Soldering process parameter suggestion method and system thereof
JP6693938B2 (ja) 外観検査装置
WO2018203470A1 (en) Learning apparatus, learning method, and learning program
KR20190075707A (ko) 딥러닝을 이용한 양품 선별 방법
JP7102941B2 (ja) 情報処理方法、情報処理装置、及びプログラム
CN102129563B (zh) 感官检查装置及感官检查方法
CN110352389A (zh) 信息处理装置及信息处理方法
JP2019159961A (ja) 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置
JP2020198092A (ja) 教師なし異常検出及び高次元センサデータの多数決投票による原因説明のための方法及びシステム
EP4068140A1 (en) Method and system for optimizing a simulation model using machine learning
Parthasarathy et al. Controlled time series generation for automotive software-in-the-loop testing using GANs
JP7354421B2 (ja) エラー要因の推定装置及び推定方法
CN114139589A (zh) 故障诊断方法、装置、设备与计算机可读存储介质
JP5218084B2 (ja) 検査方法
JP2020042669A (ja) 検査装置及び機械学習方法
TW202221549A (zh) 優化光譜儀的輸出結果的方法及使用該方法的電子裝置
US20240045923A1 (en) Information processing device, information processing method, and computer program product
JP2023145412A (ja) 欠陥検出方法及びシステム
US20220215144A1 (en) Learning Apparatus, Learning Method and Learning Program
CN107122496B (zh) 基于类别分析法的近红外光谱物质含量索引方法、设备及介质
US20230021965A1 (en) Methods and systems for assessing printed circuit boards
JP7099296B2 (ja) 評価方法、システム構築方法、及び評価システム
KR20220147036A (ko) 생산 과정을 통하여 생산되는 제품 관련 예측 수행 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240522