JP2022051532A - 仮想環境を介してオブジェクトのパスを生成するための方法、装置、およびコンピュータプログラム製品 - Google Patents

仮想環境を介してオブジェクトのパスを生成するための方法、装置、およびコンピュータプログラム製品 Download PDF

Info

Publication number
JP2022051532A
JP2022051532A JP2021148263A JP2021148263A JP2022051532A JP 2022051532 A JP2022051532 A JP 2022051532A JP 2021148263 A JP2021148263 A JP 2021148263A JP 2021148263 A JP2021148263 A JP 2021148263A JP 2022051532 A JP2022051532 A JP 2022051532A
Authority
JP
Japan
Prior art keywords
virtual environment
image data
image
bat
time point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021148263A
Other languages
English (en)
Inventor
ウィリアム ブレナン
Brennan William
アンソニー ダニエル
Daniels Anthony
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Sony Europa BV
Original Assignee
Sony Group Corp
Sony Europa BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Group Corp, Sony Europa BV filed Critical Sony Group Corp
Publication of JP2022051532A publication Critical patent/JP2022051532A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • G06V20/42Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • G06T2207/30224Ball; Puck
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

【課題】仮想環境を通過するオブジェクトのパスを生成する方法を提供する。【解決手段】仮想環境を通過するオブジェクトのパスを生成する生成方法は、複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、各画像キャプチャデバイスから、第1の時点及び少なくとも1つの第2の時点で、画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、第1の時点及び少なくとも1つの第2の時点で、画像データ内のオブジェクトに関連付けられた複数の点の上記位置を仮想環境に投影して、各時点で、仮想環境内の上記オブジェクトに関連付けられた複数の点の位置を生成し、複数の点の上記位置を使用して、仮想環境を通過するオブジェクトの位置及び向きを示す。【選択図】図11

Description

