Slide 1

Slide 1 text

Mobility Technologies Co., Ltd. ドライブレコーダの画像認識による 道路情報の自動差分抽出 2020/10/08 株式会社Mobility Technologies 次世代事業部 渡部徹太郎 Compute x AI/ML 「EC2でマシンラーニング!」~ AWS 3週連続!秋の Compute 祭り 第1回~

Slide 2

Slide 2 text

Mobility Technologies Co., Ltd. 自己紹介 2 ID :fetaro 名前:渡部 徹太郎 学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * Mobility Technologies - データエンジニア エディタ:emacs派→ InteliJ派 趣味:麻雀、自宅サーバ 日本AWSユーザ会(JAWS) ビッグデータ支部長 やってました 著書

Slide 3

Slide 3 text

Mobility Technologies Co., Ltd. Mobility Technologiesの紹介 1 3

Slide 4

Slide 4 text

Mobility Technologies Co., Ltd. Mobility Technologiesの取り組み 4 「移動で⼈を幸せに。」 タクシーを起点に交通課題・社会課題に取り組んでいく タクシー (基点) 交通 社会 事 業 領 域 の 拡 が り 事業領域 実現したい姿 社会課題への取り組み 交通課題の解決 タクシー産業の課題解決

Slide 5

Slide 5 text

Mobility Technologies Co., Ltd. Mobility Technologiesの事業 1. 配⾞関連事業 2. 広告決済事業 3. 乗務員向け ソリューション事業 4. DRIVE CHART ・ドラレコ事業 5. 次世代向けR&D事業

Slide 6

Slide 6 text

Mobility Technologies Co., Ltd. 出資受けました 6 ■ 2020年の資金調達額は最大266億円 ■ 国内スタートアップ想定時価総額ランキング 8位

Slide 7

Slide 7 text

Mobility Technologies Co., Ltd. 道路情報の自動差分抽出 プロジェクト 2 7

Slide 8

Slide 8 text

Mobility Technologies Co., Ltd. • 課題 • 自動運転時代においては、地図の更新頻度を上げる必要があ る • しかし、更新頻度をあげる為には、作業の効率化や費用削減 が必要 • 解決策 • ドライブチャートを搭載した車両を動くセンサーとして道路 の情報を収集する • 収集した情報を元に自動的に道路情報の差分を見つけ、地図 会社に提供する • ZENRIN社と共同開発。4月にプレスリリース プロジェクトの概要 8 1 ヶ月で走行した道路 ( 23区+三鷹市+武蔵野市) https://mo-t.com/news/pr/2020/04/22/211827cd-343b-5398-b358-987d4c3e86f1/

Slide 9

Slide 9 text

Mobility Technologies Co., Ltd. システムの概要 9 ドライブ レコーダ 車両位置の特定 道路上の物体を検出 車両センサー ゼンリン社 に提供 物体位置の 推定 地図との 差分抽出 NEW 地図

Slide 10

Slide 10 text

Mobility Technologies Co., Ltd. 利用技術(1/3) 車両位置の特定 - マップマッチ 10 GPSで記録された位置 マップマッチした位置 道路リンク

Slide 11

Slide 11 text

Mobility Technologies Co., Ltd. 利用技術(2/3) 道路上物体を検出 – 機械学習 11

Slide 12

Slide 12 text

Mobility Technologies Co., Ltd. 利用技術(3/3) 物体位置推定 - SLAMの利用 12

Slide 13

Slide 13 text

Mobility Technologies Co., Ltd. システム構成図 13 マップ マッチ 動画取得 道路計算 位置 位置格納 動画格納 物体検出 物体 位置 推定 物体 差分判定 地図 差分判定結果 動画 AWS Batch S3 Lambda Lambda TypeScript CI / CD 本日の発表

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Mobility Technologies Co., Ltd. • 要件 • 同じ動画に対して、複数のワーカーで異なった物体認識処理をする • S3から直接ダウンロードする場合の問題点 • ワーカ毎に同じ動画をローカル(EBS)にダウンロードする必要あり なぜFSx for Lustreを使うか (1/2) 標識検出ワーカ 信号検出ワーカ 停止線検出ワーカ EBS EBS EBS 動画 ストレージ 15 S3 ダウンロード ダウンロード ダウンロード

Slide 16

Slide 16 text

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から ダウンロード不要

Slide 17

Slide 17 text

Mobility Technologies Co., Ltd. なぜAWS Batchを使うのか? (1/3) 17 フ レ | ム 間 補 間 処 理 す る 動 画 の 検 索 状態 管理 DB 結 果 格 納 物体検出ワーカーで行う処理は、典型的な機械学習のワークロードではない メ モ リ 上 で 画 像 に 分 解 不 要 な 画 像 の フ ィ ル タ 物 体 検 出 カスタムコンテナが必須

Slide 18

Slide 18 text

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は候補から外した。 開発・運用工数:小 制約:強 開発・運用工数:大 制約:弱

Slide 19

Slide 19 text

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 Batch FS 推論の 入力

Slide 20

Slide 20 text

Mobility Technologies Co., Ltd. ■ 24時間のバッチウインドウにおさまればよく、時間に余裕があるため、処理速度は重要ではない ■ 重要なのはコストパフォーマンス ■ 6つのインスタンスでコストパフォーマンスを比較 インスタンスの選定 (1/3) 20 コストパフォーマンス = 秒間処理フレーム数 インスタンスコスト($/h) 以下の例では処理速度ではp3.2xlargeがよいが、コストパフォーマンスはg4db.xlargeのほうが良い

Slide 21

Slide 21 text

Mobility Technologies Co., Ltd. ■ ディープラーニングを用いた物体検出では、すべてのタスクにおいて、 g4dn.xlargeがもっともコストパフォーマンスがよかった インスタンスの選定 (2/3) 21 タイムアウト タイムアウト タイムアウト

Slide 22

Slide 22 text

Mobility Technologies Co., Ltd. ■ SLAMを用いた位置検出タスクでは、最も安いc4.xlargeがコストパフォーマンス最大となった。 ■ SLAMの計算はCPU ■ 内部で行っている最適化計算がGPUの並列処理に向かないため、CPUの計算となる インスタンスの選定 (3/3) 22

Slide 23

Slide 23 text

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を用いることで、設定だけで、 異なるインスタンス間でのジョブオーケストレーションが可能 ・・・ ・・・ ・ ・ ・

Slide 24

Slide 24 text

Mobility Technologies Co., Ltd. ■ 本番リリースする ■ よりコストを最適化するために、スポットインスタンスの利用などを検討 今後の予定 24

Slide 25

Slide 25 text

Mobility Technologies Co., Ltd. まとめ 3 25

Slide 26

Slide 26 text

Mobility Technologies Co., Ltd. ■ 道路情報の自動差分抽出プロジェクト ■ FSx for Lustreを大量動画データのキャッシュに利用 ■ AWS Batchを用いて、機械学習やアルゴリズム計算が混在する分散バッチ処 理を実現 ■ インスタンスは計算速度ではなくコストパフォーマンスが最も良いものを えらんだ ■ AWS Batchを用いることで、設定だけで、異なるインスタンス間でのジョブ オーケストレーションが可能とした まとめ 26

Slide 27

Slide 27 text

文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Mobility Technologies Co., Ltd. 27 エンジニア募集中!