泰迪杯论文B题(特等奖)
目錄
一、簡介
1.1研究背景及研究現狀
1.2研究任務
1.2.1絕緣子串珠分割
1.2.2絕緣子自爆識別和定位
1.3技術路線流程圖
1.3.1模型訓練流程圖
1.3.2模型測試流程圖
二、基本理論
2.1卷積神經網絡
2.2全卷積神經網絡
2.3殘差連接
三、數據預處理
3.1掩膜圖像二值化
3.2圖像切分
3.3數據擴增
3.4數據集調整
3.5預處理流程圖
四、絕緣子串珠分割
4.1圖像分割算法
4.1.1Unet 網絡
4.1.2Segnet 網絡
4.1.3U-Segnet 網絡
4.1.4改進的U-Segnet 網絡
4.2圖像分割技術路線
五、連通區域檢測
5.1連通域標記與面積計算
5.2面積閾值的計算
六、圖像分割結果分析
6.1實驗環境
6.2評價指標
6.3實驗過程及結果分析
6.3.1訓練超參數設置
6.3.3 結果分析
七、目標檢測數據預處理
7.1數據采集
7.2人工標注
7.3絕緣子提取
7.4數據增強
八、目標檢測
8.1YOLO v3 算法基本原理
8.2目標檢測技術路線
九、實驗及結果分析
9.1評價指標
9.2實驗過程及結果分析
十、總結與展望
10.1本文工作總結
10.2未來工作展望
參考文獻
附錄 26
一、簡介
1.1研究背景及研究現狀
為了保證輸電線路的安全、可靠運行,電網運行部門需要定期對輸電線變電系統進行巡檢、維修以及維護來確保消除故障或者隱患。隨著我國經濟的高速發展,對電力輸電網設備等基礎設施的安全運營也提出了更高的要求。架空線路巡檢作為保障輸配電網正常運行的重要手段之一,一直以來都面臨著網線分布廣、設施布置復雜,巡線作業強度大、周期長,部分區域自然環境復雜惡劣等問題。傳統的電網巡查方式是通過人工進行巡檢的,該方法存在以下幾個問題。
① 勞動強度大,工作效率低,在危險地段會危及到巡查工人的生命安危。
② 人工錄入數據量大,而且錄入過程容易出錯。
③ 對于工人是否巡查到位無法進行有效的管理,巡查質量不能得到保障
近年來由于無人機或者智能機器人技術的飛速發展,考慮通過拍攝的大量電力設備及線路的現場圖片代替人工巡檢,其基本工作流程如下。
① 劃定無人機工作區域,設定巡查時間。
② 無人機飛達指定區域,進行圖片拍攝(要求盡可能達到 360°全方位)。
③ 分析無人機拍攝的圖片,并進行問題標注,反饋至調度中心。
④ 調度中心根據問題,安排對應人員進行檢修。
但是由于無人機拍攝圖片數目多(單個高架塔拍攝圖像大于 300 張),尺寸大(4096*2160),人工進行一張圖片標注就需要 5-10 分鐘,工作量巨大。同時執行標注工作的相關人員極易用眼疲勞,從而導致漏標,錯標。鑒于以上情況, 考慮使用圖像處理與機器學習(深度學習)的方法,對圖片進行標注。
1.2研究任務
架空輸電線路巡視主要巡視內容包括:桿塔、導線及避雷線、導線及避雷線的固定與鏈接、絕緣子、拉線、桿上開關設備、沿線路附近的其他工程等 7 大項內容。以上 7 大項內容中的每一項都還有子項,檢查內容繁多,流程繁瑣。為了能夠先行探索出切實有效的步驟,本次任務以絕緣子巡視中的絕緣子自爆這一故障為目標,主要實現以下兩部分內容。
1.2.1絕緣子串珠分割
由于無人機圖片較大一般為(4096*2160),絕緣子串珠占據圖片中很小的一部分區域,需要設計圖像分割算法,對絕緣子串珠坐在的區域進行分割。參賽者需要標記出所給樣例每幅圖像中的標記絕緣子串珠區域的掩模圖像。掩模區域僅整個絕緣子串珠。
1.2.2絕緣子自爆識別和定位
根據分割圖像初步識別絕緣子所在的位置,并對絕緣子串珠進行分割,而后參賽者根據所給出的標記樣本的 Ground Truth 構建自爆絕緣子識別模型。參賽者利用訓練模型對圖像中的自爆絕緣子位置進行檢測,并利用 BoundingBox 對其進行標記。自爆標記需包括自爆位置周圍 2 個完好絕緣子。
1.3技術路線流程圖
1.3.1模型訓練流程圖
圖 1 模型訓練流程圖
1.3.2模型測試流程圖
圖 2 模型測試流程圖
二、基本理論
2.1卷積神經網絡
卷積神經網絡(CNN)是一種具有稀疏連接和權值共享的深度神經網絡模型, 其權值共享的模式減少了訓練參數,降低了復雜度,使其變得簡單且適應性強, 近年來引起眾多科學領域的廣泛關注。卷積神經網絡直接以圖像作為輸入,避免 了傳統方法提取特征的過程,在圖像處理上可保留像素的空間位置關系。其網絡 結構對圖像的平移、比例縮放、旋轉等其他形式的形變具有高度不變性。在卷積 層中,卷積核的作用等同于濾波器,由于 RGB 色彩模式的圖像每個通道等同于一個二維矩陣,所以卷積層通過滑動窗口的方式將卷積核與輸入圖像的每個通道 進行卷積操作,提取出不同類型的特征,稱為特征圖(feature map, FM),特征圖的個數和卷積核的個數相同;池化層又稱為子采樣層(sub-sampling layer),通過池化操作對數據進行降維,縮小輸入數據規模,減少計算量,通常有最大池化、平均池化和隨機池化等計算方式;由于卷積和下采樣操作造成特征圖分辨率降低, 所以利用反卷積層通過插值運算將特征圖恢復到輸入圖像大小,然后輸出為二維 矩陣,矩陣的值表示某個像素歸屬為某一類的概率。卷積網絡通過誤差反向傳播 算法周期性地更新卷積核的權重實現進行求解優化,通過卷積網絡模型在數據集 上的誤差和精確度確定網絡優化程度。
2.2全卷積神經網絡
傳統的卷積神經網絡只能整幅圖像進行分類,也就是說只能解決圖像識別問題 。全卷積神經網絡(FCN)與經典的 CNN 在卷積層之后使用全連接層得到固定長度的特征向量進行分類(全聯接層 + softmax 輸出)不同,FCN 可以接受任意尺寸的輸入圖像,采用反卷積層對最后一個卷積層的 feature map 進行上采樣, 使它恢復到輸入圖像相同的尺寸,從而可以對每個像素都產生了一個預測, 同時保留了原始輸入圖像中的空間信息, 最后在上采樣的特征圖上進行逐像素分類,最后逐個像素計算 softmax 分類的損失, 相當于每一個像素對應一個訓練樣本,從而解決了圖像分割問題。
2.3殘差連接
在深度學習中,卷積網絡的深度是獲得優異性能的重要因素,深層的網絡能 夠提取到更高級別的特征信息,但隨之引起的梯度彌散問題卻導致網絡無法收斂, 甚至網絡退化問題,即增加網絡層次反而會導致更大的誤差。為了解決該問題,文獻[1]通過在一個淺層網絡基礎上疊加 𝑦 = 𝑥 的恒等映射(identify mapping)達到當增加深度時網絡性能保持不退化,且理論上允許訓練任意深度的網絡,其優化方法基本上與網絡的深度獨立。圖 3 為殘差連接示意圖。左側連接為殘差連接, weight layer 為神經網絡中相鄰兩層。帶有殘差連接的網絡輸出公式如下:
y=F(x,ωi)+W,x(1)y=F(x,{\omega_i})+W,x \qquad(1)y=F(x,ωi?)+W,x(1)
其中: F 是關于 x 和ωi{\omega_i}ωi? 的函數,F=W2σ(W1x)F=W_2 \sigma(W_1x)F=W2?σ(W1?x);WiW_iWi?代表神經網絡第iii層的權值; ? σ\sigmaσ代表激活函數 ReLu; x 是第一層的輸入; y 為輸出。
圖 3 殘差連接示意圖
當殘差連接的輸入和輸出維度相同時,WsW_sWs? 退化為 1,維度不同時,通過方陣WsW_sWs?變換到相同維度。
對于殘差y?xy-xy?x,如果等于 0,則 y=xy=xy=x 就是恒等映射,沒有引入額外的參數和計算復雜度,神經網絡的負擔不會增加;如果不等于 0 但逼近 0,則整個網絡只需要學習輸入/輸出差別的部分即可,簡化學習目標。因此,使用殘差連接能夠保證神經單元的整體輸出結果向原始輸入靠攏,最大程度地保留主要特征,從而使卷積網絡逼近恒等映射,達到最小化誤差的目的。
三、數據預處理
3.1 掩膜圖像二值化
通過對原始掩膜圖像的研究發現,原始的掩膜圖像并不是二值圖像,如果直接用原始的圖像進行模型的訓練可能對影響模型的訓練效果,所以首先對原始的掩膜圖像進行的二值化操作,使得掩膜圖像像素值只有 0 和 255 兩種像素。
3.2圖像切分
由于無人機圖片尺寸過大且不統一,不可直接將其作為神經網絡的輸入。而直接對原圖像進行resize 操作會導致圖片失真影響訓練效果,為了解決這一問題, 本文采用圖像切分的方法對原圖像進行處理。首先將原圖像長寬都 resize 到 256的倍數,然后用 256×256256\times256256×256 的滑動窗口對原圖像進行切割,并以原圖像名+每幅圖像的位置對切割后的圖像進行命名,便于后續對圖像進行還原。例如:子圖001_10_6.jpg 表示為原圖像 001.jpg 的第 10 行第 6 列的位置。原圖和其切割后的圖像分別如圖 4 和圖 5 所示。
圖 4 原始圖像
圖 5 切分后的圖像
3.3數據擴增
原始數據集共有 40 張無人機圖片,經過圖像切分后數據集變為了 14459 個子圖片,對于深度學習項目來說,數據集是不夠的。在此我們通過 OpenCV 對切割后的原圖和標注圖像進行數據集擴張處理,主要有隨機調整大小(讓出邊緣),圖像四周拼接邊緣,旋轉圖像(隨機角度),仿射變換(平移),縮放,添加噪聲(加入高斯噪聲,椒鹽噪聲)等方法將數據集擴張到了原來的 8 倍。
圖 6 數據增強對比圖
3.4數據集調整
經過圖像切分和數據擴增后數據集被擴增到了 115672 張子圖片,由于絕緣子占整張圖片的中的很小的一部分,所以在所有的數據集中沒有目標(即絕緣子) 的圖片占絕大多數,如果把這些圖片都放入模型中進行訓練,可能會導致模型對背景的識別能力大于對絕緣子的識別能力,導致絕緣子的分割效果不佳。因此, 我們需要將數據集進行調整,使得數據集更加平衡。通過對分割后的標簽圖像找出所有帶有目標的圖片一共 15718 張子圖片,然后在所有只含背景圖片中隨機選
出 15718 張圖片,構成新的數據集。
表 1 數據集大小變換
3.5預處理流程圖
圖 7 圖像分割預處理流程圖
四、絕緣子串珠分割
4.1圖像分割算法
在深度神經網絡中使分辨率降低的特征提取部分可以稱為編碼器,恢復到原圖片分辨率的稱為解碼器,這類網絡例如 Unet[2]和 Segnet[4]。
4.1.1Unet 網絡
基于全卷積神經網絡(FCN),文獻[2],提出了一種 U 行結構的全卷機神經網絡—Unet。Unet 神經網絡模型被廣泛的應用到遙感影像和醫學影像的語義分割, 該模型是一種編碼解碼網絡結構。其網絡結構如圖 8 所示,它主要由特征提取部分和上采用還原部分組成,特征提取部分重復地使用了 2 個 3×33\times33×3 卷積層和一個2×22\times22×2 最大池化層。上采樣還原部分使用了兩倍的上采樣和兩個3×33\times33×3卷積層,每上采樣一次都和特征提取部分與之對應的特征圖進行拼接,其中每兩個 3×33\times33×3 卷積層中第一個 3×33\times33×3 卷積層的作用是降低特征圖的數量和提取特征。最后采用Softmax 分類器進行像素級的分類,達到語義分割效果。
圖 8 Unet 網絡結構圖
4.1.2Segnet 網絡
基于全卷機神經網絡文獻[4]提出了一種新的、實用的用于語義像素分割的深度全卷積神經網絡結構 SegNet。Segnet 神經網絡是一種以深度卷積為基礎,融合編碼-解碼結構(encoder-decoder)的深度學習網絡。編碼器網絡和解碼器網絡的對稱結構構成了 Segnet 的主要部分,除此之外還有一些輸出層。編碼器網絡由用于圖像分類的 VGG16 網絡的前 13 層組成,對應圖 9 對稱結構的左半部分,與完整的 VGG16 網絡相比減少了3層,這是由于整個網絡結構移除了用在特征提取層之間的全連接層,支持在編碼器的深層網絡輸出中保留更高分辨率的特征圖, 同時大幅度減少訓練時參數的數量。編碼網絡部分包括 13 個卷積層(Convolution),其中包括與其配合的批歸一化層(Batch Normalization, BN)、激活層 Rectified Linear Unit, ReLU)及池化層(Pooling);解碼網絡包含相同的 13層卷積層,及與池化層對應的上采樣層(Upsampling)。網絡最后通過 Softmax 分類器進行像素點分類,完成語義分割。
圖 9 Segnet 網絡結構圖
4.1.3U-Segnet 網絡
基于 Unet 和 Segnet 神經網絡文獻[5]在 2018 年提出了一種全卷積神經網絡(FCN),它是 SegNet 和 U-Net 兩種廣泛應用的深度學習分割結構的混合,用于改進腦組織分割,網絡結構如圖 10 所示。雖然基本架構類似于 SegNet,但創造性地將 Unet 中的跳躍連接結構引入 Segnet 中,這些跳躍連接有助于所提出的網絡捕獲細粒度多尺度信息,以便更好地識別組織邊界。
圖 10 U-Segnet 網絡結構圖
4.1.4改進的 U-Segnet 網絡
本文基于文獻[5]提出的 U-Segnet 神經網絡模型,提出了一種新的全卷積神經網絡(FCN)模型—U-Segnet-Pro,網絡結構如圖 11 所示。由于本文目的是從無人機圖像中分割出絕緣子,而由于無人機圖片較大,絕緣子串珠占據圖片中很小的 一部分區域,要想更加精確的分割出絕緣子,這就要求提取到圖片更深層更精細 的特征,即要求網絡達到一定的深度。然而深層的網絡能夠提取到更高級別的特 征信息,但隨之引起的梯度彌散問題卻導致網絡無法收斂,甚至網絡退化問題, 即增加網絡層次反而會導致更大的誤差。針對此問題文獻[1]提出了一種殘差網絡 結構(Residual Network),該結構解決了由于增加網絡深度導致模型退化這一問題。故本文為了得到更好的分割效果,在原始的 U-Segnet 網絡編碼部分后引入 3 個殘差塊(Resnet Block)達到增加網絡深度的目的。
圖 11 U-Segnet-Pro 網絡結構圖
4.2圖像分割技術路線
圖 12 圖像分割技術路線
五、連通區域檢測
連通域指的是在某個區域內,任意兩個像素之間都能夠通過由這個區域內的 像素點組成的路徑連接起來,并且在這個區域內的所有像素點都具有相似的特征, 一幅二值圖像或者多值圖像當中可以存在多個連通域,而且任意兩個連通域是不 重疊也不會相鄰的。連通區域標記是一種在計算機視覺和圖像分析處理里面較為 常用的技術,在目標分割與提取、視覺跟蹤等領域又很多應用,其主要用來檢測 二值圖像當中的連通區域并標記,連通域分析方式的使用一般基于先將前景目標 提取出來這樣一個前提之上。
將圖像分割后得到的圖像拼接得到的完整分割圖像如圖 13 所示,可見除了絕緣子還有一些其他的地方也被分割出來了,這些地方都是一些分散的小點,通過計算連通區域面積,再利用面積閾值即可將其去除。
圖 13 圖像分割結果
5.1連通域標記與面積計算
從連通域的定義中可以得知,一個連通區域是由具有相同像素值的相鄰像素組成的像素集合,也正是通過“相同像素值”和“相鄰像素”這兩個條件來定位連通域并標記每個連通域。為了保證該標記的唯一性,以此來區別不同的連通域。對于二值圖像來說,連通性的判斷有兩種度量準則,即根據像素的 4 連通和 8 連通兩種相鄰關系,4 連通域如圖 14 所示,八連通域如圖 15 所示:
在二值圖像中,把符合 4 領域連通域或者 8 領域連通域準則的像素組成的區域標記上唯一的數字,這樣的標記就是掩碼,通常最大的掩碼代表圖像中連通域的數目。這樣一來,一幅二值圖像中的多個目標區域就被分別賦予唯一的標記號,然后對每個掩碼所對應的區域做相關記錄統計工作,把參數存儲到一個存儲空間當中。
對一幅二值圖像來說,計算其連通域面積就是統計其連通域范圍內的白色像素點的個數,以 8 連通域任意一點開始為例,從該點向其鄰域開始掃描并延伸至圖像邊界,在擴展延伸的同時統計白色像素點的數量,由此得到的統計結果就是連通域的面積并將面積值存儲到一個一維數組當中。
5.2面積閾值的計算
堆的結構可以分為大根堆和小根堆,是一個完全二叉樹,而堆排序是根據堆的這種數據結構設計的一種排序。每個結點的值都小于其左孩子和右孩子結點的值,稱之為小根堆。如下圖
圖 16 小根堆結構示意圖
本文采取的是時間復雜度為 0 的“小根堆”方法來確定面積閾值,思路是在存放上一節得到的連通域數組中尋找出和絕緣子串個數保持一致或者接近的 K 個最大值,再從這 K 個值當中選擇合適的值,例如平均值或者中值作為設定的面積閾值。經過“小根堆”方法可以得到的所需要的 K 值,此時可以對得到的 K 個值排序,本文取中值 midarea,面積閾值設定為 0.5×midarea0.5 \times midarea0.5×midarea。利用得到的面積閾值對圖 13 做閾值分割,得到的處理結果如圖 17 所示:
圖 17 連通域面積閾值分割結果
從面積濾波的結果可以看出,圖像中復雜的自然背景已經完全被濾除,而且絕緣子串所在的區域也被保留下來了。
六、圖像分割結果分析
6.1實驗環境
實驗采用的機器的硬件環境如表 2 所示,軟件環境如表 3 所示。
表 2 實驗的硬件環境
表 3 實驗的軟件環境
6.2評價指標
絕緣子串珠分割采用 Dice 系數進行評價,通常計算兩個樣本的相似度
dice(A,B)=2∣A∩B∣|A|+|B|dice(A,B)=\frac{2|A \cap B|}{|A|+|B|}dice(A,B)=|A|+|B|2∣A∩B∣?
其中,A 為 GroundTruth 區域即專業人士標注的區域,B 為算法分割所得到的區域。Dice 系數取值范圍是[0,1],取值越接近 1 則越表明預測的結果與專業人士標注的結果相符合。
6.3實驗過程及結果分析
6.3.1訓練超參數設置
模型訓練的超參數設置如表 4 所示:
表 4 訓練超參數設置
學習率(Learning rate)的大小影響參數更新的幅度,如果學習速率過大,可能會使網絡不能收斂,如果學習率過小,會導致網絡收斂的速度過慢。在深度學習中網絡參數進行更新時,開始更新的幅度較大,在接近收斂時更新幅度較小。
如果學習率為一個固定值,在網絡快要收斂時會導致越過最優值在最小值附件波動,故在此我們在前 100 epoch 設置學習率大小為 0.001,后 100 epoch 設置為0.0001 進行訓練。Batch size 表示每次放入 GPU 進行訓練的圖片數量,這個值受網絡的參數量和 GPU 顯存的影響,訓練的精度會隨著 Batch size 增大而增大, 綜合考慮在現有的硬件條件下設為 20。
如圖 18 所示,表示在上述超參數設置條件下,模型隨著迭代次數的增加訓練集的損失情況。
圖 18 圖像分割損失隨迭代次數變化圖
6.3.3 結果分析
由表 5 和表 6 可知在模型的收斂速度上不如其他網絡,但是在模型分割的效果上來看確比其他模型的效果好得多,以少許的收斂速度換取模型的精度,這在工業上是可以接受的。
表 5 模型收斂速度對比
表 6 測試結果對比
七、目標檢測數據預處理
7.1數據采集
原始數據集大小為 40,這對目標檢測任務來說數據量太少,為了得到較優的模型訓練結果,本文首先將原始的數據集進行了擴充。采集了 200 張圖片數據,經過人工篩選最終有 46 張圖片符合要求,初始數據擴充到 86 張。
7.2人工標注
由于采集到的 46 張圖片數據沒有掩膜圖像,為了不影響模型的訓練效果和便于后續進一步提取絕緣子,本文針對這些圖像采用人工標注的方法,得到其掩膜圖像。使用的標注工具為開源軟件 Labelme,其界面如圖 19 所示。
圖 19 Labelme 軟件界面
7.3絕緣子提取
為了提高模型的訓練精度,剔除背景對模型訓練的影響。本文采用公式(3),利用掩膜圖像對原始圖像中的絕緣子進行了提取,將絕緣子從圖片中分割出來,再放入模型中進行訓練。
new_img=img×mask/255new\_img=img\times mask/255new_img=img×mask/255
其中,img 表示原始圖片像素值,mask 表示掩膜圖片像素值,new _ img 表示提取絕緣子后圖片的像素值。
效果圖如圖 20 所示:
圖 20 提取絕緣子前后圖片對比
7.4數據增強
經過上述處理后,數據集被擴增到了 86 個,但是對目標檢測任務來說還遠遠不夠。故在采用數據增強的方法對數據集進行進一步的擴增。數據增強方法為對原始圖片分別進行隨機平移,旋轉 90 度、180 度、270 度,沿 x 軸翻轉,沿 y 軸翻轉,顏色通道變換,將數據集擴增了 8 倍。如圖 21 所示
圖 21 目標檢測數據增強對比圖
數據集大小變化如下:
表 7 目標檢測數據集大小變化
八、目標檢測
8.1YOLO v3 算法基本原理
YOLO(you only look once,YOLO)文獻[6]是一種基于深度神經網絡算法的對象識別和定位算法,將目標檢測歸類于回歸問題,將圖片劃分為若干網格,在每個網格上通過候選框預測,最終輸出每個候選框預測的類別概率和坐標。其特點是運行速度快,可以用于實時系統。在保持速度優勢的前提下,提升了預測精度,尤其是加強了對小物體的識別能力。這與絕緣子缺陷檢測的應用極為契合。
在基本的圖像特征提取方面,YOLO v3 采用了 Darknet-53 網絡結構,如圖 22 所示,它含有 53 個卷積層,同時借鑒殘差網絡(residual network)[1],在卷積層之間設置了快捷鏈路(shortcut connections)。
圖 22 Darknet-53 網絡結構
Darknet-53 網絡采用 256×256×3 作為輸入,每個殘差組件(residual)有 2 個卷積層和一個快捷鏈路,如圖 23 所示。
圖 23 殘差組件
通過引入殘差組件,將前若干層的數據輸出直接跳過中間層而引入到后面數據層的輸入部分,后層的輸入特征將有一部分來自其前面某一層的線性貢獻。
8.2目標檢測技術路線
圖 24 目標檢測技術路線
九、實驗及結果分析
9.1評價指標
在此任務中將精度定義為,測試集中檢測出來的缺陷框總數占總缺陷框的比重。具體公式如下所示。
ACC=Test_NumTotal_Num(4)ACC=\frac{Test\_Num}{Total\_Num}\qquad(4)ACC=Total_NumTest_Num?(4)
其中,ACC 指的是精確度,Test _ Num 指的是測試集中檢測出來的缺陷框總數, Total _ Num 指的是總缺陷框數量。
絕緣子自爆區域評價采用 IOU,IOU 表示產生的候選框(Candidate Bound) 與原標記框(Ground Truth Bound)的交疊率或者說重疊度,也就是它們的交集與并集的比值。相關度越高該值。最理想情況是完全重疊,即比值為 1。
IOU=area(C)∩area(G)area(C)∪area(G)(5)IOU=\frac{{area(C)}\cap{area(G)}}{ area(C) \cup area(G)} \qquad(5)IOU=area(C)∪area(G)area(C)∩area(G)?(5)
9.2實驗過程及結果分析
通過對數據集進行擴增,本文共獲得 688 張可供訓練的絕緣子圖片。數據集中包含一串或多串絕緣子,可根據絕緣子是否存在缺陷的情況將其標注為正樣本或負樣本。進一步將數據集按 9:1 劃分,其中訓練集占 90%,測試集占 10%。
本文的實驗環境如表2 和表3 所示,訓練階段采用異步隨機梯度下降法(SDG), 動量項設置為 0.9,權值的初始學習率設置為 0.001,衰減系數設置為 0.0005,采用多尺度訓練,歷時 2 天,模型的整體損失值穩定在 4.0 左右, 模型的預測示例如圖 25 所示。
圖 25 模型預測結果示例
YOLO v3 模型與 SSD 模型測試結果對比如表 8 所示,可見 YOLO v3 算法不論是在精度還是 IOU 值大小上均超過 SSD 算法,故 YOLO v3 算法更適合絕緣子的缺陷檢測任務。
表 8 測試結果及算法對比
本文也做過直接將沒有分割出絕緣子的原始圖片放入模型中訓練,結果如表9 所示,由表可知,將絕緣子從原始圖片中分割出來,大大提高了模型檢測的精度和檢測 IOU 值。
表 9 是否分割出絕緣子結果對比
十、總結與展望
10.1本文工作總結
本文首先分析了現階段電力系統人工巡線的弊端和無人機電力巡檢的應用研究價值,然后對國內外對航拍圖像中絕緣子“自爆”特征識別的研究現狀做了說明,介紹了本課題的研究意義與價值,以航拍圖像中輸電線路的絕緣子“自爆”現象為研究目標。在傳統計算機視覺及圖像處理相關技術的絕緣子“自爆”特征識別算法的比較基礎上,巧妙的采用語義分割與目標檢測結合的方式,大大提高了絕緣子“自爆”檢測的精度。本文所做的工作主要包括以下三個方面:
1.分析了傳統的人工巡檢存在的一些問題,然后針對這些問題,提出了用無人機電力巡檢結合圖像處理與機器學習(深度學習)的方法,對圖片進行標注。
2.本文首先直接將原始圖像放入 YOLO v3 模型中進行模型的訓練,發現訓練出來的模型在測試集上的精度較低,原因是無人機拍攝的絕緣子圖片存在背景復雜、背景與絕緣子的區分度低、絕緣子種類繁多、數據集覆蓋面窄等問題。針對這些問題本文提出先將絕緣子從原始圖片中分割出來, 然后再利用 YOLO v3 模型進行訓練。
3.將絕緣子從原始圖片中分割出屬于圖像分割中的語義分割,經過多個模型的對比本文使用的語義分割模型是 U-Segnet-Pro,這個模型是在 U- Segnet 的基礎上增加網絡深度并加入殘差塊構成。在經過語義分割后的圖片除了含有絕緣子外,還有一些其他的“雜點”,為了得到更加純凈的絕緣子串,再采用連通區域面積濾波對圖片進行小連通區域的剔除。得到分割出來的掩膜圖后,結合原始圖像即可將絕緣子分割出來。最后將分割后的絕緣子圖片帶入 YOLO v3 模型中訓練即得到精度較高絕緣子“自爆” 檢測模型。
10.2未來工作展望
雖然本文訓練出來的模型在測試集上取得了不錯的效果,但想要真正使用到實際生活中,仍然具有一定的局限性。
主要有以下三個方面:
1.使用本文提出來的方法對絕緣子“自爆”進行檢測,需要先使用圖像分割模型將絕緣子從原始圖像中分割出來,再利用目標檢測模型進行檢測。相比傳統的檢測方法而言,模型的實時性較低,所以這是未來要研究和解決的一個問題。
2.在本文的第五個部分連通區域檢測中,進行連通區域面積閾值分割時,有少量的圖片,并不能剛好只剩下絕緣子部分,會含有部分背景區域,這個背景區域可能對模型的訓練結果產生一定的影響,未來在閾值取值部分可進行深入研究。
3.輸電線路所處環境復雜多變,本文提出的絕緣子“自爆”檢測模型,所使用的數據集都是比較清晰、明亮的數據,使用這種數據訓練出來的模型的魯棒性不高,在陰雨天,或者是光線較暗的惡劣環境下對模型的精度會有一定的影響。所以提出能夠在惡劣環境仍然具有較好適應性和穩定性的識別算法問題是未來研究的一個方向。
參考文獻
[1]Deep residual learning for image recognition. He K,Zhang X,Ren S,et al. IEEE Conference on Computer Vision and Pattern Recognition . 2016
[2]U-Net:Convolutional Networks for Biomedical Image Segmentation.
Ronneberger O,Fischer P,Brox T. . 2015
[3]Fully convolutional networks for semantic segmentation. Long J,Shelhamer E,Darrell T. IEEE Transactions on Patern Analysis and Machine Intelligence . 2014
[4]SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation. Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla, Senior Member, IEEE . 2016
[5]U-SEGNET: FULLY CONVOLUTIONAL NEURAL NETWORK BASED AUTOMATED BRAIN TISSUE SEGMENTATION TOOL. Pulkit Kumar,Pravin Nagar,Chetan Arora,Anubha Gupta,Indraprastha Institute of Information Technology-Delhi (IIIT-Delhi), Delhi, India . 2018
[6]YOLOv3: An Incremental Improvement. Joseph Redmon, Ali Farhadi,University of Washington.2018
[7]王兵,李文璟,唐歡.改進 Yolo v3 算法及其在安全帽檢測中的應用[J/OL].計算機工程與應用:1-11[2020-05-
03].http://kns.cnki.net/kcms/detail/11.2127.TP.20200225.1117.002.html.
[8]鞠默然,羅海波,王仲博,何淼,常錚,惠斌.改進的 YOLO V3 算法及其在小目標檢測中的應用[J].光學學報,2019,39(07):253-260.
[9]張凱航,冀杰,蔣駱,周顯林.基于 SegNet 的非結構道路可行駛區域語義分割[J]. 重慶大學學報,2020,43(03):79-87.
[10]楊凱,孫志毅,王安紅,劉瑞珍,王銀,孫前來,康曉麗.基于 YOLO 網絡系統的材料缺陷目標檢測方法研究[J/OL].系統科學學報,2020(03):70-75[2020-05- 03].http://kns.cnki.net/kcms/detail/14.1333.n.20200224.1123.028.html.
[11]林志成, 繆希仁, 江灝, 陳靜, 劉欣宇, 莊勝斌.基于深度卷積神經網絡的輸電線路防鳥刺部件識別與故障檢測[J/OL].電網技術:1-11[2020-05-
03].https://doi.org/10.13335/j.1000-3673.pst.2019.1775.
[12]張煥坤,李軍毅,張斌.基于改進型 YOLO v3 的絕緣子異物檢測方法[J].中國電力,2020,53(02):49-55.
[13]羅元,王薄宇,陳旭.基于深度學習的目標檢測技術的研究綜述[J].半導體光電,2020,41(01):1-10.
[14]王孝余,韓冰,李丹丹,羅軍,黃勝,張杰.基于視覺的絕緣子缺陷檢測方法[J].計算機工程與設計,2019,40(12):3582-3587.
[15]楊文斌. 基于深度學習的圖像語義分割關鍵技術與方法研究[D].南京郵電大學,2019.
[16]黃友文,游亞東,趙朋.融合卷積注意力機制的圖像描述生成模型[J].計算機應用,2020,40(01):23-27.
[17]崔振超. 基于 Unet 的舌體分割算法[C]. 中國中西醫結合學會診斷專業委員會.中國中西醫結合學會診斷專業委員會第十三次全國學術研討會論文集.中國中西醫結合學會診斷專業委員會:中國中西醫結合學會,2019:8.
[18]汪志文. 基于深度學習的高分辨率遙感影像語義分割的研究與應用[D].北京郵電大學,2019.
[19]盧秋芬. 基于機器視覺竹條缺陷識別技術研究[D].福建農林大學,2019.
[20]鞠默然,羅海波,王仲博,何淼,常錚,惠斌.改進的 YOLO V3 算法及其在小目標檢測中的應用[J].光學學報,2019,39(07):253-260.
[21]呂易航. 航拍圖像中絕緣子串檢測、分割與自爆故障識別方法研究[D].鄭州大學,2019.
[22]蘇健民,楊嵐心,景維鵬.基于 U-Net 的高分辨率遙感圖像語義分割方法[J].計
算機工程與應用,2019,55(07):207-213.
[23]唐靜. 基于深度學習的結直腸病理輔助診斷方法研究[D].東南大學,2018.
[24]袁兵. 基于全卷積神經網絡的圖像分割算法的研究及應用[D].電子科技大學,2018.
[25]溫佩芝,苗淵淵,周迎,馮麗園.基于卷積神經網絡改進的圖像自動分割方法[J].
計算機應用研究,2018,35(09):2848-2852.
[26]熊杰. 航拍圖像的絕緣子自爆特征識別研究[D].電子科技大學,2016.
附錄
1.SSD 算法簡介:
SSD 算法,其英文全名是 Single Shot MultiBox Detector。從名字可看出SSD 是屬于 one-stage 方法的多框預測。SSD 是以 VGG16 為基礎模型,然后在 VGG16 的基礎上增加了卷積層以此來獲得更多的特征圖,把這些特征圖用于后續的檢測。SSD 網絡模型如下圖所示。
SSD 算法網絡結構
2.SSD 的基本步驟:
1.輸入一幅圖片,讓圖片經過卷積神經網絡(CNN)提取特征,并生成feature map。
2.抽取其中六層的 feature map,然后再 feature map 的每個點上生成 default box(各層的個數不同,但每個點都有)。
3.將生成的所有 default box 都集合起來,全部丟到 NMS(極大值抑制)中, 輸出篩選后的 default box,并輸出。
總結
以上是生活随笔為你收集整理的泰迪杯论文B题(特等奖)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【实践与问题解决29】苹果系统如何做脚本
- 下一篇: 如何使用Nginx来实现企业微信域名校验