吳 帥,陳 革,陳振中
(東華大學 機械工程學院, 上海 201620)
在能源緊缺和追求無污染能源的形勢下,可再生清潔能源[1]成為人們關注的焦點。在各類清潔能源中,光伏發電是國家重點發展方向。光伏發電站一般建設在開闊且光照充足的地區,這些地區通常存在氣候干旱且風沙大的問題,而太陽能光伏板表面若存在灰塵沙礫會降低光伏發電的效率。通過計算機視覺技術識別和定位太陽能光伏板的位置信息,再傳輸給車載機械臂以清理太陽能光伏板表面的灰塵,可以提高清理效率,難點在于太陽能光伏板位置的準確定位。
目前,太陽能光伏板輪廓的提取方法分為傳統圖像處理方法和基于深度學習的方法。傳統圖像處理方法主要是提取邊緣與其周圍像素點的信息差別較大的輪廓。例如:蘭傳琳等[2]提出一種基于先驗模型優化的輪廓目標提取算法,解決了由于光照形成的光斑和反射光造成的輪廓不完整問題,但受光照等外部因素的影響,算法的穩健性不能保證,泛化能力較弱;叢奎榮等[3]提出一種基于視覺的輪廓提取與定位方法,根據Sobel算子提取工件的大致輪廓,再通過邊緣跟蹤算法完善工件邊緣信息,但該方法容易在像素信息突變位置產生誤判;Yao等[4]通過色彩空間轉換將RGB圖片轉換為HSV空間的圖片,再通過閾值分割去除輪廓以外的信息,但是該方法在周圍環境色彩與目標色彩相近時不能準確分割外輪廓。傳統圖像處理只考慮了輪廓本身的像素點信息,忽略了與其他像素點之間的關聯。
基于深度學習的太陽能輪廓提取方法主要有語義分割和目標檢測兩種。Greco等[5]基于YOLO對象檢測器檢測太陽能光伏板的輪廓,但是YOLO檢測器檢測到的太陽能光伏板面積不夠準確,增大了深度測量結果的誤差。Zhang等[6]采用結合遷移學習和殘差模塊的Unet網絡結構分割太陽能光伏板的紅外輪廓信息,但由于每個像素點都需要取一個圖像塊,造成冗余過大,導致網絡訓練速度慢。
當輪廓提取信息準確時,使用單目相機可以較為準確地測量距離。學者們對單目測距的方法進行了研究。例如:趙明繪等[7]提出一種水面測距模型,利用相機的俯仰角和距離水面的高度,計算目標位置距離相機光心的距離;程文冬等[8]提出一種通過單目相機采集圖片,結合車尾邊緣像素點的特征信息識別前方車距的檢測方法。本文在此基礎上,改進灰塵識別分類模型和輪廓提取的語義分割模型,通過單目相機采集圖片并構建基于相機中心投影原理的深度測量模型,從而獲得太陽能光伏板距離單目相機光心的深度和傾斜角度,最后通過試驗驗證算法的效果。
灰塵檢測器使用改進的ResNet50網絡作為分類網絡模型的主干網絡,以提取灰塵特征[9]。分類網絡模型包括2個模塊:一是特征提取模塊,由各類卷積層組成,用于提取圖片的特征;二是特征分類模塊,由不同數量的全連接層組成,對特征提取模塊提取到的特征進行分類。ResNet50網絡可通過增加網絡層數來增強網絡的學習能力和特征表達能力,相應的檢測或分類性能更強。同時,分類網絡模型包含殘差網絡,可有效解決隨機梯度消失或梯度爆炸的問題,并且在殘差塊中使用了1×1卷積,可減少網絡模型中的參數。改進ResNet50網絡的結構模型如圖1所示。
ResNet50網絡有49個卷積層和1個全連接層。卷積層分為5個部分,分別對應圖1中的改進Conv1和Conv_2x~Conv_5x,其中,數字代表分類網絡模型中的模塊,x代表每個模塊中殘差結構的數量。改進Conv1不包含殘差塊,僅對輸入圖片進行卷積、正則化、施加ReLU激活函數和最大池化處理,從而輸出不同的特征矩陣。Conv_2x~Conv_5x包含兩種不同的殘差結構,對應圖1的特征矩陣可變殘差塊和特征矩陣不變殘差塊(前者不改變殘差結構的尺寸,只增加殘差塊的維度)。經過前5部分卷積計算后,平均池化層會將輸出轉化為一維的特征向量;最后,分類器對特征向量進行計算,對不同類別賦予不同的概率值,其中最大概率值對應的類別是模型的預測結果。
1.1.1 改進Conv1
在保證感受野相同的情況下,用多個小卷積核替代較大的卷積核,不僅能加深網絡層數,還能減少參數量。使用一個3×3和一個5×5卷積代替ResNet50網絡中Conv1的7×7卷積核,如圖2所示。

