狠狠撸

狠狠撸Share a Scribd company logo
Mobility Technologies Co., Ltd.
ドライブレコーダの画像認識による
道路情報の自動差分抽出
2020/10/08
株式会社Mobility Technologies
次世代事業部
渡部徹太郎
Compute x AI/ML 「EC2でマシンラーニング!」~ AWS 3週連続!秋の Compute 祭り 第1回~
Mobility Technologies Co., Ltd.
自己紹介
2
ID :fetaro
名前:渡部 徹太郎
学生:東京工業大学でデータベースと情報検索の研究
(@日本データベース学会)
職歴:
* 野村総合研究所(NRI)
- オンライントレードシステム基盤
- オープンソース技術部隊
* リクルートテクノロジーズ
- ビッグデータ分析基盤
* MobilityTechnologies
- データエンジニア
エディタ:emacs派→ InteliJ派
趣味:麻雀、自宅サーバ
日本AWSユーザ会(JAWS)
ビッグデータ支部長
やってました
著書
Mobility Technologies Co., Ltd.
Mobility Technologiesの紹介1
3
Mobility Technologies Co., Ltd.
Mobility Technologiesの取り組み
4
「移動で人を幸せに。」
タクシーを起点に交通課題?社会課題に取り組んでいく
タクシー
(基点)
交通
社会
事業領域 実現したい姿
社会課題への取り組み
交通課題の解決
タクシー産業の課題解決
Mobility Technologies Co., Ltd.
Mobility Technologiesの事業
1. 配車関連事業
2. 広告決済事業
3. 乗務員向け
ソリューション事業
4. DRIVE CHART
?ドラレコ事業
5. 次世代向けR&D事業
Mobility Technologies Co., Ltd.
出資受けました
6
■ 2020年の資金調達額は最大266億円
■ 国内スタートアップ想定時価総額ランキング 8位
Mobility Technologies Co., Ltd.
道路情報の自動差分抽出
プロジェクト2
7
Mobility Technologies Co., Ltd.
? 課題
? 自動運転時代においては、地図の更新頻度を上げる必要があ
る
? しかし、更新頻度をあげる為には、作業の効率化や費用削減
が必要
? 解決策
? ドライブチャートを搭載した車両を動くセンサーとして道路
の情報を収集する
? 収集した情報を元に自動的に道路情報の差分を見つけ、地図
会社に提供する
? ZENRIN社と共同開発。4月にプレスリリース
プロジェクトの概要
8
1 ヶ月で走行した道路
( 23区+三鷹市+武蔵野市)
https://mo-t.com/news/pr/2020/04/22/211827cd-343b-5398-b358-987d4c3e86f1/
Mobility Technologies Co., Ltd.
システムの概要
9
ドライブ
レコーダ
車両位置の特定
道路上の物体を検出
車両センサー
ゼンリン社
に提供
物体位置の
推定
地図との
差分抽出
NEW
地図
Mobility Technologies Co., Ltd.
利用技術(1/3)
車両位置の特定 - マップマッチ
10
GPSで記録された位置 マップマッチした位置 道路リンク
Mobility Technologies Co., Ltd.
利用技術(2/3)
道路上物体を検出 – 機械学習
11
Mobility Technologies Co., Ltd.
利用技術(3/3)
物体位置推定 - SLAMの利用
12
Mobility Technologies Co., Ltd.
システム構成図
13
マップ
マッチ
動画取得
道路計算
位置
位置格納
動画格納
物体検出
物体
位置
推定
物体
差分判定
地図
差分判定結果
動画
AWS BatchS3
Lambda
Lambda
TypeScriptCI / CD
本日の発表
Mobility Technologies Co., Ltd.
詳細システム構成
14
車両
位置
物体検出ワーカー
位置推定
結果
S3 FSx for Lustre
標識検出ワーカ
物体検出ワーカー信号検出ワーカ
物体検出ワーカー
停止線検出ワーカ
物体位置
推定ワーカ
AWS Batch
+ GPU instance
AWS Batch
+ CPU instance
S3
FSx for Lustre
中間
結果
アーキテクチャポイントは
「FSx for Lustre」と「AWS Batch」と「インスタンス選定」!
実行状態
管理DB
S3
Aurora
動画
ストレージ
動画
キャッシュ
実行状態
管理DB
Aurora
?
?
?
物体検出
ワーカ間
共有FS
Mobility Technologies Co., Ltd.
? 要件
? 同じ動画に対して、複数のワーカーで異なった物体認識処理をする
? S3から直接ダウンロードする場合の問題点
? ワーカ毎に同じ動画をローカル(EBS)にダウンロードする必要あり
なぜFSx for Lustreを使うか (1/2)
標識検出ワーカ
信号検出ワーカ
停止線検出ワーカ
EBS
EBS
EBS
動画
ストレージ
15
S3
ダウンロード
ダウンロード
ダウンロード
Mobility Technologies Co., Ltd.
なぜFSx for Lustreを使うか (2/2)
16
? FSx for Lustreを使った解決策
? S3からのダウンロードを1回にでき、システム全体のIOスループットを向上できる
? ワーカはLinuxファイルシステムにアクセスするだけでよく開発が簡単
? AWS SDKを使わなくてよい。直接ファイルリードできる
? ワーカ間のファイル共有にも利用できる
S3
標識検出ワーカー
信号検出ワーカー
停止線検出ワーカー
FSx for
Lustre
動画
ストレージ
動画
キャッシュ EBS
EBS
EBS
初回アクセス時に
S3からダウンロード
以後はS3から
ダウンロード不要
Mobility Technologies Co., Ltd.
なぜAWS Batchを使うのか? (1/3)
17
フ
レ
|
ム
間
補
間
処
理
す
る
動
画
の
検
索
状態
管理
DB
結
果
格
納
物体検出ワーカーで行う処理は、典型的な機械学習のワークロードではない
メ
モ
リ
上
で
画
像
に
分
解
不
要
な
画
像
の
フ
ィ
ル
タ
物
体
検
出
カスタムコンテナが必須
Mobility Technologies Co., Ltd.
なぜAWS Batchを使うのか? (2/3)
18
SageMaker
batch transform jobs
+ カスタムコンテナ
AWS Batch ECS EKS
概要 機械学習の推論サービス。
それをカスタムコンテナで
動かす
コンテナベースのバッチを動
かすサービス
汎用コンテナ実行環境。
オンラインもバッチもできる。
Kubernetesベースの汎用コ
ンテナ環境。
運用 インスタンス管理不要 インスタンス管理不要 GPUを使う場合は、Fargate
が使えず、EC2の管理が必
要
Kubernetesの学習コストが
高い
カスタムコンテナの分散バッチ実行環境の選択肢は4つある
運用工数の観点からECSとEKSは候補から外した。
開発?運用工数:小
制約:強
開発?運用工数:大
制約:弱
Mobility Technologies Co., Ltd.
なぜAWS Batchを使うのか? (2/3)
19
SageMaker batch transform jobs
+ カスタムコンテナ
比
較
AWS Batch
並列
実行
の
制御
△
?指定したリソース?タスク数で実行可
?自動で入力データの分割可能だが、今回は利用できない
(各タスクが処理対象のデータを判定しないといけないため。)
= △
?指定したリソース?タスク数で実行可
?自前で入力データの分割が必要
推論
処理
の
実装
×
HTTPの推論エンドポイント公開が必要だが、推論の入力には使わない。
(カスタムコンテナなので)ファイルシステムの利用ができない。
システム構成が複雑になる
< △
独自に入出力の作り込みが必要。
ファイルシステムが利用できる。
システム構成がシンプルになる
SageMakerのフレームワークが活用できない/制約が大きいため、AWS Batchを選択
推論コンテナ
SagaMeker batch transform jobs
推論コンテナ
ダミー
入力
S3
推論の
入力
HTTP
HTTP
推論コンテナ
推論コンテナ
AWS BatchFS
推論の
入力
Mobility Technologies Co., Ltd.
■ 24時間のバッチウインドウにおさまればよく、時間に余裕があるため、処理速度は重要ではない
■ 重要なのはコストパフォーマンス
■ 6つのインスタンスでコストパフォーマンスを比較
インスタンスの選定 (1/3)
20
コストパフォーマンス =
秒間処理フレーム数
インスタンスコスト($/h)
以下の例では処理速度ではp3.2xlargeがよいが、コストパフォーマンスはg4db.xlargeのほうが良い
Mobility Technologies Co., Ltd.
■ ディープラーニングを用いた物体検出では、すべてのタスクにおいて、
g4dn.xlargeがもっともコストパフォーマンスがよかった
インスタンスの選定 (2/3)
21
タイムアウト
タイムアウト
タイムアウト
Mobility Technologies Co., Ltd.
■ SLAMを用いた位置検出タスクでは、最も安いc4.xlargeがコストパフォーマンス最大となった。
■ SLAMの計算はCPU
■ 内部で行っている最適化計算がGPUの並列処理に向かないため、CPUの計算となる
インスタンスの選定 (3/3)
22
Mobility Technologies Co., Ltd.
インスタンスに対するジョブの分配
23
GPU
ジョブ
キュー
CPU
ジョブ
キュー
g4dn.xlarge
AWS Batch
Compute
Environment
c4.xlarge
AWS Batch
API
c4.xlarge
c4.xlarge
…
g4dn.xlarge
…
g4dn.xlarge
標識
検出2
位置
推定2
信号
検出2
停止線
検出2
ジョブ
標識
検出1
位置
推定1
信号
検出1
停止線
検出1
位置
推定1
位置
推定2
標識
検出1
信号
検出1
停止線
検出1
標識
検出2
信号
検出2
停止線
検出2
AWS Batch
Job Queue
dependency
約5分の走行
各物体検出と位置推定を、それぞれAWS Batch
のジョブとし、依存関係をdependencyで表現
約5分の走行
AWS Batch
Job Queue
AWS Batch
Compute
Environment
AWS Batchを用いることで、設定だけで、
異なるインスタンス間でのジョブオーケストレーションが可能
???
Mobility Technologies Co., Ltd.
■ 本番リリースする
■ よりコストを最適化するために、スポットインスタンスの利用などを検討
今後の予定
24
Mobility Technologies Co., Ltd.
まとめ3
25
Mobility Technologies Co., Ltd.
■ 道路情報の自動差分抽出プロジェクト
■ FSx for Lustreを大量動画データのキャッシュに利用
■ AWS Batchを用いて、機械学習やアルゴリズム計算が混在する分散バッチ処
理を実現
■ インスタンスは計算速度ではなくコストパフォーマンスが最も良いものを
えらんだ
■ AWS Batchを用いることで、設定だけで、異なるインスタンス間でのジョブ
オーケストレーションが可能とした
まとめ
26
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
27
エンジニア募集中!

