Taranmış belgeden veri çıkarmak için metni okuyan OCR ve gerekirse bölgeleri bulan bir model kullanılır. Sonuç, eğitimde kullanılmamış belgelerle ölçülmeli: Otocropper 238 sayfada böyle test edildi.
Kısaca
- PDF'de metin katmanı varsa rakamlar doğrudan okunur ve OCR gerekmez; taranmış sayfa ise önce bir görüntü olarak işlenir.
- Otocropper, taranmış soru bankalarında RT-DETRv2 ile yedi bölge türünü bulur, Tesseract ile soru numaralarını okur; Eylül 2026'dan beri kullanımda.
- Otocropper'ın test kitabında, modelin hiç görmediği 238 sayfadan 222'si düzeltmesiz geçti.
- Optik form okuma sistemi okulun kendi cevap kâğıtlarını telefon fotoğrafından da taramadan da okur; emin olunamayan okumayı öğretmen kontrol eder.
- Veri dışarı çıkmamalıysa her şey cihazda çalışabilir: Otocropper, öğretmenin Mac'inde internete bağlanmadan çalışıyor.
OCR nedir, ne işe yarar?
OCR (optik karakter tanıma), bir görüntüdeki yazıyı bilgisayarın işleyebileceği metne çevirir. Taranmış bir sayfa, bir telefon fotoğrafı ya da metin katmanı olmayan bir PDF, OCR'dan geçene kadar yalnızca bir resimdir: içinde arama yapılamaz, rakamları bir tabloya aktarılamaz. Görüntü işleme daha geniş bir alandır; sayfadaki bölgeleri bulmak, eğik bir fotoğrafı düzeltmek ya da bir işaretin hangi şıkka ait olduğunu anlamak da bu alana girer.
Metin katmanlı PDF mi, taranmış belge mi?
İlk soru budur, çünkü yol buna göre ayrılır. PDF'deki metni fareyle seçip kopyalayabiliyorsanız dosyada metin katmanı vardır ve veri doğrudan okunabilir. Seçemiyorsanız sayfa bir resimdir; önce OCR gerekir. Bir istisna var: daha önce OCR'dan geçmiş taranmış bir PDF'de görünmez bir metin katmanı bulunabilir. Tesseract da çıktı olarak bu tür PDF üretebilir. Böyle bir katmanın doğruluğu ayrıca kontrol edilmelidir.
Metin katmanlı dosyalar için Python'da pdfminer.six ve onun üzerine kurulan pdfplumber kullanılabilir. pdfplumber'ın belgelerine göre kütüphane her karakter, çizgi ve dikdörtgen hakkında ayrıntılı bilgi verir, tablo çıkarabilir ve makinede üretilmiş PDF'lerde taranmış olanlardan daha iyi sonuç verir; OCR ise yapmaz.
Temmuz 2026'dan beri yayında olan Sağlama'nın veri hattı bu yolu izler: Borsa İstanbul'da işlem gören şirketlerin finansal tablolarındaki ve dipnotlarındaki rakamlar, PDF'lerin metin katmanından pdfplumber ve pdfminer.six ile çıkarılır. Her dosyanın SHA-256 özeti de saklanır; bir rakamın hangi dosyadan geldiği böylece sonradan izlenebilir. Bu adımda yapay zekâ modeli kullanılmaz; iş, belgenin kendi metnini doğru okumaktır.
“PDF'den Excel'e veri çekme” sorusunun kısa cevabı da buradan çıkar. Metin katmanı varsa tablo satır ve sütunlarıyla okunup bir elektronik tabloya yazılabilir; pdfplumber varsayılan olarak sayfadaki dikey ve yatay çizgileri hücre sınırı olarak kullanır. Tablo taranmışsa önce OCR gerekir ve Tesseract'ın belgeleri, özel bir sayfa düzeni analizi yapılmadan tablolardaki metnin tanınmasında sorun yaşandığını belirtir. Belge ve PDF işleme için nasıl çalıştığımızı hizmet sayfamızın belgeler bölümünde bulabilirsiniz.
Bölgeleri bulmak ve okumak
Sayfada birden çok soru, paragraf, şekil ve başlık varsa, OCR'dan önce hangi parçanın ne olduğu bulunmalıdır. Bu, bir nesne tespit modelinin işidir: model sayfadaki her bölgenin çevresine bir kutu çizer ve kutuya bir tür verir.
YOLO ve RT-DETR
YOLO (You Only Look Once), Joseph Redmon ve arkadaşlarının 2015 tarihli makalesiyle tanıtıldı. Yöntem nesne tespitini bir regresyon problemi olarak ele alır: tek bir sinir ağı, görüntünün tamamından kutuları ve sınıf olasılıklarını tek seferde tahmin eder. RT-DETR ise 2023'te Transformer tabanlı bir model olarak yayımlandı; yazarlarına göre gerçek zamanlı çalışan ilk uçtan uca nesne tespit modelidir. RT-DETRv2, 2024'te yayımlanan geliştirilmiş sürümüdür.
Model seçerken lisansı da okuyun. Otocropper'da YOLO yerine RT-DETRv2 seçildi; AGPL lisansının getireceği yükümlülüklerden kaçınmak için uygulamaya Ultralytics ya da DocLayout-YOLO kodu konmadı.
Tesseract ile okumak
Kutular belli olduktan sonra sıra metindedir. Tesseract, Apache 2.0 lisansıyla dağıtılan açık kaynaklı bir OCR motorudur. Belgelerine göre sürüm 4'ten beri satır tanımaya odaklanan, LSTM tabanlı bir sinir ağı motoru içerir ve 100'den fazla dili ek eğitim gerekmeden tanır. Otocropper'da bu iş Tesseract'ındır: kitaptaki soru numaralarını ve test ile ünite başlıklarını Türkçe olarak okur.
Optik formda satır ve işaret
Mayıs 2025'te ilk sürümüyle başlayan optik form okuma projesinde iş ikiye bölünür. YOLO modeli her cevap satırını bulup kırpar; LoRA ile ince ayar yapılmış bir görsel-dil modeli de kırpılmış satırda hangi şıkkın işaretlendiğine karar verir. Yarısı silinmiş bir işaret ya da sonradan düzeltilmiş bir cevap da bu adımda yorumlanır. Hiçbir sonuç kaydedilmeden önce okunan cevaplar kâğıdın beklenen düzenine göre doğrulanır. Ayrıntılar optik form okuma projesinin sayfasında.
Doğruluk nasıl ölçülür?
Model eğitimde gördüğü sayfaları tanır; asıl soru, hiç görmediği bir sayfada ne yaptığıdır. Otocropper'ın ölçümü bu yüzden şu kurallarla yapıldı:
- Test verisi en başta ayrılır. Test için ayrılan 238 sayfalık kitap (554 soru) eğitimde hiç kullanılmadı.
- Doğru kutunun tanımı yazılır. IoU (intersection over union), iki kutunun kesişim alanının birleşim alanına oranıdır. Otocropper'da eşik 0,9'du: referans etiketle IoU değeri bunun altında kalan soru kutusu yanlış sayıldı.
- Duyarlılık ve kesinlik birlikte raporlanır. Duyarlılık, gerçek soruların ne kadarının bulunduğunu; kesinlik, bulunan kutuların ne kadarının gerçekten soru olduğunu gösterir. Otocropper'da ikisi %97,1 ve %96,9 çıktı.
- Kullanıcının işi de sayılır. Oranlar kadar önemli bir ölçü, hiç düzeltme gerektirmeyen sayfa sayısıdır: test kitabında 238 sayfadan 222'si.
- Eşikler testten önce sabitlenir. Eşikler ve kurallar doğrulama verisinde seçildi, sonra donduruldu; test kitabı en sonda kullanıldı.
- Gerçek dosyalarla denenir. 1.0.2 sürümü yayımlanmadan önce uygulama okuldan gelen 20 PDF dosyasında (4.813 sayfa) denendi.
Aynı mantık OCR için de geçerlidir: okunan metin, elle yazılmış doğru metinle karşılaştırılır. OCR modeli kendi verinizle eğitildiyse bu karşılaştırma, eğitimde kullanılmamış sayfalarda yapılır.
Emin olunamayan okuma ne olur?
Yanlış okumayı sıfıra indirmeye çalışmak yerine, yanlışın fark edilmeden geçmemesini hedefleyin. Optik form okuma sistemi her okumaya bir güven puanı verir. Eşiğin altında kalan satır ikinci kez, farklı bir istem kullanılarak okunur; hâlâ belirsizse kâğıt kaydedilmez, öğretmenin inceleme listesine düşer. Sistem böylece tahminde bulunmak yerine bir insana sorar.
Telefon fotoğrafı mı, tarayıcı mı?
İkisi de olur. Optik form okuma sistemi hem telefon fotoğrafını hem taramayı okur; okulun kullandığı kâğıtlar yeterlidir, ayrı bir form bastırmak ya da optik okuyucu almak gerekmez. Ancak fotoğraf eğri çekilmiş, gölgede kalmış ya da kâğıt buruşmuş olabilir. Bu yüzden okumadan önce kâğıdın yönü düzeltilir, eğiklik Hough çizgileriyle giderilir ve uyarlamalı eşikleme uygulanır.
Tesseract'ın belgeleri de aynı noktaya dikkat çeker: araç en az 300 DPI çözünürlükteki görüntülerde daha iyi çalışır ve sayfa fazla eğikse satırları ayırma kalitesi belirgin biçimde düşer. Belgelerdeki öneri, sayfayı metin satırları yatay olacak şekilde döndürmektir. Tarayıcı kullanacaksanız çözünürlüğü baştan en az 300 DPI'a ayarlayın.
Veri nereye gider?
Belgelerinizin buluta çıkıp çıkmayacağı bir mimari kararıdır ve projenin başında verilmelidir. Otocropper bu sorunun bir cevabıdır: tespit modeli, Tesseract ve Python, Developer ID ile imzalanmış ve Apple tarafından notarize edilmiş tek bir Mac uygulamasının içindedir. Kurulum için Terminal ya da Python bilgisi gerekmez; uygulama internete bağlanmadan çalışır ve sayfalar bilgisayardan çıkmaz.
Hangi yolun sizin için uygun olduğu, belgelerin ne kadar hassas olduğuna ve sonuca kimlerin erişeceğine bağlıdır.
Projelerimizden: Otocropper'da bir sayfanın yolu
Otocropper, Erkan Ulu'da öğretmenlerin Eylül 2026'dan beri kullandığı bir Mac uygulamasıdır. Taranmış bir soru bankası sayfası şu adımlardan geçer:
- PDF sayfası görüntüye çevrilir.
- Beş kitaptan etiketlenen sayfalarla fine-tuning (ince ayar) yapılmış RT-DETRv2 modeli sayfaya dört kez bakar: bir model sürümü üç farklı görüntü boyutunda, ikinci bir sürüm dördüncü geçişte. Dört sonucun kutuları ağırlıklı kutu birleştirme (weighted box fusion) yöntemiyle birleştirilir.
- Hata analizinden çıkan üç kural (mürekkep kontrolü, sağ kenar kırpma, sınıf rekabeti) kutuları düzeltir.
- Tesseract, soru numaralarını ve başlıkları okur.
- Öğretmen kırpılan soruları uygulamanın inceleme ekranında gözden geçirir.
- Her soru ayrı bir görsel olarak kaydedilir: dosya adı basılı soru numarasıdır, klasörü ünite ve testtir. Ortak bir paragrafı olan soru örneğin 7_with_passage.jpg adını alır.
1.0.0 sürümüyle yapılan ölçümde 414 sayfalık, 1.831 soruluk bir kitap, içe aktarıldıktan 6 dakika 22 saniye sonra incelemeye hazır kırpmalara dönüştü (M5 Max işlemcili bir Mac'te).
Sık sorulan sorular
Tesseract OCR nedir?
Açık kaynaklı bir OCR motorudur; bir kütüphane ve bir komut satırı programı olarak gelir. PNG, JPEG ve TIFF gibi görüntü biçimlerini okur; düz metin, hOCR, PDF ve TSV gibi biçimlerde çıktı verir. Belgeleri, birçok durumda daha iyi sonuç için önce görüntü kalitesinin iyileştirilmesi gerektiğini söyler.
Nesne tespiti nasıl yapılır?
Bulunacak türleri ve bir kutunun ne zaman doğru sayılacağını yazarak başlayın. Örnek görüntüleri etiketleyip eğitim, doğrulama ve test diye üçe ayırın. Hazır bir tespit modeline bu verilerle fine-tuning (ince ayar) yapın, eşikleri doğrulama verisinde seçin ve sonucu test verisinde bir kez ölçün. Adımların ayrıntısı ince ayar rehberimizde.
Her belge için model eğitmek gerekir mi?
Hayır. Metin katmanlı PDF'lerde model gerekmez; düzeni sabit taranmış belgelerde OCR ve açık kurallar yetebilir. Eğitilmiş bir model, sayfada türleri ayrılması gereken çok sayıda bölge olduğunda devreye girer. Hangisinin yeteceğini birkaç örnek sayfaya bakarak söyleyebiliriz.
İlgili hizmet
Görüntü işleme ve OCR yazılımı geliştirme: taranmış kitaplardan finansal tablolara belge işleme, bölge tespiti ve test edilmiş okuma hatları.
İlgili rehberler
- Fine-tuning (ince ayar) nedir, ne zaman gerekir?
- RAG nedir? Belgelerinizden cevap veren yapay zekâ asistanı
Kaynaklar
- pdfplumber, proje belgeleri (README): github.com/jsvine/pdfplumber (kontrol: 16.10.2026)
- pdfminer.six belgeleri: pdfminersix.readthedocs.io (kontrol: 16.10.2026)
- Tesseract OCR, proje belgeleri (README): github.com/tesseract-ocr/tesseract (kontrol: 16.10.2026)
- Tesseract belgeleri, “Improving the quality of the output”: tesseract-ocr.github.io/tessdoc/ImproveQuality.html (kontrol: 16.10.2026)
- Joseph Redmon ve diğerleri, “You Only Look Once: Unified, Real-Time Object Detection”, arXiv:1506.02640, 2015: arxiv.org/abs/1506.02640 (kontrol: 16.10.2026)
- Yian Zhao ve diğerleri, “DETRs Beat YOLOs on Real-time Object Detection”, arXiv:2304.08069, 2023: arxiv.org/abs/2304.08069 (kontrol: 16.10.2026)
- Wenyu Lv ve diğerleri, “RT-DETRv2: Improved Baseline with Bag-of-Freebies for Real-Time Detection Transformer”, arXiv:2407.17140, 2024: arxiv.org/abs/2407.17140 (kontrol: 16.10.2026)
- PyTorch belgeleri, “torchvision.ops.box_iou”: docs.pytorch.org/vision/main/generated/torchvision.ops.box_iou.html (kontrol: 16.10.2026)
Okunması gereken belgeleriniz mi var? Metin katmanlı mı taranmış mı olduklarını bilmeniz gerekmez. Birkaç örnek dosya gönderin; hangi yolun uygun olduğunu ve doğruluğun nasıl ölçüleceğini ön görüşmede anlatalım.