(58)【調査した分野】(Int.Cl.,DB名)
前記候補数算出手段は、前記検出された顔領域における顔向き、又は顔の解像度を前記人物情報の人物の顔の特徴との照合に向いた撮像条件を示す評価指標値とし、当該評価指標値に対応した前記候補数を算出する、
請求項1に記載の人物認識装置。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して実施形態の人物認識装置、及び方法を詳細に説明する。実施形態の人物認識装置、及び方法は、街頭や建物、公共エリアなどに設置されている防犯カメラ(以下、カメラ)の映像に写り込んだ人物を、予め記憶されている人物毎の顔の特徴を示す情報を参照して検索するシステムを想定している。なお、以下の実施形態では、カメラからの画像入力を例示するが、スキャナなどで読み取った画像を入力してもよいことは言うまでもないことである。
【0009】
また、本実施形態では、人物の顔の領域を検出して顔の特徴情報を利用することで課題を実現する手順を説明するが、顔以外にも人物領域全身を検出する公知技術を利用し、顔以外の画像領域を使って人物を判別する技術であれば本実施形態に記載した技術のみに限定されない。
【0010】
図1は、実施形態にかかる人物認識装置100の構成を例示するブロック図である。
図1に示すように、人物認識装置100は、入力部101と、検出部102と、特徴抽出部103と、特徴情報管理部104と、人物判定部105と、候補数算出部106と、出力部107とを備える。また、人物認識装置100は、カメラ150から撮像された動画像に基づいて、人物Hの認識を行う。
【0011】
カメラ150は、所定の領域に対して撮影を行う。例えば、カメラ150は、通行路の入退場対象エリアに対して撮影を行う監視カメラ等であり、撮影結果である動画像データを生成する。そして、入力部101は、カメラ150からの動画像データを入力処理する。
【0012】
カメラ150は、少なくとも1箇所、又は複数の地点に設置可能とする。また、カメラ150は、所定の領域に存在する人物の顔画像を入力するものであり、例えばITV(Industrial Television)カメラとする。カメラ150は、光学レンズを通して得られた光学的な情報をA/D変換器によりデジタル化して所定のフレームレートのフレーム画像データを生成し、人物認識装置100に対して出力する。また、検索対象となる人物の画像データは、結果的にデジタルの画像データとして人物認識装置100に入力されればよいので、デジタルスチルカメラで撮影した画像ファイルや動画ファイルをUSB(Universal Serial Bus)メモリ等の記憶媒体を経由して取り込んでもよい。
【0013】
検出部102は、入力部101より入力された画像データから人物の顔が表された顔領域を検出する。具体的には、検出部102は、入力画像内において、画像上の輝度情報を利用して顔の領域を示す座標を求める。ここでは顔検出に適した共起に基づくJoint Haar−like特徴の公知方法を利用することによって実現となるため、本手法を利用することを前提とする。
【0014】
また、顔の向きや大きさにより検出された結果を示す情報は任意の形状でかまわないが、本実施形態では簡単にするために、顔領域を矩形情報で示すこととし、その角の座標を検出結果として利用することとする。その他に予め用意されたテンプレートを画像内で移動させながら相関値を求めることにより、最も高い相関値を与える位置を顔領域とする方法、固有空間法や部分空間法を利用した顔抽出法などでも実現は可能である。
【0015】
また、カメラ150で撮像された動画像の場合には検出された同一人物の顔が複数のフレームにわたって連続して映っていることが想定されるため、それらを同一人物として対応付けできるように人物の顔の追跡処理を行う必要がある。この追跡処理としては、オプティカルフローを使って検出した顔が次のフレームでどの位置にいるか対応付けする手法を利用することで実現可能であり、後述の特徴抽出部103では同一人物として対応付けられた複数フレームの顔領域の画像の中から検索をするのに適切な少なくとも1枚の画像を選択する方法や、最大で検出されたフレーム数までの任意の枚数の画像を利用することが可能となる。
【0016】
さらに、検出部102は、検出された顔領域の部分の中から、目、鼻などの顔部位の位置を顔の特徴点として検出する。具体的には形状抽出とパタン照合の組合せによる顔特徴点抽出などの公知方法で実現可能である。また上記目・鼻の検出の他に口領域の検出については、高精度顔特徴点検出に基づくデジタルメイクシステムの公知技術を利用することで容易に実現が可能である。いずれの場合でも二次元配列状の画像として取り扱える情報を獲得し、その中から顔特徴の領域を検出することが可能である。また、これらの処理は1枚の画像の中から1つの顔特徴だけを抽出するには全画像に対してテンプレートとの相関値を求め、最大となる位置とサイズを出力すればよいし、複数の顔特徴を抽出するには画像全体に対する相関値の局所最大値を求め、一枚の画像内での重なりを考慮して顔の候補位置を絞り込み、最後は連続して入力された過去の画像との関係性(時間的な推移)も考慮して最終的に複数の顔特徴を同時に見つけることも可能となる。
【0017】
顔の向きの推定については顔の回転行列、顔の向き別に学習させた複数のクラス(部分空間)を利用して顔向きを推定することが可能である。
【0018】
図2は、人物Hの顔向きを例示する概念図である。先ず、顔向きについては、
図2に示すようなヨー方向(水平方向)21、ピッチ方向(上下方向)22、ロール方向(回転方向)23をそれぞれθ、φ、ψ[ラジアン]とする。顔向き推定では、これらθ、φ、ψの値が求められることとなる。
【0019】
特徴抽出部103は、検出部102で検出された顔領域から顔の特徴点を検出する。具体的には、特徴抽出部103は、検出された顔領域の部分の中から、目、鼻などの顔部位の位置を顔の特徴点として検出し、その情報を利用して顔の画像を傾きや大きさに関して一定の条件となるように正規化する。そして、特徴抽出部103は、その正規化画像を利用して顔の個人性を示す顔特徴情報を計算する。
【0020】
なお、顔検出の説明で述べたように、1名の歩行では同一人物として対応付けられて複数フレームの顔画像を取得することが可能である。複数の顔画像の中から1フレームまたは複数フレームを使って顔の特徴点同士の類似度を計算するために、画像を選択する際には、一般的には類似度が高くなりやすい画像を優先して選択することによって登録した人物であるかどうかを判別する。
【0021】
類似度が高くなりやすい指標としては、顔の向きが正面に近い状態であることや、顔が大きく映っている、無表情に近い状態、目つぶりや横目状態ではない、顔の隠ぺい物がない、顔の影ができていないといった指標をもとに選択する方法がある。顔の向きの推定については、顔の回転行列、顔の向き別に学習させた複数のクラス(部分空間)を利用して顔向きを推定することが可能である。これによって顔の角度がわかるため、顔の特徴点の一部が見えなくなるほど角度があるかどうかを推定することが可能である。顔の大きさは検出した顔画像のサイズをそのまま指標として利用できる。表情・目つぶり・横目・隠ぺい物の有無・影の有無の判別については、いずれも該当する顔画像を多数あつめ、理想的な状態かそうでないかを分類して該当クラスの平均画像、非該当クラスの平均画像をつくって入力された画像がどちらに近いか相関値の計算をすることやSupportVectorMachineといった判別技術で判別することが可能である。これらの指標を重みづけ加算するなどして照合に適切なフレームを優先的に選択することが可能である。また、事前にすべてのフレームの顔画像と該当する人物の登録された顔特徴情報との類似度を求めておき、重み付き線形和の式の係数を線形回帰で求めることによってどの指標が類似度に影響を与えるかの重みを計算させることで、より精度高く適切なフレームを選択することが可能となる。
【0022】
顔の目や鼻といった点を顔特徴点として検出する方法としては、形状抽出とパタン照合の組合せによる顔特徴点抽出などの公知方法で実現可能である。また、顔特徴点をもとに顔画像を正規化する処理として、顔の平均3次元モデルを利用して顔の向きや状態を意図的に変動させた画像を作成することによって向きを任意の方向に補正した画像を作成する手法を適用してもよい。この場合、前述の公知方法ではなく検出する顔特徴点の数を増やすことにより正規化の精度を高めることが可能となる。
【0023】
正規化された画像から個人の特徴を示す顔特徴情報を抽出する方法として、1枚の人物画像情報に対してモデルを利用して顔の向きや状態を意図的に変動させた画像を作成することにより顔特徴情報を取得することが可能となる。一方で同一人物に対して連続した複数の画像を利用した動画像による計算をすることでより精度の高い認識処理が行うこともできる。具体的には相互部分空間法を用いる方法で説明する。
【0024】
入力部101より連続して得られた画像(フレーム)からm×nピクセルの画像を切り出しこれらのデータを特徴ベクトルの相関行列を求め、K−L展開による正規直交ベクトルを求めることにより、連続した画像から得られる顔の特徴を示す部分空間を計算する。部分空間の計算法は、特徴ベクトルの相関行列(または共分散行列)を求め、そのK−L展開による正規直交ベクトル(固有ベクトル)を求めることにより、部分空間を計算する。部分空間は、固有値に対応する固有ベクトルを、固有値の大きな順にk個選び、その固有ベクトル集合を用いて表現する。本実施形態では、相関行列Cdを特徴ベクトルから求め、相関行列Cd=ΦdΛdΦdTと対角化して、固有ベクトルの行列Φを求める。この情報が現在認識対象としている人物の顔の特徴を示す部分空間となる。このような方法で出力された部分空間のような特徴情報を入力された画像で検出された顔に対する個人の特徴情報とする。
【0025】
特徴情報管理部104は、人物毎に、その人物の顔の特徴を示す情報を含む人物情報を記憶する。具体的には、特徴情報管理部104は、人物判定部105で類似度を計算するときに利用する対象となるデータベースであり、検索対象となる人物ごとに顔の特徴を示す顔特徴情報を管理する。利用者が結果をみてわかりやすいように、各顔特徴情報に対応付けて、顔画像や名前、性別、年齢、身長など該当する人物に関する付随した情報を対応付けて管理することも可能である。顔特徴情報として実際に管理する内容は特徴抽出部103で出力されたデータそのものでよく、m×nの特徴ベクトルや、部分空間やKL展開を行う直前の相関行列でも構わない。
【0026】
人物判定部105は、特徴情報管理部104に記憶された情報に基づいて、特徴情報管理部104に記憶された人物の顔の特徴が特徴抽出部103で検出された顔の特徴点と類似する順に人物を抽出(検索)する。具体的には、人物判定部105は、特徴抽出部103で得られた入力画像の顔特徴情報と、対応する特徴情報管理部104で記憶された顔特徴情報との類似度の計算を行って、より類似度の高いものから順番に結果を返す処理を行う。
【0027】
人物判定部105は、この検索処理の結果として、類似度の高いものから順番に特徴情報管理部104で人物を識別するために管理されている人物ID、計算結果である類似度を返す。人物判定部105は、それに加えて特徴情報管理部104で人物ごとに管理されている情報を一緒に返すようにしてもかまわないが、基本的に人物IDにより対応付けが可能であるので検索処理自体では付属情報をやりとりすることはなくても実現が可能となる。
【0028】
類似度としては、顔特徴情報として管理されている部分空間同士の類似度合いを示す値とする。計算方法は、部分空間法や複合類似度法などの方法を用いてよい。この方法では、特徴情報管理部104に予め蓄えられた顔の特徴を示すデータも、特徴抽出部103より入力されるデータも複数の画像から計算される部分空間として表現され、2つの部分空間のなす「角度」を類似度として定義する。ここで入力される部分空間を入力手段分空間という。
【0029】
人物判定部105は、入力データ列に対して同様に相関行列Cinを求め、Cin=ΦinΛinΦinTと対角化し、固有ベクトルΦinを求める。二つのΦin、Φdで表される部分空間の部分空間間類似度(0.0〜1.0)を求め、これを認識するための類似度とする。具体的な計算方法については上述した公知方法で実現が可能である。また、あらかじめ同一人物と分かる複数の人物画像をまとめて部分空間への射影によって本人であるかどうかを識別することで精度を向上させることも可能である。また類似度以外の類似性指標としては特徴空間上での距離やマハラノビス距離といったものも利用可能であることはあきらかである。距離を利用した場合には数値が大きいほど類似性が低くなるため、閾値との比較方法としては閾値より小さければ小さいほど特徴情報管理部104に記憶された人物との類似性が高いことを示す。
【0030】
候補数算出部106は、検出部102で検出された顔領域の撮像条件に基づいて、人物判定部105で類似する順に抽出された人物の上位から候補とする候補数を算出する。ここで、候補数を「c」とし、その初期値を「n」とする。カメラ150より入力された画像に含まれる顔領域の撮影条件が人物判定部105の検索処理に不利な場合には、本人の特徴点と比較した場合の本人類似度が低くなり、本人類似度と、他人の特徴点と比較した場合の他人類似度の分布が重なることが多い。
【0031】
図3、
図4は、本人類似度と他人類似度の頻度分布を例示する図である。ここで、グラフB1は、本人類似度の頻度分布を示し、グラフB2は、他人類似度の頻度分布を示す。また、
図4の撮影条件は、
図3の撮影条件より悪いものとする。
図3、
図4を比較しても明らかなように、撮影条件が人物判定部105の検索処理に不利な場合には、グラフB1とグラフB2との重複部分が大きくなる。
【0032】
ここで、撮影条件を反映する評価指標としては、顔領域における顔向き、顔検出時のスコア、顔の解像度などがある。例えば、顔向きについては、特徴情報管理部104に記憶された人物の顔の特徴が正面向きである場合には、カメラ150に対して正面に向いた顔が照合に向いた撮影条件となる。また、顔の解像度については、顔の解像度の高い(顔領域の画素数が多い)場合が照合に向いた撮影条件となる。したがって、候補数算出部106は、顔向きが正面向きから離れる、又は顔の解像度が低下する場合に応じて候補数cを多く算出し、顔向きが正面向きになる、又は顔の解像度が増加する場合に応じて候補数cを少なく算出する。具体的には、候補数算出部106は、検出部102で検出された顔領域の撮像条件(顔向き、顔の解像度など)の値をもとに、候補数cの算出にかかる閾値を入力ごとに適応的に定めることにする。なお、類似度と相関を有するほかの画像特徴量についても以下の手続きは同様に適用できる。
【0033】
先ず、人物Hの顔向きについては、
図2に示すようなヨー方向(水平方向)21、ピッチ方向(上下方向)22、ロール方向(回転方向)23をそれぞれθ、φ、ψ[ラジアン]とする。そして、検出部102の出力する顔のサイズを縦方向と横方向でそれぞれx、y[画素]とする。このとき、顔向きが大きい場合(例えば正面向きから離れる場合)や顔のサイズが小さい場合(解像度が低くなる場合)は類似度が下がることがある。あらかじめ、特徴情報管理部104に記憶された各顔画像に対し、θ=θ1、θ2、…、θN、φ=φ1、…、φN、ψ=ψ1、…、ψN、(x、y)=(x1、y1)、…、(xN,yN)となるように顔向きやサイズを正規化したデータを準備しておく。候補数算出部106は、それらを入力としたときの本人類似度と他人類似度の頻度分布を求め、これらの各パラメータについて閾値T(θ、φ、ψ、x、y)を定める。例えば
図3の場合には、θ=θ1、φ=φ1、ψ=ψ1、(x、y)=(x1、y1)とした閾値T(θ1、φ1、ψ1、x1、y1)を定める。
【0034】
閾値T(θ、φ、ψ、x、y)は、たとえば類似度がT(θ、φ、ψ、x、y)を超えるデータの割合を指定することで定めることができる。検索処理では、入力された顔画像についてパラメータ(θ、φ、ψ、x、y)を計算し、閾値T(θ、φ、ψ、x、y)を求める。閾値T(θ、φ、ψ、x、y)はパラメータ(θ、φ、ψ、x、y)について、θ=θ1、θ2、…、θN、φ=φ1、…、φN、ψ=ψ1、…、ψN、(x,y)=(x1,y1)、…、(xN,yN)のそれぞれに関するハッシュとしてもよい。また次の式(1)に示すような線形モデルによる回帰分析によって計算した関数としてもよい。
【0036】
この閾値T(θ,φ,ψ,x,y)を用いて、確認候補数c=n(θ、φ、ψ、s、x、y)を次のように求める。
n(θ、φ、ψ、s、x、y)=n(閾値T(θ、φ、ψ、x、y)を超える類似度の人物の人数が予め設定された値n以下の場合)
n(θ、φ、ψ、s、x、y)=閾値T(θ、φ、ψ、x、y)を超える類似度の人物の人数(それ以外の場合)
【0037】
図5は、候補数算出の処理を例示するフローチャートであり、上述した確認候補数c=n(θ、φ、ψ、s、x、y)を求める処理を示すフローチャートである。
図5に示すように、候補数算出部106は、処理が開始されると、顔向きを示すθ、φ、ψが予め設定された閾値以内(例えば正面向き)であるか否かを判定する(S1)。また、顔向きを示すθ、φ、ψが予め設定された閾値以内である場合(S1:YES)、候補数算出部106は、顔の解像度(x、y)が予め設定された閾値以上であるか否かを判定する(S2)。
【0038】
顔向きを示すθ、φ、ψが予め設定された閾値以内でない場合(S1:NO)や、顔の解像度が予め設定された閾値以上でない場合(S2:NO)は、
図4に示すように閾値Tを超える類似度の他人が多くなり、n以下でないことから、候補数算出部106は、候補数c=n(θ、φ、ψ、s、x、y)(閾値T(θ、φ、ψ、x、y)を超える類似度の人物の人数)とする(S4)。
【0039】
顔向きを示すθ、φ、ψが予め設定された閾値以内であり(S1:YES)、顔の解像度が予め設定された閾値以上である場合(S2:YES)は、
図3に示すように、閾値T(θ、φ、ψ、x、y)を超える類似度の他人が少なくなり、n以下であることから、候補数算出部106は、候補数c=nとする(S3)。
【0040】
図6は、類似度順に並べられた顔画像G1〜Gnを例示する概念図である。
図6に示すように、顔画像G1〜Gnが類似度(s)の降順に得られたとき、上位から候補数算出部106で算出された候補数(c=3)分が確認を行う人物とされることとなる。
【0041】
出力部107は、候補数算出部106によって算出された候補数(c)をもとに、人物判定部105により類似する順に抽出された人物の上位から候補数に対応した人数の情報を出力する。具体的には、出力部107は、候補数算出部106によって得られた結果を、画面表示または、USBメモリ等の記憶媒体へ記録する。
【0042】
図7〜
図9は、表示画面200を例示する概念図である。
図7に示すように、出力部107は、入力画像(とくに検出部102によって顔領域付近を切り出したものが望ましい)201と、人物判定部105により類似する順に抽出された人物の上位から候補数算出部106によって算出された候補数分の人物の顔画像である候補画像211〜213とを表示画面200に表示する。このため、表示画面200では、類似する順に抽出された人物の顔画像の中からどの顔画像までを確認すればよいかが分り易くなっている。そして、ユーザは、表示画面200のボタン221、222などを操作することで確認した顔画像についての設定等を行うことが可能である。
【0043】
また、
図8に示すように、表示画面200は、入力画像201と、人物判定部105により類似する順に抽出された人物の上位から候補数算出部106によって算出された候補数分の人物の候補画像211〜219とを表示する候補画像表示領域210の他に、確認用表示領域230、保留画像表示領域240、進捗情報表示領域250を有してもよい。確認用表示領域230は、候補画像211〜219の中からポインタであるマーク画像M1の操作によって選択された候補画像218を表示する領域であり、入力画像201と並ぶ位置に配置されている。このため、ユーザは、候補画像211〜219の中からマーク画像M1の操作によって所望の候補画像を選択することで、その選択した候補画像と入力画像201とを並べて比較することができる。
【0044】
保留画像表示領域240は、候補画像211〜219の中から保留するマーク画像M2を示した候補画像212を表示する領域である。ユーザは、候補画像211〜219の中からマーク画像M1の操作によって所望の候補画像を選択して保留の操作指示を行うことで、候補画像を保留とすることができる。
【0045】
進捗情報表示領域250は、候補画像表示領域210に表示された候補画像211〜219の中で確認を行なっている進捗状況を表示する領域である。具体的には、進捗情報表示領域250では、閾値T以上の候補画像211〜219の中で、マーク画像M1で選択している確認中の候補画像218の位置を示すマーク画像M4や、マーク画像M2で示した保留中の候補画像212の位置を示すマーク画像M3などが表示される。ユーザは、進捗情報表示領域250の表示を確認することで、確認作業の進捗状況を把握することができる。
【0046】
また、
図9に示すように、候補画像表示領域210における候補画像261〜266は、類似度順だけでなく、顔向き、年齢などの順位に並べて表示してもよい。ここで、顔向きについては、出力部107は、θ、φ、ψとして算出された値をもとに、例えば右向きから左向きの順に候補画像263〜265を並べて表示させる。また、年齢については、出力部107は、年齢分析の公知技術を用いて、候補画像261〜266を年齢順に並べて表示させる。これにより、ユーザは、候補画像表示領域210において顔向き、年齢などの順位に並べられた候補画像261〜266を確認できる。
【0047】
また、出力部107は、キーボード等の入力装置の操作入力をもとに、確認を行う確認者の人数分に分配するための分配数の入力を受け付けて、人物判定部105により類似する順に抽出された人物の上位から候補数に対応した人数の情報を、入力された分配数で分配して出力してもよい。
【0048】
図10は、分配の処理を例示するフローチャートである。
図10に示すように、出力部107は、キーボード等の入力装置の操作入力をもとに、確認者の人数(k)を受け付ける(S11)。ついで、出力部107は、人物判定部105により類似する順に抽出された人物の上位からの確認候補をk個に分配(n(1)、n(2)、…、n(k))する(S12)。次いで、出力部107は、分配したn(1)、n(2)、…、n(k)を確認者の人数分設定された宛先に出力する(S13)。これにより、確認者の人数(k)で分配した確認作業を実施できる。
【0049】
この分担の仕方は単純なk等分でもよいし、確認者からの要求に応じて人物判定部105により類似する順に抽出された人物の上位からの確認候補を分配する構成であってもよい。例えば、確認者が操作する端末からの分配の要求に応じて、出力部107は、n(1)、n(2)、…、n(k)の中の1つを順次出力してもよい。このように、分配の要求に応じてn(1)、n(2)、…、n(k)の中の1つを順次出力することで、確認者の確認作業の効率に応じた分配を行うこともできる。
【0050】
図11は、人物認識装置100のハードウエア構成を示すブロック図である。
図11に示すように、人物認識装置100は、CPU(Central Processing Unit)1101と、ROM(Read Only Memory)1102と、RAM(Random Access Memory)1103と、通信I/F1104と、HDD1105と、表示装置1106と、キーボードやマウスなどの入力デバイス1107と、これらを接続するバス1108と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。人物認識装置100では、CPUがROMに記憶されたプログラムをRAMに展開して順次実行することで、
図1に例示した機能構成を実現している。
【0051】
なお、本実施形態の人物認識装置100で実行されるプログラムは、ROM等に予め組み込まれて提供される。本実施形態の人物認識装置100で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0052】
さらに、本実施形態の人物認識装置100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態の人物認識装置100で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0053】
本実施形態の人物認識装置100で実行されるプログラムは、上述した機能構成を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上述した機能構成が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
【0054】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。