裴曉芳,胡 敏
(1.南京信息工程大學 濱江學院,江蘇 無錫214105;2.南京信息工程大學 江蘇省大氣環境與裝備技術協同創新中心,江蘇 南京 210044;3.南京信息工程大學 電子與信息工程學院,江蘇 南京 210044)
近年來,我國花卉銷售產業規模日益擴大,但由于缺乏專業養護知識,優質花苗的培植成了棘手的問題。圖像檢索作為計算機視覺的一個分支[1],可以自動識別植株病癥與生長狀態,實時協助種植者發現問題并采取應對措施解決問題,已被越來越多地應用到花卉種植領域。但是,圖像光照變化、視角轉換、尺度差異、背景混亂以及目標遮擋等問題的存在給圖像檢索技術帶來了巨大困難。
2003年,Sivic J等人首次提出特征詞袋(Bag-of-Features,BoF)概念,將文本語義檢索思路引入到圖像檢索領域。2005年,Grauman K等人提出了基于BoF的金字塔匹配核函數,將各特征集映射到一個多分辨率的直方圖中。文獻[1]采用多核學習算法巧妙融合多種不同維度的特征對果蔬圖像進行分類識別。2015年,阮嘉等人將概率論引入到BoF中用于識別交通標志[2]。2019年,張澤晨等人提出了多特征融合的BoF圖像檢索算法,有效利用圖像顏色和紋理清晰表述果蔬特征[3]。本實驗采用改進式特征詞袋圖像檢索算法對采集到的杜鵑花圖像進行處理和識別。
傳統單一特征的BoF模型中SIFT(Scale-Invariant Feature Transform)匹配在局部特征匹配中僅作為低級表示,對于復雜特征提取魯棒性差,且容易產生假匹配[4-5]。為了解決這一問題,本實驗首先從杜鵑植株葉片特征入手,在LAB(Logic Array Block)模式下提取圖片的相對顏色特征和空間信息組成空間顏色聚合矩陣;隨后,采用多特征學習算法將該矩陣與BoF中的加速魯棒特性(Speed Up Robust Features,SURF)進行特征融合產生新的BoC-BoF(Bag of Color-Bag of Feature)特征向量;然后,經過特征詞典進行量化編碼,消除了傳統顏色直方圖量化范圍大的缺陷;最后,采用圖像分類器進行分類識別,實現花卉生長狀態的自動化和智能化分析,節省了人力物力。
BoF型是詞袋(Bag-of-view-Word,BovW)模型的一種,通過統計區域的全局相似性來表征圖像,不受拍攝角度和光照的影響。相對于CNN(Convolutional Neural Network)[6]和神經網絡等深度學習模型,BoF需要的樣本數量少,對圖片品質要求低。作為一種基于局部特征匹配的識別算法,BoF模型將每一幅圖像分割成若干局部區域,并將這些特征映射到一組無序的視覺關鍵詞上,圖像的檢索就轉化為若干單詞的匹配[7]。BoF創建過程包括:特征提取、特征描述、構建視覺詞袋(特征匯集)和特征統計。BoF構建流程如圖1所示。

圖1 BoF構建流程圖Figure 1. Flow chart of BoF establishment
作為一種簡單有效的基于區域層次的圖像描述方法,BoF在處理復雜圖像分類時存在明顯缺陷:(1)空間金字塔BoF和分層BoF通過大量空間信息表征圖像,計算繁瑣,且特征矩陣與圖像本身特征點的空間關系關聯度很弱[8-10];(2)BoF模型的區域特征描述多采用單一特征,魯棒性差,對自然界中復雜圖像的特征很難清晰描述;(3)聚類算法適用于構建密集的區域特征空間,但是對于稀疏區域特征空間的構建仍然沒有合適的方式[11]。
針對BoF模型上述的3個缺陷,本研究在不降低識別率的條件下對BoF分類流程中的特征提取和特征匯集階段進行改進,即采用空間顏色聚合矩陣融合SURF特征代替圖1中的顏色直方圖。
由于樣本數量龐大,且顏色特征和SURF特征數據不規則,實驗采用多特征學習算法將顏色特征與SURF特征進行特征融合形成新的特征。具體工作流程如圖2所示。

圖2 改進式BOF分類流程圖Figure 2. Flow chart of improved BOF classification algorithm
為適應未來AI(Artificial Intelligence)技術的發展趨勢并增加代碼可移植性,本實驗將訓練好的模型保存到文件中,應用層直接調用即可,無需重新訓練和測試,為后期嵌入式系統的開發提供了良好應用平臺。
圖像的特征值是圖像識別和分類的依據。被捕捉的特征值越完整,圖像識別率越高。從圖3可以看出,杜鵑植株各生長期和病害的樣本圖像目標區域顏色存在巨大差異,所以本實驗采用的圖像特征之一為病葉上帶有圓形異色斑點和異色尖點,即斑點的邊緣梯度特征和Harris角點特征。