本開示の分野は、仮想環境を通過するオブジェクトのパスを生成するための方法、装置、およびコンピュータプログラム製品に関する。
本明細書で提供される「背景技術」の説明は、本開示の背景を大まかに提示するためのものである。ここで指名されている発明者の研究開発は、出願時に従来技術とみなされない本開示における態様の説明と同様に、この背景セクションで説明される範囲で、本開示に対する従来技術として明示的にも黙示的にも認められない。
近年、イベント(スポーツイベント等)のビデオカバレッジのレベルが増加している。すなわち、ビデオコンテンツのブロードキャスターまたはプロバイダの数は、これらのイベントのビデオカバレッジに対する需要の増加に伴って著しく増加している。さらに、コンテンツダイジェスタ(ビデオコンテンツの視聴者および消費者等)は、現在、カバーされているイベント(または複数のイベント)に関して、ブロードキャスターおよびプロバイダからますます高レベルのビデオサービスを要求している。
特に、コンテンツダイジェスタには以前には利用できなかった特定の付加情報を提供するために、イベントのビデオカバレッジを使用することに関心がある。これは、部分的には、向上した視聴体験を提供し、イベントへの没入感を増大させることを可能にするという要望によるものである。さらに、特定の種類の付加情報の提供は、発生したイベントを分析するときに特に有用であり得る。
しかしながら、特定のタイプのイベントに対して適切な付加情報を提供することは困難であり得る。
特に、特定のイベント(スポーツイベント等)は、多くの異なるオブジェクトを含む複雑なものであることが多い。異なるオブジェクトが多数存在するために、イベント内の特定のオブジェクトを確実に分析することは困難であり得る。さらに、このイベントにおけるオブジェクトの移動および移動パターンは、非常に複雑であり得る。これにより、これらのオブジェクトに関する特定の情報をイベントの画像から取得することがより困難になる。
したがって、付加情報に対する要求は、提供可能なものを超えることが多い。
本開示の目的は、これらの問題に対処することである。
本開示の第1の態様では、仮想環境を通過するオブジェクトのパスを生成する方法であって、
物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成し、
上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成する
生成方法が提供される。
本開示の第2の態様では、仮想環境を通過するオブジェクトのパスを生成するための装置であって、
物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成し、
上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成する
ように構成された回路を具備する
生成装置が提供される。
本開示の第3の態様では、コンピュータによってプログラムが実行されるときに、上記コンピュータに仮想環境を通過するオブジェクトのパスを生成する方法であって、
物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成し、
上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成する
生成方法
を実行させる命令を含む
コンピュータプログラム製品が提供される。
本開示の実施形態によれば、実世界環境におけるオブジェクトの動きに基づいて、仮想環境を通過するオブジェクトのパスを効率的かつ確実に生成することができる。生成されたパスは、オブジェクトに関する付加情報を決定するために分析することができる。実際に、生成されたパスは、物理的スキルの性能または物理的タスクの性能を改善するために、訓練のために使用される場合に特に有利であり得る。
もちろん、本開示は、上記の有利な技術的効果に特に限定されるものではない。本開示を読めば、他の有利な技術的効果が当業者に明らかになるであろう。
前述の段落は一般的な導入により提供されており、以下の特許請求の範囲を限定することを意図するものではない。説明される本実施形態は、さらなる利点とともに、添付の図面と併せて以下の詳細な説明を参照することによって最もよく理解されるであろう。
本開示が、以下の添付図面に関連して考慮される場合、以下の詳細な説明を参照することによってよりよく理解されるように、本開示のより完全な理解とそれに付随する多くの利点とが、容易に得られるであろう。
図1は、本開示の実施形態による装置を示す。 図2は、本開示の実施形態による例示的な状況を示す。 図3は、本開示の実施形態による装置の例示的な構成を示す。 図4は、本開示の実施形態による一連の画像の例を示す。 図5Aは、本開示の実施形態による、オブジェクトに関連付けられた点を検出する例を示す。 図5Bは、本開示の実施形態による、オブジェクトに関連付けられた点を検出する例を示す。 図6は、本開示の実施形態によるモデルを訓練する例を示す。 図7は、本開示の実施形態による、オブジェクトに関連付けられた点を検出する例を示す。 図8は、本開示の実施形態による、検出された点を仮想環境に投影する例を示す。 図9は、本開示の実施形態による、仮想環境を通過するオブジェクトのパスの例を示す。 図10Aは、本開示の実施形態による、仮想環境を通過するオブジェクトのパスの例を示す。 図10Bは、本開示の実施形態による、仮想環境を通過するオブジェクトのパスの例を示す。 図11は、本開示の実施形態による方法を示す。
ここで図面を参照すると、いくつかの図を通して、同様の参照番号は、同一または対応する部分を示す。
図1を参照すると、本開示の実施形態による装置1000が示されている。典型的には、本開示の実施形態による装置1000は、サーバに接続されたパーソナルコンピュータまたは端末等のコンピュータデバイスである。実際、諸実施形態では、装置はサーバであってもよい。装置1000は、マイクロプロセッサまたは他の処理回路1002を使用して制御される。
処理回路1002は、コンピュータ命令を実行するマイクロプロセッサであってもよいし、特定用途向け集積回路であってもよい。コンピュータ命令は、記憶媒体1004に記憶される。記憶媒体1004は、磁気的に可読な媒体、光学的に可読な媒体、またはソリッドステートタイプの回路であってもよい。記憶媒体1004は、(図示されているように)装置1000に統合されてもよく、あるいは、装置1000とは分離して、有線または無線接続のいずれかを使用して装置1000に接続されてもよい。コンピュータ命令は、処理回路1002にロードされると、本開示の実施形態による方法を実行するように処理回路1002を構成するコンピュータ可読コードを含むコンピュータソフトウェアとして具現化されてもよい。
ここで、ユーザ入力1006が、処理回路1002に追加的に接続される。ユーザ入力1006は、タッチスクリーンであってもよいし、マウスまたはスタイラスタイプの入力デバイスであってもよい。ユーザ入力1006は、キーボードまたはこれらのデバイスの任意の組み合わせであってもよい。ユーザ入力1006は、音声指示等のオーディオ入力を受信するように構成されてもよい。
ネットワーク接続1008も処理回路1002に結合される。ネットワーク接続1008は、ローカルエリアネットワークへの接続、またはインターネットやバーチャルプライベートネットワーク等のワイドエリアネットワークへの接続であってもよい。ネットワーク接続1008は、処理回路1002が他のサーバまたは他のデバイスと通信して、関連データを取得するか、または、これらの他のサーバまたは他のデバイスに関連データを提供することを可能にする、外部サーバまたは外部デバイスに接続されてもよい。さらに、ネットワーク接続1008は、ファイアウォールまたは他の何らかの形態のネットワークセキュリティに守られて配置されてもよい。実際、ネットワーク接続1008は、接続されたデバイスとの暗号化された通信を実行するために使用されてもよい。
さらに、表示デバイス1010が処理回路1002に結合される。表示装置1010は装置1000に統合されて示されているが、装置1000とは別個であってもよく、ユーザがシステムの動作を視覚化することを可能にするモニタまたは何らかの種類のデバイスであってもよい。さらに、表示デバイス1010は、装置1000によって生成された関連情報をユーザまたは第三者が見ることができるようにするプリンタまたは他の何らかのデバイスであってもよい。実際、装置1000は、多数の表示デバイス1010に同時にデータを出力することができてもよい。
以下の説明および図面を参照して、本発明の実施形態に係る装置1000のより具体的な構成について説明する。
ここで本開示の図2を参照すると、本開示の実施形態による例示的な状況が示されている。図2の例では、スポーツイベントが本開示の実施形態によるイベントのタイプの例として示されている。物理的環境2000(競技場または競技面等)が示されている。実際、この例では、物理的環境は野球場である。選手2002は、競技場の特定の位置2004に立っている。特定の位置2004は野球の試合中に、選手(バッターまたは打者)がピッチャー(バッターに向かってボールを投げる選手)から投球を受ける準備ができたときに立つバッターボックス等の野球場の領域である。したがって、この例では、選手2002はバッターである。したがって、選手2002(バッター)は、ピッチャーによって投げられたボールを打ったりするための野球バット等のオブジェクト2006を保持する。
多数の画像キャプチャデバイス2010が物理的環境2000内に(すなわち、競技場上または競技場周辺の異なる位置に)配置される。これらの画像キャプチャデバイス2010は、ブロードキャスターまたは他のコンテンツプロバイダに提供するために野球の試合の画像をキャプチャする。画像キャプチャデバイス2010の各々は、野球の試合の異なるビューをキャプチャする。画像キャプチャデバイスは、野球の試合の静止画像または動画像をキャプチャすることができるビデオカメラであってもよい。これらの画像は、野球の試合の高精細画像であってもよい。しかしながら、これらの画像は、野球の試合の4Kまたは8K画像のような、より高い解像度のものであってもよい。より一般的には、画像キャプチャデバイス2010が、所与の状況に必要とされる任意の解像度でスポーツイベントの画像または一連の画像をキャプチャすることが可能であってもよい。
いくつかの例では、画像キャプチャデバイス2010からの視野が野球場の一部のみをカバーしていてもよい。例えば、画像キャプチャデバイス2010は、バッター2002が位置する野球場の領域の画像をキャプチャしてもよい。しかしながら、他の例では、画像キャプチャデバイス2010は、野球場2000の大部分を包含する、はるかに広い視野を有していてもよい。
ここで、上述のように、画像キャプチャデバイス2010によってキャプチャされた画像は、これらの画像を放送することができるテレビ放送局に提供されてもよく、これにより、これらの画像は互換性のある視聴デバイスを有する他の人々によって視聴され得る。すなわち、例えば、家庭のパーソナルテレビジョンおよび/またはコンピューティングデバイス上で、選手2002が野球の試合をプレイするのを見ている多数の視聴者がいてもよい。しかしながら、他の状況では、画像キャプチャデバイスからの画像が、必要に応じて、後でアクセスできる記憶部2012等のデータベースに記憶されてもよい。このように、野球の試合の画像は、画像キャプチャ時に送信または放送される必要はない。
いくつかの例では、画像キャプチャデバイス2010が固定された位置/場所(例えば、野球場2000上の固定された位置または場所)を有していてもよい。あるいは、画像キャプチャデバイス2010は、スポーツイベントが進行するにつれて野球場の周りを移動することが可能であってもよい。さらに、画像キャプチャデバイス2010が物理的環境2000内の固定位置に留まっている場合であっても、画像キャプチャデバイス2010は、視野を変えるために、そのマウント/スタンド上で回転することができてもよい。したがって、より一般的には、カメラの並進運動が制限されていても、カメラの回転運動が可能であることが理解されよう。これにより、画像キャプチャデバイスは、物理的環境2000のより多くの部分の画像をキャプチャすることができる。
したがって、画像キャプチャデバイス2010は、野球場2000でプレイされている野球の試合の画像または一連の画像をキャプチャするが、本開示の実施形態によれば、画像キャプチャデバイス2010の形態およびタイプは特に限定されない。
ここで、この例では、野球の試合中のある段階において、ピッチャー(示されていない)はバッター2002に向かって野球ボール2008を投げる。野球ボール2008が選手2002に向かって物理的環境を通過する軌跡は、本開示の図2の線P2によって示されている。この段階で、バッター2002は野球ボール2008を打つために野球バット2006を振る。野球バット2006のスイングは、本開示の図2の線P1によって示される。
したがって、画像キャプチャデバイス2010によってキャプチャされた画像を見ている人物(視聴者等)は、選手2002が野球バット2006で野球ボール2008を打つ(または打とうとする)のを見ることができる。
しかし、画像キャプチャデバイス2010によってキャプチャされた画像を見ている人物が、野球バット2006のスイングの詳細および/または野球バット2006と野球ボール2008との相互作用の詳細を理解することは困難である。
例えば、画像キャプチャデバイス2010によってキャプチャされた画像を見るとき、あたかもバッター2002が野球バットを上手にスイングしたかのように見えることがあり、そのスイングは、野球バットで打たれた後の野球ボール2008の良好な弾道をもたらすはずである。しかしながら、野球ボール2008と野球バット2006との相互作用が複雑であるため、当該バッターは実際には野球ボール2008と上手く接触していない可能性がある。したがって、野球バット2006によって打たれた後の野球ボール2008の軌跡が予想ほど良好でない場合、画像キャプチャデバイス2010によってキャプチャされた画像を見る人物を混乱させ、フラストレーションを引き起こす可能性がある。
さらに、画像キャプチャデバイス2010によってキャプチャされた画像において野球バット2006のスイングが良好に見える場合において、結果(例えば、野球バット2006と接触した後の野球ボールの軌跡)が予想ほど良好でないときは、人物(コーチまたは選手等)が、スポーツイベント内でどのように自分のパフォーマンスを向上させることができるかを理解することが困難であり得る。
さらに、画像キャプチャデバイス2010の各々は野球場2000の特定の視野を含む画像または画像のストリームをキャプチャするので、これらの画像キャプチャデバイス2010のうちの1つから画像を見るとき、野球バット2006のスイングを見ることは困難であり得る。すなわち、野球バット2006のスイングの特定の部分は、画像キャプチャデバイス2010のうちの1つ以上の画像キャプチャデバイス2010から見たときに、他のオブジェクト(バッター2002の本体または他の選手(図示せず)等)によって覆い隠され得る。これにより、画像キャプチャデバイス2010によってキャプチャされた画像において、野球バットのスイングが良好であるか否かを判断することが困難になる。物理的環境内に存在する異なる画像キャプチャデバイス2010によってキャプチャされた画像間の迅速な切り替えは、野球バットのスイングのビューのいくらかの改善につながり得る。しかしながら、画像キャプチャデバイスの画像間の迅速な切り替えは、画像の視聴者を混乱させる可能性がある。さらに、画像データの分析をさらに複雑にし、計算を困難にする可能性がある。
したがって、イベント(図2に示す野球の試合等)内の特定のオブジェクトの動きを確実に分析することができ、イベントに関する付加情報を提供することができ、イベントの分析および理解を改善することができるのが望ましい。
したがって、これらの問題(および本開示の背景で説明した問題)に対処するために、本開示によれば、仮想環境を通過するオブジェクトのパスを生成するための装置が提供される。
<装置>
図3は、本開示の実施形態による、仮想環境を通過するオブジェクトのパスを生成するための装置の構成を示す。すなわち、(本開示の図1を参照して説明したような)処理回路1002の特定の例示的な構成が示されている。特に、処理回路1002は、本例では、受信部3000、検出部3002、投影部3004、および生成部3006として構成される。
本開示の諸実施形態によれば、受信部3000は、物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信するように構成されてもよい。さらに、受信部3000は、上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信するように構成されてもよい。検出部3002は、各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出するように構成され得る。次いで、投影部3004は、各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成するように構成されてもよい。最後に、装置1000の生成部3006は、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成するように構成されてもよい。
このようにして、装置1000は、実世界におけるオブジェクトの動きに基づいて、仮想環境を通過するオブジェクトのパスを効率的かつ確実に生成することができる。生成されたパスは、オブジェクトおよびその動きに関する付加情報を決定するために分析することができる。これにより、以前には利用できなかった付加情報を、オブジェクトに関して決定することができる。実際、生成されたパス、および生成されたパスの分析から決定された情報は、物理的スキルの性能または物理的タスクの性能を改善するための訓練デバイスとして使用される場合に特に有利であり得る。
本開示の実施形態による装置1000のより詳細な説明は、本開示の図4から図10を参照して提供される。
<受信部>
上述したように、装置1000の受信部3000は、物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点および少なくとも1つの第2の時点において、画像を受信するように構成される。いくつかの例では、少なくとも1つの第2の時点における画像が、第1の時点において受信した画像の画像キャプチャデバイスと同じ画像キャプチャデバイスから受信されてもよい。しかしながら、他の例では、異なる複数の画像キャプチャデバイスが、第1の時点および少なくとも1つの第2の時点において、画像をキャプチャしてもよい。
ここで、本開示の図2の例に戻ると、装置1000は、物理的環境2000内に存在するものとして示されている。しかしながら、装置1000は実際には物理的環境2000に存在する必要はなく、その代わりに、画像キャプチャデバイスから画像を受信することができる限り、何らかの異なる場所(サーバ側等)に配置されてもよいことが理解されよう。
さらに、装置1000は、いくつかの例では、画像キャプチャデバイス2010からの画像が当該画像キャプチャデバイス2010から直接受信されるように、当該画像キャプチャデバイス2010と通信可能に接続されてもよい。あるいは、装置1000は、画像キャプチャデバイスから画像(または画像データ)を間接的に受信してもよい(したがって、必ずしも画像キャプチャデバイス2010に通信可能に接続される必要はない)。すなわち、本開示の図2の例に示されるように、装置1000は、画像キャプチャデバイス2010からの画像を記憶するために使用されるデータベースまたは記憶部2012と通信可能に接続されてもよい。この場合、装置1000の受信部3000は、画像キャプチャデバイス2010によってキャプチャされた画像を記憶部2012から受信してもよい。そのような通信接続は、(例えば、ネットワーク接続1008を使用して)装置1000、画像キャプチャデバイス2010、および/または記憶部2012の間の任意の有線接続または無線接続によって実装されてもよい。
したがって、画像が画像キャプチャ時に画像キャプチャデバイス2010から受信されてもよく、あるいは、画像がキャプチャされた後(画像が後でストレージから取り出されるとき等)に受信されてもよいことが理解されよう。この状況では、画像データが、それ自体、各画像の画像キャプチャの時間を示すことができる。
いくつかの例では、装置1000は、画像キャプチャデバイス2010から物理的環境の画像を連続的または周期的に受信してもよい。これは、物理的環境の連続的または周期的な分析を可能にするので、有利であり得る。しかしながら、画像キャプチャデバイス2010からの物理的環境の画像の連続的または周期的な受信は、装置1000のストレージおよび/または処理オーバーヘッドの著しい増加につながり得る。したがって、任意選択で、いくつかの例では、装置1000が特定のトリガイベントが物理的環境内で発生したと判定された場合にのみ、複数の画像キャプチャデバイス2010から画像を受信するように構成されてもよい。トリガイベントの検出は、画像キャプチャデバイス2010からの物理的環境の画像の受信を開始すべきであることを示す入力を提供するオペレータ等によって実行または提供されてもよい。他の例では、トリガイベントの検出は、((単一の画像キャプチャデバイス2010からの画像等の)画像の単一のストリームを監視する追加の処理部1002等の)追加のトリガ検出部によって提供されてもよい。次いで、所定のトリガイベントが検出された場合、装置1000の受信部3000は、画像キャプチャデバイス2010から物理的環境の画像を受信するように構成されてもよい。
本開示の図2を参照して説明される野球の試合の例では、所定のイベントは、ピッチャーが野球ボールをバッター2002に投げる等のイベントであってもよい。次いで、野球ボールの投球が検出されると、野球バット2006のスイングを検出することができ、かつ、スイング中の野球バットのパスを装置1000によって生成することができるように、画像キャプチャデバイス2010から画像を受信してもよい。しかしながら、トリガイベントは、この特定の例に特に限定されず、オブジェクトの画像が受信されることが所望される場合に応じて、任意の適切なトリガイベントが使用されてもよい。
トリガイベントがこのように検出されたときに複数の画像キャプチャデバイスから画像を受信することは、システムのトータルストレージおよび処理要件を低減しながら、仮想環境を通過するオブジェクトのパスを特定のイベントについて生成することができるように、特定のイベントの画像を画像キャプチャデバイスから受信することができることを保証するので、有利であり得る。
ここで、本開示の図2の例では3つの画像キャプチャデバイス2010が示されているが、本開示はこの点に関して特に限定されないことが理解されよう。すなわち、画像キャプチャデバイスの数は図示されたものより少なくてもよく(例えば、2つの画像キャプチャデバイスのみ)、あるいは、この例で図示された画像キャプチャデバイス2010の数よりはるかに多くてもよい(例えば、10、20、またははるかに多くの画像キャプチャデバイス)。実際、本開示の方法は、複数の画像キャプチャデバイスが物理的環境の周りの位置に配置される限り、画像キャプチャデバイスの任意の特定の配置またはセットアップに限定されない。しかしながら、いくつかの例では、画像キャプチャデバイスが物理的環境内のそれぞれの位置に配置されると、画像キャプチャデバイスは較正され、所定の位置にロックされ得ることが理解されよう。これは、(画像フレーム間の画像キャプチャデバイスの小さな動き(またはぐらつき)を最小限にすることによって)経時的に画像キャプチャデバイスによってキャプチャされた画像の比較を容易にする。あるいは、いくつかの例では、画像キャプチャデバイスは、画像キャプチャデバイスの動きが検出される度に再較正されてもよい。これにより、画像フレーム間で画像キャプチャデバイスが移動している場合であっても、画像キャプチャデバイスがキャプチャした画像データを比較することができる。
ここで、本開示の図4について検討する。この例では、複数の画像キャプチャデバイスから受信された一連の画像が示されている。この例で画像をキャプチャした複数の画像キャプチャデバイスのそれぞれは、物理的環境(本開示の図2を参照して説明した野球場2000等)内の特定の位置に配置され、その位置から物理的環境のビューをキャプチャする。選手(図4には図示せず)によるオブジェクト2006(野球バット2006等)のスイングは、この画像ストリーム内でキャプチャされる。
具体的には、この例では、列Iの画像は第1の画像キャプチャデバイスからの画像であり、列Iの画像は第2の画像キャプチャデバイスからの画像であり、列Iの画像は物理的環境に配置されたN番目の画像キャプチャデバイスからの画像である。任意の数の画像キャプチャデバイスが、第2の画像キャプチャデバイスと第Nの画像キャプチャデバイスとの間に含まれてもよい。
さらに、行Tの画像は第1の時点における物理的環境2000の画像であり、行Tの画像は第2の時点における物理的環境2000の画像であり、行Tの画像は第Nの時点において受信される物理的環境2000の画像である。また、任意の数の時点が、第2の時点と第Nの時点との間に含まれてもよい。いくつかの例では、第Nの時点(または実際には第2の時点の後に発生する任意の時点)が第1の時点の後に発生する第2の時点と呼ばれることもある。
上述したように、図4に示す画像の各々の中に、オブジェクト2006が示されている。これは、例えば、本開示の図2を参照して説明したような野球バットであり得る。
ここで、時刻Tに見られるように、野球バット2006は、画像I、I、およびI内において別の位置に配置されているように見える。この差は、画像I、I、およびIの各々が、第1の時点において、物理的環境内の異なる位置に配置された画像キャプチャデバイスによってキャプチャされているからである。すなわち、画像I、I、およびIの間の見掛けの違いは、これらの画像が第1の時点における野球バット2006のそれぞれの異なるビューを含むためである。
次に、第2の時点Tにおいて、野球バット2006は、第1の時点Tにおいて画像キャプチャデバイスによってキャプチャされた画像内の野球バットの位置と比較したときに、これらの画像キャプチャデバイスによってキャプチャされた画像I、I、およびIのそれぞれの中の異なる位置に移動したように見える。これは、第2の時点が第1の時点の後の時点であり、したがって、スイングの後の段階における野球バットを示すからである。
具体的には、野球バット2006の相対的な動きを、第1の時点において第1の画像キャプチャデバイスによってキャプチャされた画像と、第2の時点において第1の画像キャプチャデバイスによってキャプチャされた画像との間で見ることができる。さらに、第2の時点において第1の画像キャプチャデバイスによってキャプチャされた画像と、(第2の時点よりも遅い)第Nの時点において第1の画像キャプチャデバイスによってキャプチャされた画像との間の相対的な動きも見ることができる。したがって、異なる時点でキャプチャされた単一の画像キャプチャデバイスからの画像を比較することによって、物理的環境を通過する経時的な野球バットの動きを見ることができる。
しかしながら、上述したように、単一の画像キャプチャデバイス(第1の画像キャプチャデバイス等)からの画像は、単一の位置のみからの物理的環境を通過する経時的な野球バットの動きを示し、したがって、物理的環境を通過する野球バットの動きの単一のビューのみを提供する。したがって、野球バットの動きは3次元の物理的な実世界環境において生じるので、単一の画像キャプチャデバイスのみから画像を検査することによっては、物理的環境を通過する野球バットの動きを完全に理解することは困難であり得る。特に、深さ方向(すなわち、画像キャプチャデバイスに向かう軸上または画像キャプチャデバイスから離れる軸上)における野球バットの動きは、単一のイメージキャプチャ装置からの画像において観察することが困難であり得る。さらに、ある時点において、単一の画像キャプチャデバイスからの画像における野球バットのビューが(例えば、選手の体による妨害のために)不明瞭になることがある。したがって、単一の画像キャプチャデバイスから受信された全ての画像において野球バット2006を見ることができない可能性がある。
しかしながら、上述のように、第2の画像キャプチャデバイスおよび第Nの画像キャプチャデバイスは物理的環境2000内の野球バット2006の画像を、物理的環境内の第1の画像キャプチャデバイスの位置とは異なる位置(および互いに異なる位置)からキャプチャし、したがって、経時的な野球バット2006の動きの異なるビューを提供する。第1の画像キャプチャデバイスから受信された画像では見えない野球バットの動き(例えば、第1の画像キャプチャデバイスに向かう軸上または第1の画像キャプチャデバイスから離れる軸上の動き)は、第2の画像キャプチャデバイスからの画像Iおよび/または第Nの画像キャプチャデバイスからの画像Iで見ることができる。逆に、第1の画像キャプチャデバイスからの画像Iで見ることができる野球バット2006の動きは、第2の画像キャプチャデバイスからの画像Iおよび/または第Nの画像キャプチャデバイスからの画像Iでは見えないことがある。
言い換えれば、画像キャプチャデバイスの各々は、単一の画像キャプチャデバイスから受信した画像がスポーツイベント中に物理的環境を通過する野球バット2006の動きの固有の時系列ビューを提供するように、物理的環境内の異なる/固有の位置に配置される。
ここで、受信部3000が画像キャプチャデバイスから受信する画像データのフォーマットは、特に限定されないことが理解されよう。すなわち、受信される画像データのフォーマットは、物理的環境の画像をキャプチャするために使用される画像キャプチャデバイスのタイプに少なくとも部分的に依存する。例えば、画像データは、画像キャプチャデバイスからの未処理データを含むRAW画像ファイルであってもよい。しかしながら、他の例では、画像キャプチャデバイスから受信される画像データが受信部によって受信される前に、ある程度の量の画像処理を受けていることがある。この画像処理は、受信部によって受信される前に、画像キャプチャデバイスおよび/またはサーバによって実行されてもよい。この状況では、画像データの他の任意のタイプのフォーマット(例えば、JPEG、BMP、またはPNGファイル等画像フォーマットを含む)が使用されてもよい。実際、本開示の実施形態によれば、画像データは特に限定されない。
このようにして、受信部3000は、複数の画像キャプチャデバイス2010から画像を受信するように構成される。
<検出部>
装置1000の検出部3002は、画像が受信部3000によって受信されると、各画像キャプチャデバイスから、第1の時点および少なくとも1つの第2の時点において、画像データ内のオブジェクトに関連付けられた複数の点の位置を検出するように構成される。すなわち、(本開示の図4を参照して説明したように)画像キャプチャデバイスからの画像が(野球場2000等の)物理的環境の固有のビューを提供するとしても、これらの画像内の特定のオブジェクト(野球バット2006等)の位置は、装置1000には知られていない場合がある。したがって、検出部3002は、オブジェクトに関連付けられた複数の点を検出して受信された各画像内の特定のオブジェクト(野球バット2006等)の位置を、オブジェクト検出によって検出するように構成される。
ここで、本開示の図5Aの例について検討する。図5Aは、本開示の実施形態による、オブジェクトに関連付けられた点を検出する例を示す。
この例では、画像5000が示されている。この画像は、(本開示の図4を参照して説明した第1の時点T1等の)ある時点において、(本開示の図4を参照して説明した第1の画像キャプチャデバイスからの画像I等の)画像キャプチャデバイス2010から受信した画像である。画像5000は、画像キャプチャ時に物理的環境2000の固有のビューを提供する。この画像内には、人物2002(例えば、本開示の図2を参照して説明したバッター)およびオブジェクト2006(例えば、本開示の図2を参照して説明した野球バット)を確認することができる。
本開示の諸実施形態によれば、検出部3002は、画像5000内の野球バット2006の位置を検出するために、画像5000内の野球バット2006に関連付けられた複数の点の位置を検出するように構成される。複数の点の各々は、オブジェクト上の多数の所定の区別可能な領域(すなわち、オブジェクト上のキーポイント)に対応していてもよい。すなわち、所与のオブジェクト(野球バット等)は、そのオブジェクト上の他の領域と一意に区別可能ないくつかの領域を有する。オブジェクトのこれらの一意に区別可能な領域は予め(すなわち、検出部3002が画像キャプチャデバイスから受信した一連の画像中の野球バットを検出すべきであると判断されたときに)選択されてもよい。そして、検出部3002は画像内のオブジェクトの位置を検出するために、画像内の複数の点を検出する。
例えば、オブジェクトが野球バット2006である場合、オブジェクトに関連付けられた複数の点は、任意選択で、野球バットの遠位部分(すなわち、野球バットのヘッド)上の点、および野球バットの遠位部分と野球バットの近位部分(すなわち、野球バットのグリップ)との間に位置する点を少なくとも含んでもよい。実際、野球バットのヘッドと野球バットのグリップとの間に位置する点は、例えば、野球バットの胴体部分の一意に識別可能な点であってもよい。
画像内のオブジェクトの位置を検出するためにオブジェクトに関連付けられた複数の点を使用することは、たとえ多数の他の複数の点が特定の画像内で見えなくても、オブジェクトを位置決めするために多数の複数の点を使用することができるので、特に有利である。これにより、オブジェクトの識別精度が向上する。実際に、本開示の検出部は、オブジェクトを全体的に位置決めし、検出する代わりに、オブジェクト上の多数の目立たない個別の点を検出する。
本開示の図5Aの例では、野球バット2006のヘッド(またはキャップ)に関連付けられた第1の点5002が検出部によって検出される。また、検出部3002により、野球バット2006の胴体部分上の点に関連付けられた第2の点5004が検出される。最後に、検出部3002により、野球バット2006のグリップ上の点5006が検出される。
図5Aには単一の画像5000しか示されていないが、検出部3002は受信した画像(または個々の画像データ)のそれぞれにおいて、オブジェクトに関連付けられた複数の点を検出する(または検出しようと試みる)ように構成されていることが理解されよう。これは、各画像キャプチャデバイス(すなわち、第1および第2の画像キャプチャデバイス)から受信した画像と、すべての時点(すなわち、第1および第2の時点)で受信した画像とを含む。
さらに、図5Aにはオブジェクト2006に関連付けられた3つの点のみが示されているが、本開示はこの点に関して特に限定されないことが理解されよう。オブジェクトに関連付けられた少なくとも複数の点が検出部3002によって検出される場合、画像内のオブジェクトの位置を検出するために、実際には、任意の数の点を使用することができる。
いくつかの例では、検出部3002が、オブジェクトに関連付けられたそれぞれの点の画像データへのテンプレートベースの画像のマッチング等の画像処理技術により、画像データ内のオブジェクトに関連付けられた複数の点の位置を検出するように構成されてもよい。
他の例では、検出部3002は、画像データ内のオブジェクトおよび/またはオブジェクトに関連付けられた複数の点を識別するために、訓練済みモデルを使用して、オブジェクトに関連付けられた複数の点の位置を検出するように構成されてもよい。訓練済みモデルは、例えば、機械学習もしくはディープラーニングモデル、またはニューラルネットワークであってもよい。他の例では、例えば、Haar特徴ベースのカスケード機械学習オブジェクト検出アルゴリズムを使用してもよい。
オブジェクトに関連付けられた複数の点の位置を識別するためにモデルを訓練する例示的な方法を本開示の図6に示す。しかしながら、図6の例は、本開示の実施形態に従って使用することができる、オブジェクトに関連付けられた複数の点の位置を識別するためにモデルを訓練する方法の単なる一例であることが理解されよう。
この例では、教師データ6000および6002が示されている。教師データ6000および6002は訓練対象のモデルを訓練するために使用され得るオブジェクト(例えば、野球バット2006)の画像を含む。教師データは、野球バット(一般的な野球バットおよび/または検出が望まれる特定の野球バットのいずれか)の画像の大きなデータセットを含んでもよい。これらの画像は、野球バットを単独で示すことができ、かつ/あるいは、野球の試合における様々な場所および位置で野球バットの画像を示してもよい。
具体的には、教師データ6000は、例えば、野球バット2006の人工的に生成された画像を含んでもよい模擬教師データを含む。模擬教師データを使用すると、モデルを訓練するために使用することができる利用可能なデータの量を増加させることができる。対照的に、教師データ6002は、履歴教師データを含み、履歴教師データは、以前のスポーツイベント(以前の野球の試合等)から取得されたターゲットオブジェクトの映像データを含んでもよい。したがって、教師データ6000および6002は、ターゲットオブジェクトの例(野球バット2006および/または野球バット2006上の点等)を用いて訓練されるモデルを提供する。
次いで、モデル6004(ニューラルネットワーク等)は、画像データ内のオブジェクト(またはオブジェクトに関連付けられた点)のインスタンスをどのように識別するかを学習するために、訓練フェーズにおいて教師データ6000Aおよび6000Bに提供される訓練例を使用するように構成される。具体的には、本開示の諸実施形態に従って実施することができるニューラルネットワークが、入力層、出力層、およびそれらの間の多数の「隠れた」層から構成されてもよい。これらの層の各々は、多数の別個のノードを含んでもよい。入力層のノードは、それぞれ、第1の隠れ層のノードに接続される。次いで、第1の隠れ層のノードは、次の隠れ層のノード、またはそれ以上隠れ層がない場合は、出力層に接続される。しかしながら、この特定の例では、入力層のノードがそれぞれが第1の隠れ層のノードに接続されるものとして説明されているが、本開示はこの点に関して特に限定されないことが理解されよう。実際、他のタイプのニューラルネットワーク(畳み込みニューラルネットワーク等)が、本開示の諸実施形態が適用される状況に応じて望まれるように、本開示の諸実施形態に従って使用されてもよい。畳み込みニューラルネットワークの使用は、(例えば、画像内のオブジェクトに関連付けられた複数の点を識別する場合等)画像認識および分類を実行するときに特に有利であり得る。
各ノードは多数の入力を受け取り、これらの入力に基づいて出力を生成する。各ノードの入力は、それらに適用される個々の重みを有する。次いで、入力(野球バット2006の入力画像等)は、訓練中に調整される重みを使用して、隠れ層によって処理される。出力層は、(提供された入力に応じて変化する)ニューラルネットワークから予測を生成する。
いくつかの例では、ニューラルネットワークのノードの重みは、訓練中に、線形回帰モデルによって調整される。しかしながら、他の例では、訓練中にロジスティック回帰を使用することができる。基本的に、ニューラルネットワークの訓練は、提供される訓練入力データに対して、教師データ内のオブジェクトの実際の位置(すなわち、野球バットの画像および/または野球バットに関連付けられた点の各々)に最もよく適合する重み付け係数を識別するために、ニューラルネットワークのノードの重みを調整することによって達成される。
言い換えれば、訓練中に、ニューラルネットワークの入力およびターゲット出力の両方を、訓練対象のモデルに提供することができる。次いで、モデルは入力を処理し、得られた出力をターゲットデータ(すなわち、画像内の野球バット(またはその野球バットの点)の既知の位置)と比較する。次いで、出力とターゲットデータとの間の差がニューラルネットワークを介して伝播され、ニューラルネットワークに当該ニューラルネットワークのそれぞれのノードの重みを調整させる。しかしながら、他の例では、最適化処理中にシステムの制約を使用して、出力なしで訓練を達成することができる。
一旦訓練されると、新しい入力データ6006は、その後、訓練済みモデル6004の入力層に提供されることができ、これにより、訓練済みモデル6004は、(訓練中にニューラルネットワークのノードの各々に適用される重みに基づいて)所与の入力データ(野球バット2006および/または野球バット2006に関連付けられた複数の点の位置の予測)についての予測出力を生成する。いくつかの例では、新しいデータ6006は、本開示の図4を参照して説明されるような、画像キャプチャデバイスから受信された画像データである。
訓練済みモデル6004によって生成される画像データ内のオブジェクトの位置の予測は、出力6008として提供され得る。これは、オブジェクトの位置が示される画像の形態であってもよい。実際、出力6008は、オブジェクト(またはオブジェクトに関連付けられた点)が画像の特定の部分を占有する確率を示すヒートマップを含んでもよい。したがって、ヒートマップは、画像データ6006内のオブジェクト(またはオブジェクトに関連付けられた点)の検出に関する信頼区間を提供してもよい。他の例では、出力6008は、画像データ6006内のオブジェクトの位置を示すデータ(例えば、画像内のオブジェクトの画像座標等)を含んでもよい。
各層における層の数またはノードの数等のモデルの詳細は、本開示の諸実施形態が適用される状況に従って変化することが理解されよう。さらに、使用される訓練画像の数は、状況の要件およびテスト中の訓練済みモデルの性能に応じて変化する。
さらに、生成されるオブジェクトのモデル(すなわち、訓練済みモデル6004)は、オブジェクトの新しい画像6006が受信されると、継続的に再訓練されてもよい。すなわち、オブジェクトが新しい画像内で識別されると、必要に応じて、訓練済みモデル6004を再訓練するために、新しい画像を教師データ6000Aおよび6000Bと組み合わせて使用してもよい。実際に、新しいデータ6006は、分析されると、将来の訓練に使用するために履歴教師データ6002に含めてもよい。
いくつかの例では、教師データは、オブジェクトの3次元スイングと3次元位置との間の不一致を使用してデータを収集することによって、効率的に強化されてもよい。すなわち、いくつかの例では、位置の一部が欠落していても、スイングの3次元モデルを構築することが可能である。これは、例えば、欠落オブジェクトのおおよその位置が訓練例を収集するのに十分に正確である場合(現在の欠落の場合)であり得る。他の例では、2次元画像データ内のオブジェクトの検出の失敗を、野球バットの3次元モデル(または3次元スイングからの点)を、訓練をさらに向上させるために、これらのカメラが寄与できなかった画像に投影して戻すことによって修正してもよい。
さらに、上述のように、画像内のオブジェクトの位置を検出するために使用される機構は、上記の例に特に限定されないことが理解されよう。むしろ、本開示の諸実施形態が適用される状況に応じて、必要に応じて、任意のそのような方法を使用して、オブジェクト(またはオブジェクトに関連付けられた点)の位置を検出してもよい。
いくつかの例では、画像キャプチャデバイスから受信される画像データ内のオブジェクトに関連付けられた点の位置を検出するために、訓練済みモデルを使用することは計算コストが高い可能性があることが理解されよう。すなわち、例えば、多数の画像が受信される場合(例えば、多数の画像キャプチャデバイスがある場合)、受信される画像の各々における複数の点の位置を検出することは、計算コストが高い可能性がある。したがって、いくつかの例では、最初に、オブジェクトが配置されている画像キャプチャデバイスから受信された画像の領域を位置決めするために、初期オブジェクト認識ソフトウェアを使用してもよい。このようなオブジェクト認識ソフトウェアは、画像内の既知のオブジェクトの位置の識別を可能にする。これはテンプレートベースのオブジェクト認識を含んでもよく、オブジェクトの小さなターゲット画像が、より大きな画像内の対応するオブジェクトを見つけるために使用される。次いで、オブジェクトを含む領域が位置決めされると、画像データの領域内のオブジェクトに関連付けられた点の位置をより正確かつ確実に検出するために、訓練済みモデルを使用してもよい。
言い換えれば、本開示の特定の実施例では、画像内のオブジェクトの個々のインスタンス(画像内のバットの個々のインスタンス等)のバウンディングボックスを見つけるために、初期オブジェクト認識が使用される。次いで、画像内のオブジェクトの個々のインスタンスに対してバウンディングボックスが作成されると、バウンディングボックスに含まれる画像データの部分を使用して、オブジェクトに関連付けられた複数の点が検出される(すなわち、キーポイント検出が画像内のオブジェクトのバウンディングボックスに対して実行される)。
これにより、訓練済みモデルがオリジナル画像データの小さな部分にのみ適用されるので、画像データ内のオブジェクトに関連付けられた点の位置を検出するときの計算上の要求を低減することができる。さらに、最初のオブジェクト認識を使用して、オブジェクトに関連付けられた複数の点を検出する前にオブジェクトのバウンディングボックスを作成することにより、検出の精度および信頼性が改善され、これにより、検出部3002および装置1000の性能が改善される。
本開示の図5Aの例について、再び検討する。この例では、画像5000が、第1の時点において、画像キャプチャデバイス2010から受信される。この例では、画像5000は、かなり大きな画像である。したがって、画像5000内の複数の点5002、5004、および5006の位置を検出することは、計算コストが高い可能性がある。
しかしながら、本開示の諸実施形態によれば、画像5000の一部5008は、最初に、オブジェクト2006を含む画像5000の一部として識別される。これは、例えば、テンプレートに基づくオブジェクト認識を用いて決定してもよい。あるいは、一部5008は、受信した以前の画像におけるオブジェクト2006の位置に関する情報に基づいて識別されてもよい。次いで、この一部5008が識別されると、訓練済みモデルは、一部5008内の複数の点5002、5004および5006の位置を検出するために使用され得る。これは、画像5000内の複数の点の検出のための効率的なプロセスを提供する。
したがって、諸実施例では、検出部3002は、オブジェクトを含む画像データの一部を決定し、決定された画像データの一部を使用して、オブジェクトに関連付けられた複数の点の位置を検出するように構成されてもよい。
ここで、本開示の図5について検討する。この例では、野球の試合中のある時点において、画像キャプチャデバイス2010によってキャプチャされた画像が示されている。すなわち、図5Bは、本開示の諸実施形態による、オブジェクトに関連付けられた点を検出する例を示す。
図5Bに示す画像では、野球バット2006を保持するバッター2002が示されている。しかしながら、この画像におけるバッター2002の姿勢位置や足の位置により、この画像内で野球バット2006の位置を確認することが困難である。実際に、部分5010Aで実行されるオブジェクトに関連付けられた点の初期検出(野球バットが位置していることが最初に検出された領域)は、図5Bに示すように、点5010Bの検出のみにつながる。しかしながら、他の画像キャプチャデバイス2010から受信した画像データ(図示せず)は、バッター2002および野球バット2006の異なる角度から同時に撮られたバッター2002および野球バット2006の画像データを提供するので、野球バット2006が1つ以上の他の画像キャプチャデバイスからの画像においてより容易に確認することができる可能性がある。すなわち、野球バット2006に関連付けられた点の数の増加は、その時点(オブジェクトの異なるビューに対応する)において、1つ以上の他の画像キャプチャデバイスから受信した画像において検出可能または検出されてもよい。このように、本開示の諸実施形態によれば、1つ以上の他の画像キャプチャデバイスからの画像内の複数の点の検出は、複数の点の少なくとも一部が検出され得ない画像内の複数の点の検出を改善するために使用されてもよい。
具体的には本開示の諸実施形態によれば、装置1000は、複数の点を検出して当該複数の点を仮想環境(以下でより詳細に説明する)に投影することができる画像データ(1つ以上の他の画像キャプチャデバイスからの画像データ等)にわたって、オブジェクト(野球バット2006等)に関連付けられた複数の点の位置を三角測量するように構成されてもよい。次いで、装置1000は、仮想環境内の複数の点を囲むオブジェクトのための3次元バウンディングボックスを生成するように構成されてもよい。これは、例えば、最小バウンディングボックスアルゴリズムの使用等の任意の適切な方法によって実行することができる。次いで、3次元バウンディングボックスを使用して、複数の点が検出できなかった画像データについて、オブジェクトが位置している画像データの部分を再定義してもよい。図5Bに示すボックス5012は、複数の点を検出できなかった画像データについて、オブジェクト2006(すなわち、野球バット)が位置している画像データの再定義部分の例である。いくつかの例では、3次元バウンディングボックスは立方体であってもよい。しかしながら、他の例(バットの形状が(例えば、以前の情報および/またはバットのモデルから)知られている場合)では、本方法は、(画像データ内の2次元バットの外形を取得するために)バットの形状を画像に投影することを含んでもよく、この画像から、軸整列バウンディングボックス(画像データ内のバットの周りに適合する最小のボックス)を決定することができる。これは、バットの形状が既知である場合に、点の検出のために画像の一部を再定義するときに特に有利であり得る。
図5Bに見られるように、画像データ5012の再定義された部分(他の画像キャプチャデバイスからの画像において同時に検出された複数の点の情報を使用して生成される)は、オブジェクト2006を検出するために元々使用していた画像データ5010の部分よりも大きなバウンディングボックスを定義する。画像データの元の部分5010(図5Bのみに示される画像に基づいて設定される)を超えて延在する野球バット2006の部分は、画像データの再定義された部分(他の画像キャプチャデバイスから同時に受信された画像内の点の検出に基づいて設定される)に含まれる。したがって、この状況では、画像データの再定義された部分は、オブジェクト2006が位置している画像の改善されたより正確な部分を提供する。
最後に、検出部3002は、画像データの再定義された部分を使用して複数の点を検出することができなかった画像データ内のオブジェクトに関連付けられた複数の点の位置を検出するように構成してもよい。したがって、画像の元の部分5010を使用したときに検出されなかった野球バット2006に関連付けられた特定の点は、検出部3002によって検出されてもよい。
このように、本開示の実施形態によれば、1つ以上の他の画像キャプチャデバイスからの画像において検出される複数の点に関する情報は、複数の点を検出することがより困難である画像キャプチャデバイスからの画像データにおける複数の点の検出を改善するために使用されてもよい。
ここで、本開示の図7を参照すると、本開示の諸実施形態による、オブジェクトに関連付けられた点を検出する例が示されている。図7に示す例示的な画像では、選手2002が示されている。選手は、オブジェクト2008(この例では、ゴルフボール)を打つために使用しようとするオブジェクト2006(この例では、ゴルフクラブ)を保持している。図7に示す画像は、例えば、画像キャプチャデバイス2010から、第1の時点において、受信した画像であってもよい。
この例では、オブジェクト7002に関連付けられた多数の点が、画像データ内において検出部3002によって検出されている。これらの点は、図7に示されるように、ゴルフクラブ2008のヘッドに位置している。さらに、ゴルフクラブのシャフト上の多数の点(図示せず)も、検出部3002によって検出または検出可能であってもよい。
しかしながら、選手がゴルフクラブを保持しているので、ゴルフクラブのグリップは図7に示す画像では確認することができない。それにもかかわらず、ゴルフクラブのグリップに関連付けられた点の位置を画像内で検出して、この画像内の点と、グリップに関連付けられた点が確認できる同時に撮られた(すなわち、異なる画角からの)第2の画像内の点とのその後の比較を改善することが望ましい場合がある。
したがって、いくつかの例では、オブジェクトの近位部分(ゴルフクラブのグリップ等)が画像データにおいて検出可能でない場合、検出部3002は、オブジェクトの遠位部分(ゴルフクラブのヘッド等)から、オブジェクトの向きを用いて線を投影することによって、オブジェクトの近位部分の位置を決定するようにさらに構成されてもよく、線の特性はオブジェクトのモデルを使用して決定される。
具体的には、ゴルフクラブ7002のヘッドの点を検出することができ、ゴルフクラブのシャフト上の多数の点も検出されているので、本開示の図7に示す画像内のゴルフクラブの向きを検出部3002によって決定することができる。ゴルフクラブの向きを用いて、検出部3002は、ゴルフクラブ7002のヘッドから、クラブのシャフトに沿ってグリップに向かって線を投影することができる。ゴルフクラブの長さまたはサイズ等の特性は、オブジェクトのモデルを使用して決定することができる(例えば、オブジェクトのモデルは、オブジェクトの訓練済みモデルであるか、またはオブジェクトの特性を記述するオブジェクトの独立したモデルである)。ゴルフクラブの長さまたはサイズ等のこの特性は、ゴルフクラブの向きおよびゴルフクラブ2006のヘッドにおける点7002の位置に関する情報と相まって、検出部3002が本開示の図7に示す画像内のゴルフクラブ2006のグリップにおける点7000の推定位置を決定することを可能にする。
したがって、画像キャプチャデバイスから受信した画像内でオブジェクトに関連付けられた特定の点を検出できない場合であっても、その点の推定位置を上述のように決定することができる。これにより、受信した画像データ内のオブジェクトに関連付けられた点の位置を検出する際の検出部3002の信頼度をさらに改善することができる。さらに、このようにして複数の点のうちの1つの点の推定位置を決定することは、以下でより詳細に説明するように、オブジェクトのパスを生成するときに、同時に他の画像キャプチャデバイスによって検出される点間の比較をさらに改善することができる。
しかしながら、他の例では、検出部3002は、画像データ内のオブジェクトの一部に対応する点の位置を、その点自体が画像データ内で不明瞭である場合であっても、画像データ内で検出してもよい。すなわち、検出部は、画像データ内の点が不明瞭である場合に、その点のおおよその位置を検出(または推定)してもよい(これは、例えば、画像データ内の他のキーポイントの既知の位置に基づいていてもよい)。次いで、決定された点の近似位置はオブジェクトの3次元パスの生成に対する寄与がより少ないものとして扱われてもよい(例えば、検出され、画像データ内において不明瞭でない点により大きな重み付け値が適用されてもよい)。検出された点に適用される寄与のレベルは、検出された点のタイプ(例えば、それがバットのヘッドまたはグリップに対応するかどうか)に従って変化してもよい。
このようにして、検出部3002は、画像キャプチャデバイスから受信した画像データにおいて、オブジェクトに関連付けられた複数の点の位置を検出する。
<投影部>
オブジェクトに関連付けられた複数の点が画像キャプチャデバイスから受信した画像データ内で検出されると、装置1000の投影部3004は、上記複数の点を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成するように構成される。
本開示では、仮想環境は、画像キャプチャ環境から画像にキャプチャされた物理的環境を複製する空間である。すなわち、仮想環境は、任意選択で、ユーザ入力(例えば、回転、パン、ズーム等)によって操作および制御することができる物理的環境を複製する3次元仮想空間である。実際、仮想環境は、仮想空間内の所与の座標に仮想オブジェクトを配置することができる模擬的な物理空間である。仮想環境を制御および定義する模擬データは、(記憶媒体1004および/または記憶部2012等の)ストレージに記憶される。任意選択で、仮想環境の少なくとも一部を、ユーザに提示するために、ディスプレイ上に表示またはレンダリングしてもよい。これは、例えば、装置1000の表示デバイス1010によって実行されてもよく、以下でより詳細に説明する。
先に説明したように、各画像キャプチャデバイス2010は、物理的環境の周囲および内部の画像キャプチャデバイスの配置に応じて、特定の位置から物理的環境の画像(およびその物理的環境内のオブジェクトの画像)をキャプチャする。したがって、各画像キャプチャデバイス2010は、任意の所定の時点においてシーンの固有のビューまたはパースペクティブをキャプチャする。したがって、仮想環境内のオブジェクトは、第2の画像キャプチャデバイスによってキャプチャされた画像内に(物理的環境内の第2の位置に)現れるように、第1の画像キャプチャデバイスからの画像内の異なる角度または位置に(物理的環境内の第1の位置に)現れる。それにもかかわらず、異なる画像キャプチャデバイスからの画像内のオブジェクトの位置および向きの見掛けが異なっていたとしても、所与の時点における物理的環境内の所与のオブジェクトの実際の物理的位置は1つだけであることが理解されよう。任意の所定の時点で異なる画像キャプチャデバイスから受信した画像内のオブジェクトの位置と向きとの間の見掛けの差は、物理的環境の周囲または内部のそれらの画像キャプチャデバイスの位置が異なることによる。
さらに、物理的環境における画像キャプチャデバイスの位置(すなわち、それらの画像キャプチャデバイスが物理的環境内にどのように配置されるか)は既知である。これは、画像キャプチャデバイスが物理的環境内の所定の位置に確立されることによるものであってもよい。あるいは、これは、画像キャプチャデバイスが、画像がキャプチャされた時点で、物理的環境内のそれぞれの位置を報告することによるものであってもよい。この状況では、物理的環境内の画像キャプチャデバイスの位置がGPSシステム等のシステムによって決定されてもよく、一方、物理的環境内の画像キャプチャデバイスの位置を示す情報は、画像キャプチャデバイスによってキャプチャされた画像データを有する特定のメタデータ情報として記録されてもよい。
したがって、物理的環境内のオブジェクトの異なるパースペクティブをキャプチャする物理的環境内のオブジェクトの画像と、画像キャプチャ時の物理的環境内のそれぞれの画像キャプチャデバイス2010の位置とに基づいて、装置1000の投影部3004は、物理的環境内の複数の点のそれぞれの実際の位置を決定するために、所与の時点で画像にわたって検出部3002によって検出されたオブジェクトに関連付けられた複数の点を三角測量し、結合することができる。
すなわち、検出部3002によって検出された複数の点の各々について、物理的環境内のその点の単一の位置を、画像キャプチャデバイスから受信した画像から各時点について決定することができる。次いで、投影部3004は、仮想環境を通過する複数の点の各々の位置の(各時点における物理的環境を通過するオブジェクトの動きを表す)3次元表現を作成するために、上述のように、これらの点の位置を仮想環境に投影してもよい。このように、いくつかの例では、投影部3004による仮想環境への点の投影が検出部3002によって検出された点の三角測量によって行われてもよい。しかしながら、他の例では、複数の点の位置を仮想環境にマッピングするための任意の適切な方法が必要に応じて投影部3002によって実行されてもよい。
ここで、本開示の図8の例について検討する。図8は、本開示の諸実施形態による、検出された点を仮想環境に投影する例を示す。
この例では、本開示の諸実施形態による仮想環境の一例として、3次元座標空間X、Y、Zが提供される。この座標系によって提供される仮想空間は、本開示の図2を参照して説明される野球場2000等の物理的環境を表す。
オブジェクト(野球バット2006等)に関連付けられた3つのポイントA、B、およびCは、多数の異なる時点で仮想環境に投影(またはマッピング)されている。
第1の時点8000における野球バット2006に関連付けられた複数の点A、B、およびCの位置が示されている。この位置は、第1の時点8000において画像キャプチャデバイス2010から受信した画像にわたるそれぞれの複数の点A、B、およびCの検出された位置から決定されている。
次いで、野球バット2006が物理的環境においてバッター2002によってスイングされると、画像キャプチャデバイスは、複数の点A、B、およびCの画像を、それぞれ、第2,第3,および第4の時点8002、8004、および8006においてキャプチャする。検出部3002がこれらの時点のそれぞれにおいて受信した画像のそれぞれにおける点A、B、およびCの位置を検出すると、投影部は、これらの時点のそれぞれにおける物理的環境における点A、B、およびCの位置を決定してもよい。次いで、物理的環境内のこれらの点の位置を、本開示の図8に示すように、仮想環境内のそれぞれの点で仮想環境に投影してもよい。
このようにして、オブジェクトに関連付けられた複数の点のそれぞれの位置を、(モーションキャプチャ機器等の追加の機器を使用することなく)画像キャプチャデバイスによってキャプチャされた画像から決定することができ、投影部3004によって仮想空間に投影することができる。
<生成部>
物理的環境内のオブジェクトに関連付けられた複数の点の位置が決定され、上述のように仮想環境に投影(またはマッピング)されると、生成部3006は、仮想環境を通過するオブジェクトのパスを生成するように構成される。
本開示の諸実施形態に従って生成された仮想環境を通過するオブジェクトのパスは、検出部3002によって検出された、オブジェクトに関連付けられた複数の点に基づいて決定された物理的環境を通過するオブジェクトの動きを表す。実際、オブジェクトのパスはオブジェクトに関連付けられた複数の点の検出された位置に基づくので、オブジェクトのパスはオブジェクトの経時的な位置および向きを記述する。これは、以下でより詳細に説明するように、画像キャプチャデバイスによってキャプチャされた画像データからオブジェクトに関する付加情報を決定するときに特に有利である。
ここで本開示の図2に戻ると、いくつかの例では、パスが生成されているオブジェクトはバット(本開示の図2を参照して説明した野球バット2006等)であることが理解されよう。したがって、この特定の例では、オブジェクトのパスはバットのスイングであり、バットのスイングは、仮想環境を通過するバットの速度(物理的環境においてバッター2002によってスイングされるバットの速度を表す)をさらに示す。バットのスイングは、例えば、本開示の図2を参照して説明したように、ボールを打とうとするときにバッターによってスイングされるバットのスイングであってもよい。
いくつかの例では、本開示の生成部3006が仮想環境内のオブジェクトに関連付けられた複数の点の位置を通る曲線をフィッティングすることによって、仮想環境を通過するオブジェクトのパスを生成するように構成される。すなわち、投影部3004が、複数の点の位置を仮想環境に投影すると、装置1000は仮想環境を通過するオブジェクトのパス等の情報を生成するために、複数の点に特定の追加処理を適用することができる。
特に、(本開示の図8に示されるような)複数の点の位置は、画像キャプチャ時のバットの位置および向きに関する情報を提供するが、オブジェクトのパスは、いつでも(例えば、図8の例では8000と8002との間の時点を含む)、仮想環境内のオブジェクトの滑らかに変化する位置および向きをシミュレートする。
このように、生成部によるオブジェクトのパスの生成は、バットのスイングを分析することを可能にし、物理的環境において画像キャプチャデバイス2010によってキャプチャされた画像のストリーム(例えば、ブロードキャスターによって放送される画像)を見ることによっては利用可能でない可能性があるバットのスイングに関する付加情報を提供する。
本開示の図8を参照して説明した例について再び検討する。この例では、オブジェクトに関連付けられた点Aの位置が時点8000、8002、8004、および8006におけるオブジェクトに関連付けられた点の位置に対応する仮想環境内の多数の位置に示される。また、オブジェクトに関連する第2の点Bの位置は、同時点8000、8002、8004、および8006における仮想環境内の多数の位置に示される。本開示の生成部3006は、いくつかの例では、異なる時点におけるそれぞれの点について曲線をフィッティングすることによって、仮想環境を通過するオブジェクトのパス(物理的環境を通過するオブジェクトの動きを表す)を生成するように構成される。例えば、生成部は、時点8000、8002、8004、および8006において、点Aのそれぞれの位置を通る曲線をフィッティングしてもよい。また、生成部3006は、時点8000、8002、8004、および8006において、点Bのそれぞれの位置を通る曲線をフィッティングしてもよい。これらのそれぞれの曲線は、仮想環境を通過するオブジェクトに関連付けられた各点の経時的な動きを記述する。
いくつかの例では、オブジェクトのために生成された最終パスが、仮想環境を通過するオブジェクトに関連付けられた個々の点のそれぞれの経時的な動きに対応する多数の個々の曲線を含んでもよい。これにより、オブジェクトが仮想環境を通って移動するときに、オブジェクトのそれぞれの部分の相対的な位置および向きを理解することが可能にする。さらに、いくつかの例では、仮想環境内にオブジェクト(野球バット2006等)の3次元モデルを配置するために、オブジェクトに関連付けられた点を使用してもよい。これにより、どのようにオブジェクト全体が仮想環境内を移動し、仮想環境内の他のオブジェクトと相互作用するかに関する付加情報を決定することができる。三次元モデルは、いくつかの例では、事前に作成されたオブジェクトの所定のモデルであってもよい。他の例では、オブジェクトの3次元モデルは、本開示の図6を参照して説明したような機械学習またはディープラーニングモデルによって経時的に開発されたモデルであってもよい。次いで、仮想環境を通過する3次元モデルの動きは、オブジェクトに関連付けられたそれぞれの点(点A、B、およびC等)のそれぞれについて決定された曲線を使用して操作される。
ここで本開示の図9を参照すると、本開示の諸実施形態による仮想環境を通過するオブジェクトのパスの一例が示されている。
オブジェクトに関連付けられた(ここでは、野球バットのヘッドに関連付けられた)複数の点が示されている。これらは、点5002A(野球バットのスイングの開始時)、点5002B(スイング中の特定の点)、および点5002(野球バットのスイングの終了時)を含む。点5002Aは第1の時点で複数の画像キャプチャデバイスから受信した画像から導出され、点5002Bは第1の時点の後の第2の時点で複数の画像キャプチャデバイスから受信した画像から導出され、点5002は第2の時点の後の第3の時点で複数の画像キャプチャデバイスから受信した画像から導出される。
仮想環境を通過する野球バットのパス9000(物理的環境においてバッターによってスイングされたときの野球バットの動きに関連する)が示されている。このパスは、生成部によって、野球バットに関連付けられた複数の点を使用して生成されたものである。オブジェクトのパスは、経時的に3次元環境を通過するオブジェクトの位置および向きを記述する。特に、パスは、画像キャプチャデバイスから受信した画像間のスイング中のある時点においてさえ、仮想環境におけるオブジェクトの位置および向きを記述することが分かる。
さらに、この例では、生成部は、仮想環境内に野球バット2006の3次元モデルを配置するために、複数の点を使用している。ここでは、野球バットのモデルがスイングの最終位置(点5002に対応する)にのみ示されている。しかしながら、(ユーザ入力1006等の)入力装置を介してコントロールを操作することにより、野球バット2006のモデルを、パス9000に沿った任意の位置に対応する位置および向きで示すことができる。
いくつかの例では、本開示の図9に示す仮想環境は、表示デバイス(表示デバイス1010等)上に表示されてもよい。すなわち、いくつかの例では、生成部3006は、仮想環境を通過するオブジェクトのパスを少なくとも示す表示情報を生成するようにさらに構成されてもよい。さらに、いくつかの例では、野球バット2006のパスを仮想環境内の任意の角度から見ることができるように、仮想環境を操作(例えば、回転、パン、ズーム等)してもよい。実際、いくつかの例では、パス9000に沿った野球バットのスイングの一連の画像、映像、またはアニメーションが表示されるように、スイングを「プレイ」することができる。
複数の点を通る曲線のフィッティング方法は、特に限定されず、本開示の諸実施形態が適用される状況によって、必要に応じて、任意のそのような方法を使用することができる。しかしながら、いくつかの例では、仮想環境を通過するオブジェクトに関連付けられた複数の点の位置を通る曲線をフィッティングすることは、仮想環境におけるオブジェクトに関連付けられた複数の点の位置を通る多項式スプラインをフィッティングすることを含んでもよい。
図10Aおよび10Bは、本開示の諸実施形態による、仮想環境を通過するオブジェクトのパスの例を示す。図10Aおよび図10Bの例では、本開示の図9を参照して説明したパス9000の一部の拡大図が示されている。すなわち、図10Aおよび10Bは、本開示の図9に示すパス9000の拡大部分を示す。
本開示の図10Aの例では、生成部によって生成されたパス9000が実際には仮想環境を通過するスムーズなパスではないことが分かる。むしろ、位置1100においてパスに第1のキンク(または不連続部分)があり、位置1102において第2のキンクがある。これらのキンクは、多くの理由のために引き起こされ得る。第1に、パス9000に沿った位置1100および1102の近傍の時点で画像キャプチャデバイスから受信した画像の欠如が存在し得る。パスに沿って所与の近傍において受信したオブジェクトの画像がより少ないことは、生成されたパスにおいてより大きな不確実性をもたらし、これは次に、パスにおける滑らかさの欠如をもたらし得る。あるいは、1100および1102の位置におけるパスに沿った1つ以上のデータ点が生成部3006によって生成されたパスにおけるキンクの発生につながるスプリアスデータポイントであってもよい。これは、例えば、画像キャプチャデバイスによってキャプチャされた画像が破損した場合に発生し得る。
滑らかに変化するパスは、しばしば、オブジェクト(例えば、バット)の位置および向きに関する最も正確な情報を提供する。これは、滑らかに変化するパスが、(例えば、スプリアスデータポイントから生じる)パスのキンクが平滑化されているので、オブジェクトが物理的環境においてとった実際のパスのより正確な表現を提供するからである。したがって、オブジェクトのパスに関する付加情報(野球バットのスイング等)を最も正確に決定することができるように、(キンクまたは不連続部分を解消するために)生成された仮想環境を通過するパスを滑らかにすることが望ましい場合がある。
したがって、いくつかの例では、生成部3006は、任意選択で、生成されたパス9000に平滑化を適用するようにさらに構成されてもよい。実際、いくつかの例では、生成部は、仮想環境内のオブジェクトの回転中心に位置する原点を使用して、仮想環境内の球座標系に切り替えるように構成されてもよい。必要に応じて、仮想空間の座標系から球面座標系に切り替えるために、任意の適切な変換を適用してもよい。さらに、仮想環境内のオブジェクトの回転中心は、経時的に生成されたパス9000に沿ったオブジェクトの位置および向きを使用して決定してもよい。この場合も、パスに沿ったオブジェクトの回転中心を決定する方法は、この点に関して特に限定されない。次いで、生成部3006は、平滑化関数を曲線に適用して、回転中心に位置する原点を有する球座標系を用いて、仮想環境を通過するオブジェクトのパスを生成してもよい。
図10Bは、平滑化関数がパス9000に適用された後の、図10Aに示すパス9000の拡大図を示す。パス9000は、仮想環境を通過する平滑なパスである。特に、位置1104におけるパス(図10Aの位置1100と1102との間のパスの領域に対応する)は滑らかである。位置1102および1104におけるパスのキンクは、平滑化機能によって除去されている。
図10Bのこの例に示すオブジェクトの滑らかに変化するパスは、バッター2002によってスイングされるような物理的環境を通過する野球バット2006の動きの改善された表現を提供し、より正確な付加情報がオブジェクトのパスから決定されることを可能にする。
上述のように、生成部3006は、仮想環境および/または生成したパスの表示情報を生成するように構成されてもよい。これにより、本開示の諸実施形態に従って生成された仮想環境および/またはパスをユーザに表示することが可能になる。このユーザは、いくつかの例では、ブロードキャスターによって放送されているイベントの画像を見ている視聴者であってもよい。したがって、表示情報を表示することにより、視聴者が得ることができるイベントの理解や没入感を向上させることができる。
他の例では、ユーザは、オブジェクト2006の動きを分析することを望む教師、トレーナ、またはコーチ等の人物であってもよい。本開示の図2の例について再び検討する。ここで、選手2002は、投げられた野球ボール2002を打とうとして野球バットをスイングしている。したがって、コーチは、選手の技術を理解し、分析するために生成された表示情報を確認したい場合がある。実際に、いくつかの例では、装置1000は、第1の時点および少なくとも1つの第2の時点でオブジェクトを保持している人物の位置に関する情報を取得し、人物の位置に関する情報を表示情報に含めるようにさらに構成されてもよい。そして、コーチ等の人物は、仮想環境を通過するオブジェクトの3次元スイングを確認することに加えて、ボールを打ったときの選手の体の位置を確認することができる。
さらに、いくつかの例では、生成した3次元仮想パスは、それ自体で完全な表示画像として表示されてもよい。しかしながら、他の例では、生成した3次元パスは、イベントの1つ以上の他の画像(画像キャプチャデバイスのうちの1つから受信した画像等)の上に重ねて表示されてもよい。
<有利な技術的効果>
前述したように、オブジェクトまたはイベントに関する特定の付加情報を、そのイベントの画像から取得することは困難な場合がある。したがって、付加情報(環境を通過するオブジェクトの動きの情報等)に対する要望は、提供可能なものを超える場合がある。しかしながら、本開示の諸実施形態によれば、付加情報(オブジェクトのスイングの情報等)を生成することができる。具体的には、本開示の諸実施形態によれば、装置1000は、実世界環境におけるオブジェクトの動きの画像に基づいて、仮想環境を通過するオブジェクト(バットのスイング等)のパスを効率的かつ確実に生成することができる。オブジェクトのパスは、経時的なオブジェクトの位置および向きを分析することを可能にする。したがって、オブジェクト(野球バット等)のスイングの3次元モデルを生成することができる。実際、オブジェクトの位置および向きの経時的なより大きな理解を得ることができるので、オブジェクトのパスの分析により、物理的タスクの性能の改善をもたらすことができる。これにより、訓練を特定的に調整し、オブジェクトの位置および向きの向上(野球バットのスイングの向上等)につながる活動に向けることが可能になる。
もちろん、本開示は、上記の有利な技術的効果に特に限定されるものではない。他の技術的効果は、本開示を読むことで当業者に明らかになるであろう。
<追加変更>
上述のように、オブジェクトのパスが生成されると、経時的に環境を通過するオブジェクトの位置および向きを分析することができる。しかしながら、(ある種のスポーツイベントのような)状況によっては、(野球バット等の)オブジェクトと(野球ボール等の)第2のオブジェクトとの間の相互作用も分析できることが望ましい場合がある。
したがって、いくつかの例では、本開示の実施形態は、上記第1の時点および/または上記少なくとも1つの第2の時点のうちの少なくとも1つにおいて、上記複数の画像キャプチャデバイスからの上記画像データ内の第2のオブジェクトの位置を検出し、第2のオブジェクトとバットとの間の相互作用を示す情報を決定するために、上記バットのスイング(または生成されたパス)および上記第2のオブジェクトの検出された位置を用いて、上記相互作用を分析することを含んでもよい。第2のオブジェクト(例えば、野球ボール)の検出は、例えば、本開示の図5A、図5B、および図6を参照して説明したように、オブジェクト2006に関連付けられた点の検出と同じ技術を使用して、装置1000によって実行されてもよい。特に、訓練済みモデルは画像キャプチャデバイスから受信した画像内の野球ボールの位置を検出するために使用されてもよく、投影部3004はその野球ボールの位置を仮想環境に投影してもよい。
例えば、本開示の図9について再び検討する。この例では、仮想環境を通過するオブジェクト2006(例えば、野球バット)のパス9000は、本開示の諸実施形態に従って生成されている。さらに、オブジェクト2008(例えば、野球ボール)の位置も検出されている。示されるオブジェクト2008の位置は、野球バット2006が位置5002にあるときの野球ボールの位置に対応する。本開示の図9に示す例は、本開示の図2を参照して説明した状況に対応することができ、バッターは、バッターに向かって投げられたボールを打つ(または他の方法で接触させる)ためにバットを振る。
図9に見られるように、野球バット2006と野球ボール2008との間の相互作用は、パス9000上の位置9002で生じている(パス9000に沿った位置9002に対応する時間における野球ボールの位置がこの例では示されていない)。3次元環境を通過する野球バット2006の位置および向きは、生成したパスから分かるので、この情報を使用して、経時的な野球バットの速度を求めてもよい。
したがって、野球バット2006と野球ボールとの間の相互作用に関する情報を決定するために、野球バットのパス9000および検出された野球ボールの位置を分析してもよい。
いくつかの例では、野球バット2006と野球ボールとの間の相互作用を示す情報は、バット上のボールのインパクト位置、ボールとバットとの間のインパクト前の時間(例えば、バットとボールとの間のインパクトの直前の時間等)におけるバットに対するボールの速度、およびインパクト時におけるボールとバットとの間のエネルギー伝達に関する情報を含んでもよい。
特定の状況(スポーツイベント等)では、バット上のボールのインパクト位置の分析は、打撃の「質」に関する理解を提供することができるので、特に有利であり得る。すなわち、オブジェクト(野球バット等)は、ボールと最も効果的に接触するオブジェクト上の点である、いわゆるスイートスポットを有していてもよい。したがって、バットのスイートスポットでボールが打たれたか否かを判定することにより、オブジェクトのスイングの質を判断することができる。スイートスポットと接触した場合、打撃の質はより高くなる。実際に、バットのパスの分析により、ボールがスイートスポットから実質的に除かれたバット上の点でバットと接触したことが示される場合、この情報は、バッターによってなされるさらなるスイングを改善するための訓練デバイスとして使用されてもよい。すなわち、バッターがボールとの接触を改善するためにバットのスイングを修正すること、および/または将来の練習としてボールがバットのスイートスポットで打たれることを確実にすることに焦点を当てることが推奨されてもよい。
さらに、いくつかの例では、装置1000は、相互作用の品質に関する情報を生成するために、相互作用を示す情報を、相互作用後のボールの検出された位置および/または検出されたパスと比較するようにさらに構成されてもよい。相互作用に関する情報(例えば、インパクト時のバットに対するボールの速度等)とインパクト後のボールの動きとを比較することにより、接触の質に関するさらなる情報を提供することができる。すなわち、インパクト後のボールの動きが良好である(例えば、ボールが打たれた後に長距離移動する)場合、インパクトのどの要因が打撃の肯定的な結果につながるかを決定するために、相互作用の情報を分析してもよい。逆に、ボールが打たれた後に遠くまで移動しない場合、打撃の否定的な結果をもたらす要因を決定し、理解するために、相互作用を研究し、以前の相互作用と比較することができる。これは、結果(例えば、野球バット2006と接触した後の野球ボールの軌跡)が予想ほど良好でない場合に、人物(コーチまたは選手等)がスポーツイベント内でのパフォーマンスをどのようにさらに向上させることができるかを理解することを可能にする。これは、訓練および教育結果をさらに改善し、身体技能のパフォーマンスの改善につながり得る。
いくつかの例では、複数の点が検出され、オブジェクトが仮想環境に投影されると、仮想環境を通過するオブジェクトのパスの生成の精度および信頼性をさらに改善するために、オブジェクトの3次元位置を最適化することが望ましい場合がある。多くの例示的な状況(例えば、オブジェクトがバットである場合等)では、オブジェクトが画像データ内に鮮明なエッジを有しない場合がある。特に、画像キャプチャデバイスからの画像データ内のオブジェクトのエッジは、オブジェクトが球形および/または円筒形の形状(または構造)を有する場合、より鮮明でないように見えることがある。このように、画像データ内に鮮明なエッジを必要とする最適化技術は、(バット等の)オブジェクトの位置を最適化するのに最も効率的ではない場合がある。
したがって、本開示の諸実施形態では、オブジェクトの位置の最適化が、例えば、画像キャプチャデバイスからの画像データ内のバットのセグメント化(例えば、画像データの画素をバット画素または非バット画素として(色等の画素特性に基づいて)分類すること)に基づいていてもよい。これは、それぞれの画像キャプチャデバイスに対して個別におよび集合的に実行されてもよい。すなわち、ある属性(例えば、ある色)を持つ画素は「バット」画素として識別できるが、この属性を持たない(例えば、ある色と適合しない)画素は「非バット」画素として識別することができる。
したがって、いくつかの例では、(バット等の)オブジェクトの3次元位置が所与の時点(例えば、オブジェクトのモデルの最初の3次元位置)について決定されると、バットのモデルは(オブジェクトのモデルの画像を、画像キャプチャデバイスから受信した画像上に重ねるように)画像キャプチャデバイスからの画像データに投影され得る。次いで、この重ね合わされた画像を用いて、(画像データに投影された)バットのモデルと(画像キャプチャデバイスから受信した)元の画像データにおけるバットの画像との位置の差分を求めることができる。いくつかの例では、(画像データに投影された)バットのモデルと(画像キャプチャデバイスから受信した)元の画像データにおけるバットの画像との位置の差分を、画像の定量値またはスコア(例えば、比較スコア)として求めることができる。すなわち、いくつかの例では、「正しい」画素の数(バットのモデルがバットの画像に重なる場合)はスコアを増加させることができ、「正しくない」画素の数(バットのモデルがバットの画像と揃わない場合)はその画像のスコアを低下させる。さらに、いくつかの例では、画像キャプチャデバイスについて求められるスコアを、(各画像キャプチャデバイスについて異なるズームレベルを説明するために)予想されるピクセル数に基づいて正規化することができる。これにより、多数の異なる画像キャプチャデバイス間の比較が改善される。
次いで、元画像データ(すなわち、画像キャプチャデバイスから受信した画像データ)におけるバットの位置と比較した(画像データに投影された)バットのモデルに基づくスコアを、それぞれの画像キャプチャデバイスからの画像データに対して個別に求めることができる。
さらに、各画像キャプチャデバイスについてスコアが求められると、複数の画像キャプチャデバイスについての集合的なまたは結合されたスコアは、各画像キャプチャデバイスからの個々のスコアを使用して求めることができる(例えば、その時点における個々の画像キャプチャデバイスごとに求められたスコアを加算することによって)。これにより、その時点での元画像データと比較したバットのモデルの位置についての「全カメラスコア」が生成される。
「オールカメラスコア」は、一旦計算されると、その時点でのバットのモデルの位置を最適化するために使用することができる。すなわち、いくつかの例では、「オールカメラスコア」が計算されると、計算されたその時点でのオブジェクトのモデルの位置は、その時点での初期に決定された位置から、小さな変換(並進変換と回転変換の両方を含む)によって摂動させることができる。オブジェクトのモデルは、摂動されると、((最初に決定された位置からの小さな変換によって摂動された)モデルの新しい位置と、画像キャプチャデバイスから受信した画像とを有する)各画像キャプチャデバイスのための新しいオーバーレイ画像を生成するために、個々の画像の各々に再び投影されることができる。次いで、この新たなオーバーレイ画像を用いて、(画像データに投影された)バットのモデルの新しい位置と(画像キャプチャデバイスから受信した)元の画像データにおけるバットの画像との差分を求めることができる。各個別の画像キャプチャデバイスのスコアと、画像キャプチャデバイスの総合スコア(「オールカメラスコア」)とを求めることができる。
オブジェクトの新たな3次元位置がオブジェクトの元の3次元位置よりも、受信した画像データに対して改善している(すなわち、より近くに適合する)場合、その新たな3次元位置はより良好なスコア(例えば、より高いスコア)を達成する。実際、新たな3次元スコアが改善された「オールカメラスコア」をもたらす場合、少なくとも1つの個々の画像キャプチャデバイスはより良好な個別(または「シングルカメラ」)スコアを有しなければならない。したがって、各画像キャプチャデバイスについて、所与の画像キャプチャデバイスについて最良の「シングルカメラ」スコアを生成するモデル位置を取得し、そのモデル位置について「オールカメラスコア」(すなわち、すべての画像キャプチャデバイスにわたって)を計算することが可能である。そして、この最良の個々の「シングルカメラスコア」位置の選択の中から最良の「オールカメラスコア」を生成するモデル位置は、バットのモデルの最良の位置である(受信した個々の画像データに投影されたときに、個々の画像データに最も適合する)。
((決定したモデルの元の位置から始まる)新しい最良のモデル位置への小さな摂動を伴う))このプロセスを繰り返すことにより、バットの三次元モデルは仮想環境内の最適化された位置にシフトされる。
いくつかの例では、3次元モデルの位置の最適化のためのこの反復プロセスは、所定の反復回数の間継続してもよい。あるいは、このプロセスは、所定の時間の間、および/または所定レベルの最適化(所定の「全カメラスコア」等)が達成されるまで継続してもよい。あるいは、この反復プロセスは、3次元モデルの位置の最適化において、所定の反復回数の間、それ以上の大幅な改善が達成されなくなるまで継続してもよい。
このようにして決定された三次元モデルの位置を最適化することにより、各時点における三次元モデルの改良されたより正確な位置を効率的に決定することができる。これにより、仮想環境を通過するオブジェクト(バットのスイング等)のためのパスの効率的かつ信頼性のある生成がさらに促進される。
<方法>
さらに、本開示の諸実施形態によれば、仮想環境を通過するオブジェクトのパスを生成する方法が提供される。
仮想環境を通過するオブジェクトのパスを生成する方法の一例が、本開示の図11に示されている。この方法は、任意選択で、例えば、本開示の図1および図3を参照して示される装置1000等の装置によって実行されてもよい。
この方法は、ステップS1200で開始し、ステップS1202に進む。
ステップS1202において、この方法は、物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信することを含む。
この画像データを受信した場合、当該方法の処理は、ステップS1204に進む。
ステップS1204において、当該方法は、上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信することを含む。
例示的な方法のステップS1206において、当該方法は、各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出することを含む。
次いで、当該方法の処理は、ステップS1208に進む。
ステップS1208において、当該方法は、各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成することを含む。
次いで、当該方法の処理は、ステップS1210に進む。
ステップS1210において、当該方法は、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成することを含む。
最後に、当該方法は、ステップS1212に進み、終了する。
本開示の諸実施形態が適用される状況に応じて、この方法に多数の修正を加えてもよい。実際に、いくつかの例では、方法ステップは、上記順序で実行されてもよい。他の例では、本方法の特定のステップが図11の例に示したものとは異なる順序で実行されてもよく、かつ/あるいは、本方法の他のステップと並行して実行されてもよい。具体的には、例えば、ステップS1206は画像データ内のオブジェクトに関連付けられた点の位置の検出を含み、ステップS1202およびS1204と並行して実行することができ、その結果、複数の点はその画像データが受信されたときに画像ごとに検出される。
<項目>
本開示の実施形態は、以下の番号付けされた項目に従ってさらに構成されてもよいことが理解されよう。
(1)
仮想環境を通過するオブジェクトのパスを生成する方法であって、
物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成し、
上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成する
生成方法。
(2)
(1)に記載の生成方法であって、
上記オブジェクトは、バットであり、
上記オブジェクトの上記パスは、上記バットのスイングであり、
上記バットの上記スイングは、上記仮想環境を通過する上記バットの速度をさらに示す
生成方法。
(3)
(2)に記載の生成方法であって、さらに、
上記第1の時点および/または上記少なくとも1つの第2の時点のうちの少なくとも1つにおいて、上記複数の画像キャプチャデバイスからの上記画像データ内の第2のオブジェクトの位置を検出し、
上記バットの上記スイングおよび上記第2のオブジェクトの上記検出された位置を用いて、上記第2のオブジェクトと上記バットとの相互作用を分析し、上記相互作用を示す情報を決定する
生成方法。
(4)
(3)に記載の生成方法であって、
上記第2のオブジェクトはボールであり、
上記相互作用を示す上記情報は、上記バット上の上記ボールのインパクト位置、上記ボールと上記バットとの間のインパクト前の時間における上記バットに対する上記ボールの速度、およびインパクト時における上記ボールと上記バットとの間のエネルギー伝達に関する情報を含む
生成方法。
(5)
(4)に記載の生成方法であって、さらに、
上記相互作用の質に関する情報を生成するために、上記相互作用を示す上記情報を、上記相互作用後の上記ボールの検出された位置および/または検出されたパスと比較する
生成方法。
(6)
(2)から(5)のいずれか1つに記載の生成方法であって、
上記オブジェクトに関連付けられた上記複数の点は、上記バットの遠位部分上の点、および上記バットの上記遠位部分と上記バットの近位部分との間に位置する点を少なくとも含む
生成方法。
(7)
(6)に記載の生成方法であって、さらに、
上記バットの上記近位部分が上記画像データにおいて検出可能でない場合、上記バットの上記遠位部分から、上記バットの上記向きを用いて線を投影することによって、上記バットの上記近位部分の位置を決定し、
上記線の特性は上記バットのモデルを使用して決定される
生成方法。
(8)
(2)から(7)のいずれか1つに記載の生成方法であって、
上記バットは、野球バットである
生成方法。
(9)
(1)から(8)のいずれか1つに記載の生成方法であって、
上記オブジェクトに関連付けられた上記複数の点は、上記オブジェクト上の多数の所定の区別可能な領域に対応する
生成方法。
(10)
(1)から(9)のいずれか1つに記載の生成方法であって、
上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を検出することは、訓練済みモデルを使用して上記オブジェクトおよび/または上記画像データ内の上記オブジェクトに関連付けられた上記複数の点を識別することを含む
生成方法。
(11)
(10)に記載の生成方法であって、さらに、
上記オブジェクトの模擬画像データおよび/または履歴画像データのうちの少なくとも1つを使用して上記訓練済みモデルを訓練する
生成方法。
(12)
(11)に記載の生成方法であって、
上記訓練済みモデルは、機械学習モデルである
生成方法。
(13)
(1)から(12)のいずれか1つに記載の生成方法であって、さらに、
上記オブジェクトを含む上記画像データの部分を決定し、
上記画像データの上記部分を用いて、上記オブジェクトに関連付けられた上記複数の点の上記位置を検出する
生成方法。
(14)
(13)に記載の生成方法であって、さらに、
上記少なくとも1つの第2の時点のうちの1つの時点において、上記複数の点が上記画像データにおいて検出できない場合、
上記複数の点を検出して当該複数の点を上記仮想環境に投影することができる上記画像データにわたって、上記オブジェクトに関連付けられた上記複数の点の上記位置を三角測量し、
上記仮想環境内の上記複数の点を囲む上記オブジェクトのための3次元バウンディングボックスを生成し、
上記3次元バウンディングボックスを使用して、上記複数の点が検出できなかった上記画像データについて、上記オブジェクトが位置している上記画像データの部分を再定義し、
上記画像データの上記再定義された部分を用いて、上記複数の点が検出できなかった上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の位置を検出する
生成方法。
(15)
(1)から(14)のいずれか1つに記載の生成方法であって、
上記オブジェクトに関連付けられた上記複数の点の上記位置を検出することは、上記オブジェクトの上記複数の点の上記位置を示すヒートマップを生成することを含む
生成方法。
(16)
(1)から(15)のいずれか1つに記載の生成方法であって、さらに、
画像キャプチャ時における上記物理的環境内の上記画像キャプチャデバイスの上記位置を示す情報を用いて、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を上記仮想環境に投影する
生成方法。
(17)
(1)から(16)のいずれか1つに記載の生成方法であって、
上記仮想環境を通過する上記オブジェクトの上記パスを生成することは、上記仮想環境における上記オブジェクトに関連付けられた上記複数の点の上記位置を通る曲線をフィッティングすることを含む
生成方法。
(18)
(17)に記載の生成方法であって、
上記仮想環境を通過する上記オブジェクトに関連付けられた上記複数の点の上記位置を通る上記曲線をフィッティングすることは、上記仮想環境における上記オブジェクトに関連付けられた上記複数の点の上記位置を通る多項式スプラインをフィッティングすることを含む
生成方法。
(19)
(18)に記載の生成方法であって、さらに、
上記仮想環境内の上記オブジェクトの回転中心に位置する原点を使用して、上記仮想環境内の球座標系に切り替え、
平滑化関数を上記曲線に適用して、上記仮想環境を通過する上記オブジェクトの上記パスを生成する
生成方法。
(20)
(1)から(19)のいずれか1つに記載の生成方法であって、さらに、
上記仮想環境における上記オブジェクトの3次元モデルを、上記オブジェクトに関連付けられた上記複数の点の上記位置および生成された上記オブジェクトの上記パスのうちの少なくとも1つを用いて決定された位置に配置する
生成方法。
(21)
(20)に記載の生成方法であって、さらに、
上記第1の時点および上記少なくとも1つの第2の時点において上記オブジェクトを保持する人物の位置に関する情報を取得し、
上記人物の上記位置に関する上記情報を表示情報に含める
生成方法。
(22)
(1)に記載の生成方法であって、さらに、
画像キャプチャ時に上記画像データを受信し、または、
トリガイベントが発生したと判定された場合に上記画像データを受信する
生成方法。
(23)
(1)から(22)のいずれか1つに記載の生成方法であって、さらに、
上記モデルの上記画像キャプチャデバイスから受信した上記画像データへの投影と上記画像データにおける上記オブジェクトの位置を比較することにより、所与の時点において上記オブジェクトに関連付けられた上記複数の点の上記位置を最適化する
生成方法。
(24)
(23)に記載の生成方法であって、
所与の時点において上記オブジェクトに関連付けられた上記複数の点の上記位置を最適化することは、さらに、
当該位置における上記オブジェクトのモデルを、上記画像キャプチャデバイスから受信した上記画像データに投影し、
上記オブジェクトの上記投影されたモデルと上記画像データにおける上記オブジェクトの位置との比較に基づく最適化値を生成し、
上記オブジェクトに関連付けられた上記複数の点の上記位置を摂動して、上記オブジェクトに関連付けられた上記複数の点の新しい位置を生成し、
上記オブジェクトの上記モデルを、上記複数の点の上記新しい位置における上記画像データに投影して、上記オブジェクトの新しい投影を生成し、
上記モデルの上記新しい投影と上記画像データにおける上記オブジェクトの上記位置との比較に基づいて、上記オブジェクトの上記モデルの上記新しい投影についての新しい最適化値を生成し、
上記求められた上記最適化値の最良値に対応する上記複数の点の位置を選択する
ことを含む
生成方法。
(25)
仮想環境を通過するオブジェクトのパスを生成するための装置であって、
物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成し、
上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成する
ように構成された回路を具備する
生成装置。
(26)
コンピュータによってプログラムが実行されるときに、上記コンピュータに仮想環境を通過するオブジェクトのパスを生成する方法であって、
物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
上記物理的環境に配置された複数の画像キャプチャデバイスから、上記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
各画像キャプチャデバイスから、上記第1の時点および上記少なくとも1つの第2の時点で、上記画像データ内の上記オブジェクトに関連付けられた上記複数の点の上記位置を仮想環境に投影して、各時点で、上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の位置を生成し、
上記仮想環境内の上記オブジェクトに関連付けられた上記複数の点の上記位置を使用して、上記仮想環境を通過する上記オブジェクトの位置および向きを示す、上記仮想環境を通過する上記オブジェクトのパスを生成する
生成方法
を実行させる命令を含む
コンピュータプログラム製品。
本開示の実施形態は野球バットのスイングの例を参照して説明してきたが、本開示はこの点に関して特に限定されないことが理解されよう。すなわち、本開示の実施形態は、オブジェクトのパスを生成するために、多くの異なるスポーツに適用されてもよい。例えば、本開示の実施形態は、テニスラケットのパスを生成することができるように、テニスのスポーツに適用されてもよい。あるいは、本開示の実施形態は、ゴルフクラブのパスが生成され得るように、ゴルフのスポーツに適用されてもよい。さらに、本開示の実施形態は、例えば、クリケットバットのスイングが生成され得るように、クリケットのスポーツに適用されてもよい。実際、本開示の実施形態は、オブジェクトのパスに関する情報を生成するために、必要に応じて、任意の数の異なるタイプのスポーツに適用されてもよい。
さらに、本開示の実施形態は、スポーツイベントの例に特に限定されない。むしろ、本開示の実施形態は、オブジェクトの位置および向きを含む、環境を通過するオブジェクトのパスを分析することができるのが望ましい、任意の他のタイプのイベントに適用されてもよい。
上記の教示に照らして、本開示の多数の修正および変形が可能である。したがって、添付の特許請求の範囲内で、本開示は、本明細書で具体的に説明される以外の方法で実施されてもよいことが理解される。
本開示の実施形態が少なくとも部分的に、ソフトウェア制御されたデータ処理装置によって実装されるものとして説明されている限り、光ディスク、磁気ディスク、半導体メモリ等、そのようなソフトウェアを搬送する非一時的な機械可読媒体も、本開示の実施形態を表すと考えられることが理解される。
本発明を明確にするための上記の説明は、異なる機能ユニット、回路、および/またはプロセッサを参照して実施形態を説明したことが理解される。しかしながら、本発明の実施形態から逸脱することなく、異なる機能ユニット、回路、および/またはプロセッサ間の機能における任意の適切な分散が使用されることは明らかである。
本明細書で説明された実施形態は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせを含む任意の適切な形態で実装される。本明細書で説明された実施形態は、任意選択で、1つ以上のデータプロセッサおよび/またはデジタル信号プロセッサ上で実行されるコンピュータソフトウェアとして、少なくとも部分的に実装される。任意の実施形態における部品および構成要件が、任意の適切な方法で物理的に、機能的に、および論理的に実装される。実際、この機能は、単一のユニットで、複数のユニットで、または他の機能ユニットの一部として実装されてもよい。したがって、本開示の実施形態は、単一のユニットで実装されてもよく、または、異なるユニット、回路、および/またはプロセッサの間で物理的および機能的に分散されてもよい。
本開示は、いくつかの実施形態に関連して説明されたが、本明細書に記載された特定の形態に限定されることは意図されていない。さらに、特徴は特定の実施形態に関連して説明されているように見えるが、当業者は、説明された実施形態の種々の特徴が本技法を実施するのに適した任意の方法で組み合わされ得ることを認識するであろう。

