gedik25/VisionOCR

VisionOCR Studio — Cok Modelli (VLM/ViT) ve Sicak Onbellek Mimarili Yerel Fis ve Belge Ayristirma Platformu

Python

0

0 commits

updated Sep 11, 2026

See the code

README

⚡ VisionOCR Studio

Çok Modelli Görsel Dil Ağları (VLM / ViT) ve Derin Öğrenme Tabanlı, Sıcak Önbellek Mimarili Yerel Fiş ve Belge Ayrıştırma Platformu
TÜBİTAK 2209-B & Üniversite Bitirme Projesi

Python FastAPI PySide6 PyTorch License


📖 Genel Bakış

VisionOCR Studio, perakende, muhasebe ve kurumsal masraf süreçlerinde fiziksel fiş, fatura ve ticari belgelerin sayısallaştırılmasını sağlayan yüksek performanslı bir yapay zekâ platformudur.

Geleneksel OCR yaklaşımları (Tesseract vb.) termal kağıt silintileri ve karmaşık tablolarda yetersiz kalırken; bulut tabanlı ticari API'ler (AWS Textract, Google Vision) yüksek işlem maliyetleri ve KVKK/GDPR veri gizliliği riskleri doğurmaktadır.

VisionOCR Studio; son teknoloji açık kaynaklı Görsel Dil Modellerini (VLM) ve derin öğrenme boru hatlarını tamamen yerel donanımda (Apple Silicon MPS / CUDA) çalıştırarak sıfır API maliyeti, sıfır veri sızıntısı ve 1 saniyenin altında (<1.0s) çıkarım hızı sunar.


✨ Öne Çıkan Yetenekler

  • 🚀 Sıcak Önbellek Mimarisi (Warm Cache): Modelleri bellekte hazır tutarak her çıkarımda modeli yeniden yükleme (cold start) maliyetini ortadan kaldırır.
  • ⚡ Apple Silicon (MPS) & CUDA Donanım Hızlandırma: FP16 / Float16 optimizasyonu ile Mac ve PC üzerinde yüksek hızlı çıkarım.
  • 📝 Canlı SSE Daktilo Akışı (Server-Sent Events): VLM çıkarımını anlık token akışı olarak tarayıcıya yansıtır.
  • 📦 Endüstriyel Toplu İşleme (Batch Engine): Yüzlerce fiş ve faturayı sürükle-bırak yöntemiyle sıraya alıp işler; sonuçları tek tıkla Excel, CSV ve JSON olarak dışa aktarır.
  • 🖥️ Çift Arayüz Desteği:
    • Modern Web Arayüzü: FastAPI + SSE destekli hafif ve modern web stüdyosu.
    • Masaüstü Uygulaması: PySide6 / Qt6 tabanlı yerel masaüstü arayüzü.
  • 🛠️ Akıllı Görüntü Ön İşleme: Fiş ve belgeler için otomatik kontrast dengeleme, gürültü temizleme ve en-boy oranına göre akıllı ölçekleme.

🧠 Desteklenen Model Ailesi

ModelMimari TürüParametreOptimize CihazOrtalama Süre (Sıcak)Öne Çıkan Kullanım Alanı
OvisOCR2Qwen3.5 VLM0.9BMPS / CUDA~0.65sFişler, faturalar, temiz Markdown & Tablo çıkarımı
GLM-OCRViT Doküman VLM0.9BMPS / CUDA~0.55sTermal fiş metinleri, bozuk dokümanlar
LightOnOCR-2-1BMistral VLM2.1BMPS / CUDA~0.74sYoğun metinli raporlar, karmaşık tablolar
MMOCRDBNet (ResNet-50) + CRNNHibritMPS / CPU~1.10sPiksel koordinatlı (Bounding Box) satır tespiti
dots.ocrQwen Layout VLM2.9BMPS / CUDA~1.20sHiyerarşik sayfa düzeni (JSON Layout) ayrıştırma
CRNNCNN + BiLSTM + CTCHafifCPU / MPS~0.08sUltra hızlı tek satır metin okuma

🏗️ Sistem Mimarisi

graph TD
    A[Görsel / Fiş Girişi] --> B[Görüntü Optimizasyonu & Ön İşleme]
    B --> C{Model Yöneticisi}
    C -->|VLM Rotası| D[OvisOCR2 / GLM-OCR / LightOnOCR]
    C -->|Koordinat Rotası| E[MMOCR: DBNet Metin Tespiti]
    E --> F[CRNN / PARSeq Metin Tanıma]
    C -->|Düzen Rotası| G[dots.ocr Layout JSON]
    D --> H[Sıcak Önbellek Yönetimi & Bellek Havuzu]
    F --> H
    G --> H
    H --> I[Yapılandırılmış Çıktı: JSON / Markdown / Bounding Box]
    I --> J[Web Stüdyosu SSE Akışı & PySide6 GUI]
    I --> K[Toplu Raporlama: Excel / CSV / ZIP]

🚀 Hızlı Başlangıç

1. Gereksinimler

  • Python 3.10 veya üzeri
  • macOS (Apple Silicon M1/M2/M3/M4 tavsiye edilir) veya Linux / Windows (CUDA destekli)

2. Kurulum

Depoyu klonlayın ve sanal ortam oluşturun:

git clone https://github.com/gedik25/VisionOCR.git
cd VisionOCR

python3 -m venv venv
source venv/bin/activate   # Windows için: venv\Scripts\activate

Bağımlılıkları yükleyin:

pip install --upgrade pip
pip install torch torchvision torchaudio
pip install transformers accelerate fastapi uvicorn PySide6 Pillow

3. Çalıştırma

🌐 Web Arayüzünü Başlatma (Önerilen)

python run_web.py

Tarayıcınızdan açın: http://127.0.0.1:8080

🖥️ Masaüstü (Qt6 / PySide6) Arayüzünü Başlatma

python main.py

💻 Komut Satırından (CLI) Tekil veya Toplu Çıkarım

# Tekil görsel testi (OvisOCR2 ile):
python ocr_runner.py --model OvisOCR2 --image ocr/GLM-OCR/sample_test.png

# Bir klasördeki tüm fişleri topluca işleme:
python batch_runner.py --input belgeler/ --output sonuclar/ --model OvisOCR2

🧪 Testler

Proje bünyesinde tüm modelleri, bellek yönetimini, streaming akışını ve web uç noktalarını kapsayan 60 adet birim ve entegrasyon testi bulunmaktadır:

python -m unittest discover -s unit_tests

Çıktı: Ran 60 tests in 78.774s — OK


📂 Proje Dizin Yapısı

bitirme-projesi/
├── ocr/                     # OCR & VLM modelleri çıkarım motorları
│   ├── model_manager.py     # Sıcak önbellek, model yaşam döngüsü ve SSE akışı
│   ├── image_optimizer.py   # Akıllı boyutlandırma ve görüntü iyileştirme
│   ├── batch_pipeline.py    # Çoklu iş parçacıklı toplu işleme boru hattı
│   ├── OvisOCR2/            # OvisOCR2 çıkarım modülü
│   ├── GLM-OCR/             # GLM-OCR çıkarım modülü
│   ├── LightOnOCR-2-1B/     # LightOnOCR çıkarım modülü
│   ├── MMOCR/               # OpenMMLab DBNet + CRNN çıkarım modülü
│   └── dots-ocr/            # dots.ocr sayfa düzeni ayrıştırma modülü
├── web/                     # FastAPI web sunucusu ve statik arayüz
│   ├── server.py            # REST API ve SSE streaming uç noktaları
│   └── static/              # Modern web stüdyosu (HTML, CSS, JS)
├── gui/                     # PySide6 (Qt6) masaüstü arayüz bileşenleri
├── unit_tests/              # 60 adet kapsamlı birim ve entegrasyon testi
├── run_web.py               # Web sunucusu başlatıcı
├── main.py                  # Masaüstü uygulaması başlatıcı
└── batch_runner.py          # CLI toplu işleme aracı

📄 Lisans

Bu proje akademik araştırma ve geliştirme amacıyla hazırlanmıştır. MIT Lisansı kapsamında sunulmaktadır.

