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

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

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人大阪大学の特許一覧

特開2024-118225距離推定装置、距離推定方法及びプログラム
<>
  • 特開-距離推定装置、距離推定方法及びプログラム 図1
  • 特開-距離推定装置、距離推定方法及びプログラム 図2
  • 特開-距離推定装置、距離推定方法及びプログラム 図3
  • 特開-距離推定装置、距離推定方法及びプログラム 図4
  • 特開-距離推定装置、距離推定方法及びプログラム 図5
  • 特開-距離推定装置、距離推定方法及びプログラム 図6
  • 特開-距離推定装置、距離推定方法及びプログラム 図7
  • 特開-距離推定装置、距離推定方法及びプログラム 図8
  • 特開-距離推定装置、距離推定方法及びプログラム 図9
  • 特開-距離推定装置、距離推定方法及びプログラム 図10
  • 特開-距離推定装置、距離推定方法及びプログラム 図11
  • 特開-距離推定装置、距離推定方法及びプログラム 図12
  • 特開-距離推定装置、距離推定方法及びプログラム 図13
  • 特開-距離推定装置、距離推定方法及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118225
(43)【公開日】2024-08-30
(54)【発明の名称】距離推定装置、距離推定方法及びプログラム
(51)【国際特許分類】
   G01S 5/14 20060101AFI20240823BHJP
   H04W 64/00 20090101ALI20240823BHJP
   H04W 84/12 20090101ALI20240823BHJP
   H04W 88/18 20090101ALI20240823BHJP
   G06N 3/04 20230101ALN20240823BHJP
   G06N 3/0464 20230101ALN20240823BHJP
