Ghostmaxxing A public lab for testing camouflage
Functional guide · Browser Lab

Run a local face-matching experiment.

Save a baseline, apply a Ghostyle, and compare how the local browser pipeline reads the original and modified face.

The Lab processes the camera locally until you deliberately record and consent to an upload. A local result describes this pipeline under the current conditions. It is not a safety claim.

Before you start

Setup lighting (better camera you can move)

  • The theory wants "an evenly lit face, a stable camera position, and a simple background", but that's is true if you want to sistematically study the effect of every dot.
  • Allow camera access. The models are served from this site and may take time to initialise.
  • Only one face in frame.
  • Keep pose, distance, light, and camera as similar as possible if you're comparing states.
  • Once a while move the camera, your angle, and see how it affects the detection.

Baseline means the saved face descriptor used as the comparison reference. It stays in the browser on this device. See baseline.

Minimum procedure

From camera to comparison.

01

Wait for the camera and models

The live stage should replace the loading message. Before a face is saved, the readout asks you to save one. This is not yet a match result.

02

Select Save

Keep your face steady and use Save in the bottom bar. The saved-face count should become one. The same face is now the active local baseline.

03

Read the unmodified state

Leave the Camera view active. The number beside MATCH is a descriptor distance. In the current 2D pipeline, smaller means closer to the saved baseline.

04

Inspect landmarks

Switch between 2D points and 3D mesh. These views show geometry estimated from the frame. They are not identity scores.

05

Choose a Ghostyle

Open Settings, review the current threshold, and select a Ghostyle. The overlay is rendered on the face and the composite image is analysed separately.

06

Compare the result

Watch the distance and status over several updates. Record the Ghostyle, threshold, camera, light, pose, and any instability. Do not keep only the highest or lowest transient value.

Ghostmaxxing Lab before a baseline is saved, with the camera view and top match readout visible
The initial camera workspace. The readout has no meaningful comparison until a baseline exists.Fixture capture · full Lab viewport
Ghostmaxxing Lab after saving one baseline, with a recognised state in the match readout
After Save, the browser compares incoming descriptors with the active baseline stored on this device.Observed fixture result · full Lab viewport
What the views show

Geometry is not identity.

Camera

Original frame plus active Ghostyle

The cleanest view for following the visible intervention and the top readout.

2D points

68 face-api landmarks

Points used to locate facial regions and anchor compatible 2D Ghostyles.

3D mesh

478 MediaPipe landmarks

A dense normalised face mesh used by the 3D path and UV-capable interventions.

MATCH

Distance against a baseline

A separate comparison output. Read it with the current threshold and state.

Lab 2D points view showing face-api landmarks over the test face
The 2D view exposes the landmark geometry used by face-api and face-anchored 2D drawing.Observed fixture state
Lab 3D mesh view showing a dense MediaPipe face mesh over the test face
The 3D mesh is denser, but it isn't designed to do face recognition.Observed fixture state
Apply an intervention

Change one condition at a time.

A Ghostyle is a modular visual intervention. Some Ghostyles draw from the 68-point geometry, some use the 3D mesh or UV texture, and command Ghostyles such as Face Brush add their own controls.

The Lab keeps tracking the original camera image while it also builds a composited image containing the Ghostyle. That distinction explains why a face box can remain visible while the result of the modified-image pass changes.

Lab Settings screen showing Ghostyles, camera controls, threshold, analysis frequency, and saved-face information
Settings contains both experiment variables and the available Ghostyles. Note the threshold before comparing results.Observed fixture state
Lab camera view with a Ghostyle visibly rendered over the test face
An active Ghostyle is a test input. Its visible presence does not establish that detection or matching changed.Observed interface state · result must be read separately
Data and consent

Local until you choose otherwise.

  • Saved baselines and their thumbnails persist in browser storage on this device.
  • Delete all in Settings removes the saved face records from this browser.
  • Record creates a short clip and places it in the browser workflow for review.
  • An upload is a separate action. It requires review and explicit consent before the clip is sent to the configured server endpoint.
  • Copying or downloading an image exports data from the page to your device or clipboard.
Saved Faces screen containing one local face baseline
Saved Faces lists baselines stored by this browser. The active record is the comparison reference.Observed fixture state · local browser data
Common problems

Common problems and what to check.

What you seeLikely meaningWhat to check
Loading message remainsModels or camera did not become ready.Local model files, browser console, camera permission, and secure origin.
No face in frameThe detector produced no usable face for that pass.Light, angle, occlusion, distance, and whether the video frame is valid.
Save your faceNo active baseline exists.Select Save while one readable face is present.
Distance changes rapidlyFrame-by-frame predictions or input conditions are unstable.Hold position, improve light, and observe a series rather than one value.
2D and 3D disagreeThe two pipelines use different representations and decision directions.Record both outputs and treat the result as partial or unresolved.

Do not read “Escaped” as “safe”. It means the current comparison crossed the configured local threshold, or that the modified-image detector did not return a face. It says nothing by itself about another model, camera, deployment, or future frame.