Claims (20)

  1. 仮想環境を通過するオブジェクトのパスを生成する方法であって、
    物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
    前記物理的環境に配置された複数の画像キャプチャデバイスから、前記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
    各画像キャプチャデバイスから、前記第1の時点および前記少なくとも1つの第2の時点で、前記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
    各画像キャプチャデバイスから、前記第1の時点および前記少なくとも1つの第2の時点で、前記画像データ内の前記オブジェクトに関連付けられた前記複数の点の前記位置を仮想環境に投影して、各時点で、前記仮想環境内の前記オブジェクトに関連付けられた前記複数の点の位置を生成し、
    前記仮想環境内の前記オブジェクトに関連付けられた前記複数の点の前記位置を使用して、前記仮想環境を通過する前記オブジェクトの位置および向きを示す、前記仮想環境を通過する前記オブジェクトのパスを生成し、
    前記オブジェクトは、バットであり、
    前記オブジェクトの前記パスは、前記バットのスイングであり、
    前記バットの前記スイングは、前記仮想環境を通過する前記バットの速度をさらに示し、
    前記第1の時点および/または前記少なくとも1つの第2の時点のうちの少なくとも1つにおいて、前記複数の画像キャプチャデバイスからの前記画像データ内の第2のオブジェクトの位置を検出し、
    前記バットの前記スイングおよび前記第2のオブジェクトの前記検出された位置を用いて、前記第2のオブジェクトと前記バットとの相互作用を分析し、前記相互作用を示す情報を決定する
    生成方法。
  2. 請求項1に記載の生成方法であって、
    前記第2のオブジェクトはボールであり、
    前記相互作用を示す前記情報は、前記バット上の前記ボールのインパクト位置、前記ボールと前記バットとの間のインパクト前の時間における前記バットに対する前記ボールの速度、およびインパクト時における前記ボールと前記バットとの間のエネルギー伝達に関する情報を含む
    生成方法。
  3. 請求項2に記載の生成方法であって、さらに、
    前記相互作用の質に関する情報を生成するために、前記相互作用を示す前記情報を、前記相互作用後の前記ボールの検出された位置および/または検出されたパスと比較する
    生成方法。
  4. 請求項3に記載の生成方法であって、
    前記オブジェクトに関連付けられた前記複数の点は、前記バットの遠位部分上の点、および前記バットの前記遠位部分と前記バットの近位部分との間に位置する点を少なくとも含む
    生成方法。
  5. 請求項4に記載の生成方法であって、さらに、
    前記バットの前記近位部分が前記画像データにおいて検出可能でない場合、前記バットの前記遠位部分から、前記バットの前記向きを用いて線を投影することによって、前記バットの前記近位部分の位置を決定し、
    前記線の特性は前記バットのモデルを使用して決定される
    生成方法。
  6. 請求項1に記載の生成方法であって、
    前記バットは、野球バットである
    生成方法。
  7. 請求項1に記載の生成方法であって、
    前記オブジェクトに関連付けられた前記複数の点は、前記オブジェクト上の多数の所定の区別可能な領域に対応する
    生成方法。
  8. 請求項1に記載の生成方法であって、
    前記画像データ内の前記オブジェクトに関連付けられた前記複数の点の前記位置を検出することは、訓練済みモデルを使用して前記オブジェクトおよび/または前記画像データ内の前記オブジェクトに関連付けられた前記複数の点を識別することを含む
    生成方法。
  9. 請求項8に記載の生成方法であって、さらに、
    前記オブジェクトの模擬画像データおよび/または履歴画像データのうちの少なくとも1つを使用して前記訓練済みモデルを訓練する
    生成方法。
  10. 請求項9に記載の生成方法であって、
    前記訓練済みモデルは、機械学習モデルである
    生成方法。
  11. 請求項1に記載の生成方法であって、さらに、
    前記オブジェクトを含む前記画像データの部分を決定し、
    前記画像データの前記部分を用いて、前記オブジェクトに関連付けられた前記複数の点の前記位置を検出する
    生成方法。
  12. 請求項11に記載の生成方法であって、さらに、
    前記少なくとも1つの第2の時点のうちの1つの時点において、前記複数の点が前記画像データにおいて検出できない場合、
    前記複数の点を検出して当該複数の点を前記仮想環境に投影することができる前記画像データにわたって、前記オブジェクトに関連付けられた前記複数の点の前記位置を三角測量し、
    前記仮想環境内の前記複数の点を囲む前記オブジェクトのための3次元バウンディングボックスを生成し、
    前記3次元バウンディングボックスを使用して、前記複数の点が検出できなかった前記画像データについて、前記オブジェクトが位置している前記画像データの部分を再定義し、
    前記画像データの前記再定義された部分を用いて、前記複数の点が検出できなかった前記画像データ内の前記オブジェクトに関連付けられた前記複数の点の位置を検出する
    生成方法。
  13. 請求項1に記載の生成方法であって、
    前記オブジェクトに関連付けられた前記複数の点の前記位置を検出することは、前記オブジェクトの前記複数の点の前記位置を示すヒートマップを生成することを含む
    生成方法。
  14. 請求項1に記載の生成方法であって、さらに、
    画像キャプチャ時における前記物理的環境内の前記画像キャプチャデバイスの前記位置を示す情報を用いて、前記画像データ内の前記オブジェクトに関連付けられた前記複数の点の前記位置を前記仮想環境に投影する
    生成方法。
  15. 請求項1に記載の生成方法であって、
    前記仮想環境を通過する前記オブジェクトの前記パスを生成することは、前記仮想環境における前記オブジェクトに関連付けられた前記複数の点の前記位置を通る曲線をフィッティングすることを含む
    生成方法。
  16. 請求項15に記載の生成方法であって、
    前記仮想環境を通過する前記オブジェクトに関連付けられた前記複数の点の前記位置を通る前記曲線をフィッティングすることは、前記仮想環境における前記オブジェクトに関連付けられた前記複数の点の前記位置を通る多項式スプラインをフィッティングすることを含む
    生成方法。
  17. 請求項16に記載の生成方法であって、さらに、
    前記仮想環境内の前記オブジェクトの回転中心に位置する原点を使用して、前記仮想環境内の球座標系に切り替え、
    平滑化関数を前記曲線に適用して、前記仮想環境を通過する前記オブジェクトの前記パスを生成する
    生成方法。
  18. 請求項1に記載の生成方法であって、さらに、
    前記仮想環境における前記オブジェクトの3次元モデルを、前記オブジェクトに関連付けられた前記複数の点の前記位置および生成された前記オブジェクトの前記パスのうちの少なくとも1つを用いて決定された位置に配置する
    生成方法。
  19. 仮想環境を通過するオブジェクトのパスを生成するための装置であって、
    物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
    前記物理的環境に配置された複数の画像キャプチャデバイスから、前記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
    各画像キャプチャデバイスから、前記第1の時点および前記少なくとも1つの第2の時点で、前記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
    各画像キャプチャデバイスから、前記第1の時点および前記少なくとも1つの第2の時点で、前記画像データ内の前記オブジェクトに関連付けられた前記複数の点の前記位置を仮想環境に投影して、各時点で、前記仮想環境内の前記オブジェクトに関連付けられた前記複数の点の位置を生成し、
    前記仮想環境内の前記オブジェクトに関連付けられた前記複数の点の前記位置を使用して、前記仮想環境を通過する前記オブジェクトの位置および向きを示す、前記仮想環境を通過する前記オブジェクトのパスを生成する
    ように構成された回路を具備する
    生成装置。
  20. コンピュータによってプログラムが実行されるときに、前記コンピュータに仮想環境を通過するオブジェクトのパスを生成する方法であって、
    物理的環境に配置された複数の画像キャプチャデバイスから、第1の時点で、画像データを受信し、
    前記物理的環境に配置された複数の画像キャプチャデバイスから、前記第1の時点後の少なくとも1つの第2の時点で、画像データを受信し、
    各画像キャプチャデバイスから、前記第1の時点および前記少なくとも1つの第2の時点で、前記画像データ内のオブジェクトに関連付けられた複数の点の位置を検出し、
    各画像キャプチャデバイスから、前記第1の時点および前記少なくとも1つの第2の時点で、前記画像データ内の前記オブジェクトに関連付けられた前記複数の点の前記位置を仮想環境に投影して、各時点で、前記仮想環境内の前記オブジェクトに関連付けられた前記複数の点の位置を生成し、
    前記仮想環境内の前記オブジェクトに関連付けられた前記複数の点の前記位置を使用して、前記仮想環境を通過する前記オブジェクトの位置および向きを示す、前記仮想環境を通過する前記オブジェクトのパスを生成する
    生成方法
    を実行させる命令を含む
    コンピュータプログラム製品。
