999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenCV的鼻尖特征點鼠標實時控制系統實現

2018-04-18 11:07:48翁政魁
計算機應用與軟件 2018年2期
關鍵詞:特征檢測系統

吳 博 王 彬* 翁政魁,2 熊 新 劉 輝

1(昆明理工大學信息工程與自動化學院 云南 昆明 650500) 2(上海大學通信與信息工程學院 上海 200072)

0 引 言

計算機技術的迅速發展使人類與計算機的關系愈加密切,其中人機交互技術是高效使用計算機的關鍵,而鼠標作為重要的人機交互設備之一,成為計算機使用過程中最為便利的工具。然而對于存在上肢運動障礙的人群來說,由于手指活動受限,難以使用鼠標操控計算機。因此亟需為這類人群提供合適的功能代償類輔具。鑒于人的面部具有直接性、自然性和雙向性等其他信息所無法具備的特點,使用面部特征點進行鼠標的控制是近年來研究的熱點。面部特征點跟蹤屬于一種非侵入式跟蹤方法[1-3],它可以使用普通攝像頭而不需要配備額外的輔助裝置,成本低且方便,用戶可以隨時隨地使用。

目前關于鼠標控制系統的研究大都集中在基于視線和眼部生理特征的特征點選取和定位跟蹤算法。秦華標等[4]采用若干個紅外光源,利用反射光斑的相對距離對瞳孔角膜反射向量進行標準化,通過精確定位瞳孔位置來達到視線跟蹤的目的。吳廣發等[5]提取人眼圖像中瞳孔-角膜反射向量作為視線方向計算模型所需的視覺信息,通過搭建紅外光源設備提取瞳孔-角膜反射向量構建基于瞳孔-角膜反射技術的視線跟蹤系統。徐巖柏等[6]提出了一種改進的Condensation人臉特征點跟蹤算法,利用增量主元分析的方法對特征觀測模型進行分析,更新面部特征點的特征基和樣本均值。金歡等[7]提出一種基于虹膜識別的視線跟蹤方法,通過調用用戶第一次標定時的眼部數據結合當前的眼部偏轉角和偏移量得到當前標定參數,解決了視線跟蹤過程中需反復進行標定的問題。梁洋洋等[8]提出了一種基于深度自編碼器網絡的人臉特征點定位方法,以整張人臉圖像為輸入,通過對人臉輪廓的分析,得到三部分特征點并進行定位預測。朱麒文、祝寶龍等對基于視線跟蹤技術的眼部特征點控制鼠標系統進行了具體的設計和實現[9-10]。

上述視線定位跟蹤算法在理想狀態下多具有較好的效果,但是在實際應用中對環境的光線照射及角度變化有較高的要求,并且對用戶的眼部生理特征有嚴格的使用要求,例如因佩戴眼鏡等產生的特征點遮擋問題而導致跟蹤效果不好。因此使用此類算法所實現的實際鼠標控制系統在特征點定位的魯棒性、目標跟蹤的準確性和快速性,以及人機交互的便利性和適用性等方面還需更多的改進。

本文針對以上研究現狀及存在的問題,以鼠標控制系統的快速性、抗干擾性和魯棒性的實際應用需求為目標,以鼻子作為面部特征點,給出了一種帶預測機制的改進Viola-Jones框架定位與跟蹤算法。并在此基礎上采用開源計算機視覺庫OpenCV和C++實現了基于機器視覺的鼠標實時控制系統。通過對該鼠標系統的移動精度、響應速度、控制連續性、系統魯棒性和中央處理器CPU占有率等實驗結果表明,基于改進Viola-Jones框架的面部特征點鼠標指針控制系統移動快速、可控范圍廣,控制平滑準確,系統資源占用率低,對使用環境要求低,具有良好的實際應用價值。

1 基于鼻尖特征點的改進跟蹤算法

1.1 特征點選取

基于特征點定位與跟蹤的鼠標控制系統的重要基礎是面部局部特征點的選擇是否合理,本文選取鼻子作為局部特征點,其依據如下:

