專(zhuān)利名稱(chēng):一種多點(diǎn)觸摸交互系統(tǒng)的觸摸手識(shí)別方法
技術(shù)領(lǐng)域:
本發(fā)明屬于多點(diǎn)觸摸技術(shù)領(lǐng)域,具體地涉及一種多點(diǎn)觸摸交互系統(tǒng)的觸摸手識(shí)別方法;本發(fā)明在多點(diǎn)觸摸交互系統(tǒng)中對(duì)手的觸點(diǎn)進(jìn)行歸類(lèi),識(shí)別觸摸手的方法。
背景技術(shù):
多點(diǎn)觸摸系統(tǒng)最近幾年逐步走向?qū)嵱?,在多點(diǎn)觸摸系統(tǒng)中,用戶通常用多個(gè)手指進(jìn)行操作,比如用多個(gè)手指滑動(dòng)、旋轉(zhuǎn)、平移操作。傳統(tǒng)的觸摸桌面只能識(shí)別桌面上的手指,不能得到觸摸手的信息以及手的運(yùn)動(dòng)信息,然而通常手的運(yùn)動(dòng)能更準(zhǔn)確的提供手的平移、旋轉(zhuǎn)信息。如果能直接獲取觸摸手的運(yùn)動(dòng)信息,將會(huì)方便用戶使用系統(tǒng),增強(qiáng)了人機(jī)交互和諧性。多點(diǎn)觸摸系統(tǒng)當(dāng)中,當(dāng)桌面較大時(shí),操作的用戶增多,手指?jìng)€(gè)數(shù)增多時(shí),如何有效、 準(zhǔn)確的獲取每個(gè)手指對(duì)應(yīng) 的手信息,包括每個(gè)觸摸手指的具體對(duì)應(yīng)左手還是右手,以及觸摸左右手如何運(yùn)動(dòng),左右觸摸手的覆蓋區(qū)域,這些信息都不能直接獲取。因此迫切需要一種快速、穩(wěn)定的觸摸手識(shí)別算法。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中在多點(diǎn)觸摸交互系統(tǒng)中識(shí)別觸摸手信息的問(wèn)題,本發(fā)明的目的是在多點(diǎn)觸摸交互系統(tǒng)中識(shí)別觸摸手信息。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種在多點(diǎn)觸摸交互系統(tǒng)的觸摸手識(shí)別方法,此方法在初始狀態(tài)對(duì)觸點(diǎn)聚類(lèi),對(duì)同一類(lèi)別的觸摸手指識(shí)別左右手,在觸點(diǎn)移動(dòng)的過(guò)程中對(duì)觸點(diǎn)進(jìn)行連續(xù)跟蹤,并對(duì)聚類(lèi)結(jié)果進(jìn)行動(dòng)態(tài)調(diào)整。單個(gè)手中最大的手指間距離設(shè)為T(mén)。本發(fā)明的技術(shù)方案為一種多點(diǎn)觸摸交互系統(tǒng)的觸摸手識(shí)別方法,其步驟為I)獲取某一幀內(nèi)檢測(cè)到的手指F。,F(xiàn)1,…Fn;其中,每個(gè)手指Fj = {f^fp…fm}, fi是手指內(nèi)像素點(diǎn);其中,m、η為正整數(shù);2)將該幀內(nèi)的每個(gè)手指Fj擬合為一個(gè)橢圓Ej ;3)根據(jù)每個(gè)手指對(duì)應(yīng)的橢圓和設(shè)定的手指距離Τ,對(duì)該幀內(nèi)的手指進(jìn)行聚類(lèi),得至IJk類(lèi)手指;其中,k為自然數(shù);4)計(jì)算每個(gè)類(lèi)HiFtl, F1, ···,&}的中心及該類(lèi)的凸包區(qū)域R ;其中,P為正整數(shù)且
P彡η ;5)將當(dāng)前幀的每個(gè)類(lèi)及其覆蓋區(qū)域作為一個(gè)觸摸手信息OHFtl, F1,…,F(xiàn)p},R)。進(jìn)一步的,將手指Fj擬合為一個(gè)橢圓Ej的方法為I)根據(jù)手指Fj內(nèi)的像素點(diǎn)&坐標(biāo)(Xi,yi),計(jì)算橢圓中心點(diǎn)坐標(biāo)(xc,yc);2)對(duì)?」內(nèi)像素點(diǎn)的每一坐標(biāo)進(jìn)行歸一化,并計(jì)算歸一化后Xi、yi的協(xié)方差矩陣,得到橢圓的長(zhǎng)短軸a、b,以及橢圓長(zhǎng)軸與X軸的夾角Θ ;得到手指Fj擬合的橢圓EjUyyya, b,Θ)。進(jìn)一步的,所述步驟3)的聚類(lèi)方法為
a)將該幀內(nèi)的每個(gè)手指初始為一個(gè)類(lèi)Hi ;b)計(jì)算Hi類(lèi)中任意一個(gè)手指擬合橢圓Em與Hj類(lèi)中任意一個(gè)手指擬合橢圓En的中心點(diǎn)距離L,如果L最大值小于設(shè)定手指距離T,則將Hi與&合并為一個(gè)類(lèi);c)重復(fù)步驟b),直到?jīng)]有可合并的類(lèi)為止,得到k類(lèi)手指。進(jìn)一步的,根據(jù)類(lèi)HiFc^F1, ···,&}的中心及該類(lèi)中每個(gè)手指的中心得到該類(lèi)的凸包區(qū)域R。進(jìn)一步的,所述R的計(jì)算方法為將HiFtl, F1, ···,&}的中心和該類(lèi)內(nèi)每個(gè)手指擬合橢圓的中心U。,y。)組成的點(diǎn)集確定凸包區(qū)域R。進(jìn)一步的,所述計(jì)算每個(gè)類(lèi)IHFtl, F1,…,F(xiàn)p}的中心的方法為
I)對(duì)于類(lèi)H {F。,F(xiàn)1,中每個(gè)手指的擬合橢圓E (x。,y。,a, b, θ ),按照θ值逆時(shí)針排序;2)計(jì)算該類(lèi)內(nèi)所有擬合橢圓的長(zhǎng)軸交點(diǎn),計(jì)算所有交點(diǎn)的平均值,即為該類(lèi)HiFtl, F1, ···, FpI 的中心(xh, yh)。本發(fā)明的主要內(nèi)容為步驟SI :設(shè)在某一幀檢測(cè)到的手指Ftl,F1,…Fn,其中每個(gè)手指包含F(xiàn)tl = If0^f1,-fm},fi是手指內(nèi)像素點(diǎn)。對(duì)每個(gè)手指Fj擬合一個(gè)橢圓Ej (X。,yc, a, b, θ ),x。,yc是橢圓中心點(diǎn)坐標(biāo),a,b為橢圓的長(zhǎng)短軸,Θ為橢圓的長(zhǎng)軸與X軸的夾角。我們的擬合算法如下,該方法復(fù)雜度低,容易實(shí)現(xiàn)設(shè)手指Fj內(nèi)的一像素點(diǎn)&坐標(biāo)為(Xi,Yi),計(jì)算(xc,yc)
I I wxC=-Tj ,凡=-Σ X
η i=0 η i=0將&歸一化Xi = Xi-XcYi = Yi-Yc計(jì)算Xi,Yi的協(xié)方差矩陣「P'令從
_~Σ_對(duì)這個(gè)矩陣求特征值得到Fm e Hi, Fn e Hj λ ^對(duì)應(yīng)特征向量(V(l,V1)貝Ija = 2λ/Ι7b = 2λ/Ι7θ = atan (V1Zv0)步驟S2 :根據(jù)最大的觸點(diǎn)間距離F1,聚類(lèi),將其聚類(lèi)為Htl, H1,…, Hk,總共k個(gè)類(lèi)。聚類(lèi)算法I.初始每個(gè)手指為一個(gè)類(lèi)氏。2.對(duì)于每個(gè)類(lèi)Hi,尋找其最近的一個(gè)類(lèi)為H」,對(duì)于任意的Fm e Hi, Fn e H」,若 |Fm-Fn| < TdFffl-Fj表示手指距離,指觸摸區(qū)域擬合的橢圓中心點(diǎn)的距離),則將Hi,民并為一個(gè)類(lèi)。
3.重復(fù)第2步,直到?jīng)]有類(lèi)可以合并為止。步驟S3 :對(duì)于每個(gè)類(lèi)H中的每個(gè)手指的擬合橢圓E(X。,y。,a, b, θ )中的Θ以逆時(shí)針的方式排序。計(jì)算該類(lèi)內(nèi)所有橢圓長(zhǎng)軸的交點(diǎn),設(shè)為(Xl,yi),(x2,y2),…,(xn,yn),取該類(lèi)H的中心;該類(lèi)H白勺中心為(xh,yh):其中
權(quán)利要求
1.一種多點(diǎn)觸摸交互系統(tǒng)的觸摸手識(shí)別方法,其步驟為 1)獲取某一幀內(nèi)檢測(cè)到的手指Fc^F1,…Fn;其中,每個(gè)手指^= {f0,f1;…乙},も是手指內(nèi)像素點(diǎn);其中,m、η為正整數(shù); 2)將該幀內(nèi)的每個(gè)手指&擬合為一個(gè)橢圓Ej; 3)根據(jù)每個(gè)手指對(duì)應(yīng)的橢圓和設(shè)定的手指距離Τ,對(duì)該幀內(nèi)的手指進(jìn)行聚類(lèi),得到k類(lèi)手指;其中,k為自然數(shù); 4)計(jì)算每個(gè)類(lèi)H的中心及該類(lèi)的凸包區(qū)域R;其中,P為正整數(shù)且P彡η ; 5)將當(dāng)前幀的每個(gè)類(lèi)及其覆蓋區(qū)域作為ー個(gè)觸摸手信息(HiFtl,F1,…,F(xiàn)J,R)。
2.如權(quán)利要求I所述的方法,其特征在于將手指Fj擬合為一個(gè)橢圓的方法為 1)根據(jù)手指Fj內(nèi)的像素點(diǎn)も坐標(biāo)(Xi,y),計(jì)算橢圓中心點(diǎn)坐標(biāo)(X。,y。); 2)對(duì)Fj內(nèi)像素點(diǎn)的每ー坐標(biāo)進(jìn)行歸ー化,并計(jì)算歸ー化后Xi、Yi的協(xié)方差矩陣,得到橢圓的長(zhǎng)短軸a、b,以及橢圓長(zhǎng)軸與X軸的夾角Θ ;得到手指Fj擬合的橢圓Ej (X。, yc, a, b,θ)0
3.如權(quán)利要求2所述的方法,其特征在于所述步驟3)的聚類(lèi)方法為 a)將該幀內(nèi)的每個(gè)手指初始為ー個(gè)類(lèi)Hi; b)計(jì)算Hi類(lèi)中任意ー個(gè)手指擬合橢圓Em與Hj類(lèi)中任意ー個(gè)手指擬合橢圓En的中心點(diǎn)距離L,如果L最大值小于設(shè)定手指距離T,則將Hi與Hj合并為ー個(gè)類(lèi); c)重復(fù)步驟b),直到?jīng)]有可合并的類(lèi)為止,得到k類(lèi)手指。
4.如權(quán)利要求I或2或3所述的方法,其特征在于根據(jù)類(lèi)HiFtl,F1,…,F(xiàn)p}的中心及該類(lèi)中每個(gè)手指的中心得到該類(lèi)的凸包區(qū)域R。
5.如權(quán)利要求4所述的方法,其特征在于所述R的計(jì)算方法為將HiFc^F1,-,FJ的中心和該類(lèi)內(nèi)每個(gè)手指擬合橢圓的中心(χ。]。)組成的點(diǎn)集確定凸包區(qū)域R。
6.如權(quán)利要求5所述的方法,其特征在于所述計(jì)算每個(gè)類(lèi)HiFtl,F1, ···,&}的中心的方法為 1)對(duì)于類(lèi)HiFtl,F1,…,ド』中姆個(gè)手指的擬合橢圓E (X。,y。,a, b, θ ),按照Θ值逆時(shí)針排序; 2)計(jì)算該類(lèi)內(nèi)所有擬合橢圓的長(zhǎng)軸交點(diǎn),計(jì)算所有交點(diǎn)的平均值,即為該類(lèi)HiFtl,F1, ···, FpI 的中心(xh, yh)。
全文摘要
本發(fā)明公開(kāi)了一種多點(diǎn)觸摸交互系統(tǒng)的觸摸手識(shí)別方法,屬于多點(diǎn)觸摸技術(shù)領(lǐng)域。本方法為1)獲取某一幀內(nèi)檢測(cè)到的手指F0,F(xiàn)1,…Fn;2)將該幀內(nèi)的每個(gè)手指Fj擬合為一個(gè)橢圓Ej;3)根據(jù)每個(gè)手指對(duì)應(yīng)的橢圓和設(shè)定的手指距離T,對(duì)該幀內(nèi)的手指進(jìn)行聚類(lèi),得到k類(lèi)手指;4)計(jì)算每個(gè)類(lèi)H{F0,F(xiàn)1,…,F(xiàn)p}的中心及該類(lèi)的凸包區(qū)域R;5)將當(dāng)前幀的每個(gè)類(lèi)及其覆蓋區(qū)域作為一個(gè)觸摸手信息(H{F0,F(xiàn)1,…,F(xiàn)p},R)。本發(fā)明識(shí)別到觸摸手信息精確度高、魯棒性好,使得觸摸屏幕的多點(diǎn)觸摸交互系統(tǒng)中識(shí)別觸摸手更加精確,使得觸摸屏更加實(shí)用。
文檔編號(hào)G06K9/62GK102693025SQ20111006806
公開(kāi)日2012年9月26日 申請(qǐng)日期2011年3月21日 優(yōu)先權(quán)日2011年3月21日
發(fā)明者張鳳軍, 戴志軍, 王宏安, 譚國(guó)富 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所