目标检测——使用yolov6进行视频推理

本文介绍了如何在YOLOv6框架下,通过修改源码将原本用于图片推理的功能扩展到视频推理。主要涉及对`inferer.py`文件的改动,包括创建`infer_video`和`process_video`两个新函数,以实现对视频帧的处理和目标检测。
摘要由CSDN通过智能技术生成

yolov6源码里自带了图片的推理,推理完成后结果图片保存再runs/inference文件夹下;

但当我们想对视频进行推理的时候不是很方便,但v6里面封装了对图片的推理函数,我们只需要稍微改一下即可。

默认的图片推理代码如下:

    inferer = Inferer(source, weights, device, yaml, img_size, half)
    inferer.infer(conf_thres, iou_thres, classes, agnostic_nms, max_det, save_dir, save_txt, save_img, hide_labels, hide_conf)

我们只需要基于图片的infer代码,修改出一个infer_video接口即可:

找到inferer.py,定义两个新函数,其实就是复制infer和process_image函数并略微修改

1. infer_video

    def infer_video(self, cap, conf_thres, iou_thres, classes, agnostic_nms, max_det, save_dir, save_txt, save_img, hide_labels, hide_conf):
        cv2.namedWindow("test", cv2.WINDOW_NORMAL)
        while True:
            r, frame = cap.read()
            if not r:
                break
            else:
                img, img_src = self.precess_video(frame, self.img_size, self.stride, sel
基于yolov5的烟火检测可以分为两个主要步骤:模型训练和C++实现部署。 首先是模型训练。我们需要收集包含烟火的图像数据集,并进行数据标注,即标记图像中的烟火目标。接着,在yolov5的基础上进行一些调整和优化,以适应烟火检测任务。然后,使用标注好的数据集进行模型训练,通过迭代优化模型的权重和参数,使其具备较高的烟火检测精度。可以使用GPU来加速模型训练过程。最后,通过评估指标如mAP(平均精度均值)等来评估模型的性能。 其次是C++实现部署。在完成模型训练后,我们需要将其部署到实际环境中进行使用。首先,将模型保存为.onnx或.torchscript格式,以便于在C++中加载和使用。然后,使用C++编程语言,利用相应的深度学习框架(如OpenCV、TensorRT等)进行模型加载和推理。通过读取输入图像数据,将其输入到模型中进行烟火检测,获取检测结果。最后,根据实际需求,可以将检测结果进行可视化展示、保存或者与其他业务系统进行集成。 总之,基于yolov5的烟火检测涉及模型训练和C++实现部署两个主要步骤。模型训练需要进行数据收集、标注和调优,以及模型训练和性能评估;C++实现部署需要将模型保存,并利用C++编程语言和深度学习框架进行模型加载、推理和结果处理。这样可以实现高效准确的烟火检测功能。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值