亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法

文檔序號(hào):6334689閱讀:248來源:國(guó)知局
專利名稱:基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖像分析、目標(biāo)檢測(cè)與目標(biāo)跟蹤領(lǐng)域,特別是多點(diǎn)觸摸軌跡跟蹤方法。
背景技術(shù)
近年來,隨著計(jì)算機(jī)軟硬件技術(shù)的飛速發(fā)展,給人類生活方式發(fā)生了根本性的變 更。人工智能的興起,緩解了人類腦力與體力勞動(dòng)的輸出,給人類生活帶來了無所比擬的便 捷,對(duì)人工智能的探索,要求機(jī)器能夠正確理解人類的思想意圖,因此人機(jī)之間正確交互愈
發(fā)重要。手勢(shì)作為一種有效的交流方式,能夠輔助機(jī)器理解人類思想意圖。當(dāng)前,虛擬環(huán)境 的廣泛應(yīng)用,要求人機(jī)交互更加自然,機(jī)器理解更為直接?;趥鹘y(tǒng)鼠標(biāo)、鍵盤、操作桿的控 制方式不利于全面表達(dá)用戶意圖,因此構(gòu)建更直接的人機(jī)交互將具有廣闊的市場(chǎng)前景。圖 像處理、機(jī)器視覺和模式識(shí)別的興起更是為人機(jī)之間提供更自然的交互提供的技術(shù)支持。目前,基于視覺的手勢(shì)識(shí)別方法主要分為兩類一是基于3D模型的分析方法,一 是基于二維圖像的分析方法?;?D模型的分析方法需建立起描述手勢(shì)的參數(shù)模型,因 其能提供三維數(shù)據(jù),所以可以建立起較為精確的手勢(shì)模型,然而該方法參數(shù)多,計(jì)算復(fù)雜度 高,目前技術(shù)下很難達(dá)到實(shí)時(shí)性要求;基于二維圖像的分析方法主要是對(duì)圖像的性質(zhì)進(jìn)行 分析,提取到有效的手部特征,并進(jìn)行識(shí)別,但由于丟失了第三維空間的信息,使得所描述 的特征不能有效建立起手勢(shì)模型,魯棒性較差,然而其參數(shù)較少,能滿足實(shí)時(shí)處理的要求, 因此,目前工業(yè)實(shí)踐中主要仍是對(duì)二維圖像進(jìn)行處理。在基于手勢(shì)的人機(jī)交互中,單點(diǎn)觸摸技術(shù)發(fā)展較為成熟,在小尺寸觸摸裝置中應(yīng) 用非常廣泛,如觸摸手機(jī)、PDA等,但在大尺寸觸摸裝置中效果仍需改善,影響其觸摸效果的 主要原因是原材料限制、電子元器件的內(nèi)部噪聲、環(huán)境因素和非故意偶然接觸,致使偽觸摸 點(diǎn)產(chǎn)生,從而導(dǎo)致誤操作。此外,單點(diǎn)觸摸功能較為單一,只能表達(dá)有限的幾種交互操作,因 此開發(fā)多點(diǎn)觸摸技術(shù)能使人機(jī)之間交互更為自然。多點(diǎn)觸摸因涉及到多個(gè)觸摸點(diǎn)同時(shí)運(yùn)動(dòng),因此需要正確關(guān)聯(lián)起相鄰幀間的相應(yīng) 點(diǎn),若相鄰幀間的觸摸點(diǎn)關(guān)聯(lián)錯(cuò)誤,將會(huì)產(chǎn)生錯(cuò)誤的運(yùn)動(dòng)軌跡,從而致使機(jī)器不能正確理解 用戶意圖。目前,在工業(yè)產(chǎn)品中相鄰幀間相應(yīng)點(diǎn)關(guān)聯(lián)主要采用歐式距離法來進(jìn)行關(guān)聯(lián)。該 方法針對(duì)上一幀中各觸摸點(diǎn),在當(dāng)前幀中檢測(cè)與之對(duì)應(yīng)距離最近的觸摸點(diǎn),并進(jìn)行關(guān)聯(lián)。該 方法在各觸摸點(diǎn)相對(duì)較遠(yuǎn)的情況下,能正確地進(jìn)行關(guān)聯(lián),但若各觸摸點(diǎn)相對(duì)較近,則易產(chǎn)生 錯(cuò)誤關(guān)聯(lián)。圖5所示為錯(cuò)誤觸摸點(diǎn)正確關(guān)聯(lián)的示意圖,圖6為錯(cuò)誤關(guān)聯(lián)的示意圖。

