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

圖1 系統框架圖
基于雙目立體視覺技術設計虛擬鋼琴所需硬件包括:一臺PC機、兩個規格型號完全一樣的CMOS攝像頭以及自制的紙質鋼琴鍵盤。首先兩個規格型號相同的CMOS攝像頭按照適當的距離平行放置,然后將紙版鋼琴鍵盤放在貼在位于攝像頭垂直下方的一塊薄板上,通過 USB2.0 數據線將兩個攝像頭與PC機進行連接,從而在計算機上讀出鋼琴鍵盤圖像。特別注意的是兩個參數一致的攝像頭都是正常拍攝紙質鋼琴同時確保琴鍵上的基點縱向一致。
相對于兩個參數一致的攝像頭,紙版鍵盤位置是固定不變的,因此攝像頭獲取琴鍵的二維圖像不發生改變。為了更加準確的定位琴鍵的位置,本文通過離線模式進行琴鍵的位置確定,并制定模型,然后將這個模型進行保存,以備使用。
為了在設計中減少計算量同時提高計算的準確性,本文將鍵盤中的白鍵設定為封閉的圖像,這是黑鍵成為了相對參考物,通過白健與黑鍵的位置來間接的對其定位。圖2為鋼琴鍵盤示意圖。

圖2 鋼琴鍵盤示意圖
我們首先將拍攝到的圖像進行預處理,圖3為圖像預處理流程圖,所拍攝圖像通過灰度化處理、高斯濾波降噪、Canny邊緣檢測、膨脹處理最終獲得拍攝圖像的邊緣圖像。具體操作過程在這里不再一一贅述。
基于上述圖像預處理后,我們通過利用OpenCV 進行鍵盤的輪廓確定,通過左下頂點和其對角頂點確定了黑鍵的位置。然后將鋼琴鍵盤整體圖像的邊緣進行定位,確定了白鍵的輪廓區域。基于上述操作和計算法則,我們精確的獲得了鋼琴鍵盤以及各琴鍵的位置區域。最后將這些區域進行存儲。
在本文中,圖像分割是為了將人手像素從圖像中獨立出來。這就需要進行膚色檢測。由于膚色檢測容易受到光照的影響,所以在不同光照條件下,膚色檢測的準確性受到干擾。
我們通過利用橢圓模型膚色檢測算法來進行圖像分割,以獲得人手前景圖。利用YCbCr 顏色模式構造新的顏色空間。由于橢圓膚色模型具有分離性好、穩定性高等優點,因此本工作引入橢圓膚色模型進行膚色檢測和模型確定。
基于上述原理,本文使用C+OpenCV進行膚色計算,所用分算法為橢圓膚色模型檢測算法,實現了人手從圖像中的獨立。具體算法流程如圖4所示。

圖4 算法流程圖
基于上述算法而得到手指的前景圖,下一步就是精確定位指尖的位置,這樣才可以快速的計算出指尖的三維深度,進而判斷手指的狀態。本工作應用K曲率算法和K向量算法結合的算法進行指尖檢測,所用算法如圖5所示。

圖5 指尖算法流程圖
虛擬琴鍵識別需要進行以下三個步驟:
第一,通過兩個參數完全相同的攝像頭拍攝獲得圖像,根據上述介紹的離線模式確定出鍵盤的位置。
第二,基于該系統的硬件結構,判斷手指是否按在了紙質鋼琴上。通過式1計算出指尖深度L,通過指尖深度來準確判斷手指的位置。
(1)
若通過上述計算結果并非理想狀態,可以進行適當調整。
第3,準確判定手指和琴鍵的匹配。通過第二步判斷結果可以確定手指在琴鍵上,本文通過Open CV中的函數來確定手指和白黑琴鍵的對應匹配關系。
綜上所述,我們將琴鍵識別流程圖示于圖6。

圖6 琴鍵識別流程圖
本文對雙目立體視覺以及虛擬鍵盤進行了總結,同時給出了雙目立體視覺技術在虛擬鋼琴中的應用現狀,最后基于雙目立體視覺技術設計了一套簡易的虛擬鋼琴系統。