劉 婷 尹甜甜 龔真穎 郭一娜
(太原科技大學(xué)電子信息工程學(xué)院 太原 030024)
單通道盲源分離(Single-Channel Blind Source Separation, SCBSS)是指僅憑借單個傳感器就能將所采集到的單路混合信號分離為多路源信號,按照混合方式主要分為線性瞬時混合模型和卷積混合模型[1]。研究最早的用于單通道盲源分離的方法主要是針對線性瞬時混合模型,如設(shè)計最優(yōu)濾波器,但單一濾波器并不能滿足實際要求。以總體經(jīng)驗?zāi)B(tài)分解(Ensemble Empirical Mode Decomposition, EEMD)為基礎(chǔ)的非負(fù)矩陣分解(Non-negative Matrix Factorization, NMF)[2,3]和獨立成分分析(Independent Component correlation Analysis,ICA)[4]等方法,它們假定源信號可以用一組線性組合表示,主要解決線性混合的單通道盲源分離問題,效果較好。但在實際情況下,傳播環(huán)境很復(fù)雜,并且觀察到的許多信號是信道衰落和延遲的結(jié)果,信號大多數(shù)是以卷積的方式進(jìn)行混合的,這些方法在針對卷積的混合信號分離問題上效果并不理想,不能用來解決更實際的卷積信號的分離問題。
單通道盲去卷積是針對卷積混合模型的單通道盲源分離問題,因其更適用于從一路卷積混合信號中分離和解卷積出源信號,在生物醫(yī)藥工程[5]、語音信號處理[6]、圖像復(fù)原[7]、地震勘測及自動控制等[8]領(lǐng)域中都有廣泛的應(yīng)用。但由于缺乏混合信息,源信號和混合矩陣都是未知的,因此,這是一個極具挑戰(zhàn)但又不得不面對的問題。
較早的盲去卷積算法主要有:Sato[9]和 Godard[10]算法,用來解決源信號的恢復(fù)問題。Yellin等人[11]提出基于高階譜的盲去卷積算法,但需要計算高階譜,運(yùn)算量太大,效果欠佳。近年來,神經(jīng)網(wǎng)絡(luò)變得越來越流行,許多研究者應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)[12]和全連接神經(jīng)網(wǎng)絡(luò)[13]來解決源信號的分離和去卷積問題,使用遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)[14]從混合的雜音中產(chǎn)生清晰的聲音,利用自動編碼器(Auto-Encoders, AE)[15]來分離監(jiān)督的源信號。隨后,Subakan等人[16]提出利用生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)解決單通道盲去卷積的問題,將生成對抗網(wǎng)絡(luò)應(yīng)用于語音分離,目的是產(chǎn)生清晰的人聲。然而,這些方法中混合矩陣是已知的,而且需要混合矩陣和與源信號滿足相同的分布以便于進(jìn)行訓(xùn)練。針對這個問題,Kong等人[17]提出一種基于深度卷積生成對抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Networks, DCGAN)的合成分解(Synthesizing-Decomposition, S-D)方法,在源信號和混合矩陣未知的情況下,結(jié)合生成對抗網(wǎng)絡(luò)來解決單通道混合信號的分離和去卷積的問題,但僅針對2路源信號的解混問題, 并不適用于分離多路源信號。
在漢字驗證碼的認(rèn)證、數(shù)字水印、漢字圖標(biāo)中,經(jīng)常出現(xiàn)漢字被遮擋或無法識別的現(xiàn)象,容易造成干擾。針對以上問題,本文提出了一種單通道盲去卷積的算法,以解決多路源信號的分離和去卷積問題。實驗中將漢字和遮擋圖像作為源信號,隨機(jī)選擇4路源信號進(jìn)行卷積混合并分離出漢字圖像和遮擋圖像以證明該方法的有效性。本文的貢獻(xiàn)主要有:
(1)提出一種單通道盲去卷積模型,適用于從單路混合信號中進(jìn)行源分離和去卷積。該模型根據(jù)信號卷積的特點,將多路相互獨立的源信號通過卷積方式進(jìn)行混合(噪聲可作為源信號)。
(2)提出一種新的單通道盲去卷積的算法,用于解決多路源信號的分離和去卷積問題。該算法基于優(yōu)化的深度卷積生成對抗網(wǎng)絡(luò)(Optimized Deep Convolutional Generative Adversarial Network,ODCGAN),并將多路源信號的分離和去卷積的問題轉(zhuǎn)成貝葉斯最大后驗估計(Maximum A Posteriori estimation, MAP)問題,通過重構(gòu)混合物的最小誤差可以同時估計出多個源和混合矩陣。不斷進(jìn)行初始化選擇出最優(yōu)的結(jié)果,并結(jié)合l1范數(shù)與l2范數(shù)對源和混合矩陣進(jìn)行優(yōu)化來改善不確定混合信號的分離和去卷積的性能。
(3)提出一種多源信號計算均方誤差(Mean Squared Error, MSE)損失的方法。該方法考慮每一種可能的信號分離的排列方式。4路源信號的排列方式共 24 種(兩路源信號時僅有兩種排列方式),比較最小的MSE 損失并記錄對應(yīng)的分離出的源信號的順序。
單通道盲去卷積過程中只有1路觀測信號可用,從中解卷積出獨立源信號和混合矩陣。先前的模型只針對2路信號,但對于2路以上信號的分離和去卷積問題未曾涉獵,本文要解決的問題就是通過單通道盲去卷積算法分離和解卷積出多路源信號。
卷積混合信號考慮了源信號的延遲,在不單獨考慮噪聲的情況下(噪聲可作為源信號處理),假設(shè)單個接收傳感器接收到的混合信號X(t)是源信號s(t)和混合矩陣F(t)通過卷積混合得到的,則單通道盲源分離的卷積模型可表示為