圖2 改進Conv1結構圖Fig.2 Structure diagram of improved Conv1
1.1.2 增加注意力機制模塊
注意力機制是實現網絡自適應注意的一種方式,分為通道注意力機制(如擠壓激勵網絡SE[10])、空間注意力機制(如空間轉換網絡STN[11])和通道-空間注意力機制(如卷積注意模塊CBAM[12])。通道-空間注意力機制模塊的結構圖如圖3所示。通過通道注意力機制,對輸入的每個特征圖進行全局平均池化和全局最大池化處理,再進行卷積、施加ReLU激活函數和1×1卷積處理,然后將結果進行Sigmoid歸一化處理,最后對特征圖進行加權處理得到通道注意力權重。通過空間注意力機制,對特征圖的每個通道做最大池化和平均池化處理,再進行特征融合和7×7卷積處理,然后將所得結果進行歸一化處理并加權,得到空間注意力權重,最后與通道注意力特征圖逐像素相乘,獲得通道-空間注意力權重。

圖3 通道-空間注意力機制模塊結構圖Fig.3 Structure diagram of channel-spatial attention mechanism module
提取檢測到灰塵的太陽能光伏板的輪廓信息時,需要為圖像中的每個像素分配語義標簽,以篩選屬于輪廓的像素。DeepLabV3+是一種經典的語義分割模型,包括Encoder和Decoder兩大結構。改進的DeepLabV3+網絡模型結構如圖4所示。

圖4 改進的DeepLabV3+模型結構圖Fig.4 Structure diagram of improved DeepLabV3+ model
Encoder結構包含模型的主干網絡和空洞空間卷積池化金字塔(ASPP)模塊[13],用于提取圖片的特征信息。本文將原模型提取特征的主干網絡Xception更改為輕量化網絡VoVNet-27-slim[14],通過減少參數量來提高檢測速率。特征圖片經過主干網絡后分別生成下采樣4倍特征層和下采樣16倍特征層,后者作為ASPP模塊的輸入。在ASPP模塊中,對下采樣16倍特征層分別進行1×1卷積、3個不同膨脹率的3×3卷積和池化處理,其中,使用不同膨脹率的膨脹卷積的目的是提高網絡的感受野范圍,更好地提取特征。最后把不同卷積處理后的特征層與池化處理后的特征層進行堆疊,使用1×1卷積調整通道數,將此時得到的下采樣16倍特征層與主干網絡生成下采樣4倍特征層作為Decoder的輸入。將下采樣16倍和4倍的兩個輸出特征層進行特征融合,以提高分割邊界的準確率。
Decoder通過逐步的上采樣以及特征層間的融合恢復圖片的空間信息,從而達到分割輪廓的目的。首先,將下采樣16倍的特征層通過上采樣4倍來調整特征層尺寸,然后將其與經過1×1卷積下采樣4倍的特征層進行特征融合。將原網絡中3×3的卷積層更改為MBConv,引入組卷積降低參數,進一步提高檢測效率。最后對卷積后的特征層上采樣4倍,恢復到輸入圖片尺寸,得到預測模型結果。
1.2.1 改進的VoVNet27-slim
VoVNet27-slim網絡模型中的OSA模塊聚集了淺層特征,包含的層數較少,可在GPU中高效計算;同時OSA模塊聚合了不同感受野的特征層,能提取到更多的上下文信息。因此,本文選擇VoVNet27-slim作為DeepLabV3+的主干網絡,同時將原模型中所有的3×3卷積替換為GSConv。GSConv結構如圖5所示。

圖5 GSConv結構圖Fig.5 Structure diagram of GSConv
對輸入特征層進行1×1卷積,將卷積后的結果進行5×5的DW卷積,然后將卷積結果和1×1卷積特征融合,最后通過Shuffle重組輸出特征層。相比3×3卷積,GSConv降低了參數量,從而提高了檢測速率。
由于DeepLabV3+的下采樣倍率為16,因此舍棄VoVNet27-slim第5階段的OSA module模塊。改進后VoVNet27-slim網絡的整體結構如表1所示。

