Okuma ve yazmayı öğrenerek el yazısı notlara geri dönüş
(research.google)- Google Research’ün InkSight’ı, el yazısı fotoğraflarını kalem vuruşu düzeyinde dijital mürekkebe dönüştürerek, özel ekipman olmadan kâğıt notları dijital notlar gibi saklayıp düzenlemeyi amaçlayan bir yaklaşım
- Basit OCR’ın metni yazıya dökmekle sınırlı kalmasından farklı olarak InkSight, yazıyı oluşturan vuruş yörüngelerini geri çıkarır; böylece el yazısı stilini koruyarak incelemeyi ve üzerine yazmaya devam etmeyi mümkün kılar
- Model yalnızca geometrik özellikleri çıkarmakla kalmaz, okuma ve yazmayı birlikte öğrenir; kelime tanıma ve vuruş üretimi için ViT encoder ile mT5 encoder-decoder kullanır
- Tam sayfa için OCR ile kelime düzeyinde bounding box’lar bulunur, her kelime ayrı ayrı derender edilir ve ardından piksel tabanlı yazı, geri kazanılan vuruşlarla değiştirilir
- Değerlendirmede yaklaşık 1 milyar parametreli Large-i çıktısı, birçok örnekte insan yapımı dijital mürekkebe benzer bulundu; çıktıların %87’si iyi bir izleme ya da yalnızca küçük hatalar içeren izleme olarak işaretlendi
Kâğıttaki el yazısını dijital mürekkebe dönüştürme nedeni
- Dijital notlar dayanıklılık, düzenlenebilirlik ve indekslenebilirlik sunsa da birçok kişi hâlâ notlarını kâğıt ve kalemle alıyor
- Fiziksel el yazısını dijital biçime dönüştürme süreci derendering olarak adlandırılır; ortaya çıkan sonuç, kalem veya parmak hareketlerini nokta dizileri olarak saklayan vuruşlardır
- Bu gösterim “online” el yazısı gösterimi veya dijital mürekkep olarak da bilinir
- Basit OCR el yazısını metin belgesine dönüştürürken, dijital mürekkep el yazısı belgelerini vuruş kümeleri olarak yakalar
- Kullanıcıların elle daha doğal biçimde düzenleme yapmasını sağlar
- Yazı stilini ve gerçek el yazısı hissini koruyabilir
- Notları görseller, metinler, bağlantılar ve dijital yardımcı özelliklerle birlikte düzenleyip entegre edebilir
- Geçmişte akıllı kalem, özel kâğıt ve özel yazılım yığını kullanan yöntemler vardı; ancak ek donanım ve maliyet, benimsemenin önünde engel oluşturdu
InkSight’ın geri kazandığı şey
- InkSight: Offline-to-Online Handwriting Conversion by Learning to Read and Write, el yazısı not fotoğraflarından yazıyı oluşturan vuruşları çıkarır
- Ayrı ekipman olmadan yalnızca fotoğrafı girdi olarak kullanır; model ve çıkarım kodu GitHub repo üzerinden incelenebilir
- Görüntüdeki gradyan, kontur ve şekil gibi tipik geometrik bileşenlere dayanmaz
- Model iki yeteneği birlikte öğrenir
- Okuma: Görüntüdeki kelimeleri tanır
- Yazma: El yazısı gibi görünen vuruşlar üretir
- Bu kombinasyon, aydınlatma koşulları, örtülme ve farklı görünüm biçimleri gibi zor girdilerde daha dayanıklı çalışacak şekilde tasarlanmıştır
Sayfa düzeyinde işleme için sistem akışı
- Temel hedef, el yazısının vuruş düzeyindeki yörüngelerini yakalayıp kullanıcının istediği not uygulamasına kaydedebilmesini sağlamaktır
- İçeride hazır bir OCR modeli el yazısı kelimeleri tanımlar; ardından model ilgili kelimeyi vuruşlara dönüştürür
- Yeniden üretilebilirlik, yeniden kullanılabilirlik ve kolay benimseme için yaygın kullanılan ViT encoder ile mT5 encoder-decoder birleştirilir
- Rastgele boyuttaki görüntüleri, farklı çözünürlükleri ve değişen içerik miktarlarını işlemek gerektiğinden ölçeklenebilirlik başlıca zorluktur
- Çok yüksek çözünürlüklü girdileri ve uzun çıktı dizilerini doğrudan eğitmek hesaplama maliyetini artırdığı için sayfa derendering işlemi üç aşamaya ayrılır
- OCR ile kelime düzeyinde bounding box’lar çıkarılır
- Her kelime ayrı ayrı derender edilir
- Offline piksel gösterimi, derender edilmiş vuruşlarla değiştirilir
- Render edilmiş mürekkebin sentetik görüntüleri ile gerçek fotoğraflar arasındaki domain farkını azaltmak için veri artırma kullanılır
- Mürekkep açısı, rengi ve vuruş kalınlığı rastgeleleştirilir
- Gaussian gürültüsü ve karmaşık arka planlar eklenir
Okuma ve yazmayı birlikte öğrenme yöntemi
- Denetimli öğrenme için yeterli sayıda görüntü ve doğru dijital mürekkep çifti toplamak pahalı ve zaman alıcıdır; bu iş için yeterince çeşitli bir veri kümesinin olmadığı anlaşılıyor
- InkSight, çok sayıda eşleştirilmiş örnek olmadan genelleme yapabilmek için çok görevli öğrenme kurgusu kullanır
- Eğitim karışımı beş görev türünden oluşur
- Görüntüden dijital mürekkep üreten derendering görevi
- Görüntü ve OCR ile tanınmış metni birlikte girdi alıp dijital mürekkep üreten derendering görevi
- Gerçek görüntüden metin çıktısı veren tanıma görevi
- Sentetik görüntüden metin çıktısı veren tanıma görevi
- Metin ve mürekkebi birlikte çıktılayan karma tanıma-derendering görevi
- Her görev, eğitim ve çıkarım sırasında modelin görevi ayırt edebilmesi için göreve özgü girdi metni kullanır
- Okuma eğitimi, görüntüdeki metin öğelerini daha doğru konumlandırıp çıkarmaya yardımcı olur
- Yazma eğitimi, çıktı vektör gösteriminin insanın yazma biçimine yakın fiziksel dinamikleri ve vuruş sırasını izlemesini sağlar
Dijital mürekkep gösterimi ve tokenizasyon
- Eğitimde metin görüntüleri ile bunlara karşılık gelen dijital mürekkep çiftleri kullanılır
- Dijital mürekkep gerçek zamanlı yazı yörüngelerinden örneklenir ve ardından vuruş dizileri olarak temsil edilir
- Her vuruş, sabit hızda örneklenmiş noktalardan oluşan bir dizidir
- Örnekte saniyede 50 nokta örneklenir
- Karşılık gelen görüntü, mürekkebin belirli çözünürlükte bitmap olarak render edilmesiyle oluşturulur
- Bu süreç, modelin girdi-çıktı çiftlerinin temeli olan piksel-vuruş eşleşmesini üretir
- Mürekkep tokenizer’ı noktaları LLM’e uygun bir biçime dönüştürür
- Her nokta, x koordinatını ve y koordinatını ayrı ayrı kodlayan iki token’a dönüştürülür
- Mürekkep token dizisi, vuruş başlangıcını gösteren
bile başlar - Ardından örneklenmiş noktaların koordinat token’ları gelir
Değerlendirme verileri ve karşılaştırma modeli
- Performans değerlendirmesi için ayrı bir değerlendirme veri kümesi toplandı
- Değerlendirme verisi OCR verilerinden başlatılıp, insanların sunulan metin görüntülerini doğrudan üzerinden çizdiği insan üretimi izleme çiftleri eklenerek oluşturuldu
- Üç model varyantı eğitildi
- Small-p: yaklaşık 340 milyon parametre, public ayar
- Small-i: in-house ayar
- Large-i: yaklaşık 1 milyar parametre
- Karşılaştırma baseline’ı olarak General Virtual Sketching baseline’ı kullanıldı
- Hem otomatik değerlendirmede hem de insan değerlendirmesinde sistemin ürettiği vektör gösterimleri, girdi görüntüsüne anlamsal ve geometrik olarak benzer; ayrıca insan yapımı dijital mürekkep verilerine de yakındır
Nitel değerlendirmede görülen farklar
- Herkese açık değerlendirme veri kümeleri IAM, IMGUR5K ve domain dışı eskiz veri kümesi üzerinde modeller GVS ile karşılaştırıldı
- InkSight modelleri genel olarak metin içeriğini doğru yansıtır ve anlamla ilgisiz arka planı göz ardı eder
- Örtülme bulunan girdileri de işleyebilir; bu da öğrenilmiş okuma önbilgisinin faydasını gösterir
- GVS birden fazla yinelenen vuruş üretir ve arka plan ile ön planı ayırt etmekte zorlanır
- Large-i daha fazla ayrıntıyı koruyabilir ve daha çeşitli görüntü stillerini destekleyebilir
- Domain dışı eskizlerde modeller basit eskizleri genel olarak derender eder; ancak gereksiz veya hizadan sapmış vuruşlar gibi artefaktlar hâlâ görülür
İnsan değerlendirmesi ve sınırlamalar
- Bu çalışma alanında şu anda nicel değerlendirme için yerleşik metrikler veya benchmark’lar yoktur
- İnsan değerlendirmesinde HierText dataset’in insan izleme verileri kontrol grubu, aynı örnekler için model çıktıları ise deney grubu olarak kullanıldı
- Değerlendiriciler orijinal görüntü ile render edilmiş dijital mürekkep örneğini birlikte görüp iki soruyu yanıtladı
- Çıktının girdi görüntüsünün makul bir izlemesi olup olmadığını değerlendirdiler
- Bu dijital mürekkebin insan yapımı gibi görünüp görünemeyeceğini değerlendirdiler
- Değerlendirmeye dijital mürekkebe aşina olan ancak araştırmaya katılmamış 16 kişi katıldı
- Her örnek 3 değerlendirici tarafından değerlendirildi
- Sonuçlar çoğunluk oyu ile toplulaştırıldı
- Large-i ile üretilen derender edilmiş mürekkebin çoğu, insan yapımıyla benzer düzeyde değerlendirildi
- Large-i çıktılarının %87’si iyi izleme ya da yalnızca küçük hatalar içeren izleme olarak işaretlendi
- Örnek karşılaştırmada tüm modeller üst satırdaki örneğin çift tırnaklarını yanlış işledi; alt satırdaki örnekte ise insan izlemesinin yalnızca ana kelimelere odaklanıp diğer öğelerin çoğunu kaçırdığı bir durum var
- İnsan izlemeleri de temel görüntüyle kusursuz hizalanmadığı için HierText el yazısı bölümünü izleme görevinin kendisi karmaşık ve zordur
Sonuç
- InkSight, el yazısı fotoğraflarını dijital mürekkebe dönüştürmeye yönelik türünün ilk örneği bir yaklaşımdır
- Eğitim kurgusu, eşleştirilmiş eğitim verisi olmadan da çalışacak şekilde tasarlanmıştır
- Farklı girdilerde dayanıklı çalışır, tüm el yazısı notlara uygulanabilir ve domain dışı eskizlere de bir ölçüde genelleme yapar
- Karmaşık modelleme olmadan standart bileşenlerle oluşturulabilen bir yaklaşımdır
1 yorum
Hacker News yorumları
Küçük bir buzdolabı beyaz tahtası aldım; iPhone’un el yazısını fotoğraflayıp metin olarak kopyalama özelliğiyle birlikte kullanınca epey iyi oluyor.
Her zaman kusursuz değil, benim yazım da kusursuz değil ama bir iki harfi düzeltip göndermek için yeterli.
Tüm görüntüyü göndermediği için verimli; yazmak ya da kaydırmak gerekmiyor, ekrana bakmadan kullanılabiliyor, eşim listeyi istediği zaman görebiliyor ve buluta yüklemeye gerek kalmıyor.
Elektrik de gerekmiyor, kalemler uzun süre dayanıyor; buzdolabındaki bir şey bittiğinde hemen kalemi alıp buzdolabına yazma akışı çok doğal hissettiriyor.
Çok güzel. Bu tür bir teknolojinin ilginç bir uygulaması var. Benim el yazım oldukça kötü, hızlı yazarken daha da beter oluyor.
Ders anlatırken tahtaya yazdığım yazı çoğu zaman istediğimden çok daha kötü oluyor.
Böyle bir sisteme çok yavaş ve tane tane yazdığım el yazımı öğrettikten sonra, ders sırasında beyaz tahtaya hızlıca yazdığım kötü yazıyı daha düzgün görünen kendi yazıma dönüştürmesini sağlayabilirim gibi geliyor.
Tükenmez kalemden tamamen farklı bir geri bildirim veriyor; kâğıt ve mürekkep türünden de etkileniyor. Yazma işi daha az “öngörülebilir” ve biraz daha keyifli hale geliyor.
Orta uçlu, ucuz 5–15 dolarlık bir kalemle başlamak iyi olabilir; bazıları dolma kalem koleksiyonculuğuna geçiyor ama ben kâğıda yazdıklarımın çoğunu yaklaşık 20 dolarlık bir Pelikan Jazz ile yazıyorum.
Başta yavaşlatır ama bu uzun sürmez.
Üniversitede eğitmenlik yaparken aldığım “oyun değiştiren” tavsiyelerden biriydi. Diğeri de kitapları her zaman sondan başa doğru kopyalamaktı; çok faydalıydı ama artık biraz çağ dışı kalan bir yöntem.
Özellikle formülleri açıklayan ses ile LaTeX’i birlikte birleştirirseniz hatalar da düzeltilebilir.
Sadece başlığa bakınca, kaybolan bir yeteneği geri kazanıp okunaklı ve güzel el yazısı notlar tutmaya yeniden başlama yöntemiyle ilgili bir yazı sanmıştım safça.
Yıllardır çok fazla klavye kullanıp daha az el yazısı yazdığım için şu anda yaşadığım sorun bu.
Google’ın gerçek araştırması da notlarımı dijital ortamda daha az dağınık hale getirdiği için işe yarıyor. Ama el yazımı güzelleştirmek için teknolojik yeniliklere bel bağlamak istemiyorum.
Farklı yükseklikleri hizalamanıza veya kusursuz eğimi yakalamanıza yardımcı olan özel çizgili alıştırma kâğıtlarını ücretsiz yayımlayan ya da satan kişiler de var.
İlk yazı öğrenirken olduğu gibi, zaman ayırıp ilgi göstererek bizzat yapmanız gerekiyor.
Benim yazım dolma kalemle, tükenmez veya jel kaleme göre çok daha iyi oluyor. Sanırım dolma kalem, en uygun konumu ve açıyı dayatıyor. Her açıdan kâğıda bastırınca yazan bir şey olmadığı için daha katı; ayrıca daha yumuşak bir kullanım hissi ve geri bildirim de veriyor.
Abartmaya gerek yok; genelde 20 avro civarında bir Pilot Metro orta uç ya da benzeri bir ürün yeterli olur.
Oradan kendi stilinizi kolayca geliştirebilirsiniz.
Dolma kalem hızımı düşürmeye yardımcı oldu ama temelde mesele, güzel harfler oluşturduğumun bilincinde olarak yeterince yavaş yazmaktı; kolaylaştıktan sonra hızım da arttı. Yine de güzel harfler oluşturacak kadar dikkat etme alışkanlığı kaldı.
Alıştırma kâğıtları ya da egzersiz gibi bilinçli pratikten ziyade, kas hafızası oluşup hız geri gelene kadar harfleri doğru oluşturabilecek kadar yavaş yazmak daha önemli.
https://handwritingrepair.info/
Şunlara da bakmaya değer:
https://sites.google.com/view/briem/free-books
John Howard Benson’ın güzel The First Writing Book: Arrighi's Operina kitabı ya da Carolyn Knudsen’in harika An Italic Calligraphy Handbook kitabı da iyi. Başlıkları mütevazı ama içerikleri çok daha iyi; keski uçlu marker ya da dolma kalemle birlikte kullanılabilir.
10 yıl önce OCR için Tesseract'ı denemiştim; İngilizceyi yeterince iyi tanıyordu. Yanlış hatırlamıyorsam Tesseract da Google tarafından geliştirilmişti ve açık kaynaklıydı.
O zamanlar İngilizce olmayan bir dilde, yani Yunancada denemiştim; sonuçlar çok kötüydü.
Transformer tabanlı iyi OCR araştırmalarının çıkması sevindirici.
İçindekiler kısmını da OCR'dan geçirdim; terminalde sayfa bölümlendirme ayarlarını kopyalanıp yapıştırılabilir çıktı elde edene kadar deneyerek ayarladım ve ardından gezilebilir bir içindekiler ekledim.
1: https://github.com/ocrmypdf/OCRmyPDF yardımcı oldu.
2: https://tesseract-ocr.github.io/tessdoc/Command-Line-Usage.html, “Using different Page Segmentation Modes”
Yine de ücretsiz olması bir avantaj.
Fotoğraflardan el yazısını algılama alanında güncel en iyi seviyenin ne olduğunu merak ediyorum.
Kalem darbelerini izlemek de güzel, ama ben daha çok elle yazdığım notları Markdown'a dönüştürmekle ilgileniyorum.
Yine de doğruluk daha çok %90-95 civarında; bu yüzden güvenmeden önce çıktıyı gözden geçirmek gerekiyor.
Çok ilginç bir deney. Son birkaç yıldır bir el yazısı uygulaması geliştiriyorum; fotoğraf çekip bunu dijital mürekkebe dönüştüren bir özellik ekleyebilmek gerçekten harika olurdu.
[0] https://scrivanolabs.github.io
Doktorların karaladığı yazıları da okuyabilir mi? Mümkünse tıbbi veri girişi alanında çığır açıcı olabilir.
Doktor ile tedaviyi uygulayan hemşire arasına bir yorumlama katmanı daha koyarken çok dikkatli olmak gerekir.
Tıp fakültelerinde, eskiden teknik ressamlara öğretildiği gibi blok harf yazmayı öğretmemeleri üzücü.
Apple Notes'un yazımı kendi el yazısı stilimle düzeltmesi ürkütücü bir andı.
Tabletlerde kalem girişi kullanılabilen bir programlama ortamı hâlâ umuyorum. Bluetooth klavye taşımaya zorlamasa iyi olurdu.
Ne yazık ki çoğu kişinin para ödeme ihtimali düşük olduğundan, bunu bir iş fırsatı olarak önemseyen bir yer yok gibi görünüyor.
Kâğıt ve kalemle çalışmayı da seviyorum ama yapılandırılmış girdiden çok fikir geliştirme, diyagramlar ve yapılacaklar listeleri için daha uygun.
“Çevrimdışı” el yazısını, yani kâğıt üzerindeki mürekkebi; “çevrimiçi” biçim olan vuruşların sırası ve zamanlamasına dönüştüren modellerin tarihî belge el yazısı tanıma işlem hatlarında gerçekten yararlı olabileceğini düşünüyorum.
Ancak nihayetinde baştan sona bütünleşik bir yaklaşıma ihtiyaç var.
Tarihî belge el yazısı tanımanın neden tüm çok görevli model değerlendirme benchmark'larında bu kadar dışlandığını bilmiyorum. Dizine eklenmemiş milyonlarca el yazısı tarihî belge var ve bunlar yakın geçmişimizi çok daha iyi anlamamızı sağlayabilir.
Dahası, modellere de yakın geçmiş hakkında çok daha iyi bir anlayış kazandırabilir.