(58)【調査した分野】(Int.Cl.,DB名)
駅のプラットホームの撮影する複数のカメラからの入力映像に対して、顔画像を検出し、該顔画像から特徴量を抽出し、該特徴量を時刻情報とともにデータベースに登録することで、該データベースを構築するステップと、
前記構築するステップで構築した前記データベースに対して、該プラットホームを列車が発着する時間間隔より広い事前決定された期間の間に登録された特徴量のうち、類似する特徴量を検索するステップと、
前記検索するステップで類似した特徴量が検出された数と、滞留者に見込まれる登録数との比較により、前記類似した特徴量の人物が滞留者か否かを判定するステップと、
前記滞留者と判定された人物をブラックリストに登録するステップと、
前記ブラックリストに登録された人物の特徴量と類似する特徴量が、データベースから検索された時にこれを報知するステップと、を有するホーム滞留人物検索装置。
【発明を実施するための形態】
【0010】
以下、本発明に係る実施形態について図面を参照して説明する。なお、各図の説明において、実質的に同一な機能を有する構成要素には同一の参照番号を付し、説明を省略する。
【実施例1】
【0011】
まず、
図1〜図
2を参照して、本発明をうろつき者検知に応用した実施例を概略的に説明する。
図1には、本実施例1のうろつき者検知システム1の構成を例示してある。
本例のうろつき者検知システムは、集合住宅、企業の事業所、学校のような、主に特定の人々によって利用される空間の周囲を監視することを意図している。
図1に示すように、施設(建物)11があり、その周りの土地を撮影する複数の監視カメラ12が設置される。これら監視カメラ12により撮影できる範囲を、監視対象範囲と呼ぶ。監視カメラ12のそれぞれは、顔検出機能を有し、撮影した画像に顔が含まれているときは、顔の部分を切り出した部分画像(顔画像)及びその顔画像から算出した特徴量ベクトル等を送出する。データベース(DB)13は、監視カメラ12から受信した特徴量ベクトルを時刻等と対応付けて登録する。
【0012】
図2に、本実施例1におけるうろつき者の判定の原理を概念的に示す。多数の特徴量ベクトルが登録されたDB13に対して、例えばたった今監視カメラ12が検出した人物の顔画像をキー画像として、検索を行なうことを考える。
図2a、
図2bそれぞれの上側に示すものが、そのキー画像である。
図2aはキー画像の人物が、登場回数の多い人物だった場合、
図2bは登場回数の少ない人物だった場合を示す。
【0013】
DB13に行なわせる検索は、登録された特徴量ベクトルの中から、キー画像の特徴量ベクトルと類似するものを、望ましくは全て取り出す処理である。
図2では、最も類似する10件を、検索結果として示してある。検索結果の各顔は、キー画像との類似度が低下するほど、別人であることが多くなる。従って、類似度に所定の第一のしきい値を設け、このしきい値を超える類似度の顔を、同一人物であると推定して、その数を計数することができる。そして、この数が、第二の所定のしきい値を越えた場合、登場回数が多いと判定できる。
【0014】
施設11の敷地の周囲(塀の外側)、或いは敷地内であっても通路でない、人の往来が少ない場所(例えば倉庫の裏)を監視対象範囲としていた場合、そこで頻繁に検出される人物は、通常とは別の目的を持ってその場所に訪れていることが推定され、うろつき者と言うことができる。或いは人の往来が多い場所を監視対象範囲とする場合、予めうろつき者ではないことがわかっている人物の特徴量ベクトルのリスト(ホワイトリスト)を作り、検索結果からそのリストに含まれる人物を除外することで、うろつき者を検出することができる。うろつき者ではない人物とは、例えば、集合住宅におけるその居住者、企業におけるその従業員、学校における生徒及び教師である。
【0015】
従来の異常行動検出では、人物を特定しないので、原理的に居住者との区別は付けられなかった。また人物を単に移動物体とみてその動きから判断するため、動き(移動の軌跡)を正確に検出する必要があり、各監視カメラの撮影範囲(視野)を一部重複させなければならない等、の設置上の難しさがあった。また撮影範囲を通過する短い時間では異常性が無く長い時間の観察でしか検知できない異常行動を同一人物のものとして把握することができなかった。本例ではそれらの問題が解消される。
【実施例2】
【0016】
本実施例2のうろつき者検知システムは、先の実施例1において、更にホワイトリストや登場履歴(行動パターン)の記録を自動作成し、登場履歴の示す時刻情報、場所情報を利用して、うろつき者を判定するものである。
図3に、本例のうろつき者検知システムの処理ブロックを示す。システムの基本構成や各構成要素は、特に言及しない限り実施例1と同様である。本例では少なくとも2つの監視カメラ12a、12bを用い、監視カメラ12aは不審者ではないことが判明している人(居住者)のみが撮影できる環境(例えば、IDカード等による認証が必要なセキュリティエリア)に設置し、監視カメラ12bは不審者を検知したい場所(例えば、エントランス)に設置する。またDB13も、2種類の監視環境に応じて、内部的に2つのDB13a、13bに分ける。
【0017】
各監視カメラ12a、12bは、顔画像及び特徴量ベクトルを送出する際に、個々のカメラを特定可能なカメラID、撮影時刻、顔向き情報等を一緒に送出する。これらをまとめて、顔検出データと呼ぶ。DB13はカメラIDを判別することで、DB13aが監視カメラ12aからの居住者の顔検出データのみを登録し、DB13bが監視カメラ12bからの居住者及び非居住者の顔を登録するようにする。本例では、居住者数が数千以下の用途を想定し、DB13a、13bには、SQL等の汎用のリレーショナルDB(インメモリデータベース、列指向データベースが望ましい)を利用する。DB13a、13bにおける1つのレコード(行)は、表1に示されるように、顔検出データに推定人物IDを追加したものである。
【0018】
【表1】
【0019】
顔画像IDは、別のサーバに保存された顔画像にアクセスする際の識別子で、通常はユニーク値であるので、DB13での主キーを兼ねる。顔画像IDは、顔を切り出す前の全体画像(フレーム)を特定できるIDとそのフレームで検出された顔に付される顔IDの組合せでもよい。
【0020】
ホワイトリスト14は、推定人物IDを主キーとするレコードの集合であり、1つのレコードが含む要素の一例を表2に示す。
【0021】
【表2】
【0022】
全特徴量ベクトルの平均(セントロイド)や分散は、望ましくはその推定人物IDが付与された全レコードの平均や分散であり、標本数はそれらの計算に用いたレコードの総数である。顔向き毎に区別して計算した平均等を含む。顔向き、特徴量ベクトルの平均、分散の3要素は1組であり、もし算出できるなら顔向き毎に算出した平均や分散を保持する。この組の数は任意である。特に明示しない限り、最初に検索の対象となる特徴量は、この全平均特徴量である。なお、特徴量ベクトルの平均に代えて、代表的な特徴量ベクトルを記憶しても良い。また標本数に代えて、標本としたDB13のレコードの主キーを全て列挙してもよく、DB13aについては主キー列挙、DB13bは標本数としてもよい。
【0023】
不審者登場リスト15は、不審者IDを主キーとするレコードの集合であり、レコードの要素は表3に示す通りである。
【0024】
【表3】
【0025】
このレコードは、ホワイトリスト14のそれと同様に不審者IDが付与された顔の特徴量ベクトルの平均(或いは代表的な特徴量ベクトル)、分散、標本数を保持するほか、過去に登録された際の撮影時刻、カメラID、顔向き情報のセット(登録イベント)の有限個の列挙である登場履歴を有する。登場履歴は、DB13bの対応するレコードの主キーでもよい。登録イベントの数が規定値に達したときは古いものから削除される。
【0026】
本例のうろつき者検知システムの運用は、以下の4つの段階がある。
[段階1] 意味のある検索ができる程度まで、DB13への顔の登録数を増やす、初期的な段階である。この段階では、監視カメラ12a、12bから受信した顔をそのまま登録するのみで、推定人物IDは未定(空)、グループ化試行回数は初期値(0)である。ただし、動画像には同一人物が持続的に映ることが多いという性質を利用した下記のルールにより、推定人物IDを付与することができる。
{ルール1−1}:同一のカメラIDの監視カメラ12aから持続的に送信されてきた顔検出データで、同一の撮影時刻のものが他にない場合或いは時間的に直前の顔検出データと特徴量の類似度が所定のしきい値以上である場合、それらの顔検出データに同じ推定人物IDを付与してDB13aに登録する。また新たに発行された推定人物IDをホワイトリスト14に登録する。なおこのルールにおいて特徴量の類似度に基づく確認をせずに付与した推定人物IDは、他のルールで付与したIDと区別できるものを使用してもよい。
【0027】
[段階2] 同一人物をグループ化しホワイトリスト14を作成する段階である。この段階では、グループ化部17は、DB13aに登録されている、推定人物IDが未定となっているある1つのレコードの顔をキーとしてDB13a、13bで類似顔検索を行い、下記のルールで検索結果を処理して、検索キーとしたレコードに何らかの推定人物IDを付与するとともに、ホワイトリスト14を更新する。
{ルール2−1}:DB13aからの検索結果のうち、類似度が第1しきい値以上である同一人物候補の中で推定人物IDが付与済みものを抽出し、その中で最多の推定人物ID(A)が第1の所定割合以上を占めていた場合、或いはカメラIDが同一で撮影時刻に連続性がある推定人物ID(A)を発見した場合、キー顔にしたレコード及び同一人物候補中で推定人物IDが未定のレコードの推定人物IDにもAを付与する。
{ルール2−2}:DB13a、13bからの検索結果のうち、類似度が第2しきい値以上でかつ顔向きがキー顔の顔向きと近いものを同一人物候補とし、その中に第2の所定割合以上で同じ推定人物ID(A)が付与されたレコードがある場合、キー顔にしたレコード及び同一人物候補中で推定人物IDが未定のレコードの推定人物IDにもAを付与する。なお第2の所定割合は0でもよい。つまり同一人物候補の中に1つでも推定人物IDが付与されているものがあれば、それを他の同一人物候補にも付与する。
【0028】
{ルール2−3}:ルール2
−1及びルール
2−2の条件を満たさなかった場合(同一人物候補がいない場合)、キー顔にしたDB13aのレコードに新規の推定人物IDを付与するとともに、ホワイトリスト14にその新規推定人物IDのレコードを作成する。
{ルール2−4}:ルール2
−1及びルール
2−2で、推定人物IDを付与した際に、同一人物候補の中に別の推定人物ID(B)を有するレコードがあれば、更新後のホワイトリストを参照し、推定人物IDがAとBの特徴量ベクトルを比較して、併合の要否を判定する。例えば、複数の顔向き毎の特徴量ベクトルの平均等が十分に得られているときに、顔向き毎に比較して十分な類似が認められれば、同一人物として併合する。これにより、顔向きを考慮しない特徴量分布が他人と重なっていても、誤った併合を防ぐことができる。併合により消滅するほうの推定人物IDが付与されたDB13a、13bのレコードについては、推定人物IDの更新を行なう。
これらのルールは、公知のk近傍法や最小平均分散法、併合のみ行うLBG(Linde-Buzo- Gray)法の一実装とも解釈でき、公知の他のクラスタリング手法でも代用できるが、グループ同士の併合は無理に行う必要はない。なおDB13aと13bとでは元となる顔画像の撮影環境が異なり同一人物でも特徴量がばらつくため、クラスタリングの評価尺度は、ばらつきの主な要因である顔向きを考量したものとした。類似度(特徴量空間での距離)を計算する際の重みを、顔向きに応じて最適化して(異ならせて)もよい。
【0029】
[段階3] ホワイトリスト14を利用して不審者登場リスト15を作成し、不審者を検出できる段階である。この段階では、不審者候補検索部18は、DB13a、13bに新たにレコードが追加される都度、類似の特徴量ベクトルを有する推定人物をホワイトリスト14あるいは不審者登場リスト15から検索し、下記のルールで不審者候補と判断されたものは不審者登場リスト15に登録あるいは更新する。
{ルール3−1}:DB13b(及びDB13a)の新規追加レコードの特徴量ベクトルとの類似度が第3しきい値以上となる推定人物IDを、不審者登場リスト15から検索する。同一人物をもらさないよう、複数の推定人物ID(C)が抽出される程度に第3しきい値を設定する。その後、複数の推定人物ID(C)について、不審者登場リスト15のレコードに保持された登場履歴の内、新規追加レコードの顔向きと近い顔向きのものについて、その特徴量ベクトルを、顔画像IDをキーにしてDB13bから取り出す。取り出した特徴量ベクトルに、類似度が第4しきい値以上のものが見つかれば、登録済み不審者候補であるので、不審者登場リストの登場履歴を更新する。
【0030】
{ルール3−2}:ルール3−1で見つからなかった場合、ホワイトリスト14から同様に検索する。つまり、DB13a、13bの新規追加レコードの特徴量ベクトルとの類似度が第3しきい値以上となる推定人物IDを、ホワイトリスト14から検索する。同一人物をもらさないよう、複数の推定人物ID(D)が抽出される程度に第3しきい値を設定する。その後、複数の推定人物ID(D)について、ホワイトリスト14のレコードに保持された顔向き毎の特徴量ベクトルを参照して、類似度が第4しきい値以上でかつ顔向きが新規追加レコードの顔向きと近いものを探す。見つかった場合、推定人物IDをその追加レコードに格納し、必要ならばホワイトリスト14も更新する。見つからなかった場合、それがDB13aへの追加レコードであれば、ルール2−3同様にホワイトリスト14に新規登録し、DB13bへの追加レコードであれば、不審者登場リスト15に新規登録する。
なお、2度目の検索に用いる第4しきい値は、1度目の検索を絞り込むためのものであり、類似度が高くなり易い同じ顔向きでの比較でもあるので、(同じ特徴量空間及び距離尺度を用いているのであれば)通常、第3しきい値以上である。また顔向き毎の特徴量ベクトルが網羅的に収集されていないときは、複数の特徴量ベクトルを補間して、新規追加レコードの顔向きと同じ顔向きの特徴量ベクトルを得るようにする。またルール3−2をホワイトリスト14の登録数が少ないうちに適用すると、居住者も不審者登場リスト15に入ってしまう恐れがあるので、登録数が少ない時は、不審者登場リスト15への登録は保留するとよい。
【0031】
ルール3−1や
3−2で不審者候補が検出された(不審者登場リストに登録或いは更新した)場合、不審者判断部19は、登場履歴が下記のルールを満たすか否か(命題が真か偽か)を照合し、それらのブール代数演算や、重み付き採点により、今回の登場がうろつき者に該当するか判断する。
{ルール4−1}:通常の方法で敷地や建物に入ったり、移動したりする際に、監視カメラ12で撮影されるであろう順番(望ましくは、時間情報を含むパターン)と一致しない。
{ルール4−2}:通常の居住者が登場することがまれな時間帯である。
{ルール4−3}:通常の移動速度に比べて遅い、或いは途中で引き返す等、何処かしらの目的地へ向かっている気配が無い(つまりうろついている)。
{ルール4−4}:通常の居住者であれば登場する前後に生じるはずの特定のイベント(門の開閉、ID認証等)が、ない。
{ルール4−5}:事前に作成された来訪予定者リストに該当がない。
{ルール4−6}:一人である。(同時に同一の監視カメラで撮影された別の(推定人物ID)のレコードが存在しない。)
なお、ルール4−3の移動速度は、隣接する登場履歴のカメラIDの組合せについて、予め標準的な移動時間を求めておき、それよりも顕著に長い時に遅いと判断する。引き返しは、所定時間以内にある2つの登場履歴のカメラIDが同一であることで判断される。
【0032】
[段階4] 定期的に、DB13a、13bや不審者登場リストの容量(レコード数)が規定値に近づくように、古くなったレコードを纏めて削除する。DB13a、13bから削除されたレコードの推定人物ID(B)については、下記のルールでホワイトリスト14を更新する。ホワイトリストも必要に応じて、最終更新日時が古いレコードを削除する。
{ルール5−1}:ホワイトリスト14におけるその推定人物ID(B)のレコードが保持する特徴量ベクトルの平均をキー顔として、DB13a、13bで類似顔検索を行い、{ルール3−1}または{ルール3−2}と同様の基準でグループ化しなおす。
{ルール5−2}:ルール5−1に拘わらず、その推定人物ID(B)のレコードが保持する標本数が1のときは、更新は行なわない。
なお(再)グループ化には、上記の他、公知のクラスター分析手法(k-means法、確定的アニーリングEMアルゴリズムなど)も利用でき、ホワイトリスト14のレコードに保存する要素は、使用する手法において必要なものを選べばよい。例えばEM等の多くの手法は、各クラスタの広がりの尺度を必要とする。同一人物を1つのグループにまとめることを特に重視する場合は、グループの中心(全平均特徴量)付近で局所的に独立成分分析等を適用して特徴量ベクトルに新たな成分を追加したり、近隣のグループを含む局所的に利用可能なマハラノビス距離を用いたり(計量学習と呼ばれる)、カーネルPCAによる非線形判別を取り入れもよく、その際には教師なし(弱教師付き)学習が可能なOne class SVMを利用できる。
【0033】
なお、段階4においては段階3の動作も続けている。また段階2や3において、DB13a、13bへの短時間当たりの追加レコード数が多い状態が続くと、処理が追い付かず推定人物IDが未付与のレコードが蓄積してしまう。そのため追加頻度や未付与レコード数を監視し、所定の上限を超えないようにDB13a、13bへの登録を適宜間引くようにする。また、段階3のルール3−1においてDB13aの新規追加レコードは必ずしも検索対象とする必要はないが、うろつき者が検出された時には一時的に検索対象にし、所定時間以内にホワイトリスト14に新規登録された中にうろつき者がいないか検索するとよい。
【0034】
上述したように、本実施例2によれば、居住者等のホワイトリスト14を人手に頼らず自動的に作成し、居住者等が不審者と判定されることを防ぐことができる。また、同一人物について連続撮影により得られる特徴量分布をできるだけ維持して活用し、またホワイトリストに顔向き毎の代表特徴量を保持し、顔向き毎に類似度を判断するようにした。これにより複雑な分類学習を行わなくとも、居住者以外の人物を識別できる程度の精度が期待できる。なお特徴量分布が広がる他の要因である、元の顔画像の解像度や照明環境等についても、特徴量を区別して保持してもよい。
【0035】
もし、データベース自体がグループ化(同列内の値の中で、同じ値を持つデータごとに集合化すること)の機能を内部的に有している場合、ホワイトリスト14や不審者登場リスト15を意識的に用意する必要はなく、都度DB13a、13bを参照すればよい。ただし、少なくとも分類学習、計量学習、カーネル学習用のパラメータ(推定人物ID毎の平均特徴量(代表値)や分散等)だけは別途保持したほうが効率的である。
【0036】
本例ではごく少数の不審者を前提とし、複数の不審者間で正確に識別することは重視していないため、不審者登場リスト15に平均特徴量等は保持しないようにしたが、ホワイトリストと同じ構造のレコードにしてもよい。また本例では、ホワイトリストを先に作成するようにしたが、不審者登場リストが先でも良い。例えば、セキュリティ区画がない或いは共連れが可能な緩いセキュリティの場合、不審者(非居住者)登場リストに記録された行動パターンに基づいて、居住者かどうかの確度を求め、ホワイトリストを自動構築するようにしてもよい。行動パターンに登場の周期性がある(毎日決まった時間にカメラに映る等)の場合、居住者であることが強く推定される。先のルール4−1〜3−6に該当しないことも居住者の推定に利用できる。また既に居住者確度が高いと判明している人物と一緒に登場する人物も居住者の確度が高いと判断することもできる。居住者と判断された人物は、不審者登場リスト15から消去され、ホワイトリストに登録される。
【実施例3】
【0037】
図
4〜図
5を参照して、本発明の実施例3に係る滞留人物検索装置を説明する。
図
4は、本実施例3の滞留人物検索装置の設置の様子を示す図である。この装置は、鉄道の駅のプラットホームにおいて、到着列車に乗らずに滞留する人物を検出することを目的とする。そのような人物は、列車の進入速度が速いホームの後ろよりで滞留していると、時には列車の進入時に線路内に立ち入って事故の原因となるおそれがおり、状況によっては保護が必要な人物である。
【0038】
プラットホームの屋根には、ドーム型カメラ12cや固定カメラ12dが、プラットホームの端に滞留する人物の顔を撮影するうえで十分な数だけ設置される。ドーム型カメラ12cは、撮影方向や範囲を遠隔から操作できるようにジンバルに搭載された小型テレビカメラであり、暗色系で透明の半球状カバーで覆われている。ドーム型カメラ12cや固定カメラ12dは、視野内に日陰と日向があっても、人物の顔を判別できるよう、ダイナミックレンジ圧縮された映像信号を出力する。なお、ドーム型カメラ12cや固定カメラ12dは、それが設置されたプラットホームを撮影するものに限らず、隣のプラットホームを撮影しても良い。
【0039】
図
5は、本例3の滞留人物検索装置の構成図である。この装置は、ドーム型カメラ12cや固定カメラ12dの他、映像蓄積サーバ2、類似顔画像検索サーバ3、表示端末4、管理端末5を少なくとも1つ備え、またそれらを通信可能に接続するLAN(ローカルエリアネットワーク)6を有する。
【0040】
映像蓄積サーバ2は、LAN6を介してドーム型カメラ12cに映像送信要求を送り、ドーム型カメラ12cから画像データを受信して蓄積する。また蓄積映像を、類似顔画像検索サーバ3等からの求めに応じて提供する。
映像蓄積サーバ2は、機能構成として、カメラI/F21、記録配信制御部22、Webサーバ部23、ストレージ24、設定保持部25を有する。
【0041】
カメラI/F21は、ドーム型カメラ12c等の固有プロトコルに従って、LAN6を介してドーム型カメラ12c等と通信する。通信の内容は、映像を取得できる権限の確認を行う認証、画質等の指定を含む映像送信要求、画像データ等である。
【0042】
記録配信制御部22は、大容量のキャッシュメモリを有し、ストレージ24への画像データの書込みや読出しを管理する。記録の際は、画像データに加え、画像データを読出す際の情報となる画像ID(画像の識別情報)も併せて記録する。
多数のカメラからの画像データのストリームを、欠落することなくリアルタイムで記録しつつ読出し要求にも応える必要から、記録配信制御部22は、画像データの書込み単位やストレージ24上での記録配置を最適化するとともに、書込みや読出しのスケジューリングを行なう。またストレージ24をRAID(Redundant Arrays of Inexpensive Disks)化するために、冗長データ(パリティ)の生成や書込みの制御を行う。複数の画像データのストリームを、複数の書込みストリームに振り分けて、それらから水平パリティ等を生成することで、パリティ生成のための読出しを要しないようにしている。
【0043】
Webサーバ23は、HTTPプロトコルで類似顔画像検索サーバ3等から画像要求を受付け、記録配信制御部22に要求して読み出された画像データを、画像要求応答として返す。また、映像蓄積サーバ2の稼動状態等をWebページとして提供する。
【0044】
ストレージ24は、複数のHDD(Hard Disk Drive)やSSD(Solid State Drive)で構成されるディスクアレイであり、映像ストリームの同時複数アクセスに適した特別のファイルシステムが用いられる。例えば、1つ画像を一意に特定できる画像IDと、記録位置との対応付けを全てテーブル化すると、主記憶の容量より大きくなってしまうため、その対応付けを効率的に参照できるようにしている。記録するデータは、RAIDコントローラにより或いは個々のドライブ毎でAES(Advanced Encryption Standard)−256等による暗号化を施す。
【0045】
設定保持部25は、カメラI/Fがドーム型カメラ12c等から映像を取得すべきスケジュールや、表示装置等への再配信のスケジュール等を記憶する。
【0046】
類似顔画像検索サーバ3は、機能構成として、画像取得I/F31、顔検出・特徴量算出部32、顔登録・検索部33、顔特徴量DB34、Webサービス部35、検索トリガー部36、設定保持部37、障害通知部38を有する。
画像取得I/F31は、LAN6に接続されており、ドーム型カメラ12c等からマルチキャスト配信される映像や、映像蓄積サーバ2の記録画像データを、画像取得要求等を行なうことで取得する。
【0047】
顔検出・特徴量算出部32は、画像取得I/F31が取得した画像をフレーム毎に分割し、各フレームから人の顔と推定される領域を抽出する。推定は、基本的には肌の色や、目鼻口が検出できるかどうかにより行ない、抽出した顔領域毎に、顔の領域の重心と目鼻口の相対位置から顔の向きを更に推定する。顔領域は、所定の縦横比の矩形画像として扱われるが、四隅などの顔以外の部分(背景領域)は規定色に塗りつぶされる。
次に、各顔領域について、サイズ(縦及び横の画素数)、解像度、明度及びコントラスト(ヒストグラム)等の正規化処理を行う。サイズについては複数の大きさに正規化する。
次に、複数のサイズ毎に、正規化された顔領域を一定サイズのブロックに分割し、ブロック毎に色や輝度、それらの勾配やエッジ、或いは勾配やエッジのパターンのヒストグラムを求め、その結果を集約した多次元ベクトルを顔特徴量として出力する。その際、抽出する元となったフレームが有していた、撮影時刻、カメラID、画像IDその他のメタデータや顔向き情報を一緒に出力する。
【0048】
メタデータとしては、サイズ正規化時の拡大率、顔推定の確度、顔を抽出したフレーム内での空間座標、同じフレーム内で抽出された複数の顔のうちの何番目かを示す抽出ID、イベントの種別等を含みうる。顔推定の確度は、顔の一部に別の物体が被った場合などに0に近づく値である。イベント種別とは、取得した画像が通常録画(配信)とアラーム録画(配信)のどちらによるものかを示す情報である。なお、顔特徴量はそのままでは数千次元を有するため、他の成分と相関の高い冗長な成分を除去する。また次元(データ量)を減らすものとしては、公知の主成分分析、線形(フィッシャー)判別分析、独立成分分析により予め求めておいた固有ベクトル(基底ベクトル)からなる行列を、特徴量ベクトルに左から掛け算する方法が簡単である。主成分分析だけで次元削減する場合、1000次元程度にまで減らすとよい。
【0049】
顔登録・検索部33は、顔検出・特徴量算出部32で算出した特徴量を顔特徴量DB34へ書込む(登録)ほか、読出しや検索やその他の操作を行う。特徴量は、撮影時刻、カメラID、顔画像ID、顔向き、拡大率等の属性情報を含むレコードとして登録される。登録の際、顔登録・検索部33は特徴量をいずれかのカテゴリに分類し、そのカテゴリに対応するクラスタ(葉クラスタ)に登録する。クラスタは、多分岐の決定木のように階層化された構造を有し、登録の際は、分岐数だけ識別を行えばよい。クラスタへの登録は、辞書(マップ、コードブックなどとも呼ばれる)やハッシュ関数を用いて多階層的に行なう。
【0050】
辞書を使う方式として、ベクトル量子化、自己組織化写像等が知られる。辞書には、代表ベクトル(重みベクトルなどとも呼ばれる)と次に参照すべき辞書または末端クラスタ(葉クラスタ)のアドレスとの組が複数記録されており、登録対象の特徴量は、最初に最上位の辞書から全探索により最も距離の近い代表ベクトルを見つけ次の辞書に移る、ということを繰り返し、最終的に葉クラスタに到達する。葉クラスタのアドレスを指し示す辞書では、アドレスのほか、その葉クラスタが含む人物の人物IDを保持する。葉クラスタは、よく類似した複数の特徴量のレコードのデータを格納する。辞書は、最も距離の近い代表ベクトルが見つかるたびに、そのクラスタ及び近隣のクラスタの代表ベクトルを僅かに修正する、LBGやLVQなどと呼ばれるアルゴリズムにより更新する。なお辞書に代えて特徴量ベクトルをLocality Sensitive Hashing等のハッシュ関数(識別器)でコード化したものをそのクラスタのアドレスとする方法で実現することもできる。
【0051】
共分散行列等を使う方式は、混合分布モデルに基づくもので、登録対象の特徴量ベクトルと、平均値ベクトルや共分散行列等との行列演算により、事後確率(対数尤度、或いはマハラノビス距離の符号を負にした値)が最大のものを選択することで分類、つまり次に参照すべき1つ下の階層のクラスタを決める。共分散行列等のパラメータを最適化するアルゴリズムとしてEMアルゴリズムが知られる。なお、古くから知られるk-d tree法は、本例のような高次元ベクトルの探索には不適である。ただし、特徴量ベクトルの成分のうち、小さいサイズに正規化され抽出された成分に限るなどすれば、ツリーの上位において使用できる可能性がある。
【0052】
各葉クラスタは、プロトタイプに対応するよう、一人の人の顔画像の分布をちょうど1つ含むサイズとなることが望ましい。葉クラスタの辞書等が保持する人物IDは、上述のクラスタリングアルゴリズムによる葉クラスタの生成、分割、統合に応じて、対応付けが維持される。ただし葉クラスタは、実際の個々の人物と1対1に対応するものとは限らず、葉クラスタIDと人物IDを別々に扱っても良い。
【0053】
人物IDをキーにした参照を高速化するため、人物IDと対応する葉クラスタのアドレスを格納した人物IDテーブル71を設けても良い。顔画像IDをキーにした参照を行ないたい場合は、顔画像IDテーブルを別途設けるか、人物IDテーブル71に代表的な顔画像IDの列を加える。いずれにしても
、蓄積サーバ2の映像から検出されうる全ての顔が顔特徴量DB34に登録されているわけではないので、顔画像IDによる検索は完全ではない。つまり、任意のフレームに映った顔をキーにして検索したい場合は、そのフレームから(再度)特徴量を抽出することになる。
【0054】
特徴量の検索の方法は、登録と似ており、顔登録・検索部33は、与えられた特徴量をキーに、最上位のクラスターから順次、最近傍探索(NNS:Nearest neighbor search)を行ない、葉クラスタでは各レコードの特徴量とキー特徴量とのマンハッタン距離をそれぞれ求める線形(総当り)探索を行い、所望の類似度あるいは所望の数のレコードを得る。なお、葉クラスタに至るまでの複数の分類階層のどこかで1回だけ最近傍ではなく2番目に近いクラスタを選択すると、最大で階層数個の葉クラスタにたどり着く。これらの中で線形探索を行なうようにすると検索漏れを削減できる。なお、葉クラスタのサイズが、一人の人の特徴量の分布より小さくなるようにしていれば、葉クラスタでの検索は不要である。
【0055】
顔特徴量DB34は、末端のクラスタが含むレコードのデータを、多階層のクラスタ化の構造(ツリー)の情報を保って保持する、HDD等の記録媒体である。また、辞書やハッシュ関数、共分散行列等のパラメータ及びそのパラメータを最適化するアルゴリズムが使用する数値(計算途中の値など)も保持するほか、適宜、人物IDテーブル71、最終検索日時リスト72、ブラックリスト7
3(後述する)等も保持する。顔特徴量DB34は、それ全体がインメモリDBで実現されることが望ましいが、少なくともツリー情報やパラメータや数値並びにリスト類は、運用中においてはメモリに全てキャッシュされるべきである。また末端のクラスタは、連続して読み出せる記録位置(セクター)に配置される。これにより、少なくとも検索時は、1件の検索に対し1回のシークしか発生しない。顔特徴量DB34のレコードへの操作は、基本的には新規登録と削除のみで変更はない。顔特徴量DB34は内部的には複数の分割DB(これまで述べたクラスタ化とは異なる)から構成され、ある分割DBの容量が上限に達したときは、最も古い分割DBを初期化してそれを新たな登録先とするローテーションにより運用する。分割DBの時間的系列を世代と呼ぶ。また拡大率、顔向き等に応じて、さらに分割して構成してもよい。上述のクラスタリングにおける識別を最適化するために、特徴量の次元削減に使う基底関数を更新する場合には、世代が変わるときにその更新を行うことができる。その結果、世代間で特徴量空間が異なりうる。滞留人物検索が目的であれば、世代の間隔は滞留時間と同程度でよい。
【0056】
Webサービス部35は、表示端末4からの検索要求、画像要求、或いは管理端末5からの類似顔画像検索サーバ3の設定情報等を受信し、それに対する処理結果をWebページ等のデータで応答することで検索アプリケーションを体現する。検索要求には、滞留者検知要求(短期検索要求)、キー指定検索要求、ブラックリスト73照合要求、イベント検索要求、及びそれらの組合せがあり、それらを受信すると、それらが含んでいた検索条件の情報(キーとする特徴量に対応する顔画像ID等)を顔登録・検索部33に渡す。そして顔登録・検索部33から受取った検索結果を元に、Webページ(表示画面)データを生成して、表示端末4への応答とする。検索結果は、複数の顔画像を格子状に並べたタイル表示等として提供され、各顔画像は顔画像IDに基づく映像蓄積サーバ2でのアドレス(URI)をWebページ中に記述することで、表示端末4に取得させ、また顔画像IDそのものや人物ID等を併せて記述することで、表示端末4がそれら検索結果中の顔をキーに指定した新たな検索要求をできるようにする。
【0057】
検索トリガー部36は、適切な時間間隔で自動的に滞留者検知を行なうよう顔登録・検索部33を制御する。検索トリガー部36は、鉄道の運行データ等を入力され、現在日時と照合して適切な検索条件を顔登録・検索部33に与える。
ここで、現時刻から、その駅に停車した2本前の列車の停車時刻より数分前の時刻までのT時間の間、持続的に撮影された顔を検索することを考える。顔登録・検索部33が顔を新たに登録する際、登録する葉クラスタに対応付けられた人物IDを取得する。そしてその人物IDをキーにして最終検索日時リスト72を参照し、その人物の最終検索日時を得る。その最終検索日時と現時刻との差がα×T時間(αは1未満の係数)を超えた場合、過去T時間の間に登録されたレコードに限定した類似顔検索を行ない、抽出数が顔登録・検索部33から返される。この時間限定は、例えば、総当り検索の際に、類似度の計算より先に撮影時刻を検査し、その条件に合わないものを除外することで実現できる。検索を行なった際は、最終検索日時リスト72を更新する。最終検索日時リスト72は、人物IDを主キーとし、最終検索日時を保持するテーブルである。
Webサービス部35や検索トリガー部36は、受取った抽出数と、滞留者に見込まれる登録数(検索対象時間Tを、登録時間間隔(画像蓄積サーバ2からの画像の取得頻度に依存する)で除算した値)と比較することで、滞留者か否かを容易に判定でき、適宜表示端末での報知やブラックリスト73への登録を行なう。抽出数が少なくても、ブラックリスト73に登録されていれば、報知対象となる。ブラックリスト73は、人物IDを主キーとし、滞留者として検知された日時、その時の顔画像ID等からなる登録履歴を数か月程度保持する。
【0058】
設定保持部37は、類似顔画像検索サーバ3で必要な各種設定や、ログインできるユーザの情報等を保持する。 障害通知部38は、類似顔画像検索サーバ3で生じた障害を、SMTPトラップ等で管理端末等5に通知する。
【0059】
表示端末4は、Webブラウザの機能を有するPC(パーソナルコンピュータ)であり、類似顔画像検索サーバ3や映像蓄積サーバ2に対して検索要求や画像要求を送信し、その応答として受取ったWebページ等を表示する。検索要求制御部42、検索結果表示処理部43、検索条件指定処理部44、サーバ状態表示処理部45の機能は、WebブラウザおよびWebページが含むjavascript(商標)やActive X(商標)や.Net Frameworks(商標)のコンポーネント等で実現され、映像表示処理部41はDirectshow(商標)等で実現される。表示端末4は、一般的な監視カメラシステムの表示端末と同様の機能を有しても良い。つまり任意のカメラを指定して、MRCP(Media Resource Control Protocol)等のプロトコルにより、映像蓄積サーバ2からライブ映像あるいは記録映像を取得して表示することができる。
【0060】
管理端末5は、本例の滞留人物検索装置に対して、外部媒体の映像を取り込ませたり、或いは録画映像のバックアップを行なったりするため、一般的なPC(パーソナルコンピュータ)である。外部媒体I/F51はDVDドライブ、或いはUSB(商標)等の任意の外付け媒体を接続可能なインターフェースである。 フォーマット変化部52は、外部媒体I/F51等から取り込んだ映像やDBを滞留人物検索装置のフォーマットに合致するよう変換する。
【0061】
ファイル部53は、外部媒体I/F51等から取り込んだ或いはフォーマット変換後の映像等を保持する記憶装置である。 アップロード部54は、類似顔画像検索サーバ3や映像蓄積サーバ2とファイル部53との間で、LAN6を介してFTPプロトコル等によりファイルを伝送する。例えば、外部から取得したブラックリスト元データを類似顔画像検索サーバ3にアップロードし、類似顔画像検索サーバ3のブラックリスト73とマージさせたり、顔特徴量DB34のスナップショットをファイル部53にダウンロードしたりする。
外部DB I/F55は、ODBC(Open DataBase Connectivity)やJETデータベースエンジン等であり、ネットワーク上の任意のサーバにアクセスし、データを入出力できる。例えば他の鉄道会社の路線に設置された同様の滞留人物検索装置のブラックリストを互いに連携させる場合に使用する。
【0062】
LAN6は、例えば、Ethernet(商標)等で構築されたプライベートネットワークであり、様々な拠点に設置されうる映像蓄積サーバ2から管理端末5までの各装置を接続する。LAN6は、単一のコリジョンドメインのネットワークに限定されない。
【0063】
これまで述べた実施例において、学習機械は、人物の識別(類似度、クラスタリング)には利用されうるものの、不審者か否かの判断自体に直接には関わらない。つまり不審者は、登場履歴に基づく理解し易いルールによって抽出され、最終的には監視員によって判断される。ルールは抽出対象時間等のパラメータを調整することで、用途ごとに直感的に適応させ、広範に利用可能である。もちろん本発明は、この監視員の判断を学習機械の教師とすることを妨げるものではない。
【0064】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは装置や、そのような方法をコンピュータに実現させるためのプログラムや、当該プログラムを記録する一過性ではない有形の媒体などとして提供することもできる。例えば、スマートフォンにインストールすることでそれを監視カメラ12として機能させるプログラムと、パソコン等にインストールしてそれらをホームセキュリティシステムとして機能させるプログラムの組合せ或いは後者の単品として提供されうる。