(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】学習装置、画像検査装置、プログラム、および学習方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20240326BHJP
G01N 21/88 20060101ALI20240326BHJP
G06N 20/00 20190101ALI20240326BHJP
【FI】
G06T7/00 610
G06T7/00 350C
G01N21/88 J
G06N20/00 130
(21)【出願番号】P 2020030049
(22)【出願日】2020-02-26
【審査請求日】2022-12-19
(73)【特許権者】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(74)【代理人】
【識別番号】100135013
【氏名又は名称】西田 隆美
(72)【発明者】
【氏名】岡本 悟史
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2019-113914(JP,A)
【文献】工藤郁弥 他3名,畳み込みオートエンコーダを用いた工業製品の不良検査,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2019年03月04日,第118巻 第492号,pp.31-36
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
G01N 21/88
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
画像検査装置を構築するための学習装置であって、
良品である対象物を撮像して得られた
良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって、学習済みの第1学習済みデータを有する第1学習モデルを生成する第1学習モデル生成部と、
前記対象物画像および前記再構成画像に基づいて、前記対象物画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得部と、
前記良品画像である複数の前記対象物画像から単位画素ごとに取得される前記画素特徴情報を標本とし、前記画素特徴情報がとり得る値に対する確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって、学習済みの第2学習済みデータを有する第2学習モデルを生成する第2学習モデル生成部と、
を備える、学習装置。
【請求項2】
請求項
1に記載の学習装置であって、
前記第2学習モデル生成部は、カーネル密度推定を用いて、前記画素特徴情報の分布に対する確率分布を推定する、学習装置。
【請求項3】
請求項1
または請求項
2に記載の学習装置であって、
前記画素特徴情報取得部は、前記対象物画像および前記再構成画像において、対応する単位画素ごとに求められた差分を、前記画素特徴情報として取得する、学習装置。
【請求項4】
請求項1から請求項
3のいずれか1項に記載の学習装置により学習が行われた学習モデルを用いた画像検査装置であって、
検査対象である検査画像を、学習済みの前記第1学習済みデータを有する前記第1学習モデルに入力し、前記再構成画像を生成する再構成画像生成部と、
前記画素特徴情報取得部により、前記検査画像および前記再構成画像に基づいて、前記検査画像における単位画素ごとに取得された前記画素特徴情報を、学習済みである前記第2学習済みデータを有する前記第2学習モデルに入力し、前記単位画素ごとの前記画素特徴情報に対する生起確率を求める生起確率取得部と、
前記生起確率取得部により前記単位画素ごとに求められた生起確率に基づいて、前記単位画素が異常であるか否かを判断する異常検出部と、
を備える、画像検査装置。
【請求項5】
請求項
4に記載の画像検査装置であって、
前記異常検出部は、予め定められた閾値と、前記単位画素ごとに求められた前記生起確率とを比較し、前記閾値より低い前記生起確率の前記単位画素を異常であると判断する、画像検査装置。
【請求項6】
請求項
5に記載の画像検査装置であって、
前記閾値は、前記単位画素ごとに設定される、画像検査装置。
【請求項7】
画像検査装置を構築するための学習済みデータセット
を含む、コンピュータが実行可能なプログラムであって、
前記学習済みデータセットは、
良品である対象物を撮像して得られた
良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって、学習済みの第1学習済みデータを有する第1学習モデルを生成する第1学習モデル生成部と、
前記対象物画像および前記再構成画像に基づいて、前記対象物画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得部と、
前記画素特徴情報取得部により、
前記良品画像である複数の前記対象物画像から対応する単位画素ごとに取得される前記画素特徴情報の分布に基づき、前記画素特徴情報がとり得る値の確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって、学習済みの第2学習済みデータを有する第2学習モデルを生成する第2学習モデル生成部と、
により生成された第1学習済みデータ及び第2学習済みデータからなる、
プログラム。
【請求項8】
画像検査方法を構築するための学習方法であって、
良品である対象物を撮像して得られた
良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力とする第1学習モデルを生成する第1学習モデル生成工程と、
前記対象物画像および前記再構成画像に基づいて、前記対象物画像および前記再構成画像における対応する座標にある単位画素ごとに、画素特徴情報を取得する画素特徴情報取得工程と、
前記画素特徴情報取得工程により、
前記良品画像である複数の前記対象物画像から対応する単位画素ごとに取得される前記画素特徴情報の分布に基づき、前記画素特徴情報がとり得る値の確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力する第2学習モデルを生成する第2学習モデル生成工程と、
を備える、学習方法。
【請求項9】
対象物を撮像して得られた対象物画像を入力とし、入力された前記対象物画像を再構成した再構成画像を出力とする第1学習モデルを用いて、検査対象である検査画像から再構成画像を生成する再構成画像生成部と、
前記検査画像および前記再構成画像に基づいて、前記検査画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得部と、
前記画素特徴情報を入力とし、前記画素特徴情報に対する生起確率を出力とする第2学習モデルを用いて、前記検査画像における単位画素ごとの画素特徴情報に対する生起確率を求める生起確率取得部と、
前記生起確率取得部により、単位画素ごとに求められた生起確率に基づいて、前記単位画素が異常であるか否かを判断する異常検出部と、
を備え
、
前記第1学習モデルは、良品である対象物を撮像して得られた良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって生成され、
前記第2学習モデルは、前記良品画像である複数の前記対象物画像から単位画素ごとに取得される前記画素特徴情報を標本とし、前記画素特徴情報がとり得る値に対する確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって生成される、画像検査装置。
【請求項10】
請求項
9に記載の画像検査装置であって、
前記画素特徴情報取得部は、前記検査画像および前記再構成画像において、対応する単位画素ごとに求められた差分を、前記画素特徴情報として取得する、画像検査装置。
【請求項11】
請求項
9または請求項
10に記載の画像検査装置であって、
前記異常検出部は、予め定められた閾値と、前記生起確率取得部によって単位画素ごとに求められた生起確率とを比較し、前記閾値より低い生起確率を有する単位画素を、異常であると判断する、画像検査装置。
【請求項12】
請求項
11に記載の画像検査装置であって、
前記閾値は、単位画素ごとに設定される、画像検査装置。
【請求項13】
対象物を撮像して得られた対象物画像を入力とし、入力された前記対象物画像を再構成した再構成画像を出力とする第1学習モデルを用いて、検査対象である検査画像から再構成画像を生成する再構成画像生成工程と、
前記検査画像および前記再構成画像に基づいて、前記検査画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得工程と、
前記画素特徴情報を入力とし、前記画素特徴情報に対する生起確率を出力とする第2学習モデルを用いて、前記検査画像における単位画素ごとの前記画素特徴情報に対する生起確率を求める生起確率取得工程と、
前記生起確率取得
工程により、単位画素ごとに求められた生起確率に基づいて、前記単位画素が異常であるか否かを判断する異常検出工程と、
を備え
、
前記第1学習モデルは、良品である対象物を撮像して得られた良品画像である複数の対象物画像を特徴量および教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって生成され、
前記第2学習モデルは、前記良品画像である複数の前記対象物画像から単位画素ごとに取得される前記画素特徴情報を標本とし、前記画素特徴情報がとり得る値に対する確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって生成される、画像検査方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、対象物の異常を検出する技術に関する。
【背景技術】
【0002】
食品、医薬品または工業製品等の製造工程においては、製造ラインに検査工程を設けて、不良品の検出等の検査が行われる場合がある。製品の検査は、人間が目視で行っており(目視検査)、人的コストが高いという問題があった。このため、検査工程の一部または全部を自動化するべく、機械によって自動的に製品を検査するシステムの開発が進められている。
【0003】
例えば、特許文献1には、機械学習を利用して欠陥検査する技術が開示されている。具体的には、第1の学習部は、正常データの集合を用いて、正常データを判別するための第1のモデルを学習する。第2の学習部は、予め用意された複数の撮影画像の各々から第1のモデルに基づいて検出された複数の異常候補領域のうち、ユーザにより選択された異常候補領域を正解データ、ユーザにより選択されなかった異常候補領域を非正解データとして、正解データと非正解データを識別するための第2のモデルを学習する。検出部は、第1のモデルを用いて、撮影画像から異常候補領域を検出する。判断部は、第2のモデルを用いて、検出部により検出された異常候補領域が正解データに属するのか非正解データに属するのかを判断する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の場合、第1の学習部は、良品画像のみで機械学習を行う。一方、第2の学習部について、学習に使用されるサンプル画像として、正常なサンプル画像だけでなく、異常を含むサンプル画像も準備する必要がある。しかしながら、検査対象である対象物が、異常の発生率が低い製品である場合、欠陥を含むサンプル画像を取得することが、困難な場合があった。このため、異常の発生率が低い場合、従来技術で対応することが困難であった。
【0006】
本発明の目的は、異常の発生率が低い対象物であっても、異常を良好に検出する技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、第1態様は、画像検査装置を構築するための学習装置であって、良品である対象物を撮像して得られた良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって、学習済みの第1学習済みデータを有する第1学習モデルを生成する第1学習モデル生成部と、前記対象物画像および前記再構成画像に基づいて、前記対象物画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得部と、前記良品画像である複数の前記対象物画像から単位画素ごとに取得される前記画素特徴情報を標本とし、前記画素特徴情報がとり得る値に対する確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって、学習済みの第2学習済みデータを有する第2学習モデルを生成する第2学習モデル生成部とを備える。
【0009】
第2態様は、第1態様の学習装置であって、前記第2学習モデル生成部は、カーネル密度推定を用いて、前記画素特徴情報の分布に対する確率分布を推定する。
【0010】
第3態様は、第1態様または第2態様の学習装置であって、前記画素特徴情報取得部は、前記対象物画像および前記再構成画像において、対応する単位画素ごとに求められた差分を、前記画素特徴情報として取得する。
【0011】
第4態様は、第1態様から第3態様のいずれか1つの学習装置により学習が行われた学習モデルを用いた画像検査装置であって、検査対象である検査画像を、学習済みの前記第1学習済みデータを有する前記第1学習モデルに入力し、前記再構成画像を生成する再構成画像生成部と、前記画素特徴情報取得部により、前記検査画像および前記再構成画像に基づいて、前記検査画像における単位画素ごとに取得された前記画素特徴情報を、学習済みである前記第2学習済みデータを有する前記第2学習モデルに入力し、前記単位画素ごとの前記画素特徴情報に対する生起確率を求める生起確率取得部と、前記生起確率取得部により前記単位画素ごとに求められた生起確率に基づいて、前記単位画素が異常であるか否かを判断する異常検出部とを備える。
【0012】
第5態様は、第4態様の画像検査装置であって、前記異常検出部は、予め定められた閾値と、前記単位画素ごとに求められた前記生起確率とを比較し、前記閾値より低い前記生起確率の前記単位画素を異常であると判断する。
【0013】
第6態様は、第5態様の画像検査装置であって、前記閾値は、前記単位画素ごとに設定される。
【0014】
第7態様は、画像検査装置を構築するための学習済みデータセットを含む、コンピュータが実行可能なプログラムであって、前記学習済みデータセットは、良品である対象物を撮像して得られた良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって、学習済みの第1学習済みデータを有する第1学習モデルを生成する第1学習モデル生成部と、前記対象物画像および前記再構成画像に基づいて、前記対象物画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得部と、前記画素特徴情報取得部により、前記良品画像である複数の前記対象物画像から対応する単位画素ごとに取得される前記画素特徴情報の分布に基づき、前記画素特徴情報がとり得る値の確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって、学習済みの第2学習済みデータを有する第2学習モデルを生成する第2学習モデル生成部と、により生成された第1学習済みデータ及び第2学習済みデータからなる。
【0015】
第8態様は、画像検査方法を構築するための学習方法であって、良品である対象物を撮像して得られた良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力とする第1学習モデルを生成する第1学習モデル生成工程と、前記対象物画像および前記再構成画像に基づいて、前記対象物画像および前記再構成画像における対応する座標にある単位画素ごとに、画素特徴情報を取得する画素特徴情報取得工程と、前記画素特徴情報取得工程により、前記良品画像である複数の前記対象物画像から対応する単位画素ごとに取得される前記画素特徴情報の分布に基づき、前記画素特徴情報がとり得る値の確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力する第2学習モデルを生成する第2学習モデル生成工程とを備える。
【0016】
第9態様は、対象物を撮像して得られた対象物画像を入力とし、入力された前記対象物画像を再構成した再構成画像を出力とする第1学習モデルを用いて、検査対象である検査画像から再構成画像を生成する再構成画像生成部と、前記検査画像および前記再構成画像に基づいて、前記検査画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得部と、前記画素特徴情報を入力とし、前記画素特徴情報に対する生起確率を出力とする第2学習モデルを用いて、前記検査画像における単位画素ごとの画素特徴情報に対する生起確率を求める生起確率取得部と、前記生起確率取得部により、単位画素ごとに求められた生起確率に基づいて、前記単位画素が異常であるか否かを判断する異常検出部とを備え、前記第1学習モデルは、良品である対象物を撮像して得られた良品画像である複数の対象物画像を特徴量及び教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって生成され、前記第2学習モデルは、前記良品画像である複数の前記対象物画像から単位画素ごとに取得される前記画素特徴情報を標本とし、前記画素特徴情報がとり得る値に対する確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって生成される。
【0017】
第10態様は、第9態様の画像検査装置であって、前記画素特徴情報取得部は、前記検査画像および前記再構成画像において、対応する単位画素ごとに求められた差分を、前記画素特徴情報として取得する。
【0018】
第11態様は、第9態様または第10態様の画像検査装置であって、前記異常検出部は、予め定められた閾値と、前記生起確率取得部によって単位画素ごとに求められた生起確率とを比較し、前記閾値より低い生起確率を有する単位画素を、異常であると判断する。
【0019】
第12態様は、第11態様の画像検査装置であって、前記閾値は、単位画素ごとに設定される。
【0020】
第13態様は、対象物を撮像して得られた対象物画像を入力とし、入力された前記対象物画像を再構成した再構成画像を出力とする第1学習モデルを用いて、検査対象である検査画像から再構成画像を生成する再構成画像生成工程と、前記検査画像および前記再構成画像に基づいて、前記検査画像における単位画素ごとの画素特徴情報を取得する画素特徴情報取得工程と、前記画素特徴情報を入力とし、前記画素特徴情報に対する生起確率を出力とする第2学習モデルを用いて、前記検査画像における単位画素ごとの前記画素特徴情報に対する生起確率を求める生起確率取得工程と、前記生起確率取得工程により、単位画素ごとに求められた生起確率に基づいて、前記単位画素が異常であるか否かを判断する異常検出工程とを備え、前記第1学習モデルは、良品である対象物を撮像して得られた良品画像である複数の対象物画像を特徴量および教師データとし、入力された前記対象物画像を再構成した再構成画像を出力するよう学習を行うことによって生成され、前記第2学習モデルは、前記良品画像である複数の前記対象物画像から単位画素ごとに取得される前記画素特徴情報を標本とし、前記画素特徴情報がとり得る値に対する確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって生成される。
【発明の効果】
【0021】
第1態様によると、検査対象である検査画像を第1学習モデルに入力することにより、単位画素ごとの画素特徴情報が求められ、第1学習モデルが出力する単位画素ごとの画素単位情報を第2学習モデルに入力することにより、単位画素ごとの画素特徴情報に対する生起確率が出力される。生起確率の大きさに基づいて、単位画素が異常であるか否かを判断できる。
【0022】
また、第1態様によると、画素特徴情報の確率分布が、複数の良品を撮像した良品画像を用いて第2学習モデルが生成される。このため、不良品の画像の影響を排除できる。
【0023】
第3態様によると、カーネル密度推定によって、特定の分布を仮定することなく、画素特徴情報の確率分布を推定することができる。
【0024】
第4態様によると、第1学習モデルを用いて、入力された対象画像から、良品と同等の再構成画像を生成する。仮に、対象画像が異常な部分が含む場合、対象画像と再構成画像との差分を取ることによって、正常な部分の画素特徴情報が相殺される。このため、画像検査装置は、異常な画素特徴情報の部分を選択的に抽出することができる。
【図面の簡単な説明】
【0025】
【
図2】実施形態の情報処理装置のハードウェア構成を示す図である。
【
図3】実施形態の情報処理装置が備える機能的な構成を示す図である。
【
図4】実施形態の第1学習モデルを生成する流れを示す図である。
【
図5】実施形態の第1学習モデルを概念的に示す図である。
【
図6】第1学習モデルを用いて、不良画像から再構成画像を生成する処理を概念的に示す図である。
【
図7】実施形態の第2学習モデルを生成する流れを示す図である。
【
図8】良品画像と再構成画像とから差分画像を生成する処理を概念的に示す図である。
【
図9】複数の差分画像から画素特徴情報の標本分布を取得する処理を概念的に示す図である。
【
図10】画素特徴情報の標本分布から、画素特徴情報の確率分布を推定する処理を概念的に示す図である。
【
図11】第1学習モデルおよび第2学習モデルを用いた欠陥検知処理の流れを示す図である。
【
図12】
図11に示す欠陥検知処理の各段階で得られる画像を示す図である。
【
図13】生起確率取得処理の内容を概念的に示す図である。
【発明を実施するための形態】
【0026】
以下、添付の図面を参照しながら、本発明の実施形態について説明する。なお、この実施形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。図面においては、理解容易のため、必要に応じて各部の寸法や数が誇張又は簡略化して図示されている場合がある。
【0027】
<1. 実施形態>
図1は、実施形態の画像検査装置10を示す図である。画像検査装置10は、対象物90の画像を解析することによって、対象物90の欠陥を検出する。対象物90は、具体的には錠剤であるが、錠剤に限定されない。画像検査装置10は、カメラ110と、情報処理装置120とを備える。カメラ110は、情報処理装置120と電気的に接続されている。カメラ110は、イメージセンサを備えている。カメラ110は、イメージセンサを用いて対象物90を撮像することにより得られる画像信号を、情報処理装置120へ出力する。カメラ110に撮像される対象物90は、所定の位置に停止していてもよいし、ベルトコンベヤなどの搬送機構により、所定の方向へ移動していてもよい。
【0028】
図2は、実施形態の情報処理装置120のハードウェア構成を示す図である。情報処理装置120は、コンピュータとしての構成を備える。具体的には、情報処理装置120は、プロセッサ121と、RAM123と、記憶部125と、入力部127と、表示部129と、機器I/F131と、通信I/F133とを備える。プロセッサ121、RAM123、記憶部125、入力部127、表示部129、機器I/F131および通信I/F133は、バス133を介して互いに電気的に接続されている。
【0029】
プロセッサ121は、具体的には、CPUまたはGPUを含む。RAM123は、情報の読み出しおよび書き込みが可能な記憶媒体であって、具体的には、SDRAMである。記憶部125は、情報の読み出しおよび書き込みが可能な記録媒体であって、具体的には、HDD(ハードディスクドライブ)またはSSD(ソリッドステートドライブ)を含む。なお、記憶部125は、可搬性を有する光ディスク、磁気ディスクまたは半導体メモリ等を含んでもよい。記憶部125は、プログラムPを記憶している。プロセッサ121は、RAM123を作業領域として、プログラムPを実行することにより、各種の機能を実現する。なお、プログラムPは、ネットワークを介して、情報処理装置120に提供または配布されるようにしてもよい。
【0030】
入力部127は、ユーザの操作入力を受け付ける入力デバイスであり、具体的には、マウスまたはキーボードなどである。表示部129は、各種情報を表す画像を表示する表示デバイスであり、具体的には、液晶ディスプレイである。
【0031】
機器I/F131は、カメラ110を情報処理装置120に電気的に接続するためのインターフェースである。通信I/F133は、情報処理装置120をインターネットなどのネットワークと接続するためのインターフェースである。カメラ110は、通信I/F133を介して情報処理装置120と接続されてもよい。すなわち、画像検査装置10は、カメラ110を備えていることは必須ではなく、情報処理装置120のみを備えていてもよい。
【0032】
図3は、実施形態の情報処理装置120が備える機能的な構成を示す図である。情報処理装置120は、再構成画像生成部140、画素特徴情報取得部141、生起確率取得部142、異常検出部143、欠陥判定部145、第1学習モデル147、第1学習モデル生成部149、第2学習モデル151、および第2学習モデル生成部153を備える。再構成画像生成部140、画素特徴情報取得部141、生起確率取得部142、異常検出部143、欠陥判定部145、第1学習モデル生成部149、および第2学習モデル生成部153は、プロセッサ121がプログラムPに従って動作することにより実現される機能である。第1学習モデル生成部149および第2学習モデル生成部153は、情報処理装置120に備えられていることは必須ではなく、別のコンピュータに備えられていてもよい。
【0033】
再構成画像生成部140は、検査対象である対象物90を撮像して得られた対象物画像905を、第1学習モデル147に入力し、再構成画像911を生成する。対象物画像905は、グレースケール画像であることが好ましいが、カラー画像であってもよい。対象物画像905をカラー画像とする場合、RGBのチャンネルごとに、処理が行われてもよい。
【0034】
画素特徴情報取得部141は、対象物画像905および再構成画像911に基づいて、対象物画像905における単位画素ごとの画素特徴情報を取得する。単位画素は、1つ以上の画素で構成される。以下では、単位画素は、単一の画素で構成されるものとする。ただし、単位画素は、隣接する2つ以上の画素で構成されてもよい。
【0035】
画素特徴情報取得部141は、対象物画像905および再構成画像911の差分である差分画像921を生成し、差分画像921から、画素ごとに、画素特徴情報を抽出する。画素特徴情報は、具体的には、差分画像921の各画素が有する輝度である。差分画像921の各画素の輝度は、対象物画像905および再構成画像911において対応する座標にある画素ごとに求められる、輝度の差分である。すなわち、本実施形態では、対象物画像905に基づいて得られる差分画像921における画素毎の輝度が、対象物画像905における画素ごとの画素特徴情報として取得される。
【0036】
生起確率取得部142は、第2学習モデル151を用いて、対象物画像905における画素ごとの画素特徴情報に対する生起確率を求める。
【0037】
異常検出部143は、生起確率取得部142によって画素ごとに求められた生起確率に基づいて、画素が異常であるか否かを判断する。本実施形態では、異常検出部143は、予め定められた閾値と、座標ごとに求められた生起確率とを比較する。そして、異常検出部143は、閾値より低い生起確率を有する画素を、異常であると判断する。
【0038】
欠陥判定部145は、異常検出部143が出力する検出結果に基づいて、対象画像における欠陥の有無を判定する。具体的には、異常として検出された画素の数量が、所定の数を越える場合、または、異常として検出された画素の面積が、所定の大きさを越える場合に、欠陥判定部145は、欠陥を有すると判定する。プロセッサ121は、欠陥判定部145によって出力される、判定結果を表す情報を、表示部129に表示してもよい。判定結果を表す情報は、欠陥を有すると判定された対象画像とともに、異常として検出された画素の座標を示す情報等を含んでいてもよい。
【0039】
第1学習モデル生成部149は、第1学習モデル147を生成し、記憶部125に記憶させる。第1学習モデル147は、具体的には、ニューラルネットワークを用いたオートエンコーダ、または、変分オートエンコーダ(Variational Autoencoder)である。第1学習モデル147が有する第1学習済みデータは、第1学習モデル147において、対象物画像905を特徴量および教師データとし、入力された対象物画像905を再構成した再構成画像911を出力するよう学習を行うことによって得られる。第1学習済みデータを得るための学習では、教師データとして、複数の良品画像901が用いられる。良品画像901は、欠陥が無いとされる対象物90をカメラ110で撮像することによって得られる画像である。第1学習モデル147を生成する処理の詳細については、後述する。
【0040】
第2学習モデル生成部153は、複数の良品画像901から画素ごとに取得される画素特徴情報を標本とし、前記画素特徴情報がとり得る値に対する確率分布を推定し、入力された前記画素特徴情報に対する生起確率を出力するように学習を行うことによって、学習済みである第2学習済みデータを有する第2学習モデル151を生成する。第2学習モデル生成部153は、カーネル密度推定を用いて、画素特徴情報の分布に対する確率分布を推定する。第2学習モデル生成部153は、生成した第2学習モデル151を、記憶部125に記憶させる。第2学習モデル153を生成する処理の詳細については、後述する。
【0041】
<第1学習モデルの生成>
図4は、実施形態の第1学習モデル147を生成する流れを示す図である。
図4に示すように、情報処理装置120は、複数の良品画像を準備する(準備工程S11)。具体的には、プロセッサ121が、複数の良品の対象物90を、カメラ110で撮像することによって複数の良品画像901を取得する。そして、プロセッサ121は、取得した複数の良品画像901を記憶部125に記憶させる。続いて、第1学習モデル生成部149が、取得された複数の良品画像901を用いて、第1学習モデル147を生成する(学習モデル生成処理S12)。第1学習モデル生成部149は、生成した第1学習モデル147を記憶部125に記憶させる(記憶工程S13)。
【0042】
図5は、実施形態の第1学習モデル147を概念的に示す図である。
図5に示すように、第1学習モデル147は、オートエンコーダー(自己符号化器)と称される、エンコーダに相当する部分と、デコーダに相当する部分と、を有するニューラルネットワークである。エンコーダに相当する部分は、入力画像を次元圧縮することにより潜在変数を求め、デコーダに相当する部分は、潜在変数から元の入力画像を再現する。第1学習モデル生成部149は、良品画像901を教師データとし、特徴量として入力された良品画像901を再構成するよう、第1学習モデル147に学習させる。
【0043】
図6は、第1学習モデル147を用いて、不良画像903から再構成画像913を生成する処理を概念的に示す図である。不良画像903は、欠陥部分91を含む対象物90を、カメラ110を用いて撮像することにより得られた画像である。欠陥部分91は、例えば、錠剤90に付着した汚れまたは異物、欠け等である。第1学習モデル147が不良画像903から再現する再構成画像913は、欠陥部分91を含まない良品画像となる。画素特徴情報取得部141は、不良画像903と、再構成画像913との差分を取る。これにより、正常な部分の輝度が相殺され、欠陥部分91が選択的に抽出される。
【0044】
<第2学習モデルの生成>
図7は、実施形態の第2学習モデル151を生成する流れを示す図である。
図7に示すように、情報処理装置120は、複数の良品画像901を準備する(準備工程S21)。準備工程S21にて準備される複数の良品画像901は、
図4に示す準備工程S11で準備される複数の良品画像901と同じとしてもよいし、準備工程S11とは別に取得されたものとしてもよい。準備工程S21が完了すると、画素特徴情報取得部141が、第1学習モデル147を用いて、良品画像901から再構成画像911を生成する再構成画像生成処理S22を実行する。また、画素特徴情報取得部141は、再構成画像生成処理S22によって生成した再構成画像911と、元の良品画像901との差分を取ることによって、差分画像921を生成する。画素特徴情報取得部141は、全ての良品画像901について、再構成画像生成処理S22及び差分画像生成処理S23を実行する。
【0045】
図8は、良品画像901と再構成画像911とから差分画像921を生成する処理を概念的に示す図である。
図8に示すように、良品画像901から生成される再構成画像911は、元の良品画像901と相違がほとんど無い。このため、差分画像921では、全体的に輝度が小さい画像となる。
【0046】
図7に戻って、全ての良品画像901について、差分画像生成処理S23が完了すると、画素特徴情報取得部141が、複数の差分画像921から画素ごとに画素特徴情報を取得する(画素特徴情報取得処理S24)。続いて、第2学習モデル生成部153が、抽出された画素特徴情報に基づいて、画素ごとに、画素特徴情報の確率分布を推定する(確率分布推定処理S25)。まず、画素特徴情報取得処理S24について、
図9を参照しつつ説明する。
【0047】
図9は、複数の差分画像921から画素特徴情報の標本分布201を取得する処理を概念的に示す図である。
図9に示すように、画素特徴情報取得部141は、複数の差分画像921から、同じ座標にある画素ごとに、画素特徴情報として輝度を取得する。具体的には、
図9に示すように、画素特徴情報取得部141は、画素群Pxs1,Pxs3から、輝度を抽出する。画素群Pxs1は、複数の差分画像921において、1枚目の差分画像921における画素Px1と同じ座標の画素の集合である。これと同様に、画素特徴情報取得部141は、複数の差分画像921において、画素Px3と同じ座標にある画素の集合である画素群Pxs3からも輝度を抽出する。このようにして、画素特徴情報取得部141は、複数の差分画像921から、画素ごとに輝度を抽出する。なお、複数の画素を1つの画素とする場合、複数の画素の各輝度から求められる代表値を画素の輝度としてもよい。代表値は、具体的には、平均値、中央値または最頻値のいずれかとしてもよい。
【0048】
画素特徴情報取得部141が輝度を抽出すると、
図9に示すように、第2学習モデル生成部153が、抽出された輝度の発生頻度(または、発生確率)を表す標本分布201を、画素ごとに生成する。そして、
図10に示すように、第2学習モデル生成部153は、標本分布201から、確率分布211を推定する確率分布推定処理S25を実行する。
【0049】
図10は、画素特徴情報の標本分布201から、画素特徴情報の確率分布211を推定する確率分布推定処理S25を概念的に示す図である。
図10に示すように、第2学習モデル生成部153は、カーネル密度推定を用いて確率分布211を推定する。カーネル密度推定を用いることにより、正規分布等の特定の分布の種類を決めずに、確率分布が推定される。すなわち、画素特徴情報の分布が歪みや多峰性を有する場合であっても、画像検査装置10は、分布の大まかな形状を良好に推定することができる。なお、第2学習モデル生成部153は、カーネル密度推定以外の手法、例えばヒストグラム法、最尤推定法、ベイズ推定法、最近傍密度推定法などの確率密度関数の推定法を用いて、確率分布211を推定してもよい。
【0050】
図7に戻って、第2学習モデル生成部153は、確率分布推定処理S25を完了すると、保存処理S26を実行する。記憶処理S26は、第2学習モデル生成部153が、確率分布推定処理S25によって得られた画素ごとの確率分布211を、第2学習モデル151として記憶部125に記憶させる処理である。
【0051】
第2学習モデル生成部153が、確率分布推定処理S25によって、画素ごとに、画素特徴情報の確率分布211を得ると、プロセッサ121は、生起確率の閾値Th1を設定する、閾値設定処理S27を実行する。閾値Th1は、対象画像において、各画素が異常であるか否かを判定するために用いられる。具体的には、
図10に示すように、閾値Th1は、推定された確率分布211において、比較的小さい値に設定される。これにより、生起確率が閾値Th1よりも低い場合、画素特徴情報が外れ値であるとして、該当する画素が異常として検出される。例えば、特定の画素について、生起確率が1%未満の画素特徴情報を異常(外れ値)とする場合、特定の画素の閾値Th1が0.01に設定される。なお、プロセッサ121は、プログラムPに従って、閾値Th1を自動的に設定してもよい。あるいは、オペレータが入力部127を介して値を指定し、プロセッサ121が指定された値を閾値Th1に設定してもよい。オペレータが閾値Th1を指定する場合、
図10に示す確率分布211を表示部129に表示してもよい。これにより、オペレータは、確率分布211を視認しつつ、閾値Th1を指定することができる。
【0052】
プロセッサ121は、閾値Th1を、記憶部125に保存する。なお、閾値Th1は、画素ごと(すなわち、確率分布ごと)に異なっていてもよいし、あるいは、一部の画素または全ての画素で同じ値としてもよい。例えば、オペレータが閾値Th1を指定する場合、全ての画素について閾値Th1を同じとすることによって、閾値Th1の設定が容易となる。
【0053】
図7に示す準備工程S21から画素特徴情報取得処理S24までの一連の処理は、第2学習モデル151を生成するための画素特徴情報を収集する処理である。この画素特徴情報の収集は、第1学習モデル147の学習が完了した後に行われることが好ましい。ただし、画素特徴情報の収集は、第1学習モデル147の学習と並行して行われてもよい。すなわち、学習途中の第1学習モデル147を用いて、再構成画像生成処理S22が行われてもよい。画素特徴情報の収集を開始するタイミングは、第1学習モデル147の学習に利用される損失関数(コスト関数)の値に基づいて決定されるとよい。また、第1学習モデル147の学習が完了した時点で、画素特徴情報の収集が終了されてもよいし、あるいは、第1学習モデル147の学習完了後も画素特徴情報の収集が継続して行われてもよい。さらに、第1学習モデル147の学習の開始と同時に、画素特徴情報の収集が開始されてもよい。
【0054】
<欠陥検知処理について>
図11は、第1学習モデル147および第2学習モデル151を用いた欠陥検知処理の流れを示す図である。また、
図12は、
図11に示す欠陥検知処理の各段階で得られる画像を示す図である。
図11に示すように、プロセッサ121は、まず、カメラ110を用いて、検査対象である対象物90を撮像する撮像処理S31を実行する。プロセッサ121は、撮像処理S31によって、対象物画像905(検査画像)を得るとともに、得られた対象物画像905を記憶部125に記憶させる。以下の説明では、
図12に示すように、撮像処理S31によって、欠陥部分91を有する対象物画像905が得られた場合について説明する。
【0055】
再構成画像生成部140は、撮像処理S31によって得られる対象物画像905から第1学習モデル147を用いて再構成画像911を生成する(再構成画像生成処理S32)。また、再構成画像生成部140は、差分画像生成処理S33を実行する。差分画像生成処理S33は、具体的には、対象物画像905と、再構成画像生成処理S32によって生成される再構成画像との差分である、差分画像925を生成する処理である。再構成画像生成部140は、差分画像生成処理S33によって生成した差分画像925を、記憶部125に記憶させる。
【0056】
図6において説明したように、欠陥部分91を含む対象物画像905から生成される再構成画像は、欠陥部分91が除かれた画像となる。このため、対象物画像905と再構成画像との差分を取ると、正常な部分の輝度が相殺される。したがって、
図12に示すように、対象物画像905が欠陥部分91を有する場合、画素特徴情報取得部141が、差分画像925において、欠陥部分91を特異的に抽出できる。
【0057】
図11に戻って、画素特徴情報取得部141は、生成された差分画像925の1つの画素の、画素特徴情報(輝度)を取得する(画素特徴情報取得処理S34)。画素特徴情報取得部141が画素特徴情報を取得すると、生起確率取得部142が、生起確率取得処理S35を実行する。具体的には、生起確率取得部142は、第2学習モデル151を用いて、画素特徴情報取得処理S34によって取得された輝度の生起確率を求める。生起確率取得処理S35について、
図13を参照しつつ説明する。
【0058】
図13は、生起確率取得処理S35の内容を概念的に示す図である。
図13に示すように、第2学習モデル151は、画素特徴情報取得処理S34によって抽出された輝度B1が入力されると、抽出された画素に対応する確率分布211から、輝度B1の生起確率P1を出力する。
【0059】
図11に戻って、生起確率取得部142は、生起確率取得処理S35を終了すると、差分画像925の全ての画素について、輝度の生起確率の取得が完了したかを判定する(判定処理S36)。生起確率取得部142、全ての画素についての輝度の生起確率を取得するまで、画素特徴情報取得処理S34から判定処理S36までを繰り返し実行する。
【0060】
判定処理S36において、生起確率取得部142が全ての画素について輝度の生起確率を取得したと判定した場合(判定処理S36においてYES)、異常検出部143は、各画素の画素特徴情報が、異常であるか否かを判断する(異常検出処理S37)。具体的には、
図12に示すように、異常検出部143は、生起確率取得処理S35によって取得した生起確率に基づいて、生起確率画像935を生成する。生起確率画像935は、差分画像925の画素ごとに、輝度の生起確率を多階調で表現した画像である。
図12に示す生起確率画像935では、輝度の生起確率が低いほど暗く表現されている。欠陥部分91の輝度は、生起確率が低いため、生起確率画像935では暗い像として現れる。生起確率画像935に基づいて、異常検出部143は、画素ごとに、輝度の生起確率が閾値Th1よりも低いかを判定する。閾値Th1は、閾値設定処理S27(
図7参照)によって、画素ごとに設定された値である。
【0061】
図13に示す例では、輝度B1が抽出された画素の生起確率P1は、当該画素について設定された閾値Th1よりも大きい。このため、異常検出部143は、輝度B1が抽出された画素を正常と判定する。仮に、生起確率P1が閾値Th1よりも小さかった場合、輝度B1が抽出された画素を異常と判定する。
【0062】
異常検出部143は、異常検出処理S37を完了すると、異常箇所を表す異常検出画像945を生成する。
図12に示すように、異常検出画像945は、生起確率画像935を、閾値Th1を用いて2値化した画像である。
【0063】
図12に示すように、差分画像925では、欠陥部分91以外の他の座標にも、比較的明るい画素が点在している。このため、差分画像925を適当な閾値で2値化したとしても、欠陥部分91のみを特異的に検出することは困難である。これに対して、生起確率画像935の各画素を閾値Th1で2値化した異常検出画像945によれば、異常な画素を特異的に抽出することができる。
【0064】
画像検査装置10において使用される第1学習モデル147及び第2学習モデル151は、良品画像901のみを用いた機械学習によって生成される。このため、異常の生起率が極めて低い対象物90についても、画像検査装置10は、異常を有効に検出することができる。
【0065】
<2. 変形例>
以上、実施形態について説明してきたが、本発明は上記のようなものに限定されるものではなく、様々な変形が可能である。
【0066】
画素特徴情報取得部141は、第1学習モデル147を用いて、対象物画像905に基づいて生成された差分画像921の輝度を画素特徴情報として取得している。しかしながら、画素特徴情報は、差分画像921の輝度に限定されない。例えば、画素特徴情報取得部141は、入力画像にエッジ抽出などの空間フィルタリングを適用して得られる画像から、輝度を抽出するようにしてもよい。また、画素特徴情報取得部141は、差分画像に空間フィルタリングを適用してから、輝度を抽出してもよい。
【0067】
第1学習モデル147の生成に用いる画像群の一部に、不良画像903が含まれていてもよい。第1学習モデル147の生成に用いる画像群において、不良画像903の数が良品画像901の数に比べて充分に小さい場合、不良画像903の影響は小さくなる。このため、第1学習モデル生成部149は、良品画像をほぼ再現する第1学習モデルを生成することができる。ただし、良品画像901のみを用いて第1学習モデル147を生成した場合、不良画像903が有する異常な画素特徴情報の影響が排除されるため、良品画像の再構成を高精度に行うことができる。
【0068】
第2学習モデル151の生成に用いる画像群の一部に、不良画像903が含まれていてもよい。第2学習モデル151の生成に用いる画像群において、不良画像903の数が良品画像901の数に比べて充分に小さい場合、不良画像903の影響は小さくなる。ただし、良品画像901のみを用いて第2学習モデル151を生成することによって、正常な画素特徴情報のみの標本分布に基づいて確率分布211を得ることができる。このため、画像検査装置10は、確率分布211を用いて、異常な画素の検出を精度良く行うことができる。
【0069】
この発明は詳細に説明されたが、上記の説明は、すべての局面において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。上記各実施形態及び各変形例で説明した各構成は、相互に矛盾しない限り適宜組み合わせたり、省略したりすることができる。
【符号の説明】
【0070】
10 画像検査装置
110 カメラ
120 情報処理装置
121 プロセッサ
125 記憶部
140 再構成画像生成部
141 画素特徴情報抽出部
142 生起確率取得部
143 異常検出部
145 欠陥判定部
147 第1学習モデル
149 第1学習モデル生成部
151 第2学習モデル
153 確率分布推定部
201 標本分布(画素特徴情報の標本分布)
211 確率分布(画素特徴情報の確率分布)
90 対象物
901 良品画像
905 対象画像
91 欠陥部分
911 再構成画像
921,925 差分画像
B1 輝度(画素特徴情報)
P1 生起確率(画素特徴情報に対する生起確率)
Px1,Px3 画素(単位画素)