發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是提供一種基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,使得該方 法通過利用圖像分析技術(shù)對(duì)相鄰幀間多個(gè)觸摸點(diǎn)進(jìn)行正確關(guān)聯(lián),生成正確的運(yùn)動(dòng)軌跡,進(jìn) 而使機(jī)器能理解軌跡的意義,從而達(dá)到自然交互的目的。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是一種基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,該方法包括以下步驟 步驟1 根據(jù)經(jīng)驗(yàn)統(tǒng)計(jì)值,初始化觸摸點(diǎn)作用域范圍值;
步驟2 獲取當(dāng)前幀各觸摸點(diǎn)坐標(biāo),并判斷當(dāng)前幀是否為第一幀,若是則執(zhí)行步驟11 ; 若否則執(zhí)行步驟3 ;
步驟3 根據(jù)當(dāng)前作用域范圍值判斷前一幀中是否存在一對(duì)一觸摸點(diǎn)或一對(duì)多觸摸 點(diǎn),若存在則執(zhí)行步驟4 ;若不存在則執(zhí)行步驟11 ;
步驟4 判斷前一幀中是否存在一對(duì)一觸摸點(diǎn),若存在則執(zhí)行步驟5 ;若不存在則執(zhí)行 步驟6 ;
步驟5 將一對(duì)一觸摸點(diǎn)進(jìn)行關(guān)聯(lián),并用各對(duì)關(guān)聯(lián)點(diǎn)歐式距離的平均值的1至2倍更新 作用域范圍值,且用各對(duì)關(guān)聯(lián)點(diǎn)夾角的平均值作為參考方向;并判斷前一幀中是否還有未 關(guān)聯(lián)的一對(duì)多觸摸點(diǎn),若有則執(zhí)行步驟7,若無則執(zhí)行步驟11 ;
步驟6 將一對(duì)多觸摸點(diǎn)進(jìn)行關(guān)聯(lián),并用各對(duì)關(guān)聯(lián)點(diǎn)歐式距離的平均值的1至2倍更新 作用域范圍值,且用各對(duì)關(guān)聯(lián)點(diǎn)夾角的平均值作為參考方向;執(zhí)行步驟11 ;
步驟7 對(duì)前一幀中的一對(duì)多觸摸點(diǎn)在其作用域范圍中依參考方向搜索仍未與其關(guān)聯(lián) 的相連觸摸點(diǎn),并進(jìn)行預(yù)關(guān)聯(lián),執(zhí)行步驟8 ;
步驟8 計(jì)算各對(duì)預(yù)關(guān)聯(lián)觸摸點(diǎn)的總距離,判斷其總距離是否達(dá)到相對(duì)最小值,若達(dá)到 相對(duì)最小值,執(zhí)行步驟9 ;否則,重新進(jìn)行預(yù)關(guān)聯(lián),執(zhí)行步驟7 ;
步驟9 比較各對(duì)預(yù)關(guān)聯(lián)觸摸點(diǎn)之間的距離,是否都處于同一范圍中,若是,則表示預(yù) 關(guān)聯(lián)正確,進(jìn)而將其關(guān)聯(lián),執(zhí)行步驟10 ;否則,重新進(jìn)行預(yù)關(guān)聯(lián),執(zhí)行步驟7 ; 步驟10 對(duì)各預(yù)關(guān)聯(lián)點(diǎn)進(jìn)行關(guān)聯(lián),執(zhí)行步驟11 ; 步驟11 獲取下一幀圖像,回到步驟2。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是
一方面,本發(fā)明創(chuàng)造性地讓機(jī)器自動(dòng)尋找滿足最優(yōu)條件的觸摸點(diǎn)最優(yōu)條件1要求相 鄰幀間各觸摸點(diǎn)關(guān)聯(lián)后的總距離達(dá)到相對(duì)最小值;最優(yōu)條件2要求相鄰幀間各已關(guān)聯(lián)觸摸 點(diǎn)之間的距離相對(duì)一致。通過尋找滿足這兩個(gè)最優(yōu)條件的觸摸點(diǎn),將其進(jìn)行關(guān)聯(lián),便能生成 正確的移動(dòng)軌跡。另一方面,為減少觸摸點(diǎn)較多情況下的搜索復(fù)雜度,本發(fā)明融合了基于方向優(yōu)先 的搜索方法,大大降低了計(jì)算復(fù)雜度,提高了搜索速度,具有較高的實(shí)時(shí)性。本發(fā)明在64K 內(nèi)存下仍能實(shí)時(shí)跟蹤數(shù)據(jù),可應(yīng)用于內(nèi)存資源受限情況下的實(shí)時(shí)跟蹤,此外可應(yīng)用于大尺 寸(60寸以上)人機(jī)交互場(chǎng)合,如交互式會(huì)議、交互式教育、交互式娛樂,尤其是虛擬環(huán)境等 方面。


