สร้าง AI ตรวจจับวัตถุในรูปภาพด้วย Roboflow

nattakit pinyorattanakit
2 min readJul 12, 2023

--

Object Detection : Roboflow

Source : www.pexels.com

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

Are you ready?

Roboflow เป็นเครื่องมือที่ใช้ในการพัฒนาและฝึกโมเดล Computer Vision โดยให้ความสำคัญกับการสร้างชุดข้อมูลภาพเพื่อใช้ในการฝึกโมเดล ในกรณีนี้เรานำจะรูปภาพป้ายโฆษณาที่มีอยู่ในคลังข้อมูลมาใช้เป็นชุดข้อมูลสำหรับการฝึกโมเดล

Let’s get started !

Step 1 : ขั้นตอนแรกไปที่ https://roboflow.com/ เพื่อสร้างโปรเจกต์

https://roboflow.com/

Step 2 : จากนั้นอัปโหลดรูปภาพป้ายโฆษณาที่มีอยู่ในคลังข้อมูลของเรามาใช้เป็นชุดข้อมูล สำหรับการฝึกโมเดล

https://roboflow.com/

Step 3 : ทำการ annotate ในการสร้างกรอบสี่เหลี่ยม (bounding box) รอบป้ายโฆษณาในแต่ละรูปภาพ

https://roboflow.com/

Step 4 : เมื่อเสร็จสิ้นการ annotate ก็เช็ค class balance ที่ dataset health check เพื่อดูว่าข้อมูลการกระจายของข้อมูลในแต่ละคลาสของชุดข้อมูลมีข้อมูลที่สมดุลกันหรือไม่ ถ้าสมดุลจะถือว่าเป็น class balance

https://roboflow.com/

ถ้า class ไหนที่มีข้อมูลน้อยเกินไปจะเกิดการ under represented แต่ถ้า class ไหนมีข้อมูลมากเกินก็ over represented ได้ เพราะฉะนั้นควรปรับข้อมูลให้เป็น class balance อยู่เสมอ

Step 5 : Augmentation (การเพิ่มข้อมูล) เป็นการปรับแต่งข้อมูลที่ใช้ในการสร้างข้อมูลเพิ่มเติมโดยใช้วิธีการแปลงแบบสัมพันธ์จากข้อมูลต้นฉบับ เพื่อสร้างความหลากหลายในชุดข้อมูล

https://roboflow.com/

Step 6 : Training Machine Learning

Training Time …ยิ่งชุดข้อมูลมีขนาดใหญ่และรูปภาพในชุดข้อมูลของคุณมีขนาดใหญ่เท่าใด โมเดลของคุณก็จะใช้เวลาในการฝึกนานขึ้นเท่านั้น
 เราจะส่งอีเมลถึงคุณเมื่อกระบวนการฝึกอบรมเสร็จสิ้น ในกรณีส่วนใหญ่ ควรต่ำกว่า 24 ชั่วโมง
Training Time … ยิ่งชุดข้อมูลมีขนาดใหญ่และรูปภาพในชุดข้อมูลของเรามีขนาดใหญ่เท่าใด โมเดลก็จะใช้เวลาในการฝึกนานขึ้นเท่านั้น
ทาง Roboflow จะส่งอีเมลถึงเราเมื่อกระบวนการฝึกอบรมเสร็จสิ้น ในกรณีส่วนใหญ่ ควรต่ำกว่า 24 ชั่วโมง
Loss function เป็นตัววัดความผิดพลาดระหว่างผลลัพธ์ที่โมเดลทำนายกับผลลัพธ์ที่เป็นจริง ยิ่งค่า Loss น้อยโมเดลก็จะทำนายผลลัพธ์ได้ใกล้เคียงกับผลลัพธ์จริงมากที่สุด
https://roboflow.com/

ค่าทั้งสามคือค่าที่แสดงถึงประสิทธิภาพของระบบการคัดแยกรูปภาพป้ายโฆษณา โดยมีค่าสูงสุดของ mAP ที่ 99.5% และมีค่าความแม่นยำสูงสุดของ Precision ที่ 98.5% และค่าความแม่นยำสูงสุดของ Recall ที่ 99.3%

Step 7 : ทดสอบรูปภาพและความแม่นยำของโมเดล

และทำนายผล
{
"predictions": [
{
"x": 2733.5,
"y": 879.5,
"width": 997,
"height": 591,
"confidence": 0.934,
"class": "Sprite"
}
]
}

ข้อดีของ Roboflow :

  1. เป็นเครื่องมือที่ใช้งานง่ายและมีอินเทอร์เฟซที่ใช้งานได้สะดวก ซึ่งช่วยให้ผู้ใช้สามารถสร้างและจัดการชุดข้อมูลสำหรับการฝึกโมเดล Computer Vision ได้อย่างรวดเร็วและมีประสิทธิภาพ
  2. รองรับรูปแบบไฟล์หลากหลาย เช่น YOLO, COCO, PASCAL VOC, TensorFlow Object Detection API เป็นต้น ทำให้สามารถนำข้อมูลและโมเดลมาใช้งานร่วมกันได้อย่างยืดหยุ่น
  3. ความแม่นยำในการตรวจจับ Roboflow ช่วยให้เราสามารถฝึกและปรับปรุงโมเดลให้มีความแม่นยำสูงในการตรวจจับวัตถุ ทำให้สามารถคัดแยกและตรวจจับป้ายโฆษณาได้อย่างมีประสิทธิภาพ

ข้อเสียของ Roboflow :

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

Just do it

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

--

--

nattakit pinyorattanakit
nattakit pinyorattanakit

Written by nattakit pinyorattanakit

AI Engineering and data science ———————————————————————— https://misternattakit.com