在本文的圖像盲去卷積中,主要做了兩步工作:第1步:將式(1)中的問題轉(zhuǎn)化為貝葉斯參數(shù)估計問題。首先利用優(yōu)化的深度卷積生成對抗網(wǎng)絡(luò)對圖像進(jìn)行預(yù)訓(xùn)練;第2步:在漢字與遮擋圖像的單通道盲去卷積過程中,不斷進(jìn)行不同的初始化選擇出最優(yōu)的結(jié)果,并利用adam優(yōu)化器對源和混合矩陣進(jìn)行優(yōu)化選擇最小誤差來獲得目標(biāo)源和混合矩陣。將U設(shè)置為si和Fi的集合,即U= {s1,s2, ··· ,sM,F(xiàn)1,F(xiàn)2, ···,F(xiàn)M} 表示為需要估計的一組源和混合矩陣。可以通過最大后驗估計MAP法來獲取估計的源和混合矩陣Uˉ

生成對抗網(wǎng)絡(luò)基于對抗訓(xùn)練的原理,使用隨機(jī)噪聲生成圖片,包含兩個模型:一個生成模型,一個判別模型。生成模型的目的是利用生成器(Generator, G)生成假的圖片,判別模型(Discriminator,D)是用判別器判斷給定的圖片是真實的圖片還是生成器生成的圖片,這兩個模型一起對抗訓(xùn)練,最終達(dá)到一個穩(wěn)定狀態(tài)。ODCGAN的原理和GAN是一樣的,只是把 GAN的生成器和判別器換成兩個CNN,CNN具有很強(qiáng)的特征提取功能,將CNN引入到GAN的生成模型中做無監(jiān)督訓(xùn)練可以提高生成模型的學(xué)習(xí)效果。并且,ODCGAN對CNN的結(jié)構(gòu)做了一些改變,以提高圖片的質(zhì)量和收斂的速度,主要改變有:
(1)取消了原有CNN中的特征提取層即池化層,生成器中使用轉(zhuǎn)置卷積層,判別器中使用卷積層,并在最后一層中加入全連接層;
(2)網(wǎng)絡(luò)中使用歸一化(Batch Normalization,BN),可以穩(wěn)定地學(xué)習(xí),有助于解決初始化不合理導(dǎo)致的訓(xùn)練問題;
(3)生成器中激活函數(shù)用ReLU,最后一層用sigmoid,判別器中的激活函數(shù)用LeakyReLU,最后一層也用sigmoid。
其損失函數(shù)可表示為

pdata是真實數(shù)據(jù)的分布,pz是生成數(shù)據(jù)的分布。
將網(wǎng)絡(luò)訓(xùn)練的迭代次數(shù)設(shè)置為15000,生成器和判別器將進(jìn)行迭代訓(xùn)練,并通過降低生成器的梯度,升高判別器的梯度來優(yōu)化網(wǎng)絡(luò),如果訓(xùn)練成功,則生成的源信號的分布將收斂到pdata。ODCGAN的訓(xùn)練在表1中顯示。

表1 SCBDC算法


使用表1中的算法對源信號和混合矩陣進(jìn)行優(yōu)化,并重復(fù)m次,以解決局部極小值的問題,并選擇具有最小重構(gòu)誤差的結(jié)果進(jìn)行源信號的分離和去卷積。
在本節(jié)中,將通過基于優(yōu)化的深度卷積生成對抗網(wǎng)絡(luò)的單通道盲去卷積(SCBDC)算法來解決不確定的源分離和解卷積問題。本文在由不同字體不同形態(tài)組成的漢字與遮擋圖像數(shù)據(jù)集實驗上進(jìn)行了測試,隨機(jī)選擇4路信號進(jìn)行混合。并從混合物中分離出目標(biāo)源和混合矩陣, 以測試所提方法的有效性。圖1為部分漢字與遮擋圖像數(shù)據(jù)集樣本。

圖1 部分漢字及遮擋數(shù)據(jù)集
本文實驗中利用優(yōu)化的深度卷積生成對抗網(wǎng)絡(luò)建立了生成模型,訓(xùn)練數(shù)據(jù)共20150張圖片,測試數(shù)據(jù)共5650張,訓(xùn)練與測試數(shù)據(jù)中的圖像具有相同尺寸大小為28 × 28。選擇來自高斯分布的噪聲輸入樣本,高斯分布的區(qū)間為[0, 1],維數(shù)為100。生成器由4個轉(zhuǎn)置卷積層組成并具有512, 256, 128和1的特征圖,轉(zhuǎn)置卷積層之后,應(yīng)用歸一化和ReLU非線性激活函數(shù)進(jìn)行處理,ReLU激活函數(shù)的功能是防止梯度消失,最后一層使用sigmoid激活函數(shù)。判別器中最后一層加入了完全連接層,其他層使用LeakyReLU激活函數(shù),最后使用sigmoid激活函數(shù),并通過adam優(yōu)化器對信號源和混合矩陣進(jìn)行優(yōu)化,這里將優(yōu)化器的學(xué)習(xí)率設(shè)置為0.01。
本文在訓(xùn)練過程中進(jìn)行了15000次迭代預(yù)處理,并保存結(jié)果和圖片路徑,為下一步的源分離和去卷積做準(zhǔn)備。
在本文的基于ODCGAN的漢字與遮擋圖像的單通道盲去卷積實驗中,研究的是4路信號的混合和分離,混合矩陣和單獨的源信號都可以估計出來。從漢字?jǐn)?shù)據(jù)集與遮擋數(shù)據(jù)集中隨機(jī)選擇數(shù)據(jù),每組數(shù)據(jù)由4路單獨的隨機(jī)信號和混合矩陣混合成1路信號,圖2隨機(jī)顯示了6組SCBDC算法進(jìn)行單通道盲去卷積的結(jié)果,其中X表示混合信號,s1,s2,s3,s4表示初始的4路源信號,sˉ1,sˉ2,sˉ3,sˉ4表示對應(yīng)估計的信號。F1,F(xiàn)2,F(xiàn)3,F(xiàn)4表示初始的4路混合矩陣,F(xiàn)ˉ1,F(xiàn)ˉ2,F(xiàn)ˉ3,F(xiàn)ˉ4表示對應(yīng)估計的混合矩陣。從圖中可以看出,針對4路信號的分離和去卷積問題,本文所提出的單通道盲去卷積算法在很大程度上都可以較好地估計出源信號和混合矩陣,證明了該方法的有效性。

