JP2023128693A - 情報処理装置、解析プログラム、および解析方法 - Google Patents

情報処理装置、解析プログラム、および解析方法 Download PDF

Info

Publication number
JP2023128693A
JP2023128693A JP2022033227A JP2022033227A JP2023128693A JP 2023128693 A JP2023128693 A JP 2023128693A JP 2022033227 A JP2022033227 A JP 2022033227A JP 2022033227 A JP2022033227 A JP 2022033227A JP 2023128693 A JP2023128693 A JP 2023128693A
Authority
JP
Japan
Prior art keywords
map
abnormality
activation
image
value
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.)
Pending
Application number
JP2022033227A
Other languages
English (en)
Inventor
貴一 奥野
Kiichi OKUNO
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2022033227A priority Critical patent/JP2023128693A/ja
Publication of JP2023128693A publication Critical patent/JP2023128693A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】異常箇所および異常の種類を高精度に検出可能な情報処理装置を提供する。【解決手段】教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出する算出部と、画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、異常種類を推定する推定部と、異常マップと異常種類とを対応付けて出力する出力部と、を含む情報処理装置。【選択図】図12

Description

本発明は、情報処理装置、解析プログラム、および解析方法に関する。
工業製品の生産現場等においては、検査対象の製品の画像を解析することにより、当該製品の欠陥を検出することで不良品の選別がされている。
下記特許文献1には次の技術が開示されている。検査対象を含む画像から複数の特徴量を抽出し、抽出した特徴量に基づいて検査対象物の異常度を判定する。当該画像から特徴量それぞれのスコアを表す複数のスコアマップを生成する。そして、判定された異常度に対する特徴量それぞれの寄与度に基づいて、当該複数のスコアマップを統合することにより、当該検査対象物が異常であると判定された根拠となる欠陥を表す欠陥表示画像を生成して出力する。
特開2016-114592号公報
しかし、特許文献1に開示された技術は、異常と判断した根拠となる箇所を可視化すことはできるが、異常箇所を検出する技術ではないため、異常箇所の検出精度が低くなる可能性があるという問題がある。また、異常種類の検出ができないという問題がある。
本発明はこのような問題を解決するためになされたものであり、異常箇所および異常の種類を高精度に検出可能な情報処理装置、解析プログラム、および解析方法を提供することを目的とする。
本発明の上記課題は、以下の手段によって解決される。
(1)教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出する算出部と、画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、異常種類を推定する推定部と、前記異常マップと、推定された前記異常種類とを対応付けて出力する出力部と、を有する情報処理装置。
(2)前記算出部は、前記画像と前記画像から再構成した再構成画像との差分に基づいて、異常スコアマップを算出する異常スコアマップ算出部と、前記推定部により推定された前記異常種類のアクティベーションマップを算出するアクティベーションマップ算出部と、前記異常スコアマップと、前記アクティベーションマップとに基づいて、前記異常マップを算出する異常マップ算出部と、を有する上記(1)に記載の情報処理装置。
(3)前記異常マップ算出部は、前記異常スコアマップと、前記アクティベーションマップとを乗算することで、前記異常マップを算出する、上記(2)に記載の情報処理装置。
(4)前記異常マップ算出部は、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方で所定の第1閾値以上の値をもつ特定ピクセルの値を1とし、前記特定ピクセル以外のピクセルの値を0とすることで、前記異常マップを算出する、上記(2)に記載の情報処理装置。
(5)前記異常マップ算出部は、前記異常マップを算出する前に、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行う、上記(2)に記載の情報処理装置。
(6)前記異常マップ算出部は、前記異常スコアマップと、前記アクティベーションマップとを加算することで、前記異常マップを算出する、上記(2)に記載の情報処理装置。
(7)教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出するステップ(a)と、画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、異常種類を推定するステップ(b)と、算出された前記異常マップと、推定された前記異常種類とを対応付けて出力するステップ(c)と、を有する処理をコンピューターに実行させるための解析プログラム。
(8)前記ステップ(a)は、前記画像と前記画像から再構成した再構成画像との差分に基づいて、異常スコアマップを算出するステップ(a1)と、前記ステップ(b)において推定された前記異常種類のアクティベーションマップを算出するステップ(a2)と、前記異常スコアマップと、前記アクティベーションマップとに基づいて、前記異常マップを算出するステップ(a3)と、を有する上記(7)に記載の解析プログラム。
(9)前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを乗算することで、前記異常マップを算出する、上記(8)に記載の解析プログラム。
(10)前記ステップ(a3)においては、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方で所定の第1閾値以上の値をもつ特定ピクセルの値を1とし、前記特定ピクセル以外のピクセルの値を0とすることで、前記異常マップを算出する、上記(8)に記載の解析プログラム。
(11)前記ステップ(a3)においては、前記異常マップを算出する前に、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行う、上記(8)に記載の解析プログラム。
(12)前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを加算することで、前記異常マップを算出する、上記(8)に記載の解析プログラム。
(13)教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出するステップ(a)と、画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、異常種類を推定するステップ(b)と、算出された前記異常マップと、推定された前記異常種類とを対応付けて出力するステップ(c)と、を有する解析方法。
(14)前記ステップ(a)は、前記画像と前記画像から再構成した再構成画像との差分に基づいて、異常スコアマップを算出するステップ(a1)と、前記ステップ(b)において推定された前記異常種類のアクティベーションマップを算出するステップ(a2)と、前記異常スコアマップと、前記アクティベーションマップとに基づいて、前記異常マップを算出するステップ(a3)と、を有する上記(13)に記載の解析方法。
(15)前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを乗算することで、前記異常マップを算出する、上記(14)に記載の解析方法。
(16)前記ステップ(a3)においては、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方で所定の第1閾値以上の値をもつ特定ピクセルの値を1とし、前記特定ピクセル以外のピクセルの値を0とすることで、前記異常マップを算出する、上記(14)に記載の解析方法。
(17)前記ステップ(a3)においては、前記異常マップを算出する前に、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行う、上記(14)に記載の解析方法。
(18)前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを加算することで、前記異常マップを算出する、上記(14)に記載の解析方法。
教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出し、画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、異常種類を推定し、異常マップと異常種類とを対応付けて出力する。これにより、異常箇所および異常の種類を高精度に特定できる。
情報処理システムの概略構成を示す図である。 情報処理装置のハードウェア構成を示すブロック図である。 情報処理装置の制御部の機能を示すブロック図である。 異常スコアマップ算出部の機能について説明するための説明図である。 分類部の機能について説明するための説明図である。 アクティベーションマップ算出部の機能について説明するための説明図である。 異常ヒートマップ算出部の機能について説明するための説明図である。 異常ヒートマップ算出部による、異常スコアマップとアクティベーションマップとの乗算による異常ヒートマップの算出結果の例を示す図である。 異常ヒートマップ算出部による、異常スコアマップとアクティベーションマップとの乗算による異常ヒートマップの算出結果の他の例を示す図である。 異常ヒートマップ算出部による、異常スコアマップとアクティベーションマップとの乗算による異常ヒートマップの算出結果のさらに他の例を示す図である。 異常ヒートマップ算出部による、異常スコアマップとアクティベーションマップとの乗算による異常ヒートマップの算出結果のさらに他の例を示す図である。 情報処理装置の動作を示すフローチャートである。
以下、図面を参照して、本発明の実施形態に係る情報処理装置、解析プログラム、および解析方法について説明する。なお、図面において、同一の要素には同一の符号を付し、重複する説明を省略する。図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。また、ヒートマップ等の図示においては、ピクセルの値(以下、「ピクセル値」と称する)が大きいほど明度を大きく(白色に近く)して図示する場合と、ピクセル値が大きいほど明度を小さく(黒色に近く)して図示する場合がある。
図1は、情報処理システム10の概略構成を示す図である。
情報処理システム10は、情報処理装置100、撮影装置200、および通信ネットワーク300を備える。情報処理装置100は、通信ネットワーク300により撮影装置200と相互に通信可能に接続される。
情報処理装置100は、撮影装置200から受信した、検査対象500の画像が含まれる撮影画像(以下、「検査画像210」と称する)に基づいて、検査画像210を所定の検査クラスに分類することにより、検査対象500を検査する。検査クラスは、異常の種類等の区分けである。検査画像210は画像を構成する。所定の検査クラスは検査対象500の性質に応じて予め設定される。情報処理装置100は、検査画像210に基づいて、ピクセルごとに異常度を示す異常ヒートマップ260(図7参照)を算出し、分類した検査クラスと対応付けて出力する。検査対象500には、工業製品(ボルトや半導体チップ等の部品を含む)が含まれる。検査クラスには、例えば、異常なし、キズ、剥がれ、汚れ等が含まれる。なお、検査画像210が医用画像(レントゲン像等を含む)である場合、検査対象500は、人体、人体の一部、器官等であり得る。この場合、検査クラスには、例えば、異常なし、異常行動、潰瘍(潰瘍あり)、腫瘍(腫瘍あり)等が含まれ得る。以下、説明を簡単にするために、検査対象500は工業製品であり、検査クラスは、「キズ」および「剥がれ」であるものとする。なお、検査は良品と不良品を分類することを主目的とするため、検査クラスには「異常なし」が含まれ得るが、説明を簡単にするために、検査クラスには「異常なし」のクラスは含まれないものとする。
撮影装置200は、例えば近赤外線カメラにより構成され、所定の位置に設置され、当該所定の位置から撮影領域を撮影して検査画像210を出力する。撮影装置200は、LED(Light Emitting Device)により近赤外線を撮影領域に向けて照射し、撮影領域内の物体により反射される近赤外線の反射光をCMOS(Complememtary Metal Oxide Semiconductor)センサーにより受光することで撮影領域を撮影し得る。検査画像210は近赤外線の反射率を各画素とするモノクロ画像であり得る。所定の位置は、検査対象500を撮影可能な位置であれば限定されない。撮影領域は、例えば、製造工場の机上に設定された検査対象500の検査のための配置位置とし得る。撮影装置200は、例えば、15fps~30fpsのフレームレートの、複数の検査画像210(フレーム)からなる動画として撮影領域を撮影してもよい。
通信ネットワーク300には、イーサネット(登録商標)などの有線通信規格によるネットワークインターフェースを使用し得る。通信ネットワーク300には、Bluetooth(登録商標)、IEEE802.11などの無線通信規格によるネットワークインターフェースを使用してもよい。
図2は、情報処理装置100のハードウェア構成を示すブロック図である。情報処理装置100は、制御部110、記憶部120、通信部130、および操作表示部140を含む。これらの構成要素は、バス150を介して相互に接続される。情報処理装置100は、コンピューターにより構成され得る。
制御部110は、CPU(Central Processing Unit)により構成され、プログラムに従って情報処理装置100の各部の制御および演算処理を行う。制御部110の機能の詳細については後述する。
記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、およびフラッシュメモリにより構成され得る。RAMは、制御部110の作業領域として一時的にプログラムやデータを記憶する。ROMは、あらかじめ各種プログラムや各種データを格納する。フラッシュメモリは、オペレーションシステムを含む各種プログラムおよび各種データを格納する。
通信部130は、外部機器と通信するためのインターフェースである。通信には、イーサネット(登録商標)、SATA、PCI Express、USB、IEEE1394などの規格によるネットワークインターフェースが用いられ得る。その他、通信には、Bluetooth(登録商標)、IEEE802.11、4Gなどの無線通信インターフェースが用いられ得る。通信部130は、撮影装置200から検査画像210を受信する。
操作表示部140は、例えば液晶ディスプレイ、タッチパネル、各種キーにより構成される。操作表示部140は、各種操作および入力を受け付けるとともに、各種情報を表示する。
制御部110の機能について説明する。
図3は、情報処理装置100の制御部110の機能を示すブロック図である。制御部110は、プログラムを実行することにより、再構成画像生成部111、異常スコアマップ算出部112、特徴マップ生成部113、分類部114、アクティベーションマップ算出部115、および異常ヒートマップ算出部116として機能する。異常ヒートマップ算出部116は推定部、出力部、および異常マップ算出部を構成する。
再構成画像生成部111は、検査画像210を再構成することにより再構成画像220を生成する。具体的には、再構成画像生成部111は、例えば、良品(異常なし)の画像を教師データとして学習されたオートエンコーダーにより構成され得る。これにより、再構成画像生成部111は良品の画像の特徴を学習することで、検査画像210から良品の画像(より詳細には、良品の特徴を備えた画像)を再構成することで再構成画像220を生成する。
異常スコアマップ算出部112は、検査画像210と再構成画像220との差分に基づいて異常スコアマップ230を算出する。異常スコアマップ230は、検査画像210と再構成画像220とのピクセルごとの差分値を各ピクセル値とするマップであり得る。異常スコアマップ230は、検査画像と再構成画像とのピクセルごとの差分値の最大値で各ピクセル値を除算した値を各ピクセル値とするマップであってもよい。この場合、異常スコアマップ230の各ピクセル値は0~1の範囲内の値となる。以下、説明を簡単にするために、異常スコアマップ230は後者のマップである場合を例に説明する。
異常スコアマップ230は、検査画像210と再構成画像220との差分に基づいて算出されるヒートマップであり、ピクセルごとに異常度を示す。
図4は、異常スコアマップ算出部112の機能について説明するための説明図である。図4においては、検査画像210を、キズ510がある検査対象500が撮影された画像としている。図4の異常スコアマップ230においては、ピクセル値が大きいほど明度を小さく(黒色に近く)して図示している。
図4の例においては、検査画像210において画像として含まれる検査対象500にキズ510がある。検査画像210は、再構成画像生成部111(図4において図示せず)により再構成画像220に再構成される。これにより、再構成画像220においては、良品の特徴を備えるとともに、検査対象500のキズ211は捨象される。
異常スコアマップ230においては、検査画像210と再構成画像220とのピクセルごとの差分に基づいて各ピクセル値が算出されることにより、キズ510の部分のピクセル値が相対的に大きくなる。これにより、異常箇所が検出される。
再構成画像生成部111および異常スコアマップ算出部112による異常箇所の検出においては、教師データを用いた学習を行う必要がない。従って、教師データを作成するためのアノテーションも不要である。以下、再構成画像生成部111および異常スコアマップ算出部112による異常箇所の検出を、「教師無し異常検出」とも称する。
図4の例に示すように、教師無し異常検出においては、検査対象500のエッジ部分における光反射の影響や再構成における誤差等に起因して異常スコアマップ230にノイズ231が重畳し得る。
再度図3を参照すると、特徴マップ生成部113は、検査画像210から特徴マップ240を生成する。具体的には、特徴マップ生成部113は、ニューラルネットワークの学習済みモデルを用いた畳み込みおよびプーリング等の演算によって、検査画像210から複数の特徴をそれぞれ抽出した複数の特徴マップ240を生成する。各特徴マップ240の各ピクセル値は、それぞれの特徴を示す程度が反映される。
分類部114は、特徴マップ生成部113により生成される複数の特徴マップ240からクラスベクトルを算出することにより、いずれかの検査クラスに検査画像210を分類する。クラスベクトルは、検査画像210に含まれる検査対象500の異常が各検査クラスに属する可能性を示す尤度と、各検査クラスとの組合せのデータである。クラスベクトルは相対的に尤度が高い検査クラスを特定するため、クラスベクトルを算出することは、特徴マップ生成部113および分類部114により、検査画像210に基づいて検査クラスを推定することに対応する。分類部114は、例えば、GAP(Grobal Average Pooling)により、複数の特徴マップ240ごとに画素平均を算出する。そして、各特徴マップ240に対応する重み(より詳細には、各特徴マップ240において抽出される特徴に対応する重み)による画素平均の加重和と各検査クラスの識別境界からの距離に基づいて、検査画像210に含まれる検査対象500の異常が属する、検査クラスごとの可能性を、検査クラスごとの尤度(クラスベクトル)として算出する。重みは、以下説明する、ニューラルネットワークの学習済みモデルを生成する際の学習により、検査クラスごとに最適化されている。クラスベクトルの各尤度は0~1のいずれかの値をとり、各尤度の和は1になる。
分類部114は、異常の種類(すなわち検査クラス)が既知の検査対象500の入力画像と、当該入力画像に対応する検査クラスの尤度を1とし、それ以外の尤度を0としたクラスベクトル(正解ラベル)との組合せを教師データとして学習することで生成された、ニューラルネットワークの学習済みモデルにより構成され得る。ニューラルネットワークのモデルが学習されることで、クラスベクトルを算出(推定)する際の演算に用いる、特徴マップ240の特徴ごとの重みが最適化される。教師データとして用いる入力画像には不良品(キズや剥がれ等の異常がある検査対象500)の画像を用いる。入力画像としては、さらに良品の画像を用い得る。
図5は、分類部114の機能について説明するための説明図である。
分類部114は、検査画像210に基づいて特徴マップ生成部113により生成された複数の特徴マップ240から、クラスベクトルを算出する。クラスベクトルの算出は、検査クラスの推定(算出)に対応する。図5の例においては、クラスベクトルを算出することで、尤度が0.9である、最も尤度が大きいキズの検査クラスに、検査画像210が分類されている。これにより、検査画像210からキズの検査クラスが推定されている。
分類部114は、クラスベクトルにおいて最大の尤度が算出された際(図5の例においては、「キズ」の尤度が算出されたとき)の、学習済みモデルにおける、各特徴マップ240の特徴にそれぞれ対応する重み(以下、単に「重み」とも称する)を出力し得る。図5の例においては、各特徴マップ240の特徴が、特徴1、特徴2、...特徴nと示され、特徴1~nにそれぞれ対応する重みがw、w、...wと示されている。当該重みは、後述するように、アクティベーションマップの算出に用いられる。
再度図3を参照すると、アクティベーションマップ算出部115は、複数の特徴マップ240と、重みとからアクティベーションマップを算出する。このアクティベーションマップの算出方法として、公知のCAM(Class Activation Mapping)を用い得る。
図6は、アクティベーションマップ算出部115の機能について説明するための説明図である。
アクティベーションマップ算出部115は、複数の特徴マップ240の、同じ座標のピクセルの、ピクセル値の重みによる加重和を、全てのピクセルについて算出し、アクティベーションマップの各ピクセル値とすることで、アクティベーションマップ250を算出する。アクティベーションマップ250の各ピクセル値は、0~1の範囲内の値とされ得る。
アクティベーションマップ250は、分類部114により算出されるクラスベクトルにおいて尤度が最大となる検査クラスの、当該尤度の算出において重視された程度を各ピクセル値とするヒートマップである。従って、アクティベーションマップ250は、ピクセルごとに異常度を示していると考えられる。
再度図3を参照すると、異常ヒートマップ算出部116は、異常スコアマップ230とアクティベーションマップ250とに基づいて異常ヒートマップ260を算出する。異常ヒートマップ260は、異常マップに含まれる一例である。異常マップはヒートマップに限定されない。異常スコアマップ230およびアクティベーションマップ250ピクセルは、それぞれ異なる視点からピクセルごとに異常度(異常の程度)の高さを示しているといえる。従って、異常スコアマップ230とアクティベーションマップ250とに基づいて異常ヒートマップ260を算出することで、異常ヒートマップ260により、より高い精度で、ピクセルごとに異常度を示し得る。具体的には、異常ヒートマップ算出部116は、異常スコアマップ230とアクティベーションマップ250とを乗算することで算出され得る。すなわち、異常ヒートマップ算出部116は、異常スコアマップ230とアクティベーションマップ250とを、同じ座標のピクセルのピクセル値を全てのピクセルについてそれぞれ乗算し、各乗算値を、異常ヒートマップの各ピクセル値とすることで算出され得る。
異常ヒートマップ260は、再構成画像生成部111を構成するオートエンコーダーにより生成された再構成画像220と検査画像210との差分に基づいて算出される異常スコアマップ230であってもよい。
再構成画像生成部111を構成するオートエンコーダー、および異常スコアマップ算出部112は、教師なし学習により学習された教師なし学習済みモデルを構成する。従って、異常ヒートマップ260は、教師なし学習により学習された教師なし学習済みモデルに基づいて算出される、異常箇所を示す異常マップであり得る。
教師なし学習済みモデルでは、学習には正常画像を用いて学習を行い、推論時に異常画像を入力した際に、異常個所を示す異常マップを算出する。正常画像を使って再構成できるように学習することで、推論時に異常画像を入力した際に上手く再構成できず異常個所を示す異常マップを算出し得る。
正常画像は、正常な物品や医用における正常画像を含む。異常画像は、正常でない物品や医用における異常画像を含む。
異常ヒートマップ算出部116は、クラスベクトルにおいて、尤度が所定の閾値以上の検査クラスを異常クラスとして、異常ヒートマップ260と対応付けて出力し得る。所定の閾値以上の検査クラスが複数ある場合、異常クラスは複数の検査クラスであり得る。この場合、複数の検査クラスにそれぞれ対応する複数の異常ヒートマップ260が算出され、それぞれ対応する検査クラスに対応付けされて出力され得る。異常クラスは、尤度が最も大きい1つの検査クラスであってもよい。出力には、操作表示部140における表示や、外部装置への送信等が含まれる。
異常クラス(異常種類)は、教師データを用いて学習された教師あり学習済みモデルである分類部114により推定される。
教師あり学習済みモデルは、画像に対応付けて異常種類が付与された教師データにより学習されたものである。異常種類を推定することが可能で、異常個所のアノテーションなしで学習された教師あり学習済みモデルであることが好ましい。
異常ヒートマップ算出部116は、異常ヒートマップ260と異常クラスを出力することで、検査対象物の異常個所と異常種類がわかるように出力する。人の疾患の箇所と種類を出力するものでもよい。
特徴マップ生成部113、分類部114、およびアクティベーションマップ算出部115による異常クラスの推定、ならびにアクティベーションマップ250の算出においては、異常箇所の検出のための、教師データを用いた学習を行う必要がない。従って、入力画像に、当該入力画像における異常箇所(異常の範囲または異常のピクセル)等を正解ラベルとしてラベル付けするアノテーションも不要である。以下、特徴マップ生成部113、分類部114、およびアクティベーションマップ算出部115による異常クラスの推定、ならびにアクティベーションマップの算出を、「異常分類」とも称する。
異常ヒートマップ算出部116は、上記以外の方法で異常ヒートマップ260を算出してもよい。
例えば、異常ヒートマップ算出部116は、異常スコアマップ230およびアクティベーションマップ250の少なくともいずれか一方で所定の第1閾値以上の値のピクセルである特定ピクセルの値を1とし、特定ピクセル以外のピクセルの値を0とすることで、異常ヒートマップ260を算出してもよい。第1閾値は、異常の検出精度の観点から実験により適当に設定され得る。第1閾値は、例えば、0.4~0.9の範囲のいずれかの値に設定されてもよい。
異常ヒートマップ算出部116は、異常ヒートマップ260を算出する前に、異常スコアマップ230およびアクティベーションマップ250の少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行ってもよい。第2閾値は、異常の検出精度の観点から実験により適当に設定され得る。第2閾値は、例えば、0.1~0.2の範囲のいずれかの値に設定されてもよい。第2閾値は、異常スコアマップ230に対する値と、アクティベーションマップ250に対する値とで異なる値であってもよい。
異常ヒートマップ算出部116は、異常スコアマップ230と、アクティベーションマップ250とを加算することで、異常ヒートマップ260を算出してもよい。
以下、説明を簡単にするために、異常ヒートマップ260は、異常スコアマップ230とアクティベーションマップ250との乗算により算出される場合を例に説明する。
図7は、異常ヒートマップ算出部116の機能について説明するための説明図である。
図7に示すように、異常ヒートマップ算出部116により、異常スコアマップ230とアクティベーションマップ250とが乗算されることにより、教師無し異常検出および異常分類において共にピクセル値が大きい(スコアが高い)領域が異常ヒートマップにより特定(明確化)される。これにより、異常箇所の検出精度が向上される。
(第1実施例)
図8は、異常ヒートマップ算出部116による、異常スコアマップ230とアクティベーションマップ250との乗算による異常ヒートマップ260の算出結果の例を示す図である。図8の例においては、キズがある(キズの異常がある)検査対象500の検査画像210から算出された異常スコアマップ230およびアクティベーションマップ250が示されている。異常スコアマップ230、アクティベーションマップ250、および異常ヒートマップ260は、ピクセル値が大きいほど明度を大きく(白色に近く)して図示されている(他の実施例においても同様)。なお、図8においては、説明を簡単にするために、異常スコアマップ230、アクティベーションマップ250、および異常ヒートマップ260には、検査画像210に含まれているキズ510の画像が黒い線により示されている。
図8の例においては、異常スコアマップ230において、キズ510の周辺のピクセル値が大きくなっている。また、検査対象500のエッジにおける光反射の影響等により、キズ510の周辺以外の一部の箇所のピクセル値が大きくなることでノイズが発生(混入)している。
アクティベーションマップ250においても、キズ510の周辺のピクセル値が大きくなっている。また、キズ510がある箇所以外の箇所を、キズ510の特徴がある箇所として誤認識した結果、キズ510の周辺以外の一部の箇所のピクセル値が大きくなることで、ノイズが発生している。
しかし、異常ヒートマップ260においては、異常スコアマップ230とアクティベーションマップ250とが乗算された結果、ノイズが低減し、実際の異常箇所である、キズ510周辺の箇所のピクセル値のみが相対的に大きな値となっている。すなわち、異常ヒートマップ260においては、実際の異常箇所が正確に示されている。
(第2実施例)
図9は、異常ヒートマップ算出部116による、異常スコアマップ230とアクティベーションマップ250との乗算による異常ヒートマップ260の算出結果の他の例を示す図である。図9の例においては、未知の異常がある検査対象500の検査画像210から算出された異常スコアマップ230およびアクティベーションマップ250が示されている。未知の異常とは、予め設定される所定の検査クラスに含まれない異常であり、例えば、新機種の機械への変更によって当該機械の切削方式に起因して初めて生じる種類の異常(例えば、熔解)等が含まれる。なお、図9においては、説明を簡単にするために、異常スコアマップ230、アクティベーションマップ250、および異常ヒートマップ260には、検査画像210に含まれている、未知の異常を示す画像が黒い楕円により示されている。
図9の例においては、異常スコアマップ230において、異常箇所の周辺のピクセル値が大きくなっている。また、検査対象500のエッジにおける光反射の影響等により、異常箇所の周辺以外の一部の箇所のピクセル値が大きくなることでノイズが発生している。
アクティベーションマップ250においては、異常の特徴が所定の検査クラスのいずれとも関連しない(または関連性が低い)特徴であり、認識できない特徴であるため、異常箇所以外の一部の箇所のピクセル値が大きくなってしまっている。すなわち、誤った箇所を異常箇所として検出している。前述したように、未知の異常は所定の検査クラスに含まれていないため、本実施例においては、分類部114により誤った検査クラスに強制的に分類され得る。
異常ヒートマップ260においては、異常スコアマップ230とアクティベーションマップ250とが乗算された結果、ピクセル値が大きい箇所が存在しない。これにより、ユーザーは、異常ヒートマップ260を参照することで、検出(分類)された検査クラスが誤検出であると認識できる。また、ユーザーは、異常ヒートマップ260においてピクセル値が大きい箇所が存在しないことから、分類部114のニューラルネットワークのモデルに対し、クラスベクトルの次元を増加(検査クラスの数を増加)させ、再学習を行う必要があると容易に判断できる。なお、ユーザーは異常スコアマップ230を参照することで異常箇所を認識できるが、上述したように、異常スコアマップ230にはノイズが発生している可能性があり、また異常スコアマップ230だけでは検査クラス(異常の種類)を認識することができない。
(第3実施例)
図10は、異常ヒートマップ算出部116による、異常スコアマップ230とアクティベーションマップ250との乗算による異常ヒートマップの算出結果のさらに他の例を示す図である。図10の例においては、いずれかの検査クラスへの分類が比較的困難な異常がある検査対象500の検査画像210から算出された異常スコアマップ230およびアクティベーションマップ250が示されている。なお、図10においては、説明を簡単にするために、異常スコアマップ230、アクティベーションマップ250、および異常ヒートマップ260には、検査画像219に含まれている異常を示す画像が黒い楕円により示されている。
図10の例においては、異常スコアマップ230において、異常箇所の周辺のピクセル値が大きくなっている。また、検査対象500のエッジにおける光反射の影響等により、異常箇所の周辺以外の一部の箇所のピクセル値が大きくなることでノイズが発生している。
検査画像210において、いずれかの検査クラスへの分類が比較的困難な異常が含まれているため、分類部114により算出されたクラスベクトルにおいて、尤度が所定の閾値以上の検査クラスが2つ(または2つ以上)含まれ得る。本実施例においては、尤度が所定の閾値である0.4以上の検査クラスが2つあり、尤度がそれぞれ0.41と0.40の検査クラスが推定されている。
尤度が0.41の検査クラスのアクティベーションマップ(1)においては、検査クラスと関連しない(または関連性が薄い)特徴の箇所を、当該検査クラスへの分類の根拠の箇所としており、当該異常クラスの異常が存在しないにもかかわらず、誤った個所のピクセル値が大きく算出されてしまっている。
尤度が0.40の検査クラスのアクティベーションマップ(2)においては、検査クラスと関連する箇所を、当該検査クラスへの分類の根拠の箇所として正しく認識しており、当該異常クラスの異常が存在する箇所のピクセル値が大きく算出されている。
異常スコアマップ230と、尤度が0.41の検査クラスのアクティベーションマップ(1)との乗算により算出された異常ヒートマップ(1)においては、ピクセル値が明確に大きい箇所が存在しない。従って、ユーザーは、異常ヒートマップ(1)を参照することで、検出(分類)された検査クラスが誤検出であると認識できる。
異常スコアマップ230と、尤度が0.40の検査クラスのアクティベーションマップ(2)との乗算により算出された異常ヒートマップ(2)においては、異常スコアマップ230とアクティベーションマップ(2)とが乗算された結果、ノイズが低減し、実際の異常箇所のピクセル値が明確に比較的大きな値となっている。すなわち、異常ヒートマップにおいて、実際の異常箇所が正確に示されている。
本実施例においては、異常ヒートマップ(2)に異常箇所が明確に示されていることから、尤度が0.40の検査クラスの異常が、異常ヒートマップ(2)に示された箇所で正確に検出されていると判断できる。一方、異常ヒートマップ(1)では異常箇所が明確に示されていないため、尤度が0.41の異常クラスは誤検出として無視できる。このため、いずれかの検査クラスへの分類が比較的困難な異常であっても正確に検出できる。
(第4実施例)
図11は、異常ヒートマップ算出部116による、異常スコアマップ230とアクティベーションマップ250との乗算による異常ヒートマップ260の算出結果のさらに他の例を示す図である。図11の例においては、複数の異常がある検査対象500の検査画像210からそれぞれ算出された、異常スコアマップ230およびアクティベーションマップ250が示されている。なお、図11においては、説明を簡単にするために、異常スコアマップ230、アクティベーションマップ250、および異常ヒートマップ260には、検査画像219に含まれている2つの異常の一方であるキズの異常が黒い線で、他方である剥がれの異常が黒い楕円で示されている。
図11の例においては、異常スコアマップ230において、各異常箇所の周辺のピクセル値が大きくなっている。また、検査対象500のエッジにおける光反射の影響等により、異常箇所の周辺以外の一部の箇所のピクセル値が大きくなることでノイズが発生している。
検査画像210において、2つの異常の画像が含まれているため、分類部114により算出されたクラスベクトルにおいて、尤度が所定の閾値以上の検査クラスが2つ(または2つ以上)含まれ得る。本実施例においては、尤度が所定の閾値である0.4以上の検査クラスが2つあり、尤度がそれぞれ0.42と0.41の検査クラスが推定されている。
尤度が0.42の検査クラスのアクティベーションマップ(3)においては、検査クラスであるキズの特徴をもつキズ周辺の箇所が、キズの検査クラスへの分類の根拠の箇所として正しく認識しており、キズの異常が存在する箇所のピクセル値が比較的大きく算出されている。
尤度が0.41の検査クラスのアクティベーションマップ(4)においては、検査クラスである剥がれの特徴をもつ剥がれがある箇所の周辺が、剥がれの検査クラスへの分類の根拠の箇所として正しく認識しており、剥がれの異常が存在する箇所のピクセル値が比較的大きく算出されている。
異常スコアマップ230と、尤度が0.42の検査クラスのアクティベーションマップ(3)との乗算により算出された異常ヒートマップ(3)においては、異常スコアマップ230とアクティベーションマップ(3)とが乗算された結果、ノイズが低減し、実際のキズの異常箇所周辺のピクセル値のみが明確に大きな値となっている。すなわち、異常ヒートマップ(3)において、実際のキズの異常箇所が正確に示されている。
異常スコアマップ230と、尤度が0.41の検査クラスのアクティベーションマップ(4)との乗算により算出された異常ヒートマップ(4)においては、異常スコアマップ230とアクティベーションマップ(4)とが乗算された結果、ノイズが低減し、実際の剥がれの異常箇所周辺のピクセル値のみが明確に比較的大きな値となっている。すなわち、異常ヒートマップ(4)において、実際の剥がれの異常箇所が正確に示されている。
本実施例においては、検査画像210において、検査対象500に複数の異常がある場合であっても、それぞれの異常クラスと異常箇所を正確に検出できる。
図12は、情報処理装置100の動作を示すフローチャートである。本フローチャートは、情報処理装置100の制御部110により、プログラムに従い実行され得る。
制御部110は、撮影装置200から検査画像210を受信することにより取得する(S101)。
制御部110は、検査画像210から再構成画像220を生成する(S102)。
制御部110は、検査画像210と再構成画像220との差分を算出することで、異常スコアマップ230を算出する(S103)。
制御部110は、検査画像210からニューラルネットワークの学習済みモデルを用いて異常クラスを推定する(S104)。
制御部110は、推定された異常クラスのアクティベーションマップ250を算出する(S105)。
制御部110は、異常スコアマップ230とアクティベーションマップ250とを乗算することにより、異常ヒートマップ260を算出する(S105)。
制御部110は、異常ヒートマップ260と異常クラスとを対応付けて出力する(S107)。
実施形態は、以下の効果を奏する。
教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出し、画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、異常種類を推定し、異常マップと異常種類とを対応付けて出力する。これにより、異常箇所および異常種類を高精度に特定できる。
さらに、画像と再構成画像との差分に基づいて、異常スコアマップを算出し、推定された異常クラスのアクティベーションマップを算出し、異常スコアマップと、アクティベーションマップとに基づいて、異常ヒートマップを算出する。これにより、アノテーションを行うことなく、異常箇所の検出精度をさらに向上できる。
さらに、異常スコアマップとアクティベーションマップとを乗算することで異常ヒートマップを算出する。これにより、簡単かつ高精度に異常箇所の検出精度を向上できる。
さらに、異常スコアマップおよびアクティベーションマップの少なくともいずれか一方で所定の第1閾値以上の値をもつ特定ピクセルの値を1とし、特定ピクセル以外のピクセルの値を0とすることで、異常ヒートマップを算出する。これにより、異常箇所の誤検出をより低減できる。
さらに、異常ヒートマップを算出する前に、異常スコアマップおよびアクティベーションヒートマップの少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行う。これにより、ノイズによる異常箇所の誤検出をより低減できる。また、例えば、第2閾値未満を、異常スコアマップに対する値と、アクティベーションヒートマップに対する値とで異なる値とすることで、異常スコアマップおよびアクティベーションヒートマップのいずれかをベースにすることにより、異常ヒートマップの出力意図を明確化できる。
さらに、異常スコアマップと、アクティベーションマップとを加算することで、異常ヒートマップを算出する。これにより、簡単かつ高精度に異常箇所の検出精度を向上できる。また、異常スコアマップと、アクティベーションマップとの乗算や、異常スコアマップおよびアクティベーションヒートマップの少なくともいずれか一方に対するフィルタリング処理によって、異常検出に必要な部分まで消えてしまうことを抑制できる。
本発明は上述した実施形態に限定されない。
例えば、フローチャートの一部のステップは省略されてもよい。また、処理時間の短縮等のために、いずれか複数のステップは並行して実行されてもよい。
また、実施形態においてプログラムにより実行される処理の一部または全部を回路などのハードウェアに置き換えて実行されてもよい。
10 情報処理システム、
100 情報処理装置、
110 制御部、
111 再構成画像生成部、
112 異常スコアマップ算出部、
113 特徴マップ生成部、
114 分類部、
115 アクティベーションマップ算出部、
116 異常ヒートマップ算出部、
120 記憶部、
130 通信部、
140 操作表示部、
200 撮影装置、
210 検査画像、
220 再構成画像、
230 異常スコアマップ、
231 ノイズ、
240 特徴マップ、
250 アクティベーションマップ、
260 異常ヒートマップ、
300 通信ネットワーク、
500 検査対象、
510 キズ。

