(57)【要約】【課題】画像内に含まれる移動している被写体を識別すること。【解決手段】被写体認識部１０３ａは、時系列で入力される入力画像間で差分量を算出し、差分量が所定の閾値を超えている画素を２値化して２値画像を生成し、２値画像内の白画素を対象として、各白画素の２値画像内における座標値を特徴量としたクラスタリングを行って、白画素を所定数のクラスタに併合する。そして、併合後の各クラスタのそれぞれを囲んだ包絡枠を、入力画像内に含まれる個々の被写体として識別する。被写体追跡部１０３ｂは、被写体認識部１０３ａで識別した個々の被写体をフレーム間で追跡する。【選択図】図１
2008130015.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
時系列で入力される複数の入力画像間の差分量を算出する差分量算出手順と、
前記差分量が所定の閾値を超えている画素を２値化して２値画像を生成する２値画像生成手順と、
前記２値画像内の白画素を対象として、各白画素の前記２値画像内における座標値を特徴量としたクラスタリングを行って、前記白画素を所定数のクラスタに併合するクラスタリング実行手順と、
併合後の各クラスタのそれぞれを囲んだ包絡枠を、入力画像内に含まれる個々の被写体として識別する識別手順とを実行させることを特徴とする被写体識別プログラム。
【請求項２】
請求項１に記載の被写体識別プログラムにおいて、
前記識別手順は、前記各包絡枠を、各包絡枠間の距離に応じて併合し、併合後の各包絡枠を前記個々の被写体として識別することを特徴とする被写体識別プログラム。
【請求項３】
請求項１または２に記載の被写体識別プログラムにおいて、
前記２値画像生成手順は、生成した２値画像内に含まれる白画素が所定数以上である場合には、前記閾値を上げて、再度、前記２値画像を生成することを特徴とする被写体識別プログラム。
【請求項４】
請求項１〜３のいずれか一項に記載の被写体識別プログラムにおいて、
コンピュータに、
時系列で入力される入力画像間で、前記識別手順で識別した個々の被写体を追跡する被写体追跡手順をさらに実行させることを特徴とする被写体識別プログラム。
【請求項５】
請求項１〜４のいずれか一項に記載の被写体識別プログラムを実行する実行手段を備えることを特徴とする被写体識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフレーム間で被写体の追跡を行うための被写体識別プログラム、および被写体識別装置に関する。
【背景技術】
【０００２】
次のような物体追跡方法が知られている。この方法は、カメラから入力される画像と基準背景画像との差分を計算して差分画像を得て、差分画像を２値化した２値画像を得ている。そして、２値画像内からラベリング等の方法で輝度値が所定値以上となるひとかたまりの領域を抽出し、抽出した領域を物体として検出する。検出した物体の時間経過に伴う変化を複数の状態に分類することによって、物体の移動軌跡を推定してフレーム間で物体を追跡するものである（例えば、特許文献１）。
【０００３】
【特許文献１】特開平１１−３２３２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の物体追跡方法では、ラベリング等の方法を用いて２値画像内から物体を検出する場合には、２値画像内で輝度値が所定値以上となる画素間の距離を加味せずに領域を抽出する。そのため、物体の識別性能が高くないという問題があった。
【課題を解決するための手段】
【０００５】
本発明は、時系列で入力される複数の入力画像間で差分量を算出し、差分量が所定の閾値を超えている画素を２値化して２値画像を生成し、２値画像内の白画素を対象として、各白画素の２値画像内における座標値を特徴量としたクラスタリングを行って、白画素を所定数のクラスタに併合し、併合後の各クラスタのそれぞれを囲んだ包絡枠を、入力画像内に含まれる個々の被写体として識別することを特徴とする。
本発明では、各包絡枠を、各包絡枠間の距離に応じて併合し、併合後の各包絡枠を個々の被写体として識別するようにしてもよい。
また、生成した２値画像内に含まれる白画素が所定数以上である場合には、閾値を上げて、再度、２値画像を生成するようにしてもよい。
さらに、時系列で入力される入力画像間で、識別した個々の被写体を追跡することが好ましい。
【発明の効果】
【０００６】
本発明によれば、高い識別性能で被写体を識別することができる。
【発明を実施するための最良の形態】
【０００７】
図１は、本実施の形態における被写体識別装置の一実施の形態の構成を示すブロック図である。被写体識別装置１００としては、例えばパーソナルコンピュータ（パソコン）が用いられる。被写体識別装置１００は、操作部材１０１と、画像入力用Ｉ／Ｆ（画像入力用インターフェース）１０２と、制御装置１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、モニタ１０５とを備えている。
【０００８】
操作部材１０１は、例えばキーボードやマウスなどの使用者によって操作される種々の入力装置を含んでいる。
【０００９】
画像入力用Ｉ／Ｆ１０２は、外部の画像入力デバイス、例えばカメラなどを接続するための接続インターフェースである。本実施の形態では、画像入力用Ｉ／Ｆ１０２を介して外部の画像入力デバイスから複数フレームの画像が時系列で入力される。画像入力用Ｉ／Ｆ１０２に接続されているカメラは広角レンズを備えており、人物の進入を監視する必要がある部屋の室内に設置されている。よって、画像入力用Ｉ／Ｆ１０２を介して入力される画像は、例えば図２に示すような室内の広範囲を撮影した画像となる。画像入力用Ｉ／Ｆ１０２は、入力された画像を制御装置１０３へ出力する。なお、画像入力用Ｉ／Ｆ１０２としては、例えばＵＳＢインターフェースや無線ＬＡＮインターフェースが用いられる。
【００１０】
ＨＤＤ１０４には、画像入力用Ｉ／Ｆ１０２を介して取り込んだ画像データや、後述するように制御装置１０３で実行されるプログラムなど種々のデータが記憶される。モニタ１０５は、例えば液晶ディスプレイなどが用いられる。
【００１１】
制御装置１０３は、ＣＰＵ、メモリ、およびその他周辺回路で構成され、被写体認識部１０３ａと、被写体追跡部１０３ｂとを機能的に有している。被写体認識部１０３ａは、画像入力用Ｉ／Ｆ１０２を介して入力される画像内に含まれる移動している被写体を認識する。具体的には次のように処理する。まず、被写体認識部１０３ａは、入力された画像データ（入力画像）と、ＨＤＤ１０４に記憶されている１フレーム前の画像データとの差分量を算出し、算出した差分量が所定の閾値、例えば１００を超えている画素を２値化した２値画像を生成する。このように生成した２値画像内では、フレーム間で移動している被写体のみが白画素として現れる。
【００１２】
例えば、被写体認識部１０３ａは、図２に示した入力画像と、１フレーム前の画像とに基づいて、図３に示すような２値画像を生成する。図２では、矩形２ａで囲まれる人物（被写体）のみが移動していた場合には、図３ではこの移動している人物のみが白画素として現れる。なお、図３においては、点線枠３ａは、２値画像内の白画素を包絡した矩形（包絡枠）であり、例えば、テンプレートマッチングを使ったトラッキングシステムなどでは、この包絡枠内の画像をテンプレートとして使用して被写体を追跡する。図２のように、画像内に１人の人物しか存在していない場合には、図３に示すように、包絡枠で１人の人物を捉えることができるが、画像内に複数の人物が含まれている場合には、複数の人物が包絡枠内に含まれてしまう可能性がある。
【００１３】
例えば、図４に示すように、矩形４ａ内に存在する複数の人物（４人）が移動している場合には、２値画像に含まれる白画素は図５に示すようになり、この範囲が包絡枠で囲まれることになる。この場合には、画像内に含まれる４人全員が１つの包絡枠で囲まれてしまい、個々の人物を特定することができない。このため、２値画像に含まれる白画素を人物ごとに分離して、例えば図６に示すように各人物をそれぞれ含む４つの包絡枠６ａ〜６ｄを特定する必要がある。
【００１４】
そのために、被写体認識部１０３ａは、クラスタリング手法を用いて画像内に含まれる各被写体を特定する。図７（ａ）は、ｎ次元特徴空間でのクラスタリングの概念図である。本実施の形態では、ｎ＝２としたとき、すなわち２次元特徴空間でのクラスタリングを行う。具体的には、図７（ｂ）に示すように、画像内における白画素の座標値（Ｘ，Ｙ）をクラスタリングの特徴量とした２次元特徴空間でのクラスタリングを行う。クラスタリングの手法としては、階層的クラスタリングを用いる。
【００１５】
階層的クラスタリングとは、まず、２値画像内に存在する１つの白画素を１つのクラスタとする。すなわち、最初の段階では、２値画像内に存在する白画素の数＝クラスタ数となる。そして、図７（ｂ）に示した２次元特徴空間上で、距離が近いクラスタ同士を順番に併合していく。その後、クラスタ数が、あらかじめ設定した所定のクラスタ数ｍになった時点でクラスタの併合を終了して、クラスタリングを終了する。これによって、２値画像内からｍ個のクラスタを抽出することができる。すなわち、２次元特徴空間上での距離が近い白画素同士の集合をｍ個抽出することができる。
【００１６】
被写体認識部１０３ａは、２値画像上で抽出した白画素の集合を、それぞれ包絡枠で囲むことによって、２値画像内の白画素を複数の領域に分離することができる。そして、２値画像上に設定した各包絡枠を画像内における位置を保持したまま入力画像上に設定することによって、入力画像上に、移動している人物を含む複数（ｍ個）の包絡枠を設定し、この入力画像上における包絡枠を、入力画像内に含まれる移動している被写体として識別する。換言すれば、入力画像上に設定した包絡枠内に、移動している人物が存在しているものと特定する。
【００１７】
図８は、ｍを４としてクラスタリングを行った結果、入力画像上に設定される包絡枠の具体例を示す図である。この図８において、包絡枠８ａは、クラスタリングを行わなかった場合に設定される包絡枠を示している。すなわち、クラスタリングを行う前は、２値画像内の白画素を全て含む矩形が包絡枠８ａとして設定される。そして、被写体認識部１０３ａによって、ｍを４としてクラスタリングが行われることによって、距離が近い白画素が順次併合されていき、最終的に、４つのクラスタに併合される。その結果、２値画像上に各クラスタに対応する４つの包絡枠が設定され、入力画像上には、図８に示すように、４つの包絡枠８ｂ〜８ｅが設定される。
【００１８】
なお、図８に示す例では、移動している人物は５人いるにも関わらず、ｍ＝４としたために、包絡枠は４つしか設定されず、包絡枠８ｃ内には２人の人物が含まれている。この例では、ｍ＝５とすれば、包絡枠８ｃ内に含まれる人物は２つの包絡枠に分離されることになる。このように、画像内に含まれる移動している人物の数によって、最適なｍの値は変化するが、あらかじめ移動している人物の人数を特定することができない場合には、ｍに最適な値を設定することは困難である。
【００１９】
例えば、図９ａ（ａ）に示すように、入力画像内に移動している人物が１人しかいない場合に、ｍ＝３としてクラスタリングを行った場合には、図９（ｂ）に示すように２値画像内で距離が近い白画素が３つのクラスタに併合され、３つの包絡枠９ａ〜９ｃが設定されることになる。その結果、本来であれば、入力画像上で１人の人物を包絡する包絡枠９ｄが設定されるべきところ、１人の人物に対して３つの包絡枠９ａ〜９ｃが設定されることになる。
【００２０】
本実施の形態では、このように最適なｍの値を設定することが困難なことに起因して発生する問題点を解消するために、被写体認識部１０３ａは、クラスタリングによって分離した包絡枠を、各包絡枠間の距離に基づいて併合する処理を行う。具体的には、入力画像（または２値画像）上に設定した各包絡枠の重心位置を算出し、２つの包絡枠間の重心位置の距離が所定距離未満である場合に、その２つの包絡枠を併合して１つの包絡枠とする。
【００２１】
例えば、図１０に示すように、重心がＡ、縦方向の長さがＨ１、横方向の長さがＷ１である包絡枠１０ａと、重心がＢ、縦方向の長さがＨ２、横方向の長さがＷ２である包絡枠１０ｂとがある場合について説明する。この場合には、被写体認識部１０３ａは、重心Ａと重心Ｂの横方向（ｘ軸方向）の距離ｄｘ、縦方向（ｙ軸方向）の距離ｄｙをそれぞれ算出する。そして、ｄｘ、Ｗ１、およびＷ２の関係が次式（１）を満たし、かつｄｙ、Ｈ１、およびＨ２の関係が次式（２）を満たす場合に、２つの包絡枠１０ａおよび１０ｂを併合する。
【００２２】
ｄｘ＜（Ｗ１＋Ｗ２）×α  ・・・（１）
ｄｙ＜（Ｈ１＋Ｈ２）×α  ・・・（２）
なお、式（１）および（２）において、αは０．６〜０．８とする。
【００２３】
被写体認識部１０３ａは、この包絡枠の併合処理を、入力画像内に設定されたすべての包絡枠の組み合わせに対して実行し、距離が近い包絡枠同士を併合していく。このとき、1度併合した後の包絡枠も併合処理の対象としていくことで、1人の人物に対して複数の包絡枠が設定されてしまった場合でも、それらを併合して１人の人物に対して１つの包絡枠を設定することができる。
【００２４】
なお、一般的に、１人の人物は画像内で縦方向に存在していることが多いため、横方向に存在している距離が近い包絡枠同士よりも、縦方向に存在している距離が近い包絡枠同士を優先して併合するようにしてもよい。これは、例えば式（１）におけるαの値よりも式（２）におけるαの値を小さく設定することで対応できる。
【００２５】
被写体認識部１０３ａは、以上の処理によって、入力画像上で動いている人物の１人ごとに包絡枠を設定して、入力画像内における動いている人物を特定することができる。被写体追跡部１０３ｂは、被写体認識部１０３ａで特定した個々の人物をフレーム間で追跡することによって、画像内に含まれる人物の動きを追跡することができる。
【００２６】
図１１は、本実施の形態における被写体識別装置１００の処理を示すフローチャートである。図１１に示す処理は、画像入力用Ｉ／Ｆ１０２を介して画像の入力が開始されると起動するプログラムとして、制御装置１０３によって実行される。
【００２７】
ステップＳ１０において、被写体認識部１０３ａは、入力された画像データ（入力画像）と、ＨＤＤ１０４に記憶されている１フレーム前の画像データとの差分量を算出し、算出した差分量が所定の閾値を超えている画素を２値化した２値画像を生成する。その後、ステップＳ２０へ進み、被写体認識部１０３ａは、２値画像上に白画素を包絡した包絡枠を設定して、ステップＳ３０へ進む。
【００２８】
ステップＳ３０では、被写体認識部１０３ａは、上述したように、設定した包絡枠内の白画素を対象として、２次元特徴空間でのクラスタリングを行って、距離が近い白画素の集合をｍ個抽出する。その後、ステップＳ４０へ進み、被写体認識部１０３ａは、２値画像上で抽出した白画素の集合を、それぞれ包絡枠で囲むことによって、２値画像内の白画素を複数の領域に分離し、２値画像上に設定した各包絡枠を画像内における位置を保持したまま入力画像上に設定する。その後、ステップＳ５０へ進む。
【００２９】
ステップＳ５０では、被写体認識部１０３ａは、図１０で上述したように、式（１）および（２）を用いて、１つの包絡枠内に１人の人物が含まれるように、入力画像上に設定した包絡枠を併合して、ステップＳ６０へ進む。ステップＳ６０では、被写体追跡部１０３ｂは、被写体認識部１０３ａで特定した個々の人物をフレーム間で追跡することによって、画像内に含まれる人物の動きを追跡し、ステップＳ７０へ進む。
【００３０】
ステップＳ７０では、画像入力用Ｉ／Ｆ１０２を介した画像の入力が終了したか否かを判断する。画像の入力が終了していないと判断した場合には、ステップＳ１０へ戻って処理を継続する。これに対して、画像の入力が終了したと判断した場合には、処理を終了する。
【００３１】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
（１）フレーム間の画像の差分量を算出し、算出した差分量が所定の閾値を超えている画素を２値化して２値画像を生成した。そして、２値画像内の白画素を、各画素の画像内における座標値を特徴量としたクラスタリング処理を行って所定数のクラスタに併合し、併合後の各クラスタに対応する包絡枠を個々の被写体として識別するようにした。これによって、画像内における座標値が近い画素、すなわち画像内における距離が近い画素を優先して併合したクラスタに基づいて被写体を識別することができ、被写体の識別性能を向上することができる。
【００３２】
（２）クラスタリングによって分離した包絡枠を、各包絡枠間の距離に基づいて併合し、併合後の包絡枠を個々の被写体として識別するようにした。これによって、画像内に含まれる移動している人物の人数をあらかじめ特定することができない場合でも、各被写体を正確に識別することができる。
【００３３】
（３）時系列で入力される入力画像間で、識別した個々の被写体を追跡するようにした。これによって、フレーム間の画像の動きを捉えることができ、本発明による被写体識別装置１００をセキュリティ装置などの他の装置に活用することができる。
【００３４】
―変形例―
なお、上述した実施の形態の被写体識別装置は、以下のように変形することもできる。
（１）上述した実施の形態では、被写体認識部１０３ａは、入力された画像データ（入力画像）と、ＨＤＤ１０４に記憶されている１フレーム前の画像データとの差分量を算出し、算出した差分量が所定の閾値を超えている画素を２値化した２値画像を生成する例について説明した。このとき、生成した２値画像内に含まれる白画素の数に応じて、２値化を行う画素を判定するための閾値を再設定し、再設定後の閾値を用いて２値画像を生成するようにしてもよい。
【００３５】
すなわち、所定の閾値を用いて２値化して得た２値画像内に含まれる白画素が多い場合には、多くの白画素を対象としてクラスタリングを行う必要が生じ、処理に時間がかかる可能性がある。このため、２値画像内に多くの白画素が含まれる場合には、閾値を上げて再度２値画像を生成することによって、２値画像内に含まれる白画素を減らしてクラスタリング処理を高速化することができる。この変形例では、例えば、入力画像の大きさが６４０画素×４８０画素である場合には、所定の閾値を用いて２値化して得た２値画像内に５００画素以上の白画素が含まれる場合には、閾値を上げる必要があると判断する。
【００３６】
具体的には、上述した実施の形態のように、所定の閾値を１００として２値化した場合に、２値画像内に５００画素以上の白画素が含まれている場合には、次式（３）によって新たな閾値を算出する。なお、次式（３）では、ｔｔは２値画像内に含まれる白画素数を表し、ｆｌｏｏｒは、小数点以下を切り捨てて整数を返す関数である。
閾値＝１００＋ｆｌｏｏｒ（ｔｔ／１０）  ・・・（３）
【００３７】
この式（３）によって、例えば２値画像内に白画素が５００画素含まれている場合には、新たな閾値は１５０に設定されることになり、最初の閾値１００よりも閾値を上げて再度２値画像を生成することができる。なお、閾値をあまりにも上げ過ぎると入力画像内に写っている人物のうち、白画素として抽出できなる人物が出てくる可能性がある。このため、式（３）によって算出される閾値に上限を設定するようにしてもよい。例えば、閾値の上限を２００に設定して、式（３）によって算出された閾値が２００を超える場合には、閾値を２００に置き換えるようにしてもよい。
【００３８】
（２）上述した実施の形態では、被写体認識部１０３ａは、クラスタリングを行って抽出したクラスタに対応する包絡枠を個々の被写体として識別する例について説明したが、これに限定されず、抽出したクラスタ自体を個々の被写体として識別してもよい。この場合、被写体認識部１０３ａは、クラスタリングを行って抽出した各クラスタを、図１０に示した方法で各クラスタ間の距離に応じて再併合することによって、再併合後の各クラスタを個々の被写体として識別する。
【００３９】
（３）上述した実施の形態では、被写体認識部１０３ａは、被写体認識部１０３ａで特定した個々の人物をフレーム間で追跡することによって、画像内に含まれる人物の動きを追跡する例について説明した。しかしながら、被写体識別装置１００を施設内への侵入者を検出するセキュリティ装置に適用することもできる。この場合には、被写体追跡部１０３ｂは、画像内に含まれる人物を時系列で追跡し、人物がカメラの設置位置から所定距離以内に接近したら、その人物を拡大して撮影し、ＨＤＤ１０４に記録するようにしてもよい。
【００４０】
すなわち、被写体追跡部１０３ｂは、入力画像内に設定した包絡枠が一定の大きさ以上になった場合に、その包絡枠が捉えている人物はカメラに接近したと判断する。そして、その包絡枠の重心が画像の中心になるようにカメラの向きを変更し、さらに包絡枠が画像内一杯に収まるようにズームすることで、包絡枠内の人物を拡大して撮影する。これによって、カメラから所定距離以内に接近した人物を不審者とみなして、その侵入者の画像を自動的に撮像することができる。また、人物の画像を拡大して撮影すると同時に、モニタ１０５上にその拡大写真を表示したり、警告メッセージを出すようにしてもよい。さらにカメラにスピーカを搭載し、不審者の侵入を検出した場合には、スピーカから警報を出力してもよい。
【００４１】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
【図面の簡単な説明】
【００４２】
【図１】被写体識別装置１００の一実施の形態の構成を示すブロック図である。
【図２】画像入力用Ｉ／Ｆ１０２を介して入力される画像の具体例を示す図である。
【図３】生成される２値画像の具体例を示す図である。
【図４】移動している人物が４人いる場合の入力画像内の具体例を示す図である。
【図５】図４に基づいて生成した２値画像を示す図である。
【図６】図５に示す２値画像上に各人物ごとの包絡枠を設定した場合の具体例を示す図である。
【図７】クラスタリングの概念図である。
【図８】ｍを４としてクラスタリングを行った結果、入力画像上に設定される包絡枠の具体例を示す図である。
【図９】１人の人物に対して３つの包絡枠が設定された場合を示す図である。
【図１０】包絡枠を併合する方法を模式的に示した図である。
【図１１】被写体識別装置１００の処理を示すフローチャート図である。
【符号の説明】
【００４３】
１００  被写体識別装置、１０１  操作部材、１０２  画像入力用Ｉ／Ｆ、１０３  制御装置、１０３ａ  被写体認識部、１０３ｂ  被写体追跡部、１０４  ＨＤＤ、１０５  モニタ
【図１】
2008130015.tif 000003
【図２】
2008130015.tif 000004
【図３】
2008130015.tif 000005
【図４】
2008130015.tif 000006
【図５】
2008130015.tif 000007
【図６】
2008130015.tif 000008
【図７】
2008130015.tif 000009
【図８】
2008130015.tif 000010
【図９】
2008130015.tif 000011
【図１０】
2008130015.tif 000012
【図１１】
2008130015.tif 000013