
ซึ่งในแต่ละขั้นตอนประกอบด้วยรายละเอียดดังต่อไปนี้
-
- 1. ขบวนการประมวลผลขั้นต้น (Pre-Processing)
-
- 1.1 การกรองข้อมูลแทรกซ้อน (Noise Filtering)
- 1.2 การปรับแต่งข้อมูล (Normalization)
- 1.3 การตัดแบ่งพื้นที่ใช้งาน (Cropping)
- 1.4 การสกัดลักษณะสำคัญ (Feature Extraction)
- 2. การรู้จำ (Recognition)
-
- 2.1 วิธีทางการเข้าคู่รูปแบบ (Template Matching)
- 2.2 วิธีทางสถิติ (Statistical Approach)
- 2.3 วิธีการวิเคราะห์ทางโครงสร้าง (Structural Analysis)
- 2.4 วิธีทางโครงข่ายประสาทเทียม (Neural Network)
- 3. ขบวนการประมวลผลขั้นปลาย (Post-Processing)
1.ขบวนการประมวลผลขั้นต้น (Pre-Processing)
ในการทำงานของโปรแกรมโอซีอาร์นั้น
ก่อนที่โปรแกรมจะสามารถบอกได้ว่ารูปภาพที่ส่งเข้าไปประกอบด้วยตัวอักษรอะไร
บ้าง จำเป็นจะต้องผ่านขั้นตอนที่สำคัญหลายขั้น
ขั้นตอนดังกล่าวนี้มักถูกเรียกรวมกันว่า กระบวนการประมวลผลขั้นต้น
(Pre-Processing)
ซึ่งเป็นขั้นตอนในการปรับแต่งและจัดเตรียมข้อมูลให้เหมาะสมกับขั้นตอนการรู้
จำต่อไป ขั้นตอนเหล่านี้มีความสำคัญต่อประสิทธิภาพโดยรวมของระบบ
เพราะหากมีความผิดพลาดเกิดขึ้นในส่วนนี้
ก็จะส่งผลกระทบไปยังส่วนถัดไปของระบบด้วยขั้นตอนการประมวลผลเบื้องต้นในโปรแกรมโอซีอาร์ที่สำคัญ ได้แก่
1.1 การกรองข้อมูลแทรกซ้อน (Noise Filtering)
การกรองข้อมูลแทรกซ้อนมีจุดประสงค์เพื่อลดทอนส่วนของรูปภาพที่เป็น สิ่งแปลกปลอมอันไม่พึงประสงค์ออกไป โดยข้อมูลแทรกซ้อนที่เกิดขึ้นส่วนใหญ่มักจะมาจากคุณภาพของเอกสารต้นฉบับที่ นำมาทำการอ่าน ซึ่งเป็นต้นเหตุสำคัญที่ทำให้ความถูกต้องของโปรแกรมลดลง จึงจำเป็นที่จะต้องจัดการกับส่วนเกินเหล่านี้ออกไปให้ได้มากที่สุดเท่าที่จะ เป็นไปได้ แต่เรายังไม่มีวิธีการใดที่รับรองได้ว่าสามารถจัดการกับข้อมูลแทรกซ้อนได้ โดยสมบูรณ์ ดังนั้นส่วนการรู้จำของโอซีอาร์ก็จะต้องมีความทนทานต่อการแทรกซ้อนเหล่านี้ ได้พอสมควร
1.2 การปรับแต่งข้อมูล (Normalization)
การปรับแต่งข้อมูลเป็นการปรับภาพตัวอักษรให้อยู่ในรูปแบบที่ระบบ ต้องการเพื่อนำไปใช้ในขั้นต่อไป ตัวอย่างการปรับแต่งข้อมูลในโปรแกรมโอซีอาร์ทั่วๆ ไป อาทิเช่น การปรับขนาดรูปตัวอักษร, การปรับตัวอักษรที่เอียงให้ตรง, การแปลงรูปสีหรือเกรย์สเกลให้เป็นขาวดำ หรือในทางกลับกัน การแปลงรูปขาวดำให้เป็นสีหรือเกรย์สเกล เป็นต้น
1.3 การตัดแบ่งพื้นที่ใช้งาน (Cropping)
การตัดแบ่งพื้นที่เป็นการตัดแยกเอาเฉพาะรูปตัวอักษรออกมาจากภาพ เพื่อส่งให้ขั้นตอนการรู้จำในการระบุว่ารูปตัวอักษรนั้นเป็นรหัสอักษรอะไร หลักการพอสังเขปที่ใช้สำหรับการตัดรูปตัวอักษรโดยทั่วไปจะใช้พื้นที่สีขาว (สีพื้น) รอบรูปเป็นตัวกำหนดขอบเขตในการตัด ในขั้นตอนนี้มักจะประสบปัญหาที่ส่งผลกระทบต่ออัตราความถูกต้องของระบบโดยรวม อยู่สองปัญหา ปัญหาแรกคือปัญหาตัวติด เกิดจากรูปของตัวอักษรตั้งแต่สองตัวขึ้นไปมีส่วนที่เชื่อมติดกัน ทำให้ไม่สามารถแยกตัวอักษรออกจากกันโดยใช้พื้นที่สีขาวรอบๆ ได้ จำเป็นต้องหาอัลกอริธึมพิเศษมาช่วยในการแยกตัวอักษรออกจากกัน ส่วนปัญหาที่สองในทางตรงกันข้าม เป็นปัญหาตัวขาดที่รูปตัวอักษรหนึ่งๆ ถูกแยกออกเป็นส่วนๆ ทำให้เวลาตัดตัวอักษรจากตัวเดียวจะได้เป็นสองตัว ซึ่งก็ต้องหาวิธีการเฉพาะสำหรับมาจัดการอีกเช่นกัน
1.4 การสกัดลักษณะสำคัญ (Feature Extraction)
การสกัดลักษณะสำคัญเป็นอีกขบวนการหนึ่งที่สำคัญมาก ตำราส่วนใหญ่จะแยกส่วนนี้ออกจากการประมวลผลเบื้องต้น คือจะอยู่ระหว่างขั้นตอนการประมวลผลเบื้องต้นกับขั้นตอนการรู้จำ แต่ในที่นี้ขอรวมไว้ในตอนเดียวกัน การสกัดลักษณะสำคัญเป็นการดึงเอาโครงสร้างพื้นฐานที่สำคัญของตัวอักษรนั้น ออกมา โดยโครงสร้างพื้นฐานที่ว่าจะต้องมีการกำหนดไว้ก่อนว่าจะมีอะไรบ้าง มีการนิยามอย่างไร ตัวอย่างเช่น สำหรับภาษาไทยเราอาจกำหนดว่าตัวอักษรภาษาไทยทั้งหมดประกอบด้วยโครงสร้างพื้น ฐานคือ เส้นตรง (แนวตั้ง/นอน) เส้นเอียง หัว (วงกลม) ส่วนโค้ง ส่วนเว้า จุดแตกกิ่ง จุดตัด เป็นต้น เมื่อเราสามารถแยกเอาองค์ประกอบของตัวอักษรแต่ละตัวออกมาได้แล้ว จากนั้นเราก็นำเสนอรูปภาพของตัวอักษรนั้นในรูปแบบของรายการขององค์ประกอบ พื้นฐานต่างๆ แทน ซึ่งจะถูกส่งต่อเป็นอินพุตสำหรับขั้นตอนการรู้จำต่อไป
2.การรู้จำ (Recognition)
ขั้นตอนนี้ถือเป็นหัวใจของระบบ
เพราะเป็นส่วนที่จะตัดสินว่ารูปตัวอักษรที่ส่งเข้าไปเป็นรหัสตัวอักษรอะไร
เช่นเดียวกับส่วนอื่นๆ
ที่มีวิธีการหลากหลายซึ่งนำมาใช้เพื่อให้ได้ผลการทำงานที่ดีที่สุด
เทคนิคใหม่ๆ
ได้ถูกพัฒนาขึ้นมาอย่างต่อเนื่องเพื่อรองรับกับปัญหาที่เกิดจากเอกสารที่มี
ความสลับซับซ้อนมากขึ้น
อย่างไรก็ตามเราพอที่จะจัดแบ่งเทคนิคเหล่านี้ออกเป็นกลุ่มตามแนวทางหลักที่
ใช้ในการแก้ปัญหา
ถึงแม้บ่อยครั้งที่พบว่ามีความคาบเกี่ยวกันของเทคนิคที่นำมาใช้ระหว่างกลุ่ม
ที่ว่านี้ ทั้งนี้เพราะแต่ละแนวทางก็มีข้อดีข้อเสียที่แตกต่างกัน
จึงมีความพยายามที่จะรวมเอาเทคนิคเหล่านี้มาใช้ร่วมกันเพื่อเพิ่มความสามารถ
ของระบบเท่าที่จะเป็นไปได้ ดังนั้นการแบ่งกลุ่มในที่นี้
เป็นการแบ่งที่เน้นความชัดเจนในแง่ของขอบเขตทางทฤษฎีเป็นหลัก
โดยแนวทางการรู้จำสามารถแบ่งออกได้เป็น 4 กลุ่ม ดังนี้2.1 วิธีทางการเข้าคู่รูปแบบ (Template Matching)
วิธีการเข้าคู่รูปแบบเป็นวิธีการแรกๆ ที่มาใช้ในการรู้จำตัวอักษร หลักการโดยทั่วไปคือ จะต้องมีรูปแบบ (template) ที่สร้างขึ้นมาสำหรับอ่านตัวอักษร โดยมีการกำหนดตำแหน่งสำคัญที่สามารถใช้แยกแยะความแตกต่างระหว่างตัวอักษรแต่ ละตัว เวลาทำงานก็ให้นำรูปภาพที่ต้องการอ่านไปทาบบนแบบเพื่อวัดความคล้ายคลึงกัน ของภาพกับตัวแบบ จากนั้นก็ระบุว่าเป็นรหัสตัวอักษรอะไร โดยใช้ค่าผ่านระดับหรือวิธีการบางอย่างในการตัดสิน วิธีการนี้จะค่อนข้างอ่อนไหวต่อข้อมูลแทรกซ้อน ขนาด และการเอียงของตัวอักษร จึงจำเป็นต้องมีขั้นตอนการปรับแต่งข้อมูลที่ดี นอกจากนั้นขั้นตอนการเปรียบเทียบก็ไม่ใช่ว่าสามารถเทียบกันแบบจุดต่อจุดได้ เพราะในทางปฏิบัติตัวอักษรที่ส่งเข้าสามารถมีความแปรปรวนได้หลายรูปแบบ ดังนั้นวิธีการเทียบก็ต้องมีประสิทธิภาพเพียงพอที่จะรองรับกับปัญหาดังกล่าว ได้
2.2 วิธีทางสถิติ (Statistical Approach)
วิธีทางสถิติเป็นวิธีการที่ใช้หลักการทางสถิติ โดยนำค่าความน่าจะเป็นและ/หรือฟังก์ชันการแจกแจงความน่าจะเป็นมาใช้ในการ ตัดสินใจ รูปภาพอินพุตที่ได้มาจากขั้นตอนการสกัดลักษณะสำคัญ จะถูกส่งเข้าไปในส่วนการรู้จำเฉพาะของแต่ละตัวอักษร ซึ่งได้ผลลัพธ์ออกมาเป็นค่าความน่าจะเป็นที่อินพุตเป็นตัวอักษรใด เมื่ออินพุตได้ผ่านส่วนการรู้จำครบทุกตัวแล้ว ก็นำเอาผลลัพธ์ที่ได้ทั้งหมดมาเปรียบเทียบกันว่าได้ค่าความน่าจะเป็นของตัว อักษรใดมากที่สุด ผลลัพธ์จะออกเป็นตัวอักษรนั้น
2.3 วิธีการวิเคราะห์ทางโครงสร้าง (Structural Analysis)
วิธีการวิเคราะห์ทางโครงสร้างคือการวิเคราะห์โครงสร้างตัวอักษร โดยถือว่าตัวอักษรทุกตัวประกอบด้วยองค์ประกอบพื้นฐาน ซึ่งได้มาจากการสกัดลักษณะสำคัญ เช่นเดียวกันกับวิธีการทางสถิติ ต่างกันตรงที่ลักษณะสำคัญ ที่ส่งมาให้กับขั้นตอนการรู้จำแบบการวิเคราะห์ทางโครงสร้างนี้ มักจะใช้เป็นชื่อหรือค่าที่บอกว่าลักษณะโครงสร้างสำคัญนั้นเป็นอะไร เช่น เส้นตรง วงกลม เป็นต้น แทนที่จะเป็นค่าจำนวนจริง ในขั้นตอนการรู้จำลักษณะสำคัญทั้งหลายที่ประกอบเป็นตัวอักษรนั้น จะถูกส่งเข้าไปให้กับส่วนที่ตรวจวิเคราะห์กฎการเขียนตัวอักษร เช่น ฟอร์มอลแกรมมาแมชชีน (formal grammar machine) โครงสร้างกราฟ หรือโครงสร้างต้นไม้เป็นต้น เพื่อระบุว่าเป็นตัวอะไร ซึ่งจะตัดสินโดยการดูที่รูปแบบการเชื่อมต่อขององค์ประกอบต่างๆ เข้าเป็นตัวอักษรนั้น วิธีการนี้มีข้อดีตรงที่มีความยืดหยุ่นต่อความหลากหลายของตัวอักษรค่อนข้าง มาก อย่างไรก็ตามอัตราความถูกต้องของวิธีนี้ขึ้นอยู่กับการสร้างกฎและการ วิเคราะห์กฎที่มีประสิทธิภาพ ซึ่งเป็นส่วนที่สำคัญที่สุดของวิธีการนี้
2.4 วิธีทางโครงข่ายประสาทเทียม (Neural Network)
วิธีทางโครงข่ายประสาทเทียมเป็นแนวทางใหม่ที่ได้รับความนิยมอย่าง มากในช่วงหลัง เนื่องจากประสิทธิภาพในด้านการรู้จำแบบ ซึ่งถูกนำไปใช้ในงานหลายๆ ด้าน รวมทั้งโอซีอาร์ด้วย โครงข่ายประสาทเทียมเป็นเทคนิคที่พยายามเรียนแบบการทำงานของสมองมนุษย์ ที่มีโครงข่ายเชื่อมต่อกันของหน่วยความจำย่อยๆ จำนวนมากที่สะสมความรู้เอาไว้ ความรู้เหล่านี้จะได้จากการฝึกสอนไว้ก่อน เช่นการสอนให้รู้จักตัวอักษร “ก” ถึง “ฮ” โดยการส่งภาพตัวอักษรเหล่านี้เข้าไป พร้อมกับบอกว่ามีค่าเป็นรหัสตัวอักษรอะไร โครงข่ายประสาทเทียมจะเรียนรู้ถึงรูปแบบตัวอักษรที่หลากหลายของตัวอักษรตัว นั้น เพื่อว่าเวลาทำงานจริงจะได้มีความสามารถพอที่จะรับมือกับภาพตัวอักษรในหลายๆ รูปแบบ สิ่งที่สอนให้กับโครงข่ายประสาทเทียมไม่จำเป็นต้องเป็นรูปของตัวอักษรอย่าง ที่เราเห็นกันก็ได้ อินพุตที่ส่งให้มักจะผ่านขั้นตอนการสกัดลักษณะสำคัญ และกระบวนการประมวลผลเบื้องต้นอื่นๆ ก่อนเสมอ
![]() |
แสดงโครงสร้างของ Neural Network
|
3.ขบวนการประมวลผลขั้นปลาย (Post-Processing)
หลังจากที่ผ่านขั้นตอนการรู้จำแล้ว
รูปตัวอักษรที่ถูกส่งเข้าไปจะได้ผลลัพธ์ออกมาเป็นรหัสตัวอักษร
ซึ่งก็ไม่ได้หมายความว่าเอาท์พุตที่ได้มาจะถูกต้องทั้งหมด
ไม่มีผลิตภัณฑ์โอซีอาร์ตัวใด ไม่ว่าจะเป็นภาษาใดก็ตามที่รับรองความถูกต้อง
100 %
ดังนั้นเพื่อเพิ่มความถูกต้องให้แก่โปรแกรมจึงได้มีการเสริมส่วนการตรวจสอบ
และแก้ไขข้อความเข้ามา
โปรแกรมส่วนนี้มักจะทำงานเกี่ยวกับการตรวจสอบความถูกต้องของการสะกดคำและ
ไวยากรณ์ภาษา โดยมักจะใช้พจนานุกรมมาช่วยในการตรวจสอบคำผิด
ซึ่งอาจแก้ไขให้โดยอัตโนมัติหรือแสดงเครื่องหมายบางอย่างเพื่อบอกให้ผู้ใช้
ทราบว่าคำดังกล่าวอาจไม่ถูกต้อง
ซึ่งผู้ใช้อาจแก้หรือไม่แก้ก็ขึ้นกับการตัดสินใจของผู้ใช้เอง
นอกเหนือไปจากการตรวจสอบความถูกต้องระดับคำแล้ว
บางโปรแกรมยังมีความสามารถตรวจสอบไวยากรณ์ในระดับประโยคได้ด้วยส่วนขบวนการประมวลผลขั้นปลายในโปรแกรมโอซีอาร์เป็นส่วนที่มีความสำคัญมาก ลำพังแต่ความสามารถของส่วนการรู้จำนั้นไม่สามารถไปถึงระดับที่ผู้ใช้ยอมรับ ได้ (ซึ่งที่ต้องการจริงๆ คือ 100%) ดังนั้นส่วนนี้สามารถเพิ่มอัตราความถูกต้องให้แก่โปรแกรมได้ โดยเฉพาะในส่วนที่นอกเหนือจากความสามารถของส่วนการรู้จำ เช่น ตัวอักษรที่เปรอะเปื้อนมากๆ หรือตัวอักษรที่ติดหรือขาด เป็นต้น

ไม่มีความคิดเห็น:
แสดงความคิดเห็น