基於動態時間扭曲之 人體姿勢辨識 dynamic time warping...

44
國立台灣師範大學 資訊工程研究所碩士論文 指導教授: 李忠謀 博士 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping Based Recognition Of Human Body Gestures 研究生: 黃致巽 中華民國 102 7

Upload: others

Post on 29-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

國立台灣師範大學 資訊工程研究所碩士論文

指導教授: 李忠謀 博士

基於動態時間扭曲之 人體姿勢辨識

Dynamic Time Warping Based Recognition Of Human Body Gestures

研究生: 黃致巽 撰

中華民國 102 年 7 月

Page 2: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

II

中文摘要

辨識技術在電腦視覺的領域中,是非常重要的一項課題。在生活中處處可

見,如指紋辨識、眼睛辨識、姿勢辨識等應用。人體姿勢由開始到完成可以視為

連續的靜態姿勢組成,利用一般攝影機進行辨識會因為其高複雜度的資訊而有所

限制。近年來由於體感控制加入姿勢辨識中,原理為利用更具特徵性的骨架資訊

和深度資訊,使用者只需要站在攝影機前面就可以達到控制滑鼠和鍵盤的效果。

因此本研究使用Kinect作為輸入端,讓使用者能夠自行輸入動作後經由系統

進行辨識,使用者不需侷限於特定的姿勢,利用Kinect所提供的人體關節點座標

( , )x y 值,經過正規化後,可得到以人體肩膀中央為原點的新座標系統。利用動

態時間扭曲(Dynamic Time Warping)演算法和最近鄰居法(1-Nearest Neighbor)對

使用者的姿勢進行辨識,辨識時計算目前姿勢和訓練樣本的歐幾里得距離,挑選

差距最小的為辨識結果,並設計增量(Incremental)演算法讓使用者不需額外訓練

就可以維持理想的辨識率。

本系統的固定姿勢在概括樣本(General Sample)平均辨識率可達86.02%,辨

識五種自訂姿勢時也可達到75.60%的辨識率,使用增量法比未使用提升了近3%

的辨識率,証明此法可行性。

關鍵字: 姿勢辨識、骨架資訊、Kinect、動態時間扭曲

Page 3: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

III

Abstract

Recognition technology is a very important issue in the area of computer vision.

The applications include fingerprint recognition, iris recognition and gestures

recognition in our lives. Body gestures are composed of many continuously static

poses that are segmented from the action, it’s difficult to work because high

complexity information by using common webcam. In recent years, somatosensory

system had become popular in gestures recognition, user could control the object in

the screen like using mouse or keyboard.

This paper establishes a human body gestures recognition system, which can

recognized the gestures from user defined. Using Kinect to generated 3D

coordinates ( , )x y value of skeleton joints, and using translation method to normalized

coordinates, after that, we get a new original point by Shoulder Center point. We use

Dynamic Time Warping (DTW) algorithm and 1-Nearest Neighbor to compare and

classify body gestures. Calculating the Euclidean Distance between training data and

testing data. The minimum distance is the result. Finally, we design an Incremental

method to keep recognition rate without any extra training by user.

In our system, the average recognition rate of static gestures in general sample is

86.02%, five gestures defined by user is 75.60%, and increasing almost 3% after

using incremental method.

Keywords:Gestures recognition, Skeleton information, Kinect, Dynamic Time

Warping

Page 4: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

IV

目錄 附圖目錄 ..................................................................................................................V

附表目錄 ................................................................................................................ VI 第一章 簡介........................................................................................................... 1

1.1 研究動機 .................................................................................................. 1

1.2 研究目的 .................................................................................................. 2

1.3 研究範圍及限制 ...................................................................................... 2

1.4 論文內容架構 .......................................................................................... 3

第二章 文獻探討 ................................................................................................... 4 2.1 姿勢辨識文獻 .......................................................................................... 4 2.1.1 偵測人體資訊.............................................................................. 4 2.1.2 人體姿勢表示.............................................................................. 6 2.1.3 姿勢行為分析.............................................................................. 7 2.2 Kinect 攝影機架構與原理 ....................................................................... 9

第三章 研究方法 ................................................................................................. 13

3.1 系統概述和流程圖.................................................................................. 13

3.2 資料前處理………………………………………………………………..14 3.3 特徵擷取…………………………………………………………………..16 3.4 動態時間扭曲 ......................................................................................... 18 3.5 姿勢辨識 ................................................................................................. 20 3.6 系統實作 ................................................................................................. 21

第四章 實驗和結果 ............................................................................................. 23

4.1 實驗說明 ................................................................................................. 23

4.2 固定姿勢辨識 ......................................................................................... 24 4.2.1 單一使用者樣本辨識率 .............................................................. 24 4.2.2 概括樣本辨識率.......................................................................... 26 4.3 自訂姿勢辨識 ......................................................................................... 29 4.3.1 自訂姿勢辨識率.......................................................................... 29 4.3.2 增量辨識率.................................................................................. 31 4.4 結果分析 ................................................................................................. 33

第五章 結論與未來研究 ..................................................................................... 34 5.1 結論......................................................................................................... 34 5.2 未來研究 ................................................................................................. 35

參考文獻 ................................................................................................................ 36

Page 5: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

V

附圖目錄

圖 1.1 Kinect 偵測區域圖 ................................................................................. 3 圖 2.1 偵測人體資訊方法................................................................................. 5

圖 2.2 人體姿勢表示 ........................................................................................ 7 圖 2.3 姿勢行為分析示意圖............................................................................. 8 圖 2.4 HMM 模型示意圖.................................................................................. 9 圖 2.5 Kinect 攝影機外觀 ............................................................................... 10 圖 2.6 Kinect 硬體架構 ................................................................................... 10 圖 2.7 Kinect 關節點........................................................................................11

圖 2.8 三維感測器所構成的之深度場景........................................................ 12

圖 3.1 系統流程圖 .......................................................................................... 14

圖 3.2 本研究使用之關節點........................................................................... 15

圖 3.3 座標平移法示意圖............................................................................... 15

