位置: IT常识 - 正文

【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测

编辑:rootadmin
【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测

推荐整理分享【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

随着社会和经济的持续发展,电力系统的投资与建设也日益加速。在电力系统中,输电线路作为电能传输的载体,是最为关键的环节之一。而绝缘子作为输电环节中的重要设备,在支撑固定导线,保障绝缘距离的方面有着重要作用。大多数高压输电线路主要架设在非城市内地区,绝缘子在输电线路中由于数量众多、跨区分布,且长期暴露在空气中,受恶劣自然环境的影响,十分容易发生故障。随着大量输电工程的快速建设,传统依靠人工巡检的模式,已经越来越难以适应高质量运维的要求。随着国网公司智能化要求的提升,无人机技术的快速应用,采取无人机智能化巡视,能够大幅度减少运维人员及时间,提升质量,因此得到快速发展。

深度学习技术的大量应用,计算机运算性能的不断提高,为无人机准确识别和定位绝缘子,实时跟踪拍摄开辟了新的解决途径。本文对输电线路中绝缘子进行识别及定位,利用深度学习技术采取基于YOLOv5 算法的目标检测手段,结合绝缘子数据集的特点,对无人机拍摄图片进行训练,实现对绝缘子精准识别和定位,大幅提升无人机巡检时对绝缘子设备准确跟踪、判定的效率,具有十分重要的应用效果。

废话不多说,咱们先看两张实际效果。

注意事项尽量使用英文路径,避免中文路径,中文路径可能会导致代码安装错误和图片读取错误。pycharm运行代码一定要注意左下角是否在虚拟环境中。库的版本很重要,使用本教程提供的代码将会事半功倍

遇到解决不了的问题可以通过私信(QQ:3045834499)联系我,粉丝儿朋友远程调试该项目(包含数据集和训练好的三组模型)仅需99个圆子。

前期准备

项目下载地址: YOLOV5电线绝缘子缺陷检测数据集+代码+模型+教学视频+参考论文资源-CSDN文库

电脑设置

大部分小伙伴使用的电脑一般都是windows系统,在windows系统下跑代码,难免会遇到各种各样的bug,首先是编码问题,为了防止代码在运行过程中,出现编码错误,我们首先要将我们电脑的语言设置为utf-8格式,具体如下。首先在搜索框搜索语言,点击这里。

找到管理语言设置。

勾选utf-8即可。

另外有的电脑初始设置的时候内存是由电脑自行分配的,很可能在运行训练代码的时候出现显存溢出的情况,为了防止该情况的出现,我们需要在高级系统设置中对虚拟内存进行设置,如下。

首先打开高级系统设置,点开性能中的设置。

在高级中找到虚拟内存的设置。

以d盘为例,这里我们将虚拟内存设置在4G到8G之间,其余操作一样。

其他盘也设置完成之后,点击确定之后按照电脑提示重启即可。

相关软件安装

Nvidia驱动安装(可选)

首先是驱动的安装,这个小节主要是针对电脑带有Nvidia显卡的小伙伴,如果你的电脑没有Nvidia显卡,你直接跳过就可以了,你可以通过右下方的任务栏判断是是否具有这个显卡,如果是笔者这里的绿色小眼睛图标,说明你是具有Nvidia显卡的。

驱动下载的地址为:官方驱动 | NVIDIA

注意请按照你电脑具体的型号来选择驱动文件,不清楚的可以通过设备管理器来查看你显卡的具体型号。

下载exe文件之后,直接下一步下一步按照默认安装就好,注意这里最好按照默认目录安装,否则可能导致安装失败的情况如下,安装完毕之后重启电脑,在命令行中输入nvidia-smi,如果正常输出显卡的信息说明显卡驱动安装已经成功。

另外,这里多叭叭两句。

很多的远古教程会教你去安装cuda和cudnn,这个过程非常麻烦,并且需要你注册nvidia的账户,由于众所周知的原因,账户注册就很繁琐。其实,在新版本的驱动安装中,就已经自带最新版本的cuda,比如我上图所示的在笔者驱动安装完毕之后已经自带了12.0的cuda,cuda这个东西是向下兼容的,后续的cudnn那些我们直接通过anaconda来安装就可以了,这样真的省心很多。

Anaconda安装

conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。我强烈推荐你使用他,他的作用类似于java中的maven和我们平时使用的虚拟机,他能够保证的项目之间互相是隔离的。举个简单的例子,如果你同时有两个项目,你一个使用的pytorch1.8,一个用的是pytorch1.10,这样一个环境肯定就不够了,这个时候anaconda就派上大用场了,他可以创建两个环境,各用各的,互不影响。

Anaconda有完全版本和Miniconda,其中完整版太臃肿了,我这边推荐使用miniconda,下载地址在:Index of /anaconda/miniconda/ | 北京外国语大学开源软件镜像站 | BFSU Open Source Mirror

下滑到最下方,点击这个版本的下载即可。

同样的,下载之后安装即可,注意不要安装在C盘!!!,另外,添加到系统路径这个选项也请务必选上,后面使用起来会带来很多便捷,并且这里的安装位置请你一定要记得,后面我们在Pycharm中将会使用到。

Pycharm安装

OK,Anaconda安装完成之后,我们还需要一个编辑器来写代码,这里推荐大家使用Pycharm,Pycharm有专业版和社区版,社区版是免费的,专业版如果你有教育邮箱的话也可以通过教育邮箱注册账户来使用,但是社区版的功能已经够绝大多数小伙伴来用了,Pycharm的下载地址在:Download PyCharm: Python IDE for Professional Developers by JetBrains

注意也是安装的时候不要安装在c盘,并且安装过程中这些可选的选项要勾上。

完成之后,比如我们用pycharm打开一个项目,在新版本的下方会出现命令行无法使用的情况。请使用管理员模型打开powershell。

然后执行执行指令set-ExecutionPolicy RemoteSigned,输入Y然后enter完成即可。

另外,在Pycharm的右下方是表示的是你所处的虚拟环境,这里先简单说下在pycharm中如何使用anaconda中创建的虚拟环境。

【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测

点击ok之后,右下角出现你的虚拟环境名称就表示成功了。

以上这些步骤完成之后,恭喜你,差不多一半的工作就完事了,剩下无非就是根据不同的项目来配置环境和执行代码了。

嗷,对这里我们也说一下,如何在Pycharm中选Anaconda的虚拟环境。

环境配置

OK,来到关键环境配置的部分,首先大家下载代码之后会得到一个压缩包,在当前文件夹解压之后,进入CMD开始我们的环境配置环节。

为了加快后期第三方库的安装速度,我们这里需要添加几个国内的源进来,直接复制粘贴下面的这些指令到你的命令行即可。

conda config --remove-key channelsconda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/conda config --set show_channel_urls yespip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

执行完毕大概是下面这个样子,后面你就可以飞速下载这些库了。

创建虚拟环境

首先,我们需要根据我们的项目来创建一个虚拟环境,通过下面的指令创建并激活虚拟环境。

我们创建一个Python版本为3.8.5,环境名称为yolo的虚拟环境。

conda create -n yolo python==3.8.5conda activate yolo

切记!这里一定要激活你的虚拟环境,否则后续你的库会安装在基础环境中,前面的小括号表示你处于的虚拟环境。

Pytorch安装

注意Pyotorch和其他库不太一样,Pytorch的安装涉及到conda和cudnn,一般而言,对于30系的显卡,我们的cuda不能小于11,对于10和20系的显卡,一般使用的是cuda10.2。下面给出了30系显卡、30系以下显卡和cpu的安装指令,请大家根据自己的电脑配置自行下载。笔者这里是3060的显卡,所以执行的是第一条指令。

conda install pytorch==1.10.0 torchvision torchaudio cudatoolkit=11.3 # 30系列以上显卡gpu版本pytorch安装指令conda install pytorch==1.8.0 torchvision torchaudio cudatoolkit=10.2 # 10系和20系以及mx系列的执行这条conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly # CPU的小伙伴直接执行这条命令即可

安装之后,可以和笔者一样,输入下面的指令测试以下gpu是否可用,如果输出的是true表示GPU是可用的。

其余库安装

其余库的安装就非常简单了,我们通过pip来进行安装,注意这里一定要确保你执行的目录下有requirements.txt这个文件,否则你将会遇到文件找不到的bug,你可以通过dir指令来查看是否有这个文件。

pip install -r requirements.txt

Pycharm中运行

一是为了查看代码方便,二是为了运行方便,这里我们使用Pycharm打开项目,点击这里右键文件夹直接打开项目即可非常方便。

打开之后你将会看到这样的一个界面,其中左侧是文件浏览器,中间是编辑器,下方是一些工具,右下角是你所处的虚拟环境 。

之后,我们就需要为当前的项目选择虚拟环境了,这一步非常重要,有的兄弟配置好了没选环境,你将会遇到一堆奇怪的bug,选环境的步骤如下。

首先点击,添加解释器。

三步走选择我们刚才创建的虚拟环境,点击ok。

之后你可以你可以右键执行main_window.py这个文件,出现下面的画面说明你就成功了。

