JP6818961B1 - 学習装置、学習方法、および推論装置 - Google Patents

学習装置、学習方法、および推論装置 Download PDF

Info

Publication number
JP6818961B1
JP6818961B1 JP2020549084A JP2020549084A JP6818961B1 JP 6818961 B1 JP6818961 B1 JP 6818961B1 JP 2020549084 A JP2020549084 A JP 2020549084A JP 2020549084 A JP2020549084 A JP 2020549084A JP 6818961 B1 JP6818961 B1 JP 6818961B1
Authority
JP
Japan
Prior art keywords
data
learning
divided data
divided
inference
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.)
Active
Application number
JP2020549084A
Other languages
English (en)
Other versions
JPWO2021205573A1 (ja
Inventor
有作 今野
有作 今野
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6818961B1 publication Critical patent/JP6818961B1/ja
Publication of JPWO2021205573A1 publication Critical patent/JPWO2021205573A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0008Industrial image inspection checking presence/absence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

学習装置(10)が、学習対象のフルサイズのデータである学習対象データを取得するデータ取得部(11)と、学習対象データを分割して学習対象データの分割データである第1の分割データを複数生成するとともに、第1の分割データのそれぞれに第1の分割データの学習対象データ内での領域を識別する第1の識別情報を付与するデータ生成部(16)と、第1の分割データと、第1の分割データに対応する第1の識別情報と、の組である第1の対応情報を用いて、第1の分割データの異常を判断するための学習済モデル(31)を生成するモデル生成部(14)と、を備える。

Description

本開示は、検査対象の正常な状態を学習する学習装置、学習方法、および推論装置に関する。
製品が製造される際には、製品の検査が、機械学習によって行われる場合がある。機械学習を行う学習装置は、例えば、多層のニューラルネットワークなどを用いて、製品の検査を行っている。
特許文献1に記載の異変検出装置は、学習用の正常な画像データを入力し、出力データが、学習用の正常な画像データと同じになるように機械学習している。この異変検出装置は、学習結果に基づいて、検査対象の画像データから特徴部を抽出し、特徴部と、検査対象の画像データとの差に基づいて、検査対象の異常の有無を判定している。
特開2018−195119号公報
しかしながら、画像データといった学習用データのデータサイズが大きい場合には、学習時間が長くなる。学習時間を短くする方法として、学習用データを分割し、分割した学習用データを用いて機械学習を行う方法がある。この方法を特許文献1に記載の異変検出装置に適用した場合を考える。この場合、異常の有無を判定する学習用データは、分割されているので複数となるが、分割された学習用データが、何れの位置の学習用データであるかまでは管理されていない。このため、異常な状態を示す学習用データが、この学習用データとは異なる位置における正常な状態を示す学習用データと同じになる場合には、異変検出装置は、異常な状態を示す学習用データを正常な状態を示す学習用データであると判定してしまい、正確な機械学習を実行できなかった。
本開示は、上記に鑑みてなされたものであって、検査対象の正常な状態を短時間で正確に機械学習することができる学習装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示の学習装置は、学習対象のフルサイズのデータである学習対象データを取得するデータ取得部と、学習対象データを分割して学習対象データの分割データである第1の分割データを複数生成するとともに、第1の分割データのそれぞれに第1の分割データの学習対象データ内での領域を識別する第1の識別情報を付与するデータ生成部とを備える。また、本開示の学習装置は、第1の分割データと、第1の分割データに対応する第1の識別情報と、の組である第1の対応情報を用いて、第1の分割データの異常を判断するための学習済モデルを生成するモデル生成部を備える。
本開示にかかる学習装置は、検査対象の正常な状態を短時間で正確に機械学習することができるという効果を奏する。
実施の形態1にかかる学習装置の構成を示す図 実施の形態1にかかる学習装置が用いるニューラルネットワークの構成を示す図 実施の形態1にかかる学習装置による学習処理の処理手順を示すフローチャート 実施の形態1にかかる推論装置の構成を示す図 実施の形態1にかかる推論装置による推論処理の処理手順を示すフローチャート 図4で説明した推論装置の機能を有した学習装置の構成を示す図 図6に示した学習装置のハードウェア構成を示す図 図6に示した学習装置による、正常データの学習処理および推論処理を説明するための図 実施の形態1にかかる推論装置が切取位置情報を用いて生成した異常指摘マップと、切取位置情報を用いずに生成された異常指摘マップとの違いを説明するための図 実施の形態2にかかる学習装置が、RGBカラー3チャンネルの分割データに設定する切取位置画像を説明するための図 実施の形態2にかかる学習装置が、グレースケール1チャンネルの分割データに設定する切取位置画像を説明するための図 実施の形態2にかかる学習装置が、グレースケール1チャンネルの分割データに設定する分割データの切取領域を識別可能なデータの配列画像を説明するための図 実施の形態2にかかる推論装置がフルサイズ画像を分割して機械学習を実行した場合の計算時間と、フルサイズ画像が分割されることなく機械学習が実行された場合の計算時間との違いを説明するための図 実施の形態3にかかる推論装置が、分割データの切取位置情報を学習済モデルの中間層に直接入力する処理を説明するための図
以下に、本開示の実施の形態にかかる学習装置、学習方法、および推論装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの開示が限定されるものではない。
実施の形態1.
図1は、実施の形態1にかかる学習装置の構成を示す図である。学習装置10は、検査対象の学習サンプルである学習対象データを分割し、分割した学習対象データを用いて、正常な状態の検査対象を機械学習するコンピュータである。学習装置10は、AI(Artificial Intelligence:人工知能)の一例である機械学習によって学習済モデルを生成し、後述する推論装置では生成された学習済モデルを用いて正常な状態の検査対象を推論し、検査対象と正常な状態の検査対象とを比較することで、検査対象が異常であるか否かを判断する。なお、以下では、学習対象および検査対象が、製品の画像データである場合について説明するが、学習対象および検査対象は、画像データ以外のデータであってもよい。
学習装置10は、何れの学習方法によって機械学習を実行してもよい。学習装置10は、例えば、良品の画像データを用いた良品学習によって機械学習を実行してもよいし、良品および不良品の画像データを用いた機械学習を実行してもよい。
学習装置10は、全体の画像データ(以下、全体データという)を分割することで、複数の分割した画像データ(以下、分割データという)を生成する。全体データの例は、製品全体の画像を示すデータ、すなわちフルサイズ画像を示すデータであり、分割データの例は、製品の一部の領域を示すデータである。全体データは、製品を何れの方向から撮像した画像の画像データであってもよい。実施の形態1では、全体データが、製品を上面から撮像した画像の画像データである場合について説明する。
学習装置10は、分割データと、この分割データの全体データ内での位置と、を対応付けて機械学習を行う。学習装置10は、データ取得部11と、データ生成部16と、モデル生成部14とを備えている。データ生成部16は、データ切取部12および位置情報付与部13を有している。
データ取得部11は、全体データを取得する。データ取得部11は、例えば、製品を撮像する撮像装置等の外部装置から全体データを取得する。データ取得部11は、取得した全体データをデータ生成部16に送る。
データ切取部12は、全体データを分割し、全体データから分割データを切取る。なお、分割データのサイズは任意である。例えば、全体データは、矩形状の画像のデータであり、1辺の画素数は1024である。また、分割データは、矩形状の画像のデータであり、1辺の画素数は64である。
位置情報付与部13は、分割データの全体データ内での領域を識別する切取位置情報を、分割データに付与する。切取位置情報は、例えば、全体データにおける分割データの2つ以上の頂点の座標で示される。なお、切取位置情報は、全体データにおける分割データ内の1点の座標とサイズで示されてもよい。
データ生成部16は、位置情報付与部13が付与した切取位置情報と、データ切取部12が生成した分割データとを対応付けてモデル生成部14に送る。
モデル生成部14は、切取位置情報と分割データとが対応付けされた情報である対応情報を用いて、学習済モデル31を生成する。実施の形態1では、対応情報が、正常な状態の画像データ(以下、正常データという)を学習するための学習用データ、すなわち学習対象データである。全体データが100枚の分割データに分割された場合、モデル生成部14は、100枚分の対応情報を用いて学習済モデル31を生成する。
モデル生成部14は、切取位置情報および分割データの組合せに基づいて生成される対応情報(学習用データ)に基づいて、正常データを学習する。すなわち、モデル生成部14は、切取位置情報および分割データから正常データを推論する学習済モデル31を生成する。モデル生成部14は、全体データに対し、1つの学習済モデル31を生成する。ここで、学習用データは、切取位置情報および分割データを互いに関連付けたデータである。
学習済モデル31は、例えば、ニューラルネットワークを多層に重ねたディープラーニングを用いて、正常な状態の製品の画像データを機械学習する。学習済モデル31は、対応情報が入力されると、正常な状態の画像データを出力する。学習済モデル31は、1枚分の対応情報が入力されると、1枚分の正常データを出力する。
学習済モデル31が出力する正常データの画像データは、分割データと同じ領域の画像データである。学習済モデル31は、学習用データである分割データが入力されると、出力データが、正常な状態を示す画像データとなるように機械学習する。学習済モデル31は、学習用データから特徴的なデータである特徴データを抽出しながら正常な状態の製品を示す画像データ、すなわち正常データを機械学習する。すなわち、モデル生成部14は学習アルゴリズムとして特徴量を抽出して学習するディープラーニングを用い、検査対象の正常な学習サンプルである複数の学習対象データの集合を用いてニューラルネットワークに特徴を抽出させながら学習させる。これにより、モデル生成部14は、特徴が入力されることなく、また正常か異常かなどの明示的な教師信号が入力されることなく一種の教師なし学習を行い、検査対象の正常な特徴を有する正常なデータとして適切な正常データを出力する学習済モデル31を生成する。
学習済モデル31がニューラルネットワークを用いたモデルである場合、ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層であってもよいし、2層以上であってもよい。
図2は、実施の形態1にかかる学習装置が用いるニューラルネットワークの構成を示す図である。ニューラルネットワークは、例えば、図2に示すような3層のニューラルネットワークであれば、複数の入力が入力層(X1−X3)に入力されると、その値に重みW1(w11−w16)を掛けて中間層(Y1−Y2)に入力し、その結果にさらに重みW2(w21−w26)を掛けて出力層(Z1−Z3)から出力する。この出力結果は、重みW1,W2の値によって変わる。
ニューラルネットワークは、データ生成部16によって生成される分割データと分割データに対応する識別情報との組である対応情報に基づいて、ディープラーニングにより、正常な特徴を有する正常なデータとして適切な正常データを学習する。
すなわち、ニューラルネットワークは、入力層に分割データと分割データに対応する識別情報との組である対応情報を入力して、中間層で特徴を抽出し、抽出された特徴を有する正常なデータとして適切な正常データが出力層から出力されるよう重みW1,W2を調整することで学習する。
モデル生成部14は、以上のような学習を実行することで学習済モデル31を生成し、生成した学習済モデル31を出力する。学習済モデル記憶部15は、モデル生成部14から出力された学習済モデル31を記憶する装置である。学習済モデル記憶部15は、学習装置10の内部に配置されてもよいし、学習装置10の外部に配置されてもよい。
モデル生成部14が用いる学習アルゴリズムには、ディープラーニングを用いた教師無し学習の一種が用いられる場合について説明したが、その他の教師なし学習、教師あり学習、半教師あり学習、強化学習等の公知のアルゴリズムが用いられてもよい。また、学習済モデル31の構成には、ディープラーニングのニューラルネットワークの構成が用いられる場合について説明したが、その他の学習アルゴリズムに基づいた構成が用いられてもよい。
次に、図3を用いて、学習装置10による学習処理について説明する。図3は、実施の形態1にかかる学習装置による学習処理の処理手順を示すフローチャートである。データ取得部11は、製品全体の画像を示す全体データを取得する(ステップS10)。ここで取得される全体データは、正常データの機械学習に用いられる。データ生成部16は、全体データを分割し、全体データから分割データを切取る(ステップS20)。
位置情報付与部13は、分割データの全体データ内での領域を識別する切取位置情報を、分割データに付与する(ステップS30)。データ生成部16は、位置情報付与部13が付与した切取位置情報と、データ切取部12が生成した分割データとを対応付けし、対応情報としてモデル生成部14に送る。
モデル生成部14は、学習済モデル31の学習処理を実行する(ステップS40)。具体的には、モデル生成部14は、切取位置情報と分割データとが対応付けされた対応情報を用いて、学習済モデル31を生成する。換言すると、モデル生成部14は、切取位置情報と分割データとの組合せに基づいて生成された学習用データに従って、いわゆる教師なし学習により、正常データを学習し、学習済モデル31を生成する。学習済モデル記憶部15は、モデル生成部14が生成した学習済モデル31を記憶する(ステップS50)。
つぎに、学習済モデル31を用いて正常データを推論し、推論対象データの異常を判断する推論装置について説明する。図4は、実施の形態1にかかる推論装置の構成を示す図である。推論装置20は、データ取得部21と、データ生成部26と、推論部24とを備えている。データ生成部26は、データ切取部22および位置情報付与部23を有している。
データ取得部21は、データ取得部11と同様の機能を有しており、データ生成部26は、データ生成部16と同様の機能を有している。データ取得部11は、学習用データとして用いる全体データを取得したが、データ取得部21は、検査用データとして用いる全体データを取得する。検査用データとして用いる全体データが、推論対象データである。また、データ生成部16は、学習用データとして用いる対応情報を生成したが、データ生成部26は、検査用データとして用いる対応情報を生成する。データ生成部26は、生成した対応情報を推論部24に送る。
推論部24は、データ生成部26から送られてくる対応情報を受付ける。推論部24は、学習済モデル記憶部15で記憶されている学習済モデル31を用いて、対応情報から正常データを推論する。すなわち、推論装置20は、学習済モデル31に検査用データの対応情報を入力することで、対応情報の正常な特徴を有する正常なデータとして適切な正常データを推論する。このとき、推論部24は、検査用データの分割データと識別情報としての切取位置情報に基づいて、分割データ毎に、正常データを推論する。
推論部24は、推論結果である正常データと、データ生成部26から受付けた対応情報内の分割データとを比較し、正常データと分割データとの間で差分が発生している箇所を、異常の発生している箇所であると判定する。このとき、推論部24は、分割データ毎に、正常データと分割データとの差分を判定する。
推論部24は、分割データ毎での判定結果に基づいて、異常の発生している箇所を示す異常指摘マップ33を生成し、検査結果として外部装置に出力する。異常指摘マップ33は、全体の画像データの中で、異常の発生している箇所を他の箇所と区別して認識できるよう、色を変えるなどして表示したマップである。異常指摘マップ33では、全体データに対し、異常の発生箇所がマップ化されて重ね書きされている。推論部24が異常指摘マップ33を出力する外部装置がディスプレイといった表示装置である場合、表示装置は、異常指摘マップ33を表示する。なお、異常指摘マップ33を出力する外部装置は、警報装置等であってもよい。
また、推論部24が異常の発生している箇所を示す異常指摘マップ33を生成する例で説明したが、推論部24は、異常の発生している箇所は特定せず、分割データ毎に異常かどうかを判断した後、すべての分割データのうち何れかが異常であれば検査対象の全体データとして異常と判断し、検査結果として異常かどうかの判断のみを出力してもよい。また、推論部24は分割データ毎の正常データを先に結合して、全体データに対応するフルサイズ画像の正常データを生成してから、全体データと全体データに対応する正常データとを比較して、異常を判断してもよい。
実施の形態1では、推論装置20が、学習装置10のモデル生成部14で学習した学習済モデル31を用いて、異常指摘マップ33を出力するものとして説明したが、推論装置20は、学習装置10以外で学習された学習済モデル31を用いてもよい。この場合、推論装置20は、学習装置10以外の他の外部装置等から学習済モデル31を取得し、この学習済モデル31に基づいて異常指摘マップ33を出力するようにしてもよい。
なお、学習装置10および推論装置20は、例えば、ネットワークを介して接続されてもよい。この場合、学習装置10が生成した学習済モデル31は、ネットワークを介して推論装置20に送られる。
次に、図5を用いて、推論装置20による推論処理について説明する。図5は、実施の形態1にかかる推論装置による推論処理の処理手順を示すフローチャートである。データ取得部21は、製品全体の画像を示す全体データを取得する(ステップS110)。ここで取得される全体データは、正常データの推論処理に用いられる。データ生成部26は、全体データを分割し、全体データから分割データを切取る(ステップS120)。
位置情報付与部23は、分割データの全体データ内での領域を識別する切取位置情報を、分割データに付与する(ステップS130)。データ生成部26は、位置情報付与部23が付与した切取位置情報と、データ切取部22が生成した分割データとを対応付けし、対応情報として推論部24に送る。
推論部24は、データ生成部26から送られてくる対応情報を受付ける。推論部24は、学習済モデル記憶部15で記憶されている学習済モデル31を用いて、対応情報から正常データを推論する(ステップS140)。このとき、推論部24は、分割データ毎に、正常データを推論する。推論部24が用いる学習済モデル31は、切取位置情報と分割データとが対応付けされた対応情報が入力されると、正常データを出力する。
推論部24は、推論結果である正常データと、データ生成部26から受付けた対応情報内の分割データとを比較し(ステップS150)、比較結果に基づいて、正常データと分割データとの差分を判定する。このとき、推論部24は、分割データ毎に、正常データと分割データとの差分を判定する。推論部24は、正常データと分割データとの差分に基づいて、異常指摘マップ33を生成する(ステップS160)。推論部24は、生成した異常指摘マップ33を外部装置に出力する。
なお、推論装置20は、学習済モデル31を用いて正常データを推論しながら、正常データの学習を実行してもよい。この場合、学習済モデル31は、推論装置20による学習によって新たな学習済モデル31に更新される。
また、学習装置10と推論装置20とが組み合わされた学習装置によって、正常データの学習および推論が実行されてもよい。図6は、図4で説明した推論装置の機能を有した学習装置の構成を示す図である。推論装置20の機能を有した学習装置10Aは、データ取得部11Aと、データ生成部16Aと、モデル生成部14と、学習済モデル記憶部15Aと、推論部24とを備えている。データ生成部16Aは、データ切取部12Aおよび位置情報付与部13Aを有している。データ取得部11Aは、データ取得部11およびデータ取得部21を兼用している。データ生成部16Aは、データ生成部16とデータ生成部26を兼用している。
なお、学習装置10Aは、データ取得部11Aの代わりにデータ取得部21を備えていてもよい。また、学習装置10Aは、データ生成部16Aの代わりにデータ生成部26を備えていてもよい。学習装置10Aは、データ取得部11およびデータ取得部21をそれぞれ備えていてもよい。学習装置10Aは、データ生成部16およびデータ生成部26をそれぞれ備えていてもよい。
学習装置10Aは、検査の準備段階の機械学習として、検査対象の正常なサンプルとしての全体データを取得して学習することで学習済モデル31を生成し記憶しておく。学習装置10Aは、機械学習の後、検査の運用段階としては、検査対象の全体データを取得して、機械学習で生成され記憶された学習済モデル31を用いて、検査対象の異常を判断する。
学習装置10Aが検査の準備段階において正常データの機械学習を実行する場合、データ取得部11Aが、正常データの学習に用いられる正常な学習サンプルの全体データを取得する。また、データ生成部16Aでは、データ切取部12Aが全体データから分割データを切取り、位置情報付与部13Aが分割データに切取位置情報を付与する。データ生成部16Aは、位置情報付与部13Aが付与した切取位置情報と、データ切取部12Aが生成した分割データとを対応付けてモデル生成部14に送る。モデル生成部14は、切取位置情報と分割データとが対応付けされた対応情報を用いて、学習済モデル31を生成する。この学習済モデル31は、学習済モデル記憶部15Aで記憶される。
学習装置10Aが検査の運用段階において異常を判断する場合は、データ取得部11Aが、検査対象データの全体データを取得する。また、データ生成部16Aでは、データ切取部12Aが全体データから分割データを切取り、位置情報付与部13Aが分割データに切取位置情報を付与する。データ生成部16Aは、位置情報付与部13Aが付与した切取位置情報と、データ切取部12Aが生成した分割データとを対応付けて推論部24に送る。推論部24は、切取位置情報と分割データとが対応付けされた対応情報と、学習済モデル記憶部15Aで記憶されている学習済モデル31を用いて、正常データの推論を実行する。推論部24は、図4および図5で説明した処理と同様の処理によって正常データの推論を実行する。
学習装置10Aでは、機械学習時の分割データが第1の分割データであり、学習時の切取位置情報が第1の識別情報である。また、学習装置10Aでは、機械学習時の対応情報が第1の対応情報であり、機械学習時の正常データが第1の正常データである。
また、学習装置10Aでは、推論時の分割データが第2の分割データであり、推論時の切取位置情報が第2の識別情報である。また、学習装置10Aでは、推論時の対応情報が第2の対応情報であり、推論時の正常データが第2の正常データである。
なお、学習装置10は、推論装置20に内蔵されてもよいし、推論装置20は、学習装置10に内蔵されてもよい。また、学習装置10および推論装置20の少なくとも一方が、全体データの画像データを撮像する撮像装置に内蔵されてもよい。また、学習装置10および推論装置20は、クラウドサーバ上に存在していてもよい。
図7は、図6に示した学習装置のハードウェア構成を示す図である。学習装置10Aは、入力装置103、プロセッサ101、メモリ102、および出力装置104により実現することができる。プロセッサ101の例は、CPU(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)ともいう)またはシステムLSI(Large Scale Integration)である。メモリ102の例は、RAM(Random Access Memory)、ROM(Read Only Memory)である。
学習装置10Aは、プロセッサ101が、メモリ102で記憶されている学習装置10Aの動作を実行するための、コンピュータで実行可能な、学習プログラムを読み出して実行することにより実現される。学習装置10Aの動作を実行するためのプログラムである学習プログラムは、学習装置10Aの手順または方法をコンピュータに実行させるものであるともいえる。
学習装置10Aで実行される学習プログラムは、データ取得部11Aと、データ生成部16Aと、モデル生成部14と、推論部24とを含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
入力装置103は、全体データを受付けてプロセッサ101に送る。メモリ102は、プロセッサ101が各種処理を実行する際の一時メモリに使用される。また、メモリ102は、全体データ、分割データ、切取位置情報、学習済モデル31、正常データ、異常指摘マップ33などを記憶する。出力装置104は、正常データ、異常指摘マップ33などを外部装置に出力する。
学習プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、学習プログラムは、インターネットなどのネットワーク経由で学習装置10Aに提供されてもよい。なお、学習装置10Aの機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。また、学習装置10および推論装置20についても、学習装置10Aと同様のハードウェア構成によって実現できる。
また、学習装置10が、教師なし学習を実現する場合、上記のようなディープラーニングに限らず、他の公知の方法を用いてもよい。例えば、学習装置10は、K平均法による非階層型クラスタリングを用いてもよい。
また、モデル生成部14は、複数の製品に対して生成される全体データに従って、正常データを学習するようにしてもよい。なお、モデル生成部14は、同一のエリアで使用される複数の製品から全体データを取得してもよいし、異なるエリアの複数の製品から収集される全体データを利用して正常データを学習してもよい。また、モデル生成部14に対しては、全体データを収集する撮像装置等のデータ収集装置を途中で対象に追加したり、対象から除去したりすることも可能である。さらに、ある製品に関して正常データを学習した学習装置を、これとは別の学習装置に適用し、当該別の学習装置が正常データを再学習して、学習済モデルを更新するようにしてもよい。
ここで、切取位置情報を用いた、正常データの学習処理および推論処理について説明する。図8は、図6に示した学習装置による、正常データの学習処理および推論処理を説明するための図である。なお、ここでは学習装置10Aが、正常データを学習する場合について説明するが、正常データの学習は学習装置10が行ってもよい。また、異常を判断する推論は推論装置20が行ってもよい。
まず、検査の準備段階の機械学習として、検査対象の正常なサンプルとしての全体データを取得して学習し、学習済モデル31を生成する、学習処理について説明する。
学習装置10Aのデータ取得部11Aは、機械学習に用いられる検査対象の正常な学習サンプルの全体データとして、学習用のフルサイズ画像である全体画像51を取得する。データ切取部12Aは、全体画像51を、特定サイズに分割し、全体画像51から分割データD1〜Dn(nは自然数)を切取る。
また、位置情報付与部13Aは、画像群である分割データD1〜Dnに対し、切取位置情報P1〜Pnを付与する。位置情報付与部13Aは、分割データDm(mは1〜nの自然数)に対し、切取位置情報Pmを付与する。データ切取部12Aは、例えば、1辺が1024画素の全体画像51を、1辺が64画素の分割データD1〜Dnに分割する。この場合において、隣接する分割データは、一部の領域が重なっていてもよい。
モデル生成部14は、分割データDmと切取位置情報Pmとが対応付けされた対応情報を学習済モデル31に入力する。このように、モデル生成部14は、学習用のフルサイズ画像である全体画像51を特定の大きさに切取り、その切取った画像群である分割データDmと切取位置情報Pmとの組を同時に学習済モデル31に入力する。この例では、ディープラーニングにより、分割データDmと切取位置情報Pmとの組に対応付けられて、正常な分割データDmの画像の特徴がニューラルネットワークの中間層で抽出され、その特徴を有する正常なデータとして適切な正常データの画像が出力されるように機械学習される。これにより、学習済モデル31は、学習結果である正常データと、この正常データに対応する切取位置情報Pmとが対応付けされた対応情報を出力するように機械学習される。
機械学習において、通常は学習サンプルが複数用意され、複数の学習サンプルから得られる複数の全体データに基づき機械学習が行われる。これにより、正常と判断される範囲のばらつきが考慮された、正常なデータとして適切な正常データが出力できるように機械学習が実行される。ばらつきには、例えば、検査対象に取り付けられた部品の配置のばらつき、検査対象をカメラ等で撮像して画像を取得する際の明るさなどの環境のばらつきなどが含まれる。
モデル生成部14は、分割データDmと切取位置情報Pmとの組を、順番に1つの学習済モデル31に入力することで、分割データD1〜Dnに対応する正常データを順番に機械学習する。学習済モデル31は、学習結果である正常データと、この正常データに対応する切取位置情報Pmとが対応付けされた対応情報を、分割データ毎に出力できるように機械学習される。
モデル生成部14は、分割データDmと切取位置情報Pmとが組み合わされた1つの対応情報を学習済モデル31に入力する際に、対応情報を、対応情報に含まれる1画素毎の情報に分割する。
モデル生成部14は、学習済モデル31の入力層に、分割した各画素の情報を入力する。すなわち、モデル生成部14は、分割データDmを各画素に分割し、各画素のデータを学習済モデル31に入力し、画素毎に学習済モデル31から正常データを出力するように機械学習する。
例えば、分割データDmの1辺が64画素である場合、モデル生成部14は、64×64個の画素のデータを学習済モデル31に入力し、学習済モデル31から64×64個の正常な画素のデータを出力させる。
モデル生成部14により生成された学習済モデル31は、学習済モデル31が出力する画素のデータに基づいて、1枚分の分割データの画像に対応する1枚分の正常データの画像を生成することが可能となる。この正常データとして生成された画像が分割データRmである。分割データRmは、分割データDmに対応しており、切取位置情報Pmに対応付けされている。学習済モデル31は、正常データである分割データRmと、切取位置情報Pmとを対応付けし、対応情報として出力する。生成された学習済モデル31は、学習済モデル記憶部15Aに記憶される。
なお、学習済モデル31は、受付けた画素の位置と、出力する画素の位置とが同じになるよう各画素に入力層および出力層を対応付けしておき、各画素の入力層および出力層の位置に基づいて、1枚分の分割データRmを生成してもよい。また、学習済モデル31に分割データDmと対応する切取位置情報Pmが入力されたときに学習済モデル31から出力される正常データとしての分割データRmに対応する切取位置情報は、学習済モデル31に入力された切取位置情報Pmを参照して使用されてもよい。このため、学習済モデル31は、切取位置情報を出力せず、正常データとしての分割データRmのみを出力するようにしてもよい。
次に、機械学習の後、検査の運用段階として、検査対象の全体データを取得して、機械学習で生成され記憶された学習済モデル31を用いて、検査対象の異常を判断する、推論処理について説明する。
学習装置10Aのデータ取得部11Aは、検査に用いられる全体データとして、検査対象のフルサイズ画像である全体画像51を取得する。データ切取部12Aは、準備段階の学習処理のときと同様に、全体画像51を、特定サイズに分割し、全体画像51から分割データD1〜Dnを切取る。
また、位置情報付与部13Aは、学習処理のときと同様に、画像群である分割データD1〜Dnに対し、切取位置情報P1〜Pnを付与する。位置情報付与部13Aは、分割データDmに対し、切取位置情報Pmを付与する。データ切取部12Aは、例えば、1辺が1024画素の全体画像51を、1辺が64画素の分割データD1〜Dnに分割する。隣接する分割データは、一部の領域が重なっていてもよい。
推論部24は、準備段階の学習処理にて機械学習され学習済モデル記憶部15Aに記憶された学習済モデル31を取得しておき、切取位置情報Pmと分割データDmとが対応付けされた対応情報を学習済モデル31に入力する。このように、推論部24は、学習用のフルサイズ画像である全体画像51を特定の大きさに切取り、その切取った画像群である分割データDmと切取位置情報Pmとの組を同時に学習済モデル31に入力する。これにより、学習済モデル31は、学習結果である正常データと、この正常データに対応する切取位置情報Pmとが対応付けされた対応情報を出力する。なお、学習済モデル31から出力される正常データとしての分割データRmに対応する切取位置情報は、学習済モデル31に入力された切取位置情報Pmが参照されてもよいため、学習済モデル31は、切取位置情報を出力せず、正常データとしての分割データRmのみを出力するようにしてもよい。
推論部24は、検査対象の分割データDmと切取位置情報Pmとの組を、順番に1つの学習済モデル31に入力することで、分割データD1〜Dnに対応する正常データを順番に推論する。学習済モデル31は、推論結果である正常データと、この正常データに対応する切取位置情報Pmとが対応付けされた対応情報を、分割データ毎に出力する。図8では、学習済モデル31が出力する正常データを分割データR1〜Rnの画像群で示している。
推論部24は、検査対象の分割データDmと切取位置情報Pmとが組み合わされた1つの対応情報を学習済モデル31に入力する際に、対応情報を、対応情報に含まれる1画素毎の情報に分割する。
推論部24は、学習済モデル31の入力層に、分割した各画素の情報を入力する。すなわち、推論部24は、分割データDmを各画素に分割し、各画素のデータを学習済モデル31に入力し、画素毎に学習済モデル31から正常データを出力させる。
例えば、分割データDmの1辺が64画素である場合、推論部24は、64×64個の画素のデータを学習済モデル31に入力し、学習済モデル31から64×64個の正常な画素のデータを出力させる。
推論部24は、学習済モデル31が出力する画素のデータに基づいて、1枚分の分割データの画像に対応する1枚分の正常データの画像を生成する。この正常データとして生成された画像が分割データRmである。分割データRmは、分割データDmに対応しており、切取位置情報Pmに対応付けされている。学習済モデル31は、正常データである分割データRmと、切取位置情報Pmとを対応付けし、対応情報として出力する。
推論部24は、分割データRmと、分割データDmとを比較し、これらの差分を示す分割データTmを生成する。すなわち、推論部24は、学習済モデル31に入力した分割データDmと、学習済モデル31から出力される分割データRmとを比較し、比較結果である分割データTmを生成する。すなわち、推論部24は、分割データD1〜Dnに対応する分割データT1〜Tnを生成する。分割データD1〜Dnは、分割データR1〜Rnに対応しており、分割データR1〜Rnは、分割データT1〜Tnに対応している。
分割データTmは、正常データである分割データRmと、入力データである分割データDmとの差分を示すデータである。したがって、分割データTmは、異常が発生している箇所を示すデータである。
推論部24は、画像群である分割データT1〜Tnを用いて、異常指摘マップ33を生成する。具体的には、推論部24は、学習済モデル31から出力された分割データT1〜Tnを再結合し、全体画像51に重ね合わせることで、全体画像51に対応する異常指摘マップ33を生成する。
このように、推論部24は、分割データDmと切取位置情報Pmとに基づいて学習済モデル31により推論された正常データである分割データRmと、データ生成部16Aから受付けた分割データDmとを比較することで、分割データRmの異常を判断し、分割データRmのうちの異常な状態を示す箇所を特定している。そして、推論部24は、特定結果に基づいて、全体画像51において異常な状態を示す箇所を特定した異常指摘マップ33を生成している。
ここで、分割データDmおよび切取位置情報P1〜Pnを用いて機械学習された学習済モデル31に基づいて生成された異常指摘マップ33と、切取位置情報P1〜Pnを用いずに分割データDmにより機械学習された学習済モデル31に基づいて生成された異常指摘マップとの違いについて説明する。図9は、実施の形態1にかかる推論装置が切取位置情報を用いて生成した異常指摘マップと、切取位置情報を用いずに生成された異常指摘マップとの違いを説明するための図である。
ここでは、異常箇所35,36を含んだ検査対象画像70に対して異常指摘マップが生成される場合について説明する。検査対象画像70は、特定製品を撮像した、学習用のフルサイズ画像である。異常箇所35は、部品の配置に位置ずれが生じている箇所である。異常箇所36は、本来あるはずのラベルシールがない箇所である。
異常指摘マップ33Xは、検査対象画像70について、分割データDmに対応した切取位置情報が用いられずに機械学習された学習済モデル31を用いて、生成された異常指摘マップである。すなわち、異常指摘マップ33Xは、フルサイズの学習対象データ内での分割データDmの領域を識別する識別情報を用いずに機械学習した場合の検査結果画像である。
検査対象画像70に含まれる異常箇所36も、他の箇所と同様に分割データDmに分割される。この場合において、各分割データDmは小さいので、異常箇所36内の分割データDmが、正常な分割データDmとほぼ同じになる場合がある。すなわち、異常箇所36内の分割データDmが、異常箇所35,36以外の分割データDmと類似する場合がある。換言すると、分割データDmが切取られた際に、ラベルがない異常箇所に類似する正常な画像箇所が、異常箇所35,36以外に存在している場合がある。この場合、分割データDmに対応する識別情報を用いずに機械学習された学習済モデル31は、異常箇所36内の分割データDmと、類似する正常な画像箇所との区別がつかず、類似する正常な画像箇所の学習結果である正常データを出力する。このため、異常箇所36内の分割データDmは、学習済モデル31から出力された類似する正常な画像箇所の正常データと比較し、正常な分割データDmであると判断される。このため、異常指摘マップ33Xは、異常箇所35を異常箇所として示すものの、異常箇所36は、正常箇所として示してしまう。
異常指摘マップ33Aは、検査対象画像70について、分割データDmと切取位置情報P1〜Pnとを用いて機械学習された学習済モデル31を用いて、生成した異常指摘マップである。すなわち、異常指摘マップ33Aは、分割データDmとフルサイズの学習対象データ内での分割データDmの領域を識別する識別情報とを用いて機械学習した場合の検査結果画像である。
学習装置10Aは、切取位置情報P1〜Pnを用いて機械学習して学習済モデル31を生成した場合、異常箇所36の分割データDmが、他の正常箇所での分割データDmと類似している場合であっても、切取位置情報Pmが異なるので、異常箇所36の分割データDmと、他の正常箇所での分割データDmとを区別して、学習した結果を出力できる。このため、学習装置10Aの推論部24は、検査対象の分割データDmと切取位置情報P1〜Pnに基づいて、検査対象の各分割データDmに異常があるか否かを正確に判断できる。
なお、実施の形態1では、学習対象および検査対象が2次元の画像データである場合について説明したが、学習対象および検査対象は、時系列波形での一定時間毎のデータ値が並べられたデータ列などといった1次元データであってもよいし、複数のデータが組み合わされた多次元データであってもよい。多次元データで組み合わされるデータは、電流値データなどの計測データであってもよいし、画像データであってもよい。一次元データとして、例えば、製品の動作で製品に流れる電流値を測定した時系列波形である電流波形がある。製品の動作に複数の動作段階がある場合、各動作段階の時間領域毎に電流波形の特徴がある。この場合、学習装置10は、電流波形を複数の時間領域に分割した分割データを生成し、各時間領域の分割データである分割電流波形と、各時間領域の分割データを識別する領域識別情報とを対応付けした対応情報を用いて、時間領域毎に正常な特徴を持つ正常な分割電流波形を機械学習し、学習済モデル31を生成する。また、推論装置20は、検査対象の製品の電流波形を取得して複数の時間領域の分割データに分割し、分割データと各時間領域を識別する領域識別情報とを対応付けした対応情報を用いて、学習済モデル31に基づき、時間領域毎に電流の正常データを推論し、分割データと正常データとを比較して、検査対象の電流波形の異常を判断する。
学習装置10および推論装置20は、例えば、製造業における製品の検査(画像を用いた外観検査など)に適用される。学習装置10および推論装置20は、全体データを分割データD1〜Dnに分割し、切取位置情報P1〜Pnを用いて正常データを推論しているので、学習コストを削減して効率良く正常データを学習することができる。ここでの学習コストには、計算時間、計算機数、学習用サンプル数などが含まれている。
また、学習装置10および推論装置20は、学習コストを削減することができるので、PC(Personal Computer)基板、FA(Factory Automation)機器などの製造工場において、製造品種が数百種または数千種を超えるような場合、または検査工程数が多い場合であっても、検査対象を短時間で機械学習することができる。また、学習装置10および推論装置20は、学習コストを削減することができるので、多数の機種毎、または多数の工程毎に機械学習を実行する場合であっても、検査対象を短時間で正確に機械学習することができる。
このように実施の形態1では、学習装置10および推論装置20が、全体データを分割して分割データDmを複数生成し、分割データDmのそれぞれに切取位置情報Pmを付与している。学習装置10および推論装置20は、分割データDmと切取位置情報Pmとの組である対応情報から、正常データを推論するための学習済モデル31を生成している。これにより、学習装置10および推論装置20は、検査対象の正常な状態を短時間で正確に機械学習することができる。
また、推論装置20は、切取位置情報Pmに基づいて、正常データと分割データDmとを比較して、分割データDmにおける異常の発生箇所を特定し、特定結果に基づいて、推論対象の全体データにおいて異常な状態を示す箇所を特定している。これにより、推論装置20は、全体データにおいて異常な状態を示す箇所を短時間で特定することができる。
なお、実施の形態1では、分割データの全体データ内での領域を識別する識別情報として、分割データを全体データから切り取った位置の情報である切取位置情報を用いて説明したが、識別情報は、全体データから切り取られた複数の分割データがそれぞれ識別できればよく、1枚の全体データから256枚の分割データができる場合、例えば0から255の整数を対応付けて付与してもよい。その場合、切り取られた分割データと付与される識別情報とが1対1で対応していればよく、全体データ内での分割データの配置順と、識別情報として付与する整数の順番とが違っていてもよい。
実施の形態2.
つぎに、図10から図12を用いて実施の形態2について説明する。実施の形態2では、学習装置10が、切取位置情報を画像で示した情報(後述する切取位置画像)を、分割データに結合させ、結合させた情報を用いて機械学習を実行する。
図10は、実施の形態2にかかる学習装置が、RGBカラー3チャンネルの分割データに設定する切取位置画像を説明するための図である。学習画像が、RGB(Red、Green、Blue)カラー3チャンネルのフルサイズ画像75である場合、フルサイズ画像75は、3チャンネル分の画像として、赤色の画像75Rと、緑色の画像75Gと、青色の画像75Bとを含んでいる。
学習装置10のデータ生成部16は、このフルサイズ画像75の画像データから分割データ77を切取るとともに、分割データ77の切取位置情報を画像で示す情報を分割データ77に結合する。データ生成部16がフルサイズ画像75の特定領域から切取る分割データ77には、3チャンネル分の分割データが含まれている。すなわち、データ生成部16がフルサイズ画像75の特定領域から切取る分割データ77には、赤色の分割データ77Rと、緑色の分割データ77Gと、青色の分割データ77Bとが含まれている。
なお、図10では、画像75R,75G,75Bを別々に記載しているが、データ生成部16は、フルサイズ画像75を、画像75R,75G,75Bに分解する必要はない。同様に、図10では、分割データ77R,77G,77Bを別々に記載しているが、データ生成部16は、分割データ77を、分割データ77R,77G,77Bに分解する必要はない。
データ生成部16は、分割データ77R,77G,77Bの情報を含んだ分割データ77に対応する切取位置画像76Pを取得する。すなわち、データ生成部16は、フルサイズ画像75に対する分割データ77の位置を示す切取位置画像76Pを取得する。切取位置画像76Pは、分割データ77の切取位置情報を画像化したデータである。切取位置画像76Pの例は、分割データ77の切取り位置を白で示し、その他の領域を黒で示した画像である。
さらに、データ生成部16は、切取位置画像76Pのアスペクト比(縦横比)および画像サイズが、分割データ77のアスペクト比および画像サイズと同じになるよう、切取位置画像76Pをリサイズする。これにより、分割データ77の切取位置画像76Pは、分割データ77と同じアスペクト比および画像サイズを有した切取位置画像78Pとなる。
データ生成部16は、切取位置画像78Pを、分割データ77R,77G,77Bを含んだ分割データ77に結合する。すなわち、データ生成部16は、切取位置画像78Pを4チャンネル目のデータとして分割データ77に付与する。これにより、分割データ77は、赤色、緑色、青色、および位置の4つのチャンネル画像である分割データ79となる。モデル生成部14は、4つのチャンネル画像である分割データ79を、学習済モデル31に入力する。これにより、学習装置10は、学習済モデル31の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
この切取位置画像78Pを分割データ77に結合する方法は、フルサイズ画像がグレースケール1チャンネルである場合にも適用できる。また、切取位置画像78Pを分割データ77に結合する方法は、フルサイズ画像が、RGBに深さ(距離)の情報を含んだRGB-デプス(Depth)画像である場合にも、チャンネルに依存することなく適用できる。
なお、検査の運用段階で、推論装置20が、図10で説明した処理を実行してもよい。この場合、推論装置20が、切取位置画像78Pを分割データ77に結合させ、結合させた情報である分割データ79を用いて異常の判断を実行する。
図11は、実施の形態2にかかる学習装置が、グレースケール1チャンネルの分割データに設定する切取位置画像を説明するための図である。学習対象の画像データが、グレースケール1チャンネルのフルサイズ画像85である場合、フルサイズ画像85は、1チャンネル分のグレースケールの画像を含んでいる。
学習装置10のデータ生成部16は、このフルサイズ画像85の画像データから分割データ87を切取るとともに、分割データ87の切取位置情報を画像で示す情報を分割データ87に結合する。データ生成部16がフルサイズ画像85の特定領域から切取る分割データ87には、1チャンネル分の分割データが含まれている。
データ生成部16は、分割データ87に対応する切取位置画像86Pを取得する。すなわち、データ生成部16は、フルサイズ画像85に対する分割データ87の位置を示す切取位置画像86Pを取得する。切取位置画像86Pは、分割データ87の切取位置情報を画像化したデータである。切取位置画像86Pの例は、分割データ87の切取り位置を白で示し、その他の領域を黒で示した画像である。
さらに、データ生成部16は、切取位置画像86Pのアスペクト比および画像サイズが、分割データ87のアスペクト比および画像サイズと同じになるよう、切取位置画像86Pをリサイズする。これにより、分割データ87の切取位置画像86Pは、分割データ87と同じアスペクト比および画像サイズを有した切取位置画像88Pとなる。切取位置画像86Pは、切取位置画像76Pと同様の情報であり、切取位置画像88Pは、切取位置画像78Pと同様の情報である。
データ生成部16は、切取位置画像88Pを、分割データ87に結合する。すなわち、データ生成部16は、切取位置画像88Pを2チャンネル目のデータとして分割データ87に付与する。これにより、分割データ87は、グレースケールおよび位置の2つのチャンネル画像である分割データ89となる。モデル生成部14は、2つのチャンネル画像である分割データ89を、学習済モデル31に入力する。これにより、学習装置10は、学習済モデル31の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
なお、検査の運用段階で、推論装置20が、図11で説明した処理を実行してもよい。この場合、推論装置20が、切取位置画像88Pを分割データ87に結合させ、結合させた情報である分割データ89を用いて異常の判断を実行する。
なお、学習装置10は、グレースケール1チャンネルの分割データに設定する切取位置画像88Pの代わりに、分割データの切取領域を識別可能なデータの配列画像を用いてもよい。
図12は、実施の形態2にかかる学習装置が、グレースケール1チャンネルの分割データに設定する分割データの切取領域を識別可能なデータの配列画像を説明するための図である。学習装置10のデータ生成部16は、図11で説明した処理と同様の処理によって、フルサイズ画像85から分割データ87を切取る。また、データ生成部16は、分割データ87のフルサイズ画像85における切取領域を識別可能なデータ配列画像を、分割データ87に設定する。データ配列画像は、2次元コードである。
以下、識別可能なデータ配列画像を、識別データ画像88Qという。識別データ画像88Qの例は、QR(Quick Response:キューアール)コード(登録商標)である。識別データ画像88Qは、フルサイズ画像85内の分割データ87の領域を識別する情報であり、ここでは、切取位置画像78P,88Pの代わりに用いられる。
データ生成部16は、識別データ画像88Qを、分割データ87に結合する。すなわち、データ生成部16は、識別データ画像88Qを2チャンネル目のデータとして分割データ87に付与する。これにより、分割データ87は、グレースケールおよび位置の2つのチャンネル画像である分割データ90となる。モデル生成部14は、2つのチャンネル画像である分割データ90を、学習済モデル31に入力する。これにより、学習装置10は、学習済モデル31の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
データ生成部16は、RGBカラー3チャンネルのフルサイズ画像75に識別データ画像88Qを適用してもよい。また、推論装置20が、図12で説明した処理を実行してもよい。この場合、推論装置20が、識別データ画像88Qを分割データ87に結合させ、結合させた情報である分割データ90を用いて機械学習を実行する。また、推論装置20が、分割データ90を用いて正常データの推論を実行してもよい。
また、データ生成部16,26は、切取位置画像76P,78P,86P,88Pの白色と黒色を反転させた画像を切取位置画像に用いてもよい。また、切取位置画像76P,78P,86P,88Pに用いる色は、白色および黒色に限らず、何れの色であってもよい。この場合も、データ生成部16,26は、切取位置画像76P,78P,86P,88Pのうち分割データのフルサイズ画像に占める領域を第1の色で示し、フルサイズ画像内で分割データ以外の領域を第2の色で示す。
また、データ生成部16,26は、分割データ77,87の領域を識別する情報で分割データ77,87に1対1で対応する情報であれば、何れの情報を分割データ77,87の識別情報としてもよい。データ生成部16,26は、分割データ77,87の領域を識別する情報として、例えば、1次元バーコードなどの1次元コードを用いてもよい。
ここで、図10で説明したように、学習装置10または推論装置20が、フルサイズ画像75を分割して機械学習を実行した場合の計算時間と、フルサイズ画像75が分割されることなく機械学習が実行された場合の計算時間との違いについて説明する。
図13は、実施の形態2にかかる推論装置がフルサイズ画像を分割して機械学習を実行した場合の計算時間と、フルサイズ画像が分割されることなく機械学習が実行された場合の計算時間との違いを説明するための図である。ここでは、機械学習が、ニューラルネットワークを多層に重ねたディープラーニングで行われた場合の計算時間の違いについて説明する。
「フルサイズ学習」は、フルサイズ画像75のままの機械学習であり、「切取学習」は、フルサイズ画像75を分割データに分割したうえでの機械学習である。ここでは、「フルサイズ学習」の場合の画像1辺の画素数が1024であるとし、「切取学習」の場合の画像1辺の画素数が64であるとする。すなわち、フルサイズ画像75は、画像1辺の画素数が1024であり、分割データの画像は、画像1辺の画素数が64である。
「フルサイズ学習」の場合のチャンネル数は、RGBの3チャンネルであり、合計の画素数は、1024×1024×3=3145728である。また、「切取学習」の場合のチャンネル数は、RGB+位置の4チャンネルであり、合計の画素数は、64×64×4=16384である。
上述した「フルサイズ学習」が、60枚のフルサイズ画像75に対して実行された場合の、学習時間は約720分であった。一方、上述した「切取学習」の場合、(1024×1024)の画素数を有したフルサイズ画像75は、(1024×1024)/(64×64)=256枚の分割データに分割されることとなる。したがって、「切取学習」の場合、60枚のフルサイズ画像75は、256×60=15360枚の分割データとなる。
学習装置10または推論装置20が、15360枚の分割データに対して「切取学習」を実行すると、学習時間は約40分であった。
このように、「フルサイズ学習」では、合計の画素数が3145728となり、この画素数が「フルサイズ学習」で用いられる学習済モデルの入力層の数に相当することとなる。一方、「切取学習」では、合計の画素数が16384であり、「フルサイズ学習」の場合の100分の1以下となる。したがって、「切取学習」では、学習済モデルの入力層の数も、「フルサイズ学習」の場合の100分の1以下となり、入力層と中間層と出力層の間での重みを有する接続の数も大幅に削減することができる。このことから、機械学習に必要なメモリ容量を「フルサイズ学習」の場合と比較して大幅に抑制することができる。「切取学習」の場合、「フルサイズ学習」の場合よりも、画像の合計枚数は増えるが、学習時間は、「フルサイズ学習」の場合の約1/20に短縮できた。
このように実施の形態2によれば、学習装置10が、切取位置画像78Pを分割データに結合させ、結合させた分割データを用いて機械学習を実行するので、学習装置10は、学習済モデル31の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
実施の形態3.
つぎに、図14を用いて実施の形態3について説明する。実施の形態3では、推論装置20が、分割データD1〜Dnの切取位置情報を、学習済モデルの中間層に直接入力する。
図14は、実施の形態3にかかる推論装置が、分割データの切取位置情報を学習済モデルの中間層に直接入力する処理を説明するための図である。なお、ここでは推論装置20が、正常データを学習する場合について説明するが、正常データの学習は学習装置10が行ってもよい。
実施の形態3では、推論装置20のデータ生成部26が、フルサイズ画像である全体画像51から切取った分割データDmの切取位置情報を、学習済モデル32の中間層に直接入力する。分割データDmの切取位置情報の例は、分割データDmの座標といった数値データである。学習済モデル32は、学習済モデル31と同様のニューラルネットワークである。
データ生成部26は、分割データDmの学習済モデル32の入力層に対しては、分割データDmを入力し、中間層に対しては、分割データDmの切取位置情報を入力する。これにより、学習済モデル32の出力層からは、分割データRmが出力される。学習済モデル32は、学習済モデル31と同様の方法によって、分割データDmに対応する分割データRmを出力する。このように、学習済モデル32は、分割データD1〜Dnが入力されると、分割データR1〜Rnを出力する。
データ生成部26は、図8で説明した処理と同様の処理によって、分割データD1〜Dnと分割データR1〜Rnとを比較し、分割データT1〜Tnを生成する。データ生成部26は、分割データT1〜Tnと、学習済モデル32の中間層に入力された切取位置情報とに基づいて、分割データT1〜Tnを再結合することで、異常指摘マップ34を生成する。
このように実施の形態3によれば、推論装置20が、分割データD1〜Dnの切取位置情報を、学習済モデル32の中間層に直接入力するので、対応情報を生成することなく機械学習を実行することが可能となる。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
10,10A 学習装置、11,11A,21 データ取得部、12,12A,22 データ切取部、13,13A,23 位置情報付与部、14 モデル生成部、15,15A 学習済モデル記憶部、16,16A,26 データ生成部、20 推論装置、24 推論部、31,32 学習済モデル、33,33A,33X,34 異常指摘マップ、35,36 異常箇所、51 全体画像、70 検査対象画像、75,85 フルサイズ画像、75B,75G,75R 画像、76P,78P,86P,88P 切取位置画像、77,77B,77G,77R,79,87,89,90 分割データ、88Q 識別データ画像、101 プロセッサ、102 メモリ、103 入力装置、104 出力装置、D1〜Dn,R1〜Rn,T1〜Tn 分割データ、P1〜Pn 切取位置情報。