1) 從面部特征點鼠標控制系統的研究現狀來看,采用視線作為局部特征點對于環境及使用者要求過高,嚴重降低了鼠標使用過程中的實時性和適用性。

2) 鼻尖位于人臉的中間位置,并且相對于眼睛等,鼻子在面部背景中具有唯一性,能夠清晰地代表整個臉部的運動軌跡,可以保證有效的可跟蹤性。

3) 在跟蹤過程中,無論是使用者或姿態的變換,還是面部產生運動,鼻子作為被跟蹤的局部特征點,其特征變化很小,能夠有效地保證鼠標系統的適用性和魯棒性。

綜上所述可以看出,相對于眼睛等特征點,鼻子具有更好的可跟蹤性和易定位性。因此我們將鼻子作為面部特征點,并根據鼻尖的實際運動行為和趨勢進行跟蹤,進而控制鼠標的動作。

1.2 Viola-Jones框架基本原理

Viola-Jones是Paul viola 和 Michael J Jones共同提出的一種人臉檢測框架[11],利用積分圖來提取目標特征,級聯AdaBoost分類器進行特征篩選和監測,使得算法在保證準確度的同時減少了檢測時的運算復雜度。

其算法基本原理如下:

實時采集自然光照下含有人臉的視頻流S=[S1,S2,…,Si]并以幀為單位依次讀入系統。首先進行單幀圖像預處理,包括灰度化及直方圖均衡化,接著使用Viola-Jones框架遍歷經過預處理的單幀圖像Si,執行以下兩個步驟:

1) 使用Harr-like特征表示Si中人臉特征,在大量特征的基礎上使用積分圖加快特征值計算速度。

2) 使用AdaBoost算法對人臉特征進行分類,通過多個弱分類器級聯得到一個更加準確的強分類器,最初平均分配所有訓練樣本的權值,對于第T次迭代,根據T-1次迭代中重新分配的權值來訓練分類器hT(S)。根據這個分類器的分類成功率改變第T+1次迭代中樣本的權重,從而得到新的分類器hT+1(S)。最后把每次迭代中得到的分類器級聯起來,如圖1所示,作為最終的決策分類器。

圖1 級聯分類器結構

式(1)為級聯分類器的計算公式,式中:S為待檢測樣本;αT為組合系數。

(1)

1.3 帶預測機制的改進Viola-Jones框架

盡管傳統Viola-Jones框架能準確檢測出特征點位置,但在檢測過程中需要遍歷整幅圖像,計算量很大,所用時間較長,難以滿足特征點定位的實時性要求。本文引入Kalman濾波器[12-14],用當前特征點的定位數據作為依據預測下一時刻鼻尖可能出現的位置。這樣,在使用Viola-Jones算法檢測特征點時無需再次遍歷整幅圖像,將全局運算優化為局部運算,只需要在預測得到的區域內進行檢測就可以完成特征點的定位,大大縮短了檢測所需的時間。

根據本文系統特點定義Kalman濾波的狀態方程和觀測方程分別為:

狀態方程:

xt=A·xt-1+wt

(2)

觀測方程:

zt=H·xt+vt

(3)

式中:A分別為狀態轉移矩陣和測量矩陣;wt、vt是兩個隨機變量,為互不相關的零均值白噪聲序列;狀態向量xt是一個四維向量(px,py,vx,vy),分別對應運動模中的目標位置(px,py)和速度(vx,vy)。在研究中我們假設特征點的運動是勻速的,那么可以定義狀態轉移矩陣A為:

(4)

進一步得到觀測矩陣H:

(5)

跟蹤過程中,設定(vx,vy)分量的初始值為零。檢測當前窗口中心位置(px,py),估計當前鼻尖特征點的位置xt,再根據Kalman濾波算法預測下一時刻特征點的質心位置xt+1,用于預先確定下一時刻搜索窗口的中心位置。這樣可以減少特征點的定位檢測時間,從而可以在保證鼠標控制系統準確性的同時有效提高系統的實時性,滿足用戶要求。

2 基于OpenCV的面部特征鼠標系統實現

