yolov8验证集图片上不显示框、置信度和标签

作者在使用自建数据集训练时遇到问题,验证集仅有一张图片导致不显示结果。调整batchsize为1后,运行成功。可能原因是batchsize与数据集大小不匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己制作了一个数据集,想运行一下看看数据集的结果,训练完成后,在验证集上确什么都不显示。如下图所示

运行了好几次,一直不知道怎么回事,回看自己制作的数据集,发现验证集只有一张图片,而参数batchsize设置成了8.

于是我把batchsize设置成1,再次运行显示成功。

### 使用YOLOv8对单张图片进行目标检测预测 为了使用YOLOv8对单张图片执行目标检测并保存裁剪后的标签内容,可以采用如下方法。此过程依赖于`ultralytics`库来加载运行YOLOv8模型。 #### 安装必要的库 首先,确保安装了所需的Python包: ```bash pip install ultralytics opencv-python-headless numpy ``` #### 加载YOLOv8模型 利用`ultralytics`库中的预训练权重文件初始化YOLOv8模型实例[^1]。 ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') # 或者其他版本如'yolov8s', 'yolov8m'等 ``` #### 执行推理 给定一张输入图像路径,调用模型对象的`predict()`函数来进行前向传播计算,获取检测结果列表。 ```python results = model.predict(source='path/to/image.jpg') ``` #### 解析结果与裁剪区域 遍历每一个检测的信息(边界坐标、置信度分数以及类别ID),依据这些数据从原始图中提取感兴趣区(ROI),再应用OpenCV库完成实际切割操作。 ```python import cv2 import os for result in results: boxes = result.boxes.cpu().numpy() for i, box in enumerate(boxes): r = box.xyxy[0].astype(int) cropped_image = image[r[1]:r[3], r[0]:r[2]] output_path = f"./output/cropped_{i}.jpg" directory = os.path.dirname(output_path) if not os.path.exists(directory): os.makedirs(directory) cv2.imwrite(output_path, cropped_image) ``` 上述代码片段展示了如何读取原图、根据预测得到的位置参数截取出子图,并最终将它们存储至指定位置的过程。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值