การทำ annotation สำหรับ Object Detection คือการสร้างข้อมูลสำหรับฝึกโมเดล โดยกำหนดตำแหน่งของวัตถุในรูปภาพและระบุคลาสของวัตถุนั้น ๆ ขั้นตอนนี้สำคัญมากเพราะคุณภาพของ annotation มีผลโดยตรงต่อประสิทธิภาพของโมเดล Object Detection เช่น YOLO, SSD, Faster R-CNN เป็นต้น
ขั้นตอนการทำ Annotation
- เตรียมรูปภาพ
- รวบรวมรูปภาพที่เกี่ยวข้องกับวัตถุที่ต้องการตรวจจับ (เช่น รถ, คน, สัตว์ ฯลฯ)
- รูปภาพควรมีความหลากหลาย เช่น มุมมอง, ขนาดวัตถุ, ความสว่าง หรือฉากหลัง เพื่อช่วยให้โมเดลมีประสิทธิภาพที่ดีขึ้น
- เลือก Tool สำหรับ Annotation
มีเครื่องมือที่นิยมใช้ ได้แก่:- LabelImg (ฟรี, ใช้งานง่าย)
- CVAT (รองรับงาน Annotation ขนาดใหญ่)
- LabelMe
- Roboflow
- Makesense.ai (ออนไลน์)
- VGG Image Annotator (VIA)
- กำหนดขอบเขตวัตถุ (Bounding Box)
- วาดกล่อง (bounding box) รอบวัตถุในภาพ
- ระบุ คลาส (class) ของวัตถุที่อยู่ในกล่อง เช่น person, car, dog เป็นต้น
- จัดเก็บ Annotation
Annotation จะถูกบันทึกในไฟล์ เช่น:โค้ด: เลือกทั้งหมด
<class_id> <x_center> <y_center> <width> <height>
โค้ด: เลือกทั้งหมด
0 0.5 0.5 0.2 0.3
- ตรวจสอบคุณภาพ Annotation
- ตรวจสอบว่ากล่อง Bounding Box ครอบคลุมวัตถุได้ถูกต้อง
- ระวังไม่ให้ annotation ซ้อนทับกันมากเกินไป หรือคลาดเคลื่อนจากขอบวัตถุ
- หากมีหลายคนทำ annotation ควรมีการตรวจสอบเพื่อความสม่ำเสมอ
- จัดชุดข้อมูล
- แบ่งชุดข้อมูลเป็น Training, Validation, และ Test เช่น 70:20:10 หรือ 80:10:10
- ติดตั้ง LabelImg
โค้ด: เลือกทั้งหมด
pip install labelImg
- เปิดโปรแกรม
โค้ด: เลือกทั้งหมด
labelImg
- โหลดรูปภาพและเริ่มวาด bounding box
- เลือกคลาสและบันทึกไฟล์ในรูปแบบที่ต้องการ (YOLO, Pascal VOC)
การทำ Annotation สำหรับ Object Detection เป็นจุดเริ่มต้นที่สำคัญในการพัฒนาโมเดล AI ให้แม่นยำ ซึ่งสามารถต่อยอดไปยังงานอื่น ๆ ได้หลากหลาย เช่น ระบบตรวจจับใบหน้า สำหรับความปลอดภัย, การตรวจจับสินค้าในคลังสินค้า เพื่อการจัดการสต็อก, การวิเคราะห์ภาพทางการแพทย์ เช่น การตรวจหาเซลล์มะเร็ง, การตรวจจับวัตถุในยานยนต์ไร้คนขับ เพื่อเพิ่มความปลอดภัย และ การตรวจสอบความผิดปกติในอุตสาหกรรม เช่น ตรวจจับข้อบกพร่องในสายการผลิต ทั้งหมดนี้ล้วนช่วยยกระดับกระบวนการทำงานในหลากหลายอุตสาหกรรมได้อย่างมีประสิทธิภาพ
อ้างอิง
https://lengyi.medium.com/tensorflow-api-custom-object-detection-1-6b566686a285
https://github.com/HumanSignal/label-studio
https://www.bualabs.com/archives/3453/what-is-object-detection-tutorial-tensorflow-js-build-object-detection-machine-learning-coco-ssd-tfjs-ep-8/
https://lengyi.medium.com/an-introduction-to-object-detection-model-london-91d22d06b4d9