सामग्री पर जाएं

Ultralytics डॉक्स: का उपयोग करना YOLOv8 कटा हुआ अनुमान के लिए SAHI के साथ

में आपका स्वागत है Ultralytics उपयोग करने के तरीके पर दस्तावेज़ीकरण YOLOv8 SAHI (स्लाइसिंग एडेड हाइपर इन्फरेंस) के साथ। इस व्यापक मार्गदर्शिका का उद्देश्य आपको SAHI को लागू करने के लिए आवश्यक सभी आवश्यक ज्ञान प्रदान करना हैYOLOv8. हम इस बात पर गहराई से विचार करेंगे कि SAHI क्या है, बड़े पैमाने पर अनुप्रयोगों के लिए कटा हुआ अनुमान क्यों महत्वपूर्ण है, और इन कार्यात्मकताओं को कैसे एकीकृत किया जाए YOLOv8 बढ़ी हुई वस्तु का पता लगाने के प्रदर्शन के लिए।

SAHI Sliced Inference अवलोकन

साही का परिचय

SAHI (स्लाइसिंग एडेड हाइपर इन्फरेंस) एक अभिनव पुस्तकालय है जिसे बड़े पैमाने पर और उच्च-रिज़ॉल्यूशन इमेजरी के लिए ऑब्जेक्ट डिटेक्शन एल्गोरिदम को अनुकूलित करने के लिए डिज़ाइन किया गया है। इसकी मुख्य कार्यक्षमता प्रबंधनीय स्लाइस में छवियों को विभाजित करने, प्रत्येक स्लाइस पर ऑब्जेक्ट डिटेक्शन चलाने और फिर परिणामों को वापस एक साथ सिलाई करने में निहित है। SAHI ऑब्जेक्ट डिटेक्शन मॉडल की एक श्रृंखला के साथ संगत है, जिसमें YOLO श्रृंखला, जिससे कम्प्यूटेशनल संसाधनों के अनुकूलित उपयोग को सुनिश्चित करते हुए लचीलापन प्रदान किया जाता है।



सतर्कता: Inference with SAHI (Slicing Aided Hyper Inference) using Ultralytics YOLOv8

SAHI की मुख्य विशेषताएं

  • निर्बाध एकीकरण: SAHI के साथ सहजता से एकीकृत करता है YOLO मॉडल, जिसका अर्थ है कि आप बहुत सारे कोड संशोधन के बिना टुकड़ा करना और पता लगाना शुरू कर सकते हैं।
  • संसाधन दक्षता: बड़ी छवियों को छोटे भागों में तोड़कर, SAHI मेमोरी उपयोग को अनुकूलित करता है, जिससे आप सीमित संसाधनों के साथ हार्डवेयर पर उच्च-गुणवत्ता वाली पहचान चला सकते हैं।
  • उच्च सटीकता: SAHI सिलाई प्रक्रिया के दौरान ओवरलैपिंग डिटेक्शन बॉक्स को मर्ज करने के लिए स्मार्ट एल्गोरिदम को नियोजित करके पता लगाने की सटीकता बनाए रखता है।

कटा हुआ अनुमान क्या है?

कटा हुआ अनुमान एक बड़े या उच्च-रिज़ॉल्यूशन छवि को छोटे खंडों (स्लाइस) में विभाजित करने, इन स्लाइस पर ऑब्जेक्ट डिटेक्शन करने और फिर मूल छवि पर ऑब्जेक्ट स्थानों को फिर से संगठित करने के लिए स्लाइस को फिर से संकलित करने के अभ्यास को संदर्भित करता है। यह तकनीक उन परिदृश्यों में अमूल्य है जहां कम्प्यूटेशनल संसाधन सीमित हैं या अत्यधिक उच्च-रिज़ॉल्यूशन छवियों के साथ काम करते समय जो अन्यथा स्मृति मुद्दों को जन्म दे सकते हैं।

कटा हुआ अनुमान के लाभ

  • कम कम्प्यूटेशनल बोझ: छोटी छवि स्लाइस प्रक्रिया के लिए तेज़ होती हैं, और वे कम मेमोरी का उपभोग करते हैं, जिससे लोअर-एंड हार्डवेयर पर सुचारू संचालन सक्षम होता है।

  • संरक्षित पहचान गुणवत्ता: चूंकि प्रत्येक टुकड़ा स्वतंत्र रूप से इलाज किया जाता है, इसलिए वस्तु का पता लगाने की गुणवत्ता में कोई कमी नहीं होती है, बशर्ते स्लाइस ब्याज की वस्तुओं को पकड़ने के लिए पर्याप्त बड़े हों।

  • बढ़ी हुई मापनीयता: तकनीक वस्तुओं का पता लगाने के लिए छवियों के विभिन्न आकारों और संकल्पों में अधिक आसानी से स्केल करने की अनुमति देती है, जिससे यह उपग्रह इमेजरी से लेकर मेडिकल डायग्नोस्टिक्स तक अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए आदर्श बन जाता है।

