Π‘ΡΡΠ»ΠΊΠ° Π΄Π»Ρ ultralytics/utils/ops.py
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/ops .py. ΠΡΠ»ΠΈ ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΌΠΎΠ³ΠΈ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅, ΡΠΎΠ·Π΄Π°Π² Pull Request π οΈ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ π!
ultralytics.utils.ops.Profile
ΠΠ°Π·Ρ: ContextDecorator
YOLOv8 ΠΠ»Π°ΡΡ ΠΏΡΠΎΡΠΈΠ»Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ Ρ @Profile() ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Ρ 'with Profile():'.
ΠΡΠΈΠΌΠ΅Ρ
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
__enter__()
__exit__(type, value, traceback)
__init__(t=0.0, device=None)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠΉ ΠΊΠ»Π°ΡΡ Profile.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
t |
float
|
ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 0,0. |
0.0
|
device |
device
|
Π£ΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - None (cpu). |
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) Ρ ΡΠΎΡΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π½Ρ. (img1_shape) Π΄ΠΎ ΡΠΎΡΠΌΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (img0_shape).
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
img1_shape |
tuple
|
Π€ΠΎΡΠΌΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ, Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (Π²ΡΡΠΎΡΠ°, ΡΠΈΡΠΈΠ½Π°). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
boxes |
Tensor
|
ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (x1, y1, x2, y2) |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
img0_shape |
tuple
|
ΡΠΎΡΠΌΠ° ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (Π²ΡΡΠΎΡΠ°, ΡΠΈΡΠΈΠ½Π°). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ratio_pad |
tuple
|
ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· (ratio, pad) Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΠΊΠΎΠ². ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΠΎ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΈ pad Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΡΠΈΡΠ°Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π·Π½ΠΈΡΡ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ Π΄Π²ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. |
None
|
padding |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅ΠΌ yolo . ΠΡΠ»ΠΈ False, ΡΠΎ ΡΠ΄Π΅Π»Π°ΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±Π°. |
True
|
xywh |
bool
|
Π€ΠΎΡΠΌΠ°Ρ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ - xywh ΠΈΠ»ΠΈ Π½Π΅Ρ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ=False. |
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)
NMS Π΄Π»Ρ obbs, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ probiou ΠΈ fast-nms.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
boxes |
Tensor
|
(N, 5), xywhr. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
scores |
Tensor
|
(N, ). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
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)
ΠΡΠΏΠΎΠ»Π½ΠΈ Π½Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΠ΅ (NMS) Π½Π° Π½Π°Π±ΠΎΡΠ΅ ΠΊΠΎΡΠΎΠ±ΠΎΠΊ, Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΌΠ°ΡΠΎΠΊ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠΈΠΊΠ΅ΡΠΎΠΊ Π½Π° ΠΊΠΎΡΠΎΠ±ΠΊΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
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, ΡΠΎ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. |
None
|
agnostic |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½. |
False
|
multi_label |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΡΠΊΠΎΠ². |
False
|
labels |
List[List[Union[int, float, Tensor]]]
|
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠΊΠΈ apriori Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΠΉ dataloader'ΠΎΠΌ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΌΠ΅ΡΠΊΠ° - ΠΊΠΎΡΡΠ΅ΠΆ (class_index, x1, y1, x2, y2). |
()
|
max_det |
int
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΡΠΎΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ NMS. |
300
|
nc |
int
|
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ², Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ. ΠΡΠ±ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΌΠ°ΡΠΊΠ°ΠΌΠΈ. |
0
|
max_time_img |
float
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ) Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. |
0.05
|
max_nms |
int
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΠΎΠΊΡΠΎΠ² Π² torchvision.ops.nms(). |
30000
|
max_wh |
int
|
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ . |
7680
|
in_place |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ tensor Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π½Π° ΠΌΠ΅ΡΡΠ΅. |
True
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
List[Tensor]
|
Π‘ΠΏΠΈΡΠΎΠΊ Π΄Π»ΠΈΠ½Ρ batch_size, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ - ΡΡΠΎ tensor ΡΠΎΡΠΌΡ ΡΠΎΡΠΌΡ (num_boxes, 6 + num_masks), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ, ΡΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ (x1, y1, x2, y2, confidence, class, mask1, mask2, ...). |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² 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
|
ΠΠ°ΡΠΊΠΈ/ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, [h, w, num]/[h, w, 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, width, height), Π³Π΄Π΅ (x1, y1) - ΡΡΠΎ Π»Π΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ», Π° (x2, y2) - ΠΏΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ³ΠΎΠ».
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
x |
ndarray | Tensor
|
ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (x1, y1, x2, y2). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
y |
ndarray | Tensor
|
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (x, y, width, height). |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2xyxy(x)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΈ ΠΈΠ· ΡΠΎΡΠΌΠ°ΡΠ° (x, y, width, height) Π² ΡΠΎΡΠΌΠ°Ρ (x1, y1, x2, y2), Π³Π΄Π΅ (x1, y1) - ΡΡΠΎ Π»Π΅Π²ΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΡΠ³ΠΎΠ», Π° (x2, y2) - ΠΏΡΠ°Π²ΡΠΉ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ³ΠΎΠ».
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
x |
ndarray | Tensor
|
ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (x, y, width, height). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
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
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: y (np.ndarray | 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, width, height, normalized). x, y, ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
x |
ndarray | Tensor
|
ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (x1, y1, x2, y2). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
w |
int
|
Π¨ΠΈΡΠΈΠ½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 640 |
640
|
h |
int
|
ΠΡΡΠΎΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 640 |
640
|
clip |
bool
|
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True, ΡΠΎ Π±ΠΎΠΊΡΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π·Π°Π½Ρ ΠΏΠΎ Π³ΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False |
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, rotation]. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΎΠΆΠΈΠ΄Π°ΡΡΡΡ Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ΠΎΡ 0 Π΄ΠΎ 90.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
corners |
ndarray | Tensor
|
ΠΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ³Π»Ρ ΡΠΎΡΠΌΡ (n, 8). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ndarray | Tensor
|
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ [cx, cy, w, h, rotation] ΡΠΎΡΠΌΡ (n, 5). |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
ultralytics.utils.ops.xywhr2xyxyxyxy(rboxes)
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π³ΡΠ°Π½ΠΈΡΠ½ΡΠ΅ Π±ΠΎΠΊΡΡ (OBB) ΠΈΠ· [xywh, rotation] Π² [xy1, xy2, xy3, xy4]. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π±ΡΡΡ Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ ΠΎΡ 0 Π΄ΠΎ 90.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
rboxes |
ndarray | Tensor
|
ΠΠΎΡΠΎΠ±ΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ [cx, cy, w, h, rotation] ΡΠΎΡΠΌΡ (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
|
ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΡΠ΅Π·ΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΡΠ΅Π·ΠΎΠΊ - ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅ΠΊ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΎΡΠΊΠ° - ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ x, y |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ndarray
|
ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ xywh ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΠΌΠΎΠΊ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
ultralytics.utils.ops.resample_segments(segments, n=1000)
ΠΠ° Π²Ρ ΠΎΠ΄ ΠΏΠΎΡΡΡΠΏΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΡΠ΅Π·ΠΊΠΎΠ² (n,2), Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΡΠ΅Π·ΠΊΠΎΠ² (n,2), ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π½ΡΡ Π΄ΠΎ n ΡΠΎΡΠ΅ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
segments |
list
|
ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (n,2), Π³Π΄Π΅ n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ Π² ΠΎΡΡΠ΅Π·ΠΊΠ΅. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
n |
int
|
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΠ΅Π·ΠΎΠΊ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - 1000 |
1000
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
segments |
list
|
ΠΏΠ΅ΡΠ΅ΡΠ½ΡΡΡΠ΅ ΡΠ΅Π³ΠΌΠ΅Π½ΡΡ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
ultralytics.utils.ops.crop_mask(masks, boxes)
ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ°ΡΠΊΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°ΠΌΠΊΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ°ΡΠΊΡ, ΠΎΠ±ΡΠ΅Π·Π°Π½Π½ΡΡ ΠΏΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΊΠ΅.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
masks |
Tensor
|
[n, h, w] tensor ΠΌΠ°ΡΠΎΠΊ |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
boxes |
Tensor
|
[n, 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
|
[n, mask_dim], n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ nms |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
bboxes |
Tensor
|
[n, 4], n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ nms |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
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 ΡΠΎΡΠΌΡ [n, mask_dim], Π³Π΄Π΅ n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ NMS. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
bboxes |
Tensor
|
tensor ΡΠΎΡΠΌΡ [n, 4], Π³Π΄Π΅ n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ ΠΠΠ‘. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
shape |
tuple
|
ΠΠΎΡΡΠ΅ΠΆ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ (h, w). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
upsample |
bool
|
Π€Π»Π°Π³, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΌΠ°ΡΠΊΠΈ Π΄ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ - False. |
False
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
Tensor
|
ΠΠ²ΠΎΠΈΡΠ½Π°Ρ ΠΌΠ°ΡΠΊΠ° tensor ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡΠΌΡ [n, h, w], Π³Π΄Π΅ n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ ΠΠΠ‘, Π° h ΠΈ w Π²ΡΡΠΎΡΠ° ΠΈ ΡΠΈΡΠΈΠ½Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΠΊΠ° Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΌΠΊΠΈ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² 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
|
[n, mask_dim], n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ nms |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
bboxes |
Tensor
|
[n, 4], n - ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°ΡΠΎΠΊ ΠΏΠΎΡΠ»Π΅ nms |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
shape |
tuple
|
ΡΠ°Π·ΠΌΠ΅Ρ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (h,w) |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
masks |
Tensor
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠ°ΡΠΊΠΈ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌΠΈ [h, w, n] |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
ultralytics.utils.ops.scale_masks(masks, shape, padding=True)
ΠΠ΅ΡΠ΅ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠΉ ΠΌΠ°ΡΠΊΠΈ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠΎΡΠΌΠ΅.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
masks |
Tensor
|
(N, C, H, W). |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
shape |
tuple
|
ΠΡΡΠΎΡΠ° ΠΈ ΡΠΈΡΠΈΠ½Π°. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
padding |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅ΠΌ yolo . ΠΡΠ»ΠΈ False, ΡΠΎ ΡΠ΄Π΅Π»Π°ΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±Π°. |
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
|
ΠΊΠΎΠΎΡΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠΎΡΠΌΠ΅ n,2. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
img0_shape |
tuple
|
ΡΠΎΡΠΌΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ratio_pad |
tuple
|
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ Π½Π°Π±ΠΈΠ²ΠΊΠΈ. |
None
|
normalize |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π±ΡΠ΄ΡΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ [0, 1]. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False. |
False
|
padding |
bool
|
ΠΡΠ»ΠΈ True, ΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅ΠΌ yolo . ΠΡΠ»ΠΈ False, ΡΠΎ ΡΠ΄Π΅Π»Π°ΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΠ°Π±Π°. |
True
|
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
coords |
Tensor
|
ΠΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
ultralytics.utils.ops.regularize_rboxes(rboxes)
Π Π΅Π³ΡΠ»ΡΡΠΈΠ·ΠΈΡΡΠΉ ΠΏΠΎΠ²Π΅ΡΠ½ΡΡΡΠ΅ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [0, pi/2].
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
rboxes |
Tensor
|
(N, 5), xywhr. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
Tensor
|
Π Π΅Π³ΡΠ»ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ. |
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ultralytics/utils/ops.py
ultralytics.utils.ops.masks2segments(masks, strategy='largest')
ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ°ΡΠΎΠΊ(n,h,w) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ²(n,xy).
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
ΠΠΌΡ | Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|---|
masks |
Tensor
|
Π²ΡΡ ΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ tensor ΡΠΎΡΠΌΡ (batch_size, 160, 160) |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
strategy |
str
|
'concat' ΠΈΠ»ΠΈ 'largest'. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ |
'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 ΠΏΠ°ΡΡΠΈΡ ΡΠΎΡΠΌΡ (Batch, Channels, Height, Width) ΠΈ dtype torch.float32. |
ΡΡΠ΅Π±ΡΠ΅ΡΡΡ |
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ:
Π’ΠΈΠΏ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
ndarray
|
ΠΡΠ²Π΅Π΄ΠΈ NumPy ΠΌΠ°ΡΡΠΈΠ² batch ΡΠΎΡΠΌΡ (Batch, Height, Width, Channels) ΠΈ 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
ΠΠ²ΡΠΎΡΡ: Burhan-Q (1), Laughing-q (1), glenn-jocher (4)