圖3 部分樣本圖像展示Figure 3. Images of some samples
SURF算法具有尺度不變性和良好的魯棒性,在不降低精度的條件下大量合理使用積分圖像不需要進行降采樣。SURF算法特征點識別率較SIFT算法高,運行速度大約是SIFT算法的3倍,因此在視覺轉換和光照變化等環境下,該算法匹配效果優于SIFT算法,但其旋轉不變性不如SIFT[12-13]。由于實驗中相機位置固定,采集到的圖像一般不會旋轉,尺度變換相對較小,故本研究采用SURF算法進行圖像分類。
從圖4 可以看出SURF特征描述子數值較小,為增加特征可識別性,實驗對特征矩陣每行求平方和并入特征矩陣,學習分4步完成:
步驟1多尺度特征提??;
步驟2將獲取的特征描述子SURF Feature輸入函數C。C的函數式為
(1)
式中,i表示行;j表示列;a(i,j)表示特征矩陣SURF Feature中第i行、j列個元素;si表示矩陣SURF Feature中第i行所有元素平方和;
步驟3步驟 2中所得向量S作為最后一列并入特征矩陣SURF Feature;
步驟4如圖4所示,原始SURF特征取值范圍0~0.016,比顏色特征小了很多,經函數C處理后所得結果為0~1。

圖4 SURF特征Figure 4. Features of SURF
從圖3中可以看出葉黃病病葉沒有明顯圓點和尖點,但是葉片顏色較健康葉片略黃,因此圖像分類的另一個特征為顏色。
由于實驗使用的樣本圖像分辨率較低,在RGB顏色空間提取的顏色特征存在很多0值。LAB顏色空間色域包含RGB顏色空間所有色域,此外還包括部分RGB所不能表現出來的色彩,在LAB顏色空間提取的顏色特征可以有效的覆蓋這些0,補充圖像顏色特征[14]。
LAB顏色特征的提取分為3步:
步驟1進入LAB空間學習各像素點的特征值,存入向量Col Feature;
步驟2使用reshape(·)在特征點不變的條件下將Col Feature重新整形成Feature[256,3];
步驟3將Feature[256,3]放入函數B,歸一化為相對數值。B的計算式為
(2)
式中,i表示行;j表示列;a(i,j)表示矩陣Feature[256,3]中第i行、j列個元素;V(i,j)表示a(i,j)與其所在行的所有元素平方和的開方的比值。實驗以圖3中部分圖像為例,計算歸一化之后的相對顏色特征均值。仿真結果如圖5所示。

圖5 相對顏色特征Figure 5.Comparative color feature
從圖5可以看出,歸一化之后的L、A、B仍然可以清晰表達各類圖像的特征。葉黃病圖片顏色較淺,L分量最大,葉枯病圖片背景顏色較深L分量均值小于健康圖片;A分量保存的是紅綠變化,開花圖片中紅色區域面積最大A分量最大,健康圖片綠色區域面積最大A分量最小;B分量保存黃藍變化。褐斑病圖片總體顏色偏黃B分量數值最大,如果使用其它圖片B值會有所下降,開花圖片黃色成分最少B分量為負數,可見顏色特征的處理對于圖像識別率有很大影響。
為增強顏色特征的表現力,實驗進一步提取圖像空間信息[15-17]。綜合SURF特征、LAB特征以及空間坐標的差值,實驗將坐標值歸一化為-0.5~0.5以實現空間特征與顏色特征的融合。具體步驟為:
步驟1提取圖像像素點坐標L(xi,yi) ;
步驟2將L(xi,yi)放入函數A,歸一化為-0.5~0.5;A的計算式為
(3)
式中,i為元素的位置;xi為第i個像素點的坐標;f(xi)表示橫坐標的相對值;f(yi)表示縱坐標的相對值;yi表示第i個像素點的縱坐標。
步驟3將第2步所得結果分成2個列向量與LAB特征矩陣合并,經式(2)處理形成空間顏色聚合向量,結果如圖6所示。

