BEST 2019

การรู้จำลายมือเขียน

Sanparith Marukatat
NECTEC
2 min readMar 13, 2019

--

โจทย์ปีนี้คือการรู้จำลายมือเขียน ซึ่งทางเนคเทคได้ปล่อยข้อมูลให้ไปเล่นส่วนหนึ่ง ซึ่งไม่ใหญ่มาก หลาย ๆ ทีมพยายามหาข้อมูลเพิ่ม ไม่ว่าจะจากการทำ random augmentation จากภาพเดิม หรือการสร้างภาพใหม่จากฟ้อนท์ลายมือเขียน หรือกระทั่งการใช้ภาพอักษรภาษาอื่น

รอบชิง 5 ทีม

ทีมแรกใช้ CNN+Bidirectional GRU+CTC มาตรฐาน มีการทำ data augmentation เพื่อเพิ่มจำนวนภาพประมาณ 10 เท่าของข้อมูลสอน

ทีมที่ 2 มาแนว classic คือพยายามตัดตัวอักษรก่อน แล้วจึงใช้ CNN มา classify ตอนแรกลองใช้ ResNet แต่มาจบที่ CNN ที่ออกแบบเอง

ทีมที่ 3 ใช้ CNN เป็น feature extraction ต่อกับ attention mechanism และ GRU+CTC ที่น่าสนคือใช้ภาพภาษาอื่น (อังกฤษและฮินดี) ด้วย ซึ่งช่วยในการเทรนส่วน feature extraction ดีขึ้น

ทีมที่ 4 ใช้ CNN+GRU+CTC ที่แปลกคือในส่วน CTC มีการแยกส่วนอักษรกลาง บน ล่าง ซึ่งช่วยให้ดีขึ้น และมีระบบ gen noise ที่ดีมาก (Perlin noise) +ใช้ font ลายมือเขียนช่วยในการ gen ข้อมูลเพิ่ม

ทีมที่ 5 ก็ใช้ CNN+GRU+CTC ที่น่าสนคือใช้ VGG เป็น feature extractor ที่ไม่ต้องเทรน น้อง ๆ focus แค่ส่วน GRU

ข้อมูลแข่ง

รอบชิงมีข้อมูลให้เล่นหลายชุด แบ่งคร่าว ๆ ได้เป็น 2 ส่วนคือ 1) seen data ที่มีภาพลายมือเขียนที่เราเก็บมาพร้อม ๆ กับข้อมูลชุดแรกที่เราปล่อยให้เอาไปใช้ก่อนหน้านี้ และ 2) unseen data ที่เก็บใหม่ จากหลายคน และเก็บในสภาพแวดล้อมที่แตกต่างกันออกไป โดยส่วนมากจะเป็นภาพถ่ายจากกล้องมือถือ

ผลที่ได้บน seen data สำหรับหลายทีมนั้นดูดีมาก แต่ผลบน unseen data นั้นหลากหลายมาก โดยรวมนั้นแย่กว่า seen data เยอะ นั่นน่าจะแปลว่าโมเดลต่าง ๆ คงจะ overfit ไปหน่อย

ภาพแสดงผลบางส่วนโดยแท่งน้ำเงินเป็น error บน seen data และแท่งน้ำตาลคือ unseen data ชุดแรก เหลือข้อมูลอีก 4 ชุดให้ทดสอบ

ผลการแข่งขันจะประกาศในวันศุกร์ที่ 15 มีนาคม 2562 ครับ ใครที่สนใจหัวข้อนี้ หรืออยากได้เด็กพร้อมใช้งาน ลองมาดูได้ที่งาน NSC 2019 ที่ Fashion Island ครับ

--

--