先日、OpenAIのAPIでGPT-4Vが使用できるようになりました。 https://platform.openai.com/docs/guides/vision
画像認識機能を使用して作成できそうなアプリについてChatGPTに相談してみたところ、下記のような回答が得られました。 どれも一度は使ってみたいと思えるようなアプリだったので、実際に実現することは可能なのか検証してみました。
この記事では、OpenAIの最新モデルであるGPT-4Vを活用し、Unreal Engineで作成した3D環境の画像がGPT-4Vによってどのように解析されるのかを探ります。具体的には、3D空間のスクリーンショットを取得し、それをGPT-4Vに読み取らせることで、AIがどの程度の視覚データを処理し、何を抽出できるのかを評価することに焦点を当てています。
GPT-4Vとは
OpenAIから新しくGPT-4Vが提供されました。これは、画像を理解することができるモデルをAPI形式で利用可能にするものです。
GPT-4Vは従来のテキストベースの処理に加えて、視覚の分析を可能にし、AIの応用範囲を大きく広げています。
https://platform.openai.com/docs/guides/vision
Unreal Engine 5.2の概要
この検証には、Epic Gamesの開発したUnreal Engine 5.2を使用しました。
Unreal Engineは、その高品質なグラフィックと使いやすさで知られるゲームエンジンですが、映画制作やビジュアルコンテンツ制作など、多岐にわたる分野での応用が可能です。
https://www.unrealengine.com/ja/blog/unreal-engine-5-2-is-now-available
今回、Unreal Engine 5.2を利用して、GPT-4Vとの組み合わせを検証しました。そのプロセスを通じて、Unreal Engineがどのように最新技術と融合し、新たな可能性を開くかを探ることができました。
分析結果の解説
この検証の分析結果を下記に記載します。
この検証では、Unreal Engineの3D環境内を自由に歩き回りながら、その場でGPT-4Vによる分析結果を直接確認できるようにすることを目指しました。このアプローチにより、仮想空間内での対象物や環境の即時分析が可能となります。
この検証で得られた分析結果は、GPT-4Vの画像解析機能を明確に示しています。特に、Unreal Engine 5.2で作成された3D環境内の画像に対して、GPT-4Vは内容を正確に識別し、関連する情報を提供することができました。
以下の画像は、GPT-4Vによる分析結果の一例を示しています。 画面の左上に、GPT-4Vによる分析結果を表示させています。
※ 分析結果の表示方法は、「検証の方法と環境設定」の項目を参照してください。
オーブンなどの電化製品が配置されていることまで、把握できています。 鏡が2つあるという文章は、AIが誤って認識してしまったのかと思われます。ただ、洗面台は2つあると認識できており、その他の文章も部屋の雰囲気を的確に捉えています。
Triplex House Villa in Architectural Visualization - UE Marketplace
かなり小さく表示されているはずの食器やグラスの存在まで把握できています。
Realtime Archviz AssetPack - Bistro Restaurant Scene in Architectural Visualization - UE Marketplace
かなり暗い画像ですが、グランドピアノや楽譜が置かれていることを把握できています。
検証の方法と環境設定
この検証では、Unreal Engine 5.2とGPT-4Vの接続を確立するために、特定のブループリントの作成と変数設定を行いました。この設定により、Unreal EngineからGPT-4VのAPIにアクセスし、画像データの送信と分析結果の表示を行う事ができます。
以下の画像は、GPT-4Vに接続するためのブループリントの設定内容を示しています。 下記の箇所で、3D環境のスクリーンショットを取得しています。 キーボードの任意のキーを入力すればスクリーンショットが取得できるように、インプットアクションを設定しました。 取得したスクリーンショットの最新のファイルを取得する処理です。 GPT-4Vに問い合わせる質問文は下記で設定しています。
今回は”What's in this image? Please answer in Japanese."で問い合わせを実行しました。
下記の箇所で、GPT-4VのAPIにアクセスしています。 GPT-4Vの分析結果を画面に表示する処理です。今回は読みやすいように、日本語の句点で改行する処理を実行しました。
ブループリント内で設定した変数名とその内容です。Screenshot File Arrayには、スクリーンショットで取得した画像ファイル名の配列が格納されます。 Screenshot Directoryはスクリーンショットを保存しているディレクトリ名が設定されます。
下記はスクリーンショットを保存しているディレクトリのサンプルです。 Unreal Engine 5.2のプロジェクトを作成したディレクトリ配下に保存されます。
Base 64Header Stringには、GPT-4Vに問い合わせる為に必要なヘッダー情報を設定します。
また、GPT-4VのAPIと接続する為に、下記のプラグインを使用しています。 Blueprint File Utilitiesは、スクリーンショットの保存ディレクトリにアクセスするのに使用します。 DTBase64は、スクリーンショットで取得した画像をBASE64変換するのに使用します。 Base64:コードプラグイン - UE マーケットプレイス
※ DTBase64は有料です。
FetchはAPIにアクセスする為に使用します。
Fetch - A Simple HTTP Client:コードプラグイン - UE マーケットプレイス
※ Fetchは有料です。
まとめ
この記事では、OpenAIの最新モデルGPT-4VとUnreal Engine 5.2を組み合わせた検証を行い、これらの技術が仮想空間でのアプリケーション開発にどのように貢献できるかを探りました。
この検証を通じて、GPT-4Vの画像解析能力とUnreal Engineの高度な3D環境構築能力が、仮想空間でのリアルなアプリ検証を可能にする事がわかりました。
手動でキャプチャ画像をアップロードする必要はありますが、ChatGPT PlusでもGPT-4Vによる画像分析が実行できるので試してみましたが、マルチモーダルAIを活用したアプリ開発は可能なのではないかと思える回答が得られました。
私が提案した画像とは異なりますが、ダイニングテーブル上に吊り下げるペンダントライト、バラエティ豊かにした壁のアートワーク、グリーンを取り入れてリラックスした雰囲気を作るなど、AIがどのような提案を伝えたいと思っているのか理解できました。
マルチモーダルAIの利用可能性が拡大することで、メタバース空間やデジタルツインのような仮想環境の開発と整備が、より効率的かつ革新的に進むことが期待されます。これらの進歩は、ビジネス、教育、エンターテインメントなど多岐にわたる分野での新たなイノベーションを促進し、私たちの日常生活や仕事をより豊かで効率的なものに変えていく可能性を秘めています。
これらの技術がもたらす未来の展開には大いに期待できます。この記事が、マルチモーダルAIの興味深い概要と、その広がりつつある世界への応用可能性についての理解を深める一助となれば幸いです。