(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025015116
(43)【公開日】2025-01-30
(54)【発明の名称】学習装置、模擬データ生成装置及び学習方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20250123BHJP
G06T 7/00 20170101ALI20250123BHJP
G05B 23/02 20060101ALI20250123BHJP
【FI】
G06N20/00
G06T7/00 350B
G05B23/02 302Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023118274
(22)【出願日】2023-07-20
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】野田 祥希
【テーマコード(参考)】
3C223
5L096
【Fターム(参考)】
3C223AA11
3C223BA01
3C223BB08
3C223CC01
3C223EB05
3C223FF02
3C223FF12
3C223FF13
3C223FF22
3C223FF26
3C223FF35
3C223FF42
3C223FF45
3C223FF52
3C223GG01
3C223HH02
5L096AA02
5L096AA06
5L096BA03
5L096EA03
5L096EA15
5L096EA16
5L096FA25
5L096GA19
5L096HA11
5L096KA04
(57)【要約】
【課題】 十分なデータを用いた機械学習により、AIモデルの精度を向上させること。
【解決手段】 学習装置は、画像データから異常を検知する検知部と、前記検知部によって異常が検知された画像データを加工して、当該画像データに類似する模擬データを生成する生成部と、前記生成部によって生成された模擬データを用いたモデルの学習を制御する学習制御部と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
画像データから異常を検知する検知部と、
前記検知部によって異常が検知された画像データを加工して、当該画像データに類似する模擬データを生成する生成部と、
前記生成部によって生成された模擬データを用いたモデルの学習を制御する学習制御部と、
を有する学習装置。
【請求項2】
前記検知部は、
異常検知モデルを用いて画像データから異常を検知し、
前記生成部は、
前記検知部によって異常が検知された画像データのうち異常が誤検知された誤検知データを加工して、異常が誤検知され得る模擬データを生成し、
前記学習制御部は、
前記生成部によって生成された模擬データを用いた前記異常検知モデルの学習を制御する
請求項1に記載の学習装置。
【請求項3】
前記画像データ中の領域を分割する分割部をさらに有し、
前記生成部は、
前記分割部によって分割された領域に基づいて、前記誤検知データを加工する
請求項2に記載の学習装置。
【請求項4】
前記検知部によって検知される異常を異常分類モデルを用いて分類する分類部をさらに有し、
前記生成部は、
前記検知部によって異常が検知された画像データのうち真に異常を含む異常データを加工して、前記異常データの変化型である模擬異常データを生成し、
前記学習制御部は、
前記生成部によって生成された模擬異常データを用いた前記異常分類モデルの学習を制御する
請求項1に記載の学習装置。
【請求項5】
画像データから異常を検知する検知部と、
前記検知部によって異常が検知された画像データを加工して、当該画像データに類似する模擬データを生成する生成部と、
を有する模擬データ生成装置。
【請求項6】
画像データから異常を検知し、
異常が検知された画像データを加工して、当該画像データに類似する模擬データを生成し、
生成された模擬データを用いてモデルの学習を実行する
工程を有する学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習装置、模擬データ生成装置及び学習方法に関する。
【背景技術】
【0002】
一般に、例えば製品の画像検査において、AI(Artificial Intelligence)モデルを用いた異常検知が行われることがある。このような異常検知に用いられるAIモデルは、例えば異常がない検査対象の画像及び異常がある検査対象の画像をAIに機械学習させることにより生成される。
【0003】
また、検査対象に異常が検知された場合に、検知された異常をAIモデルを用いて分類することが考えられている。すなわち、検知された異常が例えば表面の傷であるのか、凹みであるのかなどがAIモデルによって分類される。このような異常分類に用いられるAIモデルは、各種の異常がある検査対象の画像をAIに機械学習させることにより生成される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-157303号公報
【特許文献2】特開2022-24541号公報
【特許文献3】特開2022-189247号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、AIが十分な数のデータを学習していない場合には、AIモデルの精度が向上せず、異常検知や異常分類を精度良く実行することが困難であるという問題がある。具体的には、例えばAIモデルを用いた異常検知を運用する際、異常がない検査対象から異常が誤検知される場合には、誤検知データをAIに再度学習させることがある。しかし、このような誤検知データの発生頻度は低く、十分な誤検知データを収集することは困難であるため、誤検知データをAIに再度学習させてもAIモデルの精度向上は限定的であり、同様の誤検知を防止することは困難である。
【0006】
また、通常、異常がある検査対象は少数であるため、異常の分類をAIに学習させるために必要な大量のデータは入手困難であり、異常分類のためのAIモデルの精度を向上させることは容易ではない。
【0007】
本開示は、上記に鑑みてなされたものであり、十分なデータを用いた機械学習により、AIモデルの精度を向上させることができる学習装置、模擬データ生成装置及び学習方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様によれば、学習装置は、画像データから異常を検知する検知部と、前記検知部によって異常が検知された画像データを加工して、当該画像データに類似する模擬データを生成する生成部と、前記生成部によって生成された模擬データを用いたモデルの学習を制御する学習制御部と、を有する。
【0009】
また、本開示の他の一態様によれば、模擬データ生成装置は、画像データから異常を検知する検知部と、前記検知部によって異常が検知された画像データを加工して、当該画像データに類似する模擬データを生成する生成部と、を有する。
【0010】
また、本開示のさらに他の一態様によれば、学習方法は、画像データから異常を検知し、異常が検知された画像データを加工して、当該画像データに類似する模擬データを生成し、生成された模擬データを用いてモデルの学習を実行する。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態1に係る学習装置の構成を示すブロック図である。
【
図2】
図2は、実施の形態1に係る学習方法を示すフロー図である。
【
図3】
図3は、実施の形態1に係る模擬データの具体例を示す図である。
【
図4】
図4は、実施の形態2に係る学習装置の構成を示すブロック図である。
【
図5】
図5は、実施の形態2に係る学習方法を示すフロー図である。
【
図6】
図6は、実施の形態2に係る模擬データの具体例を示す図である。
【
図7】
図7は、実施の形態3に係る学習装置の構成を示すブロック図である。
【
図8】
図8は、実施の形態3に係る学習方法を示すフロー図である。
【
図9】
図9は、学習装置のハードウェア構成の具体例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本開示に係る実施の形態について説明する。以下に説明する実施の形態は例示であり、この記載によって限定解釈されるものではない。
【0013】
(実施の形態1)
図1は、実施の形態1に係る学習装置100の構成を示すブロック図である。
図1に示す学習装置100は、画像取得部110、異常検知部120、正常データ記憶部130、学習制御部140、結果確認部150、異常データ記憶部160、誤検知データ記憶部170及びデータ生成部180を有する。
【0014】
画像取得部110は、例えばカメラなどの撮像装置を有し、検査対象である製品などの画像データを取得する。
【0015】
異常検知部120は、機械学習により、画像データから異常を検知するAIモデル(以下「異常検知モデル」という)を生成する。すなわち、異常検知部120は、学習制御部140から提供される正常データを用いて、異常検知モデルの学習を実行する。異常検知部120による学習に用いられる異常検知モデルは、例えばPatch Core又はCS(Cross Scale)-Flow等のエンドツーエンド(End to End)で異常を学習するモデルであってもよいし、例えばオートエンコーダ又はVAE(Variational AutoEncoder:変分オートエンコーダ)等の再構築誤差を用いるモデルであってもよい。
【0016】
また、異常検知部120は、異常検知の運用時には、学習により得られる異常検知モデルを用いて、画像取得部110から入力される画像データの異常を検知する。すなわち、異常検知部120は、異常検知モデルを画像データに適用して異常スコア値と異常箇所とを求め、異常スコア値が所定の閾値以上である場合に、異常箇所に異常があると判定する。
【0017】
正常データ記憶部130は、異常がない検査対象の画像データを含む正常データを記憶する。
【0018】
学習制御部140は、正常データ記憶部130によって記憶される正常データを取得し、異常検知部120に異常検知モデルの学習を実行させる。また、学習制御部140は、後述する誤検知データ及び模擬データが新たに正常データ記憶部130によって記憶されると、これらの誤検知データ及び模擬データを含む正常データを取得し、異常検知部120に異常検知モデルの再学習を実行させる。
【0019】
結果確認部150は、異常検知部120によって異常が検知された画像データを、異常箇所を明示して表示し、異常が検知された画像データが真に異常がある検査対象の画像データであるか否かの確認結果の入力を受け付ける。すなわち、結果確認部150は、異常検知モデルによって異常が検知された画像データを管理者等に対して提示し、この画像データが真に異常を含む画像であるか否かの確認結果の入力を受け付ける。
【0020】
そして、結果確認部150は、真に異常を含む画像であることを示す確認結果が入力された場合には、当該画像データと異常スコア値及び異常箇所の情報とを含む異常データを異常データ記憶部160に記憶させ、真に異常を含む画像ではないことを示す確認結果が入力された場合には、当該画像データと異常スコア値及び異常箇所の情報とを含む誤検知データを誤検知データ記憶部170に記憶させる。換言すれば、結果確認部150は、異常検知モデルによって異常が検知された画像データのうち、異常があることが確認された画像データに関する異常データを異常データ記憶部160に記憶させ、異常がないことが確認された画像データに関する誤検知データを誤検知データ記憶部170に記憶させる。
【0021】
異常データ記憶部160は、異常検知部120によって異常が検知された画像データのうち、異常があることが確認された画像データを含む異常データを記憶する。すなわち、異常データ記憶部160は、異常検知モデルによって正しく異常が検知された画像データと、この画像データの異常スコア値及び異常箇所とを記憶する。
【0022】
誤検知データ記憶部170は、異常検知部120によって異常が検知された画像データのうち、異常がないことが確認された画像データを含む誤検知データを記憶する。すなわち、誤検知データ記憶部170は、異常検知モデルによって異常が誤検知された画像データと、この画像データの異常スコア値及び異常箇所とを記憶する。
【0023】
データ生成部180は、誤検知データ記憶部170に記憶される誤検知データに基づいて、誤検知データに類似する模擬データを生成する。すなわち、データ生成部180は、正常データ記憶部130に記憶される正常データと、誤検知データ記憶部170に記憶される誤検知データとを用いて、異常が誤検知され得る模擬データを生成する。具体的には、データ生成部180は、誤検知データから異常が誤検知された誤検知箇所を抽出し、誤検知箇所の画像を加工して正常データに加算することにより、模擬データを生成する。データ生成部180は、誤検知箇所の画像を加工するにあたっては、例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理を実行する。そして、データ生成部180は、模擬データの生成に用いた誤検知データを正常データ記憶部130に記憶させるとともに、生成された模擬データを正常データ記憶部130に記憶させる。
【0024】
次いで、上記のように構成された学習装置100による学習方法について、
図2に示すフロー図を参照しながら説明する。以下においては、あらかじめ正常データ記憶部130に記憶された正常データを用いて学習した異常検知モデルによって異常検知が運用されている場合の、異常検知モデルの再学習について説明する。
【0025】
異常検知が運用されている場合、画像取得部110によって検査対象の画像データが取得される(ステップS101)。取得された画像データは、異常検知部120へ出力され、異常検知部120によって異常検知モデルが用いられることにより、検査対象の画像データの異常が検知される(ステップS102)。具体的には、画像データに対して異常検知モデルが適用されて異常スコア値及び異常箇所が求められ、異常スコア値が所定の閾値以上である場合に、異常箇所に異常があると判定される。
【0026】
異常検知の結果、検査対象の画像データから異常が検知されない場合には、異常がないことを示す異常検知結果が管理者等へ通知されるとともに、異常が検知されない画像データが正常データ記憶部130に記憶されるようにしてもよい。ここでは、異常検知の結果、検査対象の画像データから異常が検知されるものとして説明を続ける。
【0027】
異常検知部120によって検査対象の画像データから異常が検知されると、結果確認部150によって異常が検知された画像データが表示され、異常の有無を確認するように管理者等へ依頼される。すなわち、異常が検知された画像データが異常箇所を明示して表示され、異常箇所が真に異常であるのか否かの確認が促される。そして、結果確認部150によって、異常検知が誤検知であるか否かの確認結果の入力が受け付けられ(ステップS103)、真に異常を含む画像であり誤検知ではないことを示す確認結果が入力された場合には(ステップS103No)、当該画像データを含む異常データが異常データ記憶部160に記憶される(ステップS109)。
【0028】
一方、真に異常を含む画像ではなく誤検知であることを示す確認結果が入力された場合には(ステップS103Yes)、当該画像データを含む誤検知データが誤検知データ記憶部170に記憶される(ステップS104)。そして、データ生成部180によって、誤検知データ記憶部170に記憶された誤検知データから、異常が誤検知された誤検知箇所の画像が取得される(ステップS105)。
【0029】
誤検知箇所の画像は、データ生成部180によって加工され、正常データの画像に加算されることにより、模擬データが生成される(ステップS106)。誤検知箇所の画像の加工としては、例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理が施される。また、加工の際に施される処理は1種類のみである必要はなく、複数の種類の処理が組み合わせられて誤検知箇所の画像に施されてもよい。さらに、誤検知箇所の画像に対して異なる加工がなされた複数の加工画像が生成され、それぞれの加工画像が正常データの画像に加算されることにより、複数の模擬データが生成されてもよい。
【0030】
ここで、模擬データの生成について、具体的に例を挙げて
図3を参照しながら説明する。
【0031】
図3に示すように、模擬データは、正常データの画像(以下「正常画像」という)210と、誤検知データの画像(以下「誤検知画像」という)220とを用いて生成される。誤検知画像220は、異常検知モデルによって異常箇所と特定された誤検知箇所を含むため、誤検知画像220から誤検知箇所の画像(以下「誤検知箇所画像」という)230が取得される。誤検知箇所画像230には、誤検知箇所231が含まれている。
【0032】
誤検知箇所画像230は、誤検知箇所231に対する例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理が施されることにより、加工画像240が生成される。このとき、それぞれ異なる加工がなされた複数の加工画像240が生成されてもよい。加工画像240には、加工された誤検知箇所241が含まれている。
【0033】
そして、加工画像240が正常画像210に加算されることにより、模擬データの画像250が生成される。複数の加工画像240が生成されている場合には、それぞれの加工画像240に正常画像210が加算されることにより、複数の模擬データの画像250が生成される。このようにして生成された模擬データの画像250は、誤検知画像220とは異なる画像であるが、異常が誤検知され得る正常な画像である。
【0034】
図2に戻って、模擬データが生成されると、生成された模擬データは、模擬データの生成に用いられた誤検知データとともに正常データ記憶部130へ記憶される(ステップS107)。すなわち、誤検知データ及び模擬データは、いずれも現在の異常検知モデルによって異常が誤検知される画像データであるものの、実際には異常を含まない正常な画像データである。このため、誤検知データ及び模擬データが正常データ記憶部130へ記憶される。
【0035】
誤検知データ及び模擬データが正常データ記憶部130に記憶されると、新たに記憶された誤検知データ及び模擬データを含む正常データが学習制御部140によって取得され、取得された正常データを用いて異常検知部120の異常検知モデルの再学習が実行される(ステップS108)。異常検知モデルの再学習においては、誤検知データのみではなく、模擬データを用いる学習が実行されるため、十分なデータを用いた機械学習により、異常検知モデルの精度を向上させることができる。
【0036】
以上のように、本実施の形態によれば、異常検知モデルによって異常が誤検知された誤検知データを加工して、異常が誤検知され得る正常データである模擬データを生成し、模擬データを含む正常データを用いて異常検知モデルの再学習を実行する。このため、広範囲にわたる十分な正常データを用いた学習が実行され、異常検知モデルの精度を向上させることができる。
【0037】
(実施の形態2)
図4は、実施の形態2に係る学習装置100の構成を示すブロック図である。
図4において、
図1と同じ部分には同じ符号を付し、その説明を省略する。
図4に示す学習装置100は、
図1に示す学習装置100の学習制御部140及びデータ生成部180に代えて、学習制御部320及びデータ生成部330を有し、領域分割部310を追加した構成を採る。
【0038】
領域分割部310は、機械学習により、画像データ中の領域を分割するAIモデル(以下「領域分割モデル」という)を生成する。すなわち、領域分割部310は、学習制御部320から提供される正常データを用いて、領域分割モデルの学習を実行する。領域分割部310による学習に用いられる領域分割モデルは、例えばU-netやDeeplab等のセグメンテーションモデルであってもよい。
【0039】
また、領域分割部310は、異常検知の運用時には、学習により得られる領域分割モデルを用いて、画像取得部110から入力される画像データの領域を分割する。すなわち、領域分割部310は、領域分割モデルを画像データに適用して、画像データ中の分割可能な領域を検出する。したがって、領域分割部310は、例えば検査対象である製品の画像データの領域を分割して、製品を構成する部品に対応する領域を検出する。
【0040】
学習制御部320は、正常データ記憶部130によって記憶される正常データを取得し、異常検知部120に異常検知モデルの学習を実行させる。また、学習制御部320は、誤検知データ及び模擬データが新たに正常データ記憶部130によって記憶されると、これらの誤検知データ及び模擬データを含む正常データを取得し、異常検知部120に異常検知モデルの再学習を実行させる。さらに、学習制御部320は、正常データ記憶部130によって記憶される正常データを取得し、領域分割部310に領域分割モデルの学習を実行させる。学習制御部320は、誤検知データ及び模擬データが新たに正常データ記憶部130によって記憶された場合、領域分割モデルの再学習を実行しなくてもよい。
【0041】
データ生成部330は、誤検知データ記憶部170に記憶される誤検知データに基づいて、誤検知データに類似する模擬データを生成する。すなわち、データ生成部330は、正常データ記憶部130に記憶される正常データと、誤検知データ記憶部170に記憶される誤検知データとを用いて、異常が誤検知され得る模擬データを生成する。具体的には、データ生成部330は、誤検知データから異常が誤検知された誤検知箇所を抽出し、誤検知箇所の画像を加工して正常データに加算することにより、模擬データを生成する。データ生成部330は、誤検知箇所の画像を加工するにあたっては、領域分割部310による領域分割結果を利用し、誤検知箇所が位置する領域の範囲内で画像を加工する。この加工において、データ生成部330は、例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理を実行する。そして、データ生成部330は、模擬データの生成に用いた誤検知データを正常データ記憶部130に記憶させるとともに、生成された模擬データを正常データ記憶部130に記憶させる。
【0042】
次いで、上記のように構成された学習装置100による学習方法について、
図5に示すフロー図を参照しながら説明する。
図5において、
図2と同じ部分には同じ符号を付し、その詳しい説明を省略する。以下においては、あらかじめ正常データ記憶部130に記憶された正常データを用いて学習した異常検知モデルによって異常検知が運用されている場合の、異常検知モデルの再学習について説明する。
【0043】
異常検知が運用されている場合、画像取得部110によって検査対象の画像データが取得される(ステップS101)。取得された画像データは、異常検知部120及び領域分割部310へ出力され、領域分割部310によって領域分割モデルが用いられることにより、検査対象の画像データの領域分割が実行される(ステップS201)。また、異常検知部120によって異常検知モデルが用いられることにより、検査対象の画像データの異常が検知される(ステップS102)。
【0044】
異常検知の結果、検査対象の画像データから異常が検知されない場合には、異常がないことを示す異常検知結果が管理者等へ通知されるとともに、異常が検知されない画像データが正常データ記憶部130に記憶されるようにしてもよい。ここでは、異常検知の結果、検査対象の画像データから異常が検知されるものとして説明を続ける。
【0045】
異常検知部120によって検査対象の画像データから異常が検知されると、結果確認部150によって異常が検知された画像データが表示され、異常の有無を確認するように管理者等へ依頼される。そして、結果確認部150によって、異常検知が誤検知であるか否かの確認結果の入力が受け付けられ(ステップS103)、誤検知ではないことを示す確認結果が入力された場合には(ステップS103No)、当該画像データを含む異常データが異常データ記憶部160に記憶される(ステップS109)。
【0046】
一方、誤検知であることを示す確認結果が入力された場合には(ステップS103Yes)、当該画像データを含む誤検知データが誤検知データ記憶部170に記憶される(ステップS104)。そして、データ生成部330によって、誤検知データ記憶部170に記憶された誤検知データから、異常が誤検知された誤検知箇所の画像が取得される(ステップS105)。
【0047】
誤検知箇所の画像は、データ生成部330によって領域分割結果が利用されながら加工され、正常データの画像に加算されることにより、模擬データが生成される(ステップS202)。誤検知箇所の画像の加工としては、例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理が施される。このとき、領域分割結果が利用されることにより、誤検知箇所が位置する領域の範囲内で各種の処理が施される。すなわち、誤検知箇所を含む領域以外の領域は、加工されない。また、加工の際に施される処理は1種類のみである必要はなく、複数の種類の処理が組み合わせられて誤検知箇所の画像に施されてもよい。さらに、誤検知箇所の画像に対して異なる加工がなされた複数の加工画像が生成され、それぞれの加工画像が正常データの画像に加算されることにより、複数の模擬データが生成されてもよい。
【0048】
ここで、模擬データの生成について、具体的に例を挙げて
図6を参照しながら説明する。
【0049】
図6に示すように、模擬データは、正常画像410と、誤検知画像420とを用いて生成される。正常画像410及び誤検知画像420は、領域分割モデルによって領域分割される領域411、412、413を含む。そして、誤検知画像420の領域413内に誤検知箇所が含まれる。このような誤検知画像420から、誤検知箇所431を含む誤検知箇所画像430が取得される。
【0050】
誤検知箇所画像430は、誤検知箇所431に対する例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理が施されることにより、加工画像440が生成される。このとき、誤検知箇所画像430の加工は、誤検知箇所431が位置する領域413の範囲内で行われる。このため、加工画像440において、加工された誤検知箇所441は、領域413内に位置する。したがって、実際に発生し得る誤検知箇所441を含む加工画像440を生成することができる。
【0051】
そして、加工画像440が正常画像410に加算されることにより、模擬データの画像450が生成される。複数の加工画像440が生成されている場合には、それぞれの加工画像440に正常画像410が加算されることにより、複数の模擬データの画像450が生成される。このようにして生成された模擬データの画像450は、誤検知画像420とは異なる画像であるが、異常が誤検知され得る正常な画像である。また、加工画像440が実際に発生し得る誤検知箇所441を含むため、模擬データの画像450も実際に発生し得る誤検知箇所を含む。
【0052】
図5に戻って、模擬データが生成されると、生成された模擬データは、模擬データの生成に用いられた誤検知データとともに正常データ記憶部130へ記憶される(ステップS107)。そして、新たに記憶された誤検知データ及び模擬データを含む正常データが学習制御部320によって取得され、取得された正常データを用いて異常検知部120の異常検知モデルの再学習が実行される(ステップS108)。異常検知モデルの再学習においては、誤検知データのみではなく、模擬データを用いる学習が実行されるため、十分なデータを用いた機械学習により、異常検知モデルの精度を向上させることができる。
【0053】
以上のように、本実施の形態によれば、異常検知モデルによって異常が誤検知された誤検知データを、領域分割モデルによる領域分割結果を利用しながら加工して、異常が誤検知され得る正常データである模擬データを生成し、模擬データを含む正常データを用いて異常検知モデルの再学習を実行する。このため、広範囲にわたる十分な正常データを用いた学習が実行され、異常検知モデルの精度を向上させることができる。また、領域分割結果を利用しながら誤検知データを加工するため、実際に発生し得る誤検知箇所を含む模擬データを生成することができる。
【0054】
(実施の形態3)
図7は、実施の形態3に係る学習装置100の構成を示すブロック図である。
図7において、
図1と同じ部分には同じ符号を付し、その説明を省略する。
図7に示す学習装置100は、
図1に示す学習装置100の学習制御部140及びデータ生成部180に代えて、学習制御部520及びデータ生成部530を有し、異常分類部510を追加した構成を採る。
【0055】
異常分類部510は、機械学習により、検知された異常を分類するAIモデル(以下「異常分類モデル」という)を生成する。すなわち、異常分類部510は、学習制御部520から提供される異常データを用いて、異常分類モデルの学習を実行する。異常分類部510による学習に用いられる異常分類モデルは、例えばRESNETやViT等の画像分類に用いられるモデルであってもよい。
【0056】
また、異常分類部510は、異常検知の運用時には、学習により得られる異常分類モデルを用いて、異常検知部120によって検知される異常を分類する。すなわち、異常分類部510は、異常検知部120によって異常が検知された画像データに異常分類モデルを適用して、画像データから検知された異常を分類する。したがって、異常分類部510は、例えば検査対象の画像データから検知された異常が、検査対象の表面の傷であるのか、検査対象の凹みであるのかなどのように分類する。
【0057】
学習制御部520は、正常データ記憶部130によって記憶される正常データを取得し、異常検知部120に異常検知モデルの学習を実行させる。また、学習制御部520は、異常データ記憶部160によって記憶される異常データを取得し、異常分類部510に異常分類モデルの学習を実行させる。学習制御部520は、後述する模擬異常データが新たに異常データ記憶部160によって記憶されると、模擬異常データを含む異常データを取得し、異常分類部510に異常分類モデルの再学習を実行させる。
【0058】
データ生成部530は、異常データ記憶部160に記憶される異常データに基づいて、異常データに類似する模擬異常データを生成する。すなわち、データ生成部530は、正常データ記憶部130に記憶される正常データと、異常データ記憶部160に記憶される異常データとを用いて、異常データの変化型である模擬異常データを生成する。具体的には、データ生成部530は、異常データから異常が検知された異常箇所を抽出し、異常箇所の画像を加工して正常データに加算することにより、模擬異常データを生成する。データ生成部530は、異常箇所の画像を加工するにあたっては、例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理を実行する。そして、データ生成部530は、生成された模擬異常データを異常データ記憶部160に記憶させる。
【0059】
次いで、上記のように構成された学習装置100による学習方法について、
図8に示すフロー図を参照しながら説明する。
図8において、
図2と同じ部分には同じ符号を付し、その詳しい説明を省略する。以下においては、あらかじめ学習済みの異常検知モデル及び異常分類モデルによって異常検知及び異常分類が運用されている場合の、異常分類モデルの再学習について説明する。
【0060】
異常検知及び異常分類が運用されている場合、画像取得部110によって検査対象の画像データが取得される(ステップS101)。取得された画像データは、異常検知部120へ出力され、異常検知部120によって異常検知モデルが用いられることにより、検査対象の画像データの異常が検知される(ステップS102)。
【0061】
異常検知の結果、検査対象の画像データから異常が検知されない場合には、異常がないことを示す異常検知結果が管理者等へ通知されるとともに、異常が検知されない画像データが正常データ記憶部130に記憶されるようにしてもよい。ここでは、異常検知の結果、検査対象の画像データから異常が検知されるものとして説明を続ける。
【0062】
異常検知部120によって検査対象の画像データから異常が検知されると、異常分類部510によって異常分類モデルが用いられることにより、検知された異常が分類される(ステップS301)。具体的には、異常が検知された画像データに対して異常分類モデルが適用され、異常箇所がどのようなカテゴリの異常に属するのかが分類される。異常分類が行われると、結果確認部150によって異常が検知された画像データが表示され、異常の有無を確認するように管理者等へ依頼される。そして、結果確認部150によって、異常の有無の確認結果の入力が受け付けられ、異常があることを示す確認結果が入力されると、当該画像データと異常の分類結果とを含む異常データが異常データ記憶部160に記憶される(ステップS302)。そして、データ生成部530によって、異常データ記憶部160に記憶された異常データから、異常が検知された異常箇所の画像が取得される(ステップS303)。
【0063】
異常箇所の画像は、データ生成部530によって加工され、正常データの画像に加算されることにより、模擬異常データが生成される(ステップS304)。異常箇所の画像の加工としては、例えば拡大縮小、アフィン変換、平行移動、回転又は射影変換などの処理が施される。また、加工の際に施される処理は1種類のみである必要はなく、複数の種類の処理が組み合わせられて異常箇所の画像に施されてもよい。さらに、異常箇所の画像に対して異なる加工がなされた複数の加工画像が生成され、それぞれの加工画像が正常データの画像に加算されることにより、複数の模擬異常データが生成されてもよい。
【0064】
模擬異常データが生成されると、生成された模擬異常データは、異常データ記憶部160へ記憶される(ステップS305)。すなわち、模擬異常データは、異常検知モデルによって検知される異常を含む画像データを加工して得られる変化型の異常データであるため、異常データ記憶部160へ記憶される。
【0065】
模擬異常データが異常データ記憶部160に記憶されると、新たに記憶された模擬異常データを含む異常データが学習制御部520によって取得され、取得された異常データを用いて異常分類部510の異常分類モデルの再学習が実行される(ステップS306)。異常分類モデルの再学習においては、異常が検知された異常データのみではなく、異常データの変化型である模擬異常データを用いる学習が実行されるため、十分なデータを用いた機械学習により、異常分類モデルの精度を向上させることができる。
【0066】
以上のように、本実施の形態によれば、異常検知モデルによって異常が検知された異常データを加工して、異常データの変化型である模擬異常データを生成し、模擬異常データを含む異常データを用いて異常分類モデルの再学習を実行する。このため、広範囲にわたる十分な異常データを用いた学習が実行され、異常分類モデルの精度を向上させることができる。
【0067】
なお、上記実施の形態3は、上記実施の形態1、2と組み合わせて実施することが可能である。すなわち、模擬異常データを用いた異常分類モデルの再学習に加えて、模擬データを用いた異常検知モデルの再学習が実行されてもよい。
【0068】
上記実施の形態1~3に係る学習装置100は、プロセッサ及びメモリを用いて構成することができる。
図9は、実施の形態1~3に係る学習装置100のハードウェア構成の一例を示すブロック図である。
図9に示すように、学習装置100は、プロセッサ101、メモリ102、入出力部103及びストレージ104を有する。
【0069】
プロセッサ101は、例えばCPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)又はDSP(Digital Signal Processor)などを有し、学習装置100の全体を統括制御するとともに、各種の演算処理を実行する。
【0070】
メモリ102は、例えばRAM(Random Access Memory)又はROM(Read Only Memory)などを有し、プロセッサ101が実行する演算処理に用いられる情報を記憶する。
【0071】
入出力部103は、ユーザが情報を入力したり、ユーザへ情報を出力したりするインタフェースである。入出力部103は、例えばキーボード、ディスプレイ、タッチパネル、マイク又はスピーカーなどを備えていても良い。
【0072】
ストレージ104は、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)などを有し、各種のデータを保存する。
【0073】
また、上記実施の形態1~3において説明した学習装置100による処理を、コンピュータが実行可能なプログラムとして記述することも可能である。この場合、このプログラムをコンピュータが読み取り可能かつ非一時的(non-transitory)な記録媒体に格納し、コンピュータに導入することも可能である。このような記録媒体としては、例えばCD-ROM、DVDディスク、USBメモリなどの可搬型記録媒体、及び例えばフラッシュメモリなどの半導体メモリが挙げられる。
【符号の説明】
【0074】
101 プロセッサ
102 メモリ
103 入出力部
104 ストレージ
110 画像取得部
120 異常検知部
130 正常データ記憶部
140、320、520 学習制御部
150 結果確認部
160 異常データ記憶部
170 誤検知データ記憶部
180、330、530 データ生成部
310 領域分割部
510 異常分類部