見出し画像

第4回: 動画・3D生成AIの可能性

本章では最近話題の動画生成や3D生成技術の概要、それらの技術の可能性と現在の応用事例について説明していきます。


はじめに

AI技術の進歩により、画像生成だけでなく、動画や3Dコンテンツの生成も急速に発展しています。これらの技術は、エンターテインメント、教育、医療、設計など、さまざまな分野で革命を起こしています。本コラムでは、動画および3D生成AIの技術的なアプローチ、その可能性、そして現在の応用事例について詳しく解説します。

動画生成AIの技術的アプローチ

動画生成AIは、特定のアルゴリズムを用いて、入力されたテキストプロンプトに基づいてリアルな動画を生成します。代表的な技術として、OpenAIのSoraやLumaAIのLuma Dream Machineなどがあります。

代表的なモデル

Sora | OpenAI
Soraは、ディフュージョントランスフォーマーモデルを使用して動画を生成するAIです。ディフュージョンモデルは、ノイズの多い画像や動画を入力として取り、それを徐々にクリーンな状態に変換するプロセスを経て、高品質なコンテンツを生成します。このディフュージョンモデルに、トランスフォーマーモデルを組み合わせることで、テキストプロンプトに従ってシーンや動きを生成する能力に優れています。

潜在空間における動画のエンコーディングイメージ
Diffusion Transformer 活用イメージ

Sora | OpenAI
Video generation models as world simulators | OpenAI

Sora | OpenAI

Dream Machine | LumaAI
Luma AIが開発した次世代の動画生成モデルです。このモデルは、テキスト指示や画像から高品質でリアルな動画を生成することを目的としています。Dream Machineは、スケーラブルで効率的なマルチモーダル(多様な入力形式に対応する)トランスフォーマーアーキテクチャに基づいています。これは、動画データに直接トレーニングされており、物理的に正確で一貫性のあるアクション満載のシーンを生成する能力を持っています。


Diffusion Transformer

基本原理
Diffusion Transformerは、ディフュージョンモデルの逐次的なデノイジングプロセスとトランスフォーマーモデルの強力な依存関係モデリング能力を組み合わせた最新の動画生成技術です。このアプローチは、次のようなプロセスで動作します。トランスフォーマーモデルは、動画生成においてフレーム間の依存関係を効果的にモデル化し、時間的な一貫性を保つために重要な役割を果たします。

Diffusion Transformer (DiT) のアーキテクチャ

以下は、技術的なアプローチとその背後にある仕組みについての詳細な説明です。

1. 自己注意メカニズム (Self-Attention Mechanism)
トランスフォーマーモデルの中心には自己注意メカニズムがあります。このメカニズムは、各フレームの情報を他のフレームの情報と相互に関連付けることで、一貫性のある動画を生成します。自己注意メカニズムは以下の数式で表されます:

$$
Attention(Q,K,V) = softmax(\frac {QK^T} {\sqrt {d_k}})V
$$

ここで、Q(クエリ)、K(キー)、および V(バリュー)は、フレームの埋め込み(embedding)として計算される行列です。これにより、各フレームが他のフレームとの関連性を学習します。

2. 時間的エンベッディング (Temporal Embedding)
動画生成において、各フレームは時間的な順序を持つため、時間的な位置情報をエンベッディングに追加します。時間的エンベッディングは以下のように定義されます:

$$
Positional Encoding(pos, 2i) = sin(\frac {pos} {10000^{2i / d_{model}}}) \\
\\
Positional Encoding(pos, 2i+1) = cos(\frac {pos} {10000^{2i / d_{model}}})
$$

ここでposはシーケンス内の位置、iは次元のインデックス、d_model​はモデルの埋め込み次元のサイズです。このエンベッディングは、シーケンス内の各位置posに対して異なる値を生成し、モデルがデータの順序を識別できるようにします。
たとえば、モデルの埋め込み次元が 512 である場合、時間的位置エンベッディングは次のようになります:

import numpy as np
import matplotlib.pyplot as plt

