2 poin oleh GN⁺ 2024-10-29 | 1 komentar | Bagikan ke WhatsApp
  • InkSight dari Google Research adalah pendekatan untuk memulihkan foto tulisan tangan menjadi tinta digital pada tingkat goresan pena, agar catatan kertas dapat disimpan dan diedit seperti catatan digital tanpa peralatan khusus
  • Berbeda dari OCR sederhana yang hanya berhenti pada transkripsi teks, InkSight memulihkan lintasan goresan yang membentuk tulisan, sehingga tulisan dapat ditinjau dan dilanjutkan sambil mempertahankan gaya tulisan tangan
  • Model ini tidak hanya mengekstrak fitur geometris, tetapi mempelajari membaca dan menulis secara bersama; pengenalan kata dan pembuatan goresan ditangani dengan encoder ViT serta encoder-decoder mT5
  • Untuk halaman penuh, alurnya menggunakan OCR untuk menemukan bounding box per kata, melakukan derendering pada tiap kata secara terpisah, lalu mengganti tulisan berbasis piksel dengan goresan yang telah dipulihkan
  • Dalam evaluasi, keluaran Large-i dengan sekitar 1 miliar parameter dalam banyak kasus dinilai mirip dengan tinta digital buatan manusia, dan 87% ditandai sebagai penelusuran yang baik atau penelusuran dengan hanya kesalahan kecil

Alasan mengubah tulisan tangan di kertas menjadi tinta digital

  • Catatan digital menawarkan ketahanan, kemampuan diedit, dan kemampuan diindeks, tetapi banyak orang masih membuat catatan dengan kertas dan pena
  • Proses mengubah tulisan tangan fisik menjadi bentuk digital disebut derendering, dan hasilnya adalah goresan yang menyimpan gerakan pena atau jari sebagai urutan titik
  • Representasi ini juga disebut representasi tulisan tangan “online” atau tinta digital
  • OCR sederhana menyalin tulisan tangan menjadi dokumen teks, tetapi tinta digital menangkap dokumen tulisan tangan sebagai kumpulan goresan
    • Pengguna dapat mengeditnya dengan tangan secara lebih alami
    • Gaya tulisan dan nuansa tulisan tangan asli dapat dipertahankan
    • Catatan dapat diatur dan diintegrasikan bersama gambar, teks, tautan, dan fitur bantuan digital
  • Sebelumnya ada pendekatan yang menggunakan smartpen, kertas khusus, dan tumpukan software khusus, tetapi hardware tambahan dan biayanya menjadi hambatan adopsi

Apa yang dipulihkan InkSight

  • InkSight: Offline-to-Online Handwriting Conversion by Learning to Read and Write mengekstrak goresan yang membentuk tulisan dari foto catatan tulisan tangan
  • Tanpa peralatan terpisah, hanya foto yang digunakan sebagai input, dan model serta kode inferensinya dapat dilihat di GitHub repo
  • Tidak bergantung pada komponen geometris tipikal seperti gradien, kontur, dan bentuk pada gambar
  • Model mempelajari dua kemampuan secara bersamaan
    • Membaca: mengenali kata di dalam gambar
    • Menulis: menghasilkan goresan yang tampak seperti tulisan tangan
  • Kombinasi ini dirancang agar bekerja lebih tangguh bahkan pada input yang sulit seperti kondisi pencahayaan, oklusi, dan tampilan yang beragam

Alur sistem untuk pemrosesan tingkat halaman

  • Tujuan dasarnya adalah menangkap lintasan tingkat goresan tulisan tangan agar dapat disimpan di aplikasi catatan yang diinginkan pengguna
  • Secara internal, model OCR siap pakai mengidentifikasi kata tulisan tangan, lalu model mengubah kata tersebut menjadi goresan
  • Demi reproduksibilitas, penggunaan ulang, dan kemudahan adopsi, pendekatan ini menggabungkan encoder ViT dan encoder-decoder mT5 yang banyak digunakan
  • Karena harus menangani gambar berukuran sembarang, resolusi beragam, dan jumlah konten berbeda-beda, skalabilitas menjadi tantangan utama
  • Jika input beresolusi sangat tinggi dan urutan output yang panjang dilatih secara langsung, biaya komputasinya menjadi besar, sehingga derendering halaman dibagi menjadi tiga tahap
    • Mengekstrak bounding box per kata dengan OCR
    • Melakukan derendering tiap kata secara terpisah
    • Mengganti representasi piksel offline dengan goresan hasil derendering
  • Augmentasi data digunakan untuk mengurangi perbedaan domain antara gambar sintetis dari tinta yang dirender dan foto nyata
    • Mengacak sudut tinta, warna, dan lebar goresan
    • Menambahkan noise Gaussian dan latar belakang kompleks

