王亞金,吳麗君,陳志聰,鄭 巧,程樹英,林培杰
(福州大學 物理與信息工程學院,福建 福州 350108)
建筑結構的位移監測對于建筑的安全性保證是十分重要的,比如斜拉橋和懸索橋這類采用索纜作為主體的建筑結構,在極端天氣下發生的振動對整體建筑的安全性影響不可忽視。近年來,基于視覺的非接觸式測量方法因為其實用性被廣泛應用于位移測量,但目前的方法仍存在一些局限性。首先,當拍攝距離較遠,需要提高測量精度時,通常只能縮小視場范圍,測量精度與視場大小二者是相互矛盾的,也可以考慮采用多個設備同步測量,但這會大幅度提高成本。其次,橋梁索纜圖像的采集是在戶外條件下,因此采集到的圖像會受到各種噪聲干擾,這種低質圖像會給后續的位移測量工作帶來困難。圖像超分辨率重建是一種有效提升圖像質量、重建目標細節特征的圖像處理方法,為解決上述提出的位移測量問題提供了一個新的思路。
圖像的超分辨率重建是指將給定的低分辨率圖像(Low Resolution,LR)通過特定的算法變換為對應的高分辨率圖像(High Resolution,HR)。圖像的超分辨率重建在衛星圖像和醫學影像等領域都已有廣泛的應用。本文主要研究的是基于深度學習的單幅圖像超分辨率重建(Single Image Super-Resolution,SISR)。超分辨率卷積神經網絡(SRCNN)[1]是首次提出使用卷積神經網絡(Convolutional Neural Network,CNN)解決超分辨率問題的算法,網絡結構設計簡單,僅使用三層卷積網絡進行非線性映射,在速度和重建效果上均優于傳統算法。在SRCNN的基礎上,研究者們后續提出了FSRCNN[2]、VDSR[3]、EDSR[4]和RCAN[5]等一系列網絡結構針對不同需求的超分辨率重建問題。隨著新的超分辨率網絡不斷被提出,有研究者提出這些方法存在感知質量不理想的缺點。雖然峰值信噪比(Peak Single-to-noise Ratio,PSNR)和結構相似度(Structural Similarity,SSIM)這些常用的指標在不斷被刷新提高,但以提升這兩個指標為導向的超分辨率算法通常都是基于像素空間進行優化,能獲得較高的PSNR與SSIM,但輸出的圖像往往過于平滑,并不符合人類的主觀感受。當重建倍數較高時,比如4倍或8倍重建時,會丟失大量高頻細節。Ledig等人[6]提出了在提升超分辨率重建視覺效果方面里程碑式的網絡結構——SRGAN(Super-Resolution Generative Adversarial Network),這是首個將生成對抗網絡(Generative Adversarial Network,GAN)應用在超分辨率領域的工作,生成對抗網絡輸出了更加自然真實的結果。作者還提出了一種不同以往的在像素空間優化的感知損失,這種感知損失在特征空間中進行模型優化,對細節紋理的重建效果顯著優于其他深度學習網絡。ESRGAN[7]在SRGAN基礎上進行改進,在網絡結構中引進殘差連接密集塊(Residual-in-Residual Dense Block,RRDB)提升網絡性能,使用相對判別器[8]替換標準判別器,幫助學習更精細的紋理,輸出結果的感知質量得到明顯提升。但在細節紋理的重建上,存在畸變、模糊和偽影嚴重的問題。超分辨率應用于視覺測量等領域時,對細節紋理恢復的清晰度、真實性、準確度都顯得十分重要。
本文提出一種關注細節特征的圖像超分辨率重建算法,關注圖像超分辨率中細節信息的重建。一張圖像可以分為平坦區域、邊緣區域和角點區域,通常用邊緣和角點代表圖像的細節信息。本文設計了一個角點增強支路輔助超分,單獨對角點注意圖像進行超分,網絡會更加集中關注角點區域。將重建后的角點注意圖像整合到超分支路中,突出角點區域。同時,提出角點損失來監督重建圖像的角點信息,增加邊緣損失對邊緣信息的恢復進行監督指導。在約束指導下,可以更好地保持細節信息,獲得高感知質量和豐富細節紋理的超分圖像。提出方法中的SR網絡可以是任何已有的結構,本文使用的是ESRGAN。實驗結果表明,該方法一定程度上提升了模型性能,可以得到更加清晰準確的細節紋理。
本文算法的網絡結構圖如圖1所示。

