CoolFace
Apppublic

baki0115/gaze-ctrl-360

sourceHugging Faceapache-2.0updated 5d agoView on Hugging Face
0likes
App README

GazeCtrl 360 — interactive results

A frozen Qwen-Image-Edit-2509 steered by a trained InstantX ControlNet Union turns a person in a photo to face a target gaze (dx, dy, dz) — head and body — over the full 360°, including facing away.

The gaze vector is the control signal: no skeleton stage, no pose prediction, and no text prompt. It is rendered as a flat RGB field (R = dx, G = dy, B = dz), VAE-encoded, and fed to the ControlNet.

This page is a static result viewer, not a live demo — 18 source images × 24 gaze targets, generated offline, with the ground-truth turnaround frame shown alongside each generation so you can judge it yourself. Three checkpoints (80k / 85k / 90k) are switchable.

Convention: dx > 0 looks image-right, dy > 0 looks up, dz > 0 looks toward the camera. yaw = atan2(dx, dz), so ±180° means facing away.

Code & training recipehttps://github.com/VicsonPeng/GazeCtrl_training-based
Weightshttps://huggingface.co/baki0115/gaze-controlnet-qwen-image-edit
Labelshttps://huggingface.co/datasets/baki0115/GazeCtrl_dataset

Known limitations — including the large generalisation gap (19° on training identities vs ~56° held-out) and marginal identity preservation — are documented honestly in the repository README.