使用 YOLOv10 生成预测标签文件的完整示例(predict时生成txt格式标签)

使用 YOLOv10 生成预测标签文件的完整示例

在本文中,我们将展示如何使用 YOLOv10 模型对图片进行目标检测,并将检测结果保存为标签文件。生成的标签文件采用 YOLO 格式,仅包含类别编号和归一化的目标框信息(中心坐标、宽度和高度),不包含置信度。
此外,通过 project 参数,可以方便地指定检测结果的保存路径。

一、背景介绍

YOLOv10 是一款高效的目标检测模型,其 predict() 方法可直接对输入图片或视频进行推理。默认情况下,该方法返回一个 Results 列表,每个 Results 对象中封装了检测框、类别、置信度等信息。但该方法不会自动生成标签文件,本文将展示如何将检测结果保存为 .txt 文件。

二、完整代码示例

from ultralytics import YOLOv10
import os

# =======&
### YOLOv10 的视频预测实现方法 YOLOv10 是一种先进的目标检测模型,其核心组件包括紧凑倒置块(Compact Inverted Block, CIB)和部分自注意力模块(Partial Self-Attention Module, PSA)。这些设计显著提升了模型性能并降低了计算复杂度[^1]。 对于视频预测任务,通常可以按照以下方式构建流程: #### 数据准备 在处理视频数据之前,需将其分解为帧序列。这可以通过 OpenCV 库轻松完成。以下是读取视频文件并将每一帧保存到内存中的代码示例: ```python import cv2 def load_video_frames(video_path): frames = [] cap = cv2.VideoCapture(video_path) while True: ret, frame = cap.read() if not ret: break frames.append(frame) cap.release() return frames ``` #### 模型加载与推理 一旦获取了单帧图像列表,则可逐帧应用预训练好的 YOLOv10 模型进行推断。假设已通过官方文档完成了模型的初始化和权重加载操作,下面展示了一个简单的推理框架: ```python from yolov10 import YOLOv10 # 假设这是导入 YOLOv10 推理接口的方式 yolov10_model = YOLOv10(weights="path_to_your_weights.pth") def predict_on_video(frames): predictions = [] for frame in frames: result = yolov10_model.predict(frame) # 调用模型预测函数 predictions.append(result) return predictions ``` #### 结果可视化 为了更直观地查看每帧上的检测效果,在原始图片上绘制边界框是非常必要的。这里给出一段用于标注矩形区域以及类别标签的基础脚本: ```python COLORS = [(0, 255, 0), (0, 0, 255)] # 定义不同类别的颜色映射表 def draw_boxes(image, boxes): for box in boxes: label = f"{box['class']} {box['confidence']:.2f}" color = COLORS[int(box["class_id"]) % len(COLORS)] top_left = tuple(map(int, box['top_left'])) bottom_right = tuple(map(int, box['bottom_right'])) image = cv2.rectangle(image, top_left, bottom_right, color, thickness=2) image = cv2.putText( image, label, (int(top_left[0]), int(top_left[1]) - 7), fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=0.6, color=color, thickness=2 ) return image ``` 最后一步就是将上述各环节串联起来形成完整的管道线程,并支持实显示或者重新编码回新的 MP4 文件等功能扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

视觉AI

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

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

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

打赏作者

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

抵扣说明:

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

余额充值