Anúncio
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a DRIVE CHARTを支えるAI技術(20)

Anúncio

Mais de Yusuke Uchida(20)

Último(20)

Anúncio

DRIVE CHARTを支えるAI技術

  1. Mobility Technologies Co., Ltd. DRIVE CHARTを支えるAI技術 株式会社Mobility Technologies 内田 祐介
  2. Mobility Technologies Co., Ltd. 内田 祐介 / Mobility Technologies AI技術開発部 副部長 • -2017年 :通信キャリアの研究所で画像認識・検索の研究に従事 • -2016年 :社会人学生として博士号を取得(情報理工学) • 2017年- :DeNA中途入社、深層学習を中心とした コンピュータビジョン技術の研究開発に従事 • 2020年- :Mobility Technologiesへ移籍 AI技術開発部の組織運営と、DRIVE CHARTのAI技術の統括 自己紹介 2 Twitter: https://twitter.com/yu4u GitHub: https://github.com/yu4u Qiita: https://qiita.com/yu4u SlideShare: https://www.slideshare.net/ren4yu/ Kaggle: https://www.kaggle.com/ren4yu
  3. Mobility Technologies Co., Ltd. 「移動で人を幸せに。」 DeNAオートモーティブ事業を会社分割、JapanTaxiと統合 (2020/4/1) Mobility Technologies 3 https://mo-t.com/
  4. Mobility Technologies Co., Ltd. 「移動で人を幸せに。」 DeNAオートモーティブ事業を会社分割、JapanTaxiと統合 (2020/4/1) Mobility Technologies 4 本日の お話 https://mo-t.com/
  5. Mobility Technologies Co., Ltd. DRIVE CHART 5 https://drive-chart.com/
  6. Mobility Technologies Co., Ltd. 危険シーンを自動検出し、運転行動の改善指導を行うことで 事故削減を実現 DRIVE CHART 6
  7. Mobility Technologies Co., Ltd. 危険シーンを自動検出し、運転行動の改善指導を行うことで 事故削減を実現 DRIVE CHART 7
  8. Mobility Technologies Co., Ltd. スマートドライビング事業部 • サーバシステムチーム • インフラ構築からWEB API・WEBアプリケーション開発 • エッジシステムチーム • 車載カメラの制御ソフトウェア開発及びエッジソフトウェア開発 AI技術開発部 • AIチーム • 危険シーン(イベント)を検出する各種AI技術開発 プロダクト開発体制 8 本日の お話
  9. Mobility Technologies Co., Ltd. 外向きカメラ DRIVE CHARTのAI処理の流れ 9 エッジAIライブラリ 深層学習モデル 3軸加速度 センサ 3軸角速度 センサ GPS 内向きカメラ レポートシステム レポートサーバ レポート アルゴリズム 地図
  10. Mobility Technologies Co., Ltd. 全体像はこんな感じ 10 CloudWatch CloudTrail Aurora Trusted Advisor CloudFront Route 53 ALB Secret Manager KMS WEB DynamoDB SNS OPE OPS CAR UPL S3 Glue SQS BigQuery User Device Firehose Internet gateway VPC WEB CAR BATCH JOB OUT DNA OUT DAEMON MapMatch AI Scoring FaceRecog. DB CDN MONITORING ANALYTICS KMS S3 Queue Medjed Argus(BI) AI AI DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜 https://www2.slideshare.net/dena_tech/drive-chart-ai-iot-231151928
  11. Mobility Technologies Co., Ltd. 「AI技術」と同じ、あるいはそれ以上に「AIを支える技術」が重要 AI技術 • コンピュータビジョンチーム • データサイエンスチーム AIを支える技術 • エッジAIチーム • MLOpsチーム DRIVE CHARTを支えるAI技術 11
  12. Mobility Technologies Co., Ltd. 外向きカメラ DRIVE CHARTのAI処理の流れ 12 エッジAIライブラリ 深層学習モデル 3軸加速度 センサ 3軸角速度 センサ GPS 内向きカメラ レポートシステム レポートサーバ レポート アルゴリズム 地図
  13. Mobility Technologies Co., Ltd. 外向きカメラ DRIVE CHARTのAI処理の流れ 13 エッジAIライブラリ 深層学習モデル 3軸加速度 センサ 3軸角速度 センサ GPS 内向きカメラ レポートシステム レポートサーバ レポート アルゴリズム 地図 コンピュータ ビジョン エッジAI データ サイエンス MLOps
  14. Mobility Technologies Co., Ltd. コンピュータビジョン 14
  15. Mobility Technologies Co., Ltd. 内向きカメラ・外向きカメラの映像を認識する 深層学習モデル・コンピュータビジョンアルゴリズムの研究開発 上記アルゴリズムを開発する上で必要な アノテーションの設計、データセット構築 コンピュータビジョンチーム 15 外向きカメラ エッジAIライブラリ 深層学習モデル 内向きカメラ コンピュータ ビジョン
  16. Mobility Technologies Co., Ltd. 内向きカメラ • 顔認識モデル • 顔検出、ランドマーク検出、オクルージョン推定、 サングラスやマスクの属性認識を同時に行う • 顔認証モデル • 正面以外の方向、マスクやサングラス着用状態 での顔認証を実現 外向きカメラ • 物体検出モデル • 車両や歩行者など複数のオブジェクトを検出 • レーン認識モデル • 人物ポーズ推定の手法を応用したレーン検出 • 映像からの車速推定モデル 深層学習モデル 16
  17. Mobility Technologies Co., Ltd. 脇見 • 運転中に一定時間以上正面を注視していない危険な状態 危険イベント専用のモデル・アルゴリズム開発 – 脇見 17 コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜 https://www.slideshare.net/dena_tech/drive-chart
  18. Mobility Technologies Co., Ltd. 脇見 • 運転中に一定時間以上正面を注視していない危険な状態 • 時系列データとして考えCNN+RNNで脇見確率を推定 危険イベント専用のモデル・アルゴリズム開発 – 脇見 18 特徴ベクトル 0.1 0.9 0.8 脇見確率 動画入力ネットワーク フレーム画像 CNN RNN 時系列の相関を 考慮した 特徴ベクトル
  19. Mobility Technologies Co., Ltd. 車間距離不足イベントの検知 • 前方車両との「車間時間」が過度に短い状態 • 車間時間:前方車両の現在の位置まで到達する時間 = 車間距離 ÷ 自車両の速度 • 消失点と車両検出結果から車間距離を算出 • 道路のオプティカルフローから自車両の速度を算出 危険イベント専用のモデル・アルゴリズム開発 – 車間距離不足 19 自分 相手 自分 相手 自分 車間 距離 0 秒 0.8 秒 到達 車間時間 コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜 https://www.slideshare.net/dena_tech/drive-chart
  20. Mobility Technologies Co., Ltd. 消失点と車両検出結果から車間距離を算出 20 カメラ 消失点 実際の距離 消失点 画像上の y座標 消失点との 距離 画像中y座標の消失点との距離 と 実際の距離 は反比例する関係性 物体検出 レーン 検出
  21. Mobility Technologies Co., Ltd. 道路のオプティカルフローから自車両の速度を算出 21 車両車両 道路上のみ抽出 同スケールに統一 (≒上から見た座標への変換) 移動量 レーン・消失点検出 対象車両検出 ドラレコ動画 オプティカル フロー 道路 車両 道路情報形成 代表値取得 道路・消失点の幾何的性質
  22. Mobility Technologies Co., Ltd. エッジデバイスで利用可能な処理量が限られる • 発熱との戦い 処理負荷と精度のトレードオフを改善する必要がある • 許容される処理負荷内で精度を最大化 各モデルについて様々な選択肢の組み合わせを試行錯誤 • 物体検出フレームワーク • Faster R-CNN系、YOLO系、CenterNet, … • バックボーンモデル • ResNet, MobileNet, EfficientNet, … • モデル軽量化 • Pruning, distillation, 量子化, … モデルの最適化(精度と速度のトレードオフ改善) 22 画像認識と深層学習 https://www2.slideshare.net/ren4yu/ss-234439652
  23. Mobility Technologies Co., Ltd. エッジAI 23
  24. Mobility Technologies Co., Ltd. 外向きカメラ DRIVE CHARTのAI処理の流れ 24 エッジAIライブラリ 深層学習モデル 3軸加速度 センサ 3軸角速度 センサ GPS 内向きカメラ レポートシステム レポートサーバ レポート アルゴリズム 地図 エッジAI
  25. Mobility Technologies Co., Ltd. エッジデバイス(ドラレコ)でAI(深層学習を含むアルゴリズム) を動作させるエッジAIライブラリを開発 • C++からRustへ移行 • ビルドシステムやテストフレームワークがネイティブサポートされており またメモリ関係のバグがコンパイル時に発見できる等により 品質と生産性のトレードオフが改善 エッジAIライブラリの役割 • 深層学習モデル、CVアルゴリズム、前処理・後処理の高速実行 • 適当にやると前処理・後処理のほうが遅いというケースも • 開発環境とエッジデバイスでの一貫した動作の担保 エッジAIチーム 25 エッジAIライブラリ 深層学習モデル
  26. Mobility Technologies Co., Ltd. 様々な選択肢を検証し、技術選定を行う • プロセッサ:CPU, GPU, DSP • 推論エンジン:TensorFlow Lite, TorchScript, TVM, Arm NN, ... • モデル量子化:Post quantization, quantization-aware training 研究開発が完了したモデルをデプロイ用に変換 深層学習モデルの高速実行のために 26 深層学習ライブラリと量子化 https://lab.mo-t.com/blog/quantization-frameworks DRIVE CHARTにおける AI技術の事業応用 ーモデル開発からサービスデプロイまでー Part2 https://engineer.dena.com/posts/2020.03/drive-chart-ai-development-part2/
  27. Mobility Technologies Co., Ltd. 開発環境とエッジデバイスでの一貫した動作の担保 27 Edge AI Library (Rust) Cloud Edge AI Library (Rust) Cloud Edge AI Library (Rust) New Feature (Python) Drive Recorder • 研究開発時点では新規機能や 機能改善はPythonで実装 • 後述のテスト環境で実験 • FIXした機能からRustに 移植し、最終評価 • 実デバイスへ 組み込み エッジとクラウドでRustを使いこなす 〜AI/IoTでの事例〜 https://docs.google.com/presentation/d/1KdyhiigwmWRDzVvTi71Toajd0-YgwrkbmkpgmQmvx2o/edit?usp=sharing
  28. Mobility Technologies Co., Ltd. データサイエンス 28
  29. Mobility Technologies Co., Ltd. 外向きカメラ DRIVE CHARTのAI処理の流れ 29 エッジAIライブラリ 深層学習モデル 3軸加速度 センサ 3軸角速度 センサ GPS 内向きカメラ レポートシステム レポートサーバ レポート アルゴリズム 地図 データ サイエンス
  30. Mobility Technologies Co., Ltd. 一時不停止や速度超過を検出するためには地図の情報が不可欠 GPS情報と地図の情報から実際の走行経路を推測する 「マップマッチ」処理が必要 内製のマップマッチエンジンを開発 • 全国規模の道路ネットワークのデータ構造を最適化 マップマッチ 30 GPS 情報 走行 経路 オートモーティブの大規模データ処理を支える技術 / 後編: 大規模地図データ構造の最適化 https://engineer.dena.com/posts/2020.03/automotive-big-data-structure/
  31. Mobility Technologies Co., Ltd. Kaggle Masterが多数在籍 • Kaggleコンペを「作る能力」と「解く能力」が求められる 作る能力 • 評価指標、precisionが最重要 • 検出すべきものの精緻化 • 開発・評価データセットの設計・構築 解く能力 • モデリング:タスクとデータから最適な手法を選択 • ルールベース、アルゴリズム、信号処理、機械学習(e.g. GBDT)、深層 学習(e.g. LSTM)、あるいはそれらの組み合わせ • ルールでできればそれが一番 • EDA:(誤検出等の)実データを徹底的に確認し、”magic” の発見・活用 データサイエンスチーム 31
  32. Mobility Technologies Co., Ltd. MLOps 32
  33. Mobility Technologies Co., Ltd. AIアルゴリズムを実サービスにデプロイするための環境構築、 幅広いエンジニアリング 複雑なレポートシステムのための開発・テスト環境 (AIテスト環境)の構築 • 最近リニューアルしたのでこちらを紹介 MLOpsチーム 33 大規模・複雑な機械学習プロダクトの継続的な改善を支える実験プラットフォーム https://speakerdeck.com/ohke/da-gui-mo-fu-za-naji-jie-xue-xi-purodakutofalseji-sok-de-nagai-shan-wozhi-erushi-yan-puratutohuomu
  34. Mobility Technologies Co., Ltd. AIテスト環境とは • 大量の実走行データを収集し、レポートアルゴリズムの開発・改善を行うた めのデータセットに整形する • 実際の処理パイプラインに流し最終的な「イベント検出」の精度を検証する コンピュータビジョンのモデルの精度≠ 「イベント検出」の精度 • 複雑なパイプライン処理のため、上流の処理の変更のユーザ影響を確実に検 証しなければならない AIテスト環境 34
  35. Mobility Technologies Co., Ltd. エッジとレポートで一貫させた試験ができない • 新しいエッジモデルに追随したレポートの変更でバグを埋め込む可能性 単一の環境のため、複数のテストの同時実行できない • スピーディに改善サイクルを回せない テスト環境へのデプロイオペレーションが人力 • Dockerビルドからデータサイエンティストに委譲されていた ロジック開発に必要なデータの収集・管理が困難 • サービス環境から分離されているため 従来のAIテスト環境の課題 35
  36. Mobility Technologies Co., Ltd. エッジとレポートで一貫させた試験ができない • 新しいエッジモデルに追随したレポートの変更でバグを埋め込む可能性 単一の環境のため、複数のテストの同時実行できない • スピーディに改善サイクルを回せない テスト環境へのデプロイオペレーションが人力 • Dockerビルドからデータサイエンティストに委譲されていた ロジック開発に必要なデータの収集・管理が困難 • サービス環境から分離されているため 従来のAIテスト環境の課題 36 Kubeflow Pipelines を導入 Feature storeとETL system を内製
  37. Mobility Technologies Co., Ltd. Kubeflow: Kubernetes上に構築される機械学習プラットフォーム Kubeflow Pipelines: Kubeflowのワークフロー管理機能 特徴 • 実験管理に特化したパイプラインを構築できる • 各runを誰が回したかなどが明確にトラッキングされる • リッチなWebインタフェースが提供される • Kubernetesインフラの恩恵を受けられる • スケーラビリティ • AWS環境でも構築可能 Kubeflow Pipelines 37
  38. Mobility Technologies Co., Ltd. テストの実行をWeb UIで完結できる • パラメータの入力も可能 • 深層学習モデルの切り替えも簡単に Kubeflow Pipelines 38 各処理はDocker imageを 指定して起動
  39. Mobility Technologies Co., Ltd. Feature store • 中央集約的な特徴量管理システム 最近の機械学習システムの多くが大規模、複雑化 • データソース、特徴量、モデルの組み合わせが複数存在 • これらを解消する手段としてFeature Storeと 呼ばれるものを用意するケースが増えてきている 本件で必要な機能が限定的なため内製 • テストで抽出した特徴量をFeature storeに保存 • 前処理済みの特徴量を使って効率的にモデル開発できる • 適切なバージョニングによりテスト間での特徴のキャッシュ • Pandas DataFrameをそのまま入出力できるインタフェースを提供 Feature store 39 Feature Store in DRIVE CHART https://www2.slideshare.net/emakryo/feature-store-in-drive-chart
  40. Mobility Technologies Co., Ltd. ETL system • データの抽出、変換・加工、加工済みのデータをロード等を行うシステム 本テスト環境では、サービス環境に散在する生データをコピーして データセットを生成 特徴 • AWS Lambda+AWS ECS の実行基盤を API+CLI でラップしたエコシステム • データサイエンティストが集めたデータを使った一貫テストが実施可能 • エッジへの入力となる動画の収集も行う • パージされるデータの保全 • サービス環境のストレージコストの圧縮 • 機械学習のためのデータを必要なものだけ抽出して保存 ETL system 40
  41. Mobility Technologies Co., Ltd. テスト環境全体像 41 Test Y Test X データセット ETLシステム Feature store Edge Report 推論 前処理 出力 検出 前処理 出力 可視化 集計 動画 ロジック開発 サービス環境 AIテスト環境 エッジコード レポートコード カメラファイル カメラファイル センサファイル テーブル デプロイ デプロイ S3 (ファイルストレージ) Aurora (RDB) SageMaker (≒ Jupyter Notebook) ECS (コンテナ実行環境) Lambda (コンテナ実行環境)
  42. Mobility Technologies Co., Ltd. テスト環境全体像 42 Test Y Test X データセット ETLシステム Feature store Edge Report 推論 前処理 出力 検出 前処理 出力 可視化 集計 動画 ロジック開発 サービス環境 AIテスト環境 エッジコード レポートコード カメラファイル カメラファイル センサファイル テーブル デプロイ デプロイ S3 (ファイルストレージ) Aurora (RDB) SageMaker (≒ Jupyter Notebook) ECS (コンテナ実行環境) Lambda (コンテナ実行環境) ① データ 収集 ② 特徴抽出 ③ FSを介した ロジック開発 ④ 開発ロジック のE2E評価
  43. Mobility Technologies Co., Ltd. 「AI技術」と同じ、あるいはそれ以上に「AIを支える技術」が重要 AI技術 • コンピュータビジョンチーム • データサイエンスチーム AIを支える技術 • エッジAIチーム • MLOpsチーム まとめ 43
  44. 文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Mobility Technologies Co., Ltd. 44
Anúncio