許 靜
(呼倫貝爾學院 音樂與舞蹈學院,內(nèi)蒙古 呼倫貝爾 021008)
數(shù)字信息技術(shù)在上個世紀末期飛速成長,獲得了非常大的進步和發(fā)展[1]。計算機技術(shù)的蓬勃發(fā)展,使得社會生活的許多領(lǐng)域發(fā)生了翻天覆地的變化。基于人機交互的前沿科技獲得了廣泛關(guān)注,許多研究者又將“計算機視覺”當做人機交互的突破點來開展研究,為實現(xiàn)計算機自動化、智能化而努力著。隨著計算機技術(shù)的發(fā)展,基于人的立體視覺技術(shù)在生活中的應(yīng)用也取得了質(zhì)的飛躍,這也給現(xiàn)實生活增添了許多的樂趣和無限可能。
人類對于音樂的追求是相通的,從遠古時代簡單的敲擊產(chǎn)生音樂,到新時代各種樂器層出不窮,音樂起到了非常重要的紐帶作用。鋼琴作為樂器中的“樂器之王”,從一誕生就受到人們的喜愛,然而由于其高昂的價格以及復(fù)雜的結(jié)構(gòu),一直未能在平常百姓家庭得到推廣。
然而,隨之高新技術(shù)的蓬勃發(fā)展,基于雙目立體視覺的虛擬鋼琴獲得了研發(fā),取得了非常大的進展,國際上一些科技發(fā)達的國家在本世紀初便開始進行了研發(fā),這項技術(shù)在國內(nèi)同樣得到傳播和不斷研發(fā)推進。通過雙眼立體視覺從而將虛擬鋼琴引入千家萬戶,一方面是對計算機視覺技術(shù)的推進,另外一方面也極大的促進了計算機技術(shù)和鋼琴的融合發(fā)展。本文對計算機雙目立體視覺技術(shù)和虛擬鋼琴進行了系統(tǒng)研究,包括計算機雙目立體視覺技術(shù)和虛擬鋼琴的研究現(xiàn)狀,同時基于立體視覺技術(shù)設(shè)計了簡單的虛擬鋼琴,以期將雙目立體視覺在虛擬鋼琴中得到應(yīng)用,并提供一定的理論參考。
眼睛是心靈的窗戶,作為非常重要的感覺器官,人們通過眼睛獲得外部信息是一種非常有效的方法[2]。人眼需要通過視網(wǎng)膜接受外界的光而形成圖像,然后將形成的圖像傳到視覺中樞,形成一種印象,再傳到大腦,形成感知。從計算機誕生以來,如何將計算機與人體器官進行緊密結(jié)合成為了許多研究者的研究方向和研究重點。“機器視覺”是研發(fā)者最為關(guān)注的一個領(lǐng)域。
將機器變成類似人類擁有相關(guān)視覺一直是研究者追求的目標,并且最終完成機器二維圖像與三維場景的轉(zhuǎn)換。
計算機視覺從20世紀60年代由美國MIT的Robert教授首先提出[3]。從這之后,經(jīng)過Huffinan、Clows、Waltz等人的不斷研究,計算機視覺技術(shù)日趨發(fā)展成熟。尤其是MIT的Marr教授在本世紀初創(chuàng)立了視覺理論體系,這有力的推動了計算機視覺技術(shù)的發(fā)展。
雙眼立體視覺是計算機視覺技術(shù)中很關(guān)鍵的一項技術(shù),雙目立體視覺(Binocular Stereo Vision)是一種重要的機器視覺形式,雙眼立體視覺技術(shù)是利用視差原理同時利用成像設(shè)備從不同的位置獲取被測物體的兩幅圖像,通過計算圖像對應(yīng)點間的位置偏差,來獲取物體三維幾何信息的方法。雙目立體視覺的實現(xiàn)過程一共分為六個主要部分:圖像采集、攝像機標定、特征提取、立體匹配、深度計算以及內(nèi)插重建[4],時差求取是雙目立體視覺技術(shù)的核心。雙目立體視覺具有操作簡單可靠、可操作性強等優(yōu)點而被人們廣泛的接受和應(yīng)用[5]。雖然雙目立體視覺還需要進一步的完善,但是在航天科工、建筑、測量檢測方面發(fā)揮著非同一般的作用。
探索音樂的本質(zhì),是人們一直在追求的音樂方面的高尚追求,素質(zhì)音樂也是素質(zhì)教育中的重要的一個方面,音樂不僅是聲音的藝術(shù)也是情感和時間的藝術(shù)[6]。
鋼琴作為一種非常古典的鍵盤樂器,被認為稱為“樂器之王”。一架鋼琴包含88個黑白琴鍵,鋼琴聲音是通過琴鍵牽引琴箱里面的小木槌,然后小木槌通過和鋼絲弦接觸震動產(chǎn)生聲音。隨著人們對于音樂的不斷追求,鋼琴成為了一種非常受歡迎的樂器。但是因為鋼琴的高昂價格和巨大體積,嚴重影響鋼琴的推廣。在對鋼琴如此急迫的市場需求下,虛擬鋼琴應(yīng)運而生。
從20世紀90年代,通信技術(shù)伴隨著計算機技術(shù)的日新月異發(fā)展,基于傳統(tǒng)人機交互技術(shù)研制的產(chǎn)品在實際生活中受到很大的局限,因此虛擬現(xiàn)實技術(shù)[7]開創(chuàng)了一個人機交互的新時代?;谔摂M鍵盤從最初的直接佩戴到逐漸的非直接接觸是技術(shù)上的一個飛躍,目前虛擬鍵盤主要是通過單攝像頭和基于雙目識別類進行圖像跟蹤。
通過單目進行鍵盤的虛擬化是通過紅外光源來檢測手指的狀態(tài),以進行目標按鍵的判斷。該種方法所形成的虛擬鍵盤具有操作簡單、結(jié)構(gòu)單一、準確率低等特點。例如,當光源較為強烈時,手指形成透亮光斑,這樣便不能準確的判斷目標物的位置。而且在使用虛擬鍵盤的時候會給人們的身體造成一定的傷害。相反的,基于雙目視覺技術(shù)的虛擬鍵盤,客服上上述缺點,并且可以快速的定位目標位置,從而快速而準確的進行目標識別。同時利用雙眼立體視覺技術(shù)受外部環(huán)境的影響很小,具有明顯的優(yōu)勢。
如前文所述,雙目立體視覺技術(shù)是由MIT的Roberts教授在20世紀中葉首次提出,他將簡單的多面體從數(shù)字圖像中精確的提取出來,完成了圖像二維化和場景三維化的過渡。隨著關(guān)于該技術(shù)的研究不斷深入發(fā)展,雙目立體視覺由簡單特征向復(fù)雜幾何要素轉(zhuǎn)變。20世紀70年代末期,雙目立體視覺進入了發(fā)展的快車道,Marr首次將該技術(shù)與神經(jīng)生理學等學科結(jié)合起來,這使得雙目立體視覺技術(shù)更加廣泛的被關(guān)注和被接受。
歐美日本等發(fā)達國家對該鄰域的研究較早,成果也比較豐富。計算機視覺逐漸趨向于實際應(yīng)用方向。立體視覺技術(shù)向著“人工智能”方向發(fā)展和努力。雙目立體視覺技術(shù)發(fā)展的目標有以下2個:(1)著力創(chuàng)建具備強大功能的雙目視覺體系。(2)實現(xiàn)基于雙目立體視覺的計算模型。
在基于計算機視覺技術(shù)的研究中,雙目立體視覺技術(shù)期望通過利用攝像頭來模仿人類的眼睛,然后利用攝像頭采集得到的二維圖像對物體的三維形狀進行重建,從而精確的定位物體的位置,最終確定其作為計算機重構(gòu)物體的目標[8]?,F(xiàn)實生活中有許多這樣的例子,比如 3D 電影,3D電影利用雙目立體視覺原理,通過2個攝像機的不同角度拍攝,獲得成片,當電影放映時,屏幕上的圖像由2個攝像機投放,利用偏振光原理,使得人類的雙眼觀察到不同角度的景象,形成一種具有三維感覺和圖像的影像。
Du[9]等人利用三維光學測距技術(shù)設(shè)計了一套虛擬鍵盤。這套設(shè)備由2個攝像頭、1部PC機及1套投影儀組成,攝像頭主要是為了測距而設(shè)置的。該系統(tǒng)通過USB2.0接口連接到攝像頭和PC機,利用自主研發(fā)的三維測距算法,將手敲鍵盤這一過程進行了虛擬化。由于作者采集的圖像分辨率較低,圖像較模糊,因此該系統(tǒng)存在較大的誤差。經(jīng)過一系列的優(yōu)化處理,如算法的改進,作者通過將多層次特征匹配引入人手識別的過程中,達到了非常好的改善效果。但是該方法依舊存在效率低和成本高等問題亟需解決。
Malik等研發(fā)出了一套視覺觸摸板[10],該系統(tǒng)設(shè)計相對簡單,創(chuàng)新之處在于該系統(tǒng)含有2個攝像頭,這2個攝像頭是建立三維視覺模型的基礎(chǔ),可以對手勢進行準確的定位和跟蹤。
該系統(tǒng)的活動區(qū)域由四個頂點包圍,這四個頂點與計算機的點一一對應(yīng)。利用該系統(tǒng)進行的動作只能是一些相對簡單的動作,諸如點擊、指壓等動作。利用該系統(tǒng)對手勢動作識別依舊存在跟蹤識別誤差大、識別效果差等缺點。
Hernanto[11]等摒棄了傳統(tǒng)的攝像頭,通過采用網(wǎng)絡(luò)攝像頭來實現(xiàn)虛擬鍵盤的按鍵功能。在顏色模塊,作者轉(zhuǎn)化思路,將YCC顏色模式引入系統(tǒng),并將顏色模塊進行分割處理。系統(tǒng)中攝像頭位置不同,一個攝像頭位置較低,主要是為了記錄試驗者的擊鍵動作,而另外一個網(wǎng)絡(luò)攝像頭位置較高,主要是為了記錄指尖坐標的鍵盤區(qū)域,最后通過兩個攝像頭綜合記錄的結(jié)果來確定目標按鍵。但是利用這種方法依舊存在著噪聲干擾等問題,另外,鍵盤按鍵時反應(yīng)較滯后,需要進一步進行改善。
(1)局部立體匹配算法
局部立體匹配算法是一種利用將局部細節(jié)進行優(yōu)化的視差值估計方法,這種算法通過選擇鄰域中的最佳像素為依據(jù)。和全局匹配算法相同的地方在于局部立體匹配同樣是基于能量最小化來對視差進行評估。局部匹配算法由于局部細節(jié)的掌握因而計算所得的視察估計也具有局部性等特點。
平方差和SSD (Sum of Squared differences),絕對差和 SAD (Sum of Absolute Differences),歸一化互相關(guān) NCC (Normalized Cross Correlation)均屬于局部立體匹配算法[12];而比較新型的局部立體算法有自適應(yīng)窗口算法(Adaptive Window)和自適應(yīng)權(quán)重算法 (Adaptive Weight)[13]。
(2)全局立體匹配算法
相對應(yīng)的,全局立體匹配算法通過對全局的進行優(yōu)化理論方法估計視差。全局立體匹配算法具有計算結(jié)果準確等優(yōu)點,但是也存在計算復(fù)雜等缺點。在一些較為復(fù)雜場景中,利用全局立體算法獲得的結(jié)果匹配性不高。
目前主要的全局立體匹配算法有圖割GC (graph cuts)算法和置信傳播BP(beliefpropagation)算法。
本工作采用以下的設(shè)計流程,系統(tǒng)框架見圖1。整個虛擬鋼琴系統(tǒng)分為6部分:分別是離線獲取琴鍵位置、圖像分割、指尖檢測、計算指尖深度、求取目標琴鍵、實現(xiàn)鋼琴功能。
圖1 系統(tǒng)框架圖
基于雙目立體視覺技術(shù)設(shè)計虛擬鋼琴所需硬件包括:一臺PC機、兩個規(guī)格型號完全一樣的CMOS攝像頭以及自制的紙質(zhì)鋼琴鍵盤。首先兩個規(guī)格型號相同的CMOS攝像頭按照適當?shù)木嚯x平行放置,然后將紙版鋼琴鍵盤放在貼在位于攝像頭垂直下方的一塊薄板上,通過 USB2.0 數(shù)據(jù)線將兩個攝像頭與PC機進行連接,從而在計算機上讀出鋼琴鍵盤圖像。特別注意的是兩個參數(shù)一致的攝像頭都是正常拍攝紙質(zhì)鋼琴同時確保琴鍵上的基點縱向一致。
相對于兩個參數(shù)一致的攝像頭,紙版鍵盤位置是固定不變的,因此攝像頭獲取琴鍵的二維圖像不發(fā)生改變。為了更加準確的定位琴鍵的位置,本文通過離線模式進行琴鍵的位置確定,并制定模型,然后將這個模型進行保存,以備使用。
為了在設(shè)計中減少計算量同時提高計算的準確性,本文將鍵盤中的白鍵設(shè)定為封閉的圖像,這是黑鍵成為了相對參考物,通過白健與黑鍵的位置來間接的對其定位。圖2為鋼琴鍵盤示意圖。
圖2 鋼琴鍵盤示意圖
我們首先將拍攝到的圖像進行預(yù)處理,圖3為圖像預(yù)處理流程圖,所拍攝圖像通過灰度化處理、高斯濾波降噪、Canny邊緣檢測、膨脹處理最終獲得拍攝圖像的邊緣圖像。具體操作過程在這里不再一一贅述。
基于上述圖像預(yù)處理后,我們通過利用OpenCV 進行鍵盤的輪廓確定,通過左下頂點和其對角頂點確定了黑鍵的位置。然后將鋼琴鍵盤整體圖像的邊緣進行定位,確定了白鍵的輪廓區(qū)域?;谏鲜霾僮骱陀嬎惴▌t,我們精確的獲得了鋼琴鍵盤以及各琴鍵的位置區(qū)域。最后將這些區(qū)域進行存儲。
在本文中,圖像分割是為了將人手像素從圖像中獨立出來。這就需要進行膚色檢測。由于膚色檢測容易受到光照的影響,所以在不同光照條件下,膚色檢測的準確性受到干擾。
我們通過利用橢圓模型膚色檢測算法來進行圖像分割,以獲得人手前景圖。利用YCbCr 顏色模式構(gòu)造新的顏色空間。由于橢圓膚色模型具有分離性好、穩(wěn)定性高等優(yōu)點,因此本工作引入橢圓膚色模型進行膚色檢測和模型確定。
基于上述原理,本文使用C+OpenCV進行膚色計算,所用分算法為橢圓膚色模型檢測算法,實現(xiàn)了人手從圖像中的獨立。具體算法流程如圖4所示。
圖4 算法流程圖
基于上述算法而得到手指的前景圖,下一步就是精確定位指尖的位置,這樣才可以快速的計算出指尖的三維深度,進而判斷手指的狀態(tài)。本工作應(yīng)用K曲率算法和K向量算法結(jié)合的算法進行指尖檢測,所用算法如圖5所示。
圖5 指尖算法流程圖
虛擬琴鍵識別需要進行以下三個步驟:
第一,通過兩個參數(shù)完全相同的攝像頭拍攝獲得圖像,根據(jù)上述介紹的離線模式確定出鍵盤的位置。
第二,基于該系統(tǒng)的硬件結(jié)構(gòu),判斷手指是否按在了紙質(zhì)鋼琴上。通過式1計算出指尖深度L,通過指尖深度來準確判斷手指的位置。
(1)
若通過上述計算結(jié)果并非理想狀態(tài),可以進行適當調(diào)整。
第3,準確判定手指和琴鍵的匹配。通過第二步判斷結(jié)果可以確定手指在琴鍵上,本文通過Open CV中的函數(shù)來確定手指和白黑琴鍵的對應(yīng)匹配關(guān)系。
綜上所述,我們將琴鍵識別流程圖示于圖6。
圖6 琴鍵識別流程圖
本文對雙目立體視覺以及虛擬鍵盤進行了總結(jié),同時給出了雙目立體視覺技術(shù)在虛擬鋼琴中的應(yīng)用現(xiàn)狀,最后基于雙目立體視覺技術(shù)設(shè)計了一套簡易的虛擬鋼琴系統(tǒng)。