Pengenalan Pengenalan Karakter Optik [OCR] Untuk Pemula

Diterbitkan: 2021-02-08

OCR atau pengenalan karakter optik (OCR) digunakan untuk mengekstrak informasi dari gambar tagihan dan kuitansi, atau apa pun yang memiliki konten tertulis di dalamnya. Untuk mengembangkan solusi ini, OpenCV dapat digunakan untuk memproses gambar yang selanjutnya dapat dimasukkan ke mesin OCR Tesseract yang dapat mengekstrak teks dari gambar tersebut.

Namun, proses penghapusan teks bisa efisien hanya jika gambarnya jelas dan teksnya cukup terlihat. Dalam aplikasi ritel, untuk mengekstrak teks dari faktur, faktur mungkin dibanjiri dengan tanda air, atau mungkin ada bayangan pada tagihan yang menghalangi informasi untuk ditangkap.

Menangkap potongan informasi dari halaman teks yang lebih panjang juga bisa menjadi tugas yang sulit. Untuk mengatasi masalah ini, adalah bijaksana bahwa dalam saluran ekstraksi informasi, ada tempat dari modul pemrosesan gambar yang menangani kesulitan-kesulitan yang disebutkan di atas.

Ini terdiri dari beberapa sub-proses, yaitu lokalisasi teks, segmentasi karakter, dan pengenalan karakter tersebut. Meskipun beberapa sistem mengelola tanpa segmentasi. Metode tersebut diproduksi dengan menggunakan beberapa prosedur, seperti menerapkan metode kuadrat terkecil untuk mengurangi tingkat kesalahan dan mendukung mesin vektor untuk mencocokkan karakter.

Namun, seringkali untuk mengidentifikasi hunian karakter dalam sebuah gambar, Convolutional Neural Networks (CNN) digunakan. Teks dapat dilihat sebagai urutan karakter yang konsisten. Mendeteksi dan mengidentifikasi karakter-karakter ini dengan akurasi yang lebih tinggi merupakan kesulitan yang dapat diselesaikan dengan menggunakan jenis khusus jaringan saraf, yaitu, jaringan saraf berulang (RNNs) dan memori jangka pendek panjang (LSTM).

Kata-kata dikumpulkan dengan menyesuaikan teks menjadi gumpalan. Garis dan wilayah ini juga diperiksa untuk teks yang setara. Baris teks dibagi menjadi kata-kata hanya menurut jenis spasi di antara mereka. Metode identifikasi dibagi menjadi dua langkah. Pertama, setiap kata diidentifikasi. Setiap kata yang diidentifikasi dengan sempurna atau benar juga diteruskan ke pengklasifikasi adaptif sebagai data pelatihan.

Citra yang diterima sebagai input diperiksa dan diproses menjadi beberapa bagian. Teks dimasukkan ke dalam model LSTM baris demi baris. Tesseract, yang merupakan mesin pengenalan karakter optik, tersedia untuk berbagai sistem operasi. Ini menggunakan kombinasi arsitektur CNN dan LSTM untuk mengidentifikasi dan memperoleh teks dari data gambar secara tepat. Namun, gambar dengan noise atau bayangan menghambat akurasi pengambilan.

Untuk meminimalkan noise, atau meningkatkan kualitas gambar, Pra-pemrosesan gambar dapat dilakukan menggunakan perpustakaan OpenCV. Langkah-langkah pra-pemrosesan tersebut dapat terdiri dari menemukan ROI atau wilayah yang diinginkan, memotong gambar, menghilangkan noise (atau wilayah yang tidak diinginkan), ambang batas, pelebaran dan erosi, deteksi kontur atau tepi. Setelah langkah-langkah tersebut selesai, mesin OCR dapat membaca gambar dan mengeluarkan teks yang relevan darinya dengan sempurna.

Daftar isi

Alat yang digunakan

1. OpenCV

OpenCV adalah pustaka yang awalnya kompatibel dengan bahasa C/C++ dan python. Biasanya digunakan untuk memproses data dengan sampel gambar. Sejumlah besar fungsi berguna yang telah ditentukan sebelumnya hadir di perpustakaan yang mengimplementasikan transformasi yang diperlukan pada sampel gambar. Semua fungsi yang disebutkan di atas seperti dilatasi, erosi, slicing, deteksi tepi, dan banyak lagi dapat dilakukan dengan mudah menggunakan perpustakaan ini.

2. Mesin OCR Tesseract

Dirilis oleh Google, ini adalah perpustakaan sumber terbuka yang banyak digunakan untuk pengenalan teks. Ini dapat digunakan untuk mendeteksi dan mengidentifikasi teks dalam berbagai bahasa. Pemrosesan cukup cepat dan memberikan output tekstual dari sebuah gambar dengan segera. Banyak aplikasi pemindaian memanfaatkan perpustakaan ini dan mengandalkan teknik ekstraksinya.

Langkah-Langkah yang Terlibat dalam Proses Ekstraksi Teks

