• 沒有找到結果。

第三章  系統方法

3.2  特徵抽取

3.2.1  加速穩健特徵抽取(SURF)

在特徵抽取中,主要有 4 個步驟如圖 3-5 第一就是把我們的所分割好的花卉圖 像執行積分影像(Integral Image)[30]方便使用荷西矩陣(Hessian)[31]比對,接著執行 荷西矩陣比對,這個動作是為了找出圖像的關鍵點,像是斑狀結構、連接點和邊緣 資訊等等,然後是尺度空間表示找出關鍵點後進行尺度空間表示,這是使用哈爾小 波[32]濾波器來找關鍵點水平方向向量與垂直方向向量的大小,接著把這些方向向 量收集起來當作這關鍵點描述。

26

圖 3- 6 SURF 流程架構圖

特徵抽取就是找出花的關鍵點與描述它,所以第一步,就是找出關鍵點,為了 加速關鍵點尋找,並方便荷西矩陣濾波,所以一開始就是將找到的花的主體進行積 分影像,積分影像的概念是由 Viola 和 Jones[33]所提出,用於加速矩形特徵之運 算,對於一個輸入的影像中像素 I(i,j)的灰階值,如圖 3-7 所表示積分影像值等於陰 影部分所有灰階值的和。 假設I 位置X , 在處的定義為

I ∑ ∑ , (式 3-8)

27

圖 3- 7 點(i, j)的積分影像值

如此定義的話要得到一個輸入影像的 I 得積分影像時,僅需要對原圖逐點掃描一次 便可以計算出來。其計算的方式如下。

s i, j i i, j 1 I i, j (式 3-9)

I i, j I i 1, j s i, j (式 3-10)

其中s i, j ∑ , 是原始影像(i ,j)點的累積和(Cumulative Row Sum)使用積 分影像時,任何影像內部的矩形和(Rectangular sum)可以只使用四個參考值計算則可 以得到如圖 3-8,矩形 D 的的所有灰階值的和為 4+1-(2+3)。

在 Viola 的系統中每個矩形特徵的運算,最多只需要從積分影像中取九個元素做加 減運算,這是 Viola 方法可以快速的原因。

28

圖 3- 8 計算矩形示意圖,

接下來進行荷西矩陣比對,找出關鍵點,具體的是用荷西矩陣行列式最大值標 記斑狀結構的位置同時行列式值也可做完尺度選擇的依據,如圖 3-9,給定圖像 I 中的一點 X(x,y),荷西矩陣H x, σ 在 X 處尺度為σ 的定義如下

H x, σ , ,

, , (式 3-11)

這裡 , 是高斯二階篇導數 在 X 處於圖像中 I 的摺積

圖 3- 9 荷西矩陣,圖(a)為 荷希矩陣圖,圖(b)為 荷希矩陣圖

29

接下來是尺度空間表示在大小不變特徵轉換裡是對於原圖不斷進行高斯平滑加 上降取樣得到金字塔圖像夠進一步得到高斯差(Different of Gaussian)[34]而高斯的 差可以得到邊和斑狀結構。

而加速穩健特徵的做法是與大小不變特徵轉換有所不同的是,大小不變特徵轉 換的算法在建構金字塔圖層時高斯濾波器大小不變,改變的是圖像的大小,而加 速穩健特徵則是相反圖像保持不變改變的是濾波器的大小。之所以這樣做是考慮 的主要目的是效率的原因,而且由於沒有對於圖像進行放大或縮小所以不存在混 疊的問題,而與大小不變特徵轉換類似,加速穩健特徵的尺度空間也是按造 8 方 向(octave)來劃分,每一個 octave 是對輸入圖像用大小增加的濾波器進行濾波。

圖 3- 10 加速穩健特徵 關鍵點偵測圖

3.2.2 加速穩健特徵描述

為了讓圖像旋轉也可以識別出來,首先計算小波變換,這裡只使用哈爾(Haar) 水平方向和哈爾垂直方向,如圖 3-11 所示。

取樣半徑內一個圓形的鄰近周圍的關鍵點 6S 規模的興趣點檢測 S 指的是檢測

30

點所處的尺度,所以一個規模 S 為 ,取樣大小為 S,小波濾波器的大小為 4S。

圖 3- 11 圖(a)為哈爾小波水平方向,圖(b)為哈爾小波垂直方向

