Inference Lifecycle
Siklus hidup pemrosesan inferensi citra: decoding, sanitasi, kalkulasi fitur, evaluasi model, dan logging.
Status: Stablev1.0.0Source Verified: Yes
Source:
backend/app/services/predict.pyTests: backend/tests/test_predict.pyAI Inference Lifecycle#
Dokumentasi rinci mengenai tahapan siklus hidup saat citra dental diproses oleh AI Engine dari awal hingga menghasilkan skor keyakinan.
1. Tahapan Siklus Inferensi#
- Payload Ingestion: Menerima request JSON dan melakukan decoding Base64 menjadi binary buffer di memori (tanpa menulis ke disk).
- Image Sanitization: Memeriksa header magic bytes JPEG/PNG dan memverifikasi batas dimensi citra (maksimal 10 MB).
- Aspect-Ratio Preserved Resizing: Melakukan resize ke
128x128piksel menggunakan filter interpolasi bilinear berkualitas tinggi. - HOG Feature Extraction: Menghitung gradien intensitas piksel dan memetakan histogram arah orientasi (26.244 dimensi).
- StandardScaler Transform: Menyelaraskan distribusi fitur sesuai parameter pelatihan.
- SVM Decision Function: Mengevaluasi vektor terhadap hyperplane klasifikasi untuk menghasilkan probabilitas sigmoid.
- Telemetry & Audit Log: Mencatat durasi inferensi, memori yang digunakan, dan ID sesi terkait.
2. Penanganan Error & Edge Cases#
- Citra Rusak (Corrupted Image): Mengembalikan status 422 Unprocessable Entity dengan pesan galat deskriptif.
- Dimensi Fitur Tidak Cocok: Jika dimensi vektor bukan 26.244, sistem menolak eksekusi dan mencatat log kritis.
- Timeout Protection: Request dibatasi maksimal 30 detik untuk mencegah deadlock memori.
3. Benchmark Kecepatan Komputasi#
| Tahap | Rata-rata Durasi | P95 Latency |
|---|---|---|
| Decode & Resize Image | 12 ms | 18 ms |
| Ekstraksi Fitur HOG | 85 ms | 110 ms |
| Scaler & SVM Inference | 22 ms | 35 ms |
| Total Response Time | ~120 ms | ~165 ms |