【《架空輸電線路設備識別算法分析案例概述》8700字】_第1頁
【《架空輸電線路設備識別算法分析案例概述》8700字】_第2頁
【《架空輸電線路設備識別算法分析案例概述》8700字】_第3頁
【《架空輸電線路設備識別算法分析案例概述》8700字】_第4頁
【《架空輸電線路設備識別算法分析案例概述》8700字】_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第第頁共23頁架空輸電線路設備識別算法研究案例概述目錄TOC\o"1-3"\h\u666架空輸電線路設備識別算法研究案例概述 1288511.1計算機視覺技術的應用分析 119381.2架空輸電線路設備圖像數(shù)據(jù)的收集與處理 2310121.2.1設備圖像數(shù)據(jù)的搜集與數(shù)據(jù)加強 2135191.2.2圖象處理工具包:OpenCV 3306851.2.3對圖像數(shù)據(jù)集進行標簽 358751.3YOLO-v4算法與MobileNet卷積神經(jīng)網(wǎng)絡的綜合研究 4249931.3.1YOLO-v4目標檢測算法 4101691.3.2MobileNet系列深度神經(jīng)網(wǎng)絡模型研究 9187431.3.3MobileNet與YOLO-v4的結構融合 1058551.4基于MobileNet的YOLO-v4算法的訓練與檢測 11120791.4.1目標檢測算法的訓練技巧 11233781.4.2加載模型進行訓練 121.1計算機視覺技術的應用分析從人工智能誕生起,視覺相關的應用就一直是該領域內(nèi)科學家偏愛的方向,比如最早提出的感知機。感知機起初用來演示的應用就是通過20*20像素的傳感器用于字母識別。計算機視覺實際上就是模擬人類的大腦對圖像的處理過程,來復原現(xiàn)實生活中的三維場景,而且這種神經(jīng)系統(tǒng)內(nèi)的信息處理過程是可以用計算的方式重現(xiàn)的。神經(jīng)生理學家馬爾認為這種重現(xiàn)分為三個層次:理論、算法和硬件實現(xiàn)?,F(xiàn)如今的計算機視覺技術經(jīng)過了漫長的演變歷程,更多偏重于計算和數(shù)學的方法開始流行起來,其中著名的算法包括圖像金字塔、Canny邊緣檢測算法,以及圖像分割和立體視覺的不斷研究,強化了計算機視覺的功能。同時,伴隨著機器學習以及深度學習技術的不斷發(fā)展,各種識別與檢測算法百花齊放,計算機視覺的內(nèi)涵越來越復雜,實現(xiàn)圖像檢測與識別的措施更加多樣化。計算機視覺的應用相當廣泛。安防是最早應用計算機視覺的領域之一,人臉識別技術和指紋識別在許多國家的公共安全系統(tǒng)里都有應用,并且公安部門擁有真正意義上最大的人臉庫和指紋庫,常用來對犯罪嫌疑人進行識別和布控;在交通方面,可以利用計算機視覺技術對違章車輛的照片進行分析提取車牌號碼并記錄在案;通過圖片進行信息檢索,創(chuàng)建圖片搜索引擎也需要相關技術作為支撐。電力系統(tǒng)內(nèi)包含著大量的電氣設備,其圖像數(shù)據(jù)豐富龐大,可以通過計算機視覺領域的圖像識別以及目標檢測等相關算法進行元件儀器的定位、種類識別、隱患分析等任務,提高作業(yè)的效率,推進電網(wǎng)智能化進程。YOLO-v4作為目標檢測領域效果不錯的算法模型,本次畢設將該模型進行一定的優(yōu)化和更改后進行訓練,模型輸入的圖片維度大小為416*416。1.2架空輸電線路設備圖像數(shù)據(jù)的收集與處理1.2.1設備圖像數(shù)據(jù)的搜集與數(shù)據(jù)加強采集架空輸電線路的圖片時,主要考慮兩個來源:互聯(lián)網(wǎng)與人工拍攝。從互聯(lián)網(wǎng)上批量獲取圖片通采用爬蟲工具會大幅度提高圖片的獲取速度。首先檢索高壓輸電線路,選擇合法免費的圖片網(wǎng)站,選中圖片后打開控制臺,根據(jù)圖片名稱找到對應的xpath,通過xpath獲取a參數(shù)的href與title值,此外還要訪問圖片鏈接的頭信息。在代碼上需要調(diào)用request或lxml庫,建立網(wǎng)站鏈接并訪問jpg文件,然后采用寫文件函數(shù)將圖片存儲到我們的數(shù)據(jù)庫中。人工拍照顧名思義,就是需要人員親身去實際場地進行拍照,主要是通過參觀發(fā)電廠,調(diào)度中心等電力部門,或者去一些樞紐變電站的周圍進行拍攝。由于設備條件有限,對圖片的像素質(zhì)量不做過高要求。經(jīng)過上述兩個步驟所能得到的圖片如圖17所示,但是圖片總數(shù)只有500左右,離達到訓練要求相差甚遠,因此選擇采用數(shù)據(jù)增強的方法對數(shù)據(jù)庫進行擴充。數(shù)據(jù)增強技術在圖像識別領域中有著廣泛的應用,主要是通過對圖像的上下翻轉(zhuǎn)、任意角度旋轉(zhuǎn)、截取部分移位、鏡像反轉(zhuǎn)、高斯濾波、色域變化、明暗調(diào)整等技巧實現(xiàn)數(shù)據(jù)增強。此外,在訓練圖片的像素過大時,可以對比訓練網(wǎng)絡的輸入維度大小,采取將原始數(shù)據(jù)隨機裁剪的方式增加數(shù)量。常用數(shù)據(jù)增強的python工具包為Augmentor,采用skew_corner函數(shù)進行斜四角畸變,random_distortion進行扭曲,采用shear函數(shù)進行錯切、按照某一角度斜拉等。最終得到的數(shù)據(jù)增強后的圖像如圖18所示。最終得到的可訓練圖片達到3000張,滿足要求。圖17設備圖片圖18數(shù)據(jù)增強后的設備圖片1.2.2圖象處理工具包:OpenCVOpenCV是一個先進且目前使用廣泛的計算機視覺庫,可以處理圖像和視頻來完成各種任務,包括顯示攝像頭輸入的信號以及使機器人識別現(xiàn)實生活當中的物體。目前,OpenCV有C,C++,Python和java接口,當前SDK(SoftwareDevelopmentKit軟件開發(fā)工具包)已經(jīng)支持C++、Java、Python等語言應用開發(fā),覆蓋了工業(yè)產(chǎn)品檢測、醫(yī)學成像、無人機飛行、無人駕駛、安防、衛(wèi)星地圖與電子地圖拼接、信息安全、用戶界面、攝像機標定、立體視覺和機器人等計算機視覺應用領域。OpenCV的具體功能包括讀/寫圖像文件、對圖像各個通道的參數(shù)進行處理、色彩空間轉(zhuǎn)換、濾波、邊緣檢測、輪廓檢測、捕獲攝像頭的幀等,并囊括了部分機器學習特征檢測算法、人工神經(jīng)網(wǎng)絡的程序庫用來實現(xiàn)部分目標檢測功能。本次畢設主要采用OpenCV工具包進行圖像的預處理,由于考慮到圖像數(shù)據(jù)的維數(shù)各不相同,進行模型訓練時可能在輸入方面產(chǎn)生問題,因此采用OpenCV對圖像進行壓縮,具體是通過調(diào)用python語法的cv接口,運行相應的命令語句進行實現(xiàn)。1.2.3對圖像數(shù)據(jù)集進行標簽完整的訓練數(shù)據(jù)集除了包括圖像數(shù)據(jù),還需要對每一張圖片進行標簽,即通過構建框圖標記圖片中各個電氣設備的種類以及位置。常用標簽工具為LabelImg,LabelImg是一個可視化的圖像標注工具。FasterR-CNN,YOLO,SSD等目標檢測網(wǎng)絡所需要的數(shù)據(jù)集,均需要借此工具標定圖像中的目標。生成的XML文件遵循PASCALVOC數(shù)據(jù)集的格式,標注的效果如圖19所示,考慮到數(shù)據(jù)量龐大,標注過程繁瑣的問題,只選取五個設備進行標注,即防震錘、導線、均壓環(huán)、絕緣子、護套,采用英文名稱標簽為chui、line、ring、insulator、bushing。圖19標注效果圖最后生成了3000個XML文件,XML文件的格式與知識圖譜的結構類似,每個標注是一條數(shù)據(jù),名稱在前,緊跟的字段表示圖片左上角坐標(xmin,ymin)和右下角坐標(xmax,ymax)。標注文件內(nèi)容如圖20示意。在標注文件時需要保證每個圖片都要有對應的文件,且圖片文件名要和XML文件名保持一致。圖20XML文件部分內(nèi)容1.3YOLO-v4算法與MobileNet卷積神經(jīng)網(wǎng)絡的綜合研究1.3.1YOLO-v4目標檢測算法1.3.1.1YOLO系列算法概述YOLO(YouOnlyLookOnce)系列是最早出現(xiàn)的單階段目標檢測算法,也是第一個實現(xiàn)了實時目標檢測的方法。YOLO能達到45幀每秒的檢測速度。此外,YOLO的mAP達到了實時檢測系統(tǒng)的兩倍甚至更高。YOLO讓人們對基于深度學習的目標檢測算法有了新的認識。由于基于R-CNN(Region-basedConvolutionalNeuralNetworks)模型的系列算法中需要先獲取大量的proposal,但是proposal之間又有很大的重疊,會帶來很多重復的工作,存在速度慢、優(yōu)化困難等問題。YOLO系列一改基于proposal的預測思路,把目標檢測重新定義為一個回歸問題,它將輸入圖片劃分成S×S個小格子,在每個小個子中進行預測,最終將結果合并。YOLO-v1就是采取的上述思想,主要實現(xiàn)方法是:輸入圖像的尺寸首先被調(diào)整為448×448像素大小,并將圖像劃分成S×S的網(wǎng)格,如果目標的中心點落入一個網(wǎng)格單元,則該目標由該網(wǎng)格單元進行檢測;每個網(wǎng)格單元預測n個邊界框以及這些邊界框的置信度分數(shù)(反映YOLO對邊界框中是否包含信息的確定程度以及預測結果的準確度,采用IoU的數(shù)值大?。總€邊界框包含五個預測值,分別為x、y、w、h和置信度(x、y表示邊界框中心相對于網(wǎng)格單元便捷的距離,w、h表示為寬和高);預測邊界框的條件類別概率;進行測試,講條件概率和單個預測框的置信度相乘,得到每個框的特定類別的置信度分數(shù),這些分數(shù)量化表示了該類別出現(xiàn)在框中的概率以及預測框擬合目標的程度2016年底,YOLO的作者推出了更快、更好的升級版YOLO-v2,以及一個可以檢測超過9000個目標類別的模型YOLO9000,其中YOLO9000是通過一種聯(lián)合訓練目標檢測與分類方法在COCO數(shù)據(jù)集以及ImageNet分類數(shù)據(jù)集上同時訓練得到的。YOLO-v2在所有的卷積層都添加了批標準化操作,這使得mAP有了2%的提升,同時節(jié)省了dropout操作。此外YOLO-v2縮小了網(wǎng)格的輸入,將原本的448×448像素變成了416×416像素,基礎網(wǎng)絡頁調(diào)整為DarkNet-19分類網(wǎng)絡。因為YOLO-v2的卷積層對圖像進行了32倍下采樣,所以最后得到的是13×13,網(wǎng)格劃分也變成13×13。YOLO-v3的模型比之前的模型在很多方面進行了改進,放棄了添加全連接層,可以通過改變模型結構的大小來權衡速度與精度。YOLOv3使用了DarkNet-53基礎網(wǎng)絡,共有106層網(wǎng)絡,舍棄了一定訓練速度但是大幅度提高了訓練精度。不過,網(wǎng)絡的加深也使一些在當前先進的模型中比較重要和流行的結構能出現(xiàn)在YOLO-v3上,包括跳層連接與殘差模塊、多尺寸檢測、以及上采樣與特征融合過程。YOLO-v3共使用9種anchorbox,每種有三個尺寸,能得到預測邊界框的數(shù)量是YOLO-v2的十幾倍;在目標分類方面直接使用邏輯分類器代提softmax函數(shù),實現(xiàn)對同一個邊界框進行多個類別的預測。YOLO-v4的特點在于集合多種目標檢測器的優(yōu)點于一身,使其功能更加強大。不過,YOLO-v4的最主要貢獻在于使每個人都可以使用1080Ti或2080Ti的GPU超快速和準確地訓練目標檢測器,最終可以實現(xiàn)更高準確度,更快訓練速度、更多種類存儲的作用。YOLO-v5相對于YOLO-v4來說創(chuàng)新性的地方很少,性能相當,主要在于輕量級的特點:使用darknet架構的YOLO-v4有200多MB,而YOLO-v5的大小僅有27MB,是YOLOv4的10%作用。不過由于YOLO-v5并非正統(tǒng)的YOLO系列,因此行業(yè)內(nèi)存在的爭議頗多。由于現(xiàn)如今YOLO-v4的行業(yè)評價很高,開源代碼豐富,性能十分強大,訓練速度很快,考慮到本人的計算機設備有GPU可以用來訓練網(wǎng)絡,因此選擇采用YOLO-v4構建智能診斷程序的底層代碼。1.3.1.2YOLO-v4的架構YOLOv4算法所采用的特征提取主干神經(jīng)網(wǎng)絡為CSPDarknet53,共包含29個卷積層,725*725的感受野,27.6M參數(shù)。整個YOLOv4的網(wǎng)絡架構如圖22所示(以輸入圖片大小為416×416為例)。YOLO-v4對于YOLO-v3采用的Darknet53進行了一定的優(yōu)化。CSPDarknet53相比于DarkNet53所采取的改進有兩部分:將LeakyReLU替換為Mish作為骨干神經(jīng)網(wǎng)絡的激活函數(shù),同時卷積塊也進行了相應函數(shù)的變更。Mish函數(shù)的公式如下:Mish=x×tanh(ln(1+ex))Mish函數(shù)的圖像通過調(diào)用python的matplotib包的相關函數(shù)繪制后顯示如圖21所示。該函數(shù)是一種自我可正則化的先單調(diào)遞減后單調(diào)遞增的激活函數(shù),在輸入小于0時并沒有阻斷相應的數(shù)據(jù)流,而是允許通過較小的負信號,避免了信息的部分缺失。選擇這種激活函數(shù),可以使神經(jīng)網(wǎng)絡的深層部分得到更加全面的信息,從而提高模型準確性和泛化能力。圖21Mish函數(shù)圖像之后,將resblock_body的結構進行修改成了CSPnet結構,結構對比圖如圖22所示。經(jīng)過這樣的修改后,YOLOV4當中的Darknet53分類網(wǎng)絡變成了CSPDarknet53骨干特征提取框架。CSPnet的構成并不復雜,只是原來的殘差堆疊結構被拆分成了兩個路徑:其中,主干部分繼續(xù)進行原來的殘差卷積操作;另一路徑則幾乎保持原輸入的值,經(jīng)過少量處理直接連接到最后。因此可以理解成CSPnet中構建了一個規(guī)模更大的復合殘差結構。殘差用來設計解決梯度消失和梯度爆炸等網(wǎng)絡退化問題,提升了網(wǎng)絡的性能。在CSPDarknet53中一共采用了23個Resblock_body,64通道數(shù)的1個,128通道數(shù)的有2個,256通道數(shù)的有8個,512通道數(shù)的有8個,1024通道數(shù)的有4個。圖22ResBlock結構對比圖在特征金字塔部分,YOLO-v4進行的改進如下:1)使用了SPP結構,進行不同維度的池化與合并;2)使用了PANet結構。如圖23右側與下方框圖所示。圖23YOLO-v4結構圖SPP結構最開始的作用是解決目標檢測網(wǎng)絡的需要輸入固定維度特征層的問題,不要求輸入尺寸固定并可以產(chǎn)生所需要的維度輸出,同時在不同的尺寸上計算出featuremaps,使每個目標區(qū)域的特征圖實現(xiàn)共享進行結合。SPP-net的設計團隊也參加了許多大型圖像識別比賽,都實現(xiàn)了比RCNN更好的分類和檢測效果。在YOLO-v4當中,SPP結構主要是對CSPdarknet53生成的最后一個特征層的進行不同維度的池化處理。首先對CSPdarknet53的最后一個特征層進行三次卷積、BactchNormal、Leaky函數(shù)激活操作,之后利用四個不同尺度的maxpooling層分別進行處理,采用的池化核大小分別為13x131x1(不進行處理)、5x5、9x9、13x13,實現(xiàn)了用多個窗口(poolingwindow),將同一圖像不同尺寸(scale)作為輸入,得到同樣長度的池化特征。采用這種結構能夠極大地增加感受野,分離出最顯著的上下文特征,從而進一步提高檢測的準確率。PANet在COCO2017挑戰(zhàn)賽里的實例分割任務中取得第一名、目標檢測任務第二,超過了MASKRCNN,它的主要特點在于創(chuàng)建了自上而下的增強路徑,充分保留和利用了底層信息特征;使用了自適應池化,將各部分特征進行了融合增強;在MASK部分測加了背景和對象的二分類預測分支,提高準確度[23]。在YOLO-v4當中,PANet的具體結構進行了一定的修改,并不相加相鄰的層,而是對其應用了一個拼接操作。在骨干特征網(wǎng)絡進行特征提取的基礎之上,分別從網(wǎng)絡中取出三個不同維度的特征,分別進行上采樣與下采樣的操作(維數(shù)最大的不需上采樣,維數(shù)最小的不需小采樣),將所有調(diào)整后的結果對應維度相加,最終使特征層蘊含的信息更加豐富。最后在特征分析部分,YOLOv4提取三個經(jīng)過PANet處理后得到的特征層,分別位于中間層、中下層、底層,三個特征層的維度分別為(76,76,256)、(38,38,512)、(19,19,1024)。輸出層的shape分別為(19,19,S),(38,38,S),(76,76,S),選取的數(shù)據(jù)集進行決定最后一個維度的大小。通過三個特征層的預測結果,shape分別為(N,19,19,255),(N,38,38,255),(N,76,76,255)的數(shù)據(jù),對應每個圖分為19x19、38x38、76x76的網(wǎng)格上3個預測框的位置,從而得到以下信息:x、y、h和w、置信度、分類結果。之后將每個網(wǎng)格點加上它對應的x和y,加完后的結果就是預測框的中心,然后再利用先驗框和h、w結合計算出預測框的長和寬,由此可得到整個預測框的位置。1.3.2MobileNet系列深度神經(jīng)網(wǎng)絡模型研究CSPDarknet53骨干神經(jīng)網(wǎng)絡雖然提取特征的效果優(yōu)越,但是網(wǎng)絡內(nèi)部所含參數(shù)量巨大,共有64429405個。很容易占滿計算機內(nèi)存從而導致訓練過程意外終止,因此考慮采用參數(shù)量更少的MobileNet神經(jīng)網(wǎng)絡框架。目前,MobileNet為了實現(xiàn)特征提取的高效性和準確度進行了多方面的優(yōu)化和加強。在神經(jīng)網(wǎng)絡大放異彩的時候,嵌入式平臺的硬性條件限制了神經(jīng)網(wǎng)絡在其上的性能,面對這一問題,谷歌針對手機等嵌入式設備提出了一種輕量級深度學習網(wǎng)絡——MobileNet。其設計目的是構建一個輕量級的深度學習網(wǎng)絡,從而有效減少計算量,縮小模型的體積。深度可分離卷積塊是MobileNet的核心結構,也是重要的創(chuàng)新點。假設有一個D×D大小的卷積層,其輸入通道為M、輸出特征圖尺寸為F,N個D×D大小的卷積核會遍歷M個通道中的每個數(shù)據(jù),最后可得到所需的F個輸出通道,所需參數(shù)為F×F×M×D×D×N個。應用深度卷積與點卷積的結合的方式,將卷積核按通道分解,尺寸不變,此時卷積核表示為D×D×1×M,相應計算量為D×D×M×F×F;接著進行點卷積,采用M×N×1×1的卷積核,將上一步的結果卷積,計算量為M×N×F×F。因此可以得到最終深度可分離卷積的計算量為M×N×F×F+D×D×M×F×F。與原始卷積的計算量進行對比如下:可以看出來深度可分離卷積可以大量減少模型的參數(shù)。MobileNet-v2在MobileNet-v1的基礎上進行了兩方面的改進:(1)提出了invertedresidual(反向殘差結構),整個MobileNet-v2都由I該結構組成。與MobileNet-v1先做深度卷積后做點卷積相比,MobileNet-v2先做點卷積后做深度卷積,最后再做一次點卷積。(2)在每一個塊的最后一層的激活函數(shù)中,用Linear卷積代替卷積與ReLU函數(shù)的組合。MobileNet-v3除了具有上述兩個網(wǎng)絡的優(yōu)點之外,還使用了特殊的BNeck結構,綜合了以下特征:引入了注意力機制,根據(jù)網(wǎng)絡圖特征變化規(guī)律對每個通道的權重進行調(diào)整,提高相對重要特征的影響程度與識別能力;利用h-swish代替swish函數(shù),減少運算量,提高性能。1.3.3MobileNet與YOLO-v4的結構融合YOLO-v4骨干網(wǎng)絡的作用在于得到三個不同維度的特征層,之后的工作便可交給其他部分處理。因此可以通過對Mobilenet-v1、Mobilenet-v2、Mobilenet-v3三個神經(jīng)網(wǎng)絡的源碼進行分析、拆解、重組等工作,得到YOLO-v4所需要的三種維度的特征層(76,76,256)、(38,38,512)、(19,19,1024),對原來YOLO-v4主干網(wǎng)絡CSPdarknet53所提供的初始特征層進行替換,同時,可以使用深度可分離卷積代替SPP與PANet結構中用到的普通卷積,進一步減少參數(shù)數(shù)量。主要操作流程如下:(1)獲取Mobilenet的模型,對其version進行判斷選擇;(2)修改卷積的輸入通道數(shù),先定義輸出通道數(shù):對于Mobilenet-v1為(256,512,1024),Mobilenet-v2為(32,96,320),Mobilenet-v2為(40,112,160),更改特征輸入通道數(shù)。此時Mobilenet-v1的參數(shù)量有40952893,Mobilenet-v2的參數(shù)量39062013,Mobilenet-v1的參數(shù)量有39989933。(3)對于數(shù)據(jù)量同樣龐大的PANet進行修改,所有3×3普通卷積(如YOLOhead)替換為3×3深度可分離卷積。此時Mobilenet-v1的參數(shù)量有12692029,Mobilenet-v2的參數(shù)量10801149,Mobilenet-v1的參數(shù)量有11729069。由此可見,采用深度可分離卷積后整個算法的參數(shù)量大幅度降低。最終可以實現(xiàn)參數(shù)量達到深度可分離卷積塊可以通過調(diào)用Pytorch深度網(wǎng)絡框架,重新定義函數(shù),并在相應函數(shù)中分別實現(xiàn)三個不同版本的功能,從而可以對三個網(wǎng)絡進行訓練,分析、比較訓練結果。1.4基于MobileNet的YOLO-v4算法的訓練與檢測1.4.1目標檢測算法的訓練技巧1.4.1.1LabelSmoothing平滑LableSmoothing平滑處理實際上是為了解決分類任務中由于網(wǎng)絡度泛化能力差而導致的標注錯誤問題。具體操作就是將原始只有0、1兩種取值的標簽進行一定的誤差處理,使結果分類結果不過于絕對,比如將標簽數(shù)值取為0.01(二分類的條件下)、0.99,從而對分類準確性做了一點降低趨勢的微調(diào),避免模型分類結果過于準確,導致訓練出現(xiàn)過擬合,在其他數(shù)據(jù)上的應用效果變差。1.4.1.2CIoUIoU定義為兩個區(qū)域的重疊部分(交)與合并總區(qū)域(并)大小之比,在實踐中,常用來度量預測邊界框和真實邊界框的重合程度。由于IoU是一種使用目標面積的度量指標,因此可以像檢測集合一樣通過對應面積的比值關系輕松表達出來。IoU的值在[0,1]范圍內(nèi),其中0表示不匹配,1表示完美匹配,公式表示如下:=1\*GB2⑴但是,真正用來訓練的目標檢測框的Loss函數(shù)相比于IoU優(yōu)化還需要包含更多的參數(shù)以提高訓練速度與準確度。通常,IoU對于無重疊的區(qū)域沒有措施進行處理,因此,選擇考慮的參數(shù)更加綜合全面的CIoU作為訓練時的優(yōu)化loss。CIoU在IoU的基礎上增加了C檢測框(C檢測框是包含了檢測框和真實框的最小矩形框),計算的每個檢測框之間的歐氏距離,還加入了檢測框尺度即長和寬的loss,這樣預測框就會更加的符合真實框。中心點重合但寬高比不同時,loss不變:=2\*GB2⑵=3\*GB2⑶=4\*GB2⑷其中,為影響因子,主要是考慮了預測框長寬比擬合目標框的長寬比。是用于做trade-off的參數(shù),是用來衡量長寬比一致性的參數(shù)。分別代表了預測框和真實框的中心點的歐式距離,c代表的是能夠同時包含預測框和真實框的最小閉包區(qū)域的對角線距離。1.4.1.3學習率優(yōu)化算法學習率優(yōu)化算法有很多其中自適應學習率算法以及余弦退火算法應用較多。自適應學習率算法主要包括AdaGrad算法、RMSProp算法、Adam算法。其中,AdaGrad算法的凈效果為在參數(shù)空間中更為平緩的傾斜方向會取得更大的進步;RMSProp算法使用指數(shù)衰減平均以丟棄過度遙遠的歷史記錄;Adam算法中,動量直接并入了梯度一階矩的估計,同時包括偏置地修正,通常被認為對超參數(shù)的選擇相當魯棒。但是以上算法在機器學習層面的使用更多一些。余弦退火算法結合了退火優(yōu)化算法法的思想,首先學習率隨著訓練次數(shù)以及l(fā)oss值等因子線性增加,再以余弦函數(shù)走勢下降。采用這種方法對學習率進行調(diào)整,主要是考慮了梯度下降法來優(yōu)化目標函數(shù)時,越接近Loss值的全局最小值時,應該將學習率的取值變小從而更加接近目標。而余弦退火(Cosineannealing)可以通過余弦函數(shù)降低學習率。余弦函數(shù)的特點在于因變量隨自變量先緩慢下降,隨之加速下降,最后再緩慢下降,與學習率融合,可以得到更為有效的運算邏輯。1.4.2加載模型進行訓練將Mobilenet-v1、Mobilenet-v2、Mobilenet-v3處理過后的源碼分別存入到對應的py文件中,然后根據(jù)YOLO-v4的開源代碼進行改造編寫,可以通過人工方式對采取訓練的模型進行選擇。加載完模型后,運行訓練程序進行訓練,其中注意識別的類別共有5種,采用英文指代(insulator(絕緣子),ring(均壓環(huán)),chui(防震錘),line(導地線))。訓練函數(shù)的具體操作過程如下:指定輸入圖片大小,本次畢設采用(416,416),同時對是否使用余弦退火衰減、cuda等工具進行指定,獲取權重文件、圖片文件、目標信息的txt文件、九個不同規(guī)格的先驗框文件、識別種類的txt文件的路徑。建立YOLO_loss函數(shù),其中調(diào)用已有的相關數(shù)學模型庫,對每一個特征層進行差別計算。將得到的數(shù)據(jù)集進行訓練集和驗證集的劃分,其中90%用來訓練,10%進行驗證判斷準確率的大小。將網(wǎng)絡凍結一部分進行訓練,凍結訓練時學習率為10-3加快網(wǎng)絡的初步學習,之后解凍網(wǎng)絡,將學習率變?yōu)?0-4幫助網(wǎng)絡優(yōu)化。訓練函數(shù)中用訓練集進行訓練后同時計算loss值顯示訓練進程。若還要細化訓練則將學習率進一步調(diào)低。由于主要設備采用的是本人的筆記本,訓練模型時為了避免設備的顯卡或CPU燒壞,每進行完一次epoch時引用input()函數(shù)進行暫停操作,帶設備溫度正常時輸入回車鍵進行下一循環(huán)的迭代訓練。訓練時的速度可以達到1.89it/s,每完成一次715

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論