以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。
[第一の実施形態]
本発明の第一の実施形態として、撮影領域を撮影した撮影画像を処理して撮影領域に存在する人を対象として認識する対象認識装置1を説明する。対象認識装置1は、撮影画像の各位置から切り出された窓画像(入力データ)に認識対象である人の像が含まれているか否かを認識することによって人の検知を行う。
図1は、実施形態に係る対象認識装置1の概略のブロック構成図である。対象認識装置1は、撮影部2、記憶部3、制御部4および出力部5を含んで構成される。撮影部2、記憶部3および出力部5は制御部4と接続される。
撮影部2は撮影領域を所定時間おきに撮影し、撮影した撮影画像を順次、制御部4に入力する。
記憶部3は、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスク等の記憶装置であり、制御部4で使用されるプログラムおよび、学習データや各手段が生成したデータなどの各種データを記憶する。記憶部3はこれらプログラム、データを制御部4との間で入出力する。
制御部4はCPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)等のプロセッサおよびその周辺回路で構成される。制御部4は後述する各手段として動作し、撮影画像を処理して撮影領域に存在する人を認識する。そして、人を認識した場合は出力部5に認識信号を出力する。
出力部5は認識信号を入力されると外部出力を行うインターフェース回路である。例えば、出力部5はネットワークに接続されて警備センターに通報を行う。
図2は対象認識装置1の機能を示す機能ブロック図である。記憶部3は、認識器記憶手段30、独立度合い記憶手段31等として機能する。また、制御部4は、切り出し手段40、個別認識手段41(41-1,41-2,…,41-K)、統合認識手段42等として機能する。
切り出し手段40は撮影画像から一部の領域を窓画像として切り出す。当該窓画像が第一の実施形態の対象認識装置1における入力データとなる。窓画像は複数個(K個とする)の個別認識手段41に入力される。切り出し手段40は、撮影画像中で認識したい人サイズの範囲に応じて予め定めた複数通りの倍率で撮影画像を拡大および縮小し、当該拡大・縮小した撮影画像の全域にて所定サイズの窓領域を移動させて窓画像を切り出す。窓画像のサイズすなわち幅および高さは、後述する認識器の学習に用いた学習画像のサイズと同一である。
認識器記憶手段30は、それぞれが複数の学習データを用い入力データに対する認識結果を表す出力値を出力するよう学習した互いに性質の異なる複数の認識器を記憶する。具体的には、認識器記憶手段30は複数個の認識器としてK個(K>2)の識別器を記憶する。当該識別器はそれぞれ、画像の特徴量が入力されると当該画像が人の撮影された人画像である尤もらしさを表す尤度(人画像のクラスに帰属していることの尤もらしさを表す尤度)を出力する。
K個の識別器のそれぞれは、例えば、窓画像の特徴量を入力とし当該窓画像の尤度を出力とする識別関数としてモデル化したSVM(サポートベクターマシーン)であり、上記識別関数のパラメータを含んで構成され、予め、人が撮影された多数の人画像と人が撮影されていない多数の無人画像とからなるN枚の学習画像を学習データとして用いて上記識別関数のパラメータを機械学習している。
ただし、K個の識別器のそれぞれは、互いに特徴量を異ならせて学習しており、識別器を構成するパラメータは互いに異なるため、互いに性質が異なる。
例えば、不図示の学習手段が、認識処理に先立って以下の処理を行う。ここではK=4とし、これに対応して、学習画像に4種類のフィルタを施し、フィルタを施したそれぞれの画像から特徴量を抽出する。図3は4種類のフィルタの例を表す模式図であり、互いにスケールと方向の組み合わせが異なる4種類の楕円ガウシアンフィルタを表している。学習手段は当該フィルタをN枚の学習画像それぞれに施し、フィルタを施した学習画像からHOG(Histograms of Oriented Gradient)特徴量を抽出する。
ここで、楕円ガウシアンフィルタはxy平面内の特定方向に平滑化を行う空間フィルタであり、2次元ガウス分布の中心を処理対象の画素に一致させ、中心から楕円状にガウス分布に従って係数を分布させた空間フィルタである。2次元ガウス分布を規定するパラメータのうちのx方向の分散の大きさおよびy方向の分散の大きさを変えることで、フィルタのxy空間におけるスケール(長さと幅)を変えることができ、2次元ガウス分布をxy平面上で回転させることでフィルタのxy空間における方向を変えることができる。
図3に示した4種類の楕円ガウシアンフィルタF1〜F4において、フィルタF1は、x方向のスケールとy方向のスケールが等しく回転が0°のフィルタである。ちなみに、フィルタF1は等方性のフィルタとなるため回転による変化はない。フィルタF2は、F1に対してy方向のスケールが1/2で回転が0°のフィルタであり、フィルタF3は、F1に対してy方向のスケールが1/2で回転が45°のフィルタであり、フィルタF4は、F1に対してx方向のスケールが1/2、y方向のスケールが1/4で回転が135°のフィルタである。
フィルタF1〜F4に対応して4種類の特徴量が抽出されると、当該4種類の特徴量のそれぞれにSVM法を適用して4個の識別器を学習し、学習した4個の識別器を認識器記憶手段30に記憶させる。
具体的には、フィルタF1を施して得たN枚分のHOG特徴量にSVM法を適用して1番目の識別器を学習し、フィルタF2を施して得たN枚分のHOG特徴量にSVM法を適用して2番目の識別器を学習し、フィルタF3を施して得たN枚分のHOG特徴量にSVM法を適用して3番目の識別器を学習し、フィルタF4を施して得たN枚分のHOG特徴量にSVM法を適用して4番目の識別器を学習する。
なお、SVM法を適用して学習した識別器に代えて、パーセプトロン型の識別器、アダブースト型の識別器、動径基底関数(Radial Basis Function:RBF)ネットワーク型の識別器またはランダムフォレスト法を適用して学習した識別器など種々の識別器を採用することができる。
個別認識手段41は入力データである窓画像に対する複数の認識器それぞれの出力値を取得する。つまり、個別認識手段41-1,41-2,…,41-Kは、それぞれが認識器記憶手段30に記憶されている複数の認識器のうちの対応する認識器に入力データの特徴量を入力することによって認識器ごとの出力値を取得し、統合認識手段42に出力する。
例えば、K=4とした上述の例では、任意の個別認識手段41-k(k=1,2,3,4)は、認識器記憶手段30からk番目の識別器を読み出すとともに、窓画像ごとに、当該窓画像にフィルタFkを施してフィルタリング後の窓画像からHOG特徴量を抽出し、窓画像ごとのHOG特徴量をk番目の識別器に入力することによって当該窓画像に対する尤度を取得する。
上述したように、K個の識別器のそれぞれを構成するパラメータは互いに異なるため、同一の窓画像に対して個別認識手段41によりK通りの出力値が得られる。
なお、HOG特徴量に代えて、ハールライク(Haar-Like)特徴や、LBP(Local Binary Pattern)特徴など他の種々の特徴量を採用することもできる。或いは上述した特徴量のうち2以上の特徴量を組み合わせて用いることもできる。ただし、学習で用いる特徴量と認識で用いる特徴量とは定義を共通とする。
独立度合い記憶手段31は認識器の組み合わせごとに、一群のテストデータに対する出力値の相違度が高い組み合わせほど高く設定した独立度合いを記憶する。
具体的には、独立度合いは、不図示の独立度合い算出手段により、テストデータであるM枚(M>1)のテスト画像を用いて以下のようにして予め算出され設定される。なお、独立度合いを求める際に、M枚のテスト画像はK個の識別器に共通に用いられる。
まず、独立度合い算出手段はM枚のテスト画像の特徴量を抽出する。そして、独立度合い算出手段はM枚のテスト画像の特徴量を1〜K番目の識別器それぞれに入力し、識別器ごとにM個の尤度が並んだ尤度ベクトルを取得する。さらに、独立度合い算出手段は互いに異なる識別器の組み合わせ全て、つまり、i,jを1≦i≦K,1≦j≦Kなる任意の整数としてi≠jなる識別器iと識別器jとの全ての組み合わせについて尤度ベクトルの正規化相関値を算出する。
そして、独立度合い算出手段は、算出した正規化相関値の絶対値の逆数を、算出元となった識別器の組み合わせを表す符号(上記iとj)と対応付けて独立度合い記憶手段31に記憶させる。すなわちこの例では正規化相関値の絶対値の逆数が独立度合いとして設定され、識別器の組み合わせのうち、一群のテストデータに対する出力値の正規化相関値が低いものほど、高く設定した独立度合いが独立度合い記憶手段31に記憶される。なお、ここで絶対値をとるのは、正規化相関値の正負にかかわらず、独立度合いの高い識別器同士が類似する値を出力した場合に、その組を重視するためである。
例えば、K=4とした上述の例において、4つの識別器に共通して入力されるテストデータを6枚のテスト画像とし、当該テスト画像に対する1番目の識別器R1の尤度ベクトルL1、2番目の識別器R2の尤度ベクトルL2、3番目の識別器R3の尤度ベクトルL3、4番目の識別器R4の尤度ベクトルL4がそれぞれ以下であったとする。
L1=(0.7, 0.8, −0.1, −0.9, −0.5, 0.4)
L2=(0.9, 0.5, 0.6, −0.5, −0.7, 0.1)
L3=(0.9, −0.5, 0.6, 0.1, −0.8, 0.8)
L4=(0.8, −0.4, −0.4, 0.3, −0.9, 0.5)
図4はこの尤度ベクトルの数値例における正規化相関値および独立度合いを表形式で表した図である。図4(a)は識別器間の正規化相関値を示しており、例えば、識別器R1と識別器R2の正規化相関値が0.8、識別器R1と識別器R3の正規化相関値が0.3、…、識別器R3と識別器R4の正規化相関値が0.8であることを示している。図4(b)は、図4(a)の正規化相関値を基にした識別器間の独立度合いを示しており、例えば、識別器R1と識別器R2の独立度合いは1.25、識別器R1と識別器R3の独立度合いは3.33、…、識別器R3と識別器R4の独立度合いは1.25となる。
なお、M枚のテスト画像は、人画像と無人画像とが均等に含まれたデータセットであることが望ましいが、全て人画像であってもよいし、全て無人画像であってもよい。また、M枚のテスト画像は、学習画像とは別の画像であることが望ましいが、学習画像のデータセットと一部共通していてもよいし、学習画像のデータセットの一部であってもよい。
また、独立度合い算出手段は、認識器の各組み合わせに共通の一群のテストデータを入力し、認識器の組み合わせごとに、当該一群のテストデータに対する出力値が肯定値域であるか否定値域であるかの出力種別が当該組み合わせ内で同一であったテストデータの数(一致数)を求め、当該一致数が少ない組み合わせほど独立度合いを高く設定することもできる。つまり、この場合、独立度合い記憶手段31は、当該一致数が少ない組み合わせほど高く設定された独立度合いを記憶する。
例えば、SVM法で人画像を学習した識別器において、出力値である尤度Lの肯定値域をL>0、否定値域をL≦0とした場合、不図示の独立度合い算出手段は以下のようにして独立度合いを予め設定する。
まず、独立度合い算出手段はM枚のテスト画像の特徴量を抽出して各特徴量を1〜K番目の識別器それぞれに入力し、識別器ごとにM個の尤度を取得する。独立度合い算出手段は各尤度を閾値(=0)と比較して、各尤度が肯定値域に含まれる肯定値か否定値域に含まれる否定値かを判定する。次に、独立度合い算出手段は互いに異なる識別器の組み合わせ全てについて、組み合わせをなす識別器で得られる尤度が肯定値どうしまたは否定値どうしであるテスト画像の数を一致数として計数し、一致数を尤度の個数Mで除した値の逆数を独立度合いとして算出する。そして、独立度合い算出手段は、算出した独立度合いを、算出元となった識別器の組み合わせを表す符号と対応付けて独立度合い記憶手段31に記憶させる。
ちなみに、2クラスの識別を行う認識の場合、一致数に基づく独立度合いよりも正規化相関値に基づく独立度合いの方が以下の点で優れる。例えば、上述した尤度ベクトルの数値例において、識別器R2とR3は6枚目のテスト画像に対してそれぞれ0.1と0.8の尤度を出力している。これらの尤度はいずれも0より大きいため一致数に基づく独立度合いに対する寄与は同じである。これに対して、これらの尤度の差は0.7と大きいことから正規化相関値に基づく独立度合いに対するこれらの値の寄与は大きくなる。このように肯定値であるか否定値であるかが一致するが差が大きな値を出力した識別器同士の性質は同一のものとして扱うよりも異なるものとして扱うことの方が自然であるから、これらを異なるものとして扱うことができる正規化相関値の方が優れている。
統合認識手段42は入力データに対する複数の認識器の出力値に基づき総合評価値Scoreを求め、当該総合評価値から認識対象である人を認識する。統合認識手段42は、識別器の組み合わせのうち入力データに対し所定基準を超えて類似した出力値が得られた組み合わせ(整合組み合わせ)に関し、当該出力値を独立度合いに応じて重み付けて総合評価値に反映させる。
この点に関し本実施形態の統合認識手段42は、整合組み合わせの出力値を当該整合組み合わせに対して設定されている独立度合いで重み付けて総和し、総合評価値を求める。つまり、統合認識手段42は個別認識手段41-1,41-2,…,41-Kが取得した出力値のうち所定基準を超えて類似している出力値の組み合わせを、当該組み合わせに対して設定されている独立度合いで重み付けて総和し、当該総和値を総合評価値として用い所定対象を認識する。
そのために、統合認識手段42は、選択手段420、重み付け手段421、総和手段422および判定手段423を備える。
選択手段420は、入力データごとに個別認識手段41-1,41-2,…,41-Kの出力値の中から類似している出力値の組み合わせを選択する。選択手段420は例えば、個別認識手段41-1,41-2,…,41-Kの出力値の中で肯定の出力値どうしの組および否定の出力値どうしの組を選択する。上述したように、尤度Lの肯定値域をL>0、否定値域をL≦0とした場合、選択手段420は、尤度が0より大きければ人画像であることを肯定し、0以下であれば人画像であることを否定するものとして、肯定の尤度どうしの組および否定の尤度どうしの組を選択する。
重み付け手段421は、入力データごとに選択手段420が選択した出力値に対して独立度合いによる重み付けを行う。重み付け手段421は個別認識手段41-1,41-2,…,41-Kそれぞれに対応して設けられた重み付け手段421-1,421-2,…,421-Kからなる。
総和手段422は、入力データごとに、重み付け手段421により重み付けられた出力値を総和して総和値を算出する。ここで、総和手段422は、重み付けが行われなかった出力値を総和値に加えてもよい。すなわち、総合評価値として用いる総和値は、重み付け手段421により重み付けられた出力値を少なくとも総和したものとすることができる。
判定手段423は、少なくとも入力データごとの総和値に基づいて入力データが所定対象であるか否かを判定する。ここで、判定手段423は、さらに、複数の入力データからなる一連の入力データ群に対して入力データ群が所定対象を含むか否かを判定してもよい。例えば、複数の窓画像が設定される撮影画像に対して撮影画像に人画像が含まれるか否かを判定してもよい。
例えば、図2に示す統合認識手段42の構成にて、重み付け手段421-1,421-2,…,421-Kは例えば、選択手段420が選択した識別器の組の尤度に、当該識別器に対応して予め記憶されている独立度合いを乗算し、総和手段422は、重み付け手段421-1,421-2,…,421-Kによる重み付けが行われた尤度、つまり個別認識手段41の出力値である尤度と独立度合いとの積と、重み付け手段421-1,421-2,…,421-Kによる重み付けが行われなかった尤度、つまり個別認識手段41の出力値そのものとを総和する。
当該構成例における総合評価値Scoreである総和値は以下に示す式(1)で表される。
ここで、v
i,v
jはそれぞれ識別器iと識別器jが同一の窓画像に対して出力した尤度であり、Kは識別器の数である。また、w
ijは尤度の組に対する重みであり、w
ijは次のように設定される。
ここで、D
ijは識別器iと識別器jの組の独立度合いである。識別器iと識別器jの組がM枚の人画像に対して出力するM個の尤度を並べたベクトルどうしの正規化相関値をC
ijとすると、
−1≦C
ij≦1 ………(3)
であるから、
である。εはゼロ除算を防ぐための定数であり、正の小さい値に設定され、例えば10
−5である。
また、W
Sは識別器の全ての組についての重みの総和であり、重みは組をなす2つの識別器の尤度の双方にかかることに留意して、次式で与えられる。
例えば、判定手段423は、入力データごとの総和値を予め定めた閾値と比較し、総和値が閾値より大きい場合は入力データが所定対象であると判定し、総和値が閾値以下である場合は入力データが所定対象ではないと判定する。そして、一連の入力データ群に所定対象であると判定したものが含まれていれば当該入力データ群に所定対象が存在するとの認識信号を出力する。なお、含まれていない場合に、入力データ群に所定対象が存在しないとの認識信号を出力してもよい。
本実施形態による判定手段423は、窓画像ごとの総和値が0より大きい場合は当該窓画像が人画像であると判定し、総和値が0以下である場合は当該窓画像が人画像ではないと判定する。そして、人画像であると判定した窓画像が1個以上あれば、撮影領域に人が存在するとの認識信号を生成し出力する。なお、認識信号には、人画像であると判定した窓画像の座標を含めてもよい。
ここで、具体的な数値例を用いて統合認識手段42の上述の構成例を説明する。例えば、人が映っている或る窓画像に対して個別認識手段41-1、41-2、41-3、41-4からそれぞれ0.7,−0.9,−0.5,0.4の尤度を取得した場合、選択手段420は、肯定値どうしの識別器の組(R1,R4)と否定値どうしの識別器の組(R2,R3)を選択する。識別器の組(R1,R4)が選択されたことに対応して重み付け手段421-1と重み付け手段421-4がそれぞれ尤度と独立度合いの積2.331および1.332を算出し、識別器の組(R2,R3)が選択されたことに対応して重み付け手段421-2と重み付け手段421-3がそれぞれ尤度と独立度合いの積−1.503および−0.835を算出する。これら選択された識別器の組について算出された積と、選択されなかった組における識別器が出力した尤度とから総和手段422は総和値3.263を算出する。判定手段423は、総和値3.263が0以上であることから窓画像が人画像であり、また当該窓画像が切り出された撮影画像に人が写っていると認識して、検知信号を出力する。
ここで仮に、個別認識手段41-1、41-2、41-3、41-4の出力値を単純に平均した場合、その値は−0.075となり、当該平均値を閾値0と比較すると窓画像を人画像ではないとする誤認識が生じる。また、仮に、個別認識手段41-1、41-2、41-3、41-4の出力値を肯定値と否定値の多数決で判定する場合は、肯定と否定が同数であるため、認識不能となる。なお、仮に、選択手段420による選択を行わずに識別器の全組に対して尤度を独立度合いで重み付けて平均する場合は、その値は2.439となり、窓画像を人画像であると正しく認識できる。
これらの対比から分かるように、統合認識手段42が、個別認識手段41-1,41-2,…,41-Kの出力値のうち所定基準を超えて類似している出力値の組み合わせを、当該組み合わせに対して設定されている独立度合いで重み付けて総和し、総和値から所定対象を認識することによって、出力値の平均や多数決では正しく認識できなかった入力データを正しく認識することが可能となる。
つまり、本実施形態の対象認識装置1によれば、性質が異なる複数の認識器のうち独立度合いが高いけれども類似する出力をした認識器の組み合わせの出力を強調することにより、性質の異なる複数の認識器のバリエーションを活かした精度の高い認識を行うことが可能となる。
次に第一の実施形態の対象認識装置1の動作について説明する。図5は第一の実施形態の対象認識装置1の概略の動作を示すフロー図である。
制御部4は、撮影部2に撮影領域を撮影させて撮影画像を取得する(ステップS100)。そして制御部4は切り出し手段40として機能し、撮影画像から窓画像を切り出し(ステップS101)、以下に説明するステップS102〜S110の処理を行う。なお、制御部4は、ステップS101〜S110の処理を、切り出し手段40が切り出す窓画像の数だけ繰り返して実行する。
ステップS101にて切り出し手段40が窓画像を切り出すと、制御部4は個別認識手段41-1,41-2,…,41-Kとして機能し、当該窓画像が個別認識手段41-1,41-2,…,41-Kに入力される(ステップS102)。個別認識手段41-1,41-2,…,41-Kのそれぞれは、入力された窓画像から特徴量を抽出し(ステップS103)、さらに自身に割り当てられている識別器を認識器記憶手段30から読み出し、読み出した識別器に抽出した特徴量を入力して出力値である尤度を取得する(ステップS104)。
制御部4は統合認識手段42として機能し、個別認識手段41-1,41-2,…,41-Kが算出した尤度が統合認識手段42に入力される。統合認識手段42の選択手段420は、各尤度が肯定値であるか否定値であるかを判定し、肯定値どうしの識別器の組および否定値どうしの識別器の組を選択する(ステップS105)。
統合認識手段42の重み付け手段421-1,421-2,…,421-Kは、選択手段420が選択した組の識別器それぞれの尤度に当該識別器の組に対応して予め設定された独立度合いを乗算して乗算結果を出力し、選択手段420が選択しなかった識別器の組の尤度はそのまま出力する(ステップS106)。
統合認識手段42の総和手段422は重み付け手段421-1,421-2,…,421-Kの出力を総和して総和値を算出する(ステップS107)。
統合認識手段42の判定手段423は、総和手段422が算出した総和値に基づき窓画像が人画像であるか否かを判定する(ステップS108)。判定の結果が「人画像」であれば撮影領域における人の存在を認識したとして(ステップS108にて「Yes」の場合)、判定手段423は認識信号を生成して出力部5に出力する(ステップS109)。この場合、制御部4は処理をステップS100に戻して次の撮影画像の認識処理に移る。他方、判定の結果、「人画像」でなければ(ステップS108にて「No」の場合)、ステップS109を省略してステップS110に処理が進められる。
制御部4は、予め定められた全ての位置および大きさの窓画像を全て切り出したか否かを判定する。窓画像を全て切り出していなければ(ステップS110にて「No」の場合)、制御部4は、処理をステップS101に戻してステップS101〜S110の処理を繰り返す。一方、窓画像を全て切り出していれば(ステップS110にて「Yes」の場合)、制御部4は、侵入者は検出されなかったものとして、処理をステップS100に戻して次の撮影画像の取得を待つ。
[第一の実施形態の変形例]
(1)上記第一の実施形態では、統合認識手段42の重み付け手段421-1〜421-Kが個別認識手段41-1,41-2,…,41-Kの出力値を独立度合いで重み付けて総和する例を示したが、別の実施形態においては重み付けを省略し、総和手段422は選択手段420が選択した認識器の組の独立度合いそのものの和を計算してもよい。この場合、統合認識手段42は、選択した認識器の組の独立度合いの和を、選択した組数で除して総合評価値Scoreを算出する。
(2)上記第一の実施形態およびその変形例においては、個別認識手段41-1,41-2,…,41-Kが同じ種類の識別器を用いる例を示したが、例えば、1番目の識別器はSVM法により学習した識別器、2番目の識別器はRBFネットワーク型の識別器、…というように個別認識手段ごとに異なる種類の識別器を用いても良い。
(3)上記第一の実施形態およびその変形例においては、人の画像を識別する例を示したが、所定対象と入力データはこれに限らない。例えば、人の顔の画像とそれ以外の画像の識別、マスクを着用した顔の画像とそれ以外の画像の識別、悲鳴の音声信号とそれ以外の音響信号の識別、人の動きを含んだドップラー信号とそれ以外の信号の識別など、様々な認識対象および入力データの識別の用途に本発明を適用できる。
(4)上記第一の実施形態およびその変形例においては、1種類の入力データで識別を行う例を示したが、異なる種類のデータを組み合わせて識別を行うこともできる。例えば、可視画像と熱画像から人画像とそれ以外を識別する、可視画像と距離画像から人の姿勢を識別する、ハイパースペクトルカメラで生体か人工物かを識別する、画像と音声から暴れ行動とそれ以外の行動を識別する、など、様々な用途に本発明を適用できる。
[第二の実施形態]
以下、第二の実施形態について、第一の実施形態の構成に対応するものについては同一の符号を付し、共通する内容については説明を省略して、第一の実施形態との相違点を中心に説明する。
第一の実施形態に係る対象認識装置1は、人画像を認識対象とし、窓画像が人画像であるか否かを識別する識別器の出力値を用いて、監視空間における人の存在を認識するものであった。この第一の実施形態の対象認識装置1において、識別器は、入力データに現れている対象を認識するために、入力データが2以上のクラスのそれぞれに帰属することの尤もらしさを表す値を出力する認識器であり、また、統合認識手段42の選択手段420は、肯定値域であるか否定値域であるかの出力種別が同一である出力値の組み合わせを、類似する出力値の組み合わせとして選択する。
これ対し、第二の実施形態に係る対象認識装置1は、人の年齢を認識対象とし、窓画像に写る人の顔の特徴から年齢を推定する推定器の出力値を用いて、監視空間に存在する人の年齢を認識する。この第二の実施形態の対象認識装置1における推定器は、入力データに現れている対象を認識するために、連続値で表される対象の範囲内の、入力データが有する特徴に対応する値を出力する認識器であり、また、統合認識手段42の選択手段420は、出力値に対して予め定められた推定誤差範囲どうしが重複する出力値の組み合わせを、類似する出力値の組み合わせとして選択する。
以下、第二の実施形態の対象認識装置1の構成を説明する。第二の実施形態の対象認識装置1の概略構成は第一の実施形態と同様に図1で表される。ただし、制御部4は、監視空間に人が存在する場合に、その人の年齢を推定し、推定した年齢の情報を認識信号に含ませて出力部5に出力する。
また、第二の実施形態の対象認識装置1の機能ブロックは第一の実施形態と同様に図2で表される。ただし、それぞれの手段が記憶する情報や行う処理の具体例は異なり、以下、図2に示す機能ブロックの各手段の第二の実施形態における構成を説明する。
切り出し手段40は、撮影画像から人の顔が撮影されている顔画像を切り出し、切り出した顔画像をK個の個別認識手段41-1,41-2,…,41-Kのそれぞれに出力する。つまり、当該顔画像が第二の実施形態の対象認識装置1における入力データとなる。切り出し手段40は、撮影画像中で検知したい顔サイズの範囲に応じて予め定めた複数通りの倍率で撮影画像を拡大および縮小し、当該拡大・縮小した撮影画像の全域にて所定サイズの窓領域を移動させる。そして、窓領域内の画像が人の顔の特徴を有するか否かを判定し、人の顔の特徴を有すると判定した窓領域の画像を切り出す。顔画像のサイズすなわち幅および高さは、後述する推定器の学習に用いた学習画像のサイズと同一である。
認識器記憶手段30は、第一の実施形態と同様、それぞれが複数の学習データを用い入力データに対する認識結果を表す出力値を出力するよう学習した複数の認識器を記憶する。具体的には、認識器記憶手段30は複数個の認識器としてK個(ここでK>2)の推定器を記憶する。当該推定器はそれぞれ、顔画像が入力されると当該画像に撮影された人の年齢の推定値を出力する。
K個の推定器のそれぞれは、例えば、顔画像の特徴量を入力とし当該顔画像に撮影された人の年齢を出力とする線形回帰関数としてモデル化したSVMであり、上記線形回帰関数のパラメータを含んで構成され、予め、多数の顔画像(N枚の学習画像)の特徴量と当該顔画像に写る人の年齢とが対応付けられた学習データを用いて上記線形回帰関数のパラメータを機械学習している。
ただし、K個の推定器のそれぞれは、互いに特徴量を異ならせて学習しており、推定器を構成するパラメータは互いに異なるため、互いに性質が異なる。
例えば、不図示の学習手段が、認識処理に先立って以下の処理を行う。ここではK=4とし、これに対応して、学習画像に4種類のフィルタを施し、フィルタを施したそれぞれの画像から特徴量を抽出する。学習手段は、N枚の学習画像それぞれに互いにスケールと方向の組み合わせが異なる4種類の楕円ガウシアンフィルタを施して、フィルタを施した学習画像からLBP特徴量を抽出する。4種類の楕円ガウシアンフィルタは、例えば、図3を用いて説明した4種類のフィルタF1,F2,F3,F4とすることができる。
具体的には、フィルタF1を施して得たN枚分のLBP特徴量を用いた機械学習により1番目の推定器を学習し、フィルタF2を施して得たN枚分のLBP特徴量を用いた機械学習により2番目の推定器を学習し、フィルタF3を施して得たN枚分のLBP特徴量を用いた機械学習により3番目の推定器を学習し、フィルタF4を施して得たN枚分のLBP特徴量を用いた機械学習により4番目の推定器を学習する。
なお、線形回帰関数としてモデル化したSVMに代えて、回帰木としてモデル化したランダムフォレスト、ニューラルネットワーク法など種々の他のモデルを採用することもできる。
個別認識手段41は入力データである窓画像を複数の認識器それぞれに入力して認識器ごとの出力値を取得する。つまり、個別認識手段41-1,41-2,…,41-Kは、第一の実施形態と同様、それぞれが認識器記憶手段30に記憶されている複数の認識器のうちの対応する認識器に、入力データの特徴量を入力することによって、認識器ごとの出力値を取得し、統合認識手段42に出力する。
例えば、K=4とした上述の例では、任意の個別認識手段41-j(j=1,2,3,4)は、認識器記憶手段30からj番目の推定器を読み出すとともに、顔画像ごとに、当該顔画像にフィルタFjを施してフィルタリング後の顔画像からLBP特徴量を抽出し、顔画像ごとのLBP特徴量をj番目の推定器に入力することによって当該顔画像に対する推定値を取得する。
なお、LBP特徴量に代えて、ガボール(Gabor)特徴量や周波数特徴など他の種々の特徴量を採用することもできる。或いは上述した特徴量のうち2以上の特徴量を組み合わせて用いることもできる。ただし、学習で用いる特徴量と認識で用いる特徴量は整合させる。
独立度合い記憶手段31は、第一の実施形態と同様、認識器の組み合わせごとに一群のテストデータに対する出力値の相違度が高い組み合わせほど高く設定した独立度合いを記憶する。
具体的には、独立度合いは、認識器の各組み合わせに共通の一群のテストデータを用いて不図示の独立度合い算出手段によって以下のようにして算出され、認識器の組み合わせごとに一群のテストデータのうち当該組み合わせ内で認識器の出力値の差が所定値未満であったテストデータの数(一致数)が少ない組み合わせほど高い値に設定される。
まず、独立度合い算出手段はM枚のテスト画像の特徴量を抽出する。そして、独立度合い算出手段はM枚のテスト画像の特徴量を1〜K番目の推定器それぞれに入力し、推定器ごとにM個の推定値を取得する。さらに、独立度合い算出手段は全推定値の誤差の標準偏差σに応じた許容幅Aを算出する。すなわち、各テスト画像に対する推定値と当該テスト画像に撮影された人の年齢(真値)との差を求めて、全ての差の二乗和の平方根を平均して標準偏差σを算出し、標準偏差σに予め定めた定数αを乗じて2倍した許容幅A(=2ασ)を算出する。
独立度合い算出手段は互いに異なる推定器の組み合わせ全てについて、対応するテスト画像に対する推定値の差の絶対値がA未満である数を一致数として計数し、一致数を推定の個数Mで除した値の逆数を独立度合いとして算出する。ここで、推定値の差の絶対値がA未満であれば、(推定値±ασ)の範囲どうしが重複範囲を有することを意味する。そして、独立度合い算出手段は、算出した独立度合いを、算出元となった推定器の組み合わせを表す符号と対応付けて独立度合い記憶手段31に記憶させる。
なお、年齢層ごとに許容幅を異ならせ、推定誤差が大きな年齢層ほど大きく、推定誤差が小さな年齢層ほど小さな許容幅を設定することもできる。その場合は、真値の年齢層ごとに標準偏差を算出して許容幅を設定すればよい。また、独立度合い記憶手段31が記憶する独立度合いは、複数のテストデータに対する出力値の正規化相関値が低い組み合わせほど高く設定した独立度合いとすることもできる。
ちなみに、推定器を用いる認識の場合、一般に推定値が誤差を含むため正規化相関値に基づく独立度合いよりも一致数に基づく独立度合いの方が優れる。
統合認識手段42は、第一の実施形態と同様、個別認識手段41-1,41-2,…,41-Kが取得した出力値のうち所定基準を超えて類似している出力値の組み合わせを、当該組み合わせに対して設定されている独立度合いで重み付けて総和し、総和した値(総和値)を総合評価値とし、総合評価値に基づいて所定対象を認識する。
統合認識手段42の選択手段420は、入力データに対する個別認識手段41-1,41-2,…,41-Kの推定値の中で差が許容幅A未満である推定値どうしの組を選択する。
統合認識手段42の重み付け手段421-1,421-2,…,421-Kのうち選択手段420が選択した組の推定器に対応して設けられているものは当該推定器が出力する推定値に、当該推定器に対応して予め記憶されている独立度合いを乗算する。
統合認識手段42の総和手段422は、重み付け手段421-1,421-2,…,421-Kが重み付けを行った結果である、推定値と独立度合いの積と、重み付け手段421-1,421-2,…,421-Kが重み付けを行わなかった推定値とを総和して、総合評価値となる総和値を求める。
統合認識手段42の判定手段423は、総和値から推定値の重み付け平均値を求めることで最終的な年齢を判定し、出力する。具体的には、総和手段422が重みとして用いた独立度合いと、重み付けを行わなかった推定値の個数との和で、総和値を除した値を最終的な年齢とする。
次に第二の実施形態の対象認識装置1の動作について説明する。図6は第二の実施形態の対象認識装置1の概略の動作を示すフロー図である。
制御部4は、撮影部2に撮影領域を撮影させて撮影画像を取得する(ステップS200)。そして制御部4は切り出し手段40として機能し、撮影画像から顔画像を切り出す(ステップS201)。撮影画像に少なくとも1つの顔画像が含まれている場合には(ステップS202にて「Yes」の場合)、制御部4は全ての顔画像について以下のステップS203〜S211の処理を繰り返す。一方、撮影画像から顔画像を切り出せなかった場合には(ステップS202にて「No」の場合)、処理をステップS200に戻して次の撮影画像の取得を待つ。
制御部4はステップS201にて切り出された顔画像を順次、処理対象に設定し(ステップS203)、処理対象とした顔画像を全ての個別認識手段41に入力する(ステップS204)。つまり、制御部4は個別認識手段41-1,41-2,…,41-Kとして機能し、顔画像は個別認識手段41-1,41-2,…,41-Kに入力される。個別認識手段41-1,41-2,…,41-Kのそれぞれは、入力された顔画像から特徴量を算出し(ステップS205)、さらに自身に割り当てられている推定器を認識器記憶手段30から読み出し、読み出した推定器に抽出した特徴量を入力して出力値である年齢を算出する(ステップS206)。
制御部4は統合認識手段42として機能し、個別認識手段41-1,41-2,…,41-Kにより算出された年齢が統合認識手段42に入力される。統合認識手段42の選択手段420は、推定器が出力する年齢どうしを比較して、年齢の差が許容幅未満である推定器の組を選択する(ステップS207)。
統合認識手段42の重み付け手段421は選択した組の年齢を独立度合いで重み付けする(ステップS208)。具体的には、重み付け手段421-1,421-2,…,421-Kは、選択手段420が選択した組の推定器それぞれが出力する年齢に当該推定器の組に対応して予め設定された独立度合いを乗算して乗算結果を出力し、選択手段420が選択しなかった推定器の組の年齢はそのまま出力する。統合認識手段42の総和手段422は、重み付け手段421-1,421-2,…,421-Kから出力される値を総和して総和値を算出する。
統合認識手段42の判定手段423は、総和手段422が算出した総和値に基づき顔画像の人の年齢を判定し(ステップS209)、撮影領域における人の存在と当該人の年齢の情報とを含む認識信号を生成、出力する(ステップS210)。
制御部4は撮影画像から切り出された全顔画像について未処理のものがあれば(ステップS211にて「No」の場合)、ステップS203〜S210の処理を繰り返し、全画像について処理が完了した場合は(ステップS211にて「Yes」の場合)、処理をステップS200に戻して次の撮影画像の取得を待つ。
[第二の実施形態の変形例]
(1)上記第二の実施形態およびその変形例においては個別認識手段41-1,41-2,…,41-Kが共通する種類のモデルを用いる例を示したが、個別認識手段41-1,41-2,…,41-Kのそれぞれが異なる種類のモデルを用いても良い。
(2)上記第二の実施形態およびその変形例においては、顔画像から年齢を推定する例を示したが、所定対象と入力データはこれに限らない。例えば、顔画像から顔の向きを推定する、監視映像から車両の向きを推定する、監視映像から人の密度を推定する、音声から年齢を推定する、ドップラー信号から速度を推定するなど、様々な用途に本発明を適用できる。
(3)上記第二の実施形態およびその変形例においては、1種類の入力データで予測を行う例を示したが、異なる種類のデータを組み合わせて予測を行うこともできる。例えば、顔画像と音声から年齢を推定する、可視画像と熱画像から人の密度を推定するなど、様々な用途に本発明を適用できる。
[第一の実施形態と第二の実施形態に共通する変形例]
(1)上記第一、第二の実施形態およびその各変形例においては個別認識手段41-1,41-2,…,41-Kが共通する種類の特徴量を用いる例を示したが、個別認識手段41-1,41-2,…,41-Kのそれぞれが異なる種類の特徴量を用いても良い。
(2)上記第一、第二の実施形態およびその各変形例においては、学習データのデータセットは複数の認識器にて共通とする一方、当該学習データから抽出する特徴量を互いに異ならせ、複数の認識器のそれぞれを当該互いに異ならせた特徴量を用いて学習したものとする例を示したが、複数の認識器のそれぞれを互いに異なる学習データを用いて学習した複数の認識器としてもよい。例えば、互いに一部が共通する複数の学習画像からなるK個のデータセットのそれぞれを用いて学習したK個の識別器とすることができる。或いは、互いに共通する画像を含まない複数の学習画像からなるK個のデータセットのそれぞれを用いて学習したK個の識別器としてもよい。ちなみにその場合は学習画像や入力画像そのものを当該画像の特徴量とすることもできる。
(3)上記第一、第二の実施形態およびその各変形例においては、統合認識手段42の選択手段420が出力値が類似する認識器の組を全て選択する例を示したが、別の実施形態において選択手段420は、出力値が類似する認識器の組のうち、独立度合いが高いものから上位所定数の組のみを選択する。この方法は、認識器の数が多い場合に有効であり、独立性の高い認識器の組み合わせによる出力値をさらに強く強調できる。なお、その場合、総和手段422は重み付けを省略して、選択手段420が選択した認識器の組の出力値そのものの総和値を算出してもよい。
(4)上記第一、第二の実施形態およびその各変形例においては、統合認識手段42の総和手段422が選択手段420が選択しなかった出力値をも総和する例を示したが、別の実施形態において総和手段422は、選択手段420が選択した組の重み付け出力値のみを総和する。この方法も認識器の数が多い場合に有効であり、独立性の高い認識器の組み合わせによる出力値をさらに強く強調できる。
(5)上記第一、第二の実施形態およびその各変形例においては、所定基準を超えて類似した出力値が得られた整合組み合わせを選択する選択手段420を備えた統合認識手段42を示したが、整合組み合わせの選択を省略した統合認識手段42とすることもできる。その場合の統合認識手段42は、認識器の組み合わせの全てについて独立度合いを統合評価値に反映させる、或いは独立度合いが高いものから上位所定数の組の独立度合いのみを統合評価値に反映させる構成とすることができる。