Riferimento per ultralytics/utils/metrics.py
Nota
Questo file è disponibile all'indirizzo https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/metrics .py. Se riscontri un problema, contribuisci a risolverlo inviando una Pull Request 🛠️. Grazie 🙏!
ultralytics.utils.metrics.ConfusionMatrix
Una classe per calcolare e aggiornare una matrice di confusione per attività di rilevamento e classificazione di oggetti.
Attributi:
Nome | Tipo | Descrizione |
---|---|---|
task |
str
|
Il tipo di compito, "rilevare" o "classificare". |
matrix |
ndarray
|
La matrice di confusione, con dimensioni che dipendono dal compito. |
nc |
int
|
Il numero di classi. |
conf |
float
|
La soglia di fiducia per i rilevamenti. |
iou_thres |
float
|
L'intersezione sopra la soglia di Union. |
Codice sorgente in ultralytics/utils/metrics.py
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 |
|
__init__(nc, conf=0.25, iou_thres=0.45, task='detect')
Inizializza gli attributi del modello YOLO .
Codice sorgente in ultralytics/utils/metrics.py
matrix()
plot(normalize=True, save_dir='', names=(), on_plot=None)
Traccia la matrice di confusione utilizzando seaborn e salvala in un file.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
normalize |
bool
|
Se normalizzare la matrice di confusione. |
True
|
save_dir |
str
|
Directory in cui verrà salvato il grafico. |
''
|
names |
tuple
|
Nomi delle classi, utilizzati come etichette sul grafico. |
()
|
on_plot |
func
|
Un callback opzionale per passare il percorso delle trame e i dati quando vengono resi. |
None
|
Codice sorgente in ultralytics/utils/metrics.py
print()
process_batch(detections, gt_bboxes, gt_cls)
Aggiornamento della matrice di confusione per l'attività di rilevamento degli oggetti.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
detections |
Array[N, 6] | Array[N, 7]
|
Caselle di delimitazione rilevate e informazioni associate.
Ogni riga dovrebbe contenere (x1, y1, x2, y2, conf, classe)
o con un elemento aggiuntivo |
richiesto |
gt_bboxes |
Array[M, 4] | Array[N, 5]
|
Caselle di delimitazione della verità terrena in formato xyxy/xyr. |
richiesto |
gt_cls |
Array[M]
|
Le etichette della classe. |
richiesto |
Codice sorgente in ultralytics/utils/metrics.py
process_cls_preds(preds, targets)
Aggiorna la matrice di confusione per l'attività di classificazione.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
preds |
Array[N, min(nc, 5)]
|
Etichette di classe previste. |
richiesto |
targets |
Array[N, 1]
|
Etichette di classe della verità terrena. |
richiesto |
Codice sorgente in ultralytics/utils/metrics.py
tp_fp()
Restituisce i veri positivi e i falsi positivi.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.Metric
Basi: SimpleClass
Classe per calcolare le metriche di valutazione del modello YOLOv8 .
Attributi:
Nome | Tipo | Descrizione |
---|---|---|
p |
list
|
Precisione per ogni classe. Forma: (nc,). |
r |
list
|
Richiamo per ogni classe. Forma: (nc,). |
f1 |
list
|
Punteggio F1 per ogni classe. Forma: (nc,). |
all_ap |
list
|
Punteggi AP per tutte le classi e tutte le soglie IoU. Forma: (nc, 10). |
ap_class_index |
list
|
Indice della classe per ogni punteggio AP. Forma: (nc,). |
nc |
int
|
Numero di classi. |
Metodi:
Nome | Descrizione |
---|---|
ap50 |
AP con soglia IoU di 0,5 per tutte le classi. Restituisce: Elenco dei punteggi AP. Forma: (nc,) o []. |
ap |
AP con soglie IoU da 0,5 a 0,95 per tutte le classi. Restituisce: Elenco dei punteggi AP. Forma: (nc,) o []. |
mp |
Precisione media di tutte le classi. Restituisce: Float. |
mr |
Richiamo medio di tutte le classi. Restituzione: Variabile. |
map50 |
AP medio alla soglia IoU di 0,5 per tutte le classi. Restituisce: Float. |
map75 |
AP medio alla soglia IoU di 0,75 per tutte le classi. Restituisce: Float. |
map |
AP medio alle soglie IoU da 0,5 a 0,95 per tutte le classi. Restituisce: Variabile. |
mean_results |
Media dei risultati, restituisce mp, mr, map50, map. |
class_result |
Risultato consapevole della classe, restituisce p[i], r[i], ap50[i], ap[i]. |
maps |
mAP di ogni classe. Restituisce: Array di punteggi mAP, forma: (nc,). |
fitness |
Modello di fitness come combinazione ponderata di metriche. Restituisce: Float. |
update |
Aggiorna gli attributi delle metriche con i nuovi risultati della valutazione. |
Codice sorgente in ultralytics/utils/metrics.py
620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 |
|
ap
property
Restituisce la precisione media (AP) a una soglia IoU di 0,5-0,95 per tutte le classi.
Restituzione:
Tipo | Descrizione |
---|---|
(ndarray, list)
|
Array di forme (nc,) con valori AP50-95 per classe, o un elenco vuoto se non disponibile. |
ap50
property
Restituisce la precisione media (AP) con una soglia IoU di 0,5 per tutte le classi.
Restituzione:
Tipo | Descrizione |
---|---|
(ndarray, list)
|
Array di forme (nc,) con valori AP50 per classe, o un elenco vuoto se non disponibile. |
curves
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
curves_results
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
map
property
Restituisce la precisione media (mAP) su soglie IoU comprese tra 0,5 e 0,95 in passi di 0,05.
Restituzione:
Tipo | Descrizione |
---|---|
float
|
La mAP su soglie IoU di 0,5 - 0,95 a passi di 0,05. |
map50
property
Restituisce la precisione media (mAP) a una soglia IoU di 0,5.
Restituzione:
Tipo | Descrizione |
---|---|
float
|
Il mAP ad una soglia IoU di 0,5. |
map75
property
Restituisce la precisione media (mAP) con una soglia IoU di 0,75.
Restituzione:
Tipo | Descrizione |
---|---|
float
|
Il mAP con una soglia IoU di 0,75. |
maps
property
MAPPA di ogni classe.
mp
property
Restituisce la precisione media di tutte le classi.
Restituzione:
Tipo | Descrizione |
---|---|
float
|
La precisione media di tutte le classi. |
mr
property
Restituisce il richiamo medio di tutte le classi.
Restituzione:
Tipo | Descrizione |
---|---|
float
|
Il richiamo medio di tutte le classi. |
__init__()
Inizializza un'istanza di Metric per calcolare le metriche di valutazione del modello YOLOv8 .
Codice sorgente in ultralytics/utils/metrics.py
class_result(i)
fitness()
Modello di fitness come combinazione ponderata di metriche.
mean_results()
update(results)
Aggiorna le metriche di valutazione del modello con una nuova serie di risultati.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
results |
tuple
|
Una tupla contenente le seguenti metriche di valutazione: - p (elenco): Precisione per ogni classe. Forma: (nc,). - r (elenco): Richiamo per ogni classe. Forma: (nc,). - f1 (elenco): Punteggio F1 per ogni classe. Forma: (nc,). - all_ap (elenco): Punteggi AP per tutte le classi e tutte le soglie IoU. Forma: (nc, 10). - ap_class_index (elenco): Indice della classe per ogni punteggio AP. Forma: (nc,). |
richiesto |
Effetti collaterali
Aggiorna gli attributi della classe self.p
, self.r
, self.f1
, self.all_ap
, e self.ap_class_index
in base
sui valori forniti nella sezione results
tupla.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.DetMetrics
Basi: SimpleClass
Questa classe è una classe di utilità per calcolare le metriche di rilevamento come precisione, richiamo e precisione media (mAP) di un modello di rilevamento di oggetti. (mAP) di un modello di rilevamento di oggetti.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
save_dir |
Path
|
Percorso della directory in cui verranno salvati i grafici di output. Il valore predefinito è la directory corrente. |
Path('.')
|
plot |
bool
|
Un flag che indica se tracciare le curve di precisione-richiamo per ogni classe. Il valore predefinito è Falso. |
False
|
on_plot |
func
|
Un callback opzionale per passare il percorso delle trame e i dati quando vengono renderizzati. Il valore predefinito è Nessuno. |
None
|
names |
tuple of str
|
Una tupla di stringhe che rappresenta i nomi delle classi. Il valore predefinito è una tupla vuota. |
()
|
Attributi:
Nome | Tipo | Descrizione |
---|---|---|
save_dir |
Path
|
Il percorso della directory in cui verranno salvati i grafici di output. |
plot |
bool
|
Un flag che indica se tracciare le curve di precisione-richiamo per ogni classe. |
on_plot |
func
|
Un callback opzionale per passare il percorso delle trame e i dati quando vengono resi. |
names |
tuple of str
|
Una tupla di stringhe che rappresenta i nomi delle classi. |
box |
Metric
|
Un'istanza della classe Metric per memorizzare i risultati delle metriche di rilevamento. |
speed |
dict
|
Un dizionario per memorizzare il tempo di esecuzione delle diverse parti del processo di rilevamento. |
Metodi:
Nome | Descrizione |
---|---|
process |
Aggiorna i risultati della metrica con l'ultimo gruppo di previsioni. |
keys |
Restituisce un elenco di chiavi per accedere alle metriche di rilevamento calcolate. |
mean_results |
Restituisce un elenco di valori medi per le metriche di rilevamento calcolate. |
class_result |
Restituisce un elenco di valori per le metriche di rilevamento calcolate per una classe specifica. |
maps |
Restituisce un dizionario di valori di precisione media (mAP) per diverse soglie IoU. |
fitness |
Calcola il punteggio di fitness in base alle metriche di rilevamento calcolate. |
ap_class_index |
Restituisce un elenco di indici di classe ordinati in base ai loro valori di precisione media (AP). |
results_dict |
Restituisce un dizionario che mappa le chiavi metriche di rilevamento ai loro valori calcolati. |
curves |
TODO |
curves_results |
TODO |
Codice sorgente in ultralytics/utils/metrics.py
792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 |
|
ap_class_index
property
Restituisce l'indice di precisione medio per classe.
curves
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
curves_results
property
Restituisce il dizionario delle metriche e delle statistiche delle prestazioni calcolate.
fitness
property
Restituisce la forma fisica dell'oggetto box.
keys
property
Restituisce un elenco di chiavi per accedere a metriche specifiche.
maps
property
Restituisce i punteggi medi di precisione (mAP) per classe.
results_dict
property
Restituisce il dizionario delle metriche e delle statistiche delle prestazioni calcolate.
__init__(save_dir=Path('.'), plot=False, on_plot=None, names=())
Inizializza un'istanza di DetMetrics con una directory di salvataggio, un flag di trama, una funzione di callback e i nomi delle classi.
Codice sorgente in ultralytics/utils/metrics.py
class_result(i)
Restituisce il risultato della valutazione delle prestazioni di un modello di rilevamento degli oggetti su una classe specifica.
mean_results()
process(tp, conf, pred_cls, target_cls)
Elabora i risultati previsti per il rilevamento degli oggetti e aggiorna le metriche.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.SegmentMetrics
Basi: SimpleClass
Calcola e aggrega le metriche di rilevamento e segmentazione su un determinato insieme di classi.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
save_dir |
Path
|
Percorso della directory in cui salvare i grafici di output. Il valore predefinito è la directory corrente. |
Path('.')
|
plot |
bool
|
Se salvare o meno i grafici di rilevamento e segmentazione. Il valore predefinito è Falso. |
False
|
on_plot |
func
|
Un callback opzionale per passare il percorso delle trame e i dati quando vengono renderizzati. Il valore predefinito è Nessuno. |
None
|
names |
list
|
Elenco di nomi di classi. Il valore predefinito è un elenco vuoto. |
()
|
Attributi:
Nome | Tipo | Descrizione |
---|---|---|
save_dir |
Path
|
Percorso della directory in cui salvare i grafici di output. |
plot |
bool
|
Se salvare i tracciati di rilevamento e segmentazione. |
on_plot |
func
|
Un callback opzionale per passare il percorso delle trame e i dati quando vengono resi. |
names |
list
|
Elenco dei nomi delle classi. |
box |
Metric
|
Un'istanza della classe Metric per calcolare le metriche di rilevamento dei box. |
seg |
Metric
|
Un'istanza della classe Metric per calcolare le metriche di segmentazione della maschera. |
speed |
dict
|
Dizionario per memorizzare il tempo impiegato nelle diverse fasi dell'inferenza. |
Metodi:
Nome | Descrizione |
---|---|
process |
Elabora metriche sull'insieme di previsioni date. |
mean_results |
Restituisce la media delle metriche di rilevamento e segmentazione su tutte le classi. |
class_result |
Restituisce le metriche di rilevamento e segmentazione della classe |
maps |
Restituisce i punteggi medi di precisione (mAP) per soglie IoU comprese tra 0,50 e 0,95. |
fitness |
Restituisce i punteggi di fitness, che sono una singola combinazione ponderata di metriche. |
ap_class_index |
Restituisce l'elenco degli indici delle classi utilizzate per calcolare la precisione media (AP). |
results_dict |
Restituisce il dizionario contenente tutte le metriche di rilevamento e segmentazione e il punteggio di fitness. |
Codice sorgente in ultralytics/utils/metrics.py
893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 |
|
ap_class_index
property
Le caselle e le maschere hanno lo stesso ap_class_index.
curves
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
curves_results
property
Restituisce il dizionario delle metriche e delle statistiche delle prestazioni calcolate.
fitness
property
Ottieni il punteggio di fitness per entrambi i modelli di segmentazione e bounding box.
keys
property
Restituisce un elenco di chiavi per accedere alle metriche.
maps
property
Restituisce i punteggi mAP per i modelli di rilevamento degli oggetti e di segmentazione semantica.
results_dict
property
Restituisce i risultati del modello di rilevamento degli oggetti per la valutazione.
__init__(save_dir=Path('.'), plot=False, on_plot=None, names=())
Inizializza un'istanza di SegmentMetrics con una directory di salvataggio, un flag di plot, una funzione di callback e i nomi delle classi.
Codice sorgente in ultralytics/utils/metrics.py
class_result(i)
mean_results()
Restituisce le metriche medie per i risultati dei box di delimitazione e della segmentazione.
process(tp, tp_m, conf, pred_cls, target_cls)
Elabora le metriche di rilevamento e segmentazione sull'insieme di previsioni date.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
tp |
list
|
Elenco delle caselle True Positive. |
richiesto |
tp_m |
list
|
Elenco delle vere maschere positive. |
richiesto |
conf |
list
|
Elenco dei punteggi di fiducia. |
richiesto |
pred_cls |
list
|
Elenco delle classi previste. |
richiesto |
target_cls |
list
|
Elenco delle classi di destinazione. |
richiesto |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.PoseMetrics
Basi: SegmentMetrics
Calcola e aggrega le metriche di rilevamento e di posa su un determinato insieme di classi.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
save_dir |
Path
|
Percorso della directory in cui salvare i grafici di output. Il valore predefinito è la directory corrente. |
Path('.')
|
plot |
bool
|
Se salvare o meno i grafici di rilevamento e segmentazione. Il valore predefinito è Falso. |
False
|
on_plot |
func
|
Un callback opzionale per passare il percorso delle trame e i dati quando vengono renderizzati. Il valore predefinito è Nessuno. |
None
|
names |
list
|
Elenco di nomi di classi. Il valore predefinito è un elenco vuoto. |
()
|
Attributi:
Nome | Tipo | Descrizione |
---|---|---|
save_dir |
Path
|
Percorso della directory in cui salvare i grafici di output. |
plot |
bool
|
Se salvare i tracciati di rilevamento e segmentazione. |
on_plot |
func
|
Un callback opzionale per passare il percorso delle trame e i dati quando vengono resi. |
names |
list
|
Elenco dei nomi delle classi. |
box |
Metric
|
Un'istanza della classe Metric per calcolare le metriche di rilevamento dei box. |
pose |
Metric
|
Un'istanza della classe Metric per calcolare le metriche di segmentazione della maschera. |
speed |
dict
|
Dizionario per memorizzare il tempo impiegato nelle diverse fasi dell'inferenza. |
Metodi:
Nome | Descrizione |
---|---|
process |
Elabora metriche sull'insieme di previsioni date. |
mean_results |
Restituisce la media delle metriche di rilevamento e segmentazione su tutte le classi. |
class_result |
Restituisce le metriche di rilevamento e segmentazione della classe |
maps |
Restituisce i punteggi medi di precisione (mAP) per soglie IoU comprese tra 0,50 e 0,95. |
fitness |
Restituisce i punteggi di fitness, che sono una singola combinazione ponderata di metriche. |
ap_class_index |
Restituisce l'elenco degli indici delle classi utilizzate per calcolare la precisione media (AP). |
results_dict |
Restituisce il dizionario contenente tutte le metriche di rilevamento e segmentazione e il punteggio di fitness. |
Codice sorgente in ultralytics/utils/metrics.py
1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 |
|
curves
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
curves_results
property
Restituisce il dizionario delle metriche e delle statistiche delle prestazioni calcolate.
fitness
property
Calcola le metriche di classificazione e la velocità utilizzando il metodo targets
e pred
ingressi.
keys
property
Restituisce l'elenco delle chiavi metriche di valutazione.
maps
property
Restituisce la precisione media (mAP) per classe per i rilevamenti di box e pose.
__init__(save_dir=Path('.'), plot=False, on_plot=None, names=())
Inizializza la classe PoseMetrics con il percorso della directory, i nomi delle classi e le opzioni di plottaggio.
Codice sorgente in ultralytics/utils/metrics.py
class_result(i)
Restituisce i risultati del rilevamento in base alla classe per una specifica classe i.
mean_results()
process(tp, tp_p, conf, pred_cls, target_cls)
Elabora le metriche di rilevamento e di posa sull'insieme di predizioni fornite.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
tp |
list
|
Elenco delle caselle True Positive. |
richiesto |
tp_p |
list
|
Elenco dei punti chiave di True Positive. |
richiesto |
conf |
list
|
Elenco dei punteggi di fiducia. |
richiesto |
pred_cls |
list
|
Elenco delle classi previste. |
richiesto |
target_cls |
list
|
Elenco delle classi di destinazione. |
richiesto |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.ClassifyMetrics
Basi: SimpleClass
Classe per il calcolo delle metriche di classificazione, compresa l'accuratezza top-1 e top-5.
Attributi:
Nome | Tipo | Descrizione |
---|---|---|
top1 |
float
|
La precisione della top-1. |
top5 |
float
|
La top-5 della precisione. |
speed |
Dict[str, float]
|
Un dizionario contenente il tempo impiegato per ogni fase della pipeline. |
Proprietà
fitness (float): L'idoneità del modello, che equivale all'accuratezza della top-5. results_dict (Dict[str, Union[float, str]]): Un dizionario contenente le metriche di classificazione e il fitness. keys (List[str]): Un elenco di chiavi per il results_dict.
Metodi:
Nome | Descrizione |
---|---|
process |
Elabora gli obiettivi e le previsioni per calcolare le metriche di classificazione. |
Codice sorgente in ultralytics/utils/metrics.py
curves
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
curves_results
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
fitness
property
Restituisce la media delle precisioni top-1 e top-5 come punteggio di fitness.
keys
property
Restituisce un elenco di chiavi per la proprietà results_dict.
results_dict
property
Restituisce un dizionario con le metriche di performance del modello e il punteggio di fitness.
__init__()
Inizializza un'istanza di ClassifyMetrics.
process(targets, pred)
Classi target e classi previste.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.OBBMetrics
Basi: SimpleClass
Codice sorgente in ultralytics/utils/metrics.py
1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 |
|
ap_class_index
property
Restituisce l'indice di precisione medio per classe.
curves
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
curves_results
property
Restituisce un elenco di curve per accedere a curve metriche specifiche.
fitness
property
Restituisce la forma fisica dell'oggetto box.
keys
property
Restituisce un elenco di chiavi per accedere a metriche specifiche.
maps
property
Restituisce i punteggi medi di precisione (mAP) per classe.
results_dict
property
Restituisce il dizionario delle metriche e delle statistiche delle prestazioni calcolate.
class_result(i)
Restituisce il risultato della valutazione delle prestazioni di un modello di rilevamento degli oggetti su una classe specifica.
mean_results()
Calcola la media degli oggetti rilevati e restituisce precisione, richiamo, mAP50 e mAP50-95.
process(tp, conf, pred_cls, target_cls)
Elabora i risultati previsti per il rilevamento degli oggetti e aggiorna le metriche.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.bbox_ioa(box1, box2, iou=False, eps=1e-07)
Calcola l'intersezione con l'area di box2 date box1 e box2. Le caselle sono in formato x1y1x2y2.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
box1 |
ndarray
|
Un array numpy di forma (n, 4) che rappresenta n caselle di delimitazione. |
richiesto |
box2 |
ndarray
|
Un array numpy di forma (m, 4) che rappresenta m caselle di delimitazione. |
richiesto |
iou |
bool
|
Calcola l'IoU standard se Vero altrimenti restituisce inter_area/box2_area. |
False
|
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-7. |
1e-07
|
Restituzione:
Tipo | Descrizione |
---|---|
ndarray
|
Un array numpy di forma (n, m) che rappresenta l'intersezione sull'area di box2. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.box_iou(box1, box2, eps=1e-07)
Calcola l'intersezione-over-union (IoU) delle caselle. Entrambe le serie di caselle devono essere in formato (x1, y1, x2, y2). Basato su https://github.com/pytorch/vision/blob/master/torchvision/ops/boxes.py
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
box1 |
Tensor
|
Un tensor di forma (N, 4) che rappresenta N caselle di delimitazione. |
richiesto |
box2 |
Tensor
|
Un tensor di forma (M, 4) che rappresenta M caselle di delimitazione. |
richiesto |
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-7. |
1e-07
|
Restituzione:
Tipo | Descrizione |
---|---|
Tensor
|
Un NxM tensor contenente i valori IoU a coppie per ogni elemento del box1 e del box2. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.bbox_iou(box1, box2, xywh=True, GIoU=False, DIoU=False, CIoU=False, eps=1e-07)
Calcola l'Intersezione su Unione (IoU) di box1(1, 4) con box2(n, 4).
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
box1 |
Tensor
|
Un tensor che rappresenta una singola bounding box con forma (1, 4). |
richiesto |
box2 |
Tensor
|
Un tensor che rappresenta n caselle di delimitazione con forma (n, 4). |
richiesto |
xywh |
bool
|
Se Vero, le caselle di input sono in formato (x, y, w, h). Se Falso, le caselle di input sono in formato (x1, y1, x2, y2). Il valore predefinito è Vero. |
True
|
GIoU |
bool
|
Se Vero, calcola l'IoU generalizzato. L'impostazione predefinita è Falso. |
False
|
DIoU |
bool
|
Se Vero, calcola la distanza IoU. L'impostazione predefinita è Falso. |
False
|
CIoU |
bool
|
Se Vero, calcola l'IoU completo. L'impostazione predefinita è Falso. |
False
|
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-7. |
1e-07
|
Restituzione:
Tipo | Descrizione |
---|---|
Tensor
|
Valori IoU, GIoU, DIoU o CIoU a seconda dei flag specificati. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.mask_iou(mask1, mask2, eps=1e-07)
Calcola le maschere IoU.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
mask1 |
Tensor
|
Un tensor di forma (N, n) dove N è il numero di oggetti di verità a terra e n è il prodotto della larghezza e dell'altezza dell'immagine. prodotto della larghezza e dell'altezza dell'immagine. |
richiesto |
mask2 |
Tensor
|
Un tensor di forma (M, n) dove M è il numero di oggetti previsti e n è il prodotto della larghezza e dell'altezza dell'immagine. prodotto della larghezza e dell'altezza dell'immagine. |
richiesto |
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-7. |
1e-07
|
Restituzione:
Tipo | Descrizione |
---|---|
Tensor
|
Un tensor di forma (N, M) che rappresenta le maschere IoU. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.kpt_iou(kpt1, kpt2, area, sigma, eps=1e-07)
Calcola la somiglianza dei punti chiave degli oggetti (OKS).
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
kpt1 |
Tensor
|
Un tensor di forma (N, 17, 3) che rappresenta i punti chiave della verità a terra. |
richiesto |
kpt2 |
Tensor
|
Un tensor di forma (M, 17, 3) che rappresenta i punti chiave previsti. |
richiesto |
area |
Tensor
|
A tensor di forma (N,) che rappresenta le aree della verità a terra. |
richiesto |
sigma |
list
|
Un elenco contenente 17 valori che rappresentano le scale dei punti chiave. |
richiesto |
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-7. |
1e-07
|
Restituzione:
Tipo | Descrizione |
---|---|
Tensor
|
Un tensor di forma (N, M) che rappresenta le somiglianze dei punti chiave. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics._get_covariance_matrix(boxes)
Generazione della matrice di covarianza da obbs.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
boxes |
Tensor
|
Un tensor di forma (N, 5) che rappresenta i rettangoli di selezione ruotati, con formato xywhr. |
richiesto |
Restituzione:
Tipo | Descrizione |
---|---|
Tensor
|
Metrici di covarianza corrispondenti ai riquadri di delimitazione originali ruotati. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.probiou(obb1, obb2, CIoU=False, eps=1e-07)
Calcola la probabilità IoU tra le bounding box orientate, https://arxiv.org/pdf/2106.06072v1.pdf.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
obb1 |
Tensor
|
Un tensor di forma (N, 5) che rappresenta gli obbs della verità a terra, con formato xywhr. |
richiesto |
obb2 |
Tensor
|
Un tensor di forma (N, 5) che rappresenta gli obb previsti, con formato xywhr. |
richiesto |
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-7. |
1e-07
|
Restituzione:
Tipo | Descrizione |
---|---|
Tensor
|
Un tensor di forma (N, ) che rappresenta le somiglianze obb. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.batch_probiou(obb1, obb2, eps=1e-07)
Calcola la probabilità IoU tra le bounding box orientate, https://arxiv.org/pdf/2106.06072v1.pdf.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
obb1 |
Tensor | ndarray
|
Un tensor di forma (N, 5) che rappresenta gli obbs della verità a terra, con formato xywhr. |
richiesto |
obb2 |
Tensor | ndarray
|
Un tensor di forma (M, 5) che rappresenta gli obb previsti, con formato xywhr. |
richiesto |
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-7. |
1e-07
|
Restituzione:
Tipo | Descrizione |
---|---|
Tensor
|
Un tensor di forma (N, M) che rappresenta le somiglianze obb. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.smooth_BCE(eps=0.1)
Calcola gli obiettivi positivi e negativi smussati dell'entropia incrociata binaria.
Questa funzione calcola gli obiettivi BCE di lisciatura dell'etichetta positivi e negativi in base a un determinato valore di epsilon. Per i dettagli sull'implementazione, fai riferimento a https://github.com/ultralytics/yolov3/issues/238#issuecomment-598028441.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
eps |
float
|
Il valore epsilon per lo smoothing delle etichette. Il valore predefinito è 0,1. |
0.1
|
Restituzione:
Tipo | Descrizione |
---|---|
tuple
|
Una tupla contenente gli obiettivi BCE di lisciatura dell'etichetta positiva e negativa. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.smooth(y, f=0.05)
Filtro box della frazione f.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.plot_pr_curve(px, py, ap, save_dir=Path('pr_curve.png'), names=(), on_plot=None)
Traccia una curva precisione-richiamo.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.plot_mc_curve(px, py, save_dir=Path('mc_curve.png'), names=(), xlabel='Confidence', ylabel='Metric', on_plot=None)
Traccia una curva metrico-confidenziale.
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.compute_ap(recall, precision)
Calcolare la precisione media (AP) in base alle curve di richiamo e precisione.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
recall |
list
|
La curva di richiamo. |
richiesto |
precision |
list
|
La curva di precisione. |
richiesto |
Restituzione:
Tipo | Descrizione |
---|---|
float
|
Precisione media. |
ndarray
|
Curva d'inviluppo di precisione. |
ndarray
|
Curva di richiamo modificata con valori sentinella aggiunti all'inizio e alla fine. |
Codice sorgente in ultralytics/utils/metrics.py
ultralytics.utils.metrics.ap_per_class(tp, conf, pred_cls, target_cls, plot=False, on_plot=None, save_dir=Path(), names=(), eps=1e-16, prefix='')
Calcola la precisione media per classe per la valutazione del rilevamento degli oggetti.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
tp |
ndarray
|
Array binario che indica se il rilevamento è corretto (Vero) o meno (Falso). |
richiesto |
conf |
ndarray
|
Schiera di punteggi di confidenza dei rilevamenti. |
richiesto |
pred_cls |
ndarray
|
Array di classi previste per i rilevamenti. |
richiesto |
target_cls |
ndarray
|
Array di classi reali dei rilevamenti. |
richiesto |
plot |
bool
|
Se tracciare o meno le curve PR. L'impostazione predefinita è False. |
False
|
on_plot |
func
|
Un callback per passare il percorso e i dati delle trame quando vengono renderizzate. Il valore predefinito è Nessuno. |
None
|
save_dir |
Path
|
Directory in cui salvare le curve PR. Il percorso predefinito è vuoto. |
Path()
|
names |
tuple
|
Tupla di nomi di classi per tracciare le curve PR. Il valore predefinito è una tupla vuota. |
()
|
eps |
float
|
Un valore piccolo per evitare la divisione per zero. Il valore predefinito è 1e-16. |
1e-16
|
prefix |
str
|
Una stringa di prefisso per salvare i file di trama. Il valore predefinito è una stringa vuota. |
''
|
Restituzione:
Tipo | Descrizione |
---|---|
tuple
|
Una tupla di sei array e un array di classi uniche, dove: tp (np.ndarray): Conteggio dei veri positivi alla soglia data dalla metrica F1 massima per ogni classe. fp (np.ndarray): Conteggio dei falsi positivi alla soglia data dalla metrica F1 massima per ogni classe. Forma: (nc,). p (np.ndarray): Valori di precisione alla soglia data dalla metrica F1 massima per ogni classe. Forma: (nc,). r (np.ndarray): Valori di richiamo alla soglia data dalla metrica F1 massima per ogni classe. Forma: (nc,). f1 (np.ndarray): Valori del punteggio F1 alla soglia data dalla metrica F1 massima per ogni classe. Forma: (nc,). ap (np.ndarray): Precisione media per ogni classe a diverse soglie IoU. Forma: (nc, 10). unique_classes (np.ndarray): Un array di classi uniche che hanno dati. Forma: (nc,). p_curve (np.ndarray): Curve di precisione per ogni classe. Forma: (nc, 1000). r_curve (np.ndarray): Curve di richiamo per ogni classe. Forma: (nc, 1000). f1_curve (np.ndarray): Curve del punteggio F1 per ogni classe. Forma: (nc, 1000). x (np.ndarray): Valori dell'asse X per le curve. Forma: (1000,). valori_precisi: Valori di precisione su mAP@0.5 per ogni classe. Forma: (nc, 1000). |
Codice sorgente in ultralytics/utils/metrics.py
529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 |
|