蔡鐘山
(福建省特種設備檢驗研究院,福州 350008)
圖像信息數字化越來越多地應用在各行各業中,在視覺機器人中的應用尤為顯著,視覺機器人通過圖像采集并分析可以實現人臉識別、管道泄漏故障排查等重要功能。而圖像數據采集技術面臨的最大技術難題之一是海量圖像數據的存儲和數據傳輸的安全問題,而圖像數據壓縮技術是解決上述問題的重要技術關鍵[1]。圖像壓縮的原理和目的主要是為了減少壓縮前圖像中大量冗余的數據,在保證圖像傳輸速度和質量的前提和條件下才能實現圖像壓縮。近年來,隨著人工神經網絡理論和云計算的進一步發展,人工神經網絡在圖像處理領域上的使用越來越成熟。尤其是BP(Back Propagation)神經網絡,它是一種較為常用的網絡結構,具有多層的前饋網絡結構。本文提出一種基于BP神經網絡的視覺機器人圖像壓縮技術,通過仿真試驗選用合適的隱含層數可得到最優重建圖像的質量,具有一定的工程用于價值。
圖像壓縮技術是現代多媒體及通信網絡的關鍵技術之一,其步驟為變換、歸一化和熵編碼[2]。人工神經網絡模仿人體神經系統的工作機理,近年來關于它的研究獲得了很好的進展,已成為一種興起的信息處理學科,在多個領域均有較好的應用,BP神經網絡是其中最常用的模型之一。BP神經網絡的魯棒性高、容錯性強,被用于圖像壓縮可以有效減少圖像數據的存儲量和數據率,最終可以減少傳輸帶寬[2]。
圖1 BP算法流程圖
BP神經網絡算法過程如圖1所示,先將特征量信息傳輸到輸入層,輸入層輸出再經過隱含層后得到中間值,最終經輸出層輸出,同時計算各單元的實際輸出。若系統期望輸出層的實際輸出值與網絡期望輸出值的誤差值過大或超出范圍,訓練的次數在未達到最大訓練次數的情況下,逐層遞歸準確地自動計算實際輸出與網絡期望輸出的誤差值,再根據此誤差值自動調節3層網絡之間的權值和偏置,直到實際網絡輸出值與期望值的輸出誤差滿足系統的設定值或者訓練次數達到最大訓練次數,則網絡自動停止訓練[3]。
本文選用收斂速度較快的3層BP神經網絡,其應用于圖像壓縮的基本原理:將原始圖像數據經網絡輸入層輸出經網絡隱含層得到壓縮編碼,壓縮編碼數據到達網絡輸出層后解碼得到壓縮圖像數據。輸入層與隱含層的加權值等同于圖像編碼器,隱含層與輸出層加權值等同于圖像解碼器,通過不斷重復調節網絡的加權值,使得壓縮后的圖像與期望的圖像的誤差偏差值達到目標值,停止訓練。BP神經網絡的3層結構及編碼解碼過程如圖2、3所示。
圖2 用多層前饋神經網絡實現數據壓縮的基本思想
圖3 采用BP網絡進行數據壓縮
圖像壓縮比=圖像輸入層的神經元數/圖像隱含層的神經元數。在輸入層神經元數不變的情況下,隱含層的神經元數越大,壓縮比越小。
BP神經網絡用于圖像壓縮所需的步驟如圖4所示。
圖4 BP神經網絡圖像壓縮步驟
若將一幅圖像的所有像素點都作為壓縮網絡的輸入,所需的BP神經網絡規模將很大,勢必造成神經網絡的訓練時間長且無法收斂的結果。需要將圖像進行劃分,適當選擇輸入數據大小,構造合適的網絡訓練樣本是前提條件。假設原始圖像有N×N個像素點,為了減小輸入圖像的數據,劃分成M個子圖像,每個子圖像由p×p的子像素塊構成[5],如圖5所示。再對像素進行歸一化處理,得到訓練樣本。
圖5 圖像劃分示意圖(圖像→圖像子塊→像素塊)
訓練學習算法分為快速和慢速算法兩大類,其中慢速算法主要有梯度下降法,算法簡單,但是收斂速度慢,影響圖像傳輸速率;因此本文選用快速算法中的Levenberg-Marquardt算法[6],其優勢在于收斂速度比較快,是目前為止BP神經網絡訓練算法中速度最快算法之一。
圖像壓縮質量評價一般分為主觀評價和客觀評價,本文選用客觀評價體系,客觀評價體系更貼近事實,非用肉眼觀察??陀^評價一般采用圖像相似度SSIM和峰值信噪比PNSR,圖像質量與圖像相似度和峰值信噪比成正相關性。相似度的范圍為0~1,當兩張圖像相似度越高時,SSIM的值越靠近1。峰值信噪比PNSR的單位是dB,其典型比值一般在30~40 dB,分貝值越大,重構圖像的質量越好。
以某視覺機器人拍攝回來的圖像為例,BP網絡運用LM算法進行訓練,設置訓練樣本數為500,輸入網絡神經元數ni=16,輸出網絡神經元數為nk=16,隱含層神經元數為n,設定網絡的目標誤差MSE為0.001。
在BP網絡中,隱含層神經元數n的選擇非常重要,本文針對不同隱含層神經元數1~16進行對比仿真,選出最優的隱含層神經元數,在圖像質量較優的情況下提高壓縮比。
如圖6所示,隱含層神經元數為1時,訓練500次無法收斂,MSE為0.004,無法達到目標誤差值0.001。而隱含層神經元數為4時,在第8次就達到目標值,很快收斂。
圖6 訓練收斂代數Epoch與MSE關系圖
隱含層神經元數n與MSE和訓練時間關系以及與圖像質量關系如圖7、8所示,由圖可知:
(1)當隱含層神經元數大于或等于4,MSE均能達到目標誤差值0.001,都能實現收斂;
(2)當隱含層神經元數為1時,訓練時間最長,無法滿期望誤差值,達到最大訓練次數停止訓練;
(3)當隱含層神經元數為4時,在未達到訓練次數時先滿足期望誤差值,所以訓練時間最短;
圖7 隱含層神經元數n與MSE和訓練時間關系
圖8 隱含層神經元數n與圖像質量關系
(4)經過對比16組仿真數據,隱含層神經元數為4時的壓縮前后圖像的相似度最高,達到92%;峰值信噪比最大為36.3 dB,圖形質量最優,如圖9所示。在保證圖像質量的前提下,壓縮比為4∶1,很好地將圖像壓縮,抑制圖像噪聲,有效提高圖像傳輸速度和容錯性[8]。
圖9 隱含層神經元數為4時壓縮前后的圖像對比圖
本文介紹BP神經網絡在圖像壓縮中的應用,神經網絡選用LM訓練算法,通過仿真試驗選用合適的隱含層數得到最優重建圖像的質量。通過探討隱含層神經元數對神經收斂時間和圖像質量的影響,最終選出最優隱含層神經元數,既能滿足圖像質量,又能提高壓縮比,有利于視覺機器人圖像采集傳輸的實時性和魯棒性,具有較好的工程應用價值。