(1) Pertama, Teknik pemrosesan gambar yang memungkinkan seperti deteksi kontur, penghilangan noise, dan fungsi erosi dan dilatasi diterapkan pada sampel gambar noise yang masuk.

(2) Setelah langkah ini, penghapusan tanda air dan bayangan dari tagihan dilakukan.

(3) Selanjutnya, RUU tersebut tersegmentasi menjadi beberapa bagian.

(4) Bagian yang tersegmentasi dilewatkan melalui mesin Tesseract OCR untuk mendapatkan teks yang lengkap.

(5) Akhirnya menggunakan Regex, kami mendapatkan semua informasi penting seperti jumlah total, tanggal pembelian, dan pengeluaran per item.

izinkan saya berbicara tentang gambar tertentu dengan teks – faktur dan tagihan. Mereka biasanya memiliki tanda air pada mereka, sebagian besar perusahaan yang mengeluarkan tagihan. Seperti disebutkan sebelumnya, tanda air ini merupakan hambatan dalam ekstraksi teks yang efisien. Seringkali, tanda air ini sendiri berisi teks.

Ini dapat dianggap sebagai kebisingan karena mesin Tesseract mengenali teks dari setiap ukuran dalam satu baris. Seperti watermark, bayangan juga menghambat akurasi mesin untuk mengekstrak teks secara efisien. Bayangan dihilangkan dengan meningkatkan kontras dan kecerahan gambar.

Untuk gambar yang memiliki stiker atau watermark, dilakukan proses multi langkah. Prosesnya melibatkan pengubahan gambar menjadi skala abu-abu, menerapkan transformasi morfologis, menerapkan thresholding (bisa berupa inversi biner atau transformasi otsu), mengekstraksi piksel yang lebih gelap di wilayah yang lebih gelap, dan terakhir, menempelkan piksel yang lebih gelap di wilayah tanda air. Kembali ke proses penghilangan bayangan.

Pertama, dilatasi diterapkan pada citra grayscale. Di atas ini, biru sedang dengan kernel yang sesuai menekan teks. Keluaran dari langkah ini adalah gambar yang berisi bagian bayangan dan perubahan warna lain yang ada. Sekarang operasi perbedaan sederhana dihitung antara gambar asli dan gambar yang diperoleh. Akhirnya, setelah menerapkan ambang batas yang kami dapatkan adalah gambar tanpa bayangan.

Pengenalan dan Ekstraksi Teks

Model Convolutional Neural Network dapat dibangun dan dilatih pada teks tercetak yang ditemukan dalam gambar. Model selanjutnya dapat digunakan untuk mendeteksi teks dari gambar serupa lainnya dengan font yang sama. Mesin OCR Tesseract digunakan untuk memulihkan teks dari gambar yang telah diproses menggunakan algoritma visi komputer.

Untuk Optical Character Recognition, kita harus melakukan pelokalan teks, dilanjutkan dengan segmentasi karakter, dan kemudian, pengenalan karakter. Semua langkah ini dilakukan oleh Tesseract OCR. Mesin OCR Tesseract terbukti sangat akurat saat digunakan pada teks cetak daripada teks tulisan tangan.

Mendapatkan Informasi yang Relevan

Berbicara tentang faktur secara khusus, dari semua teks yang diekstraksi, informasi penting seperti tanggal pembelian, jumlah total, dll. dapat dengan mudah diperoleh dengan menggunakan beberapa ekspresi reguler. Jumlah total yang dicantumkan pada faktur dapat diekstraksi dengan menerapkan ekspresi reguler karena fakta bahwa biasanya muncul di akhir faktur. Banyak informasi berguna seperti itu dapat disimpan sesuai dengan tanggalnya sehingga mudah diakses.

Ketepatan

Akurasi untuk pengambilan teks dapat didefinisikan sebagai rasio jumlah informasi yang benar yang diperoleh oleh Tesseract OCR dan yang sudah ada dalam faktur dengan jumlah kumulatif kata yang benar-benar ada dalam gambar tekstual. Akurasi yang lebih tinggi menandakan efisiensi yang lebih tinggi dari teknik pra-pemrosesan dan kemampuan Tesseract OCR untuk mengekstrak informasi.

Apa selanjutnya?

Jika Anda tertarik untuk mempelajari lebih lanjut tentang pembelajaran mesin, lihat PG Diploma IIIT-B & upGrad dalam Pembelajaran Mesin & AI yang dirancang untuk para profesional yang bekerja dan menawarkan 450+ jam pelatihan ketat, 30+ studi kasus & tugas, IIIT- B Status alumni, 5+ proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.

Pelajari Kursus ML dari Universitas top Dunia. Dapatkan Master, PGP Eksekutif, atau Program Sertifikat Tingkat Lanjut untuk mempercepat karier Anda.

Pimpin Revolusi Teknologi Berbasis AI

Terapkan untuk Program Sertifikat Tingkat Lanjut dalam Pembelajaran Mesin & NLP