圖2 SCBDC 方法進(jìn)行圖像盲去卷積的結(jié)果
圖3展示了本文所提算法與S-D算法[17]進(jìn)行盲去卷積的結(jié)果(以兩路信號為例)。

圖3 S-D算法與SCBDC 算法進(jìn)行圖像盲去卷積的對比結(jié)果
為了驗證本文提出的基于ODCGAN的單通道盲去卷積算法的有效性,使用峰值信噪比(Peak Signal to Noise Ratio, PSNR)進(jìn)行評估,PSNR越高,表示信號分離和去卷積的效果越好,跟真實信號越接近。并結(jié)合信號相關(guān)性來衡量分離出的信號與源信號的相似程度。
4.3.1 峰值信噪比
兩張尺寸為a × b的圖像之間的均方誤差MSE可表示為

其中,MAXI代表無噪圖像的最大值。
表2顯示了本文中SCBDC算法進(jìn)行4路源信號的盲去卷積過程中在不同初始化次數(shù)下所得到的PSNR值,可以看出50次初始化的 SCBDC方法具有比15次初始化和1次初始化獲得更高的PSNR,并達(dá)到穩(wěn)定。

表2 不同初始化的PSNR值(dB)
本文實驗用相同的數(shù)據(jù)集,將SCBDC算法進(jìn)行2路源信號盲去卷積所獲得的PSNR與非負(fù)矩陣分解法NMF[18]和S-D[17]算法所獲得的PSNR進(jìn)行對比,結(jié)果如表3所示,本文所提的算法比NMF和SD算法具有更高的PSNR值。因此,針對2路源信號的盲去卷積問題,本文算法相比已有算法效果更好,而且可以處理多路源信號的盲去卷積問題。

表3 不同算法的PSNR值(dB)
4.3.2 信號相關(guān)性
信號的互相關(guān)是用來描述兩個信號間的相似程度,信號x和y的互相關(guān)函數(shù)可以表示為

按照圖2分離出的6組信號,表4顯示了本文算法分離出的目標(biāo)信號與源信號的互相關(guān)性取值,R的值越高,表示目標(biāo)信號與源信號的相似度越高,則分離的源信號的質(zhì)量越好。從表4可以看出本文算法在4路源信號的分離上所獲得的目標(biāo)信號與源信號的平均互相關(guān)性在整體上都較高。

表4 目標(biāo)信號與源信號的互相關(guān)性值
本文根據(jù)2路源信號的分離結(jié)果,對比了S-D算法與NMF算法所獲得的目標(biāo)信號與源信號的平均互相關(guān)性值,結(jié)果如表5所示。很明顯,本文算法所獲得的信號的總平均互相關(guān)性更高。

表5 不同算法的源信號與目標(biāo)信號的平均互相關(guān)性值
本文提出了一種基于ODCGAN的單通道盲去卷積算法來解決多路源信號的分離和去卷積問題,利用優(yōu)化的深度卷積生成對抗網(wǎng)絡(luò)建立源信號的模型,對漢字與遮擋圖像數(shù)據(jù)集進(jìn)行訓(xùn)練,并將源信號的分離和去卷積問題轉(zhuǎn)化為貝葉斯估計問題。在進(jìn)行信號的分離和去卷積過程中,將混合物重構(gòu)誤差降到最小,并多次進(jìn)行初始化選擇最優(yōu)的結(jié)果,提高不確定混合信號的分離和去卷積的性能。實驗中隨機(jī)選擇4路信號進(jìn)行混合,利用該算法分離出獨立的源信號和混合矩陣,實現(xiàn)了10.4 dB的峰值信噪比,并結(jié)合相關(guān)度指標(biāo)衡量信號分離的整體效果,體現(xiàn)了SCBDC算法在混合信號的分離和去卷積上的有效性。將來,我們將更多地考慮加入噪聲,尤其是增卷積噪聲以及考慮采用更好的方法提高單通道混合信號的分離去卷積的性能。