Claims (18)

  1. 教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出する算出部と、
    画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、前記異常種類を推定する推定部と、
    前記異常マップと、推定された前記異常種類とを対応付けて出力する出力部と、
    を有する情報処理装置。
  2. 前記算出部は、
    前記画像と前記画像から再構成した再構成画像との差分に基づいて、異常スコアマップを算出する異常スコアマップ算出部と、
    前記推定部により推定された前記異常種類のアクティベーションマップを算出するアクティベーションマップ算出部と、
    前記異常スコアマップと、前記アクティベーションマップとに基づいて、前記異常マップを算出する異常マップ算出部と、
    を有する請求項1に記載の情報処理装置。
  3. 前記異常マップ算出部は、前記異常スコアマップと、前記アクティベーションマップとを乗算することで、前記異常マップを算出する、請求項2に記載の情報処理装置。
  4. 前記異常マップ算出部は、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方で所定の第1閾値以上の値をもつ特定ピクセルの値を1とし、前記特定ピクセル以外のピクセルの値を0とすることで、前記異常マップを算出する、請求項2に記載の情報処理装置。
  5. 前記異常マップ算出部は、前記異常マップを算出する前に、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行う、請求項2に記載の情報処理装置。
  6. 前記異常マップ算出部は、前記異常スコアマップと、前記アクティベーションマップとを加算することで、前記異常マップを算出する、請求項2に記載の情報処理装置。
  7. 教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出するステップ(a)と、
    画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、前記異常種類を推定するステップ(b)と、
    算出された前記異常マップと、推定された前記異常種類とを対応付けて出力するステップ(c)と、
    を有する処理をコンピューターに実行させるための解析プログラム。
  8. 前記ステップ(a)は、
    前記画像と前記画像から再構成した再構成画像との差分に基づいて、異常スコアマップを算出するステップ(a1)と、
    前記ステップ(b)において推定された前記異常種類のアクティベーションマップを算出するステップ(a2)と、
    前記異常スコアマップと、前記アクティベーションマップとに基づいて、前記異常マップを算出するステップ(a3)と、
    を有する請求項7に記載の解析プログラム。
  9. 前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを乗算することで、前記異常マップを算出する、請求項8に記載の解析プログラム。
  10. 前記ステップ(a3)においては、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方で所定の第1閾値以上の値をもつ特定ピクセルの値を1とし、前記特定ピクセル以外のピクセルの値を0とすることで、前記異常マップを算出する、請求項8に記載の解析プログラム。
  11. 前記ステップ(a3)においては、前記異常マップを算出する前に、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行う、請求項8に記載の解析プログラム。
  12. 前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを加算することで、前記異常マップを算出する、請求項8に記載の解析プログラム。
  13. 教師なし学習により学習された教師なし学習済みモデルに基づき、異常箇所を示す異常マップを算出するステップ(a)と、
    画像に対応付けて異常種類が付与された教師データにより学習された教師あり学習済みモデルに基づき、前記異常種類を推定するステップ(b)と、
    算出された前記異常マップと、推定された前記異常種類とを対応付けて出力するステップ(c)と、
    を有する解析方法。
  14. 前記ステップ(a)は、
    前記画像と前記画像から再構成した再構成画像との差分に基づいて、異常スコアマップを算出するステップ(a1)と、
    前記ステップ(b)において推定された前記異常種類のアクティベーションマップを算出するステップ(a2)と、
    前記異常スコアマップと、前記アクティベーションマップとに基づいて、前記異常マップを算出するステップ(a3)と、
    を有する請求項13に記載の解析方法。
  15. 前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを乗算することで、前記異常マップを算出する、請求項14に記載の解析方法。
  16. 前記ステップ(a3)においては、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方で所定の第1閾値以上の値をもつ特定ピクセルの値を1とし、前記特定ピクセル以外のピクセルの値を0とすることで、前記異常マップを算出する、請求項14に記載の解析方法。
  17. 前記ステップ(a3)においては、前記異常マップを算出する前に、前記異常スコアマップおよび前記アクティベーションマップの少なくともいずれか一方に対し、所定の第2閾値未満の値のピクセルの値を0にするフィルタリングを行う、請求項14に記載の解析方法。
  18. 前記ステップ(a3)においては、前記異常スコアマップと、前記アクティベーションマップとを加算することで、前記異常マップを算出する、請求項14に記載の解析方法。
