Skip to content

🤖 AI Destekli Analiz 5 Farklı Yüz Tipi Tespiti: Oval, Round, Square, Heart, Oblong 6 Gözlük Tipi Sınıflandırma: Aviator, Cat Eye, Oval, Rectangle, Round, Square Ensemble Model: Birden fazla modelin birleşik tahmini %95+ Doğruluk Oranı: Test setinde yüksek performans

Notifications You must be signed in to change notification settings

code-alchemist01/GlassMatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glass Match - AI Gözlük Uyumluluk Sistemi

Data Source: Kaggle Dataset - Glass Match AI Faces

Glass Match Python React PyTorch

Yapay zeka destekli gözlük uyumluluk analiz sistemi

ÖzelliklerKurulumKullanımTeknik Detaylar


📋 İçindekiler


✨ Özellikler

🤖 AI Destekli Analiz

  • 5 Farklı Yüz Tipi Tespiti: Oval, Round, Square, Heart, Oblong
  • 6 Gözlük Tipi Sınıflandırma: Aviator, Cat Eye, Oval, Rectangle, Round, Square
  • Ensemble Model: Birden fazla modelin birleşik tahmini
  • %95+ Doğruluk Oranı: Test setinde yüksek performans

🎨 Modern Web Arayüzü

  • React + TypeScript: Modern frontend teknolojileri
  • Futuristik Tasarım: Glassmorphism ve neon efektler
  • Dark/Light Mode: Kullanıcı tercihine göre tema
  • Responsive Design: Tüm ekran boyutlarında uyumlu

🚀 Gelişmiş Özellikler

  • Virtual Try-On: Gözlükleri yüzünüzde sanal olarak deneyin
  • Uyumluluk Skoru: Rule-based uyumluluk hesaplama
  • Koleksiyon Sayfası: 120+ gözlük modeli
  • Analiz Geçmişi: Yapılan analizleri kaydetme
  • Favoriler: Beğenilen gözlükleri kaydetme
  • AI Chatbot: Gemini AI destekli akıllı asistan
Ekran görüntüsü 2025-12-25 134444 Ekran görüntüsü 2025-12-25 134500 Ekran görüntüsü 2025-12-25 134510 Ekran görüntüsü 2025-12-25 134518 Ekran görüntüsü 2025-12-25 134543 Ekran görüntüsü 2025-12-25 134549 Ekran görüntüsü 2025-12-25 134553 Ekran görüntüsü 2025-12-25 134607 Ekran görüntüsü 2025-12-25 134617 Ekran görüntüsü 2025-12-25 134626

💻 Sistem Gereksinimleri

Minimum Gereksinimler

  • İşletim Sistemi: Windows 10/11, Linux, macOS
  • Python: 3.9 veya üzeri
  • Node.js: 18.x veya üzeri
  • RAM: 8 GB (16 GB önerilir)
  • Disk Alanı: 10 GB boş alan

GPU Gereksinimleri (Opsiyonel)

  • NVIDIA GPU: CUDA 12.x destekli
  • VRAM: 6 GB+ (8 GB önerilir)
  • CUDA Toolkit: 12.4 veya üzeri

Not: GPU olmadan da CPU üzerinde çalışabilir, ancak daha yavaş olacaktır.


🛠️ Kurulum

# 1. Projeyi indirin ve dizine gidin
cd 2.deneme

# 2. Python sanal ortamı oluşturun ve aktifleştirin
python -m venv venv
# Windows: .\venv\Scripts\Activate.ps1
# Linux/macOS: source venv/bin/activate

# 3. Backend bağımlılıklarını yükleyin
pip install -r requirements.txt

# 4. Frontend bağımlılıklarını yükleyin
cd frontend && npm install && cd ..

Not: Model dosyaları models/ klasöründe olmalı. Yoksa Model Eğitimi bölümüne bakın.


🚀 Kullanım

Sistemi Başlatma

Terminal 1 - Backend:

# Sanal ortamı aktifleştirin
# Windows: .\venv\Scripts\Activate.ps1
# Linux/macOS: source venv/bin/activate

# Backend'i başlatın
python backend/main.py

Backend http://127.0.0.1:8888 adresinde çalışacaktır.

Terminal 2 - Frontend:

cd frontend
npm run dev

Frontend http://localhost:5173 adresinde çalışacaktır.

Tarayıcıda:

  1. http://localhost:5173 adresine gidin
  2. Fotoğraf yükleyin ve analiz edin

📁 Proje Yapısı

2.deneme/
├── backend/
│   └── main.py                 # FastAPI backend server
├── frontend/
│   ├── src/
│   │   ├── components/          # React bileşenleri
│   │   ├── pages/              # Sayfa bileşenleri
│   │   ├── context/            # React Context (Theme)
│   │   └── App.tsx             # Ana uygulama
│   └── package.json
├── models/                     # Eğitilmiş model dosyaları
├── data/
│   ├── faces/                  # Yüz şekli veri seti
│   └── synthetic/              # Sentetik veri setleri
├── glasses/                    # Gözlük görselleri (120 adet)
├── scripts/
│   ├── 01_generate_synthetic.py  # Sentetik veri üretimi
│   ├── 02_train_models.py         # Model eğitimi
│   └── 03_test_models.py          # Model testi
├── src/
│   ├── models/                 # Model tanımları
│   ├── data/                   # Dataset sınıfları
│   ├── inference/              # Tahmin modülleri
│   └── utils/                  # Yardımcı fonksiyonlar
└── requirements.txt            # Python bağımlılıkları

