吳 獻(xiàn)
(福建師范大學(xué)計(jì)算機(jī)與網(wǎng)絡(luò)空間安全學(xué)院,福建 福州 350117)
隨著國(guó)家海洋戰(zhàn)略的穩(wěn)步發(fā)展,水下成像在海洋勘探中起著越來(lái)越重要的作用[1].水下圖像的質(zhì)量與水下機(jī)器人搭載的成像系統(tǒng)密切相關(guān),由于水下環(huán)境能見度低、照明不均勻,在水對(duì)光的選擇性吸收和懸浮顆粒散射的作用下,成像設(shè)備所獲取的水下降質(zhì)圖像往往偏灰暗,對(duì)比度較低.懸浮顆粒散射中的后向散射導(dǎo)致圖像模糊,物體表面的原有顏色被遮蓋,物體局部區(qū)域辨認(rèn)不清.此外,深水處由于光照缺失,往往需要添加人工光源,人工光源的出現(xiàn)常常導(dǎo)致水下環(huán)境拍攝的圖像存在亮斑,且水下降質(zhì)圖像還存在噪聲等問題[2].
影響水下圖像質(zhì)量的一系列因素中,圖像的低分辨率是其中一個(gè)亟待解決的問題.普通相機(jī)因?yàn)樗鹿馑p特性,影響了水下攝像的視野范圍.不少學(xué)者開發(fā)了許多方法以應(yīng)對(duì)水下圖像分辨率低的挑戰(zhàn)[3-5].然而,因?yàn)橐恍┕逃械木窒扌?,例如偽影、模糊和噪聲等,單純的圖像增強(qiáng)或超分辨率算法應(yīng)用于水下圖像時(shí),效果往往不能令人滿意.近年來(lái),消費(fèi)級(jí)別的深度相機(jī)設(shè)備取得了快速發(fā)展,推動(dòng)了不同領(lǐng)域的許多新的應(yīng)用,包括計(jì)算機(jī)視覺、人機(jī)交互和虛擬現(xiàn)實(shí)[6]等等.深度相機(jī)與普通RGB相機(jī)相比,存在光照不敏感、輪廓提取準(zhǔn)確性高等優(yōu)點(diǎn).因此,在水下圖像拍攝中結(jié)合深度圖像,利用同一空間中深度圖像的圖像配準(zhǔn)與邊緣引導(dǎo),可以在提高水下圖像分辨率的同時(shí),增強(qiáng)水下圖像的邊緣特性,獲得更好的圖像處理效果.
一般而言,圖像的超分辨率算法需要從較低分辨率圖像預(yù)測(cè)大量未知像素值,與一般彩色圖像不同,水下圖像因?yàn)楣庹账p等因素,往往包含模糊的紋理,且通常由于不精確的掃描硬件或人工光照視差而產(chǎn)生大量噪聲.同時(shí),依賴于水下圖像的計(jì)算機(jī)視覺任務(wù)通常對(duì)圖像中的誤差非常敏感.因此,傳統(tǒng)的彩色圖像超分辨率算法往往不能直接應(yīng)用在水下圖像上.為解決這一系列的問題,現(xiàn)有的水下圖像超分辨率算法主要可分為以下3類.
(1)基于圖像序列的融合算法
這類算法旨在融合同個(gè)對(duì)象的多個(gè)低分辨率圖以獲得高分辨率圖像[7-8].然而,此類算法對(duì)采樣頻率要求較高,對(duì)相機(jī)姿態(tài)估計(jì)誤差敏感,且嚴(yán)重依賴于圖像序列中的物體運(yùn)動(dòng)范圍較小的假設(shè),難以實(shí)現(xiàn)較高分辨率的超分辨率增強(qiáng).并且,同個(gè)對(duì)象的多個(gè)低分辨率圖配準(zhǔn),也是制約該算法效率的難點(diǎn)之一.
(2)基于機(jī)器學(xué)習(xí)的算法[9-10]
這類算法利用一系列對(duì)應(yīng)的高-低分辨率水下圖像作為樣本,學(xué)習(xí)訓(xùn)練低分辨率與高分辨率之間存在的映射關(guān)系,并通過訓(xùn)練得到的參數(shù)模型實(shí)現(xiàn)水下圖像的超分辨率[11].這類算法同一般的基于樣本的學(xué)習(xí)算法一樣,需要事先獲得大量的高-低分辨率圖像對(duì),學(xué)習(xí)訓(xùn)練的時(shí)間復(fù)雜度較高,且對(duì)不同倍率的超分辨率均要分別學(xué)習(xí),當(dāng)訓(xùn)練樣本與實(shí)際圖像差異較大或相同對(duì)象在不同水下環(huán)境時(shí),超分辨率效果較差.
(3)基于紋理引導(dǎo)的超分辨率算法
這類算法認(rèn)為水下物體的信息與對(duì)應(yīng)的彩色圖像在結(jié)構(gòu)上具有相似性,彩色圖像中的高頻分量或邊緣信息等可以用于輔助高分辨率像素的填充預(yù)測(cè),因此可用來(lái)引導(dǎo)提高圖像分辨率.例如,文[12]利用彩色圖像的邊緣信息提出了聯(lián)合顏色信息的水下圖像上采樣方法.而文[13]則把水下圖像的超分辨率問題轉(zhuǎn)化為離散標(biāo)注的問題,通過圖模型的轉(zhuǎn)導(dǎo)估計(jì)超分辨率的邊緣像素.
基于紋理引導(dǎo)的方法充分利用了彩色圖像的邊緣信息,是水下圖像超分辨率的研究熱點(diǎn).然而,其存在的主要問題是當(dāng)彩色圖像結(jié)構(gòu)與實(shí)際水下三維結(jié)構(gòu)不完全一致時(shí),特別是復(fù)雜的水下光照環(huán)境,會(huì)帶來(lái)邊緣的錯(cuò)誤或模糊痕跡.這主要體現(xiàn)在以下兩個(gè)方面:一是當(dāng)平滑的深度表面具有鮮明的紋理邊界時(shí),所帶來(lái)的錯(cuò)誤深度邊緣,稱作紋理拷貝損傷;二是當(dāng)不同的深度邊界具有相同的紋理時(shí),所帶來(lái)的深度邊緣模糊,即深度滲透.文[14]利用非局部平均值濾波器對(duì)水下圖像進(jìn)行規(guī)則化,以保持圖像較為詳細(xì)的內(nèi)部結(jié)構(gòu),并提出了基于區(qū)域分割的方法來(lái)處理紋理拷貝損傷和深度滲透的問題.以上同類算法都可一定程度上減輕紋理與深度不一致的問題,但是對(duì)原始圖像的規(guī)則化和分割提出了一定的要求,處理的結(jié)果直接影響了超分辨率圖的上采樣質(zhì)量.
因此,為解決深度信息與彩色圖像結(jié)構(gòu)不一致的問題,本文提出一種直接基于深度圖像輪廓引導(dǎo)的水下圖像超分辨率算法.與以往的區(qū)域分割算法不同,由于保持邊界信息在圖像的上采樣過程中尤為重要,本文將超分辨率問題從紋理引導(dǎo)轉(zhuǎn)換為基于深度圖的邊緣檢測(cè),同時(shí)對(duì)水下圖像與邊緣輪廓對(duì)齊后修正部分邊緣形成配對(duì);之后,由平滑后的輪廓作為引導(dǎo),應(yīng)用修改的聯(lián)合雙邊濾波器來(lái)重建高分辨率水下紋理.輪廓引導(dǎo)不僅有助于避免由直接紋理預(yù)測(cè)引入的紋理拷貝錯(cuò)誤,還可以減少鋸齒狀邊界并保留邊緣的特性.最后通過實(shí)驗(yàn)證明了本文的方法可有效提高超分辨率水下圖像的質(zhì)量.
本算法利用深度圖像輪廓作為引導(dǎo),對(duì)水下圖像上采樣過程中的邊緣信息進(jìn)行修正與增強(qiáng),實(shí)現(xiàn)水下圖像的超分辨率算法,主要可分為以下3個(gè)步驟:(1)對(duì)深度圖像應(yīng)用改進(jìn)的Canny算法提取深度圖像的輪廓線;(2)利用水下圖像的顏色信息對(duì)輪廓線進(jìn)行修正并完成配對(duì);(3)以修正的輪廓線作為導(dǎo)引,應(yīng)用聯(lián)合雙邊濾波器上采樣,完成圖像的超分辨率重建.算法的整體流程如圖1所示.
圖1 超分辨率算法流程圖
在圖像處理中,常常通過圖像的邊緣檢測(cè)獲得關(guān)注對(duì)象的輪廓,目前已產(chǎn)生了許多經(jīng)典的邊緣檢測(cè)算法,通過像素鄰域的量化信息進(jìn)行檢測(cè),如Sobel算子、Roberts算子、LOG變換等等.一般圖像邊緣檢測(cè)通過卷積計(jì)算獲取梯度圖,并且通過梯度變化設(shè)定相應(yīng)的閾值獲取邊緣,然而由于不同局部區(qū)域梯度變化不均,統(tǒng)一設(shè)定閾值的方法會(huì)造成一定的邊緣信息遺漏或錯(cuò)誤.本文采用改進(jìn)的Canny算法[15]檢測(cè)深度圖像邊緣并提取輪廓.
首先,定義I(i,j)表示深度圖像中像素(i,j)的值,梯度變化率可通過灰度沿二維方向的一階導(dǎo)數(shù)求得:
(1)
本文通過Canny算法中的Isotropic Sobel模板,對(duì)式(1)進(jìn)行離散計(jì)算:
fx(i,j)=2*L(i+1,j)-2*L(i-1,j)+L(i+1,j+1)-
L(i-1,j+1)+L(i+1,j-1)-L(i-1,j-1),
fx(i,j)=2*L(i,j+1)-2*L(i,j-1)+L(i+1,j+1)-
L(i+1,j-1)+L(i-1,j+1)-L(i-1,j-1),
(2)
其中,L(i,j)=▽G(i,j)*I(i,j),G(i,j)是高斯平滑核.通過式(2)的計(jì)算,可以繼續(xù)求得邊緣的幅值方向:
(3)
最后,利用非極大值抑制獲取邊緣判斷的閾值,根據(jù)點(diǎn)(i,j)上、下、左、右4個(gè)像素作相同的幅值計(jì)算,分別為r1、r2、r3、r4.則計(jì)算2個(gè)方向上的閾值如下:
(4)
若同時(shí)滿足r(i,j)>A1,r(i,j)>A2,則得到一個(gè)極大值r(i,j),對(duì)圖像遍歷后得到邊緣輪廓,如圖2所示.從圖2可以看出,引導(dǎo)輪廓線較好地還原了原始彩色圖像(左)在三維空間中的邊界信息,因此,對(duì)于傳統(tǒng)超分辨率算法帶來(lái)的拷貝損傷和深度滲透等問題,可以起到很好的抑制作用.
圖2 深度圖片輪廓提取
對(duì)于原始的低分辨率圖像,若直接采用上一小節(jié)的紋理輪廓進(jìn)行上采樣,則可能會(huì)產(chǎn)生大量紋理拷貝所帶來(lái)的偽影,這些偽影會(huì)在上采樣過程中被同步放大;由于深度圖同樣存在分辨率低等問題,本小節(jié)首先利用原始圖像對(duì)引導(dǎo)輪廓線進(jìn)行修正,去除那些在深度圖像內(nèi)變化較小的輪廓,并與之配對(duì),然后應(yīng)用聯(lián)合雙邊濾波,對(duì)原始圖像進(jìn)行上采樣.
一般深度圖的分辨率要小于顏色圖像,而顏色圖像產(chǎn)生的紋理輪廓,又必然包含大量相同深度的虛假物體輪廓,因此可以利用紋理輪廓對(duì)深度圖像產(chǎn)生的輪廓線進(jìn)行修正.首先,定義低分辨率深度圖為D,對(duì)應(yīng)的高分辨率紋理輪廓為C,則必須對(duì)D進(jìn)行上采樣,使其達(dá)到相同的分辨率.令c=[ci],d=[dj],d′=[di],其中,c、d、d′分別為紋理輪廓圖、低分辨率深度圖和拓展分辨率后的深度圖,且為一維列向量的形式;由于上采樣的關(guān)系,d′中包含大量的空數(shù)據(jù),用0表示,并將c、d、d′中的所有元素?cái)?shù)據(jù)規(guī)范化到[0,1]區(qū)間內(nèi).之后,針對(duì)向量c、d′,引入如下公式:
c′=argmin{e(c′)=Ef+αEs},
(5)
其中,c′為修正后的紋理輪廓,Ef、Es分別表示修正后的輪廓與原始輪廓差異,以及深度圖像邊緣的約束屬性.常數(shù)值α為平衡二者的影響,一般認(rèn)為深度圖約束對(duì)物體邊緣影響較大,通過實(shí)驗(yàn)驗(yàn)證,當(dāng)α≥8時(shí),可在保持邊緣輪廓細(xì)節(jié)的情況下,極大減少虛假輪廓.最后利用IRLS算法[16]對(duì)式(5)求解,處理結(jié)果如圖3所示,從中可以看出,添加了紋理圖修正后的輪廓線,避免了相同深度不同紋理所帶來(lái)的虛假輪廓(如背景圖案、陰影等等),并且保留了高分辨率輪廓細(xì)節(jié)(如圓錐體的頂尖).
左上:紋理輪廓;左下:深度圖像;右:修正后的輪廓線
實(shí)現(xiàn)基于聯(lián)合雙邊濾波的深度上采樣,由于深度攝像機(jī)與RGB攝像機(jī)存在一定視差,在真實(shí)水下實(shí)驗(yàn)中,可利用光學(xué)相機(jī)和深度相機(jī),獲得同一目標(biāo)同一時(shí)刻的水下RGB圖像與深度圖像,即修正后的輪廓線需要與水下RGB圖像進(jìn)行配對(duì).先通過相機(jī)標(biāo)定(camera calibration,CC)方式確定相機(jī)的內(nèi)參矩陣,根據(jù)內(nèi)參矩陣確定深度圖片中三維點(diǎn)在世界坐標(biāo)系和圖像坐標(biāo)系間的對(duì)應(yīng)關(guān)系,將二維深度圖像坐標(biāo)轉(zhuǎn)換至三維空間,結(jié)合彩色圖像對(duì)應(yīng)點(diǎn)處的RGB值,完成配準(zhǔn)圖像.
最后,深度上采樣,由配對(duì)的平滑輪廓作為引導(dǎo),代入如下公式:
(6)
(7)
其中,σ1和σ2為各項(xiàng)標(biāo)準(zhǔn)差,β和λ取2~4,最后得到圖4.
圖4 輪廓線引導(dǎo)下的超分辨率
本文算法應(yīng)用于數(shù)據(jù)集CIFAR-100、Set5[17]、Set14[18]下進(jìn)行相關(guān)實(shí)驗(yàn),這3個(gè)測(cè)試集均被廣泛地作為圖像超分辨率算法中的測(cè)試數(shù)據(jù)集.目前已知的水下圖像數(shù)據(jù)集均不含深度圖像,因此實(shí)驗(yàn)采用了開源項(xiàng)目REALSENSE-ROS[19]獲取RGB圖像所對(duì)應(yīng)的低分辨率深度圖.與目前主流水下單幅圖像超分辨率算法MSIDN[4]、 SRDRM-GAN[5]進(jìn)行比較,當(dāng)4倍超分辨率時(shí),選擇了6幅相同的照片進(jìn)行比較.從圖5可以看出,MSIDN得到的超分辨率圖像局部塊放大后,存在較明顯的錯(cuò)誤紋理填充;而SRDRM-GAN與本算法的視覺效果較好,但在一些色彩變化較大的圖像上,局部塊放大顯示.SRDRM-GAN產(chǎn)生了一定的邊緣不齊與不準(zhǔn)確的像素值,在邊緣顏色填充上,本算法優(yōu)于SRDRM-GAN.
圖5 4倍超分辨率重構(gòu)結(jié)果
在客觀評(píng)價(jià)分析上,使用PSNR及SSIM兩個(gè)指標(biāo),對(duì)以上3個(gè)算法進(jìn)行比較.表1列出了3種算法進(jìn)行4倍超分辨率重構(gòu)的PSNR及SSIM值.從表1可以看出,本研究提出的算法與MSIDN算法、 SRDRM-GAN算法相比,重構(gòu)出的圖像在PSNR與SSIM值上,均有所提升,特別是在SSIM值上,表現(xiàn)較優(yōu)異.
表1 4倍超分辨率重構(gòu)結(jié)果客觀評(píng)價(jià)指標(biāo)
為了提高水下圖像的分辨率與清晰度,本文提出了一種基于深度引導(dǎo)的實(shí)時(shí)水下圖像超分辨率算法.在研究中,先對(duì)深度圖提取輪廓線,利用原始圖像對(duì)輪廓線進(jìn)行修正,然后對(duì)修正后的輪廓線與水下圖像配對(duì),最終,在輪廓線的引導(dǎo)下,對(duì)水下圖像進(jìn)行上采樣,得到超分辨率圖片.深度輪廓線劃分了不同水下光線傳播距離的影響,避免了水下虛影與噪聲的干擾,最終實(shí)驗(yàn)結(jié)果顯示本文算法優(yōu)于目前最好的基于單幅彩色圖片的水下超分辨率算法.由于深度圖只比彩色圖片多一個(gè)通道,且輪廓線提取與引導(dǎo)的計(jì)算復(fù)雜度較低,在圖片分辨率不高的情況下,能夠?qū)崿F(xiàn)實(shí)時(shí)計(jì)算.
在未來(lái)的工作中,計(jì)劃利用圖形硬件編程框架,進(jìn)一步優(yōu)化算法,提高算法效率,并嘗試水下超分辨率視頻應(yīng)用.