(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-27
(45)【発行日】2023-05-10
(54)【発明の名称】分類システム、分類方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20230428BHJP
G06T 7/00 20170101ALI20230428BHJP
【FI】
G06N20/00
G06T7/00 300F
G06T7/00 350B
(21)【出願番号】P 2021550438
(86)(22)【出願日】2020-08-28
(86)【国際出願番号】 JP2020032539
(87)【国際公開番号】W WO2021070505
(87)【国際公開日】2021-04-15
【審査請求日】2021-12-21
(31)【優先権主張番号】P 2019184815
(32)【優先日】2019-10-07
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100106116
【氏名又は名称】鎌田 健司
(74)【代理人】
【識別番号】100131495
【氏名又は名称】前田 健児
(72)【発明者】
【氏名】フェルナンド ジェッフリー
(72)【発明者】
【氏名】村田 久治
(72)【発明者】
【氏名】本村 秀人
(72)【発明者】
【氏名】菅澤 裕也
【審査官】藤原 敬利
(56)【参考文献】
【文献】国際公開第2018/170028(WO,A1)
【文献】特開平05-342272(JP,A)
【文献】国際公開第2011/081192(WO,A1)
【文献】特開2002-117046(JP,A)
【文献】特開2014-095967(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 3/12
G06N 7/08 -99/00
G06T 7/00 - 7/90
G06V 10/00 -20/90
G06V 30/418
G06V 40/16 、40/20
(57)【特許請求の範囲】
【請求項1】
対象データの入力を受け付ける入力受付部と、
複数の分類器を有し、前記対象データを、複数のクラスのうちのいずれかのクラスに分類する分類部と、
前記対象データの特徴量を算出する算出部と、
前記分類部での分類結果、及び前記算出部で算出された前記対象データの特徴量に基づいて、前記対象データが前記複数のクラスとは異なる新規クラスに分類される可能性を判定する判定部と、を備え
、
前記複数のクラスは、前記分類部の有する複数の分類器にそれぞれ対応する複数の対応クラスと、前記複数の分類器のいずれにも対応しない他クラスと、を含んでおり、
前記判定部は、前記対象データが前記他クラス及び前記新規クラスのいずれに分類されるかを区別して判定し、
前記対象データが前記複数の対応クラスのうちの2以上の対応クラスに分類され、かつ前記対象データの特徴量が特徴量空間にて前記2以上の対応クラスの間にある場合、前記判定部は、前記対象データを前記新規クラスに分類される候補とし、
前記2以上の対応クラスに対応する2以上の分類器のいずれかで、前記対象データの同じ箇所に注目していない場合、前記判定部は、前記対象データを前記候補から除外する、
分類システム。
【請求項2】
前記判定部にて前記対象データが前記新規クラスに分類される可能性があると判定した場合に、前記判定部の判定結果を提示する提示部と、を更に備える、
請求項1に記載の分類システム。
【請求項3】
前記分類部は、前記複数の分類器及びNOR回路により構成される、
請求項1または2に記載の分類システム。
【請求項4】
前記対象データが、前記他クラスに分類され、前記複数の対応クラスのいずれにおいても確信度が閾値よりも低く、かつ、前記対象データの特徴量が特徴量空間にて前記複数の対応クラスのいずれからも所定距離以上離れている場合、前記判定部は、前記対象データを前記新規クラスに分類される候補とする、
請求項1~3のいずれか1項に記載の分類システム。
【請求項5】
前記判定部は、前記候補とされた前記対象データの数が所定数を上回ると、前記対象データが前記新規クラスに分類される、と判定する、
請求項
4に記載の分類システム。
【請求項6】
前記対象データと、前記対象データに対する前記判定部の前記判定結果と、を記憶する記憶部を更に備える、
請求項2に記載の分類システム。
【請求項7】
前記判定結果は、前記対象データの特徴量の類似度に応じたグループに紐付けられて前記記憶部に記憶される、
請求項
6に記載の分類システム。
【請求項8】
前記提示部は、前記グループに属する前記対象データの数に応じた態様で前記判定結果を提示する、
請求項7に記載の分類システム。
【請求項9】
前記分類部は、前記判定部にて前記新規クラスに分類されると判定された前記対象データを教師データとして、再学習される、
請求項1~
8のいずれか1項に記載の分類システム。
【請求項10】
前記提示部は、前記対象データの前記複数のクラスでの確信度と、特徴量空間と、を表示する、
請求項2、
6~
8のいずれか1項に記載の分類システム。
【請求項11】
複数の分類器に対象データを分類する分類方法であって、
前記対象データの入力を受け付ける入力受付ステップと、
前記対象データを、複数のクラスのうちのいずれかのクラスに分類する分類ステップと、
前記対象データの特徴量を算出する算出ステップと、
前記分類ステップでの分類結果、及び前記算出ステップで算出された前記対象データの特徴量に基づいて、前記対象データが前記複数のクラスとは異なる新規クラスに分類される可能性を判定する判定ステップと、を有し、
前記複数のクラスは、
前記複数の分類器にそれぞれ対応する複数の対応クラスと、前記複数の分類器のいずれにも対応しない他クラスと、を含んでおり、
前記判定ステップにおいて、前記対象データが前記他クラス及び前記新規クラスのいずれに分類されるかを区別して判定し、
前記対象データが前記複数の対応クラスのうちの2以上の対応クラスに分類され、かつ前記対象データの特徴量が特徴量空間にて前記2以上の対応クラスの間にある場合、前記判定ステップにおいて前記対象データを前記新規クラスに分類される候補とし、
前記2以上の対応クラスに対応する2以上の分類器のいずれかで、前記対象データの同じ箇所に注目していない場合、前記判定ステップにおいて前記対象データを前記候補から除外する、
分類方法。
【請求項12】
前記判定ステップにて前記対象データが前記新規クラスに分類される可能性があると判定した場合に、前記判定ステップの判定結果を提示する提示ステップと、を更に有する
請求項
11に記載の分類方法。
【請求項13】
1以上のプロセッサに、請求項
11または
12に記載の分類方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に分類システム、分類方法、及びプログラムに関する。より詳細には、本開示は、入力データを分類する分類システム、分類方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、ニューラルネットワークを用いて分類対象である入力パターンを分類結果である出力パターンに変換する分類方法が開示されている。この方法では、入力パターンに対するニューラルネットワークの出力パターンと、入力パターンについて後から出力される正解出力パターンとを比較し、比較結果を実行履歴として順次蓄積する。そして、蓄積された結果を監視して、結果の異常を検出する。他にも、分類方法としては、例えば特許文献2に開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平5-35707号公報
【文献】米国特許出願公開第2017/0039469号明細書
【発明の概要】
【0004】
特許文献1に記載の分類方法では、既存の出力パターン(クラス)にはない新規クラスに属し得る対象データが入力された場合に、対象データを適切に分類することができないという問題があった。
【0005】
本開示は、上記の点に鑑みてなされており、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい分類システム、分類方法、及びプログラムを提供することを目的とする。
【0006】
本開示の一態様に係る分類システムは、入力受付部と、分類部と、算出部と、判定部と、を備える。入力受付部は、対象データの入力を受け付ける。分類部は、対象データを、複数のクラスのうちのいずれかのクラスに分類する。算出部は、対象データの特徴量を算出する。判定部は、分類部での分類結果、及び算出部で算出された対象データの特徴量に基づいて、対象データが前記複数のクラスとは異なる新規クラスに分類される可能性を判定する。
【0007】
本開示の一態様に係る分類方法は、入力受付ステップと、分類ステップと、算出ステップと、判定ステップと、を有する。入力受付ステップは、対象データの入力を受け付けるステップである。分類ステップは、対象データを、複数のクラスのうちのいずれかのクラスに分類するステップである。算出ステップは、前記対象データの特徴量を算出するステップである。判定ステップは、分類ステップでの分類結果、及び算出ステップで算出された対象データの特徴量に基づいて、対象データが複数のクラスとは異なる新規クラスに分類される可能性を判定するステップである。
【0008】
本開示の一態様に係るプログラムは、1以上のプロセッサに、上記の分類方法を実行させる。
【0009】
本開示は、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい、という利点がある。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の一実施形態に係る分類システムの構成を示すブロック図である。
【
図2】
図2は、同上の分類システムに入力される対象データの一例を示す説明図である。
【
図3】
図3は、同上の分類システムにおける分類部の構成を示す説明図である。
【
図4】
図4は、同上の分類システムにおける判定部での第1判定動作の一例を示す説明図である。
【
図5】
図5は、同上の分類システムにおける判定部での第2判定動作の一例を示す説明図である。
【
図6】
図6は、同上の分類システムにおける判定部での第2判定動作の他の一例を示す説明図である。
【
図7】
図7は、同上の分類システムにおいて新規クラスの候補を示す特徴量空間の説明図である。
【
図8】
図8は、同上の分類システムの動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
(1)概要
本実施形態に係る分類システム100は、対象データを複数のクラスのいずれかに分類するためのシステムである。本実施形態では、対象データは、対象画像A1(
図2参照)を表すデータである。対象画像A1は、判定対象物2の画像である。判定対象物2は、一例として、缶である。
図2に示す対象画像A1は、正常な状態の缶の底面を表している。ここで、判定対象物2は、正常な状態と、複数種類の異常な状態と、のうち少なくとも1つの状態をとり得る。異常な状態は、一例として、判定対象物2に点打痕のある状態、線傷のある状態、円擦り傷のある状態、汚れが付着した状態、及び異物(液体等)が付着した状態を含み得る。つまり、分類システム100は、判定対象物2を複数のクラス(ここでは、正常な状態及び複数種類の異常な状態)のいずれかに分類することになる。このため、分類システム100は、判定対象物2の検査に利用され得る。
【0012】
分類システム100は、
図1に示すように、入力受付部11と、分類部F1と、算出部F2と、判定部F3と、提示部(出力部)12と、を備えている。
【0013】
入力受付部11は、対象データの入力を受け付ける。本実施形態では、一例として、判定対象物2を撮像装置にて撮像することで得られた画像データが、対象データとして入力受付部11に入力される。
【0014】
分類部F1は、対象データを、複数のクラスのうちのいずれかのクラスに分類する。本実施形態では、分類部F1は、あらかじめ対象データと分類結果との入出力関係を機械学習した学習済みモデルを利用して、対象データを分類する。つまり、複数のクラスは、あらかじめ機械学習により規定された既存のクラスに相当する。
【0015】
算出部F2は、対象データの特徴量を算出する。本実施形態では、特徴量は、一例として、対象データである画像データの特徴ベクトルと、基準となる画像データの特徴ベクトルとの差分に基づいて算出される。
【0016】
判定部F3は、分類部F1での分類結果、及び算出部F2で算出された対象データの特徴量に基づいて、対象データが複数のクラスとは異なる新規クラスに分類される可能性を判定する。つまり、判定部F3は、対象データが既存の複数のクラスのいずれかに分類されるよりも、新規クラスに分類されるべきであることの可能性を判定する。
【0017】
提示部12は、判定部F3にて対象データが新規クラスに分類される可能性があると判定した場合に、判定部F3の判定結果を提示する。提示部12は、一例として、液晶ディスプレイ等の表示装置により、分類システム100のユーザに対して判定結果を提示する。
【0018】
上述のように、本実施形態では、分類システム100は、判定部F3にて対象データが新規クラスに分類される可能性があると判定すると、自動的に分類部F1を再学習して対象データを新規クラスに分類するのではなく、新規クラスが必要であることをユーザに提示する。したがって、本実施形態では、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい、という利点がある。
【0019】
(2)詳細
以下、本実施形態に係る分類システム100について
図1を参照して説明する。分類システム100は、入力受付部11と、出力部12と、記憶部13と、処理部14と、を備えている。
【0020】
入力受付部11は、対象データの入力を受け付ける。つまり、入力受付部11は、後述する入力受付ステップS1の実行主体である。本実施形態では、入力受付部11は、他装置から有線通信又は無線通信により送信される信号を受信する通信インタフェースであって、対象データとして、撮像装置により撮像された判定対象物2の画像データの入力を受け付ける。対象データ(判定対象物2の画像データ)は、撮像装置から入力受付部11に直接送信されてもよいし、中間媒体を介して間接的に送信されてもよい。入力受付部11にて受け付けた対象データは、処理部14に与えられる。
【0021】
処理部14は、分類システム100の全体的な制御、すなわち、入力受付部11、出力部12、及び記憶部13を制御するように構成される。処理部14は、1以上のプロセッサ及びメモリを有するコンピュータシステムを主構成とする。そのため、1以上のプロセッサがメモリに記録されているプログラムを実行することにより、処理部14として機能する。プログラムはメモリに予め記録されていてもよいし、インターネット等の電気通信回線を通して提供されてもよく、メモリカード等の非一時的記録媒体に記録されて提供されてもよい。
【0022】
処理部14は、分類部F1と、算出部F2と、判定部F3と、を備えている。
図1において、分類部F1、算出部F2、及び判定部F3は、いずれも実体のある構成を示しているわけではなく、処理部14によって実現される機能を示している。
【0023】
分類部F1は、対象データを、複数のクラスのうちのいずれかのクラスに分類するように構成されている。つまり、分類部F1は、後述する分類ステップS3の実行主体である。本実施形態では、分類部F1は、
図3に示すように、複数の分類器F11~F1n(“n”は2以上の整数)と、NOR回路F10と、を有している。
【0024】
各分類器F11~F1nは、例えばSVM(Support Vector Machine)等の線形分類器の他、ニューラルネットワークを用いた分類器、又は多層ニューラルネットワークを用いた深層学習(ディープラーニング)により生成される分類器を含み得る。本実施形態では、各分類器F11~F1nは、学習済みのニューラルネットワークを用いた分類器である。学習済みのニューラルネットワークは、例えばCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)、又はBNN(Bayesian Neural Network:ベイズニューラルネットワーク)等を含み得る。各分類器F11~F1nは、ASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array)等の集積回路に、学習済みのニューラルネットワークを実装することで実現され得る。
【0025】
本実施形態では、複数のクラスは、複数の対応クラス(第1クラス、第2クラス、…、第nクラス)と、他クラスと、を含んでいる。複数の対応クラスは、分類部F1の有する複数の分類器F11~F1nにそれぞれ対応するクラスである。つまり、本実施形態では、対象データは、複数の分類器F11~F1nにそれぞれ入力される。そして、複数の分類器F11~F1nは、それぞれ入力された対象データが自身に対応する対応クラスに分類されるか否かを判定する。例えば、対象データが第nクラスに分類されるか否かは、第n分類器F1nにより分類される。すなわち、第n分類器F1nに対象データが入力された場合に、第n分類器F1nの出力が「High」であれば、対象データが第nクラスに分類されると判定し、「Low」であれば対象データが第nクラスに分類されないと判定したことになる。
【0026】
本実施形態では、各分類器F11~F1nは、例えば確信度が閾値を上回れば「High」を出力し、確信度が閾値を下回れば「Low」を出力する。本開示でいう「確信度」は、対象データが分類部F1にて分類されたクラスに属する確率をいう。例えば、第1分類器F11での確信度が「1」であれば、対象データが第1クラスに属する確率が100%である、と分類部F1が判定していることになる。また、例えば、第1分類器F11での確信度が「0.8」であれば、対象データが第1クラスに属する確率が80%であって、対象データが他のクラスに属する確率が20%である、と分類部F1が判定したことになる。
【0027】
NOR回路F10には、複数の分類器F11~F1nの出力が入力される。そして、NOR回路F10は、全ての分類器F11~F1nの出力が「Low」である場合に、「High」を出力する。ここで、他クラスは、複数の分類器F11~F1nのいずれにも対応しないクラスである。つまり、他クラスに分類される対象データは、複数の対応クラスである第1クラス~第nクラスのいずれにも分類されないデータである。そして、本実施形態では、NOR回路F10が「High」を出力する場合、つまり、全ての分類器F11~F1nの出力が「Low」である場合に、対象データを他クラスに分類する。
【0028】
このように、本実施形態では、分類部F1は、複数の分類器F11~F1n及びNOR回路F10により、入力受付部11にて受け付けた対象データを複数のクラスのいずれかに分類する。なお、分類部F1は、基本的には対象データを複数のクラスのうちのいずれか1つのクラスに分類するが、対象データを複数の対応クラスのうち2以上の対応クラスに分類することもあり得る。
【0029】
算出部F2は、対象データの特徴量を算出するように構成されている。つまり、算出部F2は、後述する算出ステップS2の実行主体である。特徴量の算出には、対象データの基準となる基準データが用いられる。基準データは、対象データと同様に判定対象物2の画像である。本実施形態では、基準データは、正常な状態の判定対象物2の画像(基準画像)を示すデータである。ここで、
図2に示す対象画像A1は、正常な状態の判定対象物2の画像を表しており、基準画像A2として利用され得る。本実施形態では、特徴量を算出するに当たっては、対象画像A1は、判定対象物2の位置及びサイズが基準画像A2における判定対象物2の位置及びサイズと一致するように正規化される。
【0030】
算出部F2は、一例として、特徴ベクトルを利用して対象データの特徴量を算出する。例えば、算出部F2は、対象画像A1及び基準画像A2に共通して設定される、1以上の画素を含む同じ大きさのブロックごとに特徴ベクトルを算出する。特徴ベクトルは、ブロックに含まれる画素の画素値を要素とする。そして、算出部F2は、対象画像A1のブロックごとの特徴ベクトルと、基準画像A2のブロックごとの特徴ベクトルと、の差分ベクトルを、対象データの特徴量として算出する。ここで算出された特徴量は、ブロック数及びブロックごとの画素数に基づく多次元のベクトルとして表される。
【0031】
本実施形態では、算出部F2は、上記のようにして算出した対象データの特徴量に対して、更にt-SNE(t-distributed Stochastic Neighbor Embedding)等の適宜の変換処理を施す。これにより、算出部F2は、例えば
図4に示すように、対象データの特徴量を二次元の特徴量空間FS1上の点D1として算出する。もちろん、対象データの特徴量は、三次元以上の多次元の特徴量空間上の点として表してもよい。
【0032】
判定部F3は、分類部F1での分類結果、及び算出部F2で算出された対象データの特徴量に基づいて、対象データが複数のクラスとは異なる新規クラスに分類される可能性を判定するように構成されている。つまり、判定部F3は、後述する判定ステップS4~S8の実行主体である。
【0033】
本実施形態では、判定部F3は、対象データが他クラス及び新規クラスのいずれに分類されるかを区別して判定する。つまり、本実施形態では、判定部F3は、分類部F1にて対象データが他クラスに分類されると、直ちに対象データを新規クラスに分類するのではなく、例えば更に所定の条件を満たした場合に、対象データを新規クラスの候補とする。そして、判定部F3は、所定の条件を満たさない場合には、対象データを他クラスに分類する。また、本実施形態では、判定部F3は、分類部F1にて対象データが2以上の対応クラスに分類された場合も、対象データが新規クラスの候補に該当するか否かを判定する。
【0034】
一例として、判定部F3は、分類部F1にて対象データが他クラスに分類された場合、対象データが「条件A」を満たしていれば、対象データが新規クラスに分類される候補とする。一方、対象データが「条件A」を満たしていなければ、対象データが他クラスに分類されると判定する。
【0035】
「条件A」は、対象データの特徴量が特徴量空間FS1にて複数の対応クラスのいずれからも所定距離以上離れていることである。「条件A」を満たした一例について
図4を用いて説明する。
図4において、「C1」~「C3」は、それぞれ特徴量空間FS1における過去に第1クラス~第3クラスに分類された対象データの特徴量の一群を表している。
図4では、「C1」~「C3」のそれぞれで対象データの特徴量を互いに異なる模様で表している。また、
図4において、「D1」は、特徴量空間FS1における分類部F1にて分類された対象データの特徴量を表している。なお、
図4には示していないが、特徴量空間FS1には、第1クラス~第3クラス以外のクラスに過去に分類された対象データの特徴量の一群も含まれる。
【0036】
図4に示すように、「D1」は、「C1」~「C3」のいずれからも所定距離以上離れた位置にある。ここで、「所定距離以上離れている」とは、一例として、特徴量空間FS1において、各クラスの中心点を中心とする円の外側に「D1」が位置することをいう。また、「所定距離以上離れている」とは、一例として、特徴量空間FS1において、各クラスの対象データの特徴量のうち「D1」に最も近い位置にある特徴量と「D1」との距離が所定値よりも長いことをいう。
【0037】
また、一例として、判定部F3は、分類部F1にて対象データが複数の対応クラスのうち2以上の対応クラスに分類された場合、対象データが「条件B」を満たしていれば、対象データが新規クラスに分類される候補とする。一方、対象データが「条件B」を満たしていなければ、対象データが2以上の対応クラスに分類されると判定する。
【0038】
「条件B」は、「第1条件」と、「第2条件」と、を含んでいる。本実施形態では、判定部F3は、「第1条件」及び「第2条件」の両方を満たした場合に、「条件B」を満たしたと判定する。
【0039】
「第1条件」は、対象データの特徴量が特徴量空間FS1にて2以上の対応クラスの間にあることである。「第1条件」を満たした一例について
図5を用いて説明する。
図5において、「C1」及び「C2」は、それぞれ特徴量空間FS1における過去に第1クラス及び第2クラスに分類された対象データの特徴量の一群を表している。
図5では、「C1」及び「C2」のそれぞれで対象データの特徴量を互いに異なる模様で表している。なお、
図5において破線で囲まれる領域にある対象データの特徴量は、「C1」及び「C2」のいずれにも属している。また、
図5において、「D1」は、特徴量空間FS1における分類部F1にて分類された対象データの特徴量を表している。なお、
図5には示していないが、特徴量空間FS1には、第1クラス及び第2クラス以外のクラスに過去に分類された対象データの特徴量の一群も含まれる。
【0040】
図5に示すように、「D1」は、「C1」と「C2」との間に位置する。ここで、「2以上の対応クラスの間にある」とは、一例として、2以上の対応クラスの各中心点で規定される領域(2クラスであれば線分、3クラス以上であれば多角形)の中心点を中心とする円の内側に対象データが含まれることをいう。
図5に示す例では、「C1」及び「C2」の各中心点で規定される線分L1の中心点を中心とする円の内側に「D1」が含まれている。
【0041】
「第2条件」は、2以上の対応クラスに対応する2以上の分類器F11~F1nのいずれにおいても、対象データの同じ箇所に注目していることである。言い換えれば、2以上の対応クラスに対応する2以上の分類器F11~F1nのいずれかで、対象データの同じ箇所に注目していない場合、判定部F3は、対象データを候補から除外する。「第2条件」を満たした一例について
図6を用いて説明する。
図6は、例えばGrad-CAM(Gradient-weighted Class Activation Mapping)等の適宜の視覚化処理を施した後の対象画像A1を表している。また、
図6では、2以上の分類器F11~F1nのうち第1分類器F11が対象データにおいて注目した第1範囲A11と、2以上の分類器F11~F1nのうち第2分類器F12が対象データにおいて注目した第2範囲A12と、を表している。
図6に示す例では、第1範囲A11と第2範囲A12とが重なっており、2以上の分類器F11,F12が対象データの同じ箇所に注目している。
【0042】
本実施形態では、判定部F3は、上記のように新規クラスの候補とされた対象データの数が所定数を上回ると、対象データが新規クラスに分類される、と判定する。つまり、判定部F3は、対象データを新規クラスの候補とした段階では、対象データを新規クラスには分類されるとは判定せず、候補の数が所定数(例えば、数十)を上回ると、初めて対象データの候補群が新規クラスに分類される、と判定する。
【0043】
記憶部13は、1以上の記憶装置を有している。記憶装置は、例えば、RAM(Random Access Memory)、又はEEPROM(Electrically Erasable Programmable Read Only Memory)等である。記憶部13は、対象データと、対象データに対する判定部F3の判定結果と、を記憶する。本実施形態では、記憶部13は、入力受付部11に入力された対象データを全て記憶するのではなく、判定部F3にて新規クラスに分類される可能性があると判定された対象データ(つまり、新規クラスの候補)と、その対象データに対する判定結果と、を記憶する。
【0044】
本実施形態では、判定部F3の判定結果は、対象データの特徴量の類似度に応じたグループG0に紐付けられて記憶部13に記憶される。対象データの特徴量を複数のグループG1、G2、G3に分類した一例について
図7を用いて説明する。
図7において、グループG1~G3は、それぞれ特徴量空間FS1における新規クラスの候補となる対象データの特徴量の一群を表している。グループG1~G3の各々において、複数の対象データの特徴量は、互いに類似している。また、グループG1~G3は、それぞれ互いに特徴量空間FS1において離れた位置にある、つまり互いに非類似である。さらに、グループG1~G3は、それぞれ対象データの候補の数が所定数を上回れば、判定部F3により新規クラスと判定され得る。
【0045】
出力部12は、処理部14で処理された情報を出力するように構成されている。本実施形態では、出力部12は、データの出力のためのポート、及び情報を表示するための画像表示装置を備える。画像表示装置は、一例として、液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイ等の薄型のディスプレイ装置を含み得る。
【0046】
本実施形態では、出力部12は、提示部12を兼ねている。提示部12は、判定部F3にて対象データが新規クラスに分類される可能性があると判定した場合に、判定部F3の判定結果を分類システム100のユーザに提示するように構成されている。つまり、提示部12は、後述する提示ステップS9の実行主体である。ここでは、提示部12は、画像表示装置に判定結果を表示することにより、判定結果をユーザに提示する。本実施形態では、記憶部13に判定結果が記憶されているので、提示部12は、処理部14により記憶部13から読み出された判定結果を提示する。例えば、提示部12は、対象画像A1と、対象画像A1が新規クラスに分類され得ることを表すメッセージ等と、を判定結果として画像表示装置に表示する。
【0047】
本実施形態では、提示部12は、グループG0に属する対象データの数に応じた態様で判定結果を提示する。一例として、提示部12は、「条件C」を満たさない場合は、判定部F3の判定結果を提示する。この場合、提示部12は、1以上のグループG0の各々に属する対象データの候補の数を画像表示装置に表示してもよい。そして、提示部12は、「条件C」を満たした場合、判定部F3の判定結果と共に、ユーザに分類部F1の再学習を促す画像等を画像表示装置に表示する。「条件C」は、1以上のグループG0のいずれかにおいて、判定部F3にて新規クラスの候補とされた対象データの数が所定数を上回ることである。
【0048】
また、本実施形態では、提示部12は、対象データの複数のクラスでの確信度と、特徴量空間FS1と、を表示する。一例として、分類部F1にて対象データが他クラスに分類され、かつ「条件A」を満たした場合、提示部12は、
図4に示すような特徴量空間FS1と、各クラスでの確信度の一覧と、を画像表示装置に表示する。また、一例として、分類部F1にて対象データが複数の対応クラスのうち2以上の対応クラスに分類され、かつ「条件B」を満たした場合、提示部12は、
図5に示すような特徴量空間FS1と、各クラスでの確信度の一覧と、を画像表示装置に表示する。
【0049】
(3)動作
以下、本実施形態の分類システムの動作の一例について、
図8を用いて説明する。まず、入力受付部11にて対象データの入力を受け付けると(S1)、算出部F2は、入力受付部11にて受け付けた対象データの特徴量を算出する(S2)。そして、分類部F1は、学習済みモデルを利用して、入力受付部11にて受け付けた対象データを分類する(S3)。なお、算出部F2による対象データの特徴量の算出処理と、分類部F1による対象データの分類処理とは、順番が逆であってもよい。
【0050】
次に、判定部F3は、分類部F1での分類結果、及び算出部F2で算出された対象データの特徴量に基づいて、対象データが新規クラスに分類される可能性を判定する。判定部F3は、分類部F1にて対象データが他クラスに分類された場合(S4:Yes)、対象データが「条件A」を満たしていれば(S5:Yes)、対象データを新規クラスの候補とする(S6)。一方、判定部F3は、分類部F1にて対象データが他クラスに分類されず(S4:No)、複数の対応クラスのうち2以上の対応クラスに分類され(S7:Yes)、かつ「条件B」を満たしていれば(S8:Yes)、対象データを新規クラスの候補とする(S6)。
【0051】
そして、判定部F3にて対象データが新規クラスの候補とされる、つまり、対象データが新規クラスに分類される可能性があると判定されると、提示部12は、判定部F3の判定結果を提示する(S9)。ここで、提示部12は、「条件C」を満たしていれば(S10:Yes)、判定部F3の判定結果と共に、ユーザに分類部F1の再学習を促す画像等を画像表示装置に表示することにより、分類部F1を再学習すべき旨を通知する(S11)。
【0052】
再学習すべき旨の通知を受けたユーザは、例えば処理部14に対する操作を受け付けるインタフェースを用いて、再学習の実行を許可する所定の操作を行う。すると、処理部14では、新規クラスに分類されると判定された対象データの一群を教師データとして、分類部F1の学習済みモデルの再学習を実行する。このように、本実施形態では、分類部F1は、判定部F3にて新規クラスに分類されると判定された対象データを教師データとして、再学習される。本実施形態では、分類部F1の再学習は、新規クラスを追加することに相当する。また、「新規クラスを追加する」とは、分類部F1において、入力された対象データが新規クラスに分類されるか否かを判定する新規の分類器を追加することに相当する。
【0053】
(4)利点
上述のように、本実施形態では、分類システム100は、判定部F3にて対象データが新規クラスに分類される可能性があると判定すると、自動的に分類部F1を再学習して対象データを新規クラスに分類するのではなく、新規クラスが必要であることをユーザに提示する。したがって、本実施形態では、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい、という利点がある。
【0054】
ここで、分類部F1の各分類器F11~F1nの学習が不十分である場合、対象データが複数のクラスのうちのいずれかのクラスに分類されるのが正しい場合であっても、判定部F3にて誤って新規クラスに分類される可能性があると判定される可能性がある。そこで、本実施形態では、提示部12が判定部F3の判定結果を提示することにより、対象データが新規クラスに分類されるか否かの判断をユーザに委ねることができ、対象データが新規クラスに分類されることの確実性を向上することができる、という利点がある。
【0055】
(5)変形例
上述の実施形態は、本開示の様々な実施形態の一つに過ぎない。上述の実施形態は、本開示の目的を達成できれば、設計等に応じて種々の変更が可能である。また、上述の実施形態に係る分類システム100と同様の機能は、分類方法、コンピュータプログラム、又はコンピュータプログラムを記録した非一時的記録媒体等で具現化されてもよい。
【0056】
一態様に係る分類方法は、入力受付ステップS1と、分類ステップS3と、算出ステップS2と、判定ステップS4~S8と、提示ステップS9と、を有する。入力受付ステップS1は、対象データの入力を受け付けるステップである。分類ステップS3は、対象データを、複数のクラスのうちのいずれかのクラスに分類するステップである。算出ステップS2は、対象データの特徴量を算出するステップである。判定ステップS4~S8は、分類ステップS3での分類結果、及び算出ステップS2で算出された対象データの特徴量に基づいて、対象データが複数のクラスとは異なる新規クラスに分類される可能性を判定するステップである。提示ステップS9は、判定ステップS4~S8にて対象データが新規クラスに分類される可能性があると判定した場合に、判定ステップS4~S8の判定結果を提示するステップである。一態様に係る(コンピュータ)プログラムは、1以上のプロセッサに、上記の分類方法を実行させる。
【0057】
以下、上述の実施形態の変形例を列挙する。以下に説明する変形例は、適宜組み合わせて適用可能である。
【0058】
本開示における分類システム100は、例えば、処理部14等に、コンピュータシステムを含んでいる。コンピュータシステムは、ハードウェアとしてのプロセッサ及びメモリを主構成とする。コンピュータシステムのメモリに記録されたプログラムをプロセッサが実行することによって、本開示における分類システム100としての機能が実現される。プログラムは、コンピュータシステムのメモリに予め記録されてもよく、電気通信回線を通じて提供されてもよく、コンピュータシステムで読み取り可能なメモリカード、光学ディスク、ハードディスクドライブ等の非一時的記録媒体に記録されて提供されてもよい。コンピュータシステムのプロセッサは、半導体集積回路(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ないし複数の電子回路で構成される。
【0059】
また、分類システム100における複数の機能が、1つの筐体内に集約されていることは分類システム100に必須の構成ではなく、分類システム100の構成要素は、複数の筐体に分散して設けられていてもよい。さらに、分類システム100の少なくとも一部の機能がクラウド(クラウドコンピューティング)等によって実現されてもよい。
【0060】
上述の実施形態において、提示部12は、判定部F3にて判定結果が得られる度に判定結果をユーザに提示するのではなく、対象データが新規クラスに分類されると判定された場合にのみ、判定結果をユーザに提示してもよい。つまり、提示部12は、判定部F3にて対象データが新規クラスに分類される候補であると判定されただけでは、判定結果をユーザに提示しなくてもよい。
【0061】
上述の実施形態において、新規クラスに分類されると判定された対象データを教師データとして分類部F1を再学習する場合、対象データに付される正解ラベルは、ユーザにより決定されてもよいし、処理部14により自動的に決定されてもよい。
【0062】
上述の実施形態において、ユーザは、提示部12にて提示された対象データの一群から新規クラスに該当しないと考えられる対象データを除外した上で、分類部F1を再学習させてもよい。
【0063】
上述の実施形態において、対象データは、判定対象物2の画像データに限らず、判定対象物2の発する音声データであってもよい。この場合、判定部F3における「第2条件」は、2以上の対応クラスに対応する2以上の分類器F11~F1nのいずれにおいても、対象データの同じ箇所(時系列変化)に注目していることである。
【0064】
上述の実施形態において、判定部F3にて対象データが新規クラスに分類される可能性があるか否かを判定するに当たって、「条件B」の「第1条件」及び「第2条件」のうち「第2条件」は採用されてなくてもよい。つまり、判定部F3は、対象データが2以上の対応クラスに分類され、かつ、対象データの特徴量が特徴量空間FS1にて2以上の対応クラスの間にあるという条件を満たすだけでも、対象データを新規クラスに分類される候補としてもよい。
【0065】
上述の実施形態において、提示部12は、例えばスピーカ等により判定部F3の判定結果を音声にて出力してもよい。この場合、提示部12は、音声の出力と共に、判定部F3の判定結果を画像表示装置に表示してもよい。
【0066】
(まとめ)
以上述べたように、第1の態様に係る分類システム(100)は、入力受付部(11)と、分類部(F1)と、算出部(F2)と、判定部(F3)と、を備える。入力受付部(11)は、対象データの入力を受け付ける。分類部(F1)は、対象データを、複数のクラスのうちのいずれかのクラスに分類する。算出部(F2)は、対象データの特徴量を算出する。判定部(F3)は、分類部(F1)での分類結果、及び算出部(F2)で算出された対象データの特徴量に基づいて、対象データが複数のクラスとは異なる新規クラスに分類される可能性を判定する。
【0067】
この態様によれば、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい、という利点がある。
【0068】
第2の態様に係る分類システム(100)では、第1の態様において、提示部(12)をさらに備える。提示部(12)は、判定部(F3)にて対象データが新規クラスに分類される可能性があると判定した場合に、判定部(F3)の判定結果を提示する。
【0069】
第3の態様に係る分類システム(100)では、第1または第2の態様において、複数のクラスは、分類部(F1)の有する複数の分類器(F11~F1n)にそれぞれ対応する複数の対応クラスと、複数の分類器(F11~F1n)のいずれにも対応しない他クラスと、を含んでいる。判定部(F3)は、対象データが他クラス及び新規クラスのいずれに分類されるかを区別して判定する。
【0070】
この態様によれば、分類部(F1)の学習が十分でない場合において、対象データが新規クラスに分類される可能性があると誤って判定されにくくすることができる、という利点がある。
【0071】
第4の態様に係る分類システム(100)では、第3の態様において、判定部(F3)は、以下の条件を満たす場合、対象データを新規クラスに分類される候補とする。上記条件は、対象データが、他クラスに分類され、複数の対応クラスのいずれにおいても確信度が閾値よりも低く、かつ、対象データの特徴量が特徴量空間(FS1)にて複数の対応クラスのいずれからも所定距離以上離れていることである。
【0072】
この態様によれば、分類部(F1)の学習が十分でない場合において、対象データが新規クラスに分類される可能性があると誤って判定されにくくすることができる、という利点がある。
【0073】
第5の態様に係る分類システム(100)では、第3の態様において、判定部(F3)は、以下の条件を満たす場合、対象データを新規クラスに分類される候補とする。上記条件は、対象データが複数の対応クラスのうちの2以上の対応クラスに分類され、かつ、対象データの特徴量が特徴量空間(FS1)にて2以上の対応クラスの間にあることである。
【0074】
この態様によれば、分類部(F1)の学習が十分でない場合において、対象データが新規クラスに分類されないと誤って判定されにくくすることができる、という利点がある。
【0075】
第6の態様に係る分類システム(100)では、第5の態様において、判定部(F3)は、以下の条件を満たす場合、対象データを候補から除外する。上記条件は、2以上の対応クラスに対応する2以上の分類器(F11~F1n)のいずれかで、対象データの同じ箇所に注目していないことである。
【0076】
この態様によれば、対象データが新規クラスに分類される可能性があるか否かの判定精度を向上しやすい、という利点がある。
【0077】
第7の態様に係る分類システム(100)では、第4~第6のいずれかの態様において、判定部(F3)は、候補とされた対象データの数が所定数を上回ると、対象データが新規クラスに分類される、と判定する。
【0078】
この態様によれば、対象データが新規クラスに分類されるか否かの判定精度を向上しやすい、という利点がある。
【0079】
第8の態様に係る分類システム(100)は、第2の態様において、記憶部(13)を更に備える。記憶部(13)は、対象データと、対象データに対する判定部(F3)の判定結果と、を記憶する。
【0080】
この態様によれば、提示部(12)が記憶部(13)に記憶された過去の判定結果を提示することができる、という利点がある。
【0081】
第9の態様に係る分類システム(100)では、第8の態様において、判定結果は、対象データの特徴量の類似度に応じたグループ(G0)に紐付けられて記憶部(13)に記憶される。
【0082】
この態様によれば、1つのグループ(G0)に紐付けて記憶する場合と比較して、対象データを適切な新規クラスに分類しやすくなる、という利点がある。
【0083】
第10の態様に係る分類システム(100)では、第9の態様において、提示部(12)は、グループ(G0)に属するデータの数に応じた態様で判定結果を提示する。
【0084】
この態様によれば、提示部(12)により提示された情報を確認することにより、対象データが新規クラスに分類される可能性の度合いをユーザが把握しやすい、という利点がある。
【0085】
第11の態様に係る分類システム(100)では、第1~第10のいずれかの態様において、分類部(F1)は、判定部(F3)にて新規クラスに分類されると判定された対象データを教師データとして、再学習される。
【0086】
この態様によれば、分類部(F1)に新規クラスを追加することができ、分類部(F1)による対象データの分類精度の向上が期待できる、という利点がある。
【0087】
第12の態様に係る分類システム(100)では、第2または第8~第10のいずれかの態様において、提示部(12)は、対象データの複数のクラスでの確信度と、特徴量空間(FS1)と、を表示する。
【0088】
この態様によれば、提示部(12)により表示された画像を見ることにより、ユーザが判定部(F3)の判定結果を把握しやすい、という利点がある。
【0089】
第13の態様に係る分類方法は、入力受付ステップ(S1)と、分類ステップ(S3)と、算出ステップ(S2)と、判定ステップ(S4~S8)と、を有する。入力受付ステップ(S1)は、対象データの入力を受け付けるステップである。分類ステップ(S3)は、対象データを、複数のクラスのうちのいずれかのクラスに分類するステップである。算出ステップ(S2)は、対象データの特徴量を算出するステップである。判定ステップ(S4~S8)は、分類ステップ(S3)での分類結果、及び算出ステップ(S2)で算出された対象データの特徴量に基づいて、対象データが複数のクラスとは異なる新規クラスに分類される可能性を判定するステップである。
【0090】
この態様によれば、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい、という利点がある。
【0091】
第14の態様に係る分類方法は、第13の態様において、提示ステップ(S9)は、判定ステップ(S4~S8)にて対象データが新規クラスに分類される可能性があると判定した場合に、判定ステップ(S4~S8)の判定結果を提示するステップである。
【0092】
第15の態様に係るプログラムは、1以上のプロセッサに、第13または第14の態様に係る分類方法を実行させる。
【0093】
この態様によれば、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい、という利点がある。
【0094】
第2~第12の態様に係る構成については、分類システム(100)に必須の構成ではなく、適宜省略可能である。
【産業上の利用可能性】
【0095】
本開示の分類システム、分類方法、及びプログラムは、既存のクラスにはない新規クラスに属し得る対象データが入力された場合にも、対象データを適切に分類しやすい、という利点がある。そのため、本開示の分類システム、分類方法、及びプログラムは、対象物の検査等に利用でき、産業上有用である。
【符号の説明】
【0096】
11 入力受付部
12 出力部(提示部)
13 記憶部
100 分類システム
F1 分類部
F11~F1n 分類器
F2 算出部
F3 判定部
FS1 特徴量空間
G0、G1、G2、G3 グループ
S1 入力受付ステップ
S2 算出ステップ
S3 分類ステップ
S4~S8 判定ステップ
S9 提示ステップ