【FI】
G01S5/14
H04W64/00 140
H04W84/12
H04W88/18
G06N3/04 100
G06N3/0464
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023024546
(22)【出願日】2023-02-20
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】尾原 和也
(72)【発明者】
【氏名】岸野 泰恵
(72)【発明者】
【氏名】前川 卓也
【テーマコード(参考)】
5J062
5K067
【Fターム(参考)】
5J062BB05
5J062CC11
5J062FF01
5K067EE02
5K067EE10
5K067EE16
5K067JJ51
5K067LL11
(57)【要約】
【課題】Line graph等のグラフに対して単純にグラフ畳み込みを行っても、畳み込み演算の際に、どのRTT距離がどのアクセスポイントと通信端末間との距離に対応するのかの対応情報が保存されないため、正確に2つの通信端末間の距離の推定ができない。本開示は、Wi-Fiのアクセスポイントとの無線通信を行う2つの通信端末間の距離を、より正確に推定することを目的とする。
【解決手段】本開示では、RTTから得られたアクセスポイント群と2つの通信端末の距離情報から、2つの通信端末間の距離の情報を反映した情報を得ることができると期待される複数のグラフを構築し、これらに対してグラフニューラルネットワークを適用して2つの通信端末間の距離推定を行う。このとき、各グラフに対してグラフ畳み込みを行う際に、畳み込み層同士で情報交換を行うことにより、効果的に互いのグラフから得られる情報を相互利用する。
【選択図】図9
【特許請求の範囲】
【請求項1】
推定フェーズにおいて、Wi-Fiのアクセスポイントとの無線通信を行う第1の通信端末と第2の通信端末との間の距離を推定する距離推定装置であって、
前記アクセスポイントと第1の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報、及び前記アクセスポイントと第2の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報に基づいて、複数種類のグラフを作成するグラフ作成部と、
前記複数種類のグラフを入力して、前記距離を示す端末間距離情報を出力する学習済み機械学習モデルを用い、前記複数種類のグラフから前記距離を推定する推定部と、
前記推定された結果を示す前記端末間距離情報を出力する出力部と、
を有する距離推定装置。
【請求項2】
前記学習済み機械学習モデルはグラフ畳み込みニューラルネットワークである、請求項1に記載の距離推定装置。
【請求項3】
前記学習済み機械学習モデルは、
前記複数種類のグラフのそれぞれのグラフ畳み込み処理を行うことで各グラフに関する特徴ベクトルを抽出する複数のグラフ畳み込み層と、
前記複数種類のグラフのうち、他のグラフに関する特徴ベクトルと自身のグラフに関する特徴ベクトルを連結して、新たな自身の特徴ベクトルに変換する特徴量変換部と、
前記複数種類のグラフに関する変換後の新たな各特徴ベクトルに基づいて、前記端末間距離情報を出力する全結合層と、
を有する、請求項2に記載の距離推定装置。
【請求項4】
前記複数種類のグラフは、Device Location Graph、Observation Comparison Graph、Obstacle Detection Graph、及びPositional Embedding Graphのうち少なくとも2つである、請求項1乃至3のいずれか一項に記載の距離推定装置。
【請求項5】
推定フェーズにおいて、Wi-Fiのアクセスポイントとの無線通信を行う第1の通信端末と第2の通信端末との間の距離を推定する距離推定装置が実行する距離推定方法であって、
前記距離推定装置は、
前記アクセスポイントと第1の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報、及び前記アクセスポイントと第2の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報に基づいて、複数種類のグラフを作成するグラフ作成処理と、
前記複数種類のグラフを入力して、前記距離を示す端末間距離情報を出力する学習済み機械学習モデルを用い、前記複数種類のグラフから前記距離を推定する推定処理と、
前記推定された結果を示す前記端末間距離情報を出力する出力処理と、
を実行する距離推定方法。
【請求項6】
コンピュータに、請求項5に記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、Wi-Fiのアクセスポイントとの無線通信を行う2つの通信端末間の距離を推定する技術に関する
【背景技術】
【0002】
近年、無線ネットワークアクセスを提供するWi-Fiのアクセスポイントは、一般家庭、病院、駅等に広く普及しており、それに伴ってWi-Fiの電波情報を用いた屋内位置情報サービスに関する基礎的研究が数多く行われている。例えば、ある環境内に設置されたWi-Fiのアクセスポイントからの受信電波強度を用いて位置を推定する方法が数多く研究されている。
【0003】
位置情報の他にも、Wi-Fiの情報から提供可能なコンテキスト情報に関して多くの検討が行われており、本開示では、観測されたWi-Fiの電波情報を用いて、2つのモバイル端末間の物理的な距離を推定する手法に注目する。例えば、あるスマートフォンによって地点Aで信号強度ベクトルwiが観測されたとし、別のスマートフォンによって地点Bで信号強度ベクトルwjが観測されたとする。このとき、wiとwjを用いて地点Aと地点Bの間の物理的な距離を推定する。このような距離推定手法の応用には、コミュニティ(集団)の分析、目的地までの距離推定、店舗までの距離を用いた広告配信などが考えられる。
【0004】
Wi-Fiの信号強度を用いた距離推定の既存研究として、非特許文献1に開示の手法がある。ここで、非特許文献1の概要について説明する。
【0005】
非特許文献1では、主に2つの信号強度ベクトルwiと信号強度ベクトルwjから様々な距離指標(ユークリッド距離等)を計算し、それを2つの通信端末間の距離を推定するニューラルネットワークへの入力として用いていた。これは、wiとwjの距離が近ければ近いほど、それらが観測された2地点の物理的距離も近いだろうという考えに基づく。そのため、信号強度から推察されるアクセスポイント群と2つの通信端末の地理的関係性を距離推定に取り込めていなかった。また、非特許文献1の手法の特徴として、アクセスポイントと通信端末の間の障害物の存在を考慮している点にある。アクセスポイントからの電波信号は、通信端末との間に存在する障害物によって減衰するため、減衰を考慮しなければ、アクセスポイントと通信端末の正しい位置関係は得られない。非特許文献1の手法では、2.4GHzと5GHzの2種類の周波数帯を提供するアクセスポイントに着目し、それらの障害物に対する透過性の違いを用いて、アクセスポイントと通信端末間に障害物があるかどうかを推定するニューラルネットワークを構築していた。そして、そのニューラルネットワークの出力を、距離を推定するニューラルネットワークの入力としていた。すなわち、障害物を検出するニューラルネットワークと距離を推定するニューラルネットワークが分離しており、end-to-endで距離の推定が行えなかった。よって、非特許文献1の手法では、ニューラルネットワークによる深層学習を用いているにも関わらず、研究者が手で設計した特徴量に主に依存しており、アクセスポイントと端末の位置関係を、距離の推定に十分に活かせていなかった。
【0006】
一方、近年のWi-Fi技術の進展により、IEEE 802.11mcではアクセスポイントとスマートフォンなどのモバイルデバイスとの物理的距離をTOA(Time of Arrival)により計測する、Wi-Fi RTT(Round trip time:ラウンドトリップタイム)が導入された。RTTにより距離測位は、信号強度により計測するRSSI(Received Signal Strength Indicator)を用いたものに比べて正確であり、複数のアクセスポイントの位置が既知であれば、三辺測量などを用いてスマートフォンの位置を推定するために利用できる。非特許文献2では、RTTによって推定された距離、及び、アクセスポイント群と2つの端末からなるグラフを用いたグラフニューラルネットワークを用いた距離推定を行うことが開示されている。ここで、図13及び図14を用いて、非特許文献2の概要について説明する。
【0007】
非特許文献2に開示の手法では、RTTとグラフニューラルネットワークを用いた2つの通信端末間の距離を推定している。図13に示すようなアクセスポイント(AP)41~44と、通信端末(例えばスマートフォンSM)21,22をノードとするグラフを構築し、エッジの重みはRTTにより推定された距離としている。その後、このグラフを、図14に示すように、エッジをノードにノードをエッジに置き換えたグラフとして、Line graphに変換し、グラフニューラルネットワークによりグラフ畳み込みを行っている。一般的なグラフニューラルネットワークでは、特徴抽出の際にノードに格納された特徴に主に着目しているため、エッジに格納された特徴(重み)に着目した特徴抽出を行うために、エッジをノードに置き換えるLine graphに変換している。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Tomoya Nakatani, Takuya Maekawa, Masumi Shirakawa, and Takahiro Hara: Estimating The Physical Distance Between Two Locations With Wi-Fi Received Signal Strength Information Using Obstacle-aware Approach, Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies (IMWUT), Vol. 2, Issue 3, No. 130 (Sept. 2018).
【非特許文献2】Yuqiao Wang, Takuya Maekawa: Preliminary Investigation of Distance Estimation between Devices via Wi-Fi Round Trip Time, 情報処理学会 第76回ユビキタスコンピューティングシステム研究会.
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述のようなLine graph等のグラフに対して単純にグラフ畳み込みを行っても、畳み込み演算の際に、どのRTT距離がどのアクセスポイントと通信端末間との距離に対応するのかの対応情報が保存されないため、正確に2つの通信端末間の距離の推定(予測)ができないという課題があった。
【0010】
本開示は、上述の事情に鑑みてなされたもので、Wi-Fiのアクセスポイントとの無線通信を行う2つの通信端末間の距離を、より正確に推定することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、請求項1に係る発明は、推定フェーズにおいて、Wi-Fiのアクセスポイントとの無線通信を行う第1の通信端末と第2の通信端末との間の距離を推定する距離推定装置であって、前記アクセスポイントと第1の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報、及び前記アクセスポイントと第2の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報に基づいて、複数種類のグラフを作成するグラフ作成部と、前記複数種類のグラフを入力して、前記距離を示す端末間距離情報を出力する学習済み機械学習モデルを用い、前記複数種類のグラフから前記距離を推定する推定部と、前記推定された結果を示す前記端末間距離情報を出力する出力部と、
を有する距離推定装置である。
【発明の効果】
【0012】
以上説明したように本発明によれば、Wi-Fiのアクセスポイントとの無線通信を行う2つの通信端末間の距離を、より正確に推定することができるという効果を奏する。
【図面の簡単な説明】
【0013】
図1】本実施形態に係る通信システムの全体構成図である。
図2】本実施形態に係る距離推定装置の電気的なハードウェア構成図である。
図3】本実施形態に係る入力装置の電気的なハードウェア構成図である。
図4】学習フェーズにおける距離推定装置の機能構成図である。
図5】Device Location Graphの概念図である。
図6】Observation Comparison Graphの概念図である。
図7】Obstacle Detection Graphの概念図である。
図8】Positional Embedding Graphの概念図である。
図9】機械学習モデルの構成図である。
図10】推定フェーズにおける距離推定装置の機能構成図である。
図11】学習フェーズにおいて距離推定装置が実行する処理を示すフローチャートである。
図12】推定フェーズにおいて距離推定装置が実行する処理を示すフローチャートである。
図13】スマートフォンとアクセスポイントの位置関係を示すグラフ構造図である。
図14】エッジをノードに、ノードをエッジに置き換えてLine graphを得た状態を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を用いて本発明の実施形態を説明する。
【0015】
〔実施形態のシステム構成〕
まず、図1を用いて、本実施形態の通信システムの構成の概略について説明する。図1は、本実施形態に係る通信システムの全体構成図である。
【0016】
図1に示されているように、本実施形態の通信システム10は、距離推定装置30、及び入力装置50によって構築されている。入力装置50は、ユーザによって管理及び使用される。距離推定装置30及び入力装置50は、インターネット等の通信ネットワーク100を介して通信することができる。
【0017】
通信ネットワーク100には、通信事業者が管理及び(又は)運営しているISP(Internet Service Provider)ネットワーク等の専用のネットワークが含まれていてもよい。通信ネットワーク100の接続形態は、無線又は有線のいずれでも良い。
【0018】
距離推定装置30は、単数又は複数のコンピュータによって構成されている。距離推定装置30が複数のコンピュータによって構成されている場合には、「距離推定装置」と示しても良いし、「距離推定システム」と示しても良い。
【0019】
距離推定装置30は、入力装置50から、第1のRTT関連情報ri及び第2のRTT関連情報rj、並びに端末間距離情報dijを取得する。そして、距離推定装置30は、複数種類のグラフを作成し、複数種類のグラフと正解データとしての端末間距離情報dijとを関連付けた入力データを用いて機械学習モデル90aを機械学習する。更に、距離推定装置30は、学習済み機械学習モデル90bに、距離推定用の第1のRTT関連情報ri及び第2のRTT関連情報rjを入力して、2つの通信端末間の距離を推定する。
【0020】
なお、第1のRTT関連情報ri及び第2のRTT関連情報rjは、各アクセスポイントから取得した情報であり、入力装置50を介して取得されたり、距離推定装置30から直接入力されたりする。また、端末間距離情報dijは、ユーザが上述の学習環境下で実測した2つの通信端末間の距離を示した情報であり、入力装置50を介して取得されたり、距離推定装置30から直接入力されたりする。
【0021】
ここで、IEEE 802.11mc対応のRTTによる距離計測を提供するアクセスポイントが複数存在する環境を想定する。そして、環境内の2つの通信端末(スマートフォン等)が、それぞれのアクセスポイントからRTTを用いてアクセスポイントからの距離やそれに付随する情報を取得するとする。2つの通信端末のうち、第1の通信端末が受信した情報を、第1のRTT関連情報riとし、第2の通信端末が受信した情報を、第2のRTT関連情報rjとする。そして、距離推定装置30は、ri及びrjを用いて、2つの通信端末間の物理的な距離を推定する。但し、ri及びrjは異なる時刻に取得されたものであってもよい。また、ri及びrjは同じ通信端末によって異なる時刻に取得されたものであってもよい。
【0022】
riは、それぞれのアクセスポイントから得られたRTTに関する情報を含むセットであり、以下の通り定義される。
ri={ a1,i, a2,i,…, an,i,…}
an,iは、n番目のアクセスポイントからのRTTに関する情報であり、以下の(式1)の通り、計測された距離(distn,i)、RTTを用いて複数回距離計測を試みた際の標準偏差STD(stdn,i)、計測の成功率(Successn,i)、及び信号強度(RSSIn,i)の各パラメータが含まれる。
なお、STDはStandard Deviation(標準偏差)の略語である。
【0023】
an,i =[ distn,i, stdn,i, Successn,i, RSSIn,i]・・・(式1)
なお、rjも同様に以下の通り定義される。
rj={ a1,j, a2,j,…, an,j,…}
入力装置50は、コンピュータであり、図1では、一例としてノート型パソコンが示されている。図1では、ユーザが、入力装置50を操作する。学習フェーズにおいて、入力装置50は距離推定装置30に対して、第1のRTT関連情報ri及び第2のRTT関連情報rj、並びに端末間距離情報dijを送信する。また、推定フェーズにおいて、入力装置50は距離推定装置30に対して、第1のRTT関連情報ri及び第2のRTT関連情報rjを送信し、入力装置50から推定結果を示す端末間距離情報dijを受信する。
この通信品質をユーザ体感品質として定期的に距離推定装置30に送信する。
【0024】
〔ハードウェア構成〕
<距離推定装置のハードウェア構成>
次に、図2を用いて、距離推定装置30の電気的なハードウェア構成を説明する。図2は、距離推定装置の電気的なハードウェア構成図である。
【0025】
距離推定装置30は、図2に示されているように、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、SSD(Solid State Drive)304、外部機器接続I/F(Interface)305、ネットワークI/F306、メディアI/F309、及びバスライン310を備えている。
【0026】
これらのうち、CPU301は、距離推定装置30全体の動作を制御する。ROM302は、IPL(Initial Program Loader)等のCPU301の駆動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。
【0027】
SSD304は、CPU301の制御に従って各種データの読み出し又は書き込みを行う。なお、SDD304の代わりに、HDD(Hard Disk Drive)を用いても良い。
【0028】
外部機器接続I/F305は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、ディスプレイ、スピーカ、キーボード、マウス、USB(Universal Serial Bus)メモリ、及びプリンタ等である。
【0029】
ネットワークI/F306は、通信ネットワーク100を介してデータ通信をするためのインターフェースである。
【0030】
メディアI/F309は、フラッシュメモリ等の記録メディア309mに対するデータの読み出し又は書き込み(記憶)を制御する。記録メディア309mには、DVD(Digital Versatile Disc)やBlu-ray Disc(登録商標)等も含まれる。
【0031】
バスライン310は、図2に示されているCPU301等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0032】
<入力装置のハードウェア構成>
次に、図3を用いて、入力装置50の電気的なハードウェア構成を説明する。図3は、入力装置の電気的なハードウェア構成図である。
【0033】
入力装置50は、コンピュータとして、図3に示されているように、CPU501、ROM502、RAM503、SSD504、外部機器接続I/F(Interface)505、ネットワークI/F506、ディスプレイ507、ポインティングデバイス508、メディアI/F509、及びバスライン510を備えている。
【0034】
これらのうち、CPU501は、入力装置50全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。
【0035】
SSD504は、CPU501の制御に従って各種データの読み出し又は書き込みを行う。なお、SSD504の代わりに、HDD(Hard Disk Drive)を用いてもよい。
【0036】
外部機器接続I/F505は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、ディスプレイ、スピーカ、キーボード、マウス、USBメモリ、及びプリンタ等である。
【0037】
ネットワークI/F506は、通信ネットワーク100を介してデータ通信をするためのインターフェースである。
【0038】
ディスプレイ507は、各種画像を表示する液晶や有機EL(Electro Luminescence)などの表示手段の一種である。
【0039】
ポインティングデバイス508は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。なお、ユーザがキーボードを使う場合は、ポインティングデバイス508の機能をOFFにしてもよい。
【0040】
メディアI/F509は、フラッシュメモリ等の記録メディア509mに対するデータの読み出し又は書き込み(記憶)を制御する。記録メディア509mには、DVDやBlu-ray Disc(登録商標)等も含まれる。
【0041】
バスライン510は、図4に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0042】
〔距離推定装置の機能構成〕
続いて、本実施形態に係る距離推定装置30の学習フェーズ及び推定(予測)フェーズにおける機能構成について説明する。
【0043】
<学習フェーズの機能構成>
図4は、学習フェーズにおける距離推定装置の機能構成図である。学習フェーズでは、様々な学習環境内で取得した第1のRTT関連情報ri及び第2のRTT関連情rj、並びに2つの通信端末間の物理的距離である端末間距離情報di,jのペア群から、距離を推定するニューラルネットワークである機械学習モデル90aを学習する。
【0044】
図4に示すように、距離推定装置30は、取得部31、グラフ作成部33、及び機械学習部35を有する。これら各部は、プログラムに基づき図2のCPU301による命令によって実現される機能である。また、RAM303又はSSD304には、機械学習モデル90aが記憶されている。
【0045】
取得部31は、入力装置50から、入力情報(第1のRTT関連情報ri及び第2のRTT関連情報rj、並びに端末間距離情報dij)取得する。なお、取得部は、「入力部」と示しても良く、距離推定装置30は入力装置50からではなく、ユーザにより入力情報を直接入力してもよい。
【0046】
グラフ作成部33は、取得部31によって取得された第1のRTT関連情報ri及び第2のRTT関連情報rjに基づいて、距離推定に有用と考えられる複数種類のグラフを作成する。
【0047】
ここで、複数種類のグラフについて詳細に説明する。ここでは、4種類のグラフを説明するが、これらに限るものではない。
【0048】
(1)Device Location Graph
図5は、Device Location Graphの概念図である。
【0049】
Device Location Graphは、2つの通信端末及びその周辺に存在するアクセスポイントの位置関係を記述し、それらの幾何的関係から端末間の距離を推定するために用いる。まず、グラフ作成部33は、図5の左側に示すように2つの通信端末21,22とアクセスポイント群(41~44)からなるグラフを作成する。このグラフでは、エッジの重みがRTTにより計測された距離に対応するが、上述したように、このようなグラフをそのまま用いてグラフニューラルネットワークにより距離推定を行うことは難しい。そこで、グラフ作成部33は、図5の左側のグラフから図5の右側に示すようなグラフへと変更し、グラフニューラルネットワークの入力に用いる。このグラフでは、例えば、通信端末21を表すノードSM21とアクセスポイント41を表すAP41との間に仮想的なノード(図5内のノードV61a)を導入し、そのノードV61aが保持する特徴ベクトルは上述のan,iに対応する。このようにして、an,iに対応する他のノードV61b,V62a,V62b,V63a,V63b,V64a,V64bも導入される。
【0050】
ただし、通信端末21,22に対応するノードSM21,SM22の特徴ベクトルの要素は全て0とする。また、アクセスポイントに対応するノードは、このグラフでは用いない。
【0051】
図5のグラフは、後述のニューラルネットワーク内のグラフ畳み込み層91a,93a,95aによって処理され、各ノードの特徴ベクトルが更新されて行く。最終のグラフ畳み込み層95aによって畳み込み処理が行われた後、全結合層96によって、様々な距離指標(ユークリッド距離やコサイン類似度など)に基づき、各通信端末に対応するノードの特徴ベクトルf1とf2の距離が計算され、2つの通信端末間の距離が推定される。
【0052】
(2)Observation Comparison Graph
図6は、Observation Comparison Graphの概念図である。
【0053】
Observation Comparison Graphは、第1のRTT関連情報ri及び第2のRTT関連情報rjに含まれるRTT距離の差異に関する特徴を抽出する。非特許文献1では、信号強度ベクトルwi,wjのベクトル間距離は、2つの通信端末間の距離に比例関係にあるという考えに基づき、ベクトル間の距離を様々な距離指標に基づき計算していた。このような考えに基づき、Observation Comparison Graphは、第1のRTT関連情報ri及び第2のRTT関連情報rjの差異に関する特徴を抽出するよう設計されている。
【0054】
図6に示すように、Observation Comparison Graphは、スター型のグラフであり、中心のノードは2つの通信端末21,22のノードSM21,SM22を代表するノードSM20である。代表の通信端末を表すノードSM20にアクセスポイント41~44を表す各ノードAP41~AP44が接続されている。各ノードAP41,AP42,AP43,AP44は、特徴ベクトルとして、通信端末21及び通信端末22とのRTT距離の値を持つ。ただし、代表の通信端末20を表すノードSM20の特徴ベクトルの要素は全て0とする。
【0055】
図6のグラフは、後述の畳み込み層91b,93b,95bによって処理され、全結合層96によって各アクセスポイントでの計測値(RTT距離)の差異がまず計算された後、それらを集約して全体的な差異を獲得するような計算が行われ、2つの通信端末間の距離が推定される。
【0056】
(3)Obstacle Detection Graph
図7は、Obstacle Detection Graphの概念図である。
【0057】
2つの通信端末間に壁などの障害物が存在すると、それぞれの通信端末と、あるアクセスポイントとの間の計測距離が実際の距離より大きくなってしまうことがあり、2つの通信端末間の距離推定が正しく行えない。例えば、通信端末21とアクセスポイント41は同じ部屋に存在し、通信端末22のみが他の部屋に存在するとする。すなわち、通信端末21とアクセスポイント41との間には壁が存在せず、通信端末22とアクセスポイント41との間には壁が存在するため、通信端末22のノードSM22とアクセスポイント41のノードAP41との間の距離は実測値より長くなってしまう。我々の事前実験では、障害物が存在するとRTTの計測が不安定になり、上述のSTDの値が大きくなることが明らかになった。そこで、我々は、STDを用いて2つの通信端末間に障害物が存在するか否かを示す障害物情報を潜在表現として獲得するためのObstacle Detection Graphを構築した。
【0058】
図7に示すように、Obstacle Detection Graphの中心のノードSM20は、2つの通信端末21,22を代表する通信端末20を表すノードである。そして、ノードSM20にアクセスポイント41~44を表すノードAP41~AP44が接続されている。さらにノードAP41には、各通信端末21,22の観測データ(STDを含むan,i)を特徴ベクトルとして保持するノードOD81a,OD81bが接続されている。同様に、他のノードAP42,AP43,AP44にも、各通信端末21,22の観測データ(STDを含むan,i)を特徴ベクトルとして保持する各ノードOD82a,OD82b;OD83a,OD83b;OD84a,OD84bが接続されている。これにより、例えばアクセスポイント41と各通信端末21,22の間に障害物が存在するか否かを示す障害物情報を得ることができ、代表の通信端末20を表すノードSM20では、通信端末21,22間に障害物が存在するか否かを示す障害物情報が得られる。
【0059】
機械学習部35は、グラフ作成部33によって作成された複数種類のグラフと、取得部31によって取得された正解データとしての端末間距離情報dijを関連付けて入力データ(学習データ)とし、機械学習モデル90aに対して機械学習を行う。
【0060】
また、機械学習部35は、機械学習モデル90aを機械学習させることで、2つの通信端末間の距離を推定して出力データとするための学習済み機械学習モデル90bを生成する。
【0061】
(4)Positional Embedding Graph
図8は、Positional Embedding Graphの概念図である。
【0062】
Positional Embedding Graphは、各アクセスポイントの位置情報を利用するために用いる。このグラフでは、2つの通信端末21,22にそれぞれ対応するノードSM21,SM22を用いる。図8のグラフは、後述のニューラルネットワーク内のグラフ畳み込み層91d1によって処理され、各アクセスポイント41~44のノードAP41~AP44には、各アクセスポイント41~44と各通信端末21,22との間のRTT距離から求められた各アクセスポイント41~44の位置情報が埋め込まれる。そして、各アクセスポイント41~44のノードAP41~AP44に埋め込まれた位置情報は、グラフ畳み込み層91d2によってそれぞれの通信端末21,22のノードSM21,SM22に集約される。集約された位置情報を通信端末21,22の間で比較することで、2台の通信端末21,22の間の物理的な距離が推定される。
【0063】
Positional Embedding Graphでは、アクセスポイントの基準行列と通信端末の基準行列の2種類の隣接行列を用いる。アクセスポイントの基準行列は、アクセスポイントの位置情報を埋め込むために用いる。アクセスポイントと通信端末との間のRTT距離は計測可能であるが、アクセスポイントの位置情報(座標や相互の相対距離など)は未知であるため、RTT距離からアクセスポイントの位置情報が推定される。通信端末の基準行列は、アクセスポイントのノードに埋め込まれた位置情報とRTT距離から、通信端末の位置情報を推定するために用いる。
【0064】
隣接行列の成分である各エッジの重みは(式2)で計算される。ここでdi,jは端末i, j間のRTT距離である。
【0065】
ei,j=(d2 i,1+ d2 i,2 +…d2 i,n)/ d2 i,j・・・(式2)
そして、Σj ei,j=1となるように正規化が行われる。
【0066】
アクセスポイントの基準行列において、(式2)のnはi番目のアクセスポイントに接続されている通信端末の数であり、jは通信端末の識別子である。本手法においてはn=2である。エッジの重みはアクセスポイントに近い通信端末ほど大きくなる。これにより、他の通信端末との相対距離を考慮しながら、グラフ畳み込み層によってアクセスポイントの位置情報を埋め込むことができる。
【0067】
通信端末の基準行列においては、(式2)のnはi番目の通信端末で観測できるアクセスポイントの数であり、jはアクセスポイントの識別子である。エッジの重みは通信端末に近いアクセスポイントほど大きくなる。グラフ畳み込み層が隣接するアクセスポイントのノードからの位置情報を集約することで、通信端末のノードの位置情報を得ることができる。
【0068】
Positional Embedding Graphでは、アクセスポイントのノードの初期特徴ベクトルとして、各通信端末とのRTT距離を用いる。そして、グラフ畳み込み層91d1を用いて、この特徴ベクトルとアクセスポイントの基準行列から、各アクセスポイントのノードの位置埋め込み情報を取得する。そして、グラフ畳み込み層91d2を用いて、アクセスポイントのノードの位置埋め込み情報と通信端末の基準行列から2つの通信端末のノードに位置情報を集約する。最後に、コサイン類似度やJaccard類似度などのさまざまな距離指標を用いて、2つの通信端末ノード間の位置情報の差が計算される。
【0069】
(機械学習モデルの構成)
続いて、図9を用いて、機械学習モデル90aの構成を説明する。図9は、機械学習モデルの構成図である。
【0070】
機械学習モデル90aは、グラフ畳み込みニューラルネットワークであり、各グラフ用の複数のグラフ畳み込み層(GCN Layer)91a,91b,91c,91d1,91d2、特徴量変換部(Feature Exchange)92、各グラフ用の複数のグラフ畳み込み層93a,93b,93c,93d、特徴量変換部94、各グラフ用の複数のグラフ畳み込み層95a,95b,95c,95d、及び全結合層(Fully Connected Layer)によって順に処理されるように構成されている。
【0071】
グラフ畳み込み層(GCN Layer)91a,91b,91c,91d1,91d2は、上述の複数種類のグラフを入力とし、グラフ畳み込み処理により、各グラフの特徴量(特徴ベクトル)を抽出する。
【0072】
特徴量変換部92は、それぞれの異なる情報を抽出するグラフ間で情報交換を行って、2つの通信端末間の距離に関する潜在表現の獲得を補助することで、効果的に互いに各グラフから得られる情報を相互利用する。具体的には、特徴量変換部92は、他のグラフの通信端末を表すノードの特徴ベクトル(例えばグラフ畳み込み層91b,91bからの特徴ベクトル)と、自身の通信端末を表す特徴ベクトル(例えばグラフ畳み込み層91aからの特徴ベクトル)を連結することで、新たな自身の特徴ベクトルに変化する。
【0073】
また、グラフ畳み込み層93a,93b,93c,93dは、特徴量変換部92によって出力された各特徴ベクトルを更にグラフ畳み込み処理する。更に、特徴量変換部94は、特徴量変換部94と同様に、それぞれの異なる情報を抽出するグラフ間で情報交換して、特徴ベクトルを結合する。
【0074】
また、グラフ畳み込み層95a,95b,95c,95dは、特徴量変換部94によって出力された各特徴ベクトルを更にグラフ畳み込み処理する。
【0075】
なお、図9では、4つのグラフが用いられているが、少なくとも2つのグラフが用いられていればよい。また、3層のグラフ畳み込み層91a,93a,95a等と、これらの間に2つの特徴量変換部92,94が構成されているが、グラフ畳み込み層は2層でも4層以上であってもよい。また、これに伴い、特徴量変換部は1つでも3つ以上であってもよい。
【0076】
全結合層96は、元の特徴ベクトルのサイズに圧縮した後、自身の通信端末を表す特徴ベクトルに上書きする。このとき、Device Location Graphの通信端末を表す特徴ベクトルは、上述したように、様々な距離指標で計算した距離のベクトルとする。またDevice Location Graphに関しては、特徴ベクトルの上書きは行わない。代表の通信端末を表す単一のノードが存在しないためである。
【0077】
これにより、機械学習部35は、2つの通信端末間の物理的距離の推定値と正解値の誤差(mean squared error)を最小化するようにback propagationにより学習を行う。ただし、Obstacle Detection Graph(図7参照)を処理するグラフ畳み込み層91c,93c,95cの学習は、学習環境のフロアマップから得られる障害物の存在の情報を用いて事前に行ってもよい。その場合は、最終のグラフ畳み込み層95cの後に、障害物の有無を出力する出力層を追加する。事前学習の終了後は、その出力層を破棄し、グラフ畳み込み層のパラメータを本学習時の初期値として利用する。
【0078】
<推定フェーズの機能構成>
図10は、推定フェーズにおける距離推定装置の機能構成図である。
【0079】
図10に示すように、距離推定装置30は、取得部31、グラフ作成部33、推定部37、及び出力部39を有する。これら各部は、プログラムに基づき図2のCPU301による命令によって実現される機能である。また、RAM303又はSSD304には、学習済み機械学習モデル90bが記憶されている。なお、学習フェーズにおける機能構成と同様の機能構成については、同一の符号を付して説明を省略する。また、学習済み機械学習モデル90bは機械学習モデル90aと同様の構成であるため、説明を省略する。
【0080】
推定部37は、学習済み機械学習モデル90bを用い、グラフ作成部33によって作成された複数種類のグラフに基づいて、2つの通信端末間の距離を推定する。
【0081】
出力部39は、推定部37によって推定された距離を示す端末間距離情報dijを、距離推定装置30から出力する。この出力する例としては、図2の外部機器接続I/F305に接続されたディスプレイに表示させる場合、ネットワークI/F306を介して入力装置50等の外部装置に送信する場合が挙げられる。
【0082】
〔距離推定装置の処理又は動作〕
続いて、図11及び図12を用いて、距離推定装置30の学習フェーズ及び推定フェーズにおける処理又は動作について説明する。
【0083】
<学習フェーズにおける処理又は動作>
図11は、学習フェーズにおいて距離推定装置が実行する処理又は動作を示すフローチャートである。
【0084】
S11:取得部31は、入力装置50から、第1のRTT関連情報ri及び第2のRTT関連情報rj、並びに端末間距離情報dijを取得する。
【0085】
S12:グラフ作成部33は、第1のRTT関連情報ri及び第2のRTT関連情報rjに基づいて、複数種類のグラフを作成する。
【0086】
S13:機械学習部35は、複数種類のグラフ、及び端末管理距離情報dijを関連付けて、機械学習モデル90aを機械学習させる。
【0087】
距離推定装置30は、以上のステップS11~S13を繰り返すことで、機械学習モデル90aの機械学習を完成させる。
【0088】
<推定フェーズにおける処理又は動作>
図12は、推定フェーズにおいて距離推定装置が実行する処理又は動作を示すフローチャートである。
【0089】
S21:取得部31は、入力装置50から、第1のRTT関連情報ri及び第2のRTT関連情報rjを取得する。
【0090】
S22:グラフ作成部33は、第1のRTT関連情報ri及び第2のRTT関連情報rjに基づいて、複数種類のグラフを作成する。
【0091】
S23:推定部37は、学習済み機械学習モデル90bを用い、処理S22で作成された複数種類のグラフに基づいて、2つの通信端末間の距離を推定する。
【0092】
S24:出力部39は、推定された距離を示す端末間距離情報を出力する。
【0093】
〔実施形態の主な効果〕
以上のように、本実施形態によれば、RTTから得られたアクセスポイント群と2つの通信端末の距離情報から、2つの通信端末間の距離の情報を反映した情報を得ることができると期待される複数のグラフを構築し、これらに対してグラフニューラルネットワークを適用して2つの通信端末間の距離推定を行う。このとき、各グラフに対してグラフ畳み込みを行う際に、畳み込み層同士で情報交換を行うことにより、効果的に互いのグラフから得られる情報を相互利用する。これにより、Wi-Fiのアクセスポイントとの無線通信を行う2つの通信端末間の距離を、より正確に推定することができるという効果を奏する。
【0094】
〔補足〕
本発明は上述の実施形態に限定されるものではなく、例えば、以下に示すような構成又は処理(動作)であってもよい。
【0095】
(1)距離推定装置30はコンピュータとプログラムによっても実現できるが、このプログラムを(非一時的)記録媒体に記録することも、インターネット等の通信ネットワーク100を介して提供することも可能である。
【0096】
(2)上記実施形態では、入力装置50の一例としてスマートフォンが示されているが、これに限るものではなく、例えば、ノードPC、タブレット端末、スマートウォッチ、通信可能なカメラ等であってもよい。
【0097】
(3)プロセッサとしてのCPU301,501は、それぞれ単一であっても複数であってもよい。
【0098】
〔付記項〕
上述の実施形態には、以下に示すような内容としても表すことができる。
【0099】
〔付記項1〕
推定フェーズにおいて、Wi-Fiのアクセスポイントとの無線通信を行う第1の通信端末と第2の通信端末との間の距離を推定するプロセッサを有する距離推定装置であって、
前記プロセッサは、
前記アクセスポイントと第1の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報、及び前記アクセスポイントと第2の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報に基づいて、複数種類のグラフを作成し、
前記複数種類のグラフを入力して、前記距離を示す端末間距離情報を出力する学習済み機械学習モデルを用い、前記複数種類のグラフから前記距離を推定し、
前記推定された結果を示す前記端末間距離情報を出力する、
距離推定装置。
【0100】
〔付記項2〕
前記学習済み機械学習モデルはグラフ畳み込みニューラルネットワークである、付記項1に記載の距離推定装置。
【0101】
〔付記項3〕
前記学習済み機械学習モデルは、
前記複数種類のグラフのそれぞれのグラフ畳み込み処理を行うことで各グラフに関する特徴ベクトルを抽出する複数のグラフ畳み込み層と、
前記複数種類のグラフのうち、他のグラフに関する特徴ベクトルと自身のグラフに関する特徴ベクトルを連結して、新たな自身の特徴ベクトルに変換する特徴量変換部と、
前記複数種類のグラフに関する変換後の新たな各特徴ベクトルに基づいて、前記端末間距離情報を出力する全結合層と、
を有する、付記項2に記載の距離推定装置。
【0102】
〔付記項4〕
前記複数種類のグラフは、Device Location Graph、Observation Comparison Graph、Obstacle Detection Graph、及びPositional Embedding Graphのうち少なくとも2つである、付記項1乃至3のいずれか一項に記載の距離推定装置。
【0103】
〔付記項5〕
推定フェーズにおいて、Wi-Fiのアクセスポイントとの無線通信を行う第1の通信端末と第2の通信端末との間の距離を推定する距離推定装置が実行する距離推定方法であって、
前記距離推定装置は、
前記アクセスポイントと第1の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報、及び前記アクセスポイントと第2の通信端末におけるラウンドトリップタイムに関する第1のRTT関連情報に基づいて、複数種類のグラフを作成するグラフ作成処理と、
前記複数種類のグラフを入力して、前記距離を示す端末間距離情報を出力する学習済み機械学習モデルを用い、前記複数種類のグラフから前記距離を推定する推定処理と、
前記推定された結果を示す前記端末間距離情報を出力する出力処理と、
を実行する距離推定方法。
【0104】
〔付記項6〕
コンピュータに、付記項5に記載の方法を実行させるプログラムを記録した非一時的記録媒体。
【符号の説明】
【0105】
10 通信システム
30 距離推定装置
50 入力装置
30a 機械学習モデル
90b 学習済み機械学習モデル
31 取得部(入力部)
33 グラフ作成部
35 機械学習部
37 推定部
39 出力部
91a,91b,91c,91d1,91d2,93a,93b,93c,93d,95a,95b,95c,95d グラフ畳み込み層
92,94 特徴量変換部
96 全結合層
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14