国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器視覺和激光投射技術(shù)的虛擬鍵盤設(shè)計

2020-06-10 07:43:00
沿海企業(yè)與科技 2020年2期
關(guān)鍵詞:按鍵鍵盤攝像頭

肖 峰

一、引 言

隨著計算機(jī)技術(shù)的廣泛普及,人們對鍵盤這一重要的計算機(jī)輸入設(shè)備日益重視。傳統(tǒng)的機(jī)械鍵盤雖然在物理反饋機(jī)制上優(yōu)勢明顯,但卻存在體積較大、質(zhì)量較大等問題,越來越不能滿足用戶希望輸入設(shè)備輕便小巧、攜帶方便的剛性需求。虛擬鍵盤能夠有效解決這一問題。

近年來,國內(nèi)外眾多學(xué)者對虛擬鍵盤進(jìn)行了廣泛且深入的研究。王久鵬等人結(jié)合嵌入式技術(shù)和圖像處理技術(shù),研究設(shè)計了一套激光投影虛擬鍵盤設(shè)備[1]。杜曉東等人通過創(chuàng)建字庫、設(shè)置接口并結(jié)合數(shù)據(jù)庫查詢的方法,設(shè)計實(shí)現(xiàn)了在多平臺下跨越QT版本限制的虛擬鍵盤[2]。張云等人提出嵌入式架構(gòu)設(shè)計方案并實(shí)現(xiàn)了具有高度擴(kuò)展性和實(shí)時性的虛擬軟鍵盤[3]。李攀等人對一種利用拇指控制的觸屏手機(jī)虛擬鍵盤按鍵提取方法進(jìn)行了研究[4]。吳邊等人對基于P300電位的新型BCI中文輸入虛擬鍵盤系統(tǒng)進(jìn)行了研究[5]。張琪等人將現(xiàn)有和弦虛擬鍵盤分為一般和弦虛擬鍵盤和基于布萊葉點(diǎn)字法的和弦虛擬鍵盤兩大類,并對其未來的研究、應(yīng)用進(jìn)行了展望[6]。李振偉等人對離線建模法在虛擬鍵盤中的應(yīng)用進(jìn)行了研究,為開發(fā)能高精度定位鍵盤位置的虛擬鍵盤提供了新的設(shè)計方法[7]。欒祿祥基于GPRS和激光虛擬鍵盤設(shè)計了一款智能電子門鎖系統(tǒng),探究了虛擬鍵盤在智能電子門鎖系統(tǒng)上的應(yīng)用[8]。陳瑋君創(chuàng)新地提出家電通用遙控技術(shù)方案,研究了虛擬鍵盤在家電通用遙控方面的應(yīng)用[9]。

本文基于機(jī)器視覺和激光投射技術(shù),利用Open Source Computer Vision Library平臺設(shè)計了一款實(shí)用性較強(qiáng)的虛擬鍵盤。其不僅精度較高,且成本低廉、制作簡單、使用方便,可廣泛適用于家庭、辦公室、醫(yī)療設(shè)備、教室等多種場所。

二、虛擬鍵盤的設(shè)計及工作原理

(一)鍵盤畫面的產(chǎn)生

在市面上已有的或已設(shè)計的虛擬鍵盤系統(tǒng)中[10—12],部分虛擬鍵盤系統(tǒng)的鍵盤畫面是通過激光加上高速光學(xué)偏鏡的方法產(chǎn)生的,這種方法在實(shí)際生產(chǎn)制作過程中面臨著需要采用精密機(jī)械部件而導(dǎo)致其成本高昂、不夠輕便等問題。本文設(shè)計的基于機(jī)器視覺和激光投射技術(shù)的虛擬鍵盤采用全息投影技術(shù),激光器通過照射預(yù)先保存有鍵盤畫面的全息鏡片,進(jìn)而在目標(biāo)平面上產(chǎn)生相應(yīng)畫面的方法產(chǎn)生鍵盤畫面。

1.激光投射

紅外激光是波長比紅光長的非可見光,是激光的一種,其發(fā)光波長為760nm—1mm[13]。由于激光具有功耗較低、集成度效果好、發(fā)光頻率專一、人眼覺察不到等優(yōu)點(diǎn),同時考慮到使用者的人身安全和鍵盤是一個平面的特點(diǎn),本文設(shè)計的基于機(jī)器視覺和激光投射技術(shù)的虛擬鍵盤采用線角度為120°、30mW、980nm的一字形紅外激光作為信號檢測光源。

(二)鍵盤輸入的檢測