JP2021148263A 2020-09-18 2021-09-13 仮想環境を介してオブジェクトのパスを生成するための方法、装置、およびコンピュータプログラム製品 Pending JP2022051532A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2014708.8A GB2599627A (en) 2020-09-18 2020-09-18 Method, apparatus and computer program product for generating a path of an object through a virtual environment
GB2014708.8 2020-09-18

Publications (1)

Publication Number Publication Date
JP2022051532A true JP2022051532A (ja) 2022-03-31

Family

ID=73196733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021148263A Pending JP2022051532A (ja) 2020-09-18 2021-09-13 仮想環境を介してオブジェクトのパスを生成するための方法、装置、およびコンピュータプログラム製品

Country Status (4)

Country Link
US (1) US11615580B2 (ja)
EP (1) EP3971842A1 (ja)
JP (1) JP2022051532A (ja)
GB (1) GB2599627A (ja)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011562A (en) * 1997-08-01 2000-01-04 Avid Technology Inc. Method and system employing an NLE to create and modify 3D animations by mixing and compositing animation data
GB2452510A (en) * 2007-09-05 2009-03-11 Sony Corp System For Communicating A Three Dimensional Representation Of A Sporting Event
US8744121B2 (en) * 2009-05-29 2014-06-03 Microsoft Corporation Device for identifying and tracking multiple humans over time
US9211439B1 (en) * 2010-10-05 2015-12-15 Swingbyte, Inc. Three dimensional golf swing analyzer
US9350951B1 (en) * 2011-11-22 2016-05-24 Scott Dallas Rowe Method for interactive training and analysis
US9857876B2 (en) * 2013-07-22 2018-01-02 Leap Motion, Inc. Non-linear motion capture using Frenet-Serret frames
US10456653B2 (en) * 2015-07-16 2019-10-29 Blast Motion Inc. Swing quality measurement system
US10974121B2 (en) * 2015-07-16 2021-04-13 Blast Motion Inc. Swing quality measurement system
JP6653872B2 (ja) * 2016-02-19 2020-02-26 株式会社キンキクレスコ 野球用判定システム
US9846805B2 (en) * 2016-03-16 2017-12-19 Sportsmedia Technology Corporation Tracking of handheld sporting implements using computer vision
US20180020954A1 (en) * 2016-07-20 2018-01-25 L & C Orthopedics, Llc Method and system for automated biomechanical analysis of bodily strength and flexibility
US10786728B2 (en) * 2017-05-23 2020-09-29 Blast Motion Inc. Motion mirroring system that incorporates virtual environment constraints
US20180361223A1 (en) * 2017-06-19 2018-12-20 X Factor Technology, LLC Swing alert system and method
US10380409B2 (en) * 2017-11-16 2019-08-13 Blast Motion Inc. Method for estimating a 3D trajectory of a projectile from 2D camera images
US20220161117A1 (en) * 2019-06-28 2022-05-26 RLT IP Ltd. Framework for recording and analysis of movement skills
US11348246B2 (en) * 2019-11-11 2022-05-31 Adobe Inc. Segmenting objects in vector graphics images
US11263778B2 (en) * 2020-04-07 2022-03-01 Verizon Patent And Licensing Inc. Systems and methods for aiding a visual positioning system with indoor wayfinding

