0 coco數據集劃分說明
1 用yolo自帶的評估
from ultralytics import YOLOmodel = YOLO("../spatial-perception/checkpoints/yolo11n.pt")metrics = model.val(data="./coco.yaml", save_json=True) ## save_json為True,可以把預測結果存成json文件, 便于評估或在線提交
2 用pycocotools 工具進行評估
代碼:
https://github.com/leo038/coco_tools/blob/main/coco_eval.py
用pycocotools評估時, 需要把結果保存為coco格式的json文件。
結果:
2個評估結果略有差別, 但差別不大。
整體對比如下:
特別需要注意, yolo直接輸出的類別id是從1到80。 而coco的數據集中標注的id是1到91, 這2個并不匹配, 如果不做一定的處理, 讓它們匹配的話, 計算結果是錯誤的。 如下圖所示 ,mAP值非常小, 接近于0 。