マルチモーダルAI 2025 - テキスト・画像・音声・動画の統合処理

2026.01.12

公式ドキュメント

この記事の要点

• マルチモーダルAIはテキスト・画像・音声・動画を同時に理解・生成できるAI技術
• GPT-4o、Gemini 2.5、Claude 3など主要モデルがすべてマルチモーダル対応
• エッジデバイスでのローカル実行も可能になり、プライバシー保護と実用性を両立

マルチモーダルAIとは

マルチモーダルAIは、テキスト・画像・音声・動画など複数の形式のデータを同時に理解し生成できるAIです。2025年、この技術は急速に進化し、実用的なアプリケーションが爆発的に増加しています。

「マルチモーダル(Multimodal)」とは「複数の様式」を意味し、人間が五感を通じて世界を理解するように、AIが複数の入力形式を組み合わせて理解・生成できる能力を指します。

マルチモーダルAIの発展の歴史

黎明期(2021〜2022年)

OpenAIのCLIPやDALL-E 2が登場し、テキストと画像の対応付け(Cross-Modal)が実用レベルに達しました。ただし、入力はテキスト・出力は画像という一方向性が強く、双方向の理解・生成は限定的でした。

転換期(2023年)

GPT-4Vの登場により、画像を「理解して回答する」能力が一般に解放されました。医療画像の分析、グラフの解釈、OCRなど実用的なユースケースで大きな話題になりました。Google GeminiもテキストとコードとYouTube動画を同時に処理できるデモで注目を集めました。

爆発的普及期(2024〜2025年)

GPT-4o(omni)の登場で、テキスト・音声・画像をリアルタイムで双方向に処理できるモデルが一般公開されました。Gemini 2.0のネイティブマルチモーダル出力、Claude 3シリーズのビジョン機能など、主要モデルほぼすべてがマルチモーダル対応となりました。

2025年の主要モデル

GPT-4V / GPT-5

OpenAIのGPT-5ファミリーは、複雑な科学的質問に回答し、分子クローニングの効率を79倍向上させる研究プロトコルの再設計も可能になりました。

from openai import OpenAI

client = OpenAI()

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "この画像に何が写っていますか?"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/image.jpg"}
                }
            ]
        }
    ]
)

GPT-4oの音声処理(Real-time API):

import asyncio
import websockets
import json
import base64

async def realtime_audio_session():
    url = "wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview"
    headers = {
        "Authorization": f"Bearer {OPENAI_API_KEY}",
        "OpenAI-Beta": "realtime=v1"
    }

    async with websockets.connect(url, extra_headers=headers) as ws:
        # セッション設定
        await ws.send(json.dumps({
            "type": "session.update",
            "session": {
                "voice": "alloy",
                "instructions": "あなたは日本語で会話する親切なアシスタントです",
                "input_audio_format": "pcm16",
                "output_audio_format": "pcm16"
            }
        }))

        # 音声データを送信
        audio_data = load_audio_file("input.wav")
        await ws.send(json.dumps({
            "type": "input_audio_buffer.append",
            "audio": base64.b64encode(audio_data).decode()
        }))

        await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
        await ws.send(json.dumps({"type": "response.create"}))

Google Gemini 2.5 / 3.0

Geminiは100万トークン以上のコンテキストウィンドウを持ち、非常に長いテキストや複雑なコーディングタスクを処理できます。

機能Gemini 2.5Gemini 3.0
コンテキスト100万+ トークン200万+ トークン
マルチモーダル入力テキスト/画像/音声/動画全モダリティ
処理速度高速2倍高速
数学性能高いMathArena Apex 23.4%

Gemini APIで動画を分析する例:

import google.generativeai as genai
import time

genai.configure(api_key="YOUR_API_KEY")

# 動画ファイルをアップロード
print("動画をアップロード中...")
video_file = genai.upload_file(path="demo_video.mp4")

# アップロード完了を待つ
while video_file.state.name == "PROCESSING":
    time.sleep(2)
    video_file = genai.get_file(video_file.name)

model = genai.GenerativeModel(model_name="gemini-2.5-flash")

# 動画の内容を分析
response = model.generate_content([
    video_file,
    "この動画の内容を要約してください。\n"
    "特に以下の点を教えてください:\n"
    "1. 何が起きているか\n"
    "2. 重要な数値やデータ\n"
    "3. 結論や提言"
])

print(response.text)

Claude 3 / Opus 4.5

