目标检测——YOLOv8模型预测结果

from ultralytics import YOLO
 
model_path = r'/home/zhangh/project1/workproject/YOLOv8/ultralytics/runs/train/2024723_yolov8n5/weights/best.pt'
img_path = r'worker_data/images/val/%E9%93%B2%E6%96%97%E5%9D%90%E4%BA%BA%E5%89%AA%E8%BE%91%E7%89%88_2.mp4#t=383.jpg'
model = YOLO(model=model_path)
 
results = model.predict(source=img_path)

# 把tensor转为numpy格式
boxes = results[0].boxes.cpu().numpy()

# 输出模型中有哪些类别
print(results[0].names)

# 访问 boxes 属性,它包含了检测到的边界框,对应的类别得分,及对应的类别
loc, scores, classes =[], [], []
 
# # 遍历每个检测结果
for box in boxes:
    loc.append(box.xyxy[0].tolist())
    scores.append(float(box.conf))
    classes.append(results[0].names[int(box.cls)])
 
print(loc)
print(scores)
print(classes)

对于YOLOv8推理得到的Results是一个长度为1的列表,里面包含许多预测属性。其中和预测框相关的包含着result[0].boxes里面,遍历这个tensor即可获得所有预测框相关的信息,包括坐标、类别、置信度等信息。

### YOLOv8 模型预测所需内存大小 YOLOv8模型在进行预测时所需的内存量取决于多个因素,包括但不限于输入图像尺寸、批量大小(batch size)以及所使用的具体模型版本。对于不同的YOLOv8变体(如`yolov8n`),其参数量和计算复杂度有所不同,因此占用的内存也会有所差异。 通常来说,在CPU环境下: - `yolov8n.pt`这类较小规模的基础PyTorch模型文件大约需要几百MB到1GB左右RAM来支持推理操作[^1]。 当考虑ONNX格式(`.onnx`)或其他优化后的版本(例如OpenVINO),由于这些框架可能采用了更高效的执行路径或进行了量化处理,实际运行期间消耗的物理内存可能会更低一些。特别是整数量化后的模型(`yolov8n_int8_openvino_model`)往往能显著减少资源需求并提高吞吐量,但具体的数值仍依赖于应用环境的具体配置。 值得注意的是,除了模型本身的开销外,还需要额外的空间用于存储中间特征图和其他临时变量;如果采用批处理方式,则随着batch size增大,整体内存使用也将线性增长。此外,预处理阶段同样会对总内存消耗造成影响,因为该过程中涉及到了解码图片、调整分辨率等一系列操作[^3]。 为了精确测量某一特定场景下的内存占用情况,建议利用Python中的`psutil`库或者其他专门工具来进行监控统计。下面是一个简单的代码片段展示如何获取当前进程的内存使用信息: ```python import psutil process = psutil.Process() memory_info = process.memory_info().rss / (1024 * 1024) print(f"Current memory usage: {memory_info:.2f} MB") ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张飞飞飞飞飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值