酈麗華LI Li-hua
(浙江育英職業(yè)技術(shù)學(xué)院,杭州 310018)
Pearlma WA等人提出了將編碼思想和快速小波變換為基礎(chǔ)的SPIHT算法,作為現(xiàn)代國際圖像變換編碼的領(lǐng)先方法,此算法基于分割排序和零樹集合,使待量化編碼小波系數(shù)劃分成為3個集合列表,利用排序、初始化、量化、細(xì)化步長對子過程進(jìn)行更新,實現(xiàn)編碼嵌入。SPIHT編碼結(jié)構(gòu)簡單,并且不需要任何的訓(xùn)練,還能夠支持多碼率。然而,通過理論分析與實驗結(jié)果分析,此算法也存在部分問題,例如:在小波變換時,要求結(jié)合圖像數(shù)據(jù)開展卷積運算,計算比較復(fù)雜,需要的內(nèi)存空間比較大;分割排序與零數(shù)集合復(fù)雜,信噪比較高;存在較大的計算量,提高編碼速度;算法編碼階段關(guān)聯(lián)模型比較簡單,通過有限關(guān)聯(lián)信息對節(jié)點狀態(tài)進(jìn)行預(yù)測,影響壓縮能力[1]。因此,本文提出了基于四叉樹算法的圖像實時識別模型[2],通過此算法定義SPIHT編碼算法和小波變換,解決多級樹集合分裂(Set Partitioning in Hierarchical Trees,SPIHT)編碼算法的編碼速度慢等問題。實驗結(jié)果表示,此算法圖像復(fù)原質(zhì)量、編碼速度等技術(shù)指標(biāo)比SPIHT等編碼算法要優(yōu),應(yīng)用前景廣闊。
四叉樹分解能夠劃分原始圖像為多個小塊,在同個小塊中劃分一致性像素,此小塊大部分都是方塊,只有少部分為三角形或者長方形。通過圖像歸一化實現(xiàn)圖像四叉樹分解,利用簡單縮放使圖像轉(zhuǎn)變?yōu)榉叫?,像素點數(shù)為2的整數(shù)次冪,對四叉樹進(jìn)行分解。
分解四叉樹的具體過程如下:將原始圖像劃分成為原始子塊,如果子塊能夠滿足使一致性標(biāo)準(zhǔn)要求,則存儲整體子塊像素值,否則把方形原始圖像劃分成為大小相同的4個子方塊?,F(xiàn)代一致性的檢驗標(biāo)準(zhǔn)多,包括紋理特征與QRH。本文使用標(biāo)準(zhǔn)差為一致性校驗標(biāo)準(zhǔn),此算法復(fù)雜度比較低,并且算法比較簡單,能夠?qū)⒆訅K中圖像邊緣算法等優(yōu)勢展現(xiàn)出來,分割效果如圖1所示。
圖1 圖像的分割效果
在存儲四叉樹時,要保存四叉樹結(jié)構(gòu)信息和葉子節(jié)點顏色信息。指針中各節(jié)點要對指針場進(jìn)行存儲,在存儲三元組時,要將每個節(jié)點層次L和此層的位置(X,Y)指出。但是此方法要求大量的存儲空間。
為了解決原四叉樹結(jié)構(gòu)編碼中模版只能夠代表有限的結(jié)構(gòu)類型,并且樹深度最多只能夠達(dá)到三層等問題,本文對算法進(jìn)行了改進(jìn),得到超過兩次的四叉樹分解,思想表示為:首先,對目前塊進(jìn)行四叉樹分解,直到將全部進(jìn)行分解;其次,根據(jù)上述編碼規(guī)則實現(xiàn)分解。數(shù)的編碼結(jié)構(gòu)如圖2所示,Layer1中的模塊(D0,D1,d1,d2,d3,d4)和圖中110011對應(yīng)。并且d1,d2,d3,d4不是葉子節(jié)點,而用于表示是否又子樹。如果為1,那么子樹的數(shù)量就是4棵,節(jié)點為另外4棵樹的根。如果圖片需要分解,最終編碼為110011000100000。
圖2 數(shù)的編碼示意圖
在實現(xiàn)樹結(jié)構(gòu)編碼信息之后,通過簡單層次遍歷使其轉(zhuǎn)變成為物理存儲方式。在實際編碼過程中,對最后一層0結(jié)構(gòu)信息不進(jìn)行存儲,以便壓縮存儲空間。經(jīng)過實驗驗證,對于一個需要兩次及兩次以上分解的圖像,平均每個結(jié)點的顏色信息僅需要0.03bit就可以存儲其位置信息。如果圖像要分解兩次以下,此方法退化成為原本算法,也就是每個節(jié)點顏色信息存儲信息位置[3]。
在分割圖像區(qū)域過程中,利用四叉樹分裂合并的方法實現(xiàn)圖像區(qū)域的分割,圖3為四叉樹分解。假如R表示整幅數(shù)字圖像,那么將R分解成為4個大小一樣的子區(qū)域Ri(i=1,2,3,4)。針對此區(qū)域,圖像并沒有某種相同屬性,說明此區(qū)域劃分成為4個相同區(qū)域Rij(i=1,2,3,4;j=1,2,3,4),依次實現(xiàn)各子區(qū)域的分裂,直到無法再分裂。在分裂過程中,針對相鄰子區(qū)域,假如具備某種相同屬性,就要合并區(qū)域,避免某屬性子區(qū)域劃分成為不同區(qū)域,直到無法合并和分裂,實現(xiàn)圖像分割。
圖3 四叉樹分解
算法思想指的是對尺度空間極值點進(jìn)行檢測,確定尺度與位置,實現(xiàn)特征點描述子的生成。將算法思想為基礎(chǔ)實現(xiàn)SIF特征向量的生成,對兩幅圖像中關(guān)鍵點相似性的生成,此種判定指的是通過兩幅圖像特征向量歐式距離進(jìn)行度量。在判定兩個關(guān)鍵點的時候,根據(jù)目前歐氏距離和最小距離相除,假如比設(shè)定值要小,那么匹配兩個關(guān)鍵點。逐漸降低設(shè)定閾值,滿足匹配關(guān)鍵點也會降低,但是會更加穩(wěn)定。
通過四叉樹分裂合并與局部特征算法特點提出了基于特征融合與四叉樹的圖像識別措施,利用四叉樹對圖像區(qū)域進(jìn)行分割,之后提取分割圖像的顏色直方圖信息,根據(jù)局部特征SIFT算法提取特征精度,實現(xiàn)特征信息的融合,對圖像特征具有更好的辨識[4]。
基于四叉樹分割量化的編碼算法步驟為:
其一,對原始圖像的L級整型進(jìn)行小波變換,得出3L個高頻子帶和1個最低頻子帶;
其二,將最低子帶LL的編碼得到實現(xiàn),對高頻子帶實現(xiàn)四叉樹分割量化編碼;
其三,根據(jù)關(guān)聯(lián)模型進(jìn)行算術(shù)編碼。
根據(jù)SIFT算法實現(xiàn)高頻子帶四叉樹分割量化編碼,但是要對說明部分重新定義,也就是C(i,j)-像素點(i,j),Ts指的是帶s的小波系數(shù)四叉樹。Ts[l](i,j)指的是四叉樹的節(jié)點值:
m(i,j)指的是最重要位,s(i,j)指的是四叉樹節(jié)點重要性程度。重要性測試函數(shù)定義為:
圖4為四叉樹增長與剪枝結(jié)構(gòu),最上層為原始父節(jié)點,第二層為子節(jié)點,第三層為孫節(jié)點,以此類推。父節(jié)點的選擇對最終增長結(jié)果并沒有太大的影響,但是會影響到區(qū)域增長過程。一般在目標(biāo)圖像中選擇父節(jié)點,對于容易確定的目標(biāo)圖像可以使圖像分割速度加快。而對于不確定多目標(biāo)的圖像,沒有分割的原始像素點,一般都能夠作為對應(yīng)目標(biāo)的父節(jié)點。分割正副圖像,分割結(jié)果使背景作為特殊目標(biāo),對目標(biāo)灰度與大小進(jìn)行判斷,區(qū)分背景[5]。
圖4 四叉樹增長與剪枝結(jié)構(gòu)
在四叉樹增長的過程中,要剪除部分沒有滿足進(jìn)一步增長需求的子節(jié)點。要剔除自身為父輩切點的部分子節(jié)點。剔除部分為同輩中先增長的節(jié)點。通過圖5可以看出來,在增長時的子節(jié)點和父輩、同輩的子節(jié)點關(guān)系。一般剪枝條件如下:
其一,子節(jié)點無法滿足繼續(xù)增長條件;
其二,子節(jié)點中具有父輩節(jié)點;
其三,子節(jié)點中包括已經(jīng)增長的同輩子節(jié)點。
在全部子節(jié)點被剪枝的時候,終止增長過程,從而分割目標(biāo)。
密度估計指的是以樣本集推斷總體概率分布的方法,是數(shù)據(jù)分析方法之一。密度估計有非參數(shù)估計和參數(shù)估計兩種方式,參數(shù)估計能夠使用少量簡單參數(shù)對總體分布進(jìn)行描述,但是要求得到樣本所屬類別和類條件總體概率密度形式。非參數(shù)估計能夠描述未知總體概率密度函數(shù)的方式,但是計算比較復(fù)雜,存儲空間耗費比較大。在基于四叉樹分塊密度估計模型中,四叉樹分塊算法便于使用單一類別的均勻分布與高斯分布進(jìn)行描述,能夠?qū)ο袼鼗叶戎迪嗨菩赃M(jìn)行保證。如果需要避免全局特征和其他分塊算法在局部特征估計中的樣本類別比較多,降低參數(shù)估計描述精準(zhǔn)度,就必須使用非參數(shù)估計情況[6]。
本文使用單高斯分布描述每塊像素灰度值,單高斯分布對數(shù)似然函數(shù):
公式中的X指的是分塊像素集,D指的是圖像通道數(shù),N指的是像素個數(shù)。μ參指的灰度均值,∑指的是通道之間的協(xié)方差陣。
圖5為仿真樣本,表1為試驗仿真樣本特征值,實現(xiàn)特征值局部離散化并且利用此屬性約簡算法進(jìn)行約簡。設(shè)計網(wǎng)絡(luò)結(jié)構(gòu),使用多輸入單輸出三層結(jié)構(gòu),輸出層以特征向量輸出設(shè)置16個節(jié)點,規(guī)則層節(jié)點設(shè)置為10,和需要分類數(shù)字一樣,輸出層設(shè)置為1,激勵函數(shù)為purelin和logsig,學(xué)習(xí)函數(shù)為learngdm,誤差率為0.001,學(xué)習(xí)速率為0.05。
圖5 仿真樣本
表1 試驗仿真樣本特征值
訓(xùn)練結(jié)果分析:提取特征值通過四叉樹算法約簡前后的維數(shù)不同,所以約簡前后網(wǎng)絡(luò)訓(xùn)練曲線不同,對于沒有通過處理和通過處理的樣本訓(xùn)練[7]。通過仿真結(jié)果表示,在誤差精度相同的條件下,利用四叉樹算法的網(wǎng)絡(luò)能夠滿足收斂需求,迭代次數(shù)為885次,沒有優(yōu)化的網(wǎng)絡(luò)迭代書數(shù)為2976次,減少訓(xùn)練次數(shù),節(jié)約大量時間。
通過訓(xùn)練樣本與測試集樣本選擇40副圖片,劃分成為4組,每組添加密度0.01、0.02、0.03、0.04的隨機椒鹽噪聲與方差0.01、0.02、0.03、0.04的高斯噪聲,測試添加之后的樣本,表2為抗噪聲能力測試表。
通過表2可以看出來,如果噪聲密度不大,對于污染的圖片具有良好識別效果,表示圖像識別模型抗噪聲能力較強。
表2 抗噪聲能力測試表
表3為識別速率測試結(jié)果,通過表3可以看出,本文算法的運算速率比其他兩種要優(yōu),是因為此算法能夠?qū)θ哂嗵卣骱喖s,降低網(wǎng)絡(luò)訓(xùn)練時間,系統(tǒng)實時性良好。
表3 識別速率測試結(jié)果
通過訓(xùn)練樣本與測試集樣本選擇40副圖片劃分成為四組,每組旋轉(zhuǎn)1°、2°、3°、4°,測試旋轉(zhuǎn)之后的圖片,表4為旋轉(zhuǎn)自適應(yīng)測試表。之后,對每組樣本分別放大1倍、1.5倍和縮小到原來的1/2、1/3,測試放大和縮小的圖片,表5為縮放自適應(yīng)測試表。通過表4和表5可以看出來,系統(tǒng)對于旋轉(zhuǎn)和縮放之后的圖片識別效果良好,表示系統(tǒng)具備良好自適應(yīng)性,所提取特征有效[8]。
表4 旋轉(zhuǎn)自適應(yīng)測試表
表5 縮放自適應(yīng)測試表
本文通過四叉樹分裂合并提出了基于四叉樹算法的圖像識別與特征提取方法,能夠通過四叉樹實現(xiàn)圖像區(qū)域分割,對圖像區(qū)域中的信息提取并且識別。通過對算法模型進(jìn)行驗證,表示本文的方法能夠滿足實際需求。