การเพิ่มรูปภาพเป็นโซลูชันที่ได้รับการออกแบบทางวิศวกรรมเพื่อสร้างชุดรูปภาพใหม่โดยการใช้วิธีการประมวลผลรูปภาพมาตรฐานกับรูปภาพที่มีอยู่

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

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

ประสิทธิภาพสูงด้วยชุดข้อมูลขนาดเล็กไม่น่าเป็นไปได้ ในที่นี้ เทคนิคการเพิ่มข้อมูลรูปภาพมีประโยชน์เมื่อเรามีข้อมูลรูปภาพขนาดเล็กเพื่อฝึกอัลกอริทึม

เทคนิคการเพิ่มรูปภาพจะสร้างภาพที่แตกต่างจากชุดรูปภาพที่มีอยู่โดยใช้วิธีการด้านล่าง:

  • การพลิกภาพ
  • การหมุน
  • ซูม
  • การเลื่อนความสูงและความกว้าง
  • มุมมองและการเอียง
  • การเปลี่ยนแปลงแสงสว่าง
  • ครอบตัด
  • เพิ่มเสียงรบกวน
  • คัตเอาท์หรือการลบ

เหตุใดการเสริมภาพจึงทำงาน

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

ด้วยการเพิ่มรูปภาพ เราสามารถสร้างรูปแบบรูปภาพได้มากมายโดยการรวมการแปลงหลายๆ แบบที่กล่าวมาข้างต้นเข้าด้วยกัน

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

การเพิ่มข้อมูลรูปภาพเป็นเทคนิคการทำให้เป็นมาตรฐาน

นอกเหนือจากการปรับขนาดชุดข้อมูลแล้ว การเพิ่มรูปภาพยังถือเป็นวิธีการทำให้เป็นมาตรฐานอีกด้วย

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

รูปภาพในโลกแห่งความเป็นจริงเหล่านี้มีสภาพแสง ตำแหน่งเฟรม ขนาดของวัตถุที่สนใจ มุมมอง และอื่นๆ ที่แตกต่างกัน

เพื่อให้การเรียนรู้อัลกอริทึมมีประสิทธิภาพ เราสามารถใช้ส่วนเสริมเหล่านี้ในขณะฝึกอบรมได้

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

เรากำลังพูดถึงเทคนิคการเพิ่มรูปภาพอะไรบ้างในบล็อกนี้

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

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

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

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

รหัสจะขึ้นอยู่กับคลาส ImageDataGenerator ของไลบรารี Keras หลังจากครอบคลุมเทคนิคเหล่านี้ทั้งหมดแล้ว เราจะครอบคลุมโค้ดสำหรับเลเยอร์ทดลองที่ประมวลผลล่วงหน้าของ TensorFlow สำหรับการเพิ่มรูปภาพและความสามารถในการเพิ่มข้อมูลรูปภาพของ fastai

อ่านบล็อกเชิงลึกเกี่ยวกับโค้ดการเพิ่มรูปภาพ (รวมถึงการเพิ่มแบบกำหนดเองด้วย)