bioauth, derin öğrenme tabanlı yüz tanıma ve karşılaştırma süreçlerini basitleştiren, nesne yönelimli (OOP) mimariyle tasarlanmış profesyonel bir Python kütüphanesidir. Özellikle siber güvenlik ve biyometrik doğrulama projeleri için optimize edilmiştir.
- Vektörel Çıkarım (ArcFace): İnsan yüzlerini 512 boyutlu sayısal izdüşümlere (embeddings) dönüştürür.
- Akıllı Karşılaştırma: İki yüz vektörü arasındaki benzerliği Kosinüs Mesafesi (Cosine Distance) algoritması ile hesaplar.
- Güvenlik Kontrolü: Fotoğrafta birden fazla yüz tespit edildiğinde otomatik olarak güvenlik ihlali uyarısı fırlatır.
- Görsel Analiz: Analiz sonuçlarını OpenCV tabanlı bir arayüz ile görselleştirme imkânı sunar.
Kütüphaneyi PyPI üzerinden doğrudan kurmak için:
pip install bioauth
Kütüphane üç temel sınıftan oluşmaktadır:
FaceExtractor: Görüntüden yüzü bulur ve vektörel veriyi (embedding) çıkarır.
FaceComparator: Çıkarılan vektörleri matematiksel olarak karşılaştırır ve eşleşme durumunu döner.
FaceVisualizer: İki yüzü ve analiz sonucunu yan yana görselleştirir.
from bioauth_face import FaceExtractor, FaceComparator, FaceVisualizer
# 1. Başlatma
extractor = FaceExtractor()
comparator = FaceComparator(threshold=0.68)
visualizer = FaceVisualizer()
# 2. Vektör Çıkarımı
vec1 = extractor.get_embedding("user_face.webp")
vec2 = extractor.get_embedding("selfie_check.webp")
# 3. Doğrulama
result = comparator.verify(vec1, vec2)
print(f"Eşleşti mi? {result['is_match']}")
print(f"Mesafe: {result['distance']}")visualizer.show_match_result("user_face.webp", "selfie_check.webp", result)Kütüphane, hatalı yüz verileri ve geçersiz dosya formatları gibi uç senaryolara karşı pytest ile test edilmiştir. Uygulama içerisinde 512 boyutlu vektörlerin saklanması için pgvector destekli PostgreSQL kullanılması önerilir.
Enes Taşçı Bilgisayar Mühendisi | Yapay Zeka ve Gömülü Sistemler