Skip to main content
マルチモーダル ビジョン エンジン

画像トークナイザー

画像トークン化、OpenAI 512x512 タイル分割、Vision Transformer (ViT) 空間パッチグリッドをインタラクティブなキャンバスとコスト計算ツールで可視化。

Drop your image here or click to browse

PNG, JPEG, WebP, or GIF up to 10MB. Or paste directly from clipboard (Ctrl+V / Cmd+V).

Total Image Tokens
0 ~$0.0000 USD
Base Tokens 85
Tile Tokens 0

Grid & Tile Breakdown

Original Size: -
Scaled Calculation Size: -
Grid Configuration: -
Total Grid Tiles: -

Tile Inspection List

Upload an image to inspect grid tiles…
コンピュータビジョン徹底解説

画像トークン化とVision Transformerの仕組み

Vision Transformer(ViT)およびマルチモーダルフロンティアモデルが、空間パッチ分割や高解像度タイルグリッドを通じて、2次元ピクセル行列を離散的な視覚トークンへと分解する数学的導出プロセス。

ビジョンテンソル次元およびサイズ早見表

ViTおよびOpenAI Visionアーキテクチャ
ViTパッチサイズ
16 × 16 px
非重複グリッド
基本低解像度コスト
85トークン
全体概要固定コスト
タイル寸法
512 × 512 px
高詳細クロップ
タイルトークンコスト
170トークン
512pxグリッド区画ごと
ViT 224シーケンス長
196トークン
14 × 14 パッチ配列
最大解像度
2048 × 2048
バウンディングボックス上限
01

連続ピクセルから離散視覚トークンへの変換

画像テンソル: X ∈ ℝH × W × C

標準的なトランスフォーマーブロックは1次元の入力ベクトルシーケンスを前提とします。2020年に登場したVision Transformer(ViT)は、画像を重複のない正方形パッチへと分割し、サブワードトークンと同様に処理することで、標準的な自己注意層が2次元の空間的相関関係を直接学習できることを実証しました。

1. パッチ分割

原画像をP × Pピクセルの正方形グリッドへと分割します。

2. 線形射影

各パッチを展開し、学習可能な重み行列によってモデルの内部次元Dへと射影します。

3. 位置エンコーディング

トランスフォーマーがパッチの空間的幾何配置を認識できるよう、2次元座標の埋め込みを加算します。

空間パッチ数 ステップ 1
N = (H × W) / P^2
画像入力サイズ: 224 × 224 ピクセル
パッチサイズ P: 16 × 16 ピクセル
合計視覚トークン数: 196 トークン (14 × 14)
パッチをトークンとして扱うことで、視覚モデルが事前学習済みトランスフォーマー構造を直接活用できます。
02

空間パッチ射影の数学的定式化

方程式: z_0 = [x_class; x_p E] + E_pos

未加工ピクセルからトランスフォーマーのベクトル表現への数学的変換は、色チャネルの平坦化、射影行列の積、および位置埋め込みベクトルの加算で構成されます:

1. 空間パッチの平坦化:

各P × PのRGBパッチは、長さ (P^2 · C) = (16 × 16 × 3) = 768 の1次元ベクトル x_p へと展開されます。

2. 線形射影行列 E:

学習可能な重み行列Eが、768次元の平坦化パッチをモデルの隠れ次元 d_model へと射影します。

3. 学習可能位置ベクトル:

垂直および水平方向の幾何学的向きを保持するため、射影されたベクトルに位置埋め込み E_pos が加算されます。

射影テンソル方程式 ステップ 2
z_0 = [x_cls ; x_p^1 E ; ... ; x_p^N E] + E_pos
未加工パッチ次元: 16 × 16 × 3 = 768
射影行列 E: 768 × 768 パラメータ
シーケンス長: 196 + 1 (cls) = 197
03

OpenAIの高詳細タイルグリッド機構

計算式: 85 + (タイル数 × 170)

GPT 4oなどの最新商用フロンティアモデルは、高解像度画像を低品質なサムネイルへと縮小しません。その代わりに、画像を512 × 512ピクセルのタイルグリッドへと動的に分割して処理します:

1. バウンディングボックスへの収容:

入力画像はまず2048 × 2048ピクセルの枠内に収まるようアスペクト比を維持して縮小され、次に最短辺が768ピクセルになるようリサイズされます。

2. 詳細タイルグリッド:

