如何为我经过训练的 Tensorflow 模型识别这些结果中的精度、召回率、IoU 和 mAP?

数据挖掘 张量流 物体检测 评估 公制
2022-02-26 10:49:02

我已经训练了一个 Single Shot Detector 模型(使用 Tensorflow),并运行了评估指标。但是,我不完全确定该怎么做。进行计算机视觉文献搜索时,报告的常见评估指标是精度、召回率、交叉联合 (IoU) 和平均平均精度 (mAP)。作为对象检测的新手,我试图获得这些结果,但我很难理解为精度、召回率、mAP 等选择哪个指标。YOLOv5 等算法将自动计算平均精度/召回率、mAP @ 0.5 等。 ,但这些结果与 Tensorflow 提供的结果略有不同。(注意:我用 Ubuntu 18.04 机器按照本教程中描述的方法训练了模型)。

结果如下:

INFO:tensorflow:DONE (t=0.02s)
I1027 11:06:36.038156 139881781995328 coco_tools.py:138] DONE (t=0.02s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=5.55s).
Accumulating evaluation results...
DONE (t=0.41s).
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.375
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 0.684
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 0.376
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.159
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.363
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.382
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.148
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.454
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.577
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.250
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.541
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.585
INFO:tensorflow:Eval metrics at step 100000
I1027 11:06:42.064121 139881781995328 model_lib_v2.py:1007] Eval metrics at step 100000
INFO:tensorflow:        + DetectionBoxes_Precision/mAP: 0.375002
I1027 11:06:42.090729 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Precision/mAP: 0.375002
INFO:tensorflow:        + DetectionBoxes_Precision/mAP@.50IOU: 0.684183
I1027 11:06:42.092986 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Precision/mAP@.50IOU: 0.684183
INFO:tensorflow:        + DetectionBoxes_Precision/mAP@.75IOU: 0.376293
I1027 11:06:42.094577 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Precision/mAP@.75IOU: 0.376293
INFO:tensorflow:        + DetectionBoxes_Precision/mAP (small): 0.159241
I1027 11:06:42.096016 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Precision/mAP (small): 0.159241
INFO:tensorflow:        + DetectionBoxes_Precision/mAP (medium): 0.362854
I1027 11:06:42.097296 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Precision/mAP (medium): 0.362854
INFO:tensorflow:        + DetectionBoxes_Precision/mAP (large): 0.381929
I1027 11:06:42.098785 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Precision/mAP (large): 0.381929
INFO:tensorflow:        + DetectionBoxes_Recall/AR@1: 0.147922
I1027 11:06:42.100110 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Recall/AR@1: 0.147922
INFO:tensorflow:        + DetectionBoxes_Recall/AR@10: 0.454406
I1027 11:06:42.101474 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Recall/AR@10: 0.454406
INFO:tensorflow:        + DetectionBoxes_Recall/AR@100: 0.576815
I1027 11:06:42.102799 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Recall/AR@100: 0.576815
INFO:tensorflow:        + DetectionBoxes_Recall/AR@100 (small): 0.250000
I1027 11:06:42.104048 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Recall/AR@100 (small): 0.250000
INFO:tensorflow:        + DetectionBoxes_Recall/AR@100 (medium): 0.541326
I1027 11:06:42.105308 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Recall/AR@100 (medium): 0.541326
INFO:tensorflow:        + DetectionBoxes_Recall/AR@100 (large): 0.584876
I1027 11:06:42.106697 139881781995328 model_lib_v2.py:1010]     + DetectionBoxes_Recall/AR@100 (large): 0.584876
INFO:tensorflow:        + Loss/localization_loss: 0.212005
I1027 11:06:42.107778 139881781995328 model_lib_v2.py:1010]     + Loss/localization_loss: 0.212005
INFO:tensorflow:        + Loss/classification_loss: 0.288771
I1027 11:06:42.108886 139881781995328 model_lib_v2.py:1010]     + Loss/classification_loss: 0.288771
INFO:tensorflow:        + Loss/regularization_loss: 0.279903
I1027 11:06:42.110019 139881781995328 model_lib_v2.py:1010]     + Loss/regularization_loss: 0.279903
INFO:tensorflow:        + Loss/total_loss: 0.780679
I1027 11:06:42.111117 139881781995328 model_lib_v2.py:1010]     + Loss/total_loss: 0.780679

同样,我正在寻找精确度、召回率、IoU 和 mAP,并希望以 YOLO 提供的类似方式报告它们。我是否需要对所有的准确率和召回分数进行平均以获得这些分数,还是只需要查看一个特定的输出?

0个回答
没有发现任何回复~