本記事はソラコムが提供する「SORACOM公式ブログ」に掲載された「クラウド型カメラとAIで画像にキャプション付けをするサンプル公開」を再編集したものです。
こんにちは、ソリューションアーキテクトの内田(ニックネーム: jet)です。
最近のアップデートで無料トライアルで購入前にオンラインで体験できるようになったクラウド型カメラサービス「ソラカメ」ですが、この無料トライアル中のカメラでももちろんAPIが利用できます。
今回新たに追加したソラカメAPIの活用サンプルでは、ソラカメで撮影されたイベント画像をAPIを使って取得し、AIを使って画像のキャプション(画像の説明文)を付けたり、画像に対して自然言語で質問できるVisual Question Answering (VQA)を体験できたりします。
たとえば、出入り口や搬入口にカメラを設置して、イベント発生時の画像や動画で、何が記録されているかを確認を取りたい場合があるとします。その際、手作業で確認する場合は、検知したイベントの数に比例して多くの時間を使ってしまいます。AIを利用して、画像や映像の内容からキャプション(画像の説明文)が得られれば、何が記録されているかをキャプションの文字列から確認するようなユースケースで活用できるかと思います。
サンプルを体験するには
サンプルを体験するには、これまで公開しているものと同様にまずは以下のページを確認してください。
そのあとは、今回のサンプル用のガイドページを開いて サンプルコード の項目に記載されているリンクをクリックするだけで体験できます。
今回のサンプルで利用しているのは、Salesforceが提供しているLAVISというライブラリを利用しています。LAVISは、LAguage-and-VISion(言語とビジョン)の研究およびアプリケーションのためのPython用ライブラリです。
今回はLAVISに含まれているlanguage-vision modelsの中からBLIPを使って、画像にキャプションをつけるサンプルを作成しています。BLIPは現時点では BLIP-2という最新のモデルも存在しますが、サンプルを実行している無償の環境ではリソースが不足するため、BLIPを利用しています。
今回LAVISを利用することにしたのは、まず簡単にセットアップができてすぐに試せることです。複雑なセットアップは必要なく、pipを利用してセットアプできます。また、ライセンス的にBSD 3-Clause Licenseで公開されているため取り扱いしやすく、体験の後のステップでも利用しやすく体験したことを活用できるからです。
このような、画像に対してAIを活用していく流れは、みなさんご存知のChatGPT でも最近のアップデートで追加されている機能です。この機能は順次公開されているようで、現時点では私が利用している環境では利用できませんでした。残念です。利用できる様になったら、ソラカメAPI経由で取得した画像で実際に試してみたいと思います。
イベント画像にキャプションを付ける
イベント発生時の画像を、APIを利用して取得します。その取得したイベント画像に対してAIを利用して、画像についてのキャプション付けを実行できます。例えば、上記の画像に対してキャプション付けを行ってみると以下のようなキャプションとなりました。キャプションは実行時に動的に作成されているた
め、同じ画像を利用しても同じキャプションになるとは限りませんので、あくまでも一例になります。
# The description of the image =
[‘shelves that have different types of snacks’,
‘an orange box next to a black case with some food on it’,
‘a couple of shelves of cereal, chips and other snacks’]
今回はサンプルとなるので、キャプション自体のバリエーションを確認できるように3行のキャプションが出力されています。なんとなくですが、画像の状態を説明しているような文章が出力されていることがわかるかと思います。
イベント画像に Visual Question Answering (VQA) を行う
VQAは、対象の画像についての質問を自然言語で入力すると、AIが画像の内容を読み取って質問に対して文字列で返答を行います。今回利用しているライブラリでは、質問は英語で入力する必要がありますが、画像に関する質問にAIが回答するため、前述のキャプション付けと異なり自由に質問内容を変更できるので、ぜひいろいろと試してもらえると嬉しいです。
キャプション付けと同じイベント画像に対して、「Please describe the image.」という質問をなげかけてみました。回答として「food items」というテキストが返ってきました。他にも色々と写ってるとは思いますが、写ってるものは回答されているかと思います。
# question = Please describe the image.
# Generated answer = [‘food items’]
まとめ
今回追加したサンプルでは、画像に対してAIを活用することで自然言語で画像の内容を取得したり、画像の内容について質問したりできる内容でした。
ソラカメを使ってクラウドへ録画し、ソラカメAPIを活用することで録画データを他のサービスやAIに対してのインプットとして利用できます。これにより、より柔軟に色々な可能性を試すことができますのでぜひソラカメAPIを利用してみてください。
また、ソラカメAPIのサンプルは他にも公開されていますので、合わせてそちらもぜひ体験してみてください。
― ソラコム内田 (jet) @uchimanajet7
投稿 クラウド型カメラとAIで画像にキャプション付けをするサンプル公開 は SORACOM公式ブログ に最初に表示されました。
この連載の記事
-
第485回
デジタル
省電力通信LTE-M対応の小型マイコンボードをSORACOM IoTストアで提供開始、ローコードIoTアプリケーションビルダー「SORACOM Flux」の料金プランを発表 takuyaのほぼ週刊ソラコム 11/30-12/13 -
第484回
デジタル
AWS re:Invent 2024に見る、IoTの成熟と生成AIとの融合 -
第483回
デジタル
二歳半の子供を持つエンジニアの一日の働き方 -
第482回
デジタル
VPN 対応の産業用 LTE ルーターの価格改定【30%オフ】 -
第481回
デジタル
時間帯に応じたメール通知の構築方法 : SORACOM LTE-M Button と SORACOM Flux の活用 -
第480回
デジタル
SORACOM Flux 料金プランを発表しました -
第479回
デジタル
12/11-13 商業施設・店舗DX展に出展:最新IoTソリューションや事例をご紹介 -
第478回
デジタル
コープさっぽろが、クラウド型カメラ「ソラカメ」を全店舗で導入、現場主導の改善を実現、サーバールームの異常な温度上昇を通知する新規掲載レシピ takuyaのほぼ週刊ソラコム 11/16-11/29 -
第476回
デジタル
WebRTCとMedia over QUIC Transportの性能比較 -
第475回
デジタル
SORACOM Lagoon 3 の [Math] 機能で、複数データを組み合わせた通知の手順