圖1是本發(fā)明實(shí)施例硬件裝置的示意圖; 圖2是本發(fā)明實(shí)施例的流程示意圖3是本發(fā)明實(shí)施例的所采用的坐標(biāo)系結(jié)構(gòu)及觸摸點(diǎn)數(shù)據(jù)結(jié)構(gòu)和作用域范圍示意圖; 圖4是本發(fā)明實(shí)施例的某一幀中觸摸點(diǎn)的位序示意圖; 圖5是前后幀觸摸點(diǎn)正確關(guān)聯(lián)的示意圖; 圖6是前后幀觸摸點(diǎn)錯(cuò)誤關(guān)聯(lián)的示意圖。
具體實(shí)施例方式下面對(duì)本發(fā)明的實(shí)施例加以詳細(xì)說明,應(yīng)指出的是,所描述的實(shí)施例旨在便于對(duì) 本發(fā)明的理解,對(duì)本發(fā)明不起限定作用。如圖6所示,本實(shí)施例需要的硬件為觸摸屏、紅外光源、圖像采集設(shè)備、計(jì)算機(jī)和 投影儀。。該觸摸屏是67寸普通背投顯示屏,用于觸摸與顯示。該紅外光源為紅外一字激光源,用于產(chǎn)生紅外光場(chǎng)。因這種光源照射角度有限,本 實(shí)施例中采用4個(gè)此類光源,交錯(cuò)置于投影屏上下側(cè),保證觸摸屏每一區(qū)域都被紅外光所 覆蓋。該圖像采集設(shè)備是普通紅外攝像頭,置于觸摸屏后方,當(dāng)沒有觸摸物體接觸到觸摸屏 時(shí),通過紅外攝像頭獲取的是灰度值較小的均勻圖像序列,當(dāng)有觸摸物體接觸到觸摸屏?xí)r, 接觸區(qū)域像素灰度值會(huì)明顯高于其他區(qū)域。正是因?yàn)閳D像序列中存在著不同灰度值區(qū)域, 后續(xù)計(jì)算機(jī)才能依此自動(dòng)判別是否有觸摸物體接觸到觸摸屏。該計(jì)算機(jī)通過硬件電路與攝像頭相連,獲取攝像頭里的圖像序列,進(jìn)而完成一系 列的圖像處理算法,依序?yàn)閳D像去噪、圖像增強(qiáng)、圖像二值化、觸摸點(diǎn)矯正、重心歸一化,從 而獲得每個(gè)觸摸點(diǎn)的重心坐標(biāo),進(jìn)而執(zhí)行本發(fā)明中的跟蹤算法,最后將跟蹤結(jié)果輸入至投 影儀中。該投影儀主要是將計(jì)算機(jī)處理完成后的跟蹤結(jié)果投影到觸摸屏上,從而使得觸摸 點(diǎn)處產(chǎn)生亮點(diǎn),進(jìn)而當(dāng)手指在觸摸屏上移動(dòng)時(shí),顯示出相應(yīng)的軌跡。在本實(shí)施例中,所述關(guān)聯(lián)是指已確認(rèn)相鄰幀間的兩觸摸點(diǎn)為同一手指運(yùn)動(dòng)所產(chǎn)生 的觸摸點(diǎn),可以將這兩點(diǎn)連接起來,且連接起來之后不能再斷開連接;所述相連是指相鄰幀 間的兩觸摸點(diǎn)彼此都處于對(duì)方的作用域范圍中,但仍不確定是否為同一手指運(yùn)動(dòng)所產(chǎn)生; 所述預(yù)關(guān)聯(lián)是指相鄰幀間兩觸摸點(diǎn)在仍未確定是否為同一手指運(yùn)動(dòng)所產(chǎn)生的情況下,先暫 且認(rèn)為是同一手指運(yùn)動(dòng)所產(chǎn)生的,暫且將兩觸摸點(diǎn)連接起來,但經(jīng)過判斷之后仍有可能斷 開連接。在本實(shí)施例中,所述參考方向是通過前一幀與當(dāng)前幀中觸摸點(diǎn)動(dòng)態(tài)確定的,它僅 指導(dǎo)前一幀中的觸摸點(diǎn)如何在其作用域范圍中搜索當(dāng)前幀中的觸摸點(diǎn)。在本實(shí)施例中,若分別位于前后幀中的觸摸點(diǎn)彼此落入對(duì)方的作用域范圍,則定 義這些觸摸點(diǎn)互為相連觸摸點(diǎn)。如果前一幀的某一觸摸點(diǎn)在當(dāng)前幀中只有一個(gè)相連觸摸 點(diǎn),則定義該某一觸摸點(diǎn)為一對(duì)一觸摸點(diǎn);如果前一幀的某一觸摸點(diǎn)在當(dāng)前幀中有兩個(gè)或 兩個(gè)以上的相連觸摸點(diǎn),則定義該某一觸摸點(diǎn)為一對(duì)多觸摸點(diǎn)。如果位于前一幀的某一觸 摸點(diǎn)和與其對(duì)應(yīng)的某一相連觸摸點(diǎn)進(jìn)行關(guān)聯(lián),則稱這兩個(gè)觸摸點(diǎn)為關(guān)聯(lián)觸摸點(diǎn)。為使說明 更加詳細(xì)具體,在本實(shí)施例中限定觸摸點(diǎn)個(gè)數(shù)最多為10個(gè),但本發(fā)明不限定10個(gè)觸摸點(diǎn), 無本質(zhì)上的修改均屬于本發(fā)明保護(hù)范圍之內(nèi)。如圖2所示,該方法具體實(shí)現(xiàn)步驟如下。步驟Sl 根據(jù)經(jīng)驗(yàn)統(tǒng)計(jì)值,初始化各觸摸點(diǎn)作用域范圍值 么并初始化FF==0。FF用于記錄當(dāng)前幀是否為第一幀,若當(dāng)前幀為第一幀則FF=1,否則 FF=2。步驟S2 判斷當(dāng)前幀中是否有觸摸點(diǎn),若檢測(cè)到觸摸點(diǎn),記錄各觸摸點(diǎn)坐標(biāo),并判 斷當(dāng)前幀是否為第一幀,判斷方法如為若FF==O,則置FF=I,表明當(dāng)前幀是第一幀,執(zhí)行步 驟S14,否則,置FF=2,執(zhí)行步驟S3 ;若沒檢測(cè)到觸摸點(diǎn),則等待,直到系統(tǒng)檢測(cè)到觸摸點(diǎn)。
各觸摸點(diǎn)以有序坐標(biāo)(AZ^ig)記錄,其中表示觸摸點(diǎn)橫軸坐標(biāo),y表示觸摸點(diǎn)
縱軸坐標(biāo),/ g為標(biāo)志位,用于記錄關(guān)聯(lián)時(shí)的索引值,其值初始化為0,如圖3所示;
將當(dāng)前幀中掃描到的各觸摸點(diǎn)按y值降序排序,將排序后的觸摸點(diǎn)存入數(shù)據(jù)容器中, 并依次賦予位序,其原理如圖3所示。例如當(dāng)前幀中檢測(cè)到三個(gè)觸摸點(diǎn)(25,38,0 ),( 60,55, 0),(98,42,0),則根據(jù)其、值降序存入數(shù)據(jù)容器中,并賦予位序,其數(shù)據(jù)關(guān)聯(lián)形式為(25, 38,0) ->2,(60,55,0) ->0,(98,42,0) ->1。步驟S3
為不致混淆,前一幀表示為第 -l幀,后一幀表示為第S幀。若第1幀中有h個(gè)觸摸 點(diǎn),其中O Ct1Sio ;第!幀中有個(gè)觸摸點(diǎn),其中;4<、表示在第‘幀中有新的
觸摸點(diǎn)加入,、>^表示在第I幀中觸摸點(diǎn)個(gè)數(shù)減少,勾二知表示幀與f幀中觸摸點(diǎn)個(gè)
數(shù)無變化。將 -l幀中所有觸摸點(diǎn)標(biāo)志位的索引值置為“0” ;根據(jù)當(dāng)前的作用域范圍值4汁 算f幀是否有觸摸點(diǎn)落入 -l幀中各觸摸的作用域范圍中,即判斷幀中是否存在一對(duì) 一觸摸點(diǎn)或一對(duì)多觸摸點(diǎn)
(1)若I幀中有觸摸點(diǎn)落入 -i幀中某觸摸點(diǎn)的作用域范圍中,則根據(jù)其位序修改 -1 幀與I幀中相應(yīng)觸摸點(diǎn)標(biāo)志位的索引值,將兩者相連起來。此時(shí),若 -l幀某觸摸點(diǎn)作用域 范圍中無I幀中的任一觸摸點(diǎn),則表示該條軌跡到此結(jié)束,置其標(biāo)志位索引值為1<<11(表示 1左移11位);若!幀某觸摸點(diǎn)作用域范圍中無 -l幀中的任一觸摸點(diǎn),則表示該觸摸點(diǎn)為新 增加的軌跡起始點(diǎn),并置其標(biāo)志位索引值為1<<11。執(zhí)行步驟S4。例如| — 1幀中觸摸點(diǎn)、1在數(shù)據(jù)容器中的記錄為(60,55,0)->1,在它的作用域范
圍中包含幀中的兩個(gè)觸摸點(diǎn)4⑶5,60,0)->4和A (65,65,0)->3,則應(yīng)通過修改A11
標(biāo)志位索引值來將三者關(guān)聯(lián)起來。本發(fā)明所采用的關(guān)聯(lián)方法為索引值在機(jī)器中以無符號(hào) 短整型表示,將索引值以二進(jìn)制展開,可得到16bit 二進(jìn)制位,根據(jù)觸摸點(diǎn)的位序置索引值
相應(yīng)bit位上的值為“1”。通過這種方式關(guān)聯(lián)之后,A11在數(shù)據(jù)容器中的記錄變?yōu)?60,55,
24 (0000 0000 0001 1000))->1。(2)若 :-1幀中不存在任一觸摸點(diǎn)在其作用域范圍中包含I幀中的任一觸摸點(diǎn), 即幀中既不存在一對(duì)一觸摸點(diǎn),也不存在一對(duì)多觸摸點(diǎn),表明前一觸摸動(dòng)作結(jié)束,置 FF=0,執(zhí)行步驟S14。步驟S4
根據(jù)當(dāng)前作用域范圍值d判斷 -l幀中是否存在一對(duì)一觸摸點(diǎn),若存在則執(zhí)行步驟 S5 ;若 -l幀中不存在一對(duì)一觸摸點(diǎn),則幀中必然存在一對(duì)多觸摸點(diǎn),執(zhí)行步驟6。步驟5
(1)若 -l幀中一對(duì)一觸摸點(diǎn)只有一個(gè),則計(jì)算其與相應(yīng)的相連觸摸點(diǎn)之間的歐式距 離和夾角,且進(jìn)行關(guān)聯(lián),并以此歐式距離的1.5倍更新作用域范圍值《以此夾角作為方向搜索的參考方向值;執(zhí)行步驟S7 ;
(2)若1-1幀中一對(duì)一觸摸點(diǎn)有多個(gè),則先對(duì)每個(gè)一對(duì)一觸摸點(diǎn)分別進(jìn)行關(guān)聯(lián),再計(jì)算 各對(duì)關(guān)聯(lián)觸摸點(diǎn)之間的歐式距離和與夾角和,并以該歐式距離平均值的1.5倍更新作用域 范圍值4以該夾角平均值作為方向搜索的參考方向值;執(zhí)行步驟S7。步驟S6
(1)若 -l幀中一對(duì)多觸摸點(diǎn)只有一個(gè),則將與其歐式距離最近的相連觸摸點(diǎn)進(jìn)行關(guān) 聯(lián),并置兩關(guān)聯(lián)點(diǎn)索引值為1<<11,并以此歐式距離的1.5倍更新作用域范圍值 ,以這兩 點(diǎn)的夾角作為方向搜索的參考方向值;該一對(duì)多觸摸點(diǎn)作用域范圍中剩余的未關(guān)聯(lián)點(diǎn)則為 新增加的觸摸點(diǎn),同樣置其索引值為1<<11 ;執(zhí)行步驟S14 ;
(2)若 -l幀中一對(duì)多觸摸點(diǎn)有多個(gè),則根據(jù)關(guān)聯(lián)方向一致性進(jìn)行關(guān)聯(lián)(這種一致性需 滿足兩點(diǎn)一是方向都在同一范圍中;二是各關(guān)聯(lián)線段之間無交點(diǎn)),且滿足關(guān)聯(lián)后兩點(diǎn)之 間的距離在同一作用域范圍中;并置兩關(guān)聯(lián)點(diǎn)索引值為1<<11,并以各觸摸關(guān)聯(lián)點(diǎn)平均歐 式距離的1.5倍更新作用域范圍值&以各觸摸關(guān)聯(lián)點(diǎn)的平均夾角作為方向搜索的參考方 向值;各個(gè)一對(duì)多觸摸點(diǎn)作用域范圍中剩余的未關(guān)聯(lián)點(diǎn)則為新增加的觸摸點(diǎn),同樣置其索 引值為1<<11 ;執(zhí)行步驟S14。步驟S7 判斷在 -l幀中是否還有未關(guān)聯(lián)但其作用域范圍中包含有t幀中兩個(gè)或 兩個(gè)以上的觸摸點(diǎn),即判斷t-ι幀中是否還有一對(duì)多觸摸點(diǎn)。若有,則對(duì)I-1幀中的一對(duì)多觸摸點(diǎn)在其作用域范圍中依參考方向搜索t幀中 的所有相連觸摸點(diǎn),對(duì)搜索到的相連觸摸點(diǎn)先檢測(cè)其標(biāo)志位的索引值,若其值為1<<11,表 明該觸摸點(diǎn)已與 -l幀中其它觸摸點(diǎn)關(guān)聯(lián),則放棄與該相連觸摸點(diǎn)的預(yù)關(guān)聯(lián);若其值不為 1<<11,則表明該相連觸摸點(diǎn)已與其相連但還未關(guān)聯(lián),則進(jìn)行預(yù)關(guān)聯(lián),并將兩預(yù)關(guān)聯(lián)點(diǎn)之間 的距離值與t幀中預(yù)關(guān)聯(lián)觸摸點(diǎn)的位序存入相應(yīng)的距離容器中,該距離容器與位于 -l幀 中的預(yù)關(guān)聯(lián)觸摸點(diǎn)對(duì)應(yīng),搜索完整個(gè)作用域范圍后,執(zhí)行步驟S8 ;
若無,則執(zhí)行步驟S14。步驟S8 初始化L=0,對(duì)各距離容器中的數(shù)據(jù)進(jìn)行取值,取值規(guī)則如下
在第一個(gè)距離容器中(即位于t-Ι幀中的第一個(gè)預(yù)關(guān)聯(lián)觸摸點(diǎn)所對(duì)應(yīng)的距離容器)取排 序?yàn)榈谝坏臄?shù)據(jù),即將t幀中落入第一個(gè)距離容器中的點(diǎn)按參考方向排序后,取排序?yàn)榈?一位的數(shù)據(jù),并置L=L+1 ;在第二個(gè)距離容器中也取排序?yàn)榈谝坏臄?shù)據(jù),但需與第一個(gè)距離 容器中所取數(shù)據(jù)進(jìn)行位序比較,若位序相同,則放棄排序?yàn)榈谝坏臄?shù)據(jù),取排序?yàn)榈诙臄?shù) 據(jù),同樣也需要與第一個(gè)距離容器中所取數(shù)據(jù)的位序比較,依此類推,直到取到與第一個(gè)距 離容器中所取數(shù)據(jù)的位序不同的數(shù)據(jù)為止;同理,第三個(gè)距離容器所取數(shù)據(jù)需要與前兩個(gè) 距離容器中所取數(shù)據(jù)的位序進(jìn)行比較;后面的距離容器同樣需要與前面所有距離容器的所 取數(shù)據(jù)位序比較,保證每個(gè)距離容器所取數(shù)據(jù)的位序不同,直到所有距離容器都取值完為 止。步驟S9 計(jì)算各預(yù)關(guān)聯(lián)觸摸點(diǎn)之間距離總和Cs ,在各距離容器中隨機(jī)取一個(gè)數(shù)據(jù),可以取位序相同的數(shù)據(jù),計(jì)算其距離和4 ,若ds < 4 ,則執(zhí)行步驟SlO ;否則,執(zhí)行步驟 S11。步驟SlO 比較各距離容器所取數(shù)據(jù)的距離值,判斷其是否都處于同一范圍中,若 都處于同一范圍中,執(zhí)行步驟S12 ;若否,則執(zhí)行步驟S11。步驟Sll 對(duì)各距離容器重新取值;取值完后執(zhí)行步驟S8 ;重新取值規(guī)則如下 在第一個(gè)距離容器中,取排序?yàn)榈贚位的數(shù)據(jù),并置L=L+1 ;第二個(gè)距離容器中依序從
第一位開始取值,但須保證其所取值的位序與第一個(gè)距離容器所取值的位序不同;第三個(gè) 距離容器同樣須保證與之前所有容器的取值位序不同;以此類推。步驟S12 根據(jù)各距離容器所取數(shù)據(jù)的位序進(jìn)行關(guān)聯(lián),并置各關(guān)聯(lián)觸摸點(diǎn)標(biāo)志位 的索引值為1<<11 ;執(zhí)行步驟S13。步驟S13 檢測(cè) -l幀中各觸摸點(diǎn)標(biāo)志位的索引值,若都為1<<11則表明所有點(diǎn)都 已進(jìn)行關(guān)聯(lián),執(zhí)行步驟S14 ;若仍有觸摸點(diǎn)其標(biāo)志位索引值不等于1<<11,則執(zhí)行步驟S7。步驟S14 獲取下一幀,執(zhí)行步驟S2。上述步驟詳細(xì)描述了在相鄰幀之間觸摸點(diǎn)是如何進(jìn)行跟蹤的。實(shí)際上在執(zhí)行步驟 S14時(shí),計(jì)算機(jī)要完成兩項(xiàng)工作,一是繼續(xù)執(zhí)行循環(huán),處理下一幀圖像;二是執(zhí)行劃線程序, 并將結(jié)果送入到投影儀中,從而在觸摸屏上實(shí)時(shí)顯示出手指移動(dòng)的軌跡。總而言之,一方面,本實(shí)施例的多點(diǎn)觸摸跟蹤方法通過計(jì)算相鄰幀間各觸摸點(diǎn)滿 足以下兩個(gè)最優(yōu)條件來實(shí)現(xiàn)的最優(yōu)條件1為相鄰幀間各觸摸點(diǎn)關(guān)聯(lián)后的總距離達(dá)到相對(duì) 最小值;最優(yōu)條件2為相鄰幀間各已關(guān)聯(lián)觸摸點(diǎn)之間的距離相對(duì)一致。通過尋找滿足這兩 個(gè)最優(yōu)條件的觸摸點(diǎn),將其進(jìn)行關(guān)聯(lián),使得本實(shí)施例能夠生成正確的移動(dòng)軌跡。另一方面, 為降低觸摸點(diǎn)較多情況下的搜索復(fù)雜度,本實(shí)施例還采用基于參考方向優(yōu)先搜索的搜索策 略,改善了系統(tǒng)計(jì)算復(fù)雜度。此外,從本實(shí)施例的跟蹤方法(算法)可以看出,在內(nèi)存中實(shí)際上只需保存兩相鄰 幀之間所有觸摸點(diǎn)坐標(biāo),并沒有其他的內(nèi)存開銷,且跟蹤算法簡(jiǎn)潔,所以實(shí)施例中的實(shí)時(shí)性 非常好。對(duì)于存儲(chǔ)資源有限、實(shí)時(shí)性要求極高的場(chǎng)合,可以將此算法直接嵌入。
權(quán)利要求
1.一種基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,其特征在于包括以下步驟 步驟1 根據(jù)經(jīng)驗(yàn)統(tǒng)計(jì)值,初始化觸摸點(diǎn)作用域范圍值;步驟2 獲取當(dāng)前幀各觸摸點(diǎn)坐標(biāo),并判斷當(dāng)前幀是否為第一幀,若是則執(zhí)行步驟11 ; 若否則執(zhí)行步驟3 ;步驟3 根據(jù)當(dāng)前作用域范圍值判斷前一幀中是否存在一對(duì)一觸摸點(diǎn)或一對(duì)多觸摸 點(diǎn),若存在則執(zhí)行步驟4 ;若不存在則執(zhí)行步驟11 ;步驟4 判斷前一幀中是否存在一對(duì)一觸摸點(diǎn),若存在,則執(zhí)行步驟5 ;若不存在,則執(zhí) 行步驟6 ;步驟5 將一對(duì)一觸摸點(diǎn)進(jìn)行關(guān)聯(lián),并用各對(duì)關(guān)聯(lián)點(diǎn)歐式距離的平均值的1至2倍更新 作用域范圍值,且用各對(duì)關(guān)聯(lián)點(diǎn)夾角的平均值作為參考方向;并判斷前一幀中是否還有未 關(guān)聯(lián)的一對(duì)多觸摸點(diǎn),若有則執(zhí)行步驟7,若無則執(zhí)行步驟11 ;步驟6 將一對(duì)多觸摸點(diǎn)進(jìn)行關(guān)聯(lián),并用各對(duì)關(guān)聯(lián)點(diǎn)歐式距離的平均值的1至2倍更新 作用域范圍值,且用各對(duì)關(guān)聯(lián)點(diǎn)夾角的平均值作為參考方向;執(zhí)行步驟11 ;步驟7 對(duì)前一幀中的一對(duì)多觸摸點(diǎn)在其作用域范圍中依參考方向搜索仍未與其關(guān)聯(lián) 的相連觸摸點(diǎn),并進(jìn)行預(yù)關(guān)聯(lián),執(zhí)行步驟8 ;步驟8 計(jì)算各對(duì)預(yù)關(guān)聯(lián)觸摸點(diǎn)的總距離,判斷其總距離是否達(dá)到相對(duì)最小值,若達(dá)到 相對(duì)最小值,執(zhí)行步驟9 ;否則,重新進(jìn)行預(yù)關(guān)聯(lián),執(zhí)行步驟7 ;步驟9 比較各對(duì)預(yù)關(guān)聯(lián)觸摸點(diǎn)之間的距離,是否都處于同一范圍中,若是,則表示預(yù) 關(guān)聯(lián)正確,進(jìn)而將其關(guān)聯(lián),執(zhí)行步驟10 ;否則,重新進(jìn)行預(yù)關(guān)聯(lián),執(zhí)行步驟7 ; 步驟10 對(duì)各預(yù)關(guān)聯(lián)點(diǎn)進(jìn)行關(guān)聯(lián),執(zhí)行步驟11 ; 步驟11 獲取下一幀圖像,回到步驟2。
2.根據(jù)權(quán)利要求1所述的基于機(jī)器視覺的多點(diǎn)觸摸跟蹤 方法,其特征在于在步驟2中,觸摸點(diǎn)坐標(biāo)形式為有序坐標(biāo) (U,Jkg),其中τ表示觸摸點(diǎn)橫軸坐標(biāo)ι表示觸摸 >點(diǎn)縱軸坐標(biāo),Ji^g為標(biāo)志位用于記錄 關(guān)聯(lián)時(shí)的索引值,其值初始化為0,若該觸摸點(diǎn)已進(jìn)行關(guān)聯(lián)或無需關(guān)聯(lián),則置其置其標(biāo)志位 A^E的索引值為1<<11。
3.根據(jù)權(quán)利要求2所述的基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,其特征在于在步驟5中,若一對(duì)一觸摸點(diǎn)的個(gè)數(shù)為1,則將該一對(duì)一觸摸點(diǎn)和相連觸摸點(diǎn)進(jìn)行關(guān)聯(lián),并用兩者的 歐氏距離的1至2倍更新作用域范圍值,用兩者夾角作為搜索方向的參考方向值,并執(zhí)行步 驟7;若一對(duì)一觸摸點(diǎn)的個(gè)數(shù)大于1,則將各一對(duì)一觸摸點(diǎn)和對(duì)應(yīng)的相連觸摸點(diǎn)進(jìn)行關(guān)聯(lián),并 計(jì)算各對(duì)關(guān)聯(lián)觸摸點(diǎn)之間的歐氏距離和與夾角和,并用該歐氏距離的平均值的1至2倍更 新作用域范圍值,用該夾角和的平均值作為搜索方向的參考值,并執(zhí)行步驟7。
4.根據(jù)權(quán)利要求2所述的基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,其特征在于在步驟6中,若一對(duì)多觸摸點(diǎn)的個(gè)數(shù)為1,則將與其歐式距離最近相連觸摸點(diǎn)進(jìn)行關(guān)聯(lián),并用該歐式 距離的1至2倍更新作用域范圍值,用該兩關(guān)聯(lián)點(diǎn)的夾角作為方向搜索的參考方向值;同時(shí)置該一對(duì)多觸摸點(diǎn)以及其相連觸摸點(diǎn)的索引值為1<<11 ;執(zhí)行步驟11。若一對(duì)多觸摸點(diǎn)的個(gè)數(shù)大于1,則根據(jù)關(guān)聯(lián)方向一致性進(jìn)行關(guān)聯(lián),并用各對(duì)關(guān)聯(lián)點(diǎn)的平 均歐式距離的1至2倍更新作用域范圍值,用各對(duì)各觸摸關(guān)聯(lián)點(diǎn)的平均夾角作為方向搜索 的參考方向值;同時(shí)置各個(gè)一對(duì)多觸摸點(diǎn)和其對(duì)應(yīng)的相連觸摸點(diǎn)的索引值為1<<11 ;執(zhí)行 步驟11。
5.根據(jù)權(quán)利要求2所述的基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,其特征在于在步驟 7中,對(duì)前一幀中的一對(duì)多觸摸點(diǎn)先在其作用域范圍中依參考方向搜索當(dāng)前幀中的觸摸 點(diǎn),若搜索到的觸摸點(diǎn)的索引值為1<<11,則放棄與該觸摸點(diǎn)的關(guān)聯(lián);若該索引值值不為 1<<11,則將該一對(duì)多觸摸點(diǎn)和該觸摸點(diǎn)進(jìn)行預(yù)關(guān)聯(lián),并將兩預(yù)關(guān)聯(lián)點(diǎn)之間的距離值和位于 當(dāng)前幀中的該觸摸點(diǎn)的位序存入相應(yīng)的距離容器中,該距離容器與位于前一幀中的該一對(duì) 多觸摸點(diǎn)對(duì)應(yīng)。
6.根據(jù)權(quán)利要求5所述的基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,其特征在于在步驟7 中,首先對(duì)前一幀中每個(gè)一對(duì)多觸摸點(diǎn)依參考方向搜索當(dāng)前幀中的相連觸摸點(diǎn)并建立距離 容器,然后依據(jù)距離容器取值來關(guān)聯(lián)該一對(duì)多觸摸點(diǎn)。
7.根據(jù)權(quán)利要求6所述的基于機(jī)器視覺的多點(diǎn)觸摸跟蹤方法,其特征在于在步驟2中,各觸摸點(diǎn)的有序坐標(biāo)的序位按Y值降序排列,并將各觸摸點(diǎn)的有序坐標(biāo) 及其序位存入數(shù)據(jù)容器中;在步驟7中,先初始化L=0,并對(duì)各距離容器中的數(shù)據(jù)進(jìn)行取值,取值規(guī)則如下在第一 個(gè)距離容器中取數(shù)據(jù)容器中排序?yàn)榈谝坏臄?shù)據(jù),L=L+1 ;在第二個(gè)距離容器中也取排序?yàn)榈?一的數(shù)據(jù),但需與第一個(gè)距離容器中所取數(shù)據(jù)進(jìn)行位序比較,若位序相同,則放棄排序?yàn)榈?一的數(shù)據(jù),取排序?yàn)榈诙臄?shù)據(jù),同樣也需要與第一個(gè)距離容器中所取數(shù)據(jù)的位序比較,直 到取到與第一個(gè)距離容器中所取數(shù)據(jù)的位序不同的數(shù)據(jù)為止;直至所有一對(duì)多觸摸點(diǎn)對(duì)應(yīng) 的距離容器都取完值為止。
全文摘要
本發(fā)明涉及圖像分析、目標(biāo)檢測(cè)與目標(biāo)跟蹤領(lǐng)域,特別是多點(diǎn)觸摸軌跡跟蹤方法。一方面,該方法設(shè)定了兩個(gè)最優(yōu)條件,最優(yōu)條件1要求相鄰幀間各觸摸點(diǎn)關(guān)聯(lián)后的總距離達(dá)到相對(duì)最小值,最優(yōu)條件2要求相鄰幀間各已關(guān)聯(lián)觸摸點(diǎn)之間的距離相對(duì)一致。該方法通過尋找滿足這兩個(gè)最優(yōu)條件的觸摸點(diǎn),將其進(jìn)行關(guān)聯(lián),從而生成正確的移動(dòng)軌跡;另一方面,該方法融合運(yùn)用基于方向的搜索技術(shù),加快了搜索速度,降低了計(jì)算復(fù)雜度。
文檔編號(hào)G06F3/042GK102073414SQ201010525158
公開日2011年5月25日 申請(qǐng)日期2010年10月29日 優(yōu)先權(quán)日2010年10月29日
發(fā)明者肖平, 鄭金發(fā), 駱威 申請(qǐng)人:廣東威創(chuàng)視訊科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1