本發(fā)明屬于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)領(lǐng)域,涉及用于對(duì)圖像數(shù)據(jù)的有損壓縮。
背景技術(shù):
隨著大數(shù)據(jù)時(shí)代的來臨,數(shù)據(jù)正以前所未有的速度增長(zhǎng)和累積,數(shù)據(jù)處理技術(shù)正在經(jīng)歷一次全新的變革。首先,數(shù)據(jù)的體量不斷擴(kuò)大,數(shù)據(jù)集合的規(guī)模已經(jīng)從gb、tb到了pb,而網(wǎng)絡(luò)大數(shù)據(jù)甚至以eb和zb等單位來計(jì)數(shù);其次,網(wǎng)絡(luò)大數(shù)據(jù)類型繁多,包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù).在現(xiàn)代互聯(lián)網(wǎng)應(yīng)用中,呈現(xiàn)出非結(jié)構(gòu)化數(shù)據(jù)大幅增長(zhǎng)的特點(diǎn);再次,網(wǎng)絡(luò)大數(shù)據(jù)往往呈現(xiàn)出突發(fā)涌現(xiàn)等非線性狀態(tài)演變現(xiàn)象,因此難以對(duì)其變化進(jìn)行有效評(píng)估和預(yù)測(cè).另一方面,網(wǎng)絡(luò)大數(shù)據(jù)常常以數(shù)據(jù)流的形式動(dòng)態(tài)、快速地產(chǎn)生,具有很強(qiáng)的時(shí)效性。隨著大數(shù)據(jù)時(shí)代的來臨數(shù)據(jù)壓縮技術(shù)也在不斷發(fā)展,因?yàn)榇鎯?chǔ)設(shè)備的空間畢竟是有限的,而圖片,游戲、音頻、視頻在計(jì)算機(jī)中應(yīng)用中越來越普遍,但它們又非常占據(jù)空間,所以壓縮技術(shù)前景非常廣闊并且不斷在發(fā)展。
關(guān)于數(shù)據(jù)的壓縮算法雖早已有研究,如游程編碼、差分編碼、lzw算法、哈夫曼編碼、jpeg、jpeg200、zip等,這些壓縮算法雖然能夠壓縮數(shù)據(jù),使其能夠便于存儲(chǔ)和傳輸,但面對(duì)當(dāng)今極大量的、結(jié)構(gòu)復(fù)雜、增長(zhǎng)速度極快的數(shù)據(jù),越來越顯得力不從心。本研究課題以大數(shù)據(jù)為研究背景,通過研究數(shù)據(jù)壓縮算法,提出把深度學(xué)習(xí)模型用于數(shù)據(jù)的壓縮,從而提高數(shù)據(jù)的壓縮比,降低數(shù)據(jù)冗余,方便數(shù)據(jù)傳輸和存儲(chǔ),具有重大的意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明首先對(duì)五張?jiān)蓟叶葓D像進(jìn)行分塊,然后把具有相同特征的塊兒聚集到一類形成訓(xùn)練數(shù)據(jù)集,接著把每一個(gè)訓(xùn)練數(shù)據(jù)集輸入到相對(duì)應(yīng)的多層稀疏自動(dòng)編碼器(mase)模型中進(jìn)行訓(xùn)練,并在訓(xùn)練過程中使用粒子群優(yōu)化(pso)算法進(jìn)行參數(shù)尋優(yōu),最后使用測(cè)試樣本對(duì)模型的性能進(jìn)行測(cè)試并分析實(shí)驗(yàn)結(jié)果。本發(fā)明的mase是指稀疏自動(dòng)編碼器和bp神經(jīng)網(wǎng)絡(luò)的混合神經(jīng)網(wǎng)絡(luò),稀疏自動(dòng)編碼器能夠?qū)⑤斎雽拥臄?shù)據(jù)稀疏的映射到隱含層,得到稀疏的特征便于神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)數(shù)據(jù)的特征。通過將稀疏自動(dòng)編碼器的輸出輸入到bp網(wǎng)絡(luò)中,然后通過bp網(wǎng)絡(luò)的誤差反傳進(jìn)一步調(diào)節(jié)自動(dòng)稀疏編碼器的網(wǎng)絡(luò)權(quán)重。
為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明采用下述的技術(shù)方案:
一種基于深度學(xué)習(xí)模型的靜態(tài)圖像壓縮方法,包括如下步驟:
步驟一:圖像分塊
把圖像分成若干個(gè)8*8維的圖塊;
步驟二:圖塊聚類
使用k-means聚類算法把上述步驟一所分成的具有相同特征的圖塊聚集在一起,形成訓(xùn)練數(shù)據(jù)集;
步驟三:pso參數(shù)尋優(yōu)與模型訓(xùn)練
采用多層稀疏自動(dòng)編碼器(msae)模型,用粒子群優(yōu)化(pso)算法來確定該模型的隱含層的層數(shù)和神經(jīng)元個(gè)數(shù)兩個(gè)參數(shù),并把所述具有相同特征的圖塊輸入到該模型中完成圖像的壓縮和解壓縮;
步驟四:模型測(cè)試
采用上述步驟一至步驟三,分別進(jìn)行圖像的8倍、16倍、32倍實(shí)驗(yàn),并在不同測(cè)試樣本和訓(xùn)練樣本下,把測(cè)試樣本圖像作為三個(gè)msae網(wǎng)絡(luò)的測(cè)速集,測(cè)試該模型的壓縮和解壓效果。
相同的特征包括邊緣區(qū)域特征、平坦區(qū)域特征和紋理區(qū)域特征。所述邊緣區(qū)域是圖像灰度變化明顯的區(qū)域,標(biāo)志著圖像特征的劇烈轉(zhuǎn)變;所述平坦區(qū)域是圖像中灰度變化平緩的區(qū)域,是圖像的背景或者是圖像的單一特征;所述紋理區(qū)域是圖像中的灰度呈一定形狀分布的區(qū)域,標(biāo)志著圖像的紋理特征。利用k-means聚類算法把所述圖塊按照區(qū)域特征、平坦區(qū)域特征和紋理區(qū)域特征分成三類。定義壓縮倍數(shù)r=no/nc,其中no為原始數(shù)據(jù)的維數(shù),nc為壓縮后數(shù)據(jù)的維數(shù)即最后一層隱含層的個(gè)數(shù)。利用五幅圖像lena、baboon、jet、peppers、sailboat分別作為測(cè)試樣本和訓(xùn)練樣本,進(jìn)行模型測(cè)試。
本發(fā)明在實(shí)驗(yàn)過程中與bp神經(jīng)網(wǎng)絡(luò)的識(shí)別結(jié)果進(jìn)行對(duì)比,并且進(jìn)行了交叉驗(yàn)證,主要的算法性能評(píng)價(jià)指標(biāo)選用了psnr值。結(jié)果顯示在評(píng)價(jià)指標(biāo)上k-means加msae網(wǎng)絡(luò)的混合壓縮模型在圖像壓縮和重構(gòu)上比ann網(wǎng)絡(luò)取得了更好的重構(gòu)效果。
附圖說明
圖1為本發(fā)明流程圖。
圖2為本發(fā)明模型訓(xùn)練示意圖。
圖3為本發(fā)明模型示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的說明。
圖1為本發(fā)明示意圖。參照?qǐng)D1所示,首先對(duì)五張?jiān)蓟叶葓D像進(jìn)行分塊,然后把具有相同特征的塊兒聚集到一類形成訓(xùn)練數(shù)據(jù)集,接著把每一個(gè)訓(xùn)練數(shù)據(jù)集輸入到相對(duì)應(yīng)的多層稀疏自動(dòng)編碼器(mase)模型中進(jìn)行訓(xùn)練并在訓(xùn)練過程中使用pso算法進(jìn)行參數(shù)尋優(yōu),最后使用測(cè)試樣本對(duì)模型的性能進(jìn)行測(cè)試并分析實(shí)驗(yàn)結(jié)果。具體實(shí)現(xiàn)步驟如下:
步驟一:圖像分塊
(1)圖像分塊。原則上說,我們可以把原始的訓(xùn)練樣本輸入到多層稀疏自動(dòng)編碼器模型然后對(duì)這個(gè)模型進(jìn)行訓(xùn)練,因?yàn)槎鄬酉∈枳詣?dòng)編碼器模型可以自動(dòng)地學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在特征。然而,如果我們不對(duì)訓(xùn)練樣本進(jìn)行預(yù)處理,就需要稀疏自動(dòng)編碼器模型擁有更加復(fù)雜的結(jié)構(gòu)(更多的隱含層和神經(jīng)元節(jié)點(diǎn))去擬合樣本數(shù)據(jù),足夠多的數(shù)據(jù)去訓(xùn)練模型,同時(shí)還對(duì)我們的硬件提出了較高的要求。由于硬件設(shè)備的限制和時(shí)間成本的控制,我們對(duì)實(shí)驗(yàn)數(shù)據(jù)的預(yù)處理是有必要的。對(duì)于實(shí)驗(yàn)數(shù)據(jù)的預(yù)處理不僅可以降低模型的復(fù)雜度,縮短訓(xùn)練時(shí)間,同時(shí)還可以降低實(shí)驗(yàn)設(shè)備的要求,有助于我們?cè)谟邢薜膶?shí)驗(yàn)條件下進(jìn)行深度學(xué)習(xí)模型的可行性驗(yàn)證。在開始試驗(yàn)之前,我們對(duì)試驗(yàn)圖像進(jìn)行了圖像分塊和圖像聚類的處理。由于單幅圖像的維度巨大,我們需要使用更復(fù)雜的模型才能充分提取一整幅圖像的特征,而且當(dāng)我們把一整幅圖像輸入到模型的時(shí)候,模型的收斂速度會(huì)變慢,模型會(huì)很容易出現(xiàn)欠擬合的情況。因此,本發(fā)明先把圖像分成8*8的圖塊兒,這樣一幅原本512*512維的灰度圖像就變?yōu)?*8維的灰度圖像塊,這樣做大大簡(jiǎn)化了模型的復(fù)雜度,加快了模型收斂速度,也方便模型進(jìn)行特征提取。本文中使用baboon、jet、lena、peppers、sailboat五幅圖像分別作為訓(xùn)練樣本和測(cè)試樣本進(jìn)行說明。
步驟二:圖塊聚類
一般說來,我們可以把一幅圖像分為邊緣區(qū)域,平坦區(qū)域和紋理區(qū)域。邊緣區(qū)域,是圖像灰度變化明顯的區(qū)域,往往標(biāo)志著圖像特征的劇烈轉(zhuǎn)變;平坦區(qū)域,是圖像中灰度變化平緩的區(qū)域,常常是圖像的背景或者是圖像的單一特征;紋理區(qū)域,是圖像中的灰度呈一定形狀分布的區(qū)域,一般標(biāo)志著圖像的紋理特征。因此,我們使用聚類算法把具有相同特征的圖塊兒聚集到一起,然后我們使用一個(gè)壓縮模型對(duì)這類圖塊兒進(jìn)行圖像的壓縮和解壓研究。這樣做有助于壓縮模型提取這類特征,避免了不同特征的圖塊兒對(duì)于壓縮模型的擾動(dòng),而且大大增強(qiáng)了模型的學(xué)習(xí)效率,保證了在高壓縮比的情況下重構(gòu)圖像的質(zhì)量更好。
步驟三:pso參數(shù)尋優(yōu)和模型訓(xùn)練
在多層稀疏自動(dòng)編碼器中有三個(gè)重要參數(shù)直接地影響了模型的性能,隱含層的層數(shù),隱含層神經(jīng)元的個(gè)數(shù)以及節(jié)點(diǎn)轉(zhuǎn)換函數(shù)。隱含層的層數(shù)和隱含層中神經(jīng)元的個(gè)數(shù)的確定一直是學(xué)術(shù)界的難題,沒有統(tǒng)一的理論,大多數(shù)研究人員的對(duì)于這些參數(shù)的選擇更多的是依賴經(jīng)驗(yàn)和大量重復(fù)試驗(yàn)來確定。一般說來,隱含層的神經(jīng)元個(gè)數(shù)越多,網(wǎng)絡(luò)對(duì)輸入數(shù)據(jù)的特征表達(dá)就越完整,所壓縮的數(shù)據(jù)也就更少,在滿足精度要求的前提下取盡可能緊湊的結(jié)構(gòu),即取盡可能少的隱層節(jié)點(diǎn)數(shù);隱含層層數(shù)越多,網(wǎng)絡(luò)對(duì)于原始數(shù)據(jù)的抽象能力就更強(qiáng),更加能夠提取出數(shù)據(jù)的核心特征,也更加容易壓縮,增加隱層數(shù)可以降低網(wǎng)絡(luò)誤差,提高精度,但也使網(wǎng)絡(luò)復(fù)雜化,收斂速度變慢。
本文對(duì)于隱含層的層數(shù)和神經(jīng)元個(gè)數(shù)的確定采用粒子群優(yōu)化算法來確定。神經(jīng)網(wǎng)絡(luò)的參數(shù)好壞影響了神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)壓縮效果的好壞,粒子群優(yōu)化算法可以在給定的參數(shù)范圍內(nèi)查找到一組對(duì)于網(wǎng)絡(luò)效果較優(yōu)的參數(shù)集合。
粒子群算法采用“群體”與“進(jìn)化”的概念,依據(jù)微粒的適應(yīng)值大小進(jìn)行操作,是一種基于疊代的優(yōu)化工具,系統(tǒng)初始化為一組隨機(jī)解,通過疊代搜尋最優(yōu)值,粒子在解空間追隨最優(yōu)的粒子進(jìn)行搜索,將每個(gè)體看作是在n維搜索空間中的一個(gè)沒有重量和體積的微粒,并在搜索空間中以一定的速度飛行,直到達(dá)到最大迭代次數(shù)和獲得最優(yōu)解算法才結(jié)束。圖2是模型訓(xùn)練圖,展示了圖像分塊、圖像聚類、pso參數(shù)尋優(yōu)的步驟。
步驟四:模型測(cè)試
使用lena圖像作為三個(gè)msae網(wǎng)絡(luò)的測(cè)速集。首先把lena圖像分割成4096個(gè)8*8的圖塊兒,然后使用k-means聚類算法,聚集成三類,最后把同類圖塊兒輸入到對(duì)應(yīng)模型中完成圖像的壓縮和解壓縮實(shí)驗(yàn)。圖3顯示了通過粒子群尋優(yōu)算法以及樣本集訓(xùn)練后所獲得的msae網(wǎng)。網(wǎng)絡(luò)的輸入層到最后一個(gè)隱含層的部分為圖像的壓縮器msae_compress進(jìn)行圖像壓縮,msae_compress輸出的數(shù)據(jù)即為要存儲(chǔ)的數(shù)據(jù);最后一個(gè)隱含層到輸出層的部分為圖像的解壓縮器msae_decompress,輸出數(shù)據(jù)為重構(gòu)的圖塊對(duì)應(yīng)的像素值。定義壓縮倍數(shù)為r,no為原始數(shù)據(jù)的維數(shù),nc為壓縮后數(shù)據(jù)的維數(shù)即最后一層隱含層的個(gè)數(shù)。采用上面實(shí)驗(yàn)步驟,分別進(jìn)行圖像的8倍、16倍、32倍實(shí)驗(yàn),并在不同訓(xùn)練樣本和測(cè)試樣本下,測(cè)試模型的壓縮解壓效果。
r=no/nc
表一在記錄的是八倍壓縮倍率的情況下msae模型和ann模型重構(gòu)的圖像的psnr值。表一中的一行為一次壓縮和解壓縮實(shí)驗(yàn),其中l(wèi)ena為測(cè)試樣本,其余四副為訓(xùn)練樣本。ann模型的圖像的實(shí)驗(yàn)順序和msae模型的圖像的實(shí)驗(yàn)順序是一樣的。
從表一中的行觀察,我們可以明顯的發(fā)現(xiàn)lena的psnr值比其它訓(xùn)練圖像的psnr值要低1-3個(gè)db,這是因?yàn)閘ena沒有參與模型的訓(xùn)練它,所以它具有的特征是模型沒有學(xué)習(xí)過的,而訓(xùn)練圖像的特征是模型充分學(xué)習(xí)的,所以訓(xùn)練圖像輸入到模型后所得到的重構(gòu)圖像比測(cè)試圖像的psnr值要高,質(zhì)量要好。從列觀察,在相同測(cè)試樣本和訓(xùn)練樣本的情況下,bp模型所獲得的測(cè)試樣本的重構(gòu)圖像比msae模型所獲得重構(gòu)圖像的psnr值要低1-4個(gè)db,即使是訓(xùn)練樣本的重構(gòu),ann模型重構(gòu)圖像的psnr也比msae網(wǎng)絡(luò)重構(gòu)圖像差了很多,說明了msae模型在圖像特征提取,圖像還原上高于bp網(wǎng)絡(luò)。
表一.在八倍壓縮率情況下msae模型和ann模型重構(gòu)圖像的對(duì)比
為了避免過學(xué)習(xí)以及欠學(xué)習(xí)狀態(tài)的發(fā)生,防止單幅圖像的特征影響到整個(gè)模型的性能和實(shí)驗(yàn)結(jié)果,本文使用交叉驗(yàn)證的方法來測(cè)試msae模型的穩(wěn)定性和可靠性。
將實(shí)驗(yàn)樣本分成五組,每組依次采用五幅圖像中的一幅作為測(cè)試樣本,另外四幅作為訓(xùn)練樣本,這樣在同一個(gè)壓縮率情況下進(jìn)行五次實(shí)驗(yàn),五幅圖像都會(huì)依次作為測(cè)試圖像,避免了特殊圖像的特征影響到實(shí)驗(yàn)結(jié)果。依據(jù)上述思想,分別在8倍,16倍,32倍壓縮率的情況下使用交叉驗(yàn)證的方法測(cè)試模型,實(shí)驗(yàn)結(jié)果如表二至表七。
表二.在八倍壓縮率情況下msae模型重構(gòu)圖像的對(duì)比
表三.在八倍壓縮率情況下bp模型重構(gòu)圖像的對(duì)比
表四.十六倍壓縮率情況下,msae重構(gòu)圖像的psnr對(duì)比
表五.十六倍壓縮率情況下,bp重構(gòu)圖像的psnr對(duì)比
表六.三十二倍壓縮率情況下,msae重構(gòu)圖像的psnr對(duì)比
表七.三十二倍壓縮率情況下,bp重構(gòu)圖像的psnr對(duì)比
表二到表六顯示了8、16、32倍壓縮倍率下ann模型和msae模型重構(gòu)圖像的psnr值。表格2中每一行為一次實(shí)驗(yàn),其中第一行的第二列是測(cè)試圖像,第二行第一列是測(cè)試圖像,第三行的第三列是測(cè)試圖像,第四行第四列是測(cè)試圖,第五行的第五列是測(cè)試圖像,同一行其他列為訓(xùn)練圖像,表格3-6的測(cè)試圖像與表格2的情況相同。
實(shí)驗(yàn)結(jié)果表明,除了個(gè)別的實(shí)驗(yàn)誤差,大體趨勢(shì)都是測(cè)試樣本比訓(xùn)練樣本所重構(gòu)的圖像psnr值要低,質(zhì)量要差,而重構(gòu)圖像的psnr值相互之間差別不大。在相同壓縮比的情況下,msae模型的重構(gòu)圖像比ann模型重構(gòu)圖像的psnr值高1-3個(gè)db,即使在不同壓縮比情況下,msae模型的重構(gòu)圖像也要比ann模型重構(gòu)圖像的質(zhì)量更好,充分說明了msae模型的特征提取能力和適應(yīng)性更強(qiáng),模型穩(wěn)定性更高。
綜合上述實(shí)驗(yàn)結(jié)果的比較,k-means加msae網(wǎng)絡(luò)的混合壓縮模型在圖像壓縮和重構(gòu)上比ann網(wǎng)絡(luò)取得了更好的重構(gòu)效果,在相同壓縮比情況下,圖像保留的特征更加全面,圖像失真小,而且在不同的壓縮比情況下,也有非常好的表現(xiàn),這說明了深度學(xué)習(xí)模型比淺層學(xué)習(xí)模型在特征提取方面有著明顯的優(yōu)勢(shì),更加符生理上人腦的神經(jīng)網(wǎng)絡(luò)多層結(jié)構(gòu),同時(shí)也證明了把深度學(xué)習(xí)模型運(yùn)用到圖像壓縮領(lǐng)域是切實(shí)可行的,msae模型有較強(qiáng)的容錯(cuò)性,任何局部的損壞不會(huì)影響整體結(jié)果,這一特性有助于對(duì)有噪圖像的數(shù)據(jù)壓縮及對(duì)壓縮后信息不全圖像的恢復(fù)。另外,msae網(wǎng)絡(luò)的大規(guī)模并行處理能力,為圖像編碼的實(shí)時(shí)實(shí)現(xiàn)創(chuàng)造了條件。