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

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

▶ パナソニックIPマネジメント株式会社の特許一覧

特開2023-63042生成方法、異常判定方法、プログラム及び生成システム
<>
  • 特開-生成方法、異常判定方法、プログラム及び生成システム 図1
  • 特開-生成方法、異常判定方法、プログラム及び生成システム 図2
  • 特開-生成方法、異常判定方法、プログラム及び生成システム 図3
  • 特開-生成方法、異常判定方法、プログラム及び生成システム 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023063042
(43)【公開日】2023-05-09
(54)【発明の名称】生成方法、異常判定方法、プログラム及び生成システム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20230427BHJP
   G06N 3/08 20230101ALI20230427BHJP
【FI】
G06T7/00 350C
G06T7/00 600
G06N3/08
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021173295
(22)【出願日】2021-10-22
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】110002527
【氏名又は名称】弁理士法人北斗特許事務所
(72)【発明者】
【氏名】中塚 俊介
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096BA03
5L096EA33
5L096FA64
5L096FA69
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【課題】本開示は、検査対象画像の異常に関する判定の精度を上げることを目的とする。
【解決手段】複数の学習用画像は、正常画像と異常画像とを含む。生成方法は、抽出処理と、削減処理と、補正処理と、近傍処理と、を有する。抽出処理では、畳み込みニューラルネットワークを用いて正常画像及び異常画像の各々から特徴量を抽出する。削減処理では、正常画像の特徴量を正常部分空間に射影することで、特徴量の次元数を削減する。補正処理では、正常部分空間を異常画像の特徴量から遠ざけるように正常部分空間を補正する。近傍処理では、近傍特徴量に基づいて、正常部分空間を補正する。
【選択図】図1
【特許請求の範囲】
【請求項1】
検査対象画像の異常に関する判定に用いられる正常部分空間を、正常画像と異常画像とを含む複数の学習用画像に基づいて生成する生成方法であって、
畳み込みニューラルネットワークを用いて前記正常画像及び前記異常画像の各々から特徴量を抽出する抽出処理と、
前記正常画像の前記特徴量を前記正常画像の前記特徴量が分布する前記正常部分空間に射影することで、前記特徴量の次元数を削減する削減処理と、
前記正常部分空間を前記異常画像の前記特徴量から遠ざけるように前記正常部分空間を補正する補正処理と、
前記正常画像の前記特徴量から前記正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である、近傍特徴量に基づいて、前記正常部分空間を補正する近傍処理と、を有する、
生成方法。
【請求項2】
前記抽出処理では、自然画像データセットを用いて学習した学習済み畳み込みニューラルネットワークを、前記畳み込みニューラルネットワークとして用いる、
請求項1に記載の生成方法。
【請求項3】
前記抽出処理では、前記畳み込みニューラルネットワークの中間層から得られる、複数種類の解像度の複数の特徴マップの結合を、前記特徴量とし、
前記特徴量は、前記縦及び前記横の成分を含む2次元空間座標と、前記2次元空間座標における特徴ベクトルと、を有する3次元テンソルである、
請求項1又は2に記載の生成方法。
【請求項4】
前記削減処理では、前記特徴ベクトルに関する行列計算により、前記正常画像の前記特徴量を前記正常部分空間に射影する、
請求項3に記載の生成方法。
【請求項5】
前記行列計算のパラメータを学習するパラメータ学習処理を更に有し、
前記パラメータ学習処理では、前記正常画像の前記特徴量を前記正常部分空間に射影する際のノルムが最大になるように学習し、
前記パラメータ学習処理では、前記異常画像の前記特徴量を前記正常部分空間に射影する際のノルムが最小になるように学習する、
請求項4に記載の生成方法。
【請求項6】
前記パラメータ学習処理では、前記近傍特徴量を前記正常部分空間に射影する際のノルムが最大になるように学習する、
請求項5に記載の生成方法。
【請求項7】
前記近傍処理では、前記縦及び前記横に相当する2次元座標平面において、前記正常画像の前記特徴量に対応する座標を囲む複数の座標における特徴量を、前記近傍特徴量とする、
請求項1~6のいずれか一項に記載の生成方法。
【請求項8】
前記近傍処理では、前記近傍特徴量に対し重み付けをする、
請求項1~7のいずれか一項に記載の生成方法。
【請求項9】
請求項1~8のいずれか一項に記載の生成方法で生成された前記正常部分空間を用いて、前記検査対象画像の異常に関する判定を行う異常判定方法であって、
前記縦及び前記横に相当する2次元座標平面上の各座標における前記検査対象画像の特徴ベクトルを、前記正常部分空間を表す行列及び前記行列の転置行列を用いて写像し、写像された前記特徴ベクトルと、写像されていない前記検査対象画像の前記特徴ベクトルと、の差の大きさに基づいて、前記検査対象画像の前記座標ごとの異常度を求める異常判定処理を有する、
異常判定方法。
【請求項10】
前記異常判定処理では、前記検査対象画像の前記座標ごとの前記異常度の最大値を、前記検査対象画像の異常度とする、
請求項9に記載の異常判定方法。
【請求項11】
請求項1~8のいずれか一項に記載の生成方法、及び、請求項9又は10に記載の異常判定方法のうち少なくとも一方を、1以上のプロセッサに実行させるための、
プログラム。
【請求項12】
検査対象画像の異常に関する判定に用いられる正常部分空間を、正常画像と異常画像とを含む複数の学習用画像に基づいて生成する生成システムであって、
畳み込みニューラルネットワークを用いて前記正常画像及び前記異常画像の各々から特徴量を抽出する抽出部と、
前記正常画像の前記特徴量を前記正常画像の前記特徴量が分布する前記正常部分空間に射影することで、前記特徴量の次元数を削減する削減部と、
前記正常部分空間を前記異常画像の前記特徴量から遠ざけるように前記正常部分空間を補正する補正部と、
前記正常画像の前記特徴量から前記正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である、近傍特徴量に基づいて、前記正常部分空間を補正する近傍処理部と、を備える、
生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は一般に生成方法、異常判定方法、プログラム及び生成システムに関する。本開示は、より詳細には、検査対象画像の異常に関する判定に用いられる正常部分空間を生成する生成方法、正常部分空間を用いた異常判定方法、生成方法及び異常判定方法のうち少なくとも一方を実現するためのプログラム、並びに、正常部分空間を生成する生成システムに関する。
【背景技術】
【0002】
検査対象画像の異常に関する判定を行う技術の従来例として、特許文献1を挙げる。特許文献1に記載の検査装置は、解析部と、復元部と、判定部と、を備える。解析部は、異常を含まない対象物のデータを次元圧縮することにより異常を含まない対象物のデータの性質を表すパラメータを算出し、検査する対象物のデータ(検査対象画像)を上記パラメータを用いて次元圧縮する。復元部は、解析部で次元圧縮した検査する対象物のデータを復元した復元データを生成する。判定部は、検査する対象物のデータと復元データとの差分の大小に基づき検査する対象物が異常であるか否かを示す判定結果を出力する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2018/105028号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、検査対象画像の異常に関する判定の精度を上げることができる生成方法、異常判定方法、プログラム及び生成システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本開示の一態様に係る生成方法は、検査対象画像の異常に関する判定に用いられる正常部分空間を、複数の学習用画像に基づいて生成する生成方法である。前記複数の学習用画像は、正常画像と異常画像とを含む。前記生成方法は、抽出処理と、削減処理と、補正処理と、近傍処理と、を有する。前記抽出処理では、畳み込みニューラルネットワークを用いて前記正常画像及び前記異常画像の各々から特徴量を抽出する。前記削減処理では、前記正常画像の前記特徴量を前記正常画像の前記特徴量が分布する前記正常部分空間に射影することで、前記特徴量の次元数を削減する。前記補正処理では、前記正常部分空間を前記異常画像の前記特徴量から遠ざけるように前記正常部分空間を補正する。前記近傍処理では、近傍特徴量に基づいて、前記正常部分空間を補正する。前記近傍特徴量は、前記正常画像の前記特徴量から前記正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である。
【0006】
本開示の一態様に係る異常判定方法は、生成方法で生成された前記正常部分空間を用いて、前記検査対象画像の異常に関する判定を行う異常判定方法である。前記異常判定方法は、異常判定処理を有する、前記異常判定処理では、前記縦及び前記横に相当する2次元座標平面上の各座標における前記検査対象画像の特徴ベクトルを、前記正常部分空間を表す行列及び前記行列の転置行列を用いて写像する。また、前記異常判定処理では、写像された前記特徴ベクトルと、写像されていない前記検査対象画像の前記特徴ベクトルと、の差の大きさに基づいて、前記検査対象画像の前記座標ごとの異常度を求める。
【0007】
本開示の一態様に係るプログラムは、前記生成方法、及び、前記異常判定方法のうち少なくとも一方を、1以上のプロセッサに実行させるためのプログラムである。
【0008】
本開示の一態様に係る生成システムは、検査対象画像の異常に関する判定に用いられる正常部分空間を、複数の学習用画像に基づいて生成する。前記複数の学習用画像は、正常画像と異常画像とを含む。前記生成システムは、抽出部と、削減部と、補正部と、近傍処理部と、を備える。前記抽出部は、畳み込みニューラルネットワークを用いて前記正常画像及び前記異常画像の各々から特徴量を抽出する。前記削減部は、前記正常画像の前記特徴量を前記正常画像の前記特徴量が分布する前記正常部分空間に射影することで、前記特徴量の次元数を削減する。前記補正部は、前記正常部分空間を前記異常画像の前記特徴量から遠ざけるように前記正常部分空間を補正する。前記近傍処理部は、近傍特徴量に基づいて、前記正常部分空間を補正する。前記近傍特徴量は、前記正常画像の前記特徴量から前記正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である。
【発明の効果】
【0009】
本開示は、検査対象画像の異常に関する判定の精度を上げることができるという利点がある。
【図面の簡単な説明】
【0010】
図1図1は、一実施形態に係る生成方法を示すフローチャートである。
図2図2は、同上の生成方法を実現する生成システムのブロック図である。
図3図3は、同上の生成方法における特徴量を抽出する処理を示す説明図である。
図4図4は、同上の生成方法における正常部分空間を求める処理を示す説明図である。
【発明を実施するための形態】
【0011】
以下、実施形態に係る生成方法、異常判定方法、プログラム及び生成システムについて、図面を用いて説明する。ただし、下記の実施形態は、本開示の様々な実施形態の1つに過ぎない。下記の実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。
【0012】
(概要)
本実施形態では、検査対象画像の異常に関する判定に係る技術を開示する。検査対象画像には、物品が写されている。つまり、検査対象画像の異常に関する判定は、物品の異常に関する判定に相当する。物品の異常は、例えば、物品の外観の異常である。
【0013】
本実施形態の生成方法は、正常部分空間を生成する方法である。正常部分空間は、正常な検査対象画像を表すモデルである。つまり、正常部分空間は、正常な物品を表すモデルである。より詳細には、正常部分空間は、正常な検査対象画像(物品)がどのような特徴量を有するかを表す。異常判定方法においては、正常部分空間を用いて、検査対象画像の特徴量を評価して、検査対象画像の異常に関する判定を行う。
【0014】
図1に示すように、本実施形態の生成方法は、検査対象画像の異常に関する判定に用いられる正常部分空間を、複数の学習用画像に基づいて生成する生成方法である。複数の学習用画像は、正常画像と異常画像とを含む。生成方法は、抽出処理(ステップST1、ST2、ST3)と、削減処理(ステップST5)と、補正処理(ステップST6)と、近傍処理(ステップST6)と、を有する。抽出処理では、畳み込みニューラルネットワークを用いて正常画像及び異常画像の各々から特徴量を抽出する。削減処理では、正常画像の特徴量を正常画像の特徴量が分布する正常部分空間に射影することで、特徴量の次元数を削減する。補正処理では、正常部分空間を異常画像の特徴量から遠ざけるように正常部分空間を補正する。近傍処理では、近傍特徴量に基づいて、正常部分空間を補正する。近傍特徴量は、正常画像の特徴量から正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である。
【0015】
本実施形態によれば、生成方法により生成された正常部分空間を用いることで、検査対象画像の異常に関する判定の精度を上げることができる。
【0016】
また、生成方法は、生成システム1(図2参照)により実現可能である。図2に示すように、生成システム1は、検査対象画像の異常に関する判定に用いられる正常部分空間を、複数の学習用画像に基づいて生成する。複数の学習用画像は、正常画像と異常画像とを含む。生成システム1は、抽出部21と、削減部22と、補正部23と、近傍処理部24と、を備える。抽出部21は、畳み込みニューラルネットワークを用いて正常画像及び異常画像の各々から特徴量を抽出する。削減部22は、正常画像の特徴量を正常画像の特徴量が分布する正常部分空間に射影することで、特徴量の次元数を削減する。補正部23は、正常部分空間を異常画像の特徴量から遠ざけるように正常部分空間を補正する。近傍処理部24は、近傍特徴量に基づいて、正常部分空間を補正する。近傍特徴量は、正常画像の特徴量から正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である。
【0017】
また、異常判定方法では、後述するように、検査対象画像の特徴量に含まれる特徴ベクトルを、正常部分空間を表す行列及び上記行列の転置行列を用いて写像し、写像された特徴ベクトルと、写像されていない検査対象画像の特徴ベクトルと、の差の大きさに基づいて、検査対象画像の異常度を求める。
【0018】
また、生成方法及び異常判定方法は、プログラムにより実現可能である。すなわち、一態様に係るプログラムは、生成方法、及び、異常判定方法のうち少なくとも一方を、1以上のプロセッサに実行させるためのプログラムである。プログラムは、コンピュータで読み取り可能な非一時的記録媒体に記録されていてもよい。
【0019】
(詳細)
(1)構成
生成システム1は、1以上のプロセッサ及びメモリを有するコンピュータシステムを含んでいる。コンピュータシステムのメモリに記録されたプログラムを、コンピュータシステムのプロセッサが実行することにより、生成システム1の少なくとも一部の機能が実現される。プログラムは、メモリに記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。また、生成システム1は、上述の異常判定方法を実現する異常判定システムとしての機能を有する。
【0020】
図2に示すように、生成システム1は、処理部2と、通信部11と、記憶部12と、を備える。処理部2は、上述の1以上のプロセッサを含む。処理部2は、抽出部21と、削減部22と、補正部23と、近傍処理部24と、判定部25と、を有する。なお、抽出部21、削減部22、補正部23、近傍処理部24、及び、判定部25は、処理部2によって実現される機能を示しているに過ぎず、必ずしも実体のある構成を示しているわけではない。
【0021】
生成システム1は、撮像装置3で撮像された検査対象画像を取得する。撮像装置3は、例えば、物品の検査ラインに設置される。撮像装置3は、例えばCCD(Charge Coupled Devices)イメージセンサ、又はCMOS(Complementary Metal-Oxide Semiconductor)イメージセンサ等の二次元イメージセンサである。検査対象画像は、白黒画像であってもよいし、カラー画像であってもよい。また、検査対象画像は、可視光により撮像した画像であってもよいし、非可視光又は超音波等により撮像した画像であってもよい。
【0022】
通信部11は、通信インタフェース装置を含んでいる。通信部11は、通信インタフェース装置を介して、ネットワークに接続可能である。また、通信部11は、通信インタフェース装置を介して、撮像装置3と通信可能である。本開示でいう「通信可能」とは、有線通信又は無線通信の適宜の通信方式により、直接的、又はネットワーク若しくは中継器等を介して間接的に、信号を授受できることを意味する。通信部11は、例えば、ネットワークを介して、複数の学習用画像を取得する。複数の学習用画像として、例えば、公開データセットを用いてもよいし、本実施形態の生成方法を実施する者が自前で複数の学習用画像を用意してもよい。
【0023】
複数の学習用画像は、正常画像と、異常画像と、を含む。より詳細には、複数の学習用画像は、複数の正常画像と、1以上(本実施形態では複数)の異常画像と、を含む。正常画像は、異常の無い物品を撮像した画像である。異常画像は、異常がある物品を撮像した画像である。異常画像は、例えば、傷、欠け又は汚れ等がある物品を撮像した画像である。正常画像には、「正常」であることを表すラベルが付されており、異常画像には、「異常」であることを表すラベルが付されている。
【0024】
一般に、製品(物品)の製造工程では、異常がある不良品よりも、異常が無い良品の方が多く生じる。よって、得られる正常画像の枚数と比較して、得られる異常画像の枚数は少ない場合が多い。そこで、以下では、正常画像の枚数は、異常画像の枚数よりも多いと仮定して説明する。ただし、正常画像の枚数が異常画像の枚数以下であっても、本実施形態の生成方法は成り立つ。
【0025】
記憶部12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)又はEEPROM(Electrically Erasable Programmable Read Only Memory)等である。記憶部12は、生成システム1で用いられる情報を記憶する。記憶部12が記憶する情報は、例えば、複数の学習用画像、検査対象画像、及び、処理部2で実行されるプログラム等である。処理部2で実行されるプログラムは、例えば、後述の学習済み畳み込みニューラルネットワークを実現するプログラムを含む。
【0026】
処理部2の抽出部21、削減部22、補正部23及び近傍処理部24の機能については、上述の通りである。また、判定部25は、正常部分空間を用いて検査対象画像の特徴量を評価することで、検査対象画像の異常に関する判定を行う。このように、判定部25により、異常判定システムとしての機能が実現される。
【0027】
(2)処理の詳細
以下、図1等を参照して、複数の学習用画像に基づいて正常部分空間を生成するプロセスについて詳細に説明する。なお、図1に示すフローチャートは、本開示に係る生成方法の一例に過ぎず、処理の順序が適宜変更されてもよいし、処理が適宜追加又は省略されてもよい。
【0028】
(2.1)特徴量の抽出
抽出部21には、複数の学習用画像が入力される。抽出部21は、複数の学習用画像の各々から、特徴量を抽出する。ここでは、抽出部21に学習用画像が1つずつ入力され、入力された学習用画像から順に特徴量が抽出されると仮定して説明する。もちろん、複数の学習用画像に対して並列に処理がなされて、それぞれの学習用画像から特徴量が抽出されてもよい。なお、学習用画像の種類としては、正常画像と、異常画像と、があり、正常画像と異常画像とのいずれからも、特徴量が抽出される。また、検査対象画像を判定する際には、学習用画像から特徴量を抽出する際と同様にして、検査対象画像から特徴量が抽出される。
【0029】
特徴量を抽出する処理である抽出処理では、自然画像データセットを用いて学習した学習済み畳み込みニューラルネットワークを用いて、学習用画像から特徴量を抽出する。自然画像データセットとしては、例えば、ImageNet等の公開データセットを用いることができる。
【0030】
抽出処理は、学習用画像から複数の特徴マップを生成する処理(ステップST2)と、複数の特徴マップをアップサンプリングして、チャンネル方向に結合する処理(ステップST3)と、を含む。生成システム1は、このように結合された情報を、学習用画像の特徴量として扱う。抽出処理は、抽出部21により実現される。
【0031】
抽出部21には、学習用画像が1つずつ入力される(ステップST1)。抽出部21は、1つの学習用画像から複数の特徴マップを生成する(ステップST2)。より詳細には、抽出部21は、学習済み畳み込みニューラルネットワークを用いて、複数の特徴マップを生成する。各特徴マップは、縦と横との情報(2次元空間座標)と、各座標における値(特徴マップの各座標の特徴量)と、を有する。なお、「縦」及び「横」は、学習用画像の複数の画素が並んでいる2つの方向(上下及び左右)に相当する。
【0032】
畳み込みニューラルネットワークの複数の畳み込み層の各々では、複数のサイズのカーネルを用いて学習用画像がフィルタされ、複数の特徴マップが生成される。そのため、ある特徴マップの解像度は、別のある特徴マップの解像度とは異なり得る。1つの学習用画像から、様々な解像度の特徴マップが生成される。
【0033】
畳み込みニューラルネットワークの中間層は、複数の畳み込み層に加えて、複数のプーリング層を含んでいてもよい。
【0034】
抽出部21は、複数の特徴マップを、複数の特徴マップのうち解像度が最も高い特徴マップの解像度に合わせてアップサンプリングする(ステップST3)。これにより、抽出部21は、複数の特徴マップの空間解像度を揃える。その後、抽出部21は、複数の特徴マップをチャンネル方向に結合し、結合されて生成された3次元テンソルを、特徴量とする。特徴マップの1つのマスごとに、1つの特徴量が生成される。
【0035】
このように、抽出処理では、畳み込みニューラルネットワークの中間層から得られる、複数種類の解像度の複数の特徴マップの結合を、特徴量とする。特徴量は、縦及び横の成分を含む2次元空間座標と、2次元空間座標における特徴ベクトルと、を有する3次元テンソルである。
【0036】
上述のステップST1~ST3を、全ての学習用画像に対して実行することで(ステップST4参照)、全ての学習用画像に対応した特徴量を抽出する。
【0037】
図3に、複数の特徴マップ、及び、複数の特徴量を図式的に示す。図3下欄では、3つの特徴マップ41、42、43がアップサンプリングされた後に結合されて、複数の特徴量44となっている。特徴マップ41、42、43はそれぞれ、横方向(幅W1の方向)及び縦方向(高さH1の方向)にマトリックス状に並んだ複数のマスの各々に、数値を有している。特徴マップ41、42、43のうち解像度が最も高い特徴マップ41に合わせて、アップサンプリングが行われ、アップサンプリングされた後の特徴マップ41、42、43が、チャンネル方向に結合されて、複数の特徴量44となる。つまり、解像度が最も高い特徴マップ41のマスの個数と同数(図3では64個)の特徴量44が抽出される。複数の特徴量44は、複数のマスと一対一で対応する。各特徴量44は、対応するマスの数値の組み合わせ(特徴ベクトル)を有する。例えば、図3では、複数の特徴量44のうち特徴量441は、(100,300,400)という特徴ベクトルを有する。
【0038】
以下、特徴マップのi行目j列目のマスに対応する特徴量を、G(i,j)と表記する。例えば、図3下欄ではアップサンプリングされた後の特徴マップのマスの行数及び列数はそれぞれ8なので、i=1,2,3,…,8であり、j=1,2,3,…,8である。
【0039】
各i,jの組み合わせ(つまり、1つのマス)に対して、1つの学習用画像からは、1つのG(i,j)が抽出される。例えば、i=1, j=1の組み合わせに対して、1つの学習用画像からは、1つのG(1,1)が抽出される。N個の学習用画像からは、N個のG(i,j)が抽出される。また、1つの正常画像のG(i,j)につき、複数の近傍特徴量が決定される。正常画像の特徴量に対して縦、横又は斜めに隣り合うマスの特徴量が、近傍特徴量として決定される。
【0040】
G(i,j)に対応する近傍特徴量は、G(i-1,j-1),G(i,j-1),G(i+1,j-1),G(i-1,j),G(i+1,j),G(i-1,j+1),G(i,j+1),G(i+1,j+1)の、計8個である。例えば、図3の特徴量441に対する近傍特徴量は、網掛けが付されている8個のマスに対応する8個の特徴量である。ただし、一部の近傍特徴量が存在しない場合は、近傍特徴量の個数は8個よりも少ない。つまり、端のマスの特徴量に対応する近傍特徴量の個数は8個よりも少ない。
【0041】
本実施形態では、1つの特徴量に対する近傍特徴量の個数の上限は8個であるが、更に多くの近傍特徴量が存在してもよい。例えば、上記の8個の近傍特徴量の周りのマスに対応する複数の特徴量がそれぞれ、近傍特徴量とされてもよい。
【0042】
このように、近傍処理では、縦及び横に相当する2次元座標平面において、正常画像の特徴量に対応する座標(マス)を囲む複数の座標における特徴量を、近傍特徴量とする。近傍処理は、近傍処理部24により実現される。本実施形態では、正常画像の特徴量に対応するマスを1重に囲む複数のマスにおける特徴量のみが、近傍特徴量として決定される。ただし、正常画像の特徴量に対応するマスを2重以上に囲む複数のマスにおける特徴量が、近傍特徴量として決定されてもよい。つまり、上述のように、特徴量に隣り合う8個の近傍特徴量の周りのマスに対応する複数の特徴量がそれぞれ、近傍特徴量とされてもよい。
【0043】
後の説明のために、特徴量を抽出する処理を、以下に数式で表す。正常画像に対して、学習済みモデルFを用いてL個の異なる解像度を持つ特徴マップ群を出力する。n番目のデータに着目すると、特徴マップ群を出力する処理は、[数1]で表される。
【0044】
【数1】
【0045】
ここで、X+ (n)∈RH×W×Cは、n番目の正常画像であり、高さH、幅W、チャネル数Cである。Rは実数集合を表す。
【0046】
[数1]で出力された特徴マップ群をその中の最大の空間解像度にバイリニア補間を用いてリサイズし解像度を揃えたうえで、チャネル方向に結合する。そのような演算をfとすると、[数2]で表せる。X’+∈RN+×H×W×Cは、全ての正常画像に対して、Fとfを用いて抽出された特徴マップである。
【0047】
【数2】
【0048】
同様の処理を異常画像に対しても行う。すなわち、X_(n)∈RH×W×Cを、n番目の異常画像であり、高さH、幅W、チャネル数Cとすると、正常画像の[数1]、[数2]の処理は、異常画像では[数3]、[数4]で表される。X’_∈RN_×H×W×Cは、全ての異常画像に対して、Fとfを用いて抽出された特徴マップである。M(n)は異常画像のどこに欠陥があるかを示す2値マップであり、異常部分が1、正常部分が0である。また、M(n)は抽出される特徴マップと同じ空間解像度を有する。
【0049】
【数3】
【0050】
【数4】
【0051】
さらに、2値マップの座標ごとの異常数合計を示すマップN∈RH×Wを[数5]で算出する。Nは異常画像のサンプル数である。
【0052】
【数5】
【0053】
(2.2)正常部分空間への射影
次に、削減部22は、抽出部21で抽出された正常画像の特徴量を正常部分空間に射影する(ステップST5)。より詳細には、削減部22は、行列計算により正常画像に対応する正常部分空間を求め、正常画像の特徴量を正常部分空間に射影する。正常部分空間は、r次元ベクトル空間の部分空間である。rは、特徴量の特徴ベクトルの次元数よりも小さい。つまり、正常画像の特徴量は、正常部分空間に射影されることにより、より低次の量となる。
【0054】
特徴マップのマスごとに、正常部分空間が求められる。例えば、図3ではアップサンプリングされた後の特徴マップのマスの個数は64個であるから、64通りの正常部分空間が求められる。
【0055】
図4に、所定の1つのマスに対応するr次元ベクトル空間の一例を示す。複数の点51の各々は、複数の正常画像のうちいずれか1つの画像の特徴量を表す。複数の点52の各々は、近傍特徴量を表す。複数の点53の各々は、複数の異常画像のうちいずれか1つの画像の特徴量を表す。全ての正常画像の特徴量に基づいて、正常部分空間が求められ、全ての正常画像に対応した複数の点51が正常部分空間に射影される。
【0056】
r次元部分空間を張るC次元正規直交ベクトルをu1,u2,……,urとし、それらを並べたC×rの行列(部分等長行列)をU = (u1|u2|……|ur)とする。ここで、C次元ベクトル空間は、特徴ベクトルの分布する空間である。また、U TU=I である。
r次元ベクトル空間(r次元実数ベクトル空間)上の全てのベクトルの集合Rr中のベクトルx~の座標は、c= U Tx = (u T 1x|u T 2x|……|u T rx)T
C次元ベクトル空間(C次元実数ベクトル空間)上の全てのベクトルの集合R中のベクトルx~の座標は、x=Uc = UU Tx
このように、特徴量を正常部分空間に射影して特徴量の次元数を削減する削減処理では、特徴ベクトルに関する行列計算により、正常画像の特徴量を正常部分空間に射影する。削減処理は、削減部22により実現される。
【0057】
また、生成方法は、上記行列計算のパラメータを学習するパラメータ学習処理を更に有する。パラメータ学習処理では、正常画像の特徴量を正常部分空間に射影する際のノルム(射影長)が最大になるように学習する。また、パラメータ学習処理では、異常画像の特徴量を正常部分空間に射影する際のノルムが最小になるように学習する。さらに、パラメータ学習処理では、近傍特徴量を正常部分空間に射影する際のノルムが最大になるように学習することが好ましい。
【0058】
畳み込みニューラルネットワークを用いた正常部分空間の生成において、標準的な部分空間法では、複数の正常画像のみに基づいて正常部分空間が生成される。つまり、標準的な部分空間法では、r次元ベクトル空間において複数の正常画像に対応する複数の点51が分布する部分空間501(図4参照)が、正常部分空間として求められる。
【0059】
これに対して、本実施形態では、正常部分空間の生成において、ISM(Improved Subspace Method)を用いる。ISMについては、参考文献として、F. Ebuchi, A. Suzuki, and M. Murakawa, “ImprovedSubspace Method for Supervised Anomaly Detection with Minimal Anomalous Data.,” The International Conference on Pattern Recognition Applicationsand Methods (ICPRAM), pp.151-158, 2020. を参照されたい。
【0060】
ISMでは、標準的な部分空間法で求められる正常部分空間を、異常画像の特徴量から遠ざけるように補正する(ステップST6)。つまり、ISMにおける正常部分空間は、部分空間501をシフトした部分空間502(図4参照)となる。補正は具体的には、以下で説明する式により行われる。
【0061】
正常部分空間を補正する補正処理は、正常部分空間を求める処理と一体的に行われる。つまり、補正前の正常部分空間が求められることなく、補正後の正常部分空間が直接求められる。
【0062】
座標(i,j)に着目すると、ISMでは、正常部分空間を表す行列U i, jは、[数6]を解くことにより求められる。
【0063】
【数6】
【0064】
ここで,X’+i, jは正常画像の特徴マップの座標(i, j)の特徴ベクトルをN+個並べた行列である。X’_i, jは異常画像の特徴マップの座標(i, j)の特徴ベクトルをN個並べた行列である。N+は正常画像のサンプル数、N Mi,jは2値マップの座標ごとの異常数合計を示すマップである。αは異常画像の補正を考慮するハイパーパラメータである。また、Vi, jは座標(i,j)における固有ベクトルを並べた行列である。Λi, jは対角成分が座標(i,j)における固有値である対角行列である。Vi, jを寄与率の大きい順にソートしV’i, jとし、上位r個のベクトルを抽出することで、正常部分空間を表す行列U i, j = (V’i, j (1),…, V’i, j (r))∈Rr×cを生成する。
【0065】
ここで、本実施形態では、近傍特徴量を考慮して、[数6]を改良した式を用いる。つまり、近傍特徴量に基づいて正常部分空間を補正する近傍処理を行う(ステップST6)。対象のマスの特徴ベクトルとその近傍のマスの特徴ベクトルとは、類似しているはずである。そのため、近傍のマスの情報(近傍特徴量)も考慮した正常部分空間を生成する。近傍のマスのウィンドウサイズをk×kとすると、座標(i,j)における近傍特徴を用いた正則化項Ωi, jは、[数7]、[数8]で算出される。Kは、近傍の座標を定義するための整数値の集合である。
【0066】
【数7】
【0067】
【数8】
【0068】
正則化項Ωi, jにハイパーパラメータβを乗じた項を、[数6]に足し合わせた関数を、目的関数とする。つまり、座標(i,j)における正常モデル(正常部分空間)の固有値問題である、次の[数9]を解くことで、正常部分空間を表す行列U i, jを生成する。
【0069】
【数9】
【0070】
Vi, jを寄与率の大きい順にソートしV’i, jとし、上位r個のベクトルを抽出することで、正常部分空間を表す行列U i, j = (V’i, j (1),…, V’i, j (r))∈Rr×cを生成する。これを特徴マップの全座標に対して繰り返すことで,座標ごとの正常モデルを学習する。
【0071】
結局、正常部分空間を表す行列U i, jは、正常画像の特徴量が分布する部分空間を、近傍特徴量と異常画像の特徴量とに基づいて補正した部分空間である。
【0072】
正常部分空間を求める[数9]の括弧内第3項(βΩi, j)により、正常画像の特徴量だけではなく近傍特徴量も正常部分空間に分布するように、正常部分空間が求められる。ただし、正常部分空間を求める処理において、近傍特徴量の重みは、正常画像の特徴量の重みとは異なることが好ましい。つまり、近傍処理では、近傍特徴量に対し重み付けをすることが好ましい。ハイパーパラメータβにより、近傍特徴量が重み付けされている。近傍特徴量の重みは、正常画像の特徴量の重みよりも小さいことが好ましい。つまり、ハイパーパラメータβは、0より大きく1未満であることが好ましい。
【0073】
(3)異常度の算出
次に、検査対象画像の異常に関する判定の詳細を説明する。
【0074】
まず、学習用画像から特徴量を抽出する場合と同様にして、検査対象画像から特徴量を抽出する。
【0075】
検査対象画像から抽出された特徴量X~に対して、[数9]により求められたUを用いてX~の座標(マス)ごとに異常度を算出する。座標(マス)ごとの異常度は、次のように求められる。すなわち、座標(i, j)における異常度は、[数10]で表すことができる。
【0076】
【数10】
【0077】
検査対象画像の異常度(つまり、検査対象画像全体の異常度)は[数11]で求められる。
【0078】
【数11】
【0079】
このように、本実施形態の異常判定方法は、生成方法で生成された正常部分空間を用いて、検査対象画像の異常に関する判定を行う異常判定方法であり、異常判定処理を有する。異常判定処理では、縦及び横に相当する2次元座標平面上の各座標における検査対象画像の特徴ベクトルを、正常部分空間を表す行列及び上記行列の転置行列を用いて写像する。さらに、写像された特徴ベクトルと、写像されていない検査対象画像の特徴ベクトルと、の差の大きさに基づいて、検査対象画像の座標ごとの異常度を求める([数10]参照)。
【0080】
また、異常判定処理では、検査対象画像の座標ごとの異常度の最大値を、検査対象画像の異常度(つまり、検査対象画像全体の異常度)とする([数11]参照)。
【0081】
さらに、異常判定処理では、異常度を閾値と比較することにより、異常の有無を判定する。例えば、異常判定処理では、[数11]により求められた検査対象画像の異常度を、閾値と比較する。異常度が閾値以上であると、検査対象画像が異常であると判定され、異常度が閾値未満であると、検査対象画像が異常ではないと判定される。
【0082】
また、例えば、異常判定処理では、[数10]により求められた座標(マス)ごとの異常度を閾値と比較してもよい。異常度が閾値以上であると、当該座標(マス)に異常があると判定され、異常度が閾値未満であると、座標(マス)に異常はないと判定される。このように、異常判定処理では、座標(マス)ごとに、異常に関する判定を行うことができる。
【0083】
なお、ある座標(マス)と別の座標(マス)とで、異常に関する判定に用いられる閾値が異なっていてもよい。
【0084】
以上説明したように、本実施形態によれば、近傍特徴量を考慮して正常部分空間を生成することができる。このようにして生成された正常部分空間を用いて検査対象画像の異常に関する判定を行うことで、判定の精度を上げることができる。
【0085】
また、異常画像に対する処理を正常画像に対する処理とは異ならせているため、異常画像を正常画像と同様に扱って正常部分空間を生成する場合と比較して、判定の精度が低下する可能性を低減できる。
【0086】
(実施形態の変形例)
以下、実施形態の変形例を列挙する。以下の変形例は、適宜組み合わせて実現されてもよい。
【0087】
本開示における生成システム1は、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示における生成システム1としての機能の少なくとも一部が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(IC)又は大規模集積回路(LSI)を含む1ないし複数の電子回路で構成される。ここでいうIC又はLSI等の集積回路は、集積の度合いによって呼び方が異なっており、システムLSI、VLSI(Very Large Scale Integration)、又はULSI(Ultra Large Scale Integration)と呼ばれる集積回路を含む。さらに、LSIの製造後にプログラムされる、FPGA(Field-Programmable Gate Array)、又はLSI内部の接合関係の再構成若しくはLSI内部の回路区画の再構成が可能な論理デバイスについても、プロセッサとして採用することができる。複数の電子回路は、1つのチップに集約されていてもよいし、複数のチップに分散して設けられていてもよい。複数のチップは、1つの装置に集約されていてもよいし、複数の装置に分散して設けられていてもよい。ここでいうコンピュータシステムは、1以上のプロセッサ及び1以上のメモリを有するマイクロコントローラを含む。したがって、マイクロコントローラについても、半導体集積回路又は大規模集積回路を含む1ないし複数の電子回路で構成される。
【0088】
また、生成システム1における複数の機能が、1つの装置に集約されていることは生成システム1に必須の構成ではなく、生成システム1の構成要素は、複数の装置に分散して設けられていてもよい。さらに、生成システム1の少なくとも一部の機能、例えば、抽出部21の一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
【0089】
反対に、実施形態において、複数の装置に分散されている複数の機能が、1つの装置に集約されていてもよい。例えば、撮像装置3と生成システム1とに分散されている複数の機能が、1つの装置に集約されていてもよい。
【0090】
生成方法にて用いられる学習済みモデルは、追加の学習を行うことで更新されてもよい。
【0091】
1つの特徴量に対応する近傍特徴量の個数は、1つ以上であればよい。
【0092】
本開示での2値の比較において、「以上」としているところは、2値が等しい場合、及び2値の一方が他方を超えている場合との両方を含む。ただし、これに限らず、ここでいう「以上」は、2値の一方が他方を超えている場合のみを含む「より大きい」と同義であってもよい。つまり、2値が等しい場合を含むか否かは、基準値等の設定次第で任意に変更できるので、「以上」か「より大きい」かに技術上の差異はない。同様に、「以下」においても「未満」と同義であってもよい。
【0093】
(まとめ)
以上説明した実施形態等から、以下の態様が開示されている。
【0094】
第1の態様に係る生成方法は、検査対象画像の異常に関する判定に用いられる正常部分空間を、複数の学習用画像に基づいて生成する生成方法である。複数の学習用画像は、正常画像と異常画像とを含む。生成方法は、抽出処理と、削減処理と、補正処理と、近傍処理と、を有する。抽出処理では、畳み込みニューラルネットワークを用いて正常画像及び異常画像の各々から特徴量を抽出する。削減処理では、正常画像の特徴量を正常画像の特徴量が分布する正常部分空間に射影することで、特徴量の次元数を削減する。補正処理では、正常部分空間を異常画像の特徴量から遠ざけるように正常部分空間を補正する。近傍処理では、近傍特徴量に基づいて、正常部分空間を補正する。近傍特徴量は、正常画像の特徴量から正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である。
【0095】
上記の構成によれば、生成方法により生成された正常部分空間を用いることで、検査対象画像の異常に関する判定の精度を上げることができる。
【0096】
また、第2の態様に係る生成方法では、第1の態様において、抽出処理では、自然画像データセットを用いて学習した学習済み畳み込みニューラルネットワークを、畳み込みニューラルネットワークとして用いる。
【0097】
上記の構成によれば、畳み込みニューラルネットワークを容易に調達できる。
【0098】
また、第3の態様に係る生成方法では、第1又は2の態様において、抽出処理では、畳み込みニューラルネットワークの中間層から得られる、複数種類の解像度の複数の特徴マップの結合を、特徴量とする。特徴量は、縦及び横の成分を含む2次元空間座標と、2次元空間座標における特徴ベクトルと、を有する3次元テンソルである。
【0099】
上記の構成によれば、特徴量に関する処理が容易である。
【0100】
また、第4の態様に係る生成方法では、第3の態様において、削減処理では、特徴ベクトルに関する行列計算により、正常画像の特徴量を正常部分空間に射影する。
【0101】
上記の構成によれば、簡易な処理により、正常画像の特徴量を正常部分空間に射影することができる。
【0102】
また、第5の態様に係る生成方法は、第4の態様において、行列計算のパラメータを学習するパラメータ学習処理を更に有する。パラメータ学習処理では、正常画像の特徴量を正常部分空間に射影する際のノルムが最大になるように学習する。パラメータ学習処理では、異常画像の特徴量を正常部分空間に射影する際のノルムが最小になるように学習する。
【0103】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0104】
また、第6の態様に係る生成方法では、第5の態様において、パラメータ学習処理では、近傍特徴量を正常部分空間に射影する際のノルムが最大になるように学習する。
【0105】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0106】
また、第7の態様に係る生成方法では、第1~6の態様のいずれか1つにおいて、近傍処理では、縦及び横に相当する2次元座標平面において、正常画像の特徴量に対応する座標を囲む複数の座標における特徴量を、近傍特徴量とする。
【0107】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0108】
また、第8の態様に係る生成方法では、第1~7の態様のいずれか1つにおいて、近傍処理では、近傍特徴量に対し重み付けをする。
【0109】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0110】
第1の態様以外の構成については、生成方法に必須の構成ではなく、適宜省略可能である。
【0111】
また、第9の態様に係る異常判定方法では、第1~8の態様のいずれか1つに係る生成方法で生成された正常部分空間を用いて、検査対象画像の異常に関する判定を行う異常判定方法である。異常判定方法は、異常判定処理を有する、異常判定処理では、縦及び横に相当する2次元座標平面上の各座標における検査対象画像の特徴ベクトルを、正常部分空間を表す行列及び上記行列の転置行列を用いて写像する。また、異常判定処理では、写像された特徴ベクトルと、写像されていない検査対象画像の特徴ベクトルと、の差の大きさに基づいて、検査対象画像の座標ごとの異常度を求める。
【0112】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0113】
また、第10の態様に係る異常判定方法では、第9の態様において、異常判定処理では、検査対象画像の座標ごとの異常度の最大値を、検査対象画像の異常度とする。
【0114】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0115】
第9の態様以外の構成については、生成方法に必須の構成ではなく、適宜省略可能である。
【0116】
また、第11の態様に係るプログラムは、第1~8の態様のいずれか1つに係る生成方法、及び、第9又は10の態様に係る異常判定方法のうち少なくとも一方を、1以上のプロセッサに実行させるためのプログラムである。
【0117】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0118】
また、第12の態様に係る生成システム(1)は、検査対象画像の異常に関する判定に用いられる正常部分空間を、複数の学習用画像に基づいて生成する。複数の学習用画像は、正常画像と異常画像とを含む。生成システムは、抽出部(21)と、削減部(22)と、補正部(23)と、近傍処理部(24)と、を備える。抽出部(21)は、畳み込みニューラルネットワークを用いて正常画像及び異常画像の各々から特徴量を抽出する。削減部(22)は、正常画像の特徴量を正常画像の特徴量が分布する正常部分空間に射影することで、特徴量の次元数を削減する。補正部(23)は、正常部分空間を異常画像の特徴量から遠ざけるように正常部分空間を補正する。近傍処理部(24)は、近傍特徴量に基づいて、正常部分空間を補正する。近傍特徴量は、正常画像の特徴量から正常画像における縦及び横のうち少なくとも一方の座標をシフトした座標における特徴量である。
【0119】
上記の構成によれば、検査対象画像の異常に関する判定の精度を上げることができる。
【0120】
上記態様に限らず、実施形態に係る生成システム(1)の種々の構成(変形例を含む)は、生成方法、(コンピュータ)プログラム、又はプログラムを記録した非一時的記録媒体にて具現化可能である。
【符号の説明】
【0121】
1 生成システム
21 抽出部
22 削減部
23 補正部
24 近傍処理部
図1
図2
図3
図4