高志軍, 馮嬌嬌
(黑龍江科技大學(xué) 計(jì)算機(jī)與信息工程學(xué)院, 哈爾濱 150022)
煤礦工人臉圖像是實(shí)現(xiàn)智能礦業(yè)的重要信息載體,由于工作環(huán)境的特殊性,高質(zhì)量的煤礦工人臉圖像難以獲得[1],因此,通過有效地利用計(jì)算機(jī)和圖像處理技術(shù)處理低分辨率(Low resolution, LR)圖像,生成具有清晰邊緣、清晰紋理和完整保色的高質(zhì)量、高分辨率(High resolution, HR)圖像是國內(nèi)外學(xué)者關(guān)注的焦點(diǎn)[2]。
圖像超分辨率重建技術(shù)一般被分為基于插值[3]、重建[4]和深度學(xué)習(xí)三類[5]?;诓逯档乃惴赐ㄟ^鄰近像素點(diǎn)的灰度值估算待插像素點(diǎn)的灰度值。傳統(tǒng)的雙三次插值方法[6]操作簡單迅速,但易丟失圖像細(xì)節(jié)?;谥亟ǖ乃惴ǚ譃轭l域方法[7]和空域方法[8],頻域方法通過消除頻譜混疊重建圖像的信息??沼蚍椒òǖ赐队胺?IBP)[9]、凸集投影(POCS)[10]、最大后驗(yàn)概率法(MAP)和正則化。該類算法在重建效果上有一定的提升,但計(jì)算繁瑣,復(fù)雜度高。
基于深度學(xué)習(xí)的超分辨率重建技術(shù)的萌芽,受到國內(nèi)外學(xué)者廣泛關(guān)注。Dong等[11]將卷積神經(jīng)網(wǎng)絡(luò)(CNN)方法應(yīng)用于超分辨率領(lǐng)域,用三層卷積的方法(SRCNN)完成LR圖像到HR圖像的重建。Dong等[12]進(jìn)一步改進(jìn)SRCNN得到一種快速超分辨率重建卷積神經(jīng)網(wǎng)絡(luò)(FSRCNN)。Shi等[13]提出了一種基于亞像素卷積層的超分辨率重建方法(ESPCN)。Goodfellow等[14]提出的生成對抗網(wǎng)絡(luò)(GAN)為超分辨率領(lǐng)域提供了另一種可能性。Ledig等[15]將GAN的網(wǎng)絡(luò)框架應(yīng)用于圖像超分辨率,建立了SRGAN模型。Wang等[16]實(shí)現(xiàn)了更高倍數(shù)的超分辨率重建,取得較好的效果。
在煤礦工人臉超分辨率的領(lǐng)域,需要解決在面目存在大量粉塵的情況下,得到清晰的、較多細(xì)節(jié)信息的煤礦工人臉圖像。文中通過進(jìn)一步改進(jìn)SRGAN網(wǎng)絡(luò)模型[15],在生成器網(wǎng)絡(luò)中,采用去除批量歸一化層的殘差密集塊進(jìn)行深層特征的提取,同時(shí),增加殘差密集塊的個(gè)數(shù),實(shí)現(xiàn)生成對抗網(wǎng)絡(luò)的加深,有效避免重建圖像出現(xiàn)偽影的現(xiàn)象。運(yùn)用亞像素卷積層,逐步實(shí)現(xiàn)圖像的上采樣重建,摒棄原網(wǎng)絡(luò)結(jié)構(gòu)中的反卷積層,在重建圖像時(shí)能保留圖像更多的細(xì)節(jié)信息,利用感知損失、對抗損失以及L1損失的混和損失函數(shù),使網(wǎng)絡(luò)模型快速收斂到最優(yōu)。
Ledig等[15]在4倍放大因子下,提出了一種生成對抗網(wǎng)絡(luò)的超分辨率算法,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。該模型以結(jié)合跳躍連接的深度殘差網(wǎng)絡(luò)(SRResNet)作為生成器的主要結(jié)構(gòu),將殘差塊數(shù)量定義為16個(gè),采用3×3小內(nèi)核的卷積層和64個(gè)特征映射,通過殘差塊加強(qiáng)信息跨層之間的流動(dòng),以及防止網(wǎng)絡(luò)深度的加深導(dǎo)致梯度消失的問題。在鑒別器上,采用傳統(tǒng)的標(biāo)準(zhǔn)鑒別器,整個(gè)鑒別網(wǎng)絡(luò)是一個(gè)沒有池化層的VGG網(wǎng)絡(luò),包含8個(gè)卷積層。
圖1 SRGAN網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 SRGAN network structure
鑒于煤礦工人圖像的特別之處,臉部圖像由于分辨率不足導(dǎo)致在某些環(huán)境下無法識別,因此,采用基于生成對抗網(wǎng)絡(luò)進(jìn)行煤礦工人臉部圖像的超分辨率重建,生成器網(wǎng)絡(luò)為主要部分并進(jìn)行改進(jìn),總共分為三部分:淺層特征提取網(wǎng)絡(luò)(SFENet)、深層特征提取網(wǎng)絡(luò)(DFENet),以及重建網(wǎng)絡(luò)(ReNet),整體的生成器網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 文中生成模型結(jié)構(gòu)Fig. 2 Structure of model generated in this paper
1.2.1 淺層特征提取網(wǎng)絡(luò)
SFENet主要適用于提取圖像中煤礦工人臉部的淺層特征,由兩層卷積組成,第一層是卷積核為3×3的卷積層C3,用于提取第i幅低分辨率礦工人臉圖像ki的邊緣信息,完成礦工圖像從空間維度到特征維度的映射;第二層為卷積核1×1的卷積層C1進(jìn)行特征降維,網(wǎng)絡(luò)表示為
F-1=C3(ki),
F0=C1(F-1)。
最終獲得的F0表示為淺層特征提取網(wǎng)絡(luò)的圖像中礦工人臉的淺層特征[17]。
1.2.2 深度特征提取網(wǎng)絡(luò)
DFENet采用殘差密集網(wǎng)絡(luò)結(jié)構(gòu),以SRResNet的殘差模塊為主干部分并進(jìn)行了一定的改進(jìn)。在SRResNet的殘差模塊中,存在批量歸一化層(Batch normalization,BN),而BN層可能會引入偽影,同時(shí)可能會造成訓(xùn)練速度的緩慢。因此,移除BN層,對相加后的數(shù)據(jù)不再經(jīng)過ReLU激活層處理,展示了殘差結(jié)構(gòu)的改進(jìn)結(jié)構(gòu)如圖3所示。
圖3 殘差塊結(jié)構(gòu)變化Fig. 3 Residual block structure change
DFENet整體采用兩層殘差結(jié)構(gòu),由多個(gè)殘差密集塊(Residual in residual dense block, RRDB)鏈接組成,能很好地將全局特征和局部特征融合形成一個(gè)連續(xù)的記憶機(jī)制。DFENet的主體部分RRDB由多個(gè)密集塊(Dense block, DB)構(gòu)成,比例為1∶3,每一個(gè)DB塊都包含5個(gè)卷積核為7×7的卷積層和4個(gè)激活函數(shù),卷積層步幅設(shè)置為1,如圖4所示。通過密集連接卷積層提取豐富的局部特征,利用殘差密集塊的局部特征融合自適應(yīng)地從先前和當(dāng)前的局部特征中學(xué)習(xí)更有效的特征,使訓(xùn)練更加穩(wěn)定。激活函數(shù)選用Leaky-ReLu,避免了丟失小于0的數(shù)據(jù)。
圖4 殘差密集塊結(jié)構(gòu)Fig. 4 Structure of RRDB block
同時(shí),相較于原有的網(wǎng)絡(luò)結(jié)構(gòu),殘差密集塊數(shù)量由16個(gè)增加為23個(gè),通過殘差密集塊的數(shù)量加深網(wǎng)絡(luò),達(dá)到更高復(fù)雜度映射,提高了模型性能。
1.2.3 重建網(wǎng)絡(luò)
原網(wǎng)絡(luò)的上采樣采用步長為0.5的兩個(gè)反卷積層構(gòu)成,反卷積層的方式易出現(xiàn)重建后的高分辨率圖像的顏色有不均勻重疊的現(xiàn)象,因此,文中采用亞像素卷積層與逐步上采樣的方式實(shí)現(xiàn),該方法在超分辨率算法中,可以為圖像重建提供更多的上下文信息。根據(jù)亞像素卷積層的原理,要完成4倍超分辨率重建,除了卷積層的引入還采用了像素洗牌重新排列組合的操作。4倍的放大效果分成兩步完成,每一步完成2倍放大效果,使用兩個(gè)3×3×256的卷積層,且每一層都經(jīng)過像素洗牌操作,最終經(jīng)過卷積層9×9×3輸出重建圖像。
1.2.4 鑒別器網(wǎng)絡(luò)結(jié)構(gòu)
在鑒別器上,傳統(tǒng)標(biāo)準(zhǔn)鑒別器最終輸出的概率是其來自真實(shí)樣本的概率,僅能單純地判別圖像的真假,因此,文中采用相對鑒別器輸出的是相對概率,即真實(shí)圖像和生成器的生成圖像之間的相對真實(shí)概率。
標(biāo)準(zhǔn)鑒別器定義為
D(x)=σ(C(x)),
式中:σ——sigmoid函數(shù);
C(x)——非變換鑒別器輸出。
相對鑒別器定義為
D=σ(C(xr))-E[C(xf)],
式中:xr——原始真實(shí)圖像;
xf——網(wǎng)絡(luò)生成圖像,xf=G(xi);
xi——輸入的低分辨率圖像;
E[·]——mini-batch中所有假數(shù)據(jù)的均值操作。
1.2.5 損失函數(shù)
SRGAN[15]網(wǎng)絡(luò)中,作者提出了一種基于感知內(nèi)容損失的損失函數(shù),該損失定義為重建圖像與輸入圖像特征之間的歐幾里得距離,可以更好地注重礦工人臉圖像得細(xì)節(jié)特征,公式為
式中:IH——高分辨率圖像;
IL——低分辨率圖像;
Wi,j——VGG網(wǎng)絡(luò)中特征映射寬度尺寸;
Hi,j——VGG網(wǎng)絡(luò)中特征映射高度尺寸;
Φi,j——圖像經(jīng)過預(yù)訓(xùn)練VGG19網(wǎng)絡(luò)中第i個(gè)卷積層之前的第j個(gè)卷積層的特征圖,通過Relu函數(shù)激活得到的特征映射;
G——生成器網(wǎng)絡(luò)。
因此,基于感知內(nèi)容損失函數(shù),文中網(wǎng)絡(luò)模型采用一種混合損失函數(shù),公式為
LG=Lp+λLG+ηL1,
式中:λ、η——平衡不同損失項(xiàng)的系數(shù);
Lp——感知內(nèi)容損失。
Φi,j(G(IL)x,y)2。
原模型內(nèi)容損失函數(shù)的計(jì)算采用激活后特征,文中采用VGG19網(wǎng)絡(luò)中第二次最大池化操作之前的第二個(gè)卷積層激活前特征,即為lVGG(2,2),在礦工人臉圖像的超分辨率重建任務(wù)中,能對重建后的圖像能更好保存色彩和亮度的信息。
LG為生成器的對抗損失,根據(jù)鑒別器可知,鑒別器的損失公式為
LD=-Exr[log2D(xr,xf))]-Exf[log2(1-D(xf,xr))],
則,生成器的對抗損失定義為
LG=-Exr[log2(1-D(xr,xf)]-Exf[log2(D(xf,xr))],
L1損失函數(shù)定義為
L1=Exi||G(xr)-y||1。
數(shù)據(jù)集為采集到的煤礦工人臉圖像,共有圖像270張,進(jìn)一步擴(kuò)增數(shù)據(jù)集,擴(kuò)增方法有圖像左右上下翻轉(zhuǎn)、圖像分別沿x、y軸平移20個(gè)像素單位長度、圖像旋轉(zhuǎn)10°、圖像對比度增強(qiáng)0.2或減弱0.2、圖像亮度增強(qiáng)0.2或減弱0.2,經(jīng)過5倍擴(kuò)充后,數(shù)據(jù)集共有1 350張,其中,訓(xùn)練集占80%,測試集占20%如圖5所示。通過 Matlab的雙三次核函數(shù)對高分辨率圖像進(jìn)行下采樣,比例因子r=4,得到對應(yīng)的低分辨率圖像。為了方便訓(xùn)練,高分辨率圖像裁剪為512×512,則低分辨率圖像為128×128。
超分辨率算法常用的評價(jià)指標(biāo)包括:峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)。
PSNR經(jīng)常作為圖像質(zhì)量的衡量指標(biāo)。兩個(gè)m×n單色圖像I和P,均方誤差定義為
式中:I——無噪聲的原始圖像;
P——I的噪聲近似。
峰值信噪比定義為
式中,I——未壓縮的原圖像。
圖5 數(shù)據(jù)集的擴(kuò)增展示Fig. 5 Expansion of data set
SSIM是衡量兩幅圖像相似度的重要指標(biāo),取值范圍為[0,1],SSIM的值越接近數(shù)值1,表示圖像失真程度越小。
SSIM的公式為
式中:μx——圖像x像素灰度的均值;
μy——圖像y像素灰度的均值;
σx——圖像x像素方差;
σy——圖像y像素方差;
σxy——圖像x和圖像y的協(xié)方差;
c1、c2——常數(shù)。
2.2.1 訓(xùn)練細(xì)節(jié)
文中的算法訓(xùn)練實(shí)驗(yàn)中,數(shù)據(jù)集的低分辨率圖像與高分辨率圖像之間以4倍的比例因子,最小批量大小(batch size)設(shè)定為16, HR的裁剪塊大小(patch_size)設(shè)定為128×128。
模型訓(xùn)練中,學(xué)習(xí)率設(shè)置為1×10-4,并且在5×104、1×105、2×105和3×105迭代輪次時(shí)減半。損失函數(shù)L1的系數(shù)η為1×10-2,對抗損失函數(shù)LG的系數(shù)λ為5×10-3。
網(wǎng)絡(luò)模型的訓(xùn)練過程使用Adam優(yōu)化器,初始學(xué)習(xí)率為1×10-4,β1=0.9,β2=0.999,交替更新生成器和鑒別器網(wǎng)絡(luò),直至模型收斂。模型搭建通過PyTorch框架,操作系統(tǒng)為Linux,GPU為NVDIA GeForce RTX 3090。
2.2.2 實(shí)驗(yàn)結(jié)果
文中方法與雙三次插值法(Bicubic)[17]、SRCNN[11]、FSRCNN[12]、ESPCN[13]、SRGAN[15]以及ESRGAN[16]方法進(jìn)行對比實(shí)驗(yàn),完成測試集的4倍重建, 峰值信噪比P與結(jié)構(gòu)相似性S的對比結(jié)果如表1所示。
表1 不同算法的PSRN與SSIM對比結(jié)果
文中算法相較于Bicubic算法有較大的提升。相較于傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)算法如SRCNN算法,PSNR提升了3.748 dB,SSIM提升了0.104;相較于FSRCNN算法,PSNR值提升了3.379 dB,SSIM提升了0.095;相較于ESPCN算法PSNR值提升了3.442 dB,SSIM提升了0.088。相較于SRGAN和ESGAN,PSNR值分別提高了1.329和0.523 dB,SSIM值分別提高了0.035和0.021。
將訓(xùn)練過程中每種算法的PSNR值隨迭代變化的關(guān)系如圖6所示。
圖6 不同算法的PSNR迭代對比Fig. 6 Comparison of PSNR iterations of different algorithms
由圖6可知,訓(xùn)練100代后,文中方法模型在訓(xùn)練過程中PSNR值為最高,達(dá)到28.5 dB,并且文中方法的收斂性相對較好。
為了更加直觀展示不同算法對礦工圖像的4倍超分辨率重建效果,選取了正常光照下的礦工人臉圖像如圖7所示。
圖7 正常光照下不同算法的礦工人臉對比Fig. 7 Comparison of miners′ faces with different algorithms under normal light
由圖7可見,文中算法更好展示眼皮褶皺等細(xì)節(jié)信息,能更清晰的看到胡須、皺紋的紋理狀況,整體色彩保存較完整,在視覺上更貼近真實(shí)圖像。進(jìn)一步選取了低光照射下的礦工人臉圖像可視化圖展示,如圖8所示。
圖8 低光下不同算法的礦工人臉對比Fig. 8 Comparison of miners′ faces with different algorithms in low light
由圖8可見,在低光狀態(tài)下,文中算法下圖像能展示出眉毛的毛發(fā)狀態(tài),眼睛邊緣的褶皺等細(xì)節(jié)信息,人臉的每個(gè)器官的輪廓相對更銳利,嘴巴的邊緣、色彩等信息都保存較好。
2.2.3 消融實(shí)驗(yàn)
超分辨率領(lǐng)域,網(wǎng)絡(luò)的深度,以及訓(xùn)練集中高分辨率圖像的裁剪塊(patch_size)大小對實(shí)驗(yàn)結(jié)果有較大的影響。因此,在文中算法中HR的裁剪塊設(shè)為128×128、64×64,并分別在16個(gè)和23個(gè)殘差塊上進(jìn)行4倍重建的實(shí)驗(yàn),結(jié)果如圖9所示。
圖9 不同殘差塊下裁剪塊的迭代變化Fig. 9 Iterative changes of patch_size under different residual blocks
由圖9可見,迭代6×105后,23個(gè)殘差塊的PSNR值約在28.3~28.5 dB,16個(gè)殘差塊的PSNR值在28.0~28.1 dB。在相同的殘差塊下,裁剪塊為128×128比64×64的PSNR值高0.1~0.2 dB,因此,文中選用23個(gè)殘差塊,裁剪塊大小設(shè)為128×128。
批尺寸(batch_size)設(shè)置的大小不同也會帶來不同的訓(xùn)練效果。因此,在4倍放大因子下,將批尺寸分別設(shè)定為16、32、64進(jìn)行實(shí)驗(yàn),結(jié)果如圖10所示。
由圖10可見,迭代6×105后,三種批尺寸在訓(xùn)練集上的PSNR差值為0.117~0.126 dB,批尺寸設(shè)為16時(shí)PSNR值最高,因此,文中的批尺寸大小設(shè)定為16。
圖10 不同批尺寸的迭代變化關(guān)系Fig. 10 Iterative change of different batch_size
在4倍放大因子下,設(shè)置四種情況,第一種情況,即為原網(wǎng)絡(luò)結(jié)構(gòu),引用BN層,殘差塊為16個(gè),上采樣利用反卷積層;第二種情況引用BN層,殘差塊為23個(gè),上采樣利用亞像素卷積層;第三種情況引用BN層,殘差塊為16個(gè),上采樣利用亞像素卷積層;第四種情況不使用BN層,殘差塊為23個(gè),上采樣利用亞像素卷積層,四種情況的結(jié)果如表2所示。
表2 不同實(shí)驗(yàn)條件下測試集的PSNR/SSIM結(jié)果
由表2可見,第一種情況為原網(wǎng)絡(luò),采用亞像素卷層后,第三種情況相較于第一種情況的PSNR和SSIM值分別提高了0.068 dB和0.002,在此基礎(chǔ)上再提高網(wǎng)絡(luò)深度,第二種情況相較于第三種情況的PSNR和SSIM值分別提高了0.194 dB和0.004,進(jìn)一步刪除BN層,文中方法即第四種情況比第二種情況的PSNR和SSIM值分別提高了0.261 dB和0.007,因此,文中方法即第四種情況的PSNR和SSIM值最高。
為了進(jìn)一步展示不同實(shí)驗(yàn)條件對礦工人臉圖像重建的影響,給出不同情況下的可視化結(jié)果,如圖11所示。從視覺效果以及PSNR/SSIM的數(shù)值可知,刪除BN層對于偽影的消除有一定的幫助,加深網(wǎng)絡(luò)深度、采用亞像素卷積層能更好地保存礦工圖像的色彩、圖像邊緣和細(xì)節(jié)信息。
圖11 不同實(shí)驗(yàn)條件的可視化結(jié)果Fig. 11 Visualization results of different experimental conditions
(1)在原有超分辨率生成對抗網(wǎng)絡(luò)模型的基礎(chǔ)上,改進(jìn)生成器,刪除殘差密集塊的批量歸一化層,將殘差密集塊的個(gè)數(shù)增加至23個(gè),加深網(wǎng)絡(luò)深度,可以更好提取圖像的特征信息。同時(shí)使用亞像素卷積層,采用逐步上采樣的方式,更好地保存了重建圖像的邊緣信息。
(2)文中使用了基于感知內(nèi)容損失、對抗損失以及L1范數(shù)的混合損失函數(shù),使生成器在重建礦工人臉時(shí)注意到圖像的深層特征,在1 350張礦工人臉圖像上進(jìn)行訓(xùn)練、測試,實(shí)驗(yàn)結(jié)果表明,文中方法取得了較好的圖像超分辨率重建效果。
(3)文中僅研究了4倍礦工人臉的超分辨率重建,下一步需要增加礦工人臉圖像的2倍、3倍、8倍的圖像重建,重建高倍數(shù)的礦工人臉圖像,對模型的要求更高,仍需要進(jìn)一步的學(xué)習(xí)和改進(jìn)。