Anthropicのモデルは、長文理解と安全性に優れ、企業向けアプリケーションで広く採用されています。

Claudeで複数画像を比較分析する例:

import anthropic
import base64

client = anthropic.Anthropic()

def load_image_as_base64(path: str) -> str:
    with open(path, "rb") as f:
        return base64.standard_b64encode(f.read()).decode("utf-8")

# 複数の製品画像を比較
response = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=2048,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/jpeg",
                        "data": load_image_as_base64("product_a.jpg"),
                    },
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/jpeg",
                        "data": load_image_as_base64("product_b.jpg"),
                    },
                },
                {
                    "type": "text",
                    "text": "これら2つの製品画像を比較して、主な違いを表形式でまとめてください。"
                }
            ],
        }
    ],
)

print(response.content[0].text)

エッジデバイスでの実行

MiniCPM-V

8Bパラメータモデルながら、GPT-4V、Gemini Pro、Claude 3を11のベンチマークで上回る性能を発揮。スマートフォンでも効率的に動作します。

# Ollama でローカル実行
ollama run minicpm-v

# Python から呼び出し
import ollama

response = ollama.chat(
    model='minicpm-v',
    messages=[{
        'role': 'user',
        'content': '画像を分析してください',
        'images': ['./photo.jpg']
    }]
)

LLaVA(ローカル実行)

オープンソースのマルチモーダルモデルで、プライバシーが重要な環境でのローカル実行に適しています。

# LLaVAをOllamaで実行
import ollama

def analyze_image_locally(image_path: str, question: str) -> str:
    """画像をローカルのLLaVAで分析する(データが外部に出ない)"""
    response = ollama.chat(
        model='llava:13b',
        messages=[{
            'role': 'user',
            'content': question,
            'images': [image_path]
        }]
    )
    return response['message']['content']

# 使用例:製造ラインの品質検査
result = analyze_image_locally(
    "inspection_photo.jpg",
    "この製品に欠陥や不良品の特徴が見られますか?詳しく説明してください。"
)
print(result)

実践的なアプリケーション

1. ヘルスケア

医療画像の診断支援、患者データの統合分析

具体的な活用例:

  • X線・CT画像の異常検知支援(医師の診断補助として)
  • 皮膚疾患の画像診断アシスタント
  • 薬の処方箋をカメラで読み取り、薬の情報を説明
  • 患者の問診票テキスト+バイタルデータを統合分析
# 皮膚画像分析の例(医師の補助ツールとして)
def analyze_skin_condition(image_path: str) -> dict:
    client = anthropic.Anthropic()

    with open(image_path, "rb") as f:
        image_data = base64.standard_b64encode(f.read()).decode("utf-8")

    response = client.messages.create(
        model="claude-3-5-sonnet-20241022",
        max_tokens=1024,
        system="""あなたは皮膚科の診断支援AIです。
        以下の点に注意してください:
        - 診断結果は必ず「参考情報」として提供し、確定診断ではないことを明記する
        - 「必ず医師の診察を受けてください」というメッセージを含める
        - 観察した特徴を客観的に記述する""",
        messages=[{
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {"type": "base64", "media_type": "image/jpeg", "data": image_data}
                },
                {"type": "text", "text": "この皮膚の状態を観察し、気になる特徴があれば教えてください。"}
            ]
        }]
    )
    return {"analysis": response.content[0].text}

2. 自動運転

カメラ・LiDAR・音声データの統合処理

Tesla・Waymoなどの自動運転システムは、複数のカメラ映像をリアルタイムでマルチモーダル処理し、歩行者・車両・標識を認識しながら安全な走行判断を行っています。

3. 教育

インタラクティブな学習コンテンツ、リアルタイム翻訳

数学問題を手書きで解いて、AI家庭教師に添削してもらう例:

// React Native アプリでの実装例
async function submitHomeworkForFeedback(photoUri: string): Promise<string> {
  const base64Image = await FileSystem.readAsStringAsync(photoUri, {
    encoding: FileSystem.EncodingType.Base64,
  });

  const response = await fetch('https://api.openai.com/v1/chat/completions', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${OPENAI_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'gpt-4o',
      messages: [{
        role: 'user',
        content: [
          {
            type: 'image_url',
            image_url: { url: `data:image/jpeg;base64,${base64Image}` }
          },
          {
            type: 'text',
            text: `この数学の宿題を確認してください。
                   1. 解答が正しいか確認してください
                   2. 間違いがあれば、どこで間違えたかを丁寧に説明してください
                   3. 正しい解き方を段階的に示してください
                   子どもが理解できるよう、わかりやすく説明してください。`
          }
        ]
      }]
    })
  });

  const data = await response.json();
  return data.choices[0].message.content;
}

