11

Image Recognition with CNN (WIP)

CNN model implemented in C# for inference, trained in Python with TensorFlow/Keras for image classification.

🚧 Work in Progress
This project explores hybrid AI development: training in Python, deployment in C#.


Image Recognition with CNN is a hybrid AI application combining Python and C# to build a lightweight Face ID–like system.
The model is trained in Python using TensorFlow/Keras, then exported as raw filter files — one per layer — to be consumed by a custom C# inference engine.

This project aims to replicate the principles of facial feature recognition — embedding generation, cosine similarity matching, and classification — in a desktop or enterprise environment.

🧠 Pipeline Overview

  • Model Training (Python):

    • Convolutional Neural Network (CNN) architecture defined in Keras.
    • Trained on labeled image datasets for face classification or embedding extraction.
    • Model weights are exported as individual .filter files, representing each layer or convolution kernel.
  • Inference (C#):

    • A custom C# engine loads and parses the .filter files manually.
    • Performs input preprocessing (resizing, normalization) and inference layer-by-layer.
    • Handles output postprocessing for classification or similarity scoring.
  • Target Use Case:

    • Ideal for facial recognition, object detection, or identity verification pipelines.
    • Focused on local deployment (no cloud dependencies) for privacy-preserving applications.

⚙️ Technologies

  • Python: TensorFlow, Keras
  • C#: .NET Core, custom filter loader, System.Drawing / OpenCV wrapper
  • Data format: Custom .filter format (1 file per filter/weight matrix)

This project bridges the gap between modern deep learning training workflows and low-level, manually controlled inference in production-grade C# applications.