Yolov8模型默认采用什么样的图像预处理?

问题描述 投票:0回答:1

我目前正在使用 Ultralytics Yolov8 模型进行物体检测。 我使用自定义数据集训练了我的模型。我在 Roboflow 上注释了我的数据集并以 Yolov8 格式导出。 训练结果看起来不错。然而,我在 Roboflow 上手动注释的边界框坐标与预测的边界框坐标不匹配。

例如,我有一张名为 image_1.jpg 的图像,它在 Roboflow 上进行了注释,并且是训练集的一部分。 Roboflow 定义了坐标(作为标签的一部分):

[0 0.36953125 0.39609375 0.54765625 0.7875]

最后 4 个数字显示边界框的 x1,x2,y1,y2 坐标。但是,当我使用以下代码将这张图像传递到预测方法(仅用于检查)时

model = YOLO(‘best_weights.pt’)
result = model.predict(path_of_example_image, save = True)
boxes = result[0].boxes.xyxy

我得到坐标了:

张量([[ 22.5558, 9.7429, 619.7601, 345.7614]])

当我使用预测坐标绘制边界框时,该区域完全覆盖对象((正确)预测类的准确度为 0.99%)。另一方面,当我用手动注释的坐标绘制边界框时,该对象根本没有被覆盖,因为显然所有坐标都低于 1。所以我只是想知道在模型中应用了什么样的预处理,以便Roboflow 标签中的坐标有意义,我的训练结果实际上很好?

deep-learning object-detection bounding-box yolov8 roboflow
1个回答
0
投票

输入是标准化值(范围为 0 到 1),这意味着您需要将它们乘以图像的宽度和高度以获得像素坐标。

© www.soinside.com 2019 - 2024. All rights reserved.