王 葭,孟一飛,虎民飛
(寧夏大學 物理與電子電氣工程學院,寧夏 銀川 750021)
近幾年來,隨著不可再生能源的枯竭,能源問題日益成為制約社會發展的因素[1]。光伏發電作為最重要的可再生能源形式受到越來越多人的關注。然而,在室外長期的使用過程中,光伏板表面會被水漬甚至鳥糞等覆蓋,遮蓋之后的光伏板熱轉換效率降低,出現的熱斑現象(被污漬遮蔽的光伏板電池組件會發熱)會造成整個光伏板電池組件的損壞[2]。因此,光伏板污漬實時檢測系統是光伏板清洗系統中不可或缺的一部分。
如今,視頻圖像檢測技術被應用于各個行業,例如橋梁形變檢測、裂縫檢測等。文獻[3]提出基于視頻圖像的煙霧檢測;文獻[4]提出基于視頻圖像處理的夜間車輛檢測。視頻圖像檢測是以圖像為載體,對圖像進行分析處理的快速測量方法[5]。本文基于視頻圖像檢測技術,提出了兩階段光伏板污漬點視頻檢測技術,以實現對光伏板污漬的實時精準檢測及監控,從而可以及時調動光伏板清洗設備完成清洗工作,保護光伏板。
首先,本文對光伏板污漬點的視頻圖像檢測技術進行了闡述,設計了基于視頻圖像的光伏板污漬點檢測系統,并提出了兩階段污漬檢測技術:在第一階段,檢測視頻圖像中的光伏板,排除視頻圖像背景對污漬檢測的干擾;在第二階段,在檢測到的光伏板內部區域檢測污漬點,提高檢測光伏板上污漬的準確率。
基于視頻圖像的光伏板污漬點檢測系統將視頻圖像中的光伏板進行了圖像預處理操作,大大降低了光伏板柵格對污漬點檢測的影響,并可同時檢測多個污漬點。
圖1為污漬點視頻圖像檢測系統框圖。首先從攝像頭獲得的視頻流中自動截取含有光伏板的圖像,并對其進行圖像預處理;其次利用邊緣擬合對光伏板進行檢測標記;最后在檢查到的光伏板內使用連通域標記算法檢測污漬,并得到污漬在視頻圖像中的位置信息。

圖1 污漬點視頻圖像檢測系統框圖
視頻實際上是序列圖像流,通過攝像頭獲取視頻圖像流,對單個圖像流進行處理并隨時間推移完成對下一序列圖像的處理。攝像頭捕獲的視頻畫面大小為160×120。圖2為攝像頭捕獲的含有3個污漬點的光伏板的視頻圖像。

圖2 攝像頭捕獲的圖像
圖像預處理操作的目的是消除圖像中的噪聲,提高圖像特征。在圖2中可以看出,光伏板柵格把整個光伏板圖像分割成了很多的矩形,有很多邊緣信息且光伏板的邊框與背景顏色相近,這會影響到后續對于光伏板和污漬的檢測。為確保后續在光伏板內部檢測,需檢測到光伏板的邊緣,因此在圖像預處理的過程中,利用二值化操作去除光伏板外邊框的影響,然后利用濾波和開操作運算,對光伏板中的柵格及噪聲信息進行了去除。圖3為光伏板污漬點圖像預處理流程。

圖3圖像預處理流程
由于光伏板邊框與背景顏色相近,為保證后續污漬檢測在光伏板內部進行,通過二值化操作可有效去除光伏板邊框對后續識別工作的影響。從攝像頭獲取的圖像是彩色圖像,需先進行二值化處理。
圖像在二值化之前要先灰度化,設f(i,j)為二維圖片中坐標為(i,j)的點的灰度值,R(i,j)、G(i,j)、B(i,j)分別為坐標為(i,j)的點在紅、綠、藍分量上的值。利用公式(1)對圖像上的每個像素點進行灰度化處理:
f(i,j)=0.30·R(i,j)+0.59·G(i,j)+0.11·B(i,j).
(1)
灰度化圖像最常用閾值法進行二值化操作,對圖像進行閾值分割。記閾值T為前景與背景的分割閾值,前景像素點總數占圖像總像素點數目比例為p0,平均灰度為μ0;背景像素點總數占圖像總像素點數目比例為p1,平均灰度為μ1,則圖像的平均灰度μ和類間方差σ2分別為:
μ=p0μ0+p1μ1.
(2)
σ2=p1(μ0-μ)2+p1(μ1-μ)2.
(3)
讓閾值T在灰度范圍內依次取值,使類間方差σ2最大的閾值T為最佳區域分割閾值,該方法稱之為最大類間方差法,又稱之為大津法(Otsu 算法)[6],采用該算法來實現圖像的二值化。圖4(a)為從攝像頭獲取的圖像經過二值化后的結果。
濾波操作主要是為了去除圖像中的噪聲。圖像有多種濾波方式,如中值濾波、眾數濾波、高斯濾波等。眾數濾波可突出圖像本身特征,本文使用了眾數濾波。
眾數濾波是根據臨界漲落原理設計的,即指當某一局部占主導地位時,那些臨界的元素就會“趨炎附勢”地投到主導因素下,突出主導因素[7]。眾數濾波定義如下:在一個離散集合{x1,x2,…,xn}中,出現次數最多的xm視為眾數。用Major表示眾數運算,數學模型為:
xm=Major{x1,x2,…,xn}.
(4)
利用此算法,針對每個像素點通過計算周圍八鄰域的眾數像素值替換其本身,達到濾波的作用。此濾波算法簡單、圖像處理效果明顯且運算速度快,因此適合處理含有污漬點的光伏板圖像。圖4(b)為經過眾數濾波處理之后的圖像,從圖中可以看出經過濾波操作有效地去除了大部分光伏板柵格。此時圖像為二值圖像,利用圖像處理中的開操作運算使有效信息的輪廓更為光滑,斷開較窄的狹頸、消除細的突出物。如果使結構元B對集合A進行開操作,其定義公式為:
AoB=(A!B)A⊕B.
(5)
式(5)的含義為:先用B對A進行腐蝕,然后用B對腐蝕結果進行膨脹。文中用一個半徑為2的圓對圖像進行腐蝕,接著對腐蝕結果進行膨脹。圖4中(c)是經過開操作運算之后的圖像,可以看出,圖像經過濾波和開操作的處理,光伏板上的柵格及無效信息被去除,有利于光伏板內邊緣的檢測。

