1.一種手勢識別方法,其特征在于,包括如下步驟:
步驟S1,通過一圖像采集裝置獲取關(guān)聯(lián)于使用者全身的視頻數(shù)據(jù)流,并處理得到關(guān)聯(lián)于所述使用者的各個骨骼點(diǎn)的骨骼點(diǎn)信息;
步驟S2,根據(jù)所述骨骼點(diǎn)信息,確定表示所述使用者的手心位置的手心位置信息與表示所述使用者的手長的手長信息;
步驟S3,根據(jù)所述手心位置信息判斷所述使用者的手心距離地面的高度是否大于一預(yù)設(shè)的高度閾值:
若是,則繼續(xù)執(zhí)行所述步驟S4;
若否,則退出;
步驟S4,判斷得到手掌區(qū)域的圖像,并對所述手掌區(qū)域的圖像進(jìn)行分割裁剪以及進(jìn)行預(yù)處理,得到相應(yīng)的手部掩膜并輸出;
步驟S5,根據(jù)所述處理結(jié)果,識別出手部的指尖區(qū)域,并根據(jù)所述指尖區(qū)域的幾何關(guān)系對所述使用者的手勢進(jìn)行識別。
2.如權(quán)利要求1所述的手勢識別方法,其特征在于,所述步驟S1中,所述圖像采集裝置為景深攝像頭;
所述視頻數(shù)據(jù)為關(guān)聯(lián)于所述使用者的全身的景深視頻數(shù)據(jù)。
3.如權(quán)利要求2所述的手勢識別方法,其特征在于,所述步驟S1包括:
步驟S11,采用所述圖像采集裝置采集包括背景以及所述使用者的全身的景深圖像的視頻數(shù)據(jù)流;
步驟S12,將所述視頻數(shù)據(jù)流中包括的每幀的所述景深圖像的像素的三維信息進(jìn)行空間變換,以得到實(shí)際空間中的對應(yīng)的點(diǎn)云信息;
步驟S13,根據(jù)每個所述像素對應(yīng)的所述點(diǎn)云信息,獲得每個所述像素與所述景深攝像頭之間的距離;
步驟S14,分別根據(jù)每個所述像素對應(yīng)的所述距離,處理得到所述骨骼點(diǎn)信息。
4.如權(quán)利要求1所述的手勢識別方法,其特征在于,所述步驟S2包括:
步驟S21,根據(jù)處理得到的關(guān)聯(lián)于所述使用者的各個所述骨骼點(diǎn)的所述骨骼點(diǎn)信息,獲得所述使用者的所述手心位置信息;
步驟S22,根據(jù)處理得到的關(guān)聯(lián)于所述使用者的各個所述骨骼點(diǎn)的所述骨骼點(diǎn)信息,依照下述公式計算得到所述使用者的身高信息:
其中,H1表示所述使用者的身高數(shù)值,H2表示背景的像素高度數(shù)值,H3表示所述使用者在被采集的視頻圖像中的像素高度數(shù)值,d表示所述使用者與所述景深攝像頭之間的距離數(shù)值,θ表示所述景深攝像頭在水平方向上的垂直角度數(shù)值;
步驟S23,根據(jù)預(yù)設(shè)的人體身高與人體手長之間的對應(yīng)關(guān)系,獲得所述使用者的所述手長信息。
5.如權(quán)利要求1所述的手勢識別方法,其特征在于,所述步驟S4包括:
步驟S41,根據(jù)所述手心位置信息和所述手長信息,去除所述使用者的手部包括的所有與所述手心位置的距離大于所述手長的一半的像素點(diǎn)的信息,并依據(jù)去除后的手部包括的所有所述像素點(diǎn)的信息得到手部數(shù)據(jù);
步驟S42,通過K均值聚類算法對處理得到的所述手部數(shù)據(jù)進(jìn)行聚類處理,得到經(jīng)過聚類處理后的所述手部數(shù)據(jù);
步驟S43,設(shè)置最小聚類數(shù),以對所述手部數(shù)據(jù)進(jìn)行噪聲干擾像素簇的過濾排除,從而得到關(guān)聯(lián)于所述手部數(shù)據(jù)的手部掩膜并輸出。
6.如權(quán)利要求5所述的手勢識別方法,其特征在于,所述手部數(shù)據(jù)包含在以所述使用者的所述手長的一半為半徑、并以所述使用者的所述手心位置為圓心的一個球形區(qū)域內(nèi)。
7.如權(quán)利要求1所述的手勢識別方法,其特征在于,所述步驟S5包括:
步驟S51,采用Moore鄰域輪廓跟蹤算法檢測得到所述手部掩膜的邊緣輪廓,并獲得包括所述邊緣輪廓上的所有輪廓點(diǎn)的第一點(diǎn)鏈集合;
步驟S52,采用Graham掃描算法檢測得到所述手部掩膜的手部輪廓上的凸包集,并獲得包括所有凸包的第二點(diǎn)鏈集合;
步驟S53,采用輪廓最大凹陷點(diǎn)掃描算法,于所述手部掩膜的所述邊緣輪廓和所述手部輪廓的所述凸包集上檢測得到所有所述凸點(diǎn)之間的最大凹陷點(diǎn),并獲得包括所述手部輪廓上的凹凸點(diǎn)的第三點(diǎn)鏈集合;
步驟S54,采用凹凸夾角識別算法,依據(jù)關(guān)聯(lián)于所述手部輪廓的所述第 三點(diǎn)鏈集合處理得到包括手部的所有指尖點(diǎn)的第四點(diǎn)鏈集合;
步驟S55,根據(jù)所述指尖點(diǎn)識別得到手部的每個手指,隨后執(zhí)行手勢識別操作。
8.如權(quán)利要求7所述的手勢識別方法,其特征在于,所述步驟S55中,執(zhí)行手勢識別操作的步驟具體包括:
步驟S551,識別得到手部的所有所述手指的個數(shù);
步驟S552,,根據(jù)預(yù)設(shè)信息判斷得到每根所述手指的名稱、方向向量以及相鄰所述手指之間的夾角并輸出;
步驟S553,根據(jù)所述步驟S552中輸出的信息形成一三層決策樹,并根據(jù)所述三層決策樹對手勢進(jìn)行識別。
9.如權(quán)利要求5所述的手勢識別方法,其特征在于,所述步驟S42中,所述K均值聚類算法中的K值設(shè)定為固定數(shù)值2。