本發(fā)明涉及計(jì)算機(jī)視覺(jué)、圖像處理領(lǐng)域中恢復(fù)圖像清晰度的算法,特別涉及去霧算法。
背景技術(shù):
圖像去霧算法是一種重要的恢復(fù)圖像清晰度的算法,其主要目的去除圖像中存在的霧氣,從而恢復(fù)原始的無(wú)霧圖像,可廣泛應(yīng)用于交通運(yùn)輸、視頻監(jiān)控、衛(wèi)星遙感等對(duì)清晰圖像有較高需求的行業(yè)。
在眾多的圖像去霧算法中,基于卷積神經(jīng)網(wǎng)絡(luò)的去霧算法是一種較為重要的方法。該類(lèi)方法主要思想是:首先,提取與霧的大小程度相關(guān)的特征;之后,通過(guò)學(xué)習(xí)的方法學(xué)習(xí)到特征與透射率或透射率相關(guān)量之間的映射關(guān)系;最終,利用學(xué)習(xí)到的映射關(guān)系估計(jì)輸入圖像的透射率或透射率相關(guān)量,恢復(fù)出原始無(wú)霧圖像。2014年,tang[1]提出用暗通道特征、最大對(duì)比度、色調(diào)差異、最大飽和度這幾種特征來(lái)反映霧的大小程度。用這幾種特征來(lái)訓(xùn)練隨機(jī)森林,并用訓(xùn)練好的隨機(jī)森林來(lái)估計(jì)有霧圖像塊的透射率,從而恢復(fù)出原始無(wú)霧圖像。然而,由于有的特征并不能完全反映,且濃霧區(qū)域的特征非常的不明顯且局部區(qū)域之間的特征非常相似,因而導(dǎo)致隨機(jī)森林對(duì)透射率的估計(jì)存在一定程度的偏差。2015年,zhu[2]發(fā)現(xiàn)亮度與飽和度的差值能夠反映霧的大小程度。基于這一先驗(yàn)知識(shí),假設(shè)圖像距相機(jī)的距離與亮度及飽和度存在線(xiàn)性關(guān)系,并通過(guò)訓(xùn)練得到該模型的具體表達(dá)形式。通過(guò)這一表達(dá)式,預(yù)測(cè)有霧圖片圖像塊的深度,進(jìn)而估計(jì)出該圖像塊對(duì)應(yīng)的透射率,從而恢復(fù)出原始無(wú)霧圖像。但是,由于該方法同樣存在著一定的估計(jì)誤差,主要有兩方面原因造成:首先,在某些區(qū)域,霧的大小程度與亮度及飽和度并不存在線(xiàn)性關(guān)系;其次,濃霧區(qū)域,各個(gè)局部區(qū)域的亮度及飽和度過(guò)于相近,使得該線(xiàn)性模型對(duì)于深度預(yù)測(cè)的準(zhǔn)確性有所降低。2016年,ren[3]采用兩個(gè)基于不同尺度的卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法來(lái)預(yù)測(cè)透射率。該方法將原始有霧圖像作為兩個(gè)網(wǎng)絡(luò)共同的輸入,其中一個(gè)卷積網(wǎng)絡(luò)用于估計(jì)粗尺度的透射率,另一個(gè)用于估計(jì)細(xì)尺度的透射率,將兩個(gè)網(wǎng)絡(luò)相結(jié)合來(lái)實(shí)現(xiàn)對(duì)透射率的估計(jì)。然而,由于輸入圖像在濃霧區(qū)域的像素值變化十分平緩,使得網(wǎng)絡(luò)估計(jì)的投射率圖在濃霧區(qū)域趨于一致,無(wú)法反映濃霧區(qū)域透射率的變化。2016年,cai[4]利用有霧圖像塊的r、g、b三個(gè)通道的特征對(duì)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,利用訓(xùn)練好的網(wǎng)絡(luò)來(lái)估計(jì)輸入圖像塊的透射率。與上述幾種方法一樣,此方法對(duì)透射率的估計(jì)同樣存在著偏差。該誤差主要是由于輸入的特征無(wú)法充分反映霧的大小程度造成的。同樣地,2016年,ling[5]也利用有霧圖像的r、g、b三個(gè)通道的特征來(lái)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。類(lèi)似地,該方法也存在這對(duì)透射率估計(jì)得偏差。
綜上,當(dāng)前基于卷積神經(jīng)網(wǎng)絡(luò)的去霧算法都存在著對(duì)透射率估計(jì)不準(zhǔn)確的問(wèn)題,而這種問(wèn)題會(huì)最終導(dǎo)致最終恢復(fù)出的結(jié)果存在著顏色失真及細(xì)節(jié)不清晰的問(wèn)題。而針對(duì)這種透射率估計(jì)不準(zhǔn)確的問(wèn)題,目前未見(jiàn)有針對(duì)性地采取方法來(lái)盡可能縮小這種誤差的文獻(xiàn)報(bào)道。
參考文獻(xiàn)
[1]k.tang,j.yang,j.wang,"investigatinghaze-relevantfeaturesinalearningframeworkforimagedehazing,"inproc.ieeeconf.comput.vis.patternrecognit.,2014.
[2]q.zhu,j.mai,l.shao,"afastsingleimagehazeremovalalgorithmusingcolorattenuationprior,"ieeetrans.imageprocess.,vol.24,no.11,pp.3522–3533,2015.
[3]w.ren,s.liu,h.zhang,j.pan,x.cao,m.yang,"singleimagedehazingviamulti-scaleconvolutionalneuralnetworks,"inproc.eur.conf.comput.vis.,2016.
[4]b.cai,x.xu,k.jia,c.qing,d.tao,"dehazenet:anend-to-endsystemforsingleimagehazeremoval,"ieeetrans.imageprocess.,vol.25,no.11,pp.5187–5198,2016.
[5]z.ling,g.fan,y.wang,x.lu,"learningdeeptransmissionnetworkforsingleimagedehazing,"inproc.ieeeint.conf.imageprocess.,2016.
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有方法中存在的對(duì)透射率的估計(jì)誤差沒(méi)有采取針對(duì)性的措施進(jìn)行減小的問(wèn)題,提出一種基于誤差補(bǔ)償?shù)膱D像去霧算法。技術(shù)方案如下:
一種基于誤差補(bǔ)償?shù)膱D像去霧算法,該算法首先訓(xùn)練透射率估計(jì)網(wǎng)絡(luò)wt和透射率誤差估計(jì)網(wǎng)絡(luò)we:
①透射率估計(jì)網(wǎng)絡(luò)wt采用nin卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練步驟如下:
(1)任意選取m個(gè)大小為n×n的無(wú)霧圖像塊
其中,at=(255,255,255)t;
(2)將
(3)將色度特征圖
②透射率誤差估計(jì)網(wǎng)絡(luò)we,采用nin卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練步驟如下:
(1)任意選取l個(gè)大小為n×n的無(wú)霧圖像塊
其中,ae=(255,255,255)t;
(2)將
(3)將每一個(gè)圖像塊
(4)將色度特征圖
算法包括下列步驟:
步驟1:將有霧圖像ih劃分成n個(gè)大小為n×n的不重疊的圖像塊p1,p2,......,pn。同時(shí),設(shè)ih去霧后的結(jié)果為jf;
步驟2:初始化i=1;
步驟3:取圖像塊pi,將圖像塊pi從rgb顏色空間轉(zhuǎn)換到hsv顏色空間,提取色度特征圖hi及飽和度特征圖si,計(jì)算pi的梯度特征圖gi;
步驟4:將hi、si及gi輸入到透射率估計(jì)網(wǎng)絡(luò)wt中,得到pi的透射率的估計(jì)值
步驟5:將步驟3中提取的特征圖hi、si及gi輸入到透射率誤差估計(jì)網(wǎng)絡(luò)we中,估計(jì)wt對(duì)pi的透射率的估計(jì)誤差
步驟6:將
步驟7:利用透射率ti,計(jì)算pi對(duì)應(yīng)的無(wú)霧圖像塊ji,公式如下:
其中,
步驟8:將ji賦值給jf中對(duì)應(yīng)pi位置的圖像塊
步驟9:判斷i的值是否小于n,如果小于n,執(zhí)行步驟10;否則,結(jié)束循環(huán);
步驟10:將i加1,返回步驟3;
本方法采用了一種基于誤差補(bǔ)償?shù)膱D像去霧算法。該方法通過(guò)學(xué)習(xí)的方法得到輸入特征與透射率估計(jì)誤差之間的關(guān)系,并利用這種關(guān)系來(lái)估計(jì)對(duì)透射率的估計(jì)可能存在的誤差,從而減小透射率的估計(jì)誤差。與以往的基于卷積神經(jīng)網(wǎng)絡(luò)的去霧算法相比,本發(fā)明針對(duì)性設(shè)計(jì)了透射率誤差估計(jì)網(wǎng)絡(luò)估計(jì)誤差,大大減小了透射率估計(jì)得誤差,進(jìn)而保證了恢復(fù)出的無(wú)霧圖像無(wú)顏色失真,提高了圖像的質(zhì)量。
附圖說(shuō)明
圖1本算法流程圖。
具體實(shí)施方式
本發(fā)明提出一種基于誤差補(bǔ)償?shù)膱D像去霧算法。首先,提取輸入圖像塊的色度、飽和度及梯度特征。之后,將提取的特征輸入到透射率估計(jì)網(wǎng)絡(luò)中,估計(jì)出一個(gè)大致的透射率值;此外,將該特征輸入到另一個(gè)透射率估計(jì)誤差網(wǎng)絡(luò)中,估計(jì)前一個(gè)網(wǎng)絡(luò)對(duì)透射率值的估計(jì)誤差。將兩個(gè)網(wǎng)絡(luò)的估計(jì)結(jié)果相結(jié)合,得到最終的透射率值,并根據(jù)霧天圖像的成像模型恢復(fù)出原始無(wú)霧圖像。具體步驟如下:
①透射率估計(jì)網(wǎng)絡(luò)wt采用nin卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練步驟如下:
(1)選取m個(gè)大小為n×n的無(wú)霧圖像塊
其中,y為
(2)將
(3)將色度特征圖
其中,
②透射率誤差估計(jì)網(wǎng)絡(luò)we,采用nin卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練步驟如下:
(1)選取l個(gè)大小為n×n的無(wú)霧圖像塊
其中,y為
(2)將
(3)將
(4)將色度特征圖
其中,
算法包括下列步驟:
步驟1:將有霧圖像ih劃分成n個(gè)大小為n×n的不重疊的圖像塊p1,p2,......,pn,設(shè)ih去霧后的結(jié)果為jf;
步驟2:初始化i=1;
步驟3:提取圖像塊pi,將其轉(zhuǎn)換至hsv顏色空間,提取其色度特征圖hi、飽和度特征圖si;計(jì)算梯度特征圖gi,大小為n×n;
步驟4:將步驟3中得到的特征圖hi、si及gi輸入到預(yù)先訓(xùn)練好的透射率估計(jì)網(wǎng)絡(luò)wt中,得到pi的透射率的估計(jì)值
步驟5:將步驟3中提取的特征圖hi、si及gi輸入到預(yù)先訓(xùn)練好的透射率誤差估計(jì)網(wǎng)絡(luò)we中,估計(jì)wt對(duì)pi的透射率的估計(jì)誤差
步驟6:將
步驟7:利用透射率ti,計(jì)算pi對(duì)應(yīng)的無(wú)霧圖像塊ji,公式如下:
其中,y為pi的一個(gè)像素點(diǎn),
步驟8:將ji賦值給jf中對(duì)應(yīng)pi位置的圖像塊
其中,y表示ji中任意像素點(diǎn);
步驟9:判斷i的值是否小于n,如果小于n,執(zhí)行步驟10;否則,結(jié)束循環(huán);
步驟10:將i加1,返回步驟3。