張 婷
(福建工程學院 應用技術學院,福建 福州 350001)
伴隨移動互聯(lián)網的快速發(fā)展,智能手機App、PC 端網站和平板電腦已成為用戶使用數(shù)字媒體的重要信息載體。《移動用戶需求與行為調研報告》顯示,超過90%的移動用戶幾乎每天都會使用移動社交App,且人均每天在移動媒體上所花費的時間為1.5 h,70% 以上的用戶會在空閑時間使用移動端App 應用[1-4]。設計類App(例如堆糖、站酷等)主要以圖像搜索為主,因此研究移動端設計類App中圖像識別的相關算法是非常有必要的。
本文先將設計類App 中常見的圖像特征歸納為顏色、紋理、形狀和空間關系等4 類,并構造了4個特征矩陣及以這4 個矩陣為系數(shù)矩陣的一類線性矩陣方程[5]。將App 中的圖像近似搜索匹配問題轉化為求解這類線性矩陣方程是本文研究圖像識別算法的關鍵,如何求解該類矩陣方程是本文研究的重點。修正共軛梯度算法是求解矩陣方程的有效算法[6-7],本文在此算法的基礎上建立求解這類多變量矩陣方程的迭代算法,當方程有解時,根據(jù)該算法可以求得此類方程的解,則在已知圖庫中可以找到匹配的圖像;當方程無解時,可以求該方程的最小二乘解,則能在已知圖庫中找到最相似的圖像。該算法的建立,能更好地解決設計類App中圖像識別近似匹配的問題。
在設計類App圖像識別的過程中,圖像信息的獲取主要是通過用戶在手機前端所選擇的某一感興趣的區(qū)域圖像進行近似匹配。首先需要將圖像信息抽象化,根據(jù)圖像的顏色特征、紋理特征、形狀特征和空間關系特征,分別構造圖像的顏色特征矩陣、紋理特征矩陣、形狀特征矩陣和空間關系特征矩陣,并分別記為A、B、C、D,獲取到的目標區(qū)域圖像矩陣記為E。其中,A、B、C、D、E均為n階方陣。
顏色矩是一種簡單有效的顏色特征表示方法,有一階矩(均值,mean)、二階矩(方差,variance)和三階矩(斜度,skewness)等。由于顏色信息主要分布于低階矩中,所以用一階矩、二階矩和三階矩足以表達圖像的顏色分布。顏色矩已被證明可有效地表示圖像中的顏色分布,該方法的優(yōu)點在于不需要顏色空間量化,特征向量維數(shù)低,但通過實驗發(fā)現(xiàn)該方法的檢索效率比較低,因而在實際應用中往往用來過濾圖像以縮小檢索范圍。3個顏色矩的數(shù)學定義如下:
式中,pi,j表示彩色圖像第j個像素的第i個顏色分量;N表示圖像中的像素個數(shù)。
由圖像的3 個分量Y、U、V圖像的前三階顏色矩組成一個多維直方圖向量,即圖像的顏色特征表示為
則顏色特征矩陣為
紋理是一種圖像普遍存在的視覺現(xiàn)象,常見的紋理主要分為自然紋理、人工紋理和混合紋理等3類。描述紋理的參量有粗糙性、方向性、周期性、紋理強度和密度等,紋理描述是跟尺度相關的,紋理特征可以通過色調和結構來描述。本文采用灰度共生矩陣來構造紋理矩陣B。
定義1:從灰度為i的像素點出發(fā),到該像素點的距離為(dx,dy)的另一個像素點的灰度為j的概率,記為P(i,j)。
數(shù)學表達式為
式中,d是用像素數(shù)量表示的相對距離;θ指像素點j與像素點i的相對位置方向;#表示集合;(x,y)為圖像中的像素坐標。在構造紋理矩陣中用反差、能量、熵、相關性等特征量來表示紋理特征矩陣的元素。
其中,反差、能量、熵、相關性的定義分別如下:
由反差、能量、熵、相關性等4 個特征量構造的共生矩陣B為
本文所采用的是形狀不變矩法,利用目標圖像所占區(qū)域的矩作為形狀描述參數(shù)。將目標圖像離散為M×N數(shù)字圖像f(x,y),其中心矩定義為
利用2 階和3 階中心矩可以導出n個具有平移和縮放的不變性的特征集合,將其構造為一個矩陣C。將目標圖像依次縮小為80%、60%、50%、30%等,目標圖像的左右上下平移操作分別用向量ci表示,得到如下的向量ci和矩陣C。
圖像對象空間關系描述在圖像識別近似匹配的研究中是一個重要的因素。所謂空間關系是指圖像中分割出來的多個目標之間的相互的空間位置或相對方向關系,這些關系也可分為連接和鄰接關系,交疊和重疊關系以及包含和包容關系等。對于給定圖像,首先通過圖像分割算法得到n個對象oi(i=1,2,…,n),計算其重心ci(i=1,2,…,n)作為對象的代表點,計算n個重心兩兩之間的距離dij=d(ci,cj),組成距離矩陣D。將圖像中的第一個對象o1與其余包含o1的oi(i=1,2,…,n)的重心距離作為矩陣的第一列,依次類推,可得
圖像識別問題就是根據(jù)所選的區(qū)域圖像,將其二值化為矩陣后,在App圖庫中找到與已知圖像匹配的圖像或最接近的圖像與已知圖像匹配。歸結到數(shù)學問題中,即為矩陣方程求解問題。根據(jù)圖像的顏色特征矩陣、紋理特征矩陣、形狀特征矩陣和空間關系特征矩陣,構造一個含有4 個未知變量矩陣的線性矩陣方程,如式(13)。基于修正共軛梯度算法原理,建立求解這類方程的算法。
其 中,A、B、C、D、F∈Rn×n,用Rm×n表 示m×n實矩陣集合;定義同階實矩陣A與B的內積為(A,B)=tr(ATB),由此導出矩陣的Frobenius 范數(shù)
本文主要討論方程式(13)的兩個問題:
問題Ⅰ:若線性矩陣方程式(13)有解,求(X1,X2,X3,X4)∈Rn×n,使其滿足方程式(13)。
問題Ⅱ:若線性矩陣方程式(13)無解,求(X1,X2,X3,X4)∈Rn×n,使‖AX1+BX2+CX3+DX4-F‖=min。
借鑒共軛梯度算法原理,建立求解問題Ⅰ的修正共軛梯度算法,引入記號:
算法1(問題Ⅰ的修正共軛梯度算法):
Step1:給定初始矩陣X(1)1、X(1)2、X(1)3、X(1)4∈Rn×n,置k:=1,計算
Step2:如果Rk=O,或者Rk≠O而Qk=O,停止計算;否則,計算
Step4:置k:=k+1,轉step2。
下面直接給出算法1 的性質和定理,可以證明算法1在有限步計算之后停止。
當res.data.resultCode返回的為-9999的時候,代表請求資源失敗,res.data.object.resultCode返回的為-9999的時候,代表業(yè)務處理失敗,即‘用戶名或密碼錯誤’,否則代表業(yè)務處理成功。
性質1對于算法1中的矩陣Ri、Q i和,有
性質2設k≥2,對算法1中的矩陣Ri和Q j,有
性質3設是問題Ⅰ的任意一組解,那么對任意初始矩陣由算法1得到的矩陣和Qk滿足
定理1設問題Ⅰ有解,則對任意的初始矩陣算法1可在有限步計算后求得問題Ⅰ的一組解。問題Ⅰ無解的充要條件是存在正整數(shù)k,使得由算法1得到的Rk≠O而Qk=O。
在算法1中,當Rk≠O而Qk=O時算法1中斷,表明方程式(13)無解。因此,求解問題Ⅱ,即求方程式(13)的最小二乘解。通過構造等價線性矩陣方程,將求矩陣方程式(13)最小二乘解問題轉化為求等價正規(guī)方程的解問題,建立求矩陣方程式(13)的最小二乘解的迭代算法。
引入記號:
求解方程式(13)的最小二乘解等價于求矩陣方程式(13)的正規(guī)方程組的解,將方程式(13)按行拉直,則得到方程組Mx=v,其正規(guī)方程組為MTMx=MTv,因為正規(guī)方程組一定有解,所以方程式(13)的最小二乘解一定存在,即問題Ⅱ的解存在。
參照算法1 以及共軛梯度算法原理,建立求矩陣方程u(X)=G的解的算法,即求解問題Ⅱ的MCG算法如下。
算法2(問題Ⅱ的修正共軛梯度算法):
Step1:給定初始矩陣置k:=1,計算
Step2:如果Rk=O,停止計算;否則,計算
Step3:計算
Step4:置k:=k+1,轉step2。
對于算法2有類似于算法1的收斂定理。
定理3對任意的初始矩陣,忽略舍入誤差,則算法2 可在有限步計算后求得問題Ⅱ的一組解,即矩陣方程式(13)的最小二乘解。
用文中建立的算法1 求解矩陣方程式(13)的一組解,其中系數(shù)矩陣A、B、C、D、E均為元素為1的4n階方陣,終止準則為ε=10-12。
選取初始矩陣X1=X2=X3=X4=O4n×4n,按照算法1 可求得矩陣方程式(13)的一組解,計算時間(s)、迭代次數(shù)、實際誤差及解矩陣的范數(shù)如表1(Matlab軟件2014版)所示。
表1 計算結果
當n=1 時,計算得
從表1 可以看出,該算法具有較高的計算效率,當方程有解時,可以得到方程式(13)的一組解,即能在已有的圖庫中找到匹配圖像;當n=1 時,給定一個已知圖像信息矩陣,可以找到顏色特征矩陣、紋理特征矩陣、形狀特征矩陣和空間關系特征矩陣的組合系數(shù)解X1、X2、X3、X4。
本文建立的MCG 算法具有較高的精準度和較快的識別速度,當方程有解時,則該App 算法可在圖庫中找到精準匹配圖像;當方程無解時,可以找到最小二乘解,即算法可找到最接近匹配圖像。該算法在計算機仿真中還需驗證其有效性,在實際應用中,若圖庫中有大量的設計類相似圖像時,如何能更精準找到目標圖像,還需要進一步研究。