JP5719145B2 - 情報処理装置、その処理方法及びプログラム - Google Patents

情報処理装置、その処理方法及びプログラム Download PDF

Info

Publication number
JP5719145B2
JP5719145B2 JP2010246747A JP2010246747A JP5719145B2 JP 5719145 B2 JP5719145 B2 JP 5719145B2 JP 2010246747 A JP2010246747 A JP 2010246747A JP 2010246747 A JP2010246747 A JP 2010246747A JP 5719145 B2 JP5719145 B2 JP 5719145B2
Authority
JP
Japan
Prior art keywords
node
learning
query
pattern
learning pattern
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.)
Expired - Fee Related
Application number
JP2010246747A
Other languages
English (en)
Other versions
JP2012098960A (ja
Inventor
裕人 吉井
裕人 吉井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010246747A priority Critical patent/JP5719145B2/ja
Priority to US13/281,115 priority patent/US8930286B2/en
Publication of JP2012098960A publication Critical patent/JP2012098960A/ja
Application granted granted Critical
Publication of JP5719145B2 publication Critical patent/JP5719145B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Image Analysis (AREA)

Description

本発明は、情報処理装置、その処理方法及びプログラムに関する。
従来、学習パターンを用いて新規パターンを解析する機械学習が知られている。その中でも、分類木、決定木と呼ばれるパターン認識手法が知られている(非特許文献1参照)。この手法では、木構造(ツリー構造とも呼ばれる)を用いて高速にパターンを解析できるため、特に、計算機の能力の貧弱な時代にその能力を発揮してきた。
なお、パターン認識問題をパターン識別問題として捉えたとき、識別するべきパターンの種類を“クラス”と呼ぶ。以下の説明では、“クラス”という用語は、この意味で用いる。
非特許文献1に記載されるような、古典的な分類木や決定木は、認識性能があまり高くないことが欠点として挙げられる。この欠点を克服する技術としては、例えば、特許文献1に示されるような分類木の集合(アンサンブル)を用いた手法が提案されている。この技術では、分類木をL個(Lは2以上の定数であり、通常は10〜100の範囲)作成し、それら全べてを用いることによって、より高い認識性能を実現する。
この分類木の集合(アンサンブル)を用いた手法をコンピュータビジョンに応用した例としては、非特許文献2に記載された技術が知られている。この論文の中で筆者は、(32ピクセル×32ピクセルの)画像を対象として、その輝度値を元に分類木を作成している。より具体的には、分類木の各ノードにおいて、ランダムに所定サイズ(32ピクセル×32ピクセル)の画像上の2点を選び、その輝度値を比較する。これにより、枝の分岐を実現している。この処理は、非常に高速にでき、且つ認識精度も十分高いという報告が論文の中でされている。
米国特許第6,009,199号明細書
Leo Breiman, Jerome Friedman, Charles J. Stone, and R.A. Olshen, "Classification and Regression Trees", Chapman & Hall/CRC (1984) Vincent Lepetit and Pascal Fua, "Keypoint Recognition Using Randomized Trees", IEEE Transactions on Pattern Analysis and Machine Intelligence (2006) pp.1465〜pp.1479
しかし、例えば、山積みされた部品の認識や人ごみの中での人物認識など、背景の変動が大きい場合、非特許文献2に記載された技術は、そのまま適用できない。未知の画像の中で背景となる部分の輝度値は、学習する画像と全く異なる値になるからである。具体的には、分類木の各ノードにおいて2点の輝度値を比較する際に、対象物体とは無関係な輝度値を用いてしまう可能性がある。この結果、(従来の)分類木を用いたパターン認識では信頼性の低い結果しか得られない。できるだけ対象物体の存在する部分の2点の輝度値を比較しようとしても、どうしても対象物体以外の部分を参照してしまうケースが発生してしまう。
そこで、本発明は、上記課題に鑑みてなされたものであり、従来よりも認識精度の高いパターン認識用の辞書を作成できるようにした技術を提供することを目的とする。
上記課題を解決するため、本発明の一態様は、パターン認識の対象となる対象物体が含まれる学習パターンの集合をルートノードに設定し、該設定した学習パターンの集合に含まれる個々の学習パターンを各ノードに分配していくことにより木構造の辞書を作成する情報処理装置であって、
ノードに分配された学習パターンに対して実行するクエリを該ノードに対応して作成する作成手段と、
前記ノードに分配された学習パターンに対して該ノードに対応して作成されたクエリを実行し、該クエリの実行結果に基づいて個々の学習パターンを該ノードよりも下位のノードへ分配する分配手段と、
前記ノードにおける前記学習パターンの分配に際して、前記ノードよりも上位のノードにおけるクエリの実行時に前記学習パターンに含まれる前記対象物体が存在する領域が参照されたか否かを示す履歴を集計した履歴情報に基づいて、前記ノードに対するクエリが有効に実行されたか否かを判定する判定手段と
を具備し、
前記分配手段は、
前記クエリが有効に実行されたと判定された学習パターンを前記下位のノードに分配し、前記クエリが有効に実行されなかったと判定された学習パターンを削除する
ことを特徴とする。
本発明によれば、従来よりも認識精度の高いパターン認識用の辞書を作成できる。
本発明の一実施の形態に係わる情報処理装置10の構成の一例を示す図。 図1に示す情報処理装置10の学習処理の一例を示すフローチャート。 学習パターンの一例を示す図。 木構造の辞書の一例を示す図。 図2(b)に示すS203の処理の詳細を示すフローチャート。 図5に示すS302の処理の概要を示す図。 図5に示すS302の処理の変形例の概要を示す図。 図1に示す情報処理装置10の認識処理の一例を示すフローチャート。 実施形態3に係わる学習処理の一例を示すフローチャート。 実施形態4に係わる処理の概要を示す図。 実施形態4に係わる情報処理装置10の処理の流れの一例を示すフローチャート。
以下、本発明の一実施の形態について添付図面を参照して詳細に説明する。
以下の実施形態においては、予め学習されたパターンに基づき新規パターンを解析するパターン認識方法について説明する。ここで、具体的な例を挙げると、パターンとして対象物を撮像した画像を用いて、対象物の名称、種類、3次元上の存在位置、姿勢等の情報を推定する形態が挙げられる。
なお、対象物とは任意の物体を表し、例えば、人、動物、臓器、自動車、カメラ、プリンター、半導体基板などであり、特にこれに限定されず、何でも良い。また更に、一般的な、適用例としては対象とする物理現象を測定した計測値をパターンとして用いても良い。
(実施形態1)
図1は、本発明の一実施の形態に係わる情報処理装置10の構成の一例を示す図である。
情報処理装置10は、記憶部11と、中央処理装置(CPU)12と、メモリ13と、入力部14と、出力部15とを具備して構成される。これら各構成は、バス16を介して相互通信可能に接続されている。
記憶部11は、各種プログラムや学習パターン、当該学習パターンを用いて作成された辞書等を保持する。また、記憶部11には、新規パターンの認識結果が保持されても良い。
CPU12は、情報処理装置10における各部の動作を制御する。メモリ13は、CPU12により使用されるプログラム、及びサブルーチンやデータを一時的に格納する。また、後述する処理により導出される新規パターンの認識結果を保持しても良い。
入力部14は、各種情報を入力する。例えば、新規パターンを取り込んだり、ユーザーからの指示入力を処理したりする。例えば、パターンとして2次元の画像を用いる場合、入力部14は、例えば、対象物体を撮影するカメラとして実現される。その他、入力部14は、キーボードやマウス等としての役割も果たし、例えば、プログラム実行のユーザからのトリガーを入力する。
出力部15は、各種情報を出力する。例えば、パターン認識結果を他の装置へ出力する。出力部15は、例えば、モニター等で実現される場合もある。その場合、ユーザーに向けて処理結果等を提示する。なお、出力先としては人間(ユーザー)ではなく、例えば、ロボットを制御する装置などのマシンの場合もあり得る。
ここで、CPU12上に実現される機能的な構成の一例について説明する。CPU12上には、機能的な構成として、学習部21と、認識部22とが実現される。なお、CPU12上に実現される機能構成は、例えば、CPU12が、メモリ13等(又は記憶部11)に格納された各種制御プログラムを実行することにより実現される。
学習部21は、パターン認識の対象となる対象物体が含まれる学習パターンの集合を用いて学習する。これにより、学習パターンの集合に含まれる個々の学習パターンが各ノードに分配された木構造の辞書(又は木構造の判別器)が作成される。ここで、学習部21には、クエリ作成部23と、分配部24と、判定部25とが具備される。
クエリ作成部23は、ノードに分配された学習パターンに対して実行するクエリを当該ノードに対応して作成する。
分配部24は、クエリ作成部23により作成されたクエリを各ノードで実行し、その実行結果に基づいて学習パターンの集合に含まれる個々の学習パターンを下位のノードへ分配する。
判定部25は、分配部24による学習パターンの分配に際して、当該分配対象となる学習パターン(ノードに分配された学習パターン)に含まれる対象物体に対してクエリが有効に実行されたか否かを判定する。この判定の結果、クエリが有効に実行されていないと判定された学習パターンは、下位のノードに分配されず、削除されることになる。
認識部22は、パターン認識の対象となるパターンの集合をルートノードに設定し、学習部21により作成された木構造の辞書等を辿りながら各ノードに対応して作成されたクエリを実行する。これにより、パターンの認識を行なう。
次に、図2(a)及び図2(b)を用いて、図1に示す情報処理装置10における学習処理について説明する。なお、機械学習によるパターン認識手法では、多くの学習パターンから学習を行なう学習処理(学習過程)と新規パターンを解析する認識処理(認識過程)との2つの処理が存在する。図2(a)は、学習処理における全体動作を示し、図2(b)は、図2(a)のS103に示す処理の詳細を示す。なお、図2(b)に示すルーチン(処理)は、再帰呼び出しされる。
すなわち、図2(a)及び図2(b)に示す処理が情報処理装置10により実行されることにより、学習パターンの集合が再帰的に分配されていく。その結果として、図4に示すような木構造の辞書(又は木構造を持った判別器)が出来上がる。木構造の辞書、又は木構造の判別器の作成は、論理的には、学習パターンの集合を再帰的に分配することと等価となる。
なお、特許文献1や非特許文献1及び2に記載されるような従来の分類木の場合、あるノードに残った学習パターンが過不足なく子ノード(下位のノード)へ分配(分割)される。集合演算の式で表現すると、親ノードにある学習パターンの集合をPとし、子ノードにある学習パターンの集合をC1とC2とする。(2分岐を仮定)
この場合、従来の分類木では、P=C1∪C2且つC1∩C2=φとなる。
これに対して、本実施形態の手法(分類木作成方法)では、学習パターンを削除する場合、P⊃C1∪C2且つC1∩C2=φとなる。また、学習パターンを子ノードへ冗長に分配する場合、P=C1∪C2且つC1∩C2=φとなる。なお、削除方法や(実施形態1)、冗長に分配する方法(実施形態2)については後述する。
[S101]
この処理が始まると、情報処理装置10は、学習部21において、まず、ルートノードに学習パターンの全てを格納する(S101)。ここで、図3(a)及び図3(b)を用いて、学習パターンの一例について説明する。図3(a)は、前処理を行なう前の生の学習パターンを示しており、図3(b)は、当該生の学習パターンから背景を削除した学習パターンを示している。
図3(a)に示す学習パターンには、31に示すダルマのような形状の対象物が含まれており、また、34に示す領域(背景領域)には、32及び33に示す対象物以外の物体が含まれている。図3(b)に示す学習パターンでは、例えば、背景領域34(対象物31以外の部分)の輝度の値が−1などに設定されている。すなわち、輝度としてはありえない値に設定されている。なお、背景領域34をランダムな値で置き換えるようにしても良い。
[S102]
このような学習パターンの格納が済むと、情報処理装置10は、学習部21において、ルートノードをカレントノードとして設定する(S102)。ルートノードとは、木構造(ツリー)の一番根元に存在するノードのことを指し、図4に示す41のノードを指す。カレントノードとは、学習処理及び認識処理において現在処理しているノードを示す。
[S103]
情報処理装置10は、学習部21において、詳細については後述するが、カレントノードを展開するため、図2(b)に示すサブルーチン(カレントノードの展開処理)を呼び出す(S103)。そして、当該サブルーチンの処理が終われば、学習処理は終了する。なお、図4に示す符号41から49の順番に従ってカレントノードは移動することとなる。
次に、図2(b)を用いて、図2(a)のS103に示すサブルーチン(カレントノードの展開)の処理の詳細について説明する。
[S201]
この処理が始まると、情報処理装置10は、学習部21において、まず、カレントノードがターミナルノードであるか否かの判定を行なう。ターミナルノードとは、nullノード及びleafノードのいずれかのノードを指す。nullノードは、学習パターンが全く含まれないノードであり、leafノードは、残っている学習パターンの集合が所定条件を満たすノードである。所定条件としては、例えば、「カレントノードに存在するクラス(識別するべきパターン)がK種類(例えば、K=10)以下である」等が挙げられる。この場合、K=1であれば、「カレントノードが純粋に1つのクラスしか含まない」という条件となる。また、これ以外にも、例えば、「カレントノードに存在する学習パターンから情報量エントロピーを計算し、その値が所定閾値以下である」等を所定条件としても良い。なお、この条件で閾値を0にすれば、上述の「カレントノードが純粋に1つのクラスしか含まない」と同じ条件となる。ここで、例えば、パターン認識の目的がクラス判定であれば、ターミナルノードには、各クラスの存在確率が保持される。上述した通り、leafノードの条件が「カレントノードが純粋に1つのクラスしか含まれない」であれば、ターミナルノードには、その残ったクラスの番号が格納される。一方、パターン認識の目的がいわゆる回帰の場合、ターミナルノードには、ある推定値、又は推定ベクトルが格納される。
ここで、図4の場合、ノード43、45、46及び49がleafノードであり、ノード48がnullノードとなる。すなわち、S201の判定において、カレントノードが、ノード43、45、46、48及び49のうちのいずれかであれば(S201でYES)、このサブルーチンにおける処理は終了する。
S201の判定の結果、カレントノードがターミナルノードでなければ(S201でNO)、カレントノードの展開処理が行なわれる(S202〜S207)。なお、S206の処理においては、図1(b)に示すサブルーチンが再帰的に呼び出される。この処理の結果、学習パターンの集合が再帰的に分配されることとなる。
[S202]
ここで、情報処理装置10は、カレントノードの展開に先立って、まず、クエリ作成部23において、当該カレントノードで実行するクエリを作成する(S202)。クエリ作成処理は、例えば、カレントノードに残っている学習パターンの集合(カレントノードにおける学習パターンの集合)を用いて行なわれる。非特許文献1に記載されるように、Gini係数を用いてクエリの効率を測定し、最も効率の高いクエリを選択することによりクエリを作成しても良い。また、特許文献1や非特許文献2に記載されるように、ランダムに次元や画像内の参照点を選択し、その次元や参照点の値に基づく判定を行なうことによりクエリを作成するようにしても良い。比較的単純なクエリとしては、画像(又は特徴ベクトル)上の2点(2つの次元)を選び、その値の大小を比較することによって2つの枝(ノード)に分配するクエリが考えられる。以下、このタイプのクエリを想定して説明する。
[S203]
クエリの作成が済むと、情報処理装置10は、分配部24において、当該クエリに基づいてカレントパターン集合(カレントノードに残っている学習パターン)を枝(ノード)に分配する(S203)。この分配の数(R)は、ノードによって異なるようにしても良いが、一般に、全てのノードで同じ値を用いる。このS203の処理においては、例えば、分配数がR=2の場合には、いわゆる2分木が作成され、図4に示す形態の分類木が得られる。なお、S203の処理における分配処理の詳細については後述する。
[S204〜S207]
S204〜S207の処理においては、分配された枝毎に処理が行なわれる。具体的には、i番目の枝(ノード)をカレントノードに設定し(S205)、図1(b)に示すサブルーチンを再帰呼び出しする(S206)。この処理は、変数iが分配数(R)に達するまで繰り返し行なわれる。
次に、図5を用いて、図2(b)に示すS203のサブルーチンの処理の詳細について説明する。
[S301〜S306]
カレントノードに残っている学習パターンの集合がn個の学習パターンで構成されているとする。この場合、情報処理装置10は、学習部21において、S302〜S305の処理(学習パターンiのループ)をn回実行する。このループ処理では、情報処理装置10は、判定部25において、個々の学習パターンiが適正であるか否かの判定を行なう(S302)。判定の結果、学習パターンiが適正であれば(S303でYES)、情報処理装置10は、分配部24において、学習パターンiをクエリに基づいて枝(ノード)に振り分ける(S304)。また、情報処理装置10は、分配部24において、学習パターンiが不適正であれば(S303でNO)、当該学習パターンiを削除する(S305)。
次に、図6を用いて、図5のS302における学習パターンiが適正であるか否かの判定処理の概要について説明する。ここで、カレントノードに学習パターンが2つ残っていたとする(図6(a)及び図6(b))。
ここで、例えば、図6(a)に示す51及び52の2点がこのノードで比較する点(参照点)として選ばれたとする。そして、「いずれの参照点も対象物体上にあること」が適正条件であるとする。この場合、学習パターン61は適正であるので、クエリに基づいて各枝(ノード)に分配される。これに対して、学習パターン62の場合には、当該パターンは不適正となるため、削除される。
また、別の例として、図6(b)に示すように、53と54の2点がこのノードで比較する点(参照点)として選ばれたとする。この場合、「いずれのクエリも対象物体上にあること」が適正条件であるとすれば、図6(b)に示すいずれの学習パターン(63及び64)も不適正となる。これに対して、例えば、「いずれか一方の参照点が対象物体上にある」という条件が適正条件であれば、図6(b)に示すいずれの学習パターン(63及び64)も適正となる。また、「いずれか一方の参照点が対象物体の上部のパーツ上にある」という条件が適正条件であれば、学習パターン63は適正となるが、学習パターン64は不適正となる。
次に、学習パターンの削除方法について説明する。ここでは、図4に示すノード47に図6(a)に示す学習パターンが残っていたとする。ここで、「いずれの参照点も対象物体上にあること」が適正条件であれば、学習パターン61は適正であるので、クエリに基づいてノード49に分配され、それがleafノードとなる。これに対して、学習パターン62は不適正であるので、削除される。その結果として、ノード49の兄弟ノードであるノード48はnullノードとなる。
ここで、図7は、学習パターンの適正条件として若干複雑な例を示している。上述した説明では、最終(直前)のクエリの実行結果に基づいて学習パターンが適正であるか否かを判定していた。これに対して、図7に示す例では、これまでのクエリの履歴を用いて、その学習パターンが適正であるか否かを判定する。図7(a)は作成途中の木構造を示しており、図7(b)はカレントノードの学習パターンを示している。図7(b)に示す学習パターンは、四角いパーツに2つの大きな穴が開いている形をしている。
ここで、ルートノードからノード71〜74の順でクエリが実行されたとする。クエリ実行時に使用した参照点を図7(b)にも示している。ここでは、「過去のクエリの参照点の中で対象物体上に存在する確率(割合)が所定の閾値以上(この場合、0.8以上)」という条件が適正条件であるとする。
この場合、図7(b)に示すように、ノード71においては、いずれの参照点も対象物体上に存在しているので確率が100%となる。ノード72〜74においては、100%、83%、62%となる。結果として、図7(b)に示す学習パターンは、ノード71〜73までは適正となり、ノード74のクエリ時点で初めて不適正となり削除される。
以上説明したように適正条件は、“そのクエリが有効であるか否か”という基準でユーザーがフレキシブルに設定しうるものとなる。これにより、有効であるクエリのみが木構造に存在するようになる。特に、ランダムにクエリの参照点を選ぶ場合には、ある学習パターンにとって有効でないクエリが実行されるときがある。この場合に、その学習パターンをノード(木構造)から削除することによって、木構造全体として有効なクエリしか残らないことになる。
また、上述した説明では、2点の値(輝度)の大小を比較するクエリについて説明したが、例えば、2つの点の値(輝度)の差が所定値以上であるか否かを判定するクエリであっても良い。また、一方の点の値(輝度)が(もう一方の点の値(輝度)+所定値)以上であるか否かを判定するクエリであっても良い。また更に、2点ではなく、n点を選択し、その輝度の総和が所定値以上であるか否かを判定するクエリであっても良い。より一般的には、n点を選択し、そのn点の輝度の値(ベクトル)を入力とする所定関数の値がある値以上であるか否かを判定するクエリであっても良い。
次に、図8を用いて、図1に示す情報処理装置10における認識処理について説明する。すなわち、図1の処理で作成した木構造の辞書(又は木構造の判別器)を用いて、新規の未学習パターンを検出する処理の流れについて説明する。
[S401、S402]
情報処理装置10は、認識部22において、まず、カレントノードをルートノードに設定する(S401)。次に、情報処理装置10は、認識部22において、カレントノードがターミナルノード(nullノード又はleafノード)であるか否かの判定を行なう。カレントノードがターミナルノードであれば(S402でYES)、情報処理装置10は、認識部22において、そのターミナルノードの情報を認識結果としてセットし、この処理を終了する。
[S402〜S404]
一方、カレントノードがターミナルノードでなければ(S402でNO)、情報処理装置10は、認識部22において、カレントノードに格納されているクエリに基づいて枝番号(ノード番号)を算出する(S403)。そして、算出された枝番号の子ノードをカレントノードに設定した後(S404)、再度、S402の判定処理に戻る。なお、この処理では、ルートノードからターミナルノード(nullノード又はleafノード)に到達するまで木構造を辿ることになる。
以上説明したように本実施形態によれば、各ノードにおいて実行されたクエリの有効性を判定し、クエリの実行結果が有効でない学習パターンを削除する。そのため、木構造の辞書においては、適切な学習パターンが残り不要な学習パターンが削除されるので、有効なクエリしか残らないことになる。
これにより、サイズを抑えつつ、パターン認識に有効な情報が保持される辞書が作成される。そのため、当該辞書を用いた認識処理においては、従来よりも高速且つ高精度に対象物体を認識できる。特に、山積みされた部品や人ごみ等での人物検出のように背景に対象物体と同じようなものが重なった場合に有効である。
(実施形態2)
次に、実施形態2について説明する。実施形態1においては、木構造の辞書を作成する過程(学習処理)において学習パターンが適正条件を満たさない場合には該当する学習パターンを削除していた。これに対して、実施形態2においては、学習パターンが適正条件を満たさない場合には、該当の学習パターンを全ての子ノードに冗長に分配する場合について説明する。なお、実施形態2に係わる情報処理装置10の構成や、全体的な動作については、実施形態1と同様であるため、その説明については省略し、ここでは相違点について重点的に説明する。
実施形態1との相違点としては、図5に示すS305の処理にある。実施形態2においては、S302の判定処理において、学習パターンが適正でなかった場合(S303でNO)、学習パターンiを削除せずに当該学習パターンiを全ての枝に分配する。
この処理について図4及び図6(a)を用いてより詳細に説明する。ここで、例えば、図4に示すノード42において、図6(a)に示す学習パターン61及び62が残っていたとする。ここで、「いずれの参照点も対象物体上にあること」が適正条件であれば、学習パターン61は適正であるので、クエリに基づいてノード44に分配される。一方、学習パターン62は不適正であるので、ノード43及び44の両方の枝(ノード)へ分配される。結果として、ノード43は、学習パターン62のみを含むleafノードとなる。一方、ノード44は依然として、2つの学習パターン61及び62を含むインターナルノード(leafノードでもnullノードでもないノード)となり、ノードの展開が続く。
以上説明したように実施形態2によれば、所定ノードにおける学習パターンが適正条件を満たさない場合、当該学習パターンを全ての子ノードに分配するため、直前に実施されたクエリの作用を無効にできる。これにより、パターン認識に有効な情報が保持される辞書を作成することができる。
なお、この実施形態2の構成に加えて、これまでのクエリの履歴(実施形態1を説明した図7参照)に基づいて学習パターンの削除を行なうように構成しても良い。すなわち、適正条件を満たさない学習パターンを全ての子ノードに冗長に分配しつつ、その履歴に基づいて学習パターンを削除するように構成しても良い。
(実施形態3)
次に、実施形態3について説明する。実施形態1においては、1つの木構造の辞書(又は木構造の判別器)を作成し、当該1つの木構造の辞書等を用いてパターンを解析する場合について説明した。これに対して、実施形態3においては、複数の木構造の辞書(又は木構造の判別器)を作成し、当該複数の木構造の辞書等を用いてパターンを解析する場合について説明する。なお、ここでは、複数の木構造の判別器を作成し使用する場合を例に挙げて説明する。
図9(a)は、実施形態3に係わる学習処理を示すフローチャートであり、図9(b)は、実施形態3に係わる認識処理を示すフローチャートである。ここでは、木構造の判別器の個数をL個とする。Lは、通常、10〜100ぐらいの数になるが、2つ以上の任意の定数となる。Lを大きくすると、辞書サイズが大きくなるが認識率は向上する。一方、Lを小さくすると、辞書はコンパクトになるが認識率は低下する。
図9(a)に示す学習処理においては、i番目の木構造(ツリー)作成処理が実施される(S502)。この処理は、ツリー番号iが1〜Lまで繰り返し行なわれる(S501〜S503)。なお、S502に示すi番目のツリー作成処理(i番目の判別器作成処理)では、図2(a)で説明した処理(サブルーチン)が呼び出され実行される。このループ処理においては、S502に示すサブルーチンの呼び出しは全く独立に行われる。つまり、S501〜S503の処理は、マルチスレッドやマルチタスクで行なわれても何の問題もない。また、複数の計算機を用いて実行されても良い。図9(a)に示す複数(L個)の木構造の判別器を作成する処理は、並列計算向きであり、並列度を高くすると極めて高速に実行できる。
次に、図9(b)を用いて、実施形態3に係わる認識処理について説明する。
認識処理においては、i番目の判別器の実行処理が実施される(S602)。この処理は、ツリー番号iが1〜Lまで繰り返し行なわれる(S601〜S603)。なお、S602に示すi番目の判別器の実行処理では、図8で説明した処理(サブルーチン)が呼び出され実行される。
その後、最終的に得られたL個の判別器の結果を集計する(S604)。この処理では、L個の認識結果を集計し、最終的なパターン認識結果を得る。集計方法としては、種々考えられるが、例えば、パターン認識のタスクがクラス判定タスクであれば、図8に示す処理(判別器の処理結果)は、各クラスの存在確率ベクトルとなる。この場合、S604の集計処理としては、L個の存在確率ベクトルの相加平均や相乗平均などが考えられる。図9(b)に示す認識処理も、図9(a)に示す学習処理と同様に並列処理に向いている。そのため、並列度を高くすれば、処理速度が高速になる。
以上説明したように実施形態3によれば、複数の木構造の辞書(又は木構造の判別器)を作成したり、また、それらを用いて認識処理を行なえる。そのため、学習処理や認識処理を並列して実施できるため、処理速度の高速化が図れる。
(実施形態4)
次に、実施形態4について説明する。実施形態4においては、学習パターンとして画像を用いる場合について説明する。ここでは、まず、図10を用いて、実施形態4に係わる処理の概要について説明する。
実施形態4においては、図10(a)に示すように、1枚の学習画像からM枚の部分画像が抽出される。これを部分画像の集合と呼ぶ。この部分画像の集合を構成する部分画像同士は、重なりがなくても良いが、重なりがあるように網羅的に元の画像(学習画像)から抽出されることが望ましい。
ここで、例えば、学習画像のサイズが100×100ピクセルであり、部分画像のサイズが50×50ピクセルであるとする。この場合、ピクセルとピクセルとの中間の位置(いわゆるサブピクセル)を考慮に入れなければ、1枚の学習画像から抽出される部分画像は、2601(=51×51)枚となる。なお、重なりのない部分画像を抽出した場合、部分画像は全部で2×2=4枚得られる。
図10(a)に示す部分画像の集合は、できるだけ多くの部分画像からなることが望ましい。最終的な部分画像の集合としては、同じクラスの部分画像がそれぞれM枚ずつ、全部でM×N枚の部分画像が得られる。
そして、この部分画像の集合を用いて2分木を作成していく(図10(b))。この場合、全部でL個の分類木が存在するので、この分類木の作成はL回行なわれる。分類木の作成に際して、各分類木のノードでは、例えば、2つの参照点(ピクセル)を選ぶ。そして、そのピクセルの輝度を比較することにより、部分画像の集合を再帰的に分配していく。
ここで、図11(a)は、実施形態4に係わる学習処理の流れの一例を示すフローチャートである。
この処理が始まると、情報処理装置10は、学習部21において、学習画像から複数の部分画像を抽出するとともに、学習パターンの集合を作成する(S701)。すなわち、図10(a)に示す処理を行なう。
続いて、情報処理装置10は、学習部21において、ツリーアンサンブルを作成する(S702)。すなわち、図10(b)に示す処理を行なう。より具体的には、図9(a)に示す処理をサブルーチンとして呼び出す。
なお、図10(a)及び図10(b)に示す概略図では、1枚の学習画像から抽出されるM枚の部分画像を全て同一視し、学習処理におけるクラスの数がNであるものとして説明した。これに対して、M枚の部分画像を学習画像内の位置を用いて区別し、全部でM×N個(種類)のクラスがあるとすることもできる。
図11(b)は、実施形態4に係わる認識処理の流れの一例を示すフローチャートである。ここでは、認識処理の一例として、新規入力画像のサイズが1280×1024であり、部分画像のサイズが50×50であるものとする。この場合、サブピクセルを考慮しなければ、新規入力画像内に部分画像が1,200,225(1231×975)個存在することになる(X=−1280−50+1、Y=1024−50+1)。基本的に、S801〜S806に示すループ処理は、この回数分、繰り返し実施される。但し、必ずしも、1,200,225回繰り返して処理を実施する必要はなく、途中の処理をスキップして実行することにより高速化を図るようにしても良い。
この処理が始まると、情報処理装置10は、認識部22において、S801〜S806に示すループ処理により部分画像を抽出する(S802)。この部分画像のループの中では、ツリー番号のループ(S803〜S805)が実行される。つまり、2重のループが実行される。なお、この2つのループは、互いに独立して実行されるため、ループの内側外側を入れ替えても良い。ループの一番深い所でS804に示すi番目の判別器の実行処理が実施される。この処理では、図8に示す処理がサブルーチンとして呼び出される。
S801〜S805のループ処理が終了すると、情報処理装置10は、認識部22において、(X*Y*L)個の判別結果を集計する。これにより、最終的な認識結果が得られる(S807)。この結果、1280×1024のサイズの入力画像内に存在する100×100のサイズの学習画像が検出されることとなる。集計方法としては、それぞれのクラスの存在確率ベクトルの相加平均や相乗平均などが挙げられる。また、上述した学習画像内における部分画像の位置を保持したオフセットを用いて、学習画像の存在位置を投票によって求めることもできる。
以上が本発明の代表的な実施形態の例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
(その他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (8)

  1. パターン認識の対象となる対象物体が含まれる学習パターンの集合をルートノードに設定し、該設定した学習パターンの集合に含まれる個々の学習パターンを各ノードに分配していくことにより木構造の辞書を作成する情報処理装置であって、
    ノードに分配された学習パターンに対して実行するクエリを該ノードに対応して作成する作成手段と、
    前記ノードに分配された学習パターンに対して該ノードに対応して作成されたクエリを実行し、該クエリの実行結果に基づいて個々の学習パターンを該ノードよりも下位のノードへ分配する分配手段と、
    前記ノードにおける前記学習パターンの分配に際して、前記ノードよりも上位のノードにおけるクエリの実行時に前記学習パターンに含まれる前記対象物体が存在する領域が参照されたか否かを示す履歴を集計した履歴情報に基づいて、前記ノードに対するクエリが有効に実行されたか否かを判定する判定手段と
    を具備し、
    前記分配手段は、
    前記クエリが有効に実行されたと判定された学習パターンを前記下位のノードに分配し、前記クエリが有効に実行されなかったと判定された学習パターンを削除する
    ことを特徴とする情報処理装置。
  2. パターン認識の対象となる対象物体が含まれる学習パターンの集合をルートノードに設定し、該設定した学習パターンの集合に含まれる個々の学習パターンを各ノードに分配していくことにより木構造の辞書を作成する情報処理装置であって、
    ノードに分配された学習パターンに対して実行するクエリを該ノードに対応して作成する作成手段と、
    前記ノードに分配された学習パターンに対して該ノードに対応して作成されたクエリを実行し、該クエリの実行結果に基づいて個々の学習パターンを該ノードよりも下位の複数のノードへ分配する分配手段と、
    前記ノードにおける前記学習パターンの分配に際して、前記ノードよりも上位のノードにおけるクエリの実行時に前記学習パターンに含まれる前記対象物体が存在する領域が参照されたか否かを示す履歴を集計した履歴情報に基づいて、前記ノードに対するクエリが有効に実行されたか否かを判定する判定手段と
    を具備し、
    前記分配手段は、
    前記クエリが有効に実行されたと判定された学習パターンを前記複数の下位のノードのいずれかに分配するとともに、前記クエリが有効に実行されなかったと判定された学習パターンを前記複数の下位のノードの全てに分配する
    ことを特徴とする情報処理装置。
  3. 前記学習パターンは画像であり、
    前記クエリは、前記画像内の複数の画素の画素値を比較するクエリである
    ことを特徴とする請求項1又は2記載の情報処理装置。
  4. 前記判定手段は、前記ノードおよび該ノードよりも上位のノードにおいて前記学習パターンに含まれる前記対象物体が存在する領域が参照されたか否かを集計することで得られる該参照の割合が閾値以上の場合には、前記ノードに対するクエリが有効に実行されたと判定することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記パターン認識の対象となるパターンの集合をルートノードに設定し、前記木構造の辞書を辿りながら各ノードに対応して作成されたクエリを実行することによりパターンの認識を行なう認識手段
    を更に具備することを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. パターン認識の対象となる対象物体が含まれる学習パターンの集合をルートノードに設定し、該設定した学習パターンの集合に含まれる個々の学習パターンを各ノードに分配していくことにより木構造の辞書を作成する情報処理装置の処理方法であって、
    作成手段が、ノードに分配された学習パターンに対して実行するクエリを該ノードに対応して作成する工程と、
    分配手段が、前記ノードに分配された学習パターンに対して該ノードに対応して作成されたクエリを実行し、該クエリの実行結果に基づいて個々の学習パターンを該ノードよりも下位のノードへ分配する工程と、
    判定手段が、前記ノードにおける前記学習パターンの分配に際して、前記ノードよりも上位のノードにおけるクエリの実行時に前記学習パターンに含まれる前記対象物体が存在する領域が参照されたか否かを示す履歴を集計した履歴情報に基づいて、前記ノードに対するクエリが有効に実行されたか否かを判定する工程と
    を含み、
    前記分配手段は、
    前記クエリが有効に実行されたと判定された学習パターンを前記下位のノードに分配し、前記クエリが有効に実行されなかったと判定された学習パターンを削除する
    ことを特徴とする情報処理装置の処理方法。
  7. パターン認識の対象となる対象物体が含まれる学習パターンの集合をルートノードに設定し、該設定した学習パターンの集合に含まれる個々の学習パターンを各ノードに分配していくことにより木構造の辞書を作成する情報処理装置の処理方法であって、
    作成手段が、ノードに分配された学習パターンに対して実行するクエリを該ノードに対応して作成する工程と、
    分配手段が、前記ノードに分配された学習パターンに対して該ノードに対応して作成されたクエリを実行し、該クエリの実行結果に基づいて個々の学習パターンを該ノードよりも下位の複数のノードへ分配する工程と、
    判定手段が、前記ノードにおける前記学習パターンの分配に際して、前記ノードよりも上位のノードにおけるクエリの実行時に前記学習パターンに含まれる前記対象物体が存在する領域が参照されたか否かを示す履歴を集計した履歴情報に基づいて、前記ノードに対するクエリが有効に実行されたか否かを判定する工程と
    を含み、
    前記分配手段は、
    前記クエリが有効に実行されたと判定された学習パターンを前記複数の下位のノードのいずれかに分配するとともに、前記クエリが有効に実行されなかったと判定された学習パターンを前記複数の下位のノードの全てに分配する
    ことを特徴とする情報処理装置の処理方法。
  8. コンピュータを、請求項1乃至5の何れか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2010246747A 2010-11-02 2010-11-02 情報処理装置、その処理方法及びプログラム Expired - Fee Related JP5719145B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010246747A JP5719145B2 (ja) 2010-11-02 2010-11-02 情報処理装置、その処理方法及びプログラム
US13/281,115 US8930286B2 (en) 2010-11-02 2011-10-25 Information processing apparatus, processing method therefor, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010246747A JP5719145B2 (ja) 2010-11-02 2010-11-02 情報処理装置、その処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2012098960A JP2012098960A (ja) 2012-05-24
JP5719145B2 true JP5719145B2 (ja) 2015-05-13

Family

ID=45997766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010246747A Expired - Fee Related JP5719145B2 (ja) 2010-11-02 2010-11-02 情報処理装置、その処理方法及びプログラム

Country Status (2)

Country Link
US (1) US8930286B2 (ja)
JP (1) JP5719145B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5538967B2 (ja) 2009-06-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
JP6053341B2 (ja) * 2012-06-13 2016-12-27 キヤノン株式会社 情報処理装置、その処理方法及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3466689B2 (ja) 1994-01-26 2003-11-17 キヤノン株式会社 手書き文字認識方法及びその装置
JP3453422B2 (ja) 1994-02-10 2003-10-06 キヤノン株式会社 文字パターンのユーザ辞書への登録方法及び該ユーザ辞書を有する文字認識装置
JP3416268B2 (ja) 1994-06-30 2003-06-16 キヤノン株式会社 画像認識装置及びその方法
JP3630734B2 (ja) 1994-10-28 2005-03-23 キヤノン株式会社 情報処理方法
JPH08249422A (ja) 1995-03-08 1996-09-27 Canon Inc 文字処理装置及び方法
JP3792755B2 (ja) 1995-08-29 2006-07-05 キヤノン株式会社 文字認識方法及び装置
JP3437347B2 (ja) 1995-09-08 2003-08-18 キヤノン株式会社 文字認識装置及びその方法及びコンピュータ
JP3761937B2 (ja) 1995-09-18 2006-03-29 キヤノン株式会社 パターン認識方法及び装置及びコンピュータ制御装置
JPH0991380A (ja) 1995-09-21 1997-04-04 Canon Inc 情報処理装置及び方法及び記憶媒体
JP3535624B2 (ja) 1995-09-21 2004-06-07 キヤノン株式会社 検索装置及び方法
JP3744997B2 (ja) 1996-01-12 2006-02-15 キヤノン株式会社 文字認識装置及びその方法
US5982933A (en) 1996-01-12 1999-11-09 Canon Kabushiki Kaisha Information processing method, information processing apparatus, and storage medium
US5930392A (en) * 1996-07-12 1999-07-27 Lucent Technologies Inc. Classification technique using random decision forests
US7203669B2 (en) * 2003-03-17 2007-04-10 Intel Corporation Detector tree of boosted classifiers for real-time object detection and tracking
US8290882B2 (en) * 2008-10-09 2012-10-16 Microsoft Corporation Evaluating decision trees on a GPU
WO2010100701A1 (ja) * 2009-03-06 2010-09-10 株式会社 東芝 学習装置、識別装置及びその方法

Also Published As

Publication number Publication date
JP2012098960A (ja) 2012-05-24
US8930286B2 (en) 2015-01-06
US20120109861A1 (en) 2012-05-03

Similar Documents

Publication Publication Date Title
Zhang et al. Discriminative elastic-net regularized linear regression
Doersch et al. Unsupervised visual representation learning by context prediction
Wang et al. Transferred dimensionality reduction
JP6041923B2 (ja) 情報処理方法及び情報処理装置
Deng et al. What does classifying more than 10,000 image categories tell us?
Ziegler et al. Locally uniform comparison image descriptor
Lin et al. Face gender recognition based on face recognition feature vectors
Wang et al. Zero-shot image classification based on deep feature extraction
Aghamaleki et al. Transfer learning approach for classification and noise reduction on noisy web data
JP5906071B2 (ja) 情報処理方法、情報処理装置、および記憶媒体
JP5719145B2 (ja) 情報処理装置、その処理方法及びプログラム
Zhang et al. Landmark‐Guided Local Deep Neural Networks for Age and Gender Classification
Kang et al. Combining random forest with multi-block local binary pattern feature selection for multiclass head pose estimation
Kompella et al. Weakly supervised multi-scale recurrent convolutional neural network for co-saliency detection and co-segmentation
Liu et al. Multi-view descriptor mining via codeword net for action recognition
Lu et al. Face recognition using face patch networks
Liu et al. Feature fusion using Extended Jaccard Graph and word embedding for robot
JP6053341B2 (ja) 情報処理装置、その処理方法及びプログラム
Jasim et al. A fuzzy based feature extraction approach for handwritten characters
Nurhadiyatna et al. Extended Gaussian mixture model enhanced by hole filling algorithm (GMMHF) utilize GPU acceleration
JP6032930B2 (ja) 情報処理装置、情報処理方法
Doan et al. Large scale image classification: fast feature extraction, multi-codebook approach and multi-core svm training
Hall et al. Learning a model from spatially disjoint data
Lu et al. Object localization by density-based spatial clustering
Kang Image processing and understanding based on graph similarity testing: algorithm design and software development

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141007

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: 20150220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150320

R151 Written notification of patent or utility model registration

Ref document number: 5719145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees