張瑜 王世東 馬藝珊 黃嬡
當(dāng)前許多科學(xué)領(lǐng)域的研究熱點(diǎn),是如何使人機(jī)交互變得更加方便高效、操作簡(jiǎn)單。在人機(jī)交互領(lǐng)域中,手勢(shì)識(shí)別技術(shù)是關(guān)鍵性技術(shù)之一,隨著科技的日益更新,它也跟隨著科技的發(fā)展而發(fā)展,一直在保持著變化。
當(dāng)前,手勢(shì)識(shí)別技術(shù)發(fā)展非常迅速,已經(jīng)被廣泛應(yīng)用于虛擬環(huán)境、自動(dòng)捕捉以及多媒體用戶界面等諸多領(lǐng)域,起到了很好的效果。隨著社會(huì)的發(fā)展,各種產(chǎn)品都愈加重視用戶體驗(yàn),手勢(shì)識(shí)別可以帶給人們更好的體驗(yàn),因此獲得了廣泛的應(yīng)用。基于傳感器加速硬件的手勢(shì)識(shí)別技術(shù)是一種常用的手勢(shì)識(shí)別技術(shù),但是具有價(jià)格昂貴以及可能會(huì)影響人體健康等問(wèn)題,因此一種更加簡(jiǎn)單、造價(jià)低、對(duì)人體沒(méi)影響的手勢(shì)識(shí)別技術(shù)成為研究的重點(diǎn)。離線人機(jī)交互可以滿足這一需求,基于視覺(jué)的手勢(shì)識(shí)別技術(shù)不需要應(yīng)用中間媒體,通過(guò)手勢(shì)就可以和機(jī)器進(jìn)行直接的交流,不需要外界設(shè)備使其應(yīng)用非常高效、方便,可以給用戶帶來(lái)非常好的使用體驗(yàn)。
手勢(shì)識(shí)別系統(tǒng)具有多樣化的應(yīng)用場(chǎng)景,有些是動(dòng)態(tài)的、有些是靜態(tài)的。但目前大多應(yīng)用是都是靜態(tài),因?yàn)楫?dāng)前動(dòng)態(tài)手勢(shì)識(shí)別系統(tǒng)還存在一些問(wèn)題,需要加強(qiáng)研究。
手勢(shì)識(shí)別系統(tǒng)總體設(shè)計(jì)
在設(shè)計(jì)方面采用嵌入式平臺(tái),具有簡(jiǎn)單、體積小和成本低等優(yōu)點(diǎn),可以降低手勢(shì)識(shí)別系統(tǒng)的成本,提高便攜性。
手勢(shì)識(shí)別過(guò)程如下:通過(guò)攝影機(jī)采集各種圖像,同時(shí)還要對(duì)采集的圖像進(jìn)行提前加工,采集手勢(shì)圖像的特征信息,然后將提取到的信息和手勢(shì)模板庫(kù)進(jìn)行配對(duì),確定手勢(shì)的編號(hào)和意義。
V4L2接口
V4L是系統(tǒng)內(nèi)核中和飾品設(shè)備有關(guān)的子系統(tǒng),能夠?yàn)長(zhǎng)inux下的視頻驅(qū)動(dòng)提供接口,通過(guò)應(yīng)用這一接口,可使應(yīng)用程序通過(guò)統(tǒng)一的API函數(shù)實(shí)現(xiàn)對(duì)不同設(shè)備的操控,降低視頻系統(tǒng)開(kāi)發(fā)難度,使維護(hù)更加便捷。早期V4L功能不完全、漏洞多,因此進(jìn)行了重新設(shè)計(jì),設(shè)計(jì)除了Video for Linux 2(V4L2),現(xiàn)在有Linux2.5.X版本。
圖像預(yù)處理
手勢(shì)圖像去噪
在進(jìn)行動(dòng)作視頻的收集時(shí),系統(tǒng)可能是移動(dòng)的,因此獲得的手勢(shì)圖像不可避免地會(huì)受到干擾,包括外部環(huán)境光強(qiáng)度的變化和相機(jī)抖動(dòng),會(huì)造成獲取的對(duì)象和信息庫(kù)中的圖像存在差異,因此需要對(duì)收集到的手勢(shì)圖像進(jìn)行降噪處理,從而更加準(zhǔn)確地進(jìn)行識(shí)別,提高圖像識(shí)別率。圖像中相鄰像素的灰度值具有較高的相關(guān)性,如果圖像是順滑和自然的,像素相關(guān)性越高,反之,則像素相關(guān)性越低?;谶@一原理,采用加權(quán)平均值濾波的方式,能夠很好地實(shí)現(xiàn)手勢(shì)圖像的降噪。
圖像閾值分割
在獲取的視頻流圖中,需要采集的手勢(shì)目標(biāo)灰度值與當(dāng)前背景的灰度值之間有明顯差異,因此一般要應(yīng)用閾值分割等算法對(duì)目標(biāo)區(qū)域進(jìn)行處理。實(shí)際處理過(guò)程中,在手勢(shì)目標(biāo)與圖像背景之間通常會(huì)存在一個(gè)或多個(gè)分割閾值,為了獲得更加清晰的手勢(shì)目標(biāo)區(qū)域圖像,需要應(yīng)用多個(gè)閾值元素來(lái)進(jìn)行處理,在獲取完整手勢(shì)信息的前提下,最大程度上抑制噪聲。
系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
手勢(shì)識(shí)別系統(tǒng)軟硬件環(huán)境
本文設(shè)計(jì)的手勢(shì)識(shí)別系統(tǒng)選擇Ubuntu系統(tǒng),采用QTOPIA 2.2.0進(jìn)行圖形界面開(kāi)發(fā),應(yīng)用OpenCV2.4.3作為圖像識(shí)別輔助工具。
ARM開(kāi)發(fā)板為手勢(shì)識(shí)別系統(tǒng)的基本開(kāi)發(fā)環(huán)境,64 mm×85 mm液晶觸摸屏采用USB2.0接口的攝像頭。
基于V4L2的視頻采集
V4L2是對(duì)V4L的重新設(shè)計(jì),在此基礎(chǔ)上相當(dāng)于是一個(gè)全新的編程接口。V4L2采集視頻數(shù)據(jù)的過(guò)程如下:
系統(tǒng)開(kāi)啟后,進(jìn)行系統(tǒng)初始化,啟動(dòng)視頻設(shè)備,并查詢視頻設(shè)備功能,進(jìn)行視頻格式和窗口大小的設(shè)置。完成之后申請(qǐng)內(nèi)存緩沖區(qū),查詢?cè)O(shè)備緩沖區(qū)大小和偏移地址,建立內(nèi)存映射,然后向隊(duì)列添加緩沖區(qū)。之后,開(kāi)始進(jìn)行視頻采集,獲取采集圖像,進(jìn)行視頻圖像的讀取和存儲(chǔ),然后釋放內(nèi)存。最后,關(guān)閉視頻設(shè)備,結(jié)束視頻采集。
手勢(shì)識(shí)別實(shí)驗(yàn)
經(jīng)過(guò)訓(xùn)練之后的10種手勢(shì)模板及改進(jìn)后Canny算子可以得到清晰的手勢(shì)輪廓圖像。
當(dāng)前,手勢(shì)識(shí)別技術(shù)在PC端已經(jīng)獲得了廣泛應(yīng)用,但這種技術(shù)的問(wèn)題是實(shí)用性和便攜性差。通過(guò)應(yīng)用USB攝像頭來(lái)采集視頻信息,提取和識(shí)別視頻流中的手勢(shì),能夠提高這一技術(shù)的便攜性和實(shí)用性,為應(yīng)用手勢(shì)進(jìn)行人機(jī)交互控制奠定基礎(chǔ)。本文進(jìn)行了在嵌入式系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)手勢(shì)識(shí)別的設(shè)計(jì),通過(guò)對(duì)系統(tǒng)進(jìn)行驗(yàn)證和分析,手勢(shì)識(shí)別系統(tǒng)具有良好的實(shí)用性。