JP2024500650A - 拡張現実オブジェクトを生成するシステム及び方法 - Google Patents
拡張現実オブジェクトを生成するシステム及び方法 Download PDFInfo
- Publication number
- JP2024500650A JP2024500650A JP2023531641A JP2023531641A JP2024500650A JP 2024500650 A JP2024500650 A JP 2024500650A JP 2023531641 A JP2023531641 A JP 2023531641A JP 2023531641 A JP2023531641 A JP 2023531641A JP 2024500650 A JP2024500650 A JP 2024500650A
- Authority
- JP
- Japan
- Prior art keywords
- application
- user
- smart device
- objects
- virtual
- 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
Links
- 238000000034 method Methods 0.000 title claims description 38
- 230000003190 augmentative effect Effects 0.000 title description 44
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 230000001133 acceleration Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 2
- 230000001815 facial effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract 1
- 230000004044 response Effects 0.000 description 32
- 241000282472 Canis lupus familiaris Species 0.000 description 17
- 230000003993 interaction Effects 0.000 description 16
- 238000010801 machine learning Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000001514 detection method Methods 0.000 description 7
- 210000000988 bone and bone Anatomy 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 241000283973 Oryctolagus cuniculus Species 0.000 description 3
- 238000013145 classification model Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 239000011324 bead Substances 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- QEIQEORTEYHSJH-UHFFFAOYSA-N Armin Natural products C1=CC(=O)OC2=C(O)C(OCC(CCO)C)=CC=C21 QEIQEORTEYHSJH-UHFFFAOYSA-N 0.000 description 1
- 241001481833 Coryphaena hippurus Species 0.000 description 1
- 241000086550 Dinosauria Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000004313 glare Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Architecture (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
ユーザは、スマート装置のカメラを用いてユーザの周囲のビデオをキャプチャすることができ、スマート装置は、スマート装置によってキャプチャされている画像上に仮想オブジェクトを重ね合わせることができる。仮想オブジェクトは、スマート装置の周囲環境にある実際のオブジェクト、例えば床上のチョーク画に基づいて選択できる。アプリケーションは、アイテムを選択する際に、他の要素、例えばユーザのプロファイル及び地理位置情報、並びにアプリケーションのユーザによってダウンロードされた特徴(キャラクター、アクセサリ、マスク、アバターなど)を考慮する場合がある。アプリケーションにより、ユーザは、オブジェクトをカスタマイズして特徴をオブジェクトに追加することにより、仮想オブジェクトと対話することができる。【選択図】図1
Description
本願は、2020年11月24日に出願され、2021年5月25日に米国特許第11017609号として特許された米国非仮出願第17/102721号の優先権を主張するものであり、その全体は、参照により本明細書に組み込まれるものとする。
本発明は、拡張現実オブジェクトを生成するシステム及び方法に関する。
拡張現実は、現実の拡張バージョンであり、そこでは、現実世界の物理的な環境のライブの直接的又は間接的なビューが、現実世界のユーザのビューに重ね合わされたコンピュータ生成画像によって拡張されている。場合によって、拡張現実には、視覚、聴覚、触覚、体性感覚、嗅覚などの複数の感覚モダリティにわたってコンピュータにより生成された知覚情報が含まれる。拡張現実は、ある人の現在の現実知覚を強化することができる。
機械学習では、統計的手法を用いて、明示的にそのようにプログラムされていなくても、コンピュータに、データを用いて特定のタスクを実行するように学ばせる。機械学習の目標は、データから学習し、かつデータを予測することができるアルゴリズムを構築することである。これらのアルゴリズムは、データを分類することができる数学的モデルを作成することによって機能する。モデルを作成するプロセスには、入力データを用いてモデルパラメータをトレーニングして微調整することが含まれ得る。
拡張現実は、子供たちがそれらの周囲環境と対話し、創造的感覚を強化し、オブジェクトを探索するために、独特の学習と娯楽のツールを提供する。具体的には、拡張現実を用いて、(例えば、リアルタイムで)キャプチャされている環境画像のディスプレイ上に仮想オブジェクト(又は拡張現実オブジェクト)を重ね合わせることができる。例えば、スマート装置(例えば、スマートフォン、タブレット、スマートグラス、ウェアラブル装置など)のユーザは、スマート装置のカメラを用いて、ユーザの周囲のビデオをキャプチャすることができ、スマート装置(例えば、スマート装置上で実行されている拡張現実アプリケーション)は、スマート装置によってキャプチャされている画像上に仮想オブジェクト(例えば、拡張現実オブジェクト)を重ね合わせることができる。
仮想オブジェクトは、子供の周囲環境にある実際のオブジェクト、例えば床上のチョーク画に基づいて選択できる。アプリケーションは、アイテムを選択する際に、他の要素、例えばユーザのプロファイル及び地理位置情報、並びにアプリケーションのユーザによってダウンロードされた特徴(例えば、キャラクター、アクセサリ、マスク、アバターなど)を考慮する場合がある。アプリケーションにより、子供は、オブジェクトをカスタマイズして特徴をオブジェクトに追加することにより、仮想オブジェクトと対話することができる。1つの例示的な実施形態では、ユーザは、仮想オブジェクトとの自分自身の対話を記録することができ、アプリケーションは、この対話をソーシャルメディアアプリケーションに投稿することができる。拡張現実アプリケーションは、子供が他の方法で見たり体験したりすることができない仮想オブジェクトの特徴及び機能を表示することができる。したがって、仮想オブジェクトは、ユーザの学習体験を強化することができる。
この発明の概要は、以下の発明を実施するための形態において更に説明される簡略化の形式で概念の選択を紹介するために提供される。この発明の概要は、特許請求の範囲に記載の主題の重要な特徴又は本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題の範囲を決定する補助として用いられることを意図していない。
付加的特徴及び利点は、以下の説明に記載され、部分的に、以下の説明から明らかになるか、又は本明細書の教示の実践により学習され得る。本発明の特徴及び利点は、添付された特許請求の範囲で特に指摘された手段及び組み合わせによって実現されて取得され得る。本発明の特徴は、以下の説明及び添付された特許請求の範囲からより完全に明らかになるか、又は以下に説明される本発明の実施により学習され得る。
上記及び他の利点及び特徴が取得される方法を説明するために、添付された図面に示される特定の実施形態を参照して、以上に簡単に説明された主題をより詳細に説明する。これらの図面は、典型的な実施形態のみを示すため、範囲を限定するものと考えられないことが理解され、添付図面を使用して追加の特異性及び詳細によりそれらの実施形態を説明する。
本発明の様々な特徴を説明するために、本発明の例示的な実施形態について説明する。本明細書に記載される実施形態は、本発明の範囲を限定することを意図するものではなく、むしろ本発明のコンポーネント、使用及び動作の例を提供することを意図するものである。
本開示は、スマート装置のカメラによって写真又はビデオフィードを記録し、写真及び/又はビデオフィード上に様々な仮想オブジェクト(例えば、アニメーション)を表示することができるスマート装置アプリケーションプログラムに関する。仮想オブジェクトを重ね合わせる前に写真及び/又はビデオに現れたオブジェクトに応じて、アプリケーションは、ビデオフィード上に表示されるオブジェクト及びオブジェクトの機能の選択を決定することができる。1つの例示的な実施形態では、ユーザは、床上のチョーク画のスナップ写真を撮り、チョーク画によって描かれたオブジェクトに基づいて選択されたアニメーションを表示することができる。このアプリケーションにより、ユーザは、アニメーションと対話することができる。また、このアプリケーションにより、ユーザは、アプリケーションとの対話を記録し、その対話をソーシャルメディアプラットフォームに投稿することができる。
図1は、拡張現実アプリケーション(「アプリケーション」)の例示的なアカウントログインページ110を示している。アカウントログインページ110により、ユーザは、アプリケーションにアクセスすることができる。アプリケーションは、スマート装置100のディスプレイにユーザインターフェース101を表示するように構成されてもよい。アカウントログインページ110は、ユーザ名を受信するためのフィールド111と、パスワードを受信するためのフィールド112と、アカウントにログインするためのログインボタン114とを含んでもよい。また、ページ110は、ユーザ名又はパスワードを入力せずにアプリケーションの拡張現実機能にアクセスするためのボタン113を含んでもよい。1つの例示的な実施形態では、ユーザ名及びパスワードを用いてアプリケーションにアクセスすると、アプリケーションがユーザのプロファイルにアクセスすることにより、ユーザ向けにカスタマイズされた特徴及び設定を表示することができる。しかしながら、別の例示的な実施形態では、ユーザは、ユーザ名又はパスワードなしでアプリケーションにアクセスすることができる。
図2は、アプリケーションの例示的なホームページ210を示している。ホームページ210により、ユーザは、アプリケーションの拡張現実機能にアクセスし、ユーザのプロファイルへの編集を可能にするページにナビゲートすることができる。ホームページ110は、ユーザの名前を受信するためのフィールド211と、テーマを受信するためのフィールド212と、ユーザのプロファイルを編集するためのボタン213と、アプリケーションの拡張現実機能をアクティブにするためのボタン214とを含んでもよい。ユーザの名前を入力すると、アプリケーションがユーザの名前を表示及び/又は発音するため、仮想オブジェクトをユーザに表示する場合にユーザがよりパーソナライズされた体験を楽しむことができる。例えば、ユーザインターフェース101に表示されるアニメーションフィギュアは、ユーザと話したり、ユーザからコマンドを受け取ったりする前に、ユーザの名前をアナウンスすることができる。ユーザは、フィールド212にテーマを入力することができる。テーマを入力すると、ユーザは、対話したい仮想オブジェクト(及び/又は機能)のサブセットを特定することができる。例えば、1つの実施形態では、テーマは、科学又は娯楽であってもよい。テーマとして科学を選択することに応答して、アプリケーションは、科学関連の仮想オブジェクト、例えば化合物を検索して表示することができ、また、娯楽テーマを選択することに応答して、アプリケーションは、アニメのキャラクターを検索して表示することができる。一例では、検索機能は、スマート装置のカメラで写真をスキャンすることによってトリガーされる。
1つの例示的な実施形態では、アプリケーションは、一連のテーマを記憶し、そしてテーマごとに一連のオブジェクト及び仮想現実応答を規定してもよい。例えば、娯楽テーマの場合、アプリケーションは玩具を記憶し、仮想現実応答には、オブジェクト及び/又はオブジェクトに追加されたカスタマイズされたアクセサリを含むアニメーションが含まれてもよい。アプリケーションは、写真又はビデオを受信し、写真又はビデオにおける1つ以上のオブジェクトを検出するように構成されてもよい。アプリケーションは、検出されたオブジェクトに基づいて、仮想現実応答をトリガーすることができる。仮想現実応答は、アニメーション、アクセサリオブジェクトなどの表示を含んでもよい。1つの例示的な実施形態では、アプリケーションは、ユーザのプロファイル、ユーザから受信した地理位置情報データ、スマート装置が位置する環境の温度又は湿度、スマート装置によって検出された速度、加速度及び/又はGPS位置、スマート装置によって検出された顔又は指紋、スマート装置によって検出されたセルラー信号の強度、スマート装置によって検出された背景音楽、可聴音又は非可聴音などに基づいて、アニメーション及び/又はアクセサリオブジェクトを変更することができる。一例では、ウサギの絵を検出すると、アプリケーションは、仮想現実応答、例えばウサギが歩いていることを表示するアニメーションをトリガーすることができる。スマート装置の速度が例えば20マイル/時間より速いことを検出すると、アプリケーションは、車で」運転しているウサギを表示することができる。同様に、検出された湿度が閾値を超えている場合、又は国家気象局からのデータが、雨が降っていることを示している場合、アプリケーションは、アニメーションにおいて雨滴を表現することができる。別の例として、アプリケーションは、天気が雨であることを検出すると、ユーザに傘を手に入れるよう促すことができる。例えば、アプリケーションは、ユーザをオンラインアプリストアに誘導してアクセサリとして傘を手に入れる。
一例では、バーコード又はオブジェクト(例えば、ショッピングカート)を検出すると、アプリケーションは、仮想現実応答をトリガーし、例えば、店舗内を走っていたり及び/又は歩いていたりするアニメーションキャラクターを表示することができる。1つの例示的な実施形態では、ユーザは、店舗内でバーコード(又はオブジェクト又はブランド)をスキャンすることができ、アプリケーションは、店舗の特定の製品を展示する区域にユーザを案内することができる。例えば、バーコードを検出すると、アプリケーションは、名前、住所、販売者IDなどの店舗に関する情報を受信することができる。アプリケーションは、店舗に関する情報を記憶するセントラルサーバに信号を送信することができる。信号には、店舗及び/又は特定の製品又はメーカーに関する情報が含まれ得る。セントラルサーバは、店舗の屋内地図、各製品がどこにあるかのデータベースなどの情報を記憶することができる。セントラルサーバは、この情報、例えば屋内地図及び/又は製品の屋内位置又はメーカーの製品をスマートフォンに送信することができる。アプリケーションは、ナビゲーション戦略を考案し、製品を含む区域にユーザを案内することができる。例えば、アプリケーションは、この店舗の区域に向かって歩くアニメーションキャラクターを表示することができる。また、アプリケーションは、ユーザに1つ以上の製品を表示して購入させることもでき、例えば、ユーザがメーカーの製品を含む区域に到着すると、アプリケーションは、ユーザのプロファイルに基づいて、1つ以上の製品を推奨することができる。一例では、アプリケーションは、三角測量技術を用いて、店舗内のスマート装置の位置を決定することができる。
一例では、アプリケーションは、店舗で検出された非可聴音に基づいて製品又は割引を推奨することができる。アプリケーションは、非可聴音を受信し、その音に含まれるメッセージを検出することができる。アプリケーションは、このメッセージに基づいて、製品を推奨することができる。或いは、アプリケーションは、メッセージ(及び/又はユーザのプロファイル)をセントラルサーバに送信し、セントラルサーバからの応答に基づいて製品を決定することもできる。セントラルサーバは、メッセージ(例えば、10%割引)又はユーザのプロファイル(例えば、5歳の女の子)に基づいて、1つ以上の製品を検索して、ユーザに推奨する製品を識別することができる。
1つの例示的な実施形態では、ユーザをプロファイルに関連付けてもよい。アプリケーションは、ユーザのプロファイルに含まれる情報を用いて、ユーザの予期される好みにマッチングする仮想オブジェクト(及び/又は機能又は仮想現実応答)を選択することができる。例えば、年少のユーザ、例えば、3歳のユーザに対して、アプリケーションは、簡単な科学実験を推奨することができる一方、年上のユーザ、例えば、10歳のユーザに対して、アプリケーションは、複雑な科学実験を推奨することができる。別の例として、アプリケーションは、ユーザのプロファイル(及び/又は地理位置情報)に基づいて、アニメーションフィギュアがユーザと話をするための言語とアクセントを選択することができる。一例では、プロファイルには、名前、性別、年齢、体重、身長、言語、住所、クレジットカード情報などの、経歴情報、生体認証情報及び/又は財務情報が含まれてもよい。別の例として、プロファイルには、ユーザのアプリケーションとの対話、例えば、ユーザの以前の選択、スナップされた写真、命令された検索、購入などに関する情報が含まれてもよい。1つの例示的な実施形態では、ユーザは、ボタン213を押すことにより、ユーザのプロファイルに含まれる情報を編集又は更新することができる。ユーザのプロファイルは、スマート装置100にローカルに記憶されるか又はサーバに記憶されてもよい。1つの例示的な実施形態では、ユーザがログインした後でのみ、ユーザのプロファイルにアクセスすることができる(そして、アプリケーションがプロファイルに基づいてユーザの体験をカスタマイズすることができる)。別の例では、アプリケーションは、ユーザのログインを必要とせずにユーザのプロファイルを維持又は取得することができる。
1つの例示的な実施形態では、アプリケーションは、機械学習モデルを用いて、ユーザが興味のあり得るキャラクター、仮想現実オブジェクト、仮想現実応答及び仮想現実アクセサリの種類を予測することができる。例えば、セントラルサーバは、複数のアプリケーション又はスマート装置からデータを受信することができる。データには、ユーザプロファイル情報、及び各アプリケーションとのユーザ対話情報が含まれてもよい。セントラルサーバは、これらの情報に基づいて、ユーザが興味のあり得るキャラクター、仮想現実オブジェクト、仮想現実応答及び仮想現実アクセサリを予測することができる分類モデルをトレーニングすることができる。セントラルサーバは、分類モデルをスマートフォンに送信することができ、アプリケーションは、その分類モデルを用いて、キャラクター、仮想現実オブジェクト、仮想現実応答及び仮想現実アクセサリをユーザに推奨することができる。
1つの例示的な実施形態では、ボタン214を押すことにより、アプリケーションは、拡張現実機能をアクティブにすることができる。図3は、アプリケーションの例示的な拡張現実ページ310を示している。ユーザがこのページにアクセスすると、スマート装置100のカメラが起動し、拡張現実ページ310上で、ユーザインターフェースは、スマート装置のカメラから受信したビデオフィード311又は一連の画像を表示することができる。ユーザインターフェースは、カメラが受信したビデオフィード311又は一連の画像を表示することができる。1つの例示的な実施形態では、アプリケーションは、ビデオフィードにおける絵314又はオブジェクトを検出することができ、ユーザインターフェースは、ビデオフィード又は一連の画像上に仮想オブジェクト(例えば、絵、形状又はアニメーション)を重ね合わせることができる。1つの例示的な実施形態では、このページにより、ユーザは写真を撮ることもできる。例えば、ビデオフィード又は一連の画像を表示している間、ページは、ビデオセグメント又は写真を撮るためのボタン313を含んでもよい。ビデオセグメント又は写真を撮ると、アプリケーションは、写真内の絵314又はオブジェクトを識別し、絵又はオブジェクトの識別に基づいて仮想オブジェクトを表示することができる。
1つの例示的な実施形態では、拡張現実ページ310は、ターゲット312を含んでもよい。ターゲット312は、拡張現実ページ310上に表示されて、地平面上又は空間中の特定の位置にあるスマートフォンを向けるようにユーザを案内することにより、オブジェクト又は絵314を検出するタスクを容易にするポインタであってもよい。例えば、ターゲット312は、円形の形状を有してもよく、アプリケーションは、オブジェクト又は絵314がターゲット312内に収まるように、ユーザがスマートフォンを絵に向けることを提案することができる。このようにユーザにスマートフォンを絵に向けるよう要求することにより、アプリケーションのオブジェクトの検出タスクを簡素化することができる。
1つの例示的な実施形態では、ユーザが写真をキャプチャしたが、ターゲット312内に絵がない場合、又はターゲット312内に絵の一部のみがある場合、アプリケーションは、エラー(例えば、「オブジェクトが検出されない」、「オブジェクトの一部のみが検出される」)を表示することができる。この例では、ユーザが写真をキャプチャすると、アプリケーションは、オブジェクトの検出を試みることができる。オブジェクトが検出されない場合、又はオブジェクトが検出されたが、検出の信頼率が閾値未満である場合、アプリケーションは、エラー信号を表示することができる。
1つの例示的な実施形態では、アプリケーションは、スマート装置のユーザインターフェース上に表示されるビデオフィード(例えば、ストリーミング画像データ)における地平面を検出することができる。この検出により、アプリケーションは、拡張現実オブジェクトを地平面に配置することができる。地平面を検出するには、様々な技術が考えられる。1つの技術では、アプリケーションは、ビデオにおける平面上のいくつかの点を検出し、それらの点が同じ特徴を持つ場合、その平面を地平面として認識することができる。具体的には、視覚処理による特徴抽出を用いて、アプリケーションは、画像における特定の特徴を抽出し、抽出された特徴を用いて同一平面上にある特定の点を確立することができる。アプリケーションは、抽出された点が同一平面上にあることを確立した場合、これらの点が位置する平面が地平面であることを確立することができる。特徴点のグループ化とスマートフォンの指向は、地平面の決定に役立つ。スマート装置のセンサの一部もこのプロセスに利用することができる。例えば、加速度計とジャイロスコープは、アプリケーションにデータを提供して、地平面の検出を容易にすることができる。1つの例示的な実施形態では、アプリケーションは、仮想現実オブジェクト及び仮想現実応答を地平面の視覚的表現に表示することができる。
別の技術では、アプリケーションは、スマート装置によってキャプチャされている画像における水平面を識別することができる。アプリケーションは更に、水平面のサイズを決定することができ、水平面のサイズが閾値を満たすことを決定することができる。水平面のサイズに基づいて、スマート装置は、水平面を地平面として指定し、地平面として指定された水平面に対して拡張現実オブジェクトの表現を画像に重ね合わせることができる。
いくつかの実施形態では、ユーザは、スマート装置をオブジェクトに向ける前に、地平面を確立する必要がある場合がある。具体的には、これらの実施形態では、ユーザは、スマート装置をオブジェクトに向ける前に、スマート装置を地面に向けることができる。ユーザが最初にスマート装置を地面に向けない場合、ユーザインターフェースは、地平面を確立するようにユーザを要求するメッセージを表示することができる。
追加の地平面検出技術は、米国特許出願第15/850234号(現在の米国特許第10026209号)に記載されており、それは、参照により本明細書に組み込まれるものとする。
1つの例示的な実施形態では、アプリケーションは、スマート装置(例えば、スマートフォン)と地平面上の点との間の距離を決定することができる。距離を決定するには、様々な技術を使用することができる。例えば、ユーザがスマートフォンを地面に向けると、アプリケーションは、スマートフォンから出ている仮定の垂直な線又は平面が地面に当たるか又は地平面と交差する地面上の点を決定することができる。この垂直な線又は平面は、カメラの視野の中心点又は画像データの中心点に対応し得る。この点(例えば、地平面が仮定の地平面と交差する点)は、交点と呼ばれてもよい。アプリケーションは、交点及びスマート装置の座標を決定することにより、2つの点の間の距離を決定することができる。交点は、上述したように規定されるが、当業者であれば、交点を規定するには多くの異なる方法があることを認識するであろう。例えば、前述の仮定の線は、スマートフォンに対して垂直である必要がない。一例では、交点とは、ターゲット312の中心点に対応する、スマートフォンの周囲環境内の位置を指すことができる。
1つの例示的な実施形態では、地平面を決定した後、ユーザは、スマートフォンをオブジェクト又は絵に向けることができる。アプリケーションは、スマート装置とオブジェクト又は絵上の交点との間の距離を決定することができる。一例では、アプリケーションは、オブジェクト及び/又は絵を識別し、検出されたオブジェクトに基づいてディスプレイに仮想オブジェクトを表示することができる。
1つの例示的な実施形態では、アプリケーションは、スマート装置と交点(又はオブジェクト又は絵)との間の距離を用いて、仮想現実オブジェクト及び/又は応答のためのサイズを決定することができる。例えば、交点が近い場合、例えば5フィート以内の場合、アプリケーションは、仮想現実オブジェクト及び/又は応答を大きなサイズで表示することができる一方、距離が5フィートを超える場合、アプリケーションは、仮想現実オブジェクトを小さなサイズで表示することができる。
本開示では、アプリケーション(又はユーザ)がオブジェクトの写真を撮るか、又はアプリケーションが画像データ、ビデオフィード若しくはビデオストリームを受信する様々な実施形態について説明した。当業者であれば、写真が画像データであってもよいことと、ビデオフィード又はビデオストリームも画像データを含んでもよいこととを認識する。更に、ビデオフィード又はビデオストリームには、複数の写真(又はフォトフレーム)が含まれてもよい。追加的に、写真又は画像データには、単一の静止画像キャプチャ又はストリーミング画像データ(ビデオフィード又はビデオストリーム)のキャプチャフレームが含まれてもよい。
(機械学習モデル及びオブジェクト認識)
1つの例示的な実施形態では、ユーザがスナップ写真を撮った後、又は画像をキャプチャした後、アプリケーションは、写真の画像データを機械学習又は予測モデルにフィードすることができる。1つの実施形態では、アプリケーションは、写真をモデルにフィードする前に、写真の一部をトリミングすることができる。例えば、アプリケーションは、画像の中央部の3分の1のみを含むように画像の中央部分をトリミングすることができる。別の例として、アプリケーションは、ターゲットの外にあるピクセルを除外してもよい。
1つの例示的な実施形態では、ユーザがスナップ写真を撮った後、又は画像をキャプチャした後、アプリケーションは、写真の画像データを機械学習又は予測モデルにフィードすることができる。1つの実施形態では、アプリケーションは、写真をモデルにフィードする前に、写真の一部をトリミングすることができる。例えば、アプリケーションは、画像の中央部の3分の1のみを含むように画像の中央部分をトリミングすることができる。別の例として、アプリケーションは、ターゲットの外にあるピクセルを除外してもよい。
1つの例示的な実施形態では、機械学習モデルは、絵及び/又はオブジェクトを識別するように設計されてもよい。この例示的な実施形態では、オブジェクトの多くの写真を用いてモデルをトレーニングすることができる。例えば、家庭内にある絵又はオブジェクトを識別するように機械学習モデルをトレーニングすることができる。写真がモデルに提供されると、モデルは、1つ以上の識別名と、各識別名のその識別に関連付けられた確率値を返信することができる。例えば、モデルは、絵にアーミン(Armin)と名付けられたアニメのキャラクターが80%可能性で表示されていると決定することができる。更に、確率が閾値を超えている場合、アプリケーションは、検出された絵の名前を表示してもよい。別の例として、モデルは、オブジェクトが68%の可能性で玩具の銃であると決定することができる。この例では、確率が閾値を下回っているため、アプリケーションは、検出されたオブジェクトの名前を表示しない。
一例では、モデルがオブジェクトを識別することができない場合、又はモデルがオブジェクトを識別する確率が低すぎる場合、エラーがユーザに表示される。別の例では、モデルがオブジェクトを識別できない場合、又はオブジェクトを識別する確率が低すぎる場合、アプリケーションは、アニメーションなどの所定の仮想オブジェクトをユーザに提示することができる。一例では、本開示の機械学習モデルは、スマート装置に記憶されてもよい。しかしながら、いくつかの実施形態では、モデルを別の装置に記憶されてもよく、スマート装置は、識別のために写真又はビデオを他の装置に送信してもよい。スマート装置は、他の装置から識別情報を受信するように構成される。
1つの例示的な実施形態では、写真(又はビデオ)の画像データを機械学習モデルにフィードする前に、アプリケーションは、画質が満足できないか否かを示すことができる。例えば、カメラがキャプチャしているビデオ又はストリーミング画像に光又はまぶしさが多すぎる場合、アプリケーションは、ユーザがカメラを移動させるか又は別の方向に向ける必要があることをユーザに示すことができる。別の例として、カメラがオブジェクトに近づきすぎるため、オブジェクトがターゲット又はスマート装置のディスプレイに収まらない場合、アプリケーションは、通知を表示することができる。
図4は、例示的な実施形態に係る、通知を表示するアプリケーションの拡張現実ページ310を示している。この例示的な実施形態では、まず、ユーザは、スマート装置100を地面上の絵に向ける。アプリケーションは、地平面を定め、地面上の交点の座標を検出する。アプリケーションは、スマート装置と交点との間の距離も決定する。アプリケーションは、ターゲット312における絵又はオブジェクトを検出する。アプリケーションは、絵314の一部のみがターゲット312内に表示されると決定することができる。したがって、アプリケーションは、警告メッセージを含む通知411をユーザインターフェース101に表示することができる。一例では、絵全体がターゲット内に表示されるようにユーザがスマート装置を移動させると、アプリケーションは、オブジェクト認識ルーチンを実行することができる。
1つの例示的な実施形態では、アプリケーションは、オブジェクト認識機能を実行してもよい。アプリケーションは、オブジェクト全体がユーザインターフェース(又はターゲット)に表示されていないこと、又はオブジェクトが識別に対して最適ではない方向を向いていることを検出した場合、角度を切り替えることをユーザに通知することができる。例えば、アプリケーションは、子供の玩具の画像をキャプチャし、少なくとも玩具のメーカーとモデルを識別するように実装されてもよい。玩具の画像を送信する前に、アプリケーションは、玩具がフレーム内にあるか否かを決定する。アプリケーションは、フレーム内に玩具を検出しない場合、ユーザにエラーメッセージを表示することができる。アプリケーションは、フレーム内に玩具を検出した場合、玩具のどちらの側面がフレーム内にあるかを決定することができる。いくつかの実施形態では、モデルは、玩具箱のフロントカバーの画像データに基づいて、キャプチャされた玩具を最も正確かつ効率的に識別することができる。アプリケーションは、ユーザが玩具箱の側面からスマート装置を向けていると決定した場合、玩具箱のより良いショットをキャプチャすることができるように、玩具箱の周りでスマート装置を移動することをユーザに通知することができる。ユーザが玩具箱の所望の側面、例えばフロントカバーなどに移動すると、アプリケーションは次のステップに進むことができる。
(仮想オブジェクトの選択)
1つの例示的な実施形態では、絵又はオブジェクトのアイデンティティーを決定した後、アプリケーションは、識別された絵又はオブジェクトに応答して実行する動作(例えば、仮想現実応答)を決定するために検索を実行することができる。アプリケーションは、スマート装置のメモリを検索し、識別された絵又はオブジェクトにマッチングする単語でタグ付けされたアニメーションを取得することができる。例えば、絵内に犬(dog)を識別することに応答して、アプリケーションは、犬が頭を上下にうなずいているアニメーションを取得することができる。アニメーションをビデオフィードに重ね合わせることができる。別の例として、アプリケーションは、検索クエリをサーバに送信し、識別された絵又はオブジェクトにマッチングする単語でタグ付けされたアニメーションをサーバから受信することができる。アプリケーションは、このアニメーションをユーザに表示することができる。
1つの例示的な実施形態では、絵又はオブジェクトのアイデンティティーを決定した後、アプリケーションは、識別された絵又はオブジェクトに応答して実行する動作(例えば、仮想現実応答)を決定するために検索を実行することができる。アプリケーションは、スマート装置のメモリを検索し、識別された絵又はオブジェクトにマッチングする単語でタグ付けされたアニメーションを取得することができる。例えば、絵内に犬(dog)を識別することに応答して、アプリケーションは、犬が頭を上下にうなずいているアニメーションを取得することができる。アニメーションをビデオフィードに重ね合わせることができる。別の例として、アプリケーションは、検索クエリをサーバに送信し、識別された絵又はオブジェクトにマッチングする単語でタグ付けされたアニメーションをサーバから受信することができる。アプリケーションは、このアニメーションをユーザに表示することができる。
一例では、アプリケーションは、仮想現実オブジェクト及び/又はアニメーションを選択する際に、オブジェクトの識別情報に加えて、他の要素を考慮してもよい。例えば、アプリケーションは、仮想現実オブジェクト及び/又はアニメーションを検索する際に、速度、加速度、顔識別情報、指紋識別情報、地理位置情報、時間、天気情報、プロファイル情報などのデータポイントを受信してもよい。一例では、アプリケーションは、これらの要素にマッチングする(例えば、速度及び湿度が閾値を超える)アニメーションのみを表示するか、或いはこのようなアニメーションのみをセントラルサーバから取得するように構成される。この例では、速度と湿度が閾値を超える場合、アプリケーションは、例えば、雨が降っているときに車に乗っている犬を表示することができる。別の例では、アプリケーションは、要素にマッチングするように仮想現実オブジェクト及び/又はアニメーションを変更するように構成される。例えば、アプリケーションは、動いている犬のアニメーションを記憶することができる。しかしながら、速度が閾値を超える場合、アプリケーションは、犬が車に乗っていると表示することができる。
図5は、例示的な実施形態に係る、仮想オブジェクトを表示するアプリケーションの拡張現実ページ310を示している。この例示的な実施形態では、ユーザは、スマート装置100を絵314に向けることができる。その後、ユーザは、キャプチャボタン313を押すことができ、それに応答して、アプリケーションは、ビデオセグメントを記録することができる。アプリケーションの機械学習モデルは、キャプチャされたビデオセグメントを分析し、ターゲット312に犬が表示されていると決定することができる。それに応答して、アプリケーションは、頭をうなずいているアニメの犬を描いている仮想オブジェクト511を取得することができる。アプリケーションは、ビデオフィード311上に仮想オブジェクトを重ね合わせることができる。
1つの例示的な実施形態では、スマート装置のアプリケーションは、拡張現実ページ310でスキャンされた絵(及び/又はユーザのプロファイル又はユーザによって規定されたテーマ)に基づいて、仮想オブジェクトを決定することができる。別の例示的な実施形態では、スマート装置と通信するサーバは、仮想オブジェクトを決定することができる。例えば、アプリケーションは、サーバに信号を送信し、それに応答して、サーバは、仮想オブジェクトをスマート装置に送信することができる。更に別の例示的な実施形態では、スマート装置とサーバは、共同して仮想オブジェクトを決定することができる。例えば、アプリケーションは、ビデオストリームのビデオスニペットをサーバに送信することができる。サーバは、ビデオストリームに基づいて、仮想オブジェクトのテーマを決定することができる。サーバは、テーマをスマート装置に送信することができ、スマート装置は、テーマ(及び/又はユーザのプロファイル)に基づいて仮想オブジェクトを決定することができる。1つの例示的な実施形態では、アプリケーションは、スマート装置で検出されたデータポイント、例えば速度又は湿度に基づいて、テーマを自動的に決定することができる。更に別の例では、アプリケーションは、セントラルサーバから受信したデータ、例えば天気予報に基づいて、テーマを決定することができる。
1つの例示的な実施形態では、スマート装置のアプリケーション又はサーバは、オブジェクト認識モジュールを含んでもよい。例えば、モジュールは、スマート装置のカメラからビデオフィードを受信し、ビデオフィードにおける1つ以上のオブジェクトを決定することができる。スマート装置のアプリケーション又はサーバは、ターゲットに表示されているオブジェクトのアイデンティティー及びビデオフィードにおいて検出された他のオブジェクトに基づいて、仮想オブジェクトを決定することができる。例えば、オブジェクト認識モジュールは、ターゲット312内の犬を検出することができる。オブジェクト認識モジュールは、ユーザの環境内においてドア、カーペット、テーブル、椅子などのいくつかの屋内オブジェクトも識別することができる。アプリケーション又はサーバは、犬に関連する拡張現実オブジェクト及びこれらの屋内オブジェクト、例えば屋内の犬玩具を表示することを決定することができる。別の例として、オブジェクト認識モジュールは、木を検出することができ、スマート装置のアプリケーション又はサーバは、犬用の屋外玩具を表示することを決定することができる。
1つの例示的な実施形態では、スマート装置のアプリケーション又はサーバは、シーン認識モジュールを含んでもよい。例えば、モジュールは、スマート装置のカメラからビデオフィードを受信することができる。1つの実施形態では、カメラは、ユーザがモジュールへのビデオフィードの提供に気づかないように、バックグラウンドにおいてモジュールにビデオフィードを提供する。モジュールは、このビデオを分析し、このビデオフィードにおいて提供されるシーンを決定することができる。例えば、1つの実施形態では、モジュールは、シーンがビーチを描いていると決定することができる。モジュールは、この情報をスマート装置のアプリケーションに提供することができ、アプリケーションは、ビーチに関連する拡張現実オブジェクト、例えばボート又は旗を表示することを決定することができる。別の例として、モジュールは、シーンが屋内ショッピングエリアであると決定することができる。モジュールによるこの決定に応答して、アプリケーションは、ショッピングカートを拡張現実オブジェクトとして表示することができる。
1つの例示的な実施形態では、スマート装置のアプリケーションは、スマート装置の位置を決定するモジュールを含んでもよく、アプリケーション又はサーバは、スマート装置の位置(及び/又は他の基準)に基づいて仮想オブジェクトを決定することができる。例えば、アプリケーションは、スマート装置で受信したGPS信号に基づいて、スマート装置の位置を決定することができる。別の例として、アプリケーションは、屋内位置で受信したWi-Fi信号に基づいて、スマート装置の位置を決定することができる。更に別の例として、アプリケーションは、スマート装置で検出された非可聴信号に基づいて、スマート装置の位置を決定することができる。アプリケーション又はサーバは、位置情報を用いて、仮想オブジェクトを決定することができる。例えば、アプリケーションは、ユーザがレストランにいると決定した場合、レストランに関連する拡張現実オブジェクト、例えば様々な種類の食べ物を表示することを選択することができる。
1つの例示的な実施形態では、仮想オブジェクトを決定する際に、アプリケーションは、位置ベースのデータ(及び/又は他の基準)を用いることに加えて、スマート装置によって提供される感覚情報を用いることができる。例えば、スマート装置は、コンパス、ジャイロスコープ、加速度計を利用して、人間チャレンジの構成要素を決定するためのデータを提供することができる。その後に、このデータにより、例えば、ユーザが道路のどちらの側を向いているかに応じて、どの拡張現実オブジェクトがユーザに表示されるかを決定する。
(仮想オブジェクトの機能)
1つの例示的な実施形態では、ユーザは、仮想オブジェクトと対話することができる。ユーザが仮想オブジェクトと対話するには、様々な技術が考えられる。例えば、ユーザは、仮想オブジェクトをタップ又はクリックすることができる。別の例として、ユーザは、仮想オブジェクトの周りに円を描くことができる。更に別の例として、ユーザは、仮想オブジェクトと別のオブジェクトとの間の接続を描くことができる。例えば、ユーザは、指を第1の仮想オブジェクトから別の仮想オブジェクトに移動させることで、仮想オブジェクトを別のオブジェクトに接続することができる。
1つの例示的な実施形態では、ユーザは、仮想オブジェクトと対話することができる。ユーザが仮想オブジェクトと対話するには、様々な技術が考えられる。例えば、ユーザは、仮想オブジェクトをタップ又はクリックすることができる。別の例として、ユーザは、仮想オブジェクトの周りに円を描くことができる。更に別の例として、ユーザは、仮想オブジェクトと別のオブジェクトとの間の接続を描くことができる。例えば、ユーザは、指を第1の仮想オブジェクトから別の仮想オブジェクトに移動させることで、仮想オブジェクトを別のオブジェクトに接続することができる。
例えば、上述したように、コマンドを受信することに応答して、アプリケーションは、仮想オブジェクトとの対話のタイプを選択するためのページを表示することができる。図6は、仮想オブジェクトとの対話のタイプを特定するための例示的な対話ページ610を示している。図7は、対話ページ610で要求される例示的な対話の実装を示している。この例示的な実施形態では、対話ページ610には、仮想オブジェクトにアクセサリを追加するためのボタン611と、キャラクターをダウンロードするためのボタン612と、環境からのオブジェクトを追加するためのボタン613と、仮想キャラクターをトレーニングするためのボタン614とが含まれてもよい。
アクセサリを仮想オブジェクトに追加するためのボタン611を押すことに応答して、仮想オブジェクトをカスタマイズするための1つ以上のオプションをユーザに促すことができる。例えば、ボタン611を押すことによって、アプリケーションは、仮想オブジェクト511の色(例えば、グレー)を選択するか又は仮想オブジェクトにアイテム又は衣料品(例えば、犬の首輪)を追加するようにユーザに促すことができる。図7は、仮想オブジェクト711に追加されたカスタマイズオブジェクト711を示している。この例では、仮想オブジェクト711は、犬の首輪である。1つの例示的な実施形態では、アプリケーションは、これらの仮想オブジェクトを記憶するライブラリを提供することができる。ユーザは、これらの仮想オブジェクトをセントラルサーバからダウンロードするか又はスマート装置のユーザインターフェースにおいてこれらの仮想オブジェクトを作成し、例えば、絵を作成することによって、これらの仮想オブジェクトを収集することができる。仮想オブジェクトをカスタマイズしようとする場合、ユーザは、ライブラリに記憶されているカスタマイズオブジェクトの1つを選択し、仮想オブジェクトに追加することができる。
キャラクターをダウンロードするためのボタン612を押すことに応答して、1つ以上の仮想オブジェクトを選択し、アプリケーションストアからダウンロードするようにユーザに促すことができる。ダウンロードされた各仮想オブジェクトは、1つ以上のタグに関連付けることができる。これにより、写真又はビデオにおけるマッチングするアイテムに応答して、ダウンロードされた仮想オブジェクトの選択が容易になる。例えば、ボタン612を押すことによって、アプリケーションは、アプリケーションストアを表示し、ダウンロードのために子犬(puppy)のキャラクターを選択することができる。仮想オブジェクトをダウンロードすると、アプリケーションは、仮想オブジェクト511に関連するか又はスキャンされた写真若しくはビデオに応答するたびに、ダウンロードされた仮想オブジェクトを表示することができる。図7は、拡張現実ページ310に追加されたダウンロードされた仮想オブジェクト712を示している。この例では、ダウンロードされた仮想オブジェクト712は、子犬である。1つの例示的な実施形態では、仮想オブジェクト及び/又はダウンロードされた仮想オブジェクトのために所定の一連の反応及び結果を規定することができ、このように、ダウンロードされた仮想オブジェクトが仮想オブジェクトの隣に追加されるか又は仮想オブジェクトと同じページに追加された場合、仮想オブジェクト及び/又はダウンロードされた仮想オブジェクトは、所定の一連の反応及び結果を生成することができる。例えば、この場合、子犬712が拡張現実ページ310に追加された場合、犬511と子犬712の両方が吠え始めることができる。一例では、ダウンロードされた仮想オブジェクトは、ライブラリに記憶され、ライブラリからアクセスされ得る。
環境からオブジェクトを追加するためのボタン613を押すことに応答して、ユーザにカメラのライブフィードを促すことができる。このモードでは、ユーザは、アイテムを選択することができ、アプリケーションは、このアイテムの写真(又は機械学習モデルによって決定されたアイテムに関連付けられた絵)をユーザのプロファイル(又はライブラリ)に追加することができる。例えば、ボタン613を押すことによって、アプリケーションは、ビデオフィードにおけるオブジェクトを選択するようにユーザに促すことができる。1つの例示的な実施形態では、ユーザは、(例えば、オブジェクトの周りに円を描くことによって又はオブジェクトをクリックすることによって)骨を選択することができる。その後、アプリケーションは、ユーザのプロファイル(又はライブラリ)に骨を追加し、仮想オブジェクトに関連付けられた骨を表示することができる。図7は、仮想オブジェクト711に関連付けられた選択されたアイテム713を示している。この例では、選択されたアイテム713は、骨である。1つの例示的な実施形態では、仮想オブジェクト及び/又は選択されたアイテムのために所定のセットの反応及び結果を規定することができ、このように、選択されたアイテムが仮想オブジェクトの隣に追加されるか又は仮想オブジェクトと同じページに追加される場合、仮想オブジェクト及び/又は選択されたアイテムは、所定のセットの反応及び結果を生成することができる。例えば、この場合、骨713が拡張現実ページ310に追加された場合、犬511は、骨713を掴むことができる。
仮想キャラクターをトレーニングするためのボタン614を押すことに応答して、トリガーイベントに応答して特定の機能を実行するように仮想キャラクターをトレーニングすることができる。例えば、トレーニングモード中に、ユーザは、ライブラリからオブジェクトを選択し、仮想オブジェクトと選択されたオブジェクトとを特定のパターンで移動させることができる。アプリケーションは、この動きのパターンを学習し、そして仮想オブジェクトと選択されたオブジェクトが一緒に表示されると、その動きを再現することができる。一例では、仮想オブジェクトは、ユニコーンであり、選択されたオブジェクトは、虹であってもよい。トレーニングモード中、ユーザは、ユニコーンを虹に向かって移動させることができる。そのため、ユニコーンと虹が一緒に表示されると、ユニコーンは、虹に向かって移動することができる。一例では、オブジェクトの上を飛び越えるように恐竜をトレーニングすることができる。別の例では、ボールのバランスを取るようにイルカをトレーニングすることができる。更に別の例では、面白い表情を作るようにエイリアンをトレーニングすることができ、例えば、トレーニング中に、ユーザは、その顔の構成要素を面白い方法で動かすことができる。
1つの例示的な実施形態では、ユーザは、互いに対話できる一連のキャラクターを収集し、ライブラリに追加することができる。各キャラクターは、所定のセットの強みと弱みを有することができ、ユーザは、キャラクターをアクティブにして互いに競うことができる。例えば、ユーザは、一連のロボットをユーザのライブラリに追加することができる。各ロボットは、建築力を有することができる。ユーザインターフェースにおいて2つ以上のロボットがアクティブにされている場合、アプリケーションは、アクティブにされたロボットを表示することができる。アプリケーションは、ロボットが建築コンテストに参加し、建築力の最も高いロボットが優勝できることも表示することができる。一例では、ユーザは、一連のプリンセスを収集することができる。この例では、これらのプリンセスは、美人コンテストに参加することができ、美しさのスコアの最も高いプリンセスが優勝できる。
1つの例示的な実施形態では、アプリケーションは、特徴検出モジュールを含んでもよい。例えば、ユーザは、編集前の写真及び編集後の写真をアップロードすることができる。アプリケーションは、写真に追加された特徴を決定し、同様の特徴を仮想現実オブジェクトに追加することができる。例えば、ユーザは、化粧を施す前のユーザの写真と化粧を施した後のユーザの写真をアップロードすることができる。アプリケーションは、1つ以上の化粧特徴の変更、例えば口紅の追加を見つけ出し、同じ化粧特徴を仮想現実キャラクターに追加することができる。一例では、ユーザは、絵に化粧を追加することができる。アプリケーションは、追加された化粧を決定し、同様の化粧を仮想現実オブジェクトに提供することができる。
一例では、アプリケーションにより、ユーザは、実際のオブジェクトの仮想表現をカスタマイズすることができる。例えば、ユーザは、人の名前を明記するためのアルファベットビーズが追加された友情ブレスレットをスキャンすることができる。アプリケーションは、このオブジェクトを認識し、オブジェクトの変更又はカスタマイズできる部分を認識することができる。ユーザの命令に応じて、アプリケーションは、友情ブレスレットをカスタマイズすることができる。例えば、アプリケーションは、ビーズの色を変更したり、グリッターを追加したりすることができる。
(ソーシャルメディア面)
1つの例示的な実施形態では、アプリケーションは、タスクを実行する仮想オブジェクトを表示することができ、そして同じタスクを実行するようにユーザに促すことができる。アプリケーションは、タスクを実行するユーザを記録し、ユーザの記録に仮想オブジェクトを重ね合わせることができる。例えば、アプリケーションは、ダンスをしているアニメのキャラクターを表示し、そして同じダンスをまねるようにユーザに促すことができる。アプリケーションは、ダンスをしているユーザを記録し、ダンスの動きをしているユーザの隣に仮想キャラクターを表示することができる。
1つの例示的な実施形態では、アプリケーションは、タスクを実行する仮想オブジェクトを表示することができ、そして同じタスクを実行するようにユーザに促すことができる。アプリケーションは、タスクを実行するユーザを記録し、ユーザの記録に仮想オブジェクトを重ね合わせることができる。例えば、アプリケーションは、ダンスをしているアニメのキャラクターを表示し、そして同じダンスをまねるようにユーザに促すことができる。アプリケーションは、ダンスをしているユーザを記録し、ダンスの動きをしているユーザの隣に仮想キャラクターを表示することができる。
1つの例示的な実施形態では、アプリケーションは、ダンスをしているユーザを記録することができる。アプリケーションは、オブジェクト指向技術を用いて、ユーザの動きを決定することができる。アプリケーションは、ユーザの隣で同じダンスの動きをする仮想キャラクターを表示することができる。
1つの例示的な実施形態では、アプリケーションは、ユーザの記録をソーシャルメディアプラットフォームに投稿することができる。例えば、アプリケーションには、ユーザのソーシャルメディア資格情報を受信するように構成されたページが含まれてもよい。ビデオを作成すると、アプリケーションは、ユーザがソーシャルメディアプラットフォームにビデオを投稿することに興味があるか否かをユーザに促すことができる。ユーザが肯定的に応答すると、アプリケーションは、ビデオをソーシャルメディアプラットフォームに投稿することができる。一例では、ユーザは、ユーザのプロファイルからの情報をソーシャルメディアプラットフォームに投稿することができる。例えば、ユーザは、自分が収集したアイテムのリストをソーシャルメディアアカウントに投稿することができる。
(3D空間の構築)
1つの例示的な実施形態では、アプリケーションは、スマート装置のユーザインターフェース上に表示されるビデオストリームにおける地平面(又は水平面)を検出することができる。この検出により、アプリケーションは、拡張現実オブジェクトを地平面(又は水平面)に置き、例えば犬を床に置き、猫をベッドに置くことができる。
1つの例示的な実施形態では、アプリケーションは、スマート装置のユーザインターフェース上に表示されるビデオストリームにおける地平面(又は水平面)を検出することができる。この検出により、アプリケーションは、拡張現実オブジェクトを地平面(又は水平面)に置き、例えば犬を床に置き、猫をベッドに置くことができる。
1つの例示的な実施形態では、アプリケーションは、ユーザの前の空間の3Dモデルを構築することができる。例えば、ユーザは、最初に空間をスキャンし、アプリケーションは、スキャンされた空間の3Dモデルを構築することができる。アプリケーションは、拡張現実オブジェクトに関する属性のデータベースを含んでもよい。アプリケーションは、3Dモデルとメモリ(又はサーバデータベース)内で提供される情報に基づいて、拡張現実オブジェクトをこれらの拡張現実オブジェクトの論理的な場所に置くことができる。例えば、3Dモデルは、水平な面と垂直な面に関する情報を含んでもよい。アプリケーションは、通常水平な面に置かれる拡張現実オブジェクトを水平な面に置き、通常垂直な面に置かれる拡張現実オブジェクトを垂直な面に置くことができる。一例では、アプリケーションは、ユーザが屋内空間にいると決定することができるため、屋内アイテムをユーザに表示することを決定することができる。アプリケーションは、屋内空間の壁(すなわち、垂直な面)にフレームを表示することを決定し、そして犬をベッド(すなわち、水平な面)に表示することを決定することができる。
(サーバの技術的実装)
図8は、サーバの例示的なハードウェアコンポーネントを示している。コンピュータシステム800又は同様に構成された他のコンピュータシステムは、上述した様々なフロープロセスのステップを含む、本明細書において説明される機能を実行するための1つ以上のサブシステムコンポーネントを含み、実行してもよい。同様に、コンピュータシステム800の同じコンポーネントのいくつかを含むモバイル装置、携帯電話、スマートフォン、ラップトップ、デスクトップ、ノートブック、タブレット、ウェアラブル装置、サーバなどは、アプリケーション(又はソフトウェア)を実行し、上述したステップと機能を実行する。コンピュータシステム800は、上述したように、問い合わせを受信し、データを取得し、情報及びインセンティブを送信するために、ネットワーク814、例えばインターネット又は他のネットワークに接続されてもよい。
図8は、サーバの例示的なハードウェアコンポーネントを示している。コンピュータシステム800又は同様に構成された他のコンピュータシステムは、上述した様々なフロープロセスのステップを含む、本明細書において説明される機能を実行するための1つ以上のサブシステムコンポーネントを含み、実行してもよい。同様に、コンピュータシステム800の同じコンポーネントのいくつかを含むモバイル装置、携帯電話、スマートフォン、ラップトップ、デスクトップ、ノートブック、タブレット、ウェアラブル装置、サーバなどは、アプリケーション(又はソフトウェア)を実行し、上述したステップと機能を実行する。コンピュータシステム800は、上述したように、問い合わせを受信し、データを取得し、情報及びインセンティブを送信するために、ネットワーク814、例えばインターネット又は他のネットワークに接続されてもよい。
コンピュータシステム800は、典型的には、メモリ802、二次ストレージ装置804及びプロセッサ806を含む。また、コンピュータシステム800は、複数のプロセッサ806を含み、複数の、例えばブレードサーバ又は他の既知のサーバ構成として構成されてもよい。また、コンピュータシステム800は、ネットワーク接続装置808、ディスプレイ装置810及び入力装置812を含んでもよい。
メモリ802は、RAM又は同様のタイプのメモリを含んでもよく、プロセッサ806によって実行される1つ以上のアプリケーションを記憶してもよい。二次ストレージ装置804は、ハードディスクドライブ、フロッピーディスクドライブ、CD-ROMドライブ又は他のタイプの不揮発性データストレージを含んでもよい。プロセッサ806は、メモリ802若しくは二次ストレージ装置804に記憶されるか又はインターネット若しくは他のネットワーク814から受信される、本明細書において記載されるアプリケーションなどのアプリケーションを実行する。プロセッサ806による処理は、コンピュータ又は他のマシンで実行するために、ソフトウェアモジュールなどのソフトウェアで実装されてもよい。これらのアプリケーションは、上述し、本明細書の図に示されたシステム及びサブシステムコンポーネントの機能及び方法を実行するために実行可能な命令を含むことが好ましい。アプリケーションは、グラフィカルユーザインターフェース(GUI)を提供することが好ましく、ユーザは、グラフィカルユーザインターフェースによりサブシステムコンポーネントを閲覧し、かつサブシステムコンポーネントと対話することができる。
コンピュータシステム800は、例えば、上述した機能を実行するために必要な情報を記憶して維持するために、1つ以上のデータベース構造を二次ストレージ装置804に記憶してもよい。或いは、そのような情報は、これらのコンポーネントとは別のストレージ装置内に存在してもよい。
また、前述したように、プロセッサ806は、1つ以上のソフトウェアアプリケーションを実行して、本明細書において説明される機能を提供し、具体的には、上述したプロセスフローのステップ及び機能を実行してもよい。このようなプロセスは、コンピュータ又は他のマシンで実行するために、ソフトウェアモジュールなどのソフトウェアで実装されてもよい。GUIは、例えば、ユーザがコンピュータシステム800と対話するために使用するアプリケーションに応じて、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)又はディスプレイ装置上での表示に適した他の任意の形式のウェブページとしてフォーマットされてもよい。
入力装置812は、タッチスクリーン、キーボード、マウス、カーソル制御装置、マイクロフォン、デジタルカメラ、ビデオレコーダ又はカムコーダなどの、コンピュータシステム800に情報を入力するための任意の装置を含んでもよい。入力装置812は、上述した方法の実行中にGUIに情報を入力するために使用されてもよい。ディスプレイ装置810は、例えば、コンピュータモニター又はフラットスクリーンディスプレイ(又はモバイル装置のスクリーン)などの、視覚情報を提示するための任意のタイプの装置を含んでもよい。ディスプレイ装置810は、GUI及び/又はサブシステムコンポーネント(又はソフトウェア)からの出力を表示してもよい。
コンピュータシステム800の例としては、ブレードサーバなどの専用サーバコンピュータ、パーソナルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、パームトップコンピュータ、ネットワークコンピュータ、モバイル装置又はウェブブラウザ若しくはシステムと対話するための他のタイプのアプリケーションを実行できる任意のプロセッサ制御装置が挙げられる。
1つのコンピュータシステム800のみが詳細に示されているが、システム800は、必要又は所望に応じて複数のコンピュータシステム又はサーバを使用してユーザをサポートし、また、バックアップ又は冗長サーバを使用して特定のサーバの障害発生時のネットワークダウンタイムを防止することもできる。また、コンピュータシステム800が様々なコンポーネントで示されているが、当業者であれば、システムが追加のコンポーネント又は異なるコンポーネントを含んでもよいことを理解するであろう。また、上記と一致する実装の態様がメモリに記憶されるものとして説明されているが、当業者であれば、これらの態様を、ハードディスク、フロッピーディスク、CD-ROM又は他の形式のRAM若しくはROMなどの二次ストレージ装置などの他のタイプのコンピュータプログラム製品又はコンピュータ可読媒体に記憶したり、そこから読み出したりすることもできることを理解するであろう。コンピュータ可読媒体は、コンピュータシステム800を制御して上述した方法などの特定の方法を実行するための命令を含んでもよい。
本開示は、様々な態様の例示として意図される、本願に説明される特定の実施形態に限定されるものではない。明らかに、本開示の精神及び範囲から逸脱することなく、多くの修正及び変形を行うことができる。本明細書に列挙したものに加えて、本開示の範囲内で機能的に同等の方法及び装置は、前述の代表的な説明から明らかになるであろう。そのような修正及び変形は、添付された代表的な特許請求の範囲内に含まれることが意図される。本開示は、添付された代表的な特許請求の範囲の用語と、そのような代表的な特許請求の範囲が権利を与える全ての範囲の均等物とによってのみ限定される。また、本明細書で使用される用語は、特定の実施形態を説明することのみを目的とし、限定することを意図したものではないことも理解されたい。
Claims (20)
- ユーザインターフェースをスマート装置に表示するステップであって、前記ユーザインターフェースは、前記スマート装置のカメラから受信したビデオフィードを表示するページを含む、ステップと、
前記ビデオフィードにおける地平面を検出するステップと、
前記ビデオフィードにおける点上にターゲットを表示するステップであって、前記ターゲットは、前記スマート装置が向けられている平面が前記地平面と交差する交点に対応するステップと、
前記スマート装置と前記交点との間の距離を決定するステップと、
前記ビデオフィードにおけるオブジェクトを検出するステップと、
前記ビデオフィードにおいて検出された前記オブジェクトに基づいて仮想現実オブジェクトを選択するステップと、
前記仮想現実オブジェクトを表示モードで表示するステップと、
前記仮想現実オブジェクトの機能を表示するステップと、
前記仮想現実オブジェクトの前記機能に対するユーザの反応を記録するステップと、
前記記録をソーシャルメディアアカウントに投稿するステップと、
を含む、方法。 - 前記地平面を検出するステップは、視覚処理による特徴抽出を含む、請求項1に記載の方法。
- 前記スマート装置は、3D空間における前記スマート装置の座標及び前記交点の座標を決定するように構成され、前記距離は、前記スマート装置の前記座標及び前記交点の前記座標に基づいて計算される、請求項1に記載の方法。
- 前記スマート装置は、それぞれがタグ及び前記機能に関連付けられている一連の仮想オブジェクトを記憶する、請求項1に記載の方法。
- 前記仮想現実オブジェクトを選択するステップは、検出された前記オブジェクトの名前と前記タグとの間のマッチングに基づく、請求項4に記載の方法。
- 前記スマート装置は、前記ユーザに関する、名前、住所及び経歴情報を含むプロファイルを記憶する、請求項1に記載の方法。
- 前記仮想現実オブジェクトを選択するステップは、前記プロファイルに含まれる前記経歴情報に基づく、請求項6に記載の方法。
- 前記表示モードは、前記スマート装置で検出されたデータに基づいて決定される、請求項1に記載の方法。
- 前記データは、速度を含む、請求項8に記載の方法。
- 前記データは、加速度を含む、請求項8に記載の方法。
- 前記データは、湿度インジケータを含む、請求項8に記載の方法。
- 前記データは、指紋を含む、請求項8に記載の方法。
- 前記データは、顔の特徴を含む、請求項8に記載の方法。
- 前記仮想現実オブジェクトの前記機能は、アニメーションを表示することである、請求項1に記載の方法。
- 前記アニメーションをダウンロードするステップを更に含む、請求項14に記載の方法。
- データを反映するために前記アニメーションを変更するステップであって、前記データが速度又は湿度を含む、ステップを更に含む、請求項15に記載の方法。
- 高速移動又は雨を反映するために前記アニメーションを変更するステップを更に含む、請求項15に記載の方法。
- 店舗の名前をセントラルサーバに送信するステップを更に含む、請求項1に記載の方法。
- 製品の屋内位置を受信するステップを更に含む、請求項18に記載の方法。
- 前記製品への屋内方向を表示するステップを更に含む、請求項19に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/102,721 | 2020-11-24 | ||
US17/102,721 US11017609B1 (en) | 2020-11-24 | 2020-11-24 | System and method for generating augmented reality objects |
PCT/US2021/059468 WO2022115272A1 (en) | 2020-11-24 | 2021-11-16 | System and method for generating augmented reality objects |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024500650A true JP2024500650A (ja) | 2024-01-10 |
Family
ID=75981898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023531641A Pending JP2024500650A (ja) | 2020-11-24 | 2021-11-16 | 拡張現実オブジェクトを生成するシステム及び方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11017609B1 (ja) |
EP (1) | EP4252194A1 (ja) |
JP (1) | JP2024500650A (ja) |
CA (1) | CA3199946A1 (ja) |
WO (1) | WO2022115272A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11176755B1 (en) | 2020-08-31 | 2021-11-16 | Facebook Technologies, Llc | Artificial reality augments and surfaces |
US11227445B1 (en) | 2020-08-31 | 2022-01-18 | Facebook Technologies, Llc | Artificial reality augments and surfaces |
US11409405B1 (en) | 2020-12-22 | 2022-08-09 | Facebook Technologies, Llc | Augment orchestration in an artificial reality environment |
US11762952B2 (en) | 2021-06-28 | 2023-09-19 | Meta Platforms Technologies, Llc | Artificial reality application lifecycle |
US11798247B2 (en) | 2021-10-27 | 2023-10-24 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US11748944B2 (en) | 2021-10-27 | 2023-09-05 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US20230196766A1 (en) * | 2021-12-22 | 2023-06-22 | Meta Platforms Technologies, Llc | Artificial Reality Applications Through Virtual Object Definitions and Invocation |
CN114398133A (zh) * | 2022-01-14 | 2022-04-26 | 北京字跳网络技术有限公司 | 显示方法、装置、电子设备及存储介质 |
US12026527B2 (en) | 2022-05-10 | 2024-07-02 | Meta Platforms Technologies, Llc | World-controlled and application-controlled augments in an artificial-reality environment |
CN116246009B (zh) * | 2022-09-06 | 2024-04-16 | 支付宝(杭州)信息技术有限公司 | 虚拟形象处理方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010256878A (ja) * | 2009-03-30 | 2010-11-11 | Equos Research Co Ltd | 情報表示装置 |
US8698843B2 (en) | 2010-11-02 | 2014-04-15 | Google Inc. | Range of focus in an augmented reality application |
JP2012156680A (ja) * | 2011-01-25 | 2012-08-16 | Jvc Kenwood Corp | 3d画像処理装置 |
TWI472224B (zh) * | 2011-07-15 | 2015-02-01 | Altek Corp | 影像處理裝置及其影像處理方法 |
US9310611B2 (en) * | 2012-09-18 | 2016-04-12 | Qualcomm Incorporated | Methods and systems for making the use of head-mounted displays less obvious to non-users |
CN104740869B (zh) * | 2015-03-26 | 2018-04-03 | 北京小小牛创意科技有限公司 | 一种融合真实环境的虚实结合的交互方法及*** |
-
2020
- 2020-11-24 US US17/102,721 patent/US11017609B1/en active Active
-
2021
- 2021-04-28 US US17/242,491 patent/US11158131B1/en active Active
- 2021-11-16 JP JP2023531641A patent/JP2024500650A/ja active Pending
- 2021-11-16 CA CA3199946A patent/CA3199946A1/en active Pending
- 2021-11-16 EP EP21898925.9A patent/EP4252194A1/en active Pending
- 2021-11-16 WO PCT/US2021/059468 patent/WO2022115272A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022115272A1 (en) | 2022-06-02 |
US11017609B1 (en) | 2021-05-25 |
EP4252194A1 (en) | 2023-10-04 |
CA3199946A1 (en) | 2022-06-02 |
US11158131B1 (en) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017609B1 (en) | System and method for generating augmented reality objects | |
KR102497042B1 (ko) | 사용자 행동을 바탕으로 반응하는 로봇 및 그의 제어 방법 | |
US11568265B2 (en) | Continual selection of scenarios based on identified tags describing contextual environment of a user for execution by an artificial intelligence model of the user by an autonomous personal companion | |
US11908176B2 (en) | Data recognition model construction apparatus and method for constructing data recognition model thereof, and data recognition apparatus and method for recognizing data thereof | |
US9116962B1 (en) | Context dependent recognition | |
EP2877254B1 (en) | Method and apparatus for controlling augmented reality | |
US20190369742A1 (en) | System and method for simulating an interactive immersive reality on an electronic device | |
CN111295671A (zh) | 自主个人伴侣的模块化层次结构视觉*** | |
US20190042574A1 (en) | Electronic device and method for controlling the electronic device | |
US11776256B2 (en) | Shared augmented reality system | |
US11681791B2 (en) | Augmented reality generated human challenge | |
US20160012136A1 (en) | Simultaneous Local and Cloud Searching System and Method | |
US11816773B2 (en) | Music reactive animation of human characters | |
KR20230096043A (ko) | 실시간 3d 신체 모션 캡처로부터의 사이드-바이-사이드 캐릭터 애니메이션 | |
KR102002863B1 (ko) | 사람의 얼굴을 이용한 동물 형상의 아바타를 생성하는 방법 및 시스템 | |
CN102656542A (zh) | 用于演示的相机导航 | |
US20200412864A1 (en) | Modular camera interface | |
US10282904B1 (en) | Providing augmented reality view of objects | |
US20230298244A1 (en) | AI Curation and Customization of Artificial Reality | |
WO2019201822A1 (en) | Tangible mobile game programming environment for non-specialists | |
US10456682B2 (en) | Augmentation of a gaming controller via projection system of an autonomous personal companion | |
US20220101416A1 (en) | Templates to generate augmented reality content items that display product information | |
KR102541570B1 (ko) | 자동 알림 기능이 적용된 스포츠 스트리밍 방법, 장치 및 시스템 | |
CN116958619A (zh) | 虚拟资源的识别方法、装置、电子设备、存储介质及产品 | |
KR20230160105A (ko) | 캐릭터ip를 활용한 실시간 화상채팅 랜더링 기술 |