Tài liệu tham khảo cho ultralytics/utils/ops.py
Ghi
Tệp này có sẵn tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/utils/ops.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.ops.Profile
Căn cứ: ContextDecorator
YOLOv8 Lớp hồ sơ. Sử dụng như một trang trí với @Profile () hoặc như một trình quản lý ngữ cảnh với 'với Profile ():'.
Ví dụ
Mã nguồn trong ultralytics/utils/ops.py
__enter__()
__exit__(type, value, traceback)
__init__(t=0.0, device=None)
Khởi tạo lớp Profile.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
t |
float
|
Thời gian đầu. Mặc định là 0,0. |
0.0
|
device |
device
|
Thiết bị được sử dụng để suy luận mô hình. Mặc định là Không có (cpu). |
None
|
Mã nguồn trong ultralytics/utils/ops.py
__str__()
Trả về một chuỗi mà con người có thể đọc được đại diện cho thời gian đã trôi qua tích lũy trong profiler.
ultralytics.utils.ops.segment2box(segment, width=640, height=640)
Chuyển đổi 1 nhãn phân đoạn thành 1 nhãn hộp, áp dụng ràng buộc hình ảnh bên trong, tức là (xy1, xy2, ...) thành (xyxy).
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
segment |
Tensor
|
nhãn phân khúc |
bắt buộc |
width |
int
|
chiều rộng của hình ảnh. Mặc định là 640 |
640
|
height |
int
|
Chiều cao của hình ảnh. Mặc định là 640 |
640
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray
|
giá trị x và y tối thiểu và tối đa của phân khúc. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.scale_boxes(img1_shape, boxes, img0_shape, ratio_pad=None, padding=True, xywh=False)
Thay đổi tỷ lệ các hộp giới hạn (theo định dạng xyxy theo mặc định) từ hình dạng của hình ảnh ban đầu được chỉ định trong (img1_shape) thành hình dạng của một hình ảnh khác (img0_shape).
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
img1_shape |
tuple
|
Hình dạng của hình ảnh mà các hộp giới hạn dành cho, theo định dạng (chiều cao, chiều rộng). |
bắt buộc |
boxes |
Tensor
|
các hộp giới hạn của các đối tượng trong hình ảnh, theo định dạng (x1, y1, x2, y2) |
bắt buộc |
img0_shape |
tuple
|
Hình dạng của hình ảnh mục tiêu, theo định dạng (chiều cao, chiều rộng). |
bắt buộc |
ratio_pad |
tuple
|
một bộ (tỷ lệ, pad) để chia tỷ lệ các hộp. Nếu không được cung cấp, tỷ lệ và miếng đệm sẽ là được tính toán dựa trên sự khác biệt về kích thước giữa hai hình ảnh. |
None
|
padding |
bool
|
Nếu True, giả sử các hộp dựa trên hình ảnh được tăng cường bởi yolo phong cách. Nếu False thì làm thường xuyên thay đổi quy mô. |
True
|
xywh |
bool
|
Định dạng hộp có phải là xywh hay không, default=False. |
False
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
boxes |
Tensor
|
Các hộp giới hạn được chia tỷ lệ, ở định dạng (x1, y1, x2, y2) |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.make_divisible(x, divisor)
Trả về số gần nhất chia hết cho ước số đã cho.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
int
|
Con số để chia hết. |
bắt buộc |
divisor |
int | Tensor
|
Số chia. |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
int
|
Số gần nhất chia hết cho ước số. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.nms_rotated(boxes, scores, threshold=0.45)
NMS cho obbs, được cung cấp bởi probiou và fast-nms.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
boxes |
Tensor
|
(N, 5), xywhr. |
bắt buộc |
scores |
Tensor
|
(N,). |
bắt buộc |
threshold |
float
|
Ngưỡng IoU. |
0.45
|
Trở lại:
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.non_max_suppression(prediction, conf_thres=0.25, iou_thres=0.45, classes=None, agnostic=False, multi_label=False, labels=(), max_det=300, nc=0, max_time_img=0.05, max_nms=30000, max_wh=7680, in_place=True, rotated=False)
Thực hiện triệt tiêu không tối đa (NMS) trên một bộ hộp, với sự hỗ trợ cho mặt nạ và nhiều nhãn trên mỗi hộp.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
prediction |
Tensor
|
Một tensor hình dạng (batch_size, num_classes + 4 + num_masks, num_boxes) chứa các hộp, lớp và mặt nạ dự đoán. Các tensor nên ở định dạng đầu ra của một mô hình, chẳng hạn như YOLO. |
bắt buộc |
conf_thres |
float
|
Ngưỡng tin cậy dưới đó các hộp sẽ được lọc ra. Giá trị hợp lệ nằm trong khoảng từ 0,0 đến 1,0. |
0.25
|
iou_thres |
float
|
Ngưỡng IoU bên dưới các hộp sẽ được lọc ra trong NMS. Giá trị hợp lệ nằm trong khoảng từ 0,0 đến 1,0. |
0.45
|
classes |
List[int]
|
Một danh sách các chỉ số lớp để xem xét. Nếu Không có, tất cả các lớp sẽ được xem xét. |
None
|
agnostic |
bool
|
Nếu True, mô hình là bất khả tri với số lượng các lớp, và tất cả Các lớp học sẽ được coi là một. |
False
|
multi_label |
bool
|
Nếu True, mỗi hộp có thể có nhiều nhãn. |
False
|
labels |
List[List[Union[int, float, Tensor]]]
|
Một danh sách các danh sách, trong đó mỗi bên trong Danh sách chứa các nhãn apriori cho một hình ảnh nhất định. Danh sách phải ở định dạng đầu ra bởi bộ tải dữ liệu, với mỗi nhãn là một bộ (class_index, x1, y1, x2, y2). |
()
|
max_det |
int
|
Số lượng hộp tối đa để giữ sau NMS. |
300
|
nc |
int
|
Số lượng lớp đầu ra theo mô hình. Bất kỳ chỉ số nào sau này sẽ được coi là mặt nạ. |
0
|
max_time_img |
float
|
Thời gian tối đa (giây) để xử lý một hình ảnh. |
0.05
|
max_nms |
int
|
Số lượng hộp tối đa vào torchvision.ops.nms(). |
30000
|
max_wh |
int
|
Chiều rộng và chiều cao hộp tối đa tính bằng pixel. |
7680
|
in_place |
bool
|
Nếu True, dự đoán đầu vào tensor sẽ được sửa đổi tại chỗ. |
True
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
List[Tensor]
|
Một danh sách độ dài batch_size, trong đó mỗi phần tử là một tensor của hình dạng (num_boxes, 6 + num_masks) chứa các hộp được giữ, với các cột (x1, y1, x2, y2, tự tin, class, mask1, mask2,...). |
Mã nguồn trong ultralytics/utils/ops.py
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 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 |
|
ultralytics.utils.ops.clip_boxes(boxes, shape)
Lấy một danh sách các hộp giới hạn và một hình dạng (chiều cao, chiều rộng) và kẹp các hộp giới hạn vào hình dạng.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
boxes |
Tensor
|
Các hộp giới hạn để kẹp |
bắt buộc |
shape |
tuple
|
Hình dạng của hình ảnh |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor | ndarray
|
Hộp cắt |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.clip_coords(coords, shape)
Đường clip tọa độ đến ranh giới hình ảnh.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
coords |
Tensor | ndarray
|
Danh sách tọa độ đường. |
bắt buộc |
shape |
tuple
|
Một bộ số nguyên đại diện cho kích thước của hình ảnh ở định dạng (chiều cao, chiều rộng). |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor | ndarray
|
Tọa độ cắt |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.scale_image(masks, im0_shape, ratio_pad=None)
Lấy mặt nạ và thay đổi kích thước thành kích thước hình ảnh gốc.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
masks |
ndarray
|
Mặt nạ/hình ảnh được thay đổi kích thước và đệm, [h, w, num]/[h, w, 3]. |
bắt buộc |
im0_shape |
tuple
|
Hình dạng hình ảnh gốc |
bắt buộc |
ratio_pad |
tuple
|
tỷ lệ của phần đệm so với hình ảnh gốc. |
None
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
masks |
Tensor
|
Những chiếc mặt nạ đang được trả lại. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywh(x)
Chuyển đổi tọa độ hộp giới hạn từ định dạng (x1, y1, x2, y2) sang định dạng (x, y, chiều rộng, chiều cao) trong đó (x1, y1) là góc trên cùng bên trái và (x2, y2) là góc dưới cùng bên phải.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
ndarray | Tensor
|
Tọa độ hộp giới hạn đầu vào ở định dạng (x1, y1, x2, y2). |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
y |
ndarray | Tensor
|
Hộp giới hạn tọa độ theo định dạng (x, y, chiều rộng, chiều cao). |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2xyxy(x)
Chuyển đổi tọa độ hộp giới hạn từ định dạng (x, y, chiều rộng, chiều cao) sang định dạng (x1, y1, x2, y2) trong đó (x1, y1) là góc trên cùng bên trái và (x2, y2) là góc dưới cùng bên phải.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
ndarray | Tensor
|
Hộp giới hạn đầu vào tọa độ theo định dạng (x, y, chiều rộng, chiều cao). |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
y |
ndarray | Tensor
|
Tọa độ hộp giới hạn theo định dạng (x1, y1, x2, y2). |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xywhn2xyxy(x, w=640, h=640, padw=0, padh=0)
Chuyển đổi tọa độ hộp giới hạn chuẩn hóa thành tọa độ pixel.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
ndarray | Tensor
|
Tọa độ hộp giới hạn. |
bắt buộc |
w |
int
|
Chiều rộng của hình ảnh. Mặc định là 640 |
640
|
h |
int
|
Chiều cao của hình ảnh. Mặc định là 640 |
640
|
padw |
int
|
Chiều rộng đệm. Mặc định là 0 |
0
|
padh |
int
|
Chiều cao đệm. Mặc định là 0 |
0
|
Trở lại: y (np.ndarray | torch.Tensor): Tọa độ của hộp giới hạn ở định dạng [x1, y1, x2, y2] trong đó x1, y1 là góc trên cùng bên trái, x2, y2 là góc dưới cùng bên phải của hộp giới hạn.
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywhn(x, w=640, h=640, clip=False, eps=0.0)
Chuyển đổi tọa độ hộp giới hạn từ định dạng (x1, y1, x2, y2) sang định dạng (x, y, chiều rộng, chiều cao, chuẩn hóa). x, y, Chiều rộng và chiều cao được chuẩn hóa theo kích thước hình ảnh.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
ndarray | Tensor
|
Tọa độ hộp giới hạn đầu vào ở định dạng (x1, y1, x2, y2). |
bắt buộc |
w |
int
|
Chiều rộng của hình ảnh. Mặc định là 640 |
640
|
h |
int
|
Chiều cao của hình ảnh. Mặc định là 640 |
640
|
clip |
bool
|
Nếu True, các hộp sẽ được cắt theo ranh giới hình ảnh. Mặc định là False |
False
|
eps |
float
|
Giá trị tối thiểu của chiều rộng và chiều cao của hộp. Mặc định là 0,0 |
0.0
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
y |
ndarray | Tensor
|
Tọa độ hộp giới hạn theo định dạng (x, y, chiều rộng, chiều cao, chuẩn hóa) |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2ltwh(x)
Chuyển đổi định dạng hộp giới hạn từ [x, y, w, h] thành [x1, y1, w, h], trong đó x1, y1 là tọa độ trên cùng bên trái.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
ndarray | Tensor
|
Đầu vào tensor với tọa độ hộp giới hạn ở định dạng XYWH |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
y |
ndarray | Tensor
|
Tọa độ hộp giới hạn theo định dạng xyltwh |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2ltwh(x)
Chuyển đổi các hộp giới hạn nx4 từ [x1, y1, x2, y2] thành [x1, y1, w, h], trong đó xy1 = trên cùng bên trái, xy2 = dưới cùng bên phải.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
ndarray | Tensor
|
Đầu vào tensor với tọa độ các hộp giới hạn theo định dạng XYXY |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
y |
ndarray | Tensor
|
Tọa độ hộp giới hạn theo định dạng xyltwh. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xywh(x)
Chuyển đổi hộp nx4 từ [x1, y1, w, h] thành [x, y, w, h] trong đó xy1 = trên cùng bên trái, xy = trung tâm.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
Tensor
|
Đầu vào tensor |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
y |
ndarray | Tensor
|
Tọa độ hộp giới hạn theo định dạng xywh. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xyxyxyxy2xywhr(corners)
Chuyển đổi các hộp giới hạn định hướng hàng loạt (OBB) từ [xy1, xy2, xy3, xy4] thành [xywh, xoay]. Giá trị xoay là: dự kiến ở độ từ 0 đến 90.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
corners |
ndarray | Tensor
|
Các góc đầu vào của hình dạng (n, 8). |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray | Tensor
|
Dữ liệu được chuyển đổi ở định dạng [cx, cy, w, h, xoay] của hình dạng (n, 5). |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.xywhr2xyxyxyxy(rboxes)
Chuyển đổi các hộp giới hạn định hướng hàng loạt (OBB) từ [xywh, xoay] sang [xy1, xy2, xy3, xy4]. Giá trị xoay nên ở độ từ 0 đến 90.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
rboxes |
ndarray | Tensor
|
Các hộp ở định dạng [cx, cy, w, h, xoay] có hình dạng (n, 5) hoặc (b, n, 5). |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray | Tensor
|
Các điểm góc được chuyển đổi có hình dạng (n, 4, 2) hoặc (b, n, 4, 2). |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xyxy(x)
Nó chuyển đổi hộp giới hạn từ [x1, y1, w, h] thành [x1, y1, x2, y2] trong đó xy1 = trên cùng bên trái, xy2 = dưới cùng bên phải.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
x |
ndarray | Tensor
|
hình ảnh đầu vào |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
y |
ndarray | Tensor
|
tọa độ xyxy của các hộp giới hạn. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.segments2boxes(segments)
Nó chuyển đổi nhãn phân đoạn thành nhãn hộp, tức là (cls, xy1, xy2, ...) thành (cls, xywh)
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
segments |
list
|
Danh sách các đoạn, mỗi đoạn là một danh sách các điểm, mỗi điểm là một danh sách tọa độ x, y |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray
|
tọa độ XYWH của các hộp giới hạn. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.resample_segments(segments, n=1000)
Nhập danh sách các phân đoạn (n,2) và trả về danh sách các phân đoạn (n,2) được lấy mẫu lên đến n điểm mỗi đoạn.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
segments |
list
|
Một danh sách các mảng (n,2), trong đó n là số điểm trong đoạn. |
bắt buộc |
n |
int
|
số điểm để lấy mẫu lại phân đoạn đến. Mặc định là 1000 |
1000
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
segments |
list
|
các phân đoạn được lấy mẫu lại. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.crop_mask(masks, boxes)
Nó lấy một mặt nạ và một hộp giới hạn, và trả về một mặt nạ được cắt vào hộp giới hạn.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
masks |
Tensor
|
[n, h, w] tensor Số lượng mặt nạ |
bắt buộc |
boxes |
Tensor
|
[n, 4] tensor của tọa độ bbox ở dạng điểm tương đối |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Các mặt nạ đang được cắt vào hộp giới hạn. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_upsample(protos, masks_in, bboxes, shape)
Lấy đầu ra của đầu mặt nạ và áp dụng mặt nạ vào các hộp giới hạn. Điều này tạo ra mặt nạ chất lượng cao hơn nhưng chậm hơn.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
protos |
Tensor
|
[mask_dim, mask_h, mask_w] |
bắt buộc |
masks_in |
Tensor
|
[n, mask_dim], n là số mặt nạ sau nms |
bắt buộc |
bboxes |
Tensor
|
[n, 4], n là số mặt nạ sau nms |
bắt buộc |
shape |
tuple
|
Kích thước của hình ảnh đầu vào (H, W) |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Những chiếc khẩu trang được lấy mẫu. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask(protos, masks_in, bboxes, shape, upsample=False)
Áp dụng mặt nạ vào các hộp giới hạn bằng cách sử dụng đầu ra của đầu mặt nạ.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
protos |
Tensor
|
Một tensor của hình dạng [mask_dim, mask_h, mask_w]. |
bắt buộc |
masks_in |
Tensor
|
Một tensor có hình dạng [n, mask_dim], trong đó n là số mặt nạ sau NMS. |
bắt buộc |
bboxes |
Tensor
|
Một tensor có hình dạng [n, 4], trong đó n là số mặt nạ sau NMS. |
bắt buộc |
shape |
tuple
|
Một bộ số nguyên đại diện cho kích thước của hình ảnh đầu vào ở định dạng (h, w). |
bắt buộc |
upsample |
bool
|
Một lá cờ để cho biết có nên lấy mẫu mặt nạ về kích thước hình ảnh gốc hay không. Mặc định là False. |
False
|
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Mặt nạ nhị phân tensor có hình dạng [n, h, w], trong đó n là số mặt nạ sau NMS, và h và w là chiều cao và chiều rộng của hình ảnh đầu vào. Mặt nạ được áp dụng cho các hộp giới hạn. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_native(protos, masks_in, bboxes, shape)
Nó lấy đầu ra của đầu mặt nạ và cắt nó sau khi lấy mẫu lên các hộp giới hạn.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
protos |
Tensor
|
[mask_dim, mask_h, mask_w] |
bắt buộc |
masks_in |
Tensor
|
[n, mask_dim], n là số mặt nạ sau nms |
bắt buộc |
bboxes |
Tensor
|
[n, 4], n là số mặt nạ sau nms |
bắt buộc |
shape |
tuple
|
Kích thước của hình ảnh đầu vào (H, W) |
bắt buộc |
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
masks |
Tensor
|
Mặt nạ trả lại có kích thước [h, w, n] |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.scale_masks(masks, shape, padding=True)
Thay đổi tỷ lệ mặt nạ phân đoạn để định hình.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
masks |
Tensor
|
(N, C, H, W). |
bắt buộc |
shape |
tuple
|
Chiều cao và chiều rộng. |
bắt buộc |
padding |
bool
|
Nếu True, giả sử các hộp dựa trên hình ảnh được tăng cường bởi yolo phong cách. Nếu False thì làm thường xuyên thay đổi quy mô. |
True
|
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.scale_coords(img1_shape, coords, img0_shape, ratio_pad=None, normalize=False, padding=True)
Thay đổi tỷ lệ tọa độ phân đoạn (xy) từ img1_shape thành img0_shape.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
img1_shape |
tuple
|
Hình dạng của hình ảnh mà tọa độ đến từ. |
bắt buộc |
coords |
Tensor
|
Các tọa độ được chia tỷ lệ hình n,2. |
bắt buộc |
img0_shape |
tuple
|
hình dạng của hình ảnh mà phân đoạn đang được áp dụng. |
bắt buộc |
ratio_pad |
tuple
|
tỷ lệ giữa kích thước hình ảnh với kích thước hình ảnh đệm. |
None
|
normalize |
bool
|
Nếu True, tọa độ sẽ được chuẩn hóa thành phạm vi [0, 1]. Mặc định là False. |
False
|
padding |
bool
|
Nếu True, giả sử các hộp dựa trên hình ảnh được tăng cường bởi yolo phong cách. Nếu False thì làm thường xuyên thay đổi quy mô. |
True
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
coords |
Tensor
|
Các tọa độ được chia tỷ lệ. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.regularize_rboxes(rboxes)
Thường xuyên hóa các hộp xoay trong phạm vi [0, pi / 2].
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
rboxes |
Tensor
|
(N, 5), xywhr. |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
Tensor
|
Các hộp thông thường. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.masks2segments(masks, strategy='largest')
Nó lấy một danh sách các mặt nạ (n, h, w) và trả về một danh sách các phân đoạn (n, xy)
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
masks |
Tensor
|
đầu ra của mô hình, đó là một tensor Hình dạng (batch_size, 160, 160) |
bắt buộc |
strategy |
str
|
'concat' hoặc 'lớn nhất'. Mặc định là lớn nhất |
'largest'
|
Trở lại:
Tên | Kiểu | Sự miêu tả |
---|---|---|
segments |
List
|
Danh sách mặt nạ phân đoạn |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.convert_torch2numpy_batch(batch)
Chuyển đổi một lô FP32 torch tensor (0.0-1.0) thành mảng uint8 NumPy (0-255), thay đổi từ bố cục BCHW sang BHWC.
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
batch |
Tensor
|
Nhập tensor lô hình dạng (Batch, Channel, Height, Width) và dtype torch.float32. |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
ndarray
|
Đầu ra hàng loạt mảng NumPy có hình dạng (Batch, Height, Width, Channels) và dtype uint8. |
Mã nguồn trong ultralytics/utils/ops.py
ultralytics.utils.ops.clean_str(s)
Làm sạch chuỗi bằng cách thay thế các ký tự đặc biệt bằng dấu gạch dưới _
Thông số:
Tên | Kiểu | Sự miêu tả | Mặc định |
---|---|---|---|
s |
str
|
một chuỗi cần thay thế các ký tự đặc biệt |
bắt buộc |
Trở lại:
Kiểu | Sự miêu tả |
---|---|
str
|
một chuỗi có các ký tự đặc biệt được thay thế bằng dấu gạch dưới _ |