gedik25/VisionOCR

VisionOCR Studio — Cok Modelli (VLM/ViT) ve Sicak Onbellek Mimarili Yerel Fis ve Belge Ayristirma Platformu

Python

0

0 commits

updated Sep 11, 2026

See the code

README

⚡ VisionOCR Studio

Çok Modelli Görsel Dil Ağları (VLM / ViT) ve Derin Öğrenme Tabanlı, Sıcak Önbellek Mimarili Yerel Fiş ve Belge Ayrıştırma Platformu
TÜBİTAK 2209-B & Üniversite Bitirme Projesi

Python FastAPI PySide6 PyTorch License


📖 Genel Bakış

VisionOCR Studio, perakende, muhasebe ve kurumsal masraf süreçlerinde fiziksel fiş, fatura ve ticari belgelerin sayısallaştırılmasını sağlayan yüksek performanslı bir yapay zekâ platformudur.

Geleneksel OCR yaklaşımları (Tesseract vb.) termal kağıt silintileri ve karmaşık tablolarda yetersiz kalırken; bulut tabanlı ticari API'ler (AWS Textract, Google Vision) yüksek işlem maliyetleri ve KVKK/GDPR veri gizliliği riskleri doğurmaktadır.

VisionOCR Studio; son teknoloji açık kaynaklı Görsel Dil Modellerini (VLM) ve derin öğrenme boru hatlarını tamamen yerel donanımda (Apple Silicon MPS / CUDA) çalıştırarak sıfır API maliyeti, sıfır veri sızıntısı ve 1 saniyenin altında (<1.0s) çıkarım hızı sunar.


✨ Öne Çıkan Yetenekler

  • 🚀 Sıcak Önbellek Mimarisi (Warm Cache): Modelleri bellekte hazır tutarak her çıkarımda modeli yeniden yükleme (cold start) maliyetini ortadan kaldırır.
  • ⚡ Apple Silicon (MPS) & CUDA Donanım Hızlandırma: FP16 / Float16 optimizasyonu ile Mac ve PC üzerinde yüksek hızlı çıkarım.
  • 📝 Canlı SSE Daktilo Akışı (Server-Sent Events): VLM çıkarımını anlık token akışı olarak tarayıcıya yansıtır.
  • 📦 Endüstriyel Toplu İşleme (Batch Engine): Yüzlerce fiş ve faturayı sürükle-bırak yöntemiyle sıraya alıp işler; sonuçları tek tıkla Excel, CSV ve JSON olarak dışa aktarır.
  • 🖥️ Çift Arayüz Desteği:
    • Modern Web Arayüzü: FastAPI + SSE destekli hafif ve modern web stüdyosu.
    • Masaüstü Uygulaması: PySide6 / Qt6 tabanlı yerel masaüstü arayüzü.
  • 🛠️ Akıllı Görüntü Ön İşleme: Fiş ve belgeler için otomatik kontrast dengeleme, gürültü temizleme ve en-boy oranına göre akıllı ölçekleme.

🧠 Desteklenen Model Ailesi

ModelMimari TürüParametreOptimize CihazOrtalama Süre (Sıcak)Öne Çıkan Kullanım Alanı
OvisOCR2Qwen3.5 VLM0.9BMPS / CUDA~0.65sFişler, faturalar, temiz Markdown & Tablo çıkarımı
GLM-OCRViT Doküman VLM0.9BMPS / CUDA~0.55sTermal fiş metinleri, bozuk dokümanlar
LightOnOCR-2-1BMistral VLM2.1BMPS / CUDA~0.74sYoğun metinli raporlar, karmaşık tablolar
MMOCRDBNet (ResNet-50) + CRNNHibritMPS / CPU~1.10sPiksel koordinatlı (Bounding Box) satır tespiti
dots.ocrQwen Layout VLM2.9BMPS / CUDA~1.20sHiyerarşik sayfa düzeni (JSON Layout) ayrıştırma
CRNNCNN + BiLSTM + CTCHafifCPU / MPS~0.08sUltra hızlı tek satır metin okuma

🏗️ Sistem Mimarisi

