位置: 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)

  • 三星手机微信视频怎么开美颜(三星手机微信视频不提醒,必须点开后才收到)

    三星手机微信视频怎么开美颜(三星手机微信视频不提醒,必须点开后才收到)

  • 小天才怎么退出长续航模式(小天才退出睡眠模式)

    小天才怎么退出长续航模式(小天才退出睡眠模式)

  • ios14添加桌面小组件的方法(ios14.2怎么设置桌面小组件)

    ios14添加桌面小组件的方法(ios14.2怎么设置桌面小组件)

  • 爱奇艺没有字幕怎么回事(爱奇艺没有字幕怎么办)

    爱奇艺没有字幕怎么回事(爱奇艺没有字幕怎么办)

  • 修改电脑时间会有痕迹吗(修改电脑时间会影响微信吗)

    修改电脑时间会有痕迹吗(修改电脑时间会影响微信吗)

  • 小米手机位置信息在哪里设置(小米手机位置信号弱怎么办)

    小米手机位置信息在哪里设置(小米手机位置信号弱怎么办)

  • vivo锁定桌面布局(vivoy3锁定桌面布局)

    vivo锁定桌面布局(vivoy3锁定桌面布局)

  • 酷狗音乐可以同时登录几个手机(酷狗音乐能不能同步听歌)

    酷狗音乐可以同时登录几个手机(酷狗音乐能不能同步听歌)

  • 惠普打印机驱动安装时间过长(惠普打印机驱动官网下载)

    惠普打印机驱动安装时间过长(惠普打印机驱动官网下载)

  • win10 正在准备windows 请不要关闭(w10正在准备windows)

    win10 正在准备windows 请不要关闭(w10正在准备windows)

  • 买家号违规多久能健康(买家号违规多久能恢复)

    买家号违规多久能健康(买家号违规多久能恢复)

  • p40pro微信怎么开美颜视频(华为p40 pro微信怎么设置密码)

    p40pro微信怎么开美颜视频(华为p40 pro微信怎么设置密码)

  • 天猫精灵卡顿怎么解决(天猫精灵很卡怎么办)

    天猫精灵卡顿怎么解决(天猫精灵很卡怎么办)

  • 手机自带浏览器打不开怎么办(手机自带浏览器的回收站在哪里)

    手机自带浏览器打不开怎么办(手机自带浏览器的回收站在哪里)

  • 毒上面可以分期付款吗(毒上面分期开通)

    毒上面可以分期付款吗(毒上面分期开通)

  • return返回到哪里if(return返回的用法)

    return返回到哪里if(return返回的用法)

  • vip缓存过期还能看吗(vip缓存后vip过期了还能看吗)

    vip缓存过期还能看吗(vip缓存后vip过期了还能看吗)

  • 华为和苹果怎么互相定位(华为和苹果怎么互传视频)

    华为和苹果怎么互相定位(华为和苹果怎么互传视频)

  • 淘宝店铺背景怎么更改(淘宝店铺背景怎么换)

    淘宝店铺背景怎么更改(淘宝店铺背景怎么换)

  • 怎样给qq音乐设置密码(怎样给qq音乐设置背景图片)

    怎样给qq音乐设置密码(怎样给qq音乐设置背景图片)

  • mt6762相当于骁龙多少(mtkmt6762相当于骁龙多少)

    mt6762相当于骁龙多少(mtkmt6762相当于骁龙多少)

  • iphone11怎么切换主副卡(iPhone11怎么切换壁纸)

    iphone11怎么切换主副卡(iPhone11怎么切换壁纸)

  • iphone8跑分多少正常

    iphone8跑分多少正常

  • qq邮箱如何退出账号(qq邮箱如何退出登录)

    qq邮箱如何退出账号(qq邮箱如何退出登录)

  • qq拔河在哪(qq的拔河彩蛋是真人连线吗)

    qq拔河在哪(qq的拔河彩蛋是真人连线吗)

  • bose无线耳机怎么连接蓝牙(bose无线耳机怎么调节音量)

    bose无线耳机怎么连接蓝牙(bose无线耳机怎么调节音量)

  • QQ实名认证如何解除(QQ实名认证如何注销)

    QQ实名认证如何解除(QQ实名认证如何注销)

  • 监控画面怎么切换位置(监控画面怎么切换电视)

    监控画面怎么切换位置(监控画面怎么切换电视)

  • 增值税专用发票有效期是多长时间
  • 印花税需要每月缴纳吗
  • 公司附加税怎么计算
  • 期末留抵税额是怎么产生的
  • 个人劳务报酬所得税率表
  • 补缴以前年度房产税以及滞纳金
  • 甲供材入账
  • 账户利息怎么做账务处理
  • 小规模纳税人怎么变成一般纳税人
  • 普通发票作废要交税吗
  • 销项税普票
  • 一般纳税人用金蝶新建账套用什么会计制度好
  • 带清单的发票怎么贴原始凭证
  • 做内帐和外账需要多久
  • 海关完税凭证如何抵扣进项税
  • 营改增之前材料含税吗
  • 与成本直接相关的工资怎么会计处理?
  • 公司接待考察团需要准备什么
  • 增值税和实际缴税不符
  • 补偿款开具发票
  • 公司向个人租车协议范本
  • 小规模纳税人贷款利息收入增值税税率
  • 合同银行账户与开票信息不一致会计如何处理
  • 境外取得收入要不要交企业所得税
  • 免征附加税费
  • 微信语音音乐怎么调
  • PHP:oci_statement_type()的用法_Oracle函数
  • php面向对象优点,缺点
  • 个税多缴纳如何低下个月的税
  • 电脑bios错误怎么办
  • php ftell
  • 金银首饰在哪个软件买
  • 存货分类账目录填写样本图片
  • wordpresswiki
  • csinject.exe是什么程序的进程 csinject进程是安全的吗
  • 税务的基本职能
  • linux查看ssh服务开启
  • 损益类科目怎么结转
  • 职工意外保险比例
  • php用在哪些方面
  • 有关商品房质量的投诉,这些年一直
  • php有哪些
  • 原始凭证一般没有
  • 异地托收承付结算金额起点为
  • 企业没有研发费用怎么做账
  • 怎么编制资金平衡表格
  • 股息红利所得为什么按照分配所得的企业所在地确定
  • 企业支付股利属于由( )引起的财务活
  • sql3表连接查询
  • 消费税是指怎样的收入
  • 当月购买固定资产需要计提吗
  • 预付款项属于什么会计要素
  • 实收资本为0可以运作吗?
  • 企业股权融资方式有哪些
  • 固定资产的运输费和包装费计入
  • 划转税务的非税收入包括
  • 飞机票退票费如何开票
  • 个税和社保有什么区别
  • 会计结账一般都是谁做
  • 冲减坏账准备的金额怎么计算
  • 毛利率计算公式
  • mysql子句
  • win8.1关机没反应
  • windows哪个最好用
  • 高端电脑品牌
  • windowsserver2008r2密码重置
  • ubuntu更新软件
  • linux 测试工具
  • win8 设置
  • fedora update-grub
  • unity中mathf
  • opengl基础知识
  • 基于vue的app
  • centos打开shell
  • jquery动画效果代码
  • unity socket udp
  • 个人经营所得定率征收税率表
  • 厦门增值税发票查验
  • 期房交了契税就可以拿房产证了吗
  • 定额发票怎么查流向
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设