2022年12月13日開催「SORACOM UG Online #14 ~ ソラカメ API & ゆく年くる年」で、ソラコム三國(mick)が発表した資料です。
ソラカメ + Lobe + AWS Lambda + Tensorflow Liteで鍵の閉め忘れを検知するSORACOM UG Online #14 ~ソラカメAPI&行く年来る年~Dec. 13, 2022株式会社ソラコムCustomer Reliability Engineer三國直樹 (mick / @n_mikuni)
View Slide
自己紹介三國直樹 (mick)Customer Reliability EngineerSORACOM の技術サポートやドキュメント等を担当今年の抱負: 一に健康、二に家族、三に仕事
師走は慌ただしいhttps://www.meti.go.jp/statistics/toppage/report/minikaisetsu/hitokoto_kako/20151207hitokoto.html
IoT 現場 (家庭) の心配事やることが多い。年末は防犯も心配だ。あれ、玄関の鍵閉めたっけ?
作ったもの• 鍵の開閉を認識し LINE で通知
構成Amazon EventBridge LINE NotifySoracom Cloud Camera ServicesAWS Lambda (ハンドラ)AWS Lambda (推論)1. 定期的な呼び出し 4. 通知3. 推論2. 静止画像の取り出し
1. アカウントを準備する (SORACOM、LINE Notify、AWS)2. 物理環境を用意する (ソラカメ対応カメラ)3. 画像認識のためのモデルを作成する (Lobe)4. AWS Serverless Application Model + Docker を使ってデプロイするRef: https://github.com/nmikuni/door-key-open-detector構築手順
物理環境を用意する (ソラカメ対応カメラ)
ラベリング・トレーニング・利用 (エクスポート) が簡単にできる画像認識のためのモデルを作成する (Lobe)
デプロイAWS LambdaServerless Application ModelDockertemplate.yamlDockerfile
気になる精度…トレーニングデータでは最高で 9 割たまに誤判定している
Bounding box がないから…?(下は Amazon SageMaker Ground Truth の例)仮説
Bounding box がないなら、トリミングだ!!
Microsoft Paint で狙いを定めて
Python でトリミング!
Lobe 上では 100% の精度を達成
Lambda でも推論する画像をトリミング
トリミングの位置をハードコーディングしているためカメラの固定は不可欠
(今のところ) 100% の精度を達成!結果
• ソラカメ API で簡単に画像をエクスポートできる• Lobe も簡単に使うことができる• Serverless Application Model を使うことで、Lambda で Tensorflow Lite を動かせる(ブログに書いたが、ビルドはやや大変)• イベント API と組み合わせて、イベントがあった時にだけ Lambda をトリガーするようにしたいまとめ