方釔霖,王兆偉
(西藏大學信息科學技術學院,西藏 拉薩 850000)
青藏高原是世界上隆起最晚、面積最大、海拔最高的高原,因而被稱為“世界屋脊”,被視為南極、北極之外的“地球第三極”。西藏高原位于青藏高原的主體區域,有分屬寒帶、溫帶、亞熱帶、熱帶的種類繁多的奇花異草,據粗略估計高等種子植物可達10,000種左右。
研究西藏地區野生植物的圖像識別技術,對于西藏地區野生植物的分類及植物資源的保護與利用、探索植物間的親緣關系、闡明植物的進化規律、農藝與園藝的實際應用等方面具有現實意義。如何有效的利用測試庫內的植物圖像準確地識別出訓練庫內所對應的植物圖像數據庫,以及同種植物的不同圖像更換了測試庫內原圖像,系統也依然能識別出訓練庫內所對應的植物圖像是一個非常值得研究的內容[2]。
本文以紅景天屬為例。西藏自治區景天科紅景天屬總共有32種,其中根出紅景天、卵萼紅景天、報春紅景天、圣地紅景天、粗莖紅景天這5種未寫明產地,故這五種不予以分析;以及柴胡紅景天和紫胡紅景天數據鏈接到的是亞查紅景天和柴胡紅景天,無法確定數據準確性,故這3種不予以分析;云南紅景天、紫綠紅景天、西川紅景天、德欽紅景天這4種紅景天雖在西藏有分布,但不是產自西藏,故不予以分析;四裂紅景天與大紅紅景天存在異議,在西藏產的都是大紅紅景天,故四裂紅景天不予以分析;狹葉紅景天存在變種,故不予以分析;故本文主要分析其余的18種。
1.1.1 數據來源
本文分析所使用的18種西藏產紅景天的圖像、信息均是從《中國植物志》(www.iplant.cn/frps)分省名錄中西藏自治區,景天科,紅景天屬所查找而來[3]。
1.1.2 PCA 的基本理論
想要用SDV(奇異值分解)一步一步了解PCA,首先用一個例子來說明什么是PCA。例:假如測量了6個同種植物的基因轉錄,基因1為樣本變量1和基因2為樣本變量2,如表1。

表1 六種植物樣本的基因轉錄表
如果將測量的兩個基因數據繪制在一個二維XY圖上,如圖1中的(1)。
那么接下來要計算GENE 1和GENE 2的平均測量數,然后通過平均值,計算數據的中心,從這一刻開始,將專注于圖中發生的情況,不再需要原始數據。移動數據,使中心位于圖形的原點(0,0)處,如圖1中的(2)。需要繪制一條穿過原點的隨機線,然后旋轉線,直到它盡可能的擬合數據和仍然穿過原點的情形下,最終這條線擬合度最好,如圖1中的(3)。這就是PCA的總體流程,流程圖如圖2。

圖2 PCA 流程圖
那么PCA是如何判定擬合度的高低的呢?在最開始的那條線(如圖1中的(3)原始隨機線)中,為了量化這條線擬合數據的程度PCA將數據投影到該線上。然后可以測量數據到線的距離并嘗試找到使這些距離最小的線。使用勾股定理,b大則c小,反之亦然。因此PCA可以最小化與線之間的距離[4]。(如圖3中(1))

圖1 PCA 找最佳擬合線過程圖

圖3 PCA 最佳擬合線處理圖
所以PCA找到擬合線是通過,最大化從投影點到原點的距離的平方和。將上述原理用數學公式表示,即設測量距離為d,則①、②、③、④、⑤、⑥的距離平方分別為,,,,,,然后將所有的這些開平方的距離求和就等于平方距離的總和(SSD),即:

