diff --git a/README.md b/README.md index ba95b36..b9e50c5 100644 --- a/README.md +++ b/README.md @@ -48,9 +48,29 @@ Optional flags: The ONNX model weights live in `models/` (tracked via Git LFS): - `arcface_w600k_r50.onnx` — primary ArcFace embedder - `arcface_w600k_mbf.onnx`, `arcface_r18.onnx` — lighter alternatives +- `LVFace-B_Glint360K.onnx` — LVFace embedder (ViT backbone, ICCV 2025), drop-in + ArcFace-compatible: same `[N,3,112,112]` input and 512-d output (see below) - `face_detection_yunet_2023mar.onnx` — YuNet face detector - `scrfd_500m_bnkps.onnx` — SCRFD face detector +### LVFace + +[LVFace](https://github.com/bytedance/LVFace) is a Vision-Transformer face +recognition model. The `LVFace-B_Glint360K.onnx` export shares ArcFace's I/O +contract (112×112 aligned BGR crop → L2-normalised 512-d embedding) and its +`(x − 127.5)/128` input scaling, so it slots straight into the existing embedder +— just point `--arcface-model` at it: + +```bash +./build/scene_analyze --arcface-model models/LVFace-B_Glint360K.onnx \ + --gallery gallery.json --input movie.mp4 +``` + +> **Important:** embeddings from different recognition models are not +> interchangeable. A gallery (and its calibration cache) must be built with the +> **same** embedder used for analysis — rebuild the gallery with +> `--arcface models/LVFace-B_Glint360K.onnx` before analysing with LVFace. + If they are missing (e.g. LFS not fetched), re-download them with: ```bash