วิธีใช้งาน Label Studio: คู่มือฉบับสมบูรณ์ ไม่เยิ่นเย้อ สำหรับปี 2025
หากคุณกำลังพัฒนา Computer Vision, NLP หรือ Multimodal AI คุณอาจจะต้องเผชิญกับปัญหาคอขวดเดียวกัน: ข้อมูลที่มีป้ายกำกับคุณภาพสูง Label Studio ซึ่งเป็นแพลตฟอร์มติดป้ายกำกับข้อมูลแบบโอเพนซอร์ส ช่วยให้คุณควบคุมการใส่คำอธิบายประกอบรูปภาพ, ข้อความ, เสียง, ชุดข้อมูลอนุกรมเวลา (Time series) และวิดีโอได้อย่างยืดหยุ่น โดยไม่ต้องผูกมัดคุณกับ ML Stack ใด ๆ ในบทช่วยสอนเชิงปฏิบัติแบบทีละขั้นตอน เราจะแสดงวิธีใช้ Label Studio ตั้งแต่การติดตั้งไปจนถึงการส่งออก เพื่อให้คุณสามารถเปลี่ยนจาก “โปรเจ็กต์ว่างเปล่า” ไปสู่ “ป้ายกำกับที่พร้อมสำหรับการใช้งานจริง” ได้อย่างมั่นใจ
เราจะทำตามรูปแบบที่เน้นการแก้ปัญหาและใช้งานได้จริง: ขั้นตอนสั้น ๆ การตัดสินใจที่ชัดเจน และเคล็ดลับที่เป็นประโยชน์เพื่อหลีกเลี่ยงข้อผิดพลาดทั่วไป
สิ่งที่คุณจะได้เรียนรู้
- วิธีการติดตั้งและเปิดใช้งาน Label Studio
- วิธีการสร้างโปรเจ็กต์แรกของคุณและเลือกเทมเพลตการติดป้ายกำกับ
- วิธีการนำเข้าข้อมูล (ไฟล์ในเครื่อง, Cloud Buckets, URLs)
- วิธีการตั้งค่าอินเทอร์เฟซการติดป้ายกำกับสำหรับรูปภาพ, ข้อความ, เสียง หรือวิดีโอ
- วิธีการจัดการผู้ติดป้ายกำกับ, การตรวจสอบ และการประกันคุณภาพ
- วิธีการส่งออกคำอธิบายประกอบไปยังรูปแบบที่เข้ากันได้กับไปป์ไลน์การฝึกอบรมของคุณ
สิ่งที่ควรทราบ: หากคุณกำลังจัดการงานวิจัยแบบหลายโมเดล หรือร่างเอกสารชุดข้อมูล (Dataset Documentation) ซึ่งเป็น AI Copilot สามารถช่วยสร้างแนวทางสำหรับงานหรือสรุปนโยบายคำอธิบายประกอบโดยอัตโนมัติเพื่อให้ทีมสอดคล้องกัน คุณสามารถตรวจสอบได้ที่ Sider.ai. ทำไมต้อง Label Studio?
- รูปแบบที่ยืดหยุ่น: กำหนดค่าการติดป้ายกำกับที่กำหนดเองสำหรับ Bounding Boxes, รูปหลายเหลี่ยม (Polygons), Keypoints, Text Spans, ความสัมพันธ์, Audio Regions และอื่น ๆ
- ประเภทข้อมูลที่หลากหลาย: รูปภาพ, ข้อความ, เสียง, HTML, ชุดข้อมูลอนุกรมเวลา (Time series) และวิดีโอ
- ขั้นตอนการทำงานของทีม: มอบหมายงาน, เปิดใช้งาน Consensus, ตรวจสอบคำอธิบายประกอบ และจัดการคุณภาพ
- ขยายได้: ผสานรวมกับ Storage Backends, Webhooks และการติดป้ายกำกับโดยใช้ Model-assisted
สำหรับภาพรวมและการดาวน์โหลดอย่างเป็นทางการ โปรดดูที่โฮมเพจ Label Studio
ขั้นตอนที่ 1: ติดตั้ง Label Studio
คุณสามารถเรียกใช้ Label Studio ในเครื่องของคุณด้วย Python หรือ Docker เลือกวิธีใดวิธีหนึ่ง:
ตัวเลือก A: Python (pip)
# สร้างสภาพแวดล้อมเสมือน (แนะนำ)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# ติดตั้ง Label Studio
pip install label-studio
# เปิดใช้งาน
label-studio start
จากนั้นไปที่ URL ในเครื่องที่พิมพ์ออกมา (มักจะเป็น `).
ตัวเลือก B: Docker
docker run -it -p 8080:8080 heartexlabs/label-studio:latest
หากคุณยังใหม่กับ Label Studio คู่มือ “เริ่มต้นใช้งาน” อย่างเป็นทางการนั้นกระชับและมีการอัปเดตเป็นประจำ และ Quick Start จะเน้นที่ขั้นตอนที่น้อยที่สุดในการติดป้ายกำกับชุดข้อมูลตัวอย่าง
เคล็ดลับมือโปร: สำหรับทีม ให้พิจารณาฐานข้อมูลที่มีการจัดการ (PostgreSQL) และ Storage ที่ Mount แล้วเพื่อความยืดหยุ่น
ขั้นตอนที่ 2: สร้างโปรเจ็กต์
- เข้าสู่ระบบ UI แล้วคลิก “สร้างโปรเจ็กต์”
- ตั้งชื่อที่ชัดเจน (เช่น “Retail Shelf Detection v1”) และคำอธิบาย (รวมถึงเวอร์ชันและวัตถุประสงค์ของชุดข้อมูล)
- เลือก “การตั้งค่าการติดป้ายกำกับ” คุณสามารถ:
- เริ่มต้นจากเทมเพลต (เช่น Object Detection, NER, Sentiment, Audio Regions)
- หรือเขียน XML Config ที่กำหนดเองเพื่อปรับแต่งเครื่องมือและ Classes
Quick Start Wizard จะช่วยคุณเลือกเทมเพลต เปลี่ยนชื่อ Classes และบันทึก Config
ขั้นตอนที่ 3: นำเข้าข้อมูลของคุณ
คุณสามารถนำเข้าข้อมูลผ่าน UI หรือ API เส้นทางทั่วไป:
- อัปโหลดไฟล์ในเครื่อง (Drag-and-drop)
- ระบุ URLs ไปยังไฟล์ระยะไกล
- เชื่อมต่อ Cloud Storage (S3, GCS, Azure Blob) ผ่านการตั้งค่า
- ใช้ REST API สำหรับการนำเข้าโปรแกรม
บันทึกข้อมูลมักจะมี Payload data ที่ชี้ไปยัง Asset ของคุณ (เช่น "image": " หรือ "text": "This is a sentence."`). รักษาสถานะชื่อไฟล์ให้คงที่เพื่อลดความซับซ้อนในการ Mapping ระหว่างการส่งออก
เคล็ดลับด้านคุณภาพ: กำหนดเวอร์ชันชุดข้อมูลของคุณและเก็บ Manifest ของ Source → Annotation Export เพื่อให้คุณสามารถสร้าง Training Runs ซ้ำได้
ขั้นตอนที่ 4: กำหนดค่าอินเทอร์เฟซการติดป้ายกำกับ
อินเทอร์เฟซการติดป้ายกำกับจะกำหนดเครื่องมือและ Classes คุณจะเห็น XML-like config ที่คุณเลือก Components เช่น RectangleLabels, PolygonLabels, KeyPointLabels, TextArea, Choices, Audio, TimeSeries ฯลฯ
ตัวอย่าง:
Image Object Detection
<View>
<Image name="img" value="$image"/>
<RectangleLabels name="label" toName="img">
<Label value="Product" background="#34D399"/>
<Label value="PriceTag" background="#60A5FA"/>
</RectangleLabels>
</View>
Text Named Entity Recognition (NER)
<View>
<Text name="txt" value="$text"/>
<Labels name="label" toName="txt">
<Label value="ORG"/>
<Label value="PERSON"/>
<Label value="LOC"/>
</Labels>
</View>
Audio Region Labeling
<View>
<Audio name="audio" value="$audio"/>
<Labels name="label" toName="audio">
<Label value="Speech"/>
<Label value="Noise"/>
<Label value="Music"/>
</Labels>
</View>
เริ่มต้นด้วยเทมเพลตที่ใกล้เคียงกับงานของคุณมากที่สุดแล้วทำซ้ำ รักษาสถานะชื่อ Class ให้คงที่ในทุกเวอร์ชันเพื่อให้การรวมชุดข้อมูลเป็นเรื่องง่าย
ขั้นตอนที่ 5: แนวทางปฏิบัติที่ดีที่สุดในการติดป้ายกำกับ
- กำหนดแนวทางที่ชัดเจน: รวมตัวอย่างคำอธิบายประกอบที่ถูกต้องและไม่ถูกต้อง และกรณีพิเศษ
- ใช้ Hotkeys: ฝึกความเร็วและความสอดคล้องโดยเรียนรู้คีย์บอร์ดช็อตคัตสำหรับเครื่องมือของคุณ
- ปรับเทียบตั้งแต่เนิ่นๆ: ให้ผู้ติดป้ายกำกับ 2–3 คนใส่คำอธิบายประกอบรายการเดียวกัน 50–100 รายการ เปรียบเทียบผลลัพธ์ และปรับแต่งคู่มือ
- เพิ่ม Pre-annotations: หากคุณมี Baseline Model ให้นำเข้าการคาดการณ์เพื่อเพิ่มความเร็วในการแก้ไข
- สร้างสมดุลระหว่างปริมาณงานและคุณภาพ: ใช้ Consensus หรือ Review Queues เมื่อมีความเสี่ยงสูง
อีกอย่างคือ สำหรับการเขียนแนวทางการใส่คำอธิบายประกอบที่คมชัดและสอดคล้องกัน หรือการแปลงความรู้ในโดเมนให้เป็น Checklists ที่เป็นมิตรกับผู้ติดป้ายกำกับ สามารถร่างและปรับปรุงคำแนะนำได้อย่างรวดเร็ว พร้อมทั้งเก็บ Changelog ที่ทีมสามารถติดตามได้
ขั้นตอนที่ 6: จัดการผู้ติดป้ายกำกับ, การตรวจสอบ และ QA
Label Studio รองรับทีม:
- มอบหมายงานให้กับ Annotators ที่เฉพาะเจาะจง
- เปิดใช้งานขั้นตอนการตรวจสอบ/อนุมัติ
- ติดตามความคืบหน้าและประสิทธิภาพของผู้ติดป้ายกำกับ
- ใช้ Consensus (คำอธิบายประกอบหลายรายการต่องาน) เพื่อวัดข้อตกลง
กำหนดเกณฑ์การยอมรับที่ชัดเจน (เช่น เกณฑ์ IoU สำหรับ Boxes, กฎ Span Boundary, ระยะเวลา Audio Region ขั้นต่ำ) และบังคับใช้ระหว่างการตรวจสอบ
การตรวจสอบ QA ทั่วไป:
- ป้ายกำกับหายไปหรือ Classes ไม่ถูกต้อง
- ความกระชับของ Bounding Box ไม่สอดคล้องกัน
- Entities ที่ทับซ้อนกันใน NER
- คำจำกัดความที่เปลี่ยนแปลงไปเมื่อเวลาผ่านไป (อัปเดตคู่มือ!)
ขั้นตอนที่ 7: ส่งออกคำอธิบายประกอบ
เมื่อ Batch ของคุณพร้อมแล้ว ให้ส่งออกคำอธิบายประกอบสำหรับการฝึกอบรม Label Studio จัดเก็บคำอธิบายประกอบในรูปแบบ JSON ภายในและช่วยให้คุณส่งออกไปยังหลายรูปแบบ ดูเอกสารการส่งออกอย่างเป็นทางการสำหรับรายการและขั้นตอนปัจจุบัน
รูปแบบทั่วไป ได้แก่:
- Raw Label Studio JSON (สมบูรณ์และไม่สูญเสียข้อมูลมากที่สุด)
- COCO (สำหรับการตรวจจับ/การแบ่งส่วน)
- YOLO (สำหรับการตรวจจับวัตถุ)
- CSV/TSV สำหรับงานที่ง่ายกว่า
ข้อควรจำ:
- เครื่องมือบางอย่าง (เช่น Brush/Segmentations) ไม่สามารถ Mapping ไปยังรูปแบบบางรูปแบบได้อย่างหมดจด COCO และ YOLO อาจไม่รองรับ Free-form Brushes โดยตรง ดูคำแนะนำจากชุมชนเกี่ยวกับข้อควรระวังในการส่งออก Segmentation
- Converters มีอยู่สำหรับการแปลง Label Studio JSON เป็น YOLO แต่ช่องว่างอาจเกิดขึ้นได้ขึ้นอยู่กับเครื่องมือการติดป้ายกำกับที่ใช้และ Metadata ที่คุณเก็บรักษาไว้
ขั้นตอนการส่งออกเชิงปฏิบัติ:
- เรียกใช้การทดสอบการส่งออกขนาดเล็กตั้งแต่เนิ่นๆ ตรวจสอบว่าสคริปต์การฝึกอบรมของคุณแยกวิเคราะห์ได้
- ล็อก Export Preset ของคุณ (ลำดับ Class, ข้อสันนิษฐานเกี่ยวกับความละเอียด ฯลฯ)
- จัดทำเอกสารขั้นตอนการแปลงใดๆ (สคริปต์, Version Hashes) เพื่อความสามารถในการทำซ้ำ
ขั้นตอนที่ 8: ผสานรวมกับ ML Pipeline ของคุณ
- ใช้ API เพื่อดึงคำอธิบายประกอบที่เสร็จสมบูรณ์ลงใน Training Jobs ของคุณ
- รักษาสถานะ Splits ให้เป็น Deterministic: แนบ Metadata เช่น
split: train/val/test ไปยัง Tasks
- กำหนดเวอร์ชันทุกอย่าง: Dataset Manifests, Annotation Exports, Model Configs
- ปิด Loop: เรียกใช้ Error Analysis, ระบุ Failure Clusters และกำหนดเวลา Relabeling Rounds
รูปแบบ Workflow:
- Mine Hard Examples จาก Model Errors
Active-learning Loop นี้ช่วยเพิ่มคุณภาพได้เร็วกว่าการติดป้ายกำกับแบบ Brute-force
การแก้ไขปัญหาทั่วไป
- “Export ของฉันไม่โหลดเข้าสู่ YOLO/COCO”
- ตรวจสอบ Tool Compatibility (เช่น Brushes กับ Polygons) แปลงเป็น Shapes ที่เข้ากันได้เมื่อเป็นไปได้ และปรึกษาเอกสารการส่งออกและ Notes ของชุมชน
- “ป้ายกำกับไม่ตรงกับลำดับ Class การฝึกอบรมของฉัน”
- แก้ไขลำดับตั้งแต่เนิ่นๆ สร้างมาตรฐานชื่อป้ายกำกับและรักษาสถานะ Mapping ใน Pipeline ของคุณ
- “Annotators ไม่เห็นด้วยจำนวนมาก”
- เพิ่ม Calibration Rounds, ชี้แจงกฎ และพิจารณา Consensus หรือ Arbitration Steps
- ใช้ Pre-annotations, Hotkeys และ Tool-specific Speedups (เช่น Auto-segment, Snapping) Prune Low-value Tasks
รายการตรวจสอบเริ่มต้นอย่างรวดเร็ว 30 นาที
- ติดตั้ง Label Studio (pip หรือ Docker)
- สร้างโปรเจ็กต์ด้วยเทมเพลตที่เกี่ยวข้องมากที่สุด
- นำเข้า 50–100 Sample Items
- ร่างแนวทางพร้อม Edge Cases และตัวอย่าง
- มอบหมายผู้ติดป้ายกำกับสองคนสำหรับ Calibration Batch
- ตรวจสอบข้อขัดแย้งและอัปเดตกฎ
- ทดสอบการส่งออกไปยัง Training Code ของคุณ
สำหรับ Walkthrough อย่างเป็นทางการและกระชับ โปรดกลับไปดู “Getting Started” และ “Quick Start” Guide
เคล็ดลับขั้นสูงสำหรับ Power Users
- Custom Widgets: ขยายอินเทอร์เฟซสำหรับ Tool เฉพาะโดเมน
- Webhooks: เรียกใช้ Jobs (เช่น เริ่มต้นการแปลงหรือ Model Training) เมื่อ Tasks เสร็จสมบูรณ์
- Model-assisted Labeling: ใช้ Pre-labels จาก In-house หรือ Cloud Models ของคุณเพื่อลดงาน Manual
- Data Privacy: เรียกใช้ On-prem, จำกัดการส่งออก และบันทึกการเข้าถึงสำหรับ Regulated Datasets
- Analytics: ติดตาม Per-class Distribution และ Per-labeler Metrics เพื่อตรวจสอบ Skew
บทสรุป: จาก Prototype สู่ Datasets ที่พร้อมสำหรับการใช้งานจริง
Label Studio ช่วยให้คุณเปลี่ยนจากแนวคิดไปสู่ Training Data ที่สอดคล้องกันได้อย่างรวดเร็ว: เลือกเทมเพลต กำหนด Schema ของคุณ ปรับเทียบทีมของคุณ และส่งออกในรูปแบบที่ Models ของคุณต้องการ รักษาสถานะแนวทางของคุณให้มีชีวิตชีวา ตรวจสอบ Export ตั้งแต่เนิ่นๆ และปิด Loop ด้วย Active Learning ด้วยนิสัยเหล่านั้น คุณจะใช้เวลาน้อยลงในการต่อสู้กับรูปแบบ และใช้เวลามากขึ้นในการจัดส่ง Models ที่ใช้งานได้
สำหรับ Deep Dives และ Templates เพิ่มเติม โปรดดู:
- Export Formats และข้อควรระวัง
FAQ
Q1:Label Studio ใช้สำหรับอะไร?
Label Studio เป็นแพลตฟอร์มโอเพนซอร์สสำหรับใส่คำอธิบายประกอบรูปภาพ, ข้อความ, เสียง, ชุดข้อมูลอนุกรมเวลา และวิดีโอ ช่วยให้คุณออกแบบอินเทอร์เฟซการติดป้ายกำกับที่กำหนดเองและส่งออกคำอธิบายประกอบไปยังรูปแบบที่ ML Training Pipelines ของคุณสามารถใช้ได้
Q2:ฉันจะเริ่มต้นโปรเจ็กต์ใหม่ใน Label Studio ได้อย่างไร?
สร้างโปรเจ็กต์จาก UI เลือกเทมเพลตที่ตรงกับงานของคุณ และปรับแต่ง Labeling Config จากนั้นนำเข้าข้อมูล (ไฟล์ในเครื่อง, URLs หรือ Cloud Storage) และมอบหมายงานให้กับ Annotators
Q3:Label Studio รองรับรูปแบบการส่งออกใดบ้าง?
คุณสามารถส่งออก Raw JSON รวมถึงรูปแบบต่างๆ เช่น COCO, YOLO, Pascal VOC และ CSV/TSV เครื่องมือบางอย่าง (เช่น Brush Masks) อาจไม่สามารถ Mapping ไปยังทุกรูปแบบได้ ตรวจสอบเอกสารการส่งออกสำหรับรายละเอียด
Q4:ฉันจะเพิ่มความเร็วในการติดป้ายกำกับใน Label Studio ได้อย่างไร?
ใช้ Pre-annotations จาก Baseline Model เรียนรู้ Hotkeys และลดความซับซ้อนของ Label Schema ของคุณ เรียกใช้ Calibration Rounds เพื่อลด Rework และตั้งค่า Review Criteria เพื่อตรวจจับข้อผิดพลาดตั้งแต่เนิ่นๆ
Q5:ฉันสามารถเรียกใช้ Label Studio กับทีมได้หรือไม่?
ได้ มอบหมายงานให้กับ Annotators เปิดใช้งานการตรวจสอบ และใช้ Consensus เพื่อวัดข้อตกลง จัดเก็บข้อมูลและคำอธิบายประกอบใน Backends ที่เชื่อถือได้ และทำให้การส่งออกเป็นอัตโนมัติด้วย Webhooks หรือ API