AI การรู้จำลายมือภาษาเกาหลี
มหาวิทยาลัยคอนกุก อาวุโส การเขียนโปรแกรมมัลติมีเดีย - โครงการระยะยาว (โครงการส่วนบุคคล)
1. บทนำ
“สามารถเรียนรู้ลายมือภาษาเกาหลีของแต่ละคนผ่านโครงข่ายประสาทเทียมได้หรือไม่”
ถึงแม้จะเขียนตัวอักษรเหมือนกัน แต่สไตล์การเขียนของแต่ละคนก็ดูแตกต่างกันออกไป ลักษณะการเขียนด้วยลายมือของผู้ที่ถูกบังคับเขียนหรือเขียนขณะเรอจะทิ้งร่องรอยที่แตกต่างไปจากปกติทำให้มีความน่าเชื่อถือสูงเป็นหลักฐาน ความเป็นเอกลักษณ์นี้คือสิ่งที่ทำให้ลายเซ็นมีเอกลักษณ์เฉพาะตัว ในเอกสารสำคัญและการสอบ การตรวจสอบลายมือว่าถูกต้องเป็นสิ่งสำคัญมาก
เนื่องจากใช้เพื่อพิสูจน์ตัวตน ลายมือจึงมีเอกลักษณ์เฉพาะตัว แต่ถ้ามีสองลายมือที่แตกต่างกันโดยมีความแตกต่างเพียงเล็กน้อย มนุษย์จะแยกแยะความแตกต่างด้วยตาเปล่าได้ยาก ดังนั้นฉันจึงต้องการใช้โมเดลปัญญาประดิษฐ์เพื่อการรู้จำลายมือภาษาเกาหลี
(1-1) ป้อนข้อมูล
- ภาพด้านบนนี้เขียนโดยบุคคลอื่น (จะเห็นว่ามันคือตัวอักษรเดียวกันแต่ต่างกันเล็กน้อย)
(1-2) เป้าหมาย
- 10 คน (สมาชิกในครอบครัว 3 คน เพื่อนสนิท 7 คน)
- BSN(โซนา บัง), CHW(โฮวอน ชอย), KBJ(คิมบอมจุน), KJH(จุนฮยอง ควอน), LJH(จงโฮ ลี), LSE(ลีซึงยอน), PJH(จงฮยอค ปาร์ค), PSM(ซังมุน ปาร์ค), SHB( ซอก ฮยอนบิน), SWS (วูซอบ ชิน)
(1-3) สาขาการสมัครที่คาดหวัง
- การตรวจสอบลายมือของการสอบระดับชาติและเอกสารสำคัญ
- OCR (การรู้จำอักขระด้วยแสง)
2. การสร้างฐานข้อมูล
2-1. ข้อมูลตัวอักษรเดียว
(1) อ่านแล้ว
- เทมเพลตที่ใช้มาจาก "Ongle-leap" ซึ่งเป็นบริษัทออกแบบฟอนต์
- รวมทุกการรวมกันของตัวอักษรเกาหลี
(2) หน้ากากที่ไม่มีความคมชัด
- ใช้หน้ากากที่ไม่แหลมเพื่อลับลายมือให้คมขึ้น
(3) การแปลงระดับสีเทา
(4) ตรวจสอบฮิสโตแกรม & ใช้เกณฑ์ที่ 1
- เกณฑ์กำหนดผ่านฮิสโตแกรม และรูปภาพจะถูกไบนาไรซ์ตามเกณฑ์
- (ในตัวอย่างนี้ เกณฑ์ถูกตั้งค่าเป็น 150 จาก 0 ถึง 255)
(5) ใช้ LPF
- เพื่อแยกตำแหน่งของลายมือออก จำเป็นต้องทำให้ลายมือเรียบผ่าน LPF เพื่อให้เส้นขอบปรากฏ
- ตั้งค่าขนาดเคอร์เนลอย่างเหมาะสมและใช้ LPF กับอิมเมจแบบไบนารีผ่าน cv2.filter2D
- ยิ่งขนาดเคอร์เนลเล็กลง ก็ยิ่งตรวจจับหน่วยเล็ก ๆ เช่น สระและพยัญชนะได้ง่ายขึ้น และยิ่งขนาดเคอร์เนลใหญ่ขึ้น ก็ยิ่งตรวจจับรูปร่างของตัวอักษรได้ง่ายขึ้น
- (ตัวอย่างใช้เคอร์เนล 21x21)
(6) ตรวจสอบฮิสโตแกรม & ใช้เกณฑ์ที่ 2
- ตั้งค่าเกณฑ์ผ่านฮิสโตแกรมของภาพที่ปรับให้เรียบด้วย LPF จากนั้นไบนาไรเซชันจะดำเนินการอีกครั้งตามเกณฑ์
- (ค่าขีดจำกัดตัวอย่าง : 230)
(7) แยกรูปร่างและพิกัด การครอบตัดรูปภาพ
- ไม่ได้ดึงโครงร่างเล็กๆ ที่ไม่ใช่ตัวอักษรออกมา
- พิกัด x,y และค่า w,h ถูกแยกออกจากเส้นขอบที่แยกออกมา และพิกัดถูกคำนวณอีกครั้งด้วยสี่เหลี่ยมจัตุรัส เพื่อไม่ให้ลักษณะการเขียนด้วยลายมือหายไปมากที่สุดเท่าที่จะเป็นไปได้ เนื่องจากต้องปรับขนาดเป็นขนาด 64x64 ในภายหลัง
- จากพิกัดที่คำนวณได้ รูปภาพจะถูกครอบตัดเป็นรูปทรงสี่เหลี่ยม
(8) อิมไรท์
- ข้อมูลตัวอักษรเดียว 81 รายการต่อคน
- รวมทั้งหมด : รวบรวมข้อมูลหนึ่งตัวอักษร 810 รายการ
2-2. ข้อมูลตัวอักษรสองตัว
- ข้อมูลตัวอักษรสองตัวถูกสร้างขึ้นโดยการรวมข้อมูลตัวอักษรตัวเดียวที่แตกต่างกัน โดยแต่ละข้อมูลปรับขนาดอย่างเหมาะสม
- เพื่อลดการสูญเสียข้อมูลคุณสมบัติในระหว่างการปรับขนาด ฟังก์ชัน img_concat(img1, img2) จึงถูกสร้างขึ้นและใช้เพื่อเชื่อมต่อรูปภาพ และจัดรูปแบบเป็นสี่เหลี่ยมจัตุรัส
- ได้รับข้อมูลสองตัวอักษร 6,480 ต่อเป้าหมาย (81P2)
2-3. ข้อมูลสามตัวอักษร
- ข้อมูลสามตัวอักษรถูกสร้างขึ้นโดยการรวมข้อมูลหนึ่งตัวอักษรและข้อมูลสองตัวอักษรเข้าด้วยกัน โดยแต่ละส่วนจะปรับขนาดอย่างเหมาะสม
- ได้รับข้อมูลสามตัวอักษร 7,980 ต่อเป้าหมาย
2-4. ข้อมูลลายมือจริงจากการจดบันทึก
- ข้อมูลได้มาจากการจดบันทึกจริงของเป้าหมาย
- ได้รับข้อมูลที่เขียนด้วยลายมือจริง 30 รายการต่อเป้าหมาย
3. ผลลัพธ์ที่ 1
ข้อมูลรถไฟ : ข้อมูลทดสอบ = 9 : 1
ข้อมูลที่ใช้ = ตัวอักษรหนึ่งตัว (81) + ตัวอักษรสองตัว (500) + ตัวอักษรสามตัว (500) + ลายมือจริงทั้งหมด (30)
n.ยุค = 20 ขนาดแบทช์ = 50 อัตราการเรียนรู้ = 0.01
กำหนดค่าเลเยอร์
- ผลลัพธ์
- ขาดทุน=0.7819 ความแม่นยำ=0.72
- ผลลัพธ์สำหรับข้อมูลทดสอบ=0.6503
4. ผลลัพธ์ที่ 2
ข้อมูลรถไฟ : ข้อมูลทดสอบ = 9 : 1
ข้อมูลที่ใช้ = ตัวอักษรหนึ่งตัว (81) + ตัวอักษรสองตัว (1,000) + ตัวอักษรสามตัว (1300) + ลายมือจริงทั้งหมด (30)
n.ยุค = 20 ขนาดแบทช์ = 150 อัตราการเรียนรู้ = 0.04
กำหนดค่าเลเยอร์
- ผลลัพธ์
- ขาดทุน=0.0397 ความแม่นยำ=0.9908
- ผลลัพธ์สำหรับข้อมูลทดสอบ=0.9360
5. การวิเคราะห์ผลลัพธ์
เมื่อเทียบกับผลลัพธ์แรก ผลลัพธ์ที่สองได้รับการปรับปรุงอย่างมีนัยสำคัญทั้งหมด ฉันคิดว่าสาเหตุที่ผลลัพธ์ดีขึ้นมีดังนี้
(5-1) การเพิ่มข้อมูลที่ใช้ในการเรียนรู้
- ในความพยายามครั้งแรก มีการใช้ข้อมูล 1,111 รายการต่อเป้าหมาย และในความพยายามครั้งที่สอง มีการใช้ข้อมูล 2,411 รายการ ซึ่งมากกว่าสองเท่า
- เนื่องจากการเรียนรู้และการประเมินผลดำเนินการผ่านข้อมูลมากขึ้น จึงสามารถบันทึกลักษณะลายมือของเป้าหมายที่ละเอียดอ่อนมากขึ้นได้
(5-2) การเปลี่ยนแปลงในชั้นโครงข่ายประสาทเทียม
- ในความพยายามครั้งที่สอง ขนาดของมาสก์การบิดและขนาดของการรวมกลุ่มได้รับการแก้ไข
- ขนาดของหน้ากาก Convolution ลดลงเหลือขนาดที่เล็กกว่าเดิมเพื่อให้จับลักษณะการเขียนด้วยลายมือที่ละเอียดมาก
- ลดการสูญเสียลักษณะการเขียนด้วยลายมือในกระบวนการเรียนรู้โดยการลดขนาดการรวมกลุ่ม
- นอกจากนี้ เพื่อให้มีข้อมูลเพิ่มเติมเกี่ยวกับการเขียนด้วยลายมือเป็นพารามิเตอร์ จำนวนโหนดที่เชื่อมต่ออย่างสมบูรณ์จึงเพิ่มขึ้นจาก 128 เป็น 256
(5-3) การเพิ่มขนาดชุดและอัตราการเรียนรู้