(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-05
(54)【発明の名称】手持ち式物体の投影ターゲット位置を決定するためのシステム及び方法
(51)【国際特許分類】
G06F 3/0346 20130101AFI20221128BHJP
A63G 31/16 20060101ALI20221128BHJP
A63F 13/213 20140101ALI20221128BHJP
A63F 13/428 20140101ALI20221128BHJP
【FI】
G06F3/0346 422
A63G31/16
A63F13/213
A63F13/428
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022519294
(86)(22)【出願日】2020-09-21
(85)【翻訳文提出日】2022-03-25
(86)【国際出願番号】 US2020051843
(87)【国際公開番号】W WO2021061572
(87)【国際公開日】2021-04-01
(32)【優先日】2019-09-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-01-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】511077292
【氏名又は名称】ユニバーサル シティ スタジオズ リミテッド ライアビリティ カンパニー
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100196612
【氏名又は名称】鎌田 慎也
(72)【発明者】
【氏名】リン ユ-ジェン
(72)【発明者】
【氏名】ビーバーズ マイケル
(72)【発明者】
【氏名】バーケット スティーブン
(72)【発明者】
【氏名】ダンジグ ジョシュア デヴィッド
(72)【発明者】
【氏名】ハンリー カイル ピー
(72)【発明者】
【氏名】カム ウンベルト
(72)【発明者】
【氏名】メロ アンソニー
【テーマコード(参考)】
5B087
【Fターム(参考)】
5B087AA02
5B087AD02
(57)【要約】
手持ち式物体の投影ターゲット位置は、並進係数、スケーリング係数、及びオフセットを、2次元平面上でカメラによって検出された手持ち式物体の基準要素の位置に適用することに基づいて決定される。並進係数は、平面上の較正位置と、較正位置に対応する基準要素の初期位置との間の差に基づいて決定され、基準要素の位置を移動させて投影ターゲット位置を生成する役割を果たす。スケーリング係数は、手持ち式物体を保持するユーザの腕の推定された長さに基づいて決定され、基準要素の位置をスケール調整して投影ターゲット位置を生成する役割を果たす。オフセットは、多項式に基づいて決定され、投影ターゲット位置と較正位置との間の距離を拡大する役割を果たす。
【選択図】
図1
【特許請求の範囲】
【請求項1】
遊園地アトラクションシステムであって、
2次元平面上の手持ち式物体の基準要素の映像(imagery)を取り込むように構成されたカメラ、及び、
ユーザのインタラクティブ体験を出力するように構成された出力デバイス、
を備える、ユーザインタラクションシステムと、
前記ユーザインタラクションシステムに通信可能に結合された投影位置決定システムと、
を備え、
前記投影位置決定システムは、
較正位置と前記映像で取り込まれた前記2次元平面上の前記基準要素の初期位置との間の位置の差を表す1又は2以上の並進係数を決定するように構成された並進ロジックと、
前記映像に基づいて、ユーザの腕の長さに相関する1又は2以上のスケーリング係数を決定するように構成されたスケーリングロジックと、
プロセッサ及びメモリを有する制御装置と、
を備え、
前記メモリは、
前記映像で取り込まれた前記2次元平面上の前記基準要素の位置を決定し、
前記基準要素の位置、前記1又は2以上の並進係数、及び前記1又は2以上のスケーリング係数に基づいて、前記手持ち式物体の投影ターゲット位置を決定し、
前記投影ターゲット位置がターゲット位置に対応するという決定に応答して、前記ユーザインタラクティブ体験を出力するよう出力デバイスに命令する、
ことを前記プロセッサに行わせるように構成された機械可読命令を記憶する、
遊園地アトラクションシステム。
【請求項2】
前記並進ロジックは、前記映像の第1の画像に基づいて前記1又は2以上の並進係数及び前記1又は2以上のスケーリング係数を決定するように構成される、請求項1に記載の遊園地アトラクションシステム。
【請求項3】
前記機械可読命令は、前記プロセッサに、前記映像の第2の画像に基づいて前記基準要素の位置を決定させるように構成される、請求項2に記載の遊園地アトラクションシステム。
【請求項4】
前記1又は2以上の並進係数は、3次元空間で前記手持ち式物体が向いている場所についてのユーザの知覚と、前記2次元平面内の前記基準要素の対応する位置との間の差を補正するように構成される、請求項1に記載の遊園地アトラクションシステム。
【請求項5】
前記1又は2以上のスケーリング係数は、ユーザの腕の長さの差を補正するように構成される、請求項1に記載の遊園地アトラクションシステム。
【請求項6】
前記スケーリングロジックは、前記2次元平面上の前記基準要素の位置に基づいて、前記1又は2以上のスケーリング係数を決定するように構成される、請求項1に記載の遊園地アトラクションシステム。
【請求項8】
前記スケーリングロジックは、
前記2次元平面上の前記基準要素の位置に基づいてユーザの身長を決定し、
前記ユーザの身長に基づいて前記ユーザの腕の長さを決定する、
ように構成される、請求項1に記載の遊園地アトラクションシステム。
【請求項9】
前記投影ターゲット位置及び1又は2以上の多項式に基づいて1又は2以上のオフセットを決定し、
前記1又は2以上のオフセットを前記投影ターゲット位置に適用する、
ように構成された円弧歪み補正ロジックを備え、
前記機械可読命令は、前記1又は2以上のオフセットを前記投影ターゲット位置に適用後、前記投影ターゲット位置が前記2次元平面上のターゲット位置に対応するという決定に応答して、前記出力デバイスに前記ユーザインタラクティブ体験を出力するよう前記プロセッサに命令させるように構成される、請求項1に記載の遊園地アトラクションシステム。
【請求項10】
前記1又は2以上のオフセットは、ユーザの腕の動きの弧状性質と前記2次元平面との間の形状の差を補正するように構成される、請求項9に記載の遊園地アトラクションシステム。
【請求項11】
1又は2以上の多項式は3次式である、請求項9に記載の遊園地アトラクションシステム。
【請求項12】
インタラクティブ体験のためのターゲットトラッキングシステムであって、前記ターゲットトラッキングシステムは、
2次元平面上に表示された較正位置と、前記2次元平面上の前記較正位置に向けるときの第1の画像内の手持ち式物体の基準要素の初期位置との間の位置の差を表す1又は2以上の並進係数を決定するように構成された並進ロジックと、
前記第1の画像に基づいて、ユーザの腕の長さに相関する1又は2以上のスケーリング係数を決定するように構成されたスケーリングロジックと、
プロセッサ及び機械可読命令を記憶したメモリを有する制御装置と、
を備え、前記機械可読命令は、
前記2次元平面上の第2の画像内の前記基準要素の位置を決定し、
前記基準要素の位置、前記1又は2以上の並進係数、及び前記1又は2以上のスケーリング係数に基づいて、前記手持ち式物体の投影ターゲット位置を決定し、
前記投影ターゲット位置がターゲット位置に対応するという決定に応答して、ユーザインタラクティブ体験を出力する、
ことを前記プロセッサに行わせるように構成される、
ターゲットトラッキングシステム。
【請求項13】
前記機械可読命令は、前記1又は2以上の並進係数及び前記1又は2以上のスケーリング係数を含む変換行列を前記プロセッサに決定させるように構成される、請求項12に記載のターゲットトラッキングシステム。
【請求項14】
前記機械可読命令は、前記基準要素の位置に前記変換行列を適用することによって、前記プロセッサに前記手持ち式物体の前記投影ターゲット位置を決定させるように構成される、請求項13に記載のターゲットトラッキングシステム。
【請求項15】
前記1又は2以上の並進係数は水平成分を含み、前記機械可読命令は、前記較正位置と前記基準要素の初期位置との間の水平方向の差に基づいて、前記プロセッサに前記水平成分を決定させるように構成される、請求項12に記載のターゲットトラッキングシステム。
【請求項16】
前記1又は2以上の並進係数は垂直成分を含み、前記機械可読命令は、前記較正位置と前記基準要素の初期位置との間の垂直方向の差に基づいて、前記プロセッサに前記垂直成分を決定させるように構成される、請求項15に記載のターゲットトラッキングシステム。
【請求項17】
前記1又は2以上のスケーリング係数は水平成分を含み、前記機械可読命令は、前記ユーザの腕の長さに基づいて、前記プロセッサに前記水平成分を決定させるように構成される、請求項12に記載のターゲットトラッキングシステム。
【請求項18】
前記1又は2以上のスケーリング係数は垂直成分を含み、前記機械可読命令は、前記ユーザの腕の長さに基づいて、前記プロセッサに前記垂直成分を決定させるように構成される、請求項17に記載のターゲットトラッキングシステム。
【請求項19】
インタラクティブ体験を提供する方法であって、
2次元平面上の較正位置を受け取るステップと、
映像(imagery)で取り込まれた前記2次元平面上の手持ち式物体の基準要素の初期位置を受け取るステップと、
前記較正位置及び前記基準要素の初期位置に基づいて、1又は2以上の並進係数を決定するステップと、
前記基準要素の初期位置に基づいて、1又は2以上のスケーリング係数を決定するステップと、
前記映像で取り込まれた前記2次元平面上の前記基準要素の位置を決定するステップと、
前記基準要素の位置、前記1又は2以上の並進係数、及び前記1又は2以上のスケーリング係数に基づいて、前記手持ち式物体の投影ターゲット位置を決定するステップと、
前記投影ターゲット位置がターゲット位置に対応するという決定に応答して、ユーザインタラクティブ体験を出力するステップと、
を含む方法。
【請求項20】
前記1又は2以上の並進係数を決定するステップは、前記較正位置と前記2次元平面上の前記基準要素の初期位置との間の差に基づく、請求項19に記載のインタラクティブ体験を提供する方法。
【請求項21】
前記基準要素の初期位置に基づいて、ユーザの身長を決定するステップを含む、請求項19に記載のインタラクティブ体験を提供する方法。
【請求項22】
前記ユーザの身長に基づいて、ユーザの腕の長さを決定するステップを含む、請求項21に記載のインタラクティブ体験を提供する方法。
【請求項23】
前記1又は2以上のスケーリング係数を決定するステップは、前記ユーザの身長に基づく、請求項22に記載のインタラクティブ体験を提供する方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願との相互参照)
本出願は、2019年9月25日出願の米国仮出願第62/905,901号「手持ち式物体の投影ターゲット位置を決定するためのシステム及び方法(Systems and Methods for Determining Projected Target Location of a Handheld Object)」の利益を主張するものであり、その開示内容全体は引用により本明細書に組み入れられる。
【0002】
(技術分野)
本開示は、一般に、指し示すために用いられる手持ち式物体に関し、具体的には、手持ち式物体の投影ターゲット位置を決定することに関する。
【背景技術】
【0003】
このセクションは、読み手に、以下に記載する本開示の種々の態様に関連し得る種々の態様を紹介することを意図している。この考察は、読み手に対して本開示の種々の態様をより理解するのを容易にするための背景情報を提供するのを助けると考えられる。従って、本記載はこの観点から読まれものであり従来技術の自認ではないことを理解されたい。
【0004】
手持ち式物体(handheld object)は、ターゲットを指すか又はこれを選択するために使用することができる。例えば、遊園地環境において、利用客は、手持ち式物体を用いてアトラクションのアニメの登場人物に向けることができ、これの検出に応答して、システムは、アニメの登場人物にユーザインタラクション体験(例えば、尾を振る)を出力させることができる。しかしながら、ユーザの身体に関する特定の物理的特性が、ユーザがターゲットを指している場合を正確に判定する上での困難性をもたらす場合がある。
【0005】
本開示のこれら及び他の特徴、態様、及び利点は、図面を通して同様の符号が同様の要素を表す添付の図面を参照して以下の詳細な説明を読むことでよりよく理解されるであろう。
【図面の簡単な説明】
【0006】
【
図1】本開示の実施形態による、手持ち式物体をターゲットに向けるユーザの図である。
【
図2】本開示の実施形態による、遊園地アトラクションシステムのブロック図である。
【
図3】本開示の実施形態による、手持ち式物体を較正位置に向けるユーザの図である。
【
図4】本開示の実施形態による、
図3の手持ち式物体の基準要素の後続の検出位置に1又は2以上の並進係数を適用する例を示す図である。
【
図5】本開示の実施形態による、
図3の手持ち式物体の基準要素の後続の検出位置にスケーリング係数を適用する例を示す図である。
【
図6】本開示の実施形態による、手持ち式物体をシステムの異なるターゲットに向けるユーザの図である。
【
図7】本開示の実施形態による、異なるサイズの複数の基準要素ゾーン及び一定サイズの複数の投影ターゲットゾーンの図である。
【
図8】本開示の実施形態による、一定サイズの複数の基準要素ゾーン及び異なるサイズの複数の投影ターゲットゾーンの図である。
【
図9】本開示の実施形態による、
図3の手持ち式物体の投影ターゲット位置を決定するプロセスのフロー図である。
【
図10】本開示の実施形態による、ユーザの腕の動きの弧状性質と2次元平面との間の形状の差によって生じる歪みを補正するプロセスのフロー図である。
【発明を実施するための形態】
【0007】
本開示の1又は2以上の特定の実施形態を以下で説明する。これらの実施形態の簡潔な説明を行うために、実際の実行例の全ての特徴を本明細書で説明することができるというわけではない。何らかの工業設計又は設計プロジェクトの場合と同様に、何らかの当該の実際の実行例の開発において、実行例間で変動する場合があるシステム関連及び事業関連の制約の遵守など、開発担当者らの特定の目標を達成するために数多くの実行固有の意思決定を行う必要があることを認識されたい。さらに、このような開発作業は、複雑かつ時間が掛かることがあり得るが、それでも、本開示の恩恵を有する当業者にとって設計、作製、及び製造の日常的な仕事になることを認識されたい。
【0008】
本開示の様々な実施形態の要素を説明する場合に、冠詞「a」、「an」、及び「the」は、要素の1又は2以上があることを意味することが意図されている。用語「~を備える」、「~を含む」、及び「~を有する」は、包括的であり、かつ、記載された要素以外のさらなる要素がある場合があることを意味することが意図されている。加えて、本開示の「1つの実施形態」又は「一実施形態」への言及は、記載された特徴部も組み込む追加の実施形態の存在を除外すると解釈されることが意図されていないことを理解されたい。
【0009】
本開示は、一般に、指し示すために使用される手持ち式物体に関し、より具体的には、手持ち式物体の投影ターゲット位置を決定することに関する。具体的には、基準要素(reference element)は、手持ち式物体が向いている場所についての指示を提供することができる。例えば、遊園地設定において、ユーザは、手持ち式物体を用いてアトラクションのアニメの対象物(ロボット又はアニメの登場人物など)に向けることができ、基準要素の位置の検出に応答して、アニメの対象物は、ユーザインタラクション体験(例えば、尾を振る)を出力することができる。別の例として、ユーザは、ポスター上の単語に向けることができ、基準要素の位置の検出に応答して、近くのスピーカーが単語を発する音声を出力することができる。更に別の例として、ユーザは、電子ディスプレイ上の人物の画像に向けることができ、基準要素の位置の検出に応答して、画像内の人物が動くのを提示する動画を再生することができる。
【0010】
ここに開示するシステム及び方法は、カメラを用いて、カメラの方向に垂直な2次元平面上の基準要素の位置を決定することを含む。カメラは、カメラによって容易に検出可能な材料(例えば、逆反射材料)で作ることができる手持ち式物体の基準要素を検出することができる。基準要素の位置を使用して、ユーザが手持ち式物体を向けていたターゲット位置を決定することができる。しかしながら、システムによっては、手持ち式物体を向けている場所についてのユーザの知覚が、カメラの視界に基づいて決定されるユーザが向けている場所の投影位置と一致しないことがある。これは、片方の目が利き目である(例えば、右目が利き目又は左目が利き目)、頭の傾き、体重移動、片側又は別の側への傾きなどを含む様々な要因に起因する場合がある。これらの要因の何らかの組み合わせにより、ユーザの手が手持ち式物体を同じ位置に向けていても、ユーザが向けている場所についてのユーザの知覚が変わることがある。カメラは、本実施形態により使用することができる様々な光検出器の一例である。従って、カメラへの言及は、本開示の実施形態によって使用され得る他の光検出器を代表する。
【0011】
ここに開示するシステム及び方法は、ユーザが手持ち式物体を向けることができる較正ポイントを2次元平面上に提供することを含む。2次元平面に対する基準要素の位置を、初期位置として決定することができ、初期位置と較正ポイントとの差に基づいて、1又は2以上の並進係数(translation factors)を決定することができる。すなわち、較正ポイントは、ユーザが手持ち式物体を向けていると知覚する場所に相関することができ、一方で、基準要素の初期位置は、カメラの視点からの2次元平面上の基準要素の位置に相関することができる。この2つの間の差を用いて、カメラの視点から2次元平面上で検出された後続の基準要素の位置を、投影ターゲット位置(例えば、ユーザが向けているか又は向けようとしていると知覚する場所に対応する)に並進することができる。すなわち、1又は2以上の並進係数は、手持ち式物体を向けている場所についてのユーザの知覚と、基準要素が2次元平面上のどこに位置するかのカメラの決定(判定)との間の差を補正することができる。
【0012】
更に、ユーザは、インタラクションモデルにおいて、自身の肩が球の中心のように扱われた、球又は球欠の半径として機能し得る腕を用いて、手持ち式物体を動かして向ける。ユーザが手持ち式物体を動かすか又は異なるターゲットに向けると、同じターゲットに向けられているにもかかわらず、手持ち式物体の基準要素のそれぞれの位置がユーザごとに異なる場合がある。これは、ユーザの腕の長さが異なることに起因する場合がある。
【0013】
従って、ここに開示するシステム及び方法は、基準要素の初期位置に基づいて基準要素の高さ(例えば、地面から)を決定し、基準要素の高さに基づいてユーザの身長を推定する。ユーザの身長から、ユーザの腕の長さを推定することができ、これを用いて、1又は2以上のスケーリング係数(scaling factors)を決定することができる。1又は2以上のスケーリング係数は、カメラの視点から2次元平面上で検出された後続の基準要素の位置をスケール調整又は乗算して、投影ターゲット位置(例えば、ユーザが向けているか又は向けようとしていると知覚する場所に対応する)をより正確に決定することができる。このようにして、1又は2以上のスケーリング係数は、ユーザの腕の長さの差を補正することができる。
【0014】
カメラにより後続の基準要素位置を検出すると、1又は2以上の並進係数及び1又は2以上のスケーリング係数を後続の基準要素位置に適用して、2次元平面に対する投影ターゲット位置を決定することができる。本実施形態は、カメラによって取り込まれて伝達されたデータを分析して、並進係数、スケーリング係数、2次元平面に対する投影ターゲット位置などの関連データを提供するよう動作するプロセッサを含むことができる。
【0015】
追加的に、肩を中心として自身の腕が球又は球欠の半径として機能することで、ユーザは手持ち式物体を弧状又は円形の性質をもって動かすことができる。しかしながら、平坦な2次元平面上の手持ち式物体の基準要素の位置を決定するカメラは、空間内の手持ち式物体の弧状の動きとカメラによって検出可能な平坦な2次元平面との間の形状の差に起因して、基準要素の決定位置を歪める場合がある。
【0016】
従って、ここに開示するシステム及び方法は、この歪みを補正する、投影ターゲット位置に適用するための1又は2以上のオフセットを決定することができる。1又は2以上のオフセットは、ユーザの腕の動きの弧状性質と平坦な2次元平面との間の形状の差を補正するために、投影ターゲット位置を移動させて、投影ターゲット位置と初期位置との間の距離を増大又は拡大することができる。例えば、1又は2以上のオフセットは、テストデータを1又は2以上の多項式(例えば、3次の多項式)に適合させる多項式回帰を使用して決定することができる。
【0017】
いくつかの実施形態において、複数の基準要素ゾーン(例えば、基準要素がユーザの腕に基づく円弧に沿って位置する場所)は、複数の投影ターゲットゾーン(例えば、2次元平面上に投影された)に対応すると決定することができる。各投影ターゲットゾーンは、その投影ターゲットゾーンに適用される歪みを正確に補正できる多項式のそれぞれのセットに対応することができる。従って、カメラは、基準要素ゾーン内の基準要素を検出することができ、それぞれの投影ターゲットゾーンが基準要素ゾーンに対応すると決定することができ、それぞれの投影ターゲットゾーンに対応する多項式のそれぞれのセットを用いて、この歪みを補正するために基準要素の位置に適用する1又は2以上のオフセットを決定することができる。このような実施形態においては、複数の投影ターゲットゾーンが同じサイズである限り、複数の基準要素ゾーンは異なるサイズとすることができ(例えば、基準要素ゾーンが2次元平面から遠く離れているほど、基準要素ゾーンのサイズが小さくなる)、或いは複数の投影ターゲットゾーンが異なるサイズである限り、複数の基準要素ゾーンは同じサイズとすることができる(例えば、投影ターゲットゾーンが基準要素から遠く離れているほど、投影ターゲットゾーンのサイズが大きくなる)。
【0018】
導入として、
図1は、本開示の実施形態による、手持ち式物体12をターゲット14に向けるユーザ10の図である。ターゲット14は、物理的対象、図、写真、グラフィックなどとすることができる。場合によっては、ターゲット14は、ディスプレイによって出力される画像とすることができる。ターゲット14は、構造体15上に印刷、刻み込み、書き込み、投影、貼り付け、又はそれ以外の方法で表示することができる。ユーザの知覚は、第1破線16で示される。すなわち、ユーザ10は、手持ち式物体12をターゲット14に、具体的にはターゲット位置17に向けていると知覚する。しかしながら、片方の目が利き目である、頭の傾き、体重移動、片側又は別の側への傾きなど、特定の人間の要素に起因して、ユーザの知覚又は意図にもかかわらず、ユーザ10は実際には、破線19で示されるように、実際のターゲット位置18に手持ち式物体12を向ける。
【0019】
手持ち式物体12は、ユーザ10がターゲット14に向けるか又はこれを参照するために使用することができるスティック、鉛筆、銃又は武器のおもちゃ又は模型、杖などの、何らかの適切なオブジェクトを代表するか又は含むことができる。手持ち式物体12は、ユーザ10が指している場所を特定するのを容易にすることができる基準要素20を含むことができる。具体的には、カメラ22は、基準要素20の位置を検出し、基準要素20は、カメラ22が基準要素20をより容易に検出できるようにする材料又は手段から作ることができる。例えば、基準要素20は、逆反射材料(例えば、逆反射ガラスビーズ、マイクロプリズム、或いは布又はプラスチック基板上にシールされたカプセル化レンズ)、金属テープなどから作ることができる。別の例では、基準要素20は、カメラ22が基準要素20を識別できるようにする識別子(例えば、一意のグラフィカルデザイン、バーコード、クイックレスポンス(QR)コードなど)を含むことができる。図示するように、基準要素20は、ユーザの手28が手持ち式物体12を保持している端部26とは反対の手持ち式物体12の端部24に位置することができる。これは、ユーザが手持ち式物体12を向けている方向を特定するのを容易にすることができるが、基準要素20は、手持ち式物体12の任意の部分、又はユーザ10の任意の部分にさえ配置することができる。
【0020】
カメラ22は、2次元平面32に対する基準要素20の位置30を検出することができる。位置30は、1又は2以上の並進係数を適用することによって、ユーザ10が向けているか又は向けようとしていると知覚するターゲット位置17を決定するために使用することができる。図示するように、2次元平面32は、構造体15と同じ平面を共有できるが、一部の実施形態では、2次元平面32及び構造体15は同じ平面を共有しない場合がある。例えば、2次元平面32及び構造体15は互いに平行とすることができる。更に、カメラ22が基準要素20の位置30を検出できるように、構造体15は、半透明、透明、又は、カメラ22が基準要素20の位置30を検出できるようにする何らかの他の適切な特性を含むことができる。
【0021】
具体的には、1又は2以上の並進係数を基準要素20の位置30に適用して、手持ち式物体12を向けている場所についてのユーザの知覚と、基準要素20が2次元平面32上のどこに位置するかのカメラの決定との間の差を補正することができる。1又は2以上の並進係数は、ユーザ10が手持ち式物体12を較正ポイントに向け、カメラ22が2次元平面32上の基準要素20のこの初期位置を検出する較正プロセス中に決定することができる。1又は2以上の並進係数は、初期位置が移動されて(例えば、2次元平面32に対して)較正ポイントになる1又は2以上の距離を表すことができる。加えて、1又は2以上の並進係数は、片方の目が利き目である(例えば、右目が利き目又は左目が利き目)、頭の傾き、体重移動、片側又は別の側への傾きなどを緩和又は補正することができる。
【0022】
更に、1又は2以上のスケーリング係数を基準要素20の位置30に適用して、ユーザの腕の長さの差を考慮又は補正することができる。すなわち、ユーザは、肩を球の中心とする球又は球欠の半径として機能し得る腕を使って、手持ち式物体12を動かして向ける。ユーザが異なるターゲットに手持ち式物体12を動かすか又は向けると、同じターゲットに向けられているにもかかわらず、ユーザの腕の長さが異なるため、手持ち式物体12の基準要素20のそれぞれの位置がユーザ間で異なる場合がある。
【0023】
従って、基準要素20の高さは(例えば、地面からの)、基準要素20の初期位置に基づいて決定することができ、ユーザの身長は、基準要素20の高さに基づいて推定することができる。ユーザの身長から、ユーザの腕の長さを推定することができ、これを用いて、1又は2以上のスケーリング係数を決定することができる。1又は2以上のスケーリング係数は、2次元平面32上でカメラ22によって検出された基準要素20の位置30をスケール調整する又は拡大することができる。
【0024】
追加的に、1又は2以上のオフセットを基準要素20の位置30に適用して、手持ち式物体12の投影ターゲット位置を生成して、ユーザの腕の弧状又は円形の動きから生じる歪みを補正することができる。すなわち、この歪みは、弧状の動きと平坦な2次元平面32上の基準要素20の位置30のカメラの検出位置との間の形状の差によって生じ得る。1又は2以上のオフセットは、ユーザの腕の動きの弧状性質と平坦な2次元平面との間の形状の差を補正するために、投影ターゲット位置を移動させて、投影ターゲット位置と初期位置との間の距離を増大又は拡大することができる。例えば、1又は2以上のオフセットは、テストデータを3次多項式などの多項式に適合させる多項式回帰を用いて決定することができる。
【0025】
このようにして、手持ち式物体12の投影ターゲット位置を生成することができ、これは、ユーザ10が手持ち式物体12を向けていると知覚するターゲット位置17と厳密に一致し得る。有利には、他の特定のシステムとは異なり、較正の1つのポイントのみを用いて、並進係数、スケーリング係数、及びオフセットを決定し、手持ち式物体12の投影ターゲット位置を正確に決定することができる。一方、他の用途(例えば、プレゼンテーションで使用されるポインティングデバイス)では、実際の実行の前(例えば、準備段階中)に較正を行うことができ、聴衆又は客に見られることはないので、較正時間の短縮はそれほど重要でない場合がある。しかしながら、本例の場合には(例えば、遊園地のアトラクションでは)、較正が行われていることをユーザ10に隠すか又は気付かせないことで、没入型ユーザ体験をもたらすことが重要な場合がある。従って、較正プロセスを単一ポイントに限る(例えば、手持ち式物体12を単一の較正ポイントに向ける)ことで、ユーザ体験を高めるか又は強化する役割を果たすことができる。
【0026】
これを考慮して、
図2は、本開示の実施形態による、遊園地アトラクションシステム(theme park attraction system)40のブロック図である。遊園地アトラクションシステム40により、ユーザ10は手持ち式物体12を様々なターゲット14に向けることができ、ユーザ10がターゲット14に手持ち式物体12を向けたという判定に基づいてユーザインタラクション体験を出力することができる。例えば、遊園地アトラクションシステム40は、子どもに人気のキャラクターを有する環境、テレビ又は映画をテーマにした環境、射撃練習場、標的群などを含むことができる。
【0027】
遊園地アトラクションシステム40は、ユーザ10によって保持されて操作されるような、基準要素20を有する手持ち式物体12を含むことができる。遊園地アトラクションシステム40はまた、2次元平面32上の基準要素の位置を検出するカメラ22を含むユーザインタラクションシステム42も含むことができる。遊園地アトラクションシステム40は、投影位置決定システム(projected location determination system)44を更に含むことができ、これは、手持ち式物体12の投影ターゲット位置を決定する。具体的には、投影ターゲット位置は、ユーザ10が向けているか又は向けようとしていると知覚する2次元平面32上の位置を表すことができる。実際、投影ターゲット位置がターゲット位置17に近いほど、投影ターゲット位置は正確になる。
【0028】
投影位置決定システム44は、1又は2以上のプロセッサ(単一プロセッサ48として図示される)及び1又は2以上のメモリ又は記憶デバイス(単一メモリデバイス50として図示)を有する制御装置46を含むことができる。プロセッサ48は、手持ち式物体12の投影ターゲット位置の決定を容易にする、メモリデバイス50内に記憶されたソフトウェアプログラム及び/又は命令を実行することができる。更に、プロセッサ48は、複数のマイクロプロセッサ、1又は2以上の「汎用」マイクロプロセッサ、1又は2以上の特定用途向けマイクロプロセッサ、及び/又は1又は2以上の特定用途向け集積回路(ASICS)を含むことができる。例えば、プロセッサ48は、1又は2以上の縮小命令セット(RISC)プロセッサを含むことができる。メモリデバイス50は、制御ソフトウェア、検索テーブル、構成データなどの情報を記憶することができる。メモリデバイス50は、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、読み出し専用メモリ(ROM))、フラッシュメモリ、1又は2以上のハードドライブ、及び/又は何らかの他の適切な光学、磁気、又は固体記憶媒体などの有形の非一時的機械可読媒体を含むことができる。メモリデバイス50は、種々の情報を記憶することができ、手持ち式物体12の投影ターゲット位置を容易にする命令など、様々な目的に使用することができる。
【0029】
投影位置決定システム44はまた、2次元平面32上の基準要素20の位置を決定する基準要素位置検出ロジック52を含むこともできる。具体的には、投影位置決定システム44は、有線通信を介する、或いは無線通信プロトコル又は技術(例えば、無線、Bluetooth、WiFi、赤外線、イーサネット、スレッド、ZigBee、Z-Wave、KNX、モバイル、及び/又はマイクロ波)を用いた通信ネットワーク上などの何らかの適切な手段によって、ユーザインタラクションシステム42に通信可能に結合することができる。従って、基準要素位置検出ロジック52は、2次元平面32上の基準要素20を示す取り込み画像(captured images)(例えば、映像(imagery))をカメラ22から受け取ることができる。基準要素位置検出ロジック52は、例えば2次元座標系(例えば、x及びy)によって表される2次元平面32上の基準要素20の位置を決定することができる。
【0030】
投影位置決定システム44は、基準要素位置検出ロジック52によって決定された基準要素20の位置を、2次元平面32に対する投影ターゲット位置に変換する変換ロジック54を更に含むことができる。変換ロジック54は、手持ち式物体12を向けている場所についてのユーザの知覚と、基準要素20が2次元平面32上のどこに位置するかのカメラの決定との間の差を補正する1又は2以上の並進係数を決定する並進ロジック(translation logic)56を含む。
【0031】
具体的には、並進ロジック56は、単一ポイント較正プロセスを行うことにより1又は2以上の並進係数を決定することができる。このプロセスは、2次元平面32上の較正位置を受け取ることと、2次元平面32上の基準要素20の位置を受け取ることと(例えば、ユーザ10が手持ち式物体12を較正位置に向けるときに対応して)、較正位置と基準要素20の位置との間の位置の差に基づいて1又は2以上の並進係数を決定することとを含む。
【0032】
図3は、本開示の実施形態による、手持ち式物体12を較正位置80に向けるユーザ10の図である。較正位置80は、物理的物体、図、写真、グラフィックなどに対応することができる。場合によっては、較正位置80は、ディスプレイによって出力される画像に対応することができる。ユーザ10は、何らかの適切な形式で提供される命令によって促される場合がある(例えば、構造体15上に書き込み、刻み込み、印刷、貼り付け、又は表示される)。較正位置80は、ユーザが同じように腕を位置付けて制御された方法でユーザの身長を検出できるように設けることができ、その一方で、
図2の投影位置決定システム44が、手持ち式物体12を向けている場所についてのユーザの知覚とユーザ10が実際に手持ち式物体12を向けている場所との間の差を決定できるようにもする。例えば、較正位置80は、ユーザ10が、例えば、地面84に対してできるだけ平行に、地面に平行な平面に対して一定の角度で、腕82を伸ばせるように位置することができる。いくつかの実施形態では、較正位置80は、ユーザの身長に関してカスタマイズすることができる。すなわち、いくつかの実施形態では、較正位置80は、車いす、個人向け電気自動車、ベビーカーなどの車両に座っているユーザに関しては、構造体15上でより下方に位置することができる。別の例として、較正位置80は構造体15上で、大人の場合は子どもよりも高いところに位置することができ、較正位置80は構造体15上で、男性ユーザの場合は女性ユーザよりも高いところに位置することができる。
【0033】
従って、較正位置80は、投影位置決定システム44によって予め定められて既知とすることができる。促されると、ユーザ10は腕82を伸ばして、手持ち式物体12を較正位置80に向けることができる。しかしながら、片方の目が利き目である、頭の傾き、体重移動、片側又は別の側への傾き、ユーザの手持ち式物体12を持つ手の選択(例えば、右手対左手)、物理的制約(例えば、動きの範囲に影響を与える)、ユーザの動きがじゃま者(バックパックや子どもを抱いているなど)によって変化する可能性があるか否かなどの、人体によって生じる歪み効果に起因して、破線85で示すような手持ち式物体12を較正位置80に向けているというユーザの知覚又は向けようとする意図にもかかわらず、ユーザ10が実際には手持ち式物体12を破線88で示された実際の較正位置86などの別の場所に向ける場合がある。
【0034】
カメラ22は、2次元平面32上の基準要素20の位置90を検出して、位置90の表示値を投影位置決定システム44に送る。次に、人のインタラクションモデルの一部とすることができる並進ロジック56は、基準要素20の位置90と所定の較正位置80との間の位置の差を決定することができ、これを2次元(例えば、x及びy)座標で表現することができる。並進ロジック56は、この差を用いて、基準要素20の後続の検出位置に適用可能な1又は2以上の並進係数を生成して、基準要素20の後続の検出位置を移動させ、ユーザ10が手持ち式物体12を向けようとしていた場所に対応する、手持ち式物体12の後続の投影ターゲット位置を決定する。並進係数は、変換行列の形式で提供することができ、基準要素20の後続の検出位置に適用されて、以下に示すように基準要素20の投影ターゲット位置を生成することができる。
【数1】
ここで、
x=2次元平面32上の基準要素20の位置90の水平成分
y=2次元平面32上の基準要素20の位置90の垂直成分
X=2次元平面32上の基準要素20と較正位置80との間の水平方向の差
Y=2次元平面32上の基準要素20と較正位置80との間の垂直方向の差
x’=2次元平面32上の手持ち式物体12の投影ターゲット位置の水平成分
y’=2次元平面32上の手持ち式物体12の投影ターゲット位置の垂直成分
である。
【0035】
例えば、
図4は、本開示の実施形態による、基準要素20の後続の検出位置120に1又は2以上の並進係数を適用する例の図である。図示したように、較正中、基準要素20の位置90は、較正位置80の右に2単位(例えば、センチメートル)、較正位置80から上に1単位(例えばセンチメートル)である。従って、並進係数は、水平方向に+2及び垂直方向に+1を含むことができる。従って、変換行列においてXは+2に設定し、Yは+1に設定することができる。並進ロジック56は、基準要素20の後続の検出位置120(例えば[4、2])に変換行列を適用して、後続の検出位置120を右に2単位及び上に1単位移動させて、較正位置80の右に6単位及び上に3単位のところに投影ターゲット位置122を生成することができる(例えば、[6、3])。従って、並進ロジック56は、手持ち式物体12を向けている場所についてのユーザの知覚と、基準要素20が2次元平面32上のどこに位置しているかのカメラの決定との間の差を補正することができる。
【0036】
図2に戻ると、変換ロジック54は、ユーザの腕の長さの差を補正する1又は2以上のスケーリング係数を決定するスケーリングロジック(scaling logic)58も含むことができる。すなわち、
図3に示すように、ユーザ10は、肩を球の中心94とした球又は球欠92の半径として機能し得る腕82を用いて、手持ち式物体12を動かして向ける。ユーザ10が異なるターゲットに向くように手持ち式物体12を動かすと、手持ち式物体12の基準要素20のそれぞれの位置は、ユーザ10の腕の長さが異なることに起因して、同じターゲットに向けているにもかかわらず、ユーザ10ごとに異なる場合がある。
【0037】
具体的には、スケーリングロジック58は、較正プロセス中にカメラ22によって検出された基準要素20の位置90に基づいて、1又は2以上のスケーリング係数を決定することができる。地面84からのカメラ22の高さ96は、スケーリングロジック58によって予め定められて既知とすることができる。従って、スケーリングロジック58は、基準要素20の位置90及び所定の高さ96に基づいて、地面84からの基準要素20の高さ98を決定することができる。基準要素20の高さ98に基づいて、スケーリングロジック58のユーザ身長推定ロジック60は、ユーザの身長100を決定することができる。具体的には、ユーザ10が手持ち式物体12を較正位置80に向けたときの基準要素20の位置90及びそれらのユーザ10の身長のテスト又はサンプルデータを収集することができる。基準要素20の位置90の高さ102は、ユーザ10の身長に相関し、スケーリングロジック58は、この所定の相関及び基準要素20の高さ98に基づいてユーザの身長100を推定することができる。相関を識別するためのモデルは、身長と手が届く範囲との間の標準相関のテーブル(例えば、個体群の様々な体型に関する身長と腕の長さとの間の比率)を実装することができる。
【0038】
次に、スケーリングロジック58のユーザの腕の長さ推定ロジック62は、ユーザの身長100に基づいてユーザの腕の長さ104を推定することができる。推定は、腕の長さ104とユーザの身長100との間の所定の相関(例えば、経験データに基づくアルゴリズム又はテーブル)に基づいて行うことができる。この所定の相関は、テスト又はサンプルデータ、人体の比率に関連する科学的データ、及び/又は何らかの他の適切なソースに基づいて決定することができる。
【0039】
スケーリングロジック58は、ユーザの腕の長さ104に基づいて1又は2以上のスケーリング係数を決定することができる。例えば、初期位置(例えば、較正位置80)から離れたところに向いている場合、カメラ22は、腕の長さが長いユーザ10と比較して腕の長さ104が短いユーザのほうが、基準要素20の位置が初期位置により近いことを検出することができる。従って、スケーリングロジック58は、腕の長さ104が短いユーザ10に比べて、腕の長さ104が長いユーザ10に関しては、より大きいスケーリング係数を決定することができる。スケーリングロジック58は、基準要素20の後続の検出位置に1又は2以上のスケーリング係数を適用して、位置をスケール調整(例えば、縮小又は拡大)して、基準要素20の投影ターゲット位置を生成することができる。スケーリング係数は、水平及び垂直成分を含み、変換行列の形式で提供することができ、以下に示すように上記の式1からの並進係数を含む変換行列内に挿入することができる。
【数2】
ここで、
k1=ユーザの腕の長さ104に基づいて生成される水平スケーリング係数
k2=ユーザの腕の長さ104に基づいて生成される垂直スケーリング係数
である。
【0040】
スケーリング係数k1及びk2の値は、手持ち式物体12を様々なターゲットに向けているユーザ10から収集した相関テスト又はサンプルデータ、及びそれらのユーザ10の腕の長さ104に基づいて決定することができる。例えば、スケーリングロジック58は、カメラ22から受け取った画像データ(例えば、映像の第1又は較正画像)に基づいて、地面84からの基準要素20の高さ98が1.25メートルであると決定することができる。ユーザ身長推定ロジック60は、基準要素20の高さ98に基づいて、ユーザの身長100が約1.8メートルであると決定することができる。ユーザの腕の長さ推定ロジック62は、ユーザの身長100に基づいて、ユーザの腕の長さ104が0.6メートルであると決定することができる。次にスケーリングロジック58は、ユーザの腕の長さ104に基づいて、水平スケーリング係数k1が1.5であり、垂直スケーリング係数k2が1.75であると決定することができる。従って、スケーリングロジック58は、k1=1.5及びk2=1.75での式2の変換行列を生成し、投影位置決定システム44は、基準要素20の後続の検出位置に変換行列を適用して、ユーザ10が手持ち式物体12を向けようとしていた場所の投影ターゲット位置を生成することができ、これが、ユーザの腕の長さ104の差を補正する。
【0041】
例えば、
図5は、本開示の実施形態による、基準要素20の後続の検出位置120にスケーリング係数を適用する例の図である。図示するように、基準要素20の後続の検出位置120は、較正位置80の右に4単位(例えば、センチメートル)、較正位置80から上に4単位(例えば、センチメートル)である(例えば、[4,4])。水平スケーリング係数k
1=1.5及び垂直スケーリング係数k
2=1.75を有する式2の変換行列を後続の検出位置120に適用すると、後続の検出位置120が水平方向に1.5だけスケール調整することで、較正位置80の右に6単位のところに投影ターゲット位置130が生成され、垂直方向に1.75だけスケール調整されることで、上に7単位(例えば、センチメートル)のところに投影ターゲット位置130が生成される(例えば、[6、7])。従って、スケーリングロジック58は、ユーザの腕の長さ104の差を補正することができる。
【0042】
図2に戻ると、投影位置決定システム44は、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差を補正する円弧歪み補正ロジック(arc distortion compensation logic)64を含むことができる。例えば、
図6は、手持ち式物体12を異なるターゲットに向けるユーザ10の図である。図示するように、ユーザの腕82の第1位置140とユーザの腕82の第2位置142との間に形成される角度θは、ユーザの腕82の第3位置144とユーザの腕82の第4位置146との間と同じである。しかしながら、カメラ22が2次元平面32上で観察して取り込む場合、ユーザの腕82の第1位置140に対応する第1基準要素位置148と、ユーザの腕82の第2位置142に対応する第2基準要素位置150との間の距離h
0は、ユーザの腕82の第3位置144に対応する第3基準要素位置152と、ユーザの腕82の第4位置146に対応する第4基準要素位置154との間の距離h
1とは異なる(例えば、より大きい)。
【0043】
このように、円弧歪み補正ロジック64は、投影ターゲット位置に適用する1又は2以上のオフセットを決定することができ、これはこの歪みを補正する。1又は2以上のオフセットは、投影ターゲット位置と初期位置(例えば、較正位置80)との間の距離を増大又は拡大するために、投影ターゲット位置を移動させて、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差を補正することができる。例えば、1又は2以上のオフセットは、手持ち式物体12を様々なターゲットに向ける(例えば、基準要素20で円弧92に沿って)ユーザ10からのテスト又はサンプルデータを式に適合させる回帰分析を用いて決定することができる。いくつかの実施形態では、円弧歪み補正ロジック64は、テストデータを多項式(例えば、第3次の多項式)に適合させることができるが、何らかの適切な次数又はタイプの式を使用することができる。例えば、3次の第1多項式(以下の式3及び4)を使用して、この歪みを水平方向で補正する、投影ターゲット位置に適用するための水平オフセットを決定し、3次の第2多項式(以下の式5及び6)を使用して、この歪みを垂直方向で補正する、投影ターゲット位置に適用するための垂直オフセットを決定することができる。
【数3】
(これは追加的に又は代替的に以下のように表すことができる。
x
offset=ax
3+by
3+cx
2y+dxy
2+ex
2+fy
2+gxy+hx+ky+l) 式4
【数4】
(これは追加的に又は代替的に以下のように表すことができる。
y
offset=ay
3+bx
3+cy
2x+dyx
2+ey+fx
2+gyx+hy+kx+l 式6
ここで、
x
offset=投影ターゲット位置に適用される水平オフセット
y
offset=投影ターゲット位置に適用される垂直オフセット
x=投影ターゲット位置の水平成分
y=投影ターゲット位置の垂直成分
a
i、b
i、c
i、a、b、c、d、e、f、g、h、k、及びl=回帰分析を用いて決定される定数であり、各定数は式ごとに異なる場合がある(例えば、式4の定数aは式6の定数aと異なる場合がある)。
【0044】
投影ターゲット位置の水平成分は、初期位置からの水平距離として測定することができる(例えば、較正位置80及び/又はユーザ10が手持ち式物体12をカメラ22に直接向けているときに対応する)が、投影ターゲット位置の垂直成分は、初期位置からの垂直距離として測定することができる。前述のように、多項式3から6のいずれに関しても、定数ai、bi、ci、a、b、c、d、e、f、g、h、k、及び1は、多項式回帰分析を用いて多項式にテスト又はサンプルデータを適合させることによって決定することができる(式ごとに異なる場合がある)。従って、ユーザ10が手持ち式物体12を動かして向ける際に、各投影ターゲット位置に関して1又は2以上のオフセットを決定することができる。
【0045】
しかしながら、ユーザ10が手持ち式物体12を動かして向ける際に、各投影ターゲット位置に関して水平オフセット及び垂直オフセットを決定するために式3から6のいずれかを適用することは、時間がかかり、過度のコンピューティング資源(例えば、処理、メモリ、ストレージ、又はネットワーク資源)を使用する場合がある。従って、いくつかの実施形態では、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差をより効率的に補正するために、円弧歪み補正ロジック64は、基準要素20が位置し得る円弧92を複数の基準要素ゾーンに分割することができ、その各々がそれぞれの投影ターゲットゾーン(例えば、2次元平面に投影された)に対応することができる。各投影ターゲットゾーンは、その投影ターゲットゾーンに適用できる歪みを正確に補正できる多項式のそれぞれのセットに対応することができる。従って、カメラ22は、基準要素ゾーン内の基準要素20を検出することができ、円弧歪み補正ロジック64は、基準要素ゾーンに対応するそれぞれの投影ターゲットゾーンを決定することができ、円弧歪み補正ロジック64は、それぞれの投影ターゲットゾーンに対応する多項式のそれぞれのセットを基準要素の位置に適用して、この歪みを補正するために基準要素の位置に適用される1又は2以上のオフセットを決定することができる。このような実施形態においては、複数の投影ターゲットゾーンが同じサイズである限り、複数の基準要素ゾーンは異なるサイズとすることができ(例えば、基準要素ゾーンが2次元平面32から遠く離れているほど、基準要素ゾーンのサイズが小さくなる)、又は複数の投影ターゲットゾーンが異なるサイズである限り、複数の基準要素ゾーンは同じサイズとすることができる(例えば、投影ターゲットゾーンが基準要素20から遠く離れているほど、投影ターゲットゾーンのサイズが大きくなる)。
【0046】
図7は、本開示の実施形態による、異なるサイズの複数の基準要素ゾーン170及び一定サイズの複数の投影ターゲットゾーン172の図である。図示するように、2次元平面32に最も近い第1基準要素ゾーン174は、サイズが最も大きく、2次元平面32に次に近い第2基準要素ゾーン176は、次に大きいサイズ(ただし、第1基準要素ゾーン174よりも小さい)であり、2次元平面32に次に近い第3基準要素ゾーン178は、次に大きいサイズ(ただし、第2基準要素ゾーン176よりも小さい)であり、2次元平面32に次に近い第4基準要素ゾーン180は、次に大きいサイズ(ただし、第3基準要素ゾーン178よりも小さい)である。
図7には4つの基準要素ゾーン170が示されているが、何らかの適切な数の基準要素ゾーン170が何らかの適切なサイズであると想定されることは理解されるべきであり、基準要素ゾーン170が2次元平面32から遠く離れるほど、基準要素ゾーン170のサイズは縮小する。更に、各投影ターゲットゾーン172は、他の投影ターゲットゾーン172と同じサイズであり、それぞれの基準要素ゾーン170に対応し、基準要素20の位置に適用することができるそれぞれのオフセット(例えば、水平及び垂直オフセット)を生成する多項式のそれぞれのセットに対応する。具体的には、それぞれの投影ターゲットゾーン172に対応する多項式の各セットは、式3から6のいずれかに規定されるように、定数a
i、b
i、c
i、a、b、c、d、e、f、g、h、k、及びlについて異なる値セット有することができ(及び式ごとに異なることができる)。基準要素ゾーン170が2次元平面32から遠く離れるほど、基準要素ゾーン170のサイズを小さくすることで、円弧歪み補正ロジック64は、投影ターゲットゾーン172の同じサイズは維持しながら、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差を効率的かつ資源を節約する方法で補正できる。
【0047】
図8は、本開示の実施形態による、一定サイズの複数の基準要素ゾーン190及び異なるサイズの複数の投影ターゲットゾーン192の図である。図示するように、各基準要素ゾーン190は同じサイズである。しかしながら、基準要素20に最も近い第1投影ターゲットゾーン194はサイズが最も小さく、基準要素20に次に近い第2投影ターゲットゾーン196は次に小さいサイズであり(ただし、第1投影ターゲットゾーン194よりも大きい)、基準要素20に次に近い第3投影ターゲットゾーン198は次に小さいサイズであり(ただし、第2番投影ターゲットゾーン196よりも大きい)、基準要素20に次に近い第4投影ターゲットゾーン200は、次に小さいサイズである(ただし、第3投影ターゲットゾーン198よりも大きい)。
図8には4つの投影ターゲットゾーン192が示されているが、何らかの適切な数の投影ターゲットゾーン192が何らかの適切なサイズであると想定されることは理解されるべきであり、投影ターゲットゾーン192が基準要素20から遠く離れるほど、投影ターゲットゾーン192のサイズは増大する。各投影ターゲットゾーン192は、それぞれの基準要素ゾーン190に対応し、基準要素20の位置に適用することができそれぞれのオフセット(例えば、水平及び垂直オフセット)を生成する多項式のそれぞれのセットにも対応する。具体的には、それぞれの投影ターゲットゾーン192に対応する多項式の各セットは、式3から6のいずれかに規定されるように、定数a
i、b
i、c
i、a、b、c、d、e、f、g、h、j、k、及びlについて異なる値セットを有することができる(及び式ごとに異なることができる)。投影ターゲットゾーン192が基準要素20から遠く離れるほど、投影ターゲットゾーン192のサイズを大きくすることで、円弧歪み補正ロジック64は、基準要素ゾーン190の同じサイズは維持しながら、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差を効率的かつ資源を節約する方法で補正できる。
【0048】
簡潔にするために、
図6~8は、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差によって生じる歪みを垂直(例えばy)方向のみで示していることに留意されたい。しかしながら、ここに開示するシステム及び方法は、水平方向の歪みを補正するための水平オフセットを提供する式3及び4によって明らかになるような水平(例えば、x)方向、及び垂直方向の歪みを補正するための垂直オフセットを提供する式5及び6によって明らかになるような垂直(例えば、y)方向を含む、何らかの適切な方向の歪みを補正することを想定している。
【0049】
図2に戻ると、投影位置決定システム44により、投影ターゲット位置が、構造体15上に印刷、刻み込み、書き込み、取り付け、又はそれ以外の方法で表示されたターゲット14に対応すると決定された場合、ユーザインタラクションシステム42の出力デバイス66は、ユーザインタラクション体験を出力することができる。出力デバイス66は、電子ディスプレイ、スピーカー、仮想現実デバイス、拡張現実デバイス、アクチュエータ、及び/又はアニメのデバイス(例えば、ロボットの登場人物)など、所望のユーザインタラクション体験を出力することができる何らかの適切なデバイスとすることができる。ターゲット14は、出力デバイス66の一部、これに固定される、取り付けられる、又はこれを含むことができ、或いは、ターゲット14は、出力デバイス66から切り離すことができる。例えば、遊園地環境では、ターゲット14及び出力デバイス66の両方は、アトラクションのアニメの対象物とすることができ、投影ターゲット位置がアニメの対象物に対応するという決定に応答して、アニメの対象物は、ユーザインタラクション体験(例えば、尾を振る)を出力することができる。別の例として、ターゲット14は、ポスターに印刷された単語であり、出力デバイス66は近くのスピーカーとすることができ、投影ターゲット位置がポスターに印刷された単語に対応するという決定に応答して、近くのスピーカーが単語を発する音声を出力することができる。更に別の例として、ターゲット14は、電子ディスプレイ上の人物の画像で、出力デバイス66は電子ディスプレイとすることができ、投影ターゲット位置がその人物の画像に対応するという決定に応答して、電子ディスプレイは、特徴的な行動を行う画像の人物を見せる映像を再生することができる。
【0050】
このことを考慮して、
図9は、本開示の実施形態による、手持ち式物体12の投影ターゲット位置を決定するためのプロセス210のフロー図である。このプロセス210は、手持ち式物体12の投影ターゲット位置を決定することができる何らかの適切なデバイス、例えば、制御装置46、プロセッサ48、基準要素位置検出ロジック52、変換ロジック54、並進ロジック56、スケーリングロジック58、ユーザ身長推定ロジック60、及び/又はユーザの腕の長さ推定ロジック62を含む投影位置決定システム44の何らかの構成要素などによって実行することができる。プロセス210は、特定の順序のステップで用いて説明されるが、本開示では、説明されるステップは図示する順序とは異なる順序で実行でき、説明される特定のステップはスキップする又は全く実行しない場合があることが想定されることを理解されたい。いくつかの実施形態においては、プロセス210は、メモリデバイス50などの有形の非一時的なコンピュータ可読媒体に記憶された命令を、プロセッサ48などのプロセッサを使用して実行することによって実施することができる。
【0051】
図示するように、プロセスブロック212において、プロセッサ48は、手持ち式物体12を較正するための指示(indication)を受け取る。この指示は、手持ち式物体12の基準要素20の存在を含む、カメラ22によって取り込まれた画像(例えば、映像の第1又は較正画像)形態とすることができる。いくつかの実施形態においては、ユーザ10が、基準要素20を有する手持ち式物体12と共にカメラ22の視界領域に入ったことを示すことができるモーションセンサ又は他の適切なセンサは、この指示を提供することができる。
【0052】
プロセスブロック214において、プロセッサ48は、較正位置80を受け取る。具体的には、較正位置80は、構造体15上に固定すること又はプロセッサ48によって構造体15上に表示することができるので、較正位置80は、予め定められておりプロセッサ48には既知とすることができる。
【0053】
プロセスブロック216において、プロセッサ48は、手持ち式物体12の基準要素20の位置を受け取る。例えば、カメラ22は、基準要素20の画像(例えば、カメラ22によって取り込まれた映像の2番目又はそれ以降の画像)を提供することができる。次にプロセッサ48は、2次元平面32上の基準要素20の位置を決定するよう、基準要素位置検出ロジック52に命令することができる。
【0054】
プロセスブロック218において、プロセッサ48は、基準要素20の位置及び較正位置80に基づいて1又は2以上の並進係数を決定するよう、並進ロジック56に命令する。1又は2以上の並進係数は、手持ち式物体12を向けている場所についてのユーザの知覚と、基準要素20が2次元平面32上のどこに位置するかのカメラの決定との間の差を補正することができる。具体的には、並進ロジック56は、単一ポイント較正プロセスを行うことにより1又は2以上の並進係数を決定することができる。このプロセスには、2次元平面32上の較正位置を受け取ることと、2次元平面32上の基準要素20の位置を受け取ることと(例えば、ユーザ10が手持ち式物体12を較正位置に向けるときに対応して)、較正位置と基準要素20の位置との間の位置の差に基づいて1又は2以上の並進係数を決定することとを含む。
【0055】
並進ロジック56は、この差を用いて、基準要素20の後続の検出位置に適用することができる1又は2以上の並進係数を生成して、基準要素20の後続の検出位置を移動させ、ユーザ10が手持ち式物体12を向けようとしていた場所に対応する手持ち式物体12の後続の投影ターゲット位置を決定することができる。並進係数は、変換行列の形式で提供することができ、これは基準要素20の後続の検出位置に適用され、式1に示すように基準要素20の投影ターゲット位置を生成することができる。
【0056】
プロセスブロック220において、プロセッサ48は、基準要素20の位置に基づいてユーザ10の身長100を決定するよう、ユーザ身長推定ロジック60に命令する。プロセスブロック222において、プロセッサ48は、ユーザ10の身長100に基づいてユーザ10の腕の長さ104を決定するよう、ユーザの腕の長さ推定ロジック62に命令する。
【0057】
プロセスブロック224において、プロセッサ48は、ユーザ10の腕の長さ104に基づいて1又は2以上のスケーリング係数を決定するよう、スケーリングロジック58に命令する。スケーリングロジック58は、上記の式2の変換行列でスケーリング係数を提供することができる。スケーリング係数は、初期位置(例えば、較正位置80)に対する基準要素20の位置をスケール調整(例えば、乗算)することによって、ユーザの腕の長さ104の差を補正することができる。
【0058】
プロセスブロック226において、プロセッサ48は、基準要素20の位置、1又は2以上の並進係数、及び1又は2以上のスケーリング係数に基づいて、手持ち式物体12の投影ターゲット位置を決定するよう、変換ロジック54に命令する。具体的には、変換ロジック54は、1又は2以上の並進係数及び1又は2以上のスケーリング係数を含む式2の変換行列を、基準要素20の位置に適用して、投影ターゲット位置を生成することができる。すなわち、投影ターゲット位置は、ユーザ10が向けているか又は向けようとしていると知覚する場所に対応することができる。
【0059】
決定ブロック228において、プロセッサ48は、投影ターゲット位置がユーザインタラクション要素と相関しているか否かを判定する。ユーザインタラクション要素は、ユーザインタラクション体験を実行するトリガとして機能する何らかの適切な目標物とすることができる。例えば、ユーザインタラクション要素は、ユーザ10が、手持ち式物体12を向ける場合にユーザインタラクション体験が実行されるようにすることを期待できる、何らかの関心ある特徴を含むことができる。
【0060】
プロセッサ48は、投影ターゲット位置がユーザインタラクション要素と相関していると判定した場合、次に、プロセスブロック230において、プロセッサ48は、適切な出力デバイス66を用いてそれぞれのユーザインタラクション体験を実行するよう、ユーザインタラクションシステム42に命令する。例えば、出力デバイス66は、アトラクションのアニメの対象物とすることができ、ユーザインタラクションシステム42は、アニメの対象物に吠えさせる、鳴かせる、話をさせる、動くようにさせる、点滅させることができる。別の例として、出力デバイス66は、スピーカーとすることができ、ユーザインタラクションシステム42は、スピーカーに音響、音声、音楽などを出力させることができる。更に別の例として、出力デバイス66は、電子ディスプレイとすることができ、ユーザインタラクションシステム42は、電子ディスプレイに画像の表示、ビデオの再生などを行わせることができる。
【0061】
プロセッサ48は、投影ターゲット位置がユーザインタラクション要素と相関していないと判定した場合、決定ブロック232において、プロセッサ48は、基準要素20の次の位置を受け取ったか否かを判定する。受け取った場合、プロセッサ48はプロセスブロック226を繰り返して、基準要素20の次の位置、並びにプロセスブロック218及び224から既に決定されている並進係数及びスケーリング係数に基づいて、手持ち式物体12の投影ターゲット位置を決定する。
【0062】
プロセッサ48は、基準要素20の次の位置を受け取っていないと判定した場合、プロセッサ48は、プロセスブロック212を繰り返して、手持ち式物体12を較正するための次の指示を受け取る(例えば、次のユーザ10から)。このようにして、プロセス210は、手持ち式物体12の投影ターゲット位置を、単一ポイント較正を使用して決定することができ(例えば、投影位置決定システム44を較正するために、ユーザ10に手持ち式物体12を2以上のポイントに向けるよう要求することなく)、これは、手持ち式物体12を向けている場所についてのユーザの知覚と基準要素20が2次元平面32上のどの位置するかのカメラの決定との間の差、並びにユーザの腕の長さ104の差の両方を補正する。
【0063】
更に、投影位置決定システム44は、
図6に示すように、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差によって生じる歪みを補正することもできる。
図10は、本開示の実施形態による、この歪みを補正するためのプロセス240のフロー図である。プロセス240は、この歪みを補正することができる何らかの適切なデバイス、例えば、制御装置46、プロセッサ48、及び/又は円弧歪み補正ロジック64を含む投影位置決定システム44の何らかの構成要素などによって実行することができる。プロセス240は、特定の順序のステップとして説明されるが、本開示では説明されるステップは図示する順序とは異なる順序で実行でき、説明される特定のステップはスキップする又は全く実行しない場合があることが想定されることを理解されたい。いくつかの実施形態においては、プロセス240は、メモリデバイス50などの有形の非一時的なコンピュータ可読媒体に記憶された命令を、プロセッサ48などのプロセッサを使用して実行することによって実施することができる。
【0064】
図示するように、プロセスブロック242において、プロセッサ48は、手持ち式物体12の基準要素20の位置を受け取る。いくつかの実施形態では、プロセッサ48は、手持ち式物体12の投影ターゲット位置を受け取ることができる。
【0065】
プロセスブロック244において、プロセッサ48は、基準要素20の位置及び第1の多項式に基づいて水平オフセットを決定する。具体的には、プロセッサ48は、手持ち式物体12の投影ターゲット位置を受け取るか又は
図9のプロセス210を用いて投影ターゲット位置を決定することができる。次にプロセッサ48は、多項式3又は4を手持ち式物体12の投影ターゲット位置に適用して、水平オフセットを決定するよう、円弧歪み補正ロジック64に命令することができる。
【0066】
プロセスブロック246において、プロセッサ48は、基準要素20の位置及び第2の多項式に基づいて垂直オフセットを決定する。具体的には、プロセッサ48は、多項式5又は6を手持ち式物体12の投影ターゲット位置に適用して、垂直オフセットを決定するよう、円弧歪み補正ロジック64に命令することができる。
【0067】
プロセスブロック248において、プロセッサ48は、基準要素20の位置、水平オフセット、及び垂直オフセットに基づいて、手持ち式物体12の投影ターゲット位置を決定する。具体的には、プロセッサ48は、投影ターゲット位置を生成するために、投影ターゲット位置の水平成分(例えば、x座標)に水平オフセットを適用(例えば、加算)し、投影ターゲット位置の垂直成分(例えば、y座標)に垂直オフセットを適用(例えば、加算)するよう、円弧歪み補正ロジック64に命令することができる。
【0068】
いくつかの実施形態では、ユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差をより効率的に補正するために、円弧歪み補正ロジック64は、基準要素20が位置し得る円弧92を複数の基準要素ゾーンに分割することができ、その各々がそれぞれの投影ターゲットゾーン(例えば、2次元平面に投影された)に対応することができる。各投影ターゲットゾーンは、その投影ターゲットゾーンに適用される歪みを正確に補正できる多項式のそれぞれのセットに対応することができる。従って、カメラ22は、基準要素ゾーン内の基準要素20を検出することができ、円弧歪み補正ロジック64は、基準要素ゾーンに対応するそれぞれの投影ターゲットゾーンを決定することができ、円弧歪み補正ロジック64は、それぞれの投影ターゲットゾーンに対応する多項式のそれぞれのセットを基準要素の位置に適用して、基準要素の位置に適用するための1又は2以上のオフセットを決定してこの歪みを補正することができる。このような実施形態においては、
図7に示すように、複数の投影ターゲットゾーンが同じサイズである限り、複数の基準要素ゾーンは異なるサイズとすることができ(例えば、基準要素ゾーンが2次元平面32から遠く離れているほど、基準要素ゾーンのサイズが小さくなる)、或いは
図8に示すように、複数の投影ターゲットゾーンが異なるサイズである限り、複数の基準要素ゾーンは同じサイズとすることができる(例えば、投影ターゲットゾーンが基準要素20から遠く離れているほど、投影ターゲットゾーンのサイズが大きくなる)。
【0069】
このようにして、プロセス240は、ユーザの腕の動きの弧状性質92及び平坦な2次元平面32を補正することができる。更に、手持ち式物体12を向けている場所についてのユーザの知覚と基準要素20が2次元平面32上のどこに位置しているかのカメラの決定との間の差、ユーザの腕の長さ104の差、及びユーザの腕の動きの弧状性質92と平坦な2次元平面32との間の形状の差を補正するために、
図10のプロセス240は、
図9のプロセス210の前、後、又はその一部として実行することができる。
【0070】
本開示に記載した実施形態は、種々の修正形態及び代替形態の影響を受けやすいが、特定の実施形態は、図面には例示的に示されており、本明細書において詳細に説明されている。しかしながら、本開示はここに開示された特定の形態に限定されるものではないことを理解されたい。本開示は、以下の添付の特許請求の範囲によって定義されるような本開示の精神及び範囲内に含まれる全ての変更、均等物、及び代替物を包含するものとする。
【0071】
本明細書に示して特許請求する技術は、本技術分野を確実に改善する、従って抽象的なもの、無形のもの又は純粋に理論的なものではない実際的性質の有形物及び具体例を参照し、これらに適用される。さらに、本明細書の最後に添付するいずれかの請求項が、「...[機能]を[実行]する手段」又は「...[機能]を[実行]するステップ」として指定されている1又は2以上の要素を含む場合、このような要素は米国特許法112条(f)に従って解釈すべきである。一方で、他のいずれかの形で指定された要素を含むあらゆる請求項については、このような要素を米国特許法112条(f)に従って解釈すべきではない。
【符号の説明】
【0072】
10 ユーザ
12 手持ち式物体
14 ターゲット
15 構造体
16 第1破線
17 ターゲット位置
18 実際のターゲット位置
19 破線
20 基準要素
22 カメラ
24 手持ち式物体の端部
26 手持ち式物体を保持している端部
28 ユーザの手
30 基準要素の位置
32 2次元平面
【国際調査報告】