圖 3.4 座標正規化示意圖............................................................................... 16 圖 3.5 特徵擷取流程圖................................................................................... 17 圖 3.6 DTW 演算法之路徑產生圖 ................................................................. 19 圖 3.7 元素點之路徑圖................................................................................... 20

Page 6: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

VI

附表目錄

表 1.1 使用者端軟硬體需求 ........................................................................... 3 表 2.1 Kinect 硬體規格表 .............................................................................11 表 4.1 系統開發環境 .................................................................................... 23 表 4.2 第一組姿勢 ........................................................................................ 24 表 4.3 第二組姿勢 ........................................................................................ 24 表 4.4 單一使用者辨識率(第一組姿勢)....................................................... 25 表 4.5 單一使用者辨識率(第二組姿勢)....................................................... 25 表 4.6 單一使用者訓練樣本數(第一組姿勢) ............................................... 25 表 4.7 單一使用者訓練樣本數(第二組姿勢) ............................................... 26 表 4.8 概括樣本辨識率(第一組姿勢)........................................................... 27 表 4.9 概括樣本辨識率(第二組姿勢)........................................................... 27 表 4.10 概括樣本訓練次數(第一組姿勢)....................................................... 28 表 4.11 概括樣本訓練次數(第二組姿勢) ....................................................... 28 表 4.12 五種運動姿勢 .................................................................................... 29 表 4.13 自訂姿勢辨識率................................................................................. 30 表 4.14 自訂姿勢訓練次數............................................................................. 30 表 4.15 辨識率比較表 .................................................................................... 31 表 4.16 增量自訂姿勢辨識率 ......................................................................... 32 表 4.17 未增量與增量辨識率比較表 ............................................................. 32

Page 7: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

1

第一章 簡介

1.1 研究動機

隨著科技日新月異,電腦已經不再是令人陌生的東西,為了滿足人們的依

賴,許多結合電腦和生活的產品也隨之產生,諸如:網路攝影機、觸控式螢幕…

等,其目的在於使用者可以經由操作特定物品來達到和電腦之間的互動,讓電腦

明白使用者的需求。

以往要順利的使用電腦,滑鼠和鍵盤的使用是必要的,對於不便或不熟悉的

使用者是一種困擾,為了能夠讓操作電腦能夠更加友善和人性化,在2010年11

月,微軟公司(Microsoft)研發並推出了體感攝影機Kinect,這項發明以身體就是

控制器為理念提供了用戶可以肢體動作取代鍵盤和滑鼠,以更直覺的方式控制電

腦,除了進行遊戲以外,也有在醫學上的復健或是手術等應用產生[1]。

在與電腦互動的應用下,辨識技術是一項非常重要的議題,如:人臉辨識、

姿勢辨識等、指紋辨識等,利用電腦的快速和方便性來取代人類肉眼上的辨識,

相較於其他辨識,姿勢辨識應用近年來有成長的趨勢,像是投影片的控制[2]或

是電視螢幕的遙控器等,常見的運作方法為事前設定幾個特定的姿勢讓使用者使

用,並且根據辨識結果來操作機器,達到和電腦互動的效果。

Page 8: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

2

1.2 研究目的

基於許多的姿勢辨識,其能力僅限於固定數量的辨識,姿勢數量的固定會大

大限制整個系統的應用範圍,為此,本論文提出一個使用Kinect為輸入端的人體

姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

(Dynamic Time Warping)來設計一個讓使用者可自行定義姿勢動作的系統,使未

來的應用上更有彈性。然而姿勢辨識需要使用者事前準備相對應的訓練資料,如

果需要大量的訓練資料,將會降低使用此系統的便利性。因此在本研究設計中,

使用者僅需要產生少量的訓練資料,佐以我們所發展的增量式方法,提升姿勢辨

識的準確度。

1.3 研究範圍及限制

本文中以 Kinect 攝影機當作輸入端,將其放於使用者面前進行系統的訓練

及測試。由於 Kinect 本身系統運作條件,故需要有以下的使用限制:

(1) Kinect 偵測距離有其硬體限制,使用者須距離 Kinect 水平角 57 度內、距離

1.2 到 3.6 公尺並且必須面向 Kinect 來使用本系統,如圖 1.1 所示。

(2) Kinect 偵測範圍內不能有障礙物,以免影像生成不正確。

(3) 本系統必須運行在符合 Kinect 軟硬體需求的電腦上,如表 1.1 所示[1]。

Page 9: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

3

圖 1.1 Kinect 偵測區域圖

表 1.1 使用者端軟硬體系統需求

1.4 論文內容架構

本論文共分成五章,第二章為姿勢辨識相關研究文獻探討,並說明其相關的

運作理論。第三章為架構流程和主要研究理論與方法,第四章為實驗和結果分

析,第五章為論文結論和未來研究。

Page 10: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

4

第二章 文獻探討

在討論姿勢辨識技術和 Kinect 運作原理和應用上,本文相關研究分成兩個

部分:(1)人體姿勢辨識相關文獻、(2)Kinect 架構和運作原理。

2.1 人體姿勢辨識相關文獻

人體姿勢辨識的領域中,完成一個姿勢辨識系統需要三個主要步驟,分別是

(1)偵測人體資訊(Human Detection)、(2)人體姿勢表示(Pose Representation)以及(3)

姿勢行為分析(Behavior Understanding),偵測人體資訊在於切割人體和背景,人

體姿勢表示為將人體資訊特徵化,行為分析則是預測和分類結果。

近來的研究中,在人體姿勢表示的部分由以往用二維資訊來表示的人體資訊

提升到三維資訊[3],讓人體資訊有了深度空間,多了深度資訊就更能具體的描

述人體姿勢在空間中的位置。在硬體方面也有了突破,由一般攝影機提升至深度

攝影機,如微軟所開發的 Kinect 為代表。

2.1.1 偵測人體資訊

對於所有的姿勢辨識技術,資料的前處理都必須由偵測人體資訊開始,主要

有 兩 個 方 法 : 動 作 分 割 (Motion Segmentation) 和 物 件 分 類 (Objection

Classification),如圖 2.1 所示。

Page 11: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

5

圖 2.1 偵測人體資訊方法

1.動作分割

在動作分割上,人體偵測最典型的方式就是背景相減法 (Background

Subtraction),除了可以較明顯的將畫面中的前景與背景區分開來,對於雜訊的影