2.1 系統開發環境及OpenCV概述

本文所述系統硬件均基于ThinkPad系列筆記本電腦,其配置為:3 GB DDR3內存Intel T6670 2.2 GHz處理器,顯卡顯存為256 MB,使用電腦集成130萬像素攝像頭,單幀圖像分辨率為640×480 DPI。

OpenCV是一個基于C++(開源)發行的跨平臺計算機視覺庫,可運行在Linux、Windows和MacOS等操作系統上。OpenCV提供了針對各種圖像格式的視頻源文件的標準圖像處理算法,并且高效準確。圖2給出了OpenCV視覺函數庫與當前其他主流視覺庫的性能比較,可以看出OpenCV在算法運算速度上有明顯的優越性[15]。因此,本系統使用C++和OpenCV2.4.4在VS2012(Visual Studio 2012,可視化開發工具包)平臺下進行開發。

圖2 OpenCV與當前其他主流視覺函數庫的性能比較

2.2 面部特征點鼠標控制系統框架

基于機器視覺的面部特征點鼠標控制系統必須完整實現傳統鼠標的基本功能,即控制鼠標光標移動以及鼠標的單/雙擊功能。以第1節所給出的融合Kalman濾波的改進Viola-Jones框架主要實現鼠標指針的定位、跟蹤及移動功能,加入鼠標按鍵動作控制模塊,可以得到以鼻尖特征點實現的面部特征點鼠標控制系統,其組成框架如圖3所示。

圖3 鼠標控制系統框架

2.3 鼠標按鍵動作控制模塊

使用人臉特征點的變化來控制鼠標按鍵動作是研究者普遍采用的方案,雖然人臉有很多明顯的動作特征如眨眼、張嘴等,但這一些人為表情特征存在一定的不可控性和不穩定性,使用這些特征容易使系統產生誤操作,從而影響鼠標的用戶體驗。為了保證鼠標控制系統的可靠性,本文采用一種簡潔的鼠標按鍵動作模塊代替人臉特征點控制按鍵動作的常規做法。該模塊的功能界面如圖4所示,分為左鍵單擊、左鍵雙擊、右鍵單擊、右鍵雙擊四種鼠標動作。因為鼠標控制系統設定為卡機即進入特征點捕捉模式,因此用戶可以通過鼻尖控制鼠標指針并選擇所需的鼠標按鍵動作,當前設計的系統主要保證完成常規鼠標的常用簡單功能。

圖4 鼠標按鍵動作控制功能界面

也可以根據實際應用需要添加“中鍵單擊”、“鼠標拖曳”等更多功能。按鍵動作控制流程圖如圖5所示,圖中Key1、Key2、Key3、Key4分別對應于“左鍵單擊”、“左鍵雙擊”、“右鍵單擊”、“右鍵雙擊”,Key為最終的判斷結果,Delay為延時參數。首先獲取光標的位置,為了避免操作過程的誤動作,設置一個2 000 ms的延時程序,當鼠標指針位于該功能區域超過2 000 ms時,才選中該按鍵功能。最后將該按鍵值賦給Key,Key值用于對鼠標事件參數賦值,以保證將光標移動到需要執行按鍵動作的區域后執行相應動作。

圖5 鼠標按鍵動作判斷控制圖

以第1節中所述算法為基礎,以鼻尖為局部特征點,構建以鼻尖面部特征點跟蹤技術為基礎的鼠標指針控制系統(見圖6)如下:

1) 通過攝像頭采集圖像數據并進行預處理。

2) 使用Viola-Jones框架對經過預處理的第n幀圖像數據進行鼻尖特征點的檢測,分為兩種情況:

(1) 如果檢測到鼻尖特征點,則對鼻尖特征點的位置進行定位并記錄第m個鼻尖特征點在整個圖像中的位置(x,y);接著執行步驟3)。

(2) 如沒有檢測到鼻尖特征點,則返回步驟1)。

3) 通過采集第n+1幀圖像數據并使用Kalman濾波算法對鼻尖特征點在第n+1幀中可能出現的位置進行跟蹤。