4. セキュリティ

映像と音声を組み合わせた異常検知

  • 監視カメラ映像から不審な行動をリアルタイム検知
  • 声紋+顔認識の複合認証
  • 工場のライン映像から製品の欠陥を自動検出

実装のベストプラクティス

# マルチモーダル入力の前処理
import base64
from pathlib import Path

def encode_image(image_path: str) -> str:
    """画像をBase64エンコード"""
    with open(image_path, "rb") as f:
        return base64.b64encode(f.read()).decode("utf-8")

def prepare_multimodal_input(text: str, image_paths: list[str]):
    """マルチモーダル入力を準備"""
    content = [{"type": "text", "text": text}]

    for path in image_paths:
        content.append({
            "type": "image_url",
            "image_url": {
                "url": f"data:image/jpeg;base64,{encode_image(path)}"
            }
        })

    return content

実践メモ: APIコスト削減のため、画像は送信前にリサイズ・圧縮・EXIF除去を行いましょう。

画像前処理のベストプラクティス

from PIL import Image
import io

def optimize_image_for_api(
    image_path: str,
    max_size: tuple = (2048, 2048),
    quality: int = 85
) -> bytes:
    """
    APIコスト削減のために画像を最適化する
    - 大きすぎる画像はリサイズ
    - 品質を適切に圧縮
    - EXIF情報を除去(プライバシー保護)
    """
    with Image.open(image_path) as img:
        # RGBに変換(PNGのアルファチャンネル対応)
        if img.mode in ('RGBA', 'P'):
            img = img.convert('RGB')

        # サイズ最適化
        img.thumbnail(max_size, Image.LANCZOS)

        # EXIF情報を除去して保存
        buffer = io.BytesIO()
        img.save(buffer, format='JPEG', quality=quality, optimize=True)
        return buffer.getvalue()

def estimate_token_cost(image_width: int, image_height: int, model: str = "gpt-4o") -> int:
    """画像のトークンコストを推定する"""
    if model.startswith("gpt-4"):
        # GPT-4Vの場合:512x512タイルごとに170トークン
        tiles_x = (image_width + 511) // 512
        tiles_y = (image_height + 511) // 512
        return 85 + 170 * tiles_x * tiles_y
    return 0  # 他のモデルは計算が異なる

主要モデルの詳細比較

モデル提供元画像入力音声入力動画入力画像生成音声生成コンテキスト
GPT-4oOpenAI○(DALL-E 3)128K
Gemini 2.5 FlashGoogle1M
Claude 3.5 SonnetAnthropic××××200K
LLaVA 13BMeta/OSS××××4K
MiniCPM-VOpenBMB××××2K

日本国内での利用状況と活用例

製造業

日本の製造業では、AIを活用した「外観検査」の自動化が急速に進んでいます。

  • 自動車部品メーカー: カメラで撮影した部品画像をAIでリアルタイム分析し、表面傷・変形・塗装不良を検出
  • 電子部品: プリント基板の半田付け不良を高精度で検出
  • 食品製造: 異物混入・外観不良の自動選別

小売・EC

  • 商品撮影・説明文自動生成: スマートフォンで商品を撮影するだけでEC出品用の画像処理と説明文を自動生成
  • バーチャル試着: 服・メガネ・メイクのAR試着機能
  • レシート・領収書のOCR+仕訳: 経費精算アプリでの活用

建設・不動産

  • 建物診断: 外壁・屋根の画像から劣化・ひび割れを検出し、修繕優先度を判定
  • 図面理解: 設計図・CADデータをAIが解析して施工指示を生成

医療・介護

  • 内視鏡画像のポリープ検出: AI支援で見落としリスクを低減
  • 介護施設: 転倒検知システムへの映像AI活用

今後の展望

  • さらなる小型化: 高性能モデルのエッジデバイス展開
  • リアルタイム処理: 遅延のない双方向対話(GPT-4o Realtimeの一般化)
  • 3D統合: 空間認識とAIの融合(Apple Vision Proのような空間コンピューティング)
  • 触覚フィードバック: 触覚データをマルチモーダル入力として扱う研究が進行中
  • より長い動画処理: 数時間の動画をコンテキストとして処理できるモデル
  • Video Generation: Soraに続くビデオ生成モデルの実用化

