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