Mobility Technologiesではドライブレコーダの画像認識による道路情報の自動差分抽出プロジェクトを実施しています。大量の動画に対して効率よく機械学習推論を行う必要があり、これをどのように実現しようとしているかを説明します。
Mobility Technologies Co., Ltd.ドライブレコーダの画像認識による道路情報の自動差分抽出2020/10/08株式会社Mobility Technologies次世代事業部渡部徹太郎Compute x AI/ML 「EC2でマシンラーニング!」~ AWS 3週連続!秋の Compute 祭り 第1回~
View Slide
Mobility Technologies Co., Ltd.自己紹介2ID :fetaro名前:渡部 徹太郎学生:東京工業大学でデータベースと情報検索の研究(@日本データベース学会)職歴:* 野村総合研究所(NRI)- オンライントレードシステム基盤- オープンソース技術部隊* リクルートテクノロジーズ- ビッグデータ分析基盤* Mobility Technologies- データエンジニアエディタ:emacs派→ InteliJ派趣味:麻雀、自宅サーバ日本AWSユーザ会(JAWS)ビッグデータ支部長やってました著書
Mobility Technologies Co., Ltd.Mobility Technologiesの紹介13
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.道路情報の自動差分抽出プロジェクト27
Mobility Technologies Co., Ltd.• 課題• 自動運転時代においては、地図の更新頻度を上げる必要がある• しかし、更新頻度をあげる為には、作業の効率化や費用削減が必要• 解決策• ドライブチャートを搭載した車両を動くセンサーとして道路の情報を収集する• 収集した情報を元に自動的に道路情報の差分を見つけ、地図会社に提供する• ZENRIN社と共同開発。4月にプレスリリースプロジェクトの概要81 ヶ月で走行した道路( 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)車両位置の特定 - マップマッチ10GPSで記録された位置 マップマッチした位置 道路リンク
Mobility Technologies Co., Ltd.利用技術(2/3)道路上物体を検出 – 機械学習11
Mobility Technologies Co., Ltd.利用技術(3/3)物体位置推定 - SLAMの利用12
Mobility Technologies Co., Ltd.システム構成図13マップマッチ動画取得道路計算位置位置格納動画格納物体検出物体位置推定物体差分判定地図差分判定結果動画AWS BatchS3LambdaLambdaTypeScriptCI / CD本日の発表
Mobility Technologies Co., Ltd.詳細システム構成14車両位置物体検出ワーカー位置推定結果S3 FSx for Lustre標識検出ワーカ物体検出ワーカー信号検出ワーカ物体検出ワーカー停止線検出ワーカ物体位置推定ワーカAWS Batch+ GPU instanceAWS Batch+ CPU instanceS3FSx for Lustre中間結果アーキテクチャポイントは「FSx for Lustre」と「AWS Batch」と「インスタンス選定」!実行状態管理DBS3Aurora動画ストレージ動画キャッシュ実行状態管理DBAurora・・・物体検出ワーカ間共有FS
Mobility Technologies Co., Ltd.• 要件• 同じ動画に対して、複数のワーカーで異なった物体認識処理をする• S3から直接ダウンロードする場合の問題点• ワーカ毎に同じ動画をローカル(EBS)にダウンロードする必要ありなぜFSx for Lustreを使うか (1/2)標識検出ワーカ信号検出ワーカ停止線検出ワーカEBSEBSEBS動画ストレージ15S3ダウンロードダウンロードダウンロード
Mobility Technologies Co., Ltd.なぜFSx for Lustreを使うか (2/2)16• FSx for Lustreを使った解決策• S3からのダウンロードを1回にでき、システム全体のIOスループットを向上できる• ワーカはLinuxファイルシステムにアクセスするだけでよく開発が簡単• AWS SDKを使わなくてよい。直接ファイルリードできる• ワーカ間のファイル共有にも利用できるS3標識検出ワーカー信号検出ワーカー停止線検出ワーカーFSx forLustre動画ストレージ動画キャッシュ EBSEBSEBS初回アクセス時にS3からダウンロード以後はS3からダウンロード不要
Mobility Technologies Co., Ltd.なぜAWS Batchを使うのか? (1/3)17フレ|ム間補間処理する動画の検索状態管理DB結果格納物体検出ワーカーで行う処理は、典型的な機械学習のワークロードではないメモリ上で画像に分解不要な画像のフィルタ物体検出カスタムコンテナが必須
Mobility Technologies Co., Ltd.なぜAWS Batchを使うのか? (2/3)18SageMakerbatch transform jobs+ カスタムコンテナAWS Batch ECS EKS概要 機械学習の推論サービス。それをカスタムコンテナで動かすコンテナベースのバッチを動かすサービス汎用コンテナ実行環境。オンラインもバッチもできる。Kubernetesベースの汎用コンテナ環境。運用 インスタンス管理不要 インスタンス管理不要 GPUを使う場合は、Fargateが使えず、EC2の管理が必要Kubernetesの学習コストが高いカスタムコンテナの分散バッチ実行環境の選択肢は4つある運用工数の観点からECSとEKSは候補から外した。開発・運用工数:小制約:強開発・運用工数:大制約:弱
Mobility Technologies Co., Ltd.なぜAWS Batchを使うのか? (2/3)19SageMaker batch transform jobs+ カスタムコンテナ比較AWS Batch並列実行の制御△・指定したリソース・タスク数で実行可・自動で入力データの分割可能だが、今回は利用できない(各タスクが処理対象のデータを判定しないといけないため。)= △・指定したリソース・タスク数で実行可・自前で入力データの分割が必要推論処理の実装×HTTPの推論エンドポイント公開が必要だが、推論の入力には使わない。(カスタムコンテナなので)ファイルシステムの利用ができない。システム構成が複雑になる< △独自に入出力の作り込みが必要。ファイルシステムが利用できる。システム構成がシンプルになるSageMakerのフレームワークが活用できない/制約が大きいため、AWS Batchを選択推論コンテナSagaMeker batch transform jobs推論コンテナダミー入力S3推論の入力HTTPHTTP推論コンテナ推論コンテナ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.インスタンスに対するジョブの分配23GPUジョブキューCPUジョブキューg4dn.xlargeAWS BatchComputeEnvironmentc4.xlargeAWS BatchAPIc4.xlargec4.xlarge…g4dn.xlarge…g4dn.xlarge標識検出2位置推定2信号検出2停止線検出2ジョブ標識検出1位置推定1信号検出1停止線検出1位置推定1位置推定2標識検出1信号検出1停止線検出1標識検出2信号検出2停止線検出2AWS BatchJob Queuedependency約5分の走行各物体検出と位置推定を、それぞれAWS Batchのジョブとし、依存関係をdependencyで表現約5分の走行AWS BatchJob QueueAWS BatchComputeEnvironmentAWS Batchを用いることで、設定だけで、異なるインスタンス間でのジョブオーケストレーションが可能・・・・・・・・・
Mobility Technologies Co., Ltd.■ 本番リリースする■ よりコストを最適化するために、スポットインスタンスの利用などを検討今後の予定24
Mobility Technologies Co., Ltd.まとめ325
Mobility Technologies Co., Ltd.■ 道路情報の自動差分抽出プロジェクト■ FSx for Lustreを大量動画データのキャッシュに利用■ AWS Batchを用いて、機械学習やアルゴリズム計算が混在する分散バッチ処理を実現■ インスタンスは計算速度ではなくコストパフォーマンスが最も良いものをえらんだ■ AWS Batchを用いることで、設定だけで、異なるインスタンス間でのジョブオーケストレーションが可能としたまとめ26
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。Mobility Technologies Co., Ltd.27エンジニア募集中!