基于OpenCV的浮空手勢(shì)識(shí)別技術(shù)與電力載波技術(shù)的綜合應(yīng)用探究
利用OpenCV計(jì)算機(jī)視覺庫(kù)在vs2013平臺(tái)上設(shè)計(jì)一個(gè)基于實(shí)時(shí)攝像頭的集靜態(tài)手勢(shì)、動(dòng)態(tài)手勢(shì)跟蹤、動(dòng)態(tài)手勢(shì)識(shí)別于一體的應(yīng)用。在動(dòng)態(tài)運(yùn)動(dòng)的手勢(shì)建模中,分析運(yùn)動(dòng)軌跡的運(yùn)動(dòng)序列即計(jì)算運(yùn)動(dòng)光流,抽取運(yùn)動(dòng)軌跡。最后利用隱馬爾可夫模型(HMM)結(jié)合動(dòng)態(tài)時(shí)間的規(guī)劃法進(jìn)行運(yùn)動(dòng)軌跡識(shí)別,更加方便快捷的控制目標(biāo)。將這種由電腦做處理器的設(shè)備在體積方面受到極大的制約,無法做到便攜化,小型化,在正式場(chǎng)合無法使用,因此我們將其集成在樹莓派上,用一張卡片大小的微型電腦控制,大大增強(qiáng)了它的實(shí)際應(yīng)用能力,降低他的成本。在此基礎(chǔ)上加入電力載波,將其應(yīng)用到只能家居的通信上,減少線路施工。
手勢(shì)識(shí)別是目前實(shí)現(xiàn)人機(jī)交互比較先進(jìn)的一種方式,可簡(jiǎn)化一部分簡(jiǎn)單控制,對(duì)于智能控制具有十分重大的意義,能最大化增加用戶的體驗(yàn)感以及代入感。Intel為計(jì)算機(jī)視覺領(lǐng)域的應(yīng)用開發(fā)提供的數(shù)據(jù)庫(kù)方便了我們的開發(fā)與應(yīng)用。目前市面上的人機(jī)交互技術(shù)大都為鼠標(biāo)、筆或是數(shù)據(jù)手套,但是鼠標(biāo)的交互性較差,而數(shù)據(jù)手套價(jià)格昂貴且使用不便。利用OpenCV對(duì)手勢(shì)進(jìn)行手勢(shì)識(shí)別是降低成本、增強(qiáng)人機(jī)交互體驗(yàn)感的良好選擇。
OpenCV是Intel 開源計(jì)算機(jī)視覺庫(kù)(open source computer vision library)的簡(jiǎn)稱,它是由c函數(shù)以及少量c++ 函數(shù)構(gòu)成,是實(shí)現(xiàn)在圖像處理以及計(jì)算機(jī)視覺方面的多通用算法,主要對(duì)圖像進(jìn)行運(yùn)動(dòng)檢測(cè)、追蹤、分割、識(shí)別等高級(jí)處理。由于OpenCV是開放源碼且代碼簡(jiǎn)潔高效,大多數(shù)函數(shù)都經(jīng)過匯編優(yōu)化,因此我們利用Intel系列芯片即用電腦CPU作為處理器,利用OpenCV強(qiáng)大的圖像和矩陣運(yùn)算能力實(shí)現(xiàn)我們的手勢(shì)識(shí)別及相應(yīng)控制。本文程序運(yùn)行環(huán)境為:Windows+VS2013+OpenCV2.4.11
樹莓派(英語:Raspberry Pi)是英國(guó)的樹莓派基金會(huì)開發(fā)的小型電腦,其最初目的是為學(xué)校的計(jì)算機(jī)教育提供廉價(jià)的設(shè)備,但是因?yàn)樗阋说膬r(jià)格,信用卡般的大小和強(qiáng)大的性能,迅速被極客所看中,在其基礎(chǔ)上搭建了各種平臺(tái)以實(shí)現(xiàn)他們的創(chuàng)意。將OpenCV的數(shù)據(jù)庫(kù)移植在樹莓派上是對(duì)一種微型化的極大提升。對(duì)于物聯(lián)網(wǎng)應(yīng)用,樹莓派的優(yōu)勢(shì)可以分為兩大方面:硬件方面和軟件方面。
硬件優(yōu)勢(shì)
在這里我們應(yīng)用樹莓派三代的B版來介紹其優(yōu)勢(shì)。樹莓派設(shè)計(jì)之初是作為一臺(tái)變成用個(gè)人電腦所設(shè)計(jì)的,所以有相當(dāng)強(qiáng)大的性能。樹莓派3的CPU為1.2GHz的64位4核的ARM Cortex-A53. 強(qiáng)大的處理器性能使得樹莓派具有更強(qiáng)的數(shù)據(jù)處理能力,能夠流暢地執(zhí)行的多線程任務(wù),從而滿足用戶的多種需求。樹莓派提供100M網(wǎng)口和4個(gè)USB 2.0接口,使其能夠輕松地接入數(shù)據(jù)網(wǎng)絡(luò),而第三代樹莓派更是集成了Wi-Fi芯片和藍(lán)牙芯片,這更為樹莓派接入無線網(wǎng)絡(luò),搭建物聯(lián)網(wǎng)提供了便利。作為一個(gè)物聯(lián)網(wǎng)設(shè)備,其還提供了大量的GPIO針腳和SPI總線用于連接各式傳感器和電機(jī)等并對(duì)其進(jìn)行編程,提供了攝像頭和TFT顯示器接口,有HDMI視頻接口和3.5英寸音頻接口等,不一而足。此外,還有很多商家推出了擴(kuò)展板為其提供更加豐富的功能。綜上所述,樹莓派擁有著非常強(qiáng)勁的性能和多種多樣的接口,而其價(jià)格并不昂貴,所以完全能夠勝任物聯(lián)網(wǎng)硬件平臺(tái)這一任務(wù)。
圖1 HMM手勢(shì)識(shí)別流程圖
圖2 手勢(shì)識(shí)別算法效果圖以及最終模型匹配
軟件優(yōu)勢(shì)
任何平臺(tái)的勝出都脫離不開軟件的支持, 而樹莓派最大的優(yōu)勢(shì)正是軟件上的 。到目前為止樹莓派社區(qū)中發(fā)布的操作系統(tǒng)版本已經(jīng)達(dá)到幾十種,包括Fedora,Ubuntu Mate,Windows Io T等,而作為其官方默認(rèn)推薦的操作系統(tǒng) Raspbian 是開源Linux操作系統(tǒng)的發(fā)行版Debian的分支,能夠完美的將OpenCV移植安裝到樹莓派中,并應(yīng)用OpenCV的數(shù)據(jù)庫(kù)以及其軟件庫(kù)里的軟件包。這其中自然包括對(duì)Python、Java、C等廣泛應(yīng)用的語言的支持,這無疑為后續(xù)的物聯(lián)網(wǎng)軟件開發(fā)提供了便利。
HSV顏色空間是一種面向視覺感知的顏色模型,人眼的色彩知覺主要由3個(gè)要素構(gòu)成:色調(diào)、飽和度、亮度。HSV有兩個(gè)特點(diǎn):①亮度分量與圖像的彩色信息無關(guān);②色調(diào)和飽和度分量與人感受顏色的方式緊密相連。這些優(yōu)點(diǎn)可以更好的分割出人體和背景的區(qū)別,對(duì)攝像頭的信息進(jìn)行縮放,便于我們對(duì)圖像進(jìn)行處理。通過均值漂移濾波,消除多余的噪聲信號(hào),可以初步得出一個(gè)手勢(shì)輪廓,再利用形態(tài)學(xué)濾波以及色彩宣傳補(bǔ)償,最后通過HSV色彩通道分離查找出一個(gè)完整的手勢(shì)輪廓并進(jìn)行篩選。這種方式能夠更加高效的進(jìn)行手勢(shì)采集并與建立的模型進(jìn)行匹配。利用Intel建立一個(gè)簡(jiǎn)單的的計(jì)算機(jī)數(shù)據(jù)庫(kù),能夠更快捷的進(jìn)行計(jì)算處理,同時(shí)搭配一個(gè)攝像頭進(jìn)行手勢(shì)采集并通過上位機(jī)軟件對(duì)電腦實(shí)現(xiàn)實(shí)時(shí)控制,完成用戶需要的簡(jiǎn)單操作。
在基于顏色直方圖與背景差分的運(yùn)動(dòng)檢測(cè)中,利用差分算法對(duì)背景與目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè)更新,由于攝像頭在打開的時(shí)候會(huì)有一個(gè)掩飾,這段時(shí)間內(nèi)背景在不斷變化,所以錯(cuò)誤會(huì)一直累計(jì),對(duì)結(jié)果會(huì)有比較大的影響。因此我們采用OpenCV 庫(kù)中的cvAddWeighted函數(shù)進(jìn)行背景更新,彌補(bǔ)攝像頭的延時(shí)誤差。在二維平面的基礎(chǔ)上加入一個(gè)紅外測(cè)距模塊,進(jìn)行Z半軸的運(yùn)動(dòng)采集,相比于現(xiàn)有的三維攝像頭,它的計(jì)算速度得到大幅度的提升,通過手勢(shì)與攝像頭的距離進(jìn)行縮放控制,更加便捷、迅速。
隱馬爾可夫模型是一種基于參數(shù)表示用于描述隨機(jī)過程中統(tǒng)計(jì)特性的概率模型,同時(shí)應(yīng)用手形以及運(yùn)動(dòng)軌跡兩大特征實(shí)現(xiàn)動(dòng)態(tài)手勢(shì)識(shí)別,在輪廓跟蹤過程中獲得手部輪廓,同時(shí)通過輪廓質(zhì)心的坐標(biāo)表示手的位置獲取手勢(shì)的運(yùn)動(dòng)軌跡,則可得到動(dòng)態(tài)手勢(shì)的特征向量,即觀察值序列;然后采用左右結(jié)構(gòu)的帶有4個(gè)狀態(tài)的離散馬爾可夫模型實(shí)現(xiàn)手勢(shì)識(shí)別。
電力載波是電力系統(tǒng)特有的通信方式,電力載波通訊是指利用輸電和供電的電力線,通過載波方式將模擬或數(shù)字信號(hào)進(jìn)行高速傳輸?shù)募夹g(shù)。兩個(gè)電力載波模塊 用串口發(fā)信息給模塊 模塊把信號(hào)穿到電力線上,另一邊接受解碼再串口發(fā)出去。最大特點(diǎn)是不需要重新架設(shè)網(wǎng)絡(luò),只要有電線,就能進(jìn)行數(shù)據(jù)傳遞。電力載波能對(duì)地形以及空間的干擾降到最低,還可以節(jié)省資源,提高效益,降低輻射更環(huán)保。利用載波技術(shù)對(duì)小范圍內(nèi)的精確信息傳輸能夠完美的應(yīng)用到智能家居中,通過樹莓派對(duì)浮空手勢(shì)信號(hào)進(jìn)行分析。實(shí)時(shí)控制家電的工作狀態(tài)。
在實(shí)驗(yàn)中我們選擇了十個(gè)不同的靜態(tài)手勢(shì),用于實(shí)現(xiàn)人機(jī)交互的十種描述指令,手勢(shì)作為人機(jī)交互的一種自然接口,當(dāng)用戶做出手勢(shì)動(dòng)作后,攝像頭進(jìn)行實(shí)時(shí)捕捉計(jì)算,控制處理器做出相應(yīng)的指令,能夠更大化的增強(qiáng)人機(jī)交互感。在二維平面的基礎(chǔ)上加入紅外測(cè)距模塊,能夠?qū)崿F(xiàn)距離檢測(cè),可以識(shí)別更多的手勢(shì)。用串口通信發(fā)送紅外模塊的數(shù)據(jù),利用距離感控制頁面的放大與縮小,增強(qiáng)用戶的體驗(yàn)感,開發(fā)完整的人機(jī)界面延伸,實(shí)現(xiàn)更加自然的實(shí)時(shí)控制與交換。
在移植到樹莓派的使用過程中,將圖片進(jìn)行小型化,能夠?qū)崿F(xiàn)快速的相應(yīng)于應(yīng)答,是實(shí)現(xiàn)基本的數(shù)據(jù)傳輸,通過電力載波進(jìn)行各個(gè)設(shè)備之間的通訊,通過樹莓派強(qiáng)大的計(jì)算能力,能夠保證物聯(lián)網(wǎng)的快速性和實(shí)時(shí)性,且可以適應(yīng)多種應(yīng)用場(chǎng)景,能夠滿足用戶個(gè)性化的物聯(lián)網(wǎng)需求。我們隊(duì)房間內(nèi)的燈光回路進(jìn)行控制,能做到利用手勢(shì)動(dòng)作進(jìn)行多個(gè)燈的選擇進(jìn)行與控制,多燈光的亮度,開關(guān)狀態(tài)都能進(jìn)行手勢(shì)控制。具有較強(qiáng)的應(yīng)用前景。
10.3969/j.issn.1001- 8972.2016.21.034