[dl輪読会] deepnav: learning to navigate large cities

39
DEEP LEARNING JP [DL Papers] DeepNav: Learning to Navigate Large Cities (CVPR2017) Masashi Yokota, Nakayama Lab http://deeplearning.jp/

Upload: deep-learning-jp

Post on 22-Jan-2018

377 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DEEP LEARNING JP

[DL Papers]

DeepNav: Learning to Navigate Large Cities (CVPR2017)

Masashi Yokota, Nakayama Lab

http://deeplearning.jp/

Page 2: [DL輪読会] DeepNav: Learning to Navigate Large Cities

書誌情報

• Authers: Samarth Brahmbhatt, James Hays

• Conference: CVPR 2017

• 選定理由:不動産系(BtoB)で起業しているので都市構造を学習するという視点がすごい好きだった。

2

Page 3: [DL輪読会] DeepNav: Learning to Navigate Large Cities

3

コンビニがどこに多くあるか知っていますか?

Page 4: [DL輪読会] DeepNav: Learning to Navigate Large Cities

概要

• コンビニどこにある?

–主要幹線道路

–学校、オフィス周辺

–バス停

–駅

4

なんで??

人が多いから!!

Page 5: [DL輪読会] DeepNav: Learning to Navigate Large Cities

5

名古屋駅の最寄りのUFJへの行き方はわかりますか?

Page 6: [DL輪読会] DeepNav: Learning to Navigate Large Cities

概要

• 名古屋出身の自分でも分からない….でも、ググらなくても、なんとなく探すことは可能!

–人通りの多いところへ行ってみる

–大通りへ行ってみる

• 上記の事ができるのは、なんとなく銀行がどこにありそうか予測できるから。

– この論文で習得したい事!

6

構造物の建設場所には、ある程度規則性がある。この規則性が分かるようになれば、初めての場所でもどこに何があるのか予測できるはず。

Page 7: [DL輪読会] DeepNav: Learning to Navigate Large Cities

何が嬉しい?

• 地理

– GPSの届かない場所でのナビゲーション

• 僻地、地下道、電波の届きにくい高層ビル群 etc

• 屋内

–家庭内ロボット

• 部屋の配置傾向を知っていれば再学習無し(or少ないデータでの再学習)で運用可能。– 風呂場の近くにはトイレがあるetc

7

Page 8: [DL輪読会] DeepNav: Learning to Navigate Large Cities

この論文において解くタスク

• Street Viewで取得した複数の都市データで都市構造を学習–全てのデータ点で5種類の目的地(銀行、学校etc)の場所を学習

• 目的地までの距離はどれくらいか

• どの方向に何があるのか

• 見ず知らずの場所で指定された目的地へ行けるかテスト–評価値

• 目的地までの到達成功率

• 目的地まで到達する最小ステップ数

8

Page 9: [DL輪読会] DeepNav: Learning to Navigate Large Cities

データセット

1. Google Map Street Viewから道の画像データを収集– 各交差点に対して東西南北の画像を取得

2. 選んだ画像データからグラフを作成(最短距離のAnnotationを作るため)

3. 目的地(学校、銀行、マクドナルド、教会、ガソリンスタンド)の場所を取得

4. 各写真の位置から目的地までの距離で取得。

9

Page 10: [DL輪読会] DeepNav: Learning to Navigate Large Cities

10

提案手法

Page 11: [DL輪読会] DeepNav: Learning to Navigate Large Cities

提案手法

• 距離ベース

– DeepNav-distance

• 与えられた画像の位置から、最寄りのスポットまでの距離を予測

• 方向ベース

– DeepNav-direction

• 与えられた画像の位置から、最寄りのスポットの方角を予測

– DeepNav-pair

• 画像のペアが与えられて、目的地に行くのにどちらへ行けばよいのかを予測

11

Page 12: [DL輪読会] DeepNav: Learning to Navigate Large Cities

12

提案手法DeepNav-distance

Page 13: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-distance

13

• 東西南北のそれぞれの方向へ進んだ時の目的地までの距離を予測。

• 各目的地までのMSEを最小化するように学習

• (テスト時)距離が最も小さくなる方向へ進む。

ガソリンスタンドへ行きたい。どっちへ進めば良い?

Page 14: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-distance

14

• 東西南北のそれぞれの方向へ進んだ時の目的地までの距離を予測。

• 各目的地までのMSEを最小化するように学習

• (テスト時)距離が最も小さくなる方向へ進む。

ガソリンスタンドへ行きたい。どっちへ進めば良い?

90m

340m

510m

290m

Page 15: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-distance

15

入力画像の方向に対して進んだ時、各目的地との距離を予測。学習時は予測値と実際の距離のMSEを最小化する。

Page 16: [DL輪読会] DeepNav: Learning to Navigate Large Cities

16

提案手法DeepNav-direction

Page 17: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-direction

17

左 右

ガソリンスタンドへ行きたい。どっちの方向へ行けば良い?

1. 入力画像(1枚)に対して、前

後左右どちらへ行けば目的地へ到着できるのかを予測。

2. 各目的地に対してどちらに行けばよいか予測する。

3. 学習時は各目的地に対して、通常の分類問題を最小化する。

Page 18: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-direction

18

入力画像に対して、前後左右どちらへ行けば目的地へ到着できるのかを予測。学習時は通常の分類問題を最小化する。

