Apa yang sebenarnya dilakukan OCR, dan apa yang tidak bisa
OCR mengenali bentuk dan mengembalikan karakter. OCR tidak membaca. Tidak ada pemahaman atas kata-kata di baliknya, jadi angka “1” yang keliru dibaca sebagai huruf “l” tampil sama meyakinkannya dengan setiap karakter benar di sekitarnya. Karena itulah halaman-halaman ini menampilkan tingkat keyakinan pembacanya di samping teks, alih-alih memberi Anda hasil yang tampak bersih dan membiarkan Anda mencari sendiri kesalahannya. Pada teks cetak yang jelas, difoto lurus dan fokus, tingkat kesalahannya beberapa karakter per seribu. Jika ada pantulan cahaya, bayangan, atau jenis huruf yang tidak biasa, hasilnya bisa jauh lebih buruk, dan tidak ada apa pun pada hasilnya yang akan terlihat berbeda.
Ada dua pembaca di balik halaman-halaman ini. Yang pertama menemukan teks di mana pun letaknya di halaman tanpa tahu aksara apa yang dipakai, dan membaca lima puluhan bahasa dari satu kamus. Yang kedua, dilatih terpisah untuk tiap bahasa, berada di belakangnya dan mencakup lebih dari 120 bahasa. Membiarkan bahasa pada pengaturan otomatis memberi kesempatan pada pembaca pertama, dan itu penting karena memilih bahasa yang salah adalah cara klasik untuk tidak mendapatkan apa-apa — menu berbahasa Polandia yang dikira Sirilik dan dibaca sebagai bahasa Rusia menghasilkan halaman kosong, dengan penuh keyakinan. Memilih bahasa sendiri akan mengunci pekerjaan pada pembaca untuk bahasa itu, yang memang Anda inginkan jika Anda tahu persis apa yang Anda punya.
Yang penting adalah resolusi, bukan ukuran file. Pembaca menginginkan tinggi huruf tertentu, dan semuanya diskalakan untuk mencapainya: halaman PDF hasil scan dirender pada 300 DPI untuk dibaca, dan sebuah gambar diukur dari tintanya sendiri, bukan dari dimensinya, lalu diperbesar atau diperkecil sesuai kebutuhan. Teks di layar adalah kasus yang sering disalahpahami — pada ukuran normal, tinggi sebuah huruf sekitar sepuluh piksel, kira-kira sepertiga dari yang diinginkan pembaca, jadi screenshot diperbesar dulu sebelum dibaca. Di bawah sekitar delapan piksel per huruf, tidak ada detail yang tersisa untuk diperbesar, dan pengolahan sebanyak apa pun tidak bisa menciptakannya. Ke arah sebaliknya, foto menu 48 megapiksel tidak lebih akurat daripada foto kecil yang tajam; setelah titik tertentu, piksel tambahan hanya memakan waktu tanpa memberi manfaat.
Kemiringan dan pencahayaan yang tidak rata merusak lebih banyak daripada kelihatannya. Halaman yang difoto biasanya miring satu atau dua derajat dan diterangi dari satu sisi, jadi Gambar ke Teks dan Scan Dokumen mengukur sudut itu di seluruh halaman lalu menghilangkannya, kemudian memperkirakan kecerahan kertas di balik tinta per bagian dan mengangkatnya menjadi putih yang seragam. Itu bukan sekadar kosmetik. Garis tabel yang lurus adalah yang memungkinkan sebuah tabel dikenali sebagai grid, dan kontras yang merata adalah yang mencegah bayangan tangan Anda terbaca sebagai tinta. Screenshot sengaja tidak mendapat kedua perlakuan itu: screenshot sudah lurus dan pencahayaannya merata, dan memperlakukannya seolah-olah foto hanya menambah kesalahan.
Tabel dan tata letak multi-kolom adalah kasus yang benar-benar sulit, dan angka-angkanya perlu diketahui. Jika dibaca sebagai prosa satu halaman penuh, sebuah formulir bergaris membuat teks sel tersambung ke kolom berikutnya dan kehilangan sepertiga labelnya — lima belas hingga dua puluh persen karakter salah. Menemukan garis tabel lebih dulu dan membaca setiap sel secara terpisah menurunkannya menjadi sekitar lima persen. Jadi tabel dengan garis yang terlihat dikenali sebagai grid dan dikembalikan sebagai baris yang dipisahkan tab, yang bisa langsung ditempel ke spreadsheet, dan kolom-kolom prosa dibaca sesuai urutan baca, bukan lurus melintasi halaman. Tabel yang disusun hanya dengan spasi tidak punya garis untuk ditemukan, dan selamat saat ditempel karena kebetulan, bukan karena dirancang begitu.
PDF yang bisa dicari dan teks hasil ekstraksi adalah dua hal berbeda. OCR PDF dan Scan Dokumen membiarkan gambar persis seperti semula dan meletakkan kata-kata yang dikenali secara tak terlihat di atasnya: halaman tampak identik, Ctrl+F mulai menemukan kata, dan Anda bisa memilih dan menyalin. Tidak ada apa pun yang digambar di atas halaman — yang juga berarti kesalahan baca bisa tersembunyi di dalam dokumen yang tampak sempurna. Gambar ke Teks dan Screenshot ke Teks melakukan sebaliknya: Anda mendapat karakternya saja, tanpa jenis huruf, tanpa warna, tanpa cetak tebal, dan tanpa gambarnya. Satu catatan tentang lapisan teks, karena mudah terlewat — lapisan ini hanya bisa memuat karakter yang bisa ditulis oleh font bawaan, jadi kata-kata dalam bahasa Tionghoa, Jepang, dan Korea hanya dihitung untuk Anda, bukan ditulis, sampai font untuk bahasa-bahasa itu tersedia.
Kapan browser memang bukan alat yang tepat
Gambar yang tidak pernah meninggalkan perangkat Anda adalah seluruh alasan untuk membacanya di sini, dan itu mengorbankan akurasi pada dokumen yang sulit. Pertukaran itu nyata, dan lebih baik dikatakan terus terang daripada disembunyikan.
Tulisan tangan bersambung tidak dikenali — di sini, maupun oleh alat OCR umum mana pun. Ini adalah pembaca huruf cetak: mereka mengenali bentuk huruf, dan tulisan bersambung tidak punya bentuk huruf terpisah untuk dikenali. Huruf cetak tulisan tangan sering kali terbaca cukup baik untuk dikoreksi alih-alih diketik ulang — huruf kapital, formulir yang diisi tangan, catatan yang ditulis rapi — itulah sebabnya Tulisan Tangan ke Teks ada dan menampilkan angka keyakinan di samping teksnya. Membaca tulisan bersambung dengan benar membutuhkan pembaca yang dilatih khusus untuk tulisan tangan, dan yang bagus berjalan di server, bukan di tab browser.
OCR berbasis cloud akan mengalahkan alat ini pada dokumen yang sulit. Google, Amazon, dan Microsoft menjalankan pengenal yang dilatih dengan data jauh lebih banyak daripada yang muat di tab browser, dan pada foto yang buruk, halaman multi-kolom yang padat, jenis huruf yang tidak biasa, atau formulir yang sudah diisi, hasilnya akan jauh lebih akurat. Begitu pula paket desktop berbayar seperti ABBYY FineReader. Jika akurasi pada dokumen sulit lebih penting daripada dokumen tetap berada di perangkat Anda, gunakan salah satu dari itu — itulah perbandingan yang jujur, dan dasar yang sebaiknya Anda pakai untuk memilih.
Pekerjaan massal tempatnya di command line. Alat-alat ini membaca satu dokumen saat seseorang mengeklik. Dua ribu hasil scan secara terjadwal adalah pekerjaan untuk alat OCR desktop seperti OCRmyPDF, yang menambahkan lapisan teks ke satu folder penuh PDF dengan satu perintah — gratis, dengan pembacaan serupa tanpa perlu mengeklik.
Beberapa hal memang tidak dilakukan. Perspektif tidak dikoreksi: halaman yang difoto dari samping tetap berbentuk trapesium dan hanya rotasinya yang diperbaiki, jadi memotret tepat dari atas layak dilakukan meski butuh sedetik lebih lama. Lipatan tebal, atau lengkungan di dekat punggung buku, tetap melengkung. Dan tidak ada kamera di sini — pembaca kode men-decode gambar yang sudah Anda punya, bukan tayangan langsung.
Satu konsekuensi praktis dari berjalan secara lokal: pembaca dan paket bahasanya diambil dari situs ini saat pertama kali Anda memakai suatu bahasa, berukuran beberapa megabyte, sehingga proses pertama lebih lambat daripada berikutnya. Tidak ada yang diambil dari CDN pihak lain, dan tidak ada yang dikirim balik.
Memilih di antara alat yang terdengar mirip
Gambar ke Teks vs Screenshot ke Teks. Pembaca yang sama, dengan pengolahan awal yang berbeda, dan perbedaannya bukan sekadar kosmetik. Foto diluruskan dan pencahayaannya diratakan; screenshot diperbesar dan selebihnya dibiarkan, karena tidak miring dan pencahayaannya tidak timpang, dan memperlakukannya seolah-olah demikian justru memperburuknya. Screenshot ke Teks juga menerima tempelan — Ctrl+V, atau Cmd+V di Mac, langsung dari clipboard, tanpa perlu menyimpan apa pun ke disk terlebih dahulu.
Gambar ke Teks vs Scan Dokumen. Gambar ke Teks memberi Anda kata-katanya dan membuang gambarnya. Scan Dokumen mempertahankan gambarnya, meluruskannya, memutihkan kertas di balik tinta, dan memberi Anda PDF yang tampak seperti hasil scan — opsional dengan teks yang diletakkan tak terlihat di baliknya. Jika Anda ingin menempelkan teksnya di suatu tempat, pilih yang pertama. Jika Anda ingin mengirim dokumennya kepada seseorang, pilih yang kedua.
Scan Dokumen vs OCR PDF. Scan Dokumen berawal dari foto dan menghasilkan PDF. OCR PDF berawal dari PDF yang sudah ada dan menambahkan lapisan teks ke dalamnya. Tidak satu pun mengubah tampilan halaman. Jika Anda memotret kontrak, Anda butuh yang pertama; jika menerima hasil scan lewat email, Anda butuh yang kedua.
Tulisan Tangan ke Teks vs Gambar ke Teks. Pembaca yang sama, dengan pencari tabel dimatikan dan angka keyakinan ditampilkan menonjol sebagaimana mestinya, karena pada tulisan tangan angka itulah bagian hasil yang berguna. Jika tulisannya bersambung, tidak satu pun halaman bisa membacanya, dan halaman tulisan tangan mengatakannya terus terang alih-alih mengembalikan hasil yang tampak masuk akal tetapi keliru.
Scan QR Code dari Gambar vs Scan Barcode dari Gambar. Kode persegi lawan kode bergaris, dan ada baiknya tahu mana yang sedang Anda pegang. Halaman QR membaca QR, Micro QR, Data Matrix, Aztec, dan PDF417 — yang mencakup boarding pass dan SIM, yang kodenya berformat persegi meskipun terlihat seperti kumpulan titik. Halaman barcode membaca format bergaris untuk ritel dan logistik — EAN, UPC, Code 128, Code 39, ITF — dan memeriksa check digit, digit terakhir yang dihitung dari digit lainnya, yang membedakan angka yang bisa dipercaya dari angka yang sekadar tampak benar. Keduanya bukan OCR: kode adalah simbol dengan geometri yang sudah diketahui, jadi men-decode-nya adalah hitungan matematis, bukan tebakan tentang bentuk huruf. Cara gagalnya pun berbeda. Kode persegi membawa koreksi error dan tetap terbaca meski tergores atau ada logo tercetak di tengahnya; kode bergaris sama sekali tidak punya, jadi pantulan cahaya di atas garisnya berarti tidak terbaca sama sekali, bukan angka yang salah.