一種異構特征融合的云花卉識別方法
【專利摘要】本發明公開了一種異構特征融合的云花卉識別方法,包括離線訓練過程和花卉識別過程;離線訓練過程首先進行BOW特征與稀疏特征的提取,然后進行特征融合,得到支持向量機分類模板。在融合不同特征提取算法得到的特征時使用優化的多核學習算法,通過核矩陣的疊加以提高分類性能。花卉識別過程中通過負載均衡技術將用戶傳來的花卉圖像分配到云上的某個計算節點,使用離線訓練得到支持向量機分類模板進行花卉識別,本發明的花卉識別方法不僅識別性能高,而且還可以利用后臺強大的云計算平臺提供多并發的花卉識別處理。
【專利說明】一種異構特征融合的云花卉識別方法
【技術領域】
[0001]本發明涉及計算機視覺及模式識別【技術領域】,特別涉及一種異構特征融合的云花卉識別方法。
【背景技術】
[0002]植物分類有著悠久的歷史,其作為一門獨立的學科大約始于17世紀。但對于不具備植物分類的相關知識及經驗的普通人來說,確定某個花卉的種類還是具有一定的困難。在當今社會,移動智能終端廣泛普及,利用其攝像頭可以方便地得到花卉的數字圖像,配合云服務器的強大處理能力,可實現對花卉的即時分類。由此可見,研究對圖片中的花卉進行快速、自動分類具有廣闊的應用前景。
[0003]目前已有一些圖像分類相關的技術和專利,如專利201310698110.5提供了一種基于圖像特征稀疏重構的圖像分類方法。這種方法采用Forester算子對每類樣本圖像提取特征向量并構成初始字典,訓練得到每類樣本圖像的字典,測試時采用稀疏表示系數矩陣重構圖像并比較重構圖像與測試圖像的誤差,根據誤差最小原則判定測試圖像所屬類另IJ。專利201310632737.0提出了一種基于局部邊緣模式的紋理圖像分類方法。這種方法計算原始紋理圖像和不同尺度紋理基元下的局部邊緣模式紋理譜特征,然后串聯得到待分類圖像的總體融合局部邊緣模式紋理譜特征,將待分類圖像歸為Canberra距離最小的訓練圖像所屬的類別。但這些方法通常只提取了圖像的一種特征,沒有充分利用圖像的多種特征,并且沒有考慮在大量請求下的圖像分類性能。
【發明內容】
[0004]為了克服現有技術的上述缺點與不足,本發明的目的在于提供一種異構特征融合的云花卉識別方法,不僅識別性能高,而且還可以利用后臺強大的云計算平臺提供多并發的花卉識別處理。
[0005]本發明的目的通過以下技術方案實現:
[0006]一種異構特征融合的云花卉識別方法,包括以下步驟:
[0007]SI離線訓練過程:
[0008]S1.1對訓練樣本圖像進行BOW (Bag of Word,詞包)特征提取,具體為:
[0009]S1.1.1將訓練樣本圖像從RGB(Red Green Blue,紅綠藍)彩空間轉換成灰度空間;
[0010]S1.1.2對經步驟S1.1.1處理后的訓練樣本圖像提取密集SIFT (Scale-1nvariantfeature transform,旋轉尺度不變特征)特征,對所得SIFT特征使用k均值聚類得到SIFT特征字典,利用SIFT特征字典量化每個訓練樣本圖像的SIFT特征,從而得到訓練樣本圖片的SIFT特征直方圖;
[0011]S1.1.3計算各訓練樣本圖像的SIFT特征直方圖之間的交叉核函數,得到訓練樣本圖像的BOW特征;
[0012]S1.2對所有訓練樣本圖像進行稀疏特征提取,具體為:
[0013]S1.2.1對訓練樣本圖像進行預處理,即將每張訓練樣本圖像分割成多個圖塊,并且每個圖塊去除圖塊的像素平均值;
[0014]S1.2.2對經步驟S1.1.1處理后的所有圖塊,使用K-SVD(k-means — SingularValue Decomposit1n, k均值-奇異值分解)算法,得到稀疏特征的字典;利用稀疏特征字典,使用OMP (Orthogonal Matching Pursuit,正交匹配追尋)算法對步驟S1.2.I得到的圖塊進行稀疏編碼,將訓練樣本圖像利用層次化結構分成N區域,在每個區域內使用最大值抽取(max-pooling),并進行級聯后得到訓練樣本圖像的稀疏編碼結果#為正整數;
[0015]S1.2.3計算各訓練樣本圖像的稀疏編碼結果之間的交叉核函數,得到訓練樣本圖像的稀疏特征;
[0016]S1.3使用多核學習,得到BOW特征和稀疏特征的權重,利用權重將BOW特征和稀疏特征進行加權求和后,得到圖像的總特征,然后送入支持向量機進行訓練,得到支持向量機分類模板;
[0017]其中多核學習方法可參考文獻(L.Guo, L.W.Jin, Laplacian Support vectormachines with mult1-kernel learning, IEICE Trans, on Informat1n&System, E94-D(2)(2011)379-383)。
[0018]S2花卉識別過程:
[0019]S2.1客戶端發送花卉識別請求到云服務器端;
[0020]S2.2云服務器通過負載均衡操作將任務分配至云服務器的計算節點,具體為:
[0021]S2.2.1在云上的每個計算節點上都部署已訓練好的支持向量機分類模板;
[0022]S2.2.2云上的主控制節點接收用戶傳來的待識別花卉圖像,根據用戶的源IP地址進行哈希操作,根據哈希操作的結果轉發到相應的計算節點子集群上;
[0023]S2.2.3子集群的控制節點根據子集群內計算節點的忙碌情況,將請求轉發至最空閑的計算節點,并在最空閑計算節點上啟動進程;
[0024]S2.3最空閑計算節點對用戶傳來的待識別花卉圖像進行識別,具體包括:
[0025]S2.3.1將待識別花卉圖像從RGB色彩空間轉換成灰度色彩空間;
[0026]S2.3.2對步驟S2.3.1得到的灰度圖像提取密集SIFT特征,利用步驟S1.1.2得到的SIFT特征字典進行量化,得到待識別花卉圖像的SIFT特征直方圖;計算待識別花卉圖像的SIFT特征直方圖與訓練樣本圖像的SIFT特征直方圖的交叉核函數,得到待識別花卉圖像的BOW特征;
[0027]S2.3.3對待識別花卉圖像進行預處理,即將待識別花卉圖像分割成多個圖塊;
[0028]S2.3.4利用步驟S1.2.2得到的稀疏特征字典,利用OMP算法對步驟S2.3.3得到的圖塊進行稀疏編碼;將待識別花卉圖像利用層次化結構分成N區域,在每個區域內使用最大值抽取,并進行級聯后得到待識別花卉圖像的稀疏編碼結果;計算待識別花卉圖像和訓練樣本圖像的稀疏編碼結果的交叉核函數,得到待識別花卉圖像的稀疏特征;
[0029]S2.3.5利用S1.3學習得到的權重將待識別花卉圖像的BOW特征和稀疏特征進行加權求和后,得到待識別花卉圖像的總特征,并將總特征送入步驟S1.3得到的分類模板進行分類,得到待識別花卉圖像的分類結果。
[0030]步驟S1.2.1所述對訓練樣本圖像進行預處理,具體為:
[0031]S1.2.1.1對訓練樣本圖像按比例縮放到固定尺寸;
[0032]S1.2.1.2使用一個滑動窗口在經步驟S1.2.1.1處理后的訓練樣本圖像上逐像素移動得到多個圖塊;
[0033]S1.2.1.3每個圖塊去除圖塊的像素平均值。
[0034]步驟所述S2.3.3對待識別花卉圖像進行預處理,將待識別花卉圖像分割成多張圖塊,具體為:
[0035]S2.3.3.1對待識別花卉圖像按比例縮放到固定尺寸;
[0036]S2.3.3.2使用一個滑動窗口在經步驟S2.3.3.1處理后的待識別花卉圖像上逐像素移動得到多個圖塊;
[0037]S2.3.3.3每個圖塊去除圖塊的像素平均值。
[0038]步驟S2.2.2所述哈希操作,具體為:
[0039]根據用戶的源IP地址,取其后16位,得到結果addr,將結果addr代入下式:
[0040]hash = (addr*31) % Μ,其中M為計算節點子集群數,hash為分配到的子集群編號。
[0041]步驟S2.2.3所述的忙碌情況,以每個計算節點完成分類任務所需時間來間接表示;
[0042]所述的忙碌情況具體根據以下過程確定:子集群的控制節點跟蹤下屬的計算節點從收到圖像到返回結果的耗時,得到上一次任務耗時的實際值;并給出下一次任務耗時的估計值,由此確定最空閑的計算節點;
[0043]所述下一次任務耗時的估計值使用老化算法估計,即
[0044]T = a*T0+(l-a) ^T1
[0045]其中,T為下一次任務耗時的估計值,T0為上一次任務耗時的估計值,T1為上一次任務耗時的實際值,a為老化系數。
[0046]步驟S1.2.2所述層次化結構為金字塔結構,即將原始訓練樣本圖像分別均分為2*2和3*3大小,原始大小、2*2和3*3大小的訓練樣本圖像組合形成層次化結構。
[0047]步驟S2.3.4所述層次化結構為金字塔結構,即將原始待識別花卉圖像分別均分為2*2和3*3大小,原始大小、2*2和3*3大小的待識別花卉圖像組合形成層次化結構。
[0048]與現有技術相比,本發明具有以下優點和有益效果:
[0049]本發明的異構特征融合的云花卉識別方法,通過多核學習將不同方法提取的特征融合在一起進行支持向量機的訓練,可以在較短的訓練時間內取得更好的分類性能。本發明的異構特征融合的云花卉識別方法,利用后臺強大的云計算平臺提供多并發的花卉識別處理,通過根據分類請求的IP地址以及計算節點的忙碌情況進行請求的調度,可以在有大量并發請求的環境下實現較好的響應時間和分類性能。
【專利附圖】
【附圖說明】
[0050]圖1為本發明的異構特征融合的云花卉識別方法的離線訓練過程的流程圖。
[0051]圖2為本發明的異構特征融合的云花卉識別方法的BOW特征提取過程的流程圖。
[0052]圖3為本發明的異構特征融合的云花卉識別方法的稀疏特征提取過程的流程圖。
[0053]圖4為本發明的異構特征融合的云花卉識別方法的花卉識別過程的流程圖。
[0054]圖5為本發明的異構特征融合的云花卉識別方法的負載均衡操作的流程圖。
【具體實施方式】
[0055]下面結合實施例,對本發明作進一步地詳細說明,但本發明的實施方式不限于此。
[0056]實施例
[0057]本實施例的異構特征融合的云花卉識別方法,包括以下步驟:
[0058]SI離線訓練過程:如圖1所示,離線訓練過程首先對花卉數據庫中的所有訓練樣本圖像進行BOW特征與稀疏特征的提取,然后進行特征融合。本實施例的花卉數據庫為FloWerl02,包括102個不同的主題目標類別,共8K張花卉圖像,所有圖像放入圖像數據庫,作為訓練樣本集。具體過程如下:
[0059]S1.1對訓練樣本圖像進行BOW特征提取,如圖2所示,具體流程如下:
[0060]S1.1.1將訓練樣本圖像從RGB色彩空間轉換成灰度空間;
[0061]S1.1.2對經步驟S1.1.1處理后的訓練樣本圖像提取密集SIFT特征,采樣間隔為5,采樣尺寸為12 ;對所得SIFT特征使用k-means聚類得到SIFT特征字典,利用SIFT特征字典量化每個訓練樣本圖像的SIFT特征,從而得到訓練樣本圖片的SIFT特征直方圖;
[0062]S1.1.3計算各訓練樣本圖像的SIFT特征直方圖之間的交叉核函數,得到訓練樣本圖像的BOW特征;
[0063]S1.2對所有訓練樣本圖像進行稀疏特征提取,如圖3所示,具體流程如下:
[0064]S1.2.1對訓練樣本圖像進行預處理:
[0065]S1.2.1.1對訓練樣本圖像按比例縮放到固定尺寸,使得縮放后的圖像的寬和高最大為100像素;
[0066]S1.2.1.2使用一個大小為8*8的滑動窗口在經步驟S1.2.1.1處理后的訓練樣本圖像上逐像素移動得到93*93 = 8649個圖像塊,每個圖像塊大小為8*8*3,對所有的小圖塊減去圖塊的均值,即去除直流分量:
[0067]S1.2.2對經步驟S1.1.1處理后的所有圖塊,使用K-SVD算法,得到稀疏特征的字典;利用稀疏特征字典,使用OMP算法對步驟S1.2.1得到的圖塊進行稀疏編碼,將訓練樣本圖像利用層次化結構分成N區域,在每個區域內使用最大值抽取,并進行級聯后得到訓練樣本圖像的稀疏編碼結果;N為正整數;
[0068]所述層次化結構為金字塔結構,即將原始訓練樣本圖像分別均分為2*2和3*3大小,原始大小、2*2和3*3大小的訓練樣本圖像組合形成層次化結構。
[0069]S1.2.3計算各訓練樣本圖像的稀疏編碼結果之間的交叉核函數,得到訓練樣本圖像的稀疏特征;
[0070]S1.3使用多核學習,得到BOW特征和稀疏特征的權重,利用權重將BOW特征和稀疏特征進行加權求和后,得到圖像的總特征,然后送入支持向量機進行訓練,得到支持向量機分類模板;
[0071]S2花卉識別過程,如圖4所示,具體如下:
[0072]S2.1客戶端發送花卉識別請求到云服務器端;
[0073]S2.2云服務器通過負載均衡操作將任務分配至云服務器的計算節點,如圖5所示,具體流程如下:
[0074]S2.2.1在云上的每個計算節點上都部署已訓練好的支持向量機分類模板;
[0075]S2.2.2提供一個Web接口給用戶使用,當用戶使用該接口上傳一張圖片時,經過合法性檢測后,主控制節點會記錄下用戶的IP ;云上的主控制節點接收用戶傳來的待識別花卉圖像,根據用戶的源IP地址進行哈希操作,根據哈希操作的結果轉發到相應的計算節點子集群上;
[0076]所述哈希操作,具體為:
[0077]根據用戶的源IP地址,取其后16位,得到結果addr,將結果addr代入下式:
[0078]hash = (addr*31) % Μ,其中M為計算節點子集群數,hash為分配到的子集群編號;
[0079]S2.2.3每個子集群都有相應的子控制節點,子集群的控制節點根據子集群內計算節點的忙碌情況,該節點時刻監視下屬各計算節點的分類任務完成耗時,對耗時通過老化算法進行平滑處理后,選擇耗時最少的節點為最空閑的計算節點,將請求轉發至最空閑的計算節點,并在最空閑計算節點上啟動進程;
[0080]所述下一次任務耗時的估計值使用老化算法估計,即
[0081]T = a*T0+(l-a) ^T1
[0082]T0為上一次估計值,T1為上一次實際值,T為求得的估計值,a為老化系數(本發明設定a= 1/2),其值越小過去值的影響就越弱,公式簡化為T= (!>^/2,即每個計算節點的耗時估計值設為上一次估計值與前一任務實際耗時的均值。
[0083]S2.3最空閑計算節點對用戶傳來的待識別花卉圖像進行識別,具體包括:
[0084]S2.3.1將待識別花卉圖像從RGB色彩空間轉換成灰度色彩空間;
[0085]S2.3.2對步驟S2.3.1得到的灰度圖像提取密集SIFT特征,利用步驟S1.1.2得到的SIFT特征字典進行量化,得到待識別花卉圖像的SIFT特征直方圖;計算待識別花卉圖像的SIFT特征直方圖與訓練樣本圖像的SIFT特征直方圖的交叉核函數,得到待識別花卉圖像的BOW特征;
[0086]S2.3.3對待識別花卉圖像進行預處理,具體為:
[0087]S2.3.3.1對待識別花卉圖像按比例縮放到固定尺寸,使得縮放后的圖像的寬和高最大為100像素;;
[0088]S2.3.3.2使用一個大小為8*8的滑動窗口在經步驟S2.3.3.1處理后的待識別花卉圖像上逐像素移動得到多個圖塊;
[0089]S2.3.3.3每個圖塊去除各自圖塊的像素平均值;
[0090]S2.3.4利用步驟S1.2.2得到的稀疏特征字典,利用OMP算法對步驟S2.3.3得到的圖塊進行稀疏編碼;將待識別花卉圖像利用層次化結構分成N區域,在每個區域內使用最大值抽取,并進行級聯后得到待識別花卉圖像的稀疏編碼結果;計算待識別花卉圖像和訓練樣本圖像的稀疏編碼結果的交叉核函數,得到待識別花卉圖像的稀疏特征;
[0091]所述層次化結構為金字塔結構,即將原始待識別花卉圖像分別均分為2*2和3*3大小,原始大小、2*2和3*3大小的待識別花卉圖像組合形成層次化結構;
[0092]S2.3.5利用S1.3學習得到的權重將待識別花卉圖像的BOW特征和稀疏特征進行加權求和后,得到待識別花卉圖像的總特征,并將總特征送入步驟S1.3得到的分類模板進行分類,得到待識別花卉圖像的分類結果。
[0093]上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受所述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護范圍之內。
【權利要求】
1.一種異構特征融合的云花卉識別方法,其特征在于,包括以下步驟: SI離線訓練過程: S1.1對訓練樣本圖像進行BOW特征提取,具體為: S1.1.1將訓練樣本圖像從RGB色彩空間轉換成灰度空間; S1.1.2對經步驟S1.1.1處理后的訓練樣本圖像提取密集SIFT特征,對所得SIFT特征使用k均值聚類得到SIFT特征字典,利用SIFT特征字典量化每個訓練樣本圖像的SIFT特征,從而得到訓練樣本圖片的SIFT特征直方圖; S1.1.3計算各訓練樣本圖像的SIFT特征直方圖之間的交叉核函數,得到訓練樣本圖像的BOW特征; S1.2對所有訓練樣本圖像進行稀疏特征提取,具體為: S1.2.1對訓練樣本圖像進行預處理,即將每張訓練樣本圖像分割成多個圖塊,并且每個圖塊去除圖塊的像素平均值; S1.2.2對經步驟S1.1.1處理后的所有圖塊,使用K-SVD算法,得到稀疏特征的字典;利用稀疏特征字典,使用OMP算法對步驟S1.2.1得到的圖塊進行稀疏編碼,將訓練樣本圖像利用層次化結構分成N區域,在每個區域內使用最大值抽取,并進行級聯后得到訓練樣本圖像的稀疏編碼結果;N為正整數; S1.2.3計算各訓練樣本圖像的稀疏編碼結果之間的交叉核函數,得到訓練樣本圖像的稀疏特征; 51.3使用多核學習,得到BOW特征和稀疏特征的權重,利用權重將BOW特征和稀疏特征進行加權求和后,得到圖像的總特征,然后送入支持向量機進行訓練,得到支持向量機分類模板; S2花卉識別過程: 52.1客戶端發送花卉識別請求到云服務器端; S2.2云服務器通過負載均衡操作將任務分配至云服務器的計算節點,具體為: S2.2.1在云上的每個計算節點上都部署已訓練好的支持向量機分類模板; S2.2.2云上的主控制節點接收用戶傳來的待識別花卉圖像,根據用戶的源IP地址進行哈希操作,根據哈希操作的結果轉發到相應的計算節點子集群上; S2.2.3子集群的控制節點根據子集群內計算節點的忙碌情況,將請求轉發至最空閑的計算節點,并在最空閑計算節點上啟動進程; S2.3最空閑計算節點對用戶傳來的待識別花卉圖像進行識別,具體包括: S2.3.1將待識別花卉圖像從RGB色彩空間轉換成灰度色彩空間; S2.3.2對步驟S2.3.1得到的灰度圖像提取密集SIFT特征,利用步驟S1.1.2得到的SIFT特征字典進行量化,得到待識別花卉圖像的SIFT特征直方圖;計算待識別花卉圖像的SIFT特征直方圖與訓練樣本圖像的SIFT特征直方圖的交叉核函數,得到待識別花卉圖像的BOW特征; S2.3.3對待識別花卉圖像進行預處理,即將待識別花卉圖像分割成多個圖塊; S2.3.4利用步驟S1.2.2得到的稀疏特征字典,利用OMP算法對步驟S2.3.3得到的圖塊進行稀疏編碼;將待識別花卉圖像利用層次化結構分成N區域,在每個區域內使用最大值抽取,并進行級聯后得到待識別花卉圖像的稀疏編碼結果;計算待識別花卉圖像和訓練樣本圖像的稀疏編碼結果的交叉核函數,得到待識別花卉圖像的稀疏特征; S2.3.5利用S1.3學習得到的權重將待識別花卉圖像的BOW特征和稀疏特征進行加權求和后,得到待識別花卉圖像的總特征,并將總特征送入步驟S1.3得到的分類模板進行分類,得到待識別花卉圖像的分類結果。
2.根據權利要求1所述的異構特征融合的云花卉識別方法,其特征在于,步驟S1.2.1所述對訓練樣本圖像進行預處理,具體為: S1.2.1.1對訓練樣本圖像按比例縮放到固定尺寸; S1.2.1.2使用一個滑動窗口在經步驟S1.2.1.1處理后的訓練樣本圖像上逐像素移動得到多個圖塊; 51.2.1.3每個圖塊去除各自圖塊的像素平均值。
3.根據權利要求1所述的異構特征融合的云花卉識別方法,其特征在于,步驟所述S2.3.3對待識別花卉圖像進行預處理,將待識別花卉圖像分割成多張圖塊,具體為: 52.3.3.1對待識別花卉圖像按比例縮放到固定尺寸; S2.3.3.2使用一個滑動窗口在經步驟S2.3.3.1處理后的待識別花卉圖像上逐像素移動得到多個圖塊; S2.3.3.3每個圖塊去除圖塊的像素平均值。
4.根據權利要求1所述的異構特征融合的云花卉識別方法,其特征在于,步驟S2.2.2所述哈希操作,具體為: 根據用戶的源IP地址,取其后16位,得到結果addr,將結果addr代入下式: hash = (addr*31) % Μ,其中M為計算節點子集群數,hash為分配到的子集群編號。
5.根據權利要求1所述的異構特征融合的云花卉識別方法,其特征在于,步驟S2.2.3所述的忙碌情況,以每個計算節點完成分類任務所需時間來間接表示; 所述的忙碌情況具體根據以下過程確定:子集群的控制節點跟蹤下屬的計算節點從收到圖像到返回結果的耗時,得到上一次任務耗時的實際值;并給出下一次任務耗時的估計值,由此確定最空閑的計算節點; 所述下一次任務耗時的估計值使用老化算法估計,即
T = a*T0+(l-a) ^T1 其中,T為下一次任務耗時的估計值,T0為上一次任務耗時的估計值,T1為上一次任務耗時的實際值,a為老化系數。
6.根據權利要求1所述的異構特征融合的云花卉識別方法,其特征在于,步驟S1.2.2所述層次化結構為金字塔結構,即將原始訓練樣本圖像分別均分為2*2和3*3大小,原始大小、2*2和3*3大小的訓練樣本圖像組合形成層次化結構。
7.根據權利要求1所述的異構特征融合的云花卉識別方法,其特征在于,步驟S2.3.4所述層次化結構為金字塔結構,即將原始待識別花卉圖像分別均分為2*2和3*3大小,原始大小、2*2和3*3大小的待識別花卉圖像組合形成層次化結構。
【文檔編號】G06K9/66GK104346630SQ201410582671
【公開日】2015年2月11日 申請日期:2014年10月27日 優先權日:2014年10月27日
【發明者】郭禮華, 林俊斌 申請人:華南理工大學