Also Published As

Publication number Publication date
EP3971842A1 (en) 2022-03-23
GB202014708D0 (en) 2020-11-04
US11615580B2 (en) 2023-03-28
US20220092844A1 (en) 2022-03-24
GB2599627A (en) 2022-04-13

Similar Documents

Publication Publication Date Title
US11998819B2 (en) Virtual environment construction apparatus, video presentation apparatus, model learning apparatus, optimal depth decision apparatus, methods for the same, and program
US10821347B2 (en) Virtual reality sports training systems and methods
US10922879B2 (en) Method and system for generating an image
RU2498404C2 (ru) Способ и устройство для генерирования регистрационной записи события
US11826628B2 (en) Virtual reality sports training systems and methods
US10412467B2 (en) Personalized live media content
JP2009064445A (ja) 画像処理装置及び方法
JP2009077394A (ja) 通信システム及び通信方法
JP2018004638A (ja) ボールの回転を測定するための方法、システム、及び非一時的なコンピュータ読み取り可能な記録媒体
US10786742B1 (en) Broadcast synchronized interactive system
US11514678B2 (en) Data processing method and apparatus for capturing and analyzing images of sporting events
US20220292766A1 (en) Three-dimensional rendering of sporting event from two-dimensional video stream
JP2022051532A (ja) 仮想環境を介してオブジェクトのパスを生成するための方法、装置、およびコンピュータプログラム製品
EP3836012B1 (en) A device, computer program and method for determining handball performed by a player
US11606608B1 (en) Gamification of video content presented to a user
US20230302357A1 (en) Systems and methods for analyzing video data of predictive movements
JP2020145500A (ja) 人物による所定の動作を検証するためのシステム、方法、プログラム、及び装置
Sun Motion Comparison and Tactic Analysis in Sports Training

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211007