Logo Lanfrica

isti-sys/Optical-Character-Recognition-OCR-

Domain:

natural language processing

Record type:

software
Creator:
ist
Host:
Optical Character Recognition (OCR) untuk membaca teks plat nomor kendaraan Indonesia dari gambar menggunakan Visual Language Model (VLM) yang dijalankan secara lokal via LM Studio # Optical Character Recognition (OCR) Plat Nomor Indonesia Menggunakan VLM & LM Studio Repositori ini berisi implementasi **Optical Character Recognition (OCR)** untuk mengenali teks plat nomor kendaraan Indonesia dari data citra menggunakan **Visual Language Model (VLM)** (`llava-phi-3-mini`). Model dijalankan secara lokal melalui **LM Studio** dan diintegrasikan dengan **Python REST API**. Proyek ini disusun untuk memenuhi tugas **Asesmen Akhir Semester (AAS) Mata Kuliah RE604 - Computer Vision**, Program Studi Teknik Robotika, Politeknik Negeri Batam (TA Genap 2025/2026). --- ## 📑 Daftar Isi 1. Deskripsi Proyek 2. Dataset & Ground Truth 3. Arsitektur & Pipeline 4. Persyaratan Sistem 5. Instalasi & Konfigurasi 6. Instruksi Eksekusi 7. Metrik Evaluasi (CER) 8. Struktur Repositori 9. Link Video Demonstrasi YouTube --- ## 📌 Deskripsi Proyek Proyek ini bertujuan mengevaluasi performa model multimodal VLM lokal dalam memproses informasi tekstual berupa plat nomor kendaraan Indonesia. Pipeline memproses citra uji, mengirimkannya ke LM Studio via API, membersihkan hasil prediksi menggunakan *Regular Expressions (Regex)*, dan mengukur tingkat akurasi menggunakan metrik **Character Error Rate (CER)**. --- ## 🚘 Dataset & Ground Truth Dataset yang digunakan adalah **Indonesian License Plate Dataset** (khusus folder `test`). > **Catatan Ground Truth:** > File label `.txt` bawaan dataset merupakan format koordinat *bounding box* YOLO (digunakan untuk deteksi objek). Untuk keperluan evaluasi pengenalan teks (OCR), Ground Truth teks plat nomor asli (seperti `BG1352AE`, `AD8865EE`, dll.) telah didefinisikan secara manual di dalam dictionary `MANUAL_GT` pada skrip `vlm.py` agar perhitungan metrik CER valid. --- ## 🏗 Arsitektur & Pipeline 1. **Preprocessing Image:** Gambar dari folder dataset di-resize secara proporsional di dalam memori (maks. 600px) menggunakan Pillow untuk mencegah timbulnya error *Out of Memory (OOM)* pada LM Studio. 2. **Base64 Encoding:** Citra …