小波響應計算完畢後還要以興趣點為中心進行高斯加權(σ) 這樣可以得到對興 趣點描述的座標(x,y) ,主方向的估計就是採用 的滑動窗口計算窗的口響應總 和,這樣就可以一個局部的方向矢量然後,找到最長的方向做完該興趣點的描述方 向如圖 3-12。

圖 3- 12 的矢量方向

而小波響應描述具體而言是先把區域分成 4*4 的子區域計算 25 個空間歸一化的取 樣點哈爾小波響應如圖 3-13,假設 表示為水平方向的哈爾小波, 表示為垂直 方向的哈爾小波,為了增加的它強健性,可對 , 進行高斯濾波,對於每個 子區域分別計算 4 個量 ∑ ,∑ | |,∑ ,∑ | | 這可以用向量

V=(∑ ,∑ | |,∑ ,∑ | |)表示每個子區域,將它們連載一起可以得到 64 維的向量

31

圖 3- 13 區域計算歸一化的方向圖

對於每個子區域的哈爾小波響應∑ ,∑ 之合組成的特徵向量,為了把強度 的變換性放入特徵描述中也要取出哈爾小波響應的絕對值∑| |, ∑ | |。子區域的 描述如圖 3-14 可表示方向強度的部分,圖(a)對於 x, y 方向均勻分布,所有的值相對 地比較低,而圖(b)對於 x 方向有固定的頻率,因此∑| |的強度相對於其他的分量 就比較高,圖(c)此圖可以看出強度逐漸往 y 方向增加,所對於∑| |, ∑ 方向強度 表示就很高。此三圖顯示了三種鮮明不同種類的的形狀描述區域的強度,而可以從 強度的組合,形成局部強度組合的特徵描述。

32

圖 3- 14 方向向量描述圖(a)灰階均勻(b)x 方向圖(c) y 方向漸層圖

而加速穩健特徵它的概念與大小不變特徵轉換相符,它們都是採用梯度的方向來描 述區域關鍵點的特徵,加速穩健特徵是採用一個區域的梯度方向描述,而大小不變 特徵轉換則是採用每個關鍵點的梯度方向描述,這使的它對於雜訊的影響比較嚴重,

而加速穩健特徵相對的它是用區域的方向向量所以雜訊對它的影響就不大。如圖 3-15

33

圖 3- 15 (a)大小不變特徵轉換(b)加速穩健特徵雜訊比較

3.3 特徵訓練與辨識

本篇使用 K 鄰近(K-nearest neighbors )簡稱 KNN 得法來完成花卉分類,而使用 KNN 有兩個參數是需要思考的,一個就是 K 的值,另一個就是歐式距離的值。K 值 的大小是很重要的,它很容易受到訓練模型的分類數量所影響,如果 K 值取得太大 的話,會造成計算量過大,也會造成統計到其他較為接近的分類的機會變大,只要 K 值太過於增加就會減少其成功率。而計算歐式距離的方式來完成 KNN 的分類

34

3.3.1 K-最近鄰居法(KNN)建立訓練模型

對於已經取得特徵點的描述時,這時較要把這些特徵訓練出來,方便用於識別上,

而 K 最近鄰居法是屬於立即模組型的分類法,是在接受待分類資料之前就已經建立 了模型,而 KNN 的優點是原理簡單實現方便,能對於多邊形的複雜空間有良好的效 果,而缺點就是計算量比較大,而需要記憶體儲存空間比較大,它的原理是通過比 較計算訓練模型與待分類文件得相似性,建立分類器模型它是一種非監督是的分類 法,他需要替每一筆資料定一個位置,而我們是要分出花的特徵,所以我們採用加 速穩健特徵所抽取的花卉特徵並按造分類器的類別建立分類器模組,如圖 3-15 所示 本論文使用 50 個訓練樣本,設定每一個樣本有 30 個 64 維的方向向量,所以每一個 物件有 1500*64 個方向向量。

圖 3- 16 KNN 模組建構圖

3.3.2 KNN 識別

以距離的量度作為分類的基礎,運作方式為找出距離測試資料最近的 K 個訓練

35

36

37

第四章 系統實作和討論

