Showing posts with label Gemma 3 Vision. Show all posts
Showing posts with label Gemma 3 Vision. Show all posts

Thursday, January 22, 2026

Google Gemma 3 Vision: Python ile Görüntü İşleme, OCR ve Tarihi Analiz Deneyimleri

Google Gemma 3 Vision: Python ile Görüntü İşleme, OCR ve Tarihi Analiz Deneyimleri

Merhaba değerli arkadaşlar, ben Prof. Dr. Murat Karakaya. Murat Karakaya Akademi'ye hoş geldiniz. Bugün hem teknik hem de manevi açıdan çok özel bir inceleme ile karşınızdayım. 18 Mart Çanakkale Zaferi vesilesiyle, Google'ın yeni multimodal modeli Gemma 3 (4B)'ü, Çanakkale Savaşı'na ait tarihi fotoğraflar, belgeler ve menüler üzerinde test ettik.

Amacımız şu: Sadece 4 milyar parametreli küçük bir model, karmaşık tarihi belgeleri okuyabilir mi (OCR)? Yıpranmış siyah beyaz fotoğraflardaki duyguyu ve bağlamı anlayabilir mi? Ve en önemlisi, bunları Türkçe olarak hatasız yorumlayabilir mi? Sonuçlar beni gerçekten şaşırttı. Gelin, bu deneyimi ve Python kodlarını birlikte inceleyelim.

Bu duygusal ve teknik analizi baştan sona izlemek, modelin tarihi belgeleri nasıl yorumladığına şahit olmak için videoya göz atmanızı öneririm:

Bu Eğitimde Neler Öğreneceksiniz?

  • Hugging Face Transformers kütüphanesi ile Gemma 3 Vision kurulumu.
  • Gemma 3'ün OCR (Optik Karakter Tanıma) performansı ve kalori hesabı örneği.
  • Eski ve yıpranmış fotoğraflarda duygu ve bağlam analizi.
  • Yabancı dildeki (İngilizce/Yunanca) tarihi belgelerin analizi ve çevirisi.
  • Python ile Multimodal (Resim + Metin) pipeline oluşturma.

Gemma 3 Vision ve Teknik Altyapı

Gemma 3, sadece metin üreten bir LLM değil, aynı zamanda görüntüleri de "görebilen" bir VLM (Vision Language Model). Modelin içinde bir Vision Encoder bulunuyor. Bu encoder, görüntüyü küçük parçalara (patch) bölüyor, token'lara çeviriyor ve dil modelinin anlayabileceği bir formata dönüştürüyor.

Bu çalışmada, henüz çok yeni olduğu için Hugging Face'in transformers kütüphanesinin geliştirici sürümünü (GitHub branch) kullandık. Model olarak da 4 milyar parametreli (4B-it) versiyonu tercih ettik. Neden? Çünkü Colab'ın ücretsiz T4 GPU'sunda veya standart bir bilgisayarda (yaklaşık 7-8 GB VRAM ile) rahatlıkla çalışabiliyor.

Çanakkale Özel: Model Neleri Başardı?

1. OCR ve Mantıksal Çıkarım (Asker Menüsü)

Modele, Çanakkale Savaşı'nda askerlerimize verilen yemek listesini (15 Haziran, 26 Haziran gibi tarihlerin ve öğünlerin yazdığı eski bir belge) gösterdik. Gemma 3'ten sadece okumasını değil, askerlerin günlük kalorisini hesaplamasını ve günümüz hamburger menüsüyle kıyaslamasını istedik.

Sonuç: Model, tablodaki "Üzüm Hoşafı", "Yarım Ekmek" gibi silik yazıları kusursuz okudu. Askerin günlük ortalama 270 kalori aldığını hesapladı ve bunu günümüzün 1100 kalorilik menüsüyle kıyaslayarak aradaki uçurumu (yokluğu ve fedakarlığı) çok net ortaya koydu.

2. Duygu Analizi (Siperdeki Askerler)