最終得到的圖1中(3)的最佳擬合線,就是具有最大平方和(距離)的擬合線,即方差最大,此線叫主成分1(PC1),PC1的斜率是0.25,換言之沿著基因1軸右移4個單位,就沿基因2軸上升一個單位,這也意味著數據大部分沿著基因1分布(這就是PC1的變量們的線性組合)。
當你用SVD算PCA時PC1的配方被縮放,以使該長度等于1,如圖3中(2)。這個單位長的向量由0.97個基因1和0.24個基因2組成,被稱為PC1的奇異向量或特征向量。每個基因的比例稱為載荷得分。PCA 把最佳擬合線距離的平方和稱為PC1的特征值。而PC1特征值的平方根稱為PC1的奇異值。這意味著PC2的配方為-1份基因1兌上4份基因2,PC2垂直于PC1,所以PC2的特征向量里,每單位向量因包含-0.242份基因1和0.97份基因2,和PC1正好相反。現在,想要繪制最終的PCA圖只需要旋轉所有內容,使PC1呈水平狀態,如圖3中(4),然后用投影點來定位PCA圖的樣本位置。在最后通過將特征值除以(樣本量-1)來轉換成圍繞原點的差異。算出PC1和PC2的總差異比如是15+3=18,即說明PC1占PC總差異的0.83(15/18),即PC1所占的差異率為83%。
設計思路概述:首先建立訓練樣本的數據集,然后對植物圖像進行預處理,再讓系統從植物的訓練庫中讀取樣本圖像,將樣本求平均向量,在計算每個樣本與平均向量的向量差放入一個矩陣,然后求出特征值和特征向量,就可以計算出樣本的協方差矩陣,然后選取特征向量降維,獲取特征,最后將目標圖像的特征值除以(訓練集里總的樣本數-1),求出每個樣本與目標圖像的差異率,再從訓練后的樣本庫中提取差異率最低的樣本數據。
所設計的植物圖像識別系統,其步驟主要分為圖像預處理-讀取圖像-提取特征-識別,具體流程如圖4。

圖4 植物圖像識別流程圖
STEP1:圖像預處理——精確地進行圖像對齊和圖像裁剪,將需要訓練和測試的圖像處理成236×156像素,按照排序進行命名并放入到TrainDatebase文件夾,為后續實驗提供可靠的并符合模型需求的圖像數據;
STEP2:讀取圖像——讀取目標植物圖像庫的路徑,將其放入測試庫;
STEP3:提取特征——先求出樣本的平均向量,然后計算每個樣本與平均向量的差向量,將得出的向量差合成一個N*N矩陣,并求解特征向量,計算協方差矩陣,最后求出目標植物圖像的特征值,通過降維,提取特征;
STEP4:識別——系統整體采用PCA(主成分分析法)的方法提取目標植物圖像的特征值將其除(樣本數-1),求出其差異與樣本庫的差異進行求和,最后求出目標圖像的差異率,再從樣本庫中提取差異率最低的圖像。
與以符號為主的字符命令語言界面相比,以視覺感知為主的圖形界面具有一定的文化和語言獨立性,并可提高視覺目標搜索的效率。因此使用MATLAB自帶的GUI設計功能設計了植物圖像識別系統的圖形界面,該界面由兩個圖像顯示界面、兩個靜態文本界面和四個按鈕組成,可以直觀的實現人機交互的功能[5-6]。植物圖像識別系統GUI界面如圖5。
進入植物圖像識別系統,點擊訓練樣本庫和測試庫,訓練成功后點擊選擇按鈕選擇要進行識別測試的圖片,選擇完成后點擊識別按鈕進行識別操作,可以看到在植物識別窗口的左下角會出現識別結果。如圖5,即經檢測,該測試圖片與訓練集中的1.jpg圖片為同一類別,識別結果為矮生紅景天。

圖5 植物圖像識別系統測試界面,其中測試圖片和匹配圖片皆為矮生紅景天
本文對基于PCA(主成分分析)的識別方法進行了介紹,并基于PCA設計出了一款植物圖像識別系統,無需專業人士的人工干預即可使用該系統實現對景天科紅景天屬植物的識別。經實驗測評,在同種植物不同角度圖像的情況下,能夠有效識別出該植物的屬性。
由于學業水平的限制,本文僅簡單地對部分景天科紅景天屬植物進行了簡單研究,仍然存在一些不足需要進一步改進,今后將從以下幾個方面進行改進:①進一步開展復雜情況下的植物識別研究,提升該系統的實用性;②進行田野考察,利用專業設備進一步擴充數據集的規模;③待數據集得到有效擴充后進行識別準確率、誤差的分析,結合分析結果進一步改進識別算法,逐步提升系統可識別植物的數量。