Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

AI Engine SDK

A reusable and modular Python SDK for face detection, face embedding, and face recognition built on top of InsightFace. The SDK is designed to be framework-independent, allowing it to integrate seamlessly with any backend such as Django, Flask, FastAPI, or custom Python services.

Features

  • Modular architecture with reusable components
  • Strongly typed schemas using dataclasses
  • Configurable InsightFace model loading
  • Image preprocessing and validation
  • Face detection with bounding boxes and facial landmarks
  • Comprehensive unit and integration test suite
  • Easy integration into existing backend applications

Current Architecture

Image
   │
   ▼
ImageProcessor
   │
   ▼
Detector
   │
   ▼
FaceDetection

Components Implemented

Configuration

  • AIEngineConfig
  • Constants
  • Custom Exceptions

Models

  • InsightFaceLoader

Core

  • ImageProcessor
  • Detector

Schemas

Geometry

  • Point
  • BoundingBox
  • FacialLandmarks

Face

  • FaceDetection
  • EmbeddingVector
  • FaceEmbedding
  • RecognitionResult

Testing

  • Unit Tests
  • Integration Tests

Current Status

  • ✅ 43 Tests Passed
  • ✅ 100% Passing Test Suite

Roadmap

The following components are planned:

  • Embedder
  • Matcher
  • Recognizer
  • AIEngine (high-level SDK interface)

Final pipeline:

Image
   │
   ▼
ImageProcessor
   │
   ▼
Detector
   │
   ▼
FaceDetection
   │
   ▼
Embedder
   │
   ▼
FaceEmbedding
   │
   ▼
Matcher
   │
   ▼
RecognitionResult

Backend Integration

The SDK is backend-agnostic and can be integrated into any Python backend.

Example:

from ai_engine import AIEngineConfig
from ai_engine.core import ImageProcessor, Detector
from ai_engine.models import InsightFaceLoader

config = AIEngineConfig()

model = InsightFaceLoader.get_model(config)
detector = Detector(model)

image = ImageProcessor.load("image.jpg")
detections = detector.detect(image)

The returned SDK schemas can be directly serialized into JSON responses or used in business logic such as attendance systems, visitor management, authentication, or surveillance applications.

Project Goals

  • Clean and modular architecture
  • Easy to extend and maintain
  • Framework-independent
  • Production-ready design
  • Comprehensive testing with TDD

Author

Suresh Thevar

GitHub

About

FaceTrack SDK is a framework-independent Python library that provides reusable components for image processing, face detection, embeddings, and recognition, enabling easy integration into modern backend systems.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages