(西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安710021)
深度學(xué)習(xí)憑借強(qiáng)大的數(shù)據(jù)表征能力,在水下圖像識(shí)別檢測(cè)領(lǐng)域表現(xiàn)出優(yōu)異的能力,然而深度網(wǎng)絡(luò)模型較強(qiáng)的識(shí)別能力依賴于大規(guī)模帶標(biāo)簽的數(shù)據(jù)[1]。水下圖像采集比較困難,獲得的數(shù)據(jù)質(zhì)量不高,小樣本數(shù)據(jù)嚴(yán)重限制了水下目標(biāo)檢測(cè)識(shí)別技術(shù)的發(fā)展。
為解決水下數(shù)據(jù)匱乏的問(wèn)題,數(shù)據(jù)增強(qiáng)技術(shù)成為人們的重要研究方向[2]。目前,數(shù)據(jù)增強(qiáng)的方法主要是:①幾何變換類(lèi)方法 包括旋轉(zhuǎn)、平移、翻轉(zhuǎn)、裁剪(ROI,region of interest)、旋轉(zhuǎn)、縮放變形等[3]。此類(lèi)方法并沒(méi)有對(duì)數(shù)據(jù)集的目標(biāo)特性進(jìn)行實(shí)質(zhì)性的改變,且生成的數(shù)據(jù)帶有很多的冗余信息,模型的預(yù)測(cè)能力受限于這種擴(kuò)充方式。②圖像生成型模式 文獻(xiàn)[4]提出的生成對(duì)抗網(wǎng)絡(luò)GAN是一種生成式模型,從本質(zhì)上分離傳統(tǒng)圖像增強(qiáng)時(shí)帶來(lái)的生成樣本相關(guān)性,實(shí)現(xiàn)數(shù)據(jù)增強(qiáng),但該模型容易出現(xiàn)訓(xùn)練不穩(wěn)定的問(wèn)題;文獻(xiàn)[5]將卷積神經(jīng)網(wǎng)絡(luò)CNN(convolutional neural networks)與GAN 結(jié)合在一起提出DCGAN,該網(wǎng)絡(luò)能夠有效緩解GAN 訓(xùn)練不穩(wěn)定的問(wèn)題,但對(duì)于低質(zhì)量水下圖像數(shù)據(jù)該模型的魯棒性較差。故在此,提出了改進(jìn)的深度卷積生成對(duì)抗網(wǎng)絡(luò),以改善水下生成圖像的質(zhì)量。
GAN的靈感來(lái)源于博弈論中的零和博弈[6],其模型結(jié)構(gòu)如圖1所示。生成器捕獲真實(shí)數(shù)據(jù)樣本的內(nèi)在分布生成新的數(shù)據(jù);鑒別器是一個(gè)分類(lèi)器,它決定輸入是真實(shí)的還是生成的。這2個(gè)網(wǎng)絡(luò)不斷優(yōu)化自己的生成及辨別能力,直到兩者之間找到納什均衡。

圖1 GAN模型結(jié)構(gòu)Fig.1 GAN model structure
DCGAN是在GAN的基礎(chǔ)上引入了卷積神經(jīng)網(wǎng)絡(luò)來(lái)替換生成器和鑒別器結(jié)構(gòu),還采用部分技巧來(lái)提高網(wǎng)絡(luò)的收斂速度。其主要改進(jìn)具體如下:①鑒別器使用卷積結(jié)構(gòu),生成器使用反卷積結(jié)構(gòu),刪除了網(wǎng)絡(luò)中的池化層;②網(wǎng)絡(luò)引入批量歸一化BN(batch normalization),防止梯度消失或爆炸,加快訓(xùn)練速度;③生成器除了最后一層使用tanh 激活函數(shù),其他層均使用ReLU 激活函數(shù);④鑒別器的所有層使用LeakyReLU 激活函數(shù)。
在此,提取出水下圖像感興趣目標(biāo)作為真實(shí)數(shù)據(jù)輸入到DCGAN 網(wǎng)絡(luò)。通過(guò)試驗(yàn)可知,傳統(tǒng)的DCGAN 生成圖像質(zhì)量較差,主要表現(xiàn)為每個(gè)批次生成的圖像較為相似,僅能勾勒出目標(biāo)物的大致輪廓,缺少細(xì)節(jié)信息等。因此,需要根據(jù)數(shù)據(jù)特性來(lái)優(yōu)化模型,提高生成的水下圖像質(zhì)量。
1.2.1 改進(jìn)生成器結(jié)構(gòu)
改進(jìn)生成器結(jié)構(gòu)如圖2所示。圖中“?”表示該值不固定。

圖2 改進(jìn)生成器的結(jié)構(gòu)Fig.2 Structure of improved generator
由圖可見(jiàn),在傳統(tǒng)DCGAN 生成器上加入了特征融合部分,將生成網(wǎng)絡(luò)的h3層輸出的特征圖(數(shù)據(jù)分布)進(jìn)行下采樣操作,改變形狀大小與h1層特征圖大小相同,再將其與h1層的輸出在最后一個(gè)維度上進(jìn)行連接,組成新的特征圖一并輸入到h2層。為避免4倍下采樣造成過(guò)多有效數(shù)據(jù)丟失,先對(duì)h3 輸出特征圖進(jìn)行一次卷積操作,然后再進(jìn)行一次下采樣。下采樣使用雙線性插值法,可以起到數(shù)據(jù)平滑作用,有效地保留原始數(shù)據(jù)的信息。
在生成網(wǎng)絡(luò)中,越靠近輸出側(cè)的隱層,其數(shù)據(jù)分布越接近真實(shí)數(shù)據(jù)分布,而前邊層的分布就離真實(shí)數(shù)據(jù)分布較遠(yuǎn),但前邊層也越具有更多的多樣性的可能。將靠后特征層與前邊特征層相融合,即將后層的相似性與前層的多樣性相結(jié)合到一起,使得生成的圖像在相似性和多樣性上都具有良好表現(xiàn)。
1.2.2 網(wǎng)絡(luò)訓(xùn)練策略設(shè)計(jì)
DCGAN的訓(xùn)練實(shí)質(zhì)上是一個(gè)交替進(jìn)行的過(guò)程。生成網(wǎng)絡(luò)訓(xùn)時(shí),固定鑒別網(wǎng)絡(luò)D的參數(shù),更新生成網(wǎng)絡(luò)G的參數(shù)。生成器的任務(wù)就是希望G(z)通過(guò)網(wǎng)絡(luò)D 判別為真實(shí)數(shù)據(jù),所以其目標(biāo)函數(shù)是最大化D(G(z)),即

鑒別網(wǎng)絡(luò)在訓(xùn)練時(shí),固定生成網(wǎng)絡(luò)G的參數(shù),更新鑒別網(wǎng)絡(luò)D的參數(shù)。網(wǎng)絡(luò)D的任務(wù)是較好地區(qū)分真假輸入——G(z)輸入數(shù)據(jù)判別為假,真實(shí)數(shù)據(jù)輸入判別為真。所以目標(biāo)函數(shù)是最大化D(x)和最小化D(G(z)),即

生成器的能力往往受到鑒別器的影響,所以在訓(xùn)練過(guò)程中,每訓(xùn)練3次生成網(wǎng)絡(luò),訓(xùn)練1次鑒別網(wǎng)絡(luò)。這樣,可以使生成器擁有足夠多的訓(xùn)練次數(shù),不斷更新?lián)p失函數(shù),更快地將損失函數(shù)降低到合理值。生成器和鑒別器的交替訓(xùn)練結(jié)構(gòu)如圖3所示。

圖3 D 和G 網(wǎng)絡(luò)交替訓(xùn)練結(jié)構(gòu)Fig.3 Interval training structure of D and G networks
鑒別網(wǎng)絡(luò)是一個(gè)二分類(lèi)網(wǎng)絡(luò)。在此,將標(biāo)簽平滑技術(shù)引入該分類(lèi)器,以提升網(wǎng)絡(luò)的魯棒性。具體做法如下:在迭代時(shí),并不直接將訓(xùn)練樣本(xi,yi)放入訓(xùn)練集,而是設(shè)置一個(gè)錯(cuò)誤率ε,以1-ε的概率將(xi,yi)帶入訓(xùn)練,以ε的概率將(xi,1-yi)帶入訓(xùn)練。即

在此對(duì)鑒別器D的標(biāo)簽進(jìn)行平滑操作,即使用0.7~1.0之間的隨機(jī)值替代標(biāo)簽1,用0~0.3之間的隨機(jī)值替代標(biāo)簽0。這雖然減弱了DCGAN 中判別網(wǎng)絡(luò)的分類(lèi)能力,但增強(qiáng)了2個(gè)網(wǎng)絡(luò)的訓(xùn)練穩(wěn)定性。
DCGAN 生成的圖像僅為單個(gè)目標(biāo)圖像,需要與背景圖像融合后才能作為有效訓(xùn)練樣本。為符合實(shí)際的數(shù)據(jù)目標(biāo)特性,目標(biāo)與背景圖像融合的時(shí)候需要兩者盡量平滑,邊界值像素需要保持一致,同時(shí)融合的新目標(biāo)不能覆蓋原始目標(biāo)。
在此將背景圖像內(nèi)隨機(jī)生成點(diǎn)作為生成圖像的中心融合點(diǎn)。為了避免生成目標(biāo)與原始目標(biāo)的重疊和近鄰邊界截?cái)鄦?wèn)題,該中心融合點(diǎn)遵從以下約束條件:

式中:h,w分別為原始目標(biāo)圖像的高、寬;h′,w′分別為生成目標(biāo)圖像的高、寬;H,W分別為背景圖像的高、寬;i,j為原始目標(biāo)圖像左上角像素點(diǎn)的位置;x,y為生成圖像的中心像素點(diǎn)位置,即隨機(jī)生成的中心融合位置點(diǎn)。其具體生成流程如圖4所示。

圖4 中心融合點(diǎn)生成流程Fig.4 Center fusion point generates flow chart
為滿足目標(biāo)圖像與背景圖像的平滑融合,采用泊松融合進(jìn)行無(wú)縫融合。相比于傳統(tǒng)的融合方法,泊松融合不僅能夠使邊界自然融合,而且可以通過(guò)局部的圖像編輯得到全局的融合效果,使目標(biāo)整體適應(yīng)背景圖像[7]。兩種方法生成圖像的對(duì)比如圖5所示。

圖5 兩種方法生成圖像的對(duì)比Fig.5 Comparison of two methods to generate images
由圖可見(jiàn),傳統(tǒng)融合方法所生成的圖像中,目標(biāo)圖像與背景明顯區(qū)分;泊松融合的圖像中,融合后生成目標(biāo)圖像能夠很好地適應(yīng)背景圖像,可以作為真實(shí)水下數(shù)據(jù)集進(jìn)行模型的訓(xùn)練。
在此所使用的數(shù)據(jù)集來(lái)自2019年水下機(jī)器人抓取大賽官方的水下海產(chǎn)品數(shù)據(jù)集。該數(shù)據(jù)集提供了4755 張真實(shí)海洋環(huán)境下拍攝的圖像,其中包含海參、海膽、扇貝和海星四類(lèi)目標(biāo),部分圖像如圖6所示。

圖6 水下海產(chǎn)品數(shù)據(jù)集的部分圖像Fig.6 Partial image of subsea seafood data set
通過(guò)對(duì)該數(shù)據(jù)集的統(tǒng)計(jì)分析,發(fā)現(xiàn)存在嚴(yán)重的類(lèi)不平衡問(wèn)題,其各類(lèi)目標(biāo)數(shù)量比,如海膽∶海參∶扇貝∶海星,近似為3∶1∶1∶1。這一類(lèi)不平衡問(wèn)題勢(shì)必大大降低網(wǎng)絡(luò)對(duì)數(shù)量較少類(lèi)別的識(shí)別精度,故在此使用DCGAN 來(lái)擴(kuò)增數(shù)據(jù),提高數(shù)據(jù)集質(zhì)量。
為使DCGAN 網(wǎng)絡(luò)能夠?qū)W習(xí)到更多目標(biāo)物體的特征,生成更好的偽目標(biāo)圖像,可以根據(jù)標(biāo)簽文件提取原始數(shù)據(jù)中感興趣的目標(biāo)圖像。在此以扇貝為例,通過(guò)人工篩選后,得到1335 張質(zhì)量較好的圖像,作為此次DCGAN 網(wǎng)絡(luò)的真實(shí)數(shù)據(jù)輸入。所提取的部分扇貝圖像如圖7所示。

圖7 部分提取的扇貝目標(biāo)數(shù)據(jù)Fig.7 Part of scallop target data extracted
試驗(yàn)的軟硬件環(huán)境配置見(jiàn)表1。

表1 軟硬件配置環(huán)境Tab.1 Hardware/software configuration environment
對(duì)于DCGAN 網(wǎng)絡(luò)模型的參數(shù)配置,在此經(jīng)過(guò)多次試驗(yàn)并微調(diào)之后,具體參數(shù)設(shè)定如下:輸入圖像大小為96×96×3,截取圖像大小不一時(shí)輸入后會(huì)截掉部分信息,為了不損失圖像信息故提前采用resize進(jìn)行尺寸調(diào)整;輸出圖像大小為48×48×3;批處理大小為64;輸入的z 采用均勻分布生成的噪聲;優(yōu)化器采用Adam,網(wǎng)絡(luò)D 和G 學(xué)習(xí)率均為0.0002,動(dòng)量為0.5;訓(xùn)練epoch 設(shè)定為5000。
3.3.1 灰度化生成圖像對(duì)比試驗(yàn)
為消除水下圖像色偏現(xiàn)象(綠色和藍(lán)色)對(duì)生成圖像質(zhì)量的影響,通過(guò)去色將目標(biāo)圖像變成灰度圖,使得輸入圖像整體基調(diào)色一致。扇貝去色之后的灰度化圖像如圖8所示。

圖8 扇貝去色后圖像Fig.8 Image of scallop decolorized
傳統(tǒng)生成器生成的圖像如圖9所示。由圖可見(jiàn),所生成的彩色圖像(如圖9a所示)基本符合兩種基調(diào)色的特性,但是生成的扇貝形狀、紋理等細(xì)節(jié)信息不夠突出;生成的灰度圖像(如圖9b所示),相比于圖9a,所生成的扇貝圖像具有更多的形狀和紋理,生成器將更多的注意力集中在細(xì)節(jié)信息方面,但仍存在生成圖像相似較多的情形。

圖9 傳統(tǒng)生成器生成的圖像Fig.9 Image generated by traditional generators
3.3.2 改進(jìn)生成器生成圖像對(duì)比試驗(yàn)
為研究改進(jìn)生成器結(jié)構(gòu)對(duì)生成高質(zhì)量圖像的有效性,使用其對(duì)灰度化之后的扇貝圖像進(jìn)行生成試驗(yàn)。模型訓(xùn)練過(guò)程中損失函數(shù)的變化如圖10所示。其中,圖10a,10b是鑒別器判斷樣本分別為假的、真的損失函數(shù);圖10c為鑒別器總的損失函數(shù),其值等于判別為假的損失和判別為真的損失之和;生成器損失函數(shù)的變化情況如圖10d所示。
由圖10可見(jiàn),在前5000次迭代中,生成器損失一直處于較低的水平,此時(shí)生成器能夠快速生成與真實(shí)數(shù)據(jù)分布相近的圖像;在迭代約4000次所生成的圖像已經(jīng)可以勾勒出扇貝的輪廓;在5000次迭代后,鑒別器損失下降,生成器損失略微上升,在5~6之間波動(dòng),此時(shí)隨著迭代次數(shù)的增加,生成的圖像也越來(lái)越清晰。總體來(lái)看,2個(gè)函數(shù)震蕩變化,生成器與鑒別器這2個(gè)網(wǎng)絡(luò)結(jié)構(gòu)在相互制約、平衡。

圖10 改進(jìn)生成器訓(xùn)練損失曲線Fig.10 Loss curves of improved generator training
改進(jìn)生成器生成灰度圖像的結(jié)果如圖11所示。在訓(xùn)練迭代20000次之后基本上滿足了生成圖像的要求,相比于圖9b可見(jiàn),改進(jìn)后的生成圖像在同批次中形狀較為豐富,紋理、輪廓等信息較為清晰,而且生成的圖像較為自然,可以用作目標(biāo)圖像來(lái)進(jìn)行識(shí)別。
在此,將生成的目標(biāo)圖像經(jīng)過(guò)篩選后與背景圖像融合生成2000 張可用訓(xùn)練的數(shù)據(jù),然后基于YOLOv3 目標(biāo)檢測(cè)算法,分別對(duì)未擴(kuò)增和使用改進(jìn)DCGAN 擴(kuò)增之后的數(shù)據(jù)集進(jìn)行訓(xùn)練,其性能測(cè)試結(jié)果見(jiàn)表2。

圖11 改進(jìn)生成器生成的灰度圖像Fig.11 Grayscale image generated by improved generator

表2 不同數(shù)據(jù)集的檢測(cè)結(jié)果Tab.2 Detection results of different data sets
由表可知,擴(kuò)充之后的檢測(cè)精度較之前提升了2.5%,其中目標(biāo)數(shù)量較少的類(lèi)別提升較大,海參和扇貝分別提升了4.57%,4.53%。
為解決水下圖像數(shù)據(jù)不足、類(lèi)不平衡問(wèn)題,深入研究了圖像生成方法以實(shí)現(xiàn)數(shù)據(jù)擴(kuò)增。對(duì)傳統(tǒng)DCGAN模型的生成器網(wǎng)絡(luò)進(jìn)行了改進(jìn),同時(shí)設(shè)計(jì)了網(wǎng)絡(luò)的訓(xùn)練策略,不僅改善了傳統(tǒng)DCGAN模型生成水下圖像的質(zhì)量,也提高了網(wǎng)絡(luò)模型訓(xùn)練的穩(wěn)定性。此外還設(shè)計(jì)了圖像融合點(diǎn)函數(shù)來(lái)進(jìn)行訓(xùn)練樣本的制作。對(duì)比試驗(yàn)表明,擴(kuò)增后的數(shù)據(jù)使得水下目標(biāo)檢測(cè)的準(zhǔn)確度提高了2.5%,該方法能夠有效改善水下圖像生成質(zhì)量,提高目標(biāo)識(shí)別精度。