4) 以步驟3)中得到的窗口圖像為基礎,并利用Viola-Jones框架在該范圍內對鼻尖特征點進行檢測:如果檢測到鼻尖特征點,則對鼻尖特征點的位置進行定位并更新第m+1個鼻尖特征點在整個圖像中的位置(x+dx,y+dy);接著執行步驟5);如果沒有檢測到鼻尖特征點,則返回步驟1)。

5) 根據檢測到的第m個鼻尖特征點的位置(x,y)和第m+1個鼻尖特征點的位置(x+dx,y+dy)控制鼠標指針依據位移矢量進行移動;其中(dx,dy)為前后兩幀中鼻尖特征點的位移量。

圖6 鼠標指針定位、跟蹤及移動功能實現

3 面部特征點鼠標控制系統性能分析

為了驗證本文算法及以該算法為基礎的鼠標控制系統的實際性能,本文在自然光照下實驗室環境中分別對該鼠標系統的實際操控性能指標進行了三組仿真對比實驗。實驗環境與2.1節所述系統開發環境一致。

3.1 系統的使用性能分析

實驗人員端坐于電腦前,通過選擇鼠標按鍵動作功能即可進一步對鼠標指針進行控制。

1) 對鼻子的定位效果進行分析:以系統能夠檢測到鼻子特征點的位置為目標,鼻尖的移動范圍可以達到260×240個像素,對于1 280×800的屏幕來說,鼠標的移動精度可以達到4.9×3.3 DPI,能夠滿足鼠標的正常使用要求。2) 對于非正常情況下的面部位置變換進行測試:最大限度地觀察該鼠標系統對人臉特征點的跟蹤情況。改進的算法框架繼承了傳統Viola-Jones算法檢測精度高的特點,實驗結果如圖7所示,在左轉、右轉,以及最大限度的抬頭、低頭等各個姿態均有良好的跟蹤表現。

3.2 跟蹤效果及鼠標指針移動軌跡對比分析

分別采用傳統Viola-Jones算法、文獻[16-18]中的Mean-Shift算法和本文算法的實際鼠標跟蹤效果進行對比,實驗結果如圖8所示。傳統Viola-Jones算法在對特征定位上有良好的效果,但由于算法是單幀檢測,前后沒有相應的延續性,因此在60幀目標有遮擋時無法檢測到特征點位置,這個缺陷會導致幀間特征丟失,從而產生抖動,影響鼠標指針移動的平滑性。在80幀時視頻中人臉進行了前后的移動,因而鼻尖特征點在尺度上有很大變化,而文獻 [16-18]Mean-Shift算法由于核函數帶寬固定,當跟蹤目標變大時,不能很好地描述目標特征。采用融合Klaman濾波的Viola-Jones框架不但能夠保證和延續了傳統Viola-Jones算法進行單幀檢測時的準確性,又利用Kalman濾波的預測機制將幀與幀串聯起來,大大降低了跟蹤的丟幀率,因此可以使鼠標指針的平滑移動,保證了用戶的良好操作體驗。為進一步驗證本文算法的適用性,在計算機屏幕上人為標定十二個目標點,使用基于上述傳統Viola-Jones算法和本文算法的鼠標指針控制系統依次通過目標點并記錄指針軌跡,如圖9所示。傳統Viola-Jones算法因存在較高的丟幀率而導致鼠標指針抖動嚴重,無法準確到達目標所在位置。文獻[16-18]算法軌跡中由于鼠標指針受到跟蹤算法精度的影響,難以準確指向實驗目標點。本文算法因嵌入Kalman濾波在保證跟蹤準確的同時降低了丟幀率,得到的鼠標指針軌跡穩定、平滑。

圖8 三種算法跟蹤效果對比

圖9 不同算法下的鼠標指針移動軌跡對比

3.3 算法效率及系統CPU使用率對比分析

為了對比算法在實際使用過程中的效果,分別對傳統Viola-Jones算法、Mean-Shift算法[16-18]和本文系統采用的算法對鼠標控制系統的效率和能耗進行了對比,結果如表1所示。

