RvFACE banner
ruvnet ruvnet

RvFACE

Data community

Description

rvFACE — face recognition SDK in Rust + WASM. Burn inference (CPU + WebGPU), detector/landmark/embedder pipeline, CLI + browser. Rust port of Faceplugin's open-source Face-Recognition-SDK.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

rvFACE

**Rust + WebAssembly face recognition** — a complete port of the [Faceplugin Open-Source-Face-Recognition-SDK](https://github.com/Faceplugin-ltd/Open-Source-Face-Recognition-SDK) (Python/PyTorch) to Rust, running natively and in the browser on **WebGPU or CPU**, with a web UI.

![rvFACE web UI demo](docs/media/demo.gif)

Analyze: detection · 68 landmarks · pose 1:1 compare: score gauge · threshold-75 verdict
Analyze pane Compare pane

Pipeline

image ─► slim-320 SSD detector ─► 68-pt MobileFaceNet landmarks ─► head pose
                                        │
                                        ▼
                          eyes-level alignment (128×128)
                                        │
                                        ▼
                       embedding CNN ─► L2-normalized feature
                                        │
                                        ▼
                     similarity = (dot + 1) × 50   (match > 75)

Workspace

Path What
crates/rvface-core Framework-free pipeline math (priors, NMS, alignment, pose, similarity, image ops)
crates/rvface-models Burn ports of the three CNNs (CPU: ndarray · WebGPU: wgpu)
crates/rvface-cli Native CLI (rvface detect, rvface compare)
crates/rvface-wasm Browser bindings (wasm-bindgen)
web/ Web UI (Vite + TS): upload/webcam, overlays, 1:1 compare, backend toggle
tools/ Python: weight conversion → safetensors, golden parity fixtures
docs/adrs/ Architecture decision records (start at 0001)

Quick start

# native
cd rvface
python3 tools/fetch_and_convert.py          # download + convert weights → models/
cargo run -p rvface-cli --release -- compare a.jpg b.png

# browser
cd web && npm install && npm run dev        # weights serv