Cara mempelajari membaca dan menulis bersama

  • Mengumpulkan cukup banyak pasangan gambar dan tinta digital ground truth untuk supervised learning mahal dan memakan waktu, dan sejauh yang diketahui tidak ada dataset yang cukup beragam untuk tugas ini
  • InkSight menggunakan konfigurasi multi-task learning agar dapat melakukan generalisasi tanpa banyak sampel berpasangan
  • Campuran pelatihannya terdiri dari lima jenis tugas
    • Tugas derendering yang menghasilkan tinta digital dari gambar
    • Tugas derendering yang menerima gambar dan teks hasil pengenalan OCR bersama-sama sebagai input lalu menghasilkan tinta digital
    • Tugas pengenalan yang mengeluarkan teks dari gambar nyata
    • Tugas pengenalan yang mengeluarkan teks dari gambar sintetis
    • Tugas campuran pengenalan-derendering yang mengeluarkan teks dan tinta secara bersamaan
  • Tiap tugas menggunakan teks input khusus tugas agar model dapat membedakan tugas selama pelatihan dan inferensi
  • Pembelajaran membaca membantu melokalisasi dan mengekstrak elemen teks di dalam gambar dengan lebih akurat
  • Pembelajaran menulis membantu representasi vektor keluaran mengikuti dinamika fisik dan urutan goresan yang lebih dekat dengan cara manusia menulis

Representasi tinta digital dan tokenisasi

  • Pelatihan menggunakan pasangan gambar teks dan tinta digital yang sesuai
  • Tinta digital disampling dari lintasan tulisan real-time, lalu direpresentasikan sebagai urutan goresan
  • Setiap goresan adalah urutan titik yang disampling dengan kecepatan tetap
    • Contohnya adalah sampling 50 titik per detik
  • Gambar yang sesuai dibuat dengan merender tinta menjadi bitmap pada resolusi yang ditentukan
  • Proses ini membuat korespondensi piksel-goresan yang menjadi premis pasangan input-output model
  • Tokenizer tinta mengubah titik menjadi format yang sesuai untuk LLM
    • Setiap titik diubah menjadi dua token yang masing-masing mengenkode koordinat x dan koordinat y
    • Urutan token tinta diawali dengan b yang menandai awal goresan
    • Setelah itu diikuti token koordinat dari titik-titik yang disampling

Data evaluasi dan model pembanding

  • Dataset evaluasi terpisah dikumpulkan untuk menilai performa
  • Data evaluasi dimulai dari data OCR, lalu dibangun dengan menambahkan pasangan penelusuran buatan manusia, yaitu orang secara langsung menelusuri gambar teks yang diberikan
  • Tiga varian model dilatih
    • Small-p: sekitar 340 juta parameter, konfigurasi publik
    • Small-i: konfigurasi in-house
    • Large-i: sekitar 1 miliar parameter
  • Sebagai baseline pembanding digunakan baseline General Virtual Sketching
  • Dalam evaluasi otomatis maupun evaluasi manusia, representasi vektor yang dibuat sistem mirip secara semantik dan geometris dengan gambar input, serta juga serupa dengan data tinta digital buatan manusia

Perbedaan yang terlihat dalam evaluasi kualitatif

  • Model dan GVS dibandingkan pada dataset evaluasi publik IAM, IMGUR5K, serta dataset sketsa di luar domain
  • Model-model InkSight umumnya mencerminkan isi teks dengan akurat dan mengabaikan latar belakang yang tidak terkait makna
  • Input dengan oklusi juga dapat ditangani, menunjukkan manfaat pengetahuan awal membaca yang telah dipelajari
  • GVS menghasilkan banyak goresan duplikat dan tampak kesulitan membedakan latar belakang dan latar depan
  • Large-i mempertahankan lebih banyak detail dan dapat mengakomodasi gaya gambar yang lebih beragam
  • Pada sketsa di luar domain, model-model tersebut umumnya melakukan derendering pada sketsa sederhana, tetapi artefak seperti goresan yang tidak perlu atau meleset masih muncul

