(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024085677
(43)【公開日】2024-06-27
(54)【発明の名称】異常検知装置及び異常検知方法
(51)【国際特許分類】
G01N 21/88 20060101AFI20240620BHJP
G05B 23/02 20060101ALI20240620BHJP
【FI】
G01N21/88 J
G05B23/02 T
G05B23/02 301Y
G05B23/02 302Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022200335
(22)【出願日】2022-12-15
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】野田 祥希
【テーマコード(参考)】
2G051
3C223
【Fターム(参考)】
2G051AA90
2G051AB20
2G051EB05
3C223AA11
3C223AA21
3C223BB08
3C223CC01
3C223FF45
3C223GG01
3C223HH08
3C223HH13
(57)【要約】 (修正有)
【課題】異常を検知した場合に、異常に関する詳細な情報を出力する。
【解決手段】対象物の異常を検知する異常検知装置1は正常画像を基に深層学習され、推論結果から異常スコア値と異常部分とが出力される異常検知モデル31と、入力画像の異常スコア値が第1閾値以上の場合に、異常部分を入力画像に重ね合わせて作成された異常部分強調画像に対して、異常の種類と対処の方法を示す異常キャプションを付与して生成された異常データと、正常キャプションを付与して生成された正常データと、を基に、入力に対応して正常キャプションまたは異常キャプションを出力する深層学習されたキャプションモデル44と、推論対象画像を異常検知モデル31に入力し、第1閾値以上の場合には異常部分を推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれキャプションモデル44に入力してキャプションを生成する、推論部5を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
対象物の異常を検知する異常検知装置であって、
前記対象物が正常である場合の正常画像を基に深層学習された異常検知モデルであって、前記対象物が撮影された画像が入力された際の当該異常検知モデルの推論結果から、当該画像内の前記対象物に異常があれば値が高くなるように設定された異常スコア値と、前記画像の異常に相当する部分である異常部分と、が出力可能な、異常検知モデルと、
前記対象物に異常がある場合の異常画像と前記正常画像を含む入力画像が前記異常検知モデルに入力された際の前記異常スコア値が第1閾値以上の場合に、前記異常部分を前記入力画像に重ね合わせて作成された異常部分強調画像に対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションを付与して生成された異常データと、前記異常スコア値が前記第1閾値よりも小さい場合に、前記入力画像に対して前記対象物が正常であることを示す正常キャプションを付与して生成された正常データと、を基に、前記正常画像または前記異常部分強調画像が入力されると、入力に対応して前記正常キャプションまたは前記異常キャプションを出力するように深層学習されたキャプションモデルと、
前記対象物が撮影された推論対象画像を前記異常検知モデルに入力し、前記異常スコア値が前記第1閾値よりも小さい場合には前記推論対象画像を、前記第1閾値以上の場合には前記異常部分を前記推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれ推論時モデル入力画像として前記キャプションモデルに入力してキャプションを生成し、前記推論時モデル入力画像とともに前記キャプションを出力する、推論部と、
を備えている、異常検知装置。
【請求項2】
前記キャプションモデルは、前記入力画像が前記異常検知モデルに入力された際の前記異常スコア値が前記第1閾値よりも小さく、かつ、前記第1閾値よりも小さく設定された第2閾値以上の場合には、異常の予兆がある場合とし、前記異常部分を前記入力画像に重ね合わせて作成された異常予兆部分強調画像に対して、異常予兆の種類と、当該異常予兆の種類に対する対処の方法と、を示す異常予兆キャプションを付与して生成された異常予兆データを更に基にして、前記正常画像、前記異常部分強調画像、または前記異常予兆部分強調画像が入力されると、入力に対応して前記正常キャプション、前記異常キャプション、または前記異常予兆キャプションを出力するように深層学習され、
前記推論部は、前記推論対象画像の前記異常スコア値が前記第1閾値よりも小さく、かつ前記第2閾値以上の場合には、前記推論対象画像の前記異常部分を前記推論対象画像に重ね合わせて作成された推論時異常予兆部分強調画像を前記推論時モデル入力画像として前記キャプションモデルに入力して前記キャプションを生成し、前記推論時モデル入力画像とともに前記キャプションを出力する、請求項1に記載の異常検知装置。
【請求項3】
前記対象物は複数の部位により構成されており、
前記異常画像を基に、複数の前記部位の中から、異常が生じた異常部位を判定するように深層学習された、異常部位判定モデルを更に備え、
前記キャプションモデルの学習に際し、前記入力画像を前記異常部位判定モデルに入力して前記異常部位を判定し、当該入力画像に対して作成された前記異常部分強調画像に対して、前記異常部位判定モデルによって判定された前記異常部位と、前記異常の種類と、当該異常の種類に対する前記対処の方法と、を示すように、前記異常キャプションを生成する、キャプション生成部を備えている、請求項1または2に記載の異常検知装置。
【請求項4】
前記異常画像を基に、前記異常の種類を判定するように深層学習された、異常種類判定モデルを更に備え、
前記キャプションモデルの学習に際し、前記入力画像を前記異常種類判定モデルに入力して前記異常の種類を判定し、当該入力画像に対して作成された前記異常部分強調画像に対して、前記異常種類判定モデルによって判定された前記異常の種類と、当該異常の種類に対する前記対処の方法と、を示すように、前記異常キャプションを生成する、キャプション生成部を備えている、請求項1に記載の異常検知装置。
【請求項5】
対象物の異常を検知する異常検知方法であって、
前記対象物が正常である場合の正常画像を基に深層学習された異常検知モデルであって、前記対象物が撮影された画像が入力された際の当該異常検知モデルの推論結果から、当該画像内の前記対象物に異常があれば値が高くなるように設定された異常スコア値と、前記画像の異常に相当する部分である異常部分と、が出力可能な、異常検知モデルに、前記対象物が撮影された推論対象画像を入力し、
前記対象物に異常がある場合の異常画像と前記正常画像を含む入力画像が前記異常検知モデルに入力された際の前記異常スコア値が第1閾値以上の場合に、前記異常部分を前記入力画像に重ね合わせて作成された異常部分強調画像に対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションを付与して生成された異常データと、前記異常スコア値が前記第1閾値よりも小さい場合に、前記入力画像に対して前記対象物が正常であることを示す正常キャプションを付与して生成された正常データと、を基に、前記正常画像または前記異常部分強調画像が入力されると、入力に対応して前記正常キャプションまたは前記異常キャプションを出力するように深層学習されたキャプションモデルに、前記推論対象画像の前記異常スコア値が前記第1閾値よりも小さい場合には前記推論対象画像を、前記第1閾値以上の場合には前記推論対象画像の前記異常部分を前記推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれ推論時モデル入力画像として入力してキャプションを生成し、前記推論時モデル入力画像とともに前記キャプションを出力する、異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検知装置及び異常検知方法に関する。
【背景技術】
【0002】
工場で生産した製品の不良の有無を確認したり、稼働中の設備の異常の有無を確認して円滑に運用を進めたりするような目的で、部品、製品、設備等の外観検査が行われている。外観検査は、その対象となる物品(以下、対象物と称する)を撮影して対象物が含まれる画像を取得し、当該画像を自動的に解析して異常を検知することによって、行われることがある。
上記のような手法は、例えば環境や建物等に生じた異常を検知する目的においても、採用され得る。これに関し、特許文献1には、電力関連施設、工場、プラント等からの、油の流出の監視を行う作業者の作業を支援する、油流出監視システムが開示されている。
具体的には、特許文献1の油流出監視システムは、現場を撮影した映像を取得する映像取得部と、上記映像に写っている油を検出する機械学習モデルである油検出モデルを記憶する記憶部と、上記映像において油が写っている領域を油検出モデルを用いて特定する油検出部と、油が写っている上記領域を示す情報である領域情報を拡張現実として上記映像とともに表示する映像表示部と、を備える。
【0003】
上記のような異常検知設備においては、対象物に異常があると検知した場合に、画像のどの部分に、どのような異常があるか、といった異常の詳細が、異常検知設備によってより具体的に示されると、利便性がより向上する。
例えば、上記の特許文献1に記載された油流出監視システムは、映像に写っている油に関する、油種、性状、汚れ具合等の属性情報を、機械学習モデルである油属性判定モデルにより取得し、映像表示部は、取得した属性情報や当該属性情報に基づく情報を拡張現実として上記映像とともに表示する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載された構成においては、映像に関連して表示される情報は、機械学習モデルである油属性判定モデルにより取得された属性情報に基づいている。すなわち、油属性判定モデルが出力するのは、単なる油の属性に関する情報であるため、油流出監視システムが表示し得る情報は、この属性情報に関連するものに限定されてしまい、更なる詳細な情報を提供することが容易ではない。
異常を検知した場合に、異常に関するより詳細な情報を出力することが望まれている。
【0006】
本発明が解決しようとする課題は、異常を検知した場合に、異常に関する詳細な情報を出力することができる、異常検知装置及び異常検知方法を提供することである。
【課題を解決するための手段】
【0007】
本発明は、上記課題を解決するため、以下の手段を採用する。すなわち、本発明は、対象物の異常を検知する異常検知装置であって、前記対象物が正常である場合の正常画像を基に深層学習された異常検知モデルであって、前記対象物が撮影された画像が入力された際の当該異常検知モデルの推論結果から、当該画像内の前記対象物に異常があれば値が高くなるように設定された異常スコア値と、前記画像の異常に相当する部分である異常部分と、が出力可能な、異常検知モデルと、前記対象物に異常がある場合の異常画像と前記正常画像を含む入力画像が前記異常検知モデルに入力された際の前記異常スコア値が第1閾値以上の場合に、前記異常部分を前記入力画像に重ね合わせて作成された異常部分強調画像に対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションを付与して生成された異常データと、前記異常スコア値が前記第1閾値よりも小さい場合に、前記入力画像に対して前記対象物が正常であることを示す正常キャプションを付与して生成された正常データと、を基に、前記正常画像または前記異常部分強調画像が入力されると、入力に対応して前記正常キャプションまたは前記異常キャプションを出力するように深層学習されたキャプションモデルと、前記対象物が撮影された推論対象画像を前記異常検知モデルに入力し、前記異常スコア値が前記第1閾値よりも小さい場合には前記推論対象画像を、前記第1閾値以上の場合には前記異常部分を前記推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれ推論時モデル入力画像として前記キャプションモデルに入力してキャプションを生成し、前記推論時モデル入力画像とともに前記キャプションを出力する、推論部と、を備えている、異常検知装置を提供する。
【0008】
また、本発明は、対象物の異常を検知する異常検知方法であって、前記対象物が正常である場合の正常画像を基に深層学習された異常検知モデルであって、前記対象物が撮影された画像が入力された際の当該異常検知モデルの推論結果から、当該画像内の前記対象物に異常があれば値が高くなるように設定された異常スコア値と、前記画像の異常に相当する部分である異常部分と、が出力可能な、異常検知モデルに、前記対象物が撮影された推論対象画像を入力し、前記対象物に異常がある場合の異常画像と前記正常画像を含む入力画像が前記異常検知モデルに入力された際の前記異常スコア値が第1閾値以上の場合に、前記異常部分を前記入力画像に重ね合わせて作成された異常部分強調画像に対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションを付与して生成された異常データと、前記異常スコア値が前記第1閾値よりも小さい場合に、前記入力画像に対して前記対象物が正常であることを示す正常キャプションを付与して生成された正常データと、を基に、前記正常画像または前記異常部分強調画像が入力されると、入力に対応して前記正常キャプションまたは前記異常キャプションを出力するように深層学習されたキャプションモデルに、前記推論対象画像の前記異常スコア値が前記第1閾値よりも小さい場合には前記推論対象画像を、前記第1閾値以上の場合には前記推論対象画像の前記異常部分を前記推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれ推論時モデル入力画像として入力してキャプションを生成し、前記推論時モデル入力画像とともに前記キャプションを出力する、異常検知方法を提供する。
【発明の効果】
【0009】
本発明によれば、異常を検知した場合に、異常に関する詳細な情報を出力することができる、異常検知装置及び異常検知方法を提供することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態における異常検知装置のブロック図である。
【
図2】上記実施形態の異常検知方法における、異常検知モデルとキャプションモデルの学習時のフローチャートである。
【
図5】
図4の画像における異常部分の説明図である。
【
図6】
図5の異常部分を
図4の画像に重ね合わせて作成された異常部分強調画像の説明図である。
【
図8】上記実施形態の異常検知方法における、異常の検知時のフローチャートである。
【
図9】上記実施形態の第1変形例における正常データの説明図である。
【
図10】上記第1変形例における異常データの説明図である。
【
図11】上記実施形態の第3変形例における、異常検知モデルとキャプションモデルの学習時のフローチャートである。
【
図13】上記第3変形例における、異常の検知時のフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を参照して詳細に説明する。
図1は、本実施形態における異常検知装置のブロック図である。
異常検知装置1は、対象物が撮影された画像を基に、対象物の異常を検知する。対象物としては、工場で生産した製品や部品等が挙げられる。この場合には、異常検知装置1は、例えば、対象物の不良の有無を確認して対象物の品質を維持するために用いられ得る。また、対象物としては、稼働中の設備等が挙げられる。この場合には、異常検知装置1は、例えば、稼働中の対象物の異常の有無を確認して、対象物を円滑に運用するために用いられ得る。あるいは、異常検知装置1は、環境や建物等を対象物とし、これらに生じた異常を検知するためにも、用いられ得る。
【0012】
異常検知装置1は、例えばパーソナルコンピュータやサーバ等の情報処理装置である。異常検知装置1は、画像データベース2、異常検知モデル学習部3、キャプションモデル学習部4、推論部5、入力部6、撮影部7、及び表示部8を備えている。
これら異常検知装置1の構成要素のうち、異常検知モデル学習部3、キャプションモデル学習部4、及び推論部5は、例えば上記の情報処理装置内のCPUにより実行されるソフトウェア、プログラムであってよい。また、画像データベース2は、上記情報処理装置内外に設けられた半導体メモリや磁気ディスクなどの記憶装置により実現されていてよい。
異常検知モデル学習部3、キャプションモデル学習部4、及び推論部5の各々は、全てが同一の情報処理装置の中に設けられても構わないし、複数の情報処理装置の中に、これらが分散して、互いに連携しながら動作するように設けられても構わない。
【0013】
画像データベース2は、対象物に関する、対象物が撮影された画像が格納された、データベースである。画像データベース2は、正常画像データベース2aと異常画像データベース2bを備えている。正常画像データベース2aには、画像データベース2に格納された画像のうち、対象物に異常がない、正常である場合の画像である正常画像が、分類されて格納されている。異常画像データベース2bには、画像データベース2に格納された画像のうち、対象物に異常がある、正常ではない場合における画像である異常画像が、分類されて格納されている。異常画像データベース2bにおいては、各異常画像に対して、当該異常画像に対応する異常の種類が、対応付けて格納されている。
【0014】
異常検知モデル学習部3は、異常検知モデル31を備えている。異常検知モデル学習部3は、異常検知モデル31を、正常画像を基に、深層学習する。異常検知モデル31は、対象物が撮影された画像が入力されると、その際の異常検知モデル31の推論結果から、当該画像内の対象物に異常があれば値が高くなるように設定された異常スコア値と、画像の異常に相当する部分である異常部分と、が出力可能となるように、構成されている。
【0015】
キャプションモデル学習部4は、異常検知モデル31、画像加工部41、キャプション生成部42、及び学習処理部43を備えている。学習処理部43は、キャプションモデル44を備えている。キャプションモデル学習部4は、キャプションモデル44を深層学習する。
キャプションモデル学習部4における異常検知モデル31は、異常検知モデル学習部3によって深層学習された、学習済みの異常検知モデル31と同一のものである。深層学習された学習済みの異常検知モデル31は、異常検知モデル学習部3からキャプションモデル学習部4にコピーされて、あるいはキャプションモデル学習部4が異常検知モデル学習部3内の異常検知モデル31と通信しながら、キャプションモデル学習部4によって使用される。
【0016】
キャプションモデル学習部4は、画像データベース2の、異常画像と前記正常画像を含む画像を、入力画像として、学習済みの異常検知モデル31に入力する。キャプションモデル学習部4は、異常検知モデル31による推論結果から、入力画像の異常スコア値と異常部分を生成し、出力する。
画像加工部41は、異常スコア値が第1閾値以上の場合に、異常部分を、入力画像に重ね合わせて、異常部分強調画像を作成する。
キャプション生成部42は、異常スコア値が第1閾値以上の場合に、異常部分強調画像に対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションを付与し、異常データを生成する。
キャプション生成部42はまた、異常スコア値が第1閾値よりも小さい場合に、入力画像に対して対象物が正常であることを示す正常キャプションを付与し、正常データを生成する。
学習処理部43は、正常データと異常データを基に、キャプションモデル44を、正常画像または異常部分強調画像が入力されると、対応する正常キャプションまたは異常キャプションを出力するように、深層学習する。
【0017】
撮影部7は、例えばカメラ等であり、異常検知の対象となる対象物の画像を撮影し、推論対象画像として、推論部5へ送信する。
推論部5は、画像加工部51を備えている。推論部5は、画像加工部51と、上記のようにして学習された、異常検知モデル31とキャプションモデル44を用いて、撮影部7から送信された推論対象画像の中の対象物に異常があれば、これを検知する。
より詳細には、推論部5は、対象物が撮影された推論対象画像を異常検知モデルに入力する。推論部5は、異常検知モデル31による推論結果から、推論対象画像の異常スコア値と異常部分を生成し、出力する。推論部5は、異常スコア値が第1閾値よりも小さい場合には推論対象画像を、第1閾値以上の場合には異常部分を推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれ推論時モデル入力画像としてキャプションモデルに入力してキャプションを生成し、推論時モデル入力画像とともに、キャプションを出力する。
画像加工部51は、推論対象画像の異常スコア値が第1閾値以上の場合に、推論対象画像の異常部分を、推論対象画像に重ね合わせて、推論時異常部分強調画像を作成する。画像加工部51は、機能的には、キャプションモデル学習部4の画像加工部41と同様に動作する。
推論部5における異常検知モデル31は、異常検知モデル学習部3によって深層学習された、学習済みの異常検知モデル31と同一のものである。深層学習された学習済みの異常検知モデル31は、異常検知モデル学習部3から推論部5にコピーされて、あるいは推論部5が異常検知モデル学習部3内の異常検知モデル31と通信しながら、推論部5によって使用される。
推論部5におけるキャプションモデル44は、キャプションモデル学習部4によって深層学習された、学習済みのキャプションモデル44と同一のものである。深層学習された学習済みのキャプションモデル44は、キャプションモデル学習部4から推論部5にコピーされて、あるいは推論部5がキャプションモデル学習部4内のキャプションモデル44と通信しながら、推論部5によって使用される。
【0018】
入力部6は、例えばキーボードやマウス等であり、使用者による、異常検知装置1への入力を受け付ける。
表示部8は、例えばディスプレイやプリンタ等であり、異常検知装置1内の情報を表示し、使用者による閲覧を可能とする。
【0019】
上記のように、異常検知装置1においては、推論部5によって対象物の異常を検知する際に、前段階として、異常検知モデル31とキャプションモデル44の深層学習を行う必要がある。
すなわち、異常検知装置1は大別して、深層学習時における学習と、対象物の異常の検知の、2通りの動作を行う。説明を簡単にするために、以下ではまず、深層学習時における、異常検知装置1の各構成要素の挙動を、フローチャートに基づいて説明した後に、異常を検知する場合での各構成要素の挙動を、同様にフローチャートに基づいて説明する。
【0020】
図2は、本実施形態の異常検知方法における、異常検知モデルとキャプションモデルの学習時のフローチャートである。
異常検知装置1においては、まず、異常検知モデル学習部3が、異常検知モデル31を深層学習する(ステップS1)。
異常検知モデル31は、機械学習器が、正常画像データベース2aに格納された、対象物が正常である場合の正常画像を基に深層学習されることで、生成される。すなわち、異常検知モデル31は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される、適切な学習パラメータが学習されたものである。
対象物が撮影された画像が異常検知モデル31に入力されると、その際の推論結果から、当該画像内の対象物に異常があれば値が高くなるように設定された異常スコア値と、画像の異常に相当する部分である異常部分と、が出力され得るように、異常検知モデル31は構成されている。
【0021】
本実施形態においては、異常検知モデル31としては、例えば教師なし機械学習である、オートエンコーダ(AutoEncoder)が使用され得る。オートエンコーダにおいては、画像が入力されると、畳み込み処理によって低次元に圧縮された後に、逆畳み込み処理によって復元されるようにして、入力された画像が再構成される。この、入力された画像と再構成された画像との間の誤差である、平均二乗誤差等の再構成誤差が小さくなるように、オートエンコーダ内の各種のパラメータが調整されることで、オートエンコーダは学習される。
正常画像データベース2aに格納された、対象物が正常である場合の正常画像を基に、オートエンコーダを深層学習することによって、異常検知モデル31を生成する場合には、学習済みの異常検知モデル31に対して正常画像を入力すると、再構成誤差が小さい値となり、対象物に異常がある場合の異常画像を入力すると、再構成誤差が大きな値となる。ここで、上記の異常スコア値は、画像内の対象物に異常があれば値が高くなるように設定される必要がある。このため、異常検知モデル31としてオートエンコーダを使用した場合においては、再構成誤差を、異常スコア値として採用することができる。
また、正常画像データベース2aに格納された、対象物が正常である場合の正常画像を基に、オートエンコーダを深層学習することによって、異常検知モデル31を生成する場合には、学習済みの異常検知モデル31に異常画像を入力すると、概念的には、異常画像に似た正常画像が再構成されて出力される。このため、入力された画像と再構成された画像との類似度や差分を計算することにより、異常と考えられる領域を浮かび上がらせ、抽出することができる。このような処理を行うことで、オートエンコーダを使用した場合には、推論結果から、入力された画像のなかで、対象物の異常に相当する部分である異常部分が出力されるように構成することができる。
【0022】
異常検知モデル31としては、上記のような、推論結果から異常スコア値や異常部分を出力することができるような性質を有するものであれば、オートエンコーダに限らず、他の種類の機械学習器、学習モデルを使用しても構わない。例えば、異常検知モデル31としては、エンドツーエンド(END TO END)で学習するPatch CoreやCS-Flow等のモデルや、VAE(Variational AutoEncoder)を使用しても構わない。
【0023】
異常検知モデル学習部3による、異常検知モデル31の深層学習が終了すると、次にキャプションモデル学習部4が、キャプションモデル44を深層学習する。
これには、キャプションモデル学習部4が、画像データベース2内の、異常画像と、正常画像と、の双方を含む画像全体から、画像を一つずつ取り出し、これを入力画像として異常検知モデル31に入力する(ステップS3)。
すなわち、キャプションモデル学習部4は、異常検知モデル学習部3によって事前に深層学習されて、各パラメータの値が調整、決定された、学習済みの異常検知モデル31を、例えばCPU上でプログラムとして実行させる。
キャプションモデル学習部4は、入力画像に対する異常検知モデル31の推論結果から、異常スコア値を取得する。キャプションモデル学習部4はまた、入力画像と、異常検知モデル31の推論結果としての再構成された画像との差分を計算し、異常部分を取得する。
キャプションモデル学習部4は、異常スコア値を、第1閾値と比較する(ステップS5)。
第1閾値は、異常スコア値が第1閾値以上であれば、入力画像の中の対象物に異常があり、異常スコア値が第1閾値よりも小さければ、入力画像の中の対象物が正常であると判別できるように、適切な値として事前に決定されている。
【0024】
異常スコア値が第1閾値よりも小さい場合には(ステップS5のNo)、キャプション生成部42が、対象物が正常であることを示す正常キャプションを生成する(ステップS7)。
そして、キャプション生成部42は、正常キャプションを、異常検知モデル31への入力となった入力画像に付与し、関連付けることで、対象物が正常である場合におけるキャプションモデル44の学習データである、入力画像と正常キャプションを含む、正常データを生成する(ステップS9)。
図3は、正常データの説明図である。
図3に示される正常データNDにおいては、入力画像IGに、キャプション生成部42により生成された正常キャプションNCが付与されて構成されている。正常キャプションNCは、例えばテキストデータとして生成される。正常データNDが生成される場合においては、異常スコア値が第1閾値よりも小さいため、入力画像IGの中の対象物100は正常であり、異常検知モデル31の推論結果を基に異常部分が出力されたとしても、その領域の面積は非常に小さいものであると考えられる。本実施形態における対象物100の名称を便宜的に「部品A」とすると、正常キャプションNCとしては、例えば、「部品Aに異常なし」等と、対象物100が正常であることを示す趣旨のものとなる。
【0025】
異常スコア値が第1閾値以上の場合には(ステップS5のYes)、画像加工部41がまず、異常部分を、入力画像IGに重ね合わせて、異常部分強調画像を作成する(ステップS11)。
図4は、対象物に異常がある画像の説明図である。
図5は、
図4の画像における異常部分の説明図である。
図6は、
図5の異常部分を
図4の異常画像に重ね合わせて作成された異常部分強調画像の説明図である。
ステップS11が実行される場合においては、異常スコア値が第1閾値以上であるため、入力画像IGの中の対象物100には異常があり、異常検知モデル31の推論結果を基に出力された異常部分APの領域の面積は、一定以上に大きい面積を有するものであると考えられる。
画像加工部41は、この異常部分APを、より厳密には異常部分APを含むように生成された差分画像AAを、入力画像IGに重ね合わせて、
図6に示されるような、異常部分強調画像AEを作成する。このようにして作成された異常部分強調画像AEは、入力画像IGとなった異常画像AIの中の、異常101に相当する部分が、入力画像IGよりも強調された画像となっている。
【0026】
次に、キャプション生成部42が、対象物に異常があることを示す異常キャプションを生成する(ステップS13)。
そして、キャプション生成部42は、異常キャプションを、画像加工部41により作成された異常部分強調画像AEに付与し、関連付けることで、対象物100に異常がある場合におけるキャプションモデル44の学習データである、異常部分強調画像AEと異常キャプションを含む、異常データを生成する(ステップS15)。
図7は、異常データの説明図である。
図7に示される異常データADにおいては、異常部分強調画像AEに、キャプション生成部42により生成された異常キャプションACが付与されて構成されている。異常キャプションACは、例えばテキストデータとして生成される。異常キャプションACとしては、例えば、「部品Aに異常N1あり、対処H1を実施してください」等と、対象物100に異常があることを示すとともに、異常の種類と、当該異常の種類に対する対処の方法と、を併せて示す趣旨のものとなる。
異常キャプションACには、上記のような異常の種類と、当該異常の種類に対する対処の方法に加えて、他の情報をも含むようにしてもよい。例えば、異常キャプションACには、異常がはじめて生じた後に経過したと考えられる時間、当該異常の種類に対応する異常の深刻度等の情報が、付加情報として、付与されていてもよい。
【0027】
ここで、既に説明したように、異常画像データベース2bにおいては、各異常画像AIに対して、当該異常画像AIに対応する異常の種類が、予め対応付けて格納されている。異常キャプションACを生成する場合においては、これが付与される対象となる異常部分強調画像AEの基となる入力画像IGは、対象物100に異常がある場合の異常画像AIであると考えられるため、異常画像AIに対応付けて格納されている異常の種類を取得することができる。このようにして、上記のステップS13において異常キャプションACを生成するに際し、異常キャプションAC内に情報として含まれる異常の種類を、自動的に取得することができる。
これに替えて、後に変形例として説明するように、異常画像AIから、異常画像AIに含まれる異常の種類を判定するように深層学習された、異常種類判定モデルを設け、これにより異常の種類を判定するように構成してもよい。
また、異常キャプションACを自動で生成するに際し、異常の種類と、これに対する対処の方法と、の対応関係を、予め保持しておけば、異常の種類が決定されると、これに伴って対処の方法も決定されるので、より望ましい。
【0028】
異常の種類の各々に対して、複数の対処の方法が提案されるように、異常キャプションACが生成されるようにしてもよい。この場合においては、異常キャプションACとしては、例えば、「部品Aに異常N1あり、対処H1または対処H2を実施してください」等というものとなり得る。
あるいは、異常画像AIにおいて、対象物100に、複数の種類の異常が生じている場合や、異常の種類の候補が複数考えられるがそのなかから一つの候補を明確には限定できないような場合等においては、複数の種類の異常の可能性があることを通知する趣旨の異常キャプションACが生成されるようにしてもよい。この場合においては、異常キャプションACとしては、例えば、「部品Aに異常N1または異常N2あり、対処H1または対処H2を実施してください」等というものとなり得る。
【0029】
ステップS9における正常データNDの生成、またはステップS15における異常データADの生成が終了すると、キャプションモデル学習部4は、キャプションモデル44を十分に学習させるだけの学習データが生成されたかを判断する(ステップS17)。
この判断は、これまでに生成された正常データNDと異常データADの総量が一定以上となったか否かで行われてもよい。あるいは、画像データベース2内の全ての、あるいは所定の割合の数の、画像に対して、ステップS3~S15までの処理が行われたか否かによって、上記の判断がなされてもよい。
学習データの生成が終了していないと判断した場合においては(ステップS17のNo)、ステップS3に戻り、ステップS3以降の処理を繰り返す。
【0030】
学習データの生成が終了したと判断した場合においては(ステップS17のYes)、学習処理部43が、正常データNDと、異常データADと、を基に、キャプションモデル44を、深層学習する(ステップS19)。
より詳細には、学習処理部43は、対象物100が正常である場合の正常画像NIが入力されると、入力された正常画像NIに対応する正常キャプションNCを出力するように、キャプションモデル44を深層学習する。また、学習処理部43は、異常部分強調画像AEが入力されると、入力された異常部分強調画像AEに対応する異常キャプションACを出力するように、キャプションモデル44を深層学習する。このようなキャプションモデル44は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される、適切な学習パラメータが学習されたものである。
【0031】
このようなキャプションモデル44としては、例えば、畳み込みニューラルネットワーク(Convolutional Neural Network)と、自然言語を扱うための再帰型ニューラルネットワーク(Recurrent Neural Network)から構成される、ニューラル画像キャプション(Neural Image Caption)が使用され得る。ニューラル画像キャプションは、入力された画像から、畳み込みニューラルネットワークによって特徴を抽出して再帰型ニューラルネットワークに渡し、再帰型ニューラルネットワークにおいては、この特徴を初期値として、文字列としてのキャプションを再帰的に生成する。
【0032】
次に、異常検知モデル31とキャプションモデル44の学習が終了した後の、実際に対象物100を撮影して、対象物100の異常を検知する場合における、各構成要素の挙動を説明する。
図8は、本実施形態の異常検知方法における、異常の検知時のフローチャートである。
まず、使用者が、撮影部7により、異常の検知を行う対象となる対象物100を撮影することで、異常の検知を推論する対象となる、対象物100が撮影された推論対象画像を取得し、異常検知装置1に入力する(ステップS31)。
対象物100による撮影は、使用者により手動に行われるのではなく、例えば工場において対象物100が製品として生産される場合においては、生産物としての対象物100が搬送されるベルトコンベア等を撮影するように撮影部7を設け、対象物100が搬送されたときに自動的に対象物100を撮影するようにしてもよい。
あるいは、稼働中の設備に異常がないか定期的に確認するような場合には、当該設備を対象物100として常時撮影するように撮影部7を設け、定期的に対象物100を撮影するようにしてもよい。
【0033】
推論部5は、このようにして撮影された推論対象画像を、異常検知モデル31に入力する(ステップS33)。
すなわち、推論部5は、異常検知モデル学習部3によって事前に深層学習されて、各パラメータの値が調整、決定された、学習済みの異常検知モデル31を、例えばCPU上でプログラムとして実行させる。
推論部5は、推論対象画像に対する異常検知モデル31の推論結果から、異常スコア値を取得する。推論部5はまた、推論対象画像と、異常検知モデル31の推論結果としての再構成された画像との差分を計算し、異常部分APを取得する。
推論部5は、異常スコア値を、第1閾値と比較する(ステップS35)。この第1閾値は、キャプションモデル学習部4において使用されたものと同じ値であってよい。
【0034】
異常スコア値が第1閾値よりも小さい場合は(ステップS35のNo)、入力された推論対象画像内に撮影された対象物100には異常がないと考えられる場合である。このため、推論部5は、推論対象画像そのものを、推論時モデル入力画像として、キャプションモデル44に入力する(ステップS37)。
すなわち、推論部5は、キャプションモデル学習部4によって事前に深層学習されて、各パラメータの値が調整、決定された、学習済みのキャプションモデル44を、例えばCPU上でプログラムとして実行させる。
ここで、キャプションモデル44は、対象物100が正常である場合の正常画像NIが入力されると、入力された正常画像NIに対応する正常キャプションNCを出力するように、深層学習されている。このため、異常がないと考えられる推論対象画像が推論時モデル入力画像としてキャプションモデル44に入力された際には、キャプションモデル44は、例えば、「部品Aに異常なし」等の、推論対象画像内に撮影された対象物100には異常がなく正常であることを示す、正常キャプションNCを、推論対象画像に対するキャプションとして生成する。
【0035】
その後、推論部5は、推論時モデル入力画像である推論対象画像とともに、生成されたキャプションを、表示部8に表示する(ステップS39)。
表示部8に表示された推論対象画像内に撮影された対象物100においては、異常部分が(存在しないか微小な領域であるために)強調されておらず、また表示されたキャプションにおいても対象物100には異常がなく正常であることを示す趣旨となっている。したがって、使用者は、これらの情報を基に、推論対象画像内に撮影された対象物100からは、異常が検知されず、正常であると判断することができる。
【0036】
他方、異常スコア値が第1閾値以上の場合は(ステップS35のYes)、入力された推論対象画像内に撮影された対象物100は異常があると考えられる場合である。この場合には、
図6の異常部分強調画像AEと同様に、画像加工部51が、異常部分APを、推論対象画像に重ね合わせて、推論時異常部分強調画像を作成する(ステップS41)。
そして、推論部5は、推論時異常部分強調画像を、推論時モデル入力画像として、キャプションモデル44に入力する(ステップS43)。
ここで、キャプションモデル44は、異常部分強調画像AEが入力されると、入力された異常部分強調画像AEに対応する異常キャプションACを出力するように、深層学習されている。このため、異常があると考えられる推論時異常部分強調画像が推論時モデル入力画像としてキャプションモデル44に入力された際には、キャプションモデル44は、例えば、「部品Aに異常N1あり、対処H1を実施してください」等の、推論時異常部分強調画像内に撮影された対象物100に異常があることを示すとともに、異常の種類と、当該異常の種類に対する対処の方法と、を併せて示す、異常キャプションACを、推論時異常部分強調画像に対するキャプションとして生成する。
【0037】
その後、推論部5は、推論時モデル入力画像である推論時異常部分強調画像とともに、生成されたキャプションを、表示部8に表示する(ステップS45)。
表示部8に表示された推論時異常部分強調画像内に撮影された対象物100においては、異常が強調されて表示されている。また、表示されたキャプションにおいては、異常の種類と、当該異常の種類に対する対処の方法とが示されている。したがって、使用者は、これらの情報を基に、推論対象画像内に撮影された対象物100に、どのような種類の異常が生じたのかを認識し、当該異常に対してどのような対処を取ればよいのかを把握することができる。
【0038】
次に、上記の異常検知装置及び異常検知方法の効果について説明する。
【0039】
上記のような異常検知装置1は、対象物100の異常を検知する異常検知装置1であって、対象物100が正常である場合の正常画像NIを基に深層学習された異常検知モデル31であって、対象物100が撮影された画像が入力された際の当該異常検知モデル31の推論結果から、当該画像内の対象物100に異常があれば値が高くなるように設定された異常スコア値と、画像の異常に相当する部分である異常部分APと、が出力可能な、異常検知モデル31と、対象物100に異常がある場合の異常画像AIと正常画像NIを含む入力画像IGが異常検知モデル31に入力された際の異常スコア値が第1閾値以上の場合に、異常部分APを入力画像IGに重ね合わせて作成された異常部分強調画像AEに対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションACを付与して生成された異常データADと、異常スコア値が第1閾値よりも小さい場合に、入力画像IGに対して対象物100が正常であることを示す正常キャプションNCを付与して生成された正常データNDと、を基に、正常画像NIまたは異常部分強調画像AEが入力されると、入力に対応して正常キャプションNCまたは異常キャプションACを出力するように深層学習されたキャプションモデル44と、対象物100が撮影された推論対象画像を異常検知モデル31に入力し、異常スコア値が第1閾値よりも小さい場合には推論対象画像を、第1閾値以上の場合には異常部分APを推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれ推論時モデル入力画像としてキャプションモデル44に入力してキャプションを生成し、推論時モデル入力画像とともにキャプションを出力する、推論部5と、を備えている。
また、上記のような異常検知方法は、対象物100の異常を検知する異常検知方法であって、対象物100が正常である場合の正常画像NIを基に深層学習された異常検知モデル31であって、対象物100が撮影された画像が入力された際の当該異常検知モデル31の推論結果から、当該画像内の対象物100に異常があれば値が高くなるように設定された異常スコア値と、画像の異常に相当する部分である異常部分APと、が出力可能な、異常検知モデル31に、対象物100が撮影された推論対象画像を入力し、対象物100に異常がある場合の異常画像AIと正常画像NIを含む入力画像IGが異常検知モデル31に入力された際の異常スコア値が第1閾値以上の場合に、異常部分APを入力画像IGに重ね合わせて作成された異常部分強調画像AEに対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションACを付与して生成された異常データADと、異常スコア値が第1閾値よりも小さい場合に、入力画像IGに対して対象物100が正常であることを示す正常キャプションNCを付与して生成された正常データNDと、を基に、正常画像NIまたは異常部分強調画像AEが入力されると、入力に対応して正常キャプションNCまたは異常キャプションACを出力するように深層学習されたキャプションモデル44に、推論対象画像の異常スコア値が第1閾値よりも小さい場合には推論対象画像を、第1閾値以上の場合には推論対象画像の異常部分APを推論対象画像に重ね合わせて作成された推論時異常部分強調画像を、それぞれ推論時モデル入力画像として入力してキャプションを生成し、推論時モデル入力画像とともにキャプションを出力する。
上記のような構成によれば、異常検知の対象となる、対象物100が撮影された推論対象画像は、異常検知モデル31に入力される。異常検知モデル31は、対象物100が正常である場合の正常画像NIを基に深層学習されている。また、異常検知モデル31に対して、対象物100が撮影された画像が入力されると、その際の推論結果から、当該画像内の対象物100に異常があれば値が高くなるように設定された異常スコア値と、画像の異常に相当する部分である異常部分APと、が出力可能である。
異常スコア値は、推論対象画像内の対象物100に異常がない場合においては、低い値となり、異常がある場合においては、高い値となる。このため、推論対象画像内の対象物100に異常がない場合においては、異常検知モデル31の推論結果から出力された異常スコア値は第1閾値よりも小さい値となり、推論対象画像が推論時モデル入力画像としてキャプションモデル44に入力される。キャプションモデル44は、異常スコア値が第1閾値よりも小さい値となるような入力画像IGに対して対象物100が正常であることを示す正常キャプションNCを付与して生成された正常データNDを基に、正常画像NIが入力されると、入力された正常画像NIに対応して正常キャプションNCを出力するように深層学習されている。したがって、キャプションモデル44は、推論対象画像に対して正常キャプションNCを出力する。結果として、異常検知装置1は、推論時モデル入力画像すなわち推論対象画像とともに、正常キャプションNCを出力するため、これらを基に、使用者は、対象物100に異常がなく、正常であることを確認することができる。
また、推論対象画像内の対象物100に異常がある場合においては、異常検知モデル31の推論結果から出力された異常スコア値は第1閾値以上となり、異常検知モデル31の推論結果から出力された異常部分APを推論対象画像に重ね合わせて作成された推論時異常部分強調画像が、推論時モデル入力画像としてキャプションモデル44に入力される。キャプションモデル44は、異常スコア値が第1閾値以上となるような入力画像IGが入力された場合に、入力画像IGを異常検知モデル31に入力して得られる異常部分APを、入力画像IGに重ね合わせて作成された、異常部分強調画像AEに対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションACを付与して生成された異常データADを基に、異常部分強調画像AEが入力されると、入力された異常部分強調画像AEに対応して異常キャプションACを出力するように深層学習されている。したがって、キャプションモデル44は、推論時異常部分強調画像に対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションACを出力する。結果として、異常検知装置1は、推論時モデル入力画像すなわち推論時異常部分強調画像とともに、異常の種類と、当該異常の種類に対する対処の方法と、を異常キャプションACとして出力するため、これらを基に、使用者は、対象物100に異常があること、画像中の異常だと考えられる部分、異常の種類と、及び異常に対する対処の方法とを、併せて確認することができる。
このようにして、異常を検知した場合に、異常に対する対処の方法を含む、異常に関する詳細な情報を出力することができる。
【0040】
特に、上記のような構成においては、キャプションモデル44は、異常部分強調画像AEに対して、異常の種類と、当該異常の種類に対する対処の方法と、を示す異常キャプションACを付与して生成された異常データADを基に、異常部分強調画像AEが入力されると、対応する異常キャプションACを出力するように深層学習されている。すなわち、このキャプションモデル44を学習する段階において、異常キャプションACに、異常に関する他の様々な、例えば異常がはじめて生じた後に経過したと考えられる時間、当該異常の種類に対応する異常の深刻度等の付加情報を追加することで、異常が検知されたときに表示されるキャプションの情報量を、容易に増やすことができる。
これにより、異常を検知した場合に、異常に対する対処の方法を含む、異常に関する詳細な情報を、効率的に、出力することができる。
【0041】
[実施形態の第1変形例]
次に、
図1、
図2、
図8、
図9、
図10を用いて、上記実施形態として示した異常検知装置及び異常検知方法の第1変形例を説明する。
図9は、本変形例における正常データの説明図である。
図10は、本変形例における異常データの説明図である。本変形例における異常検知装置1A及び異常検知方法は、対象物100が複数の部位102で構成されており、異常が生じた部位102を特定するようなキャプションを出力する点が異なっている。
例えば
図9において、入力画像IGに撮影されている対象物100は、左側に位置する部位102A、中央に位置する部位102B、及び右側に位置する部位102Cの、3つの部位102により構成されている。以下においては、部位102A、部位102B、及び部位102Cの名称を、それぞれ、「部品A」、「部品B」、「部品C」と呼称する。
【0042】
図2を用いて、本変形例の、異常検知モデル31とキャプションモデル44の学習時の処理について説明する。具体的には、本変形例においては、主にキャプション生成部42の処理内容が、上記実施形態とは異なっている。
本変形例においても、正常画像NIと異常画像AIには、全ての部位102を含む、対象物100全体が撮影されている。このため、ステップS1の、異常検知モデル31の学習は、対象物100が複数の部位102で構成されていたとしても、対象物100全体を対象としたものとして、上記実施形態と同様に行われる。
異常検知モデル31の学習が終了すると、画像データベース2内に格納された画像全体から、画像を一つずつ取り出し、これを入力画像IGとして異常検知モデル31に入力する(ステップS3)。
キャプションモデル学習部4は、入力画像IGに対する異常検知モデル31の推論結果から、異常スコア値を取得する。キャプションモデル学習部4はまた、入力画像IGと、異常検知モデル31の推論結果としての再構成された画像との差分を計算し、異常部分を取得する。
キャプションモデル学習部4は、異常スコア値を、第1閾値と比較する(ステップS5)。
【0043】
異常スコア値が第1閾値よりも小さい場合には(ステップS5のNo)、キャプション生成部42が、対象物100が正常であることを示す正常キャプションNCを生成する(ステップS7)。この際の正常キャプションNCは、
図9に示されるように、例えば、「部品Aに異常なし、部品Bに異常なし、部品Cに異常なし」等と、各部位102が正常であり、結果として対象物100が全体として正常であることを示す趣旨のものとなる。
そして、キャプション生成部42は、正常キャプションNCを、異常検知モデル31への入力となった入力画像IGに付与し、関連付けることで、正常データNDを生成する(ステップS9)。
【0044】
異常スコア値が第1閾値以上の場合には(ステップS5のYes)、画像加工部41がまず、異常部分APを、入力画像IGに重ね合わせて、
図10に示されるような、異常部分強調画像AEを作成する(ステップS11)。
次に、キャプション生成部42が、対象物に異常があることを示す異常キャプションACを生成する(ステップS13)。この際の異常キャプションACは、例えば、「部品Aに異常なし、部品Bに異常なし、部品Cに異常N2あり、対処H2を実施してください」等と、対象物100のなかで異常がある部位102がどれかが明確に特定され、当該部位102における異常の種類と、当該異常の種類に対する対処の方法と、を併せて示す趣旨のものとなる。
そして、キャプション生成部42は、異常キャプションACを、画像加工部41により作成された異常部分強調画像AEに付与し、関連付けることで、異常データADを生成する(ステップS15)。
【0045】
上記のような処理を、ステップS17において学習データの生成が終了したと判断されるまで実行し、その後、学習処理部43が、正常データNDと、異常データADと、を基に、キャプションモデル44を、深層学習する(ステップS19)。
このようにして深層学習されたキャプションモデル44は、
図8として示されるような手順で異常の検知を行う場合においては、推論対象画像に撮影された対象物100を構成するいずれかの部位102に異常があると、どの部位102に異常があるのかを特定できるようなキャプションを出力するようになっている。
【0046】
上記のステップS13の、キャプション生成部42による異常キャプションACの生成処理においては、対象物100を構成するどの部位102に異常があるのかを、自動的に判定するのが望ましい。このために、例えば、異常画像AIを基に、複数の部位102の中から、異常が生じた異常部位102を判定するように深層学習された、異常部位判定モデル(図示無し)を、キャプションモデル学習部4が備えるように構成するのが望ましい。このような異常部位判定モデルを備えている場合においては、キャプション生成部42は、キャプションモデル44の学習に際し、異常部位判定モデルに入力画像IGを入力することで、異常部位102を判定し、これを基に異常キャプションACを自動的に生成することが可能となる。
このような異常部位判定モデルは、例えばセマンティックセグメンテーション(Semantic Segmentation)を用いることで実現することができる。
【0047】
上記のような異常検知装置1Aにおいては、対象物100は複数の部位102により構成されており、異常画像AIを基に、複数の部位102の中から、異常が生じた異常部位102を判定するように深層学習された、異常部位判定モデルを更に備え、キャプションモデル44の学習に際し、入力画像IGを異常部位判定モデルに入力して異常部位を判定し、入力画像IGに対して作成された異常部分強調画像AEに対して、異常部位判定モデルによって判定された前記異常部位102と、異常の種類と、当該異常の種類に対する対処の方法と、を示すように、異常キャプションACを生成する、キャプション生成部42を備えている。
上記のような構成によれば、対象物100が複数の部位102により構成されている場合において、部位102ごとに異常を検知して、異常が生じた部位102である異常部位102と、異常の種類と、対処の方法を出力することができる。これにより、対象物100において異常が生じた部位102を特定することが可能となり、対象物100に生じた異常に関する情報を、より詳細に、出力することができる。
また、キャプションモデル44を学習する際に、入力画像IGを異常部位判定モデルに入力して異常部位102を自動的に判定することができる。このため、キャプションモデル44の学習に用いる異常データAD中の異常キャプションACを生成するに際し、異常部分強調画像AE内のどの部位102に異常が生じているのかを、人手で調べる必要がない。これにより、キャプションモデル44を学習する際の作業性が向上する。
【0048】
複数の部位102により構成された対象物100において、例えば複数の異なる部位102で異常が検知された場合には、これらの異常は、複数の異なる部位の各々において、独立に生じたものである可能性がある。しかし、ある特殊な組み合わせの複数の部位102において異常が同時に検知された場合においては、例えば対象物100のいずれかの部分に主となる異常が生じ、これに起因して複数の部位102に対して異常が検知されている状況や、複数の部位102の異常が互いに関連し、特別な対処が必要であるような状況等が考えられ得る。
ここで、例えば、異常を検知する学習モデルとして、異常の属性情報を推論するように構成し、この異常の属性情報を基にして、使用者に情報を提供する構成を採用することが考えられ得る。しかし、このような構成においては、例えば対象物100から複数の異常が検出された場合において、その各々に関する異常の情報を個別に出力することはできたとしても、各異常の関連性を推論し、表示することは容易ではない。
これに対し、本変形例のような構成においては、例えば複数の部位102において異常が検知された場合に、これらの異常の関連性について説明するようなキャプションを生成して出力するように、キャプションモデル44を学習することも可能である。
【0049】
本第1変形例が、既に説明した実施形態と同様な効果を奏することは言うまでもない。
【0050】
[実施形態の第2変形例]
次に、上記実施形態として示した異常検知装置及び異常検知方法の第2変形例を説明する。
図2にステップS13として示される、対象物100に異常があることを示す異常キャプションACを生成する処理において、生成される異常キャプションACには、入力画像IGに含まれる異常の種類が含まれる。したがって、上記実施形態においては、入力画像IGとなる異常画像AI内の、対象物100の異常の種類が、各異常画像AIに対して、予め対応付けて格納されていた。
これに替えて、異常画像AIからこれに含まれる異常の種類を判定するように深層学習された、異常種類判定モデルを設け、これにより異常の種類を判定するように構成してもよい。このような異常種類判定モデルは、例えば異常の種類の数だけ出力ノードが設けられた、多クラス分類を行う畳み込みニューラルネットワークを用いて実現され得る。
この場合には、キャプション生成部42は、異常部分強調画像AEに対して異常の種類と対処の方法を含めた異常キャプションACを生成する際に、異常の種類として、基となる異常画像AI(入力画像IG)を異常種類判定モデルに入力して判定された結果を用いることができる。
【0051】
上記のような異常検知装置は、異常画像AIを基に、異常の種類を判定するように深層学習された、異常種類判定モデルを更に備え、キャプションモデル44の学習に際し、入力画像IGを異常種類判定モデルに入力して異常の種類を判定し、入力画像IGに対して作成された異常部分強調画像AEに対して、異常部位判定モデルによって判定された異常の種類と、当該異常の種類に対する対処の方法と、を示すように、異常キャプションACを生成する、キャプション生成部42を備えている。
上記のような構成によれば、キャプションモデル44を学習する際に、入力画像IGを異常種類判定モデルに入力して、入力画像IG内の対象物100に生じている異常の種類を自動的に判定することができる。このため、異常画像AIに、対象物100の異常の種類を予め対応付ける必要がなくなり、キャプションモデル44を学習する際の作業性が向上する。
【0052】
本第2変形例が、既に説明した実施形態と同様な効果を奏することは言うまでもない。
【0053】
[実施形態の第3変形例]
次に、
図1、
図11~
図13を用いて、上記実施形態として示した異常検知装置及び異常検知方法の第3変形例を説明する。
図11は、本変形例における、異常検知モデルとキャプションモデルの学習時のフローチャートである。
図12は、異常予兆データの説明図である。
図13は、本変形例における、異常の検知時のフローチャートである。本変形例における異常検知装置1B及び異常検知方法は、対象物100に異常はないが、将来的に異常となり得るような異常予兆がある場合に、この異常予兆を検知し、異常予兆に関するキャプションを出力する点が異なっている。
上記実施形態においては、異常スコア値は、異常検知モデル31に入力された画像内の対象物100に異常があれば値が高くなるように設定されている。このため、キャプションモデル学習部4においては、異常検知モデル31に入力画像IGを入力した際の異常スコア値が、第1閾値以上であれば、入力画像IG内の対象物100に異常が生じていると推定して、異常データADを作成し、第1閾値よりも小さければ、正常データNDを作成した。同様に、推論部5においては、異常検知モデル31に推論対象画像を入力した際の異常スコア値が、第1閾値以上であれば、推論対象画像内の対象物100に異常が生じていると推定して、推論時異常部分強調画像とともに異常キャプションACを表示し、第1閾値よりも小さければ、推論対象画像とともに正常キャプションNCを表示した。
これに対し、対象物100に異常はないが、将来的に異常となり得るような異常予兆がある場合においては、異常スコア値は、対象物100に異常がある場合の値よりも小さく、異常がなく正常である場合の値よりも大きい値となるはずである。したがって、本変形例においては、異常検知装置1Bは、第1閾値よりも小さい第2閾値を設定し、異常スコア値が第2閾値以上で、かつ第1閾値よりも小さい場合に、画像中の対象物100に異常予兆があると推論する。
【0054】
具体的には、異常検知モデル31とキャプションモデル44の学習時に関する、
図11に示されるフローチャートにおいては、上記実施形態において
図2として示したフローチャートに対し、ステップS51、S53、S55、S57に関する処理が追加されたものとなっている。したがって、ここではまず、これらの追加された処理について、主に説明する。
ステップS5において、異常スコア値が第1閾値よりも小さい場合には(ステップS5のNo)、キャプションモデル学習部4は、異常スコア値を、更に、第1閾値よりも小さい値である第2閾値と比較する(ステップS51)。
異常スコア値が第2閾値よりも小さい場合には(ステップS51のNo)、キャプション生成部42が、対象物が正常であることを示す正常キャプションを生成する(ステップS7)。
【0055】
異常スコア値が第2閾値以上の場合には(ステップS51のYes)、画像加工部41がまず、異常部分APを、入力画像IGに重ね合わせて、異常予兆部分強調画像を作成する(ステップS53)。
ステップS53が実行される場合においては、異常スコア値が第2閾値以上で、かつ第1閾値よりも小さい場合であるため、入力画像IGの中の対象物100には異常予兆103があり、例えば、異常検知モデル31の推論結果を基に出力された異常部分APの領域の面積は、一定以上に大きい面積を有するものの、異常であると認識される程度の大きさには至っていないような状態であると考えられる。
画像加工部41は、このような入力画像IGが異常検知モデル31に入力されて生成される異常部分APを、入力画像IGに重ね合わせて、
図12に示されるような異常予兆部分強調画像FEを作成する。このようにして作成された異常予兆部分強調画像FEは、入力画像IGの中の、異常予兆103に相当する部分が、入力画像IGよりも強調された画像となっている。
【0056】
次に、キャプション生成部42が、対象物に異常予兆があることを示す異常予兆キャプションFCを生成する(ステップS55)。
そして、キャプション生成部42は、異常予兆キャプションFCを、画像加工部41により作成された異常予兆部分強調画像FEに付与し、関連付けることで、対象物100に異常予兆103がある場合におけるキャプションモデル44の学習データである、異常予兆データFDを生成する(ステップS57)。
図12に示される異常予兆データFDにおいては、異常予兆部分強調画像FEに、キャプション生成部42により生成された異常予兆キャプションFCが付与されて構成されている。異常予兆キャプションFCは、例えばテキストデータとして生成される。異常予兆キャプションFCとしては、例えば、「部品Aに異常N3の予兆あり、対処H3を実施してください」等と、対象物100に異常予兆があることを示すとともに、異常予兆の種類と、当該異常予兆の種類に対する対処の方法と、を併せて示す趣旨のものとなる。
【0057】
異常予兆データFDを含む学習データの生成が終了すると(ステップS17のYes)、学習処理部43が、正常データNDと、異常データADと、及び異常予兆データFDと、を基に、キャプションモデル44を、深層学習する(ステップS19)。
より詳細には、学習処理部43は、対象物100が正常である場合の正常画像NIが入力されると、入力された正常画像NIに対応する正常キャプションNCを出力するように、キャプションモデル44を深層学習する。また、学習処理部43は、異常部分強調画像AEが入力されると、入力された異常部分強調画像AEに対応する異常キャプションACを出力するように、キャプションモデル44を深層学習する。更に、学習処理部43は、異常予兆部分強調画像FEが入力されると、入力された異常予兆部分強調画像FEに対応する異常予兆キャプションFCを出力するように、キャプションモデル44を深層学習する。
【0058】
次に、異常検知モデル31とキャプションモデル44の学習が終了した後の、実際に対象物100を撮影して、対象物100の異常を検知する場合における、各構成要素の挙動を説明する。この場合に関し、
図13に示されるフローチャートにおいては、上記実施形態において
図8として示したフローチャートに対し、ステップS71、S73、S75、S77に関する処理が追加されたものとなっている。したがって、ここでは、これらの追加された処理について、主に説明する。
ステップS35において、異常スコア値が第1閾値よりも小さい場合には(ステップS35のNo)、推論部5は、異常スコア値を、更に、第1閾値よりも小さい値である第2閾値と比較する(ステップS71)。
異常スコア値が第2閾値よりも小さい場合には(ステップS71のNo)、推論部5は、推論対象画像そのものを、推論時モデル入力画像として、キャプションモデル44に入力する(ステップS37)。
【0059】
異常スコア値が第2閾値以上の場合は(ステップS51のYes)、入力された推論対象画像内に撮影された対象物100には異常予兆があると考えられる場合である。この場合には、画像加工部51が、異常部分APを、推論対象画像に重ね合わせて、推論時異常予兆部分強調画像を作成する(ステップS73)。
そして、推論部5は、推論時異常予兆部分強調画像を、推論時モデル入力画像として、キャプションモデル44に入力する(ステップS75)。
ここで、キャプションモデル44は、異常予兆部分強調画像FEが入力されると、入力された異常予兆部分強調画像FEに対応する異常予兆キャプションFCを出力するように、深層学習されている。このため、異常予兆があると考えられる推論時異常予兆部分強調画像が推論時モデル入力画像としてキャプションモデル44に入力された際には、キャプションモデル44は、例えば、「部品Aに異常N3の予兆あり、対処H3を実施してください」等の、推論時異常予兆部分強調画像内に撮影された対象物100に異常予兆があることを示すとともに、異常予兆の種類と、当該異常予兆の種類に対する対処の方法と、を併せて示す、異常予兆キャプションFCを、推論時異常予兆部分強調画像に対するキャプションとして生成する。
【0060】
その後、推論部5は、推論時モデル入力画像である推論時異常予兆部分強調画像とともに、生成されたキャプションを、表示部8に表示する(ステップS77)。
表示部8に表示された推論時異常予兆部分強調画像内に撮影された対象物100においては、異常予兆が強調されて表示されている。また、表示されたキャプションにおいては、異常予兆の種類と、当該異常予兆の種類に対する対処の方法とが示されている。したがって、使用者は、これらの情報を基に、推論対象画像内に撮影された対象物100に、どのような種類の異常予兆が生じているのかを認識し、当該異常予兆に対してどのような対処を取ればよいのかを把握することができる。
【0061】
上記のような異常検知装置1Bにおいては、キャプションモデル44は、入力画像IGが異常検知モデル31に入力された際の異常スコア値が第1閾値よりも小さく、かつ、第1閾値よりも小さく設定された第2閾値以上の場合には、異常の予兆がある場合とし、異常部分APを入力画像IGに重ね合わせて作成された異常予兆部分強調画像FEに対して、異常予兆の種類と、当該異常予兆の種類に対する対処の方法と、を示す異常予兆キャプションFCを付与して生成された異常予兆データFDを更に基にして、正常画像NI、異常部分強調画像AE、または異常予兆部分強調画像FEが入力されると、入力に対応して正常キャプションNC、異常キャプションAC、または異常予兆キャプションFCを出力するように深層学習され、推論部5は、推論対象画像の異常スコア値が第1閾値よりも小さく、かつ第2閾値以上の場合には、推論対象画像の異常部分APを推論対象画像に重ね合わせて作成された推論時異常予兆部分強調画像を推論時モデル入力画像としてキャプションモデル44に入力してキャプションを生成し、推論時モデル入力画像とともにキャプションを出力する。
上記のような構成によれば、異常に加え、異常となる前の異常予兆を検知することができる。これにより、対象物の異常の発生を未然に検知し、対策することが可能となる。
【0062】
本第3変形例が、既に説明した実施形態と同様な効果を奏することは言うまでもない。
【0063】
なお、本発明の異常検知装置及び異常検知方法は、図面を参照して説明した上述の実施形態及び各変形例に限定されるものではなく、その技術的範囲において他の様々な変形例が考えられる。例えば、上記実施形態及び各変形例で挙げた構成を取捨選択したり、他の構成に適宜変更したりすることが可能である。
【符号の説明】
【0064】
1、1A、1B 異常検知装置
3 異常検知モデル学習部
31 異常検知モデル
4 キャプションモデル学習部
41、51 画像加工部
42 キャプション生成部
43 学習処理部
44 キャプションモデル
5 推論部
100 対象物
101 異常
102 部位
103 異常予兆
IG 入力画像
ND 正常データ
NI 正常画像
NC 正常キャプション
AD 異常データ
AI 異常画像
AP 異常部分
AE 異常部分強調画像
AC 異常キャプション
FD 異常予兆データ
FE 異常予兆部分強調画像
FC 異常予兆キャプション