響也比較少,以 Lo 等人[4]所提出的時間軸中間值法(Temporal Median),是較常

被使用的去背景方式。另外其他去背景的方式如連續影像相減 (Temporal

Differencing)[5]是利用連續時間上的影像做像素(Pixel)相減,如果兩者之間差值

的絕對值大於零,則表示前景物有移動,反之則沒有移動。而光流法(Optical

Flow)[6]是利用光線的強度變化判斷是否人體有移動,缺點是容易受環境影響。

2.物件分類

物件分類上有兩種方式:基於形狀的分類法(Shape Classification)和基於動作

的分類法(Motion Classification),其中形狀分類法是利用標是物體的輪廓或是一

些特徵點的移動來分辨物體,缺點是可能會因為人體的轉動而影響觀察物體輪

廓。而動作分類法則是以移動軌跡為基礎來判斷,可以克服形狀分類法的缺點,

Page 12: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

6

但是在不同的應用環境中物體的移動軌跡所給予的資訊是不足的,故近年來採用

的方式為融合上述兩種方法來完成[7]。

2.1.2 人體姿勢表示

人體姿勢表示主要有兩種方法:(1)3D Model-Based 和(2)Model-Free,如圖

2.2 所示。當取得了人體資訊之後,必須要有姿勢的表示方法來呈現軀幹和四肢

的位置,近年來所使用的方式為建立 3D 模型來表示較多,由 Xiaofei[6]所提出

將身體設定數個關節點並且對應到三維的空間位置,之後利用追蹤(Tracking)等

方式去表示目前關節點的位置和變化,其好處在於建立三維模型時,不會因為人

體的旋轉產生遮蔽而影響軀幹的相對應位置,因此可以利用關節點在移動時的資

訊做為姿勢辨識的特徵之一,相較於以往的二維資訊是較為準確的。Model-Free

在由 Kaiqi[8]所提出的方法當中,可以輪廓(Shape)、軌跡(Trajectory)和光流法

(Optical Flow)來表示人體的姿勢,其中輪廓資訊的效果最好,因為人體姿勢都

有其形狀的特殊性,如舉手和跑步,其人體輪廓就有很大的不同,再加上如果是

辨識單一人體,在測試環境中就具有相當的代表性。軌跡的姿勢表示,移動的速

度和方向是分類的重點,因此利用軌跡資訊可以很容易的將跑步和靜止狀態區分

開來,在光流法的表示中,是利用光線的變化來判斷是否有姿勢變化,常用的方

式在文獻[9]提到的 Lucas-Kanade 的光流演算法所構成的光流特徵,雖然也可以

當作姿勢特徵,但是容易環境影響而產生雜訊。

Page 13: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

7

圖 2.2 人體姿勢表示方法

2.1.3 姿勢行為分析

姿勢行為分析是將經由演算法計算完的影像資料加以統整分析,並且做行為

判別和分類,在 Xiaofeic 和 Ronald 等人[10]發表的論文當中提到有兩大分類:(1)

基於樣本的比對方法(Template Matching Based Method)和(2)狀態空間法(State

Space Approaches),如圖 2.3 所示。

1.基於樣本的比對方法

基於樣本的比對方法為利用姿勢的一些參數,如方向、速度、距離等代入

主成分分析法(Principal Component Analysis,簡稱 PCA)、支持向量機(Support

Vector Machine,簡稱 SVM) [11]來判斷姿勢差異,PCA 是一種分析和簡化數據

的技術,PCA 常被用來作為人臉辨識[12],其中有兩個理由: (1)PCA 的方法可以

快速且容易的計算出結果,(2)在線性投影上,PCA 可以利用降低維度留下最具

有代表性的特徵。而由文獻[13]所提出姿勢辨識研究中,將 PCA 用於人體姿勢

輪廓的特徵擷取上,在區分姿勢的特徵上也有不錯的成果。SVM 其運作原理為

將資料用一直線或者是超平面(Hyper plane)將不同類別的資料分開來達到辨識,

Page 14: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

8

在文獻[14]所提出的人體辨識中,找出人體關節點並把關節點資訊儲存成特徵向

量,將關節點的特徵向量利用 SVM 分類。

圖 2.3 姿勢行為分析方法

2.狀態空間法

此法是將動作特徵轉換成狀態(State)來表示,一個連續的動作,可以看成一

連串的靜態姿勢所構成的狀態,可得到一個連續的狀態序列,然後在個別狀態之

間使用機率條件來產生連結。這方法最常使用的是在隱馬爾可夫模型(Hidden

Markov Model,簡稱 HMM)。由 Baum 和 Ted 所提出[15],是由有限狀態機(Finite

State Machine)所衍生出的數學模型,如圖 2.4 所示。此法一開始用於語音辨識上

較多,而後由文獻[16]提出可以利用建立人體三維模型來表示每一個狀態,再利

用狀態轉換機率來表示動作,文獻[17]中為最早提出了可以辨識六種網球擊球動

作的姿勢辨識,在近年的研究如 Liu[18]和 Wang[19]中也顯示 HMM 在姿勢的辨

識上有不錯的效果。在概念上,HMM 有下列幾個主要元素: 1 2{ , ,.... }NS S S S 表

示為狀態的集合, 1 2{ , ,... }MV v v v 表示為所有可能的觀察值集合,A 為狀態轉換

Page 15: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

9

機率矩陣,B 為特定狀態下的觀察值分佈機率矩陣, 為初始狀態機率矩陣,這

三機率矩陣合在一起,稱為 HMM 的參數, ( , , )A B 因此找出一組參數就

可以表示 HMM 的一個模型。

圖 2.4 HMM 模型示意圖

2.2 Kinect 架構和運作原理

微軟公司於 2010 年 11 月推出的 Kinect 控制器,由圖 2.5 所示。不同於以往

的網路攝影機只能處理二維資訊,對於偵測和分析人體是較為困難的,Kinect

是一個具有能夠偵測三維深度資訊的攝影機,有了深度資訊,人體就更容易由背

景分割出來,對於找到關節點也更容易,因此本論文使用了此硬體設備做為攝影

機輸入端。

Kinect 的硬體架構為一個 RGB 色彩攝影機鏡頭,一組三維深度感測器(包含

一個紅外線發射器及一個紅外線接收深度感應器)、一組陣列式麥克風和一個可

以調整俯仰角至 27 度並具備追焦功能的轉動馬達(圖 2.6)。經由 Kinect 所給予的

資訊可以得到(1)RGB 彩色影像、(2)深度影像、(3)聲音串流,並由透過 Kinect SDK

Page 16: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

10

等使用者介面軟體我們可以得到人體 20 個關節點(圖 2.7)的座標資訊,故可以利

用其資料進行分析以利人體姿勢的辨識。

圖 2.5 Kinect 攝影機外觀[1]

圖 2.6 Kinect 硬體架構[1]

表 2.1 Kinect 硬體規格表[1]

感應項目 有效範圍 顏色與深度 1.2 ~ 3.6 公尺 骨架追蹤 1.2 ~ 3.6 公尺 視野角度 水平 57 度、垂直 43 度 底座馬達旋轉 上下各 28 度

Page 17: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

11

每秒畫格 30 FPS 深度解析度 QVGA (320 x 240) 顏色解析度 VGA (640 x 480) 聲音格式 16KHz, 16 位元 mono pulse code modulation (PCM) 聲音輸入 四麥克風陣列、24 位元類比數位轉換 (ADC)、雜音消除

圖 2.7 Kinect 關節點[1]

Kinect 的深度影像主要是經由紅外線發射器發射出帶有標記的紅外線掃描

場景,使用光線編碼(Light Coding)[20]的方式建立點雲(Point Cloud)深度影像,

並且利用紅外線攝影機把資料回收並且分析場景深度,並且以不同顏色來代表不

同物件與 Kinect 之間的距離,如圖 2.8 所示。引用文獻[20]的描述,光線編碼技

術理論是利用連續光(近紅外線)對測量空間進行編碼,經感應器讀取編碼的光

線,交由晶片運算進行解碼後,產生成一張具有深度的圖像。光線編碼技術的關

鍵是 Laser Speckle 雷射光散斑,當雷射光照射到粗糙物體時,會形成隨機的反

射斑點,稱之為散斑。散斑具有高度隨機性,也會隨著距離而變換圖案,空間中

Page 18: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

12

任何兩處的散斑都會是不同的圖案,等於是將整個空間加上了標記。當標示完成

後,即可以進行前景及背景的分離並辨識出使用者,最後將資料整理成骨架資

訊。當有了骨架資訊之後,就可以將其應用在人體的姿勢辨識上。

圖 2.8 三維感測器所構成的之深度場景[20]

Page 19: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

13

第三章 研究方法

本研究提出一個人體姿勢辨識系統,並選用 Kinect 作為攝影機輸入端。本

章節將會從系統流程、資料前處理、特徵擷取、動態時間扭曲演算法、姿勢辨識

和系統實作說明進行敘述。

3.1 系統概述和流程圖

本文中的人體姿勢辨識分為三個部分:(1)骨架追蹤和正規化、(2)姿勢特徵

擷取和(3)姿勢辨識,如圖 3.1 所示。一開始經由 Kinect 可以得到人體骨架關節的

三維座標和深度影像。將所得的人體骨架資訊以肩膀中央點(Shoulder Center)為

新的原點做座標轉換(Transformations)做正規化(Normalized)的前處理,此為系統

第一部分。

在系統的訓練階段時,根據使用者姿勢快慢利用雙手六個關節點和門檻值

(Threshold)做比對,從比對結果做特徵擷取並將所產生的訓練樣本分類,此為系

統第二部分。

第三部分則是在測試階段時使用動態時間扭曲演算法將測試樣本並和訓練

樣本分別計算其歐幾里得距離,計算之後利用最近鄰居法將差距最小的樣本視為

辨識結果。

Page 20: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

14

圖 3.1 系統流程圖

3.2 資料前處理

本節中將對 Kinect 所提供的三維骨架進行座標正規化的資訊前處理。Kinect

所提供的關節點資訊共 20 個,由於人體姿勢的變化大多由頭和雙手的上半身至

下半身的膝蓋所組成,故本研究在這裡所採用的關節點為 11 個,分別是:頭

(Head)、左手(Hand Left)、左手腕(Wrist Left)、左手肘(Elbow Left)、左肩膀(Shoulder

Left)、左膝蓋(Knee Left)、右手(Hand Right)、右手腕(Wrist Right)、右手肘(Elbow

Right)、右肩膀(Shoulder Right)、右膝蓋(Knee Right)。如圖 3.2 對應各關節點所

示。

Page 21: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

15

圖 3.2 本研究使用之關節點,包含;(1)頭、(2)左手、(3)左手腕、(4)左手肘、(5)

左肩膀、(6)左膝蓋、(7)右手、(8)右手腕、(9)右手肘、(10)右肩膀、(11)右膝蓋

將上述的 11 個關節點利用文獻[21]所提到的方法來進行座標轉換,主要是

將一個圖形按照一定的方向移動一定的距離。v為原始的座標,v為經過平移之

後的座標,dx為 x軸的平移向量,dy 為 y 軸的平移向量,dz 為 z 軸的平移向量,

並且以平移矩陣來表示,把平移矩陣和原始三維座標做內積,即可將其原始座標

對應至一個新的空間座標系中,將關節點中的肩膀中央點當作新的原點並平移至

新的座標空間(0,0,0),在將其他的關節點以此為參考點,平移至新的座標,如圖

3.3 與圖 3.4 所示。

Page 22: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

16

圖 3.3 座標轉換示意圖

座標轉換平移的計算方法:

[ , , ,1]Tvv v D T x y z

(3.1)

=

1 0 00 1 00 0 10 0 0 1 1

dx xdy ydz z

(3.2)

= , , ,1 Tx dx y dy z dz (3.3)

(a) (b)

圖 3.4 座標正規化示意圖

(a)正規化前的座標(b)正規化後的座標

Page 23: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

17

3.3 特徵擷取

Kinect 提供每秒更新 30 次(30FPS)的人體 20 個關節資料 , ,x y z 座標,實際

