フェイストラッキング

カメラやセンサで 人間の顔の位置・向き・表情を実時間で数値化する技術。VTuber アバターの顔がカメラ越しに動く仕組みも、iPhone の Face ID も Animoji も、Zoom のバーチャルメイクも全部これが核心。1990 年代の研究から始まり、深層学習と TrueDepth カメラの登場でここ数年で実用品質に到達した。

何のためにあるか

「画面の向こうの自分」を デジタルキャラに重ねる ためには:

  1. 顔がどこにあるか
  2. 顔がどっちを向いているか
  3. どんな表情をしているか
  4. 口がどう動いているか
  5. 視線がどこへ向いているか

毎フレーム 推定して、アバターのパラメータに変換する必要がある。フェイストラッキングはこの 「カメラ画像 → 数値パラメータ」 の変換器。VTuber アプリ(3tene / VTube Studio / VSeeFace 等)の心臓部。

基本パイプライン

flowchart LR
    Cam["カメラ / センサ<br/>(RGB / 深度 / IR)"] --> Detect["顔検出<br/>(画像のどこに顔があるか)"]
    Detect --> Land["ランドマーク検出<br/>(目尻・口角など 68〜478 点)"]
    Land --> Pose["ヘッドポーズ推定<br/>(yaw / pitch / roll)"]
    Land --> Expr["表情推定<br/>(blendshape weights)"]
    Land --> Eye["視線推定<br/>(瞳の位置)"]
    Pose --> Out["パラメータ出力<br/>(0.0〜1.0 の係数)"]
    Expr --> Out
    Eye --> Out
    Out --> App["アバターアプリ<br/>(VTuber / AR / 顔認証)"]

主要な検出方式

方式入力強み弱み
2D ランドマーク普通の Web カメラ(RGB)機材ゼロ、誰でも使える暗所・横向きに弱い、深度なし
3D ランドマーク (深度センサ)iPhone TrueDepth、RealSense高精度、暗所に強い、Z 方向取れるデバイス必須
Blendshape Inference (深層学習)普通の RGBML モデルが直接 blendshape weights を出すモデルバイアス、特殊表情に弱い
赤外線 + 構造化光専用センサ表情を直接 3D で取れるプロ機材、高価
マーカー貼付カメラ + 顔マーカー映画品質顔にシール、リアルタイム配信向きでない

VTuber 用途は 2D RGB ランドマーク が圧倒的多数。iPhone X 以降の TrueDepth がプレミア選択。

ARKit Blendshapes(52 表情の標準)

Apple が iPhone X で導入し、現在 業界事実上の標準 になっている表情パラメータセット:

合計 52 個の 0.0–1.0 係数 で人間の表情をほぼ表現できる。VRM 1.0 の表情パラメータも基本ここに揃えられている。

主要なライブラリ・SDK

ライブラリ提供元入力特徴
ARKitAppleiPhone TrueDepth52 blendshapes、超高精度、iOS 限定
MediaPipe Face Mesh / Face LandmarkerGoogleRGB478 点 3D ランドマーク + 52 blendshapes、OSS、クロスプラットフォーム
dlib (68 landmarks)Davis KingRGB古典 (HOG + SVM)、精度は中、教材で頻出
OpenCV face detectionOSSRGB顔検出のみ、軽量
OpenSeeFaceOSS (Emiliana)RGB Web カメラVTuber 向け、VSeeFace の中核
AvatarKit / VTubeKit各社RGB / TrueDepthiOS の VTuber アプリ向け SDK

OpenSeeFace は VSeeFace の心臓部で、VTuber 文脈に最適化されている(軽量・低遅延・blendshape 直出し)。

遅延(latency)と精度のトレードオフ

flowchart LR
    A["カメラ取得 ~16ms<br/>(60fps)"] --> B[ML 推論 ~5-30ms]
    B --> C[ポストプロセス ~2-5ms]
    C --> D["ネットワーク 0-50ms<br/>OSC / IPC"]
    D --> E[アバター描画 ~16ms]

VTuber エコシステムでの位置

flowchart LR
    Cam["カメラ / iPhone"] --> Track["フェイストラッキング<br/>(ARKit / MediaPipe / OpenSeeFace)"]
    Track -->|blendshape weights| App["VTuber アプリ<br/>(3tene / VTube Studio / VSeeFace)"]
    App --> Avatar["アバター変形<br/>(VRM / Live2D)"]
    Avatar --> OBS["OBS で合成 → 配信"]

VTuber アプリは トラッキング部分を内製するか外部 SDK(ARKit / MediaPipe)に委ねるか で性格が変わる:

VTuber 以外の応用

プライバシーと倫理

押さえどころ(カード化候補)

Graph