本記事はソラコムが提供する「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公式ブログ に最初に表示されました。
この連載の記事
-
第401回
デジタル
IoTの基礎知識から実務を網羅した一冊「IoTの知識地図」 ― 見どころ解説 -
第400回
デジタル
USB型LTEデバイス「Soracom Onyx」向け、防水・防塵アンテナセットの販売開始 -
第399回
デジタル
クラウド型カメラの新たな使い方を提案!ソラカメの新機能「ライブ視聴見放題」ご紹介 -
第398回
デジタル
見える化、監視の次は? ソラコムが考える製造業IoTのメリットと課題 -
第397回
デジタル
Make a Global Impact as a Technical Writer at Soracom -
第396回
デジタル
SORACOM LTE-M Button powered by AWSの移行受付を開始、SPSアワード 2023の表彰を発表 takuyaのほぼ週刊ソラコム 04/01-04/14 -
第395回
デジタル
SORACOMの新機能開発の舞台裏 ― お客様の声からリリースまでの道のり -
第394回
デジタル
動画で分かる!SORACOM Lagoon 3への移行の手順 -
第393回
デジタル
ソラカメ運用管理をより簡単に!アクセス権限設定テンプレートのご紹介 -
第392回
デジタル
生成AIによる「ブログの原稿作り」手順やプロンプトを公開