(57)【特許請求の範囲】
【請求項１】
計測の事前処理手段として、
カメラキャリブレーション結果に基づいて画像上の画素毎に定義され、画像上の１人の人物に対する和が人物の位置によらず常に一定値となるようなスケール変換係数を算出するスケール変換係数算出ステップと、算出された前記スケール変換係数をスケール変換係数記憶部に保存するスケール変換係数記憶ステップと、を有し、
計測時の処理手段として、カメラによって撮影され映像から時系列順にフレーム画像を取得するフレーム画像取得ステップと、
前記フレーム画像から移動体に対応する画素である前景画素を検出する前景検出ステップと、
スケール変換係数記憶部によって予め記憶されているスケール変換係数に基づき、前記前景検出ステップで検出された前記前景画素を一次元上に射影する一次元射影ステップと、
前記一次元射影ステップによって得られる射影値のピーク位置を検出するピーク位置検出ステップと、
以前のフレーム画像において検出された前記ピーク位置と、現在のフレーム画像で検出された前記ピーク位置とを対応付けることによって前記ピーク位置の追跡を行うピーク位置追跡ステップと、
各々のピークに対応する一次元上の範囲を決め、その範囲内において前記射影値を累積加算することでピーク毎の構成人数を推定するピーク毎人数推定ステップと、
を有し、
前記射影値のピーク位置を順次記憶しておき、過去所定回数分のピーク位置の履歴から現在のピーク位置を予測するピーク位置予測ステップと、
前記ピーク位置予測手段を異なる回数に対して適用して得られた予測位置を用いてピークを継承するか否かを総合的に判断する追跡評価ステップと、をさらに有する移動体追跡方法。
【請求項２】
コンピュータに対し、請求項１に記載の移動体追跡方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラで撮影した画像を解析することにより、その場所を移動している移動体を追跡する技術に関する。
【背景技術】
【０００２】
カメラ画像を利用して通過人数を計測するためには、画像上に人物が現れたことと通り過ぎたこととを検知する必要がある。このような検知を実現する様々な画像処理技術が提案されている。これらの技術は、その前提条件の違いから大きく２つに分けることができる。
【０００３】
一つ目の技術は、天井などから略真下向きにカメラを向ける場合である（例えば非特許文献１参照）。この場合、画像上で人物同士が重ならない形で撮影することができるため、画像上で人物が現れたこと、通り過ぎたことを、比較的容易に検知することができる。
【０００４】
しかしながら、上述した非特許文献１では、略真下向きの撮影を前提としているため、人が重ならないで撮影できる範囲が狭くなるといった問題や、天井などにカメラを固定できない場合には適用できないといった問題がある。
【０００５】
これに対して、一般的なセキュリティカメラのように斜め下向き（例えば、斜め下に３０度前後）に撮影することを前提とした技術も提案されている（例えば非特許文献２参照）。このように、斜め下向きのカメラでの計測が可能になれば、その適用場面は大きく広がることになる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】佐藤敦、外３名、「物体流の変動にロバストな動物体計数法」、電子情報通信学会秋季大会講演論文集、１９９４年、情報・システム、Ｐ．２７１
【非特許文献２】大澤達哉、外５名、「ＭＣＭＣ法に基づく対象と環境に三次元モデルを用いた人物追跡」、電子情報通信学会論文誌、２００８年、ＶＯＬ．Ｊ９１−Ｄ、Ｎｏ．８、ｐｐ．２１３７−２１４７
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献２の技術は、被写体の画像上若しくは実空間上の２次元位置を時系列的に追跡（トラッキング）していく技術である。しかしながら、画像上での人物の重なりを許しながら、それらの位置の探索及び対応付けを２次元的に行おうとすると、どうしても計算コストが大きくなってしまうという問題がある。
【０００８】
近年、コンピュータの高速化に伴い実時間で追跡処理を行うことも可能になりつつある。しかしながら、複数のカメラの画像を同時に処理したい場合などにおいては、やはり計算コストが大きな問題となる。このような状況から、より計算コストの小さい追跡処理の実現に期待が寄せられている。
上記事情に鑑み、本発明は、移動している移動体の追跡処理に要する計算コストを低減する技術を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明の一態様は、計測の事前処理手段として、カメラキャリブレーション結果に基づいて画像上の画素毎に定義され、画像上の１人の人物に対する和が人物の位置によらず常に一定値となるようなスケール変換係数を算出するスケール変換係数算出ステップと、算出された前記スケール変換係数をスケール変換係数記憶部に保存するスケール変換係数記憶ステップと、を有し、計測時の処理手段として、カメラによって撮影され映像から時系列順にフレーム画像を取得するフレーム画像取得ステップと、前記フレーム画像から移動体に対応する画素である前景画素を検出する前景検出ステップと、スケール変換係数記憶部によって予め記憶されているスケール変換係数に基づき、前記前景検出ステップで検出された前記前景画素を一次元上に射影する一次元射影ステップと、前記一次元射影ステップによって得られる射影値のピーク位置を検出するピーク位置検出ステップと、以前のフレーム画像において検出された前記ピーク位置と、現在のフレーム画像で検出された前記ピーク位置とを対応付けることによって前記ピーク位置の追跡を行うピーク位置追跡ステップと、各々のピークに対応する一次元上の範囲を決め、その範囲内において前記射影値を累積加算することでピーク毎の構成人数を推定するピーク毎人数推定ステップと、を有し、前記射影値のピーク位置を順次記憶しておき、過去所定回数分のピーク位置の履歴から現在のピーク位置を予測するピーク位置予測ステップと、前記ピーク位置予測手段を異なる回数に対して適用して得られた予測位置を用いてピークを継承するか否かを総合的に判断する追跡評価ステップと、をさらに有する移動体追跡方法である。
【００１１】
本発明の一態様は、コンピュータに対し、上記の移動体追跡方法を実行させるためのコンピュータプログラムである。
【発明の効果】
【００１２】
本発明により、移動している移動体の追跡処理に要する計算コストを低減することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態による通過人数計測装置の配置例を示す概念図である。
【図２】本発明の第１実施形態による通過人数計測装置１の機能構成を示す概略ブロック図である。
【図３】本発明の第１実施形態による通過人数計測方法の処理の流れを説明するためのフローチャートである。
【図４】前景画素（シルエット）の具体例を示す図である。
【図５】本発明の第１実施形態による一次元射影の計算方法を説明するための概念図である。
【図６】本発明の第１実施形態による一次元射影の処理の一例を示す概念図である。
【図７】本発明の第１実施形態によるピーク位置の検出方法（追跡候補ピークの生成）を説明するための概念図である。
【図８】本発明の第１実施形態における追跡処理を説明するための概念図である。
【図９】本発明の第１実施形態による、追跡オブジェクトの人数推定方法を説明するための概念図である。
【図１０】本発明の第２実施形態による通過人数計測装置１の機能構成を示す概略ブロック図である。
【図１１】本発明の第２実施形態による通過人数計測方法の処理の流れを説明するためのフローチャートである。
【図１２】本発明の第２実施形態による一次元射影の処理の一例を示す概念図である。
【発明を実施するための形態】
【００１４】
［第１実施形態］
まず、本発明の第１実施形態について説明する。
図１は、本発明の第１実施形態による通過人数計測装置の配置例を示す概念図である。以下に説明する通過人数計測装置は、本発明における移動体追跡方法を適用して移動体を追跡することによって、カメラ２によって撮影される領域を通過した移動体の数を計測する装置である。以下の説明では、移動体の具体例として人物を例に用いているが、移動体は車、動物等の人物以外の物体であっても良い。
【００１５】
通過人数計測装置１は、カメラ２と情報処理装置３とを備える。図１の例では、カメラ２で撮影された映像データ（画像データ）を情報処理装置（パーソナルコンピュータ等）３に入力し、情報処理装置３上で画像処理を実施することで通過人数を計測する場合を示している。図１に示すように、本発明の第１実施形態では、カメラ２は一般のセキュリティカメラのように斜め下向きに対象エリアを撮影する。そして、情報処理装置３が、対象エリア内を移動する人物Ｐ１〜Ｐ３を計測する。
【００１６】
図２は、本発明の第１実施形態による通過人数計測装置１の機能構成を示す概略ブロック図である。情報処理装置３は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、通過人数計測プログラムを実行する。情報処理装置３は、通過人数計測プログラムの実行によって、フレーム画像取得部３０、映像保存部３１、前景検出部３２、一次元射影部３３、スケール変換係数記憶部３４、ピーク位置検出部３５、ピーク位置追跡部３６、ピーク毎人数推定部３７、追跡結果保存部３８を備える装置として機能する。なお、情報処理装置３の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されても良い。通過人数計測プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。
【００１７】
本発明の第１実施形態は、カメラ２から映像データを情報処理装置３で逐一取得しながら処理を行うリアルタイム型として構成されても良いし、情報処理装置３の映像保存部３１に記録された映像データを読み出しながら処理していくバッチ型として構成されても良い。リアルタイム型の構成の場合には、映像保存部３１は必須の構成ではない。バッチ型の構成の場合には、フレーム画像取得部３０にカメラ２が接続されている必要は無い。また、バッチ型の場合、映像保存部３１に記録される映像データは、カメラ２によって撮影された映像データである。
【００１８】
フレーム画像取得部３０は、カメラ２で撮影された映像データのフレーム画像を時系列順に入力する。前景検出部３２は、入力されたフレーム画像から人物などの移動物体に対応する画素である前景画素を検出する。一次元射影部３３は、予めスケール変換係数記憶部３４に記憶されているスケール変換係数を参照し、前景画素を１次元のライン上に射影する。
【００１９】
ピーク位置検出部３５は、射影値からピーク位置を検出する。ピーク位置とは、ピーク（極大値）を与える１次元ライン上での位置である。ピーク位置追跡部３６は、以前のフレーム画像において検出されていたピーク位置と、現在のフレームで検出されたピーク位置と、を対応付けて追跡する。ピーク毎人数推定部３７は、射影値のピーク毎に射影値の大きさからピークに所属する人数を推定する。追跡結果保存部３８は、ピークの出現、消滅及びピーク毎の推定人数を、追跡結果データとして保存する。
【００２０】
映像保存部３１、スケール変換係数記憶部３４及び追跡結果保存部３８は、磁気ハードディスク装置や半導体記憶装置等の記憶装置４０である。記憶装置４０は、情報処理装置３に備えられても良いし、情報処理装置３の外部に接続されても良いし、着脱可能な外部メモリ（カード型記録媒体やＵＳＢメモリなど）であってもよい。
【００２１】
次に、本発明の第１実施形態の動作について説明する。
図３は、本発明の第１実施形態による通過人数計測方法の処理の流れを説明するためのフローチャートである。本発明の第１実施形態による通過人数計測方法は、計測を行う前に一度実施しておけばよい初期設定時の処理と、実際の計測時の処理とを含む。
【００２２】
まず、初期設定時の処理の概要について説明する。初期設定時の処理では、カメラ２は、幾何的な性質が既知である被写体を撮影し、フレーム画像を取得する（ステップＳａ１）。次に、情報処理装置３は、撮影された被写体の画像を解析し、カメラパラメータを算出する（ステップＳａ２）。すなわち、情報処理装置３は、撮影された被写体の画像を解析することにより、カメラ２が撮影する実空間とカメラ２との関係（各画素が実空間のどこを撮影しているか）を計算する。ステップＳａ２の処理は、いわゆるカメラキャリブレーションである。
【００２３】
カメラキャリブレーションにおいては、外部パラメータの推定と内部パラメータの推定とが行われる。外部パラメータの推定では、実空間におけるカメラ２の３次元位置（Ｘ，Ｙ，Ｚ）と、カメラ２の方向（θ、φ、ω）とを求める。３次元位置（Ｘ，Ｙ，Ｚ）において、例えばＸ及びＹは床面上の二次元位置であり、Ｚは床面からの高さを表す。方向（θ、φ、ω）において、例えばθはＸ軸回りの回転を表し、φはＹ軸回りの回転を表し、ωはＺの軸周りの回転を表す。内部パラメータの推定では、カメラ２の光学系の焦点距離や歪などを求める。情報処理装置３は、これらの両方の推定を行うことにより、フレーム画像の各画素が実空間のどこを撮影しているか判定することが可能となる。
【００２４】
なお、本発明の第１実施形態において必要となる情報は、カメラ２の各画素が床面に対してどのような角度になっているか、である。３次元位置（Ｘ，Ｙ，Ｚ）のうち、床面座標を示す２次元座標（Ｘ，Ｙ）の値は不要となる。カメラ２の外部パラメータ及び内部パラメータを算出するカメラキャリブレーションには、様々な技術が存在している。本実施形態では、どのような技術が適用されても良い。
【００２５】
カメラキャリブレーションが記載された参考文献としては、以下に示す参考文献がある。参考文献１（Isao Miyagawa、外２名、「Simple Camera Calibration From a Single Image Using Five Points on Two Orthogonal 1-D Objects」、IEEE TRANSACTIONS ON IMAGE PROCESSING、 VOL. 19、 NO. 6、JUNE 2010」）、参考文献２（特開２０１０−２８７０７４号公報）、参考文献３（特開２０１１−２１５０８２号公報）。
【００２６】
情報処理装置３は、カメラキャリブレーション結果に基づき、画像上の位置に対する大きさの違いを正規化するためのスケール変換係数を算出する（ステップＳａ３）。カメラ２で撮影された画像上では、手前に位置する人は画像上で大きな面積を占め、遠くに位置する人は画像上で小さな面積を占めることになる。そこで、情報処理装置３は、フレーム画像に写る人物の大きさが、画像上の場所でどのように変化するかを、定量的に計算することにより、スケール変換係数を算出する。
【００２７】
より具体的には、情報処理装置３は、上記カメラパラメータ（内部パラメータ及び外部パラメータ）を用いて、各画素（ｘ，ｙ）に対するスケール変換係数ｗ（ｘ，ｙ）を求める。このスケール変換係数ｗ（ｘ，ｙ）は、各画素と、その画素が撮影する実空間上の表面積との幾何的な関係に基づいて算出される。例えば、画像のどこかに一人分のシルエットが写っている場合に、そのシルエットを構成する画素の集合ｆに対して、式（１）が成立する。
【００２８】
【数１】
0005461597.tif 000002
【００２９】
スケール変換係数の具体的な計算方法は、参考文献４（新井啓之、外３名、「映像からの人数計測のための幾何不変量に関する検討」、映情学技報、ｖｏｌ．３４、ｎｏ．４５、ＭＥ２０１０−１６３、ｐｐ．４１−４５）や、参考文献４に記載されている文献に記載されている。本発明においては、どのような手法が適用されても良い。
【００３０】
図４は、前景画素（シルエット）の具体例を示す図である。図４（Ａ）における一人分の前景画素の集合を集合ｆと表し、図４（Ｂ）における一人分の前景画素の集合を集合ｆ’と表し、図４（Ｃ）における一人分の前景画素の集合を集合ｆ”と表すと、以下に示す式２が成立するようなｓ（ｘ，ｙ）（ｓの上にハットを表記）を定義できることが、参考文献４に示されている。（被写体の立ち位置によらず、被写体部分に対して和をとるとその和が定数になるような数値（ｓ（ｘ，ｙ）（ｓの上にハットを表記）が存在する）
【００３１】
【数２】
0005461597.tif 000003
【００３２】
ここで、上記のｓ（ｘ，ｙ）（ｓの上にハットを表記）を用いて、スケール変換係数ｗ（ｘ，ｙ）を式（３）のように表すと、式（４）が成立する。
【００３３】
【数３】
0005461597.tif 000004
【００３４】
【数４】
0005461597.tif 000005
【００３５】
なお、参考文献４に厳密に準拠せずとも、各画素が実空間の人物の高さ付近において、どの程度の表面積に対応するか（画素の実空間での広がり具合）を定量的に見積もることにより、スケール変換係数ｗ（ｘ，ｙ）を近似的に求めることも可能である。算出したスケール変換係数ｗ（ｘ，ｙ）の値は、スケール変換係数テーブルとしてスケール変換係数記憶部３４に記憶される。
以上が、初期設定時の処理である。初期設定時の処理は、必ずしも情報処理装置３において実行される必要は無い。例えば、一部又は全ての処理が人間によって実行されても良いし、他の情報処理装置によって実行されても良い。
【００３６】
次に、実際の計測時の処理について説明する。情報処理装置３は、カメラ２又は映像保存部３１から映像データを取得し、以下の処理（ステップＳａ１０〜Ｓａ１８）を繰り返し行うことにより、人物の通過人数を計測する。
【００３７】
まず、フレーム画像取得部３０は、カメラ２又は映像保存部３１からフレーム画像を取得する（ステップＳａ１０）。次に、前景検出部３２は、入力されたフレーム画像を処理することにより、現時点のフレーム画像における前景画素を検出する（ステップＳａ１１）。定常的にその場所に存在している物体に対応した画素を背景画素と呼ぶのに対して、一時的にその場所に現れた物体（ここでは主に人物）に対応する画素を前景画素と呼ぶ。また、前景画素と背景画素とをそれぞれ異なる値で表した画像を、以下の説明では「前景画像」という。
【００３８】
前景画素の検出は、画像処理分野では古くから存在する技術であり、既に様々な方法が提案されている。例えば、前景検出部３２は、過去の一定時間（例えば５分程度）の各画素の時間方向の平均値（もしくは時間方向の移動平均値）をとったものを背景画素とみなす。前景検出部３２は、現在のフレーム画像と背景画素との差分の絶対値が一定以上の大きさを持つ画素を前景画素として検出する。本実施形態では、前景の検出方法を限定しない。
【００３９】
次に、一次元射影部３３は、スケール変換係数記憶部３４に保存されているスケール変換係数を参照し、検出された前景画素を画像上のあるライン（例えばｘ軸）上に射影する（ステップＳａ１２）。検出された現在の前景画像を式（５）のように表すと、ｘ軸上への一次元射影ｐ（ｘ）は、式（６）のように表される。なお、式（６）の加算（シグマ）は、画像中の全ての画素（ｘ，ｙ）に対する和である。
【００４０】
【数５】
0005461597.tif 000006
【００４１】
【数６】
0005461597.tif 000007
【００４２】
図５（Ａ）〜（Ｃ）は、本発明の第１実施形態による一次元射影の計算方法を説明するための概念図である。図５（Ａ）はスケール変換係数を示し、図５（Ｂ）は前景画像を示し、図５（Ｃ）は射影値を示す。まず、一次元射影部３３は、射影値ｐ（ｘ，ｙ）を０で初期化する（１）。次に、一次元射影部３３は、画素（ｘ，ｙ）が前景の場合（２）、スケール変換係数ｗ（ｘ，ｙ）を参照し（３）、射影値ｐ（ｘ）にｗ（ｘ，ｙ）を加算する（４）。一次元射影部３３は、上記の処理を全ての画素（ｘ，ｙ）に対して実行することによって、ｘ軸上への一次元射影ｐ（ｘ）を求める。
【００４３】
なお、上述した射影処理において、射影する軸は必ずしもｘ軸上でなくともよい。例えば、画像を所定の角度だけ予め回転してから処理を行えば、上記のｘ軸への射影と同様の処理で、任意の直線上への一次元射影が可能となる。
【００４４】
また、どの方向を射影軸とするかは、その画像内での人物の移動方向を見て決めればよい。通路を概ね横方向から撮影する場合には、画像上での人物の動きは左右方向が支配的になる。そのため、後述する手法の特性を考えると、ｘ軸（画像横方向）への射影でよい。一方、通路の手前から奥の方向に向かってカメラ２を向ける場合には、人の進行方向に対応する上下方向の軸を射影軸とすればよい。
【００４５】
図６（Ａ）〜（Ｃ）は、本発明の第１実施形態による一次元射影の処理の一例を示す概念図である。図６（Ａ）は現在のフレーム画像の例、図６（Ｂ）は検出された現在の前景画像の例、図６（Ｃ）はｘ軸を射影軸とした場合の一次元射影の例である。なお、図６（Ｃ）には、射影後にｘ軸方向での平滑化処理（ガウシアンフィルタなど）を施した結果を示している。平滑化を行うことは、本発明の第１実施形態において必ずしも必要ではない。ただし、後述する処理（特に、ピーク位置検出）を現実的に安定して行うためには、射影値Ｐ（ｘ）がｘ方向に対して滑らかに変化するようにしておくことが必要となる。そのため、平滑化を行うことは、処理制度の向上に寄与する。
【００４６】
平滑化方法については、本発明の第１実施形態では限定しない。ただし、射影値の和（全てのｘに対するＰ（ｘ）の和）が平滑化の前後で変化しない方法を適用することが好ましい。具体的には、規格化された線形フィルタ（フィルタの係数の和が１に規格化された線形フィルタ）を用いればよい。以下では、一次元の射影値と、一次元の射影値をｘ方向に平滑化した値とを区別せずに、いずれもＰ（ｘ）と表す。
【００４７】
次に、ピーク位置検出部３５は、この一次元射影値Ｐ（ｘ）からピーク位置を検出する（ステップＳａ１３）。なお、ピーク位置の検出において、ピークとなる一次元射影値が予め設定しておいた閾値を超えない場合には、ノイズと見なして検出しないようにしてもよい。また、画像のｘ軸の両端（処理対象範囲が予め限定している場合には、その両端のｘ座標）のピークは検出対象とならない。検出されたピーク位置は、人物がそのｘ座標付近にいる可能性が高い場所と見なすことができる。したがって、ピーク位置検出部３５は、検出されたピーク位置を追跡候補ピークとする。複数のピーク位置が検出された場合には、複数の追跡候補ピークが生成される。
【００４８】
図７（Ａ）及び（Ｂ）は、本発明の第１実施形態によるピーク位置の検出方法（追跡候補ピークの生成）を説明するための概念図である。図７（Ａ）は、画像内を右から左へ移動する人物を示している。図７（Ｂ）は、ｘ軸（画像横方向）への射影値Ｐ（ｘ）の変化を示している。図７（Ａ）の左端に示すように、画像内に人物がない場合には、図７（Ｂ）の左端に示すように射影値のピークは検出されない。また、図７（Ａ）の中央に示すように、画像端に人物Ｐが一部存在する場合には、図７（Ｂ）の中央に示すように射影値のピークは検出されない。図７（Ａ）の右端に示すように、画像内に人物Ｐが存在する場合には、図７（Ｂ）の右端に示すように閾値以上のピークが検出される。
【００４９】
次に、ピーク位置追跡部３６は、各フレーム画像で検出された追跡候補ピークを、その位置に基づいて時間方向で対応付けていく処理（追跡処理）を実行する（ステップＳａ１４）。次に、ピーク毎人数推定部３７は、追跡処理により求められた追跡オブジェクトが何人の人物によって構成されるかを検出する（ステップＳａ１５）。そして、ピーク毎人数推定部３７は、追跡結果を追跡結果保存部３８に保存（追記）する（ステップＳａ１６）。
【００５０】
次に、情報処理装置３は、ユーザによる終了操作が指示されるなど、終了条件を満たすか否かを判別し（ステップＳａ１７）、終了条件を満たさない場合には（ステップＳａ１７−ＮＯ）、次のフレーム画像を処理対象とし（ステップＳａ１８）、ステップＳａ１０に戻って上述した処理を繰り返す。一方、終了条件を満たした場合には（ステップＳｂ１８のＹＥＳ）、情報処理装置３は処理を終了する。
【００５１】
次に、上述したステップＳａ１４における追跡処理について詳細に説明する。
図８は、本発明の第１実施形態における追跡処理を説明するための概念図である。図８の最上段に示される図は、情報処理装置３が取得するフレーム画像（入力画像）の具体例を示す図である。以下の説明では、矢印で示すように、人物Ｐが画像の右端から現れて左に向かって移動していく状態が撮影されたフレーム画像が情報処理装置３によって取得される。図８には、時刻ｔの時点の入力画像が示されている。
図８において、入力画像の下方に位置する図は、時刻ｔにおける射影値を示す図である。そして、図８の最下段に示される図は、各フレーム画像で検出されたピーク位置を時系列順にプロットした時空間プロットを示す図である。横軸がｘ軸、縦軸が時間（上が現在、下に行くほど過去）を表している。人物Ｐが少しずつ左に移動するにつれて、ピークの位置が少しずつ左に移動している。このような時空間プロットにおいて、ピーク位置に基づいてピークの対応付けを行う方法には様々な方法がある。以下、その一例を具体的に説明する。
【００５２】
まず、人物が一人もいない初期状態から、順を追って説明する。人物が一人もいない初期状態では、追跡候補ピークが存在していない。そのため、ピーク検出を行っても閾値を超えるピークが検出されない。この場合には、これ以上の処理は行わない。次に、画像内に１人の人物が現れ、ピークが検出されたとする。この時点では、過去に追跡していた人物が存在しないので、このピークを１人の人物（＝追跡オブジェクト）とする。追跡オブジェクトのデータとしては、追跡オブジェクトのＩＤ（通し番号などでよい）と、そのピーク位置（ｘ座標値：ｘ０とする）とを記録しておく。
【００５３】
次のフレームにおいて、この人物が少し移動しており、別のｘ座標値ｘ１にピークが検出されたとする。次の処理として、前回検出された追跡オブジェクト（前回検出されて追跡オブジェクトに設定されているピーク（ｘ座標がｘ０））と、現在検出されたピークｘ１とが対応するかどうかを判定する。この判定処理は以下のように行われる。まず、ｘ０とｘ１のｘ軸上での距離（差）を算出する。次に、この距離が所定の閾値より小さいか否か判定する。距離が閾値より小さい場合には、今回検出されたピーク（ｘ座標値ｘ１）が現時点の追跡オブジェクトに対応するものであると判定する。
【００５４】
この場合、前回設定された追跡オブジェクトをｘ１に継承（追跡）する。一方、距離が閾値より大きい場合には、ｘ１を新たな追跡オブジェクトとして判定する。また、複数の追跡候補ピークが閾値内の距離にある場合には、一番距離の小さいものへ継承（追跡）する。
【００５５】
このように、ピーク位置追跡部３６は、追跡オブジェクトの前回のピーク位置と現在の追跡候補位置とを比較しながら追跡し、必要に応じて新たな追跡オブジェクトを生成していく。上記処理を繰り返すことにより、追跡が複数回成功した場合には、複数のピーク位置のデータがその追跡オブジェクトデータに記録されていく。なお、上述したように、ピークが次々と継承（追跡）されていく中で、過去数回分（その回数は予め設定しておく）のピーク座標を記録しておく。
【００５６】
追跡が複数回行われ、多数（所定の回数以上）のピーク位置が記録されている場合には、上述したような前回と現在との単純な位置比較ではなく、過去数回のピーク位置から、現在のピーク位置を予測しても良い。そして、予測位置からの距離が閾値内であるかを評価することにより、より正確な追跡が可能となる。
【００５７】
過去数回（例えば３回）のピーク位置の並びを参照し、その時空間画像での傾き（Δｘ：１フレーム毎に平均どのくらいｘが変化するか）を求める。前回のピーク位置ｘｎにΔｘを加えたｘｎ＋Δｘを現在の予測位置とする。そして、予め決めておいた閾値を上記予測位置に加算又は減算した値を予測範囲の両端とすることにより、過去数回の動きも踏まえた形での追跡を行うことができる。
【００５８】
なお、過去何回のピーク位置から予測するかを複数パターン用意しておき、その両方の条件に合致する場合にピークを継承する（追跡する）、もしくは、そのどちらかの条件に合致する場合にピークを継承（追跡）してもよい。これにより、より高度に判断（短時間の予測と長時間の予測とから総合的に判断）することも可能となる。図８には、過去３回のピーク位置から予測する短時間予測と、過去８回のピーク位置から予測する長時間予測とを示している。
【００５９】
これらの処理を行いながら、ピーク位置追跡部３６は、追跡オブジェクトに対応するピークが存在しなくなった時点で、その追跡オブジェクトデータを消去する。追跡処理を逐次実行していくことにより、追跡オブジェクトが生成された時点を「人物が現れた」とし、その追跡オブジェクトが消去された時点を「その人物が去った」として、通過人数を計測することができる。
【００６０】
次に、上述したステップＳａ１５におけるピーク毎の人数推定について詳細に説明する。追跡オブジェクトは、ピークを継承しながら追跡されていく。ピークは、一人の人物に対応するかも知れないし、複数の人物が固まって（集団で）移動しているものかも知れない。ピーク毎人数推定部３７は、追跡オブジェクトが何人によって構成されるかを推定する。
【００６１】
図９（Ａ）及び（Ｂ）は、本発明の第１実施形態による、追跡オブジェクトの人数推定方法を説明するための概念図である。図９（Ａ）に示すように、ピークが１つの場合には、ピークａの両側に予め指定された幅２Ｌ（左右にＬずつ）の範囲を設定し、この範囲の一次元射影値Ｐ（ｘ）の値を加算する。すなわち、ｘ＝ｘａ−Ｌからｘ＝ｘａ＋Ｌの範囲において、射影値ｐ（ｘ）を累積加算する。累積加算の結果が、ピークに属する人数の推定値である。なお、このような推定処理は、式（１）が成立していることを前提として可能となる。
【００６２】
また、図９（Ｂ）のように、２つのピーク（ピークａ及びピークｂ）が、上述した幅Ｌ以内の位置にある場合には、以下のように推定処理を行っても良い。まず、ピーク位置ａ及びピーク位置ｂの中点で、追跡オブジェクトを分離する。中点の座標（ｘａｂ）は、ｘａｂ＝（ｘａ＋ｘｂ）／２として表すことができる。次に、ピークａに関しては、ｘ＝ｘａ−Ｌからｘ＝ｘａｂの範囲において、射影値ｐ（ｘ）を累積加算する。累積加算の結果が、ピークａに属する人数の推定値である。また、ピークｂに関しては、ｘ＝ｘａｂからｘ＝ｘｂ＋Ｌの範囲において、射影値ｐ（ｘ）を累積加算する。累積加算の結果が、ピークｂに属する人数の推定値である。なお、ピークａ及びピークｂの中点ｘａｂに代えて、ピークａ及びピークｂの間の極小値を与えるｘ座標（ｘｍｉｎ）を求め、ｘｍｉｎで分割してもよい。
【００６３】
既知のシルエット（人物の標準的なシルエット（形状とサイズ））と実際の人物とは、形状、サイズとも一定のずれがある。ゆえに、１人の人物が写っている場合でも、ピーク毎の人数の推定値は、例えば０．８５や、１．１７など１．０に近い値をとるものの、必ずしも１．０には一致しない。また、２人の場合も同様に、１．８２人などのように、２に近いが必ずしも２．０に一致しない。
【００６４】
そこで、上記のようにピーク毎のｐ（ｘ）の累積加算値をそのままの推定人数とせず、例えば小数点第一位で四捨五入することにより整数の値として人数の推定値としても良い。このような四捨五入の処理を追跡オブジェクトの全てのピークについて行うことで、各フレーム画像における推定人数が算出される。そして、それぞれの追跡オブジェクトが生成されてから消滅するまでの間の推定人数の統計値（平均値、最頻値など）を最終的なその追跡オブジェクトを構成する人数としても良い。これらの処理を継続的に行っていくことで、所定時間内にその場所を何人の人が通過したかを計測することができる。
【００６５】
上述した第１実施形態によれば、カメラパラメータから求められるスケール変換係数を用いて計算される１次元射影値のピーク値を追跡することで、移動体の追跡処理において計算コストの低減化を図ることが可能となる。
【００６６】
［第２実施形態］
次に、本発明の第２実施形態について説明する。なお、本発明の第２実施形態は、上記第１実施形態と同様の部分があるので、補足する形で説明する。
【００６７】
図１０は、本発明の第２実施形態による通過人数計測装置１の機能構成を示す概略ブロック図である。なお、図２に示される構成と同じ構成には、図２と同一の符号を付けて説明を省略する。
図１０において、オプティカルフロー算出部４１は、時間的に近接する複数枚のフレーム画像から、画像上でのみかけの速度場であるオプティカルフローを算出する。一次元射影部４２は、予めスケール変換係数記憶部３４に記憶されているスケール変換係数を参照し、前景画素とオプティカルフローとを１次元のライン上に射影する。ピーク位置・移動方向検出部４３は、前景画素に関する射影値からピーク位置を検出する。さらに、ピーク位置・移動方向検出部４３は、ピーク位置がライン上のどちらの向きに動いているかを示す移動方向を、オプティカルフローの射影結果から推定する。
【００６８】
ピーク位置追跡部４４は、以前のフレーム画像において検出されていたピーク位置と現在のフレーム画像で検出されたピーク位置とを対応付ける。より具体的には、ピーク位置追跡部４４は、第１実施形態でのピークの継承（追跡）における、ピーク間の距離（予測位置に含まれるかどうか）の評価基準に加え、過去の移動方向（瞬間の移動方向推定結果が整合するかどうか）の評価基準に基づいて総合的に継承（追跡）を行う。すなわち、ピーク位置だけでなく、ピークのオプティカルフローから判定された移動方向の情報にも基づいて追跡を行う。
【００６９】
次に、第２実施形態の動作について説明する。
図１１は、本発明の第２実施形態による通過人数計測方法の処理の流れを説明するためのフローチャートである。本発明の第２実施形態による通過人数計測方法は、上述した第１実施形態と同様に、計測を行う前に一度実施しておけばよい初期設定時の処理と、実際の計測時の処理とを含む。図１１のステップＳｂ１〜Ｓｂ４に示す初期設定時の処理は、第１実施形態における図３のステップＳａ１〜Ｓａ４に示す初期設定時の処理と同じである。
【００７０】
以下、第２実施形態における計測時の処理について説明する。情報処理装置３は、カメラ２又は映像保存部３１から映像データを取得し、以下の処理（ステップＳｂ１０〜Ｓｂ１９）を繰り返し行うことにより、人物の通過人数を計測する。
【００７１】
まず、フレーム画像取得部３０は、カメラ２又は映像保存部３１からフレーム画像を取得する（ステップＳｂ１０）。次に、前景検出部３２は、入力されたフレーム画像を処理することにより、現時点のフレーム画像における前景画素を検出する（ステップＳｂ１１）。次に、オプティカルフロー算出部４１は、時間的に近接する複数枚のフレーム画像からオプティカルフローを算出する（ステップＳｂ１２）。
【００７２】
オプティカルフローを算出する処理は、時間的に連続した２枚、もしくは３枚以上の画像を用いて画像上の見かけの動き（速度場）を算出する処理である。オプティカルフローを算出する処理は、画像処理の分野では基本的な処理の一つとして知られている。オプティカルフローの算出方法には、様々なものが存在しており、本発明の第２実施形態ではその方法を限定しない。オプティカルフローを算出することで、画像上の各場所（各画素）で、どのような動きが観測されたかが得られる。つまり、速度場Ｖｘ（ｘ，ｙ）、Ｖｙ（ｘ，ｙ）を得ることができる。ここで、Ｖｘはｘ方向での速度成分を示し、Ｖｙはｙ方向の速度成分を示している。これらが各画素（ｘ，ｙ）について算出されているので、速度場をＶｘ（ｘ，ｙ）、Ｖｙ（ｘ，ｙ）と表記する。
【００７３】
次に、一次元射影部４２は、スケール変換係数記憶部３４に保存されているスケール変換係数を参照し、検出された前景画素と算出されたオプティカルフローとを１次元のライン上、例えばｘ軸（水平方向）上に射影する（ステップＳｂ１３）。より具体的には、一次元射影部４２は、現時点のフレーム画像において算出された速度場について、射影軸方向（この例ではｘ軸方向）の成分を見て、これが正の値であるか負の値であるか判定する。
【００７４】
図１２（Ａ）〜（Ｄ）は、本発明の第２実施形態による一次元射影の処理の一例を示す概念図である。図１２（Ａ）が現在のフレーム画像の例、図１２（Ｂ）が検出された現在の前景画像の例である。また、図１２（Ｃ）が、図１２（Ｂ）に示す前景画素の中で、右向きの速度場が観測された画素を点、左向きの速度場が観測された画素を斜線で可視化したものである。図１２（Ｄ）及び（Ｅ）が、一次元射影の結果を示す射影画像の例である。なお、図１２（Ｄ）及び（Ｅ）では、第１実施形態と同様、射影後にｘ軸方向での平滑化処理（ガウシアンフィルタなど）を施した結果を示している。一次元射影部４２は、射影軸方向の成分が正であるものと負であるものとをそれぞれ分けて一次元射影する。例えば、一次元射影部４２は、左向きの画素のみついてｗ（ｘ，ｙ）の値を参照しながら一次元射影する。その結果の例が、図１２（Ｄ）である。さらに、一次元射影部４２は、右向きの画素のみついてｗ（ｘ，ｙ）の値を参照しながら一次元射影する。その結果の例が、図１２（Ｅ）である。
【００７５】
次に、ピーク位置・移動方向検出部４３は、第１実施形態と同様に、前景の一次元射影からピーク位置を検出するとともに、ピーク位置における右向き画素の射影値と左向き画素の射影値とを比較する。ピーク位置・移動方向検出部４３は、値の大きい方を、そのピーク位置での移動方向推定結果とする（ステップＳｂ１４）。すなわち、ピーク位置・移動方向検出部４３は、ピークについては、その位置だけでなく、オプティカルフローに基づいてピークの瞬間での移動方向（右か左か）を判定する。
【００７６】
次に、ピーク位置追跡部４４は、第１実施形態による継承（追跡）において、ピーク間の距離（予測位置に含まれるかどうか）の評価基準と、過去の移動方向（瞬間の移動方向推定結果が整合するかどうか）の評価基準とに基づいて、総合的に継承（追跡）を行う（ステップＳｂ１５）。すなわち、ピーク位置追跡部４４は、ピーク位置の追跡時に、ピーク位置だけでなく、ピークのオプティカルフローから判定された瞬間での移動方向の情報も加味して追跡処理を実行する。
【００７７】
例えば、過去の瞬間での移動方向推定結果（正又は負）と、現在の追跡候補ピークの移動方向（正又は負）とが同じである場合に継承（追跡）し、異なる場合には継承しなくとも良い。このように、瞬間の移動方向に基づいて追跡を行うことによって、より精度よく追跡することが可能となる。
【００７８】
次に、ピーク毎人数推定部３７は、追跡処理により求められた追跡オブジェクトが何人の人物によって構成されるかを検出し（ステップＳｂ１６）、追跡結果を追跡結果保存部３８に保存（追記）する（ステップＳｂ１７）。
【００７９】
次に、情報処理装置３は、ユーザによる終了操作が指示されるなど、終了条件を満たすか否かを判別し（ステップＳｂ１８）、終了条件を満たさない場合には（ステップＳｂ１８−ＮＯ）、次のフレーム画像を処理対象とし（ステップＳｂ１９）、ステップＳｂ１０に戻って上述した処理を繰り返す。一方、終了条件を満たした場合には（ステップＳｂ１８のＹＥＳ）、情報処理装置３は、処理を終了する。
【００８０】
上述した第２実施形態によれば、カメラパラメータから求められるスケール変換係数を用いて計算される１次元射影値のピーク値を追跡することで、移動体の追跡処理において計算コストを低減することができる。また、本発明の第２実施形態によれば、瞬間の移動方向に基づいて追跡を行うことにより、より精度よく追跡することができる。
【００８１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００８２】
１…通過人数計測装置，  ２…カメラ，  ３…情報処理装置，  ３０…フレーム画像取得部，  ３１…映像保存部，  ３２…前景検出部，  ３３，４２…一次元射影部，  ３４…スケール変換係数記憶部，  ３５…ピーク位置検出部，  ３６，４４…ピーク位置追跡部，  ３７…ピーク毎人数推定部，  ３８…追跡結果保存部，  ４０…記録媒体，  ４１…オプティカルフロー算出部，  ４３…ピーク位置・移動方向検出部
【図１】
0005461597.tif 000008
【図２】
0005461597.tif 000009
【図３】
0005461597.tif 000010
【図４】
0005461597.tif 000011
【図５】
0005461597.tif 000012
【図７】
0005461597.tif 000013
【図８】
0005461597.tif 000014
【図９】
0005461597.tif 000015
【図１０】
0005461597.tif 000016
【図１１】
0005461597.tif 000017
【図６】
0005461597.tif 000018
【図１２】
0005461597.tif 000019