JP2022033227A 2022-03-04 2022-03-04 情報処理装置、解析プログラム、および解析方法 Pending JP2023128693A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022033227A JP2023128693A (ja) 2022-03-04 2022-03-04 情報処理装置、解析プログラム、および解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022033227A JP2023128693A (ja) 2022-03-04 2022-03-04 情報処理装置、解析プログラム、および解析方法

Publications (1)

Publication Number Publication Date
JP2023128693A true JP2023128693A (ja) 2023-09-14

Family

ID=87972276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022033227A Pending JP2023128693A (ja) 2022-03-04 2022-03-04 情報処理装置、解析プログラム、および解析方法

Country Status (1)

Country Link
JP (1) JP2023128693A (ja)

Similar Documents

Publication Publication Date Title
JP7058373B2 (ja) 医療画像に対する病変の検出及び位置決め方法、装置、デバイス、及び記憶媒体
CN111325739B (zh) 肺部病灶检测的方法及装置,和图像检测模型的训练方法
KR20200100806A (ko) 테스트 결과를 결정하기 위한 캡처된 이미지의 분석
JP7059883B2 (ja) 学習装置、画像生成装置、学習方法、及び学習プログラム
CN111860565A (zh) 用于训练用于测量技术中的质量检查的分类器的工作流程
US10115189B2 (en) Image processing apparatus, image processing method, and recording medium
JP2015041164A (ja) 画像処理装置、画像処理方法およびプログラム
KR20200087297A (ko) 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치
JP2012032370A (ja) 欠陥検出方法、欠陥検出装置、学習方法、プログラム、及び記録媒体
CN111699499A (zh) 检查系统、图像识别系统、识别系统、识别器生成系统及学习数据生成装置
US11315229B2 (en) Method for training defect detector
US20220114725A1 (en) Microscopy System and Method for Checking Input Data
CN111612756B (zh) 冠状动脉特异性钙化检测方法及装置
US20220067514A1 (en) Inference apparatus, method, non-transitory computer readable medium and learning apparatus
US11769248B2 (en) Image processing device, image processing method, and image processing non-transitory computer readable medium for verifying detectable range of defect image
US20200334801A1 (en) Learning device, inspection system, learning method, inspection method, and program
CN111242920A (zh) 一种生物组织图像检测方法、装置、设备及介质
JP6786015B1 (ja) 動作分析システムおよび動作分析プログラム
CN112184717A (zh) 用于质检的自动化分割方法
JP2023128693A (ja) 情報処理装置、解析プログラム、および解析方法
CN110441315A (zh) 电子部件测试设备和方法
CN115206494A (zh) 基于眼底图像分类的阅片系统及阅片方法
WO2022201968A1 (ja) 情報処理装置、制御プログラム、および制御方法
JP7562851B2 (ja) コンポーネントを分析する方法、システムをトレーニングする方法、デバイス、コンピュータプログラム及びコンピュータ可読記憶媒体
CN117094976B (zh) 病灶漏检判断方法、装置和电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240925