表1 各種算法效率對比 實時處理速度 幀/s

從表1可以看出,在實時處理速度這個方面,本文算法比Mean-Shift算法提高了28%,比傳統Viola-Jones算法提高了69%。這是因為傳統Viola-Jones算法在每一幀檢測時都需遍歷整幅圖像,運算量很大,而本文算法在幀間嵌入Kalman濾波算法,利用預測機制將全局運算優化為局部運算,大大提高了算法的運算效率。

最后,與市面上同類鼠標控制產品[19]在使用時的系統CPU使用率對比,如圖10所示,可以看出本文所開發的鼠標控制系統CPU使用率明顯低于同類產品,節約了功耗。

圖10 本文系統與同類產品CPU使用率對比

4 結 語

現有的基于視線和眼部生理特征的機器視覺鼠標系統對于使用環境和條件具有較高的要求,不利于面部特征點鼠標系統的實際開發和應用要求。本文針對這種現狀選用鼻子作為面部的局部特征點,保證了定位目標的唯一性,因此使系統具有更好的可識別性和可跟蹤性。在幀間檢測的過程中引入基于Kalman濾波的預測機制,給出了一種改進的Viola-Jones框架,使幀間檢測相關聯,并利用預測機制將全局運算優化為局部運算,剔除了大部分跟蹤過程中與目標無關的噪點,從而在保證跟蹤質量的同時。在保證特征點跟蹤準確度的同時降低了算法的運算量,大大提高了算法的運算速度,并且增強了系統的魯棒性。在該算法基礎上,采用VS2012和OpenCV實現了面部特征點鼠標指針控制系統,實際運行結果表明,該鼠標控制系統指針移動穩定、平滑,系統資源占用率低。為手部動作受限人群使用鼠標提供了良好的解決方案。

盡管本文算法已經提高了系統的實時性,達到了良好的用戶體驗,但為了更好地接近傳統鼠標的功能,還有兩個問題值得我們深入研究:(1) 如何進一步提高算法的處理速度從而更好地降低跟蹤的丟幀率;(2) 如何保證在較小區域內光標的連續運動跟蹤從而更好地實現鼠標的復雜按鍵動作。

[1] Botero F,Hasmatuchi V,Roth S,et al.Non-intrusive detection of rotating stall in pump-turbines[J].Mechanical Systems & Signal Processing,2014,48(1):162-173.

