ช่วยปกป้อง Great Barrier Reef กับ TensorFlow บน Kaggle เข้าร่วมท้าทาย

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

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

เริ่ม

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

ตัวอย่าง Android

หากคุณกำลังใช้แพลตฟอร์มอื่น ๆ นอกเหนือจาก Android หรือคุณคุ้นเคยกับ APIs TensorFlow Lite คุณสามารถดาวน์โหลดรุ่นจาก 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 เมตริกซ์ (1, 320, 320, 3) เป็น input

รูปแบบการรับรู้ข้อความยอมรับ 4-D float32 Tensor (1, 31, 200, 1) เป็น input

ผลลัพธ์

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

รูปแบบการรับรู้ข้อความส่งกลับ 2-D float32 Tensor ของรูปร่าง (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 ไว้

อ้างอิง