مرجع ل ultralytics/data/converter.py
ملاحظه
هذا الملف متاح في https://github.com/ultralytics/ultralytics/ نقطة / الرئيسية /ultralytics/البيانات/converter.py. إذا اكتشفت مشكلة ، فيرجى المساعدة في إصلاحها من خلال المساهمة في طلب 🛠️ سحب. شكرا لك 🙏!
ultralytics.data.converter.coco91_to_coco80_class()
يحول معرفات فئة COCO ذات 91 فهرسا إلى معرفات فئة COCO ذات 80 فهرسا.
ارجاع:
نوع | وصف |
---|---|
list
|
قائمة ب 91 معرف فئة حيث يمثل الفهرس معرف فئة 80 فهرسا والقيمة هي معرف فئة الفهرس 91 المقابل. |
شفرة المصدر في ultralytics/data/converter.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
|
ultralytics.data.converter.coco80_to_coco91_class()
Converts 80-index (val2014) to 91-index (paper).
For details see https://tech.amikelive.com/node-718/what-object-categories-labels-are-in-coco-dataset/.
Example:
```python
import numpy as np
a = np.loadtxt('data/coco.names', dtype='str', delimiter='
') b = np.loadtxt ('data / coco_paper.names' ، dtype = 'str' ، المحدد =' ') x1 = [قائمة (أ [i] == ب) .index (صحيح) + 1 ل i في النطاق (80)] # darknet إلى coco x2 = [list(b[i] == a).index(True) إن وجد(b[i] == a) آخر لا شيء ل i في النطاق(91)] # كوكو إلى الشبكة المظلمة '''
شفرة المصدر في ultralytics/data/converter.py
ultralytics.data.converter.convert_coco(labels_dir='../coco/annotations/', save_dir='coco_converted/', use_segments=False, use_keypoints=False, cls91to80=True, lvis=False)
تحويل التعليقات التوضيحية لمجموعة بيانات COCO إلى ملف YOLO تنسيق التعليق التوضيحي المناسب للتدريب YOLO نماذج.
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
labels_dir |
str
|
المسار إلى الدليل الذي يحتوي على ملفات التعليقات التوضيحية لمجموعة بيانات COCO. |
'../coco/annotations/'
|
save_dir |
str
|
المسار إلى الدليل لحفظ النتائج فيه. |
'coco_converted/'
|
use_segments |
bool
|
ما إذا كان سيتم تضمين أقنعة التجزئة في الإخراج. |
False
|
use_keypoints |
bool
|
ما إذا كنت تريد تضمين التعليقات التوضيحية للنقاط الرئيسية في الإخراج. |
False
|
cls91to80 |
bool
|
ما إذا كنت تريد تعيين 91 معرفا لفئة COCO إلى 80 معرفا لفئة COCO المقابلة. |
True
|
lvis |
bool
|
ما إذا كنت تريد تحويل البيانات بطريقة مجموعة بيانات lvis. |
False
|
مثل
الناتج
يولد ملفات الإخراج في دليل الإخراج المحدد.
شفرة المصدر في ultralytics/data/converter.py
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 |
|
ultralytics.data.converter.convert_dota_to_yolo_obb(dota_root_path)
تحويل التعليقات التوضيحية لمجموعة بيانات DOTA إلى YOLO تنسيق OBB (المربع المحيط الموجه).
تعالج الوظيفة الصور في مجلدات "القطار" و "val" لمجموعة بيانات DOTA. لكل صورة ، يقرأ التسمية المقترنة من دليل التسميات الأصلية وتكتب تسميات جديدة في YOLO تنسيق OBB إلى دليل جديد.
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
dota_root_path |
str
|
مسار الدليل الجذر لمجموعة بيانات DOTA. |
مطلوب |
مثل
تلاحظ
بنية الدليل المفترضة لمجموعة بيانات DOTA:
- DOTA
├─ images
│ ├─ train
│ └─ val
└─ labels
├─ train_original
└─ val_original
بعد التنفيذ ، ستقوم الوظيفة بتنظيم الملصقات إلى:
- DOTA
└─ labels
├─ train
└─ val
شفرة المصدر في ultralytics/data/converter.py
ultralytics.data.converter.min_index(arr1, arr2)
ابحث عن زوج من الفهارس بأقصر مسافة بين صفيفين من نقاط 2D.
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
arr1 |
ndarray
|
مصفوفة NumPy من الشكل (N ، 2) تمثل نقاط N 2D. |
مطلوب |
arr2 |
ndarray
|
مجموعة NumPy من الشكل (M ، 2) تمثل نقاط M 2D. |
مطلوب |
ارجاع:
نوع | وصف |
---|---|
tuple
|
مجموعة تحتوي على فهارس النقاط ذات أقصر مسافة في arr1 و arr2 على التوالي. |
شفرة المصدر في ultralytics/data/converter.py
ultralytics.data.converter.merge_multi_segment(segments)
دمج مقاطع متعددة في قائمة واحدة عن طريق ربط الإحداثيات بالحد الأدنى للمسافة بين كل مقطع. تربط هذه الوظيفة هذه الإحداثيات بخط رفيع لدمج جميع الأجزاء في مقطع واحد.
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
segments |
List[List]
|
التقسيمات الأصلية في ملف JSON الخاص ب COCO. كل عنصر عبارة عن قائمة من الإحداثيات ، مثل [تجزئة 1 ، تجزئة 2,...]. |
مطلوب |
ارجاع:
اسم | نوع | وصف |
---|---|---|
s |
List[ndarray]
|
قائمة بالمقاطع المتصلة الممثلة كمصفوفات NumPy. |
شفرة المصدر في ultralytics/data/converter.py
ultralytics.data.converter.yolo_bbox2segment(im_dir, save_dir=None, sam_model='sam_b.pt')
تحويل مجموعة بيانات الكشف عن الكائنات الموجودة (المربعات المحيطة) إلى مجموعة بيانات تجزئة أو مربع محيط موجه (OBB) في YOLO تنسيق. يولد بيانات التجزئة باستخدام SAM التعليق التلقائي حسب الحاجة.
البارامترات:
اسم | نوع | وصف | افتراضي |
---|---|---|---|
im_dir |
str | Path
|
المسار إلى دليل الصور للتحويل. |
مطلوب |
save_dir |
str | Path
|
مسار لحفظ التسميات التي تم إنشاؤها ، سيتم حفظ التسميات
إلى |
None
|
sam_model |
str
|
نموذج تجزئة لاستخدامه لبيانات التجزئة الوسيطة ؛ اختياري. |
'sam_b.pt'
|
تلاحظ
بنية دليل الإدخال المفترضة لمجموعة البيانات:
- im_dir
├─ 001.jpg
├─ ..
└─ NNN.jpg
- labels
├─ 001.txt
├─ ..
└─ NNN.txt