YOLOv5以txt或json格式输出预测结果的方法详解
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)
2.输出格式
总结
到此这篇关于YOLOv5以txt或json格式输出预测结果的文章就介绍到这了,更多相关YOLOv5 txt或json输出预测结果内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决jupyter notebook 前面书写后面内容消失的问题
这篇文章主要介绍了解决jupyter notebook 前面书写后面内容消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-04-04Python+SeaTable实现计算两个日期间的工作日天数
在实际的项目管理、任务管理、工作计划等场景中,某些时间段会涉及双休日、法定节假日,甚至还有公司自定义的工作时间安排,所以就需要计算出两个日期间的实际工作日天数。本文用Python+SeaTable实现这一需求,需要的可以参考一下2022-07-07基于telepath库实现Python和JavaScript之间交换数据
telepath是一个Django库,用于在Python和JavaScript之间交换数据,使您可以构建具有丰富客户端接口的应用程序,同时将业务逻辑保留在服务器端代码中。2021-05-05
最新评论