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

पोज़ अनुमान डेटासेट अवलोकन

समर्थित डेटासेट प्रारूप

Ultralytics YOLO प्रारूप

प्रशिक्षण के लिए उपयोग किया जाने वाला डेटासेट लेबल प्रारूप YOLO पोज मॉडल इस प्रकार हैं:

  1. प्रति छवि एक टेक्स्ट फ़ाइल: डेटासेट में प्रत्येक छवि में छवि फ़ाइल और ".txt" एक्सटेंशन के समान नाम वाली एक संबंधित टेक्स्ट फ़ाइल होती है।
  2. प्रति ऑब्जेक्ट एक पंक्ति: टेक्स्ट फ़ाइल में प्रत्येक पंक्ति छवि में एक ऑब्जेक्ट इंस्टेंस से मेल खाती है।
  3. प्रति पंक्ति ऑब्जेक्ट जानकारी: प्रत्येक पंक्ति में ऑब्जेक्ट आवृत्ति के बारे में निम्न जानकारी है:
    • ऑब्जेक्ट क्लास इंडेक्स: ऑब्जेक्ट के वर्ग का प्रतिनिधित्व करने वाला एक पूर्णांक (जैसे, व्यक्ति के लिए 0, कार के लिए 1, आदि)।
    • ऑब्जेक्ट सेंटर निर्देशांक: ऑब्जेक्ट के केंद्र के x और y निर्देशांक, 0 और 1 के बीच सामान्यीकृत होते हैं।
    • ऑब्जेक्ट की चौड़ाई और ऊंचाई: ऑब्जेक्ट की चौड़ाई और ऊंचाई, सामान्यीकृत 0 और 1 के बीच है।
    • ऑब्जेक्ट कीपॉइंट निर्देशांक: ऑब्जेक्ट के कीपॉइंट, सामान्यीकृत 0 और 1 के बीच होते हैं।

यहाँ मुद्रा अनुमान कार्य के लिए लेबल प्रारूप का एक उदाहरण दिया गया है:

मंद = 2 के साथ प्रारूप

<class-index> <x> <y> <width> <height> <px1> <py1> <px2> <py2> ... <pxn> <pyn>

मंद = 3 के साथ प्रारूप

<class-index> <x> <y> <width> <height> <px1> <py1> <p1-visibility> <px2> <py2> <p2-visibility> <pxn> <pyn> <p2-visibility>

इस प्रारूप में, <class-index> वस्तु के लिए वर्ग का सूचकांक है,<x> <y> <width> <height> बाउंडिंग बॉक्स के निर्देशांक हैं, और <px1> <py1> <px2> <py2> ... <pxn> <pyn> कीपॉइंट्स के पिक्सेल निर्देशांक हैं। निर्देशांक रिक्त स्थान से अलग होते हैं।

डेटासेट YAML प्रारूप

वही Ultralytics फ्रेमवर्क डिटेक्शन मॉडल के प्रशिक्षण के लिए डेटासेट और मॉडल कॉन्फ़िगरेशन को परिभाषित करने के लिए एक YAML फ़ाइल स्वरूप का उपयोग करता है। डिटेक्शन डेटासेट को परिभाषित करने के लिए उपयोग किए जाने वाले YAML प्रारूप का एक उदाहरण यहां दिया गया है:

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco8-pose  # dataset root dir
train: images/train  # train images (relative to 'path') 4 images
val: images/val  # val images (relative to 'path') 4 images
test:  # test images (optional)

# Keypoints
kpt_shape: [17, 3]  # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes dictionary
names:
  0: person

वही train और val फ़ील्ड क्रमशः प्रशिक्षण और सत्यापन छवियों वाले निर्देशिकाओं के पथ निर्दिष्ट करते हैं।

names वर्ग के नामों का एक शब्दकोश है। नामों का क्रम ऑब्जेक्ट क्लास सूचकांकों के क्रम से मेल खाना चाहिए YOLO डेटासेट फ़ाइलें।

(वैकल्पिक) यदि अंक सममित हैं तो flip_idx की आवश्यकता है, जैसे मानव या चेहरे के बाएं-दाएं तरफ। उदाहरण के लिए यदि हम चेहरे के लैंडमार्क के पांच मुख्य बिंदुओं को मानते हैं: [बाईं आंख, दाहिनी आंख, नाक, बायां मुंह, दायां मुंह], और मूल सूचकांक [0, 1, 2, 3, 4] है, तो flip_idx [1, 0, 2, 4, 3] है (बस बाएं-दाएं सूचकांक का आदान-प्रदान करें, यानी 0-1 और 3-4, और इस उदाहरण में नाक की तरह दूसरों को संशोधित न करें)।

उपयोग

उदाहरण

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n-pose.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='coco8-pose.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8-pose.yaml model=yolov8n-pose.pt epochs=100 imgsz=640

समर्थित डेटासेट

यह खंड उन डेटासेट की रूपरेखा तैयार करता है जो संगत हैं Ultralytics YOLO प्रारूप और प्रशिक्षण मुद्रा अनुमान मॉडल के लिए इस्तेमाल किया जा सकता है:

कोको-पोज

  • विवरण: COCO-Pose एक बड़े पैमाने पर ऑब्जेक्ट डिटेक्शन, सेगमेंटेशन और पोज़ अनुमान डेटासेट है। यह लोकप्रिय COCO डेटासेट का एक सबसेट है और मानव मुद्रा अनुमान पर केंद्रित है। COCO-Pose में प्रत्येक मानव उदाहरण के लिए कई कीपॉइंट शामिल हैं।
  • लेबल प्रारूप: जैसा कि Ultralytics YOLO जैसा कि ऊपर वर्णित है, मानव पोज़ के लिए कीपॉइंट के साथ प्रारूप।
  • वर्गों की संख्या: 1 (मानव)।
  • मुख्य बिंदु: नाक, आंख, कान, कंधे, कोहनी, कलाई, कूल्हे, घुटने और टखने सहित 17 कीपॉइंट्स।
  • उपयोग: मानव मुद्रा अनुमान मॉडल के प्रशिक्षण के लिए उपयुक्त।
  • अतिरिक्त नोट्स: डेटासेट समृद्ध और विविध है, जिसमें 200k से अधिक लेबल वाली छवियां हैं।
  • COCO-Pose के बारे में और पढ़ें

COCO8-मुद्रा

  • विवरण: Ultralytics COCO8-Pose एक छोटा, लेकिन बहुमुखी पोज़ डिटेक्शन डेटासेट है जो COCO ट्रेन 2017 सेट की पहली 8 छवियों, प्रशिक्षण के लिए 4 और सत्यापन के लिए 4 से बना है।
  • लेबल प्रारूप: जैसा कि Ultralytics YOLO जैसा कि ऊपर वर्णित है, मानव पोज़ के लिए कीपॉइंट के साथ प्रारूप।
  • वर्गों की संख्या: 1 (मानव)।
  • मुख्य बिंदु: नाक, आंख, कान, कंधे, कोहनी, कलाई, कूल्हे, घुटने और टखने सहित 17 कीपॉइंट्स।
  • उपयोग: ऑब्जेक्ट डिटेक्शन मॉडल के परीक्षण और डिबगिंग के लिए, या नए पहचान दृष्टिकोणों के साथ प्रयोग करने के लिए उपयुक्त।
  • अतिरिक्त नोट्स: COCO8-Pose विवेक जांच और CI चेक के लिए आदर्श है।
  • COCO8-मुद्रा के बारे मे अधिक पढ़ें

टाइगर-पोज

  • विवरण: Ultralytics इस एनिमल पोज़ डेटासेट में YouTube वीडियो से प्राप्त 263 छवियां शामिल हैं, जिसमें 210 छवियां प्रशिक्षण के लिए और 53 सत्यापन के लिए आवंटित की गई हैं।
  • लेबल प्रारूप: जैसा कि Ultralytics YOLO जैसा कि ऊपर वर्णित है, पशु मुद्रा के लिए 12 कीपॉइंट और कोई दृश्य आयाम नहीं है।
  • वर्गों की संख्या: 1 (बाघ)।
  • मुख्य बिंदु: 12 कीपॉइंट्स।
  • उपयोग: पशु मुद्रा या किसी अन्य मुद्रा के लिए बढ़िया जो मानव-आधारित नहीं है।
  • टाइगर-पोज के बारे में और पढ़ें

अपना खुद का डेटासेट जोड़ना

यदि आपके पास अपना स्वयं का डेटासेट है और आप इसे प्रशिक्षण के लिए उपयोग करना चाहते हैं, तो अनुमान मॉडल के साथ मुद्रा करें Ultralytics YOLO प्रारूप, सुनिश्चित करें कि यह ऊपर निर्दिष्ट प्रारूप का पालन करता है "Ultralytics YOLO प्रारूप"। अपने एनोटेशन को आवश्यक प्रारूप में कनवर्ट करें और YAML कॉन्फ़िगरेशन फ़ाइल में पथ, कक्षाओं की संख्या और वर्ग के नाम निर्दिष्ट करें।

रूपांतरण उपकरण

Ultralytics लोकप्रिय COCO डेटासेट प्रारूप से लेबल को बदलने के लिए एक सुविधाजनक रूपांतरण उपकरण प्रदान करता है YOLO प्रारूप:

उदाहरण

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir='path/to/coco/annotations/', use_keypoints=True)

इस रूपांतरण उपकरण का उपयोग COCO डेटासेट या COCO प्रारूप में किसी भी डेटासेट को बदलने के लिए किया जा सकता है Ultralytics YOLO प्रारूप। वही use_keypoints पैरामीटर निर्दिष्ट करता है कि कनवर्ट किए गए लेबल में कीपॉइंट (मुद्रा अनुमान के लिए) शामिल करना है या नहीं।



2023-11-12 बनाया गया, अपडेट किया गया 2024-04-18
लेखक: ग्लेन-जोचर (6)

टिप्पणियाँ