इस प्रोजेक्ट के बारे में

YoloDotNet एक मॉड्यूलर .NET 8 कंप्यूटर-विज़न लाइब्रेरी है जो ONNX में निर्यात किए गए YOLO मॉडल चलाने के लिए है। इसे C# में लागू किया गया है और यह ONNX Runtime और SkiaSharp का उपयोग करता है, जिसमें Python रनटाइम या OpenCV की आवश्यकता नहीं है। यह लाइब्रेरी विंडोज, लिनक्स और मैकओएस पर डेस्कटॉप एप्लिकेशन, बैकएंड सेवाओं और रीयल-टाइम विज़न पाइपलाइनों को लक्षित करती है। समर्थित इंफ़रेंस कार्यों में इमेज क्लासिफिकेशन, मानक ऑब्जेक्ट डिटेक्शन, ओरिएंटेड बाउंडिंग-बॉक्स डिटेक्शन, सेगमेंटेशन और पोज़ एस्टीमेशन शामिल हैं। दस्तावेज़ीकरण YOLOv5u से YOLOv26, YOLO-World, YOLO-E और RT-DETR मॉडल परिवारों के लिए समर्थन सूचीबद्ध करता है, जिसमें विशिष्ट वर्गीकरण, डिटेक्शन, सेगमेंटेशन, पोज़ और OBB वेरिएंट को कवर करने वाली एक सत्यापित-मॉडल तालिका है। रिपॉजिटरी के डेमो प्रोजेक्ट्स में इमेज और वीडियो-स्ट्रीम उपयोग का प्रदर्शन किया गया है। कोर YoloDotNet पैकेज प्रदाता-अज्ञेयवादी है, और उपयोगकर्ता बिल्कुल एक निष्पादन-प्रदाता पैकेज स्थापित करते हैं। उपलब्ध प्रदाता CPU, वैकल्पिक TensorRT समर्थन के साथ CUDA, OpenVINO, CoreML और DirectML हैं। प्लेटफ़ॉर्म उपलब्धता भिन्न होती है: CPU विंडोज, लिनक्स और मैकओएस पर काम करता है; CUDA और OpenVINO विंडोज और लिनक्स का समर्थन करते हैं; CoreML मैकओएस का समर्थन करता है; और DirectML विंडोज का समर्थन करता है। README नोट करता है कि प्रदाताओं को मिलाने से मूल रनटाइम विरोध हो सकता है। API को मॉडल लोडिंग, प्रीप्रोसेसिंग, थ्रेशोल्ड, मेमोरी और निष्पादन व्यवहार पर स्पष्ट नियंत्रण के लिए डिज़ाइन किया गया है। एक विशिष्ट ऑब्जेक्ट-डिटेक्शन फ़्लो YoloOptions और एक निष्पादन प्रदाता के साथ एक Yolo इंस्टेंस बनाता है, SkiaSharp के साथ एक इमेज को डीकोड करता है, कॉन्फिडेंस और IoU सेटिंग्स के साथ RunObjectDetection को कॉल करता है, परिणामों को ड्रा करता है और आउटपुट को सेव करता है। IoU पैरामीटर NMS-आधारित मॉडलों पर लागू होता है और YOLOv10 और YOLOv26 जैसे मॉडलों के लिए अनदेखा किया जाता है जो प्रासंगिक पोस्ट-प्रोसेसिंग को आंतरिक रूप से संभालते हैं। संस्करण 4.2 चयनित इमेज या वीडियो क्षेत्रों के लिए रीजन-ऑफ-इंटरेस्ट इंफ़रेंस, सेगमेंटेड ऑब्जेक्ट्स पर वैकल्पिक एज ड्राइंग, ऑर्डर किए गए कंटूर-पॉइंट निष्कर्षण, ToJson और SaveJson परिणाम सहायक, और YOLO-शैली एनोटेशन उत्पन्न करने के लिए ToYoloFormat और SaveYoloFormat सहायक जोड़ता है। अन्य दस्तावेजी सुविधाओं में इंजन कैशिंग और कॉन्फ़िगरेबल रीसाइज़ और सैंपलिंग सेटिंग्स शामिल हैं। उपयोगकर्ता अपने स्वयं के ONNX मॉडल प्रदान करते हैं; परियोजना पूर्व-प्रशिक्षित वज़न को डाउनलोड, शामिल या बंडल नहीं करती है। README YOLOv5u से YOLOv12 के लिए Ultralytics एक्सपोर्ट opset 17 और YOLOv26 के लिए opset 18 की अनुशंसा करता है। YoloDotNet स्वयं MIT लाइसेंस प्राप्त है, जबकि Ultralytics टूलिंग के साथ उत्पादित मॉडल AGPL-3.0 हो सकते हैं या एक वाणिज्यिक लाइसेंस की आवश्यकता हो सकती है, इसलिए उपयोगकर्ता मॉडल-लाइसेंस अनुपालन की पुष्टि करने के लिए जिम्मेदार हैं।