以下、添付図面を参照して、本発明に係る画像処理装置及び対象物領域特定方法の実施例を説明する。なお、本実施例では、人物が写り込んだ静止画像から人物の領域(以下、「人物領域」と言う)と向きを特定する場合について説明するが、本発明は人物領域の特定に限定されるものではなく、車両等の他の対象物を特定する場合にも適用することができる。
まず、本実施例に係る人物領域の特定について説明する。図1は、本実施例に係る人物領域の特定についての説明図である。本実施例に係る画像処理装置は、カメラなどが撮像した静止画像を入力画像データとして用い、人物領域の特定を行う。
画像処理装置は、入力画像データから人物の像を含む矩形領域を切出す(1)。人物の像を含む矩形領域の切出しは、例えば向きの異なる人物の形状をそれぞれモデル化した複数のテンプレートを用意し、パターンマッチングで対象を探して周辺を切り出すことにより行えばよい。なお、パターンマッチングの手法については、SVMなどの機械学習や部分空間法など、任意の手法を用いることができる。矩形領域を切り出した後、画像処理装置は、矩形領域を複数の小領域に分割する領域分割を行う(2)。領域分割においては、対象の領域内の画素を色に基づいて分類し、同一分類の画素が連続する領域を1つの小領域とする。
画像処理装置は、領域分割により得られた複数の小領域から、人型となる小領域の組合せを算出する(3)。この組合せの算出には、人物の形状をモデル化したテンプレートを使用する。テンプレートは、前向き、横向きなど、人物の向きに応じて予め複数用意する。
具体的には、画像処理装置は、小領域の組合せと各テンプレートとの類似度を人型度合として算定する。この人型度合は、小領域の組合せによって形成される領域の形状が、どれだけ人型らしいかを示す指標となる。
画像処理装置は、各テンプレートについて、人型度合が最も高くなる小領域の組合せを算出する。図1に示した例では、前向きのテンプレートと横向きのテンプレートについて、それぞれ人型度合が最も高くなる小領域の組合せを算出している。
画像処理装置は、各テンプレートについて算出した小領域の組合せのうち、人型度合が最も高い小領域の組合せで形成される領域を人物領域として特定する(4)。図1では、前向きのテンプレートについて算出した小領域の組合せが人物領域となる。画像処理装置は、特定した人物領域に対し、さらに領域分割と小領域組合せ算出を行う。この繰り返しにより、人物領域を精度よく特定することができる。
領域分割と小領域組合せ算出の繰り返しは、所定の条件を満たした場合に終了する(5)。所定の条件としては、「人物領域に変化が無くなった場合、若しくは予め指定した回数の繰り返しを行った場合」を用いることが好適である。
所定の条件が満たされたならば、画像処理装置は、最終的に特定された人物領域に対応するテンプレートの向きを入力画像データ内の人物の向きとして特定する。そして、最終的に特定した人物領域と向きを出力する(6)。
このようにして特定された人物領域に対応する画像を入力画像データから抽出することで、画像処理装置は、入力画像データから人物の像を迅速かつ効率的に抽出することができる。また、抽出した人物の向きについても特定が可能である。
次に、本実施例に係る画像処理装置の構成について説明する。図2は、画像処理装置の構成を示すブロック図である。図2に示すように、画像処理装置20は、カメラ10と接続される。また、画像処理装置20は、記憶部21及び制御部22を有する。
記憶部21は、ハードディスク装置や不揮発性メモリ等の記憶デバイスであり、複数のテンプレートデータ21aと、1又は複数の登録データ21bを記憶する。
テンプレートデータ21aは、人物形状モデルデータと向きデータとを対応付けたデータである。人物形状モデルデータは、人物像の形状をモデル化したデータである。向きデータは、対応付けられた人物形状モデルデータ内の人物がどの方向を向いているかを示す。テンプレートデータ21aは、正面向き、横向き、後ろ向きなどの複数の向きについてそれぞれ1以上用意することが好適である。また、複数のテンプレートデータ21aがそれぞれ有する人物形状モデルデータは、人物像の大きさが同一となるように正規化されている。
人物形状モデルデータとして具体的にどのようなデータを用いるかは、人型度合の算定手法により異なる。本実施例では、人型度合の算定に部分空間法を用いる場合について説明を行うが、この場合には、人物形状モデルデータは、画素数を次元としたベクトルデータとなる。具体的には、人物の向きごとに人物形状モデルデータを生成する場合には、向きごとに例えばそれぞれ20枚の学習データを用意して、20次元の部分空間を得る。図3は、20次元の部分空間の基底を画像化したものである。人物形状モデルデータを画素数を次元としたベクトルデータとする場合には、「人物像の大きさが同一となるように正規化」する処理は、画素数を揃える、すなわち、各人物形状モデルデータで次元数を一致させる処理となる。なお、人型度合いの算定は、部分空間法に関わらず、他の画像照合方法を用いてもよい。他の画像照合方法を用いる場合には、態様ごとの平均画像やエッジ画像など、照合方法に応じた人物形状モデルデータが用いられる。また、照合方法に応じて正規化の要否やその方法が異なることになる。
図2に戻り、説明を続ける。登録データ21bは、登録画像データと向きデータとを対応付けたデータである。登録画像データは、照合の対象となる人物を予め撮像して得られた画像データである。向きデータは対応付けられた登録画像データ内の人物がどの方向を向いているかを示す。登録データ21bは、同一人物の複数の向きについてそれぞれ登録することが好ましい。
制御部22は、画像処理装置を全体制御する制御部であり、矩形領域切出部22a、領域分割部22b、小領域組合せ部22c、人型度合算定部22d、人物領域特定部22e、向き特定部22f、登録処理部22g及び照合処理部22hを有する。実際には、これらの機能部に対応するプログラムを図示しないROMや不揮発性メモリに記憶しておき、これらのプログラムをCPU(Central Processing Unit)にロードして実行することにより、矩形領域切出部22a、領域分割部22b、小領域組合せ部22c、人型度合算定部22d、人物領域特定部22e、向き特定部22f、登録処理部22g及び照合処理部22hにそれぞれ対応するプロセスを実行させることになる。
矩形領域切出部22aは、カメラ10が撮像した入力画像データから人物の像を含む矩形領域を切出す処理を行う。入力画像データからの矩形領域の切出しには、既に説明したように、向きの異なる人物の形状をそれぞれモデル化した複数のテンプレートを用意し、パターンマッチングで対象を探して周辺を切り出すことにより行う。なお、この切り出し用のテンプレートは、向きのみではなく大きさも異ならせておき、パターンマッチングにより人物像の大きさも判明する様に構成する。
矩形領域切出部22aは、切出した矩形領域の縦横比を維持しつつ、矩形領域内の人物像の大きさを人物形状モデルデータの大きさに合わせる正規化を行う。具体的には、パターンマッチングで判明した人物像の大きさが人物形状モデルデータの大きさに一致するように矩形領域の拡大縮小を行うことになる。かかる正規化により人物像の大きさと人物形状モデルデータとを略同一とすることができる。
領域分割部22bは、対象の領域を小領域に分割する処理部である。領域分割部22bが対象とする領域は、矩形領域切出部22aにより切り出された矩形領域や、後述する人物領域特定部22eにより出力された人物領域である。
領域分割部22bは、まず、対象の領域に含まれる画素を色に基づいて分類する。具体的には、領域分割部22bは、画素の色をRGBの輝度値に分離し、各輝度値を所定数のクラスに分類する。そして、RGBのクラスの組合せを画素のクラスとする。例えば、RGBそれぞれの輝度値を5つのクラスに分類すれば、各画素は125クラスのいずれかに分類されることになる。RGBの輝度値の分類の詳細については後述する。
領域分割部22bは、同一のクラスに分類された画素が連続する領域を1つの小領域とする。このようにして分割された小領域の内部は、同一の物体の一部であると仮定する。従って、人物領域は複数の小領域の組合せとなり、人物領域と背景領域との境界は、人物領域を形成する小領域の境界となる。
小領域組合せ部22cは、領域分割部22bによる分割の結果から人型となる小領域の組合せを算出する処理部である。具体的には、小領域組合せ部22cは、小領域をランダムに選択し、選択した小領域を背景領域として除外した場合に人型度合が増加するか否かを判定する。なお、本実施例では小領域をランダムに選択する場合を例に説明を行うが、諸領域の選択は所定の順番で行うこととしてもよい。
小領域組合せ部22cは、選択した小領域を除外した場合に人型度合が増加するならば、選択した小領域を背景領域とし、人型度合が増加しなければ、選択した小領域を人物領域とする。小領域組合せ部22cは、かかる判定を全ての小領域について行い、人物領域として残る小領域の組合せを求める。すなわち、小領域組合せ部22cは、領域分割部22bによる分割の結果から背景領域を削り、より人型らしい小領域の組合せを求めることになる。
ここで、小領域組合せ部22cは、複数のテンプレートデータ21aを順次選択し、選択したテンプレートデータ21aを使用した場合に最も人型度合が高くなる小領域の組合せを求める。そして、複数のテンプレートデータ21aについてそれぞれ得られた小領域の組合せのうち、人型度合が最も高い小領域の組合せを人物領域特定部22eに出力する。
人型度合算定部22dは、小領域組合せ部22cが判定に用いる人型度合を算定する処理部である。人型度合算定部22dは、小領域の組合せによって形成される領域の形状と小領域組合せ部22cにより選択されたテンプレートデータ21aの人物形状モデルデータとの類似度を人型度合として算定する。
人物領域特定部22eは、小領域組合せ部22cにより出力された小領域の組合せを結合し、1つの人物領域とする。人物領域特定部22eは、結合により得られた人物領域を領域分割部22bに出力する。これにより、1つの人物領域は改めて小領域に分割され、その後、小領域組合せ部22cによる組合せが行われる。
人物領域特定部22eは、所定の条件を満たした場合には、結合により得られた人物領域を最終の人物領域として特定する。この最終の人物領域は、領域分割部22bによる分割、小領域組合せ部22cによる組合せ、人物領域特定部22eによる結合を一連の処理として複数回繰り返した場合に、人型度合が最も高い小領域の組合せである。所定の条件としては、「領域分割部22b及び小領域組合せ部22cによる処理の前後で人物領域に変化がない場合、若しくは領域分割部22b及び小領域組合せ部22cによる処理を予め指定された回数反復した場合」とすることが好適である。
向き特定部22fは、人物領域特定部22eにより最終の人物領域が特定された場合に、最終の人物の向きを特定する処理部である。具体的には、向き特定部22fは、最終の人物領域の人型度合を算定する際に使用したテンプレートデータ21aを選択し、選択したテンプレートデータ21aの向きデータを最終の人物の向きデータとして特定する。すなわち、人型度合が最も高い小領域の組合せに対応するテンプレートの向きデータが特定されることになる。
登録処理部22gは、登録データ21bを記憶部21に登録する処理部である。ここで、画像処理装置20は、登録モードと照合モードのいずれかの動作モードで動作する。登録モードは、カメラ10からの入力画像データを登録に用いる動作モードである。照合モードは、カメラ10からの入力画像データを照合に用いる動作モードである。
登録処理部22gは、画像処理装置20が登録モードで動作している場合に、人物領域特定部22eにより特定された最終の人物領域に対応する画像データを入力画像データから抽出し、登録画像データとする。そして、向き特定部22fにより特定された向きデータを登録画像データに対応付けて登録データ21bを生成し、記憶部21に格納する。このとき、登録の対象となる人物の氏名等の入力を受け付けて登録データ21bに対応付けてもよい。
照合処理部22hは、カメラ10からの入力画像データを用いて照合を行う処理部であり、画像処理装置20が照合モードで動作している場合に使用される。照合処理部22hは、まず、人物領域特定部22eにより特定された最終の人物領域に対応する画像データを入力画像データから抽出し、照合画像データとする。そして、向き特定部22fにより特定された向きデータに基づいて登録データ21bを参照し、向きデータが一致する登録データ21bを選択する。
照合処理部22hは、選択した登録データ21bの登録画像データと照合画像データとを比較し、照合値を算定する。照合値の算定には、相互相関を求めるなど、画像照合に用いられる任意の手法を用いることができる。なお、本実施例では、登録画像データと照合画像データとが似ているほど高い照合値が得られるものとする。
照合処理部22hは、照合値が閾値を超える登録データ21bが存在するならば、該登録データ21bに示された人物と入力画像データに含まれる人物とが同一であるとの照合結果を出力する。登録データ21bに氏名等が対応付けられていれば、対応付けられた氏名等を合せて出力可能である。
このように、画像処理装置20は、入力画像データから人物を精度よく抽出するとともに人物の向きを特定し、人物と向きを対応付けて登録することができる。また、照合に際しては、向きが一致する登録データ21bを選択して照合を行うことにより、照合の精度を高めることができる。
次に、画像処理装置20の処理手順について説明する。図4は、画像処理装置20の処理手順を示すフローチャートである。カメラ10から入力画像データを受け付けると、矩形領域切出部22aは、入力画像データから人物の像を含む矩形領域を切出す(ステップS101)。また、矩形領域切出部22aは、切出した矩形領域内の人物像の大きさを人物形状モデルデータの大きさに合わせる(ステップS102)。このとき、矩形領域の縦横比は維持する。このように切出して正規化された矩形領域が、ステップS103における対象の領域となる。
領域分割部22bは、対象の領域に含まれる画素をRGBの輝度値に基づいて分類する画素分類処理を行う(ステップS103)。領域分割部22bは、同一のクラスに分類された画素が連続する領域を1つの小領域とすることで、対象の領域を小領域に分割する(ステップS104)。具体的には、上記のステップS103により、各画素が属するR、G、Bそれぞれのクラスが特定されるため、注目画素のR、G、Bのクラスと、該注目画素の4近傍に位置する隣接画素のR、G、Bのクラスとがそれぞれ一致する場合には、同一の小領域として連結することになる。
小領域組合せ部22cは、対象の領域内に所在する小領域を組合せ、人型となる小領域の組合せを算出する小領域組合せ算出処理を行う(ステップS105)。小領域組合せ算出処理の詳細については後述するが、小領域組合せ算出処理では、向きの異なる複数のテンプレートデータ21aを順次選択し、選択したテンプレートデータ21aを使用した場合に最も人型度合が高くなる小領域の組合せを求める。そして、複数のテンプレートデータ21aについてそれぞれ得られた小領域の組合せのうち、人型度合が最も高い小領域の組合せを処理結果として出力する。人物領域特定部22eは、小領域組合せ算出処理により得られた小領域の組合せを結合し、人物領域を特定する(ステップS106)。
人物領域特定部22eは、以前に特定した人物領域がメモリ等に保持されているならば、ステップS106で新たに特定した人物領域が以前に特定した人物領域から変化しているか否かを判定する(ステップS107)。
以前に特定した人物領域が存在しない、若しくは新たに特定した人物領域が以前に特定した人物領域から変化している場合(ステップS107;Yes)、人物領域特定部22eは、新たに特定した人物領域をメモリ等に保持させ、人物領域の特定を予め指定した回数反復したかを判定する(ステップS108)。
人物領域の特定回数が予め指定した回数に満たないならば(ステップS108;No)、人物領域特定部22eは、新たに特定した人物領域を領域分割部22bに出力することで、ステップS103に移行する。
新たに特定した人物領域が以前に特定した人物領域から変化していない場合(ステップS107;No)、若しくは人物領域の特定を予め指定した回数反復した場合(ステップS108;Yes)、人物領域特定部22eは、新たに特定した人物領域を最終の人物領域とする。
人物領域特定部22eにより最終の人物領域が特定されると、向き特定部22fは、最終の人物領域の人型度合を算定する際に使用したテンプレートデータ21aを選択し、選択したテンプレートデータ21aの向きデータを最終の人物の向きデータとして特定し(ステップS109)、処理を終了する。最終の人物領域と最終の人物の向きデータは、この後、登録や照合に用いられる。
次に、図4のステップS103に示した画素分類処理について詳細に説明する。領域分割部22bは、まず、画素の色をRGBの輝度値に分離することで、RGBにそれぞれ対応する単色の領域画像データを生成する。そして、単色の領域画像データを用いた輝度値のクラス分類処理をRGBそれぞれについて行う。この結果、RGBの輝度値は、それぞれ所定数のクラスに分類される。その後、領域分割部22bは、RGBのクラスの組合せを画素のクラスとする。
図5は、単色の領域画像データを用いた輝度値のクラス分類処理の処理手順を示すフローチャートである。まず、領域分割部22bは、単色の領域画像データから輝度値のヒストグラムを生成する(ステップS201)。なお、本実施例では、輝度値は0〜255の値をとるものとする。
領域分割部22bは、各クラスに属する輝度値が正規分布をとり、ヒストグラムが各クラスの正規分布の重ね合せであるものとして、クラスの設定を行う。具体的には、領域分割部22bは、ヒストグラムのピークをクラスの数だけ選択し、各クラスの平均輝度値μk及び標準偏差σkを初期化する(ステップS202)。ここで、kはクラスを示す。例えば、クラスの数が5であれば、1≦k≦5である。初期化においては、クラスの平均輝度値μkは、対応するピークの輝度値とする。また、クラスの標準偏差σkは、ヒストグラムにおいて隣接するクラスとの平均輝度値の差の半分とする。
平均輝度値μ
k及び標準偏差σ
kを初期化し、各画素が属するクラスの初期値をランダムに与える。領域分割部22bは、領域画像データから注目画素を選択する(ステップS203)。選択した注目画素の座標を(i,j)とする。領域分割部22bは、注目画素について、各クラスに属する確率P(k)を求める(ステップS204)。各クラスに属する確率P(k)は、次の式により求められる。
ここで、E
d(k)は、注目画素の輝度値x
i,jをクラスの分布に対して評価した値であり、
により求められる。なお、パラメータTは、クラスの平均輝度値μ
k及び標準偏差σ
kの更新回数をtとして、T=4.0/ln(e+t)により定まる。初期化時点では、t=0である。
E
m(k)は、注目画素と隣接画素の輝度値の差を評価した値であり、
により求められる。ここで、ne(x
i,j)は、座標(i,j)の隣接画素の集合であり、Class(x)は画素xの属するクラスである。
領域分割部22bは、注目画素について各クラスに属する確率P(k)を求めた後、最大の確率P(k)をもつクラスkを注目画素のクラスとする(ステップS205)。その後、領域分割部22bは、領域画像データの全ての画素を注目画素として選択したか否かを判定する(ステップS206)。未選択の画素が残っていれば(ステップS206;No)、領域分割部22bは、ステップS203に移行し、注目画素を選択する。
全ての画素を注目画素として選択済であるならば(ステップS206;Yes)、領域分割部22bは、各画素に対するクラス分類の結果を用い、各クラスの平均輝度値μk及び標準偏差σkを更新する(ステップS207)。この更新により、更新回数tはインクリメントされる。
ステップS207の後、領域分割部22bは、以前に行った各画素のクラス分類の結果がメモリ等に保持されているならば、新たなクラス分類の結果が以前のクラス分類の結果と異なっている画素が存在するか否かを判定する(ステップS208)。
以前に行った各画素のクラス分類の結果が存在しない、若しくは新たなクラス分類の結果が以前のクラス分類の結果と異なる画素が存在する場合(ステップS208;Yes)、領域分割部22bは、新たに行った各画素のクラス分類の結果をメモリ等に保持させ、更新回数tが予め指定された値に達したか否かを判定する(ステップS209)。
更新回数tが予め指定された値に達していなければ(ステップS209;No)、領域分割部22bは、領域画像データの全ての画素を未選択の状態とし、ステップS203に移行する。
新たなクラス分類の結果が以前のクラス分類の結果と異なる画素が存在しない場合(ステップS208;No)、若しくは更新回数tが予め指定された値に達した場合(ステップS209;Yes)、領域分割部22bは、単色の領域画像データを用いた輝度値のクラス分類処理を終了する。
図6は、平均輝度値μk及び標準偏差σkの初期化についての説明図である。図6では、単色の領域画像データから生成した輝度値のヒストグラムを示している。また、図6では、クラスの数を5とし、k=1からk=5までの5つのピークをヒストグラムから選択した状態を示している。
各クラスの平均輝度値μkは、対応するピークの輝度値である。また、クラスの標準偏差σkは、ヒストグラムにおいて隣接するクラスとの平均輝度値の差の半分としている。なお、隣接するクラスが2つ存在する場合には、平均輝度値の差が小さい方を採用する。
次に、図4のステップS105に示した小領域組合せ算出処理について詳細に説明する。図7は、小領域組合せ算出処理の処理手順を示すフローチャートである。まず、小領域組合せ部22cは、複数のテンプレートデータ21aからテンプレートデータ21aを1つ選択する(ステップS301)。また、小領域組合せ部22cは、人物領域の候補を設定する(ステップS302)。なお、初回の人物領域の候補の設定では、領域分割部22bによる分割の結果として得られた全ての小領域を人物領域の候補に設定し、2回目以降は後述するステップS310の時点で人物領域として選択されている小領域を改めて人物領域の候補として設定とする。
さらに、小領域組合せ部22cは、人物領域の候補として設定された全ての小領域からなる小領域の組合せと、選択したテンプレートデータ21aとを用いて人型度合を算定する人型度合算定処理を人型度合算定部22dに行わせ(ステップS303)、人型度合の初期値としてメモリ等に保持させる。
その後、小領域組合せ部22cは、人物領域の候補である小領域をランダムに選択し(ステップS304)、選択した小領域を背景領域とする(ステップS305)。そして、背景領域を除外した小領域の組合せと、選択したテンプレートデータ21aとを用いて人型度合を算定する人型度合算定処理を人型度合算定部22dに行わせる(ステップS306)。
小領域組合せ部22cは、ステップS306により算定された人型度合とメモリに保持された人型度合とを比較し、人型度合が増加したか否かを判定する(ステップS307)。
人型度合が増加したならば(ステップS307;Yes)、ステップS304で選択した小領域を背景領域として確定し(ステップS308)、メモリ等に保持された人型度合を更新する。一方、人型度合が増加していなければ(ステップS307;No)、ステップS304で選択した小領域を人物領域とする(ステップS309)。このときには、メモリ等に保持された人型度合の更新は行わない。
ステップS308又はステップS309の後、小領域組合せ部22cは、全ての小領域が選択済であるか、すなわち、人物領域の候補のまま残った小領域がないかを判定する(ステップS310)。未選択の小領域が残っているならば(ステップS310;No)、小領域組合せ部22cは、ステップS304に移行し、人物領域の候補である小領域をランダムに選択する。
全ての小領域が選択済であるならば(ステップS310;Yes)、小領域組合せ部22cは、人物領域として残った小領域の組合せに変化があるか否かを判定する(ステップS311)。具体的には、小領域組合せ部22cは、以前に求めた小領域の組合せがメモリ等に保持されているならば、ステップS302〜ステップS309で新たに求めた小領域の組合せが以前に求めた小領域の組合せから変化しているか否かを判定する。
以前に求めた小領域の組合せが存在しない、若しくは新たに求めた小領域の組合せが以前に求めた小領域の組合せから変化している場合(ステップS311;Yes)、小領域組合せ部22cは、新たに求めた小領域の組合せをメモリ等に保持させ、ステップS302〜ステップS309の処理を予め指定した回数反復したかを判定する(ステップS312)。
ステップS302〜ステップS309の処理の反復が予め指定した回数に満たないならば(ステップS312;No)、小領域組合せ部22cは、ステップS302に移行し、ステップS302からの処理を再度実行する。
新たに求めた小領域の組合せが以前に求めた小領域の組合せから変化していない場合(ステップS311;No)、若しくはステップS302〜ステップS309の処理を予め指定した回数反復した場合(ステップS312;Yes)、小領域組合せ部22cは、メモリ等に保持された小領域の組合せ及び人型度合を選択中のテンプレートデータ21aに対応付け、テンプレートデータ21aを全て選択済であるか否かを判定する(ステップS313)。
未選択のテンプレートデータ21aが残っている場合(ステップS313;No)、小領域組合せ部22cは、ステップS301に移行し、未選択のテンプレートデータ21aからいずれかを選択する。
テンプレートデータ21aを全て選択済である場合(ステップS313;Yes)、小領域組合せ部22cは、テンプレートを対応付けられた人型度合の高い順にソートする(ステップS314)。そして、対応付けられた人型度合の低いテンプレートを選択対象から除外することで、小領域組合せ算出処理を繰り返した場合に使用されるテンプレート数を削減する(ステップS315)。例えば、使用されるテンプレート数を半分にすればよい。その後、小領域組合せ部22cは、人型度合が最も高い小領域の組合せを出力し(ステップS316)、小領域組合せ算出処理を終了する。
既に説明したように、小領域組合せ算出処理の出力として得られた小領域の組合せは、人物領域特定部22eにより結合され、領域分割部22bにより分割され、再度小領域組合せ算出処理を行なうことになる。このため、ステップS315によりテンプレート数を削減することで、以降の小領域組合せ算出処理を高速化することができる。分割、組合せ、結合の処理を繰り返したとしても、元々の人物の像自体は同一であり、人型度合が低く算定されるテンプレートは以降の処理でも人型度合が顕著に高くなることを見込めないからである。
次に、図7のステップS303及びS306に示した人型度合算定処理について詳細に説明する。図8は、人型度合算定処理の処理手順を示すフローチャートである。人型度合算定部22dは、小領域のうち、人物領域及び人物領域の候補を「1」、背景領域を「0」としてシルエット画像を生成する(ステップS401)。
人型度合算定部22dは、シルエット画像を入力ベクトルに変換する(ステップS402)。入力ベクトルへの変換では、各画素を次元とし、画素の値を対応する次元の値とする。すなわち、縦n画素、横m画素のシルエット画像からは、n×m次元の入力ベクトルが求められ、各次元の値は「0」又は「1」となる。
人型度合算定部22dは、入力ベクトルを人物形状モデルデータの部分空間に射影し、射影ベクトルを求める(ステップS403)。人型度合算定部22dは、入力ベクトルと射影ベクトルのなす角の余弦を人型度合として算定し(ステップS404)、人型度合算定処理を終了する。
図9は、人型度合算定処理についての説明図である。図9に示すように、人物領域及び人物領域の候補を「1」、背景領域を「0」として二値化することで、シルエット画像が生成される。人型度合算定部22dは、シルエット画像を入力ベクトルvに変換する。シルエット画像のサイズが縦48画素、横96画素であれば、入力ベクトルvは48×96次元のベクトルとなる。
人型度合算定部22dは、入力ベクトルvを人物形状モデルデータの部分空間Lに射影し、射影ベクトルpvを求める。図9では、部分空間Lを張る基底が2つの場合を示している。人型度合算定部22dは、入力ベクトルvと射影ベクトルpvのなす角θからcosθを計算する。人型度合算定部22dは、このcosθを人型度合とする。
このように、本実施例では人型度合の算定に部分空間法を用いている。そのため、テンプレートデータ21aが有する人物形状モデルデータは、例えば画素数を次元としたベクトルデータとして持つことができる。なお、人型度合いの算定は、部分空間法に関わらず、他の画像照合方法を用いてもよい。他の画像照合方法を用いる場合には、態様ごとの平均画像やエッジ画像など、照合方法に応じた人物形状モデルデータが用いられる。
次に、領域分割の繰り返しによる効果について説明する。図10は、領域分割の繰り返しによる効果についての説明図である。図10では、入力画像データうち4つの小領域(小領域a、小領域b、小領域c、小領域d)を例示している。なお、ここでは説明を簡明にするため、クラスが2つである場合について説明する。
4つの小領域のうち、小領域aは人物領域とすべき領域であり、小領域b、小領域c、小領域dは背景領域とすべき領域であるものとする。また、各領域はRGBで分離された後の単色であるものとする。さらに、小領域aは小領域bのみと隣接し、小領域bは小領域a及び小領域cのみと隣接し、小領域cは小領域b及び小領域dのみと隣接し、小領域dは小領域cのみと隣接しているものとする。
各小領域の輝度値を個別にヒストグラムにとると、小領域cの輝度値は他の小領域よりも顕著に大きいが、他の小領域(a,b,d)の輝度値は類似している。このため、全体のヒストグラムでは、小領域a、小領域b、小領域dの区別をつけることはできない。
したがって、1回目の領域分割の結果では、小領域a、小領域b、小領域dはクラスC1に分類され、小領域cのみがクラスC2となる。そして、小領域aと小領域bは同一クラスで隣接しているため、1回目の領域分割では1つの小領域となる。小領域cは、クラスが異なるために別の小領域となり、小領域dはクラスが同一の小領域a及び小領域bと隣接していないために別の小領域となる。
1回目の領域分割の結果を受けて組合せを算出し、背景領域を除外すれば、小領域aと小領域bが残る。人物領域とすべき小領域aと背景領域とすべき小領域bが1回目の領域分割では1つの小領域とされたためである。
1回目の組合せ算出により残された小領域aと小領域bに対して、2回目の領域分割を行なえば、小領域c及び小領域dの輝度値が除外されたため、全体のヒストグラムで小領域aと小領域bを区別しやすくなっている。このため、小領域aと小領域bを異なるクラスに分類することができ、2回目の組合せ算出を行なえば小領域bを背景領域として除外できる。
上述してきたように、本実施例に係る画像処理装置20は、対象の画像データを複数の小領域に分割処理し、各小領域が人物の一部であるか否かを判定し、人物の一部であると判定された領域の組合せからなる人物領域を特定する。このため、1枚の静止画像から迅速かつ効率的に人物を抽出することができる。
また、本実施例に係る画像処理装置20は、各小領域が人物の一部であるか否を判定する場合に、顔などの特定の部位を検出する必要が無く、全ての小領域を判定対象とする。このため、顔部分の解像度が低い場合や後ろ向きで顔が写っていない場合などであっても人物領域の特定が可能となる。
なお、本実施例では、人物領域の特定を例に説明を行ったが、本発明は人物領域の特定に限定されるものではなく、車両等の他の対象物を特定する場合にも適用することができる。
また、本実施例では、人物形状モデルデータに向きデータを対応付け、人物の向きを特定する場合を例に説明を行ったが、向きに限らず、姿勢などの態様を特定する場合にも適用可能である。すなわち、姿勢など対象物の形状に影響を与える要素毎にテンプレートを用意し、対象物領域の特定を行えば、特定した対象物領域に対応するテンプレートから姿勢などの要素を特定できるのである。このとき、向きと姿勢の組合せなどを要素としてもよい。
また、本実施例では、カラー画像を処理の対象とし、RGBの輝度値をそれぞれ所定数のクラスに分類する場合を例に説明を行ったが、単色の濃淡画像を処理の対象とすることもできる。この場合には、画素の濃淡を示す輝度値を所定数のクラスに分類することになる。
また、本実施例に図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部または一部を各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
例えば、対象物領域を特定する装置と照合を行う装置とを分離してもよい。また、テンプレートデータと登録データを異なる記憶部に記憶させることとしてもよい。さらに、各種データをネットワーク経由で取得する構成であってもよい。
また、本実施例に示した各処理は適宜変形して実施することができる。例えば、本実施例では、テンプレートデータ21aにおける人物形状モデルデータの大きさを統一しておき、入力画像データから切り出した人物像の大きさを人物形状モデルデータに合わせて正規化する処理を例示した。この処理の変形例として、入力画像データから人物像をそのままの大きさで切出し、人物形状モデルデータの大きさを異ならせて用意した複数のテンプレートデータ21aから適切なテンプレートデータ21aを選択してもよい。