劉 岳,崔 嘉,李曉潔,馮 玲,臧夢薇,陸宏菊
(1 山東師范大學(xué)信息科學(xué)與工程學(xué)院,濟(jì)南 250358; 2 華南理工大學(xué)設(shè)計(jì)學(xué)院,廣州 510640;3 泰山學(xué)院信息科學(xué)技術(shù)學(xué)院,山東 泰安 271021; 4 廣州城市理工學(xué)院,廣州 510850)
單圖像去雨是指從單幅的有雨圖像中恢復(fù)無雨的干凈圖像。 近年來,單圖像去雨研究備受關(guān)注,其對于戶外計(jì)算機(jī)視覺任務(wù)非常重要,是必不可少的預(yù)處理步驟,尤其適用于自動駕駛、場景分割、目標(biāo)跟蹤等任務(wù)。 因此,有效的去雨技術(shù)通常有助于進(jìn)行更好的、更準(zhǔn)確的圖像檢測或識別。 由于真實(shí)場景中雨結(jié)構(gòu)的復(fù)雜多樣性,單圖像去雨仍是一個(gè)具有挑戰(zhàn)性的問題。
2011年,Kang 等學(xué)者[1]首次提出單圖像去雨問題,近年來基于深度學(xué)習(xí)的方法被引入到單圖像去雨任務(wù)中,通過訓(xùn)練CNN 網(wǎng)絡(luò)檢測并消除雨紋,可以提高單圖像去雨任務(wù)的性能。 在該任務(wù)上,基于深度學(xué)習(xí)的方法大多數(shù)都采用的是監(jiān)督學(xué)習(xí)方式來訓(xùn)練網(wǎng)絡(luò)的,全監(jiān)督學(xué)習(xí)方式訓(xùn)練網(wǎng)絡(luò)依賴雨圖/無雨圖像對。 受各種因素的限制難以獲得成對的真實(shí)的雨圖/無雨圖像,所以現(xiàn)有的方法通常是在合成的雨圖數(shù)據(jù)集上進(jìn)行訓(xùn)練。 合成雨圖數(shù)據(jù)集主要是采用在無雨圖像合成添加雨紋,盡管合成雨紋的技術(shù)在不斷進(jìn)步,但是合成的雨圖與真實(shí)的雨圖在分布上仍然存在著很大的差異,真實(shí)雨圖要比合成雨圖復(fù)雜得多。 在合成數(shù)據(jù)集上訓(xùn)練的模型可能很難推廣到現(xiàn)實(shí)世界的實(shí)際應(yīng)用中。
為了解決這個(gè)問題,一些基于半監(jiān)督學(xué)習(xí)的去雨方法[2-4]被提出,將有監(jiān)督的合成數(shù)據(jù)的去雨知識遷移到無監(jiān)督的真實(shí)數(shù)據(jù)的去雨上。 雖然現(xiàn)有的半監(jiān)督方法已經(jīng)取得了不錯的效果,但由于缺少真實(shí)雨圖信息,仍存在對真實(shí)雨紋的識別能力較差、圖像細(xì)節(jié)丟失等問題。 所以,真實(shí)圖像的去雨任務(wù)仍然是一個(gè)開放且具有挑戰(zhàn)性的問題。
本文提出了一種融合多記憶模塊的半監(jiān)督單圖像去雨網(wǎng)絡(luò),此網(wǎng)絡(luò)分為2 個(gè)分支-監(jiān)督分支和無監(jiān)督分支,2 個(gè)分支共享網(wǎng)絡(luò)參數(shù)。 網(wǎng)絡(luò)可以同時(shí)對標(biāo)記的合成圖像與未標(biāo)記的真實(shí)圖像進(jìn)行訓(xùn)練,具體來說,監(jiān)督分支在標(biāo)記的合成圖像上進(jìn)行訓(xùn)練,而無監(jiān)督分支在未標(biāo)記的真實(shí)圖像上進(jìn)行訓(xùn)練。 本文提出使用記憶模塊對多次特征向量進(jìn)行建模,提高網(wǎng)絡(luò)對多種雨紋/雨滴的識別能力,可以有效處理不同類型的雨圖圖像。 本次研究在不同數(shù)據(jù)集上進(jìn)行的大量實(shí)驗(yàn)表明,與現(xiàn)有方法相比,使用提出的基于多記憶模塊訓(xùn)練的半監(jiān)督框架將未標(biāo)記的真實(shí)數(shù)據(jù)合并到訓(xùn)練過程中可以獲得與之相當(dāng)?shù)男阅堋?/p>
單圖像去雨技術(shù)可以分為2 類[5]:基于模型驅(qū)動(非深度學(xué)習(xí))的方法和基于數(shù)據(jù)驅(qū)動(深度學(xué)習(xí))的方法。
基于模型驅(qū)動的方法將單圖像去雨表述為層分離問題。 Kang 等學(xué)者[1]提出了一種基于單幅圖像的雨條紋去除框架,將雨條紋去除定義為基于形態(tài)成分分析的圖像分解問題。 Luo 等學(xué)者[6]提出了一種變分模型,該模型使用了一種稱為屏幕混合模型的非線性復(fù)合模型來建模降雨圖像,同時(shí)從輸入圖像中檢測和去除雨紋。 Chen 等學(xué)者[7]提出了一種從矩陣到張量結(jié)構(gòu)的低秩模型來捕捉時(shí)空相關(guān)的雨條紋。 Sun 等學(xué)者[8]提出了一種基于學(xué)習(xí)的方法,提倡增量字典學(xué)習(xí)策略來表示高頻圖像。 Wang 等學(xué)者[9]提出了一種基于圖像分解和字典學(xué)習(xí)的高效算法,從單幅彩色圖像中去除雨雪。 這些方法可以有效地去除中小尺度的雨紋,但無法處理大而尖銳的雨紋。
近年來,基于深度學(xué)習(xí)的方法被引入到單圖像去雨任務(wù)中,并取得了顯著的效果。 Fu 等學(xué)者[10]首先引入了一種端到端的殘差卷積網(wǎng)絡(luò)來去除雨紋。 Yang 等學(xué)者[11]在多任務(wù)網(wǎng)絡(luò)中聯(lián)合檢測并清除了雨水。 Hu 等學(xué)者[12]設(shè)計(jì)了一個(gè)深度關(guān)注網(wǎng)絡(luò)來處理雨紋和霧霾。 以上這些方法都采用了先進(jìn)的網(wǎng)絡(luò)架構(gòu)通過監(jiān)督方式學(xué)習(xí),在數(shù)量和質(zhì)量上都取得了更好的結(jié)果。 盡管這些方法在合成降雨數(shù)據(jù)集上的表現(xiàn)令人印象深刻,但由于合成訓(xùn)練數(shù)據(jù)和真實(shí)測試數(shù)據(jù)之間的差距,這些方法在現(xiàn)實(shí)場景中的性能顯著下降。 為了解決這個(gè)問題,Wei 等學(xué)者[2]首先提出了一個(gè)半監(jiān)督學(xué)習(xí)框架,同時(shí)利用監(jiān)督和無監(jiān)督的學(xué)習(xí)方式進(jìn)行圖像去雨,該方法通過對高斯混合模型施加一個(gè)似然項(xiàng)來模擬真實(shí)的雨殘差,并最小化合成雨和真實(shí)雨分布之間的KL 散度。 隨后,Yasarla 等學(xué)者[4]提出了一種基于高斯過程的半監(jiān)督方法,該方法使用高斯過程對雨圖圖像的潛在特征進(jìn)行建模,并為未標(biāo)記的數(shù)據(jù)創(chuàng)建偽標(biāo)簽。 最近,Huang 等學(xué)者[3]提出了一種基于面向記憶的半監(jiān)督的遷移學(xué)習(xí)框架,自監(jiān)督記憶模塊可以記錄不同的雨退化原型,并且通過自監(jiān)督的學(xué)習(xí)方式進(jìn)行更新,自訓(xùn)練模塊用于為無標(biāo)簽數(shù)據(jù)生成偽標(biāo)簽,將有監(jiān)督去雨的知識遷移到無監(jiān)督去雨上。 雖然現(xiàn)有的半監(jiān)督方法對真實(shí)圖像的去雨效果有所提高,但仍存在對真實(shí)雨紋的識別能力較差、圖像細(xì)節(jié)丟失等問題。
傳統(tǒng)的具有記憶功能的循環(huán)神經(jīng)網(wǎng)絡(luò)RNNs(包括LSTM[13],GRU[14]等)是將隱層信息壓縮成一個(gè)密集向量,能夠存儲的信息十分有限。 為了解決這一問題,Weston 等學(xué)者[15]首先提出了記憶網(wǎng)絡(luò),通過逐個(gè)搜索支持記憶產(chǎn)生輸出,其核心思想就是為傳統(tǒng)的推理模型增加了一個(gè)可讀寫的外部記憶組件以便更好地存儲長期記憶,從而成為一個(gè)動態(tài)的知識庫來為推理組件提供更完整的推理信息。Sukhbaatar 等學(xué)者[16]提出了一個(gè)端到端的記憶網(wǎng)絡(luò),是一種連續(xù)形式的記憶網(wǎng)絡(luò),其中每個(gè)記憶項(xiàng)根據(jù)記憶與查詢之間的內(nèi)積進(jìn)行加權(quán)。 本文的工作把Huang 等學(xué)者[3]的工作中對記憶模塊的更新策略作為啟發(fā),嘗試更新記憶模塊中的雨紋模型并使用半監(jiān)督學(xué)習(xí)的方式實(shí)現(xiàn)多種雨圖像類型的去雨工作。
本文提出了一個(gè)融合多記憶模塊的半監(jiān)督去雨網(wǎng)絡(luò),用于提高合成圖像和真實(shí)圖像的去雨能力。網(wǎng)絡(luò)框架如圖1 所示。 本文網(wǎng)絡(luò)結(jié)構(gòu)分為2 個(gè)分支:監(jiān)督分支和無監(jiān)督分支。 其中,監(jiān)督分支在標(biāo)記的合成雨圖上進(jìn)行訓(xùn)練,而無監(jiān)督分支在未標(biāo)記的真實(shí)雨圖上進(jìn)行訓(xùn)練,2 個(gè)分支共享相同的網(wǎng)絡(luò)、即MMR。 在監(jiān)督分支訓(xùn)練中,通過重構(gòu)損失和感知損失對得到的去雨圖像和相應(yīng)的無雨參考圖像(Ground-Truth,GT)之間進(jìn)行約束。 在無監(jiān)督分支訓(xùn)練中,通過總變分損失和本體映射損失進(jìn)行約束,以避免監(jiān)督分支過度擬合訓(xùn)練數(shù)據(jù)集。
圖1 網(wǎng)絡(luò)框架Fig. 1 Network structure diagram of this paper
semi-MMR 的詳細(xì)結(jié)構(gòu)如圖2 所示。 由圖2 可知,MMR 由編碼器-解碼器和3 個(gè)記憶模塊組成,以提高對多種雨紋模型的識別能力并恢復(fù)圖像細(xì)節(jié)。編碼器-解碼器用來提取雨紋特征,記憶模塊用于存儲并更新雨紋特征實(shí)現(xiàn)多種雨紋的識別。 具體來說,雨圖圖像作為網(wǎng)絡(luò)的輸入,通過編碼器映射得到特征向量,不同層次的特征向量通過記憶模塊中記錄的雨紋模型進(jìn)行更新,將更新的特征向量饋送到解碼器以產(chǎn)生雨紋特征,然后將雨圖與得到的雨紋特征做差以獲得網(wǎng)絡(luò)的輸出、即去雨圖像。
圖2 semi-MMR 的詳細(xì)結(jié)構(gòu)Fig. 2 The detailed architectures of the semi-MMR
本文方法的每個(gè)組成部分如下。
2.2.1 編碼器-解碼器
編碼器-解碼器是基于UNet 型[17]構(gòu)建的,圖2是所提出網(wǎng)絡(luò)的編碼器和解碼器的網(wǎng)絡(luò)結(jié)構(gòu)。 其中,用Bottle2neck 塊作為網(wǎng)絡(luò)的基本組件,充分利用多尺度信息,提高雨紋特征的識別能力。 Bottle 2neck 結(jié)構(gòu)如圖3 所示,在每個(gè)Bottle2neck 塊[18]內(nèi)構(gòu)造類似特征金字塔的結(jié)構(gòu),取代了通用的單個(gè)3×3 卷積核,在特征層內(nèi)部進(jìn)行多尺度的卷積,形成不同感受野,獲得不同細(xì)粒度的特征。
圖3 Bottle2neck 結(jié)構(gòu)圖Fig. 3 Bottle2neck structure
2.2.2 記憶模塊
記憶模塊的詳細(xì)結(jié)構(gòu)如圖4 所示。 基于Huang等學(xué)者[3]的工作中對記憶模塊更新的思想,每個(gè)記憶模塊中的記憶塊都是由512 個(gè)記憶項(xiàng)組成,記憶項(xiàng)用于存儲各種雨紋特征模型。 每個(gè)記憶模塊都有2 個(gè)步驟。 步驟1 用于更新記憶項(xiàng),步驟2 用于更新特征向量。 這里給出研究分述如下:
圖4 記憶模塊結(jié)構(gòu)Fig. 4 Memory module structure
步驟1更新記憶項(xiàng)。 具體來說,可將特征向量,n =h × w作為一個(gè)查詢項(xiàng),檢索與之最相關(guān)的記憶項(xiàng)mi并以自我監(jiān)督學(xué)習(xí)的方式更新記憶項(xiàng),更新策略如下:
其中,τ是衰減率;ε是一個(gè)極小參數(shù)以避免分式為0;sij是zj與mi的余弦相似性矩陣;1(·) 是一個(gè)指示函數(shù),如果參數(shù)為真則輸出值1,否則輸出值0。
步驟2更新特征向量。 首先,計(jì)算特征向量和更新后的記憶項(xiàng)之間的相似矩陣S ={sij},然后通過歸一化(softmax) 運(yùn)算得到注意力矩陣A ={aij}。 最后,通過式(2)計(jì)算特征向量z,即:
以上是記憶模塊的計(jì)算流程。
本文的損失函數(shù)由2 種損失函數(shù)組成,分別是監(jiān)督損失函數(shù)和無監(jiān)督損失函數(shù)。
2.3.1 監(jiān)督損失函數(shù)
在監(jiān)督訓(xùn)練階段,使用標(biāo)記的合成數(shù)據(jù)來學(xué)習(xí)網(wǎng)絡(luò)參數(shù),監(jiān)督損失函數(shù)由重構(gòu)損失函數(shù)和感知損失函數(shù)組成。
重構(gòu)損失Lr是合成數(shù)據(jù)的參考圖像Os與網(wǎng)絡(luò)生成的無雨圖像之間的L1損失,即:
感知損失Lp是利用一個(gè)訓(xùn)練好的分類網(wǎng)絡(luò)所具備的圖像語義信息感知的能力來縮小合成數(shù)據(jù)的參考圖像Os與網(wǎng)絡(luò)生成的無雨圖像在特征空間之間的距離,表示為:
其中,Φ(·) 是在ImageNet 上預(yù)訓(xùn)練的VGG16網(wǎng)絡(luò)的conv2,3 層。
因此,監(jiān)督損失函數(shù)Lsu表示為:
其中,λp是感知損失函數(shù)的參數(shù)。
2.3.2 無監(jiān)督損失函數(shù)
在無監(jiān)督訓(xùn)練階段,使用未標(biāo)記的真實(shí)數(shù)據(jù)來學(xué)習(xí)網(wǎng)絡(luò)參數(shù),無監(jiān)督損失函數(shù)由總變分損失函數(shù)(Total Variation loss,TV loss)和本體映射損失函數(shù)(Identity loss)組成。
總變分損失函數(shù)LTV是用來約束網(wǎng)絡(luò)生成的無雨圖像Opred r的平滑度以保留圖像的結(jié)構(gòu)和細(xì)節(jié),表示為:
其中,?h和?v分別表示水平和垂直微分算子。
本體映射損失函數(shù)LI是用來約束真實(shí)的雨圖圖像Ir和網(wǎng)絡(luò)生成的無雨圖像Opred r之間的結(jié)構(gòu)差異以提高生成的無雨圖像的質(zhì)量,表示為:
因此,無監(jiān)督損失函數(shù)Lunsu表示為:
其中,λTV是總變分損失函數(shù)的參數(shù),λI是本體映射損失函數(shù)的參數(shù)。
訓(xùn)練過程的總損失函數(shù)表示為:
其中,λunsu是一個(gè)預(yù)定義的權(quán)重,用來控制Lun和Lunsu對網(wǎng)絡(luò)的貢獻(xiàn)。
3.1.1 實(shí)驗(yàn)數(shù)據(jù)集
本文同時(shí)使用合成數(shù)據(jù)集和真實(shí)數(shù)據(jù)集訓(xùn)練和評估網(wǎng)絡(luò)模型。 在監(jiān)督訓(xùn)練階段中,分別使用3 個(gè)基準(zhǔn)合成數(shù)據(jù)集訓(xùn)練模型,Rain200L[11]數(shù)據(jù)集由1 800對訓(xùn)練圖像和200 對測試圖像組成,其中只包含一種類型的雨紋且雨紋密度較低;Rain200H[11]數(shù)據(jù)集由1800 對訓(xùn)練圖像和200 對測試圖像組成,其中包含5 種類型的雨紋且雨紋密度較強(qiáng),更貼近于實(shí)際應(yīng)用中的情況;Rain800[19]數(shù)據(jù)集包含700 對訓(xùn)練圖像和100 對測試圖像,其中每個(gè)圖像都包含一個(gè)或多個(gè)不同方向或密度的雨紋圖像。 在無監(jiān)督訓(xùn)練階段中,使用從SIRR[2]、Syn2Real[4]和谷歌搜索中搜集的150 張真實(shí)雨圖圖像作為真實(shí)數(shù)據(jù)集(real-data),其中120 張作為訓(xùn)練數(shù)據(jù),30 張作為測試數(shù)據(jù)。
3.1.2 評價(jià)指標(biāo)
由于合成的雨圖圖像存在ground-truth,因此可以使用峰值信噪比(PSNR[20]) 和結(jié)構(gòu)相似指數(shù)度量(SSIM[20]) 來評價(jià)降雨去除方法的性能。 而真實(shí)的雨圖圖像不存在ground-truth,采用自然圖像質(zhì)量評估器(NIQE[21]) 和基于感知的圖像質(zhì)量評估器(PIQE[22]) 等無參考圖像評價(jià)指標(biāo)對圖像質(zhì)量進(jìn)行評估。
本文使用PyTorch 深度學(xué)習(xí)框架,python3.6 編程語言,Ubuntu18.04 系統(tǒng),Tesla A30 的GPU 進(jìn)行訓(xùn)練。 在訓(xùn)練過程中,圖像被隨機(jī)裁剪為256×256的大小,訓(xùn)練世代數(shù)設(shè)置為500epochs,batchsize設(shè)置為4。 初始學(xué)習(xí)率設(shè)置為0.002,使用Adam 優(yōu)化器對參數(shù)進(jìn)行優(yōu)化。 所有的后續(xù)實(shí)驗(yàn)均在相同環(huán)境設(shè)置下進(jìn)行。 相關(guān)參數(shù)設(shè)置如下:衰減率τ設(shè)置為0.999,極小參數(shù)?設(shè)置為1e-6,感知損失函數(shù)參數(shù)λp設(shè)置為0.04,總變分損失函數(shù)參數(shù)λTV設(shè)置為0.01,本體映射函數(shù)參數(shù)λI設(shè)置為0.1,總無監(jiān)督損失函數(shù)參數(shù)λunsu設(shè)置為0.5。
為了驗(yàn)證本文所提出的網(wǎng)絡(luò)結(jié)構(gòu)和損失函數(shù)的有效性和優(yōu)越性,分別對網(wǎng)絡(luò)的分支、損失函數(shù)等因素進(jìn)行了消融實(shí)驗(yàn)。
在本文中,提出了半監(jiān)督框架,該框架使用監(jiān)督/無監(jiān)督分支共同利用合成/真實(shí)訓(xùn)練圖像來訓(xùn)練模型。 2 個(gè)分支共享相同的網(wǎng)絡(luò)結(jié)構(gòu),并結(jié)合2 個(gè)監(jiān)督/無監(jiān)督損失提供相應(yīng)的信息來約束網(wǎng)絡(luò)訓(xùn)練。為了驗(yàn)證無監(jiān)督分支的有效性,去掉無監(jiān)督分支,只使用合成數(shù)據(jù)集來訓(xùn)練模型。 對不同分支的消融實(shí)驗(yàn)見表1。 表1 中,Input 表示未經(jīng)處理的真實(shí)雨圖圖像,MMR 是指僅使用合成數(shù)據(jù)集Rain800 上訓(xùn)練的模型,Semi-MMR 是指在本文所提出的方法在Rain800 & Real-data 上訓(xùn)練得到的模型,通過對NIQE和PIQE值的比較,證明了本文半監(jiān)督方法的有效性。
表1 對不同分支的消融實(shí)驗(yàn)Tab. 1 Ablation experiments on different branches
此外,為了驗(yàn)證半監(jiān)督分支的2 項(xiàng)損失函數(shù)都有助于提高模型性能,本文對損失函數(shù)進(jìn)行了消融實(shí)驗(yàn)。 對損失函數(shù)的消融實(shí)驗(yàn)結(jié)果見表2。 表2中,Q1表示僅在無監(jiān)督分支使用總變分損失函數(shù)LTV,Q2表示僅在無監(jiān)督分支使用本體映射損失函數(shù)LI,Q3表示本文方法在無監(jiān)督分支所使用的總損失函數(shù),即同時(shí)使用LTV和LI。 從表2 中可以看出,2項(xiàng)損失函數(shù)對去雨效果都有不同程度的增強(qiáng)作用。
表2 對損失函數(shù)的消融實(shí)驗(yàn)Tab. 2 Ablation experiments on loss functions
將本文方法與4 種其他的單圖像去雨模型進(jìn)行比較,其中包括2 種監(jiān)督學(xué)習(xí)模型(DDN[10],PReNet[23]) 和2 種半監(jiān)督學(xué)習(xí)模型(SIRR[2],Syn2Real[4])。 2 種監(jiān)督學(xué)習(xí)模型直接在Rain200H、Rain200L、Rain800 上進(jìn)行訓(xùn)練,半監(jiān)督學(xué)習(xí)模型在Rain200H & Real-data、Rain200L & Real-data 和Rain800 & Real-data 上進(jìn)行訓(xùn)練。
3.4.1 合成數(shù)據(jù)的對比實(shí)驗(yàn)
首先在合成數(shù)據(jù)集上評估每種方法。 在合成數(shù)據(jù)集上進(jìn)行定量分析,采用PSNR和SSIM作為評價(jià)標(biāo)準(zhǔn),數(shù)值越大,表示結(jié)果更好。 對合成數(shù)據(jù)的定量分析結(jié)果見表3。 表3 中,“?”表示模型分別在合成數(shù)據(jù)集和真實(shí)數(shù)據(jù)集上訓(xùn)練。 從表3 中可以看出,本文模型在3 個(gè)數(shù)據(jù)集的測試數(shù)據(jù)上都獲得了最好或相當(dāng)?shù)男阅堋?本文模型的PSNR 值在3 個(gè)數(shù)據(jù)集的測試數(shù)據(jù)上與其他方法相比均獲到了不同的增益,SSIM值在Rain200L 和Rain200H 數(shù)據(jù)集的測試數(shù)據(jù)上取得了最大值,但在Rain800 上比PReNet模型的值略低。
在合成數(shù)據(jù)集上進(jìn)行定性分析,圖5~圖7 是分別在3 個(gè)合成數(shù)據(jù)集上的可視化效果,從圖5 中可以看出: 在Rain200L 上SIRR 和Syn2Real 能夠去除部分雨紋,但圖像中仍然會存在一些未能去除的雨紋;在Rain200H 上存在類似的結(jié)果,而且圖像中存在偽影,效果不理想;在Rain800 上,SIRR 的去雨效果良好,但某些圖像色彩出現(xiàn)了偏差,Syn2Real 的去雨效果不甚理想,圖像中仍存在大量雨紋。 本文方法在3 個(gè)數(shù)據(jù)集上均可以去除大部分的雨紋,并且去雨圖像的細(xì)節(jié)保持得也較為完整,與GT 最為接近,體現(xiàn)了本文方法的優(yōu)越性。
圖5 在Rain200L 數(shù)據(jù)集上的比較Fig. 5 Comparison on the Rain200L dataset
圖6 在Rain200H 數(shù)據(jù)集上的比較Fig. 6 Comparison on the Rain200H dataset
圖7 在Rain800 數(shù)據(jù)集上的比較Fig. 7 Comparison on the Rain800 dataset
3.4.2 真實(shí)數(shù)據(jù)的對比實(shí)驗(yàn)
研究中,還在真實(shí)數(shù)據(jù)集Real-data 的測試集上對本文方法進(jìn)行分析。
以Rain800&Real-data 作為訓(xùn)練基礎(chǔ)進(jìn)行定量分析,采用NIQE 和PIQE 作為評價(jià)標(biāo)準(zhǔn),數(shù)值越小、表示結(jié)果更好。 對真實(shí)數(shù)據(jù)的定量分析結(jié)果見表4。 從表4 中可以看出,本文方法取得了最低的NIQE 值和PIQE 值,體現(xiàn)了本文方法的優(yōu)越性。
表4 對真實(shí)數(shù)據(jù)的定量分析Tab. 4 Quantitative analysis of real-world data
在真實(shí)數(shù)據(jù)集上進(jìn)行定性分析,可視化結(jié)果如圖8 所示。 SIRR 方法能識別大部分的雨紋,但細(xì)節(jié)恢復(fù)能力較差,存在一些過度平滑的結(jié)果;Syn2Real方法能實(shí)現(xiàn)較好的視覺效果,但圖像仍能看到未去除的雨紋;本文方法處理得到的圖像結(jié)果清晰,細(xì)節(jié)恢復(fù)較好,可以有效提高真實(shí)圖像的去雨效果,提高了模型的實(shí)用性。
圖8 在Real-data 數(shù)據(jù)集上的比較Fig. 8 Comparison on the Real-data dataset
在本文中,嘗試用融合多記憶模塊訓(xùn)練的半監(jiān)督框架來解決單圖像去雨問題。 本文在標(biāo)記的合成雨圖和未標(biāo)記的真實(shí)雨圖像上訓(xùn)練網(wǎng)絡(luò),通過多記憶模塊對中間潛在向量進(jìn)行建模,提高了網(wǎng)絡(luò)對多種雨紋/雨滴類型的識別能力。 本文方法很大程度上緩解了傳統(tǒng)的深度學(xué)習(xí)方法在該任務(wù)上存在的問題,即合成數(shù)據(jù)訓(xùn)練的網(wǎng)絡(luò)難以實(shí)際應(yīng)用的問題。此外,在合成數(shù)據(jù)集和真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)均驗(yàn)證了本文方法有效性,顯著提高了當(dāng)前基于深度學(xué)習(xí)方法的單圖像去雨模型對真實(shí)雨圖的魯棒性。 本文方法仍然不能適用于所有可能極其復(fù)雜的雨天圖像。 在網(wǎng)絡(luò)訓(xùn)練中更精細(xì)地減小合成域和真實(shí)域之間的差異,可能是進(jìn)一步提高該任務(wù)性能的未來方向。