AI การรู้จำลายมือภาษาเกาหลี
มหาวิทยาลัยคอนกุก อาวุโส การเขียนโปรแกรมมัลติมีเดีย - โครงการระยะยาว (โครงการส่วนบุคคล)
1. บทนำ
“สามารถเรียนรู้ลายมือภาษาเกาหลีของแต่ละคนผ่านโครงข่ายประสาทเทียมได้หรือไม่”
ถึงแม้จะเขียนตัวอักษรเหมือนกัน แต่สไตล์การเขียนของแต่ละคนก็ดูแตกต่างกันออกไป ลักษณะการเขียนด้วยลายมือของผู้ที่ถูกบังคับเขียนหรือเขียนขณะเรอจะทิ้งร่องรอยที่แตกต่างไปจากปกติทำให้มีความน่าเชื่อถือสูงเป็นหลักฐาน ความเป็นเอกลักษณ์นี้คือสิ่งที่ทำให้ลายเซ็นมีเอกลักษณ์เฉพาะตัว ในเอกสารสำคัญและการสอบ การตรวจสอบลายมือว่าถูกต้องเป็นสิ่งสำคัญมาก
เนื่องจากใช้เพื่อพิสูจน์ตัวตน ลายมือจึงมีเอกลักษณ์เฉพาะตัว แต่ถ้ามีสองลายมือที่แตกต่างกันโดยมีความแตกต่างเพียงเล็กน้อย มนุษย์จะแยกแยะความแตกต่างด้วยตาเปล่าได้ยาก ดังนั้นฉันจึงต้องการใช้โมเดลปัญญาประดิษฐ์เพื่อการรู้จำลายมือภาษาเกาหลี
(1-1) ป้อนข้อมูล
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f269c6930.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f2714c831.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f27237932.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f27289833.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f272f7934.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f2734bb35.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f27393336.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f273de437.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f27437238.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f27482d39.png)
- ภาพด้านบนนี้เขียนโดยบุคคลอื่น (จะเห็นว่ามันคือตัวอักษรเดียวกันแต่ต่างกันเล็กน้อย)
(1-2) เป้าหมาย
- 10 คน (สมาชิกในครอบครัว 3 คน เพื่อนสนิท 7 คน)
- BSN(โซนา บัง), CHW(โฮวอน ชอย), KBJ(คิมบอมจุน), KJH(จุนฮยอง ควอน), LJH(จงโฮ ลี), LSE(ลีซึงยอน), PJH(จงฮยอค ปาร์ค), PSM(ซังมุน ปาร์ค), SHB( ซอก ฮยอนบิน), SWS (วูซอบ ชิน)
(1-3) สาขาการสมัครที่คาดหวัง
- การตรวจสอบลายมือของการสอบระดับชาติและเอกสารสำคัญ
- OCR (การรู้จำอักขระด้วยแสง)
2. การสร้างฐานข้อมูล
2-1. ข้อมูลตัวอักษรเดียว
![การสูญเสียทั้งหมด total loss](https://images.downcodes.com/uploads/20250107/img_677cd0f274c41310.png)
(1) อ่านแล้ว
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f275f14311.png)
- เทมเพลตที่ใช้มาจาก "Ongle-leap" ซึ่งเป็นบริษัทออกแบบฟอนต์
- รวมทุกการรวมกันของตัวอักษรเกาหลี
(2) หน้ากากที่ไม่มีความคมชัด
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f2785ec312.png)
- ใช้หน้ากากที่ไม่แหลมเพื่อลับลายมือให้คมขึ้น
(3) การแปลงระดับสีเทา
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f27c93b313.png)
(4) ตรวจสอบฮิสโตแกรม & ใช้เกณฑ์ที่ 1
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f282b0b314.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f283e48315.png)
- เกณฑ์กำหนดผ่านฮิสโตแกรม และรูปภาพจะถูกไบนาไรซ์ตามเกณฑ์
- (ในตัวอย่างนี้ เกณฑ์ถูกตั้งค่าเป็น 150 จาก 0 ถึง 255)
(5) ใช้ LPF
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f285e73316.png)
- เพื่อแยกตำแหน่งของลายมือออก จำเป็นต้องทำให้ลายมือเรียบผ่าน LPF เพื่อให้เส้นขอบปรากฏ
- ตั้งค่าขนาดเคอร์เนลอย่างเหมาะสมและใช้ LPF กับอิมเมจแบบไบนารีผ่าน cv2.filter2D
- ยิ่งขนาดเคอร์เนลเล็กลง ก็ยิ่งตรวจจับหน่วยเล็ก ๆ เช่น สระและพยัญชนะได้ง่ายขึ้น และยิ่งขนาดเคอร์เนลใหญ่ขึ้น ก็ยิ่งตรวจจับรูปร่างของตัวอักษรได้ง่ายขึ้น
- (ตัวอย่างใช้เคอร์เนล 21x21)
(6) ตรวจสอบฮิสโตแกรม & ใช้เกณฑ์ที่ 2
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f2875be317.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f287c08318.png)
- ตั้งค่าเกณฑ์ผ่านฮิสโตแกรมของภาพที่ปรับให้เรียบด้วย LPF จากนั้นไบนาไรเซชันจะดำเนินการอีกครั้งตามเกณฑ์
- (ค่าขีดจำกัดตัวอย่าง : 230)
(7) แยกรูปร่างและพิกัด การครอบตัดรูปภาพ
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f288c25319.png)
- ไม่ได้ดึงโครงร่างเล็กๆ ที่ไม่ใช่ตัวอักษรออกมา
- พิกัด x,y และค่า w,h ถูกแยกออกจากเส้นขอบที่แยกออกมา และพิกัดถูกคำนวณอีกครั้งด้วยสี่เหลี่ยมจัตุรัส เพื่อไม่ให้ลักษณะการเขียนด้วยลายมือหายไปมากที่สุดเท่าที่จะเป็นไปได้ เนื่องจากต้องปรับขนาดเป็นขนาด 64x64 ในภายหลัง
- จากพิกัดที่คำนวณได้ รูปภาพจะถูกครอบตัดเป็นรูปทรงสี่เหลี่ยม
(8) อิมไรท์
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f28e339320.png)
- ข้อมูลตัวอักษรเดียว 81 รายการต่อคน
- รวมทั้งหมด : รวบรวมข้อมูลหนึ่งตัวอักษร 810 รายการ
2-2. ข้อมูลตัวอักษรสองตัว
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f290b2a321.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f2933bc322.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f29531d323.png)
- ข้อมูลตัวอักษรสองตัวถูกสร้างขึ้นโดยการรวมข้อมูลตัวอักษรตัวเดียวที่แตกต่างกัน โดยแต่ละข้อมูลปรับขนาดอย่างเหมาะสม
- เพื่อลดการสูญเสียข้อมูลคุณสมบัติในระหว่างการปรับขนาด ฟังก์ชัน img_concat(img1, img2) จึงถูกสร้างขึ้นและใช้เพื่อเชื่อมต่อรูปภาพ และจัดรูปแบบเป็นสี่เหลี่ยมจัตุรัส
- ได้รับข้อมูลสองตัวอักษร 6,480 ต่อเป้าหมาย (81P2)
2-3. ข้อมูลสามตัวอักษร
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f296a19324.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f297714325.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f29816b326.png)
- ข้อมูลสามตัวอักษรถูกสร้างขึ้นโดยการรวมข้อมูลหนึ่งตัวอักษรและข้อมูลสองตัวอักษรเข้าด้วยกัน โดยแต่ละส่วนจะปรับขนาดอย่างเหมาะสม
- ได้รับข้อมูลสามตัวอักษร 7,980 ต่อเป้าหมาย
2-4. ข้อมูลลายมือจริงจากการจดบันทึก
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f29858a327.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f2989b0328.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f298d17329.png)
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f29910a330.png)
- ข้อมูลได้มาจากการจดบันทึกจริงของเป้าหมาย
- ได้รับข้อมูลที่เขียนด้วยลายมือจริง 30 รายการต่อเป้าหมาย
3. ผลลัพธ์ที่ 1
ข้อมูลรถไฟ : ข้อมูลทดสอบ = 9 : 1
ข้อมูลที่ใช้ = ตัวอักษรหนึ่งตัว (81) + ตัวอักษรสองตัว (500) + ตัวอักษรสามตัว (500) + ลายมือจริงทั้งหมด (30)
n.ยุค = 20 ขนาดแบทช์ = 50 อัตราการเรียนรู้ = 0.01
กำหนดค่าเลเยอร์
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f299475331.png)
- ผลลัพธ์
- ขาดทุน=0.7819 ความแม่นยำ=0.72
- ผลลัพธ์สำหรับข้อมูลทดสอบ=0.6503
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f29a6cd332.png)
4. ผลลัพธ์ที่ 2
ข้อมูลรถไฟ : ข้อมูลทดสอบ = 9 : 1
ข้อมูลที่ใช้ = ตัวอักษรหนึ่งตัว (81) + ตัวอักษรสองตัว (1,000) + ตัวอักษรสามตัว (1300) + ลายมือจริงทั้งหมด (30)
n.ยุค = 20 ขนาดแบทช์ = 150 อัตราการเรียนรู้ = 0.04
กำหนดค่าเลเยอร์
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f29baa8333.png)
- ผลลัพธ์
- ขาดทุน=0.0397 ความแม่นยำ=0.9908
- ผลลัพธ์สำหรับข้อมูลทดสอบ=0.9360
![จดหมาย letter](https://images.downcodes.com/uploads/20250107/img_677cd0f29cd0f334.png)
5. การวิเคราะห์ผลลัพธ์
เมื่อเทียบกับผลลัพธ์แรก ผลลัพธ์ที่สองได้รับการปรับปรุงอย่างมีนัยสำคัญทั้งหมด ฉันคิดว่าสาเหตุที่ผลลัพธ์ดีขึ้นมีดังนี้
(5-1) การเพิ่มข้อมูลที่ใช้ในการเรียนรู้
- ในความพยายามครั้งแรก มีการใช้ข้อมูล 1,111 รายการต่อเป้าหมาย และในความพยายามครั้งที่สอง มีการใช้ข้อมูล 2,411 รายการ ซึ่งมากกว่าสองเท่า
- เนื่องจากการเรียนรู้และการประเมินผลดำเนินการผ่านข้อมูลมากขึ้น จึงสามารถบันทึกลักษณะลายมือของเป้าหมายที่ละเอียดอ่อนมากขึ้นได้
(5-2) การเปลี่ยนแปลงในชั้นโครงข่ายประสาทเทียม
- ในความพยายามครั้งที่สอง ขนาดของมาสก์การบิดและขนาดของการรวมกลุ่มได้รับการแก้ไข
- ขนาดของหน้ากาก Convolution ลดลงเหลือขนาดที่เล็กกว่าเดิมเพื่อให้จับลักษณะการเขียนด้วยลายมือที่ละเอียดมาก
- ลดการสูญเสียลักษณะการเขียนด้วยลายมือในกระบวนการเรียนรู้โดยการลดขนาดการรวมกลุ่ม
- นอกจากนี้ เพื่อให้มีข้อมูลเพิ่มเติมเกี่ยวกับการเขียนด้วยลายมือเป็นพารามิเตอร์ จำนวนโหนดที่เชื่อมต่ออย่างสมบูรณ์จึงเพิ่มขึ้นจาก 128 เป็น 256
(5-3) การเพิ่มขนาดชุดและอัตราการเรียนรู้