李 煒 ,李 志 ,郭 星 ,吳建國
(1.安徽大學 計算機科學與技術(shù)學院,安徽 合肥 230039;2.安徽大學 計算智能與信號處理教育部重點實驗室,安徽 合肥 230039;3.安徽大學 軟件學院,安徽 合肥 230039)
虛擬翻書系統(tǒng)是一種虛擬電子書,又稱感應(yīng)翻書、互動翻書等,它如同一本打開的書籍,里面可以記載豐富的資料(包括動畫、視頻、圖片)。參觀者可以自左向右或者自右向左揮動手臂“翻閱”書籍,還可以選擇章節(jié),快速翻閱相關(guān)內(nèi)容,如翻閱一本普通的雜志一般。新穎的模式,強烈的視覺沖擊,讓虛擬翻書成為越來越不可或缺的創(chuàng)新產(chǎn)品,具有廣泛的應(yīng)用前景。目前的虛擬翻書系統(tǒng)主要利用紅外感應(yīng)或光電感應(yīng)的方式獲取參觀者的動作,實現(xiàn)前后翻書效果。但是其存在只能進行簡單的前后翻頁操作,如果要增加點擊播放視頻、目錄選頁等功能需要在電子書模型上設(shè)置按鈕,這樣既不美觀也不便于操作,并存在紅外感應(yīng)器的磨損和對翻書動作范圍的限制等問題。
本文提出的基于圖像識別的虛擬翻書系統(tǒng)主要是通過攝像頭采集人手圖像,然后對序列圖像進行分析,識別出人手動作,發(fā)送指令給計算機,并利用計算機視覺技術(shù)顯示電子書頁面內(nèi)容從而達到虛擬翻書效果。
系統(tǒng)的主要構(gòu)成如圖1所示。
圖1 系統(tǒng)主要構(gòu)成
(1)書形投影臺面:顯示投影內(nèi)容,包括文字、圖像、聲音、動畫、視頻等。
(2)底座:長方體框架結(jié)構(gòu),用于支撐書形投影臺面,將計算機主機和音響設(shè)備放入其中。
(3)計算機主機系統(tǒng):用于存儲展示內(nèi)容,并進行圖像識別控制。
(4)音響設(shè)備:用于播放視頻、語音等形式的內(nèi)容。
(5)支架:2根長管,用于支撐照明燈、圖像采集裝置、投影儀及圖像反射裝置。
(6)圖像采集裝置(左右):可以是普通攝像頭,用于采集人手運動圖像。
(7)照明燈(左右):用于照亮書形投影臺面。
(8)投影儀:用于把展示內(nèi)容通過計算機投影到書形投影臺面上。
(9)圖像反射裝置(鍍膜高反射鏡):將投影儀投影圖像反射到書形投影臺面上。
(10)控制板:控制整個系統(tǒng)供電、斷電。
本系統(tǒng)中運用的算法主要包括:序列圖像處理算法、仿真書邊沿識別和系統(tǒng)標定、手指定位算法、計算機視覺算法等。其中仿真書邊沿識別是獲取算法所關(guān)注的興趣區(qū)域,區(qū)域以外的部分不需要處理。系統(tǒng)標定的目的是獲取攝像頭的成像平面和計算機顯示平面的映射關(guān)系。這樣可計算出攝像頭拍攝的圖像中任一像素點在計算機屏幕平面的對應(yīng)位置。手指定位算法實現(xiàn)人手在仿真書屏幕的準確定位,并根據(jù)虛擬電子書設(shè)置的參數(shù)實現(xiàn)翻頁、點擊等動作。計算機視覺算法是利用電影播放原理在電子書前后2頁頁面內(nèi)容更換的過程中插入24幀更換過程畫面,此時參觀者就會看到翻頁的動畫效果。系統(tǒng)實現(xiàn)原理框圖如圖2所示。
圖2 系統(tǒng)實現(xiàn)原理框圖
利用Windows的DirectShow技術(shù)采集攝像頭拍攝的序列圖像,并對圖像進行濾波處理去除噪聲,得到圖像細節(jié)。中值濾波是眾多圖像濾波器中既能很好地抑制噪聲,又能很好保護圖像細節(jié)的一個濾波器,本研究方法即采用此濾波器對得到的序列圖像進行處理。普通的中值濾波對圖像進行全局中值濾波處理時,可能導致圖像邊緣模糊,本算法采用判斷圖像上的該像素是否為邊緣點的方法:(1)邊緣判斷以(x,y)為中心的 3×3像素區(qū)域,并選取8種代表性邊緣,如圖3所示。以中心畫十字,得到4個鄰近像素,設(shè)閾值為T,鄰近像素灰度值與中心像素灰度值的差為 d,當 d<T 時,s自動加 1;當 a<s<b時,可確定該像素為邊緣點(a、b為常數(shù),s為鄰近像素與中心像素灰度相似的個數(shù));(2)該像素點是邊緣點則不進行任何變換,直接將該像素值 f(x,y)輸出;(3)不是邊緣則進行中值濾波。
圖3 3×3像素區(qū)域的8種代表性邊緣
仿真書的邊沿識別是為了找到算法關(guān)注的興趣區(qū)域。本實驗中的計算機顯示器分辨率為1 024×768。首先調(diào)整投影儀的投影區(qū)域,將其剛好完全覆蓋電子書系統(tǒng)上的書模型;然后在屏幕上顯示1個1 024×768的白色像素圖像,則在攝像頭捕獲的序列圖像中書模型區(qū)域為白色,其他區(qū)域為黑色,如圖4(a)所示。通過本文的序列圖像處理算法對序列圖像進行濾波處理,并對處理過的序列圖像進行基于亮度的信息抽取,獲取圖像中像素點為白色的區(qū)域,從而可以找到圖像中書模型的形狀,其結(jié)果如圖4(b)所示。邊框線包圍了整個仿真書的書面,該區(qū)域內(nèi)即為本文算法所關(guān)注的興趣區(qū)域,區(qū)域以外的部分不做處理。
圖4 仿真書的邊沿識別
系統(tǒng)標定是確定攝像頭的圖像坐標與計算機屏幕坐標系之間的映射關(guān)系。這里的屏幕坐標系是指仿真書模型上的坐標系。將計算機屏幕劃分出16×18個點,并以這些點為中心畫 3×3的矩形框棋盤格,第1次在書模上這些點顯示為白色,如圖5(a)所示,其他顯示黑色,通過基于亮點的信息抽取方法逐行掃描圖像確定這些亮點在攝像頭圖像中的坐標;接著將這些點為中心的棋盤格小方塊顯示為黑色,其他像素點顯示為白色,通過找如圖5(b)所示的圖像中的暗點校正之前所找到的這些點在攝像頭中的位置,從而確定屏幕上指定的這16×18個點的屏幕坐標對應(yīng)的攝像頭坐標。
圖5 系統(tǒng)標定
在本系統(tǒng)中,利用圖像采集裝置監(jiān)控人手的動作,故圖像采集裝置是靜止的,而目標即人手是運動的。本系統(tǒng)采用基于幀間差分的方法來實現(xiàn)人手的定位。
幀間差分法就是將之前處理過的圖像序列,通過逐個像素比較可直接求取前后2幀圖像或者相鄰幾幀圖像之間的差別。假設(shè)前后圖像之間光線不變化,那么差分后圖像不為零的像素表示該像素發(fā)生了移動;如果前后圖像之間的光線有稍許變化,可以采用1個閾值來判斷變化。幀間差分法就是利用圖像序列中連續(xù)2幀或幾幀圖像的差異來進行運動物體的檢測,即對圖像序列中時間相鄰的2幅或幾幅圖像求絕對差,然后用1個閾值來判斷變化的區(qū)域。
假設(shè)第 k幀和第k-1幀圖像的灰度分別為 Ik(i,j)和Ik-1(i,j),則其他的差分圖像為:
對式(1)得到的差分圖像,通過1個閾值T來判斷圖像中的各個像素點是運動目標還是背景,從而提取出運動區(qū)域的圖像 Mk(i,j):
為處理方便,本文將差分的結(jié)果二值化,這種二值化圖像稱為掩模,并對掩模圖像進行連通性分析和數(shù)學形態(tài)濾波。當某一連通區(qū)域面積大于某1個給定的閾值時,則檢測到目標,并認為該區(qū)域就是目標區(qū)域。在本算法中一般情況下將閾值T設(shè)置為30左右。
利用幀間差分法,通過前后2幀的圖像分析人手運動方向,并利用系統(tǒng)標定將人手在攝像頭中的坐標轉(zhuǎn)化為屏幕坐標。設(shè)前1幀中人手的位置為P1(x,y),后1幀中 人 手 的 位 置 為 P2(x,y)(P1(x,y)、P2(x,y)均 為 屏 幕 坐標)。根據(jù)人手在前后2幀的位置比較可得出人手動作。
(1)前后翻頁動作:根據(jù)X方向的位移大小來判斷人手左右方向移動如下:
(2)點擊判斷動作:設(shè) P1,P2…Pn為 n幅序列圖像中人手的位置,若點 P1,P2…Pn的 X、Y坐標相等,則認為人手在此位置產(chǎn)生點擊動作,此時電子書完成預先在此設(shè)置好的動作,如播放語音、視頻等。
因人眼在某個視像消失后,仍可使該物像在視網(wǎng)膜上滯留0.1~0.4 s左右。電影膠片以每秒24格畫面勻速轉(zhuǎn)動,一系列靜態(tài)畫面就會因視覺暫留作用而造成一種連續(xù)的視覺印象,產(chǎn)生逼真的動感。所以本系統(tǒng)根據(jù)此原理在前后2頁內(nèi)容更換的過程中插入24幀更換過程畫面,則參觀者就會看到翻頁的動畫效果。
圖6是向后翻頁過程圖像示意圖。數(shù)字1所在框為書的左頁,數(shù)字2所在框為書的右頁,數(shù)字3所在的三角形為翻上來的左頁部分,而數(shù)字4則是翻上來的右頁露出來的部分。P為書的右下角翻上來的位置。若整個翻頁過程點P做弧形運動若干步,則由此會形成若干幅翻上來的畫面,根據(jù)計算機視覺原理,如果在短時間內(nèi)將這若干幅畫面依照點P的移動順序依次顯示出來,則就會給人產(chǎn)生翻頁的動畫效果。
圖6 動畫產(chǎn)生示意圖
利用計算機視覺算法顯示翻頁過程中的圖像,需要對翻頁中產(chǎn)生的圖像進行實時的圖像合成處理,該算法如下:
(1)假定翻頁過程動畫數(shù)為N,每次翻動相同的角度θ0,每頁電子書頁面的寬度為W,高度為H,以屏幕左上角為坐標原點(0,0)。翻頁的圓心角為 θ,如圖 6所示,則可得到P點運動軌跡所形成的圓弧半徑R=W/sinθ。圖中,OO′=W/tanθ,每次翻頁角度 θ0=2θ/N,則圖中的 θ′=θi×θ0。 由此得到每次翻頁動畫中的 Pi(x,y)(i=1,2,3…N)的坐標:
式中,k1表示斜率,b1表示截距。由Pi、V0可求得直線斜率以斜率k、點V的坐標代入直線方11程y=k1x+b1求出截距 b1。因為 V2縱坐標也為 0,V3橫坐標為0,利用V2V3直線方程可求出 V2、V3對應(yīng)的坐標。再利用兩點確定一條直線,可求出直線PiV2、PiV3的直線方程。
(3)利用第 2 步求 出 的 直 線 V2V3、PiV2、PiV3,翻 頁 過程中P點每向前移動1次,判斷每一個像素點屬于圖6所示的1、2、3、4四部分的所屬部分并進行 1次圖像合成,從而得到若干幅合成的圖像,同時依次顯示到電子書模型上,通過計算機視覺原理使人產(chǎn)生翻頁的動畫效果。圖7是人手在書模型上揮動手臂電子書向后翻頁過程中的1幅動畫。
圖7 仿真書向后翻頁過程動畫
本文介紹了一種新的基于圖像識別算法的虛擬翻書系統(tǒng)的設(shè)計,實驗所使用的計算機主頻為2.0 GHz,圖像采集設(shè)備為普通的網(wǎng)絡(luò)攝像頭,投影設(shè)備為日立投影儀。本系統(tǒng)運行時,攝像頭近似同步地采集分辨率為640×480像素的圖像序列,視覺翻書處理部分以每秒24幀的速度顯示圖像。本系統(tǒng)的特點在于利用圖像采集裝置(攝像頭)獲取圖像數(shù)據(jù)來確定人的手勢動作從而完成虛擬翻頁效果,同時準確定位人手位置,具有虛擬觸摸功能,實現(xiàn)點擊播放視頻等。系統(tǒng)樣機已成功運用于第四屆中國中部博覽會,取得了良好的展示效果。但存在光線太強,人手定位不理想等問題,有待進一步改進。
[1]HALL D,GAL C L.Magicboard:a contribution to an intelligent office environment[J].Robotics and Antonomous Systems, 1999,35(3-4):211-220.
[2]ZHANG Z, WU Y.Visual panel:virtual mouse, keyboard,and 3D controller with an ordinary piece of paper[A].Proc.ACM WorkshoponPerceptiveUserInterfaces[C].New York:ACM Press,2001:219-226.
[3]徐一華,李善青,賈云得.一種基于視覺的手指屏幕交互方法[J].電子學報,2007,35(11):2236-2240.
[4]黨韌.一種多點觸摸屏:中國,101271372A[P].2008-09-24.
[5]何斌,馬天予,王運堅,等.Visual C++數(shù)字圖像處理[M].北京:人民郵電出版社,2001.