Back to directory

On-Device Face Recognition In Android

An Android app and reference project that performs on-device face recognition by comparing FaceNet embeddings against a local vector database of known faces.

On-Device Face Recognition In Android

On-Device Face Recognition In Android demonstrates a full on-device pipeline: detecting faces with MediaPipe or MLKit, producing FaceNet embeddings in either a 128- or 512-dimensional variant, storing them with an embedded vector database, and comparing a new face against the stored set with nearest-neighbor vector search. It also includes an optional face-spoof detection step using a separate anti-spoofing model.

The project reports latency for detection, embedding, and vector search on its main screen, and is built as a reference implementation of modern Android architecture rather than a packaged consumer product, distributed with source code and an APK for testing.

It is written in Kotlin and released under the Apache-2.0 license.

More in Mobile

See all 90
  • Dart and Flutter bindings for the Zvec in-process vector engine, letting mobile and desktop apps run on-device semantic search, retrieval-augmented generation and similarity queries with no separate server.

  • Mobile Claw

    github.com

    A Capacitor plugin that embeds a native Rust AI agent engine directly on Android and iOS, running Claude with file tools, code execution, git and extensible MCP device tools, on-device vector memory and background scheduling, with no cloud relay.

  • A Swift package for streaming, on-device speech recognition on iOS, built on a custom Rust inference runtime (VoxRT) rather than ONNX Runtime or PyTorch Mobile, running a 32-million-parameter FastConformer model with roughly 90ms per-chunk latency on an iPhone 13 Pro Max.