JP2014095967A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2014095967A
JP2014095967A JP2012245980A JP2012245980A JP2014095967A JP 2014095967 A JP2014095967 A JP 2014095967A JP 2012245980 A JP2012245980 A JP 2012245980A JP 2012245980 A JP2012245980 A JP 2012245980A JP 2014095967 A JP2014095967 A JP 2014095967A
Authority
JP
Japan
Prior art keywords
distance
matrix
distance matrix
image
information processing
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.)
Pending
Application number
JP2012245980A
Other languages
English (en)
Inventor
Hisahiro Suganuma
久浩 菅沼
Yuichi Kageyama
雄一 影山
Yoshimi Tanaka
義己 田中
Mitsuru Takehara
充 竹原
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2012245980A priority Critical patent/JP2014095967A/ja
Priority to US14/030,436 priority patent/US20140126830A1/en
Priority to CN201310534424.1A priority patent/CN103810230A/zh
Publication of JP2014095967A publication Critical patent/JP2014095967A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Library & Information Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

【課題】逐次に追加されるデータをより妥当なクラスタに分類する。
【解決手段】それぞれが特徴量空間での位置情報を有し上記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、上記特徴量空間での位置情報を有する新規データを追加する場合、上記クラスタのうち上記新規データが上記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは上記新規データを上記クラスタに分類するときに上記候補クラスタを再構成することを決定するクラスタ再構成判定部を備える情報処理装置が提供される。
【選択図】図1

Description