圖4 圖像預處理結果
在圖像進行預處理之后,可進行光伏板和污漬點的檢測。利用邊緣擬合在二值化后的圖像中檢測光伏板,在此基礎之上,利用連通域標記算法檢測光伏板上的污漬。
光伏板的檢測是通過邊緣擬合完成的,邊緣檢測能夠有效地分割出圖像的目標和背景。常見的邊緣檢測算子[8]有微分算子、Sobel算子、Roberts算子、Prewitt算子、Canny算子等。本文使用Canny算子對邊緣進行提取,該算子檢測出的邊緣較為平滑,受到的噪聲干擾比較小,對一些弱化的信息考慮得更為充分。
光伏板檢測流程如圖5所示,首先通過使用Canny算子對光伏板的邊緣進行檢測,然后分割合并獲得的邊緣,接著對邊緣進行聚類,利用線性回歸的計算方法擬合直線,最后組合滿足矩形特征的直線。通過使用矩形框標記在原始圖像中組合成的矩形的位置,即可完成對光伏板的檢測。

圖5 光伏板檢測流程
連通域一般是指圖像中具有相同像素值且位置相鄰的前景像素點組成的圖像區域,連通域標記[9]是指將圖像中的各個連通域找出并標記。連通域標記常用于對二值圖像的目標特征提取,該算法通過對二值圖像中每一個像素進行遍歷判斷操作,使每一個單獨連通的目標區域(白色區域)被正確標記,在本文中被正確標識的部分為光伏板污漬點區域。
在圖像處理中,每個像素點的周圍都有8個鄰域像素,而4鄰域則指的是該像素的上下左右4個鄰域。采取基于種子填充法的4鄰域連通域標識算法[10],圖6為連通域標記實現原理,其具體過程如下:
(1) 標簽lable初始值為0,首先按行從圖像左上角第一個元素開始掃描圖像。若為背景像素點(像素值為0),繼續按行掃描下一個像素點,直至掃描到第一個像素值為1的前景像素點,判斷此像素點是否有標簽。若有標簽則跳過該前景像素點,繼續掃描下一像素點,直到掃描到第一個無標簽的前景像素點,給予該前景像素點(記為A)標簽lable=lable+1(如圖6(a)所示)。
(2) 將A作為種子像素,然后將該種子8鄰域中值為1的前景像素點壓入棧中,已經在棧中的像素值不用重新入棧。
(3) 彈出棧頂像素,賦予其與種子像素相同的標簽,然后將彈出像素點8-領域中的前景像素點繼續壓入棧中。
(4) 重復步驟(3),直到棧中像素為空,此時,便找到了光伏板圖像中的一個連通區域,該區域內的像素值被標記為lable(如圖6(b)所示,為第一次棧中像素為空時的標簽結果示意圖)。
(5) 從A像素點的下一個像素點開始按行掃描,重復第1~第4步,依次賦予種子像素lable的標簽,直到掃描結束,如圖6(c)和圖6(d)所示。
掃描結束后,就可以得到光伏板污漬點圖像中的所有連通區域。

圖6 連通域標記實現原理
針對上述檢測識別方法,做了以下實驗驗證。采集包含有3個污漬點的光伏板圖像,并對其進行檢測識別,實驗結果如圖7所示。

圖7 實驗結果
從圖7(a)中可以看出,光伏板邊框與背景顏色十分相近,光伏板內部不僅有污漬點而且還有光伏柵格。圖7(b)說明經過圖像預處理已直接得到目標區域(污
漬點)為白色,背景區域(光伏板)為黑色,這是對后續處理的有利條件。從經過預處理之后的圖像可以看出,光伏板柵格已經被去除,保留了污漬點的位置信息,而且黑色區域是去除了光伏板邊框的光伏板內部區域。從圖7中的(c)、(d)、(e)、(f)可看出,不管是在二值圖中還是實物圖中,光伏板中的污漬都能夠被精準定位標記,表明提出的檢測識別方法能夠同時準確識別多個污漬點的位置。光伏板上標記的污漬點位置信息可作為光伏板清洗設備的控制參數,完成后續光伏板清洗工作。
本文提出了一種檢測光伏板污漬的技術。通過攝像頭獲取視頻圖像,對其進行預處理,利用邊緣檢測擬合直線框選光伏板,在光伏板內部檢測污漬點操作可以準確檢測到多個污漬點,但還存在著圖片清晰度不高、可能會影響最終處理結果的問題。在后續研究中,將嘗試用高分辨率攝像頭獲取視頻圖像,繼續改進目標識別和檢測算法,以排除外界的強干擾信息,使系統具有更強的準確性和抗干擾能力。