基于目標檢測的海上艦船圖像超分辨率研究
摘要: 針對海上艦船圖像有效像素在整體像素中占比小的問題,提出一種基于目標檢測網絡的超分辨率方法。該方法包含兩個階段,結合bicubic變換,逐步地將圖像的清晰度從粗到細地進行恢復。首先,第一階段通過目標檢測網絡,檢測出原圖像中需要超分辨率的區域,然后,第二階段將對應區域通過bicubic變換調整至指定分辨率,而后通過生成對抗網絡增強圖像細節。最終在自建數據集上的實驗結果表明,與傳統方法和現有基于深度神經網路的超分辨率重建算法相比,該算法不僅圖像視覺效果最好,而且在數據集上的峰值信噪比(PSNR)平均提高了0.79 dB,結構相似性(SSIM)平均提高了0.04,證明了該算法的有效性。
1. 引言
近年來,圖像超分辨率技術得到了長足的發展,結合比較有效的深度學習技術,該方法的精度已經得到了較大的提高,并已經廣泛應用于各種領域,如視頻監控、醫學成像、高清晰度電視、遙感、手機與數碼相機等 [1] [2]。本文算法的應用背景為提高海上遠距離艦船目標圖像的分辨率,主要應用于單幅海上艦船圖像的超分辨率,該問題是一個不適定的逆問題,旨在從低分辨率(Low-Resolution, LR)圖像中恢復出一個高分辨率(High-Resolution, HR)圖像。如圖1。
Figure 1. Marine ship image
圖1. 海上艦船圖像
目前傳統超分辨率算法在運行時存在以下問題:1) 由于遠距離艦船圖像的像素在整體圖像所占比例較少,大部分像素為用戶并不關心的海浪天空等區域,因此在運行傳統算法的時,大部分運算時間應用到了無關的區域,不符合使用者的使用意圖,而且運行效率低下。2) 在應用深度學習技術的超分辨率算法中,如果對整張圖像進行學習,則算法使用的卷積神經網絡不能有效學習艦船目標的特征,而很有可能把海浪天空的特征誤認為艦船的特征,從而無法有效對艦船圖像進行重建。基于以上兩點原因,本文提出一種基于目標檢測網絡的超分辨率算法。
2. 研究背景及現狀
2.1. 目標檢測算法
自從AlexNet在比賽中使用卷積神經網絡進而大幅度提高了圖像分類的準確率,便有學者嘗試將深度學習應用到目標檢測中。在這方面,主要有兩種主流的算法:一類是結合region proposal、CNN網絡的,基于分類的R-CNN系列目標檢測框架(two stage);另一類則是將目標檢測轉換為回歸問題的算法(single stage) [3]。雖然FasterRCNN算法是目前主流的目標檢測算法之一,但是速度上并不能滿足實時的要求。隨后出現像YOLO,SDD這一類的算法逐漸凸顯出其在速度上的優勢。YOLO [4] 算法的網絡設計策略延續了GoogleNet [5] 的核心思想,真正意義上實現了端到端的目標檢測,且發揮了速度快的優勢。YOLO采用以cell為中心的多尺度區域取代region proposal,舍棄了一些精確度以換取檢測速度的大幅提升,檢測速度可以達到45 f/s,足以滿足實時要求。
2.2. 超分辨率算法
傳統的SISR的方法包括基于插值的算法,基于凸集投影法的算法等,但由于深度學習在計算機視覺領域的突破性進展,人們嘗試在超分辨率問題中引入深度神經網絡,通過構建深層次的網絡進行端到端的訓練來解決圖像超分辨率重建問題 [6]。SRCNN (super-resolution convolutional neural network) [7] 是最早運用深度學習方法在LR與HR之間建立端到端映射的SISR模型,其輸入圖像采用了插值預處理的方法。Ledig等人 [8] 基于GAN提出了一種用于圖像超分辨率的生成對抗網絡SRGAN,通過生成式和判別器的交替執行,充分提取高頻信息。由于海上艦船圖片成對采集,因此適用于使用建立像素到像素映射關系的超分辨率算法 [9],論文借鑒pix2pix [10] 的算法設計。
3. 基于目標檢測網絡的超分辨率重建模型
本文所設計的模型是一種基于目標檢測算法的模型,目的在于檢測出整幅中用戶感興趣的區域,而后再對指定區域進行超分辨率放大,從而減少算法運行的時間,并更好的重建目標區域圖像的邊緣和紋理,本文的方法由兩階段組成,如圖2所示。
Figure 2. Model structure
圖2. 模型結構
X為原圖, X′X′ 為X的退化圖像,Y為X中用戶感興趣的區域,x為 中用戶感興趣的區域,y為生成網絡生成的圖像。T為目標檢測網絡,用于獲取X中的(x, y, h, w, confidence)信息,G為圖像生成網絡,D為鑒別網絡。
3.1. 目標檢測卷積神經網絡結構設計
目標檢測網絡T的結構設計借鑒了yoloV3中Darknet-53的神經網絡設計,其候選框基于anchor候選框機制,其原理圖如圖3:
網絡實際的預測值為,tx、ty、tw、bh根據上圖中的四個公式計算得到預測框的中心點坐標和寬高bx,by,bw,bh。其中cx、cy為當前grid相對于左上角grid偏移的grid數量。
圖3所示σ(t)函數為logistic函數,將坐標歸一化到0~1之間。最終得到的bx,by為歸一化后的相對于gridcell的值。pw,ph與groundtruth重合度最大的anchor框的寬和高。實際在使用中,將bw,bh也歸一化到0~1,實際程序中的pw,ph為anchor的寬,高和feature map的寬,高的比值。最終得到的bw,bh為歸一化后相對于anchor的值。
Figure 3. Anchor Candidate Box
圖3. Anchor候選框
卷積神經網絡結構如圖4:
Figure 4. Convolutional neural network architecture
圖4. 卷積神經網絡結構
該網絡的特點在于使用了連續的3 × 3和1 × 1的卷積基層,簡化了resnet神經網絡,減少了檢測時間。
在yoloV3損失函數中,需要關注4個信息,分別為位置信息:(x, y),選中框的長寬:(w, h),識別的置信度:confidence,識別出物體的類別:class。由于在艦船的超分辨率任務中,識別的目標只有艦船一類,所以為了簡化算法,提高運算速度,本文算法只是用前三項作為算式函數內容,因此的到如下公式:
其中 λcoordλcoord 為位置錯誤的權重, λnoobjλnoobj 為沒有object的候選框的置信度權值, λobjλobj 為有object的候選框的置信度權值, 1objij1ijobj 判斷第i個柵格中的第j個候選框是否包含物體,判斷是否有物體的中心落在i中, xi,yixi,yi 為實際的坐標值, x?i,y?ix^i,y^i 為預測的坐標值, wi,hiwi,hi 為實際候選框的寬和高, w?i,h?iw^i,h^i 為預測候選框的寬和高, CiCi 為實際的類別,為預測的類別。
3.2. 圖像生成卷積神經網絡結構設計
圖像生成網絡G的設計為U-Net結構,U-Net [11] 是德國Freiburg大學模式識別和圖像處理組提出的一種全卷積結構。和常見的先降采樣到低維度,再升采樣到原始分辨率的編解碼(Encoder-Decoder)結構的網絡相比,U-Net的區別是加入skip-connection,對應的featuremaps和decode之后的同樣大小的featuremaps按通道拼(concatenate)一起,用來保留不同分辨率下像素級的細節信息,U-Net對提升細節的效果非常明顯。
3.3. 圖像判別卷積神經網絡結構設計
圖像判別網絡G為PatchGAN [12],該網絡不是以整個圖像的作為輸入,而是以小的patch來進行的。把一副圖像劃分為N × N個patch后,對于每一塊進行上述的那個操作。可以發現當N = 1的時候,相當于逐像素進行了,當N = 256 (圖像大小為256的話),就是一幅圖像的操作。最后將一張圖片所有patch的結果取平均作為最終的判別器輸出。實驗發現當N = 70的時候,效果最好 [10]。
3.4. 超分辨網絡的目標函數
構建好生成網絡和判別網絡結構后,設定目標函數。生成器G不斷的嘗試最小化下面的目標函數,而D則通過不斷的迭代去最大化這個目標函數。目標函數分為兩個部分,第一部分為生成對抗網絡的損失函數,公式為:
4. 實驗結果與分析
由于目前并沒有針對艦船的圖片數據集,本文實驗使用項目自行采集的數據集作為訓練集,該數據集由實際采集的艦船照片和網絡爬取的艦船照片組成。其中實際采集的艦船照片為同一目標不同分辨率的圖像,經測算高分辨率圖像經雙線性差值與高斯模糊函數相疊加的方式作為退化函數能有效的模擬低分辨率圖像,而后將此退化函數應用到采集的艦船照片上,得到本文使用的數據集。艦船圖像的原始像素大小的256 × 256,經退化函數處理得到不同分辨率的低分辨率圖像。在4倍縮小尺度下,低分辨率圖像像素為128 × 128,在9倍縮小尺度下,低分辨率圖像像素為85 × 85,在16倍縮小尺度下,低分辨率圖像像素為64 × 64。一張高分辨艦船圖像和一張對應的低分辨率圖像為一組圖像。數據集分為訓練圖像、驗證圖像和測試圖像三個子集,其中訓練圖像包含3000組圖像,驗證圖像包含50組圖像,測試圖像包含50組圖像。
本文實驗通過Adam優化方法對網絡進行訓練。利用“步長”(step)策略調整學習率,初始學習率權重為2e?5,指數衰減率為0.999,調整系數gamma為0.5,最大迭代次數為10000。訓練網絡用機器配置為:i7-7700,16G內存,GTX1070Ti8G。
本文所提出的算法與現有的5種超分辨率的方法相比較,分別為bilinear,bicubic [13],discogan [14],pix2pix [10],pocs [15]。由于本文使用的算法只對選定的圖像位置進行超分比率,因此進行圖像質量評價時為保證評價的公平性,也僅對選定區域進行比較評價。利用本文算法得到的位置信息,對各類算法得的圖像進行截取,而后利用峰值信噪比(PSNR)和結構相似度(Structual Similarity, SSIM)對截取的原圖像和生成圖像進行比較,得到重建圖像的評價值,比較×4,×9,×16不同尺度下的效果,結果如表1所示。
算法
重建倍數
Psnr
Ssim
Time (ms)
Yolo2pix
×4
24.549
0.791
77.8
discogan
23.401
0.724
13.2
pix2pix
23.891
0.731
12.9
pocs
18.948
0.631
2034
bilinear
23.266
0.752
8.8
bicubic
23.864
0.777
13.6
Yolo2pix
×9
22.791
0.715
78.2
discogan
22.031
0.647
13.3
pix2pix
22.154
0.652
13.1
pocs
17.549
0.581
2154
bilinear
21.815
0.682
8.8
bicubic
22.148
0.699
14.8
Yolo2pix
×16
21.746
0.675
78.3
discogan
21.050
0.627
13.3
pix2pix
21.047
0.636
13.2
pocs
16.758
0.532
2253
bilinear
20.958
0.629
9.6
bicubic
21.241
0.645
15.2
Table 1. Test results on datasets using different super-resolution methods
表1. 使用不同超分辨率方法在數據集上的測試結果
從表1中可以看出本文算法在測試集上的PSNR,SSIM超過了其他超分辨率方法,但是相比于傳統算法有一步選定區域的運算,因此相比于其他超分辨率算法,運行時間稍長。但這種劣勢會隨著艦船在所述圖像中所占像素的減小而抵消。
為了直觀的比較成像效果,將本算法的生成圖像和其他算法生成的圖像排列對比,實驗結果如圖5、圖6、圖7所示。
Figure 5. Comparison of results of different super-resolution methods at 4-fold scaling ratio
圖5. 4倍縮放比率下不同超分辨率方法的結果比對
Figure 6. Comparison of results of different super-resolution methods at 9-fold scaling ratio
圖6. 9倍縮放比率下不同超分辨率方法的結果比對
Figure 7. Comparison of results of different super-resolution methods at 16-fold scaling ratio
圖7. 16倍縮放比率下不同超分辨率方法的結果比對
從數據上看,排除效果較差的凸集投影(pocs)算法,本文算法相比于其他算法,在重建倍數4下,PSNR最少提高0.658 dB,平均提高0.94 dB,SSIM最少提高0.014,平均提高0.045。在重建倍數9下,PSNR最少提高0.637 dB,平均提高0.75 dB,SSIM最少提高0.016,平均提高0.045。在重建倍數16下,PSNR最少提高0.505 dB,平均提高0.67 dB,SSIM最少提高0.03,平均提高0.04。總體來說,在數據集上的峰值信噪比(PSNR)平均提高了0.79 dB,結構相似性(SSIM)平均提高了0.04。人工觀察效果來看,本文方法的整體視覺效果更好,在重建倍數4下,本文算法恢復了更多的船艇結構細節,其船體部分棱角更加分明,在重建倍數16下,船體上部分窗戶細節恢復的比較真實。但是船體的側面細節紋理沒有有效重建。
5. 結語
本文提出基于目標檢測網絡的圖像超分辨率重建方法,該方法首先框選出需要超分辨率的區域,而后對選定區域使用基于GAN的超分辨率算法,從而達到提升圖像清晰度的目的。第一階段利用Darknet-53網絡快速檢測目標,獲得目標的位置尺寸和置信度信息。第二階段利用生成對抗模型,利用U-Net結構和PatchGAN構建了端對端的超分辨率模型。結合自建艦船數據庫,讓網絡更有針對性的學習艦船結構特征,從而從低分辨率圖像中恢復出擁有更多紋理信息的高分辨率圖像。本文方法與其他超分辨率算法相比,不論是在主觀重建效果還是客觀評價標準上都有所提高的,且重建出的圖像具有更高的質量并顯示更精細的細節。在實際應用中,一幅畫面中可能出現不止一艘船艇,本文使用的Darknet-53網絡對圖像不同部分一次性給出全部置信度參數,可以一次檢測多艘船艇,因此本文算法可以滿足實際使用的需求,但在檢測小目標時算法效果有待考證,此為下一步研究方向。
審核編輯:湯梓紅
評論
查看更多