Machine Learning Engineer in Image Processing ปัญหาและวิธีแก้ ในโปรเจคด้าน Computer Vision

machine learning engineer computer vision

ในโลกของโจทย์ปัญหาด้าน Image Processing ที่ทีม Machine Learning Engineer ต้องเผชิญในปัจจุบันมีทั้งความท้าทายและการจัดการที่ซับซ้อนกว่า การทำความสะอาดเพื่อให้ได้ชุดข้อมูลที่สามารถนำไปใช้งานต่อได้ หรือสามารถจัดเก็บให้ก่อเกิดประโยชน์บนข้อจำกัดต่าง ๆ จึงเป็นสิ่งที่ต้องถูกนำมาพูดถึงเป็นประจำ

Image Processing หรือ Computer Vision คือ ศาสตร์หนึ่งของ Computer Science ว่าด้วยการทำให้คอมพิวเตอร์มีความสามารถในการแยกแยะ จำแนก ทำความเข้าใจรูปภาพ เฉกเช่นเดียวกันกับกระบวนการที่มนุษย์ใช้การมองเห็นภาพและสามารถอธิบายออกมาได้ ซึ่งได้รับความนิยมมากในการทำ Machine Learning ในปัจจุบัน

ฉะนั้นในบทความนี้ ไหมจะมาแบ่งปันประสบการณ์ที่พบเจอจากการทำความสะอาดข้อมูลที่เป็นรูปภาพ รวมถึงการแก้ไขปัญหา ณ สถานการณ์นั้น ๆ เพื่อให้ทุกท่านที่เข้ามาอ่านบทความนี้ สามารถนำไปประยุกต์ใช้กับปัญหาที่เกิดขึ้นบนโปรเจกต์ของตัวเอง หรือ ถ้าใครอยากเข้ามาแบ่งปันประสบการณ์ ก็ได้เช่นกันค่ะ

ปัญหาด้าน ML Engineer ที่พบบ่อยของโปรเจกต์ Image Processing / Computer Vision

สำหรับการ Clean Data ประเภทนี้ ความยากจะอยู่ที่ในบางโจทย์ เราต้องมานั่งสำรวจข้อมูลเอง แล้วถ้าข้อมูลมีจำนวนมหาศาล การใช้เวลาในการคัดกรองก็จะเริ่มยากขึ้น เพราะต้นกำเนิดของข้อมูลเหล่าล่านี้ถ้าไม่สามารถควบคุมคุณภาพได้ การทำความสะอาดก็จะเป็นงานหินอีกงาน และปัญหาที่เกิดขึ้นบ่อยกันเช่น

  • Format File ต่างกัน ถึงแม้ว่าจะเป็นรูปภาพเหมือนกัน แต่ไฟล์รูปก็มีหลาย Format เช่น .jpg, .png หรือ .bmp ก็เป็นไปได้ ซึ่งในปัญหานี้จะมีหลาย library ที่ช่วยแก้ปัญหา แต่ก็ยังต้องใช้การสำรวจว่าไฟล์ของเรานั้นมี Format ไหนบ้าง
  • ขนาดไฟล์ไม่เท่ากัน ปัญหานี้จะยิ่งมีปัญหา หาก Model ต้องการขนาดรูปที่ค่อนข้างชัดเจน รูปภาพบางขนาดต้องถูกแปลง เพื่อให้สามารถนำเข้าโมเดลได้ เราก็สามารถเลือกได้ว่า จะทำการบีบรูป หรือ ทำให้รูปนั้นมีขนาดเท่าที่เราต้องการ ก็จะนำไปสู่ปัญหาต่อมา
  • คุณภาพของรูปภาพ ไฟล์รูปบางไฟล์ พอโดนบีบหรือขยายก็แหลกสลายกลายเป็นเม็ดทราย ที่พอนำเข้า Model นั้น ก็กลายเป็น garbage แทน
  • ปัญหาภายนอกที่เกิดมาจากต้นกำเนิดหลายที่ ลองจินตนาการว่า ข้อมูลชุดนี้มาจากกล้องมือถือแต่ละคน มาจากคนละสภาพแวดล้อม รูปภาพที่เกิดขึ้นจึงมีความแตกต่างกันทั้งแสง ทั้งความชัด และความละเอียด ซึ่งเป็นเรื่องที่แก้ได้ยากมาก แต่ก็อาจจะเป็นข้อมูลที่ดีพอที่จะทำให้โมเดลของเราแข็งแกร่งได้เช่นกัน

จริง ๆ แล้วปัญหาเกี่ยวกับการทำความสะอาดข้อมูลที่เป็นรูปภาพมีเยอะมาก แต่ก็จะมีการเจาะจงในแต่ละโจทย์ปัญหาตามไปอีก ซึ่งบางทีก็จะขึ้นอยู่กับ Business Logic เช่น โปรเจกต์นี้ต้องการรูปใบหน้าคนหนึ่งคน แต่ในข้อมูลที่เราจะนำมาเทรน ดันมีรูปที่มีมากกว่า 1 คนซะงั้น 

