• 沒有找到結果。

五. 實驗與結果

5.1.1. 實驗設計

由於現行的大部分方法,要捕捉人體的3D 動作都較為麻煩;而對於資料的處理,

也需要花非常大的工夫;因此,在實際資料測試的部份,本論文選擇由2D 的特定視 角影片來做,直接利用在影像上看到的人體形狀來做分析。

本篇論文利用單一攝影機,針對特定視角(側面)的人體動作進行分析,並試著 去辨識八種不同的動作:彎腰、彎腰起身、蹲下、蹲下起身、踢腿、出拳、上勾拳、

正步。

主要的處理流程分為前置處理、訓練、辨識等幾部分。

前置處理

在對動作進行分析前,先必須先由影像序列中將特徵擷取出來,轉換為觀察值的 序列。由於此部分並非本研究的重點,因此大多使用現有的簡單方法來進行,其流程 如下:

H

V Hist

Hist R, ,

圖 5-1 前置處理流程圖

擷取人體輪廓

對於去除背景的方法,也有不少影像處理方面的研究、方法可以作為參考或直接 拿來使用,不過由於此部分並非本論文重點,因此在此是先行架構一個背景單純、光 影變化不明顯的環境來做試驗。而採用的去除背景的方法,是先建立背景的影像,然 後將動作影像序列和背景相減,來把有變化的部份找出來當作前景影像。

(a) 背景 (b) 影像 (c) 去背景結果-前景影像

圖 5-2 去背景例圖

接著,再由前景影像中,去找最大的連續區塊當做人的形狀。

選取出的區塊 圖 5-3 擷取出的人形

當然,如果擷取出來的人形越完整,在計算特徵時的效果也會越好。而如果在找 到的影像區塊中,有過大的破洞、缺塊,將嚴重影響特徵所代表的意義;所以在遇到 此問題時,將要另行去做處理,將洞補起。

特徵計算

在特徵擷取的部份,主要參考論文”Ghost: A Human Body Part Labeling System Using Silhouettes”[5],使用人體形狀對水平、垂直兩個方向的投影累積量(The vertical and horizontal normalized projection histograms)來當作主要的特徵資料。

選取出的人形二值影像 (binary image) IMAGE投影出來的結果,可以用兩個一維 陣列HistVHistH來表示:

[ ]

[ ]

=

= max

min

,

Y

Y y

V x IMAGE x y

Hist , XminxXmax

[ ]

[ ]

=

= max

min

,

X

X x

H y IMAGE x y

Hist , YminyYmax

(五.1)

Hist 、V 在某種程度上可以表現出人的姿勢,雖然對於細部的變化沒有辦法很明

確的表現出來,但是對於變化比較大的情況,大多能做出區分。如下圖 (a) 所示,水 平方向的投影很明顯可以看出有伸出一個部份,而圖 (b) 則是有兩個;而在垂直方向 的投影方面,也可以看出圖 (a) 所凸出的方向是向左方,而圖 (b) 則是左右兩方均有

HistH

凸出。

(a) 出拳中的姿勢 (b) 正步中的姿勢

圖 5-4 投影累積量例圖

而實際要對 、 做分群的話,要能夠計算之間的差異;因此要再對

、 各別去調整。首先,要先使整個序列的 、 的大小一致(於本

實驗中,統一將其大小改為128 的陣列),並做 normalize,使的 HistV HistH

HistV HistH HistV HistH

[ ]=1

x

V x

Hist , ∑ ′[ ]=1

y

H y

Hist (五. 2)

如此,經過修改過的資料 ′、

HistV HistH就可以利用Euclidean Distance 的方法,來計 算其差異性。

但在調整大小的時候,也會同時失去兩者之間的比例關係,因此也要先計算調整 前兩者大小的比值

的寬度 的高度 IMAGE

IMAGE

R= 。

如此, ′ ′

H

V Hist

Hist

R, , 就是之後來用來做動作辨識用的三組特徵序列。

分群與符號化

由於 ′ ′

H

V Hist

Hist

R, , 這三組特徵序列都是連續的數值資料,因此在訓練、辨識

前要先轉換為離散的符號。

