(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-04
(45)【発行日】2024-04-12
(54)【発明の名称】学習ベースの地上位置推定
(51)【国際特許分類】
G06T 7/70 20170101AFI20240405BHJP
G06T 7/00 20170101ALI20240405BHJP
G06F 3/04815 20220101ALI20240405BHJP
【FI】
G06T7/70 A
G06T7/00 350C
G06F3/04815
【外国語出願】
(21)【出願番号】P 2019194887
(22)【出願日】2019-10-28
【審査請求日】2022-08-25
(32)【優先日】2018-10-30
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】515136199
【氏名又は名称】ラップソード ピーティーイー リミテッド
【氏名又は名称原語表記】Rapsodo Pte.Ltd.
【住所又は居所原語表記】Block 67,Ayer Rajah Crescent,#04-10,Singapore,Singapore
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジン シュー
(72)【発明者】
【氏名】タオ シー
(72)【発明者】
【氏名】ジャン ボーイー
(72)【発明者】
【氏名】オカー バドゥハン
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2017-091092(JP,A)
【文献】米国特許出願公開第2018/0056124(US,A1)
【文献】特開2013-012163(JP,A)
【文献】Hua-Tsung Chen,Physics-based ball tracking and 3D trajectory reconstruction with applications to shooting location estimation in basketball video,Journal of Visual Communication and Image Representation,2009年,Vol.20, No.3,P.204-216,https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=5da117192f23f3f5621cd6000ec27b518dc30b06
【文献】高橋 茂樹,バレーボール映像における選手及びボールの追跡とそのイベント推定への応用,映像情報メディア学会技術報告 Vol.34 No.6,日本,(社)映像情報メディア学会,2010年02月15日,AIT2010-4 HI2010-4 ME2010-4,P.17-21
【文献】Bodhisattwa Chakraborty,A Trajectory-Based Ball Detection and Tracking System with Applications to Shooting Angle and Velocity Estimation in Basketball Videos,2013 Annual IEEE India Conference (INDICON),IEEE,2013年,全6ページ,https://ieeexplore.ieee.org/stamp/stamp,jsp?tp=&arnumber=6725963
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G06T 7/00
G06F 3/04815
(57)【特許請求の範囲】
【請求項1】
環境内である時間にわたってカメラで撮られた複数の画像を取得すること、
前記複数の画像のうちの第1画像における前記環境のターゲット領域内の物体の第1位置を特定すること、
前記複数の画像のうちの第2画像における前記物体の第2位置を特定すること、
前記物体の前記第1位置及び前記物体の前記第2位置に基づいて、前記物体の推定された軌道を求めること、
前記推定された軌道に基づいて、前記物体の前記推定された軌道の開始点に関連付けられた、前記環境における地上位置を推定すること、及び
グラフィカルユーザインタフェースにおける表示のために、前記物体の前記推定された軌道の前記開始点に関連付けられた前記地上位置を提供すること
を含
む方法であって、
前記物体の前記第2位置は、前記物体の前記推定された軌道の前記開始点に対応し、
前記方法は、
ばらつきの閾値を超える、前記推定された軌道の前記開始点のばらつきに応答して、前記物体の飛行時間を求めることをさらに含み、
前記飛行時間は、前記第1画像及び前記第2画像の間の画像の個数を数えることによって求められる方法。
【請求項2】
前記ターゲット領域内の前記物体を特定することは、前記物体の前記推定された軌道を求めることをトリガする
請求項1に記載の方法。
【請求項3】
前記第1画像における前記物体の前記第1位置を特定すること及び前記第2画像における前記物体の前記第2位置を特定することは、前記物体の少なくとも一部を表現する画素を特定することを含む
請求項1に記載の方法。
【請求項4】
前記物体の少なくとも一部を表現する画素を特定することは、K近傍アルゴリズムを用いて画素を特定することを含み、
前記特定された画素の中心部分は、前記物体の重心を表す
請求項3に記載の方法。
【請求項5】
前記物体の位置を特定することは、前記第1画像からストップ画像に到達するまで、逆向きに実行され、
前記ストップ画像内の前記物体に関連付けられた画素の中心部分は特定不能であり、
前記第2画像は、前記第1画像及び前記ストップ画像の間で時間順に配置される
請求項3に記載の方法。
【請求項6】
ニューラルネットワークを用い
て前記ターゲット領域内の特徴に対応する複数の定義点を特定すること
によって、前記環境の前記ターゲット領域を見つけること
をさらに含む請求項1に記載の方法。
【請求項7】
前記環境の前記ターゲット領域を見つけることは、前記カメラ及び前記ターゲット領域のうちの1つ又は両方の動きに応答する
請求項6に記載の方法。
【請求項8】
前記推定された軌道を求めることは、前記第1位置及び前記第2位置を曲線にあてはめることによって、曲線係数を特定することを含む
請求項1に記載の方法。
【請求項9】
前記地上位置を推定することは、前記曲線係数と、前記ターゲット領域内の特徴に対応する複数の定義点及び前記物体の飛行時間のうちの1つ又は両方とをニューラルネットワークに入力することを含む
請求項
8に記載の方法。
【請求項10】
前記開始点は、未知又は異なる位置へ移動している
請求項1に記載の方法。
【請求項11】
更なる画像が、前記推定された軌道の端点を特定するために使用される
請求項1に記載の方法。
【請求項12】
メモリ、及び
前記メモリと通信可能に結合された1つ以上のプロセッサ
を備えるシステムであって、
前記1つ以上のプロセッサは、前記メモリに記憶された命令を実行することによって、前記システムに
環境内である時間にわたってカメラで撮られた複数の画像を取得させ、
前記複数の画像のうちの第1画像における前記環境のターゲット領域内の物体の第1位置を特定させ、
前記複数の画像のうちの第2画像における前記物体の第2位置を特定させ、
前記物体の前記第1位置及び前記物体の前記第2位置に基づいて、前記物体の推定された軌道を求めさせ、
前記推定された軌道に基づいて、前記物体の前記推定された軌道の開始点に関連付けられた、前記環境における地上位置を推定させ、及び
グラフィカルユーザインタフェースにおける表示のために、前記物体の前記推定された軌道の前記開始点に関連付けられた前記地上位置を提供させる
ことを含む操作を実行させるよう構成され
、
前記物体の前記第2位置は、前記物体の前記推定された軌道の前記開始点に対応し、
前記命令の実行は、さらに前記システムに、
ばらつきの閾値を超える、前記推定された軌道の前記開始点のばらつきに応答して、前記物体の飛行時間を求めさせ、
前記飛行時間は、前記第1画像及び前記第2画像の間の画像の個数を数えることによって求められる、システム。
【請求項13】
前記ターゲット領域内の前記物体を特定することは、前記物体の前記推定された軌道を求めることをトリガする
請求項
12に記載のシステム。
【請求項14】
前記第1画像における前記物体の前記第1位置を特定すること及び前記第2画像における前記物体の前記第2位置を特定することは、前記物体の少なくとも一部を表現する画素を特定することを含む
請求項
12に記載のシステム。
【請求項15】
前記物体の少なくとも一部を表現する画素を特定することは、K近傍アルゴリズムを用いて画素を特定することを含み、
前記特定された画素の中心部分は、前記物体の重心を表す
請求項
14に記載のシステム。
【請求項16】
前記物体の位置を特定することは、前記第1画像からストップ画像に到達するまで、逆向きに実行され、
前記ストップ画像内の前記物体に関連付けられた画素の中心部分は特定不能であり、
前記第2画像は、前記第1画像及び前記ストップ画像の間で時間順に配置される
請求項
14に記載のシステム。
【請求項17】
前記命令の実行は、さらに前記システムに、ニューラルネットワークを用い
て前記ターゲット領域内の特徴に対応する複数の定義点を特定させる
によって、前記環境の前記ターゲット領域を見つける
請求項
12に記載のシステム。
【請求項18】
前記環境の前記ターゲット領域を見つけることは、前記カメラ及び前記ターゲット領域のうちの1つ又は両方の動きに応答する
請求項
17に記載のシステム。
【請求項19】
前記推定された軌道を求めることは、前記第1位置及び前記第2位置を曲線にあてはめることによって、曲線係数を特定することを含む
請求項
12に記載のシステム。
【請求項20】
1つ以上のプロセッサ、及び
命令を含む非一時的なコンピュータで読み取り可能な媒体
を備えるシステムであって、
前記命令は、前記1つ以上のプロセッサによる実行に応答して、
環境内である時間にわたってカメラで撮られた複数の画像を取得し、
前記複数の画像のうちの第1画像における前記環境のターゲット領域内の物体の第1位置を特定し、
前記複数の画像のうちの第2画像における前記物体の第2位置を特定し、
前記物体の前記第1位置及び前記物体の前記第2位置に基づいて、前記物体の推定された軌道を求め、
前記推定された軌道に基づいて、前記物体の前記推定された軌道の開始点に関連付けられた、前記環境における地上位置を推定し、及び
グラフィカルユーザインタフェースにおける表示のために、前記物体の前記推定された軌道の前記開始点に関連付けられた前記地上位置を提供する
ことを含む操作の実行を制御
し、
前記物体の前記第2位置は、前記物体の前記推定された軌道の前記開始点に対応し、
前記命令は、
ばらつきの閾値を超える、前記推定された軌道の前記開始点のばらつきに応答して、前記物体の飛行時間を求めさせることを含む操作を含み、
前記飛行時間は、前記第1画像及び前記第2画像の間の画像の個数を数えることによって求められる、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、大まかには学習ベースの地上位置推定に関する。
【背景技術】
【0002】
物体は、時には空中を移動し得る。ボールが放出された場合、特に、ボールの放出の位置が視野から遮られている場合においては、位置を決定するのが難しい場合がある。コンピュータシステムによっては、ボール放出の位置を決定しようと試みるかもしれないが、最も簡単なシナリオにおいてさえも一般には不正確である。
【0003】
ここで請求される主題は、任意の短所を解決する、又は上述のもののような環境においてだけ動作する実施形態には限定されない。むしろ、この背景は、ここで記載されるいくつかの実施形態が実施され得る1つの例示的技術分野を示すために提供されるに過ぎない。
【発明の概要】
【0004】
本開示の実施形態は、方法、システム、及び/又はコンピュータ読み取り可能な媒体で実行されるさまざまな操作を論述する。この操作は、環境内である時間にわたってカメラで撮られた複数の画像を取得することを含み得る。この操作は、前記複数の画像のうちの第1画像における前記環境のターゲット領域内の物体の第1位置を特定すること、及び前記複数の画像のうちの第2画像における前記物体の第2位置を特定することも含み得る。追加として、この操作は、前記物体の前記第1位置及び前記物体の前記第2位置に基づいて、前記物体の推定された軌道を求めることを含み得る。この操作は、前記推定された軌道に基づいて、前記物体の前記推定された軌道の開始点に関連付けられた、前記環境における地上位置を推定することをさらに含み得る。追加として、この操作は、グラフィカルユーザインタフェースにおける表示のために、前記物体の前記推定された軌道の前記開始点に関連付けられた前記地上位置を提供することを含み得る。
【図面の簡単な説明】
【0005】
例示的実施形態は、添付の図面の使用を通して、さらなる具体性及び詳細さと共に記載及び説明される。
【
図1】
図1は、地上位置を推定する例示的環境を示す。
【
図3】
図3は、
図1、2A、2B、及び2Cのうちの任意のものの地上位置を推定する例示的方法を示す。
【
図4】
図4は、例示的計算システムのブロック図を示す。
【発明を実施するための形態】
【0006】
多くの技術及び分野が画像化分析から利益を享受し得る。例えば、スポーツにおいて、プレーヤーは、ゴルフのストロークにおけるバックスイングの特定の部分、テニスのフォアハンドについてのフォロースルー、ボクシングにおけるジャブ・クロスの組合せの間の拳の配置、バスケットボールにおけるフリースローのアーチ、バレーボールにおけるスパイクアングル等のような、自分たちのパフォーマンスのある種の局面をレビューすることによってパフォーマンスを改善し得る。画像化分析は、プレーヤーが、強み、弱点、悪いフォーム等の領域を特定することを助け得る。
【0007】
画像化分析は、物体の発射位置を特定するのに利用され得る。発射位置は、物体が空中に放出される空間位置として参照され得る。少なくとも1つの実施形態においては、発射位置は、物体が空中に放出された時刻における表面又は平面上での空間位置を表し得る。スポーツにおいては、例えば発射位置は、プレーヤーがボールを放出した時(ゴールへのシュートにおける、又は他のプレーヤーへのパスにおけるような)にプレーヤーがいたバスケットボールコート上での点のような、競技場での位置を表し得る。代替として、シューティング位置は、物体が空中に放出された瞬間の物体の空間位置を表し得る。例えば、スポーツにおいて、シューティング位置は、空中に放出される時のボールの位置を表し得る。
【0008】
バスケットボール又はネットボールのようなある種のスポーツにおいては、シューティング位置は、フィールドゴールパーセンテージ、フリースローパーセンテージ、スリーポイントパーセンテージ、ペイントエリアにおけるポイント等、パフォーマンスの尺度(例えば試合の統計)にしばしば関連する。シューティング位置は、個人の進歩にも関連し、必ずしも試合の統計には関係しない(例えば「私の左コーナースリーポイントショットは、私の右コーナースリーポイントショットほどは一貫していない」)。よってシューティング位置は、バスケットボール及びネットボールの多くの局面に関連する。したがって、シューティング位置は、画像化分析について多くの時間及び注意を受ける。
【0009】
ある従来の方法及びシステムにおいては、シューティング位置を特定することは、困難なタスクであり及び/又は計算集約的であり得る。例えば、ある種の従来の方法及びシステムは、軌道分析を用いてシューティング位置を特定しようとするかもしれない。しかしこれらの従来の方法及びシステムは、較正プロセス及び/又は固定画像化パラメータを用いて、画像化分析において用いられるカメラの位置を特定又は固定して維持し得る。例えば、ある既存のシステムは、ボールの軌道を遡ってトレースすること及び付近の領域における人検出を実行することによって、シューティングをするプレーヤーを検出し得る。このアプローチは、画像中にプレーヤーのバウンディングボックスを描くことを典型的には含む。そうするとバウンディングボックスの底側の中心は、画像平面から地上平面への推定された投影を用いて、コート上へ下向きに投影される。
【0010】
これら従来のシステムについての問題には、1)シュートする人の姿が他のプレーヤーによって遮られる可能性があり、その結果、シュートする人の特定が不正確になり、よって誤ったシューティング位置になり得ること、2)シュートする人のバウンディングボックスが不正確になり得ること、例えばプレーヤーの足がバウンディングボックスから外に出るかもしれないこと、3)これらシステムは、シュートする人の足がボールをシュートする時には地上にあると典型的には想定すること、及び4)画像平面からコート座標系(地上平面)への投影を推定するために、較正プロセスがしばしば必要とされることがある。従来のシステムには、無数の他の欠点も存在する。
【0011】
本開示の局面は、新規な、シューティング位置推定の精度を改善すると同時に、システムの柔軟性(例えばクライアントデバイスにおける使用)を可能にする、新規なコンピュータベースのアプローチを提供することによって、従来の方法及びシステムについてのこれら及び他の問題に対応する。さらに、開示されたシステム及び方法は、従来のシステムと比較して、大幅により優秀な結果を達成する、低減された計算要件を通じて、従来のシステムに対する顕著な改善を提供する。例えば、本開示の例示的実施形態によれば、学習ベースのシステムは、カメラの正確な位置座標を有することが不必要であるであるように実現され得る。追加として、又は代替として、本開示の例示的実施形態においては、プレーヤー検出のために従来のシステムなら要求される計算サイクルは、本開示によっては要求されず、実現もされない。
【0012】
さらに本開示の1つ以上の実施形態によれば、カメラ及び/又はターゲット領域(バックボード領域のような)の移動(movement)は、従来の方法及びシステムにおいてはそうであるかもしれないが、シューティング位置を決定することの精度に影響しないかもしれない。例えば、カメラ及び/又はターゲット領域の移動は、以下に詳述されるように、ターゲット領域を見つけることを含む本開示の方法に従って補償され得る。
【0013】
さらに本開示の1つ以上の実施形態によれば、物体の軌道の開始点のばらつき(例えば異なるプレーヤーの身長及び/又はジャンプショット又はフリースローのような異なる種類のショットに起因する)は、従来の方法及びシステムではそうであるかもしれないが、シューティング位置を決定することの精度に影響を与えないかもしれない。例えば、物体の飛行時間は、以下に詳述されるように、物体の軌道の開始点におけるばらつきを補償するように決定され得る。
【0014】
図1は、地上位置を推定する例示的環境を示す。環境100は、本開示の少なくとも1つの実施形態にしたがって構成される。図示されるように、環境100は、計算システム110及びニューラルネットワーク115を有するデータマネージャ105、視野122を有するカメラ120、軌道125、物体130、開始点135、及び地上位置140を含み得る。
【0015】
ある実施形態では、データマネージャ105は、計算システム110及び/又はニューラルネットワーク115の動作を管理し得る。追加として又は代替として、データマネージャ105は、システム110及びニューラルネットワーク115の間の通信を促進し得る。追加として又は代替として、データマネージャ105は、カメラ120と、計算システム110及びニューラルネットワーク115の任意のものとの間の通信を促進し得る。
【0016】
ある実施形態では、データマネージャ105は、クライアントデバイスの一部であり得る。クライアントデバイスのいくつかの例は、携帯電話、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、仮想現実デバイス、ウェアラブルデバイス、又は接続されたデバイス等を含み得る。
【0017】
ある実施形態では、計算システム110は、
図4に関連して説明されるシステム400のような任意のコンピュータシステムを含み得る。これらの又は他の実施形態において、ニューラルネットワーク115は、任意の学習ベースのメカニズムを含み得る。ニューラルネットワークの例は、パーセプトロン、多層パーセプトロン、フィードフォワード、放射基底ネットワーク、ディープフィードフォワード、回帰型ニューラルネットワーク、長/短期記憶、ゲート付き回帰型ユニット、オートエンコーダ、変分オートエンコーダ、デノイジングオートエンコーダ、スパースオートエンコーダ、任意の系列変換モデル、浅いニューラルネットワーク、マルコフチェーン、ホップフィールドネットワーク、ボルツマンマシン、制限ボルツマンマシン、深層信念ネットワーク、深層畳み込みネットワーク、畳み込みニューラルネットワーク(例えばVGG-16)、逆畳み込みネットワーク、深層畳み込み逆グラフィックスネットワーク、モジュラーニューラルネットワーク、生成敵対ネットワーク、リキッドステートマシン、エクストリームラーニングマシン、エコーステートネットワーク、回帰型ニューラルネットワーク、深層残差ネットワーク、コホーネンネットワーク、サポートベクターマシン、ニューラルチューリングマシン等を含み得る。
【0018】
ニューラルネットワーク115は、カメラ120からデータを受け取り得る。カメラ120は、クライアントデバイスの一部として含まれ得て、又はクライアントデバイスから分離されたデバイスであり得る。ある実施形態では、視野122は、カメラ120が画像化し得る(例えばビデオモード又はピクチャモードで)3次元空間であり得る。カメラ120は、視野122が、軌道125の開始点135、ターゲット領域(例えば
図2A、2B、及び2Cのターゲット領域202)、及び開始点135及びターゲット領域の間の少なくとも大部分を含むように配置され得る。
【0019】
ニューラルネットワーク115は、カメラ120によって生成されたデータを使用することによって、トレーニングプロセスの間に学習をし得る(例えばニューラルネットワーク115において、1つ以上のレイヤ又はニューロンをポピュレートする(populate))。追加として又は代替として、ニューラルネットワーク115は、カメラ120によって生成されたデータを使用することによって、トレーニング後の学習を行い得る(例えばニューラルネットワーク115における1つ以上のレイヤ又はニューロンを再ポピュレートする(re-populate)か、又は環境100における変化した状況に応答してレイヤ又はニューロンをポピュレートする)。
【0020】
例えば、カメラ120によって生成されたデータを用いて、ニューロン115は、軌道125の開始点135が与えられたプレーヤーについてどこにあるかを知り得る(例えば数回、数十回、又は数百回のトレーニングショットの後に)。本開示において参照されるように、開始点135は、軌道125にほぼ沿った物体130の移動(motion)の開始が検出される物体130の位置を含み得る。例えば、開始点135は、物体130が空中に放出される瞬間においてプレーヤーの手を離れるとして物体130が検出される位置を含み得る。追加として又は代替として、開始点135は、物体130が空中に放出されつつあるプロセスの途中にある瞬間(例えば、ほぼ軌道125に沿った向きの動きを物体130に与えるために、力が物体130に対して及ばされている瞬間)に、プレーヤーの手の中にあるとして物体130が検出される位置を含み得る。追加として又は代替として、開始点135は、物体130が空中に放出されつつあるプロセスを始めようとしている瞬間(例えば、軌道125にほぼ沿う向きに物体130に加えられる力を有する前で、物体130がほぼ静止状態である瞬間)において、プレーヤーの手の中にあるとして、物体130が検出される位置を含み得る。よってある実施形態では、軌道125の開始点135は、軌道125に沿って物体130が発射される以前の、発射されつつある間の、又は発射された後のある時刻における物体130の位置を含み得る。
【0021】
開始点135を学習するためにニューラルネットワーク115をトレーニングすることは、データが、プレーヤーの放った異なるショットに対応する、カメラ120によって生成されたデータを受け取ることを含み得る。プレーヤーによって放たれた異なるショットの例は、環境100中で異なる地上位置140におけるもののような異なる位置において放たれたショットを含み得る。追加として又は代替として、プレーヤーによって放たれた異なるショットは、スタンディングショット、ジャンプショット、フェイドアウェイショット、フローターショット等のような異なるタイプのショットを含み得る。ニューラルネットワーク115が、そのプレーヤーによって放たれた異なるショットに対応するデータを多く受け取れば多く受け取るほど、ニューラルネットワーク115は、決定される開始点135についての精度を高め得る。追加として又は代替として、ニューラルネットワーク115は、そのプレーヤーに特定の(例えばプレーヤーの身長、ショットのタイプ、ジャンプ能力、放出の形態等に特定である)開始点135の範囲を学習し得る。ニューラルネットワーク115を含む他の例は、
図2A、2B、及び2Cと共にさらなる具体性で説明される。
【0022】
ある実施形態では、軌道125は、物体130の飛行経路を含み得る。これら又は他の実施形態において、カメラ120は、さまざまな位置において物体130を描写するデータを生成し得る。さまざまな位置において物体130を描写するカメラ120からの生成されたデータに基づけば、データマネージャ105は、物体130の軌道125を決定し得る。物体130の軌道125を決定することは、
図2A、2B、及び2Cと共により詳細に説明される。
【0023】
ある実施形態では、物体130は、任意の発射体(例えばマグヌス力によって実質的に影響されない任意の発射体)を含み得る。よってある実施形態では、任意の低速物体のスポーツのために適切であり得る任意の物体を含み得る。これら又は他の実施形態では、物体130は、例えば、バスケットボール、サッカーボール、フットボール、ラグビーボール、ピンポンボール、キックボール、バレーボール、ドッジボール、クリケットボール、羽根、テニスボール、野球等を含み得る。したがって、本開示の範囲は、物体130の軌道125に基づく地上位置140を決定するのに望ましくあり得る幅広いスポーツ及びアクティビティを含み得る。図及び対応する記載のいくつかは、1つ以上の例示的スポーツ又はアクティビティと関連付けられ得るが、本開示の範囲は、ここで想定される幅広い応用例を鑑みると、それらのスポーツ又はアクティビティに限定されない。
【0024】
ある実施形態では、地上位置140は、物体130が軌道125の開始点135に位置する時刻の近傍において、地上(例えばコート、フィールド、競技表面等)におけるプレーヤーの位置に対応し得る。例えば、地上位置140は、推定された領域(例えば、約2フィート×2フィートのようななんらかの大きさの境界を有する円形、長方形、又は三角形の領域)を含み得る。これらの又は他の実施形態において、地上位置140は、物体130が開始点135に位置する時以降、その時を含む間、又はその時以前にプレーヤーがジャンプする/立つ、推定された領域を含み得る。追加として又は代替として、地上位置140は、地上の座標系を示す、推定された点(例えばドット、「X」、又は他のシンボル)を含み得る。例えば、地上の位置140は、物体130が開始点135に位置する時刻の近傍で地上に投影されるプレーヤー上の点に対応する地上の推定された座標又はピンポイントの位置を含み得る。地上位置140として地上に投影され得るプレーヤー上の点の例は、プレーヤーの質量中心、重心、肘、踵、腰のラインを含み得る。
【0025】
本開示の範囲から逸脱することなく、改変、追加、又は省略が環境100になされ得る。例えば、ある実施形態では、環境100は、明示的に図示又は記載されていない任意の個数の他の要素を含み得る。
【0026】
さらに、ここで記載された実施形態におけるさまざまな要素の分離は、全ての実施形態においてそのような分離が起こることを示すようには意図されていない。加えて、記載されている要素は、単一の要素に統合されてもよく、複数の要素群に分離されてもよいことは、本開示を鑑みれば理解されるだろう。
【0027】
図2Aは、地上位置が推定される例示的実施形態の環境200を示す。環境200は、本開示の1つ以上の実施形態にしたがって構成される。示されるように、環境200は、ターゲット領域202、画像204-216、カメラ220、視野222、軌道225、物体230、開始点235、及び地上位置240を含み得る。ある実施形態においては、カメラ220、視野222、軌道225、物体230、開始点235、及び地上位置240は、
図1のカメラ120、視野122、軌道125、物体130、開始点135、及び地上位置140とそれぞれ同一であるか、又は類似であり得る。
【0028】
図2Aによれば、物体230の軌道225は、地上位置240を推定するために、決定され得る(例えば
図1のデータマネージャ105において)。軌道225は、カメラ220によって生成されたデータを用いて決定され得る。例えば、カメラ220は、環境200の視野222内の物体230の画像を生成し得る。これら及び他の実施形態においては、ターゲット領域202における物体230を特定することは、物体230の軌道225の決定をトリガし得る。例えば、カメラ220によって生成されたデータは、オブジェクト230がターゲット領域202内にあることを特定し得る。例えば、
図1のデータマネージャ105によって実行される、物体230がターゲット領域202の中にあるという、この特定に基づいて、物体230の生成された画像は、以下にさらに説明されるように、軌道225を決定するために分析がなされ始め得る。
【0029】
ある実施形態では、ターゲット領域202は、パラメータによって定義された関心のある領域を含み得る。追加として又は代替として、ターゲット領域202は、カメラ220によって生成された画像内の2次元座標系(例えばカメラ220に相対的な座標系)を表すU-V座標系における第1位置(U
2, V
2)と関連付けられ得る。ターゲット領域202の例は、バスケットボールバックボード、サッカーゴール、フットボールエンドゾーン、コートの特定の部分、テーブル又はフィールド、アーチェリーのターゲット、弾丸のための標的等を含み得る。ある実施形態では、ターゲット領域202を定義するパラメータは、コーナー、ライン、ハッシュ、リム、ネット、プレート、バッグ、コーン、チョーク、ゴールポスト、テープ、ドット等のような、ターゲット領域202の1つ以上の特徴及び/又は境界に対応するプリセットパラメータを含み得る。追加として又は代替として、ターゲット領域202を定義するパラメータは、
図1のニューラルネットワーク115のようなニューラルネットワークを用いて取得され得る。ニューラルネットワークを用いてターゲット領域202を見つけることは、
図2Bに関連してさらに詳細に説明される。
【0030】
ある実施形態では、物体230は、バックグラウンド減算法を用いて、例えば、画像204のようにターゲット領域202に入り込んだとしてターゲット領域202内で検出され得る。バックグラウンド減算法は、プリプロセスされた画像に関してデータ中の変化(例えばピクシレーションにおける変化に起因するシーン変化)を検出する任意のセットの手法を含み得る。いくつかの例示的なバックグラウンド減算法は、時間平均フィルタアルゴリズム、フレーム差分アルゴリズム、平均フィルタアルゴリズム、移動ガウシアン平均アルゴリズム、バックグラウンド混合アルゴリズム等及びこれらの任意の組合せを含み得る。
【0031】
追加として又は代替として、例えば
図1のデータマネージャ105における、物体230がターゲット領域202内に存在するというこの特定に基づいて、物体230の生成された画像は、物体の軌道225を求めるために、さらに分析され始め得る。説明の容易さのために、画像204、206、208、210、212、214及び216のセットが移動され、これら画像のそれぞれにおける物体は、異なる位置に存在する一方で、環境200内の残りの特徴は、静止していて不変であるように見える。例えば、画像204は、物体230の位置が特定される第1画像を含み得る(例えばU-V座標系内で)。画像204よりも時間的に前である画像は、物体230を特定するようにも分析され得る。例えば、画像204よりも前の画像の分析は、画像206、208、210、212、214、及び216の中で示される物体230のそれぞれの位置を特定し得る。これら又は他の実施形態では、軌道225を決定するために、図示されたものよりもより多くの又はより少ない画像、例えば3枚の画像、5枚の画像、7枚の画像、15枚の画像、約50枚の画像、又は任意の他の個数の画像が分析され得る。
【0032】
ある実施形態では、画像204、206、208、210、212、214、及び216のうちの任意のものを含む画像の分析は、物体230の少なくとも一部を表現する画素を特定するために画像を分析することを含み得る。例えば、上述のバックグラウンド減算法を用いて、物体230の少なくとも一部を表現する画素が検索及び/又は特定され得る(例えば
図1のデータマネージャ105によって)。追加として又は代替として、物体230の少なくとも一部を表現する画素は、K近傍アルゴリズムを用いて検索及び/又は特定され得る。これら又は他の実施形態では、
図1のニューラルネットワーク115のようなニューラルネットワークが、物体230の少なくとも一部を表現する画素を特定するときに、実現され得る。
【0033】
ある実施形態においては、物体230の少なくとも一部を表現する特定された画素は、物体230の特定の局面又は特徴を表現し得る。例えば、特定された画素は、物体230の重心、中点、中心線、ステッチ、縫い目、空気吸入口、文字等を表現し得る。これら又は他の実施形態では、物体230の特定の局面又は特徴を表す特定された画素は、今度は、それぞれの画像における物体230の位置を特定するのに用いられ得る。例えば、画素又は画素群のグループは、物体230の重心に対応し得る。物体230の重心の位置(例えばU-V座標系において)は、全体としての物体230の位置として指定され得る。このように、カメラ220によって生成された1つ以上の画像における物体230の位置が特定され得る。
【0034】
ある実施形態において、カメラ220によって生成された画像の分析は、画像204から見かけ上、逆向き(backwards)に進行し得る(例えば画像216、又は画像204及び画像216の間の画像に到達するまで)。これら又は他の実施形態では、画像216は、物体230に関連付けられた画素の中心位置が特定不能である、ストップ画像を含み得る。本開示で意味するように、「特定不能」(unidentifiable)という語は、物体230に関連付けられた画素と、オクルージョン(occlusion)(プレーヤーの体、頭、又は手、他の物体、無生物の物体等のような)に関連付けられた画素との間の確認する差異が、例えば
図1のデータマネージャ105にしたがって区別不能であると考えられる閾値を表し得る。例えば、物体230に関連付けられた画素と、オクルージョンに関連付けられた画素とは、同様の色、同様の輪郭又は形状等であり得る。追加として又は代替として、「特定不能」という語は、物体230に関連付けられた画素がない閾値を表し得る。例えば、オクルージョンに関連付けられた画素は、カメラ220及び物体230の間に位置するために、物体230に関連付けられた画素の一定量が視野222内で検出されないかもしれない。ある実施形態では、もし物体230に関連付けられた画素の検出された量が、閾値量より少ないなら、又はもし画素が、物体230の閾値部分よりも少ない部分(例えば物体230全体の50%未満、約25%、約10%等)を定義するなら、物体230に関連付けられた画素は、特定不能であるとみなされ得る。
【0035】
カメラ220によって生成された画像の分析が画像204から逆向きに進み得る、ある実施形態においては、そのような分析は、画像ごとに進み得る。代替として、画像の分析は、画像ごとではないやり方で画像204から逆向きに進行し得て、画像1枚おきに、画像5枚に1枚で、又は非周期的増分を含む任意の他の増分で、逆向きに進行し得る。追加として又は代替として、画像の分析は、マイクロ秒、ミリ秒、秒等のオーダーの所定の期間にしたがって画像204から逆向きに進行し得る。これら又は他の実施形態では、物体230の位置は、それによって、画像204及び画像216の間のさまざまな位置において特定され得る。
【0036】
ある実施形態においては、カメラ220によって生成された画像が分析されるやり方は、軌道225を決定する際の効率、計算速度等を改善するのに役立ち得る。例えば、画像をスキップすることによって、又はカメラ220によって生成された画像群のサブセットを分析することによって、物体230のそれぞれの位置を決定するのに分析される画像の枚数は、低減され得て、これは今度は、低減された処理リソースにつながり得る。追加として又は代替として、物体230のそれぞれの位置を決定するために分析される画像の枚数は、軌道225を推定するための曲線あてはめを生成するのに用いられ得る画像の最小量に基づき得る。例えば、曲線あてはめを生成するための画像の最小量(例えば物体230の位置の最小量)は、約3画像、約5画像等であり得る。これら又は他の実施形態では、より多くの分析された画像は、曲線あてはめの正確さを結果として増し、計算及び/又は処理時間が反比例して増加することにつながり得る。追加として又は代替として、オクルージョン、ぼけた画素、非決定的データを有する、又は破損されている画像204及び画像216の間の任意の画像は、スキップされ得る。ある実施形態では、物体230が比較的速い速度を有するときには、より多い画像が用いられ得て、物体230が比較的遅い速度を有するときには、より少ない画像が用いられ得る。少なくとも1つの実施形態では、物体230が、物体230を検出することが、又は物体230を正確に検出する可能性を増すために、物体230に関連付けられた画素を検出することが、より難しい環境中の領域にあるときは、より多い画像が用いられ得る。さらに、軌道の端点をより正確に特定するために、物体が軌道225の端点に近づくにつれて、より多い画像が用いられ得る。
【0037】
物体230に関連付けられた画素の一部が特定不能であることに起因して、画像216がストップ画像であると決定された後には(又はある実施形態ではその前には)、他の画像が第2画像として特定され得る(例えば物体230が特定可能である軌道225の開始画像)。第2画像は、画像204及び画像216の間に時間順に配置され得る。追加として又は代替として、第2画像は、U-V座標系での(U1, V1)における開始点235における物体230の位置に対応し得る。
【0038】
ある実施形態においては、カメラ220によって生成された画像204、206、208、210、212、214、及び216中で特定された物体230の位置は、軌道225を推定するために曲線にあてはめされ得る。例えば、物体230の第1位置及び第2位置が曲線にあてはめされ得る。追加として又は代替として、第3位置、第4位置、第5位置等が曲線にあてはめされ得る。これら又は他の実施形態では、より多い又は少ない位置が曲線にあてはめされ得る。本開示で呼ばれるように、「曲線あてはめ」は、曲線、又は数学的関数を構築する任意のプロセスに関連する局面を含み得て、これは、フィットモデル(fit model)(例えば最良のフィットモデル)を一連のデータ点に適用する。したがって、本開示の曲線あてはめは、軌道225の再構築又は推定を含み得る。
【0039】
ある実施形態においては、例えば、画像204中の物体230の位置(例えば第1位置)は、曲線を作成するのに用いられ得る。追加として又は代替として、曲線は、物体230の第2位置にあてはめされ得て、ここで第2画像は、画像204及び画像216の間で時間順に配置され得る。例えば、曲線をあてはめるのに用いられる第2位置は、開始点235であり得る。これら又は他の実施形態では、第1画像及び第2画像の間のそれぞれの画像に対応する物体230の追加の位置が曲線をあてはめるのに用いられ得る。このようにして、物体230の軌道225は、第1画像(例えば画像204)における第1位置及び第2画像(例えば開始点235に対応する画像)における第2位置に少なくとも基づき得る。追加として、ある実施形態では、物体230の軌道225は、例えば画像206-214に対応する1つ以上の位置を含む、第1画像(例えば画像204)における第1位置及び第2画像(例えば開始点235に対応する画像)における第2位置の間の1つ以上の位置に基づき得る。
【0040】
追加として又は代替として、曲線を作成するために物体230の位置を用いることは、曲線方程式における曲線係数を含む、曲線方程式を生成し得る。ある実施形態では、曲線係数は、ニューラルネットワークに、例えば
図1のニューラルネットワーク115に入力され得る。これら又は他の実施形態では、ニューラルネットワークは、軌道225の曲線係数を含むニューラルネットワークへの入力に基づいて、地上位置240を出力(例えば推定)し得る。
【0041】
よって、ある実施形態では、地上位置240は、カメラ220によって生成された画像のU-V座標系において(U
2, V
2)に位置するターゲット領域202及びに(U
1, V
1)に位置する開始点235以外のさらなる制約条件なしで、軌道225に基づいて決定され得る。例えば、カメラ220は、環境200の3次元空間内のある未知の位置(X
1, Y
1, Z
1)に配置され得る。これら又は他の実施形態では、推定された地上位置240の精度は、カメラ220が所定の領域内のどこかに存在する限り、閾値精度の中であり得る。例えば、カメラ220は、ニューラルネットワーク(例えば
図1のニューラルネットワーク115)をトレーニングする間、8立法メートルの空間内のさまざまな位置に配置された状態であり得る。この例によれば、軌道225を決定するのに用いられる物体230の画像204-216を生成する間に、カメラ220がその8立法メートルの空間内の任意の場所に存在する限り、推定された地上位置240の精度は、閾値精度内であり得る。もしカメラ220が、軌道225を求めるのに用いられる物体230の画像204-216を生成する間に、8立方メートルの空間の外に配置されるなら、推定された地上位置240の精度は、閾値精度の外であり、つまり閾値精度を外れ得る。8立方メートルの空間よりも大きい又は小さい所定領域の他のサイズが想定され、例えば約1/2立方メートル、約2立方メートル、約4立方メートル、約6立方メートル、約10立方メートル、約15立方メートル、約30立方メートル、又は任意の他のサイズ又は形状の空間であり得る。
【0042】
本開示の範囲を逸脱することなく、改変、追加、又は省略が環境200になされ得る。例えば、ある実施形態では、環境200は、明示的に図示又は記載されていないかもしれない任意の個数の他の要素を含み得る。
【0043】
図2Bは、地上位置が推定される他の例示的実施形態における環境200を示す。
図2Bは、本開示の1つ以上の実施形態に従って構成される。図示されるように、
図2Bは、
図2Aの同一又は類似の要素を含むが以下の違いがある。すなわち、位置(U
2’, V
2’)におけるターゲット領域202、位置(X
1’, Y
1’, Z
1’)におけるカメラ220、及び/又はターゲット領域202の定義点245a-245eが異なる。
【0044】
ある実施形態では、地上位置240は、カメラ220及びターゲット領域202のうちの1つ又は両方の動きにかかわらず、軌道225に基づいて決定され得る。例えば、位置(X
1’, Y
1’, Z
1’)に対するカメラ220の動きに応答して、ターゲット領域202についての特徴に対応する定義点245a-245eのグループを特定した後で、軌道225は、
図2Aに関連して上で説明されたように推定され得る。これら又は他の実施形態では、(X
1’, Y
1’, Z
1’)は、ニューラルネットワーク(例えば
図1のニューラルネットワーク115)をトレーニングする間にカメラ220が用いられた所定領域の外であり得る。追加として又は代替として、(U
2’, V
2’)に対するターゲット領域202の動きに応答して、軌道225は、ターゲット領域202についての特徴に対応する定義点245a-245eのグループを特定した後に、
図2Aを参照して上述されたように推定され得る。これら又は他の実施形態では、ターゲット領域202の位置(U
2’, V
2’)は、ニューラルネットワークをトレーニングするのに用いられたのとは異なる位置を含み得る。代替として、ターゲット領域202は、移動されていなくてもよく、X-Y-Z座標系におけるカメラ220の移動に起因して、ターゲット領域202の位置は、(U
2, V
2)から(U
2’, V
2’)へ変化していてもよいが、それはU-V座標系がカメラ220の視点について相対的であり得るからである。
【0045】
ある実施形態においては、カメラ220及び/又はターゲット領域202の動きが検出され得る(例えば自動的に)。例えば、上述の背景減算法を用いて、ニューラルネットワークをトレーニングするのに用いられた画像と、カメラ220によって後で生成された画像との差異は、カメラ220及び/又はターゲット領域202の動きが発生したことを示し得る。追加として又は代替として、カメラ220及び/又はターゲット領域202の動きは、発生したものとして指定され得る。例えば、ユーザは、カメラ220及び/又はターゲット領域202の動きが発生したとして自動的に推定され得る「新しいセッション」、「新しいジム」等を入力し得る(例えば
図1のデータマネージャ105に)。他の例では、ユーザは、カメラ220及びターゲット領域202のうちの1つ又は両方の「新しい位置」、「新しいセットアップ」、「新しいジム」を入力し得る(例えば
図1のデータマネージャ105に)。
【0046】
カメラ220及びターゲット領域202のうちの1つ又は両方の動きが発生するこれら又は他の実施形態では、地上位置240の推定精度は、ターゲット領域202の位置(例えば(U
2’, V
2’))を見つけることによって維持され得る。ある実施形態では、ターゲット領域202の位置を見つけることは、
図1のニューラルネットワーク115のようなニューラルネットワークを用いることによって、定義点245a-245eを特定することを含み得る。
【0047】
これら又は他の実施形態では、定義点245a-245eは、ターゲット領域202の構造に対応するU-V座標系における幾何学的点を表現し得る。上述のターゲット領域202を定義するパラメータと類似して、定義点245a-245eは、コーナー、ライン、ハッシュ、リム、ネット、プレート、バッグ、コーン、チョーク、ゴールポスト、テープ、ドット等のようなターゲット領域202の1つ以上の特徴及び/又は境界に対応し得る。これら又は他の実施形態では、ニューラルネットワーク、例えば
図1のニューラルネットワーク115は、カメラ220によって生成された2次元画像内に描写された要素又は要素群の組み合わせを、ターゲット領域202の1つ以上の特徴及び/又は境界として関連付けるよう、トレーニングによって学習し得る。
【0048】
ニューラルネットワークの画像認識トレーニングの一つの例において、ニューラルネットワークには、入力データ(例えば画像)が提供され得て、ニューラルネットワークの出力(例えば推測(guess))は、所定の又は人間が指定したラベルのような予期された結果と比較され得る。入力データを通して追加のサイクルを用いて、ニューラルネットワークの重みは、推測のエラー率を減少させるために変更され得る。例えば、ニューラルネットワークにおける重みは、推測が、画像の所定の又は人間が指定したラベルによりよく一致するように調整され得る。
【0049】
これら又は他の実施形態では、トレーニング目的でニューラルネットワークに提供された入力データは、ターゲット領域202の画像を含み得る。ターゲット領域202の何百、何千、又は何百万の画像がニューラルネットワークに提供され得る。追加として又は代替として、ニューラルネットワークに提供されるターゲット領域202の画像は、コーナー、ライン、ハッシュ、リム、ネット、プレート、バッグ、コーン、チョーク、ゴールポスト、テープ、ドット等のようなターゲット領域202の1つ以上の特徴及び/又は境界に対応するラベルを含み得る。例えば、入力データにおいて、以下のラベルが適用し得る。すなわち、ターゲット領域202の定義点245aは、「左上バックボードコーナー」とラベル付けされ得て、定義点245bは、「右上バックボードコーナー」とラベル付けされ得て、定義点245cは、「左上長方形コーナー」とラベル付けされ得て、定義点245dは、「右上長方形コーナー」とラベル付けされ得て、及び定義点245eは、「センターリム」とラベル付けされ得る。このようにして、ニューラルネットワークの推測は、ラベルと比較され得て、入力データを通しての追加の学習サイクルは、学習されたデータ及び重みの改変によって、ターゲット領域202の1つ以上の特徴及び/又は境界の特定を含む、ターゲット領域202の特定におけるエラー率を減少させることを可能にし得る。
【0050】
ニューラルネットワーク(例えば
図1のニューラルネットワーク115)をトレーニングした後で、ターゲット領域202は、カメラ220及びターゲット領域202のうちの1つ又は両方の動きに応答して、ニューラルネットワークによって発見され得る。例えば、ニューラルネットワークは、ニューラルネットワークのトレーニング後において、カメラ220によって生成された画像における定義点245a-245eを特定し得る。例えば、ニューラルネットワークは、トレーニング後において、トレーニングプロセスの学習されたデータ及び変更された重みを用いて、カメラ220によって生成された画像中の定義点245a-245eを特定し得る。これら又は他の実施形態では、定義点245a-245eを特定するために、ニューラルネットワークと共に、追加又は代替の画像認識手法が用いられ得る。例としては、グレースケール、0から255までの範囲のRGB(赤、緑、及び青)値、前処理手法(例えば、画像クロッピング/フリッピング/角度操作、画像の色あいの調整、コントラスト及び飽和度等)、全体のデータセットに対して、データのうちのサブセットつまり小さなバッチサイズをテストすること、及びグリッドの最大画素値を取ることによって画像の寸法を低減するための最大値プーリングを用いることを含み得る。これら又は他の実施形態において、定義点245a-245eが特定された後に、定義点245a-245eは、それぞれU-V座標系と関連付けられ得る。追加として又は代替として、定義点245a-245eが特定された後に、ターゲット領域202は、新しい位置(U
2’, V
2’)と全体として関連付けられ得る。
【0051】
改変、追加、又は省略が本開示の範囲から逸脱することなく環境200になされ得る。例えば、ある実施形態では、環境200は、明示的に図示又は記載されていないかもしれない任意の個数の他の要素を含み得る。
【0052】
図2Cは、地上位置が推定されるさらに他の例示的実施形態における環境200を示す。
図2Cは、本開示の1つ以上の実施形態に従って構成される。示されるように、
図2Cは、
図2Aと同一又は類似の要素を含むが、以下の差異を持つ。すなわち、位置(U
1’, V
1’)における開始点235、及び/又は画像204-216にそれぞれ対応する画像時刻250-264である。
【0053】
ある実施形態においては、地上位置240は、開始点235の未知又は異なる位置(U1’, V1’)への動き(例えばばらつき)にもかかわらず、軌道225に基づいて決定され得る。これら又は他の実施形態では、開始点235のばらつきは、ニューラルネットワークをトレーニングするのに用いられたプレーヤーとは異なるプレーヤー、ニューラルネットワークのトレーニングの間に観測されなかった新しいショット、ニューラルネットワークのトレーニングの間に観測されたのよりも高い又は低いジャンプ高等の結果であり得る。
【0054】
ある実施形態においては、開始点235の動きが検出され得る。例えば、上述の背景減算法を用いて、ニューラルネットワークをトレーニングするのに用いられた画像と、カメラ220によって後で生成された画像との差異は、開始点235の動きが発生したことを示し得る。例えば、ある例では、ニューラルネットワークは、新しいプレーヤーの開始点235が、ニューラルネットワークをトレーニングするのに用いられた異なるプレーヤーについての観測された開始点235の範囲の外側であることを検出し得る。追加として又は代替として、開始点235の動きは、発生したものとして指定され得る。例えば、ユーザは、開始点235の動きが発生したと自動的に推定される「新しいセッション」、「新しいプレーヤー」、「新しいショットの開発」、「新しいプレーヤーの身長」、「新しいジャンプ高」等を入力し得る(例えば
図1のデータマネージャ105に)。
【0055】
これら又は他の実施形態においては、開始点235のばらつきは、もし補償されないなら、推定された地上位置240の精度悪化につながり得る。例えば、ばらつきの閾値量を超える開始点235のばらつきは、推定された地上位置240が精度が悪化し及び/又は精度範囲からの逸脱する(例えば精度の信頼区間の外になる又はその区間を超える)ことにつながり得る。よって、ある実施形態では、開始点235のばらつきを補償するために、物体230の飛行時間が算出され得る。物体230の飛行時間を計算することによって、(U1’, V1’)における開始点235の以前は未知だった位置は、発射体の運動方程式を用いて決定され得る。例えば、ターゲット領域202の既知の位置(U2, V2)又は算出された位置(U2’, V2’)、物体230の飛行時間、及び/又は物体230の飛行中のさまざまな位置が与えられると、(U1’, V1’)における開始点235は、発射体の運動方程式を用いて軌道225を求め、及びその後に地上位置240を求めるように解かれ得る。
【0056】
これら又は他の実施形態において、物体230の飛行時間は、上で説明された第1画像及び第2画像の間のいくつかの画像を数えることによって決定され得る。カメラ220が画像を生成する所定の画像化周波数が与えられるとき、所定の画像化周波数及び画像の個数(第1画像及び第1画像及び第2画像の間の画像を含む)のスカラ積は、物体230の飛行時間を生じ得る。例えば、画像204(例えば第1画像)は、時刻250=t0に対応し得る。画像206は、時刻252=t1に対応し得る。画像208は、時刻254=t2に対応し得る。画像210は、時刻256=t3に対応し得る。画像212は、時刻258=t4に対応し得る。画像214は、時刻260=t5に対応し得る。開始点235に関連付けられる画像(例えば第2画像)は、時刻262=tn-1に対応し得る。そして画像216(例えばストップ画像)は、時刻264=tnに対応し得る。したがって、物体230の飛行時間は、時刻262から時刻250を減じたものにほぼ等しい(例えば飛行時間~tn-1 - t0)。追加として又は代替として、物体230の飛行時間は、所定の画像化周波数に、半閉区間(tn-1, t0]内の画像の個数を乗じたものにほぼ等しくあり得る。
【0057】
追加として又は代替として、物体230の推定された飛行時間の精度は、内挿法及び/又は外挿法を用いて高められ得る。例えば、画像204は、物体230がターゲット領域202に入り込んだことが示される第1画像であり得る。しかし時刻250における画像204は、物体230がターゲット領域202に入り込む最初の瞬間に対応しないかもしれない。よって、ある実施形態では、内挿法が用いられて、物体230がターゲット領域202の中に入る、画像(例えば画像204及び画像206)の間の時刻をより正確に定義し得る。
【0058】
これら又は他の実施形態では、開始点235に関連付けられた第2画像は、上述のように物体230の一部が特定され得る最後の画像であり得る。しかし、開始点235に関連付けられた第2画像は、物体230が軌道225に沿った移動を開始する最初の瞬間には対応しないかもしれない。よって、ある実施形態では、外挿法が用いられて、物体230が軌道225に沿った移動を開始する画像(例えば開始点235に関連付けられた第2画像)を越える時刻をより正確に定義し得る。追加として又は代替として、内挿法が用いられて、物体230が軌道225に沿った移動を最初に開始する、画像(例えば開始点235に関連付けられた第2画像及びストップ画像216)の間の時刻をより正確に定義し得る。本開示の実施形態について上述されたように、求められた物体230の飛行時間を用いて、(U1’, V1’)における開始点235は、発射体の運動方程式を用いて軌道225を求め、及びその後に地上位置240を求めるように解かれ得る。
【0059】
図3は、
図1、2A、2B、及び2Cの任意のものの地上位置を推定するための例示的方法300を示す。方法300は、ハードウェア(回路、専用ロジック等)、ソフトウェア(コンピュータシステム上で実行されるような)、又はそれら両方の組み合わせを含み得る処理ロジックによって実行され得て、その処理ロジックは、クライアントデバイス、又は他のコンピュータシステム又はデバイス中に含まれ得る。しかし、他のシステム又はシステム群の組み合わせが方法300を実行するのに用いられ得る。説明の簡単のために、ここで記載される方法は、一連の行為(acts)として図示及び記載される。しかし本開示に従う行為は、さまざまな順序で及び/又は同時に起こり得て、ここで提示及び記載されていない他の行為と共に起こり得る。さらに、開示された主題に従う方法を実現するためには、全ての示された行為が使われなくてもよい。加えて、この方法は、代替として、状態図を介する一連の相互関係がある状態群又はイベント群として表現され得ることを当業者なら理解及び認識するだろう。追加として、本明細書に開示された方法は、そのような方法を計算デバイスに伝送及び転送することを促進する、非一時的コンピュータ読み取り可能な媒体のような製造物上に記憶されることが可能である。ここで用いられる製造物という語は、任意のコンピュータ読み取り可能なデバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含するよう意図される。個別のブロックとして図示されているが、さまざまなブロックは、所望の実現例に依存して、さらなるブロックに分割されてもよく、より少ないブロックに組み合わせられてもよく、又は省略されてもよい。
【0060】
方法300は、ブロック305において開始し得て、ここで環境内で時間の経過と共にカメラによって撮られた一群の画像が受け取られる。ブロック310において、一群の画像のうちの第1画像における環境のターゲット領域における物体の第1位置が特定され得る。ブロック315において、一群の画像のうちの第2画像における物体の第2位置が特定され得る。
【0061】
ブロック320において、物体の推定された軌道が物体の第1位置及び物体の第2位置に基づいて決定され得る。ある実施形態では、物体の推定された軌道は、物体の複数の位置、例えば3個の位置、5個の位置、7個の位置、15個の位置、約50個の位置、又は任意の個数の位置に基づいて決定され得る。これら又は他の実施形態では、物体の推定された軌道は、U-V座標系における以前に特定された位置に配置されるターゲット領域、及びU-V座標系における他の以前に特定された位置に配置される軌道の開始点以外の、さらなる制約条件なしで物体の第1位置及び物体の第2位置に基づき得る。追加として又は代替として、物体の推定された軌道は、カメラ及びターゲット領域のうちの1つ又は両方の動きにもかかわらず、決定され得る。例えば、カメラ及びターゲット領域のうちの1つ又は両方の動きに応答して、ニューラルネットワークは、ターゲット領域内の特徴に対応する一群の定義点を特定することによって、ターゲット領域を見つけ、それによって物体の軌道を決定し得る。追加として又は代替として、物体の推定された軌道は、軌道の開始点の動き及び/又はばらつきにもかかわらず決定され得る。例えば、開始点の動き及び/又はばらつきに応答して、物体の飛行時間は、第1画像及び第2画像の間の画像の個数を数えることによって決定され得る。
【0062】
ブロック325において、ブロック320の推定された軌道に基づいて、物体の推定された軌道の開始点に関連付けられた環境内での地上位置が推定され得る。これら又は他の実施形態では、地上位置は、ブロック320の前述の実施形態の任意の組合せに基づいて推定され得る。例えば、地上位置を推定することは、物体の軌道に対応する曲線係数と、ターゲット領域内の特徴に対応する一群の定義点及び物体の飛行時間のうちの1つ又は両方とをニューラルネットワークに入力することを含み得る。ブロック330において、物体の推定された軌道の開始点に関連付けられた地上位置は、グラフィカルユーザインタフェースにおける表示のために提供され得る。
【0063】
当業者は、これらのプロセス、操作、及び方法のために、実行される機能及び/又は操作は、異なる順序で実現され得ることを理解するだろう。さらに、概説された機能及び操作は、例として提供されているに過ぎず、機能及び操作のいくつかは、開示された実施形態の本質を損なうことなく、オプションであり得て、より少ない機能及び操作に組み合わせられてもよく、又はさらなる機能及び操作に拡大されてもよい。
【0064】
図4は、地上位置を推定するのに用いられ得る例示的システム400を示す。システム400は、本開示で説明された少なくとも1つの実施形態に従って構成され得る。システム400は、プロセッサ410、メモリ412、通信ユニット416、ディスプレイ418、ユーザインタフェースユニット420、及び周辺機器422を含み得て、これら全ては通信可能に結合され得る。ある実施形態では、システム400は、この開示で記載されるシステム又は装置のうちの任意のものの一部であり得る。例えば、システム400は、
図1のデータマネージャ105のうちの一部であり得る。追加として又は代替として、システム400は、計算システム110及び/又はニューラルネットワーク115の一部であり得る。
【0065】
一般に、プロセッサ410は、任意のコンピュータ、計算主体、又はさまざまなコンピュータハードウェア又はソフトウェアモジュールを含む処理装置を含み得て、任意の適用可能なコンピュータで読み取り可能な記憶媒体上に記憶された命令を実行するように構成され得る。例えば、プロセッサ410は、マイクロプロセッサ、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラム命令を解釈及び/又は実行し、及び/又はデータを処理するよう構成された任意の他のデジタル又はアナログ回路を含み得る。
【0066】
図4では単一のプロセッサとして図示されているが、プロセッサ410は、本開示で記載された任意の個数の操作を個別に、又は共同して実行するよう構成された任意の個数のネットワーク又は物理的位置にわたって分散された任意の個数のプロセッサを含み得ることが理解されよう。ある実施形態では、プロセッサ410は、メモリ412に記憶されたプログラム命令を実行及び/又は解釈し、及び/又はデータを処理し得る。ある実施形態では、プロセッサ410は、メモリ412に記憶されたプログラム命令を実行し得る。
【0067】
例えば、ある実施形態では、プロセッサ410は、例えば、地上位置を決定することに関連する、メモリ412に記憶されたプログラム命令を実行し得て、それによってシステム400は、命令によって指示されるようにそれと関連付けられた操作の遂行を実行又は指示し得る。これら及び他の実施形態において、命令は、上述の
図3の方法300の1つ以上の操作を実行するのに用いられ得る。
【0068】
メモリ412は、記憶媒体に記憶されたコンピュータで実行可能な命令又はデータ構造を担持又は保有する、コンピュータで読み取り可能な記憶媒体又は1つ以上のコンピュータで読み取り可能な記憶媒体群を含み得る。そのようなコンピュータで読み取り可能な記憶媒体は、プロセッサ410のようなコンピュータによってアクセスされ得る任意の利用可能な媒体を含み得る。例であって、限定されるわけではないが、そのようなコンピュータで読み取り可能な記憶媒体は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的に消去可能なプログラム可能なリードオンリーメモリ(EEPROM)、コンパクトディスクリードオンリーメモリ(CD-ROM)又は他の光学ディスク記憶、磁気ディスク記憶、又は他の磁気記憶装置、フラッシャメモリデバイス(例えばソリッドステートメモリ装置)、又はコンピュータで実行可能な命令又はデータ構造の形態である特定のプログラムコードを担持又は記憶するのに用いられ得て、コンピュータによってアクセスされ得る、任意の他の記憶媒体を含む、非一時的なコンピュータで読み取り可能な記憶媒体を含み得る。上記の組み合わせもコンピュータで読み取り可能な記憶媒体の範囲に含まれ得る。コンピュータで実行可能な命令は、例えば、プロセッサ410に、本開示で記載されたある操作又は一群の操作を実行させるよう構成される命令及びデータを含み得る。これら及び他の実施形態では、本開示で説明される「非一時的」という語は、連邦巡回裁判所の判決In re Nuijten, 500 F.3d 1346 (Fed. Cir. 2007)における特許可能な主題の範囲の外になると判示された一時的媒体のそれらの種類だけを除外するように意図されるべきである。上記の組合せもコンピュータで読み取り可能な媒体の範囲の中に含まれ得る。
【0069】
通信ユニット416は、ネットワーク上で情報を送信又は受信するよう構成された任意の要素、装置、システム、又はそれらの組み合わせを含み得る。ある実施形態では、通信ユニット416は、他の場所、同じ場所にある他の装置、又は同じシステム内の他の要素と通信し得る。例えば、通信ユニット416は、モデム、ネットワークカード(無線又は有線)、赤外光通信装置、無線通信装置(アンテナのような)、及び/又はチップセット(ブルートゥースデバイス、802.6デバイス(例えばメトロポリタンエリアネットワーク(MAN))、Wi-Fi装置、WiMax装置、セルラー通信装置等)等を含み得る。通信ユニット416は、データが、本開示で説明されたもののようなネットワーク及び/又は任意の他の装置又はシステムと交換されることを可能にし得る。
【0070】
ディスプレイ418は、LCD、LED、又は他のタイプのディスプレイのような1つ以上のディスプレイとして構成され得る。ディスプレイ418は、物体の軌道の開始点に関連付けられた地上位置、地上位置が配置される環境の概略図又は表現、ユーザインタフェース、及びプロセッサ410によって指示される他のデータを出力するよう構成され得る。
【0071】
ユーザインタフェース420は、ユーザがシステム400とやりとりを行うことを可能にするための任意の装置を含み得る。ユーザインタフェース420は、さまざまな装置の中でも、マウス、トラックパッド、キーボード、ボタン、及び/又はタッチスクリーンを含み得る。ユーザインタフェースユニット420は、ユーザからの入力を受け取り、その入力をプロセッサ410に与え得る。ある実施形態では、ユーザインタフェースユニット420及びディスプレイ418は、組み合わせられ得る。
【0072】
周辺機器422は、1つ以上の装置を含み得る。例えば、周辺機器は、他の周辺機器の中でも、センサ、マイクロホン、及び/又はスピーカを含み得る。これら及び他の実施形態では、マイクロホンは、オーディオをキャプチャするよう構成され得る。スピーカは、システム400によって受け取られた、又はそうでなければシステム400によって生成されたオーディオを一斉送信し得る。センサは、光、画素、音、動き、回転、位置、方向、磁化、加速度、傾き、振動等における変化を感じるよう構成され得る。
【0073】
本開示の範囲から逸脱することなく、改変、追加、又は省略がシステム400になされ得る。例えば、ある実施形態では、システム400は、明示的に図示又は記載されていないかもしれない任意の個数の他の要素を含み得る。さらに、ある種の実現例に依存して、システム400は、図示及び記載された要素のうちの1つ以上を含まなくてもよい。
【0074】
上述のように、ここで説明された実施形態は、さまざまなコンピュータハードウェア又はソフトウェアモジュールを含むコンピュータ(例えばプロセッサ要素)の使用を含み得る。さらに上述のように、ここで説明された実施形態は、その上に記憶されたコンピュータで実行可能な命令又はデータ構造を担持又は保存するための、コンピュータで読み取り可能な媒体(例えばメモリ要素)を用いて実現され得る。
【0075】
通常の実務に従って、図面に示されたさまざまな特徴は、正確な縮尺では描かれていないかもしれない。本開示で提示された図示は、具体的な装置(例えばデバイス、システム等)又は方法の実際の見た目であるとは意図されておらず、本開示のさまざまな実施形態を記載するために採用された、単に理想化された表現である。したがって、さまざまな特徴の寸法は、明瞭さのために恣意的に拡大又は縮小され得る。加えて、図面のいくつかは、明瞭さのために簡略化され得る。よって、図面は、与えられた装置(例えばデバイス)の全ての要素又は特定の方法の全ての操作を図示していないかもしれない。
【0076】
ここで、特に添付の特許請求の範囲(例えば添付の請求項の本文)において用いられる語は、大まかには「開放的な」語(例えば「including」という語は、「含むがそれには限定されず」と解釈されるべきであり、「having」という語は、「少なくとも有する」と解釈されるべきであり、「includes」という語は、「含むがそれには限定されず」と解釈されるべきである等)と意図されている。
【0077】
加えて、もし導入された請求項の記載についての具体的な数が意図されるなら、そのような意図は、明示的に請求項で記載され、そのような記載がない限り、そのような意図は存在しない。例えば、理解の補助として、以下の添付の特許請求の範囲は、クレームの記載を導入するために、「少なくとも1つの」及び「1つ以上の」という導入句の使用を含み得る。しかしそのような句の使用は、同じ請求項が「1つ以上の」又は「少なくとも1つの」という導入句、及び「a」又は「an」のような不定冠詞を含むときであっても、「a」又は「an」の不定冠詞による請求項の記載の導入が、そのような導入された請求項の記載を含む任意の特定の請求項を、そのような記載を1つしか含まない実施形態に限定することを含意するようには解釈されるべきではない(例えば「a」及び/又は「an」は、「少なくとも1つの」又は「1つ以上の」を意味するよう解釈されるべきである)。同じことは、請求項の記載を導入するのに用いられる定冠詞の使用についてもあてはまる。
【0078】
加えて、仮に、導入された請求項の記載について具体的な個数が明示的に記載されているとしても、当業者には、そのような記載は、少なくとも記載された個数を意味するよう解釈されるべきということが認識されるだろう(例えば、他の修飾語なしに「2個の記載」という無修飾の記載は、少なくとも2つの記載、つまり2つ以上の記載を意味する)。さらに、「A、B、及びC等の少なくとも1つ」又は「A、B、及びC等の1つ以上」と類似の慣習が用いられる場合においては、一般的に、Aだけ、Bだけ、Cだけ、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、又はA、B、及びCを一緒に、等を含む解釈が意図されている。例えば、「及び/又は」という語の使用は、このように解釈されることを意図されている。
【0079】
さらに、2つ以上の代替の語を提示する任意の択一的な単語又は句は、明細書、特許請求の範囲、又は図面のいずれにおいても、それら語のうちの1つ、それら語のいずれか、又は両方の語を含む可能性を想定しているよう理解されなければならない。例えば、「A又はB」という句は、「A」又は「B」又は「A及びB」の可能性を含むとして理解されるべきである。
【0080】
しかしそのような句の使用は、同じ請求項が「1つ以上の」又は「少なくとも1つの」という導入句、及び「a」又は「an」のような不定冠詞を含むときであっても、「a」又は「an」の不定冠詞による請求項の記載の導入が、そのような導入された請求項の記載を含む任意の特定の請求項を、そのような記載を1つしか含まない実施形態に限定することを含意するようには解釈されるべきではない(例えば「a」及び/又は「an」は、「少なくとも1つの」又は「1つ以上の」を意味するよう解釈されるべきである)。同じことは、請求項の記載を導入するのに用いられる定冠詞の使用についてもあてはまる。
【0081】
追加として、「第1」、「第2」、「第3」等の語は、要素の特定の順序又は個数を暗示するようには必ずしもここでは用いられていない。一般には、「第1」、「第2」、「第3」等の語は、総称的な識別子として、異なる要素間で区別するために用いられる。「第1」、「第2」、「第3」等の語が、特定の順序を暗示するという表示がない限り、これら語は、特定の順序を暗示すると理解されるべきではない。さらに、「第1」、「第2」、「第3」等の語が、要素の特定の個数を暗示するという表示がない限り、これら語は、要素の特定の個数を暗示すると理解されるべきではない。例えば、第1機器は、第1側面を有するとして記載され得て、第2機器は、第2側面を有するとして記載され得る。第2機器についての「第2側面」という語の使用は、第2機器のそのような側面を、第1機器の「第1側面」と区別するためのものであり得て、第2機器が2つの側面を有することを暗示するものではない。
【0082】
ここで記載された全ての例及び条件的文言は、技術を発展するために発明者によって寄与された開示及び概念を読者が理解するのを助けるための教育的対象として意図されており、そのような具体的に記載された例及び条件に限定されないと解釈されるべきである。本開示の実施形態は、詳細に説明されてきたが、さまざまな変更、置換、及び改変が、本開示の精神及び範囲から逸脱することなく、ここになされてもよい。