圖1 本文算法具體網絡結構
角點增強支路分為粗糙超分網絡、角點提取模塊和精細超分網絡三個部分。
(1)粗糙超分網絡
首先,本文使用粗糙超分網絡對LR圖像ILR進行處理得到粗糙HR圖像ICH。考慮到LR圖像往往高頻部分模糊,直接從網絡輸入的LR圖像中提取真實細節信息是很困難的,使用粗糙超分網絡進行初步處理可以緩解先驗估計的困難。網絡結構包含一層3×3的卷積層,用于提取特征,卷積層后的激活層以PReLU函數作為激活函數。之后連接3個殘差塊[9],殘差塊的密集連接結構可以緩解梯度彌散問題,保證深層網絡訓練的穩定性,最后一層3×3卷積層重構出粗糙HR圖像ICH。考慮到BN層會帶來偽影問題,還會增加訓練難度,并不適用于超分任務,本研究中去除了所有BN層。
(2)角點提取模塊
基于深度學習的角點檢測算法過于復雜,準備工作較多,考慮本研究中已經有較復雜的網絡結構,通過OpenCV使用傳統算法Harris角點檢測[10]從粗糙HR圖像ICH中提取角點信息。后續損失函數計算時,同樣使用Harris角點檢測算法從HR圖像中提取角點信息。首先,將ICH轉換為灰度圖像,灰度轉換操作記為G。對灰度圖進行Harris角點檢測,閾值設為0.01,將角點檢測操作記為H,C代表提取出的角點,IC代表粗糙角點注意圖像,提取過程可表示為如下公式:

(3)精細超分網絡
得到粗糙角點注意圖像IC后,送入精細超分網絡,得到精細角點注意圖像。首先,對粗糙角點注意圖像進行一次卷積操作,接著送入殘差連接密集塊RRDB結構中進行殘差學習,堆疊了四個殘差連接密集塊。一個RRDB由三個殘差密集塊(Residual Dense Block,RDB)構成,結構如圖2所示。RRDB結構融合了每層的輸入特征和輸出特征,加強了層與層之間的特征復用,可以為重建提供更多的細節信息。本研究主要針對4倍放大因子的超分辨率,所以有兩層亞像素卷積層,用亞像素卷積層對RRDB結構輸出特征進行上采樣,將輸出結果進行一次卷積激活操作后,再利用一層卷積層進行最后的重構。將得到的精細角點注意圖像與SR主支路的輸出融合,最后得到超分辨率圖像ISR。

圖2 RRDB結構
本研究增加了角點損失函數Lcor和邊緣損失函數Ledge。角點損失函數監督角點增強支路的角點恢復,用L1損失計算。將送入SR支路的精細角點注意圖像進行一次卷積,得到角點增強支路的輸出,表示為ICSR。CH表示從高分辨率圖像提取的角點信息,IHR表示高分辨率圖像,N為訓練集的圖像數目,角點損失函數可表示為如下公式:

比較常用的邊緣檢測算子有Sobel算子、Laplacian算子和Canny算子等,其中Canny算子對邊緣的檢測效果最優,所以本工作通過Canny算子對重建圖像和真實圖像檢測邊緣,通過邊緣損失函數指導邊緣細節的恢復。利用Canny算子CE檢測輸出的超分辨率圖像ISR和高分辨率圖像IHR的邊緣,用L1損失計算,可表示為如下公式:

最終生成器的損失函數包含像素損失Lpix,感知損失Lper,對抗損失Ladv,角點損失Lcor與邊緣損失Ledge,公式表示如下:

本實驗基于Ubuntu18.04 LTS 64位操作系統,使用框架PyTorch以及CUDA10.1和cuDNN7搭建環境,顯卡為NVDIA GTX1080Ti。損失函數的權重設置如下:α=0.01,β=0.005,γ=0.05,δ=0.001。
本實驗采用的數據集是DIV2K[11]和Flikr2K[12],數據量共有3450張。初始數據集中沒有對應的低分辨率圖像,通過對高分辨率圖像雙三次下采樣構造低分辨率圖像,本研究中的放大因子設為4。DIV2K包含100張具有對應高質圖像的測試圖像,用它和紋理圖案豐富的公開數據集Urban100作為測試集,同樣地,對Urban100中的圖像通過雙三次下采樣構造對應的低分辨率圖像。將本文方法與經典的圖像超分辨率重建方法Bicubic、EDSR、ESRGAN及關注細節重建的NatSR[13]進行比較,評價方法分為量化評價、視覺評價和間接評價。量化評價是指通過幾項常用指標量化計算重建圖像與參考圖像的差異性,視覺評價是放大圖像細節通過主觀感受進行評價,間接評價是設計了一個視覺測量實驗驗證圖像細節紋理重建的準確性,進而可知對視覺測量精度提升的有效性。
為了量化評估本研究方法與經典算法的對比結果,采用PSNR、SSIM、PI與LPIPS作為衡量指標。PSNR基于像素計算圖像之間的差異性,SSIM從圖像的亮度、對比度和結構三個方面衡量圖像相似性,兩種指標的評價標準為指標越高,結果越好。而PI與LPIPS更關注圖像的感知質量,兩種指標都是數值越低,結果越好。
表1中為Bicubic、EDSR、ESRGAN、NatSR與本文方法在測試集Urban100和DIV2K上的指標測試結果。可以看到,在SSIM、PI和LPIPS指標上,本文方法都優于其他方法。結果表明,本文方法在量化指標上取得了較好的結果。

