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

  • 淘宝店铺软文推广需要注意的六点(淘宝店铺软文推广有用吗)

    淘宝店铺软文推广需要注意的六点(淘宝店铺软文推广有用吗)

  • 电脑怎么打包压缩wps文件(电脑怎么打包压缩文件发到微信里)

    电脑怎么打包压缩wps文件(电脑怎么打包压缩文件发到微信里)

  • 华为手机相机长曝光在哪(华为手机相机长曝光怎么设置)

    华为手机相机长曝光在哪(华为手机相机长曝光怎么设置)

  • 设置虚拟内存对电脑有什么危害(设置虚拟内存对于游戏有提升吗)

    设置虚拟内存对电脑有什么危害(设置虚拟内存对于游戏有提升吗)

  • 苹果6不支持无线更新12(苹果6不支持无线更新系统)

    苹果6不支持无线更新12(苹果6不支持无线更新系统)

  • iphone型号含义(iphone型号意思)

    iphone型号含义(iphone型号意思)

  • 防窥膜原理(防窥膜原理是)

    防窥膜原理(防窥膜原理是)

  • 滴滴出行打不开怎么回事(滴滴出行打不开显示网络异常是什么意思)

    滴滴出行打不开怎么回事(滴滴出行打不开显示网络异常是什么意思)

  • 科学计算应用领域有哪些(科学计算应用领域有哪些例子)

    科学计算应用领域有哪些(科学计算应用领域有哪些例子)

  • iphonexsmax长宽高多少cm(iphonexsmax的长宽高)

    iphonexsmax长宽高多少cm(iphonexsmax的长宽高)

  • iwatch怎么开机(redmiwatch怎么开机)

    iwatch怎么开机(redmiwatch怎么开机)

  • 手机进水后干了充电慢(手机进水后干了充不进去电)

    手机进水后干了充电慢(手机进水后干了充不进去电)

  • 京东18会员日一般几天(京东会员买一得18)

    京东18会员日一般几天(京东会员买一得18)

  • word艺术效果怎么设置(word文档艺术效果在哪)

    word艺术效果怎么设置(word文档艺术效果在哪)

  • 陌陌如何从酷狗分享歌曲(陌陌如何从酷狗解绑)

    陌陌如何从酷狗分享歌曲(陌陌如何从酷狗解绑)

  • 微处理器主要包括(微处理器主要包括哪些部分)

    微处理器主要包括(微处理器主要包括哪些部分)

  • 手机怎么抢票(手机怎么抢票最快)

    手机怎么抢票(手机怎么抢票最快)

  • oppoa11x怎么更改系统时间(oppo手机怎么更改密码方式)

    oppoa11x怎么更改系统时间(oppo手机怎么更改密码方式)

  • 苹果手机更新一半卡住(苹果手机更新一般需要多久)

    苹果手机更新一半卡住(苹果手机更新一般需要多久)

  • 苹果8呼吸灯怎么设置(苹果呼吸灯怎么设置颜色)

    苹果8呼吸灯怎么设置(苹果呼吸灯怎么设置颜色)

  • 小米cc9怎么关机重启(小米cc9关机后还耗电)

    小米cc9怎么关机重启(小米cc9关机后还耗电)

  • 微信群被停用多久解封(微信群停用多久能恢复)

    微信群被停用多久解封(微信群停用多久能恢复)

  • 天猫小黑盒是干什么的(天猫小黑盒谁出钱)

    天猫小黑盒是干什么的(天猫小黑盒谁出钱)

  • 怎么设置苹果手机的小圆点(怎么设置苹果手机ID)

    怎么设置苹果手机的小圆点(怎么设置苹果手机ID)

  • 短信回收站在哪(苹果手机短信回收站在哪)

    短信回收站在哪(苹果手机短信回收站在哪)

  • 网口灯不亮(电脑主机网口灯不亮)

    网口灯不亮(电脑主机网口灯不亮)

  • day01-Tomcat框架分析(tomcat结构图)

    day01-Tomcat框架分析(tomcat结构图)

  • 进项税额转出会影响利润吗
  • 增值税开票软件口令锁定怎么办
  • 代缴税费
  • 现在的统计证还用年检吗
  • 没有支付运费会怎样
  • 职工罚款收入计入什么科目
  • 专利在审可以入库吗
  • 居民个人根据各项所得的收入 公益捐赠
  • 建筑工程勘察费占设计费的比例
  • 进项税转出申报表能填负数吗
  • 金税盘维护费减免政策代码
  • 应交增值税减免税额
  • 工程收到收据没有发票的会计分录怎么做?
  • 预收账款在什么科目核算
  • 个人应纳税所得额 税率
  • 异地承包工程预缴什么税?
  • 减免所得税怎么算税率
  • 前期差错更正中所得税的会计处理
  • 一般纳税人是什么等级
  • 工程结算收入要交税吗
  • 小规模纳税人开了3%的专票还能享受1%
  • 去年盈利今年亏损怎么表达
  • 不动产测绘费谁交
  • 合并企业的增值税税率
  • 增值税税率调整时间16变13
  • 以前年度损益调整在利润表中怎么填
  • 一人独资公司设立的条件
  • 审计查出假发票怎么补救
  • 哪些费用可以税前扣除
  • 税务局开的专票可以抵扣吗
  • 营改增步骤
  • 税负率的计算方法公式
  • 结转本月各项损益
  • 单位公积金对账单
  • 清算中无法偿还的债务
  • win7系统不可用怎么办
  • 无形资产计价原则正确的是
  • 委托加工物资如何转入生产成本
  • 企业注销清算流程
  • 为什么结转各项支出时本年利润在借方
  • mvc与mvvm
  • css中设置字体样式
  • 《网络安全从入门到精通》
  • 解压.xz文件命令
  • runas命令详解
  • python opencv如何获取图片尺寸
  • 预缴增值税需要预缴城建税吗
  • 公司名下商品房过户给公司需要交过户费
  • 配置windows update
  • 公司分红的会计分录
  • 织梦官方网站
  • 坏账核销会计处理
  • 公司滞纳金员工承担怎么做账
  • MySQL数据库远程登录
  • 银行代付工资如何操作
  • 未分配利润科目余额在借方还是贷方
  • 民非企业怎么给员工交五险
  • 个税和社保有什么区别
  • 业务收入和营业收入关系
  • 记账凭证的基本要素包括哪些
  • 安装sql server 2008硬件要求
  • 松散索引和紧凑索引
  • c#如何使用数据库
  • 445端口 关闭
  • macbook如何安装windows
  • hkcmd是什么进程
  • windows7可以打开多个窗口
  • linux安装pip2
  • perl入门
  • 一个简单的群规内容
  • Unity3D游戏开发标准教程
  • shell编程之循环语句for与while
  • 批处理截取字符串
  • python爬取app数据违法吗
  • nodejs 导出excel
  • Android SQLite, KopDB 框架学习1——使用
  • 深入JavaScript高级语法
  • 财税刘毅
  • 地税怎么查个人所得税
  • 增+6=多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设