QUFC Research Division · Internal Tool
Judge Calibration
Measures what the scoring engine actually does to the six archive faces and to a few deliberately boring ones, then prints the config blocks to paste back into the source. Nothing here is linked from the site, and nothing on this page is uploaded or saved anywhere.
photo-features.json and
faceoff-scoring.js. Step 4 is the old parameter sweep,
which is optional and slow.
Step 1
Score the archive
Runs the current engine over the six archive pairs — each person's
normal face against their QUFC entry — and compares the result to
the target scores written into faceoff-calibration.js.
The first run downloads the face model, so give it a few seconds.
Step 2
Capture the boring faces
The archive tells the engine what a great face looks like. These tell it what an unremarkable one looks like, which is what stops a neutral face scoring 40. Capture all three if you can — they anchor the bottom of the output curve to your own face rather than to a guess.
- Relaxed: not captured
- Smile: not captured
- Mild expression: not captured
Step 3
Export the config
Prints a fresh photo-features.json from what step 1
measured, and a re-fitted scoreCurve that puts the
archive faces in the high 80s and the boring faces near zero.
Re-run this after changing anything in
faceoff-scoring.js — the curve maps from the model's
raw output, so it goes stale the moment the model changes.
Step 4 · optional
Parameter sweep
Brute-forces combinations of the tunable scoring parameters against the archive targets and the captured controls. Slow, and worth re-running only after changing the categories or the reference photos — the structural settings it sweeps are no longer where most of the error lives.