Kitap fotoğraflarından okunabilir PDF: ScanTailor OCR Unified
Kitapların fotoğrafını çekmek kolay; o fotoğrafları rahat okunabilen bir PDF hâline getirmek ise epey uğraştırıyor. Sayfalar eğri çıkıyor, ışık her yerde aynı olmuyor, otomatik kırpma bazen sayfa numarasını dışarıda bırakıyor. Özellikle hukuk kitaplarında dipnotlar küçücük. Ana metin okunuyor diye sayfanın tamamı iyi olmuş sayılmıyor.
Kendi kitaplarımı düzenlerken bunlarla çok karşılaştım. ScanTailor'da bir sayfayı düzeltiyor, diğerindeki eğrilikle uğraşıyor, sonunda OCR ve dosya boyutu için başka programa geçiyordum. Çözünürlüğü artırınca dosya büyüyor; siyah-beyaza sert biçimde çevirince de ince harfler kaybolabiliyordu. Bu süreçleri aynı programda birleştirmek istedim. ScanTailor OCR Unified böyle ortaya çıktı.
Kimlerin işine yarar?
Fotoğrafını çektiği kaynaklarla çalışan araştırmacıların, tez yazanların, ders notlarını düzenleyen öğrencilerin ve kendi belge arşivini oluşturanların işine yarayabilir. Birkaç sayfalık bir metin için de kullanılabilir; ancak asıl kolaylık, klasörler dolusu kitapla çalışırken ortaya çıkıyor. Her kitap ayrı bir iş olarak kuyruğa eklenebiliyor.
Benim için temel ölçü şu: PDF'yi açtığımda yazı rahat okunmalı, dipnot ve sayfa numarası yerinde durmalı, aradığım kelimeyi bulabilmeliyim. Dosyanın gereksiz yere büyümemesi de bunun bir parçası.
Programda neler var?
Programın temeli ScanTailor Experimental. Alışılmış aşamalar korunuyor: sayfa yönü, çift sayfayı ayırma, geometriyi düzeltme, içeriği seçme, kenar boşlukları ve çıktı. Küçük resimleri genişliğe veya yüksekliğe göre sıralayıp olağandışı sayfaları bulmak, çizgileri elle düzeltmek ve bir ayarı seçilen sayfalara uygulamak mümkün.
Bu yapıya kitap kuyruğu, OCR, PDF üretimi ve yapay zekâ destekli inceleme araçlarını ekledim. Geometri aşamasında UVDoc ile eğrilik önerisi alınabiliyor. İçerik aşamasında Paddle ile metin ve sayfa düzeni incelenebiliyor. Öneriler mevcut sayfayla karşılaştırılabiliyor; seçilen sayfaya veya uygun sayfalara topluca uygulanabiliyor. Elle yaptığım bir düzeltmenin otomatik işlem tarafından değiştirilmemesi özellikle önem verdiğim noktalardan biri.
Hangi ayarın gerçekten uygulandığı da ekranda belli olsun istedim. Yöntemin yanındaki ▶ Hazırla öneriyi oluşturuyor; adayın yanındaki ▶ Uygula seçtiğim düzeltmeyi yapıyor. Seçili öneri ve uygulanmış ayar ayrı gösteriliyor. Geometriyi sonradan değiştirirsem eski içerik önerisinin yeniden hesaplanması gerektiği yazıyor. Uygun sonuç bulunamadığında da program açıkça Öneri yok diyor.
Yapay zekânın burada görevi sayfadaki harfleri yeniden yazmak değil. Sayfanın şeklini ve içindeki alanları anlamaya yardımcı oluyor. Kötü bir öneri çıktığında elle düzenleme araçları kullanılmaya devam ediyor.
Nasıl kullanılır?
Arayüz dilini Dil / Language menüsünden Türkçe veya English olarak seçebilirsiniz. Tercih kaydediliyor ve program yeniden açıldığında uygulanıyor. Bu seçim, kitabın OCR dilini değiştirmiyor.
- Kitabı ekleyin. Fotoğraf klasörünü seçin. Bir üst klasörde birden fazla kitap varsa alt klasörleri ayrı kitaplar olarak ekleyebilirsiniz. Kaydedilmiş ScanTailor projesiyle de devam edebilirsiniz.
- Yönü ve sayfa bölmeyi kontrol edin. İki sayfalık bir çekimin doğru yerden ayrılması sonraki işlemleri doğrudan etkiliyor.
- Geometriyi ve içerik alanını inceleyin. Eğrilik önerisini deneyin. Sayfa numarasının, dipnotların ve kenardaki metnin seçimin içinde kaldığına bakın. Genişlik ve yükseklik sıralaması bu kontrolde yardımcı oluyor.
- Çıktı görünümünü seçin. Siyah-beyaz, gri veya harf kenarlarında hafif gri geçiş bırakan yumuşak siyah-beyaz seçeneklerini karşılaştırın. Beyaz zemin ve küçük yazıyı belirginleştirme işlemleri ayrıca açılabiliyor.
- OCR dilini seçip PDF oluşturun. OCR'ı sayfalar hazırlanırken, görüntü işlemleri bittikten sonra çalıştırabilir veya kapatabilirsiniz. İşlem sırasında hazır olan sayfaları inceleyebilirsiniz.
İlk kullanımda birkaç sayfayla denemek iyi oluyor. Bir kitaba uygun ayar, farklı ışıkta çekilmiş başka bir kitapta aynı sonucu vermeyebilir. Özellikle küçük dipnotlu sayfayı ve kitabın en eğri çekimini denemeye katmak işe yarıyor.
GPU gerekli mi, dosyalar nereye gidiyor?
Temel kullanım için ayrı bir ekran kartı gerekmiyor. Tesseract, Paddle OCR ve eğrilik önerisi CPU üzerinden çalışabiliyor; yapay zekâ işlemleri CPU'da daha uzun sürebiliyor. Windows için Python ve gerekli CPU bileşenlerini içeren tek kurulum dosyası hazır. Paket, Windows 10 2004 ve sonrası ile Windows 11'in 64 bit sürümleri için. Linux'un ayrı paketi Ubuntu 22.04 üzerinde, 4 GB RAM ve GPU olmadan test edildi; glibc 2.35 veya yenisi gerekiyor. Diğer sistemler için ayrıntılar dağıtım notlarında yer alıyor.
Kitap görüntüleri bilgisayarda işleniyor. Ek dil veya GPU paketi indirilirken internet gerekiyor. Kaynak fotoğraflar korunuyor; proje, önbellek ve PDF çıktıları ayrı tutuluyor.
Kalite ve dosya boyutu
Çıktıyı PDF'ye yerleştirirken görüntü piksellerini koruyan sıkıştırma kullanılıyor. Bu, geometri veya beyaz zemin gibi düzenlemelerin görüntüyü hiç değiştirmediği anlamına gelmiyor; seçilen düzenleme tamamlandıktan sonra PDF'ye aktarımda ayrıca görüntü kaybı oluşturulmaması hedefleniyor. Her kitabın boyutu aynı oranda küçülmüyor. Gri geçişli bir sayfa, yalnız siyah ve beyazdan oluşan sayfadan daha fazla yer kaplayabiliyor.
OCR metni de görünür sayfadan ayrı tutuluyor. Böylece arama ve kopyalama yapılırken sayfanın asıl görünümü korunuyor. Bulanık fotoğrafta zaten seçilemeyen bir dipnotu doğru biçimde geri getirme garantisi yok; bunun için bazen daha iyi bir çekim gerekiyor.
Bu projeyi kendi kitaplarım üzerinde kullanarak geliştiriyorum. ScanTailor'ın birikimini, PaddleOCR ve UVDoc gibi açık kaynak çalışmalarla bir araya getirmek istedim. Kaynak kodu da paylaşarak benzer bir ihtiyaçla uğraşanların kullanabileceği ve katkı verebileceği bir program hâline getirmeyi amaçlıyorum.