Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第16回 MLOps 勉強会(Online) LT枠 大田黒
Search
Hiroyuki Ootaguro
February 17, 2022
Technology
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第16回 MLOps 勉強会(Online) LT枠 大田黒
https://mlops.connpass.com/event/236071/
Hiroyuki Ootaguro
February 17, 2022
More Decks by Hiroyuki Ootaguro
See All by Hiroyuki Ootaguro
OBD2 x RaspberryPiで車両情報を蓄積&BIで分析できるようにする
xecus
0
960
Product Development in Resilire seed phase 20210812
xecus
0
210
AI x IoT利活用SaaSにおけるデータ基盤の構築
xecus
0
1k
BIT VALLEY 2020 - AI x IoT活用サービスの立ち上げ・拡販のための取り組み
xecus
0
2.8k
Other Decks in Technology
See All in Technology
チームで実践する AI-DLC 思考の軌跡を残すチェックポイント設計
belongadmin
0
3.1k
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
9.3k
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
520
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
3
1.1k
ブロックチェーン / Blockchain
ks91
PRO
0
110
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
310
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
120
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
340
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
270
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
530
ABEMA の Datadog × OTel 基盤、 中から見るか? 外から見るか?
tetsuya28
0
110
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
230
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
エンジニアに許された特別な時間の終わり
watany
107
250k
A better future with KSS
kneath
240
18k
GitHub's CSS Performance
jonrohan
1033
470k
GraphQLとの向き合い方2022年版
quramy
50
15k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Bash Introduction
62gerente
615
210k
Context Engineering - Making Every Token Count
addyosmani
9
950
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
210
Transcript
2022年02月16日 大田黒 紘之 https://mlops.connpass.com/event/236071/ 第16回 MLOps 勉強会(Online) LT枠
Confidential 自己紹介 大田黒 紘之 @xecus , Born in Chiba 1994
▪東京都立産業技術高専 医療福祉工学科 コース (2009/4 - 2014/3) メカトロニクスとか数値計算周りを専攻。 人工衛星開発も一部。 ▪首都大学東京に編入 電気電子工学、半導体周りを専攻(量子効 果デバイスとか) ▪ABEJA 2015年〜 ・Insight for Retail (IoT x AI利活用プロダク ト)の立ち上げ・拡販 ・AIプロダクト事業部 プラットフォーム グループMGR (2022年1月現在) 社内勉強会用
Confidential 突然ですが.... 車を買ったので、世界で一つだけのMyドライブレ コーダーを作りたい!! 社外勉強会用
Confidential 何がやりたいか 4 ドライブ レコーダー <従来のドライブレコーダー> SD Card <今考えているドライブレコーダー案> ドライブ
レコーダー SD Card 動画 ストレージ AI推論による 意味づけ 車両情報 (運転情報) BIツ ール 等 事故が起きた時に自分・警察・保険会社が見る (それ以外のシーンではほとんど使わない) ECU 車を運転し続けるという体験をアップデートできる Something GPS 社外勉強会用
Confidential 機能の指向性を妄想 5 • ①細かい車両情報(OBD)を蓄積&BIツールで分析できるようにする (オレオレドラレコ基本機能) • ②撮影した動画をクラウド上で見ることができる(オレオレドラレコ基本機能) • ③車の維持が楽になる世界
◦ 時間・走っている場所毎のガソリン消費量や燃費変動の見える化。ガソスタレコメンド。 ◦ 車の部品のリアルタイム故障検知・予測(車のオルタネータが劣化してきた、BAT電圧低い等) ◦ オイル交換やオイルフィルター交換等の目安と近くのお店をレコメンドしてくれる世界 • ④車と家族の思い出を振り返られるような世界 ▪ GPSを用いた走行ログの蓄積と可視化。動画と連携。携帯のアプリから見る事ができる。 • ⑤解像度の高い運転危険情報が見えるようになる世界 ◦ 動画情報の意味解析を通じて、地域ごとのヒヤリハット情報等を蓄積化 & カーナビ反映 ◦ 例:地域ごとの危険イベントの集計・見える化 • ⑥企業やドライバーが環境に配慮できる世界観 ◦ 低炭素社会実現の為のCo2排出量の見える化 (SDGs, ESG文脈でもありそう) 個人 社会 社外勉強会用
Confidential 課題解決のアプローチ 6 ・ビジョン思考とデザイン思考を組み合 わせて、アプローチしてみる。 ・自分自身ソフトウェアエンジニアなの で、プロトタイピングをしながら進めて みる https://diamond.jp/articles/-/195874?page=2 社外勉強会用
Confidential OBD2 7 • OBD = On Board Diagnosis (車の自己診断機能)
• CAN通信というプロトコルを拡張している • OBDの歴史は深い ◦ 1971年 FI(Fuel Injection: 電子制御式燃料噴射装置)搭 載車の登場 ◦ 1980年代 自己診断機能で修理しやすく ◦ 1982年 自己診断機能の統一化からOBDの誕生 => OBDのベースに ◦ 1996年 OBD-IIの登場 (20年以上前からある枯れたプ ロトコル) • めっちゃいろんなデータが取れる ◦ https://en.wikipedia.org/wiki/OBD-II_PIDs 仮説:OBDを使えば、超細かい車両情報が ドライブレコーダーに記録できるかも 社外勉強会用
Confidential OBD2 8 ※OBD端子の位置はメーカー・車種に依存 (TOYOTA RAIZEは運転席の足元に) 社外勉強会用
Confidential OBD-IIを利活用するには 9 ECUや周辺コンポーネントのCANバスがOBD用物理ポートから出ているので、 そこを拝借して、データの送受信を行う (結構怖いw) http://make.bcde.jp/raspberry-pi/obd2canで自動車と通信ハード編/ https://monoist.itmedia.co.jp/mn/articles/0807/09/news140.html 社外勉強会用
Confidential OBD-IIを利活用するには 10 オレオレレコーダープログラム On RaspberryPi オレオレプロトコルスタック ここをうまくや ってくれる物理 層周りのハード
ウェアが必要 社外勉強会用
Confidential OBD2 (CANBUS)の通信ハードウェア 11 MCP2515 CANコントローラー MCP2551 CANトランシー バーIC https://docs.longan-labs.cc/1030001/
CANコントローラのICを使い、RaspberryPiやMCUと通信できるようにする ※カニチップ(Ethernetコントローラー)みたいなもん https://diary.freebbs.biz/archives/cat23/raspberrypi_spi.php 社外勉強会用
Confidential OBDコネクタからCANバスへのアクセス 12 CANコントロー ラーモジュール (UART制御) USB⇔UART変 換 モジュール 社外勉強会用
Confidential OBD2 13 社外勉強会用
Confidential OBD2フレームの解析 14 ECU (PID: 0x7E8)からサービスID(0x01)・データPID(0x0C: EngineSpeed)のリクエストに対す る応答。データLengthは4Byte データは 0x0D190000(00)
→ (0x0D ✕ 256 + 0x19) / 4 = 838 Rpm 社外勉強会用
Confidential システム全体像 15 Raspberry Pi 車両情報等 BIツールで 振り返り 社外勉強会用
Confidential RaspberryPi ⇔ 車両部分 16 CAN通信モジュール USB⇔CAN変換 USB⇔Serial変換 (FT234等) Serial⇔CAN通信
(Seeed社 Serial CAN- BUS Module) MCP 2551 MCP 2515 CAN通信モジュール RaspberryPi CAN通信モジュール OBD情報取得 プログラム (obd_recorder.go) /mnt/usb_memory Engine_rpm.jsonl xxxx.jsonl CAN通信モジュール OBD2端子 ECU #1 ECU #1 ECU #1 車両側 /dev/tty USB0 社外勉強会用
Confidential RaspberryPi ⇔ クラウド(GCP)部分 17 CAN通信モジュール RaspberryPi CAN通信モジュール /mnt/usb_memory CAN通信モジュール
GCP (クラウド側) Streaming Insert Engine_rpm.jsonl xxxx.jsonl Service Account ※数時間程度のざくっとプロトタイピング。下記プラグインを利用 https://github.com/fluent-plugins-nursery/fluent-plugin-bigquery OBD情報取得 プログラム (obd_recorder.go) car_dataset engine_rpm_table xxxx_table 社外勉強会用
Confidential データ取得の様子@京葉市川パーキングエリア 18 社外勉強会用
Confidential BIツール(Redash) x OBDデータ 19 • 現在取得できているデータ ◦ エンジン回転数(RPM) ◦
エンジン負荷(%) ◦ アクセルの位置(%) ◦ 冷却材の温度(C) ◦ 大気の圧力(kPA) →高度情報取れる ◦ インテークの温度 ◦ インテークの圧力 ◦ バッテリーの電圧 ◦ Short Time Fuel Trim (短期燃料トリム) ◦ Long Time Fuel Trim (長期燃料トリム) ◦ エンジン始動からの経過時間 社外勉強会用
Confidential ProtoTyping部分 20 社外勉強会用
Confidential WebカメラをRaspberryPiに接続 21 • ドンキカメラ ◦ MJPG ▪ 1280x720 30FPS
◦ YUYV ▪ 640x360 30FPS 社外勉強会用
Confidential ProtoTyping部分 22 RaspberryPi CAN通信モジュール video_recorder.py /mnt/usb_memory/videos CAN通信モジュール GCP Streaming
Insert YYYYMMDD-HHMMSS.mp4 Service Account video_uploader.py 社外勉強会用
Confidential OpenCVでWebカメラの映像を保存 (video_recorder.py) 23 • OpenCVのVideoCaptureとVideoWriterを用い て、60秒おきにファイル書き出しを実施 • 動画中に撮影時間をputTextを記載 社外勉強会用
Confidential 保存した動画のGCSアップロード (video_uploader.py) 24 • VideoRecorderの出力するmp4ファイルを随 時GCSへ動機 • (FluentdやEmbulk等で、ファイルの TIMESTAMPからパスをいい感じに調節しなが
らアップロードできるならそちらに切り替えた い) 社外勉強会用
Confidential オレオレドライブレコーダーの映像解析 25 • 映像データの意味付け ◦ ObjectDetection ▪ https://github.com/open- mmlab/mmdetection
◦ Segmentation ▪ https://github.com/open- mmlab/mmsegmentation 社外勉強会用
Confidential ABEJA Advent Calendar 2021の1日目の記事。 https://qiita.com/xecus/items/c96bec764e20946059a0 元ネタ 社外勉強会用
Confidential 紹介①: ABEJA Platform (MLOps Platform) 27 社外勉強会用 https://abejainc.com/platform/ja/
Confidential 宣伝①: ABEJA Platform (MLOps Platform) 28 社外勉強会用 https://qiita.com/Nagafuchik/ items/f265824e8091f5c384a9
https://qiita.com/naoki0423/ items/1cf91993561712be8c13
Confidential 宣伝②:ABEJA 採用強化しています! 29 社外勉強会用 https://hrmos.co/pages/abeja/jobs