Türkçe · English
ArtIdentifier Fullstack, kullanıcının kamera veya galeriden seçtiği bir sanat eseri görselini FastAPI servisine göndererek sanatçı ve sanat akımı tahmini yapmayı amaçlayan uçtan uca bir mobil uygulama prototipidir.
Proje üç bölümden oluşur:
- TensorFlow modeli: EfficientNetB3 tabanlı çok görevli sınıflandırma
- FastAPI backend: Görüntü kabul eden
/predictendpoint'i - Flutter frontend: Kamera, galeri, analiz ve sonuç ekranları
| Ana ekran | Seçilen eser | Analiz durumu |
|---|---|---|
![]() |
![]() |
![]() |
flowchart LR
A[Flutter Mobil Uygulama] --> B[FastAPI /predict]
B --> C[EfficientNetB3 Modeli]
C --> D[Sanatçı Tahmini]
C --> E[Sanat Akımı Tahmini]
B --> F[artists.csv Metadata]
F --> G[Biyografi ve Sanatçı Bilgisi]
- Flutter
- Dart
- Python
- FastAPI
- TensorFlow / Keras
- EfficientNetB3
- Pandas
- scikit-learn
- Pillow
cd frontend
flutter pub get
flutter runAndroid emülatöründe backend adresi:
http://10.0.2.2:8000/predict
cd backend
python -m uvicorn app:app --reloadBackend'in çalışması için şu dosyaların backend klasöründe bulunması gerekir:
art_identifier_model.keras
artist_encoder.pkl
genre_columns.pkl
artists.csv
Eğitilmiş art_identifier_model.keras dosyası büyük boyutu nedeniyle repository'ye eklenmemiştir.
Repository içinde veri hazırlama kodları, EfficientNetB3 eğitim scripti, FastAPI servisi ve Flutter mobil arayüzü bulunmaktadır.
Model yeniden üretilecekse veri seti hazırlanmalı ve sırasıyla şu scriptler çalıştırılmalıdır:
python analysis.py
python dataPreparation.py
python train_model.py- Eğitilmiş model ağırlıkları repository'de bulunmaz.
- Model olmadan Flutter arayüzü açılır ancak gerçek tahmin sonucu üretilemez.
- Proje üretim sistemi değil, eğitim ve portföy amaçlı bir prototiptir.
- Tahmin kalitesi kullanılan veri setine ve yeniden eğitim sürecine bağlıdır.
Bu proje, bir görüntü sınıflandırma modelinin mobil uygulama ve API ile nasıl birleştirilebileceğini gösteren sade bir uçtan uca yapay zekâ prototipidir.


