隨著社會(huì)和經(jīng)濟(jì)的持續(xù)發(fā)展,電力系統(tǒng)的投資與建設(shè)也日益加速。在電力系統(tǒng)中,輸電線路作為電能傳輸?shù)妮d體,是最為關(guān)鍵的環(huán)節(jié)之一。而絕緣子作為輸電環(huán)節(jié)中的重要設(shè)備,在支撐固定導(dǎo)線,保障絕緣距離的方面有著重要作用。大多數(shù)高壓輸電線路主要架設(shè)在非城市內(nèi)地區(qū),絕緣子在輸電線路中由于數(shù)量眾多、跨區(qū)分布,且長(zhǎng)期暴露在空氣中,受惡劣自然環(huán)境的影響,十分容易發(fā)生故障。隨著大量輸電工程的快速建設(shè),傳統(tǒng)依靠人工巡檢的模式,已經(jīng)越來(lái)越難以適應(yīng)高質(zhì)量運(yùn)維的要求。隨著國(guó)網(wǎng)公司智能化要求的提升,無(wú)人機(jī)技術(shù)的快速應(yīng)用,采取無(wú)人機(jī)智能化巡視,能夠大幅度減少運(yùn)維人員及時(shí)間,提升質(zhì)量,因此得到快速發(fā)展。
深度學(xué)習(xí)技術(shù)的大量應(yīng)用,計(jì)算機(jī)運(yùn)算性能的不斷提高,為無(wú)人機(jī)準(zhǔn)確識(shí)別和定位絕緣子,實(shí)時(shí)跟蹤拍攝開辟了新的解決途徑。本文對(duì)輸電線路中絕緣子進(jìn)行識(shí)別及定位,利用深度學(xué)習(xí)技術(shù)采取基于YOLOv5 算法的目標(biāo)檢測(cè)手段,結(jié)合絕緣子數(shù)據(jù)集的特點(diǎn),對(duì)無(wú)人機(jī)拍攝圖片進(jìn)行訓(xùn)練,實(shí)現(xiàn)對(duì)絕緣子精準(zhǔn)識(shí)別和定位,大幅提升無(wú)人機(jī)巡檢時(shí)對(duì)絕緣子設(shè)備準(zhǔn)確跟蹤、判定的效率,具有十分重要的應(yīng)用效果。
廢話不多說,咱們先看兩張實(shí)際效果。
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-410550.html
注意事項(xiàng)
- 盡量使用英文路徑,避免中文路徑,中文路徑可能會(huì)導(dǎo)致代碼安裝錯(cuò)誤和圖片讀取錯(cuò)誤。
- pycharm運(yùn)行代碼一定要注意左下角是否在虛擬環(huán)境中。
- 庫(kù)的版本很重要,使用本教程提供的代碼將會(huì)事半功倍
遇到解決不了的問題可以通過私信(QQ:3045834499)聯(lián)系我,粉絲兒朋友遠(yuǎn)程調(diào)試該項(xiàng)目(包含數(shù)據(jù)集和訓(xùn)練好的三組模型)僅需99個(gè)圓子。
前期準(zhǔn)備
項(xiàng)目下載地址: YOLOV5電線絕緣子缺陷檢測(cè)數(shù)據(jù)集+代碼+模型+教學(xué)視頻+參考論文資源-CSDN文庫(kù)
電腦設(shè)置
大部分小伙伴使用的電腦一般都是windows系統(tǒng),在windows系統(tǒng)下跑代碼,難免會(huì)遇到各種各樣的bug,首先是編碼問題,為了防止代碼在運(yùn)行過程中,出現(xiàn)編碼錯(cuò)誤,我們首先要將我們電腦的語(yǔ)言設(shè)置為utf-8格式,具體如下。首先在搜索框搜索語(yǔ)言,點(diǎn)擊這里。
找到管理語(yǔ)言設(shè)置。
勾選utf-8即可。
另外有的電腦初始設(shè)置的時(shí)候內(nèi)存是由電腦自行分配的,很可能在運(yùn)行訓(xùn)練代碼的時(shí)候出現(xiàn)顯存溢出的情況,為了防止該情況的出現(xiàn),我們需要在高級(jí)系統(tǒng)設(shè)置中對(duì)虛擬內(nèi)存進(jìn)行設(shè)置,如下。
首先打開高級(jí)系統(tǒng)設(shè)置,點(diǎn)開性能中的設(shè)置。
在高級(jí)中找到虛擬內(nèi)存的設(shè)置。
以d盤為例,這里我們將虛擬內(nèi)存設(shè)置在4G到8G之間,其余操作一樣。
其他盤也設(shè)置完成之后,點(diǎn)擊確定之后按照電腦提示重啟即可。
相關(guān)軟件安裝
-
Nvidia驅(qū)動(dòng)安裝(可選)
首先是驅(qū)動(dòng)的安裝,這個(gè)小節(jié)主要是針對(duì)電腦帶有Nvidia顯卡的小伙伴,如果你的電腦沒有Nvidia顯卡,你直接跳過就可以了,你可以通過右下方的任務(wù)欄判斷是是否具有這個(gè)顯卡,如果是筆者這里的綠色小眼睛圖標(biāo),說明你是具有Nvidia顯卡的。
驅(qū)動(dòng)下載的地址為:官方驅(qū)動(dòng) | NVIDIA
注意請(qǐng)按照你電腦具體的型號(hào)來(lái)選擇驅(qū)動(dòng)文件,不清楚的可以通過設(shè)備管理器來(lái)查看你顯卡的具體型號(hào)。
下載exe文件之后,直接下一步下一步按照默認(rèn)安裝就好,注意這里最好按照默認(rèn)目錄安裝,否則可能導(dǎo)致安裝失敗的情況如下,安裝完畢之后重啟電腦,在命令行中輸入
nvidia-smi
,如果正常輸出顯卡的信息說明顯卡驅(qū)動(dòng)安裝已經(jīng)成功。另外,這里多叭叭兩句。
很多的遠(yuǎn)古教程會(huì)教你去安裝cuda和cudnn,這個(gè)過程非常麻煩,并且需要你注冊(cè)nvidia的賬戶,由于眾所周知的原因,賬戶注冊(cè)就很繁瑣。其實(shí),在新版本的驅(qū)動(dòng)安裝中,就已經(jīng)自帶最新版本的cuda,比如我上圖所示的在筆者驅(qū)動(dòng)安裝完畢之后已經(jīng)自帶了12.0的cuda,cuda這個(gè)東西是向下兼容的,后續(xù)的cudnn那些我們直接通過anaconda來(lái)安裝就可以了,這樣真的省心很多。
-
Anaconda安裝
conda是一個(gè)開源的包、環(huán)境管理器,可以用于在同一個(gè)機(jī)器上安裝不同版本的軟件包及其依賴,并能夠在不同的環(huán)境之間切換。我強(qiáng)烈推薦你使用他,他的作用類似于java中的maven和我們平時(shí)使用的虛擬機(jī),他能夠保證的項(xiàng)目之間互相是隔離的。舉個(gè)簡(jiǎn)單的例子,如果你同時(shí)有兩個(gè)項(xiàng)目,你一個(gè)使用的pytorch1.8,一個(gè)用的是pytorch1.10,這樣一個(gè)環(huán)境肯定就不夠了,這個(gè)時(shí)候anaconda就派上大用場(chǎng)了,他可以創(chuàng)建兩個(gè)環(huán)境,各用各的,互不影響。
Anaconda有完全版本和Miniconda,其中完整版太臃腫了,我這邊推薦使用miniconda,下載地址在:Index of /anaconda/miniconda/ | 北京外國(guó)語(yǔ)大學(xué)開源軟件鏡像站 | BFSU Open Source Mirror
下滑到最下方,點(diǎn)擊這個(gè)版本的下載即可。
同樣的,下載之后安裝即可,注意不要安裝在C盤!??!,另外,添加到系統(tǒng)路徑這個(gè)選項(xiàng)也請(qǐng)務(wù)必選上,后面使用起來(lái)會(huì)帶來(lái)很多便捷,并且這里的安裝位置請(qǐng)你一定要記得,后面我們?cè)赑ycharm中將會(huì)使用到。
-
Pycharm安裝
OK,Anaconda安裝完成之后,我們還需要一個(gè)編輯器來(lái)寫代碼,這里推薦大家使用Pycharm,Pycharm有專業(yè)版和社區(qū)版,社區(qū)版是免費(fèi)的,專業(yè)版如果你有教育郵箱的話也可以通過教育郵箱注冊(cè)賬戶來(lái)使用,但是社區(qū)版的功能已經(jīng)夠絕大多數(shù)小伙伴來(lái)用了,Pycharm的下載地址在:Download PyCharm: Python IDE for Professional Developers by JetBrains
注意也是安裝的時(shí)候不要安裝在c盤,并且安裝過程中這些可選的選項(xiàng)要勾上。
完成之后,比如我們用pycharm打開一個(gè)項(xiàng)目,在新版本的下方會(huì)出現(xiàn)命令行無(wú)法使用的情況。請(qǐng)使用管理員模型打開powershell。
然后執(zhí)行執(zhí)行指令
set-ExecutionPolicy RemoteSigned
,輸入Y然后enter完成即可。另外,在Pycharm的右下方是表示的是你所處的虛擬環(huán)境,這里先簡(jiǎn)單說下在pycharm中如何使用anaconda中創(chuàng)建的虛擬環(huán)境。
點(diǎn)擊ok之后,右下角出現(xiàn)你的虛擬環(huán)境名稱就表示成功了。
以上這些步驟完成之后,恭喜你,差不多一半的工作就完事了,剩下無(wú)非就是根據(jù)不同的項(xiàng)目來(lái)配置環(huán)境和執(zhí)行代碼了。
嗷,對(duì)這里我們也說一下,如何在Pycharm中選Anaconda的虛擬環(huán)境。
環(huán)境配置
OK,來(lái)到關(guān)鍵環(huán)境配置的部分,首先大家下載代碼之后會(huì)得到一個(gè)壓縮包,在當(dāng)前文件夾解壓之后,進(jìn)入CMD開始我們的環(huán)境配置環(huán)節(jié)。
為了加快后期第三方庫(kù)的安裝速度,我們這里需要添加幾個(gè)國(guó)內(nèi)的源進(jìn)來(lái),直接復(fù)制粘貼下面的這些指令到你的命令行即可。
conda config --remove-key channels
conda 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 yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
執(zhí)行完畢大概是下面這個(gè)樣子,后面你就可以飛速下載這些庫(kù)了。
創(chuàng)建虛擬環(huán)境
首先,我們需要根據(jù)我們的項(xiàng)目來(lái)創(chuàng)建一個(gè)虛擬環(huán)境,通過下面的指令創(chuàng)建并激活虛擬環(huán)境。
我們創(chuàng)建一個(gè)Python版本為3.8.5,環(huán)境名稱為yolo的虛擬環(huán)境。
conda create -n yolo python==3.8.5
conda activate yolo
切記!這里一定要激活你的虛擬環(huán)境,否則后續(xù)你的庫(kù)會(huì)安裝在基礎(chǔ)環(huán)境中,前面的小括號(hào)表示你處于的虛擬環(huán)境。
Pytorch安裝
注意Pyotorch和其他庫(kù)不太一樣,Pytorch的安裝涉及到conda和cudnn,一般而言,對(duì)于30系的顯卡,我們的cuda不能小于11,對(duì)于10和20系的顯卡,一般使用的是cuda10.2。下面給出了30系顯卡、30系以下顯卡和cpu的安裝指令,請(qǐng)大家根據(jù)自己的電腦配置自行下載。筆者這里是3060的顯卡,所以執(zhí)行的是第一條指令。
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系列的執(zhí)行這條
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly # CPU的小伙伴直接執(zhí)行這條命令即可
安裝之后,可以和筆者一樣,輸入下面的指令測(cè)試以下gpu是否可用,如果輸出的是true表示GPU是可用的。
其余庫(kù)安裝
其余庫(kù)的安裝就非常簡(jiǎn)單了,我們通過pip來(lái)進(jìn)行安裝,注意這里一定要確保你執(zhí)行的目錄下有requirements.txt這個(gè)文件,否則你將會(huì)遇到文件找不到的bug,你可以通過dir
指令來(lái)查看是否有這個(gè)文件。
pip install -r requirements.txt
Pycharm中運(yùn)行
一是為了查看代碼方便,二是為了運(yùn)行方便,這里我們使用Pycharm打開項(xiàng)目,點(diǎn)擊這里右鍵文件夾直接打開項(xiàng)目即可非常方便。
打開之后你將會(huì)看到這樣的一個(gè)界面,其中左側(cè)是文件瀏覽器,中間是編輯器,下方是一些工具,右下角是你所處的虛擬環(huán)境 。
之后,我們就需要為當(dāng)前的項(xiàng)目選擇虛擬環(huán)境了,這一步非常重要,有的兄弟配置好了沒選環(huán)境,你將會(huì)遇到一堆奇怪的bug,選環(huán)境的步驟如下。
首先點(diǎn)擊,添加解釋器。
三步走選擇我們剛才創(chuàng)建的虛擬環(huán)境,點(diǎn)擊ok。
之后你可以你可以右鍵執(zhí)行main_window.py這個(gè)文件,出現(xiàn)下面的畫面說明你就成功了。
數(shù)據(jù)集準(zhǔn)備
數(shù)據(jù)集這里我放在了CSDN中,大家可以執(zhí)行標(biāo)注準(zhǔn)備數(shù)據(jù)集,或者使用這里我處理好的數(shù)據(jù)集,數(shù)據(jù)集下載之后放在和代碼目錄同級(jí)的data目錄下。
數(shù)據(jù)集打開之后你將會(huì)看到兩個(gè)文件夾,images目錄存放圖片文件,labels目錄存放標(biāo)簽文件。
之后記住你這里的數(shù)據(jù)集路徑,在后面的訓(xùn)練中我們將會(huì)使用到,比如筆者這里的F:\new_project\sfid\data\target_sfid
。
訓(xùn)練和測(cè)試
注:這里你可以選擇去自己嘗試以下,筆者在runs的train目錄下已經(jīng)放了訓(xùn)練好的模型,你是可以直接使用。
下面就是訓(xùn)練的過程,筆者這里已經(jīng)將數(shù)據(jù)集和模型的配置文件寫好了,你只需要將數(shù)據(jù)集中的數(shù)據(jù)路徑替換成你的路徑,執(zhí)行go_train.py
即可開始訓(xùn)練了。
執(zhí)行g(shù)o_train.py文件中,包含三條指令,分別表示yolov5中small模型、medium模型和large模型,比如我這里要訓(xùn)練s模型,我就將其他兩個(gè)模型訓(xùn)練的指令注釋掉就好了。
運(yùn)行之后,下方會(huì)輸出運(yùn)行的信息,這里的紅色只是日志信息,不是報(bào)錯(cuò),大家不要驚慌。
以筆者這里的s模型為例,詳細(xì)含義如下。
圖形化程序
最后就是執(zhí)行我們的圖形化界面程序了。
直接右鍵執(zhí)行window_main.py執(zhí)行即可,這里上兩章效果圖。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-410550.html
到了這里,關(guān)于【2023-Pytorch-檢測(cè)教程】手把手教你使用YOLOV5做電線絕緣子缺陷檢測(cè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!