位置: IT常识 - 正文

【计算机视觉】目标检测—yolov5自定义模型的训练以及加载(计算机视觉就业前景)

编辑:rootadmin
【计算机视觉】目标检测—yolov5自定义模型的训练以及加载 1.摘要

推荐整理分享【计算机视觉】目标检测—yolov5自定义模型的训练以及加载(计算机视觉就业前景),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:计算机视觉就业前景,计算机视觉的未来发展方向有哪些,计算机视觉技术的应用,计算机视觉技术,计算机视觉的未来发展方向有哪些,计算机视觉就业前景,计算机视觉技术,计算机视觉技术的应用,内容如对您有帮助,希望把文章链接给更多的朋友!

目标检测是计算机视觉主要应用方向之一。目标检测通常包括两方面的工作,首先是招到目标,然后就是识别目标。目标检测可以分为单物体检测和多物体检测。常用的目标检测方法分为两大流派:一步走(one_stage)算法:直接对输入的图像应用算法并输出类别和相应的定位,典型的算法有yolo,ssd;两步走(two_stage)算法:先产生候选区域,然后在进行CNN分类,代表的算法有R-CNN。 本文重点讲述yolov5如何应用在实际项目中,主要包括两大部分,第一部分:如何使用yolov5训练自定义模型;第二部分:选练好自己的模型,如何加载并解读模型。

2.yolov5训练自定义模型【计算机视觉】目标检测—yolov5自定义模型的训练以及加载(计算机视觉就业前景)

首先,去yolov5官网(https://github.com/ultralytics/yolov5)进行下载官方文件,也可以通过克隆地址(git clone https://github.com/ultralytics/yolov5.git)进行获取,并且下载预训练权重文件,放到yolov5文件下。结果如图: 下载好所有的文件后,接下来,我们需要进行配置环境,yolov5要求python>=3.7,pytorch>=1.7,我们可以通过 pip3 install -r requirements.txt进行其他安装包的安装,完成这些安装后,我们可以通过运行yolov5底下的detect.py文件来查看,环境是否配置成功。如果成功,则可以对data/image下的图片文件完成检测。原始模型可以识别80类目标,如下: 通过以上,我们可以检测预训练模型里面的目标,比如:球,人,大巴车等等,那该如何训练我们自己的数据集呢?通过labelImg将图片标注好,标签格式为yolo格式标签。将标注好的数据放在datasets/dataset_new/images,标签放在datasets/dataset_new/labels,各自底下分别有train,test,val三个文件。image格式为jpg格式,labels为文本文档。 一个图一个txt标注文件,每行一个物体,每行数据格式:类别id、x_center y_center width height,xywh必须归一化(0-1),其中x_center、width除以图片宽度,y_center、height除以画面高度,类别id必须从0开始计数。如下图所示。 准备好datasets文件后,将yolov5同级目录。YOLO会自动将…/datasets/dataset_new/images/train/1.jpg中的/images/替换成/labels/以寻找它的标签,如…/datasets/dataset_new/labels/train/1.txt。 准备好数据集后,将yolov5/data/coco128.yaml复制一份,重新命名为coco_1.yaml,并修改里面的文件路径和类别名称、数目。 复制models下对应模型的yaml文件,重命名,并修改nc值。 数据准备完成,模型需要修改的参数也完成了修改,接下里我们可以进行训练了train.py。 我们可以对trian.py里面的参数(如下图)按照自己的想法进行修改,也可以选择默认值。 训练需要一些时间,训练完成后,将得到我们需要的pt文件。下一步我们将加载与解读我们的模型。

3.模型的加载与解读

使用torch.hub.load()加载我们训练好的模型,如下,通过torch.hub.load进行加载模型,将图片导入,得到的results。可以通过results.pandas().xyxy[0]解读,结果是个张量,前四列为目标框的左上角和右下角,confidence为置信度,class为类别编号,name为类别名称。

import torch# Modelmodel = torch.hub.load('ultralytics/yolov5', 'yolov5s')# Imageim = 'https://www.yuucn.com/wp-content/uploads/2023/04/1681889905-fc0dd6fac1776eb.jpg'# Inferenceresults = model(im)results.pandas().xyxy[0]# xmin ymin xmax ymax confidence class name# 0 749.50 43.50 1148.0 704.5 0.874023 0 person# 1 433.50 433.50 517.5 714.5 0.687988 27 tie# 2 114.75 195.75 1095.0 708.0 0.624512 0 person# 3 986.00 304.00 1028.0 420.0 0.286865 27 tie

下面,是我加载自己训练模型的演示结果:

import cv2import torchimport timeimport numpy as npmodel = torch.hub.load('./yolov5', 'custom', path='./weights/yolov5n_1.pt',source='local')model.conf = 0.4cap = cv2.VideoCapture(0)fps_time = time.time()while True: ret,frame = cap.read() frame = cv2.flip(frame,1) img_cvt = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB) results = model(img_cvt) # print(results.pandas().xyxy[0].to_numpy())# tensor-to-numpy results_ = results.pandas().xyxy[0].to_numpy() i = 0 for box in results_: l,t,r,b = box[:4].astype('int') confidence = str(round(box[4]*100,2))+"%" cls_name = box[6] if cls_name == "person": i += 1 cv2.rectangle(frame,(l,t),(r,b),(0,255,0),2) cv2.putText(frame,cls_name + "-" + confidence,(l,t),cv2.FONT_ITALIC,1,(255,0,0),2) cv2.putText(frame, "person:"+str(i), (10, 20), cv2.FONT_ITALIC, 1, (0, 0, 0), 2) now = time.time() fps_txt = 1/(now - fps_time) fps_time = now cv2.putText(frame,str(round(fps_txt,2)),(50,50),cv2.FONT_ITALIC,1,(0,255,0),2) cv2.imshow("result",frame) if cv2.waitKey(10) & 0xFF == ord("q"): breakcap.release()cv2.destroyAllWindows()

