Referans için ultralytics/utils/instance.py
Not
Bu dosya https://github.com/ultralytics/ultralytics/blob/main/ ultralytics/utils/instance .py adresinde mevcuttur. Bir sorun tespit ederseniz lütfen bir Çekme İsteği 🛠️ ile katkıda bulunarak düzeltilmesine yardımcı olun. Teşekkürler 🙏!
ultralytics.utils.instance.Bboxes
Sınırlayıcı kutuları işlemek için bir sınıf.
Sınıf, 'xyxy', 'xywh' ve 'ltwh' gibi çeşitli sınırlayıcı kutu biçimlerini destekler. Sınırlayıcı kutu verileri numpy dizilerinde sağlanmalıdır.
Nitelikler:
İsim | Tip | Açıklama |
---|---|---|
bboxes |
ndarray
|
Sınırlayıcı kutular 2D numpy dizisinde saklanır. |
format |
str
|
Sınırlayıcı kutuların biçimi ('xyxy', 'xywh' veya 'ltwh'). |
Not
Bu sınıf, sınırlayıcı kutuların normalleştirilmesini veya normalleştirilmemesini işlemez.
Kaynak kodu ultralytics/utils/instance.py
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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
|
__getitem__(index)
İndeksleme kullanarak belirli bir sınırlayıcı kutuyu veya bir sınırlayıcı kutu kümesini alın.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
index |
int, slice, or np.ndarray
|
Seçilecek dizin, dilim veya boolean dizisi istenen sınırlayıcı kutular. |
gerekli |
İade:
İsim | Tip | Açıklama |
---|---|---|
Bboxes |
Bboxes
|
Seçilen sınırlayıcı kutuları içeren yeni bir Bboxes nesnesi. |
Zamlar:
Tip | Açıklama |
---|---|
AssertionError
|
Dizinlenmiş sınırlayıcı kutular 2 boyutlu bir matris oluşturmuyorsa. |
Not
Boolean indeksleme kullanırken, aynı boolean dizisini sağladığınızdan emin olun sınırlayıcı kutu sayısı olarak uzunluk.
Kaynak kodu ultralytics/utils/instance.py
__init__(bboxes, format='xyxy')
Bboxes sınıfını belirtilen biçimde sınırlayıcı kutu verileriyle başlatır.
Kaynak kodu ultralytics/utils/instance.py
__len__()
add(offset)
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
offset |
tuple | list | int
|
dört koordinat için ofset. |
gerekli |
Kaynak kodu ultralytics/utils/instance.py
areas()
İade kutusu alanları.
concatenate(boxes_list, axis=0)
classmethod
Bboxes nesnelerinin listesini tek bir Bboxes nesnesi halinde birleştirir.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
boxes_list |
List[Bboxes]
|
Birleştirilecek Bboxes nesnelerinin listesi. |
gerekli |
axis |
int
|
Sınırlayıcı kutuların birleştirileceği eksen. Varsayılan değer 0'dır. |
0
|
İade:
İsim | Tip | Açıklama |
---|---|---|
Bboxes |
Bboxes
|
Birleştirilmiş sınırlayıcı kutuları içeren yeni bir Bboxes nesnesi. |
Not
Girdi, Bboxes nesnelerinin bir listesi veya tuple'ı olmalıdır.
Kaynak kodu ultralytics/utils/instance.py
convert(format)
Sınırlayıcı kutu biçimini bir türden diğerine dönüştürür.
Kaynak kodu ultralytics/utils/instance.py
mul(scale)
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
scale |
tuple | list | int
|
dört koordinat için ölçek. |
gerekli |
Kaynak kodu ultralytics/utils/instance.py
ultralytics.utils.instance.Instances
Bir görüntüde algılanan nesnelerin sınırlayıcı kutuları, segmentleri ve anahtar noktaları için konteyner.
Nitelikler:
İsim | Tip | Açıklama |
---|---|---|
_bboxes |
Bboxes
|
Sınırlayıcı kutu işlemlerini işlemek için dahili nesne. |
keypoints |
ndarray
|
N, 17, 3] şeklinde keypoints(x, y, visible). Varsayılan değer Yok'tur. |
normalized |
bool
|
Sınırlayıcı kutu koordinatlarının normalize edilip edilmediğini gösteren bayrak. |
segments |
ndarray
|
Yeniden örneklemeden sonra [N, 1000, 2] şeklinde segmentler dizisi. |
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
bboxes |
ndarray
|
N, 4] şeklinde bir sınırlayıcı kutu dizisi. |
gerekli |
segments |
list | ndarray
|
Nesne segmentlerinin bir listesi veya dizisi. Varsayılan değer Yok'tur. |
None
|
keypoints |
ndarray
|
N, 17, 3] şeklinde bir anahtar nokta dizisi. Varsayılan değer Yok'tur. |
None
|
bbox_format |
str
|
Sınırlayıcı kutuların biçimi ('xywh' veya 'xyxy'). Varsayılan değer 'xywh'dir. |
'xywh'
|
normalized |
bool
|
Sınırlayıcı kutu koordinatlarının normalize edilip edilmeyeceği. Varsayılan değer True'dur. |
True
|
Örnekler:
# Create an Instances object
instances = Instances(
bboxes=np.array([[10, 10, 30, 30], [20, 20, 40, 40]]),
segments=[np.array([[5, 5], [10, 10]]), np.array([[15, 15], [20, 20]])],
keypoints=np.array([[[5, 5, 1], [10, 10, 1]], [[15, 15, 1], [20, 20, 1]]])
)
Not
Sınırlayıcı kutu biçimi ya 'xywh' ya da 'xyxy' şeklindedir ve bbox_format
bağımsız değişken.
Bu sınıf girdi doğrulaması yapmaz ve girdilerin iyi biçimlendirilmiş olduğunu varsayar.
Kaynak kodu ultralytics/utils/instance.py
179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 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 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 |
|
bbox_areas
property
Sınırlayıcı kutuların alanını hesaplayın.
bboxes
property
Sınırlayıcı kutuları döndürür.
__getitem__(index)
İndeksleme kullanarak belirli bir örneği veya bir dizi örneği alın.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
index |
int, slice, or np.ndarray
|
Seçilecek dizin, dilim veya boolean dizisi istenen örnekler. |
gerekli |
İade:
İsim | Tip | Açıklama |
---|---|---|
Instances |
Instances
|
Seçilen sınırlayıcı kutuları içeren yeni bir Instances nesnesi, segmentler ve varsa kilit noktalar. |
Not
Boolean indeksleme kullanırken, aynı boolean dizisini sağladığınızdan emin olun örnek sayısı olarak uzunluk.
Kaynak kodu ultralytics/utils/instance.py
__init__(bboxes, segments=None, keypoints=None, bbox_format='xywh', normalized=True)
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
bboxes |
ndarray
|
N, 4] şeklinde bbox'lar. |
gerekli |
segments |
list | ndarray
|
Segmentler. |
None
|
keypoints |
ndarray
|
N, 17, 3] şeklinde keypoints(x, y, visible). |
None
|
Kaynak kodu ultralytics/utils/instance.py
__len__()
add_padding(padw, padh)
Rect ve mozaik durumunu ele alın.
Kaynak kodu ultralytics/utils/instance.py
clip(w, h)
Görüntü sınırları içinde kalmak için sınırlayıcı kutuları, segmentleri ve anahtar nokta değerlerini klipsler.
Kaynak kodu ultralytics/utils/instance.py
concatenate(instances_list, axis=0)
classmethod
Instances nesnelerinin listesini tek bir Instances nesnesi olarak birleştirir.
Parametreler:
İsim | Tip | Açıklama | Varsayılan |
---|---|---|---|
instances_list |
List[Instances]
|
Birleştirilecek Instances nesnelerinin listesi. |
gerekli |
axis |
int
|
Dizilerin birleştirileceği eksen. Varsayılan değer 0'dır. |
0
|
İade:
İsim | Tip | Açıklama |
---|---|---|
Instances |
Instances
|
Birleştirilmiş sınırlayıcı kutuları içeren yeni bir Instances nesnesi, segmentler ve varsa kilit noktalar. |
Not
Bu Instances
Listedeki nesneler aynı özelliklere sahip olmalıdır, örneğin
sınırlayıcı kutuların biçimi, anahtar noktaların mevcut olup olmadığı ve
koordinatlar normalleştirilir.
Kaynak kodu ultralytics/utils/instance.py
convert_bbox(format)
denormalize(w, h)
Normalleştirilmiş koordinatlardan kutuları, segmentleri ve anahtar noktaları denormalize eder.
Kaynak kodu ultralytics/utils/instance.py
fliplr(w)
Sınırlayıcı kutuların ve segmentlerin sırasını yatay olarak tersine çevirir.
Kaynak kodu ultralytics/utils/instance.py
flipud(h)
Sınırlayıcı kutuların, segmentlerin ve anahtar noktaların koordinatlarını dikey olarak çevirir.
Kaynak kodu ultralytics/utils/instance.py
normalize(w, h)
Sınırlayıcı kutuları, segmentleri ve anahtar noktaları görüntü boyutlarına göre normalleştirin.
Kaynak kodu ultralytics/utils/instance.py
remove_zero_area_boxes()
Sıfır alanlı kutuları kaldırın, yani kırpma işleminden sonra bazı kutuların genişliği veya yüksekliği sıfır olabilir.
Kaynak kodu ultralytics/utils/instance.py
scale(scale_w, scale_h, bbox_only=False)
Bu, denormalize func ile benzer olabilir, ancak normalleştirilmiş işaret olmadan.
Kaynak kodu ultralytics/utils/instance.py
update(bboxes, segments=None, keypoints=None)
Örnek değişkenlerini günceller.
Kaynak kodu ultralytics/utils/instance.py
ultralytics.utils.instance._ntuple(n)
Oluşturuldu 2023-11-12, Güncellendi 2024-05-08
Yazarlar: Burhan-Q (1), glenn-jocher (3), Laughing-q (1)