?

基于BP神經網絡學習算法的圖像壓縮技術研究

2020-07-08 07:23李亞文何建強
商洛學院學報 2020年4期
關鍵詞:子塊隱層權值

李亞文,何建強

(商洛學院電子信息與電氣工程學院,陜西商洛 726000)

為了降低傳輸成本和提高傳輸速度,在圖像進行傳輸之前,都要經過圖像壓縮去除冗余信息,圖像壓縮技術的關鍵就是盡量用少的數據量表示圖像本身的信息。圖像壓縮算法較多,主要包括兩類[1-2]:一類是冗余度壓縮法,另一種是熵壓縮,如:預測編碼、變換編碼等。哈夫曼提出構造編碼的壓縮方式,JPEG是一種基于差分預測編碼的無損編碼,DCT(離散余弦變換)和多種基于小波變換的圖像壓縮算法是有損編碼,后來還有學者提出一種基于Haar小波變換的快速圖像壓縮算法[3]和基于字典模型壓縮方法[4]等。人工神經網絡模擬了人腦結構思維,其特色在于信息的分布式存儲和并行協同處理,BP(Back Propagation)神經網絡是人工神經網絡中應用最廣泛的一種,是1986年由RUMELHART和MCCELLAND為首的科學家小組提出,是一種按誤差逆傳播算法訓練的多層前饋網絡,它的學習規則是使用最速下降法,通過反向傳播不斷調整網絡的權值和閾值,使網絡的誤差平方和最小。本文將BP神經網絡算法應用于圖像壓縮中,控制網絡模型結構,進行分塊運算,并進行了算法的實驗仿真實現。

1 BP神經網絡

BP網絡可以解決那些無法用直觀編程實現的事情,無法思考到其中的每一個步驟是怎樣的機制,但是最終的數據可以直觀得到,BP網絡把學習和存貯的過程,大量地輸入輸出關系模式一一映射出來,不需要把映射關系提前揭曉。信號在傳播的過程中,包括一個正向學習過程和一個誤差反向學習過程,這個過程是反復進行的,不斷循環形成一個網絡訓練學習過程,這就是BP神經網絡算法的基本原理,正向傳播是由輸入層到隱層的一個過程,反向傳播是輸出層到隱層的一個誤差反傳過程[5]。

1.1 BP神經網絡模型

BP算法的多層前饋網絡可以看作是目前最廣泛的神經網絡,以較大的比率應用于生活中,當然單隱層網絡更為普遍地應用于語言神經網絡中。BP神經網絡模型如圖1所示,主要由輸入層、隱層和輸出層三部分組成[6]。

圖1 三層BP網絡模型

三層的網絡中,輸入向量X=(x1,x2,…,xi,…,xn)T,比如加入x0=-1,此時,可以為隱層引入閾值;隱層輸出向量為Y=(y1,y2,…,yi,…,ym)T,如加入y0=-1可為輸出層引入閾值;輸出層輸出向量為O=(o1,o2,…,ok,…,ol)T;期望輸出向量為D=(d1,d2,…,dk,…,dl)T。輸入層到隱層間的權值矩陣用V表示,V=(v1,v2,…,vj,…,vm)T,其中vj為隱層第J個神經元對應的權向量;隱層到輸出層間,權值矩陣用W表示,W=(w1,w2,…,wk,…,wn)T,其中Wk為輸出層第k個神經元對應的權向量[7]。

對于輸出層有:

式(1)~式(6)共同構成了BP網絡模型。

1.2 BP學習算法

構建BP網絡模型后,實際的輸出與期望輸出的是完全一致,必定會存在一個網絡誤差E,改變誤差可以通過調整權值實現,要使得權值調整與誤差負梯度成正比例關系,那么有:

負號表示梯度下降,常數η∈(0,1)表示比例系數[9],是學習速率的體現。

式(7)和式(8)是對數學表達權值思路做出的調整,并非是計算式的表達,在整個三層算法的推導過程中,對于輸出層有j=1,2,…,m;k=1,2,…,l;對隱層有i=0,1,2,…,n;j=1,2,…,m。就輸出層式(7)可以寫成:

隱層,式(8)可寫為:

輸出層與隱層各定義一個誤差信號,令:

因此,可改寫權值調整式(9)為:

權值調整式(10)改寫為[10]:

對于隱層,δyj可展開為:

對于輸出層,可得:

對于隱層,可得:

因此,三層前饋網絡的計算公式:

同時可以得出,BP算法學習過程中,各層權值調整公式大致一樣。

2 BP神經網絡進行圖像壓縮算法流程

BP神經網絡中,輸入層到隱層的映射關系通過編碼器反應出,隱層直到輸出層之間的映射關系,壓縮比率(S)=輸入層神經元個數/隱層神經元節點數。

BP神經網絡應用圖像編碼的壓縮比與輸入層和隱層的節點數有關:

壓縮比=輸入層節點數(n)/隱層節點數(m)

網絡設計主要包括:輸入節點、層數、輸出節點、每層激活函數、激活函數的確定、隱層節點數的確定。

1)輸入/輸出節點輸入/輸出節點是與樣本直接相關的。本文用于壓縮的原始圖像均選為256×256的標準圖像。

層數:為了獲得好的壓縮圖像,使用不同的隱層層數來實現。

每層激活函數:隱層中一般采取S型的激活函數過程。