本開示は、情報処理装置、情報処理方法およびプログラムに関する。
特徴量を有するデータをクラスタに分類することは、さまざまな場面で利用される技術である。データが分類されるクラスタは、例えば、各データの特徴量が表現された特徴量空間におけるデータ間の距離に基づいて決定される。このような技術は、画像処理の分野でも多く利用されている。例えば、特許文献1には、動画ストリームの各フレームに含まれる顔画像を検出してクラスタに分類することによって、登場人物のデータを得る技術が記載されている。
特開2010−3021号公報
近年、携帯電話(スマートフォン)のような携帯端末に搭載されたカメラで撮影した画像をサーバにアップロードすることが普及している。サーバは、例えば大容量のストレージを提供して、ユーザが膨大な量の画像を保存したり、保存した画像を他のユーザとの間で共有したりすることを可能にするサービスを提供している。このようにして保存される画像についても、ユーザによる画像閲覧の便宜のため、上記のようなクラスタリングの技術を利用して、同じ人物が映っている画像や、似たような場所/時間で撮影された画像などを同じクラスタに分類する需要がある。
この場合、クラスタリングの対象になる画像は、その数が多く、また逐次追加されていくデータである。それゆえ、新たな画像が追加される度に全画像を対象にしてクラスタリングを実行するは現実的ではない。そこで、追加された画像については、例えば既に形成されたクラスタの画像との間で特徴量空間での距離を算出し、その距離に基づいて分類されるクラスタを決定することが考えられる。しかしながら、このようにして追加されたデータについて逐次にクラスタリングを実行した場合、結果として形成されるクラスタが、追加されたデータも含めて一括してクラスタリングを実行した場合に比べて細かく分割されやすくなる。つまり、例えば同じ人物が映っている画像が別々のクラスタに分類されるような場合が多くなる。
そこで、本開示では、逐次に追加されるデータをより妥当なクラスタに分類することを可能にする、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提案する。
本開示によれば、それぞれが特徴量空間での位置情報を有し上記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、上記特徴量空間での位置情報を有する新規データを追加する場合、上記クラスタのうち上記新規データが上記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは上記新規データを上記クラスタに分類するときに上記候補クラスタを再構成することを決定するクラスタ再構成判定部を備える情報処理装置が提供される。
また、本開示によれば、それぞれが特徴量空間での位置情報を有し上記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、上記特徴量空間での位置情報を有する新規データを追加する場合、上記クラスタのうち上記新規データが上記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは上記新規データを上記クラスタに分類するときに上記候補クラスタを再構成することを決定することを含む情報処理方法が提供される。
また、本開示によれば、それぞれが特徴量空間での位置情報を有し上記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、上記特徴量空間での位置情報を有する新規データを追加する場合、上記クラスタのうち上記新規データが上記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは上記新規データを上記クラスタに分類するときに上記候補クラスタを再構成することを決定する機能をコンピュータに実現させるためのプログラムが提供される。
以上説明したように本開示によれば、逐次に追加されるデータをより妥当なクラスタに分類することができる。
本開示の第1の実施形態に係るサーバの概略的な機能構成を示すブロック図である。 本開示の第1の実施形態において算出される画像間距離の例を示す図である。 本開示の第1の実施形態おいて算出される類似度スコアの例を示す図である。 本開示の第1の実施形態におけるクラスタ再構成の判定について説明するための図である。 本開示の第1の実施形態に係るサーバの処理の概要を示すフローチャートである。 本開示の第2の実施形態に係るサーバの概略的な機能構成を示すブロック図である。 本開示の第2の実施形態において生成される距離行列の例を示す図である。 本開示の第2の実施形態において生成される予測距離行列の例を示す図である。 本開示の第2の実施形態における行列演算の例について説明するための図である。 本開示の第2の実施形態における行列の繰り返し再計算の例について説明するための図である。 本開示の第2の実施形態における付加的な構成の第1の例について説明するための図である。 本開示の第2の実施形態における付加的な構成の第2の例について説明するための図である。 本開示の第2の実施形態における付加的な構成の第3の例について説明するための図である。 本開示の第2の実施形態における付加的な構成の第3の例について説明するための図である。 本開示の第2の実施形態に係るサーバの処理の概要を示すフローチャートである。 情報処理装置のハードウェア構成を説明するためのブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.第1の実施形態
1−1.機能構成
1−2.処理フロー
2.第2の実施形態
2−1.機能構成
2−2.行列演算の例
2−3.行列演算の付加的な例
2−4.処理フロー
3.ハードウェア構成
4.補足
(1.第1の実施形態)
まず、図1〜図5を参照して、本開示の第1の実施形態について説明する。本実施形態は、ユーザからの画像の入力を受け付け、画像をクラスタリングした結果を出力するサーバに係る。このサーバは、単一の情報処理装置によって実現されてもよく、有線または無線のネットワークで接続された複数の情報処理装置の協働によって実現されてもよい。各情報処理装置を実現するためのハードウェア構成の例については後述する。
(1−1.機能構成)
図1は、本開示の第1の実施形態に係るサーバの概略的な機能構成を示すブロック図である。サーバ100は、上述のように、単一の情報処理装置によって実現されてもよく、複数の情報処理装置の協働によって実現されてもよい。後者の場合、以下で説明するサーバ100の機能構成は、それぞれが単一の情報処理装置によって実現されてもよいし、1つの機能構成が複数の情報処理装置に分割して実現されてもよい。
サーバ100は、機能構成として、入力部110、特徴検出部120、ストレージ130、距離算出部140、類似度スコア算出部150、再構成判定部160、クラスタリング部170、および出力部180を含む。以下、各機能構成について説明する。
入力部110は、ユーザによる画像の入力を受け付ける。入力される画像は、例えばユーザが携帯端末に搭載されたカメラを用いて撮影した画像が、撮影直後にアップロードされたものでありうる。また、入力される画像は、例えばユーザが過去に撮影した画像であり、ユーザがPC(Personal Computer)などの端末装置から任意に送信したものであってもよい。いずれにしても、入力部110は、時間的に分散して逐次に画像の入力を受け付ける。なお、ここでいう“逐次に”とは、サーバ100のストレージ130に既にクラスタリングが完了した画像が保存されているときに、1または複数の画像が追加で入力される状況が発生しうるような入力の状態である。従って、ストレージ130に保存されている画像のすべてが逐次に入力されたものでなくてもよいし(そうであってもよい)、画像が入力される間隔は一定でなくてよい。入力部110は、例えば、画像を送信する端末装置と通信する通信装置によって実現される。
特徴検出部120は、入力部110が受け付けた画像の特徴量を抽出する。ここで抽出される特徴量は、画像に関するあらゆる特徴量であり、任意の次元のベクトルとして特徴量空間上に表現されうる。従って、特徴量が抽出された各画像は、特徴量空間での位置情報を有しているともいえる。なお、特徴量は、画像全体についての特徴量であってもよいし、被写体の顔の領域についての特徴量であってもよい。特徴量の抽出については、例えば特開2010−3021号公報や特開2008−77536号公報に記載されているような技術をはじめとして、公知のさまざまな技術を利用することが可能である。特徴検出部120は、検出した特徴量を、画像に関連付けてストレージ130に格納する。特徴検出部120は、例えばCPU(Central Processing Unit)がメモリに格納されたプログラムに従って動作することによって実現される。
ストレージ130は、サーバ100の処理に関するさまざまなデータを格納する。例えばストレージ130は、入力部110が受け付けた画像を格納する。また、ストレージ130は、特徴検出部120によって検出された画像の特徴量を、画像に関連付けて格納する。さらに、ストレージ130は、後述する距離算出部140によって算出された画像間距離や、類似度スコア算出部150によって算出された類似度スコアや、クラスタリング部170によるクラスタリングの結果などをも格納する。既にストレージ130に格納されているデータは、クラスタリング部170によって既にクラスタリングされている。このクラスタリングは、例えば距離算出部140によって算出された画像間距離や、画像間距離に基づいて類似度スコア算出部150によって算出された類似度スコアに基づくものである。なお、特徴検出部120および距離算出部140とストレージ130との間のデータのやりとりだけが図示されているが、ストレージ130は、これ以外のサーバ100の各構成要素との間でもデータをやりとりすることが可能である。
距離算出部140は、入力部110が受け付けた画像と、既にストレージ130に格納されている画像との画像間距離を算出する。本明細書では、特徴量空間において、2つの画像の特徴量のベクトルによってそれぞれ示される位置の間の距離を画像間距離という。距離算出部140は、ストレージ130に格納されている画像の中から所定の基準で抽出された一部の画像を対象として、新たに受け付けられた画像との間の画像間距離を算出してもよい。この場合、対象になる画像は、例えば画像間距離を算出するための特徴量がより正確に検出されうる画像として抽出され、ストレージ130に格納されている画像が分類されたクラスタのそれぞれを代表する特徴を有する画像や、ぼけていない(明瞭な)画像、被写体の顔が対象にある場合は顔のパーツ(目、鼻、口、あごなど)がすべて検出されている画像などでありうる。距離算出部140も、例えばCPUがメモリに格納されたプログラムに従って動作することによって実現される。
ここで、距離算出部140によって算出される画像間距離の例を、図2に示す。図2は、本開示の第1の実施形態において算出される画像間距離の例を示す図である。図示された例では、新たに受け付けられた画像(画像ID“10”)について、既にストレージ130に格納されている画像(画像ID“1”〜“9”)との画像間距離が算出されている。なお、画像間距離は、図示された例のように所定のレンジ(例えば−100〜+100など)によって表現されてもよいし、特徴量空間の座標系に従って表現されてもよい。図示された例の場合、画像間距離は、値が正であり大きいほど、対象の画像同士が類似した特徴量を有することを示す。従って、この場合、新たに受け付けられた画像に最も類似した特徴量を有するのは、正で最も大きい画像間距離“80”が算出された画像ID“7”の画像であることがわかる。
類似度スコア算出部150は、入力部110が受け付けた画像と、既にストレージ130に格納されている画像との類似度スコアを算出する。本明細書では、2つの画像が互いに類似しているか否かを二値化して表現したスコアを類似度スコアという。類似度スコア算出部150は、距離算出部140によって算出された画像間距離に基づいて類似度スコアを算出する。より具体的には、類似度スコア算出部150は、画像間距離に閾値を設定し、この閾値によって類似していることが示される2つの画像間で類似度スコアを“1”、そうではない画像間で類似度スコアを“0”として設定してもよい。ここで、類似度スコア算出部150は、距離算出部140と同様に、ストレージ130に格納されている画像の中から所定の基準で抽出された一部の画像を対象として、新たに受け付けられた画像との間の類似度スコアを算出してもよい。類似度スコア算出部150も、例えばCPUがメモリに格納されたプログラムに従って動作することによって実現される。
ここで、類似度スコア算出部150によって算出される類似度スコアの例を、図3に示す。図3は、本開示の第1の実施形態おいて算出される類似度スコアの例を示す図である。図示された例では、新たに受け付けられた画像(画像ID“10”)について、既にストレージ130に格納されている画像(画像ID“1”〜“9”)との類似度スコアが算出されている。なお、上記の図2の例と、この図3の例との数値に相関性はない。
図では、類似度スコアが、画像ID“1”〜“9”の画像の間の類似度スコアも加えた行列として示されている。なお、行の項目と列の項目とが同じであるため、この行列は対称行列である。この類似度スコアの行列から、各画像が他の画像と類似している傾向を知ることができる。例えば、画像ID“10”の画像は、画像ID“1”,“4”,“7”,“9”,“10”の画像と類似している。一方、画像ID“2”の画像は、画像ID“1”,“2”,“4”,“5”,“7”,“9”の画像と類似している。これらの画像自身は、画像間距離によれば互いに類似していない。しかし、それ以外の画像との類似傾向に着目すると、画像ID“10”の画像が類似している画像はすべて画像ID“2”の画像が類似している画像に含まれており、比較的高い相関性が見られる。このように、類似度スコアの相関性を用いることによって、画像間距離とは異なる観点から画像の類似度を量ることができる。
再構成判定部160は、入力部110が受け付けた画像をクラスタに分類するにあたり、既にストレージ130に格納されている画像が分類されているクラスタの中で再構成すべきクラスタを判定する。より具体的には、再構成判定部160は、距離算出部140によって算出された画像間距離、または類似度スコア算出部150によって算出された類似度スコアに基づいて、新たに受け付けられた画像を分類するクラスタの候補になるクラスタが複数抽出された場合に、抽出された複数のクラスタを再構成することを決定する。クラスタが再構成の対象になった場合、当該クラスタに分類された画像はクラスタに分類されていない状態になり、これらの画像に新たに受け付けられた画像を加えて、後述するクラスタリング部170において再度クラスタリングが実行される。再構成判定部160も、例えばCPUがメモリに格納されたプログラムに従って動作することによって実現される。
ここで、再構成判定部160によるクラスタ再構成の判定について、図4を参照してさらに説明する。図4は、本開示の第1の実施形態におけるクラスタ再構成の判定について説明するための図である。図示された例では、新たに受け付けられた画像Pnについて、画像P1を代表画像とするクラスタC1、画像P2を代表画像とするクラスタC2、および画像P3を代表画像とするクラスタC3が、分類するクラスタの候補になっている。ここで、単純に画像間距離または類似度スコアに基づいて画像Pnが分類されるクラスタを決定した場合、いずれかのクラスタに画像Pnが追加されて、引き続き3つのクラスタC1〜C3が併存する。
しかしながら、仮に、画像Pnが最初から存在した場合、クラスタリングの結果は変わっていた可能性がある。例えば、クラスタC1〜C3のちょうど中間付近に最初から画像Pnが存在した場合、クラスタC1〜C3は別々のクラスタにならず、これらを包含する単一のクラスタC4が形成されていたかもしれない。ところが、上記のように、新たに受け付けられた画像Pnを、単純に“最も類似しているクラスタ”に分類すると、本来はまとまるべきクラスタが細かく分割された状態が、全画像を対象としたクラスタリングが再実行されるまで残ってしまう。画像の数が多い場合、全画像を対象にしたクラスタリングの実行には時間がかかるため、再実行は容易ではなく、そう頻繁には実施されない。従って、例えばユーザから見れば不自然なクラスタリングがされた状態が、長く続いてしまう可能性がある。
そこで、本実施形態では、再構成判定部160が、新たに受け付けられた画像が分類されるクラスタの候補になるクラスタ(候補クラスタ)が複数存在する場合に、候補クラスタに分類された画像と新たに受け付けられた画像とを対象にしてクラスタを再構成することを決定する。図4の例の場合、クラスタC1〜C3に分類された画像(画像P1,P2,P3など)がクラスタに分類されていない状態になり(クラスタC1〜C3が解体され)、これらの画像と画像Pnとを対象にして、クラスタリング部170において再度クラスタリングが実行される。これによって、例えば画像Pnが追加された時点で、例えばクラスタC4のようなより適切なクラスタが設定しなおされる可能性がある。また、クラスタリングを再実行する範囲が限定されるため、全画像を対象にする場合に比べて処理量が少なく、画像が追加される度に実行する処理として現実的である。
なお、再構成判定部160は、再構成の対象になる候補クラスタの数、または再構成の対象になる候補クラスタに含まれる画像の数に応じて、候補クラスタを決定するための閾値を変化させてもよい。例えば、再構成判定部160は、再構成の対象になる候補クラスタが多くなりすぎる場合や、候補クラスタに既に含まれている画像が多すぎる場合には、閾値を高く設定し(例えば、特徴量空間での距離がより近くなければ候補クラスタとして抽出されないように設定し)、クラスタリング部170における再構成を伴うクラスタリングの処理量を抑制してもよい。
クラスタリング部170は、再構成判定部160による判定に従って、画像のクラスタリングを実行する。クラスタリング部170は、特徴量のベクトルによって示される特徴量空間での位置情報に基づいて、対象になった画像をクラスタに分類する。より具体的には、クラスタリング部170は、距離算出部140によって算出された画像間距離、および/または類似度スコア算出部150によって算出された類似度スコアに基づいて、画像をクラスタに分類する。クラスタリング部170は、画像間距離および類似度スコアの両方に基づいてクラスタリングを実行してもよいし、画像間距離または類似度スコアのいずれか一方に基づいてクラスタリングを実行してもよい。クラスタリング部170は、クラスタリングの結果を出力部180に提供するとともに、ストレージ130に格納する。なお、クラスタリング部170が画像間距離だけに基づいてクラスタリングを実行する場合、サーバ100には類似度スコア算出部150が設けられなくてもよい。クラスタリング部170も、例えばCPUがメモリに格納されたプログラムに従って動作することによって実現される。
なお、再構成判定部160において、候補クラスタが1つしか抽出されなかった場合、クラスタリング部170はクラスタリングを再実行することなく、新たに受け付けられた画像をその候補クラスタに分類する。また、候補クラスタが抽出されなかった場合も、クラスタリング部170はクラスタリングを再実行することなく、新たに受け付けられた画像が分類される新たなクラスタを作成する。このように、クラスタリング部170が、再構成判定部160の判定に従ってクラスタの再構成を必要な場合に限って実行することで、新たな画像が追加された場合の処理の負荷および所要時間を必要最小限に抑えることができる。
出力部180は、クラスタリング部170によるクラスタリングの結果を出力する。出力される情報は、例えば、新たに受け付けられた画像が分類されたクラスタを示す情報であってもよい(例えば、“011.jpgは、カテゴリ‘あなた’に分類されました!”など)。また、再構成判定部160での判定の結果に従ってクラスタが再構成され、既にストレージ130に格納されている画像が分類されるクラスタが変更された場合には、そのことを示す情報がさらに加えられてもよい(例えば、“003.jpg、005.jpgの分類がカテゴリ‘あなた’に変更されました!”など)。出力部180は、例えば、結果を端末装置など送信する通信装置によって実現される。
ここで、本実施形態における構成要素の技術的意義についてまとめる。本実施形態において、画像は、特徴量空間における位置が定義されるデータとしての意味をもつ。ストレージ130に既にクラスタに分類された画像が格納されている場合、これらの画像は、特徴量空間での距離(距離算出部140が算出した画像間距離、または画像間距離に基づいて類似度スコア算出部150が算出した類似度スコア)に基づいてクラスタに分類されたデータ群であるといえる。このデータ群が存在する状態で、入力部110によって新たに受け付けられた画像は、特徴量空間での位置情報(特徴検出部120によって抽出される特徴量のベクトルによって示される位置情報)を有する新規データといえる。
また、再構成判定部160は、上記のデータ群が分類されたクラスタに新規データを新たに分類するにあたり、新規データが特徴量空間での距離(画像間距離または類似度スコア)に基づいて分類されうる候補クラスタが複数存在する場合に、新規データのクラスタリングにあたって候補クラスタについてクラスタの再構成を実行することを決定しているといえる。
(1−2.処理フロー)
図5は、本開示の第1の実施形態に係るサーバの処理の概要を示すフローチャートである。このフローチャートを参照して、本実施形態の構成をさらに別の観点から説明する。
サーバ100では、まず、入力部110が画像の入力を受け付ける(ステップS101)。次に、特徴検出部120は、新たに受け付けられた画像の特徴量を抽出する(ステップS103)。さらに、距離算出部140が、新たに受け付けられた画像と、既にストレージ130に格納されている画像との画像間距離を算出する。さらに、類似度スコア算出部150が、画像間距離に基づいて類似度スコアを算出してもよい(ステップS105)。
ここで、再構成判定部160が、画像間距離または類似度スコアに基づいて抽出された候補クラスタ、すなわち新たに受け付けられた画像が分類されるクラスタの候補が、複数存在するか否かを判定する(ステップS107)。ここで、候補クラスタが複数存在する場合(YES)、クラスタリング部170が、候補クラスタを再構成してクラスタリングを実行する(ステップS109)。この場合、クラスタリング部170は、複数の候補クラスタに既に分類された画像についても、新たに受け付けられた画像とともにクラスタリングの対象にする。
一方、ステップS107において、候補クラスタが1つだけ存在する、または存在しない場合(NO)、クラスタリング部170が、再構成なしでクラスタリングを実行する(ステップS111)。この場合、クラスタリング部170は、画像間距離または類似度スコアに従って、新たに受け付けられた画像を候補クラスタに分類するか、または新たなクラスタを生成してそこに分類する。ステップS109,またはステップS111に続いて、出力部180がクラスタリング結果を出力する(ステップS113)。
以上のような処理によって、新たに受け付けられた画像が、例えば特徴量空間において従前は別々に設定されていたクラスタをつなぎ合せる位置に追加される可能性があるような場合には、関係するクラスタを再構成してクラスタリングを実行し、新たに受け付けられた画像が分類されるクラスタを適切に決定するとともに、その画像が元々存在したならば同じクラスタに分類されていた画像についても同じクラスタに分類しなおすことができる。ステップS107の判定によって、クラスタの再構成は必要な場合に限って実行され、また再構成の範囲も限定されるため、画像が追加される度に上記の処理を実行し、画像の追加を反映したクラスタリングの結果をリアルタイムで出力することも可能である。
(2.第2の実施形態)
次に、図6〜図15を参照して、本開示の第2の実施形態について説明する。本実施形態は、上記の第1の実施形態と同様に、ユーザからの画像の入力を受け付け、画像をクラスタリングした結果を出力するサーバに係る。ただし、本実施形態は、距離算出部が画像間距離を一部しか算出せず、残りを距離推定部が推定する点で、第1の実施形態とは異なる。従って、以下の説明では、かかる相違点について主に説明し、それ以外の第1の実施形態と同様の構成については重複した説明を省略する。
(2−1.機能構成)
図6は、本開示の第2の実施形態に係るサーバの概略的な機能構成を示すブロック図である。サーバ200は、第1の実施形態に係るサーバ100と同様に、単一の情報処理装置によって実現されてもよく、複数の情報処理装置の協働によって実現されてもよい。後者の場合、以下で説明するサーバ200の機能構成は、それぞれが単一の情報処理装置によって実現されてもよいし、1つの機能構成が複数の情報処理装置に分割して実現されてもよい。
サーバ200は、機能構成として、入力部110、特徴検出部120、ストレージ130、距離算出部240、距離推定部290、類似度スコア算出部150、再構成判定部160、クラスタリング部170、および出力部180を含む。以下、第1の実施形態とは異なる機能構成である距離算出部240および距離推定部290について説明する。
距離算出部240は、入力部110が受け付けた画像と、既にストレージ130に格納されている画像の一部との画像間距離を算出する。距離算出部240は、ストレージ130に格納されている画像の中から所定の基準で抽出された一部の画像(対象画像)を対象として、さらにその中の一部について、新たに受け付けられた画像との画像間距離を算出する。対象画像は、第1の実施形態と同様に、例えば画像間距離を算出するための特徴量がより正確に検出されうる画像である。さらに、距離算出部240は、算出した画像間距離と、既にストレージ130に格納されている画像同士の画像間距離とを要素とする距離行列Rを生成する。距離算出部240は、例えばCPUがメモリに格納されたプログラムに従って動作することによって実現される。
ここで、距離算出部240が生成する距離行列の例を、図7に示す。図7は、本開示の第2の実施形態において生成される距離行列の例を示す図である。図示された例では、新たに受け付けられた画像(画像ID“10”)について、既にストレージ130に格納されている画像の一部(画像ID“1”,“3”,“6”,“8”)との画像間距離が算出され、距離行列Rの要素として設定されている(10行目)。また、画像ID“1”〜“9”の画像のそれぞれについて既に算出されている画像間距離も、距離行列Rの要素として設定されている(1〜9行目)。新たに受け付けられた画像については画像間距離が一部しか算出されていないため、距離行列Rは未知の要素を含む行列である。また、行の項目と列の項目とが同じであるため、距離行列R(および後述する予測距離行列R’)は対称行列になる。それゆえ、簡単のため、距離行列Rおよび予測距離行列R’の上側については図示を省略する。
距離推定部290は、距離行列Rの要素のうち、距離算出部240によって算出された画像間距離が設定されなかった要素の予測値を、距離行列Rを用いた行列演算によって算出する。例えば、距離推定部290は、例えば図7に示したような未知の要素を含む距離行列Rを用いた行列演算によって、図8に示すような未知の要素の予測値(丸囲みで示した)を含む予測距離行列R’を生成する。図8は、本開示の第2の実施形態において生成される予測距離行列の例を示す図である。なお、図示された例では、予測距離行列R’の予測値以外の要素が距離行列Rと同一であるが、実際にはこれらの要素はわずかに異なりうる。距離推定部290が実行する行列演算の種類は特に限定されないが、ここではそのうちの1つについて後に詳しく説明する。距離推定部290は、距離行列Rの要素の予測値として得られた画像間距離を、距離算出部240によって算出された画像間距離とあわせて、類似度スコア算出部150、再構成判定部160、またはクラスタリング部170に提供する。距離推定部290も、例えばCPUがメモリに格納されたプログラムに従って動作することによって実現される。
(2−2.行列演算の例)
ここで、距離推定部290における行列演算の例を、図9に示す。図9は、本開示の第2の実施形態における行列演算の例について説明するための図である。図示されているように、距離推定部290では、未知の要素を含む行rowを有する距離行列Rから1対の中間行列r1,r2を導出し、これらの行列を掛け合わせることによって、未知の要素の予測値を含む行row’を有する予測距離行列R’を算出する(R’=r1×r2)。距離推定部290は、行row’に含まれる予測値を、距離算出部240によって算出されなかった画像間距離の予測値として出力する。また、予測距離行列R’は、次に新たな画像が追加された場合に、距離行列Rの既存の画像に対応する部分(行rowおよび対応する列以外の部分)として利用されうる。
上記の行列演算において、中間行列r1,r2は、例えば特異値分解(SVD:Singular Value Decomposition)を利用して距離行列Rから導出される。しかし、初めて距離行列Rから予測距離行列R’を算出するような場合、中間行列r1,r2として適切な行列を得ることは容易ではない。そこで、中間行列r1,r2は、例えば図10に示すような繰り返し再計算によって算出される。図10は、本開示の第2の実施形態における行列の繰り返し再計算の例について説明するための図である。なお、図中において、(0),(1),・・・のように示される数字は、その時点での再計算の回数を表している。
図示された例では、まず、距離行列Rから特異値分解などによって中間行列r1(0)が導出される。次に、中間行列r1(0)と距離行列Rとに基づいて中間行列r2(1)が導出される。具体的には、中間行列r1(0)を固定し、r1(0)×r2(1)=R’として算出したときの予測距離行列R’と距離行列Rとの誤差が最小化されるように中間行列r2(1)が決定される。次に、中間行列r2(1)を固定し、r1(1)×r2(1)=R’として算出したときの予測距離行列R’と距離行列Rとの誤差が最小化されるように中間行列r1(1)が決定される。以下同様にして中間行列r1,r2の再計算が所定の回数(k回)繰り返された後、r1(k)×r2(k)=R’として予測距離行列R’が算出される。
以上のような行列演算によって、距離行列Rに含まれる未知の要素の予測値を取得することができる。例えばストレージ130に既に格納されている画像の数が多い場合、全画像の中から所定の基準で抽出された画像(特徴量がより正確に検出される画像)といえども、そのすべての特徴量のデータをメモリにキャッシュすることは困難である。従って、距離算出部において、対象画像のすべてについて新たに受け付けられた画像との画像間距離を算出する場合、ストレージへのアクセスが頻発し、その所要時間が処理全体の所要時間を増大させてしまう可能性がある。
そこで、本実施形態のように、対象画像の一部、例えば特徴量のデータをメモリにキャッシュすることが可能な数の対象画像については距離算出部240で画像間距離を計算し、残りの画像については距離推定部290で画像間距離を推定することにすれば、処理全体の所要時間を抑制することができる。また、行列演算による画像間距離の予測の精度は、例えば上述したような繰り返し演算を採用することによって向上させることができる。
(2−3.行列演算の付加的な例)
さらに、本実施形態の付加的な構成として、画像が新たに受け付けられた場合に、距離推定部290が以前に算出された中間行列r1,r2を利用して予測距離行列R’を算出することで、さらなる処理量の抑制を図ってもよい。これについて、以下で図11を参照して説明する。
(第1の例)
図11は、本開示の第2の実施形態における付加的な構成の第1の例について説明するための図である。図示された例では、ある時点(n回目)の行列演算処理において、距離行列R(n)から中間行列r1(n),r2(n)が導出され、r1(n)×r2(n)=R’(n)として予測距離行列R’(n)が算出されている。これによって、距離行列R(n)の行row(n)に含まれていた未知の要素の予測値が、予測距離行列R’(n)の行row’(n)から得られる。
次回(n+1回目)の行列演算処理では、距離行列R(n+1)から中間行列r1(n+1),r2(n+1)が導出され、r1(n+1)×r2(n+1)=R’(n+1)として予測距離行列R’(n+1)が算出されている。これによって、距離行列R(n+1)の行row(n+1)に含まれていた未知の要素の予測値が、予測距離行列R’(n+1)の行row’(n+1)から得られる。
ここで、n+1回目の行列演算処理で導出される中間行列r1(n+1),r2(n+1)は、n回目の行列演算処理で導出された中間行列r1(n),r2(n)を基にした再計算によって求められる。例えば、n+1回目の処理では、r1(n)に行および列を1つずつ追加した行列r1’を固定し、r1’×r2(n+1)=R’として算出したときの予測距離行列R’と距離行列R(n+1)との誤差が最小化されるように中間行列r2(n+1)が決定される。このとき、r2(n+1)は、r2(n)に行および列を1つずつ追加した行列r2’を基にして探索されうる。次に、中間行列r2(n+1)を固定し、r1(n+1)×r2(n+1)=R’として算出したときの予測距離行列R’と距離行列R(n+1)との誤差が最小化されるように中間行列r1(n+1)が決定される。
図示された例において、前回の処理で導出された中間行列r1(n),r2(n)に基づく再計算によって中間行列r1(n+1),r2(n+1)を求める場合、上記のような中間行列r1(n+1),r2(n+1)の再計算の回数は、図10に示した例の繰り返し回数(k回)よりも少ない回数、例えば1回であってもよい。つまり、図示された例において、距離推定部290は、上記の手順、すなわち1回だけの再計算によって中間行列r1(n+1),r2(n+1)を導出し、r1(n+1)×r2(n+1)=R’(n+1)として予測距離行列R’(n+1)を算出することができる。
この例は、距離行列R(n+1)が、距離行列R(n)に、新たに追加された画像の行row(n+1)および対応する列を付加したものであるために可能になる。つまり、距離行列R(n+1)は、行row(n+1)および対応する列以外の要素について、距離行列R(n)と同一である。従って、r1(n)に行および列を1つずつ追加した行列r1’や、r2(n)に行および列を1つずつ追加した行列r2’は、距離行列R’(n+1)を算出するための中間行列r1(n+1),r2(n+1)に近いものである可能性が高い。それゆえ、距離行列R(n+1)からSVDなどを利用して導出した行列の代わりに、行列r1’,r2’を基にして再計算を実行すれば、より少ない回数の再計算で適切な中間行列r1(n+1),r2(n+1)を導出することができる。
図示された例では、n+2回目以降、n+m回目までの行列演算処理についても同様に、前回の行列演算処理で導出された中間行列に基づく再計算によって中間行列r1,r2が求められ、中間行列r1,r2から予測距離行列R’が算出されている。このような構成によって、画像が新たに受け付けられた場合に、距離推定部290が予測距離行列R’を算出するときの再計算回数が減少し、処理量を抑制することができる。
(第2の例)
図12は、本開示の第2の実施形態における付加的な構成の第2の例について説明するための図である。図示された例では、距離行列R(n+1)から中間行列r1(n+1),r2(n+1)を導出し、r1(n+1)×r2(n+1)=R’(n+1)として予測距離行列R’(n+1)を算出するときに、再計算の対象になる行を中間行列r1,r2の一部の行に限定している。なお、この例は、上記の第1の例と組み合わせて採用されてもよいし、単独で採用されてもよい。
ここで、上述のように、距離行列R(n+1)は、距離行列R(n)に、新たに追加された画像の行row(n+1)および対応する列を追加したものである。従って、中間行列r1(n+1),r2(n+1)では、これらの行および列に対応する行row1(n+1),row2(n+1)以外の部分が、中間行列r1(n),r2(n)と同じ、または近いものである可能性が高い。従って、図示された例では、中間行列r1(n+1),r2(n+1)を導出するときの再計算の対象になる行を行row1(n+1),row2(n+1)に限定することで、さらなる処理量の抑制を図っている。
上記の例において、再計算の対象になる行は、必ずしも新たに追加された画像に対応する行だけでなくてもよい。実際には、距離行列R(n+1)の行row(n+1)および対応する列は、中間行列r1(n+1),r2(n+1)の行row1(n+1),row2(n+1)以外にも影響を及ぼすため、行row1(n+1),row2(n+1)に加えていくつかの行を再計算の対象に加えることは、予測距離行列R’の精度の向上のために有益である。例えば、再計算の対象には、行row1(n+1),row2(n+1)に加えてランダムに選択された1または複数の行が追加されてもよい。また、再計算の対象には、例えば既に算出されている画像間距離に基づいて、追加された画像と相関性が高いと推定される1または複数の行が追加されてもよい。
(第3の例)
図13および図14は、本開示の第2の実施形態における付加的な構成の第3の例について説明するための図である。図13は、本実施形態とは異なる一般的な平均二乗誤差(RMSE:Root Mean Square Error)の算出方法を示し、図14は、本実施形態の付加的な構成の例におけるRMSEの算出方法の例を示す。
一般的な算出方法では、図13に示されるように、データ行列(DATA)をトレーニング部分(TRAINING)とプローブ部分(PROBE)に分け、トレーニング部分を入力行列として行列演算を実行する。行列演算の結果得られる予測行列(ESTIMATED)は、入力行列で空白になっていた(未知の要素であった)プローブ部分の予測値を含む。この予測値と、実際のプローブ部分の値との間でRMSEを算出することで、行列演算による要素予測の精度を評価することができる。
一方、本例における算出方法では、図14に示されるように、距離行列Rを入力行列として行列演算を実行して予測距離行列R’を算出し、距離行列Rに含まれる既知の要素と、当該要素に対応する予測距離行列R’の要素との間でRMSEを算出する。予測距離行列R’の算出にあたっては、距離行列Rに含まれる未知の要素だけでなく、既知の要素についても計算によって値が算出されるため、算出された値と、本来の距離行列Rの要素の値との間の誤差によって、行列演算による要素予測の精度を評価することができる。
上記の2つの算出方法のうち、一般的な算出方法では、数学的に厳密な誤差の算出が可能である。これに対して、本例における算出方法によって算出される誤差は、一般的な算出方法に比べれば厳密ではない。しかし、本例における算出方法では、データを2つの部分に分ける必要がないために、予測値の算出と誤差の算出とを1度の行列演算に含めることができる。
本実施形態において、距離推定部290は、行列演算による誤差を算出し、誤差が所定の範囲を超えた場合には、上記の第1の例および第2の例によらずに、図10に示した例のような所定の回数(k回)の繰り返し計算によって、距離行列Rから予測距離行列R’を再算出してもよい。上記の第1の例および第2の例は、効率的に計算を省略することによって処理量を抑制することを可能にするが、それでも計算を省略していることによっていくらかの誤差が発生する。この誤差が蓄積すると、予測距離行列R’における予測値の精度が低下する可能性がある。それゆえ、距離推定部290が行列演算における誤差を算出し、その結果に基づいて予測距離行列R’の再計算を実行することは有益である。
しかし、ストレージ130に格納される画像が増加するにしたがって、距離行列Rは大規模化する。また、画像は逐次に追加されるため、距離推定部290による行列演算も高い頻度で実行されうる。従って、上記の一般的な算出方法のように、本来の行列演算とは別に誤差評価用の行列演算を実行することは容易ではない。一方、本例における算出方法では、本来の行列演算の結果を利用して誤差の評価が可能であるために、距離推定部290でも実行可能である。
上記の通り、本例における算出方法によって算出される誤差は、数学的な厳密性という点では一般的な算出方法に及ばない。しかしながら、距離推定部290では、絶対的な基準での正確な誤差を算出する必要はなく、誤差が増加しているか否かといった相対的な変化傾向が把握できれば十分である。それゆえ、距離推定部290が、本例における算出方法によって行列演算の誤差を算出し、その誤差に基づいて予測距離行列R’を再計算するか否かを判定することによって、適切なタイミングで予測距離行列R’を再計算し、要素予測の精度を維持することが可能である。
なお、距離推定部290は、上記のRMSEのような誤差以外の基準を用いて、予測距離行列R’を再算出するか否かを判定してもよい。例えば、距離推定部290は、新たな画像の追加による、計算を省略した形での予測距離行列R’の算出が所定の回数以上実行された場合に、予測距離行列R’を再算出することを決定してもよい。あるいは、距離推定部290は、所定の時間周期ごとに、予測距離行列R’を再計算することを決定してもよい。
(2−4.処理フロー)
図15は、本開示の第2の実施形態に係るサーバの処理の概要を示すフローチャートである。このフローチャートを参照して、本実施形態の構成をさらに別の観点から説明する。
サーバ200では、まず、入力部110が画像の入力を受け付ける(ステップS101)。次に、特徴検出部120は、新たに受け付けられた画像の特徴量を抽出する(ステップS103)。さらに、距離算出部240が、新たに受け付けられた画像と、既にストレージ130に格納されている画像の一部との画像間距離を算出する(ステップS201)。さらに、距離推定部290が、残りの画像について、距離行列Rから予測距離行列R’を算出する行列演算によって画像間距離を推定する(ステップS203)。
次に、類似度スコア算出部150が、算出または推定された画像間距離に基づいて類似度スコアを算出してもよい(ステップS205)。上記の第1の実施形態と同様に、類似度スコアの算出は必ずしも実行されなくてもよい。その場合、クラスタリング部170は専ら画像間距離に基づいてクラスタリングを実行する。以降の処理(ステップS107〜S113)については、第1の実施形態と同様であるため重複した説明を省略する。
以上の処理によって、第1の実施形態と同様に、新たに受け付けられた画像が分類されるクラスタを適切に決定するとともに、その画像が元々存在したならば同じクラスタに分類されていた画像についても同じクラスタに分類しなおすことができる。また、そのようなクラスタリングの結果をリアルタイムで出力することも可能である。
さらに、本実施形態では、ステップS201,S203の処理によって、画像間距離の計算がストレージに格納された一部の画像について実行され、残りの画像については画像間距離が推定される。これによって、画像間距離の算出のために発生するストレージへのアクセスが抑制され、処理を高速化してリアルタイム性を向上させることができる。
加えて、ステップS203での画像間距離の推定のための行列演算において、前回の計算結果を利用して再計算回数を減らしたり、再計算の対象にする行列の行を限定したりすれば、さらなる処理の高速化が可能である。また、このとき、所定の条件で再計算(計算を省略しない行列演算)を実行することによって、計算の省略による予測精度の低下を防ぐことができる。
(3.ハードウェア構成)
次に、図16を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図16は、情報処理装置のハードウェア構成を説明するためのブロック図である。図示された情報処理装置900は、例えば、上記の実施形態におけるサーバを構成する1または複数の情報処理装置を実現しうる。
情報処理装置900は、CPU(Central Processing unit)901、ROM(Read Only Memory)903、およびRAM(Random Access Memory)905を含む。また、情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェース913、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923、通信装置925を含んでもよい。情報処理装置900は、CPU901に代えて、またはこれとともに、DSP(Digital Signal Processor)などの処理回路を有してもよい。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置900内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータなどを記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。CPU901、ROM903、およびRAM905は、CPUバスなどの内部バスにより構成されるホストバス907により相互に接続されている。さらに、ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話などの外部接続機器929であってもよい。入力装置915は、ユーザが入力した情報に基づいて入力信号を生成してCPU901に出力する入力制御回路を含む。ユーザは、この入力装置915を操作することによって、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりする。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置917は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、有機EL(Electro-Luminescence)ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置917は、情報処理装置900の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
ストレージ装置919は、情報処理装置900の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体927のためのリーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ921は、装着されているリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されているリムーバブル記録媒体927に記録を書き込む。
接続ポート923は、機器を情報処理装置900に直接接続するためのポートである。接続ポート923は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポートなどでありうる。また、接続ポート923は、RS−232Cポート、光オーディオ端子、HDMI(High-Definition Multimedia Interface)ポートなどであってもよい。接続ポート923に外部接続機器929を接続することで、情報処理装置900と外部接続機器929との間で各種のデータが交換されうる。
通信装置925は、例えば、通信ネットワーク931に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カードなどでありうる。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデムなどであってもよい。通信装置925は、例えば、インターネットや他の通信機器との間で、TCP/IPなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置925に接続される通信ネットワーク931は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信などである。
以上、情報処理装置900のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
(4.補足)
本開示の実施形態は、例えば、上記で説明したような情報処理装置、システム、情報処理装置またはシステムで実行される情報処理方法、情報処理装置を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の記録媒体を含みうる。
なお、上記で説明した実施形態では、サーバで処理が実行される例について説明したが、本開示の実施形態はこのような例には限られない。例えば、ユーザが大量の画像をローカルストレージに保持しており、かつそこに頻繁に画像を追加し、また処理能力の高いPCなどの端末装置を保有しているような場合には、上記で説明したような処理をユーザが使用するPCなどの端末装置で実行することも可能である。あるいは、上記の処理は、端末装置とサーバとに分散して実行されてもよい。この場合、入力部および出力部は、端末装置に設けられるカメラやディスプレイなどの入出力装置によって実現されてもよい。
また、上記で説明した実施形態では、処理対象のデータとして画像を例示したが、本開示の実施形態はこのような例には限られない。本開示に係る技術は、特徴量空間における位置が定義され、データ間の距離に基づいてクラスタに分類され、かつ新たなデータが逐次に追加されるデータであれば、どのようなものにでも適用可能である。従って、データは、画像に限られず、例えば統計、パターン認識、データマイニングなどの各種の分野で用いられるあらゆるデータでありうる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)それぞれが特徴量空間での位置情報を有し前記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、前記特徴量空間での位置情報を有する新規データを追加する場合、前記クラスタのうち前記新規データが前記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは前記新規データを前記クラスタに分類するときに前記候補クラスタを再構成することを決定するクラスタ再構成判定部を備える情報処理装置。
(2)前記特徴量空間での前記データ群に含まれるデータと前記新規データとの間の距離を要素とする距離行列を生成し、前記距離行列の一部の要素に前記特徴量空間での位置情報に基づいて算出された距離を設定する距離算出部と、
前記算出された距離が設定されなかった前記距離行列の要素の予測値を含む予測距離行列を、前記距離行列を用いた行列演算によって算出する距離推定部と
をさらに備え、
前記クラスタ再構成判定部は、前記予測距離行列に基づいて前記候補クラスタを決定する、前記(1)に記載の情報処理装置。
(3)前記距離推定部は、前記距離行列から導出される1対の行列を、前記距離行列を参照して交互に再計算することによって1対の中間行列を生成し、前記1対の中間行列に基づいて前記予測距離行列を算出する、前記(2)に記載の情報処理装置。
(4)前記新規データは、第1の新規データと、該第1の新規データの後に追加される第2の新規データとを含み、
前記距離行列は、前記第1の新規データが追加されたときに生成される第1の距離行列と、前記第2の新規データが追加されたときに生成される第2の距離行列とを含み、
前記予測距離行列は、前記第1の新規データが追加されたときに生成された第1の算出される第1の予測距離行列と、前記第2の新規データが追加されたときに算出される第2の予測距離行列とを含み、
前記距離推定部は、前記第2の距離行列から導出される前記1対の行列の代わりに、前記第1の新規データが追加されたときに生成された前記1対の中間行列を利用することによって、前記第2の距離行列から前記第2の予測距離行列を算出するときの前記再計算の回数を前記第1の距離行列から前記第1の予測距離行列を算出するときよりも少なくする、前記(3)に記載の情報処理装置。
(5)前記距離推定部は、前記第2の距離行列から前記第2の予測距離行列を算出するときの前記再計算の対象を、前記第1の距離行列と前記第2の距離行列との差分に対応する行を含む一部の行に限定する、前記(4)に記載の情報処理装置。
(6)前記一部の行は、前記差分に対応する行と、それ以外の少なくとも1つの行とを含む、前記(5)に記載の情報処理装置。
(7)前記一部の行は、前記差分に対応する行と、前記差分の行との相関性が高い少なくとも1つの行とを含む、前記(6)に記載の情報処理装置。
(8)前記距離推定部は、所定の条件が満たされた場合、前記第2の距離行列から導出された1対の行列を、前記第2の距離行列を参照して交互に再計算することによって前記1対の中間行列を再生成し、該再生成された1対の中間行列に基づいて前記第2の予測距離行列を再算出する、前記(4)〜(7)のいずれか1項に記載の情報処理装置。
(9)前記距離推定部は、前記第2の距離行列と前記第2の予測距離行列との間の誤差が所定の範囲を超えた場合に前記第2の予測距離行列を再算出する、前記(8)に記載の情報処理装置。
(10)前記距離推定部は、前記算出された距離が設定された前記第2の距離行列の要素と、前記第2の予測距離行列における該要素の予測値とを比較することによって前記誤差を算出する、前記(9)に記載の情報処理装置。
(11)前記距離推定部は、前記第2の距離行列から導出される前記1対の行列の代わりに前記第1の新規データが追加されたときに生成された前記1対の中間行列を利用した前記第2の予測距離行列の算出が所定の回数実行された場合に前記第2の予測距離行列を再算出する、前記(8)〜(10)のいずれか1項に記載の情報処理装置。
(12)前記距離推定部は、所定の時間周期ごとに前記第2の予測距離行列を再算出する、前記(8)〜(11)のいずれか1項に記載の情報処理装置。
(13)前記クラスタ再構成判定部は、再構成の対象になる前記候補クラスタの数、または該候補クラスタに含まれるデータの数に応じて、前記候補クラスタを決定するための閾値を変化させる、前記(1)〜(12)のいずれか1項に記載の情報処理装置。
(14)前記特徴量空間での距離に基づいてデータ間の類似度スコアを算出する類似度スコア算出部をさらに備え、
前記クラスタ再構成判定部は、前記類似度スコアの相関性に基づいて前記候補クラスタを決定する、前記(1)〜(13)のいずれか1項に記載の情報処理装置。
(15)前記新規データの入力を、時間的に分散して逐次に受け付ける入力部をさらに備える、前記(1)〜(14)のいずれか1項に記載の情報処理装置。
(16)前記データ群である画像群が格納されるストレージと、
前記新規データである新規画像の特徴量を抽出する特徴抽出部と、
前記特徴量空間での前記画像群に含まれる画像と前記新規画像との間の距離を算出する距離算出部と、
前記再構成する候補クラスタが決定された場合には前記再構成後のクラスタに前記新規画像を分類し、それ以外の場合には前記クラスタを再構成せずに前記新規画像を前記クラスタのいずれかまたは新たなクラスタに分類するクラスタリング部と、
前記新規画像をクラスタに分類した結果を出力する出力部と
をさらに備える、前記(1)〜(15)のいずれか1項に記載の情報処理装置。
(17)それぞれが特徴量空間での位置情報を有し前記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、前記特徴量空間での位置情報を有する新規データを追加する場合、前記クラスタのうち前記新規データが前記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは前記新規データを前記クラスタに分類するときに前記候補クラスタを再構成することを決定することを含む情報処理方法。
(18)それぞれが特徴量空間での位置情報を有し前記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、前記特徴量空間での位置情報を有する新規データを追加する場合、前記クラスタのうち前記新規データが前記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは前記新規データを前記クラスタに分類するときに前記候補クラスタを再構成することを決定する機能をコンピュータに実現させるためのプログラム。
100,200 サーバ
110 入力部
120 特徴検出部
130 ストレージ
140 距離算出部
150 類似度スコア算出部
160 再構成判定部
170 クラスタリング部
180 出力部
290 距離推定部

