Contenu connexe Similaire à 車両運行管理システムのためのデータ整備と機械学習の活用 (20) 車両運行管理システムのためのデータ整備と機械学習の活用3. 自己紹介
• 関谷英爾
• 所属: AIシステム部AI研究開発G
• 略歴
- 2014年DeNAに新卒入社
- Hadoopの分析基盤の運用
- 強化学習を用いたGameAIの開発
- 車両運行管理システムの研究開発
3
Twitter: @eratostennis
12. 運行管理システムを支える技術
12
地図データ
基盤
HD Map
Live Map
その他データ
Map Editor
アルゴリズム
MapMatch
移動時間予測
経路探索
需要・供給
予測
配送計画
最適化
サービスレイヤー
運行管理機能 遅延監視API 配送計画API
自動運転技術
物体検知 予測
プラニング 行動制御
•自動運転の実現に向けて様々な機
能がそれに応じて変わる必要があ
る
•幅広く調査や研究開発を行い、注
力領域を見極めていく
社外の取り組み DeNAの取り組み
事業の研究領域の説明のため社外の論文なども紹介
DeNAの取り組みと区別できるように、
スライドの左上に下記のラベル付与
14. 物体検知
14
Multi-View 3D Object Detection Network for Autonomous Driving
LIDAR(距離計測センサー)と画像を一緒に利用することで3Dの物体検知精度を向上
Xiaozhi Chen, Huimin Ma, Ji Wan, Bo Li, Tian Xia
Multi-View 3D Object Detection Network for Autonomous Driving
arXiv:1611.07759
自動運転技術社外の取り組み
3Dで物体検知
15. 物体検知
15
Multi-View 3D Object Detection Network for Autonomous Driving
LIDAR(距離計測センサー)と画像を一緒に利用することで3Dの物体検知精度を向上
Xiaozhi Chen, Huimin Ma, Ji Wan, Bo Li, Tian Xia
Multi-View 3D Object Detection Network for Autonomous Driving
arXiv:1611.07759
自動運転技術社外の取り組み
LIDAR 上空から
LIDAR 前方
Image 前方
16. 行動制御
16
End to End Learning for Self-Driving Cars
物体検知等のタスクを挟まずにEnd-to-Endでハンドル操作を学習
Mariusz Bojarski, Davide Del Testa, Daniel Dworakowski, Bernhard Firner,
Beat Flepp, Prasoon Goyal, Lawrence D. Jackel, Mathew Monfort, Urs Muller,
Jiakai Zhang, Xin Zhang, Jake Zhao, Karol Zieba
End to End Learning for Self-Driving Cars
arXiv:1604.07316
自動運転技術社外の取り組み
ハンドル操作を出力
フロントの画像を入力
17. 行動制御
17
End to End Learning for Self-Driving Cars
物体検知等のタスクを挟まずにEnd-to-Endでハンドル操作を学習
論文では学習モデルがどのように風景を捉えているかも解析
Mariusz Bojarski, Davide Del Testa, Daniel Dworakowski, Bernhard Firner,
Beat Flepp, Prasoon Goyal, Lawrence D. Jackel, Mathew Monfort, Urs Muller,
Jiakai Zhang, Xin Zhang, Jake Zhao, Karol Zieba
End to End Learning for Self-Driving Cars
arXiv:1604.07316
車両制御がBlackBoxでよいのかという問題もあり、モデルの説明性の研究もされるようになってきている
さらに業界としても複雑に絡み合うシステムの中で安全性にどう責任を持つのかなども議論がされている最中
自動運転技術社外の取り組み
モデルがどのように
風景を捉えているか解析
19. HD Map & Live Map
• HD (High Definition) Map
- 3Dで車線幅が記録されていたり情報量が多く、精度の高い地図
• Live Map
- 渋滞などリアルタイムに交通状況が反映される地図
19
地図データ基盤社外の取り組み
Shenlong Wang, Min Bai, Gellert Mattyus, Hang Chu, Wenjie Luo,
Bin Yang, Justin Liang, Joel Cheverie, Sanja Fidler, Raquel Urtasun
TorontoCity: Seeing the World with a Million Eyes
arXiv:1612.00423
地図データセットを整備する取り組みも出てきている
21. 需要予測
21
Engineering Extreme Event Forecasting at Uber with Recurrent Neural Networks
日々の需要変動を予測。祭日の異常も精度高く予測。
Nikolay Laptev, Slawek Smyl, Santhosh Shanmugam
Engineering Extreme Event Forecasting at Uber with Recurrent Neural Networks
Retrieved from https://eng.uber.com/neural-networks/
モデル 予測結果
祭日の大きな需要の変化も精度高く予測
アルゴリズム社外の取り組み
22. 需要予測
22
Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction
Computer Visionの技術を使って群衆移動予測
Junbo Zhang, Yu Zheng, Dekang Qi
Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction
arXiv:1610.00081
アルゴリズム社外の取り組み
グリッド単位に分割し画像のセルのように扱えるように
短期・中期・長期トレンドを
分けて入力として利用
天気や祝日などの情報を入力
23. ディスパッチ (配車ロジック)
23
A Taxi Order Dispatch Model based On Combinatorial Optimization
ドライバーが配車を承諾するモデルを構築
配車を最も成功させるような最適化問題を解き、配車を改善
Lingyu Zhang, Tao Hu, Yue Min, Guobin Wu Junying Zhang,
Pengcheng Feng, Pinghua Gong, Jieping Ye
A Taxi Order Dispatch Model based On Combinatorial Optimization
KDD 2017
アルゴリズム社外の取り組み
ドライバーの配車承諾確率モデル 配車成功割合の上昇
・配車依頼金額
・走行距離
・走行方向
etc.
24. 行き先先予測
24
Artificial Neural Networks Applied to Taxi Destination Prediction
Kaggleという分析コンペの行き先予測というテーマで優勝したモデル
乗車地点のGPSデータ数点
現在地点のGPSデータ数点
日付や乗客の情報
事前に目的地点のクラスタリングを
行なっていたクラスタの重心
アルゴリズム
●出発地点からのGPS数点
●現在地点のGPS数点
●目的地点
Cartography © OpenStreetMap contributors
社外の取り組み
Alexandre de Brébisson, Étienne Simon, Alex Auvolat, Pascal Vincent, Yoshua Bengio
Artificial Neural Networks Applied to Taxi Destination Prediction
arXiv:1508.00021
34. 自己紹介
• 森 紘一郎
• 経歴
– 2005年 株式会社東芝 研究開発センター
機械学習、データマイニング、音声合成
– 2017年 株式会社ディー・エヌ・エー
Deep Learning(音声、コンピュータビジョン)
• プライベート
– Twitter: aidiary (@sylvan5)
– ブログ: 人工知能に関する断創録(2002〜)
http://aidiary.hatenablog.com/
34
51. (参考)姿勢推定のパーツ検出との関係
51[1] Z. Cao et al. Realtime Multi-person 2D Pose Estimation using Part Affinity Fields, CVPR 2016
[1] から引用
パーツ検出では右肩、右手首、右ひざなど
入力画像における身体パーツの位置を
ヒートマップを用いて予測する
停車可能位置検出では、停車可能位置の
始点と終点の位置をヒートマップを用いて
予測する
69. 関連セッション紹介
• AWS IoT を用いた DeNA オートモーティブアーキテクチャ
- Red Stage: 15:40~16:20
• 深層学習を用いたコンピュータビジョン技術と運転行動モニタリ
ングへの応用
- Yellow Stage: 16:30~17:10
69
Notes de l'éditeur 車両運行管理システムのためのデータ整備と機械学習の活用について
AIシステム部の関谷と森から発表させていただきます。 本セッションは前半と後半に分かれております。
前半では、Automotive事業部についてやAIシステム部の関わり方、また車両運行管理システムを支える機械学習関連の技術について紹介をさせていただきます。
後半では、実際の深層学習を用いた停車位置検出の取り組みについて紹介させていただこうと思います。 簡単に自己紹介をさせていただきます。
私は、AIシステム部AI研究開発Gに所属している関谷と申します。
2014年で新卒で入社したのちに、最初はHadoop等の分析基盤の運用を行ったのち、
強化学習を用いたGameAIの開発を行っておりました。
現在はAutomotive事業部のメンバーとともに、車両運行管理システムの研究開発を行なっております。
本日はよろしくお願いいたします。 Automotive事業部について紹介させていただきます。 Automotive事業部では、「Anything, Anywhere安全・安心に移動できる世界を」というビジョンを掲げ、様々なプロジェクトを行なっています。
高齢化が進んでる街ではバスの運行本数が限られていたり、移動需要の多い街でも需要を満たせるほど効率的なインフラが整備されていなかったり、不便なところがあります。
Automotive事業部では、AIを用いて効率的に車両の管理を行い、これらの課題を解決しようとしています。 それでは、現在Automotive事業部でどのようなサービスがあるかご紹介します。
左から順に…
タクシーの配車サービスのタクベルというサービスです。去年の秋頃横浜のほうで実証実験をしておりました。
春頃に本リリースを目指して現在開発中のサービスです。
EasyRideは日産さんと協業で行なっている、自動運転車両を利用した交通サービスを計画しています。すでにモニター募集は終わってしまったのですが、3月には実証実験を予定しています。
真ん中のロボネコヤマトは自動運転社会を見据えて、ドライバーがいない世界の物流の仕組みについて実証実験を行っています。
現在、藤沢地区で実証実験を行っており、有人での運転ですが、将来の無人運転を見据えて荷物の受け取りは車内にある保管ボックスから利用者が自分で取り出す、非対面での受け取りを体験してもらうなどしています。
ロボットシャトルは自動運転バスによる交通サービスです。
実用化を目指し、工場や商業施設など様々な場所で実証実験を行っています。
最後に右端のAnycaは個人間のカーシェアサービスです。レンタカーでは普通は借りられないような車両もレンタルできたり、カーライフを楽しんでもらうような、そんなサービスも展開しています。 そんな事業部とAIシステム部がどのように関わっているかというと、
基本的には、Automotive事業部のメンバーがいる場所に席を置き、一緒に議論や開発ができる状況を作っています。ただし、AIシステム部側にも席を残しており、ときどき戻ってどういったアルゴリズムにしようか相談したり、議論したりすることもあります。
Automotive事業部に対するAIシステム部の役割は大きく3つあり、
一つが、アルゴリズムの調査・研究開発、
もう一つが、データの獲得計画やデータの蓄積
最後に、それらデータを用いてアルゴリズムの実現、またそれを利用するAPIを開発しています。 今日はその中でも車両運行管理に必要なアルゴリズムの調査・研究開発、データ獲得計画・データ蓄積に関わるような話をさせていただきます。 それでは、早速、先ほどご紹介したサービスを実現するために必要な車両運行管理システムを支える技術についてご紹介いたします。 ここでは車両運行管理システムは、有人車両・無人車両を安心・快適に移動させるシステムを指しています。
時間通りに運行する、事故がない、呼べばすぐ来るなど様々な乗客や利用者の期待を満たす必要があります。
そういったことを実現するためには、裏側では
依頼を効率的に捌けるような運行計画を立てるシステムを作ったり、
また、その運行計画が守られているか監視するシステムになってきます。 車両運行管理システムは、利用者と車両をつなぐようなシステムです。
右の図のように「運行管理機能」、「アルゴリズム」、「地図データ基盤」、「自動運転技術」といった様々な技術・構成要素で成り立っています。
また、これらの複雑なシステムを、どういった社会になるのかイメージしながらシステムを構築していく必要があり、難しいシステム開発となります。
これらのすべてを自社で開発する必要はなく提携したりして作り上げていくわけですが、幅広く調査・研究開発し常に注力領域を見極めていく必要があります。
それでは下から順番にこれらの技術についてみていきます。
全体像を掴んでいただくために、DeNA社内の取り組みでないものが前半に入っております。社内の実際の取り組みについてはスライドに明記、口頭で補足いたします。 まず最初に自動運転技術を簡単に説明します。
車両や人などを検知する仕組みや、事故率の予測、車線変更などのプランニング、ハンドルやブレーキの制御などの機能から成り立ちます。
DeNAでは自動運転技術自体は開発してはいませんが、情報を収集してどういったレベルに来ているかなど把握を行なっています。
簡単に世の中に出て来ている物体検知の論文や行動制御の論文について紹介します。 まずは物体検知の論文 Multi-View 3D Object Detection Network for Autonomous Drivingの紹介です。
こちらの論文は2Dの物体検知ではなく、3Dでの物体検知を行なっているものです。
特徴としては、車載カメラの画像データだけでなく、LIDARという距離計測センサーで取得したデータも活用して物体検知の精度をあげています。
物体検知が精度高くできれば、事故率などの予測等もできやすくなり、より安全に運転ができるようになります。 まずは物体検知の論文 Multi-View 3D Object Detection Network for Autonomous Drivingの紹介です。
こちらの論文は2Dの物体検知ではなく、3Dでの物体検知を行なっているものです。
特徴としては、車載カメラの画像データだけでなく、LIDARという距離計測センサーで取得したデータも活用して物体検知の精度をあげています。
物体検知が精度高くできれば、事故率などの予測等もできやすくなり、より安全に運転ができるようになります。 次に制御に関する論文、End to End Learning for Self-Driving Carsという論文の紹介です。
こちらは前方のカメラの画像からハンドル操作の学習を行なっているものです。
車両制御分野でもDeepLearningの技術を用いた手法が使われています。 ただし、Deep LearningのようなBlackBoxで車両制御してもよいのかという問題もあり、モデルの説明性の研究もなされるようになってきています。
こちらの論文でも学習したモデルがどのように風景をとらえているかという分析も行われています。
さらに、複雑に絡み合うシステムの中で安全性にどう責任を持つのかということも自動車業界で現在議論がなされている最中です。 次に地図データに関する技術の動向についても簡単な紹介をします。
自動運転社会の実現に向け、地図自体も大きな変化が起ころうとしています。 HD MapとLive Mapについて紹介します。
HD Map (High Definition Map)というものは、自動運転車両向けの高精度地図です。
車線幅のレベルで記録されていたりするような。カーナビで現在用いられているよりも情報量が多い地図のことです。
また、Live Mapというものもでてきています。
こちらは渋滞などリアルタイムに交通状況が反映される地図です。
これらの地図作成に向け地図データセットを整備する取り組みも出てきています。
こういったリッチな地図データを用いてより安全、より早く移動できるような工夫が行われています。 次にアルゴリズムに関してです。
途中から社内で取り組んでいる内容がいくつか出て来ます。 まずは需要予測についての紹介です。
こちらはUberの需要予測に関する取り組みで、
LSTMといわれる時系列データによく利用されるニューラルネットワークを重ね合わせたAutoencoderと言われる形式をとったモデルを構築し、
短い周期や長期トレンドだけでなく、年に1回しか現れないような祭日の需要の大きな変化も予測することができています。 次に群衆移動予測を行っている Deep Spatio Temporal Residual Networks for Citywide Crowd Flows Predictionという論文の紹介です。
エリアをグリッド単位に分割し、それを画像のセルのように見立てて、Computer Visionで使われるようなモデルを利用することで、将来の群衆の移動を予測することに成功しています。
また、こちらは短期、中期、長期トレンドを掴むために3つのネットワークと、さらに天気などの情報をあわせた4つのネットワークを最終的にうまく組み合わせることで精度改善を行っています。 次にディスパッチと呼ばれる配車リクエストがあった場合の配車ロジックに関する論文、A Taxi Order Dispatch Model based On Combinatorial Optimizationについての紹介です。
こちらは中国の配車アプリで有名な会社DiDiの出している論文です。
ドライバーが配車依頼を受けてくれる確率モデルを作り、最終的に全体で満たせる配車依頼を最大化するような最適化問題として定式化しています。
毎回近くの車両を割り当てていると車両のエリアバランスが崩れてしまいますが、このような手法を用いることでそういった問題を軽減することが可能になります。 こちらは行き先予測についての Artificial Neural Networks Applied to Taxi Destination Predictionという論文の紹介です。
こちらはKaggleという有名な分析コンペにて優勝したモデルです。
左図のように乗車地点のGPS数点と、現在地点のGPS数点、および日付や乗客の情報を入れることで、到着地点を予測するものです。
また、いきなり連続空間となる緯度経度を予測することは困難なので、事前に学習データにある目的地をクラスタリングした重心の重み付け和として目的地予測することで精度をあげています。
こういった行き先予測が精度高くできると、先ほどご紹介したようなディスパッチが効率的に行えたり、車内で目的地にあったコンテンツを楽しんでいただくなど乗車体験の向上が行えたりできるようになります。 まずはMapMatchというアルゴリズムについて紹介します。
実際のどの道路を走っているのかを把握するためには、取得したGPSデータを補正し、走った道路を特定する必要があります。
モデルの詳細の説明はここでは避けますが、隠れマルコフモデルというモデルを用いて、連続するGPSデータを渡すことで道路にマッピングする技術を用いて、車両が走っている道路を特定することに利用したりしています。
また、こちらはロボネコヤマトの実証実験で利用されています。 次に移動時間予測について紹介します。
こちらもロボネコヤマトにて実際に動いている仕組みです。
日時、天候、経路を考慮した時間予測が行えるようなモデルを作成しています。
この予測時間を使って、配送スケジューリングを行ったり、遅延監視をリアルタイムに行うことが可能となっています。 次は経路探索についてご紹介します。
こちらは古くからある手法ダイクストラをベースに経路探索を行っています。
ロボネコヤマトでは、単純な移動時間だけでなく、標識にはない地域の習慣に応じたコストや安全運転のために右折回数を減らすような経路設定をできるようにしています。 次は配送計画最適化について説明します。
出前の依頼が入ったらリアルタイムに最適な車両に依頼を割り当てスケジューリングを行います。
この計算のときに先ほど説明したニ地点間移動時間の予測値を利用しています。
左図のように利用者は10分枠で受取時間を選択できるようになっており、裏側では各時間毎に宅配可能かどうかの計算を行っています。
また単純に集荷、配達のスケジュールをしているだけでなく、右の図のように移動して時間が余るようであればその場での待機もスケジュールされたり、長時間同じ場所に留まることは危険なので少し離れた停留しやすい場所を経由して時間を潰すなどもスケジュールされます。 タクシー配車シミュレータの紹介です。
先ほどまで紹介して来たアルゴリズムなどを評価するために、シミュレータを開発しています。
配車リクエストがあった時に、どれくらい配車が成立するか、成立した場合にどれくらい乗客を待たせてるかなどを評価できるようになっています。
タクシー配車アルゴリズムの評価方法として、過去データを利用する、実証実験を行うという方針が取れますが、過去データ利用であれば、これまで経験して来た状況のテストしかできないですし、実証実験ではPDCAを早く回すことができません。
机上でもなんどもトライアンドエラーを繰り返し、妥当なアルゴリズムができてから実証実験を行うことで開発スピードをあげようとしています。 これまで紹介して来た技術が連携することで、運行管理システムに必要な
効率的な運行計画が立てられたり、運行を監視する仕組みができます。
こちらをAPIとしてサービス化することで多様なサービスから必要な機能が使えるように実現しようとしているところです。 先ほどご紹介して来たように、DeNA内部だけでこれら全てが実現できるわけではありません。
自分たちではできない部分については協業を検討したり、
内製すべきところはアルゴリズムを磨きこんだり、
自動運転など未踏な領域については日々の動向を観察しています。 後半のセッションでは、一つの案件に踏み込んで、深層学習を用いた地図データ整備の取り組みをご紹介します。 【★★★声の大きさ注意!!!】
AIシステム部、AI研究開発グループの森と申します。
本日は、オートモーティブ事業の一環として取り組んだ深層学習(Deep Learning)を応用した車両停車位置検出技術について紹介します。
本プロジェクトはNEDOの委託事業として実施したものです。 はじめに簡単に自己紹介させてください。
私はもともと東芝で機械学習・データマイニング・音声合成に関する研究開発に従事していました。
一番長いキャリアは音声合成で7年ぐらい取り組んでいました。
その後、2017年にDeNAに中途入社し、現在は音声やコンピュータビジョンのDeep Learningに関する研究開発を担当しています。
プライベートではTwitterとブログをわりと長くやっていて、2002年くらいからAIに関する記事や情報をまとめて発信しています。 本日の発表の流れです。
車両停車位置検出技術は機械学習を活用したプロジェクトです。
そのため一般的な機械学習プロジェクトの流れに沿って、データ収集、学習、評価、アプリケーション開発といった内容について紹介していきます。 近年、ネット通販の進展にともなって荷物の配達コストの急増が社会問題になっています。
我々はこの課題に対して、自動運転やITを活用した物流オペレーションを実現し、物流業界の労働力不足を解決することを目指しています。
このような大きな課題を解決するための一環として、(1) や (2) の技術が必要になると考えています。 たとえば、この家に荷物を配達したいとき、どこに車を停めるのが適切でしょうか?
柵がじゃまで荷物を取り出せない
左側通行の日本では右側に停車できない
車が邪魔で荷物を取り出せない
歩行者がいて危険
人間のドライバーだったらこのようなさまざまな状況を一瞬で考慮してこの位置に止められると思います。 本プロジェクトの目標は (1) することにあります
より詳しく言うと (2) のが目標です AIシステム開発の一般的な流れを図示しました。
この流れに沿って順に紹介していきます。
すでに画像から安全に停車できる場所を自動検出するというプロジェクトのタスク定義のフェーズは終わりました。
次は、そのタスクを達成するためのデータを収集するフェーズです。 まずは荷物を配達することを想定し、住宅街の画像データの収集からはじめました。
車に・・・
撮影した動画はこのようなフロントビューの動画とサイドビューの動画の2通りになります
6日間で25時間分の動画を集めることができました 次は、収集した画像データに対してアノテーションするフェーズです。 アノテーションとはラベル付けともいいます。
AIに教えたいことに関する学習データを人手で作成することを指します。
今回のプロジェクトでは停車可能という概念を学習させたいため、画像に対して停車できる場所を人が判断して設定していきます。
・・・
本来はプロの配達ドライバーや判断のブレを吸収するため複数人に作業を依頼した方がよい これは弊社のエンジニアが開発したWebベースのアノテーションツールです。
動画から抽出したGPS情報と画像を照らし合わせながら効率よくアノテーションすることができます。
実際に撮影した動画をコマ送りしていき、停車可能な範囲を見つけたら直線で指定していきます。
この黄色い線は道路のこの範囲なら安全に車を停められることを表しています。 AIに停車可能位置を教えるためには、まず人が停車可能位置を明確に判断できる必要があります。
ただ、これは複数人でアノテーション作業をする場合は特に難しく、作業者によって判断のゆらぎがあります。
そこで停車可能位置の基準をなるべくそろえるためにこのような定義を行いました。 次はモデル設計です。
モデルは分野によっていろいろな意味を持ちますが、今回はDeep Learningのプロジェクトであるためモデルはニューラルネットワークになります。
つまり、・・・はニューラルネットワークのアーキテクチャを設計するフェーズ、
・・・は設計したニューラルネットワークをデータを使って学習するフェーズ、
・・・は学習したニューラルネットワークを評価するフェーズと読み替えられます。 ニューラルネットワークと一口に言ってもさまざまなアーキテクチャがあります。
ここでは画像の扱いが得意な畳み込みニューラルネットワークを主に検討しました
しかし、同じ畳込みニューラルネットワークを使うにしても入力と出力を何にするかによって異なる解決作が提案できます
ここで4つほど検討したアプローチを紹介します 1つめは画像認識のアプローチです。
画像から停車できる玄関や駐車上の有無を認識します。
先に述べたように停車できる位置として玄関や駐車場の前を想定しました。
そこで、サイドビューの画像を入力として、停車可能か不可能かだけを予測するニューラルネットワークを検討しました。たとえば、・・・
しかし、サイドビュー画像を使っているため停車可能だ!と認識した瞬間にその場所を通り過ぎてしまう(車は急に止まれない)ためこのアプローチは却下になりました こちらは画像認識からやや進化して画像内のどこが玄関かまで検出するアプローチです。
サイドビューの画像を入力するのは先ほどと同じです。
しかし、このアプローチでは玄関のあり・なしだけではなく、画像内のどこに玄関があるかを矩形の座標として出力します。
【4つの座標の説明】
こちらもサイドビューを使っているため先ほどと同じ問題があるため却下となりました。 停車位置を検出してから自動車を止めるためにはやはりサイドビューよりフロントビューの画像を入力としたほうがよさそうです。
そこで物体検出アプローチを少し修正してフロントビューの画像を入力して停車可能範囲の座標を出力するニューラルネットを構成しました。
出力座標は先ほどとまったく同じですが、この座標は範囲ではなく線分として解釈します。
【座標説明】
先に紹介したアノテーションツールでのアノテーション作業は実はこのような出力を想定してアノテーションしていました。
ただ、このアプローチだと座標を4つ出力してしまうため停車可能位置がまったくない場合や複数ある場合に対応できないという問題があります。 そこで最終的に採用したアプローチがFully Convolutional Neural Networkと呼ばれるニューラルネットです。
このようなフロントビューの画像を入力すると2枚の画像(ヒートマップ)を出力します。
ヒートマップは画像中のどこに指定したもの、この場合は停車可能位置があるかをピークを使って表しています。
1つは停車可能位置の始点、もう1つは終点の位置を表すヒートマップです。
もし複数の停車位置がある場合は、複数の位置にピークが立ちますし、まったく停車位置がない場合はどこもピークが立ちません。
このアプローチは、先ほどの座標出力と違って複数の停車位置にも、まったくない場合にも対応できるという利点があります。 この発想は1つ前のセッション「深層学習を用いたコンピュータビジョン技術とスマートショップの実現」で紹介した姿勢推定技術を元にしています。
姿勢推定ではこのような人の画像を入力すると、右肩、右手首、右膝など身体パーツの位置をヒートマップで予測します。
この技術では複数の人がいたり、まったくいなくても身体パーツの位置を予測することができました。
本プロジェクトでは、これらの身体パーツを、停車可能位置の始点と終点に置き換えて応用しました。 最終的に設計したニューラルネットの構造です。
上からRGB3チャンネルのカラー画像を入力するとニューラルネットの処理が進んで最終的に80x60ピクセルの画像が2枚出てきます。
構造については詳しくは説明しませんが、VGG19という代表的なアーキテクチャのあとにさらに畳み込み層を複数加えた構造になっています。 ニューラルネットは構造を設計しただけでは正しく動作しません
入力画像に対して正しい出力をするようにデータを使って学習する必要があります ニューラルネットの入力はフロントビューの画像で出力は停車可能位置のヒートマップと定義しました。
次は人手で作成した正解のアノテーション情報から正解のヒートマップ画像を作成します。
つまり、こういう画像を入れたらこういうヒートマップを出してほしいという教師となる学習データを作成します。
正解データなのでアノテーションした始点と終点で強いピークが立つようなガウス分布にしたがって正解のヒートマップを作りました ここまできてようやくニューラルネットの学習です(訓練ともいいます)
ニューラルネットは画像を入力すると処理が進んで何らかの予測ヒートマップを出力します。
これが先ほどアノテーションデータから作った正解のヒートマップに近づく(誤差を小さくする)ように誤差逆伝搬法を用いて重みを調整していきます。
このようにニューラルネットの重みを調整することを学習と呼びます。
学習が進むと誤差が小さくなり、予測ヒートマップが正解のヒートマップと一致するようになります。 これは学習曲線といいます。
横軸が学習の回数を表していて縦軸は予測と正解の誤差です。もちろん誤差は小さいほどよいことを意味します。
このグラフを見ると誤差がだんだん小さくなっていくことがわかります。
それぞれの場所で予測結果を見てみます。
学習初期:道路ならどこでも停まれるでしょ?!と道路全体にピークが立つような予測しています
途中:道路の左側にしか停車できないことがわかってきたようで道路の左側のみピークが立っている様子が見て取れます
最後:停車可能な位置を出力できるようになっています
正例: 7820枚、負例: 4251枚
SGD(学習率: 0.0001、モーメンタム: 0.9) 学習したニューラルネットがどの程度正しく停車可能位置を予測できるか評価します。 停車可能位置を正しく検出できた例を4つほど示します。
水色が正解の停車位置で黄色がニューラルネットの予測した停車位置です。
水色の線と黄色の線が完全に一致しているので正しく予測できています。
この結果はニューラルネットの学習に使った画像ではないことに注意が必要です。
これまでと別の日に別の住宅街で運転した画像を使って評価しています。
つまり、AIはまったく見たことがない街の運転画像に対しても停車かどうか判断できるようになったわけです。
これは汎化(generalization)といい、機械学習とAIにおいて非常に重要な側面です。 正しく予測できた例だけではフェアではないので間違った例もいくつか載せます。
これは、停車可能位置があるのに検出できなかった例でFalse Negativeといいます
このようにまったく検出できなかったケースや検出位置がうれてしまうケースが含まれます。
しかし、アノテーションの正解とずれていたとしても予測がある程度正しいケースも見られました。 これが一番致命的な間違いのケースです。
停車可能位置がないのにあると誤って予測した例、False Positiveといいます 最後に停車可能位置が全く無い場合にないと正しく予測できた例です
座標ではなくヒートマップを予測に使ったため、停車位置がない画像を入力するとピークがまったく立たずに停車可能位置がないことが正しく予測できています
適合率: 81% 再現率: 43% 正解率: 57% 学習したニューラルネットのモデルをアプリケーションに組み込んでサービスとしてデプロイするフェーズです。 将来的には自動運転車両でリアルタイムに運転状況をモニタリングし停車させるのが目標です。
その前段階として地図上に停車可能などの道路情報をマッピングしていく配送地図アプリケーションを開発しました。
本日紹介した画像からの停車可能位置検出技術とGPS情報を組み合わせることで安全に停車できる箇所を地図上にマッピングします。 最初に配送実績による通行難易度マップを作成します。
この情報はドライバーさんからのフィードバックから作っています。
緑の道路は通行が推奨・・・
・・・ 次に停車難易度や道交法規制により停車できない区間をマップから除いていきます
・・・ 最後に本プロジェクトで紹介した画像から判定した停車可能位置をマッピングします
停車可能と判定された画像に対応するGPS情報から位置を検出してマッピングしていきます 最終的に停車可能位置とともに停車場所の画像も閲覧できるようなアプリケーションを開発しました。 本日Automotive事業に関するセッションが二つあるので紹介させていただきます。
一つ目が、AWS IoT を用いた車両情報集約システムのアーキテクチャについての発表が次の時間帯にRedStageであります。車両から情報を受け付けるシステムについて興味がある方は是非ご参加ください。
また、事故削減の取り組みで、コンピュータビジョン技術を用いたドライバーモニタリングに関する発表が、16:30からYellow Stageであります。
ご興味ある方はそちらのセッションもぜひお聞きください。
以上で発表を終わります。
【ご静聴ありがとうございました。】
【★★★PCは置いて降りる】