本記事はソラコムが提供する「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公式ブログ に最初に表示されました。
この連載の記事
-
第502回
デジタル
IoTがトラック輸送業界をどのように変えているのか -
第501回
デジタル
簡単に構築、カメラ+SORACOM Flux+生成AIによる映像監視システムの解説 -
第500回
デジタル
位置情報トラッキングシステムのIoTレシピを公開、日経CNBC「トップに聞く」出演動画公開、他 ほぼ週刊ソラコム 01/04-01/24 -
第499回
デジタル
3Gのサービス終了に向けたIoTデバイスの準備方法 -
第498回
デジタル
【保存版】 ここから始める IoT 、基礎から学べる入門向けコンテンツガイド -
第497回
デジタル
総勢31名の執筆陣!SORACOM アドベントカレンダー 2024とソラコムサンタの振り返り -
第496回
デジタル
SORACOM Flux の Webhook アクションが認証ヘッダーに対応、AWS Signature V4 も使用可能に。より広がる IoT アプリの自動化へ! -
第495回
デジタル
2025/1/29(水) オンラインセミナー「まだ間に合う!3G停波後のIoT通信」を無料開催! -
第494回
デジタル
SORACOM Flux グランプリ開催!セールスメンバーの挑戦と成果 -
第493回
デジタル
【後編】生成 AI を “さらに” 使いこなす、5つの考え方とユースケース