(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024041997
(43)【公開日】2024-03-27
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06T 7/254 20170101AFI20240319BHJP
G06T 7/00 20170101ALI20240319BHJP
G06T 7/70 20170101ALI20240319BHJP
G06V 10/50 20220101ALI20240319BHJP
【FI】
G06T7/254 A
G06T7/00 660Z
G06T7/70 Z
G06V10/50
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2024007200
(22)【出願日】2024-01-22
(62)【分割の表示】P 2022123727の分割
【原出願日】2016-01-13
(31)【優先権主張番号】P 2015004963
(32)【優先日】2015-01-14
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】宮野 博義
(57)【要約】 (修正有)
【課題】混雑した環境でも監視対象の移動状況を精度よく推定できる移動状況推定装置、移動状況推定方法および移動状況推定プログラムを提供する。
【解決手段】画像入力部11と、人数推定部12と、フロー計算部13と、状態記憶装置14と、状態予測部15と、滞留情報計算部16と、個別人物検出部17と、状態更新部18と、人数出力部19とを備える移動状況推定装置は、複数の領域に存在する人数の時系列変化に基づき、人物の移動経路を推定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の領域に存在する人数の時系列変化に基づき、人物の移動経路を推定する推定手段、
を備える情報処理システム。
【請求項2】
前記推定手段は、
前記複数の領域ごとの人数を推定し、
前記複数の領域ごとに推定された前記人数の時系列変化に基づき、前記移動経路を推定する、
請求項1に記載の情報処理システム。
【請求項3】
さらに、前記移動経路を表示させる表示制御手段、
を備える請求項1または2に記載の情報処理システム。
【請求項4】
前記表示制御手段は、前記複数の領域ごとに推定された前記人数に応じた態様を表示させる、
請求項3に記載の情報処理システム。
【請求項5】
さらに、前記複数の領域ごとに推定された前記人数に応じた態様を表示させる表示制御手段、
を備える請求項1または2に記載の情報処理システム。
【請求項6】
前記表示制御手段は、前記人数に応じた色を表示させる、
請求項3から5のいずれか1項に記載の情報処理システム。
【請求項7】
前記領域は撮像画像における局所領域である、
請求項1から6のいずれか1項に記載の情報処理システム。
【請求項8】
コンピュータが、
複数の領域に存在する人数の時系列変化に基づき、人物の移動経路を推定する、
情報処理方法。
【請求項9】
複数の領域に存在する人数の時系列変化に基づき、人物の移動経路を推定する推定処理、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は移動状況推定装置、移動状況推定方法およびプログラム記録媒体に関する。
【背景技術】
【0002】
画像中の群衆を認識する技術が種々提案されている。例えば、特許文献1には、人混みを撮影した映像から人の数を計測する人数計測装置が記載されている。特許文献1に記載された人数計測装置は、画像に含まれる人の頭部を頭部モデルに基づいて抽出し、位置情報や色分布等の特徴量を用いて、フレーム間で同一の人物と判断される頭部位置を連結し、その連結結果から人の人数を計測する。
【0003】
また、非特許文献1には、群衆の人数を推定する方法が記載されている。非特許文献1に記載された方法は、人物同士の重なりを含めた群衆状態を局所的な画像で示す「群衆パッチ(crowd-patch)」で捉え、パッチ内の人数を回帰学習することで、静止画像から人数を推定する。
【0004】
なお、特許文献2には、調査対象地点における通行量データを得ることができる通行量測定システムが記載されている。特許文献2に記載されたシステムは、所定の調査対象領域を撮像した画像から調査対象領域の通行人を識別し、その通行人の数を判定する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010-198566号公報
【特許文献2】特開2001-76291号公報
【非特許文献】
【0006】
【非特許文献1】池田浩雄、大網亮磨、「群衆パッチ学習に基づく人数推定」、第12回情報科学技術フォーラム講演論文集、情報処理学会、pp.129-130、Sept. 2013
【発明の概要】
【発明が解決しようとする課題】
【0007】
混雑した環境では、撮影される人物の重なりが大きく、個々の人物を検出することや個々の人物を追跡することが困難である。そのため、どの程度の人数が移動しているかを判断することは難しい。例えば、特許文献1に記載された方法を用いた場合、フレームレートが低い場合など、同一の人物と判断される頭部位置を追跡できなければ、撮影された人の流れや人数を計測することは困難である。また、特許文献2に記載されたシステムも、混雑環境では調査対象領域内の個々の通行人を認識するのは困難なため、領域内の通行人の量を適切に把握することが難しい。
【0008】
一方、非特許文献1に記載された群衆パッチを用いることで、フレームレートに依存せずに画像中の群衆を認識することは可能である。しかし、非特許文献1に記載された群衆パッチを用いた場合、画像中の所定の領域に存在し得る人数を予測することは可能だが、その観測対象の物体がどの程度の数だけ移動しているか推定することは困難である。
【0009】
本発明の例示的な目的の一つは、混雑した環境でも監視対象の移動状況を精度よく推定できる移動状況推定装置、移動状況推定方法および移動状況推定プログラムを提供することである。
【課題を解決するための手段】
【0010】
本開示の一態様に係る情報処理システムは、複数の領域に存在する人数の時系列変化に基づき、人物の移動経路を推定する推定手段、を備える。
【0011】
本開示の一態様に係る情報処理方法は、コンピュータが、複数の領域に存在する人数の時系列変化に基づき、人物の移動経路を推定する。
【0012】
本開示の一態様に係るプログラムは、複数の領域に存在する人数の時系列変化に基づき、人物の移動経路を推定する推定処理、をコンピュータに実行させる。
【発明の効果】
【0013】
本発明によれば、混雑した環境でも監視対象の移動状況を精度よく推定できる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、移動状況推定装置の一実施形態を例示するブロック図である。
【
図2】
図2は、監視対象の数量を推定する処理の例を示す説明図である。
【
図3】
図3は、監視対象の移動状況の例を示す説明図である。
【
図4】
図4は、監視対象の数量が推定された局所領域と、その局所領域に存在する粒子との関係を示す説明図である。
【
図5】
図5は、局所領域が重なった場合に重み値を更新する処理の例を示す説明図である。
【
図6】
図6は、検知確率が異なる状況の例を示す説明図である。
【
図7】
図7は、所定の位置を通過した監視対象の数量を算出する処理の例を示す説明図である。
【
図8】
図8は、移動状況推定装置の動作例を示すフローチャートである。
【
図9】
図9は、移動状況推定装置の概要を例示するブロック図である。
【
図10】
図10は、コンピュータ装置のハードウェア構成を例示するブロック図である。
【発明を実施するための形態】
【0015】
[実施形態]
以下、本発明の実施形態を図面を参照して説明する。なお、本発明でいう監視対象は、以下の実施形態の説明においては人物が例示されているが、人物以外の自転車や自動車のような物体であってもよい。
【0016】
図1は、本発明による移動状況推定装置の一実施形態を示すブロック図である。本実施形態の移動状況推定装置100は、画像入力部11と、人数推定部12と、フロー計算部13と、状態記憶装置14と、状態予測部15と、滞留情報計算部16と、個別人物検出部17と、状態更新部18と、人数出力部19とを備えている。なお、同図に示す矢印は、データの流れの一例を示すものである。移動状況推定装置100におけるデータの流れは、特定の方向に限定されない。
【0017】
画像入力部11は、映像(動画)からある処理時刻の時点における画像を取得する。以下、画像入力部11が取得した画像のことを「対象画像」と記す。画像入力部11は、時間的に連続する複数の対象画像の入力を受け付ける。
【0018】
人数推定部12は、撮影された人数を対象画像中の局所領域ごとに推定する。すなわち、人数推定部12は、入力された対象画像の局所領域ごとに人数(監視対象の数量)を推定する。
【0019】
人数推定部12が人数を推定する方法は、特に限定されない。人数推定部12は、例えば、非特許文献1に記載された群衆パッチと対象画像の局所領域とを比較して人数を推定してもよく、特許文献1に記載された方法のように、対象画像を含む複数の画像を利用して人数を推定してもよい。
【0020】
図2は、人数を推定する処理の例を示す説明図である。
図2に例示するように、人数推定部12は、対象画像20から局所領域21を抽出し、その局所領域21に含まれる人物の数を推定する。
図2に示す例では、人数推定部12は、局所領域21に4人存在すると推定する。
【0021】
なお、人数出力部19は、
図2に密度マップ30によって例示されるように、局所領域ごとに推定された人数を、その人数に応じた態様(色、濃淡など)で表した画像を出力してもよい。なお、人数出力部19が実行する具体的な処理は、後述される。
【0022】
上述したように、画像入力部11から時間的に連続する複数の対象画像が入力されるため、人数推定部12は、各局所領域における人数の推移(時系列変化)を捉えることができる。特に、混雑した環境では、人物がある程度の集団で移動することが考えられる。そこで、人数推定部12は、局所領域の人数の推移から人物の移動状況を推定する。
【0023】
具体的には、人数推定部12は、人数が推定された時点における人物の動きから人物の将来の位置を予測する。人数推定部12は、初期状態では監視対象が全ての方向に等確率および等速で移動すると仮定しておけばよい。さらに、人数推定部12は、予測された将来の人物の位置に基づき、各局所領域における将来の人数も推定する。説明の便宜上、以下においては、人数推定部12による将来の人数の推定のことを「予測」という。
【0024】
人物の位置を予測する際、人数推定部12は、各人物が等速で移動すると仮定してもよいが、後述する状態予測部15の予測結果を用いてもよい。
【0025】
人数推定部12は、将来のある時点において、局所領域ごとに事前に予測された人数と、当該時点において対象画像から局所領域ごとに推定された人数とを比較する。そして、人数推定部12は、人数の差がより小さい局所領域を重視して、人物の移動状況を推定する。具体的には、人数推定部12は、特定の局所領域にいた人物が、当該局所領域に近接する複数の局所領域のうち対象画像から推定された人数の差が最も小さい局所領域へ移動したと推定してもよい。
【0026】
また、
図2に例示する密度マップ30は、人物の移動状況を表す。
図3は、人物の移動状況の例を示す説明図である。
図3に例示する密度マップは、色が薄い領域ほど多くの人物が存在することを示している。
【0027】
例えば、人数推定部12が、ある時点における対象画像の領域31aおよび領域31bに多くの人物がいたと推定したとする。人数推定部12が推定を続けた結果、別の時点における対象画像の領域32aおよび領域32bに多くの人物が移動したとする。この時系列変化から、領域31aから領域32aへの人物の移動(矢印33a)と領域31bから領域32bへの人物の移動(矢印33b)を把握することが可能になる。
【0028】
また、人数推定部12は、ある時点における対象画像に含まれる人物が、当該時点において新規に現れた人物であるか、当該時点より前に対象画像に現れていた既存の人物(すなわち撮影された領域内で移動した人物)かを判断してもよい。例えば、人数推定部12は、対象画像から人物の移動が予測されていなかった位置において人物の存在を推定した場合、当該人物が新規に現れた人物であると判断してもよい。
【0029】
フロー計算部13は、対象画像についてオプティカルフローを計算する。オプティカルフローの計算方法は、特に限定されない。フロー計算部13は、例えば、Lucas-Kanade法のように特徴点を用いてオプティカルフローを計算してもよく、Horn-Schunck法のように変分法を用いてオプティカルフローを計算してもよい。
【0030】
状態記憶装置14は、人物の過去の状態を記憶する。ここで、人物の状態には、過去の時点における人物の位置、速度、尤度(重み値)が含まれる。また、人物の状態には、人物の動作状態(移動状態または静止状態)が含まれていてもよい。
【0031】
例えば、PHD(Probability Hypothesis Density)パーティクルフィルタを用いる場合、1つの監視対象の状態は、複数の粒子で表現される。この場合、状態記憶装置14は、粒子の数をNとすると、i番目(i=1・・・N)の粒子の状態として、通常のパーティクルフィルタで保持される情報である、位置xi、速度vi及び重み値wiを保持する。状態記憶装置14は、各粒子の状態として、これらの情報に加えて、人物が移動状態か静止状態かを表す変数siを保持してもよい。
【0032】
なお、粒子の重み値wiの総和は、監視対象の数量、すなわち人数に対応する。例えば、PHDパーティクルフィルタにおいて、1つの監視対象あたり100個の粒子を新たに散布する場合、そのときに設定される各粒子の重み値は、「0.01」になる。
【0033】
状態予測部15は、状態記憶装置14に記憶されている過去の人物の状態を用いて、画像入力部11が画像を取得した時刻における人物の状態を予測する。状態予測部15は、人物の位置、速度および重み値以外に、その人物の動作状態が移動状態か静止状態かも含めて予測してもよい。
【0034】
具体的には、状態予測部15は、人物の状態を表現する複数の粒子を用いて、当該人物の将来の状態を予測する。なお、本実施形態では、状態予測部15がPHDパーティクルフィルタを用いて物体の状態を予測する方法が説明される。状態予測部15は、画像入力部11が対象画像を取得した時刻における人物の状態を予測する。
【0035】
上述した例のように、PHDパーティクルフィルタを用いた場合では、1つの監視対象の状態は複数の粒子で表現される。粒子の数をNとすると、i番目(i=1・・・N)の粒子の状態は、通常のPHDパーティクルフィルタで保持される情報である、位置xi、速度vi及び重み値wiを用いて表される。なお、粒子の状態は、さらに人物が移動状態か静止状態かを表す変数siを用いて表されていてもよい。
【0036】
状態予測部15が位置および速度を予測する方法は、一般的なパーティクルフィルタで行われる予測方法と同様である。例えば、ある時点における粒子の位置をxとしたとき、当該粒子のdt経過後の位置は、x+v×dt+eで表される。ここで、eは、等速運動モデルでは表現できないノイズを表し、例えば、予め定められた標準偏差の正規分布に基づいて生成される乱数値である。また、位置xにおける粒子の速度をvとしたとき、当該粒子のdt経過後の速度は、v+fで表される。ここで、fは、等速運動モデルでは表現できないノイズを表し、例えば、予め定められた標準偏差の正規分布に基づいて生成される乱数値である。
【0037】
以下、状態予測部15が動作状態を予測する方法を説明する。ここでは、人物の動作状態は、予め定められた確率Pに従って静止状態から移動状態に遷移し、予め定められた確率Qに基づいて移動状態から静止状態に動作状態が遷移するものとする。
【0038】
siが静止状態を表す場合、状態予測部15は、0から1の一様乱数を生成し、その乱数値がP以下であれば、移動状態を示す値にsiを変更する。一方、siが動作状態を表す場合、状態予測部15は、0から1の一様乱数を生成し、その乱数値がQ以下であれば、静止状態を示す値にsiを変更する。
【0039】
他にも、状態予測部15は、過去の履歴や統計結果に基づいて変数siの状態を予測してもよい。例えば、追跡対象の人物が静止状態から移動状態に遷移し、siが移動状態を示す値になっているとする。この遷移が最近行われたものであり、移動状態に遷移してから予め定められた期間を経過していない場合、この追跡対象は、すぐには静止状態に戻らないと推測できる。そこで、この場合、状態予測部15は、動作状態を移動状態に一定期間保持するようにしてもよい。
【0040】
同様に、追跡対象の人物が移動状態から静止状態に遷移し、siが静止状態を示す値になっているとする。この遷移が最近行われたものであり、静止状態に遷移してから予め定められた期間を経過していない場合、この追跡対象は、すぐには移動状態に戻らないと推測できる。この場合、状態予測部15は、動作状態を静止状態に一定期間保持するようにしてもよい。
【0041】
他にも、状態予測部15は、画像中の場所に応じて動作状態を遷移させる状況を変化させてもよい。例えば、状態予測部15は、画像中の通路が映された領域では、移動状態から静止状態への遷移確率Qを小さく設定してもよい。また、状態予測部15は、画像中の待ち合わせが多いエリアが映された領域では、遷移確率Qを大きく設定してもよい。
【0042】
滞留情報計算部16は、画像入力部11で取得された対象画像を用いて、滞留物と判定される領域を抽出する。滞留情報計算部16は、例えば、長期間静止している物体を検知する手法を用いて、一時的な静止物体か否かを画素ごとに判定し、ラベリング処理によって一時的な静止物と判定される領域を検出してもよい。
【0043】
個別人物検出部17は、対象画像から人物を個別に検出する。例えば、画像の手前側に映された人物は、他の物体による遮蔽が少ないため、一般的な検出方法で検出できる場合が多い。そこで、個別人物検出部17は、人物を個別に検知可能な領域(以下、個別検知領域と記す。)を設定しておき、対象画像の個別検知領域から人物を検出する。
【0044】
状態更新部18は、状態予測部15が予測した人物の状態を、人数推定部12の推定結果に基づいて更新する。また、状態更新部18は、フロー計算部13、滞留情報計算部16および個別人物検出部17の処理結果に基づいて人物の状態を更新してもよい。以下、状態更新部18が監視対象を更新する方法を具体的に説明する。
【0045】
状態更新部18は、人数推定部12が推定した各局所領域の人数に応じて、対応する領域における人物の状態を更新する。本実施形態では、状態更新部18は、人数推定部12が推定した各局所領域の人数に応じて、対応する領域に存在すると予測された粒子の重み値wiを更新する。
【0046】
状態更新部18は、具体的には、局所領域の重みの総和が人数と等しくなるように、各粒子の重み値wiを更新する。このとき、状態更新部18は、重み値wiの変化が緩やかになるように、予め定められた0から1までの値αを用いて、更新後の重みの総和が(1-α)×(前回の重みの総和)+(α×人数)になるように各粒子の重み値wiを更新してもよい。このように、状態更新部18は、重み値の総和が局所領域の人数に近づくように粒子の重み値を更新してもよい。
【0047】
図4は、人数が推定された局所領域と、その局所領域に存在する粒子との関係を示す説明図である。
図4において、白または黒の円が粒子を示す。黒の粒子は、移動方向(図中の矢印)が特定方向と同一または所定の角度内にある粒子を示す。
図4に示す例では、対象画像の局所領域41aに存在し、移動方向が特定方向と同一または所定の角度内にある人物は、4人である。また、局所領域41bに存在し、移動方向が特定方向と同一または所定の角度内にある人物は、3人である。また、局所領域41cに存在し、移動方向が特定方向と同一または所定の角度内にある人物は、2人である。例えば、状態更新部18は、局所領域41cに含まれる3つの粒子に対して、重み値の合計が2になるように、各粒子の重み値を更新する。
【0048】
また、人数推定部12が重なり合う局所領域を対象に人数を推定した場合、状態更新部18は、局所領域ごとに個別に粒子の重み値を更新してもよく、重なり合う局所領域を一まとめにした領域に対して、粒子の重み値を一括で更新してもよい。領域を一まとめにして粒子の重み値を更新する場合、状態更新部18は、重なっている領域の人数を、各局所領域の人数を加味した人数(例えば、重なっている局所領域の人数の平均)とすればよい。
【0049】
図5は、局所領域が重なった場合に重み値を更新する処理の例を示す説明図である。
図5に示す例では、部分的に重なる3つの局所領域に対して人数を推定する場合を示す。この場合、状態更新部18は、局所領域42a、局所領域42bおよび局所領域42cを一まとめにした領域に対して、粒子の重み値を一括で更新してもよい。また、状態更新部18は、各局所領域に含まれる粒子の重みを、局所領域42a、局所領域42bおよび局所領域42cのそれぞれについて個別に更新してもよい。
【0050】
状態更新部18は、局所領域に含まれる粒子の重み値を、すべて同じ割合で更新してもよく、粒子ごとに異なる割合で更新してもよい。状態更新部18は、例えば、人物の検知確率に応じて、更新する重み値を変化させてもよい。具体的には、各粒子の検知確率をPiとし、推定される人数をHとしたとき、状態更新部18は、更新する各粒子の重み値wiを、[(1-Pi)*wi+H*(Pi*wi)/{(Pi*wi)の総和}]と算出してもよい。
【0051】
このような重み値wiを採用することで、状態更新部18は、検知確率が高いほど、推定される人数Hの影響を受ける重み値を設定できる。なお、仮に人物が検知されない場所の場合、検知確率が0になるため、重み値は変化しない。検知確率に応じて更新する重み値を変化させることで、例えば、低俯角から撮影された画像について、より検知確率の高い領域の情報を優先して更新処理を行うことが可能になる。
【0052】
図6は、検知確率が異なる状況の例を示す説明図である。
図6に例示するように、対象画像の奥側は低俯角で撮影されることが多い。例えば、局所領域43の周囲44の検知確率は、手前から奥にかけて低くなると想定される。そこで、状態更新部18は、手前側に存在する粒子の重みを高めに更新し、奥側に存在する粒子の重みを低めに更新する。
【0053】
なお、人数推定部12が人数を推定した局所領域に対応する位置に粒子が存在しない場合、状態更新部18は、その位置に新規に粒子を発生させる。具体的には、状態更新部18は、予め定められた標準偏差の正規分布に従って、その位置の近傍にランダムに新規に粒子を生成すればよい。
【0054】
また、状態更新部18は、対象画像のオプティカルフローに近い動きの粒子の重み値wiを増加させるように更新してもよい。このとき、状態更新部18は、重みの総和を変えないように、粒子の重み値wiを更新する。
【0055】
例えば、オプティカルフローのベクトルと、粒子iの動きを示すベクトルとの動きの近さLiは、両ベクトルのなす角度をθとすると、Li=(cosθ+1)/2で、算出される。Liは、動きがオプティカルフローに近い粒子ほど大きくなる値である。重み値の総和をSとしたとき、状態更新部18は、各粒子の重み値を[Li*wi/{(Li*wi)の総和}]*Sで更新してもよい。このような更新をすることで、オプティカルフローに近い動きをする粒子ほど重み値wiが大きくなる。
【0056】
なお、オプティカルフローに近い動きの粒子の重み値を更新する方法は、上記方法に限定されない。他にも、状態更新部18は、両ベクトルのなす角度θが閾値以下の場合に粒子の重み値を単純に正の定数倍し、その後、定数倍した重み値の総和が元の重み値の総和Sと等しくなるように各重み値を正規化してもよい。また、状態更新部18は、動きの近さを判定する際に、両ベクトルの距離が閾値以下の粒子を、動きが近い粒子と判定してもよい。
【0057】
また、状態更新部18は、滞留情報計算部16が滞留物と判定した領域と粒子の移動状態との近さに応じて、粒子の重み値を更新してもよい。具体的には、状態更新部18は、滞留情報計算部16が滞留物と判定した領域と移動状態が静止状態と予測された粒子との距離が近いほど、その粒子の重み値を大きくするように更新してもよい。このとき、状態更新部18は、例えば、オプティカルフローに近い動きの粒子の重み値を更新する方法と同様の方法を用いて、粒子の重み値を更新すればよい。
【0058】
また、状態更新部18は、個別人物検出部17が個別検知領域において人物を検出した場合、検出された人物に対応する領域に存在する粒子の重み値については、PHDパーティクルフィルタで行われる一般的な方法で重み値を更新してもよい。すなわち、状態更新部18は、個別人物検出部17が人物を検出した範囲については、推定された各局所領域の人数を用いる以外の方法で、各局所領域に含まれる粒子の重み値を更新してもよい。このように、撮影される画像の領域に応じて、より適した予測方法を選択することで、監視対象を追跡する精度を高めることが可能になる。
【0059】
状態更新部18は、重み値wiが閾値以下の粒子を削除する。また、状態更新部18は、一般的な追跡処理と同様に人物の位置情報を更新する。状態更新部18は、更新した人物の状態を状態記憶装置14に記録する。また、状態更新部18は、各粒子の重み値に応じて粒子を散布し直すリサンプリングを行ってもよい。
【0060】
人数出力部19は、人物の状態に基づいて、撮影範囲内の人数を出力する。具体的には、人数出力部19は、状態更新部18が更新した粒子の重み値wiを用いて、対象画像に含まれる人数を出力する。
【0061】
上述したように、粒子の重み値wiの総和は、人数に対応する。そのため、人数出力部19は、粒子の重み値wiの総和を算出して、撮影範囲内の人数を出力してもよい。また、所定の領域に存在する人数を出力する場合、人数出力部19は、その領域に存在する粒子を特定し、特定された粒子の重み値wiの総和を算出すればよい。
【0062】
また、各粒子の状態に動作状態が含まれている場合、人数出力部19は、例えば、静止状態の粒子の重み値wiの総和を算出して、撮影範囲内に滞留する人数を出力してもよい。
【0063】
また、人数出力部19は、現在の粒子の状態と過去の粒子の状態とを用いて、特定方向に移動した人数や、撮影範囲の所定の位置に定められた線をまたいだ(すなわち、所定の線を通過した)人数を出力してもよい。具体的には、人数出力部19は、所定の位置を通過した人数を、その位置を通過した粒子の重みに基づいて出力する。以下、時間的に変化する粒子を用いた人数の算出方法を説明する。
【0064】
特定方向に移動した人数を算出する場合、人数出力部19は、例えば、過去の位置と現在の位置とを結ぶ方向が、特定方向と同一または所定の角度内にある粒子を特定し、それらの粒子の重み値の総和を算出してもよい。なお、人数出力部19は、粒子の重み値の総和を算出する際、過去の粒子の重み値を用いてもよく、現在の粒子の重み値を用いてもよく、両方の粒子の重み値の平均を用いてもよい。
【0065】
また、所定の線を通過した人数を算出する場合、人数出力部19は、前回の位置から今回の位置へ移動する際に所定の線を通過した粒子を特定し、それらの粒子の重み値の総和を算出する。例えば、所定の線を通過する粒子のうち特定方向に移動した粒子のみを対象とする場合、人数出力部19は、その所定の線の法線ベクトルと粒子の移動方向を示すベクトルとの内積が0以上の粒子を対象としてもよい。具体的には、ここでいう所定の線が水平な直線であるとすると、この直線を通過する粒子には、この直線よりも上の位置から下の位置に移動する粒子と、この直線よりも下の位置から上の位置に移動する粒子とが存在する。人数出力部19は、これらの粒子のうちの上から下に移動する粒子を対象とする場合には、水平な直線に対する法線ベクトル(この場合、真下に向かうベクトル)と各々の粒子の移動方向を示すベクトルの内積を算出し、内積が0以上の粒子を対象とする。
【0066】
そして、人数出力部19は、所定期間内の重み値の総和を積算することで、所定期間に所定の線を通過した人数を出力できる。なお、人数出力部19は、重み値の総和を算出する際に用いられる粒子の重み値として、特定方向に移動した人数を算出する場合と同様に、現在の重み値、過去の重み値またはその両方を用いることが可能である。
【0067】
なお、現在の時点で新たに生成された粒子は、過去の状態を有していないため、これらの人数を算出するための対象には含まれない。
【0068】
図7は、所定の位置を通過した監視対象の数量を算出する処理の例を示す説明図である。
図7に例示する点線の円は過去の粒子を示し、実線の円は現在の粒子を示す。また、
図7に例示する矢印は、過去から現在への粒子の移動状況を示す。
【0069】
一例として、実線52で示した位置を上方向から下方向へ通過した人数を算出する場合を想定する。このとき、人数出力部19は、実線52を上方向から下方向へ通過した粒子を特定し、特定した粒子の重みの総和を算出する。
図7に示す例では、粒子50b、粒子50cおよび粒子50dが実線52を上方向から下方向へ通過している。そこで、人数出力部19は、粒子50b、粒子50cおよび粒子50dの粒子の重みの総和を算出し、通過人数として出力する。例えば、一定期間内の通過人数を出力したい場合、人数出力部19は、一定期間内の粒子の重みの総和を積算すればよい。
【0070】
画像入力部11、人数推定部12、フロー計算部13、状態予測部15、滞留情報計算部16、個別人物検出部17、状態更新部18および人数出力部19は、プログラムによって実現され得る。また、これらの各部は、このプログラムに従って動作するコンピュータのプロセッサによって実現され得る。
【0071】
図10は、移動状況推定装置100を実現するコンピュータ装置200のハードウェア構成を例示するブロック図である。コンピュータ装置200は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、記憶装置204と、ドライブ装置205と、通信インタフェース206と、入出力インタフェース207とを備える。移動状況推定装置100は、
図10に示される構成(又はその一部)によって実現され得る。
【0072】
CPU201は、RAM203を用いてプログラム208を実行する。プログラム208は、ROM202に記憶されていてもよい。また、プログラム208は、フラッシュメモリなどの記録媒体209に記録され、ドライブ装置205によって読み出されてもよいし、外部装置からネットワーク210を介して送信されてもよい。通信インタフェース206は、ネットワーク210を介して外部装置とデータをやり取りする。入出力インタフェース207は、周辺機器(入力装置、表示装置など)とデータをやり取りする。通信インタフェース206及び入出力インタフェース207は、データを取得又は出力する手段として機能することができる。
なお、移動状況推定装置100は、単一の回路(プロセッサ等)によって構成されてもよいし、複数の回路の組み合わせによって構成されてもよい。ここでいう回路(circuitry)は、専用又は汎用のいずれであってもよい。
【0073】
CPU201は、プログラム208に従って、画像入力部11、人数推定部12、フロー計算部13、状態予測部15、滞留情報計算部16、個別人物検出部17、状態更新部18および人数出力部19として機能してもよい。
【0074】
また、画像入力部11、人数推定部12、フロー計算部13、状態予測部15、滞留情報計算部16、個別人物検出部17、状態更新部18および人数出力部19は、それぞれが専用のハードウェアで実現されていてもよい。また、状態記憶装置14は、記憶装置204によって実現されてもよいし、通信インタフェース206を介して接続された外部装置であってもよい。
【0075】
次に、本実施形態の移動状況推定装置100の動作を説明する。
図8は、本実施形態の移動状況推定装置100の動作例を示すフローチャートである。人数推定部12は、時間的に連続する複数の画像を用いて、各画像の局所領域ごとに人数を推定する(ステップS11)。そして、人数推定部12は、各局所領域において推定された数量の時系列変化から人物の移動状況を推定する(ステップS12)。
【0076】
具体的には、人数推定部12は、推定された時点の人物の移動状況から人物の将来の位置を予測して各局所領域における将来の人数を予測する。人物の移動状況は、例えば、人物を表す粒子の状態から判断できる。人数推定部12は、例えば、状態予測部15が予測した将来の粒子の位置から、将来の人数を予測できる。そして、人数推定部12は、各局所領域について、予測された人数と推定された人数の差が小さい局所領域を重視する。
【0077】
以上のように、本実施形態では、人数推定部12が、時間的に連続する複数の画像を用いて、各画像の局所領域ごとに人数を推定し、各局所領域において推定された人数の時系列変化から人物の移動状況を推定する。そのため、本実施形態によれば個々の人物を追跡することが困難な混雑した環境でも、人物の移動状況を精度よく推定できる。
【0078】
また、本実施形態では、状態予測部15が、人物の状態を表現する複数の粒子を用いて、人物の将来の状態を予測し、人数出力部19が、重みを有する粒子を対象として人数を算出する。すなわち、本実施形態によれば、重み値を有する粒子を用いて監視対象の状態を追跡することにより、特定の箇所を通過した人数の測定が可能である。また、本実施形態によれば、特定の箇所を単に通過した人数だけでなく、特定の方向へ移動する人物の人数を測定することが可能である。これにより、ある場所の単純な混み具合だけでなく、その場所における流量(人の流れ)を測定することも可能になる。
【0079】
[概要]
次に、本発明の実施形態の概要を説明する。
図9は、本実施形態における移動状況推定装置の概要を示すブロック図である。
図9に示す移動状況推定装置は、時間的に連続する複数の画像を用いて、各画像の局所領域ごとに監視対象の数量を推定する数量推定部81と、各局所領域において推定された数量の時系列変化から監視対象の移動状況を推定する移動状況推定部82とを備えている。数量推定部81および移動状況推定部82は、上述した実施形態における人数推定部12に相当する。
【0080】
このような構成の移動状況推定装置は、混雑した環境でも監視対象の移動状況を精度よく推定できる。
【0081】
また、移動状況推定部82は、推定された時点の監視対象の移動状況から監視対象の将来の位置を予測して各局所領域における監視対象の将来の数量を予測してもよい。移動状況推定部82は、局所領域ごとに予測された将来の監視対象の数量と、将来の時点において対象画像から局所領域ごとに推定された監視対象の数量とを比較し、数量の差がより小さい局所領域を重視して、監視対象の移動状況を推定してもよい。
【0082】
また、移動状況推定部82は、対象画像に撮影された監視対象が、新規の監視対象か対象画像内を移動した監視対象かを判断して、監視対象の移動状況を推定してもよい。
【0083】
また、移動状況推定装置は、監視対象の状態を表現する複数の粒子を用いて、監視対象の将来の状態を予測する予測部(例えば、状態予測部15)を備えてもよい。また、移動状況推定装置は、推定された各局所領域の監視対象の数量に応じて、その各局所領域に含まれると予測された粒子に設定される重み値を更新する更新部(例えば、状態更新部18)を備えてもよい。
【0084】
そして、移動状況推定部82は、各局所領域に含まれる粒子の重み値の総和の時系列変化から監視対象の移動状況を推定してもよい。このような構成によれば、監視対象が行う様々な移動状況に対応することが可能になる。
【0085】
具体的には、更新部は、局所領域に含まれると予測された粒子に設定される重み値の総和が、推定された対応する局所領域の監視対象の数量に近づくように、粒子に設定される重み値を更新してもよい。
【0086】
なお、1の監視対象の状態を表現する粒子には、合計が1になるように重み値が設定される。また、監視対象の状態を表現する粒子には、少なくとも、その監視対象の位置および速度が設定される。予測部は、粒子に設定された位置および速度に基づいて、監視対象の将来の位置を予測する。
【0087】
また、移動状況推定装置は、粒子に設定された重みに応じて監視対象の数量を出力する数量出力部(例えば、人数出力部19)を備えてもよい。
【0088】
具体的には、数量出力部は、所定の位置を通過した監視対象の数量を、その位置を通過した粒子の重みに基づいて出力してもよい。
【0089】
また、移動状況推定装置は、対象画像のオプティカルフローを計算するフロー計算部(例えば、フロー計算部13)を備えてもよい。そして、更新部は、オプティカルフローに近い動きの粒子の重み値を増加させるように更新してもよい。このような構成によれば、画像から推定される動きに近い粒子を重視して移動状況を推定することが可能になる。
【0090】
また、移動状況推定装置は、対象画像から滞留物と判定される領域を抽出する滞留情報計算部(例えば、滞留情報計算部16)を備えてもよい。そして、予測部は、視対象の将来の移動状態を予測し、更新部は、移動状態が静止状態と予測された粒子が滞留物と判定された領域に近いほど、その粒子の重み値を大きくするように更新してもよい。このような構成によれば、移動していない監視対象の状態を適切に判断できる。
【0091】
また、移動状況推定装置は、対象画像(具体的には、監視対象を個別に検知可能な範囲として対象画像に設定された個別検知領域)から監視対象を検出する監視対象検出部を備えてもよい。そして、更新部は、監視対象検出手段が監視対象を検出した範囲については、推定された各局所領域の監視対象の数量を用いる以外の方法で、その各局所領域に含まれると予測された粒子に設定される重み値を更新してもよい。このような方法としては、例えば、一般的なPHDパーティクルフィルタが重み値を更新する方法が挙げられる。
【0092】
このように、本発明の移動状況推定方法と、監視対象を実際に検出する方法とを組み合わせることで、監視対象の移動状況の推定精度を向上させることができる。
【0093】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【0094】
この出願は、2015年1月14日に出願された日本出願特願2015-004963を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【0095】
本発明は、移動する物体の数量を推定する移動状況推定装置に好適に適用される。本発明は、例えば、固定カメラ等を用いた監視システムなどにおいて、カメラで撮影された映像から人物や車などの物体の流れや、特定箇所を通過する物体の数を推定する装置に好適に適用される。
【符号の説明】
【0096】
11 画像入力部
12 人数推定部
13 フロー計算部
14 状態記憶装置
15 状態予測部
16 滞留情報計算部
17 個別人物検出部
18 状態更新部
19 人数出力部
20 対象画像
21,41a~41c,42a~42c,43 局所領域
50a~50f,51a~51f 粒子