graph TD
    A[Görsel / Fiş Girişi] --> B[Görüntü Optimizasyonu & Ön İşleme]
    B --> C{Model Yöneticisi}
    C -->|VLM Rotası| D[OvisOCR2 / GLM-OCR / LightOnOCR]
    C -->|Koordinat Rotası| E[MMOCR: DBNet Metin Tespiti]
    E --> F[CRNN / PARSeq Metin Tanıma]
    C -->|Düzen Rotası| G[dots.ocr Layout JSON]
    D --> H[Sıcak Önbellek Yönetimi & Bellek Havuzu]
    F --> H
    G --> H
    H --> I[Yapılandırılmış Çıktı: JSON / Markdown / Bounding Box]
    I --> J[Web Stüdyosu SSE Akışı & PySide6 GUI]
    I --> K[Toplu Raporlama: Excel / CSV / ZIP]

🚀 Hızlı Başlangıç

1. Gereksinimler

  • Python 3.10 veya üzeri
  • macOS (Apple Silicon M1/M2/M3/M4 tavsiye edilir) veya Linux / Windows (CUDA destekli)

2. Kurulum

Depoyu klonlayın ve sanal ortam oluşturun:

git clone https://github.com/gedik25/VisionOCR.git
cd VisionOCR

python3 -m venv venv
source venv/bin/activate   # Windows için: venv\Scripts\activate

Bağımlılıkları yükleyin:

pip install --upgrade pip
pip install torch torchvision torchaudio
pip install transformers accelerate fastapi uvicorn PySide6 Pillow

3. Çalıştırma

🌐 Web Arayüzünü Başlatma (Önerilen)

python run_web.py

Tarayıcınızdan açın: http://127.0.0.1:8080

🖥️ Masaüstü (Qt6 / PySide6) Arayüzünü Başlatma

python main.py

💻 Komut Satırından (CLI) Tekil veya Toplu Çıkarım

# Tekil görsel testi (OvisOCR2 ile):
python ocr_runner.py --model OvisOCR2 --image ocr/GLM-OCR/sample_test.png

# Bir klasördeki tüm fişleri topluca işleme:
python batch_runner.py --input belgeler/ --output sonuclar/ --model OvisOCR2

🧪 Testler

Proje bünyesinde tüm modelleri, bellek yönetimini, streaming akışını ve web uç noktalarını kapsayan 60 adet birim ve entegrasyon testi bulunmaktadır:

python -m unittest discover -s unit_tests

Çıktı: Ran 60 tests in 78.774s — OK


📂 Proje Dizin Yapısı

bitirme-projesi/
├── ocr/                     # OCR & VLM modelleri çıkarım motorları
│   ├── model_manager.py     # Sıcak önbellek, model yaşam döngüsü ve SSE akışı
│   ├── image_optimizer.py   # Akıllı boyutlandırma ve görüntü iyileştirme
│   ├── batch_pipeline.py    # Çoklu iş parçacıklı toplu işleme boru hattı
│   ├── OvisOCR2/            # OvisOCR2 çıkarım modülü
│   ├── GLM-OCR/             # GLM-OCR çıkarım modülü
│   ├── LightOnOCR-2-1B/     # LightOnOCR çıkarım modülü
│   ├── MMOCR/               # OpenMMLab DBNet + CRNN çıkarım modülü
│   └── dots-ocr/            # dots.ocr sayfa düzeni ayrıştırma modülü
├── web/                     # FastAPI web sunucusu ve statik arayüz
│   ├── server.py            # REST API ve SSE streaming uç noktaları
│   └── static/              # Modern web stüdyosu (HTML, CSS, JS)
├── gui/                     # PySide6 (Qt6) masaüstü arayüz bileşenleri
├── unit_tests/              # 60 adet kapsamlı birim ve entegrasyon testi
├── run_web.py               # Web sunucusu başlatıcı
├── main.py                  # Masaüstü uygulaması başlatıcı
└── batch_runner.py          # CLI toplu işleme aracı

📄 Lisans

Bu proje akademik araştırma ve geliştirme amacıyla hazırlanmıştır. MIT Lisansı kapsamında sunulmaktadır.