在本系統運行為 20FPS,利用取得連續更新的 ( , )x y 座標變化來定義一次完整的

動作。由於不同使用者在做動作時的快慢不一,如果採取固定的特徵長度為一次

完整的動作時會因為動作過慢造成特徵擷取不完全,為了使姿勢特徵能夠完整保

留,故本研究利用關節點和門檻值比對和時間限制的條件,將特徵向量長度以動

態的方式進行擷取,擷取方法如下:

(1) 根據本系統在運行時的 FPS 和動作快慢的考量,為了保有一定的特徵長度

和避免使用者動作過慢,故設定最小(Min)特徵長度為 30 張影格(frame)、最

大(Max)特徵長度為 50 影格,因此一個完整動作其特徵長度為 30 到 50 影格

之間。

(2) 利用 Kinect 雙手六個關節點分別為左手(Hand Left)、左手腕(Wrist Left)、

左手肘(Elbow Left)、右手(Hand Right)、右手腕(Wrist Right)、右手肘(Elbow

Right)的座標變化決定擷取的長度,如圖 2.7 所示。

(3) 訓練階段當使用者進行動作時,上述六個關節點各自利用影格和影格之間的

座標差值與門檻值進行比對,當六個關節點自身的差值持續小於門檻值 1

秒時,系統便認定姿勢完成並決定向量長度。綜合特徵擷取方法,其流程如

圖 3.5 所示。

Page 24: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

18

圖 3.5 特徵擷取流程圖

3.4 動態時間扭曲

動態時間扭曲(Dynamic Time Warping,簡稱 DTW)是一種基於動態規劃

(Dynamic Programming)的一維序列比對的演算法[22][23],可以有效率的將搜索

比對的時間縮短。在一般的情況下,如果要求兩個 n維空間的向量 x 和 y 的距離

時,會使用歐幾里得距離(Euclidean Distance)(式 3.4) ,但是如果向量長度不同時

則不能單純使用此計算。此演算法一開始被應用在語音辨識上,因為可以依據時

間軸解決說話時間長度不一的時間扭曲(Time Warping)的問題,也就是找到訓練

樣本和測試樣本之間非線性的對應,進而決定兩個向量的相似程度,故此演算法

的目的為找出兩個長度不同的向量彼此之間的最短距離並進行相似的比對,因此

本研究使用了此演算法來解決特徵長度問題和找出樣本之間的相似性。

2 2 2 1/21 1 2 2( , ) | | [( ) ( ) ... ( ) ]n nDist x y x y x y x y x y (3.4)

Page 25: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

19

3.3.1 演算法

假 設 有 兩 個 向 量 R 和 L , 其 長 度 分 別 為 m 和 n , 可 以 表 示 為

1 2{ , ,......, }mR R R R 和 1 2{ , ,....., }nL L L L ,那麼利用 DTW 比對向量時就是要找到

一組路徑 1 1 2 2{( , ), ( , ),..., ( , )}m nR L R L R L ,其對應的各元素點之間距離和為最小,也

就代表兩個向量最相似,如圖 3.6 所示。

圖 3.6 DTW 演算法之路徑產生圖

( , )P x y 代表向量R 的 xR 和 L的 yL 的元素點比對。由圖 3.6 可知,各個點比

對距離會構成路徑,而各點之間的距離,稱為局部距離(Local Distance),以 xR 和

yL 為例可以寫成 ( , )d x y 。

DTW 路徑必須滿足以下條件:

(1) 對稱關係:

Page 26: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

20

( 1R , 1L ) = (1, 1), ( mR , nL ) = ( m , n )。代表第一次比對時必定是向量R 的第一

個點比對向量 L的第一個點,最後的比對也是兩者的最後一個點,滿足「頭

對頭、尾對尾」的關係。以本系統而言,就是滿足測試樣本的第一張影格比

對訓練樣本的第一張影格以及彼此最後影格之間的比對。

(2) 局部關係:

假設路徑的其中一個元素點 ( , )x y ,那麼前一點的路徑只有三種可能,分別

為 ( 1, )x y 、 ( , 1)x y 和 ( 1, 1)x y ,此關係定義了路徑的連續性,也規定

向量R 的任一個元素點至少對應向量 L的一個元素點。

計算兩個向量之間的最小距離(Minimum Distance),以 ( , )D x y 表示(式 3.5)。

由圖 3.7 得知, ( , )D x y 是由 ( 1, )D x y 、 ( , 1)D x y 和 ( 1, 1)D x y 加上局部距離

以遞迴的方式取最小值計算,因此只要將各點的行徑方向和距離值計算出來就可

以得到最佳路徑。

( 1, )( , ) ( , 1) ( , )

( 1, 1)

D x yD x y Min D x y d x y

D x y

(3.5)

Page 27: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

21

圖 3.7 元素點之路徑圖

3.5 姿勢辨識

經由 DTW 計算出任兩個向量的最小距離後,就可以利用最近鄰居法

(1-Nearest Neighbor,簡稱 1-NN)來決定兩個向量彼此的關係。1-NN 是一種將特

徵空間中最靠近的訓練樣本進行分類的方法,概念於相同類別的樣本,彼此的相

似程度應越高。假設已定義一組含有 i種類別資訊的 n 筆訓練資料,可以表示為

1 1 2 2{( , ), ( , ),..., ( , )}n ix y x y x y ,其中 ( , )n ix y 代表第 n 筆訓練資料的分類為 iy 。當對

於一筆新的測試資料 x ,根據 1-NN 演算法,挑出最有可能的結果(式 3.6)

本系統中為了減少姿勢誤判,因此設定了一個距離門檻值,利用 1-NN 找出

最有可能的分類時,將此最小距離跟位置門檻值進行比較,如果低於門檻值,便

認定此分類為正確結果,反之若高於門檻值則判定姿勢錯誤。

2( ) arg min || ||iiNN x x x (3.6)

Page 28: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

22

3.6 系統實作

根據上述的 DTW 演算法和姿勢辨識來進行系統實作和參數說明。

(1) 訓練樣本和測試樣本

將向量 1 2{ , ,......, }mR R R R 定義為訓練樣本,長度為 30 m 50, iR 的特徵

