рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн ultralytics/utils/ops.py
рдиреЛрдЯ
рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдпрд╣рд╛рдБ рдЙрдкрд▓рдмреНрдз рд╣реИ https://github.com/ultralytics/ultralytics/рдмреВрдБрдж/рдореБрдЦреНрдп/ultralytics/utils/ops.py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд╛ рдпреЛрдЧрджрд╛рди рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВ ЁЯЫая╕Пред ЁЯЩП рдзрдиреНрдпрд╡рд╛рдж !
ultralytics.utils.ops.Profile
рдХрд╛ рд░реВрдк: ContextDecorator
YOLOv8 рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╡рд░реНрдЧред @Profile() рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╛ 'рдкреНрд░реЛрдлрд╛рдЗрд▓ () рдХреЗ рд╕рд╛рде' рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрджрд░реНрдн рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
__enter__()
__exit__(type, value, traceback)
__init__(t=0.0, device=None)
рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╡рд░реНрдЧ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
t |
float
|
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдордпред 0.0 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯред |
0.0
|
device |
device
|
рдореЙрдбрд▓ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгред рдХреЛрдИ рдирд╣реАрдВ (рд╕реАрдкреАрдпреВ) рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯред |
None
|
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
__str__()
рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдореЗрдВ рд╕рдВрдЪрд┐рдд рдмреАрддрд╛ рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдорд╛рдирд╡-рдкрдардиреАрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
ultralytics.utils.ops.segment2box(segment, width=640, height=640)
1 рд╕реЗрдЧрдореЗрдВрдЯ рд▓реЗрдмрд▓ рдХреЛ 1 рдмреЙрдХреНрд╕ рд▓реЗрдмрд▓ рдореЗрдВ рдмрджрд▓реЗрдВ, рдЕрдВрджрд░-рдЫрд╡рд┐ рдмрд╛рдзрд╛ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдпрд╛рдиреА (xy1, xy2, ...) рд╕реЗ (xyxy)ред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
segment |
Tensor
|
рд╕реЗрдЧрдореЗрдВрдЯ рд▓реЗрдмрд▓ |
рдЖрд╡рд╢реНрдпрдХ |
width |
int
|
рдЫрд╡рд┐ рдХреА рдЪреМрдбрд╝рд╛рдИ. 640 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
640
|
height |
int
|
рдЫрд╡рд┐ рдХреА рдКрдВрдЪрд╛рдИ. 640 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
640
|
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
ndarray
|
рд╕реЗрдЧрдореЗрдВрдЯ рдХрд╛ рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо x рдФрд░ y рдорд╛рдиред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.scale_boxes(img1_shape, boxes, img0_shape, ratio_pad=None, padding=True, xywh=False)
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ xyxy рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ) рдХреЛ рдЙрд╕ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рд░реАрд╕реНрдХреЗрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдереЗ рдПрдХ рдЕрд▓рдЧ рдЫрд╡рд┐ (img0_shape) рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП (img1_shape) рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
img1_shape |
tuple
|
рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (рдКрдВрдЪрд╛рдИ, рдЪреМрдбрд╝рд╛рдИ) рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИрдВред |
рдЖрд╡рд╢реНрдпрдХ |
boxes |
Tensor
|
рдЫрд╡рд┐ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕, (x1, y1, x2, y2) рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ |
рдЖрд╡рд╢реНрдпрдХ |
img0_shape |
tuple
|
рд▓рдХреНрд╖реНрдп рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░, (рдКрдВрдЪрд╛рдИ, рдЪреМрдбрд╝рд╛рдИ) рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВред |
рдЖрд╡рд╢реНрдпрдХ |
ratio_pad |
tuple
|
рдмрдХреНрд╕реЗ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЕрдиреБрдкрд╛рдд, рдкреИрдб) рдХрд╛ рдПрдХ рдЯреБрдкрд▓ред рдпрджрд┐ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЕрдиреБрдкрд╛рдд рдФрд░ рдкреИрдб рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рджреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЖрдХрд╛рд░ рдЕрдВрддрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред |
None
|
padding |
bool
|
рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдмреЙрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╡рд░реНрдзрд┐рдд рдЫрд╡рд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ yolo рд╡рд░реНрддрд┐рдХрд╛ред рдЕрдЧрд░ рдЧрд▓рдд рд╣реИ рддреЛ рдирд┐рдпрдорд┐рдд рдХрд░реЗрдВ рдкреБрдирдГ рд╕реНрдХреЗрд▓рд┐рдВрдЧред |
True
|
xywh |
bool
|
рдмреЙрдХреНрд╕ рдкреНрд░рд╛рд░реВрдк xywh рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ = рдЧрд▓рддред |
False
|
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
boxes |
Tensor
|
рд╕реНрдХреЗрд▓ рдХрд┐рдП рдЧрдП рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕, (x1, y1, x2, y2) рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.make_divisible(x, divisor)
рдирд┐рдХрдЯрддрдо рд╕рдВрдЦреНрдпрд╛ рджреЗрддрд╛ рд╣реИ рдЬреЛ рджрд┐рдП рдЧрдП рднрд╛рдЬрдХ рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
int
|
рд╡рд┐рднрд╛рдЬреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛ред |
рдЖрд╡рд╢реНрдпрдХ |
divisor |
int | Tensor
|
рднрд╛рдЬрдХред |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
int
|
рднрд╛рдЬрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬреНрдп рдирд┐рдХрдЯрддрдо рд╕рдВрдЦреНрдпрд╛ред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.nms_rotated(boxes, scores, threshold=0.45)
рдУрдмреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдирдПрдордПрд╕, рдкреНрд░реЛрдмрд┐рдпреВ рдФрд░ рдлрд╛рд╕реНрдЯ-рдПрдирдПрдордПрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд╛рд▓рд┐рддред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
boxes |
Tensor
|
(рдПрди, 5), xywhrред |
рдЖрд╡рд╢реНрдпрдХ |
scores |
Tensor
|
(рдПрди,)ред |
рдЖрд╡рд╢реНрдпрдХ |
threshold |
float
|
IoU рджрд╣рд▓реАрдЬред |
0.45
|
рджреЗрддрд╛:
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб 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)
рдмрдХреНрд╕реЗ рдХреЗ рдПрдХ рд╕реЗрдЯ рдкрд░ рдЧреИрд░-рдЕрдзрд┐рдХрддрдо рджрдорди (рдПрдирдПрдордПрд╕) рдХрд░реЗрдВ, рдорд╛рд╕реНрдХ рдФрд░ рдкреНрд░рддрд┐ рдмреЙрдХреНрд╕ рдХрдИ рд▓реЗрдмрд▓ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рдеред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
prediction |
Tensor
|
рдПрдХ tensor рдЖрдХрд╛рд░ рдХрд╛ (batch_size, num_classes + 4 + num_masks, num_boxes) рдЕрдиреБрдорд╛рдирд┐рдд рдмрдХреНрд╕реЗ, рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдорд╛рд╕реНрдХ рдпреБрдХреНрддред рд╡рд╣реА tensor рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдПрдХ рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдЖрдЙрдЯрдкреБрдЯ, рдЬреИрд╕реЗ YOLO. |
рдЖрд╡рд╢реНрдпрдХ |
conf_thres |
float
|
рдХреЙрдиреНрдлрд╝рд┐рдбреЗрдВрд╕ рдереНрд░реЗрд╢реЛрд▓реНрдб рдЬрд┐рд╕рдХреЗ рдиреАрдЪреЗ рдмреЙрдХреНрд╕ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЬрд╛рдПрдБрдЧреЗ. рдорд╛рдиреНрдп рдорд╛рди 0.0 рдФрд░ 1.0 рдХреЗ рдмреАрдЪ рд╣реИрдВ. |
0.25
|
iou_thres |
float
|
IoU рдереНрд░реЗрд╢реЛрд▓реНрдб рдЬрд┐рд╕рдХреЗ рдиреАрдЪреЗ NMS рдХреЗ рджреМрд░рд╛рди рдмреЙрдХреНрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдорд╛рдиреНрдп рдорд╛рди 0.0 рдФрд░ 1.0 рдХреЗ рдмреАрдЪ рд╣реИрдВ. |
0.45
|
classes |
List[int]
|
рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреАред рдпрджрд┐ рдХреЛрдИ рдирд╣реАрдВ, рддреЛ рд╕рднреА рд╡рд░реНрдЧреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред |
None
|
agnostic |
bool
|
рдпрджрд┐ рд╕рдЪ рд╣реИ, рддреЛ рдореЙрдбрд▓ рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдЬреНрдЮреЗрдпрд╡рд╛рджреА рд╣реИ, рдФрд░ рд╕рднреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдПрдХ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред |
False
|
multi_label |
bool
|
рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдмреЙрдХреНрд╕ рдореЗрдВ рдХрдИ рд▓реЗрдмрд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред |
False
|
labels |
List[List[Union[int, float, Tensor]]]
|
рд╕реВрдЪрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдЖрдВрддрд░рд┐рдХ рд╕реВрдЪреА рдореЗрдВ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП Apriori рд▓реЗрдмрд▓ рд╣реЛрддреЗ рд╣реИрдВред рд╕реВрдЪреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдбреЗрдЯрд╛рд▓реЛрдбрд░ рджреНрд╡рд╛рд░рд╛ рдЖрдЙрдЯрдкреБрдЯ, рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдмрд▓ (class_index, x1, y1, x2, y2) рдХрд╛ рдЯрдкрд▓ рд╣реЛрддрд╛ рд╣реИред |
()
|
max_det |
int
|
рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдХреНрд╕реЗ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ред |
300
|
nc |
int
|
рдореЙрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд┐рд╕реА рднреА рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рдорд╛рд╕реНрдХ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред |
0
|
max_time_img |
float
|
рдПрдХ рдЫрд╡рд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рд╕рдордп (рд╕реЗрдХрдВрдб)ред |
0.05
|
max_nms |
int
|
torchvision.ops.nms() рдореЗрдВ рдмрдХреНрд╕реЗ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ред |
30000
|
max_wh |
int
|
рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдмреЙрдХреНрд╕ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИред |
7680
|
in_place |
bool
|
рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдЗрдирдкреБрдЯ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА tensor рдЬрдЧрд╣ рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред |
True
|
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
List[Tensor]
|
рд▓рдВрдмрд╛рдИ batch_size рдХреА рдПрдХ рд╕реВрдЪреА, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдПрдХ tensor рдХрд╛ рдЖрдХреГрддрд┐ (num_boxes, 6 + num_masks) рдЬрд┐рд╕рдореЗрдВ рд░рдЦреЗ рдЧрдП рдмрдХреНрд╕реЗ рд╣реИрдВ, рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде (x1, y1, x2, y2, рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕, рд╡рд░реНрдЧ, рдореБрдЦреМрдЯрд╛ 1, рдорд╛рд╕реНрдХ 2, ...)ред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб 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)
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдФрд░ рдПрдХ рдЖрдХреГрддрд┐ (рдКрдВрдЪрд╛рдИ, рдЪреМрдбрд╝рд╛рдИ) рдХреА рдПрдХ рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЛ рдЖрдХрд╛рд░ рдореЗрдВ рдХреНрд▓рд┐рдк рдХрд░рддрд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
boxes |
Tensor
|
рдХреНрд▓рд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ |
рдЖрд╡рд╢реНрдпрдХ |
shape |
tuple
|
рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
Tensor | ndarray
|
рдХреНрд▓рд┐рдк рдХрд┐рдП рдЧрдП рдмреЙрдХреНрд╕ |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.clip_coords(coords, shape)
рдХреНрд▓рд┐рдк рд▓рд╛рдЗрди рдЫрд╡рд┐ рд╕реАрдорд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд░рддреА рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
coords |
Tensor | ndarray
|
рд░реЗрдЦрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдПрдХ рд╕реВрдЪреА. |
рдЖрд╡рд╢реНрдпрдХ |
shape |
tuple
|
рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдПрдХ рдЯрдкрд▓, рдЬреЛ рдкреНрд░рд╛рд░реВрдк (рдКрдВрдЪрд╛рдИ, рдЪреМрдбрд╝рд╛рдИ) рдореЗрдВ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
Tensor | ndarray
|
рдХреНрд▓рд┐рдк рдХрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.scale_image(masks, im0_shape, ratio_pad=None)
рдПрдХ рдореБрдЦреМрдЯрд╛ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдореВрд▓ рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
masks |
ndarray
|
рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдФрд░ рдЧрджреНрджреЗрджрд╛рд░ рдорд╛рд╕реНрдХ/рдЫрд╡рд┐рдпрд╛рдВ, [рдПрдЪ, рдбрдмреНрд▓реНрдпреВ, рдиреНрдпреВрдо]/[рдПрдЪ, рдбрдмреНрд▓реНрдпреВ, 3]ред |
рдЖрд╡рд╢реНрдпрдХ |
im0_shape |
tuple
|
рдореВрд▓ рдЫрд╡рд┐ рдЖрдХреГрддрд┐ |
рдЖрд╡рд╢реНрдпрдХ |
ratio_pad |
tuple
|
рдореВрд▓ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдкреИрдбрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдкрд╛рддред |
None
|
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
masks |
Tensor
|
рдЬреЛ рдорд╛рд╕реНрдХ рд▓реМрдЯрд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywh(x)
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ (x1, y1, x2, y2) рдкреНрд░рд╛рд░реВрдк рд╕реЗ (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ (x1, y1) рдКрдкрд░реА-рдмрд╛рдПрдБ рдХреЛрдиреЗ рдФрд░ (x2, y2) рдирд┐рдЪрд▓реЗ-рджрд╛рдПрдБ рдХреЛрдиреЗ рд╣реИрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
ndarray | Tensor
|
рдЗрдирдкреБрдЯ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (x1, y1, x2, y2) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
y |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2xyxy(x)
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рдкреНрд░рд╛рд░реВрдк рд╕реЗ (x1, y1, x2, y2) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ (x1, y1) рдКрдкрд░реА-рдмрд╛рдПрдБ рдХреЛрдиреЗ рдФрд░ (x2, y2) рдирд┐рдЪрд▓реЗ-рджрд╛рдПрдБ рдХреЛрдиреЗ рд╣реИрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
ndarray | Tensor
|
рдЗрдирдкреБрдЯ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
y |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (x1, y1, x2, y2) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд░рддрд╛ рд╣реИред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xywhn2xyxy(x, w=640, h=640, padw=0, padh=0)
рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдкрд┐рдХреНрд╕реЗрд▓ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред |
рдЖрд╡рд╢реНрдпрдХ |
w |
int
|
рдЫрд╡рд┐ рдХреА рдЪреМрдбрд╝рд╛рдИ. 640 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
640
|
h |
int
|
рдЫрд╡рд┐ рдХреА рдКрдВрдЪрд╛рдИред 640 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
640
|
padw |
int
|
рдкреИрдбрд┐рдВрдЧ рдЪреМрдбрд╝рд╛рдИред 0 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
0
|
padh |
int
|
рдкреИрдбрд┐рдВрдЧ рдКрдВрдЪрд╛рдИред 0 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
0
|
рджреЗрддрд╛: рд╡рд╛рдИ (рдПрдирдкреА.рдирджрд░рд░реЗ | torch.Tensor): рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ [x1, y1, x2, y2] рдЬрд╣рд╛рдВ X1, Y1 рдКрдкрд░реА-рдмрд╛рдПрдБ рдХреЛрдиреЗ рд╣реИ, x2, y2 рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХрд╛ рдирд┐рдЪрд▓рд╛-рджрд╛рдпрд╛рдБ рдХреЛрдирд╛ рд╣реИред
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywhn(x, w=640, h=640, clip=False, eps=0.0)
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ (x1, y1, x2, y2) рдкреНрд░рд╛рд░реВрдк рд╕реЗ (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ, рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВред рдПрдХреНрд╕, рд╡рд╛рдИ, рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдЫрд╡рд┐ рдЖрдпрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рд╣реИрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
ndarray | Tensor
|
рдЗрдирдкреБрдЯ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (x1, y1, x2, y2) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
w |
int
|
рдЫрд╡рд┐ рдХреА рдЪреМрдбрд╝рд╛рдИ. 640 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
640
|
h |
int
|
рдЫрд╡рд┐ рдХреА рдКрдВрдЪрд╛рдИ. 640 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
640
|
clip |
bool
|
рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдмреЙрдХреНрд╕ рдЫрд╡рд┐ рд╕реАрдорд╛рдУрдВ рдкрд░ рдХреНрд▓рд┐рдк рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗ рдЧрд▓рдд |
False
|
eps |
float
|
рдмреЙрдХреНрд╕ рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдХрд╛ рдиреНрдпреВрдирддрдо рдорд╛рди. 0.0 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
0.0
|
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
y |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ, рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИ |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2ltwh(x)
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдкреНрд░рд╛рд░реВрдк рдХреЛ [x, y, w, h] рд╕реЗ [x1, y1, w, h] рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ, рдЬрд╣рд╛рдБ x1, y1 рд╢реАрд░реНрд╖-рдмрд╛рдПрдБ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
ndarray | Tensor
|
рдЗрдирдкреБрдЯ tensor рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде XYWH рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
y |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ xyltwh рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИ |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2ltwh(x)
nx4 рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЛ [x1, y1, x2, y2] рд╕реЗ [x1, y1, w, h] рдореЗрдВ рдмрджрд▓реЗрдВ, рдЬрд╣рд╛рдБ xy1=рдКрдкрд░реА-рдмрд╛рдПрдБ, xy2=рдиреАрдЪреЗ-рджрд╛рдПрдБ.
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
ndarray | Tensor
|
рдЗрдирдкреБрдЯ tensor рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде xyxy рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
y |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ xyltwh рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдордиреНрд╡рдп рдХрд░рддрд╛ рд╣реИред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xywh(x)
nx4 рдмрдХреНрд╕реЗ рдХреЛ [x1, y1, w, h] рд╕реЗ [x, y, w, h] рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ рдЬрд╣рд╛рдБ xy1=рдКрдкрд░реА-рдмрд╛рдпрд╛рдБ, xy=рдХреЗрдВрджреНрд░.
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
Tensor
|
рдЗрдирдкреБрдЯ tensor |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
y |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ xywh рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд░рддрд╛ рд╣реИред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xyxyxyxy2xywhr(corners)
рдмреИрдЪреНрдб рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (OBB) рдХреЛ [xy1, xy2, xy3, xy4] рд╕реЗ [xywh, рд░реЛрдЯреЗрд╢рди] рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВред рд░реЛрдЯреЗрд╢рди рдорд╛рди рд╣реИрдВ 0 рд╕реЗ 90 рддрдХ рдбрд┐рдЧреНрд░реА рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рддред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
corners |
ndarray | Tensor
|
рдЖрдХрд╛рд░ рдХреЗ рдЗрдирдкреБрдЯ рдХреЛрдиреЗ (рдПрди, 8)ред |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
ndarray | Tensor
|
рдЖрдХрд╛рд░ рдХреЗ [cx, cy, w, h, рд░реЛрдЯреЗрд╢рди] рдкреНрд░рд╛рд░реВрдк (n, 5) рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдбреЗрдЯрд╛ред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.xywhr2xyxyxyxy(rboxes)
рдмреИрдЪреНрдб рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (OBB) рдХреЛ [xywh, рд░реЛрдЯреЗрд╢рди] рд╕реЗ [xy1, xy2, xy3, xy4] рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВред рд░реЛрдЯреЗрд╢рди рдорд╛рди рдЪрд╛рд╣рд┐рдП 0 рд╕реЗ 90 рддрдХ рдбрд┐рдЧреНрд░реА рдореЗрдВ рд╣реЛред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
rboxes |
ndarray | Tensor
|
рдЖрдХрд╛рд░ рдХреЗ [cx, cy, w, h, рд░реЛрдЯреЗрд╢рди] рдкреНрд░рд╛рд░реВрдк (n, 5) рдпрд╛ (b, n, 5) рдореЗрдВ рдмреЙрдХреНрд╕ред |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
ndarray | Tensor
|
рдЖрдХреГрддрд┐ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХреЛрдиреЗ рдмрд┐рдВрджреБ (n, 4, 2) рдпрд╛ (b, n, 4, 2)ред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xyxy(x)
рдпрд╣ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЛ [x1, y1, w, h] рд╕реЗ [x1, y1, x2, y2] рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ xy1=рдКрдкрд░-рдмрд╛рдПрдВ, xy2=рдиреАрдЪреЗ-рджрд╛рдПрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
x |
ndarray | Tensor
|
рдЗрдирдкреБрдЯ рдЫрд╡рд┐ |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
y |
ndarray | Tensor
|
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ xyxy рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.segments2boxes(segments)
рдпрд╣ рд╕реЗрдЧрдореЗрдВрдЯ рд▓реЗрдмрд▓ рдХреЛ рдмреЙрдХреНрд╕ рд▓реЗрдмрд▓ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд (cls, xy1, xy2, ...) рд╕реЗ (cls, xywh)
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
segments |
list
|
рдЦрдВрдбреЛрдВ рдХреА рд╕реВрдЪреА, рдкреНрд░рддреНрдпреЗрдХ рдЦрдВрдб рдмрд┐рдВрджреБрдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдПрдХреНрд╕, рд╡рд╛рдИ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
ndarray
|
XYWH рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд░рддрд╛ рд╣реИред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.resample_segments(segments, n=1000)
рдЦрдВрдбреЛрдВ (рдПрди, 2) рдХреА рдПрдХ рд╕реВрдЪреА рдЗрдирдкреБрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЦрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА (рдПрди, 2) рджреЗрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдПрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдирдореВрдирд╛ рджреЗрддрд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
segments |
list
|
(рдПрди, 2) рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА, рдЬрд╣рд╛рдВ рдПрди рдЦрдВрдб рдореЗрдВ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
n |
int
|
рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдирдореВрдирд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред 1000 рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ |
1000
|
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
segments |
list
|
рдкреБрди: рдирдореВрдирд╛ рдЦрдВрдбред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.crop_mask(masks, boxes)
рдпрд╣ рдПрдХ рдореБрдЦреМрдЯрд╛ рдФрд░ рдПрдХ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдореБрдЦреМрдЯрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдореЗрдВ рдХреНрд░реЙрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
masks |
Tensor
|
[рдПрди, рдПрдЪ, рдбрдмреНрд▓реНрдпреВ] tensor рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ |
рдЖрд╡рд╢реНрдпрдХ |
boxes |
Tensor
|
[рдПрди, 4] tensor bbox рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рдмрд┐рдВрджреБ рд░реВрдк рдореЗрдВ |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
Tensor
|
рдорд╛рд╕реНрдХ рдХреЛ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдореЗрдВ рдХреНрд░реЙрдк рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_upsample(protos, masks_in, bboxes, shape)
рдореБрдЦреМрдЯрд╛ рд╕рд┐рд░ рдХрд╛ рдЙрддреНрдкрд╛рджрди рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмрдХреНрд╕реЗ рдХреЗ рд▓рд┐рдП рдореБрдЦреМрдЯрд╛ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ. рдпрд╣ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рдорд╛рд╕реНрдХ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдзреАрдорд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
protos |
Tensor
|
[mask_dim, mask_h, mask_w] |
рдЖрд╡рд╢реНрдпрдХ |
masks_in |
Tensor
|
[рдПрди, mask_dim], рдПрди рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ |
рдЖрд╡рд╢реНрдпрдХ |
bboxes |
Tensor
|
[рдПрди, 4], рдПрди рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ |
рдЖрд╡рд╢реНрдпрдХ |
shape |
tuple
|
рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ (H,W) |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
Tensor
|
рдКрдкрд░ рдЙрдареЗ рд╣реБрдП рдореБрдЦреМрдЯреЗред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask(protos, masks_in, bboxes, shape, upsample=False)
рдорд╛рд╕реНрдХ рд╕рд┐рд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдкрд░ рдорд╛рд╕реНрдХ рд▓рдЧрд╛рдПрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
protos |
Tensor
|
рдПрдХ tensor рдЖрдХрд╛рд░ рдХрд╛ [mask_dim, mask_h, mask_w]ред |
рдЖрд╡рд╢реНрдпрдХ |
masks_in |
Tensor
|
рдПрдХ tensor рдЖрдХрд╛рд░ рдХрд╛ [рдПрди, mask_dim], рдЬрд╣рд╛рдВ рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рдПрди рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
bboxes |
Tensor
|
рдПрдХ tensor рдЖрдХрд╛рд░ рдХрд╛ [рдПрди, 4], рдЬрд╣рд╛рдВ рдПрди рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
shape |
tuple
|
рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХрд╛ рдПрдХ рдЯрдкрд▓, рдЬреЛ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ (h, w). |
рдЖрд╡рд╢реНрдпрдХ |
upsample |
bool
|
рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдзреНрд╡рдЬ рдХрд┐ рдХреНрдпрд╛ рдореБрдЦреМрдЯрд╛ рдХреЛ рдореВрд▓ рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдореЗрдВ рдЕрдкрд╕реИрдореНрдкрд▓ рдХрд░рдирд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЧрд╝рд▓рдд рд╣реИ. |
False
|
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
Tensor
|
рдПрдХ рдмрд╛рдЗрдирд░реА рдорд╛рд╕реНрдХ tensor рдЖрдХрд╛рд░ рдХрд╛ [рдПрди, рдПрдЪ, рдбрдмреНрд▓реНрдпреВ], рдЬрд╣рд╛рдВ рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рдПрди рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ рдПрдЪ рдФрд░ рдбрдмреНрд▓реНрдпреВ рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХреА рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рд╣реИрдВред рдорд╛рд╕реНрдХ рдХреЛ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдкрд░ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_native(protos, masks_in, bboxes, shape)
рдпрд╣ рдореБрдЦреМрдЯрд╛ рд╕рд┐рд░ рдХрд╛ рдЙрддреНрдкрд╛рджрди рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмрдХреНрд╕реЗ рдореЗрдВ рдЕрдкрд╕реИрдВрдкрд▓рд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдлрд╕рд▓ рджреЗрддрд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
protos |
Tensor
|
[mask_dim, mask_h, mask_w] |
рдЖрд╡рд╢реНрдпрдХ |
masks_in |
Tensor
|
[рдПрди, mask_dim], рдПрди рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ |
рдЖрд╡рд╢реНрдпрдХ |
bboxes |
Tensor
|
[рдПрди, 4], рдПрди рдПрдирдПрдордПрд╕ рдХреЗ рдмрд╛рдж рдорд╛рд╕реНрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ |
рдЖрд╡рд╢реНрдпрдХ |
shape |
tuple
|
рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ (H,W) |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
masks |
Tensor
|
рдЖрдпрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд▓реМрдЯреЗ рд╣реБрдП рдорд╛рд╕реНрдХ [рдПрдЪ, рдбрдмреНрд▓реНрдпреВ, рдПрди] |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.scale_masks(masks, shape, padding=True)
рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЧрдореЗрдВрдЯ рдорд╛рд╕реНрдХ рдХреЛ рд░реАрд╕реНрдХреЗрд▓ рдХрд░реЗрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
masks |
Tensor
|
(рдПрди, рд╕реА, рдПрдЪ, рдбрдмреНрд▓реНрдпреВ)ред |
рдЖрд╡рд╢реНрдпрдХ |
shape |
tuple
|
рдКрдВрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИред |
рдЖрд╡рд╢реНрдпрдХ |
padding |
bool
|
рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдмреЙрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╡рд░реНрдзрд┐рдд рдЫрд╡рд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ yolo рд╡рд░реНрддрд┐рдХрд╛ред рдЕрдЧрд░ рдЧрд▓рдд рд╣реИ рддреЛ рдирд┐рдпрдорд┐рдд рдХрд░реЗрдВ рдкреБрдирдГ рд╕реНрдХреЗрд▓рд┐рдВрдЧред |
True
|
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.scale_coords(img1_shape, coords, img0_shape, ratio_pad=None, normalize=False, padding=True)
рд░реАрд╕реНрдХреЗрд▓ рд╕реЗрдЧрдореЗрдВрдЯ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (xy) img1_shape рд╕реЗ img0_shape рддрдХред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
img1_shape |
tuple
|
рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рдЬреЛ рдХреЙрд░реНрдб рд╕реЗ рд╣реИрдВред |
рдЖрд╡рд╢реНрдпрдХ |
coords |
Tensor
|
рдХреЙрд░реНрдб рдХреЛ рдЖрдХрд╛рд░ рдПрди, 2 рдХреЗ рд╕реНрдХреЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
img0_shape |
tuple
|
рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд┐рд╕ рдкрд░ рд╡рд┐рднрд╛рдЬрди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред |
рдЖрд╡рд╢реНрдпрдХ |
ratio_pad |
tuple
|
рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХрд╛ рдЧрджреНрджреЗрджрд╛рд░ рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХрд╛ рдЕрдиреБрдкрд╛рддред |
None
|
normalize |
bool
|
рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕реАрдорд╛ [0, 1] рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реИ. |
False
|
padding |
bool
|
рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдмреЙрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╡рд░реНрдзрд┐рдд рдЫрд╡рд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ yolo рд╡рд░реНрддрд┐рдХрд╛ред рдЕрдЧрд░ рдЧрд▓рдд рд╣реИ рддреЛ рдирд┐рдпрдорд┐рдд рдХрд░реЗрдВ рдкреБрдирдГ рд╕реНрдХреЗрд▓рд┐рдВрдЧред |
True
|
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
coords |
Tensor
|
рд╕реНрдХреЗрд▓ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.regularize_rboxes(rboxes)
рдШреБрдорд╛рдП рдЧрдП рдмрдХреНрд╕реЛрдВ рдХреЛ рд╢реНрд░реЗрдгреА [0, pi/2] рдореЗрдВ рдирд┐рдпрдорд┐рдд рдХрд░реЗрдВред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
rboxes |
Tensor
|
(рдПрди, 5), xywhrред |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
Tensor
|
рдирд┐рдпрдорд┐рдд рдмрдХреНрд╕реЗред |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.masks2segments(masks, strategy='largest')
рдпрд╣ рдорд╛рд╕реНрдХ (рдПрди, рдПрдЪ, рдбрдмреНрд▓реНрдпреВ) рдХреА рдПрдХ рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЦрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрддрд╛ рд╣реИ (рдПрди, рдПрдХреНрд╕рд╡рд╛рдИ)
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
masks |
Tensor
|
рдореЙрдбрд▓ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ, рдЬреЛ рдПрдХ tensor рдЖрдХрд╛рд░ рдХреА (batch_size, 160, 160) |
рдЖрд╡рд╢реНрдпрдХ |
strategy |
str
|
'рдХреЙрдирдХреИрдЯ' рдпрд╛ 'рд╕рдмрд╕реЗ рдмрдбрд╝рд╛'ред рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреВрдХ |
'largest'
|
рджреЗрддрд╛:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|---|
segments |
List
|
рд╕реЗрдЧрдореЗрдВрдЯ рдорд╛рд╕реНрдХ рдХреА рд╕реВрдЪреА |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.convert_torch2numpy_batch(batch)
FP32 рдХреЗ рдПрдХ рдмреИрдЪ рдХреЛ рдХрдиреНрд╡рд░реНрдЯ рдХрд░реЗрдВ torch рдЯреЗрдВрд╕рд░ (0.0-1.0) рд╕реЗ NumPy uint8 рд╕рд░рдгреА (0-255), BCHW рд╕реЗ BHWC рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
batch |
Tensor
|
рдирд┐рд╡реЗрд╢ tensor рдЖрдХрд╛рд░ рдХрд╛ рдмреИрдЪ (рдмреИрдЪ, рдЪреИрдирд▓, рдКрдВрдЪрд╛рдИ, рдЪреМрдбрд╝рд╛рдИ) рдФрд░ dtype torch.float32. |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
ndarray
|
рдЖрдЙрдЯрдкреБрдЯ NumPy рдЖрдХрд╛рд░ рдХрд╛ рд╕рд░рдгреА рдмреИрдЪ (рдмреИрдЪ, рдКрдВрдЪрд╛рдИ, рдЪреМрдбрд╝рд╛рдИ, рдЪреИрдирд▓) рдФрд░ dtype uint8. |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
ultralytics.utils.ops.clean_str(s)
рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЛ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ _ рд╕реЗ рдмрджрд▓рдХрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИ
рдкреИрд░рд╛рдореАрдЯрд░:
рдирд╛рдо | рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо | рдЪреВрдХ |
---|---|---|---|
s |
str
|
рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬрд┐рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ |
рдЖрд╡рд╢реНрдпрдХ |
рджреЗрддрд╛:
рдкреНрд░рдХрд╛рд░ | рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо |
---|---|
str
|
рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рд╡рд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬрд┐рд╕реЗ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ _ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ |
рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб ultralytics/utils/ops.py
2023-11-12 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-05-08
рд▓реЗрдЦрдХ: рдмреБрд░рд╣рд╛рди-рдХреНрдпреВ (1), рд▓рд╛рдлрд┐рдВрдЧ-рдХреНрдпреВ (1), рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (4)