JP2015099616A - 多クラス識別器生成装置、データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラム - Google Patents

多クラス識別器生成装置、データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラム Download PDF

Info

Publication number
JP2015099616A
JP2015099616A JP2015036087A JP2015036087A JP2015099616A JP 2015099616 A JP2015099616 A JP 2015099616A JP 2015036087 A JP2015036087 A JP 2015036087A JP 2015036087 A JP2015036087 A JP 2015036087A JP 2015099616 A JP2015099616 A JP 2015099616A
Authority
JP
Japan
Prior art keywords
layer
class
classifier
learning data
feature
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.)
Granted
Application number
JP2015036087A
Other languages
English (en)
Other versions
JP5892275B2 (ja
Inventor
松永 和久
Kazuhisa Matsunaga
和久 松永
浩一 中込
Koichi Nakagome
浩一 中込
道大 二瓶
Michio Nihei
道大 二瓶
雅行 広浜
Masayuki Hirohama
雅行 広浜
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2015036087A priority Critical patent/JP5892275B2/ja
Publication of JP2015099616A publication Critical patent/JP2015099616A/ja
Application granted granted Critical
Publication of JP5892275B2 publication Critical patent/JP5892275B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】各2クラス識別器が出力するスコア値を統合的に評価することにより識別率の低下を抑制でき、各2クラス識別器のスコア値を正規化できる多クラス識別器を実現する。【解決手段】学習用データから抽出された1階層目特徴ベクトル301を入力して、各花の種別vs残りを識別する#1から#4の1階層目識別器302が生成される。入力された学習用データに対して#1から#4の各1階層目識別器302が出力する各スコア値が連結されることにより、その学習用データに対応する2階層目特徴ベクトル303が生成される。このベクトルを入力として各花の種別vs残りを識別する#1から#4の2階層目識別器304が生成される。1階層目識別器302の一部の識別器の質が低くても、他の1階層目識別器302が出力するスコア値を参照して、2階層目識別器304にて誤差を補正することが可能になる。【選択図】図3

Description

本発明は、多クラス識別器、方法、及びプログラムに関する。
野山や道端で見かけた花の名前を知りたくなることがある。そこで、撮影等により得た花と葉のディジタル画像より、クラスタリング法を用いて対象物である花と葉の局所特徴を多数抽出し、更にその抽出特徴群をヒストグラム化した情報を特徴量とする単数又は複数の特徴量を求め、その求められた特徴量と、あらかじめデータベースに登録してある各種の植物の特徴量とを統計的手法を用いて解析して野草の種類を判別する技術が提案されている(例えば特許文献1に記載の技術)。
ここで入力された花などの画像データに対して画像分類を行うときに、機械学習では、ある種類の画像自身かそれ以外かという2通りの画像分類を行ういわゆる2クラス識別器は容易に実現できる。一方、複数種類の画像の中から各種類の画像を識別する多クラスの画像分類を行うときには、2クラス識別器を組み合わせていわゆる多クラス識別器を構成することが一般に行われる。例えば、花の画像が6種類に分類される場合に、2クラス識別器が6個生成される。各識別器は、それぞれに割り当てられた種類の画像が入力されたときに、それぞれ最大の識別スコア値を出力するように生成される。そして、画像が各識別器に入力されたときに、最も高い識別スコア値を出力した識別器に対応する種類が識別結果とされる。
特開2002−203242号公報
しかし、例えば花の種の分類において、2クラス識別器を組み合わせて多クラス識別器を構成した場合、各2クラス識別器が出力するスコア値が正規化されていないという問題点を有していた。具体的には、2クラス識別器はスコア値ゼロを境にして符号でその2クラス識別器に対応するクラスに属するか否かの判定を行っている。そのときの識別の確からしさを示すスコア値の絶対値は、その2クラス識別器を生成した学習用データが他のクラスの学習用データとどれだけ分離しているか(分離度)によって変わってくる。そのような2クラス識別器を組み合わせて多クラス識別器を構成すると、識別の難易度が様々である多クラスのデータを識別する各スコア値の絶対値によって決まる識別性能は、各2クラス識別器に与えられる学習用データの質に応じて変わってしまう。このように、2クラス識別器を組み合わせて多クラス識別器を構成した場合に、各クラスの識別性能が均一にならない、すなわち正規化されないという問題点が存在していた。
さらに、2クラス識別器を組み合わせて多クラス識別器を構成した場合、各2クラス識別器に十分な数の学習用データを与えないと、各クラスの識別性能が均一にならない。しかしながら、例えば花の種の分類において、全クラスに十分な数の学習用データを与えることは困難であるという問題点を有していた。
本発明は、各2クラス識別器が出力するスコア値を統合的に評価することにより識別率の低下を抑制でき、各2クラス識別器のスコア値を正規化できる多クラス識別器を実現することを目的とする。
態様の一例では、複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力してその各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理を、複数のクラスごとに実行することで、各学習用データが表す特徴が複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する1階層目識別器生成手段と、複数の学習用データを各クラスの1階層目識別器に入力した結果各クラスの1階層目識別器が出力する各スコア値を連結することにより2階層目特徴ベクトルを各学習用データごとに生成し、その各2階層目特徴ベクトルを入力してその各2階層目特徴ベクトルに対応する各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理を、複数のクラスごとに実行することで、各学習用データが表す特徴が複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器を生成する2階層目識別器生成手段とを備え、入力されたデータを複数の1階層目識別器に入力させることによりその複数の1階層目識別器が出力する各スコア値を連結して2階層目特徴ベクトルを生成し、その2階層目特徴ベクトルを複数の2階層目識別器に入力させることにより最大のスコア値を出力した2階層目識別器に対応するクラスを、入力されたデータが表す特徴が属するクラスとして識別する構成を有する。
本発明によれば、各2クラス識別器が出力するスコア値を統合的に評価することにより識別率の低下を抑制でき、各2クラス識別器のスコア値を正規化できる多クラス識別器を実現することが可能となる。
本発明の一実施形態に係る多クラス識別器のハードウェア構成例を示すブロック図である。 本実施形態による多クラス識別器生成処理の全体動作を示すフローチャートである。 2階層多クラス識別器の構成図である。 1階層目特徴ベクトルの特徴空間上での分布例を示す模式図である。 1階層目識別器が出力するスコア値の例を示す図である。 2階層目特徴ベクトルのデータ構成例を示す図である。 図2の1階層目識別器生成処理の詳細を示すフローチャートである。 図7の特徴抽出処理を示すフローチャートである。 図7のベクトル量子化処理を示すフローチャートである。 図7の1階層目特徴ベクトル生成処理(ヒストグラム生成処理)を示すフローチャートである。 図7または図12の識別器生成処理を示すフローチャートである。 図2の2階層目識別器生成処理の詳細を示すフローチャートである。
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、本発明の一実施形態に係る多クラス識別器101のハードウェア構成例を示すブロック図である。
この多クラス識別器101は例えば、いわゆるスマートフォンなどの携帯情報端末から花などの撮影画像データを受信して、識別器によってその花などの種類を検索して識別し、その識別結果を携帯情報端末に返す検索システムのコンピュータ上に実現される。
多クラス識別器101は、CPU(Central Processing Unit:中央演算処理装置)102と、ROM(Read Only Memory)103と、RAM(Random Access Memory)104を備える。また、多クラス識別器101は、ハードディスク記憶装置やソリッドステートドライブ記憶装置等の外部記憶装置105と、通信インタフェース106と、キーボード装置又はマウス装置などの入力装置107と、ディスプレイ装置などの出力装置108を備える。さらに、多クラス識別器101は、SDメモリカード、USB(Universal Serial Bus)メモリカード、CD(Conpact Disk)、DVD(Digital Versatile Disk)などの可搬記録媒体110をセット可能な可搬記録媒体駆動装置109を備える。上述の各機器102〜109は、バス111によって相互に接続される。
ROM103には、後述する図2及び図7から図12のフローチャートによって示される多クラス識別器生成処理の制御プログラムが記憶されている。CPU102は、ROM103から、この制御プログラムを読み出し、RAM104をワークメモリとして実行する。このハードウェア構成に基づいて動作する多クラス識別器は例えばソフトウェアであり、ROM103、RAM104、又は外部記憶装置105に記憶される。なお、多クラス識別器生成処理において入力される学習用データは、例えば外部記憶装置105、あるいは可搬記録媒体駆動装置109にセットされる可搬記録媒体110から供給される。
多クラス識別器が生成された後は、CPU102は、ROM103、RAM104、又は外部記憶装置105に記憶された多クラス識別器のソフトウェアを読み出して実行することにより、多クラス識別器として動作する。或いは、多クラス識別器は、他のコンピュータシステムで実行されてもよい。この多クラス識別器は、例えばいわゆるスマートフォンなどの携帯情報端末からインターネットを経由して通信インタフェース106で花の撮影画像データを受信する。そして、多クラス識別器は、その花の種類を検索して識別し、その識別結果を通信インタフェース106からインターネットを経由して、携帯情報端末に返す。なお、多クラス識別器は、例えばスマートフォンの搭載アプリケーションとしてスマートフォンに直接提供されてもよい。
図2は、図1のハードウェア構成で示される多クラス識別器101によって実行される、本実施形態による多クラス識別器生成処理の全体動作を示すフローチャートである。
このフローチャートで示される処理は、その詳細を示す図7から図12までのフローチャートで示される処理とともに、図1において、CPU102がROM103に記憶された制御プログラムを実行する処理として実現される。
まず、学習用データ収集処理が実行される(図2のステップS201)。ここでは、例えば図1の外部記憶装置105に、学習用データが用意される。学習用データは、識別を行うクラス、例えば花の画像であれば花の種別ごとに用意される。そして、各学習用データには、その学習用データが表す特徴のクラス(例えば花の画像の種別)を示すラベルが付与される。全体として、複数のクラス×複数枚の学習用データが用意される。より具体的には例えば、アサガオ、ヒルガオ、ツユクサ、ヒマワリの4種の花画像について、それぞれ50枚ずつの画像データが学習用データとして収集される。集められた画像データそれぞれについて、花の名前と関連付けるラベルデータベースが作成される。
次に、第1階層目識別器生成処理(1階層目識別器生成手段の機能を実現する)が実行される(図2のステップS202)。このステップS202では、複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力してその各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理が、複数のクラスごとに実行される。この結果、各学習用データが表す特徴が複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器が生成される。
次に、2階層目識別器生成処理(2階層目識別器生成手段の機能を実現する)が実行される(図2のステップS203)。このステップS203では、複数の学習用データごとに、学習用データがステップS202で生成された各クラスの1階層目識別器に入力される。その結果、各クラスの1階層目識別器が出力する各スコア値が連結されることにより、入力された学習用データに対応する2階層目特徴ベクトルが生成される。学習用データが入力されるごとに2階層目特徴ベクトルが生成される。続いて、各2階層目特徴ベクトルが入力されてその各2階層目特徴ベクトルに対応する各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理が、複数のクラスごとに実行される。この結果、各学習用データが表す特徴が複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器が生成される。
図3は、図2のフローチャートの制御処理によって生成される2階層多クラス識別器の構成図である。
図2のステップS202で、例えば、ヒルガオvs残りを識別する#1の1階層目識別器302、アサガオvs残りを識別する#2の1階層目識別器302、ツユクサvs残りを識別する#3の1階層目識別器302、およびヒマワリvs残りを識別する#4の1階層目識別器302が、それぞれ生成される。これらの1階層目識別器302は、ヒルガオ、アサガオ、ツユクサ、またはヒマワリのいずれかの種類に対応するクラスのラベルが付与された複数の学習用データから、画像的な特徴情報(色、テクスチャ等)に基づいてそれぞれ抽出された各1階層目特徴ベクトル301を入力し生成される。
この場合、#1から#4の各1階層目識別器302が出力するスコア値は、各クラスの1階層目識別器302を生成した学習用データが他のクラスの学習用データとどれだけ分離しているか(分離度)によって変わってくる。このため、#1から#4の各1階層目識別器302の識別性能が均一にならず、正規化されていない。
この問題を、図4に示される、1階層目特徴ベクトルの特徴空間上での分布例を示す模式図を用いて説明する。図4は、説明をわかりやすくするために1階層目特徴ベクトル301が(x1,x2)という2つの要素値からなる2次元ベクトルであると仮定した説明図である。また、ヒマワリの分布は省略してある。
図4に示される1階層目特徴ベクトル301の特徴空間上での分布例において、例えば、アサガオの分布401とヒルガオの分布402は特徴空間上での両分布間の距離が小さく、これら2つの花は画像的な特徴が非常に似ている。従って、1階層目特徴ベクトル301に基づいて生成されるヒルガオvs残りを識別する#1の1階層目識別器302およびアサガオvs残りを識別する#2の1階層目識別器302は、ともに近いスコア値を出力することが予想される。
図5は、図3の#1から#4の各1階層目識別器302が出力するスコア値の例を示す図である。この例では、アサガオサンプル(学習用データ)が入力されたときの各1階層目識別器302が出力するスコア値の例と、ヒルガオサンプル(学習用データ)が入力されたときの各1階層目識別器302が出力するスコア値の例が示されている。この例の場合、アサガオサンプルが入力されたときの図3のヒルガオvs残りを識別する#1の1階層目識別器302およびアサガオvs残りを識別する#2の1階層目識別器302の各スコア値は、“0.8±0.5”および“0.9±0.5”というように非常に近い値である。また、ヒルガオサンプルが入力されたときの図3のヒルガオvs残りを識別する#1の1階層目識別器302およびアサガオvs残りを識別する#2の1階層目識別器302の各スコア値も、“0.9±0.5”および“0.8±0.5”というように非常に近い値である。
従って、入力データとしてヒルガオの画像データやアサガオの画像データが入力されたときには、相互に識別誤りを起こしやすいことが予想される。
一方、図4に示される1階層目特徴ベクトル301の特徴空間上での分布例において、例えば、ヒルガオの分布402とツユクサの分布403は特徴空間上での両分布間の距離が大きく、これら2つの花は画像的な特徴が似ていない。従って、1階層目特徴ベクトル301に基づいて生成されるヒルガオvs残りを識別する#1の1階層目識別器302およびツユクサvs残りを識別する#3の1階層目識別器302は、互いに近くないスコア値を出力することが予想される。
図5の例において、ヒルガオサンプルが入力されたときの図3のヒルガオvs残りを識別する#1の1階層目識別器302およびツユクサvs残りを識別する#3の1階層目識別器302の各スコア値は、“0.9±0.5”および“−0.5±0.5”というように近くない値である。
従って、入力データとしてヒルガオの画像データとツユクサの画像データが入力されたときには、ヒルガオvs残りを識別する#1の1階層目識別器302およびツユクサvs残りを識別する#3の1階層目識別器302は、相互に識別誤りを起こしにくいことが予想される。
なお、図4に示される1階層目特徴ベクトル301の特徴空間上での分布例において、例えば、アサガオの分布401とツユクサの分布403は特徴空間上での両分布間の距離が中程度であり、これら2つの花は画像的な特徴が似てるとも似てないともいえない。この場合、図5の例において、アサガオサンプルが入力されたときの図3のアサガオvs残りを識別する#2の1階層目識別器302およびツユクサvs残りを識別する#3の1階層目識別器302の各スコア値は、“0.9±0.5”および“0.5±0.5”というようにやや近い値となる。
このように、各1階層目識別器302の性能が均一にならないと、入力される花の画像の種類によって、識別誤りを起こしやすかったり起こしにくかったりといった状況が発生してしまい、識別の信頼性が低下してしまう。
また、#1から#4の各1階層目識別器302を生成するのに使用される学習用データの数は同一であるとは限らず、十分なサンプル数が与えられない場合もあるため、#1から#4の各1階層目識別器302の識別性能は均一ではなくやはり正規化されていないため、識別の信頼性が低下してしまう。
そこで、本実施形態ではさらに、図2のステップS203において、入力された学習用データに対して#1から#4の各1階層目識別器302が出力する各スコア値が連結されることにより、その学習用データに対応する2階層目特徴ベクトル303が生成される。図6は、2階層目特徴ベクトルのデータ構成例を示す図である。#1から#4の各1階層目識別器302が出力する各スコア値を、X1 、X2 、X3 、およびX4 とする。本実施形態では、2階層目特徴ベクトル303として、これら4つのスコア値を各要素値とする4次元の特徴ベクトル(X1 ,X2 ,X3 ,X4 )が生成される。
そして、本実施形態では、上記構成を有する2階層目特徴ベクトル303を入力として、ヒルガオvs残りを識別する#1の2階層目識別器304、アサガオvs残りを識別する#2の2階層目識別器304、ツユクサvs残りを識別する#3の2階層目識別器304、およびヒマワリvs残りを識別する#4の2階層目識別器304が、それぞれ生成される。
この場合、例えば#1の2階層目識別器304が生成される場合、#1から#4の各1階層目識別器302が出力する各スコア値が評価されることになる。これにより例えば、入力された2階層目特徴ベクトル303において、ヒルガオvs残りを識別する#1の1階層目識別器302が出力するスコア値X1 が大きく、ツユクサvs残りを識別する#3の1階層目識別器302が出力するスコア値X3 が小さい場合に、最大スコア判定305において最大のスコア値を出すようなヒルガオvs残りを識別する#1の2階層目識別器304を生成することができる。また、入力された2階層目特徴ベクトル303において、アサガオvs残りを識別する#2の1階層目識別器302が出力するスコア値X1 が大きく、ツユクサvs残りを識別する#3の1階層目識別器302が出力するスコア値X3 もやや大きい場合に、最大スコア判定305において最大のスコア値を出すようなアサガオvs残りを識別する#2の2階層目識別器304を生成することができる。
このような2階層目識別器304において例えば、アサガオサンプルに対応する2階層目特徴ベクトル303が入力されると、そのベクトル内のスコア値X3 が比較的大きいため、ヒルガオvs残りを識別する#1の2階層目識別器304が出力するスコア値は大きくならない。また例えば、ヒルガオサンプルに対応する2階層目特徴ベクトル303が入力されると、そのベクトル内のスコア値X3 が小さいため、アサガオvs残りを識別する#2の2階層目識別器304が出力するスコア値は大きくならない。
このようにして、本実施形態では、図3に示される#1から#4の1階層目識別器302と#1から#4の2階層目識別器304の2階層からなる多クラス識別器によって、#1から#4までの各クラスの識別性能を均等にして正規化することが可能となる。
図7は、図2の1階層目識別器生成処理の詳細を示すフローチャートである。このフローチャートは、入力されるデータ中の特徴が画像の特徴であって例えば、アサガオ、ヒルガオ、ツユクサ、ヒマワリの4クラスの花画像の特徴の識別を行う1階層目識別器を作成する処理を示している。また、画像の特徴抽出では、BOF(Bag Of Features)と呼ばれる画像分類において一般的な方式が実行されることにより、各画像から特徴抽出が行われる。
まず、特徴抽出処理が実行される(図7のステップS701)。この処理では、学習用データのそれぞれにおいて、学習用データが示す画像内の各グリッドに対応させて特徴情報を抽出する処理が実行され、その特徴情報が図1のRAM104に記憶される。特徴情報としては例えば、画像内のグリッドに対応させて、色およびテクスチャが抽出される。
次に、クラスタリング処理が実行される(図7のステップS702)。この処理では、ステップS701で抽出された、全ての学習用データが示す例えば4種の花の各50枚の画像内の全てのグリッドに対応する全ての色の特徴情報が、複数(例えば500個)のクラスタにクラスタリングされる。クラスタリングアルゴリズムとしては例えば、k−means法が用いられる。テクスチャの特徴情報についても同様に、複数(例えば500個)のクラスタにクラスタリングされる。
次に、ベクトル量子化処理が実行される(図7のステップS703)。この処理では、学習用データのそれぞれにおいて、次の処理が実行される。ステップS701にて学習用データが示す画像内の各グリッドに対応して抽出され図1のRAM104に保存されていた各特徴情報ごとに、その特徴情報とステップS702で算出された各クラスタの重心のRGBデータとの距離がそれぞれ算出される。そして、その算出された距離のうち最小の距離に対応するクラスタが最近傍クラスタとして抽出され、その抽出された最近傍クラスタの重心データがその特徴情報のベクトル量子化値とされる。このベクトル量子化処理は例えば、色およびテクスチャの特徴情報ごとに実行され、それぞれステップS702でのクラスタリングにより得られる色のクラスタおよびテクスチャのクラスタを用いて個別にベクトル量子化値が抽出される。学習用データ内の各グリッドの色およびテクスチャの特徴情報ごとに抽出された色およびテクスチャの各ベクトル量子化値は、図1のRAM104に記憶される。
次に、1階層目特徴ベクトル生成処理(ヒストグラム生成処理)が実行される(図7のステップS704)。この処理では、複数の学習用データのそれぞれにおいて、学習用データが示す画像内の各グリッドに対応してステップS703にてRAM104に得たベクトル量子化値ごとに、そのベクトル量子化値に対応する最近傍クラスタのヒストグラム度数を積算する処理が繰り返し実行される。これにより、その学習用データに対応するヒストグラムが生成され、ヒストグラムのビンごとの各度数値を各要素値とする1階層目特徴ベクトル(図3の301に対応)が生成されて、その学習用データに付与されているクラスを示すラベルとともに図1のRAM104に記憶される。ヒストグラムの生成においては例えば、色およびテクスチャごとにステップS703にて抽出されたベクトル量子化値を用いて個別に、色のヒストグラムおよびテクスチャのヒストグラムが生成される。そして、色のヒストグラムのビンごとの各度数値とテクスチャのヒストグラムのビンごとの各度数値を連結したものを各要素値として1階層目特徴ベクトルが生成される。
最後に、識別器生成処理が実行される(図7のステップS705)。ここでは、以下の処理が複数のクラスのそれぞれについて実行される。まず、ステップS704にてRAM104に得た1階層目特徴ベクトルのうち、1つのクラスを示すラベルが付与された第1の1階層目特徴ベクトルのグループが、RAM104から読み出される。また、その1つのクラス以外のクラスを示すラベルが付与された第2の1階層目特徴ベクトルのグループが、RAM104から読み出される。そして、これら1階層目特徴ベクトルの2つのグループに基づいて、その1つのクラスに属するデータが入力されたときに最大のスコア値を出力するその1つのクラスに対応する1階層目識別器が生成される。この処理が、複数のクラスごとに実行されることで、各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器(図3の302(#1)〜302(#4)に対応)が生成される。
以上の識別器の生成処理において、図7のステップS701からS704までの一連の処理は、各学習用データに対して1回だけ実行し、その結果を図1のRAM104に保持しておけばよい。そして、ステップS705の識別器生成処理においては、RAM104に保持されているステップS701からS704までの実行結果を繰り返し読み出して実行することにより、高速に処理を実行することができる。
図8は、図7のステップS701の特徴抽出処理を示すフローチャートである。
このフローチャートでは、ステップS801において、学習用データが図1のRAM104から1枚分ずつ入力されながら、ステップS804で処理すべき次の学習用データがなくなったと判定されるまで、ステップS802とS803の一連の処理が実行される。
まず、ステップS801で1枚分の学習用データが入力された後、その学習用データが示す画像内の最初のグリッドに対応する色およびテクスチャの特徴情報が抽出され、RAM104に記憶される(図8のステップS802)。
次に、ステップS803で未処理の次のグリッドがなくなったと判定されるまで、学習用データからグリッドごとにステップS802の特徴情報の抽出処理が実行される(図8のステップS802→S803→S802の繰返し処理)。
学習用データ上のグリッドごとの全ての特徴情報の抽出処理が完了すると、次の学習用データがあるか否かが判定される(図8のステップS805)。
ステップS805の判定がYESならば、ステップS801の処理に戻って、ステップS801からS804の一連の処理が繰り返される。
全ての学習用データに対する処理が完了してステップS805の判定がNOになると、図8のフローチャートで示される図7のステップS701の特徴抽出処理を終了する。
図9は、図7のステップS703のベクトル量子化処理を示すフローチャートである。
このフローチャートでは、ステップS901において、図1のRAM104上で学習用データが1枚分ずつ指定されながら、ステップS905で指定すべき次の学習用データがなくなったと判定されるまで、ステップS902からS904の一連の処理が実行される。
ステップS901でRAM104上の学習用データが指定された後、ステップS904でRAM104からその学習用データに対応する特徴情報が取得されなくなったと判定されるまで、ステップS902とS903の処理が繰り返し実行される。
まず、現在の学習用データに対応するグリッドごとの色およびテクスチャの特徴情報が、RAM104から読み出される(図9のステップS902)。
次に、ステップS902で読み出された色の特徴情報と図7のステップS702で算出された色の各クラスタの重心のRGBデータとの距離がそれぞれ算出される。そして、その算出された距離のうち最小の距離に対応する色のクラスタが最近傍クラスタとして抽出され、その抽出した最近傍クラスタの重心データがその色の特徴情報のベクトル量子化値とされる。テクスチャについても同様に、ステップS902で読み出されたテクスチャの特徴情報と図7のステップS702で算出されたテクスチャの各クラスタの重心のRGBデータとの距離がそれぞれ算出される。そして、その算出された距離のうち最小の距離に対応するテクスチャのクラスタが最近傍クラスタとして抽出され、その抽出した最近傍クラスタの重心データがそのテクスチャの特徴情報のベクトル量子化値とされる。このようにして、一組の色およびテクスチャの各特徴情報について抽出された各ベクトル量子化値が、RAM104に記憶される(以上、図9のステップS903)。
次に、現在の学習用データに対応するグリッドごとの次の特徴情報がまだRAM104上にあるか否かが判定される(図9のステップS904)。
ステップS904の判定がYESならば、ステップS902の処理に戻って、次の特徴情報に対して、ステップS902とS903の処理が繰り返し実行される。
全ての特徴情報に対するベクトル量子化が完了しステップS904の判定がNOとなると、次の学習用データがあるか否かが判定される(図9のステップS905)。
ステップS905の判定がYESならば、ステップS901の処理に戻って、ステップS901からS904の一連の処理が繰り返される。
全ての学習用データに対するベクトル量子化処理が完了してステップS905の判定がNOになると、図9のフローチャートで示される図7のステップS703のベクトル量子化処理を終了する。
図10は、図7のステップS704の1階層目特徴ベクトル生成処理(ヒストグラム生成処理)を示すフローチャートである。
このフローチャートでは、ステップS1001において、図1のRAM104上で学習用データが1枚分ずつ指定されながら、ステップS1006で指定すべき次の学習用データがなくなったと判定されるまで、ステップS1002からS1005の一連の処理が実行される。
ステップS1001でRAM104上で学習用データが指定された後、ステップS1004でRAM104からその学習用データに対応するベクトル量子化値が取得されなくなったと判定されるまで、ステップS1002とS1003の処理が繰り返し実行される。
まず、現在の学習用データに対応するグリッドごとのベクトル量子化値、より具体的には色およびテクスチャの各ベクトル量子化値が、RAM104から読み出される(図10のステップS1002)。
次に、その読み出されたそのベクトル量子化値に対応する最近傍クラスタのRAM104上に記憶されているヒストグラム度数がプラス1される。より具体的には、色のベクトル量子化値に対応する色の最近傍クラスタのRAM104上に記憶されている色のヒストグラム度数がプラス1される。同様に、テクスチャのベクトル量子化値に対応するテクスチャの最近傍クラスタのRAM104上に記憶されているテクスチャのヒストグラム度数がプラス1される(以上、図10のステップS1003)。
続いて、現在の学習用データに対応するグリッドごとのベクトル量子化値がまだRAM104上にあるか否かが判定される(図10のステップS1004)。
ステップS1004の判定がYESならば、ステップS1002の処理に戻って、次のベクトル量子化値に対して、ステップS1002とS1003の処理が繰り返し実行される。
全てのベクトル量子化値に対するヒストグラムカウントが完了しステップS1004の判定がNOとなると、次の処理が実行される。RAM104に記憶されている全クラスタのヒストグラム度数値を要素値とする1階層目特徴ベクトルが算出される。より具体的には、色のヒストグラムのビンごと(色の全クラスタ)の各度数値とテクスチャのヒストグラムのビンごと(テクスチャの全クラスタ)の各度数値を連結したものを各要素値として、1階層目特徴ベクトルが生成される。このようにして生成された現在の学習用データに対応する1階層目特徴ベクトルがRAM104に記憶される(以上、図10のステップS1005)。
その後、次の学習用データがあるか否かが判定される(図10のステップS1006)。
ステップS1006の判定がYESならば、ステップS1001の処理に戻って、ステップS1001からS1005の一連の処理が繰り返される。
全ての学習用データに対するヒストグラム生成処理が完了してステップS1006の判定がNOになると、図10のフローチャートで示される図7のステップS704の1階層目特徴ベクトル生成処理(ヒストグラム生成処理)を終了する。
図11は、図7のステップS705の識別器生成処理を示すフローチャートである。
まず、複数のクラスのうち識別すべき1つのクラスを示すカテゴリが指定される(図11のステップS1101)。
次に、現在のカテゴリに対応する1vsその他識別用のpositiveデータとnegativeデータが入力される。例えば、カテゴリが花の種類である場合、その種類に対応してステップS1101で指定された1つのクラスのラベルが付与されている学習用データがpositiveデータとされる。また、その1つのクラス以外のクラスのラベルが付与されている学習用データが、negativeデータとされる。そして、positiveデータとされた各学習用データに対応する各1階層目特徴ベクトルが図1のRAM104から読み込まれて第1のグループとされる。また、negativeデータとされた各学習用データに対応する各1階層目特徴ベクトルがRAM104から読み込まれて第2のグループとされる(以上、図11のステップS1102)。
そして、ステップS1102で得られた1階層目特徴ベクトルの第1および第2のグループに基づいて、ステップS1101で指定された識別すべきカテゴリ1つのクラスに属するデータが入力されたときに最大の前記スコア値を出力する前記1つのクラスに対応するように、上記1つのクラスに1階層目識別器における1vsその他識別用パラメータが演算される(以上、図11のステップS1103)。
具体的には例えば、そのような1階層目識別器において、例えば下記(1)式に示されるような1階層目特徴ベクトルが入力されたとする。ここで、Nは、1階層目特徴ベクトルの要素数であり、例えば色のヒストグラムのビン数とテクスチャのヒストグラムのビン数の和の数である。また、xi (1≦i≦N)は、例えば色のヒストグラムのビン番号とテクスチャのヒストグラムのビン番号を順に並べたときのi番目のビン番号におけるヒストグラム度数である。
1階層目特徴ベクトル=(x1 ,x2 ,x3 ,・・・,xN ) ・・・(1)
下記(2)式のように、(1)式のベクトルの各要素x1 ,x2 ,x3 ,・・・,xN にそれぞれ個別の重み値c1 ,c2 ,c3 ,・・・,cN を乗算し、その各乗算結果の総和として、その1階層目識別器に対応するスコア値f(x)を出力する。
f(x)=c1 x1 ,+c2 x2 ,+c3 x3 ,+・・・+cN xN ・・・(2)
この場合、ステップS1103では、上記第1のグループの1階層目特徴ベクトルが上記1階層目識別器に入力されたときに最大のスコア値を出力し、上記第2のグループの1階層目特徴ベクトルが上記1階層目識別器に入力されたときになるべく小さいスコア値を出力するように、上記各重み値c1 ,c2 ,c3 ,・・・,cN が算出される。
この重み値c1 ,c2 ,c3 ,・・・,cN の算出方法としては例えば、機械学習における線形分類器において用いられる線形判別分析と呼ばれるような公知の手法を採用することができる。
1階層目識別器は、このように決定された重み値c1 ,c2 ,c3 ,・・・,cN を用いて上記(2)式を計算することにより、スコア値を出力する。
その後、次のクラスに対応するカテゴリが指定されているか否かが判定される(図11のステップS1104)。
ステップS1104の判定がYESならばステップS1101の処理に戻って、新たなクラスのカテゴリに対応する1階層目識別器の生成処理が実行される。
未処理のクラスに対応するカテゴリがなくなってステップS1104の判定がNOになると、図11のフローチャートで示される図7のステップS705の識別器生成処理を終了する。
図12は、図2のステップS203の2階層目識別器生成処理の詳細を示すフローチャートである。
このフローチャートではまず、図12のステップS1201において、図1のRAM104上で学習用データが1枚分ずつ指定されながら、ステップS1203で指定すべき次の学習用データがなくなったと判定されるまで、ステップS1202の処理が実行される。
図12のステップS1202では、指定された学習用データが、図2のステップS202で生成された各クラスの1階層目識別器に入力される。そして、各1階層目識別器から出力される各スコア値を各要素とする2階層目特徴ベクトル(図3の303に対応)が生成され、ステップS1201で指定された学習用データに対応させられてRAM104に記憶される。
以上のステップS1201からS1203の繰り返し処理によって、RAM104に記憶されている複数の学習用データのそれぞれについて、各2階層目特徴ベクトルがRAM104に得られる。その後、図12のステップS1204において、RAM104に得られた2階層目特徴ベクトルのうち、1つのクラスを示すラベルが付与された学習用データに対応する第1の2階層目特徴ベクトルのグループが、RAM104から読み出される。また、その1つのクラス以外のクラスを示すラベルが付与された学習用データに対応する第2の2階層目特徴ベクトルのグループが、RAM104から読み出される。そして、これら2階層目特徴ベクトルの2つのグループに基づいて、その1つのクラスに属するデータが入力されたときに最大のスコア値を出力するその1つのクラスに対応する2階層目識別器が生成される。この処理が、複数のクラスごとに実行されることで、各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器(図3の304(#1)から304(#4)に対応)が生成される。
上述のステップS1204の識別器生成処理の詳細は、前述した図7のステップS705の識別器生成処理の詳細を示す図11と同様である。この場合に、前述した図11の説明において、1階層目特徴ベクトルを2階層目特徴ベクトルに読み替え、1階層目識別器を2階層目識別器に読み替えればよい。
すなわち、複数のクラスのうち識別すべき1つのクラスを示すカテゴリが指定される(図11のステップS1101)。
次に、現在のカテゴリに対応する1vsその他識別用のpositiveデータとnegativeデータが入力される。例えば、カテゴリが花の種類である場合、その種類に対応してステップS1101で指定された1つのクラスのラベルが付与されている学習用データがpositiveデータとされる。また、その1つのクラス以外のクラスのラベルが付与されている学習用データが、negativeデータとされる。そして、positiveデータとされた各学習用データに対応して図12のステップS1201〜S1203で得られている各2階層目特徴ベクトルが図1のRAM104から読み込まれて第1のグループとされる。また、negativeデータとされた各学習用データに対応して図12のステップS1201〜S1203で得られている各2階層目特徴ベクトルがRAM104から読み込まれて第2のグループとされる(以上、図11のステップS1102)。
そして、ステップS1102で得られた2階層目特徴ベクトルの第1および第2のグループに基づいて、ステップS1101で指定された識別すべきカテゴリ1つのクラスに属するデータが入力されたときに最大の前記スコア値を出力する前記1つのクラスに対応するように、上記1つのクラスに2階層目識別器における1vsその他識別用パラメータが演算される(以上、図11のステップS1103)。
具体的には例えば、そのような2階層目識別器において、例えば下記(3)式に示されるような2階層目特徴ベクトルが入力されたとする。ここで、X1 ,X2 ,X3 およびX4 はそれぞれ、#1から#4の各1階層目識別器(図3の#1から#4の302に対応)が出力する各スコア値である。
2階層目特徴ベクトル=(X1 ,X2 ,X3 ,X4 ) ・・・(3)
下記(4)式に示されるように、(3)式のベクトルの各要素X1 ,X2 ,X3 ,X4 にそれぞれ個別の重み値C1 ,C2 ,C3 ,C4 を乗算し、その各乗算結果の総和として、その1階層目識別器に対応するスコア値F(x)を出力する。
F(x)=C1 X1 ,+C2 X2 ,+C3 X3 ,+C4 X4 ・・・(4)
この場合、ステップS1103では、上記第1のグループの2階層目特徴ベクトルが上記2階層目識別器に入力されたときに最大のスコア値を出力し、上記第2のグループの2階層目特徴ベクトルが上記2階層目識別器に入力されたときになるべく小さいスコア値を出力するように、上記各重み値C1 ,C2 ,C3 ,C4 が算出される。
この重み値C1 ,C2 ,C3 ,C4 の算出方法としては例えば、機械学習における線形分類器において用いられる線形判別分析と呼ばれるような公知の手法を採用することができる。
2階層目識別器は、このようにして決定された重み値C1 ,C2 ,C3 ,C4 を用いて上記(4)式を計算することにより、スコア値を出力する。
その後、次のクラスに対応するカテゴリが指定されているか否かが判定される(図11のステップS1104)。
ステップS1104の判定がYESならばステップS1101の処理に戻って、新たなクラスのカテゴリに対応する2階層目識別器の生成処理が実行される。
未処理のクラスに対応するカテゴリがなくなってステップS1104の判定がNOになると、図11のフローチャートで示される図7のステップS705の識別器生成処理を終了する。
下記(5)式は、例えば前述した図5に示される、図3の#1から#4の各1階層目識別器302が出力するスコア値の例に対して前述した(4)式に基づいて生成される、アサガオvs残りを識別する#2の2階層目識別器304(図3参照)の例を示している。
F(x)=0.8X1 ,+0.9X2 ,+0.5X3 ,−0.5X4 ・・・(5)
また、下記(6)式は、同じく図5の例に対して前述した(4)式に基づいて生成される、ヒルガオvs残りを識別する#1の2階層目識別器304(図3参照)の例を示している。
F(x)=0.9X1 ,+0.8X2 ,−0.5X3 ,−0.5X4 ・・・(6)
上述の(5)式および(6)式から理解されるように、ツユクサvs残りを識別する#3の2階層目識別器304とアサガオvs残りを識別する#2の2階層目識別器304とで、識別器を構成するコスト関数F(X)において、ツユクサvs残りを識別する#3の1階層目識別器302が出力するスコア値X3 に乗算される重み値C3 ((4)式参照)を大きく異ならせることができる。これにより、ツユクサvs残りを識別する#3の1階層目識別器302が出力するスコア値を用いて、ヒルガオvs残りを識別する#1の2階層目識別器304とアサガオvs残りを識別する#2の2階層目識別器304の間で識別精度を均一化することが可能となる。
以上説明したように、本実施形態によれば、図3に示したように、多クラス識別器を2階層構成にして、2階層目識別器304において、1階層目識別器302の全スコア値出力を2階層目特徴ベクトル303として参照して識別が行われる。これにより、1階層目識別器302の一部の識別器の質が低くても、他の1階層目識別器302が出力するスコア値を参照して、2階層目識別器304にて誤差を補正することが可能になる。これにより、各クラスの学習用データ数が少なくても、個々のクラスの1階層目識別器302が出力するスコア値を統合的に評価することにより、識別率の低下を抑制することが可能となり、2階層目識別器304において各クラスの識別率の値の正規化が可能となる。
以上説明した実施形態において、識別の対象を花の画像として説明を行ったが、本発明はこれに限られるものではない。また、画像データから特徴情報を抽出する処理は、BOF(Bag Of Features)の手法に加えて、例えばGraph Cuts法によって花の領域を切り出してから特徴情報を抽出するような方式であってもよい。その他、種々の特徴情報抽出方式が適用できる。
更に、本実施形態では花に代表される画像の識別を例にとって説明したが、画像に限定されるものではなく、音声データや、所定の特徴を表すデータ群の識別に適用することができる。すなわち、機械学習で多クラス分類しようとした場合に、クラス間の識別性能を正規化するような要請に対応可能である。
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力して該各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する1階層目識別器生成手段と、
前記複数の学習用データを前記各クラスの1階層目識別器に入力した結果前記各クラスの1階層目識別器が出力する各スコア値を連結することにより2階層目特徴ベクトルを前記各学習用データごとに生成し、該各2階層目特徴ベクトルを入力して該各2階層目特徴ベクトルに対応する前記各学習用データが表す特徴が前記複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器を生成する2階層目識別器生成手段と、
を備え、
入力されたデータを前記複数の1階層目識別器に入力させることにより該複数の1階層目識別器が出力する前記各スコア値を連結して前記2階層目特徴ベクトルを生成し、該2階層目特徴ベクトルを前記複数の2階層目識別器に入力させることにより最大のスコア値を出力した前記2階層目識別器に対応するクラスを、前記入力されたデータが表す特徴が属するクラスとして識別する、
ことを特徴とする多クラス識別器。
(付記2)
前記特徴は画像の特徴であり、
前記1階層目識別器生成手段は、
前記学習用データが示す画像内の各グリッドに対応させて特徴情報を抽出する処理を前記複数の学習用データのそれぞれに対して実行する特徴抽出処理と、
全ての前記学習用データが示す画像内の全ての前記グリッドに対応して抽出された全ての前記特徴情報を複数のクラスタにクラスタリングするクラスタリング処理と、
前記複数の学習用データのそれぞれについて、該学習用データが示す画像内の前記各グリッドに対応して抽出された前記特徴情報ごとに、該特徴情報と前記各クラスタの重心データとの距離をそれぞれ算出し、該算出した距離のうち最小の距離に対応するクラスタを最近傍クラスタとして抽出し、該抽出した最近傍クラスタの重心データを該特徴情報のベクトル量子化値とするベクトル量子化処理と、
前記複数の学習用データのそれぞれについて、該学習用データが示す画像内の前記各グリッドに対応して抽出された前記ベクトル量子化値ごとに該ベクトル量子化値に対応する前記最近傍クラスタのヒストグラム度数を積算する処理を繰り返し実行することにより該学習用データに対応するヒストグラムを生成し、該ヒストグラムのビンごとの各度数値を各要素値とする前記1階層目特徴ベクトルを生成して、該学習用データに付与されている該学習用データが表す特徴のクラスを示すラベルとともに記憶する1階層目特徴ベクトル生成処理と、
前記1階層目特徴ベクトルのうち、前記1つのクラスを示すラベルが付与された第1の1階層目特徴ベクトルのグループと、前記1つのクラス以外のクラスを示すラベルが付与された第2の1階層目特徴ベクトルのグループとに基づいて、前記1つのクラスに属するデータが入力されたときに最大の前記スコア値を出力する前記1つのクラスに対応する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する識別器生成処理と、
を実行することを特徴とする付記1に記載の多クラス識別器。
(付記3)
前記特徴情報は色およびテクスチャであり、
前記クラスタリング処理において、前記色および前記テクスチャごとに、個別にクラスタリングを行い、
前記ベクトル量子化処理において、前記色および前記テクスチャごとに、それぞれ前記クラスタリングにより得られる色のクラスタおよびテクスチャのクラスタを用いて個別にベクトル量子化値を抽出し、
前記1階層目特徴ベクトル生成処理において、前記色および前記テクスチャごとに、それぞれ前記色および前記テクスチャごとに抽出した前記ベクトル量子化値を用いて個別に、前記学習用データごとの色のヒストグラムおよびテクスチャのヒストグラムを生成し、該色のヒストグラムのビンごとの各度数値と該テクスチャのヒストグラムのビンごとの各度数値を連結したものを各要素値として前記1階層目特徴ベクトルを生成する、
ことを実行することを特徴とする付記2に記載の多クラス識別器。
(付記4)
前記2階層目識別器生成手段は、前記1つのクラスに対応する2階層目識別器を生成する処理において、
前記1つのクラスを示すラベルが付与された学習用データから抽出される第1の前記2階層目特徴ベクトルのグループと、前記1つのクラス以外のクラスを示すラベルが付与された学習用データから抽出される第2の前記2階層目特徴ベクトルのグループとに基づいて、前記1つのクラスに属するデータが入力されたときに最大の前記スコア値を出力する前記1つのクラスに対応する2階層目識別器を生成する、
ことを特徴とする付記1ないし3のいずれかに記載の多クラス識別器。
(付記5)
複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力して該各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する1階層目識別器生成ステップと、
前記複数の学習用データを前記各クラスの1階層目識別器に入力した結果前記各クラスの1階層目識別器が出力する各スコア値を連結することにより2階層目特徴ベクトルを前記各学習用データごとに生成し、該各2階層目特徴ベクトルを入力して該各2階層目特徴ベクトルに対応する前記各学習用データが表す特徴が前記複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器を生成する2階層目識別器生成ステップと、
を実行することを備え、
入力されたデータを前記複数の1階層目識別器に入力させることにより該複数の1階層目識別器が出力する前記各スコア値を連結して前記2階層目特徴ベクトルを生成し、該2階層目特徴ベクトルを前記複数の2階層目識別器に入力させることにより最大のスコア値を出力した前記2階層目識別器に対応するクラスを、前記入力されたデータが表す特徴が属するクラスとして識別する、
ことを特徴とする多クラス識別方法。
(付記6)
複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力して該各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する1階層目識別器生成ステップと、
前記複数の学習用データを前記各クラスの1階層目識別器に入力した結果前記各クラスの1階層目識別器が出力する各スコア値を連結することにより2階層目特徴ベクトルを前記各学習用データごとに生成し、該各2階層目特徴ベクトルを入力して該各2階層目特徴ベクトルに対応する前記各学習用データが表す特徴が前記複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器を生成する2階層目識別器生成ステップと、
をコンピュータに実行させることを備え、
入力されたデータを前記複数の1階層目識別器に入力させることにより該複数の1階層目識別器が出力する前記各スコア値を連結して前記2階層目特徴ベクトルを生成し、該2階層目特徴ベクトルを前記複数の2階層目識別器に入力させることにより最大のスコア値を出力した前記2階層目識別器に対応するクラスを、前記入力されたデータが表す特徴が属するクラスとして識別する、
ことをコンピュータに実行させるためのプログラム。
101 多クラス識別器
102 CPU
103 ROM
104 RAM
105 外部記憶装置
106 通信インタフェース
107 入力装置
108 出力装置
109 可搬記録媒体駆動装置
110 可搬記録媒体
111 バス
301 1階層目特徴ベクトル
302 1階層目識別器
303 2階層目特徴ベクトル
304 2階層目識別器
305 最大スコア判定
401 アサガオの分布
402 ヒルガオの分布
403 ツユクサの分布
本発明は、多クラス識別器生成装置データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラムに関する。
態様の一例では、多クラス識別器生成装置であって、複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを用いて1対Nの識別を行なう複数の1階層目識別器を生成する1階層目識別器生成手段と、前記複数の1階層目識別器それぞれが出力する各スコア値を連結することにより2階層目特徴ベクトルを前記学習用データごとに生成する2階層目特徴ベクトル生成手段と、前記2階層目特徴ベクトル生成手段により前記学習用データごとに生成された前記2階層目特徴ベクトルを更に学習用データとして用いて1対Nの識別を行なう複数の2階層目識別器を生成する2階層目識別器生成手段と、を備えたことを特徴とする。

Claims (6)

  1. 複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力して該各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する1階層目識別器生成手段と、
    前記複数の学習用データを前記各クラスの1階層目識別器に入力した結果前記各クラスの1階層目識別器が出力する各スコア値を連結することにより2階層目特徴ベクトルを前記各学習用データごとに生成し、該各2階層目特徴ベクトルを入力して該各2階層目特徴ベクトルに対応する前記各学習用データが表す特徴が前記複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器を生成する2階層目識別器生成手段と、
    を備え、
    入力されたデータを前記複数の1階層目識別器に入力させることにより該複数の1階層目識別器が出力する前記各スコア値を連結して前記2階層目特徴ベクトルを生成し、該2階層目特徴ベクトルを前記複数の2階層目識別器に入力させることにより最大のスコア値を出力した前記2階層目識別器に対応するクラスを、前記入力されたデータが表す特徴が属するクラスとして識別する、
    ことを特徴とする多クラス識別器。
  2. 前記特徴は画像の特徴であり、
    前記1階層目識別器生成手段は、
    前記学習用データが示す画像内の各グリッドに対応させて特徴情報を抽出する処理を前記複数の学習用データのそれぞれに対して実行する特徴抽出処理と、
    全ての前記学習用データが示す画像内の全ての前記グリッドに対応して抽出された全ての前記特徴情報を複数のクラスタにクラスタリングするクラスタリング処理と、
    前記複数の学習用データのそれぞれについて、該学習用データが示す画像内の前記各グリッドに対応して抽出された前記特徴情報ごとに、該特徴情報と前記各クラスタの重心データとの距離をそれぞれ算出し、該算出した距離のうち最小の距離に対応するクラスタを最近傍クラスタとして抽出し、該抽出した最近傍クラスタの重心データを該特徴情報のベクトル量子化値とするベクトル量子化処理と、
    前記複数の学習用データのそれぞれについて、該学習用データが示す画像内の前記各グリッドに対応して抽出された前記ベクトル量子化値ごとに該ベクトル量子化値に対応する前記最近傍クラスタのヒストグラム度数を積算する処理を繰り返し実行することにより該学習用データに対応するヒストグラムを生成し、該ヒストグラムのビンごとの各度数値を各要素値とする前記1階層目特徴ベクトルを生成して、該学習用データに付与されている該学習用データが表す特徴のクラスを示すラベルとともに記憶する1階層目特徴ベクトル生成処理と、
    前記1階層目特徴ベクトルのうち、前記1つのクラスを示すラベルが付与された第1の1階層目特徴ベクトルのグループと、前記1つのクラス以外のクラスを示すラベルが付与された第2の1階層目特徴ベクトルのグループとに基づいて、前記1つのクラスに属するデータが入力されたときに最大の前記スコア値を出力する前記1つのクラスに対応する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する識別器生成処理と、
    を実行することを特徴とする請求項1に記載の多クラス識別器。
  3. 前記特徴情報は色およびテクスチャであり、
    前記クラスタリング処理において、前記色および前記テクスチャごとに、個別にクラスタリングを行い、
    前記ベクトル量子化処理において、前記色および前記テクスチャごとに、それぞれ前記クラスタリングにより得られる色のクラスタおよびテクスチャのクラスタを用いて個別にベクトル量子化値を抽出し、
    前記1階層目特徴ベクトル生成処理において、前記色および前記テクスチャごとに、それぞれ前記色および前記テクスチャごとに抽出した前記ベクトル量子化値を用いて個別に、前記学習用データごとの色のヒストグラムおよびテクスチャのヒストグラムを生成し、該色のヒストグラムのビンごとの各度数値と該テクスチャのヒストグラムのビンごとの各度数値を連結したものを各要素値として前記1階層目特徴ベクトルを生成する、
    ことを実行することを特徴とする請求項2に記載の多クラス識別器。
  4. 前記2階層目識別器生成手段は、前記1つのクラスに対応する2階層目識別器を生成する処理において、
    前記1つのクラスを示すラベルが付与された学習用データから抽出される第1の前記2階層目特徴ベクトルのグループと、前記1つのクラス以外のクラスを示すラベルが付与された学習用データから抽出される第2の前記2階層目特徴ベクトルのグループとに基づいて、前記1つのクラスに属するデータが入力されたときに最大の前記スコア値を出力する前記1つのクラスに対応する2階層目識別器を生成する、
    ことを特徴とする請求項1ないし3のいずれかに記載の多クラス識別器。
  5. 複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力して該各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する1階層目識別器生成ステップと、
    前記複数の学習用データを前記各クラスの1階層目識別器に入力した結果前記各クラスの1階層目識別器が出力する各スコア値を連結することにより2階層目特徴ベクトルを前記各学習用データごとに生成し、該各2階層目特徴ベクトルを入力して該各2階層目特徴ベクトルに対応する前記各学習用データが表す特徴が前記複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器を生成する2階層目識別器生成ステップと、
    を実行することを備え、
    入力されたデータを前記複数の1階層目識別器に入力させることにより該複数の1階層目識別器が出力する前記各スコア値を連結して前記2階層目特徴ベクトルを生成し、該2階層目特徴ベクトルを前記複数の2階層目識別器に入力させることにより最大のスコア値を出力した前記2階層目識別器に対応するクラスを、前記入力されたデータが表す特徴が属するクラスとして識別する、
    ことを特徴とする多クラス識別方法。
  6. 複数の学習用データからそれぞれ抽出した各1階層目特徴ベクトルを入力して該各学習用データが表す特徴が複数のクラスのうちの1つのクラスに属するか否かを識別する1階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の1階層目識別器を生成する1階層目識別器生成ステップと、
    前記複数の学習用データを前記各クラスの1階層目識別器に入力した結果前記各クラスの1階層目識別器が出力する各スコア値を連結することにより2階層目特徴ベクトルを前記各学習用データごとに生成し、該各2階層目特徴ベクトルを入力して該各2階層目特徴ベクトルに対応する前記各学習用データが表す特徴が前記複数のクラスのうちの1つのクラスに属するか否かを識別する2階層目識別器を生成する処理を、前記複数のクラスごとに実行することで、前記各学習用データが表す特徴が前記複数のクラスのそれぞれに属するか否かを個別に識別する複数の2階層目識別器を生成する2階層目識別器生成ステップと、
    をコンピュータに実行させることを備え、
    入力されたデータを前記複数の1階層目識別器に入力させることにより該複数の1階層目識別器が出力する前記各スコア値を連結して前記2階層目特徴ベクトルを生成し、該2階層目特徴ベクトルを前記複数の2階層目識別器に入力させることにより最大のスコア値を出力した前記2階層目識別器に対応するクラスを、前記入力されたデータが表す特徴が属するクラスとして識別する、
    ことをコンピュータに実行させるためのプログラム。
JP2015036087A 2015-02-26 2015-02-26 多クラス識別器生成装置、データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラム Active JP5892275B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015036087A JP5892275B2 (ja) 2015-02-26 2015-02-26 多クラス識別器生成装置、データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015036087A JP5892275B2 (ja) 2015-02-26 2015-02-26 多クラス識別器生成装置、データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012236440A Division JP5765583B2 (ja) 2012-10-26 2012-10-26 多クラス識別器、多クラス識別方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015099616A true JP2015099616A (ja) 2015-05-28
JP5892275B2 JP5892275B2 (ja) 2016-03-23

Family

ID=53376138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015036087A Active JP5892275B2 (ja) 2015-02-26 2015-02-26 多クラス識別器生成装置、データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5892275B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173577A1 (ja) * 2017-03-23 2018-09-27 日本電気株式会社 植生指標算出装置、植生指標算出方法、及びコンピュータ読み取り可能な記録媒体
KR20180120056A (ko) * 2017-04-26 2018-11-05 김정희 학습 데이터 전처리 방법 및 시스템
KR20210103381A (ko) * 2020-02-13 2021-08-23 주식회사 루닛 데이터의 전향적 전처리 장치 및 그 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240930A (ja) * 1997-02-14 1998-09-11 Hewlett Packard Co <Hp> パターン認識方法およびパターン認識装置
JP2005128628A (ja) * 2003-10-21 2005-05-19 Toshiba Corp パターン識別における照合に用いられるテンプレートの生成ならびに同テンプレートを用いたパターン識別のための方法、装置、およびプログラム
JP2007249852A (ja) * 2006-03-17 2007-09-27 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2009230751A (ja) * 2008-02-25 2009-10-08 Omron Corp 年令推定装置
JP2009301104A (ja) * 2008-06-10 2009-12-24 Chube Univ 物体検出装置
JP2010224787A (ja) * 2009-03-23 2010-10-07 Toyota Central R&D Labs Inc 対象物識別装置及びプログラム
JP2011248636A (ja) * 2010-05-27 2011-12-08 Sony Corp 情報処理装置、情報処理方法およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240930A (ja) * 1997-02-14 1998-09-11 Hewlett Packard Co <Hp> パターン認識方法およびパターン認識装置
JP2005128628A (ja) * 2003-10-21 2005-05-19 Toshiba Corp パターン識別における照合に用いられるテンプレートの生成ならびに同テンプレートを用いたパターン識別のための方法、装置、およびプログラム
JP2007249852A (ja) * 2006-03-17 2007-09-27 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2009230751A (ja) * 2008-02-25 2009-10-08 Omron Corp 年令推定装置
JP2009301104A (ja) * 2008-06-10 2009-12-24 Chube Univ 物体検出装置
JP2010224787A (ja) * 2009-03-23 2010-10-07 Toyota Central R&D Labs Inc 対象物識別装置及びプログラム
JP2011248636A (ja) * 2010-05-27 2011-12-08 Sony Corp 情報処理装置、情報処理方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
村山 善透、外2名: ""多クラス識別問題における2クラス識別器の選択"", 電子情報通信学会技術研究報告, vol. 109, no. 306, JPN6015052718, 19 November 2009 (2009-11-19), JP, pages 195 - 200, ISSN: 0003228124 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173577A1 (ja) * 2017-03-23 2018-09-27 日本電気株式会社 植生指標算出装置、植生指標算出方法、及びコンピュータ読み取り可能な記録媒体
US11417089B2 (en) 2017-03-23 2022-08-16 Nec Corporation Vegetation index calculation apparatus, vegetation index calculation method, and computer readable recording medium
KR20180120056A (ko) * 2017-04-26 2018-11-05 김정희 학습 데이터 전처리 방법 및 시스템
KR102077804B1 (ko) 2017-04-26 2020-04-07 김정희 학습 데이터 전처리 방법 및 시스템
KR20210103381A (ko) * 2020-02-13 2021-08-23 주식회사 루닛 데이터의 전향적 전처리 장치 및 그 방법
KR102395564B1 (ko) 2020-02-13 2022-05-10 주식회사 루닛 데이터의 전향적 전처리 장치 및 그 방법

Also Published As

Publication number Publication date
JP5892275B2 (ja) 2016-03-23

Similar Documents

Publication Publication Date Title
JP5660078B2 (ja) 多クラス識別器、方法、およびプログラム
JP5880454B2 (ja) 画像識別装置及びプログラム
AU2011200343B2 (en) Image identification information adding program, image identification information adding apparatus and image identification information adding method
CN105760889A (zh) 一种高效的不均衡数据集分类方法
US10867169B2 (en) Character recognition using hierarchical classification
JP6566397B2 (ja) 認識装置、実数行列分解方法、認識方法
JP2017084320A (ja) 学習方法およびプログラム
JP2015506026A (ja) 画像分類
JP6897749B2 (ja) 学習方法、学習システム、および学習プログラム
JP5765583B2 (ja) 多クラス識別器、多クラス識別方法、及びプログラム
JP5892275B2 (ja) 多クラス識別器生成装置、データ識別装置、多クラス識別器生成方法、データ識別方法、及びプログラム
Latchoumi et al. OFS method for selecting active features using clustering techniques
CN106033425A (zh) 数据处理设备和数据处理方法
CN112036476A (zh) 基于二分类业务的数据特征选择方法、装置及计算机设备
JP2014115920A (ja) 多クラス識別器、方法、及びプログラム
KR102267487B1 (ko) 메타데이터를 이용한 독립 분류 모델의 동작 방법 및 그 장치
CN113536020B (zh) 数据查询的方法、存储介质和计算机程序产品
KR101584883B1 (ko) 그래프 분류를 위한 빈발 부분그래프의 생성 방법
CN111488400B (zh) 数据分类方法、装置和计算机可读存储介质
JP6004014B2 (ja) 学習方法、情報変換装置および学習プログラム
JP6659120B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN108108371B (zh) 一种文本分类方法及装置
JP2011257805A (ja) 情報処理装置および方法、並びにプログラム
CN110956177A (zh) 一种混合型验证码的识别方法及系统
Yan Anomaly Detection in Categorical Data with Interpretable Machine Learning: A random forest approach to classify imbalanced data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160208

R150 Certificate of patent or registration of utility model

Ref document number: 5892275

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150