Evaluasi manusia dan keterbatasan

  • Di bidang tugas ini saat ini belum ada metrik atau benchmark yang mapan untuk evaluasi kuantitatif
  • Dalam evaluasi manusia, data penelusuran manusia dari HierText dataset digunakan sebagai kelompok kontrol, sedangkan keluaran model untuk sampel yang sama digunakan sebagai kelompok eksperimen
  • Penilai melihat gambar asli dan sampel tinta digital yang dirender secara bersamaan, lalu menjawab dua pertanyaan
    • Menilai apakah output merupakan penelusuran yang wajar dari gambar input
    • Menilai apakah tinta digital ini dapat terlihat seperti buatan manusia
  • Evaluasi melibatkan 16 orang yang akrab dengan tinta digital tetapi tidak berpartisipasi dalam riset
    • Setiap sampel dinilai oleh 3 penilai
    • Hasil digabungkan berdasarkan suara mayoritas
  • Sebagian besar tinta hasil derendering yang dibuat Large-i dinilai berada pada tingkat yang mirip dengan buatan manusia
  • 87% keluaran Large-i ditandai sebagai penelusuran yang baik atau penelusuran dengan hanya kesalahan kecil
  • Dalam perbandingan contoh, semua model salah menangani tanda petik ganda pada sampel baris atas, sementara pada sampel baris bawah ada kasus ketika penelusuran manusia hanya berfokus pada kata-kata utama dan melewatkan sebagian besar elemen lain
  • Penelusuran manusia pun tidak selaras sempurna dengan gambar dasar, sehingga tugas menelusuri bagian tulisan tangan HierText itu sendiri kompleks dan sulit

Kesimpulan

  • InkSight adalah pendekatan pertama dari jenisnya untuk mengubah foto tulisan tangan menjadi tinta digital
  • Konfigurasi pelatihannya dirancang agar dapat bekerja tanpa data pelatihan berpasangan
  • Pendekatan ini bekerja tangguh pada berbagai input, dapat diterapkan pada catatan tulisan tangan utuh, dan sampai tingkat tertentu dapat melakukan generalisasi ke sketsa di luar domain
  • Ini adalah pendekatan yang dapat dibuat dengan komponen standar tanpa pemodelan yang kompleks

