Referencia para ultralytics/utils/ops.py
Nota
Este archivo está disponible en https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/ops .py. Si detectas algún problema, por favor, ayuda a solucionarlo contribuyendo con una Pull Request 🛠️. ¡Gracias 🙏!
ultralytics.utils.ops.Profile
Bases: ContextDecorator
YOLOv8 Clase Perfil. Utilízala como decorador con @Perfil() o como gestor de contexto con 'con Perfil():'.
Ejemplo
Código fuente en ultralytics/utils/ops.py
__enter__()
__exit__(type, value, traceback)
__init__(t=0.0, device=None)
Inicializa la clase Perfil.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
t |
float
|
Tiempo inicial. Por defecto 0.0. |
0.0
|
device |
device
|
Dispositivos utilizados para la inferencia del modelo. Por defecto Ninguno (cpu). |
None
|
Código fuente en ultralytics/utils/ops.py
__str__()
Devuelve una cadena legible por humanos que representa el tiempo transcurrido acumulado en el perfilador.
ultralytics.utils.ops.segment2box(segment, width=640, height=640)
Convierte 1 etiqueta de segmento en 1 etiqueta de caja, aplicando la restricción de imagen interior, es decir, (xy1, xy2, ...) en (xyxy).
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
segment |
Tensor
|
la etiqueta del segmento |
necesario |
width |
int
|
La anchura de la imagen. Por defecto es 640 |
640
|
height |
int
|
La altura de la imagen. Por defecto 640 |
640
|
Devuelve:
Tipo | Descripción |
---|---|
ndarray
|
los valores x e y mínimos y máximos del segmento. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.scale_boxes(img1_shape, boxes, img0_shape, ratio_pad=None, padding=True, xywh=False)
Reescala los cuadros delimitadores (en el formato xyxy por defecto) de la forma de la imagen en la que se especificaron originalmente (forma_img1) a la forma de una imagen diferente (forma_img0). originalmente (forma_img1) a la forma de otra imagen (forma_img0).
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
img1_shape |
tuple
|
La forma de la imagen para la que son las cajas delimitadoras, en el formato (alto, ancho). |
necesario |
boxes |
Tensor
|
las cajas delimitadoras de los objetos de la imagen, en el formato (x1, y1, x2, y2) |
necesario |
img0_shape |
tuple
|
La forma de la imagen de destino, en el formato (alto, ancho). |
necesario |
ratio_pad |
tuple
|
una tupla de (ratio, pad) para escalar las cajas. Si no se proporcionan, el ratio y el pad se calcularán calcularán en función de la diferencia de tamaño entre las dos imágenes. |
None
|
padding |
bool
|
Si es True, asume que las cajas se basan en la imagen aumentada por el estilo yolo . Si es Falso, entonces haz un cambio de escala. |
True
|
xywh |
bool
|
El formato de la caja es xywh o no, por defecto=False. |
False
|
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
boxes |
Tensor
|
Las cajas delimitadoras escaladas, en formato (x1, y1, x2, y2) |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.make_divisible(x, divisor)
Devuelve el número más próximo divisible por el divisor dado.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
int
|
El número que hay que hacer divisible. |
necesario |
divisor |
int | Tensor
|
El divisor. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
int
|
El número más próximo divisible por el divisor. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.nms_rotated(boxes, scores, threshold=0.45)
NMS para obbs, impulsado por probiou y fast-nms.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
boxes |
Tensor
|
(N, 5), xywhr. |
necesario |
scores |
Tensor
|
(N, ). |
necesario |
threshold |
float
|
Umbral IoU. |
0.45
|
Devuelve:
Código fuente en 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)
Realiza una supresión no máxima (NMS) en un conjunto de cajas, con soporte para máscaras y múltiples etiquetas por caja.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
prediction |
Tensor
|
Un tensor de forma (tamaño_lote, nº_clases + 4 + nº_máscaras, nº_cajas) que contenga las cajas, clases y máscaras predichas. El tensor debe tener el formato producido por un modelo, como YOLO. |
necesario |
conf_thres |
float
|
El umbral de confianza por debajo del cual se filtrarán las casillas. Los valores válidos están entre 0,0 y 1,0. |
0.25
|
iou_thres |
float
|
El umbral de IoU por debajo del cual se filtrarán las cajas durante el NMS. Los valores válidos están entre 0,0 y 1,0. |
0.45
|
classes |
List[int]
|
Una lista de índices de clases a considerar. Si es Ninguno, se considerarán todas las clases. |
None
|
agnostic |
bool
|
Si es Verdadero, el modelo es agnóstico al número de clases, y todas las clases se considerarán como una sola. |
False
|
multi_label |
bool
|
Si es Verdadero, cada casilla puede tener varias etiquetas. |
False
|
labels |
List[List[Union[int, float, Tensor]]]
|
Una lista de listas, donde cada lista contiene las etiquetas apriori de una imagen determinada. La lista debe tener el formato producido por un cargador de datos, siendo cada etiqueta una tupla de (índice_clase, x1, y1, x2, y2). |
()
|
max_det |
int
|
El número máximo de cajas a conservar después de NMS. |
300
|
nc |
int
|
El número de clases producidas por el modelo. Cualquier índice posterior a éste se considerará máscara. |
0
|
max_time_img |
float
|
El tiempo máximo (segundos) para procesar una imagen. |
0.05
|
max_nms |
int
|
El número máximo de cajas en torchvision.ops.nms(). |
30000
|
max_wh |
int
|
La anchura y altura máximas de la caja en píxeles. |
7680
|
in_place |
bool
|
Si es Verdadero, la predicción de entrada tensor se modificará en su lugar. |
True
|
Devuelve:
Tipo | Descripción |
---|---|
List[Tensor]
|
Una lista de longitud tamaño_lote, donde cada elemento es un tensor de forma (num_cajas, 6 + num_máscaras) que contiene las cajas conservadas, con columnas (x1, y1, x2, y2, confianza, clase, máscara1, máscara2, ...). |
Código fuente en 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)
Toma una lista de cuadros delimitadores y una forma (alto, ancho) y recorta los cuadros delimitadores a la forma.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
boxes |
Tensor
|
las cajas delimitadoras a recortar |
necesario |
shape |
tuple
|
la forma de la imagen |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
Tensor | ndarray
|
Cajas recortadas |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.clip_coords(coords, shape)
Recorta las coordenadas de las líneas a los límites de la imagen.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
coords |
Tensor | ndarray
|
Una lista de coordenadas de línea. |
necesario |
shape |
tuple
|
Una tupla de enteros que representa el tamaño de la imagen en el formato (alto, ancho). |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
Tensor | ndarray
|
Coordenadas recortadas |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.scale_image(masks, im0_shape, ratio_pad=None)
Toma una máscara y redimensiónala al tamaño de la imagen original.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
masks |
ndarray
|
máscaras/imágenes redimensionadas y acolchadas, [h, w, num]/[h, w, 3]. |
necesario |
im0_shape |
tuple
|
la forma original de la imagen |
necesario |
ratio_pad |
tuple
|
la relación entre el relleno y la imagen original. |
None
|
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
masks |
Tensor
|
Las máscaras que se devuelven. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywh(x)
Convierte las coordenadas de la caja delimitadora del formato (x1, y1, x2, y2) al formato (x, y, anchura, altura), donde (x1, y1) es la esquina superior izquierda y (x2, y2) es la esquina inferior derecha. esquina superior izquierda y (x2, y2) es la esquina inferior derecha.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
ndarray | Tensor
|
Las coordenadas del cuadro delimitador de entrada en formato (x1, y1, x2, y2). |
necesario |
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
y |
ndarray | Tensor
|
Las coordenadas de la caja delimitadora en formato (x, y, anchura, altura). |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2xyxy(x)
Convierte las coordenadas del cuadro delimitador del formato (x, y, anchura, altura) al formato (x1, y1, x2, y2), donde (x1, y1) es la esquina superior izquierda y (x2, y2) es la esquina inferior derecha. esquina superior izquierda y (x2, y2) es la esquina inferior derecha.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
ndarray | Tensor
|
Las coordenadas del cuadro delimitador de entrada en formato (x, y, anchura, altura). |
necesario |
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
y |
ndarray | Tensor
|
Las coordenadas de la caja delimitadora en formato (x1, y1, x2, y2). |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xywhn2xyxy(x, w=640, h=640, padw=0, padh=0)
Convierte las coordenadas normalizadas del cuadro delimitador en coordenadas de píxel.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
ndarray | Tensor
|
Las coordenadas del cuadro delimitador. |
necesario |
w |
int
|
Anchura de la imagen. Por defecto 640 |
640
|
h |
int
|
Altura de la imagen. Por defecto 640 |
640
|
padw |
int
|
Ancho del relleno. Por defecto 0 |
0
|
padh |
int
|
Altura del relleno. Por defecto a 0 |
0
|
Devuelve: y (np.ndarray | torch.Tensor): Las coordenadas de la caja delimitadora en el formato [x1, y1, x2, y2] donde x1,y1 es la esquina superior izquierda, x2,y2 es la esquina inferior derecha del cuadro delimitador.
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywhn(x, w=640, h=640, clip=False, eps=0.0)
Convierte las coordenadas de la caja delimitadora del formato (x1, y1, x2, y2) al formato (x, y, anchura, altura, normalizado). x, y, anchura y altura se normalizan a las dimensiones de la imagen.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
ndarray | Tensor
|
Las coordenadas del cuadro delimitador de entrada en formato (x1, y1, x2, y2). |
necesario |
w |
int
|
La anchura de la imagen. Por defecto 640 |
640
|
h |
int
|
La altura de la imagen. Por defecto 640 |
640
|
clip |
bool
|
Si es Verdadero, las cajas se recortarán a los límites de la imagen. Por defecto es Falso |
False
|
eps |
float
|
El valor mínimo de la anchura y la altura de la caja. Por defecto es 0.0 |
0.0
|
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
y |
ndarray | Tensor
|
Las coordenadas de la caja delimitadora en formato (x, y, anchura, altura, normalizado) |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2ltwh(x)
Convierte el formato del cuadro delimitador de [x, y, w, h] a [x1, y1, w, h], donde x1, y1 son las coordenadas superiores izquierdas.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
ndarray | Tensor
|
La entrada tensor con las coordenadas del cuadro delimitador en formato xywh |
necesario |
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
y |
ndarray | Tensor
|
Las coordenadas del cuadro delimitador en formato xyltwh |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2ltwh(x)
Convierte nx4 cajas delimitadoras de [x1, y1, x2, y2] a [x1, y1, w, h], donde xy1=arriba-izquierda, xy2=abajo-derecha.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
ndarray | Tensor
|
La entrada tensor con las coordenadas de las cajas delimitadoras en formato xyxy |
necesario |
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
y |
ndarray | Tensor
|
Las coordenadas del cuadro delimitador en formato xyltwh. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xywh(x)
Convierte cajas nx4 de [x1, y1, w, h] a [x, y, w, h] donde xy1=arriba a la izquierda, xy=centro.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
Tensor
|
la entrada tensor |
necesario |
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
y |
ndarray | Tensor
|
Las coordenadas del cuadro delimitador en formato xywh. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xyxyxyxy2xywhr(corners)
Convierte Cajas delimitadoras orientadas (OBB) por lotes de [xy1, xy2, xy3, xy4] a [xywh, rotación]. Los valores de rotación se previstos en grados de 0 a 90.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
corners |
ndarray | Tensor
|
Esquinas de entrada de forma (n, 8). |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
ndarray | Tensor
|
Datos convertidos en formato [cx, cy, w, h, rotación] de forma (n, 5). |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.xywhr2xyxyxyxy(rboxes)
Convierte Cajas delimitadoras orientadas (OBB) por lotes de [xywh, rotación] a [xy1, xy2, xy3, xy4]. Los valores de rotación deben estar en grados de 0 a 90.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
rboxes |
ndarray | Tensor
|
Cajas en formato [cx, cy, w, h, rotación] de forma (n, 5) o (b, n, 5). |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
ndarray | Tensor
|
Puntos de esquina convertidos de forma (n, 4, 2) o (b, n, 4, 2). |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xyxy(x)
Convierte la caja delimitadora de [x1, y1, w, h] a [x1, y1, x2, y2] donde xy1=arriba-izquierda, xy2=abajo-derecha.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
x |
ndarray | Tensor
|
la imagen de entrada |
necesario |
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
y |
ndarray | Tensor
|
las coordenadas xyxy de las cajas delimitadoras. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.segments2boxes(segments)
Convierte las etiquetas de segmento en etiquetas de casilla, es decir, (cls, xy1, xy2, ...) en (cls, xywh)
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
segments |
list
|
lista de segmentos, cada segmento es una lista de puntos, cada punto es una lista de coordenadas x, y |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
ndarray
|
las coordenadas xywh de las cajas delimitadoras. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.resample_segments(segments, n=1000)
Introduce una lista de segmentos (n,2) y devuelve una lista de segmentos (n,2) muestreados a n puntos cada uno.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
segments |
list
|
una lista de matrices (n,2), donde n es el número de puntos del segmento. |
necesario |
n |
int
|
Número de puntos a los que remuestrear el segmento. Por defecto es 1000 |
1000
|
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
segments |
list
|
los segmentos remuestreados. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.crop_mask(masks, boxes)
Toma una máscara y un cuadro delimitador, y devuelve una máscara recortada al cuadro delimitador.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
masks |
Tensor
|
[n, h, w] tensor de máscaras |
necesario |
boxes |
Tensor
|
[n, 4] tensor de coordenadas bbox en forma de punto relativo |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
Tensor
|
Las máscaras se recortan al cuadro delimitador. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_upsample(protos, masks_in, bboxes, shape)
Toma la salida del cabezal de máscara y aplica la máscara a los cuadros delimitadores. Esto produce máscaras de mayor calidad pero es más lento.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
protos |
Tensor
|
[máscara_dim, máscara_h, máscara_w] |
necesario |
masks_in |
Tensor
|
[n, mask_dim], n es el número de máscaras después de nms |
necesario |
bboxes |
Tensor
|
[n, 4], n es el número de máscaras después de nms |
necesario |
shape |
tuple
|
el tamaño de la imagen de entrada (h,w) |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
Tensor
|
Las máscaras sobremuestreadas. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask(protos, masks_in, bboxes, shape, upsample=False)
Aplica máscaras a cuadros delimitadores utilizando la salida del cabezal de máscaras.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
protos |
Tensor
|
Un tensor de forma [máscara_dim, máscara_h, máscara_w]. |
necesario |
masks_in |
Tensor
|
Un tensor de forma [n, mask_dim], donde n es el número de máscaras después de NMS. |
necesario |
bboxes |
Tensor
|
Un tensor de forma [n, 4], donde n es el número de máscaras después de NMS. |
necesario |
shape |
tuple
|
Una tupla de enteros que representa el tamaño de la imagen de entrada en el formato (h, w). |
necesario |
upsample |
bool
|
Bandera que indica si se debe sobremuestrear la máscara al tamaño de la imagen original. Por defecto es Falso. |
False
|
Devuelve:
Tipo | Descripción |
---|---|
Tensor
|
Una máscara binaria tensor de forma [n, h, w], donde n es el número de máscaras después de NMS, y h y w son la altura y la anchura de la imagen de entrada. La máscara se aplica a los cuadros delimitadores. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_native(protos, masks_in, bboxes, shape)
Toma la salida del cabezal de la máscara, y la recorta tras el remuestreo a los cuadros delimitadores.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
protos |
Tensor
|
[máscara_dim, máscara_h, máscara_w] |
necesario |
masks_in |
Tensor
|
[n, mask_dim], n es el número de máscaras después de nms |
necesario |
bboxes |
Tensor
|
[n, 4], n es el número de máscaras después de nms |
necesario |
shape |
tuple
|
el tamaño de la imagen de entrada (h,w) |
necesario |
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
masks |
Tensor
|
Las máscaras devueltas con dimensiones [h, w, n] |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.scale_masks(masks, shape, padding=True)
Reescala las máscaras de segmento a la forma.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
masks |
Tensor
|
(N, C, H, W). |
necesario |
shape |
tuple
|
Altura y anchura. |
necesario |
padding |
bool
|
Si es True, asume que las cajas se basan en la imagen aumentada por el estilo yolo . Si es Falso, entonces haz un cambio de escala. |
True
|
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.scale_coords(img1_shape, coords, img0_shape, ratio_pad=None, normalize=False, padding=True)
Reescala las coordenadas del segmento (xy) de img1_forma a img0_forma.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
img1_shape |
tuple
|
La forma de la imagen de la que proceden las coordenadas. |
necesario |
coords |
Tensor
|
las coordenadas a escalar de la forma n,2. |
necesario |
img0_shape |
tuple
|
la forma de la imagen a la que se aplica la segmentación. |
necesario |
ratio_pad |
tuple
|
la relación entre el tamaño de la imagen y el tamaño de la imagen acolchada. |
None
|
normalize |
bool
|
Si es Verdadero, las coordenadas se normalizarán al rango [0, 1]. Por defecto es Falso. |
False
|
padding |
bool
|
Si es True, asume que las cajas se basan en la imagen aumentada por el estilo yolo . Si es Falso, entonces haz un cambio de escala. |
True
|
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
coords |
Tensor
|
Las coordenadas a escala. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.regularize_rboxes(rboxes)
Regulariza las cajas rotadas en el intervalo [0, pi/2].
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
rboxes |
Tensor
|
(N, 5), xywhr. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
Tensor
|
Las cajas regularizadas. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.masks2segments(masks, strategy='largest')
Toma una lista de máscaras(n,h,w) y devuelve una lista de segmentos(n,xy)
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
masks |
Tensor
|
la salida del modelo, que es un tensor de forma (tamaño_lote, 160, 160) |
necesario |
strategy |
str
|
concat" o "mayor". Por defecto, mayor |
'largest'
|
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
segments |
List
|
lista de máscaras de segmento |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.convert_torch2numpy_batch(batch)
Convierte un lote de tensores FP32 torch (0,0-1,0) en una matriz NumPy uint8 (0-255), cambiando la disposición de BCHW a BHWC.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
batch |
Tensor
|
Entrada tensor lote de forma (Lote, Canales, Altura, Anchura) y dtype torch.float32. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
ndarray
|
Salida NumPy array batch de forma (Lote, Altura, Anchura, Canales) y dtype uint8. |
Código fuente en ultralytics/utils/ops.py
ultralytics.utils.ops.clean_str(s)
Limpia una cadena sustituyendo los caracteres especiales por guiones bajos _
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
s |
str
|
una cadena que necesita que se sustituyan los caracteres especiales |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
str
|
una cadena con caracteres especiales sustituidos por un guión bajo _ |