facekit library

Pure Dart offline facial recognition engine.

Features:

  • Zero external native C/C++ dependencies or bindings.
  • Zero TensorFlow / TFLite / ONNX runtime dependencies.
  • 100% offline, privacy-preserving, cross-platform Dart execution.

Classes

BinaryDatabase
Binary .face database adapter for multi-record binary storage.
Face
Represents a detected face instance with bounding box, confidence, landmarks, and feature embedding.
FaceAligner
Pure Dart facial similarity transformer and aligner producing normalized 112x112 canonical face images.
FaceDatabaseAdapter
Abstract contract for local face database storage adapters (Memory, JSON, Binary, SQLite).
FaceDetector
Pure Dart multi-scale face detector.
FaceEmbedder
Pure Dart 128-dimensional discriminative face feature extractor.
FaceEmbedding
Represents a 128-dimensional facial feature embedding vector.
FaceImage
Pure Dart image representation backed by contiguous Uint8List typed buffers.
FaceKit
Main entry point for the FaceKit pure Dart offline facial recognition engine.
FaceKitConfig
Immutable configuration class for FaceKit operations.
FaceKitLogger
Lightweight zero-dependency logger for FaceKit diagnostics.
FaceLandmark
Represents a single facial landmark point (2D or 3D).
FaceMatcher
Pure Dart nearest-neighbor face embedding matcher.
FaceSerializer
Pure Dart serializer and parser for custom .face binary format files.
ImageProcessor
Pure Dart computer vision and image processing engine.
IntegralImage
2D Integral Image (Summed Area Table) for $O(1)$ box query evaluations.
JsonDatabase
JSON-format database adapter converting records into structured JSON payloads.
LandmarkDetector
Pure Dart facial landmark detector supporting 68-point and dense 468-point models.
MatchResult
Output result returned by FaceKit recognition queries.
MathOperations
Neural network mathematical operations including Conv2D, Pooling, and Activations.
Matrix
High-performance 2D Matrix backed by a flat contiguous Float32List.
MemoryDatabase
In-memory RAM database adapter for high-speed local testing and volatile storage.
PersonRecord
Represents a registered person record stored in FaceKit local index or database.
Pixel
Representation of a single pixel color value.
Rect
Pure Dart 2D Rectangle structure representing bounding box boundaries.
Tensor
Multi-dimensional tensor backed by a contiguous Float32List buffer and stride calculations.
TypedBufferUtils
Performance and safety utilities for working with TypedData buffers.
Vector
High-performance 1D math vector backed by a contiguous Float32List.

Enums

FaceDistanceMetric
Distance metric used for face embedding comparisons.
FaceKitLogLevel
Log levels supported by FaceKit logger.
ImageFormat
Pixel color format supported by FaceImage.
LandmarkModelType
Landmark model type supported by FaceKit.

Exceptions / Errors

DatabaseException
Thrown when local database operations (storage, query, deletion) fail.
FaceDetectionException
Thrown when face detection or landmark detection operations fail.
FaceKitException
Base exception class for all errors occurring within the FaceKit library.
InvalidImageException
Thrown when an input image is invalid, corrupt, or unsupported.
ModelInitializationException
Thrown when model weights or network initialization fails.
SerializationException
Thrown when .face binary format serialization or deserialization fails.
ValidationException
Thrown when input validation checks fail (e.g. invalid parameters or dimensions).