Table of Contents

ขั้นตอนสำหรับการจดจำรูปภาพด้วย AutoML Vision บน Microsoft Azure

Automated Machine Learning หรือที่เรียกสั้น ๆ ว่า AutoML คือการเรียนรู้ของเครื่องอัตโนมัติที่ได้รับ      ความนิยม และสร้างความสะดวกสำหรับการนำมาประยุกต์ใช้ในธุรกิจที่กำลังจะเริ่มนำปัญญาประดิษฐ์ (Artificial Intelligence : AI) มาใช้งาน หรือธุรกิจที่มีข้อกำจัดด้านบุคลากรที่มีความเชียวชาญในการเรียนรู้ของเครื่อง ให้สามารถสร้างโมเดลที่ให้ผลลัพธ์ที่ได้ประสิทธิภาพสูง และช่วยให้ประหยัดเวลามากขึ้น โดยผู้ให้บริการ Cloud รายใหญ่ ๆ ได้มีเครื่องมือ AutoML สำหรับ Computer Vision (CV) ให้ได้ใช้บริการ ได้แก่ Custom Vision จาก Azure ของ Microsoft, Cloud AutoML Vision เป็นการบริการของ Google Cloud และ Amazon Recognition (หรือ Amazon Rekognition) การบริการวิเคราะห์ภาพของ AWS

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

ชุดข้อมูล

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

ภาพที่ 1 ภาพตัวอย่างจากชุดข้อมูลสำหรับฝึกสอนโมเดลสำหรับการตรวจจับวัตถุ

การสร้างโปรเจค

ปัจจุบัน Azure Custom Vision สามารถรองรับงานการจำแนกรูปภาพ (Classification) และ  การตรวจจับวัตถุ (Object Detection) เมื่อเราสร้างโปรเจคขึ้นมา ให้เลือกรูปแบบโปรเจคเป็น       การตรวจจับวัตถุ และเลือกโดเมนเป็นทั่วไป (General) เพื่อการปรับให้เหมาะสมสำหรับ  การตรวจจับวัตถุที่หลากหลาย สามารถใช้ได้ในกรณีที่ไม่มีโดเมนอื่นให้เลือกที่เหมาะสม หรือหากเราไม่แน่ใจว่าจะเลือกโดเมนใด ถ้าโมเดลถูกนำไปปรับใช้บน Edge เราควรจะเลือก General (compact) แทน ดังภาพตัวอย่าง

ภาพที่ 2 ขั้นตอนการตั้งค่าสำหรับสร้างโปรเจคใหม่

การติดฉลากอธิบายรูปภาพ

หลังจากสร้างโปรเจคแล้ว เราต้องอัปโหลดชุดข้อมูลรูปภาพเพื่อนำไปใช้ในการสร้างโมเดล โดยชุดข้อมูลสามารถอัปโหลดได้โดยตรงไปยัง Azure Custom Vision ผ่านเว็บ UI หรือใช้ SDK เมื่อการอัปโหลดเสร็จสิ้น เราจะเห็นภาพที่ถูกอัปโหลดแล้วบน portal

ภาพที่ 3 ภาพที่ถูกอัปโหลดบน Custom Vision

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

ภาพที่ 4 การวาดกรอบรอบบริเวณของสัตว์

การฝึกสอนโมเดล และการเพิ่มประสิทธิภาพโมเดล

เมื่อทำการติดฉลากอธิบายรูปภาพให้กับทุกรูปภาพที่เราจะนำมาใช้ในการฝึกสอนโมเดลแล้ว เราจะทำการสร้างโมเดล ซึ่งทาง Custom Vision มีทางเลือกสำหรับการฝึกสอน 2 ทางเลือก ได้แก่ การฝึกแบบด่วน (Quick Training) และการฝึกแบบขั้นสูง (Advanced Training) เราจะเลือกใช้การฝึกแบบขั้นสูงเพื่อให้ได้ประสิทธิภาพที่ดีขึ้น โดยการฝึกแบบขั้นสูงจะสามารถกำหนดระยะเวลาในการประมวลผลสำหรับการฝึกโมเดลได้ และ Custom Vision จะทำการทดลองเพื่อหาค่าพารามิเตอร์ที่ดีที่สุดในการสร้างโมเดล

ในการสร้างโมเดลนี้ เราจะใช้ระยะเวลาในการสอนโมเดล 2 ชั่วโมง จะได้ผลลัพธ์ดังภาพที่ 6 และภาพที่ 7

ภาพที่ 5 ขั้นตอนการตั้งค่าสำหรับการฝึกสอนโมเดล
ภาพที่ 6 ผลประเมินประสิทธิภาพของโมเดลสำหรับการตรวจจับวัตถุ
ภาพที่ 7 ผลประเมินประสิทธิภาพของโมเดลสำหรับการตรวจจับวัตถุจำแนกตามประเภทของสัตว์

จากผลลัพธ์ดังรูปที่ 6 และ 7 จะแสดงค่าความแม่นยำ (Precision) ที่เกิดจากการนำจำนวนข้อมูลที่ทายถูกต้องเมื่อเที่ยบกับฉลากอธิบายรูปภาพ มาเทียบกับจำนวนข้อมูลที่ทายว่าเป็นสัตว์ชนิดนั้นตามแท็ก (Tag) แต่จริง ๆ แล้วไม่ใช่สัตว์ชนิดนั้น ค่าความถูกต้อง (Recall) เกิดจากการนำจำนวนข้อมูลที่ทายถูกต้องเมื่อเที่ยบกับฉลากอธิบายรูปภาพ มาเทียบกับจำนวนข้อมูลที่โมเดลทำนายว่าไม่ใช่สัตว์ชนิดนั้นแต่ฉลากอธิบายรูปภาพเป็นสัตว์ชนิดนั้น และ A.P. (Average Precision) คือค่าเฉลี่ยของความแม่นยำและค่าความถูกต้อง สำหรับโมเดลนี้ จะสนใจค่าความแม่นยำมากกว่าค่าความถูกต้อง

ในกรณีที่เราต้องการปรับค่าประสิทธิภาพของโมเดล เราสามารถปรับ Probability Threshold และ Overlap Threshold ได้ ค่าเริ่มต้นของ Probability Threshold และ Overlap Threshold จะเท่ากับ 50% และ 30% ตามลำดับ ดังภาพที่ 8 ซึ่งค่าเหล่านี้เราสามารถปรับเปลี่ยนได้ตามความต้องการ โดย Probability Threshold คือค่าความน่าจะเป็นขั้นต่ำสำหรับทำนายว่าจะเป็นสัตว์ชนิดใด ส่วน Overlap Threshold คือเปอร์เซ็นต์ขั้นต่ำของการซ้อนทับกันระหว่างบริเวณตำแหน่งของสัตว์ในภาพที่โมเดลทำนายกับบริเวณที่เราได้วาดกรอบไว้

ภาพที่ 8 ค่าเริ่มต้นของ Probability Threshold และ Overlap Threshold

การทดสอบโมเดล

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

ภาพที่ 9 ผลการทำนายบนภาพที่นำมาทดสอบ

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

Deployment

เพื่อที่จะให้โมเดลของเราทำงานได้จริง และสามารถนำไปใช้ต่อได้ เราจำเป็นต้องทำการ Deploy โมเดลของเราก่อน โดยไปเลือก Performance ที่แถบด้านบน และคลิกที่ Publish ดังภาพที่ 10

ภาพที่ 10 ขั้นตอนการ Deploy โมเดล

สรุป

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

Facebook
X
LinkedIn

Popular Blog posts