本論文提出一個可以捕捉人體全身的肢體動作的系統。此系統利用微軟的深度攝影機Kinect所擷取的深度影像作為輸入,並針對影像作前處理與背景分離,接下來系統會進入三大步驟來做肢體動作的偵測。首先是特徵點的擷取,我們使用人體具有高度自由度的部位做為我們的特徵點,例如手部、雙腳、頭部。藉由系統所訓練的像素分類器,將深度影像的像素分類成各個部位,將分類的結果透過去雜訊與偵測中心的處理,產生所需要的特徵點。再來我們將特徵點轉為特徵向量並丟入動作搜尋系統,動作搜尋使用的方式是利用多元檢索樹,搜索在資料庫中對於特徵向量可能的數個動作候選。動作篩選部分是分成三個部分,第一是與主要特徵點的距離,第二是次要特徵點的懲罰函數,第三是根據時間相依性與上一張的動作去計算距離,透過這三個篩選的過程,系統會輸出最符合當前影像的動作作為系統輸出。另外本論文也提出自動化的標記特徵點的方法,使用色彩分離的方式幫助建立人體動作資料庫。在實驗上,我們證明了本系統可以達到相當程度的準確度,並且是個即時的肢體動作捕捉的系統。
In this thesis, we propose a real-time human full-body motion capturing system using the depth image from Kinect. Our system consists of three main steps to estimate human pose. First, we extract the characteristic landmarks on human body. By using pixel-based body part classifier, we segment the human silhouette into different body part regions. Then, we remove the outliers and extract the characteristic landmarks in the centers of body part regions. Second, we transform the landmarks to the feature vector with 3D position information. We apply the K-d tree to construct example-based system which will search several possible pose candidates. Third, we apply the voting to choose the best matching pose from candidates as the estimated pose. In experimental results, we prove that our system can operate in real-time and achieve sufficiently accuracy.