(第1実施形態)
図1は、第1実施形態の学習装置100の構成の一例を示すブロック図である。図1に示すように、学習装置100は、入力部102と、入力受付部104と、評価基準記憶部106と、特徴量計算部108と、認識テーブル記憶部110と、類似度計算部112と、認識部114と、出力制御部116と、出力部118と、学習サンプル記憶部120と、選択部122と、学習部124と、識別基準群記憶部126と、評価サンプル記憶部128と、評価部130と、格納部132とを、備える。
なお、入力部102は、例えば、画像入力用のインタフェースなど各種入力インタフェースにより実現できる。また、入力受付部104、特徴量計算部108、類似度計算部112、認識部114、出力制御部116、選択部122、学習部124、評価部130、及び格納部132は、例えば、CPU(Central Processing Unit)などの既存の制御装置により実現できる。また、評価基準記憶部106、認識テーブル記憶部110、学習サンプル記憶部120、識別基準群記憶部126、及び評価サンプル記憶部128は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、メモリカード、又はRAM(Random Access Memory)などの磁気的、光学的、又は電気的に記憶可能な既存の記憶装置の少なくともいずれかにより実現できる。また、出力部118は、例えば、液晶ディスプレイなど各種出力装置により実現できる。
入力部102は、認識対象の目標を含むパターンを入力する。本実施形態では、入力部102が、認識対象の目標を含むパターンとして、認識対象の物体を含む画像データを入力する例について説明するが、これに限定されるものではない。認識対象の目標を含むパターンは、例えば、認識対象の音声を含む音声信号などであってもよい。
本実施形態では、入力部102により入力される画像データが、Ds(Ds≧1)次元ベクトルで表され、ベクトルの各要素が輝度値である場合を例に取り説明するが、これに限定されるものではない。本実施形態では、入力部102により入力される画像データXは、(X1,X2,…,XDs)で表されるものとする。
なお入力部102は、フィルタ処理、背景の除去、又は物体の位置の正規化など物体を認識し易くするための処理を施した画像データを入力するようにしてもよい。つまり、入力部102は、目標を識別し易くするための処理を施したパターンを入力するようにしてもよい。例えば、パターンが音声信号である場合には、入力部102は、フィルタ処理などの処理を施した音声信号を入力するようにしてもよい。
また本実施形態では、入力部102は、後述の学習サンプルや評価サンプルの入力も行う。
入力受付部104は、入力部102から入力されたパターンの入力を受け付ける。本実施形態では、入力受付部104は、入力部102から、認識対象の物体が含まれる画像データXの入力を受け付ける。また本実施形態では、入力受付部104は、入力部102から、学習サンプルや評価サンプルの入力も受け付ける。
評価基準記憶部106は、複数の識別基準を含む評価基準を記憶する。本実施形態では、評価基準記憶部106は、識別器Fj(x)(1≦j≦O(O≧2))を有する評価基準{F1(x),F2(x),…,FO(x)}を記憶する。
特徴量計算部108は、評価基準記憶部106に記憶されている評価基準を用いて、入力受付部104により受け付けられたパターンの特徴量を計算する。本実施形態では、特徴量計算部108は、評価基準記憶部106に記憶されている評価基準{F1(x),F2(x),…,FO(x)}を用いて、入力受付部104により受け付けられた画像データXの特徴量を計算する。
本実施形態では、評価基準{F1(x),F2(x),…,FO(x)}に含まれるそれぞれの識別器Fj(x)が、画像データXに対し、数式(1)に示すように評価値sjを返却するものとする。評価値sjは、例えば、識別器が予め学習したいずれのグループ(クラス)に属するかを示す尤度やクラス番号などが該当する。このように、識別器Fj(x)の出力値である評価値sjは、識別対象のグループに属する尤度などとして表されるため、後述の学習部124により、いずれの学習手法を用いて識別器Fj(x)が学習された場合であっても、数式(1)を満たす。
Fj(X)=sj …(1)
なお本実施形態では、評価値sjがスカラー量である場合を例に取り説明するが、これに限定されるものではなく、例えば、複数の要素を持つベクトルであってもよい。また、後述する内容は、評価値sjがベクトルであっても同様に適用できる。例えば、後述の学習部124により、3個以上のグループを識別する学習手法を用いて識別器Fj(x)が学習された場合、識別器Fj(x)の出力は、識別対象のグループに含まれる各カテゴリに帰属する尤度を要素に持つようなベクトルとなる。
図2は、画像データXの特徴量v(X)の計算手法の一例の説明図である。特徴量計算部108は、図2に示すように、入力受付部104により受け付けられた画像データXを評価基準記憶部106に記憶されている評価基準{F1(x),F2(x),…,FO(x)}に適用して、それぞれの識別器Fj(x)から評価値sjを取得し、取得した評価値sjから画像データXの特徴量v(X)を計算する。本実施形態では、特徴量計算部108は、図2及び数式(2)に示すように、全ての評価値sjを1つに並べることで画像データXの特徴量v(X)を計算する。
v(X)=(s1,s2,…,sO) …(2)
例えば、識別器Fj(x)が2つのクラスを判別し、評価値sjとして0又は1を出力する関数であるとする。この場合、特徴量計算部108は、入力受付部104により受け付けられた画像データXの特徴量を、例えば、v(X)=(1,1,0,1,0,…,1)のように、0と1との組み合わせで表現されたベクトルとして計算する。また特徴量計算部108は、入力受付部104により受け付けられた画像データX’(X’≠X)の特徴量を計算すると、例えば、v(X’)=(0,1,1,1,0,…,0)のように、やはり0と1との組み合わせで表現されたベクトルとして計算するが、計算した特徴量は画像データXの特徴量と異なるものになる。つまり、この例では、0と1の組み合わせで表現されたベクトルが、画像データXに含まれる物体の固有の特徴量となり、物体の認識に有効な特徴量となる。なお、識別器Fj(x)が2つ以上のクラスを判別し、評価値sjとして0及び1以外の実数を出力する関数である場合であっても、上記と同様である。
但し、特徴量の計算手法は上述の手法に限定されるものではなく、取得した評価値sjをどのように用いて特徴量を計算しても構わない。
なお、評価値sjがベクトルの場合、画像データXの特徴量v(X)は、評価値sjが持つ各要素を並べたものとなる。つまり、評価値sjの次元数をdjとすると、画像データXの特徴量v(X)の次元数Dは、次元数djの総和となる(D=d1+…+dO)。なお、各評価値sjの次元数djは、全て同じ値でもよいし、それぞれ異なっていてもよい。
また、特徴量計算部108は、特徴量v(X)を評価値sjのヒストグラムとして計算するようにしてもよい。具体的には、特徴量計算部108は、評価値sjを離散化(必要なら要素毎に)しておき、その値に該当するビンに対して投票することでヒストグラム特徴量v(X)を計算することができる。
なお、評価値sjがベクトルの場合、特徴量計算部108は、次元数djのヒストグラムとすることでヒストグラム特徴量v(X)を計算することができる。また、スカラー量とベクトルのように次元数の異なる評価値sjが混在している場合、特徴量計算部108は、同種の評価値sj毎にヒストグラム特徴量を計算しておき、計算したヒストグラム特徴量を1つのベクトルとして並べることでヒストグラム特徴量v(X)を計算することができる。
また、特徴量計算部108は、評価値sjを1つに並べてベクトル化した特徴量と、評価値sjをヒストグラム化したヒストグラム特徴量とを、更に1つのベクトルとして並べる(連結する)ことで特徴量v(X)を計算するようにしてもよい。また、特徴量計算部108は、評価値sjに非線形な変換を施して特徴量を計算するようにしてもよい。また、特徴量計算部108は、計算した特徴量に対して、平均を0にしたり、2乗平均を1にしたりするなどの正規化を行うようにしてもよい。
認識テーブル記憶部110は、認識基準となる各基準特徴量にカテゴリを対応付けた認識テーブルを記憶する。ここで、カテゴリとは、目標を認識する際の種類を表し、本実施形態のように目標が物体であれば、物体の名前、重さ、又は値段などが該当する。物体が人間の顔である場合には、例えば、人物の名前又は所属などが該当する。但し、カテゴリはこれらに限定されるものではない。基準特徴量及びカテゴリの組は、特徴量計算部108により認識テーブルに登録される。具体的には、特徴量計算部108が、評価基準を用いて既知の目標が含まれるパターンの特徴量を計算し、計算した特徴量を基準特徴量として、既知の目標が属するカテゴリに対応付けて認識テーブルに登録する。なお、基準特徴量の計算元となる既知の目標が含まれるパターンは、後述の評価サンプルが該当する。
図3は、認識テーブルの一例を示す図である。図3に示す例では、カテゴリAとカテゴリAに属するか否かの認識基準となる基準特徴量v’(A)=(a1,a2,…,aO)とが対応付けられており、カテゴリBとカテゴリBに属するか否かの認識基準となる基準特徴量v’(B)=(b1,b2,…,bO)とが対応付けられている。
類似度計算部112は、特徴量計算部108により計算された特徴量と認識テーブル記憶部110に記憶されている基準特徴量との類似度を計算する。本実施形態では、類似度計算部112は、数式(3)を用いて、特徴量計算部108により計算された特徴量v(X)と認識テーブル記憶部110に記憶されている各基準特徴量(基準特徴量v’(A)及び基準特徴量v’(B)など)との類似度を計算する。
L=(α,β)/||α||||β|| …(3)
ここで、数式(3)は、ベクトルαとベクトルβとの単純類似度を計算する数式である。(α,β)は、ベクトルαとベクトルβとの内積を示し、||α||、||β||は、それぞれベクトルα、ベクトルβのノルムを示す。例えば、特徴量v(X)と基準特徴量v’(A)との類似度Lは、数式(3)より、L=(v(X),v’(A))/||v(X)||||v’(A)||となる。
なお、類似度計算部112は、ベクトル間の距離を計算する数式(4)又は数式(5)を用いて、特徴量計算部108により計算された特徴量v(X)と認識テーブル記憶部110に記憶されている各基準特徴量(基準特徴量v’(A)及び基準特徴量v’(B)など)との類似度を計算するようにしてもよい。
認識部114は、類似度計算部112により計算された類似度を用いて、パターンに含まれる目標を認識する。具体的には、認識部114は、類似度計算部112により計算された類似度を用いて、パターンに含まれる未知の目標を同定するか、又は未知の目標が属する複数の候補を特定する。本実施形態では、認識部114は、認識テーブル記憶部110に記憶されている認識テーブルから、類似度計算部112により計算された類似度Lの値が閾値を超えた基準特徴量のうち類似度Lの値が大きい順、即ち、類似度の高い順に所定数の基準特徴量を選択する。そして認識部114は、選択した所定数の基準特徴量に対応するカテゴリの少なくともいずれかに、画像データXに含まれる未知の物体が属すると認識する。なお認識部114は、認識テーブル記憶部110に記憶されている認識テーブルから、類似度計算部112により計算された類似度Lのうち類似度の高い順に所定数の基準特徴量を選択するようにしてもよい。
また、類似度計算部112が、ベクトル間の距離を計算する数式(4)又は数式(5)を用いて類似度Lを計算した場合、ベクトル間の距離が短いほど、即ち、類似度Lの値が小さいほど類似度が高くなる。この場合であれば、認識部114は、認識テーブル記憶部110に記憶されている認識テーブルから、類似度計算部112により計算された類似度Lが閾値よりも小さい基準特徴量のうち類似度Lの値が小さい順に所定数の基準特徴量を選択する。なお、認識部114は、認識テーブル記憶部110に記憶されている識別テーブルから、類似度計算部112により計算された類似度Lの値が小さい順に所定数の基準特徴量を選択するようにしてもよい。
出力制御部116は、認識部114の認識結果を出力部118に出力させる。つまり、出力制御部116は、パターンに含まれる未知の目標の認識部114による同定結果や、パターンに含まれる未知の目標が属すると認識部114により特定された複数の候補を出力部118に出力させる。本実施形態では、出力制御部116は、画像データXに含まれる未知の物体が属するカテゴリが認識部114により選択された場合、選択されたカテゴリを出力部118に出力させる。また出力制御部116は、画像データXに含まれる未知の物体が属するカテゴリが認識部114により選択されなかった場合、画像データXに含まれる未知の物体がいずれのカテゴリにも属さない旨を出力部118に出力させる。
出力部118は、出力制御部116により制御され、認識部114の認識結果を出力する。
学習サンプル記憶部120は、各学習サンプルが複数のカテゴリのいずれかに分類される複数の学習サンプルを記憶する。本実施形態では、学習サンプルとして、Ds(前述したように、Ds≧1)次元ベクトルで表わされ、ベクトルの各要素が輝度値である画像データを例に取り説明するが、学習サンプルはこれに限定されるものではない。学習サンプルは、入力部102により入力されるパターンに対応していればよく、例えば音声信号などであってもよい。
本実施形態では、学習サンプル記憶部120は、M(M≧2)の画像データを記憶している。なお、画像データのカテゴリはC(C≧2)用意され、Mの画像データはカテゴリ毎にMh(1≦h≦C)に分類されるものとする。つまり、M=M1+…+MCとなる。
選択部122は、学習サンプル記憶部120から学習サンプルを1以上含むグループを複数選択する選択処理を複数回行う。特に選択部122は、選択する複数のグループのそれぞれに含まれる学習サンプルのカテゴリ数又はサンプル数が略同数となるように、当該複数のグループを選択する。具体的には、選択部122は、選択する複数のグループのそれぞれに含まれる学習サンプルのカテゴリ数又はサンプル数のグループ間の差が予め定められた範囲内に収まるように、当該複数のグループを選択する。なお本実施形態では、選択部122が、学習サンプル記憶部120から学習サンプルを無作為に選択(ランダムサンプリング)するものとする。これにより、選択部122により選択される複数のグループに含まれる学習サンプルのカテゴリは、選択部122の選択処理毎に異なることが期待できる。但し、学習サンプルの選択手法はこれに限定されるものではなく、選択する複数のグループに含まれる学習サンプルのカテゴリが選択処理毎に異なることが期待できれば、どのような選択基準で選択してもよい。
本実施形態では、選択部122は、学習サンプル記憶部120から、各グループが画像データを1以上含むようにK(K=2)個のグループを無作為に選択する選択処理をN(N≧O)回行う。特に選択部122は、選択処理を行う際、K個のグループのそれぞれに含まれる画像データのカテゴリ数が同数となるように、K個のグループを無作為に選択する。なお、Kの値は2以上であってもよい。
このため選択部122は、学習サンプル記憶部120から画像データを完全に無作為に選択するのではなく、カテゴリの画像データ数に応じて重み付けを行ってK個のグループ間の画像データ数の差を小さくするように調整したり、カテゴリの画像データ数に関わらずある一定数の画像データを抽出するようにしたりしてもよい。なお、画像データ数を一定にする場合、選択部122は、さらに単純にカテゴリから画像データを無作為に選択するようにしてもよいし、学習サンプルとしてまだ選択されていない未選択の画像データをカテゴリから優先的に選択するようにしてもよい。
学習部124は、選択部122により選択された複数のグループ毎に当該複数のグループを識別する識別基準を学習し、識別基準群を得る。本実施形態では、学習部124は、選択部122により選択されたK個のグループ毎に当該K個のグループを識別する識別器Fi(x)(1≦i≦N)を学習し、学習したN個の識別器である識別器群{F1(x),F2(x),…,FN(x)}を生成する。
本実施形態では、学習部124は、サポートベクターマシンにより、K個のグループを識別する識別器Fi(x)を学習する。サポートベクターマシンは、2クラスのパターン識別器を構成する手法である。サンプルから、各データとの距離が最大となる分離平面を求め、ソフトマージンを最大化するという基準で学習する。但し、識別器の学習手法はこれに限定されるものではなく、既存の学習手法を用いることができる。例えば、学習部124は、ブースティングなどの学習手法を用いることができる。また例えば、選択部122により選択された3個のグループを識別する識別器を学習する場合であれば、学習部124は、k近傍識別器、ベイズ分類、又はニューラルネットワークなどの学習手法を用いることができる。
図4は、識別器群の生成手法の一例を示す説明図である。なお、図4に示す例では、S1〜SM(M≧11)が、学習サンプル(画像データ)を示し、C=Mであるものとする。つまり、図4に示す例では、全ての学習サンプルのカテゴリが異なるものとする。また、図4に示す例では、K=2であるものとする。つまり、図4に示す例では、学習サンプル選択部122は、各グループに含まれる学習サンプルのカテゴリ数が2となるように、即ち、C=Mであるため、各グループに含まれる学習サンプル数が2となるように、2個のグループを選択する。
図4に示す例では、選択部122は、1回目の選択処理で、学習サンプルS1及びS5を含むグループ151aと、学習サンプルS2及びS7を含むグループ151bとを、選択している。また、選択部122は、2回目の選択処理で、学習サンプルS3及びS8を含むグループ152aと、学習サンプルS10及びSMを含むグループ152bとを、選択している。また、選択部122は、N回目の選択処理で、学習サンプルS4及びS9を含むグループ153aと、学習サンプルS6及びS7を含むグループ153bとを、選択している。
また、学習部124は、選択部122により1回目の選択処理で選択されたグループ151aとグループ151bとを識別する識別器F1(x)を学習している。また、学習部124は、選択部122により2回目の選択処理で選択されたグループ152aとグループ152bとを識別する識別器F2(x)を学習している。また、学習部124は、選択部122によりN回目の選択処理で選択されたグループ153aとグループ153bとを識別する識別器FN(x)を学習している。これにより、学習部124は、学習したN個の識別器を含む識別器群{F1(x),F2(x),…,FN(x)}を生成する。
識別基準群記憶部126には、学習部124により生成された識別基準群が記憶される。具体的には、学習部124は、生成した識別器群{F1(x),F2(x),…,FN(x)}を識別基準群記憶部126に格納する(記憶させる)。
評価サンプル記憶部128は、各評価サンプルが複数のカテゴリのいずれかに分類される複数の評価サンプルを記憶する。本実施形態では、評価サンプルとして、学習サンプル同様、Ds(前述したように、Ds≧1)次元ベクトルで表わされ、ベクトルの各要素が輝度値である画像データを例に取り説明するが、評価サンプルは、これに限定されるものではない。評価サンプルは、学習サンプル同様、入力部102により入力されるパターンに対応していればよく、例えば音声信号などであってもよい。但し、評価サンプルは、認識テーブルに登録されている基準特徴量の生成に用いられるパターンであり、当該基準特徴量が対応付けられているカテゴリに属するものとする。また、評価サンプルのカテゴリの分布は、学習サンプルのカテゴリの分布と異なっている(学習サンプルのカテゴリの分布に対して偏っている)ものとする。上記条件さえ満たせば、評価サンプルに学習サンプルを用いるようにしてもよい。
本実施形態では、評価サンプル記憶部128は、M’(M’≧2)の画像データを記憶している。なお、画像データのカテゴリはC’(C’≧2)用意され、M’の画像データはカテゴリ毎にMg’(1≦g≦C’)に分類されるものとする。つまり、M’=M1’+…+MC’’となる。
評価部130は、評価サンプル記憶部128からカテゴリが異なる2以上の評価サンプルを取得し、取得した2以上の評価サンプルを用いて識別基準群に含まれる識別基準を評価し、識別基準群から評価結果に応じた複数の識別基準を取得して当該複数の識別基準を含む評価基準を生成する。特に評価部130は、取得した2以上の評価サンプルを用いて、識別基準群に含まれる識別基準がカテゴリの異なる評価サンプルを識別する識別性能を評価し、評価した識別性能に応じた複数の識別基準を取得する。
具体的には、評価部130は、カテゴリが異なる評価サンプル間の類似度を用いて、識別基準群に含まれる識別基準を評価する。例えば、評価部130は、取得済みの識別基準と取得前の識別基準それぞれとの組み合わせに、取得した2以上の評価サンプルを適用する。そして評価部130は、カテゴリが異なる評価サンプル間での類似度の最大値を組み合わせ毎に特定し、特定した最大値が最も小さい組み合わせに含まれる取得前の識別基準を取得する。なお、評価部130は、識別基準を帰納的に取得する。
本実施形態では、評価部130は、識別基準群記憶部126に記憶されている識別器群{F1(x),F2(x),…,FN(x)}に含まれる識別器の有効性を評価する評価処理をO(前述したように、O≧2)回行うものとする。つまり、本実施形態では、評価部130は、識別器群{F1(x),F2(x),…,FN(x)}からO個の識別器Fi(x)を取得し、取得したO個の識別器Fi(x)を識別器Fj(x)として評価基準{F1(x),F2(x),…,FO(x)}を生成する。なお本実施形態では、評価部130は、評価処理に評価サンプル記憶部128から取得したM’の画像データを用いるものとする。
以下、本実施形態の評価処理を詳細に説明する。
まず、1回目の評価処理では、取得済みの識別器が存在しないため、評価部130は、識別器群{F1(x),F2(x),…,FN(x)}に含まれるそれぞれの識別器Fi(x)に対し、評価サンプル記憶部128から取得したM’の画像データを適用する。これにより、識別器Fi(x)毎に、M’の画像データそれぞれに対する出力値t1〜tM’が得られる。
次に、評価部130は、識別器Fi(x)毎に、出力値t1〜tM’を用いてカテゴリが異なる画像データ間の類似度を算出する。例えば、出力値t1の画像データが、出力値t2〜t4の画像データと同一カテゴリに属し、出力値t5〜tM’の画像データと異なるカテゴリに属するとする。この場合、評価部130は、出力値t1及びt5〜tM’を用いて、出力値t1の画像データと出力値t5〜tM’のそれぞれの画像データとの類似度を算出する。評価部130は、出力値t2〜tM’の画像データについても同様の手法で異なるカテゴリに属する画像データとの類似度を算出する。なお、類似度の算出手法はどのような手法であってもよく、例えば、前述した数式(3)、数式(4)、又は数式(5)を用いて算出してもよい。
そして評価部130は、算出した類似度の最大値を識別器Fi(x)毎に特定し、特定した類似度の最大値の中から、最大値が最も小さい識別器Fi(x)を取得する。
続いて、2回目以降の評価処理では、評価部130は、識別器群{F1(x),F2(x),…,FN(x)}に含まれる識別器Fi(x)のうち、取得済みの全ての識別器と取得前の識別器それぞれとの組み合わせに対し、評価サンプル記憶部128から取得したM’の画像データを適用する。これにより、識別器の組み合わせ毎に、M’の画像データそれぞれに対する出力値t1〜tM’が得られる。
例えば、1回目の評価処理で識別器F3(x)が取得されたとする。この場合、2回目の評価処理では、評価部130は、取得済みの全ての識別器である識別器F3(x)と取得前の識別器F1(x)〜F2(x)、F4(x)〜FN(x)それぞれとの組み合わせである{F3(x),F1(x)}、{F3(x),F2(x)}、…、{F3(x),FN(x)}に対し、M’の画像データを適用する。また例えば、1回目の評価処理で識別器F3(x)が取得され、2回目の評価処理で識別器F2(x)が取得されたとする。この場合、3回目の評価処理では、評価部130は、取得済みの全ての識別器である識別器F3(x)及びF2(x)と取得前の識別器F1(x)、F4(x)〜FN(x)それぞれとの組み合わせである{F3(x),F2(x),F1(x)}、{F3(x),F2(x),F4(x)}、…、{F3(x),F2(x),FN(x)}に対し、M’の画像データを適用する。
次に、評価部130は、識別器の組み合わせ毎に、取得した画像データの出力値t1〜tM’を用いてカテゴリが異なる画像データ間の類似度を算出する。そして評価部130は、算出した類似度の最大値を識別器の組み合わせ毎に特定し、特定した類似度の最大値の中から、最大値が最も小さい識別器の組み合わせに含まれる取得前の識別器Fi(x)を取得する。
本実施形態では、評価部130は、上述した評価処理をO回繰り返すことにより、O個の識別器Fi(x)を取得し、取得したO個の識別器Fi(x)を識別器Fj(x)にナンバリングし直して評価基準{F1(x),F2(x),…,FO(x)}を生成する。例えば、O回の評価処理によりO個の識別器F3(x)、F4(x)、…、F1(x)がこの順番で取得されたとする。この場合、評価部130は、識別器F3(x)をF1(x)、識別器F4(x)をF2(x)、…、識別器F1(x)をFO(x)にナンバリングし直して評価基準{F1(x),F2(x),…,FO(x)}を生成する。
格納部132は、入力受付部104により受け付けられた学習サンプルを学習サンプル記憶部120に格納したり、入力受付部104により受け付けられた評価サンプルを評価サンプル記憶部128に格納したりする。
図5は、第1実施形態の学習装置100で行われる認識処理の手順の流れの一例を示すフローチャート図である。
まず、入力受付部104は、入力部102から、認識対象の未知の物体を含む画像データの入力を受け付ける(ステップS100)。
続いて、特徴量計算部108は、評価基準記憶部106に記憶されている評価基準{F1(x),F2(x),…,FO(x)}を用いて、入力受付部104により受け付けられた画像データの特徴量を計算する(ステップS102)。
続いて、類似度計算部112は、特徴量計算部108により計算された特徴量と認識テーブル記憶部110に記憶されている各基準特徴量との類似度を計算する(ステップS104)。
続いて、認識部114は、認識テーブル記憶部110に記憶されている認識テーブルから、類似度計算部112により計算された類似度の値が閾値を超えた基準特徴量のうち類似度が上位の基準特徴量を選択し、選択した基準特徴量に対応するカテゴリの少なくともいずれかに、画像データに含まれる未知の物体が属すると認識する(ステップS106)。なお、認識部114は、類似度計算部112により計算された類似度の値が閾値を超える基準特徴量が存在しない場合、画像データに含まれる未知の物体はいずれのカテゴリにも属さないと認識する。
続いて、出力制御部116は、認識部114の認識結果、即ち、認識部114により認識された未知の物体のカテゴリ、又は未知の物体がいずれのカテゴリにも属さないことを出力部118に出力させる(ステップS108)。
図6は、第1実施形態の学習装置100で行われる学習処理の手順の流れの一例を示すフローチャート図である。
まず、選択部122は、学習サンプル記憶部120から、それぞれ画像データを1つ以上含む2つのグループを選択する(ステップS200)。この際、選択部122は、選択する2つのグループのそれぞれに含まれる画像データのカテゴリ数のグループ間の差が予め定められた範囲内に収まるように、当該2つのグループを選択する。
続いて、学習部124は、選択部122により選択された2つのグループを識別する識別器を学習する(ステップS202)。
続いて、選択部122は、例えば、選択がN回行われていない場合には、選択を続行すると判定し(ステップS204でYes)、ステップS200に戻り、選択がN回行われている場合には、選択を続行しないと判定し(ステップS204でNo)、ステップS206へ進む。
続いて、学習部124は、ステップS202で学習した識別器群を識別基準群記憶部126に格納する(ステップS206)。
図7は、第1実施形態の学習装置100で行われる評価処理の手順の流れの一例を示すフローチャート図である。
まず、評価部130は、識別基準群記憶部126に記憶されている識別器群から取得前の識別器のうち未選択のものを1つ選択する(ステップS300)。
続いて、評価部130は、識別基準群記憶部126に記憶されている識別器群から取得済みの全ての識別器と選択された取得前の識別器との識別器の組み合わせに対し、評価サンプル記憶部128から取得したカテゴリが異なる2以上の画像データを適用し、カテゴリが異なる画像データ間の類似度を算出する(ステップS302)。なお、1回目の評価処理では、取得済みの識別器が存在しないため、評価部130は、選択された取得前の識別器に対し、カテゴリが異なる2以上の画像データを適用し、カテゴリが異なる画像データ間の類似度を算出する。
続いて、評価部130は、算出した類似度の最大値を特定する(ステップS304)。
続いて、評価部130は、未評価の識別器の組み合わせがある場合(ステップS306でYes)、即ち、識別器群に未選択の取得前の識別器がある場合、ステップS300に戻る。一方、評価部130は、未評価の識別器の組み合わせがない場合(ステップS306でNo)、即ち、識別器群に未選択の取得前の識別器がない場合、ステップS308へ進む。
続いて、評価部130は、識別器の組み合わせ毎に特定した類似度の最大値の中から、類似度の最大値が最も小さい識別器の組み合わせに含まれる取得前の識別器を取得する(ステップS308)。なお、1回目の評価処理では、評価部130は、識別器毎に特定した類似度の最大値の中から、類似度の最大値が最も小さい識別器を取得する。
続いて、評価部130は、例えば、評価処理がO回行われていない場合には、評価処理を続行すると判定し(ステップS310でYes)、ステップS300に戻る。この場合、ステップS308において新たな識別器が取得されているため、取得前の識別器を全て未選択に戻して処理を再開する。一方、評価部130は、評価処理がO回行われている場合には、評価処理を続行しないと判定し(ステップS310でNo)、ステップS312へ進む。
続いて、評価部130は、取得済みの全ての識別器を含む評価基準を生成し、評価基準記憶部106に格納する(ステップS312)。
図8は、第1実施形態の学習装置100で行われる学習サンプル格納処理の手順の流れの一例を示すフローチャート図である。なお、図8に示す学習サンプル格納処理は、例えば、学習装置100の工場出荷時などに行われる。
まず、入力受付部104は、入力部102から、学習サンプルとして、既知の物体を含む画像データの入力を受け付ける(ステップS400)。
続いて、格納部132は、入力受付部104により学習サンプルとして受け付けられた画像データを学習サンプル記憶部120に格納する(ステップS402)。
図9は、第1実施形態の学習装置100で行われる評価サンプル格納処理の手順の流れの一例を示すフローチャート図である。なお、図9に示す評価サンプル格納処理は、例えば、学習装置100の出荷後にユーザなどにより行われる。
まず、入力受付部104は、入力部102から、評価サンプルとして、既知の物体を含む画像データの入力を受け付ける(ステップS500)。
続いて、格納部132は、入力受付部104により評価サンプルとして受け付けられた画像データを評価サンプル記憶部128に格納する(ステップS502)。
図10は、第1実施形態の学習装置100で行われる基準特徴量登録処理の手順の流れの一例を示すフローチャート図である。
まず、入力受付部104は、入力部102から、既知の物体を含む画像データの入力を受け付ける(ステップS600)。ここで、入力受付部104が受け付ける既知の物体を含む画像データは、評価サンプル記憶部128に格納されている少なくともいずれかの画像データと同一の画像データである。
続いて、特徴量計算部108は、評価基準記憶部106に記憶されている評価基準{F1(x),F2(x),…,FO(x)}を用いて、入力受付部104により受け付けられた画像データの特徴量を計算する(ステップS602)。
続いて、特徴量計算部108は、計算した特徴量を基準特徴量として、入力受付部104により受け付けられた画像データに含まれる既知の物体が属するカテゴリに対応付けて認識テーブルに登録する(ステップS604)。
以上のように、第1実施形態の学習装置100では、複数のグループ毎に、当該複数のグループを識別する識別基準、即ち各グループに含まれる学習サンプルのカテゴリ又はカテゴリの組み合わせをグループ間で識別する識別基準を学習する。そして第1実施形態の学習装置100では、複数のグループの選択、即ち、各グループに含まれる学習サンプルのカテゴリ又はカテゴリの組み合わせの選択は、選択部122により自動的に行われる。このため、第1実施形態の学習装置100によれば、人間が識別基準を教示する必要がなく、識別基準の学習に伴うコストを削減することができる。これに対し、従来技術の手法では、識別基準となる属性を人間が教示しなければならないため、識別基準の学習に伴うコストがかかってしまう。
また第1実施形態の学習装置100では、グループの組み合わせ数、即ち、グループに含まれる学習サンプルのカテゴリ又はカテゴリの組み合わせのグループ間の組み合わせ数は、膨大な数になる傾向にある。このため第1実施形態の学習装置100によれば、上限にとらわれず、必要なだけ識別基準を学習して、評価基準を生成することができる。これに対し、従来技術の手法では、識別基準は、例えば性別や人種、年代など、教示する人間にとって明確に判断可能なものに限られるため、学習可能な識別基準の数に限界がある。
また第1実施形態の学習装置100では、選択部122は、選択する複数のグループのそれぞれに含まれる学習サンプルのカテゴリ数又はサンプル数のグループ間の差が予め定められた範囲内に収まるように、当該複数のグループを無作為に選択する。つまり第1実施形態の学習装置100では、識別対象の複数のグループのそれぞれを無作為かつ均等な分布を有するように選択する。このようにして選択された複数のグループを識別するように学習された識別基準は、認識対象の目標が含まれるパターンに対する評価値、即ち、学習に用いた複数のグループのいずれに属すると判定されるかが完全にランダムとなる。
従って、例えば、目標を含む2つのパターンそれぞれに同一の識別基準を用いると、2つのパターンそれぞれに含まれる目標が同一である場合は、評価値の値が同一となること、即ち、両目標が識別対象の複数のグループのうちのいずれかのグループに類似することが期待できる。一方、2つのパターンそれぞれに含まれる目標が異なる場合は、評価値の値がどのような値となるかは不定、即ち、無相関となる。ここで、互いに異なる目標を含む2つのパターンそれぞれに対する評価値が無相関であるということは、例えば、目標認識を行う際の類似度計算に正規化相関などを利用した場合、類似度がゼロになるということを示す。
つまり、第1実施形態の学習装置100では、選択する複数のグループのそれぞれに含まれる学習サンプルのカテゴリ数又はサンプル数のグループ間の差が予め定められた範囲内に収まるように、当該複数のグループを無作為に選択することにより、この複数のグループを識別する識別基準には、異なる目標の類似度を分離するような変換が、組み込まれているという特徴を持つ。
従って、第1実施形態の学習装置100によれば、パターンに含まれる目標を識別するために有効、即ち、目標認識の認識精度において好適な識別基準を含む評価基準を学習サンプルから効率的かつ高速に学習することができる。これに対し、従来技術の手法では、識別基準となる属性(例えば、ある人物とそれ以外の人物)によっては、学習サンプルが一方(それ以外の人物)に偏って学習されるため、識別基準の評価値の分布にも偏りが出てしまい、画像データに含まれる物体を認識するために有効な評価基準とならない場合がある。
但し上述した手法で識別基準を学習した場合であっても、目標認識に用いる認識テーブル(基準特徴量及びカテゴリの組)の分布に偏りがある場合、即ち、基準特徴量の生成に用いたパターンの分布が、評価基準の生成に用いた学習サンプルの分布に対して偏っている場合、2つのパターンそれぞれに含まれる目標が異なっていても、評価値の値が無相関になるとは限らない。例えば、学習サンプルを工場出荷時に用意し、工場出荷後にユーザが認識テーブルを用意するような場合、認識テーブルの分布が学習サンプルの分布に対して偏ってしまうことが想定される。
このため、第1実施形態の学習装置100では、基準特徴量の生成に用いるパターンである評価サンプルを学習部124により学習された識別基準に適用し、当該識別基準をカテゴリが異なる評価サンプル間の類似度を用いて評価し、評価サンプル間の距離が離れるような識別基準を取得して、評価基準を生成する。つまり、第1実施形態の学習装置100では、学習部124により学習された識別基準のうち識別に有効でない識別基準、即ち、基準特徴量との関係で目標を識別できない識別基準を排除して評価基準を生成する。従って第1実施形態の学習装置100によれば、目標認識に用いる認識テーブル(基準特徴量及びカテゴリの組)の分布に偏りがある場合であっても、含まれている目標が異なる2つのパターンの評価値の値を無相関とすることができ、目標認識により好適な識別基準を含む評価基準を生成することができる。
また第1実施形態の学習装置100によれば、識別に有効でない識別基準を排除して評価基準を生成するので、評価基準を用いた特徴量の計算処理量や認識テーブルのメモリサイズを削減することができる。
(第2実施形態)
第2実施形態では、クラス内分散及びクラス間分散を用いて識別基準を評価する例について説明する。以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
図11は、第2実施形態の学習装置200の構成の一例を示すブロック図である。図11に示すように、第2実施形態の学習装置200では、評価部230が第1実施形態の学習装置100と相違する。
評価部230は、取得した2以上の評価サンプルのクラス内分散及びクラス間分散の少なくとも一方を用いて、識別基準群に含まれる識別基準を評価する。具体的には、評価部230は、識別基準群に含まれる各識別基準に、取得した2以上の評価サンプルを適用して、当該2以上の評価サンプルのクラス間分散をクラス内分散で除した値を識別基準毎に算出し、算出した値が高い順に複数の識別基準を取得する。また、評価部230は識別基準を帰納的に取得する。なお、以下では、クラス間分散をクラス内分散で除した値を分離値と称する。
ここで、クラス内分散は、同一カテゴリ内の評価サンプル同士の距離の近さを表し、値が小さいほど同一カテゴリ内の評価サンプル同士の距離が近いことを意味する。クラス間分散は、異なるカテゴリ間の評価サンプル同士の距離の近さを表し、値が大きいほど異なるカテゴリ間の評価サンプル同士の距離が遠いことを意味する。従って、分離値が大きいほど、カテゴリ内およびカテゴリ間の分離がよいことを意味し、分離値が大きい識別基準ほど識別性能が高いことを示す。
但し、評価手法はこれに限定されるものではなく、取得した2以上の評価サンプルのクラス内分散及びクラス間分散の少なくとも一方を用いて識別基準群に含まれる識別基準を評価していればよい。
本実施形態では、評価部230は、評価サンプル記憶部128から取得したM’の画像データを用いて、識別基準群記憶部126に記憶されている識別器群{F1(x),F2(x),…,FN(x)}に含まれる各識別器Fi(x)の有効性を評価する。そして、評価部230は、有効性の高い順にO個の識別器Fi(x)を取得し、取得したO個の識別器Fi(x)を識別器Fj(x)として評価基準{F1(x),F2(x),…,FO(x)}を生成する。
具体的には、評価部230は、上述した評価をO回繰り返すことにより、識別器群{F1(x),F2(x),…,FN(x)}に含まれる識別器Fi(x)毎に、数式(6)を用いて、当該識別器Fi(x)におけるM’の画像データの分離値を算出する。そして、評価部230は、分離値の高い順にO個の識別器Fi(x)を取得し、取得したO個の識別器Fi(x)を識別器Fj(x)にナンバリングし直して評価基準{F1(x),F2(x),…,FO(x)}を生成する。
ここで、S(F)が識別器におけるM’の画像データの分離値を示し、SB(F)が識別器におけるM’の画像データのクラス間分散を示し、SW(F)が識別器におけるM’の画像データのクラス内分散を示す。SB(F)は、数式(7)により求められる。
ここで、C’は、前述したように、評価サンプル記憶部128に記憶されている画像データ(評価サンプル)のカテゴリ数を示し、Mg’は、前述したように、gのカテゴリに属する画像データ数(評価サンプル数)を示す。tは転置を示す。mgは、数式(8)により求められ、mは、数式(9)により求められる。
ここで、xgkは、gのカテゴリに属するk(1≦k≦Mg’)番目の画像データ(評価サンプル)を示す。
数式(6)に戻り、SW(F)は、数式(10)により求められる。
Sg(F)は、数式(11)により求められる。
図12は、第2実施形態の学習装置200で行われる評価処理の手順の流れの一例を示すフローチャート図である。
まず、評価部230は、識別基準群記憶部126に記憶されている識別器群から未選択の識別器を1つ選択する(ステップS700)。
続いて、評価部230は、選択された識別器に評価サンプル記憶部128から取得したカテゴリが異なる2以上の画像データを適用し、選択された識別器における当該2以上の画像データの分離値を算出する(ステップS702)。
続いて、評価部230は、識別器群に未選択の識別器がある場合(ステップS704でYes)、ステップS700に戻り、識別器群に未選択の識別器がない場合(ステップS704でNo)、ステップS706へ進む。
続いて、評価部230は、算出した分離値が高い順に複数、例えばO個の識別器を取得して評価基準を生成し、評価基準記憶部106に格納する(ステップS706)。
以上のように、第2実施形態の学習装置200では、基準特徴量の生成に用いるパターンである評価サンプルを学習部124により学習された識別基準に適用して、当該識別基準を評価サンプルの分離値(評価サンプルのクラス間分散をクラス内分散で除した値)を用いて評価し、評価サンプル間の距離が離れるような識別基準を取得して、評価基準を生成する。このため、第2実施形態の学習装置200においても、目標認識に用いる認識テーブル(基準特徴量及びカテゴリの組)の分布に偏りがある場合であっても、含まれている目標が異なる2つのパターンの評価値の値を無相関とすることができ、目標認識により好適な識別基準を含む評価基準を生成することができる。また、識別に有効でない識別基準を排除して評価基準を生成するので、評価基準を用いた特徴量の計算処理量や認識テーブルのメモリサイズを削減することができる。
(第3実施形態)
第3実施形態では、ソフトマージンを用いて識別基準を評価する例について説明する。以下では、第1実施形態との相違点の説明を主に行い、第1実施形態と同様の機能を有する構成要素については、第1実施形態と同様の名称・符号を付し、その説明を省略する。
図13は、第3実施形態の学習装置300の構成の一例を示すブロック図である。図13に示すように、第3実施形態の学習装置300では、評価部330が第1実施形態の学習装置100と相違する。
学習部124は、第1実施形態同様、サポートベクターマシンにより識別基準を学習する。
評価部330は、カテゴリが異なる評価サンプル間のソフトマージンを用いて、識別基準群に含まれる識別基準を評価する。具体的には、評価部330は、取得済みの識別基準と取得前の識別基準それぞれとの組み合わせに、取得した2以上の評価サンプルを適用する。そして評価部330は、ソフトマージンの最大値を組み合わせ毎に特定し、特定した最大値が最も小さい組み合わせに含まれる取得前の識別基準を取得する。なお、評価部330は、識別基準を帰納的に取得する。
本実施形態においても、評価部330は、評価サンプル記憶部128から取得したM’の画像データを用いて、識別器の有効性を評価する評価処理をO回行う。そして評価部330は、識別器群{F1(x),F2(x),…,FN(x)}からO個の識別器Fi(x)を取得し、取得したO個の識別器Fi(x)を識別器Fj(x)として評価基準{F1(x),F2(x),…,FO(x)}を生成する。
以下、本実施形態の評価処理を詳細に説明する。
まず、評価部330は、評価処理を行う前に、識別器群{F1(x),F2(x),…,FN(x)}に含まれる識別器Fi(x)毎に、評価サンプル記憶部128から取得したM’の画像データのC’(前述したように、C’≧2)のカテゴリを正クラスと負クラスの2つのクラスに分ける。具体的には、評価部330は、M’の画像データのg(前述したように、1≦g≦C’)のカテゴリ毎に、当該gのカテゴリに属するMg’の画像データを識別器Fi(x)に適用し、識別器Fi(x)の出力値が正の値となる画像データの数と出力値が負の値となる画像データの数とを比較する。そして、評価部330は、正の値となる画像データの数の方が多ければ、gのカテゴリを正クラスに決定し、負の値となる画像データの数の方が多ければ、gのカテゴリを負クラスに決定する。
なお本実施形態では、正クラスのカテゴリに属する画像データのソフトマージンは、識別器Fi(x)の出力値が0以上であれば0とし、出力値が負の値であればその絶対値とする。また、負クラスのカテゴリに属する画像データのソフトマージンは、識別器Fi(x)の出力値が0以下であれば0とし、出力値が正の値であればその絶対値とする。
次に、1回目の評価処理では、取得済みの識別器が存在しないため、評価部330は、識別器群{F1(x),F2(x),…,FN(x)}に含まれるそれぞれの識別器Fi(x)に対し、評価サンプル記憶部128から取得したM’の画像データを適用する。これにより、識別器Fi(x)毎に、M’の画像データそれぞれのソフトマージンが得られる。
そして評価部330は、得られたソフトマージンの最大値を識別器Fi(x)毎に特定し、特定したソフトマージンの最大値の中から、最大値が最も小さい識別器Fi(x)を取得する。
続いて、2回目以降の評価処理では、評価部330は、識別器群{F1(x),F2(x),…,FN(x)}に含まれる識別器Fi(x)のうち、取得済みの全ての識別器と取得前の識別器それぞれとの組み合わせに対し、評価サンプル記憶部128から取得したM’の画像データを適用する。これにより、識別器の組み合わせ毎に、M’の画像データそれぞれのソフトマージンが得られる。なお、識別器の組み合わせにおける画像データのソフトマージンは、識別器の組み合わせに含まれる各識別器の画像データのソフトマージンの合計値とする。例えば、{F3(x),F1(x)}の組み合わせにおける画像データのソフトマージンは、識別器F3(x)における画像データのソフトマージンと識別器F1(x)における画像データのソフトマージンとの合計値となる。そして評価部330は、得られたソフトマージンの最大値を識別器の組み合わせ毎に特定し、特定したソフトマージンの最大値の中から、最大値が最も小さい識別器の組み合わせに含まれる取得前の識別器Fi(x)を取得する。
本実施形態では、評価部330は、上述した評価処理をO回繰り返すことにより、O個の識別器Fi(x)を取得し、取得したO個の識別器Fi(x)を識別器Fj(x)にナンバリングし直して評価基準{F1(x),F2(x),…,FO(x)}を生成する。
なお評価部330は、得られたソフトマージンの最大値を識別器の組み合わせ(識別器)毎に特定するのではなく、得られたソフトマージンの総和を識別器の組み合わせ(識別器)毎に特定し、特定したソフトマージンの総和の中から、総和が最も小さい識別器の組み合わせに含まれる取得前の識別器Fi(x)を取得するようにしてもよい。
図14は、第3実施形態の学習装置300で行われる評価処理の手順の流れの一例を示すフローチャート図である。
まず、評価部330は、識別基準群記憶部126に記憶されている識別器群に含まれる識別器毎に、評価サンプル記憶部128に記憶されている画像データのカテゴリのクラスを決定する(ステップS800)。
続いて、評価部330は、識別基準群記憶部126に記憶されている識別器群から取得前の識別器のうち未選択のものを1つ選択する(ステップS802)。
続いて、評価部330は、識別基準群記憶部126に記憶されている識別器群から取得済みの全ての識別器と選択された取得前の識別器との識別器の組み合わせに対し、評価サンプル記憶部128から取得したカテゴリが異なる2以上の画像データを適用し、各画像データのソフトマージンを算出する(ステップS804)。なお、1回目の評価処理では、取得済みの識別器が存在しないため、評価部330は、選択された取得前の識別器に対し、カテゴリが異なる2以上の画像データを適用し、各画像データのソフトマージンを算出する。
続いて、評価部330は、算出したソフトマージンの最大値を特定する(ステップS806)。
続いて、評価部330は、未評価の識別器の組み合わせがある場合(ステップS808でYes)、即ち、識別器群に未選択の取得前の識別器がある場合、ステップS802に戻る。一方、評価部330は、未評価の識別器の組み合わせがない場合(ステップS808でNo)、即ち、識別器群に未選択の取得前の識別器がない場合、ステップS810へ進む。
続いて、評価部330は、識別器の組み合わせ毎に特定したソフトマージンの最大値の中から、最大値が最も小さい識別器の組み合わせに含まれる取得前の識別器を取得する(ステップS810)。なお、1回目の評価処理では、評価部330は、識別器毎に特定したソフトマージンの最大値の中から、最大値が最も小さい識別器を取得する。
続いて、評価部330は、例えば、評価処理がO回行われていない場合には、評価処理を続行すると判定し(ステップS812でYes)、ステップS802に戻る。この場合、ステップS810において新たな識別器が取得されているため、取得前の識別器を全て未選択に戻して処理を再開する。一方、評価部330は、評価処理がO回行われている場合には、評価処理を続行しないと判定し(ステップS812でNo)、ステップS814へ進む。
続いて、評価部330は、取得済みの全ての識別器を含む評価基準を生成し、評価基準記憶部106に格納する(ステップS814)。
以上のように、第3実施形態の学習装置300では、基準特徴量の生成に用いるパターンである評価サンプルを学習部124により学習された識別基準に適用して、当該識別基準をソフトマージンで評価し、評価サンプル間の距離が離れるような識別基準を取得して、評価基準を生成する。このため、第3実施形態の学習装置300においても、目標認識に用いる認識テーブル(基準特徴量及びカテゴリの組)の分布に偏りがある場合であっても、含まれている目標が異なる2つのパターンの評価値の値を無相関とすることができ、目標認識により好適な識別基準を含む評価基準を生成することができる。また、識別に有効でない識別基準を排除して評価基準を生成するので、評価基準を用いた特徴量の計算処理量や認識テーブルのメモリサイズを削減することができる。
(変形例)
なお、上記第1及び第3実施形態において、評価部は、1回目の評価処理において、識別器群{F1(x),F2(x),…,FN(x)}のうちの予め定められた識別器を、1つ目の識別器として取得するようにしてもよい。また評価部は、1回目の評価処理で取得する1つ目の識別器を、識別器群{F1(x),F2(x),…,FN(x)}の中からランダムで取得するようにしてもよい。また、評価部は、1回目の評価処理で予め定められた識別器やランダムで識別器を取得する場合には、評価基準を複数生成し、生成した複数の評価基準の中から、カテゴリが最も異なる(離れている)評価サンプル間の類似度の最大値が最も小さい評価基準を評価基準とするようにしてもよい。
また、上記第1及び第3実施形態において、評価部は、評価処理を行う毎に、取得済みの全ての識別器の組み合わせに評価サンプルを適用して、当該組み合わせの正解率を計算し、計算した正解率が最も高い組み合わせを評価基準とするようにしてもよい。この場合、評価部は、評価処理をN回行うようにしてもよい。また、正解率は、ある段階までは評価処理を行う毎に高くなりその後低くなることが予想されるため、評価部は、正解率が最も高い組み合わせを判別できた時点で評価処理を終了するようにしてもよい。また、正解率の計算は、識別器の取得を全て終えた後にまとめて行うようにしてもよい。評価部は、例えば、取得済みの全ての識別器の組み合わせを用いた特徴抽出を全ての評価サンプルに対して施し、抽出した特徴を利用して、最も近似する評価サンプルとカテゴリが同一である評価サンプルの総数を計算し、計算した評価サンプルの総数を全評価サンプル数で除すことにより、正解率を計算する。なお、正解率を用いる場合、評価基準に含まれる識別器の数(評価処理の回数)は、正解率に依存するため、O個になるとは限らない。
また、上記第1乃至第3実施形態を適宜組み合わせるようにしてもよい。例えば、カテゴリが異なる評価サンプル間での類似度の最大値が最も小さいものにソフトマージンに加えたものを用いて、識別器を評価するようにしてもよい。
また、上記各実施形態において、識別器の出力が3段階(例えば、0、1、又は2)の場合には、同一カテゴリに属する評価サンプル同士の出力が一致する数や異なる数、また異なるカテゴリに属する評価サンプル同士の出力が一致する数や異なる数などを用いて、識別器を評価するようにしてもよい。
また、上記各実施形態では、画像データを評価基準に適用して特徴量を計算する例について説明したが、画像データの画像特徴を抽出し、抽出した画像特徴を評価基準に適用して特徴量を計算するようにしてもよい。この場合、学習サンプルや評価サンプルも画像データの画像特徴とすればよい。
また、上記各実施形態では、評価サンプルは認識テーブルに登録されている基準特徴量の生成に用いられたパターンである例について説明したが、基準特徴量の生成に使用したパターンと分布が同じであれば、評価サンプルはこれらと異なってもよい。例えば、基準特徴量の生成用に用意した各カテゴリのパターンが複数ある場合に、一部を基準特徴量の生成に使用し、別の一部を評価サンプルとして使用してもよい。この場合、基準特徴量の生成に使用したパターンと評価サンプルの分布とが同じとみなすことができる。具体的には、基準特徴量の生成に使用したパターンと同じ環境で撮影した画像を評価サンプルに使用してもよい。
(ハードウェア構成)
図15は、上記第1〜第3実施形態の学習装置のハードウェア構成の一例を示すブロック図である。図15に示すように、上記各実施形態の学習装置は、CPU902と、評価基準を生成したり画像データに含まれる未知の目標を認識したりするための学習プログラム(認識プログラム)などを記憶するROM904と、RAM906と、学習サンプル、評価サンプル、評価基準、及び認識テーブルなどを記憶するHDD908と、HDD908とのインタフェースであるI/F910と、画像データ入力用のインタフェースであるI/F912と、マウスやキーボードなどの入力装置914と、入力装置914とのインタフェースであるI/F916と、ディスプレイなどの表示装置918と、表示装置918とのインタフェースであるI/F920と、バス922とを、備えており、通常のコンピュータを利用したハードウェア構成となっている。なおCPU902、ROM904、RAM906、I/F910、I/F912、I/F916、及びI/F920は、バス922を介して互いに接続されている。
上記各実施形態の学習装置では、CPU902が、ROM904から学習プログラムをRAM906上に読み出して実行することにより、上記各部(入力受付部、特徴量計算部、類似度計算部、認識部、出力制御部、選択部、学習部、評価部、及び格納部など)がコンピュータ上で実現される。そして上記各実施形態の学習装置では、CPU902が、HDD908に記憶されている学習サンプルや評価サンプルなどを用いて、評価基準を生成してHDD908に記憶し、HDD908に記憶されている評価基準や認識テーブルなどを用いて、I/F912から入力される画像データに含まれる未知の物体を認識する。
なお、学習プログラムはHDD908に記憶されていてもよい。また、学習プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、学習プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、学習プログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、未知の物体を含む画像データをHDD908に記憶しておき、I/F910から画像データを入力するようにしてもよい。
以上説明したとおり、上記各実施形態及び上記各変形例によれば、識別基準の学習に伴うコストを削減し、認識に好適な識別基準を得ることができる。また従来技術では、学習された複数の識別基準の少なくともいずれかが原因で認識性能の低下を招いてしまう可能性もあったが、本実施形態及び各変形例によれば、認識に好適な識別基準を得ることができる。
なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
例えば、上記各実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
また例えば、上記実施形態では、学習装置が学習処理と認識処理の両処理を行う例について説明したが、学習処理、認識処理を、別々の装置で行うようにしてもよい。例えば、学習処理、認識処理を、それぞれ学習装置、認識装置が行うようにしてもよい。この場合、学習装置で生成した評価基準を認識装置に格納しておけばよい。