鍵盤畫面可以投射在任意表面上,因此需要非接觸的手段實(shí)現(xiàn)鍵盤輸入的檢測。在市面上已有的或已設(shè)計的虛擬鍵盤系統(tǒng)中,實(shí)現(xiàn)鍵盤輸入的檢測主要有兩種方法。一是通過檢測按鍵發(fā)出的聲音來進(jìn)行判斷[14]。假定使用者按鍵過程中在鍵盤投射面會產(chǎn)生一定的敲擊聲,通過檢測該聲音傳播時間等信息進(jìn)行定位,從而判斷出鍵盤輸入的事件。二是通過超聲波雷達(dá)手段進(jìn)行判斷[15][16]。發(fā)射超聲波并檢測反射波的傳播時間差來檢測目標(biāo)物體的位置,繼而判斷出鍵盤輸入的事件。

基于對系統(tǒng)軟硬件需求的綜合考慮,本文采用機(jī)器視覺的方式,讓攝像頭捕捉鍵盤區(qū)域的畫面并通過圖像來進(jìn)行識別分析,進(jìn)而判斷出鍵盤輸入的事件。

1.機(jī)器視覺的實(shí)現(xiàn)方法

在市面上已有的或已設(shè)計的虛擬鍵盤系統(tǒng)中,部分虛擬鍵盤系統(tǒng)采用微軟的KINECT深度傳感器或采用雙攝像頭做雙目視覺處理(如圖1所示)。通過設(shè)計視覺處理算法,在一幅畫面中找出每根手指相對畫面的位置(x,y),以及手指距離桌面的高度z,得到手指的三維空間坐標(biāo)(x,y,z)。本文考慮到這樣的處理比較消耗處理資源,且校正過程比較復(fù)雜,因此采用與基于三角測距原理的激光測距儀一致的方法,通過主動投射激光來實(shí)現(xiàn)目標(biāo)物體的三維坐標(biāo)檢測。也有學(xué)者研究使用一束線性激光照射目標(biāo)物體,在目標(biāo)物體的反射光被攝像頭捕捉到后,利用三角測距原理,通過三角關(guān)系,求出目標(biāo)物體中被線性激光照亮部分的坐標(biāo)信息[17][18]。

圖1 RoboPeak團(tuán)隊的雙目視覺深度提取實(shí)驗(yàn)

2.攝像頭捕捉

攝像頭(Camera)是一種視頻輸入設(shè)備,它能夠把光信號轉(zhuǎn)變成電信號[19]。根據(jù)攝像頭的圖形傳感器在集成材料上的不同,可以分為兩類,一類是CCD(電荷耦合器件),還有一類是CMOS(互補(bǔ)金屬氧化物半導(dǎo)體)[20][21]。本設(shè)計使用的是CCD感光元件。CCD感光元件一般由硅構(gòu)成,由于硅的紅外敏感度較高,因此能用此類攝像頭檢測紅外線。其系統(tǒng)結(jié)構(gòu)框圖及按鍵輸入檢測如圖2所示。

圖2 系統(tǒng)結(jié)構(gòu)框圖及按鍵輸入檢測

3.方法優(yōu)勢

采用類似于LLP方式多點(diǎn)觸控技術(shù)(如圖3所示)的方法,具有很多無可比擬的優(yōu)勢。當(dāng)手指遮擋激光平面后產(chǎn)生了反射,因此會在攝像頭畫面中出現(xiàn)較為明亮的光斑,通過簡單的視覺算法提取并檢測指尖位置,從而準(zhǔn)確判斷出鍵盤輸入事件。同時,由于只有當(dāng)手指靠近或者觸碰到桌面時才會遮擋住激光并產(chǎn)生反射光,而在距離桌面較高的位置則不會被檢測算法察覺,因此檢測按鍵事件時只要檢測算法檢測到手指反光,則可以認(rèn)為出現(xiàn)了按鍵事件,且可直接用當(dāng)前檢測到的坐標(biāo)來進(jìn)行后續(xù)處理,而不需要通過檢測手指距離桌面的高度來進(jìn)行判斷。

圖3 LLP方式多點(diǎn)觸控技術(shù)

(三)具體判斷并產(chǎn)生對應(yīng)的按鍵事件

在GUI系統(tǒng)進(jìn)行UI元素碰撞判斷中(如圖4所示),圖形系統(tǒng)里所有UI元素均保存有其相對于屏幕的坐標(biāo)值[22]。GUI系統(tǒng)不停地判斷當(dāng)前鼠標(biāo)指針位置是否落入了某一個按鈕或者選擇框的坐標(biāo)范圍內(nèi)[23]。

