路志英 周慶霞 李 鑫
(天津大學(xué)電氣自動化與信息工程學(xué)院,天津,300072)
太陽能是一種綠色環(huán)保的可再生能源,光伏系統(tǒng)可以實(shí)現(xiàn)對太陽能的有效利用,因此對光伏系統(tǒng)的預(yù)測研究逐漸引起了人們的關(guān)注[1]。然而,天空中云的生成、運(yùn)動和消融會造成光伏系統(tǒng)輸出功率不穩(wěn)定[2]。因此,結(jié)合云圖預(yù)測光伏系統(tǒng)超短期輸出功率(或太陽輻射)的方法成為了當(dāng)前主流的研究內(nèi)容[3]。對于實(shí)時和超短期預(yù)測,結(jié)合地基云圖進(jìn)行預(yù)測是現(xiàn)在廣泛使用的方法[4]。全天空地基云圖是通過特定的拍攝設(shè)備對天空進(jìn)行拍攝所獲取的圖像。由于全天空成像儀(Total sky imager,TSI)的設(shè)備結(jié)構(gòu)特點(diǎn)導(dǎo)致采集的云圖存在信息缺失,嚴(yán)重影響了云識別、云量計算及云量分布的描述。因此,對地基云圖進(jìn)行修復(fù)具有至關(guān)重要的意義[5]。
云圖修復(fù)屬于圖像修復(fù)范疇,主要可分為兩大類[6]:一類是針對小尺度缺損的基于結(jié)構(gòu)的圖像修復(fù)技術(shù);另一類是針對大面積破損的基于樣本塊匹配的紋理合成算法。Bertalmio等[7]首次提出數(shù)字圖像修復(fù)這一術(shù)語,該技術(shù)主要應(yīng)用于破損油畫或照片的修復(fù)、指定目標(biāo)物的移除;在此基礎(chǔ)上,Chan和Shen提出了全變分模型[8]和基于曲率驅(qū)動擴(kuò)散模型[9]。此類修復(fù)方法在修復(fù)小尺度破損圖像時有很好的修復(fù)效果,但對大面積紋理區(qū)域缺失的圖像進(jìn)行修復(fù)時會產(chǎn)生模糊現(xiàn)象,因此主要適用于非紋理圖像和破損程度不嚴(yán)重的紋理類圖像。Criminisi等[10]于2004年提出一種基于樣本的圖像修復(fù)算法,該算法在確??梢孕迯?fù)較大破損區(qū)域的同時,還一定程度上保留了圖像的結(jié)構(gòu)和紋理信息,使得對物體的移除和區(qū)域的填充具有良好的效果。后續(xù)大量的專家學(xué)者對Criminisi算法進(jìn)行研究,提出了大量的改進(jìn)算法[11-14]。例如,彭坤楊等[11]通過基于圖像平均灰度值的方法,縮短算法執(zhí)行時間,修復(fù)效果與Cri?minisi算法持平,但丟失了圖像的彩色信息;朱霞等[12]采用基于顏色區(qū)域分割的方法,其分配塊的搜索限定在源樣本塊所覆蓋的顏色區(qū)域中,提高了算法性能,但增加了算法的復(fù)雜度;韓明珠等[13]通過引入調(diào)節(jié)因子減小置信度對優(yōu)先權(quán)的影響,間接增大數(shù)據(jù)項(xiàng)對優(yōu)先權(quán)的作用,在一定程度上增加了算法的復(fù)雜度。
地基云圖紋理細(xì)節(jié)比較豐富,本文在Criminisi算法的基礎(chǔ)上提出了一種基于改進(jìn)Criminisi算法的地基云圖修復(fù)方法,即根據(jù)地基云圖獨(dú)特的紅藍(lán)比特征,對優(yōu)先權(quán)函數(shù)進(jìn)行改進(jìn),使修復(fù)順序得到了改善,同時對搜索匹配塊時的搜索區(qū)域進(jìn)行了調(diào)整,使修復(fù)結(jié)果更加自然,提高了修復(fù)的準(zhǔn)確性。
Criminisi修復(fù)算法的原理是在最佳樣本上通過尋找待修復(fù)塊的最佳匹配塊及復(fù)制來進(jìn)行圖像修復(fù)。該算法主要由計算待修復(fù)塊優(yōu)先級、尋找最佳匹配塊并填充以及更新置信度3部分構(gòu)成。令Criminisi修復(fù)算法中符號標(biāo)記如圖1所示。其中:I代表整個圖像;Ω代表圖像I中待修復(fù)的區(qū)域;δΩ代表待修復(fù)區(qū)域與源區(qū)域的邊界;Φ代表源區(qū)域,可為待修復(fù)區(qū)域提供最佳匹配樣本,且Φ=I-Ω;ψp為位于待修復(fù)區(qū)域邊界δΩ上大小為(2ε+1)×(2ε+1)的待修復(fù)塊,中心點(diǎn)為p,一般情況下選擇M×M(M=9)的方形窗口模塊。
Criminisi修復(fù)的核心與重點(diǎn)是不同待修復(fù)塊優(yōu)先級的計算與比較,圖像源區(qū)域的每個像素點(diǎn)都有其不同的置信度,而待修補(bǔ)塊由于其內(nèi)部像素點(diǎn)的差別而具有不同的優(yōu)先級。
對于以邊界線?Ω上的點(diǎn)p為中心的待修復(fù)塊ψp,其優(yōu)先權(quán)P(p)的計算公式為
圖1 Criminisi算法標(biāo)記圖Fig.1 Criminisialgorithm marker map
式中:C(p)表示置信度項(xiàng),用來衡量待修復(fù)塊ψp中可靠信息的數(shù)量;D(p)為數(shù)據(jù)項(xiàng),表示當(dāng)前點(diǎn)p所達(dá)到的等照度線的強(qiáng)弱。C(p)和D(p)可由式(2,3)計算獲得。
需要對C(p)進(jìn)行初始化處理,當(dāng)?p∈ Ω時,置C(p)=0;當(dāng)?p∈ Φ時,置C(p)=1,有
式中:np表示p點(diǎn)處垂直于邊界線δΩ的法向量;?Ip⊥表示點(diǎn)p的等照度線方向;α為歸一化參數(shù),一般選擇α=255。
根據(jù)式(1)計算待修復(fù)區(qū)域邊界上所有點(diǎn)的優(yōu)先級,確定出優(yōu)先級最大的點(diǎn)所在的待修復(fù)塊。
尋找最佳匹配塊是在源區(qū)域中搜索與具有最大優(yōu)先級的待修復(fù)塊紋理最相近且與之匹配的塊;填充則是把搜索到的最佳匹配塊中的像素對應(yīng)復(fù)制到待修復(fù)塊的未知像素點(diǎn),從而使未知像素點(diǎn)轉(zhuǎn)化為已知像素點(diǎn)。
不同的匹配塊與具有最大優(yōu)先級的待修復(fù)塊之間的匹配度公式為
式中:Ψp表示待修復(fù)塊;Ψp?表示匹配塊,其中 p?表示匹配塊中的像素點(diǎn);d(Ψp?,Ψp)表示 Ψp與 Ψp?塊區(qū)間的差距?;谙袼鼗叶绕椒讲钪停⊿um of squared differences,SSD)最小的匹配準(zhǔn)則,待修復(fù)塊與匹配塊內(nèi)像素之間存在的顏色差距可描述為
式中函數(shù)R()、G()、B()分別表示M×M(本文設(shè)定M=9)圖像塊中點(diǎn)(i,j)的紅、綠、藍(lán)三原色。
確定最佳匹配塊之后,將搜索到的最佳匹配塊中的像素對應(yīng)復(fù)制到待修復(fù)塊的未知像素點(diǎn),實(shí)現(xiàn)待修復(fù)塊的修補(bǔ)過程。
待修復(fù)塊的修復(fù)實(shí)現(xiàn)之后,其中的邊界點(diǎn)轉(zhuǎn)化為內(nèi)部的已知點(diǎn),原待修復(fù)區(qū)域內(nèi)的點(diǎn)變?yōu)橐阎c(diǎn)或者邊界點(diǎn),此時需要更新已知像素點(diǎn)的置信度以及邊界點(diǎn)的優(yōu)先權(quán)。將這些點(diǎn)的置信度統(tǒng)一設(shè)為與p點(diǎn)相同的置信度
對以上3步進(jìn)行循環(huán),直至待修復(fù)區(qū)域完成全部修復(fù)。
圖2 全天空成像儀TSI-880外觀Fig.2 TSI-880 appearance
TSI-880是美國Yankee Environmental Systems公司研制的全自動、全彩色天空成像系統(tǒng),能夠滿足各種天氣條件下對局地天空的觀測需要。圖2所示為TSI-880的外觀,該設(shè)備的工作原理是通過CCD鏡頭向下觀測一個半球型旋鏡,捕捉從天空反射到鏡上的圖像;在球面鏡上方有一條遮光帶隨太陽的運(yùn)動而轉(zhuǎn)動,用于避免陽光直射入鏡頭,起到保護(hù)TSI的作用[15]。TSI-880采集的地基云圖為640像素×480像素的JPEG圖像,通過網(wǎng)絡(luò)服務(wù)器實(shí)時顯示。
圖3為TSI-880輸出的云圖圖像,中部圓形區(qū)域?yàn)橛行^(qū)域,因此處理圖像時首先將圓形區(qū)域外部置白,以消除外部區(qū)域?qū)D像處理的影響;其次,中部圓形區(qū)域中的遮光帶和鏡頭支臂影像為待修復(fù)區(qū)域,對其進(jìn)行置黑,處理后的結(jié)果如圖4所示。
圖3 TSI-880輸出的云圖圖像Fig.3 Cloud image outputted by TSI-880
圖4 待修復(fù)區(qū)域的顯示Fig.4 Displayed area to be inpainted
TSI設(shè)備的鏡面上存在保護(hù)其攝像頭不受太陽強(qiáng)光損壞的遮光帶,且設(shè)備用于支撐鏡頭的機(jī)械臂也在鏡面上形成投影,使獲得的云圖信息不完整,影響圖像的分析,因此為了修復(fù)地基云圖還原云圖真實(shí)情況,需要確定出遮光帶和鏡頭支臂影像在云圖中的位置。
遮光帶在云圖中的位置會隨著太陽位置的變化而變化,因此需要計算太陽光斑在地基云圖中的位置以對遮光帶進(jìn)行定位,以此確定待修復(fù)區(qū)域。在天文學(xué)中,可通過太陽天頂角和方位角確定太陽的位置。遮光帶與鏡頭支臂影像定位的計算過程如下:
(1)獲取TSI云圖拍攝的時間和設(shè)備所在位置的經(jīng)緯度。
(2)計算太陽赤緯角δ為
式中N為一年中的日期順序序列號,從一年中的第一天(1月1日)到最后一天(12月31號),取值范圍是1~365。
(3)計算太陽時角ω為
式中t表示真太陽時,以24 h計。
(4)計算太陽方位角γs和天頂角θz為
式中φ表示全天空成像儀TSI所處位置的緯度。
(5)確定遮光帶位置。由于遮光帶區(qū)域的軸線和云圖中心線的夾角與太陽方位角γs(如圖5所示)一致,所以可以通過太陽方位角來確定遮光帶區(qū)域的中心線在云圖中的位置。
(6)鏡頭臂的位置在圖像中固定,可直接確定。
Criminisi算法在確??梢孕迯?fù)較大破損區(qū)域的同時,還一定程度上保留了圖像的結(jié)構(gòu)和紋理信息,使得對物體的移除和區(qū)域的填充具有良好的效果。然而由于地基云圖紋理細(xì)節(jié)比較豐富,具有獨(dú)特的紅藍(lán)比特征,因此將該特征引入置信項(xiàng)中,可實(shí)現(xiàn)對待修復(fù)塊優(yōu)先級的計算。
圖5 方位角在地基云圖中的顯示Fig.5 Display of azimuth in the ground-based cloud image
在優(yōu)先權(quán)函數(shù)中的置信項(xiàng)中加入了地基云圖獨(dú)特的紅藍(lán)比特征,避免了置信度快速下降造成的影響,使得圖像修復(fù)時的順序更加合理。對Criminisi算法的優(yōu)先權(quán)計算公式作如下改進(jìn)
式中RB(p)表示改進(jìn)的置信度項(xiàng),則RB(p)為
式中:ψp表示待修復(fù)塊,選取9×9的方形窗口模塊;rb(q)表示q點(diǎn)的紅藍(lán)比,即像素點(diǎn)q的紅色通道和藍(lán)色通道的分量比值。
在Criminisi算法中每個待修復(fù)塊采用遍歷的方法對整個源區(qū)域進(jìn)行全局搜索,這種搜索方法會增加算法的時間復(fù)雜度,使效率降低。而一塊圖像與周圍相鄰圖像的相關(guān)性與距離成反比,采用全局搜索有時會得到離待修復(fù)塊較遠(yuǎn)且相關(guān)性較低的匹配塊,即過大的搜索范圍可能會導(dǎo)致最終得到的修復(fù)圖像與其鄰域圖像有較大的差別。
通常一幅圖像具有很強(qiáng)的空間冗余度,而且相鄰像素值的變化小,這些具有相關(guān)性的點(diǎn)形成了圖像的結(jié)構(gòu)和紋理。對于待修復(fù)塊可以只選取待修復(fù)點(diǎn)周圍的源區(qū)域作為待匹配區(qū)域,這樣可以縮短搜索時間,同時保證修復(fù)圖像在其鄰域圖像內(nèi)搜索。為此,本文提出基于啟發(fā)信息選擇匹配區(qū)域大小的方法,步驟如下:
(1)待修復(fù)區(qū)域?yàn)檎诠鈳Ш顽R頭支臂影像區(qū)域;
為匹配區(qū)域,如圖6所示。圖中:p為待修復(fù)點(diǎn),w為遮光帶寬度,M為以點(diǎn)p為中心的待修復(fù)塊的邊長,L為以點(diǎn)p為中心的正方形的邊長,圖中陰影部分即為匹配區(qū)域;
圖6 待修復(fù)點(diǎn)的匹配區(qū)域Fig.6 Matching area of the point to be inpainted
(3)在匹配區(qū)域中遍歷,尋找最佳匹配塊。
改進(jìn)后的具體實(shí)現(xiàn)步驟如下(流程圖如圖7所示):
(1)對提取出的遮光帶區(qū)域和鏡頭臂區(qū)域置黑;
(2)提取置黑區(qū)域的邊界,并判斷邊界是否為空;若是,跳到步驟(7);否則,繼續(xù)下一步;
(3)計算邊界上各點(diǎn)的優(yōu)先級,確定修補(bǔ)的先后順序,找到優(yōu)先級最大的像素點(diǎn)所在的待修復(fù)塊,先對其進(jìn)行修復(fù);
(4)確定待匹配區(qū)域。以待修復(fù)點(diǎn)為中心選取邊長為L的正方形,該區(qū)域與源區(qū)域相交的部分即為匹配區(qū)域;
(5)計算待修復(fù)塊和最佳匹配塊的SSD,選取SSD最小的匹配塊對待修復(fù)塊進(jìn)行修復(fù);
(6)更新破損區(qū)域,返回步驟(2);
(7)完成修復(fù),輸出修復(fù)圖像。
圖7 算法流程圖Fig.7 Algorithm flowchart
應(yīng)用本文算法對地基云圖進(jìn)行了修復(fù),并與Cri?minisi算法、文獻(xiàn)[13]算法的結(jié)果進(jìn)行了比較。上述算法均在WIN 7 platform with Intel?Core TM i3-2120 CPU@3.30 GHz的配置條件下,利用Matlab 2010編程完成的。
圖8 采集圖像1Fig.8 Capture image 1
圖8 是拍攝時間為2016-02-17-151930的地基云圖。從圖8(c,d)不難看出:虛線框中的遮光帶區(qū)域的修復(fù)結(jié)果出現(xiàn)了塊匹配錯誤,產(chǎn)生斷層現(xiàn)象,造成結(jié)構(gòu)不連續(xù)、不自然;而圖8(e)相應(yīng)區(qū)域修復(fù)后的圖像較連續(xù),沒有明顯的塊匹配錯誤,保證了合理的填充順序,達(dá)到了較好的視覺效果,而且自然可信,表明了其修復(fù)效果明顯優(yōu)于原始算法。
圖9、圖10為兩組不同時刻地基云圖的修復(fù)實(shí)驗(yàn),在Criminisi修復(fù)算法及文獻(xiàn)[13]修復(fù)算法得到的實(shí)驗(yàn)結(jié)果中可以看出結(jié)構(gòu)不連續(xù)不自然的問題,而改進(jìn)后的Criminisi修復(fù)算法得到的實(shí)驗(yàn)結(jié)果可以取得更好的效果。
圖9 采集圖像2Fig.9 Capture image 2
圖10 采集圖像3Fig.10 Capture image 3
表1給出了修復(fù)不同時刻的地基云圖所用的時間。從表中數(shù)據(jù)可見:改進(jìn)后的Criminisi修復(fù)算法的修復(fù)速度相對于Cri?minisi算法提升了5倍左右,文獻(xiàn)[13]修復(fù)算法引入調(diào)節(jié)因子使得需要的修復(fù)時間更長,說明改進(jìn)后的Criminisi修復(fù)算法降低了時間復(fù)雜度,提高了修復(fù)效率。
為了更好地反映改進(jìn)算法的有效性,本文采用峰值信噪比(Peak signal to noise ratio,PSNR)評價指標(biāo)對修復(fù)后的地基云圖進(jìn)行了客觀評價,同時也對本文的比較方法進(jìn)行了評價。PSNR計算公式為
表1 算法執(zhí)行時間比較Tab.1 Algorithm execution time comparison
本文隨機(jī)選取了圖10(a)的局部區(qū)域進(jìn)行置黑,并用本文算法對其進(jìn)行修復(fù),實(shí)驗(yàn)效果如圖11所示,實(shí)驗(yàn)結(jié)果如表2所示。表中PSNR用于衡量修復(fù)結(jié)果相對于原圖的保真度。一般來說PSNR值越大,修復(fù)效果和質(zhì)量越好,圖像失真越小。綜上所述,從PSNR值可以看出改進(jìn)后的算法PSNR值提高;從修復(fù)的視覺效果上可以看出:改進(jìn)后的算法比原始算法更加自然。
表2 不同算法修復(fù)結(jié)果的PSNR值Tab.2 PSNR values of differ ent r epair ed results
圖11 局部區(qū)域修復(fù)效果Fig.11 Inpainted effect of local area
本文針對TSI拍攝的地基云圖中存在的遮擋問題,結(jié)合地基云圖特征,對Criminisi算法進(jìn)行了改進(jìn),提出了一種基于改進(jìn)Criminisi算法的地基云圖修復(fù)方法,具體包括:
(1)引入地基云圖獨(dú)特的紅藍(lán)比特征作為置信項(xiàng),將圖像更多的已知信息融入到優(yōu)先權(quán)計算中,使得含有更多信息的像素塊具有更高的優(yōu)先級,解決了傳統(tǒng)Criminisi算法在計算優(yōu)先權(quán)時由于置信度急劇下降為零所造成的修復(fù)順序發(fā)生錯誤的問題。
(2)提出基于啟發(fā)信息選擇匹配區(qū)域大小的方法,避免了搜索到離待修復(fù)塊較遠(yuǎn)的相關(guān)性較低的匹配塊,降低了算法的時間復(fù)雜度。
實(shí)驗(yàn)表明,與傳統(tǒng)Criminisi算法相比,本文修復(fù)算法可以在較短的時間內(nèi)實(shí)現(xiàn)對不同時刻地基云圖的修復(fù)工作,并取得更為滿意的修復(fù)效果,為建立光伏發(fā)電預(yù)測模型奠定了基礎(chǔ)。