在本章節中將呈現出整個系統環境,與實驗結果並加以說明,在系統中我們分出 17 類的花卉總共有 1360 張的圖片,其中 850 張的圖片拿來當成訓練樣本,每一類取 50 張圖片,而其他的部分來當作測試樣本。其資料庫來源是 Oxford 17 Category Flower

Dataset [35]數據庫

4.1 環境建立

本花卉分類系統是發展到 win32 的平台上,開發環境 Microsoft Visual 2010 C#

作業系統為 Windows 7

硬體設備為 Inter(R) core(Tm) 2 Duo CPU E7200,2.53Gz 2.53Gz

記憶體為 4G RAM

38

4.2 系統執行畫面

為了達到研究目的,在介面上有 3 個功能建立模型、 選圖 和識別,本系統在 開發時希望一目了然,符合各個年齡層來使用。特徵訓練圖像後,辨識選取所 需識別之圖片按入識別之後會顯示五種候選品種。如圖 4-1 所示。

圖 4- 1 系統執行畫面

39

4.3 分割率與辨識率探討

系統適用 Oxford 17flower 數據庫,內含 17 種花卉並探討外在因素,例如拍攝距 離,相似品種,拍攝角度,花卉的綻放的角度,花群與單一花卉等因素造成的影 響。

表 4- 1 花卉數據庫

中文名稱 學名

1. 喇叭水仙 Narcissus

2. 雪花蓮 galanthus

3. 風鈴草 Convallaria majalis

4. 葡萄風信子 Hyacinthoides

5. 番紅花 Crocus

6. 鳶尾花 Iris

40

7. 虎斑百合 Lilium

8. 鬱金香 Tulipa

9. 花格貝母 Fritillaria

10. 向日葵 Helianthus

11. 法蘭西菊 L. vulgare

12. 款冬 Tussilago

13. 蒲公英 Taraxacum

14. 黃花九輪草 Primula veris

15. 毛茛 Ranunculus acris

41

42

黃花九輪草 24 6 80%

毛茛 29 1 96%

哥倫比亞風花 28 2 93%

三色堇 30 0 100%

在表 4-2 中我們可以看出對於花群類的花卉,分割是有很大的困難的如圖 4-3 所 示 雪蓮花雖然它可以大部分的背景消除,不過卻不能把花卉物件一一取出個別獨立 出來,使的特徵抽取時花卉邊緣資訊容易錯誤。

圖 4- 2 雪蓮花分割圖比較(a)為雪蓮花原始圖(b)雪蓮花分割後圖

還有風鈴草,它是屬於花群的花卉,因此常常都是背景都是以葉子為主,因此不可 避免的它的葉子常常會混入目標選取區域之內,因此常常會有切割不乾淨的情形發 生如圖 4-4 所示花卉後面的葉片無法切割。

圖 4- 3 鈴蘭分割圖比較(a)鈴蘭原始圖(b)鈴蘭切割後之圖

43

還有其他如葡萄風信子與虎斑百合這兩種花對於花卉分割而言是非常困難的,

因為它們花卉綻放的方向很不一致,使的圖像的中心往往不是花卉如圖,或是所有 的花擠成一團的情況產生如圖 4-5。

虎斑百合分割比較圖(a)虎斑百合原始圖(b)虎斑百合切割後之圖

圖 4- 4 葡萄風信子分割比較圖(a) 葡萄風信子原始圖片(b) 葡萄風信子切割後之圖

而有一個是使用者應該注意的就是因為花卉分割目前的方式是由圖片往內縮 50 個 像素的矩形框,所以當花卉的物件影像在圖片的邊緣時他沒有辦法有效的分割出花 卉如圖,因為無法分割所以呈現一片黑如圖 4-6(b)。目前想法是採用基於顏色的方 法找出花卉的大概區域以此區域取代目標後選區域,應可以減少分割失敗的情形產 生。

44

圖 4- 5 番紅花切割圖比較(a)番紅花(B)切割失敗圖

如表 4- 3 我們在辨識時探討的是 K 的數量與辨識成功率的關係,因此我們取 K 的 值分別為 25,50 做為比較的參考。

表 4- 3 KNN 中 K 值與辨識率的影響

K=25 K=50 種類 成功 失敗 成功率 成功 失敗 成功率

喇叭水仙 22 8 73% 26 4 86%

喇叭水仙 22 8 73% 26 4 86%

相關文件