Spec the face pipeline on SCRFD and MobileFaceNet

FR-CULL-8..12 specify the subsystem in terms of "a 512-dimension embedding
from a stated model" and stop there, because D13 was open. This names the
models, and grounds them in the measurements and the working C++ pipeline in
../scene-actor-extraction rather than in a literature reading.

The licensing half of D13 stays open, but with a route through it: the
InsightFace weights are non-commercial and cannot be committed, so the app
ships the code and the user fetches the model. faces.model_id already makes
that a survivable choice.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-26 19:44:39 +02:00
co-authored by Claude Opus 5
parent f82c69bc6b
commit ec740115b6
4 changed files with 782 additions and 9 deletions
+3
View File
@@ -716,6 +716,9 @@ Specified by FR-CULL-8 … FR-CULL-12, NFR-SEC-5, [architecture.md §6.4](archit
spike S14 and decision D13 — the runtime and the model licences are unresolved, so this is the shape
of the subsystem, not a build order.
[faces.md](faces.md) names the models this shape is filled in with, and adds one column to §10.1's
`faces` table (`crop_px`) that the calibration in its §8 depends on.
### 10.1 Schema (a v5 migration)
```sql