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

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

▶ ムーヴ エーアイ リミテッドの特許一覧

特表2023-502795実世界環境の4D時空間モデルを生成するためのリアルタイムシステム
<>
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図1
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図2
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図3A
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図3B
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図3C
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図4A
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図4B
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図4C
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図5
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図6
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図7A
  • 特表-実世界環境の4D時空間モデルを生成するためのリアルタイムシステム 図7B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-25
(54)【発明の名称】実世界環境の4D時空間モデルを生成するためのリアルタイムシステム
(51)【国際特許分類】
   G06T 7/70 20170101AFI20230118BHJP
   G06T 7/00 20170101ALI20230118BHJP
   G06V 10/82 20220101ALI20230118BHJP
   G06T 7/246 20170101ALI20230118BHJP
   A63B 71/06 20060101ALI20230118BHJP
【FI】
G06T7/70 Z
G06T7/00 350C
G06V10/82
G06T7/00 660B
G06T7/246
A63B71/06 M
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022554966
(86)(22)【出願日】2020-11-18
(85)【翻訳文提出日】2022-07-13
(86)【国際出願番号】 GB2020052939
(87)【国際公開番号】W WO2021099778
(87)【国際公開日】2021-05-27
(31)【優先権主張番号】1916845.9
(32)【優先日】2019-11-19
(33)【優先権主張国・地域又は機関】GB
(31)【優先権主張番号】2003704.0
(32)【優先日】2020-03-13
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】522196250
【氏名又は名称】ムーヴ エーアイ リミテッド
(74)【代理人】
【識別番号】100135389
【弁理士】
【氏名又は名称】臼井 尚
(74)【代理人】
【識別番号】100086380
【弁理士】
【氏名又は名称】吉田 稔
(74)【代理人】
【識別番号】100103078
【弁理士】
【氏名又は名称】田中 達也
(74)【代理人】
【識別番号】100130650
【弁理士】
【氏名又は名称】鈴木 泰光
(74)【代理人】
【識別番号】100168099
【弁理士】
【氏名又は名称】鈴木 伸太郎
(74)【代理人】
【識別番号】100168044
【弁理士】
【氏名又は名称】小淵 景太
(74)【代理人】
【識別番号】100200609
【弁理士】
【氏名又は名称】齊藤 智和
(74)【代理人】
【識別番号】100217467
【弁理士】
【氏名又は名称】鶴崎 一磨
(72)【発明者】
【氏名】ジコス、ニコラオス
(72)【発明者】
【氏名】ミラー、ティノ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA09
5L096FA12
5L096FA13
5L096FA67
5L096FA69
5L096HA05
5L096HA11
5L096KA04
(57)【要約】
本発明は、画像データから3Dデータを導出するための方法であって、少なくとも1つのカメラから、環境を表す画像データを受信すること、画像データから、環境内の少なくとも1つのオブジェクトを検出すること、少なくとも1つの検出されたオブジェクトを分類すること、を含み、方法が、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、ニューラルネットワークを実装して、分類されたオブジェクトに対応する画像データ内の分類されたオブジェクトの特徴を識別することにより、分類されたオブジェクトの2Dスケルトンを決定することと、決定された2Dスケルトンを3Dにマッピングすることを含む、分類されたオブジェクトの3Dスケルトンを構築することと、を含む、方法、に関する。
【選択図】 図1
【特許請求の範囲】
【請求項1】
画像データから3Dデータを導出するための方法であって、
少なくとも1つのカメラから、環境を表す画像データを受信すること、
前記画像データから、前記環境内の少なくとも1つのオブジェクトを検出すること、
前記少なくとも1つの検出されたオブジェクトを分類すること、を含み、前記方法が、分類された前記少なくとも1つのオブジェクトの分類されたオブジェクトごとに、
ニューラルネットワークを実装して、前記分類されたオブジェクトに対応する前記画像データ内の前記分類されたオブジェクトの特徴を識別することにより、前記分類されたオブジェクトの2Dスケルトンを決定することと、
決定された前記2Dスケルトンを3Dにマッピングすることを含む、前記分類されたオブジェクトの3Dスケルトンを構築することと、を含む、方法。
【請求項2】
前記少なくとも1つのオブジェクトの各々が、複数の関連するサブオブジェクトを含み、前記少なくとも1つのオブジェクトごとに、
少なくとも1つのオブジェクトを検出することが、前記複数の関連するサブオブジェクトの各々を検出することを含み、
少なくとも1つのオブジェクトを分類することが、前記複数の関連するサブオブジェクトの各々を分類することを含み、
前記分類されたオブジェクトの前記2Dスケルトンを決定することが、前記分類されたサブオブジェクトに対応する前記画像データ内の前記複数の分類されたサブオブジェクトの各々の特徴を識別することを含む、請求項1に記載の方法。
【請求項3】
分類されたオブジェクトごとに、決定された前記2Dスケルトンを3Dにマッピングすることが、
ニューラルネットワークの実装、ならびに/または
前記決定された2Dスケルトンに統計的および/または確率論的方法を適用し、前記統計的および/または確率論的方法にホロノミックな拘束を適用すること、を含む、請求項1または2に記載の方法。
【請求項4】
前記少なくとも1つの検出されたオブジェクトを分類することが、前記少なくとも1つの検出されたオブジェクトのうちの第1の検出されたオブジェクトを人間のオブジェクトとして分類することを含み、統計的および/または確率論的方法が前記決定された2Dスケルトンに適用される場合、前記ホロノミックな拘束が、人間の解剖学的なホロノミックな拘束を含む、請求項3に記載の方法。
【請求項5】
前記3Dスケルトンが、アンカーポイントおよび複数の子ポイントを備え、各子ポイントが、前記アンカーポイントまたは前記複数の子ポイントのうちの別の子ポイントへの変換を適用することによって定義され、前記ホロノミックな拘束が、各子ポイントを定義する前記変換の自由度、および/または前記変換の各自由度の可能な値の範囲を定義する、請求項3または4に記載の方法。
【請求項6】
前記少なくとも1つの検出されたオブジェクトを分類することが、前記少なくとも1つの検出されたオブジェクトのうちの第2の検出されたオブジェクトを人間以外のオブジェクトとして分類することを含む、先行請求項のいずれか一項に記載の方法。
【請求項7】
前記少なくとも1つのカメラが、複数のカメラを含み、
少なくとも1つのオブジェクトを検出することが、各カメラから収集された画像データ内の前記少なくとも1つのオブジェクトを検出することを含み、
前記少なくとも1つのオブジェクトを分類することが、各カメラからの前記画像データ内で検出された前記少なくとも1つのオブジェクトを分類することを含み、
各分類されたオブジェクトについて前記2Dスケルトンを決定することが、複数の2Dスケルトンを決定することを含み、前記複数の2Dスケルトンの各々が、前記複数のカメラのうちの異なるカメラから収集された画像データ内の前記分類されたオブジェクトの特徴を識別することから決定され、
前記3Dスケルトンを構築することが、決定された前記複数の決定された2Dスケルトンを組み合わせることを含む、先行請求項のいずれか一項に記載の方法。
【請求項8】
前記画像データが、時間順に並べられたフレームのシーケンスを含み、前記時間順に並べられたフレームのシーケンスが、前記少なくとも1つのカメラの各カメラから収集されたフレームを含み、
前記環境内の少なくとも1つのオブジェクトの前記検出が、前記時間順に並べられたフレームのシーケンスの各フレームにおいて前記少なくとも1つのオブジェクトを検出することを含み、
前記少なくとも1つの検出されたオブジェクトの前記分類が、前記フレームのシーケンスの各フレームにおいて前記少なくとも1つの検出されたオブジェクトを分類することを含み、
分類された前記少なくとも1つのオブジェクトの各分類されたオブジェクトが、前記時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされる、先行請求項のいずれか一項に記載の方法。
【請求項9】
各分類されたオブジェクトが、再帰的推定器を実装することによって、前記時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされ、分類されたオブジェクトごとに、決定された前記2Dスケルトンを3Dにマッピングすることが、
複数の3Dスケルトンを決定して、時変3Dスケルトンを形成することと、
前記時間順に並べられたフレームのシーケンスの全体にわたって再帰的推定器を適用して、前記分類されたオブジェクトの時変3Dスケルトンを決定することと、を含む、請求項8に記載の方法。
【請求項10】
前記再帰的推定器の適用が、時間依存性のホロノミックな拘束を適用することを含む、請求項9に記載の方法。
【請求項11】
前記3Dスケルトンが、アンカーポイントおよび複数の子ポイントを含み、各子ポイントが、前記アンカーポイントまたは前記複数の子ポイントのうちの別の子ポイントへの変換を適用することによって定義され、
前記時変3Dスケルトンが、各子ポイントに対する時間変数の変換によって定義され、前記時間依存性のホロノミックな拘束が、各時点について、各子ポイントを定義する変換の自由度、および/または前記変換の各自由度の可能な値の範囲を定義する、請求項10に記載の方法。
【請求項12】
前記少なくとも1つのカメラが、少なくとも1つの第1のタイプのカメラおよび少なくとも1つの第2のタイプのカメラを含み、前記第1のタイプのカメラの各々が、第1のフレームレートで画像データをキャプチャし、各第2のタイプのカメラが、前記第1のフレームレートとは異なる第2のフレームレートで画像データをキャプチャする、請求項8~11のいずれか一項に記載の方法。
【請求項13】
前記画像データから、前記環境の3Dモデルを構築することをさらに含む、請求項8~12のいずれか一項に記載の方法。
【請求項14】
前記3D環境モデルが、
同時位置決めマッピング技術を前記画像データに適用して、前記少なくとも1つのカメラの各カメラの位置および向きを推定し、環境マップを構築することと、
前記環境マップを前記環境の事前に決定された3Dモデルにマッピングすることにより、前記3Dモデルを構築することと、によって構築される、請求項13に記載の方法。
【請求項15】
前記時変3Dスケルトンと前記3D環境モデルとを統合して、時変統合環境を構築することをさらに含む、請求項13または14に記載の方法。
【請求項16】
前記方法が、前記分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、
構築された前記3Dスケルトンと前記分類されたオブジェクトに対応する3Dモデルとを統合することを含む、前記分類されたオブジェクトの3Dアバターを構築することをさらに含む、先行請求項のいずれか一項に記載の方法。
【請求項17】
前記方法が、前記画像データの解像度よりも高い解像度で、前記分類されたオブジェクトに対応する前記3Dモデルをキャプチャすることをさらに含む、請求項16に記載の方法。
【請求項18】
前記分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、構築された前記3Dスケルトンと前記分類されたオブジェクトに対応する3Dモデルとを統合することを含む、前記分類されたオブジェクトの3Dアバターを構築することと、
決定された前記3D環境モデルと、前記分類されたオブジェクトごとの構築された前記3Dアバターとを統合して、統合環境の3Dモデルを構築することと、をさらに含み、前記統合環境が、前記環境および前記環境内の前記オブジェクトを含む、請求項13または14に記載の方法。
【請求項19】
フィルタリング方法を使用して、構築された前記3Dアバターに時間依存性の平滑化を適用することによって、前記統合環境の前記構築を洗練することをさらに含む、請求項18に記載の方法。
【請求項20】
各構築された3Dアバターと前記3D環境モデルとの間の相互作用を制約することによって、前記統合環境の前記構築を洗練することをさらに含む、請求項18または19に記載の方法。
【請求項21】
前記分類されたオブジェクトごとの3Dアバターを構築することが、複数の3Dアバターを構築することを含み、前記方法が、前記複数の3Dアバター間の相互作用を制約することによって、前記統合環境の前記構築を洗練することをさらに含む、請求項18~20のいずれか一項に記載の方法。
【請求項22】
スポーツの試合におけるオフサイドルールへの準拠を判定する際に使用するために、スポーツ環境の画像データから3Dデータを導出するための方法であって、前記方法が、
少なくとも1つのカメラから、前記環境を表す画像データを受信すること、
前記画像データから、前記環境内の複数のオブジェクトを検出すること、
複数の前記検出されたオブジェクトをプレーヤーとして分類すること、を含み、
前記方法が、プレーヤーごとに、
ニューラルネットワークを実装して、前記プレーヤーに対応する前記画像データ内の支払人の特徴を識別することにより、前記プレーヤーの2Dスケルトンを決定することと、
決定された前記2Dスケルトンを3Dにマッピングすることを含む、前記プレーヤーの3Dスケルトンを構築することと、
前記構築された3Dスケルトンと、前記分類されたオブジェクトに対応する3Dモデルとを統合して、前記プレーヤーの3Dアバターを構築することと、を含み、
前記方法が、ユーザが検出したまたは自動的に検出されたイベントに応答して、
前記環境内において二次元平面を定義すること、
前記プレーヤーのアバターの事前定義された部分が、前記二次元平面のどちら側に見つかり得るかを判定すること、をさらに含む、方法。
【請求項23】
スポーツの試合におけるオフサイドルールへの準拠を判定する際に使用するために、スポーツ環境の画像データから3Dデータを導出するための方法であって、前記方法が、
少なくとも1つのカメラから、前記環境を表す画像データを受信すること、
前記画像データから、前記環境内の複数のオブジェクトを検出すること、
複数の前記検出されたオブジェクトをプレーヤーとして分類すること、を含み、
前記方法が、プレーヤーごとに、
ニューラルネットワークを実装して、前記プレーヤーに対応する前記画像データ内の支払人の特徴を識別することにより、前記プレーヤーの2Dスケルトンを決定すること、
決定された前記2Dスケルトンを3Dにマッピングすることを含む、前記プレーヤーの3Dスケルトンを構築すること、を含み、
前記方法が、ユーザが検出したまたは自動的に検出されたイベントに応答して、
前記環境内において二次元平面を定義すること、
前記プレーヤーの前記スケルトンの事前定義された部分が、前記二次元平面のどちら側に見つかり得るかを判定すること、をさらに含む、方法。
【請求項24】
先行請求項のいずれか一項に記載の方法を実行するように構成されたプロセッサを備える、コンピュータ。
【請求項25】
前記プロセッサによって実行されると、前記プロセッサに請求項1~23のいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実世界環境を記述する4D時空間データを導出して、該データから正確な4D時空間モデルを生成するように構成されたリアルタイムシステムに関する。具体的には、システムは、画像データを処理して実世界環境内のオブジェクトを検出、分類、かつ識別し、それらのオブジェクトを正確に記述する三次元記述子情報を導出し、その記述子情報を使用して環境を正確に描写する4Dモデルを生成するように構成されている。このように、システムは、記述子データによって表されるオブジェクトのセマンティクスを抽出し、そのセマンティクスの記述を使用することによりモデルを再構築することによって、オブジェクトをモデリングするように構成されている。
【背景技術】
【0002】
環境の三次元デジタル表現は、幅広い様々な分野で採用されている。1つの用途は、仮想環境の視覚化であり、例えば、ビデオゲームにおいてプレーヤーに没入型の体験を作成する、または設計作業において設計者が構築前にその環境を理解することを支援する。もう1つの、そして特に有利な用途は、既存の実世界の環境を視覚化および表現するための3Dモデルのための用途である。
【0003】
直接観察(本人が直接、またはビデオ録画による)を通じて実世界の環境を観察することは、該環境についての限られた視点を提示する。観察者は、自分の視点、または観察用に選択されたカメラの視点に制限される。同じ実世界の環境を異なる視点(例えば、場所/角度/視野)から観察したい場合、観察している人は物理的に再配置するか、または代替の/追加のフィードを提供するために代替カメラをセットアップする必要がある。ただし、このような再配置には欠点がある。例えば、複数のカメラおよび関連するハードウェアおよび構内配線のセットアップには時間およびコストがかかる。環境内に現実的に存在することができるカメラの数には上限があり、環境内にカメラを配置することができないポイント(例えば、試合中のサッカーのピッチの真ん中など)がいくつかあり、また新しいカメラをセットアップしても、すでに発生したイベントについての新しい観察視点を提供するのに役立たない可能性がある。さらに、直接観察は、環境について現実的に導出することができる情報に限られている。
【0004】
例えば、スポーツの試合(サッカー、テニス、またはラグビーなど)は、スポーツのルールに遵守しているかどうかを観察者(人間およびカメラ)によって集中的に分析される。試合のルールはスポーツごとに異なるが、共通の構成要素は、ルール違反についての遵守性は、スポーツの環境内でのユーザまたはスポーツ用品の場所の判定に依存するということである。一例として、サッカーのオフサイドルールがある。このルールでは、プレーヤーの手および腕を除く体の部分のうちのいずれかが対戦相手のハーフピッチ内にあり、かつボールおよび後ろから2番目の対戦相手のプレーヤーの両方よりも対戦相手のゴールラインに近い場合、プレーヤーは「オフサイド」の位置にいる。オフサイドルールの厳密な定義は、時がたつにつれて発展または変更される可能性があるが、遵守性は常に、ピッチ上のオブジェクト(プレーヤーを含む)の相対的な配置を考慮して判定される。したがって、ピッチとの関連における、複数のプレーヤーの場所、およびそれらのプレーヤーの体の部分を正確に観察することが重要である。
【0005】
レフリーおよび他の個人がそのような観察を行うために採用されるが、彼らはプレーのすべての側面を一度に観察することはできない。スポーツ環境およびその構成要素の観察を改善するために既存の技術が開発されてきたが、これらはまた、それらの観察の精度についての批判を集めている。例えば、サッカーでは、「ビデオ・アシスタント・レフリー」(またはVAR)がよく採用される。VARは、複数の角度から収集されたビデオ映像を見て、ルールが遵守されているかどうかを判定するさらなる観察者である(例えば、異なる角度からプレーヤーを見て、オフサイドルールへの遵守性を確認する)。ただし、追加の視点からでもピッチ条件を判定することは困難になる可能性があり、個々の構成要素を正確に配置することができない場合は精度が制限される可能性がある。
【0006】
直接観察の制限に対する解決策は、代わりに、問題となる環境の3D表現を構築することであり、そしてこれを操作および観察して、物理的な環境プロパティを判定できる。したがって、実世界の環境の高精度の3Dバージョンを構築する技術を実装することが望ましく、そうすると、これを操作して、元のデータには存在しない複数の角度からピッチを観察することができる。導出された3Dモデルをさらに分析および操作して、従来の観察では得られなかった追加情報を推論することもできる。したがって、別々の観察者または追加のカメラを採用する必要なしに、以前は見えなかった(それにもかかわらず正確な)視点を見ることができ、データの推測を行うことができる。
【0007】
当技術分野で既知である3Dモデリングのための1つの方法は、モーションキャプチャシステムを実装することであり、このシステムでは、複数のトラッカーを観察対象に対して配置することができ、イメージングシステムが対象上の特定の表面点を三次元でトラッキングして、3Dトラッキングを実装することができるようにする。ただし、このようなシステムは、目的のために必要なトラッカーが特別に準備されている監視対象に限定される。これは、モデリングされる環境(例えば、スポーツの試合)にとっても実用的ではない場合がある。したがって、すでに利用可能なデータ(例えば、環境のカメラ/ビデオデータ)に対して3Dモデリングを実行できることが好ましい。
【0008】
カメラ/ビデオデータからの3D情報の導出を可能にする既存の技術には、複数の視点からの画像データの収集、および環境内のオブジェクトの位置をピクセルごとに計算することによってその環境の3Dバージョンをレンダリングすることが含まれる。ただし、画像データには数百万のピクセルが含まれており、ピクセルごとの位置を比較するには、何兆もの組み合わせ間の対応を見つける必要がある。これは、計算上の大きな課題を意味するだけでなく、任意の導出された3Dモデルにある程度の精度を提供するために、大量のデータを処理する必要がある。したがって、十分に正確なモデルを生成するためにこのような技術を使用することは、リアルタイムでの実行には実用的または実現可能ではなく、環境の正確な3D表現は、システムがモデリングしようとする任意のイベント(例えば、スポーツの試合)の終了後にのみ現実的にレンダリングすることができる。
【0009】
さらに、実世界の環境は静的な量ではない。環境内の多くのオブジェクトは環境に対して移動し得、それ自体が変形可能なオブジェクトである可能性がある(例えば、人間の手足の動きまたは非剛体のオブジェクトの屈曲)。3Dデータ抽出の既存の技術は、画像データの個々のフレームから3D情報を分離して抽出し、次に一緒にマージして時間依存性のシーケンス(すなわち、4D画像データ)を形成することによって動作し得る。これにより、フレーム間の異常(例えば、動きの「スタッター」)が発生する可能性があり、これは、最終的な4D画像データの不正確さを意味する。さらに、複数のフレームにまたがる変形可能なオブジェクトは異なって認識される可能性があり、適合した4Dデータの一貫性のない不正確な発展を生み出す。
【0010】
したがって、画像データを処理して4D時空間情報を導出し、空間および時間における3D環境を正確に記述する3D環境を記述するための方法を提供することが望ましい。本発明は、先行技術の前述の不利益に対処して正確なリアルタイム4D記述子データを導出し、そのデータを使用して環境を正確に表す4D時空間モデルを生成するようなシステムを提供しようとする。
【発明の概要】
【0011】
本発明の第1の態様によれば、画像データから3Dデータを導出するための方法であって、少なくとも1つのカメラから、環境を表す画像データを受信すること、画像データから、環境内の少なくとも1つのオブジェクトを検出すること、少なくとも1つの検出されたオブジェクトを分類すること、を含み、方法が、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、ニューラルネットワークを実装して、分類されたオブジェクトに対応する画像データ内の分類されたオブジェクトの特徴を識別することにより、分類されたオブジェクトの2Dスケルトンを決定することと、決定された2Dスケルトンを3Dにマッピングすることを含む、分類されたオブジェクトの3Dスケルトンを構築することと、を含む、方法が提供される。したがって、この方法は、2Dデータを生成する中間ステップを通じて3Dデータ記述子データを生成するための手段を提供する。2Dスケルトンの形式の2D記述子データおよび3Dスケルトンの形式の3D記述子データを計算すると、オブジェクトを記述する要素の数が、画像データ内のオブジェクトを記述する数百万のピクセルからモデリングされたものに数桁減少する。よって、この方法は、計算効率が大幅に向上し、より迅速になり、リアルタイムで実行できるようになる。
【0012】
有利には、該少なくとも1つのオブジェクトの各々が、複数の関連するサブオブジェクトを含み、該少なくとも1つのオブジェクトごとに少なくとも1つのオブジェクトを検出することが、複数の関連するサブオブジェクトの各々を検出することを含み、少なくとも1つのオブジェクトを分類することが、複数の関連するサブオブジェクトの各々を分類することを含み、分類されたオブジェクトの2Dスケルトンを決定することが、分類されたサブオブジェクトに対応する画像データ内の複数の分類されたサブオブジェクトの各々の特徴を識別することを含む。このようにして、2D記述子情報を導出することができるオブジェクトがセグメント化され、サブオブジェクトの互いに対する位置を識別することで2Dスケルトンが構築される。これにより、各サブオブジェクトのセマンティック情報を導出するタスクが簡素化され、特に、2D記述子情報の判定を実行するためのニューラルネットワークの複雑さが軽減される。
【0013】
有利なことに、分類されたオブジェクトごとに、決定された2Dスケルトンを3Dにマッピングすることが、ニューラルネットワークの実装、ならびに/または決定された2Dスケルトンに統計的および/または確率論的方法を適用し、統計的および/または確率論的方法にホロノミックな拘束を適用すること、を含む。オブジェクトを記述する3Dスケルトンは、対応する大きなパラメータ空間を用いて、多くの個別のポイントで構成することができる。このような複数のポイントを適合させる際に利用できる自由度にホロノミックな拘束を適用することにより、最終モデルの精度を犠牲にすることなく、パラメータ空間を大幅に減らすことができる。したがって、推定プロセスの処理速度を大幅に低下させることができる。
【0014】
さらに有利には、少なくとも1つの検出されたオブジェクトを分類することが、少なくとも1つの検出されたオブジェクトのうちの第1の検出されたオブジェクトを人間のオブジェクトとして分類することを含み、統計的および/または確率論的方法が決定された2Dスケルトンに適用される場合、ホロノミックな拘束が、人間の解剖学的なホロノミックな拘束を含む。人間のオブジェクトは、それらが配置されている環境に関係なく形状および構成が変化する可能性があるという点で、変形可能であると理解される。このような高い自由度は、訓練されたニューラルネットワークの適切な適用および/または特定のホロノミックな拘束の適用による問題の次元の減少によって解決される、困難な計算問題を表す。
【0015】
有利なことに、3Dスケルトンが、アンカーポイントおよび複数の子ポイントを備え、各子ポイントが、アンカーポイントまたは複数の子ポイントのうちの別の子ポイントへの変換を適用することによって定義され、ホロノミックな拘束が、各子ポイントを定義する変換の自由度、および/または変換の各自由度の可能な値の範囲を定義する。前のポイントに対して各ポイントを定義すると、スケルトンをサブグループまたはネットワークにセグメント化することができ、これらのサブグループまたはネットワークは、独立して適合させることができ、特定のホロノミックな拘束を適用することができる。これにより、問題の次元が減少し、よって、処理が高速化され、プロセッサへの負荷が軽減され得る。
【0016】
有利には、少なくとも1つの検出されたオブジェクトを分類することが、少なくとも1つの検出されたオブジェクトのうちの第2の検出されたオブジェクトを人間以外のオブジェクトとして分類することを含む。本発明は、幅広い様々なオブジェクトを正確にモデリングすることができるという大きな柔軟性を実証する。
【0017】
有利には、少なくとも1つのカメラが、複数のカメラを含み、少なくとも1つのオブジェクトを検出することが、各カメラから収集された画像データ内の該少なくとも1つのオブジェクトを検出することを含み、少なくとも1つのオブジェクトを分類することが、各カメラからの画像データ内で検出された該少なくとも1つのオブジェクトを分類することを含み、各分類されたオブジェクトについて2Dスケルトンを決定することが、複数の2Dスケルトンを決定することを含み、該複数の2Dスケルトンの各々が、複数のカメラのうちの異なるカメラから収集された画像データ内の分類されたオブジェクトの特徴を識別することから決定され、3Dスケルトンを構築することが、決定された複数の決定された2Dスケルトンを組み合わせることを含む。異なるカメラから同じオブジェクトの同時フィードを提供すると、最終的に構築された3Dスケルトンの精度が向上する。さらに、2Dスケルトンの形式の2D記述子データおよび3Dスケルトンの形式の3D記述子データを計算する中間ステップにより、オブジェクトを記述する要素の数が、画像データ内のオブジェクトを記述する数百万のピクセルからモデリングされたものに減少する。したがって、数百万ピクセルのピクセルごとの比較を実行する場合(数兆の比較を実行する必要な場合がある)と比較して、異なるカメラの画像間の対応を見つける複雑さが大幅に軽減される。
【0018】
有利には、画像データが、時間順に並べられたフレームのシーケンスを含み、時間順に並べられたフレームのシーケンスが、少なくとも1つのカメラの各カメラから収集されたフレームを含み環境内の少なくとも1つのオブジェクトの該検出が、時間順に並べられたフレームのシーケンスの各フレームにおいて該少なくとも1つのオブジェクトを検出することを含み、少なくとも1つの検出されたオブジェクトの該分類が、フレームのシーケンスの各フレームにおいて少なくとも1つの検出されたオブジェクトを分類することを含み、分類された少なくとも1つのオブジェクトの各分類されたオブジェクトが、時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされる。したがって、時間依存性の入力データを考慮することにより、方法は、時空間出力モデルを提供することができる。
【0019】
さらに有利なことに、各分類されたオブジェクトが、再帰的推定器を実装することによって、時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされ、分類されたオブジェクトごとに、決定された2Dスケルトンを3Dにマッピングすることが、複数の3Dスケルトンを決定して、時変3Dスケルトンを形成することと、時間順に並べられたフレームのシーケンスの全体にわたって再帰的推定器を適用して、分類されたオブジェクトの時変3Dスケルトンを決定することと、を含む。したがって、方法は、履歴的な決定に基づいて決定された3D記述子情報の精度を洗練することができる。
【0020】
さらに有利には、再帰的推定器の適用が、時間依存性のホロノミックな拘束を適用することを含む。上述のように、任意の1つのオブジェクトの3Dスケルトンは、多くの3Dポイントおよび対応する大きなパラメータ空間を含むことができる。このパラメータ空間は、3Dスケルトンの時間発展を判定するために3Dオブジェクトの各3Dポイントの時間依存性が判定されるため、オブジェクトが時間の経過とともに移動するにつれてさらに増加する。時間依存性のホロノミックな拘束を適用することにより、導出された3D情報の精度を犠牲にすることなく、パラメータ空間が削減される。よって、推定プロセスの処理速度を大幅に低下させることができる。任意選択で3Dスケルトンが、アンカーポイントおよび複数の子ポイントを含み、各子ポイントが、アンカーポイントまたは複数の子ポイントのうちの別の子ポイントへの変換を適用することによって定義され時変3Dスケルトンが、各子ポイントに対する時間変数の変換によって定義され、時間依存性のホロノミックな拘束が、各時点について、各子ポイントを定義する変換の自由度、および/または変換の各自由度の可能な値の範囲を定義する。前のポイントに対して各ポイントを定義すると、スケルトンをサブグループまたはネットワークにセグメント化することができ、これらのサブグループまたはネットワークは、独立して適合させることができ、特定の時間依存性のホロノミックな拘束を適用することができる。これにより、問題の次元が減少し、よって、処理が高速化され、プロセッサへの負荷が軽減され得る。
【0021】
さらに有利には、少なくとも1つのカメラが、少なくとも1つの第1のタイプのカメラおよび少なくとも1つの第2のタイプのカメラを含み、第1のタイプのカメラの各々が、第1のフレームレートで画像データをキャプチャし、各第2のタイプのカメラが、第1のフレームレートとは異なる第2のフレームレートで画像データをキャプチャする。追加のカメラからの追加の画像データは、適合された4D記述子データの精度を向上させ得、さらに4D記述子データの測定および判定のための追加の時点を提供し、4Dスケルトンのよりスムーズでより正確な判定を提供する。
【0022】
有利には、方法は、画像データから、環境の3Dモデルを構築することをさらに含む。3Dアバターの生成に使用されたものと同じデータが、3D環境モデルの構築に使用され、方法の出力全体にわたって一貫性を提供する。環境マップの中間段階を使用すると、リアルタイムによる3D環境の、時間がかかりかつプロセッサへの負荷がかかる導出を実行する必要がなくなる。
【0023】
さらに有利なことに、3D環境モデルが、位置決めマッピング技術を画像データに適用して、少なくとも1つのカメラの各カメラの位置および向きを推定し、環境マップを構築することと、環境マップを環境の事前に決定された3Dモデルにマッピングすることにより、3Dモデルを構築することと、によって構築される。SLAM技術では、カメラが環境内を移動している場合など、それらのカメラの位置が分からない場合でも画像データを使用できる。したがって、この方法は、より多種多様な入力画像データソースを組み込み得る。
【0024】
さらに有利には、方法が、時変3Dスケルトンと3D環境モデルとを統合して、時変統合環境を構築することをさらに含む。よって、3Dモデルを完全にレンダリングしなくても、環境の正確な3D表現を出力し得る。したがって、最小限のデータを使用して環境を記述することができる。本方法では、統合されたモデルは、完全にレンダリングされた3D環境モデルを後で再構築するために、保存されるか、または別のコンピューティングデバイスに送信され得る。完全にレンダリングされた3Dモデルは大量のデータで記述されるため、これは有利だが、シーンの完全に正確な表現には必要ない。したがって、統合モデルは最小限のデータ要件で保存かつ送信することができ、3Dの事前に生成されたモデルは、最終モデルを作成するために必要な場合にのみ統合環境にマッピングされる。
【0025】
有利には、方法は、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、構築された3Dスケルトンと分類されたオブジェクトに対応する3Dモデルとを統合することを含む、分類されたオブジェクトの3Dアバターを構築することをさらに含む。したがって、方法は、生成された3D記述子データからオブジェクトの3Dモデルを生成し、事前にレンダリングされたオブジェクトをその記述子データにマッピングするための手段を提供する。よって、3Dレンダリングされたモデルの生成は、計算効率が大幅に向上し、より迅速になり、リアルタイムで実行できるようになる。
【0026】
有利には、方法は、画像データの解像度よりも高い解像度で、分類されたオブジェクトに対応する3Dモデルをキャプチャすることをさらに含む。従来の3D画像キャプチャ技術では、最終的に生成される3Dモデルの解像度は、モデルの生成に使用される画像データの解像度によって制限される。本発明では、低解像度の画像データを使用して正確な記述子情報を生成することができ、次に、これに高解像度のモデルをマッピングすることができる。したがって、本方法は、モデリングされる環境の入力画像データの解像度に限定されない。
【0027】
有利には、方法は、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、構築された3Dスケルトンと分類されたオブジェクトに対応する3Dモデルとを統合することを含む、分類されたオブジェクトの3Dアバターを構築することと、決定された3D環境モデルと、分類されたオブジェクトごとの構築された3Dアバターとを統合して、統合環境の3Dモデルを構築することと、をさらに含み、該統合環境が、該環境および環境内の該オブジェクトを含む。したがって、システムは、観察された環境を完全かつ正確に再現するために、決定されたすべての出力を統合する最終出力を提供する。
【0028】
有利なことに、方法は、フィルタリング方法を使用して、構築された3Dアバターに時間依存性の平滑化を適用することによって、統合環境の構築を洗練することをさらに含む。さらに有利には、方法は、各構築された3Dアバターと3D環境モデルとの間の相互作用を制約することによって、統合環境の構築を洗練することをさらに含む。加えて、さらに有利なことに、分類されたオブジェクトごとの3Dアバターを構築することが、複数の3Dアバターを構築することを含み、方法が、複数の3Dアバター間の相互作用を制約することによって、統合環境の構築を洗練することをさらに含む。出力統合環境のこのような洗練により、統合から生じる可能性のあるエラーまたは不一致が減少し、それによってより正確な出力モデルが提供される。
【0029】
本発明の別の態様では、上記のいずれかの方法を実行するように構成されたプロセッサを備える、コンピュータが提供される。
【0030】
本発明のさらに別の態様では、プロセッサによって実行されると、プロセッサに上記のいずれかの方法を実行させる命令を含む、コンピュータプログラムが提供される。
【0031】
本発明は、幅広い様々な環境およびその中のオブジェクトの非常に正確な時空間表現をリアルタイムで提供することができる。モデリングできる環境には、サッカーピッチ(および構成するプレーヤーおよび要素)、レーストラック(レーストラックは人間のレース用または動物のレース用であり得、構成要素にはそれに応じて人間および/または動物を含めることができる)、オリンピックのスポーツイベント(サイクリング、やり投げ、アーチェリー、ロングジャンプなど)、テニスの試合、野球の試合などが含まれるが、必ずしもこれらに限定されない。
【図面の簡単な説明】
【0032】
次に、本発明の実施形態を、添付の図面を参照して例として説明する。
【0033】
図1】本発明による方法の一般的なアーキテクチャを示すフローチャートである。
図2】本発明による3Dアバターを構築するための例示的な方法を示すフローチャートである。
図3A】本発明の一環として3Dアバターを構築する例示的なオブジェクトの図である。
図3B図3Aのオブジェクトの例示的な2Dスケルトンの図である。
図3C図3Aのオブジェクトの別の例示的な2Dスケルトンの図である。
図4A】本発明の一環として3Dアバターを構築する人間のオブジェクトの図である。
図4B図3Aの人間のオブジェクトの例示的な2Dスケルトンの図である。
図4C図3Aの人間のオブジェクトの別の例示的な2Dスケルトンの図である。
図5】本発明による、時間順に並べられた一連を含む画像データに基づいて3Dアバターを構築するための例示的な方法を示すフローチャートである。
図6】受信した画像データ内に描写された例示的な環境の図である。
図7A】本発明を実行するのに好適な例示的なシステムアーキテクチャである。
図7B】本発明を実行するのに好適な例示的なプロセッサアーキテクチャである。
【発明を実施するための形態】
【0034】
本発明は、環境内のオブジェクトおよび環境自体の、正確な3Dモデルを生成する改善された手段を通じて、先行技術の上記で特定された欠点に対処しようとする。3Dモデルは、空間内で、そして有利なことに、時間の経過とともに環境内のオブジェクトが移動するときに、正確に表現される。具体的には、画像データからピクセルごとに3D環境を再現しようとする代わりに、画像データを代わりに処理して、環境および環境内のオブジェクトを正確に記述する基礎となる記述子データを導出する。次に、事前にレンダリングされたオブジェクトを記述子データにマッピングして、3D環境を再構築することができる。これにより、システムは3D環境を構築するための処理能力を大幅に削減するが、精度を損なうことはない。
【0035】
入力画像データから三次元(3D)モデルまたは四次元(4D)時空間モデルを導出することができるためのステップを設定する、本発明の一般的なアーキテクチャ100を図1に示す。
【0036】
入力画像データが102で提供される。入力画像データには、単一画像、複数画像、ビデオ、深度カメラデータ、およびレーザカメラデータが含まれるが、これらに限定されない。入力画像データは、環境および環境内のオブジェクトを記述する3D記述子データを導出するために104で処理される。本発明のコンテキストにおける3D記述子データは、その環境を記述する環境の基礎となる特徴、およびそれらのオブジェクトを記述する環境内のオブジェクトの基礎となる特徴を記述するデータとして理解される。この意味において、3D記述子データは、オブジェクトおよび/または環境の基礎となる「セマンティクス」を記述すると理解される。例えば、サッカーの試合のコンテキストでは、ピッチ上にいる人間の配置は、人体の体の解剖学的部分(例えば、肘、首、かかと、手首)の、互いに対する、かつピッチに対する相対的な場所を特定することによって記述することができ、環境におけるボールの配置は、ピッチに対するボールの質量の中心の場所によって記述することができる。例えば、3D記述子データには、体の関節の3D座標、または頭および腕などのサブオブジェクトの3D座標が含まれる。導出された3D記述子データを処理しかつ分析して、モデリングされた環境の要素の測定を実行することもできる(例えば、ボールまたはプレーヤーの速度、環境内のプレーヤー間または他のアイテム間の平均距離)。後でより詳細に説明するように、3D記述子データの導出は、時間的に発展する3D記述子データ(すなわち、4D記述子データ)を作成するために、複数の時点にわたって実行することができる。
【0037】
3D記述子データの識別後、システムは次に、統合ステップ106を実行し、画像データ内のオブジェクトの3D記述子データは、そのオブジェクトの対応する3Dモデルにマッピングされ、その結果、記述子データによって記述されたとおりのオブジェクトの向きを正確に表す3Dモデルが得られる。例えば、人間の3Dモデルの場合、そのモデル内のポイントの3D座標は、画像データから導出された対応する3D座標と一致する。よって、結果として得られる3Dモデルは、画像データに示されているとおりの、人間のオブジェクトを表現したものになる。モデリングされたサッカーの場合、3Dサッカーモデルが画像データに示されているとおりのサッカーの表現となるように、サッカーの3Dモデルの質量の中心を、画像データから導出された質量の中心にマッピングすることができる。統合ステップ106は、環境内の複数のオブジェクトに対して別個に実行され、次に、それらは、環境自体の3Dモデルとともに統合されて、出力108で統合された環境を提供する。
【0038】
最終的な統合された環境は、グラフィックスレンダリングソフトウェアのユーザが次に柔軟に用いることができる形式の3Dモデルとして提供される。例えば、モデルを使用して、元の画像データには存在しない視点から環境の新しい画像を生成することができる。記述子データの中間導出による3Dモデルの構築により、環境の正確なモデリングがリアルタイムで可能になる。処理ステップ104および統合ステップ106のさらなる詳細は、以下に提供される。
【0039】
図2は、処理ステップ104で使用するための例示的な画像データ処理の方法体系を示している。この方法体系は、画像データから3Dデータを導出するための方法200である。方法200は、少なくとも1つのカメラ202aから、環境を表す画像データ204aを受信すること203を含む。カメラ202aは、2Dカメラ、2Dビデオカメラ、3D深度カメラ、3D深度ビデオカメラ、光検出および測距(LIDAR)を含む(ただし、これらに限定されない)、画像データを収集するのに好適な任意のビジョンシステムである。これにより、カメラ202aは、適切な画像データ204a(例えば、2D画像、2Dビデオ、3D画像、3Dビデオ、LIDARデータ)を生成する。図2に関する以下に説明する方法は、静止画像に関連して提供される。ビデオ画像データ(すなわち、時間順に並べられたフレームのシーケンスを含む画像データ)の3Dオブジェクトモデリングについては、図5に関連して後で論じる。画像データは、例えば、サッカースタジアムの環境内に配置されたテレビカメラからのライブビデオフィードであり得る。
【0040】
画像データ204aは、環境のビューを表す。ビューには、画像データで表される、その環境を表す複数のオブジェクトが含まれることとなる。これらのオブジェクトには、環境内の静的オブジェクト(例えば、goalpoast、区画)、および環境内の動的オブジェクト(例えば、プレーヤー、ボール)が含まれることとなる。
【0041】
方法200は、画像データ204aから環境内の少なくとも1つのオブジェクトを検出することを含む。画像データ204aから環境内のオブジェクトを検出するために、任意の好適な方法体系を使用することができる。例えば、自律性オブジェクト検出システムを使用して、画像内のオブジェクトを検出することができる。自律性オブジェクト検出システムは、オブジェクトの位置および境界ボックスを定義するために、1つ以上のニューラルネットワークを使用する。自律性オブジェクト検出システムの入力は生の画像データであり、出力はオブジェクトの位置および境界ボックスである。多層ディープニューラルネットワーク(畳み込みニューラルネットワークなど)を含む、任意の好適なニューラルネットワークを採用してもよい。
【0042】
1つ以上のニューラルネットワークは、150万を超えるストック画像を含むImageNetおよびCocoなどの画像リポジトリを使用したニューラルネットワークの訓練を通じて、幅広い様々なオブジェクトを認識するように構成されている。例えば、ストック画像には、様々な年齢、サイズ、性別、民族で、様々な服を着て、数多くの様々な背景に提供され、かつ様々なポーズおよび位置に立っている人間の、多くの画像が含まれている。ニューラルネットワークの訓練用に、他のアイテム(例えば、スポーツ用品、座席)の、同様に多様な画像が提供される。この画像のリポジトリにおいてシステムを訓練することにより、システムは、必要な信頼度まで、画像データのどの部分がオブジェクトであり、画像のどの部分がオブジェクトではないかを認識することができる。
【0043】
環境で検出されるオブジェクトは、多くの様々なクラスおよびタイプである可能性がある。したがって、方法200はさらに、少なくとも1つの検出されたオブジェクトを分類して、分類されたオブジェクト205aを識別することを含む。画像データから検出された環境内のオブジェクトを分類するために、任意の好適な方法体系を使用することができる。例えば、自律性オブジェクト分類子を使用してオブジェクトを分類することができる。信頼値は、事前定義されたクラスのセットからすべての可能なクラスに対して計算され得、信頼値が最も高いオブジェクトがオブジェクトのクラスとして選択される。自律性オブジェクト分類システムは、1つ以上のニューラルネットワークを実装し得る。多層ディープニューラルネットワーク(畳み込みニューラルネットワークなど)を含む、任意の好適なニューラルネットワークを採用してもよい。
【0044】
自律性オブジェクト分類システムのニューラルネットワークでは、入力は、分類されるオブジェクト(検出されたオブジェクトの境界ボックス内に含まれる画像データの形式)であり、出力は、検出されたオブジェクトが属するオブジェクトクラスである。ニューラルネットワークは、ニューラルネットワークの好適な訓練を通じて幅広い様々なオブジェクトを分類するように構成されている。例えば、ニューラルネットワークは、適切なクラスでタグ付けされた入力画像を使用して訓練される。訓練用の入力画像は、ニューラルネットワークの訓練の前にオブジェクトが人間のユーザによって手動で分類されたビジュアルデータベース(ImageNetおよびCocoなどのオープンデータセットを含む)から再び供給されてもよい。
【0045】
任意選択で、この方法は、オブジェクト識別のステップ(図示せず)を含むことができ、分類されたオブジェクトは、サブクラスに属するものとして、またはオブジェクトのクラスの特定のインスタンスであるものとして識別され得る(例えば、特定のプレーヤーまたは特定のタイプのテニスラケット)。例えば、システムは、分類されたオブジェクトに対応する画像データ内に存在する可能性のある、任意のテキストを読み取るためのOCR技術を組み込んでもよい(例えば、オリンピックイベントにおける競技者名、またはサッカーイベントにおけるプレーヤー番号)。それに加えて、または組み合わせて、方法は、オブジェクトを識別するためのニューラルネットワークを実装してもよい。オブジェクト識別のためのニューラルネットワークは、オブジェクト分類のために上記で説明されたこれらのニューラルネットワークと実質的に同様の方法で訓練および適用され得る。
【0046】
上記の方法のステップは、環境データ内のオブジェクトの識別に関する。以下の方法200のステップは、3D記述子情報の導出の形式で、各オブジェクトのセマンティック情報の導出に関連しており、後続の各方法ステップは、分類されたオブジェクトのうちの1つ以上に適用することができる。
【0047】
上記のように、分類され、3D記述子データが導出されたオブジェクトクラスは、異なるクラスおよびタイプであり得る。そのようなクラスのオブジェクトの1つは、「変形不可能な」オブジェクトである。変形不可能なオブジェクトとは、形状およびポーズが変化しないオブジェクトである(例えば、クリケットバット、またはgoalpoastなど)。別のそのようなクラスのオブジェクトは、「変形可能な」オブジェクトである。変形可能なオブジェクトとは、形状およびポーズが可変であるオブジェクトである(例えば、人間の場合、腕、脚、および頭の向きが変わる可能性がある)。識別される変形可能なオブジェクトは、画像データを収集するカメラに対してだけでなく、オブジェクトが、画像が収集される時点においてどのポーズにあるかに対しても、変化するポーズを有することとなるため、そのようなオブジェクトをモデリングすることはさらに複雑になる。人間は変形可能なオブジェクトの一例だが、他の生き物(犬、馬、鳥など)および様々な無生物(アーチェリー用の弓、やり投げのやり、ハイジャンプ用のポールなど)など、他の多くのタイプの変形可能なオブジェクトが存在することは容易に理解されよう。上記の複雑さを考えると、変形可能なオブジェクトのセマンティック/記述子情報を導出することは、変形不可能なオブジェクトのセマンティック/記述子情報を導出することよりも技術的に困難であり、一部の変形不可能なオブジェクトのセマンティック/記述子情報を導出することは、他の変形不可能なオブジェクトよりも困難である。
【0048】
例えば、変形不可能である完全な3D対称オブジェクト(剛体ボールなど)の場合、3Dセマンティック/記述子情報は3D空間において単一のポイントであり得、部分的にまたは全く対称性のない変形不可能なオブジェクトの場合、3Dセマンティック/記述子情報は3D空間において2つ以上のポイントを含み得る。例えば、やり投げのやりまたは剛体のポールは、3D空間において2つのポイントで記述することができる。変形不可能なオブジェクトが複雑になるほど、そのオブジェクトの3Dセマンティック/記述子情報を形成するために3D空間においてより多くのポイントが使用される可能性がある。ただし、変形不可能な場合、記述子情報内の3Dポイントの配置は環境に応じて変化する可能性があるが、3D空間における各ポイントの相対的な位置決めは変更されないことが理解される。任意の変形可能なオブジェクトの場合、全体的な表面の形状およびポーズが可変であるとすると、3D記述子情報には、環境に対して、および互いに対して可変の位置を持つ複数の3Dポイントが含まれる場合がある。
【0049】
3Dセマンティック/記述子情報が導出されるオブジェクト、および関連する複雑さのレベルに関係なく、同じ課題が存在し、具体的には、入力画像データのみから三次元記述子データを導出することである。この課題は、以下に説明するステップにより対処される。
【0050】
具体的には、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、方法200は、ニューラルネットワークを実装して、分類されたオブジェクト205aに対応する画像データ204a内の分類されたオブジェクト205aの特徴を識別することにより、分類されたオブジェクト205aの2Dスケルトン206aを決定すること205を、さらに含む。本発明のコンテキストにおいて、オブジェクトの「スケルトン」は、オブジェクトを複数のその代表的な要素に減少させることであると理解され、2Dスケルトンは、二次元平面内に投影されたそれらの代表的な要素を意味し、よって、分類されたオブジェクトの2Dセマンティック/記述子データを表すと理解される。上記のように、各オブジェクトを完全に記述するための3D要素の数は、数が変動し得る。それに応じて、2Dスケルトン内の2D要素の数も、分類されたオブジェクトの寸法およびポーズを完全に記述するために、必要に応じて変動する可能性がある。
【0051】
図3A図3Cおよび図4A図4Cに示す例を参照して、2Dスケルトンを導出するプロセスを以下に述べる。
【0052】
図3Aは、セマンティック/記述子データが導出される、テニスラケットとして分類されたオブジェクト300の2D画像を示している。そのような画像は、例えば、カメラ202aからキャプチャされた画像データの一部である。図3Bは、テニスラケットオブジェクト300を記述する2Dスケルトンを示している。図に示すように、オブジェクトクラス「テニスラケット」は、頂点302a、302b、302cなどの2D配置、および頂点を接続する線303a、303bなどによって記述することができる。この例では、線および頂点を組み合わせた配置が2Dスケルトン301を形成するが、2Dスケルトンは、頂点のみまたは接続線のみを参照して記述することができる。このような例では、各頂点は2D空間のX、Y座標で記述され、各線は2D空間のベクトルで記述される。頂点および線の配置、ならびに線の長さは、2Dスケルトンがオブジェクトのポーズを二次元で記述するように、画像データ内のオブジェクトの向きによって異なることとなる。
【0053】
2Dスケルトン導出の代替例を、図3Cを参照して以下に述べる。図3Cに示すように、テニスラケットオブジェクト304は、各々がテニスラケットの構成部分を表す構成サブオブジェクト304a、304b、304cの組み合わせによって記述され得る。図示の例では、サブオブジェクトは、テニスラケット300のハンドル304a、スロート304b、およびヘッド304cを表すオブジェクトを含む。これらの構成サブオブジェクトの相対的な配置および並びにより、代替の2Dスケルトンを記述することができる。例えば、あるものについて、2D空間の第1のポイントで「ハンドル」オブジェクト304a、2D空間の第2のポイントで「スロート」オブジェクト304b、および2D空間の第3のポイントで「ヘッド」オブジェクト304cを識別することができる。サブオブジェクトの配置は、2Dスケルトンがオブジェクトのポーズを二次元で記述し、したがって、2D記述子情報を表す(それ自体がオブジェクトの基礎となる2D「セマンティクス」-すなわち、構成サブオブジェクトの互いに対する配置を記述する)ように、画像データ内のオブジェクトの向きによって異なることとなる。
【0054】
任意選択で、各サブオブジェクト304a、304b、および304cはまた、各サブオブジェクトの2Dサブスケルトンを形成する複数のオブジェクトによって2Dで記述されてもよい。次に、これらのサブスケルトンを組み合わせて、より大きな、図3Bに示す2Dスケルトンなどの2Dスケルトンを形成してもよい。これは、既知のサブオブジェクトの位置合わせに基づいて、あるサブスケルトンの態様と別のサブスケルトンとを位置合わせすることによって行ってもよい。例えば、この方法は、スロートサブスケルトンの頂点の2D場所を、ハンドルサブスケルトンの別の頂点の2D場所に、両方の頂点が同じ2D場所を共有するようにマッピングすることによって、決定されたスロートサブスケルトンと決定されたハンドルサブスケルトンとを位置合わせすることを含んでもよい。
【0055】
図4Aは、セマンティック/記述子データが導出される、人間として分類されたオブジェクト400の2D画像を示している。そのような画像は、例えば、カメラ202aからキャプチャされた画像データの一部である。図4Bは、人間のオブジェクト400を記述する2Dスケルトンを示している。図示のように、オブジェクトクラス「人間」は、頂点402a、402b、402cなどの2D配置、および頂点を接続する線403a、403bなどによって記述することができる。この例では、線および頂点を組み合わせた配置が2Dスケルトン401を形成するが、2Dスケルトンは、頂点のみまたは接続線のみを参照して記述することができる。このような例では、各頂点は2D空間のX、Y座標で記述され、各線は2D空間のベクトルで記述される。頂点および線の配置、ならびに線の長さは、2Dスケルトンがオブジェクトのポーズを二次元で記述するように、画像データ内のオブジェクトの向きによって異なることとなる。
【0056】
人間のオブジェクトの2Dスケルトン導出の代替例を、図4Cを参照して以下に述べる。図4Cに示されるように、人間のオブジェクト304は、各々が人間の構成部分を表す構成サブオブジェクト404a、404b、404cの組み合わせによって記述され得る。図示の例では、サブオブジェクトは、人間400の頭404a、首404b、および胴体404cを表すオブジェクトを含む。これらの構成サブオブジェクトの相対的な配置および並びにより、代替の2Dスケルトンを記述することができる。例えば、ある人間について、2D空間の第1のポイントで「頭」オブジェクト404a、2D空間の第2のポイントで「首」オブジェクト404b、および2D空間の第3のポイントで「胴体」オブジェクト404cを識別することができる。サブオブジェクトの配置は、2Dスケルトンがオブジェクトのポーズを二次元で記述し、したがって、2D記述子情報を表すように、画像データ内のオブジェクトの向きによって異なることとなる。
【0057】
任意選択で、各サブオブジェクト404a、404b、および404cはまた、各サブオブジェクトの2Dサブスケルトンを形成する複数のオブジェクトによって2Dで記述されてもよい。次に、これらのサブスケルトンを組み合わせて、より大きな、図4Bに示す2Dスケルトンなどの2Dスケルトンを形成してもよい。これは、既知のサブオブジェクトの位置合わせに基づいて、あるサブスケルトンの態様と別のサブスケルトンとを位置合わせすることによって行ってもよい。例えば、この方法は、頭サブスケルトンの頂点の2D場所を、首サブスケルトンの別の頂点の2D場所に、両方の頂点が同じ2D場所を共有するようにマッピングすることによって、決定された頭サブスケルトンと決定された首サブスケルトンとを位置合わせすることを含んでもよい。
【0058】
オブジェクトのサブオブジェクトを識別するために、この方法は、サブオブジェクトが識別されるオブジェクトを表す画像データに対して、オブジェクト検出および分類技術を実行することを含んでもよい。これらの技術は、オブジェクトを検出するための図2に関連したそれらの前述の技術と同じであってもよい。例えば、適切に訓練されたニューラルネットワークを採用して、画像データ内のオブジェクトの特徴を検出し、該サブオブジェクトを検出してもよく、また適切に訓練されたニューラルネットワークを採用して、各検出されたサブオブジェクトを分類してもよい。
【0059】
代替的に、またはさらに、オブジェクト205aのサブオブジェクトの検出および分類は、上記の方法200におけるようなオブジェクト205aの検出および分類の一部を形成してもよく、該少なくとも1つのオブジェクトの各々が、複数の関連するサブオブジェクトを含み、該少なくとも1つのオブジェクトごとに、少なくとも1つのオブジェクトを検出することが、複数の関連するサブオブジェクトの各々を検出することを含み、少なくとも1つのオブジェクトを分類することが、複数の関連するサブオブジェクトの各々を分類することを含む。したがって、分類されたオブジェクトの2Dスケルトンを決定することが、分類されたサブオブジェクトに対応する画像データ内の複数の分類されたサブオブジェクトの各々の特徴を識別することを含む。サブオブジェクトを検出する追加のステップが、追加のニューラルネットワークによって、またはオブジェクト205aを検出および分類するために実装されたニューラルネットワーク内の追加の1つまたは複数の層として、実行されてもよい。画像データのすべてのインスタンスにおいて、より大きなオブジェクトのすべてのサブオブジェクトを識別および分類する必要があるわけではないことが理解されよう。例えば、完全な3Dスケルトンは、より小さな複数のサブオブジェクトから推測することができる。テニスラケットの場合、頭の配置は喉に関連して分かっているため、ハンドルおよび喉だけを識別して分類するだけで、より大きなオブジェクトを推測できる。さらに、画像データの一部のインスタンスにおいてサブオブジェクトが遮られている場合、それにも関わらず、異なる視点を持つ他のカメラが、それらのカメラによってキャプチャされた画像データ内でオブジェクトをキャプチャする可能性がある。このようにして、この方法は、オブジェクトの一部が遮られている場合(例えば、他のオブジェクトによって遮られている場合、または画像データを収集するカメラの視野の端で見切れている場合)でも、正常に実行することができる。
【0060】
上記の例示的な2Dスケルトンは、例示の目的で提供されるが、2D要素の任意の配置は、それらの要素が二次元でオブジェクトのサイズおよびポーズを記述するように配置され得る限り、2Dスケルトンの構築に使用され得ることが理解される。
【0061】
上述のように、2Dスケルトンの二次元的特徴の適切な位置決めを決定するために、ニューラルネットワークが使用される。ニューラルネットワークの入力は、分類されたオブジェクト205aに対応する画像データ204a(例えば、分類され検出されたオブジェクトの境界ボックス内に含まれる画像データ)であり、出力は、図3A図3Cおよび図4A図4Cに関連する上記の方法における画像データ上への2D要素の適切な配置による、分類されたオブジェクト205aを記述する2Dスケルトン206aである。畳み込みニューラルネットワークを含め、任意の適切なニューラルネットワークを決定に使用することができる。ニューラルネットワークは、2Dスケルトンの2D要素の適切な要素が手動で識別された複数の画像を含むデータの訓練セットを使用して訓練される。例えば、訓練セットの画像は、図4Bに示す方法で識別された頂点および線を有する人間の画像であり得るか、または図4Cに示す方法で識別されたサブオブジェクトの相対的な位置決めを有する人間の画像であり得る。訓練セットは、多くの様々な視点から見た様々な種類のオブジェクトのそのような画像を多数含む。
【0062】
方法200はさらに、決定された2Dスケルトン206aを3Dにマッピングすること207を含む、分類されたオブジェクトの3Dスケルトン208を構築することを含む。2Dスケルトンを3Dにマッピングするために、2Dスケルトン206aの2D要素を、2Dスケルトン内の2D要素に対応する3D要素を含む三次元スケルトン上の対応するポイントにマッピングすることができる。例えば、2Dスケルトンが首、肩、肘、臀部、膝、足、および手の配置に対してX、Y座標で記述される場合、3Dスケルトンは首、肩、肘、臀部、膝、足、および手の配置に対してX、Y、Z座標で記述され、マッピングは、各ポイントを2Dから3Dにマッピングすることを含む。したがって、3Dスケルトンは、モデリングされるオブジェクトの基礎となるセマンティクスの座標表現である。
【0063】
有利なことに、3Dスケルトン上のポイントは、3Dスケルトン上の別のポイントからの変換によって定義されてもよい。例えば、2つのポイントが座標系(X1,Y1,...)および(X2,Y2,...)のそれぞれの値で表される場合、第2のポイントは(X2,Y2,...)=T12(X1,Y1,...)として定義することができ、ここで、T12は、第1のポイントから第2のポイントへの好適な変換である(例えば、デカルト座標でのx変換、y変換、もしくはz変換によって定義されるか、または極座標での長さ、方位角、および傾斜の変更)。第3のポイント(X3,Y3,...)は、(X3,Y3,...)=T13(X1,Y1,...)となるように、第1のポイントに対して変換T13を適用することによって)、または代わりに、(X3,Y3,...)=T23(X2,Y2,...)となるように、第2のポイントに対して変換T23を適用することによって、同様に定義することができる。したがって、第3のポイントは、第1のポイントにおける2つの連続的な変換によって定義することができ、すなわち、(X3,Y3,...)=T2312(X1,Y1,...)となる。したがって、有利には、3Dスケルトンは、アンカーポイントおよび複数の子ポイントを含み、各子ポイントは、アンカーポイントまたは複数の子ポイントのうちの別の子ポイントへの変換を適用することによって定義される。したがって、子ポイントごとに、変換は、ルートポイントからの単一の変換、またはルートポイントに再度適用される、連続して適用される一連の変換とすることができる。したがって、3Dスケルトンは、ルートポイントの配置に対して定義された1つ以上の「チェーン」またはポイントのネットワークで表すことができる。したがって、ルートポイントを3D空間に正確に配置することにより、3Dスケルトンの残りのポイントも3D空間内に配置することができる。2つの座標間の変換は、座標系内の各ポイントを定義する値を変更することによって理解されよう。
【0064】
さらに、3Dスケルトンの各ポイントは、三次元空間内でポイントを定義するために6つの値を有する座標系内で定義され得る。6つの値は、3D空間におけるポイントの絶対位置を定義する、3つの並進の値(例えば、up/down、left/right、forward/backward、または同様の長さ、方位角、傾斜)、および3D空間におけるポイントの向きを定義する、3つの回転値(ピッチ、ヨー、およびロール)を含む。
【0065】
このような座標系では、スケルトン上の1つのポイントからスケルトン上の第2のポイントへの変換は、6つの値の変化によって定義することもできる。例えば、第2のポイントは、一次元、二次元、または三次元での並進、および/または1、2、または3軸を中心としたポイントの再方向付けによって定義することができる。よって、変換時に、3Dスケルトンの各子ポイントは、別のポイントに対する三次元空間内の絶対位置のシフトによってだけでなく、別のポイントに対する向きの変更によっても記述することができる。したがって、各子ポイントは関連する変換によって定義され、子ポイントが別の子ポイントに対する変換によって定義される場合、結果は、ルートポイントに適用される位置および向きの連続的な変換と同等になる。ルートポイントは、環境または別のオブジェクトに対する各パラメータの値を指定することによって定義することができる。ルートポイントの位置は、ユーザが指定することも、上記の方法に従って画像データから決定することもできる。
【0066】
任意の好適な方法を使用して、2Dスケルトン206aを3Dにマッピングすることができ、ここでは、決定された2Dスケルトンを3Dにマッピングすることが、決定された2Dスケルトンに統計的および/または確率論的方法を適用すること、および統計的方法にホロノミックな拘束を適用することを含み、その結果、3Dポイントのモデルとなる。統計的および/または確率論的方法を適用することは、拡張カルマンフィルタ、粒子フィルタ、無香料カルマンフィルタ、格子分割フィルタなどの非線形推定器を、例えば、2Dスケルトンの決定されたポイントに適用して、3Dスケルトン上の対応ポイントを決定するための三次元へのマッピングのための推定を提供することを含み得る。これらの推定技術は、モデルにホロノミックな拘束を適用することによって制約することができる。
【0067】
ホロノミックな拘束は、システム内のそれらの空間(および任意選択で時間)座標の可能な値を制約する、システムの空間(および任意選択で時間)座標間の既知の関係であると理解される。例えば、半径aの剛体のボールを考えると、ボールの表面のx、y、z座標は、方程式x2+y2+z2=a2によって制約される。本発明では、各分類されたオブジェクトに対して好適なホロノミックな拘束を適用して、上記の推定方法を制約することができる。上記のボールの例に加えて、他の機器にも適切なルールを持たせられることが理解されよう(例えば、剛体のポールの長さに沿ったポイントは、細長い剛体を記述する方程式によって制約され、テニスラケットのヘッドは、ラケットのハンドルに関連して特定の場所に配置され、以下でより詳細に説明するように、人体の解剖学的制限は、ホロノミックな拘束を形成するための方程式によって記述することができる)。いずれの場合も、該ホロノミックな拘束は、2Dスケルトンのポイントに適合し得る、可能性のある3Dスケルトンのパラメータ空間を削減するための方程式として採用される。
【0068】
具体的には、3Dスケルトンがルートポイントおよび複数の子ポイントによって記述される例を考えると、ホロノミックな拘束は、3Dスケルトンのポイント間で値が変動する可能性のある制限、およびそれらが変動する量を定義することができる。具体的には、ホロノミックな拘束は、変換を行う際に変更できる値の数(すなわち、変換の自由度)、および任意の変化で各自由度内に配置される範囲を定義することにより、各子ポイントを定義する変換を制約することができる。(例えば、変換のヨーが角度範囲内で固定されるか、または2つのポイント間の絶対長が固定される)。したがって、ホロノミックな拘束は、各子ポイントを定義する変換の自由度、および/または変換の各自由度の可能な値の範囲を定義するとみなすことができる。ホロノミックな拘束を記述する方程式および/またはパラメータは、3Dスケルトンのリアルタイム決定で使用するために好適なデータベースから取得することができる。
【0069】
代替として、または上記の統計的および/または確率論的方法と組み合わせて、ニューラルネットワークの使用を含む、2Dスケルトン206aを3Dにマッピングするための他の好適な方法を使用してもよい。ニューラルネットワークの入力は、分類されたオブジェクト205aの2Dスケルトン206aであり、出力は、3D要素の適切な配置によって分類されたオブジェクト205aを記述する3Dスケルトン208である。畳み込みニューラルネットワークを含め、任意の適切なニューラルネットワークを決定に使用することができる。ニューラルネットワークは、2D要素から3D要素へのマッピングの複数の例を含むデータの訓練セットを使用して訓練される。このデータは手動で識別されていてもよく、または、3Dスケルトンおよび2Dスケルトンは、オブジェクトの2Dおよび3Dの同時観測によって決定されていてもよい(3D観測は、適切なモーションキャプチャ技術を介して実装することができる)。訓練セットは、多くの様々な視点から見た様々な種類のオブジェクトの多くの様々な2Dおよび3Dスケルトンを含む。
【0070】
上記のように、人間は「変形可能な」オブジェクトとしてクラス分けすることができる。変形可能なオブジェクトの2Dおよび3Dスケルトンの検出、分類、および構築は、上記と同じ方法で、つまり、単数または複数のニューラルネットワークの実装により、そのニューラルネットワークの適切な訓練を通じて、実行することができる。具体的には、ニューラルネットワークは、様々な視点における様々な種類のオブジェクトを用いてだけではなく、各オブジェクトが変形できる規模を表す多種多様な異なるポーズで訓練される(例えば、人間の場合、人体の動きの全範囲内における様々な位置を実証する、多くの例が使用される)。
【0071】
変形可能なオブジェクトのモデリングは、変形不可能なオブジェクトのモデリングよりも困難だが、人間は、モデリングが特に難しいオブジェクトを表している。これは、人体の各要素の位置の可能な範囲に起因して、人間の解剖学的構造は大きな自由度(200超)を有するためである(アーチェリーで使用される弓などのより単純で変形可能なオブジェクトと比較して)。具体的には、2Dスケルトンから3Dスケルトンへのマッピングは難しい場合があり、これは、多くの角度で2D要素が非常に近接している可能性があり、2Dポイントから3Dスケルトンへの、複数の可能性があるマッピングが存在し得るためである。したがって、2Dから3Dへのマッピングにはかなりの自由度があり得、マッピングの複雑さが増加する。
【0072】
それにも関わらず、例を参照して上記で説明したように、方法200は、少なくとも1つの検出されたオブジェクト205aを分類することが、少なくとも1つの検出されたオブジェクトのうちの第1の検出されたオブジェクトを人間のオブジェクトとして分類することを含むように実装される。上記の問題は、決定された2D人間スケルトンを3Dにマッピングするための適切な方法体系によって対処することができる。具体的には、決定された2Dスケルトンを3Dにマッピングすることが、決定された2Dスケルトンに統計的および/または確率論的方法を適用し、統計的および/または確率論的方法に人間の解剖学的なホロノミックな拘束を適用して、3Dポイントのモデルを提供することを含む。上記のように、統計的および/または確率論的方法を適用することは、拡張カルマンフィルタ、粒子フィルタ、無香料カルマンフィルタ、格子分割フィルタなどの非線形推定器を、例えば、2Dスケルトンに適用して、三次元へのマッピングのための推定を提供することを含み得る。これらの推定技術は、3Dポイントのモデルにホロノミックな拘束を適用することにより制約することができる。
【0073】
上記のように、ホロノミックな拘束は、2Dスケルトンを3Dに適合させるときに可能なパラメータを制約する方程式を含む。人間の解剖学的構造に対するホロノミックな拘束は、ポイントのシステム全体に対する制約を含み得るか(例えば、既知の人間の空間比率に基づいてすべてのポイントの互いに対する配置を同時に指定する)、またはホロノミックな拘束は、3Dスケルトン上のポイントの特定のペアもしくはグループに適用され得る。例えば、ある人間の解剖学的なホロノミックな拘束は、例えば、ポイント間の角度、もしくは他のポイントに対するいくつかのポイントの3D場所などの、3D骨格関節の次元に制限を課すことができるか(例えば、膝関節は一方向にのみ曲がることとなるか、膝関節は足と臀部との間に位置する必要がある)、またはホロノミックな拘束により、ポイント間の長さの上限もしくは下限を設定することができる(例えば、解剖学的に不可能な足首と膝との間の距離を除外する)。よって、ホロノミックな拘束の適用により、適合の問題の次元が客観的に減少し、適合の速度および精度が向上する。人体は200超の自由度を有するが、この方法は、人体のポーズおよび位置を正確に推定するために、より少ない自由度(例えば、58)で実装することができる。例えば、足には20超の自由度(つま先の動きなど)があり、脊椎には60超の自由度がある。足の自由度は、これらの自由度が靴によって遮られるため、本発明の目的のために考慮しなくてもよい。脊椎の場合、環境に対する人間のオブジェクトの正確な配置、または脊椎に対するサブオブジェクトの正確な配置には、脊椎のすべての自由度の精密さは必要ないため、自由度をはるかに低い数値(例えば、3)に減らすことができる。
【0074】
ホロノミックな拘束の適用例として、3Dスケルトンのポイントがアンカーポイントおよび複数の子ポイントを含む例を再度考える。上でさらに特定されたように、ホロノミックな拘束は、子ポイントごとに、自由度の数および/または各自由度の値の範囲を定義する。したがって、人間スケルトンのコンテキストでは、ホロノミックな拘束により、人間の解剖学的パラメータ内で3Dスケルトンを制約することができる。例えば、ホロノミックな拘束は、人体の関節の限られた範囲の動きを説明して、体の骨の固定長を説明するために、3Dポイントの適合を制約することができる。
【0075】
例えば、人間の腕の肘および手首の関節の定義について考える。手首の関節は、前腕で定義された距離だけ肘の関節から離れている(例えば、橈骨または尺骨の長さを参照)。ただし、手首の関節は、肘の関節に対して、手首の関節の軸を中心に(回内および回外、手の回転につながる)、前後方向に(屈曲および伸展、前後にはためく手につながる)、ならびに左右方向に(橈側偏位および尺骨偏位、手を振る動作につながる)に回転することもできる。これらの回転の各々は、可能な値の範囲に制限される(例えば、橈側偏位は25~30度の範囲内である可能性があり、尺骨偏位は30~40度の範囲内である可能性がある)。したがって、手首関節を定義するために、肘関節からの変換を定義する方程式およびパラメータは、設定値内の並進変換および回転変換の値のみを許可するように制約されることとなる。他の関節は、肩に関連して回転しないため、肩に対する肘関節の相対的な向きを考慮する必要はない肘関節など、様々な面で次元を減らすことができる。
【0076】
このようなホロノミックな拘束を適用すると、3Dスケルトンが記述する身体の客観的な実世界の制約を考慮に入れることによって、2Dスケルトンのポイントから3Dスケルトンを適合させるときに考慮する必要のある自由度の数を大幅に減らすことができる。さらに、上記で特定したように、スケルトンの別のポイントに変換を適用して3Dスケルトンの各ポイントを定義することにより、問題の複雑さがさらに軽減される。具体的には、各3Dポイントの適合は、スケルトン内のすべてのパラメータの同時適合を試みる、または直接接続されていない3Dスケルトンのポイントにホロノミックな拘束を適用しようと試みるという、より複雑な問題ではなく、3Dスケルトン内で接続されている3Dポイントに関連してのみ適合および制約される。また、上記のように、変換の適用および変換の適用内におけるホロノミックな拘束の考慮により、3Dスケルトンのセクションをチェーンまたはネットワーク内のポイントのサブセットに分離することができ、各サブセットはルートポイントから発生する。3Dスケルトンのこれらのセクションの各々は、精度を損なうことなく、スケルトンのセクションとは独立して適合かつ制約することができる。
【0077】
統計的および/または確率論的方法に対するホロノミックな拘束は、人間のオブジェクトのコンテキストにおいて上記で論じられているが、適切なホロノミックな拘束の使用を通じて、他の変形可能なオブジェクトの2Dスケルトンから3Dスケルトンへのマッピングに同様の方法を適用することができることが理解される。例えば、他の動物の場合、使用されるホロノミックな拘束は、動物の解剖学的ホロノミックな拘束(例えば、犬または馬などに対するもの)にすることができる。別の例として、好適な構造的ホロノミックな拘束を変形可能な無生物に適用することができる。例えば、アーチェリーの弓は、1つの平面において大幅に変形可能となる(弦の引っ張りをモデリングするため)。人間のオブジェクトに関して上記で説明したように、ホロノミックな拘束は、例えば、3Dスケルトンのポイント間の角度、もしくはスケルトン内の他のポイントに対するいくつかのポイントの3D場所などの、3Dスケルトンの態様の次元に制限を課すことができるか(例えば、アーチェリーの弓では、弓の先端は内側に弾性的に圧縮可能だが、外側には圧縮できず、または弓のグリップは、足と臀部との間に配置する必要がある)、またはホロノミックな拘束により、ポイント間の長さの上限もしくは下限を設定することができる(例えば、物理的に不可能である、弓のグリップと先端との間の距離を除外する)。よって、ホロノミックな拘束の適用により、適合の問題の次元が客観的に減少し、適合の速度および精度が向上する。
【0078】
上記で論じたホロノミックな拘束は、空間内のポイントの制限を定義するために提供されているが、前述のように、ホロノミックな拘束は、既知の運動学的挙動(例えば、走る、歩く)中のオブジェクトの要素が時間の経過とともにどのように変動するかを制約する時間依存性の方程式を等しく指定することができる。運動学的モデルへの適用については、後で詳しく論じる。
【0079】
統計的および/または確率論的方法の使用の代替として、分類された人間のオブジェクトの場合、決定された2Dスケルトンを3Dにマッピングすることが、ニューラルネットワークの実装を含む。上記のように、好適なニューラルネットワーク(例えば、畳み込みニューラルネットワーク)は、幅広い様々なポーズの人間の多くの例を含む、十分に大きなデータセットを介して訓練することができる。
【0080】
上記の方法の結果として、システムは、入力画像データから、追加の専用機器または計算集約的なピクセルごとの処理の必要なしに、環境内で検出されたオブジェクトを正確に記述する3D記述子情報を生成することができる。次に、システムは、この3D記述子情報を利用して、画像データ内で検出されたオブジェクトに関する幅広い様々な情報を導出してもよい。例えば、オブジェクトの3D記述子情報を使用して、環境内の他のオブジェクトに関するおよび3D環境自体に関する、オブジェクトの詳細な配置を導出することができる。例えば、サッカーの試合のコンテキストでは、複数のプレーヤーおよびサッカーの3D記述子情報を3D環境と比較して、特定の配置基準が遵守されているかどうかを正確に判定し得る(例えば、オフサイドルールの遵守)。配置基準は試合の規則によって決定され得るが、実世界のオブジェクトがそのような配置基準を満たしているかどうかの正確な判定は、依然として本発明によって解決される重要な技術的課題である。
【0081】
さらに、3D記述子情報は、環境内で検出されたオブジェクトの他の特性および/またはプロパティを判定するために使用され得る。これらの特性は、時間順に並べられたデータの時間的情報を使用して4D記述子データから判定することもできる(これについては以下で詳しく説明する)。例えば、任意の1つの検出されたオブジェクトの速度および/または加速度を正確に判定し得る(例えば、同じコンテキスト内のオブジェクトの既存の記録との比較のため)。別の例として、変形可能なオブジェクトの動きを判定することができる(例えば、最大関節角度、プレーヤーが特定のポーズおよび姿勢をとるときの手足の向き)。さらに、オブジェクト間の近接性および相互作用を正確に記録し得る(例えば、ジャンプの高さ、プレーヤーがボールに接触した回数、プレーヤーがボールを占有していた時間の長さ)。特性および/またはプロパティは、任意の好適な事前にプログラムされた方程式によってリアルタイムで(そして3Dデータの判定と同時に)自動的に判定されてもよいが、モデルの計算後にオペレータによって手動で判定されてもよい。したがって、任意選択で、この方法は、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、分類されたオブジェクトの構築された3Dスケルトンを使用して、分類されたオブジェクトのプロパティを導出することをさらに含んでもよい。プロパティは、例えば、カメラに対する分類されたオブジェクトの位置に関する三次元場所情報を含み得るか、またはサブオブジェクトもしくは同じ分類されたオブジェクトの他のサブオブジェクトに対する分類されたオブジェクトのサブオブジェクトの、3D場所データを含み得る。
【0082】
有利には、この方法はまた、構築された3Dスケルトン208と分類されたオブジェクトに対応する3Dモデルとを統合することを含む、分類されたオブジェクト205aの3Dアバター210を構築することをさらに含む。3Dモデルは、モデリングされるオブジェクトの表現であり、そのオブジェクトの表面を表す高解像度の表面テクスチャを含むことができる。3Dモデルは、構築された3Dスケルトン208に対応する3D要素を含むことができる。よって、3Dモデルが構築された3Dスケルトン上に直接マッピングして、画像内のオブジェクトのサイズおよびポーズ情報の表現を含む、オブジェクト205aの3D表現を作成するように、単純なマッピングを実装することができる。3Dモデルは事前にレンダリングされているため、「オンザフライ」で生成する必要はない。上記のように、生成されるリアルタイムの構成要素データは、2D記述子データおよび3D記述子データのみである。このような中間記述子データの導出は、3Dモデルの記述に使用される大量のデータにより、3Dシーンの直接的なピクセルごとの再構築よりも計算が大幅に高速かつ簡単である。よって、上述の方法200は、より簡単で計算効率の高い方法で、画像データからオブジェクトの正確な3D表現を導出するという目的を達成する。
【0083】
さらに、この方法では、低解像度の入力画像データから高解像度の3D画像を生成することができる(これは、既存の技術の使用では不可能である)。つまり、3Dシーンのピクセルごとの分析および再構築の場合、最終的な出力モデルの画像解像度は、入力画像データの解像度によって制限されることとなり得る。例えば、サッカーの試合でキャプチャされた画像データが低解像度の画像またはテレビフィードからのビデオで構成されている場合、シーンの最終的な出力モデルはそれに応じて制限されることとなり得る(すなわち、3D/4Dモデルは入力データよりも高い解像度で作成され得ない)。対照的に、上記の本発明の方法は、低解像度のテレビ画像から直接最終モデルを構築することはないこととなり得る。低解像度のテレビ画像は、3D記述子データを導出するためにのみ使用され、その上に、事前に生成された高解像度の3Dモデルをマッピングすることができる。高解像度の事前に生成されたモデルは、例えば、写真測量技術を使用したオブジェクトの3Dスキャンによって生成することができる。
【0084】
事前に生成されたモデルは、データベースで維持される一般的なモデルであり得るか、または有利には、本発明の方法自体は、3Dスケルトンにマッピングするためのオブジェクトの一意の3Dモデルを事前に生成するプロセスも含み得る。すなわち、本明細書に記載の方法は、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、写真測量システムを使用して分類されたオブジェクトの3Dモデルをキャプチャするステップをさらに含み得る。具体的には、この方法は、分類されたオブジェクトに対応する3Dモデルを、画像データの解像度よりも高い解像度でキャプチャすることをさらに含み得る。
【0085】
上記の方法は、1つのクラスのオブジェクトのモデリングに限定する必要はなく、少なくとも1つの検出されたオブジェクトを分類することが、少なくとも1つの検出されたオブジェクトのうちの第2の検出されたオブジェクトを人間以外のオブジェクトとして分類することを含む。オブジェクトが分類された後、分類されたオブジェクトの適切な分析のために適切なニューラルネットワークが識別される。
【0086】
方法200は、1つのカメラ202aによって収集された環境の画像データに関連して上で説明された。この方法は、複数のカメラから画像データを収集することで改善することができる。つまり、同じ環境のさらなる画像データ204b、204c...204zが収集され得る。追加の画像データの各インスタンスは、それぞれのものである追加のカメラ202b、202c...202zから収集される。カメラ202aについて上で説明したように、追加の各カメラ202b、202c…202zは、2Dカメラ、2Dビデオカメラ、3D深度カメラ、3D深度ビデオカメラ、光検出および測距(LIDAR)を含む(ただし、これらに限定されない)、画像データを収集するのに好適な任意のビジョンシステムであり得る。これにより、カメラ202aは、適切な画像データ204a(例えば、2D画像、2Dビデオ、3D画像、3Dビデオ、LIDARデータ)を作成する。各カメラは環境に対して異なる位置に設置され、画像データの各インスタンスはそれに応じて環境の代替表現を提供する(例えば、異なる位置、異なる角度、異なる視野など)。よって、検出され、分類され、かつモデリングされるオブジェクトは、シーンを表す画像データの複数の代替インスタンスで描写され得る。
【0087】
上記の方法200の各ステップは、さらなる画像データ204b、204c...204zの各インスタンスに適用されて、さらなる画像データ204b、204c...204zのそれぞれのインスタンスにおける特定の分類されたオブジェクト205b、205c...205zを識別することができる。同じオブジェクトは、方法が、異なる視点から提供された画像データに基づいて分類された、同じオブジェクトの複数のインスタンス205a....205zを提供することを含むように、画像データの各インスタンスに分類される。したがって、この方法は、少なくとも1つのオブジェクトを検出することが、各カメラから収集された画像データ内の該少なくとも1つのオブジェクトを検出することを含み、少なくとも1つのオブジェクトを分類することが、各カメラからの画像データ内で検出された該少なくとも1つのオブジェクトを分類することを含む点で、改善される。
【0088】
さらに、各分類されたオブジェクトについての2Dスケルトンを決定することが、複数の2Dスケルトンを決定することを含み、該複数の2Dスケルトンの各々が、複数のカメラのうちの異なるカメラから収集された画像データ内の分類されたオブジェクトの特徴を識別することから決定される。したがって、画像データ204a、204b....204zの各インスタンス内でオブジェクトを分類することにより、この方法では、1つのオブジェクトの2Dスケルトンの複数のバージョン206a、206b...206zを決定することができ、各2Dスケルトンは、分類されたオブジェクトのそれぞれの異なるインスタンス205a、205b..205zを記述するため、画像データから決定された記述子データの洗練が可能になる。各カメラ202a....202zの位置および向きを記述する情報は、この方法に既知であり、したがって、画像データの各インスタンスをそのソースに関する情報と関連付けることができる。この情報は、受信した画像データに含まれてもよく、または情報は、方法の開始前に事前に決定されてもよい。
【0089】
この方法はさらに、3Dスケルトンを構築することが、決定された複数の決定された2Dスケルトンを組み合わせることを含む。同じ2Dスケルトンの複数のビューを提供するが、異なる視点から、分類されたオブジェクトの各要素を3D空間で三角測量し、よって、2Dスケルトンを3Dスケルトンにマッピングする際に利用できる自由度が制約される。異なるカメラで識別されたオブジェクトおよび/またはサブオブジェクト間の対応、ならびに各カメラの場所に対するオブジェクトまたはサブオブジェクトの3D場所を三角測量するために利用されるそれらのカメラ間の関係が識別される。
【0090】
例えば、画像データ204aのインスタンスから決定された、決定された2Dスケルトン205a上の特定のポイントについて、画像データ204aのそのインスタンスをキャプチャするために使用されるカメラ202aの場所のX、Y、Z座標から、決定される特定のポイントの場所を通って線を引くことができる(すなわち、画像平面上の2D場所を通って延びるカメラ場所からのベクトル)。同様のプロセスが各カメラ202b、202c...202zに対して実行され、複数の3Dベクトルが得られる。すべての線までの距離が最小の3D空間内のポイント(ユークリッド距離またはマハラノビス距離など)は、2Dスケルトン上の特定のポイントの3D座標として決定される。このプロセスは、2Dスケルトン上のすべてのポイントに対して繰り返され、3Dスケルトンを構成する複数の3Dポイントを構築する。上記の方法は単なる例示であり、任意の好適な統計的および/または確率論的方法を適用して、複数の2Dスケルトンを同じ3Dスケルトンにマッピングするように、既知の位置にあるカメラから収集された2Dの複数の対応するポイントから3D空間のポイントに同時にマッピングすることができることが理解されよう。以下でより詳細に述べるように、この方法体系は、時変画像データの収集および時間にまたがる決定された2Dスケルトンを通じて洗練することができる。
【0091】
上記で特定された方法は、大幅に改善された計算効率で実行することができる。具体的には、ピクセルごとの比較によるアプローチでは、複数のカメラ間の対応を見つけるには、画像データの様々なインスタンスにおいて数百万のピクセル間の対応を見つけることを試みる必要がある(これには数兆の比較が行われる必要である)。対照的に、本方法は、決定された2Dスケルトンの要素間の対応を確認することを含む(これは、オブジェクトに応じて、1要素から1000要素までのどこかにある可能性がある)。よって、3Dスケルトンの最終要素を決定するために必要な比較は大幅に少なくなる。
【0092】
複数の2Dスケルトンからのポイントの三角測量を達成するために、任意の好適な推定器モデルを実装することができることが理解されよう。例えば、非線形の統計的および/もしくは確率論的モデルを実装することができ、ならびに/または好適に訓練された(例えば、上記の複数の線から3Dポイントを三角測量するように訓練された)ニューラルネットワークを実装することができる。
【0093】
典型的には、三角測量では、3D空間内の単一のポイントを正確に推定するために、少なくとも2つのカメラの提供が必要だが、使用するカメラが多いほど、最終的な決定はより正確になる。上記の方法は、三角測量技術なしで単一のカメラを使用することによって可能である。単一の画像から三角測量を行うことはできないこととなるが、システムは依然として、画像データの単一のインスタンスから各オブジェクトを正確に識別および分類でき、さらに、各個々の要素が、スケルトンの他の要素の組み合わせで存在し、よって、マッピングされる特定のスケルトン内の任意の1つのポイントの自由度が制約されるため、2Dスケルトンの各2D要素を正確に識別し得る。画像データの単一のインスタンスへの2Dスケルトンの適合の精度は、高密度マッピング技術を含む任意の数の補助的な方法によって補完することができる。これらの同じ補助的な方法を使用して、異なるカメラからの画像データの複数のインスタンスからの2Dスケルトン決定の精度を向上させてもよい。上記の方法は、単一のカメラまたは複数のカメラからの静止画像データによって描写されたオブジェクトを表す3Dモデルの構築を説明した。それにも関わらず、上記の方法は、方法の各ステップを時間順に並べられたフレームのシーケンスの個々のフレームに適用することによって、時間順に並べられたフレームのシーケンスを含むビデオ画像データに適用することもできる。したがって、最終的に導出された記述子データは、時間的に任意の空間的に分類されたオブジェクトを記述する3D記述子データの複数の時間順に並べられたセットを含む。次に、3D記述子データを使用して、画像データ内に描写されたオブジェクトの4Dモデル(すなわち、時間的3Dモデル)を構築することができる。例えば、時間順に並べられたフレームのシーケンスは、サッカースタジアムに設置されたカメラからのライブビデオフィードである可能性がある。本明細書で説明する方法ステップは、ライブビデオフィードのフレームにリアルタイムで適用して、4Dモデルのリアルタイム生成を可能にすることができる。
【0094】
洗練された方法500を図5に示す。この図では、上記の方法200のステップが、少なくとも1つのカメラの各カメラから収集された画像データ502に適用され、該画像データ502は、時間順に並べられたフレームのシーケンス502a、502b、502c...502zを含む。図2に関して上で述べたのと同じ方法で、環境内のオブジェクトの検出および分類は、時間順に並べられたフレームのシーケンス502a、502b、502c...502zの個々のフレーム(例えば、502aまたは502b)に適用される。したがって、環境内の少なくとも1つのオブジェクトの該検出が、時間順に並べられたフレームのシーケンス504a、504b、504c...504zの各フレームにおいて該少なくとも1つのオブジェクトを検出することを含み、少なくとも1つの検出されたオブジェクトの該分類が、フレーム504a、504b、504c...504zのシーケンスの各フレームにおいて少なくとも1つの検出されたオブジェクトを分類することを含む。結果として、この方法は、時間順に並べられた、一連の分類されたオブジェクト504a、504b、504c...504zを提供する。図示の例では、単一のオブジェクトが論じられており、分類されたオブジェクト504a、504b、504c...504zの各々は、異なる時点で識別されているが、同じ分類されたオブジェクトである。方法500はまた、時間順に並べられたフレームのシーケンスにおいて複数のオブジェクトを識別することができ、分類された少なくとも1つのオブジェクトの各分類されたオブジェクトは、時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされることが理解される。各オブジェクトは方法500によって分類されるため、この方法は、画像データ内の各オブジェクトを識別することができ、したがって、複数のフレームにわたってオブジェクトを個別にトラッキングすることができる。
【0095】
有利なことに、各分類されたオブジェクトが、再帰的推定器を実装することによって、時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされる。このようにして、第1のフレーム502aにおけるオブジェクト504aの分類は、第2のフレーム502bにおけるオブジェクト504bの分類を支援するための方法によって使用される。例えば、オブジェクト504bを検出するためのプロセスの場合、検出方法への入力は、画像データ502bの個々のフレーム、ならびにオブジェクト504aの検出および分類のステップの出力505aの両方を含む。したがって、オブジェクト504bの検出および分類は、前の時間インスタンスにおけるオブジェクトの検出および分類の出力によって洗練される。同様に、オブジェクト504bの検出および分類の出力505bを使用して、オブジェクト504cの検出および分類を洗練することができる。任意の形式の統計的および/または確率論的方法を再帰的推定器として使用してもよく、ある時点からのデータを次の時点での導出情報への入力として使用することができる。そのような再帰的推定器の1つは、ニューラルネットワークであり得る。
【0096】
このようなトラッキングは、「オブジェクト」トラッキングとして既知である。オブジェクトトラッキングは、モーションモデルトラッキング(カルマンフィルタ、Kanade-Lucas-Tomashi法(KLT)、平均シフトトラッキング、およびオプティカルフロー計算を含む)、ならびにビジョンベースのトラッキング(オンラインおよびオフラインの畳み込みニューラルネットワーク(CNN)、畳み込み長短期記憶(ConvLSTM)などのディープニューラルネットワークのアプリケーションを含む)を含む、様々な方法のうちのいずれかで達成することができる。
【0097】
このようなトラッキング方法の実装は、同じクラスの複数のオブジェクトが単一のビデオストリーム内に存在するインスタンスにおいて有利である。典型的な検出および分類方法では、同じクラスの2つのオブジェクトの存在を正確に識別でき、2つのオブジェクトを同じクラスのオブジェクトの一意のインスタンスとして認識できる場合がある。ただし、同じ2つのオブジェクトのさらなる例を含む第2の画像が提示された場合、方法はどちらのオブジェクトがどちらであるかを識別できない場合がある。方法500は、先行するフレームのコンテキスト内で各フレームのオブジェクト検出および分類を洗練することにより、画像データの個々のフレーム内の各分類されたオブジェクトを一意に識別することができる。
【0098】
しかしながら、同じクラス内のオブジェクトのグループが特定の瞬間に近接してくる場合の例では、該特定の瞬間の後に該オブジェクトが分離した後、オブジェクトは、もはや一意にトラッキングされない可能性がある。したがって、オブジェクトをトラッキングするだけでは、頻繁に近接してくる様々なオブジェクトを一意に区別するのに十分でない場合がある。方法500は、上記のオブジェクト識別ステップを適用することによってこの可能性に対処するように洗練され得、近接のインスタンスの間および後でさえ、個々のオブジェクトの一意の識別の精度を改善する。代替的に、またはさらに、異なる位置に配置された(そして異なる視点を有する)追加のカメラからの画像データを、上記の複数のカメラの追加のカメラとして方法に組み込んでもよい。
【0099】
さらに代替的に、またはさらに、この方法は、画像データのリアルタイム処理の観察者からの入力を受信することを含み得、観察者は、近接の瞬間の直後の期間に、各分類されたオブジェクトをサブクラスに手動でタグ付けすることができる。その後、該オブジェクトのトラッキングは、各時間インスタンスにおいて各オブジェクトを再び一意に識別することができるようになる。手動のタグ付けは、方法の開始時に発生してもよく、インスタンス化からのトラッキングを確実にするために分類されたオブジェクトの最初の識別時に、各分類されたオブジェクトを一意に識別することができる。
【0100】
図2に関して上で述べたのと同じ方法で、2Dスケルトンを決定するステップは、分類されたオブジェクト504a、504b、504c...504zの時間順に並べられたシーケンスの個々の分類されたオブジェクト(例えば、504aまたは504b)に適用されて、2Dスケルトン506a、506b、506c...506zの時間順に並べられたシーケンスを生成する。同様に、かつ図2に関して上で述べたように、3Dスケルトンを構築するステップは、分類されたオブジェクト506a、506b、506c...506zの時間順に並べられたシーケンスの個々の決定された2Dスケルトン(例えば、504aまたは504b)に適用されて、3Dスケルトン508a、508b、508c...508zの時間順に並べられたシーケンスを生成する。
【0101】
有利なことに、分類されたオブジェクトごとに、決定された2Dスケルトンを3Dにマッピングすることが、時間順に並べられたフレームのシーケンスの全体にわたって再帰的推定器を適用することを含む。このようにして、最初のインスタンスで導出された3Dスケルトン508aは、後の時点のインスタンスにおいて同じオブジェクトの第2の3Dスケルトン508bの導出へのさらなる入力509aとして使用される。このような時間的情報を使用により、動いているオブジェクト上に3Dスケルトンの配置を導出するという複雑な問題について、さらに高い精密さおよび精度が提供される。これにより、3D機能の特定の配置を除外することによって方法を洗練するだけでなく(例えば、人体が1秒足らずの間でボールを蹴るために脚の動きを実行することは物理的に不可能であり得る)、よく認識されている動きに検出された動きをマッピングするのにも役立つ(例えば、ボールを蹴る動きにはよく観察された動きのパターンがあり、3D機能の時間依存性の配置に適合させることができる)。任意の形式の統計的および/または確率論的方法を再帰的推定器として使用してもよく、ある時点からのデータを次の時点での導出情報への入力として使用することができる。再帰的推定器の例は、ニューラルネットワーク(畳み込みニューラルネットワークなど)である。このようなニューラルネットワークは、様々な異なる動きを経験するオブジェクトを観察することによって収集された時間依存性の3D入力データを使用して訓練される。例えば、人間はモーションキャプチャ技術を使用して再コード化することができる(例えば、個人に光学マーカを配置し、その個人が様々なアクションを実行するのを観察する)。
【0102】
上で論じたように、ホロノミックな拘束を統計的および/または確率論的方法に適用して、空間内のシステムの座標を制約することができる。有利なことに、再帰的推定器は、時間にまたがる(すなわち、4Dでの)3Dスケルトンの適合のために時間依存性のホロノミックな拘束を実装することもできる。時間依存性のホロノミックな拘束は、運動学的モデルによって実装され、時間順に並べられたフレームのシーケンスの全体にわたって3Dスケルトンのポイントを制約する。運動学的モデルは、3Dスケルトンのポイントまたはポイントのグループの3D座標を時間の経過とともに表す。したがって、時間tで3Dスケルトンのこれらのポイントを適合させようとすると、これらのポイントの使用可能な値は、物理的なホロノミックな拘束(上記で詳述)によってだけでなく、前の時間t-1でのこれらのポイントの決定された値、および時間tと時間t-1とのポイントの間の関係を定義する運動学的モデルによっても制約される。運動学的モデルの例としては、人間が様々な活動(例えば、ランニング、ウォーキング、テニスラケットによるボールのサーブなど)に従事するときの、人体の様々なポイントの時間の経過に伴う動きを記述する方程式があり得る。他の運動学的モデルとしては、力(例えば、ハイジャンプのポールまたはアーチェリーの弓)の適用下での非剛体の弾性変形を記述する方程式があり得る。さらに、運動学的方程式は、オブジェクトと外部環境との相互作用(例えば、重力の影響下での3D空間を介したボールなどのオブジェクトの動き、または平面上で跳ねるまたは転がるボールの動き)を記述し得る。
【0103】
3Dスケルトンの時間依存性のホロノミックな拘束の実装の一例は、方程式を考慮して、隠れマルコフモデルの使用を介することである。
t=fh(Xt-1,ut) (1)
t=gc(Xt) (2)
式中、Xtは、オブジェクトhの3Dスケルトンの要素の状態のベクトルである(例えば、人間のオブジェクトの場合、Xtは、3D空間における人間スケルトンの関節のベクトルであり、Xt=[xleftwrist,yleftwrist,zleftwrist,xhead...]である)。
【0104】
tは、隠れマルコフモデルの「隠れ状態」を表し、それ自体は直接測定されない。代わりに、Xtはオブジェクトの測定値から推測される。この場合、Ytは観測されたオブジェクトhの測定ベクトルである。カメラcのセットを介してオブジェクトhを観察する場合は、ピクセル座標で測定された
【数1】
となる。関数gcは、Xt(3D記述子データの隠れ状態)を表す空間からカメラのデータYtの測定空間に変わる測定モデルである。隠れマルコフモデルでは、隠れ状態Xtはマルコフ過程としてモデリングされ、状態が発生する確率は前のイベントのみに依存し、他の状態のいずれにも依存しない(すなわち、状態Xtが発生する確率は、前の状態Xt-1のみに依存する)。式(1)は、この関係を記述しており、ここで、Xtの可能性ごとに、関数fh(Xt-1,ut)は、そのシステムがその状態にある確率を提供する。
【0105】
予測モデルの目的は、測定値Yt-1から洗練して、測定値YtからXtの最良の推定値を見つけることである。つまり、測定されたYt値は、測定関数gcの適用からXt値をもたらし、測定されたYt-1値は、測定関数gcの適用からXt-1値をもたらし、さらに決定された値Xt-1は、関数fhを使用してXtの推定値を導出するために使用される。具体的には、システムは最初にfh(Xt-1,ut)から最も可能性の高い値Xtを決定する。次に、システムは、測定されたYt値および測定関数gcからXtを決定する。次に、状態Xtの最終値は、Xt-1から推測された値およびYtから決定された値に基づいて、Xtの値を最適化することによって洗練される。例えば、カルマンフィルタを使用して、Xt-1から推測された値に基づくXtの値と、Ytから決定された値との間の残余誤差を最小化する。
【0106】
関数fhは、オブジェクトhの運動学的モデルを記述し、これは、上記の空間ホロノミックな拘束、および様々なタイプの運動学的な動きに対して空間内のこれらのポイントが時間の経過とともにどのように変動するかを組み込んでいるため、運動学的モデルの時間依存性のホロノミックな拘束を定義する。上記のように、空間ホロノミックな拘束は、3Dスケルトンの各ポイントについて、自由度の数および/または利用可能な自由度の範囲を制約する。時間依存性のホロノミックな拘束は、時間の経過とともに自由度をさらに制約する。
【0107】
3Dスケルトンが、アンカーポイントおよび複数の子ポイントを備え、各子ポイントが、アンカーポイントまたは複数の子ポイントのうちの別の子ポイントへの変換を適用することによって定義され、時変3Dスケルトンが、各子ポイントに対する時間変数の変換によって定義される例を考える。例えば、3Dスケルトンの2つのポイント間の値の違いは、時間の経過とともに変化することとなり、これらの値の違いは、各時点での異なる変換によって表される。時間依存性のホロノミックな拘束が、各時点について、各子ポイントを定義する変換の自由度、および/または変換の各自由度の可能な値の範囲を定義する。時間の変動し得る量は、測定間の時間間隔、選択した運動学的モデル、およびut(以下に記載)などの他のパラメータによって異なることとなる。時間依存性のホロノミックな拘束は、空間ホロノミックな拘束と組み合わせて有利に適用される。
【0108】
例えば、fhには、膝、臀部、足首の相対的な向き、ならびに特定の種類の運動学的な動き(例えば、ランニング)に対して時間の経過とともに、膝、臀部、および足首が相互にどのように動くかを制約するホロノミックな拘束が含まれる。ホロノミックな拘束により、脚を記述する3Dポイントを人間が走っているポイントに定義する際に利用できる自由度が制限されてもよい。例えば、ランニング中は、足首関節は著しい回外または回外を実証することは期待されていないため、足首のこの自由度を完全に取り除いてもよく、または走っている人間の特性である小さな値に制限してもよい。
【0109】
tは、運動学的モデルの制御入力を記述する(例えば、人間の解剖学的な制約のための左肘などの関節の回転速度、または重力の影響下で動いているオブジェクトの運動学的モデルで使用するための、約9.807ms-2である地球の重力定数g、またはオブジェクトと様々な種類の材料との間の摩擦係数)。これらの値は、当技術分野で既知である方法を用いて、個人またはオブジェクトのモーションキャプチャ測定などを通じて、方法を適用する前に測定または計算することができる。utには、状態Xt-1の値を含む、運動学的モデルの可変入力を含めることもでき、したがって、それ自体が状態Xt-1を部分的に記述する(例えば、時間t-1で測定された脚の速度、または胴体の角速度)。任意選択で、utのこれらの変数値は、環境内の好適な物理センサ(例えば、LIDARまたは3D深度カメラ)を介して、カメラ観測値Yと一緒に測定することができる。さらに、または代替的に、utの1つ以上の値は、測定値Yから推測される隠れ状態の一部を形成することができる。utの値は、主にXtの推定値を推測するために使用され、これは、Yt-1の測定によって洗練されるため、おおよその測定値であってさえいればよい。
【0110】
関数fhは、特定のオブジェクトhの運動学的モデルであり、様々なfh関数を適用して、他のタイプのオブジェクトの運動学的モデルを記述することができる(例えば、人間のオブジェクトには1つのfh方程式があり、ボールには別のfh方程式があるなど)。ただし、同じクラスのすべてのオブジェクトに同じ運動学的モデルfhを使用することができる(例えば、モデリングするすべてのボールに同じfhを使用する)。異なる運動学的モデルを異なるサブクラスに適用することもでき、または同じ運動学的モデルを適用することもできるが、異なるパラメータを用いる(例えば、同じfh方程式が異なる人間に適用されるが、異なる人間は体の寸法が異なり、かつ人間の歩行は走っているときに変動することとなるため、異なるパラメータを用いる)。
【0111】
したがって、任意の1つのオブジェクトhについて、測定値Yt、Yt-1、...、ut、ut-1、...およびfhを知っていると、Xtの最良の推定値を見つけることができる。これらの場合のYtベクトルは個々のオブジェクトの測定データのみを記述し、Xtはそのオブジェクトの3Dスケルトン情報を記述するため、つまり、システムによって同時に適合させる必要のあるパラメータの数は、数百万ピクセルの時間依存性の運動学的モデリングが含まれ得る(結果として数兆の比較が行われる)ピクセルごとの比較よりも大幅に少なくなるため、システムはさらに有利である。上記の隠れマルコフモデルは、非線形推定器プロセスに時間依存性のホロノミックな拘束を実装して、時間発展する画像データから決定された時間依存性の3Dスケルトンを洗練するために使用され得る方法の単なる例である。
【0112】
上記のフレームの時間順に並べられたフレームのシーケンスには、環境内の複数のカメラによってキャプチャされたフレームを含めることができ、各カメラは同じフレームレートで動作し、各時点で2つ以上の視点から画像データを利用できるようにカメラが同期される。これにより、3Dモデルの適合を、上記のように三角測量によって各時点で制約することができるが、上記のように再帰的推定器を使用して制約することもできる。これにより、決定された4D記述子情報の全体的な精度が向上する。
【0113】
さらに、再帰的推定器を使用することにより、少なくとも1つのカメラが、少なくとも1つの第1のタイプのカメラおよび少なくとも1つの第2のタイプのカメラを含む場合に上記の方法が実行され、第1のタイプのカメラの各々が、第1のフレームレートで画像データをキャプチャし、各第2のタイプのカメラが、第1のフレームレートとは異なる第2のフレームレートで画像データをキャプチャする。任意の数のカメラが第1のフレームレートまたは第2のフレームレートで動作している場合があり、さらに異なるフレームレートで動作しているカメラがさらに存在する可能性がある。一般的に使用されるフレームレートは24フレーム/秒(fps)および60fpsだが、データは120、240、および300fpsのより高いレートで収集することができる。したがって、複数のカメラから収集されたフレームを含む時間順に並べられたフレームのシーケンスは、1つのフレームのみがキャプチャされたいくつかの瞬間を含む、各瞬間に可変数のフレームを含む場合がある。
【0114】
上記のような再帰的推定器を使用すると、時間順に並べられたフレームのシーケンスの組み合わせ中に単一のフレームしかない時点で決定された3Dスケルトンに対しても、3Dスケルトンに対する同様の制約が可能である。このようなフレームの場合、2D画像から決定された3Dスケルトンは、以前の時点の画像から適合された3Dスケルトンによって制約かつ洗練することができる。例えば、上記の隠れマルコフモデルでは、Ytデータには単一のフレームが含まれ、そこからXtが決定され、前の時間状態Xt-1から推測されたXtの推定値が洗練される。このような方法およびシステムは、再帰的推定器を採用せず、代わりに過去の履歴を知らずに個々の時点の3Dスケルトンを個別に計算する方法よりも、有利である。正確に同期されていないカメラから収集された画像データを使用するこのようなシステムは、各時点で使用されるカメラの数に一貫性がないため、様々な精度の時間依存性のモデルを生成し得る。有利なことに、再帰的推定器を使用する上記の方法を使用して、異なるフレームレートだけでなく、同じフレームレートであるが非同期であるカメラを有する複数のカメラからの4D記述子データを決定することができる。
【0115】
さらに有利なことに、再帰的推定器を使用すると、単一のカメラによってのみ収集されたデータからの3Dスケルトンの決定およびトラッキングが可能になり得、時間順に並べられたフレームのシーケンス内の個々のフレームから決定された各3Dスケルトンは、再帰的推定器を適用することにより、前のフレームからの3Dスケルトンの推定値から洗練される。3Dスケルトンが初期状態に対して正確に決定されている限り、複数のカメラからの三角測量がなくても依然として精度を提供することができる。このようなアプリケーションは、例えば、人間またはオブジェクトが、複数のカメラによって監視されている領域から1つのカメラのみによって監視されている領域に一時的に移動する可能性がある状況で有利な場合がある。オブジェクトは、人間またはオブジェクトが複数のカメラによって監視されている領域から移動するまで正確にトラッキングされることとなるため、単一カメラのトラッキング領域の開始時に3Dスケルトンの最初の正確な入力が提供される。3Dスケルトンは、人間またはオブジェクトが複数のカメラによって監視されている領域に戻るまで、1つのカメラによって時間の経過とともに決定かつトラッキングされ続けることができる。例えば、サッカーの試合のコンテキストでは、人間のプレーヤーが、1つのカメラを除くすべてのカメラを覆い隠す構造物を通り過ぎてピッチ上を走っている場合がある。したがって、このシステムは、当技術分野で既知であるシステムが故障する可能性がある場合に、継続的かつ正確なトラッキングを可能にする。
【0116】
したがって、上記の方法は、画像データに入力される情報量が少ない期間でも継続的な精度を可能にするが、既存のカメラと同期するように特には構成されていないカメラからの追加の画像データを組み込むことができるため、より柔軟なシステムも可能にする。例えば、視界の悪い領域をカバーするように一時的なカメラをすばやく設定する場合があり、またはスポーツの試合の観客中の観戦者からのカメラデータを、そのスポーツの試合中のオブジェクトの3Dスケルトンの適合プロセスに組み込むことができる。
【0117】
方法500の出力は、分類されたオブジェクトの4Dスケルトン510(すなわち、3Dオブジェクト情報の時間的表現)である。この4Dスケルトンの各フレームは、図2に関連して上記の方法で3Dアバターにマッピングすることができるため、4Dアバターを提供する。図5は単一のカメラに関して示しているが、図5に関して説明した方法はまた、複数のカメラから受信された画像データの各インスタンスに同時に適用され得ることが理解される。したがって、図5に示す決定された2Dスケルトンの各例506a、506b、506c....506zは、図2に関する上記の方法における複数の2Dスケルトンを含むと理解され、画像データの各インスタンスから決定された複数の2Dスケルトンは、508a、508b、508c....508zに示すように、個々の3Dスケルトンを決定するために使用される。したがって、方法500の複数のカメラが使用される例では、出力は、3Dスケルトン508a...508zの単一の時間順に並べられたシーケンスであり、これは、上記と同じ方法で洗練することができる。
【0118】
有利には、この方法は、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、分類されたオブジェクトの4Dスケルトンを使用して、上記のように、分類されたオブジェクトのプロパティを導出することをさらに含み得る。プロパティは、例えば、カメラに対する分類されたオブジェクトの時間依存性の位置に関する時変三次元場所情報を含み得るか、または同じ分類されたオブジェクトの他のサブオブジェクトに対する、分類されたオブジェクトの単一のサブオブジェクトもしくは複数のサブオブジェクトの時変三次元場所データを含み得る。
【0119】
例えば、分類されたオブジェクトが人(例えば、スポーツのプレーヤー)である場合、方法は、3Dスケルトンを使用して、人の位置(地面上の位置としての二次元の意味、または三次元の意味のいずれかにおいて、人がジャンプしなければならない)、人の速さ(または速度)、人の加速のうちの1つ以上を、画像のシーケンスから導出し得る。
【0120】
さらなる例では、分類されたオブジェクトの収集物は、スポーツのプレーヤーを表す場合があり、さらなるオブジェクトは、そのスポーツのための装置のアイテム(例えば、ボール)を表す場合があり、方法は、プレーヤーの3Dスケルトンを使用して、プレーヤーと装置のアイテムとの間の相互作用を識別し得る。この方法は、相互作用のタイミングを導出してもよい。相互作用には、プレーヤーと装置のアイテムとの間の接触が含まれる場合がある。
【0121】
さらなる例では、分類されたオブジェクトの収集物は、スポーツのプレーヤーを表す場合があり、さらに分類されたオブジェクトは、プレーヤーよって携行されるそのスポーツのための装置のアイテム(例えば、バットまたはラケット)および/またはボールを表す場合があり、方法は、プレーヤーの3Dスケルトンおよび携行される装置のアイテムを使用して、任意のプレーヤーと装置のアイテムとの間、または装置のアイテム間の相互作用を識別し得る。相互作用には、分類されたオブジェクト間の接触が含まれる場合がある。サッカーの試合の例では、そのような相互作用には、プレーヤーが足または手を含む彼/彼女の体の任意の部分でボールに触れることが含まれ得る。以下で説明するように、この相互作用は、オフサイドルールへの準拠を判定する一環として使用することができる。
【0122】
例えば、サッカーの試合では、方法は、プレーヤーを表す複数の3Dスケルトンおよびボールを表すオブジェクトを使用して、画像のシーケンス中にオフサイドルールなどのルールが違反されたかどうかを画像のシーケンスから導出してもよい。
【0123】
上で論じたように、処理速度の利点は、「オンザフライ」で3Dテクスチャを生成するのではなく、既存のテクスチャを3Dスケルトンにマッピングすることによって得られる。ただし、それにも関わらず、3Dスケルトンに適用された3Dモデルと組み合わせるために、いくつかの3Dテクスチャを生成することで、方法を洗練することができる。具体的には、方法は、受信した画像データから3D表面メッシュを生成すること、および導出された3D表面メッシュを3Dモデルと組み合わせて3Dスケルトンにマッピングすることを含み得る。表面メッシュの例は、衣服の特徴を記述する表面を備えたメッシュ、または顔の特徴を記述する表面を備えたメッシュであり得る。メッシュは、オブジェクトの画像データから、またはオブジェクトのサブオブジェクトに対応する画像データから導出されてもよい。
【0124】
例えば、オブジェクトがサッカーボールである場合、3Dメッシュはサッカーボールの表面を記述し、そのサッカーボールの画像データから導出される。別の例として、サブオブジェクトは人間のオブジェクトの顔である可能性があり、3Dメッシュは顔の表面を記述し、その顔に対応する画像データから導出され得る。画像データは、単一のカメラから収集される場合もあれば、複数のカメラからの同じオブジェクトから収集される場合もあり、各カメラからの画像データがマージされている。ニューラルネットワーク(畳み込みニューラルネットワークなど)を含むがこれに限定されない、任意の好適な画像処理技術を使用して、画像データから3Dメッシュを導出してもよい。このような単一のニューラルネットワーク(または複数のニューラルネットワーク)は、様々なオブジェクトの複数の3D表面の出力を用いて訓練データで訓練することができ、入力は、各3D表面出力に対応する複数の平坦化された2Dパースペクティブである。3Dメッシュは、3Dモデルを3Dスケルトンにマッピングすることができるのと同様の方法で、3Dスケルトンにマッピングすることができる。つまり、3Dメッシュを3Dスケルトン上の対応するポイントにマッピングすることができる(例えば、顔3Dメッシュが3Dスケルトンの頭のポイントにマッピングされる)。事前にレンダリングされた3Dモデルと組み合わせてオブジェクトの一部にカスタム3Dメッシュを使用することは、特定のオブジェクト(例えば、顔)に一意的な要素をより正確にレンダリングすることができることを意味するが、事前に決定された3Dモデルをモデルの残りの部分に使用することができる。したがって、リアルタイム処理を可能にするために処理速度を低下させながら、必要に応じて精度を提供するバランスを提供することができる。
【0125】
図6は、本発明を実装することができる環境600を示している。環境には、複数のカメラ601a...601dが含まれる。カメラは、静止カメラ601aおよび601bを含むことができる。そのような静止カメラは、固定された視野および視野角を有する場合があり、または回転および/もしくはズームすることができる場合がある。カメラは、環境に対して並進することができ、さらに、固定された視野および視野角を有する場合があり、または回転および/もしくはズームすることができる場合がある、可動カメラ601cを含むことができる。さらに、カメラは、例えば、観客中の観覧者によって保持されるハンドヘルドカメラ601dを含むことができる。各カメラは、上記のように各々異なるタイプのビジョンシステムにすることができる。
【0126】
環境には、複数のオブジェクト602a...602dが含まれる。上記の方法を採用して、複数のカメラ601a....601dから収集された画像データを受信し、したがって、複数のオブジェクトの各オブジェクトを識別して、各オブジェクトの3D/4Dアバターを構築してもよい。方法は、識別されたすべてのオブジェクト602a....602dに対して必ずしも3Dアバターを構築するわけではなく、特定の種類のオブジェクトクラスに対してのみ3Dアバターを構築してもよい。例えば、オブジェクト602eはゴールポストであり、オブジェクト602fはコーナーフラグである。これらのオブジェクトは、それらの位置または形状を変更しない静的オブジェクトである。この情報は、環境内のオブジェクトのクラスおよび場所を識別した結果としてすでに既知である。よって、2D記述子および3D記述子情報を再導出する必要はない。
【0127】
上記の方法により、環境内位置するオブジェクトに対して複数の3D/4Dアバターを生成することができる。アバターは、位置および向きが分かっているカメラによって生成されるとすると、アバターは、環境に対する既知の4D場所で生成される。オブジェクトが配置されている実世界の環境の向きと一致する、3Dアバターに対する向きの3D環境も生成することが望ましい。次に、3Dアバターを3D環境内に配置して、カメラによってキャプチャされたデータをより完全に再現することができる。
【0128】
方法は、環境の3Dモデルを生成することをさらに含み得る。このモデルは、任意の方法を実行する前に、画像データをキャプチャするために使用されるカメラの較正からの画像データがない場合に生成されてもよい。例えば、複数のカメラは、環境に関して既知の場所および向きで設定され得る。場所および方向が分かっているため、事前に生成された環境を対応する場所にマッピングすることができる。
【0129】
上記の方法のさらに有利な洗練において、方法は、画像データから、環境の3Dモデルを構築することをさらに含む。具体的には、環境600内のオブジェクトの3D/4Dアバターを生成するために使用されるのと同じ画像データが、環境600自体を生成するためにも使用される。このような方法は、画像データを収集するために使用されるカメラが静止していない状況、または環境に対する静止カメラの位置/向きが不明である状況において有利である。
【0130】
上述のように、完全な3D環境のピクセルごとのレンダリングの当技術分野における既存の例は、かなりの計算リソースの適用を必要とする。よって、これらの既存の方法は、3Dモデルのリアルタイムの再構築には実用的ではない。上記のようなオブジェクトの3D/4Dアバターの生成と同様の方法で、本発明は、代わりに、その環境の3D記述子データを使用することによって3D環境モデルを生成しようとする。
【0131】
1つの有利な実施形態では、3D環境モデルは、複数のカメラから画像データを受信することであって、各カメラが、環境内の異なる既知のポイントに配置されている、受信することと、画像処理技術を実行して、各カメラの画像データ内の、環境の静止オブジェクトおよび/または静止特徴を識別することと、各カメラから収集された画像データ内で検出された静止特徴および/または静止オブジェクトを三角測量して、各静止オブジェクトおよび/または特徴の場所を識別することと、によって、構築され得る。各静止オブジェクトおよび/または特徴の場所が判定されると、環境の事前に決定された3Dモデルを、判定された静止オブジェクトおよび/または静止特徴にマッピングすることができる。また、好適な画像処理技術を使用して、畳み込みニューラルネットワークの実装を含む、画像データ内の環境の静止オブジェクトおよび/または静止特徴を識別することができる。判定される特徴の例には、ゴールポスト、コーナーポスト、地上のラインマーキングなどが含まれる。静止オブジェクトを識別するための同じ技術を、位置が知られていない追加の静止カメラに適用して、それらのカメラによって収集された画像データ内の複数の静止オブジェクトを識別することもできる。位置が分かっているカメラの画像データ内では同じ静止オブジェクトが識別されるため、カメラデータの異なるセット内の異なる静止オブジェクト間の対応を行うことができ、追加の静止カメラの未知の位置の場所の推測が可能になる。
【0132】
3D環境モデルを構築するための上記の特徴抽出に加えて、またはその代替として、1つのさらに有利な洗練において、3D環境モデルが、同時位置決めマッピング技術(SLAM)を画像データに適用して、少なくとも1つのカメラの各カメラの位置および向きを推定し、環境マップを構築することと、環境マップを環境の事前に決定された3Dモデルにマッピングすることにより、3Dモデルを構築することと、によって構築され得る。SLAM技術は、エージェントが環境のマップを構築および/または更新すると同時に、環境内のエージェントの場所をリアルタイムでトラッキングし続けるために使用する計算方法として理解されている。
【0133】
本発明では、SLAM方法体系を、環境600内の少なくとも1つの非静止カメラ(例えば、カメラ601c)から収集された環境600の画像データに適用して、環境内の各カメラの場所の導出およびカメラを含む環境のマッピングを同時に行うことができる。SLAM方法体系を画像データに適用すると、環境の低解像度3Dモデルが生成され、その低解像度3Dモデル内のカメラの位置およびポーズが推定されることとなる。次に、低解像度の3Dモデルを、データベース内に保存されている高解像度のバージョンにマッピングすることができる。SLAM方法は、同じ環境内の複数のカメラで同時に使用されて、同じ環境内のそれらのカメラを同時に突き止めることができる。
【0134】
SLAM方法体系の一部を形成することは、画像データの画像検出のプロセスである可能性があり、そこでは静止オブジェクトが環境内で検出される。使用されるオブジェクト検出方法体系は、画像データ内の非静止オブジェクトの検出について上述したものと同様であってもよい。例えば、畳み込みニューラルネットワークが実装され得、畳み込みニューラルネットワークは、検出される静止オブジェクトの画像を含むデータセットで訓練される。
【0135】
実装されたSLAM方法体系の出力は、環境600内の特徴ポイントを識別し、同時に場所も識別する、環境マップである。マップは、完全な幾何学的な再現ではなく、環境の特徴ポイントのみを記述して、本質的にトポロジカルにすることができる。トポロジカルマップは、わずか100ピクセルの座標であり得、各ピクセルは、ピクセルを判定するために使用されるカメラに対する特徴ポイントの場所を記述する。例えば、SLAM技術は、ゴールポスト、ピッチのコーナー、ピッチの側面にある座席スタンドなど、環境の多くの静的な特徴を識別し得る。次に、環境マップが環境の事前に決定された3Dモデルにマッピングされる。例えば、環境マップの各ピクセルは、事前に決定された3Dモデルに対応するポイントを有することができる。
【0136】
カメラの場所、位置、および向きを同時に判定するために、任意の好適なSLAM方法体系を適用することができる。例えば、隠れマルコフモデルは、測定状態が画像データであり、隠れ状態が環境の要素の場所である場合に適用することができる。
【0137】
本発明での使用に好適な高速SLAM技術の例は、「FastSLAM:A factored solution to the simultaneous localization and mapping problem」by Montemerlo,Michael,et al.,Aaai/iaai 593598(2002)、および「6-DoF Low Dimensionality SLAM(L-SLAM)」,by Zikos,Nikos;Petridis,Vassilios(2014),Journal of Intelligent & Robotic Systems,springerにおいても論じられている。
【0138】
環境の3Dモデルを構築した後、方法が、決定された3D環境モデルと、分類されたオブジェクトごとの構築された3Dまたは4Dスケルトンとを統合して、統合環境の3Dまたは4Dモデルを構築することさらに含み得、該統合環境が、該環境および環境内の分類されたオブジェクトの該3Dまたは4Dスケルトンを含む。この統合ステップは、3Dモデルを3Dスケルトンと統合して3Dアバターを作成するステップとは独立して実行することができる。したがって、3Dまたは4D統合環境モデルは、環境およびそれに関連するオブジェクトを正確に表し、同時に、その環境を記述するために使用されるデータを最小限に抑える。この3Dまたは4D統合モデルは、後日、事前に生成された3Dモデルと統合されるために、データファイル内にエクスポートされて保存され、モデルを生成したのと同じコンピュータシステム、または別のコンピュータシステムのいずれかで、後日、そのシーンを完全に再現することができる。
【0139】
統合された3Dまたは4D環境モデルを使用して、環境に関する特性を導出することもできる。有利には、方法は、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、統合された3Dまたは4D環境を使用して、分類されたオブジェクトのプロパティを導出することをさらに含み得る。3D環境を使用する場合、プロパティは、例えば、環境および環境内の他のオブジェクト(ならびに該他のオブジェクトの3Dスケルトン上の任意のポイント)に対する分類されたオブジェクト(およびその分類されたオブジェクトの3Dスケルトン上の任意のポイント)の位置に関する三次元場所情報を含み得る。これらのプロパティは、例えば、ピッチ上のプレーヤーがサッカーのオフサイドルールなどのスポーツの試合のルールに準拠しているかどうかを判定するために使用することができる。この例では、プレーヤーの3Dスケルトンの部分を環境および環境内の他のオブジェクトに対して分析して、プレーヤーの手および腕を除く体の部分のうちのいずれかが対戦相手のハーフピッチ内にあり、かつボールおよび後ろから2番目の対戦相手のプレーヤーの両方よりも対戦相手のゴールラインに近いかどうかを判定することができる(環境に対するボールおよび後ろから2番目の対戦相手のプレーヤーの配置は、該ボールおよび後ろから2番目の対戦相手のプレーヤーのそれぞれの3Dスケルトンから導出することができる)。例えば、二次元の垂直平面は、ピッチの幅を走り、かつプレーヤーの体の部分がオフサイドであるとみなされ得るポイントの後ろと交差する3D環境において生成され得る。次に、プレーヤーの構築された3Dスケルトンの要素の判定された場所が、この2D平面と比較され、それらが平面の後ろにあるかどうか、したがってオフサイドとみなされるエリアにあるかどうかが判定される。例えば、3Dスケルトンの要素(例えば、脚)の寸法は、3Dスケルトンから導出され得、そこから、3Dスケルトンの要素によって表される身体部分のいずれかの部分が2D平面の後ろにあるかどうかが判定される。これらの要素は、人体の手および腕を含まずに、脚、足、膝、または人体のあらゆる他の部分を含む、事前定義された要素であり得る。
【0140】
オフサイドルールの定義が異なることに応じて(例えば、ルールは時間の経過とともに変化するため、またはラグビーなどの他のスポーツ環境を検討する場合)、プレーヤーが、それを越えるとオフサイドとみなされる可能性のあるポイントが変更される可能性がある(したがって、2D平面の配置が変更される可能性がある)。ただし、上記と同じ原則を依然として適用することができることは容易に理解できる。すなわち、プレーヤーがそれを越えるとオフサイドとみなされるポイントは、スポーツ環境におけるオブジェクトまたはオブジェクトの要素の配置を考慮して決定され、あらゆるプレーヤーの要素がこのポイントの後ろにあるどうかが判定される。オフサイドルールの仕様は、システムに事前にプログラムされている場合もあれば、準拠が判定される時点でユーザが指定する場合もある。
【0141】
4D環境モデルを使用する場合、プロパティは、例えば、環境に対するおよび環境内の他のオブジェクトに対する分類されたオブジェクトの時間依存性の位置に関する時変三次元場所情報を含み得る。したがって、統合された3Dまたは4D環境モデルを使用して、1人以上のプレーヤーの速度、ピッチ上のチームの編成および場所の変更、プレーヤーの個々の関節の速度および動きなどの量を導出することができる。さらに、4D環境モデルから導出されたプロパティはまた、各瞬間について上記の方法で、異なる時点におけるオフサイドルールへの準拠を判定することを含み得る。この決定は、システムのユーザの要求に応じて、または特定のイベントが検出された時点もしくは時点以降のいずれかで、所与の時点または時点以降に行うことができる。オフサイドルールの場合、統合された4D環境モデルを使用して、ボールが蹴られた正確な時点を識別することもできる。プレーヤーの体の部分の位置を2D平面と比較する上記の分析が実行され得るのは、その時点またはその時点以降である。ボールが蹴られた時点以降のその後のイベントも判定され得、これには、プレーヤーと別のプレーヤーもしくは/またはボールとの間のさらなる相互作用(例えば、プレーヤーが別のプレーヤーに触れる、またはボールに触れる)、またはスポーツ環境における分類されたオブジェクトの相対的な配置(例えば、オフサイドの位置にいるプレーヤーが、対戦相手のプレーヤーのボールへの視線を遮るかどうか)が含まれる。例えば、別のプレーヤーによるプレーヤーの接触、またはプレーヤーによるボールの接触は、それぞれのオブジェクトの3Dスケルトンの相対的な位置決めによって判定されてもよい。したがって、方法およびシステムは、ボールが蹴られた後、オフサイドの違反が発生したかどうかを判定することができる。
【0142】
代替的に、またはさらに、環境の3Dモデルを構築した後、方法は、決定された3D環境モデルと、分類されたオブジェクトごとの構築された3Dアバターとを統合して、統合環境の3Dモデルを構築することをさらに含み得、該統合環境が、該環境および環境内の該オブジェクトを含む。上記のように、前述の方法によって構築された3D/4Dアバターの各々は、環境内に各3Dアバターを配置する場所情報を含む。したがって、3D/4Dアバターと環境とを統合することにより、環境およびその環境内のすべてのオブジェクト、ならびにその環境内の非静的要素の時間ベースの進行を、3Dで正確に描写する統合4Dモデルが作成される。
【0143】
3Dまたは4Dスケルトンを含む統合された3Dまたは4D環境について上述したのと同様の方法で、構築されたアバターを含む統合された3Dまたは4D環境を使用して、環境に関する特性を導出することができることが理解されよう。有利には、方法は、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、統合された3Dまたは4D環境のモデルを使用して、分類されたオブジェクトのプロパティを導出することをさらに含み得る。3Dモデルを使用する場合、プロパティは、例えば、環境および環境内の他のオブジェクト(ならびに該他のオブジェクトの3Dアバターの表面上の任意のポイント)に対する分類されたオブジェクト(およびその分類されたオブジェクトの表面3Dアバター上の任意のポイント)の位置に関する三次元場所情報を含み得る。上記の例によれば、これらのプロパティは、例えば、ピッチ上のプレーヤーがサッカーのオフサイドルールなどのスポーツの試合のルールに準拠しているかどうかを判定するために使用することができる。この例では、プレーヤーの3Dアバターの部分を環境および環境内の他のオブジェクトに対して分析して、プレーヤーの手および腕を除く体の部分のうちのいずれかが対戦相手のハーフピッチ内にあり、かつボールおよび後ろから2番目の対戦相手のプレーヤーの両方よりも対戦相手のゴールラインに近いかどうかを判定することができる(環境に対するボールおよび後ろから2番目の対戦相手のプレーヤーの配置は、該ボールおよび後ろから2番目の対戦相手のプレーヤーのそれぞれの3Dアバターまたは3Dスケルトンから導出することができる)。例えば、二次元の垂直平面は、ピッチの幅を走り、かつプレーヤーの体の部分がオフサイドであるとみなされ得るポイントの後ろと交差する3D環境において生成され得る。次に、プレーヤーの3Dアバターの部分(3Dアバターの表面を含む)をこの2D平面と比較して、3Dアバターのいずれかの部分(3Dアバターの表面を含む)が平面の後ろにあるかどうか、つまりオフサイドとみなされるエリアにあるかどうかが判定される。比較される部分は、人体の手および腕を含まずに、脚、足、膝、または人体のあらゆる他の部分を含む、プレーヤーの事前定義された部分に関するものであり得る。
【0144】
オフサイドルールの定義が異なることに応じて(例えば、ルールは時間の経過とともに変化するため、またはラグビーなどの他のスポーツ環境を検討する場合)、プレーヤーが、それを越えるとオフサイドとみなされる可能性のあるポイントが変更される可能性がある(したがって、2D平面の配置が変更される可能性がある)。ただし、上記と同じ原則を依然として適用することができることは容易に理解できる。すなわち、プレーヤーがそれを越えるとオフサイドとみなされるポイントは、スポーツ環境におけるオブジェクトまたはオブジェクトの要素の配置を考慮して決定され、あらゆるプレーヤーの要素がこのポイントの後ろにあるどうかが判定される。オフサイドルールの仕様は、システムに事前にプログラムされている場合もあれば、準拠が判定される時点でユーザが指定する場合もある。
【0145】
構築された4Dアバターを含む4D環境モデルを使用する場合、プロパティは、例えば、環境に対するおよび環境内の他のオブジェクトに対する分類されたオブジェクトの時間依存性の位置に関する時変三次元場所情報を含み得る。したがって、統合された3Dまたは4D環境モデルを使用して、1人以上のプレーヤーの速度、ピッチ上のチームの編成および場所の変更、プレーヤーの個々の関節の速度および動きなどの量を導出することができる。さらに、4D環境モデルから導出されたプロパティはまた、各瞬間について上記の方法で、異なる時点におけるオフサイドルールへの準拠を判定することを含み得る。この決定は、システムのユーザの要求に応じて、または特定のイベントが検出された時点もしくは時点以降のいずれかで、所与の時点または時点以降に行うことができる。オフサイドルールの場合、統合された4D環境モデルを使用して、ボールが蹴られた正確な時点を識別することもできる。プレーヤーの体の部分の位置を2D平面と比較する上記の分析が実行され得るのは、その時点またはその時点以降である。ボールが蹴られた時点以降のその後のイベントも判定され得、これには、プレーヤーと別のプレーヤーもしくは/またはボールとの間のさらなる相互作用(例えば、プレーヤーが別のプレーヤーに触れる、またはボールに触れる)、またはスポーツ環境における分類されたオブジェクトの相対的な配置(例えば、オフサイドの位置にいるプレーヤーが、対戦相手のプレーヤーのボールへの視線を遮るかどうか)が含まれる。例えば、別のプレーヤーによるプレーヤーの接触、もしくはプレーヤーによるボールの接触は、それぞれのオブジェクトの3Dスケルトンの相対的な位置決めによって判定されてもよく、またはそれぞれのオブジェクトの3Dアバターの表面が接触しているかどうかによって判定されてもよい。したがって、方法およびシステムは、ボールが蹴られた後、オフサイドの違反が発生したかどうかを判定することができる。
【0146】
統合環境の構成要素の個別の導出および構築は、組み合わせると不一致エラーを引き起こす可能性があることが理解される。例えば、人間の3Dアバターは、ピッチの地面に対してわずかにずれている可能性があり、その結果、3Dアバターはピッチの上に「浮いている」か、ピッチ内に「沈んでいる」ことになる。本発明の方法は、そのような不一致のエラーを、各構築された3Dアバターと3D環境モデルとの間の相互作用を制約することによって、統合環境の構築を洗練することにより、低減し得る。例えば、3Dアバターおよび3D環境の統合は、マッピングされた3Dモデルのテクスチャの要素が環境のテクスチャと重なり得ないように制約される場合がある(例えば、立っている人間のフィードを環境の地面に「ピンニング」する)。
【0147】
このような方法は、適切に訓練されたニューラルネットワークを使用して再び適用することができる。例えば、モーションキャプチャ技術を使用して、3Dアバターが構築されているオブジェクトが環境と相互作用しているのを観察することができる。訓練データは、環境に関して該オブジェクトの特徴の対応する幅広い様々な配置を識別するために、幅広い様々なアクション(例えば、走る、ジャンプする、歩く)を実行するオブジェクトを含むことができる。例えば、人間が走るとき、足は彼の/彼女の歩行の特定のポイントでのみ環境の床に接触することとなる。そのような例でニューラルネットワークを訓練することにより、本発明の方法は、分類されたオブジェクトと環境との間の適切な相互作用を認識して、統合環境モデルを構築する際の対応する構築されたアバターと3D環境モデルとの間の相互作用を制約することができる。
【0148】
生成された統合環境モデルはさらに改善することができる。具体的には、少なくとも1つのカメラによって収集された画像データは、アバターが生成される各オブジェクトの包括的な観察である可能性があることが理解されよう。オブジェクトのキャプチャされたインスタンス間の時間間隔は、4Dアバターが構築される時間間隔よりも大きい場合がある。よって、3Dアバターからアニメーションを生成しようとすると、アニメーションが進行するにつれて「ジッタ」が実証されることとなる。
【0149】
このジッタは、時間依存性の平滑化を各構築された3Dアバター、またはアバターがそこから作成された、各構築された各3Dスケルトンに適用することをさらに含む方法によって、低減または取り除くことができる。平滑化は、時間的ニューラルネットワークまたは時間的推定器、表面適合などの様々なフィルタリング方法を使用して実行することができる。時間的ニューラルネットワークは、細かい時間分解能の訓練データを使用して訓練することができる(例えば、典型的なビデオ送信で使用される60fpsよりも高いフレームレート)。さらに、または代替的に、個々の4Dアバターの平滑化は、上記の時間依存性のホロノミックな拘束に基づくことができる。具体的には、オブジェクトを表す3Dスケルトンの、測定時点での2つのすでに決定された値のセット間を補間することにより、追加の時点の3Dスケルトンの追加のポイントを計算することができる。よって、これらの補間された値は、すでに決定された値を決定するために使用されたのと同じ運動学的モデルに基づいて制約することができる。例えば、弓の弦またはやり投げのやりの4Dアバターの有限数の3Dスケルトンが、弾性に関連する物理法則に基づくホロノミックな拘束を使用して画像データから決定された場合、追加の3Dスケルトンは、3Dスケルトン決定のホロノミックな拘束に使用されるのと同じ方程式を適用することにより、既存の決定された3Dスケルトンから導出することができる。したがって、4Dアバター用の追加の3Dスケルトンを導出し、新しい表面テクスチャを洗練された4Dアバターに適用して、平滑化された4Dアバターを作成してもよい。さらに、人体の動きの程度に対する解剖学的制約は、人間のアバターの動きのモデリングを制約する可能性がある。
【0150】
平滑化は、環境とのいかなる統合にも関係なく、各4D記述子データまたは各4Dアバターに適用することができ、または統合ステップの一部として平滑化を実行して、統合環境の構築を洗練することができ、ここで、3D環境と各4Dアバターとの間の相互作用は、平滑化技術の一部としてモデリングされる。具体的には、3D環境と4Dアバターとの間の相互作用は、確立された物理法則に基づいたさらなる洗練を含んでもよい。例えば、ボールの軌道は、ボールの軌道の自由度を制限するために、ニュートン物理学および重力の法則を使用してモデリングすることができる。任意選択で、画像データ内のオブジェクトとして検出されない環境のさらなる機能を、環境と4Dアバターとの間の相互作用に基づいてオンザフライで生成することができる。1つの例は、地面に影を落とすことである。これらは、各アバターの位置および適切にプログラムされたパラメータ(太陽放射レベル、時刻など)に基づいて生成され、3Dモデルと統合することができる。
【0151】
生成された統合環境モデルは、さらに改善することができる。具体的には、環境に、4Dアバターが生成される少なくとも2つの相互作用するオブジェクトが含まれる状況では、単一の環境で2つのそのようなアバターを組み合わせると、4Dアバターと環境との間で上記と同様の不一致エラーが発生する可能性があり得ることが理解されよう。例えば、人間の3Dアバターは、その人が持っているテニスラケットに対してわずかにずれている可能性があり、その結果、ラケットの3Dアバターが人間の手から「浮いている」、または人間の手内に「沈んでいる」。同様に、ビリヤードの試合でビリヤードボールなどの複数の人間以外のオブジェクトをモデリングする場合、モデリングされた4Dアバターの球は、物理的に不可能な方法でオーバーラップする可能性がある。
【0152】
本発明の方法は、そのような不一致のエラーを減らし得る。具体的には、改善された方法では、分類されたオブジェクトごとの3Dアバターを構築することが、複数の3Dアバターを構築することを含み、方法が、複数の3Dアバター間の相互作用を制約することによって、統合環境の構築を洗練して、環境に対する1つ以上の4Dオブジェクトの配置の推定を洗練することをさらに含む。制約は、時間的二次推定器を含む、ニューラルネットワーク、または別の好適な統計的および/または確率論的方法の適用によって実装されてもよい。さらに、または代替として、発見的に開発されたルールを実装することができる。例えば、システムのオペレータは、特定のオブジェクトとオブジェクトとの相互作用を効果的にモデリングする方程式のセットを指定することができ、これらの方程式は互いに対するおよび環境に対するオブジェクトの位置決めを洗練するために適用される。さらに、制約には、物理法則からの既知の方程式に基づいて、複数の3Dアバター間の可能な相互作用を洗練することが含まれてもよい。
【0153】
発見的に開発されたルールまたは物理法則からの既知の方程式は、複数のオブジェクトの時間依存性の場所を記述し、4Dモデルが導出された複数のオブジェクトに同時に適用されてもよい。したがって、各オブジェクトの時間依存性の発展がそのオブジェクトの4Dベクトルの形で分かっている場合、システムは、各4Dベクトルが、発見的方程式、物理法則からの方程式、またはその他の制約によって設定された制約を同時に満たす必要があることを制約することによって、これらの4Dベクトルを相互に、および環境に対して同時に配置/方向付けし得る。
【0154】
例えば、ビリヤードの試合は、平面上で相互作用する複数の固体球を含み、複数の固体球の相互作用は、オブジェクトを、ニュートンの衝突ダイナミクスに基づいて少なくとも部分的に予測可能にモデリングすることができる。したがって、ビリヤードテーブル上のモデリングされた各ボールの4Dベクトルは、各4Dベクトルが空間および時間の衝突ダイナミクスを記述する方程式を同時に満たす必要があることを制約することにより、相互および環境に対して同時に方向付け/配置される。
【0155】
統合された4Dモデルは、本発明の方法の出力を表す。上記のように、出力される統合4Dモデルは、3D環境および4Dスケルトン(3Dモデルが後でマッピングされ得る)のみを含み得るか、または3D環境、および4Dスケルトンにすでにマッピングされた4Dアバターを含み得る。この統合された4Dモデルは、その後、本発明の利点に沿って様々な目的のために操作かつ実装され得る。例えば、モデルを使用して、画像データに表示されなかった統合環境の新しい2D画像またはビデオをレンダリングすることができる。例えば、レンダリングされた画像またはビデオは、新しい視点から環境を表す場合がある(例えば、サッカーの試合自体のピッチ、または群衆のスタンドの任意の要求されたポイント)。生成されたデータは、仮想拡張現実(VAR)ヘッドセットで使用するためのVARデータであってもよい。オペレータは、決定された4Dモデルを手動で洗練して、精密さを高めることもできる(例えば、上記の方法でまだ修正されていないジッタまたは不整合を平滑化するため)。出力データ(つまり、4D環境モデルおよびその構成要素の各々)は、視覚出力(例えば、2D出力、3D出力)の生成に使用する既知のエンジンで使用するように構成されてもよい。例えば、4DモデルはUnityビデオゲームエンジンでの使用に好適であり得る。
【0156】
上述のように、出力データには、環境に依存しない決定された4Dスケルトンが含まれる場合があり、または、4D統合環境モデルを記述するデータから4Dスケルトンを分離することもできる。有利には、出力データに含まれる4Dスケルトンを使用して、1つ以上のオブジェクトの3Dまたは4Dモデルを生成し、追加の画像データと統合することもできる。具体的には、方法は、追加の時間順に並べられたフレームのシーケンスを含む追加の画像データをキャプチャすることと、オブジェクトの4Dアバターを生成することと、その4Dアバターの二次元表現を追加の画像データにオーバーレイ(または重ね合わせ)して、オブジェクトの描写により追加の時間順に並べられたフレームのシーケンスを補強することと、をさらに含み得る。例えば、ライブのサッカーの試合のビデオフィードに、追加のプレーヤーを補強して、それらのプレーヤーを描写してもよい。代替的に、4Dモデルは、スタジオ環境のビデオフィードを補強して、サッカー選手の画像、およびそのサッカー選手がスタジオのプレゼンターと一緒に行ったアクションを表示してもよい。
【0157】
上記のように、中間3Dおよび4D記述子情報は、環境内で検出されたオブジェクトの他の特性および/またはプロパティを判定するために使用され得る。これらの特性および/またはプロパティは、最終的な統合4Dモデルから推測/決定することもできる。よって、可動オブジェクトと環境との関係に関する特性および/またはプロパティは、モデルから推測してもよい(例えば、プレーヤーがピッチの特定のエリアで費やした時間、他のプレーヤー/オブジェクトに対する相対速度など)。
【0158】
特性および/またはプロパティは、事前にプログラムされた方程式によって自動的にリアルタイムで(3Dデータの決定と同時に)判定され得るが、モデルの計算後にオペレータが手動で判定してもよい。
【0159】
上記の例は、方法に関するものであり、上記の方法のいずれかまたはすべては、好適に構成されたコンピュータによって実装することができることが理解されよう。具体的には、本発明の一部を形成することは、上記の任意の方法の方法を実行するように構成されたプロセッサを備えるコンピュータである。上記の説明では、方法を洗練するために人間のオペレータによって実行され得る特定のステップが参照されてきた。しかしながら、そのような人間ベースの入力は任意選択であり、方法は、コンピュータシステムによって自動化された方法で完全に実行され、入力画像データに基づいて環境の4D時空間モデル(およびその4D時空間モデルの自動分析の結果)を自動的に作成かつ出力することができることが理解されよう。例えば、システムのユーザは、画像データ(ビデオフィードの形式)をアップロードし、画像データのコンテキスト(例えば、スポーツのタイプ)を識別してから、データを分析するようにコンピュータに指示し得る。コンピュータは、自動化された方法で、説明された方法で出力データを生成し、該出力データは、環境の視覚化可能なモデルをレンダリングするための好適なエンジンへのエクスポートに好適である。
【0160】
本発明を実施するための例示的なシステム700が図7に示されている。システム700は、コンピュータ702を含む。コンピュータ702は、画像データ708を受信するステップを含む、上記の任意の方法に従って方法を実行するように構成されたプロセッサ704を備える。画像データ708は、いくつかのビジョンシステム710のうちの1つ以上から受信される。各ビジョンシステムは、カメラからコンピュータ702にデータを送信するように任意の好適な方法で構成されており、これは、有線接続712aを介してコンピュータと通信する有線カメラ710a、およびネットワーク712bを介してコンピュータ702と通信するように構成されたリモートカメラ710bを備えることができる。ネットワークは、データの通信に好適な一種のネットワーク(例えば、WLAN、LAN、3G、4G、5Cなど)であってもよい。コンピュータは、任意の好適なデータを保存することができるストレージ714を備える(例えば、ビジョンシステム710から受信した画像データ708、または上記の所定の3Dモデル)。
【0161】
また、本発明の一部を形成するのは、プロセッサ(プロセッサ704など)によって実行されるときに、プロセッサに上記の任意の方法を実行させる命令を含むコンピュータプログラムである。コンピュータプログラムは、別個のコンピュータ記憶媒体上に維持され得るか、またはコンピュータプログラムは、ストレージ714に保存され得る。コンピュータプログラムは、上記のように、統計的および/または確率論的方法ならびにニューラルネットワークの実装を含む、方法のすべてのステップを実装するために必要な命令およびコーディングを含む。コンピュータプログラムは、コンピュータ702から遠隔的に維持または保存されている他のプログラムおよび/またはデータを参照し得る。
【0162】
本発明を実行するように構成されたプロセッサ704は、図7Bに示すように、一連の適切に構成されたモジュールとして理解することができる。例えば、プロセッサは、上記のすべてのオブジェクト検出ステップを実行する検出モジュール720、上記のすべてのオブジェクト分類ステップを実行する分類モジュール722、上記のすべての2Dスケルトン決定ステップを実行する2Dスケルトン決定モジュール724、上記のすべての3Dスケルトン構築ステップを実行する3Dスケルトン構築モジュール726、上記のすべてのトラッキングステップを実行するトラッキングモジュール728、上記のすべての3D環境構築ステップを実行する3D環境構築モジュール730、上記のすべての統合ステップを実行する統合モジュール732、を備えることができる。説明されたモジュールは、限定することを意図しておらず、プロセッサが上記の方法を実行できるようにするために、プロセッサの多くの好適な構成が可能であることが理解される。
【0163】
本発明の好ましい実施形態が説明されてきたが、これらは単なる例に過ぎず、様々な修正が企図され得ることが理解されるべきである。
【0164】
以下の番号付き段落(NP)で、様々な例を説明する。
【0165】
NP1.スポーツの試合におけるオフサイドルールへの準拠を判定する際に使用するために、スポーツ環境の画像データから3Dデータを導出するための方法であって、該方法が、
少なくとも1つのカメラから、環境を表す画像データを受信すること、
画像データから、環境内の少なくとも1つのオブジェクトを検出すること、
少なくとも1つの検出されたオブジェクトを分類すること、を含み、方法が、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、
ニューラルネットワークを実装して、分類されたオブジェクトに対応する画像データ内の分類されたオブジェクトの特徴を識別することにより、分類されたオブジェクトの2Dスケルトンを決定することと、
決定された2Dスケルトンを3Dにマッピングすることを含む、分類されたオブジェクトの3Dスケルトンを構築することと、を含む、方法。
【0166】
NP2.該少なくとも1つのオブジェクトの各々が、複数の関連するサブオブジェクトを含み、該少なくとも1つのオブジェクトごとに、
少なくとも1つのオブジェクトを検出することが、複数の関連するサブオブジェクトの各々を検出することを含み、
少なくとも1つのオブジェクトを分類することが、複数の関連するサブオブジェクトの各々を分類することを含み、
分類されたオブジェクトの2Dスケルトンを決定することが、分類されたサブオブジェクトに対応する画像データ内の複数の分類されたサブオブジェクトの各々の特徴を識別することを含む、NP1に記載の方法。
【0167】
NP3.分類されたオブジェクトごとに、決定された2Dスケルトンを3Dにマッピングすることが、
ニューラルネットワークの実装、ならびに/または
決定された2Dスケルトンに統計的および/または確率論的方法を適用し、統計的および/または確率論的方法にホロノミックな拘束を適用すること、を含む、NP1またはNP2に記載の方法。
【0168】
NP4.少なくとも1つの検出されたオブジェクトを分類することが、少なくとも1つの検出されたオブジェクトのうちの第1の検出されたオブジェクトを人間のオブジェクトとして分類することを含み、統計的および/または確率論的方法が決定された2Dスケルトンに適用される場合、ホロノミックな拘束が、人間の解剖学的なホロノミックな拘束を含む、NP3に記載の方法。
【0169】
NP5.少なくとも1つの検出されたオブジェクトを分類することが、少なくとも1つの検出されたオブジェクトのうちの第2の検出されたオブジェクトを人間以外のオブジェクトとして分類することを含む、先行NPのいずれかに記載の方法。
【0170】
NP6.少なくとも1つのカメラが、複数のカメラを含み、
少なくとも1つのオブジェクトを検出することが、各カメラから収集された画像データ内の該少なくとも1つのオブジェクトを検出することを含み、
少なくとも1つのオブジェクトを分類することが、各カメラから収集された画像データ内の該少なくとも1つのオブジェクトを分類することを含み、
各分類されたオブジェクトについて2Dスケルトンを決定することが、複数の2Dスケルトンを決定することを含み、該複数の2Dスケルトンの各々が、複数のカメラのうちの異なるカメラから収集された画像データ内の分類されたオブジェクトの特徴を識別することから決定され、
3Dスケルトンを構築することが、決定された複数の決定された2Dスケルトンを組み合わせることを含む、先行NPのいずれかに記載の方法。
【0171】
NP7.
画像データから、環境の3Dモデルを構築することと、
分類された少なくとも1つのオブジェクトごとに、分類されたオブジェクトの3Dスケルトンと3D環境モデルとを統合することを含む、3D統合環境を構築することと、
分類されたオブジェクトごとに、3D環境に関する分類された少なくとも1つのオブジェクトの3Dスケルトンの配置情報を導出して、3D環境内のプレーヤーがオフサイドルールに準拠しているかどうかを判定することを含む、統合3D環境の特性を判定することと、をさらに含む、先行NPのいずれかに記載の方法。
【0172】
NP8.
画像データから、環境の3Dモデルを構築することと、
分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、構築された3Dスケルトンと分類されたオブジェクトに対応する3Dモデルとを統合することを含む、分類されたオブジェクトの3Dアバターを構築することと、
決定された3D環境モデルと、分類された少なくとも1つのオブジェクトごとの構築された3Dアバターとを統合して、統合環境の3Dモデルを構築する、統合することであって、該統合環境が、該環境および環境内の該オブジェクトを含む、統合することと、
分類されたオブジェクトごとに、3D環境に関する分類されたオブジェクトの3Dアバターの配置情報を導出して、3D環境内のプレーヤーがオフサイドルールに準拠しているかどうかを判定することを含む、統合環境の3Dモデルの特性を判定することと、をさらに含む、NP1~6のいずれか1つに記載の方法。
【0173】
NP9.
少なくとも1つのカメラの各カメラから収集された画像データが、時間順に並べられたフレームのシーケンスを含み、
環境内の少なくとも1つのオブジェクトの該検出が、時間順に並べられたフレームのシーケンスの各フレームにおいて該少なくとも1つのオブジェクトを検出することを含み、
少なくとも1つの検出されたオブジェクトの該分類が、フレームのシーケンスの各フレームにおいて少なくとも1つの検出されたオブジェクトを分類することを含み、
分類された少なくとも1つのオブジェクトの各分類されたオブジェクトが、時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされる、NP1~6に記載の方法。
【0174】
NP10.各分類されたオブジェクトが、再帰的推定器を実装することによって、時間順に並べられたフレームのシーケンスの全体にわたってトラッキングされ、分類されたオブジェクトごとに、決定された2Dスケルトンを3Dにマッピングすることが、
複数の3Dスケルトンを決定して、時変3Dスケルトンを形成することと、
時間順に並べられたフレームのシーケンスの全体にわたって再帰的推定器を適用して、分類されたオブジェクトの時変3Dスケルトンを決定することと、を含む、NP9に記載の方法。
【0175】
NP11.再帰的推定器の適用が、時間依存性のホロノミックな拘束を適用することを含む、NP10に記載の方法。
【0176】
NP12.画像データから、環境の3Dモデルを構築することをさらに含む、NP9~11のいずれか1つに記載の方法。
【0177】
NP13.3D環境モデルが、
位置決めマッピング技術を画像データに適用して、少なくとも1つのカメラの各カメラの位置および向きを推定し、環境マップを構築することと、
環境マップを環境の事前に決定された3Dモデルにマッピングすることにより、3Dモデルを構築することと、によって構築される、NP12に記載の方法。
【0178】
NP14.時変3Dスケルトンと3D環境モデルとを統合して、時変統合環境を構築することと、
分類されたオブジェクトごとに、3D環境に関する分類されたオブジェクトの3Dスケルトンの時変配置情報を導出して、3D環境内のプレーヤーがオフサイドルールに準拠しているかどうかを判定することを含む、統合時変3D環境の特性を判定することと、をさらに含む、NP12またはNP13に記載の方法。
【0179】
NP15.方法が、分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、
構築された3Dスケルトンと分類されたオブジェクトに対応する3Dモデルとを統合することを含む、分類されたオブジェクトの3Dアバターを構築することをさらに含む、先行NPのいずれかに記載の方法。
【0180】
NP16.方法が、画像データの解像度よりも高い解像度で、分類されたオブジェクトに対応する3Dモデルをキャプチャすることをさらに含む、NP15に記載の方法。
【0181】
NP17.
分類された少なくとも1つのオブジェクトの分類されたオブジェクトごとに、構築された3Dスケルトンと分類されたオブジェクトに対応する3Dモデルとを統合することを含む、分類されたオブジェクトの3Dアバターを構築することと、
決定された3D環境モデルと、分類されたオブジェクトごとの構築された3Dアバターとを統合して、統合環境の3Dモデルを構築する、統合することであって、該統合環境が、該環境および環境内の該オブジェクトを含む、統合することと、
分類されたオブジェクトごとに、3D環境に関する分類されたオブジェクトの3Dアバターの配置情報を導出して、3D環境内のプレーヤーがオフサイドルールに準拠しているかどうかを判定することを含む、3D環境モデルの特性を判定することと、をさらに含む、NP12またはNP13に記載の方法。
【0182】
NP18.3D環境内のプレーヤーがオフサイドルールに準拠しているかどうかを判定する方法が、ユーザ検出または自動検出されたイベントに応答して、
2D垂直平面を生成するステップであって、該2D平面が、プレーヤーの体の部分がオフサイドであるとみなされ得るポイントの後ろと交差する、ステップと、
プレーヤーの事前定義された部分が、二次元平面のどちら側に見つかり得るかを判定するステップと、を含む、NP7、NP8、NP14、またはNP17のいずれか1つに記載の方法。
【0183】
NP19.フィルタリング方法を使用して、構築された3Dアバターに時間依存性の平滑化を適用することによって、統合環境の構築を洗練することをさらに含む、NP17に記載の方法。
【0184】
NP20.各構築された3Dアバターと3D環境モデルとの間の相互作用を制約することによって、統合環境の構築を洗練することをさらに含む、NP17またはNP19に記載の方法。
【0185】
NP21.分類されたオブジェクトごとの3Dアバターを構築することが、複数の3Dアバターを構築することを含み、方法が、複数の3Dアバター間の相互作用を制約することによって、統合環境の構築を洗練することをさらに含む、NP17~NP20のいずれか1つに記載の方法。
【0186】
NP22.先行NPのいずれかに記載の方法を実行するように構成されたプロセッサを備える、コンピュータ。
【0187】
NP23.プロセッサによって実行されると、プロセッサにNP1~NP21のいずれかに記載の方法を実行させる命令を含む、コンピュータプログラム。
図1
図2
図3A
図3B
図3C
図4A
図4B
図4C
図5
図6
図7A
図7B
【国際調査報告】