圖6 部分樣本的空間顏色聚合特征折線圖Figure 6.Line chart of the spatial color feature of some samples
實驗中,圖像空間顏色特征值遠大于SURF特征值,如果直接將特征矩陣進行合并放入分類器,空間顏色特征將完全覆蓋SURF特征,SURF將失去使用價值。
傳統特征組合方法主要是基于特征矩陣直接求和或者加權求和的方法融合多個特征。對樣本中各區域數據進行平均或加權求和之后,表示多變信息的數據將被核函數“過濾”,導致最終的特征信息不完整,降低分類器的準確率[11]。綜合以上問題,本研究采用3個不同的函數分別學習對應特征,使數據具有不同角度的特征。顏色特征和SURF特征同時映射到新的特征矩陣的兩個元素中,形成視覺單詞表,有效減少了特征損失,增加了分類準確率。
實驗采用的計算機環境是Windows10 64位操作系統,基于×64的處理器,CPU是Intel(R) Core(TM) i5-8250 CPU @1.60 GHz 1.80 GHz,內存4 GB,編程語言為MATLAB,軟件采用MATLAB 2016a。
樣本數據來源于HM3S手機800W智能后置攝像頭不同角度拍攝的圖片。樣本的采集分為:幼苗期、生長期、開花期,針對葉枯病、褐斑病、葉黃病、健康、幼苗、開花及其它等類別,拍攝植株葉片圖像和花朵圖像;采集時間為12:00、14:00、18:00;拍攝距離為0.05~1 m;天氣情況分為晴天和多云;拍攝地點為無錫市;拍攝季節為春天至夏天。經過多次篩選,選出8種類型共計150張具有代表性的樣本圖片。經過預處理生成750張128×128大小相同的樣本,如圖3所示。
實驗采用的改進式BoF算法中提取的SURF特征為32維,提高樣本訓練效率的同時保證了分類器的識別率。圖7詳細描述了實驗所采用的改進式BoF在不同樣本數量的情況下,預測試識別率與驗證集準確率的變化。

圖7 改進式BoF預測試識別率與實際識別率Figure 7.Improved BoF pre-test recognition rate and actual recognition rate
由圖7可以看出,在訓練樣本很少的情況下預測試準確率98%,實際準確率只有20%,假匹配現象嚴重,不可使用。隨著樣本數量的增加,識別準確率逐漸提高。當樣本>200時,識別率損失趨向于0,實驗所采用的空間顏色聚合特征對于樣本的分類具有很大幫助,結合特征處理算法,最終識別率90.6%,相對于其它圖像檢索算法識別率有了明顯提高。
圖8為不同樣本數量條件下,驗證集準確率的變化情況。BoF+SURF算法中提取的SURF特征為64維,數量龐大,超出了硬件平臺計算能力。盡管實驗中不斷加入新的樣本,識別率仍然沒有明顯提高。BoF+SIFT算法計算速度最慢,且識別率變化較小。改進式BoF所使用的空間顏色聚合矩陣A[256,5],SURF特征32維,特征值數量少。增加樣本時,矩陣A與矩陣SURF的特征值數量逐漸變得豐富,當樣本數量大于150時,特征值分界線明顯,識別率迅速增加。由此可見,在樣本數量少、硬件平臺計算能力較弱的情況下,改進式BoF仍然可以獲得較高準確率。

圖8 不同訓練數據下的識別率Figure 8.The recognition rate under different numbers of samples
實驗將樣本圖像放入不同的分類模型進行分類對比。表1是改進式BoF、BoF模型+SIFT算法提取紋理特征、BoF模型+SURF算法提取紋理特征、CNN等方法的預測試結果。

表1 本文方法與其它方法對比Table 1. Comparison of different methods
由表1可以看出,BoF+SURF識別率高于本文所使用的改進式BoF,但是執行時間多了1.41 s。由于實驗使用的樣本圖像尺寸較小,提取的特征值數量很少,導致CNN識別率未達到預期的水平,容易產生假匹配現象。BoF圖像分類模型和SIFT特征提取算法的計算速度較慢且識別率較低。綜合執行效率和識別率等多種元素,改進式的BoF更適用于細粒度圖像分類。
為了快速識別杜鵑花植株的各主要生長期以及病害情況,實驗采用了基于LAB的顏色聚合向量的改進式BoF模型,通過融合顏色特征和SURF特征實現圖像分類。實驗結果表明:(1)基于LAB模式下的空間顏色聚合矩陣代替傳統的顏色量化方法對于顏色特征差距較小的圖像庫檢索效果明顯,可移植到嵌入式系統,具有較好的魯棒性;(2)經過特征歸一化,充分利用圖像的各類特征,將SURF特征與顏色特征線性融合,有效提高了識別率。
經過多次測試發現,試驗所采用的改進式BoF存在一個缺陷:當訓練樣本超出最大值時,圖像分類會出現過擬合,因此樣本的選擇非常重要。