Claims (18)

  1. それぞれが特徴量空間での位置情報を有し前記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、前記特徴量空間での位置情報を有する新規データを追加する場合、前記クラスタのうち前記新規データが前記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは前記新規データを前記クラスタに分類するときに前記候補クラスタを再構成することを決定するクラスタ再構成判定部を備える情報処理装置。
  2. 前記特徴量空間での前記データ群に含まれるデータと前記新規データとの間の距離を要素とする距離行列を生成し、前記距離行列の一部の要素に前記特徴量空間での位置情報に基づいて算出された距離を設定する距離算出部と、
    前記算出された距離が設定されなかった前記距離行列の要素の予測値を含む予測距離行列を、前記距離行列を用いた行列演算によって算出する距離推定部と
    をさらに備え、
    前記クラスタ再構成判定部は、前記予測距離行列に基づいて前記候補クラスタを決定する、請求項1に記載の情報処理装置。
  3. 前記距離推定部は、前記距離行列から導出される1対の行列を、前記距離行列を参照して交互に再計算することによって1対の中間行列を生成し、前記1対の中間行列に基づいて前記予測距離行列を算出する、請求項2に記載の情報処理装置。
  4. 前記新規データは、第1の新規データと、該第1の新規データの後に追加される第2の新規データとを含み、
    前記距離行列は、前記第1の新規データが追加されたときに生成される第1の距離行列と、前記第2の新規データが追加されたときに生成される第2の距離行列とを含み、
    前記予測距離行列は、前記第1の新規データが追加されたときに生成された第1の算出される第1の予測距離行列と、前記第2の新規データが追加されたときに算出される第2の予測距離行列とを含み、
    前記距離推定部は、前記第2の距離行列から導出される前記1対の行列の代わりに、前記第1の新規データが追加されたときに生成された前記1対の中間行列を利用することによって、前記第2の距離行列から前記第2の予測距離行列を算出するときの前記再計算の回数を前記第1の距離行列から前記第1の予測距離行列を算出するときよりも少なくする、請求項3に記載の情報処理装置。
  5. 前記距離推定部は、前記第2の距離行列から前記第2の予測距離行列を算出するときの前記再計算の対象を、前記第1の距離行列と前記第2の距離行列との差分に対応する行を含む一部の行に限定する、請求項4に記載の情報処理装置。
  6. 前記一部の行は、前記差分に対応する行と、それ以外の少なくとも1つの行とを含む、請求項5に記載の情報処理装置。
  7. 前記一部の行は、前記差分に対応する行と、前記差分の行との相関性が高い少なくとも1つの行とを含む、請求項6に記載の情報処理装置。
  8. 前記距離推定部は、所定の条件が満たされた場合、前記第2の距離行列から導出された1対の行列を、前記第2の距離行列を参照して交互に再計算することによって前記1対の中間行列を再生成し、該再生成された1対の中間行列に基づいて前記第2の予測距離行列を再算出する、請求項4に記載の情報処理装置。
  9. 前記距離推定部は、前記第2の距離行列と前記第2の予測距離行列との間の誤差が所定の範囲を超えた場合に前記第2の予測距離行列を再算出する、請求項8に記載の情報処理装置。
  10. 前記距離推定部は、前記算出された距離が設定された前記第2の距離行列の要素と、前記第2の予測距離行列における該要素の予測値とを比較することによって前記誤差を算出する、請求項9に記載の情報処理装置。
  11. 前記距離推定部は、前記第2の距離行列から導出される前記1対の行列の代わりに前記第1の新規データが追加されたときに生成された前記1対の中間行列を利用した前記第2の予測距離行列の算出が所定の回数実行された場合に前記第2の予測距離行列を再算出する、請求項8に記載の情報処理装置。
  12. 前記距離推定部は、所定の時間周期ごとに前記第2の予測距離行列を再算出する、請求項8に記載の情報処理装置。
  13. 前記クラスタ再構成判定部は、再構成の対象になる前記候補クラスタの数、または該候補クラスタに含まれるデータの数に応じて、前記候補クラスタを決定するための閾値を変化させる、請求項1に記載の情報処理装置。
  14. 前記特徴量空間での距離に基づいてデータ間の類似度スコアを算出する類似度スコア算出部をさらに備え、
    前記クラスタ再構成判定部は、前記類似度スコアの相関性に基づいて前記候補クラスタを決定する、請求項1に記載の情報処理装置。
  15. 前記新規データの入力を、時間的に分散して逐次に受け付ける入力部をさらに備える、請求項1に記載の情報処理装置。
  16. 前記データ群である画像群が格納されるストレージと、
    前記新規データである新規画像の特徴量を抽出する特徴抽出部と、
    前記特徴量空間での前記画像群に含まれる画像と前記新規画像との間の距離を算出する距離算出部と、
    前記再構成する候補クラスタが決定された場合には前記再構成後のクラスタに前記新規画像を分類し、それ以外の場合には前記クラスタを再構成せずに前記新規画像を前記クラスタのいずれかまたは新たなクラスタに分類するクラスタリング部と、
    前記新規画像をクラスタに分類した結果を出力する出力部と
    をさらに備える、請求項1に記載の情報処理装置。
  17. それぞれが特徴量空間での位置情報を有し前記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、前記特徴量空間での位置情報を有する新規データを追加する場合、前記クラスタのうち前記新規データが前記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは前記新規データを前記クラスタに分類するときに前記候補クラスタを再構成することを決定することを含む情報処理方法。
  18. それぞれが特徴量空間での位置情報を有し前記特徴量空間での距離に基づいてクラスタに分類されたデータ群に、前記特徴量空間での位置情報を有する新規データを追加する場合、前記クラスタのうち前記新規データが前記特徴量空間での距離に基づいて分類されうる候補クラスタが複数存在するときは前記新規データを前記クラスタに分類するときに前記候補クラスタを再構成することを決定する機能をコンピュータに実現させるためのプログラム。