本篇主要给大家讲解如何使用yolov5端到端这个模型,希望对大家有多帮助。有疑问,可以进行交流。

本文链接地址:https://www.jiuchutong.com/zhishi/283630.html 转载请保留说明!

上一篇:1050ti能玩绝地求生吗,1050ti绝地求生评测(1050ti能玩绝地求生吗)

下一篇:【Vant4】Vant4 样式不显示问题 && Toast 轻提示不显示 && Notify 消息提示不显示(vant3.0)

  • 苹果ipad的截屏功能是在哪里呢(苹果iPad的截屏快捷键在哪里设置)

    苹果ipad的截屏功能是在哪里呢(苹果iPad的截屏快捷键在哪里设置)

  • 三星note10+5g怎么截屏(三星note10+5g怎么开启5G网络设置)

    三星note10+5g怎么截屏(三星note10+5g怎么开启5G网络设置)

  • 淘宝补差价链接怎么弄(淘宝补差价链接选什么类目)

    淘宝补差价链接怎么弄(淘宝补差价链接选什么类目)

  • 苹果6p扫二维码特别慢(iphone6s扫描二维码)

    苹果6p扫二维码特别慢(iphone6s扫描二维码)

  • 硬盘内存一般多大(硬盘内存多少够用)

    硬盘内存一般多大(硬盘内存多少够用)

  • 附近的人发送成功却没回应(附近的人发送成功别人收不到)

    附近的人发送成功却没回应(附近的人发送成功别人收不到)

  • hdi板与普通pcb的区别(hdi板是用在什么上的)

    hdi板与普通pcb的区别(hdi板是用在什么上的)

  • 小米4nfc怎么开机(小米4nfc功能是什么意思)

    小米4nfc怎么开机(小米4nfc功能是什么意思)

  • 手机剪贴板在哪里清除(手机剪贴板在哪里打开)

    手机剪贴板在哪里清除(手机剪贴板在哪里打开)

  • 淘宝apass会员是什么(淘宝appss会员)

    淘宝apass会员是什么(淘宝appss会员)

  • b站下载的音频怎么导入本地(b站下载的音频是什么格式)

    b站下载的音频怎么导入本地(b站下载的音频是什么格式)

  • 怎么看自己的闲鱼id(怎么看自己的闲鱼信用等级)

    怎么看自己的闲鱼id(怎么看自己的闲鱼信用等级)

  • 安检x光对手机有影响吗(安检x光机对手机有影响吗)

    安检x光对手机有影响吗(安检x光机对手机有影响吗)

  • 笔记本合上后无法唤醒(笔记本合上无法待机)

    笔记本合上后无法唤醒(笔记本合上无法待机)

  • qq怎么看好友直播(如何看好友的qq直播)

    qq怎么看好友直播(如何看好友的qq直播)

  • 魅族pop耳机固件升级(魅族耳机pop1)

    魅族pop耳机固件升级(魅族耳机pop1)

  • win10任务栏最近列表关闭教程(win10任务栏不显示最近)

    win10任务栏最近列表关闭教程(win10任务栏不显示最近)

  • MAC软件打开提示:已损坏,打不开 您应该将它移到废纸娄的解决方法(mac软件打开提示意外退出)

    MAC软件打开提示:已损坏,打不开 您应该将它移到废纸娄的解决方法(mac软件打开提示意外退出)

  • 圣伊莱亚斯国家公园中的铜河三角洲,阿拉斯加 (© Frans Lanting/plainpicture)(圣伊利亚斯山)

    圣伊莱亚斯国家公园中的铜河三角洲,阿拉斯加 (© Frans Lanting/plainpicture)(圣伊利亚斯山)

  • 【数据挖掘实战】——家用电器用户行为分析及事件识别(BP神经网络)(数据挖掘技术介绍)

    【数据挖掘实战】——家用电器用户行为分析及事件识别(BP神经网络)(数据挖掘技术介绍)

  • 织梦CMS升级后出现 ?/a>或?/h3>导致网页错乱的解决方法(织梦cms要钱吗)

    织梦CMS升级后出现 ?/a>或?/h3>导致网页错乱的解决方法(织梦cms要钱吗)

  • 管理费用结转本年利润,账簿怎么登
  • 其他债权投资是资产还是负债
  • 旅游业差额开票怎么做账
  • 地税补缴社保
  • 有进项发票还用交税
  • 收款凭证填写模板下载
  • 非货币性资产投资印花税
  • 期末账项调整的类型
  • 库存商品检验合格标准
  • 电子产品发票税是多少
  • 出口退税代理费用大概多少
  • 小规模季度超过30万,普票咋交税
  • 车辆购置税计税价格含增值税吗
  • 新个税申报身份怎么填
  • 茶具可以作为固定资产吗
  • 公司给供电局转账违法吗
  • 餐饮业租赁要求
  • 职工赔偿金的账务处理
  • 苹果键盘快捷键怎么用
  • 主管会计的具体工作
  • 评估增值资产如何记账
  • 计提五险一金的分录怎么写
  • 固定资产计提折旧的原则
  • linux怎么打开makefile
  • 无偿赠送增值税问题
  • PHP:mcrypt_generic_deinit()的用法_Mcrypt函数
  • 坎塔布莱恩
  • 阿里前端做什么
  • 为公司垫付费用,怎么要回
  • 装饰工程开票项目
  • 车船税发票丢失
  • 基于个人同意处理个人信息的个人什么撤回其同意
  • 如何在idea中创建xml
  • php如何实现重载
  • 退回税款如何做账
  • 固定资产清理的金额怎么算
  • 物业公司属于生活性服务业吗
  • 织梦怎么调用当前栏目下的文章
  • 小规模企业没有进项票能开发票吗
  • 分期收款开发票
  • 企业不需要交残保金吗
  • 农产品委托代销增值税怎么算
  • 交易性金融资产属于流动资产
  • 账上存货太多实收怎么办
  • 企业实收资本的用途
  • 坏账准备的账务处理怎么理解
  • 固定资产需要具备的条件
  • 凭证填制的标准要求
  • 简述账套管理的主要内容
  • 高效的sql语句
  • sql语句 字符串
  • windows server特点
  • windows8禁用uac
  • 黑苹果驱动说明
  • freebsd 升级
  • 微软为什么放弃win10
  • win7系统换桌面
  • mac os10.11
  • linux软件安装在哪个文件夹
  • 怎么创建关机快手号
  • window八
  • WIN10怎么彻底删除works2
  • win7鼠标右键菜单不显示
  • nodejs函数返回值
  • 中国现在很多网站
  • celery使用
  • Android带有注册界面的简单app
  • python保存文件到指定文件夹
  • js动态创建script标签
  • 新浪微博手机客户端下载
  • js 比较
  • 源码搜索
  • JS与jQ读取xml文件的方法
  • 山西省国家税务局王旭斌局长
  • 新疆干部在线网络平台登录
  • 税务执法审批表审批部门
  • 西安车辆购置税在线交费
  • 新加坡关税壁垒
  • 减免税备案登记表样本
  • 全年个人一次性奖金单独计税优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设