吳 帥,陳 革,陳振中
(東華大學(xué) 機械工程學(xué)院, 上海 201620)
在能源緊缺和追求無污染能源的形勢下,可再生清潔能源[1]成為人們關(guān)注的焦點。在各類清潔能源中,光伏發(fā)電是國家重點發(fā)展方向。光伏發(fā)電站一般建設(shè)在開闊且光照充足的地區(qū),這些地區(qū)通常存在氣候干旱且風(fēng)沙大的問題,而太陽能光伏板表面若存在灰塵沙礫會降低光伏發(fā)電的效率。通過計算機視覺技術(shù)識別和定位太陽能光伏板的位置信息,再傳輸給車載機械臂以清理太陽能光伏板表面的灰塵,可以提高清理效率,難點在于太陽能光伏板位置的準(zhǔn)確定位。
目前,太陽能光伏板輪廓的提取方法分為傳統(tǒng)圖像處理方法和基于深度學(xué)習(xí)的方法。傳統(tǒng)圖像處理方法主要是提取邊緣與其周圍像素點的信息差別較大的輪廓。例如:蘭傳琳等[2]提出一種基于先驗?zāi)P蛢?yōu)化的輪廓目標(biāo)提取算法,解決了由于光照形成的光斑和反射光造成的輪廓不完整問題,但受光照等外部因素的影響,算法的穩(wěn)健性不能保證,泛化能力較弱;叢奎榮等[3]提出一種基于視覺的輪廓提取與定位方法,根據(jù)Sobel算子提取工件的大致輪廓,再通過邊緣跟蹤算法完善工件邊緣信息,但該方法容易在像素信息突變位置產(chǎn)生誤判;Yao等[4]通過色彩空間轉(zhuǎn)換將RGB圖片轉(zhuǎn)換為HSV空間的圖片,再通過閾值分割去除輪廓以外的信息,但是該方法在周圍環(huán)境色彩與目標(biāo)色彩相近時不能準(zhǔn)確分割外輪廓。傳統(tǒng)圖像處理只考慮了輪廓本身的像素點信息,忽略了與其他像素點之間的關(guān)聯(lián)。
基于深度學(xué)習(xí)的太陽能輪廓提取方法主要有語義分割和目標(biāo)檢測兩種。Greco等[5]基于YOLO對象檢測器檢測太陽能光伏板的輪廓,但是YOLO檢測器檢測到的太陽能光伏板面積不夠準(zhǔn)確,增大了深度測量結(jié)果的誤差。Zhang等[6]采用結(jié)合遷移學(xué)習(xí)和殘差模塊的Unet網(wǎng)絡(luò)結(jié)構(gòu)分割太陽能光伏板的紅外輪廓信息,但由于每個像素點都需要取一個圖像塊,造成冗余過大,導(dǎo)致網(wǎng)絡(luò)訓(xùn)練速度慢。
當(dāng)輪廓提取信息準(zhǔn)確時,使用單目相機可以較為準(zhǔn)確地測量距離。學(xué)者們對單目測距的方法進行了研究。例如:趙明繪等[7]提出一種水面測距模型,利用相機的俯仰角和距離水面的高度,計算目標(biāo)位置距離相機光心的距離;程文冬等[8]提出一種通過單目相機采集圖片,結(jié)合車尾邊緣像素點的特征信息識別前方車距的檢測方法。本文在此基礎(chǔ)上,改進灰塵識別分類模型和輪廓提取的語義分割模型,通過單目相機采集圖片并構(gòu)建基于相機中心投影原理的深度測量模型,從而獲得太陽能光伏板距離單目相機光心的深度和傾斜角度,最后通過試驗驗證算法的效果。
灰塵檢測器使用改進的ResNet50網(wǎng)絡(luò)作為分類網(wǎng)絡(luò)模型的主干網(wǎng)絡(luò),以提取灰塵特征[9]。分類網(wǎng)絡(luò)模型包括2個模塊:一是特征提取模塊,由各類卷積層組成,用于提取圖片的特征;二是特征分類模塊,由不同數(shù)量的全連接層組成,對特征提取模塊提取到的特征進行分類。ResNet50網(wǎng)絡(luò)可通過增加網(wǎng)絡(luò)層數(shù)來增強網(wǎng)絡(luò)的學(xué)習(xí)能力和特征表達(dá)能力,相應(yīng)的檢測或分類性能更強。同時,分類網(wǎng)絡(luò)模型包含殘差網(wǎng)絡(luò),可有效解決隨機梯度消失或梯度爆炸的問題,并且在殘差塊中使用了1×1卷積,可減少網(wǎng)絡(luò)模型中的參數(shù)。改進ResNet50網(wǎng)絡(luò)的結(jié)構(gòu)模型如圖1所示。
ResNet50網(wǎng)絡(luò)有49個卷積層和1個全連接層。卷積層分為5個部分,分別對應(yīng)圖1中的改進Conv1和Conv_2x~Conv_5x,其中,數(shù)字代表分類網(wǎng)絡(luò)模型中的模塊,x代表每個模塊中殘差結(jié)構(gòu)的數(shù)量。改進Conv1不包含殘差塊,僅對輸入圖片進行卷積、正則化、施加ReLU激活函數(shù)和最大池化處理,從而輸出不同的特征矩陣。Conv_2x~Conv_5x包含兩種不同的殘差結(jié)構(gòu),對應(yīng)圖1的特征矩陣可變殘差塊和特征矩陣不變殘差塊(前者不改變殘差結(jié)構(gòu)的尺寸,只增加殘差塊的維度)。經(jīng)過前5部分卷積計算后,平均池化層會將輸出轉(zhuǎn)化為一維的特征向量;最后,分類器對特征向量進行計算,對不同類別賦予不同的概率值,其中最大概率值對應(yīng)的類別是模型的預(yù)測結(jié)果。
1.1.1 改進Conv1
在保證感受野相同的情況下,用多個小卷積核替代較大的卷積核,不僅能加深網(wǎng)絡(luò)層數(shù),還能減少參數(shù)量。使用一個3×3和一個5×5卷積代替ResNet50網(wǎng)絡(luò)中Conv1的7×7卷積核,如圖2所示。
圖2 改進Conv1結(jié)構(gòu)圖Fig.2 Structure diagram of improved Conv1
1.1.2 增加注意力機制模塊
注意力機制是實現(xiàn)網(wǎng)絡(luò)自適應(yīng)注意的一種方式,分為通道注意力機制(如擠壓激勵網(wǎng)絡(luò)SE[10])、空間注意力機制(如空間轉(zhuǎn)換網(wǎng)絡(luò)STN[11])和通道-空間注意力機制(如卷積注意模塊CBAM[12])。通道-空間注意力機制模塊的結(jié)構(gòu)圖如圖3所示。通過通道注意力機制,對輸入的每個特征圖進行全局平均池化和全局最大池化處理,再進行卷積、施加ReLU激活函數(shù)和1×1卷積處理,然后將結(jié)果進行Sigmoid歸一化處理,最后對特征圖進行加權(quán)處理得到通道注意力權(quán)重。通過空間注意力機制,對特征圖的每個通道做最大池化和平均池化處理,再進行特征融合和7×7卷積處理,然后將所得結(jié)果進行歸一化處理并加權(quán),得到空間注意力權(quán)重,最后與通道注意力特征圖逐像素相乘,獲得通道-空間注意力權(quán)重。
圖3 通道-空間注意力機制模塊結(jié)構(gòu)圖Fig.3 Structure diagram of channel-spatial attention mechanism module
提取檢測到灰塵的太陽能光伏板的輪廓信息時,需要為圖像中的每個像素分配語義標(biāo)簽,以篩選屬于輪廓的像素。DeepLabV3+是一種經(jīng)典的語義分割模型,包括Encoder和Decoder兩大結(jié)構(gòu)。改進的DeepLabV3+網(wǎng)絡(luò)模型結(jié)構(gòu)如圖4所示。
圖4 改進的DeepLabV3+模型結(jié)構(gòu)圖Fig.4 Structure diagram of improved DeepLabV3+ model
Encoder結(jié)構(gòu)包含模型的主干網(wǎng)絡(luò)和空洞空間卷積池化金字塔(ASPP)模塊[13],用于提取圖片的特征信息。本文將原模型提取特征的主干網(wǎng)絡(luò)Xception更改為輕量化網(wǎng)絡(luò)VoVNet-27-slim[14],通過減少參數(shù)量來提高檢測速率。特征圖片經(jīng)過主干網(wǎng)絡(luò)后分別生成下采樣4倍特征層和下采樣16倍特征層,后者作為ASPP模塊的輸入。在ASPP模塊中,對下采樣16倍特征層分別進行1×1卷積、3個不同膨脹率的3×3卷積和池化處理,其中,使用不同膨脹率的膨脹卷積的目的是提高網(wǎng)絡(luò)的感受野范圍,更好地提取特征。最后把不同卷積處理后的特征層與池化處理后的特征層進行堆疊,使用1×1卷積調(diào)整通道數(shù),將此時得到的下采樣16倍特征層與主干網(wǎng)絡(luò)生成下采樣4倍特征層作為Decoder的輸入。將下采樣16倍和4倍的兩個輸出特征層進行特征融合,以提高分割邊界的準(zhǔn)確率。
Decoder通過逐步的上采樣以及特征層間的融合恢復(fù)圖片的空間信息,從而達(dá)到分割輪廓的目的。首先,將下采樣16倍的特征層通過上采樣4倍來調(diào)整特征層尺寸,然后將其與經(jīng)過1×1卷積下采樣4倍的特征層進行特征融合。將原網(wǎng)絡(luò)中3×3的卷積層更改為MBConv,引入組卷積降低參數(shù),進一步提高檢測效率。最后對卷積后的特征層上采樣4倍,恢復(fù)到輸入圖片尺寸,得到預(yù)測模型結(jié)果。
1.2.1 改進的VoVNet27-slim
VoVNet27-slim網(wǎng)絡(luò)模型中的OSA模塊聚集了淺層特征,包含的層數(shù)較少,可在GPU中高效計算;同時OSA模塊聚合了不同感受野的特征層,能提取到更多的上下文信息。因此,本文選擇VoVNet27-slim作為DeepLabV3+的主干網(wǎng)絡(luò),同時將原模型中所有的3×3卷積替換為GSConv。GSConv結(jié)構(gòu)如圖5所示。
圖5 GSConv結(jié)構(gòu)圖Fig.5 Structure diagram of GSConv
對輸入特征層進行1×1卷積,將卷積后的結(jié)果進行5×5的DW卷積,然后將卷積結(jié)果和1×1卷積特征融合,最后通過Shuffle重組輸出特征層。相比3×3卷積,GSConv降低了參數(shù)量,從而提高了檢測速率。
由于DeepLabV3+的下采樣倍率為16,因此舍棄VoVNet27-slim第5階段的OSA module模塊。改進后VoVNet27-slim網(wǎng)絡(luò)的整體結(jié)構(gòu)如表1所示。
表1 改進后的VoVNet27-slim網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Improved structure of VoVNet27-slim
由表1可知,改進后的VoVNet27-slim在第1階段進行3次GSConv卷積提取特征,調(diào)整輸入特征層的尺寸大小和通道。卷積后的結(jié)果作為Decoder淺層輸入特征層。第2~4階段由OSA模塊構(gòu)成,模型如圖6所示。第4階段的輸出作為ASPP模塊的深層輸入特征層。OSA模塊通過不同卷積核的卷積層提取圖像特征,特點是只在最后一次聚合前面所有的特征層。由于每個特征層的輸入是固定的,不需要使用1×1卷積層來壓縮特征,能夠有效縮短推理時間。
圖6 OSA模塊模型圖Fig.6 OSA module model diagram
1.2.2 Decoder的改進
在Encoder淺層和深層的特征層特征融合后,將原模塊中3×3卷積更改為MBConv卷積模塊[15],由于MBConv具有組卷積層,因此可以有效減少參數(shù)量和計算量。MBConv結(jié)構(gòu)如圖7所示。
圖7 MBConv結(jié)構(gòu)Fig.7 The structure of MBConv
首先,對融合后的特征層進行1×1卷積升維,再進行組卷積,引入殘差結(jié)構(gòu)與輸入特征層融合,最后經(jīng)過1×1卷積降維調(diào)整通道數(shù)。優(yōu)化后的結(jié)構(gòu)相比原模型中的3×3卷積進一步提高了檢測速率。
分割模型后生成的太陽能光伏板輪廓是深度測量的基礎(chǔ),本節(jié)將介紹基于單目相機中心投影的深度測量模型。先對識別后的太陽能光伏板輪廓進行預(yù)處理,再確定輪廓的像素坐標(biāo)值,然后基于相似三角形的測距算法進行單目測距,最后輸出太陽能光伏板距離相機深度和姿態(tài)信息。
圖像分割后的輪廓可能存在誤判的區(qū)域。為了避免其對測距結(jié)果產(chǎn)生影響并選定參考點,需對圖像進行如下處理:
(1)繪制分割處理后的圖片的內(nèi)部輪廓,并按面積大小排序為L={l1,l2,…,lmax}。
(2)將面積最大的輪廓記為Lmax,判斷是否存在0.8Lmax
(3)對Lmax進行角點檢測,篩選出輪廓4個角的點像素坐標(biāo)值。
太陽能光伏板陣列之間多是平行關(guān)系,相機平面與太陽能光伏板平面的相對旋轉(zhuǎn)角度較小,對測距結(jié)果影響較小,因此本文深度測量模型只考慮相機平面和太陽能光伏板之間的俯仰角度。深度測量模型如圖8所示,其中:O-XYZ是相機坐標(biāo)系,O-xy是圖像坐標(biāo)系;P1~P4是太陽能光伏板的外輪廓在相機坐標(biāo)系下的坐標(biāo);Q1~Q4是太陽能光伏板在圖像坐標(biāo)系下的坐標(biāo)。太陽能光伏板的長度設(shè)為L,寬度設(shè)為D。
圖8 深度測量模型Fig.8 The model of depth measurement
根據(jù)2.1節(jié),Q1~Q4已知。用齊次坐標(biāo)表示像素坐標(biāo)系和圖像坐標(biāo)系的坐標(biāo)值,即根據(jù)相機標(biāo)定結(jié)果,利用內(nèi)參矩陣將像素坐標(biāo)變換成圖像坐標(biāo);然后在相機坐標(biāo)系中分別以P3P4、P1P2為底邊,做一個垂直于Z軸的平面。采用三角測距法,根據(jù)透視投影關(guān)系得到式(1)和(2)所示等式。
(1)
(2)
式中:Zc1和Zc2分別為相機坐標(biāo)系下太陽能光伏板上、下邊緣距相機光心的距離。此時太陽能光伏板的傾斜角度為
(3)
試驗環(huán)境配置如表2所示。
試驗所用的分類數(shù)據(jù)集圖片示例如圖9(a)所示。模擬太陽能光伏板表面不同灰塵量并采集照片,具體為參照真實場景下的不同清洗頻率,使太陽能光伏板表面保留不同量的灰塵,同時補充網(wǎng)絡(luò)上相似的圖片,將分類數(shù)據(jù)集中的圖片擴增至1 000張。將灰塵信息的標(biāo)記分為太陽能光伏板表面有、無灰塵兩類。分割數(shù)據(jù)集包含1 000張圖片,圖片示例如圖9(b)所示。按照8∶1∶1的比例分為訓(xùn)練集、驗證集和測試集。為了模擬實際工況,對訓(xùn)練集和驗證集進行隨機縮放、隨機裁剪、隨機旋轉(zhuǎn)、增強和降低對比度,以及采用平移變換的方法進行擴增,數(shù)據(jù)增強后的數(shù)據(jù)集數(shù)量分布為訓(xùn)練集5 600張、驗證集700張、測試集100張。分割數(shù)據(jù)集是從太陽能光伏板的不同角度采集照片,相比真實環(huán)境,太陽能光伏板會跟隨陽光進行旋轉(zhuǎn),并傾斜不同的角度。
試驗時batch size為8,訓(xùn)練50輪。每輪訓(xùn)練的初始學(xué)習(xí)率為10-3,最小學(xué)習(xí)率為10-5;優(yōu)化器為SGD;學(xué)習(xí)率更新策略是余弦退火算法。單目相機是德國映美精生產(chǎn)的DxK33GX264e型相機。
為研究改進Conv1模塊和引入注意力機制模塊對模型精度的影響,設(shè)置對照試驗,試驗結(jié)果如表3所示。由表3可知,采用5×5和3×3卷積核代替7×7卷積核時,檢測準(zhǔn)確率提高了0.87%,分類速率提高了31.61%。引入注意力機制對圖像特征施加不同的權(quán)重,從而加強目標(biāo)的重要特征時,檢測準(zhǔn)確率提高了3.36%。改進后的ResNet50的檢測準(zhǔn)確率總體提高3.68%,分類速率提高了42.95%。
表3 改進Conv1與加入注意力機制后的模型與原模型的對比Table 3 Comparison between the model with improved Conv1/attention mechanism and the original model
改進后的ResNet50與不同主干網(wǎng)絡(luò)的精度對比如表4所示。相比Vgg_16、ResNext50和ConvNeXt網(wǎng)絡(luò),改進ResNet50的分類準(zhǔn)確率依次提高了7.29%、2.63%和0.31%,模型分類速率依次提高了102.53%、43.27%和61.27%。
輪廓提取屬于深度學(xué)習(xí)中語義分割[16]問題,通常用檢測速率和均交并比(RMIoU)進行評價。RMIoU的計算公式如下:
(4)
式中:NTP為將正類預(yù)測成正類的數(shù)量;NFP為將負(fù)類預(yù)測成正類的數(shù)量;NTN為將負(fù)類預(yù)測成負(fù)類的數(shù)量;NFN為將正類預(yù)測成負(fù)類的數(shù)量。
改進后DeepLabV3+模型的預(yù)測結(jié)果如圖10所示。
圖10 改進模型的分割結(jié)果Fig.10 Segmentation results of the improved model
改進前后模型的分類速率等參數(shù)對比結(jié)果如表5所示,其中Xception是DeepLabV3+的原主干網(wǎng)絡(luò)。由表5可知,更換DeepLabV3+主干網(wǎng)絡(luò)并修改其卷積方式,同時使用GSConv中的DW卷積和MBConv中的組卷積后,改進模型中的參數(shù)量減少了94.65%,分類速率提高了184.04%。深度學(xué)習(xí)中的輪廓分割適用于大目標(biāo),因此改進后MIoU只提高了0.1%,但分類速率遠(yuǎn)遠(yuǎn)高于原始模型。
表5 改進模型與原模型對比Table 5 Comparison between improved model and original model
經(jīng)典分割模型與改進后模型的對比結(jié)果如表6所示。由表6可知,相比FCN16和Unet分割模型,改進后的DeepLabV3+網(wǎng)絡(luò)模型的分類速率分別提高21.53%和46.89%,參數(shù)量分別減少89.14%和73.98%,精度分別提高2.16%和4.09%,可在生產(chǎn)中節(jié)約時間成本,提高工作效率。
表6 改進模型與經(jīng)典分割模型對比
基于1.2節(jié)輪廓提取器和2.2節(jié)深度測量模型,分別利用三角測距法和文獻[17]中的面積映射測距法計算太陽能光伏板的深度信息,結(jié)果如表7所示。由表7可知,測距范圍為3 543~4 047 mm時,三角測距法計算的距離的最大誤差為32 mm,面積映射測距法計算的距離的最小誤差為41 mm,即三角測距法的最大誤差小于面積映射測距法的最小誤差,表明三角測距法的計算精度較高。
表7 三角測距法與面積映射測距法的誤差分析
基于太陽能光伏板的輪廓分割與定位,改進灰塵分類檢測和輪廓分割網(wǎng)絡(luò)模型,并構(gòu)建深度測量模型,得出以下結(jié)論:
(1)通過改變分類網(wǎng)絡(luò)模型中Conv1的卷積方式并加入注意力機制模塊,準(zhǔn)確率提高了3.68%。
(2)使用VoVNet27-slim替換DeepLabV3+中的主干網(wǎng)絡(luò),將VoVNet27-slim里3×3卷積更換為GSConv,并使用DW卷積降低模型復(fù)雜度;同時在decoder模塊里使用MBConv,引入1×1卷積降低參數(shù)量。參數(shù)量減少了94.65%,分類速率提高了184.04%。
(3)提出基于三角測距法的深度測量模型,可計算太陽能光伏板距相機光心的距離以及太陽能光伏板的傾斜角度,比面積映射法的測距精度更高。
后續(xù)將考慮惡劣天氣對模型的精度和速率的影響,同時使用深度相機來提高深度測量的準(zhǔn)確率,并考慮工況的多樣性。