JP2012245980A 2012-11-08 2012-11-08 情報処理装置、情報処理方法およびプログラム Pending JP2014095967A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012245980A JP2014095967A (ja) 2012-11-08 2012-11-08 情報処理装置、情報処理方法およびプログラム
US14/030,436 US20140126830A1 (en) 2012-11-08 2013-09-18 Information processing device, information processing method, and program
CN201310534424.1A CN103810230A (zh) 2012-11-08 2013-11-01 信息处理装置、信息处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012245980A JP2014095967A (ja) 2012-11-08 2012-11-08 情報処理装置、情報処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2014095967A true JP2014095967A (ja) 2014-05-22

Family

ID=50622456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012245980A Pending JP2014095967A (ja) 2012-11-08 2012-11-08 情報処理装置、情報処理方法およびプログラム

Country Status (3)

Country Link
US (1) US20140126830A1 (ja)
JP (1) JP2014095967A (ja)
CN (1) CN103810230A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018179065A1 (ja) * 2017-03-27 2018-10-04 株式会社日立製作所 データ分析装置およびデータ分析方法
JPWO2021070505A1 (ja) * 2019-10-07 2021-04-15
JP2021170336A (ja) * 2021-06-07 2021-10-28 紘司 余田 電子データをスマートに保存管理するシステム
JP7504236B2 (ja) 2021-06-25 2024-06-21 エルアンドティー テクノロジー サービシズ リミテッド データサンプルをクラスタ化する方法およびシステム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5755822B1 (ja) * 2014-06-30 2015-07-29 楽天株式会社 類似度算出システム、類似度算出方法およびプログラム
CN104133917B (zh) * 2014-08-15 2018-08-10 百度在线网络技术(北京)有限公司 照片的分类存储方法及装置
EP3236360B1 (en) * 2014-12-15 2020-07-22 Sony Corporation Information processing device, information processing method, program, and information processing system
CN104765820B (zh) * 2015-04-07 2018-05-11 浙江大学 一种非侵入式的服务依赖关系发现方法
WO2017120794A1 (zh) * 2016-01-13 2017-07-20 北京大学深圳研究生院 一种图像匹配方法和装置
JP6433928B2 (ja) * 2016-02-15 2018-12-05 株式会社東芝 検索装置、検索方法および検索システム
CN106021376B (zh) * 2016-05-11 2019-05-10 上海点融信息科技有限责任公司 用于处理用户信息的方法和设备
CN109815971B (zh) * 2017-11-20 2023-03-10 富士通株式会社 信息处理方法和信息处理装置
CN109990803B (zh) * 2018-01-02 2022-05-24 西门子(中国)有限公司 检测系统异常的方法、装置及传感器处理的方法、装置
CN109522937B (zh) * 2018-10-23 2021-02-19 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
US11615101B2 (en) * 2019-10-18 2023-03-28 Splunk Inc. Anomaly detection in data ingested to a data intake and query system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018179065A1 (ja) * 2017-03-27 2018-10-04 株式会社日立製作所 データ分析装置およびデータ分析方法
JPWO2018179065A1 (ja) * 2017-03-27 2019-04-11 株式会社日立製作所 データ分析装置およびデータ分析方法
JPWO2021070505A1 (ja) * 2019-10-07 2021-04-15
WO2021070505A1 (ja) * 2019-10-07 2021-04-15 パナソニックIpマネジメント株式会社 分類システム、分類方法、及びプログラム
JP7270127B2 (ja) 2019-10-07 2023-05-10 パナソニックIpマネジメント株式会社 分類システム、分類方法、及びプログラム
JP2021170336A (ja) * 2021-06-07 2021-10-28 紘司 余田 電子データをスマートに保存管理するシステム
JP7504236B2 (ja) 2021-06-25 2024-06-21 エルアンドティー テクノロジー サービシズ リミテッド データサンプルをクラスタ化する方法およびシステム

