(57)【特許請求の範囲】
【請求項１】
複数の特徴データの各々が、各々のセントロイドが定められた所定個数のクラスタの何れかにクラスタリングされていると共に、新たな特徴データをクラスタリングするための近似近傍探索用インデックスと、前記近似近傍探索用インデックスの更新要否を判定するための閾値とが予め定められ、新たな特徴データを受信する毎に、受信した前記新たな特徴データを、前記近似近傍探索用インデックスを用いてクラスタリングする逐次クラスタリング装置であって、
新たな特徴データを受信する毎に、受信した前記新たな特徴データが属するクラスタのセントロイドの移動量を算出し、算出したセントロイドの移動量の累積量であるセントロイド移動量を算出する算出部と、
前記算出されたセントロイド移動量が前記閾値を超えているか否かを判定する判定部と、
前記算出されたセントロイド移動量が前記閾値を超えていると判定された場合にのみ、前記近似近傍探索用インデックスを更新する更新部と、
を備えた逐次クラスタリング装置。
【請求項２】
前記閾値は、前記所定個数のクラスタの各々毎に定められ、
前記セントロイド移動量は、前記所定個数のクラスタの各々毎に算出され、
前記算出部は、受信した前記新たな特徴データが属するクラスタのセントロイドの移動量を算出し、前記新たな特徴データが属するクラスタの前記セントロイド移動量を算出し、
前記判定部は、前記算出されたセントロイド移動量が、前記新たな特徴データが属するクラスタに対して定められた前記閾値を超えているか否かを判定する
請求項１に記載の逐次クラスタリング装置。
【請求項３】
前記特徴データは、画像データに基づいて定められた特徴点の画素の輝度と、前記特徴点の画素の周囲に位置する複数の画素の各々の輝度との変化量の平均値である請求項１又は２記載の逐次クラスタリング装置。
【請求項４】
複数の特徴データの各々が、各々のセントロイドが定められた所定個数のクラスタの何れかにクラスタリングされていると共に、新たな特徴データをクラスタリングするための近似近傍探索用インデックスと、前記近似近傍探索用インデックスの更新要否を判定するための閾値とが予め定められ、新たな特徴データを受信する毎に、受信した前記新たな特徴データを、前記近似近傍探索用インデックスを用いてクラスタリングする逐次クラスタリング方法であって、
算出部が、新たな特徴データを受信する毎に、受信した前記新たな特徴データが属するクラスタのセントロイドの移動量を算出し、算出したセントロイドの移動量の累積量であるセントロイド移動量を算出し、
判定部が、前記算出されたセントロイド移動量が前記閾値を超えているか否かを判定し、
更新部が、前記算出されたセントロイド移動量が前記閾値を超えていると判定された場合にのみ、前記近似近傍探索用インデックスを更新する、
ことを含む逐次クラスタリング方法。
【請求項５】
前記閾値は、前記所定個数のクラスタの各々毎に定められ、
前記セントロイド移動量は、前記所定個数のクラスタの各々毎に算出され、
前記算出部は、受信した前記新たな特徴データが属するクラスタのセントロイドの移動量を算出し、前記新たな特徴データが属するクラスタの前記セントロイド移動量を算出し、
前記判定部は、前記算出されたセントロイド移動量が、前記新たな特徴データが属するクラスタに対して定められた前記閾値を超えているか否かを判定する
請求項４に記載の逐次クラスタリング方法。
【請求項６】
前記特徴データは、画像データに基づいて定められた特徴点の画素の輝度と、前記特徴点の画素の周囲に位置する複数の画素の各々の輝度との変化量の平均値である請求項４又は５記載の逐次クラスタリング方法。
【請求項７】
コンピュータを、請求項１〜請求項３の何れか１項記載の逐次クラスタリング装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、逐次的に入力される特徴データをクラスタリングする逐次クラスタリング装置、方法、及び、プログラムに関する。
【背景技術】
【０００２】
特徴データ群を似たものでクラスタリングする技術において、逐次クラスタリング技術は、逐次的に入力される特徴データのクラスタリングを可能としている。
【０００３】
例えば、非特許文献１記載の方法では、ある程度の数から成る特徴データ群がＫ個のセントロイド（重心）を基準にＫ個のクラスタに既に分けられた状態とする。この状態で新たな特徴データが入力された際に、新たに入力された特徴データとＫ個のセントロイドとに基づいて、新たに入力された特徴データに対する最近傍のセントロイドをＫ個のセントロイドの中から決定する。また、決定されたセントロイドを、入力された特徴データを用いて更新する。そして、以上の処理を新たな特徴データが入力される毎に繰返すことで逐次クラスタリングを実現している。
【０００４】
非特許文献１においてＫ個のセントロイドのうち、新たに入力された特徴データに対する最近傍のセントロイドを決定する処理では、入力された特徴データと各セントロイドとの間の距離を計算して最近接となるセントロイドを決定する。このような各距離を計算する処理には時間を要する。特にＫが大きい場合にはその計算量が膨大となる。そのため、非特許文献２記載の方法では、ＦＬＡＮＮなどに代表される近似近傍探索処理を用いて近傍探索を行っている。この処理では、高速な探索を実現するために、新たに入力された特徴データがどのセントロイドに最も近いかを判断するための情報である近似近傍探索用インデックスを作成するインデキシング処理を事前に行う。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Pham, Duc Truong, Dimov, Stefan Simeonov and Nguyen著、 「An incremental K-means algorithm」、C. D. 2004. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science 218 (7) , pp. 783-795.
【非特許文献２】Marius Muja and David G. Lowe著、「Scalable Nearest Neighbor Algorithms for High Dimensional Data」、Pattern Analysis and Machine Intelligence (PAMI), Vol. 36, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、近似近傍探索処理におけるインデキシング処理の時間もＫが大きい場合には時間を要する。そして、逐次クラスタリング技術のように、更新処理によってセントロイドが変化する毎に近似近傍探索処理用のインデキシング処理を行う必要が生じ、時間が掛かるといった問題があった。
【０００７】
本発明は、上記問題を解決すべくなされたものであり、高速なクラスタリング処理を実現することが可能な逐次クラスタリング装置、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために本発明に係る逐次クラスタリング装置は、複数の特徴データの各々が、各々のセントロイドが定められた所定個数のクラスタの何れかにクラスタリングされていると共に、新たな特徴データをクラスタリングするための近似近傍探索用インデックスと、前記近似近傍探索用インデックスの更新要否を判定するための閾値とが予め定められ、新たな特徴データを受信する毎に、受信した前記新たな特徴データを、前記近似近傍探索用インデックスを用いてクラスタリングする逐次クラスタリング装置であって、新たな特徴データを受信する毎に、受信した前記新たな特徴データが属するクラスタのセントロイドの移動量を算出し、算出したセントロイドの移動量の累積量であるセントロイド移動量を算出する算出部と、前記算出されたセントロイド移動量が前記閾値を超えているか否かを判定する判定部と、前記算出されたセントロイド移動量が前記閾値を超えていると判定された場合にのみ、前記近似近傍探索用インデックスを更新する更新部と、を備えている。
【０００９】
本発明に係る逐次クラスタリング方法は、複数の特徴データの各々が、各々のセントロイドが定められた所定個数のクラスタの何れかにクラスタリングされていると共に、新たな特徴データをクラスタリングするための近似近傍探索用インデックスと、前記近似近傍探索用インデックスの更新要否を判定するための閾値とが予め定められ、新たな特徴データを受信する毎に、受信した前記新たな特徴データを、前記近似近傍探索用インデックスを用いてクラスタリングする逐次クラスタリング方法であって、算出部が、新たな特徴データを受信する毎に、受信した前記新たな特徴データが属するクラスタのセントロイドの移動量を算出し、算出したセントロイドの移動量の累積量であるセントロイド移動量を算出し、判定部が、前記算出されたセントロイド移動量が前記閾値を超えているか否かを判定し、更新部が、前記算出されたセントロイド移動量が前記閾値を超えていると判定された場合にのみ、前記近似近傍探索用インデックスを更新することを含む。
【００１０】
本発明によれば、算出部が、新たな特徴データを受信する毎に、受信した前記新たな特徴データが属するクラスタのセントロイドの移動量を算出し、算出したセントロイドの移動量の累積量であるセントロイド移動量を算出する。
【００１１】
判定部が、前記算出されたセントロイド移動量が前記閾値を超えているか否かを判定し、更新部が、前記算出されたセントロイド移動量が前記閾値を超えていると判定された場合にのみ、前記近似近傍探索用インデックスを更新する。
【００１２】
このように、算出されたセントロイド移動量が閾値を超えていると判定された場合にのみ、近似近傍探索用インデックスを更新するので、比較的時間のかかる近似近傍探索用インデックスを更新することを減らすことができ、高速なクラスタリングの処理を実現することができる。
【００１３】
本発明に係るプログラムは、コンピュータを、上記逐次クラスタリング装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１４】
以上説明したように、本発明の逐次クラスタリング装置、方法、及びプログラムによれば、高速なクラスタリング処理を実現することができる、という効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態における逐次クラスタリング装置１０の構成を示すブロック図である。
【図２】逐次クラスタリング装置１０が実行する逐次クラスタリング処理プログラムを示すフローチャートである。
【図３】初期セントロイド作成部１６が実行する初期セントロイドの作成処理プログラムを示すフローチャートである。
【図４】セントロイド更新部１８が実行するセントロイドの更新処理を示すフローチャートである。
【図５】メモリ１４の記憶領域１４Ａの内容を示す図である。
【図６】メモリ１４の記憶領域１４Ｂの内容を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
[第１の実施の形態]
以下、本発明の第１の実施の形態に係る逐次クラスタリング装置１０について図面を参照して説明する。
【００１７】
図１は、本実施の形態における逐次クラスタリング装置１０の構成を示すブロック図である。図５は、メモリ１４の記憶領域１４Ａの内容を示す図である。図１に示すように、逐次クラスタリング装置１０は、初期セントロイドが作成済みか否かを判断することなどの前処理を実行する前処理部１２を備えている。逐次クラスタリング装置１０は、特徴データ、初期セントロイド群、ｇａｐ閾値、セントロイド移動量、及び近似近傍探索用インデックスを記憶するための各記憶領域８０〜８８（図５参照）が設けられているメモリ１４を備えている。逐次クラスタリング装置１０は、初期セントロイドを作成する初期セントロイド作成部１６、及びセントロイドを更新するセントロイド更新部１８を備えている。
【００１８】
初期セントロイド作成部１６は、特徴データをクラスタリングする処理などを実行するクラスタリング部２０と、ｇａｐ閾値を決定することなどを行う決定部２２でと、を備えている。セントロイド更新部１８は、特徴データを受け取ることなどを行うデータ処理部２４と、セントロイド移動量を算出することなどを行う算出部２６と、を備える。セントロイド更新部１８は、セントロイド移動量がｇａｐ閾値より大きいか否かを判定する判定部２８と、近似近傍探索用インデックスを更新することなどを行う更新部３０と、を備える。
【００１９】
逐次クラスタリング装置１０は、図示しないＣＰＵ、ＲＯＭ、及びメモリ１４などを備えている。ＣＰＵが後述する逐次クラスタリング処理プログラムを実行することにより、ＣＰＵが上記各部（１２、１６（２０、２２）、１８（２４〜３０））として機能する。
【００２０】
次に、本実施の形態の作用を説明する。図２は、逐次クラスタリング装置１０が実行する逐次クラスタリング処理プログラム（メモリ１４に記憶されている）を示すフローチャートである。図２で示すように、ステップ３２で、逐次クラスタリング装置１０の前処理部１２は、特徴データを受信する。特徴データは、画像データに基づいて定められた特徴点の画素の輝度と、特徴点の画素の周囲に位置する複数の画素の各々の輝度との変化量の平均値である。特徴点は、隣接する画素間の輝度の変化量などに基づいて定められる画像上でのコーナーなどの画素の位置である。
【００２１】
ステップ３４で、前処理部１２は、メモリ１４のセントロイド群記憶領域８２（図５参照）に、初期セントロイド群が記憶されているか否かを判断することにより、初期セントロイドが作成済みかどうかを判断する。初期セントロイドが作成済みと判断されなかった場合には、ステップ３６で、前処理部１２は、特徴データを、メモリ１４の特徴データ記憶領域８０に記憶する。ステップ３８で、前処理部１２は、記憶した特徴データの数が所定数に達したかどうかを判定する。記憶した特徴データの数が所定数に達したと、前処理部１２が判断しなかった場合には、逐次クラスタリング処理はステップ３２に戻る。記憶した特徴データの数が所定数に達したと、前処理部１２が判定した場合には、ステップ４０で、前処理部１２は、初期セントロイド作成部１６を起動する。ステップ４２で、初期セントロイド作成部１６は、初期セントロイドを作成する。その後、逐次クラスタリング処理はステップ３２に戻る。このように、初期セントロイドが作成され、ステップ３２で特徴データが受信されると、ステップ３４は肯定判定となる。この場合、ステップ４４で、前処理部１２は、ステップ３２で受信された特徴データをセントロイド更新部１８に出力する。ステップ４６で、セントロイド更新部１８は、セントロイドの更新処理を実行する。
【００２２】
図３は、初期セントロイド作成部１６が実行する初期セントロイドの作成処理プログラムを示すフローチャートである。図３のステップ５２で、初期セントロイド作成部１６のクラスタリング部２０は、メモリ１４の特徴データ記憶領域８０（図５参照）から上記所定数の特徴データを読み出す。ステップ５４で、クラスタリング部２０は、クラスタリング処理を実行する。クラスタリング処理は例えばＫ−ｍｅａｎｓクラスタリングなどの処理によって実現できる。クラスタリング処理により、各特徴データが所定個数のクラスタのいずれかに分類されると共に、各クラスタのセントロイド（初期セントロイド）が計算され、各クラスタの初期セントロイドがセントロイド群記憶領域８２（図５参照）に記憶される。
【００２３】
ステップ５６で、クラスタリング部２０は、クラスタリング処理結果の初期セントロイド群を用いて近似近傍探索用インデックスを作成する。近似近傍探索用インデックスは、新たに特徴データが受信されると、この特徴データがどのクラスタに属するのかを判断するための情報である。例えば、各クラスタのセントロイドをＡ、Ｂ、Ｃ・・・とした場合、近似近傍探索用インデックスは、位置を基準としたセントロイドＡ、Ｂ、Ｃ・・・の木構造で形成される（図５の記憶領域８８参照）。具体的には、セントロイドＡ、Ｂ、Ｃ・・・を、ある位置（根ノード）を基準に右側に位置するセントロイドのまとまりと、左側に位置するセントロイドのまとまりと、に分ける。各まとまりを更に同様に別の位置を基準に右側及び左側に位置するより小さいまとまりに分ける。新たに特徴データが受信され、新たな特徴データが上記ある位置よりも右側に位置する場合には、左側のまとまりのセントロイドとの関係を考慮しなくてもよいので、より迅速に新たな特徴データがどのクラスタに分類されるのかを探索することができる。この処理はＦＬＡＮＮなどに代表される既存の近似近傍探索処理で実現される。
【００２４】
ステップ５８で、決定部２２は、近似近傍探索用インデックスの更新要否を判定するためのｇａｐ閾値を算出することにより決定する。以下、ｇａｐ閾値の算出方法について説明する。ここで、セントロイドの数をＫ、受信した特徴データの数をＮとする。この場合、ｇａｐ閾値は以下のように算出する。
【００２５】
Ｎ ＞ ２Ｋの場合には、ｇａｐ閾値は（式１）に従い算出する。
［数１］
ｇＴＨ＝（√（ｅ）／Ｎ）*Ｋ*ｂｉａｓ・・・ (式１)
【００２６】
ここで、ｅはクラスタリング結果のコンパクト尺度であり、（式２）で求められる。
［数２］
ｅ＝Σi||samplesi−centerslabelsi||2・・・（式２）
ここで、ｓａｍｐｌｅｓiはｉ番目の特徴データを、ｃｅｎｔｅｒｓlabelsiはｉ番目の特徴データがクラスタリングにより属したクラスタのセントロイドを示す。
【００２７】
また（式１）において、ｂｉａｓはインデキシング処理の実施頻度に作用するパラメータである。大きくすると実施頻度が低くなり高速になるが、逐次クラスタリングの精度が下がる。逆に小さくすると、実施頻度が高まり逐次クラスタリングの精度は良くなるが処理時間が掛かるようになる。例えば１．０などの値を用いることができる。
【００２８】
このようにｇａｐ閾値は、例えば、全ての特徴データが、対応するセントロイドに位置する場合（最もまとまっている場合）には、ｇａｐ閾値は０となる。特徴データが、対応するセントロイドからずれに従って、ｇａｐ閾値は大きくなる。よって、ｇａｐ閾値は、各特徴データの、対応するセントロイドを基準としたまとまりの度合いを全てのクラスタで総合的に示す値である。
【００２９】
Ｎ ＜＝ ２Ｋの場合には、ｇａｐ閾値は（式３）に従い算出する。
［数３］
ｇＴＨ＝α*ｂｉａｓ・・・(式３) 
ここで、αは予め与えられる固定値であり、例えば１００などの比較的大きな値が用いられる。
【００３０】
ステップ６０で、決定部２２は、初期セントロイド群、近似近傍探索用インデックス、ｇａｐ閾値のそれぞれを、対応する記憶領域８２、８８、８４Ａに記憶する。
【００３１】
図４は、セントロイド更新部１８が実行するセントロイドの更新処理を示すフローチャートである。図４のステップ６２で、データ処理部２４は、図２のステップ３４が肯定判定され、前処理部１２がステップ４４で出力した特徴データを受け取る。ステップ６４で、データ処理部２４は、メモリ１４から初期セントロイド群、近似近傍探索用インデックス、及びｇａｐ閾値を読み出す。
【００３２】
ステップ６６で、算出部２６は、受け取った特徴データが属するクラスタを決定し、セントロイド位置を再算出して更新する。より詳細に説明すると、まず、算出部２６は、受け取った特徴データと読み出した近似近傍探索用インデックスとに基づいて、受け取った特徴データに対して近傍探索を行うことで最近傍距離となるセントロイドを決定し、属するクラスタを決定する。そして、算出部２６は、そのセントロイドの位置を、受け取った特徴データと、そのセントロイドのクラスタに属する全ての特徴データとを用いて更新する。これは、新たに特徴データが加わったため、クラスタのセントロイドの位置が移動するからである。ステップ６６の処理は従来の方法と同様である。
【００３３】
ステップ６８で、算出部２６は、更新したセントロイドの移動量をセントロイド移動量に加算して、セントロイド移動量記憶領域８６Ａに記憶する。
ここで、更新したセントロイドの移動量は、例えば、更新前後のセントロイド間のユークリッド距離を求めることで算出される。
一方、セントロイド移動量は、セントロイドの移動量の累積量である。上記のようにｇａｐ閾値が各特徴データの、対応するセントロイドを基準にしたまとまりの度合いを全てのクラスタで総合的に示す値であるので、セントロイド移動量も、全てのクラスタで総合的に示す値である。具体的には、あるセントロイドが更新されて、そのセントロイドの移動量が計算された場合、計算されたセントロイドの移動量がセントロイド移動量に加算される。また、別のセントロイドが更新されて、その別のセントロイドの移動量が計算された場合、計算されたセントロイドの移動量が上記セントロイド移動量に加算される。このようにセントロイド移動量は、全てのセントロイド（クラスタ）について１つ存在する。なお、セントロイド移動量は、逐次クラスタリング装置１０が起動した際に０で初期化されているものとする。
【００３４】
ステップ７０で、判定部２８は、算出したセントロイド移動量が、読み出したｇａｐ閾値より大きいかどうかを判断する。セントロイド移動量がｇａｐ閾値より大きい場合には、現在の近似近傍探索用インデックスを作成するために用いたセントロイド群が、実際のセントロイド群よりも大きくずれている。このため、現在の近似近傍探索用インデックスでは、新たな特徴データを適正にクランスタリングすることができないと判断することができる。
【００３５】
そこで、ステップ７２で、更新部３０は、近似近傍探索用インデックスを現在のセントロイド群を用いて更新する。このように、近似近傍探索用インデックスを作成するために用いたセントロイド群が、現在のセントロイド群を基準に作成されたので、ステップ７４で、更新部３０は、セントロイド移動量を０で初期化する。ステップ７６で、更新部３０は、現在のセントロイド群をメモリ１４のセントロイド群記憶領域８２に記憶する。これにより、セントロイドの更新処理が終了する。
【００３６】
一方、算出したセントロイド移動量がｇａｐ閾値以下の場合は、ステップ７０が否定判定され、セントロイドの更新処理は、ステップ７２、７４をスキップし、ステップ７６に進む。よって、近似近傍探索用インデックスが更新されることなく、ステップ７６で、更新部３０は、現在のセントロイド群をメモリ１４のセントロイド群記憶領域８２に記憶して、セントロイドの更新処理が終了する。
【００３７】
以上説明したように、第１の実施の形態に係る逐次クラスタリング装置１０によれば、初期クラスタ作成時に生成されたクラスタのコンパクト尺度を用いて、近似近傍探索用インデックスの更新要否を判定するためｇａｐ閾値を算出する。ｇａｐ閾値は、各特徴データのまとまり度合いを全てのクラスタで総合的に示す値である。
【００３８】
更新したセントロイドの移動量の累積値であるセントロイド移動量がｇａｐ閾値を超えなければ、特徴データのまとまりの度合いの範囲内でセントロイドが変化したと判断できる。従って、既存の近似近傍探索用インデックスで新たな特徴データのクラスタリング処理を適正に行うことができる。よって、既存の近似近傍探索用インデックスを更新する必要はない。
【００３９】
しかし、セントロイド移動量がｇａｐ閾値を超えると、セントロイドが特徴データのまとまりの度合いの範囲を超えて変化したので既存の近似近傍探索用インデックスでは、新たな特徴データのクラスタリング処理を適正に行うことができない。そこで、最新のセントロイド群を用いて近似近傍探索用インデックスを更新する。
【００４０】
ところで、近似近傍探索用インデックスを更新することは、全てのセントロイドを考慮するため、処理時間を要する。しかし、セントロイド移動量がｇａｐ閾値を超えた場合にのみ近似近傍探索用インデックスを更新するので、近似近傍探索用インデックスの更新処理の実施回数を減らすことができる。よって、セントロイド数Ｋが大きい場合でも高速なクラスタリング処理を実現することができる。
【００４１】
[第２の実施の形態]
次に、第２の実施の形態に係る逐次クラスタリング装置１０について説明する。なお、第２の実施の形態の逐次クラスタリング装置１０は、第１の実施の形態と同様の構成であるので、その説明を省略する。また、第２の実施の形態による逐次クラスタリング装置１０の作用は第１の実施の形態の逐次クラスタリング装置１０作用とほぼ同様であるので異なる部分についてのみ説明する。
【００４２】
クラスタには、第１に、特徴データが、対応するセントロイドに比較的近い位置に位置するようなまとまりの度合いが比較的大きいコンパクトなクラスタが含まれる。第２に、特徴データが、対応するセントロイドに比較的遠い位置に位置するようなまとわりの度合いが比較的小さいコンパクトでないクラスタが含まれる。
【００４３】
しかし、第１の実施の形態の方法では、ｇａｐ閾値を全セントロイドに対して１つのみ設定する。このため、コンパクトなクラスタのセントロイドの移動量と、コンパクトでないクラスタのセントロイドの移動量とが同等に扱われることとになる。よって、セントロイド移動量がｇａｐ閾値を超えていなくても、コンパクトなクラスタではセントロイドの移動量が大きい場合、近似近傍探索用インデックスが更新されず、新しい特徴データクラスタリング処理の精度が劣化することがある。第２の実施の形態はこの問題を解決するためになされたものである。
【００４４】
第２の実施の形態の初期セントロイド作成部１６の決定部２２では、図３のステップ５８で、ｇａｐ閾値を以下の処理によりセントロイド毎のｇａｐ閾値ｇＴＨ＿ｃとして算出する。図６は、メモリ１４の記憶領域１４Ｂの内容を示す図である。図６に示すようにｇａｐ閾値記憶領域８４Ｂ内の、対応するセントロイドに対応する記憶領域にｇａｐ閾値を記憶する。
【００４５】
Ｎ ＞ ２Ｋの場合には、セントロイド毎のｇａｐ閾値ｇＴＨ＿ｃ は（式４）に従い算出する。
［数４］
ｇＴＨ＿ｃ＝（√（ｅ）／Ｎｃ）*Ｋ*ｂｉａｓ・・・(式４)
【００４６】
ここで、ｇＴＨ＿ｃは、あるセントロイドｃに対するｇａｐ閾値、Ｎｃはあるクラスタに属する特徴データの数である。ｇａｐ閾値ｇＴＨ＿ｃ は、各特徴データの、対応するセントロイドを基準としたまとまりの度合いをクラスタ毎に示す値である。
【００４７】
Ｎ ＜＝ ２Ｋの場合には、クラスタ毎のｇａｐ閾値ｇＴＨ＿ｃは（式５）に従い算出する。
［数５］
ｇＴＨ＿ｃ＝α*ｂｉａｓ・・・(式５) 
なお、α、ｂｉａｓは、上記と同様であるが、クラスタ毎に定めてもよい。
【００４８】
第２の実施の形態のセントロイド更新部１８の算出部２６は、図４のステップ６８で、セントロイド移動量を、新しい特徴データが属するクラスタのセントロイドｃのＣｅｎｔＴｒａｎｓ＿ｃとして加算する。算出部２６は、図６に示すように、セントロイド移動量記憶領域８６Ｂ内の、対応するセントロイドに対応する記憶領域に記憶する。
【００４９】
ここで、セントロイド毎のセントロイド移動量ＣｅｎｔＴｒａｎｓ＿ｃは、あるセントロイドｃの移動量の蓄積量を記憶したものであり、逐次クラスタリング装置１０が起動した際に全ての値が０で初期化されているものとする。
【００５０】
図４のステップ７０で、セントロイド移動量がｇａｐ閾値より大きくなるかどうかを判定する際には、セントロイド移動量ＣｅｎｔＴｒａｎｓ＿ｃが、セントロイドｃにおけるｇａｐ閾値ｇＴＨ＿ｃより大きくなるかどうかが判定される。
【００５１】
セントロイド移動量ＣｅｎｔＴｒａｎｓ＿ｃがｇａｐ閾値ｇＴＨ＿ｃより大きい場合には、近似近傍探索用インデックスが更新され（ステップ７２）、セントロイド移動量ＣｅｎｔＴｒａｎｓ＿ｃが０で初期化される（ステップ７４）。一方、セントロイド移動量ＣｅｎｔＴｒａｎｓ＿ｃがｇａｐ閾値ｇＴＨ＿ｃ以下の場合は、近似近傍探索用インデックスは更新されない。
【００５２】
以上説明した処理により、コンパクトなクラスタのセントロイドと、コンパクトでないクラスタのセントロイドのそれぞれの移動量を別々に扱うことが可能となり、精度を劣化させずに高速なクラスタリング処理を実現することができる。
【００５３】
以上説明した各実施の形態では、逐次クラスタリング装置１０が実行する逐次クラスタリング処理プログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、逐次クラスタリング装置１０に係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００５４】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。また、逐次クラスタリング処理プログラムは、逐次クラスタリング処理プログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５５】
なお、特徴データは、例えば、音データのＬＰＣケプストラム係数でもよい。
【００５６】
以上、本発明を実施の形態の例に基づき具体的に説明したが、上述の実施の形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定しあるいは範囲を減縮するように解すべきではない。また、本発明の各部構成は上述の実施の形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【符号の説明】
【００５７】
１０   逐次クラスタリング装置
１２   前処理部
１４   メモリ
１４Ａ 記憶領域
１４Ｂ 記憶領域
１６   初期セントロイド作成部
１８   セントロイド更新部
２０   クラスタリング部
２２   決定部
２４   データ処理部
２６   算出部
２８   判定部
３０   更新部
８０   特徴データ記憶領域
８２   セントロイド群記憶領域
８４Ａ ｇａｐ閾値記憶領域
８４Ｂ ｇａｐ閾値記憶領域
８６Ａ セントロイド移動量記憶領域
８６Ｂ セントロイド移動量記憶領域
８８   近似近傍探索用インデックス記憶領域
【要約】
【課題】高速なクラスタリング処理を実現する。
【解決手段】逐次クラスタリング装置では、複数の特徴データの各々が、各々のセントロイドが定められた所定個数のクラスタの何れかにクラスタリングされていると共に、新たな特徴データをクラスタリングするための近似近傍探索用インデックスと、近似近傍探索用インデックスの更新要否を判定するためのｇａｐ閾値とが予め定められている。新たな特徴データを受信する毎に、受信した新たな特徴データが属するクラスタのセントロイドの移動量を算出し、算出したセントロイドの移動量の累積量であるセントロイド移動量を算出する（６８）。算出されたセントロイド移動量がｇａｐ閾値を超えているか否かを判定する（７０）。算出されたセントロイド移動量がｇａｐ閾値を超えていると判定された場合にのみ、近似近傍探索用インデックスを更新する（７２）。
【選択図】図４【図１】
0006012814.tif 000002
【図２】
0006012814.tif 000003
【図３】
0006012814.tif 000004
【図４】
0006012814.tif 000005
【図５】
0006012814.tif 000006
【図６】
0006012814.tif 000007