ขั้นตอนสำหรับการจดจำรูปภาพด้วย 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 ประเภท ได้แก่ ลิง แมว และสุนัข ดังภาพตัวอย่างข้างล่าง
การสร้างโปรเจค
ปัจจุบัน Azure Custom Vision สามารถรองรับงานการจำแนกรูปภาพ (Classification) และ การตรวจจับวัตถุ (Object Detection) เมื่อเราสร้างโปรเจคขึ้นมา ให้เลือกรูปแบบโปรเจคเป็น การตรวจจับวัตถุ และเลือกโดเมนเป็นทั่วไป (General) เพื่อการปรับให้เหมาะสมสำหรับ การตรวจจับวัตถุที่หลากหลาย สามารถใช้ได้ในกรณีที่ไม่มีโดเมนอื่นให้เลือกที่เหมาะสม หรือหากเราไม่แน่ใจว่าจะเลือกโดเมนใด ถ้าโมเดลถูกนำไปปรับใช้บน Edge เราควรจะเลือก General (compact) แทน ดังภาพตัวอย่าง
การติดฉลากอธิบายรูปภาพ
หลังจากสร้างโปรเจคแล้ว เราต้องอัปโหลดชุดข้อมูลรูปภาพเพื่อนำไปใช้ในการสร้างโมเดล โดยชุดข้อมูลสามารถอัปโหลดได้โดยตรงไปยัง Azure Custom Vision ผ่านเว็บ UI หรือใช้ SDK เมื่อการอัปโหลดเสร็จสิ้น เราจะเห็นภาพที่ถูกอัปโหลดแล้วบน portal
หลังจากการอัปโหลดเสร็จสิ้น เราจำเป็นต้องติดฉลากกำกับเพื่ออธิบายรูปภาพ ซึ่งเป็นการกำหนดรูปภาพว่าภาพนั้นเป็นภาพของสัตว์ประเภทใดบ้าง และอยู่ในตำแหน่งใดบ้าง โดยการเลือกภาพที่เราต้องการจะติดฉลากกำกับแล้วลากกรอบรอบบริเวณของสัตว์แต่ละตัวบนภาพนั้น และทำการติดฉลาก หรือระบุประเภทของสัตว์
การฝึกสอนโมเดล และการเพิ่มประสิทธิภาพโมเดล
เมื่อทำการติดฉลากอธิบายรูปภาพให้กับทุกรูปภาพที่เราจะนำมาใช้ในการฝึกสอนโมเดลแล้ว เราจะทำการสร้างโมเดล ซึ่งทาง Custom Vision มีทางเลือกสำหรับการฝึกสอน 2 ทางเลือก ได้แก่ การฝึกแบบด่วน (Quick Training) และการฝึกแบบขั้นสูง (Advanced Training) เราจะเลือกใช้การฝึกแบบขั้นสูงเพื่อให้ได้ประสิทธิภาพที่ดีขึ้น โดยการฝึกแบบขั้นสูงจะสามารถกำหนดระยะเวลาในการประมวลผลสำหรับการฝึกโมเดลได้ และ Custom Vision จะทำการทดลองเพื่อหาค่าพารามิเตอร์ที่ดีที่สุดในการสร้างโมเดล
ในการสร้างโมเดลนี้ เราจะใช้ระยะเวลาในการสอนโมเดล 2 ชั่วโมง จะได้ผลลัพธ์ดังภาพที่ 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 คือเปอร์เซ็นต์ขั้นต่ำของการซ้อนทับกันระหว่างบริเวณตำแหน่งของสัตว์ในภาพที่โมเดลทำนายกับบริเวณที่เราได้วาดกรอบไว้
การทดสอบโมเดล
หลังจากสร้างโมเดลเสร็จสิ้น เราจะทำการทดสอบโมเดลด้วยวิธีการนำภาพที่โมเดลของเราไม่เคยเห็น หรือไม่อยู่ในชุดข้อมูลสำหรับฝึกสอนมาทดสอบ โดยไปเลือก Quick Test ที่แถบด้านบนขวา จากนั้นเลือกภาพที่เราต้องการจะนำมาทดสอบ
เมื่ออัปโหลดภาพแล้ว จะปรากฏให้เห็น ดังภาพที่ 9 ถ้าเรานำเมาส์ไปชี้บริเวณพื้นที่กรอบสี่เหลี่ยมจะปรากฎประเภทของสัตว์ และเปอร์เซ็นต์ความน่าจะเป็นที่จะเป็นสัตว์ประเภทนั้น
Deployment
เพื่อที่จะให้โมเดลของเราทำงานได้จริง และสามารถนำไปใช้ต่อได้ เราจำเป็นต้องทำการ Deploy โมเดลของเราก่อน โดยไปเลือก Performance ที่แถบด้านบน และคลิกที่ Publish ดังภาพที่ 10
สรุป
การจดจำรูปภาพด้วย AutoML Vision บน Microsoft Azure เราได้ทำการสร้างโมเดลสำหรับการตรวจจับวัตถุที่สะดวก และรวดเร็ว มีขั้นตอนง่าย ๆ และไม่จำเป็นต้องใช้เทคนิคหรือความเชี่ยวชาญขั้นสูง