Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ドライブレコーダの画像認識による道路情報の自動差分抽出

fetaro
October 08, 2020

 ドライブレコーダの画像認識による道路情報の自動差分抽出

Mobility Technologiesではドライブレコーダの画像認識による道路情報の自動差分抽出プロジェクトを実施しています。大量の動画に対して効率よく機械学習推論を行う必要があり、これをどのように実現しようとしているかを説明します。

fetaro

October 08, 2020
Tweet

More Decks by fetaro

Other Decks in Technology

Transcript

  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) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * Mobility Technologies - データエンジニア エディタ:emacs派→ InteliJ派 趣味:麻雀、自宅サーバ 日本AWSユーザ会(JAWS) ビッグデータ支部長 やってました 著書
  3. Mobility Technologies Co., Ltd. Mobility Technologiesの取り組み 4 「移動で⼈を幸せに。」 タクシーを起点に交通課題・社会課題に取り組んでいく タクシー

    (基点) 交通 社会 事 業 領 域 の 拡 が り 事業領域 実現したい姿 社会課題への取り組み 交通課題の解決 タクシー産業の課題解決
  4. Mobility Technologies Co., Ltd. Mobility Technologiesの事業 1. 配⾞関連事業 2. 広告決済事業

    3. 乗務員向け ソリューション事業 4. DRIVE CHART ・ドラレコ事業 5. 次世代向けR&D事業
  5. Mobility Technologies Co., Ltd. • 課題 • 自動運転時代においては、地図の更新頻度を上げる必要があ る •

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

    車両センサー ゼンリン社 に提供 物体位置の 推定 地図との 差分抽出 NEW 地図
  7. Mobility Technologies Co., Ltd. システム構成図 13 マップ マッチ 動画取得 道路計算

    位置 位置格納 動画格納 物体検出 物体 位置 推定 物体 差分判定 地図 差分判定結果 動画 AWS Batch S3 Lambda Lambda TypeScript CI / CD 本日の発表
  8. 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
  9. Mobility Technologies Co., Ltd. • 要件 • 同じ動画に対して、複数のワーカーで異なった物体認識処理をする • S3から直接ダウンロードする場合の問題点

    • ワーカ毎に同じ動画をローカル(EBS)にダウンロードする必要あり なぜFSx for Lustreを使うか (1/2) 標識検出ワーカ 信号検出ワーカ 停止線検出ワーカ EBS EBS EBS 動画 ストレージ 15 S3 ダウンロード ダウンロード ダウンロード
  10. 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から ダウンロード不要
  11. Mobility Technologies Co., Ltd. なぜAWS Batchを使うのか? (1/3) 17 フ レ

    | ム 間 補 間 処 理 す る 動 画 の 検 索 状態 管理 DB 結 果 格 納 物体検出ワーカーで行う処理は、典型的な機械学習のワークロードではない メ モ リ 上 で 画 像 に 分 解 不 要 な 画 像 の フ ィ ル タ 物 体 検 出 カスタムコンテナが必須
  12. 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は候補から外した。 開発・運用工数:小 制約:強 開発・運用工数:大 制約:弱
  13. 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 推論の 入力
  14. Mobility Technologies Co., Ltd. ▪ 24時間のバッチウインドウにおさまればよく、時間に余裕があるため、処理速度は重要ではない ▪ 重要なのはコストパフォーマンス ▪ 6つのインスタンスでコストパフォーマンスを比較

    インスタンスの選定 (1/3) 20 コストパフォーマンス = 秒間処理フレーム数 インスタンスコスト($/h) 以下の例では処理速度ではp3.2xlargeがよいが、コストパフォーマンスはg4db.xlargeのほうが良い
  15. 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を用いることで、設定だけで、 異なるインスタンス間でのジョブオーケストレーションが可能 ・・・ ・・・ ・ ・ ・
  16. Mobility Technologies Co., Ltd. ▪ 道路情報の自動差分抽出プロジェクト ▪ FSx for Lustreを大量動画データのキャッシュに利用

    ▪ AWS Batchを用いて、機械学習やアルゴリズム計算が混在する分散バッチ処 理を実現 ▪ インスタンスは計算速度ではなくコストパフォーマンスが最も良いものを えらんだ ▪ AWS Batchを用いることで、設定だけで、異なるインスタンス間でのジョブ オーケストレーションが可能とした まとめ 26