YOLOv5 以txt 或json格式输出预测结果

YOLOv5 以txt 或json格式输出预测结果

  • 1.YOLOv5源码以多种格式输出预测结果
    • 1.run函数——传入参数
    • 2.run函数——保存打印
  • 2.YOLOv5以.txt格式输出预测结果
    • 1.执行以下代码就可以得到以.txt格式输出预测结果
    • 2.输出格式:
  • 3.YOLOv5以.json格式输出预测结果
    • 1.需要在源码中加上一段代码
    • 2.输出格式

1.YOLOv5源码以多种格式输出预测结果

1.run函数——传入参数

图片[1] - YOLOv5 以txt 或json格式输出预测结果 - MaxSSL

2.run函数——保存打印

在对每张图片做处理的循环里的写入结果部分:
图片[2] - YOLOv5 以txt 或json格式输出预测结果 - MaxSSL
我们可以看到以下的代码片段就是以不同格式输出预测结果的代码
图片[3] - YOLOv5 以txt 或json格式输出预测结果 - MaxSSL

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.输出格式:

图片[4] - YOLOv5 以txt 或json格式输出预测结果 - MaxSSL

3.YOLOv5以.json格式输出预测结果

1.需要在源码中加上一段代码

  • 第一步
    在这个位置加入图片[5] - YOLOv5 以txt 或json格式输出预测结果 - MaxSSL
save_json = True,# 输出json文件save results to *.jsoncontent_json = [],
  • 第二步

在这个位置下面加上
图片[6] - YOLOv5 以txt 或json格式输出预测结果 - MaxSSL

 # 输出 json 文件 if save_json:# windows下使用num += 1file_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)

2.输出格式

图片[7] - YOLOv5 以txt 或json格式输出预测结果 - MaxSSL

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享