YuNet face detection (OpenCV Zoo, dynamic input)

models.skillsafe.ai/yunet@2026may/

Vetted New WebGPU

Face detection model for onnxruntime-web. Runs on WASM or WebGPU — 224 KB downloaded once from models.skillsafe.ai, then cached for every SkillSafe app that uses it. Inference happens on your device; nothing you enter is uploaded to load it, and it never costs a credit. Weights from Hugging Face · skillsafe-ai/yunet, pinned at ec8d1017224d — also loadable straight from Hugging Face outside SkillSafe (how).

Share

Details

Catalogue idyunet@2026may
Runtimeonnxruntime-web ≥ 1.17.0
DeviceWASM, WebGPU
Download224 KB · 1 file
LicenceMIT · notice
Pinned atec8d1017224d980f30c8f69685a5851ad22f0117
ApprovedSep 22, 2026
Statusactive — every file is a live vetted hash

Files

Each file is served at an immutable URL; the canonical form is the SHA-256 itself. Tokenizer and config JSON are not here by design — they ship in your app bundle.

PathFormatSizeSHA-256
face_detection_yunet_2026may.onnx onnx 224 KB ebafce4e3c11…22f0f0

Signature

Graph inputs and outputs read from the ONNX bytes at vetting — the tensor names your session.run() call feeds and reads. Symbolic dimensions are shown by name.

Inputs

  • input float32 [1, 3, height, width]

Outputs

  • cls_8 float32 [1, anchors, 1]
  • cls_16 float32 [1, anchors, 1]
  • cls_32 float32 [1, anchors, 1]
  • obj_8 float32 [1, anchors, 1]
  • obj_16 float32 [1, anchors, 1]
  • obj_32 float32 [1, anchors, 1]
  • bbox_8 float32 [1, anchors, 4]
  • bbox_16 float32 [1, anchors, 4]
  • bbox_32 float32 [1, anchors, 4]
  • kps_8 float32 [1, anchors, 10]
  • kps_16 float32 [1, anchors, 10]
  • kps_32 float32 [1, anchors, 10]
Use it in an app declaration · SDK loader · onnxruntime-web · URLs · Hugging Face — generated from this entry

Add to the body of POST /v1/apps/{slug}/releases (or a release session). An unknown or withdrawn model is refused with a 400 naming it; the app page then shows "downloads 224 KB · runs on your device" and /models.txt carries the attribution.

{
  "models": [
    {
      "id": "yunet",
      "revision": "2026may"
    }
  ]
}

Evaluation

onnx.checker + onnxruntime CPU smoke run with zero-filled inputs at the declared shapes; per-file SHA-256 pinned to the source — imported as published upstream, then checked. Evaluated Sep 22, 2026.

Runs under onnxruntime

Zero-filled inputs at the declared shapes, CPU execution provider on the converter host; the check is that the graph loads, runs, and emits the declared output shapes.

  • face_detection_yunet_2026may.onnx: input[1,3,320,320] → cls_8[1,1600,1], cls_16[1,400,1], cls_32[1,100,1], obj_8[1,1600,1], obj_16[1,400,1], obj_32[1,100,1], bbox_8[1,1600,4], bbox_16[1,400,4], bbox_32[1,100,4], kps_8[1,1600,10], kps_16[1,400,10], kps_32[1,100,10] 1.5 ms

Toolchain: python 3.12.13 · platform Darwin 25.6.0 arm64 · torch 2.10.0 · onnx 1.23.0 · onnxruntime 1.30.0. Recipe models/recipes/yunet.yaml (cf27be4dcf7f). Full manifest.json

Licence & attribution

MIT · licence text · notice

YuNet: Copyright (c) 2020 Shiqi Yu. MIT License. Distributed via OpenCV Zoo (Apache-2.0). https://github.com/opencv/opencv_zoo/tree/main/models/face_detection_yunet

Apps that declare this model get this text in their generated /models.txt, so a licence that requires a notice always carries one.

Every file here was approved by exact SHA-256 after a structural audit of the graph, fetched from a content-pinned source, and is served credential-free at an immutable URL. The SDK re-verifies the hash on your device before it caches or returns anything. Missing a variant? Request it — or read how the registry works.