白健鵬,王巍,陳雨溪,焦嵩鳴
(華北電力大學 自動化系,河北 保定 071003)
2021 年3 月,十三屆全國人大四次會議通過 的“十四五”規(guī)劃和2035 年遠景目標綱要中提出“要制定 2030 年前碳達峰行動方案,努力爭取 2060年前實現(xiàn)碳中和”[1]。實現(xiàn)以風電為代表的可再生能源高質量和規(guī)?;l(fā)展,是構建新型電力系統(tǒng)、加速能源轉型進程、實現(xiàn)“雙碳”目標的關鍵所在[2]。
因風電機組主要分布在比較偏遠且環(huán)境惡劣的地區(qū),在迅速發(fā)展的同時,風機葉片表面結冰、斷裂、剝落等一系列故障問題也相應而生,此類故障不僅嚴重影響機組的正常使用壽命,同時還帶來高額的維護成本[3]。傳統(tǒng)風機葉片檢測方法費時費力無法滿足大面積檢測要求,采用無人機檢測可實現(xiàn)風機葉片低強度、快速化、低成本、少停機式巡檢,盡早發(fā)現(xiàn)葉片表面損傷并及時進行處理。風力發(fā)電機停機后其槳葉位置不確定,應用無人機對其自主巡視時,無法采用固定巡檢路線,故需使用無人機對風機的全景拍攝,并運用目標檢測算法對槳葉、輪轂進行實時檢測,進而對槳葉葉尖精準定位。
傳統(tǒng)的目標檢測方法已不能適應日益復雜的應用環(huán)境[4]。而深度學習由于其強大的特征提取能力,在目標檢測任務中展現(xiàn)出強大的優(yōu)勢。然而,隨著網絡層數(shù)的加深,所包含的參數(shù)量信息也隨之增大,深度網絡密集復雜的計算對硬件要求非常高,導致難以將其部署在普通硬件設備上[5-6]。由于機載計算板的計算能力有限,需對目標檢測算法進行改進,以達到輕量化的目的。
近年來,一些研究人員通過模型量化[7-8]、參數(shù)剪枝[9]、知識蒸餾[10]和設計輕量型架構單元等技術來達到網絡模型儲存量和計算量降低的目=的[11]。相比上述幾種技術,手工設計的輕量型架構單元具有遷移快速、即插即用等優(yōu)點,早已成為輕量型網絡架構設計的主流,并在下游任務目標檢測和圖像分割任務上表現(xiàn)出優(yōu)異性能。MobileNetv2[12]采用了深度可分離卷積和倒殘差塊,減少了模型的計算浮點數(shù),同時大大提高了計算效率。ShuffleNetv2[13]利用分組卷積和通道改組操作減少了網絡結構不必要的開銷。Shift-Net[14]提出用交錯的移位運算和逐點卷積來取代昂貴的空間卷積。GhostNet[15]提出了一種新的Ghost 模塊,通過低成本的線性變換生成能夠揭示內在特征信息的特征圖,從而提高模型的整體性能。
在風機槳葉定位領域一些相關專家和學者也進行了一定的研究,潘佳捷[16]提出一種基于已知風機結構的槳葉定位方法,首先通過手動操控使無人機正對風機后對風機進行全景圖像采集,利用人工的方式檢測圖像中的槳葉信息,再通過視覺測量算法解算槳葉的空間位置坐標,但該方法仍需人工參與,操作難度較大,對操作員的要求較高。朱凱華[17]提出一種基于ED-Lines 算法的槳葉定位方法,該方法首先使無人機飛行至正對風機位置進行圖像采集,然后提取圖像中槳葉的邊緣直線解算槳葉角度,最后通過風機的實際物理參數(shù)對槳葉進行三維空間定位,但此方法需使無人機正對風機,定位精度依賴無人機正對效果。勾月凱等[18]提出一種風電機組葉片智能巡檢策略,其包含對風機槳葉定位的方法,此方法將無人機所采集到的風機整體圖像遠程傳輸至地面站,再利用圖像解析模塊獲取風機的航向角以及槳葉的相位角,從而對槳葉進行精確定位,但該策略中另需部署一套完整的圖像傳輸系統(tǒng),成本較高且較為復雜。Kanellakis 等[19]使用超帶寬技術對巡檢無人機進行定位,然后利用無人機對風力發(fā)電機進行水平切片圖像采集,進而對風機槳葉角度進行解算并根據已知的風機尺寸信息對其精準定位,但此算法依賴超寬帶技術的定位精度,需在每個風機周圍布置多個錨點,實際部署成本較高,難度較大。Guo 等[20]提出一種基于Mask R-CNN 深度學習的風機槳葉定位方法,獲取風機全景圖后利用深度學習算法提取圖像中的風機信息,最后通過無人機的位置信息以及機組基礎信息對槳葉葉尖的空間坐標進行計算,以實現(xiàn)風機槳葉的精確定位,但該方法中所采用的深度學習算法對機載計算機的性能有較高的要求。MOOLAN-FEROZE 等[21]利用卷積神經網絡對風機各部位進行檢測,通過風機模型的結構信息和無人機的位姿信息對風機槳葉進行三維重建,從而對槳葉葉尖進行定位,此方法中所使用的卷積神經網絡檢測速度較慢,同樣難以對風機進行實時目標檢測。
本文提出了一種基于輕量型YOLOv5 的風機槳葉檢測與空間定位方法,在已知風力發(fā)電機模型參數(shù)、風機塔筒精確位置坐標的基礎上,令無人機對風力發(fā)電機進行全景圖像采集;并使用目標檢測算法檢測出全景圖中的風機輪轂和槳葉,進而得到全景圖像中風機輪轂以及槳葉葉尖的像素坐標;考慮到無人機機載計算板的計算能力有限,為提高檢測效率,減輕機載計算板的運行負擔,故對YOLOv5 目標檢測器進行輕量化設計;最后利用無人機當前的位姿狀態(tài)以及提取到的特征信息解算風機的精確航向角,同時根據成像平面與槳葉平面的空間幾何關系,進一步對槳葉角度進行計算,從而對風機槳葉進行精準定位。
文獻[12,14-15]雖然考慮到模型的計算復雜度和參數(shù)量,減少網絡前向推理的理論耗時,但是計算復雜度和參數(shù)量只是衡量目標檢測器的實際推理耗時的間接指標。內存訪問成本、模型并行程度、組卷積操作數(shù)量以及元素級操作同樣是影響實際推理耗時的重要因素。
受ShuffleNetv2 的啟發(fā),以分組數(shù)量為2 的通道改組(channel shuffle)以及縮小分組數(shù)量的深度分組卷積(depthwise convolution,DWConv)操作能最大限度地降低存儲器訪問成本以及計算復雜度。本文以YOLOv5s 作為基礎目標檢測器,由于YOLOv5s 的初始層Focus 模塊在本文實驗開展的邊緣設備ARM 平臺上執(zhí)行效率低下,故將其替換為Stem 層,將YOLOv5s 的初始Focus 層替換為Stem 層,ShuffleNetv2 中的基礎模塊ShuffleBlock(SFB)替換YOLOv5s 的Darknet53[22]主干網絡,為充分發(fā)揮SFB 特征提取潛能,保證特征提取網絡的簡潔精干,剔除SPP 層[23],并保持YOLOv5s原來的PANet 頸部網絡[24]融合多尺度特征和預測頭部,形成新的目標檢測器Shuffle-YOLOv5。相比于原YOLOv5 目標檢測器,新的目標檢測器Shuffle-YOLOv5 能夠在允許的精度誤差范圍內大幅度提升檢測速度。圖1 給出了Shuffle-YOLOv5檢測器整體網絡架構,其中BN 代表Batchnorm2d,ReLU 代表非線性激活函數(shù)。
圖1 Shuffle-YOLOv5 網絡架構Fig.1 Shuffle-YOLOv5 network architecture
為充分提取圖像的深層語義信息,設計了步長(stride)分別為1 和2 的兩種SFB 結構,其中步長為1 的SFB 結構不會降低特征圖的尺寸大小,步長為2 的SFB 結構會將特征圖的尺寸大小減半,圖2 展示了兩種SFB 結構。
圖2 SFB 網絡結構Fig.2 SFB network structure
在相同的計算復雜度的情況下,輸入通道數(shù)和輸出通道數(shù)接近1∶1 時,模型并行程度最高,內存訪問成本最小而且模型的計算速度最快[13]。在SFB 結構中使用卷積操作、通道分離(channel split)、特征圖級聯(lián)(concat)保持輸入和輸出相同的通道數(shù);在計算復雜度一定的情況下,過多的分組數(shù)的DWConv 操作會造成內存訪問成本過高,特征圖元素相加操作(Add)同時會降低網絡模型的計算速度,所以在進行DWConv 操作前我們盡量將通道數(shù)減半,不使用Add 操作,取而代之的是Concat 操作,并在最后引入通道改組操作,實現(xiàn)不同通道信息組之間的信息通信以提高特征重復利用率。
利用本文所設計的輕量化YOLOv5 目標檢測算法對風力發(fā)電機進行檢測,并提取風機槳葉和輪轂信息,可得到像素坐標系下的風力發(fā)電機3 個槳葉葉尖坐標和輪轂中心坐標,再利用最小二乘法擬合橢圓,其中輪轂中心為橢圓圓心,葉尖為橢圓上的點。
橢圓方程為
吊腳樓外觀上有一種結構幾何美,吊腳樓的平面多為兩開間或三開間,微呈扇形,結合江岸曲線自然成形。正面觀為一個個矩形,彌合了地形的差異,整齊美觀。腰廊形成的水平線和腰檐下的帶形窗形成的光影變化,使樓群的外觀更加生動,與下部密集支柱的垂直線條產生強烈的對比。
式中:a、b為橢圓的兩個軸長;(u0,v0)為輪轂中心的像素坐標。將3 個葉尖坐標代入式(1)可得:
式中 (ui,vi),i=1,2,3為槳葉葉尖的像素坐標。利用最小二乘法對式(2)進行求解,即可解得橢圓的軸長a、b。
因無人機對風力發(fā)電機進行全景圖拍攝時,基本保持在與輪轂同高度處,由幾何關系可知a≥b,即像素坐標系下橢圓在u方向上的軸長大于v方向上的軸長,如圖3 所示。
圖3 全景圖拍攝示意Fig.3 Panorama shooting diagram
無人機所搭載攝像頭的成像平面與風力發(fā)電機槳葉平面均與地平面垂直,由幾何關系可得
式中 θ為兩平面之間的平面夾角。
根據式(3)中的θ 與無人機此時的偏航角,即可計算出風力發(fā)電機的航向角。由于槳葉平面與地平面垂直,從而可得風機槳葉平面的法向量,進一步可解得槳葉平面所在方程,此方程可表示為
將成像平面內橢圓上的葉尖坐標點qi(i=1,2,3)投影至圓上,投影點記為pi(i=1,2,3),如圖4 所示。令起點為輪轂中心,方向垂直向下的單位向量為 η,任意取風機的一個槳葉作為基準槳葉,并以輪轂中心為起點,以此基準槳葉的投影點pi為終點形成的向量作為槳葉基準向量,則槳葉基準向量與 η之間的夾角即為所在基準槳葉的槳葉角度,再利用風力發(fā)電機3 個槳葉間的角度關系,即可得到所有槳葉的槳葉角度,如式(5)所示:
圖4 槳葉葉尖投影示意圖Fig.4 Paddle blade tip projection diagram
式中:α1為基準槳葉的槳葉角度;αi,i=2,3為其余2 個槳葉的槳葉角度。
通過式(5)計算出所有槳葉的角度后,可根據風力發(fā)電機的槳葉長度,解算槳葉葉尖的三維空間位置坐標。
輪轂的三維空間坐標已知,槳葉平面方程如式(4)所示,每個槳葉葉尖與輪轂之間的距離固定,利用計算出來的槳葉角度 αi,將槳葉葉尖投影至地平面,可得方程:
式中:(x0,y0,z0) 為輪轂的三維空間坐標;R為槳葉長度,即槳葉葉尖與輪轂之間的實際物理距離;(xi,yi,zi),i=1,2,3為槳葉葉尖的三維空間坐標。
由式(6) 即可解得槳葉葉尖的地平面坐標(xi,yi),再由幾何關系可得葉尖高度與槳葉角度之間的關系,如式(7)所示,即可解得槳葉葉尖的高度坐標zi。解算示意圖如圖5 所示。
圖5 槳葉坐標解算示意圖Fig.5 Schematic diagram of the paddle coordinate solution
無人機采用大疆經緯M210,所搭載的機載計算機為大疆MANIFOLD2-C 256GB,CPU 模塊的型號參數(shù)為Inter?Corei7-8550U,內存為8 GB,所搭載的攝像頭型號為大疆禪思Z30 云臺相機,配備30 倍光學變焦鏡頭與6 倍數(shù)碼變焦,采用Type1/28 CMOS 傳感器,分辨率為1 920×1 080,如圖6 所示。
圖6 無人機及各部件Fig.6 Drone and it’s component
為更加貼合實際,將測試環(huán)境設置在學校較為空曠的操場上,測試環(huán)境中的風力發(fā)電機為縮略模型如圖7 所示,其參數(shù)如表1 所示。
表1 風力發(fā)電機參數(shù)Table 1 Wind turbine parameters cm
圖7 風力發(fā)電機模型Fig.7 Wind turbine model
在無人機位于與風機輪轂同高度處,風機輪轂位于圖像中心,且所有槳葉可完整呈現(xiàn)在圖像的前提下,無人機可對不同槳葉角度和航向角度的風力發(fā)電機進行全景圖采集。風力發(fā)電機的航向角在-60°~60°每隔12°取點,如圖8 中的紅色線所示,同時槳葉角度在-60°~60°每隔12°再次取點,如圖8 中的黃色線所示。在所有點位可采集121 張風機全景圖,將此121 張全景圖按照7∶3 的比例劃分作為輕量型YOLOv5 神經網絡模型的訓練集與驗證集,即85 張全景圖作為訓練集,36 張全景圖作為驗證集。
圖8 全景圖取點示意Fig.8 Points taking diagram of panoramic
為準確定位像素坐標系下輪轂中心坐標和槳葉坐標,本文設計了3 種檢測標注框,即風機、葉尖、輪轂,標注框數(shù)量比為1∶3∶1。圖9 給出了標注示例。
圖9 目標框標注示例Fig.9 Example of target box labeling
本文采用目標檢測模型中常用的評價指標平均精度均值(mean average precision,mAP)對模型進行評估,通過度量目標檢測框與真值框間的交并比(intersection over union,IoU)計算各類目標平均精度(average precision,AP),以所有類目標的AP 平均值作為目標檢測模型的最終評價指標。考慮到檢測器邊界框定位坐標的準確性,列出IoU 閾值為0.5 時的mAP50 和10 個IoU(范圍為0.5~0.95)閾值的平均值mAP50:95 的情況。
在NVIDIA RTX3090 圖形處理器上以Pytorch1.7.1 環(huán)境實現(xiàn)了Shuffle-YOLOv5。在訓練階段,使用了YOLOv5s 中PANet 部分的預訓練模型。共訓練300 個Epochs,前3 個Epoch 用于熱身訓練,模型訓練和測試的圖像尺寸最長邊保持在640 像素,batchsize 設置為16,使用SGD 優(yōu)化器進行訓練,以0.001 作為余弦退火學習率調度的初始學習速率,使用數(shù)據增強技術提高模型的泛化能力,例如:左右翻轉、尺寸變化和馬賽克增強等。
為證明Shuffle-YOLOv5 的有效性,從mAP50、mAP50:95、參數(shù)量、10 億次浮點運算(GFLOPs)和單張檢測時間5 個角度來和其他輕量型目標檢測器作對比,并保持同樣的輸入尺寸640×640,所有目標檢測器所依賴的硬件設備為大疆MANIFOLD2-C 256GB,CPU 模塊為Inter?Corei7-8550U,內存為8 GB,表2 給出了對比效果。
表2 輸入圖像尺寸640×640 像素輕量型目標檢測器對比結果Table 2 Comparison of results based on an input image size of 640×640 for lightweight target detection
與原YOLOv5s 相比,Shuffle-YOLOv5 在mAP50指標上相同,犧牲了0.036 的mAP50:95 的精度,換取了47.29%的速度提升以及78%的參數(shù)量的下降,這對于以CPU 為后端的硬件設備的框架是非常友好的。和主干網絡同為ShuffleNetv2 的YOLO-fastestv2 相比mAP50:95 提升20%并且檢測速度相差不大;與其他輕量型目標檢測器YOLOv4-tiny 和YOLOv3-tiny 對比結果來看,Shuffle-YOLOv5 在各個方面都是最優(yōu)的。
為確保Shuffle-YOLOv5 通用性和泛化性,以充分體現(xiàn)其應對不同CPU 硬件設備的靈活性,本文將圖像尺寸不等間距進行調整為512×512 像素和416×416 像素,分別與上述其他模型進行對比,以縱軸為mAP50 和mAP50:95,橫軸為單張圖像檢測時間繪制曲線圖,如圖10 所示。
圖10 目標檢測器mAP 與檢測速度對比曲線Fig.10 Target detector mAP vs.detection speed curve
在圖10 中,每一條曲線代表一種目標檢測器,從曲線圖中可以看出,曲線越靠近左上方,檢測性能越優(yōu),Shuffle-YOLOv5 在檢測速度和mAP指標上都強于其他輕量型目標檢測器。圖像尺寸從640×640 像素降低到416×416 像素,Shuffle-YOLOv5mAP 相較于其他模型沒有明顯下降,單張檢測時間從68 ms 降低到34 ms,說明Shuffle-YOLOv5 可以在任意圖像尺寸下調整,以適應不同的硬件資源設備來滿足不同的應用場景。
考慮到在使用輕量型YOLOv5 對風力發(fā)電機進行檢測并提取其各部分的像素坐標時存在一定的誤差,故選取槳葉角度所對應的槳葉斜率的絕對值與1 最為接近的槳葉作為基準槳葉。以風力發(fā)電機塔筒底端為原點建立東北天三維空間坐標系,根據風力發(fā)電機的尺寸參數(shù),可得風機輪轂的空間坐標為(0,0,2.27 m),為驗證所設計定位算法的有效性,多次選取不同槳葉角度以及航向角度的風力發(fā)電機,同時令無人機飛至坐標(2.5 m,0,2.2 m)處,此位置與風機輪轂的水平距離為2.5 m,對風機進行槳葉葉尖定位測試。
選取其中1 次的定位結果進行展示,采集到的全景圖如圖11 所示,此風力發(fā)電機槳葉葉尖的實際坐標如表3 所示,定位坐標如表4 所示。
圖11 風機全景Fig.11 Panoramic view of the wind turbine
將表3 和表4 進行對比,此風力發(fā)電機3 個槳葉葉尖定位的x方向平均定位誤差為1.4 cm;y方向定位誤差為3.3 cm,即水平誤差為3.6 cm;z方向定位誤差,即高度誤差為3.7 cm;整體三維誤差為5.2 cm。多次定位試驗表明,槳葉葉尖的高度誤差僅小于5 cm,水平誤差僅小于5 cm,整體三維誤差僅小于10 cm。該定位方法可通過無人機的簡易運動實現(xiàn)實時、快速、精確地得到風力發(fā)電機槳葉葉尖的定位結果。
表3 槳葉葉尖實際坐標Table 3 Actual coordinates of the paddle blade tip cm
表4 槳葉葉尖定位坐標Table 4 Paddle blade tip positioning coordinates cm
為解決無人機機載計算板能力有限,普通目標檢測器內存開銷大與檢測速度慢的問題,本文提出了以YOLOv5 為基礎的輕量型Shuffle-YOLOv5目標檢測器。對比實驗表明,Shuffle-YOLOv5 在精確度降低很少的情況下,參數(shù)量縮減78%,檢測速度提升47%,并在416×416 像素輸入圖像尺寸下可達29.4 f/s 的實時檢測速度,并優(yōu)于現(xiàn)階段其他輕量型目標檢測器。風機槳葉葉尖定位測試結果表明,所提出的定位方法可對風機槳葉葉尖進行精準定位,定位的高度誤差僅在5 cm 以內,水平誤差僅在5 cm 以內,整體三維誤差僅在10 cm 以內。
綜上所述,在風力發(fā)電機模型參數(shù)以及塔筒精確位置坐標已知的基礎上,所提出的基于輕量型YOLOv5 的風機槳葉檢測與空間定位方法可根據無人機所采集到的風機全景圖對風力發(fā)電機進行快速且準確的檢測,并對槳葉葉尖進行精準定位,同時所提方法無需過多硬件設備,僅需一個較為通用的掛載機載計算機和高清攝像頭的巡檢無人機即可完成對風力發(fā)電機槳葉的定位,成本較低且在實際場景中易于部署和實現(xiàn),給邊緣設備目標檢測器輕量化改進提供了新思路,為后續(xù)的對大型風力發(fā)電機槳葉巡檢的路徑規(guī)劃研究提供理論依據和便利條件。