文/北京師范大學(xué)附屬實(shí)驗(yàn)中學(xué) 王子川
指導(dǎo)教師/北京理工大學(xué)光電學(xué)院 劉越;北京師范大學(xué)附屬實(shí)驗(yàn)中學(xué) 馬靜
基于圖像識別和手勢跟蹤的透射式智能眼鏡(上)
文/北京師范大學(xué)附屬實(shí)驗(yàn)中學(xué) 王子川
指導(dǎo)教師/北京理工大學(xué)光電學(xué)院 劉越;北京師范大學(xué)附屬實(shí)驗(yàn)中學(xué) 馬靜
智能眼鏡正在逐漸成為可穿戴設(shè)備領(lǐng)域里的重要研究方向,而市場上現(xiàn)有的產(chǎn)品大多存在操作繁瑣、增強(qiáng)現(xiàn)實(shí)體驗(yàn)不好等問題。在對市場及實(shí)際應(yīng)用的諸多種智能眼鏡分析研究的基礎(chǔ)上,進(jìn)一步研究增強(qiáng)現(xiàn)實(shí)體驗(yàn)更好、操控更為人性化的智能眼鏡具有重要的現(xiàn)實(shí)意義。在輸入方面,本研究提出的基于計(jì)算機(jī)視覺的手勢跟蹤識別和透射式標(biāo)定方法為智能眼鏡的輸入方式提供了一種新的解決方案,可以實(shí)現(xiàn)對于點(diǎn)擊和滑動操作的檢測;在增強(qiáng)現(xiàn)實(shí)方面,基于計(jì)算機(jī)視覺的透射式智能眼鏡的增強(qiáng)現(xiàn)實(shí)算法為智能眼鏡的增強(qiáng)現(xiàn)實(shí)應(yīng)用提供了解決方法,可以實(shí)現(xiàn)三維物體的動態(tài)疊加。上述的跟蹤識別、標(biāo)定方法以及增強(qiáng)現(xiàn)實(shí)算法和硬件一同構(gòu)成了增強(qiáng)現(xiàn)實(shí)智能眼鏡系統(tǒng)。除此之外,本項(xiàng)目討論了該系統(tǒng)未來在消費(fèi)級和企業(yè)級市場的不同應(yīng)用,實(shí)驗(yàn)中搭建的兩版增強(qiáng)現(xiàn)實(shí)眼鏡系統(tǒng)也為將來的實(shí)際應(yīng)用做出了示范。整個系統(tǒng)的創(chuàng)新之處在于首次在將透射式智能眼鏡上利用標(biāo)定實(shí)現(xiàn)基于自然特征點(diǎn)的三維動態(tài)增強(qiáng)現(xiàn)實(shí)與利用新的方法在智能眼鏡上實(shí)現(xiàn)對手指的跟蹤識別,因而相比其他的同類產(chǎn)品,該系統(tǒng)擁有操控簡便、增強(qiáng)現(xiàn)實(shí)效果好的優(yōu)點(diǎn)。
智能眼鏡;計(jì)算機(jī)視覺;增強(qiáng)現(xiàn)實(shí);手勢跟蹤識別;OSTHMD(光學(xué)透射式頭戴顯示器)
隨著近年來可穿戴設(shè)備漸漸進(jìn)入人們的視野,基于增強(qiáng)現(xiàn)實(shí)的智能眼鏡開始成為業(yè)界研究的一個重點(diǎn)。增強(qiáng)現(xiàn)實(shí)是一種于20世紀(jì)90年代被Thomas P. Caudell和David W. Mizell提出的技術(shù),其特征是將虛擬的信息疊加到現(xiàn)實(shí)場景中,以實(shí)現(xiàn)對現(xiàn)實(shí)的增強(qiáng)[1]。近年來智能眼鏡行業(yè)的發(fā)展使人們與增強(qiáng)現(xiàn)實(shí)之間的距離又近了一步,因?yàn)橹悄苎坨R的發(fā)展使增強(qiáng)現(xiàn)實(shí)的便利應(yīng)用成為可能。在此之前,谷歌公司已經(jīng)推出了一款面向智能手機(jī)平臺的增強(qiáng)現(xiàn)實(shí)應(yīng)用Ingress,但是由于用戶在使用時必須手持手機(jī),所以體驗(yàn)并不是十分理想[2]。然而,智能眼鏡的出現(xiàn)可以使用戶在無需額外操作的情況下很自然地看到虛擬信息與現(xiàn)實(shí)世界的融合,具有廣泛的應(yīng)用前景。
根據(jù)查閱的相關(guān)資料,目前已經(jīng)有不少科技公司在研究并生產(chǎn)此類基于增強(qiáng)現(xiàn)實(shí)的智能眼鏡,其中以愛普生公司、Meta Lab以及Atheer Lab推出的產(chǎn)品最具代表性。
Moverio BT-200是由愛普生公司推出的第二代智能眼鏡,采用雙目顯示,具有960×540qHD的分辨率和23°的視場角[3]。它內(nèi)置了陀螺儀、電子羅盤和加速度傳感器,可以實(shí)現(xiàn)頭部跟蹤功能。它還內(nèi)置了一顆攝像頭,用來實(shí)現(xiàn)拍照及增強(qiáng)現(xiàn)實(shí)的功能。但是BT-200的操作較為繁瑣,需要有外部有線連接的觸摸板來進(jìn)行操作。
Meta Pro是一款由Meta Lab推出的智能眼鏡,采用Intel? Core? i5處理器,擁有強(qiáng)大的計(jì)算性能和4GB超大內(nèi)存,同時內(nèi)置了深度傳感器,可以實(shí)現(xiàn)手勢的跟蹤識別,而且支持3D顯示,采用128GB SSD作為存儲器[4]。但是Meta Pro制造的成本很高,不適宜大規(guī)模量產(chǎn),而且它需要配合體積相對比較大的外置小型計(jì)算機(jī)來進(jìn)行使用。
Atheer One是由Atheer Labs開發(fā)的一款基于安卓手機(jī)的智能眼鏡,率先在國外知名的眾籌網(wǎng)站Indiegogo上發(fā)布,擁有高達(dá)65°的可視角,而且支持手勢操控,但在使用時需要把眼鏡與安卓智能手機(jī)相連,而且也并不支持透射式增強(qiáng)現(xiàn)實(shí)[5]。
在包括上述已經(jīng)發(fā)布的若干款智能眼鏡產(chǎn)品中,大多存在增強(qiáng)現(xiàn)實(shí)體驗(yàn)較差,操控不夠人性化和不能獨(dú)立使用的缺點(diǎn)。經(jīng)過研究分析,可靠的標(biāo)定算法是實(shí)現(xiàn)良好增強(qiáng)現(xiàn)實(shí)用戶體驗(yàn)的基礎(chǔ),指尖檢測算法則是手勢跟蹤交互的關(guān)鍵,然而目前在國內(nèi)還沒有人做過將標(biāo)定算法和指尖檢測算法用于智能眼鏡的研究。所以,采用標(biāo)定算法和指尖檢測算法更好地提升增強(qiáng)現(xiàn)實(shí)體驗(yàn)與人性化操控方式就成為了實(shí)驗(yàn)的重點(diǎn)。
在研究過程中先后搭建了兩版增強(qiáng)現(xiàn)實(shí)智能眼鏡系統(tǒng),第一個系統(tǒng)主要用于算法的調(diào)試、改進(jìn)與優(yōu)化,第二個系統(tǒng)主要用于整個系統(tǒng)的實(shí)用化,實(shí)現(xiàn)基于增強(qiáng)現(xiàn)實(shí)的應(yīng)用,將整個系統(tǒng)移植到移動x64以及x86平臺上便于在移動端應(yīng)用。
2.1 第一版
由于第一版主要是為測試、優(yōu)化算法和程序而搭建的,所以采用了基于x64電腦的試驗(yàn)方法。
本版采用了自由曲面棱鏡光學(xué)系統(tǒng),該系統(tǒng)擁有對角線36°的反射視場角和對角線50°的透射視場角,以及小于3%的畸變。該棱鏡采用APEL光學(xué)塑料,尺寸為36mm×30mm×12mm,重量是14g。圖1是FFS OSTHMD光學(xué)系統(tǒng)的YZ平面的2維平面圖,在這個系統(tǒng)中,有兩個光學(xué)通道。第一個光學(xué)通道是反射系統(tǒng)通道,由微顯示器顯示的圖像經(jīng)過放大投射后進(jìn)入人的眼睛,由微顯示器上發(fā)出的光經(jīng)表面4透射,再經(jīng)表面2全反射,經(jīng)表面3部分反射,最后通過表面2進(jìn)入人眼;第二個光學(xué)通道是透射式系統(tǒng)通道,由真實(shí)場景中的光線通過表面5、表面3、表面2的連續(xù)透射后進(jìn)入人眼。
顯示系統(tǒng)采用了云南北方奧雷德公司的OLED顯示器,具有最高800×600的分辨率,尺寸為12.78mm×9mm(0.6英寸)。圖2是該OLED顯示器的實(shí)物圖。
在其他硬件方面,采用了內(nèi)置Intel? Core? i5-2300 CPU(主頻2.8GHz)的64位臺式電腦,擁有8GB內(nèi)存。
在開發(fā)工具方面,使用了Microsoft Visual Studio 2010旗艦版,配合OpenCV 2.4.9和Intel? Perceptual Computing SDK 1.8來進(jìn)行算法測試與程序調(diào)試。
深度傳感器采用了Intel公司的Intel? Realsense 3D?設(shè)備,該設(shè)備內(nèi)置了3D 深度傳感器和720P的RGB攝像頭,并配有激光發(fā)射裝置[6]。圖3展示了該3D深度傳感器的結(jié)構(gòu),圖4為實(shí)物拍攝圖。
2.2 第二版
第二版的主要目的是把第一版的成果實(shí)用化、移動化,所以較第一版來說自由曲面棱鏡光學(xué)系統(tǒng)和顯示系統(tǒng)方面沒有變化,而最大的變化在于整個系統(tǒng)移植到了移動x64以及x86平臺上。第二版的x64型采用了Intel? Core? i7-3720QM(主頻2.6GHz)處理器,擁有NVIDIA GTX? 660M圖形處理器和8GB內(nèi)存,其他方面與第一版相同。第二版的x86型采用了Intel? Atom? Z3735F(主頻1.3GHz)處理器,集成Intel? HD Graphics圖形處理器和2GB內(nèi)存。操作系統(tǒng)采用Windows 8.1,并安裝Microsoft Visual Studio 2010旗艦版,OpenCV 2.4.9和Intel? Perceptual Computing SDK 1.8。第二版還采用了自行設(shè)計(jì)的鏡架,并進(jìn)行了3D打印。圖5為模型3D渲染圖。
指尖跟蹤標(biāo)定的三個關(guān)鍵環(huán)節(jié)是指尖分割、指尖識別跟蹤和透射式標(biāo)定,在此基礎(chǔ)上實(shí)現(xiàn)點(diǎn)擊和滑動檢測。
3.1 指尖分割
在實(shí)驗(yàn)中采用了基于深度值亮度分割方法。在智能眼鏡上的深度相機(jī)會實(shí)時計(jì)算每一時刻各個點(diǎn)的深度,并以灰度圖的形式返回給計(jì)算機(jī)。根據(jù)手掌距離深度傳感器最近的這個事實(shí),可以對每一幀獲取的深度圖像進(jìn)行直方圖分析。根據(jù)經(jīng)驗(yàn)可知手掌距離傳感器的最遠(yuǎn)距離不應(yīng)超過600mm,故取600mm作為閾值的一側(cè)界限,而另一側(cè)則采用動態(tài)閾值調(diào)整法。根據(jù)深度直方圖的基本特性可知手的出現(xiàn)在直方圖上反映為一個波的出現(xiàn)。因此,可以把小于600mm內(nèi)出現(xiàn)的第一個波谷的橫坐標(biāo)作為深度篩選的另一閾值界限,并可以認(rèn)為這兩個界限內(nèi)的深度信息即為指尖的深度信息[7]。圖6展示了該直方圖的典型情況,圖7展示了分割后所檢測出的手部位置。
3.2 指尖識別跟蹤
在掌握了指尖的深度信息之后,就可以將所有閾值內(nèi)的點(diǎn)儲存起來,利用cv::findContours找到這些點(diǎn)的輪廓,再遍歷全部輪廓點(diǎn)的y軸坐標(biāo),從而提取出y軸坐標(biāo)最大的點(diǎn),記錄該點(diǎn)在深度圖上的(x,y)坐標(biāo)以及深度值,記錄在內(nèi)存中。圖8中的綠點(diǎn)即為識別出的指尖位置。
3.3 透射式標(biāo)定
假設(shè)指尖點(diǎn)的世界坐標(biāo)是P(xw,yw,zw),指尖點(diǎn)在攝像機(jī)坐標(biāo)下的坐標(biāo)是PC(xc,yc,zc),在跟蹤攝像機(jī)成像平面的坐標(biāo)是PUV(x,y),Zc相當(dāng)于是深度攝像機(jī)獲得的深
其中跟蹤攝像機(jī)坐標(biāo)系與人眼坐標(biāo)系之間滿足轉(zhuǎn)換關(guān)系T。
圖1 FFS OSTHMD光學(xué)系統(tǒng)的YZ平面的2維平面圖
圖2 OLED顯示器的實(shí)物圖
指尖在人眼坐標(biāo)系下uv的坐標(biāo)為:Pe_uv(xe-uv,ye-uv,1)
圖3 3D深度傳感器結(jié)構(gòu)
圖4 實(shí)物拍攝圖
通過以上公式可以得到:
把人眼成想平面Pe_uv與跟蹤攝像機(jī)的轉(zhuǎn)換關(guān)系即為TP。
圖5 模型3D渲染圖
圖6 直方圖的典型情況
在標(biāo)定過程中Pe_uv(xe-uv,ye-uv,1)可以通過鼠標(biāo)點(diǎn)擊指尖獲得,點(diǎn)(zc·x,zc·y,zc·z)可以通過深度相機(jī)和指尖分隔直接獲得。
這樣就能得到一組點(diǎn)對,試驗(yàn)過程中,獲得27組這樣的點(diǎn)對后,既可以通過最小二乘法來求解Tp完成標(biāo)定[8-10]。
(未完待續(xù))
圖7 分割后所檢測出的手部位置
圖8 識別指尖位置