【文献】
Yu-Shan Chen et al.,"Multiple People Visual Tracking in a Multi-Camera System for Cluttered Enviroments",2016 IEEE/RSJ International Conference on Intelligent Robots and Systems,米国,IEEE,2006年10月 9日,pp.675-680
【文献】
岩元 浩太、外2名,“信頼度パラメータを用いた広域動画像における人物追跡”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2002年 1月10日,Vol.101, No.558,pp.13-18
(58)【調査した分野】(Int.Cl.,DB名)
視野空間へ出入口近傍でのオブジェクト数の変化に基づいてオブジェクトの視野空間への入退を監視し、入退の有無に基づいて前記フレーム間マッチングを評価することを特徴とする請求項1ないし3のいずれかに記載のオブジェクト追跡装置。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は、本発明の一実施形態に係るオブジェクト追跡装置の主要部の構成を示した機能ブロック図であり、視野が重複し、視点が異なる複数のカメラ映像に基づいてオブジェクトを識別し、フレーム間で追跡する。本実施形態では、視野が重複するカメラが2台設置されており、2つのカメラ映像に基づいてオブジェクトを識別、追跡する場合を例にして説明する。
【0015】
このようなオブジェクト追跡装置は、汎用のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部がハードウェア化またはROM化された専用機や単能機としても構成できる。
【0016】
画像取得部101は、一方のカメラ映像Ic1および他方のカメラ映像Ic2を取得する。オブジェクト抽出部102は、各カメラ映像Ic1,Ic2のフレーム画像から全てのオブジェクトTを抽出する。マッピング部103は、フレーム画像から抽出したオブジェクトTを共通のフロアマップMf上にマッピングする。これにより、カメラ映像の抽出元に関わらず、各オブジェクトTに対して共通の座標系上で位置属性を付することが可能になる。
【0017】
図2は、2つのカメラ映像Ic1,Ic2から抽出したオブジェクトTを共通のフロアマップMf上にマピングする例を示した図であり、一方のカメラ映像Ic1から抽出した4つのオブジェクトT11,T12,T13,T14および他方のカメラ映像Ic2から抽出した4つのオブジェクトT21,T22,T23,T24が、フロアマップMf上の位置p1',p2',p3',p4'にそれぞれマッピングされている。
【0018】
グラフ構築部104は、各カメラ映像Icからフレームごとに抽出したオブジェクトTに基づいて、各オブジェクトTに対応した頂点Viおよび各オブジェクトTを関連付けるエッジEiを用いて、次式(1)-(5)で定義される属性付き無向グラフGiを構築する。
【0020】
なお、各符号の定義は以下の通りである。
Gi:カメラ映像Iciに基づいて構築したグラフ
Vi:グラフGiの頂点群
N,M:各頂点を識別する序数
Ei:グラフGiのエッジ群
vn:n番目の頂点
emn:m番目の頂点とn番目の頂点とを関連付けるエッジ
【0021】
p:カメラビュー上での位置
p':フロアマップ上での位置
c:オブジェクトの色特徴量
θ:2つの頂点間の方向角度
d:2つの頂点間の距離
【0022】
また、本実施形態では、説明を簡略化するために次の表記法を定義する。
vn[p]:n番目の頂点のカメラビュー上での位置属性
vn[p']:n番目の頂点のフロアマップ上での位置属性
vn[c]:n番目の頂点に対応したオブジェクトの色特徴
emn[θ]:m番目の頂点とn番目の頂点とを関連付けるエッジの方向属性
emn[d]:m番目の頂点とn番目の頂点とを関連付けるエッジの長さ属性
【0023】
Vi[p]:グラフGi内の全頂点のカメラビュー上での位置属性のセット
Vi[p']:グラフGi内の全頂点のフロアマップ上での位置属性のセット
Vi[c]:グラフGi内の全頂点に対応したオブジェクトの色属性のセット
Ei[θ]:グラフGi内の全エッジの方向属性のセット
Ei[d]:グラフGi内の全エッジの長さ属性のセット
【0024】
図3は、前記グラフ構築部104の機能を模式的に示した図であり、オブジェクトTが頂点V1で定義されている。同一フレーム内で他のオブジェクトを定義する頂点V2,V3は、エッジE12,E13によって前記頂点V1に関連付けることができる。頂点V1は頂点V3に対して方向角度θ13および長さL13の属性を有する。
【0025】
図4は、上記の手順を繰り返して、前記カメラ映像Ic1から抽出したオブジェクト集合をグラフ化する方法を示した図であり、前記4つのオブジェクトT11,T12,T13,T14が、それぞれ頂点V11,V12,V13,V14で表現され、各頂点VをエッジE1112,E1113,E1114,E1213,E1214,E1314で関連付けることでグラフG1が構築されている。
【0026】
カメラ間マッチング部105は、グラフG1の各頂点V1とグラフG2の各頂点V2とを、フロアマップ上での各頂点間の位置属性および各オブジェクトの色属性に基づいて齟齬なく対応付ける。
【0027】
マップベース距離計算部105aは、フロアマップ上での各頂点Vの位置属性に基づいてグラフG1,G2間での各頂点間のユークリッド距離を次式(6)に基づいて計算する。色ベース距離計算部105bは、各頂点Vに対応するオブジェクトの色属性に基づいてグラフG1,G2間での各頂点間のバッチチェリ距離を次式(7)に基づいて計算する。なお、式(7)において、μは各頂点に対応するオブジェクトの色分布の平均であり、σ
2は各頂点に対応するオブジェクトの色分布の分散である。
【0028】
【数2】
ラウンドマッチング実行部105cは、グラフG1,G2の各頂点間で前記位置属性のユークリッド距離および色属性のバッチチェリ距離を指標としてラウンドマッチングを実行し、対応するオブジェクトを識別する。
【0029】
図5は、前記カメラ間マッチング部105における各オブジェクトのマッチング手順を示したフローチャートである。
【0030】
ステップS300では、グラフG1の全ての頂点Vに関して後述する処理が完了したか否かが判断される。完了していなければ、ステップS301へ進んで今回の注目エントリ(i,j)のマッチング結果Match(i,j)がリセット(=0)される。ステップS302では、グラフG2の全ての頂点Vに関して処理が終了したか否かが判断される。終了していなければステップS303へ進み、注目エントリ(i,j)のフロアマップ上での距離S(p'(i),p'(j))が取得される。
【0031】
ステップS304では、前記マップベース距離S(p'(i),p'(j))が第1閾値未満であるか否かが判断される。本実施形態では、第1閾値が「32」に設定されており、マップベース距離S(p'(i),p'(j))<32であればステップS305へ進む。
【0032】
ステップS305では、グラフG1のi番目の頂点とグラフG2の全頂点との距離の最小値p'
min(i)が取得される。ステップS306では、グラフG2のj番目の頂点とグラフG1の全頂点との距離の最小値p'
min(j)が取得される。ステップS307では、前記各最小距離p'
min(i),p'
min(j)が今回の注目ペア(i,j)のマップベース距離S(p'(i),p'(j))と一致するか否かが判断される。一致すればステップS308へ進み、注目エントリ(i,j)のマッチング結果Match(i,j)がセット(=1)される。
【0033】
一方、前記ステップS304においてマップベース距離S(p'(i),p'(j))<32ではないと判断されるとステップS309へ進み、マップベース距離S(p'(i),p'(j))<128であるか否かが判断される。マップベース距離S(p'(i),p'(j))<128であればステップS310へ進み、注目エントリ(i,j)の色ベース距離S(c(i),c(j))が取得される。ステップS311では、色ベース距離S(c(i),c(j))<25であるか否かが判断される。
【0034】
色ベース距離S(c(i),c(j))<25であればステップS312へ進み、グラフG1のi番目の頂点を除いた全頂点に関して判断が終了したか否かが判断される。終了していなければステップS313へ進み、注目エントリ(i,j)と同一列上の他のエントリのマップベース距離S(p'(k),p'(j))が取得される。ステップS314では、注目エントリのマップベース距離S(p'(i),p'(j))と前記同一列上の各エントリのマップベース距離S(p'(k),p'(j))とが比較され、S(p'(k),p'(j))<S(p'(i),p'(j))であればステップS315へ進む。
【0035】
ステップS315では、前記同一列上の各エントリの色ベース距離の最小値S
min(c(i),c(j))が取得される。ステップS316では、色ベース距離の最小値S
min(c(i),c(j))が前記ステップS314の要件を満たしたエントリS(p'(k),p'(j))の色ベース距離S(c(k),c(j))と比較され、値が一致していればステップS317へ進む。ステップS317では、前記同一列上のエントリ(k,j)のマッチング結果Match(k,j)がセットされる。
【0036】
これに対して、前記ステップS316において、S
min(c(i),c(j))とS(c(k),c(j))とが等しくないと判断されるとステップS318へ進み、S(c(k),c(j))とS
min(c(i),c(j))とが比較され、S(c(k),c(j))<S
min(c(i),c(j))であれば、ステップS319へ進んでエントリ(k,j)のマッチング結果Match(k,j)がセットされる。
【0037】
図1へ戻り、グラフ構築部106は前記グラフ構築部104と同様に、今回フレームから抽出したオブジェクトTに基づいて無向グラフGfを構築し、前回フレームから抽出したオブジェクトTに基づいて無向グラフGf-1を構築する。
フレーム間マッチング部107は、前回フレームで抽出されたオブジェクトと今回フレームで抽出されたオブジェクト間で、一方のカメラビュー上での位置属性、他のカメラビュー上での位置属性およびマッピング先のフロアマップ上での位置属性に基づいてオブジェクトマッチングを実施する。
【0038】
フレーム間マッチング部107において、マップベース距離計算部107aは、次式(8)に基づいてフロアマップ上での各頂点間距離SFを計算する。第1カメラビューベース距離計算部107bは、次式(9)に基づいて、第1カメラビューでの位置属性に基づいて各頂点間距離Sc1を算出する。第2カメラビューベース距離計算部107cは、次式(10)に基づいて、第2カメラビューでの位置属性に基づいて各頂点間距離Sc2を算出する。
【0040】
相対距離計算部107dは、上記3種の類似度パラメータを統合して類似度指標値Distを次式(11)に基づいて計算する。Dist行列構築部107eは、この類似度指標値Distを行列要素とするDist行列を構築する。ラウンドマッチング実行部107fは、グラフGf,Gf-1の各頂点間で前記Dist値を指標としてラウンドマッチングを実行し、対応するオブジェクトを識別する。
【0042】
ここで、相関位置Pos
cは次式(12)で求められる。
【0044】
図6は、前記フレーム間マッチング部107によるマッチング手順を示したフローチャートであり、ステップS601,S602では、それぞれ今回フレームから抽出したグラフGfの全頂点および前回フレームから抽出したグラフGf-1の全頂点の全ての組み合わせに関して、後述する頂点間の相対距離の計算が完了したか否かが判断される。完了していなければ、ステップS603以降へ進んで各頂点間の相対距離の計算が繰り返される。
【0045】
ステップS603では、各グラフGf,Gf-1の頂点座標をマッピングしたフロアマップ上での各頂点間距離SFが上式(8)に基づいて計算される。ステップS604では、第1カメラビューの座標系上での各頂点間距離Sc1が上式(9)に基づいて計算される。ステップS605では、第2カメラビューの座標系上での各頂点間距離Sc2が上式(10)に基づいて計算される。ステップS606では、前記各頂点間距離SF,Sc1,Sc2に基づいて各頂点間類似度Dist
x,yが上式(11)に基づいて計算され、ステップS607において、各頂点間の相対距離を行列要素Dist
x,yとするDist行列が完成する。
【0046】
ステップS608では、Dist行列において注目するエントリと同一行の各エントリに関して後述する全ての処理が完了したか否かが判断される。完了していなければステップS609へ進み、今回の注目エントリ(x,y)のマッチング結果Match(x,y)が初期化(=0)される。ステップS610では、注目エントリ(x,y)の同一列に関して後述する全ての処理が完了したか否かが判断され、完了していなければステップS611へ進む。
【0047】
ステップS611では、注目エントリの相対距離Dist
x,yが取得される。ステップS612では、相対距離Dist
x,yが所定の第1閾値Dref1(ここでは、Dref1=24)未満であるか否かが判断され、Dist
x,y<Dref1であればステップS613以降へ進む。
【0048】
ステップS613では、注目エントリ(x,y)と同一列状の全てのエントリに関して判断が終了したか否かが判断される。最初は終了していないと判断されるのでステップS614へ進み、注目エントリと同一行の他のエントリの相対距離Dist
z,yが取得される。ステップS615では、Dist
z,y<Dist
x,yであるか否かが判断される。Dist
z,y<Dist
x,yでなければステップS616,S617へ進み、前記Dist
z,yと同一列内で相対距離が最小値Dist
x,y|minのエントリが探索される。ステップS618では、当該最小値Dist
x,y|minを与えるエントリ(x,y)のマッチング結果Match(x,y)がセットされる。
【0049】
一方、前記ステップS615において、Dist
z,y<Dist
x,yと判断されるとステップS619,S620,S621へ進み、同一列内に相対距離Dist
x,yが40未満となるエントリ(x,y)が存在するか否かが判断される。
【0050】
相対距離Dist
x,y<40のエントリが存在すればステップS622,S623,S624へ進み、同一行内で当該相対距離Distx,yよりも相対距離の小さいエントリが探索され、そのようなエントリ(x,z)が見つかると、ステップS625において、当該エントリのマッチング結果Match(x,z)がセットされる。
【0051】
図1へ戻り、マッチング結果処理部108は、今回フレームから抽出したグラフGfの各頂点と前回フレームから抽出したグラフGf-1の各頂点とのマッチング結果が一対一対応となるようにマッチング結果を修正すると共に、視野空間へのオブジェクトの入退が検知されていると、一対一対応とならない場合でもフレーム間マッチングの結果を正当と評価する。
図7は、前記マッチング結果処理部108によるマッチング結果の修正手順を示したフローチャートであり、ステップS701では、今回フレームから抽出されてマッチング結果Match(x,y)がセットされているオブジェクトの個数N1が取得される。ステップS702では、今回フレームと前回フレームとの各オブジェクトの類似度指標値Distに関する行列が取得される。
ステップS703では、同一列の全てのエントリに関して処理が完了したか否かが判断され、最初は完了していないと判断されるのでステップS704へ進み、同一行の全てのエントリに関して処理が完了したか否かが判断される。完了していなければステップS705へ進み、今回の注目エントリ(x,y)のDist(x,y)値およびマッチング結果Match(x,y)が取得される。
ステップS706では、マッチング結果Match(x,y)が参照され、セット(対応するオブジェクトとして登録されている)されていればステップS707へ進む。ステップS707では、注目エントリ(x,y)と同一列での全エントリのDist値の最小値Dist
x|minおよび同一行での全エントリのDist値の最小値Dist
y|minが探索される。
ステップS708では、注目エントリ(x,y)のDist(x,y)値が前記最小値Dist
x|minおよび最小値Dist
y|minのいずれとも一致するか否かが判断される。いずれとも一致すれば、現在のマッチング結果Match(x,y)=1を維持したままステップS704へ戻る。これに対して、少なくとも一方と一致しなければ、重複マッチングの可能性があるのでステップS709へ進み、マッチング結果Match(x,y)をリセットした後にステップS704へ戻る。
一方、前記ステップS706において、マッチング結果Match(x,y)がセットされていないと判断されるとステップS710へ進み、注目エントリ(x,y)と同一列での全エントリのDist(x,y)値の最小値Dist
x|minおよび同一行での全エントリのDist(x,y)値の最小値Dist
y|minであって、かつそのDist値がマッチング判定の閾値に準ずる程度に小さい(本実施形態では、2.8<Dist値<<100)エントリが探索される。
ステップS711では、探索結果が今回の注目エントリ(x,y)と同一であるか否かが判断される。同一であれば、ステップS712へ進んでマッチング結果Match(x,y)がセットされ、同一でなければ、現在のマッチング結果Match(x,y)=0を維持したままステップS704へ戻る。
上記の処理が全てのエントリに対して完了するとステップS713へ進み、今回フレームから抽出されてマッチング結果Match(x,y)がセットされているオブジェクトの個数N2が改めて取得される。ステップS714では、N1とN2とが比較され、N1=N2であれば当該処理を終了する。
これに対して、N1≠N2であればステップS715へ進み、オブジェクトの入退室の有無が判断される。オブジェクトの入退室が検知されていなければステップS702へ戻って当該処理が繰り返される。これに対して、オブジェクトの入退室が検知されていれば、N1≠N2の原因が当該入退室にあり、マッチング結果は正当なので当該処理を終了する。
すなわち、オブジェクトのフロアマップ上での位置p'をオブジェクト領域の中心位置または重心位置で代表したような場合、同一のオブジェクトであってもフレーム間でオブジェクト領域の大きさが異なる場合がある。そして、オブジェクト領域が大きくなるほど、オブジェクトの実際の位置とオブジェクト領域の中心位置(重心位置)との距離が大きくなる傾向があるため、フレーム間での距離が同一オブジェクトにかかわらず大きくなってマッチング関係に無いと誤判断される場合がある。
そこで、本実施形態ではこのような誤判断を修正すべく、注目エントリのDist(x,y)が同一列、同一行内で最小値であり、かつマッチング判定の閾値に準ずる程度に小さければ、マッチング結果をセットするようにした。
本実施形態では、撮影範囲の出入口近傍の所定範囲内でオブジェクトの個数を検知してフレーム間で比較し、前回フレーフとの比較で今回フレームのオブジェクト数が増えていれオブジェクトの入室があったと判断し、オブジェクト数が減っていれオブジェクトの退室があったと判断するようにしている。
よび退出を検知して処理する。
【0052】
再投影部109は、
図8に示したように、マッチングされたグラフの各頂点VをフロアマップMf上にマッピングし、さらにフロアマップMf上の各頂点Vを各カメラビューに再投影する。これにより、各カメラ映像から抽出したオブジェクトTの対応関係を正確に識別できるようになる。
【0053】
なお、上記の実施形態では本発明をカメラが2台の場合を例にして説明したが、本発明はこれのみに限定されるものではなく、撮影範囲が広く、カメラが3台以上設置される場合にも同様に適用できる。
【0054】
図9は、5台のカメラ(cam1,cam2,cam3,cam4,cam5)が設置された例を示した図であり、このような場合、本実施形態では5台のカメラから選択した2台のカメラ間でオブジェクトの抽出、カメラ間追跡およびフレーム間追跡が実行される。例えば、cam1/cam5のカメラペア、cam2/cam5のカメラペア、cam3/cam5のカメラペアおよびcam3/cam4のカメラペアにおいて、それぞれをカメラ間追跡およびフレーム間追跡が実行される。その結果、各カレラペアでの追跡結果を、例えばフロアマップ上への各オブジェクトのマッピング位置に基づいて追跡結果を同期させることができる。
【0055】
例えば、カメラペアcam1/cam5の視野内で各カメラ映像に基づいて追跡されていたオブジェクトObj11がカメラペアcam2/cam5の視野内に移動すると、カメラペアcam2/cam5は各カメラ映像に基づいてオブジェクトObj11の追跡を開始すると同時に、カメラペアcam1/cam5による追跡結果に基づいて識別情報を受け取ることができ、これにより移動前後での一貫した追跡が可能になる。