(57)【特許請求の範囲】
【請求項１】
入力された映像に映る対象物体の軌跡を示すトラジェクトリを得るための物体追跡装置であって、並列処理ハードウェアを備える物体追跡装置において、
前記並列処理ハードウェアは、
前記映像に含まれる時刻ｔの画像フレームに映る前記対象物体の領域を復元するための代表点及び補助情報を抽出し、
前記抽出された代表点のうち、時刻ｔ−１までに得られたトラジェクトリから予測された前記対象物体の予測代表点との距離が最も近い代表点を選択し、
前記選択した代表点に対応する補助情報から決定される第１の閾値よりも前記距離が小さい場合、前記選択した代表点と該代表点に対応する補助情報とを、前記予測された前記対象物体に対応するトラジェクトリに対応付ける、
物体追跡装置。
【請求項２】
前記補助情報は、前記対象物体の領域の幅ｗ及び高さｈであり、
前記第１の閾値は、予め定義されたパラメータσと、前記選択した代表点に対応する補助情報ｗ及びｈとを用いて、σ×√（ｗ２＋ｈ２）と決定される、請求項１に記載の物体追跡装置。
【請求項３】
前記並列処理ハードウェアは、
前記選択した代表点に対応する補助情報と、時刻ｔ−１までに得られたトラジェクトリから予測された前記対象物体の予測補助情報とから決定される第２の閾値よりも前記距離が小さい場合、前記選択した代表点と該代表点に対応する補助情報とを、前記予測された前記対象物体に対応するトラジェクトリに対応付ける、請求項１に記載の物体追跡装置。
【請求項４】
前記補助情報は、前記対象物体の領域の幅ｗ及び高さｈ、
前記予測補助情報は、前記予測された前記対象物体の領域の幅ｗ'及び高さｈ'であり、
前記第２の閾値は、予め定義されたパラメータσと、前記選択した代表点に対応する補助情報ｗ及びｈと、前記予測補助情報ｗ'及びｈ'とを用いて、σ×（√（ｗ２＋ｈ２）＋√（ｗ'２＋ｈ'２））／２と決定される、請求項３に記載の物体追跡装置。
【請求項５】
前記並列処理ハードウェアは、
前記抽出された代表点及び補助情報のうち、トラジェクトリと対応付けられなかった代表点及び補助情報を、新たなトラジェクトリとして生成する、請求項１乃至４の何れか一項に記載の物体追跡装置。
【請求項６】
前記代表点は、前記対象物体の領域の中心、重心、又は前記領域が矩形領域である場合における頂点座標、のいずれか又は少なくとも１つであり、
前記補助情報は、前記対象物体の領域の幅及び高さ、前記対象物体の領域の幅、高さ及び奥行き、又は前記領域が矩形領域である場合における４頂点の頂点座標若しくは互いに対角関係にある２頂点の頂点座標、のいずれか又は少なくとも１つである、請求項１又は３に記載の物体追跡装置。
【請求項７】
入力された映像に映る対象物体の軌跡を示すトラジェクトリを得るための物体追跡方法であって、
並列処理ハードウェアが、
前記映像に含まれる時刻ｔの画像フレームに映る前記対象物体の領域を復元するための代表点及び補助情報を抽出し、
前記抽出された代表点のうち、時刻ｔ−１までに得られたトラジェクトリから予測された前記対象物体の予測代表点との距離が最も近い代表点を選択し、
前記選択した代表点に対応する補助情報から決定される第１の閾値よりも前記距離が小さい場合、前記選択した代表点と該代表点に対応する補助情報とを、前記予測された前記対象物体に対応するトラジェクトリに対応付ける、
物体追跡方法。
【請求項８】
コンピュータを、請求項１乃至６の何れか一項に記載の物体追跡装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体追跡装置、物体追跡方法及びプログラムに関する。
【背景技術】
【０００２】
入力された映像中に映っている不特定多数の物体（例えば、人物や車両等）を追跡する複数物体追跡技術（以下、単に「物体追跡技術」ともいう。）と呼ばれる技術が知られており、例えば、映像監視や自動運転、スポーツ分析等、社会システムのスマート化を実現する応用上で必須の要素技術となっている。このような応用では、物体追跡技術の出力として得られる各物体の軌跡（以下、「トラジェクトリ」ともいう。）は追跡対象の物体のカウントや障害物検知、移動距離／移動速度の算出等へ直接適用することができる。また、物体追跡技術は、例えば、追跡対象の物体に関わる行動理解や異常検知といったより高次の情報抽出を行う前処理としても広く用いられており、産業上の応用性が極めて高い技術である。
【０００３】
一般的に、物体追跡技術のアルゴリズムはTracking-by-Detectionと呼ばれるフレームワークに基づいて構築されることが多い。このフレームワークではそのアルゴリズムの処理は大きく検出処理と追跡処理に分けられ、まず検出処理で映像を構成する各画像フレームから物体を検出した上で、その後、追跡技術で位置・見え・動き等を手がかりとして同一物体を捉えた検出結果を画像フレーム間で対応付けることで物体追跡が行われる。
【０００４】
上記の検出処理では公知の物体検出技術により各画像フレームから物体が検出される。良く知られた物体検出技術の１つとして、ニューラルネットワークモデルによって画像中の物体検出を行うYOLOv3と呼ばれる技術がある（例えば、非特許文献１参照）。
【０００５】
また、Tracking-by-Detectionフレームワークに基づく物体追跡の構築方法として、例えば、非特許文献２や非特許文献３に開示されている方法が知られている。非特許文献２では、映像を構成する画像フレームのうちインターバルが短いものの中では同一物体が近い位置に映りこんでいるという仮定の下、隣接する画像フレーム間で公知の物体検出技術を適用して得られる物体領域の重複度を評価することで物体を追跡している。非特許文献３では、追跡処理において変位の大きな物体の追跡性能を向上させるために、直前の画像フレームまでで構築されたトラジェクトリから動きモデルを構築し、その動きモデルを用いて次の画像フレームでの物体の位置を予測した上で画像フレーム間の物体領域の重複度を評価している。なお、物体領域とは物体検出技術により検出された物体の画像領域のことであり、例えば、物体を過不足なく囲う矩形、ピクセル単位で物体を捉えたセグメンテーションといった形で定義されることが多い。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】J. Redmon and A. Farhadi. Yolov3: An incremental improvement. In arXiv preprint arXiv:1804.02767, 2018.
【非特許文献２】E. Bochinski, V. Eiselein, and T. Sikora. High-speed tracking-by-detection without using image information. In AVSS Workshop, 2017.
【非特許文献３】A. Bewley, Z. Ge, L. Ott, F. Ramos, and B. Upcroft. Simple online and realtime tracking. In ICIP, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の非特許文献２や非特許文献３等に開示されている物体追跡技術を含む、Tracking-by-Detectionフレームワークに基づく物体追跡技術では、物体領域に関してＣＰＵ（Central Processing Unit）メモリとＧＰＵ（Graphics Processing Unit）メモリ間でデータ転送を行う必要があるため、処理全体のスループットが低かった。
【０００８】
例えば、上記の非特許文献１に開示されている物体検出技術を含む公知の物体検出技術では、主要な処理（例えば、畳み込みニューラルネットワークの順伝播処理等）をＧＰＵ等の並列計算に特化したプロセッサにより処理し、この処理の出力に対してＣＰＵで後処理を行うことで物体の検出結果を出力する。このため、Tracking-by-Detectionフレームワークに基づく物体検出技術では、ＣＰＵメモリとＧＰＵメモリ間のデータ転送を行う必要があり、処理全体のスループットが低下する。ここで、後処理はＮＭＳ（Non-Maximum Suppression）と呼ばれ、一般的に、物体領域の冗長性を排除することを目的として、大きく重複した物体領域を貪欲的に削除することで実現される。
【０００９】
なお、物体検出技術に関する全ての処理をＣＰＵで行うことも可能であるが、その主要な処理が畳み込みニューラルネットワークの順伝播処理等であるため、処理速度は大きく低下することが一般的である。一方で、物体検出技術に関する全ての処理をＧＰＵで行うことも可能であるが、後処理であるＮＭＳが貪欲法に基づくアルゴリズムであり並列処理に向かないことから効率的でない。
【００１０】
また、物体検出技術の検出結果を入力する追跡処理では、画像フレーム間で同一物体を対応付ける問題を０−１整数計画問題として定式化して解くことが一般的である。０−１整数計画問題は解候補を列挙することで厳密解を見つけることが可能であるが、この方法は変数が多くなると解候補が爆発的に増大し、現実的な時間で解くことができない。このため、解候補を絞り込みつつ最適解を見つける方法として分枝限定法がよく用いられるが、そのアルゴリズムは直列的であり、ＧＰＵ等での並列処理には向かない。したがって、物体検出技術による検出処理の少なくとも一部がＧＰＵ等で実行される場合には、ＣＰＵメモリとＧＰＵメモリ間のデータ転送を行う必要が生じる。
【００１１】
本発明の一実施形態は、上記の点に鑑みてなされたもので、スループットの高い複数物体追跡を実現することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、一実施形態に係る物体追跡装置は、入力された映像に映る対象物体の軌跡を示すトラジェクトリを得るための物体追跡装置であって、並列処理ハードウェアを備える物体追跡装置において、前記並列処理ハードウェアは、前記映像に含まれる時刻ｔの画像フレームに映る前記対象物体の領域を復元するための代表点及び補助情報を抽出し、前記抽出された代表点のうち、時刻ｔ−１までに得られたトラジェクトリから予測された前記対象物体の予測代表点との距離が最も近い代表点を選択し、前記選択した代表点に対応する補助情報から決定される第１の閾値よりも前記距離が小さい場合、前記選択した代表点と該代表点に対応する補助情報とを、前記予測された前記対象物体に対応するトラジェクトリに対応付ける。
【発明の効果】
【００１３】
スループットの高い複数物体追跡を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】従来技術による物体追跡の一例を説明するための図である。
【図２】本実施形態に係る物体追跡装置による物体追跡の一例を説明するための図である。
【図３】本実施形態に係る物体追跡装置の機能構成の一例を示す図である。
【図４】本実施形態に係るトラジェクトリ集合更新部の詳細な機能構成の一例を示す図である。
【図５】本実施形態に係る物体追跡処理の一例を示すフローチャートである。
【図６】本実施形態に係るトラジェクトリ集合更新処理の一例を示すフローチャートである。
【図７】本実施形態に係る物体追跡装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について説明する。本実施形態では、映像を構成する各画像フレームから物体を検出する物体検出器は所与である一方、その物体の動きに関する事前知識及びモデルは与えられていない、という条件の下で、入力映像に映る各物体のトラジェクトリを自動的に抽出する物体追跡装置１０について説明する。このとき、本実施形態に係る物体追跡装置１０は、後述するように、各物体の代表点と物体領域を復元するための補助情報とを用いることで、物体追跡処理全体をＧＰＵ等の並列処理ハードウェアで効率的に実行することができるようになると共に、ＣＰＵメモリとＧＰＵメモリ間のデータ転送が不要になり、スループットの高い複数物体追跡を実現することが可能となる。
【００１６】
なお、例えば、静止画を入力として、人物や車両等の物体を検出するモデルを学習するための教師データは広く普及しているものの、それらの時々刻々の動きまで含めたデータは少ないため、上記の条件設定は自然なものと言える。また、スループットとは単位時間あたりの処理能力を意味し、例えば、単位時間あたりに処理可能な画像フレーム枚数のことである。
【００１７】
＜従来技術との比較＞
まず、本実施形態に係る物体追跡装置１０による物体追跡と従来技術による物体追跡との違いについて簡単に説明する。
【００１８】
例えば、上記の非特許文献２や非特許文献３等に記載されている従来技術の物体追跡では、映像を構成する各画像フレームに映っている物体を表す物体領域を、同一物体間で対応付けることで物体追跡を行っている。例えば、図１に示すように、時刻ｔ＝ｋの画像フレームから或る物体１の物体領域ｂｋ１と別の或る物体２の物体領域ｂｋ２とが得られ、時刻ｔ＝ｋ＋１の画像フレームから或る物体１の物体領域ｂｋ＋１１と別の或る物体２の物体領域ｂｋ＋１２とが得られたものとする。このとき、物体領域ｂｋ１と物体領域ｂｋ＋１１とが同一物体の物体領域であれば、物体領域ｂｋ１と物体領域ｂｋ＋１１とが対応付けられる。同様に、物体領域ｂｋ２と物体領域ｂｋ＋１２とが同一物体の物体領域であれば、物体領域ｂｋ２と物体領域ｂｋ＋１２とが対応付けられる。このように、従来技術の物体追跡では同一物体の物体領域同士を対応付けることで、映像に映っている各物体の追跡を実現している。すなわち、従来技術の物体追跡では、例えば上記の非特許文献１等に記載されている物体検出技術により物体領域を検出した上で、これらの物体領域を追跡処理の入力として、同一物体の物体領域同士を対応付けることでトラジェクトリを生成している。
【００１９】
これに対して、本実施形態に係る物体追跡装置１０は、入力映像を構成する各画像フレームに映っている物体の代表点と当該物体の物体領域を復元するための補助情報とを追跡処理の入力として、同一物体の代表点及び補助情報同士を対応付けることでトラジェクトリを生成する。例えば、物体領域の中心を代表点、物体領域の幅及び高さを補助情報として、図２に示すように、時刻ｔ＝ｋの画像フレームから或る物体１の代表点ｐｋ１及び補助情報（ｗｋ１，ｈｋ１）と別の或る物体２の代表点ｐｋ２及び補助情報（ｗｋ２，ｈｋ２）とが得られ、時刻ｔ＝ｋ＋１の画像フレームから或る物体１の代表点ｐｋ＋１１及び補助情報（ｗｋ＋１１，ｈｋ＋１１）と別の或る物体２の代表点ｐｋ＋１２及び補助情報（ｗｋ＋１２，ｈｋ＋１２）とが得られたものとする。このとき、時刻ｔ＝ｋの画像フレーム中の物体１と時刻ｔ＝ｋ＋１の画像フレーム中の物体１とが同一物体であれば、（ｐｋ１，ｗｋ１，ｈｋ１）と（ｐｋ＋１１，ｗｋ＋１１，ｈｋ＋１１）が対応付けられる（つまり、代表点及び補助情報の組同士が対応付けられる。）。同様に、時刻ｔ＝ｋの画像フレーム中の物体２と時刻ｔ＝ｋ＋１の画像フレーム中の物体２とが同一物体であれば、（ｐｋ２，ｗｋ２，ｈｋ２）と（ｐｋ＋１２，ｗｋ＋１２，ｈｋ＋１２）が対応付けられる。このように、本実施形態に係る物体追跡装置１０では同一物体の代表点及び補助情報同士を対応付けることで、映像に映っている各物体の追跡を実現する。すなわち、本実施形態に係る物体追跡装置１０では、各画像フレーム中の物体の代表点及び補助情報を追跡処理の入力として、同一物体の代表点及び補助情報（又は、代表点及び補助情報から復元された物体領域）同士を対応付けることでトラジェクトリを生成する。これにより、後述するように、スループットの高い複数物体追跡を実現することが可能となる。なお、代表点及び補助情報と物体領域は互いに可換である。
【００２０】
＜記号の定義＞
以下、本実施形態で使用する記号等について定義する。
【００２１】
物体追跡装置１０に与えられる入力映像は、Ｋ枚の画像フレーム集合｛Ｉ１，Ｉ２，・・・，ＩＫ｝に分割されるものとする。Ｉｋは時刻ｔ＝ｋの画像フレームを指す。
【００２２】
また、物体追跡装置１０の出力はトラジェクトリ集合Ｔ＝｛Ｔ１，Ｔ２，・・・，Ｔｎ，・・・｝である。各トラジェクトリＴｎは物体ｎのトラジェクトリ（つまり、物体ｎの軌跡を表す情報）であり、物体ｎの時刻ｔ＝ｋにおける物体領域をｂｋとして、
【００２３】
【数１】
0006859472.tif 000002
と表される。
【００２４】
以降で説明する本実施形態では、物体領域ｂｋは、画像フレーム中の物体を過不足なく囲う矩形で表される領域であるものとする。矩形の定義の仕方は任意であるが、本実施形態では、ｐ＝（ｘ，ｙ）∈Ｒ２を矩形の中心、ｗ∈Ｒとｈ∈Ｒをそれぞれ矩形の幅及び高さとして、ｂ＝（ｐ，ｗ，ｈ）又はｂ＝（ｘ，ｙ，ｗ，ｈ）と表されるものとする。なお、Ｒは実数全体を表す。
【００２５】
ただし、物体領域は矩形で表される領域に限られず、例えば、画像フレームを構成する各ピクセルが当該物体を捉えているか否かを示すセグメンテーションで定義されてもよい。また、例えば、物体を三次元的に過不足なく囲う直方体で物体領域が定義されていてもよい。
【００２６】
なお、「過不足なく囲う」とは厳密な意味で物体を過不足なく囲っていることを意味するのではなく、物体の一部が物体領域からはみ出ていたり、逆に、物体と物体領域の境界との間に多少の余剰があったりしてもよい。例えば、物体を過不足なく囲う矩形で表される領域としては、典型的には、物体のバウンディングボックスで表される領域等が挙げられる。
【００２７】
また、上述したように、代表点及び補助情報と物体領域は互いに可換であるため、トラジェクトリは物体領域の代わりに代表点及び補助情報で構成されていてもよい。つまり、ｂｋは物体ｎの時刻ｔ＝ｋにおける代表点及び補助情報であってもよい。以降で説明する本実施形態では、主に、トラジェクトリを構成する各要素が代表点及び補助情報で場合について説明する。
【００２８】
＜物体追跡装置１０の機能構成＞
次に、本実施形態に係る物体追跡装置１０の機能構成について、図３を参照しながら説明する。図３は、本実施形態に係る物体追跡装置１０の機能構成の一例を示す図である。
【００２９】
図３に示すように、本実施形態に係る物体追跡装置１０は、物体位置要素抽出部１０１と、トラジェクトリ集合更新部１０２と、トラジェクトリ終了判定部１０３とを有する。これら各機能部は、物体追跡装置１０にインストールされた１以上のプログラムが、主に、ＧＰＵ等の並列処理ハードウェアに実行させる処理により実現される。
【００３０】
物体位置要素抽出部１０１は、入力された画像フレーム中の各物体の代表点及び補助情報をそれぞれ抽出及び出力する。本実施形態では、一例として、物体領域の中心を代表点、物体領域の幅及び高さを補助情報とする。ただし、これは一例であって、代表点としては、物体領域の中心以外にも、例えば、物体領域の重心等であってもよいし、物体領域から任意に選択された１点であってもよいし、物体領域が矩形である場合には左上頂点の座標等としてもよい。また、代表点は１つの物体領域に対して１点である必要はなく、１つの物体領域から複数点が抽出されてもよい。また、補助情報としては、幅及び高さ以外にも、例えば、奥行きや深度情報等が含まれていてもよいし、物体領域が矩形である場合には４頂点の座標の組や互いに対角関係にある２頂点の座標の組等であってもよいし、予め決められた複数の方向への代表点との距離の集合であってもよい。なお、この距離としては、例えば、代表点と、物体領域の境界上の点との距離等とすることが挙げられる。
【００３１】
なお、物体位置要素抽出部１０１は、所与の物体検出器によって画像フレームから検出対象の物体の物体領域を検出した上で、これらの物体領域から代表点及び補助情報を抽出してもよいし、当該物体検出器が画像フレームから代表点及び補助情報を抽出可能な場合にはその代表点及び補助情報をそのまま抽出してもよい。代表点及び補助情報を出力する物体検出器は任意の方法で構成することが可能であるが、例えば、参考文献１「X. Zhou, D. Wang, and P. Krahenbuhl. Objects as points. In arXiv preprint arXiv:1904.07850, 2019.」等に記載されている方法で構成することが考えられる。
【００３２】
また、物体検出器による検出結果（物体領域、又は、代表点及び補助情報）には、一般に、冗長性が存在する（つまり、同一物体に対して複数の物体領域（又はその代表点及び補助情報）が得られる。）。これに対して、代表点に基づいて、物体領域（又はその代表点及び補助情報）の冗長性を排除する処理は、ＧＰＵ等の並列処理ハードウェアで効率的に実行可能である。このため、ＣＰＵメモリとＧＰＵメモリ間のデータ転送が不要となる。
【００３３】
ここで、代表点に基づいて、物体領域（又はその代表点及び補助情報）の冗長性を排除する処理としては様々な方法が考えられるが、例えば、上記の参考文献１に記載されている方法で代表点及び補助情報が得られた場合、最大値プーリング処理を用いることが考えられる。すなわち、上記の参考文献１に記載されている方法では、代表点は、ヒートマップ上で特にその値が高い点の集合として出力される。単純に値の高さのみから代表点を抽出した場合、点間の距離が極めて小さく、実質的に同一の物体を捉えている代表点を冗長に出力してしまう可能性がある。そこで、この冗長性を排除するために、ヒートマップ上で或る所定のカーネルサイズの最大値プーリングを行い、その結果を代表点として抽出することが考えられる。なお、最大値プーリング処理はＧＰＵ等の並列処理ハードウェアで効率的に実行可能である。
【００３４】
トラジェクトリ集合更新部１０２は、物体位置要素抽出部１０１によって現在時刻の画像フレームから抽出された代表点及び補助情報を用いて、直前の時刻までに得られたトラジェクトリ集合を更新する。すなわち、トラジェクトリ集合更新部１０２は、トラジェクトリ集合に含まれるトラジェクトリに対して現在時刻の画像フレームから抽出された代表点及び補助情報（又は、この代表点及び補助情報から復元された物体領域）を対応付けて更新したり、新たなトラジェクトリを生成したりする。
【００３５】
トラジェクトリ集合更新部１０２は、トラジェクトリと物体位置要素抽出部１０１によって抽出された代表点及び補助情報とを対応付ける際に、当該トラジェクトリから予測される代表点と、抽出された代表点との距離を比較することで、抽出された代表点及び補助情報のうち当該トラジェクトリと対応付ける代表点及び補助情報（又は、この代表点及び補助情報から復元された物体領域）を決定する。なお、代表点間の距離の計算やその比較はＧＰＵ等の並列処理ハードウェアで効率的に実行可能である。このため、ＣＰＵメモリとＧＰＵメモリ間のデータ転送が不要となる。
【００３６】
上記で当該トラジェクトリと対応付けると決定された代表点及び補助情報（又は、この代表点及び補助情報から復元された物体領域）であっても、当該トラジェクトリが表す物体と、当該代表点及び補助情報が表す物体とが異なる物体であることもあり得る。そこで、より精度良い物体追跡を実現するために、トラジェクトリ集合更新部１０２は、一般に画像フレーム間で各物体のサイズには一貫性があり、かつ、映像に大きく映り込む物体ほど画像フレーム間における代表点の変位が大きくなる傾向があるという性質を利用して、実際に当該トラジェクトリと当該代表点及び補助情報を対応付けるか否かを判定する。
【００３７】
トラジェクトリ終了判定部１０３は、トラジェクトリ集合に含まれるトラジェクトリの中に、以降の時刻では更新対象としないトラジェクトリが存在するか否かを判定する。
【００３８】
ここで、トラジェクトリ集合更新部１０２の詳細な機能構成について、図４を参照しながら説明する。図４は、本実施形態に係るトラジェクトリ集合更新部１０２の詳細な機能構成の一例を示す図である。
【００３９】
図４に示すように、本実施形態に係るトラジェクトリ集合更新部１０２には、トラジェクトリ位置予測部１１１と、位置対応付け部１１２と、トラジェクトリ初期化部１１３とが含まれる。
【００４０】
トラジェクトリ位置予測部１１１は、直前の時刻までに得られた各トラジェクトリを用いて、当該トラジェクトリが表す物体の動きモデルを構築し、この動きモデルにより現在の画像フレームにおける当該物体の代表点（及び、当該物体の物体領域を復元するための補助情報）を予測する。
【００４１】
位置対応付け部１１２は、物体位置要素抽出部１０１により抽出された代表点とトラジェクトリ位置予測部１１１により予測された代表点との距離を用いて、トラジェクトリ集合に含まれる各トラジェクトリと対応付ける代表点及び補助情報（又は、この代表点及び補助情報から復元された物体領域）を決定する。また、位置対応付け部１１２は、実際に当該トラジェクトリと当該代表点及び補助情報を対応付けるか否かを判定した上で、この判定結果に応じてトラジェクトリと代表点及び補助情報を対応付ける。これにより、当該トラジェクトリに対して当該代表点及び補助情報が追加され、トラジェクトリ集合が更新される。
【００４２】
ここで、物体位置要素抽出部１０１により抽出された代表点及び補助情報の中には、直前の時刻までのトラジェクトリ集合に含まれるどのトラジェクトリとも対応付けられない代表点及び補助情報が存在し得る。
【００４３】
トラジェクトリ初期化部１１３は、物体位置要素抽出部１０１により抽出された代表点及び補助情報のうち、直前の時刻までのトラジェクトリ集合に含まれるどのトラジェクトリとも対応付けられない代表点及び補助情報を新たなトラジェクトリとして初期化する。この新たなトラジェクトリは、直前の時刻までのトラジェクトリ集合に含まれるどのトラジェクトリとも対応付けられない代表点及び補助情報（又は、この代表点及び補助情報から復元された物体領域）のみで構成されるトラジェクトリである。なお、直前の時刻までのトラジェクトリ集合に含まれるどのトラジェクトリとも対応付けられない代表点及び補助情報が複数存在する場合は、これら複数の代表点及び補助情報のそれぞれが、新たなトラジェクトリとしてそれぞれ初期化される。
【００４４】
＜物体追跡処理＞
次に、本実施形態に係る物体追跡装置１０が実行する物体追跡処理の流れについて、図５を参照しながら説明する。図５は、本実施形態に係る物体追跡処理の一例を示すフローチャートである。この物体追跡処理のステップＳ１０１〜ステップＳ１０３は時刻ｔ＝１〜ｔ＝Ｋまで繰り返し実行される。以降では、一例として、時刻ｔ＝ｋである場合について説明する。なお、トラジェクトリ集合は、時刻ｔ＝１におけるステップＳ１０１の処理が開始される前（又はステップＳ１０２の処理が開始される前）に、空集合に初期化される。
【００４５】
物体位置要素抽出部１０１は、画像フレームＩｋ中の各物体の代表点及び補助情報を抽出及び出力する（ステップＳ１０１）。
【００４６】
次に、トラジェクトリ集合更新部１０２は、時刻ｔ＝ｋまでに得られたトラジェクトリ集合と、上記のステップＳ１０１で抽出された代表点及び補助情報とを入力として、トラジェクトリ集合を更新する（ステップＳ１０２）。なお、本ステップの処理の詳細については後述する。
【００４７】
そして、トラジェクトリ終了判定部１０３は、上記のステップＳ１０２で更新されたトラジェクトリ集合の中に、時刻ｔ＝ｋ＋１以降では更新の対象としないトラジェクトリが存在するか否かを判定する（ステップＳ１０３）。ここで、トラジェクトリ終了判定部１０３は、当該トラジェクトリ集合に含まれるトラジェクトリのうち所定の条件を満たすトラジェクトリを、時刻ｔ＝ｋ＋１以降では更新の対象としないトラジェクトリと判定すればよい。このような条件としては、例えば、時刻ｔ＝ｋ−１で更新されなかったトラジェクトリのうち、その長さ（つまり、トラジェクトリに含まれる要素の数）が所定のパラメータＤ以下、等とすることが考えられる。これは、直前の時刻でトラジェクトリに対して代表点及び補助情報が対応付けられず、かつ、その長さが短い場合には、当該トラジェクトリに対応する物体は、これ以降の時刻において映像中に出現する可能性が低いためである。上記の条件を満たすトラジェクトリが表す物体としては、典型的には、カメラの前を通り過ぎた人や車両等が挙げられる。
【００４８】
なお、時刻ｔ＝ｋ＋１以降では更新対象としないトラジェクトリに対しては、例えば、更新対象としないことを示すフラグ等が設定される。このフラグが参照されることで、時刻ｔ＝ｋ＋１以降では、当該トラジェクトリが更新対象から除外される。
【００４９】
以上のステップＳ１０１〜ステップＳ１０３が時刻ｔ＝１〜ｔ＝Ｋまで繰り返し実行されることで、入力映像中の各物体の軌跡を示すトラジェクトリの集合が得られる。このとき、本実施形態に係る物体追跡装置１０は、上記のステップＳ１０１〜ステップＳ１０３の処理をＧＰＵ等の並列処理ハードウェアに実行させる。これにより、高速な実行を可能にすると共に、ＣＰＵメモリとＧＰＵメモリ間のデータ転送も抑制される。したがって、これにより、スループットの高い複数物体追跡が実現される。なお、時刻ｔ＝Ｋの処理が実行された後に得られた各トラジェクトリは、例えば、任意の出力先（例えば、ディスプレイ等の表示装置、通信ネットワークを介して接続される他の装置、補助記憶装置等）に出力される。
【００５０】
ここで、上記のステップＳ１０２におけるトラジェクトリ集合の更新処理の詳細について、図６を参照しながら説明する。図６は、本実施形態に係るトラジェクトリ集合更新処理の一例を示すフローチャートである。
【００５１】
まず、トラジェクトリ位置予測部１１１は、時刻ｔ＝ｋ−１までに得られた各トラジェクトリをそれぞれ用いて、当該トラジェクトリが表す物体の動きモデルを構築し、この動きモデルにより時刻ｔ＝ｋの画像フレームにおける当該物体の位置（つまり、代表点、又は代表点と補助情報）を予測する（ステップＳ２０１）。ここで、トラジェクトリ位置予測部１１１は、各物体の代表点のみを予測してもよいし、代表点と補助情報の両方を予測してもよい。代表点（又は代表点と補助情報）を予測するための動きモデルを構築する方法としては任意の方法を構築することが可能であるが、例えば、参考文献２「T. Lucey, "Tutorial: The Kalman Filter", インターネット＜ＵＲＬ：http://web.mit.edu/kirtley/kirtley/binlustuff/literature/control/Kalman%20filter.pdf＞」等に記載されているKalman Filterを用いることができる。なお、Kalman Filterで予測する物体の位置を定義する方法は任意であるが、例えば、物体の位置として代表点が設定されてもよいし、代表点と補助情報の両方が設定されてもよい。物体の位置として代表点が設定された場合は、代表点が予測され、代表点と補助情報の両方が設定された場合は代表点と補助情報の両方が予測される。
【００５２】
以降では、トラジェクトリ位置予測部１１１によって時刻ｔ＝ｋの画像フレームにおける各物体の代表点及び補助情報が予測されたものとして説明する。なお、トラジェクトリ位置予測部１１１によって各物体の代表点のみが予測された場合には、最も直近の時刻における当該物体の補助情報を、動きモデルにより予測された補助情報として扱って、後述するステップＳ２０２で用いればよい（つまり、当該物体に対応するトラジェクトリに含まれる補助情報のうち最も直近の補助情報を、動きモデルにより予測された補助情報として扱えばよい。）。
【００５３】
次に、位置対応付け部１１２は、図５のステップＳ１０１で抽出された代表点及び補助情報（以下、「抽出代表点」及び「抽出補助情報」という。）と、上記のステップＳ２０１で予測された代表点及び補助情報（以下、「予測代表点」及び「予測補助情報」という。）とを用いて、トラジェクトリ集合に含まれる各トラジェクトリに対して抽出代表点及び抽出補助情報を対応付ける（ステップＳ２０２）。ここで、予測代表点の集合をＰ、これらの予測代表点に対応する予測補助情報の集合ＳＰ、抽出代表点の集合をＱ、これらの抽出代表点に対応する抽出補助情報の集合ＳＱとして、位置対応付け部１１２は、以下の手順１〜手順４により、トラジェクトリ集合に含まれる各トラジェクトリに対して抽出代表点及び抽出補助情報を対応付ける。ただし、上述したように、全ての抽出代表点及び抽出補助情報がトラジェクトリに対応付けられるわけではなく、いずれのトラジェクトリにも対応付けられない抽出代表点及び抽出補助情報が存在することもある。
【００５４】
なお、トラジェクトリに対して抽出代表点及び抽出補助情報を対応付けるとは、当該抽出代表点及び抽出補助情報を、当該トラジェクトリの時刻ｔ＝ｋにおける要素として追加することを意味する。このような要素の追加によってトラジェクトリが更新される。
【００５５】
手順１：位置対応付け部１１２は、Ｐに含まれる全ての予測代表点と、Ｑに含まれる全ての抽出代表点との距離を総当たりで算出する。言い換えれば、位置対応付け部１１２は、予測代表点と抽出代表点との全ての組み合わせに関して、予測代表点と抽出代表点との距離を算出する。なお、距離の尺度は任意のものを用いることが可能であるが、例えば、Ｌ２ノルム等を用いればよい。
【００５６】
手順２：次に、位置対応付け部１１２は、Ｐに含まれる各予測代表点のそれぞれについて、Ｑに含まれる抽出代表点のうち最も距離が近い抽出代表点をその距離とともに選択する。これにより、予測代表点と、抽出代表点と、距離との組が１以上（一般には複数）得られる。
【００５７】
手順３：次に、位置対応付け部１１２は、ＳＰ（又は、ＳＰとＳＱの両方）を用いて、Ｐに含まれる各予測代表点のそれぞれに対する距離閾値を算出する。
【００５８】
ここで、Ｐに含まれる各予測代表点をｐｉ、予測代表点ｐｉに対応する補助情報を（ｗｉ，ｈｉ）、Ｑに含まれる各抽出代表点をｑｊ、抽出代表点ｑｊに対応する補助情報を（ｗｊ，ｈｊ）とする。このとき、ＳＰのみを用いて予測代表点ｐｉに対する距離閾値σｉを算出する場合、位置対応付け部１１２は、例えば、以下の式（１）により距離閾値σｉを算出すればよい。
【００５９】
【数２】
0006859472.tif 000003
ただし、σは予め定義されたパラメータである。
【００６０】
一方で、ＳＰとＳＱの両方を用いて予測代表点ｐｉに対する距離閾値σｉｊを算出する場合、位置対応付け部１１２は、例えば、以下の式（２）により距離閾値σｉｊを算出すればよい。
【００６１】
【数３】
0006859472.tif 000004
なお、ＳＰとＳＱの両方を用いる場合、１つの予測代表点ｐｉに対して、｜Ｑ｜個の距離閾値σｉｊが算出される。
【００６２】
手順４：そして、位置対応付け部１１２は、上記の手順２で得られた距離が小さい順に、抽出代表点及び抽出補助情報を、予測代表点に対応するトラジェクトリに対応付ける。すなわち、上記の手順２では予測代表点ｐｉと抽出代表点ｑｊと距離ｄｉｊとの組が複数得られるが、位置対応付け部１１２は、組に含まれる距離ｄｉｊが小さい順に、当該組に含まれる抽出代表点ｑｊとこの抽出代表点ｑｊに対応する抽出補助情報（ｗｊ，ｈｊ）とを時刻ｔ＝ｋの要素として、当該組に含まれる予測代表点ｐｉに対応するトラジェクトリ（つまり、この予測代表点ｐｉの予測した動きモデルの構築に用いられたトラジェクトリ）に追加する。
【００６３】
ただし、このとき、当該組に含まれる距離ｄｉｊが距離閾値σｉ以上（又はσｉｊ以上）であった場合、位置対応付け部１１２は、抽出代表点ｑｊ及び抽出補助情報（ｗｊ，ｈｊ）の対応付けは行わない。また、時刻ｔ＝ｋの要素がトラジェクトリに既に追加されている場合、位置対応付け部１１２は、抽出代表点ｑｊ及び抽出補助情報（ｗｊ，ｈｊ）の対応付けは行わない。
【００６４】
なお、本実施形態では、上記の手順３で距離閾値σｉ（又はσｉｊ）を算出した上で、上記の手順４で距離閾値σｉ（又はσｉｊ）と距離ｄｉｊとを比較し、実際にトラジェクトリを更新するか否かを判定したが、この距離閾値の算出とその比較は行わなくてもよい。ただし、距離閾値の算出とその比較を行うことで、より精度の良い複数物体追跡を実現できることが期待できる。
【００６５】
そして、トラジェクトリ初期化部１１３は、抽出代表点及び抽出補助情報のうち、上記のステップＳ２０２でいずれのトラジェクトリとも対応付けられなかった抽出代表点及び抽出補助情報を、新たなトラジェクトリとして初期化する（ステップＳ２０３）。すなわち、トラジェクトリ初期化部１１３は、いずれのトラジェクトリとも対応付けられなかった抽出代表点及び抽出補助情報のみを含む新たなトラジェクトリを生成する。なお、いずれのトラジェクトリとも対応付けられなかった抽出代表点及び抽出補助情報が複数存在する場合、これら複数の抽出代表点及び抽出補助情報のそれぞれを含む新たなトラジェクトリがそれぞれ生成される。
【００６６】
＜物体追跡装置１０のハードウェア構成＞
最後に、本実施形態に係る物体追跡装置１０のハードウェア構成について、図７を参照しながら説明する。図７は、本実施形態に係る物体追跡装置１０のハードウェア構成の一例を示す図である。
【００６７】
図７に示すように、本実施形態に係る物体追跡装置１０は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置２０１と、表示装置２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、プロセッサ２０５と、メモリ装置２０６とを有する。これら各ハードウェアは、それぞれがバス２０７を介して通信可能に接続されている。
【００６８】
入力装置２０１は、例えば、キーボードやマウス、タッチパネル等である。表示装置２０２は、例えば、ディスプレイ等である。なお、物体追跡装置１０は、入力装置２０１及び表示装置２０２のうちの少なくとも一方を有していなくてもよい。
【００６９】
外部Ｉ／Ｆ２０３は、記録媒体２０３ａ等の外部装置とのインタフェースである。物体追跡装置１０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａの読み取りや書き込み等を行うことができる。記録媒体２０３ａには、例えば、物体追跡装置１０が有する各機能部（物体位置要素抽出部１０１、トラジェクトリ集合更新部１０２及びトラジェクトリ終了判定部１０３）を実現する１以上のプログラムが格納されていてもよい。なお、記録媒体２０３ａには、例えば、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００７０】
通信Ｉ／Ｆ２０４は、物体追跡装置１０を通信ネットワークに接続するためのインタフェースである。なお、物体追跡装置１０が有する各機能部を実現する１以上のプログラムは、通信Ｉ／Ｆ２０４を介して、所定のサーバ装置等から取得（ダウンロード）されてもよい。
【００７１】
プロセッサ２０５は、例えば、ＣＰＵやＧＰＵ等の各種演算装置である。物体追跡装置１０が有する各機能部は、例えば、メモリ装置２０６に格納されている１以上のプログラムがプロセッサ２０５（特に、ＧＰＵ等の並列計算に特化したプロセッサ）に実行させる処理により実現される。
【００７２】
メモリ装置２０６は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリ等の各種記憶装置である。
【００７３】
本実施形態に係る物体追跡装置１０は、図７に示すハードウェア構成を有することにより、上述した物体追跡処理を実現することができる。なお、図７に示すハードウェア構成は一例であって、物体追跡装置１０は、他のハードウェア構成を有していてもよい。例えば、物体追跡装置１０は、複数のプロセッサ２０５を有していてもよいし、複数のメモリ装置２０６を有していてもよい。
【００７４】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【００７５】
１０        物体追跡装置
１０１      物体位置要素抽出部
１０２      トラジェクトリ集合更新部
１０３      トラジェクトリ終了判定部
１１１      トラジェクトリ位置予測部
１１２      位置対応付け部
１１３      トラジェクトリ初期化部
２０１      入力装置
２０２      表示装置
２０３      外部Ｉ／Ｆ
２０３ａ    記録媒体
２０４      通信Ｉ／Ｆ
２０５      プロセッサ
２０６      メモリ装置
２０７      バス
【要約】
【課題】スループットの高い複数物体追跡を実現すること。
【解決手段】一実施形態に係る物体追跡装置は、入力された映像に映る対象物体の軌跡を示すトラジェクトリを得るための物体追跡装置であって、前記映像に含まれる時刻ｔの画像フレームに映る前記対象物体の領域を復元するための代表点及び補助情報を抽出する抽出部と、時刻ｔ−１までに得られたトラジェクトリから予測された前記対象物体の代表点と、前記抽出部によって抽出された代表点とを比較した結果に基づいて、時刻ｔにおける前記対象物体の位置として前記代表点及び補助情報を前記トラジェクトリに対応付ける対応付け部と、を有する。
【選択図】図２【図１】
0006859472.tif 000005
【図２】
0006859472.tif 000006
【図３】
0006859472.tif 000007
【図４】
0006859472.tif 000008
【図５】
0006859472.tif 000009
【図６】
0006859472.tif 000010
【図７】
0006859472.tif 000011