圖4 GUI對比判斷系統(tǒng)

圖5 映射按鍵判斷

與GUI系統(tǒng)類似,本設(shè)計建立如圖5所示的映射按鍵判斷機(jī)制。首先建立投射鍵盤圖案中每個按鍵的坐標(biāo)信息,以激光發(fā)射器為原點(diǎn)的指尖坐標(biāo)p(x,y)映射到以鍵盤圖案左上角為原點(diǎn)坐標(biāo)的平面內(nèi),得到映射點(diǎn) p’(x,y),然后將映射點(diǎn) p’(x,y)與事先記錄的每個按鍵的坐標(biāo)值對比,求得當(dāng)前對應(yīng)按下的按鍵值[22]。最終通過操作系統(tǒng)觸發(fā)一個對應(yīng)鍵值的按鍵事件。為提高系統(tǒng)性能,本文使用由Martin F.Krafft開發(fā)的基于C++模板的Kd-tree實(shí)現(xiàn)libkdtree++,進(jìn)而通過快速查找的方式實(shí)現(xiàn)對比。

三、虛擬鍵盤的制作及性能測試

(一)使用的器材

虛擬鍵盤制作使用的器材如表1所示。

表1 系統(tǒng)硬件器材及參數(shù)規(guī)格

(二)硬件的制作

1.拆除廣角鏡頭上的紅外光截止濾光片,并在鏡頭頭部安裝紅外帶通濾光片。

2.攝像頭使用一條USB電纜,系統(tǒng)直接通過USB 5V供電驅(qū)動另外2個激光器。電路通過使用3.3V的LEO芯片控制。

3.紅外一字線性激光器安裝在設(shè)備的最底部,以保證產(chǎn)生的激光平面能夠盡可能地靠近投影面平面。在激光器上方安裝投射鍵盤圖案的激光模組,高度由能夠投射出與常規(guī)鍵盤尺寸大小類似的圖案決定。在最頂端安裝攝像頭,使其能完整拍攝到整個鍵盤畫面(映射高低差異如圖6所示)。

圖6 映射高低差異示意

(三)視覺處理

視覺處理在PC上進(jìn)行,使用OpenCV庫進(jìn)行視覺運(yùn)算代碼的開發(fā)。在進(jìn)行指尖提取和坐標(biāo)求解前,需要對攝像頭捕獲的原始畫面做一些前期處理,以方便后續(xù)的計算。

1.鏡頭扭曲校正

為增大拍攝圖像面積,本制作使用廣角鏡頭,但廣角攝像頭拍攝到的畫面存在比較明顯的扭曲。而這種扭曲變換是非線性的,難以直接進(jìn)行處理計算出后續(xù)需要的坐標(biāo)信息。因此,在將鏡頭上的紅外光截止濾光片拆除并在鏡頭頭部安裝紅外帶通濾光片之前,采用比OpenCV函數(shù)校正效果更好的如圖7所示的matlab攝像頭校正工具對攝像頭鏡頭進(jìn)行鏡頭扭曲校正。在使用Chessboard完成圖案校正后,再使用OpenCV的cvRemap函數(shù)通過校正數(shù)據(jù)將扭曲的畫面重新修正,修正前后的效果如圖8所示。此后使用OpenCV中對應(yīng)的函數(shù)依次進(jìn)行灰度化、高斯濾波、閾值化、形態(tài)學(xué)濾波處理(如圖9所示)。各類濾波處理后的效果如圖10所示。

圖7 Matlab中的Camera Calibration Toolbox

圖8 鏡頭扭曲校正

圖9 紅外帶通濾光片過濾可見光干擾

2.興趣點(diǎn)提取

得到光斑畫面后,使用OpenCV中的cvFind-Contours工具提取輪廓,進(jìn)而求解每個光斑區(qū)域在圖像中的位置,其整體流程如圖11所示,使用輪廓提取手段提取手指區(qū)域坐標(biāo)效果如圖12所示。同時利用質(zhì)心法并以光斑亮度作為權(quán)重,大致求解出每個指尖中心的大致坐標(biāo)。

圖11 興趣點(diǎn)提取流程

圖12 使用輪廓提取手段提取手指區(qū)域坐標(biāo)

3.坐標(biāo)計算和校對

在得到手指光斑中心點(diǎn)相對于畫面的坐標(biāo)后,可以通過三角測距的方法,求出手指在桌面平面內(nèi)的坐標(biāo) p(x,y)。

4.按鍵映射和校正

