Sharpness previously used variance of the kernel constant, so every face
got ~0 sharpness weight. Compute Laplacian variance on the grayscale crop;
add unit tests and an error-tagging checklist for follow-on accuracy work.
ilia
scheduled this pull request to auto merge when all checks succeed 2026-08-05 10:05:57 -05:00
ilia
merged commit dfd0c582e6 into master2026-08-05 10:07:58 -05:00
ilia
deleted branch fix/face-quality-sharpness-phase12026-08-05 10:07:58 -05:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
calculate_face_quality_scoreso sharpness uses Laplacian variance of the face crop (was variance of the 3×3 kernel — always ~constant)face_laplacian_variancehelper +tests/test_face_quality_score.pydocs/FACE_MATCH_ERROR_TAGGING.mdchecklist for sampling ~100 Auto-Match/Identify missesNote
Existing DB
quality_scorevalues are unchanged until faces are re-processed (Phase 3).Test plan
pytest tests/test_face_quality_score.py -v --noconftest(4 passed)ruff check backend/services/face_service.py