YOLOv5 以txt 或json格式输出预测结果
- 1.YOLOv5源码以多种格式输出预测结果
- 1.run函数——传入参数
- 2.run函数——保存打印
- 2.YOLOv5以.txt格式输出预测结果
- 1.执行以下代码就可以得到以.txt格式输出预测结果
- 2.输出格式:
- 3.YOLOv5以.json格式输出预测结果
- 1.需要在源码中加上一段代码
- 2.输出格式
1.YOLOv5源码以多种格式输出预测结果
1.run函数——传入参数
2.run函数——保存打印
在对每张图片做处理的循环里的写入结果部分:
我们可以看到以下的代码片段就是以不同格式输出预测结果的代码
2.YOLOv5以.txt格式输出预测结果
1.执行以下代码就可以得到以.txt格式输出预测结果
python detect.py --weights runs/exp1/weights/best.pt --source inference/images/ --save-txt --save-conf
–save-txt save results to *.txt #将预测的bounding box保存为txt文件
–save-conf save confidences in --save-txt labels #类别的概率
每个txt会生成一行一个目标的信息,信息包括类别序号、后面四个为bbox位置(xcenter ycenter w h),最后一个是该类别的概率
2.输出格式:
3.YOLOv5以.json格式输出预测结果
1.需要在源码中加上一段代码
- 第一步
在这个位置加入
save_json = True,# 输出json文件save results to *.json
content_json = [],
- 第二步
在这个位置下面加上
# 输出 json 文件
if save_json:
# windows下使用
num += 1
file_name = save_path.split('\\')
# Linux下使用
# file_name = save_path.split('/')
content_dic = {
"name": file_name[len(file_name) - 1],
"num": num,
"category": (names[int(cls)]),
"bbox": torch.tensor(xyxy).view(1, 4).view(-1).tolist(),
"score": conf.tolist()
}
content_json.append(content_dic)