Claims (14)

  1. 学習対象のフルサイズのデータである学習対象データを取得するデータ取得部と、
    前記学習対象データを分割して前記学習対象データの分割データである第1の分割データを複数生成するとともに、前記第1の分割データのそれぞれに前記第1の分割データの前記学習対象データ内での領域を識別する第1の識別情報を付与するデータ生成部と、
    前記第1の分割データと、前記第1の分割データに対応する前記第1の識別情報と、の組である第1の対応情報を用いて、前記第1の分割データの異常を判断するための学習済モデルを生成するモデル生成部と、
    を備える、
    ことを特徴とする学習装置。
  2. 前記学習済モデルは、前記第1の対応情報を受付けると、前記第1の分割データの正常なデータとして適切な第1の正常データを出力する、
    ことを特徴とする請求項1に記載の学習装置。
  3. 前記データ取得部は、推論対象のフルサイズのデータである推論対象データを取得し、
    前記データ生成部は、前記推論対象データを分割して前記推論対象データの分割データである第2の分割データを複数生成するとともに、前記第2の分割データのそれぞれに前記第2の分割データの前記推論対象データ内での領域を識別する第2の識別情報を付与し、
    前記学習済モデルに、前記第2の分割データと、前記第2の分割データに対応する前記第2の識別情報と、の組である第2の対応情報を入力することで、前記推論対象データの異常を判断する推論部をさらに備える、
    ことを特徴とする請求項1に記載の学習装置。
  4. 前記学習済モデルは、前記第2の対応情報を受付けると、前記第2の分割データの正常なデータとして適切な第2の正常データを出力し、
    前記推論部は、前記第2の正常データと前記第2の分割データとを比較することで前記第2の分割データの異常を判断し、判断結果に基づいて、前記推論対象データの異常を判断する、
    ことを特徴とする請求項3に記載の学習装置。
  5. 前記推論部は、前記第2の正常データと前記第2の分割データとを比較することで前記第2の分割データのうちの異常な状態を示す箇所を特定し、特定結果に基づいて、前記推論対象データにおいて異常な状態を示す箇所を特定する、
    ことを特徴とする請求項4に記載の学習装置。
  6. 前記学習対象データは、画像データであり、
    前記データ生成部は、
    前記学習済モデルを生成する際には、前記第1の識別情報を画像化するとともに前記第1の分割データの画像サイズと同じ画像サイズにリサイズし、画像化およびリサイズした前記第1の識別情報を用いて前記第1の対応情報を生成し、生成した前記第1の対応情報を用いて前記学習済モデルを生成する、
    ことを特徴とする請求項1または2に記載の学習装置。
  7. 前記学習対象データおよび前記推論対象データは、画像データであり、
    前記データ生成部は、
    前記学習済モデルを生成する際には、前記第1の識別情報を画像化するとともに前記第1の分割データの画像サイズと同じ画像サイズにリサイズし、画像化およびリサイズした前記第1の識別情報を用いて前記第1の対応情報を生成し、生成した前記第1の対応情報を用いて前記学習済モデルを生成し、
    前記推論対象データの異常を判断する際には、前記第2の識別情報を画像化するとともに前記第2の分割データの画像サイズと同じ画像サイズにリサイズし、画像化およびリサイズした前記第2の識別情報を用いて前記第2の対応情報を生成し、生成した前記第2の対応情報を前記学習済モデルに入力する、
    ことを特徴とする請求項3から5の何れか1つに記載の学習装置。
  8. 前記第1の識別情報は、前記第1の分割データの前記学習対象データ内に占める領域を第1の色で示し、前記学習対象データ内での前記第1の分割データ以外の領域を第2の色で示した情報であり、
    前記第2の識別情報は、前記第2の分割データの前記推論対象データ内に占める領域を前記第1の色で示し、前記推論対象データ内での前記第2の分割データ以外の領域を前記第2の色で示した情報である、
    ことを特徴とする請求項7に記載の学習装置。
  9. 前記第1の色が白色である場合には、前記第2の色は黒色であり、
    前記第1の色が黒色である場合には、前記第2の色は白色である、
    ことを特徴とする請求項8に記載の学習装置。
  10. 前記第1の識別情報および前記第2の識別情報は、2次元コードである、
    ことを特徴とする請求項7から9の何れか1つに記載の学習装置。
  11. 前記学習済モデルは、ニューラルネットワークであり、
    前記モデル生成部は、前記第1の識別情報を前記ニューラルネットワークの中間層に入力して前記学習済モデルを生成し、
    前記推論部は、前記第2の識別情報を前記ニューラルネットワークの前記中間層に入力して、前記推論対象データの異常を判断する、
    ことを特徴とする請求項3から5の何れか1つに記載の学習装置。
  12. 前記学習対象データおよび前記推論対象データは、1次元データである、
    ことを特徴とする請求項3に記載の学習装置。
  13. 学習対象のフルサイズのデータである学習対象データを取得するデータ取得ステップと、
    前記学習対象データを分割して前記学習対象データの分割データである第1の分割データを複数生成するとともに、前記第1の分割データのそれぞれに前記第1の分割データの前記学習対象データ内での領域を識別する第1の識別情報を付与するデータ生成ステップと、
    前記第1の分割データと、前記第1の分割データに対応する前記第1の識別情報と、の組である第1の対応情報を用いて、前記第1の分割データの異常を判断するための学習済モデルを生成するモデル生成ステップと、
    を含む、
    ことを特徴とする学習方法。
  14. 推論対象のフルサイズのデータである推論対象データを取得するデータ取得部と、
    前記推論対象データを分割して前記推論対象データの分割データを複数生成するとともに、前記分割データのそれぞれに前記分割データの前記推論対象データ内での領域を識別する識別情報を付与するデータ生成部と、
    前記分割データと前記分割データに対応する前記識別情報との組である対応情報と、前記対応情報を用いて前記分割データの異常を判断するための学習済みモデルとを用いて、前記推論対象データの異常を判断する推論部と、
    を備える、
    ことを特徴とする推論装置。
