【文献】
伊藤 渡 他,物体検出状態の階層的解析による複数物体追跡方式の提案,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1997年 5月15日,第97巻 第40号,pp.57-64
(58)【調査した分野】(Int.Cl.,DB名)
前記第2の時刻よりも遅い第3の時刻に撮影された第3の画像に映る移動体の数が前記第2の画像に映る移動体の数と異なる場合には、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別する、
請求項1記載の情報処理システム。
前記判別手段は、前記第2の画像の移動体に紐付けられた前記第1の画像の移動体の位置と、前記第3の画像の移動体の位置とに基づいて、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別する、
請求項2記載の情報処理システム。
【発明を実施するための形態】
【0012】
以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。
【0013】
(1 第1実施形態)
図1a乃至
図6は、第1実施形態を説明するための図である。以下、これらの図を参照しながら、次の流れに従って本実施形態を説明する。まず、「1.1」でシステムの動作の概要を説明する。その後、「1.2」でシステムの機能構成を説明し、「1.3」で処理の流れを、具体例を交えながら説明する。「1.4」では、本システムを実現可能なハードウェア構成の具体例を示す。最後に、「1.5」以降で、本実施形態に係る効果などを説明する。
【0014】
(1.1 概要)
(1.1.1 背景)
本実施形態は、たとえば監視カメラ等の撮影機器が撮影した映像(動画像)に対して画像解析処理を行い、例えば人物などの各種移動体を追跡する移動体追跡を行う情報処理システム(画像解析システム)に関する。
【0015】
複数の移動体が出現する可能性のある状況で移動体の追跡を行う場合には、それぞれの移動体が互いにすれ違うことがある。このような移動体のすれ違いに頑健な移動追跡方法として、例えば、複数台のカメラ(撮影機器)を用いて3次元上の仮想空間を作成した上で、カメラ毎の見え方の違いにより重なりを補間することにより移動体を追跡する方法を考えることができる。しかしながら、このような手法では必要となるカメラの台数が飛躍的に増加してしまうため、コストが上昇する等の問題が生じ、結果としてシステム導入の妨げとなってしまう。特に既存の監視カメラを流用した移動体追跡の重要の場においては、新たな監視カメラを追加せずに、2次元上でのみで高精度な移動体追跡が求められている。このような背景の下、2次元画像を用いた移動体追跡の精度を上げる必要性が高まっている。
【0016】
同一人物の動線情報や同一人物性が情報として価値を持つシステム、例えば商業店舗などにおける人物の移動情報の抽出や、重要施設等における特定経路を通過した人物の特定箇所への侵入検知といった機能を持つシステムにおいては、同一人物が正しく検出できるかどうかは、極めて重要な意味を持っている。昨今、ITインフラの発展や顧客情報価値に対する利用意識の高まり、また世界的な社会情勢に伴うより安心・安全な社会の実現への意識の高まりから、映像解析システムに対する利用ニーズはますます大きくなっており、システムから抽出できる情報に対しても、高度な要求がなされている。このような状況の下、より正確な同一人物の動線情報を取得すること(追跡)が必要となってきている。
【0017】
2次元上の映像解析システムにおいては、撮影時間の異なるそれぞれの画像に映る移動体が同一の移動体であるか否かを判定する際に、移動体を囲んだ矩形から割り出される基点位置の座標値をごく近い時間軸のみで比較することによる位置の差を判定基準とすることが多い。しかしながら、このように基点位置の座標値のみで同一移動体を検出する方法は、移動体同士がすれ違い等により映像上重なった場合には、同一移動体であるか否かを正確に検出することが困難である。
【0018】
(1.1.2 概要)
本実施形態に係る情報処理システムは、先述の通り、監視カメラ等の撮影機器の映像に対して画像解析処理を行うことにより、人物などの移動体追跡を行うものである。このような移動体追跡において、本実施形態では、移動体の個数、位置、大きさ、移動方向を、現在のデータと過去データとを一定のルールの元に比較及び判定することにより、移動体の映像上の重なりに対して頑健な移動体追跡を実現する。このような手法により、同一移動体の追跡を正確に行うことが可能となるため、時系列の画像に対して同一の移動体の追跡を行うシステムにおいて、より正確な結果を利用することが可能となる。
【0019】
より詳細には、本実施形態に係る情報処理システムでは、画像から移動体を含む矩形を特定した上で、当該矩形の個数応報、矩形の大きさ情報、及び矩形を元にした基点位置情報を利用して、これを様々に設定可能なルールに照らしあわせて比較、判定する。これにより、移動体同士の映像上の重なりや移動体の消失といった状況に対して、状況が解消された際に、状況発生以前の移動体と同一であるか否かを判定する。このような機能により、移動体同士の映像上の重なりや移動体の消失に対しても頑健性の強い移動体追跡が可能となる。
【0020】
図1a及び
図1bを参照しながら、本実施形態に係る情報処理システムの、同一移動体の検出方法を説明する。
図1bは、移動体2つがすれ違う場面を、本実施形態に係る情報処理システムで移動体追跡する状況を説明するための図である。ここで、本情報処理システムは、監視カメラが撮影している領域を、
図1aに示すように二次元の仮想空間上の座標範囲として規定する。仮想空間上の座標は、現実空間の縦横の長さと対応している。ここでは、映像の座標範囲の大きさは(640,480)である。また、当該映像の中で、破線で囲まれた領域((50,50)、(590,50)、(590,430)、(50,430)を頂点とする矩形領域)を、特定座標範囲とする。
以下、
図1bを参照しながら、同一移動体の抽出方法を具体的に説明する。
【0021】
まず、
図1bの各画像に示すように、移動体を含む画像領域を矩形、及びその位置を示す基点を特定する。特定された矩形やその大きさ、基点等は
図1bに示す通りであるものとする。その上で、これらの矩形及び位置を元に、同一移動体を抽出していく。
【0022】
同一移動体を抽出する1つめのルールとして、一定期間フレーム前の基点と現在の基点との差が、座標軸x、yのそれぞれの方向に関して閾値(ここでは、α及びβとする)よりも小さい場合には、両者は同一の移動体として判断することができる。
【0023】
図1bの(1)及び(2)の移動体Aを具体例に説明すると、(1)の移動体Aの基点(x
a、y
a)と(2)の移動体Aの基点(x
a'、y
a')とを比較した場合に、x
a'−x
a<α、y
a'−y
a<βであれば、両者は同一の移動体として判断することができる。
この他の、同一の移動体であるか否かを判断するルールとしては、以下のようなルールが考えられる。
【0024】
ルール1)特定座標範囲内に基点の座標があるIDが消失した場合、新規に出力されたIDの基点と消失したIDの基点とが一定範囲内の差(ここでは、x座標の閾値をγ、y座標の閾値をδとする)であれば、消失したIDを新規IDに紐付ける。同時に、消失したIDの基点及び矩形の代表値から計算された矩形の大きさを、消失したIDの関係値として、一時的に持つ。
ルール2)特定座標範囲内に基点のある、新規に出力されたIDは、消失したIDから紐付いている場合、自らが消失した場合に他のIDに紐付かない。
【0025】
ルール3)特定座標範囲内に基点のある、消失したIDが紐付いている現存IDは、自らの基点と一定範囲内の差(ここでは、x座標の閾値をε、y座標の閾値をζとする)である基点を持つ新規基点が現れた場合、紐付いたIDを新規基点に紐付ける。
【0026】
ルール4)新規基点に対して、消失したIDを紐付ける際には、新規IDの基点と紐付いたIDの基点座標の比較(ここでは、x座標の差がgより大きいか否か、y座標の差がhより大きいか否か)及び、新規矩形と消失時矩形の大きさ比較(ここでは、x座標の差がiより小さいか否か、y座標の差がjより小さいか否か)により、それぞれ一定値以上または以内であった場合に紐付ける対象を判定する。
【0027】
ルール5)特定座標範囲内に基点の座標があるIDが消失した場合、既存IDの基点と消失したIDの基点が一定範囲内の差(ここでは、x座標の閾値をγ、y座標の閾値をδとする)であれば、消失したIDを現存IDに紐付ける。
【0028】
ルール6)一定範囲内の差の基点の座標を持つ既存IDが複数ある場合、IDが消失する直前にかけて、矩形の大きさの変化が大きかった既存IDに、消失IDを紐付ける。
【0029】
このようなルールに基づいて、
図1bの(2)から(3)に対して移動体の同一性を判定する場合の処理の具体例について説明する。ここで、
図1bの(2)では、移動体AはID1のまま認識され続け、新たに出現した移動体BがID2として認識されている。移動体Bの基点は(x
b、y
b)である。また、(3)では、移動体Aと移動体Bとが重なった結果、当該両者が重なった画像が移動体Cとして認識されており、その基点は(x
c、y
c)である。
【0030】
ここでx
c−x
a'>α、y
c−y
a'>β、かつx
b−x
a'>α、y
b−y
a'>βだと、移動体Cは新規のID3として認識される。しかしながら、x
c−x
a'<γ、y
c−y
a'<δだと、ID1がID3に紐付けられる。つまり、一時的に、ID1の消失時の基点(x
a'、y
a')と矩形a’の大きさ(50,250)とを、ID3の移動体Cの関係値として持つこととなる(上記ルール1)。同様に、x
c−x
b<γ、y
c−y
b<δだと、ID2がID3に紐付けられる。これにより、一時的に、ID2の消失時の基点(x
b、y
b)と矩形bの大きさ(50,200)とを、ID3の移動体Cの関係値として持つこととなる。
【0031】
次に、
図1bの(3)から(4)に対して移動体の同一性を判定する場合の処理の具体例を説明する。ここで、
図1bの(4)では、移動体A’’’と移動体Dとが認識されており、それぞれ、基点は(x
b',y
b')及び(x
a'',y
a'')である。
【0032】
x
a''−x
c>α、y
a''−y
c>β、及びx
a''−x
c<ε、y
a''−y
c<ζであり、x
a''−x
b>g、y
a''−y
b>i、及び、矩形a’の大きさ(90,250)と矩形a’’’の大きさ(90,240)との差である(0,10)がそれぞれ(i,j)よりも小さいと、ID3の移動体Cに紐付いていたID1が矩形a’’’に紐付けられる(ルール3,4)。
【0033】
同様に、x
b'−x
c>α、y
b'−y
c>β、及びx
b'−x
c<ε、y
b'−y
c<ζであり、x
b'−x
b>g、y
b'−y
b>i、及び、矩形bの大きさ(50,200)と矩形b’の大きさ(60,210)との差である(10,10)がそれぞれ(i,j)よりも小さいと、ID3の移動体Cに紐付いていたID2が矩形b’に紐付けられる。
【0034】
図1bの(2)から(3’)に対して移動体の同一性を判定する場合の処理の具体例を説明する。ここで、(3)では、移動体Cが認識されており、その基点は(x
a',y
a')である。
【0035】
x
a''−x
a'<α、y
a''−y
a'<β、かつx
b−x
a'>α、y
b−y
a'>βだと、移動体Cは既存のID1として認識される。このとき、x
a'−x
b<γ、y
a'−y
b<δだと、ID2がID1に紐付けられる。これにより、一時的に、ID2の消失時の基点(x
b,y
b)と矩形bの大きさ(50,200)とを、ID1の移動体Cの関係値として持つこととなる。
【0036】
次に、
図1bの(3’)から(4)に対して移動体の同一性を判定する場合の処理の具体例を説明する。まず、移動体A’’’に対しては、x
a''−x
a'<α、y
a''−y
a'<βであれば、ID1として認識される。
【0037】
また、x
b'−x
a'>α、y
b'−y
a'>β、及びx
b'−x
a'<ε、y
b'−y
a'<ζであり、x
b'−x
b>g、y
b'−y
b>i、及び、矩形bの大きさ(50,200)と矩形b’の大きさ(60,210)との差である(10,10)がそれぞれ(i,j)よりも小さいと、ID1の移動体Cに紐付いていたID2が矩形a’’’に紐付けられる(ルール3,4)。
【0038】
(1.2 システムの機能構成)
次に、
図2を参照しながら、本実施形態に係る情報処理システム1の機能構成を説明する。
図2は、本実施形態に係る情報処理システム1の機能構成を示す機能ブロック図である。
【0039】
図2に示すように、本情報処理システム1は、大きく分けて、情報処理装置100、撮影機器200、及び結果表示装置300から構成される。なお、各装置に含まれる各部(各機能)は、それぞれ、計算や照合の結果生成したデータを互いに通信する機能を持つ。
【0040】
撮影機器200は画像を撮影する装置である。撮影機器200の具体例としては、例えば、カラーカメラやモノクロカメラ、サーモカメラなどが該当する。撮影される画像のデータ形式は、本実施形態では、画像解析処理時に一般的な画像形式であるBMPやJPGなどであるものとする。映像送信の形式(同軸ケーブルによるアナログ形式や、イーサネット(登録商標)ケーブルによる、デジタル方式等)はどのようなものでもよい。撮影機器200は、画像を撮影する機能群である撮影部210と、外部へ映像を送信する機能群である通信部220とを含む。
【0041】
撮影部210は、レンズやCCD素子などといった、画像を撮影するための機器および機構で構成される機能群である。通信部220は、BNC端子やLAN端子、および撮影した画像を特定の形式で保存し、特定の通信規格に基づいて画像をデータとして外部に送信するための機器および機構で構成される機能群である。通信部220によって外部に送信される画像のデータ形式についてはどのようなものでもよいが、本実施形態では、撮影される画像のデータ形式に合わせて、一般的な画像形式であるBMPやJPGであるものとする。
【0042】
情報処理装置100は、コンピュータハードウェアであり、例えば、サーバ機器等により実現することができる。情報処理装置100は、一般的なサーバ機器等と同じく、演算装置や主記憶装置、補助記憶装置、通信機構を備える。情報処理装置100は、通信部110と、画像解析部120と、同一移動体判定部130と、結果出力部140とを含む。
通信部110は外部の各機能との通信を行う機能であり、本実施形態では、撮影機器200の通信部220との通信により、画像データを受け取る。
画像解析部120は、例えばコンピュータプログラムにより実現され、移動体検出部121及び位置検出部123を含む。
【0043】
移動体検出部121は、撮影機器200から受信した画像を、既知の技術である背景差分法により解析処理することにより、撮影された画像中に写っている移動体部分を検出する機能を持つ。移動体検出部121は、検出した移動体に対して、検出タイミング毎に一意の識別IDおよび検出時刻を付与し出力する。識別IDは、数字や文字などの文字列であり、検出時刻も数値による文字列である。
【0044】
位置検出部123は、移動体検出部121によって検出された移動体部分の位置を仮想空間上の座標値として出力する機能を持つ。座標値は、移動体周辺を囲む矩形の大きさを表すことの出来る代表値2つと、矩形から計算された基点位置を含む。
同一移動体判定部130は、例えばコンピュータプログラムにより実現され、ルール設定部131、ルール照合部133、及び一時保存部135を含む。
【0045】
ルール設定部131は、移動体検出部121によって付与された識別データおよび検出時刻と、位置検出部123によって出力された座標値に対して、同一移動体として扱うか否かに関して比較、判定を行うルールを設定する機能を持つ。
【0046】
ルール設定部131により設定されるルールの具体例を
図3に示す。
図3に示すように、ルール設定部131が設定するルールには、条件ID、有効フラグ、同一判定閾値、特定座標範囲、新規ID紐付け有効フラグ、ID消失時紐付け基点閾値、紐付け有ID再紐付け有効フラグ、新規ID出現時紐付け基点閾値、基点座標変化値、矩形大きさ変化値、判定範囲時刻の設定項目が存在する。
条件IDは、個々のルール群を一意で識別するためのルールの項番、すなわちIDである。
図3の例では、条件IDは数値を値とする。
有効フラグは、条件の使用を有効とするかどうかのフラグ値である。
図3の例では、有効フラグは、ONまたはOFFのいずれかを表す値をとる。
【0047】
同一判定閾値は、後述する判定範囲時刻の時刻範囲で出力された基点同士が、x軸およびy軸に対して、どれだけの差に収まっている場合に同一IDと判定するかの閾値でありx軸およびy軸のそれぞれに対して数値をとる。
特定座標範囲は、仮想空間上の座標値において、どの範囲を特定座標範囲とするか設定する範囲値であり、x軸およびy軸に対して数値を取る。
【0048】
新規IDへの紐付け有効フラグは、同一IDと判定されなかった基点を持つ移動体(矩形)に対して、消失した基点を持つIDを紐付ける動作を行うか否かのフラグ値である。新規IDへの紐付け有効フラグは、ONまたはOFFのいずれかを表す値をとる。
【0049】
ID消失時紐付け基点閾値は、消失した基点を持つIDを、特定座標内で新規に出現した基点を持つIDに対して紐付ける際の、消失基点と新規出現基点の差の閾値である。つまり、ID消失時紐付け基点閾値は、x軸およびy軸に対して、それぞれ消失基点と新規出現基点の差がどれだけの差に収まっている場合に両者を紐付けるかを定める閾値であり、数値をとる。
【0050】
紐付け有ID再紐付け有効フラグは、消失基点に基づくIDが紐付いている現存IDが、基点消失により消失する場合、ID消失時紐付け基点閾値を参照して、他のIDに紐付けるか否かを判定するフラグ値である。紐付け有ID再紐付け有効フラグは、ONまたはOFFのいずれかを表す値をとる。
【0051】
新規ID出現時紐付け基点閾値は、現在、紐付いたIDを持つIDの周囲に新たに基点が検出された場合、新たな基点に対して紐付いていたIDを付与するか否かに関して、基点位置差をx軸およびy軸の値で設定する値である。新規ID出現時紐付け基点閾値は、数値を値とする。
【0052】
基点座標変化値は、紐付いたIDの関係値である基点と、新規に出現した基点の関係値であるIDとが同一であるか否かを判定する閾値である。紐付いたIDの関係値である基点と、新規に出現した基点との差が、x軸およびy軸のそれぞれに対して、基点座標変化値における設定値より大きい場合には、両者は同一と判定される。
【0053】
矩形大きさ変化値は、紐付いたIDの関係値である矩形の大きさと、新規に出現した基点の関係値である矩形の大きさを比較することで、IDが同一であるか否かを判定するための値である。矩形大きさ変化値は、x軸の長さおよびy軸の長さの差の値として規定される。
判定範囲時刻は、判定範囲となる基点座標群の時間の範囲を表す値である。
図3の例では、秒として設定されている。
【0054】
図2の説明に戻る。ルール照合部133は、移動体検出部121によって付与された識別IDおよび検出時刻と、位置検出部123によって出力された座標値、及び同一時刻に出力された識別ID個数とを元に、ルール設定部131に設定されたルールと照合することにより、2つの画像に映る移動体が同一移動体であるか否かを判定する機能を持つ。ルール照合部133は、判定結果を、確定IDおよび仮IDと共に出力する。ここで確定IDとは、移動体検出部121によって出力された識別IDに紐付く各データを比較、判定した後に判定結果が確定した場合に付与されるIDであり、移動体に対して一意の値を持つ。一方、仮IDとは、確定IDに対して紐付くIDがあった場合に、確定IDに付随する形で紐付けられるIDである。
【0055】
一時保存部135は移動体検出部121、位置検出部123およびルール照合部133によって出力された各種データを一時保存すると共に、各機能から一時保存した各種データを他の機能から参照できるようにする機能を持つ。一般的には、一時保存部135には、主記憶装置を利用することができる。
【0056】
結果出力部140は、例えばコンピュータプログラムにより実現することができる。結果出力部140は、ルール照合部133によって判定され、一時保存部135に一時保存された結果のうち確定IDが付いたデータの基点座標値、矩形の大きさを元にして、各種情報を結果表示装置300に出力する機能を持つ。一般的には、監視カメラの画像に移動体検出結果を重畳して表示することの出来る監視プログラム等が、結果出力部140に該当する。
結果表示装置300は、結果出力部140の動作結果を表示するハードウェアであり、例えば、ディスプレイ等により実現することができる。
【0057】
(1.3 処理の流れ)
以下、
図4乃至
図5bを参照しながら、本実施形態に係る処理の流れを、具体例を交えながら説明する。
【0058】
なお、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行することができ、また、各処理ステップ間に他のステップを追加しても良い。更に、便宜上1つのステップとして記載されているステップは複数のステップに分けて実行することもでき、便宜上複数に分けて記載されているステップを1ステップとして実行することもできる。
【0059】
図5a及び
図5bは、情報処理装置100による移動体の同一性判定の具体例を説明するための図である。
図5aに示すように、撮影機器200により撮影され、情報処理装置100により認識される仮想空間上の撮影範囲(座標)は、x軸方向に最大640、y軸方向に最大420であるものとする。また、移動体の各判定タイミングでの基点の座標値および矩形の大きさは、
図5bに示すとおりである。更に、同一移動体判定部130のルール設定部131が設定した同一性判定条件としては、
図3に具体例を示した通りの値が設定されているものとする(S401)。
図3に示された各ルールのうち、条件IDが「1」のルールのみが有効になっている(有効フラグが「ON」になっている)。
図5bの(1)から(4)までの動作は、条件ID「1」のルールの判定範囲時刻に設定されている3秒以内であるものとする。
【0060】
撮影機器200の撮影部210は、随時画像を撮影し、撮影した画像を、必要に応じて符号化することにより画像データを生成し、当該画像データを通信部220へと渡す(S403)。通信部220は、受け取った画像データを情報処理装置100へと送信する(S405)。
【0061】
情報処理装置100は、通信部110にて撮影機器200から送信された画像データを受信する(S407)。ここで、
図5bの例では、通信部110は、まず
図5bの(1)の画像データを受信し、その後、順に(2)乃至(4)の画像データを受信する。以下、まず
図5b(1)の画像データを受信した場合の処理について説明する。通信部110は、受信した画像データを、画像解析部120の移動体検出部121へと出力する。
【0062】
画像解析部120の移動体検出部121は、画像データから移動体部分、移動体の検出時刻及び識別ID、並びに画像データを、位置検出部123へと出力する(S411)。なおここで、移動体検出部121が検出する移動体部分は、一般的な背景差分法によるシルエット抽出によって得られたバイナリデータである。
【0063】
位置検出部123は、移動体検出部121から受け取った移動体部分のデータ及び画像データから、移動体周辺を囲む矩形の大きさを表す代表値2つと、矩形から計算できる基点位置を算出し、これらの情報を識別IDと共に出力する(S413)。出力された書くデータは、一時保存部135が格納する。なおここで、
図5bの(1)に示すように、矩形a(IDa)の基点座標を、(x
a,y
a)とする。
【0064】
ルール照合部133は、ルール設定部131により設定されたルールの各項目を参照することにより、一時保存部135に格納された各識別IDの移動体に対して、最終的な識別IDを決定する(S415)。この時、画像データ内に識別IDが複数存在しない場合には、識別IDに紐付けられた基点の座標が特定座標範囲内であれば、位置検出部123により付与された識別IDを元に確定IDを設定して、この確定IDを一時保存部135に格納する。
図5b(1)の例では、IDaに係る基点(x
a,y
a)は特定座標範囲として設定された範囲内にあるため、IDaに対する確定IDが出力される。ここでは、矩形aに係る確定IDをID1とする。
【0065】
結果出力部140は、一時保存部135に格納された確定IDの矩形及び基点の情報を適宜加工した上で、結果表示装置300に出力し(S417)、結果表示装置300はそれを表示する(S419)。
【0066】
続く
図5b(2)の画像データに関しても、上記S403乃至S413と同様の処理がなされる。ここで、(2)の状況で位置検出部123が移動体B(矩形bに対応)に対して付与する識別IDを識別IDb、移動体C(矩形cに対応)に対して付与する識別IDを識別IDcとする。また、位置検出部123が検出する、識別IDb(移動体B)及び識別IDc(移動体C)の基点座標は、それぞれ(x
b,y
b)、(x
c,y
c)とする。
【0067】
ルール照合部133は、識別IDa、IDb、及びIDcの各移動体A、B及びCに対して、
図3の条件IDが「1」のルールに基づき、同一性を判定する。判定の結果、識別IDa及び識別IDbのそれぞれの基点座標は同一判定閾値で設定された値の範囲内の差であるため、識別IDbの移動体Bは確定ID1(すなわち、識別IDa)の移動体Aと同一であると判定される。一方、識別IDcの移動体Cは、識別IDa及び識別IDbの基点座標との距離が、同一判定閾値で設定された範囲を超えているため、新しい移動体として反映される。よって、ルール照合部133は、識別IDcの移動体Cに対して新たな確定ID2が付与し、当該確定ID2を一時保存部135に格納する。
【0068】
結果出力部140は、一時保存部135に格納された確定IDの矩形及び基点の情報を適宜加工した上で、結果表示装置300に出力し、結果表示装置300はこれを表示する。
【0069】
図5b(3)の画像データに関しても、上記S403乃至S413と同様の処理がなされる。なお、
図5b(3)の画像データにおいて、位置検出部123が移動体Dに対して出力する識別IDを識別IDdとする。ここで、同一時刻に対して出力される識別IDの個数が、(2)では2個であったものが、(3)において1個に変化している。また、識別IDdに係る移動体Dの基点座標は(x
d,y
d)である。
【0070】
ルール照合部133は、識別IDa乃至IDdの各移動体A乃至Dに対して、
図3の条件IDが「1」のルールに基づき、同一性を判定する。この結果、識別IDdの移動体Dの基点座標と、他の移動体の基点座標との差は同一判定閾値の範囲を超えているため、識別IDdの移動体Dは、識別IDa乃至IDcの各移動体A乃至Cとは同一ではないと判定されるため、ルール照合部133により新たな確定ID3が付与される。
【0071】
ここで、同一時刻の識別IDの個数が変化(2個から1個)しているため、ルール照合部133は、過去の新しい時点の識別IDに対して、識別消失時紐付け基点閾値の範囲に基点があるか否かの判定を行う。その結果、識別IDb及びIDcの移動体B及びCの基点が、それぞれ消失時紐付け基点閾値の範囲内にあるため、それぞれに対して付与されている確定ID1及びID2を、確定ID3に紐づく仮ID1及び仮ID2として、ルール照合部133は一時保存部135に格納する。
【0072】
結果出力部140は、一時保存部135に格納された確定IDの矩形及び基点の情報を適宜加工した上で、結果表示装置300に出力し、結果表示装置300はこれを表示する。
【0073】
最後に、
図5b(4)の画像データに関して説明する。当該画像データに関しても、同様に上記S403乃至S413と同様の処理がなされる。なお、
図5b(4)の画像データにおいて、位置検出部123が移動体E及びFに対して出力する識別IDを、それぞれ識別IDe、識別IDfとする。ここで、同一時刻に対して出力される識別IDの個数が、(3)では1個であったものが、(4)において2個に変化している。また、識別IDe及びIDfに係る移動体E及びFの基点座標は、それぞれ(x
d,y
d)(x
f,y
f)である。
【0074】
ルール照合部133は、識別IDe、IDf、及びIDdの各移動体E、F、及びDに対して、
図3の条件IDが「1」のルールに基づき、同一性を判定する。この結果、識別IDe及びfの移動体E及びFの基点座標と、識別IDdの移動体Dの基点座標との差は同一判定閾値の範囲を超えているため、識別IDdの移動体Dは、識別IDa乃至IDcの各移動体A乃至Cとは同一ではないと判定される。但し、識別IDdに紐付いた確定ID3には、仮ID1及び仮ID2が付与されているため、
図3に具体例を示したルールの新規ID出現時紐付け基点閾値、基点座標変化値、及び矩形大きさ変化値を参照して、仮ID1及び仮ID2の基点座標と矩形大きさに対して、同一移動体を判定する。
【0075】
その結果、識別IDe及び識別IDfの各移動体E及びFは、それぞれ仮ID1及び仮ID2の移動体と同一であると判定されるため、ルール照合部133は、移動体E及びFの確定IDを確定ID1及び確定ID2として一時保存部135に格納する。
【0076】
なお、確定ID3に関しては、上述の通り仮IDが紐付いており、また、紐付け有りID再紐付け有効フラグの値が「OFF」となっていることから、基点がID消失時紐付け基点閾値の範囲内であったとしても、仮IDとしては扱われない。
【0077】
結果出力部140は、一時保存部135に格納された確定IDの矩形及び基点の情報を適宜加工した上で、結果表示装置300に出力し、結果表示装置300はこれを表示する。
【0078】
(1.4 ハードウェア構成)
以下、
図6を参照しながら、上述してきた情報処理装置100をコンピュータにより実現する場合のハードウェア構成の一例を説明する。なお前述の通り、情報処理装置100の機能は、複数の情報処理装置により実現することも可能である。
【0079】
図6に示すように、情報処理装置100は、プロセッサ601、メモリ603、記憶装置605、入力インタフェース(I/F)607、データI/F609、通信I/F611、及び表示装置613を含む。
【0080】
プロセッサ601は、メモリ603に記憶されているプログラムを実行することにより、情報処理装置100における様々な処理を制御する。例えば、
図2で説明した画像解析部120、同一移動体判定部130、結果出力部140に係る処理は、メモリ603に一時記憶された上で、主にプロセッサ601上で動作するプログラムとして実現可能である。
【0081】
メモリ603は、例えばRAM(Random Access Memory)等の記憶媒体である。メモリ603は、プロセッサ601によって実行されるプログラムのプログラムコードや、プログラムの実行時に必要となるデータを一時的に記憶する。例えば、メモリ603の記憶領域には、プログラム実行時に必要となるスタック領域が確保される。
【0082】
記憶装置605は、例えばハードディスクやフラッシュメモリ等の不揮発性の記憶媒体である。記憶装置605は、オペレーティングシステムや、画像解析部120、同一移動体判定部130、結果出力部140を実現するための各種プログラムや、各種データなどを記憶する。記憶装置605に記憶されているプログラムやデータは、必要に応じてメモリ603にロードされることにより、プロセッサ601から参照される。
【0083】
入力I/F607は、ユーザからの入力を受け付けるためのデバイスである。入力I/F607の具体例としては、キーボードやマウス、タッチパネル、各種センサ等が挙げられる。入力I/F607は、例えばUSB(Universal Serial Bus)等のインタフェースを介して情報処理装置100に接続されても良い。
【0084】
データI/F609は、情報処理装置100の外部からデータを入力するためのデバイスである。データI/F609の具体例としては、各種記憶装置に記憶されているデータを読み取るためのドライブ装置などがある。データI/F609は、情報処理装置100の外部に設けられることも考えられる。その場合、データI/F609は、例えばUSB等のインタフェースを介して情報処理装置100へと接続される。
【0085】
通信I/F611は、情報処理装置100の外部の装置、例えば撮影機器200等との間で有線又は無線によりデータ通信するためのデバイスである。通信I/F611は情報処理装置100の外部に設けられることも考えられる。その場合、通信I/F611は、例えばUSB等のインタフェースを介して情報処理装置100に接続される。
【0086】
表示装置613は、各種情報を表示するためのデバイスである。
図2で説明した結果表示装置300は、表示装置613により実現することも可能である。表示装置613の具体例としては、例えば液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ等が挙げられる。表示装置613は、情報処理装置100の外部に設けられても良い。その場合、表示装置613は、例えばディスプレイケーブル等を介して情報処理装置100に接続される。
【0087】
(1.5 本実施形態に係る効果)
以上説明したように、本実施形態に係る情報処理システム1では、ルール設定部131で設定したルールに基づき、例えば各時刻における移動体の数が変化した場合には、それぞれの移動体の位置に基づいて移動体を紐付けたり、紐付けられた移動体との同一性を判別したりする。これにより、各時刻における画像間の移動体の同一性を高精度に実現することができる。すなわち、移動体の追跡を高精度に実現することができるため、その結果得られる動線情報に対する利用価値も高めることが可能となる。
【0088】
また、上記画像解析は二次元画像のみを用いたものであり、複数の撮影機器で撮影した画像に基づく三次元解析を行うものではない。よって、カメラの台数を過剰に増やすことなく、移動体を追跡することが可能となる。
【0089】
(2 第2実施形態)
以下、第2実施形態を、
図7を参照しながら説明する。
図7に示すように、情報処理システム700は、検出部710と判別部720とを含む。
検出部710は、図示しない撮影機器が撮影した画像から移動体の位置を検出する。
【0090】
判別部720は、第1の時刻に撮影された第1の画像に映る移動体と、第1の時刻よりも遅い第2の時刻に撮影された第2の画像に映る移動体とが同一であるか否かを判別する。ここで、判別部720は、第1の画像に映る移動体と第2の画像に映る移動体との位置の差に基づいて、両移動体を同一であると判別する。また、第1の画像に映る移動体の数と第2の画像に映る移動体の数とが異なる場合には、第1の画像の移動体と第2の画像の移動体の位置に基づいて、両者を紐付けるか否かを判別する。そして、第2の時刻よりも遅い第3の時刻に撮影された第3の画像に映る移動体の数が第2の画像に映る移動体の数と異なる場合には、第2の画像の移動体に紐付けられた移動体が第3の画像に映る移動体と同一であるか否かを判別する。
【0091】
つまり、本実施形態に係る情報処理システム700では、移動体の位置に応じて複数の移動体を紐付け、その後、更に移動体の数が変化した場合には、当該紐付けられた移動体が、出現した移動体と同一であるか否かを判別する。これにより、好適に移動体を追跡することができる。
【0092】
(3 付記事項)
なお、前述の実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
【0093】
なお、前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。また、本発明のプログラムは、上記の各実施形態で説明した各動作を、コンピュータに実行させるプログラムであれば良い。
【0094】
(付記1)
撮影機器が撮影した画像から移動体の領域位置を検出する検出手段と、第1の時刻に撮影された第1の画像に映る移動体と、前記第1の時刻よりも遅い第2の時刻に撮影された第2の画像に映る移動体とが同一であるか否かを判別する判別手段とを備え、前記判別手段は、前記第1の画像に映る移動体と前記第2の画像に映る移動体との領域位置の差に基づいて、両移動体を同一であると判別し、前記第1の画像に映る移動体の数と前記第2の画像に映る移動体の数とが異なる場合には、前記第1の画像の移動体と前記第2の画像の移動体の領域位置に基づいて、両者を紐付けるか否かを判別する、情報処理システム。
【0095】
(付記2)
前記第2の時刻よりも遅い第3の時刻に撮影された第3の画像に映る移動体の数が前記第2の画像に映る移動体の数と異なる場合には、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別する、付記1記載の情報処理システム。
【0096】
(付記3)
前記判別手段は、前記第2の画像の移動体に紐付けられた前記第1の画像の移動体の領域位置と、前記第3の画像の移動体の領域位置とに基づいて、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別する、付記2記載の情報処理システム。
【0097】
(付記4)
前記検出手段は、移動体の領域位置及び大きさを検出し、前記判別手段は、移動体の領域位置及び大きさに基づいて、移動体が同一であるか否かを判別する、付記1乃至付記3のいずれか1項記載の情報処理システム。
【0098】
(付記5)
前記検出手段は、移動体を含む矩形領域の領域位置及び大きさを検出し、前記判別手段は、移動体の矩形領域に係る位置及び大きさに基づいて、移動体が同一であるか否かを判別する、付記4記載の情報処理システム。
【0099】
(付記6)
画像を撮影する前記撮影装置と、移動体の同一性を判別した結果を表示する表示装置とを更に備える、付記1乃至付記5のいずれか1項記載の情報処理システム。
【0100】
(付記7)
撮影機器が撮影した画像から移動体の領域位置を検出するステップと、第1の時刻に撮影された第1の画像に映る移動体と、前記第1の時刻よりも遅い第2の時刻に撮影された第2の画像に映る移動体とが同一であるか否かを判別する判別ステップとを情報処理システムが行い、前記判別ステップにおいて、前記第1の画像に映る移動体と前記第2の画像に映る移動体との領域位置の差に基づいて、両移動体を同一であると判別し、前記第1の画像に映る移動体の数と前記第2の画像に映る移動体の数とが異なる場合には、前記第1の画像の移動体と前記第2の画像の移動体の領域位置に基づいて、両者を紐付けるか否かを判別する、情報処理方法。
【0101】
(付記8)
前記第2の時刻よりも遅い第3の時刻に撮影された第3の画像に映る移動体の数が前記第2の画像に映る移動体の数と異なる場合には、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別する、付記7記載の情報処理方法。
【0102】
(付記9)
前記第2の画像の移動体に紐付けられた前記第1の画像の移動体の領域位置と、前記第3の画像の移動体の領域位置とに基づいて、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別する、付記8記載の情報処理方法。
【0103】
(付記10)
移動体の領域位置及び大きさを検出し、移動体の領域位置及び大きさに基づいて、移動体が同一であるか否かを判別する、付記8又は付記9記載の情報処理方法。
【0104】
(付記11)
移動体を含む矩形領域の領域位置及び大きさを検出し、移動体の矩形領域に係る位置及び大きさに基づいて、移動体が同一であるか否かを判別する、付記10記載の情報処理方法。
【0105】
(付記12)
撮影機器が撮影した画像から移動体の領域位置を検出する処理と、第1の時刻に撮影された第1の画像に映る移動体と、前記第1の時刻よりも遅い第2の時刻に撮影された第2の画像に映る移動体とが同一であるか否かを判別する判別処理とをコンピュータに実行させ、前記判別処理において、前記コンピュータに、前記第1の画像に映る移動体と前記第2の画像に映る移動体との領域位置の差に基づいて、両移動体を同一であると判別させ、前記第1の画像に映る移動体の数と前記第2の画像に映る移動体の数とが異なる場合には、前記第1の画像の移動体と前記第2の画像の移動体の領域位置に基づいて、両者を紐付けるか否かを判別させる、プログラム。
【0106】
(付記13)
前記第2の時刻よりも遅い第3の時刻に撮影された第3の画像に映る移動体の数が前記第2の画像に映る移動体の数と異なる場合には、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別させる、付記12記載のプログラム。
【0107】
(付記14)
前記第2の画像の移動体に紐付けられた前記第1の画像の移動体の領域位置と、前記第3の画像の移動体の領域位置とに基づいて、前記第2の画像の移動体に紐付けられた移動体が前記第3の画像に映る移動体と同一であるか否かを判別させる、付記13記載のプログラム。
【0108】
(付記15)
移動体の領域位置及び大きさを検出させ、移動体の領域位置及び大きさに基づいて、移動体が同一であるか否かを判別させる、付記13乃至付記14のいずれか1項記載のプログラム。
【0109】
(付記16)
移動体を含む矩形領域の領域位置及び大きさを検出させ、移動体の矩形領域に係る位置及び大きさに基づいて、移動体が同一であるか否かを判別させる、付記15記載のプログラム。