將手指放在鍵盤圖案的某幾個“按鍵”上,然后將當(dāng)前的坐標(biāo) p(x,y)與所“按”“按鍵”在鍵盤圖案的坐標(biāo)進(jìn)行對比[22]。理想狀態(tài)下,每個 p(x,y)與對應(yīng)的理論值都偏移了一個固定的位移量D。但因校正過程中引進(jìn)的誤差,每次測量時的偏差量D’與理想的位移量都存在一個誤差偏移Derror(如圖13所示)。本設(shè)計通過采用多次測量進(jìn)行最小二乘擬合的方式消除誤差Derror(如圖14所示),得到一個近似于D的校正值,并將按鍵坐標(biāo)等信息保存在一維數(shù)組中(如圖15所示),標(biāo)定參數(shù)輸出。

圖13 重投影誤差分析

圖14 標(biāo)定圖片3D重現(xiàn)

圖15 使用一維數(shù)組保存每個按鍵信息

(四)按鍵事件模擬注入

Windows系統(tǒng)提供的SendInput API允許應(yīng)用程序向整個系統(tǒng)注入任意的鍵盤事件,且在實(shí)際效果上已經(jīng)和編寫驅(qū)動程序的效果沒有區(qū)別,系統(tǒng)輸入法等特性也可以很好的支持,因此設(shè)計的基于機(jī)器視覺和激光投射技術(shù)虛擬鍵盤采用Windows系統(tǒng)提供的SendInput API在模擬組合鍵和連發(fā)事件后向系統(tǒng)注入鍵盤事件。通過此方式,保證了所有的處理程序都在用戶態(tài)模式運(yùn)行,可以很容易地把代碼移植到MacOS或者Linux系統(tǒng)下運(yùn)行,大大增強(qiáng)了虛擬鍵盤的適用范圍和實(shí)用性。

(五)界面反饋

通過OpenCV的繪圖功能,繪制一個如圖16所示的簡單程序界面,讓每個處理狀態(tài)都實(shí)時顯示在界面中。

圖16 處理狀態(tài)顯示界面

四、總 結(jié)

依托機(jī)器視覺和激光投射技術(shù)設(shè)計的虛擬鍵盤,整體基于測距算法的優(yōu)勢,可以識別出0.1mm的細(xì)微手指移動,并且通過校正達(dá)到2mm的最大誤差水平,支持任意多個按鍵的同時輸入,最快響應(yīng)頻率為30Hz。

另外,本設(shè)計在考慮采用更高fps的USB攝像頭、更大視角的攝像頭鏡頭、將算法移植到嵌入式DSP或者ARM芯片、加裝WIFI或藍(lán)牙實(shí)現(xiàn)無線傳輸、編寫鍵盤容錯算法處理和輔助按鍵輸入功能等情況下,可進(jìn)一步增大響應(yīng)頻率、縮小整體裝置的體積,增強(qiáng)裝置的便攜性和實(shí)用性,提高實(shí)際使用價值。

總的來說,本文設(shè)計的虛擬鍵盤在便捷性等方面有一定優(yōu)勢,性能足以滿足日常使用,具有一定的實(shí)用價值和推廣價值。

猜你喜歡
按鍵鍵盤攝像頭
浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
你知道手機(jī)撥號鍵盤上為什么要有*和#嗎?
攝像頭連接器可提供360°視角圖像
鍵盤貓
基于有限狀態(tài)機(jī)的按鍵檢測程序設(shè)計
電子制作(2021年3期)2021-06-16 03:14:26
Cлово месяца
中國(俄文)(2019年6期)2019-11-22 14:41:58
ikbc R300機(jī)械鍵盤
電腦報(2019年40期)2019-09-10 07:22:44
一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計
電子制作(2016年1期)2016-11-07 08:43:05
奔馳360°攝像頭系統(tǒng)介紹
按鍵的多種狀態(tài)檢測及消抖處理方法
家電科技(2013年4期)2013-07-09 10:55:08
奉贤区| 个旧市| 观塘区| 双江| 清原| 定远县| 浪卡子县| 德化县| 天等县| 彰武县| 伊川县| 平果县| 上栗县| 泗洪县| 崇阳县| 石景山区| 安阳县| 新郑市| 黄石市| 盘锦市| 垣曲县| 安图县| 安阳县| 江山市| 景宁| 平度市| 安溪县| 新民市| 宜君县| 武川县| 黄平县| 漯河市| 乳源| 鸡东县| 荆门市| 云浮市| 昆明市| 裕民县| 陇西县| 靖西县| 闽侯县|