Referenz für ultralytics/utils/ops.py
Hinweis
Diese Datei ist verfügbar unter https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/ops .py. Wenn du ein Problem entdeckst, hilf bitte mit, es zu beheben, indem du einen Pull Request 🛠️ einreichst. Vielen Dank 🙏!
ultralytics.utils.ops.Profile
Basen: ContextDecorator
YOLOv8 Profil-Klasse. Verwende sie als Dekorator mit @Profile() oder als Kontextmanager mit 'with Profile():'.
Beispiel
Quellcode in ultralytics/utils/ops.py
__enter__()
__exit__(type, value, traceback)
__init__(t=0.0, device=None)
Initialisiere die Profilklasse.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
t |
float
|
Anfangszeit. Der Standardwert ist 0,0. |
0.0
|
device |
device
|
Für die Modellinferenz verwendete Geräte. Der Standardwert ist None (cpu). |
None
|
Quellcode in ultralytics/utils/ops.py
__str__()
ultralytics.utils.ops.segment2box(segment, width=640, height=640)
Konvertiere ein Segment-Label in ein Box-Label und wende dabei die Beschränkung auf das innere Bild an, d.h. (xy1, xy2, ...) in (xyxy).
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
segment |
Tensor
|
die Segmentbezeichnung |
erforderlich |
width |
int
|
die Breite des Bildes. Der Standardwert ist 640 |
640
|
height |
int
|
Die Höhe des Bildes. Der Standardwert ist 640 |
640
|
Retouren:
Typ | Beschreibung |
---|---|
ndarray
|
die minimalen und maximalen x- und y-Werte des Segments. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.scale_boxes(img1_shape, boxes, img0_shape, ratio_pad=None, padding=True, xywh=False)
Skaliert die Begrenzungsrahmen (standardmäßig im Format xyxy) von der Form des Bildes, in dem sie ursprünglich (img1_shape) auf die Form eines anderen Bildes (img0_shape).
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
img1_shape |
tuple
|
Die Form des Bildes, für das die Begrenzungsrahmen bestimmt sind, im Format (Höhe, Breite). |
erforderlich |
boxes |
Tensor
|
die Begrenzungsrahmen der Objekte im Bild im Format (x1, y1, x2, y2) |
erforderlich |
img0_shape |
tuple
|
die Form des Zielbildes, im Format (Höhe, Breite). |
erforderlich |
ratio_pad |
tuple
|
ein Tupel aus (ratio, pad) für die Skalierung der Boxen. Wenn nichts angegeben wird, werden Verhältnis und Abstand auf der Grundlage des Größenunterschieds zwischen den beiden Bildern berechnet. |
None
|
padding |
bool
|
Wenn True, wird angenommen, dass die Boxen auf einem Bild basieren, das durch den yolo Stil erweitert wurde. Wenn False, dann erfolgt eine normale neu skaliert. |
True
|
xywh |
bool
|
Das Boxformat ist xywh oder nicht, Standard=False. |
False
|
Retouren:
Name | Typ | Beschreibung |
---|---|---|
boxes |
Tensor
|
Die skalierten Boundingboxen im Format (x1, y1, x2, y2) |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.make_divisible(x, divisor)
Gibt die nächstgelegene Zahl zurück, die durch den angegebenen Divisor teilbar ist.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
int
|
Die Zahl, die teilbar gemacht werden muss. |
erforderlich |
divisor |
int | Tensor
|
Der Divisor. |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
int
|
Die nächstgelegene Zahl, die durch den Divisor teilbar ist. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.nms_rotated(boxes, scores, threshold=0.45)
NMS für obbs, angetrieben von probiou und fast-nms.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
boxes |
Tensor
|
(N, 5), xywhr. |
erforderlich |
scores |
Tensor
|
(N, ). |
erforderlich |
threshold |
float
|
IoU-Schwelle. |
0.45
|
Retouren:
Quellcode in 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)
Führe die Nicht-Maximum-Unterdrückung (NMS) für eine Reihe von Boxen durch, mit Unterstützung für Masken und mehrere Etiketten pro Box.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
prediction |
Tensor
|
Eine tensor der Form (batch_size, num_classes + 4 + num_masks, num_boxes) mit den vorhergesagten Feldern, Klassen und Masken. Die tensor sollte das Format haben haben, das von einem Modell ausgegeben wird, z. B. YOLO. |
erforderlich |
conf_thres |
float
|
Die Konfidenzschwelle, unterhalb derer die Kästchen herausgefiltert werden. Gültige Werte liegen zwischen 0,0 und 1,0. |
0.25
|
iou_thres |
float
|
Der IoU-Schwellenwert, unter dem die Boxen während der NMS herausgefiltert werden. Gültige Werte liegen zwischen 0,0 und 1,0. |
0.45
|
classes |
List[int]
|
Eine Liste der zu berücksichtigenden Klassenindizes. Wenn Keine, werden alle Klassen berücksichtigt. |
None
|
agnostic |
bool
|
Wenn True, ist das Modell unabhängig von der Anzahl der Klassen und alle Klassen werden als eine Klasse betrachtet. |
False
|
multi_label |
bool
|
Wenn True, kann jedes Feld mehrere Beschriftungen haben. |
False
|
labels |
List[List[Union[int, float, Tensor]]]
|
Eine Liste von Listen, wobei jede innere Liste die Apriori-Beschriftungen für ein bestimmtes Bild enthält. Die Liste sollte das Format haben haben, wobei jedes Label ein Tupel aus (class_index, x1, y1, x2, y2) ist. |
()
|
max_det |
int
|
Die maximale Anzahl der Boxen, die nach NMS behalten werden sollen. |
300
|
nc |
int
|
Die Anzahl der Klassen, die das Modell ausgibt. Alle Indizes nach diesem Wert werden als Masken betrachtet. |
0
|
max_time_img |
float
|
Die maximale Zeit (Sekunden) für die Verarbeitung eines Bildes. |
0.05
|
max_nms |
int
|
Die maximale Anzahl von Boxen in torchvision.ops.nms(). |
30000
|
max_wh |
int
|
Die maximale Breite und Höhe der Box in Pixeln. |
7680
|
in_place |
bool
|
Wenn True, wird die Eingabevorhersage tensor an Ort und Stelle geändert. |
True
|
Retouren:
Typ | Beschreibung |
---|---|
List[Tensor]
|
Eine Liste der Länge batch_size, wobei jedes Element eine tensor der Form (num_boxes, 6 + num_masks) ist, die die gehaltenen Boxen enthält, mit Spalten (x1, y1, x2, y2, confidence, class, mask1, mask2, ...). |
Quellcode in 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)
Nimmt eine Liste von Begrenzungsrahmen und eine Form (Höhe, Breite) und klammert die Begrenzungsrahmen an die Form.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
boxes |
Tensor
|
die zu beschneidenden Bounding Boxes |
erforderlich |
shape |
tuple
|
die Form des Bildes |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
Tensor | ndarray
|
Abgeschnittene Kisten |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.clip_coords(coords, shape)
Schneide die Linienkoordinaten an den Bildgrenzen ab.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
coords |
Tensor | ndarray
|
Eine Liste von Linienkoordinaten. |
erforderlich |
shape |
tuple
|
Ein Tupel aus ganzen Zahlen, die die Größe des Bildes im Format (Höhe, Breite) angeben. |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
Tensor | ndarray
|
Abgeschnittene Koordinaten |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.scale_image(masks, im0_shape, ratio_pad=None)
Nimmt eine Maske und passt sie an die ursprüngliche Bildgröße an.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
masks |
ndarray
|
größenveränderte und aufgefüllte Masken/Bilder, [h, w, num]/[h, w, 3]. |
erforderlich |
im0_shape |
tuple
|
die ursprüngliche Bildform |
erforderlich |
ratio_pad |
tuple
|
das Verhältnis der Füllung zum Originalbild. |
None
|
Retouren:
Name | Typ | Beschreibung |
---|---|---|
masks |
Tensor
|
Die Masken, die zurückgegeben werden. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywh(x)
Konvertiert Bounding-Box-Koordinaten vom Format (x1, y1, x2, y2) in das Format (x, y, Breite, Höhe), wobei (x1, y1) die linke obere Ecke und (x2, y2) die rechte untere Ecke ist. linke obere Ecke und (x2, y2) die rechte untere Ecke ist.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
ndarray | Tensor
|
Die Koordinaten des eingegebenen Begrenzungsrahmens im Format (x1, y1, x2, y2). |
erforderlich |
Retouren:
Name | Typ | Beschreibung |
---|---|---|
y |
ndarray | Tensor
|
Die Koordinaten des Begrenzungsrahmens im Format (x, y, Breite, Höhe). |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2xyxy(x)
Konvertiert Bounding-Box-Koordinaten vom Format (x, y, Breite, Höhe) in das Format (x1, y1, x2, y2), wobei (x1, y1) die linke obere Ecke und (x2, y2) die rechte untere Ecke ist. linke obere Ecke und (x2, y2) die rechte untere Ecke ist.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
ndarray | Tensor
|
Die Koordinaten des eingegebenen Begrenzungsrahmens im Format (x, y, Breite, Höhe). |
erforderlich |
Retouren:
Name | Typ | Beschreibung |
---|---|---|
y |
ndarray | Tensor
|
Die Koordinaten des Begrenzungsrahmens im Format (x1, y1, x2, y2). |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xywhn2xyxy(x, w=640, h=640, padw=0, padh=0)
Wandelt normalisierte Bounding-Box-Koordinaten in Pixelkoordinaten um.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
ndarray | Tensor
|
Die Koordinaten des Begrenzungsrahmens. |
erforderlich |
w |
int
|
Breite des Bildes. Der Standardwert ist 640 |
640
|
h |
int
|
Höhe des Bildes. Der Standardwert ist 640 |
640
|
padw |
int
|
Auffüllungsbreite. Standardwert ist 0 |
0
|
padh |
int
|
Höhe der Polsterung. Standardmäßig ist 0 |
0
|
Rückgabe: y (np.ndarray | torch.Tensor): Die Koordinaten des Begrenzungsrahmens im Format [x1, y1, x2, y2], wobei x1,y1 die linke obere Ecke und x2,y2 die rechte untere Ecke des Begrenzungsrahmens ist.
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2xywhn(x, w=640, h=640, clip=False, eps=0.0)
Konvertiert Bounding-Box-Koordinaten vom Format (x1, y1, x2, y2) in das Format (x, y, Breite, Höhe, normalisiert). x, y, Breite und Höhe werden auf die Bildmaße normiert.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
ndarray | Tensor
|
Die Koordinaten des eingegebenen Begrenzungsrahmens im Format (x1, y1, x2, y2). |
erforderlich |
w |
int
|
Die Breite des Bildes. Der Standardwert ist 640 |
640
|
h |
int
|
Die Höhe des Bildes. Der Standardwert ist 640 |
640
|
clip |
bool
|
Bei True werden die Boxen an den Bildgrenzen abgeschnitten. Standardmäßig ist False |
False
|
eps |
float
|
Der Mindestwert für die Breite und Höhe der Box. Standardwert ist 0.0 |
0.0
|
Retouren:
Name | Typ | Beschreibung |
---|---|---|
y |
ndarray | Tensor
|
Die Koordinaten des Begrenzungsrahmens im Format (x, y, Breite, Höhe, normalisiert) |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xywh2ltwh(x)
Konvertiere das Format des Begrenzungsrahmens von [x, y, w, h] in [x1, y1, w, h], wobei x1, y1 die Koordinaten oben links sind.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
ndarray | Tensor
|
Die Eingabe tensor mit den Bounding-Box-Koordinaten im xywh-Format |
erforderlich |
Retouren:
Name | Typ | Beschreibung |
---|---|---|
y |
ndarray | Tensor
|
Die Bounding-Box-Koordinaten im Format xyltwh |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xyxy2ltwh(x)
Konvertiere nx4 Boundingboxen von [x1, y1, x2, y2] nach [x1, y1, w, h], wobei xy1=oben links, xy2=unten rechts ist.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
ndarray | Tensor
|
Die Eingabe tensor mit den Koordinaten der Boundingboxen im xyxy-Format |
erforderlich |
Retouren:
Name | Typ | Beschreibung |
---|---|---|
y |
ndarray | Tensor
|
Die Bounding-Box-Koordinaten im Format xyltwh. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xywh(x)
Konvertiere nx4 Boxen von [x1, y1, w, h] nach [x, y, w, h], wobei xy1=oben links, xy=Mitte.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
Tensor
|
die Eingabe tensor |
erforderlich |
Retouren:
Name | Typ | Beschreibung |
---|---|---|
y |
ndarray | Tensor
|
Die Bounding-Box-Koordinaten im xywh-Format. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xyxyxyxy2xywhr(corners)
Konvertiere gestapelte Oriented Bounding Boxes (OBB) von [xy1, xy2, xy3, xy4] nach [xywh, Rotation]. Die Werte für die Drehung werden in Grad von 0 bis 90 erwartet.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
corners |
ndarray | Tensor
|
Eingabe von Ecken der Form (n, 8). |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
ndarray | Tensor
|
Konvertierte Daten im Format [cx, cy, w, h, rotation] der Form (n, 5). |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.xywhr2xyxyxyxy(rboxes)
Konvertiere gepackte Oriented Bounding Boxes (OBB) von [xywh, Rotation] in [xy1, xy2, xy3, xy4]. Die Werte für die Drehung sollten in Grad von 0 bis 90 angegeben werden.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
rboxes |
ndarray | Tensor
|
Boxen im Format [cx, cy, w, h, rotation] der Form (n, 5) oder (b, n, 5). |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
ndarray | Tensor
|
Umgewandelte Eckpunkte der Form (n, 4, 2) oder (b, n, 4, 2). |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.ltwh2xyxy(x)
Sie wandelt das Begrenzungsrechteck von [x1, y1, w, h] in [x1, y1, x2, y2] um, wobei xy1=oben links, xy2=unten rechts ist.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
x |
ndarray | Tensor
|
das Eingangsbild |
erforderlich |
Retouren:
Name | Typ | Beschreibung |
---|---|---|
y |
ndarray | Tensor
|
die xyxy-Koordinaten der Boundingboxen. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.segments2boxes(segments)
Sie wandelt Segmentbeschriftungen in Boxbeschriftungen um, d.h. (cls, xy1, xy2, ...) in (cls, xywh)
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
segments |
list
|
Liste von Segmenten, jedes Segment ist eine Liste von Punkten, jeder Punkt ist eine Liste von x, y Koordinaten |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
ndarray
|
die xywh-Koordinaten der Boundingboxen. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.resample_segments(segments, n=1000)
Gibt eine Liste von Segmenten (n,2) ein und gibt eine Liste von Segmenten (n,2) zurück, die jeweils auf n Punkte hochgerechnet wurden.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
segments |
list
|
eine Liste von (n,2) Arrays, wobei n die Anzahl der Punkte im Segment ist. |
erforderlich |
n |
int
|
Anzahl der Punkte, auf die das Segment neu abgetastet wird. Standardmäßig sind es 1000 |
1000
|
Retouren:
Name | Typ | Beschreibung |
---|---|---|
segments |
list
|
die neu abgetasteten Segmente. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.crop_mask(masks, boxes)
Sie nimmt eine Maske und einen Begrenzungsrahmen und gibt eine Maske zurück, die auf den Begrenzungsrahmen zugeschnitten ist.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
masks |
Tensor
|
[n, h, w] tensor der Masken |
erforderlich |
boxes |
Tensor
|
[n, 4] tensor der bbox-Koordinaten in relativer Punktform |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
Tensor
|
Die Masken werden auf den Begrenzungsrahmen zugeschnitten. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_upsample(protos, masks_in, bboxes, shape)
Nimmt die Ausgabe des Maskenkopfs und wendet die Maske auf die Begrenzungsrahmen an. Dies erzeugt Masken von höherer Qualität ist aber langsamer.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
protos |
Tensor
|
[mask_dim, mask_h, mask_w] |
erforderlich |
masks_in |
Tensor
|
[n, mask_dim], n ist die Anzahl der Masken nach nms |
erforderlich |
bboxes |
Tensor
|
[n, 4], n ist die Anzahl der Masken nach nms |
erforderlich |
shape |
tuple
|
die Größe des Eingangsbildes (h,w) |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
Tensor
|
Die upgesampelten Masken. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask(protos, masks_in, bboxes, shape, upsample=False)
Wende Masken auf Begrenzungsrahmen an, indem du die Ausgabe des Maskenkopfes verwendest.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
protos |
Tensor
|
A tensor der Form [mask_dim, mask_h, mask_w]. |
erforderlich |
masks_in |
Tensor
|
Eine tensor der Form [n, mask_dim], wobei n die Anzahl der Masken nach NMS ist. |
erforderlich |
bboxes |
Tensor
|
A tensor der Form [n, 4], wobei n die Anzahl der Masken nach NMS ist. |
erforderlich |
shape |
tuple
|
Ein Tupel aus ganzen Zahlen, das die Größe des Eingabebildes im Format (h, w) angibt. |
erforderlich |
upsample |
bool
|
Ein Flag, das angibt, ob die Maske auf die ursprüngliche Bildgröße hochgerechnet werden soll. Die Voreinstellung ist False. |
False
|
Retouren:
Typ | Beschreibung |
---|---|
Tensor
|
Eine binäre Maske tensor der Form [n, h, w], wobei n die Anzahl der Masken nach NMS ist und h und w die Höhe und Breite des Eingangsbildes sind. Die Maske wird auf die Boundingboxen angewendet. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.process_mask_native(protos, masks_in, bboxes, shape)
Sie nimmt die Ausgabe des Maskenkopfes und schneidet sie nach dem Upsampling auf die Boundingboxen zu.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
protos |
Tensor
|
[mask_dim, mask_h, mask_w] |
erforderlich |
masks_in |
Tensor
|
[n, mask_dim], n ist die Anzahl der Masken nach nms |
erforderlich |
bboxes |
Tensor
|
[n, 4], n ist die Anzahl der Masken nach nms |
erforderlich |
shape |
tuple
|
die Größe des Eingangsbildes (h,w) |
erforderlich |
Retouren:
Name | Typ | Beschreibung |
---|---|---|
masks |
Tensor
|
Die zurückgegebenen Masken mit den Dimensionen [h, w, n] |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.scale_masks(masks, shape, padding=True)
Skaliere die Segmentmasken auf die Form um.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
masks |
Tensor
|
(N, C, H, W). |
erforderlich |
shape |
tuple
|
Höhe und Breite. |
erforderlich |
padding |
bool
|
Wenn True, wird angenommen, dass die Boxen auf einem Bild basieren, das durch den yolo Stil erweitert wurde. Wenn False, dann erfolgt eine normale neu skaliert. |
True
|
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.scale_coords(img1_shape, coords, img0_shape, ratio_pad=None, normalize=False, padding=True)
Skaliere die Segmentkoordinaten (xy) von img1_shape nach img0_shape um.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
img1_shape |
tuple
|
Die Form des Bildes, aus dem die Koordinaten stammen. |
erforderlich |
coords |
Tensor
|
die zu skalierenden Koordinaten der Form n,2. |
erforderlich |
img0_shape |
tuple
|
die Form des Bildes, auf das die Segmentierung angewendet wird. |
erforderlich |
ratio_pad |
tuple
|
das Verhältnis zwischen der Bildgröße und der Größe des aufgefüllten Bildes. |
None
|
normalize |
bool
|
Wenn True, werden die Koordinaten auf den Bereich [0, 1] normalisiert. Der Standardwert ist False. |
False
|
padding |
bool
|
Wenn True, wird angenommen, dass die Boxen auf einem Bild basieren, das durch den yolo Stil erweitert wurde. Wenn False, dann erfolgt eine normale neu skaliert. |
True
|
Retouren:
Name | Typ | Beschreibung |
---|---|---|
coords |
Tensor
|
Die skalierten Koordinaten. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.regularize_rboxes(rboxes)
Reguliere gedrehte Boxen im Bereich [0, pi/2].
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
rboxes |
Tensor
|
(N, 5), xywhr. |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
Tensor
|
Die regulierten Boxen. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.masks2segments(masks, strategy='largest')
Sie nimmt eine Liste von Masken(n,h,w) und gibt eine Liste von Segmenten(n,xy) zurück
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
masks |
Tensor
|
die Ausgabe des Modells, die eine tensor der Form (batch_size, 160, 160) ist |
erforderlich |
strategy |
str
|
'concat' oder 'largest'. Standardmäßig ist die größte |
'largest'
|
Retouren:
Name | Typ | Beschreibung |
---|---|---|
segments |
List
|
Liste der Segmentmasken |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.convert_torch2numpy_batch(batch)
Konvertiere einen Stapel FP32 torch Tensoren (0.0-1.0) in ein NumPy uint8 Array (0-255), indem du vom BCHW- zum BHWC-Layout wechselst.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
batch |
Tensor
|
Eingabe tensor batch of shape (Batch, Channels, Height, Width) und dtype torch.float32. |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
ndarray
|
Ausgabe des NumPy-Arrays batch of shape (Batch, Height, Width, Channels) und dtype uint8. |
Quellcode in ultralytics/utils/ops.py
ultralytics.utils.ops.clean_str(s)
Bereinigt eine Zeichenkette, indem es Sonderzeichen durch Unterstriche ersetzt _
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
s |
str
|
eine Zeichenfolge, die durch Sonderzeichen ersetzt werden muss |
erforderlich |
Retouren:
Typ | Beschreibung |
---|---|
str
|
eine Zeichenfolge, bei der Sonderzeichen durch einen Unterstrich ersetzt werden _ |
Quellcode in ultralytics/utils/ops.py
Erstellt am 2023-11-12, Aktualisiert am 2024-05-08
Autoren: Burhan-Q (1), Laughing-q (1), glenn-jocher (4)