def get_position_encoding(seq_len, d_model):
    def get_angle(pos, i):
        return pos / np.power(10000, (2 * (i // 2)) / np.float32(d_model))

    angle_rads = get_angle(np.arange(seq_len)[:, np.newaxis],
                           np.arange(d_model)[np.newaxis, :])

    # apply sin to even indices in the array; 2i
    angle_rads[:, 0::2] = np.sin(angle_rads[:, 0::2])

    # apply cos to odd indices in the array; 2i+1
    angle_rads[:, 1::2] = np.cos(angle_rads[:, 1::2])
    
    return angle_rads

seq_len = 50
d_model = 512
pos_encoding = get_position_encoding(seq_len, d_model)

plt.pcolormesh(pos_encoding, cmap='viridis')
plt.xlabel('Embedding Dimension')
plt.xlim((0, d_model))
plt.ylabel('Sequence Position')
plt.colorbar()
plt.show()
時間的位置エンベッディング例

3. クロスアテンション (Cross-Attention)
トランスフォーマーモデルは、クロスアテンションを使用して、現在のフレームが前後のフレームとどのように関連しているかを学習します。これにより、時間的な一貫性が保たれます。クロスアテンションは次のように動作します:

$$
Cross Attention(Q_t,K_{t-1},V_{t-1}) = softmax(\frac {Q_tK_{t-1}^T} {\sqrt {d_k}})V_{t-1}
$$

ここで、Qt​は現在のフレームのクエリ、Kt−1とVt−1は前のフレームのキーとバリューです。これにより、現在のフレームが前のフレームの情報を考慮に入れて生成されます。

4. 逐次デノイジングプロセス (Sequential Denoising Process)
ディフュージョンモデルは、逐次的なデノイジングプロセスを経て、各フレームをノイズの多い状態からクリーンな状態に変換します。このプロセスは以下の数式でモデル化されます:

Forward Process:

$$
q(x_t|x_{t-1}) = N(x_t; \sqrt{1-β_t}x_{t-1}, β_tI)
$$

Reverse Process:

$$
p_θ(x_{t-1}|x_t) = N(x_{t-1}; μ_θ(x_t, t), σ_θ^2I)
$$

ここで、βtはノイズのスケールパラメータで、μθ​とσθ​はモデルによって学習されるパラメータです。このプロセスにより、各フレームが前後のフレームと一貫性を持って生成されます。

3D生成AIの技術的アプローチ

3D生成AIは、3Dオブジェクトやシーンを生成する技術で、代表的な手法として3D-GANやNeRF(Neural Radiance Fields)があります。

3D-GAN

3D-GANは、3Dオブジェクトのボクセル表現を生成するためのGANベースのモデルです。これにより、さまざまな角度から見た3Dオブジェクトを生成できます。

NeRF(Neural Radiance Fields)

NeRFは、3Dシーンの連続的な表現を学習し、高精度な3Dレンダリングを実現する技術です。ニューラルネットワークを用いて、特定の視点から見たシーンの放射光をモデル化します。


応用事例

エンターテインメント
エンターテインメント業界では、動画および3D生成AIが映画やゲームの制作に革新をもたらしています。例えば、AIを使用して映画の特殊効果を生成し、リアルタイムでキャラクターの動きを生成可能です。

不動産・建築
建築設計においても、3D生成AIは建物の設計プロセスを効率化します。AIを使用して仮想的な建物のモデルを生成し、設計のシミュレーションを行うことができます。また新築の戸建てや商業ビルなどのウォークスルー動画を生成することで、効率的にプロモーションも可能になります。

まとめ

動画および3D生成AIは、その技術的な進歩により、さまざまな分野での応用が期待されています。今後も、これらの技術のさらなる発展と応用が期待されます。
この章まででひと通り、大規模言語モデル(LLM)、画像生成AI、動画・3D生成AIまで紹介してきましたがいかがでしたでしょうか。

この記事が気に入ったらサポートをしてみませんか?