1 komentar

 
GN⁺ 2024-10-29
Komentar Hacker News
  • Saya membeli whiteboard kecil untuk kulkas, dan ketika dipadukan dengan fitur iPhone yang memotret tulisan tangan lalu menyalinnya menjadi teks, hasilnya ternyata sangat bagus
    Memang tidak selalu sempurna, dan tulisan saya juga tidak sempurna, tetapi sudah cukup baik untuk dikirim setelah memperbaiki satu atau dua huruf saja
    Ini efisien karena tidak perlu mengirim seluruh gambar, tidak perlu melihat layar tanpa mengetik atau swipe, pasangan saya bisa melihat daftar itu kapan saja, dan tidak perlu mengunggahnya ke cloud
    Juga tidak butuh listrik, markernya tahan lama, dan saat barang di dalam kulkas habis, rasanya sangat alami untuk langsung mengambil marker dan menuliskannya di kulkas

    • Ide yang cukup keren. Gara-gara postingan ini, sepertinya penjualan whiteboard kulkas di kalangan pembaca HN akan sedikit naik
    • Kalau ingin menghindari marker, tablet tulis LCD juga bisa jadi pilihan. Bentuk dan cara kerjanya mirip Etch A Sketch, tetapi memakai stylus dan layar LCD, dan bisa dibeli dengan harga di bawah 10 euro
  • Sangat keren. Ada penerapan menarik dari teknologi seperti ini. Tulisan tangan saya cukup buruk, dan saat menulis cepat jadi lebih parah lagi
    Saat mengajar, tulisan saya di papan sering kali jauh lebih jelek daripada yang saya inginkan
    Sepertinya sistem seperti ini bisa dilatih dengan tulisan saya yang sangat pelan dan rapi, lalu mengubah tulisan jelek saya yang ditulis cepat di whiteboard saat kelas menjadi versi tulisan saya yang lebih bersih

    • Mungkin terdengar aneh, tetapi saya penasaran apakah Anda pernah mencoba pulpen fountain
      Feedback-nya benar-benar berbeda dari bolpoin, dan juga dipengaruhi oleh jenis kertas serta tinta. Menulis jadi terasa kurang “terduga” dan sedikit lebih menyenangkan
      Tidak masalah mulai dari yang murah sekitar 5~15 dolar dengan nib ukuran medium, dan walau sebagian orang kemudian masuk ke dunia koleksi pulpen fountain, saya sendiri menulis hampir semua hal di kertas dengan Pelikan Jazz seharga sekitar 20 dolar
    • Memperbaiki tulisan tangan itu tidak sulit. Untuk whiteboard, Anda bisa mulai dengan hanya menulis huruf cetak terlebih dahulu
      Awalnya memang jadi lebih lambat, tetapi itu tidak berlangsung lama
      Itu salah satu saran yang “mengubah permainan” yang saya dapat saat bekerja sebagai tutor di universitas. Saran lainnya adalah selalu menyalin buku dari belakang ke depan, yang sangat berguna, tetapi sekarang terasa agak ketinggalan zaman
    • Anda juga bisa mencari buku panduan lettering untuk memperbaiki tulisan tangan. Berlatih pelan-pelan akan membuat tulisan saat menulis cepat juga membaik
    • Jika Anda bisa menulis rumus dengan cukup baik, itu bisa diubah secara real-time menjadi LaTeX, lalu dijalankan di notebook komputasi
      Terutama jika digabungkan dengan audio penjelasan rumus dan LaTeX, kesalahan juga bisa dikoreksi
    • Kalau begitu, bukankah tinggal pakai proyektor laser, keyboard, dan kotak teks di kanvas?
  • Dari judulnya saja, saya sempat polos mengira ini adalah tulisan tentang cara mendapatkan kembali kemampuan yang hilang dan mulai lagi menulis catatan tulisan tangan yang indah dan mudah dibaca
    Ini masalah yang saya alami sekarang setelah bertahun-tahun terlalu banyak mengetik dan terlalu jarang menulis tangan
    Riset Google yang nyata untuk membuat catatan saya tidak terlalu berantakan secara digital memang membantu. Tetapi saya tidak ingin bergantung pada inovasi teknologi untuk membuat tulisan tangan saya lebih bagus

    • Kalau benar-benar ingin meningkatkan kemampuan, ada ranah khusus di YouTube yang memang berfokus pada hal itu. Pilih gaya tulisan yang Anda inginkan lalu latihan, latihan, latihan
      Ada juga orang-orang yang membagikan gratis atau menjual kertas latihan bergaris khusus untuk membantu menyamakan berbagai tinggi huruf atau mendapatkan kemiringan yang sempurna
      Seperti saat pertama kali belajar menulis, Anda harus meluangkan waktu, peduli, dan melakukannya sendiri
    • Jika ingin memperbaiki tulisan tangan, salah satu cara yang bagus adalah memakai pulpen fountain
      Tulisan saya jauh lebih bagus saat memakai pulpen fountain dibanding bolpoin atau gel pen. Sepertinya karena pulpen fountain memaksa posisi dan sudut yang optimal. Itu bukan alat yang tetap bisa menulis walau ditekan ke kertas dari sudut mana pun, jadi lebih ketat, sekaligus memberi sensasi dan feedback yang lebih halus
      Tidak perlu berlebihan, biasanya Pilot Metro dengan nib medium sekitar 20 euro atau produk serupa sudah cukup
    • Saya menyarankan untuk mempelajari lettering komik. Itu mungkin bukan berarti cara menulis yang paling efisien, tetapi Anda akan belajar berpikir dari sudut pandang goresan dan konsistensi
      Dari situ Anda bisa dengan mudah mengembangkan gaya sendiri
    • Setelah menyadari tulisan tangan saya berantakan, saya memperbaikinya dengan sengaja memperhatikan agar menulis lebih pelan dan lebih rapi
      Pulpen fountain membantu memperlambat tempo, tetapi pada dasarnya ini soal secara sadar membentuk huruf yang bagus dan menulis cukup pelan; setelah jadi lebih mudah, kecepatannya juga meningkat lagi. Meski begitu, kebiasaan untuk tetap cukup memperhatikan agar hurufnya terlihat bagus tetap tertinggal
      Dibanding latihan yang disengaja seperti lembar latihan atau drill, yang lebih penting adalah menulis cukup pelan sampai Anda bisa membentuk huruf dengan benar, hingga muscle memory terbentuk dan kecepatan kembali
    • Saya merekomendasikan situs Handwriting Repair milik Kate Gladstone
      https://handwritingrepair.info/
      Atau ini juga layak dilihat
      https://sites.google.com/view/briem/free-books
      The First Writing Book: Arrighi's Operina karya John Howard Benson yang indah maupun An Italic Calligraphy Handbook karya Carolyn Knudsen yang luar biasa juga bagus. Judulnya terdengar sederhana, tetapi isinya jauh lebih baik, dan bisa dipakai bersama marker ujung pahat atau pulpen fountain
  • 10 tahun lalu aku pernah mencoba memakai OCR dengan Tesseract, dan untuk bahasa Inggris pengenalannya sudah cukup bagus. Kalau ingatanku benar, Tesseract juga dikembangkan oleh Google dan bersifat open source
    Waktu itu aku mencobanya untuk bahasa non-Inggris, yaitu Yunani, dan hasilnya sangat buruk
    Senang melihat ada riset OCR bagus berbasis Transformer

    • Baru-baru ini aku cukup terkesan dengan Tesseract. Bulan lalu aku memakainya untuk menambahkan teks OCR tak terlihat ke PDF hasil scan yang sering kujadikan referensi; kualitas scan-nya memang cukup bagus, tapi akurasinya tetap mengesankan
      Daftar isinya juga ku-OCR, lalu aku bereksperimen dengan mengatur pemisahan halaman di terminal sampai keluarannya bisa di-copy-paste, kemudian menambahkan daftar isi yang bisa dinavigasi
      1: https://github.com/ocrmypdf/OCRmyPDF sangat membantu
      2: https://tesseract-ocr.github.io/tessdoc/Command-Line-Usage.html, “ Using different Page Segmentation Modes”
    • Tesseract awalnya dibuat oleh HP, lalu setelah dirilis sebagai open source kemudian dikembangkan oleh Google. Karena bertumpu pada teknologi tahun 1980-an, hasilnya cukup di bawah harapan
      Meski begitu, kelebihannya adalah gratis
  • Aku penasaran apa yang saat ini termasuk yang terbaik di bidang deteksi tulisan tangan dari foto
    Melacak goresan juga menarik, tapi aku lebih tertarik mengubah catatan tulisan tangan menjadi Markdown

    • Aku tidak tahu apakah ini yang terbaik, tapi pengenalan tulisan tangan iOS dan ChatGPT bekerja sangat bagus buatku. Bahkan tulisan jelek pun bisa
      Tapi akurasinya mungkin lebih dekat ke 90~95%, jadi output-nya tetap perlu ditinjau sebelum dipercaya
  • Eksperimen yang sangat menarik. Selama beberapa tahun terakhir aku membuat aplikasi tulisan tangan, dan akan sangat bagus kalau bisa menambahkan fitur memotret lalu mengubahnya menjadi digital ink
    [0] https://scrivanolabs.github.io

  • Apakah ini juga bisa membaca tulisan dokter yang dicoret-coret? Kalau bisa, sepertinya akan revolusioner di bidang input data medis

    • Jumlah kematian akibat salah membaca instruksi perawatan di rumah sakit benar-benar mengejutkan
      Menyisipkan satu lapisan interpretasi lagi antara dokter dan perawat yang menangani pasien harus dilakukan dengan sangat hati-hati
      Sayang sekali sekolah kedokteran tidak mengajarkan huruf blok seperti yang dulu diajarkan kepada para juru gambar
  • Saat Apple Notes merapikan tulisanku dengan gaya tulisan tanganku sendiri, itu terasa menyeramkan

  • Aku masih berharap ada lingkungan pemrograman yang bisa memakai input pena di tablet. Semoga tidak memaksa orang membawa keyboard Bluetooth ke mana-mana
    Sayangnya, kemungkinan besar kebanyakan orang tidak akan mau membayar, jadi sepertinya tidak ada yang benar-benar memedulikannya sebagai peluang bisnis

    • Aku jelas lebih cepat mengetik daripada menulis. Terutama untuk kode, karena sering perlu pengeditan di tempat atau menyusun ulang kalimat
      Aku juga suka bekerja dengan kertas dan pena, tapi itu lebih cocok untuk menuangkan ide, diagram, dan daftar tugas daripada input yang terstruktur
    • Kedengarannya seperti pengalaman pengguna yang benar-benar mengerikan, dan aku tidak akan membayar untuk itu. Malah rasanya aku yang harus dibayar untuk memakainya
    • Bisakah orang “menggambar” 120 kata per menit lewat sentuhan?
  • Menurutku model yang mengubah tulisan tangan “offline”, yaitu tinta di atas kertas, menjadi bentuk “online” berupa urutan dan timing goresan bisa sangat berguna untuk pipeline pengenalan tulisan tangan dokumen sejarah
    Tapi pada akhirnya, tetap dibutuhkan pendekatan yang terintegrasi dari awal sampai akhir
    Aku tidak mengerti kenapa pengenalan tulisan tangan dokumen sejarah begitu terabaikan dalam semua benchmark evaluasi model multi-tugas. Ada jutaan dokumen sejarah tulisan tangan yang belum diindeks, dan semuanya bisa membantu kita memahami masa lalu yang dekat dengan jauh lebih baik
    Lebih jauh lagi, itu juga bisa memberi model pemahaman yang jauh lebih baik tentang masa lalu yang dekat