下面这张图片就展示了错误的目标检测框输出的可视化结果: 可以看出训练后的目标检测框主要集中在页面的左上角,并且目标框的尺寸也不对应。

出现以上问题:数据集在转为txt格式时归一化错误

目标检测框格式分为两种:

  • xyxy(左上和右下坐标)
  • xywh(中心坐标+目标检测框的宽高)

需要确定已有的json格式中对应的bbox中的目标检测框是哪种格式,yolov5识别的是xywh类型

1.当已有的目标检测框是xyxy格式转换成yolov5识别的xywh格式

注意:

  • box[0],box[1]对应检测框左上角的坐标,相应的box[2],box[3]对应检测框右下角的坐标
  • w,h的值是灵活的,要对应自己训练的数据集的图片的长和宽
  • 这里操作的意义是:先根据左上角和右下角的坐标找到中心点坐标和目标检测框的长和宽,然后进行归一化操作
w=980
h=1080
dw=1.0/w
dh=1.0/h
x=(box[0]+box[1])/2.0
y=(box[2]+box[3])/2.0
w=box[1]-box[0]
h=box[3]-box[2]
x=x*dw
y=y*dh
w=w*dw
h=h*dh

2.当已有的目标检测框已经是xywh格式只需要进行归一化处理

w=980
h=1080
dw=1.0/w
dh=1.0/h
x=x*dw
y=y*dh
w=w*dw
h=h*dh

最后需要注意的是:

一定要去了解自己的训练集目标检测框的格式是哪种,如果都不是以上的两种,如给出左上角坐标和长宽,同样也可以转换成中心坐标和长宽的归一化。

GitHub 加速计划 / yo / yolov5
557
37
下载
yolov5 - Ultralytics YOLOv8的前身,是一个用于目标检测、图像分割和图像分类任务的先进模型。
最近提交(Master分支:27 天前 )
6981c274 Refactor code for speed and clarity Co-authored-by: UltralyticsAssistant <web@ultralytics.com> 8 天前
f003c3df This commit resolves an issue where the save-csv command did not write the CSV header. The code now correctly saves the header in the CSV file. Signed-off-by: Ali Ghanbari <alighanbari446@gmail.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> 13 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