Yapay Zeka & Makine Öğrenmesi
Açık Kaynak

Ensemble Facial Recognition & ONNX Pipeline

PythonTensorFlow / KerasScikit-LearnONNXskimageTkinter

SVM, Random Forest ve CNN mimarilerini soft-voting (esnek oylama) ile birleştirerek yüz veri setlerini sınıflandıran ve modelleri otonom olarak ONNX grafklarına serileştiren heterojen ML hattı.

Teknoloji Yığını

PythonTensorFlow / KerasScikit-LearnONNXskimageTkinter

Sistem Metrikleri

Yüksek bias'a sahip geleneksel sınıflandırıcılar ile derin uzamsal özellik çıkarıcıları birleştirerek overfitting riskini büyük ölçüde azaltır
ONNX serileştirmesi, canlı çıkarsama (inference) aşamasındaki ağır TensorFlow runtime bağımlılığını tamamen ortadan kaldırır

Bunu Neden İnşa Ettim?

"Bu pipeline, `OpenCV-Face-Features-Toolkit-For-ML-cpp` projem tarafından üretilen normalize edilmiş yüz veri setlerini (dataset) işlemek ve sınıflandırmak için uç nokta (downstream) motoru olarak tasarlandı. Yüz tanımada tek bir ML mimarisine güvenmek genellikle uzamsal aşırı öğrenmeye (overfitting) veya varyans sorunlarına yol açar. Geleneksel istatistiksel modeller (SVM/RF) ile derin uzamsal özellik çıkarıcıların (CNN) tahminlerini matematiksel olarak birleştirerek bireysel model sapmalarını (bias) minimize etmek için bu ensemble yaklaşımını kurguladım."

Mimari & Kararlar

Veri yükleme katmanı, girdi matrislerini 100x100 gri tonlamalı dizilere normalize eder. Scikit-Learn ve TensorFlow farklı tensör geometrileri beklediği için (1D düzleştirilmiş diziler vs. 2D uzamsal tensörler), `BaseEstimator` ve `ClassifierMixin` sınıflarından miras alan özel bir `KerasClassifierWrapper` inşa ettim. Bu wrapper, TF/Keras hesaplama grafiğini (computational graph) doğrudan Scikit-Learn'ün `VotingClassifier` yapısına entegre eder. Sistem, tahmin olasılık dağılımlarını (`predict_proba`) soft-voting mekanizmasıyla hesaplar. Son olarak modeller, çıkarsama (inference) motorunu Python/TensorFlow runtime'ından izole edip C++ ortamlarında (edge deployment) çalıştırılabilmesi için ONNX formatında (opset 9 ve 11) serileştirilir.

Temel Özellikler

  • 01.`OpenCV-Face-Features-Toolkit-For-ML-cpp` aracı tarafından üretilen normalize veri setlerinin doğrudan içeri alınması ve sınıflandırılması
  • 02.TensorFlow CNN'lerini Scikit-Learn ensemble pipeline'ları içinde orkestre etmek için özel `BaseEstimator` köprü katmanı
  • 03.SVM, Random Forest ve CNN olasılık dağılımları üzerinden maksimum olabilirlik (maximum likelihood) hesaplayan soft-voting ensemble sınıflandırıcı
  • 04.Çapraz platform ve runtime bağımsız inference (çıkarsama) için otonom ONNX graph serileştirme hattı