未来を切り開くマルチモーダルAI:GPT-4VとVideo-LLaVAによる動画解析

データアナリティクス部の入澤です。
2022年以来、ChatGPTをはじめとするいわゆる「生成AI」の話題が世間を驚かせています。先月(2月)15日には、OpenAIから動画生成AI(テキストから動画を生成する)「Sora」が登場し、その衝撃的な生成能力には恐怖すら感じます。

ところで、皆さんは有料版ChatGPTを利用していますか。

ご存じの通り、有料版ChatGPTは高い文章生成能力を持っていますが、さらに画像も入力・生成することが可能です。画像とテキストのように異なるデータを扱えるモデルをマルチモーダルAIと呼び、現在多くの注目を集めています。

そこで今回は、動画とテキストを扱えるマルチモーダルAIを使い、簡単な動画認識をしてみようと思います!

そもそもマルチモーダルAIとは

マルチモーダルAIは、複数の情報(モダリティ)を組み合わせて処理できるAIを指します。人間が複数の感覚で情報を取得・処理しているように、マルチモーダルAIは、画像、テキスト、音声などを同時に扱うことができ、より高度な認識、理解ができると期待されています。

対照的に、シングルモーダルAIは1種類の情報のみを扱います。例えば、一般的な画像認識や機械翻訳などが該当し、マルチモーダルAIと比較して単純なタスクに適しています。

どちらのアプローチを採用するべきかは、用途や利用可能なデータの種類によりますが、GPT-4VやGeminiなどの最先端のAIでもAPIを叩けば簡単に利用できるようになったことで、マルチモーダルAIを用いた社会実装が本格的に進んでいくのではないかと思います。

動画とテキストを扱うマルチモーダルAIを動かす

複数の情報を扱えるマルチモーダルAIですが、今回の記事では、動画とテキストを入力して、テキストを出力する以下のマルチモーダルAIを動かしてみます。

  • GPT-4V
  • Video-LLaVA[1]

ざっくりと各モデルの説明

GPT-4Vについて

GPT-4Vは、テキストと画像の両方を入力として受け取り、テキストを出力するマルチモーダルAIの一つです。画像自体の説明はもちろんのこと、画像内に含まれるテキストもそこそこ認識してくれます。

実際に試してみるとその凄さが分かると思いますが、このGPT-4Vをより活用するには、モデルに入力するプロンプト(この場合テキストと画像)の質が重要となります。詳細なコンテキストやいくつかの例(few-shot)を与えることで、GPT-4Vはより正確な出力を生成してくれます。また、GPT-4Vの画像認識能力をさらに強化するために、画像のプロンプトとして、画像上に各物体の数字を記載することで物体の関係性を認識しやすくするSoM[2]という手法も提案されています。詳しいことは割愛しますが、興味ある方は是非、論文[2]を読んでみてください。

画像内の各物体に数字をマークすることで、より詳細な情報を取得できる[2]

ただ、GPT-4(V)は詳細な学習データや手順などは公開されておらず、クローズドソースモデルでもあります。そのため、実際にビジネスで使用する際には、十分な検証と注意が必要です。

Video-LLaVA

Video-LLaVAは、テキストと動画(画像)を入力し、テキストを出力するマルチモーダルAIの一つです。画像と動画データから学習されてるので、画像と動画の両方を理解する能力を持っており、いくつかのデータセットで優れた性能を達成したモデルです。

Video-LLaVAが発表された以前にも、画像と動画を認識するモデルはいくつかありましたが、多くは画像と動画を別々のエンコーダで変換し、大規模言語モデル(LLM)に入力させるアプローチをとってました。一方で、Video-LLaVAでは別々のエンコーダを使用せずに、LLMに入力する前に、画像と動画を関連付けて(アライメントして)、入力するアプローチをとっています。つまり、画像と動画もどちらも目で認識できるものだから、統一的な視覚空間に関連付けてからLLMに入力した方が良いよねというお気持ちです。こちらはGPT-4Vとは異なり、オープンソースとなっています。

Video-LLaVAでは、画像と動画の関係性を調整し、LLMに入力するアプローチをとっている[1]

