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
.facedatabase 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
.facebinary 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
.facebinary format serialization or deserialization fails. - ValidationException
- Thrown when input validation checks fail (e.g. invalid parameters or dimensions).