IT
OmnvertGörsel • Belge • Ağ

Taranmış PDF'lerde OCR kalitesini ne belirler

5 dakika okuma
Ahşap masada duran, çerçeveli kutuları ve küçük kırmızı başlıkları olan basılı bir form; üzerine bırakılmış bir kalem.

OCR tek bir işlem değil, bölütleme ile başlayıp sözlük düzeltmesiyle biten bir zincir. Hata zincirin başında oluşur ve aşağı doğru büyür; bu yüzden kaliteyi belirleyen şey taramanın kendisidir.

OCR aslında ne yapar

Taranmış bir PDF, içinde metin bulunmayan bir görüntü koleksiyonudur. OCR bu görüntüyü okunabilir metne çevirirken tek bir işlem değil, birbirine bağlı bir dizi adım uygular: sayfayı metin ve metin dışı bölgelere ayırır, satırları bulur, satırları kelime ve karakter kutularına böler, her kutuyu bir sınıflandırıcıdan geçirir ve çıkan adayları bir dil modeli ile sözlük üzerinden düzeltir.

Bu zincirin önemli bir özelliği var: hata yukarıdan aşağı yayılır. Sayfa bölütleme yanlışsa satırlar yanlış, satırlar yanlışsa karakter kutuları yanlış olur. Sınıflandırıcı ne kadar iyi olursa olsun kendisine yanlış kırpılmış bir kutu verildiğinde doğru cevabı üretemez. Bu yüzden OCR kalitesini belirleyen şey çoğunlukla tanıma motoru değil, ona verilen görüntüdür.

Sonucu belirleyen altı etken

1. Tarama çözünürlüğü

Sınıflandırıcının ayırt edebilmesi için harfin piksel cinsinden yeterli büyüklükte olması gerekir. 300 DPI ile taranmış 10 punto bir metinde küçük harflerin gövde yüksekliği kabaca yirmi piksel civarındadır; bu, "e" ile "c", "rn" ile "m" arasındaki farkı taşımaya yeter. 150 DPI'da aynı yükseklik onun altına iner ve ince çizgiler birbirine değmeye başlar. Tesseract belgeleri de en az 300 DPI önerir.

Düşük çözünürlüklü bir taramayı sonradan büyütmek kaybolan bilgiyi geri getirmez. Ara değerleme yeni piksel üretir, yeni ayrıntı üretmez: birbirine değmiş iki çizgi büyütüldüğünde daha büyük ve hâlâ değmiş iki çizgi olur. Büyütmenin tek faydası, çok küçük görüntülerde tanıma motorunun beklediği ölçeğe yaklaşmaktır; asıl çözüm belgeyi doğru çözünürlükte yeniden taramaktır.

2. İkilileme (binarisation)

Çoğu motor sayfayı önce siyah beyaza indirger. Tek bir eşik değeri kullanıldığında eşit aydınlatılmamış sayfalarda sorun çıkar: telefonla çekilmiş bir belgede bir köşe gölgede kalır, o bölgedeki harfler eşiğin altında kalıp tamamen kaybolur. Bölgesel eşikleme bu durumu kurtarır. Kağıdın arka yüzünden sızan baskı da aynı adımda karar meselesine dönüşür: eşik biraz düşükse arka yüz metni ön yüze karışır.

3. Eğiklik ve bükülme

Satır bulma işlemi yatay izdüşüm profiline dayanır: sayfadaki siyah piksellerin satır bazında toplamı. Sayfa bir iki derece eğikse bu profildeki tepeler yayılır, iki komşu satır tek tepe halinde birleşebilir. Kitap taramalarında cilt kenarına doğru oluşan bükülme aynı sorunu sayfanın yalnızca bir bölümünde yaratır, bu yüzden metnin ortası düzgün çıkarken kenarı bozulur. Eğiklik düzeltme, OCR'dan önce yapılacak en ucuz ve en etkili işlemdir.

4. Sıkıştırma artefaktları

