Ship the three eye-state models beside the face pair

2d106det for the eye contours, OCEC for open or closed, SGC for
sunglasses — all three pinned to a batch of one by the same script as
the pair, and installed by every packager so the eyes-open filter works
out of the box. The two classifiers are MIT, code and weights; the
README records their provenance, SGC's undocumented training set, and
the hashes as fetched and as shipped.
This commit is contained in:
2026-09-19 14:04:08 +02:00
parent 54b543fb77
commit 6aae4c3eb0
11 changed files with 94 additions and 9 deletions
+7 -1
View File
@@ -61,7 +61,13 @@ package() {
# These live in LFS; a checkout without `git lfs pull` has ~130-byte
# pointers here. Installing one produces a package whose face indexing
# fails inside the graph loader on the user's machine, so refuse instead.
for _m in scrfd_500m_640.onnx scrfd_2.5g_640.onnx scrfd_10g_640.onnx arcface_mbf_b1.onnx; do
#
# The last three are the eye-state models (docs/faces.md §17): landmarks,
# open/closed, sunglasses. Optional to the app, which indexes without
# them, but shipped beside the pair so the eyes-open filter works out of
# the box.
for _m in scrfd_500m_640.onnx scrfd_2.5g_640.onnx scrfd_10g_640.onnx arcface_mbf_b1.onnx \
2d106det_b1.onnx ocec_s_b1.onnx sgc_l_48_b1.onnx; do
_src="models/face/${_m}"
if [[ "$(stat -c%s "${_src}")" -lt 100000 ]]; then
echo "error: ${_m} is an LFS pointer, not a model — run: git lfs pull" >&2