表1 圖像超分辨率重建效果量化比較結果(dB)
從測試圖像中挑選了紋理豐富的圖像,并比較圖像放大后的細節。從圖3中可以看出,從主觀的視覺角度來看,傳統的Bicubic重建出的圖像最模糊,幾乎看不清圖像細節,圖像分辨率提升十分有限。EDSR重建出的圖像清晰度有較大提升,但圖像過于平滑,邊緣紋理不清晰,圖像缺乏真實性。ESRGAN與NatSR重建出的圖像視覺感知效果最好,但在邊緣紋理部分存在大量噪聲,產生偽影使得邊緣角點不清晰。而本文方法得到的超分辨率圖像整體視覺效果清晰,噪聲偽影更少,細節紋理豐富,更接近真實圖像。

圖3 不同圖像超分辨率算法的視覺對比圖
在建筑結構的非接觸式視覺測量領域中,決定測量精度的步驟之一就是目標定位,而目標定位的準確主要依賴于對目標特征的提取精度,圖像的細節特征得到有效提升即可達到提高定位精度的目的。本文提出的超分辨率算法主要方向就是重建更清晰準確的細節特征。為了驗證本文方法在視覺測量中的有效性,本小節提出了一個針對圖像超分辨率重建在視覺測量精度提升有效性的評價實驗框架。該實驗設計思路如下:
首先,采集已經預設格子間距的黑白格圖像,雙三次下采樣處理后,通過超分辨率算法得到超分辨率圖像,采用視覺測量算法計算出超分辨率圖像的格子間距,與真實間距進行比較可以對比出不同超分辨率算法對視覺測量精度提升的有效性,同時了解不同超分辨率圖像邊緣角點的重建情況。
通過雙目采集系統采集黑白格圖像以及棋盤格標定板圖像。具體的圖像處理步驟為:首先使用MATLAB工具箱對棋盤格圖像實現標定得到標定參數,然后通過Shi-Tomasi角點檢測算法[14]檢測超分辨率圖像黑白格區域角點的像素坐標,根據雙目視覺成像原理利用前面得到的相機內外參實現從像素坐標到世界坐標的轉換。最后使用距離計算公式計算出相鄰角點的距離,通過距離的比較判斷角點的準確性。
相機采用的是維視公司型號為ALLIED GIGE GT1910C的CCD(Charge Coupled Device)彩色工業相機,其分辨率為1920 px×1080 px。使用的雙目鏡頭焦距為50 mm,拍攝距離為4 m左右,格子間距定為15 mm。實驗圖像為8張,共有256條邊。采集的部分圖像及標定所用標定板如圖4所示。

圖4 采集的部分黑白格圖像和標定板圖像
低分辨率與高分辨率圖像的角點檢測結果如圖5所示。由于下采樣后的低分辨率圖像質量不佳,在角點檢測上存在困難,難以檢測到黑白格所有的角點坐標,故對比結果中未提供低分辨率圖像的檢測計算結果。而經過超分辨率處理的高分辨率圖像角點都可以完整檢測,由此說明超分辨率算法在視覺測量領域有一定實用性。

圖5 低分辨率(左)與高分辨率(右)圖像角點檢測結果
為了更直觀地比較幾種超分辨率算法,以盒型圖的形式展示了超分辨率黑白格圖像的格子間距計算結果,如圖6所示。從盒型圖中可以看到,Bicubic得到的計算結果異常值最多,分布區間最大,說明邊緣角點的重建準確度最不理想。其中本文方法的計算結果異常值最少,分布區間最小,說明本文方法得到的超分辨率圖像邊緣角點的重建準確度最高,在一定程度上能夠提高圖像視覺測量的精度。

圖6 不同圖像超分辨率重建算法的格子間距測量結果
針對現有超分辨率算法對圖像邊緣角點重建存在的過于平滑、缺乏真實性、偽影嚴重等問題,提出了一種關注細節特征的圖像超分辨率重建算法。該算法設計了一種角點增強支路,結合提出的角點損失和邊緣損失,實現了對邊緣角點這些紋理特征較準確的重建。量化指標表明,本文方法取得了較好的超分辨率重建結果。主觀評價方面,本文方法得到的圖像細節紋理更加清晰真實,最接近參考圖像。通過設計的視覺測量實驗間接比較了不同算法超分辨率圖像的細節紋理準確度。實驗結果表明,本文方法對細節紋理的重建更準確,說明了本文方法對視覺測量精度提升的有效性,在建筑結構的非接觸式位移測量領域有一定的潛在應用前景。