Skip to content
Voro
  1. Image
  2. Analyze

Face Track

Face Track follows a face and estimates its pose and expression. Its motion output connects directly to Portrait Rig. A smaller pose output exposes head movement, eye ratios and lip ratio as controls.

Place Face Track under Analyze in the Image view and connect a camera or video to in. Start with the MediaPipe detector and inspect preview to check the face crop.

Connect motion to Portrait Rig’s motion input. Adjust the crop before adding smoothing or increasing the rig’s movement scales.

  • in supplies the image.
  • motion carries the 74-value pose and expression input used by Portrait Rig.
  • pose carries valid, pitch, yaw, roll, translation, scale, left and right eye ratios, and lip ratio.
  • preview shows the tracked crop.
  • Detector selects MediaPipe or InsightFace. MediaPipe is the default. InsightFace requires user-supplied models marked for non-commercial use.
  • Detection Threshold controls face acquisition.
  • Crop Scale and Crop V Offset adjust the tracked crop.
  • Motion Smoothing blends new motion with earlier values.
  • Redetect Face acquires the face again. Reset also clears stored motion and smoothing history.
  • Model selects the motion model.

When tracking loses the face, the motion output retains the last pose and sets valid to zero. Check validity when using pose channels to drive your own controls. Portrait Rig uses that flag to hold the last accepted motion.

Inputs

  • in image required
    RGBA

Outputs

  • motion image
    74 x 1
  • pose image
    11
  • preview image
    RGBA

Track

Detector (Detector) Menu op('face_track').par.Detector

mediapipe: works out of box, Apache-2.0. insightface: best quality; NON-COMMERCIAL user-supplied models.

Default:
mediapipe
Options:
mediapipe, insightface
Detection Threshold (Detthreshold) Float op('face_track').par.Detthreshold
Default:
0.5
Range:
0.05 to 0.95
Crop Scale (Cropscale) Float op('face_track').par.Cropscale
Default:
2.3
Range:
1.5 to 4
Crop V Offset (Cropvy) Float op('face_track').par.Cropvy
Default:
-0.125
Range:
-0.5 to 0.5
Motion Smoothing (Smoothing) Float op('face_track').par.Smoothing
Default:
0
Range:
0 to 0.99
Redetect Face (Redetect) Pulse op('face_track').par.Redetect
Default:
None
Reset (Reset) Pulse op('face_track').par.Reset
Default:
None

Model

Model (Modelpath) Str op('face_track').par.Modelpath
Default:
motion_extractor.safetensors