JPEG, keskin kenarların çevresinde halka biçiminde bozulma bırakır ve metin baştan sona keskin kenardan ibarettir. Düşük kaliteli JPEG olarak taranmış bir sayfada harflerin çevresinde gri bulut oluşur, ikilileme adımı bu bulutu ya harfe katar ya da harfi inceltir. Belge taramalarında kayıpsız ya da yüksek kaliteli bir ayar, aynı dosya boyutunu tutan agresif bir JPEG'den çok daha iyi sonuç verir. Sıkıştırmayı arşivleme aşamasına bırakın: metin katmanı eklendikten sonra dosyayı küçültmek tanımayı etkilemez.

5. Dil verisi ve sözlük

Sınıflandırıcı tek bir karakter için birden çok aday üretir ve seçim dil modeliyle yapılır. Yanlış dil seçmek bu düzeltme katmanını zararlı hale getirir: Türkçe bir belgeyi İngilizce modeliyle okutursanız "ı" harfleri "i"ye, "ş" ve "ğ" benzer gövdeli harflere çekilir, çünkü model bu karakterleri beklemiyordur. Karışık dilli belgelerde iki dili birlikte yüklemek, tek dili zorlamaktan daha iyi çalışır.

6. Sayfa düzeni

Çok sütunlu bir sayfada okuma sırası bölütleme kararına bağlıdır. Sütunlar ayırt edilemezse satırlar soldan sağa birleştirilir ve iki sütunun metni birbirine girer. Tablo, dipnot, kenar notu ve filigran da aynı adımda karar bekler. Sayfa düzeni tanınmadığında harf düzeyinde hata yapılmamış olsa bile çıktı kullanılamaz hale gelir; tablo çıkarmak istiyorsanız konu PDF tablolarını Excel'e aktarma yazısında ayrıca ele alınıyor.

Belgenin kendisi de bir etken

Aynı tarayıcıyla aynı ayarda çekilmiş iki sayfa çok farklı sonuç verebilir. Tırnaklı ve düzenli bir gövde metni, tanıma için en kolay girdidir. Daralmış yazı tipleri, el yazısı benzeri başlıklar, tamamı büyük harf yazılmış satırlar ve altı çizili metin belirgin biçimde zorlaştırır: alt çizgi harflerin alt uzantılarına değdiği için karakter kutuları birleşir. Dipnotlardaki altı yedi puntoluk metin de aynı sayfada gövde metni sorunsuz okunurken kelime kelime kaybolabilir.

Kağıdın durumu ikinci etkendir. Fotokopinin fotokopisi her kuşakta kontrastı ve ince çizgileri yitirir; damga, kaşe ve imza metnin üstüne bindiğinde o bölgede tanıma tamamen durur. Delik zımba izi ve katlanma çizgisi bölütleme adımında sahte satır kenarı gibi davranır. Bu kusurların hiçbiri tanıma motorunun ayarıyla çözülmez, ancak daha iyi bir kopyayla çözülür.

Çıktının kalitesini nasıl ölçersiniz

OCR çıktısı emin görünür: motor size bir metin verir, hangi kelimeden emin olmadığını yazının içinde belirtmez. Kaba bir kontrol listesi çoğu hatayı yakalar.

  • Sayılara bakın: sözlük düzeltmesi sayıları kurtarmaz. 0 ile O, 1 ile l, 5 ile S, 8 ile B karışması en sık burada görülür ve en pahalı hatadır.
  • Kelime sayısını karşılaştırın: sayfadaki yaklaşık kelime sayısı ile çıkan metnin uzunluğu kabaca uyuşmalı. Büyük fark, bir bölgenin hiç tanınmadığını gösterir.
  • Metni seçin: aranabilir PDF'te görünmez metin katmanı görüntünün üstüne yerleştirilir. Bir kelimeyi seçtiğinizde vurgu kutusu gerçek kelimenin üstüne oturmuyorsa hizalama bozuktur.
  • Arama yapın: belgede kesin geçtiğini bildiğiniz üç beş terimi arayın; bulunmayanlar hata yoğunluğunun nerede olduğunu söyler.
  • Baş ve son satırlar: sayfa kenarındaki satırlar kırpılmaya en yakın olanlardır.