JP2020549084A 2020-04-08 2020-04-08 学習装置、学習方法、および推論装置 Active JP6818961B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/015841 WO2021205573A1 (ja) 2020-04-08 2020-04-08 学習装置、学習方法、および推論装置

Publications (2)

Publication Number Publication Date
JP6818961B1 true JP6818961B1 (ja) 2021-01-27
JPWO2021205573A1 JPWO2021205573A1 (ja) 2021-10-14

Family

ID=74200189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020549084A Active JP6818961B1 (ja) 2020-04-08 2020-04-08 学習装置、学習方法、および推論装置

Country Status (5)

Country Link
US (1) US20230118767A1 (ja)
JP (1) JP6818961B1 (ja)
CN (1) CN115443474A (ja)
DE (1) DE112020007035T5 (ja)
WO (1) WO2021205573A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022172475A1 (ja) * 2021-02-12 2022-08-18 オムロン株式会社 画像検査装置、画像検査方法、及び学習済みモデル生成装置
WO2022172470A1 (ja) * 2021-02-12 2022-08-18 オムロン株式会社 画像検査装置、画像検査方法及び学習済みモデル生成装置
WO2022185494A1 (ja) * 2021-03-04 2022-09-09 富士通株式会社 異常検出プログラム、異常検出方法、および情報処理装置
CN117934481A (zh) * 2024-03-25 2024-04-26 国网浙江省电力有限公司宁波供电公司 基于人工智能的输电线缆状态识别处理方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023170908A1 (ja) * 2022-03-11 2023-09-14 ギガフォトン株式会社 訓練モデルの作成方法、レーザ装置及び電子デバイスの製造方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211484A (ja) * 2009-03-10 2010-09-24 Nippon Telegr & Teleph Corp <Ntt> 存在確率による位置重みを考慮した類似画像検索装置、存在確率による位置重みを考慮した類似画像検索方法、存在確率による位置重みを考慮した類似画像検索プログラム
JP2014063360A (ja) * 2012-09-21 2014-04-10 Sony Corp 信号処理装置および信号処理方法、出力装置および出力方法、並びにプログラム
JP6612486B1 (ja) * 2019-05-31 2019-11-27 楽天株式会社 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018195119A (ja) 2017-05-18 2018-12-06 住友電装株式会社 異変検出装置及び異変検出方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211484A (ja) * 2009-03-10 2010-09-24 Nippon Telegr & Teleph Corp <Ntt> 存在確率による位置重みを考慮した類似画像検索装置、存在確率による位置重みを考慮した類似画像検索方法、存在確率による位置重みを考慮した類似画像検索プログラム
JP2014063360A (ja) * 2012-09-21 2014-04-10 Sony Corp 信号処理装置および信号処理方法、出力装置および出力方法、並びにプログラム
JP6612486B1 (ja) * 2019-05-31 2019-11-27 楽天株式会社 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022172475A1 (ja) * 2021-02-12 2022-08-18 オムロン株式会社 画像検査装置、画像検査方法、及び学習済みモデル生成装置
WO2022172470A1 (ja) * 2021-02-12 2022-08-18 オムロン株式会社 画像検査装置、画像検査方法及び学習済みモデル生成装置
WO2022185494A1 (ja) * 2021-03-04 2022-09-09 富士通株式会社 異常検出プログラム、異常検出方法、および情報処理装置
CN117934481A (zh) * 2024-03-25 2024-04-26 国网浙江省电力有限公司宁波供电公司 基于人工智能的输电线缆状态识别处理方法及系统

