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回~

    View Slide

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

    View Slide

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

    View Slide

  4. Mobility Technologies Co., Ltd.
    Mobility Technologiesの取り組み
    4
    「移動で⼈を幸せに。」
    タクシーを起点に交通課題・社会課題に取り組んでいく
    タクシー
    (基点)
    交通
    社会








    事業領域 実現したい姿
    社会課題への取り組み
    交通課題の解決
    タクシー産業の課題解決

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  8. Mobility Technologies Co., Ltd.
    • 課題
    • 自動運転時代においては、地図の更新頻度を上げる必要があ

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

  17. Mobility Technologies Co., Ltd.
    なぜAWS Batchを使うのか? (1/3)
    17
















    状態
    管理
    DB




    物体検出ワーカーで行う処理は、典型的な機械学習のワークロードではない
























    カスタムコンテナが必須

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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



    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide