物体检测目标追踪

项目介绍

本项目为基于猪场视频监控门户系统的计算机视觉应用场景项目,主要包括育肥猪舍的目标检测和赶猪通道的目标追踪两部分。

目标检测

目标检测的主要逻辑思路如下图所示:
在这里插入图片描述
在这里插入图片描述

安装环境依赖

本人环境声明:
系统环境:Windows 10
cuda 版本:11.1
cudnn版本:8.6
torch版本:1.9.1
torchvision版本:0.10.1
项目代码yolov5,官网,主要参考使用的是6.1版本。

数据标注及转化(建立自己的训练数据集)

数据标注

标注工具中,使用性较多的是labelme或labelmg,考虑到笔者标注对象为生猪,需标注不规则区域,在考虑标注时效后笔者采用了百度智能云进行原始图片的标注。百度智能云提供了在线标注和智能标注两种方式,当标签标注量大于10时便可开启智能标注。项目中主要标注生猪(pig)和料槽(trough)两个目标类,需要注意的是,鉴于实际图片角度限制,在标注中舍弃了部分被栏位遮挡较严重的猪只。
在这里插入图片描述
在这里插入图片描述

数据转化

由于百度智能云标注好的数据和yolov5数据集格式有区别,需要进行转化,这里借用百度智能云训练 转化成训练需要的格式。如下图所示datasets文件夹里分别新建test、train、valid三个文件夹,每个文件夹里都要有labels和images文件夹。确保labels和images里文件名称的一一对应。也可以分别建立train、test和valid三个文件夹,但需要注意的是,需要和克隆下来的yolov5模型代码在同一个目录下面。
在这里插入图片描述

模型训练

自定义自己的数据集为coco数据格式后,接下来就是选择预训练模型并对配置文件进行修改了。

选择模型(下载预训练模型)

可在源码github仓中直接进行下载,常见的有yolov5s.pt、yolov5l.pt,yolov5x.pt。

配置文件修改

在data文件下新建一个自己的yaml配置文件,主要对训练测试数据的路径以及自定义数据的类别和名称进行定义设置。
在这里插入图片描述
同时,对于yolov5s.yaml 文件复制一份,修改nc为自己数据集的种类个数,我这里是新建了pig_detection.yaml
在这里插入图片描述

训练

在train.py文件下,主要对weights,cfg,data按照自己所需文件的路径修改即可,
epochs迭代次数自己决定,
batch-size过高可能会影响电脑运行速度。
可以在画框这里进行设置,比如 --weights yolov5s.pt --cfg model/pig_detection.yaml --data data/data.yaml --epochs 300 --batch-size 16 ,然后直接运行train.py即可。
在这里插入图片描述

推理

训练好后会形成两个模型,best.pt:保存的是中间一共比较好模型;last.pt:训练结束后保存的最后模型。
同理方式,运行detector.py 进行新的数据推理。

云端部署

将训练好后的模型文件放在Serving_model里的commodity 的1文件夹里,然后运行server_new.py/server.py文件即可。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值