กลุ่มผู้อ่าน: บทความนี้เหมาะสำหรับวิศวกรคอมพิวเตอร์วิทัศน์ ผู้รับผิดชอบการบูรณาการ OCR และผู้จัดการผลิตภัณฑ์ OEM ที่ต้องการเข้าใจว่าปากกาอ่านหนังสือรุ่น B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 และ Y6 ค้นหาข้อความในภาพหน้ากระดาษที่มีสัญญาณรบกวน แบ่งส่วนออกเป็นกรอบขนาดตัวอักษร และส่งต่อกรอบเหล่านั้นให้กับเอนจิน OCR โดยสมมติว่าคุณได้อ่านงานวิจัย EAST หรือ DBNet มาแล้ว และต้องการตัวเลขเชิงปฏิบัติจากการใช้งานปากกาอ่านหนังสือในสนามจริง
การตรวจจับข้อความคือขั้นตอนที่ผู้ขาย OCR มักจะซ่อนไว้ในรายละเอียดเล็ก ๆ แต่เราไม่ปิดบัง ภาพจากปากกาอ่านหนังสือไม่ใช่การสแกนเอกสารที่คมชัด แต่เป็นสตรีมวิดีโอ 60 fps ที่มีภาพเบลอจากการเคลื่อนไหว พื้นผิวกระดาษ การบิดเบือนเชิงมุมมอง และแสงที่ผันแปร การค้นหาบรรทัดข้อความในขั้นแรกจึงยากกว่าการรู้จำเมื่อเจอแล้ว บทความนี้ครอบคลุมตัวตรวจจับสองแบบที่เราจัดส่ง (heuristic + EAST) ตรรกะการแบ่งส่วน ตัวเลขเวลาแฝงรายรุ่น และโหมดความล้มเหลวที่คุณต้องวางแผนรองรับในโครงการ OEM
1. สองขั้นตอนก่อนถึง OCR
เอนจิน OCR ที่กล่าวถึงใน TC-127 รับภาพที่ครอปมาอย่างแน่นหนาและมีข้อความเพียงบรรทัดเดียว เพื่อให้ได้ภาพครอปดังกล่าวจากภาพหน้าเต็ม 640 x 480 เราจึงรันสองขั้นตอน:
- ขั้นตอน A: การตรวจจับข้อความ — ค้นหากรอบข้อความตัวเลือกอย่างน้อยหนึ่งกรอบในภาพหน้า
- ขั้นตอน B: การแบ่งส่วนบรรทัด — ปรับแต่งกรอบตัวเลือกแต่ละกรอบให้เป็นครอปบรรทัดเดียว พร้อมหมุนและแก้มุมมองให้ตรง
ทั้งสองขั้นตอนเป็นอิสระต่อกันและปรับแต่งแยกกันได้ ใน 11 รุ่นนี้ ขั้นตอน A ใช้การดำเนินการหนึ่งในสามแบบตามระดับรุ่น ส่วนขั้นตอน B ใช้ร่วมกันในทุกรุ่น
2. ตัวเลือกขั้นตอน A 1: การตรวจจับข้อความแบบ Heuristic (B1, B2, P2)
ในรุ่นระดับล่างสุด เราไม่รันตัวตรวจจับที่เรียนรู้ แต่ใช้การวิเคราะห์ connected-component บนภาพหน้าที่ผ่านการแปลงเป็นภาพไบนารี แล้วจัดกลุ่มคอมโพเนนต์ตามระยะใกล้ในแนวนอน
ขั้นตอนการทำงาน:
- แปลงภาพหน้าเป็นไบนารีด้วย adaptive threshold (TC-121)
- ค้นหา connected component ด้วย flood fill แบบ 4-connectivity
- คำนวณ bounding box และค่าประมาณ stroke width ของแต่ละคอมโพเนนต์
- กรองคอมโพเนนต์ที่มี stroke width อยู่นอกช่วง 1.5 ถึง 6 พิกเซล (ช่วงปกติของปากกาอ่านหนังสือที่ dot pitch 0.07 mm)
- จัดกลุ่มคอมโพเนนต์เป็นบรรทัดข้อความด้วย horizontal-projection profile ช่องว่าง 8 พิกเซลขึ้นไปจะเริ่มบรรทัดใหม่
- ส่งคืน bounding box ของแต่ละบรรทัด
Heuristic นี้ใช้เวลา 4.6 ms บน Cortex-M4 ของ B1 ทำงานได้ดีกับหนังสือเด็กที่สะอาดและมี stroke width สม่ำเสมอโดยไม่มีกราฟิกตกแต่ง แต่จะล้มเหลวในกรณี:
- stroke width ผสม (เช่น หัวเรื่องและเนื้อหาในบรรทัดเดียวกัน)
- กราฟิกตกแต่งที่มี stroke width อยู่ในช่วง 2 ถึง 4 พิกเซล
- พื้นหลังสีที่ทำให้เกิด false-positive component
เราวัด recall การตรวจจับบรรทัดได้ 92.1% และ precision 89.4% บนชุดย่อย ICDAR 2015 reading pen อัตราพลาด 7.9% ส่วนใหญ่มาจากคำบรรยายภาพและเชิงอรรถขนาดเล็ก
3. ตัวเลือกขั้นตอน A 2: EAST เวอร์ชันเบา (F8, K7, KF1, Q6, Y6)
ในรุ่นระดับกลาง เราจัดส่งตัวแปร EAST (Efficient and Accurate Scene Text detector) แบบ quantized backbone คือ MobileNet-V2 4 ชั้น ที่ width multiplier 0.5x feature merger เป็น feature pyramid มาตรฐานของ EAST ส่วน output head ทำนาย score map และ geometry map 4 ช่องต่อพิกเซล
ขนาดโมเดล:
- float32: 3.8 MB
- int8: 1.1 MB
เวลาแฝงบน Cortex-A53 ของ K7 ที่ 600 MHz: 28 ms ต่อเฟรม ที่อินพุต 320 x 320 เวลาแฝงบน Cortex-A7 ของ F8 ที่ 800 MHz: 64 ms ต่อเฟรม ที่อินพุต 320 x 320
เราใช้อินพุต 320 x 320 แทนภาพเต็ม 640 x 480 เพราะตัวตรวจจับ EAST ต้องการแค่ระบุตำแหน่ง ไม่ต้องรู้จำ จากนั้นจึงฉาย quadrilateral ที่ตรวจจับได้กลับไปยังภาพความละเอียดเต็มเพื่อครอป
ตัวตรวจจับถูกฝึกบนคลังภาพหน้า 240,000 ภาพ เสริมด้วยการบิดเบือนสังเคราะห์: การหมุน -10° ถึง +10° perspective warp motion blur การบีบอัดแบบ JPEG ฉลากฝึกเป็น quadrilateral ไม่ใช่กล่องแนวแกน
Recall การตรวจจับบรรทัดบนชุดย่อย ICDAR 2015 reading pen: 96.8% precision: 95.4% อัตราพลาด 3.2% ส่วนใหญ่มาจากข้อความบนกระดาษมันที่แสงสะท้อนกดทับ score map
4. ตัวเลือกขั้นตอน A 3: DBNet (L5, Q8, T2)
ในรุ่นระดับสูง เราจัดส่งตัวตรวจจับ DBNet (Differentiable Binarization) แบบ quantized backbone เป็น MobileNet-V2 ที่ width multiplier 0.5x เช่นเดียวกัน แต่ head ทำนาย probability map และ threshold map การแปลงเป็นไบนารีทำต่อพิกเซลโดยใช้ threshold ที่เรียนรู้
ขนาดโมเดล:
- float32: 4.2 MB
- int8: 1.3 MB
เวลาแฝงบน Cortex-A53 ของ L5: 18 ms บน NPU ของ Q8: 11 ms บน NPU ของ T2: 7 ms
DBNet ทำงานได้ดีกว่า EAST บนข้อความโค้งและข้อความเอียง เพราะ threshold ที่เรียนรู้ปรับตาม contrast เฉพาะจุด เราวัด recall การตรวจจับบรรทัดได้ 98.4% และ precision 97.6% บนชุดย่อย ICDAR 2015 reading pen ซึ่งดีกว่า EAST 1.6 เปอร์เซ็นต์พอยต์
สิ่งที่ต้องแลกคือพื้นที่ flash เพิ่มขึ้น 4.7% (1.3 MB เทียบกับ 1.1 MB) และโหลด CPU/NPU สูงขึ้นราว 25% สำหรับ L5, Q8 และ T2 overhead นี้ยอมรับได้
5. ขั้นตอน B: การแบ่งส่วนบรรทัดและการแก้มุมมอง
เมื่อขั้นตอน A ส่งคืน quadrilateral ตัวเลือก ขั้นตอน B จะปรับแต่ละกรอบให้เป็นครอปบรรทัดเดียวแนวแกนที่แน่นหนา ขั้นตอนมีดังนี้:
- ขยาย quadrilateral เล็กน้อยด้านบนและด้านล่างเพื่อให้ descender และ ascender ถูกครอบครุมม fully padding เริ่มต้นคือ 8% ของความสูงบรรทัด
- คำนวณ perspective transform จาก quadrilateral ไปยังสี่เหลี่ยมผืนผ้า
- ประยุกต์ transform ด้วย bilinear interpolation
- ทำ threshold หรือ normalize ครอปที่ได้สำหรับเอนจิน OCR
- จัดครอปบรรทัดเข้าคิวสำหรับเอนจิน OCR
ขั้นตอน B ใช้เวลา 6 ms ถึง 8 ms ต่อบรรทัด ขึ้นกับความยาวบรรทัด สำหรับหน้า 6 บรรทัด เวลารวมอยู่ที่ 36 ms ถึง 48 ms ซึ่งไม่ใช่น้อย เราสามารถทำ pipeline ขั้นตอน B กับขั้นตอน A: ขณะที่ขั้นตอน A ตรวจจับบรรทัด 3 ขั้นตอน B กำลังครอปบรรทัด 2 และเอนจิน OCR กำลังรู้จำบรรทัด 1
6. ตัวเลขแบบ End-to-End
เมื่อรวมทุกอย่าง เวลาแฝงตั้งแต่จรดปากกาจนถึงเสียงถอดรหัสแรก บนหน้า 6 บรรทัด เมื่อเป้าหมายคือบรรทัด 1:
| รุ่น | ขั้นตอน A | ขั้นตอน B | OCR | รวม |
|---|---|---|---|---|
| B1 / B2 | 4.6 ms (heuristic) | 7 ms | 65 ms | 77 ms |
| P2 | 4.6 ms | 7 ms | 65 ms | 77 ms |
| F8 | 64 ms (EAST fp32) | 8 ms | 64 ms | 136 ms |
| K7 / KF1 | 28 ms (EAST int8) | 8 ms | 38 ms | 74 ms |
| Q6 / Y6 | 26 ms (EAST int8) | 8 ms | 38 ms | 72 ms |
| L5 | 18 ms (DBNet int8) | 6 ms | 32 ms | 56 ms |
| Q8 | 11 ms (DBNet NPU) | 6 ms | 18 ms | 35 ms |
| T2 | 7 ms (DBNet NPU) | 6 ms | 11 ms | 24 ms |
T2 เป็นโมเดลที่เร็วที่สุดแบบ end-to-end ที่ 24 ms ส่วน F8 เป็นโมเดลที่ช้าที่สุดที่ 136 ms เนื่องจากใช้ตัวตรวจจับ EAST แบบ float32 และเอนจิน OCR แบบ float32
7. โหมดความล้มเหลวที่พบจากการใช้งานจริง
จากยอดจัดส่งกว่า 47,000 เครื่องตั้งแต่ปี 2023 ความล้มเหลวในการตรวจจับข้อความคิดเป็น 6.8% ของการคืนสินค้าที่เกี่ยวข้องกับ OCR ทั้งหมด โดยมีรายละเอียดดังนี้:
- แสงสะท้อนจากกระดาษเคลือบมันกดทับ score map: คิดเป็น 32% ของความล้มเหลวในการตรวจจับ
- พื้นหลังสีเข้มจัด (เช่น หน้าตำราสีน้ำเงินเข้ม) ถูกจัดประเภทผิดเป็น foreground: 24%
- อักษรตกแต่งขนาดใหญ่หรือหัวเรื่องที่มีภาพประกอบทำให้การจัดกลุ่มบรรทัดสับสน: 18%
- บันทึกด้วยลายมือที่ขอบกระดาษถูกตรวจจับเป็นบรรทัด false-positive: 14%
- การเคลื่อนไหวของปากกาที่ความเร็ว > 250 mm/s ทำให้เกิดการเหลื่อมระหว่างเฟรม: 8%
- Stage A ส่งคืนรูปสี่เหลี่ยมที่หมุน > 30° จากแนวนอน จากนั้น Stage B จะครอปด้วยการบิดเบือนเปอร์สเปกทีฟที่รุนแรง: 4%
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีที่เอนจิน OCR จัดการกับการครอปบรรทัด โปรดดูที่ Reading Pen OCR Engine vs Deep Learning OCR. สำหรับวิธีที่ ISP สร้างภาพหน้าเพจ โปรดดูที่ Reading Pen Camera ISP and Image Signal Processor. สำหรับวิธีที่การค้นหาในพจนานุกรมนำข้อความที่รู้จำไปใช้ โปรดดูที่ Reading Pen Dictionary File Format and Edition. สำหรับข้อจำกัดด้านฮาร์ดแวร์ที่ส่งผลต่อการเลือกตัวตรวจจับ โปรดดูที่ Reading Pen Manufacturing Test Software Fixture. หากต้องการขอรายงานการวัดประสิทธิภาพสำหรับเนื้อหาหนังสือเฉพาะของคุณ โปรดดูที่ /request-a-quote.
8. AQL บนสายการสอบเทียบการตรวจจับ
แต่ละเครื่องจะรันการทดสอบการตรวจจับข้อความด้วยตัวเองเป็นเวลา 4 วินาทีในระหว่างการสอบเทียบ การทดสอบจะแสดงภาพหน้าเพจคงที่ที่จัดเก็บในฟิกซ์เจอร์การสอบเทียบและตรวจสอบว่าตัวตรวจจับส่งคืนรูปสี่เหลี่ยม 6 รูปตามพิกัดที่คาดไว้ เกณฑ์การยอมรับ:
- ตรวจจับทั้ง 6 บรรทัดโดยมี IoU ≥ 0.85: ผ่าน
- ตรวจจับครบทั้ง 6 บรรทัดแต่มี IoU ระหว่าง 0.70 ถึง 0.85: ผ่านโดยมีบันทึก
- ตรวจจับได้ 5 จาก 6 บรรทัด: ส่งกลับทำใหม่ (สอบเทียบเกณฑ์การตรวจจับใหม่)
- ตรวจจับได้ ≤ 4 บรรทัด: คัดออก
จากเครื่อง L5 จำนวน 8,000 เครื่องที่สอบเทียบในไตรมาสที่ 1 ปี 2026 ผลผลิตรอบแรกอยู่ที่ 96.2% การทำใหม่ 2.6% และการคัดออก 1.2%
9. การระบุการตรวจจับข้อความในสัญญา OEM
ข้อกำหนดการตรวจจับข้อความที่รับรองได้ประกอบด้วย:
- สถาปัตยกรรมตัวตรวจจับ (heuristic, EAST หรือ DBNet) ตามระดับของรุ่น
- Recall การตรวจจับบรรทัด ≥ 95% บนชุดทดสอบที่ระบุชื่อ
- Precision การตรวจจับบรรทัด ≥ 95% บนชุดทดสอบชุดเดียวกัน
- Median end-to-end latency บนหน้าที่มี 6 บรรทัด (ต่อรุ่น)
- เกณฑ์ผ่าน AQL บนบรรทัดสอบเทียบ
สำหรับผู้ซื้อ OEM ที่ต้องการความแม่นยำสูงกว่าตัวตรวจจับมาตรฐาน เรามีบิวด์ "premium detector" ที่ใช้ backbone MobileNet ขนาดใหญ่กว่า ที่ความกว้าง 1.0x เพิ่มหน่วยความจำ flash 1.4 MB และเพิ่ม latency 12 ms บิวด์นี้มีให้ในรุ่น L5, Q8 และ T2 โดยมียอดสั่งซื้อขั้นต่ำ 5,000 ชิ้น
10. เปรียบเทียบการตรวจจับของปากกาอ่านหนังสือกับ EAST ทั่วไป
ตัวตรวจจับ EAST ของปากกาอ่านหนังสือได้ recall 96.8% บนชุดย่อยปากกาอ่านหนังสือของ ICDAR 2015 แต่ได้เพียง 91.2% บนเกณฑ์มาตรฐาน incidental text ของ ICDAR 2015 (ซึ่งใกล้เคียงกับข้อความในฉากบนท้องถนนมากกว่า) ชุดย่อยปากกาอ่านหนังสือนั้นง่ายกว่าเพราะข้อความเป็นแบบพิมพ์เสมอ อยู่บนกระดาษเสมอ และมีขนาดตัวอักษรที่ทราบเสมอ ดังนั้นตัวเลข 96.8% จึงควรอ่านอย่างเข้าใจบริบท: เป็นตัวเลขที่ถูกต้องสำหรับเนื้อหาปากกาอ่านหนังสือ ไม่ใช่สำหรับข้อความในฉากทั่วไป
หากคุณประเมินตัวตรวจจับของซัพพลายเออร์บนเกณฑ์มาตรฐาน incidental ของ ICDAR และเปรียบเทียบกับตัวเลขของเรา คุณกำลังเปรียบเทียบสิ่งที่ต่างกันโดยสิ้นเชิง ขอให้ซัพพลายเออร์ส่งตัวเลขบนชุดย่อยปากกาอ่านหนังสือโดยเฉพาะ
บทความที่เกี่ยวข้อง
- Reading Pen OCR Engine vs Deep Learning OCR
- Reading Pen Camera ISP and Image Signal Processor
- Reading Pen Handwriting Recognition Engine
- Reading Pen Dictionary File Format and Edition
- Reading Pen Manufacturing Test Software Fixture
- Reading Pen YUV vs RGB and Color Space
บทความเสริม: การตรวจจับสำหรับเลย์เอาต์หลายคอลัมน์และตาราง
หนังสือเด็กมักมีเลย์เอาต์คอลัมน์เดียวโดยมีกล่องข้อความหนึ่งหรือสองกล่องต่อหน้า ตำราเรียนสำหรับนักเรียนที่โตกว้ามักมีเลย์เอาต์หลายคอลัมน์พร้อมกล่องข้อความด้านข้าง เชิงอรรถ และตาราง ตัวตรวจจับ EAST และ DBNet มาตรฐานรองรับเลย์เอาต์หลายคอลัมน์เพราะขั้นตอนการจัดกลุ่มบรรทัดจะรวมคอมโพเนนต์ที่อยู่ในแถบแนวนอนเดียวกันและแยกคอลัมน์ในแนวตั้ง เราวัด recall ลดลง 1.4% ในเลย์เอาต์ 2 คอลัมน์เมื่อเทียบกับเลย์เอาต์ 1 คอลัมน์ ซึ่งยอมรับได้สำหรับกรณีการใช้งานในโรงเรียนส่วนใหญ่
เลย์เอาต์ตารางทำได้ยากกว่า ตัวตรวจจับจะถือว่าแต่ละเซลล์เป็นบริเวณข้อความอิสระ ซึ่งถูกต้อง แต่เอนจิน OCR จะจดจำแต่ละเซลล์เป็นบรรทัดเดียวและไม่ทราบว่าเซลล์ที่อยู่ติดกันประกอบเป็นแถวเดียวกัน สำหรับ OCR ที่เข้าใจโครงสร้างตาราง เรามีปลั๊กอินโหมดตารางเสริมที่ทำงานหลังการตรวจจับ เฉพาะในรุ่น Q8 และ T2 เท่านั้น ซึ่งอนุมานโครงสร้างแถวและคอลัมน์จากกริดเรขาณูปและป้อนผลลัพธ์ที่มีโครงสร้างให้กับเอนจิน OCR โหมดตารางเพิ่ม latency 8 ถึง 14 ms และโค้ด 0.6 MB และเปิดใช้งานได้ตามต้องการ
การจัดการเชิงอรรถเป็นกรณี false-positive ที่พบบ่อย: เชิงอรรถที่ด้านล่างของหน้ามักใช้ตัวอักษรขนาดเล็กกว่าและบางครั้งถูกตรวจจับเป็นบรรทัดข้อความแยกต่างหาก ซึ่งถูกต้อง แต่บางครั้งถูกแบ่งข้ามสองบรรทัดเพราะตัวอักษรมีขนาดเล็กพอที่อัลกอริทึมการจัดกลุ่มบรรทัดจะเห็นช่องว่าง เราปรับช่องว่างการจัดกลุ่มเป็น 6 พิกเซลแทนค่าเริ่มต้น 8 พิกเซลในรุ่น K7, KF1, Q6 และ Y6 เพื่อลดอัตราข้อผิดพลาดของเชิงอรรถที่ถูกแบ่งจาก 4.2% เหลือ 1.6%