More Related Content

ドライブレコーダの画像认识による道路情报の自动差分抽出

  • 1. Mobility Technologies Co., Ltd. ドライブレコーダの画像認識による 道路情報の自動差分抽出 2020/10/08 株式会社Mobility Technologies 次世代事業部 渡部徹太郎 Compute x AI/ML 「EC2でマシンラーニング!」~ AWS 3週連続!秋の Compute 祭り 第1回~
  • 2. Mobility Technologies Co., Ltd. 自己紹介 2 ID :fetaro 名前:渡部 徹太郎 学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * MobilityTechnologies - データエンジニア エディタ:emacs派→ InteliJ派 趣味:麻雀、自宅サーバ 日本AWSユーザ会(JAWS) ビッグデータ支部長 やってました 著書
  • 3. Mobility Technologies Co., Ltd. Mobility Technologiesの紹介1 3
  • 4. Mobility Technologies Co., Ltd. Mobility Technologiesの取り組み 4 「移動で人を幸せに。」 タクシーを起点に交通課題?社会課題に取り組んでいく タクシー (基点) 交通 社会 事業領域 実現したい姿 社会課題への取り組み 交通課題の解決 タクシー産業の課題解決
  • 5. Mobility Technologies Co., Ltd. Mobility Technologiesの事業 1. 配車関連事業 2. 広告決済事業 3. 乗務員向け ソリューション事業 4. DRIVE CHART ?ドラレコ事業 5. 次世代向けR&D事業
  • 6. Mobility Technologies Co., Ltd. 出資受けました 6 ■ 2020年の資金調達額は最大266億円 ■ 国内スタートアップ想定時価総額ランキング 8位
  • 7. Mobility Technologies Co., Ltd. 道路情報の自動差分抽出 プロジェクト2 7
  • 8. Mobility Technologies Co., Ltd. ? 課題 ? 自動運転時代においては、地図の更新頻度を上げる必要があ る ? しかし、更新頻度をあげる為には、作業の効率化や費用削減 が必要 ? 解決策 ? ドライブチャートを搭載した車両を動くセンサーとして道路 の情報を収集する ? 収集した情報を元に自動的に道路情報の差分を見つけ、地図 会社に提供する ? ZENRIN社と共同開発。4月にプレスリリース プロジェクトの概要 8 1 ヶ月で走行した道路 ( 23区+三鷹市+武蔵野市) https://mo-t.com/news/pr/2020/04/22/211827cd-343b-5398-b358-987d4c3e86f1/
  • 9. Mobility Technologies Co., Ltd. システムの概要 9 ドライブ レコーダ 車両位置の特定 道路上の物体を検出 車両センサー ゼンリン社 に提供 物体位置の 推定 地図との 差分抽出 NEW 地図
  • 10. Mobility Technologies Co., Ltd. 利用技術(1/3) 車両位置の特定 - マップマッチ 10 GPSで記録された位置 マップマッチした位置 道路リンク
  • 11. Mobility Technologies Co., Ltd. 利用技術(2/3) 道路上物体を検出 – 機械学習 11
  • 12. Mobility Technologies Co., Ltd. 利用技術(3/3) 物体位置推定 - SLAMの利用 12
  • 13. Mobility Technologies Co., Ltd. システム構成図 13 マップ マッチ 動画取得 道路計算 位置 位置格納 動画格納 物体検出 物体 位置 推定 物体 差分判定 地図 差分判定結果 動画 AWS BatchS3 Lambda Lambda TypeScriptCI / CD 本日の発表
  • 14. Mobility Technologies Co., Ltd. 詳細システム構成 14 車両 位置 物体検出ワーカー 位置推定 結果 S3 FSx for Lustre 標識検出ワーカ 物体検出ワーカー信号検出ワーカ 物体検出ワーカー 停止線検出ワーカ 物体位置 推定ワーカ AWS Batch + GPU instance AWS Batch + CPU instance S3 FSx for Lustre 中間 結果 アーキテクチャポイントは 「FSx for Lustre」と「AWS Batch」と「インスタンス選定」! 実行状態 管理DB S3 Aurora 動画 ストレージ 動画 キャッシュ 実行状態 管理DB Aurora ? ? ? 物体検出 ワーカ間 共有FS
  • 15. Mobility Technologies Co., Ltd. ? 要件 ? 同じ動画に対して、複数のワーカーで異なった物体認識処理をする ? S3から直接ダウンロードする場合の問題点 ? ワーカ毎に同じ動画をローカル(EBS)にダウンロードする必要あり なぜFSx for Lustreを使うか (1/2) 標識検出ワーカ 信号検出ワーカ 停止線検出ワーカ EBS EBS EBS 動画 ストレージ 15 S3 ダウンロード ダウンロード ダウンロード
  • 16. Mobility Technologies Co., Ltd. なぜFSx for Lustreを使うか (2/2) 16 ? FSx for Lustreを使った解決策 ? S3からのダウンロードを1回にでき、システム全体のIOスループットを向上できる ? ワーカはLinuxファイルシステムにアクセスするだけでよく開発が簡単 ? AWS SDKを使わなくてよい。直接ファイルリードできる ? ワーカ間のファイル共有にも利用できる S3 標識検出ワーカー 信号検出ワーカー 停止線検出ワーカー FSx for Lustre 動画 ストレージ 動画 キャッシュ EBS EBS EBS 初回アクセス時に S3からダウンロード 以後はS3から ダウンロード不要
  • 17. Mobility Technologies Co., Ltd. なぜAWS Batchを使うのか? (1/3) 17 フ レ | ム 間 補 間 処 理 す る 動 画 の 検 索 状態 管理 DB 結 果 格 納 物体検出ワーカーで行う処理は、典型的な機械学習のワークロードではない メ モ リ 上 で 画 像 に 分 解 不 要 な 画 像 の フ ィ ル タ 物 体 検 出 カスタムコンテナが必須
  • 18. Mobility Technologies Co., Ltd. なぜAWS Batchを使うのか? (2/3) 18 SageMaker batch transform jobs + カスタムコンテナ AWS Batch ECS EKS 概要 機械学習の推論サービス。 それをカスタムコンテナで 動かす コンテナベースのバッチを動 かすサービス 汎用コンテナ実行環境。 オンラインもバッチもできる。 Kubernetesベースの汎用コ ンテナ環境。 運用 インスタンス管理不要 インスタンス管理不要 GPUを使う場合は、Fargate が使えず、EC2の管理が必 要 Kubernetesの学習コストが 高い カスタムコンテナの分散バッチ実行環境の選択肢は4つある 運用工数の観点からECSとEKSは候補から外した。 開発?運用工数:小 制約:強 開発?運用工数:大 制約:弱
  • 19. Mobility Technologies Co., Ltd. なぜAWS Batchを使うのか? (2/3) 19 SageMaker batch transform jobs + カスタムコンテナ 比 較 AWS Batch 並列 実行 の 制御 △ ?指定したリソース?タスク数で実行可 ?自動で入力データの分割可能だが、今回は利用できない (各タスクが処理対象のデータを判定しないといけないため。) = △ ?指定したリソース?タスク数で実行可 ?自前で入力データの分割が必要 推論 処理 の 実装 × HTTPの推論エンドポイント公開が必要だが、推論の入力には使わない。 (カスタムコンテナなので)ファイルシステムの利用ができない。 システム構成が複雑になる < △ 独自に入出力の作り込みが必要。 ファイルシステムが利用できる。 システム構成がシンプルになる SageMakerのフレームワークが活用できない/制約が大きいため、AWS Batchを選択 推論コンテナ SagaMeker batch transform jobs 推論コンテナ ダミー 入力 S3 推論の 入力 HTTP HTTP 推論コンテナ 推論コンテナ AWS BatchFS 推論の 入力
  • 20. Mobility Technologies Co., Ltd. ■ 24時間のバッチウインドウにおさまればよく、時間に余裕があるため、処理速度は重要ではない ■ 重要なのはコストパフォーマンス ■ 6つのインスタンスでコストパフォーマンスを比較 インスタンスの選定 (1/3) 20 コストパフォーマンス = 秒間処理フレーム数 インスタンスコスト($/h) 以下の例では処理速度ではp3.2xlargeがよいが、コストパフォーマンスはg4db.xlargeのほうが良い
  • 21. Mobility Technologies Co., Ltd. ■ ディープラーニングを用いた物体検出では、すべてのタスクにおいて、 g4dn.xlargeがもっともコストパフォーマンスがよかった インスタンスの選定 (2/3) 21 タイムアウト タイムアウト タイムアウト
  • 22. Mobility Technologies Co., Ltd. ■ SLAMを用いた位置検出タスクでは、最も安いc4.xlargeがコストパフォーマンス最大となった。 ■ SLAMの計算はCPU ■ 内部で行っている最適化計算がGPUの並列処理に向かないため、CPUの計算となる インスタンスの選定 (3/3) 22
  • 23. Mobility Technologies Co., Ltd. インスタンスに対するジョブの分配 23 GPU ジョブ キュー CPU ジョブ キュー g4dn.xlarge AWS Batch Compute Environment c4.xlarge AWS Batch API c4.xlarge c4.xlarge … g4dn.xlarge … g4dn.xlarge 標識 検出2 位置 推定2 信号 検出2 停止線 検出2 ジョブ 標識 検出1 位置 推定1 信号 検出1 停止線 検出1 位置 推定1 位置 推定2 標識 検出1 信号 検出1 停止線 検出1 標識 検出2 信号 検出2 停止線 検出2 AWS Batch Job Queue dependency 約5分の走行 各物体検出と位置推定を、それぞれAWS Batch のジョブとし、依存関係をdependencyで表現 約5分の走行 AWS Batch Job Queue AWS Batch Compute Environment AWS Batchを用いることで、設定だけで、 異なるインスタンス間でのジョブオーケストレーションが可能 ???
  • 24. Mobility Technologies Co., Ltd. ■ 本番リリースする ■ よりコストを最適化するために、スポットインスタンスの利用などを検討 今後の予定 24
  • 25. Mobility Technologies Co., Ltd. まとめ3 25
  • 26. Mobility Technologies Co., Ltd. ■ 道路情報の自動差分抽出プロジェクト ■ FSx for Lustreを大量動画データのキャッシュに利用 ■ AWS Batchを用いて、機械学習やアルゴリズム計算が混在する分散バッチ処 理を実現 ■ インスタンスは計算速度ではなくコストパフォーマンスが最も良いものを えらんだ ■ AWS Batchを用いることで、設定だけで、異なるインスタンス間でのジョブ オーケストレーションが可能とした まとめ 26