劉 婷 尹甜甜 龔真穎 郭一娜
(太原科技大學(xué)電子信息工程學(xué)院 太原 030024)
單通道盲源分離(Single-Channel Blind Source Separation, SCBSS)是指僅憑借單個(gè)傳感器就能將所采集到的單路混合信號(hào)分離為多路源信號(hào),按照混合方式主要分為線性瞬時(shí)混合模型和卷積混合模型[1]。研究最早的用于單通道盲源分離的方法主要是針對(duì)線性瞬時(shí)混合模型,如設(shè)計(jì)最優(yōu)濾波器,但單一濾波器并不能滿足實(shí)際要求。以總體經(jīng)驗(yàn)?zāi)B(tài)分解(Ensemble Empirical Mode Decomposition, EEMD)為基礎(chǔ)的非負(fù)矩陣分解(Non-negative Matrix Factorization, NMF)[2,3]和獨(dú)立成分分析(Independent Component correlation Analysis,ICA)[4]等方法,它們假定源信號(hào)可以用一組線性組合表示,主要解決線性混合的單通道盲源分離問題,效果較好。但在實(shí)際情況下,傳播環(huán)境很復(fù)雜,并且觀察到的許多信號(hào)是信道衰落和延遲的結(jié)果,信號(hào)大多數(shù)是以卷積的方式進(jìn)行混合的,這些方法在針對(duì)卷積的混合信號(hào)分離問題上效果并不理想,不能用來解決更實(shí)際的卷積信號(hào)的分離問題。
單通道盲去卷積是針對(duì)卷積混合模型的單通道盲源分離問題,因其更適用于從一路卷積混合信號(hào)中分離和解卷積出源信號(hào),在生物醫(yī)藥工程[5]、語音信號(hào)處理[6]、圖像復(fù)原[7]、地震勘測(cè)及自動(dòng)控制等[8]領(lǐng)域中都有廣泛的應(yīng)用。但由于缺乏混合信息,源信號(hào)和混合矩陣都是未知的,因此,這是一個(gè)極具挑戰(zhàn)但又不得不面對(duì)的問題。
較早的盲去卷積算法主要有:Sato[9]和 Godard[10]算法,用來解決源信號(hào)的恢復(fù)問題。Yellin等人[11]提出基于高階譜的盲去卷積算法,但需要計(jì)算高階譜,運(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]來解決源信號(hào)的分離和去卷積問題,使用遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)[14]從混合的雜音中產(chǎn)生清晰的聲音,利用自動(dòng)編碼器(Auto-Encoders, AE)[15]來分離監(jiān)督的源信號(hào)。隨后,Subakan等人[16]提出利用生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)解決單通道盲去卷積的問題,將生成對(duì)抗網(wǎng)絡(luò)應(yīng)用于語音分離,目的是產(chǎn)生清晰的人聲。然而,這些方法中混合矩陣是已知的,而且需要混合矩陣和與源信號(hào)滿足相同的分布以便于進(jìn)行訓(xùn)練。針對(duì)這個(gè)問題,Kong等人[17]提出一種基于深度卷積生成對(duì)抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Networks, DCGAN)的合成分解(Synthesizing-Decomposition, S-D)方法,在源信號(hào)和混合矩陣未知的情況下,結(jié)合生成對(duì)抗網(wǎng)絡(luò)來解決單通道混合信號(hào)的分離和去卷積的問題,但僅針對(duì)2路源信號(hào)的解混問題, 并不適用于分離多路源信號(hào)。
在漢字驗(yàn)證碼的認(rèn)證、數(shù)字水印、漢字圖標(biāo)中,經(jīng)常出現(xiàn)漢字被遮擋或無法識(shí)別的現(xiàn)象,容易造成干擾。針對(duì)以上問題,本文提出了一種單通道盲去卷積的算法,以解決多路源信號(hào)的分離和去卷積問題。實(shí)驗(yàn)中將漢字和遮擋圖像作為源信號(hào),隨機(jī)選擇4路源信號(hào)進(jìn)行卷積混合并分離出漢字圖像和遮擋圖像以證明該方法的有效性。本文的貢獻(xiàn)主要有:
(1)提出一種單通道盲去卷積模型,適用于從單路混合信號(hào)中進(jìn)行源分離和去卷積。該模型根據(jù)信號(hào)卷積的特點(diǎn),將多路相互獨(dú)立的源信號(hào)通過卷積方式進(jìn)行混合(噪聲可作為源信號(hào))。
(2)提出一種新的單通道盲去卷積的算法,用于解決多路源信號(hào)的分離和去卷積問題。該算法基于優(yōu)化的深度卷積生成對(duì)抗網(wǎng)絡(luò)(Optimized Deep Convolutional Generative Adversarial Network,ODCGAN),并將多路源信號(hào)的分離和去卷積的問題轉(zhuǎn)成貝葉斯最大后驗(yàn)估計(jì)(Maximum A Posteriori estimation, MAP)問題,通過重構(gòu)混合物的最小誤差可以同時(shí)估計(jì)出多個(gè)源和混合矩陣。不斷進(jìn)行初始化選擇出最優(yōu)的結(jié)果,并結(jié)合l1范數(shù)與l2范數(shù)對(duì)源和混合矩陣進(jìn)行優(yōu)化來改善不確定混合信號(hào)的分離和去卷積的性能。
(3)提出一種多源信號(hào)計(jì)算均方誤差(Mean Squared Error, MSE)損失的方法。該方法考慮每一種可能的信號(hào)分離的排列方式。4路源信號(hào)的排列方式共 24 種(兩路源信號(hào)時(shí)僅有兩種排列方式),比較最小的MSE 損失并記錄對(duì)應(yīng)的分離出的源信號(hào)的順序。
單通道盲去卷積過程中只有1路觀測(cè)信號(hào)可用,從中解卷積出獨(dú)立源信號(hào)和混合矩陣。先前的模型只針對(duì)2路信號(hào),但對(duì)于2路以上信號(hào)的分離和去卷積問題未曾涉獵,本文要解決的問題就是通過單通道盲去卷積算法分離和解卷積出多路源信號(hào)。
卷積混合信號(hào)考慮了源信號(hào)的延遲,在不單獨(dú)考慮噪聲的情況下(噪聲可作為源信號(hào)處理),假設(shè)單個(gè)接收傳感器接收到的混合信號(hào)X(t)是源信號(hào)s(t)和混合矩陣F(t)通過卷積混合得到的,則單通道盲源分離的卷積模型可表示為
在本文的圖像盲去卷積中,主要做了兩步工作:第1步:將式(1)中的問題轉(zhuǎn)化為貝葉斯參數(shù)估計(jì)問題。首先利用優(yōu)化的深度卷積生成對(duì)抗網(wǎng)絡(luò)對(duì)圖像進(jìn)行預(yù)訓(xùn)練;第2步:在漢字與遮擋圖像的單通道盲去卷積過程中,不斷進(jìn)行不同的初始化選擇出最優(yōu)的結(jié)果,并利用adam優(yōu)化器對(duì)源和混合矩陣進(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} 表示為需要估計(jì)的一組源和混合矩陣??梢酝ㄟ^最大后驗(yàn)估計(jì)MAP法來獲取估計(jì)的源和混合矩陣Uˉ
生成對(duì)抗網(wǎng)絡(luò)基于對(duì)抗訓(xùn)練的原理,使用隨機(jī)噪聲生成圖片,包含兩個(gè)模型:一個(gè)生成模型,一個(gè)判別模型。生成模型的目的是利用生成器(Generator, G)生成假的圖片,判別模型(Discriminator,D)是用判別器判斷給定的圖片是真實(shí)的圖片還是生成器生成的圖片,這兩個(gè)模型一起對(duì)抗訓(xùn)練,最終達(dá)到一個(gè)穩(wěn)定狀態(tài)。ODCGAN的原理和GAN是一樣的,只是把 GAN的生成器和判別器換成兩個(gè)CNN,CNN具有很強(qiáng)的特征提取功能,將CNN引入到GAN的生成模型中做無監(jiān)督訓(xùn)練可以提高生成模型的學(xué)習(xí)效果。并且,ODCGAN對(duì)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í)數(shù)據(jù)的分布,pz是生成數(shù)據(jù)的分布。
將網(wǎng)絡(luò)訓(xùn)練的迭代次數(shù)設(shè)置為15000,生成器和判別器將進(jìn)行迭代訓(xùn)練,并通過降低生成器的梯度,升高判別器的梯度來優(yōu)化網(wǎng)絡(luò),如果訓(xùn)練成功,則生成的源信號(hào)的分布將收斂到pdata。ODCGAN的訓(xùn)練在表1中顯示。
表1 SCBDC算法
使用表1中的算法對(duì)源信號(hào)和混合矩陣進(jìn)行優(yōu)化,并重復(fù)m次,以解決局部極小值的問題,并選擇具有最小重構(gòu)誤差的結(jié)果進(jìn)行源信號(hào)的分離和去卷積。
在本節(jié)中,將通過基于優(yōu)化的深度卷積生成對(duì)抗網(wǎng)絡(luò)的單通道盲去卷積(SCBDC)算法來解決不確定的源分離和解卷積問題。本文在由不同字體不同形態(tài)組成的漢字與遮擋圖像數(shù)據(jù)集實(shí)驗(yàn)上進(jìn)行了測(cè)試,隨機(jī)選擇4路信號(hào)進(jìn)行混合。并從混合物中分離出目標(biāo)源和混合矩陣, 以測(cè)試所提方法的有效性。圖1為部分漢字與遮擋圖像數(shù)據(jù)集樣本。
圖1 部分漢字及遮擋數(shù)據(jù)集
本文實(shí)驗(yàn)中利用優(yōu)化的深度卷積生成對(duì)抗網(wǎng)絡(luò)建立了生成模型,訓(xùn)練數(shù)據(jù)共20150張圖片,測(cè)試數(shù)據(jù)共5650張,訓(xùn)練與測(cè)試數(shù)據(jù)中的圖像具有相同尺寸大小為28 × 28。選擇來自高斯分布的噪聲輸入樣本,高斯分布的區(qū)間為[0, 1],維數(shù)為100。生成器由4個(gè)轉(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)化器對(duì)信號(hào)源和混合矩陣進(jìn)行優(yōu)化,這里將優(yōu)化器的學(xué)習(xí)率設(shè)置為0.01。
本文在訓(xùn)練過程中進(jìn)行了15000次迭代預(yù)處理,并保存結(jié)果和圖片路徑,為下一步的源分離和去卷積做準(zhǔn)備。
在本文的基于ODCGAN的漢字與遮擋圖像的單通道盲去卷積實(shí)驗(yàn)中,研究的是4路信號(hào)的混合和分離,混合矩陣和單獨(dú)的源信號(hào)都可以估計(jì)出來。從漢字?jǐn)?shù)據(jù)集與遮擋數(shù)據(jù)集中隨機(jī)選擇數(shù)據(jù),每組數(shù)據(jù)由4路單獨(dú)的隨機(jī)信號(hào)和混合矩陣混合成1路信號(hào),圖2隨機(jī)顯示了6組SCBDC算法進(jìn)行單通道盲去卷積的結(jié)果,其中X表示混合信號(hào),s1,s2,s3,s4表示初始的4路源信號(hào),sˉ1,sˉ2,sˉ3,sˉ4表示對(duì)應(yīng)估計(jì)的信號(hào)。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表示對(duì)應(yīng)估計(jì)的混合矩陣。從圖中可以看出,針對(duì)4路信號(hào)的分離和去卷積問題,本文所提出的單通道盲去卷積算法在很大程度上都可以較好地估計(jì)出源信號(hào)和混合矩陣,證明了該方法的有效性。
圖2 SCBDC 方法進(jìn)行圖像盲去卷積的結(jié)果
圖3展示了本文所提算法與S-D算法[17]進(jìn)行盲去卷積的結(jié)果(以兩路信號(hào)為例)。
圖3 S-D算法與SCBDC 算法進(jìn)行圖像盲去卷積的對(duì)比結(jié)果
為了驗(yàn)證本文提出的基于ODCGAN的單通道盲去卷積算法的有效性,使用峰值信噪比(Peak Signal to Noise Ratio, PSNR)進(jìn)行評(píng)估,PSNR越高,表示信號(hào)分離和去卷積的效果越好,跟真實(shí)信號(hào)越接近。并結(jié)合信號(hào)相關(guān)性來衡量分離出的信號(hào)與源信號(hào)的相似程度。
4.3.1 峰值信噪比
兩張尺寸為a × b的圖像之間的均方誤差MSE可表示為
其中,MAXI代表無噪圖像的最大值。
表2顯示了本文中SCBDC算法進(jìn)行4路源信號(hào)的盲去卷積過程中在不同初始化次數(shù)下所得到的PSNR值,可以看出50次初始化的 SCBDC方法具有比15次初始化和1次初始化獲得更高的PSNR,并達(dá)到穩(wěn)定。
表2 不同初始化的PSNR值(dB)
本文實(shí)驗(yàn)用相同的數(shù)據(jù)集,將SCBDC算法進(jìn)行2路源信號(hào)盲去卷積所獲得的PSNR與非負(fù)矩陣分解法NMF[18]和S-D[17]算法所獲得的PSNR進(jìn)行對(duì)比,結(jié)果如表3所示,本文所提的算法比NMF和SD算法具有更高的PSNR值。因此,針對(duì)2路源信號(hào)的盲去卷積問題,本文算法相比已有算法效果更好,而且可以處理多路源信號(hào)的盲去卷積問題。
表3 不同算法的PSNR值(dB)
4.3.2 信號(hào)相關(guān)性
信號(hào)的互相關(guān)是用來描述兩個(gè)信號(hào)間的相似程度,信號(hào)x和y的互相關(guān)函數(shù)可以表示為
按照?qǐng)D2分離出的6組信號(hào),表4顯示了本文算法分離出的目標(biāo)信號(hào)與源信號(hào)的互相關(guān)性取值,R的值越高,表示目標(biāo)信號(hào)與源信號(hào)的相似度越高,則分離的源信號(hào)的質(zhì)量越好。從表4可以看出本文算法在4路源信號(hào)的分離上所獲得的目標(biāo)信號(hào)與源信號(hào)的平均互相關(guān)性在整體上都較高。
表4 目標(biāo)信號(hào)與源信號(hào)的互相關(guān)性值
本文根據(jù)2路源信號(hào)的分離結(jié)果,對(duì)比了S-D算法與NMF算法所獲得的目標(biāo)信號(hào)與源信號(hào)的平均互相關(guān)性值,結(jié)果如表5所示。很明顯,本文算法所獲得的信號(hào)的總平均互相關(guān)性更高。
表5 不同算法的源信號(hào)與目標(biāo)信號(hào)的平均互相關(guān)性值
本文提出了一種基于ODCGAN的單通道盲去卷積算法來解決多路源信號(hào)的分離和去卷積問題,利用優(yōu)化的深度卷積生成對(duì)抗網(wǎng)絡(luò)建立源信號(hào)的模型,對(duì)漢字與遮擋圖像數(shù)據(jù)集進(jìn)行訓(xùn)練,并將源信號(hào)的分離和去卷積問題轉(zhuǎn)化為貝葉斯估計(jì)問題。在進(jìn)行信號(hào)的分離和去卷積過程中,將混合物重構(gòu)誤差降到最小,并多次進(jìn)行初始化選擇最優(yōu)的結(jié)果,提高不確定混合信號(hào)的分離和去卷積的性能。實(shí)驗(yàn)中隨機(jī)選擇4路信號(hào)進(jìn)行混合,利用該算法分離出獨(dú)立的源信號(hào)和混合矩陣,實(shí)現(xiàn)了10.4 dB的峰值信噪比,并結(jié)合相關(guān)度指標(biāo)衡量信號(hào)分離的整體效果,體現(xiàn)了SCBDC算法在混合信號(hào)的分離和去卷積上的有效性。將來,我們將更多地考慮加入噪聲,尤其是增卷積噪聲以及考慮采用更好的方法提高單通道混合信號(hào)的分離去卷積的性能。