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

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

▶ サンリツオートメイション株式会社の特許一覧

特開2022-108571情報処理装置、情報処理方法、及びプログラム
<>
  • 特開-情報処理装置、情報処理方法、及びプログラム 図1
  • 特開-情報処理装置、情報処理方法、及びプログラム 図2
  • 特開-情報処理装置、情報処理方法、及びプログラム 図3
  • 特開-情報処理装置、情報処理方法、及びプログラム 図4
  • 特開-情報処理装置、情報処理方法、及びプログラム 図5
  • 特開-情報処理装置、情報処理方法、及びプログラム 図6
  • 特開-情報処理装置、情報処理方法、及びプログラム 図7
  • 特開-情報処理装置、情報処理方法、及びプログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022108571
(43)【公開日】2022-07-26
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220719BHJP
【FI】
G06T7/00 350D
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021003645
(22)【出願日】2021-01-13
(71)【出願人】
【識別番号】592259060
【氏名又は名称】サンリツオートメイシヨン株式会社
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】佐藤 大
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA02
5L096FA18
5L096FA79
5L096HA13
5L096JA11
5L096JA16
5L096KA04
(57)【要約】      (修正有)
【課題】既存の技術を組み合わせることで複数の物体を追跡する情報処理装置及び方法を提供する。
【解決手段】情報処理装置1において、被写体検出部30は、動画像を構成する複数のフレーム夫々について、各フレームに含まれる被写体を検出する。被写体追跡部31は、複数のフレーム夫々において検出された被写体を基点として、当該被写体が検出されたフレームとは異なる他のフレームに存在する被写体を追跡する。グラフ管理部32は、複数のフレーム夫々において検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフの初期値を生成する。評価部33は、被写体の検出結果と被写体の追跡結果とに基づいて、有向グラフにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出する。グラフ管理部はさらに、評価値に基づいて、同一性の精度が高くなるように有向グラフにおける接続関係を更新する。
【選択図】図2
【特許請求の範囲】
【請求項1】
動画像を構成する複数のフレームそれぞれについて、各フレームに含まれる被写体を検出する被写体検出部と、
前記複数のフレームそれぞれにおいて検出された被写体を基点として、当該被写体が検出されたフレームとは異なる他のフレームに存在する前記被写体を追跡する被写体追跡部と、
前記複数のフレームそれぞれにおいて検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフの初期値を生成するグラフ管理部と、
前記被写体の検出結果と前記被写体の追跡結果とに基づいて、前記有向グラフにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出する評価部と、を備え、
前記グラフ管理部は、前記評価値に基づいて、前記同一性の精度が高くなるように前記有向グラフにおける前記接続関係を更新する、
情報処理装置。
【請求項2】
前記グラフ管理部は、前記有向グラフにおいて出次数が2以上となるノードが存在しないことを拘束条件として、前記初期値の生成及び前記更新を実行する、
請求項1に記載の情報処理装置。
【請求項3】
前記被写体検出部は、各フレームに含まれる被写体を含む矩形領域を検出結果として出力し、
前記被写体追跡部は、各フレームに含まれる被写体を含む矩形領域を追跡結果として出力し、
前記評価部は、
前記有向グラフを構成する全てのノードそれぞれを始点とした場合の道を特定する道特定部と、
前記道特定部が特定した全ての道それぞれにおいて、各道の始点となるノードに対応する被写体を基点とした追跡結果の矩形領域と、各追跡結果が存在するフレームにおける前記検出結果の矩形領域との重複の程度を表す値の総和を各道の評価値として算出するとともに、算出した各道の評価値の総和を算出して前記評価関数の評価値として出力する評価値算出部と、を備える、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記評価値算出部は、前記有向グラフにおけるノードのうち入次数が2以上のノードである合流ノードが存在した場合、前記有向グラフを構成する全てのノードそれぞれを始点とした場合の各道における始点以外の前記合流ノード及びその後続のノードを除外した道について前記評価値を算出する、
請求項3に記載の情報処理装置。
【請求項5】
前記グラフ管理部は、
前記複数のフレームそれぞれにおいて検出された被写体をノードとし、各ノードに一意な指標を割り当てる指標割当部と、
異なるフレームに含まれるノード同士を接続して前記有向グラフの初期値を生成する初期グラフ生成部と、
前記有向グラフの初期値において隣接するノードの組それぞれの終点を表す指標を並べたベクトルを生成するベクトル生成部と、
前記ベクトルを初期配列とし、前記評価関数の評価値に基づいて遺伝的アルゴリズムを適用して前記ベクトルを更新することにより、前記接続関係を逐次更新する最適化部と、を備える、
請求項1から4のいずれか1項に記載の情報処理装置。
【請求項6】
前記最適化部は、前記遺伝的アルゴリズムに基づく遺伝子操作によって生成されたベクトルで表現される有向グラフにおけるノードの入次数が1となるように前記ベクトルを生成する、
請求項5に記載の情報処理装置。
【請求項7】
プロセッサが、
動画像を構成する複数のフレームそれぞれについて、各フレームに含まれる被写体を検出するステップと、
前記複数のフレームそれぞれにおいて検出された被写体を基点として、他のフレームに存在する当該被写体を追跡するステップと、
前記複数のフレームそれぞれにおいて検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフの初期値を生成するステップと、
前記被写体の検出結果と前記被写体の追跡結果とに基づいて、前記有向グラフにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出するステップと、
前記評価値に基づいて、前記同一性の精度が高くなるように前記有向グラフにおける前記接続関係を更新するステップと、を実行する、
情報処理方法。
【請求項8】
コンピュータに、
動画像を構成する複数のフレームそれぞれについて、各フレームに含まれる被写体を検出する機能と、
前記複数のフレームそれぞれにおいて検出された被写体を基点として、他のフレームに存在する当該被写体を追跡する機能と、
前記複数のフレームそれぞれにおいて検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフの初期値を生成する機能と、
前記被写体の検出結果と前記被写体の追跡結果とに基づいて、前記有向グラフにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出する機能と、
前記評価値に基づいて、前記同一性の精度が高くなるように前記有向グラフにおける前記接続関係を更新する機能と、を実現させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、大量の学習データセットを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある(非特許文献1参照)。このような機械学習技術を用いることにより、例えば動画像中に含まれる複数の被写体を追跡することができる学習モデルを構築できる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678). ACM.
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、複数の物体を追跡するための学習モデルを生成する際には、専用の学習データセットが用いられている。この学習データセットは、動画の各フレームのどこに追跡対象の物体が存在するかが特定されており、さらには、各物体の識別子が付加されたものである。このような学習データセットを用意するのは非常に作業コストがかかるため、一般に公開されている学習データセットは人や車等の限られた対象物だけであることが現状である。このため、他の対象物を追跡するための学習モデルを学習するためには、コストをかけて専用の学習データセットを用意する必要があり、手間となっている。
【0005】
本発明はこれらの点に鑑みてなされたものであり、既存の技術を組み合わせることで複数の物体を追跡する技術を構築するための技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、情報処理装置である。この装置は、動画像を構成する複数のフレームそれぞれについて、各フレームに含まれる被写体を検出する被写体検出部と、前記複数のフレームそれぞれにおいて検出された被写体を基点として、当該被写体が検出されたフレームとは異なる他のフレームに存在する前記被写体を追跡する被写体追跡部と、前記複数のフレームそれぞれにおいて検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフの初期値を生成するグラフ管理部と、前記被写体の検出結果と前記被写体の追跡結果とに基づいて、前記有向グラフにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出する評価部と、を備える。前記グラフ管理部は、前記評価値に基づいて、前記同一性の精度が高くなるように前記有向グラフにおける前記接続関係を更新する。
【0007】
前記グラフ管理部は、前記有向グラフにおいて出次数が2以上となるノードが存在しないことを拘束条件として、前記初期値の生成及び前記更新を実行してもよい。
【0008】
前記被写体検出部は、各フレームに含まれる被写体を含む矩形領域を検出結果として出力してもよく、前記被写体追跡部は、各フレームに含まれる被写体を含む矩形領域を追跡結果として出力してもよく、前記評価部は、前記有向グラフを構成する全てのノードそれぞれを始点とした場合の道を特定する道特定部と、前記道特定部が特定した全ての道それぞれにおいて、各道の始点となるノードに対応する被写体を基点とした追跡結果の矩形領域と、各追跡結果が存在するフレームにおける前記検出結果の矩形領域との重複の程度を表す値の総和を各道の評価値として算出するとともに、算出した各道の評価値の総和を算出して前記評価関数の評価値として出力する評価値算出部と、を備えてもよい。
【0009】
前記評価値算出部は、前記有向グラフにおけるノードのうち入次数が2以上のノードである合流ノードが存在した場合、前記有向グラフを構成する全てのノードそれぞれを始点とした場合の各道における始点以外の前記合流ノード及びその後続のノードを除外した道について前記評価値を算出してもよい。
【0010】
前記グラフ管理部は、前記複数のフレームそれぞれにおいて検出された被写体をノードとし、各ノードに一意な指標を割り当てる指標割当部と、異なるフレームに含まれるノード同士を接続して前記有向グラフの初期値を生成する初期グラフ生成部と、前記有向グラフの初期値において隣接するノードの組それぞれの終点を表す指標を並べたベクトルを生成するベクトル生成部と、前記ベクトルを初期配列とし、前記評価関数の評価値に基づいて遺伝的アルゴリズムを適用して前記ベクトルを更新することにより、前記接続関係を逐次更新する最適化部と、を備えてもよい。
【0011】
前記最適化部は、前記遺伝的アルゴリズムに基づく遺伝子操作によって生成されたベクトルで表現される有向グラフにおけるノードの入次数が1となるように前記ベクトルを生成してもよい。
【0012】
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、動画像を構成する複数のフレームそれぞれについて、各フレームに含まれる被写体を検出するステップと、前記複数のフレームそれぞれにおいて検出された被写体を基点として、他のフレームに存在する当該被写体を追跡するステップと、前記複数のフレームそれぞれにおいて検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフの初期値を生成するステップと、前記被写体の検出結果と前記被写体の追跡結果とに基づいて、前記有向グラフにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出するステップと、前記評価値に基づいて、前記同一性の精度が高くなるように前記有向グラフにおける前記接続関係を更新するステップと、を実行する。
【0013】
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、動画像を構成する複数のフレームそれぞれについて、各フレームに含まれる被写体を検出する機能と、前記複数のフレームそれぞれにおいて検出された被写体を基点として、他のフレームに存在する当該被写体を追跡する機能と、前記複数のフレームそれぞれにおいて検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフの初期値を生成する機能と、前記被写体の検出結果と前記被写体の追跡結果とに基づいて、前記有向グラフにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出する機能と、前記評価値に基づいて、前記同一性の精度が高くなるように前記有向グラフにおける前記接続関係を更新する機能と、を実現させる。
【0014】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータで読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0015】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0016】
本発明によれば、既存の技術を組み合わせることで複数の物体を追跡する技術を構築することができる。
【図面の簡単な説明】
【0017】
図1】実施の形態に係る情報処理装置が実行する追跡技術の概要を説明するための図である。
図2】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
図3】有向グラフの入次数と出次数とを説明するための図である。
図4】実施の形態に係る評価関数を説明するための図である。
図5】実施の形態に係る評価部の内部構造を模式的に示す図である。
図6】実施の形態に係るグラフ管理部の内部構造を模式的に示す図である。
図7】有向グラフを構成する全てのノードそれぞれを始点とした場合の道を説明するための図である。
図8】実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0018】
<実施の形態の概要>
本発明の実施の形態の概要を述べる。本発明の実施の形態に係る情報処理装置は、動画像を構成する各フレームに対し、まず、静止画を対象とする被写体の検出アルゴリズムを適用する。その後、各フレームにおいて検出された各被写体同士の同一性を有向グラフで表現し、その同一性の精度を示す評価関数を最適化する。本発明の実施の形態に係る情報処理装置は最適化して得られた有向グラフの接続関係を、各被写体の追跡結果とする。これにより、本発明の実施の形態に係る情報処理装置は、動画像を対象とした複数物体を追跡する学習モデルを生成するための専用の学習データセットを用意して学習することなく、被写体を対象とする検出アルゴリズムを用いることで、動画像において複数の被写体追跡を実現できる。
【0019】
図1(a)-(c)は、実施の形態に係る情報処理装置が実行する追跡技術の概要を説明するための図である。以下、図1を参照して、実施の形態に係る複数被写体の追跡フローの概略を説明する。
【0020】
図1(a)は、動画像Mを構成するフレームFと各フレームFで検出された被写体とを模式的に示す図である。煩雑となることを避けるためにすべてに符号を付してはいないが、図1(a)において符号Fが付された白抜きの矩形と同様の矩形は、動画像Mを構成するフレームFである。また、各フレームFに含まれる数字が付された矩形は、被写体検出処理の検出結果である。図1(a)は、被写体検出処理によって、図1(a)に示す4つのフレームFから合わせて13個の被写体が検出されたことを示している。以下、説明の便宜上、図1(a)において被写体検出処理の検出結果に付された番号を用いて被写体を区別する。例えば、番号「1」が付された被写体の検出結果を「被写体1」のように記載する。
【0021】
図1(b)は、被写体検出処理によって検出された被写体の遷移を示す有向グラフGの一例を模式的に示す図である。具体的には、図1(b)において、有向グラフGのノードに付された番号は、図1(a)に示す被写体の検出結果に付された番号と対応する。例えば、図1(b)において、番号「1」が付されたノードは、被写体1に対応する。したがって、以下本明細書において、各ノードを番号付きの被写体で表現することもあるし、各ノードを対応する被写体の番号で表現することもある。例えば、被写体1に対応するノードを「ノード1」と表現することもある。
【0022】
図1(b)に示す有向グラフGにおいて、被写体1と被写体4とはエッジによって接続されている。これは、あるフレームFにおいて検出された被写体1は、別のフレームFで検出された被写体4と対応することを意味している。また、実施の形態に係る情報処理装置は、被写体が合流することも許容する。例えば、図1(b)において、被写体1と被写体2とは、ともに被写体4に接続している。これは、あるフレームFでは異なる被写体として区別されて検出されていた被写体が、別のフレームFでは一方の被写体が他方の被写体によって遮蔽され、同一の被写体であるかのように検出されることを意味している。
【0023】
詳細は後述するが、実施の形態に係る情報処理装置は、動画像Mを構成する各フレームFにおける被写体の検出結果に基づいて有向グラフGの初期値を生成し、有向グラフGにおける被写体の同一性の精度を表す評価関数の評価値に基づいて有向グラフGの接続関係を最適化する。
【0024】
図1(c)は、実施の形態に係る情報処理装置が出力した被写体の検出結果を示す図であり、最適化された有向グラフGの接続関係を反映する図である。図1(c)における矢印は有向グラフGにおけるエッジに対応し、矢印で接続された被写体は同一の被写体であることを示している。すなわち、図1(c)は被写体の追跡結果を示している。例えば、被写体1は、隣接するフレームFでは被写体4として検出され、さらに隣接するフレームでは被写体8として検出されたことを示している。また、被写体7は、動画像Mを構成する複数のフレームFのうち一つのフレームFでのみ検出されたことを示している。
【0025】
このように、実施の形態に係る情報処理装置は、異なるフレームFにおける被写体検出アルゴリズムの検出結果の接続関係を求めることにより、動画像Mにおける複数の被写体の追跡を実現することができる。
【0026】
<実施の形態に係る情報処理装置1の機能構成>
図2は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。図2において、矢印は主なデータの流れを示しており、図2に示していないデータの流れがあってもよい。図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0027】
記憶部2は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
【0028】
制御部3は、情報処理装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによって被写体検出部30、被写体追跡部31、グラフ管理部32、及び評価部33として機能する。
【0029】
なお、図2は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0030】
被写体検出部30は、動画像Mを構成する複数のフレームFそれぞれについて、各フレームFに含まれる被写体を検出する。図1(a)は、被写体検出部30による各フレームFの被写体検出結果を示している。被写体検出部30が検出対象とする被写体は、限定はしない一例として人物が挙げられる。以下本明細書では、被写体検出部30が検出対象とする被写体が人物であることを前提として説明するが、被写体は人物に限られず車両や動物等の他の移動体であってもよい。
【0031】
被写体検出部30は、既知の機械学習技術で作成された静止画を対象とする被写体検出アルゴリズムを利用することで、各フレームFに含まれる被写体の検出を実現できる。ここで、被写体検出部30は、情報処理装置1が撮像部を備えている場合にはその撮像部が撮像した動画像Mから被写体を検出してもよいし、情報処理装置1とは異なる他の装置から取得した動画像Mから被写体を検出してもよい。
【0032】
被写体追跡部31は、複数のフレームFそれぞれにおいて被写体検出部30が検出した被写体を基点として、その被写体が検出されたフレームFとは異なる他のフレームFに存在する被写体を追跡する。被写体追跡部31は、既知の機械学習技術で作成された被写体追跡アルゴリズムを利用することで、被写体の追跡を実現できる。なお、実施の形態に係る情報処理装置1は、被写体追跡部31による被写体の追跡は有向グラフGにおける被写体の同一性を評価するためにのみ用いる。被写体追跡部31の追跡結果単独では信頼性が十分とは言えない場合もあるため、情報処理装置1は、被写体追跡部31の追跡結果と被写体検出部30の検出結果とを組み合わせることで被写体追跡の精度の向上を図る。
【0033】
一般に、機械学習技術を用いて作成された追跡アルゴリズムは、その追跡の精度を表すスコアを算出する。実施の形態に係る被写体追跡部31は、追跡の精度を示すスコアを0から1の値でその値が大きいほど精度が高いことを示すように正規化して出力する。
【0034】
グラフ管理部32は、動画像Mを構成する複数のフレームFそれぞれにおいて検出された被写体をノードとし、異なるフレームに含まれる被写体同士の接続関係をエッジとする有向グラフGの初期値を生成する。図1(b)は、グラフ管理部32が生成した有向グラフGの一例を示している。
【0035】
評価部33は、被写体検出部30による被写体の検出結果と被写体追跡部31による被写体の追跡結果とに基づいて、グラフ管理部32が生成した有向グラフGにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出する。ここで有向グラフGにおける「道(パス;pass)」は、エッジで接続されたノードの列を意味する。例えば図1(b)において、ノード1とノード4とはエッジで接続されており、ノード4とノード8ともエッジで接続されている。したがって、ノード1、ノード4、及びノード8を並べたノードの列は、有向グラフGにおける道を構成する。なお、評価関数の詳細は後述する。
【0036】
グラフ管理部32は、評価部33が算出した評価値に基づいて、道を構成するノードの同一性の精度が高くなるように有向グラフGにおける接続関係を更新する。道を構成するノードが同一であることは、ノードに対応する被写体が同一であることを意味し、結果として、各フレームFに含まれる同一の被写体が検出されたことを意味する。ゆえに、情報処理装置1は、既存の技術を組み合わせることで動画像Mに含まれる複数の被写体を追跡することができる。
【0037】
(有向グラフGの条件)
グラフ管理部32が有向グラフGを新規に生成したり、評価関数の評価値に基づいて変更したりする際の有向グラフGに課す拘束条件について説明する。
【0038】
実施の形態に係る情報処理装置1が追跡の対象とする被写体は、人物等の移動体である。したがって、あるフレームFでは異なる場所に写っていた二つの異なる被写体が、別のフレームでは重なって一つの被写体のように撮像されることがある。重なって一つの被写体のように撮像された被写体は、その後、さらに別のフレームでは再び分かれて二つの異なる被写体として写る場合もある。
【0039】
図3(a)-(b)は、有向グラフGの入次数と出次数とを説明するための図である。具体的には、図3(a)は有向グラフGの入次数を説明するための図であり、図3(b)は有向グラフGの出次数を説明するための図である。
【0040】
有向グラフGにおいて、あるノードに入るエッジの数を入次数と表現し、あるノードから出るエッジの数を出次数と表現する。二つの異なる被写体が、別のフレームでは重なって一つの被写体のように撮像される状況は、有向グラフGでは入次数が2のノードとして図3(a)に例示するように表現される。同様に、重なって一つの被写体のように撮像された被写体が別のフレームでは再び分かれて二つの異なる被写体として写る状況は、有向グラフGでは出次数が2のノードとして図3(b)に例示するように表現される。
【0041】
有向グラフGにおいて出次数や入次数が2以上となることを許容すると、複雑な被写体の移動を表現することが可能となる。一方で、有向グラフGにおいて出次数や入次数が2以上となることを許容するとバリエーションが多様となり、最適化に計算コストがかかる場合もあり得る。そこで、実施の形態に係るグラフ管理部32は、有向グラフGの表現の多様性と計算コストとのバランスを考慮し、生成する有向グラフGに一定の拘束条件を課している。
【0042】
具体的には、グラフ管理部32は、有向グラフGにおいて出次数が2以上となるノードが存在しないことを拘束条件として、有向グラフGの初期値の生成及び更新を実行する。これにより、情報処理装置1は、有向グラフGの表現の多様性と最適化に要する計算コストとのバランスを取ることができる。
【0043】
(被写体の同一性の精度を表す評価関数)
図4(a)-(b)は、実施の形態に係る評価関数を説明するための図である。また、図5は、実施の形態に係る評価部33の内部構造を模式的に示す図である。図5に示すように、評価部33は、道特定部330と評価値算出部331とを備える。
【0044】
実施の形態に係る評価部33が利用する評価関数は、同一フレームFにおける被写体検出部30が検出した被写体と被写体追跡部31が追跡した被写体との重なり具合を示す関数である。以下、図4(a)-(b)及び図5を参照して、被写体の同一性の精度を表す評価関数について説明する。
【0045】
被写体検出部30は、各フレームFに含まれる被写体を含む矩形領域を検出結果として出力する。図4(a)は、被写体検出部30の検出結果を模式的に示す図である。図4(a)は、連続する3つのフレームF(第1フレームF1、第2フレームF2、及び第3フレームF3)それぞれにおける検出結果を示している。例えば、図4(a)において、第1フレームF1には2つの矩形領域O(第1矩形領域O1及び第2矩形領域O2)が示されており、それらは被写体検出部30の検出結果であることを示している。第1矩形領域O1及び第2矩形領域O2は、それぞれ異なる被写体である人物を含んでいる。
【0046】
同様に、第2フレームF2にも、第1フレームF1と同様に、第1矩形領域O1及び第2矩形領域O2が検出されている。第3フレームF3には、第1矩形領域O1及び第2矩形領域O2に加えて、さらに異なる人物を含む第3矩形領域O3が検出されている。なお、図示はしないが、被写体追跡部31の追跡結果も、被写体検出部30の検出結果と同様に、各フレームに含まれる被写体を含む矩形領域として出力される。
【0047】
図4(a)において、一点鎖線で示す矢印は、グラフ管理部32が生成した有向グラフGの初期値に対応する道を示している。具体的には、第1フレームF1に含まれる第1被写体(すなわち、第1矩形領域O1)を始点として、第2フレームF2に含まれる第1矩形領域O1を経由して第3フレームF3に含まれる第1矩形領域O1を終点とする道と、第1フレームF1に含まれる第二矩形領域O2を始点として第2フレームF2に含まれる第2矩形領域O2を経由して第3フレームF3に含まれる第3矩形領域O3を終点とする道との2つの道である。
【0048】
道特定部330は、有向グラフGを構成する全てのノードそれぞれを始点とした場合の道を特定する。評価値算出部331は、道特定部330が特定した全ての道それぞれにおいて、各道の始点となるノードに対応する被写体を基点とした追跡結果の矩形領域と、各追跡結果が存在するフレームにおける検出結果の矩形領域との重複の程度を表す値の総和を各道の評価値として算出する。評価値算出部331は、算出した各道の評価値の総和を算出して評価関数の評価値として出力する。
【0049】
ここで、評価値算出部331は、上述した総和に加えて被写体追跡部31が算出したスコアにもさらに基づいて、評価関数の評価値を算出してもよい。具体的には、各道におけるスコアの総和が大きいほど、評価関数の評価値が高くなるように評価値を算出してもよい。なお、「有向グラフGを構成する全てのノードそれぞれを始点とした場合の道」の詳細は後述する。
【0050】
図4(a)において、実線で示す矢印は、第1フレームF1に含まれる被写体を始点として被写体追跡部31が追跡した結果の道を構成するエッジを示している。また、破線で示す矢印は、第2フレームF2に含まれる矩形領域Oを始点として被写体追跡部31が追跡した結果の道を構成するエッジを示している。例えば、第2フレームF2に含まれる第1矩形領域O1は、実線の矢印では第3フレームF3に含まれる第3矩形領域O3と接続しているが、破線の矢印では第3フレームF3に含まれる第1矩形領域O1と接続している。
【0051】
図4(b)は、被写体検出部30の検出結果と被写体追跡部31の追跡結果との重なり具合を模式的に示す図である。具体的には、図4(b)において、実線で示す矩形領域は被写体検出部30の検出結果を示し、破線で示す矩形領域は被写体追跡部31の追跡結果を示し、斜線で示す領域は被写体検出部30の検出結果と被写体追跡部31の追跡結果とが重なる領域を示している。評価値算出部331は、既知のGIoU(Generalized Intersection over Union)の手法を用いることにより、被写体検出部30の検出結果と被写体追跡部31の追跡結果との重なり具合の算出を実現する。
【0052】
被写体検出部30と被写体追跡部31とは、異なるアルゴリズムを利用している。したがって、被写体検出部30の検出結果と被写体追跡部31の追跡結果との重なりが大きいことは、隣り合うフレームFに含まれる被写体が同一である蓋然性が高いと言える。このように、評価値算出部331は、被写体検出部30の検出結果と被写体追跡部31の追跡結果との重なり具合を算出することにより、矩形領域Oに含まれる被写体(すなわち、ノード)の同一性の精度を評価することができる。
【0053】
(接続関係の更新)
図6は、実施の形態に係るグラフ管理部32の内部構造を模式的に示す図である。以下、図6図1とを参照して、グラフ管理部32による有向グラフGにおけるノードの接続関係の更新について説明する。なお、実施の形態に係るグラフ管理部32は、既知の遺伝的アルゴリズムを用いて、有向グラフGにおける接続関係を更新する。
【0054】
指標割当部320は、複数のフレームFそれぞれにおいて検出された被写体をノードとし、各ノードに一意な指標を割り当てる。指標割当部320が割り当てる指標は、例えば数字である。図1(b)は、指標割当部320が指標として各ノードに通し番号を割り当てた場合の例を示している。
【0055】
初期グラフ生成部321は、異なるフレームFに含まれるノード同士を接続して有向グラフGの初期値を生成する。具体的には、初期グラフ生成部321は、異なるフレームFに含まれるノード同士を所定の拘束条件の下でランダムに接続して有向グラフの初期値を生成すればよい。
【0056】
ベクトル生成部322は、有向グラフGの初期値において隣接するノードの組それぞれの終点を表す指標を並べたベクトルを生成する。例えば、図1(b)において、ノード1とノード4とが隣接しており、ノード2とノード4とが隣接しており、ノード3とノード6とが隣接している。したがって、ベクトル生成部322は、ノード1から通し番号順にその終点を示す番号を並べ、以下に示すベクトルVを生成する。
ベクトルV=(4,4,6,8,11,9,11・・・)
【0057】
ベクトル生成部322が生成するベクトルVは有向グラフGと一対一対応する。すなわち、ある有向グラフGを規定すれば対応するベクトルVが一意に定まり、ベクトルVを規定すれば対応する有向グラフGが一意に定まる。
【0058】
最適化部323は、ベクトルVを初期配列とし、評価関数の評価値に基づいて遺伝的アルゴリズムを適用してベクトルVを更新することにより、有向グラフGにおける接続関係を逐次更新する。既知の手法であるため詳細な説明は省略するが、最適化部323は、遺伝的アルゴリズムにおける交叉や突然変異等の遺伝子操作を用いて複数の異なるベクトルVを生成する。最適化部323は、生成した複数のベクトルVに対応する有向グラフGに関して評価値算出部331が算出した評価値に基づいて、評価値が高いベクトルVを子孫として採用する。初期のベクトルVと子孫として残されたベクトルVとが異なれば、それらに対応する有向グラフGも異なることになるので、結果として、最適化部323は、有向グラフGにおける接続関係を更新することができる。
【0059】
(有向グラフGに含まれる道)
図7は、有向グラフGを構成する全てのノードそれぞれを始点とした場合の道を説明するための図である。具体的には、図7(a)は、5つのノードを含む有向グラフGの一例を示す図である。また、図7(b)-(e)は、図7(a)に示す有向グラフGを構成するノードそれぞれを始点とした場合の道を示している。例えば、図7(b)は、ノード1を始点とした場合の道を示しており、図7(c)はノード2を始点とした場合の道を示している。図7(d)及び図7(e)も同様である。
【0060】
ここで、評価値算出部331は、有向グラフGにおけるノードのうち入次数が2以上のノードである合流ノードが存在した場合、その有向グラフGを構成する全てのノードそれぞれを始点とした場合の各道における始点以外の合流ノード及びその後続のノードを除外した道について評価値を算出する。
【0061】
例えば、図7(a)において、ノード4は入次数が2のノードである。図7(b)は、図7(a)に示す有向グラフGにおいて、ノード1を始点とする道であり、ノード4を含んでいる。このため、評価値算出部331は、図7(b)に示す道においては、ノード4及びその後続のノード5を除外して、ノード1とノード2とから構成される道として評価値を算出する。図7(b)-(d)において、破線で示すノード及びエッジは、評価値算出部331が評価値の算出から除外するものを示している。
【0062】
図7(e)は、ノード4を始点とする道を示している。ノード4の入次数は2であるが、図7(e)に示す道においてノード4は始点であるため、評価値算出部331は、ノード4及び後続のノード5を除外せずに評価値を算出する。評価値算出部331がノードを除外して評価値を算出する場合は、除外しない場合と比較すると、算出される評価値の値は小さくなる。このように、評価値算出部331が、入次数が2以上のノードである合流ノードが存在した場合、その有向グラフGを構成する全てのノードそれぞれを始点とした場合の各道における始点以外の合流ノード及びその後続のノードを除外することにより、合流ノードが存在する場合の評価値を低くすることができる。結果として、そのような有向グラフGは、遺伝的アルゴリズムにおいて淘汰される蓋然性が高くなり、情報処理装置1は、合流ノードを含む有向グラフGが最適解となることを抑制することができる。
【0063】
また、最適化部323は、遺伝的アルゴリズムに基づく遺伝子操作によって生成されたベクトルで表現される有向グラフにおけるノードの入次数が1となるようにベクトルを生成してもよい。これにより、情報処理装置1は、合流ノードを含む有向グラフGが最適解となることを抑制することができる。
【0064】
<情報処理装置1が実行する情報処理方法の処理フロー>
図8は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
【0065】
被写体検出部30は、動画像を構成する複数のフレームFそれぞれについて、各フレームFに含まれる被写体を検出する(S2)。被写体追跡部31は、複数のフレームFそれぞれにおいて検出された被写体を起点として、その被写体が検出されたフレームFとは異なる他のフレームFに存在する被写体を追跡する(S4)。
【0066】
グラフ管理部32は、複数のフレームFそれぞれにおいて検出された被写体をノードとし、異なるフレームFに含まれる被写体同士の接続関係をエッジとする有向グラフGの初期値を生成する(S6)。
【0067】
評価部33は、被写体の検出結果と被写体の追跡結果とに基づいて、有向グラフGにおける道を構成するノードの同一性の精度を表す評価関数の評価値を算出する(S8)。グラフ管理部32は、評価部33が算出した評価値に基づいて遺伝的アルゴリズムを用いることにより、同一性の精度が高くなるように有向グラフGにおける接続関係を更新する(S10)。
【0068】
グラフ管理部32が有向グラフGにおける接続関係を更新すると、本フローチャートにおける処理は終了する。
【0069】
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、既存の技術を組み合わせることで複数の物体を追跡する技術を構築することができる。
【0070】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【符号の説明】
【0071】
1・・・情報処理装置
2・・・記憶部
3・・・制御部
30・・・被写体検出部
31・・・被写体追跡部
32・・・グラフ管理部
320・・・指標割当部
321・・・初期グラフ生成部
322・・・ベクトル生成部
323・・・最適化部
33・・・評価部
330・・・道特定部
331・・・評価値算出部
図1
図2
図3
図4
図5
図6
図7
図8