表1 改進后的VoVNet27-slim網絡結構Table 1 Improved structure of VoVNet27-slim
由表1可知,改進后的VoVNet27-slim在第1階段進行3次GSConv卷積提取特征,調整輸入特征層的尺寸大小和通道。卷積后的結果作為Decoder淺層輸入特征層。第2~4階段由OSA模塊構成,模型如圖6所示。第4階段的輸出作為ASPP模塊的深層輸入特征層。OSA模塊通過不同卷積核的卷積層提取圖像特征,特點是只在最后一次聚合前面所有的特征層。由于每個特征層的輸入是固定的,不需要使用1×1卷積層來壓縮特征,能夠有效縮短推理時間。

圖6 OSA模塊模型圖Fig.6 OSA module model diagram
1.2.2 Decoder的改進
在Encoder淺層和深層的特征層特征融合后,將原模塊中3×3卷積更改為MBConv卷積模塊[15],由于MBConv具有組卷積層,因此可以有效減少參數量和計算量。MBConv結構如圖7所示。

圖7 MBConv結構Fig.7 The structure of MBConv
首先,對融合后的特征層進行1×1卷積升維,再進行組卷積,引入殘差結構與輸入特征層融合,最后經過1×1卷積降維調整通道數。優化后的結構相比原模型中的3×3卷積進一步提高了檢測速率。
分割模型后生成的太陽能光伏板輪廓是深度測量的基礎,本節將介紹基于單目相機中心投影的深度測量模型。先對識別后的太陽能光伏板輪廓進行預處理,再確定輪廓的像素坐標值,然后基于相似三角形的測距算法進行單目測距,最后輸出太陽能光伏板距離相機深度和姿態信息。
圖像分割后的輪廓可能存在誤判的區域。為了避免其對測距結果產生影響并選定參考點,需對圖像進行如下處理:
(1)繪制分割處理后的圖片的內部輪廓,并按面積大小排序為L={l1,l2,…,lmax}。
(2)將面積最大的輪廓記為Lmax,判斷是否存在0.8Lmax
(3)對Lmax進行角點檢測,篩選出輪廓4個角的點像素坐標值。
太陽能光伏板陣列之間多是平行關系,相機平面與太陽能光伏板平面的相對旋轉角度較小,對測距結果影響較小,因此本文深度測量模型只考慮相機平面和太陽能光伏板之間的俯仰角度。深度測量模型如圖8所示,其中:O-XYZ是相機坐標系,O-xy是圖像坐標系;P1~P4是太陽能光伏板的外輪廓在相機坐標系下的坐標;Q1~Q4是太陽能光伏板在圖像坐標系下的坐標。太陽能光伏板的長度設為L,寬度設為D。

圖8 深度測量模型Fig.8 The model of depth measurement
根據2.1節,Q1~Q4已知。用齊次坐標表示像素坐標系和圖像坐標系的坐標值,即根據相機標定結果,利用內參矩陣將像素坐標變換成圖像坐標;然后在相機坐標系中分別以P3P4、P1P2為底邊,做一個垂直于Z軸的平面。采用三角測距法,根據透視投影關系得到式(1)和(2)所示等式。
(1)
(2)
式中:Zc1和Zc2分別為相機坐標系下太陽能光伏板上、下邊緣距相機光心的距離。此時太陽能光伏板的傾斜角度為
(3)
試驗環境配置如表2所示。
試驗所用的分類數據集圖片示例如圖9(a)所示。模擬太陽能光伏板表面不同灰塵量并采集照片,具體為參照真實場景下的不同清洗頻率,使太陽能光伏板表面保留不同量的灰塵,同時補充網絡上相似的圖片,將分類數據集中的圖片擴增至1 000張。將灰塵信息的標記分為太陽能光伏板表面有、無灰塵兩類。分割數據集包含1 000張圖片,圖片示例如圖9(b)所示。按照8∶1∶1的比例分為訓練集、驗證集和測試集。為了模擬實際工況,對訓練集和驗證集進行隨機縮放、隨機裁剪、隨機旋轉、增強和降低對比度,以及采用平移變換的方法進行擴增,數據增強后的數據集數量分布為訓練集5 600張、驗證集700張、測試集100張。分割數據集是從太陽能光伏板的不同角度采集照片,相比真實環境,太陽能光伏板會跟隨陽光進行旋轉,并傾斜不同的角度。
試驗時batch size為8,訓練50輪。每輪訓練的初始學習率為10-3,最小學習率為10-5;優化器為SGD;學習率更新策略是余弦退火算法。單目相機是德國映美精生產的DxK33GX264e型相機。
為研究改進Conv1模塊和引入注意力機制模塊對模型精度的影響,設置對照試驗,試驗結果如表3所示。由表3可知,采用5×5和3×3卷積核代替7×7卷積核時,檢測準確率提高了0.87%,分類速率提高了31.61%。引入注意力機制對圖像特征施加不同的權重,從而加強目標的重要特征時,檢測準確率提高了3.36%。改進后的ResNet50的檢測準確率總體提高3.68%,分類速率提高了42.95%。

