(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】没入型ビデオのための連続的なフレームにおけるペアワイズマッチングを介したマルチカメラ人物関連付け
(51)【国際特許分類】
G06T 7/292 20170101AFI20241106BHJP
G06V 10/40 20220101ALI20241106BHJP
H04N 7/18 20060101ALI20241106BHJP
【FI】
G06T7/292
G06V10/40
H04N7/18 G
H04N7/18 K
(21)【出願番号】P 2022577486
(86)(22)【出願日】2020-07-30
(86)【国際出願番号】 CN2020105816
(87)【国際公開番号】W WO2022021217
(87)【国際公開日】2022-02-03
【審査請求日】2023-07-25
(73)【特許権者】
【識別番号】591003943
【氏名又は名称】インテル・コーポレーション
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】ファン、ロンウェイ
(72)【発明者】
【氏名】リ、チアン
(72)【発明者】
【氏名】リ、ウェンロン
(72)【発明者】
【氏名】ファン、イカイ
(72)【発明者】
【氏名】ジェン、ハン
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2019-174868(JP,A)
【文献】特開2019-121019(JP,A)
【文献】米国特許出願公開第2018/0046865(US,A1)
【文献】三功浩嗣 外1名,サッカー自由視点映像の生成を目的としたオブジェクト追跡,映像情報メディア学会技術報告,(一社)映像情報メディア学会,2012年07月12日,第36巻 第29号,pp.25~30
【文献】Tang Zheng et al.,“Joint Multi-View People Tracking and Pose Estimation for 3D Scene Reconstruction”,2018 IEEE International Conference on Multimedia and Expo (ICME)[online],IEEE,2018年,pp.1-6,[検索日 2024.5.24], インターネット:<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8486576&tag=1>,DOI: 10.1109/ICME.2018.8486576
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
H04N 7/18
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
マルチビュービデオにおけるオブジェクト関連付けを実行するためのシステムであって、
複数のビデオフレームの各々についてのバウンディングボックスデータを格納するためのメモリであって、前記複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、メモリと、
前記メモリに連結される1又は複数のプロセッサであって、前記1又は複数のプロセッサは、
前記バウンディングボックスデータに基づいて、距離行列を生成することであって、前記距離行列は、前記複数のビデオフレームの全てのペア間の利用可能なバウンディングボックスの組み合わせ間の距離を有する、生成する
ことと、
前記距離行列内での二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列から、複数の距離部分行列を決定することと、
各対応部分行列及び各距離部分行列を有する目的関数を最適化することに基づいて、前記複数の距離部分行列の各々について、対応部分行列を別々に決定することと、
前記対応部分行列に基づいて、前記複数のビデオフレームの前記バウンディングボックスデータについての関連付けリストを提供することと
を実行する、1又は複数のプロセッサと
を備えるシステム。
【請求項2】
前記二方向最小距離対応バウンディングボックスペアのうち第1の二方向最小距離対応バウンディングボックスペアは、第1のビデオフレームの中の第1のバウンディングボックスと第2のビデオフレームの中の第2のバウンディングボックスとの間の対応を有し、前記第1の二方向最小距離対応バウンディングボックスペアは、前記第2のバウンディングボックスが、前記第1のバウンディングボックスから前記第2のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、前記第1のバウンディングボックスからの最小距離を有することと、前記第1のバウンディングボックスが、前記第2のバウンディングボックスから前記第1のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、前記第2のバウンディングボックスからの最小距離を有することとに応答する、請求項1に記載のシステム。
【請求項3】
前記複数の距離部分行列を決定することを実行する前記1又は複数のプロセッサは、前記複数の距離部分行列内で前記二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、前記二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列を変換することを実行する前記1又は複数のプロセッサを有する、請求項1又は2に記載のシステム。
【請求項4】
前記1又は複数のプロセッサは、
開始時間フレームとして、前記同一の時間インスタンスを使用して、第1のトラックレットのセットを生成することと、
開始時間フレームとして、前記同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成することと、
前記第1のトラックレットのセット及び前記追加的なトラックレットのセットを使用して、前記時間インスタンスのうち1つについての初期関連付けリストを調節することと
を実行する、請求項1から3のいずれか一項に記載のシステム。
【請求項5】
前記第1のトラックレットのセットのうち第1のトラックレットは、前記1又は複数のプロセッサであって、
前記同一の時間インスタンスについてのバウンディングボックスのポジションを、前記同一の時間インスタンスの後続の第2の時間インスタンスについての前記バウンディングボックスの第2のポジションに投影することと、
組み合わせ最適化アルゴリズムの適用、及び第2の時間インスタンスにおけるオブジェクトポジションが前記同一の時間インスタンスにおける前記オブジェクトポジションの閾値距離内にあることに応答して、前記第2の時間インスタンスにおける前記オブジェクトポジションを、前記第1のトラックレットに追加することと
を実行する前記1又は複数のプロセッサにより生成される、請求項4に記載のシステム。
【請求項6】
前記1又は複数のプロセッサは、
結果として得られるトラックレットのセットを生成するために、前記第1のトラックレットのセットと、前記1又は複数の追加的なトラックレットのセットとを融合すること
を実行する、請求項4に記載のシステム。
【請求項7】
前記第1のトラックレットのセットと前記1又は複数の追加的なトラックレットのセットとを融合することを実行する前記1又は複数のプロセッサは、
前記1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、前記第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定することと、
前記第2のトラックレットが、閾値を超える長さを有することに応答して、前記第2のトラックレットを、前記結果として得られるトラックレットのセットに追加することと
を実行する前記1又は複数のプロセッサを有する、請求項6に記載のシステム。
【請求項8】
前記第1のトラックレットのセットと前記1又は複数の追加的なトラックレットのセットとを融合することを実行する前記1又は複数のプロセッサは、
前記1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、前記第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定することと、
前記第2のトラックレットを、結果として得られるトラックレットのセットの中の第3のトラックレットと併合することであって、前記第2のトラックレット及び前記第3のトラックレットの長さの合計が、前記同一の時間インスタンス及び前記追加的な時間インスタンスに対応するバッファサイズより小さいことに応答して、併合することと
を実行する前記1又は複数のプロセッサを有する、請求項6に記載のシステム。
【請求項9】
前記関連付けリストを提供することを実行する前記1又は複数のプロセッサは、前記バウンディングボックスデータの位置追跡の後に、前記関連付けリストにおけるオブジェクトのポジションの比較に基づいて、前記関連付けリストにおける1又は複数のオブジェクトを調節することを実行する前記1又は複数のプロセッサを有する、請求項1から8のいずれか一項に記載のシステム。
【請求項10】
前記1又は複数のオブジェクトを調節することを実行する前記1又は複数のプロセッサは、第1のオブジェクト関連付けから、第2のオブジェクト関連付けに、第1のビデオフレームにおける第1のオブジェクトバウンディングボックスについての関連付けを変更することであって、前記第1のオブジェクト関連付けの中心位置までの前記第1のオブジェクトバウンディングボックスの第1の距離が、前記第2のオブジェクト関連付けの中心位置までの前記第1のオブジェクトバウンディングボックスの第2の距離を超えることに応答して、変更することを実行する前記1又は複数のプロセッサを有する、請求項9に記載のシステム。
【請求項11】
前記1又は複数のオブジェクトを調節することを実行する前記1又は複数のプロセッサは、第1のビデオフレームの中の第1のオブジェクトバウンディングボックスを破棄することであって、前記第1のオブジェクトバウンディングボックスが、第1のオブジェクト関連付けポジションから閾値距離よりも遠いことに応答して、破棄することを実行する前記1又は複数のプロセッサを有する、請求項9に記載のシステム。
【請求項12】
マルチビュービデオにおけるオブジェクト関連付けを実行するための方法であって、
複数のビデオフレームの各々についてのバウンディングボックスデータを受信する段階であって、前記複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、受信する段階と、
前記バウンディングボックスデータに基づいて、距離行列を生成する段階であって、前記距離行列は、前記複数のビデオフレームの全てのペア間の利用可能なバウンディングボックスの組み合わせ間の距離を有する、生成する段階と、
前記距離行列内での二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列から、複数の距離部分行列を決定する段階と、
各対応部分行列及び各距離部分行列を有する目的関数を最適化することに基づいて、前記複数の距離部分行列の各々について、対応部分行列を別々に決定する段階と、
前記対応部分行列に基づいて、前記複数のビデオフレームの前記バウンディングボックスデータについての関連付けリストを提供する段階と
を備える方法。
【請求項13】
前記二方向最小距離対応バウンディングボックスペアのうち第1の二方向最小距離対応バウンディングボックスペアは、第1のビデオフレームの中の第1のバウンディングボックスと第2のビデオフレームの中の第2のバウンディングボックスとの間の対応を有し、前記第1の二方向最小距離対応バウンディングボックスペアは、前記第2のバウンディングボックスが、前記第1のバウンディングボックスから前記第2のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、前記第1のバウンディングボックスからの最小距離を有することと、前記第1のバウンディングボックスが、前記第2のバウンディングボックスから前記第1のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、前記第2のバウンディングボックスからの最小距離を有することとに応答する、請求項12に記載の方法。
【請求項14】
前記複数の距離部分行列を決定する段階は、前記複数の距離部分行列内で前記二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、前記二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列を変換する段階を有する、請求項12又は13に記載の方法。
【請求項15】
開始時間フレームとして、前記同一の時間インスタンスを使用して、第1のトラックレットのセットを生成する段階と、
開始時間フレームとして、前記同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成する段階と、
前記第1のトラックレットのセット及び前記追加的なトラックレットのセットを使用して、前記時間インスタンスのうち1つについての初期関連付けリストを調節する段階と
を更に備える、請求項12から14のいずれか一項に記載の方法。
【請求項16】
前記第1のトラックレットのセットのうち第1のトラックレットは、
前記同一の時間インスタンスについてのバウンディングボックスのポジションを、前記同一の時間インスタンスの後続の第2の時間インスタンスについての前記バウンディングボックスの第2のポジションに投影する段階と、
組み合わせ最適化アルゴリズムの適用、及び第2の時間インスタンスにおけるオブジェクトポジションが前記同一の時間インスタンスにおける前記オブジェクトポジションの閾値距離内にあることに応答して、前記第2の時間インスタンスにおける前記オブジェクトポジションを、前記第1のトラックレットに追加する段階と
により生成される、請求項15に記載の方法。
【請求項17】
結果として得られるトラックレットのセットを生成するために、前記第1のトラックレットのセットと、前記1又は複数の追加的なトラックレットのセットとを融合する段階
を更に備える、請求項15に記載の方法。
【請求項18】
前記第1のトラックレットのセットと前記1又は複数の追加的なトラックレットのセットとを融合する段階は、
前記1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、前記第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定する段階と、
前記第2のトラックレットが、閾値を超える長さを有することに応答して、前記第2のトラックレットを、前記結果として得られるトラックレットのセットに追加する段階と
を有する、請求項17に記載の方法。
【請求項19】
前記第1のトラックレットのセットと前記1又は複数の追加的なトラックレットのセットとを融合する段階は、
前記1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、前記第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定する段階と、
前記第2のトラックレットを、結果として得られるトラックレットのセットの中の第3のトラックレットと併合する段階であって、前記第2のトラックレット及び前記第3のトラックレットの長さの合計が、前記同一の時間インスタンス及び前記追加的な時間インスタンスに対応するバッファサイズより小さいことに応答して、併合する段階と
を有する、請求項17に記載の方法。
【請求項20】
前記関連付けリストを提供する段階は、前記バウンディングボックスデータの位置追跡の後に、前記関連付けリストにおけるオブジェクトのポジションの比較に基づいて、前記関連付けリストにおける1又は複数のオブジェクトを調節する段階を更に有する、請求項12から19のいずれか一項に記載の方法。
【請求項21】
前記1又は複数のオブジェクトを調節する段階は、第1のオブジェクト関連付けから、第2のオブジェクト関連付けに、第1のビデオフレームにおける第1のオブジェクトバウンディングボックスについての関連付けを変更する段階であって、前記第1のオブジェクト関連付けの中心位置までの前記第1のオブジェクトバウンディングボックスの第1の距離が、前記第2のオブジェクト関連付けの中心位置までの前記第1のオブジェクトバウンディングボックスの第2の距離を超えることに応答して、変更する段階を有する、請求項20に記載の方法。
【請求項22】
前記1又は複数のオブジェクトを調節する段階は、第1のビデオフレームの中の第1のオブジェクトバウンディングボックスを破棄する段階であって、前記第1のオブジェクトバウンディングボックスが、第1のオブジェクト関連付けポジションから閾値距離よりも遠いことに応答して、破棄する段階を有する、請求項20に記載の方法。
【請求項23】
プロセッサに請求項12から22のいずれか1項に記載の方法を実行させるコンピュータプログラム。
【請求項24】
装置であって、
請求項12から22のいずれか1項に記載の方法を実行するための手段
を備える装置。
【発明の詳細な説明】
【背景技術】
【0001】
没入型ビデオ、及びコンピュータビジョンアプリケーション等の他の状況において、複数のカメラは、関心対象のシーンの周りに設置される。例えば、カメラは、競技場の周りのスタジアムにおいて設置されてよい。カメラから獲得されたビデオを用いて、3Dモデルは(例えば、ポイントクラウドボリュメトリックモデル又は他の表現を介して)、ビデオの各時間インスタンスについてのシーンについて生成される。シーン内の仮想ビューからのフォトリアリスティックビューは、次に、ユーザに没入型のエクスペリエンスを提供するために生成されてよい。特に、そのような技術は、3D空間の中にナビゲートして、任意の位置におけるシーンから、及びシーン内の任意の視点又は角度から、動作をリプレイすることを仮想カメラに可能にする。
【0002】
異なるカメラビューからの同一の人物を共に関連付けることは、多数のプレイヤ追跡アルゴリズムにおける複雑な問題である一方で、シーン(例えば、フィールド又はコート)の中にいる人々(例えば、プレイヤ)を追跡することは、仮想カメラを自動的に制御するためにキーコンポーネントである。多数のカメラプレイヤ関連付けは、同一のタイムスタンプにおける異なるカメラから同一の人物のバウンディングボックスの検出及び追跡を共に統合する。
【0003】
多数のカメラからの安定的で正確な関連付けを提供するには、いくつかの課題が存在する。まず、各カメラからの検出結果は、完全に信頼できない。検出において、バウンディングボックスミスは、特に、プレイヤが共に混雑し、閉塞が生ずるときに、一般的である。例えば、1つのバウンディングボックスは、1人の人物よりも多く(例えば、3人の人々より多く)をカバーし得、これは、関連付けられる人々の数を低減させる。第2に、検出されたバウンディングボックスは、連続的なフレームにおいて、不安定である。特に、2つの隣接したフレームは、異なる数のバウンディングボックスを有し得、これは、隣接したフレームにおける非連続的な関連付け位置を生ずる。第3に、異なるカメラにおける同一の人物のイメージは、大きな変動を有し得る。異なる視点と人物の重複は、マッチングを難しくする。更に、リアルタイムの処理のための実行時間には、強力な制限が存在する。
【0004】
多数のカメラからの関連付けのための現在の技術は、幾何制約ベースの技術と、軌道融合ベースの技術とを含む。幾何制約技術は、典型的に、単一フレーム関連付けについて用いられるが、軌道融合技術は、通常、連続的なフレーム関連付けにおいて用いられる。更に、現在の技術は、幾何学的制約と、人間キーポイントと、プレイヤ再識別特徴とを共に組み合わせて、幾何学的制約と再識別とから類似度行列を構築し、類似度行列を最適化するために凸最適化を用いて、最良の関連付けを得ることにより、マルチビューマッチングを実行してよい。また、関連付けを追跡することは、外見、動き、及びジオメトリ情報を収集することにより、最適化タスクとしてモデル化されてよい。しかしながら、そのような技術は、限定するものを有する。幾何制約技術については、単一フレーム情報のみが用いられ、このため、連続的なフレームにおいて、ジッタが生ずる。いくつかの技術は、グローバル最適化戦略を用いて、関連付け結果を最適化するが、そのような技術は、時間がかかり、リアルタイムで実行され得ない。現在の追跡融合方法は、単一カメラ追跡に依存しており、これは、スポーツアプリケーション等の混雑した場合において、頻繁な識別切り替えを不都合に引き起こす。更に、そのような技術は、複雑であり、そして再び、リアルタイムの適用に利用可能ではない。
【0005】
高精度及び安定性を有して、リアルタイムで、連続的なフレームにおけるマルチカメラ人物又はオブジェクト関連付けを、提供することが望ましい。これら、及び他の考慮事項に関連して、この改善が必要とされてきた。そのような改善は、マルチビュービデオからの新しい、没入型のユーザエクスペリエンスを提供することへの願望が、より広くいきわたるようになるにつれて、重大になり得る。
【図面の簡単な説明】
【0006】
本明細書において説明される素材は、添付の図において、限定するものとしてではなく、例として示されている。説明の簡略化及び明確性のために、図において示される要素は、必ずしも縮尺通りに描かれていない。例えば、いくつかの要素の寸法は、明確性のために他の要素に対して誇張されていてよい。更に、適切であると考えられる場合、対応する要素又は類似する要素を示すために、参照符号が図の間で繰り返し用いられている。図面は、以下の通りである。
【
図1】マルチカメラ環境内のプレイヤを追跡するための例示的なシステムを示す図である。
【
図2】例示的なシーンで訓練される例示的なカメラアレイを示す図である。
【
図3】連続的なフレームにおけるペアワイズマッチングを用いたオブジェクト関連付けを生成するための例示的なマルチカメラ関連付けモジュールを示す図である。
【
図4】推定されたフットポイントを用いた、バウンディングボックス及び対応するプレイヤの位置の例示的な決定を示す図である。
【
図6】二方向最小距離を用いた例示的なバウンディングボックスペアリングを示す図である。
【
図7】二方向最小距離を用いた別の例示的なバウンディングボックスペアリングを示す図である。
【
図8】例示的な二方向最小距離フラグ行列及び行方向行列変換を示す図である。
【
図9】行方向変換から結果として得られる行列を示す図である。
【
図10】列方向変換から結果として得られる行列を示す図である。
【
図11】行方向及び列方向変換を続けた後の結果として得られる行列及び例示的な部分行列を示す図である。
【
図12】生成が各時間フレームにおいて始まる、例示的なトラックレット生成を示す図である。
【
図13】例示的なトラックレット融合を示す図である。
【
図14】トラックレット融合を実行するための例示的なプロセスを示す図である。
【
図15】例示的なプレイヤ再構成又は再割当て処理を示す図である。
【
図16】例示的な大きな距離に起因したプレイヤ除去処理を示す図である。
【
図17】マルチビュービデオにおけるオブジェクト関連付けを実行するための例示的なプロセスを示すフロー図である。
【
図18】マルチビュービデオにおけるオブジェクト関連付けを実行するための例示的なシステムの説明図である。
【
図20】全て本開示の少なくともいくつかの実施例に従って配置された、例示的なデバイスを示す図である。
【発明を実施するための形態】
【0007】
ここで、同封された図を参照して1又は複数の実施形態又は実施例について説明する。特定の構成及び配置について論じるが、これは例示目的でのみ行われることを理解されたい。当業者であれば、本明細書の主旨及び範囲から逸脱することなく、他の構成及び配置が採用され得ることを認識するであろう。本明細書において説明された技術及び/又は配置がまた、本明細書において説明された以外の様々な他のシステム及びアプリケーションにおいて採用され得ることが、当業者には明らかとなろう。
【0008】
以下の説明は、例えば、システムオンチップ(SoC)アーキテクチャ等のアーキテクチャ内で明示され得る様々な実施例を記載する一方で、本明細書において説明される技術及び/又は配置の実施例は、特定のアーキテクチャ及び/又はコンピューティングシステムに制限されず、同様の目的のための任意のアーキテクチャ及び/又はコンピューティングシステムによって実装されてよい。例えば、多数の集積回路(IC)チップ及び/又はパッケージを採用する様々なアーキテクチャ、及び/又は様々なコンピューティングデバイス、及び/又はセットトップボックス、スマートフォン等の家庭用電子(CE)デバイスは、例えば、本明細書において説明される技術及び/又は配置を実装し得る。更に、以下の説明では、ロジックの実施例、システムコンポーネントのタイプ及び相互関係、ロジックの分割/統合の選択等の、多数の具体的な詳細を記載し得るが、特許請求される主題は、そのような具体的な詳細なしに実施され得る。他の例において、例えば、制御構造及び完全なソフトウェア命令シーケンス等のいくつかの素材は、本明細書において開示される素材を不明瞭にしないよう、詳細に示されていなくてよい。
【0009】
本明細書において開示される素材は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの任意の組み合わせにおいて実装されてよい。本明細書において開示される素材はまた、1又は複数のプロセッサにより読み込まれ実行され得る、機械可読媒体に格納された命令として実装され得る。機械可読媒体は、機械(例えば、コンピューティングデバイス)により可読な形式で情報を格納又は送信するための任意の媒体及び/又はメカニズムを含んでよい。例えば、機械可読媒体は、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス、電気、光、音又は他の形式の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号等)及び他のものを含んでよい。
【0010】
本明細書における「1つの実施例」、「一実施例」、「一例示的な実施例」等の参照は、説明される実施例は、特定の特徴、構造、又は特性を含んでよいが、あらゆる実施形態が必ずしもこの特定の特徴、構造、又は特性を含まなくてよいことを示す。また、そのような文言は、必ずしも同一の実施例を指しているわけではない。更に、一実施形態に関連して特定の特徴、構造又は特性が説明されるとき、本明細書において明示的に説明されているか否かにかかわらず、他の実施例に関連してそのような特徴、構造又は特性をもたらすことは当業者の知識の範囲内であることが述べられている。
【0011】
「実質的に」、「近い」、「ほぼ」、「近く」、及び「およそ」という用語は、一般的に、目標値の+/-10%以内であることを指す。例えば、これらの使用の明示的な状況において別段指定されない限り、「実質的に等しい」、「およそ等しい」及び「ほぼ等しい」という用語は、そのように説明されたもののうちの間の付随的な変動を超えないことを意味する。当分野において、そのような変動は、典型的には、予め定められた目標値の+/-10%以下である。別段指定されない限り、共通のオブジェクトを説明するための序数詞「第1」、「第2」、及び「第3」等の使用は、同様のオブジェクトの異なるインスタンスを指すことを単に示し、そのように説明されるオブジェクトが、時間的に、空間的に、順位における又は任意の他の態様のいずれかにおける所与の順序にある必要があることを示唆することを意図しない。
【0012】
方法、デバイス、装置、コンピューティングプラットフォーム、及び物品は、連続的なフレームにおけるマルチカメラ又はマルチビュー人物又はオブジェクト関連付けを提供することに関して、本明細書において説明される。
【0013】
上述のように、高精度及び安定性実行を有して、リアルタイムで、連続的なフレームにおけるマルチカメラ人物又はオブジェクト関連付けを提供することは、利点である。本明細書において論じられる技術は、連続的なフレームを通じたペアワイズマッチングを介して、マルチカメラ関連付けを実行する。そのような技術はまず、フレーム毎に、関連付けを実行し、次に、関連付けを洗練させるために、マルチフレーム位置追跡結果を実装する。例えば、各時間インスタンスに対する、全てのカメラビューにわたる距離行列は、ペアワイズな態様で生成される。次に、プレイヤの関連付けは、距離行列の最適化により、決定される。リアルタイムで実行するため、検索空間を実質的に低減するために、そのような最適化の前に、ハード制約が提供される。そのような関連付けがいくつかのフレームに提供された(例えば、関連付け結果がいくつかの連続的なフレーム対して生成された)後、位置追跡は、追跡すること、補間すること、及び併合することに基づいて、現在の関連付けに基づいて実行されて、複数の時間インスタンスにわたる連続的なプレイヤ位置と安定的なプレイヤ番号とを生成する。前述のプレイヤ番号及び位置に基づいて、バウンディングボックス再構成及び除去は次に、時間インスタンスにわたるエラーマッチングを更に洗練するために、実行される。
【0014】
図1は、本開示の少なくともいくつかの実施例に従って配置された、マルチカメラ環境内でプレイヤを追跡するための例示的なシステム100を示す図である。
図1において示されるように、システム100は、カメラ102とカメラ103とを含む、任意の数N個のカメラを有するカメラアレイ101を含む。各カメラは、ビデオ104とビデオ105とを含む、対応するビデオを生成する。プレイヤ検出モジュール106、107を含むプレイヤ検出モジュールは、撮影されたビデオ内のプレイヤを検出し、プレイヤ追跡モジュール108、109を含むプレイヤ追跡モジュールは、バウンディングボックス120、121を含むバウンディングボックスを生成するために、そのような検出されたプレイヤを追跡する。本明細書において、表示の明確性のために、プレイヤ検出、追跡、関連付け等に関して論じられる。しかしながら、技術は、任意の人々、動物、オブジェクト、又はこれらの組み合わせに適用されてよい。特に、スポーツイベントの状況において、そのようなプレイヤ追跡は、審判員を追跡することを含む。
【0015】
図2は、本開示の少なくともいくつかの実施例に従って配置された、例示的なシーン210で訓練される例示的なカメラアレイ101を示す図である。示された実施形態において、カメラアレイ101は、スポーツフィールドで訓練される36個のカメラを含む。しかしながら、カメラアレイ101は、シーン210で訓練される、15個以上のカメラ等の任意の好適な数のカメラを含んでよい。例えば、カメラアレイ101は、シーン210の3Dモデルを生成するために、シーン210で訓練されてよく、より少ないカメラは、3Dモデルを生成するのに十分な情報を提供しない場合がある。カメラアレイ101は、スポーツフィールドを取り囲むグランドに沿って、シーン210のスポーツフィールドを取り囲むスタジアム(不図示)に搭載され、較正され、シーン210で訓練されて、シーン210の同時のビデオフレームを撮影してよい。示されるように、カメラアレイ101の各カメラは、シーン210の特定のビューを有する。例えば、カメラ102は、シーン210の第1のビューを有し、カメラ103は、シーンの第2のビューを有する等である。本明細書において使用されるように、ビューという用語は、カメラアレイ101の特定のカメラのイメージ平面のイメージコンテンツ、又はシーン210内に位置する仮想カメラからの任意のビューのイメージコンテンツを示す。特に、多数のビューが同一の人物、オブジェクト、エンティティ等の表現を含むように、ビューは、撮影されたビュー(例えば、カメラにおけるイメージ撮影を用いて獲得されたビュー)であってよい。
【0016】
図1に戻ると、示されるように、カメラ又はビュー毎の処理は、バウンディングボックス120、121を含むバウンディングボックスを生成する。バウンディングボックス120は、ビデオ105の一部又は全てのフレーム内の検出されたかつ追跡されたプレイヤについてのバウンディングボックスを表す又は示す任意のデータ構造を含んでよい。例えば、バウンディングボックス120は、各フレーム、1つおきのフレーム、2つおきのフレーム、又は同様のもの内での各バウンディングボックスの位置及びサイズを表すデータを含んでよい。バウンディングボックス121は、ビデオ105についての同様のデータを含む。任意の数の、ビュー毎の又はカメラ毎のバウンディングボックス又はバウンディングボックスデータは、本明細書において論じられるような処理のためにマルチカメラ関連付けモジュール114に提供されて、同一のプレイヤを含むとみなされた一致するバウンディングボックスを示す関連付けリスト122を生成する。関連付けリスト122は、そのような関連付け又は対応(correspondence)を示すために任意の好適なデータ構造を有する1又は複数のリストを含んでよい。例えば、各バウンディングボックスは、特定の時間インスタンスにおける各ビューからの各フレーム内でインデックスされてよく(例えば、36のインデックスされたバウンディングボックスの発生)、関連付けリスト122は、時間インスタンスに対して、特定のプレイヤと対応するものからそれぞれバウンディングボックスのインデックスをリストにしてよい。いくつかの実施形態において、マルチカメラ関連付けモジュール114は、ジャージ認識モジュール110、111を含むジャージ認識モジュールからのジャージ認識データと、チーム分類モジュール112、113を含むチーム分類モジュールからのチーム分類データとを更に受信し、各プレイヤは、チーム(例えば、ホーム又はアウェイ)とプレイヤ番号とによって更に特定されてよい。例えば、関連付けリスト122は、ホームのプレイヤ番号5についてのエントリであって、カメラアレイ101から利用可能な各ビューにおけるそのプレイヤについての各バウンディングボックスを示す、ホームのプレイヤ番号5についてのエントリ、及びアウェイのプレイヤ番号12についてのエントリであって、カメラアレイ101から利用可能な各ビューにおけるそのプレイヤについての各バウンディングボックスを示す、アウェイのプレイヤ番号12についてのエントリを含んでよく、全ての特定されたプレイヤ又は人物について同じように続く。更に、同様のリストは、撮影されたフレームの各時間インスタンス又はタイムスタンプにおいて、又は1つおきの時間インスタンス等について、生成されてよい。
【0017】
示されるように、関連付けリスト122は、時間的及び空間的なドメインにおいて、プレイヤ情報を組み合わせて、プレイヤ軌道を提供し、プレイヤ軌道を更に追跡及び最適化して、円滑で堅牢なシステム100による使用のための出力を提供する、オプションのマルチカメラ追跡モジュール115とプレイヤ軌道最適化モジュール116とに提供される。特に、
図2を参照して、シーン210内の所望の仮想カメラは、最終的なボリュメトリックビデオ(例えば、ポイントクラウド表現又は他のデータ構造)を生成するために、キープレイヤを追うように管理されてよい。
図1において示されるように、そのようなプレイヤ追跡のパイプラインは、単一カメラプレイヤ検出及び追跡から始まる。次に、チーム分類及びジャージ認識は、検出された各プレイヤに対して提供される。そのようなデータは、シーンの異なるビューからのプレイヤについての対応を関連付ける又は提供するために、マルチカメラ関連付けモジュール114に提供される。マルチカメラ追跡は、時間的及び空間なドメインにおいて、全てのプレイヤ情報(例えば、チーム、ジャージ)を共に融合し、プレイヤ軌道を生成するために適用され、これには、円滑で正確なシステム100により用いられるための出力を提供するために、プレイヤ軌道最適化(PTO)が続く。本明細書において論じられる技術の焦点は、正確でリアルタイムのマルチカメラ関連付け結果を提供することにある。論じられるように、全てのカメラビューにより生成される追跡バウンディングボックスを含む入力は、提供され、関連付けリスト又は全てのカメラビューにおける同一のプレイヤバウンディングボックスを提供するリストを含む出力は、生成される。
【0018】
図3は、本開示の少なくともいくつかの実施例に従って配置された、連続的なフレームにおけるペアワイズマッチングを用いたオブジェクト関連付けを生成するための例示的なマルチカメラ関連付けモジュール114を示す図である。論じられるように、マルチカメラ関連付けモジュール114は、プレイヤ追跡モジュール108、109それぞれからバウンディングボックスデータ120、121等のバウンディングボックスデータを受信する。示されるように、いくつかの実施形態において、マルチカメラ関連付けモジュール114は、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含む。連続的フレームにおける位置追跡モジュール302に関して、位置は、複数の時間インスタンスにわたって追跡され、これはまた、連続的時間フレーム又は単に連続的フレームと称されてよい。しかしながら、そのような時間フレームは、各時間インスタンスにおいて各カメラによって生成されるビデオフレーム又はビデオイメージと混同されるものでない。
【0019】
いくつかの実施形態において、マルチカメラ関連付け問題は、連続的タイムスタンプバッファを用いることにより対処される。いくつかの実施形態において、ハード制約を有するペアワイズマッチングは、バウンディングボックスペア間の対応を構築するために用いられる。そのような技術は、技術がリアルタイムで動作できるように、各時間フレームにおける関連付け複雑性を著しく低減する。更に、2Dグランドプレーンにおける関連付け結果に基づく位置追跡及び併合技術は、安定的なプレイヤ位置及びプレイヤ番号を維持するために採用される。そのような技術は、安定的で正確な位置及び追跡を提供する。また、関連付け結果は、関連付けエラー補正のために、追跡結果に基づいて、改良される。本明細書において論じられるシステム及び技術は、リアルタイムでの、安定的で正確な関連付け結果を生成する。
【0020】
いくつかの実施形態において、採用されたパイプラインは、2つの部分:関連付けと後処理とへと分割される。関連付けは、異なるカメラビューから、同一のプレイヤをマッチングする。後処理は、向上した安定性及び精度のために、ヒューリスティック手法を通じて、関連付け結果を洗練させる。例えば、関連付け部分は、バウンディングボックス対応構築モジュール301及び連続的フレームにおける位置追跡モジュール302により提供されてよく、後処理は、後処理モジュール303により提供されてよく、これは、示されるように、関連付け結果再構成及び大きな距離除去を提供する。論じられるように、マルチカメラ関連付けモジュール114への入力は、全てのカメラビューから生成された追跡バウンディングボックスであり、出力は、全てのカメラビューにおける同一のプレイヤバウンディングボックスを含む関連付けリスト122である。
【0021】
バウンディングボックス対応構築モジュール301は、バウンディングボックスデータ120、121を受信し、これは、特定の時間インスタンスにおける各対応するビデオフレームについて、バウンディングボックスの数、ビデオフレームにおける各バウンディングボックスの位置、各バウンディングボックスのサイズを示す。つまり、バウンディングボックスの数、ビデオフレームにおける各バウンディングボックスの位置、及び各バウンディングボックスのサイズは、シーン210の各ビューについて提供される。特に、各バウンディングボックスの中のプレイヤは、シーン210の多くの又は全てのビューから視認可能であってよく、従って、バウンディングボックスは、同一のプレイヤを含むとき、対応する。本明細書において論じられる技術は、全てのそのようなビューにわたる(例えばビデオフレーム内の)そのようなバウンディングボックスを関連付けることを試みる。
【0022】
いくつかの実施形態において、3D空間の中でのグランドプレーン上の各そのようなバウンディングボックスの位置は、決定され、対応のために用いられる。グランドプレーン上の各バウンディングボックスの位置は、任意の好適な1又は複数の技術を用いて生成されてよい。いくつかの実施形態において、異なるバウンディングボックスについてのフットポイントの距離は、バウンディングボックスの対応を構築するために、制約として用いられる。
【0023】
図4は、本開示の少なくともいくつかの実施例に従って配置された、推定されたフットポイントを用いた、バウンディングボックスの位置及び対応するプレイヤの例示的な決定を示す図である。示されるように、対応するプレイヤ412を有するバウンディングボックス411について、フットポイント406(これはまた、バウンディングボックス位置若しくはポジション、プレイヤ位置若しくはポジション、足ポジション若しくは位置、又は同様のものとして特徴付けられてよい)は、足首ポイント401、402及びバウンディングボックスボトムライン405に基づいて、決定されてよい。いくつかの実施形態において、フットポイント406は、バウンディングボックスボトムライン405と、バウンディングボックスボトムライン405に垂直であり、足首ポイント401、402の間の中心ポジション403(又は中間のポジション)に延伸した垂直線404との交点として生成される。例えば、フットポイント406として特徴付けられる中央中心ポイントは、シーン210(不図示)に適用される3Dグローバル座標系におけるバウンディングボックス411及びプレイヤ412の代表的なポジションとして用いられてよい。特に、異なるカメラビューからの同一のプレイヤのフットポイントは、グローバル座標系において重複するであろう。示されるように、バウンディングボックスボトムライン405と、プレイヤ412の足首ポイント401、402の中心ポジション403を通って延伸する垂直線404との交差ポイントは、改善された精度のために、バウンディングボックスボトムライン中心の代替として用いられる。足首ポイント401、402は、任意の好適な1又は複数の技術を用いて決定されてよい。いくつかの実施形態において、人間姿勢推定のための深層高解像度表現ネットワークは、足首ポイント401、402を決定するために採用される。
【0024】
各フットポイント406(例えば、各ビューに対応する各ビデオフレームの中の各バウンディングボックスに対するもの)は、次に投影され、カメラビューについての投影行列(例えば、ビデオフレームから3D座標系へと変換するための投影行列)を用いて、それぞれのカメラビューからの全てのフットポイントが3D座標系のグランドプレーンへと投影される。これら投影点は、異なるビューからのコートの中のプレイヤ位置を表す。
【0025】
図3に戻ると、そのような技術に基づいて、バウンディングボックス対応構築モジュール301は、各時間インスタンスにおける各ビデオフレームにおける各バウンディングボックスについての3D座標系のグランドプレーン上に位置を生成する。バウンディングボックス対応構築モジュール301は次に、以下の通り、(各時間インスタンス又は時間フレームにおける)それらの間のそのような位置及び距離を用いて、バウンディングボックス間の対応を決定する。
【0026】
カメラアレイ101がM個のカメラを含み、(各カメラビューについての)各ビデオフレームがN
m個のバウンディングボックスを有すると仮定すると、ビデオフレーム(又はカメラビュー)のあらゆるペア(例えば、各利用可能なペアリング)間のバウンディングボックスの各組み合わせ間の足の距離は、決定され、距離行列において提供される。例えば、各2つのカメラビューペアi及びjについて、次元N
i×N
jの距離行列
【数1】
は、1つのバウンディングボックスが、第1のビデオフレームの中にあり、及びもう一方のバウンディングボックスが第2のビデオフレームの中にあるように、各エントリが、バウンディングボックスのペア(又は組み合わせ)間の距離を示すように、生成される。そのようなビューペア距離行列の各々は、全体の距離行列へと組み合わされてよい。更に、ペアになったフレーム間のバウンディングボックス間の対応は、部分置換行列
【数2】
により表されてよく、ここで、部分置換行列の各エントリは、0(バウンディングボックスが対応しないことを示す)又は1(バウンディングボックスが対応し、従って同一のプレイヤを表すことを示す)である。部分置換行列は、式(1):
【数3】
により示されるような二重確率制約を満たすべきである。
【0027】
カメラアレイ101における全てのM個カメラについて、
【数4】
個の追跡されたバウンディングボックスの合計が、全てのビデオフレーム(又はカメラビュー)に含まれる。従って、論じられるように、全ての距離組み合わせを含む全体の距離行列は、生成されてよく、対応する対応行列は、式(2)
【数5】
において示されるように提供されてよく、ここで、Pは、対応行列であり、P
iiは、アイデンティティであるべきである。更に、構築対応は、式(3):
【数6】
において示される制約を満たすべきであり、ここで、sは、シーン210におけるプレイヤの数であり、rank(階数)は、対応行列の列により張られるベクトル空間の次元である。マルチカメラビュープレイヤを関連付けることの問題は、全体の距離行列又は単に距離行列Aを入力として取ること、及び距離行列全体を最小化する最適の対応行列Pを出力することとして表され得る。プレイヤの数sは、未知数であるとして、以下の目的関数は、式(4):
【数7】
において示されるような低階数及び半定値対応行列Pを推定するのに最適化され得、ここで、
【数8】
は、内積を提供し、λは、低階数制約の重みである。式(4)は、対応距離行列(又は距離部分行列)に対する対応行列(又は対応部分行列)を決定することの最適化のための目的関数を提供する。
【0028】
論じられるように、カメラアレイ101は、15個以上のカメラ等の任意の数のカメラを含んでよい。例えば、18個のカメラを採用したサッカーの試合において、各ビューは、22人のプレイヤ及び3人の審判員を含むことが想定される。そのような状況において、対応行列の決定は、リアルタイムで実行されるには、過度に時間がかかる。いくつかの実施形態において、計算複雑性を低減し、リアルタイムの適用を可能にするために、ハード制約が採用されて、行列を別々に最適化され得る部分行列へと分割する。例えば、各カメラ(又はビュー)ペアについてのNi×Njの次元を有する距離行列(及び対応行列)について、バウンディングボックスjが、バウンディングボックスiから最小距離を有し、同時に、iが、jから最も小さい距離を有するときにのみ、対応は、構築(例えば評価)される。即ち、第1のビデオフレーム(又は第1のビュー)の中の例示的なバウンディングボックスiについて、最も小さい距離の第2のビデオフレーム(又は第2のビュー)の中のバウンディングボックスは、(第2のビデオフレームの中の全ての利用可能なバウンディングボックスから)決定される。第2のビデオフレーム(又は第2のビュー)の中の最小距離バウンディングボックスは、jであると仮定し、jからの距離が最も小さい第1のビデオフレーム(又は第1のビュー)の中のバウンディングボックスもまたiである場合にのみ、対応は、iとjとの間で宣言される。
【0029】
そのようなハード制約対応の生成後、距離行列は、式(5):
【数9】
において示されるような対角行列として書き換えられ得、ここで、
【数10】
は、部分行列である。式(4)の中のAを各
【数11】
と置換することによって、各部分行列は、小さな検索空間において別々に解かれ得る。サッカーの試合の例を続けると、プレイヤの最大数は、部分行列において5であるが、元の行列において20を超える。その結果、新しい距離行列の次元は、元のものよりはるかに小さい。最適化前の検索空間は、N
2であり、これは、低減した計算複雑性及びリアルタイムの適用を含む低減した処理時間を可能にする論じられた距離制約の適用の後、(N/4)
2未満に低減し得る。
【0030】
図5は、本開示の少なくともいくつかの実施例に従って配置された、例示的な距離行列500を示す図である。例において、3個のカメラ(又はビデオフレーム又はビュー)と、カメラ毎に3個のバウンディングボックスとを含む状況が、表示の明確性のために提示されている。本明細書において論じられるように、任意の数のカメラ(例えば、およそ15から40個のカメラ)と、カメラ毎の任意の数の検出されたバウンディングボックス(例えば、およそ15から25個)が採用されてよい。更に、距離行列500は、本明細書において論じられるように、ビデオフレームの各組み合わせをペアリングすることによって、ビデオフレームのバウンディングボックス間の距離を決定することによって生成され、距離行列500は、特定の時間インスタンスについての全体の又は総計の距離行列として説明されてよい。特に、距離行列500は、ビデオフレームの任意の又は全ての時間インスタンスについて生成されてよい。
【0031】
図5の例において、3個のカメラ:A、B、及びCが採用されている。更に、各カメラは、3個のバウンディングボックス:1、2、3を含む。従って、カメラAは、3個のバウンディングボックスA1、A2、A3を有し、カメラBは、3個のバウンディングボックスB1、B2、B3を有し、同じように続く。論じられるように、一般的に、距離行列500
【数12】
は、N
i×N
jの次元を有する。この例において、距離行列500は、9x9の次元を有する。距離行列500において、グリッドボックス501、502等の各グリッドボックスは、関連するバウンディングボックス足位置の間の、3D座標系におけるグランドプレーンに沿った距離を含む、又は表す。例えば、グリッドボックス501は、バウンディングボックスC3(カメラビューCにおける第3バウンディングボックス)の足ポジションと、バウンディングボックスA1(カメラビューAにおける第1のバウンディングボックス)の足ポジションとの間の距離を表し、グリッドボックス502は、バウンディングボックスB2(カメラビューBにおける第2のバウンディングボックス)の足ポジションと、バウンディングボックスA3(カメラビューAにおける第3バウンディングボックス)の足ポジションとの間の距離を表す等である。
【0032】
論じられるように、距離行列500の各ポジションについて、(対応を示す)1又は(対応なしを示す)0の値が対応行列において提供されるように、バウンディングボックス間の対応を決定するために、距離行列500と同様の対応行列は、生成される。更に、論じられるように、距離行列500の全体を用いた式(4)の適用に基づいた対応行列の最適化は、リアルタイムの適用にとって、過度に時間がかかり、計算集約的である。代わりに、距離行列500(及び対応行列)を、より小さい部分行列へと分割するためのハード制約が適用され、そのような部分行列は、別々に解かれて、対応を決定する。
【0033】
いくつかの実施形態において、ハード制約を採用することは、二方向最小距離が決定されるときにのみ、対応を構築することを含む。即ち、第1のビューにおけるバウンディングボックスが第2のビューにおけるバウンディングボックスから最も小さい距離を有し、またその逆も同様であるという対応に応答して、全てのカメラペアについて、バウンディングボックスペアフラグは、異なるカメラビューのバウンディングボックス間でセットされる。
【0034】
図6は、本開示の少なくともいくつかの実施例に従って配置された、二方向最小距離を用いた例示的なバウンディングボックスペアリング600を示す図である。
図6の例において、カメラAとカメラBとの間のバウンディングボックスペアリングは、表示の明確性のために示される。例において、各グリッドボックスは、バウンディングボックスのフットポイントの間の、3D座標系におけるグランドプレーンに沿った距離を含む。示されるように、カメラビューAにおける第1のバウンディングボックスと、カメラビューBにおける第2のバウンディングボックスとの間の距離は、2単位であり(例えば、A1からB2までの距離は、2単位であり)、同じように続く。二方向最小距離を有するバウンディングボックスのペアを決定するために、バウンディングボックスA1から始めると、最小距離バウンディングボックスは、2単位の距離にあるビューB2にあることが分かる。二方向最小距離を用いたペアリングをすべきA1とB2とについて、この場合、バウンディングボックスA1はまた、バウンディングボックスB2にとってのビューAにおける最小距離バウンディングボックスである必要がある。バウンディングボックスA1及びB2、A2及びB1、並びにA3及びB3をペアリングする二方向最小距離フラグ601、602、603を決定するために、各バウンディングボックスについてそのような処理が続く。
【0035】
図7は、本開示の少なくともいくつかの実施例に従って配置された、二方向最小距離を用いた例示的なバウンディングボックスペアリング700を示す別の図である。
図7の例において、2個のカメラビューA及びBが再び用いられるが、ここでは、カメラビューAがバウンディングボックスA1、A2、A3、A4、A5、及びA6を有し、カメラビューBがバウンディングボックスB1、B2、B3、B4、B5、及びB6を有するように、各ビューにおけるバウンディングボックスの数が6である。表示の明確性のために、
図7において、全ての2つの最小距離ペアが示されているわけではないことに留意されたい。この例において、
図6に関して論じられているように、処理は、続く。特に、バウンディングボックスA4に関して、ビューAにおける最小距離バウンディングボックスは、それが列A4における最も小さい距離であるとして、(2.2単位の距離を有する)バウンディングボックスB3に決定される。確立されるべき二方向ペアについて、バウンディングボックスA4はまた、それが行B3における最も小さい距離であるものとして、バウンディングボックスA4にとってのビューBにおける最小距離バウンディングボックスである必要がある。バウンディングボックスA6の処理を続けると、バウンディングボックスB4は、列A6における最も小さい距離であるとして、(7.77単位の距離を有する)ビューBにおける最も小さい距離のバウンディングボックスである。しかしながら、バウンディングボックスA6は、ビューAにおけるバウンディングボックスB4にとっての最も小さい距離のバウンディングボックスでないため、二方向ペアリングは、確立されない。代わりに、ビューAにおけるバウンディングボックスB4にとっての最も小さい距離のバウンディングボックスは、それが行B4において最も小さい距離であるとして、(6.73単位の距離を有する)バウンディングボックスA2である。従って、二方向最小距離フラグ701は、バウンディングボックスA4及びB3をペアリングするために提供されるが、ペアリングフラグは、グリッドボックス702に対して提供されない。
【0036】
特に、各カメラペアの次元N
i×N
jの距離行列について、j(例えば、カメラビューBにおける或るバウンディングボックスインデックス)が、i(例えば、カメラビューAにおける或るバウンディングボックスインデックス)への最小距離であり、同時に、iが、jへの最小距離を有するときにのみ、対応は構築される。
図7において示されるように、A4及びB3は、対応ペアである一方で、A6及びB4は、対応ペアでない。論じられた二方向距離フラグ(例えば、対応ペア)を用いて、距離行列500は次に、最終的な対応を決定するために、部分行列へと変換され、分割される。
【0037】
図8は、本開示の少なくともいくつかの実施例に従って配置された、例示的な二方向最小距離フラグ行列800及び行方向行列変換811、812を示す図である。
図8において、シェーディングを有するグリッドボックスは、グリッドボックス801に関して示されるように、二方向最小距離対応を示す(例えば、バウンディングボックスA2及びC2は、グリッドボックス801においてフラグにより示された対応ペアである)が、シェーディングがないグリッドボックスは、グリッドボックス802に関して示されるように、そのようなフラグを示さない(例えば、バウンディングボックスB1及びC3は、ペアリングされていない)。
図8において示されるように、バウンディングボックスA1は、バウンディングボックスB2及びC1とペアリングされている。これに応答して、行列(例えば、距離行列500及び対応行列)は、バウンディングボックスA1に対応する行の直下にバウンディングボックスB2及びC1に対応する行を移動させるための基本行列変換811、812(それぞれ交換とラベル付けされている)に従って、変換される。
【0038】
図9は、本開示の少なくともいくつかの実施例に従って配置された、行方向変換から結果として得られる行列900を示す図である。
図9において示されるように、対応を行列の左上隅に向かって併合するために、行C1とA3とが交換されたように、行B2とA2とは、交換されている。更に、
図9は、バウンディングボックスA1に対応する列に直接隣接するようにバウンディングボックスB2及びC1に対応する列を移動させるための、行方向行列変換811、812に類似した列方向行列変換911、912を示す。そのような基本変換は、再び、対応を行列の左上隅に向かって併合する。
【0039】
図10は、本開示の少なくともいくつかの実施例に従って配置された、列方向変換から結果として得られる行列1000を示す図である。
図10において示されるように、対応を行列の左上隅に向かって併合するために、列C1とA3とが交換されたように、列B2とA2とは、交換されている。更に、
図10は、バウンディングボックスB2が、バウンディングボックスA1との対応を有するのみでなく、バウンディングボックスB2は、また、バウンディングボックスC2との対応を有することを示す。更に、バウンディングボックスC2は、ボックス1002、1003に関して示されるように、バウンディングボックスA2との対応を有する。そのような対応に応答して、バウンディングボックスC2に対応する列と、バウンディングボックスC2に対応する行とは、ボックス1001の中の対応(例えば、バウンディングボックスB1及びC1並びにバウンディングボックスA2及びB1の対応)の後のポジションに、継続する基本変換を用いて、移動させられる。
【0040】
図11は、本開示の少なくともいくつかの実施例に従って配置された、行方向及び列方向変換を続けた後の結果として得られる行列1100、及び例示的な部分行列を示す図である。
図11において示されるように、行列の左上隅に向かって対応を更に併合するために、列C2は、列B3と交換され、同様に、行C2は、列B3と交換されている。結果として得られる行列1100の形成後、結果として得られる行列1100の結果として得られる部分行列1101、1102は、上で論じられる式(4)の別個の適用を介して、別々に解かれる。
図11の例において、結果として得られる行列1100は、2つの部分行列1101、1102へと分離されている。しかしながら、結果として得られる行列1100は、3、4、5又はこれより多くの部分行列等の、任意の数の対応のグルーピングを有する部分行列へと分離されてよい。
【0041】
図3に戻ると、バウンディングボックス対応構築モジュール301は、各時間インスタンスにおける対応を生成するために、対応部分行列について別々に解く。対応データは、それらが同一のプレイヤを含むとみなされるように対応する、時間インスタンスにおけるビデオフレーム間のバウンディングボックスを示す。
【0042】
そのような対応データは、連続的フレームにおける位置追跡モジュール302に提供される。論じられるように、各カメラビューにおけるプレイヤ検出は、安定的でない場合があり、これは、隣接したフレームにおける一貫性のない検出結果をもたらす(例えば、検出バウンディングボックス番号が、プレイヤ移動が存在しなくても同一でない)。例えば、関連付けられたバウンディングボックスは、時間的に隣接したフレームにおいて変化し得、これは、不安定なプレイヤ位置、プレイヤ見つけ損ない、又はプレイヤ重複をもたらす。そのような限定を解消するために、マルチフレームバッファ(例えば多数の時間フレームのバッファ)が、採用されて、プレイヤ位置及び番号を予測する。いくつかの実施形態において、2つのフェーズ:プレイヤトラックレット生成と、プレイヤトラックレット融合とが利用される。特に、トラックレット生成は、異なる時間フレームからの同一のプレイヤを共に結びつけることを伴い、その一方で、トラックレット融合は、冗長なトラックレットを併合することと、誤ったトラックレットを削除することとを伴う。
【0043】
図12は、本開示の少なくともいくつかの実施例に従って配置された、生成が各時間フレームにおいて始まる、例示的なトラックレット生成1200を示す図である。
図12において示されるように、フレーム1201、1202、1203、1204、1205を含む追跡フレームのバッファは、維持されてよい。フレームバッファは、15個のフレーム又は同様のもの等の任意のサイズであってよい。
図12の例において、各フレームは、特定の時間インスタンスにおける対応するバウンディングボックスの位置を示す。例えば、各プレイヤドットは、上で論じられるように対応するとみなされたバウンディングボックスに基づいた、時間インスタンスにおけるカメラビューの各々からのプレイヤの位置の平均(又は他の集計)であってよい。即ち、各ドットは、対応するバウンディングボックスの位置の、3D座標系におけるグランドプレーン上の平均位置であってよい。更に、トラックレットに関して、開始フレームは、トラックレットが生成されたフレーム示すために用いられる。従って、フレームは、トラックレットの開始後フレーム又はトラックレットの開始フレームであってよい。
【0044】
図12の状況において、トラックレットのグループは、開始フレームとしての、フレームバッファにおける複数のフレームを用いて生成される。開始ポイントとして用いられるフレームは、例えば、あらゆるフレームであってよい。その結果、トラックレットのいくつかのグループは、生成され、トラックレットのグループが比較されるにつれ、後で併合され得、又はいくつかのトラックレットは、破棄され得る。即ち、フレーム1において開始して生成されたトラックレットは、トラックレットの初期グループとして用いられてよい。次に、フレーム2において開始して生成されたトラックレットは、フレーム1において開始して生成されたものと比較され、いくつかのトラックレットは、トラックレットの初期グループに関して、破棄、追加、又は併合されてよい。フレーム3において開始して生成されたトラックレットは、(対応リストを用いて追跡されるような)これらの先行するトラックレットと比較され、いくつかのトラックレットは再び、破棄、追加、又は併合等されてよい。そのような技術は、以下において、本明細書において更に論じられる。
【0045】
従って、トラックレットのグループは、開始フレームとしての各フレームから生成される。フレームiの中でプレイヤが関連付けられたL
iを仮定すると、後続のフレームにおける位置対応は、ハンガリアンアルゴリズムを含む組み合わせ最適化アルゴリズムの適用等の、任意の好適な1又は複数の技術を用いて生成されてよい。例えば、開始フレームsにおけるプレイヤxの位置は、
【数13】
として表されてよく、後続のフレームtにおける対応位置は、
【数14】
として表されてよい。そのような位置に基づいて、フレームtにおけるプレイヤxの速度
【数15】
は、式(6):
【数16】
において示されるように決定されてよい。
【0046】
フレームt+1における予測された位置は、次に、
【数17】
であり、これは、例えば、ハンガリアンアルゴリズムを用いて、プレイヤxの現実の位置
【数18】
を見つけるために用いられる。更に、距離閾値εは、最良の位置ペアを選択するために用いられる。例えば、ハンガリアンアルゴリズムを用いて選択された位置ペアにおける距離dが与えられていると仮定すれば、d<εの距離制約を満たすペアのみが選択される。閾値に適合するペアリングがない場合、位置は、フレームに追加されてよい。そのような処理を繰り返すと、各フレームバッファにおける対応は、バッファの中の第1のフレームから始まる全てのプレイヤについて、生成される。同様に、各フレームにおいて始まるトラックレットのグループを生成するために、フレーム2から、フレーム3から等と始まって、全てのプレイヤ対応は、生成される。
【0047】
図12を参照すると、開始フレーム1201から始まり、L
x,11(フレーム1における開始フレーム1に基づいたプレイヤxの位置)により示されたプレイヤ位置1211が示されている。プレイヤ位置1211に関して論じられた処理は、開始フレーム1201の中のその他の4つのプレイヤ位置についてと並行して実行されることに留意されたい。プレイヤの予測された位置1212は、式(6)に関して論じられているように、フレーム1202において生成され、L'
x,12(フレーム2における開始フレーム1に基づいた予測されたプレイヤxの位置)により示されている。この例において、実際の位置は、予測された位置1212に対応しておらず、位置は、トラックレットに追加されてよい。次に、プレイヤの予測された位置1213は、式(6)に関して論じられているように生成され、L'
x,13(フレーム3における開始フレーム1に基づいた予測されたプレイヤxの位置)により示されている。ハンガリアンアルゴリズムの適用及び距離閾値に基づいて、実際のプレイヤ位置1214は、選択され、プレイヤ位置1211についてのトラックレットに追加される。処理は、プレイヤの予測された位置1215の生成を続け、これは、式(6)に関して論じられているように、かつ、L'
x,14(フレーム4における開始フレーム1に基づいた予測されたプレイヤxの位置)により示されているように生成される。ハンガリアンアルゴリズムの適用及び距離閾値に基づいて、実際のプレイヤ位置1216は、選択され、プレイヤ位置1211についてのトラックレットに追加される。そのような処理は、トラックレット1241が、プレイヤ位置1211について生成されるように、フレームnまで続く。論じられるように、開始フレーム1201において始まると、トラックレット1241を含む5つのトラックレットが生成される。
【0048】
同様に、開始フレーム1202から始まり、Lx,22により示されたプレイヤ位置1221(フレーム2における開始フレーム2に基づいたプレイヤyの位置)が示されている。上記のように、プレイヤ位置1221に関して論じられる処理は、開始フレーム1202の中のその他の3つのプレイヤ位置についてと並行して実行される。特に、プレイヤ位置1211に対応するプレイヤ位置が、開始フレーム1202において見られないとして、対応するトラックレットは、生成されないであろう。プレイヤの予測された位置1222は、フレーム1203の中で生成され、L'y,23(フレーム3における開始フレーム2に基づいた予測されたプレイヤyの位置)により示されている。ハンガリアンアルゴリズム及び距離閾値の適用に基づいて、実際のプレイヤ位置1223(Ly,23)は、選択され、プレイヤ位置1222についてのトラックレットに追加される。処理は、L'y,24(フレーム4において開始フレーム2に基づいた予測されたプレイヤyの位置)により示されるようなプレイヤの予測された位置1224の生成を続ける。ハンガリアンアルゴリズム及び距離閾値の適用に基づいて、実際のプレイヤ位置1225(Ly,24)は、選択され、プレイヤ位置1211についてのトラックレットに追加される。そのような処理は、トラックレット1242が、プレイヤ位置1221について生成されるように、フレームnまで続く。例えば、開始フレーム1202において始まると、トラックレット1242を含む4つのトラックレットが生成される。
【0049】
そのような処理は、Lz,33(フレーム3における開始フレーム3に基づいたプレイヤzの位置)により示されたプレイヤ位置1231が示される開始フレーム1203に関して示されるように、任意の数の開始フレームを続ける。上で論じられるような処理は、プレイヤ位置1234(Lz,34)を含むプレイヤ位置1231についてのトラックレット1243を生成するために、採用される。例えば、開始フレーム1203において始まると、トラックレット1243を含む6つのトラックレットが生成される。
【0050】
図3を参照すると、そのようなトラックレットの生成後、連続的フレームにおける位置追跡モジュール302は、トラックレット融合動作を実行して、堅牢なプレイヤ追跡を提供する。例えば、位置対応構築の後、フレームiにおける各プレイヤは、後のフレームにおいて見られた全ての対応位置を格納する対応リスト
【数19】
を有する。ここで、nは、バッファの中の最後のフレームを表し、αは、フレームの中の対応を示さないα=0と、フレームの中に対応を示すα=1とを有する対応係数である。
図12において示されるように、フレーム1、2、3におけるバウンディングボックス関連付け結果(プレイヤ位置Li)は、安定的とは限らない。例えば、5つのトラックレットは、フレーム1において始めたときに生成され、4つのトラックレットは、フレーム2において始めたときに生成され、6つのトラックレットは、フレーム3において始めたときに生成され、同じように続く。以下の技術を用いて、(プレイヤリストにより示されるような)トラックレットは、最終的な関連付けリスト及びプレイヤ追跡における改善された堅牢性のために、併合又は削除される。即ち、トラックレット合併及び削除は、プレイヤ位置が、バッファにおける複数の時間インスタンスにわたって安定的であり得るように、フレームiにおけるプレイヤリスト
【数20】
を提供するために用いられる。
【0051】
いくつかの実施形態において、フレームiにおける各プレイヤについて、
【数21】
及びC
aの交点は、反復的に決定され、ここで、C
aは、選択された対応リストの組み合わされたリストを表し、
【数22】
は、C
aにおける1つのプレイヤリストを表す、
【数23】
。各フレームにおける各トラックレット又はプレイヤリストについて、以下の処理は、実行される。まず、
【数24】
の長さ(すなわち、プレイヤリストのフレーム長)が、バッファサイズの3分の1より小さい場合、プレイヤリストは、直接除去(例えば破棄)される。
【数25】
(すなわち、トラックレット又はプレイヤリストが、組み合わされたリストの中にない)であり、
【数26】
の長さプラス
【数27】
の長さがバッファサイズ以下である場合、
【数28】
は、
【数29】
へと併合される(すなわち、プレイヤリストは、それまでのプレイヤリストへと併合されて、組み合わされたトラックレットを形成する)。
【数30】
であり、
【数31】
の長さプラス
【数32】
の長さが、バッファサイズより大きい場合、
【数33】
は、C
aへと加えられる(すなわち、トラックレット又はプレイヤリストは、組み合わされたリストへのエントリとして追加される)。そうでなければ、
【数34】
は、除去又は破棄される。そのようなトラックレット併合及び削除の後、必要に応じて、各トラックレットを完全にするために既にプレイヤが検出されていないフレームにおいて、任意の失ったプレイヤ位置を完全にするために、三次スプライン補間が実行される。そのような技術は、
図13及び14に関して示されている。
【0052】
図13は、本開示の少なくともいくつかの実施例に従って配置された、例示的なトラックレット融合1300を示す図である。
図13において示されるように、フレーム1301、1302、1303、1304、1305の各々について、トラックレットセットは、そのようなフレームの各々から始まって生成されている。例えば、フレーム1301から始まると、トラックレット1313は、プレイヤ1311(開始フレーム1と共にプレイヤ1を示す
【数35】
とラベル付けられている)について生成されており、トラックレット1314は、プレイヤ1312(開始フレーム1と共にプレイヤ2を示す
【数36】
とラベル付けられている)について生成されている。フレーム1302から始まると、トラックレット1324は、プレイヤ1321(開始フレーム2と共にプレイヤ1を示す
【数37】
とラベル付けられている)について生成されており、トラックレット1325は、プレイヤ1322(開始フレーム2と共にプレイヤ2を示す
【数38】
とラベル付けられている)について生成されており、トラックレット1327は、プレイヤ1323(開始フレーム2と共にプレイヤ3を示す
【数39】
とラベル付けられている)について生成されている。更に、フレーム1303から始まると、トラックレット1331、1332、1333は、論じられるように生成されている。最終的に、プレイヤ1334は、単一フレームのトラックレットを有するフレーム1303の中で特定されている。
【0053】
図14は、本開示の少なくともいくつかの実施例に従って配置された、トラックレット融合を実行するための例示的なプロセス1400を示す図である。プロセス1400は、
図14において示されるように、1又は複数の動作1401~1411を含んでよい。例えば、動作1401~1411は、連続的フレームにおける位置追跡モジュール302により実行されてよい。
【0054】
処理は、空のプレイヤセット(Ca)が生成される動作1401から始まる。結果として得られる埋められたプレイヤセットは、本明細書において論じられるように、連続的フレーム又は時間インスタンスにわたるプレイヤ及びバウンディングボックス対応を示すであろう。処理は、動作1402において続き、ここで、フレームは、(時間的順序で)選択され、フレームを開始フレームとして用いて生成されたトラックレット又はプレイヤリストは、取得される。例えば、開始フレームとしてのフレーム1301について、トラックレット1313、1314は、取得され、開始フレームとしてのフレーム1302について、トラックレット1324、1325、1327は、取得され、開始フレームとしてのフレーム1303について、トラックレット1331、1332、1333、1334は、取得され、同じように続く。
【0055】
処理は、動作1403において続き、ここで、フレームについてのトラックレットは、プレイヤセットの中のプレイヤと比較される。処理は、判断動作1404において続き、ここで、トラックレットの各々について、現在のフレームにおけるプレイヤ位置が既にプレイヤセットの中にあるトラックレット(プレイヤ位置)のいずれかにあるかどうかについての決定がされる。ここで、交点は、2つのトラックレットが、同一のフレームにおいて同一の位置を共有することを示す。そうである場合、トラックレット又はプレイヤ位置は、全体のプレイヤセットに追加されず、代わりに、トラックレットは、動作1405において冗長であるとして破棄される。交点が見られない場合、処理は、判断動作1406において続き、ここで、交点を有さないトラックレットの各々について、トラックレット(
【数40】
)の長さ、トラックレット長さTLと、全体のプレイヤセットに既存のトラックレット(
【数41】
)、それまでのトラックレット長さPTLとの合計が、バッファサイズより小さく、かつ、閾値長さ(例えば、バッファサイズの半分)よりも大きいかどうかについて、決定がされ、次に、動作1407において、全体のプレイヤセットの中の現在のトラックレット及びそれまでのトラックレットは、併合される。
【0056】
そうでない場合、処理は、判断動作1408において続き、ここで、交点を有さない(従って、全体のプレイヤセットの中の全てのプレイヤと交点を有さない)かつ併合されていないトラックレットの長さが、閾値TH2(例えば、バッファサイズの3分の1)よりも大きい長さを有するかどうかについて、決定がされる。そうである場合、動作1409において、トラックレットは、新しいプレイヤとして、全体のプレイヤセットに追加される。そうでない場合、トラックレットは、追加されず(すなわち、破棄され)、処理は、動作1410において続き、ここで、処理にとって最後のフレームが、選択されたかどうかについて、決定がされる。そうである場合、処理は、動作1411において終了する。そうでない場合、処理は、動作において続く。
【0057】
プロセス1400の動作は、ここで、
図13に関して示される。プレイヤセットが、任意の数の固有のプレイヤトラックレットを格納するように、処理は、最初に空のプレイヤセット(C
a)から始まる。論じられるように、処理は、プレイヤセットの中の各プレイヤ(
【数42】
)と、新しいトラックレット(
【数43】
)を比較することを続ける。(現在のフレームの中の新しいトラックレットにおけるプレイヤポジションが、プレイヤのうちの1人について、一致するプレイヤポジションを見つけるように)交点が見られる場合、新しいトラックレットは、プレイヤセットに追加されない。交点が見られず、新しいトラックレット及び任意の既存のプレイヤトラックレットの長さ(
【数44】
)が、バッファサイズよりも小さく、閾値よりも大きい場合、新しいトラックレット(
【数45】
)及び既存のプレイヤトラックレット(
【数46】
)は、併合されて、プレイヤセット(C
a)の中の既存のプレイヤトラックレット(
【数47】
)を更新する。そのような任意の既存のプレイヤトラックレットとの併合が存在せず(例えば、プレイヤセットの中の任意のプレイヤと組み合わせることがなく)、かつ、新しいトラックレット(
【数48】
)の長さが、閾値を超える場合、次に、新しいトラックレット(
【数49】
)は、プレイヤセット(C
a)に追加される。
【0058】
例えば、処理は、空のプレイヤセット(C
a)から始まる。次に、開始フレーム1301から始まって、トラックレット1313(
【数50】
)は、プレイヤセット(C
a)の中のトラックレットと比較される。プレイヤセット(C
a)が、空であると、これは、(動作1408において、)トラックレット1313(
【数51】
)が、プレイヤセット(C
a)の中の任意のプレイヤと交点を有さず、トラックレット1313(
【数52】
)が、閾値よりも大きい長さを有することを意味し、トラックレット1313(
【数53】
)は、プレイヤセット(C
a)に追加される。
【0059】
同様に、トラックレット1314(
【数54】
)は、プレイヤセット(C
a)の中のトラックレットと比較される。プレイヤセット(C
a)が、トラックレット1313(
【数55】
)のみを含むため、トラックレット1314(
【数56】
)は、プレイヤセット(C
a)の中の任意のプレイヤと交点を有さない(ここで、交点は、2つのトラックレットが、同一のフレームにおいて同一の位置を共有すること意味する)。更に、トラックレット1314(
【数57】
)は、閾値(例えば、5つのフレームの閾値)よりも大きい長さを有する。従って、トラックレット1314(
【数58】
)は、プレイヤセット(C
a)に追加される。
【0060】
ここで、フレーム1302に移動して、トラックレット1324(
【数59】
)は、評価される。示されるように、トラックレット1324(
【数60】
)は、トラックレット1313(
【数61】
)と交差する。従って、トラックレット1324(
【数62】
)は、(動作1405において)破棄される。同様に、トラックレット1325(
【数63】
)は、第2のトラックレット1314(
【数64】
)と交差し、第4のトラックレット1325(
【数65】
)はまた、破棄される。
【0061】
次に、トラックレット1327(
【数66】
)は、処理される。現在、プレイヤセット(C
a)は、トラックレット1313(
【数67】
)と、トラックレット1314(
【数68】
)とを含む。示されるように、トラックレット1327(
【数69】
)は、トラックレット1313(
【数70】
)又はトラックレット1314(
【数71】
)との交点を有さない。更に、トラックレット1327(
【数72】
)は、閾値(例えば5つのフレームの閾値)よりも大きい長さを有する。従って、トラックレット1327(
【数73】
)は、プレイヤセット(C
a)に追加される。
【0062】
ここでフレーム1303に移動して、トラックレット1331、1332、1333は、論じられるように、トラックレット1313、1314、1327と交差し、従って、破棄される。トラックレット1327(
【数74】
)は、次に、評価される。特に、単一フレームトラックレットは、本明細書において論じられるように、生成されてよい。現在、プレイヤセット(C
a)は、トラックレット1313(
【数75】
)と、トラックレット1314(
【数76】
)と、トラックレット1327(
【数77】
)とを含む。示されるように、トラックレット1327(
【数78】
)は、トラックレット1313(
【数79】
)と、トラックレット1314(
【数80】
)と、トラックレット1327
【数81】
)とのうちいずれとも交点を有さない。しかしながら、トラックレット1327(
【数82】
)の長さは、閾値(例えば、5つのフレームの閾値)より小さく、従って、トラックレット1327(
【数83】
)は、破棄される。
【0063】
図3に戻ると、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302とは、マルチカメラビューからの各フレームについて、バウンディングボックス関連付け結果と、各フレームにおけるプレイヤ位置とを生成する。論じられるように、安定的なプレイヤ位置及びプレイヤ番号を得るために、プレイヤの合併、補間、削除は、関連付けられたプレイヤ位置を洗練するために実行される。従って、関連付けエラー及び新しい位置補間に起因して、現在のプレイヤ位置は、関連付け結果と一致しない場合がある。そのような問題に対処するために、大きな距離除去及び隣接プレイヤバウンディングボックス再構成は、後処理モジュール303を介して、関連付け結果を洗練するために用いられる。特に、後処理モジュール303は、再構成及び距離除去を実行して、最終的な関連付けリスト122を提供する。
【0064】
図15は、本開示の少なくともいくつかの実施例に従って配置された、例示的なプレイヤ再構成又は再割当て処理1500を示す図である。
図15において、特定のフレーム1501において、多数のビューからのバウンディングボックス又はプレイヤ位置は、対応するプレイヤが一致するドットカラー又はパターンを有するように、示されている。例えば、プレイヤ位置1502は全て、同一のプレイヤからであり、正確なプレイヤ関連付け結果を示す密なパターンの中でグループ化されている。同様の結果は、関心対象の領域1503の外部にある他のプレイヤ位置について見られ、これはまた、表示の明確性のために、拡大されたビューにおいて示されている。示されるように、第1のプレイヤ位置1504(暗いシェーディングドットにより示されている)は、第2のプレイヤ位置1504(白いドットにより示されている)と混ざり合っている。
【0065】
更に、ハッチングされた円1507は、バウンディングボックス対応構築の後の(及びマルチフレームにおける位置追跡に起因した任意の調節の前の)第1のプレイヤ位置1504の中心に示されており、実線円1506は、マルチフレームにおける位置追跡後の第1のプレイヤにとっての中心を示す。同様にハッチングされた円1508は、バウンディングボックス対応構築の後の(及びマルチフレームにおける位置追跡に起因した任意の調節の前の)第2のプレイヤ位置1505の中心に示されており、実線円1509は、マルチフレームにおける位置追跡後の第2のプレイヤにとっての中心を示す。
【0066】
図15において、おそらくトラックレット融合に起因した、プレイヤ位置における不一致は、第1のプレイヤ位置1504及び第2のプレイヤ位置1505に関して明らかである。特に、関連付けエラーは、プレイヤが互いに非常に近いときに一般的である。そのような問題を解消するために、距離閾値は、プレイヤの群衆の中のプレイヤを選択し、関連付け洗練を提供するために、採用される。いくつかの実施形態において、距離閾値δが与えられていると仮定すれば、フレーム1501について、ペアワイズ距離が、フレームにおける全てのプレイヤポジション間で決定される。位置i及びjの間の距離d
ijが、閾値より小さい(例えば、d
ij<δを満たす)場合、次に、ペアは、候補リストに追加される。関連付けバウンディングボックスリストは、次に、そのような候補リスト位置について再配置される。各フットポイントについて、新しい関連付けに対する距離は、集中する(例えば、各候補プレイヤのポジションの平均をとる)。プレイヤポジション(又はフットポイント)は、次に、最小距離値を有する関連付け中心に追加される、又は属する。各関連付け中心について、1つのカメラビューは、1つのフットポイントのみを有することに留意されたい。2つのフットポイントが、1つの関連付け中心に対して最も小さい距離を有する場合、(2つのフットポイント対関連付け中心距離間を比較して)より大きな距離を有するフットポイントは、その他の関連付け中心に移動される等である。
【0067】
例えば、
図15の再構成動作1530に関して示されるように、プレイヤ位置1502は、同一の候補リストに追加され、対応する関連付け中心(不図示)に対する最小距離を有する可能性が高く、従って、再構成は、プレイヤ位置1502について生じない。関心対象の領域1503において、第1のプレイヤ位置1504及び第2のプレイヤ位置1505は、同一の候補リストに追加され、次に、対応する関連付け集中に最も近いように再配置されて、そのような位置に対して異なるプレイヤ割当てを有する第1のプレイヤ位置1514及び第2のプレイヤ位置1515を生成する。示されるように、そのような再構成動作1530は、(第2のプレイヤから第1のプレイヤへと変更して)プレイヤポジション1521のプレイヤ識別を、及び(第1のプレイヤから第2のプレイヤへと変更して)プレイヤポジション1522を、並びにその他を交換する。そのような技術は、時間インスタンスのビデオフレーム又はフレーム1501について、より堅牢なバウンディングボックス対応を提供する。
【0068】
図16は、本開示の少なくともいくつかの実施例に従って配置された、例示的な大きな距離に起因したプレイヤ除去処理1600を示す図である。
図16において、特定のフレーム1601において、多数のビューからのバウンディングボックス又はプレイヤ位置は、再び、対応するプレイヤが一致するドットカラー又はパターンを有するように、示されている。例えば、プレイヤ位置1602は全て、同一のプレイヤからであり、正確なプレイヤ関連付け結果を示す密なパターンの中でグループ化されている。拡大されたビューにおいて示されている、関心対象の領域1603において、第1のプレイヤ位置1504もまた、密にグループ化されている。しかしながら、第2のプレイヤ位置1605は、プレイヤ位置1610を含み、これは、グループの中で他から解離されている。特に、バウンディングボックス対応構築の後の(及びマルチフレームにおける位置追跡に起因した任意の調節の前の)第1のプレイヤ位置1604の中心を示す、ハッチングされた円1607と、マルチフレームにおける位置追跡の後の第1のプレイヤにとっての中心を示す、実線円1606とは、同様又は同一の位置を有する。しかしながら、バウンディングボックス対応構築の後の(及びマルチフレームにおける位置追跡に起因した任意の調節の前の)第2のプレイヤ位置1605の中心を示す、ハッチングされた円1608と、マルチフレームにおける位置追跡の後の第2のプレイヤにとっての中心を示す、実線円1609とは、外れ値プレイヤ位置1610に起因して、離れて間隔を置かれている。
【0069】
いくつかの実施形態において、グルーピングにおける各プレイヤ位置について、プレイヤ位置から関連付け中心までの距離(例えば、対応構築の後でマルチフレームにおける位置追跡に起因した調節の前の全ての対応するバウンディングボックスの平均ポジション)が、閾値と比較される。距離が、閾値より小さい場合、プレイヤ位置は、グルーピングにおいて保持される。距離は、閾値を超える場合、プレイヤ位置は、除去動作1630に関して示されるように、誤った識別として、破棄される。いくつかの実施形態において、これらの関連付けられた中心に対して大きな距離を有するフットポイントは、破棄される。いくつかの実施形態において、全ての関連付け中心に対して大きな距離を有するフットポイントは、破棄される。例えば、フットポイントは、別の関連付け中心に移動されてよい。
【0070】
例えば、プレイヤ位置を安定的で正確に保持するために、(例えば、関連付け中心を用いて測定されて)他の関連付けられたフットポイントから遠く離れているフットポイントは、除去される。他のフットポイントに対して大きな距離を有するフットポイントは、典型的に、間違った関連付け又はプレイヤの誤検出(例えば、いくつかのプレイヤを含むバウンディングボックス)により生じた隔離されたポイントである。そのようなポイントは、破棄されない場合、プレイヤ位置のジッタを引き起こす。
【0071】
図17は、本開示の少なくともいくつかの実施例に従って配置された、マルチビュービデオにおけるオブジェクト関連付けを実行するための例示的なプロセス1700を示すフロー図である。プロセス1700は、
図17において示されるように、1又は複数の動作1701~1705を含んでよい。プロセス1700は、例えば、マルチビュービデオについてのオブジェクト関連付けプロセスの少なくとも一部を形成してよい。非限定的な例として、プロセス1700は、本明細書において論じられるようなシステム100により実行されるようなプロセスの少なくとも一部を形成してよい。更に、プロセス1700は、
図18のシステム1800を参照して、本明細書において説明されるであろう。
【0072】
図18は、本開示の少なくともいくつかの実施例に従って配置された、マルチビュービデオにおけるオブジェクト関連付けを実行するための例示的なシステム1800の説明図である。
図18において示されるように、システム1800は、中央プロセッサ1801と、イメージプロセッサ1802と、メモリ1803と、カメラアレイ101とを含む。また示されるように、イメージプロセッサ1802は、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含むマルチカメラ関連付けモジュール114を含んでよい、又は実装してよい。システム1800の例において、メモリ1803は、ビデオフレーム、バウンディングボックスデータ、オブジェクト又はプレイヤ位置データ、関連付けリストデータ、又は任意の本明細書において論じられる他のデータを格納してよい。
【0073】
示されるように、いくつかの例において、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含むマルチカメラ関連付けモジュール114の1又は複数又は部分は、イメージプロセッサ1802を介して実装される。他の例において、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含むマルチカメラ関連付けモジュール114の1又は複数又は部分は、中央プロセッサ1801、イメージ処理ユニット、イメージ処理パイプライン、又はイメージ信号プロセッサ等を介して、実装される。いくつかの例において、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含むマルチカメラ関連付けモジュール114の1又は複数又は部分は、システムオンチップ(SoC)としてのハードウェアにおいて実装される。いくつかの例において、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含むマルチカメラ関連付けモジュール114の1又は複数又は部分は、FPGAを介したハードウェアにおいて実装される。
【0074】
イメージプロセッサ1802は、本明細書において論じられるような動作を提供し得る、任意の数及びタイプのイメージ若しくはグラフィックスプロセッサ又は処理ユニットを含んでよい。そのような動作は、ソフトウェア又はハードウェア、又は、その組み合わせを介して実装されてよい。例えば、イメージプロセッサ1802は、メモリ1803から入手されたフレーム又はフレームデータを操作及び/又は解析するのに特化した回路を含んでよい。中央プロセッサ1101は、システム1800についての制御、及び他の複数の高レベルな機能を提供し得、及び/又は本明細書で論じられるような任意の複数の動作を提供し得る、任意の数及びタイプのプロセッサ、処理ユニット又はモジュールを含んでよい。メモリ1803は、揮発性メモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)等)又は不揮発性メモリ(例えば、フラッシュメモリ等)等といった任意のタイプのメモリであってよい。非限定的な例において、メモリ1803は、キャッシュメモリにより実装されてよい。一実施形態において、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含むマルチカメラ関連付けモジュール114の1又は複数又は部分は、イメージプロセッサ1802の実行ユニット(EU)を介して、実装される。EUは、例えば、幅広いプログラマブルロジック機能を提供し得る、ロジックコア又はコア等のプログラマブルロジック、又は回路を含んでよい。一実施形態において、バウンディングボックス対応構築モジュール301と、連続的フレームにおける位置追跡モジュール302と、後処理モジュール303とを含むマルチカメラ関連付けモジュール114の1又は複数又は部分は、固定機能回路又は同様のもの等の専用ハードウェアを介して、実装される。固定機能回路は、専用ロジック又は回路を含んでよく、固定の目的又は機能のための専用ロジックにマッピングし得る固定機能入力ポイントのセットを提供し得る。
【0075】
図17の解説に戻ると、プロセス1700は、動作1701から始まり、ここでは、複数のビデオフレームの各々が、同一の時間インスタンスにおけるシーンの特定のビューに対応するように、複数のビデオフレームの各々についてのバウンディングボックスデータが、受信される。例えば、ビデオフレームは、それらがスポーツイベント等のシーンの同時の又はほぼ同時のビデオフレーム又はビデオイメージを獲得するように、同期されたビデオフレームであってよい。本明細書において論じられる技術は、同一の時間インスタンスにおけるビデオフレームにわたる、並びに、ビデオフレームのセットについての複数の時間インスタンスにわたる対応を提供する。そのような時間インスタンスはまた、本明細書において、時間フレーム又は単にフレームとして称される。
【0076】
処理は、動作1702において続き、ここで、距離行列が、全てのビデオフレームのペア間のバウンディングボックスの利用可能な組み合わせ間の距離を含むように、距離行列は、バウンディングボックスデータに基づいて、生成される。例えば、距離は、全てのペアワイズの組み合わせにおけるビデオフレームをペアリングし、フレーム間のバウンディングボックスの各組み合わせに対してい距離値を入力し、そのようなビデオフレームの全てのペアに対して距離値を繰り返すことによって、生成されてよい。
【0077】
処理は、動作1703において続き、ここで、距離部分行列は、距離行列内の二方向最小距離対応バウンディングボックスペアに基づいて、距離行列から決定される。例えば、そのような二方向最小距離対応は、第1のフレームにおける第1のバウンディングボックスにとって、第2のフレームにおける第2のバウンディングボックスは、最小距離バウンディングボックスであり、第2のバウンディングボックスにつとって、第1のバウンディングボックスもまた、最小距離バウンディングボックスであることを示す。いくつかの実施形態において、第1の二方向最小距離対応バウンディングボックスペアが、第2のバウンディングボックスが、第1のバウンディングボックスから第2のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、第1のバウンディングボックスからの最小距離を有することと、第1のバウンディングボックスが、第2のバウンディングボックスから第1のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、第2のバウンディングボックスからの最小距離を有することとに応答するように、二方向最小距離対応バウンディングボックスペアの第1の二方向最小距離対応バウンディングボックスペアは、第1のビデオフレームにおける第1のバウンディングボックスと、第2のビデオフレームにおける第2のバウンディングボックスとの間の対応を含む。
【0078】
更に、距離部分行列は、元の距離行列よりも小さく、元の距離行列の行及び列を再編成し、次に部分行列にセグメント化することにより生成される。いくつかの実施形態において、部分行列を決定することは、部分行列内に二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、二方向最小距離対応バウンディングボックスペアに基づいて、距離行列を変換させることを含む。
【0079】
処理は、動作1704において続き、ここで、対応部分行列は、距離部分行列の各々について、各対応部分行列及び各距離部分行列を含む目的関数を最適化することに基づいて、別々に決定される。例えば、目的関数は、低階数制約と対応部分行列の階数との積と合計された、距離部分行列及び対応部分行列の内積の合計を含んでよい。
【0080】
処理は、動作1705において続き、ここで、関連付けリストは、対応部分行列に基づいて、ビデオフレームのバウンディングボックスデータについて、提供される。関連付けリストは、ビデオフレームにわたるバウンディングボックス間の対応を示す、任意の好適なデータ構造を含んでよい。例えば、第1のインデックスは、第1のオブジェクト又はプレイヤに対して提供されてよく、関連付けリストは、第1のインデックスに対応する、各バウンディングボックスについてのフレーム番号及びバウンディングボックス番号を含んでよく、同一のものは、第2のインデックスに対しても提供されてよく、同じように続く。代替的に、インデックスは、バウンディングボックスに対応するオブジェクト又はプレイヤを示す各バウンディングボックスに貼り付けられてよい。そのような関連付け又は対応を示すための他の技術は、利用可能である。
【0081】
更に、時間的に隣接したビデオフレーム(例えば時間インスタンス)のセットについての関連付けリストは、オブジェクト又はプレイヤ追跡を生成するために用いられてよい。更に、オブジェクト又はプレイヤ追跡は、トラックレットのセットを介して、関連付けリストを更新又は変更するために用いられてよい。いくつかの実施形態において、プロセス1700は、開始時間フレームとして、同一の時間インスタンスを使用して、第1のトラックレットのセットを生成する段階と、開始時間フレームとして、同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成する段階と、第1のトラックレットのセット及び追加的なトラックレットのセットを使用して、時間インスタンスのうち1つについての初期関連付けリストを調節する段階とを更に含む。いくつかの実施形態において、第1のトラックレットのセットのうち第1のトラックレットは、同一の時間インスタンスについてのバウンディングボックスのポジションを、同一の時間インスタンスの後続の第2の時間インスタンスについてのバウンディングボックスの第2のポジションに投影する段階と、組み合わせ最適化アルゴリズムの適用、及び第2の時間インスタンスにおけるオブジェクトポジションが同一の時間インスタンスにおけるオブジェクトポジションの閾値距離内にあることに応答して、第2の時間インスタンスにおけるオブジェクトポジションを、第1のトラックレットに追加する段階とにより生成される。
【0082】
いくつかの実施形態において、プロセス1700は、結果として得られるトラックレットのセットを生成するために、第1のトラックレットのセットと、1又は複数の追加的なトラックレットのセットとを融合する段階を更に含む。いくつかの実施形態において、第1のトラックレットのセットと1又は複数の追加的なトラックレットのセットとを融合する段階は、1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定する段階と、第2のトラックレットが、閾値を超える長さを有することに応答して、第2のトラックレットを、結果として得られるトラックレットのセットに追加する段階とを含む。いくつかの実施形態において、第1のトラックレットのセットと1又は複数の追加的なトラックレットのセットとを融合する段階は、1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定する段階と、第2のトラックレットを、結果として得られるトラックレットのセットの中の第3のトラックレットと併合する段階であって、第2及び第3のトラックレットの長さの合計が、同一の及び追加的な時間インスタンスに対応するバッファサイズより小さいことに応答して、併合する段階とを含む。
【0083】
更に、そのようなトラックレット生成及び融合の後に、(それにより調節された)1又は複数の関連付けリストは、再び、外れ値を補正するため、及びより良い安定性を提供するために変更されてよい。いくつかの実施形態において、関連付けリストを提供する段階は、バウンディングボックスデータの位置追跡の後に、関連付けリストにおけるオブジェクトのポジションの比較に基づいて、関連付けリストにおける1又は複数のオブジェクトを調節する段階を含む。いくつかの実施形態において、1又は複数のオブジェクトを調節する段階は、第1のオブジェクト関連付けから、第2のオブジェクト関連付けに、第1のビデオフレームにおける第1のオブジェクトバウンディングボックスについての関連付けを変更する段階であって、第1のオブジェクト関連付けの中心位置までの第1のオブジェクトバウンディングボックスの第1の距離が、第2のオブジェクト関連付けの中心位置までの第1のオブジェクトバウンディングボックスの第2の距離を超えることに応答して、変更する段階を含む。いくつかの実施形態において、1又は複数のオブジェクトを調節する段階は、第1のビデオフレームの中の第1のオブジェクトバウンディングボックスを破棄する段階であって、第1のオブジェクトバウンディングボックスが、第1のオブジェクト関連付けポジションから閾値距離よりも遠いことに応答して、破棄する段階を含む。
【0084】
本明細書において説明されるシステムに係る様々なコンポーネントは、ソフトウェア、ファームウェア、及び/又はハードウェア及び/又はこれら任意の組み合わせにおいて実装されてよい。例えば、本明細書において論じられるデバイス又はシステムの様々なコンポーネントが、例えば、スマートフォンのようなコンピューティングシステムにおいて見られ得るような、コンピューティングシステムオンチップ(SoC)のハードウェアにより、少なくとも一部分に提供され得る。当業者であれば、本明細書において説明されるシステムが、対応する図に示されていない追加的なコンポーネントを含んでよいことを認識し得る。例えば、本明細書で論じられるシステムは、明確性のために示されていない追加的なコンポーネントを含んでよい。
【0085】
本明細書で論じられる例示的なプロセスの実施例が、図示された順序で示される全ての動作を行うことを含んでよい一方で、本開示はこの点で限定されず、様々な例において、本明細書における例示的なプロセスの実施例は、示された動作のサブセットのみを含んでよく、示されたものとは異なる順序において実行される動作、又は追加的な動作を含んでよい。
【0086】
更に、本明細書で論じられる動作のいずれかのうち1又は複数は、1又は複数のコンピュータプログラム製品によって提供される命令に応答して行われてよい。そのようなプログラム製品は、例えばプロセッサにより実行されたときに本明細書において説明される機能を提供し得る命令を提供する信号担持媒体を含んでよい。コンピュータプログラム製品は、任意の形態の1又は複数の機械可読媒体で提供され得る。このため、例えば、1又は複数のグラフィックス処理ユニット又はプロセッサコアを含むプロセッサは、1又は複数の機械可読媒体によりプログラムコード及び/又は命令又は命令セットがプロセッサに伝達されたことに応答して、本明細書における例示的なプロセスのブロックのうちの1又は複数を行い得る。一般的に、機械可読媒体は、プログラムコード、及び/又は、本明細書において説明される任意のデバイス及び/又はシステムに対し、本明細書で論じられるような、デバイス若しくはシステムの少なくとも部分又は任意の他のコンポーネント若しくはモジュールを実装させ得る命令又は命令セットの形態のソフトウェアを伝達し得る。
【0087】
本明細書において説明される任意の実施例に用いられるように、「モジュール」という用語は、ソフトウェアロジック、ファームウェアロジック、ハードウェアロジック、及び/又は本明細書において説明される機能を提供するように構成される回路の任意の組み合わせを指す。ソフトウェアは、ソフトウェアパッケージ、コード及び/又は命令セット又は命令として具現化されてよく、本明細書において説明される任意の実施例において使用される「ハードウェア」は、例えば、ハードワイヤード回路、プログラマブル回路、ステートマシン回路、固定機能回路、実行ユニット回路及び/又は、プログラマブル回路により実行される命令を格納したファームウェアを単独で、又は任意の組み合わせで含んでよい。これらのモジュールは、例えば、集積回路(IC)システムオンチップ(SoC)等のより大きいシステムの一部を形成する回路として、集合的に又は個別に具現化され得る。
【0088】
図19は、本開示の少なくともいくつかの実施例に従って配置された、例示的なシステム1900の説明図である。様々な実施例において、システム1900は、モバイルデバイスシステムであり得るが、システム1900は、この状況に限定されない。例えば、システム1900は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット又はスマートテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス、カメラ(例えば、ポイントアンドシュートカメラ、スーパーズームカメラ、デジタル一眼レフ(DSLR)カメラ)、監視カメラ、及びカメラを含む監視システム等へと組み込まれ得る。
【0089】
様々な実施例において、システム1900はディスプレイ1920に連結されたプラットフォーム1902を含む。プラットフォーム1902は、コンテンツサービスデバイス1930又はコンテンツ配信デバイス1940、又はイメージセンサ1919等の他のコンテンツソース等のコンテンツデバイスからコンテンツを受信してよい。例えば、プラットフォーム1902は、イメージセンサ1919又は任意の他のコンテンツソースから、本明細書において論じられるようなイメージデータを受信してよい。1又は複数のナビゲーション機能を含むナビゲーションコントローラ1950は、例えば、プラットフォーム1902及び/又はディスプレイ1920とインタラクトするために用いられてよい。これらのコンポーネントの各々は、以下でより詳細に説明される。
【0090】
様々な実施例において、プラットフォーム1902は、チップセット1905、プロセッサ1910、メモリ1912、アンテナ1913、ストレージ1914、グラフィックスサブシステム1915、アプリケーション1916、イメージ信号プロセッサ1917、及び/又は無線機1918の任意の組み合わせを含んでよい。チップセット1905は、プロセッサ1910、メモリ1912、ストレージ1914、グラフィックスサブシステム1915、アプリケーション1916、イメージ信号プロセッサ1917、及び/又は無線機1918の間の相互通信を提供し得る。例えば、チップセット1905は、ストレージ1914との相互通信を提供することが可能なストレージアダプタ(図示せず)を含んでよい。
【0091】
プロセッサ1910は、複合命令セットコンピュータ(CISC)プロセッサ又は縮小命令セットコンピュータ(RISC)プロセッサ、x86命令セット互換プロセッサ、マルチコア、又は他の任意のマイクロプロセッサ若しくは中央処理ユニット(CPU)として実装されてよい。様々な実施例において、プロセッサ1910は、デュアルコアプロセッサ、デュアルコアモバイルプロセッサ等であってよい。
【0092】
メモリ1912は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、又はスタティックRAM(SRAM)等の揮発性メモリデバイスとして実装されてよいが、これに限定されない。
【0093】
ストレージ1914は、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、内部ストレージデバイス、取り付けストレージデバイス、フラッシュメモリ、バッテリバックアップされたSDRAM(同期型DRAM)、及び/又はネットワークアクセス可能なストレージデバイス等の、不揮発性ストレージデバイスとして実装されてよいが、これに限定されない。様々な実施例において、ストレージ1914は、例えば、多数のハードドライブが含まれるとき、高価なデジタル媒体に対するストレージ性能の強化された保護を向上させる技術を含んでよい。
【0094】
イメージ信号プロセッサ1917は、専用のデジタル信号プロセッサ、又はイメージ処理のために用いられる同様のものとして実装されてよい。いくつかの例において、イメージ信号プロセッサ1917は、単一命令多重データ又は多重命令多重データアーキテクチャ又は同様のものに基づいて、実装されてよい。いくつかの例において、イメージ信号プロセッサ1917は、メディアプロセッサとして特徴付けられてよい。本明細書において論じられるように、イメージ信号プロセッサ1917は、システムオンチップアーキテクチャに基づいて、及び/又はマルチコアアーキテクチャに基づいて、実装されてよい。
【0095】
グラフィックスサブシステム1915は、ディスプレイのために静止画又はビデオ等のイメージの処理を実行してよい。グラフィックスサブシステム1915は、例えば、グラフィックス処理ユニット(GPU)又はビジュアル処理ユニット(VPU)であってよい。アナログ又はデジタルインタフェースは、グラフィックスサブシステム1915及びディスプレイ1920を通信可能に結合するために用いられてよい。例えば、インタフェースは、高解像度マルチメディアインタフェース、ディスプレイポート、無線HDMI(登録商標)、及び/又は無線HDに準拠する技術のいずれかであってよい。グラフィックスサブシステム1915は、プロセッサ1910又はチップセット1905へと統合されてよい。いくつかの実施例において、グラフィックスサブシステム1915は、チップセット1905に通信可能に連結された独立したデバイスであってよい。
【0096】
本明細書において説明されるグラフィックス及び/又はビデオ処理技術は、様々なハードウェアアーキテクチャのかたちで実装されてよい。例えば、グラフィックス及び/又はビデオ機能は、チップセット内に統合され得る。代替的に、別個のグラフィックス及び/又はビデオプロセッサが用いられてよい。更に別の実施例として、グラフィックス及び/又はビデオ機能は、マルチコアプロセッサを含む汎用プロセッサによって提供されてよい。更なる実施形態において、機能は、家庭用電子デバイスにおいて実装され得る。
【0097】
無線機1918は、好適な様々な無線通信技術を使用して信号の送受信を行うことが可能である1又は複数の無線機を含んでよい。そのような技術は、1又は複数の無線ネットワークにわたる通信を伴ってよい。
無線ネットワークの例は、無線ローカルエリアネットワーク(WLAN)、無線パーソナルエリアネットワーク(WPAN),無線メトロポリタンエリアネットワーク(WMAN)、セルラーネットワーク及び衛星ネットワークを含む(但し、これに限定されない)。そのようなネットワークにわたる通信において、無線機1918は、任意のバージョンにおける1又は複数の適用可能な規格に従って動作してよい。
【0098】
様々な実施例において、ディスプレイ1920は任意のテレビタイプのモニタ又はディスプレイを含んでよい。ディスプレイ1920は、例えば、コンピュータディスプレイスクリーン、タッチスクリーンディスプレイ、ビデオモニタ、テレビのようなデバイス、及び/又はテレビを含んでよい。
ディスプレイ1920は、デジタル及び/又はアナログであってよい。様々な実施例において、ディスプレイ1920は、ホログラフィックディスプレイであってよい。
また、ディスプレイ1920は、視覚投影を受信し得る透明な面であってよい。
そのような投影は、様々な形態の情報、イメージ及び/又はオブジェクトを伝達してよい。例えば、そのような投影は、モバイル拡張現実(MAR)アプリケーションの視覚的オーバレイであってよい。
1又は複数のソフトウェアアプリケーション1916の制御下で、プラットフォーム1902は、ディスプレイ1920上にユーザインタフェース1922を表示してよい。
【0099】
様々な実施例において、コンテンツサービスデバイス1930は、任意の国家の、国際の、及び/又は独立サービスによってホストされ、このため、例えば、インターネットを介してプラットフォーム1902にアクセス可能であり得る。コンテンツサービスデバイス1930は、プラットフォーム1902に及び/又はディスプレイ1920に連結されてよい。プラットフォーム1902及び/又はコンテンツサービスデバイス1930は、ネットワーク1960へ及びからのメディア情報を通信(例えば、送信及び/又は受信)するために、ネットワーク1960に連結されてよい。
コンテンツ配信デバイス1940はまた、プラットフォーム1902及び/又はディスプレイ1920に連結されてよい。
【0100】
イメージセンサ1919は、シーンに基づいて、イメージデータを提供してよい任意の好適なイメージセンサを含んでよい。例えば、イメージセンサ1919は、半導体電荷結合デバイス(CCD)ベースのセンサ、相補型金属酸化膜半導体(CMOS)ベースのセンサ、N型金属酸化膜半導体(NMOS)ベースのセンサ、又は同様のものを含んでよい。例えば、イメージセンサ1919は、イメージデータを生成するために、シーンの情報を検出してよい任意のデバイスを含んでよい。
【0101】
様々な実施例において、コンテンツサービスデバイス1930は、ケーブルテレビボックス、パーソナルコンピュータ、ネットワーク、電話、デジタル情報及び/又はコンテンツを配信可能なインターネット対応デバイス又は電気機器、及びネットワーク1960を介して又は直接、コンテンツをコンテンツプロバイダとプラットフォーム1902及び/又はディスプレイ1920との間で単方向又は二方向に通信可能な任意の他の同様のデバイスを含んでよい。コンテンツは、ネットワーク1960を介して、システム1900及びコンテンツプロバイダにおけるコンポーネントのうちのいずれか1つから及びそれに対して単方向及び/又は二方向に通信され得ることが理解されるであろう。コンテンツの例は、例えば、ビデオ、音楽、医療及びゲーム情報等を含む任意のメディア情報等を含んでよい。
【0102】
コンテンツサービスデバイス1930は、メディア情報、デジタル情報を含むケーブルテレビプログラミング等のコンテンツ、及び/又は他のコンテンツを受信し得る。コンテンツプロバイダの例としては、任意のケーブル若しくは衛星テレビ、又は無線機若しくはインターネットコンテンツプロバイダが挙げられ得る。提供される例は、本開示に係る実施例を決して限定することを意味するものではない。
【0103】
様々な実施例において、プラットフォーム1902は、1又は複数のナビゲーション機能を有するナビゲーションコントローラ1950からの制御信号を受信してよい。ナビゲーションコントローラ1950のナビゲーション機能は、例えば、ユーザインタフェース1922とインタラクトするのに用いられ得る。様々な実施形態において、ナビゲーションコントローラ1950は、ユーザがコンピュータへと空間(例えば、連続的及び多次元的な)データを入力することを可能にするコンピュータハードウェアコンポーネント(特に、ヒューマンインタフェースデバイス)であり得るポインティングデバイスであってよい。グラフィカルユーザインタフェース(GUI)及び、テレビ並びにモニタ等の多くのシステムは、ユーザが身体的なジェスチャを用いてコンピュータ又はテレビを制御し、及びそこにデータを提供することを可能にする。
【0104】
ナビゲーションコントローラ1950のナビゲーション機能の移動は、ポインタ、カーソル、フォーカスリング、又はディスプレイ上に表示される他の視覚的インジケータの移動によって、ディスプレイ(例えば、ディスプレイ1920)上で再現され得る。例えば、ソフトウェアアプリケーション1916の制御の下で、ナビゲーションコントローラ1950上に位置付けられるナビゲーション機能は、例えば、ユーザインタフェース1922上に表示される仮想のナビゲーション機能にマッピングされてよい。様々な実施形態において、ナビゲーションコントローラ1950は、別個のコンポーネントでなくてよいが、プラットフォーム1902及び/又はディスプレイ1920へと統合され得る。しかしながら、本開示は、本明細書において示される又は説明される構成要素又は状況に限定されない。
【0105】
様々な実施例において、ドライバ(不図示)は、例えば、有効にされたとき、テレビと同様に、初期起動後、ボタンをタッチすることで、ユーザがプラットフォーム1902を即座にオン及びオフにすることを可能にする技術を含んでよい。たとえプラットフォームが「オフ」になったときでも、プログラムロジックは、プラットフォーム1902が、メディアアダプタ、又は他のコンテンツサービスデバイス1930若しくはコンテンツ配信デバイス1940にコンテンツをストリーミングすることを可能にし得、更に、チップセット1905は、例えば、5.1サラウンドサウンドオーディオ及び/又は高解像度7.1サラウンドサウンドオーディオに対するハードウェア及び/又はソフトウェアサポートを含んでよい。ドライバは、統合されたグラフィックスプラットフォーム用のグラフィックスドライバを含んでよい。様々な実施形態において、グラフィックスドライバは、周辺コンポーネントインターコネクト(PCI)エクスプレスグラフィックスカードを含んでよい。
【0106】
様々な実施例において、システム1900の中に示されるコンポーネントのうちいずれか1又は複数は、統合されてよい。例えば、プラットフォーム1902及びコンテンツサービスデバイス1930は統合されてよく、又は、プラットフォーム1902及びコンテンツ配信デバイス1940は統合されてよく、又は、例えば、プラットフォーム1902、コンテンツサービスデバイス1930、及びコンテンツ配信デバイス1940は統合されてよい。
様々な実施形態において、プラットフォーム1902とディスプレイ1920とは、統合されたユニットであってよい。例えば、ディスプレイ1920及びコンテンツサービスデバイス1930は統合されてよく、又はディスプレイ1920及びコンテンツ配信デバイス1940は統合されてよい。これらの例は、本開示を限定することを意味するものではない。
【0107】
様々な実施形態において、システム1900は無線システム、有線システム、又は両方の組み合わせとして実装されてよい。無線システムとして実装されるとき、システム1900は、1又は複数のアンテナ、送信機、受信機、送受信機、増幅器、フィルタ、制御ロジック等といった無線共有媒体を介して通信するのに好適なコンポーネント及びインタフェースを含んでよい。無線共有媒体の例としては、RFスペクトル等といった無線スペクトルの一部が挙げられ得る。有線システムとして実装されるときには、システム1900は、例えば入出力(I/O)アダプタ、I/Oアダプタを対応する有線通信媒体と接続するための物理コネクタ、ネットワークインタフェースカード(NIC)、ディスクコントローラ、ビデオコントローラ、及びオーディオコントローラ等の有線通信媒体で通信するのに好適なコンポーネント及びインタフェースを含んでよい。有線通信媒体の例としては、ワイヤ、ケーブル、金属リード線、プリント回路基板(PCB)、バックプレーン、スイッチファブリック、半導体材料、ツイストペアワイヤ、同軸ケーブル、光ファイバ等が挙げられ得る。
【0108】
プラットフォーム1902は、情報を通信に1又は複数の論理又は物理チャネルを確立してよい。情報は、メディア情報及び制御情報を含んでよい。メディア情報は、ユーザ向けのコンテンツを表す任意のデータを指し得る。コンテンツの例としては、例えば、音声会話、ビデオ会議、ストリーミングビデオ、電子メール(「email」)メッセージ、ボイスメールメッセージ、英数字記号、グラフィックス、イメージ、ビデオ、テキスト等からのデータが挙げられ得る。音声会話からのデータは、例えば、スピーチ情報、沈黙時間、背景雑音、快適ノイズ、トーン等であり得る。制御情報は、自動化システム向けのコマンド、命令又は制御語を表す任意のデータを指し得る。例えば、制御情報は、システムを通じてメディア情報をルーティングするために、又は、予め定められた態様でメディア情報を処理することをノードに指示するのに用いられ得る。しかしながら、実施形態は、要素又は
図19に示され若しくは説明された状況に限定されない。
【0109】
上述のように、システム1900は様々な物理スタイル又はフォームファクタで具現化されてよい。
図20は、本開示の少なくともいくつかの実施例に従って配置された、例示的な小さなフォームファクタデバイス2000を示す図である。いくつかの例において、システム1900は、デバイス2000を介して実装されてよい。他の例において、本明細書において論じられる他のシステム、コンポーネント、若しくはモジュール、又はこれらの部分は、デバイス2000を介して実装してよい。例えば、様々な実施形態において、デバイス2000は、無線機能を有するモバイルコンピューティングデバイスとして実装されてよい。例えば、モバイルコンピューティングデバイスは、処理システム、及び1又は複数のバッテリ等の、モバイル電源又は供給を有する任意のデバイスを指してよい。
【0110】
モバイルコンピューティングデバイスの例は、パーソナルコンピュータ(PC)、ラップトップコンピュータ、ウルトララップトップコンピュータ、タブレット、タッチパッド、ポータブルコンピュータ、ハンドヘルドコンピュータ、パームトップコンピュータ、パーソナルデジタルアシスタント(PDA)、携帯電話、携帯電話/PDAの組み合わせ、テレビ、スマートデバイス(例えば、スマートフォン、スマートタブレット又はスマートモバイルテレビ)、モバイルインターネットデバイス(MID)、メッセージングデバイス、データ通信デバイス、カメラ(例えば、ポイントアンドシュートカメラ、スーパーズームカメラ、及びデジタル一眼レフ(DSLR)カメラ)等を含んでよい。
【0111】
モバイルコンピューティングデバイスの例はまた、リストコンピュータ、フィンガーコンピュータ、リングコンピュータ、眼鏡コンピュータ、ベルトクリップコンピュータ、アームバンドコンピュータ、シューズコンピュータ、クロージングコンピュータ、及び他の着用可能コンピュータ等の、自動車又はロボットにより実装されるように配置される、又は人により着用されるコンピュータを含んでよい。様々な実施形態において、例えば、モバイルコンピューティングデバイスは、コンピュータアプリケーション並びに音声通信及び/又はデータ通信を実行することが可能なスマートフォンとして実装され得る。いくつかの実施形態は、例として、スマートフォンとして実装されたモバイルコンピューティングデバイスを用いて説明され得るが、他の実施形態が、他の無線モバイルコンピューティングデバイスを同様に用いて実装され得ることが理解され得る。実施形態は、この状況において限定されない。
【0112】
図20において示されるように、デバイス2000は、正面2001及び背面2002を有する筐体を含んでよい。デバイス2000は、ディスプレイ2004と、入出力(I/O)デバイス2006と、カラーカメラ2021と、カラーカメラ2022と、統合アンテナ2008とを含む。いくつかの実施形態において、カラーカメラ2021及びカラーカメラ2022は、本明細書において論じられるような平面イメージを獲得する。いくつかの実施形態において、デバイス2000は、カラーカメラ2021及び2022を含まず、デバイス2000は、別のデバイスから入力イメージデータ(例えば、本明細書において論じられる任意の入力イメージデータ)を獲得する。デバイス2000はまた、ナビゲーション機能2012を含んでよい。I/Oデバイス2006は、モバイルコンピューティングデバイスへと情報を入力するための任意の好適なI/Oデバイスを含んでよい。I/Oデバイス2006の実施例は、英数字キーボード、テンキーパッド、タッチパッド、入力キー、ボタン、スイッチ、マイク、スピーカー、音声認識デバイス、及びソフトウェア等を含んでよい。情報はまた、マイク(不図示)を手段としてデバイス2000へと入力されてよく、又は、音声認識デバイスによりデジタル化されてよい。示されるように、デバイス2000は、デバイス2000の背面2002(又は他の箇所)へと統合されたカラーカメラ2021、2022及びフラッシュ2010を含んでよい。他の例において、カラーカメラ2021、2022及びフラッシュ2010は、デバイス2000の正面2001へと統合されてよく、又はカメラの正面及び背面セットの両方に提供されてよい。カラーカメラ2021、2022及びフラッシュ2010は、ディスプレイ2004に出力される、及び/又は、例えば、アンテナ2008を介してデバイス2000からリモートで通信されるイメージ又はストリーミングビデオへと処理されてよい、IRテクスチャ補正を有するカラーイメージデータを生ずるカメラモジュールのコンポーネントであってよい。
【0113】
様々な実施形態は、ハードウェア要素、ソフトウェア要素、又はそれら両方の組み合わせを用いて実装されてよい。ハードウェア要素の例は、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗器、キャパシタ、及びインダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ及びチップセット等を含んでよい。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、手順、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、記号、又はこれらの任意の組み合わせを含んでよい。一実施形態がハードウェア要素及び/又はソフトウェア要素を使用して実装されるか否かの決定は、所望の計算レート、パワーレベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、(データバススピード及び他の設計又は性能制約等の任意の数の要因に従って変わり得る。
【0114】
少なくとも1つの実施形態に係る1又は複数の態様は、様々なロジックをプロセッサ内で示す機械可読媒体上に格納される代表的な命令によって実装されてよい。代表的命令とは機械により読み取られるとき、機械に対し、本明細書において説明される技術を実行させるロジックを作成させるものである。IPコアとして知られるそのような表現は、有形の機械可読媒体に格納されてよく、ロジック又はプロセッサを実際に製造する製造機械へと搭載するために様々な顧客又は製造設備に供給されてよい。
【0115】
本明細書に記載の特定の特徴を様々な実施例を参照して説明してきた一方で、この説明は限定の意味で解釈されることを意図しない。ゆえに、本開示が関連する当業者には明らかである、本明細書において説明される実施例並びに他の実施例の様々な修正は、本開示の主旨及び範囲内にあるものとみなされる。
【0116】
1又は複数の第1実施形態において、マルチビュービデオにおけるオブジェクト関連付けを実行するための方法は、複数のビデオフレームの各々についてのバウンディングボックスデータを受信する段階であって、複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、受信する段階と、バウンディングボックスデータに基づいて、距離行列を生成する段階であって、距離行列は、ビデオフレームの全てのペア間の利用可能なバウンディングボックスの組み合わせ間の距離を有する、生成する段階と、距離行列内での二方向最小距離対応バウンディングボックスペアに基づいて、距離行列から、複数の距離部分行列を決定する段階と、各対応部分行列及び各距離部分行列を有する目的関数を最適化することに基づいて、距離部分行列の各々について、対応部分行列を別々に決定する段階と、対応部分行列に基づいて、ビデオフレームのバウンディングボックスデータについての関連付けリストを提供する段階とを備える。
【0117】
1又は複数の第2実施形態において、第1実施形態に対して更に、いくつかの実施形態において、二方向最小距離対応バウンディングボックスペアの第1の二方向最小距離対応バウンディングボックスペアは、第1のビデオフレームにおける第1のバウンディングボックスと、第2のビデオフレームにおける第2のバウンディングボックスとの間の対応を含み、第1の二方向最小距離対応バウンディングボックスペアは、第2のバウンディングボックスが、第1のバウンディングボックスから第2のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、第1のバウンディングボックスからの最小距離を有することと、第1のバウンディングボックスが、第2のバウンディングボックスから第1のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、第2のバウンディングボックスからの最小距離を有することとに応答する。
【0118】
1又は複数の第3実施形態において、第1又は第2実施形態に対して更に、複数の部分行列を決定する段階は、部分行列内で二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、二方向最小距離対応バウンディングボックスペアに基づいて、距離行列を変換する段階を有する。
【0119】
1又は複数の第4実施形態において、第1から第3までの実施形態のいずれかに対して更に、方法は、開始時間フレームとして、同一の時間インスタンスを使用して、第1のトラックレットのセットを生成する段階と、開始時間フレームとして、同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成する段階と、第1のトラックレットのセット及び追加的なトラックレットのセットを使用して、時間インスタンスのうち1つについての初期関連付けリストを調節する段階とを更に備える。
【0120】
1又は複数の第5実施形態において、第1から第4までの実施形態のいずれかに対して更に、第1のトラックレットのセットのうち第1のトラックレットは、同一の時間インスタンスについてのバウンディングボックスのポジションを、同一の時間インスタンスの後続の第2の時間インスタンスについてのバウンディングボックスの第2のポジションに投影する段階と、組み合わせ最適化アルゴリズムの適用、及び第2の時間インスタンスにおけるオブジェクトポジションが同一の時間インスタンスにおけるオブジェクトポジションの閾値距離内にあることに応答して、第2の時間インスタンスにおけるオブジェクトポジションを、第1のトラックレットに追加する段階とにより生成される。
【0121】
1又は複数の第6実施形態において、第1から第5までの実施形態のいずれかに対して更に、方法は、結果として得られるトラックレットのセットを生成するために、第1のトラックレットのセットと、1又は複数の追加的なトラックレットのセットとを融合する段階を更に備える。
【0122】
1又は複数の第7実施形態において、第1から第6までの実施形態のいずれかに対して更に、第1のトラックレットのセットと1又は複数の追加的なトラックレットのセットとを融合する段階は、1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定する段階と、第2のトラックレットが、閾値を超える長さを有することに応答して、第2のトラックレットを、結果として得られるトラックレットのセットに追加する段階とを有する。
【0123】
1又は複数の第8実施形態において、第1から第7までの実施形態のいずれかに対して更に、第1のトラックレットのセットと1又は複数の追加的なトラックレットのセットとを融合する段階は、1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定する段階と、第2のトラックレットを、結果として得られるトラックレットのセットの中の第3のトラックレットと併合する段階であって、第2及び第3のトラックレットの長さの合計が、同一の及び追加的な時間インスタンスに対応するバッファサイズより小さいことに応答して、併合する段階とを有する。
【0124】
1又は複数の第9実施形態において、第1から第8までの実施形態のいずれかに対して更に、関連付けリストを提供する段階は、バウンディングボックスデータの位置追跡の後に、関連付けリストにおけるオブジェクトのポジションの比較に基づいて、関連付けリストにおける1又は複数のオブジェクトを調節する段階を有する。
【0125】
1又は複数の第10実施形態において、第1から第9までの実施形態のいずれかに対して更に、1又は複数のオブジェクトを調節する段階は、第1のオブジェクト関連付けから、第2のオブジェクト関連付けに、第1のビデオフレームにおける第1のオブジェクトバウンディングボックスについての関連付けを変更する段階であって、第1のオブジェクト関連付けの中心位置までの第1のオブジェクトバウンディングボックスの第1の距離が、第2のオブジェクト関連付けの中心位置までの第1のオブジェクトバウンディングボックスの第2の距離を超えることに応答して、変更する段階を有する。
【0126】
1又は複数の第11実施形態において、第1から第10までの実施形態のいずれかに対して更に、1又は複数のオブジェクトを調節する段階は、第1のビデオフレームの中の第1のオブジェクトバウンディングボックスを破棄する段階であって、第1のオブジェクトバウンディングボックスが、第1のオブジェクト関連付けポジションから閾値距離よりも遠いことに応答して、破棄する段階を有する。
【0127】
1又は複数の第12実施形態において、デバイス又はシステムは、メモリと、上記実施形態のいずれか1つに記載の方法を実行するための1又は複数のプロセッサとを含む。
【0128】
1又は複数の第13の実施形態において、少なくとも1つの機械可読媒体は、コンピューティングデバイスで実行されることに応答して、コンピューティングデバイスに、上記実施形態のいずれか1つに記載の方法を実行させる複数の命令を含む。
【0129】
1又は複数の第14実施形態において、装置は、上記実施形態のいずれか1つに記載の方法を実行するための手段を含む。
【0130】
実施形態は、これまで説明された実施形態に限定されないが、添付の特許請求の範囲の範囲から逸脱することなく、修正及び変更で実施されることが可能であることが認識されるであろう。例えば、上記実施形態は、特徴の具体的な組み合わせを含んでよい。しかしながら、上記実施形態は、この点で限定されず、様々な実施例において、上記実施形態は、そのような特徴のサブセットのみの実行、そのような特徴の異なる順序での実行、そのような特徴の異なる組み合わせでの実行及び/又は明示的に列挙されたこれらの特徴に対する追加的な特徴の実行を含んでよい。従って、これらの実施形態の範囲は、添付の特許請求の範囲が権利を与えられる同等のものの範囲全体と共に、そのような特許請求の範囲を参照して決定されるべきである。
[他の可能な項目]
[項目1]
マルチビュービデオにおけるオブジェクト関連付けを実行するためのシステムであって、
複数のビデオフレームの各々についてのバウンディングボックスデータを格納するためのメモリであって、前記複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、メモリと、
前記メモリに連結される1又は複数のプロセッサであって、前記1又は複数のプロセッサは、
複数のビデオフレームの各々についてのバウンディングボックスデータを受信することであって、前記複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、受信することと、
前記バウンディングボックスデータに基づいて、距離行列を生成することであって、前記距離行列は、前記ビデオフレームの全てのペア間の利用可能なバウンディングボックスの組み合わせ間の距離を有する、生成することと、
前記距離行列内での二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列から、複数の距離部分行列を決定することと、
各対応部分行列及び各距離部分行列を有する目的関数を最適化することに基づいて、前記距離部分行列の各々について、対応部分行列を別々に決定することと、
前記対応部分行列に基づいて、前記ビデオフレームの前記バウンディングボックスデータについての関連付けリストを提供することと
を実行する、1又は複数のプロセッサと
を備えるシステム。
[項目2]
前記二方向最小距離対応バウンディングボックスペアのうち第1の二方向最小距離対応バウンディングボックスペアは、第1のビデオフレームの中の第1のバウンディングボックスと第2のビデオフレームの中の第2のバウンディングボックスとの間の対応を有し、前記第1の二方向最小距離対応バウンディングボックスペアは、前記第2のバウンディングボックスが、前記第1のバウンディングボックスから前記第2のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、前記第1のバウンディングボックスからの最小距離を有することと、前記第1のバウンディングボックスが、前記第2のバウンディングボックスから前記第1のビデオフレームの中の全ての候補バウンディングボックスまでの全ての利用可能な距離から、前記第2のバウンディングボックスからの最小距離を有することとに応答する、項目1に記載のシステム。
[項目3]
前記複数の部分行列を決定することを実行する前記1又は複数のプロセッサは、前記部分行列内で前記二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、前記二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列を変換することを実行する前記1又は複数のプロセッサを有する、項目1に記載のシステム。
[項目4]
前記1又は複数のプロセッサは、
開始時間フレームとして、前記同一の時間インスタンスを使用して、第1のトラックレットのセットを生成することと、
開始時間フレームとして、前記同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成することと、
前記第1のトラックレットのセット及び前記追加的なトラックレットのセットを使用して、前記時間インスタンスのうち1つについての初期関連付けリストを調節することと
を実行する、項目1から3のいずれかに記載のシステム。
[項目5]
前記第1のトラックレットのセットのうち第1のトラックレットは、前記1又は複数のプロセッサであって、
前記同一の時間インスタンスについてのバウンディングボックスのポジションを、前記同一の時間インスタンスの後続の第2の時間インスタンスについての前記バウンディングボックスの第2のポジションに投影することと、
組み合わせ最適化アルゴリズムの適用、及び第2の時間インスタンスにおけるオブジェクトポジションが前記同一の時間インスタンスにおける前記オブジェクトポジションの閾値距離内にあることに応答して、前記第2の時間インスタンスにおける前記オブジェクトポジションを、前記第1のトラックレットに追加することと
を実行する前記1又は複数のプロセッサにより生成される、項目4に記載のシステム。
[項目6]
前記1又は複数のプロセッサは、
結果として得られるトラックレットのセットを生成するために、前記第1のトラックレットのセットと、前記1又は複数の追加的なトラックレットのセットとを融合すること
を実行する、項目4に記載のシステム。
[項目7]
前記第1のトラックレットのセットと前記1又は複数の追加的なトラックレットのセットとを融合することを実行する前記1又は複数のプロセッサは、
前記1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、前記第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定することと、
前記第2のトラックレットが、閾値を超える長さを有することに応答して、前記第2のトラックレットを、前記結果として得られるトラックレットのセットに追加することと
を実行する前記1又は複数のプロセッサを有する、項目6に記載のシステム。
[項目8]
前記第1のトラックレットのセットと前記1又は複数の追加的なトラックレットのセットとを融合することを実行する前記1又は複数のプロセッサは、
前記1又は複数の追加的なトラックレットのセットの第2のトラックレットのセットの中の第2のトラックレットが、前記第1のトラックレットのセットの中の任意のトラックレットと交差しないことを決定することと、
前記第2のトラックレットを、結果として得られるトラックレットのセットの中の第3のトラックレットと併合することであって、前記第2及び第3のトラックレットの前記長さの合計が、前記同一の及び追加的な時間インスタンスに対応するバッファサイズより小さいことに応答して、併合することと
を実行する前記1又は複数のプロセッサを有する、項目6に記載のシステム。
[項目9]
前記関連付けリストを提供することを実行する前記1又は複数のプロセッサは、前記バウンディングボックスデータの位置追跡の後に、前記関連付けリストにおけるオブジェクトのポジションの比較に基づいて、前記関連付けリストにおける1又は複数のオブジェクトを調節することを実行する前記1又は複数のプロセッサを有する、項目1に記載のシステム。
[項目10]
前記1又は複数のオブジェクトを調節することを実行する前記1又は複数のプロセッサは、第1のオブジェクト関連付けから、第2のオブジェクト関連付けに、第1のビデオフレームにおける第1のオブジェクトバウンディングボックスについての関連付けを変更することであって、前記第1のオブジェクト関連付けの中心位置までの前記第1のオブジェクトバウンディングボックスの第1の距離が、前記第2のオブジェクト関連付けの中心位置までの前記第1のオブジェクトバウンディングボックスの第2の距離を超えることに応答して、変更することを実行する前記1又は複数のプロセッサを有する、項目9に記載のシステム。
[項目11]
前記1又は複数のオブジェクトを調節することを実行する前記1又は複数のプロセッサは、第1のビデオフレームの中の第1のオブジェクトバウンディングボックスを破棄することであって、前記第1のオブジェクトバウンディングボックスが、第1のオブジェクト関連付けポジションから閾値距離よりも遠いことに応答して、破棄することを実行する前記1又は複数のプロセッサを有する、項目9に記載のシステム。
[項目12]
マルチビュービデオにおけるオブジェクト関連付けを実行するための方法であって、
複数のビデオフレームの各々についてのバウンディングボックスデータを受信する段階であって、前記複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、受信する段階と、
前記バウンディングボックスデータに基づいて、距離行列を生成する段階であって、前記距離行列は、前記ビデオフレームの全てのペア間の利用可能なバウンディングボックスの組み合わせ間の距離を有する、生成する段階と、
前記距離行列内での二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列から、複数の距離部分行列を決定する段階と、
各対応部分行列及び各距離部分行列を有する目的関数を最適化することに基づいて、前記距離部分行列の各々について、対応部分行列を別々に決定する段階と、
前記対応部分行列に基づいて、前記ビデオフレームの前記バウンディングボックスデータについての関連付けリストを提供する段階と
を備える方法。
[項目13]
前記複数の部分行列を決定する段階は、前記部分行列内で前記二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、前記二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列を変換する段階を有する、項目12に記載の方法。
[項目14]
開始時間フレームとして、前記同一の時間インスタンスを使用して、第1のトラックレットのセットを生成する段階と、
開始時間フレームとして、前記同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成する段階と、
前記第1のトラックレットのセット及び前記追加的なトラックレットのセットを使用して、前記時間インスタンスのうち1つについての初期関連付けリストを調節する段階と
を更に備える、項目12又は13に記載の方法。
[項目15]
結果として得られるトラックレットのセットを生成するために、前記第1のトラックレットのセットと、前記1又は複数の追加的なトラックレットのセットとを融合する段階
を更に備える、項目14に記載の方法。
[項目16]
前記関連付けリストを提供する段階は、前記バウンディングボックスデータの位置追跡の後に、前記関連付けリストにおけるオブジェクトのポジションの比較に基づいて、前記関連付けリストにおける1又は複数のオブジェクトを調節する段階を更に有する、項目12に記載の方法。
[項目17]
少なくとも1つの機械可読媒体であって、コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに、
複数のビデオフレームの各々についてのバウンディングボックスデータを受信する段階であって、前記複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、受信する段階と、
前記バウンディングボックスデータに基づいて、距離行列を生成する段階であって、前記距離行列は、前記ビデオフレームの全てのペア間の利用可能なバウンディングボックスの組み合わせ間の距離を有する、生成する段階と、
前記距離行列内での二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列から、複数の距離部分行列を決定する段階と、
各対応部分行列及び各距離部分行列を有する目的関数を最適化することに基づいて、前記距離部分行列の各々について、対応部分行列を別々に決定する段階と、
前記対応部分行列に基づいて、前記ビデオフレームの前記バウンディングボックスデータについての関連付けリストを提供する段階と
により、マルチビュービデオにおけるオブジェクト関連付けを実行させる複数の命令を備える、少なくとも1つの機械可読媒体。
[項目18]
前記複数の部分行列を決定する段階は、前記部分行列内で前記二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、前記二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列を変換する段階を有する、項目17に記載の機械可読媒体。
[項目19]
コンピューティングデバイス上で実行されることに応答して、前記コンピューティングデバイスに、
開始時間フレームとして、前記同一の時間インスタンスを使用して、第1のトラックレットのセットを生成する段階と、
開始時間フレームとして、前記同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成する段階と、
前記第1のトラックレットのセット及び前記追加的なトラックレットのセットを使用して、前記時間インスタンスのうち1つについての初期関連付けリストを調節する段階と
により、マルチビュービデオにおけるオブジェクト関連付けを実行させる複数の命令を更に備える、項目17又は18に記載の機械可読媒体。
[項目20]
前記方法は、
結果として得られるトラックレットのセットを生成するために、前記第1のトラックレットのセットと、前記1又は複数の追加的なトラックレットのセットとを融合する段階
を更に備える、項目19に記載の機械可読媒体。
[項目21]
記関連付けリストを提供する段階は、前記バウンディングボックスデータの位置追跡の後に、前記関連付けリストにおけるオブジェクトのポジションの比較に基づいて、前記関連付けリストにおける1又は複数のオブジェクトを調節する段階を更に有する、項目17に記載の機械可読媒体。
[項目22]
システムであって、
複数のビデオフレームの各々についてのバウンディングボックスデータを受信するための手段であって、前記複数のビデオフレームの各々は、同一の時間インスタンスにおけるシーンの特定のビューに対応する、受信するための手段と、
前記バウンディングボックスデータに基づいて、距離行列を生成するための手段であって、前記距離行列は、前記ビデオフレームの全てのペア間の利用可能なバウンディングボックスの組み合わせ間の距離を有する、生成するための手段と、
前記距離行列内での二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列から、複数の距離部分行列を決定するための手段と、
各対応部分行列及び各距離部分行列を有する目的関数を最適化することに基づいて、前記距離部分行列の各々について、対応部分行列を別々に決定するための手段と、
前記対応部分行列に基づいて、前記ビデオフレームの前記バウンディングボックスデータについての関連付けリストを提供するための手段と
を備えるシステム。
[項目23]
前記複数の部分行列を決定するための手段は、前記部分行列内で前記二方向最小距離対応バウンディングボックスペアを併合するための行及び列基本変換を介して、前記二方向最小距離対応バウンディングボックスペアに基づいて、前記距離行列を変換するための手段を有する、項目22に記載のシステム。
[項目24]
開始時間フレームとして、前記同一の時間インスタンスを使用して、第1のトラックレットのセットを生成するための手段と、
開始時間フレームとして、前記同一の時間インスタンスの後続の追加的な時間インスタンスを使用して、1又は複数の追加的なトラックレットのセットを生成するための手段と、
前記第1のトラックレットのセット及び前記追加的なトラックレットのセットを使用して、前記時間インスタンスのうち1つについての初期関連付けリストを調節するための手段と
を更に備える、項目22又は23に記載のシステム。
[項目25]
結果として得られるトラックレットのセットを生成するために、前記第1のトラックレットのセットと、前記1又は複数の追加的なトラックレットのセットとを融合するための手段
を更に備える、項目24に記載のシステム。