Atatürk'ün cephede gözlemlediği anları anlattığı bir mektubun görselini ve siperdeki askerlerin bir fotoğrafını verdik. "Buradaki ruh halini özetle" dedik. Model, askerlerin yüzündeki kararlılık, korku, gerginlik ve vatan sevgisi ifadelerini metinle birleştirerek lise düzeyinde bir öğrencinin yazabileceği kalitede duygusal bir analiz yaptı.

3. Bağlamı Anlama (Fotoğraf Nerede Çekildi?)

Hiçbir yazı içermeyen, sadece askerlerin olduğu bir fotoğraf gösterdik. Model, üniformalardan, kask yapısından (her ne kadar kalpak yerine kask dese de) ve ortamdan bunun 1. Dünya Savaşı, Osmanlı Cephesi olduğunu ve muhtemelen Çanakkale veya Filistin cephesi olabileceğini "akıl yürüterek" buldu.

Python Kodları: Gemma 3 Vision Kurulumu

Bu analizi kendi bilgisayarınızda veya Google Colab'da yapmak için aşağıdaki Python kodlarını kullanabilirsiniz. Transformers kütüphanesinin güncel olduğundan emin olun.

import torch
from transformers import pipeline
from PIL import Image
import requests

# 1. Pipeline'ı Hazırlama
# 'image-text-to-text' görevi multimodal modeller içindir.
pipe = pipeline(
    "image-text-to-text",
    model="google/gemma-3-4b-it",
    device_map="auto",
    torch_dtype=torch.bfloat16 # Bellek tasarrufu için bfloat16 önemli
)

# 2. Resmi Yükleme (Örnek URL)
image_url = "https://example.com/canakkale_fotografi.jpg"
image = Image.open(requests.get(image_url, stream=True).raw)

# 3. Modele Mesaj Gönderme
# Gemma 3 için özel mesaj formatı
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": image},
            {"type": "text", "text": "Bu resimde ne görüyorsun? Askerlerin ruh halini ve ortamı detaylıca analiz et."}
        ]
    }
]

# 4. Cevabı Üretme
output = pipe(messages, max_new_tokens=1024)
print(output[0]["generated_text"][-1]["content"])

Sıkça Sorulan Sorular (SSS)

1. Gemma 3 Türkçe OCR konusunda ne kadar başarılı?

4 milyar parametreli bir model için inanılmaz başarılı. Çanakkale menüsündeki eski yazı tiplerini, Atatürk'ün el yazısına yakın notlarını ve yıpranmış gazete küpürlerini %95'in üzerinde doğrulukla okuyup Türkçeye çevirebildi.

2. Bu model sadece CPU ile çalışır mı?

Evet, Llama.cpp gibi araçlarla CPU üzerinde çalıştırılabilir ancak bu rehberde kullandığımız Transformers kütüphanesi ile GPU (Colab T4 veya yerel RTX kartlar) kullanmak çok daha hızlı sonuç verir. CPU'da bir resmin analizi dakikalar sürebilir.

3. Llama 3.2 Vision ile farkı nedir?

Gemma 3, özellikle Türkçe dil desteği ve muhakeme (reasoning) yeteneği konusunda çok daha "yerel" hissettiriyor. Yaptığımız testlerde Türk tarihi ile ilgili bağlamları (üniformalar, coğrafya) şaşırtıcı derecede doğru tanıdı.

Sonuç

Bu 18 Mart'ta, teknolojiyi tarihimizi anlamak için kullandık. Gemma 3, 4 milyar parametresine rağmen, o dönemin zorluklarını, askerimizin fedakarlığını ve tarihin tozlu sayfalarındaki detayları bize bir kez daha, yapay zeka gözüyle gösterdi. Bize bu vatanı emanet eden tüm kahramanlarımızı saygı ve rahmetle anıyoruz.

Daha Fazlasını Keşfedin:
Yapay zeka modellerinin sınırlarını zorladığımız, teknik analizleri milli değerlerimizle harmanladığımız videoları kaçırmamak için Murat Karakaya Akademi YouTube kanalına abone olun.

Kanalı Ziyaret Et & Abone Ol 🚀

#MuratKarakayaAkademi #Gemma3 #VisionAI #CanakkaleZaferi #YapayZeka #Python