วิธีดึงข้อความจากภาพด้วย OCR
OCR (การรู้จำอักขระด้วยแสง) แปลงตัวอักษรในภาพถ่าย ภาพหน้าจอ หรือภาพสแกนให้เป็นข้อความที่คัดลอกและแก้ไขได้ คู่มือนี้อธิบายว่าอะไรส่งผลต่อผลลัพธ์ และทำอย่างไรจึงจะได้ข้อความที่ผิดพลาดน้อยลง
OCR ทำงานอย่างไร
เอนจิน OCR จะแปลงภาพเป็นขาวดำก่อน เพื่อให้ตัวอักษรเด่นออกมาจากพื้นหลัง จากนั้นจะวิเคราะห์เลย์เอาต์เพื่อหาบล็อกข้อความ บรรทัด และคำ สุดท้าย โมเดลการรู้จำจะประเมินว่าแต่ละคำประกอบด้วยอักขระใดบ้าง
เครื่องมือของ LeedyBox ใช้ Tesseract ซึ่งเป็นเอนจิน OCR แบบโอเพนซอร์ส ผ่าน Tesseract.js โมเดลการรู้จำของ Tesseract เป็นโครงข่ายประสาทเทียมที่ฝึกด้วยข้อความตัวพิมพ์ โดยมีข้อมูลแยกสำหรับแต่ละภาษา เอนจินยังรายงานค่าความเชื่อมั่นของแต่ละคำ และเครื่องมือจะแสดงค่าเฉลี่ยของค่าเหล่านั้นสำหรับแต่ละภาพ
การเลือกภาษา
การตั้งค่าภาษาบอกเอนจินว่าควรคาดหวังอักขระและคำแบบใด การอ่านข้อความภาษาเกาหลี ญี่ปุ่น หรือรัสเซียด้วยโมเดลภาษาอังกฤษจะได้ข้อความไร้ความหมายที่ประกอบด้วยตัวอักษรละตินที่หน้าตาคล้ายกัน และสำหรับภาษาที่ใช้ตัวอักษรชุดเดียวกัน โมเดลของภาษาที่ถูกต้องจะจัดการเครื่องหมายกำกับเสียงและคำที่ใช้บ่อยได้ดีกว่า
หากภาพมีสองภาษาปนกัน เช่น เอกสารภาษาเกาหลีที่มีชื่อสินค้าภาษาอังกฤษ ให้เลือกทั้งสองภาษา และเพิ่มภาษาที่สองเฉพาะเมื่อข้อความจำเป็นต้องใช้ เพราะแต่ละภาษาที่เพิ่มขึ้นจะทำให้การรู้จำช้าลง และทำให้เอนจินมีอักขระที่อาจสับสนมากขึ้น
| ภาพ | ภาษา | เลย์เอาต์ของข้อความ |
|---|---|---|
| หน้าเอกสารหรือบทความที่ใช้ภาษาเดียว | ภาษานั้น | อัตโนมัติ |
| เมนู สไลด์ หรือฉลากที่มีข้อความภาษาท้องถิ่นและคำภาษาอังกฤษ | ภาษาท้องถิ่น + ภาษาอังกฤษ | อัตโนมัติ |
| ย่อหน้าที่ครอปมาแล้วได้บรรทัดสลับลำดับ | ภาษานั้น | ข้อความบล็อกเดียว |
| ข้อความบรรทัดเดียว เช่น หัวข้อ หมายเลขซีเรียล หรือป้าย | ภาษานั้น | ข้อความบรรทัดเดียว |
เคล็ดลับด้านคุณภาพภาพ
- ความละเอียด: ข้อความขนาดเล็กในภาพความละเอียดต่ำเป็นสาเหตุของข้อผิดพลาดที่พบบ่อยที่สุด การขยายภาพช่วยได้บ้าง ซึ่งเป็นเหตุผลที่เครื่องมือของ LeedyBox สามารถอ่านภาพขนาดเล็กซ้ำอีกครั้งที่ขนาดสองเท่า แต่การขยายไม่สามารถกู้คืนรายละเอียดที่ไม่มีอยู่ในภาพได้ ตัวอักษรที่ใหญ่มากก็อาจอ่านได้แม่นยำน้อยลงเช่นกัน
- คอนทราสต์: ข้อความสีเข้มบนพื้นหลังสีอ่อนเรียบ ๆ ให้ผลดีที่สุด งานพิมพ์ที่จาง ข้อความสีเทา พื้นหลังสี และเงา ทำให้แยกตัวอักษรได้ยากขึ้น ตัวเลือก "แปลงเป็นโทนสีเทาและเพิ่มคอนทราสต์" ช่วยกับข้อความที่จางได้ แต่ควรเปรียบเทียบผลลัพธ์ เพราะตัวเลือกนี้อาจทำให้ภาพที่สะอาดอยู่แล้วได้ผลแย่ลง
- ข้อความที่ตรง: ข้อความที่เอียง โค้ง หรือบิดเบี้ยวตามมุมมอง เช่น หนังสือที่ถ่ายจากมุมเฉียง ทำให้บรรทัดรวมกันและได้อักขระผิด ให้หมุนภาพหรือถ่ายใหม่หากข้อความเอียงอย่างเห็นได้ชัด
- การครอป: ครอปภาพให้เหลือเฉพาะข้อความที่ต้องการ โลโก้ ภาพถ่าย เส้นขอบ และคอลัมน์ข้างเคียงอาจถูกอ่านผิดเป็นอักขระ และทำให้ลำดับการอ่านสับสน
- การบีบอัด: การบีบอัด JPG อย่างหนักทำให้ตัวอักษรพร่ามัวจากร่องรอยการบีบอัด ควรบันทึกภาพหน้าจอเป็น PNG เมื่อทำได้ ดูJPG, PNG, WebP และ AVIF ต่างกันอย่างไร
ภาพหน้าจอกับภาพถ่าย
ภาพหน้าจอคมชัดและตรง จึงมักให้ผลลัพธ์ที่ดี จุดอ่อนหลักคือขนาด ข้อความในอินเทอร์เฟซมักสูงเพียงไม่กี่พิกเซล ให้ซูมหน้าเว็บหรือแอปก่อนจับภาพหน้าจอ และอย่าย่อภาพหน้าจอภายหลัง คุณวางภาพหน้าจอลงในเครื่องมือได้โดยตรงด้วย Ctrl+V (⌘+V บน Mac)
ภาพถ่ายมีปัญหาเพิ่มเติม ทั้งแสงไม่สม่ำเสมอ แสงสะท้อน ความเบลอ มุมมองที่บิดเบี้ยว และหน้ากระดาษที่โค้ง ให้ถือกล้องขนานกับหน้ากระดาษ ให้ข้อความเต็มเฟรม ใช้แสงที่สม่ำเสมอโดยไม่มีแสงสะท้อนจากแฟลช และแตะเพื่อโฟกัส ระบบจะใช้การวางแนวที่กล้องบันทึกไว้ก่อนอ่าน ภาพที่ถ่ายขณะถือโทรศัพท์ตะแคงจึงถูกอ่านในทิศทางที่ถูกต้อง
สำหรับไฟล์ PDF ให้ใช้เครื่องมือPDF เป็นข้อความแทนการแปลงหน้าเป็นภาพ เครื่องมือนี้อ่านชั้นข้อความที่มีอยู่ และใช้ OCR เฉพาะกับหน้าที่ไม่มีชั้นข้อความ คู่มือดึงข้อความจาก PDF: เลเยอร์ข้อความและ OCRอธิบายเรื่อง PDF ที่สแกน
ลายมือและฟอนต์ตกแต่ง
โมเดลที่ใช้ในที่นี้ฝึกด้วยข้อความตัวพิมพ์ จึงมักรู้จำลายมือได้ไม่ดี ตัวพิมพ์ใหญ่ที่เขียนบรรจงแยกกันทีละตัวมีโอกาสดีที่สุด ส่วนลายมือแบบเขียนติดกันและลายเซ็นแทบไม่ได้ผลลัพธ์ที่ใช้งานได้ ฟอนต์ตกแต่ง ฟอนต์ตัวเขียน หรือฟอนต์ที่บีบแคบมาก ข้อความบนพื้นหลังที่มีลวดลาย และข้อความแนวตั้งก็ทำให้เกิดปัญหาคล้ายกัน
การตรวจสอบและแก้ไขผลลัพธ์
ให้ถือว่าผลลัพธ์ OCR เป็นฉบับร่าง ข้อผิดพลาดที่พบบ่อย ได้แก่ การสับสนระหว่าง 0 กับ O, 1, l กับ I หรือ "rn" กับ "m" เครื่องหมายกำกับเสียงและเครื่องหมายวรรคตอนที่หายไปหรือผิด คำที่รวมกันหรือแยกออกจากกันที่ท้ายบรรทัด และบรรทัดจากคอลัมน์ข้างเคียงที่ปนกัน ตารางและเลย์เอาต์หลายคอลัมน์จะไม่ถูกคงไว้ ผลลัพธ์เป็นข้อความธรรมดา
เปรียบเทียบข้อความกับภาพ โดยให้ความสำคัญเป็นพิเศษกับตัวเลข ชื่อ วันที่ จำนวนเงิน และที่อยู่ ซึ่งอักขระผิดเพียงตัวเดียวก็มีผล ค่าความเชื่อมั่นที่สูงไม่ได้พิสูจน์ว่าข้อความถูกต้อง คุณแก้ไขข้อความในเครื่องมือได้ก่อนคัดลอกหรือดาวน์โหลด
ความเป็นส่วนตัว: อะไรอยู่บนอุปกรณ์ของคุณ
เครื่องมือของ LeedyBox เรียกใช้เอนจิน OCR ในเบราว์เซอร์ของคุณ ภาพของคุณจะถูกอ่านบนอุปกรณ์ของคุณและไม่ถูกอัปโหลดไปยัง LeedyBox เบราว์เซอร์จะดาวน์โหลดไลบรารี Tesseract.js เอนจิน WebAssembly ของไลบรารี และข้อมูลของแต่ละภาษาที่คุณเลือกจาก leedybox.com โดยตรง ซึ่งเป็นการดาวน์โหลดไฟล์ตามปกติที่ไม่มีภาพของคุณรวมอยู่ด้วย Tesseract.js เก็บข้อมูลภาษาไว้ในพื้นที่จัดเก็บของเบราว์เซอร์ (IndexedDB) เพื่อไม่ต้องดาวน์โหลดซ้ำ การล้างข้อมูลเว็บไซต์ในเบราว์เซอร์จะลบข้อมูลนี้ออก
คำถามที่พบบ่อย
ทำไมภาพแรกจึงช้า
เมื่อใช้ภาษาใดเป็นครั้งแรก ระบบจะดาวน์โหลดเอนจิน OCR และข้อมูลภาษา (หลายเมกะไบต์) ภาพต่อ ๆ ไปจะใช้ข้อมูลเหล่านั้นซ้ำ และข้อมูลภาษาจะถูกเก็บไว้ในพื้นที่จัดเก็บของเบราว์เซอร์สำหรับการเข้าใช้งานครั้งต่อไป
OCR คงเลย์เอาต์ของเอกสารไว้ได้หรือไม่
เครื่องมือนี้ดึงข้อความธรรมดาพร้อมการขึ้นบรรทัดใหม่ คอลัมน์ ตาราง ฟอนต์ และการจัดรูปแบบต้องสร้างใหม่ด้วยตนเองในโปรแกรมแก้ไขของคุณ
ทำไมเครื่องมือจึงไม่พบข้อความเลย
ส่วนใหญ่เป็นเพราะข้อความเล็กหรือจางเกินไป หรือเลือกภาษาผิด ให้ครอปภาพให้เหลือเฉพาะข้อความ ตรวจสอบภาษา หรือลองเปลี่ยนการตั้งค่าเลย์เอาต์ของข้อความ