YOLOv8 साही के बिना YOLOv8 साही के साथ
YOLOv8 साही के बिना YOLOv8 साही के साथ

स्थापना और तैयारी

संस्थापन

आरंभ करने के लिए, SAHI के नवीनतम संस्करण स्थापित करें और Ultralytics:

pip install -U ultralytics sahi

मॉड्यूल आयात करें और संसाधन डाउनलोड करें

यहां आवश्यक मॉड्यूल आयात करने और डाउनलोड करने का तरीका बताया गया है YOLOv8 मॉडल और कुछ परीक्षण चित्र:

from sahi.utils.file import download_from_url
from sahi.utils.yolov8 import download_yolov8s_model

# Download YOLOv8 model
yolov8_model_path = "models/yolov8s.pt"
download_yolov8s_model(yolov8_model_path)

# Download test images
download_from_url(
    "https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/small-vehicles1.jpeg",
    "demo_data/small-vehicles1.jpeg",
)
download_from_url(
    "https://raw.githubusercontent.com/obss/sahi/main/demo/demo_data/terrain2.png",
    "demo_data/terrain2.png",
)

के साथ मानक अनुमान YOLOv8

मॉडल को तत्काल करें

आप एक तत्काल कर सकते हैं YOLOv8 इस तरह वस्तु का पता लगाने के लिए मॉडल:

from sahi import AutoDetectionModel

detection_model = AutoDetectionModel.from_pretrained(
    model_type="yolov8",
    model_path=yolov8_model_path,
    confidence_threshold=0.3,
    device="cpu",  # or 'cuda:0'
)

मानक भविष्यवाणी करें

छवि पथ या सुप्त छवि का उपयोग करके मानक अनुमान निष्पादित करें।

from sahi.predict import get_prediction

# With an image path
result = get_prediction("demo_data/small-vehicles1.jpeg", detection_model)

# With a numpy image
result = get_prediction(read_image("demo_data/small-vehicles1.jpeg"), detection_model)

परिणामों की कल्पना करें

निर्यात और भविष्यवाणी bounding बक्से और मास्क कल्पना:

result.export_visuals(export_dir="demo_data/")
Image("demo_data/prediction_visual.png")

के साथ कटा हुआ अनुमान YOLOv8

स्लाइस आयाम और ओवरलैप अनुपात निर्दिष्ट करके कटा हुआ अनुमान करें:

from sahi.predict import get_sliced_prediction

result = get_sliced_prediction(
    "demo_data/small-vehicles1.jpeg",
    detection_model,
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

भविष्यवाणी परिणामों को संभालना

SAHI एक प्रदान करता है PredictionResult ऑब्जेक्ट, जिसे विभिन्न एनोटेशन प्रारूपों में परिवर्तित किया जा सकता है:

# Access the object prediction list
object_prediction_list = result.object_prediction_list

# Convert to COCO annotation, COCO prediction, imantics, and fiftyone formats
result.to_coco_annotations()[:3]
result.to_coco_predictions(image_id=1)[:3]
result.to_imantics_annotations()[:3]
result.to_fiftyone_detections()[:3]

बैच भविष्यवाणी

छवियों की एक निर्देशिका पर बैच भविष्यवाणी के लिए:

from sahi.predict import predict

predict(
    model_type="yolov8",
    model_path="path/to/yolov8n.pt",
    model_device="cpu",  # or 'cuda:0'
    model_confidence_threshold=0.4,
    source="path/to/dir",
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

बस! अब आप उपयोग करने के लिए सुसज्जित हैं YOLOv8 मानक और कटा हुआ अनुमान दोनों के लिए SAHI के साथ।

प्रशंसा पत्र और पावती

यदि आप अपने शोध या विकास कार्य में SAHI का उपयोग करते हैं, तो कृपया मूल SAHI पेपर का हवाला दें और लेखकों को स्वीकार करें:

@article{akyon2022sahi,
  title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection},
  author={Akyon, Fatih Cagatay and Altinuc, Sinan Onur and Temizel, Alptekin},
  journal={2022 IEEE International Conference on Image Processing (ICIP)},
  doi={10.1109/ICIP46576.2022.9897990},
  pages={966-970},
  year={2022}
}

हम कंप्यूटर दृष्टि समुदाय के लिए इस अमूल्य संसाधन को बनाने और बनाए रखने के लिए SAHI अनुसंधान समूह को अपना धन्यवाद देते हैं। SAHI और इसके रचनाकारों के बारे में अधिक जानकारी के लिए, SAHI GitHub रिपॉजिटरी पर जाएँ।



Created 2023-11-12, Updated 2024-06-22
Authors: RizwanMunawar (1), glenn-jocher (6)

टिप्पणियाँ