(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-28
(45)【発行日】2024-06-05
(54)【発明の名称】動き検出システムにおいて新しい動きゾーンを検出するためのオフラインチューニングシステム
(51)【国際特許分類】
G01S 5/02 20100101AFI20240529BHJP
G01V 3/12 20060101ALI20240529BHJP
【FI】
G01S5/02 Z
G01V3/12 B
(21)【出願番号】P 2021549507
(86)(22)【出願日】2019-12-04
(86)【国際出願番号】 CA2019051745
(87)【国際公開番号】W WO2020186329
(87)【国際公開日】2020-09-24
【審査請求日】2022-11-18
(32)【優先日】2019-03-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】318010214
【氏名又は名称】コグニティヴ システムズ コーポレイション
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(72)【発明者】
【氏名】オマー モハンマド
(72)【発明者】
【氏名】デヴィソン スティーブン アーノルド
【審査官】渡辺 慶人
(56)【参考文献】
【文献】特表2019-506772(JP,A)
【文献】米国特許出願公開第2016/0018508(US,A1)
【文献】米国特許第09524628(US,B1)
【文献】米国特許第10108903(US,B1)
【文献】米国特許第10109168(US,B1)
【文献】WANG, Yan et al.,E-eyes: Device-free Location-oriented Activity Identification Using Fine-grained WiFi Signatures,Proceedings of the 20th annual international conference on Mobile computing and networking [online],米国,Association for Computing Machinery,2014年09月07日,Pages: 617-628,インターネット: <URL: https://dl.acm.org/doi/pdf/10.1145/2639108.2639143><DOI: https://doi.org/10.1145/2639108.2639143>
(58)【調査した分野】(Int.Cl.,DB名)
G01S 5/00 - 5/14
19/00 - 19/55
H04B 7/24 - 7/26
H04W 4/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行される方法であって、
動き検出システムから観測されたチャネル応答データを取得するステップであって、前記観測されたチャネル応答データが、スペース内の複数の無線リンクを介して送信された無線信号に基づき、前記観測されたチャネル応答データが、期間にわたって前記各無線リンクの複数のサブキャリアに関連付けられた、ステップと;
前記各無線リンクの前記複数のサブキャリアの各々について推定されたチャネル応答データを生成するステップと、
前記各無線リンクの前記複数のサブキャリアの各々の推定チャネル応答データにおける活動ゾーン間の遷移
を示す切り替え時間を識別するステップと、
前記推定されたチャネル応答データ及び前記識別された遷移に基づいて、前記動き検出システムの新しい動きゾーンを検出するステップと、
を含む、方法。
【請求項2】
前記各活動ゾーンは、前記観測されたチャネル応答データの時系列のセグメントに対応し、
前記各無線リンクの前記複数のサブキャリアの各々について前記推定されたチャネル応答データを生成するステップは、前記活動ゾーンの分布及び前記各分布の特性に対応するハイパーパラメータに基づいて、前記各無線リンクの前記複数のサブキャリアの各々についてランダムデータを生成するステップを含む、請求項1に記載の方法。
【請求項3】
前記推定されたチャネル応答データ及び前記識別された前記遷移に基づいて新しい動きゾーンを検出するステップは、
前記ランダムデータと、前記各活動ゾーン間で識別された遷移とを分析するステップと、
前記各分布の特性に対応する前記ハイパーパラメータを調整し、調整された前記ハイパーパラメータを使用して前記ランダムデータを再生成するステップと、
前記ランダムデータが前記観測されたチャネル応答データと相関するかどうかを決定するステップと、
前記ランダムデータが前記観測されたチャネル応答データと相関するという決定に応答して、前記各無線リンクの前記複数のサブキャリアの各々について識別された遷移を集約するステップと、
前記識別された遷移の少なくとも1つが新しい動きゾーンを示すことを決定するステップと、
を含む、請求項2に記載の方法。
【請求項4】
前記ランダムデータが前記観測されたチャネル応答データと相関していないと決定することに応答して、前記各分布の特性に対応する前記ハイパーパラメータを調整し、前記ランダムデータが前記観測されたチャネル応答データと相関するまで、前記調整されたハイパーパラメータを使用して前記ランダムデータを再生成するステップを含む、請求項3に記載の方法。
【請求項5】
前記各無線リンクの前記複数のサブキャリアの各々について、前記推定されたチャネル応答データ内の前記活動ゾーン間で識別された前記遷移を示す時間ベクトルを生成するステップを含む、請求項1、2及び3の何れか1項に記載の方法。
【請求項6】
適応モデルにおいて動きゾーンの数を調整するステップを含み、前記動きゾーンの数が、前記適応モデルのハイパーパラメータである、請求項1、2及び3の何れか1項に記載の方法。
【請求項7】
前記動き検出システムに関連するユーザデバイスに前記新しい動きゾーンを示す通知を提供するステップと、
前記通知に応答して、前記ユーザデバイスから前記新しい動きゾーンの確認又は前記新しい動きゾーンの拒否を受信するステップと、
を含む、請求項1、2及び3の何れか1項に記載の方法。
【請求項8】
前記新しい動きゾーンの確認は、ユーザによって提供される前記新しい動きゾーンのラベルを含む、請求項7に記載の方法。
【請求項9】
前記新しい動きゾーンの位置は、前記動き検出システムの任意の特定のノードに関連付けられていない、請求項1、2及び3の何れか1項に記載の方法。
【請求項10】
1又は2以上のプロセッサと、
前記1又は2以上のプロセッサによって実行されたときに、コンピュータシステムに動作を実行させる命令を含むメモリと、
を備え、
前記動作が、
動き検出システムから観測されたチャネル応答データを取得するステップであって、前記観測されたチャネル応答データが、スペース内の複数の無線リンクを介して送信された無線信号に基づき、前記観測されたチャネル応答データが、期間にわたって前記各無線リンクの複数のサブキャリアに関連付けられた、ステップと;
前記各無線リンクの前記複数のサブキャリアの各々について推定されたチャネル応答データを生成するステップと、
前記各無線リンクの前記複数のサブキャリアの各々の推定チャネル応答データにおける活動ゾーン間の遷移
を示す切り替え時間を識別するステップと、
前記推定されたチャネル応答データ及び前記識別された遷移に基づいて、前記動き検出システムの新しい動きゾーンを検出するステップと、
を含む、コンピュータシステム。
【請求項11】
前記各活動ゾーンは、前記観測されたチャネル応答データの時系列のセグメントに対応し、
前記複数のサブキャリアの各々について前記推定されたチャネル応答データを生成するステップは、前記活動ゾーンの分布及び前記各分布の特性に対応するハイパーパラメータに基づいて、前記各無線リンクの前記複数のサブキャリアの各々についてランダムデータを生成するステップを含む、請求項10に記載のコンピュータシステム。
【請求項12】
前記推定されたチャネル応答データ及び前記識別された遷移に基づいて新しい動きゾーンを検出するステップは、
前記ランダムデータと、前記各活動ゾーン間で識別された前記遷移とを分析するステップと、
前記各分布の特性に対応する前記ハイパーパラメータを調整し、調整された前記ハイパーパラメータを使用して前記ランダムデータを再生成するステップと、
前記ランダムデータが前記観測されたチャネル応答データと相関するかどうかを決定するステップと、
前記ランダムデータが前記観測されたチャネル応答データと相関するという決定に応答して、前記各無線リンクの前記複数のサブキャリアの各々について識別された遷移を集約するステップと、
前記識別された遷移の少なくとも1つが新しい動きゾーンを示すことを決定するステップと、
を含む、請求項11に記載のコンピュータシステム。
【請求項13】
前記動作が、前記ランダムデータが前記観測されたチャネル応答データと相関していないと決定することに応答して、前記各分布の特性に対応する前記ハイパーパラメータを調整し、前記ランダムデータが前記観測されたチャネル応答データと相関するまで、前記調整されたハイパーパラメータを使用して前記ランダムデータを再生成するステップを含む、請求項12に記載のコンピュータシステム。
【請求項14】
前記動作が、前記各無線リンクの前記複数のサブキャリアの各々について、前記推定されたチャネル応答データ内の前記活動ゾーン間で識別された前記遷移を示す時間ベクトルを生成するステップを含む、請求項10、11及び12の何れか1項に記載の方法。
【請求項15】
前記動作が、適応モデルにおいて動きゾーンの数を調整するステップを含み、前記動きゾーンの数が、前記適応モデルのハイパーパラメータである、請求項10、11及び12の何れか1項に記載のコンピュータシステム。
【請求項16】
前記動作が、
前記動き検出システムに関連するユーザデバイスに前記新しい動きゾーンを示す通知を提供するステップと、
前記通知に応答して、前記ユーザデバイスから前記新しい動きゾーンの確認又は前記新しい動きゾーンの拒否を受信するステップと、
を含む、請求項10、11及び12の何れか1項に記載のコンピュータシステム。
【請求項17】
前記新しい動きゾーンの確認は、ユーザによって提供される前記新しい動きゾーンのラベルを含む、請求項16に記載のコンピュータシステム。
【請求項18】
前記新しい動きゾーンの位置は、前記動き検出システムの任意の特定のノードに関連付けられていない、請求項10、11及び12の何れか1項に記載のコンピュータシステム。
【請求項19】
データ処理装置によって実行されたときに、前記データ処理装置に動作を実行させる命令を含む非一時的コンピュータ可読媒体であって、
前記動作が、
動き検出システムから観測されたチャネル応答データを取得するステップであって、前記観測されたチャネル応答データが、スペース内の複数の無線リンクを介して送信された無線信号に基づき、前記観測されたチャネル応答データが、期間にわたって前記各無線リンクの複数のサブキャリアに関連付けられた、ステップと;
前記各無線リンクの前記複数のサブキャリアの各々について推定されたチャネル応答データを生成するステップと、
前記各無線リンクの前記複数のサブキャリアの各々の推定チャネル応答データにおける活動ゾーン間の遷移
を示す切り替え時間を識別するステップと、
前記推定されたチャネル応答データ及び前記識別された遷移に基づいて、前記動き検出システムの新しい動きゾーンを検出するステップと、
を含む、非一時的コンピュータ可読媒体。
【請求項20】
前記各活動ゾーンは、前記観測されたチャネル応答データの時系列のセグメントに対応し、
前記各無線リンクの前記複数のサブキャリアの各々について前記推定されたチャネル応答データを生成するステップは、前記活動ゾーンの分布及び前記各分布の特性に対応するハイパーパラメータに基づいて、前記各無線リンクの前記複数のサブキャリアの各々についてランダムデータを生成するステップを含む、請求項19に記載の非一時的コンピュータ可読媒体。
【請求項21】
前記推定されたチャネル応答データ及び前記識別された遷移に基づいて新しい動きゾーンを検出するステップは、
前記ランダムデータと、前記各活動ゾーン間で識別された前記遷移とを分析するステップと、
前記各分布の特性に対応する前記ハイパーパラメータを調整し、調整された前記ハイパーパラメータを使用して前記ランダムデータを再生成するステップと、
前記ランダムデータが前記観測されたチャネル応答データと相関するかどうかを決定するステップと、
前記ランダムデータが前記観測されたチャネル応答データと相関するという決定に応答して、前記各無線リンクの前記複数のサブキャリアの各々について識別された遷移を集約するステップと、
前記識別された遷移の少なくとも1つが新しい動きゾーンを示すことを決定するステップと、
を含む、請求項20に記載の非一時的コンピュータ可読媒体。
【請求項22】
前記動作が、前記ランダムデータが前記観測されたチャネル応答データと相関していないと決定することに応答して、前記各分布の特性に対応する前記ハイパーパラメータを調整し、前記ランダムデータが前記観測されたチャネル応答データと相関するまで、前記調整されたハイパーパラメータを使用して前記ランダムデータを再生成するステップを含む、請求項21に記載の非一時的コンピュータ可読媒体。
【請求項23】
前記動作が、前記各無線リンクの前記複数のサブキャリアの各々について、前記推定されたチャネル応答データ内の前記活動ゾーン間で識別された前記遷移を示す時間ベクトルを生成するステップを含む、請求項19、20及び21の何れか1項に記載の非一時的コンピュータ可読媒体。
【請求項24】
前記動作が、適応モデルにおいて動きゾーンの数を調整するステップを含み、前記動きゾーンの数が、前記適応モデルのハイパーパラメータである、請求項19、20及び21の何れか1項に記載の非一時的コンピュータ可読媒体。
【請求項25】
前記動作が、
前記動き検出システムに関連するユーザデバイスに前記新しい動きゾーンを示す通知を提供するステップと、
前記通知に応答して、前記ユーザデバイスから前記新しい動きゾーンの確認又は前記新しい動きゾーンの拒否を受信するステップと、
を含む、請求項19、20及び21の何れか1項に記載の非一時的コンピュータ可読媒体。
【請求項26】
前記新しい動きゾーンの確認は、ユーザによって提供される前記新しい動きゾーンのラベルを含む、請求項25に記載の非一時的コンピュータ可読媒体。
【請求項27】
前記新しい動きゾーンの位置は、前記動き検出システムの任意の特定のノードに関連付けられていない、請求項19、20及び21の何れか1項に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願に対する相互参照)
本出願は、「動き検出システムにおいて新しい動きゾーンを検出するためのオフラインチューニングシステム」と題され、2019年3月21日に出願された米国特許出願第16/360,250号に対する優先権を主張し、その開示内容は、引用により本明細書に組み込まれる
(技術分野)
【0002】
以下の説明は、動き検出に関する。
【背景技術】
【0003】
動き検出システムは、例えば、室内又は屋外エリアにおける物体の動きを検出するために使用されてきた。一部の例示的な動き検出システムでは、赤外線センサ又は光学センサを使用して、センサの視野内の物体の動きを検出する。動き検知システムは、セキュリティシステム、自動制御システム、及び他のタイプのシステムで使用される。
【図面の簡単な説明】
【0004】
【
図1】オフラインチューニングシステムの一例を示すブロック図である。
【
図2】サブキャリアの例示的な時系列を示す概略図である。
【
図3】新しい活動ゾーンを識別するための例示的な適応モデルを示す概略図である。
【
図4】適応モデルにおけるハイパーパラメータを更新する一例を示す概略図である。
【
図5】リンクデータの例示的な集約を示す概略図である。
【
図6】新しい動きゾーンを識別するためのフローチャートを示す概略図である。
【
図7】例示的な外部センサデバイスを示すブロック図である。
【
図8】例示的なオフライントレーニングシステムを使用して実施された実際の実験からの出力を示す図である。
【発明を実施するための形態】
【0005】
記載される内容の幾つかの態様では、動き検出システムの新しい動きゾーンが識別される。動きゾーンは、動きが検出されて内部の特定の場所に関連付けることができるスペースのある領域である。ゾーンは、特定の部屋、或いはスペース内の部屋又はエリアの組み合わせとすることができる。スペースは、例えば、家、事業所、又は他のタイプの建物とすることができる。動き検出システムは、最初に、検出された動きを特定の動きゾーンに関連付けるようにトレーニングすることができ、これは、システムの教師ありトレーニングを実行するユーザによって決定されることがある。例えば、動き検出システムが、あるスペース(例えば、家又は事業所)に設置されている場合、システムは、特定のスペースに合わせてトレーニングすることができる。例えば、ユーザは、特定の動きを実行しながら、スペースの特定の領域、例えば動きゾーンを歩くように指示される場合がある。このタイプのトレーニングは、教師ありトレーニングと呼ばれる。教師ありトレーニング中、動き検出システムは、動きゾーンの各々からの動きの読み取り値を記録する。一部の事例では、ユーザは、例えば、キッチン、リビングルーム、寝室など、各動きゾーンに対応するラベルを提供する。しかしながら、教師ありトレーニングは、ユーザにとって時間がかかり、冗長である可能性があり、ユーザは、システムの明示的なトレーニングを実行することを嫌う場合がある。例えば、モバイルアプリケーションなどを介して、ユーザに様々なゾーンを歩き、各ゾーンにラベルを付けるように求めることは、面倒なプロセスであり、ユーザのミスが発生しやすくなる。更に、ユーザは、例えば、スペースが再編成されたとき、又は更新された動きアルゴリズムに適応するときに、教師あり周期的再トレーニングを実行するように求められる場合がある。一部の事例では、最小限のユーザの関与の要求で、新しい動きゾーン又は変更された動きゾーンを自動的に識別するためのシステムの周期的トレーニングが必要になる。
【0006】
本明細書で記載されるシステム及び技術は、幾つかの例では、1又は2以上の利点を提供することができる。例えば、動きの感知及び検出の精度、並びに動き検出システムによって提供されるスペース内の動きの位置特定の精度を改善することができる。更に、新しい動きゾーンの識別は、動き検知システムの動作に影響を与えることなく、またユーザ教師なしでオフラインで実行することができる。
【0007】
図1は、例示的なオフラインチューニング環境100を示すブロック図である。例示的なオフラインチューニング環境では、オフラインチューニングシステム110は、動き検出システム120、ユーザデバイス140を実行するアプリケーション、及び機械学習システム160とインターフェース接続する。一実施構成では、動き検出システム120は、家(又は別のタイプのスペース)内で動作して、動き及び位置特定情報をそのユーザに提供している。オフラインチューニングシステム110及び機械学習システム160は、例えば、任意のタイプのコンピュータ、サーバ又はサーバクラスター、分散コンピューティングシステム、又は他のコンピューティングリソースなど、任意の適切なコンピュータシステム上で実装することができる。一部の事例では、オフラインチューニングシステム110及び機械学習システム160は、クラウド環境(例えば、動き検出システムから遠隔にある)で動作し、又は、一部の事例では、これらの一方又は両方が、動き検出システム120又はユーザデバイス140に関連する場所又はネットワーク環境で動作することができる。
【0008】
動き検出システム120は、動き検出技術を使用して、スペース内の物体の動き(又は動きがない、存在する、など)を検出することができる。動き検出システム120はまた、位置特定技術を使用して、例えば、システムの特定のノードに対して、スペース内の物体の位置を正確に特定することができる。
図1に示す実施例では、動き検出システム120は、無線信号を使用して、家又は別のタイプのスペース内の物体の動きを検出する。無線信号によりアクセスされるスペースは、屋内又は屋外のスペースとすることができ、これは、例えば、1又は2以上の完全又は部分的に囲まれた領域、囲いのない開放領域、その他などを含むことができる。スペースは、部屋の内部、複数の部屋、建物又は同様のものとすることができ、又はこれらを含むことができる。無線信号に基づいて(例えば、無線信号から得られたチャネル応答情報、又は他のタイプのチャネル状態情報に基づいて)、動き検出システム120は、幾つかの例では、スペース内での物体の動き、存在又は位置を検出することができる。物体は、任意のタイプの静的又は移動可能な物体とすることができ、生きているものでも無生物とすることができる。例えば、物体は、人間、動物、無機物体、又は別のデバイス、装置、もしくは組立体、スペースの境界の全て又は一部を定める物体、或いは別のタイプの物体とすることができる。
【0009】
幾つかの例では、動き検出システム120内の無線通信デバイスの各々にて受信された無線信号を分析して、ネットワーク内の無線リンクのチャネル応答情報を決定することができる(例えば、ネットワーク内の無線通信デバイスのそれぞれのペア間)。チャネル応答情報は、スペースを通過する無線信号に伝達関数を適用する物理媒体を表すことができる。幾つかの例では、チャネル応答情報は、ワイヤレスリンクのチャネルプロパティを含み、ワイヤレス信号が送信機から受信機にどのように伝播するかを記述することができ、例えば、送信機と受信機の間のスペース内の散乱、フェージング、及び電力減衰の複合効果を表す。幾つかの例では、チャネル応答情報は、指向性信号の送受信用のマルチアンテナ(多入力/多出力(MIMO))無線システムで使用されるビームフォーミング状態情報を含む。
【0010】
無線信号に基づいて動きを検出するのに使用できる動き検出及び位置特定アルゴリズムの実施例は、「繰り返し無線伝送に基づく動きの検出」と題された米国特許第9,523,760号、「参照信号伝送に基づく動きの検出」と題された米国特許第9,584,974号、「チャネル応答変動の分解に基づく動きの検出」と題された米国特許第10,051,414号、「無線信号の統計パラメータのグループ化に基づく動き検出」と題された米国特許第10,048,350号、「無線信号特性の機械学習に基づく動き検出」と題された米国特許第10,108,903号、「動きインジケータ値に基づくワイヤレスメッシュネットワークにおける動き位置特定」と題された米国特許第10,109,167号、「チャネル応答特性に基づく動き位置特定」と題された米国特許第10,109,168号、及び他の技法に記載されている技術を含む。
【0011】
一部の事例では、オフラインチューニングシステム110は、動き検出システム120の周期的な再トレーニングを自動的に実行して、家庭内のマルチパス環境への変更を引き起こすスペースへの環境変化、例えば、家具の移動、天井ファンの取り付け/取り外し、模様替えなどを取り込む。再トレーニングを用いて、動き検出システム120によって利用される検出、位置特定、及び機械学習アルゴリズムの改善を考慮に入れることもできる。このような場合、トレーニング目的でアクティブなユーザの参加を必要とせずに、オフラインチューニングプロセスを実装できる。
【0012】
実施構成において、オフラインチューニングプロセスはまた、スペース内の新しい動きゾーンを自動的に識別する。例えば、オフラインチューニング環境は、動き検出システム120が動作しているスペースの様々なゾーンに関連付けることができる動き活動を識別しセグメント化することができる。
【0013】
幾つかの例では、較正イベントが実行される度に、例えば毎晩、オフラインチューニングシステム110は、動き検出システム120から観測されたチャネルデータ130を取り込んで、動きゾーンの描写を決定する。
図1に示されるように、オフラインチューニングシステム110は、動き検出システム120から実際の観測データ130を受信する。オフラインチューニングシステム110は、受信したデータをオフラインで処理し、すなわち、動きを検出するためにデータを処理する動き検出システム120とは別に処理する。チャネルデータ130は、毎日、数日おき、又は週末のみなど、特定の間隔で周期的に受信及び処理することができる。一部の事例では、間隔は、ユーザによって設定することができる。例えば、システムが最初にインストールされるときに、システムのオフラインチューニングを毎日実行することができる。その後、間隔は、オフラインチューニングが、例えば、毎週、隔週、毎月など、あまり周期的に実行されないように調整することができる。幾つかの例では、オフラインチューニングシステム110は、動きが最も少ない時間帯、例えば、深夜から午前3時までの間にデータを受信する。幾つかの例では、データ130は、オフラインチューニングシステム110が受信データ130の特定の部分におけるアクティビティを識別するときに処理される。
【0014】
当初は、動き検出システム120は、設置されたノード近傍での動きの位置特定をすることのみ可能とすることができる。例えば、動き検出に使用される各ノードは、動き検出のためのソフトウェアスタックを保持することができる無線通信デバイス(例えば、無線周波数(RF)デバイス)として実装することができる。幾つかの例では、無線通信デバイスは、動き検出システム120の一部である。最初に、システムが利用可能で且つユーザに知られているゾーンの数は、動き検出システム120内のノードの数によって制限される。一例では、設置時に、2つのノード、例えば、キッチンに1つのノードを、居間にもう1つのノードを設置することができる。オフラインチューニングシステム110は、動き検出システム120によって取り込まれたチャネルデータ130を引き出し、データを分析することによって幾つかの動きゾーンを識別するように動作して、データから追加の動きゾーンを識別する。幾つかの例では、追加のゾーンにより、動きの検出及び動きの位置特定の精度が向上する。
【0015】
幾つかの例では、オフラインチューニングシステム110は、半教師ありモードで動作して、新たに識別されたゾーンに正確に名前を付けるために、人間の支援及びユーザからの入力を導き出す。しかしながら、ユーザが新しいゾーンを特定するために教師ありトレーニングプロセスを実行する必要はない。例えば、幾つかの例では、オフラインチューニングシステム110は、ゾーンセグメント及びこれらのオフラインでの発生時間を識別し、構成の変更又は新しいラベルなしゾーンが識別された場合にのみユーザを関与させる。システムは、ユーザとは独立して処理することにより、時間の経過と共に反復を実行し、その度に、動き検出システム120の定量的性能(派生情報の精度を意味する)及び定性的性能(例えば、動きの位置、ユーザに提供される情報の関連度を意味する)を向上させる。
【0016】
幾つかの例では、ユーザは、ユーザデバイス140(例えば、スマートフォン、携帯情報端末、パーソナルコンピュータ、ラップトップ、又は他のデバイス)上の動き検出アプリケーションのユーザインターフェースを介してメッセージ150を送信することによって、フィードバックを求められる。幾つかの例では、メッセージは、1日の特定の時間にてマークなしゾーンにおいて動きが検出されたことをユーザに気付かせて、更に、ユーザがそのマークなしゾーンに「正面廊下」、「デッキ」などの名前を付けることに関心があるかどうかを問い合わせる。一部の事例では、新たに識別されたゾーンの命名にユーザが時折繰り返し参加することは、ユーザが動き検出システム120を開始するときに、ユーザ側で明示的なトレーニングを必要としないことを意味する。むしろ、システムは、単に、展開時間と共にゆっくりと改善することができる。
【0017】
幾つかの実施構成では、オフラインチューニングシステム110による新しい動きゾーンの描写は、動き検出システム120の機械学習システム160を更にトレーニングするための入力として使用することができる。例えば、機械学習システム160は、新しい動きゾーン及び他の既存の動きゾーンを使用して動き検出システムをトレーニングし、新しい動きゾーンを含む様々な動きゾーン内及びこれらの間で発生する動きを区別し、スペース内の動きゾーンのうちの1つに動きを位置特定することができる。幾つかの例では、機械学習システム160は、チャネル応答データの瞬間的な(又はほぼ瞬間的、例えば、短時間ウィンドウにわたる)観測をゾーンアイデンティティ(オフラインチューニングシステム110によって識別された新しいゾーンを含む)にマッピングするためのモデルを提供し、動き検出システムがリアルタイムでユーザの活動を検出できるようにする。一部の実施構成において、機械学習モデルは、教師ありプロセスとして動作し、ここでモデルには、観測されたチャネル応答データに適合する必要のあるゾーンアイデンティティが明示的に提供される。ゾーン識別子は、オフラインチューニングシステム110により利用可能とすることができ、これにより、半教師ありの人間の介入と共に、実際のゾーン及びデータセット内のこれらの占有間隔を決定することができる。
【0018】
幾つかの例では、動き検出システム120及びユーザデバイス140が新しいゾーンを利用可能にするために、オフラインチューニングシステム110の結果に基づいて、クラウド内で追加のプロセスを実行することができる。例えば、教師ありデータセットを使用して機械学習モデルがトレーニングされると、モデル出力は、機械学習モデル160の前部分として動作する分類器に提供することができる。幾つかの例では、分類器は、機械学習モデルが、分類器のパラメータをトレーニングするためのフィードバックループを有する間、観測されたチャネルデータに基づいて実際のゾーンカテゴリを作成するプロセスである。幾つかの例では、分類器が完了すると、これを組み込みシステムサービスの更新としてユーザデバイス140に送信し(例えば、夜間又は他の時間に)、動き検出予測をユーザが即座に利用できるようにすることができる。幾つかの例では、分類器は、引き続きクラウドサービスとして実行され、デバイス上で実行されるよりも僅かに高いレイテンシでユーザにアクティビティを通知することができる。
【0019】
幾つかの例では、オフラインチューニングシステム110は、新しい動きゾーンを識別すると、動き検出システム120が更新されて、新しい動きゾーン内の物体の動き又は存在を識別できるようになる。例えば、オフラインチューニングシステム110は、動き検出システム120によって収集された無線信号に基づいて、動き検出システム120が新しい動きにおいて発生する動きを識別するのに使用できる分布パラメータ又は他のタイプのデータを提供することができる。別の例として、オフラインチューニングシステム110は、動きゾーンラベル又は他のタイプの情報を提供することができ、動き検出システム120が他のシステムに意味のある出力を提供することを可能にする。例えば、動きゾーンラベルを用いて、動き検出システム120によって監視されている家(又は他のスペース)において動きが起こっている場所をユーザ、セキュリティシステム、電力管理システム又は他のエンティティに通知することができる。
【0020】
幾つかの実施構成では、オフラインチューニングシステム110又は機械学習システム160(もしくは両方)は、多くの異なる場所において動き検出システム120をサポートするホステッドサービスとして動作する。言い換えると、オフラインチューニングシステム110及び機械学習システム160は、必ずしも何れかの個別の動き検出システム120に専用である必要はない。代わりに、オフラインチューニングシステム110及び機械学習システム160は、複数の異なるシステム及びユーザから入力データを受信して、これらに出力データを提供することができる。
【0021】
図2は、サブキャリアの例示的な時系列を示す図である。この実施例は、動き検出システム120から受信されて、オフラインチューニングシステム110を介して解釈することができる観測データ130のタイプを示している。例えば、動き検出システム120は、動き検出プロセス中にチャネル応答データ210を収集することができる。一部の事例では、チャネル応答データ210は、x軸により示されるように、複数のサブキャリアにまたがる。ここで、チャネル応答データ210は、周波数範囲(横軸)にわたる無線信号の大きさ(縦軸)のスナップショットを示し、プロットに示される周波数範囲は、複数のサブキャリアを含み、各サブキャリアが、無線信号の別個の周波数成分を表す。図示の実施例では、オフラインチューニングシステムは、分析のために全チャネル応答からサブキャリア215を選択する。
図2の例示的なプロットは、動き検出システム120によって提供される観測された時間にわたる選択されたサブキャリアの時系列220を示している。時系列220を示すプロットでは、横軸は、サンプルのタイムラインを示し(0.1秒当たり1サンプルの割合でサンプリングされている)、縦軸は、サンプリングされた各時点での選択されたサブキャリアのチャネル応答データの大きさを示している。チャネル応答値は一般に、複素数値であり、複素値の大きさは時系列220で示される。
【0022】
図2に示す実施例では、オフラインチューニングシステム110は、動き活動が信号の乱れによって示される時系列220の特定のセグメント230を識別する。時系列の識別された各セグメント230は、固有のアクティビティゾーンに対応する統計パラメータによって特徴付けることができる固有の分布(例えば、平均μと標準偏差σにより特徴付けられるガウス分布)でラベル付けされる。この例では、時系列220は、ユーザがスペースの異なる動きゾーンを歩いている動き検出システム120によって取得された例示的なチャネル応答データ130から取得される。図示のように、時系列220は、家(又は他のスペース)の異なる空間ゾーンが、異なる時間シグニチャ及び振幅分布(例えば、μ1、σ1 230A、μ2、σ2 230B、μ3、σ3 230C)を有することを示し、これらは、ゾーン分布と呼ばれ、各々が固有のアクティビティゾーンを表す。幾つかの例では、オフラインチューニングシステム110は、ゾーン分布情報を使用することにより、パラメータを学習できる固有の分布を有するゾーンのモデルを生成し、このモデルを使用して、時系列でこれらのゾーンを検出することができる。
図2では、固有の活動ゾーンに対応するゾーン分布230A、230B、230Cの各々は、ガウス分布のパラメータ(平均μ及び標準偏差σ)によって示される。しかしながら、他のタイプの分布及び適切なパラメータを使用することができ、例えば、データ又はモデルの分析に基づいて、何れかの任意分布とすることができる。適用される分布に関係なく、
図2は、各ゾーンの活動が特徴的な分布230にマッピングされ、オフラインチューニングシステム110がその分布を学習して、特定の動きゾーンの活動がいつ起こっているかを知ることができることを示している。
【0023】
図3は、新しい動きゾーンを識別するためにオフラインチューニングシステムによって使用される例示的な適応モデル300を示す概略図である。適応モデル300は、動き検出システムによって生成されたデータを受信するコンピュータシステムによって実行することができる。例えば、適応モデル300は、
図1に示すオフラインチューニングシステム110によって、或いは、別のタイプのコンピュータシステムによって実行することができる。
【0024】
幾つかの例では、オフラインチューニングシステムは、(例えば、
図1に示されるように)一日の間に動き検出システムから収集された観測されたチャネル応答データ310に基づいて動作することになる。実施構成において、オフラインチューニングシステムは、特定のサブキャリアについて収集されたデータからのものを模擬する時系列を生成するために、特定の方法でシードされたランダムジェネレータを備える。この例では、最初に、動きゾーンZ1、Z2が2つだけ存在することを前提としている。モデル300によって生成される動きゾーンZの初期数は、スペース内の動き検出システムの設置及び初期化中に設定されるゾーンの数とすることができる。例えば、動き検出システムは、家の異なる領域に配置された2つのノードを備えることができ、各ノードは、最初に動きゾーンを表す。一部の事例では、動きは、動きゾーンに関連付けられたノードに位置特定される。幾つかの例では、適応モデル300は、追加の機器なしで追加の動きゾーンの検出を可能にする。
【0025】
モデル化された各動きゾーンZ1、Z2は、分布の特徴的なモーメントを表すハイパーパラメータh1、h2に関連付けられる。実施構成において、ランダムジェネレータは、特定の動きゾーンZ1、Z2に対して、特定の分布を表す対応するハイパーパラメータh1、h2によって与えられる、動きゾーンでの活動を表す対応するモデル分布D1、D2を生成する。幾つかの例では、モデル300は、時間座標を表す別の確率変数tauを適用する。一部の事例では、tauは、複数の時間値を含む時間ベクトルである。実施構成において、tauは、動きゾーン間の切り替え時間を決定するのに使用される。切り替え時間は、動きが2つの動きゾーン間で遷移していると決定された時点である。例えば、歩いているユーザが、1つの動きゾーンを離れて別の動きゾーンに入る場合がある。時間ベクトルtauは、動きゾーン間(例えば、Z2からZ1)で時系列全体で前後に切り替えが発生する時点を示す。
【0026】
例示的なモデル300では、モデル化された分布D1、D2及びtauの両方が、スイッチ330への入力として供給される。スイッチ330の出力は、tauによって制御される。例えば、スイッチは、tauの値及びアイデンティティに基づいて、分布D1又はD2の何れかをスイッチに流す。幾つかの例では、分布D1、D2の1つが、tauの値に基づいてスイッチ330の出力にルーティングされると、出力分布は、そのtauの期間にアクティブであることが観測されるもの、すなわち、モデル化されたデータは、tauによって指定された期間での分布D1又はD2と適合する。幾つかの例では、tauにより示される時間でのアクティブ分布は、アクティブ分布に関連する動きを示す。幾つかの実施構成では、スイッチ330によって生成される出力分布は、モンテカルロエンジン380への入力として供給される推定チャネル応答データを表す。図示のように、モンテカルロエンジン380はまた、動き検出環境、例えば、動き検出システム120が動作している家(又は他のスペース)からの観測されたチャネル応答データ310が一日中供給される。一部の事例では、モンテカルロエンジン380は、観測及び推定されたデータを処理し、生成されたランダムデータが許容可能な程度に観測されたデータに一致するように、確率モデルのパラメータを適合させる。例えば、エラーを最小化するために、データを勾配降下の方向に移動するように適合させることができる。一部の事例では、適応によって推定データを観測データと一致させることができる場合、オフラインチューニングシステムは、データをモデル化するのに使用される様々な分布、例えばD1、D2のパラメータが統計的に正確であると判断することができる。一部の実施構成において、モンテカルロエンジン380は、観測データを評価し、パラメータを調整し、データを再生し、観測データとの類似性を測定して、この手順を繰り返すときに、各分布のパラメータを継続的に適応させる。
【0027】
推定されたパラメータ(例えば、h1、h2)が1つの反復から次の反復まで安定したままである場合など、モンテカルロエンジン380が、収束特性を示す場合、オフライン調整システムは、モデルを停止し、新しいモーションゾーンの分布を調べることができる。一部の事例では、tauを調べると、どの瞬間時間がある分布から別の分布(例えば、別の動きゾーン)への変更をトリガーした可能性が最も高いかを示すことができる。例えば、tau値と各tau間の一意の分布とを使用すると、オフラインチューニングシステムは、移動する物体が異なる動きゾーンにシフトされたインスタンスを決定することができる。一部の事例では、活動の各ゾーンの分布を使用して、オフラインチューニングシステムは、2つの活動ゾーンがどのように異なるかを決定することができる。例えば、活動ゾーンが十分に分離されている場合(例えば、これらの特徴的な分布が互いに十分に区別されている)、特定の分布を有する新しい動きゾーンが識別することができる。幾つかの例では、オフラインチューニングシステムは、固有の動きゾーンにて動きが検出されたことをユーザに促し(例えば、ユーザデバイスのインターフェースを介して通知を提供することにより)、良好な位置及び動きトラッキングの精度について、ユーザがそのゾーンにラベルを付けることを望むかどうかを尋ねることができる。
【0028】
図4は、
図3に示される適応モデル300においてハイパーパラメータを更新するための例示的なプロセス400を示すブロック図である。プロセス400は、例えば、
図3に示す適応モデル300を実行するコンピュータシステムによって実行することができる。この例示的なプロセス400では、モンテカルロエンジン380によってチューニングすることができる確率モデルの全ての構成要素が示されている。例えば、N個の動きゾーンZ(例えば、Z1、Z2、Z3)を含む分岐420が示されている。N個の動きゾーンはハイパーパラメータであり、これは、N個の動きゾーンが固定されておらず、新しい動きゾーンが検出されたときに適応することができることを意味する。従って、N個の動きゾーンは確率変数であり、モンテカルロエンジン380によってチューニングすることができる。幾つかの例では、これにより、モンテカルロエンジン380は、モデル内の独立した動きゾーンの数を柔軟に適応させることができ、また、モンテカルロエンジン380は、家(又は他のスペース)の構成及び配置が例えばユーザによって更新されるように新しい動きゾーンを定義することができる。幾つかの例では、家の更新が発生する度に、動き及び動きの位置を検出する瞬時ローカライザーアルゴリズムの性能は、オフラインチューニングプロセス中、例えば、周期的な(例えば、毎日の)更新プロセス中に適応モデル300が実行されるまで、低精度で動作することがある。この時点で、新しい動きゾーンを特定することができ、ユーザに、動きゾーンを確認するよう促すことができる。
【0029】
幾つかの例では、各々が1又は2以上の動きゾーンを表す1又は2以上のランダムゾーンジェネレータ440を使用して別個の分布Dをシードし、分布Dの各々が、これらに添付された幾つかのハイパーパラメータhに関連付けられている。幾つかの実施構成では、シードされた分布は、各ジェネレータ440からの出力のランダムなサンプルを生成する。これらのランダムサンプルは、推定チャネル応答データの生成を開始する。スイッチ330は、
図3に記載されるように、tauを使用して出力分布を決定する。実施構成において、推定されたチャネル応答データは、最終的に、実際のチャネル応答データ、例えば、観測されたチャネル応答データ310と比較される。
図4に示すように、これらの2つのデータセットは、モンテカルロエンジン380を介して適応モデル300をトレーニングするための入力として使用される。モンテカルロエンジン380の出力は、動きゾーンの有効数N、各動きゾーンの固有の分布(例えば、μN、σN)、及びその特定の動きゾーンへの遷移がいつ発生したかに関連するスイッチング時間tauを提供する。一部の事例では、モンテカルロエンジン380からのデータ出力490は、ランダム分布データの生成をシードするためにランダムジェネレータにフィードバックされる。上記のように、この適応モデルは、モデル化されたデータが特定の反復後に実際に観測されたチャネル応答データ410に収束するまで繰り返される。
【0030】
図5は、リンクデータを集約する例示的なプロセス500を示す概略図である。幾つかの例では、
図3及び4に記載の適応モデル300は、チャネル応答データ(例えば、
図2のチャネル応答データ210)の各サブキャリア(例えば、
図2のサブキャリア215)に対して実行することができる。一部の事例では、各サブキャリア215は、例えば、スペース内の人間の動き又は他のタイプの動きによって引き起こされるチャネルの変化によって、信号の単一周波数が振幅及び位相においてどのように影響を受けるかを表す。幾つかの実施構成では、チャネル応答データ210は、多くのサブキャリアにわたって計算される。例えば、WiFi 802.11a規格では、スペクトルの各20MHz部分は、52の有効なサブキャリアを含み、これらは全て、チャネル応答データの計算に使用できる。これらのサブキャリアの各々、個別に入力されてモンテカルロエンジン380によってモデル化することができ、モンテカルロエンジン380は次いで、個々のサブキャリアの各々に基づいて、異なるゾーン分布D及び遷移時間推定tauを作成する。
【0031】
一部の実施構成において、MIMOシステムで動作する各トランシーバーは、多くの異なる送信/受信パスを有し、ここで各送信機/受信機(Tx/Rx)ペアは、MIMOシステムのリンクと呼ばれる場合がある。MIMOシステムでは、MIMOシステムの各送信アンテナと各受信アンテナは、そのリンクのサブキャリアの全範囲にわたってチャネル応答を計算する。幾つかの例では、モンテカルロシミュレーションでは、各Tx/Rxペアからのサブキャリアを利用できるので、多くのモンテカルロシミュレーションを並行して起動することができる。例えば、モンテカルロシミュレーションは、Tx/Rxペアのリンク内の各サブキャリアに基づいて実行することができ、これらのシミュレーションの各々が、ゾーン遷移時間の推定値を出力することができる。一部の実施構成において、各サブキャリア、幾つかの例では各リンクの出力の集計を使用して、例えば2つの異なる動きゾーン間の最終的な遷移時間に関する決定を行うことができる。
【0032】
図5の例示的なプロセス500は、遷移時間の検出精度及び信頼性を改善するためのクラスタリング機構を示している。例えば、幾つかの例では、モンテカルロシミュレーションは、異なるリンクのサブキャリア当たりにtauグリッド510を生成する。これは、x軸がゾーン遷移推定tau(例えば、ゾーン遷移が推測された場所での時間軸のスパイク)を表し、個々の各正方形がMIMOシステムの別個のTx/Rxリンクにわたるチャネル推定を表す、正方形のカスケードとして
図5に示される。図では、各リンクのtauグリッド510の3D構造は、2D形状520に折りたたまれており、tau(又は時間)次元は同じままであるが、サブキャリア及びリンクのデータは平坦化されている。換言すると、リンク内の全てのサブキャリアのtau推定値が収集され、全てのリンクが使い果たされるまで、別のリンクの全てのサブキャリアのtau推定値と並べられる。一部の事例では、この集計プロセスにより、サブキャリア間及びリンク間でのある種の投票を可能にするデータが生成される。例えば、
図520を参照すると、下から上に向かって始まり、第1の遷移推定530は、2つのサブキャリア(全てのリンクからの全てのサブキャリアから)によって信号が送られていることが観測される。この最初の遷移では、2つの投票が収集され、この例では、より大きな直径540の円により表される。同様に、次の遷移推定532は、単一のサブキャリアによってのみ信号が送られ、後続の遷移推定534は、3つのサブキャリアによって信号が送られ、遷移推定536は、1つのサブキャリアによって信号が送られ、遷移推定538は、4つのサブキャリアそれぞれによって信号が送られる。これらの遷移推定値の各々は、遷移を信号で通知するサブキャリアの数に基づいて、異なる重みの円(例えば、542、544、546、548)につながる。幾つかの例では、重み(
図5の円540、542、544、546、548の直径で表される)に基づいて、オフラインチューニングシステムは、データから数Kの遷移を選び出す。一部の実施構成において、システムは、最も重く加重されたK遷移ポイント(例えば、投票数が最も多いもの)を選択し、これらの遷移ポイントを使用して、動きゾーンの遷移と新しい動きゾーンを通知する。
【0033】
図8は、上記のオフライントレーニングシステムの例示的な実施構成を使用して行われた実際の実験からの例示的な出力800を示している。この例示的な出力800は、
図5に記載されたプロセスに従って生成された。プロット810に示されるように、縦軸は、モンテカルロエンジン(例えば、モンテカルロエンジン380)によって決定された推定時間分割(例えば、tauによって示される)に対応する。横軸は、推定チャネル応答データが生成された各サブキャリア周波数を表している。各サブキャリアの時系列(例えば、
図2に示すサブキャリア215の時系列220)は、モンテカルロシミュレーション(例えば、
図3に示す適応モデル300において)に入力され、これは、サブキャリアの総計の変更に基づいて遷移点を推定する。全てのサブキャリアが処理されると、各サブキャリアからの推定遷移時間(
図2の「推定時間分割」)が共に収集され、1次元クラスタリングアルゴリズムを通過し、これにより、複数のサブキャリアと複数のリンク(例えば、
図5に記載されているように)についてのデータが平坦化される。この例では、クラスタリングアルゴリズムは、tau軸に沿って全てのポイントを収集し、最大のクラスターを見つけ、次いで、最大のクラスターは、ゾーン間の有効な遷移ポイントと見なされる。プロット820は、データ内のサブキャリアの1つからのチャネル応答を示している。チャネル応答データと共に、プロット820の実線の水平線は、ユーザによってマークされたゾーン位置を表し、破線の垂直線は、オフラインチューニングシステムによって発見されたゾーン遷移インスタンスを示している。この例では、その結果は、人間がマークした遷移点(新しいゾーン位置を示すために水平の実線がステップアップされたところ)と、機械がラベル付けした遷移点(破線の垂直線で表される)が高精度で一致することを示している。
【0034】
図6は、新しい動きゾーンを識別するためのフローチャートを示す図である。フローチャートに示される方法600は、オフラインチューニングシステム(例えば、
図1のオフラインチューニングシステム110)又は別のタイプのコンピュータシステムによって実行することができる。一部の事例では、
図6に示される動作のうちの1又は2以上は、複数の操作、サブプロセス、又は他のタイプのルーチンを含むプロセスとして実装される。一部の事例では、動作は、組み合わせること、別の順序で実行すること、並行して実行すること、繰り返すこと、又は他の方法で繰り返すこと、或いは別の方法で実行することができる。
【0035】
例示的な方法600は、適応モデル、例えば、
図3~4に記載された適応モデルの一部として実行することができる。実施構成において、610において、観測されたチャネル応答データは、動き検出システムから取得される(例えば、
図2に記載されたチャネル応答データ210)。観測されたチャネル応答データは、スペース(例えば、
図1に記載の動き検出システム120が動作している家)内の複数の無線リンクを介して送信される無線信号に基づく。観測されたチャネル応答データは、一定期間にわたって各無線リンクの複数のサブキャリアに関連付けることができる。620において、推定チャネル応答データは、観測されたチャネル応答データ内の各活動ゾーン(例えば、分布230A、230B、230C)の各無線リンクについて、複数のサブキャリア(例えば、
図2に記載のサブキャリア220)の各々について生成される。
【0036】
幾つかの例では、活動ゾーンは、特定の分布を有する観測されたチャネル応答データの時系列のセグメントに対応する(例えば、
図2に記載のゾーン分布230A、230B、230C)。一部の事例では、観測されたチャネル応答データの活動ゾーンごとに、各無線リンクの複数のサブキャリアの各々について推定チャネル応答データを生成することは、活動ゾーンの分布(例えば、μ1、σ1、μ2、σ2、μ3、σ3、等によって定められる分布)及び活動ゾーンの分布の特性に対応するハイパーパラメータ(例えば、
図3のハイパーパラメータh1、h2)に基づいて、活動ゾーンごとに各無線リンクの複数のサブキャリアの各々(例えば、
図2のサブキャリア220の各々)についてランダムデータ(例えば、
図3の分布D1及びD2)を生成することを含む。幾つかの例では、活動ゾーンの数は、ハイパーパラメータである(例えば、
図4で記載されているN個のゾーン)。
【0037】
630において、各無線リンクの複数のサブキャリアの各々について推定されたチャネル応答データの活動ゾーン間の遷移が識別される(例えば、
図3~4のモデルに記載されるtau)。幾つかの例では、時間ベクトルは、各無線リンクの複数のサブキャリアの各々について推定されたチャネル応答データの活動ゾーン間で識別された遷移並びに各遷移時間を含む。
【0038】
640において、動き検出システムの新しい動きゾーンが、各活動ゾーン及び識別された遷移について推定されたチャネル応答データに基づいて検出される。一部の事例では、動き検出システムにおいて新しい動きゾーンを検出することは、各活動ゾーンに対して生成されたランダムデータ(例えば、
図3のD1、D2など)及び各活動ゾーン間で識別された遷移(例えば、
図3~4のtau)を分析することを含む。幾つかの例では、所与の期間のアクティブ分布が決定される(例えば、
図3に記載されているようなtauに基づくスイッチ330によって)。次に、各分布のハイパーパラメータを調整することができ(例えば、
図3のモンテカルロエンジン350によって)、調整されたハイパーパラメータを使用してランダムデータが再生成される(モデルは、
図4で記載したように適合される)。
【0039】
方法600の幾つかの例では、ランダムデータが観測されたチャネル応答データと相関するかどうかが決定される。ランダムデータが観測されたチャネル応答データと相関すると決定することに応答して、オフラインチューニングシステムは、各無線リンクの複数のサブキャリアの各々について識別された遷移を集約し、識別された遷移の少なくとも1つが新しい動きゾーン(例えば、
図5に記載されるように)を示すと決定することができる。ランダムデータが観測されたチャネル応答データと相関しないと決定された場合、各分布のハイパーパラメータを適合させることができ(例えば、
図4に記載のモンテカルロエンジンによって)、
ランダムデータが観測されたチャネル応答データ(
図4のモデルで記載されているように)と相関するまで調整されたハイパーパラメータを用いて、ランダムデータを再生成(例えば、ランダムジェネレータが各動きゾーンZの分布データDを生成する)。
【0040】
方法600の幾つかの実施構成では、新しい動きゾーンを示す通知が、動き検出システムのユーザに提供される。通知に応答して、新しい動きゾーンの確認又は新しい動きゾーンの拒否が、ユーザから受信される。一例では、新しい動きゾーンの確認は、ユーザによって提供された新しい動きゾーンのラベルを含む。幾つかの例では、新しい動きゾーンの位置は、動き検出システムの特定のノードの位置に関連付けられない。
【0041】
図7は、例示的なオフラインチューニングデバイス700を示すブロック図である。オフラインチューニングデバイス700は、
図1に記載のオフラインチューニングシステム110として構成することができる。
図7に示すように、例示的なデバイス700は、インターフェース730、プロセッサ710、メモリ720、及び電源ユニット740を含む。一部の実施構成では、オフラインチューニングデバイスのインターフェース730、プロセッサ710、メモリ720、及び電源ユニット740は、共通のハウジング又は他のアセンブリに共に収容されている。一部の実施構成において、オフラインチューニングデバイスの構成要素の1又は2以上は、別個に、例えば別個のハウジング又は他の組立体に収容することができる。
【0042】
例示的なインターフェース730は、例えば、動き検出システム120からの信号を通信(受信、送信、又は両方)することができる。例えば、インターフェース730は、データを無線で、例えば、無線通信規格(例えば、Wi-Fi又はブルートゥース)に従ってフォーマットされた無線周波数(RF)信号を受信するように構成することができる。一部の事例では、インターフェース730は、例えば、システム、サーバ、又は他のデバイスにデータを転送するために、信号を送信するように構成することができる。幾つかの実施構成では、インターフェース730は、有線接続を介して(例えば、イーサネットなどを介して)データを送受信するように構成することができる。インターフェース730は、図示の例示的なインターフェース730として実装することができ、又は別の方法で、例えば、他のタイプの構成要素又はサブシステムを用いて実装することができる。一部の実施構成では、インターフェース730は、動き検出システムから観測されたチャネル応答データを受信又は取得するように構成される。インターフェース730はまた、動き検出システム120、機械学習システム160、又はユーザデバイス140などの他のシステム又はデバイスにデータを送信又は提供するように構成することができる。
【0043】
例示的なプロセッサ710は、例えば、データ入力に基づいて出力データを生成するために命令を実行することができる。命令は、メモリ720に格納されているプログラム、コード、スクリプト、モジュール、又は他のタイプのデータを含むことができる。追加的又は代替的に、命令は、事前にプログラムされた又は再プログラム可能な論理回路、論理ゲート、又は他のタイプのハードウェア又はファームウェア構成要素もしくはジュールとしてエンコードすることができる。プロセッサ710は、専用のコプロセッサ又は別のタイプのデータ処理装置としての汎用マイクロプロセッサとすることができ、又はこれを含むことができる。一部の事例では、プロセッサ710は、デバイス700の高レベル動作を実行する。例えば、プロセッサ710は、メモリ720に格納されたソフトウェア、スクリプト、モジュール、プログラム、関数、実行可能ファイル、又は他の命令を実行又は解釈するように構成することができる。幾つかの例では、プロセッサ710は、方法600のステップを実行するための命令を実行するように構成されて、オフラインチューニングシステムに、例えば、
図6に記載されるように、動き検出システムの新しい動きゾーンを検出させることができる。
【0044】
例示的なメモリ720は、コンピュータ可読記憶媒体、例えば、揮発性メモリデバイス、不揮発性メモリデバイス、又はその両方を含むことができる。メモリ720は、1又は2以上の読み取り専用メモリデバイス、ランダムアクセスメモリデバイス、バッファメモリデバイス、又はこれら及び他のタイプのメモリデバイスの組み合わせを含むことができる。幾つかの例では、メモリの1又は2以上の構成要素は、無線通信デバイス700の別の構成要素と統合するか、又は関連付けることができる。メモリ720は、プロセッサ710によって実行可能な命令を格納することができる。例えば、命令は、動き検出システムから観測されたチャネル応答データを取得するための命令を含むことができる。命令は更に、観測されたチャネル応答データの活動ゾーンごとに推定チャネル応答データを生成し、推定チャネル応答データの活動ゾーン間の遷移を識別し、
図3~5に記載される動作の1又は2以上を通じて、又は
図6に示される例示的なプロセス600において各活動ゾーン及び識別された遷移についての推定されたチャネル応答データに基づいて、動き検出システムの新しい動きゾーンを検出するための命令を含むことができる。幾つかの例では、メモリ720は、例えば、適応ゾーンモデリング722を実行するため、及び/又は新しい動きゾーン724を検出するために、1又は2以上の命令セット又はモジュールを含むことができる。
【0045】
例示的な電源ユニット740は、オフラインチューニングデバイス700の他の構成要素に電力を供給する。例えば、他の構成要素は、電圧バス又は他の接続を介して電源ユニット740によって提供される電力に基づいて動作することができる。幾つかの実施構成では、電源ユニット740は、バッテリ又はバッテリシステム、例えば、充電式バッテリを含む。幾つかの実施構成では、電源ユニット740は、(外部電源からの)外部電源信号を受信して、外部電源信号を外部センサデバイス700の構成要素用に調整された内部電源信号に変換するアダプタ(例えば、ACアダプタ)を含む。電源ユニット740は、他の構成要素を含むことができ、又は他の方法で動作することができる。
【0046】
本明細書に記載されている主題及び動作の一部は、例えば、オフラインチューニングデバイス700について説明したように、デジタル電子回路において、又は本明細書に開示されている構造及びこれらの構造的均等物を含むコンピュータソフトウェア、モジュール、ファームウェア、又はハードウェアにおいて、或いはこれらの1又は2以上の組み合わせにおいて実装することができる。本仕様書に記載されている主題の一部は、1又は2以上のコンピュータプログラムとして、すなわち、データ処理装置によって実行するため又はデータ処理装置の動作を制御するコンピュータ可読記憶媒体上にエンコードされた、コンピュータプログラム命令の1又は2以上のモジュールとして実装することができる。コンピュータ可読記憶媒体は、コンピュータ可読記憶装置、コンピュータ可読記憶基板、ランダム又はシリアルアクセスメモリアレイ又はデバイス、或いはこれらの1又は2以上の組み合わせとするか、又はこれらに含めることができる。更に、コンピュータ可読記憶媒体は伝搬信号ではないが、コンピュータ可読記憶媒体は、人工的に生成された伝搬信号にエンコードされたコンピュータプログラム命令の送信元又は宛先とすることができる。コンピュータ読み取り可能記憶媒体はまた、1又は2以上の個別の物理構成要素又は媒体(例えば、複数のCD、ディスク、又は他の記憶装置)であるか、これらに含めることができる。コンピュータ可読記憶媒体は、複数のコンピュータ可読記憶装置を含むことができる。コンピュータ読み取り可能ストレージデバイスは、同じ場所に配置すること(単一のストレージデバイスに保存された命令)、又は異なる場所に配置することもできる(例えば、分散した場所に保存された命令)。
【0047】
コンピュータプログラム(プログラム、ソフトウェア、モジュール、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる)は、コンパイル又は解釈言語、宣言型言語又は手続き型言語を含む、あらゆる形式のプログラミング言語で記述でき、任意の形式で展開できる。スタンドアロンプログラムとして、又はモジュール、コンポーネント、サブルーチン、オブジェクト、又はコンピューティング環境での使用に適した他のユニットとして含む、あらゆる形式で展開することができる。コンピュータプログラムは、必ずしもそうではないが、ファイルシステム内のファイルに対応することができる。プログラムは、他のプログラム又はデータを保持するファイルの一部に(例えば、マークアップ言語ドキュメントに保存された1又は2以上のスクリプト)、プログラム専用の単一ファイルに、又は複数の調整されたファイル(例えば、1又は2以上のモジュール、サブプログラム、又はコードの一部を格納するファイル)に格納することができる。コンピュータプログラムは、1台のコンピュータ又は1つのサイトに配置されているか、複数のサイトに分散されて通信ネットワークによって相互接続されている複数のコンピュータで実行されるように展開することができる。
【0048】
本明細書で記載されているプロセス及び論理フローの一部は、入力データを動作して出力を生成することによって処理を実行するために、1又は2以上のコンピュータプログラムを実行する1又は2以上のプログラム可能プロセッサによって実行することができる。プロセス及び論理フローは、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの特殊用途論理回路によって実行することができ、又は実装することもできる。
【0049】
コンピュータプログラムの実行に適したプロセッサは、例によって、汎用及び専用マイクロプロセッサの両方、及びデジタルコンピュータの何れかの種類のプロセッサを含む。一般的に、プロセッサは、読み取り専用メモリ又はランダムアクセスメモリ又はこれらの両方から命令及びデータを受信する。コンピュータの要素は、命令に従って動作を実行するプロセッサ、及び命令及びデータを格納する1又は2以上のメモリデバイスを含むことができる。コンピュータは、データを格納するための1又は2以上の大容量ストレージデバイス、例えば、非磁気ドライブ(例えば、固体ドライブ)、磁気ディスク、磁気光学ディスク、又は光学ディスクを含むことができるか、又はこれらからデータを受信又はこれらにデータを転送するために動作可能に結合することができる。しかしコンピュータは、このようなデバイスを有する必要はない。コンピュータは、別のデバイス、例えば、電話、タブレットコンピュータ、電子機器、移動音声又はビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、もののインターネット(IoT)デバイス、機械対機械(M2M)センサ又はアクチュエータ、又は携帯式ストレージデバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)に組み込むことができる。コンピュータプログラム命令及びデータを格納するのに適したデバイスは、例によって半導体メモリデバイス(例えば、EPROM、EEPROM、フラッシュメモリデバイス、及びその他)、磁気ディスク(例えば、内部ハードディスク、取り外し可能ディスク、及びその他)、磁気光学ディスク、及びCD ROM及びDVD-ROMディスクを含む不揮発性メモリ、媒体及びメモリデバイスの全ての形態を含む。一部の事例では、プロセッサ及びメモリは、専用論理回路によって補足又はこれに組み入れることができる。
【0050】
ユーザとの対話を提供するために、動作は、ユーザに情報を表示するためのディスプレイデバイス(例えば、モニタ、又はディスプレイデバイスの別のタイプ)及びユーザがコンピュータに入力を提供することができるキーボード及びポインティングデバイス(例えば、マウス、トラックボール、スタイラス、タッチセンサ式画面、又は別のタイプのポインティングデバイス)を有するコンピュータで実施することができる。他の種類のデバイスを用いてユーザとの対話を同様に提供することができ、例えば、ユーザに提供されるフィードバックは、感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、又は触知性フィードバックの何れかの形態とすることができ、ユーザからの入力を、音響、会話、又は触知性入力を含む何れかの形態で受信することができる。加えて、ユーザによって使用されるデバイスに文書を送信及びデバイスから文書を受信することによって、例えば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイスのウェブブラウザにウェブページを送信することによって、コンピュータはユーザと対話することができる。
【0051】
コンピュータシステムは、単一のコンピュータデバイス、又は互いに近接して又は一般的に互いから離れて動作し一般的には通信ネットワークを介して対話する複数のコンピュータを含むことができる。通信ネットワークは、ローカルエリアネットワーク(「LAN])及びワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、衛星リンクを含むネットワーク、及びピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)の1又は2以上を含むことができる。クライアント及びサーバの関係は、それぞれのコンピュータで実行され且つ互いとのクライアントサーバ関係を有するコンピュータプログラムによって発生することができる。
【0052】
記載される例の一部の一般的な態様では、新しい動きゾーンが、動き検出システムにおいて検出される。
【0053】
第1の例では、動き検出システムから観測されたチャネル応答データが取得される。観測されたチャネル応答データは、スペース内の複数の無線リンクを介して送信された無線信号に基づいており、観測されたチャネル応答データは、一定期間にわたって各無線リンクの複数のサブキャリアに関連付けられる。推定チャネル応答データは、観測されたチャネル応答データの活動ゾーンごとに各無線リンクにて複数のサブキャリアの各々について生成される。幾つかの例では、各無線リンクの複数のサブキャリアの各々について、推定チャネル応答データの活動ゾーン間で遷移が識別される。一部の事例では、動き検出システムの新しい動きゾーンが、各活動ゾーンの推定チャネル応答データと識別された遷移とに基づいて検出される。
【0054】
第1の例の実装は、一部の事例では、以下の機能のうちの1又は2以上を含むことができる。活動ゾーンは、特定の分布を有する観測チャネル応答データの時系列のセグメントに対応し、観測チャネル応答データの活動ゾーンごとに各無線リンクにおいて複数のサブキャリアの各々について推定チャネル応答データを生成することは、活動ゾーンの分布及び活動ゾーンの分布の特性に対応するハイパーパラメータに基づいて、活動ゾーンごとの各無線リンクの複数のサブキャリアの各々についてランダムデータを生成することを含む。各活動ゾーン及び識別された遷移の推定チャネル応答データに基づいて、動き検出システムにおいて新しい活動ゾーンを検出することは、各活動ゾーンに対して生成されたランダムデータ及び各ゾーン間で識別された遷移を分析し、アクティブ分布を決定し、各分布のハイパーパラメータを調整して調整されたハイパーパラメータを使用してランダムデータを再生成し、ランダムデータが観測されたチャネル応答データと相関するかどうかを決定し、ランダムデータが観測されたチャネル応答データと相関することを決定することに応答して、各無線リンクの複数のサブキャリアの各々について識別された遷移を集約し、識別された遷移の少なくとも1つが新しい動きゾーンを示すことを決定する、ことを含む。
【0055】
第1の例の実施構成は、一部の事例では、以下の特徴の1又は2以上を更に含むことができる。ランダムデータが観測されたチャネル応答データと相関しないと決定したことに応答して、各分布のハイパーパラメータを調整し、ランダムデータが観測されたチャネル応答データと相関するまで、調整されたハイパーパラメータを使用してランダムデータを再生成する。時間ベクトルは、各無線リンクの複数のサブキャリアの各々について、推定されたチャネル応答データの活動ゾーン間で識別された遷移と、各遷移時間とを含む。活動ゾーンの数はハイパーパラメータである。新しい動きゾーンを示す動き検知システムをユーザに通知し、この通知に応答して、ユーザから新しい動きゾーンの確認又は新しい動きゾーンの拒否を受信する。新しい動きゾーンの確認は、ユーザによって提供された新しい動きゾーンのラベルを含む。新しい動きゾーンの位置は、動き検出システムの特定の位置ノードに関連付けられていない。
【0056】
幾つかの実施構成では、コンピュータ可読媒体は、データ処理装置によって実行されたときに、第1の例の1又は2以上の動作を実行するよう動作可能である命令を格納する。一部の実施構成では、システム(例えば、通信デバイス、コンピュータシステム、これらの組み合わせ)は、1又は2以上のプロセッサと、1又は2以上のプロセッサによって実行されたときに第1の例の1又は2以上の動作を実行するよう動作可能であるメモリ格納命令とを含む。
【0057】
本明細書は多くの詳細を包含するが、これらは、特許請求される範囲を限定するものとして解釈すべきではなく、むしろ、特定の実施例に固有の特徴の説明として解釈すべきである。別々の実施の文脈で本明細書において説明された幾つかの特徴を組み合わせることもできる。反対に、単一の実施の文脈で説明された様々な特徴を複数の実施形態において別々に又は何れかの適切な部分的組み合わせの形態で実施することもできる。
【0058】
幾つかの実施形態を説明した。それでもなお、様々な修正を行い得ることは理解されるであろう。従って、他の実施形態も以下の請求項の範囲内にある。
【符号の説明】
【0059】
310 チャネル応答データ
330 スイッチ
380 モンテカルロエンジン
400 プロセス
420 分岐
440 ゾーンジェネレータ