Page 19: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-direction Annotation

• データ作成時に作ったグラフを用いる。

• 各ノードに対してA*探索アルゴリズムを使って最短経路を計算

• その最短経路をannotationとする。

19

Page 20: [DL輪読会] DeepNav: Learning to Navigate Large Cities

20

提案手法DeepNav-pair

Page 21: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-pair

21

ガソリンスタンドへ行くには、どっちへ行けば良い?

IDEA: 複数の方向を見て学習した方が効率が良いはず。

学習時に各画像に対してスコアを計算し、正しい方向の画像のスコアが高くなるように学習する。

Page 22: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-pair

22

ガソリンスタンドへ行くには、どっちへ行けば良い?

IDEA: 複数の方向を見て学習した方が効率が良いはず。

学習時に各画像に対してスコアを計算し、正しい方向の画像のスコアが高くなるように学習する。

Score 20 50

Page 23: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-pair

23

画像ペアが与えられ、目的地へ到達するのに上の画像に行けば良い場合は0、

下の画像へ行けば良い場合は1として分類問題として学習させる。どちらも違う場合はXとして学習時には無視する。

Page 24: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-pair テスト時

24

ガソリンスタンドへ行きたい。どっちへ進めば良い?

55

20

18

47

モデルのブランチを1つにして目的地のスコアを出力。各方向のスコアを比較し最も大きいスコアの方向へ進む。

モデルScore

Page 25: [DL輪読会] DeepNav: Learning to Navigate Large Cities

DeepNav-pair Annotation

25

• 各ノードに対してA*探索アルゴリズムを使って最短経路を計算する。

• 最短距離のパス中の各ノードにおいて2方向を選び、ラベルを付ける。– 1つ目の画像の方向が最短経路ならラベル0

– 2つ目の画像の方向が最短経路ならラベル1

– どれも違うならラベルX

• これを最短経路を構成している全てのノードに対して行う。

Page 26: [DL輪読会] DeepNav: Learning to Navigate Large Cities

損失関数(DeepNav-direction, -pair)

26

ほとんどの学習データは、現在地から目的地まで距離がある。現在地から目的地への距離(最短ステップ数)が遠い程、影響は小くし、近いほど影響は大きくするべき。→ li(目的地までのステップ数)を考慮することで重みを付ける。

Lg: Geometrically Weighted LossN: バッチサイズλ: Geometric Weighting Factor(=0.9)Li: i番目のロスli: 目的地までの最短ステップ数

Page 27: [DL輪読会] DeepNav: Learning to Navigate Large Cities

27

実験

Page 28: [DL輪読会] DeepNav: Learning to Navigate Large Cities

実験

• データセット– 学習データ

• 6都市(Atlanta, Boston, Chicago, Houston, Los Angeles, Philadelphia)

– テストデータ(平均ds[m]だけ離れた位置から各都市10回試行)• 4都市(Dallas, New York, Phoenix, San Francisco)

• 目的地– 銀行– 教会– ガソリンスタンド– 高校– マクドナルド

• 評価値– 目的地までの到達率– 目的地までの到達に必要なステップ数の期待値

28

Page 29: [DL輪読会] DeepNav: Learning to Navigate Large Cities

評価値

• 成功率

–目的地まで75m以内の位置に到達できれば成功。

– 1000回移動しても、目的地に到着できなければ失敗。

• 目的地へ到達するためのステップ数の期待値

29

s: 成功率L: 成功時の平均ステップ数Lmax: 最大ステップ数(=1000)

Page 30: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 1/8

30

テストデータにおける到達ステップ数の期待値

Page 31: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 2/8

31

サンフランシスコの銀行へ行く場合の各ノードのConfidence。青点が銀行の位置、オレンジ線がconfidenceの強さ。

DeepNav-pairは目的地周辺のconfidenceがはっきりと高くなっている。

Page 32: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 3/8

32

サンフランシスコのマクドナルドが近くにあると判定している時の画像(上カラム)近くにマクドナルドが無いと判定している画像(下カラム)

Page 33: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 4/8

33

サンフランシスコのガソリンスタンドが近くにあると判定している時の画像(上カラム)近くにガソリンスタンドが無いと判定している画像(下カラム)

Page 34: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 5/8

34

ニューヨークにおいて教会が目的地の場合の移動の軌跡青:スタート地点、緑:教会の位置

Page 35: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 6/8

35

Page 36: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 7/8

36

Page 37: [DL輪読会] DeepNav: Learning to Navigate Large Cities

結果 8/8

37

全体的にDeepNav-directionが良い感じ。

Page 38: [DL輪読会] DeepNav: Learning to Navigate Large Cities

まとめ

• データセットは、API使い全自動で取得

• 手法

–距離ベース

• DeepNav-distance

–方向ベース

• DeepNav-direction → 最も良かった

• DeepNav-pair

• random walkと先行研究よりかは良い結果が出てる。

38

Page 39: [DL輪読会] DeepNav: Learning to Navigate Large Cities

感想

• 正直、ナビゲーション感は少ない

• 都市構造の傾向を理解するというアイディアは面白い

–道案内よりも街に何が足りないのかを判定するとかの方が面白そう。(ex. 機械に都市計画させる etc)

• 都市構造を学習させるなら時系列にして学習させた方が良さそう。

– LSTMとかで過去の情報も保持しておくとか。

39