在訓練階段時,當得到所有訓練資料的的特徵值列後,對三組特徵的空間個別利

用「K-Means 分群法」去分群(要分成幾群要由使用者指定);而分群後,再對各群各

HistV : 5.77E-05 7.76E-05 0.00019 0.00012 K 0.000057 0.000020

HistH 0.00052 0.0015 0.00196 0.00235 K 0.003057 0.002157

而經過分群後,可以發現R、 ′

R 1, 3, 0, 6, 4, 2

HistV 0, 2, 2, 14, 8, 8

HistH : 6, 12, 14, 0, 13, 13,

最後,就以這種形式的資料來代表每一個連續的動作。

訓練、辨識

在本論文的實驗中,為了測試在各種情況下,原始HMM/MFS 的辨識方法效果以 及本論文「雜訊干擾下的資料辨識」方法的效果,所以除了一般較大量的訓練資料試 驗外,也刻意降低訓練資料量來增加無法辨識的資料量。

而對於辨識結果的影響,主要分成「可控制的參數、方法」與「無法控制的因素」

兩部份。

可控制的參數、方法

包含訓練資料的數量,主要可以拿來調整、影響辨識結果的部分有下列幾點:

1. 訓練資料、測試資料的樣本數目

分別對每一種動作各取5、10、20 筆資料來當作訓練資料,並取 10 筆資料當作 測試用。

2. 分群時的分群數目設定

也就是K-Means 演算法中 K 的值。拿來測試的三組觀察值分群數目組合為 3, 7, 7、5, 10, 10、7, 15, 15、10, 20, 20 共四種。

3. 權重的計算方式

包含不特別處理權重,直接使用均勻分布,總共有五種不同的方法:

A. 不加權重(Uniform) 各組特徵的權重相同

B. 各狀態獨立權重,每次計算(IW) C. 各狀態獨立權重,計算一次(IWO)

D. 各狀態單一權重,每次計算(SW) E. 各狀態單一權重,計算一次(SWO) 4. 辨識方法

除了「雜訊干擾下的資料辨識」中所提的三種方法外,包括只使用原始的辨識 方法,而不做額外處理,總共有四種不同的方法:

1. 不做額外處理(None)

2. 拋棄無法對應的部份觀察值(FeatureSkip) 3. 拋棄權重小的部份觀察值(StepFeatureSkip) 4. 忽略無狀態轉移可能性的時刻(TimeStataSkip)

在此,我們將對上面所提到所有可能的組合都進行測試。也就是對於資料,總共 有12 種組合(訓練資料數目、分群數目);而對每一種資料,都再做 5 種不同的訓練

(權重的計算)。最後,再對上述共60 組模型,進行 4 種不同的辨識方式。

無法控制的因素

除了上述的參數會影響辨識結果外,另外還有三個無法控制的因素也會影響結果:

1. 訓練樣本

訓練的樣本的選取對於辨識的結果影響非常大,選到好的樣本,會大幅的提升 辨識的正確率,反之則會大幅降低。所以在選取訓練資料和測試資料時,都是 採用隨機選取的方法;而為了確保實驗的有效性,每一次測試都選出五組不同 的訓練資料、辨識資料,並對他們的辨識結果取平均。

2. K-Means 的結果

目前在得到訓練資料後,必須先將所有訓練資料的各組特徵做分群,並以分群 的結果將訓練資料和測試資料轉換為符號序列;但是由於目前所使用的

K-Means 分群的方法,必須用亂數取起始的分群中心,所以每次分出來的結果

次的分群,每一次的結果各別去做辨識。

3. 亂數的起始模型

在HMM 中訓練用的 EM Method 必須要先給予一組起始的參數,讓他來作收 歛;因此,不同的起始參數結果也會有不同的辨識率。而由於本論文對於HMM 的起始參數有部份是採用亂數,因此,對同樣的資料也會產生不完全相同的結 果。為了避免實驗時的結果碰到特例,也對同一組資料產生數個不同的起始模 型進行訓練、辨識,並取以結果的平均值。

在此,由於考量到重複實驗次數過多時會耗費非常多的時間,所以對於上述所提 及的因素,都各做5 次取其結果來平均。

相關文件