วิธีแก้ปัญหาสำหรับโปรเจกต์ Image Processing

เนื่องจากปัญหาที่เกิดขึ้นจากการทำความสะอาดบนโปรเจกต์ Image Processing มีหลากหลายและขึ้นอยู่กับ Business Logic ดังนั้นในบทความนี้จะขอยกวิธีการแก้ไขปัญหาสำหรับบางปัญหาเท่านั้นนะคะ

วิธีแก้ปัญหา Format File รูปภาพ บนโปรเจกต์ Image Processing และขนาดของไฟล์

data engineer formatting image issue
ปัญหา Machine Learning ที่เจอบ่อย คือ Format รูปภาพมีหลากหลายแบบ หลากหลายนามสกุลไฟล์

สำหรับปัญหานี้ ไหมขอแนะนำ Pillow เป็น Python Library ยอดนิยมสำหรับโจทย์ Image Processing เพื่อใช้ในการจัดการกับ File Image ต่าง ๆ ซึ่งสามารถรองรับไฟล์รูปภาพไว้หลากหลายมาก ๆ ถ้าสนใจ สามารถอ่าน Documentation (คู่มือการใช้) เพิ่มเติมได้ที่ Pillow-Image file formats 

นอกจากนี้ Library ดังกล่าวยังเข้ามาช่วยในเรื่องของปัญหาขนาดของไฟล์ได้ด้วยเช่นกัน ภายใน Library นี้ มี Function ที่ช่วยในการเปลี่ยนแปลงขนาดของรูปได้ แต่ถึงอย่างนั้น เราก็อย่าลืมสำรวจข้อมูลของเราด้วยเช่นกันว่า สามารถปรับให้เป็นขนาดนั้น ๆ แล้วสามารถนำไปใช้ประโยชน์ต่อได้จริง ๆ หรือไม่

แต่อย่างไรก็ตาม การกำหนดประเภทของไฟล์ที่รองรับตั้งแต่แหล่งกำเนิดจะทำให้ปัญหานี้ต้องใช้เวลามาจัดการลดลง และจะทำให้สามารถควบคุมคุณภาพของรูปภาพให้เหมือนกันได้อีกด้วย หรือการแปลงให้ประเภทของไฟล์ทั้งหมดให้เป็นแบบเดียวกันก็จะทำให้สามารถจัดการได้ง่ายขึ้น

วิธีแก้ปัญหา คุณภาพของรูปภาพ และต้นกำเนิดของรูปภาพ ที่มาจากหลายที่

data engineer issue computer vision source
ขอขอบคุณรูปประกอบจากเว็บไซต์ คนละครึ่ง

สำหรับวิธีแก้ปัญหานี้จะพูดในเชิงของคุณภาพของรูป ที่ส่งผลตอนการนำไปใช้งานต่อ รวมถึงต้นกำเนิดของรูปภาพที่ขาดการควบคุม ทำให้การนำไปใช้ประโยชน์ต่อหรือการจัดเก็บนั้นเป็นไปด้วยอุปสรรค

แต่เพื่อให้การยกตัวอย่างวิธีการแก้ปัญหาเข้าใจได้ง่ายขึ้น จะขอยกตัวอย่างโจทย์การจดจำใบหน้า ที่สามารถเกิดปัญหาได้ตั้งแต่การนำเข้าข้อมูลมาจัดเก็บ ทั้งวิธีการ และการเก็บรูปภาพจำนวนมากให้สามารถนำไปใช้ต่อได้

โดยส่วนมากนั้นจะต้องมีการกำหนดการเก็บรูปภาพมาตั้งแต่แหล่งที่มา เช่น การบังคับให้ผู้ใช้งานต้องถ่ายรูปหน้าตรงเท่านั้น (วิธีการนี้ต้องมีการใช้การตรวจจับใบหน้ามาร่วมด้วย) หรือการทำให้แสงที่กระทบใบหน้ามีหลายสี เราสามารถเห็นวิธีการนี้ได้จาก เป๋าตัง ที่ต้องแสกนใบหน้าก่อนเข้าใช้งาน

สรุป วิธีแก้ปัญหาด้าน Machine Learning Engineer ในโปรเจกต์ Image Processing / Computer Vision

ในบทความนี้ ไหมอธิบายวิธีการแก้ปัญหาด้าน ML Engineer กับภาษาไทย ในโปรเจกต์ Image Processing กันไปแล้ว จะเห็นได้ว่า สามารถนำไปใช้แก้ปัญหาในโปรเจกต์​ Machine Learning ของคุณได้เลย

ถ้าชอบเนื้อหาแนวนี้ ช่วยแชร์กันได้นะคะ ไหมจะได้มาเขียนเล่าบ่อย ๆ ค่ะ ติดตามบทความดี ๆ ด้าน Data และวีดิโอสนุก ๆ ดูชิล ๆ แล้วได้ความรู้กันได้ที่ Facebook Page: DataTH และ Youtube Channel: Data Science ชิลชิล แล้วเจอกันค่ะ

บทความอื่น ๆ ที่เกี่ยวข้อง

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save