Tài liệu tham khảo cho ultralytics/utils/instance.py
Ghi
Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/utils/instance.py. Nếu bạn phát hiện ra một vấn đề, vui lòng giúp khắc phục nó bằng cách đóng góp Yêu cầu 🛠️ kéo. Cảm ơn bạn 🙏 !
ultralytics.utils.instance.Bboxes
Một lớp để xử lý các hộp giới hạn.
Lớp hỗ trợ các định dạng hộp giới hạn khác nhau như 'xyxy', 'xywh' và 'ltwh'. Dữ liệu hộp giới hạn nên được cung cấp trong các mảng numpy.
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
bboxes |
ndarray
|
Các hộp giới hạn được lưu trữ trong một mảng numpy 2D. |
format |
str
|
Định dạng của các hộp giới hạn ("xyxy", "xywh" hoặc "ltwh"). |
Ghi
Lớp này không xử lý chuẩn hóa hoặc không chuẩn hóa các hộp giới hạn.
Mã nguồn trong 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)
Truy xuất một hộp giới hạn cụ thể hoặc một tập hợp các hộp giới hạn bằng cách sử dụng lập chỉ mục.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
index |
int, slice, or np.ndarray
|
Chỉ mục, lát cắt hoặc mảng boolean để chọn các hộp giới hạn mong muốn. |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
Bboxes |
Bboxes
|
Một đối tượng Bboxes mới chứa các hộp giới hạn đã chọn. |
Tăng:
Kiểu | Sự miêu tả |
---|---|
AssertionError
|
Nếu các hộp giới hạn được lập chỉ mục không tạo thành ma trận 2 chiều. |
Ghi
Khi sử dụng lập chỉ mục boolean, hãy đảm bảo cung cấp một mảng boolean giống nhau chiều dài bằng số lượng hộp giới hạn.
Mã nguồn trong ultralytics/utils/instance.py
__init__(bboxes, format='xyxy')
Khởi tạo lớp Bboxes với dữ liệu hộp giới hạn theo một định dạng được chỉ định.
Mã nguồn trong ultralytics/utils/instance.py
__len__()
add(offset)
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
offset |
tuple | list | int
|
phần bù cho bốn tọa độ. |
bắt buộc |
Mã nguồn trong ultralytics/utils/instance.py
areas()
Khu vực hộp trả hàng.
Mã nguồn trong ultralytics/utils/instance.py
concatenate(boxes_list, axis=0)
classmethod
Nối một danh sách các đối tượng Bboxes vào một đối tượng Bboxes duy nhất.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
boxes_list |
List[Bboxes]
|
Danh sách các đối tượng Bboxes cần ghép nối. |
bắt buộc |
axis |
int
|
Trục dọc theo đó để nối các hộp giới hạn. Mặc định là 0. |
0
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
Bboxes |
Bboxes
|
Một đối tượng Bboxes mới chứa các hộp giới hạn được ghép nối. |
Ghi
Đầu vào phải là một danh sách hoặc bộ đối tượng Bboxs.
Mã nguồn trong ultralytics/utils/instance.py
convert(format)
Chuyển đổi định dạng hộp giới hạn từ loại này sang loại khác.
Mã nguồn trong ultralytics/utils/instance.py
mul(scale)
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
scale |
tuple | list | int
|
thang đo cho bốn tọa độ. |
bắt buộc |
Mã nguồn trong ultralytics/utils/instance.py
ultralytics.utils.instance.Instances
Vùng chứa để giới hạn các hộp, phân đoạn và điểm chính của các đối tượng được phát hiện trong hình ảnh.
Thuộc tính:
Tên | Kiểu | Sự miêu tả |
---|---|---|
_bboxes |
Bboxes
|
Đối tượng bên trong để xử lý các hoạt động hộp giới hạn. |
keypoints |
ndarray
|
các điểm chính (x, y, có thể nhìn thấy) với hình dạng [N, 17, 3]. Mặc định là Không có. |
normalized |
bool
|
Cờ cho biết tọa độ hộp giới hạn có được chuẩn hóa hay không. |
segments |
ndarray
|
Mảng phân đoạn có hình dạng [N, 1000, 2] sau khi lấy mẫu lại. |
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
bboxes |
ndarray
|
Một mảng các hộp giới hạn với hình dạng [N, 4]. |
bắt buộc |
segments |
list | ndarray
|
Một danh sách hoặc mảng các phân đoạn đối tượng. Mặc định là Không có. |
None
|
keypoints |
ndarray
|
Một mảng các điểm chính với hình dạng [N, 17, 3]. Mặc định là Không có. |
None
|
bbox_format |
str
|
Định dạng của các hộp giới hạn ('xywh' hoặc 'xyxy'). Mặc định là 'xywh'. |
'xywh'
|
normalized |
bool
|
Tọa độ hộp giới hạn có được chuẩn hóa hay không. Mặc định là True. |
True
|
Ví dụ:
# 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]]])
)
Ghi
Định dạng hộp giới hạn là 'xywh' hoặc 'xyxy' và được xác định bởi bbox_format
lý lẽ.
Lớp này không thực hiện xác thực đầu vào và nó giả định các đầu vào được hình thành tốt.
Mã nguồn trong 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
Tính diện tích của các hộp giới hạn.
bboxes
property
Trả lại hộp giới hạn.
__getitem__(index)
Truy xuất một phiên bản cụ thể hoặc một tập hợp các phiên bản bằng cách sử dụng lập chỉ mục.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
index |
int, slice, or np.ndarray
|
Chỉ mục, lát cắt hoặc mảng boolean để chọn các trường hợp mong muốn. |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
Instances |
Instances
|
Một đối tượng Instances mới chứa các hộp bounding đã chọn, phân khúc và điểm mấu chốt nếu có. |
Ghi
Khi sử dụng lập chỉ mục boolean, hãy đảm bảo cung cấp một mảng boolean giống nhau độ dài bằng số lượng phiên bản.
Mã nguồn trong ultralytics/utils/instance.py
__init__(bboxes, segments=None, keypoints=None, bbox_format='xywh', normalized=True)
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
bboxes |
ndarray
|
hộp có hình dạng [N, 4]. |
bắt buộc |
segments |
list | ndarray
|
Phân đoạn. |
None
|
keypoints |
ndarray
|
các điểm chính (x, y, có thể nhìn thấy) với hình dạng [N, 17, 3]. |
None
|
Mã nguồn trong ultralytics/utils/instance.py
__len__()
add_padding(padw, padh)
Xử lý tình huống trực tràng và khảm.
Mã nguồn trong ultralytics/utils/instance.py
clip(w, h)
Clip giới hạn các giá trị hộp, phân đoạn và điểm chính để nằm trong ranh giới hình ảnh.
Mã nguồn trong ultralytics/utils/instance.py
concatenate(instances_list, axis=0)
classmethod
Ghép nối danh sách các đối tượng Instances vào một đối tượng Instances duy nhất.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
instances_list |
List[Instances]
|
Danh sách các đối tượng Instances cần ghép nối. |
bắt buộc |
axis |
int
|
Trục dọc theo đó các mảng sẽ được nối. Mặc định là 0. |
0
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
Instances |
Instances
|
Một đối tượng Instances mới chứa các hộp bounding được ghép nối, phân khúc và điểm mấu chốt nếu có. |
Ghi
Các Instances
Các đối tượng trong danh sách phải có các thuộc tính giống nhau, chẳng hạn như
định dạng của các hộp giới hạn, liệu các điểm chính có hiện diện hay không và nếu
Tọa độ được chuẩn hóa.
Mã nguồn trong ultralytics/utils/instance.py
convert_bbox(format)
denormalize(w, h)
Không chuẩn hóa các hộp, phân đoạn và điểm chính khỏi tọa độ chuẩn hóa.
Mã nguồn trong ultralytics/utils/instance.py
fliplr(w)
Đảo ngược thứ tự của các hộp giới hạn và các phân đoạn theo chiều ngang.
Mã nguồn trong ultralytics/utils/instance.py
flipud(h)
Lật tọa độ của các hộp, phân đoạn và điểm chính giới hạn theo chiều dọc.
Mã nguồn trong ultralytics/utils/instance.py
normalize(w, h)
Chuẩn hóa các hộp giới hạn, phân đoạn và điểm chính đối với kích thước hình ảnh.
Mã nguồn trong ultralytics/utils/instance.py
remove_zero_area_boxes()
Loại bỏ các hộp không có khu vực, tức là sau khi cắt một số hộp có thể có chiều rộng hoặc chiều cao bằng không.
Mã nguồn trong ultralytics/utils/instance.py
scale(scale_w, scale_h, bbox_only=False)
Điều này có thể tương tự với func không chuẩn hóa nhưng không có dấu hiệu chuẩn hóa.
Mã nguồn trong ultralytics/utils/instance.py
update(bboxes, segments=None, keypoints=None)
Cập nhật các biến phiên bản.