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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許7671110方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成)
<>
  • 特許-方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成) 図1
  • 特許-方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成) 図2
  • 特許-方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成) 図3
  • 特許-方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成) 図4A
  • 特許-方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成) 図4B
  • 特許-方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成) 図5A
  • 特許-方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成) 図5B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-22
(45)【発行日】2025-05-01
(54)【発明の名称】方法、システム及びコンピュータプログラム(遠隔誘導式拡張現実セッションからの自己誘導式拡張現実セッションプランの自動生成)
(51)【国際特許分類】
   G06F 3/04815 20220101AFI20250423BHJP
   G06T 19/00 20110101ALI20250423BHJP
   G06F 3/16 20060101ALI20250423BHJP
   G06F 3/01 20060101ALI20250423BHJP
【FI】
G06F3/04815
G06T19/00 600
G06F3/16 650
G06F3/01 510
【請求項の数】 20
(21)【出願番号】P 2021168791
(22)【出願日】2021-10-14
(65)【公開番号】P2022066173
(43)【公開日】2022-04-28
【審査請求日】2024-03-19
(31)【優先権主張番号】17/073,354
(32)【優先日】2020-10-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ビルゴリー エレズ レヴ メイア
(72)【発明者】
【氏名】ラズ ゴールドファーブ アディ
【審査官】亀澤 智博
(56)【参考文献】
【文献】国際公開第2019/081350(WO,A1)
【文献】米国特許出願公開第2017/0280188(US,A1)
【文献】特開2010-277474(JP,A)
【文献】米国特許出願公開第2019/0005833(US,A1)
【文献】特開2018-056845(JP,A)
【文献】韓国公開特許第10-2020-0068075(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048 - 3/04895
G06F 3/16
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのハードウェアプロセッサを、
リモートユーザとローカルユーザとの間で行われる遠隔誘導式拡張現実(AR)セッション中に記録されたデータを受信することであって、前記記録されたデータは、
前記ローカルユーザのカメラにより撮影されたシーンの画像と、
前記カメラの姿勢データと、
前記リモートユーザ及び前記ローカルユーザのうちの少なくとも1人により作成された注釈と、
前記リモートユーザ及び前記ローカルユーザ間での会話と
を含む、受信することと、
前記画像及び前記カメラの姿勢データに基づき前記シーンの3次元(3D)表現を自動的に生成して、前記注釈を前記3D表現における位置に自動的に関連付けることと、
前記データの少なくとも一部を、前記遠隔誘導式ARセッション中に前記シーンにおいて前記ローカルユーザにより実行された複数のステップに対応する複数の時間的セグメントに自動的にセグメント化することであって、前記複数のステップは、
(a)前記会話に自然言語認識(NLU)アルゴリズムを適用して、ステップからステップへの移行を示す発話を検出することと、
(b)前記注釈に関連付けられた前記位置を分析して、ステップからステップへの移行を示す位置の差を検出することと、
(c)前記カメラの姿勢データを分析して、ステップからステップへの移行を示す姿勢の移行を検出することと
のうちの少なくとも1つを使用して自動的に検出される、自動的にセグメント化することと、
前記セグメント化されたデータと前記3D表現とに基づいて自己誘導式ARセッションプランを自動的に生成することであって、前記自己誘導式ARセッションプランは、前記シーン又は同様のシーンにおいて前記複数のステップをどのように実行するかに対するステップからステップへのARガイダンスを含む、自動的に生成することと
を行うように動作する段階を備える、方法。
【請求項2】
前記自己誘導式ARセッションプランは、コンピュータ化されたARシステムにより実行されるように構成され、
前記自己誘導式ARセッションプランは、前記コンピュータ化されたARシステムを、
ユーザコマンドと、
ステップ完了の機械視覚検出と
のうちの少なくとも1つに応答して、前記ステップからステップへのARガイダンスのステップ間で移行させるように構成されたプログラム命令を備える、請求項1に記載の方法。
【請求項3】
前記ステップからステップへのARガイダンスは、前記3D表現内のそれらの関連付けられた位置に従ってローカライズされた、前記注釈の少なくとも一部を含む、請求項1又は2に記載の方法。
【請求項4】
前記ステップからステップへのARガイダンスは、音声及びテキストのうちの少なくとも1つとして提供される前記会話の少なくとも一部を含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記シーンにおいて前記ローカルユーザにより実行される前記複数のステップは、少なくとも1つの物理的オブジェクトの操作を含み、
前記シーンの前記3D表現の前記生成は、前記少なくとも1つの物理的オブジェクトの少なくとも1つの3Dモデルの生成をそれぞれ含み、
前記ステップからステップへのARガイダンスは、前記シーンにおける前記少なくとも1つの物理的オブジェクト又は前記同様のシーンにおける少なくとも1つの同様の物理的オブジェクトをそれぞれどのように操作するかに対するガイダンスを含む、
請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記方法はさらに、遠隔誘導式ARセッションから手動でラベル付けされた会話サンプルに基づいて、ステップからステップへの移行を示す発話を検出するように機械学習NLUモデルをトレーニングする段階を備え、
前記NLUアルゴリズムの前記会話への前記適用は、前記トレーニングされた機械学習NLUモデルに基づく、
請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記ステップの前記自動的な検出は、(a)、(b)及び(c)のうち少なくとも2つを融合したものを使用する、請求項1から6のいずれか一項に記載の方法。
【請求項8】
(i)少なくとも1つのハードウェアプロセッサと、
(ii)プログラムコードが具現化された非一時的コンピュータ可読記憶媒体であって、前記プログラムコードは、
リモートユーザとローカルユーザとの間で行われる遠隔誘導式拡張現実(AR)セッション中に記録されたデータを受信することであって、前記記録されたデータは、
前記ローカルユーザのカメラにより撮影されたシーンの画像と、
前記カメラの姿勢データと、
前記リモートユーザ及び前記ローカルユーザのうちの少なくとも1人により作成された注釈と、
前記リモートユーザ及び前記ローカルユーザ間での会話と
を含む、受信することと、
前記画像及び前記カメラの姿勢データに基づき前記シーンの3次元(3D)表現を自動的に生成して、前記注釈を前記3D表現における位置に自動的に関連付けることと、
前記データの少なくとも一部を、前記遠隔誘導式ARセッション中に前記シーンにおいて前記ローカルユーザにより実行された複数のステップに対応する複数の時間的セグメントに自動的にセグメント化することであって、前記複数のステップは、
(a)前記会話に自然言語認識(NLU)アルゴリズムを適用して、ステップからステップへの移行を示す発話を検出することと、
(b)前記注釈に関連付けられた前記位置を分析して、ステップからステップへの移行を示す位置の差を検出することと、
(c)前記カメラの姿勢データを分析して、ステップからステップへの移行を示す姿勢の移行を検出することと
のうちの少なくとも1つを使用して自動的に検出される、自動的にセグメント化することと、
前記セグメント化されたデータと前記3D表現とに基づいて自己誘導式ARセッションプランを自動的に生成することであって、前記自己誘導式ARセッションプランは、前記シーン又は同様のシーンにおいて前記複数のステップをどのように実行するかに対するステップからステップへのARガイダンスを含む、自動的に生成することと
を行うことが前記少なくとも1つのハードウェアプロセッサによって実行可能である、非一時的コンピュータ可読記憶媒体と
を備える、システム。
【請求項9】
前記自己誘導式ARセッションプランは、コンピュータ化されたARシステムにより実行されるように構成され、
前記自己誘導式ARセッションプランは、前記コンピュータ化されたARシステムを、
ユーザコマンドと、
ステップ完了の機械視覚検出と
のうちの少なくとも1つに応答して、前記ステップからステップへのARガイダンスのステップ間で移行させるように構成されたプログラム命令を備える、請求項8に記載のシステム。
【請求項10】
前記ステップからステップへのARガイダンスは、前記3D表現内のそれらの関連付けられた位置に従ってローカライズされた、前記注釈の少なくとも一部を含む、請求項8又は9に記載のシステム。
【請求項11】
前記ステップからステップへのARガイダンスは、音声及びテキストのうちの少なくとも1つとして提供される前記会話の少なくとも一部を含む、請求項8から10のいずれか一項に記載のシステム。
【請求項12】
前記シーンにおいて前記ローカルユーザにより実行される前記複数のステップは、少なくとも1つの物理的オブジェクトの操作を含み、
前記シーンの前記3D表現の前記生成は、前記少なくとも1つの物理的オブジェクトの少なくとも1つの3Dモデルの生成をそれぞれ含み、
前記ステップからステップへのARガイダンスは、前記シーンにおける前記少なくとも1つの物理的オブジェクト又は前記同様のシーンにおける少なくとも1つの同様の物理的オブジェクトをそれぞれどのように操作するかに対するガイダンスを含む、
請求項8から11のいずれか一項に記載のシステム。
【請求項13】
前記プログラムコードはさらに、遠隔誘導式ARセッションから手動でラベル付けされた会話サンプルに基づいて、ステップからステップへの移行を示す発話を検出するように機械学習NLUモデルをトレーニングすることを、前記少なくとも1つのハードウェアプロセッサにより実行可能であり、
前記NLUアルゴリズムの前記会話への前記適用は、前記トレーニングされた機械学習NLUモデルに基づく、
請求項8から12のいずれか一項に記載のシステム。
【請求項14】
前記ステップの前記自動的な検出は、(a)、(b)及び(c)のうち少なくとも2つを融合したものを使用する、請求項8から13のいずれか一項に記載のシステム。
【請求項15】
プロセッサに、
リモートユーザとローカルユーザとの間で行われる遠隔誘導式拡張現実(AR)セッション中に記録されたデータを受信する手順であって、前記記録されたデータは、
前記ローカルユーザのカメラにより撮影されたシーンの画像と、
前記カメラの姿勢データと、
前記リモートユーザ及び前記ローカルユーザのうちの少なくとも1人により作成された注釈と、
前記リモートユーザ及び前記ローカルユーザ間での会話と
を含む、受信する手順と、
前記画像及び前記カメラの姿勢データに基づき前記シーンの3次元(3D)表現を自動的に生成して、前記注釈を前記3D表現における位置に自動的に関連付ける手順と、
前記データの少なくとも一部を、前記遠隔誘導式ARセッション中に前記シーンにおいて前記ローカルユーザにより実行された複数のステップに対応する複数の時間的セグメントに自動的にセグメント化する手順であって、前記複数のステップは、
(a)前記会話に自然言語認識(NLU)アルゴリズムを適用して、ステップからステップへの移行を示す発話を検出することと、
(b)前記注釈に関連付けられた前記位置を分析して、ステップからステップへの移行を示す位置の差を検出することと、
(c)前記カメラの姿勢データを分析して、ステップからステップへの移行を示す姿勢の移行を検出することと
のうちの少なくとも1つを使用して自動的に検出される、自動的にセグメント化すること手順と、
前記セグメント化されたデータと前記3D表現とに基づいて自己誘導式ARセッションプランを自動的に生成する手順であって、前記自己誘導式ARセッションプランは、前記シーン又は同様のシーンにおいて前記複数のステップをどのように実行するかに対するステップからステップへのARガイダンスを含む、自動的に生成する手順と
を実行させるコンピュータプログラム。
【請求項16】
前記自己誘導式ARセッションプランは、コンピュータ化されたARシステムにより実行されるように構成され、
前記自己誘導式ARセッションプランは、前記コンピュータ化されたARシステムを、
ユーザコマンドと、
ステップ完了の機械視覚検出と
のうちの少なくとも1つに応答して、前記ステップからステップへのARガイダンスのステップ間で移行させるように構成されたプログラム命令を備える、請求項15に記載のコンピュータプログラム。
【請求項17】
前記ステップからステップへのARガイダンスは、前記3D表現内のそれらの関連付けられた位置に従ってローカライズされた、前記注釈の少なくとも一部を含む、請求項15又は16に記載のコンピュータプログラム。
【請求項18】
前記ステップからステップへのARガイダンスは、音声及びテキストのうちの少なくとも1つとして提供される前記会話の少なくとも一部を含む、請求項15から17のいずれか一項に記載のコンピュータプログラム。
【請求項19】
前記シーンにおいて前記ローカルユーザにより実行される前記複数のステップは、少なくとも1つの物理的オブジェクトの操作を含み、
前記シーンの前記3D表現の前記生成は、前記少なくとも1つの物理的オブジェクトの少なくとも1つの3Dモデルの生成をそれぞれ含み、
前記ステップからステップへのARガイダンスは、前記シーンにおける前記少なくとも1つの物理的オブジェクト又は前記同様のシーンにおける少なくとも1つの同様の物理的オブジェクトをそれぞれどのように操作するかに対するガイダンスを含む、
請求項15から18のいずれか一項に記載のコンピュータプログラム。
【請求項20】
前記プロセッサに、遠隔誘導式ARセッションから手動でラベル付けされた会話サンプルに基づいて、ステップからステップへの移行を示す発話を検出するように機械学習NLUモデルをトレーニングする手順を、さらに実行させ、
前記NLUアルゴリズムの前記会話への前記適用は、前記トレーニングされた機械学習NLUモデルに基づく、
請求項15から18のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、拡張現実(AR)の分野に関する。
【背景技術】
【0002】
ARベースの遠隔ガイダンス(又は「支援」)は、AR技術の比較的新しい用途である。遠隔地に位置付けられているエキスパートユーザは、ローカルユーザのカメラによって撮影されたリアルタイムビデオにデジタルコンテンツをオーバーレイすることによって、ローカルユーザの付近にある物理的機器をローカルユーザが取り扱うことを支援及び誘導する。ローカルユーザがビデオディスプレイで自分の物理的な環境のこのビデオを見ると、コンピュータソフトウェアを使用してビデオ上の様々な場所にテキスト注釈及び図形注釈を追加し得るリモートユーザにビデオが同時に送信され、これらの注釈は、ローカルユーザに直ちに返送され、彼又は彼女が見ているビデオにオーバーレイされる。追加的なガイダンスが、2人のユーザの間におけるテキスト、音声、若しくはビデオ通信、又はそれらの組み合わせを使用して、リモートユーザにより同時に提供され得る。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ローカルユーザが特定の機器を取り扱う必要がある度にリモートエキスパートユーザがガイダンスを提供する必要性をなくすために、自己誘導式ARセッションが提案及び実装されている。これらのセッションは、予め記録された命令により誘導されるローカルユーザのみにより実行され得る。
【0004】
関連技術の前述の例及びそれに関連する限定事項は、例示的なものとして意図されており、排他的なものではない。本明細書を読み、図を検討すると、関連技術の他の限定事項が当業者に明らかになるであろう。
【課題を解決するための手段】
【0005】
以下の実施形態及びその態様は、システム、ツール、及び方法と併せて説明及び図示されているが、これらは例示及び説明を目的としたものであり、範囲の限定を目的としたものではない。
【0006】
1つの実施形態は、少なくとも1つのハードウェアプロセッサが、リモートユーザとローカルユーザとの間で行われる遠隔誘導式拡張現実(AR)セッション中に記録されたデータを受信することであって、記録されたデータは、ローカルユーザのカメラにより撮影されたシーンの画像と、カメラの姿勢データと、リモート及びローカルユーザのうちの少なくとも1人により作成された注釈と、リモートユーザとローカルユーザとの間の会話とを備える、受信することを実行するように動作させる段階を備える方法を対象とする。画像及びカメラの姿勢データに基づいてシーンの3次元(3D)表現を自動的に生成し、注釈を3D表現内の位置に自動的に関連付けする。データの少なくとも一部を、遠隔誘導式ARセッション中にシーンにおいてローカルユーザにより実行された複数のステップに対応する複数の時間的セグメントに自動的にセグメント化する。ここで、複数のステップは、(a)会話に自然言語認識(NLU)アルゴリズムを適用して、ステップからステップへの移行を示す発話を検出すること、(b)注釈に関連付けられた位置を分析して、ステップからステップへの移行を示す位置の差を検出すること、及び、(c)カメラの姿勢データを分析して、ステップからステップへの移行を示す姿勢の移行を検出することのうちの少なくとも1つを使用して自動的に検出される。セグメント化されたデータと3D表現とに基づいて自己誘導式ARセッションプランを自動的に生成する。ここで、ARセッションプランは、シーン又は同様のシーンにおいて複数のステップをどのように実行するかに対するステップからステップへのARガイダンスを含む。
【0007】
別の実施形態は、少なくとも1つのハードウェアプロセッサと、プログラムコードが具現化された非一時的コンピュータ可読記憶媒体であって、上記プログラムコードは、リモートユーザとローカルユーザとの間で行われる遠隔誘導式拡張現実(AR)セッション中に記録されたデータを受信することであって、記録されたデータは、ローカルユーザのカメラにより撮影されたシーンの画像と、カメラの姿勢データと、リモート及びローカルユーザのうちの少なくとも1人により作成された注釈と、リモートユーザとローカルユーザとの間の会話とを備える、受信することを実行するために上記少なくとも1つのハードウェアプロセッサにより実行可能な、非一時的コンピュータ可読記憶媒体とを備える、システムを対象とする。画像及びカメラの姿勢データに基づいてシーンの3次元(3D)表現を自動的に生成し、注釈を3D表現内の位置に自動的に関連付けする。データの少なくとも一部を、遠隔誘導式ARセッション中にシーンにおいてローカルユーザにより実行された複数のステップに対応する複数の時間的セグメントに自動的にセグメント化する。ここで、複数のステップは、(a)会話に自然言語認識(NLU)アルゴリズムを適用して、ステップからステップへの移行を示す発話を検出すること、(b)注釈に関連付けられた位置を分析して、ステップからステップへの移行を示す位置の差を検出すること、及び、(c)カメラの姿勢データを分析して、ステップからステップへの移行を示す姿勢の移行を検出することのうちの少なくとも1つを使用して自動的に検出される。セグメント化されたデータと3D表現とに基づいて自己誘導式ARセッションプランを自動的に生成する。ここで、ARセッションプランは、シーン又は同様のシーンにおいて複数のステップをどのように実行するかに対するステップからステップへのARガイダンスを含む。
【0008】
さらなる実施形態は、プログラムコードが具現化された非一時的コンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、上記プログラムコードは、リモートユーザとローカルユーザとの間で行われる遠隔誘導式拡張現実(AR)セッション中に記録されたデータを受信することであって、記録されたデータは、ローカルユーザのカメラにより撮影されたシーンの画像と、カメラの姿勢データと、リモート及びローカルユーザのうちの少なくとも1人により作成された注釈と、リモートユーザとローカルユーザとの間の会話とを備える、受信することを実行するために少なくとも1つのハードウェアプロセッサにより実行可能な、システムを対象とする。画像及びカメラの姿勢データに基づいてシーンの3次元(3D)表現を自動的に生成し、注釈を3D表現内の位置に自動的に関連付けする。データの少なくとも一部を、遠隔誘導式ARセッション中にシーンにおいてローカルユーザにより実行された複数のステップに対応する複数の時間的セグメントに自動的にセグメント化する。ここで、複数のステップは、(a)会話に自然言語認識(NLU)アルゴリズムを適用して、ステップからステップへの移行を示す発話を検出すること、(b)注釈に関連付けられた位置を分析して、ステップからステップへの移行を示す位置の差を検出すること、及び、(c)カメラの姿勢データを分析して、ステップからステップへの移行を示す姿勢の移行を検出することのうちの少なくとも1つを使用して自動的に検出される。セグメント化されたデータと3D表現とに基づいて自己誘導式ARセッションプランを自動的に生成する。ここで、ARセッションプランは、シーン又は同様のシーンにおいて複数のステップをどのように実行するかに対するステップからステップへのARガイダンスを含む。
【0009】
いくつかの実施形態において、自己誘導式ARセッションプランは、コンピュータ化されたARシステムにより実行されるように構成され、自己誘導式ARセッションプランは、コンピュータ化されたARシステムを、ユーザコマンドと、ステップ完了の機械視覚検出とのうちの少なくとも1つに応答して、ステップからステップへのARガイダンスのステップ間で移行させるように構成されたプログラム命令を備える。
【0010】
いくつかの実施形態において、ステップからステップへのARガイダンスは、3D表現内のそれらの関連付けられた位置に従ってローカライズされた、注釈の少なくとも一部を含む。
【0011】
いくつかの実施形態において、ステップからステップへのARガイダンスは、音声及びテキストのうちの少なくとも1つとして提供される会話の少なくとも一部を含む。
【0012】
いくつかの実施形態において、シーンにおいてローカルユーザにより実行される複数のステップは、少なくとも1つの物理的オブジェクトの操作を含み、シーンの3D表現の生成は、少なくとも1つの物理的オブジェクトの少なくとも1つの3Dモデルの生成をそれぞれ含み、ステップからステップへのARガイダンスは、シーンにおける少なくとも1つの物理的オブジェクト又は同様のシーンにおける少なくとも1つの同様の物理的オブジェクトをそれぞれどのように操作するかに対するガイダンスを含む。
【0013】
いくつかの実施形態において、方法はさらに、又はプログラムコードはさらに、遠隔誘導式ARセッションからの手動でラベル付けされた会話サンプルに基づいて、ステップからステップへの移行を示す発話を検出するように機械学習NLUモデルをトレーニングする段階を備える又は実行可能であり、NLUアルゴリズムの会話への適用は、トレーニングされた機械学習NLUモデルに基づく。
【0014】
いくつかの実施形態において、ステップの自動検出は、(a)、(b)及び(c)のうち少なくとも2つを融合したものを使用する。
【0015】
図を参照し、以下の詳細な説明を検討することにより、上記の例示的な態様及び実施形態に加えて、さらなる態様及び実施形態が明らかになるであろう。
【図面の簡単な説明】
【0016】
例示的な実施形態が参照図に図示されている。図に示されたコンポーネント及び特徴の寸法は概して、便宜上及び表示の明確性のために選択されたものであり、必ずしも縮尺通りに示されているわけではない。図は以下に列挙される。
【0017】
図1】遠隔誘導式ARセッションと、その遠隔誘導式ARセッションからの自己誘導式ARセッションプランの生成とを伴うプロセスのフロー図である。
【0018】
図2】自己誘導式ARセッションプランを生成するシステムのブロック図である。
【0019】
図3】自己誘導式ARセッションプランを生成する方法のフローチャートである。
【0020】
図4A】遠隔誘導式ARセッション中の例示的なパーソナルコンピューティングデバイスの半絵画図である。
図4B】遠隔誘導式ARセッション中の例示的なパーソナルコンピューティングデバイスの半絵画図である。
【0021】
図5A】遠隔誘導式ARセッション中の例示的なパーソナルコンピューティングデバイスの追加的な半絵画図である。
図5B】遠隔誘導式ARセッション中の例示的なパーソナルコンピューティングデバイスの追加的な半絵画図である。
【発明を実施するための形態】
【0022】
遠隔誘導式ARセッションから自己誘導式ARセッションプランを自動的に生成する技術が本明細書に開示される。当該技術は、方法、システム、及びコンピュータプログラム製品においてに具現化され得る。
【0023】
有利なことに、当該技術は過去の遠隔誘導式ARセッションの既存の記録を活用するので、自己誘導式ARセッションプランを生成するべく、組織化された実演を特に準備、実行及び記録する必要は存在しない。むしろ、当該技術は、自己誘導式ARセッションプランを自動的に生成するべく、既存の遠隔誘導式ARセッションの記録からのデータをインテリジェントに処理する。これはもちろん、そのような記録の単なる再生によって自己誘導式ARセッションを実行することよりも優れており、再生は、実際に必要であるより大幅に長い可能性があり、通常、余分なデータを含む。
【0024】
当該技術は、ローカルユーザによる1又は複数の物理的オブジェクトの操作などの、リモートユーザのガイダンス下にあるローカルユーザにより実行される特定の技術的手順が複数のステップを伴う場合、特に役に立ち得る。有利なことに、そのような遠隔誘導式ARセッションの記録は、実行済のステップに対応する複数のセグメントに自動的にセグメント化され得る。1つの例において、ステップは、遠隔誘導式ARセッション中に実行される会話において1つのステップから別のステップへの移行を示す発話を検出する自然言語認識(NLU)アルゴリズムを使用して検出され得る。別の例において、ステップは、遠隔誘導式ARセッション中に作成された注釈の位置を分析することにより検出され、1つのステップから別のステップへの移行を示す位置の差を検出し得る。さらなる例において、ステップは、遠隔誘導式ARセッションからのカメラの姿勢データを分析することにより検出され、1つのステップから別のステップへの移行を示す姿勢移行を検出し得る。
【0025】
自己誘導式ARセッションプランは次に、セグメント化されたデータに基づいて自動的に生成され得る。プランは、複数のステップをどのように実行するかに対する、ユーザにより装着される又は別様に使用されるコンピュータ化されたARシステムにより実行される対象である、ステップからステップへのARガイダンスを含み得る。プランはさらに、1又は複数のユーザコマンド若しくは1又は複数のステップ完了の機械視覚検出、又はその両方に応答して、ステップからステップへのARガイダンスのステップ間においてコンピュータ化されたARシステムを移行させるように構成されたプログラム命令を含み得る。
【0026】
ここで、遠隔誘導式ARセッションと、その遠隔誘導式ARセッションからの自己誘導式ARセッションプランの生成とを伴うプロセス100のフロー図である図1を参照する。
【0027】
プロセス100において、ARセッションデータは、遠隔支援式ARセッション中に遠隔支援式セッションマネージャ102により受信、送信若しくは処理される又はそれらの組み合わせが行われる。セッションマネージャ102は、ローカルユーザ104とリモートユーザ106との間の遠隔支援式ARセッションを管理する1又は複数のコンピューティングデバイスを示す。例えば、セッションマネージャ102は、ローカルユーザ104のすぐ近くに位置付けられたコンピューティングデバイスであり得、ネットワークを介してリモートユーザ106のパーソナルコンピューティングデバイス(図示せず)と通信する。反対の例として、セッションマネージャ102は、リモートユーザ106のすぐ近くに位置付けられたコンピューティングデバイスであり得、ネットワークを介してローカルユーザ104のパーソナルコンピューティングデバイス(図示せず)と通信する。さらなる例として、セッションマネージャ102は、ユーザ104および106から離れた位置付けられたサーバタイプのコンピューティングデバイスであり得、それらのパーソナルコンピューティングデバイスを介して、ネットワークを介してそれらにアクセス可能である。ネットワークは、例えば、LAN(ローカルエリアネットワーク)又はWAN(インターネットなどのワイドエリアネットワーク)であり得る。
【0028】
セッションマネージャ102、又は、ローカルユーザ104のパーソナルコンピューティングデバイスは、ローカルユーザに隣接している物理的シーン110の静止画像若しくはビデオ、又はその両方を撮影するカメラ108を含み得る又はそれに機能的に関連付けられ得る。簡略化の理由のために、「画像」という用語は以下で、静止画像、ビデオフレーム、又は両方のいずれかを示すのに使用される。
【0029】
シーン110は、オブジェクト112などの1又は複数のオブジェクトに関してローカルユーザ104により手順が実行される、任意の屋内又は屋外エリアを含み得る。例として、シーン110は、特定の機器(例えば、機械、又は任意のタイプの装置)がローカルユーザ104によりメンテナンスを経る工場内のエリア、又は、特定の自動車部品がローカルユーザによりサービスを提供されている自動車のエンジンコンパートメントであり得る。
【0030】
オブジェクト112は、より大きいオブジェクトの別個の部品又は指定された領域などの、多数のより小さいオブジェクトを実際に含み得る。示された例において、これらのより小さいオブジェクトは、長方形のボタン112a、及びネジ112bである。説明を簡略化するために、「オブジェクト」という用語は以下で、シーンにおいて位置付けられ得る任意のタイプのオブジェクトを説明するのに使用され、それは、全体の装置、又は、装置のある部分若しくはある領域である。
【0031】
カメラ108により撮影された画像は、見るためにリモートユーザ106に送信されてもよく、例えば、ポータブルコンピューティングデバイス、ウェアラブルディスプレイ等のスクリーン上において、ローカルユーザ104に表示されてもよい。
【0032】
セッションマネージャ102、又は、ローカルユーザ104のパーソナルコンピューティングデバイスはさらに、従来技術に従って、シーン110の3次元(3D)座標のセットに対して定義されたカメラの姿勢データ(場合により当技術分野において「カメラ位置及び向きのデータ」と称される)を取得又は算出し得る。
【0033】
セッションマネージャ102、又は、複数のユーザのうち任意の一人のパーソナルコンピューティングデバイスはさらに、従来技術に従って、カメラの姿勢データ若しくは画像、又はその両方から、前述のシーンの3D座標のセットに対して定義されたシーン110の3D点群を取得又は再構築し得る。
【0034】
セッションマネージャ102、又は、リモートユーザ106のパーソナルコンピューティングデバイスはさらに、テキスト若しくは図形注釈、又はその両方などの注釈の生成及び送信を管理し得、この注釈は、リモートユーザが生成し、彼又は彼女が見る画像内の様々な場所に関連付ける。これらの注釈の位置は次に、セッションマネージャ102、又は、リモートユーザ106のパーソナルコンピューティングデバイスにより、シーン110の3D座標のセットに対して移動され得る。注釈と、それらの3D座標とは次に、ローカルユーザ104のパーソナルコンピューティングデバイスに送信され、対応する位置において、シーン110上の拡張層として彼又は彼女に表示され得る。
【0035】
例えば、遠隔支援式ARセッション中に、リモートユーザ106は、1又は複数の入力デバイス(例えば、キーボード、ポインティングデバイス、タッチスクリーン等)を使用して、シーン110の表示されたオブジェクトに注釈をオーバーレイし得る。例えば、リモートユーザ106が、オブジェクト112からネジ112bを除去するようにローカルユーザ104に命令することを希望する場合、次に、リモートユーザは、その位置を指す矢印、その位置を囲む形状、又はその位置の任意の他のタイプの視覚的マークなどの、複数の画像のうち1又は複数におけるネジの位置に図形注釈を描き得る。位置は通常、点であるが、外接した2次元(2D)エリアであることも可能である、又は、外接した3D空間であることさえ可能である。
【0036】
リモートユーザ106は、図形注釈に、注釈を付けられたオブジェクトを説明するテキスト、若しくは、それをどのように操作するかをローカルユーザ104に指示するテキスト又はその両方を添付し、それによって、組み合わされたテキスト‐図形注釈を生成し得る。しかしながら、いくつかの場合において、リモートユーザ106は、オブジェクトの位置に単なる図形注釈を描くだけで、彼又は彼女がローカルユーザ104と同時に実行するテキスト又は音声会話においてのみ、説明又は命令を提供する。
【0037】
遠隔支援式ARセッションにおいて、注釈はリモートユーザ106により作成されることが典型的であるが、それらはローカルユーザ104により同様に作成され得る。例えば、ローカルユーザ104は、オブジェクトを指す矢印を描いて、そのオブジェクトの性質又はそれがどのように操作されるべきかについて、テキスト、音声、又はビデオチャットを介して、リモートユーザ106に質問し得る。
【0038】
セッションマネージャ102はさらに、遠隔誘導式ARセッション中に、ローカルユーザ104とリモートユーザ106との間のテキストチャット、音声チャット若しくは対面ビデオチャット、又はそれらの組み合わせの形におけるなど、ローカルユーザ104とリモートユーザ106との間の会話の送信を容易にし得る。
【0039】
セッションマネージャ102は、ARセッションデータベース114において、画像、カメラの姿勢データ、シーン3D座標、シーン3D点群、注釈、及び会話などの、複数の遠隔誘導式ARセッション中に又はそれに関して取得、使用、送信、生成、若しくは算出された、又はそれらの組み合わせが行われたデータの全て又は一部を記録し得る。遠隔誘導式ARセッションがその参加者間の音声チャット又はビデオチャットを含む場合、次に、そのような会話の写しが音声/テキストエンジンにより生成され、実際の音声又はビデオファイルの代わりに又はそれに加えて、ARセッションデータベース114に格納され得る。説明の簡略化のために、「会話」という用語は、テキストにおいて元々実行された会話のテキスト、又は、音声若しくはビデオ会話の写し、又は両方のうちいずれかを説明するのに使用される。
【0040】
格納されたデータ、又はその一部はタイムスタンプされ、後でデータの異なるモダリティ間の時間的相関関係を有効にし得る。例えば、写しは、会話中にそのメッセージ/発話/文章がいつ送信されたかを示すメッセージ、発話、文章等ごとのタイムスタンプの形態のメタデータと併せて格納され得る。同様に、例えば、タイムスタンプは、注釈の各々及び画像の各々を有するメタデータとしてそれぞれ格納され、それらがいつ作成又は撮影されたかを示し得る。
【0041】
記録された遠隔誘導式ARセッションから自己誘導式ARセッションプラン116を生成するシステムが提供され得る。システム116は、ARセッションデータベース114からデータを受信して、そのような自己誘導式ARセッションプランを自動的に生成し得、これらの自己誘導式ARセッションプランは各々が、それぞれの遠隔誘導式ARセッションが記録されたシーンと同様の複数のシーンにおける実行に好適である又は同じシーンにおける実行にさえ好適である。
【0042】
いくつかの実施形態において、システム116は、それぞれの自己誘導式ARセッションプランを生成する。これは、1又は複数の遠隔誘導式ARセッション中に記録されたデータのみに基づいており、任意の他のユーザ入力には基づいていない。
【0043】
ここで、実施形態に係るシステム116の詳細なブロック図を示す図2を参照する。システム116は、1又は複数のハードウェアプロセッサ(例えば、CPU)200、ランダムアクセスメモリ(RAM)202、及び1又は複数の非一時的コンピュータ可読ストレージデバイス204を含み得る。
【0044】
ストレージデバイス204には、ハードウェアプロセッサ200を動作するように構成されたプログラム命令若しくはコンポーネント、又はその両方が格納され得る。プログラム命令は、自己誘導式ARセッションプラン生成モジュール206などの1又は複数のソフトウェアモジュールを含み得る。ソフトウェアコンポーネントは、一般的なシステムタスク(例えば、メモリ管理、ストレージデバイス制御、電力管理、ネットワーキング等)を管理及び制御するとともに、様々なハードウェアとソフトウェアコンポーネントとの間の通信を容易にする様々なソフトウェアコンポーネント若しくはドライバ、又はその両方を有する動作システムを含み得る。
【0045】
システム116は、自己誘導式ARセッションプラン生成モジュール206の命令を、それらがプロセッサ200により実行される際に、RAM202にロードすることにより動作し得る。自己誘導式ARセッションプラン生成モジュール206の命令により、システム116は、遠隔誘導式ARセッションの記録されたデータを受信して、それを処理して、ユーザにより装着される又は別様に使用されるコンピュータ化されたARシステム(図示せず)により実行されるように構成されている自己誘導式ARセッションプラン210を出力し得る。
【0046】
本明細書に説明されるようなシステム116は、本発明の例示的な実施形態に過ぎず、実際には、ハードウェアのみ、ソフトウェアのみ、又はハードウェアとソフトウェアとの両方の組み合わせで実装され得る。システム116は、示されたものより多い又はより少ないコンポーネント及びモジュールを有してもよく、複数のコンポーネントのうち2つ又はそれより多くを組み合わせてもよく、又は、コンポーネントの構成若しくは配置が異なってもよい。システム116は、それがマザーボード、データバス、電源、ネットワークインタフェースカード、ディスプレイ、入力デバイス(例えば、キーボード、ポインティングデバイス、タッチセンサ式ディスプレイ)など(図示せず)といった動作可能なコンピュータシステムとして機能することを可能にする任意の追加的なコンポーネントを含み得る。さらに、システム116のコンポーネントは、同じ場所に配置されても又は分散されてもよく、又は、システムは、当技術分野において既知であるように、1又は複数のクラウドコンピューティング「インスタンス」、「コンテナ」若しくは「仮想機械」、又はそれらの組み合わせとして動作してもよい。
【0047】
自己誘導式ARセッションプラン生成モジュール206の命令は、本実施形態に従って自己誘導式ARセッションプランを生成する方法300を示す図3のフローチャートを参照してここで説明される。
【0048】
方法300のステップは、順序が、特定のステップに必要な入力が前のステップの出力から取得されることを許容する限り、それらが表示された順序又は異なる順序(又はさらには並列で)のいずれかで実行され得る。さらに、方法300のステップは、別様に具体的に記載されない限り、自動的に(例えば、図1および図2のシステム116により)実行される。
【0049】
ステップ302において、遠隔誘導式ARセッション中に記録されたデータが受信され得る。セッションは、少なくとも1人のリモートユーザと少なくとも1人のローカルユーザとの間で行われた。以下の説明を単に簡略化すると、単一のリモートユーザと単一のローカルユーザとは、以下で参照される。
【0050】
受信されたデータは、例えば、ローカルユーザのカメラにより撮影されたシーンの画像、カメラの姿勢データ、リモート及びローカルユーザのうちの少なくとも1人により作成された注釈、リモートユーザとローカルユーザとの間の会話、若しくは、シーン3D座標、シーン3D点群などといった(図1の)ARセッションデータベース114に格納された任意の他のデータ、又はそれらの組み合わせを含み得る。
【0051】
ステップ304において、シーンの3D表現は、従来技術を使用して、画像及びカメラの姿勢データに基づいて生成され得る。この3D表現は、特定の実施形態において、遠隔誘導式ARセッション中に生成された3D点群が、シーンの大まかで不正確な表現である場合に有用であり得、これは、注釈をほぼ正しい位置にオーバーレイすることなどの単純なタスクにのみ十分である。オフラインで、進行中のARセッションのリアルタイムの制約なしに生成された3D表現は、はるかに正確であり得、したがって、ロバストな自己誘導式ARセッションプランを生成するのに使用され得る。しかしながら、遠隔誘導式ARセッション中に生成された3D点群が十分正確である場合、シーンの3D表現は、画像及びカメラの姿勢データから生成される代わりに、その点群から生成され得る。
【0052】
任意選択的に、シーンの生成された3D表現はそれぞれ、少なくとも1つの物理的オブジェクトの少なくとも1つの3Dモデルであるか、又はそれを含む。例えば、遠隔誘導式ARセッションが卓上プリンタのメンテナンスを対象とする場合、次にステップ304は、そのプリンタの3Dモデルの生成を含み得る。このように、後で生成された自己誘導式ARセッションプラン(以下で説明される)は、プリンタが位置付けられているキャビネット又は棚、プリンタの周囲の家具などといった、維持されるべき同じモデルの卓上プリンタの環境に依存しない場合がある。
【0053】
ステップ306において、注釈は、生成された3D表現内の好適な位置と関連付けられ得る。この関連付けは、例えば、シーンの3D座標のセットにおいて遠隔誘導式ARセッション中に定義された注釈の元の位置を、生成された3D表現及びそれ自身の座標セットと相関させることにより実行される。
【0054】
任意選択的に、このステップは、注釈及びそれらの位置を、シーンの関連オブジェクトの「デジタルツイン」と、そのようなデジタルツインが利用可能な場合に、比較することをも含み得る。デジタルツインは、当技術分野で既知であるように、あるオブジェクトのコンピュータでシミュレーションされる3Dモデルであり、通常、そのオブジェクトの様々な部分に名前を付けるテキストラベ若しくはそれを説明するテキストラベル又はその両方を含む。デジタルツインは、多くの場合、技術者、又はオブジェクトの複雑性についての学習に興味を持つ他の人々に対する参照として使用されるために生成される。デジタルツインは通常、専門的に定義されたラベルを含むので、これらのラベルは、遠隔誘導式ARセッションにおいて作成された注釈を強化し、修正し、若しくはそれに追加し、又はそれらの組み合わせをするためにステップ306において使用され得る。例えば、特定の注釈が「ボタン」を読むが、デジタルツインにおける対応するラベル(すなわち、注釈と実質的に同じオブジェクトの位置に位置付けられたラベル)が「メイン電源ボタン」である場合、後者が好ましい場合がある。その2つの間の比較に続いて、注釈のテキストをオーバーライドするために、最も長いテキスト、最も短いテキスト、両方のテキストの連結、又は、ラベルのテキストのみの単純な選択などの、1又は複数の基準に基づいて、各注釈に対する最終テキストが選択され得る。
【0055】
任意選択的に、最終的に選択されたテキストは、関連する注釈のテキストと同一又は同様である、会話に存在するテキストを置き換えるために利用されてもよい。例えば、特定のセグメントにおける注釈「ボタン」がデジタルツインラベル「メイン電源ボタン」でオーバーライドされた場合、その会話におけるテキスト「ボタン」の発生は全て、同じセグメントにおいて、「メイン電源ボタン」に置き換えられてもよい。
【0056】
ステップ308において、受信されたデータ(その1又は複数のモダリティ、又は、1又は複数のモダリティの各々に対して利用可能なデータの一部など)の少なくとも一部は、遠隔誘導式ARセッション中にシーンにおけるローカルユーザにより実行される複数のステップに対応する複数の時間的セグメントにセグメント化され得る。単純な例として、ローカルユーザがボタン112aを押した場合、ネジ112bを除去し、ネジの穴を掃除し、ネジを穴に戻して(すなわち、4つのオブジェクト操作を行って)、次に、データは、4つの時間的セグメントに‐これら4つのステップごとに1つにセグメント化され得る。
【0057】
ステップ308は、図4を参照してより良く理解され得る。図4は、遠隔支援式ARセッション中の、リモートユーザ又はローカルユーザの例示的なパーソナルコンピューティングデバイス400(この例では、スマートフォン)の半絵画図である。デバイス400上で動作する専用のソフトウェアは、デバイスの1又は複数のカメラと、そのネットワーク(例えば、インターネット)接続機能(例えば、テキスト、音声若しくはビデオチャット、又はそれらの組み合わせを実行する)を用いて、インタフェース接続することによって、且つ、セッションに要求される機能を用いてグラフィカルユーザインタフェース(GUI)を提供することによって、セッションを容易にし得る。
【0058】
デバイス400のディスプレイ上の1つの領域は、ローカルユーザのカメラにより撮影された画像又はビデオ402を表示し得る。別の領域は、この例示的な例においてテキストチャットとして行われる、リモートユーザとローカルユーザとの間の会話404を表示し得る。
【0059】
表示された会話404は、9:59:30から10:02:08(時:分:秒)の間の期間にわたるメッセージを含む。ローカルユーザであるJohnは、リモートユーザであるJaneに、錆びたネジをどのように置き換えるかを尋ねる。Janeは、ネジの置き換えに必要なステップを通じてJohnを誘導する。そのうち最初の2つが示される:ユニットの電力をターンオフすること、及び錆びたネジを取り出すこと。Janeにより提供される遠隔ガイダンスは、この例において、「OFF」ボタンとネジが彼女のスクリーンに表示される場所の横に彼女が位置付けするテキスト命令及び図形注釈の両方を含む。Johnにより実行されたステップは、シーンに表示されている3つの物理的オブジェクトの操作、すなわち、押された「OFF」ボタン、(ボタンを押すことによって)ターンオフされたユニット、及び取り出されたネジを含む。しかしながら、ステップとオブジェクトの操作との間の関係は、必ずしもステップごとに1つの操作であるわけではない。特定の実施形態では、ステップが同じオブジェクト又は異なるオブジェクトのいずれかの複数の操作を含むことがかなり可能である。
【0060】
図4の例示的なシナリオにおいては、記録されたデータを、第1ステップ(ユニットをターンオフする)に対応する9:59:30から10:01:21までの第1セグメントと、第2ステップ(ネジを取り出す)に対応する10:01:44から10:02:08までの第2セグメントとの2つにセグメント化することが有益であり得る。もちろん、必要に応じて、セグメントが部分的に重なることも可能であり、その結果、それぞれの新しいセグメントも、前のセグメントの簡単な部分を含み、自己誘導されるユーザへのリマインダとして機能する。また、記録されたデータをセグメント化する場合、遠隔誘導式セッションのユーザ間で交換される細かい点(niceties)、又は、より一般的な意味では、シーンにおいて特定の動作を実行するための直接的命令ではない任意のものなどの、自己誘導式セッションに不要とみなされる(1又は複数のモダリティのうちの)データ部分を省略することが可能である。
【0061】
ここで、図3のフローチャートを再び参照する。このようにデータに既存するステップを検出すべく、1又は複数の以下のサブステップが実行され得る。
【0062】
サブステップ308aにおいて、機械学習の自然言語認識(NLU)アルゴリズムが会話に適用され、ローカルユーザ若しくはリモートユーザ、又はその両方により行われた、ステップからステップへの移行を示す発話を検出し得る。例えば、図4を暫定的に参照すると、ローカルユーザは、「押す」という動詞の過去形がステップの完了を示す「押しました」などの表現、又は、人々があるステップを完了したことを示すために使用する傾向にある多くの典型的な表現のうちの1つである、「次は何ですか?」のような表現を(声で又はテキストをタイプすることによって)発し得る。結果として、リモートユーザは、新たなステップの説明を開始する場合に人々が通常使用する単語である、「まず…」又は「今は…」のような表現又は単語を発し得る。
【0063】
NLUアルゴリズムは、遠隔誘導式ARセッションからの手動でラベル付けされた会話サンプルに基づいて、以前にトレーニングされた機械学習NLUモデルを利用し、そのような発話を検出し得る。サンプルは、ステップの完了若しくは新たなステップの開始、又はその両方など、1つのステップから別のステップへの移行を示すと考えられるサンプルにおけるそれらの単語又は表現をラベリング(すなわち、マーキング)するように指示された人間のレビュアーによりラベリングされ得る。これらのラベリングされたサンプルに基づいてモデルをトレーニングすることは、従来技術を使用して実行され得る。
【0064】
いくつかの実施形態において、NLUアルゴリズムは、意図分類アルゴリズム(場合により「意図解析」又は「意図検出」アルゴリズムと称される)であり、これは、会話を分析して、次のステップに進む意図を表現する及び/又は現在のステップの完了を報告するための基礎となる単語、表現若しくは文章、又はそれらの組み合わせを検出するように構成されている。
【0065】
代替的に又はNLUアルゴリズムの使用に加えて、ステップからステップへの移行が、そのような移行を示すために予め定められた単語若しくは表現、又はその両方を含むカスタム辞書で、会話からの単語若しくは表現、又はその両方を検索することにより検出され得る。検索は、そのような単語若しくは表現、又はその両方の同義語若しくは文法的な語形変化、又はその両方も対象にするように拡張され得る。
【0066】
サブステップ308bにおいて、注釈と関連付けられた(シーンの3D表現における)位置を分析して、ステップからステップへの移行を示す位置の差を検出し得る。例えば、図4を暫定的に参照すると、「押す」及び「取り出す」という注釈がシーンの3D表現において異なる位置と関連付けられているという事実は、それらの注釈が2つの異なるステップに属することを示し得る。すなわち、シーンにおいて大幅に離れた位置に作成される後続の注釈は、参加中のユーザの焦点が1つのオブジェクトから別のオブジェクトに、そしておそらく1つのステップから別のステップに、移動したことを示し得る。
【0067】
従って、サブステップ308bにおいて、1つのセグメントは、「押す」注釈の作成から(且つ、この注釈も含む)「取り出す」注釈の作成まで(しかし、この注釈は含まない)の期間として定義されてよく、後続のセグメントは、「取り出す」注釈の作成から(且つ、この注釈も含む)(図4には示されない)次の注釈の作成まで(しかし、この注釈は含まない)の期間として定義されてよい。しかしながら、ステップ308に関して概して上述したように、セグメントは、必要に応じて部分的に重なり得る。
【0068】
注釈位置の差の検出は、予め定義された閾値に基づいており、その結果、非常に近い(閾値より下の)位置はステップ移行検出をトリガせず、逆もまた同様である。閾値は、例えば、実際のシーンにおける物理的距離(例えば、Xインチ)の単位で定義され得る。しかしながら、シーン又は操作されるオブジェクトの全体的なサイズは、遠隔誘導式ARセッション間で大幅に変動し得るので、閾値は、セッションにおいて行われる後続の注釈間の距離の平均値、中央値、最頻値、又は異なる統計的尺度に対して定義され得る。例えば、自動車に行なわれた操作を伴うシーンにおいて、複数のペアの後続の注釈間の平均距離は2フィートであり得、一方、卓上プリンタに行われた操作を伴うシーンにおいて、平均距離は2インチであり得る。従って、好適な閾値は、例えば、平均距離の50%~70%であり得る。より広く定義すると、閾値は、後続の注釈間の距離の平均値、中央値、最頻値、又は異なる統計的尺度の20%~90%でセットされ得る。さらなる実施形態において、閾値は、前述の20%~90%の範囲を超える値でセットされ得る。
【0069】
距離閾値に対して追加的に又は代替的に、時間的閾値がセットされ得、その結果、次々に非常に短く作成された(時間的閾値より下で)注釈は、ステップ移行検出をトリガせず、逆もまた同様である。距離閾値と同様に、時間的閾値は、秒単位で強固にセットされてもよく、又は、全ての後続の複数のペアの注釈間の時間的差の統計的尺度(例えば、平均値、中央値、最頻値)のパーセンテージとして柔軟にセットされてもよい。
【0070】
サブステップ308cにおいて、カメラの姿勢データが分析され、ステップからステップへの移行を示す姿勢移行を検出し得る。以前のサブステップ308bにおける注釈位置の解析と同様に、カメラの姿勢データは、遠隔誘導式ARセッション中においてユーザの焦点が移動することの理解を可能にするさらに別のソースである。ローカルユーザのカメラがしばらくほぼ同じ姿勢を維持し、次に、実質的な姿勢の変化を行ってまたしばらく維持される場合、これは、2つの異なるステップがローカルユーザにより実行されたことを示し得る。
【0071】
スマートフォン500のディスプレイ上の図4Aおよび4Bと同じオブジェクトを示す図5Aおよび図5Bを暫定的に参照すると、カメラの姿勢がオブジェクトの正面(図5A)を見ることからオブジェクトの側面(図5B)を見ることに変化した場合、これは、第1ステップと関連付けられた第1姿勢と、第2ステップに関連付けられた第2姿勢とを示す可能性が高い。例えば、第2姿勢は、ローカルユーザがオブジェクトの左側の切子面における、第1姿勢では見えない穴502を見る(そして場合によっては操作する)ことを可能にし得る。
【0072】
そのような姿勢移行の検出は、カメラの位置若しくは向き、又はその両方の差の閾値に基づき、そして任意選択的に、長く維持されない姿勢(例えば、ローカルユーザによる実際の焦点移動を示す移動より、偶発的な移動又は別様の重要ではない移動に起因する可能性がより高いカメラ姿勢移動)をフィルタリングする時間的閾値にも基づく。これらの閾値は、従来のように、距離/角度の単位(姿勢データの位置/向きに対応する)及び時間単位のそれぞれで厳密に定義されるか、又は、姿勢変化の特定の統計的尺度のパーセンテージとして柔軟に定義されるかのいずれかであり得る。
【0073】
任意選択的に、ステップ308に従ってステップを検出することは、サブステップ308a、308b及び308cのうち2つの又は3つ全ての融合を含み得る。融合は、例えば、3つ(NLU、注釈位置解析、カメラ姿勢解析)のうち1又は複数の技術により検出されるが、3つのうち1又は複数の異なる技術によっては検出されない、1又は複数のステップを追加することを含み得る。例えば、NLUアルゴリズムによる検出が、その間に長い時間的ギャップを有する2つのセグメント生成し、カメラ姿勢解析による検出が、ちょうどその長いギャップにセグメントを生成する場合(又は、隣接セグメントとわずかに重なる場合でも)、次に、全ての3つのセグメントが利用され得る。別の選択肢は、自動投票プロセスを経ることであり、ここで、セグメンテーションは、3つの異なる技術のうち多数決により決定されるか、又は、任意の特定のセグメントに対して投票が等しい場合はランダム技術で決定される。
【0074】
ステップ310において、自己誘導式ARセッションプラン(以下では、「セッションプラン」)が、セグメント化されたデータ及び3D表現に基づいて生成され得る。セッションプランは、遠隔誘導式ARセッションが行われたシーンにおいて、又は、同様のシーン(例えば、同じ又は同様の操作を要求する同じ又は同様のオブジェクトを含むシーン)において、複数のステップをどのように実行するかに対するステップからステップへのARガイダンスを含み得る。
【0075】
セッションプランは、コンピュータ化された自己誘導式ARシステムにより実行される(312)ように構成されているプログラム命令のセットを含み得る。自己誘導式ARシステムは、いくつかの実施形態において、そのユーザによって完全に又は部分的に着用可能又は携帯可能である。このシステムは、少なくともカメラ、ディスプレイ、及びコンピュータ化されたデバイスを含み得、これらは、カメラにより画像化されたシーンを分析して、その中の関連オブジェクトを追跡して、表示されたシーンにおける拡張層としてリアルタイムで情報をオーバーレイする若しくはそのような情報を別様にユーザに提供する又はその両方を行うように連携する。
【0076】
自己誘導式ARシステムにより提供された情報は、本実施形態において、セッションプランに含まれるガイダンスである。そのガイダンスは、複数のステップの各々において、関連するシーンに表示されている1又は複数の物理的オブジェクトをどのように操作するかに対する命令を含み得る。これらの命令は、例えば、注釈の少なくとも一部若しくは遠隔誘導式ARセッション中に行われた会話のテキストの少なくとも一部、又はその両方を含み得る。さらに又は代替的に、命令は、注釈若しくは会話からの逐語的なテキスト、又はその両方を含むものではなく、むしろ、テキスト要約アルゴリズム等により生成された概要などの、その自動的に処理されたバージョンであり得る。
【0077】
例えば、図4Aおよび図4Bを暫定的に参照すると、図示された会話及び注釈に基づいて生成されたセッションプランの第1ステップは、以下のテキストであり得る:「矢印で示されたメイン電源ボタンを押してください。ユニットの電力が切れるまでお待ちください。」。そのようなテキストは、第1ステップに対応するセグメントにおける会話にテキスト要約アルゴリズムを適用した結果、並びに、「押す」という単語を、より説明的な「メイン電源ボタン」という単語でオーバーライドするためのデジタルツインの使用であり得る。ユーザにそのテキストを提供するのと同時に、矢印が、ユーザに表示されるシーン上の拡張層として表示され、メイン電源ボタンの位置を指し得る。同様に、任意の他の好適な図形注釈が、メイン電源ボタンの位置に又はその近くに表示され得る。任意選択的に、ガイダンスのテキスト自体は、拡張層として、例えば、メイン電源ボタンの位置に若しくはその近くに、又はボタンからより遠く離れて(視野を妨げないように)表示され得るが、ボタンの位置に対するテキストガイダンスの属性を視覚化する矢印、線、又は異なるグラフィックコネクタを用いて表示され得る。代替的に、ガイダンスのテキストは、シーン上の拡張層としてではなく、ユーザにより使用されるコンピュータ化されたディスプレイの異なるエリアにおいて表示され得る。さらなる選択肢において、ガイダンス、又はその特定の部分は、テキストからスピーチのアルゴリズムを使用して音声に変換され、1又は複数のスピーカ、ヘッドフォン等を使用してユーザに出力され得る。
【0078】
自己誘導式ARシステムが、注釈、命令等の正しいオーバーレイに好ましくないシーンにおける関連オブジェクトを追跡可能になる順序において、セッションプランはまた、シーンの生成された3D表現若しくはオブジェクトの生成された3Dモデル、又はその両方を含み得、自己誘導式ARシステムにより読み取り可能なフォーマットにエンコードされる。
【0079】
有利なことに、セッションプランの段階的態様は、自己誘導式ARシステムに、ユーザコマンドに応答する各ステップに関連付けられたガイダンスの表示若しくは直前のステップの完了の機械視覚検出、又はその両方を開始させ得る。
【0080】
1つの選択肢において、セッションプランのプログラム命令は、次のステップに進むためのユーザの発話、タイプ、又は別様のコマンドの発行に応答して、ガイダンスのステップ間で自己誘導式ARシステムの移行を行うように構成され得る。例えば、プログラム命令は、「進みましょう」、「次へ」、「継続してください」、又は「続けてください」などの、ユーザにより発されてコンピュータ化されたARシステムのマイクにより補足される場合に、それがガイダンスの次のステップに進むようにさせる、単語若しくは表現、又はその両方のリストで構成され得る。さらに又は代替的に、ステップからステップへの移行を示す発話を検出するためにサブステップ308aにおいてトレーニングされたNLUモデルは、ここでも、自己誘導式ARシステムをガイダンスの次のステップに進ませたいユーザの要求を示す発話を検出するのに使用され得る。
【0081】
さらなる選択肢において、セッションプランのプログラム命令は、ユーザがARガイダンスの次のステップに進むべく作動し得る、例えば、「次のステップ」、「継続」等でラベリングされたボタンを表示し得る。ボタンは、例えば、ユーザのコンピュータ化されたデバイスのタッチセンサ式ディスプレイ上に表示されてもよい、若しくは、表示されたシーン上に拡張層としてオーバーレイされてもよい、又は、その両方であってよい。
【0082】
さらに別の選択肢において、セッションプランのプログラム命令は、ステップが完了したことを意味するシーンにおける物理的変化を検出するために、画像化されたシーンをリアルタイムで分析する機械視覚アルゴリズムで構成され得る。図4Aおよび図4Bを暫定的に参照すると、機械視覚アルゴリズムは、図4Aにおける上面から突出するボタンが、続いて図4Bにおいては押し下げられ、わずかに突出していることを検出し得る。プログラム命令は、この特定の視覚的検出を、そのボタンを押すことを伴うステップの完了と関連付けるように構成され得、次に、コンピュータ化されたARシステムをARガイダンスの以下のステップに自動的に進ませ得る。
【0083】
機械視覚アルゴリズムは、記録されたデータの様々なセグメントに示されたオブジェクトに対する視覚的変化に基づいてトレーニングされ得る。トレーニングは、いくつかの実施形態において、完全に自動であり得る:トレーニングセットは、ステップが完了したこと又は完了していないことに関連付けられるように自動的にラベリングされた、遠隔誘導式ARセッション中に撮影された画像から自動的に生成され得る。例えば、図4Aおよび図4Bを暫定的に参照すると、9:59:30から10:00:41の間に撮影された画像は、ローカルユーザが第1ステップの操作(ボタンを押す)を実行する機会を有する前に撮影されたので、第1ステップの完了に関連付けられないように自動的にラベリングされ得る。これに対して、10:00:55の後に、例えば10:01:44(ユーザが第2ステップの実行を開始した可能性がある時間)までに撮影された画像は、ローカルユーザが第1ステップ(ボタンの押下)の完了を報告した後に撮影されたので、第1ステップの完了と関連付けられるように自動的にラベリングされ得る。次に、トレーニングは、ラベリングされた画像に基づいて、従来技術を使用して自動的に行われ得る。
【0084】
任意選択的に、トレーニングセッションはステップごとに実行され、そのステップで発生すると予想される特定の操作を検出するように構成されたステップ固有の機械ビジョンモデルを生成する。従って、セッションプランが実行される場合、機械視覚アルゴリズムは、取得された画像を分析して、それらの中からモデル化された操作をリアルタイムで検出するべく、現在行われているステップと関連付けられている予め生成された機械ビジョンモデルを利用し得る。
【0085】
任意選択的に、機械視覚アルゴリズムがステップ完了を検出するのに使用される場合であっても、プログラム命令は依然として、次のステップに進む前に自己誘導式ARシステムが明示的なユーザの確認を得るようにさせ得る。例えば、メイン電源ボタンが押されたことを機械視覚アルゴリズムが検出すると、自己誘導式ARシステムは、進める前に、確認ボタンを表示させる若しくは進める又はその両方かどうかをユーザに聴覚的に尋ね、ボタンの作動若しくはユーザによる言葉のコマンド、又はその両方をそれぞれ待ち得る。
【0086】
本発明は、システム、方法若しくはコンピュータプログラム製品、又はそれらの組み合わせであり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する(1又は複数の)コンピュータ可読記憶媒体を含み得る。
【0087】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持及び格納し得る有形のデバイスであり得る。コンピュータ可読記憶媒体は、例えば、限定されるものではないが、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は前述のものの任意の好適な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的な例の非包括的なリストは、以下を含む:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、命令が記録された機械的にエンコードされたデバイス、及び前述のものの任意の好適な組み合わせ。本明細書で使用されるコンピュータ可読記憶媒体は、それ自体が電波若しくは他の自由に伝搬する電磁波、導波路若しくは他の送信媒体を通って伝搬する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は、ワイヤを通って送信される電気信号などの一時的な信号であると解釈されるものではない。むしろ、コンピュータ可読記憶媒体は、非一時的(不揮発性)媒体である。
【0088】
本明細書に説明されるコンピュータ可読プログラム命令は、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク若しくは無線ネットワーク、又はそれらの組み合わせなどのネットワークを介して、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、又は、外部コンピュータ若しくは外部のストレージデバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送繊維、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ若しくはエッジサーバ、又はそれらの組み合わせを含み得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に格納するために当該コンピュータ可読プログラム命令を転送する。
【0089】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Java(登録商標)、Smalltalk(登録商標)、C++などといったオブジェクト指向プログラミング言語、及び、「C」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1又は複数のプログラミング言語の任意の組み合わせで書き込まれたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全て実行され得るか、スタンドアロンソフトウェアパッケージとしてユーザのコンピュータ上で部分的に実行され得るか、部分的にユーザのコンピュータ上で且つ部分的にリモートコンピュータ上で実行され得るか、又は、リモートコンピュータ若しくはサーバ上で全て実行され得る。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、又は、接続は、外部コンピュータに対して(例えば、インターネットサービスプロバイダを使用してインターネットを通して)行われてもよい。いくつかの実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を実行するべく、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行し得る。
【0090】
本発明の態様は、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図若しくはブロック図、又はその両方を参照して本明細書に説明されている。フローチャート図若しくはブロック図、又はその両方の各ブロック、並びに、フローチャート図若しくはブロック図、又はその両方のブロックの組み合わせは、コンピュータ可読プログラム命令により実装され得ることを理解されたい。
【0091】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供され、機械を生成し、その結果、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャート若しくはブロック図又はその両方のブロック若しくは複数のブロックにおいて指定された機能/動作を実装する手段を生成し得る。また、これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置若しくは他のデバイス、又はそれらの組み合わせを、特定の方式で機能するように指示得るコンピュータ可読記憶媒体に格納され、その結果、命令が格納されたコンピュータ可読記憶媒体は、フローチャート若しくはブロック図又はその両方のブロック若しくは複数のブロックにおいて指定された機能/動作の態様を実装する命令を含む製品を含み得る。
【0092】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスにロードされ、一連の動作ステップをコンピュータ、他のプログラマブル装置、又は他のデバイス上で実行させ、コンピュータにより実装されるプロセスを生成し、その結果、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート若しくはブロック図又はその両方のブロック若しくは複数のブロックにおいて指定された機能/動作を実装し得る。
【0093】
図面内のフローチャート及びブロック図は、本発明の様々な実施形態に係る、システム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装するための1又は複数の実行可能な命令を含む、命令のモジュール、セグメント、又は部分を表し得る。また、ブロック図若しくはフローチャート図、又はその両方の各ブロック、並びに、ブロック図若しくはフローチャート図、又はその両方におけるブロックの組み合わせは、指定された機能若しくは行為を実行する、又は、特定用途向けハードウェア及びコンピュータ命令の組み合わせを実行する、特定用途向けハードウェアベースのシステムによって実装され得ることに留意されたい。
【0094】
数値範囲の説明は、その範囲内の個別の数値のみならず、全ての可能なサブレンジを具体的に開示したものとしてみなされるべきである。例えば、1から6の範囲の説明は、その範囲内の個別の数字、例えば、1,2,3,4,5、及び6のみならず、1から3、1から4、1から5、2から4、2から6、3から6などといったサブレンジを具体的に開示したものとしてみなされるべきである。これは、範囲の幅に関係なく適用される。
【0095】
本発明の様々な実施形態の説明は、包括的、又は、開示された実施形態に限定されることを意図するものではなく、例示を目的として表示されている。説明されている実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が、当業者にとって明らかとなるであろう。本明細書において使用される用語は、実施形態の原理、実際の適用、又は、業界で見られる技術に対する技術的改善点を最も適切に説明するために、又は、他の当業者が本明細書に開示された実施形態を理解することを可能とするために選択されたものである。
図1
図2
図3
図4A
図4B
図5A
図5B