IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7687424物体追跡処理装置、物体追跡処理方法及びプログラム
<>
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図1
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図2
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図3A
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図3B
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図4
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図5
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図6
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図7
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図8
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図9
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図10
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図11
  • 特許-物体追跡処理装置、物体追跡処理方法及びプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-26
(45)【発行日】2025-06-03
(54)【発明の名称】物体追跡処理装置、物体追跡処理方法及びプログラム
(51)【国際特許分類】
   G06T 7/246 20170101AFI20250527BHJP
【FI】
G06T7/246
【請求項の数】 7
(21)【出願番号】P 2023553826
(86)(22)【出願日】2021-10-13
(86)【国際出願番号】 JP2021037921
(87)【国際公開番号】W WO2023062754
(87)【国際公開日】2023-04-20
【審査請求日】2024-04-03
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】山崎 智史
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2016-219004(JP,A)
【文献】特開2004-046647(JP,A)
【文献】特開2018-201161(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00- 7/90
G06V 10/00-20/90
G06V 30/418
G06V 40/16
G06V 40/20
(57)【特許請求の範囲】
【請求項1】
追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に特徴量が類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する物体グルーピング処理部と、
前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる物体追跡部と、を備え
前記類似物体グループに属する物体に関する情報として、物体の位置、当該物体の検出時刻、当該物体が属する類似物体グループを識別するグループIDを格納する物体グループ情報記憶部をさらに備え、
前記物体追跡部は、予め定められた周期ごとに、バッチ処理を行い、
前記バッチ処理は、更新があった前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理である物体追跡処理装置。
【請求項2】
前記物体追跡部は、前記類似物体グループごとに設けられ、
各々の前記物体追跡部は、各々が担当する類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理を並列に実行する請求項に記載の物体追跡処理装置。
【請求項3】
前記物体追跡部が割り当てた前記追跡IDが格納される物体追跡情報記憶部をさらに備える請求項1又は2に記載の物体追跡処理装置。
【請求項4】
映像を構成する各々のフレーム中の前記追跡対象の物体及び当該追跡対象の物体の特徴量を検出する物体検出部と、
前記物体検出部が検出した物体ごとに、当該物体の位置、当該物体の検出時刻、当該物体の特徴量、当該物体に割り当てられたグループIDを格納する物体特徴量記憶部と、をさらに備え、
前記物体グルーピング処理部は、前記物体特徴量記憶部参照することにより、前記追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する請求項1からのいずれか1項に記載の物体追跡処理装置。
【請求項5】
追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に特徴量が類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する物体グルーピング処理ステップと、
前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる物体追跡ステップと、を備え
前記物体追跡ステップは、予め定められた周期ごとに、バッチ処理を行い、
前記バッチ処理は、更新があった前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理である物体追跡処理方法。
【請求項6】
映像を構成するフレームが入力されるごとに、当該フレーム中の追跡対象の物体及び当該追跡対象の物体の特徴量を検出するステップと、
物体の位置、当該物体の検出時刻、当該物体の特徴量、当該物体が属するグループを識別するグループIDが記憶される物体特徴量記憶部を参照することにより、前記検出された追跡対象の物体の少なくとも前記特徴量に基づいて、当該追跡対象の物体に特徴量が類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出するステップと、
前記検出された追跡対象の物体について、当該物体の位置、当該物体の検出時刻、当該物体の特徴量、当該物体が属するグループを識別するグループIDを前記物体特徴量記憶部に格納するステップと、
前記検出された追跡対象の物体について、当該物体の位置、当該物体の検出時刻、当該物体が属するグループを識別するグループIDを物体グループ情報記憶部に格納するステップと、
予め定められた周期ごとに、前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てるバッチ処理を実行するステップと、を備える物体追跡処理方法。
【請求項7】
追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に特徴量が類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する物体グルーピング処理ステップと、
前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる物体追跡ステップと、をコンピュータに実行させるためのプログラムであって、
前記物体追跡ステップは、予め定められた周期ごとに、バッチ処理を行い、
前記バッチ処理は、更新があった前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理であるプログラム
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、物体追跡処理装置、物体追跡処理方法及び非一時的なコンピュータ可読媒体に関する。
【背景技術】
【0002】
映像中で出現する物体を検出し、次々刻々のフレームに跨って同一の物体を追跡(MOT(Multi Object Tracking))するシステムが例えば特許文献1に記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2021/140966号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1においては、物体の非時空間的な類似性により同一物体を判定する構成であるため、時空間的に制約に反した追跡結果がでてしまい、追跡精度が低下するという課題がある。
【0005】
本開示の目的は、上述した課題を鑑み、映像中で出現する物体の追跡精度を向上させることができる物体追跡処理装置、物体追跡処理方法及び非一時的なコンピュータ可読媒体を提供することにある。
【課題を解決するための手段】
【0006】
本開示の物体追跡処理装置は、追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する物体グルーピング処理部と、前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる物体追跡部と、を備える。
【0007】
本開示の物体追跡処理方法は、追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する物体グルーピング処理ステップと、前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる物体追跡ステップと、を備える。
【0008】
本開示の別の物体追跡処理方法は、映像を構成するフレームが入力されるごとに、当該フレーム中の追跡対象の物体及び当該追跡対象の物体の特徴量を検出するステップと、物体特徴量記憶部を参照することにより、前記検出された追跡対象の物体の少なくとも前記特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出するステップと、前記検出された追跡対象の物体について、当該物体の位置、当該物体の検出時刻、当該物体の特徴量、当該物体が属するグループを識別するグループIDを前記物体特徴量記憶部に格納するステップと、前記検出された追跡対象の物体について、当該物体の位置、当該物体の検出時刻、当該物体が属するグループを識別するグループIDを物体グループ情報記憶部に格納するステップと、予め定められた周期ごとに、前記物体グループ情報記憶部を参照し、前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てるバッチ処理を実行するステップと、を備える。
【0009】
本開示の非一時的なコンピュータ可読媒体は、追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する物体グルーピング処理ステップと、前記類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる物体追跡ステップと、をコンピュータに実行させるためのプログラムを記録した非一時的なコンピュータ可読媒体である。
【発明の効果】
【0010】
本開示により、映像中で出現する物体の追跡精度を向上させることができる物体追跡処理装置、物体追跡処理方法及び非一時的なコンピュータ可読媒体を提供することができる。
【図面の簡単な説明】
【0011】
図1】物体追跡処理装置1の概略構成図である。
図2】物体追跡処理装置1の動作の一例のフローチャートである。
図3A】物体追跡処理装置1が実行する1段階目の処理のイメージ図である。
図3B】物体追跡処理装置1が実行する2段階目の処理のイメージ図である。
図4】実施形態2にかかる物体追跡処理装置1の構成を示すブロック図である。
図5】物体検出部10が検出した物体をグルーピングする処理のフローチャートである。
図6】物体検出部10が検出した物体をグルーピングする処理のイメージ図である。
図7】物体検出部10が検出した物体をグルーピングする処理のイメージ図である。
図8】各々の物体追跡部50A~50Cが、各々が担当する類似物体グループ(互いに異なる1つの類似物体グループ)に属する物体に当該物体を識別する追跡IDを割り当てる処理を並列的に実行している様子を表す図である。
図9】物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理のフローチャートである。
図10】物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理のイメージ図である。
図11】物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理において用いられる行列(表)の例である。
図12】物体追跡処理装置1(情報処理装置)のハードウェア構成例である。
【発明を実施するための形態】
【0012】
(実施形態1)
まず、図1を用いて、実施形態1の物体追跡処理装置1の構成例について説明する。
【0013】
図1は、物体追跡処理装置1の概略構成図である。
【0014】
図1に示すように、物体追跡処理装置1は、追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する物体グルーピング処理部20と、類似物体グループに属する物体に追跡IDを割り当てる物体追跡部50と、を備える。
【0015】
次に、上記物体追跡処理装置1の動作の一例について説明する。
【0016】
図2は、物体追跡処理装置1の動作の一例のフローチャートである。
【0017】
まず、物体グルーピング処理部20が、追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する(ステップS1)。
【0018】
次に、物体追跡部50が、類似物体グループに属する物体に追跡IDを割り当てる(ステップS2)。
【0019】
以上説明したように、実施形態1によれば、映像中で出現する物体の追跡精度を向上させることができる。
【0020】
これは、フレーム中の追跡対象の物体を検出し、当該検出された追跡対象の物体を類似物体グループに分類する処理(非時空間的な類似性を利用した処理)、及びこの分類された類似物体グループごとに、当該類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理(空間的な類似性を利用した処理)の二段階の処理を実行することによるものである。すなわち、広範なフレーム・時間を対象にした同一物体の照合と時空間的な類似性の考慮を両立することで高い追跡精度を実現することができる。
【0021】
(実施形態2)
以下、本開示の実施形態2として、物体追跡処理装置1について詳細に説明する。実施形態2は、実施形態1を具体的にした実施形態である。
【0022】
まず、物体追跡処理装置1の概要について説明する。
【0023】
物体追跡処理装置1は、単一映像中で出現するすべての物体を検出し、次々刻々のフレームに跨って同一の物体を追跡(MOT(Multi Object Tracking))する装置である。単一映像とは、1つのカメラ70(図12参照)又は1つの映像ファイル(図示せず)から入力される映像をいう。フレームとは、単一映像を構成する個々のフレーム(以下、画像とも呼ぶ)をいう。
【0024】
物体追跡処理装置1は、二段階の処理を実行する。
【0025】
図3Aは、物体追跡処理装置1が実行する1段階目の処理のイメージ図である。
【0026】
物体追跡処理装置1は、1段階目の処理として、フレーム中の追跡対象の物体を検出し、当該検出された追跡対象の物体を類似物体グループに分類する処理(オンライン処理)を実行する。この処理は、物体の非時空間的な類似性を利用した処理である。図3Aは、フレーム1~3に対して1段階目の処理が実行された結果、各々の追跡対象の物体(人物U1~U4)が3つの類似物体グループG1~G3に分類されたことを表す。
【0027】
図3Bは、物体追跡処理装置1が実行する2段階目の処理のイメージ図である。
【0028】
物体追跡処理装置1は、2段階目の処理として、1段目の処理により分類された類似物体グループごとに、当該類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理(バッチ処理)を実行する。その際、物体追跡処理装置1は、時空間的な類似性を利用して、同一物体判定する処理、例えば、物体の検出位置(図3B中の実線で描いた矩形の枠参照)と追跡物体の予測位置(図3B中の点線で描いた矩形の枠参照)の重なり、IoU(Intersection over Union)に基づくオンライン追跡を行う。この処理は、時空間的な類似性を利用した処理である。
【0029】
以上のように二段階の処理を実行することにより、物体の非時空間的な類似性又は時空間的な類似性のいずれか一方を利用した処理では実現することができない高い追跡精度を実現することができる。また、追跡対象の物体を類似物体グループに分類することにより、この類似物体グループごとに、当該類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理を並列的に実行することができる。これにより、スループットの向上を実現することができる。
【0030】
次に、物体追跡処理装置1の詳細について説明する。
【0031】
図4は、実施形態2にかかる物体追跡処理装置1の構成を示すブロック図である。
【0032】
図4に示すように、物体追跡処理装置1は、物体検出部10、物体グルーピング処理部20、物体特徴量情報記憶部30、物体グループ情報記憶部40、物体追跡部50、物体追跡情報記憶部60を備えている。
【0033】
物体検出部10は、単一映像を構成するフレーム中の追跡対象の物体(追跡対象の物体の位置)及び当該追跡対象の物体の特徴量を検出する処理を実行する。この処理は、フレームが入力されるごとに実行されるオンライン処理である。この処理は、フレームに対して所定の画像処理を実行することにより実現される。所定の画像処理としては、既存の各種アルゴリズムを用いることができる。物体検出部10が検出する物体は、例えば、人物、車両、自動二輪車等の移動体(移動物体)である。以下、物体検出部10が検出する物体が人物である例について説明する。特徴量とは、物体特徴量(ReID)で、比較することで2つの物体間の類似度スコアを算出できるデータをいう。物体検出部10が検出する物体の位置は、例えば、物体検出部10が検出した物体を囲む矩形の枠の座標である。物体検出部10が検出する物体の特徴量は、例えば、人物の顔の特徴量、人物の骨格の特徴量である。物体検出部10は、カメラ70(図12参照)に内蔵されていてもよいし、カメラ70外部に設けられていてもよい。
【0034】
物体グルーピング処理部20は、物体特徴量情報記憶部30を参照することにより、追跡対象の物体の少なくとも特徴量に基づいて、当該追跡対象の物体に類似する少なくとも1つの物体を含む少なくとも1つの類似物体グループを算出する処理を実行する。その際、物体グルーピング処理部20は、物体の非時空間的な類似性(例えば、顔特徴データの類似性又は人型特徴データの類似性)を利用して、物体検出部10が検出した物体を類似物体グループに分類する処理(クラスタリング)を実行する。この処理は、物体検出部10が物体を検出するごとに実行されるオンライン処理である。クラスタリングアルゴリズムとしては、広範な時間間隔でのデータとの類似性に基づくデータクラスタリング・グルーピング技術、例えば、DBSCAN、k-means、凝集型クラスタリングを用いることができる。
【0035】
具体的には、物体グルーピング処理部20は、物体特徴量情報記憶部30を参照し、物体検出部10が検出した物体に類似する類似物体を検索する。その際、物体特徴量情報記憶部30に記憶されている全て(例えば、全フレーム分の特徴量)を検索対象としてもよいし、物体特徴量情報記憶部30に格納されている一部(例えば、現時点から30秒以内に格納された500フレーム分の特徴量)を検索対象としてもよい。
【0036】
上記検索の結果、類似物体が検索された場合、物体グルーピング処理部20は、物体検出部10が検出した物体に当該類似物体のグループIDを割り当てる。具体的には、物体グルーピング処理部20は、当該物体の位置、当該物体の検出時刻、当該物体の特徴量、当該物体が属する類似物体グループを識別するグループIDを物体特徴量情報記憶部30に格納する。なお、類似物体が検索されない場合、新規に採番されたグループIDが割り当てられる。
【0037】
物体特徴量情報記憶部30には、物体検出部10が検出した物体ごとに、当該物体の位置、当該物体の検出時刻、当該物体の特徴量、当該物体に割り当てられたグループIDが格納される。物体特徴量情報記憶部30は、物体グルーピング処理部20から頻繁にアクセスされるため、高速に読み書きできる記憶装置(メモリ等)であるのが望ましい。
【0038】
物体グループ情報記憶部40には、類似物体グループに属する物体に関する情報が格納される。具体的には、物体グループ情報記憶部40には、物体検出部10が検出した物体ごとに、当該物体の位置、当該物体の検出時刻、当該物体が属する類似物体グループを識別するグループIDが格納される。なお、物体グループ情報記憶部40には、さらに、当該物体の特徴量が格納されてもよい。物体グループ情報記憶部40は、物体特徴量情報記憶部30と比べ、頻繁にアクセスされないため、高速に読み書きできる記憶装置(メモリ等)でなくてもよい。例えば、物体グループ情報記憶部40は、ハードディスク装置であってもよい。
【0039】
物体追跡部50は、物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理を実行する。追跡IDとは、次々刻々のフレームに跨って同一の物体に割り当てられる識別子をいう。この処理は、予め定められた時間(例えば、5分)が経過するごとに実行される時間周期(時刻周期)のバッチ処理である。このバッチ処理は、物体グループ情報記憶部40から更新があった類似物体グループに属する物体に関する情報を取得し、当該取得した情報に基づいて、類似物体グループに属する物体に追跡IDを割り当てる処理である。その際、物体追跡部50は、時空間的な類似性を利用して、同一物体判定する処理、例えば、物体の検出位置と追跡物体の予測位置の重なり、IoU(Intersection over Union)に基づくオンライン追跡を行う。このアルゴリズムとしては、例えば、ハンガリアン法を用いることができる。ハンガリアン法は、検出物体と追跡物体の予測位置の重なり度などからコストを算出、コスト最小となる割当を決定するアルゴリズムである。ハンガリアン法についてはさらに後述する。なお、このアルゴリズムとしては、ハンガリアン法に限らず、他のアルゴリズム、例えば、貧欲法を用いることもできる。なお、物体追跡部50の同一物体判定では時空間的な類似性だけでなく非時空間的な類似性を利用してもよい。
【0040】
物体追跡部50は、物体グルーピング処理部20が算出した類似物体グループと同数存在する(同数生成される)。各々の物体追跡部50は、各々が担当する類似物体グループ(互いに異なる1つの類似物体グループ)に属する物体に当該物体を識別する追跡IDを割り当てる処理を並列的に実行する。このように、本実施形態においては、物体グルーピング処理部20が複数の類似物体グループを算出した場合、類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理を並列的に実行することができる。なお、類似物体グループに属する物体は、1つの場合もあるし、複数の場合もある。例えば、図3Aにおいては、類似物体グループG1には二人の人物U1、U2が属しており、類似物体グループG2には一人の人物U3が属しており、類似物体グループG3には一人の人物U4が属している。
【0041】
物体追跡情報記憶部60には、物体追跡部50が割り当てた追跡IDが格納される。具体的には、物体追跡情報記憶部60には、物体ごとに、当該物体の位置、当該物体の検出時刻、当該物体が属する類似物体グループを識別するグループIDが格納される。物体追跡情報記憶部60は、物体特徴量情報記憶部30と比べ、頻繁にアクセスされないため、高速に読み書きできる記憶装置(メモリ等)でなくてもよい。例えば、物体追跡情報記憶部60は、ハードディスク装置であってもよい。
【0042】
次に、物体追跡処理装置1の動作例として、類似人型をグルーピングする処理(1段階目の処理)について説明する。
【0043】
図5は、物体検出部10が検出した物体をグルーピングする処理のフローチャートである。図6図7は、物体検出部10が検出した物体をグルーピングする処理のイメージ図である。
【0044】
以下、前提として、物体検出部10には、カメラ70(図12参照)により撮像された単一映像を構成するフレームが逐次入力されているものとする。例えば、物体検出部10には、フレーム1、フレーム2、フレーム3・・・がこの順に順次入力されているものとする。また、物体特徴量情報記憶部30、物体グループ情報記憶部40、物体追跡情報記憶部60には、当初、何も記憶されていないものとする。
【0045】
以下の処理は、フレームごとに(フレームが入力されるごとに)実行される。
【0046】
まず、フレーム1が入力された場合の処理について説明する。
【0047】
まず、物体検出部10は、フレーム1が入力されると、当該フレーム1(画像)中の追跡対象の物体を検出し、当該追跡対象の物体の特徴量を検出(算出)する処理を実行する(ステップS10)。
【0048】
ここでは、図6に示すように、フレーム1(人物U1~U4を含む画像)が入力され、追跡対象の物体として、当該フレーム1中の人物U1~U4が検出され(ステップS100)、当該検出された人物U1~U4それぞれの特徴量が検出されたものとする。
【0049】
次に、物体グルーピング処理部20は、ステップS10で検出された物体ごとに、物体特徴量情報記憶部30を参照し、閾値1よりも高い類似度スコアを持つ類似物体を検索する(ステップS11)。閾値1は、類似度スコアの下限を表す閾値である。その際、物体特徴量情報記憶部30に記憶されている全て(例えば、全フレーム分の特徴量)を検索対象としてもよいし、物体特徴量情報記憶部30に格納されている一部(例えば、現時点から30秒以内に格納された500フレーム分の特徴量)を検索対象としてもよい。なお、物体特徴量情報記憶部30に格納されている一部(例えば、現時点から30秒以内に格納された500フレーム分の特徴量)を検索対象とすることにより、特徴量の鮮度劣化を抑制することができる。
【0050】
例えば、ステップS10(ステップS100)で検出された人物U1については、ステップS11の処理を実行しても、類似物体は検索されない。この時点で、物体特徴量情報記憶部30には何も記憶されていないためである(図6中のステップS101参照)。
【0051】
次に、物体グルーピング処理部20は、ステップS11での検索結果の類似物体数が閾値2以上であるか否かを判定する(ステップS12)。閾値2は、類似物体数の下限を表す閾値である。
【0052】
ステップS10で検出された人物U1については、ステップS11の処理を実行しても、類似物体は検索されないため、ステップS12の判定結果がNoとなる。
【0053】
この場合、物体グルーピング処理部20は、ステップS10で検出された人物U1については、新しい物体(人物U1)のグループID(例えば、1)を採番し(ステップS13)、この採番されたグループID及び関連情報(人物U1の位置、人物U1の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図6中のステップS102)。また、物体グルーピング処理部20は、ステップS13で採番されたグループID及び関連情報(人物U1の位置、人物U1の検出時刻、人物U1の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図6中のステップS103参照)。
【0054】
一方、ステップS10で検出された人物U2については、ステップS11の処理を実行すると、類似物体として人物U1が検索される。この時点で、物体特徴量情報記憶部30には人物U1のグループID及び関連情報(人物U1の位置、人物U1の検出時刻、人物U1の特徴量)が格納されているためである(図6中のステップS104参照)。そのため、ステップS12の判定結果がYesとなる(閾値2が0の場合)。
【0055】
この場合、物体グルーピング処理部20は、ステップS11での検索結果の類似物体は全て同じグループIDか否かを判定する(ステップS15)。
【0056】
ステップS10で検出された人物U2については、ステップS11での検索結果の類似物体(人物U1)は全て同じグループIDであるため、ステップS15の判定結果がYesとなる。
【0057】
この場合、物体グルーピング処理部20は、ステップS10で検出された人物U2については、ステップS11で検出された類似物体(人物U1)のグループID及び関連情報(人物U2の位置、人物U2の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図6中のステップS105)。また、物体グルーピング処理部20は、ステップS11で検出された類似物体(人物U1)のグループID及び関連情報(人物U1の位置、人物U1の検出時刻、人物U1の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図6中のステップS106参照)。
【0058】
一方、ステップS10で検出された人物U3については、ステップS11の処理を実行しても、類似物体は検索されないため、ステップS12の判定結果がNoとなる。
【0059】
この場合、物体グルーピング処理部20は、ステップS10で検出された人物U3については、新しい物体(人物U3)のグループID(例えば、2)を採番し(ステップS13)、この採番されたグループID及び関連情報(人物U3の位置、人物U3の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図6中のステップS108)。また、物体グルーピング処理部20は、ステップS13で採番されたグループID及び関連情報(人物U3の位置、人物U3の検出時刻、人物U3の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図6中のステップS109参照)。
【0060】
同様に、ステップS10で検出された人物U4については、ステップS11の処理を実行しても、類似物体は検索されないため、ステップS12の判定結果がNoとなる。
【0061】
この場合、物体グルーピング処理部20は、ステップS10で検出された人物U4については、新しい物体(人物U4)のグループID(例えば、3)を採番し(ステップS13)、この採番されたグループID及び関連情報(人物U4の位置、人物U4の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図6中のステップS111)。また、物体グルーピング処理部20は、ステップS13で採番されたグループID及び関連情報(人物U4の位置、人物U4の検出時刻、人物U4の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図示せず)。
【0062】
次に、フレーム1以降のフレーム(例えば、フレーム2)が入力された場合の処理について説明する。
【0063】
まず、物体検出部10は、フレーム2が入力されると、当該フレーム2(画像)中の追跡対象の物体を検出し、当該追跡対象の物体の特徴量を検出(算出)する処理を実行する(ステップS10)。
【0064】
ここでは、図7に示すように、フレーム2(人物U1~U4を含む画像)が入力され、追跡対象の物体として、当該フレーム2中の人物U1~U4が検出され(ステップS200)、当該検出された人物U1~U4それぞれの特徴量が検出されたものとする。
【0065】
次に、物体グルーピング処理部20は、ステップS10で検出された物体ごとに、物体特徴量情報記憶部30を参照し、閾値1よりも高い類似度スコアを持つ類似物体を検索する(ステップS11)。閾値1は、類似度スコアの下限を表す閾値である。その際、物体特徴量情報記憶部30に記憶されている全て(例えば、全フレーム分の特徴量)を検索対象としてもよいし、物体特徴量情報記憶部30に格納されている一部(例えば、現時点から30秒以内に格納された500フレーム分の特徴量)を検索対象としてもよい。なお、物体特徴量情報記憶部30に格納されている一部(例えば、現時点から30秒以内に格納された500フレーム分の特徴量)を検索対象とすることにより、特徴量の鮮度劣化を抑制することができる。
【0066】
例えば、ステップS10(ステップS200)で検出された人物U1については、ステップS11の処理を実行すると、類似物体として人物U1、U2が検索される。この時点で、物体特徴量情報記憶部30には人物U1のグループID及び関連情報(人物U1の位置、人物U1の検出時刻、人物U1の特徴量)及び人物U2のグループID及び関連情報(人物U2の位置、人物U2の検出時刻、人物U2の特徴量)が格納されているためである(図6中のステップS201参照)。そのため、ステップS12の判定結果がYesとなる(閾値2が0の場合)。
【0067】
この場合、物体グルーピング処理部20は、ステップS11での検索結果の類似物体は全て同じグループIDか否かを判定する(ステップS15)。
【0068】
ステップS10(ステップS200)で検出された人物U1については、ステップS11での検索結果の類似物体(人物U1、U2)は全て同じグループIDであるため、ステップS15の判定結果がYesとなる。
【0069】
この場合、物体グルーピング処理部20は、ステップS10(ステップS200)で検出された人物U1については、ステップS11で検出された類似物体(人物U1、U2)のグループID及び関連情報(人物U1の位置、人物U1の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図6中のステップS202)。また、物体グルーピング処理部20は、ステップS11で検出された類似物体(人物U1、U2)のグループID及び関連情報(人物U1の位置、人物U1の検出時刻、人物U1の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図7中のステップS203参照)。
【0070】
なお、仮に、ステップS11での検索結果の類似物体(人物U1、U2、U3)が全て同じグループIDでない場合、例えば、人物U1のグループIDが1で、人物U2のグループIDが2で、人物U3のグループIDが3の場合、ステップS15の判定結果がNoとなる。この場合、物体グルーピング処理部20は、グループIDを統合する処理を実行する。具体的には、物体グルーピング処理部20は、検索結果のグループIDを統合し、統合された後のグループIDを物体グループ情報記憶部40に格納する(ステップS16)。例えば、物体グルーピング処理部20は、グループIDが2の類似物体グループに属する全ての人物(ここでは、人物U2)及びグループIDが3の類似物体グループに属する全ての人物(ここでは、人物U3)をグループID=1に変更する。
【0071】
これにより、処理途中で誤って別の類似物体グループ(データクラスタ)に分類されていた人物(データ)を同一の類似物体グループに統合することができる。
【0072】
このように、グループIDを統合する処理が実行された場合、物体グルーピング処理部20は、ステップS10で検出された人物U1については、統合されたグループID及び関連情報(人物U1の位置、人物U1の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14)。また、物体グルーピング処理部20は、統合されたグループID及び関連情報(人物U1の位置、人物U1の検出時刻、人物U1の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する。人物U2、U3についても同様である。
【0073】
同様に、ステップS10(ステップS200)で検出された人物U2については、ステップS11の処理を実行すると、類似物体として人物U1、U2が検索される。この時点で、物体特徴量情報記憶部30には人物U1のグループID及び関連情報(人物U1の位置、人物U1の検出時刻、人物U1の特徴量)及び人物U2のグループID及び関連情報(人物U2の位置、人物U2の検出時刻、人物U2の特徴量)が格納されているためである(図7中のステップS204参照)。そのため、ステップS12の判定結果がYesとなる(閾値2が0の場合)。
【0074】
この場合、物体グルーピング処理部20は、ステップS11での検索結果の類似物体は全て同じグループIDか否かを判定する(ステップS15)。
【0075】
ステップS10(ステップS200)で検出された人物U2については、ステップS11での検索結果の類似物体(人物U1、U2)は全て同じグループIDであるため、ステップS15の判定結果がYesとなる。
【0076】
この場合、物体グルーピング処理部20は、ステップS10(ステップS200)で検出された人物U2については、ステップS11で検出された類似物体(人物U1、U2)のグループID及び関連情報(人物U2の位置、人物U2の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図7中のステップS205)。また、物体グルーピング処理部20は、ステップS11で検出された類似物体(人物U1、U2)のグループID及び関連情報(人物U2の位置、人物U2の検出時刻、人物U2の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図7中のステップS206参照)。
【0077】
同様に、ステップS10(ステップS200)で検出された人物U3については、ステップS11の処理を実行すると、類似物体として人物U3が検索される。この時点で、物体特徴量情報記憶部30には人物U3のグループID及び関連情報(人物U3の位置、人物U3の検出時刻、人物U3の特徴量)が格納されているためである(図7中のステップS207参照)。そのため、ステップS12の判定結果がYesとなる(閾値2が0の場合)。
【0078】
この場合、物体グルーピング処理部20は、ステップS11での検索結果の類似物体は全て同じグループIDか否かを判定する(ステップS15)。
【0079】
ステップS10(ステップS200)で検出された人物U3については、ステップS11での検索結果の類似物体(人物U3)は全て同じグループIDであるため、ステップS15の判定結果がYesとなる。
【0080】
この場合、物体グルーピング処理部20は、ステップS10(ステップS200)で検出された人物U3については、ステップS11で検出された類似物体(人物U3)のグループID及び関連情報(人物U3の位置、人物U3の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図7中のステップS208)。また、物体グルーピング処理部20は、ステップS11で検出された類似物体(人物U3)のグループID及び関連情報(人物U3の位置、人物U3の検出時刻、人物U3の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図7中のステップS209参照)。
【0081】
同様に、ステップS10(ステップS200)で検出された人物U4については、ステップS11の処理を実行すると、類似物体として人物U4が検索される。この時点で、物体特徴量情報記憶部30には人物U4のグループID及び関連情報(人物U4の位置、人物U4の検出時刻、人物U4の特徴量)が格納されているためである(図7中のステップS210参照)。そのため、ステップS12の判定結果がYesとなる(閾値2が0の場合)。
【0082】
この場合、物体グルーピング処理部20は、ステップS11での検索結果の類似物体は全て同じグループIDか否かを判定する(ステップS15)。
【0083】
ステップS10(ステップS200)で検出された人物U4については、ステップS11での検索結果の類似物体(人物U4)は全て同じグループIDであるため、ステップS15の判定結果がYesとなる。
【0084】
この場合、物体グルーピング処理部20は、ステップS10(ステップS200)で検出された人物U4については、ステップS11で検出された類似物体(人物U4)のグループID及び関連情報(人物U4の位置、人物U4の検出時刻)を互いに関連付けて物体グループ情報記憶部40に格納する(ステップS14、図7中のステップS211)。また、物体グルーピング処理部20は、ステップS11で検出された類似物体(人物U4)のグループID及び関連情報(人物U4の位置、人物U4の検出時刻、人物U4の特徴量)を互いに関連付けて物体特徴量情報記憶部30に格納する(図示せず)。
【0085】
なお、フレーム2以降のフレームについても、フレーム2に対するのと同様の処理が実行される。
【0086】
上記フローチャート1に記載の処理が実行されることにより、時々刻々と、ステップS10で検出された各物体のグループID及び関連情報が物体特徴量情報記憶部30及び物体グループ情報記憶部40に格納されていく。
【0087】
以上、上記図5に記載のフローチャートの処理を、フレーム1、フレーム2、フレーム3・・・のように連続するフレームそれぞれに対して実行する例について説明したが、これに限らない。例えば、上記図5に記載のフローチャートの処理を、フレーム1、フレーム3、フレーム5・・・のように1(又は複数)飛びのフレームそれぞれに対して実行してもよい。これにより、スループットの向上を実現することができる。
【0088】
次に、物体追跡処理装置1の動作例として、物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理(2段階目の処理)について説明する。この処理は、物体追跡部50が実行する。
【0089】
物体追跡部50は、物体グルーピング処理部20が算出した類似物体グループと同数存在する(同数生成される)。例えば、上記図5のフローチャートの処理を実行した結果、3つの類似物体グループが形成された場合、図8に示すように、3つの物体追跡部50A~50Cが存在する(生成される)。図8は、各々の物体追跡部50A~50Cが、各々が担当する類似物体グループ(互いに異なる1つの類似物体グループ)に属する物体に当該物体を識別する追跡IDを割り当てる処理を並列的に実行している様子を表す。
【0090】
物体追跡部50Aは、第1類似物体グループ(ここでは、グループIDが1の類似物体グループ)に属する物体(ここでは、人物U1、U2)に当該物体を識別する追跡IDを割り当てる処理を実行する。物体追跡部50Bは、第2類似物体グループ(ここでは、グループIDが2の類似物体グループ)に属する物体(ここでは、人物U3)に当該物体を識別する追跡IDを割り当てる処理を実行する。物体追跡部50Cは、第3類似物体グループ(ここでは、グループIDが3の類似物体グループ)に属する物体(ここでは、人物U4)に当該物体を識別する追跡IDを割り当てる処理を実行する。これらの処理は、並列的に実行される。
【0091】
以下、代表して、物体追跡部50Aが第1類似物体グループ(グループIDが1の類似物体グループ)に属する物体(ここでは、人物U1、U2)に当該物体を識別する追跡IDを割り当てる処理について説明する。
【0092】
図9は、物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理のフローチャートである。図10は、物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理のイメージ図である。
【0093】
まず、予め定められた時間(例えば、5分)が経過すると、物体追跡部50Aは、更新があったグループID(ここでは、グループID=1。以下同様)を持つ全ての類似物体の物体グループ情報(グループID及びその関連情報)を物体グループ情報記憶部40から取得する(ステップS20)。
【0094】
「更新があった」とは、物体グループ情報記憶部40に格納済みのグループIDと同じグループID及び関連情報が追加格納された場合、物体グループ情報記憶部40に新しいグループID及び関連情報が追加格納された場合をいい、上記ステップS16の処理(グループIDを統合する処理)が実行されその処理結果が物体グループ情報記憶部40に格納された場合(ステップS14)も含む。なお、更新がなかった場合、予め定められた時間(例えば、5分)が経過しても図9に記載のフローチャートの処理は実行されない。
【0095】
次に、物体追跡部50Aは、ステップS20で取得した物体グループ情報の追跡IDを未割当にする(ステップS21)。
【0096】
次に、物体追跡部50Aは、次フレームが存在するか否かを判定する(ステップS24)。ここでは、次フレーム(フレーム2)が存在するため、ステップS24の判定結果がYesとなる。
【0097】
次に、物体追跡部50Aは、現フレーム(処理対象フレーム)はフレーム1か否かを判定する(ステップS25)。ここでは、現フレーム(処理対象フレーム)がフレーム1(最初のフレーム)であるため、ステップS25の判定結果がYesとなる。
【0098】
次に、物体追跡部50Aは、割当された追跡物体では物体の現在位置も加味して次フレームでの位置を予測する(ステップS26)。
【0099】
例えば、物体追跡部50Aは、フレーム1(最初のフレーム)中のグループIDが1の類似物体グループに属する人物U1、U2それぞれの次フレーム(フレーム2)での位置を予測する。この予測のアルゴリズムとしては、例えば、https://arxiv.org/abs/1602.00763 (code: https://github.com/abewley/sort, GPL v3)に開示されているものを用いることができる。ここでは、人物U1、U2の予測位置として、図10中、フレーム2中の点線で描いた2つの矩形の枠A1、A2の位置が予測されたものとする。
【0100】
次に、物体追跡部50Aは、割当がない又はコストが閾値3より高い物体には新しい追跡IDを採番する(ステップS27)。閾値3は、物体領域の重なりと物体類似度で算出されるコストの上限を表す閾値である。
【0101】
ここでは、フレーム1(最初のフレーム)中のグループIDが1の類似物体グループに属する人物U1は追跡IDが未割り当てであるため、物体追跡部50Aは、人物U1について、新しい追跡ID(例えば、1)を採番し(ステップS27)、この採番された新しい追跡ID(=1)及び関連情報(人物U1の位置、人物U1の検出時刻)を互いに関連付けて物体追跡情報記憶部60に格納する。同様に、フレーム1(最初のフレーム)中のグループIDが1の類似物体グループに属する人物U2は追跡IDが未割り当てであるため、物体追跡部50Aは、人物U2について、新しい追跡ID(例えば、2)を採番し(ステップS27)、この採番された新しい追跡ID(=2)及び関連情報(人物U2の位置、人物U2の検出時刻)を互いに関連付けて物体追跡情報記憶部60に格納する。
【0102】
次に、物体追跡部50Aは、次フレームが存在するか否かを判定する(ステップS24)。ここでは、次フレーム(フレーム2)が存在するため、ステップS24の判定結果がYesとなる。
【0103】
次に、物体追跡部50Aは、現フレーム(処理対象フレーム)はフレーム1か否かを判定する(ステップS25)。ここでは、現フレーム(処理対象フレーム)がフレーム2であるため、ステップS25の判定結果がNoとなる。
【0104】
次に、物体追跡部50Aは、現フレーム(フレーム2)の全ての物体情報及び前フレーム(フレーム1)まで追跡していた物体(人物U1、U2)の予測位置を取得する(ステップS28)。ここでは、物体(人物U1、U2)の予測位置として、図10中、フレーム2中の点線で描いた2つの矩形の枠A1、A2の位置(ステップS26で予測された位置)が取得されたものとする。
【0105】
次に、物体追跡部50は、物体領域の重なりと物体類似度をコスト関数としたハンガリアン法により追跡物体の追跡IDを現在物体に割り当てる(ステップS29)。例えば、検出物体と追跡物体の予測位置の重なり度などからコストを算出、コスト最小となる割当を決定する。
【0106】
ここで、ハンガリアン法により追跡物体の追跡IDを現在物体に割り当てる処理の具体例について説明する。
【0107】
この処理においては、図11に示す行列(表)が用いられる。図11は、物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理において用いられる行列(表)の例である。この行列中の「検出1」、「検出2」、「追跡1」、「追跡2」は、次の意味である。
【0108】
すなわち、図10中、フレーム2中の点線で描いた2つの矩形の枠A1、A2は前フレーム(フレーム1)において予測された物体(人物U1、U2)の予測位置を表す。この2つの矩形の枠A1、A2のうち一方が「追跡1」を表し、他方が「追跡2」を表す。
【0109】
また、図10中、フレーム2中の実線で描いた2つの矩形の枠A3、A4は現フレーム(フレーム2)において検出された物体(人物U1、U2)の位置を表す。この2つの矩形の枠A3、A4のうち一方が「検出1」を表し、他方が「検出2」を表す。
【0110】
なお、図11に示す行列(表)は、2×2の行列であるが、これに限らず、物体の数によっては、2×2以外のN1×N2の行列となることもある。N1、N2はそれぞれ1以上の整数である。
【0111】
図11に示す行列(表)に記載の数値(以下、コストとも呼ぶ)は、次の意味である。
【0112】
例えば「追跡1」と「検出1」の交差する箇所に記載の0.5は、「追跡1」を表す予測位置(図10中フレーム2中の点線で描いた一方の矩形の枠A1)と「検出1」を表す位置(図10中フレーム2中の実線で描いた一方の矩形の枠A3)との重なり度(重なり領域)/2を1.0から減じることにより得られる数値である。この数値は、0のとき両位置が完全に重なっていることを表し、1のとき両位置が全く重なっていないことを表す。また、この数値は、小さいほど(0に近いほど)、両位置の重なり度が大きいことを表し、逆に、大きいほど(1に近いほど)、両位置の重なり度が小さいことを表す。図11に示す行列(表)に記載の他の数値(0.9、0.1)についても同様である。
【0113】
図11に示す行列(表)の場合、物体追跡部50Aは、コスト最小となる(重なり度が大きい)割り当てを決定する。具体的には、物体追跡部50Aは、検出1(例えば、人物U1)の追跡IDとして、コストが最小となる(コストが0.5となる)「追跡1」の追跡IDを割り当てる。この場合、物体追跡部50Aは、人物U1について、この割り当てた追跡ID(=1)及び関連情報(人物U1の位置、人物U1の検出時刻)を互いに関連付けて物体追跡情報記憶部60に格納する。
【0114】
一方、物体追跡部50Aは、検出2(例えば、人物U2)の追跡IDとして、コストが最小となる(コストが0.1となる)「追跡2」の追跡IDを割り当てる。この場合、物体追跡部50Aは、人物U2について、この割り当てた追跡ID(=2)及び関連情報(人物U2の位置、人物U2の検出時刻)を互いに関連付けて物体追跡情報記憶部60に格納する。
【0115】
次に、物体追跡部50Aは、割当された追跡物体では物体の現在位置も加味して次フレームでの位置を予測する(ステップS26)。
【0116】
例えば、物体追跡部50Aは、フレーム2中のグループIDが1の類似物体グループに属する人物U1、U2それぞれの次フレーム(フレーム3)での位置を予測する。ここでは、人物U1、U2の予測位置として、図10中、フレーム3の点線で描いた2つの矩形の枠A5、A6の位置が予測されたものとする。
【0117】
次に、物体追跡部50Aは、割当がない又はコストが閾値3より高い物体には新しい追跡IDを採番する(ステップS27)。閾値3は、物体領域の重なりと物体類似度で算出されるコストの上限を表す閾値である。
【0118】
ここでは、フレーム2中のグループIDが1の類似物体グループに属する人物U1、U2は追跡IDが割り当て済みであり、かつ、コストが閾値3より低いため、ステップS26の処理は実行されない。
【0119】
次に、物体追跡部50Aは、次フレームが存在するか否かを判定する(ステップS24)。ここでは、次フレーム(フレーム3)が存在するため、ステップS24の判定結果がYesとなる。
【0120】
次に、物体追跡部50Aは、現フレーム(処理対象フレーム)はフレーム1か否かを判定する(ステップ S25)。ここでは、現フレーム(処理対象フレーム)がフレーム3であるため、ステップS25の判定結果がNoとなる。
【0121】
次に、物体追跡部50Aは、現フレーム(フレーム3)の全ての物体情報及び前フレーム(フレーム2)まで追跡していた物体(人物U1、U2)の予測位置を取得する(ステップS28)。ここでは、物体(人物U1、U2)の予測位置として、図10中、フレーム3中の点線で描いた2つの矩形の枠A5、A6の位置(ステップS26で予測された位置)が取得されたものとする。
【0122】
次に、物体追跡部50Aは、物体領域の重なりと物体類似度をコスト関数としたハンガリアン法により追跡物体の追跡IDを現在物体に割り当てる(ステップS29)。
【0123】
すなわち、上述したとおり、物体追跡部50Aは、コスト最小となる(重なり度が大きい)割り当てを決定する。具体的には、物体追跡部50Aは、検出1(例えば、人物U1)の追跡IDとして、コストが最小となる「追跡1」の追跡IDを割り当てる。この場合、物体追跡部50Aは、人物U1について、この割り当てた追跡ID及び関連情報(人物U1の位置、人物U1の検出時刻)を互いに関連付けて物体追跡情報記憶部60に格納する。
【0124】
一方、物体追跡部50Aは、検出2(例えば、人物U2)の追跡IDとして、コストが最小となる「追跡2」の追跡IDを割り当てる。この場合、物体追跡部50Aは、人物U2について、この割り当てた追跡ID及び関連情報(人物U2の位置、人物U2の検出時刻)を互いに関連付けて物体追跡情報記憶部60に格納する。
【0125】
以上の処理は、次フレームが存在しなくなるまで(ステップS24:No)繰り返し実行される。
【0126】
次に、上述した実施の形態2において説明した物体追跡処理装置1(情報処理装置)のハードウェア構成例を説明する。図12は、物体追跡処理装置1(情報処理装置)のハードウェア構成例を表すブロック図である。
【0127】
図12に示すように、物体追跡処理装置1は、プロセッサ80、メモリ81、記憶装置82等を備えるサーバ等の情報処理装置である。サーバは、物理マシンであってもよいし、仮想マシンであってもよい。また、物体追跡処理装置1には、1つのカメラ70が通信線(例えば、インターネット)を介して接続されている。
【0128】
プロセッサ80は、RAM等のメモリ81から読み出されるソフトウェア(コンピュータプログラム)実行することにより、物体検出部10、物体グルーピング処理部20、物体追跡部50として機能する。これら機能は、一つのサーバに実装してもよいし、複数のサーバに分散して実装してもよい。複数のサーバに分散して実装した場合であっても、複数のサーバが通信線(例えば、インターネット)を介して互いに通信することにより、上記各フローチャートの処理を実現することができる。なお、これら機能の一部又は全部は、ハードウェアにより実現してもよい。
【0129】
また、物体追跡部50は物体グルーピング処理部20が分割した類似物体グループと同数存在する(同数生成される)が、各々の物体追跡部50は、一つのサーバに実装してもよいし、複数のサーバに分散して実装してもよい。複数のサーバに分散して実装した場合であっても、複数のサーバが通信線(例えば、インターネット)を介して互いに通信することにより、上記各フローチャートの処理を実現することができる。
【0130】
プロセッサ80は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサは、複数のプロセッサを含んでもよい。
【0131】
メモリ81は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリは、プロセッサから離れて配置されたストレージを含んでもよい。この場合、プロセッサは、図示されていないI/Oインタフェースを介してメモリにアクセスしてもよい。
【0132】
記憶装置82は、例えば、ハードディスク装置である。
【0133】
図11の例では、メモリは、ソフトウェアモジュール群を格納するために使用される。プロセッサは、これらのソフトウェアモジュール群をメモリから読み出して実行することで、上述の実施形態において説明された物体追跡処理装置等の処理を行うことができる。
【0134】
物体特徴量情報記憶部、物体グループ情報記憶部、物体追跡情報記憶部は、一つのサーバに設けられていてもよいし、複数のサーバに分散して設けられていてもよい。
【0135】
以上説明したように、実施形態2によれば、映像中で出現する物体の追跡精度を向上させることができる。
【0136】
これは、フレーム中の追跡対象の物体を検出し、当該検出された追跡対象の物体を類似物体グループに分類する処理(非時空間的な類似性を利用した処理)、及びこの分類された類似物体グループごとに、当該類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理(空間的な類似性を利用した処理)の二段階の処理を実行することによるものである。すなわち、広範なフレーム・時間を対象にした同一物体の照合と時空間的な類似性の考慮を両立することで高い追跡精度を実現することができる。
【0137】
また、実施形態2によれば、物体グルーピング処理部20が算出した類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理(バッチ処理)を実行することにより、準リアルタイムでの頻出人物発見を実現することができる。例えば、物体追跡情報記憶部60を参照することにより、特定の期間、特定の場所に頻出した物体(例えば、人物)を容易に発見することができる。例えば、現在から直近7日間にオフィスに頻出した人物Top20を列挙することができる。
【0138】
また、実施形態2によれば、次の効果を奏する。
【0139】
すなわち、物体の追跡ではカメラ画角からの障害物による遮蔽などで検出漏れ・追跡逃しが発生する。これに対して、実施形態2によれば、追跡逃しは、広範なフレーム・時間を対象に同一物体の照合により改善し得る。
【0140】
また、時空間的な類似性を考慮した物体追跡には、時系列順序での逐次処理が求められる。そのため入力単位での処理並列化によるスループット向上が不可能である。これに対して、実施形態2によれば、追跡対象の物体を類似物体グループに分類することにより、この類似物体グループごとに、当該類似物体グループに属する物体に当該物体を識別する追跡IDを割り当てる処理を並列的に実行することができる。これにより、スループットの向上を実現することができる。すなわち、全体処理フローにおいて時系列順序での逐次処理部分を最小化することで、大部分の処理の並列化によるスループット向上を実現することができる。
【0141】
一方で非空間的な類似性のみでの追跡では、時空間的な制約に反した誤追跡が発生し、追跡精度が劣化する。これに対して、実施形態2によれば、上記のように二段階の処理を実行することにより、映像中で出現する物体の追跡精度を向上させることができる。
【0142】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、非一時的なコンピュータ可読媒体の例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【符号の説明】
【0143】
1…物体追跡処理装置
10…物体検出部
20…物体グルーピング処理部
30…物体特徴量情報記憶部
40…物体グループ情報記憶部
50(50A~50B)…物体追跡部
60…物体追跡情報記憶部
70…カメラ
80…プロセッサ
81…メモリ
82…記憶装置
図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12