鄒強+韓濤+張杰
摘 要 BP神經網絡模型是一種發展較為成熟的網絡模型,近年來在數字圖像處理領域獲得了廣泛應用,尤其在圖像壓縮方面更有其先天的優勢性。文章在介紹BP網絡模型的基礎上分析了基于BP網絡的圖像壓縮原理與過程,并在Matlab平臺上對靜態灰度圖像壓縮進行了仿真實驗,結果表明所設計的BP網絡具有不錯的泛化能力,用于圖像壓縮的效果較好。
關鍵詞 BP神經網絡;圖像壓縮;Matlab神經網絡工具箱;仿真
中圖分類號:TP391 文獻標識碼:A 文章編號:1671-7597(2014)02-0140-02
隨著信息數字化時代的來臨,計算機能更加靈活的綜合處理文字、聲音、圖像與視頻等多媒體信息,這從一定程度上豐富并改善了人們的生產生活方式,同時也為計算機產業的發展開辟了廣闊的市場。圖像作為主要的多媒體元素之一,具有直觀準確、信息含量大、易存儲可壓縮、特征豐富等特點。圖像信息的數字化處理及應用在醫療教育、國土資源、環境監測、工業化管控、遠程視頻會議等發揮了重大作用。但是圖像數字化后的信息量與日俱增也給圖像的存儲與遠程傳輸提出了重大挑戰,單純地增加介質存儲容量與傳輸信道帶寬并不能徹底解決問題,因而圖像的壓縮處理是必不可少的。近年來數字圖像壓縮技術作為數字圖像處理技術的重要組成部分,取得了長足的發展,尤其在編碼算法方面異彩紛呈。本文在闡述BP神經網絡的圖像壓縮原理基礎上,仿真實現了基于BP神經網絡的靜態灰度圖像壓縮。
1 基于BP神經網絡的圖像壓縮
1.1 BP神經網絡模型結構與訓練原理
BP網絡是目前發展較為成熟的神經網絡模型之一,是一種利用非線性可微分函數進行權值修正與調整的多層前饋人工神經網絡,能通過嚴謹的數學理論進行推理驗證,在模式識別、函數逼近、數據壓縮等方面獲得了廣泛應用與認同。BP網絡算法的主要特點是輸入信號正向傳遞,誤差反向傳播。BP網絡的學習訓練算法的實質是把樣本集合的輸入輸問題變換為一個非線性優化問題。其網絡結構分為輸入層、隱含層、輸出層等三層。一個典型的BP神經網絡模型結構如圖1。
圖1 一個典型的BP網絡模型結構
BP神經網絡訓練過程常包含以下幾個步驟:①BP神經網絡的初始化:根據具體問題抽取的樣本輸入輸出向量集合系列確定輸入層神經元節點數n1、隱含層神經元節點數n2及輸出層神經元節點數n3;初始化輸入層、隱含層與輸出層三層神經元間的連接權值wij、wjk,并初始化隱含層閾值θ1與輸出層閾值θ2,給定學習率α與神經元激活函數。②根據樣本的輸入向量X,輸入層與隱含層間權值的wij及隱含層的閾值θj計算隱含層的輸出Hj。j=1,2,…L式中,L為隱含層節點數;f為隱含層激活函數。③根據隱含層輸出Hj,隱含層與輸出層間的權值wjk和輸出層閾值θk計算輸出層的輸出Ok。k=1,2,…M。④根據預測的輸出Ok與期望輸出Y計算網絡的預測誤差e。e=Y-Ok k=1,2,…M。⑤根據誤差e對連接權值wij、wjk和閾值θ1、θ2進行更新。i=1,2,…n;j=1,2,…L。j=1,2,…L;k=1,2,…M。⑥判斷訓練算法是否迭代結束,若沒有則返回步驟②繼續進行。
1.2 BP神經網絡的圖像壓縮原理
數字圖像壓縮是以較少的比特數有損或者無損地表示原來的像素矩陣的一種圖像處理技術,其目的是減少圖像數據中的時間冗余、空間冗余、頻譜冗余等一種或多種冗余信息而達到更加高效的存儲與傳輸數據。圖像壓縮系統無論采用什么具體的結構或者技術方法,其基本過程卻是一致的,可概括為如圖2所示的流程圖,包括編碼、量化、解碼等三個環節。
圖2 圖像壓縮基本流程
從理論上講,編解碼問題可以歸納為映射與優化問題,而人工神經網絡從數學上分析就是實現了從輸入到輸出的一個非線性映射關系,并具有高度并行處理能力、較高的容錯性與魯棒性。分析圖像壓縮的基本原理、環節與BP的網絡結構分布,可得出基于BP網絡的圖像壓縮原理如圖3所示。
圖3 基于BP網絡的圖像壓縮原理
在BP網絡中,輸入層到隱含層之間的映射關系相當于編碼器,用于對圖像信號進行線性或者非線性變換。而隱含層到輸出層之間的映射關系相當于解碼器,通過對壓縮后的信號數據進行反變換以達到重建圖像數據。壓縮比率S=輸入層神經元節點數/隱含層神經元節點數。BP神經網絡的輸入層與輸出層的神經元節點數目從理論上應該是一致的,而隱含層的神經元數目比輸入輸出層地數目要少的多。這樣理論上可通過調節隱含層神經元節點數目可達到不同圖像壓縮比效果。
2 基于Matlab平臺的BP網絡圖像壓縮過程分析
在Matlab平臺上應用BP神經網絡對數字圖像進行壓縮主要包括訓練樣本構造、及仿真與圖像重建等以下環節。
2.1 網絡訓練樣本的構造
考慮到須將整幅圖像中的所有像素數據都作為BP網絡的輸入數據,為控制整個網絡的訓練規模及訓練速度,對圖像數據進行分塊化處理,但同時考慮到鄰近像素間的相關性及差異性,因而小圖像塊所占像素數不宜過大。假設一副圖像由N×N個像素構成,將整幅圖像分割為M個規則小圖像塊,其中每個圖像塊由n×n個像素組成,將每個小圖像塊的數據重構為一個列向量,作為網絡的訓練樣本向量。在使用BP網絡進行圖像壓縮前,需對樣本向量進行歸一化數據處理。常用的歸一化處理方法很多,本文采用最值線性函數轉換法。其函數表達式如下式:
式中,分別是轉換前后的數據值,分別為數據集合中的最小值與最大值。通過以上歸一化處理手段,可將每個訓練向量的像素值歸一到[0,1]的范圍內。
2.2 仿真與圖像重建
在創建并訓練好符合條件的BP網絡后,可借助仿真預測函數Sim對歸一化處理后的圖像向量數據進行仿真壓縮,輸出仿真向量,然后通過圖像重建處理重新還原為一幅完整的圖像數據。
3 Matlab平臺上仿真實現及實驗分析
圖4 原始圖像
本文以靜態灰度圖像作為實驗研究對象,以大小為256×256的一幅灰色圖像數據為例,如圖4所示。為控制網絡訓練規模及時間,首先將整幅圖像分割成大小為4×4的小圖像塊,再將每個小圖像塊轉化為16×1的列向量,統一歸一化處理后作為網絡的輸入訓練樣本。按照以上基于BP網絡的圖像壓縮過程的分析,先創建BP網絡,對相關參數進行適應性調整后,確定網絡收斂結束的條件對網絡進行訓練。應用訓練效果最佳的兩組BP網絡對圖像進行仿真壓縮并重建,其中第一組壓縮比為4,第二組壓縮比為2,仿真重建結果如圖5、6所示。
從圖5、6壓縮后重建的圖像視覺效果來看,隱含層的神經元節點數在一定范圍內影響了圖像的壓縮效果,當隱含層節點數較多時,壓縮比較低,壓縮后重建的圖像質量較好;但是從多次實驗的過程來看,這種影響不是成線性比例的。同時網絡訓練的好壞也對圖像壓縮的質量效果有顯著影響。
圖5 S=4的壓縮圖像
圖6 S=2的壓縮圖像
4 結束語
本文基于BP神經網絡模型對靜態灰度圖像進行了圖像壓縮的研究,并在Matlab平臺進行了仿真實現,訓練出的網絡的圖像壓縮效果較好。基于BP神經網絡的圖像壓縮編碼是一種有損壓縮編碼,它不是借助圖像數據中的統計信息冗余進行壓縮,因而在一定程度上犧牲了圖像的細節。
參考文獻
[1]賈永紅.數字圖像處理[M].武漢:武漢大學出版社,2003.
[2]蔣宗禮.人工神經網絡導論[M].北京:高等教育出版社,2010.
[3]飛思科技產品研發中心.神經網絡理論與MATLAB7實現[M].北京:電子工業出版社,2005.
作者簡介
鄒強(1987-),男,漢族,江西宜春人,助理工程師,碩士研究生,研究方向:近景攝影測量、數字圖像處理、光電測試。
韓濤(1985-),男,漢族,陜西漢中人,助理工程師,碩士研究生,研究方向:近景攝影測量、光電跟蹤測量。
張杰(1983-),男,漢族,江蘇蘇州人,工程師,碩士研究生,研究方向:近景攝影測量、數字圖像處理、光電測試。endprint