🔧 Gelişmiş Kullanım

Model Eğitimi

Eğer model dosyaları yoksa veya yeniden eğitmek istiyorsanız:

# Tüm modelleri eğit
python scripts/02_train_models.py --model all

# Belirli bir modeli eğit
python scripts/02_train_models.py --model A  # Gözlüksüz yüz -> Yüz tipi
python scripts/02_train_models.py --model B  # Gözlüklü yüz -> Yüz tipi
python scripts/02_train_models.py --model C  # Gözlüklü yüz -> Gözlük tipi
python scripts/02_train_models.py --model D  # Gözlük ROI -> Gözlük tipi
python scripts/02_train_models.py --model E  # İzole gözlük -> Gözlük tipi

Sentetik Veri Üretimi

Yeni sentetik veri üretmek için:

python scripts/01_generate_synthetic.py

Model Testi

Eğitilmiş modelleri test etmek için:

python scripts/03_test_models.py

🎯 API Endpoint'leri

Backend aşağıdaki endpoint'leri sağlar:

Analiz

  • POST /analyze - Fotoğraf analizi yapar
    • Request: multipart/form-data (file: image)
    • Response: {face_shape, glasses_type, is_compatible, score, recommendations}

Virtual Try-On

  • POST /try-glasses - Gözlüğü yüze uygular
    • Request: multipart/form-data (file: image, glasses_type: str, glasses_id: str)
    • Response: {image: base64_encoded_image}

Gözlük Bilgileri

  • GET /glasses-types - Tüm gözlük kategorilerini listeler
  • GET /glasses-images/{category} - Belirli kategorideki tüm gözlükleri listeler
  • GET /compatibility-table - Uyumluluk tablosunu döndürür

ChatBot

  • POST /chat/message - Chat mesajı gönderir
  • POST /chat/analyze-photo - Chat üzerinden fotoğraf analizi

🐛 Sorun Giderme

Backend Başlamıyor

Backend Başlamıyor

Sorun: Backend çalışmıyor veya API istekleri başarısız oluyor

Backend çalışmıyorsa önce port 8888'in kullanımda olup olmadığını kontrol edin (netstat -ano | findstr :8888), eğer başka bir process kullanıyorsa sonlandırın (taskkill /PID <PID> /F), ardından 2.deneme klasöründe python backend/main.py komutu ile backend'i başlatın ve modellerin yüklenmesini bekleyin (yaklaşık 10-15 saniye), backend hazır olduğunda http://127.0.0.1:8888/ adresine GET isteği göndererek test edebilirsiniz.

Sorun: Port 8888 zaten kullanımda

# Windows: Port'u kullanan process'i bulun
netstat -ano | findstr :8888

# Process'i sonlandırın
taskkill /PID <PID> /F

Sorun: CUDA hatası

# CPU modunda çalıştırın (backend/main.py içinde device="cpu" yapın)

Frontend Başlamıyor

Sorun: Port 5173 zaten kullanımda

# Vite farklı bir port kullanacaktır, terminal çıktısını kontrol edin

Sorun: node_modules hataları

# node_modules'ı silip yeniden yükleyin
rm -rf node_modules package-lock.json
npm install

Model Yüklenemiyor

Sorun: Model dosyası bulunamıyor

  • models/ klasörünün doğru konumda olduğundan emin olun
  • Model dosyalarının .pth uzantılı olduğunu kontrol edin

Gemini API Hatası

Sorun: ChatBot çalışmıyor

  • backend/main.py içindeki GEMINI_API_KEY değerini kontrol edin
  • API key'in geçerli olduğundan emin olun

📊 Performans

  • Yüz Tipi Tespiti: %95+ doğruluk
  • Gözlük Tipi Tespiti: %90+ doğruluk
  • Inference Süresi: ~200-500ms (GPU'da)
  • Virtual Try-On: ~300-800ms

🤝 Katkıda Bulunma

  1. Fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Commit edin (git commit -m 'Add amazing feature')
  4. Push edin (git push origin feature/amazing-feature)
  5. Pull Request açın

📝 Lisans

Bu proje eğitim amaçlı geliştirilmiştir.


📧 İletişim

Sorularınız için issue açabilirsiniz.


Made with 💜 by AI

About

🤖 AI Destekli Analiz 5 Farklı Yüz Tipi Tespiti: Oval, Round, Square, Heart, Oblong 6 Gözlük Tipi Sınıflandırma: Aviator, Cat Eye, Oval, Rectangle, Round, Square Ensemble Model: Birden fazla modelin birleşik tahmini %95+ Doğruluk Oranı: Test setinde yüksek performans

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published