一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法
【專利摘要】本發(fā)明公開了一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,包括:利用當(dāng)前幀圖像信息與前一幀圖像信息做塊匹配,得到兩幀的運(yùn)動(dòng)光流;由跟蹤過程得到的目標(biāo)的位置、大小信息獲得每一幀的初始檢測(cè)區(qū)域;將初始檢測(cè)區(qū)域做簡(jiǎn)單的閾值膚色分割得到區(qū)域分割二值圖;由初始檢測(cè)區(qū)域設(shè)置掌心位置;分別統(tǒng)計(jì)以掌心為中心點(diǎn)所有像素的內(nèi)聚和擴(kuò)散的加權(quán)和;判斷手是否處于握拳和張開狀態(tài),修正對(duì)前跟蹤算法得到的跟蹤框進(jìn)行修正。本發(fā)明方法不受限于任何跟蹤算法,靈活地運(yùn)用到手型變化過程中,及時(shí)檢測(cè)到因握拳導(dǎo)致的手型變化趨勢(shì),直接對(duì)跟蹤結(jié)果進(jìn)行修正,使跟蹤結(jié)果更加精確。
【專利說明】一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)視覺跟蹤領(lǐng)域,具體涉及一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟 蹤偏移的修正方法。
【背景技術(shù)】
[0002] 基于計(jì)算機(jī)視覺的手勢(shì)跟蹤是目前人機(jī)交互的熱點(diǎn),手勢(shì)跟蹤算法日益成熟,常 用的手勢(shì)跟蹤算法是針對(duì)固定手形,在手的正常漫游情況下,能成功跟蹤到目標(biāo)。但是,在 實(shí)際操作中,由于人手是非剛性物體,在手移動(dòng)過程中,由于實(shí)際系統(tǒng)的操作需要,用戶在 采用握拳手勢(shì)進(jìn)行"確認(rèn)"選擇過程中,手形發(fā)生較大形變。就目前研究技術(shù)而言,大部分 手勢(shì)跟蹤算法在手的形變不大時(shí),基本能正常跟蹤,而應(yīng)對(duì)手的快速形變時(shí),無論是固定模 板、半監(jiān)督、在線學(xué)習(xí)等跟蹤算法,都會(huì)出現(xiàn)不同程度的跟蹤偏移或者跟丟的情況。目前大 部分在線更新樣本算法雖然能部分解決跟蹤過程中的形變問題,但是,如圖1,仍然解決不 了握拳形變導(dǎo)致跟蹤框下移的問題。為了克服目前手勢(shì)跟蹤算法中的不足,本發(fā)明提出了 一種手勢(shì)跟蹤過程中由握拳形變導(dǎo)致跟蹤偏移的修正方法。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目標(biāo)在于克服現(xiàn)有的手勢(shì)跟蹤算法在實(shí)際應(yīng)用中存在的不足,提供了一 種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,具體技術(shù)方案如下。
[0004] 一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,包括如下步驟:
[0005] 獲取幀圖像,利用跟蹤算法得到目標(biāo)的跟蹤框作為算法的輸入圖像塊;
[0006] 利用當(dāng)前幀輸入圖像與前一幀的圖像得到光流;
[0007] 對(duì)所得光流矢量圖統(tǒng)計(jì)光流信息和光流分布特征;
[0008] 根據(jù)統(tǒng)計(jì)結(jié)果和分布特征預(yù)測(cè)手形變化趨勢(shì);
[0009] 結(jié)合手的整體運(yùn)動(dòng)速度,得到當(dāng)前人手所做動(dòng)作,根據(jù)判斷策略修正最終的跟蹤 結(jié)果。
[0010] 在其中一個(gè)實(shí)施例中,將當(dāng)前幀的跟蹤結(jié)果所在敏感區(qū)域與前一幀圖像對(duì)應(yīng)區(qū)域 做稠密光流,得到運(yùn)動(dòng)目標(biāo)的光流矢量圖。該方法能有效減少光流算法的運(yùn)算量,得到運(yùn)動(dòng) 目標(biāo)的光流矢量圖。
[0011] 在其中一個(gè)實(shí)施例中,所述對(duì)所得光流矢量圖統(tǒng)計(jì)光流信息和光流分布特征,包 括以下步驟:
[0012] (a)提取光流矢量圖中的速度大小值;
[0013] (b)對(duì)速度圖做二值化處理;
[0014] (c)計(jì)算速度二值化圖像的重心、總面積"半徑";
[0015] ⑷將速度二值化圖像的重心、總面積"半徑"與實(shí)際的光流團(tuán)分布做比較,分析速 度二值化圖的光流分布特點(diǎn);
[0016] (e)根據(jù)分布特點(diǎn)判斷手是否處于穩(wěn)定狀態(tài)。
[0017] 進(jìn)一步的,所述統(tǒng)計(jì)光流信息和光流分布特征,根據(jù)統(tǒng)計(jì)結(jié)果和分布特征判斷手 當(dāng)前所處的狀態(tài),具體包括:提取光流矢量圖中的速度大小值,對(duì)速度圖做二值化處理,計(jì) 算速度二值化圖像的重心、總面積"半徑",并與實(shí)際二值圖像中的光流團(tuán)分布做比較,分析 速度二值化圖的光流分布特點(diǎn),根據(jù)分布特點(diǎn)判斷手是否處于穩(wěn)定狀態(tài)。
[0018] 進(jìn)一步的,所述預(yù)測(cè)握拳張開趨勢(shì)具體包括:對(duì)所得到的光流矢量圖,與膚色分割 后的二值圖像相與,得到運(yùn)動(dòng)的膚色光流圖,對(duì)該圖進(jìn)行光流信息統(tǒng)計(jì),以掌心為中心點(diǎn), 統(tǒng)計(jì)光流的內(nèi)聚和發(fā)散程度,并以光流的大小作為角度的加權(quán)值,根據(jù)光流內(nèi)聚值和發(fā)散 值的比較初步判斷握拳、拳頭和張開狀態(tài)。
[0019] 進(jìn)一步的,所述手的整體運(yùn)動(dòng)速度的獲得過程是:在跟蹤過程中,保留當(dāng)前幀的前 五幀跟蹤結(jié)果,利用前五幀的跟蹤結(jié)果與當(dāng)前幀的跟蹤框所處位置,計(jì)算得到當(dāng)前幀和前 四幀中每一幀手的整體運(yùn)動(dòng)速度。
[0020] 進(jìn)一步的,所述的統(tǒng)計(jì)光流的內(nèi)聚和發(fā)散程度包括:根據(jù)跟蹤結(jié)果確定手的掌心 位置;以掌心的位置為中心,設(shè)置敏感區(qū)域上每個(gè)像素上光流內(nèi)聚和擴(kuò)散的閾值;分別統(tǒng) 計(jì)敏感區(qū)域中光流的向內(nèi)聚攏和向外擴(kuò)散的像素及其速度加權(quán)值的和。
[0021] 進(jìn)一步的,所述的光流分布特點(diǎn)的分析過程包括:
[0022] 提取光流矢量圖中的速度大小值,對(duì)速度圖做二值化處理;
[0023] 計(jì)算圖像中所有非零像素點(diǎn)的重心坐標(biāo)cen ;
[0024] 標(biāo)記二值化速度圖像各個(gè)部分連通域i,并計(jì)算各個(gè)連通域的重心坐標(biāo)⑶叫;
[0025] 累加所有連通域面積的值sum,將sum作為一個(gè)未知圓的總面積,并計(jì)算其半徑;
[0026] 計(jì)算各個(gè)連通域的重心坐標(biāo)cerii與半徑的方差vai^之平均值var ;
[0027] 根據(jù)var的值與跟蹤框的大小的比值與所有非零像素點(diǎn)的重心坐標(biāo)cen判斷光流 分布的特點(diǎn)。
[0028] 進(jìn)一步的,所述握拳狀態(tài)判斷方法為:在用戶的手處于穩(wěn)定狀態(tài)的前提下,若上一 幀的最終狀態(tài)為握拳或者速度停下的手掌狀態(tài),且預(yù)測(cè)握拳張開趨勢(shì)中的所述初步判斷結(jié) 果為握拳。
[0029] 進(jìn)一步的,所述的拳頭狀態(tài)判斷方法為:在用戶的手處于穩(wěn)定狀態(tài)的前提下,若上 一幀的最終狀態(tài)為拳頭狀態(tài)、握拳狀態(tài)或者拳頭移動(dòng)狀態(tài),且預(yù)測(cè)握拳張開趨勢(shì)中的所述 初步判斷結(jié)果為非握拳非張開狀態(tài)。
[0030] 進(jìn)一步的,其特征在于所述的張開狀態(tài)判斷方法:張開狀態(tài)判斷方法:在用戶的 手處于穩(wěn)定狀態(tài)的前提下,若上一幀的最終狀態(tài)為張開或者拳頭的狀態(tài),且預(yù)測(cè)握拳張開 趨勢(shì)中的初步判斷結(jié)果為張開。
[0031] 在其中一個(gè)實(shí)施例中,所述的拳頭狀態(tài)是由拳頭檢測(cè)器檢測(cè)得到,拳頭檢測(cè)器是 由拳頭正樣本,經(jīng)過提取特征,訓(xùn)練得來。
[0032] 在其中一個(gè)實(shí)施例中,所述的手掌狀態(tài)是由手掌檢測(cè)器檢測(cè)得到,手掌檢測(cè)器是 由手掌正樣本,經(jīng)過提取特征,訓(xùn)練得來。
[0033] 本發(fā)明一種手勢(shì)跟蹤過程中握拳導(dǎo)致跟蹤偏移的修正方法與現(xiàn)有技術(shù)相比,具有 如下優(yōu)點(diǎn)和技術(shù)效果:
[0034] (1)本發(fā)明方法復(fù)雜度低,在實(shí)際應(yīng)用中消耗的資源少。
[0035] (2)本發(fā)明對(duì)一般的手勢(shì)跟蹤算法具有通用性,不受跟蹤算法的限制,可以直接使 用。
[0036] (3)本發(fā)明采用光流法,結(jié)合膚色分割,劃分運(yùn)動(dòng)中的膚色區(qū)域,減少背景干擾和 統(tǒng)計(jì)誤差,能有效修正因人手非剛性特點(diǎn)帶來的跟蹤偏移。
[0037] (4)本發(fā)明結(jié)合在實(shí)際應(yīng)用中人手操作過程在空間的分布特點(diǎn)做相應(yīng)的判斷策 略,修正因人的自然行為習(xí)慣所致的跟蹤偏移。
【專利附圖】
【附圖說明】
[0038] 圖1是握拳動(dòng)作導(dǎo)致跟蹤框下移示意圖。
[0039] 圖2是方法的整體流程圖。
[0040] 圖3a、圖3b是模擬光流示意圖。
【具體實(shí)施方式】
[0041] 以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方法作進(jìn)一步說明,但本發(fā)明的實(shí)施和保護(hù)不 限于此,需指出的是,以下若有未特別詳細(xì)說明的符號(hào)和過程,均是本領(lǐng)域技術(shù)人員可參照 現(xiàn)有技術(shù)實(shí)現(xiàn)的。
[0042] 如圖2,本發(fā)明提供一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,利用 當(dāng)前幀輸入圖像與前一幀的圖像得到光流(如圖3a、圖3b),對(duì)所得光流矢量圖統(tǒng)計(jì)光流信 息和光流分布特征,根據(jù)統(tǒng)計(jì)結(jié)果和分布特征預(yù)測(cè)手形變化趨勢(shì),結(jié)合手的整體運(yùn)動(dòng)速度, 根據(jù)判斷策略修正最終的跟蹤結(jié)果。該方法的大體步驟如下:
[0043] (1)攝像頭采集到圖像序列,并保存當(dāng)前幀圖像信息和前一幀圖像信息;
[0044] (2)利用當(dāng)前幀圖像信息與前一幀圖像信息做光流算法,得到兩幀的運(yùn)動(dòng)光流;
[0045] (3)由跟蹤過程得到的目標(biāo)的位置、大小信息獲得每一幀的初始檢測(cè)區(qū)域;
[0046] (4)將初始檢測(cè)區(qū)域做簡(jiǎn)單的閾值膚色分割得到區(qū)域分割二值圖,提取運(yùn)動(dòng)中的 膚色區(qū)域;
[0047] (5)分析光流速度矢量圖的分布特點(diǎn);
[0048] (6)選定初始檢測(cè)區(qū)域的中心點(diǎn),分別統(tǒng)計(jì)所有像素的內(nèi)聚和擴(kuò)散加權(quán)值的總 和;
[0049] (7)根據(jù)判斷結(jié)果,對(duì)先前跟蹤算法得到的跟蹤框進(jìn)行修正,記錄當(dāng)前幀的跟蹤結(jié) 果。
[0050] 其中,所述的步驟(2)計(jì)算兩幅圖像的運(yùn)動(dòng)光流,將當(dāng)前幀的跟蹤結(jié)果所在敏感 區(qū)域與前一幀圖像對(duì)應(yīng)區(qū)域做稠密光流,該方法能有效減少光流算法的運(yùn)算量,得到運(yùn)動(dòng) 目標(biāo)的光流矢量圖,包括如下步驟:
[0051] (a)在跟蹤過程中,攝像頭不斷采集圖像序列,保存當(dāng)前幀及其前一幀的圖像;
[0052] (b)根據(jù)當(dāng)前幀的跟蹤算法得到的跟蹤結(jié)果截取待處理的敏感區(qū)域curjmg,同 時(shí)對(duì)前一巾貞圖像截取相應(yīng)的區(qū)域pre_img ;
[0053] (c)分別將 cur_img、pre_img 轉(zhuǎn)換為灰度圖像 cur_gray、pre_gray ;
[0054] (d)利用稠密光流算法,由cur_gray、pre_gray得到兩幅圖像的運(yùn)動(dòng)光流f low ;
[0055] 其中,所述的步驟(4)中提取運(yùn)動(dòng)中的運(yùn)動(dòng)中的膚色區(qū)域包括如下步驟:
[0056] (a)將敏感區(qū)域中的圖像由RGB顏色空間轉(zhuǎn)換成YCrCb顏色空間(這里不考慮亮 度的影響,只考慮二維空間CrCb):
[0057] RGB色彩空間與YcrCb (YUV)色彩空間的轉(zhuǎn)換公式如下:
[0058] Y = 0. 299R+0. 587G+0. 114B
[0059] U = -0. 147R-0. 289G+0. 436B
[0060] V = 0· 615R-0. 515G-0. 100B
[0061] R = Y+1. 14V
[0062] G = Y-0. 39U-0. 58V
[0063] B = Y+2. 03U
[0064] (b)使用簡(jiǎn)單的參數(shù)模型對(duì)膚色進(jìn)行聚類描述,定義符合以下條件的色彩為膚 色:
[0065] 130 < Cr < 170
[0066] 85 < Cb < 130
[0067] (c)對(duì)圖像中符合膚色閾值范圍的像素進(jìn)行二值化處理,得到圖像的膚色掩膜 skin_mask〇
[0068] 將運(yùn)動(dòng)光流flow與膚色掩膜skin_mask相與,得到膚色區(qū)域運(yùn)動(dòng)光流skin_flow ; 將其進(jìn)行二值化處理得到二值化圖像fl〇w_seg。
[0069] 所述的步驟(5)中分析光流速度矢量圖的分布特點(diǎn)包括如下步驟:
[0070] (a)提取二值化圖像flow_seg的連通閾,并統(tǒng)計(jì)其非零區(qū)域的面積大小area ;
[0071] (b)逐個(gè)標(biāo)記連通閾的重心Ceni
[0072] (c)求所有連通閾中心的平均中心位置;
[0073] (d)計(jì)算所有連通閾中心cerii到平均中心位置的歐氏距離vai^的平均值var ;
[0074] (e)根據(jù)求圓面積公式S = π r2,求出面積為area的圓的半徑radius ;
[0075] (f)根據(jù)distance與radius的比值與閾值threshold的關(guān)系,判斷手是否處于穩(wěn) 定狀態(tài)。
[0076] 所述步驟(6)中統(tǒng)計(jì)光流內(nèi)聚和擴(kuò)散的方法包括以下步驟:
[0077] (a)跟蹤初始跟蹤框確定掌心位置為中心點(diǎn);
[0078] (b)膚色區(qū)域運(yùn)動(dòng)光流skin_flow中每一個(gè)像素點(diǎn)與中心點(diǎn)連線,以該線段的法 線方向作為閾值,在法線方向向中心一側(cè)的角度范圍為內(nèi)聚范圍,相反一側(cè)為擴(kuò)散范圍; [0079] (c)根據(jù)閾值劃分每一個(gè)像素點(diǎn)上對(duì)應(yīng)的光流速度方向?yàn)閮?nèi)聚或者擴(kuò)散類型,并 以速度大小作為加權(quán),再按類型分別求和,得到內(nèi)聚總和veil和擴(kuò)散總和vel2 ;
[0080] (d)根據(jù)實(shí)驗(yàn)情況設(shè)置大小閾值thresholds和thresholdmin ;
[0081] (e)內(nèi)聚總和veil和擴(kuò)散總和vel2的比值為ratio,判斷標(biāo)準(zhǔn)如下:
[0082]
【權(quán)利要求】
1. 一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特征在于包括:獲取幀 圖像,利用當(dāng)前幀輸入圖像與前一幀的圖像得到光流,對(duì)所得光流矢量圖統(tǒng)計(jì)光流信息和 光流分布特征,根據(jù)統(tǒng)計(jì)結(jié)果和分布特征判斷手當(dāng)前所處的狀態(tài)及預(yù)測(cè)握拳張開趨勢(shì),結(jié) 合手的整體運(yùn)動(dòng)速度,得到當(dāng)前人手所做動(dòng)作,根據(jù)判斷策略修正最終的跟蹤結(jié)果。
2. 如權(quán)利要求1所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于將當(dāng)前幀的跟蹤結(jié)果所在敏感區(qū)域與前一幀圖像對(duì)應(yīng)區(qū)域做稠密光流,得到運(yùn)動(dòng)目 標(biāo)的光流矢量圖。
3. 如權(quán)利要求1所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于所述統(tǒng)計(jì)光流信息和光流分布特征,根據(jù)統(tǒng)計(jì)結(jié)果和分布特征判斷手當(dāng)前所處的狀 態(tài),具體包括:提取光流矢量圖中的速度大小值,對(duì)速度圖做二值化處理,計(jì)算速度二值化 圖像的重心、總面積"半徑",并與實(shí)際二值圖像中的光流團(tuán)分布做比較,分析速度二值化圖 的光流分布特點(diǎn),根據(jù)分布特點(diǎn)判斷手是否處于穩(wěn)定狀態(tài)。
4. 如權(quán)利要求1所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于所述預(yù)測(cè)握拳張開趨勢(shì)具體包括:對(duì)所得到的光流矢量圖,與膚色分割后的二值圖 像相與,得到運(yùn)動(dòng)的膚色光流圖,對(duì)該圖進(jìn)行光流信息統(tǒng)計(jì),以掌心為中心點(diǎn),統(tǒng)計(jì)光流的 內(nèi)聚和發(fā)散程度,并以光流的大小作為角度的加權(quán)值,根據(jù)光流內(nèi)聚值和發(fā)散值的比較初 步判斷握拳、拳頭和張開狀態(tài)。
5. 如權(quán)利要求1所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于所述手的整體運(yùn)動(dòng)速度的獲得過程是:在跟蹤過程中,保留當(dāng)前幀的前五幀跟蹤結(jié) 果,利用前五幀的跟蹤結(jié)果與當(dāng)前幀的跟蹤框所處位置,計(jì)算得到當(dāng)前幀和前四幀中每一 幀手的整體運(yùn)動(dòng)速度。
6. 如權(quán)利要求4所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于所述的統(tǒng)計(jì)光流的內(nèi)聚和發(fā)散程度包括: 根據(jù)跟蹤結(jié)果確定手的掌心位置; 以掌心的位置為中心,設(shè)置敏感區(qū)域上每個(gè)像素上光流內(nèi)聚和擴(kuò)散的閾值; 分別統(tǒng)計(jì)敏感區(qū)域中光流的向內(nèi)聚攏和向外擴(kuò)散的像素及其速度加權(quán)值的和。
7. 如權(quán)利要求3所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于所述的光流分布特點(diǎn)的分析過程包括: 提取光流矢量圖中的速度大小值,對(duì)速度圖做二值化處理; 計(jì)算圖像中所有非零像素點(diǎn)的重心坐標(biāo)cen ; 標(biāo)記二值化速度圖像各個(gè)部分連通域i,并計(jì)算各個(gè)連通域的重心坐標(biāo)⑶叫; 累加所有連通域面積的值sum,將sum作為一個(gè)未知圓的總面積,并計(jì)算其半徑; 計(jì)算各個(gè)連通域的重心坐標(biāo)cerii與半徑的方差vai^之平均值var ; 根據(jù)var的值與跟蹤框的大小的比值與所有非零像素點(diǎn)的重心坐標(biāo)cen判斷光流分布 的特點(diǎn)。
8. 如權(quán)利要求4所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于所述握拳狀態(tài)判斷方法為:在用戶的手處于穩(wěn)定狀態(tài)的前提下,若上一幀的最終狀 態(tài)為握拳或者速度停下的手掌狀態(tài),且預(yù)測(cè)握拳張開趨勢(shì)中的所述初步判斷結(jié)果為握拳。
9. 如權(quán)利要求4所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其特 征在于所述的拳頭狀態(tài)判斷方法為:在用戶的手處于穩(wěn)定狀態(tài)的前提下,若上一幀的最終 狀態(tài)為拳頭狀態(tài)、握拳狀態(tài)或者拳頭移動(dòng)狀態(tài),且預(yù)測(cè)握拳張開趨勢(shì)中的所述初步判斷結(jié) 果為非握拳非張開狀態(tài)。
10.如權(quán)利要求4所述的一種手勢(shì)跟蹤過程中手形變化導(dǎo)致跟蹤偏移的修正方法,其 特征在于其特征在于所述的張開狀態(tài)判斷方法:張開狀態(tài)判斷方法:在用戶的手處于穩(wěn)定 狀態(tài)的前提下,若上一幀的最終狀態(tài)為張開或者拳頭的狀態(tài),且預(yù)測(cè)握拳張開趨勢(shì)中的初 步判斷結(jié)果為張開。
【文檔編號(hào)】G06F3/01GK104143195SQ201410318691
【公開日】2014年11月12日 申請(qǐng)日期:2014年7月4日 優(yōu)先權(quán)日:2014年7月4日
【發(fā)明者】徐向民, 裘索, 羅雅愉 申請(qǐng)人:華南理工大學(xué)