Also Published As

Publication number Publication date
CN103810230A (zh) 2014-05-21
US20140126830A1 (en) 2014-05-08

Similar Documents

Publication Publication Date Title
JP2014095967A (ja) 情報処理装置、情報処理方法およびプログラム
US11113842B2 (en) Method and apparatus with gaze estimation
TWI752466B (zh) 影像處理方法、處理器、電子設備、儲存媒介
CN106028134A (zh) 针对移动计算设备检测体育视频精彩部分
TW202011268A (zh) 目標跟蹤方法、裝置、介質以及設備
WO2020244075A1 (zh) 手语识别方法、装置、计算机设备及存储介质
WO2016032777A1 (en) Localized learning from a global model
US10082787B2 (en) Estimation of abnormal sensors
JP7273129B2 (ja) 車線検出方法、装置、電子機器、記憶媒体及び車両
JP7106742B2 (ja) 顔認識方法、装置、電子機器及びコンピュータ不揮発性読み取り可能な記憶媒体
Li et al. Depthwise nonlocal module for fast salient object detection using a single thread
JP6794197B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6950504B2 (ja) 異常候補抽出プログラム、異常候補抽出方法および異常候補抽出装置
CN110956131B (zh) 单目标追踪方法、装置及系统
CN113033458B (zh) 动作识别方法和装置
WO2020238321A1 (zh) 用于识别年龄的方法和装置
WO2021179719A1 (zh) 人脸活体检测方法、装置、介质及电子设备
WO2020258507A1 (zh) X光片的分类方法、装置、终端及存储介质
TWI769661B (zh) 圖像異常檢測方法、裝置、電腦裝置及儲存介質
US11599743B2 (en) Method and apparatus for obtaining product training images, and non-transitory computer-readable storage medium
KR102082430B1 (ko) 의약품 검색을 위한 낱알 식별 장치 및 낱알 식별 방법
TWI748867B (zh) 圖像瑕疵檢測方法、裝置、電子設備及存儲介質
CN110210306B (zh) 一种人脸跟踪方法和相机
CN113221920B (zh) 图像识别方法、装置、设备、存储介质以及计算机程序产品
US20230073940A1 (en) Body Pose Tracking of Players from Sports Broadcast Video Feed