1、安装pycocotools工具, 使用yolov7项目中test.py,安装pycocotools时,命令无法直接安装成功。
本次操作在Linux上进行:
GitHub - cocodataset/cocoapi: COCO API - Dataset @ http://cocodataset.org/COCO API - Dataset @ http://cocodataset.org/ . Contribute to cocodataset/cocoapi development by creating an account on GitHub.https://github.com/cocodataset/cocoapi直接使用该项目中python版本进行编译后安装即可
cd cocoapi/PythonAPI
make
python setup.py build
python setup.py install
2、第二个问题:
pycocotools unable to run: Results do not correspond to current coco set
根本原因:是由于原始生成的coco真实标签文件 和 预测生成的coco标签文件中imageid不能全部对应导致报错。
下面贴出分析问题时debug的要点图,以便于理解:
使用集合并集、交集、差集的方式找出不同点发现。
其中一个集合imageid是:存放字符串形式 【这个是生成真实标签的脚本造成的】
另一个imageId是:int形式进行存放,【这个是yolov7生成时造成的】
直接尝试将一方改统一即可,下面修改的是yolov7的test.py文件。
修改后发现上面问题已解决:
但是出现新的问题,‘00007dark’不能转为float, 大概率问题出在了imageId 的类型需要统一成Int型。这就需要重新给数据集进行编号和重命名。
经过给数据集重新命名,将原来调整的imagesId强转为int型。匹配成功了,成功得到想要的结果。