← PROJECTS

Electric Stimulus
to Face

EMS (Electrical Muscle Stimulation) を用いて顔の筋肉に電気刺激を与え、意図しない表情変化を生み出す。テクノロジーと身体の境界を問う実験的プロジェクト。

Daito Manabe 2008 — 2026 EMS Simulator
Scroll

Electric Stimulus to Face

Origin

2008 - test 1, 2, 3

音楽のビートに合わせて顔の8箇所に電気刺激を送り、まるで顔が「踊っている」かのような表情変化を生み出す。テクノロジーと身体の境界、制御と非制御の関係性を問いかける作品として世界中で反響を呼んだ。

Simulator

Why simulate?

実際に顔に電気を流す前に、8つの刺激ポイントの配置・歪み方向の調整・目標表情の最適化を安全に繰り返し実験する。カメラで顔を認識し、画像処理で電気刺激時の顔の変形を再現する。

Architecture

01

Camera Input

Webカメラからリアルタイム映像取得

02

Face Analysis

MediaPipe 478点ランドマーク + 52 Blendshapes

03

EMS Mapping

8つのEMSポイントを自動配置

04

Warp Engine

ガウシアンフォールオフで画像ワーピング

05

OSC Output

EMSデバイスへリアルタイム送信

EMS Point Placement Diagram 0 1 2 3 4 5 6 7

8 EMS Points

  • 0 右目尻外 dx:+15 dy:-8
  • 1 右目尻内 dx:+8 dy:-10
  • 2 左目尻内 dx:-8 dy:-10
  • 3 左目尻外 dx:-15 dy:-8
  • 4 右頬 dx:+12 dy:+8
  • 5 左頬 dx:-12 dy:+8
  • 6 右口角 dx:+10 dy:-15
  • 7 左口角 dx:-10 dy:-15

EMS Simulator

Stimulus Control

SMILE
0%
ITERATION 0 / 120 BEST SCORE 0%
Keyboard: 1 - 8 Select point Up / Down Adjust value R Reset O Toggle optimize Double-click slider to reset

Capabilities

Real-time

478-Point Face Tracking

MediaPipe Face Landmarkerによるリアルタイム顔ランドマーク検出。52種類のBlendshapesを同時取得。

Warping

Gaussian Falloff

各EMSポイントの刺激値に基づいてガウシアンフォールオフで自然な顔画像ワーピングを実現。

Optimization

Simulated Annealing

笑顔度を最大化する最適な刺激パターンをSimulated Annealingアルゴリズムで自動探索。

MediaPipe OpenCV NumPy python-osc Python 3.9+ Apple Silicon 30 FPS

OSC Integration

Connection

Default: 127.0.0.1:9000

SuperCollider, Max/MSP, TouchDesigner等の外部ツールや実際のEMSコントローラーとリアルタイム連携。

Protocol

Open Sound Control

8つの刺激値を個別またはまとめてOSCで送信。笑顔度スコアも同時に送信可能。

Address Type Description
/ems/stim/0 float 右目尻外の刺激値 (0.0 - 1.0)
/ems/stim/1 float 右目尻内の刺激値
/ems/stim/2 float 左目尻内の刺激値
/ems/stim/3 float 左目尻外の刺激値
/ems/stim/4 float 右頬の刺激値
/ems/stim/5 float 左頬の刺激値
/ems/stim/6 float 右口角の刺激値
/ems/stim/7 float 左口角の刺激値
/ems/stim/all list[float] 全8ポイントの刺激値
/ems/smile float 笑顔度スコア (0.0 - 1.0)

CAUTION

このシミュレーターは画像処理による近似です。実際のEMS使用時は以下に注意してください: