IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社SCREENホールディングスの特許一覧

特許7414629学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム
<>
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図1
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図2
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図3
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図4
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図5
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図6
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図7
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図8
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図9
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図10
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図11
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図12
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図13
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図14
  • 特許-学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240109BHJP
   G06N 20/00 20190101ALI20240109BHJP
   G06N 3/08 20230101ALI20240109BHJP
【FI】
G06T7/00 350B
G06N20/00
G06N3/08
【請求項の数】 4
(21)【出願番号】P 2020076673
(22)【出願日】2020-04-23
(65)【公開番号】P2021174194
(43)【公開日】2021-11-01
【審査請求日】2022-12-19
(73)【特許権者】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(74)【代理人】
【識別番号】100135013
【弁理士】
【氏名又は名称】西田 隆美
(72)【発明者】
【氏名】木村 崇也
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2018-112863(JP,A)
【文献】特開2018-005773(JP,A)
【文献】特開2020-035097(JP,A)
【文献】工藤 郁弥 外3名,畳み込みオートエンコーダを用いた工業製品の不良検査,電子情報通信学会技術研究報告 Vol.118 No.492 [online],日本,一般社団法人電子情報通信学会,2019年03月04日,第118巻 第492号,pp.31-36
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 3/12
G06N 7/08 - 99/00
G06T 7/00 - 7/90
G06V10/00 - 20/90
G06V30/418
G06V40/16
G06V40/20
CSDB(日本国特許庁)
(57)【特許請求の範囲】
【請求項1】
学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理装置であって、
画像を入力とし、スコアを出力とする第1学習モデルと、
複数の標本画像を前記第1学習モデルに入力し、入力された前記標本画像の外れ値検知を行った結果を前記スコアとして出力するように学習させた第1学習済データと、
前記学習用画像のそれぞれを、前記第1学習済データを適用した前記第1学習モデルに入力して、外れ値であるか否かを示す前記スコアを取得する異常度算出部と、
前記スコアに基づいて、前記データセットから不適切な前記学習用画像を除去するデータクレンジング部と、
を有する、学習用データ処理装置。
【請求項2】
対象物を検査する検査装置を構築するための学習装置であって、
学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する、請求項1に記載の学習用データ処理装置と、
前記学習用データ処理装置によって不適切な画像が除去された処理済データセットを用いて学習を行う第2学習部と、
を有し、
前記第2学習部は、前記処理済データセットに含まれる複数の前記学習用画像を、画像を入力および出力とする第2学習モデルに入力し、前記第2学習モデルが入力された前記学習用画像の再構成画像を出力するように学習させた第2学習済データを生成する、学習装置。
【請求項3】
学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理方法であって、
a)前記学習用画像のそれぞれについて外れ値であるか否かを示すスコアを取得する異常度算出工程と、
b)前記スコアに基づいて、前記データセットから不適切な前記学習用画像を除去するデータクレンジング工程と、
を有し、
前記異常度算出工程において、
画像を入力とし、スコアを出力とする第1学習モデルと、
複数の標本画像を前記第1学習モデルに入力し、入力された前記標本画像の外れ値検知を行った結果を前記スコアとして出力するように学習させた第1学習済データと、
が用いられ、
前記異常度算出工程において、前記学習用画像のそれぞれを、第1学習済データを適用した前記第1学習モデルに入力して、外れ値であるか否かを示すスコアを取得する、学習用データ処理方法。
【請求項4】
コンピュータに、学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理を行わせるためのプログラムであって、
前記コンピュータに、
a)前記学習用画像のそれぞれについて異常度を示すスコアを算出する異常度算出工程と、
b)前記スコアに基づいて、前記データセットから不適切な前記学習用画像を除去するデータクレンジング工程と、
を実行させ、
前記コンピュータは、前記異常度算出工程において、
画像を入力とし、スコアを出力とする第1学習モデルと、
複数の標本画像を前記第1学習モデルに入力し、入力された前記標本画像の外れ値検知を行った結果を前記スコアとして出力するように学習させた第1学習済データと、
が用い、
前記コンピュータは、前記異常度算出工程において、前記学習用画像のそれぞれを、第1学習済データを適用した前記第1学習モデルに入力して、外れ値であるか否かを示すスコアを取得する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、学習用データ処理装置、学習装置、学習用データ処理方法、およびプログラムに関する。
【背景技術】
【0002】
食品、医薬品または工業製品等の製造工程においては、製造ラインに検査工程を設けて、不良品の検出等の検査が行われる場合がある。製品の検査は、人間が目視で行っており(目視検査)、人的コストが高いという問題があった。このため、検査工程の一部または全部を自動化するべく、機械によって自動的に製品を検査するシステムの開発が進められている。
【0003】
例えば、特許文献1には、機械学習を利用して欠陥検査する技術が開示されている。具体的には、第1の学習部は、正常データの集合を用いて、正常データを判別するための第1のモデルを学習する。この第1の学習部は、良品画像のみで機械学習を行う。このように、良品画像のみを用いて機械学習を行い、良品と不良品とを選別する検査装置が、広く知られている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-120300号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、機械学習を行うためのデータセットについて、数千枚から数万枚の大量の良品画像が必要となる場合がある。このように、大量の画像を準備した場合、データセット中に意図せず不良品データが混入する虞がある。そのような場合、生成される学習済モデルの精度が低くなるという問題が生じる。
【0006】
本発明の目的は、機械学習のデータセット中の複数の良品画像に混入した不良品画像を効率良く除去する技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本願の第1発明は、学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理装置であって、画像を入力とし、スコアを出力とする第1学習モデルと、複数の標本画像を前記第1学習モデルに入力し、入力された前記標本画像の外れ値検知を行った結果を前記スコアとして出力するように学習させた第1学習済データと、前記学習用画像のそれぞれを、前記第1学習済データを適用した前記第1学習モデルに入力して、外れ値であるか否かを示す前記スコアを取得する異常度算出部と、前記スコアに基づいて、前記データセットから不適切な前記学習用画像を除去するデータクレンジング部と、を有する。
【0013】
本願の第発明は、対象物を検査する検査装置を構築するための学習装置であって、学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する、第1発明の学習用データ処理装置と、前記学習用データ処理装置によって不適切な画像が除去された処理済データセットを用いて学習を行う第2学習部と、を有し、前記第2学習部は、前記処理済データセットに含まれる複数の前記学習用画像を、画像を入力および出力とする第2学習モデルに入力し、前記第2学習モデルが入力された前記学習用画像の再構成画像を出力するように学習させた第2学習済データを生成する。
【0014】
本願の第発明は、学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理方法であって、a)前記学習用画像のそれぞれについて外れ値であるか否かを示すスコアを取得する異常度算出工程と、b)前記スコアに基づいて、前記データセットから不適切な前記学習用画像を除去するデータクレンジング工程と、を有し、前記異常度算出工程において、画像を入力とし、スコアを出力とする第1学習モデルと、複数の標本画像を前記第1学習モデルに入力し、入力された前記標本画像の外れ値検知を行った結果を前記スコアとして出力するように学習させた第1学習済データと、が用いられ、前記異常度算出工程において、前記学習用画像のそれぞれを、第1学習済データを適用した前記第1学習モデルに入力して、外れ値であるか否かを示すスコアを取得する
【0016】
本願の第発明は、コンピュータに、学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理を行わせるためのプログラムであって、前記コンピュータに、a)前記学習用画像のそれぞれについて異常度を示すスコアを算出する異常度算出工程と、b)前記スコアに基づいて、前記データセットから不適切な前記学習用画像を除去するデータクレンジング工程と、を実行させ、前記コンピュータは、前記異常度算出工程において、画像を入力とし、スコアを出力とする第1学習モデルと、複数の標本画像を前記第1学習モデルに入力し、入力された前記標本画像の外れ値検知を行った結果を前記スコアとして出力するように学習させた第1学習済データと、が用い、 前記コンピュータは、前記異常度算出工程において、前記学習用画像のそれぞれを、第1学習済データを適用した前記第1学習モデルに入力して、外れ値であるか否かを示すスコアを取得する
【発明の効果】
【0018】
本願の第1発明~第発明によれば、機械学習のデータセット中の複数の良品画像に混入した不良品画像を効率良く除去することができる。
【図面の簡単な説明】
【0019】
図1】第1実施形態の検査装置を示す図である。
図2】第1実施形態の情報処理装置のハードウェア構成を示す図である。
図3】第1実施形態の情報処理装置が備える機能的な構成を示す図である。
図4】第1実施形態の情報処理装置が備える機能的な構成の一部を示す図である。
図5】第1実施形態の第1学習処理の流れを示すフローチャートである。
図6】第1実施形態の学習済の第1学習モデルに対して良品画像を入力した様子を概念的に示す図である。
図7】第1実施形態の学習済の第1学習モデルに対して不良品画像を入力した様子を概念的に示す図である。
図8】第1実施形態の欠陥検出部におけるデータクレンジング処理の流れを示すフローチャートである。
図9】第1実施形態のデータクレンジング処理の各段階で得られる画像の例を示した図である。
図10】第1実施形態のデータクレンジング処理の各段階で得られる画像の例を示した図である。
図11】第1実施形態のデータクレンジング処理における良品および不良品の対象物についての差分画像を示した図の例である。
図12】第1実施形態のデータクレンジング処理におけるスコアの統計データを示す図である。
図13】第1実施形態の第2学習処理の流れを示すフローチャートである。
図14】第1実施形態の欠陥検出処理の流れを示すフローチャートである。
図15】第2実施形態の情報処理装置が備える機能的な構成を示す図である。
【発明を実施するための形態】
【0020】
以下、添付の図面を参照しながら、本発明の実施形態について説明する。なお、この実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。図面においては、理解容易のため、必要に応じて各部の寸法や数が誇張または簡略化して図示されている場合がある。
【0021】
<1.第1実施形態>
<1-1.検査装置の構成>
図1は、第1実施形態の検査装置10を示す図である。検査装置10は、対象物90の画像を解析することによって、対象物90の欠陥を検出する。対象物90は、具体的には錠剤であるが、錠剤に限定されない。検査装置10は、カメラ110と、情報処理装置120とを備える。カメラ110は、情報処理装置120と電気的に接続されている。カメラ110は、イメージセンサを備えている。カメラ110は、イメージセンサを用いて対象物90を撮像することにより得られる画像信号を、情報処理装置120へ出力する。カメラ110に撮像される対象物90は、所定の位置に停止していてもよいし、ベルトコンベアなどの搬送機構により、所定の方向へ移動していてもよい。
【0022】
図2は、第1実施形態の情報処理装置120のハードウェア構成を示す図である。情報処理装置120は、コンピュータとしての構成を備える。具体的には、情報処理装置120は、プロセッサ121と、RAM123と、記憶部125と、入力部127と、表示部129と、機器I/F131と、通信I/F133とを備える。プロセッサ121、RAM123、記憶部125、入力部127、表示部129、機器I/F131および通信I/F133は、バス135を介して互いに電気的に接続されている。
【0023】
プロセッサ121は、具体的には、CPUまたはGPUを含む。RAM123は、情報の読み出しおよび書き込みが可能な記憶媒体であって、具体的には、SDRAMである。記憶部125は、情報の読み出しおよび書き込みが可能な記録媒体であって、具体的には、HDD(ハードディスクドライブ)またはSSD(ソリッドステートドライブ)を含む。なお、記憶部125は、可搬性を有する光ディスク、磁気ディスクまたは半導体メモリ等を含んでもよい。記憶部125は、プログラムPを記憶している。プロセッサ121は、RAM123を作業領域として、プログラムPを実行することにより、各種の機能を実現する。なお、プログラムPは、ネットワークを介して、情報処理装置120に提供または配布されるようにしてもよい。
【0024】
入力部127は、ユーザの操作入力を受け付ける入力デバイスであり、具体的には、マウスまたはキーボードなどである。表示部129は、各種情報を表す画像を表示する表示デバイスであり、具体的には、液晶ディスプレイである。
【0025】
機器I/F131は、カメラ110を情報処理装置120に電気的に接続するためのインターフェースである。通信I/F133は、情報処理装置120をインターネットなどのネットワークと接続するためのインターフェースである。カメラ110は、通信I/F133を介して情報処理装置120と接続されてもよい。すなわち、検査装置10は、カメラ110を備えていることは必須ではなく、情報処理装置120のみを備えていてもよい。
【0026】
図3は、第1実施形態の情報処理装置120が備える機能的な構成を示す図である。図4は、情報処理装置120が備える機能的な構成の一部をより詳細に示す図である。
【0027】
図3に示すように、情報処理装置120は、第1学習部20と、学習用データ処理部30と、第2学習部40と、欠陥検出部50とを有する。
【0028】
第1学習部20、学習用データ処理部30および第2学習部40は、検査装置を構成する欠陥検出部50を構築するための構成である。欠陥検出部50の後述する第2学習モデルM2を精度よく学習させるためには、多数の対象物の良品の画像(以下「良品画像」という)が必要となる。しかしながら、多数の対象物の画像を含む学習用のデータセットを準備する際に、不良品の画像(以下「不良品画像」という)が混入する恐れがある。そこで、この情報処理装置120は、不良品画像が混入している可能性がある学習用のデータセットを用いて、学習用のデータセットに含まれる複数の学習用画像から不適切な不良品画像を除去する学習用データ処理部30を有する。
【0029】
本実施形態では、検査装置の一部である欠陥検出部50と、欠陥検出部50を構築するための第1学習部20、学習用データ処理部30および第2学習部40が同じ情報処理装置120内に含まれているが、本発明はこれに限られない。第1学習部20、学習用データ処理部30および第2学習部40は、検査装置10に備えられていることは必須ではなく、別のコンピュータに備えられていてもよい。
【0030】
第1学習部20は、学習用データ処理部30の後述する第1学習モデルM1の学習を行う。具体的には、第1学習部20は、第1学習モデルM1に対して、教師なし学習を行う。
【0031】
学習用データ処理部30は、学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理装置の一例である。学習用データ処理部30は、第2学習部40が欠陥検出部50の後述する第2学習モデルM2の学習を行う際に用いられる学習用のデータセットD30に対して処理を行う。
【0032】
学習用データ処理部30は、第1学習モデルM1、第1学習済データD1、第1画像再構成部31、異常度算出部32およびデータクレンジング部33を有する。第1学習モデルM1および第1学習済データD1は、記憶部125に保存されている。第1画像再構成部31、異常度算出部32およびデータクレンジング部33は、プロセッサ121がプログラムPに従って動作することにより実現される機能である。
【0033】
第1学習モデルM1は、画像を入力とし、画像を出力とする学習モデルである。第1学習モデルM1は、例えば、ニューラルネットワークを用いたオートエンコーダ、または、変分オートエンコーダ(Variational Autoencoder)である。
【0034】
第1学習済データD1は、第1学習部20が第1学習モデルM1に対して学習を行うことにより得られた学習済データである。第1学習部20は、機械学習によって第1学習済データD1を生成し、記憶部125に記憶させる。
【0035】
具体的には、第1学習済データD1は、学習用の対象物の画像である複数の標本画像D20を第1学習モデルM1に入力し、入力された標本画像D20の再構成画像を出力するように学習させた学習済データである。
【0036】
複数の標本画像D20は、複数の対象物90をカメラ110で撮像することによって得られる画像である。このとき、複数の標本画像D20は、全て良品の画像であることが好ましい。しかしながら、現実的な準備の観点から、第1学習部20が第1学習モデルM1の学習に用いる複数の標本画像D20と、学習用データ処理部30がデータクレンジング処理を行う対象となるデータセットD30に含まれる複数の学習用画像とは、同じものを用いる。すなわち、第1学習済データD1は、データセットD30に含まれる複数の学習用画像を標本画像D20として入力して学習させた学習済データである。
【0037】
第1学習済データD1を適用した第1学習モデルM1(以下「学習済第1学習モデルL1」と称する)は、標本画像D20を入力とし、入力された標本画像の再構成画像を出力するように動作する。学習に用いられる複数の標本画像D20の大部分は良品の画像であるため、学習済第1学習モデルL1に良品の画像が入力された場合、出力される再構成画像の再現度が高いのに対して、学習済第1学習モデルL1に不良品の画像が入力された場合、出力される再構成画像の再現度が低くなる。
【0038】
第1画像再構成部31は、入力された画像の再構成画像を出力する。具体的には、第1画像再構成部31は、複数の学習用画像が含まれるデータセットD30を、学習済第1学習モデルL1へと入力し、データセットD30に含まれる複数の学習用画像のそれぞれの再構成画像を含む第1再構成画像D31を生成する処理を実行する。第1画像再構成部31は、学習済第1学習モデルL1から出力された第1再構成画像D31を、異常度算出部32へと引き渡す。
【0039】
異常度算出部32は、データセットD30に含まれる学習用画像のそれぞれについて異常度を示すスコアを算出する。図4に示すように、異常度算出部32は、第1差分画像生成部321と、スコア算出部322とを有する。
【0040】
第1差分画像生成部321は、第1画像再構成部31へ入力されたデータセットD30に含まれる複数の学習用画像のそれぞれと、第1画像再構成部31から出力された第1再構成画像D31のそれぞれとについて、差分を取り、差分画像D321を生成する。
【0041】
スコア算出部322は、差分画像D321に基づいて、データセットD30に含まれる学習用画像のそれぞれについて、異常度を示すスコアを算出する。スコアは、例えば、差分画像D321の全ての画素についての輝度の合計値である。そして、スコア算出部322は、データセットD30の学習用画像毎のスコアを全て含むスコアデータD32をデータクレンジング部33へと引き渡す。
【0042】
データクレンジング部33は、異常度算出部32の算出したスコアに基づいて、データセットD30から不適切な学習用画像を除去する。データクレンジング部33は、閾値算出部331と、不良品データ除去部332とを有する。
【0043】
閾値算出部331は、スコアデータD32に含まれる全スコアに基づいて、良品の範囲を示す閾値D33を算出する。本実施形態では、閾値算出部331は、スコアデータD32に含まれるスコアを統計的に処理し、その結果に基づいて閾値D33を算出する。不良品データ除去部332は、閾値D33に基づいて、データセットD30から、良品の範囲に含まれない学習用画像を除去した処理済データセットD40を生成する。
【0044】
第2学習部40は、図3に示すように、欠陥検出部50の後述する第2学習モデルM2の学習を行う。具体的には、学習用データ処理部30によって不適切な学習用画像が除去された処理済データセットD40を用いて、欠陥検出部50の第2学習モデルM2の学習を行う。
【0045】
欠陥検出部50は、対象物90をカメラ110で撮像することによって得られた対象物画像に基づいて、対象物90の欠陥を検出する。欠陥検出部50は、第2学習モデルM2と、第2学習済データD2と、第2画像再構成部51と、第2差分画像生成部52と、欠陥検出処理部53とを有する。第2学習モデルM2および第2学習済データD2は、記憶部125に保存されている。第2画像再構成部51、第2差分画像生成部52および欠陥検出処理部53は、プロセッサ121がプログラムPに従って動作することにより実現される機能である。
【0046】
第2学習モデルM2は、画像を入力とし、画像を出力とする学習モデルである。第2学習モデルM2は、例えば、ニューラルネットワークを用いたオートエンコーダ、または、変分オートエンコーダ(Variational Autoencoder)である。第1学習モデルM1と、第2学習モデルM2とは、全く同じ学習モデルが用いられてもよいし、異なる学習モデルが用いられてもよい。例えば、第1学習モデルM1と、第2学習モデルM2とに、同じオートエンコーダが用いられてもよいし、層数や入出力パラメータ数の異なるオートエンコーダが用いられてもよい。
【0047】
第2学習済データD2は、第2学習部40が第2学習モデルM2に対して学習を行うことにより得られた学習済データである。第2学習部40は、機械学習によって第2学習済データD2を生成し、記憶部125に記憶させる。
【0048】
具体的には、第2学習済データD2は、処理済データセットD40を第2学習モデルM2に入力し、入力された処理済データセットD40に含まれる学習用画像の再構成画像を出力するように学習させた学習済データである。
【0049】
第2学習済データD2を適用した第2学習モデルM2(以下「学習済第2学習モデルL2」と称する)は、処理済データセットD40に含まれる学習用画像を入力し、入力された学習用画像の再構成画像を出力するように動作する。学習に用いられる処理済データセットD40に含まれる学習用画像は、学習用データ処理部30のデータクレンジング処理により、良品画像である確率が非常に高まっている。このため、学習済第2学習モデルL2は、入力画像が良品画像である場合も、入力画像が不良品画像である場合も、再構成画像として良品に近い画像を出力する。
【0050】
第2画像再構成部51は、入力された画像の再構成画像を出力する。具体的には、第2画像再構成部51には、欠陥検査を行うべき対象物90をカメラ110で撮像することによって得られた対象物画像D50が入力される。そして、第2画像再構成部51は、対象物画像D50を学習済第2学習モデルL2へと入力し、学習済第2学習モデルL2によって再構成された第2再構成画像D51を第2差分画像生成部52へと引き渡す。
【0051】
第2差分画像生成部52は、第2画像再構成部51へ入力された対象物画像D50と、第2画像再構成部51から出力された第2再構成画像D51について、差分を取り、第2差分画像D52を生成する。
【0052】
欠陥検出処理部53は、第2差分画像D52に基づいて欠陥の有無を検出し、欠陥の有無を検査結果D60として出力する。
【0053】
プロセッサ121は、欠陥検出処理部53によって出力される検査結果D60を、表示部129に表示してもよい。
【0054】
<1-2.第1学習処理>
第1学習部20が行う第1学習処理S10について、図5を参照しつつ説明する。図5は、本実施形態の第1学習処理S10の流れを示すフローチャートである。第1学習処理S10では、第1学習モデルM1を用いて、入力画像の再構成画像を出力するためのパラメータ等である第1学習済データD1を生成する。
【0055】
図5に示すように、情報処理装置120は、まず、複数の標本画像D20を準備する準備工程を行う(ステップS11)。具体的には、プロセッサ121は、複数の対象物90をカメラ110で撮像することによって、複数の標本画像D20を取得する。そして、プロセッサ121は、取得した複数の標本画像D20を記憶部125に記憶させる。
【0056】
この複数の標本画像D20が、処理前のデータセットD30としても用いられる。このとき、準備される複数の対象物90の大部分が良品であるが、まれに不良品が混入している場合がある。このため、複数の標本画像D20には、ごく一部分に不良品が混入している虞がある。
【0057】
準備工程S11が完了すると、第1学習部20は、準備工程S11で取得した複数の標本画像D20の一部(例えば100枚分の画像)を小データセットとして、第1学習モデルM1に入力して第1学習済データD1を生成する、第1学習工程を実行する(ステップS12)。なお、「学習済データを生成する」の用語は、既に生成された学習済データを更新することを含む。
【0058】
具体的には、第1学習工程S12では、第1学習部20は、小データセットを学習済第1学習モデルL1(第1回の第1学習工程S12では第1学習モデルM1)に入力し、再構成画像を生成する。そして、入力した画像と再構成画像とがどの程度近似しているかの評価指標を算出する。評価指標には、例えば、入力された標本画像と出力された再構成画像との差分(誤差)の2乗和が用いられる。その後、算出した評価指標に基づいて、バックプロパゲーションにより、第1学習モデルM1を構成するニューラルネットの重み付けのパラメータ等を含む第1学習済データD1を更新する。
【0059】
続いて、第1学習部20は、第1学習モデルM1の学習が終了したか否かを判断する(ステップS13)。具体的には、直前の第1学習工程S12で算出された評価指標が、所定の範囲内に収束したか否かを判断する。すなわち、直前の第1学習工程S12で生成された第1学習済データD1を適用した第1学習モデルM1が、標本画像に近似した再構成画像を所望の精度で生成しているか否かを判断する。具体的には、例えば、第1学習工程S12で算出された評価指標が所定の閾値よりも小さい場合、第1学習モデルM1の学習が終了したと判断する。なお、ステップS13において、全ての標本画像D20についての学習が所定の回数終了した場合にも、学習が終了したと判断してもよい。
【0060】
ステップS13において、第1学習モデルM1の学習が終了していないと判断すると(ステップS13:No)、プロセッサ121は、第1学習工程S12に戻り、次の小データセットについて学習を行う。
【0061】
ステップS13において第1学習モデルM1の学習が終了したと判断すると(ステップS13:Yes)、プロセッサ121は、第1学習部20が生成した第1学習済データD1を記憶部125に保存する保存工程を実行する(ステップS14)。
【0062】
図6は、本実施形態の第1学習済データD1を適用した第1学習モデルM1、すなわち、学習済第1学習モデルL1に対して、良品画像G11を入力した様子を概念的に示す図である。図7は、学習済第1学習モデルL1に対して、不良品画像G12を入力した様子を概念的に示す図である。
【0063】
図6および図7に示すように、第1学習モデルM1は、具体的には、エンコーダとデコーダとを有するニューラルネットワークである。エンコーダは、入力画像を次元圧縮することにより潜在変数を求める。デコーダは、潜在変数から元の入力画像を再現する。なお、図6において示される第1学習モデルM1の入力層および出力層の要素数や、隠れ層の数は、一例に過ぎず、これに限られない。
【0064】
図6に示すように、学習済第1学習モデルL1に欠陥の無い対象物90を撮像した良品画像G11を入力した場合、学習済第1学習モデルL1から出力される再構成画像G21は、比較的再現度が高い。すなわち、再構成画像G21は、入力した良品画像G11との差分が小さい。これに対し、図7に示すように、学習済第1学習モデルL1に欠陥部分91を有する対象物90を撮像した不良品画像G12を入力した場合、学習済第1学習モデルL1から出力される再構成画像G22は、不良品の欠陥部分91を十分に再現しない。すなわち、再構成画像G22は、入力した不良品画像G12との差分が大きい。欠陥部分91は、例えば、対象物90に付着した汚れまたは異物、欠け等である。
【0065】
<1-3.データクレンジング処理>
次に、学習用データ処理部30が行うデータクレンジング処理S20について、図8を参照しつつ説明する。図8は、本実施形態のデータクレンジング処理S20の流れを示すフローチャートである。データクレンジング処理S20は、学習済第1学習モデルL1を用いて、学習用のデータセットD30に含まれる複数の学習用画像から不適切な画像を除去するデータ処理である。
【0066】
図8に示すように、情報処理装置120は、まず、処理前のデータセットD30を準備する準備工程を行う(ステップS21)。具体的には、本実施形態において、処理前のデータセットD30に含まれる複数の学習用画像は第1学習処理S10で用いられた複数の標本画像D20と同じものであるため、プロセッサ121は、記憶部125から複数の標本画像D20を処理前のデータセットD30として読み出す。
【0067】
次に、第1画像再構成部31は、準備工程S21によって得られたデータセットD30の各学習用画像から学習済第1学習モデルL1を用いて第1再構成画像D31を生成する、第1画像再構成工程を行う(ステップS22)。具体的には、第1画像再構成部31は、データセットD30に含まれる学習用画像を学習済第1学習モデルL1に入力し、その出力である第1再構成画像D31を取得する。そして、プロセッサ121は、取得した第1再構成画像D31を記憶部125に記憶させる。
【0068】
続いて、第1差分画像生成部321は、記憶部125に記憶されたデータセットD30の学習用画像と、第1画像再構成工程S22で当該学習用画像から生成された第1再構成画像D31とから第1差分画像D321を生成する第1差分画像生成工程を行う(ステップS23)。具体的には、学習用画像の各画素の輝度と、第1再構成画像D31の各画素の輝度との差分をとることにより、第1差分画像D321を生成する。そして、プロセッサ121は、取得した第1差分画像D321を記憶部125に記憶させる。
【0069】
ここで、図9および図10は、本実施形態に係るデータクレンジング処理の各段階で得られる画像の例を示した図である。なお、図9における学習用画像G31は、対象物90が良品である場合の画像であるのに対し、図10における学習用画像G32は、対象物90が欠陥部分91を有する不良品である場合の画像である。図11は、図9および図10に示す第1差分画像G51,G52を拡大して示した図である。
【0070】
対象物90が良品である場合、図9に示すように、第1画像再構成工程S22で入力される学習用画像G31と、第1画像再構成工程S22で生成される第1再構成画像G41とが、近似した画像となる。すなわち、この場合、第1再構成画像G41の各画素の輝度は、学習用画像G31の各画素の輝度と近似する。このため、図9に示すように、第1差分画像G51は、近似した画像の輝度が相殺され、各画素の輝度が小さい画像となる。
【0071】
一方、対象物90が不良品である場合、図10に示すように、第1画像再構成工程S22で入力される学習用画像G32には、欠陥部分91が現れている。このような場合、前述の通り、欠陥部分91を含む学習用画像G32から生成された第1再構成画像G42は、学習用画像G32から欠陥部分91が除かれたような画像となる。
【0072】
したがって、第1差分画像G52のうち、対象物90の正常な部分については、学習用画像G32と近似した画像の輝度が相殺され、各画素の輝度が小さい。一方、第1差分画像G42のうち、欠陥部分91については、学習用画像G32と第1再構成画像G42の輝度の差が大きいため、当該部分の輝度は、正常な部分に比べて大きくなる。したがって、図10に示すように、第1差分画像G52において欠陥部分91は白っぽく表示されている。このように、第1差分画像G52を得ることにより、欠陥部分91を特異的に抽出することができる。
【0073】
その後、データセットD30に含まれる学習用画像のそれぞれについて、スコア算出部322が異常度を示すスコアを算出するスコア算出工程を行う(ステップS24)。本実施形態において、スコアは、差分画像D321のすべての画素についての輝度の合計値である。そして、スコア算出部322は、データセットD30の学習用画像毎のスコアをすべて含むスコアデータD32をデータクレンジング部33の閾値算出部331へと引き渡す。
【0074】
閾値算出部331は、スコアデータD32に含まれる全スコアに基づいて、良品の範囲を示す閾値D33を算出する閾値算出工程を行う(ステップS25)。本実施形態の閾値算出部331は、スコアデータD32に含まれる全スコアを統計処理し、その処理結果に基づいて閾値D33を算出する。
【0075】
図12は、スコアデータD32の一例に含まれるスコアをヒストグラムで表示した図である。図12において、横軸はスコアの値であり、縦軸は各スコアにおけるデータ数である。
【0076】
本実施形態では、上述のように、差分画像D321において、対象物90の欠陥部分91の輝度が大きくなる。このため、良品の差分画像D321におけるスコアはおおよそ正規分布となり、不良品の差分画像D321におけるスコアは良品のスコアに比べて大きい値を取る。したがって、スコアデータD32に含まれる全スコアの度数分布において、図12に示すように、正規分布の右裾(スコアが大きい方)が長い度数分布が得られる。
【0077】
このようなスコアデータD32に対して、閾値算出部331は、閾値算出工程S25において、スコアの平均値Sや標準偏差σ等の値を求める統計処理を行う。そして、閾値算出部331は、良品の範囲を示す閾値D33を算出する。閾値D33には、良品の下限値を示す第1閾値Th1と、良品のスコア上限値を示す第2閾値Th2とを含む。
【0078】
本実施形態では、第1閾値Th1および第2閾値Th2は、スコアの平均値Sおよび標準偏差σを基準として、以下のように算出される。
Th1=S―3*σ
Th2=S+3*σ
【0079】
なお、本実施形態の閾値算出部331は、統計処理を行って閾値D33を算出したが、本発明はこれに限られない。閾値算出部331は、予め指定された枚数分の差分画像D321をスコアの大きい順に選択し、これらの差分画像D321が排除されるように閾値D33を設定してもよい。また、閾値算出部331は、良品のスコア下限値である第1閾値Th1を設けず、良品のスコア上限値である第2閾値Th2をスコアの平均値Sの定数倍として算出してもよい。閾値算出部331の閾値D33の算出方法はこれらに限られず、対象物90の種類や目的等の条件に応じて、適宜選択され得る。
【0080】
最後に、不良品データ除去部332は、閾値D33に基づいて、データセットD30から、良品の範囲に含まれない学習用画像を除去する不良品データ除去工程を行う(ステップS26)。具体的には、不良品データ除去部332は、第1閾値Th1よりも小さいスコアを有する差分画像D321に対応する学習用画像と、第2閾値Th2よりも大きいスコアを有する差分画像D321に対応する学習用画像とを、データセットD30から除去し、処理済データセットD40を生成する。そして、プロセッサ121は、生成された処理済データセットD40を記憶部125に記憶させる。
【0081】
このデータクレンジング処理S20によって、処理前のデータセットD30から不良品画像が除去された処理済データセットD40が生成される。この処理済データセットD40を用いて、欠陥検出に用いられる第2学習モデルM2の学習を行うことにより、第2学習モデルM2の機械学習の精度を高めることができる。
【0082】
<1-4.第2学習処理>
第2学習部40が行う第2学習処理S30について、図13を参照しつつ説明する。図13は、本実施形態の第2学習処理S30の流れを示すフローチャートである。第2学習処理S30では、第2学習モデルM2を用いて、入力画像の再構成画像を出力するためのパラメータ等である第2学習済データD2を生成する。
【0083】
図13に示すように、情報処理装置120は、まず、処理済データセットD40を準備する準備工程を行う(ステップS31)。具体的には、プロセッサ121は、記憶部125に記憶された処理済データセットD40を読み出す。
【0084】
準備工程S31が完了すると、第2学習部40は、準備工程S31で取得した処理済データセットD40に含まれる複数の学習用画像の一部(例えば100枚分の画像)を小データセットとして、第2学習モデルM2に入力して第2学習済データD2を生成する、第2学習工程を実行する(ステップS32)。本実施形態の第2学習工程S32は、第1学習処理S10の第1学習工程S12と同様に行われる。
【0085】
続いて、第2学習部40は、第2学習モデルM2の学習が終了したか否かを判断する(ステップS33)。本実施形態のステップS33は、第1学習処理S10のステップS13と同様に行われる。
【0086】
ステップS33において、第2学習モデルM2の学習が終了していないと判断すると(ステップS33:No)、プロセッサ121は、第2学習工程S32に戻り、次の小データセットについて学習を行う。
【0087】
ステップS33において第2学習モデルM2の学習が終了したと判断すると(ステップS33:Yes)、プロセッサ121は、第2学習部40が生成した第2学習済データD2を記憶部125に保存する保存工程を実行する(ステップS34)。
【0088】
このように、第1学習処理S10と同様の手順で第2学習処理S30を行うことにより、学習済第2学習モデルL2は、学習済第1学習モデルL1と同様に、入力画像に基づいて、欠陥部分を十分に再現しない再構成画像を出力する学習モデルとして学習させることができる。このとき、第2学習処理S30では、第1学習処理S10で学習に用いられた処理前のデータセットS30よりも不良品の混入率の低い処理済データセットD40を用いて機械学習を行うことができる。これにより、学習済第2学習モデルL2は、より精度よく学習を行うことができる。
【0089】
<1-5.欠陥検出処理>
最後に、欠陥検出部50における学習済第2学習モデルL2を用いた欠陥検出処理S40について、図14を参照しつつ説明する。この欠陥検出処理S40では、対象物90を撮像して得られた対象物画像D50に基づいて、対象物90の欠陥を検出する。図14は、本実施形態の欠陥検出部50における欠陥検出処理の流れを示すフローチャートである。
【0090】
図14に示すように、情報処理装置120は、まず、検査対象となる対象物90を撮影して、対象物画像D50を取得する撮像工程を行う(ステップS41)。具体的には、プロセッサ121は、カメラ110を用いて、検査対象である対象物を撮像することによって、対象物画像D50を取得する。そして、プロセッサ121は、取得した対象物画像D50を記憶部125に記憶させる。
【0091】
次に、第2画像再構成部51は、撮像工程S41によって得られた対象物画像D50から学習済第2学習モデルL2を用いて第2再構成画像D51を生成する、第2画像再構成工程を実行する(ステップS42)。具体的には、第2画像再構成部51は、対象物画像D50を、第2学習済データD2を適用した第2学習モデルM2に入力し、その出力である第2再構成画像D51を取得する。そして、プロセッサ121は、取得した第2再構成画像D51を記憶部125に記憶させる。
【0092】
続いて、第2差分画像生成部52は、記憶部125に記憶された対象物画像D50および第2再構成画像D51から第2差分画像D52を生成する、第2差分画像生成工程を実行する(ステップS43)。具体的には、第2差分画像生成部52は、対象物画像D50の各画素の輝度と、第2再構成画像D51の各画素の輝度との差分を取ることにより、第2差分画像D52を生成する。そして、プロセッサ121は、生成された第2差分画像D52を記憶部125に記憶させる。
【0093】
最後に、欠陥検出処理部53は、第2差分画像D52に基づいて、対象物90に欠陥が有るか否かを判断する、欠陥検出工程を実行する(ステップS44)。上述のように、第2差分画像D52において、対象物90の欠陥部分91は輝度が大きい領域となる。この特徴を用いて、欠陥検出処理部53は、対象物90に欠陥が有るか否かを判断する。具体的な判断方法は、適宜、選択し得る。そして、欠陥検出処理部53は、欠陥検出の有無を検査結果D60として出力する。
【0094】
<2.第2実施形態>
図15は、第2実施形態の情報処理装置120Aが備える機能的な構成を示す図である。図15に示す情報処理装置120Aは、第1実施形態と異なる構成である第1学習部20Aおよび学習用データ処理部30Aと、第1実施形態と同様の構成である第2学習部40および欠陥検出部50とを有する。なお、図15中、第1実施形態と同様の構成については、同じ符号を付している。
【0095】
第1学習部20Aは、学習用データ処理部30Aの後述する第1学習モデルM1Aの学習を行う。具体的には、第1学習部20Aは、第1学習モデルM1Aに対して、教師なし学習を行う。
【0096】
学習用データ処理部30Aは、学習用のデータセットに含まれる複数の学習用画像から不適切な画像を除去する学習用データ処理装置の一例である。学習用データ処理部30Aは、第1学習モデルM1A、第1学習済データD1A、異常度算出部32Aおよびデータクレンジング部33Aを有する。
【0097】
第1学習モデルM1Aは、One Class SVM(One Class Support Vector Machine)である。One Class SVMは、分類(Classification)を行うことにより、外れ値検知を行うことができる。なお、第1学習モデルM1Aは、One Classニューラルネットワークをはじめとする、その他の教師なし学習を行う機械学習モデルであってもよい。
【0098】
第1学習済データD1Aは、第1学習部20Aが第1学習モデルM1Aに対して学習を行うことにより得られた学習済データである。第1学習部20Aは、機械学習によって第1学習済データD1Aを生成する。
【0099】
具体的には、第1学習済データD1Aは、学習用の対象物の画像である複数の標本画像D20を第1学習モデルM1Aに入力し、特徴量を算出することにより、適切に外れ値検知を行うように学習させた学習済データである。
【0100】
第1学習済データD1Aを適用した第1学習モデルM1A(以下「学習済第1学習モデルL1A」と称する)は、標本画像D20を入力とし、入力された標本画像が外れ値であるか否かをスコアとして出力する。
【0101】
異常度算出部32Aは、データセットD30に含まれる学習用画像のそれぞれを学習済第1学習モデルL1Aに入力し、それぞれの学習用画像に対するスコアを取得する。そして、異常度算出部32Aは、データセットD30の学習用画像毎のスコアを全て含むスコアデータD32Aをデータクレンジング部33Aへと引き渡す。
【0102】
データクレンジング部33Aは、異常度算出部32Aの算出したスコアに基づいて、データセットD30から不適切な学習用画像を除去する。すなわち、データクレンジング部33Aは、予め学習済第1学習モデルL1Aが外れ値と判断した学習用画像を、データセットD30から除去した処理済データセットD40Aを出力する。
【0103】
<3.変形例>
以上、実施形態について説明してきたが、本発明は上記のようなものに限定されるものではなく、様々な変形および組み合わせが可能である。
【0104】
この発明は詳細に説明されたが、上記の説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。上記各実施形態および各変形例で説明した各構成は、相互に矛盾しない限り適宜組み合わせたり、省略したりすることができる。
【符号の説明】
【0105】
10 検査装置
20,20A 第1学習部
31 第1画像再構成部
32,32A 異常度算出部
33,33A データクレンジング部
40 第2学習部
50 欠陥検出部
90 対象物
321 第1差分画像生成部
322 スコア算出部
331 閾値算出部
332 不良品データ除去部
D1,D1A 第1学習済データ
D2 第2学習済データ
D20 標本画像
D30 データセット
D31 第1再構成画像
D32,D32A スコアデータ
D321 第1差分画像
D33 閾値
D40,D40A 処理済データセット
L1,L1A 学習済第1学習モデル
L2 学習済第2学習モデル
M1,M1A 第1学習モデル
M2 第2学習モデル
P プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15