よくある質問(Q&A)

Q1. マルチモーダルAIは従来の画像認識(CNN等)と何が違うのですか?

従来の画像認識は特定のタスク(猫の検出、物体分類など)に特化していました。マルチモーダルAIは、画像とテキストを組み合わせて「この画像に何人の人が写っているか数えて」「このグラフからどんな傾向が読み取れるか」など、自然言語の指示に従って多様なタスクを実行できます。汎用性が大きく異なります。

Q2. 医療画像への活用は診断に使えますか?

注意: 医療画像のAI分析は「診断補助」としての位置づけです。日本では薬機法の対象となるため、AI単体での確定診断は認められていません。

現在のマルチモーダルAIは「医師の診断補助ツール」として活用できますが、単体で医療診断を行うことは法規制上も技術的にも推奨されません。日本では薬機法の対象となるため、医療機器としての承認が必要です。ただし、AIが示した「参考情報」を医師が最終判断に活用する形での導入は進んでいます。

Q3. 動画の処理はコストが高いですか?

動画は画像の連続であるため、処理コストは高くなります。Geminiの1Mトークンコンテキストを使えば長い動画も処理できますが、コストは相応に高くなります。実務では「キーフレームのみ抽出」「低解像度で処理」「要約的なサンプリング」などコスト最適化が重要です。

Q4. ローカル実行できるマルチモーダルモデルはありますか?

LLaVA、MiniCPM-V、Phi-3 VisionなどをOllamaでローカル実行できます。GPUが必要ですが、M1/M2/M3 MacでもモデルによってはCPU実行が可能です。クラウドAPIと比べて応答速度・コスト・プライバシーのトレードオフを考慮して選択してください。

Q5. 日本語の音声認識精度はどのくらいですか?

GPT-4oやGeminiの音声認識(Whisperベース)は日本語でも高精度です。方言や専門用語でのエラーはありますが、標準語の日常会話であれば95%以上の精度を達成しています。ただし、リアルタイム双方向音声対話(GPT-4o Real-time API)は現在英語が最も高品質です。

Q6. プライバシーの観点から、画像をAPIに送るリスクはありますか?

個人の顔写真、医療情報、機密文書などの画像をクラウドAPIに送信するリスクは考慮が必要です。センシティブな用途ではローカルモデル(LLaVA等)の活用、または企業向けAzure OpenAI ServiceやAWS Bedrock(データ保護契約付き)を検討してください。

推奨度評価(用途別)

用途推奨モデル推奨度コメント
ドキュメント・レシートのOCRGPT-4o / Gemini 2.5★★★★★精度・速度ともに優秀
コード画面・技術図のデバッグClaude 3.5 Sonnet★★★★★技術的理解力が高い
動画内容の要約Gemini 2.5(1Mコンテキスト)★★★★★長動画対応に最適
製造ライン品質検査LLaVA(ローカル)★★★★☆プライバシーとコスト両立
リアルタイム音声対話GPT-4o Realtime★★★★☆低遅延対話が可能
医療画像の補助診断Claude 3.5 Sonnet★★★☆☆専門的だが規制上の注意が必要
完全ローカル・オフラインLLaVA / MiniCPM-V★★★☆☆性能は限定的だが自社サーバーで完結

参考: Times of AI - Top Multimodal AI Models

まとめ

2025年のマルチモーダルAIは、単なる技術デモから実用的なツールへと進化しました。GPT-5、Gemini 3.0、Claude Opus 4.5などの最先端モデルが、創造的産業からヘルスケアまで幅広い分野で革新をもたらしています。

開発者にとっては、APIを通じてこれらの高度な機能を自社アプリに組み込める点が最大のメリットです。ただし、プライバシー・コスト・精度のトレードオフを考慮した上で適切なモデルを選択することが、実用的な活用への鍵となります。

ローカル実行モデルの進化により、クラウドAPIに依存せず自社サーバーで完結できる選択肢も増えており、今後は「どのモデルをどこで実行するか」という設計判断の重要性が増していくでしょう。

参考リソース

この技術を体系的に学びたいですか?

未来学では東証プライム上場企業のITエンジニアが24時間サポート。月額24,800円から、退会金0円のオンラインIT塾です。

メールで無料相談する
← 一覧に戻る