こんにちは、ソリューションアーキテクトの内田(ニックネーム: jet)です。
2023年11月21日に開催した ソラカメセミナー「ノーコードで始められる ChatGPT x AIカメラ活用」のQAセッションでいただいた質問の中に、ソラカメ API を活用して、イベントで紹介したような ChatGPT を使った、簡易的な画像解析が行えるか?というものがありました。
今回は、実際の Open AI API とソラカメ APIを利用して、ChatGPT 風に画像についての説明をキャプションとして追加したり、写り込んでいる中身についてのQAを行えるサンプルを追加しました。
サンプル内で Open AI の API を利用しているため、これまでと異なり実行するには別途Open AI の APIキーが必要にはなりますが、画像に対して自然言語で質問しながら、画像解析を行えます。
サンプルを体験するには
サンプルを体験するには、これまで公開しているものと同様にまずは以下のページを確認してください。
そのあとは、今回のサンプル用のガイドページを開いて サンプルコード の項目に記載されているリンクをクリックするだけで体験できます。
今回のサンプルで利用しているのは、openai が提供している openai-python というライブラリを利用しています。openai-python は、OpenAI の公式ページでも紹介されているPython用ライブラリで、Apache License 2.0 で提供されています。
ライブラリから OpenAI API を呼び出すため、利用するには OpenAI の API キーが必要になります。また、OpenAI API の利用には別途料金がかかります。これらの OpenAI API についての詳細については、以下のOpenAPIの公式ドキュメントを確認してください。
https://platform.openai.com/docs/quickstart
ソラカメ API と OpenAI API を利用することで、ソラカメがクラウドへ録画した映像から画像を切り出して、その画像を ChatGPT 風に自然言語を使って簡単な画像解析できます。もちろん専用のAIモデルのような精度は実現できませんが、自然言語でインプットできるので、手軽に違ったバリエーションを試せます。ChatGPTのWebコンソールと似たようなことができるサンプルなので、ChatGPTを含めて自動化や仕組み化を検討している場合には参考になるかと思います。
ソラカメはクラウド環境でデータを管理し、整備されたAPIを提供しています。このおかげで、他のAPIを使用しているサービスと簡単に連携できるようになっています。
イベント画像を OpenAI で解析する
イベント発生時の画像を、APIを利用して取得します。その取得したイベント画像に対してOpenAI APIを利用して、自然言語で質問や確認を行えます。例えば、以下の画像に対して「画像の解説をお願いします。」と質問してみました。
AIからの回答は
# 🤖 Reply message =
この画像は屋外のテラスまたはデッキの視点から撮影されたものです。木の枝が落葉しているため、撮影時はおそらく秋か冬です。空は晴れており、遠くの丘陵地帯が見えます。デッキの手すりに沿っていくつかの鉢植えが置かれていますが、植物は寒い季節のためか成長していないように見えます。
デッキの床板は木製で、天気の影響を受けた表面が見受けられます。画像の左端には建物の一部が映っており、そこにはスピーカーのように見えるオブジェクトが壁に取り付けられています。
画像の右上には日時スタンプがあり、2023年12月20日の10時10分39秒に撮影されたことを示しています。また、左下には「ATOM」というテキストと小さなロゴがありますが、これはカメラのブランド名かもしれません。
画像中央に緑の四角で囲まれたエリアがありますが、これは画像を監視するカメラシステムのモーション検出または特定のエリアを強調する機能によるものかもしれません。特に活動が見られる人物や動物はいないようです。
ChatGPTと同じく、説明文は動的に作成されているため、同じ画像を利用しても同じ説明文になるとは限りません。
と言った結果になりました。人が確認してみると、スピーカーはなさそうに見えたり、緑のバウンディングBOXの中には、鳥?カラス?らしきものが見えたりします。このように精度を求めるのが難しい部分ではありますが、専用のAIモデルと違い自然言語で自由に質問ができたり、解析対象の画像も自由に変更できる部分は大きなメリットになるかと思います。例えば、正確な人数のカウントが必要ない場合に、混雑しているか?を問いかけて回答するような場面では有効に利用できるかと思います。実験や検証を行うフェーズでは、自由度高く色々と試すことができるため、大きなメリットになるのではないでしょうか?
まとめ
今回追加したサンプルでは、画像に対してOpenAI のAPIを活用することで、ChatGPTと同じように自然言語で画像の内容を取得したり、画像の内容について質問したりできる内容でした。
ソラカメを使ってクラウドへ録画し、ソラカメAPIを活用することで録画データを他のサービスやAIに対してのインプットとして利用できます。ChatGPTをはじめとした、基盤モデルを利用しているサービスを利用することで、より簡単で手軽に画像に対して解析を行えるようになります。これにより、より柔軟に色々な可能性を試すことができますのでぜひソラカメAPIを活用してみてください。
また、ソラカメAPIのサンプルは他にも公開していますのでこの機会に合わせてぜひご確認ください。
ソラカメをお持ちでない場合も、ソラカメ無償トライアルが利用できますので、合わせてぜひ体験してみてください。
― ソラコム内田 (jet) @uchimanajet7