Also Published As

Publication number Publication date
US20230118767A1 (en) 2023-04-20
DE112020007035T5 (de) 2023-01-19
WO2021205573A1 (ja) 2021-10-14
CN115443474A (zh) 2022-12-06
JPWO2021205573A1 (ja) 2021-10-14

Similar Documents

Publication Publication Date Title
JP6818961B1 (ja) 学習装置、学習方法、および推論装置
JP6924413B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
CN106503724A (zh) 分类器生成装置、有缺陷/无缺陷确定装置和方法
WO2019176993A1 (ja) 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置
JP7059883B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
JP2019159820A (ja) 検査装置、画像識別装置、識別装置、検査方法、及び検査プログラム
KR20210141060A (ko) 머신러닝 기반의 이미지 이상 탐지 시스템
US20200334801A1 (en) Learning device, inspection system, learning method, inspection method, and program
WO2018235266A1 (ja) 検査装置、検査方法及び検査プログラム
CN113344875A (zh) 一种基于自监督学习的异常图像检测方法
JP2022045688A (ja) 欠陥管理装置、方法およびプログラム
JP7298176B2 (ja) 欠点検査装置および学習済みモデル
CN111429547A (zh) 一种基于假同色搜索的异常色觉测试图合成方法
WO2019176988A1 (ja) 検査システム、識別システム、及び識別器評価装置
WO2019146538A1 (ja) 画像処理装置、画像処理方法及び記録媒体
KR102437115B1 (ko) 제품 구조 예측 기술을 이용한 딥러닝 기반 결함 검사 장치 및 방법
WO2021100483A1 (ja) モデル生成装置、推定装置、モデル生成方法、及びモデル生成プログラム
CN113016023B (zh) 信息处理方法以及计算机可读的非暂时性记录介质
CN112767331A (zh) 基于零样本学习的图像异常检测方法
CN111179226B (zh) 视野图的识别方法、装置及计算机存储介质
JP7099296B2 (ja) 評価方法、システム構築方法、及び評価システム
JP2005252451A (ja) 画質検査方法及び画質検査装置
WO2022172470A1 (ja) 画像検査装置、画像検査方法及び学習済みモデル生成装置
WO2022172475A1 (ja) 画像検査装置、画像検査方法、及び学習済みモデル生成装置
WO2022172468A1 (ja) 画像検査装置、画像検査方法及び学習済みモデル生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200914

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200914

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201228

R150 Certificate of patent or registration of utility model

Ref document number: 6818961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250