[2] Ding L,Martinez M.Features versus context:An approach for precise and detailed detection and delineation of faces and facial features[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(11):2022-2038.

[3] Cerrolaza J,Villanueva A,Cabeza R.Study of Polynomial Mapping Functions in Video-Oculography Eye Trackers[J].ACM Transactions on Computer Human Interaction,2012,19(2):602-615.

[4] 秦華標,嚴偉洪,王信亮,等.一種可克服頭動影響的視線跟蹤系統[J].電子學報,2013,(12):2403-2408.

[5] 吳廣發,宋鴻陟,黃生輝,等.基于瞳孔-角膜反射技術的視線跟蹤方法[J].現代計算機(普及版),2014,14(5):67-71.

[6] 徐巖柏.一種改進的Condensation人臉特征點跟蹤算法[J].計算機應用與軟件,2015,32(12):154-159,213.

[7] 金歡,姚鵬,周足紅,等.視線跟蹤中基于虹膜識別的一次標定方法[J].計算機輔助設計與圖形學學報,2013,25(7):1052-1059.

[8] 梁洋洋,陳宇,楊健.基于深度自編碼器網絡的人臉特征點定位方法[J].計算機應用與軟件,2016,33(9):139-142.

[9] 朱麒文,閆隆鑫,張若蘭,等.基于視線追蹤的眼控鼠標設計[J].電子器件,2016,39(2):235-241.

[10] 祝寶龍.基于視覺跟蹤技術的眼控鼠標研究[D].哈爾濱工業大學,2015.

[11] Viola P,Jones M.Robust real-time face detection[J].International Journal of Computer Vision,2004,57(2):137-154.

[12] Zha F,Xu J,Li J,et al.Neural network modeling for FOG temperature drift[J].System engineering and electronic technology (English version),2013(5):838-844.

[13] 王華劍,景占榮,鄭文泉,等.迭代容積卡爾曼粒子濾波算法[J].東南大學學報(自然科學版),2013,43(s1):85-88.

[14] 翁政魁,王彬,王坤,等.一種基于預測的實時人臉特征點定位跟蹤算法[J].計算機工程與應用,2015,51(12):198-202.

[15] Bradski G,Kaehler A.Learning OpenCV:Computer Vision in C++ with the OpenCV Library[M].O’Reilly Media,Inc.2013.

[16] 彭寧嵩,楊杰,劉志,等.Mean-Shift跟蹤算法中核函數窗寬的自動選取[J].軟件學報,2005,16(9):1542-1550.

[17] 倪琦,賀明,張國進,等.基于多特征融合的Mean Shift跟蹤算法[J].強激光與粒子束,2014,26(10):101022-1-101022-5.

[18] 楊一帆,田雁,楊帆,等.基于改進Mean-Shift算法的紅外小目標跟蹤[J].紅外與激光工程,2014,43(7):2164-2169.

[19] Control Mouse by Eyes(Enable Via Cam)v1.7.2[DB/OL].(2015)http://www.bkill.com/download/31966.html.

猜你喜歡
特征檢測系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 国产综合精品日本亚洲777| 欧美三级日韩三级| 久久婷婷国产综合尤物精品| 好吊妞欧美视频免费| 伊人无码视屏| 国产特级毛片| 国产自产视频一区二区三区| 精品国产成人高清在线| 色综合中文综合网| h视频在线观看网站| 直接黄91麻豆网站| 麻豆精品在线播放| 亚洲中文制服丝袜欧美精品| 久久夜色精品国产嚕嚕亚洲av| 日本高清视频在线www色| 亚洲综合天堂网| 亚洲一区二区视频在线观看| 精品欧美一区二区三区久久久| 国产精品久久国产精麻豆99网站| 亚洲综合经典在线一区二区| 亚洲一级色| 亚洲无码熟妇人妻AV在线| 美女无遮挡被啪啪到高潮免费| 国产素人在线| 欧美一级黄片一区2区| 91无码国产视频| 成人一区在线| 国产97视频在线| 午夜免费视频网站| 日本免费新一区视频| 亚洲av无码成人专区| 亚洲成a人在线观看| 亚洲精品成人片在线观看| 国产产在线精品亚洲aavv| 欧美精品成人| 国产欧美日韩专区发布| 日韩不卡高清视频| 香蕉视频在线观看www| 欧美日韩国产在线人| 日韩欧美网址| 国产女人爽到高潮的免费视频| 国产剧情国内精品原创| 六月婷婷激情综合| 91精品视频网站| 乱色熟女综合一区二区| 久久久久无码精品| 亚洲天堂日韩av电影| 波多野结衣视频网站| 欧美v在线| 久久青草视频| 伊人激情久久综合中文字幕| 九九久久精品免费观看| 欧美日韩在线第一页| 午夜精品久久久久久久无码软件 | 91精品国产丝袜| av无码久久精品| 亚洲国产精品VA在线看黑人| 国产一级在线播放| 亚洲av无码人妻| 欧美日韩精品在线播放| 九九这里只有精品视频| 大香网伊人久久综合网2020| 黄片一区二区三区| 免费国产不卡午夜福在线观看| 久夜色精品国产噜噜| 自拍欧美亚洲| 99re在线免费视频| 999精品在线视频| 国产精品无码久久久久AV| 91精品视频播放| 欧美精品成人一区二区视频一| 麻豆国产精品| 国产无遮挡猛进猛出免费软件| 亚洲AV无码久久天堂| 中文字幕人成乱码熟女免费| 色偷偷av男人的天堂不卡| 国产日韩欧美精品区性色| 日韩免费无码人妻系列| 成人另类稀缺在线观看| 国产女人18水真多毛片18精品 | 97免费在线观看视频| 亚洲国语自产一区第二页|