維度有 22 個,為 11 個關節點的 x , y 座標值,並定義為 ,0 ,1 ,21( , ,..., )i i i iR r r r 。

將向量 1 2{ , ,....., }nL L L L 定義為測試樣本,長度為 30 n 50,特徵維度有

22 個,定義為 ,0 ,1 ,21( , ,..., )j j j jL l l l 。

(2) 局部距離計算

計算局部距離則是將每個關節點減去其相對應的點後的距離,並且把各個點

的距離加總,就可計算出到各個關節點的局部距離(式 3.7)。

(3) 最小距離計算

將測試樣本和訓練樣本逐一比對,計算出測試樣本和每個訓練樣本的距離並

且和距離門檻值進行比較,找出最小距離(式 3.5)且小於門檻值之樣本,

則辨識此測試樣本的類別。

(4) 增量實驗

在測試階段中,當辨識出正確姿勢之後,將其最小距離跟本系統設計的

第二門檻值比較,如果此值低於門檻值,將此測試樣本當作新的訓練樣

本加入舊的訓練樣本中。

,0 ,0 ,1 ,1 ,21 ,21( , ) | | | | ... | |i j i j i jd i j r l r l r l (3.7)

Page 29: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

23

第四章 實驗和結果

4.1 實驗說明

本章節以實驗說明系統成效和可行性,實驗時的開發環境如表 4.1 所示,

實驗將分成兩個部分進行討論,分別是固定姿勢的辨識和自訂姿勢的辨識。

基於其他文獻[9][13]所定義的姿勢還有一般使用者能夠記憶的數量,將本系

統可容納的姿勢數量設為五種,設定每種姿勢二至五次的訓練樣本,實驗人數為

十七人,設定的訓練次數為五次,測試次數為十次,因此一組固定姿勢的資料量

為 425 個、850 個測試資料。固定姿勢會討論所需要的訓練次數、單一使用者建

立的訓練樣本準確率、多個使用者建立的概括樣本(General Sample)準確率。而自

訂姿勢也會討論訓練所需要的量、多個使用者所建立的訓練樣本準確率之外,並

且討論在增量(Incremental)的實驗中讓使用者在少量的訓練樣本下所能夠提升

的姿勢辨識率。

表 4.1 系統開發環境

Page 30: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

24

4.2 固定姿勢辨識

本文中定義了十種固定姿勢並分成兩組如表 4.1、表 4.2 所示,以此進行所

需要訓練樣本數實驗、單一使用者的訓練樣本和多個使用者的概括樣本準確率。

表 4.2 第一組姿勢

表 4.3 第二組姿勢

第二組 姿勢

舉左手 舉右手 舉雙手 左手畫圓 右手畫圓

4.2.1 單一使用者建立樣本所需訓練次數和辨識率

訓練次數對於機器學習(Machine Learning)是非常重要同時也是難以決定

的,大量的訓練次數會造成使用者過多的負擔,過少的訓練次數則會使辨識效果

降低,因此找出一個兼具使用性和辨識率的訓練樣本數為此節的重點。將兩組固

定姿勢分別進行實驗,實驗時以二至五次的訓練次數分別進行測試,測試時每個

姿勢以辨識十次為基準,將十次裡辨識成功的次數當作辨識率,以下為單一使用

者訓練和測試所得的辨識率如表 4.4、表 4.5,並且由表 4.6、表 4.7 決定訓練資

料量:

第一組 姿勢

雙手比圈 雙手交叉 右手敬禮 雙手平舉 半蹲姿勢

Page 31: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

25

表 4.4 單一使用者辨識率(第一組姿勢)

表 4.5 單一使用者辨識率(第二組姿勢)

表 4.6 單一使用者訓練樣本數(第一組姿勢)

Page 32: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

26

表 4.7 單一使用者訓練樣本數(第二組姿勢)

欲求辨識五種固定姿勢時所需要最低的訓練次數,可以經由目測上述的表

4.6 和表 4.7 的折線斜度來得知。以第一組姿勢為例,當訓練次數在四次時,五

種固定姿勢整體的辨識率已有 85%以上,五次訓練的辨識率雖有成長但是幅度相

較前面二次、三次時並不大,第二組姿勢由三次訓練到四次訓練時舉手動作趨於

緩和,而畫圓的動作辨識率成長較明顯,四次至五次時逐漸趨緩。因此經由上述

兩組實驗,將辨識固定姿勢時的最低訓練次數設為四。

4.2.2 概括樣本建立所需訓練次數和辨識率

概括樣本是多個使用者共同建立一個資料庫,讓其他使用者可直接拿此資料

庫進行測試和辨識,目的在於後續使用者不再需要建立自己的訓練資料就可以使

用。此實驗由十七位使用者中隨機挑出五位來建立概括樣本,如兩次訓練次數是

由兩位使用者分別作出相同姿勢一次並且合併而成的概括樣本,三次訓練次數由

三位使用者作出相同姿勢一次合併而成,以此類推。在測試階段,十七位使用者

直接以上述概括樣本的進行測試,不再需要訓練。表 4.8 和表 4.9 中,括號中的

Page 33: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

27

數字為幾個使用者共同建立的訓練樣本,如(1+1)表示為兩個使用者各做一次相

同動作所合併而成的樣本,以此類推,由表 4.10 和表 4.11 決定訓練樣本數:

表 4.8 概括樣本辨識率(第一組姿勢)

表 4.9 概括樣本辨識率(第二組姿勢)

Page 34: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

28

表 4.10 概括樣本訓練次數(第一組姿勢)

表 4.11 概括樣本訓練次數(第二組姿勢)

由表 4.10 所示,第一組姿勢在訓練人數為三時雙手比圈和雙手交叉辨識率

趨向平穩,人數為四時半蹲姿勢成長較明顯,而表 4.11 中第二組姿勢在辨識率

較低的畫圓在人數為三、四時漸緩,經由上述兩個實驗,本系統將概括樣本實驗

需要的訓練人數設為四人。

Page 35: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

29

4.3 自訂姿勢辨識

此節定義了五種運動種類如表 4.12,實驗時僅告訴使用者運動名稱,而實際

姿勢則由使用者自行發揮,自訂姿勢分成兩個部份,第一部份為使用者建立二至

五次訓練次數,辨識方面是五個運動以隨機抽取的方式來辨識不同數量的動作。

第二部分採用增量,以使用者各個姿勢訓練二次為基準做辨識,在測試時將低於

系統門檻值的姿勢加入成為新的訓練樣本並進行辨識,測試次數為十次,實驗人

數為十七位,並且和其他文獻所提出的人體姿勢辨識系統比較辨識率。

表 4.12 五種運動姿勢

4.3.1 自訂姿勢所需訓練次數和辨識率

為了讓本研究的自訂姿勢能夠有更大的使用彈性,五個姿勢會以隨機選取二

到五個的方式來辨識,也就是 52C 、 5

3C 、 54C 、 5

5C 。實驗時以二至五次的訓練資

料數分別進行測試,每個動作測試以十次為基準,自訂姿勢所得的辨識率如表

4.13,並且由表 4.14 決定訓練樣本數:

運動 姿勢

籃球 桌球 拳擊 排球 網球

Page 36: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

30

表 4.13 自訂姿勢辨識率

表 4.14 自訂姿勢訓練次數

由表 4.13 和表 4.14 可以得知,隨機取二種姿勢在訓練樣本數等於三的時候

有最高的辨識率,隨機取三種姿勢在訓練資料數為五時有最高的辨識率,四個姿

勢和五個姿勢在等於四時趨於穩定,因此結論為如果使用者需要辨識二個姿勢

時,最低需要三次訓練樣本,三個姿勢、四個姿勢和五個姿勢則取四次。

在辨識率方面,和文獻[24]比較彼此之間的辨識率高低,在此文獻中提到定

義了八種運動姿勢讓使用者自訂,分別為籃球、網球、射箭、桌球、拳擊、棒球、

保齡球、排球,因此分別挑出本系統和此文獻的相同的運動姿勢來比較,本系統

Page 37: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

31

以訓練樣本數五次來和文獻中的訓練次數十次做比較,比較由表 4.15 所示。

表 4.15 辨識率比較表

在上述結果方面,雖然此文獻數據是以八種動作所得知辨識率,但是本系統

基於訓練樣本數少了一半的情況下,依然可以看到本系統擁有較好的辨識率。

4.3.2 增量辨識率

此節增量的概念於讓使用者在訓練階段不需要訓練太多次,而是在測試階段

時將辨識成功的測試樣本和系統所設定的門檻值進行比對,如果小於門檻值,便

把此測試姿勢當作新的訓練樣本加入,藉由測試階段加入的樣本,彌補訓練階段

時樣本數的不足。實驗方式承前一節,但訓練階段時每個姿勢都以二次為基準,

根據十次測試結果,分成不加入樣本、加入一次、加入二次、加入三次的方式決

定辨識率,其辨識率如表 4.15 所示。

Page 38: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

32

表 4.16 增量自訂姿勢辨識率

表 4.17 未增量與增量辨識率比較表

將沒有增量和加入三次樣本的辨識率比較,由表 4.16 所示。可以發現使用

者一樣在訓練階段時建立二次訓練樣本,但是有使用增量方式的辨識率有提高的

現象,雖然測試階段所取得的樣本並不像訓練階段時取得的那麼可靠,因此提升

的辨識率幅度也不算太高,但是在訓練樣本數少且不增加使用者負擔前提下,在

本論文中使用增量來提高辨識率是可行的。

Page 39: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

33

4.4 結果分析

經由實驗觀察辨識率來分析,以下發生的情況可能會影響辨識率:

1.Kinect 本身限制

本文是以關節座標值作為特徵來進行姿勢辨識,如果使用者超出 Kinect 所

能偵測的範圍時,未偵測到的關節點就會產生雜訊而影響座標值,進而影響辨識

效果。另外 Kinect 目前無法處理人體轉動或是關節點重疊時所造成的遮蔽,也

會因為部分關節點被遮擋而降低辨識率。

2.演算法問題

動態時間扭曲演算法是從訓練樣本中找出和測試樣本比對後的最小距離並

且利用最近鄰居法演算法的當作辨識結果,但是最近的樣本可能不是正確的分類

而導致誤判,所以此演算法容易受到空間上樣本的影響而導致分類時分在錯誤的

類別。

3.樣本問題

使用者在建立樣本時,會因為姿勢不完整或是太快、太慢等問題,造成所建

立的訓練樣本並不夠理想,在固定姿勢辨識下的概括樣本中,因為只有五個使用

者所建立的樣本讓十七個使用者測試,如果樣本不夠理想,會直接影響到十七個

使用者的辨識率。另外在自訂姿勢時會因為動作過於類似而產生誤判,比如說網

球正手拍和桌球正手拍等,如果不刻意將兩個動作之間的差異性分開,在測試時

容易造成誤判而使辨識率低下。

Page 40: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

34

第五章 結論和未來研究

5.1 結論

本論文以 Kinect 感測器當作輸入端,利用 Kinect 所提供的人體骨架資訊和動

態時間扭曲演算法對人體姿勢做辨識。在實驗方面進行了兩個部份,一個是對於

固定姿勢的辨識,另一個是自訂姿勢的辨識。由前一章節的結果可以看到,當我

們定義了一些固定的姿勢時,同時必須先行告知使用者要如何進行動作,當姿勢

的表達較簡單且一致的情況下,其姿勢特徵的變化也就相對減少,辨識率比較

高。應用層面來說,在概括樣本實驗中,可由一群人設定姿勢鎖,並讓其他用戶

可以根據指示直接使用,符合快速和方便等特性。在自訂姿勢方面,由於姿勢靈

活度大,當某些類別的姿勢過於類似,加上有關節點遮蔽影響等這些 Kinect 自

身存在的問題,辨識率相對較低,但還是能維持在 75%以上的辨識率。自訂姿勢

的應用比起固定姿勢廣泛許多,如同微軟自家推出 Kinect 配合遊戲機的體感遊

戲,另外使用在操作投影片和電視螢幕也是一種應用。前章節中的增量演算法在

現實上為較理想的方式來呼應此應用,玩家在遊戲機或電腦前面可以設定一些屬

於自己的姿勢來進行操作,當在操作時,使用者會重複做出自己設定的姿勢,電

腦就可以在不增加使用者負擔的狀況下將此姿勢紀錄下來並當作新的參考使下

一次的辨識更為準確。

Page 41: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

35

5.2 未來研究

本文使用單一 Kinect 來辨識人體的姿勢。Kinect 所提供的資訊不管是深度影

像或是人體骨架座標,對於傳統的攝影機已經有了非常多的優勢,深度影像可以

快速的將人體和背景分離,骨架資訊可以快速的追蹤人體,讓使用者很容易上

手。未來希望可以嘗試多台 Kinect 來減少因為關節點遮蔽而產生的辨識錯誤,

也可不再限制使用者必須面向 Kinect,另外在演算法方面可以加以改良,嘗試不

同的機器學習方式和擷取特徵方法讓系統辨識率能夠提高。

Page 42: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

36

參考文獻

[1] Kinect for Windows 官網. Available: http://www.microsoft.com/en-us/kinectforwindows/.

[2]李韋廷, “人體姿勢判斷系統應用於投影片控制,”碩士論文,國立台灣師範大學

資訊工程所,2010.

[3] S. Yuping and H. Foroosh, “Recognition From Point Triplets,” IEEE Transactions on pattern Analysis and Machine Intelligence, vol. 31, no. 10, pp.1898-1905, 2009. [4] B. Lo and S. Velastin, “Automatic Congestion Detection System For Underground Platform,” in Proceedings of International Symposium Intelligent Multimedia, Video and Speech, pp.158-161, 2001. [5] S. Murali, R. Girisha, “Segmentation Of Motion Objects From Surveillance Video

Sequences Using Temporal Differencing Combined With Multiple Correlation,” in Proceedings of the International Conference on Advanced Video and Signal Based Surveillance, pp.472-477, 2009.

[6] A. Efros, A. Berg, G. Mori and J.Malik, “Recognizing Action At Distance,” in Proceedings of the International Conference on Computer Vision, pp.726-733, 2003. [7] J. Xiaofei, and L. Honghai, “Advances In View-Invariant Human Motion Analysis: A Review,” IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, vol. 40, no. 1, pp.13-24, 2010. [8] Y. Zhang, K. Huang, Y. Huang and T.Tan, “View-Invariant Action Recognition Using Cross Ratios Acorss Frames,” in Proceedings of the International Conference on Image Processing, pp.3549-3552, 2009.

Page 43: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

37

[9] M. Ahmad and S. Lee, “HMM-based Human Action Recognition Using Multiview Image Sequences,” in Proceedings of the International Conference on Pattern Recognition, pp.263-266, 2006. [10] R. Poppe, “Vision-Based Human Motion Analysis: An Overview,” in Proceedings of the International Conference on Computer Vision and Image Understanding, pp.4-18, 2007. [11] J. Wu, G. Pan, D. Zhang, G. Qi, and S. Li, “Gesture Recognition With A 3-D Accelerometer,” in Proceedings of the International Conference on Ubiquitous Intelligence and Computing, pp.25-38, 2009. [12] M. A. Turk and A. P. Pentland, “Face Recognition Using Eigenfaces,” in Proceedings of the International Conference on Computer Vision and Pattern Recognition, pp.586-591. 1991. [13] M. Uddin and T. Kim, “Continuous Hidden Markov Models for Depth Map-Based Human Activity Recognition,” Department of Biomedical Engineering Kyung Hee University, 2011. [14] S. Yoon and A. Kuijper, “Human Action Recognition Using Segmented Skeletal Features,” in Proceedings of the International Conference on Pattern Recognition, pp.3740-3743, 2010. [15] E. Baum, T. Prtrie, “Statistical Interference For Probability Functions Of Finite State Markov Chains,” Institute of Defense Analysis, Princetion, N.J., 1966. [16] B.-W. Min, H.-S. Yoon, J. Soh, Y.-M. Yang, and T. Ejima, “Hand Gesture Recognition Using Hidden Markov Models,” IEEE Transactions on Systems, Man, and Cybernetics, Computational Cybernetics and Simulation, pp.4232-4235, 1997. [17] J. Yamato, J. Ohya and K. Ishill, “Recognizing Human Action In Time-Sequential Images Using Hidden Markov Model,” in Proceedings of the International Conference on Computer Vision and Pattern Recognition, pp.379-385, 1992.

Page 44: 基於動態時間扭曲之 人體姿勢辨識 Dynamic Time Warping ...rportal.lib.ntnu.edu.tw/bitstream/20.500.12235/106550/1/...姿勢辨識系統,藉由Kinect所提供的人體骨架資訊,並配合動態時間扭曲

38

[18] C.-D. Liu, Y.-N Chung and P.-C C, “An Interaction-Embedded HMM Framework for Human Behavior Understanding,” in Proceedings of the International Conference on Information Technology in Biomedicine, vol. 14 no. 5, pp.1236-1246, 2010. [19] W.Wang, X. Deng, X. Qiu, S. Xia and Z.Wang, “Learning Local Models For 2D Human Motion Tracking,” in Proceedings of the International Conference on Image Processing, pp.2589-2592, 2009. [20] Kinect in depth. Available: http://www.tomshardware.co.uk/game-developers-conference-gdc-2011-world-of -warcraft,review-32131-2.html.

[21] 吳貴崗, “利用 Kinect 體感攝影機藉由人體骨架進行人類動作識別,”

碩士論文,國立台北科技大學資訊工程所,2011.

[22] Guiling Li, Wang, Yuanzhen, Min Li and Zongda Wu, “Similarity Match in Time Series Streams under Dynamic Time Warping Distance,” in Proceedings of the International Conference on Computer Science and Software Engineering, pp.399-402, 2008. [23] S. Sempena, P.R Aryan and N.U. Maulidevi, “Human Action Recognition Using Dynamic Time Warping,” in Proceedings of the International Conference on Electrical Engineering and Informatics, pp.1-5, 2011.

[24] 周敬恩, “基於軌跡辨識技術之人體姿勢自定與分辨研究,”

碩士論文,國立台灣師範大學資訊工程所,2012.