เข้าร่วม Women in ML Symposium ในวันที่ 7 ธันวาคม ลงทะเบียนตอนนี้

การรู้จำอักขระด้วยแสง (OCR)

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

การรู้จำอักขระด้วยแสง (OCR) เป็นกระบวนการในการจดจำอักขระจากภาพโดยใช้คอมพิวเตอร์วิทัศน์และเทคนิคการเรียนรู้ของเครื่อง แอพอ้างอิงนี้สาธิตวิธีใช้ TensorFlow Lite เพื่อทำ OCR ใช้การผสมผสานระหว่าง โมเดลการตรวจจับข้อความและโมเดล การ รู้จำข้อความ เป็นไปป์ไลน์ OCR เพื่อจดจำอักขระข้อความ

เริ่ม

หากคุณเพิ่งเริ่มใช้ TensorFlow Lite และกำลังใช้งาน Android เราขอแนะนำให้คุณสำรวจตัวอย่างแอปพลิเคชันต่อไปนี้ซึ่งจะช่วยให้คุณเริ่มต้นได้

ตัวอย่าง Android

หากคุณกำลังใช้แพลตฟอร์มอื่นที่ไม่ใช่ Android หรือคุ้นเคยกับ TensorFlow Lite API อยู่แล้ว คุณสามารถดาวน์โหลดโมเดลต่างๆ ได้จาก TF Hub

มันทำงานอย่างไร

งาน OCR มักจะแบ่งออกเป็น 2 ขั้นตอน ขั้นแรก เราใช้โมเดลการตรวจจับข้อความเพื่อตรวจหากรอบล้อมรอบข้อความที่เป็นไปได้ อย่างที่สอง เราป้อนกรอบที่ประมวลผลแล้วลงในโมเดลการรู้จำข้อความเพื่อกำหนดอักขระเฉพาะภายในกล่องขอบเขต (เราจำเป็นต้องทำการระงับแบบไม่สูงสุด การแปลงเปอร์สเปคทีฟ และอื่นๆ ก่อนการจดจำข้อความด้วย) ในกรณีของเรา ทั้งสองรุ่นมาจาก TensorFlow Hub และเป็นแบบจำลองเชิงปริมาณ FP16

มาตรฐานประสิทธิภาพ

ตัวเลขเปรียบเทียบประสิทธิภาพสร้างขึ้นด้วยเครื่องมือที่อธิบายไว้ ที่นี่

ชื่อรุ่น ขนาดรุ่น อุปกรณ์ ซีพียู GPU
การตรวจจับข้อความ 45.9 Mb พิกเซล 4 (แอนดรอยด์ 10) 181.93ms* 89.77ms*
การรู้จำข้อความ 16.8 Mb พิกเซล 4 (แอนดรอยด์ 10) 338.33ms* ไม่มี**

* ใช้ 4 เธรด

** โมเดลนี้ไม่สามารถใช้ตัวแทน GPU เนื่องจากเราต้องการ TensorFlow ops เพื่อเรียกใช้

อินพุต

โมเดลการตรวจจับข้อความยอมรับ 4-D float32 Tensor ของ (1, 320, 320, 3) เป็นอินพุต

โมเดลการรู้จำข้อความยอมรับ 4-D float32 Tensor ของ (1, 31, 200, 1) เป็นอินพุต

ผลลัพธ์

โมเดลการตรวจจับข้อความจะส่งกลับ 4-D float32 เทนเซอร์ของรูปร่าง (1, 80, 80, 5) เป็นกล่องขอบเขต และ 4-D float32 เทนเซอร์ของรูปร่าง (1,80, 80, 5) เป็นคะแนนการตรวจจับ

โมเดลการรู้จำข้อความส่งคืน 2-D float32 เทนเซอร์ของรูปร่าง (1, 48) เป็นดัชนีการแมปไปยังรายการตัวอักษร '0123456789abcdefghijklmnopqrstuvwxyz'

ข้อจำกัด

  • โมเดลการรู้จำข้อความ ปัจจุบันได้รับการฝึกอบรมโดยใช้ข้อมูลสังเคราะห์ที่มีตัวอักษรและตัวเลขภาษาอังกฤษ ดังนั้นจึงรองรับเฉพาะภาษาอังกฤษเท่านั้น

  • โมเดลเหล่านี้ไม่ธรรมดาเพียงพอสำหรับ OCR ในป่า (เช่น ภาพสุ่มที่ถ่ายโดยกล้องสมาร์ทโฟนในสภาพแสงน้อย)

ดังนั้นเราจึงเลือกโลโก้ผลิตภัณฑ์ Google 3 โลโก้เพื่อแสดงวิธีทำ OCR ด้วย TensorFlow Lite หากคุณกำลังมองหาผลิตภัณฑ์ OCR เกรดการผลิตที่พร้อมใช้งาน คุณควรพิจารณา Google ML Kit ML Kit ซึ่งใช้ TFLite อยู่ข้างใต้ น่าจะเพียงพอสำหรับกรณีการใช้งาน OCR ส่วนใหญ่ แต่มีบางกรณีที่คุณอาจต้องการสร้างโซลูชัน OCR ของคุณเองด้วย TFLite ตัวอย่างบางส่วน ได้แก่ :

  • คุณมีโมเดล TFLite สำหรับตรวจจับ/จดจำข้อความของคุณเองที่คุณต้องการใช้
  • คุณมีข้อกำหนดพิเศษทางธุรกิจ (เช่น การจำข้อความที่กลับหัว) และจำเป็นต้องปรับแต่งไปป์ไลน์ OCR
  • คุณต้องการสนับสนุนภาษาที่ไม่ครอบคลุมโดย ML Kit
  • อุปกรณ์ผู้ใช้เป้าหมายของคุณไม่จำเป็นต้องติดตั้งบริการ Google Play ไว้

อ้างอิง