数据集准备

数据集这里我放在了CSDN中,大家可以执行标注准备数据集,或者使用这里我处理好的数据集,数据集下载之后放在和代码目录同级的data目录下。

数据集打开之后你将会看到两个文件夹,images目录存放图片文件,labels目录存放标签文件。

之后记住你这里的数据集路径,在后面的训练中我们将会使用到,比如笔者这里的F:\new_project\sfid\data\target_sfid。

训练和测试

注:这里你可以选择去自己尝试以下,笔者在runs的train目录下已经放了训练好的模型,你是可以直接使用。

下面就是训练的过程,笔者这里已经将数据集和模型的配置文件写好了,你只需要将数据集中的数据路径替换成你的路径,执行go_train.py即可开始训练了。

执行go_train.py文件中,包含三条指令,分别表示yolov5中small模型、medium模型和large模型,比如我这里要训练s模型,我就将其他两个模型训练的指令注释掉就好了。

运行之后,下方会输出运行的信息,这里的红色只是日志信息,不是报错,大家不要惊慌。

以笔者这里的s模型为例,详细含义如下。

图形化程序

最后就是执行我们的图形化界面程序了。

直接右键执行window_main.py执行即可,这里上两章效果图。

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

上一篇:axios上传文件错误:Current request is not a multipart request(axios提交文件)

下一篇:vite + vue + ts 自动按需导入 Element Plus组件,并如何解决按需引入后ElMessage与ElLoading 的问题(找不到名称“ElMessage”问题。)

  • 尼康s200多少钱(尼康s200)(尼康s2700价格)

    尼康s200多少钱(尼康s200)(尼康s2700价格)

  • 荣耀x10的处理器是什么(荣耀x10处理器相当于骁龙多少)

    荣耀x10的处理器是什么(荣耀x10处理器相当于骁龙多少)

  • 斗鱼收藏的帖子在哪(斗鱼怎么看收藏的帖子)

    斗鱼收藏的帖子在哪(斗鱼怎么看收藏的帖子)

  • 荣耀20是什么屏幕(荣耀20是什么屏幕材质)

    荣耀20是什么屏幕(荣耀20是什么屏幕材质)

  • 华为手机所有应用底色都变成黑色怎么办(华为手机所有应用都在九个点)

    华为手机所有应用底色都变成黑色怎么办(华为手机所有应用都在九个点)

  • 苹果手机合约版和无需合约版的区别(苹果手机合约版和标准版的区别)

    苹果手机合约版和无需合约版的区别(苹果手机合约版和标准版的区别)

  • 文件扩展名有哪些(文件类型之扩展名有哪些)

    文件扩展名有哪些(文件类型之扩展名有哪些)

  • 钉钉运动读取不到数据(钉钉运动读取不了步数)

    钉钉运动读取不到数据(钉钉运动读取不了步数)

  • 手机怎么查看qq年数(手机怎么查看qq的q龄)

    手机怎么查看qq年数(手机怎么查看qq的q龄)

  • 小米cc9e支持无线快充吗(小米cc9e支持5gwifi)

    小米cc9e支持无线快充吗(小米cc9e支持5gwifi)

  • 物联网终端主要分为哪几种类型(物联网终端设备有哪些)

    物联网终端主要分为哪几种类型(物联网终端设备有哪些)

  • 微信加好友能不能看到(微信加好友能不能直接通过)

    微信加好友能不能看到(微信加好友能不能直接通过)

  • 数据库系统的核心是(数据库系统原理)

    数据库系统的核心是(数据库系统原理)

  • 苹果7怎么关闭感应黑屏(苹果7怎么关闭系统自动更新)

    苹果7怎么关闭感应黑屏(苹果7怎么关闭系统自动更新)

  • word文档数字怎么竖排(word文档数字怎么对齐)

    word文档数字怎么竖排(word文档数字怎么对齐)

  • 华为mate30怎么关闭负一屏(华为mate30怎么关闭悬浮球)

    华为mate30怎么关闭负一屏(华为mate30怎么关闭悬浮球)

  • iphone x的特殊功能(苹果x特色功能)

    iphone x的特殊功能(苹果x特色功能)

  • 饿了么账户异常怎么办(饿了么账户异常自动取消订单)

    饿了么账户异常怎么办(饿了么账户异常自动取消订单)

  • word邮件合并的必须步骤(word邮件合并的功能及操作流程)

    word邮件合并的必须步骤(word邮件合并的功能及操作流程)

  • 投影图像一边宽一边窄(投影画面一边宽一边窄)

    投影图像一边宽一边窄(投影画面一边宽一边窄)

  • 荣耀20v20区别(荣耀20和v20哪款好)

    荣耀20v20区别(荣耀20和v20哪款好)

  • 手机怎么一秒充满电(怎样用手机一秒充满电)

    手机怎么一秒充满电(怎样用手机一秒充满电)

  • 快手怎么给视频配音(快手怎么给视频配字)

    快手怎么给视频配音(快手怎么给视频配字)

  • 小米手环3和nfc区别	(小米手环3和nfc版外观一样吗)

    小米手环3和nfc区别 (小米手环3和nfc版外观一样吗)

  • word怎么做图表(word怎么做图表分析)

    word怎么做图表(word怎么做图表分析)

  • 如何选购体感游戏机(体感游戏怎么选)

    如何选购体感游戏机(体感游戏怎么选)

  • 古老的水青冈树,英国北安普顿郡 (© Andrew Baskott/Alamy)(水青冈是常绿还是落叶)

    古老的水青冈树,英国北安普顿郡 (© Andrew Baskott/Alamy)(水青冈是常绿还是落叶)

  • H5项目如何打包成APP(h5项目怎么打包成app)

    H5项目如何打包成APP(h5项目怎么打包成app)

  • DNN(全连接神经网络)(全连接神经网络是什么意思)

    DNN(全连接神经网络)(全连接神经网络是什么意思)

  • 在dedecms织梦添加自制的背景图片(织梦怎么建站)

    在dedecms织梦添加自制的背景图片(织梦怎么建站)

  • 即征即退进项税额转出
  • 借款利息税前扣除标准例题
  • 单位收到已交个税的劳务发票还需要申报个税吗
  • 申报作废了还能修改吗
  • 电子发票密码区显示不全
  • 进口增值税抵扣信息委托核查函
  • 半年度奖金怎么算
  • 二手车销售统一专票图片
  • 天猫费率是什么
  • 老板投资的钱怎么入账
  • 购入固定资产会影响营业利润吗
  • 房地产契税新政策2021退税
  • 公司欠增值税如何补交?
  • 城镇土地使用税纳税义务发生时间
  • 没有税收编码的发票怎么开具红字票
  • 固定资产折旧在资产负债表属于什么
  • ah股溢价是什么意思 搬砖
  • 两万元大写金额报销单怎么写
  • 城镇地域
  • mac的键盘怎么打开
  • 水利基金减免怎么做账
  • 公司购买的车辆购置税怎么入账
  • windows7给c盘扩容
  • linux查看du
  • PHP验证信用卡卡号是否正确函数
  • 电脑开机弹出很多广告窗口怎么办win10
  • 进项税额转出会计分录福利费
  • 芦荟的功效与作用治什么病
  • 月末结转营业外支出有余额吗
  • 以其他方式取得土地使用权
  • 教你一行代码
  • 多域名指向同一ip有问题吗
  • 应收账款怎么做账
  • echarts中的legend能被监听吗
  • 材料盘盈分录
  • 个体户分红需要申报吗
  • 年末本年利润怎么结转
  • 经费支出的定义
  • mongodb导出数据库数据文件
  • 弥补亏损的会计分录是怎样的
  • 转出未交增值税最终怎么转平
  • 开增值税发票可以做三方协议吗?
  • 接受银行承兑汇票的流程
  • 医院怎么开发票?
  • 如何免费用别人家的wifi
  • 金税四期的政策
  • 解决企业应收账款问题
  • 如果企业长期股票怎么办
  • 帮人家开税票对自己生意有影响么
  • 银行账户收到养老金怎么办
  • 汽车三产件
  • 跨期发票会计处理
  • sqlserver多表查询怎么加索引
  • sqlbean
  • sqlserver 中ntext字段的批量替换(updatetext的用法)
  • mysql索引命令
  • 安装并激活navicat
  • mac os10.11
  • WIN10系统崩溃如何自救?
  • win10缺少文件如何修复
  • gsicon.exe是什么进程 作用是什么 gsicon进程查询
  • win8电脑屏幕亮度调节在哪里设置
  • win8引导盘
  • win10移动版和win10区别
  • 如何找回windows删除的文件
  • win1020h2版好不好
  • cocos2d游戏引擎
  • opengl粒子系统烟花
  • 移动手机指令
  • jquery 设置checked
  • nodejs实现微服务
  • 网页全屏是哪个键
  • unity-3d
  • 如何利用python写爬虫
  • Python的for和in
  • 三星电视投屏显示不支持当前文件
  • 公安驻税务联络办公室
  • 国家税务总局云平台网址
  • 零税率,免税不免增值税
  • 企业月度统计表在哪里查找
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设