--- license: other license_name: mixed-permissive license_link: https://huggingface.co/umbml/arca-models/blob/main/LICENSES.md library_name: onnx tags: - onnx - coreml - clip - face-recognition - mirror --- # arca-models Pinned ONNX mirrors of third-party models used for **on-device** inference in [Arca](https://arca.umbml.com). Nothing here is trained by us — every file is a byte-for-byte copy of an upstream release, re-hosted so that: 1. **Downloads are immutable.** Arca pins each file by commit SHA and verifies a SHA-256 before use. Fetching upstream `main` gave us a moving target: two of our source URLs 404'd after upstream repos were restructured, silently breaking on-device features with nothing able to detect the drift. 2. **Upstream repos aren't used as a CDN.** Pulling a 261 MB file from a `github.com/.../raw/main/` URL on every client install is not what that endpoint is for. If you want these models, please prefer the original sources below — they are the authoritative, maintained copies. ## Contents Every file here is live in Arca. Nothing is staged "for later" — an unused model in a mirror is just a file nobody can explain a year from now. | File | Bytes | Upstream source | License | | --- | --- | --- | --- | | `arcface.onnx` | 261,036,388 | [onnx/models](https://github.com/onnx/models/tree/main/validated/vision/body_analysis/arcface) — `arcfaceresnet100-8.onnx` | Apache-2.0 | | `auraface.mlpackage.zip` | 241,915,367 | [fal/AuraFace-v1](https://huggingface.co/fal/AuraFace-v1) — `glintr100.onnx`, converted to Core ML | Apache-2.0 | | `clip-vit-b32-image.onnx` | 351,686,194 | [Qdrant/clip-ViT-B-32-vision](https://huggingface.co/Qdrant/clip-ViT-B-32-vision) | MIT | | `clip-vit-b32-text.onnx` | 254,102,519 | [Qdrant/clip-ViT-B-32-text](https://huggingface.co/Qdrant/clip-ViT-B-32-text) | MIT | | `bpe_simple_vocab_16e6.txt.gz` | 1,356,917 | [openai/CLIP](https://github.com/openai/CLIP) | MIT | ### SHA-256 ``` f3a6bc281e72f88862f5748b53be3d76b3b48f8f1ab1f4a537941bdc4e1b01da arcface.onnx 7c47e081da5a8eb50c7f34faea9cbffa3f4f95a7e08c0c359ad3a4fa7610aaee auraface.mlpackage.zip c68d3d9a200ddd2a8c8a5510b576d4c94d1ae383bf8b36dd8c084f94e1fb4d63 clip-vit-b32-image.onnx 4dbe762b11e36488304471e439cde89da053ad7acaddbf9e096745d142ec8d8b clip-vit-b32-text.onnx 924691ac288e54409236115652ad4aa250f48203de50a9e4722a6ecd48d6804a bpe_simple_vocab_16e6.txt.gz ``` ## Note on `auraface.mlpackage.zip` A `.mlpackage` is a directory bundle, not a single file, so it is zipped (`ditto -c -k --sequesterRsrc --keepParent`) for single-URL distribution and single-SHA-256 pinning, matching every other file in this repo. The installing client (`FaceModelInstaller.swift`) unzips it before handing it to `MLModel.compileModel(at:)` — it never compiles the zip directly. Converted from `glintr100.onnx` (from the same `fal/AuraFace-v1` repo as its sibling `scrfd_10g_bnkps.onnx`/`2d106det.onnx`/`1k3d68.onnx`/`genderage.onnx` — **only `glintr100.onnx` is mirrored here**. The rest of that repo is stock InsightFace detection/auxiliary models with non-commercial upstream terms; `glintr100.onnx` is the one file `fal/AuraFace-v1`'s own `LICENSE.md` (stock Apache-2.0, verified in full, no field-of-use rider) actually covers, and it is the only one Arca needs — detection and landmarks come from the OS's own face API on every platform, never from this mirror. Bridge: ONNX → PyTorch via `onnx2torch` (`coremltools` dropped direct ONNX conversion) → traced → `coremltools.convert(..., convert_to="mlprogram")`. Verified against the original ONNX output on 5 real photos: max abs diff ~5e-6, cosine similarity 1.0 — floating-point noise, not a converter defect. ## Note on the CLIP pair `clip-vit-b32-image.onnx` and `clip-vit-b32-text.onnx` come from the **same export family** (both PyTorch 2.3.0 exports of `clip-ViT-B-32`) and therefore share one 512-d embedding space. Mixing an image encoder from one port with a text encoder from another puts the vectors in different spaces and makes cosine similarity meaningless. Treat the two as a single atomic unit. ## Previously here, removed Both were removed from `main` by a normal commit, so earlier pinned `resolve//` URLs still resolve — nothing that referenced them breaks. - **`yunet.onnx`** (face detection, MIT) — Arca uses the OS `Windows.Media.FaceAnalysis.FaceDetector` for detection, so this was never loaded. `arcface.onnx` (the 512-d embedder) is the only ONNX face model. - **`yolox_tiny.onnx`** (object detection, Apache-2.0) — mirrored in anticipation of an object-detection feature that doesn't exist yet, then removed rather than left sitting here unused. If it comes back, it will be re-uploaded alongside the code that actually calls it. ## Licensing Each file keeps its upstream license; see the table above and `LICENSES.md`. The `license: other` / `mixed-permissive` marker reflects that this repo aggregates MIT and Apache-2.0 files rather than being under one single license. No copyleft-licensed weights are hosted here — see `LICENSES.md` for why Ultralytics YOLO in particular can never be.