Sayfaları yelpaze gibi açılmış bir kitap; küçük punto basılı metne pencereden sıcak bir ışık düşüyor.
Böyle bir gövde metni kolay durumdur: düzgün punto, düz satırlar, yüksek kontrast. OCR hatalarının çoğu tarayıcıda, yazılım sayfayı görmeden önce yapılır.

Girdi tarafında yapılabilecekler

Tanıma sonrası düzeltmek yerine girdiyi düzeltmek her zaman daha ucuzdur. Elinizde kağıt varsa tarayıcıyı 300 DPI, gri tonlama ve düşük sıkıştırma ile çalıştırın; renkli tarama metin için ek bilgi taşımaz ama dosyayı büyütür. Telefonla çekiyorsanız gölgesiz ve dik açılı bir kare için belge tarayıcı aracı perspektifi düzeltip kenarları kırpar. Elinizdeki PDF'in görüntü kalitesini görmek için sayfayı görüntüye çevirip yüzde yüz ölçekte bakmak yeterlidir: harflerin kenarları dağılmışsa metin katmanı da dağılacaktır.

Hazır olduğunuzda PDF OCR aracı sayfaya aranabilir bir metin katmanı ekler. Bu katman görünmezdir ve görüntünün üstünde durur, yani belgenin görünümü değişmez.

Metin katmanının gizlilik etkisi

OCR bir belgeyi aranabilir yaparken aynı içeriğin ikinci bir kopyasını dosyaya yazar. Karartma yaparken bu iki kopyanın ikisini birden ele almak gerekir: görüntünün üstüne siyah dikdörtgen çizmek ne alttaki pikselleri ne de görünmez metin katmanını kaldırır. Ayrıntı için karartma hataları yazısına bakın. Ayrıca bu sitedeki PDF araçlarının dosyayı işlemek için sunucuya yüklediğini hatırlatalım; hassas belgelerde bunu hesaba katın.

Sık sorulanlar

Neden en az 300 DPI öneriliyor?

Karakterin ayırt edilebilmesi için piksel cinsinden yeterli yükseklikte olması gerekir. 300 DPI'da 10 puntoluk bir metinde küçük harf gövdesi yirmi piksel civarına gelir ve benzer harfler birbirinden ayrılabilir. Daha düşük çözünürlükte ince çizgiler birleşir. Tesseract belgeleri de bu eşiği önerir.

Düşük çözünürlüklü taramayı büyütmek OCR'ı düzeltir mi?

Kaybolan ayrıntıyı geri getirmez. Ara değerleme yeni piksel üretir ama yeni bilgi üretmez; birleşmiş çizgiler büyütüldükten sonra da birleşik kalır. Çok küçük görüntülerde ölçeklendirme motorun beklediği boyuta yaklaştırdığı için yardımcı olabilir, ancak doğru çözüm yeniden taramaktır.

Türkçe belgede yanlış dil seçmenin etkisi ne?

Sınıflandırıcının ürettiği adaylar dil modeliyle seçilir. İngilizce modeli 'ı', 'ş' ve 'ğ' karakterlerini beklemediği için bu harfleri benzer gövdeli Latin harflerine çeker. Karışık dilli belgelerde iki dil verisini birlikte kullanmak tek dile zorlamaktan daha iyi sonuç verir.

Çıktının doğruluğunu hızlıca nasıl kontrol ederim?

Önce sayılara bakın, çünkü sözlük düzeltmesi onları kurtarmaz ve 0/O, 1/l, 5/S karışmaları burada birikir. Ardından metni seçip vurgu kutusunun gerçek kelimenin üstüne oturup oturmadığına bakın ve belgede kesin geçtiğini bildiğiniz birkaç terimi aratın.

OCR eklenmiş PDF'i sıkıştırmak metni bozar mı?

Metin katmanı ayrı bir nesnedir, görüntü sıkıştırması onu değiştirmez. Sıra önemlidir: önce tanıma, sonra sıkıştırma. Tersini yaparsanız tanıma motoru artefaktlı bir görüntüyle çalışır ve hata oranı artar.

Yazıda kullanılan araçlar

Kaynaklar

YöntemGörsel kaynakları