表3 改進Conv1與加入注意力機制后的模型與原模型的對比Table 3 Comparison between the model with improved Conv1/attention mechanism and the original model
改進后的ResNet50與不同主干網絡的精度對比如表4所示。相比Vgg_16、ResNext50和ConvNeXt網絡,改進ResNet50的分類準確率依次提高了7.29%、2.63%和0.31%,模型分類速率依次提高了102.53%、43.27%和61.27%。
輪廓提取屬于深度學習中語義分割[16]問題,通常用檢測速率和均交并比(RMIoU)進行評價。RMIoU的計算公式如下:
(4)
式中:NTP為將正類預測成正類的數量;NFP為將負類預測成正類的數量;NTN為將負類預測成負類的數量;NFN為將正類預測成負類的數量。
改進后DeepLabV3+模型的預測結果如圖10所示。

圖10 改進模型的分割結果Fig.10 Segmentation results of the improved model
改進前后模型的分類速率等參數對比結果如表5所示,其中Xception是DeepLabV3+的原主干網絡。由表5可知,更換DeepLabV3+主干網絡并修改其卷積方式,同時使用GSConv中的DW卷積和MBConv中的組卷積后,改進模型中的參數量減少了94.65%,分類速率提高了184.04%。深度學習中的輪廓分割適用于大目標,因此改進后MIoU只提高了0.1%,但分類速率遠遠高于原始模型。

表5 改進模型與原模型對比Table 5 Comparison between improved model and original model
經典分割模型與改進后模型的對比結果如表6所示。由表6可知,相比FCN16和Unet分割模型,改進后的DeepLabV3+網絡模型的分類速率分別提高21.53%和46.89%,參數量分別減少89.14%和73.98%,精度分別提高2.16%和4.09%,可在生產中節約時間成本,提高工作效率。

表6 改進模型與經典分割模型對比
基于1.2節輪廓提取器和2.2節深度測量模型,分別利用三角測距法和文獻[17]中的面積映射測距法計算太陽能光伏板的深度信息,結果如表7所示。由表7可知,測距范圍為3 543~4 047 mm時,三角測距法計算的距離的最大誤差為32 mm,面積映射測距法計算的距離的最小誤差為41 mm,即三角測距法的最大誤差小于面積映射測距法的最小誤差,表明三角測距法的計算精度較高。

表7 三角測距法與面積映射測距法的誤差分析
基于太陽能光伏板的輪廓分割與定位,改進灰塵分類檢測和輪廓分割網絡模型,并構建深度測量模型,得出以下結論:
(1)通過改變分類網絡模型中Conv1的卷積方式并加入注意力機制模塊,準確率提高了3.68%。
(2)使用VoVNet27-slim替換DeepLabV3+中的主干網絡,將VoVNet27-slim里3×3卷積更換為GSConv,并使用DW卷積降低模型復雜度;同時在decoder模塊里使用MBConv,引入1×1卷積降低參數量。參數量減少了94.65%,分類速率提高了184.04%。
(3)提出基于三角測距法的深度測量模型,可計算太陽能光伏板距相機光心的距離以及太陽能光伏板的傾斜角度,比面積映射法的測距精度更高。
后續將考慮惡劣天氣對模型的精度和速率的影響,同時使用深度相機來提高深度測量的準確率,并考慮工況的多樣性。