画像は ceil(幅/512) × ceil(高さ/512) のタイルに分割されます。各タイルは170トークンを消費し、画像全体の概要を表す基本85トークンが加算されます。

タイル予算算定式 ステップ 3
合計トークン数 = (タイル数 × 170) + 85
1024 × 1024 画像: 2 × 2 = 4 タイル (765 トークン)
1920 × 1080 画像: 4 × 2 = 8 タイル (1,445 トークン)
低詳細モード: 一律固定 85 トークン
04

商用モデルにおけるビジョントークナイザーの比較

視覚的ベンチマーク
モデルアーキテクチャ 基本パッチサイズ 高精細タイル処理 トークンコスト (1080p) アスペクト比保持 アーキテクチャ分類
GPT 4o 動的ViT 512 × 512 グリッド (170/タイル + 85) 1,105 トークン 完全保持 (歪みなし) ネイティブOmniトランスフォーマー
Claude 3.5 Sonnet 14 × 14 px アンカー付き動的タイル (最大1,600トークン) 1,600 トークン 極めて良好 (適応クロップ) 統合テキストビジョン構造
Gemini 1.5 Flash 空間パッチ クロップあたり一律258トークン 258 トークン レターボックスパディング ネイティブマルチモーダルMoE
標準ViT Base 16 × 16 px 224 × 224 固定切り出し (196トークン) 196 トークン 低い (強制リサイズ) ビジョン専用エンコーダー
05

本番環境向け実装コード: ビジョントークン計算機

実行環境: Python 3.10+
calculate_vision_tokens.py pillow と math
import math
from PIL import Image

def calculate_openai_image_tokens(width: int, height: int, detail: str = "high") -> int:
    if detail == "low":
        return 85
        
    # ステップ 1: 2048x2048枠内に収まるよう縮小
    if width > 2048 or height > 2048:
        scale = 2048 / max(width, height)
        width = int(width * scale)
        height = int(height * scale)
        
    # ステップ 2: 最短辺を768pxにスケーリング
    shortest = min(width, height)
    scale = 768 / shortest
    width = int(width * scale)
    height = int(height * scale)
    
    # ステップ 3: 512x512タイルの枚数を算出
    tiles_w = math.ceil(width / 512)
    tiles_h = math.ceil(height / 512)
    total_tiles = tiles_w * tiles_h
    
    # ステップ 4: 最終トークン予算を計算
    total_tokens = (total_tiles * 170) + 85
    print(f"Tiles: {tiles_w}x{tiles_h} = {total_tiles} | Total Tokens: {total_tokens}")
    return total_tokens

calculate_openai_image_tokens(1920, 1080, "high")
06

ビジョンエンジニアリングFAQ

ビジョン推論処理

低詳細モードと高詳細モードはどのように使い分けるべきですか?

85トークン固定の低詳細モードは、大まかなシーン分類、色調パレットの検出、大まかな物体認識に最適です。契約書や領収書からの文字抽出、精緻な回路図の分析、微細な欠陥検出を行う場合は、高詳細モードの選択が必須となります。

なぜ幾何学的解像度がトークン課金を大幅に引き上げるのですか?

高解像度写真の微細なディテールを維持するためには、多数の512 × 512ピクセルタイルが必要となるためです。4K品質の画像では最大12枚のタイルが生成され、合計2,100トークン以上を消費するため、推論レイテンシとAPIコストが著しく増大します。

モデルは各パッチの正確な空間位置をどのように把握しているのですか?

Vision Transformerは、射影された各パッチベクトルに対して学習可能な2次元位置ベクトル、またはRoPEなどの回転位置埋め込みを加算します。これにより自己注意層が縦横の直交座標情報を明示的に把握できます。

API送信前に画像を前処理でクロップするとコスト削減になりますか?

大きな削減効果があります。不要な余白や単色背景、無関係な領域をトリミングして画像寸法を縮小することで、必要な512 × 512タイルの枚数を直接減らすことができ、削減されたタイル1枚あたり170トークンを節約できます。

重要なアーキテクチャの要点

Vision Transformerは、隣接する空間パッチを高次元ベクトル空間へと射影することにより、2次元画像を離散シーケンスへと変換します。最新の動的グリッド機構は、元画像のアスペクト比を歪ませることなく、精緻なタイポグラフィや微小な図面情報を忠実に保持します。

matrix