実験準備

いざ、それぞれの動画認識能力を見てみます!
しかし、実際にはGPT-4VもVideo-LLaVAも、動画そのものを入力することはできません…

それでは、どのように動画認識をするかというと、動画から数枚のフレームを抽出しモデルに入力することで実現します。Video-LLaVaの中身をよく見ると、動画から8枚のフレームを抽出して使用するようなので、GPT-4Vに入力する画像もその8枚に合わせることにします。

(動画内のどの8枚を選ぶかというと、動画の総フレーム数を8分割し各分割点におけるフレームとしているようです。執筆時点では、簡単に反映できなかったですが、今後、動画のどのフレームを採用するかを柔軟に指定できるようになるとのことでした。1)

実験1

使用する動画以下です。なお、元の動画2から8枚を抽出して、1秒間に1枚表示される動画としています。先述のとおり、モデルに入力するのは8枚の画像です。

テキストプロンプト

まずは、一般的なことについて聞いてみます。プロンプトは以下としました。

これは,動画から連続に切り出したフレームです。
この動画を説明してください。

各結果

GPT-4V
この動画は、パリの象徴的なエッフェル塔を背景に、セーヌ川沿いの道路を車で移動している様子を捉えたものです。画像は晴れた日の昼間に撮影されており、雲が空に浮かんでいるものの、日差しは明るく、視界は良好です。エッフェル塔は遠景にそびえ立ち、その独特な鉄骨構造がはっきりと見えます。道路は比較的交通量が少なく、ゆったりとしたドライブを楽しむのに適しているように見えます。河岸には木々が植えられており、都市の中にある自然の息吹を感じさせます。この動画は、パリの美しい景観と都市の雰囲気を伝えるのに役立っています。

Video-LLaVA
この動画は、人々が自転車でパリの街道を走り、その美しい景色を楽しんでいます。

どちらの出力も、パリであることや美しい景色という点は、上手く捉えられていますね。
GPT-4Vのほうがより詳細に書かれていて、文章だけでもその風景が想像できるかと思います。

実験2

続いて、別の動画2も試してみます。

テキストプロンプト

実験1のような動画を説明させるのではなく、動画を理解した上で、広告のような文章を答えさせるようにしてみます。

これは,動画から連続に切り出したフレームです.この動画から触発される広告の文章を作成してください。

各結果

GPT-4V
「自由への一歩を踏み出そう。海岸線を駆けるあなたの足元を支える、快適でスタイリッシュなランニングシューズ。どんな地形にも対応し、あなたの冒険心を刺激する。今日から、限界を超えて走り出そう。#自由への一歩 #ランニングライフ #アドベンチャーを感じる」

Video-LLaVA
「運動を通じて、心身ともに健康を維持しよう!」

結果を見ると、GPT-4Vでは、ランニングシューズといった具体的な対象物に焦点を当てたメッセージになっているのに対して、Video-LLaVAでは、一般的な健康促進のメッセージになっています。それぞれ違う観点で文章が生成されるのは、やはり人間のように会話しているようで、大変面白いですね。ただ、出力されたテキストを見ると、画像一枚でも生成できそうな感じもします…

おわりに

GPT-4VとVideo-LLaVAを用いて、簡単な動画認識を実施してみました。
思っていた以上に、動画を認識できていたのではないでしょうか。

現状の課題として、うまく生成できない場合があること(ハルシネーション)や動画のすべてのフレームを使用していないなどが挙げられます。しかし、急速に成長している分野のため、すぐにでも改善された新しいモデルが発表されるかと思います!

引継ぎ調査を進めると共に、エコモットの強みである「つなげる力」を多様なデータまで拡張し、新たな価値を提供できるよう、地道に頑張っていきます。

参考文献

[1]:Video-LLaVA: Learning United Visual Representation by Alignment Before Projection
[2]:SoM : Set-of-Mark Prompting Unleashes Extraordinary Visual Grounding in GPT-4V


  1. [Question] Would it be possible to provide which 8 frames Video-LLaVA should use? 
  2. Pexelsの動画素材を利用させていただきました。