(57)【要約】  モバイルデバイスの屋内/屋外状態を判定するための方法、システム、コンピュータ可読媒体、および装置を提示する。いくつかの実施形態では、センサ読取り値は、モバイルデバイスによりアクセス可能なセンサから取得される。モバイルデバイスが位置するエリアに関連付けられたローカル状態に関する同時情報が取得される。少なくともセンサ読取り値、およびローカル状態に関する情報が、複数の訓練済みモデルから選択された屋内/屋外検出モデルへの入力として提供される。そのモデルに基づいて、モバイルデバイスは、屋内または屋外に分類される。
2018536308.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイスのために屋内/屋外検出を実施する方法であって、
前記モバイルデバイスによりアクセス可能なセンサからセンサ読取り値を取得するステップと、
前記モバイルデバイスが位置するエリアに関連付けられたローカル状態に関する同時情報を取得するステップと、
前記ローカル状態に関する前記同時情報に少なくとも部分的に基づいて、複数の訓練済みモデルから、適用すべき屋内/屋外検出モデルを選択するステップと、
前記選択されたモデルへの入力として、前記センサ読取り値を提供するステップと、
前記選択されたモデルに基づき、前記モバイルデバイスのユーザが屋内に位置する可能性を判定するステップと、
前記可能性に基づき、前記モバイルデバイスを屋内または屋外として分類するステップと
を含む方法。
【請求項２】
前記可能性を判定する前記ステップは、前記モバイルデバイスの前記ユーザが屋内に位置する確率測度を判定するステップを含む、請求項1に記載の方法。
【請求項３】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて開発される、請求項1に記載の方法。
【請求項４】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて更新される、請求項1に記載の方法。
【請求項５】
前記ローカル状態に関する情報は、複数の可能な値から選択された値として表現され、前記複数の訓練済みモデルからの各モデルは、特に前記ローカル状態に対する前記複数の可能な値から選択された異なる値に対して訓練される、請求項1に記載の方法。
【請求項６】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて更新される、請求項5に記載の方法。
【請求項７】
前記ローカル状態に関する前記情報は、時刻を含む、請求項5に記載の方法。
【請求項８】
前記ローカル状態は気象状態を含み、前記センサは、環境光センサを含む、請求項1に記載の方法。
【請求項９】
前記モバイルデバイスが屋内にあるかどうかを判定する前記ステップは、前記モバイルデバイスの以前の屋内/屋外状態の判定にさらに基づいている、請求項1に記載の方法。
【請求項１０】
前記訓練済みモデルは、前記モバイルデバイスにおいて開発される、請求項3に記載の方法。
【請求項１１】
前記訓練済みモデルは、サーバにおいて開発される、請求項3に記載の方法。
【請求項１２】
前記気象状態は、温度、圧力、湿度、日の出および日没時間、風速、風向、雨、雲量のうちの1つまたは複数を含む、請求項8に記載の方法。
【請求項１３】
前記センサはガスセンサを含み、前記ローカル状態は、ある量の揮発性有機化合物を含む、請求項1に記載の方法。
【請求項１４】
前記選択されたモデルに基づき、前記モバイルデバイスのユーザが屋外に位置する第2の可能性を判定するステップをさらに含み、前記モバイルデバイスを屋内または屋外として分類する前記ステップが、前記第2の可能性にさらに基づく、請求項1に記載の方法。
【請求項１５】
モバイルデバイスであって、
センサ読取り値を出力するように構成されたセンサと、
1つまたは複数のプロセッサと
を備え、前記プロセッサが、
前記モバイルデバイスが位置するエリアに関連付けられたローカル状態に関する同時情報を取得し、
前記ローカル状態に関する前記同時情報に少なくとも部分的に基づいて、複数の訓練済みモデルから、適用すべき屋内/屋外検出モデルを選択し、
前記選択されたモデルへの入力として、前記センサ読取り値を提供し、
前記選択されたモデルに基づき、前記モバイルデバイスのユーザが屋内に位置する可能性を判定し、
前記可能性に基づき、前記モバイルデバイスを屋内または屋外として分類する
ように構成される、モバイルデバイス。
【請求項１６】
前記可能性を前記判定することは、前記モバイルデバイスの前記ユーザが屋内に位置する確率測度を判定することを含む、請求項15に記載のモバイルデバイス。
【請求項１７】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて開発される、請求項15に記載のモバイルデバイス。
【請求項１８】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて更新される、請求項15に記載のモバイルデバイス。
【請求項１９】
前記ローカル状態に関する情報は、複数の可能な値から選択された値として表現され、前記複数の訓練済みモデルからの各モデルは、特に前記ローカル状態に対する前記複数の可能な値から選択された異なる値に対して訓練される、請求項15に記載のモバイルデバイス。
【請求項２０】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて更新される、請求項19に記載のモバイルデバイス。
【請求項２１】
前記ローカル状態に関する前記情報は、時刻を含む、請求項19に記載のモバイルデバイス。
【請求項２２】
前記ローカル状態は気象状態を含み、前記センサは、環境光センサを含む、請求項15に記載のモバイルデバイス。
【請求項２３】
前記モバイルデバイスが屋内にあるかどうかを前記判定することは、前記モバイルデバイスの以前の屋内/屋外状態の判定にさらに基づいている、請求項15に記載のモバイルデバイス。
【請求項２４】
前記訓練済みモデルは、前記モバイルデバイスにおいて開発される、請求項17に記載のモバイルデバイス。
【請求項２５】
前記センサはガスセンサを含み、前記ローカル状態は、ある量の揮発性有機化合物を含む、請求項15に記載のモバイルデバイス。
【請求項２６】
モバイルデバイスであって、
センサ読取り値を取得するための手段と、
前記モバイルデバイスが位置するエリアに関連付けられたローカル状態に関する同時情報を取得するための手段と、
前記ローカル状態に関する前記同時情報に少なくとも部分的に基づいて、複数の訓練済みモデルから、適用すべき屋内/屋外検出モデルを選択するための手段と、
前記選択されたモデルへの入力として、前記センサ読取り値を提供するための手段と、
前記選択されたモデルに基づき、前記モバイルデバイスのユーザが屋内に位置する可能性を判定するための手段と、
前記可能性に基づき、前記モバイルデバイスを屋内または屋外として分類するための手段と
を備えるモバイルデバイス。
【請求項２７】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて開発される、請求項26に記載のモバイルデバイス。
【請求項２８】
センサ読取り値を取得するための前記手段は、ガス組成を感知し、前記ローカル状態は、ある量の揮発性有機化合物を含む、請求項26に記載のモバイルデバイス。
【請求項２９】
プロセッサにより実行されたとき方法を実施する命令が記憶されている非一時的コンピュータ可読記録媒体であって、前記方法は、
モバイルデバイスによりアクセス可能なセンサからセンサ読取り値を取得するステップと、
前記モバイルデバイスが位置するエリアに関連付けられたローカル状態に関する同時情報を取得するステップと、
前記ローカル状態に関する前記同時情報に少なくとも部分的に基づいて、複数の訓練済みモデルから、適用すべき屋内/屋外検出モデルを選択するステップと、
前記選択されたモデルへの入力として、前記センサ読取り値を提供するステップと、
前記選択されたモデルに基づき、前記モバイルデバイスのユーザが屋内に位置する可能性を判定するステップと、
前記可能性に基づき、前記モバイルデバイスを屋内または屋外に位置すると分類するステップと
を含む、非一時的コンピュータ可読記録媒体。
【請求項３０】
前記訓練済みモデルは、前記モバイルデバイスにおいて収集されたデータを用いて更新される、請求項29に記載の非一時的コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
携帯電話、タブレットコンピュータ、ラップトップコンピュータ、および他のモバイルデバイスなど、パーソナルコンピューティングデバイスは、ますます普及しつつある。モバイルデバイスが、屋内に存在するか、それとも屋外に存在するかに関する情報は、様々な用途で使用されて、デバイスを使用する場合のユーザ体験を向上させることができる。たとえば、屋内/屋外状態情報は、設定の個別化(ディスプレイ、画面の輝度、音量など)、カレンダのリマインダ、電力を消費する位置決定のゲート制御、およびワイヤレスローカルエリアネットワーク(WLAN)の電力を消費する検索のゲート制御など、様々な用途を容易にすることができる。
【０００２】
いくつかの用途では、不十分な屋内-屋外に関連するデータから高性能な屋内/屋外検出を必要とする。2つのそのような例は、電話および装着型のものなど、低電力デバイスによる全地球測位システム(GPS)信号取得、およびモバイルデバイスにおける環境状況対応のホームスクリーンの管理である。たとえば、モバイルデバイスが屋外にあるとき、衛星ベースのGPSを位置決定に使用することができ、モバイルデバイスが屋内にあるときは、Wi-Fiアクセスポイントなどの他の手段を位置決定に使用することができる。高性能な屋内/屋外検出の他の用途は、状況支援型(context-aided)コンピュータビジョンを含むことができる。
【０００３】
費用効果の高いモバイルデバイスにより提供される屋内/屋外関連のデータは、既存の技術の状態では、高性能の用途を可能にするには不十分である。たとえば、光に基づくシステムは日中、隠されていないデバイスで、晴天の条件に限って正確であり、磁力計に基づくシステムは、ユーザが動いているときにのみ正確であり、またワイヤレス信号強度ベースのシステムは、屋内/屋外の遷移中に限って動作可能である。従来の屋内/屋外検出の方法は、複数のセンサからの入力を利用して、デバイスの状態を判定することができる。しかし、従来の方法は、不正確である場合があり、または電力を多量に必要とする場合がある。したがって、正確であり、費用効果の高い屋内/屋外推定が求められている。
【０００４】
本開示は、一般に、モバイルデバイスにおける屋内/屋外検出に関し、より詳細には、センサの読取り値、および位置状態に関する情報に少なくとも部分的に基づいて、屋内/屋外状態を検出するための技法およびシステムに関する。
【発明の概要】
【課題を解決するための手段】
【０００５】
モバイルデバイスの屋内/屋外状態を判定するための方法、システム、コンピュータ可読媒体、および装置が提示される。いくつかの実施形態では、そのようなシステムまたは方法は、モバイルデバイスによりアクセス可能なセンサからセンサ読取り値を取得するステップと、モバイルデバイスが位置するエリアに関連付けられたローカル状態(local condition)に関する同時情報(contemporaneous information)を取得するステップと、複数の訓練済みモデル(trained model)から、適用すべき屋内/屋外検出モデルを選択するステップとを含むことができる。選択は、ローカル状態に関する同時情報に少なくとも部分的に基づくことができる。センサ読取り値は、選択されたモデルへの入力として提供され得る。モバイルデバイスのユーザが屋内に位置する可能性は、選択されたモデルに基づいて判定することができる。モバイルデバイスは、判定された可能性に基づいて、屋内または屋外に位置するものと分類され得る。
【０００６】
いくつかの実施形態では、モバイルデバイスが屋内に位置するという可能性の判定は、モバイルデバイスが屋内に位置する確率測度を判定するステップを含むことができる。確率測度は、確率分布関数から推定することができる。
【０００７】
いくつかの実装形態によれば、訓練済みモデルは、少なくともモバイルデバイスで収集されたデータを用いて開発することができる。いくつかの実装形態では、訓練済みモデルは、モバイルデバイスで収集されたデータを用いて更新することができる。実装形態に応じて、訓練済みモデルは、モバイルデバイスで、サーバで、またはモバイルデバイスとサーバの組合せで開発することができる。実施形態では、訓練済みモデルは、クラウドに位置するサーバで、少なくとも部分的に開発され得る。
【０００８】
いくつかの実施形態では、ローカル状態に関する情報は、複数の可能な値から選択された値として表現することができる。そのような値は、離散値とすることができる。複数の訓練済みモデルからの各モデルは、ローカル状態に対する複数の可能な値から選択された異なる値に対して特に訓練され得る。そのような訓練済みモデルは、次いで、モバイルデバイスにて収集されたデータを用いて更新することができる。
【０００９】
いくつかの態様では、ローカル状態に関する情報は、時刻を含むことができる。時刻は、たとえば、日の出および日没時間に対して計算することができる。いくつかの実施形態では、センサは、ガスセンサを含むことができ、またローカル状態は、ある量の揮発性有機化合物を含むことができる。
【００１０】
いくつかの実施形態では、ローカル状態は、気象状態を含むことができ、またセンサは、環境光センサ(ALS)を含むことができる。たとえば、気象状態は、たとえば、空気温度、湿度、気圧、ガス組成、風速、風向、雨、日の出および日没時間、雲量、花粉レベルなどを示すことができる。
【００１１】
いくつかの実施形態では、モバイルデバイスが屋内にあるかどうかを判定することは、デバイスの以前の屋内/屋外状態の判定にさらに基づくことができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態による、様々なセンサ、および屋内/屋外検出エンジンを備えるモバイルデバイスの図である。
【図２】一実施形態による、訓練モデルの開発を示す簡略化された図である。
【図３】一実施形態による、屋内/屋外の分類を示す簡略化された図である。
【図４】一実施形態による、屋内/屋外の分類の例示的なプロセスを示すフローチャートである。
【図５】一実施形態による、屋内/屋外検出モデルを開発し、かつ更新する例示的なプロセスを示すフローチャートである。
【図６】一実施形態による、ALS読取り値と、日の出もしくは日没からの時間との関数として、所与のALS読取り値を有するサンプル数の3次元的グラフ表現を示す図である。
【図７】一実施形態による、1つは天気が晴れであり、他方は天気が曇りである、訓練モデルからの屋内および屋外確率分布関数の例を示すグラフ表現の図である。
【図８】一実施形態による、日没に対する様々な時間における、訓練済みモデルからの屋内および屋外確率分布関数の例を示すグラフ表現の図である。
【図９】屋内/屋外の判定において前の情報を使用する例のグラフ表現の図である。
【発明を実施するための形態】
【００１３】
本開示のいくつかの態様および実施形態が、以下で提供される。当業者には明らかであろうが、これらの態様および実施形態のうちのいくつかは、独立して適用可能であり、それらのうちのいくつかは、組み合わせて適用可能である。以下の説明では、説明のために、本発明の実施形態を完全に理解できるように特定の詳細を記載する。しかしながら、様々な実施形態は、これらの具体的な細部がなくても実施され得ることは明らかであろう。図および説明は限定的であることを意図していない。
【００１４】
次の記述は、例示的な実施形態を提供するにすぎず、本開示の範囲、適用可能性、または構成を限定するようには意図されていない。そうではなくて、例示的な実施形態の以下の説明は、例示的な実施形態を実施することを可能にする説明を当業者に提供するものである。添付の特許請求の範囲に記載したような本発明の趣旨および範囲から逸脱することなく、様々な変更を要素の機能および構成に加えることが可能であることを理解されたい。
【００１５】
本実施形態の十分な理解を提供するために、以下の記述において、具体的な細部が与えられる。しかし、当業者であれば、本実施形態は、これらの具体的な細部なしに実施され得ることが理解されよう。たとえば、不必要な細部で本実施形態を不明瞭にしないように、回路、システム、ネットワーク、プロセス、および他の構成要素は、ブロック図の形態で構成要素として示すことができる。他の事例では、本実施形態を曖昧にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不必要な細部を含めることなく示すことができる。
【００１６】
さらに、個々の実施形態は、フローチャート、流れ図、データの流れ図、構造図、またはブロック図として示されるプロセスとして記述できることに留意されたい。フローチャートは、一連のプロセスとして動作を記述できるが、動作の多くは、並列に、または同時に実施することができる。加えて、動作の順序は並べ替えることができる。プロセスは、その動作が完了したとき終了するが、図には含まれていないさらなるステップを有することもできる。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに相当し得る。プロセスが関数に相当するとき、その終了は、その関数が呼出し関数またはメイン関数に戻ることに相当し得る。
【００１７】
「コンピュータ可読媒体」という用語は、これだけに限らないが、可搬型もしくは非可搬型の記憶デバイス、光記憶デバイス、ならびに命令および/またはデータを記憶し、含み、または担持できる様々な他の媒体を含む。コンピュータ可読媒体は、データがそこに記憶され得るとともに、ワイヤレスに、または有線接続を介して伝搬する搬送波および/または一時的な電子信号を含まない、非一時的媒体を含み得る。非一時的媒体の例は、これだけに限らないが、磁気ディスクもしくは磁気テープ、コンパクトディスク(CD)もしくはデジタル多用途ディスク(DVD)などの光記憶媒体、フラッシュメモリ、メモリ、またはメモリデバイスを含み得る。コンピュータ可読媒体には、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラムステートメントの任意の組合せを表すことのできるコードおよび/または機械実行可能命令が記憶されてもよい。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡すことおよび/または受けることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の適切な手段を介して渡され、転送され、または送信され得る。
【００１８】
さらに実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せにより実施することができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実施されるとき、必要なタスクを実行するためのプログラムコードまたはコードセグメント(たとえば、コンピュータプログラム製品)は、コンピュータ可読媒体または機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実施することができる。
【００１９】
モバイルデバイスが、屋内に位置するか、それとも屋外に位置するかを検出するシステムおよび方法は、モバイルデバイス上に存在するセンサからの1つまたは複数の読取り値を取得することを含むことができる。状況に応じて、低電力センサと高電力センサの両方を検出に使用することができる。低電力センサは、モバイルデバイスが屋内にあるか、それとも屋外にあるかを連続的に監視する必要のある状況において使用できるので有利である。高電力センサは、たとえば、低電力センサが、信頼性のある測定を提供できないとき、または正確な測定が必要である場合に利用することができる。
【００２０】
図1は、一実施形態による例示的なモバイルデバイスの構成要素を示すブロック図である。当業者であれば、図1に示されたモバイルデバイス100のハードウェア構成は例示的なものであること、およびモバイルデバイス100は、示されたハードウェア構成に、または任意の特定のハードウェア構成に限定されないことが理解されよう。
【００２１】
図1で示すように、モバイルデバイス100は、プロセッサ110を備える。プロセッサ110は、コンピュータ可読媒体上に記憶された命令を実行して、実施形態による様々な方法を実施するように構成することができる。デバイス100はまた、ソフトウェアアプリケーションを媒体上に記憶したコンピュータ可読媒体を備えることができる。モバイルデバイス100はまた、カメラ155などのビデオ取込みデバイス、マイクロフォン120、スピーカ150、入力デバイス140、およびディスプレイ130を備えることができる。図示のように、モバイルデバイス100はまた、メモリ160を備える。メモリ160は、不揮発性記憶装置(たとえば、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、または他の適切な不揮発性記憶装置)、メモリカード(たとえば、SDカード、MicroSDカード、マルチメディアカード(MMC)、コンパクトフラッシュカード(登録商標)など)、または他の適切な記憶媒体とすることができる。いくつかの実施形態では、メモリ160は、屋内/屋外検出に関係するデータを記憶することができ、また屋内/屋外検出エンジン190によりアクセス可能であり得るが、それを以下で述べるものとする。
【００２２】
図1で示すように、モバイルデバイス100は、ネットワークを介してデータをワイヤレスで送信および受信するために使用できる送受信機170を備える。そのようなネットワークの例は、セルラネットワーク(CDMA、GSM(登録商標)、またはLTEなど)、Wi-Fi、Bluetooth(登録商標)、Zigbee(登録商標)、または他の適切な市販されている、または所有権のあるワイヤレス技術を含むことができる。いくつかの実施形態では、送受信機170は、モバイルデバイス100が位置するエリアに関連付けられたローカル状態に関する情報をネットワークから取得するために使用することができる。
【００２３】
モバイルデバイス100はまた、1つまたは複数のセンサ180を含む、またはそれにアクセスすることができる。本明細書で使用される場合、センサは、位置センサもしくは位置ロケータ(たとえば、全地球測位システム(GPS)センサ、Estimoteセンサ、ロケーションビーコン、iBeaconセンサ、または他の適切な位置センサ)、高度計、ジャイロスコープ、磁力計、衝撃センサ、加速度計、赤外線センサ、環境光センサ、運動センサ、ジェスチャセンサ、温度センサもしくは温度計、または任意の他の適切なセンサを含む。
【００２４】
図1で示すように、モバイルデバイス100は、加速度計181を備える。加速度計181は、モバイルデバイス100の加速度を測定するために使用することができる。加速度計は、1軸または多軸加速度計を含むことができ、またベクトル量として、測定された加速度の大きさおよび方向を検出するために使用することができる。加速度計から受け取られた入力は、たとえば、ユーザが休止状態から動き始めたとき、またはユーザが停止するときを判定するために使用することができる。
【００２５】
図示のように、モバイルデバイス100は、ジャイロスコープもしくはオシロスコープ182を備える。ジャイロスコープは、モバイルデバイス100の方向付け、したがって、その回転を測定するために使用することができる。磁力計184は、モバイルデバイス100における、またはそれを囲む磁場の強度および方向を測定するために使用することができる。磁力計184は、ホール効果、磁気トンネル、異方性磁気抵抗効果、ローレンツ力測定など、いくつかの物理的原理に基づくことができる。
【００２６】
図1で示されるように、モバイルデバイス100はまた、気象センサ183を備える。いくつかの実施形態では、気象センサ183は、モバイルデバイスを囲む大気の温度を測定するための温度計、および/または大気圧を測定するための気圧センサをさらに備えることができる。
【００２７】
モバイルデバイス100はまた、環境光センサ(ALS)185を備えることができる。ALSは、センサに当たる光の量を、したがって、モバイルデバイス100を囲むエリアの輝度を測定することができる。たとえば、ALSは、光子の存在を検出する光検出器とすることもできる。このように、ALSは、ヒトの眼が、どのように環境を「明るい」または「暗い」として知覚するかをシミュレートすることができる。
【００２８】
図1で示すように、モバイルデバイス100はまた、GPS位置センサ186を含むことができる。モバイルデバイス100は、GPS位置センサ186を使用し、たとえば、衛星からの信号を利用して、モバイルデバイス100に対する1組の大域位置座標を測定することができる。GPS位置センサ186は、モバイルデバイス100の地図上の位置情報を決定するために使用することができる。そのような位置情報は、モバイルデバイスの位置の市、州、国、通りの住所、および/または郵便番号を含むことができる。いくつかの実施形態では、モバイルデバイス100は、GPS位置センサに加えて、またはそれに代えて、他の三角測量もしくは三辺測量位置センサを含むことができる。たとえば、他の衛星位置決めシステムは、補助GPS(AGPS)システムを含むことができる。
【００２９】
モバイルデバイス100はまた、湿度センサ187を含むことができる。湿度センサ187は、大気中の湿度の量を、たとえば、比率もしくはパーセントで測定するために使用することができる。モバイルデバイス100はまた、ガスセンサ188を含むことができる。ガスセンサ188は、センサを囲む空気中のいくつかの気体のレベルを検出することができる。たとえば、ガスセンサ188は、周囲の空気におけるオゾン、酸化窒素、一酸化炭素、または揮発性有機化合物のパーセントを検出することができる。モバイルデバイス100はまた、図1で示されていない他のセンサを含むこともできる。そのようなセンサの例は、近接センサ、衝撃センサ、ジェスチャセンサなどを含む。
【００３０】
図1で示すように、モバイルデバイス100は、屋内/屋外検出エンジン190を備える。屋内/屋外検出エンジン190は、それ自体のプロセッサを含むことができるが、あるいは屋内/屋外検出エンジン190は、プロセッサ110の処理機能を使用することができる。いくつかの実施形態では、モバイルデバイス100で示されるように、屋内/屋外検出エンジンは、データベース191、モデルトレーナエンジン192、および屋内/屋外分類器193を含むことができる。いくつかの実施形態では、屋内/屋外検出エンジン190は、データベース191、モデルトレーナエンジン192、および屋内/屋外分類エンジン193のすべて、いくつかを含むことができるが、あるいはどれも含まないこともあり得る。データベース191、モデルトレーナエンジン192、および分類エンジン193は、以下でさらに述べるものとする。IODエンジンは、送受信機170、センサ180からの入力を受け取り、かつモバイルデバイス100の検出された屋内/屋外状態を出力するように構成することができる。
【００３１】
いくつかの実施形態では、モバイルデバイス100がアクセスできる、1組のセンサ180からのものなどのセンサは、屋内/屋外検出エンジン190により個々に使用されて、モバイルデバイス100の屋内/屋外状態を検出することができる。図1で示すように、1組のセンサ180は、モバイルデバイス100内に位置する。しかし、他の実施形態では、センサ180は、モバイルデバイス100に近接しているが、物理的には分離することができる。
【００３２】
いくつかの例では、環境光センサ(ALS)185の読取り値を使用して、モバイルデバイスが屋内にあるか、それとも屋外にあるかを予測することができる。ALSからの高い読取り値は、モバイルデバイスが屋外にあることを示すことができるが、それは、建物内部の光強度は、晴れた日には通常、屋外の光強度よりも低いからである。他の例では、たとえば、送受信機170におけるセルラ信号の受信信号強度を使用して、モバイルデバイスが屋内に存在するか、それとも屋外かを検出することができる。さらに別の例では、環境中の磁場の量を測定する磁力計からの測定値を、屋内/屋外検出に使用することができる。屋外では、地球の磁場が、磁力計の読取り値を支配するが、屋内では、磁力計の読取り値は、様々な電気機器および構造により影響される可能性がある。
【００３３】
いくつかの実施形態では、ガスセンサ188を、モバイルデバイスの屋内/屋外状態を検出するために使用することができる。たとえば、ガスセンサが、オゾン、酸化窒素、または一酸化炭素などの気体の高レベルを示した場合、そのような気体は、通常屋外で見出されるものなので、モバイルデバイスは、屋外にある可能性がより高い。ガスセンサが、高い揮発性有機化合物を示した場合、モバイルデバイスは、屋内にある可能性がより高い。揮発性有機化合部は、室温で高い蒸気圧を有する化学物質である。それらは、塗料、木材防腐剤、エーロゾルスプレー、洗剤、消毒剤、芳香剤、および自動車用製品を含む家庭用品において、高レベルで存在する可能性がある。
【００３４】
単一のセンサ読取り値に基づく屋内/屋外検出は、いくつかの制限を受ける可能性がある。たとえば、ALSベースの検出は、夜間または曇りの日には適用可能ではない、または正確ではない可能性がある。いくつかの実施形態では、複数のセンサを互いに組み合わせて使用して、屋内/屋外検出の精度を向上させることができる。たとえば、地球の磁場は、屋外では大きく影響を受けないことに基づき、加速度計181からの読取り値を、磁力計読取り値と併せて使用して、モバイルデバイス100の屋内/屋外状態を検出することができる。加速度計は、モバイルデバイスの加速度の量を測定し、したがって、大部分の種類の運動を検出することができる。加速度計により運動が検出されたとき、磁力計からのいくつかの読取り値が測定され得る。運動中の磁力計の読取り値における低い変動性は、モバイルデバイスが屋外にあることを示すことができる。一方で、地球の磁場は、屋内で、様々な機器および構造により大きく影響を受ける可能性がある。したがって、磁力計測定における高い変動性と併せた運動の検出は、モバイルデバイスが屋内にあることを示すことができる。
【００３５】
いくつかの実施形態では、ジャイロスコープ182からの読取り値を、磁力計184からの読取り値と併せて使用して、屋内/屋外状態を検出することができる。ジャイロスコープは、モバイルデバイスの回転における変化を測定することができる。たとえば、ジャイロスコープにおける低い変動性と組み合わせた磁力計の読取り値における高い変動性は、モバイルデバイスが屋内にあることを示すことができる。そのような状況は、モバイルデバイスは、比較的静止しているが、その周囲の磁場は変動しやすいことを示しており、対象物および機器からの磁気干渉のため、屋内にいる可能性が非常に高い状況を示している。
【００３６】
複数のセンサからの屋内/屋外検出は、上記で示した例などのように、センサの読取り値の背後にある物理的な事実に基づき、読取り値を知的に組み合わせることに基づくことができる。他の例では、複数のセンサからの読取り値をまた、妥当性検証機構として使用して、屋内/屋外検出の信頼性を向上させることができる。
【００３７】
いくつかの実施形態では、モバイルデバイスに位置するセンサからの読取り値を、他のデータで強化する(augment)ことができる。いくつかの例では、そのようなデータは、モバイルデバイスのメモリにおいてローカルに利用可能であり得る。いくつかの実施形態では、そのようなデータは、ネットワークを介して、モバイルデバイスに対して外部のソースから、センサ読取り値と同時に取得することができる。いくつかの実施形態では、そのようなデータは、気象状態などのローカル状態に関連することができる。
【００３８】
たとえば、ネットワークを介して測候所から得られるローカルな湿度データは、センサ187からの湿度センサ読取り値と同時に使用することができる。ローカルな湿度データは、モバイルデバイスが屋外にあるときに測定される湿度に対する予想値を提供することができる。したがって、センサにより測定される湿度値と、取得されたデータからの予想される湿度値との間の大幅な不一致は、モバイルデバイスが屋内にあることを示すことができる。同様に、気象センサ183など、モバイルデバイス上のセンサにより測定された温度を、モバイルデバイスが位置する地理的エリアに対してネットワークから取得された温度と比較することができる。よく一致していることは、モバイルデバイスが屋外に位置することを示すことができる。
【００３９】
別の例としては、雲の量に関するローカルな気象データを、ALS185からの読取り値を併せて使用することができる。取得された気象情報が、モバイルデバイスが位置するエリアに対して晴れの気象を示しており、かつALS読取り値が低い明るさの値を示している場合、モバイルデバイス100は屋内に位置するという推測を行うことができる。
【００４０】
図1に戻ると、示された実施形態では、屋内/屋外検出(IOD)エンジン190は、データベース191、モデルトレーナエンジン192、および屋内/屋外分類器193を備える。図で示すように、IODエンジンは、実施形態による機械学習モデルとともに使用することができる。データベース191は、少なくとも訓練済みIODモデルを記憶するために使用することができる。いくつかの実施形態では、データベース191は、複数の訓練済みモデルを記憶することができる。データベース191は、不揮発性メモリを備えることができる。モデルトレーナエンジン192は、コンピュータ可読媒体に記憶された命令と、記憶された命令を実行するように構成された1つまたは複数のプロセッサとを備えることができる。屋内/屋外分類器193は、コンピュータ可読媒体に記憶された命令と、記憶された命令を実行するように構成された1つまたは複数のプロセッサとを備えることができる。
【００４１】
IODエンジン190を使用して、機械学習モデルを選択し、かつ適用することを含む、実施形態による方法を実施することができる。機械学習モデルを開発し、かつ適用する例は、図2および図3を参照してさらに説明するものとする。
【００４２】
図2は、一実施形態による訓練モデル(training model)の開発を示す簡略化された図である。プロセス200は、複数の訓練済みモデルから1つの訓練済みモデルを開発する例である。実施形態によれば、各訓練済みモデルは、特にローカル状態に対して複数の可能な値から選択された値に対して訓練され得る。たとえば、ローカル状態は、気象コード、および/または日没前の時間を含むこともできる。簡単な非限定的な例として、気象コードは、晴れであるか、それとも曇りであるかを表すこともできる。日没前の時間は、(i)日没前の30分以内、(ii)日没の30分と1時間との間、および(iii)日没の1時間を超えるものとして分類することができる。したがって、上記の例では、訓練済みモデルは、6つの別々のシナリオに対して開発することができる、すなわち、晴れの気象および曇りの気象に対する、日没前の時間の各々の場合である。
【００４３】
図2で示すように、プロセス200は、ローカル状態の値に対するモデルを開発するために使用することができる。ブロック210において、取得されたデータから、特徴(feature)を抽出することができる。データは、たとえば、サーバなどの、モバイルデバイスに対して外部のソースからなど、様々なソースから取得することができる。代替的に、またはそれに加えて、データは、センサ読取り値の形態で、たとえば、モバイルデバイス上のセンサからなど、モバイルデバイスから取得することができる。ステップ210において、最も関連する予測変数(predictor)もしくは変数のサブセットを選択して、特徴ベクトルを形成することができる。いくつかの例では、主成分分析(PCA)、または線形判別分析(LDA)などの方法を、特徴抽出に適用することができる。利用可能なデータから収集された1つまたは複数の統計量により、特徴ベクトルを生成することができる。IOD用の特徴ベクトルの要素のいくつかの例は、過去1秒間の平均光強度、過去1秒間の磁場の平均強度、過去1秒間の磁場強度の標準偏差、磁場ベクトルの方向、ジャイロスコープから測定された現在の角速度、時刻、近接センサの出力、ローカルな温度/湿度/圧力、平均加速度、加速度の標準偏差、および近傍の測候所からの平均温度/湿度/圧力の対数を含むことができる。概して、センサから、または遠隔サーバからの出力値、およびそのようなデータの分析結果(閾値分析、複素数データ処理などを含む)を、特徴として使用することができる。いくつかの例では、サーバから得られた測定値と、デバイスから得られた測定値との間の差を、特徴として使用することができる。
【００４４】
いくつかの実施形態では、特徴抽出に使用されたデバイスデータは、前に述べたセンサ180など、1つまたは複数のセンサからのセンサ読取り値を含むことができる。特徴抽出に使用されたデータはまた、図2で示されるように、サーバからのデータを含む他のソースを含むこともできる。サーバからのデータは、所与の時間点もしくは期間における気象状態など、ローカル状態に関する情報を含むことができる。サーバは、ネットワークからの気象サービス、ウェブページ、もしくはニュース記事に位置する、またはそこからデータを取得することができる。いくつかの実施形態では、気象関連データは、モバイルデバイスが位置している地理的エリア(たとえば、ZIPコード)に対して、サーバから取得することができる。モバイルデバイスが位置する地理的エリアは、数多くの手法を用いてモバイルデバイスにより検出することができる。たとえば、モバイルデバイスは、GPSセンサの読取り値からその位置を取得することもできる。別の例では、モバイルデバイスは、近傍のWi-FiホットスポットのIPアドレスに基づいてその位置を推定することができる。それが位置する地理的エリアに基づいて、モバイルデバイスは、ネットワークを介してサーバからそのエリアに関する気象情報を取り出すことができる。
【００４５】
所与の位置に関してサーバから取得された気象情報は、雲量、日没/日の出時間、温度(現在、その日の最小、最大)、湿度、気圧、花粉含有量、風速、風向、雨などの変数を含むことができる。気象状態の全体はまた、気象コードとして表現され得る。一例では、様々な気象状態を示すために、72個のコードを使用することができる。その例では、晴れ、ほとんど雲がない、適度の雨などは、別々のコードを有することができる。
【００４６】
ブロック220において、ブロック210で取得されたデータを用いて、訓練を行うことができる。訓練プロセスに対する入力は、たとえば、ブロック210の結論で得られた特徴ベクトルを含むことができる。ブロック220への入力はまた、特徴抽出ステップを受けていない、サーバなどの外部ソースからのデータを含むこともできる。さらにブロック220への入力は、グランドトゥルース(ground truth)情報、または訓練のためのグランドトゥルース情報プロキシを含むことができる。
【００４７】
訓練に使用されるグランドトゥルース情報は、デバイスの知られた屋内/屋外状態を表すことができる。たとえば、訓練中に、ユーザは、モバイルデバイスが屋内に位置するか、それとも屋外に位置するかに関するグランドトゥルース情報を入力することができる。いくつかの実施形態では、プロセス200は、開発サーバなど、モバイルデバイスから物理的に移動された場所で行うことができる。開発サーバにおいて、訓練モデルを開発する間、モバイルデバイス100と同様のセンサを備えたモバイルデバイスが、訓練用に使用され得る。開発された訓練済みモデルは、モバイルデバイス100のメモリに記憶することができる。いくつかの実施形態では、プロセス200は、モバイルデバイス100で行うことができる。そのような実施形態では、訓練済みモデルは、そのセンサから取得されたデータと、グランドトゥルース、および/またはグランドトゥルースプロキシを用いた外部で取得された情報とを用いて、モバイルデバイス100において開発することができる。グランドトゥルースプロキシについては、以下でさらに説明する。
【００４８】
いくつかの実施形態では、訓練は、ローカル状態の特定の値に対して別々に実施することができる。たとえば、訓練は、各気象コードに対して別々に実施することができる。一例として、訓練は、晴れの気象に対して、また曇りの気象に対して別々に実施することができる。
【００４９】
いくつかの実施形態では、訓練済みモデルは、モバイルデバイスがIODに使用されているとき、絶えず更新することができる。そのような実施形態では、モバイルデバイス上のセンサからのセンサ読取り値を、サーバからのデータとして取得された、ローカル状態に関する情報とともに使用して、モバイルデバイス100に常駐する訓練済みモデルを更新することができる。いくつかの実施形態では、訓練済みモデルを更新するために、グランドトゥルースプロキシを使用することができる。
【００５０】
グランドトゥルースプロキシは、十分な正確度で、モバイルデバイスが屋外にあるということを判定することのできるシナリオを表すことができる。たとえば、加速度計の読取り値を使用して、モバイルデバイスが高速で移動していることを検出し、それにより、モバイルデバイスは屋外にあるという推測を導くことができる。別の例では、モバイルデバイスが、10,000ルクスの読取り値など、環境センサから非常に高い値のルクスの読取り値を検出できた場合、それは屋外にある可能性が最も高い。さらなる例として、モバイルデバイスが、いくつかのGPS衛星を検出できた場合、それは屋外にある可能性が最も高い。使用中に、モバイルデバイス100は、グランドトゥルースプロキシが推論できる時間中に、様々な他のセンサの読取り値を取得し、そのセンサ読取り値を、更新されるべき訓練済みモデルへとフィードバックすることができる。同時に、いくつかの例では、ローカルな気象状態である、ローカル状態に関する情報を、訓練済みモデルを更新するための入力として、訓練済みモデルに入力することができる。ある意味では、モバイルデバイスからのデータは、その使用中に、「オンライン学習」に、また訓練済みモデルの更新に使用することができる。
【００５１】
グランドトゥルースプロキシのさらなる例は、モバイルデバイスの近傍におけるデバイスの存在の検出を含むことができる。たとえば、プリンタの信号として確認され得るBluetooth(登録商標)信号は、モバイルデバイスが、プリンタの近くに位置しており、したがって、屋内に位置する可能性の高いことを示唆することができる。他方で、車の信号として確認され得るBluetooth(登録商標)信号は、モバイルデバイスが車の近くに位置しており、したがって、屋外に位置している可能性の高いことを示唆することができる。モバイルデバイスの近くで複数のBluetooth(登録商標)デバイスを検出することは、モバイルデバイスが屋内にある可能性が高いことを示すことができる。ジオフェンシングアルゴリズムを使用してさらに、モバイルデバイスが、モール、建物、またはオフィスなどの特定の領域の内部にあり、したがって、屋内もしくは屋外に分類されるかどうかを判定することができる。
【００５２】
いくつかの実施形態では、プロセス200は、クラウドソーシングにより開発または更新することができる。そのような実施形態では、様々なモバイルデバイスからのセンサ読取り値およびデータを使用して、訓練済みIODモデルを開発または更新することができる。
【００５３】
プロセッサ200からの出力は、ローカル状態の特定の値に対する様々なIODモデルとすることができる。たとえば、ブロック220からの出力は、気象コードの各々の値に対して1つなど、複数のIODモデルとすることができる。IODモデルは、モバイルデバイスが屋内にある可能性を判定するために使用することができる。いくつかの実施形態では、IODモデルは、センサの読取り値の様々なレベルに対して、ローカル状態の特定の値に対する、モバイルデバイスが屋内にある確率を示す確率分布関数を含むことができる。したがって、確率分布関数を使用して、センサの読取り値の所与の値に対して、モバイルデバイスが屋内に位置する確率を判定することができる。
【００５４】
図3は、一実施形態に従って、モバイルデバイスを、屋内または屋外として分類するための訓練モデルの適用を示す簡略化された図である。ブロック310は、利用可能な訓練済みIODモデルを示す。ブロック310のIODモデルは、図2を参照して述べられたプロセス200など、訓練プロセスを用いて開発することができる。いくつかの訓練済みIODモデルを、いくつかの例では、ローカル状態の各値に対して1つ、利用可能である。
【００５５】
ブロック320において、デバイスから取得されたデータ、およびサーバから取得された外部データに対して、特徴抽出を実施することができる。ステップ320では、最も関連する予測変数もしくは変数のサブセットを選択して、特徴ベクトルを形成することができる。特徴ベクトルは、利用可能なデータから収集された1つまたは複数の統計量により生成され得る。IOD用の特徴ベクトルの要素のいくつかの例は、過去1秒間の平均光強度、過去1秒間の磁場の平均強度、過去1秒間の磁場強度の標準偏差、磁場ベクトルの方向、ジャイロスコープから測定された現在の角速度、時刻、近接センサの出力、ローカルな温度/湿度/圧力、平均加速度、加速度の標準偏差、および近傍の測候所からの平均温度/湿度/圧力の対数を含むことができる。概して、センサから、または遠隔サーバからの出力値、およびそのようなデータの分析結果(閾値分析、複素数データ処理などを含む)を、特徴として使用することができる。いくつかの例では、サーバから得られた測定値と、デバイスから得られた測定値との間の差を、特徴として使用することができる。いくつかの例では、主成分分析(PCA)、または線形判別分析(LDA)などの方法を、特徴抽出に適用することができる。
【００５６】
いくつかの実施形態では、特徴抽出に使用されたデバイスデータは、前に述べたセンサ180など、1つまたは複数のセンサからのセンサ読取り値を含むことができる。特徴抽出に使用されたデータはまた、図3で示されるように、サーバからのデータを含む他のソースを含むこともできる。サーバからのデータは、所与の時間点における気象状態など、ローカル状態に関する情報を含むことができる。サーバは、ネットワークからの気象サービス、ウェブページ、もしくはニュース記事に位置する、またはそこからデータを取得することができる。いくつかの実施形態では、気象関連データは、モバイルデバイスが位置している地理的エリア(たとえば、ZIPコード)に対して、サーバから取得することができる。モバイルデバイスが位置する地理的エリアは、数多くの手法を用いてモバイルデバイスにより検出することができる。たとえば、モバイルデバイスは、GPSセンサの読取り値からその位置を取得することもできる。別の例では、モバイルデバイスは、近傍のWi-FiホットスポットのIPアドレスに基づいてその位置を推定することができる。それが位置する地理的エリアに基づいて、モバイルデバイスは、ネットワークを介してサーバからそのエリアに関する気象情報を取り出すことができる。ローカル状態に関連するそのような情報は、センサ読取り値と同時に取得することができる。
【００５７】
ブロック330において、プロセス300は、モバイルデバイスを屋内または屋外に分類することを含む。ブロック310における複数の訓練モデルから、ローカル状態に関する情報に基づいて、関連するモデルを選択することができ、それを、ブロック330の入力として提供することができる。たとえば、サーバからのデータが、モバイルデバイスが位置するエリアにおける気象が晴れであると示す場合、晴れの気象に適用可能なIODモデルを選択することができる。さらなる例は、以下で述べられる。
【００５８】
分類への入力として提供されるデバイスデータは、1つまたは複数のセンサ読取り値を含むことができる。選択されたIODモデルを使用して、モバイルデバイスが、センサの読取り値の所与の値に対して、屋内にある確率を推定することができる。取得された確率に基づき、モバイルデバイスには、モバイルデバイスが、屋内にあると検出されたか、それとも屋外にあるかの「クラスラベル」を割り当てることができる。
【００５９】
図4は、一実施形態による屋内/屋外検出の例示的なプロセス400を示すフローチャートを示している。プロセス400は、IODエンジン190によって実施することができる。IODエンジン190は、プロセス400のステップを実施する1つまたは複数のプロセッサを備えることができる。いくつかの実施形態では、プロセッサ110は、IODエンジン190自体のプロセッサに代えて、またはそれに加えて、IODエンジン190に処理機能を提供することができる。
【００６０】
ブロック410において、プロセス400は、モバイルデバイスによりアクセス可能な1つまたは複数のセンサからの1つまたは複数のセンサ読取り値を取得することを含む。いくつかの実施形態では、IODエンジン190は、1組のセンサ180からの1つまたは複数のセンサから読取り値を取得することができる。センサ180は、モバイルデバイス100内に物理的に位置するように示されているが、いくつかの実施形態では、センサ180は、モバイルデバイスから物理的に取り外すことができる。たとえば、センサは、モバイルデバイス100に結合され得る装着型デバイスに物理的に位置することができる。
【００６１】
ブロック420において、プロセス400は、モバイルデバイスが位置するエリアに関連付けられたローカル状態に関する同時情報を取得することを含む。実装形態においては、IODエンジンは、そのような情報を取得することができる。いくつかの実施形態では、ステップ420は、ワイヤレスネットワークから情報を取り出すことを含むことができる。送受信機170など、IODエンジンに接続された通信装置を使用して、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネットなど、ネットワークを介してモバイルデバイスに接続されたサーバと通信することができる。ネットワークは、GSM(登録商標)、CDMA、LTEを含むセルラ方式などの技術、またはWi-Fi、Bluetooth(登録商標)、およびWiMaxなどの他の技術を利用することができる。ローカル状態の例は、一定の地理的エリアに対する気象情報、地理的エリアの大気中のガス組成情報、地理的エリアに関する日の出および/または日没時間を含むことができる。サーバは、通信社、測候所、研究所、大学などに属するサーバを含むことができる。いくつかの例では、ローカルエリアは、ZIPコードなどの郵便番号を表すことができる。
【００６２】
実装形態では、ローカル状態に関する情報は、モノのインターネットに接続されたデバイスから取得することができる。実装形態では、そのような情報は、クラウドソーシングにより、他のモバイルデバイスから取得することができる。クラウドソーシングモデルの下で、セルラーネットワークマネジャは、地理的エリア内に位置するいくつかのモバイルデバイスからのセンサ読取り値を追跡して、そのエリアに対する位置状態の値を推定することもできる。
【００６３】
ローカル状態に関連する情報を取得することは、センサ読取り値を取得することと同時に行うことができる。この文脈で同時にということは、センサ読取り値が取得される時間近くに存在する、または存在するものと予想されるローカル状態に関する情報を指すことができる。たとえば、ローカル状態に関する情報は、センサ読取り値を取得する数秒、数分、または数時間内に取り出すことができる。代替的に、ローカル状態に関する情報は、異なる時間に取得することができるが、ローカル状態は、センサ読取り値が得られた時間の数秒、数分、または数時間内に存在すると予想されるものである。たとえば、気象予報の内容(ローカル状態情報の例)が、センサ読取り値が取得された時間の数秒、数分、数時間内などに存在すると予想される気象状態を予測することができるが、気象予報それ自体は、センサ読取り値が取得される前の時間に取り出され得る。ローカル状態に関連する情報はまた、変化しやすい可能性があり、センサ読取り値が取得された時間期間を含む限られた時間期間に対してだけ有効であり得る。たとえば、気象情報が得られたとき、得られた情報の一部は、センサ読取り値が取得された時間期間にわたって、モバイルデバイスが位置するZIPコードの温度とすることができる。実装形態では、位置に対する複数の状態に関する情報を取得することができる。
【００６４】
ブロック430において、プロセス400は、複数の訓練済みモデルから、適用すべき屋内/屋外検出モデルを選択することを含む。その選択は、少なくとも部分的に、ローカル状態に関する同時情報に基づくことができる。実装形態では、ブロック430のステップは、モバイルデバイス100のIODエンジン190の構成要素によって実施することができる。データベース191は、プロセス200などのフローを用いて開発された複数の訓練済みIODモデルを記憶することができる。データベース191に記憶された訓練済みIODモデルの各々は、ローカル状態に関する情報の値に対して適用可能であり得る。実施形態では、ローカル状態に関する情報は、複数の可能な値へと分類することができる。
【００６５】
非限定的な例として、ローカル状態に関する情報は、気象状態を指すことができ、一例では、大気の湿度パーセントである。湿度パーセントは、3つの可能な値へと分類することができる、すなわち、低湿度、通常湿度、および高湿度である。3つの別々の訓練済みモデルを開発することができる、すなわち、低湿度用のもの、通常湿度用のもの、および高湿度用のものである。別の例では、各気象コード用に、別々の訓練済みモデルを開発することができる。実施形態では、ローカル状態に関する情報の値に適用可能なIODモデルが選択され得る。たとえば、得られた気象コードが晴れに対応する場合、晴れモデルを選択することができる。
【００６６】
いくつかの実施形態では、訓練済みモデルは、モバイルデバイスにおいて収集されるデータを用いて開発することができる。いくつかの実施形態では、訓練済みモデルは、モバイルデバイスにて収集されるデータを用いて更新することができる。いくつかの実施形態では、訓練済みモデルはまた、モバイルデバイスにて開発され得る。実施形態において、訓練済みモデルは、少なくとも部分的に、サーバにおいて開発することができる。
【００６７】
ブロック440において、プロセス400は、選択されたモデルへの入力としてセンサ読取り値を提供することを含む。いくつかの実装形態では、IODエンジン190は、センサ読取り値からのデータを備えることができる。例を参照して後で説明するように、選択されたIODモデルは、センサ読取り値の関数として、モバイルデバイスが屋内に位置する確率の確率分布関数を提供することができる。実装形態では、モバイルデバイスが屋内に位置する確率は、複数のセンサ読取り値、および/またはローカル状態に関する情報の関数として提供することができる。
【００６８】
ブロック450において、プロセス400は、モバイルデバイスのユーザが屋内にいる可能性を判定することを含む。そのような判定は、選択されたモデルに基づくことができる。たとえば、その可能性は、センサから得られた読取り値に対する確率を判定することにより、確率分布関数から計算することができる。他の実装形態では、センサから得られた読取り値は、IODモデルに入力される前に補正または操作することができる。実装形態では、パーセントまたは他の関数など、モバイルデバイスが屋内に位置する可能性を判定するために、他の手段を使用することができる。
【００６９】
モバイルデバイスが屋外に位置する確率は、条件付き確率、および確率統計理論を用いて判定することができる。例として、センサ読取り値としてALSからのルクス値、および位置状態に関する雲量情報を含む場合、モバイルデバイスが所与のルクス値および雲量に対して屋外にある確率は、屋外にある確率と、その特定のルクス値を得る確率と、モバイルデバイスが屋外にあると仮定して、その雲量に対してその特定のルクス値を得る確率とに関し、条件付き確率を用いて、次のように表現され得る。
【００７０】
P(屋外|ルクス、気象)=[P(屋外)×P(ルクス|屋外、気象)]/P(ルクス)、式中、屋外は、モバイルデバイスが屋外に位置することを表し、ルクスは、ALSセンサからの読取り値を表し、また気象は、雲量を表す。その例は、非限定的なものであり、いくつかのセンサ読取り値、およびローカル状態に関するいくつかの情報に適用可能であり得る。上記で示された例は、1つのセンサ読取り値、およびローカル状態に関する1つの情報に対して適用可能であるが、実装においては、複数のセンサ、および/またはローカル状態に関する複数の情報からのさらなる入力データを使用することができる。
【００７１】
例示的な上記の式において、式の右側の確率は、様々な手法を用いて推定することができる。たとえば、人が屋外に存在する確率は、その人の日々の活動に基づいて推定することができる。平日であり、勤務時間中には、屋外の確率は低い可能性がある。特定のルクス値の確率は、地理的位置(緯度)、時期などに基づいて推定することができる。条件付き確率に基づく上記の式を用いると、モバイルデバイスが、屋内に位置するか、それとも屋外に位置するかの判断を、機械学習問題として公式化することができる。屋内/屋外状態に対する判断は、確率を閾値と比較することに基づいて行うことができる。したがって、ルクス値が変化したときに、モバイルデバイスが屋内(または屋外)に位置する確率を示す確率分布関数を、晴れおよび曇りなど、雲の量の様々な値に対して開発することができる。
【００７２】
ブロック460において、プロセス400は、可能性に基づき、モバイルデバイスを屋内または屋外に分類することを含む。たとえば、一実装形態では、IOD分類器193は、センサ読取り値に対して選択されたIODモデルを用いて測定された確率が、0.5などの一定の数を超える場合、モバイルデバイスを屋内に位置するものとして分類することができる。別の例として、センサ読取り値の所与の値に対して、モバイルデバイスが屋内に位置する確率が、モバイルデバイスが屋外に位置する確率と比較され得る。モバイルデバイスは、比較に基づいて、屋内または屋外として分類することができる。他の実装形態では、分類は、デバイスの屋内/屋外状態の以前の判定など、判定される確率とは別のファクタに依存することができる。前の履歴を考慮に入れる分類は、図9を参照して以下で説明するものとする。
【００７３】
図5は、一実施形態による例示的なプロセス500を示すフローチャートを示している。ブロック510において、プロセス500は、複数の可能な値から選択された値として、取得されたローカル状態を表現することを含む。一例が前に提供されており、取得されたローカル状態は、大気の湿度を含む。ブロック520において、プロセス500は、特にローカル状態に関する複数の可能な値から選択された異なる値に対して、複数の訓練済みモデルからの各モデルを訓練することを含む。実装形態では、訓練は、サーバにて行うことができる。他の実装形態では、訓練は、モバイルデバイスにて行うことができる。
【００７４】
ブロック530において、プロセス500は、モバイルデバイスにおいて収集されたデータを用いて訓練済みモデルを更新することを含む。実装形態では、IODエンジン190のモデルトレーナエンジン192を、訓練済みモデルを更新するために使用することができる。訓練モデルを更新するためにデバイスデータを用いる方法の一例が、グランドトゥルースプロキシを使用し、図2を参照して以前に説明されている。更新されたモデルは、たとえば、データベース191になど、モバイルデバイス100に記憶することができる。代替的に、または加えて、更新されたモデルは、ネットワークを介してサーバに伝達され得る。モバイルデバイスからのデータを用いて、そのように連続的に学習することを、「オンライン学習」と呼ぶこともある。
【００７５】
IOD分類の例を、2種類のローカル状態、すなわち、日の出/日没からの時間と、気象コードとを用いて次に説明する。所与のエリアに対する日の出/日没時間は、一般に、様々な気象ネットワークにより利用可能になり、またモバイルデバイス100により、インターネットから取り出すことのできるデータである。同様に、気象コード(簡単化のため、晴れまたは曇り)はまた、一般に利用可能な気象データである。説明のために、環境光センサ(ALS)を、センサの例として使用する。しかし、当業者であれば、その例は、非限定的なものであることを意味しており、また本発明の実施形態は、ローカル状態に関する情報と、センサ読取り値とのいくつかの組合せを用いて実施され得ることを理解し、かつ認識されよう。
【００７６】
図6は、ALS読取り値と、日の出もしくは日没からの時間との関数として、所与のALS読取り値を有するサンプル数の3次元的グラフ表現である。X軸は、ALS読取り値を任意の単位で表している。それは、たとえば、ルクス値の対数、または輝度を示す任意の他の単位とすることができる。示されたスケールにおいて、9を超える値は、たとえば、明るい晴れの日で見出すことができる。Y軸は、日の出からの時間、または日没までの時間のいずれかを表す。説明を簡単にするために、Y軸は、以下の段落において、以降では、日没までの時間と呼ぶが、同様に日の出からの時間を表すこともできる。Z軸は、日没までの時間と、ALS読取り値との所与の組合せを示すサンプル数を表す。図6における棒が高くなればなるほど、日没までのその時間におけるALS読取り値の値を得る確率が高くなる。
【００７７】
図6で示された例から、昼と夜が等しいと仮定して、概して、日没から正午までの時間が大きくなるほど、より高いALS読取り値が取得されると結論付けることができる。示された例では、最も高いALS読取り値は、通常、日没から6時間に得られている。図6はまた、ALS読取り値の大部分の変化は、日没からほぼ1時間の、わずかな時間枠中に生ずることを示唆している。この時間期間中における、屋内/屋外検出は、ALS読取り値に基づくとき、高い誤り率を生ずる傾向があり得る。日没までの時間を、3つの別々の値へと分類することが有用である可能性がある。(i)日没から日没前の0.5時間、(ii)日没前の0.5時間から日没前の1時間、(iii)(日没前の1時間を超える)昼間であり、日没付近の短い時間期間に焦点を当てる。
【００７８】
日没までの時間に対する3つの値に基づき、別々のモデル:(i)、(ii)、および(iii)を、上記で述べた各値に対して生成することができる。3つのモデルの1つが、各時刻に対して適用可能であり得る。たとえば、屋内/屋外状態が、日没前の数分で判定される必要のある場合、モデル(i)が適用可能になるはずである。
【００７９】
図7は、日没までの3つの時間値に対するモバイルデバイスが屋内に位置する確率分布関数と、モバイルデバイスが屋外に位置する確率分布関数とを示している。日没までの時間は、実質的に時刻に対応する。
【００８０】
プロット700aは、昼間、すなわち、モデル(iii)に対応する、または日没から1時間を超えている。分布710aは、昼間にモバイルデバイスが屋内にある確率を、ALS読取り値の関数として示している。分布710aから明らかなように、ほぼ3.1〜3.2のALS読取り値は、屋内にある最も高い確率に対応している。屋内にある確率は、ALS読取り値のより高い値、およびより低い値に対しては、低下する。分布720aは、モバイルデバイスが屋外に位置する確率をALS読取り値の関数として表している。屋外に対する確率分布は、約6.5のALS読取り値でピークに達する。確率は、ALSのより高い読取り値、およびより低い読取り値に対して低下するが、屋内の場合よりもより緩やかである。
【００８１】
プロット700aで示すように、所与のモデルに対する所与のALS読取り値に対して、2つの確率が存在する、すなわち、モバイルデバイスが屋内に位置する1つの確率と、モバイルデバイスが屋外に位置する別の確率とである。その2つは、モバイルデバイスを屋内または屋外として分類するために、比較することができる。いくつかの実装形態では、モバイルデバイスを、単に、ALSのその読取り値に対する屋内の確率が、屋外の確率よりも高いことに基づいて、屋内として分類することもできる。他の実装形態では、屋内および屋外確率に加えて他のファクタを分類のために使用することができる。
【００８２】
プロット700bは、日没までの1時間と日没までの30分との間の時間期間に対応する(モデル(ii))。分布710bは、この時刻に対するALS読取り値の関数として、モバイルデバイスが屋内にある確率を表している。おそらく、屋内の照明は、太陽によって大幅に影響されないので、約3.1〜3.2のALS読取り値が再度、屋内にある最高の確率に対応している。屋内にある確率は、ALS読取り値のより高い値およびより低い値に対して低下する。分布720bは、モバイルデバイスが屋外に位置する確率をALS読取り値の関数として表している。屋外に対する確率分布は、約4.1のALS読取り値でピークに達する。確率は、ALSのより高い読取り値およびより低い読取り値に対して低下するが、屋内の場合よりも、より緩やかである。屋外の場合に対するピーク確率は、日没に近づくにつれて、低いALS読取り値へと大幅にシフトする。
【００８３】
プロット700cは、日没までの30分と、日没との間の時間期間に対応する(モデル(i))。分布710cは、モバイルデバイスが屋内にある確率を、この時刻に対するALS読取り値の関数として表している。約3.1〜3.2のALS読取り値はなお、屋内である最も高い確率に対応する。屋内にある確率は、ALS読取り値のより高い値およびより低い値に対して低下する。分布720cは、モバイルデバイスが屋外に位置する確率をALS読取り値の関数として表している。屋外に対する確率分布は、約3.1のALS読取り値でピークに達する。確率は、ALSのより高い読取り値およびより低い読取り値に対して低下するが、屋内の場合よりもより緩やかである。日没のすぐ近くでは、IOD検出、特にモバイルデバイスの屋外としての検出は、ALS読取り値に基づく場合、高い誤り率を生ずる傾向がある。モバイルデバイスが屋内および屋外にある確率は、ALS読取り値のほぼ同じ値でピークに達する。
【００８４】
いくつかの態様では、ALS読取り値はまた、気象コードなどの別のローカル状態により影響を受ける可能性がある。説明を簡単化するために、気象コードを、晴れまたは曇りとして分類することができるが、気象コードにはいくつかの値があり得る。日没までの時間を参照して上記で説明したモデルの各々は、晴れの気象に対して、また曇りの気象に対して開発され、改良され、または再分割され得る。
【００８５】
図8は、日没までの時間の1つの値に対する、晴れの気象と曇りの気象に対して、モバイルデバイスが屋内に位置する確率分布関数と、モバイルデバイスが屋外に位置する確率分布関数とを示している。プロット800aは、晴れの気象に対する、モバイルデバイスが屋内に位置する場合の確率分布(810a)と、モバイルデバイスが屋外に位置する場合の確率分布(830a)とを含む。プロット800bは、曇りの気象に対する、モバイルデバイスが屋内に位置する場合の確率分布(810b)と、モバイルデバイスが屋外に位置する場合の確率分布(830b)とを含む。
【００８６】
プロット800aおよび800bの比較は、ALS読取り値の所与の値(線820により示される)に対して、屋内および屋外確率は、適用されるモデルが「晴れ」モデルであるか、それとも「曇り」モデルであるかに基づいて異なる可能性がある。したがって、屋内または屋外としてモバイルデバイスを分類することは、選択されたモデルに依存するはずである。気象に関する情報が、ALS読取り値の取得と同時に得られる場合、適切なモデル(晴れ/曇り、および日没までの時間)を適用して、モバイルデバイスの屋内/屋外状態を推定することができる。
【００８７】
図9は、屋内/屋外判定において前の情報を使用する例のグラフ表現である。グラフ900aは、ALS読取り値が変化したとき、モバイルデバイスが屋内にある確率(陰影付き910aにより表される)、およびモバイルデバイスが屋外にある確率(陰影付き920aにより表される)の確率分布関数を、ヒストグラムとして示している。対応するプロット900bは、分布910b(屋内)、分布920b(屋外)を用いてX-Yプロットにおける確率を示している。プロット900bでは、Y軸は、曲線910bおよび920bに対して正規化されている。
【００８８】
940bと950bとの間のALS読取り値に対するものなど、プロット900bで示される線930bを囲む領域においては、モバイルデバイスの屋内/屋外状態の判定は、誤りとなりやすい。940bと950bとの間の領域においては、モバイルデバイスの判定される状態は、ALS読取り値の非常にわずかな変化に対して、屋内と屋外との間で切り替わる可能性がある。これらの頻繁な変化は、屋内と屋外との間でデバイスが急速に実際に物理的に移動することを表している可能性は少なく、これらのALS値と同様の屋内および屋外確率のアーティファクトである。
【００８９】
940bと950bとの間などの領域において、モバイルデバイスが屋内にあるかどうかを判定することは、デバイスの以前の屋内/屋外状態の判定にさらに基づくことができる。プロット900bで示す例では、デバイスが、かつて屋内として判定されていた場合、デバイスの状態は、ALS読取り値が線950bを横断するまで、屋内として分類することができる。ALS読取り値が、線950bにより示された値よりも高い場合、分類された状態は、ALS読取り値が、線940bにより示された値よりも低く変化するまで、屋外に留まることができる。このように、「ヒステリシス」効果をIODに組み込んで、状態間の誤った急速な切替わりを阻止することができる。
【００９０】
いくつかの実施形態を述べてきたが、本開示の趣旨を逸脱することなく、様々な変更形態、代替的な構成、および均等な形態を使用することができる。たとえば、いくつかの実施形態では、モバイルデバイス100以外のデバイスが、上記で論じた構成要素および/または機能のうちの1つまたは複数を含む、かつ/またはその他の形で提供することができ、したがって、本明細書で述べられた1つまたは複数の実施形態を実施することができる。
【００９１】
さらなる実施形態および/または代替実施形態では、上記の要素は、単により大きいシステムの構成要素とすることができ、その場合、他のルールが本発明の適用に優先する、またはその他の形で本発明の適用を修正することもできる。さらに、上記の要素が考慮される前に、その間に、またはその後に、いくつかのステップを行うことができる。したがって、上記の記述は、本開示の範囲を限定するものではない。
【符号の説明】
【００９２】
100  モバイルデバイス
110  プロセッサ
120  マイクロフォン
130  ディスプレイ
140  入力デバイス
150  スピーカ
155  カメラ
160  メモリ
170  送受信機
180  センサ
181  加速度計
182  ジャイロスコープ
183  気象センサ
184  磁力計
185  環境光センサ
186  GPS位置センサ
187  湿度センサ
188  ガスセンサ
190  屋内/屋外検出エンジン
191  データベース
192  モデルトレーナエンジン
193  屋内/屋外分類器、屋内/屋外分類エンジン
【図１】
2018536308.tif 000003
【図２】
2018536308.tif 000004
【図３】
2018536308.tif 000005
【図４】
2018536308.tif 000006
【図５】
2018536308.tif 000007
【図６】
2018536308.tif 000008
【図７】
2018536308.tif 000009
【図８】
2018536308.tif 000010
【図９】
2018536308.tif 000011
【国際調査報告】
2018536308.tif 000012
2018536308.tif 000013