Derin Öğrenme
ScribbleMind
Tek bir fotoğraftan el yazısını okuyup kimin yazdığını belirleme

Yayında
Durum
Tarayıcıda kullanılabilir durumda
CRNN + ResNet-18
Mimari
5
Yazar sınıfı
Genel Bakış
ScribbleMind, el yazısının fotoğrafını alıp aynı anda iki soruyu yanıtlıyor: ne yazıyor ve bu kimin el yazısı? İkisi de tek bir yüklemeden çalışıyor — telefon kamerası, web kamerası ya da dosya — ve iki modeli ayrı ayrı veya birlikte sunan bir FastAPI arka ucundan geçiyor.
Proje yayında ve şu anda kullanılabilir. Arayüzde beş hazır örnek görsel var; denemek için kendi el yazına ihtiyacın yok, tek tıklama yetiyor.
Bu iki yarı aslında farklı problemler. Metne dökme bir dizi problemi: girdi de çıktı da değişken uzunlukta ve aralarında hizalama yok. Stil tanıma ise düz bir görüntü sınıflandırma işi. İkisini ayrı çözüp sonuçları API katmanında birleştirmek her iki modeli de basit tuttu.
Yaklaşım
Metne dökme için CRNN kullanıldı: görüntüyü okuyan evrişimli katmanlar, ardından
ortaya çıkan öznitelik dizisi üzerinde yinelemeli katmanlar. Eğitim CTC kaybıyla
yapıldığı için modelin karakter düzeyinde hizalama etiketine hiç ihtiyacı olmuyor.
Çözümlemede açgözlü argmax yerine CTC ışın araması, ardından da trigram tabanlı bir
yazım düzeltme adımı var. Bu son adım kulağa geldiğinden daha önemli: model
görsel olarak benzer karakterleri düzenli biçimde karıştırıyor ve hello wor1d
yalnızca bağlamdan hello world hâline geliyor.
İki farklı girdi boyutu için iki ayrı ağırlık kümesi var — tam satırlar için 512×32, tek kelimeler için 128×32 — çünkü satır uzunluğundaki dizilerle eğitilen bir model tek kelimede belirgin biçimde kötüleşiyor.
Stil tanıma, beş yazar/yazı tipi ailesi üzerinde — Caveat, Courier, Lobster, Merriweather ve Roboto — ince ayar yapılmış bir ResNet-18. Eğitim kümesi toplanmadı, üretildi: bir metin derlemi her yazı tipiyle görüntüye dönüştürüldü, sonra döndürme, perspektif kaydırma, bulanıklaştırma ve gürültüyle çoğaltıldı. Böylece sınıflandırıcı temiz harfleri ezberlemek yerine kalem darbesinin biçimini öğreniyor.
Ön işleme ise çalışan ile çalışmayan arasındaki fark oldu. Kâğıt fotoğraflarında temiz taramalarla eğitilmiş bir modeli bozan gölgeler ve dengesiz aydınlatma var. Sabit bir eşik yerine, işlem hattı parlaklık değerlerinin 90. yüzdeliğini kullanarak beyaz noktayı geriyor: bu, arka planı ve gölgeyi temizlerken silik kurşun kalem izlerini koruyor — naif bir eşikleme onları gürültüyle birlikte siliyor.
Neyi farklı yapardım
Sınıflandırıcı tamamen üretilmiş yazı tipleriyle eğitildi, yani eğitim sırasında hiç gerçek el yazısı görmedi. Fotoğraflanmış yazıya beklediğimden daha iyi genelliyor; ama dürüst sınav, eğitim kümesinde bulunmayan kişilerden alınmış gerçek el yazılarından oluşan ayrı bir test kümesi ve çalıştığını iddia etmeden önce görmek isteyeceğim sayı da bu.