Referencia para ultralytics/models/utils/loss.py
Nota
Este archivo está disponible en https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/models/utils/loss .py. Si detectas algún problema, por favor, ayuda a solucionarlo contribuyendo con una Pull Request 🛠️. ¡Gracias 🙏!
ultralytics.models.utils.loss.DETRLoss
Bases: Module
Clase de pérdidas DETR (DEtección TRansformador). Esta clase calcula y devuelve los distintos componentes de pérdida del modelo de detección de objetos modelo de detección de objetos DETR. Calcula la pérdida de clasificación, la pérdida del cuadro delimitador, la pérdida GIoU y, opcionalmente, las pérdidas auxiliares.
Atributos:
Nombre | Tipo | Descripción |
---|---|---|
nc |
int
|
El número de clases. |
loss_gain |
dict
|
Coeficientes de los distintos componentes de las pérdidas. |
aux_loss |
bool
|
Si se computan las pérdidas auxiliares. |
use_fl |
bool
|
Utiliza FocalLoss o no. |
use_vfl |
bool
|
Utiliza o no VarifocalLoss. |
use_uni_match |
bool
|
Si se utiliza una capa fija para asignar etiquetas a la rama auxiliar. |
uni_match_ind |
int
|
Los índices fijos de una capa a utilizar si |
matcher |
HungarianMatcher
|
Objeto para calcular el coste y los índices de coincidencia. |
fl |
FocalLoss or None
|
Objeto de pérdida focal si |
vfl |
VarifocalLoss or None
|
Varifocal Objeto de pérdida si |
device |
device
|
Dispositivo en el que se almacenan los tensores. |
Código fuente en ultralytics/models/utils/loss.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 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 |
|
__init__(nc=80, loss_gain=None, aux_loss=True, use_fl=True, use_vfl=False, use_uni_match=False, uni_match_ind=0)
Función de pérdida DETR.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
nc |
int
|
El número de clases. |
80
|
loss_gain |
dict
|
El coeficiente de pérdida. |
None
|
aux_loss |
bool
|
Si 'aux_loss = True', se utilizarán las pérdidas de cada capa del descodificador. |
True
|
use_vfl |
bool
|
Utiliza o no VarifocalLoss. |
False
|
use_uni_match |
bool
|
Si se utiliza una capa fija para asignar etiquetas a la rama auxiliar. |
False
|
uni_match_ind |
int
|
Los índices fijos de una capa. |
0
|
Código fuente en ultralytics/models/utils/loss.py
forward(pred_bboxes, pred_scores, batch, postfix='', **kwargs)
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
pred_bboxes |
Tensor
|
[l, b, consulta, 4] |
necesario |
pred_scores |
Tensor
|
[l, b, consulta, num_clases] |
necesario |
batch |
dict
|
Un dict incluye: gt_cls (torch.Tensor) con forma [num_gts, ], gt_bboxes (torch.Tensor): [num_gts, 4], gt_groups (Lista(int)): una lista de longitud de tamaño de lote incluye el número de gts de cada imagen. |
necesario |
postfix |
str
|
postfix de nombre de pérdida. |
''
|
Código fuente en ultralytics/models/utils/loss.py
ultralytics.models.utils.loss.RTDETRDetectionLoss
Bases: DETRLoss
Clase de Pérdida de Detección de DeepTracker en Tiempo Real (RT-DETR) que amplía la DETRLoss.
Esta clase calcula la pérdida de detección del modelo RT-DETR , que incluye la pérdida de detección estándar, así como una pérdida de entrenamiento de eliminación de ruido adicional cuando se proporcionan metadatos de eliminación de ruido.
Código fuente en ultralytics/models/utils/loss.py
forward(preds, batch, dn_bboxes=None, dn_scores=None, dn_meta=None)
Paso adelante para calcular la pérdida de detección.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
preds |
tuple
|
Cajas delimitadoras y puntuaciones previstas. |
necesario |
batch |
dict
|
Datos por lotes que contienen información de la verdad sobre el terreno. |
necesario |
dn_bboxes |
Tensor
|
Cajas delimitadoras de eliminación de ruido. Por defecto es Ninguno. |
None
|
dn_scores |
Tensor
|
Puntuaciones de eliminación de ruido. Por defecto es Ninguno. |
None
|
dn_meta |
dict
|
Metadatos para la eliminación de ruido. Por defecto es Ninguno. |
None
|
Devuelve:
Tipo | Descripción |
---|---|
dict
|
Diccionario que contiene la pérdida total y, si procede, la pérdida de eliminación de ruido. |
Código fuente en ultralytics/models/utils/loss.py
get_dn_match_indices(dn_pos_idx, dn_num_group, gt_groups)
staticmethod
Obtén los índices de coincidencia para la eliminación de ruido.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
dn_pos_idx |
List[Tensor]
|
Lista de tensores con índices positivos para la eliminación de ruido. |
necesario |
dn_num_group |
int
|
Número de grupos de eliminación de ruido. |
necesario |
gt_groups |
List[int]
|
Lista de enteros que representan el número de verdades básicas de cada imagen. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
List[tuple]
|
Lista de tuplas que contienen índices coincidentes para la eliminación de ruido. |