こんにちは、このブログでは「カメラとAIで楽器演奏シーンを簡単に残す、IoTプロトタイピング」制作の様子について、ご紹介します。制作はソラコムの深野(ニックネーム: noa)、辻(tadashi)、松下(koki)の3名です。それぞれ自己紹介です。
- Noa::ピアノが大好きなので昨年より、このプロトタイプの企画を担当しています。
- Tadashi:ピアノ演奏が大好きなエンジニアです。今回は演奏者兼デモ説明員としてプロトタイプに参加しました。
- koki:今回のプロトタイプ開発を担当しました。
ピアノに限らず楽器演奏のちょっとした悩みが「周囲にはどのように見えている、聞こえているのだろう?」という視点の確認です。特にソロ練習では、スマートフォンで撮影することもありますが、録画開始→演奏→録画停止という手間は、想いの他焦ってしまったり、また、録画データの中から確認ポイントを探すのも一苦労です。
そこで、クラウド型カメラサービス「ソラカメ」とAIを組み合わせて、演奏の様子を簡単に残せるIoTプロトタイプ「IoT × Music II」を製作しました。
“II” の由来: 本プロトタイプは、2023年のSORACOM Discovery でも「IoT × Music」として展示していました。そのアップグレード版として “II” としました。昨年はIoTボタンをリモートシャッターボタンとして使っていましたが、今年はAIを活用しています。
プロトタイプの技術要素と流れ
IoT × Music 2のコンセプトは「入場 ・演奏 ・退場を繰り返すピアノの発表会をイメージし、入場と退場を除く、演奏中の動画を自動で書き出す」です。
構成は以下の通りです。ポイントはローコード IoT アプリケーションビルダー「SORACOM Flux」内の “簡易物体検知 (AI)” で人物検出しているところです。
開発者の方向けに、具体的な処理の流れも解説します。
- 「ソラカメ」の動画(RTSP)が、セキュアリンク(VPN)サービス「SORACOM Arc」経由でメディア転送サービス「SORACOM Relay」に送られます。
- SORACOM RelayのMotion Detection で動きが検知されると、検知された時の静止画が、データ蓄積サービス「SORACOM Harvest Files」にアップロードされます。
- アップロードされた静止画が、SORACOM Fluxの簡易物体検知によって解析され、人物の存在を検出します。
- 人物の検出結果に基づき、録画の開始・停止の状態変更の依頼をWebHook 経由で、このプロトタイプのAWS Lambda へ通知します。
- ユーザーは Web ブラウザの UI から、こ のプロトタイプのAWS Lambda 経由で録画の状態や録画の開始・停止日時を取得できます。また録画の開始・停止日時をもとにこのプロトタイプのAWS Lambda 経由でソラカメの常時録画動画をエクスポートできます。
開発者視点でのポイントは、以下2つです
- ソラカメの動画は常時クラウドに録画されており、その録画データをエクスポートしています。SORACOM Relayで録画した動画データも利用可能ですが、数秒単位での切り出しを行うには、ソラカメのWebAPIを利用する方が容易でした。
- 人物検出については「すべての動画から人物検出する方法」も考えたのですが、クラウドのコストが高額になることが見込まれたため、出来る限りカメラ側で「変化が有った時のみ人物検出する」ようにしました。
実際の動作の様子
ブラウザアプリ上の UI
演奏待機中のプロトタイプ画面は、以下のとおりです。
演奏中は、以下のように “REC” が表示されます。
SORACOM Flux の設定
SORACOM Flux では、IoTデバイスのデータの扱いをフローという形で構築していきます。
このように、ソラカメ、SORACOM Relay、SORACOM Fluxを組み合わせることで、簡単に動画の切り出し時間を設定できるようになりました。さらに、Object Detectionでの検出結果を活用し、LLM(大規模言語モデル)による画像認識を行うことで、より高度な判定も可能となります。
書き出された動画
以下のような動画が自動で書き出されます。
なお、以下のように演奏していました。手前にソラカメ、右に ブラウザアプリのある PC が写っています。
おわりに
昨年のSORACOM Discovery 2023 IoTプロトタイピングコーナーでは、ご家庭でのピアノ練習をイメージし、練習風景を簡単に録画することを可能とするプロトタイプを展示しました。
そのため、IoTボタン「SORACOM LTE-M Button」をリモートシャッターボタンとして、その操作で録画の書き出し時間のインデントを設定し、動画をダウンロードする手動操作のシステムでした。
「もっと自動化したい」というnoaの要望に応えるべく、今年は自動化の実現方法を検討しました。特に人物の検出に苦労して断念しかけましたが、SORACOM Relayの新機能「Motion Detection」と「SORACOM Flux」を組み合わせることで、このように簡単に手動操作なしで書き出し時間のインデントを設定し、動画をダウンロードできるシステムを実現できました。
SORACOM Discovery IoTプロトタイピングコーナー「IoT × Music II」のアイデアがきっかけとなって、楽器の演奏や練習がより便利により楽しくなると嬉しいです。
免責事項
本記事内で紹介している制作物(コンセプト、回路、システム実装など)は社員がプロトタイピングしたコンセプト実装です。その性質上、回路構成やシステムには改善の余地があります。この制作物の構成をソラコムが推奨するものではありません。また、ソラコムによる実装に関する動作保証やサポートはありません。実装を参考にする場合は自身の責任において実施してください。