隱層節點數:網絡訓練精度的提高可以通過采用一個隱層。

2)初始參數的取值

輸入輸出數據的預處理:預處理采用的方法是歸一化,把網絡的輸入輸出數據限制在[0,1]或[-1,1],BP網絡其隱層使用Sigmoid函數。

BP網絡是把誤差反向傳播算法對網絡權值進行一定訓練多層前饋網絡的過程。其設計便是通過使網絡輸出和樣本輸出之間的網絡權值誤差之前平方和,具體算法實現流程如圖2所示。

圖2 BP算法實現流程圖

3 BP神經網絡學習算法進行圖像壓縮的實現

選取原始圖像為Lena灰度圖像如圖3所示。為簡單起見,設定網絡的最大訓練步數為500,目標誤差0.001,選取的原始圖像大小為256×256,圖像壓縮重建的質量將主要由隱層神經元個數N和子塊大小K的不同來決定。

1)設定隱層神經元個數N為2,選取不同的K(子塊大?。┻M行圖像壓縮。

以圖3(a)原圖為測試對象,分析當N=2時,不同子塊K分別取2、4、8進行圖像壓縮,圖像重建的變化情況如圖3所示。當N=2時,不同子塊大小K分別取2、4、8值時的檢查功能圖如圖4所示。當N=2時,不同子塊大小K分別取2、4、8值時的回歸線圖如圖5所示。

圖3 當N=2時,不同子塊K壓縮重建的圖像

圖4 當N=2時,不同子塊的檢查功能圖

圖5 當N=2時,不同子塊的回歸線

2)固定子塊大小K=2作為標準,選取不同的隱含層神經元個數N值對比壓縮重建圖像效果。以圖 3(a)原圖為壓縮對象,分別選N=1、2、4,壓縮重建結果如圖6所示。

圖6 當子塊K=2,不同隱層神經元個數N的壓縮圖像

圖7是當子塊K=2時,不同隱層神經元個數N=1、2、4時的檢查功能圖,在檢查功能圖中validation checks是防止網絡訓練過適。通常設置的檢查默認值,隨著網絡的訓練次數的增加,確認樣本的誤差曲線連續幾次不再下降,這是訓練終止的條件之一。圖8是當子塊K=2,不同隱層神經元個數N分別取1、2和4的回歸線圖,圖9是當子塊K=2,不同隱層神經元個數N的不同的指標參數指標圖,圖10是當子塊K=2,不同隱層神經元個數N=1、2和4時PSNR(信噪比)參數表圖。

圖7 當子塊K=2,不同隱層神經元個數N的檢查功能

圖8 當子塊K=2,不同隱層神經元個數N的回歸線

圖9 當子塊K=2,不同隱層神經元個數N的參數指標

圖10 當子塊K=2,不同隱層神經元個數N的PSNR參數

4 算法實現結果與分析

4.1 在確定N值時,變化K值

實驗仿真中固定N=2,在不斷增加k值,圖像變得越來越模糊,圖像所占的空間越來越少。T表示壓縮所需時間長短,MSE表示圖像之間的均方誤差,PSNR體現峰值信噪比,Epochs體現訓練步長。由圖5可知,當N=2時,不同子塊大小K分別取2,4,8值,可以明顯觀察到在K減小時,回歸線越接近1,MSE表現出很好的訓練效果。validation checks是防止網絡訓練過適。

由此得出,通過BP神經網絡,圖像壓縮在K越小時,結果越好,均方誤差使得它減少了,不過神經網絡經過了很長的訓練時間過程,只通過軟件進行仿真,真實化很難實現。對網絡訓練時,限定目標誤差為0.001。

4.2 在確定K值時,變化N值

分析圖10可知,固定K=2,N不斷增加時,峰值信噪比(snr)先增大后減小,壓縮率(rate)逐步增,但是N不斷增加時,訓練時間變化與N沒有直接的線性關系??梢钥偨Y出:本文算法中分塊大小k越大,壓縮質量越差,分塊效應越明顯。隱層規模增大時,圖像不一定越清晰。神經網絡的規模與圖像壓縮質量沒有簡單的線性關系。

5 結論

本文分析了BP神經網絡學習算法的原理,在網絡控制誤差范圍內進行網絡分層訓練,分別討論了不同隱層神經網絡層數N和分塊數目K對圖像壓縮質量的影響等,為提高圖像壓縮質量與重建算法提供了重要的理論依據。下一步研究還可以將神經網絡與其他壓縮過程相聯系,比如:神經網絡實現預測編碼過程、圖像塊的壓縮編碼等都可以通過BP神經網絡學習算法實現。

猜你喜歡
子塊隱層權值
基于八叉樹的地震數據分布式存儲與計算
基于RTD可編程邏輯門的n變量函數實現算法
一種融合時間權值和用戶行為序列的電影推薦模型
一種自適應確定隱層節點數的增量半監督超限學習機算法
基于特征值算法的圖像Copy-Move篡改的被動取證方案
CONTENTS
基于兩層分塊GMM-PRS 的流程工業過程運行狀態評價
基于RDPSO結構優化的三隱層BP神經網絡水質預測模型及應用
基于波浪式矩陣置換的稀疏度均衡分塊壓縮感知算法
基于MATLAB的LTE智能天線廣播波束仿真與權值優化
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合