YOLO - You Only Look Once
เทคโนโลยี Object Detection ที่ปฏิวัติวงการ Computer Vision ด้วยอัลกอริธึมที่ทำงานแบบ Real-time สำหรับการตรวจจับตำแหน่งและขอบเขตของเครื่องมือวัดอย่างแม่นยำและรวดเร็วเป็นพิเศษ ผ่านการประมวลผลภาพเพียงครั้งเดียวเท่านั้น ทำให้สามารถตรวจจับและจำแนกเครื่องมือวัดหลายชิ้นในภาพเดียวได้พร้อมกัน ด้วยประสิทธิภาพที่เหนือกว่าระบบดั้งเดิมอย่างมีนัยสำคัญ
YOLO คืออะไร?
YOLO (You Only Look Once) คืออัลกอริธึม Object Detection ที่ปฏิวัติวงการ Computer Vision ด้วยความสามารถในการตรวจจับและจำแนกวัตถุหลายชนิดในภาพเดียวได้อย่างแม่นยำและรวดเร็วเป็นพิเศษ โดยต่างจากระบบแบบดั้งเดิมที่ต้องสแกนภาพหลายครั้ง YOLO ทำงานได้ในการประมวลผลเพียงครั้งเดียว ทำให้เหมาะสำหรับการใช้งานแบบ Real-time ในสภาพแวดล้อมอุตสาหกรรมที่ต้องการความเร็วและความแม่นยำสูง
หลักการทำงานของ YOLO
- Single Neural Network: ใช้โครงข่ายประสาทเทียมเพียงตัวเดียว
- Grid Division: แบ่งภาพเป็น Grid เพื่อตรวจจับวัตถุ
- Bounding Box: กำหนดกรอบครอบวัตถุและความน่าจะเป็น
ข้อดีของ YOLO
- ความเร็วสูง เหมาะสำหรับ Real-time
- ตรวจจับหลายวัตถุในภาพเดียวได้
- ใช้ทรัพยากรคอมพิวเตอร์น้อย
YOLO Detection Process
การใช้ YOLO ในการตรวจจับเกจ
ขั้นตอนการทำงานของ YOLO ในระบบ GaugeSnap
Gauge Localization
ตรวจหาตำแหน่งของเกจในภาพและกำหนดขอบเขต (Bounding Box)
Multi-Gauge Detection
ตรวจจับเกจหลายตัวในภาพเดียว พร้อมระบุประเภทของแต่ละเกจ
Confidence Scoring
ให้คะแนนความเชื่อมั่นสำหรับการตรวจจับแต่ละเกจ
ROI Extraction
ตัดภาพเกจออกมาเป็น Region of Interest สำหรับการประมวลผลต่อ
ประวัติการพัฒนา YOLO
การวิวัฒนาการของ YOLO ตั้งแต่เวอร์ชันแรกจนถึงปัจจุบัน และความเหมาะสมในการใช้งานแต่ละประเภท
หมายเหตุ: นอกเหนือจากเวอร์ชัน Official แล้ว ยังมีเวอร์ชัน Unofficial และ Research variants ที่พัฒนาโดยชุมชนและสถาบันวิจัยต่างๆ จนถึงเวอร์ชัน 12 ในปัจจุบัน ซึ่งมีการปรับปรุงเทคนิคและประสิทธิภาพอย่างต่อเนื่อง
YOLO v1 (2016)
ผู้บุกเบิก
ผู้พัฒนา: Joseph Redmon และ Ali Farhadi (University of Washington)
ปีที่เปิดตัว: 2016 | Paper: "You Only Look Once: Unified, Real-Time Object Detection"
จุดเด่น:
- • ปฏิวัติการ Object Detection ด้วยแนวคิด "Single Shot"
- • เร็วกว่า R-CNN มากมาย (45 FPS vs 0.05 FPS)
- • เหมาะสำหรับ Real-time Applications
- • สถาปัตยกรรมง่าย เข้าใจได้
- • ตรวจจับวัตถุทั้งภาพด้วย Neural Network ครั้งเดียว
ข้อจำกัด:
- • ความแม่นยำต่ำกว่า Two-Stage Methods
- • ตรวจจับวัตถุเล็กได้ไม่ดี
- • จำกัดที่ 2 objects ต่อ grid cell
- • วัตถุที่ติดกันมากตรวจจับยาก
- • Localization Error สูง
เหมาะสำหรับงาน:
งานที่ต้องการความเร็วสูงมาก แต่ไม่เน้นวัตถุเล็ก เช่น การตรวจจับคนเดินถนนแบบเรียลไทม์, การเฝ้าระวังแบบเบื้องต้น, การนับวัตถุขนาดใหญ่
YOLO v2 - YOLO9000 (2017)
Multi-class
นวัตกรรม: Anchor boxes, Batch normalization, High-resolution classifier
ความสามารถ: ตรวจจับได้มากกว่า 9,000 คลาส ร่วมกับ WordTree + ImageNet/COCO
การพัฒนาสำคัญ:
- • ใช้ Anchor boxes เพิ่ม recall
- • Dimension clusters สำหรับ anchor sizes
- • Direct location prediction
- • Multi-scale training (320x320 - 608x608)
- • WordTree hierarchy สำหรับ classification
ผลลัพธ์:
- • แม่นยำขึ้นกว่า YOLOv1 มาก
- • ความเร็วยังคงใกล้เคียงกัน
- • รองรับการตรวจจับหลายคลาสพร้อมกัน
- • Better generalization
เหมาะสำหรับงาน:
งานทั่วไปที่ต้องการตรวจจับหลายคลาสพร้อมกัน เช่น ระบบกล้องวงจรปิด, traffic monitoring, การเฝ้าระวังพื้นที่สาธารณะ
YOLO v3 (2018)
Multi-scale
สถาปัตยกรรม: Darknet-53 (Residual network)
จุดเด่น: ตรวจจับวัตถุหลายขนาด (multi-scale detection)
นวัตกรรมใหม่:
- • Darknet-53 backbone (53 layers)
- • Feature Pyramid Networks (FPN)
- • 3 different scales (13x13, 26x26, 52x52)
- • Binary cross-entropy loss
- • Independent logistic classifiers
ความสามารถ:
- • ความแม่นยำดีขึ้นมาก โดยเฉพาะวัตถุเล็ก
- • ยังทำงานได้แบบเรียลไทม์
- • การตรวจจับหลายขนาดในภาพเดียว
- • Robust กับการเปลี่ยนแปลงขนาด
เหมาะสำหรับงาน:
งานอุตสาหกรรม เช่น ตรวจสอบชิ้นงาน, อ่านเกจ, ตรวจสอบสินค้า, งาน LPR (License Plate Recognition), การตรวจจับข้อบกพร่องขนาดเล็ก
YOLO v4 (2020)
ยุคทอง
ผู้พัฒนา: Alexey Bochkovskiy
จุดเปลี่ยน: รวม State-of-the-art techniques เข้าด้วยกัน
นวัตกรรมสำคัญ:
- • CSPDarknet53 backbone
- • PANet neck architecture
- • Bag of Freebies (BoF)
- • Bag of Specials (BoS)
- • Mosaic data augmentation
- • Self-Adversarial Training (SAT)
ผลการทดสอบ:
- • mAP: 43.5% (MS COCO)
- • Speed: 65 FPS (Tesla V100)
- • แม่นยำกว่า YOLOv3 มาก
- • เร็วกว่า EfficientDet
- • ใช้ทรัพยากรพอเหมาะ
เหมาะสำหรับงาน:
งานอุตสาหกรรมที่ต้องการความสมดุลระหว่างความเร็วและความแม่นยำ เช่น ระบบ Quality Control, การตรวจสอบความปลอดภัย, การติดตาม Inventory, ระบบเฝ้าระวังขั้นสูง, การตรวจจับข้อบกพร่องในสายการผลิต
YOLO v5 (2020)
PyTorch
ผู้พัฒนา: Ultralytics (Glenn Jocher)
จุดเด่น: เปลี่ยนจาก Darknet เป็น PyTorch, ใช้งานง่าย
จุดเด่น:
- • เขียนด้วย PyTorch (ใช้ง่าย)
- • Auto-Anchor optimization
- • Model scaling (n, s, m, l, x)
- • Focus layer สำหรับ downsampling
- • Built-in augmentation techniques
- • Weights & Biases integration
Model Variants:
- • YOLOv5n: Nano (1.9MB, เร็วที่สุด)
- • YOLOv5s: Small (14MB, สมดุล)
- • YOLOv5m: Medium (42MB)
- • YOLOv5l: Large (90MB)
- • YOLOv5x: Extra Large (166MB, แม่นสุด)
เหมาะสำหรับงาน:
งานที่ต้องการความยืดหยุ่น เช่น การทดลองและการวิจัย, โปรเจกต์ที่ต้องการปรับแต่งบ่อย, การ Deploy บน Cloud, ระบบที่ต้องการ Model หลายขนาด, การทำ Transfer Learning
YOLO v5 (2020)
Unofficial - PyTorch
ผู้พัฒนา: Ultralytics (Glenn Jocher)
จุดเด่น: เปลี่ยนจาก Darknet เป็น PyTorch, ใช้งานง่ายมาก, ได้รับความนิยมสูง
จุดเด่น:
- • เขียนด้วย PyTorch (ใช้ง่ายกว่า Darknet)
- • Auto-Anchor optimization
- • รองรับ training, export, deployment สะดวก
- • Focus layer สำหรับ downsampling
- • Built-in augmentation techniques
- • Weights & Biases integration
Model Variants:
- • YOLOv5n: Nano (1.9MB, เร็วที่สุด)
- • YOLOv5s: Small (14MB, สมดุล)
- • YOLOv5m: Medium (42MB)
- • YOLOv5l: Large (90MB)
- • YOLOv5x: Extra Large (166MB, แม่นสุด)
เหมาะสำหรับงาน:
งาน production จริง, edge devices, mobile AI เพราะยืดหยุ่นและง่ายต่อการ deploy, งานที่ต้องการความยืดหยุ่น เช่น การทดลองและการวิจัย, โปรเจกต์ที่ต้องการปรับแต่งบ่อย
YOLO v6 (2022)
Industrial Focus
ผู้พัฒนา: Meituan
การปรับปรุง: Backbone, Neck, Label assignment เน้นงานอุตสาหกรรม
จุดเด่น:
- • เน้นการใช้งานในอุตสาหกรรม
- • เร็วมาก (1162 FPS บน CPU บางรุ่น)
- • RepBlock สำหรับ inference
- • Anchor-free design
- • Improved training strategies
- • Better industrial deployment
ประสิทธิภาพ:
- • ดีขึ้นโดยเฉพาะงานอุตสาหกรรม
- • เหมาะกับ edge deployment
- • ใช้ในระบบอีคอมเมิร์ซจริง
- • Optimized สำหรับ production
เหมาะสำหรับงาน:
งาน real-world production เช่น ตรวจสอบสินค้า, logistics, automated QC, อุตสาหกรรมที่ต้องการประมวลผลเร็วมาก, งาน High-throughput processing
YOLO v7 (2022)
SOTA Speed+Accuracy
ผู้พัฒนา: Wong Kin Yiu (ทีมเดียวกับ YOLOv4)
เทคนิคใหม่: E-ELAN, Trainable Bag-of-Freebies, Auxiliary Head
จุดเด่น:
- • Extended ELAN (E-ELAN)
- • Model scaling สำหรับ concatenation
- • Bag of freebies ขั้นสูง
- • Real-time ที่แม่นยำที่สุดในขณะนั้น
- • Compound scaling
ประสิทธิภาพ:
- • เร็วกว่ารุ่นอื่น (state-of-the-art)
- • mAP ดีขึ้นกว่า YOLOv5/v6
- • ความนิยมสูงในงานวิจัย
- • Balance ดีระหว่างความเร็วและความแม่นยำ
เหมาะสำหรับงาน:
งานที่ต้องการ high accuracy + high speed เช่น รถยนต์ไร้คนขับ (autonomous driving), AI camera ขั้นสูง, งานวิจัยที่ต้องการ Performance สูงสุด
YOLO v8, v9, YOLO-NAS (2023+)
ปัจจุบัน
YOLOv8: Ultralytics - Unified framework
YOLOv9: GELAN + PGI (2024)
YOLO-NAS: Neural Architecture Search (2023)
YOLOv8 นวัตกรรม:
- • Anchor-free design
- • C2f modules (แทน C3)
- • Decoupled head
- • Multi-task: Detection, Segmentation, Classification
- • Python-native API ใช้ง่ายที่สุด
- • เร็วขึ้น 2x จาก v5
รุ่นใหม่ล่าสุด:
- • YOLOv9: GELAN backbone, PGI
- • YOLO-NAS: Auto-optimized architecture
- • mAP50-95: 53.9% (YOLOv8x)
- • Speed: 280 FPS (A100)
- • สนับสนุน Export หลาย format
เหมาะสำหรับงาน:
YOLOv8: งานครบวงจร Computer Vision, Web API, Robotics, AIoT
YOLOv9: Cutting-edge AI, Autonomous Systems
YOLO-NAS: การแพทย์, industrial QC ขั้นสูง (precision สูงสุด)
YOLO Unofficial & Research Variants (v10-v12+)
Experimental
การพัฒนาต่อเนื่อง: ชุมชนนักพัฒนาและสถาบันวิจัยต่างๆ
เวอร์ชันปัจจุบัน: มีการพัฒนาจนถึงเวอร์ชัน 12 และยังคงเพิ่มขึ้น
แนวโน้มการพัฒนา:
- • การรวม Vision Transformer (ViT)
- • Attention mechanisms ขั้นสูง
- • Efficient model architectures
- • Specialized domain adaptations
- • Quantum computing integration
Research Directions:
- • 3D Object Detection
- • Multi-modal fusion
- • Edge-optimized variants
- • Domain-specific optimizations
- • Federated learning approaches
สิ่งที่ควรทราบ:
เวอร์ชัน unofficial และ research variants มักเน้นการทดลองเทคนิคใหม่ๆ อาจไม่เสถียรสำหรับการใช้งานจริง แต่เป็นแหล่งนวัตกรรมสำคัญ การเลือกใช้ควรพิจารณา stability และ community support
การเลือกใช้ YOLO สำหรับ Gauge Detection
🎯 ทำไม YOLO เหมาะกับการอ่านมาตรวัด?
Real-time Detection
ตรวจจับและอ่านค่ามาตรวัดได้ทันที ไม่ต้องรอประมวลผลนาน
Precise Localization
หาตำแหน่งเข็มและหน้าปัดได้อย่างแม่นยำ
Multi-Object Detection
อ่านหลายมาตรวัดพร้อมกันในภาพเดียว
Edge Deployment
ทำงานได้บนอุปกรณ์ edge โดยไม่ต้องใช้ server
Industrial Robustness
ทนต่อสภาวะแสงและมุมกล้องที่หลากหลาย
Scalable Architecture
ขยายระบบได้ง่าย รองรับมาตรวัดหลากหลายแบบ
🔧 เวอร์ชั่นที่แนะนำสำหรับแต่ละงาน
Production Ready
สำหรับการใช้งานจริงในโรงงาน มี Unity API และ documentation ครบถ้วน
มั่นคง เสถียร มี community support ดี เหมาะสำหรับระบบต้องการความน่าเชื่อถือสูง
High Speed
ความเร็วสูงสุด >1000 FPS เหมาะสำหรับการตรวจสอบแบบ real-time
สมดุลระหว่างความเร็วและความแม่นยำ เหมาะสำหรับ mobile deployment
High Accuracy
ความแม่นยำสูงสุด เหมาะสำหรับมาตรวัดที่ต้องการความแม่นยำสูง
สมดุลดี accuracy สูง มี official support ยาวนาน
💡 Tips สำหรับการ Implementation
- • เริ่มต้นด้วย YOLO v8s สำหรับ proof of concept
- • ใช้ pre-trained weights แล้ว fine-tune ด้วย gauge dataset
- • ทดสอบหลาย model size (s, m, l, x) เพื่อหา sweet spot
- • ปรับ confidence threshold ตาม use case (0.25-0.7)
- • ใช้ data augmentation เพื่อจำลองสภาวะแสงต่างๆ
- • monitor model performance และ update เป็นระยะ
เปรียบเทียบเวอร์ชัน YOLO
ประสิทธิภาพและความเหมาะสมในงานต่างๆ
| Version | Year | mAP (%) | FPS | Model Size | Best For |
|---|---|---|---|---|---|
| YOLO v1 | 2016 | 63.4 | 45 | ~200MB | Speed > Accuracy |
| YOLO v2 | 2017 | 78.6 | 67 | ~190MB | Multi-class Detection |
| YOLO v3 | 2018 | 55.3 | 20 | ~240MB | Small Objects |
| YOLO v4 | 2020 | 43.5 | 65 | ~245MB | Industrial Balance |
| YOLO v5s | 2020 | 37.4 | 714 | 14MB | PyTorch Flexibility |
| YOLO v6s | 2022 | 45.0 | 1162 | 18MB | Ultra Speed Industrial |
| YOLO v7 | 2022 | 51.4 | 161 | 75MB | SOTA Accuracy+Speed |
| YOLO v8s ⭐ | 2023 | 44.9 | 280 | 22MB | Multi-task Unified |
| YOLO-NAS | 2023 | 47.5 | 238 | 68MB | Auto-Optimized |
| YOLO v9 | 2024 | 53.0 | 192 | 101MB | Cutting-edge |
| YOLO v10+ | 2024+ | Varies | Varies | Varies | Experimental/Research |
หมายเหตุ: ข้อมูลประสิทธิภาพอาจแตกต่างกันตาม dataset, hardware, และการตั้งค่า | ⭐ = แนะนำสำหรับการใช้งานทั่วไป
งานที่ต้องการความเร็ว
แนะนำ: YOLOv6, YOLOv5n
- • Real-time video streaming
- • Edge computing applications
- • High-throughput processing
- • Resource-constrained environments
- • การประมวลผลแบบ Batch ขนาดใหญ่
งานที่ต้องการความแม่นยำ
แนะนำ: YOLOv7, YOLOv8x
- • Medical imaging analysis
- • Quality control inspection
- • Scientific research
- • Safety-critical applications
- • การตรวจจับข้อบกพร่องขนาดเล็ก
งานที่ต้องการความสมดุล
แนะนำ: YOLOv8s, YOLOv5s
- • Industrial automation
- • Security surveillance
- • Autonomous vehicles
- • Smart city applications
- • การตรวจสอบเกจและมิเตอร์
คุณสมบัติของ YOLOv8
เวอร์ชันล่าสุดที่ใช้ในระบบ GaugeSnap
การปรับปรุงทางเทคนิค
Anchor-Free Design
ไม่ต้องใช้ anchor boxes ที่กำหนดไว้ล่วงหน้า ทำให้มีความยืดหยุ่นมากขึ้น
- • ลดความซับซ้อนของโมเดล
- • เพิ่มความแม่นยำในการตรวจจับ
- • ง่ายต่อการปรับแต่ง
New Backbone
ใช้ C2f modules แทน C3 เพื่อเพิ่มประสิทธิภาพการสกัด features
- • การไหลของข้อมูลที่ดีขึ้น
- • ลดการใช้พารามิเตอร์
- • เพิ่มความเร็วในการประมวลผล
ประสิทธิภาพการทำงาน
Performance by Gauge Type
การประยุกต์ใช้ในอุตสาหกรรม
การใช้ YOLO ในงานประเภทต่างๆ และเวอร์ชันที่เหมาะสม
การผลิตและอุตสาหกรรม
ตรวจสอบคุณภาพสินค้า, การตรวจจับข้อบกพร่อง, การอ่านค่าเกจและมิเตอร์ในสายการผลิต
เวอร์ชันที่แนะนำ:
YOLOv8s, YOLOv4 (สมดุลความเร็ว-แม่นยำ)
งานที่เหมาะสม:
- • การตรวจสอบข้อบกพร่องแผงวงจรพิมพ์
- • การอ่านค่าจากเกจแรงดัน-อุณหภูมิ
- • การตรวจสอบการประกอบชิ้นส่วน
- • การนับและคัดแยกสินค้า
รักษาความปลอดภัย
การเฝ้าระวัง, การตรวจจับบุคคลและยานพาหนะ, การวิเคราะห์พฤติกรรมผิดปกติ
เวอร์ชันที่แนะนำ:
YOLOv5s, YOLOv6s (เร็ว, เหมาะ Real-time)
งานที่เหมาะสม:
- • การตรวจจับการบุกรุกพื้นที่
- • การนับคนผ่านเข้า-ออก
- • การตรวจจับยานพาหนะต้องสงสัย
- • การเฝ้าระวังพื้นที่สำคัญ 24/7
ยานพาหนะอัตโนมัติ
การตรวจจับวัตถุบนถนน, การจำแนกป้ายจราจร, การหลีกเลี่ยงอุปสรรค
เวอร์ชันที่แนะนำ:
YOLOv8m, YOLOv7 (แม่นยำสูง)
งานที่เหมาะสม:
- • การตรวจจับรถยนต์และผู้คนบนถนน
- • การอ่านป้ายจราจรและสัญญาณไฟ
- • การตรวจจับเส้นแบ่งช่องจราจร
- • การประเมินระยะห่างและความเร็ว
การแพทย์และสุขภาพ
การวิเคราะห์ภาพถ่ายทางการแพทย์, การตรวจสอบอุปกรณ์ทางการแพทย์
เวอร์ชันที่แนะนำ:
YOLOv8x, YOLOv7 (ความแม่นยำสูงสุด)
งานที่เหมาะสม:
- • การตรวจจับเซลล์ผิดปกติในภาพถ่าย
- • การอ่านค่าจากเครื่องมือทางการแพทย์
- • การตรวจสอบการสวมอุปกรณ์ป้องกัน
- • การวิเคราะห์ท่าทางและการเคลื่อนไหว
เกษตรกรรมอัจฉริยะ
การตรวจสอบพืชผล, การตรวจจับศัตรูพืช, การประเมินคุณภาพเกษตรกรรม
เวอร์ชันที่แนะนำ:
YOLOv8s, YOLOv5m (สมดุล)
งานที่เหมาะสม:
- • การตรวจจับโรคพืชจากใบไม้
- • การนับและประเมินผลผลิต
- • การตรวจจับแมลงศัตรูพืช
- • การคัดเกรดคุณภาพผลไม้
ค้าปลีกและอีคอมเมิร์ซ
การจัดการคลังสินค้า, การตรวจสอบสินค้า, การวิเคราะห์พฤติกรรมลูกค้า
เวอร์ชันที่แนะนำ:
YOLOv5s, YOLOv6s (เร็ว)
งานที่เหมาะสม:
- • การนับสต็อกสินค้าอัตโนมัติ
- • การตรวจสอบการจัดเรียงสินค้า
- • การวิเคราะห์การเดินทางของลูกค้า
- • การตรวจจับการขโมยสินค้า
ข้อมูลเทคนิคเชิงลึก
รายละเอียดสถาปัตยกรรมและการทำงานของ YOLO
สถาปัตยกรรม YOLO
1. Backbone Network
ใช้ Convolutional Neural Network สำหรับสกัด features จากภาพ
- v1-v3: Darknet (19, 53 layers)
- v4: CSPDarknet53
- v5: CSP-Darknet + Focus
- v8: CSPDarknet + C2f modules
2. Neck (Feature Fusion)
รวม features จากชั้นต่างๆ เพื่อตรวจจับวัตถุหลายขนาด
- v3: Feature Pyramid Network (FPN)
- v4: PANet (Path Aggregation)
- v5/v8: PANet + PAN
3. Detection Head
ทำนาย bounding boxes และ class probabilities
- Coupled Head: v1-v7 (แชร์ features)
- Decoupled Head: v8 (แยก classification และ regression)
- Output: [x, y, w, h, confidence, class_probs]
Loss Functions & Training
Loss Components
-
Localization Loss:
MSE (v1-v3) → IoU Loss (v4+) -
Classification Loss:
CrossEntropy → Binary CrossEntropy -
Objectness Loss:
Binary CrossEntropy
Training Strategies
- Data Augmentation: Mosaic, Mixup, CutMix
- Multi-scale Training: 320×320 to 608×608
- Label Smoothing: ลดการ overfitting
- Warm-up: ค่อยๆ เพิ่ม learning rate
- Cosine Annealing: การปรับ learning rate
Optimization Techniques
- NMS: Non-Maximum Suppression
- TTA: Test Time Augmentation
- Model Pruning: ลดขนาดโมเดล
- Quantization: INT8 สำหรับ inference
- TensorRT: GPU optimization
ตัวอย่างการใช้งาน
การประยุกต์ใช้ YOLO ในสถานการณ์จริง
โรงงานปิโตรเคมี
ใช้ YOLO ตรวจจับเกจแรงดันหลายตัวในภาพจากกล้องวงจรปิด ครอบคลุมพื้นที่ทั้งโรงงาน
Scenario:
กล้อง 1 ตัว ติดตั้งครอบคลุมเกจ 8 ตัว ในห้องควบคุมแรงดัน
Challenge:
เกจมีขนาดและตำแหน่งต่างกัน บางตัวอยู่ไกลจากกล้อง
Solution:
YOLO ตรวจจับเกจทั้งหมดในครั้งเดียว จากนั้นส่งต่อให้ CNN วิเคราะห์แต่ละเกจ
Result:
ประหยัดเวลาจากการตรวจสอบทีละเกจ 480 วินาที เหลือ 3 วินาที
การใช้งาน Python
ตัวอย่างโค้ดการใช้ YOLOv8 สำหรับตรวจจับเกจ
# YOLOv8 Gauge Detection
from ultralytics import YOLO
import cv2
# Load model
model = YOLO('gauge_detection_v8.pt')
# Load image
image = cv2.imread('factory_gauges.jpg')
# Run detection
results = model(image)
# Process results
for r in results:
boxes = r.boxes
for box in boxes:
# Get coordinates
x1, y1, x2, y2 = box.xyxy[0]
confidence = box.conf[0]
class_id = box.cls[0]
if confidence > 0.85:
# Extract gauge ROI
gauge_roi = image[y1:y2, x1:x2]
# Send to CNN for reading
value = cnn_gauge_reader(gauge_roi)
print(f"Gauge {class_id}: {value}")
เทคโนโลยีที่เกี่ยวข้อง
เทคโนโลยีอื่นๆ ที่ทำงานร่วมกับ YOLO