วิธีใช้งาน CVAT: คำแนะนำทีละขั้นตอนที่เข้าใจง่าย เพื่อการใส่คำอธิบายประกอบที่รวดเร็วและแม่นยำ
หากคุณเคยลองฝึกโมเดล Computer Vision คุณอาจเคยเจอปัญหาเดียวกับคนอื่นๆ นั่นคือ ข้อมูลต้องมีป้ายกำกับที่ดีเยี่ยม CVAT (Computer Vision Annotation Tool) เป็นหนึ่งในแพลตฟอร์มที่ได้รับความนิยมมากที่สุดสำหรับการสร้างคำอธิบายประกอบรูปภาพและวิดีโอคุณภาพสูง ซึ่งเป็นโอเพนซอร์ส ทรงพลัง และสร้างขึ้นเพื่อปรับขนาดจากโปรเจ็กต์ส่วนตัวไปจนถึงไปป์ไลน์การผลิต คู่มือนี้จะแนะนำคุณตลอดการติดตั้ง การตั้งค่า เวิร์กโฟลว์การติดป้ายกำกับ ตัวช่วยอัตโนมัติ การควบคุมคุณภาพ และการส่งออก เพื่อให้คุณสามารถเปลี่ยนจากศูนย์เป็นชุดข้อมูลที่สะอาดโดยไม่วุ่นวาย
เราจะเน้นที่การใช้งานจริงและตรงไปตรงมา พร้อมตัวอย่าง ทางลัด และข้อผิดพลาดที่ควรหลีกเลี่ยง
CVAT คืออะไร และทำไมต้องใช้
CVAT เป็นเครื่องมือบนเว็บสำหรับการใส่คำอธิบายประกอบรูปภาพและวิดีโอ รองรับการตรวจจับวัตถุ การแบ่งส่วน การจัดประเภท และการติดตาม คุณสามารถเรียกใช้ได้ในเครื่องหรือบนเซิร์ฟเวอร์ เชิญเพื่อนร่วมทีม จัดการโปรเจ็กต์/งาน และส่งออกป้ายกำกับไปยังรูปแบบทั่วไป (เช่น COCO, YOLO, VOC) หากคุณต้องการการติดป้ายกำกับที่ทำซ้ำได้ ทำงานร่วมกันได้ และแม่นยำ CVAT ตอบโจทย์
- ใช้งานผ่านเบราว์เซอร์ได้ ทำงานร่วมกันเป็นทีมได้
- จัดการรูปภาพและวิดีโอขนาดยาวได้ด้วยการประมาณค่า/ติดตาม
- สคีมาและแอตทริบิวต์ป้ายกำกับที่ยืดหยุ่น
- รูปแบบการส่งออกที่หลากหลายสำหรับเฟรมเวิร์กการฝึกอบรมยอดนิยม
สำหรับข้อมูลเบื้องต้นอย่างเป็นทางการ "Getting Started" ของทีม CVAT เป็นข้อมูลเบื้องต้นที่เป็นประโยชน์
การตั้งค่าอย่างรวดเร็ว: วิธีที่เร็วที่สุดในการเรียกใช้ CVAT
เส้นทางการติดตั้งทั่วไปของ CVAT ใช้ Docker โดยจะรวมเซิร์ฟเวอร์ ฐานข้อมูล และ dependencies เพื่อให้คุณเริ่มต้นได้ภายในไม่กี่นาที
- ติดตั้งสิ่งที่ต้องมีล่วงหน้า
- Docker และ Docker Compose (หรือ Docker Desktop)
- แนะนำ: CPU ที่ทันสมัย, RAM ที่เพียงพอ (8–16GB+ สำหรับงานที่เน้นวิดีโอ)
- Clone ที่เก็บ CVAT และรันสคริปต์ compose หรือใช้ container images โดยตรง เอกสารอย่างเป็นทางการมีคำสั่งและตัวแปรสภาพแวดล้อมที่แน่นอน นอกจากนี้ยังมีอิมเมจเซิร์ฟเวอร์ที่เผยแพร่บน Docker Hub
- เมื่อ containers ทำงานแล้ว ให้เปิดเบราว์เซอร์ของคุณ (โดยทั่วไปคือ {Chrome}), สร้างผู้ดูแลระบบ/ผู้ใช้ และลงชื่อเข้าใช้
เคล็ดลับ: การจัดเก็บข้อมูลบน mounted volumes ช่วยให้มั่นใจได้ว่างาน โปรเจ็กต์ และคำอธิบายประกอบของคุณจะคงอยู่ตลอดการอัปเดต
เวิร์กโฟลว์ CVAT โดยสรุป
คิดเป็นสามชั้น: Project → Task → Job
- Project: ชุดของงานที่เกี่ยวข้อง (เช่น "Retail Shelf Detection 2025") กำหนดป้ายกำกับส่วนกลาง
- Task: หน่วยการติดป้ายกำกับเดียว (เช่น รูปภาพ 1,000 รูป หรือวิดีโอ 2 ชั่วโมง)
- Job: ส่วนแบ่งของงาน (เช่น ส่วนของวิดีโอขนาดยาว) ที่มอบหมายให้กับผู้ใส่คำอธิบายประกอบ
โครงสร้างนี้ช่วยให้คุณจัดการชุดข้อมูลขนาดใหญ่ มอบหมายงานให้กับเพื่อนร่วมทีม และรักษาคำจำกัดความของป้ายกำกับให้สอดคล้องกัน
ขั้นตอนที่ 1: สร้าง Project และ Labels (การออกแบบ Schema)
ก่อนอัปโหลดข้อมูล ให้กำหนด ontology ของคุณ สิ่งที่คุณกำลังติดป้ายกำกับและวิธีการ
- Classes: เช่น
person, car, helmet, crack
- Attributes: เช่น
occluded: yes/no, weather: sunny/rainy, damage_severity: 1–5
- Color coding: ปรับปรุงความชัดเจนในการมองเห็น
แนวทางปฏิบัติที่ดีที่สุด:
- ตั้งชื่อคลาสให้สั้น กระชับ และสื่อความหมาย
- ใช้ attributes สำหรับ metadata ที่ไม่จำเป็นต้องวาด (เช่น “is_crowd”)
- หลีกเลี่ยงคลาสที่ทับซ้อนกัน เว้นแต่จะตั้งใจให้เป็นลำดับชั้น (เช่น
vehicle > car/bus/truck)
คุณสามารถกำหนด labels ในระดับ Project เพื่อให้ Tasks ที่เกี่ยวข้องทั้งหมดสืบทอดได้
ขั้นตอนที่ 2: สร้าง Task และอัปโหลดข้อมูล
จาก dashboard:
- New → Task → ตั้งชื่อ task ของคุณ
- เลือก project (ไม่บังคับ แต่แนะนำ)
- อัปโหลดข้อมูล: ลากและวางรูปภาพ ชี้ไปยังไดเร็กทอรี หรือระบุลิงก์ไปยังที่เก็บข้อมูลบนคลาวด์ (เช่น S3, Azure Blob) ขึ้นอยู่กับการตั้งค่าของคุณ
- ยืนยันว่า labels ถูกต้อง (สืบทอดหรือเฉพาะ task) แล้วกด Create
สำหรับวิดีโอขนาดยาว ให้พิจารณาแบ่งเป็น chunk หรือเปิดใช้งานการแบ่ง job อัตโนมัติเพื่อให้แต่ละ job สามารถจัดการได้และตอบสนองต่อผู้ใส่คำอธิบายประกอบ
ขั้นตอนที่ 3: เลือก Annotation Mode ที่เหมาะสม
CVAT รองรับ annotation tools หลายแบบ:
- Bounding boxes: เร็วที่สุดสำหรับการตรวจจับวัตถุ
- Polygons/Polylines: สำหรับ instance/semantic segmentation, เลนถนน, รอยแตก
- Cuboids: สำหรับกล่อง perspective แบบ 3D ในรูปภาพ 2D
- Points: keypoints หรือ landmarks (poses, facial landmarks)
- Tags: labels ระดับรูปภาพ (เช่น “daytime”)
Keyboard shortcuts ช่วยเพิ่มความเร็วได้อย่างมาก:
- กด Shift/Alt ค้างไว้สำหรับ shapes ที่ถูกจำกัด (ขึ้นอยู่กับ tool) และ snapping
เคล็ดลับ: เก็บ label list ให้มีขนาดเล็กและเน้นไปที่เป้าหมาย คลาสที่มากเกินไปจะทำให้ผู้ใส่คำอธิบายประกอบช้าลงและเพิ่มอัตราข้อผิดพลาด
ขั้นตอนที่ 4: Video Annotation—Interpolate and Track
สำหรับวิดีโอ อย่าใส่คำอธิบายประกอบทุกเฟรม แต่ให้:
- สร้างกล่องหรือ polygon บน keyframe
- เปิดใช้งาน interpolation/tracking: CVAT สามารถเผยแพร่ shapes ไปข้างหน้า จากนั้นคุณแก้ไขตามต้องการบน keyframes ใหม่
- Split หรือ merge tracks เมื่อวัตถุปิดบังหรือปรากฏขึ้นอีกครั้ง
- ทำเครื่องหมาย states เช่น “outside” หรือ “occluded” เพื่อให้ sequences สะอาด
วิธีนี้ช่วยลดเวลาได้อย่างมาก ในขณะที่ยังคงความสอดคล้องของเวลาไว้ได้ งานวิจัยและแนวทางปฏิบัติที่ดีที่สุดของชุมชนยังแนะนำให้ใช้ interactive/self-annotation assistance เพื่อเร่งการติดป้ายกำกับวิดีโอ
ขั้นตอนที่ 5: ใช้ Auto-Annotation และ Assisted Tools
CVAT รองรับ assisted labeling เพื่อเร่งความเร็วในการทำงาน ขึ้นอยู่กับการ deployment ของคุณ คุณสามารถ:
- ใช้คุณสมบัติ model-assisted ในตัวเพื่อเสนอ boxes/masks
- รัน models ฝั่งเซิร์ฟเวอร์เพื่อ pre-label frames จากนั้นแก้ไข
- ใช้ interpolation เพื่อเติมช่องว่าง
เริ่มต้นด้วย seed set ขนาดเล็กคุณภาพสูง ฝึก model อย่างรวดเร็ว และใช้เพื่อ pre-label ข้อมูลที่เหลือ แก้ไขและ retrain ซ้ำๆ
หมายเหตุ: รายละเอียดเฉพาะขึ้นอยู่กับ models ที่คุณเปิดใช้งานในสภาพแวดล้อมของคุณ เอกสารอย่างเป็นทางการและ tutorials ของชุมชนแสดงวิธีเชื่อมต่อ models เข้ากับ CVAT และเปิดใช้งาน Auto-Annotation ใน UI
ขั้นตอนที่ 6: ทำงานร่วมกันด้วย Roles และ Reviews
CVAT รองรับผู้ใช้หลายคน Typical roles ได้แก่:
- Admin: จัดการเซิร์ฟเวอร์และผู้ใช้
- Project manager: กำหนด labels สร้าง tasks/jobs มอบหมายผู้ใส่คำอธิบายประกอบ
- Annotator: สร้างและแก้ไข labels
- Reviewer/QA: ตรวจสอบงาน ขอแก้ไข
กำหนด guidelines ที่ชัดเจน: ตัวอย่างคำอธิบายประกอบที่ถูกต้อง/ไม่ถูกต้อง คำจำกัดความของ attributes และ edge cases (เช่น “label reflections?”) ใช้ review tools—comments, issue flags และ status changes—เพื่อปรับปรุงคุณภาพ
ขั้นตอนที่ 7: การควบคุมคุณภาพที่คุณวางใจได้
กลยุทธ์ QC เชิงปฏิบัติบางส่วน:
- Gold tasks: แทรกรูปภาพที่ติดป้ายกำกับโดยผู้เชี่ยวชาญเพื่อ benchmark ผู้ใส่คำอธิบายประกอบ
- Overlap: มอบหมายงานเดียวกันให้กับผู้ใส่คำอธิบายประกอบสองคน เปรียบเทียบ IoU และ agreement
- Spot checks: reviewers ตรวจสอบเปอร์เซ็นต์ของแต่ละ job
- Metrics: ติดตาม per-class confusion patterns ระหว่างการฝึก model เพื่อปรับปรุง guidelines
ความสอดคล้องเมื่อเวลาผ่านไปมีความสำคัญมากกว่า labels ที่สมบูรณ์แบบเพียงครั้งเดียว จัดทำเอกสารการตัดสินใจและอัปเดต label guide เมื่อคุณพบ edge cases
ขั้นตอนที่ 8: Save, Version และ Export
Save บ่อยๆ (CVAT ก็ autosaves ด้วย) เมื่อคุณพร้อม:
- Export formats: COCO, YOLO, Pascal VOC และอื่นๆ เลือกรูปแบบที่ training code ของคุณต้องการ
- Frame ranges: ส่งออก segments เฉพาะหรือทั้ง task
- Filters: ส่งออกเฉพาะ labels หรือ attributes บางอย่างหากจำเป็น
โปรดดูเอกสารอย่างเป็นทางการสำหรับ export options และ parameters ที่เป็นปัจจุบัน สำหรับรายละเอียดการติดตั้งและเซิร์ฟเวอร์อิมเมจ เอกสารและหน้า Docker Hub เป็นแหล่งอ้างอิงที่เชื่อถือได้
สถานการณ์และการใช้งานจริงและเคล็ดลับ
สถานการณ์ที่ 1: Object Detection บน Retail Shelves
- Labels:
product, price_tag, promotional_sign
- ใช้ boxes เพื่อความเร็ว เพิ่ม attributes เช่น
promo=yes/no
- Export ไปยัง YOLO สำหรับ lightweight training pipeline
สถานการณ์ที่ 2: Road Lane Segmentation
- ใช้ polylines หรือ polygons
- Interpolate ข้าม frames แก้ไขบน turns
- Export ไปยัง COCO panoptic/segmentation ขึ้นอยู่กับเฟรมเวิร์กของคุณ
สถานการณ์ที่ 3: Safety Gear Compliance
- ติดตาม
person, helmet, vest ข้ามวิดีโอ
- ใช้ tracking + attributes (
helmet=present/absent)
- Review occlusions อย่างระมัดระวังที่จุด entry/exit
เคล็ดลับมือโปร:
- เก็บ tasks ให้น้อยกว่าสองสามพันรูปภาพ หรือ split วิดีโอขนาดยาวเพื่อให้ UI ตอบสนอง
- Normalize ขนาดรูปภาพหรือบีบอัดวิดีโอเพื่อปรับสมดุลประสิทธิภาพและความคมชัด
- Version datasets—export ด้วย tag ที่ชัดเจน (เช่น
v1.2.0) และ lock tasks เมื่อ final แล้ว
การแก้ไขปัญหาทั่วไป
- UI หน่วงบนวิดีโอขนาดใหญ่: split เป็น jobs ที่สั้นกว่า ลด preview resolution และ prefetch size
- Annotation drift ใน tracking: เพิ่ม keyframes บ่อยขึ้น โดยเฉพาะอย่างยิ่งระหว่างการเคลื่อนไหวที่รวดเร็วหรือ occlusions
- Labels ที่สับสน: refactor ontology ย้าย specifics ไปยัง attributes ให้ตัวอย่างภาพ
- Export mismatch: ตรวจสอบอีกครั้งว่า target training library คาดหวัง fields อะไร (เช่น YOLO class index mapping, COCO category IDs)
การบูรณาการเข้ากับ ML Pipeline ของคุณ
- Preprocessing: ปรับขนาด/normalize รูปภาพก่อนอัปโหลดเพื่อเร่ง annotation
- Automation: Pre-label ด้วย model อย่างรวดเร็ว แก้ไขใน CVAT จากนั้นทำซ้ำ
- CI สำหรับข้อมูล: ปฏิบัติต่อ labels เหมือน code—versioned exports, checksums และ changelogs
- Storage: ใช้ cloud buckets และ lifecycle policies สำหรับ large video datasets
สิ่งที่ควรทราบ: หากคุณใช้ AI assistants เพื่อจัดทำเอกสาร guidelines สร้าง label taxonomies หรือสรุป reviewer feedback เครื่องมืออย่าง Sider.AI สามารถช่วยคุณสร้าง instructions ที่ชัดเจนและ checklists การ review ที่สอดคล้องกันได้ คุณสามารถบันทึกการตัดสินใจ สร้างตัวอย่าง และเปลี่ยนเป็น playbooks ที่แชร์ได้สำหรับทีมของคุณ ดู Sider.AI สำหรับข้อมูลเพิ่มเติม แผนเริ่มต้น 30 นาที
- 5 นาที: ติดตั้งและเปิด CVAT ในเครื่อง
- 5 นาที: สร้าง Project ด้วย labels 3–5 รายการและ attributes 2 รายการ
- 5 นาที: สร้าง Task ด้วยรูปภาพ 100 รูป
- 10 นาที: ใส่คำอธิบายประกอบรูปภาพ 20 รูปโดยใช้ boxes เรียนรู้ shortcuts
- 5 นาที: Export ไปยัง YOLO และรัน training pass อย่างรวดเร็ว
เมื่อถึงตอนท้าย คุณจะมี loop ที่สมบูรณ์ตั้งแต่รูปภาพดิบไปจนถึงชุดข้อมูลที่ฝึกได้
แหล่งข้อมูลเพิ่มเติม
- CVAT basics และ tutorials จากทีม
- รายละเอียดการติดตั้งและการกำหนดค่า
- เซิร์ฟเวอร์อิมเมจและ container references
- งานวิจัยเกี่ยวกับ interactive/self-annotation สำหรับวิดีโอเพื่อสร้างแรงบันดาลใจให้เวิร์กโฟลว์ที่เร็วขึ้น
ประเด็นสำคัญ
- กำหนด labels ของคุณก่อน—การออกแบบ schema ช่วยป้องกันความยุ่งยากในภายหลัง
- ใช้ interpolation และ tracking สำหรับวิดีโอ keyframe อย่างชาญฉลาด
- Auto-annotation เร่งความเร็วในการทำงาน human review ช่วยให้มั่นใจในคุณภาพ
- Export ในรูปแบบที่ training code ของคุณต้องการ version ทุกอย่าง
- เริ่มต้นเล็กๆ ทำซ้ำอย่างรวดเร็ว และปรับขนาดด้วย guidelines ที่ชัดเจน
คำถามที่พบบ่อย
Q1: CVAT คืออะไรและฉันจะใช้สำหรับการใส่คำอธิบายประกอบรูปภาพได้อย่างไร
CVAT เป็นแพลตฟอร์มการติดป้ายกำกับบนเบราว์เซอร์สำหรับรูปภาพและวิดีโอ สร้างโปรเจ็กต์ กำหนดป้ายกำกับ อัปโหลดข้อมูลเป็นงาน ใส่คำอธิบายประกอบด้วยกล่องหรือรูปหลายเหลี่ยม และส่งออกในรูปแบบต่างๆ เช่น COCO หรือ YOLO
Q2: ฉันจะติดตั้ง CVAT ได้อย่างรวดเร็วได้อย่างไร
วิธีที่ง่ายที่สุดคือการใช้ Docker ทำตามขั้นตอนการติดตั้งอย่างเป็นทางการเพื่อเริ่มเซิร์ฟเวอร์ในเครื่อง จากนั้นเข้าถึง Web UI ในเบราว์เซอร์ของคุณสำหรับการตั้งค่าและการสร้างผู้ใช้
Q3: CVAT สามารถใส่คำอธิบายประกอบอัตโนมัติหรือช่วยในการติดตามในวิดีโอได้หรือไม่
ได้ CVAT รองรับการแก้ไขและการติดตามเพื่อเผยแพร่คำอธิบายประกอบข้ามเฟรม และสามารถรวมการติดป้ายกำกับด้วยความช่วยเหลือจากโมเดลเพื่อติดป้ายกำกับวัตถุล่วงหน้าและเร่งการตรวจสอบ
Q4: CVAT รองรับรูปแบบการส่งออกใดบ้าง
การส่งออกทั่วไป ได้แก่ COCO, YOLO และ Pascal VOC เลือกรุ่นที่ตรงกับสคีมาและดัชนีคลาสที่คาดหวังของเฟรมเวิร์กการฝึกอบรมของคุณ
Q5: ฉันจะจัดการทีมและการควบคุมคุณภาพใน CVAT ได้อย่างไร
สร้างโปรเจ็กต์ด้วยป้ายกำกับที่แชร์ แบ่งงานออกเป็นงาน มอบหมายบทบาท (ผู้ใส่คำอธิบายประกอบ ผู้ตรวจสอบ) และใช้การตรวจสอบ ความคิดเห็น งานทองคำ และการตรวจสอบการทับซ้อนกันเพื่อให้มั่นใจในคุณภาพที่สอดคล้องกัน