2019年12月 7日

GPS不要の屋内ナビゲーション手法をR&Dした話

  • このエントリーをはてなブックマークに追加
Yahoo! JAPAN Advent Calendar 2019の7日目の記事です。一覧はこちら(外部リンク)

トップ画像

はじめまして。CTO室R&D部の鈴木と西と申します。よろしくお願い致します。

R&DとはResearch & Developmentの略で、Wikipediaによると

"研究開発(けんきゅうかいはつ、英語: Research and development、R&D)とは、特定の対象を調査して、基礎学問の研究や、目的に応じた応用研究の模索、将来的に発展する技術などの試験を行い、技術的な優位を得るための活動である。"

という意味だそうです。

私たちが所属する部はヤフーのさまざまなサービスが抱える課題や業界が注目する領域に対し、各メンバーの専門的見地から研究と開発を行い得られた手法や知見をサービスに還元することを目指しています。 今回われわれはその課題の一つである「屋内ナビゲーション」に対し、情報デザイン・Human Computer Interaction(HCI)を専門とする鈴木と、Computer Vision・Camera Calibrationを専門とする西とで議論を重ね、R&Dし生み出した新手法「SCAN」についてお話したいと思います。

背景

さて、みなさんは地下鉄構内や大型ショッピングセンターで道に迷った経験はないでしょうか?多くの地図アプリケーションではユーザーの現在地を取得するためにGPS(Global Positioning System, Global Positioning Satellite)などの衛星利用測位システムを用いています。しかし地下や屋内の空間ではこの人工衛星からの電波が受信しにくく、正確な現在地を出しにくいという課題があります。これに対しこれまでにさまざまなアプローチが取られてきました。

例えば、施設内に複数設置されたビーコンやWifi装置から現在地を割り出す手法や、施設内の地磁気の値を計測しそこから現在地を計測する手法があります。また二次元コードやRFIDからデータを読み取り現在地を取得する手法もあります。しかしこれらの手法は多くの場合コスト(お金、時間)が大きく、残念ながら導入例があまりないという現状があります。

これらに対し、私たちはインタラクションデザインとComputer Visionの知識をかけ合わせ、ユーザーが撮影した地図の写真上にユーザーの現在地を表示し続ける「SCAN」という手法を生み出しました。

SCANは既存の屋内地図をそのまま利用でき、また特別な装置を用いずに一般的なスマートフォン単体で完結できるシステムを目指しました。次の章ではそのSCANの仕組みについて簡単に紹介したいと思います。

SCANの仕組み

SCANは大きく下の図の様な流れで処理を行っています。

SCANの処理の流れ

順番に説明していきます。

  1. まずユーザーがSCANが搭載されたアプリケーションで構内図を撮影します。
  2. するとSCAN内部で撮影画像とリファレンスデータの特徴量マッチングが行われます。
  3. これによりどの対象を撮影したか判別できましたので、その対象に対しユーザーがどこから構内図を撮影したのかをCamera Calibrationによって算出します。
  4. ユーザーが撮影した画像は真正面から撮影される保証はありませんので真正面から撮ったかのように射影変換を行い、補正後の画像上に先程算出したユーザーの現在地をマッピングします。
  5. 以降はユーザーによる撮影地点からの相対的な移動量と方角をスマートフォンに搭載されている慣性計測装置(IMU)の値を用い計算し、連続的に地図上に反映を行うことでユーザーの現在地表示を実現しています。

説明がざっくりすぎましたので、特にユーザー位置算出の部分についてもう少し細かくお話します。

データの事前準備

先程しれっと出てきたリファレンスデータという言葉ですが、SCANは事前にリファレンスとなる構内地図画像の特徴量データと地図画像上の位置情報が必要です。以下に事前に必要なデータと処理についてご説明します。

データの事前準備

  1. まず屋内に設置されている屋内地図の画像を撮影します。
  2. 1で撮影した画像を真正面から撮ったかのように射影変換を行います。
  3. 続いて2の画像特徴を抽出し、2の画像上における撮影位置と地図設置位置の座標(x,y)のデータをセットに保存します。
  4. 位置補正用のランドマークデータも同様に処理を行います。
  5. 最後に移動量(meter)を画像上に反映するために、地図の実際のサイズ(meter)と画像上のサイズ(pixel)の比率を求めておきます。

要約すると、屋内地図やランドマークの撮影と位置情報の入力が必要、ということです。私たちが実際に行った事前準備に要した時間から推測すると、デパートの1フロア程度の広さであれば30分程度で完了できるのではないかと考えています。撮影には特殊な機材は必要なく、スマートフォンのカメラだけでデータ収集が可能です。 SCANはこれらのデータをリファレンスとして用い、ユーザーが撮影した写真から現在地の算出を行います。次にその算出方法についてご説明します。

ユーザー位置算出の仕組み

ユーザー位置算出の仕組み

  1. Camera Calibrationによって撮影対象とリファレンスデータを撮影した位置とユーザー位置、3者の相対的な位置関係を3次元空間上で求めます。
  2. 地図は2次元情報のため、それぞれの位置(座標)を地面に射影し、撮影対象までの距離の比を計算します。
  3. Camera Calibrationを行うことでカメラの光軸方向の計算もできるのでそれぞれの光軸のなす角度(ユーザーの向いている方向)を計算します。
  4. これで撮影対象に対するユーザーの位置している距離と方向が既知になったので、まずは距離を適用します。
  5. 最後に4をユーザーの向いている方向に回転させることでユーザー位置を算出します。

この仕組みはユーザーの自己位置を正確かつより簡単な操作で提供するために考案しました。また、通常ならばCamera Calibrationという技術には事前に対象物の3次元情報や多視点から撮影された画像が必要ですが、この仕組みを用いる場合、対象とする屋内地図やランドマークを1枚ずつ撮影していくだけで自己位置の計算が可能です。

今後の展望

プロトタイプの完成後、私たちは簡易な観察実験とインタビューを行いインタラクションデザインおよび技術的な評価分析を行いました。その結果、一般的な地図アプリケーションでの屋外ナビゲーションと体験上差がないことが示唆されました。これらの知見を論文にまとめ、2019年10月にHCI領域モバイル分野のトップカンファレンス(国際会議)である「MobileHCI 2019」でデモ展示発表を行ってきました。

展示風景

現地では世界各国から来た参加研究者からさまざまな意見をもらい大変有意義な議論が行えました。そして大変ありがたいことにデモ部門の最優秀賞にあたる「Best Demo Award」をいただきました。私たちの研究の新規性や有用性が確認でき、また期待されている部分や現状の課題を得ることができました。

SCANはまだ要素技術として生まれたばかりの状態です。サービスに導入し得る堅牢なシステムや、精度を上げるための画像処理アルゴリズムの改良、より柔軟なインタラクションデザインを実現するには課題が山積ですが、屋内で人が迷わなくなる一助となれるよう今後も研究開発を進めていきたいと思います。

おまけ

MobileHCIに投稿した論文はこちらからアクセスできますので、ご興味のある方はご覧いただければと思います。 https://research-lab.yahoo.co.jp/hci/20191001_suzuki.html

鈴木 健司

CTO室R&D デザイナー

西 紗記子

CTO室R&D エンジニア

Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

  • このエントリーをはてなブックマークに追加