首页 前端知识 Yolov8训练,Json转txt标注文件时,txt文件存在负值,导致在训练时出现警告或者报错

Yolov8训练,Json转txt标注文件时,txt文件存在负值,导致在训练时出现警告或者报错

2024-08-22 23:08:50 前端知识 前端哥 563 979 我要收藏

原因:可能在标注数据时,使用了图像翻转或反转批量生成新数据和新Json文件,这时再进行Json文件转txt文件时由于转换代码的原因会把转换后原本先标注的坐标点当成后标注的像素点,这时再进行矩形框长宽计算时,可能会产生负值。
原转化代码,我参考了这篇文章:https://blog.csdn.net/fjlaym/article/details/123992962?ops_request_misc=%7B%22request%5Fid%22%3A%22168722415116800180654496%22%2C%22scm%22%3A%2220140713.130102334..%22%7D&request_id=168722415116800180654496&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-123992962-null-null.142^v88^control,239^v2^insert_chatgpt&utm_term=yolov5制作自己的数据集&spm=1018.2226.3001.4187
解决:将转换结果用abs函数确保转换成正值。在原代码的基础上对convert函数做如下更改:

```python
def convert(img_size, box):
    dw = 1. / (img_size[0])
    dh = 1. / (img_size[1])
    x = (box[0] + box[2]) / 2.0 - 1
    y = (box[1] + box[3]) / 2.0 - 1
    w = box[2] - box[0]
    h = box[3] - box[1]
    x = abs(x * dw)
    w = abs(w * dw)
    y = abs(y * dh)
    h = abs(h * dh)
    return (x, y, w, h)
```

转载请注明出处或者链接地址:https://www.qianduange.cn//article/16579.html
标签
评论
发布的文章

【Jquery】jquery的简单使用

2024-09-01 00:09:11

NodeJs使用jQuery中$Ajax

2024-09-01 00:09:45

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!