(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023056522
(43)【公開日】2023-04-19
(54)【発明の名称】分類システム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230412BHJP
G05B 19/418 20060101ALI20230412BHJP
【FI】
G06T7/00 610A
G05B19/418 Z
【審査請求】有
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2023004253
(22)【出願日】2023-01-16
(62)【分割の表示】P 2021569800の分割
【原出願日】2020-12-17
(31)【優先権主張番号】P 2020001729
(32)【優先日】2020-01-08
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100106116
【弁理士】
【氏名又は名称】鎌田 健司
(74)【代理人】
【識別番号】100131495
【弁理士】
【氏名又は名称】前田 健児
(72)【発明者】
【氏名】村田 久治
(72)【発明者】
【氏名】本村 秀人
(72)【発明者】
【氏名】フェルナンド ジェッフリー
(72)【発明者】
【氏名】菅澤 裕也
(57)【要約】
【課題】対象物のクラス判定に関する信頼性の向上を図る。
【解決手段】分類システムは、入力部と、判定部と、出力部と、を備える。入力部は、対象物の画像データと、対象物の製造条件に関する製造データとを、入力する。判定部は、画像データと対象物の製造条件に関する製造データに基づいて対象物のクラスを判定する。出力部は、対象物がどのクラスかを示す判定結果を出力する。また、対象物の製造条件に関する製造データは、対象物の製造条件に関する特徴量であり、特徴量は、電流(値)、電圧(値)、振動、回転数、圧力、湿度、時間、流量、及び温度のいずれかを含むことが好ましい。
【選択図】
図1
【特許請求の範囲】
【請求項1】
対象物の画像データと、前記対象物の製造条件に関する製造データとを、入力する入力部と、
前記画像データと前記対象物の製造条件に関する製造データに基づいて前記対象物のクラスを判定する判定部と、
前記対象物がどの前記クラスかを示す判定結果を出力する出力部と、
を備える分類システム。
【請求項2】
前記対象物の製造条件に関する製造データは、前記対象物の製造条件に関する特徴量であり、
前記特徴量は、電流(値)、電圧(値)、振動、回転数、圧力、湿度、時間、流量、及び温度のいずれかを含む、
請求項1に記載の分類システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、分類システム、分類方法、及びプログラムに関する。より詳細には、対象物のクラスを判定する分類システム、分類方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、製品の品質異常の要因となる異常工程を精度よく推定するための異常工程推定方法が開示されている。この異常工程推定方法では、複数の工程からなる製造ラインにおけるセンサからのセンサデータを収集する。そして、正常な品質にかかる製品のセンサデータに基づき、工程間の経過時間が特徴ベクトルに含まれるように機械学習を実行することで、工程それぞれに対応するセンサ間の相関モデルを複数生成する。そして、相関モデルの出力値に基づいて、工程ごとにおける正常状態からの乖離度を評価して、その乖離度に基づいて、複数の工程のうちから製品の品質異常の要因となる異常工程を判定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
ところで、製品(対象物)のクラス(例えば異常又は欠陥等の種別)をより正確に判定することが望まれる場合がある。
【0005】
本開示は上記事由に鑑みてなされ、対象物のクラス判定に関する信頼性の向上を図ることができる、分類システムを提供することを目的とする。
【0006】
本開示の一態様の分類システムは、入力部と、判定部と、出力部と、を備える。入力部は、対象物の画像データと、対象物の製造条件に関する製造データとを、入力する。判定部は、画像データと対象物の製造条件に関する製造データに基づいて対象物のクラスを判定する。出力部は、対象物がどのクラスかを示す判定結果を出力する。
【0007】
本開示によれば、対象物のクラス判定に関する信頼性の向上を図ることができる、という利点がある。
【図面の簡単な説明】
【0008】
【
図1】
図1は、一実施形態に係る分類システムの概略構成図である。
【
図2A】
図2Aは、同上の分類システムにおける対象物(電池缶)及び撮像装置の斜視図であり、対象物の画像データを説明するための概念図である。
【
図2B】
図2Bは、同上の対象物の画像データの一例(欠陥種別「A」)を示す図である。
【
図2C】
図2Cは、同上の対象物の画像データの別の一例(欠陥種別「B」)を示す図である。
【
図3】
図3は、同上の対象物における2種類の欠陥の模式的な図である。
【
図4A】
図4Aは、同上の対象物の画像データの一例を示す図である。
【
図5】
図5は、同上の分類システムにおける第1モデル及び第2モデルを説明するための図である。
【
図6】
図6は、同上の第2モデルに関する概念図である。
【
図7A】
図7Aは、同上の分類システムにおける3つの画像データに関する説明図である。
【
図7B】
図7Bは、同上の分類システムにおける3つの画像データに関する説明図である。
【
図7C】
図7Cは、同上の分類システムにおける3つの画像データに関する説明図である。
【
図8】
図8は、同上の分類システムにおける動作に関するフローチャートである。
【
図9】
図9は、同上の分類システムの第一変形例における、新しい欠陥の画像データに関する説明図である。
【
図10】
図10は、同上の第一変形例の動作を説明するための図であり、第2モデルに関する概念図である。
【
図11】
図11は、同上の第一変形例における動作に関するフローチャートである。
【
図12】
図12は、同上の分類システムの第二変形例における動作に関するフローチャートである。
【発明を実施するための形態】
【0009】
(1)概要
以下の実施形態において説明する各図は、模式的な図であり、各図中の各構成要素の大きさ及び厚さそれぞれの比が、必ずしも実際の寸法比を反映しているとは限らない。
【0010】
図1は、一実施形態に係る分類システム1の概略構成図である。
図2Aは、分類システム1における対象物2(電池缶H1)及び撮像装置3の斜視図であり、対象物の画像データを説明するための概念図である。本実施形態に係る分類システム1は、
図1に示すように、第1分類部11と、第2分類部12と、判定部13と、を備えている。
【0011】
第1分類部11は、第1対象データを、複数の第1クラスC1(
図7A~
図7C参照)の中の少なくとも1つの第1クラスC1に分類する。第1対象データは、対象物2の画像データである。ここでは一例として、第1分類部11は、(複数の)画像データから複数の第1クラスC1を学習した学習済みモデル(以下、「第1モデル」と呼ぶことがある)であり、第1モデル格納部P1に格納されている。つまり、第1モデルは、機械学習により生成されたモデルである。以下では、
図2Aに示すように、一例として、対象物2を、アルカリ電池又はリチウムイオン電池等の電池缶H1(金属製の円筒の電池ケース)であることを想定する。
【0012】
第2分類部12は、第2対象データを、複数の第2クラスC2(
図7C参照)の中から少なくとも1つの第2クラスC2に分類する。第2対象データは、対象物2の製造条件に関する製造データである。ここでは一例として、第2分類部12は、複数の第2クラスC2の各々と、製造条件に関する特徴量のデータ分布とが対応付けされたモデル(以下、「第2モデル」と呼ぶことがある)である。第2モデルは、一例として、学習済みモデルではない。
【0013】
判定部13は、第1分類部11による分類結果である第1分類結果、及び第2分類部12による分類結果である第2分類結果のうちの一方を用いるか、又はその両方を用いるかを決定して、その一方又は両方に基づいて、対象物2のクラスを判定する。ここでいう「対象物のクラス」は、例えば、(製造後の)電池缶H1に発生している1又は複数の事象の種別であり、ここでは「欠陥種別」とリンクされていることを想定する。したがって、ここでは一例として、複数の第1クラスC1及び複数の第2クラスC2は、対象物2の欠陥によって規定される。
【0014】
この構成によれば、判定部13は、第1分類結果、及び第2分類結果のうちの一方を用いるか、又はその両方を用いるかを決定して、その一方又は両方に基づいて、対象物2のクラス(ここでは欠陥種別)を判定する。そのため、画像データだけを頼りに、又は製造データだけを頼りに、対象物2のクラスを判定する場合と比べて、対象物2のクラス判定に関する信頼性の向上を図ることができる。
【0015】
(2)詳細
以下、本実施形態に係る分類システム1の構成について、
図1~
図8を参照しながら詳しく説明する。
【0016】
(2.1)全体構成
本実施形態に係る分類システム1は、上述した通り、第1分類部11と、第2分類部12とを備えている。また分類システム1は、
図1に示すように、処理部100と、第1入力部31と、第2入力部32と、出力部33と、第1モデルが格納される第1モデル格納部P1と、第2モデルが格納される第2モデル格納部P2とを更に備えている。上述した判定部13は、処理部100に設けられている。
【0017】
上述した通り、分類システム1がクラス判定を行う対象物2は、
図2Aに示すように、アルカリ電池又はリチウムイオン電池等の電池缶H1である。電池缶H1は、金属製の円筒の電池ケースであり、その一端面(
図2Aでは上端面)が開放された有底円筒状となっている。
【0018】
また上述した通り、第1分類部11は、対象物2の画像データである第1対象データを、複数の第1クラスC1の中の「少なくとも1つの第1クラスC1」に分類する。つまり、1つの画像データが2つ以上の第1クラスC1に分類される場合もある。
【0019】
対象物2(電池缶H1)の画像データは、画像M1(
図2B及び2C参照)を表すデータである。画像M1は、対象物2の画像である。画像M1は、開放された一端面を上に向けて電池缶H1を水平な設置面上に立てた状態で、上方から撮像装置3(カメラ)で撮像されたものである。電池缶H1は、製造後の缶であり、中空である。したがって、画像M1には、電池缶H1の縁部20、内周面21、及び底面22が写っている。
【0020】
図2B及び
図2Cは、それぞれ異常な状態の対象物2(電池缶H1)の例における画像M1を示す。
【0021】
図2Bの画像M1では、対象物2の縁部20において、内側に向かって凹んだフラット状の凹み51がある。言い換えると、
図2Bの対象物2に発生している事象は、欠陥5であり、具体的にはフラット状の凹み51である。以下、フラット状の凹み51が分類される種別(クラス)を、欠陥種別「A」と呼ぶことがある。
【0022】
また
図2Cの画像M1では、対象物2の縁部20において、内側に向かって凹んだカーブ状の凹み52がある。言い換えると、
図2Cの対象物2に発生している事象は、欠陥5であり、具体的にはカーブ状の凹み52である。以下、カーブ状の凹み52が分類される種別(クラス)を、欠陥種別「B」と呼ぶことがある。
【0023】
また対象物2に発生する事象は、対象物2の内周面21又は底面22に発生する線傷53(
図7B参照)もある。以下、線傷53が分類される種別(クラス)を、欠陥種別「C」と呼ぶことがある。
【0024】
電池缶H1に生じ得る欠陥5としては、フラット状の凹み51、カーブ状の凹み52、及び線傷53に限定されない。電池缶H1に生じ得る欠陥5としては、その他にも、点打痕、円擦り傷、汚れ、及び液付着等が挙げられるが、ここでは説明の便宜上、上記の3つ欠陥種別「A」~「C」のみについて説明する。
【0025】
本実施形態に係る分類システム1では、着目した対象物2において、どのような種別の欠陥5が、何箇所発生しているかについて、より正確に判定される(対象物2のクラス判定)。本実施形態の分類システム1では、対象データ(第1対象データである画像データ)の入力に対する最終的な出力は、対象物2が、欠陥のない正常な状態であるか、欠陥のある異常な状態であるか、異常な状態ならどのクラス(欠陥種別)かを示す「判定結果」となる。したがって、分類システム1は、例えば対象物2の検査に利用可能である。以下では、対象物2の判定結果が、欠陥のない正常な状態を示す場合、「OK判定」と呼ぶことがある。一方、対象物2の判定結果が、欠陥のある異常な状態を示す場合、「NG判定」と呼ぶことがある。
【0026】
特に、詳細は後述するが、欠陥5のサイズが比較的に小さい場合、フラット状の凹み51ともカーブ状の凹み52とも判断し得る可能性がある。例えば、
図3は、合計9つの対象物2に関する欠陥5の模式的な図であり、上段(一点鎖線の枠F1参照)にある4つの対象物2は、いずれも欠陥種別「A」に該当するが、左側から右側に向かうほどフラット状の凹み51のサイズが小さくなっている場合を示す。また下段(二点鎖線の枠F2参照)にある4つの対象物2は、いずれも欠陥種別「B」に該当するが、左側から右側に向かうほどカーブ状の凹み52のサイズが小さくなっている場合を示す。
【0027】
ここで、枠F1と枠F2の両方に含まれている右端にある対象物2は、その欠陥5のサイズが、他の欠陥5に比べて小さい。そのため、画像データだけによるクラス判定では、欠陥種別「A」及び欠陥種別「B」のいずれであるかについて判定しにくい場合がある。
【0028】
これに対して、本実施形態の分類システム1は、補助的に、第2対象データである製造データも活用することで、より精度の高いクラス判定を実現し得るものである。特に、対象物2に対して何かしらの欠陥(不良)が発生している場合、製造ラインの複数の工程のどこかに、その要因が潜んでいる可能性が高い(例えば生産設備における各種パラメータの設定誤り、又は設備機器の不具合の発生等)。したがって、各工程における製造データにも、異常な数値として発現している可能性が高い。そこで、製造データも活用することで、より精度の高いクラス判定を実現できる。
【0029】
(2.2)2つの入力部、及び出力部
第1入力部31及び第2入力部32の各々は、分類システム1にデータを入力するために用いられる。
【0030】
第1入力部31及び第2入力部32の各々によって分類システム1に入力するデータの例としては、機械学習の実行のための情報、判定処理の実行のための情報、及び、分類システム1の操作のための情報を含み得る。
【0031】
ここでは第1入力部31によって入力するデータは、主に、画像データ(第1対象データ)を含む。つまり、第1入力部31への入力データは、主に、撮像装置3で撮像された、検査対象となる画像データ(検査画像)を含む。
【0032】
一方、第2入力部32によって入力するデータは、主に、対象物2の製造条件に関する製造データ(第2対象データ)を含む。ここでは一例として、製造データとは、製造ラインに設置された(後述する)各種センサから直接的に検知されたセンサデータ、又はセンサデータに基づき推定された推定データ等である。つまり、第2入力部32への入力データは、主に、対象物2の製造ラインの1又は複数の製造工程において適用された電流(値)、電圧(値)、温度、湿度、時間、又は流量等に関するデータ(実績データ)を含む。
【0033】
第1入力部31及び第2入力部32の各々は、データの入力のための1以上のインタフェースを含む。1以上のインタフェースは、データの入力のためのポート、及び分類システム1を操作するための入力装置を含む。入力装置は、例えば、キーボード、マウス、トラックボール、タッチパッド等を含み得る。
【0034】
第1入力部31及び第2入力部32の各々(入力ポート)は、処理部100と電気的に接続されていて、上述した入力データを、処理部100に送る。
【0035】
各画像データは、その対象物2の製造条件に関する製造データと対応付けされている。具体的には、製造された各々の対象物2には、その識別番号として「セルID」(
図5参照)が付与されていて、各セルIDは、製造データ、及び画像(データ)と対応付けされている。言い換えると、第1入力部31によって入力するデータは、画像データ、及び当該画像データと対応付けされたセルIDを含む。同様に、第2入力部32によって入力するデータは、製造データ、及び当該製造データと対応付けされたセルIDを含む。したがって、処理部100は、各入力部を通じて、画像データと製造データとを例えば別々のタイミングで取得しても、セルIDに基づき、画像データに対応する製造データを(又は製造データに対応する画像データを)特定可能である。
【0036】
出力部33は、分類システム1からデータを出力するために用いられる。出力部33により分類システム1から出力するデータの例としては、機械学習の実行のための情報、判定処理の実行のための情報、及び、分類システム1の操作のための情報を含み得る。特に出力部33により出力するデータの例として、上述した「判定結果」の情報を含む。
【0037】
出力部33は、データの出力のための1以上のインタフェースを含む。1以上のインタフェースは、データの出力のためのポート、データを表示するための画像表示装置、及び音声メッセージ及び報知音(警報音)を出力するスピーカ等を含む。画像表示装置は、液晶ディスプレイ又は有機EL(Electro Luminescence)ディスプレイ等の薄型のディスプレイ装置を含み得る。
【0038】
分類システム1を利用するユーザは、出力部33の画像表示装置を通じて、例えば、複数の対象物2に対する判定結果に関するリストを閲覧できる。特に後述する報知部14の報知内容は、例えば、出力部33によって、ユーザに報知され得る。
【0039】
(2.3)第1モデル、及び第1モデル格納部
第1モデル(第1分類部11)は、第1入力部31から入力される画像データ(第1対象データ)の判定に使用される。第1モデルは、画像データと判定の結果との関係を学習した学習済みモデルである。言い換えると、第1分類部11は、対象物2の画像データから複数の第1クラスC1(
図7A~
図7C参照)を学習した学習済みモデルである。したがって、本実施形態では、第1分類部11による分類結果である「第1分類結果」とは、学習済みモデルによる「結果」である。
【0040】
第1分類部11(第1モデル)は、対象物2の画像データを、複数の第1クラスC1の中の少なくとも1つの第1クラスC1に分類する。ここでは、複数の第1クラスC1は、分類カテゴリーとして、「クラス1」、「クラス2」及び「クラス3」(
図7A~
図7C参照)を含み得る。また第1分類部11は、対象物2の画像データを、画像データ内の、対象物2に発生している1又は複数の事象(ここでは欠陥5)の種別に基づいて分類する。そして、「クラス1」、「クラス2」及び「クラス3」は、欠陥種別「A」、欠陥種別「B」、及び欠陥種別「C」と、一対一でそれぞれリンクしている。
【0041】
処理部100の(後述する)学習部10は、例えば学習用データセットを利用した教師あり学習により、学習済みモデル(第1モデル)を生成する。具体的には、例えば、設定者(人)が、目視によって「NG判定」された欠陥のある複数の画像データを、教師データとして、欠陥種別「A」、欠陥種別「B」、及び欠陥種別「C」のいずれか1つ(又は複数)にラベリングする。そして、設定者は、そのラベリングしたデータを、例えば第1入力部31から入力する。そして、学習部10は、ラベリングされたデータ(画像データと欠陥種別)を用いて、機械学習により、第1モデル(画像分類モデル)を作成する。
【0042】
例えば、
図5(データ群D1)を参照しながら説明すると、設定者の目視によって「NG判定」された「ファイル(File)10」及び「ファイル45」・・・の画像データは、それぞれ欠陥種別「A」とラベリングされる。また設定者の目視によって「NG判定」された「ファイル68」・・・の画像データは、それぞれ欠陥種別「B」とラベリングされる。また設定者の目視によって「NG判定」された「ファイル90」・・・の画像データは、それぞれ欠陥種別「C」とラベリングされる。
【0043】
第1モデル格納部P1は、第1モデルを格納する。第1モデル格納部P1は、1以上の記憶装置を含む。記憶装置は、例えば、RAM(Random Access Memory)、又はEEPROM(Electrically Erasable Programmable Read Only Memory)である。
【0044】
(2.4)第2モデル、及び第2モデル格納部
第2モデル(第2分類部12)は、第2入力部32から入力される製造データ(第2対象データ)の判定に使用される。第2モデルは、学習済みモデルではなく、設定者(人)によって作成されたモデルである。第2分類部12は、複数の第2クラスC2(
図7C参照)の各々と、製造条件に関する特徴量(
図5では、適用された電流(値)、電圧(値)、振動、回転数、圧力、湿度、時間、流量、又は温度)のデータ分布とが対応付けされたモデルである。したがって、本実施形態では、第2分類部12による分類結果である「第2分類結果」とは、上記第2モデルによる「結果」である。
【0045】
第2分類部12(第2モデル)は、対象物2の製造データ(電流等の特徴量に関する数値)を、複数の第2クラスC2の中の少なくとも1つの第2クラスC2に分類する。複数の第2クラスC2は、分類カテゴリーとして、「クラス1」、「クラス2」及び「クラス3」を含み得る。「クラス1」、「クラス2」及び「クラス3」は、欠陥種別「A」、欠陥種別「B」、及び欠陥種別「C」と、一対一でそれぞれリンクしている。つまり、ここでは、複数の第1クラスC1と複数の第2クラスC2とは、互いに一致する。
【0046】
ここでいう「一致」とは、第1クラスC1の数が、第2クラスC2の数と同じで、さらに第1クラスC1の「クラス1」~「クラス3」にリンクする欠陥種別も、第2クラスC2の「クラス1」~「クラス3」にリンクする欠陥種別と、同じであることを意味する。例えば、複数の第1クラスC1と複数の第2クラスC2とは、互いに不一致でもよい。例えば、第2クラスC2の数が、第1クラスC1の数より少なくてもよい。ただし、複数の第1クラスC1と複数の第2クラスC2とは、少なくとも1つ以上の欠陥種別について互いに同じであることが望ましい。
【0047】
ここでは一例として、対象物2は、
図5に示すように、3つの工程(工程X、工程Y、及び工程Z)を経て製造されているものとする。言い換えると、対象物2の製造ラインは、工程X、工程Y、及び工程Zを含む。
図5では、左から順に工程X、工程Y、及び工程Zと並んで図示されているが、実際の工程の順番を示すものではない。また工程の数も3つに限定されるものではない。
【0048】
図5のデータ群D1では、工程Xは、製造条件に関する特徴量の一例として、電流(値)、電圧(値)、及び振動に関する特徴量を含む。これらの特徴量は、工程Xの1又は複数のセンサで検知されたセンサデータである。工程Xにおける1又は複数のセンサは、例えば、工程Xで使用される生産設備(例えば加工機のアクチュエータ)の電流及び電圧を監視する電流センサ及び電圧センサを含み得る。また1又は複数のセンサは、工程Xにおける生産設備又は周囲環境で発生している振動を検知する振動センサを含み得る。特徴量は、各センサで直接的に検知されたセンサデータに限定されない。例えば、「振動」は、振動センサを用いる代わりに、工程Xで使用される生産設備(例えば交流モータ)の交流電流の波形における高調波成分に基づいて、推定されてもよい。
【0049】
図5のデータ群D1では、工程Yは、製造条件に関する特徴量の一例として、回転数、圧力、及び湿度に関する特徴量を含む。これらの特徴量は、工程Yの1又は複数のセンサで検知されたセンサデータである。工程Yにおける1又は複数のセンサは、例えば、工程Yで使用される生産設備(例えばモータ)の回転数を監視する角速度センサ、生産設備(例えばプレス機)の圧力を監視する圧力センサ、及び生産設備内の湿度又は周囲湿度を監視する湿度センサ等を含み得る。
【0050】
図5のデータ群D1では、工程Zは、製造条件に関する特徴量の一例として、時間、流量、及び温度に関する特徴量を含む。これらの特徴量は、工程Zの1又は複数のセンサで検知されたセンサデータである。工程Zにおける1又は複数のセンサは、例えば、工程Zの生産設備で使用される液剤の適用時間を監視する計時センサ、液剤の流量を監視する流量センサ、液剤の温度を監視する温度センサ等を含み得る。
【0051】
図5の例では、各工程の特徴量は3種類であるが、種類の数は特に限定されず、1種類又は2種類でもよいし、4種類以上でもよい。また工程間で種類の数が異なってもよい。
【0052】
各セルIDは、上述した工程X~Zにおける製造条件に関する特徴量に関して、実際にそのセルIDに対応する対象物2の製造時に適用されていた特徴量(数値)と対応付けされている。具体的には、セルID「10232」に対応する対象物2は、「電流:2.3、電圧:1.2、振動:1.0」という特徴量の製造条件による工程Xを経て、製造されたことになる。そしてセルID「10232」は、工程Xのセンサデータとして「電流:2.3、電圧:1.2、振動:1.0」と対応付けて管理されている。同様に各セルIDは、工程Y、及び工程Zで適用されていた特徴量(数値)とも対応付けされている。
【0053】
このようなデータ群D1の管理は、外部の管理サーバで行われてもよいし、分類システム1(処理部100)で行われてもよい。管理サーバ(又は処理部100)は、各工程の1又は複数のセンサから、センサデータとして検知値(電気信号)を受信し、セルIDと対応付けて管理する。データ群D1は、液晶ディスプレイ又は有機ELディスプレイ等の薄型のディスプレイ装置といった表示装置の表示画面(スマートフォン又はタブレット端末等の表示画面でもよい)上に表示されて、設定者(人)が閲覧できることが望ましい。
【0054】
また管理サーバ(又は処理部100)は、撮像装置3で撮像された画像データ(検査画像)及びそのファイル(File)番号を受信し、セルIDと対応付けて、データ群D1の一部として管理する。上述した、設定者の目視で、欠陥のある複数の画像データを欠陥種別「A」、欠陥種別「B」、及び欠陥種別「C」のいずれか1つ(又は複数)にラベリングする作業は、表示装置上のデータ群D1を見ながら、マウス操作等を通じて行えることが望ましい。
【0055】
図5では各特徴量(数値)の単位については、実際に使用される生産設備の種類によって異なり得るため、ここでは省略している。
【0056】
そして、設定者(人)は、目視によって、データ群D1を参照しながら、第2モデルを作成する。設定者は、データ群D1において、画像データが欠陥種別「A」と判断されている全てのセルIDに関する各特徴量(全部で9種類の特徴量の各々)の数値の集まり(クラスタ)のデータ分布を、欠陥種別「A」と対応付ける。つまり、各特徴量の数値のクラスタは、製造条件に関する特徴量空間SP1(
図6参照)において、規定領域R0として規定される。言い換えると、第2分類結果は、製造条件に関する特徴量空間SP1において、複数の第2クラスC2にそれぞれ対応する複数の規定領域R0を含む。
【0057】
図6では、説明の便宜上、特徴量空間SP1を、より理解し易くするために、二次元(横軸及び縦軸)のグラフで表現している。例えば、
図6では、X軸(横軸)には、9種類の特徴量(電流、電圧、振動・・・)の中のいずれか1つ(例えば「電流」)が適用され、Y軸(縦軸)には、他のずれか1つ(例えば「電圧」)が適用されている。しかし、実際には9種類の特徴量(電流、電圧、振動・・・)の全てについて考慮すると、特徴量空間SP1の次元数は「9」となる。つまり、第2モデルは、9次元の特徴量空間SP1として作成され、特徴量空間SP1の中には、複数の第2クラスC2にそれぞれ対応する複数の規定領域R0が規定される。第2モデルに関するデータは、例えば第2入力部32から入力される。
【0058】
例えば画像データが欠陥種別「A」に該当するセルID「10232」、「10508」・・・の工程Xの「電流」の数値「2.3」、「4.2」・・・に対する同工程Xの「電圧」の数値「1.2」、「0.9」・・・のデータを特徴量空間SP1に反映させる。その結果、データ分布が、ある程度に1つのクラスタ領域を形成する。この領域を「クラス1」にリンクする欠陥種別「A」に対応する第一規定領域R1として規定する。言い換えると、欠陥種別「A」に該当する対象物2の「電流」対「電圧」に関する多数のデータを点(プロット)で示した場合に、1つのクラスタ領域として形成されたものを、第一規定領域R1とする。
図6の例では、第一規定領域R1は、Y軸に沿って長い楕円形状の領域である。ここで、設定者は、第一規定領域R1の中心A1(重心でもよい)の位置(X-Y座標)を決定する。
【0059】
詳細な説明は省略するが、同様に、欠陥種別「B」に該当する対象物2の「電流」対「電圧」に関する多数のデータをプロットで示した場合に、1つのクラスタ領域として形成されたものを、X軸に沿って長い楕円形状の第二規定領域R2とする(
図6参照)。また欠陥種別「C」に該当する対象物2の「電流」対「電圧」に関する多数のデータをプロットで示した場合に、1つのクラスタ領域として形成されたものを、やや小さい楕円形状の第三規定領域R3とする(
図6参照)。設定者は、第二規定領域R2の中心A2の位置、及び第三規定領域R3の中心A3の位置も決定する。
【0060】
図6の例では、特徴量空間SP1の次元数が「2」であるが、実際の「9」に増えても、規定領域R0の数は、第2クラスC2の数(欠陥種別の数)と同じで、3つである。ただし、例えば工程別に規定領域R0を分けてもよい。工程X(3種類の特徴量)で、欠陥種別「A」~「C」にそれぞれ対応する3つの規定領域R0を設定し、同様に工程Y、及び工程Zの各々でも、3つの規定領域R0を設定してもよい(つまり、規定領域R0の数は9つ)。
【0061】
第2モデル格納部P2は、第2モデルを格納する。第2モデル格納部P2は、1以上の記憶装置を含む。記憶装置は、例えば、RAM、又はEEPROMである。第2モデル格納部P2は、処理部100の外部に設けられているが、処理部100が内蔵するメモリに相当してもよい。また第2モデル格納部P2と第1モデル格納部P1とは別々に設けられているが、1つの格納部によって兼用されてもよい。
【0062】
(2.5)処理部
以下、処理部100について説明する。
【0063】
処理部100は、分類システム1の全体的な制御、すなわち、第1入力部31、第2入力部32、出力部33、第1モデル格納部P1、及び第2モデル格納部P2を制御するように構成される。処理部100は、例えば、1以上のプロセッサ(マイクロプロセッサ)と1以上のメモリとを含むコンピュータシステムにより実現され得る。つまり、1以上のプロセッサが1以上のメモリに記憶された1以上のプログラム(アプリケーション)を実行することで、処理部100として機能する。プログラムは、ここでは処理部100のメモリに予め記録されているが、インターネット等の電気通信回線を通じて、又はメモリカード等の非一時的な記録媒体に記録されて提供されてもよい。
【0064】
処理部100は、
図1に示すように、学習部10、判定部13、及び報知部14を有している。言い換えると、処理部100は、学習部10としての機能、判定部13としての機能、及び報知部14としての機能を有している。
【0065】
学習部10は、画像データの判定を行う学習済みモデル(第1分類部11である第1モデル)を生成するための学習方法を実行する。つまり、学習部10は、主に学習フェーズに関する処理を担う。学習方法では、複数の画像データが用いられる。学習部10は、上述の通り、教師あり学習により、第1モデルを生成する。すなわち、学習部10は、設定者が予め「NG判定」された複数の画像データを欠陥種別「A」~「C」のいずれか1つ(又は複数)にラベリングしたデータを用いて、機械学習により、第1モデルを作成する。つまり、対象物2の画像M1が学習画像として利用される。学習画像には、
図2A~
図2Cに示すような「NG判定」された欠陥のある対象物2の画像M1だけでなく、「OK判定」された欠陥のない対象物2の画像も、「基準画像」データとして含まれ得る。
【0066】
判定部13は、主に、学習済みモデル(第1モデル)等を用いた、適用フェーズに関する処理を行う。判定部13は、第1分類部11による第1分類結果、及び第2分類部12による第2分類結果のうちの一方を用いるか、又はその両方を用いるかを決定するように構成される。そして、判定部13は、決定した一方、又は両方の分類結果に基づいて、対象物2のクラスを判定するように構成される。
【0067】
ここでは一例として、判定部13は、第1分類結果を用いることを必須とする。つまり、判定部13は、クラス判定の対象となる対象物2(着目する対象物2)の画像データを、クラス判定のための主たる材料とし、その対象物2の製造データを、クラス判定のための補助的な材料として用いる。したがって、判定部13は、第1分類結果に基づいて、対象物2のクラスを判定する第1判定処理と、第1分類結果だけでは判定しにくい場合に、追加的に第2分類結果も考慮して、対象物2のクラスを判定する第2判定処理とを実行する。
【0068】
報知部14は、判定部13における判定結果に応じて、所定の処理を実行する機能部6に相当する。言い換えると、分類システム1(処理部100)は、機能部6を更に備えている。ここでは一例として、機能部6の所定の処理は、報知処理を含む。機能部6(報知部14)は、例えば、出力部33における画像表示装置への画面表示、又はスピーカからの音声メッセージや報知音(警報音等も含む)、又は画面表示とスピーカ出力の両方を通じて、判定結果をユーザ(例えば対象物2の検査者)に報知する。
【0069】
機能部6の所定の処理は、報知処理のみに限定されない。ここでは学習部10も、機能部6に相当する。機能部6(学習部10)の所定の処理は、判定部13の判定結果を、第1モデル及び第2モデルの少なくとも一方に反映させる処理を更に含む。ここでは一例として、学習部10は、判定部13の判定結果を用いて、第1モデルの再学習を実行する。
【0070】
なお、機能部6の所定の処理は、外部へ情報提供するための処理を含んでもよい。さらに例えば、機能部6の所定の処理は、判定部13の判定結果に基づき、製造ラインの生産設備における制御系に対して制御信号を送信するようなフィードバック制御の処理を含んでもよい。
【0071】
[判定処理]
本実施形態では、画像データを、製造データよりも信頼性が高いものとし、基本的には、画像データによる判定結果を優先する。したがって、判定部13は、先に第1モデル格納部P1内の第1モデル(第1分類部11)を参照して、クラス判定の対象となる画像データから、その対象物2がどのクラスに該当するかを判定する。つまり、判定部13は、先に第1分類結果を用いて、対象物2のクラスを判定する。ただし、判定部13は、第1分類結果において、対象物2のクラス判定に関する不確定要素が存在する場合、第2分類結果を用いて、対象物2のクラスを判定する。
【0072】
先ず
図7Aを参照して説明する。
図7Aの「画像1」の対象物2には、比較的大きなサイズの欠陥5(カーブ状の凹み52)が「1つ」発生している。判定部13は、第1モデルを用いて、その欠陥5が、欠陥種別「A」及び欠陥種別「C」とは不一致で、欠陥種別「B」に一致すると判定する。
図7A~
図7Cにおいて、印「〇」は、「一致」を意味し、印「×」は「不一致」を意味する。
【0073】
ここで欠陥5の発生位置(空間位置)に関する判定について説明する。判定部13は、例えば、Grad-CAMの技術を利用したヒートマップにより、欠陥5の空間位置を認識している。
図4Aは、欠陥5がある対象物2の画像M1を示し、
図4Bは、
図4Aにおける対象物2のヒートマップである画像M2を示す。画像M2では、判定部13が注視している欠陥5の範囲G1が、カラーマップ(
図4Bではグレイスケールで図示)で表示される。判定部13は、欠陥5の空間位置及び数を、ヒートマップ上における座標で認識している。
【0074】
したがって、
図7Aの「画像1」の場合では、判定部13は、ヒートマップによって、欠陥5の空間位置(縁部20の右上)、及び欠陥5の数(1つ)を認識している。
【0075】
判定部13は、第1判定処理において、欠陥5の数が1つである場合、第2判定処理を実行しない。要するに、この時点で、対象物2のクラスが、欠陥種別「B」がリンクしている分類カテゴリーとして「クラス2」に確定される。処理部100は、出力部33より、「画像1」の対象物2が「クラス2」であることを出力する。
【0076】
次に
図7Bを参照して説明する。
図7Bの「画像2」の対象物2には、欠陥5が「2つ」発生している。2つの欠陥5は、それぞれ、カーブ状の凹み52と、線傷53とである。判定部13は、第1モデルを用いて、その2つの欠陥5が、それぞれ、欠陥種別「B」と欠陥種別「C」とに一致し、いずれの欠陥5も欠陥種別「A」とは不一致であると判定する。特に上述の通り、判定部13は、ヒートマップによって、カーブ状の凹み52の空間位置(縁部20の右上)、線傷53の空間位置(底面22の左下)、及び欠陥5の数(2つ)を認識している。つまり、判定部13は、2つの欠陥5の空間位置が、互いに異なることを認識している。
【0077】
判定部13は、第1判定処理において、欠陥5の数が複数であり、ただし、それらの空間位置が互いに異なる場合、第2判定処理を実行しない。要するに、この時点で、対象物2のクラスが、欠陥種別「B」と欠陥種別「C」とがそれぞれリンクしている分類カテゴリーとして「クラス2」及び「クラス3」に確定される。処理部100は、出力部33より、「画像2」の対象物2が「クラス2」及び「クラス3」であることを出力する。
【0078】
要するに、本実施形態の判定部13は、第1分類結果が所定の確定条件を満たす場合、第2分類結果を用いずに、対象物2のクラスを判定する。ここでいう「所定の確定条件」とは、例えば、「欠陥5の数が1つであること」、又は「欠陥5の数が複数の場合に、同一の空間位置に存在しないこと」である。また上述の通り、本実施形態では、判定部13は、画像データ内における1又は複数の事象(ここでは欠陥5)の(空間)位置に関する情報を更に用いて、対象物2のクラスを判定する。
【0079】
更に
図7Cを参照して説明する。
図7Cの「画像3」の対象物2には、一見すると小さい1つの欠陥5が発生している。この「画像3」は、
図3を参照して説明したように、欠陥5のサイズが比較的に小さい対象物2の画像である。そのため、判定部13は、
図7Cの例において、画像データだけによるクラス判定では、その欠陥5の数を2つ(フラット状の凹み51及びカーブ状の凹み52)と判定している。結果的に、判定部13は、1つの欠陥5を、欠陥種別「A」及び欠陥種別「B」に一致すると判定している。しかし、判定部13は、ヒートマップによって、フラット状の凹み51とカーブ状の凹み52の空間位置が互いに同じであることも認識している。
【0080】
図7Cの「画像3」では、上述した「所定の確定条件」が満たされておらず、判定部13は、第2判定処理を実行する。言い換えると、「所定の確定条件が満たされないこと」が、「不確定要素」の1つといえる。不確定要素がある場合に第2判定処理を実行することで、第1分類結果における分類誤り等を見つける可能性を高めることができる。
【0081】
判定部13は、第2判定処理において、第2モデル格納部P2内の第2モデルを参照して、欠陥5が、欠陥種別「A」及び欠陥種別「B」のうちどちらであるかを判定する。つまり、判定部13は、第2判定処理では、3つの第2クラスC2(「クラス1」~「クラス3」)から1つの第2クラスを決定するのではない。判定部13は、第1判定処理による判定結果を考慮して、2つの第2クラスC2(「クラス1」及び「クラス2」)に絞り込んだ上でどちらかを決定する。ここでは、
図7Cに示すように、2つの第2クラスC2(「クラス1」及び「クラス2」)は、2つの第1クラスC1(「クラス1」及び「クラス2」)と一致する。
【0082】
具体的には、判定部13は、第2分類結果を用いる場合、特徴量空間SP1における第2対象データの特徴量から複数の規定領域R0の各々までの距離L0(
図6参照)に基づき、対象物2のクラスを判定する。ただし、上述の通り、判定部13は、既に第2クラスC2を2つに絞り込んでいる。そのため、判定部13は、3つの規定領域R0のうち、「クラス1」及び「クラス2」、すなわち、欠陥種別「A」及び欠陥種別「B」にそれぞれ対応する第一規定領域R1及び第二規定領域R2に着目する。判定部13は、クラス判定の対象となる対象物2の製造データK1から、第一規定領域R1及び第二規定領域R2の中心A1、A2の各々までの距離L0を演算する。
図6の例では、上述の通り、特徴量空間SP1を2次元で説明しているため、製造データK1は、電流値I1と電圧値V1の2つの特徴量に関するデータである。そして、判定部13は、2つの距離L0を互いに比較し、距離L0が短い方の規定領域R0に対応する欠陥種別が、その着目する対象物2の欠陥種別であると判定する。このように距離L0に基づく判定を行うことで、対象物2のクラス判定に関する信頼性を更に向上できる。
【0083】
図6及び
図7Cの例では、製造データK1から第一規定領域R1の中心A1までの距離の方が、製造データK1から第二規定領域R2の中心A2までの距離よりも短い。そのため、判定部13は、第一規定領域R1に対応する欠陥種別「A」が、「画像3」の対象物2の欠陥種別であると判定する。つまり、対象物2のクラスは、製造データ(センサデータ)による判定を経て、欠陥種別「A」とリンクしている「クラス1」に確定される。処理部100は、出力部33より、「画像3」の対象物2が「クラス1」であることを出力する。
【0084】
特にこの場合、第1モデルの学習不足の可能性がある。学習部10は、第1判定処理で欠陥種別「A」及び欠陥種別「B」と判定されたこの画像データを、第2判定処理の判定結果である欠陥種別「A」と紐づけして、教師データとして追加する。つまり、学習部10は、判定部13の判定結果を用いて、第1モデルの再学習を実行する。
【0085】
[動作説明]
上述した判定部13の判定処理の動作を、
図8に示すフローチャートを参照しながら簡単に説明すると以下の通りである。なお、ここでは説明を省略するが、第1判定処理において、欠陥5の数がゼロ(0)の場合については、処理部100は、出力部33より、着目する対象物2が正常である判定結果を出力する。
【0086】
判定部13は、着目する対象物2の画像データについて、欠陥種別の数(欠陥数)が2つ以上か否かを判定する(ステップS1)。欠陥種別の数が1つであれば(ステップS1:No)、出力部33は、第1判定処理で確定されたクラスを、判定結果として出力する(ステップS4)。
【0087】
一方、欠陥種別の数が2つ以上であれば(ステップS1:Yes)、判定部13は、判定根拠(2つ以上の欠陥種別)が同一空間位置であるか否かを判定する(ステップS2)。判定根拠が異なる空間位置であれば(ステップS2:No)、出力部33は、第1判定処理で確定されたクラスを、判定結果として出力する(ステップS4)。
【0088】
判定根拠が同一空間位置であれば(ステップS2:Yes)、判定部13は、第2判定処理を実行して、特徴量空間SP1内における距離L0に基づき、着目する対象物2のクラスを判定する(ステップS3)。そして、出力部33は、第2判定処理で確定されたクラスを、判定結果として出力する(ステップS4)。
【0089】
このように、第1分類結果が2つ以上の第1クラスC1に分類した結果を示す場合において、判定部13は、2つ以上の第1クラスC1に対応する2つ以上の事象(欠陥5)の位置が、同じ位置であれば、第2分類結果を用いて、対象物2のクラスを判定する。また判定部13は、2つ以上の第1クラスC1に対応する2つ以上の事象(欠陥5)の位置が、異なる位置であれば、第2分類結果を用いずに、対象物2のクラスを判定する。
【0090】
[利点]
以上の通り、本実施形態に係る分類システム1では、判定部13は、第1分類結果、及び第2分類結果のうちの一方を用いるか、又はその両方を用いるかを決定して、その一方又は両方の分類結果に基づいて、対象物2のクラスを判定する。つまり、必要に応じて、第1分類結果及び第2分類結果の両方に基づいて、対象物2のクラス判定を実施する場合もある。そのため、画像データだけを頼りに、又は製造データだけを頼りに、対象物2のクラスを判定する場合と比べて、対象物2のクラス判定に関する信頼性の向上を図ることができる。
【0091】
また複数の第1クラスC1と複数の第2クラスC2とが互いに一致するように設定されているため、複数の第1クラスC1と複数の第2クラスC2とで、異なるクラスが混じる場合に比べて、対象物2のクラス判定に関する信頼性を更に向上できる。
【0092】
また判定部13は、第1分類結果が所定の確定条件を満たす場合、第2分類結果を用いずに、対象物2のクラスを判定する。つまり、判定部13は、第2判定処理を実行しない場合がある。そのため、クラス判定に関する処理負荷を軽減できる。また例えば対象物2の検査時間の短縮につながる。
【0093】
さらに判定部13は、画像データ内における欠陥5の位置に関する情報を更に用いて、対象物2のクラスを判定している。結果的に、対象物2のクラス判定に関する信頼性を更に向上できる。特に、2つ以上の欠陥5の位置が同じ位置であれば、第2分類結果を用いて、対象物2のクラスを判定し、2つ以上の欠陥5の位置が異なる位置であれば、第2分類結果を用いずに、対象物2のクラスを判定する。したがって、対象物2のクラス判定に関する信頼性を更に向上でき、また2つ以上の事象の位置が異なる位置である場合、クラス判定に関する処理負荷を軽減できる。
【0094】
(3)変形例
上記実施形態は、本開示の様々な実施形態の一つに過ぎない。上記実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。また、上記実施形態に係る分類システム1と同様の機能は、分類方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。
【0095】
具体的には、一の態様に係る分類方法は、第1分類ステップと第2分類ステップと判定ステップとを備えている。第1分類ステップにて、第1対象データを、複数の第1クラスC1の中の少なくとも1つの第1クラスC1に分類する。第2分類ステップにて、第2対象データを、複数の第2クラスC2の中の少なくとも1つの第2クラスC2に分類する。判定ステップにて、第1分類ステップによる分類結果である第1分類結果、及び第2分類ステップによる分類結果である第2分類結果のうちの一方を用いるか、又はその両方を用いるかを決定して、その一方又は両方に基づいて、対象物のクラスを判定する。第1対象データは、対象物2の画像データである。第2対象データは、対象物2の製造条件に関する製造データである。
【0096】
以下、上記実施形態の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。以下では、上記実施形態を「基本例」と呼ぶこともある。
【0097】
本開示における分類システム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または複数の電子回路で構成される。
【0098】
また、分類システム1における複数の機能が、1つのハウジング内に集約されていることは必須の構成ではない。例えば、分類システム1の構成要素は、複数のハウジングに分散して設けられていてもよい。反対に、分類システム1における複数の機能が、1つのハウジング内に集約されてもよい。さらに、分類システム1の少なくとも一部の機能、例えば、分類システム1の一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
【0099】
(3.1)第一変形例
以下、分類システム1の変形例(第一変形例)について、
図9~
図11を参照しながら説明する。以下の本変形例において、基本例の分類システム1と実質的に共通する構成要素については、同じ参照符号を付与して適宜にその説明を省略する場合がある。
【0100】
図9は、分類システム1の第一変形例における、新しい欠陥の画像データに関する説明図である。
図10は、分類システム1の第一変形例の動作を説明するための図であり、第2モデルに関する概念図である。
図11は、分類システム1の第一変形例における動作に関するフローチャートである。判定部13が、第1モデルを用いた適用フェーズに関する処理(第1判定処理)を行っている中で、第1モデルでは学習されていない新たな(未知の)欠陥が見つかる場合がある。例えば、
図9に示す「画像4」の対象物2には、全体的に楕円状に歪んだ欠陥5が発生している。このような欠陥5が過去に一度も発生したことが無かった場合、教師データとして、対応する欠陥種別が設定されていない可能性がある。
【0101】
そこで本変形例では、
図9に示すように、複数の第1クラスC1は、欠陥種別「不明」とリンクした分類カテゴリーとして「その他」を更に含む。
【0102】
本変形例の判定部13は、第1判定処理において、少なくとも画像データ内に欠陥5が存在することを判定した一方で、その欠陥5が欠陥種別「A」~「C」のいずれにも該当しないと判定した場合、その欠陥5を、欠陥種別「不明」と判定する。
【0103】
ここで基本例の判定部13は、第1分類結果が「所定の確定条件」(欠陥5の数が1つであること、又は欠陥5の数が複数の場合に同一の空間位置に存在しないこと)が満たされた場合に、第2分類結果を用いずに、クラス判定を行っていた。しかし、本変形例の判定部13は、欠陥種別「不明」の欠陥5が存在する場合、例外的に、欠陥5の数及び空間位置を問わずに、第2判定処理を実行する。つまり、欠陥種別「不明」の欠陥5は「不確定要素」の1つといえる。
【0104】
具体的には、例えば、欠陥5の数が、1つ(欠陥種別「不明」の欠陥5)のみであっても、本変形例の判定部13は、第2判定処理を実行する。また欠陥種別「不明」の欠陥5の他にも、例えば欠陥種別「A」の欠陥5が存在し、かつこれらが異なる空間位置に存在しても、本変形例の判定部13は、第2判定処理を実行する。
【0105】
欠陥種別「不明」の欠陥5が存在する場合に欠陥5の数及び空間位置を問わずに第2判定処理を実行する理由として、以下の2つが挙げられる。
【0106】
第1の理由として、欠陥種別「不明」の欠陥5が、上述の通り、実際に新しい欠陥5である可能性がある。第2の理由として、実際には、欠陥種別「A」~「C」のいずれかに該当するべきものが、第1モデルの学習不足によって、誤って欠陥種別「不明」と判定されている可能性がある。
【0107】
本変形例の判定部13は、第2判定処理において、3つの規定領域R0(
図10参照)全てに着目する。本変形例の判定部13は、
図10に示すように、クラス判定の対象となる対象物2の製造データK2から、3つの規定領域R0の各々の中心までの距離L0を演算する。
図10の例でも
図6と同様に、説明の便宜上、特徴量空間SP1を2次元のグラフで表現していて、製造データK2は、一例として、電流値I2と電圧値V2の2つの特徴量に関するデータである。
【0108】
ここで本変形例の判定部13は、3つの規定領域R0の中心A1~A3までの3つの距離L0の中で最も短い距離L0(以下、「対象距離L0」と呼ぶ)が、閾値以上か閾値未満かを判定する。対象距離L0が閾値以上であれば、つまり製造データK2がどの規定領域R0の中心からも比較的離れていれば、判定部13は、第1判定処理で判定された欠陥種別「不明」の欠陥5が、「新しい欠陥」であると決定する。この場合、本変形例の判定部13は、「クラス1」~「クラス3」のいずれにも該当しないため、出力部33からクラスの判定結果として出力しない。その代わりに、本変形例の報知部14は、例えば、出力部33における画像表示装置への画面表示、又はスピーカからの音声メッセージや警報音の出力、又は画面表示とスピーカ出力の両方を通じて、新しい欠陥の発生をユーザ(例えば対象物2の検査者)に警告する。
【0109】
また本変形例の判定部13は、対象距離L0が閾値未満であり、かつその対象距離L0と他の距離L0との差が所定値以上である場合、対象距離L0の規定領域R0に対応する欠陥種別がその対象物2の欠陥種別であると判定する。つまり、判定部13は、第1判定処理では、欠陥種別「不明」と判定されていたが、第2判定処理では、製造データK2が、欠陥種別「A」~「C」のうちある1つの欠陥種別に対応する規定領域R0に、とりわけ近いと判定すると、その欠陥種別に決定する。したがって、対象物2のクラスは、製造データによる判定を経て、その欠陥種別(例えば欠陥種別「A」)とリンクしているクラス(例えば「クラス1」)に確定される。処理部100は、出力部33より、対象物2が「クラス1」であることを出力する。
【0110】
特にこの場合、第2の理由で述べた通り、第1モデルの学習不足の可能性がある。そこで、学習部10は、第1判定処理で欠陥種別「不明」と判定されたこの画像データを、第2判定処理の判定結果である欠陥種別「A」と紐づけして、教師データとして追加する。つまり、学習部10は、判定部13の判定結果を用いて、第1モデルの再学習を実行する。
【0111】
ところで、製造データK2が、欠陥種別「A」~「C」のうち2つ以上の欠陥種別に対応する規定領域R0に近い場合もあり得る。本変形例の判定部13は、対象距離L0が上記の閾値未満であり、かつその対象距離L0と他の距離L0との差が所定値未満である場合、これらの距離L0の規定領域R0に対応する2つ以上の欠陥種別に決定する。この場合、判定部13は、2つ以上のクラスが存在することになり、整合性が取りにくくなるため、出力部33からクラスの判定結果として出力しない。その代わりに、報知部14は、出力部33における画像表示装置への画面表示、又はスピーカからの音声メッセージや警報音の出力、又は画面表示とスピーカ出力の両方を通じて、新しい欠陥が発生している可能性が高い旨をユーザに警告する。
【0112】
[動作説明]
上述した本変形例の判定部13の判定処理の動作を、
図11に示すフローチャートを参照しながら簡単に説明すると以下の通りである。
【0113】
判定部13は、着目する対象物2の画像データについて、欠陥種別「不明」が存在するか否かを判定する(ステップS11)。欠陥種別「不明」が存在しなければ(ステップS11:No)、基本例と同様に、判定した欠陥種別に基づき、そのまま判定結果として出力するか、或いは第2判定処理を実行するかを決定する(ステップS12:
図8のステップS1へ)。
【0114】
一方、欠陥種別「不明」が存在すれば(ステップS11:Yes)、判定部13は、対象距離L0に基づき、閾値との比較判定を行う(ステップS13)。対象距離L0が閾値以上であれば(ステップS13:Yes)、報知部14は、新しい欠陥の発生をユーザに警告する(ステップS14)。
【0115】
また対象距離L0が閾値未満であれば(ステップS13:No)、判定部13は、対象距離L0と他の距離L0との差と、所定値との比較判定を行う(ステップS15)。この差が所定値以上であれば(ステップS15:Yes)、判定部13は、対象距離L0に対応する欠陥種別に決定し、判定結果を出力し(ステップS16)、さらに学習部10は、第1モデルの再学習を実行する(ステップS17)。上記の差が所定値未満であれば(ステップS15:No)、判定部13は、新しい欠陥の発生をユーザに警告する(ステップS14)。
【0116】
この構成によれば、新しい欠陥5が発生した場合にも、対象物2のクラス判定に関する信頼性の向上を図ることができる。また第1モデルの学習不足も改善され得る。特に新しい欠陥5が発生した場合に、ユーザに報知するため、新しい欠陥5の発生が見過されてしまう可能性を低減できる。
【0117】
(3.2)第二変形例
以下、分類システム1の変形例(第二変形例)について、
図12を参照しながら説明する。以下の本変形例において、基本例の分類システム1と実質的に共通する構成要素については、同じ参照符号を付与して適宜にその説明を省略する場合がある。
【0118】
第一変形例では、判定部13が、第1判定処理で、欠陥種別「不明」の欠陥5の存在を認識した上で、第2判定処理で、その欠陥5が新しいものかどうかを判定可能となっている。本変形例の判定部13は、第1判定処理では、欠陥種別「不明」の存在を認識していなくても、第2判定処理でその存在を認識するように構成される。
【0119】
以下では、本変形例の判定部13が、第1判定処理で、2つ以上の欠陥種別(例えば「A」と「B」の2つ)の空間位置が同じであると判定して、第2判定処理を実行する場合について説明する。
【0120】
ここで、基本例の判定部13は、第1判定処理で判定した欠陥種別「A」及び「B」に対応する第一規定領域R1及び第二規定領域R2のみに絞って、2つの距離L0同士の比較を行っていた。しかし、本変形例の判定部13は、全ての規定領域R0の中から、最も短い対象距離L0を決定する点で、基本例と異なる。
【0121】
本変形例の判定部13は、欠陥種別「A」及び「B」の空間位置が同じである場合、先ず対象距離L0に基づき、閾値との比較判定を行う。対象距離L0が閾値以上であれば、判定部13は、欠陥種別「不明」と判定する。ただし、第一変形例とは異なり、判定部13は、「新たな欠陥」とは判定せずに、第1判定処理によって判定された欠陥種別「A」及び「B」を信頼する。判定部13は、欠陥種別「A」及び「B」のうち、距離L0が短い方の規定領域R0に対応する欠陥種別に決定して、判定結果を出力する。
【0122】
一方、本変形例の判定部13は、対象距離L0が閾値未満であれば、次に、対象距離L0と他の距離L0との差と、所定値との比較判定を行う。その対象距離L0と他の距離L0との差が所定値以上であれば、対象距離L0に対応する(1つの)欠陥種別に決定して、判定結果を出力する。さらに第1モデルの学習不足に起因して、画像データによる判定が誤った可能性があるため、学習部10は、判定部13の判定結果を用いて、第1モデルの再学習を実行する。
【0123】
上記の差が所定値未満であれば、判定部13は、これらの距離L0の規定領域R0に対応する2つ以上の欠陥種別に決定する。さらに判定部13は、この製造データ(センサデータ)によって判定された2つ以上の欠陥種別が、画像データによって判定された欠陥種別「A」及び「B」と、全て一致するかどうか比較する。全て一致すれば、判定部13は、そのまま判定結果を出力する。しかし、部分的に不一致であれば、例えば、製造データによる判定が、欠陥種別「A」及び「C」であり、画像データによる判定が、欠陥種別「A」及び「B」であれば、判定部13は、一致している欠陥種別「A」に決定して、判定結果を出力する。なお、完全不一致であれば、判定部13は、第1判定処理によって判定された欠陥種別「A」及び「B」を信頼して、判定結果を出力する。
【0124】
[動作説明]
図12は、分類システム1の第二変形例における動作に関するフローチャートである。
【0125】
上述した本変形例の判定部13の判定処理の動作を、
図12に示すフローチャート図を参照しながら簡単に説明すると以下の通りである。
【0126】
判定部13は、着目する対象物2の画像データについて、判定根拠(2つ以上の欠陥種別)が同一空間位置であるか否かを判定する(ステップS21:基本例でいえば
図8のステップS2「Yes」に相当)。
【0127】
判定根拠が同一空間位置であれば(ステップS21:Yes)、判定部13は、第2判定処理を実行して、対象距離L0に基づき、閾値との比較判定を行う(ステップS22)。判定根拠が同一空間位置でなければ(ステップS21:No)、そのまま判定結果を出力する(ステップS24)。
【0128】
対象距離L0が閾値以上であれば(ステップS22:Yes)、報知部14は、第1判定処理(画像データ)によって判定された2つ以上の欠陥種別を優先する(ステップS23)。判定部13は、例えばその中からいずれか1つの欠陥種別に決定し、判定結果を出力する(ステップS24)。
【0129】
対象距離L0が閾値未満であれば(ステップS22:No)、判定部13は、対象距離L0と他の距離L0との差と、所定値との比較判定を行う(ステップS25)。この差が所定値以上であれば(ステップS25:Yes)、判定部13は、対象距離L0に対応する欠陥種別に決定し、判定結果を出力し(ステップS26)、さらに学習部10は、第1モデルの再学習を実行する(ステップS27)。
【0130】
上記の差が所定値未満であれば(ステップS25:No)、判定部13は、製造データによる2つ以上の欠陥種別と、画像データによる2つ以上の欠陥種別とで、一致する欠陥種別が少なくとも1つ存在するか否か比較する(ステップS28)。一致する欠陥種別が少なくとも1つ存在すれば(ステップS28:Yes)、判定部13は、一致する欠陥種別のクラスに決定して、判定結果を出力する(ステップS24)。完全不一致であれば(ステップS28:No)、判定部13は、画像データの判定を優先させて(ステップS23)、判定結果を出力する(ステップS24)。
【0131】
この構成によれば、対象物2のクラス判定に関する信頼性を更に向上できる。また第1モデルの学習不足も改善され得る。
【0132】
(3.3)その他の変形例
基本例では、判定のクラスが、一例として対象物2に発生し得る「欠陥(不良)」によって規定されている。しかし、判定のクラスは、「欠陥」に限定されず、例えば対象物2の品質性の度合い(優良、良、及び普通等)によって規定されてもよい。
【0133】
基本例では、第1モデルは、学習済みモデルであるが、学習済みモデルでなくてもよい。また基本例では、第2モデルは、学習済みモデルではないが、学習済みモデルでもよい。
【0134】
基本例では、画像データによる判定(第1判定処理)を、製造データによる判定(第2判定処理)よりも先に行っているが、逆に製造データによる判定を先に行ってもよい。
【0135】
基本例では、判定部13は、画像データによる判定(第1判定処理)で、欠陥数がゼロ(0)なら、製造データによる判定(第2判定処理)を実行せずに、そのまま正常である判定結果を出力している。しかし、判定部13は、画像データによる判定(第1判定処理)で、欠陥数がゼロ(0)であっても、第2判定処理を実行してもよい。また、正常である場合、判定結果は出力されなくてもよい。
【0136】
第一変形例及び第二変形例では、閾値が1つのみであるが、閾値は複数段階で設定されていてもよい。
【0137】
(4)まとめ
以上説明したように、第1の態様に係る分類システム(1)は、第1分類部(11)と、第2分類部(12)と、判定部(13)と、を備える。第1分類部(11)は、第1対象データを、複数の第1クラス(C1)の中の少なくとも1つの第1クラス(C1)に分類する。第2分類部(12)は、第2対象データを、複数の第2クラス(C2)の中の少なくとも1つの第2クラス(C2)に分類する。判定部(13)は、第1分類部(11)による分類結果である第1分類結果、及び第2分類部(12)による分類結果である第2分類結果のうちの一方を用いるか、又はその両方を用いるかを決定して、その一方又は両方に基づいて、対象物(2)のクラスを判定する。第1対象データは、対象物(2)の画像データである。第2対象データは、対象物(2)の製造条件に関する製造データである。第1の態様によれば、対象物(2)のクラス判定に関する信頼性の向上を図ることができる。
【0138】
第2の態様に係る分類システム(1)は、第1の態様において、複数の第1クラス(C1)と複数の第2クラス(C2)とは、互いに一致する。第2の態様によれば、複数の第1クラス(C1)と複数の第2クラス(C2)とで、異なるクラスが混じる場合に比べて、対象物(2)のクラス判定に関する信頼性を更に向上できる。
【0139】
第3の態様に係る分類システム(1)として、第1の態様又は第2の態様において、判定部(13)は、第1分類結果が所定の確定条件を満たす場合、第2分類結果を用いずに、対象物(2)のクラスを判定する。第3の態様によれば、クラス判定に関する処理負荷を軽減できる。
【0140】
第4の態様に係る分類システム(1)として、第1の態様~第3の態様のいずれか1つにおいて、第1分類部(11)は、画像データ内の、対象物(2)に発生している1又は複数の事象の種別に基づいて分類する。判定部(13)は、画像データ内における1又は複数の事象の位置に関する情報を更に用いて、対象物(2)のクラスを判定する。第4の態様によれば、対象物(2)のクラス判定に関する信頼性を更に向上できる。
【0141】
第5の態様に係る分類システム(1)として、第4の態様において、第1分類結果が、2つ以上の第1クラス(C1)に分類した結果を示す場合において、判定部(13)は、以下の通りに判定する。すなわち、判定部(13)は、2つ以上の第1クラス(C1)に対応する2つ以上の事象の位置が、同じ位置であれば、第2分類結果を用いて、対象物(2)のクラスを判定する。また判定部(13)は、2つ以上の第1クラス(C1)に対応する2つ以上の事象の位置が、異なる位置であれば、第2分類結果を用いずに、対象物(2)のクラスを判定する。第5の態様によれば、2つ以上の事象の位置が同じ位置である場合、対象物(2)のクラス判定に関する信頼性を更に向上できる。また2つ以上の事象の位置が異なる位置である場合、クラス判定に関する処理負荷を軽減できる。
【0142】
第6の態様に係る分類システム(1)として、第1の態様~第5の態様のいずれか1つにおいて、第2分類結果は、製造条件に関する特徴量空間(SP1)において、複数の第2クラス(C2)にそれぞれ対応する複数の規定領域(R0)を含む。判定部(13)は、第2分類結果を用いる場合、特徴量空間(SP1)における第2対象データの特徴量から複数の規定領域(R0)の各々までの距離(L0)に基づき、対象物(2)のクラスを判定する。第6の態様によれば、対象物(2)のクラス判定に関する信頼性を更に向上できる。
【0143】
第7の態様に係る分類システム(1)として、第1の態様~第6の態様のいずれか1つにおいて、判定部(13)は、先に第1分類結果を用いて、対象物(2)のクラスを判定する。判定部(13)は、第1分類結果において、対象物(2)のクラス判定に関する不確定要素が存在する場合、第2分類結果を用いて、対象物(2)のクラスを判定する。第7の態様によれば、例えば、第1分類結果における分類誤りを見つける可能性を高めることができる。また新しいクラス(例えば新しい欠陥等)を見つける可能性を高めることができる。
【0144】
第8の態様に係る分類システム(1)は、第7の態様において、第2分類結果を用いた判定部(13)における判定結果に応じて、所定の処理を実行する機能部(6)を更に備える。第8の態様によれば、判定部(13)における判定結果に関する応用性を高めることができる。例えば、所定の処理が報知処理を含めば、判定結果を人に伝えることができる。
【0145】
第9の態様に係る分類システム(1)として、第1の態様~第8の態様のいずれか1つにおいて、複数の第1クラス(C1)及び複数の第2クラス(C2)は、対象物(2)の欠陥によって規定される。第9の態様によれば、対象物(2)の欠陥判定に関する信頼性を向上できる。
【0146】
第10の態様に係る分類システム(1)として、第1の態様~第9の態様のいずれか1つにおいて、第1分類部(11)は、画像データから複数の第1クラス(C1)を学習した学習済みモデルである。第10の態様によれば、第1分類部(11)における分類に関する信頼性が向上され、結果的に、対象物(2)のクラス判定に関する信頼性を更に向上できる。
【0147】
第11の態様に係る分類システム(1)として、第1の態様~第10の態様のいずれか1つにおいて、第2分類部(12)は、複数の第2クラス(C2)の各々と、製造条件に関する特徴量のデータ分布とが対応付けされたモデルである。第11の態様によれば、第2分類部(12)における分類に関する信頼性が向上され、結果的に、対象物(2)のクラス判定に関する信頼性を更に向上できる。
【0148】
第12の態様に係る分類方法は、第1分類ステップと、第2分類ステップと、判定ステップと、を含む。第1分類ステップにて、第1対象データを、複数の第1クラス(C1)の中の少なくとも1つの第1クラス(C1)に分類する。第2分類ステップにて、第2対象データを、複数の第2クラス(C2)の中の少なくとも1つの第2クラス(C2)に分類する。判定ステップにて、第1分類ステップによる分類結果である第1分類結果、及び第2分類ステップによる分類結果である第2分類結果のうちの一方を用いるか、又はその両方を用いるかを決定して、その一方又は両方に基づいて、対象物のクラスを判定する。第1対象データは、対象物(2)の画像データである。第2対象データは、対象物(2)の製造条件に関する製造データである。第12の態様によれば、対象物(2)のクラス判定に関する信頼性の向上を図ることが可能な分類方法を提供できる。
【0149】
第13の態様に係るプログラムは、1以上のプロセッサに第12の態様における分類方法を実行させるためのプログラムである。第13の態様によれば、対象物(2)のクラス判定に関する信頼性の向上を図ることが可能な機能を提供できる。
【0150】
第2~11の態様に係る構成については、分類システム(1)に必須の構成ではなく、適宜省略可能である。
【産業上の利用可能性】
【0151】
本開示の分類システム、分類方法、及びプログラムによれば、対象物のクラス判定に関する信頼性の向上を図ることができる、という利点がある。そのため、本開示に係る発明は、デバイス等の信頼性向上に寄与し、産業上有用である。
【符号の説明】
【0152】
1 分類システム
11 第1分類部
12 第2分類部
13 判定部
2 対象物
6 機能部
C1 第1クラス
C2 第2クラス
L0 距離
R0 規定領域
SP1 特徴量空間