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

  • 荣耀50的耳机孔在哪个位置(荣耀50耳机孔是不是给充电口一样的)

    荣耀50的耳机孔在哪个位置(荣耀50耳机孔是不是给充电口一样的)

  • 剪映怎么放大镜头特写(剪映怎么放大镜头跟随)

    剪映怎么放大镜头特写(剪映怎么放大镜头跟随)

  • 如何查看疫苗接种时间(如何查看疫苗接种时间记录)

    如何查看疫苗接种时间(如何查看疫苗接种时间记录)

  • 微信怎样举报让他永久封号 (微信怎样举报让别人封号)

    微信怎样举报让他永久封号 (微信怎样举报让别人封号)

  • iqooz5x怎么关闭自动调节亮度

    iqooz5x怎么关闭自动调节亮度

  • 华为nova5可以用两张电信卡吗(华为nova5可以用66w快充吗)

    华为nova5可以用两张电信卡吗(华为nova5可以用66w快充吗)

  • 华为荣耀v20在哪里插卡(华为荣耀v20在哪设置黑屏下能看到时间)

    华为荣耀v20在哪里插卡(华为荣耀v20在哪设置黑屏下能看到时间)

  • 怎么解除qq短信验证(qq如何取消手机短信验证)

    怎么解除qq短信验证(qq如何取消手机短信验证)

  • 快手明细账单怎么看(快手明细账单怎么查)

    快手明细账单怎么看(快手明细账单怎么查)

  • 阿里巴巴降权多久恢复(阿里巴巴降权多久解除)

    阿里巴巴降权多久恢复(阿里巴巴降权多久解除)

  • 陌陌是个什么样的平台(陌陌是个什么样的交友平台?)

    陌陌是个什么样的平台(陌陌是个什么样的交友平台?)

  • 苹果11qq消息来,为什么没有提示(苹果11qq收到消息没有提示音)

    苹果11qq消息来,为什么没有提示(苹果11qq收到消息没有提示音)

  • 苹果手机有没有秤的功能(苹果手机有没有微信分身)

    苹果手机有没有秤的功能(苹果手机有没有微信分身)

  • 拼多多换货不用申请吗(拼多多换货不用找售后直接退回商家)

    拼多多换货不用申请吗(拼多多换货不用找售后直接退回商家)

  • 定位服务在哪里打开(定位服务在哪里打开苹果)

    定位服务在哪里打开(定位服务在哪里打开苹果)

  • oppo桌面插件怎么添加(oppo桌面插件怎么添加天气)

    oppo桌面插件怎么添加(oppo桌面插件怎么添加天气)

  • 苹果手机可以扩容么(苹果手机可以扩展内存卡吗)

    苹果手机可以扩容么(苹果手机可以扩展内存卡吗)

  • feedback是什么软件(feedback是什么意思中文翻译)

    feedback是什么软件(feedback是什么意思中文翻译)

  • apple教育优惠怎么买(apple教育优惠怎么用)

    apple教育优惠怎么买(apple教育优惠怎么用)

  • 电脑高级模式怎么退出(电脑高级模式怎么退出视频教程)

    电脑高级模式怎么退出(电脑高级模式怎么退出视频教程)

  • iphone xs max屏幕录制在哪(iphonexsmax换屏幕要多少钱)

    iphone xs max屏幕录制在哪(iphonexsmax换屏幕要多少钱)

  • 如何配置无线路由器 无线路由器如何设置为无线AP(如何配置无线路由器参数)

    如何配置无线路由器 无线路由器如何设置为无线AP(如何配置无线路由器参数)

  • 百度文心一言对标 ChatGPT,你怎么看?(百度文心一言对未来商业的影响)

    百度文心一言对标 ChatGPT,你怎么看?(百度文心一言对未来商业的影响)

  • 发票名称开错了但是税号没错怎么办
  • 医疗批发企业增值税税负率大概是多少
  • 政府农民合作社架构
  • 计提企业所得税会计科目
  • 财务软件怎么结转本年利润
  • 发票几个月内可以红冲作废
  • 软件 折旧年限
  • 酒店开办费
  • 企业所得税年度申报
  • 有外经证的计税收入怎么算?
  • 延迟交款收息做什么科目?
  • 小企业营业外收入明细
  • 摊销费用怎么计提
  • 事业单位发生管理费用
  • 原材料采购没正式发票能否入账?
  • 出纳长短款项应按日结清,但不需要计算
  • 设计服务发票怎么入账
  • 定额发票使用年限规定
  • 税盘显示已过开票截止日期
  • 子公司给的股利用交税吗
  • 房地产开发企业需要缴纳哪些税
  • 分支机构年度终了必须由总机构负责合并汇总纳税吗?
  • 无法取得房地产原值怎么缴纳房产税?
  • 工程施工科目月末如何结转
  • 在win7中,为什么打开盘符在新窗口中出现?
  • 劳务派遣发票备注栏要求
  • 企业所得税汇算清缴补缴税款分录
  • 在win7系统中安装win10
  • 固定资产进项发票
  • win11怎么录屏游戏
  • Win10 20H2 LSASS.exe自动重启故障已得到修复
  • 电脑c盘被损坏怎么修复
  • 滞纳金和罚金计入哪个会计科目
  • 个别报表内部交易
  • 土地增值税增值额怎么算
  • mds是什么进程
  • 增值税纳税筹划案例最新
  • wrme.exe是什么
  • 购买材料发票未到如何做账
  • 应交消费税涉及哪些情况
  • 支付给个人的劳务报酬代扣个税
  • 退回以前年度多交的附加税怎么做分录
  • ChatGPT 中文调教指南。各种场景使用指南。学习怎么让它听你的话
  • linux进程状态有哪些
  • ntpd命令
  • 时间格式转换成小时数
  • 委托开发软件的版权归委托人所有
  • 不是企业职工能否挂靠企业交社保
  • 滴滴出行发票税率是多少
  • 企业发生的咨询费应计入哪个科目
  • python struct库
  • 个税代扣代缴需要什么
  • 股东转让股权公司需要审查
  • 财务报表漏报了会影响领票吗
  • 公司股东就是董事吗
  • 提取备用金如何填写现金日记账
  • 养老保险和工伤失业保险不在一个时间
  • 新建厂房的费用怎么算
  • 民办非企业的申请流程
  • 金税盘缴销发票
  • 在sql server中使用对象资源管理器和SQL
  • windows installation disc
  • 清华同方笔记本无线网络开关在哪
  • windows+ctrl+m
  • win7显示网上邻居图标
  • netsurf.exe - netsurf是什么进程 有什么用
  • win8如何使用word
  • linux命令光标移动到末尾
  • javascript编程技术
  • js中鼠标经过事件
  • jquery选择器的使用
  • python爬取某人所有朋友圈
  • github常用操作
  • javascript高级程序设计最新版
  • 命令最常用的类型有
  • jquery 动态添加元素
  • 河南商丘医疗保险在微信上怎么交
  • 自然人扣缴端重置密码操作流程
  • 生产税净额包含企业所得税吗
  • 房契税发票丢了能补办吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设