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