(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-05-20
(54)【発明の名称】神経筋データに基づく制御スキームのためのシステムおよび方法
(51)【国際特許分類】
G06F 3/01 20060101AFI20220513BHJP
A61B 5/397 20210101ALI20220513BHJP
A61B 5/256 20210101ALI20220513BHJP
【FI】
G06F3/01
A61B5/397
A61B5/256 220
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021534144
(86)(22)【出願日】2020-03-30
(85)【翻訳文提出日】2021-08-13
(86)【国際出願番号】 US2020025735
(87)【国際公開番号】W WO2020205744
(87)【国際公開日】2020-10-08
(32)【優先日】2019-03-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-01-31
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-03-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-04-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】515046968
【氏名又は名称】フェイスブック・テクノロジーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】FACEBOOK TECHNOLOGIES, LLC
(74)【代理人】
【識別番号】110002974
【氏名又は名称】特許業務法人World IP
(72)【発明者】
【氏名】リーズマン, ジェイソン
(72)【発明者】
【氏名】ルビン, ラン
(72)【発明者】
【氏名】ジャヤラム, ヴィナイ
(72)【発明者】
【氏名】シンハル, タナイ
(72)【発明者】
【氏名】ウェットモア, ダニエル
【テーマコード(参考)】
4C127
5E555
【Fターム(参考)】
4C127AA04
4C127FF02
4C127LL13
5E555AA11
5E555AA76
5E555BA38
5E555BB38
5E555BC04
5E555BE17
5E555CA41
5E555CA42
5E555CA44
5E555CA47
5E555CB66
5E555CB69
5E555DA08
5E555DA09
5E555DA21
5E555DA24
5E555FA00
(57)【要約】
開示されるシステムおよび方法は、一般的には神経筋データに基づいてユーザ制御スキームを生成することを対象としている。開示されるシステムおよび方法は、ユーザを訓練し、ユーザがマシンおよびコンピュータの神経筋制御の良好な制御を達成するための神経筋データの特徴空間または潜在空間の表現を含むことができる。特定の実施形態では、システムおよび方法は、複数の別個の推論モデル(例えば、特徴空間の複数の領域で訓練された推論モデルを使用する完全な制御スキーム)を採用する。様々な他の方法、システム、およびコンピュータ可読媒体も開示される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザから複数の信号データを受信する、1つまたは複数の神経筋センサと、
少なくとも1つの物理的なプロセッサと、
コンピュータ実行可能命令を含む物理的なメモリであって、前記コンピュータ実行可能命令は、前記物理的なプロセッサによって実行されると、前記物理的なプロセッサに、
前記複数の信号データを受信して、処理することと、
前記処理された信号データを、前記処理された信号データに対応する1つまたは複数のパラメータによって定義される特徴空間にマッピングすることと、
第1の複数の処理された信号データの前記マッピングに基づいて、前記特徴空間内で第1のサブ領域を識別することと、
第1の推論モデルを、前記特徴空間内の前記識別された第1のサブ領域と関連付けることと、
前記特徴空間の前記第1のサブ領域に対応する第3の複数の処理された信号データの前記マッピングに基づいて、前記第1の推論モデルを第3の複数の処理された信号データに適用することと
を行わせる、物理的なメモリと
を備える、システム。
【請求項2】
前記コンピュータ実行可能命令が、前記物理的なプロセッサに、
第2の複数の処理された信号データに基づいて、前記特徴空間内で第2のサブ領域を識別することと、
前記特徴空間の前記第2のサブ領域に対応する第4の複数の処理された信号データに基づいて、第2の推論モデルを前記第4の複数の処理された信号データに適用することと
をさらに行わせる、請求項1に記載のシステム。
【請求項3】
ユーザから複数の信号データを受信する、1つまたは複数の神経筋センサと、
少なくとも1つの物理的なプロセッサと、
コンピュータ実行可能命令を含む物理的なメモリであって、前記コンピュータ実行可能命令は、前記物理的なプロセッサによって実行されると、前記物理的なプロセッサに、
第1の複数の信号データを受信して、処理することと、
前記第1の複数の処理された信号データに対応する1つまたは複数のパラメータによって定義される特徴空間を生成することと、
前記特徴空間内の複数の領域をマッピングすることであって、前記複数の領域をマッピングすることが、
前記複数の領域のそれぞれを、対応する入力モードに関連付けること、および
それぞれの入力モードを対応する推論モデルに関連付けること
を含む、前記複数の領域をマッピングすることと、
第2の複数の信号データに基づいて、入力モードを自動的に検出することと、
前記検出された入力モードに基づいて、第1の推論モデルを自動的に選択することと、
前記第1の推論モデルを前記第2の複数の信号データに適用することによって、出力信号を生成することと
を行わせる、物理的なメモリと
を備える、システム。
【請求項4】
前記入力モードが、
手のポーズ、
個別のジェスチャ、
連続的なジェスチャ、
指タップ、
2Dの手首回転、または
タイピングアクション
のイベントのうちの少なくとも1つの分類に関連する、請求項3に記載のシステム。
【請求項5】
前記入力モードが、
個別のジェスチャ、
指タップ、
手のポーズ、または
連続的なジェスチャ
のイベントのうちの少なくとも1つに関連付けられる力レベルの分類に関連する、請求項3に記載のシステム。
【請求項6】
前記選択された第1の推論モデルが、同一のユーザから収集された処理された信号データに基づいて、以前に訓練された個別化されたモデルを含む、請求項3に記載のシステム。
【請求項7】
前記特徴空間内の複数の領域を識別することが、前記処理された信号データのコンピュータ分析に基づいて、前記領域のサイズおよび形状を最適化することをさらに含む、請求項3に記載のシステム。
【請求項8】
前記複数の信号データを処理することが、1ユーロフィルタまたは2ユーロフィルタのいずれかを、前記複数の信号データに適用することを含む、請求項3に記載のシステム。
【請求項9】
前記処理された複数の信号データに基づいて、前記入力モードを自動的に検出することが、前記入力モード内で発生する入力イベントに関連付けられるゲートを前記1ユーロフィルタに適用することを含む、請求項8に記載のシステム。
【請求項10】
前記ゲートを前記1ユーロフィルタに適用することが、前記1ユーロフィルタの適応的な時定数を修正することを含む、請求項9に記載のシステム。
【請求項11】
前記コンピュータ実行可能命令が、前記物理的なプロセッサに
前記複数の信号データを処理して低次元潜在空間を生成することと、
前記低次元潜在空間の視覚表現をグラフィカルインターフェース内に提示することと、
新しい信号データが受信されると、前記新しい信号データを1つまたは複数の潜在ベクトルとして前記低次元潜在空間内にプロットすることによって、前記低次元潜在空間の前記視覚表現をリアルタイムに更新することと
をさらに行わせる、請求項3に記載のシステム。
【請求項12】
前記潜在空間の前記視覚表現が、前記潜在空間内の潜在分類サブ領域間の境界の視覚表現を含む、請求項11に記載のシステム。
【請求項13】
前記潜在分類サブ領域のうちの1つまたは複数が、前記複数の領域に対応し、
前記潜在空間の前記視覚表現が、前記潜在分類サブ領域の対応する入力モードを説明する前記潜在分類サブ領域に適用されるラベルを含む、
請求項12に記載のシステム。
【請求項14】
前記コンピュータ実行可能命令が、前記物理的なプロセッサに
ユーザがターゲット入力を行うために前記グラフィカルインターフェース内に促しを繰り返し提示することと、
前記新しい信号データを、前記ユーザによる前記ターゲット入力を行う試みとして識別することと、
前記新しい信号データが、一貫性のない潜在分類サブ領域に含まれると判定することと、
前記ユーザに前記第1の推論モデルを再訓練するようプロンプトを提示することと
をさらに行わせる、請求項11に記載のシステム。
【請求項15】
前記コンピュータ実行可能命令が、前記物理的なプロセッサに
ユーザがターゲット入力を行うために前記グラフィカルインターフェース内に促しを繰り返し提示することと、
前記新しい信号データを、前記ユーザによる前記ターゲット入力を行う試みとして識別することと、
前記新しい信号データが前記ターゲット入力に対応する潜在分類サブ領域に含まれないと判定することと、
前記ユーザから入力を受信して、前記新しい信号データが前記ターゲット入力に対応する前記潜在分類サブ領域に含まれるように前記第1の推論モデルを修正することと
をさらに行わせる、請求項11に記載のシステム。
【請求項16】
1つまたは複数の神経筋センサから、初期の複数の信号データを受信して、処理することと、
前記初期の複数の処理された信号データに対応する1つまたは複数のパラメータによって定義される特徴空間を生成することと、
前記特徴空間内の複数の領域をマッピングすることであって、前記複数の領域をマッピングすることが、
前記複数の領域のそれぞれを、対応する入力モードに関連付けること、および
それぞれの入力モードを対応する推論モデルに関連付けること
を含む、前記複数の領域をマッピングすることと、
後続の複数の信号データに基づいて、入力モードを自動的に検出することと、
前記検出された入力モードに基づいて、前記対応する推論モデルを自動的に選択することと、
前記対応する推論モデルを前記後続の複数の信号データに適用することによって、出力信号を生成することと
を含む、コンピュータに実装される方法。
【請求項17】
前記入力モードが、
手のポーズ、
個別のジェスチャ、
連続的なジェスチャ、
指タップ、
2Dの手首回転、または
タイピングアクション
のイベントのうちの少なくとも1つの分類に関連する、請求項16に記載のコンピュータに実装される方法。
【請求項18】
前記複数の信号データを処理することが、1ユーロフィルタまたは2ユーロフィルタを、前記複数の信号データに適用することを含む、請求項16に記載のコンピュータに実装される方法。
【請求項19】
前記後続の複数の信号データに基づいて、前記入力モードを自動的に検出することが、前記入力モード内で発生する入力イベントに関連付けられるゲートを前記1ユーロフィルタに適用することを含む、請求項18に記載のコンピュータに実装される方法。
【請求項20】
前記複数の信号データを低次元潜在空間へと処理することと、
前記低次元潜在空間の視覚表現をグラフィカルインターフェース内に提示することと、
新しい信号データが受信されると、前記新しい信号データを1つまたは複数の潜在ベクトルとして前記低次元潜在空間内にプロットすることによって、前記低次元潜在空間の前記視覚表現をリアルタイムに更新することと
をさらに含む、請求項16に記載のコンピュータに実装される方法。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2019年3月29日に提出された米国特許出願第62/826,493号、2019年4月30日に提出された米国特許出願第62/840,803号、2020年1月31日に提出された米国特許出願第62/968,495号、および2020年3月29日に提出された米国特許出願第16/833,626号に対する優先権を主張するものである。米国特許出願第62/826,493号、米国特許出願第62/840,803号、米国特許出願第62/968,495号、および米国特許出願第16/833,626号の内容は、あらゆる目的のために、その全体が本明細書に参照により組み込まれる。
【発明の概要】
【0002】
添付の図面は、いくつかの例示的な実施形態を図示しており、また、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を例証して、説明するものである。
【図面の簡単な説明】
【0003】
【
図1】神経筋データについての例示的な特徴空間の図である。
【
図2】
図1の例示的な特徴空間、および特徴空間内の遷移の図である。
【
図3】手首の回転を介する2D動作についての推論モデルのオンライン訓練用の例示的なグラフィカルユーザインターフェースの図である。
【
図4】異なる推論モデルを訓練するためのデータ点の分布を比較するプロットの図である。
【
図5】
図1の例示的な特徴空間、および特徴空間内での別の遷移の図である。
【
図6】ユーザの手のポーズを表現する潜在ベクトルの2D視覚表現を表現する、処理された神経筋データの例示的なプロットの図である。
【
図7】ユーザの手のポーズを表現する潜在ベクトルの2D視覚表現を表現する、処理された神経筋データの例示的なプロットのさらなる図である。
【
図8】ユーザの手のポーズを表現する潜在ベクトルの2D視覚表現を表現する、処理された神経筋データの例示的なプロットのさらなる図である。
【
図9】ユーザの手のポーズを表現する潜在ベクトルの2D視覚表現を表現する、処理された神経筋データの例示的なプロットのさらなる図である。
【
図10】ユーザの手のポーズを表現する潜在ベクトルの2D視覚表現を用いて、処理された神経筋データを視覚化するための、例示的なインターフェースの図である。
【
図11】推論モデルについての例示的な訓練タスクの図である。
【
図12A-C】神経筋データに対する推論モデルの適用に基づいた、カーソル制御についての例示的なインターフェースの図である。
【
図13A-B】経路効率メトリクスの表現の図である。
【
図14A-B】安定性メトリクスの表現の図である。
【
図15A-B】到達可能性メトリクスの表現の図である。
【
図16】組み合わせ論メトリクスの表現の図である。
【
図17】例示的なカーソルインジケータの図である。
【
図18A-B】筋肉の対を感知することによって作り出された神経筋データの連続的1D出力の例示的なプロットの図である。
【
図19】特徴空間にマッピングされた1D神経筋信号の図である。
【
図20】
図19に図示された特徴空間を通る例示的なイベント経路の図である。
【
図21】マハラノビス距離メトリクスのコンテキストにおける、
図20のイベント経路の図である。
【
図22】尤度の負の対数ベースの距離メトリクスのコンテキストにおける、
図20のイベント経路の図である。
【
図23】サポートベクトルマシンのスコア距離メトリクスのコンテキストにおける、
図20のイベント経路の図である。
【
図24】2D特徴空間の例示的なプロットの図である。
【
図25】ユーザが様々なジェスチャを行う際の、時間に対する神経筋データのプロットの図である。
【
図27】修正された1ユーロフィルタで使用される、例示的な関数のプロットの図である。
【
図28A-B】1ユーロフィルタおよび修正された1ユーロフィルタをそれぞれ使用する、モデル予測の例示的なプロットの図である。
【
図29】神経筋データに基づいてジェスチャを推論するための例示的なシステムの図である。
【
図30】神経筋データを感知するための例示的なウェアラブルデバイスの図である。
【
図31A-B】神経筋データを感知するための例示的なウェアラブルシステムの概略図である。
【
図32】本開示の実施形態に関連して使用され得る例示的な拡張現実眼鏡の図である。
【
図33】本開示の実施形態に関連して使用され得る例示的な仮想現実ヘッドセットの図である。
【発明を実施するための形態】
【0004】
図面を通して、同一の参照記号および説明は、必ずしも同一ではないが類似の要素を示す。本明細書において説明される例示的な実施形態は、様々な修正形態および代替的な形態を取る可能性があるが、図面では例として特定の実施形態を示しており、本明細書において詳細に説明する。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることは意図されていない。むしろ、本開示は、添付の特許請求の範囲の範囲に含まれる、全ての修正形態、等価物、および代替物をカバーしている。
【0005】
本開示は、一般的に、神経筋データに基づいてユーザ制御スキームを生成するためのシステムおよび方法を対象としている。開示されるシステムおよび方法は、ユーザを訓練し、ユーザがマシンおよびコンピュータの神経筋制御の優れた制御を達成するための、神経筋データの特徴空間または潜在空間の表現を含むことができる。特定の実施形態では、システムおよび方法は、複数の別個の推論モデル(例えば、特徴空間の複数の領域において訓練された推論モデルを使用する完全な制御スキーム)を採用する。本明細書において議論されるような制御スキームは、コンピュータおよび/または電子デバイスを確実に制御するために、単独で、または組み合わせて使用される、入力コマンドおよび/または入力モードのセットとして考えることができる。例えば、(例えば、神経筋センサを伴うウェアラブルデバイスから集められる)神経筋データは、ユーザの一部において意図された入力コマンドを識別する訓練された推論モデルに、入力として与えることができる。特定のシナリオでは、独立的に訓練されるモデルは、制御用途として完全な制御スキームの一部であるために必要とされるコンテキスト情報および不変性の両方を欠いている場合がある。本明細書において説明されるシステムおよび方法は、データ入力の周囲の状況に基づいて、1つまたは複数の訓練されたモデルのうちの選択的な利用を可能にすることができる(例えば、特徴空間内のデータを解釈するために1つのモデルを使用し、特徴空間の異なる領域内に存在するデータを解釈するために別のモデルを使用するよう、システムに指示する)。一例示の実施形態では、本明細書において説明されるシステムおよび方法は、神経筋センサを伴うアームバンドまたはリストバンドを使用しているユーザが、2Dマップ上で仮想ポインタのより細かな制御を有することを可能にする場合があり、ユーザの2Dマップとの対話およびその様々な機能的な特徴の、より良好な制御を可能にすることもできる。
【0006】
一般的に述べると、機械学習モデルは、特徴空間内の任意の場所からではなく、特徴空間の特定のサブセット/サブ領域から入力を与えられると、より良好に機能することができる。入力が、特徴空間内の関連領域からである場合、モデルの出力はより妥当性のあるものとなる傾向があり得る。しかしながら、データ入力が、その領域の外部である場合、モデルのパフォーマンスに影響が生ずる場合がある。用語「特徴空間」は、筋電図検査(「EMG」)信号などの神経筋信号に関連付けられる、1つまたは複数のパラメータまたはメトリクスを表現する、1つまたは複数のベクトルまたはデータ点を含むことができる。例として、EMG信号は、例えば、特定の時間的、空間的、および時空間的な特性、ならびに周波数、持続時間、および振幅などの他の特性を持つ。特徴空間は、そのような特性またはパラメータのうちの1つまたは複数に基づいて生成することができる。
【0007】
開示されるシステムおよび方法は、データ入力が1つまたは複数の領域または特徴空間の点群に含まれる場合をより良好に識別すること、および特徴空間の様々な領域内に存在する特定のデータ点について適当に訓練されたモデルを適用することによって、完全な制御スキームを可能にする。特定の実施形態では、本明細書において開示されるシステムおよび方法は、様々なタイプの制御スキームまたは入力モードから選択することができ、選択されたスキームおよび/またはモードのタイプに基づいて、適用可能な訓練された機械学習モデルを入力に適用することができる。様々なスキームおよび/または入力モードの選択は、ユーザによって手動で、またはシステムによって自動的に行うことができる。例えば、開示されるシステムおよび方法は、ユーザが異なるタイプの制御スキームまたは入力モードの間で切り替えを行う場合、ユーザが接続されたマシンに対して効果的な制御を維持できるようにすることができる。そのようなスキームおよびモードは、表面タイピング(surface typing)、ユーザの膝上タイピング、2Dで仮想ポインタを制御するために拳および手首を使用すること、描画、筆記、またはユーザが行うことができる任意の他の特定のアクティビティもしくは一般的なアクティビティを含むが、それに限定されない。一例示の実施形態では、ユーザはある表面でタイプしている可能性があり、開示されるシステムおよび方法は、そのアクティビティを検出して、1つもしくは複数のユーザが手を表面上に維持しつつ様々な単語およびフレーズをタイピングすることから取得した訓練データ入力のセットに基づいて訓練された、訓練された推論モデルまたは機械学習モデルを適用することができる。システムおよび方法が、ユーザが今度はユーザの膝上でタイピングしていることを検出する場合、異なるモデルを使用して、様々な単語およびフレーズを自分の膝上でタイピングした1人または複数のユーザからのデータ入力で訓練されているそのモデルを用いてタイピング出力を推論することができる。この方法で、本明細書におけるシステムおよび方法は、より適当に訓練されたモデルを適用して、特定のユーザアクティビティに応じた、より正確な出力を作り出すことができる。
【0008】
別の実施形態では、ユーザはハンドジェスチャを行い、描画モードに切り替えたいと思う可能性がある。ハンドジェスチャを分類するように訓練された推論モデルは、ユーザの描画アクションを識別するように訓練された推論モデルとは正確に異なることができるため、適当に訓練された推論モデルを、モデルを生成するために訓練データが使用されたアクティビティに適用することは、システムおよび方法にとって有利である場合がある。別の実施形態では、ユーザは、スナップ、ピンチなどの個別のハンドジェスチャを行っている可能性があり、様々なレベルの力での拳を作る、様々なレベルの力でピンチを作るなどの連続的なハンドジェスチャを行うことに切り替わる可能性がある。別の例では、ユーザは一連の人差し指と親指とのピンチを行っており、次に一連の中指と親指とのピンチに切り替えたいと思う可能性がある。これらの例のいずれにおいても、開示されるシステムおよび方法は、より適当に訓練された推論モデルを実装して1つの入力モードにおけるユーザの意図するアクションを予測し、別のより適当に訓練されたモデルを使用して別の入力モードにおけるユーザの意図するアクションを予測することができる。本明細書において開示されるシステムおよび方法は、以下のうちの任意の1つまたは複数に基づいて、1つの入力モードまたは制御スキームから、別の入力モードまたは制御スキームへのユーザの遷移を自動的に検出することができる:処理された神経筋入力データ、IMUデバイスからの空間的-時間的データ(例えば、加速度計、ジャイロスコープ、磁気計などを含む)、赤外データ、カメラおよび/またはビデオベースのイメージングデータ。ユーザは、システムおよび方法に命令して、神経筋入力データ(例えば、特定の手の状態、ジェスチャ、またはポーズ)および/または口頭コマンドに基づいて、モード同士または制御スキーム同士の間で切り替えを行うこともできる。
【0009】
特定の実施形態では、神経筋アームバンドまたはリストバンドは、開示されるシステムおよび方法において実装することができる。他の実施形態では、ユーザはリストバンドを、現実または仮想のリモート制御、ゲーム用デバイス、運転ハンドル、携帯電話、ボール、ペン/スタイラスなどを含むがそれらに限定されない、仮想的または物理的な物体を把持することと組み合わせて利用している可能性がある。
【0010】
本明細書において開示されるシステムおよび方法を使用して、2D線形モデルは、データ入力が、モデルが訓練された特徴空間のサブ領域からのものである場合、良好に機能することができる。いくつかの例では、そのようなサブ領域は、特徴抽出および/またはクラスタリング技法を用いて特徴空間内で識別することができる。例えば、特徴空間内のデータ点のクラスタは、サブ領域を定義することができ、サブ領域のサイズは、データ点の共分散として推定され、サブ領域の中心からの距離は、データ点のクラスタからの点のマハラノビス距離によって決定される。したがって、入力のマハラノビス距離(または類似のメトリクス)が、入力をサブ領域内に配置する場合、本明細書において説明されるシステムおよび方法は、サブ領域に対応する推論モデルを適用して、入力を解釈することができる。逆に、入力のマハラノビス距離(または類似のメトリクス)が、サブ領域の外部であるが、代替サブ領域の内部に入力を配置する場合、本明細書において説明されるシステムおよび方法は、代替サブ領域に対応する代替推論モデルを適用して入力を解釈することができる。
【0011】
いくつかの例では、入力は、関連付けられた推論モデルが存在する、特徴空間の事前に定められたどのサブ領域にも含まれない場合がある。これらの例では、システムおよび方法は、様々な方法のいずれにおいても入力を取り扱うことができる。例えば、システムおよび方法は、新しいデフォルトの推論モデルを特定して、新しいデフォルトの推論モデルを適用して入力を解釈することができる。別の例では、システムおよび方法は、最近接の定義されたサブ領域(例えば、「最近接」は、マハラノビス距離または類似のメトリクスにしたがって、決定される)を決定して、特徴空間内で最近接のサブ領域に対応する推論モデルを適用して入力を解釈することができる。追加的に、または代替的に、本明細書において説明されるシステムおよび方法は、ユーザに、ユーザの入力が誤解釈される可能性があることを通知すること、および/または特徴空間の定義されたサブ領域により近く適合するよう、ユーザに将来的な入力を修正するように促すことができる(例えば、ユーザの入力が現在選択される入力モードおよび/またはあらゆる入力モードに、密接に一致しているかどうか、および/またはどれくらい密接に一致しているかどうか、に関するフィードバックをユーザに与える訓練インターフェースに入ることによって)。いくつかの例では、本明細書において説明されるシステムおよび方法は、あらゆる定義されたサブ領域の外部で入力を受信することに基づいて、新しい推論モデルを生成することができる。例えば、これらのシステムおよび方法は、特定の入力を表現するためにユーザによって意図されるアクションを、ユーザに実施するように促して、次に、ユーザが促したアクションによって定義された新しいサブ領域に対応するよう、新しいモデルを訓練する(または、既存のモデルの複製を修正する)ことができる。
【0012】
適当に訓練されたモデルを異なる神経筋データに適用することによって、本明細書において説明されるシステムおよび方法は、人間-コンピュータインターフェースシステムの機能性を改善することができ、神経筋データを解釈するコンピュータの機能における改善、ならびにインターフェースデバイス、拡張現実、および仮想現実の分野における進歩を表している。
【0013】
本明細書において説明される実施形態のいずれからの特徴も、本明細書において説明される一般原理にしたがって、互いに組み合わせて使用することができる。これら、および他の実施形態、特徴、および利点は、添付の図面および特許請求の範囲と併せて以下の詳細な説明を読むと、さらに完全に理解されよう。
【0014】
例として、
図1は例示的な特徴空間110を示している。一例では、特徴空間110は、例えば手首の動きを含む、ユーザの動作のマッピングを表現することができる。
図1に示されるように、ユーザの手首の動きのほとんどは、通常特徴空間110のサブ領域120内に留まる。ユーザの手首の動きが、2Dレーザポインタを操作するための入力として使用される事例では、特徴空間110のサブ領域120内に含まれる入力は、システム内の2Dレーザポインタの確実な制御を可能とすることができる。
【0015】
マッピングされたデータ入力が特徴空間110のサブ領域120の外部となる場合(例えば、ユーザが手首の回転の間に、開いた手を使用するのとは反対に、拳を握り締める場合-またはさらに、拳を緩く握るのではなく、きつめに握った拳を用いる)、手首の回転出力を推論するための2Dモデルのパフォーマンスは低下する場合がある。拳を作ることに付随し得る様々な程度の力では、ユーザは拳を作るのにかけられた力の量のわずかな変化を、有意なものとして知覚できない場合がある。しかしながら、特定のパラメータに対して訓練された推論モデルは、特定のシチュエーションおよび状況下でパフォーマンスが変化する場合がある。特定のイベントについて定義された特徴空間(例えば、きつく握った拳に対して、緩く握った拳)では、マッピングされたデータ点またはベクトルにおける差異が、有意になる可能性があるため、システムパフォーマンスに影響を及ぼす。
図1に示される例では、ユーザが拳を握り締めると、システムへの神経筋入力(例えば、手首の回転)を通じてユーザによって制御されているカーソルが、急にジャンプして、ユーザが意図した場所に位置しなくなる場合がある。これは、「イベントアーチファクト」と呼ぶことができ、ユーザの拳が、手首の回転中緩められている状態に対して、手首の回転中握り締められることに関連付けられる力の変化に帰属し得るものである。ユーザが拳を握り締めることは、EMGセンサから、2Dモデルが訓練されていないサブ領域120の外部の特徴空間における2D空間の異なるサブ領域への、データ入力の遷移を引き起こす可能性がある。いったん特徴空間110のサブ領域120の外部となっても、やはりある程度の制御の可能性はあり得るが、モデルの出力は本質的には定義されていないとして考えられ得る。したがって、ユーザアクティビティの間の特徴空間のサブ領域におけるあらゆるシフトは、ユーザが入力モードもしくは制御スキームを変えたことに帰属し得るか、またはユーザが同一の入力モードもしくは制御スキーム内に留まっているが、その入力モードまたは制御スキームのパラメータを変化させたことに帰属し得る。
【0016】
本明細書で開示されるシステムおよび方法は、特定のデータ収集シナリオにおいて、複数の訓練されたモデルを使用することにより、イベントアーチファクトを、除去、軽減することができる、および/または、そうでなければイベントアーチファクトに対処することができる。本開示の様々な実施形態は、特徴空間内のサブ領域間の遷移がいつ生じているか、または生じたかを検出することができる。特徴空間内のサブ領域間の遷移は、様々な方法の任意の方法で検出することができ、それによって本明細書において説明されるシステムおよび方法は、入来データセットが、特定の訓練された推論モデルに良く適しているか否かを判定することが可能となる。例えば、本明細書において説明されるシステムおよび方法は、あるユーザ入力(または、最近の期間におけるユーザ入力のクラスタのうちの、あるユーザ入力)から、1つまたは複数のサブ領域(例えば、他の制御モードを表現する他のサブ領域と共に、直近に選択された制御モードに対応するサブ領域)までのマハラノビス距離を計算して、あるサブ領域から別のサブ領域への遷移を検出することができる。様々な他の例では、本明細書において説明されるシステムおよび方法は、あるサブ領域から別のサブ領域への遷移を、二値分類器、多項分類器、(ユーザ入力とサブ領域との間の距離を推定するための)回帰器、および/またはサポートベクトルマシンを用いることにより検出することができる。
【0017】
特徴空間のサブ領域内でいったん変化が生じると、本明細書において説明されるシステムおよび方法は、より良好に訓練された、したがってより良好に適した推論モデルを採用して、神経筋入力を分析して、より正確な出力を推論することができる。この方法では、あらゆる所与のユーザアクティビティについて、最も良く適した訓練されたモデルを採用することにより、システムは、特定のモデルを使用してパフォーマンス不良を認識すること、およびマッピングされた入力データセットが特徴空間内のどこに着地するかに応じて他のより適したモデルをコールすることにより、完全な制御スキームを実装することができる。本開示は、使用する複数のモデルのうちの1つを選択することによって制御スキームを改善することを説明しているが、モデル選択の一部の実装形態は、複数のモデルのそれぞれを含むおよび/または実装する包括的なモデルとして理解され得る。例えば、包括的なモデルは、ある入力の他の特性がどのように解釈されるかを判定する際、その入力がキー特徴として含まれるサブ領域を機能的に使用することができる。いくつかの例では、信頼レベルを示すか、または所与の入力にそれぞれの候補モデルを与えるよう重み付けする、ブレンドまたは混合係数を計算することによって、複数のモデルを共にブレンドしてもよい。
【0018】
図1に関連して例として上述したように、ユーザは、先に説明した手首の2D動作を、拳を握り締めて行っている可能性がある。例として、
図2は、サブ領域120(ユーザは拳を緩めたまま手首を動かしている)からサブ領域232(ユーザが拳を握り締めて手首を動かしている場合に、入力が観察される)への遷移230を伴う
図1の特徴空間110を示している。拳の握り締めが、個別的/瞬間的なイベント(例えば、所与の用途において特定の特徴を結び付けるまたは切り離す)のために、同様に、連続的/保持イベント(例えば、所与の用途において特定の特徴のアクティブ化を維持するため)のために用いられる可能性がある。連続的に保持されるイベントの事例では、通常はサブ領域120に含まれ得る入力(例えば、手首の2D動作を伴う)が、代わりにサブ領域232に含まれる場合がある。
【0019】
入力のセットが、別のサブ領域(サブ領域120など)とは異なるサブ領域(サブ232など)内に存在する場合、この差異を鑑み、サブ領域120について以前訓練された推論モデルは、サブ領域232に含まれる入力のセットについては正確な出力を提供しない可能性がある。本開示の特定の実施形態では、新しい推論モデルを、サブ領域232に含まれるデータに対して訓練することができ、データがサブ領域232の近傍でユーザにより生成されていることをシステムが検出する時はいつでも、本明細書において説明されるシステムは、この新しい推論モデルを使用することができる。したがって、開示されるシステムは、どのモデルを採用するか、またそれらをいつ採用するかを決定して、異なる入力モードおよび制御スキーム全体に対して最も正確なレベルの完全な制御を発揮することができる。特定の実施形態では、開示されるシステムは、特徴空間内の様々なサブ領域(例えば、サブ領域120と232)の間の距離を決定することができ、2つのモデルの出力を共にブレンドして、1つまたは複数のパラメータに不変な出力を得ることができる(例えば、2D動作のパフォーマンス中の、拳の握り締めに対して不変な2Dポインタ出力)。例えば、緩い拳での入力は、ブレンドファクタ(1,0)を与える場合があり、システムに、緩い拳での手首動作に対して訓練された(または適合された)推論モデルに依拠するよう命令する。同様に、握り締められた拳での入力は、ブレンドファクタ(0,1)を与える場合があり、システムに、握り締められた拳での手首動作に対して訓練された(または適合された)推論モデルに依拠するよう命令する。(例えば、マハラノビス距離の観点から)サブ領域120および232に含まれる入力は、ブレンドファクタ(1-a,a)を与える場合があり、ここで、aは、サブ領域232からの入力の距離の比率と比較した、サブ領域120からの入力の距離の比率を示しており、システムに、それぞれの推論モデルに部分的に依拠するよう(または、両方の推論モデルの出力を結合して最終的な出力を与えるよう)命令する。しかしながら、両方のサブ領域120および232から離れた入力は、ブレンドファクタ(0,0)を与える可能性があり、システムに、サブ領域120に関連付けられる推論モデル、およびサブ領域232に関連付けられる推論モデルのいずれにも依拠しないよう命令する。
【0020】
したがって、特定の実施形態では、本明細書において開示されるシステムおよび方法は、ユーザが、ユーザの手の状態(例えば、ユーザの手が閉じた状態か、開いた状態か)とは関係なく、同じ程度の精度および正確さで2D制御を発揮できるようにする。他の実施形態では、開示されるシステムおよび方法は、仮想またはオンスクリーンの2Dマップ内で、1つまたは複数の場所に提示される1つまたは複数の選択肢から選択する際、ユーザに、より良好な制御を与える。例えば、様々な選択肢は、仮想またはオンスクリーンの視覚表現でユーザに提示されることができ、ユーザは2Dの手首の回転を使用してこれらの選択肢をナビゲートして、拳をギュッとさせるなど別のハンドジェスチャを行うことにより、選択肢から選択することができる。
【0021】
本明細書において議論される実施形態に加えて、2Dの手首回転モデルは、手首の回転を行いつつ緩い拳を用いて訓練することができる。特徴空間内のサブ領域は、この実施形態では以下のようにして、決定して分析することができる。第1のステップでは、システムは、データ、例えば接空間(tangent space)の入力特徴を収集する場合があり、その間ユーザが緩い拳を使用して2Dモデルを訓練しており、この2Dモデルは、2D手首動作のパフォーマンス中に緩い拳を使用する様々なユーザに基づいて一般化されたモデルとして以前生成された可能性がある。このステップでは、ユーザは、単位円が適切にトラバースされ、速い動きおよび遅い動きの両方が使用されることを確認するよう促される場合がある。例として、
図3は手首の回転を介する2D動作についての推論モデルのオンライン訓練用の例示的なグラフィカルユーザインターフェースを示している。
図3に示されるように、状態302では、グラフィカルユーザインターフェースは、トラバースさせるカーソル320用の円310を含む。ユーザが時計回りに手首を回転させると、カーソル320は、円310に沿って経路322をトレースする。状態304では、ユーザが反時計回りに手首を回転させると、カーソル320は、円310に沿って経路324をトレースする。
【0022】
緩い拳での訓練に加えて、2Dの手首回転モデルは、手首の回転を行いつつ握り締められた拳を用いて訓練することができる。例えば、ユーザが上と同一の2D訓練モデルを実施するよう拳を握る時に、システムは、データ、例えば接空間の入力特徴を収集することができる。上で議論したように、ユーザは、単位円をカバーして速い動きおよび遅い動きの両方を含むであろう、広範な手首の動きを得るよう促される場合がある。
【0023】
上述したようにデータを収集した後、本明細書において説明されるシステムは、データを分析することができる。例えば、データセットごとに(すなわち、緩い拳で収集したデータ、および握り締められた拳で収集したデータ)、システムは、データ点の平均および共分散を計算することができる。追加的に、または代替的に、システムは、次を含む様々な技法のうちのいずれかを用いてデータ点同士の距離を分析することができる:(i)制御の超平面;(ii)特徴空間内のターゲット領域の内部および外部を見分けることができるガウスカーネル、ならびに任意の所与のモデルについてデータ点がターゲット領域からどれだけ離れているかの距離を有するOne Classサポートベクトルマシン;(iii)様々なデータクラスタ間にマージンを置き、マージンへの符号付き距離などに基づいて、ブレンドファクタを決定すること;(iv)ニューラルネットワークを訓練して、データセット内での配置(または、配置されていないこと)を識別する、および/またはデータセット同士を見分ける;および(v)データセットをモデリングするために回帰を実施すること。
【0024】
手首の回転に関し、緩い拳と握り締められた拳とのシナリオ同士について、神経筋入力データにおける差異の例として、
図4は、緩い拳モデルを訓練するために用いられるデータ点と、握り締められた拳を訓練するために用いられるデータ点との分布を比較するプロット400を示している。
図4に示されるように、緩い拳クラスタの平均からの緩い拳データ点のマハラノビス距離は、一貫して低いが、緩い拳クラスタの平均からの握り締められた拳データ点のマハラノビス距離は有意である。
図4から分かるように、2つの分布は、統計学的に、および/または構造的に変化する。開示されるシステムおよび方法は、様々な推論モデルを使用して完全な制御スキームを実装するために、分布におけるこの差異を活用することができる。
【0025】
簡略化のため、上の議論では、特徴空間内の1つまたは2つのサブ領域に着目してきたが、様々な例において、2つよりも多いサブ領域が特徴空間内に存在する場合がある(例えば、それぞれが、個々のサブ領域内部からのデータ点に対して訓練された対応する推論モデルを有する)。例えば、
図1および
図2に関連して上述したように、ユーザは緩い拳ではなく握り締めた拳で、2D動作を行っている可能性がある。同じく、ユーザは、親指を拳にプレスして、前述の手首の2D動作を行っている可能性がある。例として、
図5は、サブ領域120(ユーザは拳を緩めたまま手首を動かしている)からサブ領域542(ユーザが親指をプレスしたまま手首を動かしている場合に、入力が観察される)への遷移540を伴う
図1~
図2の特徴空間110を示している。親指プレスが、個別的/瞬間的なイベント(例えば、所与の用途において特定の特徴を結び付けるまたは切り離す)のために、同様に連続的/保持イベント(例えば、所与の用途において特定の特徴のアクティブ化を維持するため)のために用いられる可能性がある。連続的に保持される親指プレスイベントの事例では、通常はサブ領域120に含まれる入力(例えば、手首の2D動作を伴う)が、代わりにサブ領域542に含まれる場合がある。
【0026】
図5に示されるようなサブ領域間の遷移は、個別的もしくは一意なイベント、または様々な連続的なイベントとして解釈することができる。例えば、個別のイベントは、領域間の素早い遷移で、また元に戻るイベントである可能性があり、連続的なイベントは、収集したデータが特徴空間の定義された領域内に長居するシナリオを含む可能性がある。特定の実施形態では、特徴空間内のサブ領域同士、および特徴空間の解釈可能な表現同士の関係性は、本明細書において開示されるシステムおよび方法を実装するために利用される。特定の実施形態では、開示されるシステムおよび方法は、特徴空間内のサブ領域を精密に計画して、処理された神経筋入力データがどのサブ領域内に存在しているのか、またはどのサブ領域間を移動しているかについてフィードバックをユーザに与える。
【0027】
特定の実施形態では、本明細書において開示されるシステムおよび方法は、ブレンドされた線形関数を実装することにより、完全な制御スキームを可能とする。例えば、開示されるシステムおよび方法は、「緩い拳」2D線形モデルと「握り締められた拳」2D線形モデルを以下の式(1)に示されるようにブレンドすることができる:
y=(1-α(x))Wloosex+α(x)Wsqueezedx (1)
これは、以下の式(2)に示されるように書き換えることができる:
y=Wloosex+α(x)(Wsqueezed-Wloose)x (2)
または、以下の式(3)に示されるように書き換えることができる:
y=Wloosex+α(x)Wcorrectionx (3)
【0028】
式(3)の右辺の第2項は、ユーザが特徴空間内で収集されたデータ入力についての「緩い拳」サブ領域から出て、「握り締められた拳」サブ領域に向かって移動する時はいつでも起こり得る補正として解釈することができる。
【0029】
特定の実施形態では、本明細書において説明されるシステムは、ブレンド関数(すなわち、α(x))を計算して、1つまたは複数の入力が特徴空間内のどこにあるかに応じて、どのくらい補正をかけるかを決定する。特定の実施形態では、かける補正は、データ入力から学習することができる、および/または「緩い拳」分布の平均と「握り締められた拳」分布の平均とを結ぶベクトルに沿って、アクションを投影することによって幾何学的に計算することができる。
【0030】
別の実施形態では、本明細書において開示されるシステムおよび方法は、1つまたは複数の「外れ値の多い(contaminated)」非線形モデルを採用することができる。そのようなプロセスは、初めに線形モデルを学習し、次いで線形モデルをエミュレートするよう非線形モデルに教えることにより、上乗せのモデルキャパシティを提供する。いったん、これが達成されると、本明細書において開示されるシステムおよび方法は、上乗せのキャパシティを非線形モデルにおいて活用して、これを特徴空間における複数の領域およびその間の遷移に対してロバストにすることができる。いくつかの実施形態では、非線形モデルは、ニューラルネットワークまたはあらゆる他のモデル、例えば、既存の線形モデルが固定されて保持されているが、ブレンド関数および何らかのベースラインモデルに対する補正を学習することにより上乗せのキャパシティが追加されている、ブレンドされた線形モデル、である可能性がある。
【0031】
様々な実施形態では、本明細書において開示されるシステムおよび方法は、特定のデータが望ましくない場合(例えば、所与の推論モデルに適切であると考えられない)、データ入力解釈をやめることにより、それらのデータ解釈を適合することができる。例えば、ユーザが、その所与のアクティビティには意図されない、または望ましくない特徴空間のサブ領域に含まれる入力を生成していることをシステムが検出した場合、システムは、特徴空間内で対象のサブ領域内に再度含まれるまで、これらのデータ入力を無視することができる。
【0032】
いくつかの実施形態では、本明細書において説明されるシステムおよび方法は、処理すること、分析すること、視覚化すること、および高次元特徴空間内で取得された神経筋信号データ(例えば、sEMGデータ)に基づいてユーザを訓練して、そのデータを低次元特徴空間(例えば、二次元(2D)潜在空間)内で提示することに、関連する。本明細書において説明されるシステムおよび方法は、潜在空間の視覚的インターフェースを介してユーザを訓練すること、および検出されて処理された神経筋信号データのマッピングを提示することを含むことができる。説明されるシステムおよび方法を使用して、ユーザのパフォーマンス(および、そのパフォーマンスのコンピュータモデルの検出)は、1つまたは複数の推論モデルによって検出されると、特定の手の状態構成またはポーズについて改善することができる。フィードバックループを使用して、ユーザのポーズを、マシン制御システムによって、より正確に分類することができる。特定の実施形態では、システムは、閉ループの人間-マシン学習コンポーネントをさらに含むことができ、ユーザおよびコンピュータの両方に、受信されて処理された神経筋信号データ、および神経筋信号データをプロットする潜在ベクトルを有する2D潜在空間に関する情報が与えられる。この手法により、ユーザは、手の状態構成(例えば、ポーズおよびジェスチャ)のパフォーマンスを調節することが可能となり、コンピュータは、より正確にユーザの手の状態を、1つまたは複数の推論モデルに基づいて個別のポーズおよびジェスチャに分類することが可能となる。
【0033】
上で議論したように、本明細書において開示されるシステムおよび方法は、特徴空間、およびその特徴空間内でプロットされたベクトルまたはデータ点がどのようにマッピングされるかに関して、ユーザにフィードバックを与えることができる。フィードバックは、あらゆる適当な形態であってもよく、視覚的、触覚的、および/または聴覚的なフィードバックを含むが、それに限定されない。プロットされる点は、処理された神経筋信号データに基づいて生成することができる。神経筋信号データは、手元のタスクについてシステムまたはユーザによって設定される通りに、様々な時間ウインドウの間に収集されて、処理され得る。プロットされるベクトルまたはデータ点は、視覚的にユーザに提示することができ、特徴空間内の定義されたサブ領域も同様に提示することができる。特徴空間内の定義されたサブ領域は、特定の推論モデルが、モデルへの入力として、処理された神経筋データについて、最も正確な出力を作り出すサブ領域に対応する可能性がある。例示的な実施形態では、ユーザはスクリーン上の仮想カーソルの2D制御を行っている可能性があり、マシンシステムを制御するために、様々なハンドジェスチャに切り替えたいと思っている場合がある。ユーザが手首の回転を介して2D制御を行っている間、ユーザはマッピングされたベクトルが含まれる特徴空間のサブ領域を視覚化することができる。いったんユーザがハンドジェスチャ(例えば、指のピンチ)を行うことに切り替わると、ユーザは、マッピングされたベクトルが含まれない特徴空間の新しいサブ領域を視覚化することができる。
【0034】
いくつかの実施形態では、本明細書において説明されるシステムおよび方法は、複数の神経筋信号データを検出して、高次元特徴空間から、2D潜在空間を含むがそれに限定されない低次元特徴空間に処理することに関連する。特定の実施形態では、ユーザは、自身の神経筋データ(sEMGデータ)が低次元特徴空間内で、どのようにマッピングされているか、または提示もしくはプロットされているか、ならびに機械学習の推論モデルが、イベント、ジェスチャ、または他の制御信号情報を抽出するために、その低次元特徴空間における位置をどのように使用しているか、についてのフィードバックを受信する(例えば、リアルタイムに、または、ほぼリアルタイムに)。一実施形態では、視覚的なフィードバックは、ユーザが神経筋アクティビティを調節して、出力におけるその変化が特徴空間マッピングにどのように反映されるか、および機械学習の推論モデルが、低次元特徴空間内で、特定の手の状態、イベント、ポーズまたはジェスチャをどのように分類しているか、についての即時的なフィードバックを受信できるように、ユーザに提示され得る。
【0035】
特定の実施形態では、複数のユーザについて訓練されたイベントモデル(例えば、一般化されたモデル)は、ユーザからの神経筋信号データ(例えば、sEMGデータ)を処理して、個別のイベントに分類するよう実装することができる。一般化されたモデルは、処理された神経筋信号データを表現する複数のベクトルを含む、生成された特徴空間モデルを含むことができる。そのような神経筋信号データは、本明細書において説明されるようなEMGセンサを備えるリスト/アームバンドを使用して、ユーザから獲得することができる。ベクトルは、以下でさらに説明されるような潜在空間モデルにおける潜在ベクトルとして表現され得る。
【0036】
特定の実施形態では、ユーザからの神経筋信号データは、それらに対応する潜在ベクトルへと処理され、潜在ベクトルは、低次元空間で提示することができる。様々な潜在ベクトルは、低次元空間内の潜在的な分類領域内でマッピングすることができ、潜在ベクトルは、個別の分類または分類識別子に関連付けることができる。いくつかの実施形態では、それぞれの潜在ベクトルには、2D視覚表現におけるxy座標にマッピングして、2D視覚表現における潜在ベクトル点として表現することができる2つの値が含まれる場合がある。処理された神経筋信号データの、このような潜在表現は、有用な情報を提供する場合があり、特定のデータセットについて、神経筋信号データを表現するより大きな、またはより高次のベクトル空間と比較して、より有益であることが分かる可能性がある。例えば、開示されるシステムおよび方法を使用して、ユーザは、リアルタイムベースで2Dマッピング視覚表現を使用するフィードバックとして、自身の神経筋アクティビティの1つまたは複数の潜在表現を提示される可能性があり、ユーザは、例えばコンピューティングデバイスを制御するための、より効果的な制御信号を生成するために、挙動を調節して、表現から学習することができる。ユーザに即時的なフィードバックを提供することにより、ユーザは自身の神経筋アクティビティが、マシンモデルによってどのように解釈されているかを理解することが可能となる。潜在空間における個別の分類は、様々な方法でシステムによって定義して表現することができる。潜在ベクトルは、個別のポーズまたはジェスチャ(例えば、拳、開いた手)、有限イベント(例えば、指をスナップする、またはタップする)、および/または様々な力のレベルで行われる連続的なジェスチャ(例えば、緩い拳に対して、堅い拳)を含む、様々なパラメータに対応することができる。本明細書で説明されるように、開示されるシステムおよび方法は、パラメータの所望のセットに対応する、あらゆる1つまたは複数のアクションの実施の間にユーザから収集されたデータセットの、個別化されたロバストな分類を可能とすることができる。
【0037】
個別ユーザの手のポーズまたはジェスチャの分類を伴う一実施形態では、処理された神経筋信号データは、2D潜在空間において潜在ベクトルで表現して、視覚化することができる。潜在空間は、任意の高次元データ空間が、例えば、手元の機械学習課題に適当な、あらゆる適切なエンコーダを使用することによって、低次元空間で視覚表現され得るように生成することができる。これらのエンコーダは、問題の様々なクラスから導出することができ、自動エンコーディング、単純回帰もしくは分類、または他の機械学習の潜在空間生成技法を含む。特定の実施形態では、エンコーダは分類問題(例えば、特定のハンドジェスチャを分類すること)から導出することができ、ニューラルネットワークを訓練して、有限な数の手のポーズ(例えば、7つの異なる手のポーズ)を判別することができる。この実施形態では、データセットの実際の分類を生成する前は、潜在表現は、低次元空間(例えば、二次元空間)に制約される可能性がある。あらゆる所与のユーザセッションの間、潜在空間および処理された神経筋データ入力の分類において、様々なマッピングに対する損失関数が一定であるとすれば、あらゆる適切な損失関数が、ニューラルネットワークに関連付けられる場合がある。一実施形態では、潜在空間および潜在ベクトルを生成するために使用されるネットワークは、ニューラルネットワークを含む自動エンコーダを用いて実装され、二次元潜在空間に達するよう、ユーザ埋め込みレイヤ、続いて時間畳み込み、続いて多層パーセプトロンを含むネットワークアーキテクチャを有する。二次元の潜在空間から、潜在ベクトルを、最終的な線形レイヤを介して7つのクラスについての分類確率にマッピングすることができる。本明細書において使用される場合、「ユーザ埋め込みレイヤ」は、モデルをユーザの一意なデータ特性(例えば、ユーザにより行われる特定のジェスチャについての一意なEMGデータパターン)に適合するよう意図された、ユーザ依存変換を定義する、各ユーザに一意なベクトルを含む。そのような一意なベクトルの追加は、推論モデルの確実性を高めることができる。この埋め込みレイヤは、1つまたは複数の個別化された訓練手順を介して決定することができ、それによって、一般化されたモデルは、特定のアクティビティの実施の間にユーザから収集され、処理されたEMGデータに基づいて調節することによって、その重みのうちの1つまたは複数を調整することができる。
【0038】
図6および
図7は、収集されて処理されたユーザの神経筋データから生成された例示的なプロットを示しており、ユーザの手のポーズの分類を表現する潜在ベクトルの2D視覚表現を表現している。プロットは、様々な潜在ベクトル点および潜在領域を表現している。一例示の実施形態では、データは、1セッションの間に、本明細書において開示されるような神経筋アームバンドを使用して、6つの対象から収集された。一般化されたモデルに基づいて、6つの対象(例えば、対象0~5)について生成された潜在ベクトル点およびプロットが、
図6および
図7の上段に提示されている。7つの手のポーズのうちの実施された6つの対象のそれぞれは、順に次の通りである:(1)休止状態の手(アクティブヌル状態);(2)閉じた拳;(3)開いた手;(4)人差し指と親指とのピンチ(「人差し指ピンチ」);(5)中指と親指とのピンチ(「中指ピンチ」);(6)薬指と親指とのピンチ(「薬指ピンチ」);および(7)小指と親指とのピンチ(「小指ピンチ」)。これらの手のポーズに関連付けられるEMG信号データが収集され、複数のユーザから獲得されたデータから訓練された、一般化されたモデルを使用して処理され、関連付けられる潜在ベクトルが、
図6Aおよび
図6Bの上段に示されるような2D表現的な潜在空間上に表示された。7つのポーズの分類のそれぞれは、7つの潜在空間において異なる色付けに基づいて分かるようになっている。ユーザが一般化されたモデルを使用してジェスチャを行った後、6つの対象のそれぞれは、7つのポーズのそれぞれを順に数回繰り返して実施するように命令される、案内付きの訓練セッションを受けており、特定のユーザのポーズをより良好に検出するよう分類モデルを個別化するために、EMG信号データが収集されて処理された。訓練後の潜在ベクトル点を、
図6および
図7の下段に示す。
図6および
図7の下段は、個別化された訓練の1セッションの後、生成された潜在ベクトル点を表現している。
【0039】
図6および
図7から分かるように、潜在空間のサイズは、ユーザによって変化する。個別化された訓練の1セッションの後、7つの分類を表現している潜在空間は、サイズがより一様であるとして視覚化することができ、潜在ベクトルは、正しいポーズ分類(例えば、対象2および3)に向かって適当にプッシュされているように見ることができる。潜在空間の視覚表現に反映されるように、個別化された訓練は、より一様にサイズ決めされた分類ゾーンを有効にする。潜在空間において、より一様にサイズ決めされたゾーンを用いて、アームバンドのユーザは、マッピングされた神経筋アクティビティを(本明細書においてさらに説明するように)より良好に視覚化して、確実に意図した分類ゾーンにフィットさせることができる。
【0040】
いくつかの実施形態では、様々な分類についての潜在空間位置へのマッピングは、個人間で、および特定の個人用の個別化されたモデル間で変化する可能性がある。説明されるシステムおよび方法は、個人間の、および所与の個人用の個別化されたモデル間の、この変動を考慮するためのソリューションを提供する。特定の実施形態では、リアルタイムのフィードバックをユーザに提示することができるため、潜在ベクトル同士が、より近くに一緒におよび/または潜在空間の定義された部分内にマッピングされることを確実にするべく、ユーザは自身の挙動を調節することができる。これによって、ユーザは、マシンが一般化されたマシンの学習モデルまたは個別化されたモデルのいずれを使用していても、マシンに対してより正確な制御を行使することを可能にすることができる。ユーザ-マシン制御を改善するための、視覚的および他のタイプの感覚的なフィードバックを伴うそのような実施形態を、以下でさらに議論する。
【0041】
他の実施形態では、マッピングされた潜在ベクトルの視覚表現を使用して、任意の所与のユーザに対して一般化されたモデルがどれくらい効果的に機能することができるかを判定することができる。例えば、ユーザが同程度の力で繰り返しジェスチャを行っており、一般化されたモデルがベクトルを、潜在空間もしくは領域の広範に渡って、または潜在空間もしくは領域のごく狭い範囲内だけにマッピングしている場合、出力の正確さの観点では、一般化されたモデルは、その特定のユーザについては良好に機能していない場合がある。この場合、本明細書において説明されるシステムおよび方法は、ユーザの神経筋アクティビティをマシン制御スキームでより良好に表現するためには、それらが別のモデルを訓練するべきであることを、ユーザに示している。説明されるシステムおよび方法を使用すると、潜在ベクトル領域が、潜在ベクトル空間において明確に分離可能である場合、特定のユーザについて、モデルが良好に機能していると推論することができる。
【0042】
特定の実施形態では、本明細書において開示されるシステムおよび方法は、あるデータセットについてエラー診断に使用することができる。例えば、開示されるシステムおよび方法を使用して分析し、特定の収集したデータセット(例えば、処理されたEMG信号データ)が、データセットに関連付けられた不良なメトリクスを有していることを理解することができる。例示的な実施形態として、EMG信号データが、ポーズ間に休止を伴って、または伴わずに、上述のように7つのポーズを行う対象から収集され、処理された。処理されたデータを、
図8に表現して描写する。プロット802は、ポーズ間にユーザの休止に関連付けられた潜在ベクトルを表現しており、プロット804は、ポーズ間に休止が関連付けられない潜在ベクトルを表現している。
【0043】
図8から分かるように、訓練および同一の実験からの検証対象と比較して、このデータセットは投影空間内で非常に小さなドメインを有しており、さらに休止クラスは大量の情報を含んでいる。
図8において、潜在ベクトルが非常に小さなドメインにマッピングされているとすると、この人物について用いられた特定のモデルは、この個人に対しては最適ではなかったと推測することができ、正確さを改善するためにこの個人について別のモデルを試すことができる。さらには、この現象が複数のユーザに対して観察された場合、モデルが複数のユーザに対して良好に機能しておらず、そのためモデルをさらに検討する必要があると推測することができる。特定の実施形態では、この2D視覚表現は、所与の1人のユーザまたはユーザのセットに対してモデルパフォーマンスを体系的にモニタリングするために、複数のユーザに対して、および/または複数のセッションに渡って体系的に生成することができる。
【0044】
一実施形態にしたがって生成された場合、訓練モジュールを使用したポーズの個別化が、どの程度低次元モデルに影響を及ぼすかを視覚化するために、
図9に示される視覚表現を生成することができる。プロット902は、一般化されたポーズのモデルを使用して、潜在ベクトル表現を表している。プロット904は、個別化されたポーズのモデルを使用して、潜在ベクトル表現を表している。プロット906は、ポーズ間に休止のない、一般化されたモデルを使用して、潜在ベクトル表現を表している。プロット908は、ポーズ間に休止のない、個別化されたモデルを使用して、潜在ベクトル表現を表している。
【0045】
図9から分かるように、2Dモデルが、システムが様々なユーザのポーズを、どのように分類するかについての有用な知見を与える。図から分かるように、一般化されたモデルで見た表現における、この異常は、不良な個別化に関連するように見える。この特定の例では、モデルが、この特定のユーザについては、良好に機能していないこと、およびモデルの訓練が不十分であった可能性があるか、または不適切なデータセットに対して訓練された可能性があることを、推測することができる。さらには、タスクのパフォーマンス中のあらゆるユーザの挙動上のエラーを、潜在ベクトルが含まれていた狭く定義された領域に基づいて除外することができる。モデルがデータ点をより集中した領域に集めたことは、モデルが何らかの点において不十分であることを示唆している。そのような情報を使用して、モデルに与えられた基礎的なデータ品質に着目することを含めて、モデルが十分であることを再評価し、場合によってはモデルによってあらゆる過小適合または過剰適合のデータを診断することができる。
【0046】
別の実施形態では、本明細書において説明されるシステムおよび方法は、ユーザにフィードバックを与えるために、対話的なフィードバックループを含む。システムおよび方法は、閉ループの人間-マシン学習構成を含む場合もあり、2D潜在空間の領域が定義され、特定の分類(例えば、手のポーズ、またはジェスチャ)、有限イベント(例えば、指をスナップする、またはタップする)、および/または様々な力のレベルで行われる連続的なジェスチャ(例えば、緩い拳に対して、堅い拳)、に関連付けられる。様々な実施形態では、システムは、ユーザのアクティビティのパフォーマンスの間、アクティビティが神経筋EMGセンサを通じてリアルタイムに感知されると、視覚的なフィードバックをユーザに与えることができる。例えば、ユーザが人差し指と親指とのピンチを作る場合、システムは、そのジェスチャの潜在空間表現を示すユーザインターフェースを提示することができる。ユーザが個別のピンチのそれぞれを作ると、そのアクティビティに関連付けられるベクトルを、スクリーン上でデータ点としてプロットすることができる。潜在空間の様々な領域を、ユーザが領域を識別してアクティビティと関連付けることができるよう、ラベル付けすることができる。特定の実施形態では、潜在空間の様々な領域を、領域内のジェスチャを示すテキストまたは画像でラベル付けすることができる。例えば、各領域は、異なる指のピンチまたは手の状態構成を図示することができる。代替的に、それぞれの領域は、潜在空間視覚表現の側部に示される色コード凡例、または特定の指のピンチおよび手の状態構成に関連付けられるあらゆる他の凡例もしくはキーを用いてラベル付けすることができる。特定の実施形態では、ユーザは、自身の以前のジェスチャを、その進行状況を追跡できるよう、より目立つように視覚化することができる。例えば、より最近のデータマッピングを異なる色(例えば、色相および濃淡、不透明度レベルまたは透明度レベルなど)で、または特殊な効果もしくはアニメーションで(例えば、彗星トレイル、瞬き/フラッシュ、ブラインド、ディゾルブ、チェッカボックス、サイズ変更など)示すことができる。特定の実施形態は、視覚的なフィードバックに加えて、聴覚的または触覚的なフィードバックを含むこともできる。このような実施形態は、様々な分類、またはある分類から別の分類への遷移を明示するため、聴覚的な音声効果または触覚的なフィードバックを含むことができる(例えば、単一のマッピング点ごとに、または以前にマッピングされた領域に基づいて、マッピングされた点が別の潜在領域に入った時だけ、ビープ音またはバイブレーション)。一実施形態では、ユーザが第1のジェスチャを行っており、第2のジェスチャが第1のジェスチャに関連付けられた潜在空間の領域に隣接する潜在空間内の領域にマッピングされる場合、システムは、データマッピングが隣接領域に近づいていること、または隣接領域に含まれ始めたことをユーザに示す視覚的なインジケータを提示することができる(例えば、2つの潜在領域の間の境界をハイライトする)。様々な実施形態では、視覚表示用の潜在領域は、様々なラベル付け技法を使用して割り振ることができ、以下のものを含むが、それに限定されない:任意のラベル;ユーザがトグルできる選択可能または修正可能なラベル;視覚的な描写、ロゴ、もしくは画像;聴覚的および/または触覚的なフィードバックに関連付けられた、わずかに可視または不可視なラベル、あるいは他のタイプの感覚的フィードバック。ユーザは、神経筋入力(例えば、スナップ、フリックなど)および/または音声入力(例えば、口頭コマンド)をシステムに与えることによって、様々なラベルをトグルすること、または様々なラベルから選択することができる。特定の実施形態では、ユーザはカスタムのラベルを、潜在ベクトル点のマッピングの前、またはマッピング中のいずれかで、割り振ることができる。
【0047】
特定の実施形態では、ユーザが繰り返し人差し指ピンチを行い、視覚表現が異なる分類(例えば、小指ピンチ)に関連付けられた潜在領域において、人差し指ピンチのそれぞれについての点を表示することにユーザが気付いた場合、ユーザは、そのモデルをより良好に個別化するために、またその特定のジェスチャ(またはジェスチャの組み合わせ)をより正確に検出するために、特定のジェスチャ(またはジェスチャの組み合わせ)に基づいてモデルの個別化を行うことができる。
【0048】
ユーザが本明細書において説明されるシステムおよび方法を用いて訓練される実施形態では、潜在領域は、分類されることが期待されるハンドジェスチャに基づいてラベル付けされ得る。例えば、潜在領域は、例えば、
図10に示されるように、「人差し指ピンチ」、「中指ピンチ」などとしてラベル付けすることができる。
図10は、手のポーズ分類でラベル付けされた潜在空間、およびユーザ訓練の間データ点として表現されるベクトルを描いている。
【0049】
ユーザが中指と親指とのピンチを作ると、
図10において円で囲まれたデータ点1010が表示され得る。ユーザが中指と親指とのピンチを再度行う場合、
図10において円で囲まれたデータ点1020が表示され得る。次いでユーザが人差し指と親指とのピンチを行う場合、
図10において円で囲まれたデータ点1030が表示され得る。この方法では、システムが様々な処理されたEMG信号入力を、どのように分析し、マッピングし、および分類しているかに関して、システムは、リアルタイムの視覚的フィードバックをユーザに提供することができる。ユーザが中指ピンチを行うが、データ点が人差し指ピンチの潜在空間に現れる、または2つの潜在空間を分ける線の近くに現れる場合、ユーザは、システムによって採用されている機械学習アルゴリズムモデルに適合するよう、自身がどのように人差し指と親指とのピンチおよび中指と親指とのピンチを行うかを、調節することができる。例えば、ユーザが手首をわずかに時計回りまたは反時計回りの方向に回転させ、ユーザがその手首の回転がシステムのマッピングおよび/または自身のピンチの分類にどのように影響を及ぼすかを分かっている場合、ユーザは、システムがユーザのピンチを正確に識別するよう、手首の回転を適当に適合することができる。
【0050】
別の実施形態では、システムは、ユーザがジェスチャを繰り返し行いつつ、手首の位置を変えることを検出し、考慮することができる。例えば、ユーザは人差し指ピンチを行うことができ、システムは適切にピンチを分類して、ユーザに提示することができる対応する第1の潜在ベクトルを、関連付けてプロットすることができる。ユーザは、システムに、同じジェスチャを再度行うことを命令することができる。ユーザがジェスチャを再度行う場合、わずかな修正(例えば、異なる手首角度、または回転の程度)で、ジェスチャを行うことができる。その第2のジェスチャについて処理されたEMGデータに基づいて、システムは、ユーザに提示することができる対応する第2の潜在ベクトルを関連付けてプロットすることができる。システムは、第1の潜在ベクトルと第2の潜在ベクトルとの距離を定量化して、その計算を使用してその特定のジェスチャ分類を検出するための、その能力を改善することができる。
【0051】
別の実施形態では、開示されるシステムおよび方法は、訓練データを分析すること、およびその訓練データに基づいて潜在空間内の分類境界を再マッピングすることによって、個別化モデルを改善することができる。例えば、ユーザが、自身が次に意図している人差し指ピンチのポーズについてシステムに通知する(または、システムがユーザに人差し指ピンチを行うよう命令する)場合、マッピングされた潜在ベクトルが人差し指ピンチ分類向けに明示された潜在領域の外部であれば、システムは人差し指ピンチ(および他の分類)に関連付けられる潜在空間のサイズおよび間隔を修正することができる。
【0052】
別の実施形態では、ユーザは、手首を時計回りおよび反時計回りの方向の両方に回転させつつ、繰り返し中指と親指とのピンチを行い、一方で関連付けられたデータ点の全てを定義された中指と親指の潜在空間の内部に維持するよう狙っている可能性がある。ユーザがこのアクティビティを行っている際、システムはそのパターンを検出し(教師無し学習様式においてシステム自体で、または教師あり学習様式においてユーザがピンチの様々な回転を行おうとしていることを教えられてもよい)、手首の回転に関連付けられる追加的なデータを処理するよう学習して、ユーザが中指と親指とのピンチを行っているかどうかを、システムが判定しようと試みている時、特定のデータを考慮するか、または無視することができる。この方法では、開示されたシステムおよび方法は、個々のユーザごとに、より個別化されたモデルを学習して生成することができる。
【0053】
別の実施形態では、ユーザは、ユーザに人差し指と親指とのピンチだけを行うように命令する命令スクリーンを提示される可能性があり、システムは、人差し指と親指とのピンチだけを認識して、訓練セッション中はこれらの潜在ベクトルをユーザに提示するように命令される可能性がある。システムがEMG神経筋データ入力を処理して、その分類についての明示される潜在空間の外部となるその入力に、初めてベクトルを関連付ける場合、システムはそのEMG神経筋入力から学習して、その入力を適切な明示される分類に関連付けることにより、再分類することができる。これは、システムが神経筋入力データを、正しい潜在空間に、ひいては正しい分類に確実に分類するまでの、反復プロセスであり得る。分類の確実性の度合いは、例えば、80%正確ヒット率、90%正確ヒット率など、ユーザによってセットすることができる。
【0054】
上述のように、訓練セッション中の、ユーザに対するフィードバックの様々なモードは、ゴールを訓練するセッション、およびユーザが様々なタイプのフィードバックに対して、どの程度良好に応答するかに応じて変化する可能性がある。上で言及したタイプのフィードバックに加えて、拡大された現実システムならびに仮想現実および拡張現実デバイスなどのデバイスを使用して追加的なタイプのフィードバックが与えられる場合がある。これらの実装形態では、潜在的な視覚表現が、訓練がよりユーザフレンドリで効率的な様式で実行され得る没入環境または拡張環境において、ユーザに提示される可能性がある。上述の感覚的なインジケータのいずれも、仮想または拡張環境において、頭部装着型ディスプレイおよびスマートグラスを含む、適当なアクセサリハードウェアデバイスで提示することができる。
【0055】
様々な実施形態では、
図6~
図10に関して説明したような、2D潜在表現のサブ領域は、
図1、
図2、および
図5に関して説明したような特徴空間における異なるサブ領域に対応する場合がある。したがって、本明細書において説明されるシステムは、異なる推論モデルを、2D潜在表現の様々な個々のサブ領域に含まれる入力に適用することができる。さらには、2D潜在表現のサブ領域がユーザフィードバックに応じて調節される実施形態では、異なる推論モデルの使用の輪郭を描く特徴空間内の境界は、同じように調節され得る。
【0056】
別の例示の実施形態では、本明細書において開示されるシステムおよび方法は、特定の推論モデルの有効性を評価するために使用することができる。ユーザは、人差し指と親指とのピンチなどのハンドジェスチャを行っている場合があり、次いで自身の手首を回転させることにより、そのピンチを保持する可能性がある。一実施形態では、ユーザに提示される視覚表現は、手首が自然な位置にある時、ピンチジェスチャで明確に定義された領域において、マッピングされたベクトルまたはデータ点を示すことができ、ユーザがピンチジェスチャを保持しつつ手首を回転させると、マッピングされたベクトルが、以前に明確に定義された領域の周辺に現れ始める可能性がある、および/または以前に明確に定義された領域から完全に出て行き始める場合がある。推論モデルによって良好に解釈される神経筋入力から、同じ推論モデルでは良好に解釈されない神経筋入力までの、この遷移を視覚化する能力により、ユーザは自身の挙動を、推論モデルにより良好にフィットするように修正することが可能となる。この例では、定義されたサブ領域内に存在するマッピングされたベクトル点となる手首の回転角、およびそのサブ領域の外部のマッピングされたベクトル点となる他の手首の回転角の、特定の範囲がある場合、ユーザは、推論モデルを介してマシンを制御する能力を最大限に発揮するために回転角の特定の範囲内に留まることが分かる。推論モデルの出力の品質が低下し始める点を視覚化する能力を使用して、推論モデルを微調整することができる。例えば、追加的な神経筋入力を推論モデルに与えて、特定のシナリオおよび/または状況の下で、より良好にそのモデルを訓練することができる。代替的に、推論モデルの限度を評価することができるように、また別の推論モデルを第1の推論モデルからの上質な出力とならなかったデータ点に対して訓練できるように、あらゆる特定の推論モデルの限度を、視覚化することができる。
【0057】
特定の実施形態では、複数の推論モデルを、より限定したデータのセットに対して、訓練することができる。例えば、推論モデルは、訓練され、したがって、神経筋アクティビティの特定のパターン(例えば、力、動作、運動単位活動電位、ジェスチャ、ポーズなど)を検出することにおいて、特殊化されてより正確となることができる。推論モデルのそれぞれは、神経筋アクティビティの正確な検出および/または分類が、推論モデルのうちの1つの選択的な適用によって改善されるよう、本明細書において開示されるシステムおよび方法の一部として実装することができる。そのような例示的な実施形態では、指ピンチのそれぞれを検出するために、ロバストなデータセットに対して訓練された4つの推論モデルがあり得る(例えば、人差し指と親指とのピンチについての1つのロバストな推論モデル、中指と親指とのピンチについてのもう1つのロバストな推論モデル、など)。ユーザがどのピンチを行っているかに応じて、本明細書において開示されるシステムおよび方法は、処理された神経筋データを与える適当な推論モデルを選択することができる。そのようなセットアップは、4つ全てのハンドジェスチャを検出するように訓練された単一のモデルよりも、モデルを追加すること、および更新することにおいて、より正確で柔軟性が高くなることができる。
【0058】
様々な推論モデルは、様々な入力モードまたは制御スキームに基づいて統制することができる。そのような入力モードおよび制御スキームは、以下のうちの1つまたは複数を含むことができる:ユーザの手の状態構成、手のポーズ、ハンドジェスチャ(個別的、および連続的)、指タップ、手首の回転、および前述のうちの任意の1つまたは複数を行う間にかけられる力の多様なレベル;ユーザからのタイピングアクション;ポインティングアクション、ユーザからの描画アクション;ならびに他のイベント、またはユーザによって行われ得るもしくは本明細書において開示されるシステムによって検出され得るアクション。
【0059】
本明細書において説明されるシステムが実装することができる様々な入力モードまたは制御スキームに対応する様々な推論モデルを訓練するため、および作り出すために、本明細書において説明されるシステムは、ユーザの神経筋データを集めることができる。いくつかの実装形態では、ユーザには、オンライン訓練アプリケーションが提示され得る。オンライン訓練アプリケーションは、例えばBluetoothを介してウェアラブルシステムに動作可能に結合されるグラフィカルユーザインターフェース(GUI)をロードする。ユーザは、GUIによって与えられるオンライン訓練タスクのセットから選択することができる。そのようなインターフェースの一例は、
図3に図示されるインターフェースであり得る。
図3の議論は、手首の回転に基づく制御について注目したが、ユーザが2D平面内で自身の指の先端でカーソルを制御することなど、他の制御スキームを訓練するために、類似のインターフェースを使用することができる。例えば、ユーザはウェアラブルデバイスを右の手首または腕に着けて、ユーザがインターフェース内で円の縁に沿ってカーソルを、例えば、右手の指の先端でドラッグするよう促される第1の訓練タスクを選択する可能性がある。ウェアラブルデバイスは、ユーザが訓練タスクを行っている間、ユーザからのEMG信号を記録し、そのようなユーザデータは、ユーザ固有の機械学習モデルを後に訓練するために保存される。
【0060】
同じく、ユーザは、
図11に示されるように、ユーザがGUIを介して、カーソルを円の内部から円の縁まで動かすよう促される第2の訓練タスクを選択することができる。例えば、インターフェースの状態1102では、ユーザはカーソルを円の縁に対して、対角線方向に上かつ左にドラッグする可能性がある。インターフェースの状態1104では、ユーザはカーソルを円の縁に対して、対角線方向に上かつ右にドラッグする可能性がある。インターフェースの状態1106では、ユーザはカーソルを円の縁に対して、対角線方向に下かつ左にドラッグする可能性がある。
【0061】
以前に説明した訓練タスクにおけるように、ウェアラブルデバイスは、ユーザが訓練タスクを行っている間、ユーザからのEMG信号を記録し、そのようなユーザデータは、ユーザ固有の機械学習モデルを後に訓練するために保存される。そのようなユーザデータは、保存されて、ユーザ固有推論モデルを訓練するために使用される。上述のプロトコルを使用して、グランドトゥルースデータを事前定義しておく必要なく、ユーザ固有推論モデルを訓練することができる。したがって、グランドトゥルースデータは、ユーザ固有データに基づく利用可能な訓練プロトコルのうちの1つまたは複数を介して生成される。したがって、いくつかのメモリリソースは、ユーザ固有データよりも大きな可能性がある事前定義のグランドトゥルースデータに依拠することなく、またメモリ内に有することなく、保存することができる。加えて、ユーザ固有推論モデルの生成は、ほぼ即時的にユーザに知覚される場合があり、すなわち、ユーザは、ユーザ固有データを与えた後すぐに、ユーザ固有推論モデルを有するアームバンドデバイスを使用し始めることができる。いくつかの事例では、ユーザ固有推論モデルの訓練は、ユーザのローカルマシンで実行することができるが、他の事例では、固有推論モデルの訓練はクラウドでリモートに実行される可能性がある。
【0062】
一部の個人は、様々な理由のいずれかについて、自身の体の一部を用いて生成することができる動作のタイプ(または力の程度)が限定される場合があり、限定はしないが、以下が含まれる:筋肉疲労、筋収縮症、傷害、神経障害、手根管障害などの反復運動過多損傷、他の末端神経障害(多発性硬化症またはALSなどの変性神経障害を含む)、中枢神経系の運動性障害、慢性疲労症候群、奇形もしくは他の非定型生体構造、または他の健康関連の理由。したがって、二次元制御についてのユーザ固有推論モデルの訓練および実装は、特に、運動系および/または生体構造が非定型である個人に良く適している。いくつかの実施形態では、ユーザ固有推論モデルは、動作を行うためのユーザの能力および/またはユーザ固有推論モデルを訓練(および/または再訓練)するために使用される力が、もはや実行する見込みがないのかどうかを判定するために、定期的に評価される場合がある。例えば、ユーザの傷害が解消し、そのユーザの動きの範囲が広がり、それによってユーザの動きの範囲が(例えば、傷害のために)低下していた期間に訓練されたユーザ固有推論モデルの品質に影響が及ぶ場合に、これが生じ得る。本明細書において説明されるシステムおよび方法は、モデルの上昇したエラー率を自動的に検出して、対象を再訓練するためのユーザインターフェースを提示させるように構成することができる。同様に、本明細書において説明されるシステムおよび方法は、神経変形性状態または筋収縮状態を示すユーザ用にさらに構成し、それによってユーザ固有推論モデルを再訓練するためのユーザインターフェースを、時々提示させることができる。
【0063】
いくつかの実装形態では、線形モデルを使用してユーザ固有の機械学習モデルを実装することができる。線形モデルは、様々なクラスがおおよそ線形に分離しているような入力データの事例において良い選択肢であるために選択されたが、ディープフィードフォワードネットワーク、畳み込みニューラルネットワーク、および再帰ニューラルネットワークなどの他のモデルが、同じく選択される可能性がある。
【0064】
一部の人間コンピュータインターフェースは、複数のユーザからの集約データによって訓練された一般推論モデルに依拠する。一般モデルのパフォーマンスは通常訓練ユーザ数に対数的に増えるため、そのようなシステムは、ある正確さ、およびパフォーマンスの頭打ちに部分的に達することがある。さらには、少なくともいくつかの事例では、特定のタイプの一般モデルは、ユーザ固有モデルと同じ正確さ、およびパフォーマンスに達する見込みがありそうにない。以下に示す例は、線形回帰推論モデルのコンテキストにおけるものである。しかしながら、類似のユーザ固有モデルを、多層パーセプトロン、ディープニューラルネットワーク(例えば、畳み込みニューラルネットワーク、再帰ニューラルネットワークなど)、または他の適切なタイプの予測モデルを含むが、それに限定されない様々なモデルアーキテクチャを使用して実装することができる。
【0065】
いくつかの事例では、線形モデルを使用してユーザ固有推論モデルを実装することができる。線形モデルは、入力データと要求されるモデルとが、おおよそ線形に関連している事例では、妥当な選択肢である。線形モデルは、1つまたは複数の連続的な応答変数を、1つまたは複数の予測変数の関数として説明する。そのような線形モデルは、線形回帰、サポートベクトルマシン、または他の適切な方法もしくはアーキテクチャを介して実装することができる。n個の入力変数とm個の出力変数との間の、多変量線形モデルの仮定は、(ベクトルと行列の表記を用いて)以下の式(4)により与えられる:
h
θ(x)=Θ
Tx+θ
0 (4)
ただし:
【0066】
上式は、多変量線形回帰モデルに対応するが、類似的な手法を一変量線形回帰の事例に適用できることに留意されたい。複数の特徴についてのコスト関数を、以下の式(5)によって与える:
【0067】
コストJは、パラメータΘおよびθ0に関して最小化することができる。様々な正則化スキームを、ノイズに対するロバストネスを向上させ、訓練を早期に停止へ至らしめ、推論モデルの過剰適合を回避するように、モデルを最適化するために適用することができる。
【0068】
上の計算は、ウェアラブルデバイスを介してEMG信号を入力として得て、二次元空間へマッピングすることができる数値座標のセットを出力する、ユーザ固有の機械学習モデルを構築するために適用することができる。例えば、ユーザ固有の機械学習モデルを使用して、動作、手のポーズ、ジェスチャ、および/または力に基づいて、グラフィカルインターフェース内でのカーソル位置を予測することができ、マウス、Dパッド、または類似の周辺デバイスを効果的に置き換える。例えば、ウェアラブルデバイスは(オンライン訓練の後)、神経筋信号をXおよびYのカーソル位置(制御信号)へと変換するように構成されているため、ユーザは、2Dグラフィカルインターフェース内でレンダリングされたカーソルを、ウェアラブルデバイスによって制御することができる。ユーザは、例えば、ユーザの指を上下左右に、対角線方向に動かすこと、または
図12A~
図12Cに示されるような他の適切な動作により、2Dインターフェース空間内のカーソルを動かすことができる。適切な動作は、ユーザの快適さおよび好みに基づいて、ユーザに特異的または一意であり得る。
【0069】
とりわけ、非線形モデルを、追加的な特徴、例えば、二次元空間内でグラフィカル物体(すなわち、ウェブページ上のボタンまたはハイパーリンク)をクリックする、ウィジェットをアクティブ化する、またはユーザインターフェースに存在する追加的な機能上の対話的要素で行うことができる他の類似の動作を、ユーザ固有モデルに組み込むために、同様に実装することができる。
【0070】
いくつかの実装形態では、1つまたは複数の様々なフィルタを使用して、高い精度および応答性のために、ノイズの多い信号をフィルタリングすることができる。フィルタは、収集された神経筋信号の、時間的および/または空間的なパラメータに対処するように適用することができる。例えば、適応カットオフ周波数を有する一次ローパスフィルタで、1ユーロフィルタを実装することができる:低速では、低カットオフ周波数(コーナ周波数または遮断周波数としても知られる)は、ジッタを低減することにより信号を安定化させる。制御信号(例えば、2D空間のカーソル用)の速度が大きくなると、ラグを低減するようカットオフは大きくなる。1ユーロフィルタは、ローパスフィルタのカットオフ周波数を、信号の速度(二次)の推定、より一般的にはその微分値にしたがって、新しいサンプルごとに適応することができる。フィルタは、公式(6)に示されるような指数平滑法を用いて実装することができる:
ただし、平滑ファクタはα∈[0,1]、定数である代わりに、適応的であり、つまり、信号の変化率(速度)についての情報を用いて、動的に計算される。ユーザは、低速ではジッタに対してより敏感であり、高速ではラグに対して、より敏感である可能性があるため、これは、ジッタとラグとのトレードオフをバランスすることを狙いとしている。平滑ファクタは、式(7)に示されるように定義することができる:
ただし、T
eは、EMGサンプル間の時間差から計算されるサンプリング期間であり、T
eは(T
i-T
i-1)に等しく、τは、カットオフ周波数
を用いて計算される時定数である。
【0071】
カットオフ周波数f
Cは、式(8)に示されるように、変化率(すなわち、速度)が大きくなると、線形に大きくなるよう設計される:
ただし、f
Cmin>0は、最小カットオフ周波数であり、β>0は、速度係数であり、
はフィルタリングされた変化率である。変化率
は、公式(9)の観点で表現される信号の個別の導関数として定義される:
【0072】
次いで、これは、一定のカットオフ周波数
とする指数平滑法を用いてフィルタリングすることができ、このカットオフ周波数はデフォルトで
であり得る。したがって、1ユーロフィルタを実装して、ユーザが、例えば、ユーザがアームバンドシステムを装着しながらジェスチャを行う(例えば、手を左から右に、またその逆に動かす)速度に比例する速度で二次元空間においてレンダリングされたグラフィカル物体を制御することを可能にすることができる。他の実施形態では、信号が高い時間の長さを制御しつつ、活動においてスパイクに対する信号の応答性を保つために、信号を漏れ積分器(leaky integrator)にさらにかけることができる。
【0073】
ユーザ固有推論モデルが訓練された後、システムは自己パフォーマンス評価を実行することができる。そのような自己パフォーマンス評価は、所定の経路または形状に関連付けられると分かっている神経筋信号(例えば、EMG信号)のセットを入力として使用して、ユーザ固有推論モデルを介して二次元空間内の位置または座標のセットを予測することによって、実行することができる。したがって、フィットネスレベルまたはユーザ固有推論モデルの正確さは、所定の形状の位置または座標のセットによって表される形状または経路を比較することによって決定することができる。表される形状が所定の形状または経路から外れる、または逸れる場合、ユーザ固有推論モデルが再訓練される必要があること、またはさらなる調整が必要であることが推論され得る。次に、決定されたフィットネスまたは正確さの不足に応じて、システムは、後続の訓練タスクを提供して、ユーザ固有推論モデルを後続の訓練タスクを介して獲得されるユーザデータを用いて再訓練または調整する。
【0074】
いくつかの実装形態では、自己パフォーマンス評価は、ユーザが、例えば、アプリケーションまたはゲームと対話している間に実行される可能性がある。そのような事例では、システムは、モデル予測がユーザによって行われると期待される動作またはアクションと一致するかどうか確認することによって正確さまたはフィットネスレベルを決定することができる。例えば、ユーザが、アームバンドシステムを装着して、あるジェスチャを行うと期待される場合(例えば、ジェスチャを行って、二次元空間内でカーソルを左上象限に動かす)、システムは、ユーザ固有推論モデルが、アームバンドシステムから受信した神経筋信号に基づいて、期待される位置でカーソルがレンダリングされるかどうかを予測するかどうかを判定することができる。いくつかの例では、期待される位置が、実際の位置と異なっている場合、システムは、ユーザ固有推論モデルがさらに調整または再訓練される必要があると、結論付けることができる。上で議論したように、システムは、しきい値を上回る誤差が特定されたユーザ固有推論モデルの態様を具体的に再訓練するように設計することができる、ユーザのための後続の訓練タスクを、提供することができる。次に、後続の訓練タスクによって獲得された新しいユーザ神経筋データを使用して、ユーザ固有推論モデルを再訓練またはさらに調整することができる。
【0075】
いくつかの実施形態では、ユーザ固有モデルの品質を評価するために使用することができるメトリクスのセットを計算するための、グラフィカルユーザインターフェースを提供することができる。そのようなメトリクスには、経路効率、安定性、一貫性、到達可能性、組み合わせ論、および他の適切なメトリクスが含まれる可能性がある。
【0076】
例として、
図13Aは、経路効率メトリクスの視覚的な表現を示している。いくつかの実装形態では、経路効率メトリクスは、GUI上に、経路、例えば
図13Aに示される矢印付き経路を表示すること、およびユーザにアームバンドシステムを装着しながら(指の動作、手の動作、手首の動作)を含む動作を介して経路を辿るよう命令することによって計算することができる。そのような動作は、カーソルインジケータ(円)を、GUIにより定義される二次元空間内で動かすことになる。経路効率は、二次元空間上での矢印付き経路と(ユーザにより制御されている間)カーソルインジケータによって描画される経路との差異の関数として、測定することができる。換言すると、強い経路効率メトリクス値は、表示された経路を辿るユーザ動作に関連付けられるが、弱い経路効率メトリクス値は、表示された経路から外れるユーザの動作に関連付けられる。
図13Aに与えた例とは異なる他の構成を、異なる経路形成を示す
図13Bに関して以下に示す。
【0077】
いくつかの実施形態では、GUI上に、
図14Aに示されるような所定の数のセクションまたはスライスに分割した円の形状を表示することによって、安定性メトリクスを計算することができる。いくつかの事例では、ユーザは、神経筋データを記録して、そのデータを二次元制御用に訓練されたユーザ固有モデルに入力するアームバンドシステムを使用して、特定の円セクション上で、カーソルをホバリングさせるよう促される可能性がある。安定性メトリクスは、ユーザが示されるセクション上でホバリングするかどうかを測定することによって、作り出すことができる。いくつかの他の事例では、ユーザは、特定の円セクション上で、カーソルをホバリングさせて、所定の時間の長さを超える一定の持続時間そのようなセクション内に保持するよう促される可能性がある。そのような事例では、安定性は、ユーザが示されたターゲットセクション上でホバリングすることができるかどうか、およびユーザが必要とされる時間、示された円セクション上でカーソルを保持したかどうかの関数として測定される。
図14Bは、安定性メトリクス値を計算するためにユーザ用に表示され得る、異なるGUI構成を図示している。
【0078】
いくつかの実施形態では、GUI上に、
図15Aに示されるような所定の数のセクションに分割した円の形状を表示することによって、到達可能性メトリクスを計算することができる。いくつかの事例では、ユーザは、アームバンドシステムを使用して、カーソルを特定の円セクション上でホバリングさせるよう促される可能性がある。到達可能性メトリクス値は、ユーザが正常に到達することができる、示されるセクション(すなわち、ターゲット円の中心から特定の距離にあるスライスのセクション)の数を決定することによって、計算することができる。
図15Aに示される例では、異なるサイズの64セクションに分割された円を示している。例えば、円は、同様に、より少ない、またはより多いセクションに分割することができる。円の中心近くに位置するセクションは、到達することがより困難である可能性があることを理解されたい。したがって、そのようなセクションに正常に到達するためのユーザの能力は、より高い到達可能性メトリクス値を表現する。
図15Bは、ユーザが異なる到達可能性メトリクス値を計算するために表示され得る、異なるGUI構成を図示している。
【0079】
いくつかの実施形態では、GUI上に、
図16に示されるような所定の数のセクションに分割した円の形状を表示することによって、組み合わせ論メトリクスを計算することができる。いくつかの事例では、ユーザは、アームバンドシステムを使用して、カーソルを特定の円セクション上でホバリングさせ、クリックに対応する力をかけることによっての、ハンドジェスチャ、または手もしくは腕の動作を行うよう促される可能性がある。組み合わせ論メトリクス値は、タスクが正常に達成されたかどうかの関数として計算することができる。例えば、ユーザが示されたセクションまで正常にナビゲートし、クリックを行う場合、ユーザは正の値を受信することができる。別の例では、ユーザが示された円セクション上でカーソルをホバリングさせることだけに成功し、円セクション上でクリックすることには成功しない場合、ユーザは部分スコア値を受信する場合がある。
【0080】
いくつかの実装形態では、
図17に関して示されるような、サイズの変わるカーソルインジケータを設けることによって、上述のメトリクスを計算するためのさらなるレベルの粒度を実装することができる。
【0081】
当業者であれば、あらゆるターゲットエリアの形状および形状内部のターゲットセクションの構成を使用して、神経筋データおよび訓練されたユーザ固有推論モデルに基づいた効果的な二次元制御のために、安定性、到達可能性、組み合わせ論、または別のメトリクスを見極めることができることを認識されよう。
【0082】
本開示は、本明細書において説明される特徴空間を、簡単のため主に二次元で表現しているが、特徴空間は、様々な変数のいずれかに基づいて、あらゆる適切な次元性を有することができる。一例では、特徴空間の次元は、筋肉および/または対向する筋肉の対のアクティブ化(例えば、通常は同時的にアクティブにならない可能性がある)に対応する場合がある。例えば、連続的な1D出力を、1つは正の次元を制御する筋肉、もう一つは負の次元を制御する筋肉である、2つの筋肉によって生成することができる。例として、
図18Aは、連続的な1D出力のプロットを図示しており、対向する筋肉の対のアクティブ化を表現している。
図18Bは、対向する筋肉の対のそれぞれのアクティブ化のプロットを別個に図示している。同様に、連続的な2D出力を、4つの筋肉(2対の対向する筋肉)で生成することができる。
【0083】
上の例に続き、本明細書において説明されるシステムは、
図19に図示されるように、1D信号を生成する神経筋アクティビティのサンプルを、特徴空間に対して、マッピングおよび/またはプロットすることができる。これは、期待される神経筋データのサブ領域となる可能性がある(例えば、筋肉の対の一方だけが、あらゆる所与の時間にアクティブ化される事例を表現している)。しかしながら、時々、両方の筋肉が、同時にアクティブである場合がある(例えば、ノイズしきい値を上回る)。これは、個別的または連続的なイベントの間に生じる傾向がある可能性がある(例えば、前述したイベントなどの、一過性または持続性かに関わらず、ユーザが追加的な動作またはジェスチャを誘導したとき)。例として、
図20は、
図19の特徴空間を通る例示のイベント経路のプロットを示している(すなわち、イベントの間の、時間に対する神経筋データの進展)。これらのイベント経路は、1D信号を表現するデータ点のクラスタから除去することができる。したがって、1D信号に対して訓練された単一の推論モデルは、複数のイベントを良好に扱うことができない(前述の、拳の握り締め、または親指プレスなど)。したがって、本明細書において説明されるシステムおよび方法は、どの推論モデルを入力に適用するかを決定するために、特定の入力が含まれるサブ領域を決定することができる。
【0084】
先に議論したように、本明細書において説明されるシステムは、特定の入力がサブ領域に含まれるかどうかを判定するために、様々なメトリクスおよび方法を使用することができる。例として、
図21は、
図20のイベント経路を、元の1D信号を表現する入力のクラスタからのマハラノビス距離と比較して、示している。
図21から理解され得るように、マハラノビス距離は元の1D信号のデータ点と、イベント経路のデータ点とを、ある程度区別するが(例えば、3.0以上のマハラノビス距離を有するデータ点は、全てイベント経路上のデータ点である)、幾分の曖昧さが残る(例えば、1.5~3.0のマハラノビス距離では、元の1D信号からのいくつかのデータ点、およびイベント経路上のいくつかのデータ点の、両方がある)。代替として、
図22は、
図20のイベント経路を、混合ガウスモデルによって決定された尤度の負の対数(NLL)に基づく距離メトリクスと比較して、示している。
図22から理解される通り、元の1D信号からのほとんど全てのデータ点は、NLL1.0に含まれ、残りはNLL2.2に含まれるが、イベント経路上のデータ点の大半は、これらの範囲の外部となる。別の代替が
図23に示されており、
図20のイベント経路を、サポートベクトルマシン(SVM)スコアに基づく距離メトリクスと比較して、示している。混合ガウスモデルの尤度の負の対数と同様に、SVMスコアは、元の1D信号とイベント経路のデータ点との間のデータ点の多くを、正常に見分ける。
【0085】
上述と類似する原理を、2対の対向する筋肉を記述する特徴空間に適用することができる。ユーザが特定のジェスチャ(例えば、「クリック」ジェスチャ)を行うと、ユーザは、4つ全ての筋肉を同時にアクティブ化することができ、それにより、以前は一度にそれぞれの対に1つの筋肉だけのアクティブ化を想定していた2D出力を、予測不能にする(例えば、そうでなければ期待されていたであろう、2D出力から逸れるアーチファクトとなる)。したがって、本明細書において説明されるシステムは、アーチファクトがいつ生じるかを検出し、補正関数を元の2Dモデルに適用するよう訓練されたモデルを使用することができる。例えば、xが神経筋入力を表現しており、かつ元の2Dモデルがy=f2d(x)である場合、アーチファクトを考慮するよう訓練されたモデルは、y=f2d(x)+fcorrection(x)となることができ、ここでイベントが生じていない場合、fcorrection(x)は0であり、y0-f2d(x)である。したがって、アーチファクトを考慮するよう訓練されたモデルにおける補正項は、入力が特徴空間のデフォルトのサブ領域の外部となるかどうかの検出器として機能することができる。
【0086】
補正関数は、あらゆる適切なやり方で実装することができる。いくつかの例では、本明細書において説明されるシステムは、補正関数を実装するために放射基底関数ネットワークを使用することができ、放射基底関数は非線形、解釈可能であり、また大量のデータを必要とせずに訓練が容易であるという利点を有することができる。
【0087】
例として、
図24は、2D特徴空間のプロットを示している(例えば、2対の筋肉の可能なアクティブ化を表現している)。
図24の単位円は、期待されるデータ点のセットを表現している。しかしながら、フルアーチファクトを伴う円は、特定のイベントの(例えば、ユーザが「クリック」ジェスチャを行う)間に観察され得るデータ点のセットを表現する。アーチファクト経路は、通常は単位円に含まれる入力が、あるイベントの間、フルアーチファクトを伴う円上では、どのように投影されるかを示している。したがって、補正関数は、そのような投影を反転させ、フルアーチファクトを伴う円で観察されたデータ点を、単位円に効果的にマッピングすることができる。
【0088】
先ほど言及したように、いくつかの例では、高い精度および応答性のために、ノイズの多い神経筋信号をフィルタリングするために、1ユーロフィルタを適用することができる(例えば、推論モデルを信号に適用する前に)。一例では、1ユーロフィルタは、式(10)のように、適応的な時定数を有する、指数関数的な無限インパルス応答フィルタであり得る:
ただし、
は、|∇x|がローパスフィルタリングされたバージョンである。
【0089】
1ユーロフィルタは、活動がよく変化する場合は応答出力を、活動が静的である場合は安定出力を提供する(例えば、カーソルの動作を結び付ける場合、カーソルは、応答的に動くことができるが、ユーザがカーソルを動かすためのジェスチャをしない場合は、静止したままである)。しかしながら、1ユーロフィルタの時間スケールは、大きな勾配が生成されると低減される場合があり(例えば、ユーザがクリックジェスチャを行う場合)、これはカーソル位置に不安定性を誘導する可能性がある。例として、
図25は、ユーザが様々なジェスチャを行う際の、神経筋(例えば、EMG)データの、時間に対するプロット2500を示す。例えば、時間2510において、ユーザは円の周囲でカーソルを動かすようジェスチャを行っている可能性がある。時間2520において、ユーザはカーソル動作ジェスチャを行いつつ、クリックジェスチャを行っている可能性がある。
図26は、時間2510の詳細を示すためにズームインしたプロット2500を示している。
図26に示されるように、イベント2610および2620などのクリックジェスチャイベントは、神経筋データにアーチファクトを誘導し、場合によっては推論モデルに、神経筋データがカーソル動作を伴うものと誤解釈させる。
【0090】
したがって、本明細書において説明されるシステムは、イベントに応答する1ユーロフィルタの応答性をゲートする場合がある。例えば、1ユーロフィルタは、式(11)に示されるように、クリック関連のゲート変数h≧0を導入すること、および1ユーロフィルタの適応的な時定数を修正することによって、修正することができる:
ただし、σ(h)は、例として式(12)に示されるような関数によって与えられるシグモイドである:
【0091】
さらに
図27に、例示的なσ(h)のプロットの図を示す。したがって、hがΘよりも大きい場合は、フィルタの応答性は抑圧されるが、hがΘよりも小さい場合は、フィルタは1ユーロフィルタに等しい。ゲートされるフィルタを、本明細書では「2ユーロフィルタ」と称する場合がある。
【0092】
いくつかの実施形態では、本明細書において開示されるシステムおよび方法は、1ユーロフィルタでフィルタリングされた特徴に対して訓練された正則化された線形モデルを使用することができる。例えば、神経筋データがx(t)および所望の出力y(t)を特徴とするとすれば、いくつかの実施形態は、式(13)に示されるようなデータセットについての平均二乗誤差を最小化する重みのセットw
*を探索する場合がある:
【0093】
式(13)の解は、解析的に見つけることができ、w*は、w*=C-1Uとして定義することができる。
【0094】
別の実施形態では、本明細書において説明されるシステムは、リッジ回帰モデルを使用することができる。この実施形態では、式(14)に示されるように、追加の項が重みのL2ノルムに比例する、線形回帰の正則化されたバージョンが、コストに追加される:
ただし、σ
2は入力x(t)の平均2次モーメントである。これは式(15)を導く:
【0095】
ここで、行列[(1-ρ)C+ρσ2I]を、Cの縮小共分散と呼ぶ。
【0096】
別のステップでは、本明細書において説明されるシステムは、C自体の代わりに、Cの縮小共分散推定量を用いて線形回帰を行うことができる。これは、最適化コスト関数において、式(16)で示されるように表現することができる:
【0097】
ここで、この解は、式(17)に示されるように、リッジ回帰の解に比例する:
【0098】
縮小共分散解を使用することは、正則化パラメータが1に近づいたとしても、出力パワーを高く保つことができる。
【0099】
縮小共分散2Dモデルを使用して、本明細書において開示されるシステムおよび方法は、パフォーマンスを向上させるために、2ユーロフィルタを適用することができる。縮小共分散2Dモデルを使用する、2ユーロフィルタの適用は、クリックイベントなどのそれ以外では分断的なイベントを除外する出力を与えることができる。例として、
図28Aおよび
図28Bは、上述の1ユーロフィルタ(破線で示す)および2ユーロフィルタ(実線で示す)を使用したモデル予測のプロットを示している。イベント2810、2812、2814、2816、2818、2820、2822、2824(例えば、ユーザのクリック)の間、ユーザの動作に基づく2Dカーソルの予測される位置は、1ユーロフィルタを使用する場合、分断を体験する(恐らくは、カーソルをジャンプさせるように見える、またはジッタを生じさせる)。しかしながら、2ユーロフィルタは、これらのイベントによって生じたアーチファクトを効果的に除外している。
【0100】
例示的な実施形態
実施例1:複数の別個の推論モデルを使用する制御スキームのための、コンピュータに実装される方法は、
(1)1つまたは複数の神経筋センサからの、第1の複数の信号データを受信して、処理することと、(2)第1の複数の処理された信号データに対応するパラメータによって定義される特徴空間を作ることと、(3)特徴空間内の複数の領域を、(i)複数の領域のそれぞれを、対応する入力モードに関連付けること、および(ii)それぞれの入力モードを対応する推論モデルに関連付けることによって、マッピングすることと、(4)処理された複数の信号データに基づいて、入力モードを自動的に検出することと、(5)検出された入力モードに基づいて、第1の推論モデルを自動的に選択することと、(6)第1の推論モデルを処理された複数の信号データに適用することによって、出力信号を生成することとを含むことができる。
【0101】
実施例2:入力モードが、:(1)手のポーズ、(2)個別のジェスチャ、(3)連続的なジェスチャ、(4)指タップ、(5)2Dの手首回転、または(6)タイピングアクション、のイベントのうちの少なくとも1つの分類に関連する、実施例1に記載のコンピュータに実装される方法。
【0102】
実施例3:入力モードが、(1)個別のジェスチャ、(2)指タップ、(3)手のポーズ、または(4)連続的なジェスチャ、のイベントのうちの少なくとも1つに関連付けられる力レベルの分類に関連する、実施例1に記載のコンピュータに実装される方法。
【0103】
実施例4:選択された第1の推論モデルが、同一のユーザから収集された処理された信号データに基づいて、以前に訓練された個別化されたモデルを含む、実施例1に記載のコンピュータに実装される方法。
【0104】
実施例5:特徴空間内の複数の領域を識別することが、処理された信号データの計算的な分析に基づいて、領域のサイズおよび形状を最適化することをさらに含む、実施例1に記載のコンピュータに実装される方法。
【0105】
実施例6:複数の信号データを処理することが、1ユーロフィルタを複数の信号データに適用することを含む、実施例1に記載のコンピュータに実装される方法。
【0106】
実施例7:処理された複数の信号データに基づいて、入力モードを自動的に検出することが、入力モード内で発生する入力イベントに関連付けられるゲートを1ユーロフィルタに適用することを含む、実施例6に記載のコンピュータに実装される方法。
【0107】
実施例8:ゲートを1ユーロフィルタに適用することが、1ユーロフィルタの適応的な時定数を修正することを含む、実施例7に記載のコンピュータに実装される方法。
【0108】
実施例9:(1)複数の信号データを低次元潜在空間へと処理することと、(2)低次元潜在空間の視覚表現をグラフィカルインターフェース内に提示することと、(3)新しい信号データが受信されると、新しい信号データを1つまたは複数の潜在ベクトルとして低次元潜在空間内にプロットすることによって、低次元潜在空間の視覚表現をリアルタイムに更新することとをさらに含む、実施例1に記載のコンピュータに実装される方法。
【0109】
実施例10:潜在空間の視覚表現が、潜在空間内の潜在分類サブ領域間の境界の視覚表現を含む、実施例9に記載のコンピュータに実装される方法。
【0110】
実施例11:(1)潜在分類サブ領域のうちの1つまたは複数が、複数の領域に対応し、(2)潜在空間の視覚表現が、潜在分類サブ領域の対応する入力モードを記述する潜在分類サブ領域に適用されるラベルを含む、実施例10に記載のコンピュータに実装される方法。
【0111】
実施例12:(1)ユーザがターゲット入力を行うためにグラフィカルインターフェース内に促しを繰り返して提示することと、(2)新しい信号データを、ユーザによるターゲット入力を行う試みとして識別することと、(3)新しい信号データが、一貫性のない潜在分類サブ領域に含まれると判定することと、(4)ユーザに第1の推論モデルを再訓練するよう促しを提示することをさらに含む、実施例9に記載のコンピュータに実装される方法。
【0112】
実施例13:(1)ユーザがターゲット入力を行うためにグラフィカルインターフェース内に促しを繰り返して提示することと、(2)新しい信号データを、ユーザによるターゲット入力を行う試みとして識別することと、(3)新しい信号データが、一貫性のない潜在分類サブ領域に含まれるかどうかを判定することと、(4)ユーザから入力を受信して、新しい信号データがターゲット入力に対応する潜在分類サブ領域に含まれるように第1の推論モデルを修正することとをさらに含む、実施例9に記載のコンピュータに実装される方法。
【0113】
実施例14:(1)ユーザから複数の信号データを受信する、1つまたは複数の神経筋センサと、(2)少なくとも1つの物理的なプロセッサと、コンピュータ実行可能命令を含む物理的なメモリであって、コンピュータ実行可能命令は、物理的なプロセッサによって実行されると、物理的なプロセッサに、(i)複数の信号データを受信して、処理することと、(ii)処理された信号データを、処理された信号データに対応するパラメータによって定義される特徴空間にマッピングすることと、(iii)第1の複数の処理された信号データに基づいて、特徴空間内で第1のサブ領域を識別することと、(iv)第2の複数の処理された信号データに基づいて、特徴空間内で第2のサブ領域を識別することと、(v)特徴空間の第1のサブ領域に対応する第3の複数の処理された信号データに基づいて、第1の推論モデルを第3の複数の処理された信号データに適用することと、(vi)特徴空間の第2のサブ領域に対応する第4の複数の処理された信号データに基づいて、第2の推論モデルを第4の複数の処理された信号データに適用することを行わせる、物理的なメモリとを含む、システム。
【0114】
コンピュータベースのシステムを制御して対話するため、およびユーザが対話的な媒体に無制限な方法で関与できるようにするために実装された、神経筋センサのアレイを備えるウェアラブルデバイスが、本明細書において開示される。ウェアラブルシステム(「アームバンドシステム」)は、腕または手首に装着し、アームバンドシステムによって認識される、手および腕の動作、ポーズ、ジェスチャ、および力(アイソメトリック、またはその他)と相関する神経筋信号に基づいて、他のデバイス(例えば、ロボット、モノのインターネット(IoT)デバイス、および他の適切なコンピューティングデバイス)および対話的な媒体の要素を制御するために使用することができる。アームバンドシステムによって有効にされるいくつかの対話的なタスクには、二次元空間に表示されるグラフィカル物体を選択して、アクティブ化すること、グラフィカル物体を二次元空間内で動かすこと、グラフィカル物体上でホバリングすること、および他の適切な対話が含まれる。そのような対話は、アームバンドシステムによって認識される、手および腕の動作、ポーズ、ジェスチャ、および力に基づいている。
【0115】
アームバンドシステムは、腕および手の動作、ポーズ、ジェスチャ、および力を、ユーザ固有推論モデルを介して認識し、そのようなアクションを二次元空間、例えば、コンピュータスクリーン、スマートTV、または他の適切なデバイスへとマッピングする。推論モデルは、1つもしくは複数の統計モデル、1つもしくは複数の機械学習モデル、ならびに/あるいは1つもしくは複数の統計モデル、および/または1つもしくは複数の機械学習モデルの組み合わせを含むことができる。推論モデルは、ユーザの神経筋アクティビティから記録されたデータ、ならびに関連する動作および生成された力で訓練されるため、ユーザ固有である。ユーザの神経筋信号は、アームバンドシステムを介して収集される。その後、推論モデルは、収集されたユーザデータで訓練され、ユーザ固有推論モデルが構築される。ユーザ固有推論モデルは、ユーザに適合され、個々のユーザによって行われる動作、ポーズ、力、および/またはジェスチャに関連付けられる、ユーザ固有の特性または特殊性を扱うことができる。したがって、訓練の後、アームバンドシステムは、個別化された人間コンピュータインターフェースに適合される。
【0116】
図29は、いくつかの実施形態による、システム2900を示している。システムは、人体の骨格筋における神経筋アクティビティから生じる信号を記録するように構成された複数のセンサ2902を含む。本明細書において使用される場合、用語「神経筋アクティビティ」は、筋肉を神経支配する脊髄運動ニューロンの神経アクティブ化、筋肉アクティブ化、筋肉収縮、または神経アクティブ化、筋肉アクティブ化、および筋肉収縮のあらゆる組み合わせを称する。神経筋センサとしては、1つもしくは複数の筋電図検査(EMG)センサ、1つもしくは複数の筋音図検査(MMG)センサ、1つもしくは複数の音波筋電図検査(SMG:sonomyography)センサ、1つもしくは複数の電気インピーダンストモグラフィ(EIT)センサ、2つ以上のタイプのEMGセンサ、MMGセンサ、SMGセンサ、およびEITセンサの組み合わせ、ならびに/または、神経筋アクティビティから導出される信号を検出するように構成されたあらゆる適切なタイプの1つもしくは複数のセンサを挙げることができる。いくつかの実施形態では、複数の神経筋センサを使用して、神経筋センサが筋肉活動を感知するように構成される対象となる筋肉によって制御される体の一部の動作に関連する筋肉活動から導出される信号を感知することができる。空間的な情報(例えば、位置および/または配向情報)および動作を記述する力情報は、ユーザが時間に対して動く際、または1つもしくは複数のジェスチャを行う際、感知された神経筋信号に基づいて予測することができる。
【0117】
センサ2902は、1つまたは複数の慣性計測装置(IMU)を含むことができ、IMUは、例えば、加速度計、ジャイロスコープ、磁気計、または1つもしくは複数の加速度計、ジャイロスコープ、および磁気計のあらゆる組み合わせを使用して、動きの物理的態様の組み合わせを測定する。いくつかの実施形態では、IMUを使用して、IMUが取り付けられる体の一部の動作についての情報を感知することができ、ユーザが時間に対して動く際、感知されたデータから導出された情報(例えば、位置および/または配向情報)を追跡することができる。例えば、ユーザが時間に対して動く際、または1つもしくは複数のジェスチャを行う際、1つまたは複数のIMUを使用して、センサに対してユーザの胴体の近位にある(例えば、腕、脚)、ユーザの体の一部の動きを追跡することができる。
【0118】
少なくとも1つのIMUおよび複数の神経筋センサを含む実施形態では、IMUおよび神経筋センサは、人体の様々な部分の動作を検出するように構成することができる。例えば、IMUは、胴体に近位の1つまたは複数の体セグメント(例えば、上腕)の動作を検出するように構成することができる一方で、神経筋センサは、胴体から遠位の1つまたは複数の体セグメント(例えば、前腕または手首)の動作を検出するように構成することができる。しかしながら、センサは、あらゆる適切な方法で配置構成することができ、本明細書において説明される技術の実施形態は、特定のセンサ配置構成に基づいて限定されないことを理解すべきである。例えば、いくつかの実施形態では、少なくとも1つのIMUおよび複数の神経筋センサを、様々なタイプの測定値を使用して体セグメントの動作を追跡するよう、体セグメントに共配置することができる。以下でさらに詳細に説明される一実装形態では、IMUセンサおよび複数のEMGセンサは、ユーザの下腕または手首周りに装着するように構成されたアームバンドシステムに配置構成することができる。そのような配置構成では、IMUセンサは、例えば、ユーザが腕を挙げているのか、または下ろしているのかを判定するために、1つまたは複数の腕セグメントに関連付けられる動作情報(例えば、時間に対する位置付けおよび/または配向)を追跡するように構成することができるが、EMGセンサは、例えば、ユーザが手を開いているのか、または閉じているのかを判定するために、手首または手セグメントに関連付けられる動作情報を判定するように構成することができる。
【0119】
センサ2902のそれぞれは、ユーザに関する情報を感知するように構成された、1つまたは複数のセンシング用コンポーネントを含む。1つまたは複数のIMUセンサの事例では、センシング用コンポーネントとしては、1つまたは複数の加速度計、ジャイロスコープ、磁気計、またはそのあらゆる組み合わせを挙げることができ、体の動きの特性、例として限定はしないが、加速度、角速度、体の周りで感知される磁場、を測定する。神経筋センサの事例では、センシング用コンポーネントとしては、体表面の電位を検出するように構成された電極(例えば、EMGセンサ用)、皮膚表面振動を測定するように構成された振動センサ(例えば、MMGセンサ用)、筋肉活動から生じる超音波信号を測定するように構成された音響センシング用コンポーネント(例えば、SMGセンサ用)、皮膚からの電気インピーダンスを測定するための電気センシング用コンポーネント(例えば、EITセンサ用)を挙げることができるが、それに限定されない。
【0120】
いくつかの実施形態では、複数のセンサ2902のうちの少なくとも一部は、ユーザの体の一部の上、または周囲に装着するように構成されたアームバンドデバイスの一部として配置構成される。例えば、一非限定的な例では、IMUセンサおよび複数の神経筋センサは、ユーザの手首または腕の周りに装着するように構成されたリストバンドまたはアームバンドなどの、調節可能および/または弾性的なバンドの周りに周囲方向に配置構成することができる。いくつかの実施形態では、各々が1つもしくは複数のIMUおよび/または神経筋センサを上に含む複数のアームバンドデバイスを使用して、体の複数部分に関与する動作、ポーズ、またはジェスチャに関する、筋骨格位置情報を予測することができる。
【0121】
いくつかの実施形態では、センサ2902は、複数の神経筋センサだけを含む(例えば、EMGセンサ)。他の実施形態では、センサ2902は、複数の神経筋センサ、および複数の補助信号を連続的に記録するように構成された少なくとも1つの「補助」センサを含む。補助センサの例としては、IMUセンサなどの他のセンサ、およびイメージングデバイス(例えば、カメラ)、放射生成デバイス(例えば、レーザ走査デバイス)と共に使用するための放射ベースセンサなどの外部センサ、または心拍モニタなどの他のタイプのセンサが挙げられるが、それに限定されない。
【0122】
いくつかの実施形態では、センシング用コンポーネントのうちの1つまたは複数の出力は、(例えば、増幅、フィルタリング、および/または整流を行うために)ハードウェア信号処理回路を使用して処理される場合がある。他の実施形態では、センシング用コンポーネントの出力の少なくとも一部の信号処理は、ソフトウェアで行われてもよい。したがって、本明細書において説明される技術の態様はこの点で限定されないため、センサによって記録された信号の信号処理は、ハードウェア、ソフトウェアにおいて、またはハードウェアとソフトウェアとのあらゆる適切な組み合わせによって行われる可能性がある。
【0123】
いくつかの実施形態では、以下でさらに詳細に説明するように、記録されたセンサデータは、追加的な導出測定値または次に入力として推論モデルに与えられる特徴を計算するよう処理することができる。例えば、記録されたセンサデータを使用して、ユーザ固有推論モデルを構築するためのグランドトゥルース情報を生成することができる。別の例では、IMUセンサからの記録された信号を処理して、時間に対する剛性の体セグメントの配向を特定する配向信号を導出することができる。センサ2902は、センシング用コンポーネントと一体化したコンポーネントを使用して信号処理を実装することができるか、または信号処理の少なくとも一部を、センサのセンシング用コンポーネントと通信しているが直接一体化されてはいない、1つまたは複数のコンポーネントによって行うことができる。
【0124】
システム2900は、センサ2902と通信するようにプログラムされた1つまたは複数のコンピュータプロセッサ2904をさらに含む。例えば、センサのうちの1つまたは複数によって記録された信号は、プロセッサに与えることができ、プロセッサは、1つまたは複数の推論モデル2906を訓練するために、センサ2902によって出力された信号を処理するようにプログラムすることができ、以下でさらに詳細に説明するように、訓練された(または再訓練された)推論モデル2906は、ジェスチャを識別する/分類する際に、および制御/コマンド信号を生成する際に、後で使用するために記憶することができる。いくつかの実施形態では、プロセッサ2904は、ユーザによって行われる1つまたは複数のジェスチャに関連付けられる1つまたは複数の特徴を導出するようプログラムすることができ、導出された特徴は、1つまたは複数の推論モデル2906を訓練するために使用することができる。プロセッサ2904は、その後行われるジェスチャを、訓練された1つまたは複数の推論モデル2906に基づいて、識別するようプログラムすることができる。いくつかの実装形態では、プロセッサ2904は、少なくとも一部、識別したジェスチャを1つまたは複数の制御/コマンド信号にマッピングするために、推論モデルを利用するようにプログラムすることができる。
【0125】
図30は、ユーザの下腕または手首の周りに装着するように構成された弾性的なバンドを、周囲方向の周りに配置構成された神経筋センサ(例えば、EMGセンサ)のアレイを備えるアームバンドシステムを図示している。示されるように、差動式神経筋センサが、周囲方向に配置構成され、1つまたは複数の弾性バンドと結合している。あらゆる適切な数の神経筋センサを使用することができることを理解すべきである。神経筋センサの数および配置は、アームバンドシステムが使用される特定の用途に応じたものとなり得る。例えば、ウェアラブルなアームバンドまたはリストバンドを使用して、拡張現実システム、仮想現実システム、ロボットを制御するため、車両を制御するため、テキストをスクロールするため、仮想アバタを制御するため、またはあらゆる他の適切な制御タスクのための制御情報を生成することができる。示されるように、センサは、アームバンドデバイスに組み込まれた柔軟な電子機器を使用して共に結合することができる。
【0126】
いくつかの実施形態では、センサのうちの1つまたは複数の出力は、(例えば、増幅、フィルタリング、および/または整流を行うために)ハードウェア信号処理回路を使用して、任意選択的に処理される場合がある。他の実施形態では、センサの出力の少なくとも一部の信号処理は、ソフトウェアで行われる可能性がある。したがって、本明細書において説明される技術の態様はこの点で限定されないため、センサによってサンプリングされた信号の処理は、ハードウェア、ソフトウェアにおいて、またはハードウェアとソフトウェアとのあらゆる適切な組み合わせによって行われる可能性がある。
【0127】
以下の
図31Aおよび
図31Bは、本明細書において説明される技術のいくつかの実施形態による、16個のEMGセンサを有するウェアラブルシステムの内部コンポーネントの概略図を図示している。示されるように、ウェアラブルシステムは、ウェアラブル部分3110(
図31A)、およびウェアラブル部分3110と(例えば、Bluetoothまたは別の適切な短距離無線通信技術を介して)通信するドングル部分3120(
図31B)を含む。
図11Aに示されるように、ウェアラブル部分3110は、センサ2902を含み、その例が
図29に関連して説明される。センサ2902の出力は、記録された信号に対してアナログ処理(例えば、ノイズ低減、フィルタリングなど)を行うように構成されたアナログなフロントエンド3130に与えられる。処理されたアナログ信号は、次に、アナログ信号を、1つまたは複数のコンピュータプロセッサによって処理することができるデジタル信号に変換する、アナログ-デジタル変換器3132に与えられる。いくつかの実施形態によって使用され得るコンピュータプロセッサの例は、
図31Aに図示されるマイクロコントローラ(MCU)3134である。示されるように、MCU3134は、他のセンサ(例えば、IMUセンサ3140)、ならびに電源およびバッテリーモジュール3142からの入力を含む場合もある。MCUによって行われる処理の出力は、
図31Bに示されるドングル部分3120への送信用に、アンテナ3150に与えることができる。
【0128】
ドングル部分3120は、ウェアラブル部分3110の一部として含まれるアンテナ3150と通信するように構成されたアンテナ3152を含む。アンテナ3150と3152との間の通信は、あらゆる適切な無線技術およびプロトコルを使用して、発生する場合があり、その非限定な例としては、無線周波数シグナリング、およびBluetoothが挙げられる。示されるように、ドングル部分3120のアンテナ3152によって受信された信号は、さらなる処理、表示のため、および/または特定の物理的もしくは仮想的な1つもしくは複数の物体の制御を有効にするために、ホストコンピュータに与えることができる。
【0129】
本開示の実施形態は、様々なタイプのアーティフィシャルリアリティシステムを含むことができるか、様々なタイプのアーティフィシャルリアリティシステムと併せて実装することができる。アーティフィシャルリアリティは、ユーザへの提示の前に何らかの様式で調節されたリアリティの形態であり、例えば、仮想現実、拡張現実、混合現実、ハイブリッド現実、または、その何らかの組み合わせおよび/もしくは派生物が含まれ得る。アーティフィシャルリアリティのコンテンツは、完全にコンピュータ生成のコンテンツ、またはキャプチャされた(例えば、実世界)コンテンツと組み合わせたコンピュータ生成のコンテンツを含むことができる。アーティフィシャルリアリティのコンテンツには、動画、音声、触覚的なフィードバック、またはそれらの何らかの組み合わせが含まれる場合があり、そのいずれかが、単一のチャネルまたは複数のチャネルで(例えば、視聴者向けに三次元(3D)効果を作り出す立体動画など)提示され得る。追加的に、いくつかの実施形態では、アーティフィシャルリアリティは、例えば、アーティフィシャルリアリティにおけるコンテンツを作るために使用される、および/または(例えば、アーティフィシャルリアリティ内で活動を行うために)アーティフィシャルリアリティ内で使用される、アプリケーション、製品、アクセサリ、サービス、またはそれらの何らかの組み合わせに関連付けられてもよい。
【0130】
アーティフィシャルリアリティシステムは、様々な異なるフォームファクタおよび構成で実装することができる。一部のアーティフィシャルリアリティシステムは、ニアアイディスプレイ(NED)なしで作動するように設計することができる。他のアーティフィシャルリアリティは、実世界への可視性も与える(例えば、
図32の拡張現実システム3200など)、またはユーザを視覚的にアーティフィシャルリアリティに没入させる(例えば、
図33の仮想現実システム3300など)NEDを含むことができる。一部のアーティフィシャルリアリティデバイスは、内蔵型システムであってもよいが、他のアーティフィシャルリアリティデバイスは、外部デバイスと通信および/または協同して、ユーザにアーティフィシャルリアリティ体験を与えることができる。そのような外部デバイスの例としては、ハンドヘルドコントローラ、モバイルデバイス、デスクトップコンピュータ、ユーザによって装着されるデバイス、1人もしくは複数の他のユーザによって装着されるデバイス、および/またはあらゆる他の適切な外部システムが挙げられる。
【0131】
図32に戻ると、拡張現実システム3200には、左ディスプレイデバイス3215(A)および右ディスプレイデバイス3215(B)をユーザの目の前に保持するように構成されたフレーム3210を備えるアイウェアデバイス3202が含まれる場合がある。ディスプレイデバイス3215(A)および3215(B)は、ユーザに1つの画像または一連の画像を提示するために、共に、または独立的に作用することができる。拡張現実システム3200は、2つのディスプレイを含んでいるが、本開示の実施形態は、単一のNEDまたは2つより多くのNEDを備える拡張現実システムに実装することができる。
【0132】
いくつかの実施形態では、拡張現実システム3200は、センサ3240などの1つまたは複数のセンサを含むことができる。センサ3240は、拡張現実システム3200の動きに応じて測定信号を生成することができ、フレーム3210の実質的に任意の部分に配置することができる。センサ3240は、位置センサ、慣性計測装置(IMU)、深度カメラアセンブリ、構造化された光エミッタおよび/もしくは検出器、またはそのあらゆる組み合わせなど、様々な異なる感知メカニズムのうちの1つまたは複数を表現することができる。いくつかの実施形態では、拡張現実システム3200は、センサ3240を含んでいてもよく、もしくは含まなくてもよく、または2つ以上のセンサを含んでもよい。センサ3240が1つのIMUを含む実施形態では、IMUは、センサ3240からの測定信号に基づいて、校正データを生成することができる。センサ3240の例としては、限定はしないが、加速度計、ジャイロスコープ、磁気計、動きを検出する他の適切なタイプのセンサ、IMUの誤差補正用に使用されるセンサ、またはそれらの何らかの組み合わせを挙げることができる。
【0133】
いくつかの例では、拡張現実システム3200は、音響変換器3220と総称される複数の音響変換器3220(A)~3220(J)を備える、マイクロフォンアレイを含むこともできる。音響変換器3220は、音波によって誘発される空気圧振動を検出する変換器を表すことができる。各音響変換器3220は、音を検出して、検出した音を電子フォーマットに(例えば、アナログからデジタルなフォーマットに)変換するように構成することができる。
図33のマイクロフォンアレイは、例えば、10個の音響変換器を含むことができる:ユーザの対応する耳の内部に置くように設計され得る3220(A)および3220(B)、フレーム3210上の様々な場所に位置付けることができる音響変換器3220(C)、3220(D)、3220(E)、3220(F)、3220(G)、および3220(H)、ならびに/または対応するネックバンド3205上に位置付けることができる音響変換器3220(I)および3220(J)。
【0134】
いくつかの実施形態では、音響変換器3220(A)~(F)のうちの1つまたは複数は、出力変換器(例えば、スピーカ)として使用することができる。例えば、音響変換器3220(A)および/または3220(B)は、イヤフォンもしくはあらゆる他の適切なタイプのヘッドフォンまたはスピーカであってもよい。
【0135】
マイクロフォンアレイの音響変換器3220の構成は、変わってもよい。拡張現実システム3200は、10個の音響変換器3220を有するものとして
図32に示されているが、音響変換器3220の数は、10個よりも多くても、少なくてもよい。いくつかの実施形態では、より多い数の音響変換器3220を使用して、収集される音声情報量ならびに/または音声情報の感度および正確さを向上することができる。対照的に、より少ない数の音響変換器3220を使用すると、収集した音声情報を処理するために、関連付けられるコントローラ3250によって必要とされる計算能力を低下させる場合がある。加えて、マイクロフォンアレイの各音響変換器3220の位置は、変わってもよい。例えば、音響変換器3220の位置は、ユーザ上で定義された位置、フレーム3210上で定義された座標、各音響変換器3220に関連付けられる配向、またはそれらの何らかの組み合わせを含むことができる。
【0136】
音響変換器3220(A)および3220(B)は、耳介の裏、耳珠の裏、および/または心耳もしくは窩内部など、ユーザの耳の異なる部分に位置付けることができる。または、外耳道内部の音響変換器3220に加えて、耳の上、または耳の周りに追加的な音響変換器3220があってもよい。音響変換器3220をユーザの外耳道の側に位置付けていることにより、マイクロフォンアレイが、音がどのように外耳道に到達するかの情報を収集することを可能にすることができる。ユーザの頭部のいずれかの側に音響変換器3220のうちの少なくとも2つを位置付けることにより(例えば、バイノーラルマイクロフォンとして)、拡張現実デバイス3200は、バイノーラルな聴音をシミュレーションすること、およびユーザ頭部周りの3D立体音場をキャプチャすることができる。いくつかの実施形態では、音響変換器3220(A)および3220(B)は、有線接続3230を介して拡張現実システム3200に接続することができ、他の実施形態では、音響変換器3220(A)および3220(B)は、無線接続(例えば、Bluetooth接続)を介して拡張現実システム3200に接続することができる。さらに他の実施形態では、音響変換器3220(A)および3220(B)は、拡張現実システム3200と併せて全く使用されなくてもよい。
【0137】
フレーム3210上の音響変換器3220は、テンプルの長さに沿って、ブリッジをまたいで、ディスプレイデバイス3215(A)および3215(B)の上もしくは下、またはそれらの何らかの組み合わせを含め、多様に異なる方法で位置付けることができる。音響変換器3220は、マイクロフォンアレイが、拡張現実システム3200を装着しているユーザの周りで、広範囲の方向において音を検出することができるように配向することもできる。いくつかの実施形態では、マイクロフォンアレイにおける各音響変換器3220の相対的な位置付けを決定するために、拡張現実システム3200の製造中に最適化プロセスを行うことができる。
【0138】
いくつかの例では、拡張現実システム3200は、ネックバンド3205などの外部デバイス(例えば、対になったデバイス)を含むことができる、または外部デバイスに接続することができる。ネックバンド3205は、一般的には、あらゆるタイプの、またはあらゆる形態の、対になったデバイスを表現している。したがって、ネックバンド3205の以下の議論は、充電ケース、スマートウォッチ、スマートフォン、リストバンド、他のウェアラブルデバイス、ハンドヘルドコントローラ、タブレットコンピュータ、ラップトップコンピュータ、他の外部計算デバイスなどの、様々な他の対になったデバイスに適用することもできる。
【0139】
示されるように、ネックバンド3205は、1つまたは複数のコネクタを介して、アイウェアデバイス3202に結合することができる。コネクタは、有線または無線であってもよく、電気的および/または非電気的な(例えば、構造的な)コンポーネントを含んでもよい。場合によっては、アイウェアデバイス3202とネックバンド3205とは、その間に有線または無線接続がなくても独立的に動作することができる。
図32は、アイウェアデバイス3202およびネックバンド3205上での例示的な場所におけるアイウェアデバイス3202およびネックバンド3205のコンポーネントを図示しているが、コンポーネントは、アイウェアデバイス3202および/またはネックバンド3205上で、どこか別の場所に配置、および/または様々に分散されてもよい。いくつかの実施形態では、アイウェアデバイス3202およびネックバンド3205のコンポーネントは、アイウェアデバイス3202、ネックバンド3205、またはそれらの何らかの組み合わせと対になされた、1つまたは複数の追加的な周辺デバイス上に配置されてもよい。
【0140】
ネックバンド3205などの拡張現実アイウェアデバイスと対をなす外部デバイスは、アイウェアデバイスが眼鏡のフォームファクタを達成することを可能にしつつ、なお拡大した機能のための十分なバッテリーおよび計算能力を提供する。バッテリーパワー、計算リソース、および/または拡張現実システム3200の追加的な特徴の、一部または全ては、対になったデバイスによって提供されるか、または対になったデバイスとアイウェアデバイスとで共有される場合があり、それによって、所望の機能性をなお保ちつつ、アイウェアデバイスの重量、熱プロファイル、およびフォームファクタを全体的に低減する。ユーザは、自身の頭で耐えられるよりも重い重量負荷を肩で耐えることが可能であるため、例えば、ネックバンド3205は、本来はアイウェアデバイスに含められたであろうコンポーネントを、ネックバンド3205に含まれるようにすることができる。ネックバンド3205は、周囲環境に熱を拡散および分散させる、より広い表面積を有することもできる。したがって、ネックバンド3205は、スタンドアロンのアイウェアデバイス上で可能にした場合よりも、大きなバッテリーおよび計算キャパシティを可能にすることができる。ネックバンド3205で搬送される重量は、アイウェアデバイス3202で搬送される重量よりも、ユーザにとって低侵襲的であり得るため、ユーザが重いスタンドアロンのアイウェアデバイスを装着することに耐えるよりも、ユーザはより軽量のアイウェアデバイスを装着して、対になったデバイスを長時間搬送または装着することに耐えやすく、それにより、ユーザが、自身の日々の活動にアーティフィシャルリアリティ環境をより完全に組み込むことを可能にする。
【0141】
ネックバンド3205は、アイウェアデバイス3202および/または他のデバイスに、通信可能に結合することができる。これらの他のデバイスは、拡張現実システム3200に特定の機能(例えば、追跡、ローカライズ、深度マッピング、処理、記憶など)を提供することができる。
図32の実施形態では、ネックバンド3205は、マイクロフォンアレイの一部である(または、潜在的に自身のマイクロフォンサブアレイを形成する)2つの音響変換器(例えば、3220(I)および3220(J))を含むことができる。ネックバンド3205は、コントローラ3225および電源3235を含む場合もある。
【0142】
ネックバンド3205の音響変換器3220(I)および3220(J)は、音を検出して、検出した音を電子フォーマット(アナログまたはデジタル)に変換するように構成することができる。
図32の実施形態では、音響変換器3220(I)および3220(J)は、ネックバンド3205上に位置付けられるため、ネックバンド音響変換器3220(I)および3220(J)と、アイウェアデバイス3202上に位置付けられる他の音響変換器3220との距離を大きくすることができる。場合によっては、マイクロフォンアレイの音響変換器3220同士の距離を大きくすることは、マイクロフォンアレイを介して行われるビームフォーミングの正確さを改善することができる。例えば、音響変換器3220(C)および3220(D)によって音が検出され、音響変換器3220(C)と3220(D)との間の距離が、例えば、音響変換器3220(D)と3220(E)との間の距離よりも大きい場合、検出された音の決定される音源場所は、音が音響変換器3220(D)および3220(E)によって検出される場合よりも正確である可能性がある。
【0143】
ネックバンド3205のコントローラ3225は、ネックバンド3205および/または拡張現実システム3200上のセンサによって生成される情報を処理することができる。例えば、コントローラ3225は、マイクロフォンアレイによって検出された音を説明するマイクロフォンアレイからの情報を処理することができる。検出される音ごとに、コントローラ3225は、マイクロフォンアレイに到着した検出された音が来た方向を推定するための、音源方位(DOA)推定を行うことができる。マイクロフォンアレイが音を検出すると、コントローラ3225は、音声データセットに情報をポピュレートすることができる。拡張現実システム3200が慣性計測装置を含む実施形態では、コントローラ3225は、アイウェアデバイス3202上に配置されたIMUからの、全ての慣性的および空間的な演算を計算することができる。コネクタは、拡張現実システム3200とネックバンド3205との間、および拡張現実システム3200とコントローラ3225との間で、情報を運ぶことができる。情報は、光学的なデータ、電気的なデータ、無線データ、またはあらゆる他の送出可能なデータ形態の形態であることができる。拡張現実システム3200によって生成された情報の処理をネックバンド3205に移すことは、アイウェアデバイス3202の重量および熱を低減することができ、ユーザの快適さを増すことができる。
【0144】
ネックバンド3205の電源3235は、アイウェアデバイス3202および/またはネックバンド3205に電力を与えることができる。電源3235としては、限定はしないが、リチウムイオン電池、リチウムポリマ電池、リチウム一次電池、アルカリ電池、または電力貯蔵のあらゆる他の形態を挙げることができる。場合によっては、電源3235は有線の電源であってもよい。アイウェアデバイス3202上の代わりに、ネックバンド3205上に電源3235を含むことは、重量および電源3235によって生ずる熱をより良好に分散することを助けることができる。
【0145】
述べたように、一部のアーティフィシャルリアリティシステムは、アーティフィシャルリアリティを実際の現実とブレンドする代わりに、ユーザの実世界の知覚のうちの1つまたは複数を、実質的に仮想体験で置き換えることができる。このタイプのシステムの一例は、ユーザの視野をほとんど、または完全にカバーする、
図33における仮想現実システム3300などの頭部装着ディスプレイシステムである。仮想現実システム3300は、前方剛体3302、およびユーザ頭部周囲に密着するよう形状付けられたバンド3304を含むことができる。仮想現実システム3300は、出力音声変換器3306(A)および3306(B)を含むこともできる。さらには、
図33には示されていないが、前方剛体3302は、1つもしくは複数の電子ディスプレイ、1つもしくは複数の慣性計測装置(IMU)、1つもしくは複数の追跡エミッタもしくは検出器、および/またはアーティフィシャルリアリティ体験を作り出すあらゆる他の適切なデバイスもしくはシステムを含む、1つまたは複数の電子素子を含む可能性がある。
【0146】
アーティフィシャルリアリティシステムは、様々なタイプの視覚的フィードバックメカニズムを含むことができる。例えば、拡張現実システム3200および/または仮想現実システム3300内のディスプレイデバイスには、1つまたは複数の液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、有機LED(OLED)ディスプレイ、デジタル光投影(DLP:digital light project)マイクロディスプレイ、液晶オンシリコン(LCoS)マイクロディスプレイ、および/またはあらゆる他の適切なタイプのディスプレイスクリーンが含まれる場合がある。これらのアーティフィシャルリアリティシステムは、両目に対して単一のディスプレイスクリーンを含むことができるか、またはそれぞれの目に1つのディスプレイスクリーンを設けることができ、可変焦点調節用に、またはユーザの屈折異常を補正するために、追加的な柔軟性を可能にすることができる。これらのアーティフィシャルリアリティシステムの一部は、ユーザがディスプレイスクリーンを見ることができる、1つまたは複数のレンズ(例えば、従来的な凹レンズまたは凸レンズ、フレネルレンズ、調節可能な液体レンズなど)を有する光学的なサブシステムを含む場合もある。これらの光学的なサブシステムは、コリメートする(例えば、物体をその物理的な距離よりも遠くに見せる)こと、拡大すること(例えば、物体を実際の大きさよりも大きく見せる)、および/または光を中継すること(例えば、視聴者の目に向けて)を含め、様々な目的に機能することができる。これらの光学的なサブシステムは、非瞳孔形成アーキテクチャ(光を直接コリメートするが、いわゆるピンクッション歪みをもたらす単レンズ構成など)、および/または瞳孔形成アーキテクチャ(いわゆる樽型歪みを作り出してピンクッション歪みを打ち消す多レンズ構成など)で使用することができる。
【0147】
ディスプレイスクリーンを使用することに加えて、またはディスプレイスクリーンを使用する代わりに、本明細書において説明される一部のアーティフィシャルリアリティシステムは、1つまたは複数の投影システムを含むことができる。例えば、拡張現実システム3200および/または仮想現実システム3300のディスプレイデバイスは、光をディスプレイデバイスに(例えば、導波管を用いて)投影する、周辺光を通過させるクリアコンバイナ(clear combiner)レンズなどのマイクロLEDプロジェクタを含む場合がある。ディスプレイデバイスは、投影された光をユーザの瞳孔に向けて屈折させることができ、ユーザがアーティフィシャルリアリティのコンテンツと実世界とを同時に見ることができるようにする。ディスプレイデバイスは、導波管コンポーネント(例えば、ホログラフィック、平面、回折、偏光、および/または反射導波管素子)、光操作表面および素子(回折、反射、および屈折用の、素子および格子など)、カプリング素子などを含む、様々な異なる光学コンポーネントのいずれかを使用して、これを達成することができる。アーティフィシャルリアリティシステムは、仮想網膜ディスプレイで使用される網膜プロジェクタなどの、あらゆる他の適切なタイプまたは形態の画像投影システムで構成することもできる。
【0148】
本明細書において説明されるアーティフィシャルリアリティシステムは、様々なタイプのコンピュータビジョンコンポーネントおよびサブシステムを含む場合もある。例えば、拡張現実システム3200および/または仮想現実システム3300は、二次元(2D)もしくは3Dカメラ、構造化された光エミッタおよび検出器、飛行時間型深度センサ、単一ビームもしくは掃引レーザ測距装置、3D LiDARセンサ、および/またはあらゆる他の適切なタイプもしくは形態の光学センサ、などの1つまたは複数の光学センサを含む場合がある。アーティフィシャルリアリティシステムは、これらのセンサのうち1つまたは複数からのデータを処理して、ユーザの場所を識別して、実世界をマッピングすること、ユーザに実世界の周囲環境についてのコンテキストを提供すること、および/または様々な他の機能を行うことができる。
【0149】
本明細書において説明されるアーティフィシャルリアリティシステムは、1つまたは複数の、入力および/または出力音声変換器を含む場合もある。出力音声変換器には、ボイスコイルスピーカ、リボンスピーカ、静電スピーカ、圧電スピーカ、骨伝導変換器、軟骨伝導変換器、耳珠振動変換器、および/またはあらゆる他の適切なタイプもしくは形態の音声変換器が含まれ得る。同様に、入力音声変換器には、コンデンサマイクロフォン、ダイナミックマイクロフォン、リボンマイクロフォン、および/またはあらゆる他のタイプもしくは形態の入力変換器が含まれ得る。いくつかの実施形態では、音声出力および音声入力の両方に、単一の変換器を使用することができる。
【0150】
いくつかの実施形態では、本明細書において説明されるアーティフィシャルリアリティシステムは、触感(すなわち、触覚的な)フィードバックシステムを含む場合もあり、これは頭部装着物、手袋、ボディスーツ、ハンドヘルドコントローラ、環境デバイス(例えば、椅子、フロアマットなど)、および/またはあらゆる他のタイプのデバイスもしくはシステムに組み込むことができる。触覚的なフィードバックシステムは、振動、力、吸引、テクスチャ、および/または温度を含む、様々なタイプの皮膚フィードバックを提供することができる。触覚的なフィードバックシステムは、動きおよびコンプライアンスなどの様々なタイプの運動感覚フィードバックを提供することもできる。触覚的なフィードバックは、モータ、圧電アクチュエータ、流体システム、および/または様々な他のタイプのフィードバックメカニズムを使用して実装することができる。触覚的なフィードバックシステムは、他のアーティフィシャルリアリティデバイスとは独立的に、他のアーティフィシャルリアリティデバイス内に、および/または他のアーティフィシャルリアリティデバイスと併せて実装することができる。
【0151】
触覚的な感覚、可聴コンテンツ、および/または視覚的コンテンツを与えることによって、アーティフィシャルリアリティシステムは、全体的に仮想的な体験を作り出すこと、またはユーザの実世界の体験を様々なコンテキストおよび環境において高めることができる。例えば、アーティフィシャルリアリティシステムは、ユーザの認知、記憶、または認識を、特定の環境内でアシストまたは拡大することができる。一部のシステムは、実世界におけるユーザの他人との対話を向上させることができ、または仮想的な世界において、他人とのより没入的な対話を可能にする場合もある。アーティフィシャルリアリティシステムは、教育目的に(例えば、学校、病院、政府機関、軍組織、企業における教育または訓練など)、娯楽目的に(例えば、ビデオゲームをプレイする、音楽を聴く、動画コンテンツを視聴するなど)、および/またはアクセス目的(例えば、聴音支援、視覚支援など)に使用することもできる。本明細書において開示される実施形態は、これらのコンテキストおよび環境ならびに/または他のコンテキストおよび環境のうちの、1つまたは複数において、ユーザのアーティフィシャルリアリティ体験を可能にする、または向上させることができる。
【0152】
上で詳細に説明したように、本明細書において説明および/または図示した、コンピューティングデバイスおよびシステムは、本明細書において説明されるモジュール内に含まれるような、あらゆるタイプまたは形態の、コンピュータ可読命令を実行することが可能なコンピューティングデバイスまたはシステムを広く表現する。その最も基本的な構成においては、これらのコンピューティングデバイスは、それぞれ少なくとも1つのメモリデバイス、および少なくとも1つの物理的なプロセッサを含む場合がある。
【0153】
いくつかの例では、用語「メモリデバイス」は、一般的にはあらゆるタイプまたは形態の、揮発性または非揮発性の、記憶デバイスまたはデータおよび/もしくはコンピュータ可読命令を記憶することができる媒体を称する。一例では、メモリデバイスは、本明細書において説明されるモジュールのうちの1つまたは複数を、記憶、ロード、および/または保守することができる。メモリデバイスの例としては、限定はしないが、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、光学ディスクドライブ、キャッシュ、前述のうちの1つもしくは複数の変形例もしくは組み合わせ、またはあらゆる他の適切な記憶メモリが挙げられる。
【0154】
いくつかの例では、用語「物理的なプロセッサ」は、一般的にはあらゆるタイプまたは形態の、コンピュータ可読命令を解釈すること、および/または実行することができる、ハードウェア実装処理ユニットを称する。一例では、物理的なプロセッサは、上述のメモリデバイスに記憶された、1つまたは複数のモジュールを、アクセスすること、および/または修正することができる。物理的なプロセッサの例としては、限定はしないが、マイクロプロセッサ、マイクロコントローラ、中央処理装置(CPU)、ソフトコアプロセッサを実装するフィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、前述のうちの1つもしくは複数の部分、前述のうちの1つもしくは複数の変形例もしくは組み合わせ、またはあらゆる他の適切な物理的なプロセッサが挙げられる。
【0155】
別個の要素として図示されるが、本明細書において説明および/または図示されるモジュールは、単一のモジュールまたはアプリケーションの部分を表現する場合がある。加えて、特定の実施形態では、これらのモジュールのうちの1つまたは複数は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つまたは複数のタスクを行わせることができる、1つまたは複数のソフトウェアアプリケーションまたはプログラムを表現する場合がある。例えば、本明細書において説明および/または図示されるモジュールのうちの1つまたは複数は、記憶されて、本明細書において説明および/または図示される、コンピューティングデバイスまたはシステムのうちの、1つまたは複数で実行するように構成される、モジュールを表現する場合がある。これらのモジュールのうちの1つまたは複数は、1つまたは複数のタスクを行うように構成される、1つまたは複数の特殊目的コンピュータの、全てまたは一部を表現する場合もある。
【0156】
加えて、本明細書において説明されるモジュールのうちの1つまたは複数は、データ、物理的なデバイス、および/または物理的なデバイスの表現を、ある形態から別の形態に変形することができる。追加的に、または代替的に、本明細書において列挙されるモジュールのうちの1つまたは複数は、プロセッサ、揮発性メモリ、非揮発性メモリ、および/または物理的なコンピューティングデバイスのあらゆる他の部分を、コンピューティングデバイスで実行すること、データをコンピューティングデバイスに記憶すること、および/またはコンピューティングデバイスと対話することによって、ある形態から別の形態に変形することができる。
【0157】
いくつかの実施形態では、用語「コンピュータ可読媒体」は、一般的にはあらゆる形態のデバイス、キャリア、またはコンピュータ可読命令を記憶または搬送することできる媒体を称する。コンピュータ可読媒体の例としては、限定はしないが、搬送波などの送信タイプの媒体、磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、およびフロッピーディスク)などの非一時的なタイプの媒体、光学記憶媒体(例えば、コンパクトディスク(CD)、デジタル動画ディスク(DVD)、およびBLU-RAYディスク)、電子記憶媒体(例えば、ソリッドステートドライブおよびフラッシュメディア)、および他の配信システムが挙げられる。
【0158】
本明細書において説明および/または図示されるプロセスパラメータおよびステップのシーケンスは、単なる例として与えられ、所望により変えることができる。例えば、本明細書において図示および/または説明されるステップは、特定の順で示され、または議論される場合があるが、これらのステップは、必ずしも図示され、議論される順で行われる必要はない。本明細書において説明および/または図示される、様々な例示的な方法も、本明細書において説明および/または図示されるステップのうちの、1つまたは複数を省略することができ、あるいは開示されるステップに加えて、追加的なステップを含むことができる。
【0159】
前述の説明は、他の当業者が、本明細書において開示される例示的な実施形態の様々な態様を最大限に利用できるように与えられた。この例示的な説明は、網羅的であること、または開示される任意の精密な形態に限定することは意図されていない。本開示の思想および範囲から逸脱することなく、多くの修正および変形が可能である。本明細書において開示される実施形態は、全ての点において例示的であり、制限的ではないと考えられるべきである。本開示の範囲を定める際には添付の特許請求の範囲およびその等価物を参照すべきである。
【0160】
特に断りのない限り、用語「に接続される」および「に結合される」(およびその派生形)は、本明細書および特許請求の範囲で用いられる際、直接的および間接的な接続(すなわち、他の要素またはコンポーネントを介して)の両方を認めるものとして解釈されるべきである。加えて、用語「1つの(a)」または「1つの(an)」は、本明細書および特許請求の範囲で用いられる際、「少なくとも1つの」を意味するものとして解釈されるべきである。最後に、使用の容易さのため、用語「を含む(including)」および「を有する(having)」(およびその派生形)は、本明細書および特許請求の範囲で用いられる際、単語「を含む(comprising)」と互換性があり、また同じ意味を有する。
【国際調査報告】