Instance Segmentation
इंस्टेंस सेगमेंटेशन ऑब्जेक्ट डिटेक्शन से एक कदम आगे जाता है और छवि में व्यक्ति ऑब्जेक्ट की पहचान करता है और उन्हें छवि के बाकी हिस्से से विभाजित करता है।
इंस्टेंस सेगमेंटेशन मॉडल का आउटपुट एक सेट मास्क या कंटोर होता है जो छवि में प्रत्येक ऑब्जेक्ट का संकेत देता है, साथ ही प्रत्येक ऑब्जेक्ट के लिए वर्ग लेबल और आत्मविश्वास स्कोर होता है। इंस्टेंस सेगमेंटेशन उपयोगी होता है जब आपको न केवल पता चलेगा कि छवि में ऑब्जेक्ट कहाँ हैं, बल्कि वास्तव में उनका वास्तविक आकार क्या है।
देखें: पायथन में पूर्व-प्रशिक्षित Ultralytics YOLOv8 मॉडल के साथ Segmentation चलाएं।
टिप
YOLOv8 Segment मॉडल yolov8n-seg.pt
का उपयोग करते हैं, और इसे COCO पर पूरी प्रशिक्षित किया जाता है।
मॉडल
YOLOv8 पूर्व प्रशिक्षित Segment मॉडल यहां दिखाए गए हैं। Detect, Segment और Pose मॉडल COCO डेटासेट पर पूर्व प्रशिक्षित हैं, जबकि Classify मॉडल ImageNet डेटासेट पर पूर्व प्रशिक्षित हैं।
मॉडल को उपयोग करके Ultralytics रिलीज़ से पूर्ण डाउनलोड होते हैंं।
मॉडल | आकार (पिक्सेल) |
mAPबॉक्स 50-95 |
mAPमास्क 50-95 |
स्पीड CPU ONNX (मि.सेकंड) |
स्पीड A100 TensorRT (मि.सेकंड) |
पैराम्स (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-seg | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-seg | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-seg | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-seg | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-seg | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
- mAPval मान एकल मॉडल एकल स्केल के लिए COCO val2017 डेटासेट पर होते हैं।
yolo val segment data=coco.yaml device=0
के द्वारा पुनर्जीवित किए जाएं। - स्पीड एक Amazon EC2 P4d इंस्टेंस का उपयोग करते हुए COCO val छवियों के बीच औसतन।
yolo val segment data=coco128-seg.yaml batch=1 device=0|cpu
के द्वारा पुनर्जीवित किए जा सकते हैं।
प्रशिक्षण
100 एपॉक्स पर 640 छवि के आकार के COCO128-seg डेटासेट पर YOLOv8n-seg को प्रशिक्षित करें। उपलब्ध तार्किक तर्क की पूरी सूची के लिए Configuration पृष्ठ देखें।
उदाहरण
from ultralytics import YOLO
# मॉडल लोड करें
model = YOLO('yolov8n-seg.yaml') # YAML से नया मॉडल बनाएं
model = YOLO('yolov8n-seg.pt') # पूर्व-प्रशिक्षित मॉडल लोड करें (प्रशिक्षण के लिए सिफारिश की जाती है)
model = YOLO('yolov8n-seg.yaml').load('yolov8n.pt') # YAML से नए मॉडल बनाएं और धारित करें
# मॉडल प्रशिक्षित करें
results = model.train(data='coco128-seg.yaml', epochs=100, imgsz=640)
# YAML से नया मॉडल बनाएं और शून्य से प्रशिक्षण शुरू करें
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.yaml epochs=100 imgsz=640
# पूर्व-प्रशिक्षित *.pt मॉडल से प्रशिक्षण शुरू करें
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.pt epochs=100 imgsz=640
# YAML से नया मॉडल बनाएं, पूर्व-प्रशिक्षित वजनों को इसे ट्रांसफर करें और प्रशिक्षण शुरू करें
yolo segment train data=coco128-seg.yaml model=yolov8n-seg.yaml pretrained=yolov8n-seg.pt epochs=100 imgsz=640
डेटासेट प्रारूप
YOLO सेगमेंटेशन डेटासेट प्रारूप डेटासेट गाइड में विस्तार से देखा जा सकता है। कृपया अपने मौजूदा डेटासेट को अन्य प्रारूपों (जैसे कि COCO आदि) से YOLO प्रारूप में परिवर्तित करने के लिए JSON2YOLO उपकरण का उपयोग करें।
मान्यता
COCO128-seg डेटासेट पर प्रशिक्षित YOLOv8n-seg मॉडल की सत्यापन करें। मॉडल
पास करने के लिए कोई तर्क आवश्यक नहीं होता है क्योंकि मॉडल
प्रशिक्षण के डेटा
और तर्कों का ध्यान रखता है।
उदाहरण
from ultralytics import YOLO
# मॉडल लोड करें
model = YOLO('yolov8n-seg.pt') # आधिकारिक मॉडल लोड करें
model = YOLO('path/to/best.pt') # कस्टम मॉडल लोड करें
# मॉडल की सत्यापना करें
metrics = model.val() # कोई तर्क आवश्यक नहीं है, डेटा और सेटिंग्स याद रखे जाते हैं
metrics.box.map # map50-95(B)
metrics.box.map50 # map50(B)
metrics.box.map75 # map75(B)
metrics.box.maps # एक सूची है जिसमें प्रत्येक श्रेणी का map50-95(B) होता है
metrics.seg.map # map50-95(M)
metrics.seg.map50 # map50(M)
metrics.seg.map75 # map75(M)
metrics.seg.maps # एक सूची है जिसमें प्रत्येक श्रेणी का map50-95(M) होता है
भविष्यवाणी
प्रशिक्षित YOLOv8n-seg मॉडल का उपयोग छवियों पर भविष्यवाणी करने के लिए करें।
उदाहरण
भविष्यवाणी मोड के पूर्ण विवरण को Predict पृष्ठ में देखें।
निर्यात
YOLOv8n-seg मॉडल को ONNX, CoreML आदि जैसे अन्य प्रारूप में निर्यात करें।
उदाहरण
YOLOv8-seg निर्यात प्रारूप निम्नलिखित तालिका में बताए गए हैं। आप निर्यात किए गए मॉडल पर सीधे भविष्यवाणी या मान्यता कर सकते हैं, अर्थात yolo predict model=yolov8n-seg.onnx
। निर्यात होने के बाद अपने मॉडल के लिए उपयोग के उदाहरण देखें।
प्रारूप | format Argument |
मॉडल | मेटाडेटा | तर्क |
---|---|---|---|---|
PyTorch | - | yolov8n-seg.pt |
✅ | - |
TorchScript | torchscript |
yolov8n-seg.torchscript |
✅ | imgsz , optimize |
ONNX | onnx |
yolov8n-seg.onnx |
✅ | imgsz , half , dynamic , simplify , opset |
OpenVINO | openvino |
yolov8n-seg_openvino_model/ |
✅ | imgsz , half |
TensorRT | engine |
yolov8n-seg.engine |
✅ | imgsz , half , dynamic , simplify , workspace |
CoreML | coreml |
yolov8n-seg.mlpackage |
✅ | imgsz , half , int8 , nms |
TF SavedModel | saved_model |
yolov8n-seg_saved_model/ |
✅ | imgsz , keras |
TF GraphDef | pb |
yolov8n-seg.pb |
❌ | imgsz |
TF Lite | tflite |
yolov8n-seg.tflite |
✅ | imgsz , half , int8 |
TF Edge TPU | edgetpu |
yolov8n-seg_edgetpu.tflite |
✅ | imgsz |
TF.js | tfjs |
yolov8n-seg_web_model/ |
✅ | imgsz |
PaddlePaddle | paddle |
yolov8n-seg_paddle_model/ |
✅ | imgsz |
ncnn | ncnn |
yolov8n-seg_ncnn_model/ |
✅ | imgsz , half |
Export पृष्ठ में पूर्ण निर्यात
विवरण देखें।